From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,NUMERIC_HTTP_ADDR, T_SCC_BODY_TEXT_LINE,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32609 invoked from network); 9 Aug 2022 15:57:05 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 9 Aug 2022 15:57:05 -0000 Content-Type: multipart/mixed; boundary="===============1823638715568168865==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_Orthanc-1=2E11=2E1?= To: ml@inbox.vuxu.org From: bingulo Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 09 Aug 2022 17:57:05 +0200 List-Id: Message-ID: <20220809155705.X4EV-Q4xaXK5jVEvqFl3hQkP_WW1jzWNn9xtDdxP5Wk@z> GitHub notification mails are now in MIME to allow UTF8. --===============1823638715568168865== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgYmluZ3VsbyBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vYmlu Z3Vsby92b2lkLXBhY2thZ2VzIG9ydGhhbmMKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzM4NTM3CgpOZXcgcGFja2FnZTogT3J0aGFuYy0xLjExLjEKPCEt LSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFy ZSBub3QgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVz dGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoqDQoNCiMjIyMgTmV3IHBhY2th Z2UNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3F1YWxpdHkgcmVxdWlyZW1l bnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFz dGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cyk6ICoqWUVTKioNCg0KPCEtLSBOb3Rl OiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRvIHRha2UgbW9yZSB0aGFuIDIgaG91cnMsIHBsZWFz ZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3JpYmVkIGluDQpodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51 b3VzLWludGVncmF0aW9uDQphbmQgdGVzdCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwg aWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuDQpJZ25vcmUgdGhpcyBzZWN0 aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLg0KLS0+DQoNCiMjIyMgTG9jYWwgYnVp bGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hp dGVjdHVyZSwgKHg4Nl82NC1MSUJDKQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM4NTM3LnBhdGNoIGlzIGF0dGFjaGVk --===============1823638715568168865== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-orthanc-38537.patch" RnJvbSBkMjg2OGIyZmYzNWI3Yzg5M2U2ZDc4OWI2NWQyYzdlNTNkNWE3OTZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBiaW5ndWxvIDxnY2FybG9zQGRpc3Jvb3Qub3JnPgpEYXRlOiBN b24sIDggQXVnIDIwMjIgMTY6MjI6MjcgLTAzMDAKU3ViamVjdDogW1BBVENIIDAxLzE0XSBOZXcg cGFja2FnZTogY2l2ZXR3ZWItMS4xNQoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2NpdmV0d2ViL3BhdGNoZXMvaW5zdGFsbC1m aXgucGF0Y2ggfCAxNiArKysrKysrKysKIHNyY3BrZ3MvY2l2ZXR3ZWIvdGVtcGxhdGUgICAgICAg ICAgICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGliY2l2ZXR3 ZWIgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIHNyY3BrZ3MvbGliY2l2ZXR3ZWItZGV2 ZWwgICAgICAgICAgICAgICAgICB8ICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2l2ZXR3ZWIvcGF0Y2hlcy9pbnN0YWxs LWZpeC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2l2ZXR3ZWIvdGVtcGxhdGUK IGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYmNpdmV0d2ViCiBjcmVhdGUgbW9kZSAxMjAw MDAgc3JjcGtncy9saWJjaXZldHdlYi1kZXZlbAoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMg Yi9jb21tb24vc2hsaWJzCmluZGV4IGVhNmZkZTRmZmUzMS4uYTk0MTY2OTkzNGVmIDEwMDY0NAot LS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTQxODUsMyArNDE4NSw0 IEBAIGxpYm52aWRpYS1jb250YWluZXItZ28uc28uMSBsaWJudmlkaWEtY29udGFpbmVyLTEuMTAu MF8xCiBsaWJxdHNwZWxsLXF0NS5zby4xIHF0c3BlbGwtMS4wLjFfMQogbGlib3BlbnNtdHBkLnNv LjAgbGlib3BlbnNtdHBkLTAuN18xCiBsaWJpaW8uc28uMCBsaWJpaW8tMC4yM18xCitsaWJjaXZl dHdlYi5zby4xIGxpYmNpdmV0d2ViLTEuMTVfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaXZldHdl Yi9wYXRjaGVzL2luc3RhbGwtZml4LnBhdGNoIGIvc3JjcGtncy9jaXZldHdlYi9wYXRjaGVzL2lu c3RhbGwtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u YmUyODJkYmY2MTNjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaXZldHdlYi9wYXRjaGVz L2luc3RhbGwtZml4LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBhL01ha2VmaWxlCisrKysg Yi9NYWtlZmlsZQorQEAgLTE5LDEwICsxOSwxMCBAQAorICMgaHR0cDovL3d3dy5nbnUub3JnL3By ZXAvc3RhbmRhcmRzL2h0bWxfbm9kZS9EaXJlY3RvcnktVmFyaWFibGVzLmh0bWwKKyBQUkVGSVgg Pz0gL3Vzci9sb2NhbAorIEVYRUNfUFJFRklYID0gJChQUkVGSVgpCistQklORElSID0gJChFWEVD X1BSRUZJWCkvYmluCistREFUQVJPT1RESVIgPSAkKFBSRUZJWCkvc2hhcmUKKytCSU5ESVIgPSAk KERFU1RESVIpJChFWEVDX1BSRUZJWCkvYmluCisrREFUQVJPT1RESVIgPSAkKERFU1RESVIpJChQ UkVGSVgpL3NoYXJlCisgRE9DRElSID0gJChEQVRBUk9PVERJUikvZG9jLyQoQ1BST0cpCistU1lT Q09ORkRJUiA/PSAkKFBSRUZJWCkvZXRjCisrU1lTQ09ORkRJUiA/PSAkKERFU1RESVIpL2V0Ywor IEhUTUxESVIgPSAkKERPQ0RJUikKKyBJTkNMVURFRElSID0gJChERVNURElSKSQoUFJFRklYKS9p bmNsdWRlCisgTElCRElSID0gJChERVNURElSKSQoRVhFQ19QUkVGSVgpL2xpYgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jaXZldHdlYi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2l2ZXR3ZWIvdGVtcGxhdGUK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45NmZmODA4MDUwOGIKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NpdmV0d2ViL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzkg QEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NpdmV0d2ViJworcGtnbmFtZT1jaXZldHdlYgordmVy c2lvbj0xLjE1CityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKK21ha2VfaW5z dGFsbF90YXJnZXQ9Imluc3RhbGwgaW5zdGFsbC1oZWFkZXJzIGluc3RhbGwtbGliIGluc3RhbGwt c2xpYiIKK21ha2VfdXNlX2Vudj15ZXMKK21ha2VkZXBlbmRzPSJvcGVuc3NsLWRldmVsIgorc2hv cnRfZGVzYz0iRW1iZWRkZWQgQy9DKysgd2ViIHNlcnZlciIKK21haW50YWluZXI9IkNhcmxvcyBF LiBHYWxsbyBGLiA8Z2Nhcmxvc0BkaXNyb290Lm9yZz4iCitsaWNlbnNlPSJNSVQiCitob21lcGFn ZT0iaHR0cHM6Ly9jaXZldHdlYi5naXRodWIuaW8vY2l2ZXR3ZWIvIgorZGlzdGZpbGVzPSJodHRw czovL2dpdGh1Yi5jb20vY2l2ZXR3ZWIvY2l2ZXR3ZWIvYXJjaGl2ZS9yZWZzL3RhZ3MvdiR7dmVy c2lvbn0udGFyLmd6IgorY2hlY2tzdW09OTBhNTMzNDIyOTQ0YWIzMjdhNGZiYjk5NjlmMDg0NWQw ZGJhMDUzNTRmOWNhY2NlM2E1MDA1ZmE1OWY1OTNiOQorCitwcmVfaW5zdGFsbCgpIHsKKwl2bWtk aXIgdXNyL2luY2x1ZGUKK30KKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExJQ0VOU0Uu bWQKK30KKworbGliY2l2ZXR3ZWJfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0nIC0gbGlicmFy eScKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgInVzci9saWIvKi5zby4qIgorCX0KK30KKwor bGliY2l2ZXR3ZWItZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSJsaWIke3NvdXJjZXBrZ30+ PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9JyAtIGRldmVsb3BtZW50IGZp bGVzJworCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSAidXNy L2xpYi8qLmEiCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJfQorfQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9saWJjaXZldHdlYiBiL3NyY3BrZ3MvbGliY2l2ZXR3ZWIKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAwLi5mNzQwYjUzMTMzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL2xpYmNpdmV0d2ViCkBAIC0wLDAgKzEgQEAKK2NpdmV0d2ViClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJjaXZldHdlYi1kZXZlbCBiL3Ny Y3BrZ3MvbGliY2l2ZXR3ZWItZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAw MDAwMDAwLi5mNzQwYjUzMTMzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmNpdmV0 d2ViLWRldmVsCkBAIC0wLDAgKzEgQEAKK2NpdmV0d2ViClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQoKRnJvbSBjNDU4ZjZmNTQ0NzAwMzRlMDExZDBmZWViMTYzNjJhNDg3YWM5MTFhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBiaW5ndWxvIDxnY2FybG9zQGRpc3Jvb3Qub3JnPgpE YXRlOiBNb24sIDggQXVnIDIwMjIgMTY6MjQ6MTYgLTAzMDAKU3ViamVjdDogW1BBVENIIDAyLzE0 XSBOZXcgcGFja2FnZTogZGNtdGstMy42LjcKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICB8 IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9kY210ay1kb2MgICAgICB8ICAx ICsKIHNyY3BrZ3MvZGNtdGsvdGVtcGxhdGUgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGliZGNtdGsgICAgICAgfCAgMSArCiBzcmNwa2dz L2xpYmRjbXRrLWRldmVsIHwgIDEgKwogNSBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9kY210ay1kb2MKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2RjbXRrL3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJk Y210awogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvbGliZGNtdGstZGV2ZWwKCmRpZmYgLS1n aXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhOTQxNjY5OTM0ZWYuLjM5 ZGQ3MTJlZGIyNyAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJz CkBAIC00MTg2LDMgKzQxODYsMzEgQEAgbGlicXRzcGVsbC1xdDUuc28uMSBxdHNwZWxsLTEuMC4x XzEKIGxpYm9wZW5zbXRwZC5zby4wIGxpYm9wZW5zbXRwZC0wLjdfMQogbGliaWlvLnNvLjAgbGli aWlvLTAuMjNfMQogbGliY2l2ZXR3ZWIuc28uMSBsaWJjaXZldHdlYi0xLjE1XzEKK2xpYmNtci5z by4xNworbGliY21yLnNvLjE3IGxpYmRjbXRrLTMuNi43XzEKK2xpYmRjbXJ0LnNvLjE3IGxpYmRj bXRrLTMuNi43XzEKK2xpYmRjbWRhdGEuc28uMTcgbGliZGNtdGstMy42LjdfMQorbGliZGNtc2Vn LnNvLjE3IGxpYmRjbXRrLTMuNi43XzEKK2xpYmRjbWRzaWcuc28uMTcgbGliZGNtdGstMy42Ljdf MQorbGliZGNtc3Iuc28uMTcgbGliZGNtdGstMy42LjdfMQorbGliZGNtZWN0LnNvLjE3IGxpYmRj bXRrLTMuNi43XzEKK2xpYmRjbXRrY2hhcmxzLnNvLjE3IGxpYmRjbXRrLTMuNi43XzEKK2xpYmRj bWZnLnNvLjE3IGxpYmRjbXRrLTMuNi43XzEKK2xpYmRjbXRscy5zby4xNyBsaWJkY210ay0zLjYu N18xCitsaWJkY21pbWFnZS5zby4xNyBsaWJkY210ay0zLjYuN18xCitsaWJkY210cmFjdC5zby4x NyBsaWJkY210ay0zLjYuN18xCitsaWJkY21pbWdsZS5zby4xNyBsaWJkY210ay0zLjYuN18xCits aWJkY213bG0uc28uMTcgbGliZGNtdGstMy42LjdfMQorbGliZGNtaW9kLnNvLjE3IGxpYmRjbXRr LTMuNi43XzEKK2xpYmkyZC5zby4xNyBsaWJkY210ay0zLjYuN18xCitsaWJkY21qcGVnLnNvLjE3 IGxpYmRjbXRrLTMuNi43XzEKK2xpYmlqZzEyLnNvLjE3IGxpYmRjbXRrLTMuNi43XzEKK2xpYmRj bWpwbHMuc28uMTcgbGliZGNtdGstMy42LjdfMQorbGliaWpnMTYuc28uMTcgbGliZGNtdGstMy42 LjdfMQorbGliZGNtbmV0LnNvLjE3IGxpYmRjbXRrLTMuNi43XzEKK2xpYmlqZzguc28uMTcgbGli ZGNtdGstMy42LjdfMQorbGliZGNtcG1hcC5zby4xNyBsaWJkY210ay0zLjYuN18xCitsaWJvZmxv Zy5zby4xNyBsaWJkY210ay0zLjYuN18xCitsaWJkY21wc3RhdC5zby4xNyBsaWJkY210ay0zLjYu N18xCitsaWJvZnN0ZC5zby4xNyBsaWJkY210ay0zLjYuN18xCitsaWJkY21xcmRiLnNvLjE3IGxp YmRjbXRrLTMuNi43XzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGNtdGstZG9jIGIvc3JjcGtncy9k Y210ay1kb2MKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi42OWZmNTRj ZTJlMGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2RjbXRrLWRvYwpAQCAtMCwwICsxIEBA CitkY210awpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv ZGNtdGsvdGVtcGxhdGUgYi9zcmNwa2dzL2RjbXRrL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNjNjMjhiYzNjMzc2Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9kY210ay90ZW1wbGF0ZQpAQCAtMCwwICsxLDQ5IEBACisjIFRlbXBsYXRlIGZpbGUg Zm9yICdkY210aycKK3BrZ25hbWU9ZGNtdGsKK3ZlcnNpb249My42LjcKK3JldmlzaW9uPTEKK2J1 aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLUREQ01US19FTkFCTEVfQ1hYMTE9T04g LURCVUlMRF9TSEFSRURfTElCUz1PTiAtRERDTVRLX1dJVEhfRE9YWUdFTj1PTiIKK2hvc3RtYWtl ZGVwZW5kcz0iZG94eWdlbiIKK21ha2VkZXBlbmRzPSJvcGVuc3NsLWRldmVsIHpsaWItZGV2ZWwg dGlmZi1kZXZlbCBsaWJwbmctZGV2ZWwgbGlieG1sMi1kZXZlbCBpY3UtZGV2ZWwiCitzaG9ydF9k ZXNjPSJMaWJyYXJpZXMgYW5kIHRvb2xzIHRoYXQgaW1wbGVtZW50cyBESUNPTSBzdGFuZGFyZCIK K21haW50YWluZXI9IkNhcmxvcyBFLiBHYWxsbyBGLiA8Z2Nhcmxvc0BkaXNyb290Lm9yZz4iCits aWNlbnNlPSJjdXN0b206IHNlZSAvdXNyL3NoYXJlL2xpY2Vuc2VzLyR7cGtnbmFtZX0iCitob21l cGFnZT0iaHR0cHM6Ly9kY210ay5vcmcvZGNtdGsucGhwLmVuIgorZGlzdGZpbGVzPSJodHRwczov L2RpY29tLm9mZmlzLmRlL2Rvd25sb2FkL2RjbXRrLyR7dmVyc2lvbi8vLn0vZGNtdGstJHt2ZXJz aW9ufS50YXIuZ3oiCitjaGVja3N1bT03YzU4Mjk4ZTNlOGQ2MDIzMmVlNmZjODQwOGNmYWRkMTQ0 NjNjYzExYTNjNGNhNGM1OWFmNTk4OGM3ZTk3MTBhCisKK3ByZV9idWlsZCgpIHsKKwluaW5qYSAt QyBidWlsZCBET1hZR0VOCit9CisKK3Bvc3RfaW5zdGFsbCgpIHsKKwl2bGljZW5zZSBDT1BZUklH SFQKK30KKworZGNtdGstZG9jX3BhY2thZ2UoKSB7CisJc2hvcnRfZGVzYys9JyAtIGRvY3VtZW50 YXRpb24nCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9zaGFyZS9kb2MKKwl9Cit9CisK KyMgVE9ETyBuZWVkIGxpY2Vuc2UgaGVyZQorbGliZGNtdGtfcGFja2FnZSgpIHsKKwlzaG9ydF9k ZXNjKz0nIC0gcnVudGltZSBsaWJyYXJpZXMnCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlICJ1 c3IvbGliLyouc28uKiIKKwkJdm1vdmUgdXNyL3NoYXJlL2RjbXRrCisJfQorfQorCitsaWJkY210 ay1kZXZlbF9wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPScgLSBkZXZlbG9wbWVudCBmaWxlcycK KwlkZXBlbmRzPSJsaWIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJcGtn X2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvcGtnY29u ZmlnCisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwl9Cit9 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmRjbXRrIGIvc3JjcGtncy9saWJkY210awpuZXcgZmls ZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjY5ZmY1NGNlMmUwYwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvbGliZGNtdGsKQEAgLTAsMCArMSBAQAorZGNtdGsKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmRjbXRrLWRldmVsIGIv c3JjcGtncy9saWJkY210ay1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAw MDAwMDAuLjY5ZmY1NGNlMmUwYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGliZGNtdGst ZGV2ZWwKQEAgLTAsMCArMSBAQAorZGNtdGsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCgpG cm9tIDE5OWM2NmI2YWVkYmFmMmRjMzM1MWE0MjNmOWQ1YjlhOTllN2IzODIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IGJpbmd1bG8gPGdjYXJsb3NAZGlzcm9vdC5vcmc+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxNjoyNDo0MSAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTRdIE5ldyBw YWNrYWdlOiBPcnRoYW5jLTEuMTEuMQoKLS0tCiBzcmNwa2dzL09ydGhhbmMtZGV2ZWwgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvT3J0aGFuYy1wbHVnaW5zICAgICAgICAgICAg ICAgICAgfCAgIDEgKwogc3JjcGtncy9PcnRoYW5jL2ZpbGVzL0NvbmZpZ3VyYXRpb24uanNvbiB8 IDkxNSArKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9PcnRoYW5jL2ZpbGVzL29ydGhh bmMvcnVuICAgICAgICB8ICAzMiArCiBzcmNwa2dzL09ydGhhbmMvdGVtcGxhdGUgICAgICAgICAg ICAgICAgIHwgIDU3ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDEwMDYgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvT3J0aGFuYy1kZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAw IHNyY3BrZ3MvT3J0aGFuYy1wbHVnaW5zCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9PcnRo YW5jL2ZpbGVzL0NvbmZpZ3VyYXRpb24uanNvbgogY3JlYXRlIG1vZGUgMTAwNzU1IHNyY3BrZ3Mv T3J0aGFuYy9maWxlcy9vcnRoYW5jL3J1bgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvT3J0 aGFuYy90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3J0aGFuYy1kZXZlbCBiL3NyY3Br Z3MvT3J0aGFuYy1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAu LjZkMDQwNTkzNzQzMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvT3J0aGFuYy1kZXZlbApA QCAtMCwwICsxIEBACitPcnRoYW5jClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9PcnRoYW5jLXBsdWdpbnMgYi9zcmNwa2dzL09ydGhhbmMtcGx1Z2lucwpu ZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjZkMDQwNTkzNzQzMAotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvT3J0aGFuYy1wbHVnaW5zCkBAIC0wLDAgKzEgQEAKK09y dGhhbmMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL09y dGhhbmMvZmlsZXMvQ29uZmlndXJhdGlvbi5qc29uIGIvc3JjcGtncy9PcnRoYW5jL2ZpbGVzL0Nv bmZpZ3VyYXRpb24uanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmUwZTU5NGJiNDY0NwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvT3J0aGFuYy9maWxlcy9D b25maWd1cmF0aW9uLmpzb24KQEAgLTAsMCArMSw5MTUgQEAKK3sKKyAgLyoqCisgICAqIEdlbmVy YWwgY29uZmlndXJhdGlvbiBvZiBPcnRoYW5jCisgICAqKi8KKworICAvLyBUaGUgbG9naWNhbCBu YW1lIG9mIHRoaXMgaW5zdGFuY2Ugb2YgT3J0aGFuYy4gVGhpcyBvbmUgaXMKKyAgLy8gZGlzcGxh eWVkIGluIE9ydGhhbmMgRXhwbG9yZXIgYW5kIGF0IHRoZSBVUkkgIi9zeXN0ZW0iLgorICAiTmFt ZSIgOiAiTXlPcnRoYW5jIiwKKworICAvLyBQYXRoIHRvIHRoZSBkaXJlY3RvcnkgdGhhdCBob2xk cyB0aGUgaGVhdnl3ZWlnaHQgZmlsZXMgKGkuZS4gdGhlCisgIC8vIHJhdyBESUNPTSBpbnN0YW5j ZXMpLiBCYWNrc2xhc2hlcyBtdXN0IGJlIGVpdGhlciBlc2NhcGVkIGJ5CisgIC8vIGRvdWJsaW5n IHRoZW0sIG9yIHJlcGxhY2VkIGJ5IGZvcndhcmQgc2xhc2hlcyAiLyIuCisgICJTdG9yYWdlRGly ZWN0b3J5IiA6ICIvdmFyL2xpYi9PcnRoYW5jU3RvcmFnZSIsCisKKyAgLy8gUGF0aCB0byB0aGUg ZGlyZWN0b3J5IHRoYXQgaG9sZHMgdGhlIFNRTGl0ZSBpbmRleCAoaWYgdW5zZXQsIHRoZQorICAv LyB2YWx1ZSBvZiBTdG9yYWdlRGlyZWN0b3J5IGlzIHVzZWQpLiBUaGlzIGluZGV4IGNvdWxkIGJl IHN0b3JlZCBvbgorICAvLyBhIFJBTS1kcml2ZSBvciBhIFNTRCBkZXZpY2UgZm9yIHBlcmZvcm1h bmNlIHJlYXNvbnMuCisgICJJbmRleERpcmVjdG9yeSIgOiAiL3Zhci9saWIvT3J0aGFuY1N0b3Jh Z2UiLAorCisgIC8vIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSBPcnRoYW5jIHN0b3JlcyBp dHMgbGFyZ2UgdGVtcG9yYXJ5CisgIC8vIGZpbGVzLiBUaGUgY29udGVudCBvZiB0aGlzIGZvbGRl ciBjYW4gYmUgc2FmZWx5IGRlbGV0ZWQgb25jZQorICAvLyBPcnRoYW5jIGlzIHN0b3BwZWQuIFRo ZSBmb2xkZXIgbXVzdCBleGlzdC4gVGhlIGNvcnJlc3BvbmRpbmcKKyAgLy8gZmlsZXN5c3RlbSBt dXN0IGJlIHByb3Blcmx5IHNpemVkLCBnaXZlbiB0aGF0IGZvciBpbnN0YW5jZSBhIFpJUAorICAv LyBhcmNoaXZlIG9mIERJQ09NIGltYWdlcyBjcmVhdGVkIGJ5IGEgam9iIGNhbiB3ZWlnaHQgc2V2 ZXJhbCBHQnMsCisgIC8vIGFuZCB0aGF0IHRoZXJlIG1pZ2h0IGJlIHVwIHRvICJtaW4oSm9ic0hp c3RvcnlTaXplLAorICAvLyBNZWRpYUFyY2hpdmVTaXplKSIgYXJjaGl2ZXMgdG8gYmUgc3RvcmVk IHNpbXVsdGFuZW91c2x5LiBJZiBub3QKKyAgLy8gc2V0LCBPcnRoYW5jIHdpbGwgdXNlIHRoZSBk ZWZhdWx0IHRlbXBvcmFyeSBmb2xkZXIgb2YgdGhlCisgIC8vIG9wZXJhdGluZyBzeXN0ZW0gKHN1 Y2ggYXMgIi90bXAvIiBvbiBVTklYLWxpa2Ugc3lzdGVtcywgb3IKKyAgLy8gIkM6L1RlbXAiIG9u IE1pY3Jvc29mdCBXaW5kb3dzKS4KKyAgLy8gIlRlbXBvcmFyeURpcmVjdG9yeSIgOiAiL3RtcC9P cnRoYW5jLyIsCisKKyAgLy8gRW5hYmxlIHRoZSB0cmFuc3BhcmVudCBjb21wcmVzc2lvbiBvZiB0 aGUgRElDT00gaW5zdGFuY2VzCisgICJTdG9yYWdlQ29tcHJlc3Npb24iIDogZmFsc2UsCisKKyAg Ly8gTWF4aW11bSBzaXplIG9mIHRoZSBzdG9yYWdlIGluIE1CIChhIHZhbHVlIG9mICIwIiBpbmRp Y2F0ZXMgbm8KKyAgLy8gbGltaXQgb24gdGhlIHN0b3JhZ2Ugc2l6ZSkKKyAgIk1heGltdW1TdG9y YWdlU2l6ZSIgOiAwLAorCisgIC8vIE1heGltdW0gbnVtYmVyIG9mIHBhdGllbnRzIHRoYXQgY2Fu IGJlIHN0b3JlZCBhdCBhIGdpdmVuIHRpbWUKKyAgLy8gaW4gdGhlIHN0b3JhZ2UgKGEgdmFsdWUg b2YgIjAiIGluZGljYXRlcyBubyBsaW1pdCBvbiB0aGUgbnVtYmVyCisgIC8vIG9mIHBhdGllbnRz KQorICAiTWF4aW11bVBhdGllbnRDb3VudCIgOiAwLAorCisgIC8vIE1heGltdW0gc2l6ZSBvZiB0 aGUgc3RvcmFnZSBjYWNoZSBpbiBNQi4gIFRoZSBzdG9yYWdlIGNhY2hlCisgIC8vIGlzIHN0b3Jl ZCBpbiBSQU0gYW5kIGNvbnRhaW5zIGEgY29weSBvZiByZWNlbnRseSBhY2Nlc3NlZAorICAvLyBm aWxlcyAod3JpdHRlbiBvciByZWFkKS4gIEEgdmFsdWUgb2YgIjAiIGluZGljYXRlcyB0aGUgY2Fj aGUKKyAgLy8gaXMgZGlzYWJsZWQuICAobmV3IGluIE9ydGhhbmMgMS4xMC4wKQorICAiTWF4aW11 bVN0b3JhZ2VDYWNoZVNpemUiIDogMTI4LAorCisgIC8vIExpc3Qgb2YgcGF0aHMgdG8gdGhlIGN1 c3RvbSBMdWEgc2NyaXB0cyB0aGF0IGFyZSB0byBiZSBsb2FkZWQKKyAgLy8gaW50byB0aGlzIGlu c3RhbmNlIG9mIE9ydGhhbmMKKyAgIkx1YVNjcmlwdHMiIDogWworICBdLAorCisgIC8vIFRoZSBw ZXJpb2QgKGluIHNlY29uZHMpIGJldHdlZW4gMiBjYWxscyBvZiB0aGUgIk9uSGVhcnRCZWF0Igor ICAvLyBsdWEgY2FsbGJhY2suICBPIG1lYW5zIHRoZSBoZWFydCBiZWF0IGlzIGRpc2FibGVkLgor ICAvLyBUT0RPOiB0ZXh0IGJlbG93IGZvciBPcnRoYW5jIGJvb2s6CisgIC8vIE5vdGU6IHRoYXQg dGhlIHBlcmlvZCBpcyBub3QgYWN0dWFsbHkgdGhlIGRlbGF5IGJldHdlZW4KKyAgLy8gdGhlIGVu ZCBvZiBhbiBleGVjdXRpb24gYW5kIHRoZSB0cmlnZ2VyaW5nIG9mIHRoZSBuZXh0IG9uZS4KKyAg Ly8gU2luY2UgdGhlcmUgaXMgb25seSBvbmUgbHVhIGNvbnRleHQsIGlmIG90aGVyIGx1YSBjb2Rl IGlzIGJlaW5nCisgIC8vIGV4ZWN1dGVkLCB0aGUgaGVhcnQgYmVhdCBtaWdodCBiZSBkZWxheWVk IGV2ZW4gbW9yZS4KKyAgIkx1YUhlYXJ0QmVhdFBlcmlvZCIgOiAwLAorCisgIC8vIExpc3Qgb2Yg cGF0aHMgdG8gdGhlIHBsdWdpbnMgdGhhdCBhcmUgdG8gYmUgbG9hZGVkIGludG8gdGhpcworICAv LyBpbnN0YW5jZSBvZiBPcnRoYW5jIChlLmcuICIuL2xpYlBsdWdpblRlc3Quc28iIGZvciBMaW51 eCwgb3IKKyAgLy8gIi4vUGx1Z2luVGVzdC5kbGwiIGZvciBXaW5kb3dzKS4gVGhlc2UgcGF0aHMg Y2FuIHJlZmVyIHRvCisgIC8vIGZvbGRlcnMsIGluIHdoaWNoIGNhc2UgdGhleSB3aWxsIGJlIHNj YW5uZWQgbm9uLXJlY3Vyc2l2ZWx5IHRvCisgIC8vIGZpbmQgc2hhcmVkIGxpYnJhcmllcy4gQmFj a3NsYXNoZXMgbXVzdCBiZSBlaXRoZXIgZXNjYXBlZCBieQorICAvLyBkb3VibGluZyB0aGVtLCBv ciByZXBsYWNlZCBieSBmb3J3YXJkIHNsYXNoZXMgIi8iLgorICAiUGx1Z2lucyIgOiBbCisgIF0s CisKKyAgLy8gTWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2luZyBqb2JzIHRoYXQgYXJlIHNpbXVs dGFuZW91c2x5IHJ1bm5pbmcKKyAgLy8gYXQgYW55IGdpdmVuIHRpbWUuIEEgdmFsdWUgb2YgIjAi IGluZGljYXRlcyB0byB1c2UgYWxsIHRoZQorICAvLyBhdmFpbGFibGUgQ1BVIGxvZ2ljYWwgY29y ZXMuIFRvIGVtdWxhdGUgT3J0aGFuYyA8PSAxLjMuMiwgc2V0CisgIC8vIHRoaXMgdmFsdWUgdG8g IjEiLgorICAiQ29uY3VycmVudEpvYnMiIDogMiwKKworCisgIC8qKgorICAgKiBDb25maWd1cmF0 aW9uIG9mIHRoZSBIVFRQIHNlcnZlcgorICAgKiovCisKKyAgLy8gRW5hYmxlIHRoZSBIVFRQIHNl cnZlci4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvICJmYWxzZSIsCisgIC8vIE9ydGhhbmMg YWN0cyBhcyBhIHB1cmUgRElDT00gc2VydmVyLiBUaGUgUkVTVCBBUEkgYW5kIE9ydGhhbmMKKyAg Ly8gRXhwbG9yZXIgd2lsbCBub3QgYmUgYXZhaWxhYmxlLgorICAiSHR0cFNlcnZlckVuYWJsZWQi IDogdHJ1ZSwKKworICAvLyBFbmFibGUvZGlzYWJsZSB0aGUgT3J0aGFuYyBFeHBsb3JlciBXZWIg dXNlciBpbnRlcmZhY2UuIFRoaXMKKyAgLy8gb3B0aW9uIGlzIG9ubHkgbWVhbmluZ2Z1bCBpZiB0 aGUgIkh0dHBTZXJ2ZXJFbmFibGVkIiBvcHRpb24gaXMKKyAgLy8gc2V0IHRvICJ0cnVlIiAobmV3 IGluIE9ydGhhbmMgMS44LjIpLgorICAiT3J0aGFuY0V4cGxvcmVyRW5hYmxlZCIgOiB0cnVlLAor CisgIC8vIEhUVFAgcG9ydCBmb3IgdGhlIFJFU1Qgc2VydmljZXMgYW5kIGZvciB0aGUgR1VJCisg ICJIdHRwUG9ydCIgOiA4MDQyLAorCisgIC8vIFdoZW4gdGhlIGZvbGxvd2luZyBvcHRpb24gaXMg InRydWUiLCBpZiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZAorICAvLyB3aGlsZSBjYWxsaW5nIHRo ZSBSRVNUIEFQSSwgYSBKU09OIG1lc3NhZ2UgZGVzY3JpYmluZyB0aGUgZXJyb3IKKyAgLy8gaXMg cHV0IGluIHRoZSBIVFRQIGFuc3dlci4gVGhpcyBmZWF0dXJlIGNhbiBiZSBkaXNhYmxlZCBpZiB0 aGUKKyAgLy8gSFRUUCBjbGllbnQgZG9lcyBub3QgcHJvcGVybHkgaGFuZGxlcyBzdWNoIGFuc3dl cnMuCisgICJIdHRwRGVzY3JpYmVFcnJvcnMiIDogdHJ1ZSwKKworICAvLyBFbmFibGUgSFRUUCBj b21wcmVzc2lvbiB0byBpbXByb3ZlIG5ldHdvcmsgYmFuZHdpZHRoIHV0aWxpemF0aW9uLAorICAv LyBhdCB0aGUgZXhwZW5zZSBvZiBtb3JlIGNvbXB1dGF0aW9ucyBvbiB0aGUgc2VydmVyLiBPcnRo YW5jCisgIC8vIHN1cHBvcnRzIHRoZSAiZ3ppcCIgYW5kICJkZWZsYXRlIiBIVFRQIGVuY29kaW5n cy4KKyAgIkh0dHBDb21wcmVzc2lvbkVuYWJsZWQiIDogdHJ1ZSwKKworICAvLyBFbmFibGUgdGhl IHB1YmxpY2F0aW9uIG9mIHRoZSBjb250ZW50IG9mIHRoZSBPcnRoYW5jIHNlcnZlciBhcyBhCisg IC8vIFdlYkRBViBzaGFyZSAobmV3IGluIE9ydGhhbmMgMS44LjApLiBPbiB0aGUgbG9jYWxob3N0 LCB0aGUgV2ViREFWCisgIC8vIHNoYXJlIGlzIG1hcHBlZCBhcyAiaHR0cDovL2xvY2FsaG9zdDo4 MDQyL3dlYmRhdi8iLgorICAiV2ViRGF2RW5hYmxlZCIgOiB0cnVlLAorCisgIC8vIFdoZXRoZXIg dG8gYWxsb3cgZGVsZXRpb25zIHRocm91Z2ggdGhlIFdlYkRBViBzaGFyZS4gVGhpcyBpcworICAv LyBkaXNhYmxlZCBieSBkZWZhdWx0IHRvIGF2b2lkIGFjY2lkZW50YWwgbG9zcyBvZiBESUNPTSBp bnN0YW5jZXMuCisgICJXZWJEYXZEZWxldGVBbGxvd2VkIiA6IGZhbHNlLAorCisgIC8vIFdoZXRo ZXIgdG8gYWxsb3cgdXBsb2FkcyB0aHJvdWdoIHRoZSBXZWJEQVYgc2hhcmUuCisgICJXZWJEYXZV cGxvYWRBbGxvd2VkIiA6IHRydWUsCisKKworCisgIC8qKgorICAgKiBDb25maWd1cmF0aW9uIG9m IHRoZSBESUNPTSBzZXJ2ZXIKKyAgICoqLworCisgIC8vIEVuYWJsZSB0aGUgRElDT00gc2VydmVy LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gImZhbHNlIiwKKyAgLy8gT3J0aGFuYyBhY3Rz IGFzIGEgcHVyZSBSRVNUIHNlcnZlci4gSXQgd2lsbCBub3QgYmUgcG9zc2libGUgdG8KKyAgLy8g cmVjZWl2ZSBmaWxlcyBvciB0byBkbyBxdWVyeS9yZXRyaWV2ZSB0aHJvdWdoIHRoZSBESUNPTSBw cm90b2NvbC4KKyAgIkRpY29tU2VydmVyRW5hYmxlZCIgOiB0cnVlLAorCisgIC8vIFRoZSBESUNP TSBBcHBsaWNhdGlvbiBFbnRpdHkgVGl0bGUgKGNhbm5vdCBiZSBsb25nZXIgdGhhbiAxNgorICAv LyBjaGFyYWN0ZXJzKQorICAiRGljb21BZXQiIDogIk9SVEhBTkMiLAorCisgIC8vIENoZWNrIHdo ZXRoZXIgdGhlIGNhbGxlZCBBRVQgY29ycmVzcG9uZHMgdG8gdGhlIEFFVCBvZiBPcnRoYW5jCisg IC8vIGR1cmluZyBhbiBpbmNvbWluZyBESUNPTSBTQ1UgcmVxdWVzdAorICAiRGljb21DaGVja0Nh bGxlZEFldCIgOiBmYWxzZSwKKworICAvLyBUaGUgRElDT00gcG9ydAorICAiRGljb21Qb3J0IiA6 IDQyNDIsCisKKyAgLy8gVGhlIGRlZmF1bHQgZW5jb2RpbmcgdGhhdCBpcyBhc3N1bWVkIGZvciBE SUNPTSBmaWxlcyB3aXRob3V0CisgIC8vICJTcGVjaWZpY0NoYXJhY3RlclNldCIgRElDT00gdGFn LCBhbmQgdGhhdCBpcyB1c2VkIHdoZW4gYW5zd2VyaW5nCisgIC8vIEMtRklORCByZXF1ZXN0cyAo aW5jbHVkaW5nIHdvcmtsaXN0cykuIFRoZSBhbGxvd2VkIHZhbHVlcyBhcmUKKyAgLy8gIkFzY2lp IiwgIlV0ZjgiLCAiTGF0aW4xIiwgIkxhdGluMiIsICJMYXRpbjMiLCAiTGF0aW40IiwKKyAgLy8g IkxhdGluNSIsICJDeXJpbGxpYyIsICJXaW5kb3dzMTI1MSIsICJBcmFiaWMiLCAiR3JlZWsiLCAi SGVicmV3IiwKKyAgLy8gIlRoYWkiLCAiSmFwYW5lc2UiLCAiQ2hpbmVzZSIsICJKYXBhbmVzZUth bmppIiwgIktvcmVhbiIsIGFuZAorICAvLyAiU2ltcGxpZmllZENoaW5lc2UiLgorICAiRGVmYXVs dEVuY29kaW5nIiA6ICJMYXRpbjEiLAorCisgIC8vIFRoZSB0cmFuc2ZlciBzeW50YXhlcyB0aGF0 IGFyZSBhY2NlcHRlZCBieSBPcnRoYW5jIEMtU1RPUkUgU0NQLgorICAvLyBUaGlzIGlzIGFuIGFy cmF5IGxpc3RpbmcgdGhlIGFjY2VwdGVkIHRyYW5zZmVyIHN5bnRheCBVSURzLiBFYWNoCisgIC8v IGVudHJ5IGNhbiBjb250YWluIHdpbGRjYXJkcyAoIj8iIG9yICIqIikuIEJ5IGRlZmF1bHQsIGFs bCB0aGUKKyAgLy8ga25vd24gdHJhbnNmZXIgc3ludGF4ZXMgYXJlIGFjY2VwdGVkLiAobmV3IGlu IE9ydGhhbmMgMS45LjApCisgICJBY2NlcHRlZFRyYW5zZmVyU3ludGF4ZXMiIDogWyAiMS4yLjg0 MC4xMDAwOC4xLioiIF0sCisKKyAgLy8gVXNlci1mcmllbmRseSBncm91cHMgb2YgdHJhbnNmZXIg c3ludGF4ZXMgdGhhdCBjYW4gYmUgZW5hYmxlZCBvcgorICAvLyBkaXNhYmxlZCBhdCBvbmNlLiBU aGVzZSBvcHRpb25zIGFyZSBhcHBsaWVkIGFmdGVyIHRoZSBtYWluCisgIC8vICJBY2NlcHRlZFRy YW5zZmVyU3ludGF4ZXMiIG9wdGlvbiBoYXMgYmVlbiBhcHBsaWVkIChpZiBwcmVzZW50KS4KKyAg LyoqCisgICAgICJEZWZsYXRlZFRyYW5zZmVyU3ludGF4QWNjZXB0ZWQiICAgICA6IHRydWUsCisg ICAgICJKcGVnVHJhbnNmZXJTeW50YXhBY2NlcHRlZCIgICAgICAgICA6IHRydWUsCisgICAgICJK cGVnMjAwMFRyYW5zZmVyU3ludGF4QWNjZXB0ZWQiICAgICA6IHRydWUsCisgICAgICJKcGVnTG9z c2xlc3NUcmFuc2ZlclN5bnRheEFjY2VwdGVkIiA6IHRydWUsCisgICAgICJKcGlwVHJhbnNmZXJT eW50YXhBY2NlcHRlZCIgICAgICAgICA6IHRydWUsCisgICAgICJNcGVnMlRyYW5zZmVyU3ludGF4 QWNjZXB0ZWQiICAgICAgICA6IHRydWUsCisgICAgICJSbGVUcmFuc2ZlclN5bnRheEFjY2VwdGVk IiAgICAgICAgICA6IHRydWUsCisgICAgICJNcGVnNFRyYW5zZmVyU3ludGF4QWNjZXB0ZWQiICAg ICAgICA6IHRydWUsICAvLyBOZXcgaW4gT3J0aGFuYyAxLjYuMAorICAgICAiSDI2NVRyYW5zZmVy U3ludGF4QWNjZXB0ZWQiICAgICAgICAgOiB0cnVlLCAgLy8gTmV3IGluIE9ydGhhbmMgMS45LjAK KyAgKiovCisgIAorICAvLyBXaGV0aGVyIE9ydGhhbmMgYWNjZXB0cyB0byBhY3QgYXMgQy1TVE9S RSBTQ1AgZm9yIHVua25vd24gc3RvcmFnZQorICAvLyBTT1AgY2xhc3NlcyAoYWthLiAicHJvbWlz Y3VvdXMgbW9kZSIpCisgICJVbmtub3duU29wQ2xhc3NBY2NlcHRlZCIgOiBmYWxzZSwKKworICAv LyBTZXQgdGhlIHRpbWVvdXQgKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSBESUNPTSBhc3Nv Y2lhdGlvbnMKKyAgLy8gYXJlIGNsb3NlZCBieSB0aGUgT3J0aGFuYyBTQ1AgKHNlcnZlcikgaWYg bm8gZnVydGhlciBESU1TRQorICAvLyBjb21tYW5kIGlzIHJlY2VpdmVkIGZyb20gdGhlIFNDVSAo Y2xpZW50KS4KKyAgIkRpY29tU2NwVGltZW91dCIgOiAzMCwKKworCisKKyAgLyoqCisgICAqIFNl Y3VyaXR5LXJlbGF0ZWQgb3B0aW9ucyBmb3IgdGhlIEhUVFAgc2VydmVyCisgICAqKi8KKworICAv LyBXaGV0aGVyIHJlbW90ZSBob3N0cyBjYW4gY29ubmVjdCB0byB0aGUgSFRUUCBzZXJ2ZXIKKyAg IlJlbW90ZUFjY2Vzc0FsbG93ZWQiIDogZmFsc2UsCisKKyAgLy8gV2hldGhlciBvciBub3QgU1NM IGlzIGVuYWJsZWQKKyAgIlNzbEVuYWJsZWQiIDogZmFsc2UsCisKKyAgLy8gUGF0aCB0byB0aGUg U1NMIGNlcnRpZmljYXRlIHVzZWQgYnkgdGhlIEhUVFAgc2VydmVyLiBUaGUgZmlsZQorICAvLyBt dXN0IGJlIHN0b3JlZCBpbiB0aGUgUEVNIGZvcm1hdCwgYW5kIG11c3QgY29udGFpbiBib3RoIHRo ZQorICAvLyBjZXJ0aWZpY2F0ZSBhbmQgdGhlIHByaXZhdGUga2V5LiBUaGlzIG9wdGlvbiBpcyBv bmx5IG1lYW5pbmdmdWwKKyAgLy8gaWYgIlNzbEVuYWJsZWQiIGlzIHRydWUuCisgICJTc2xDZXJ0 aWZpY2F0ZSIgOiAiY2VydGlmaWNhdGUucGVtIiwKKworICAvLyBTZXRzIHRoZSBtaW5pbXVtIGFj Y2VwdGVkIFNTTCBwcm90b2NvbCB2ZXJzaW9uCisgIC8vIChjZi4gInNzbF9wcm90b2NvbF92ZXJz aW9uIiBvcHRpb24gb2YgY2l2ZXR3ZWIpLiBCeSBkZWZhdWx0LAorICAvLyByZXF1aXJlIFNTTCAx LjIuIFRoaXMgb3B0aW9uIGlzIG9ubHkgbWVhbmluZ2Z1bCBpZiAiU3NsRW5hYmxlZCIKKyAgLy8g aXMgdHJ1ZS4gKG5ldyBpbiBPcnRoYW5jIDEuOC4yKQorICAvLworICAvLyBWYWx1ZSA9PiBQcm90 b2NvbHMKKyAgLy8gICAwICAgICAgU1NMMitTU0wzK1RMUzEuMCtUTFMxLjErVExTMS4yCisgIC8v ICAgMSAgICAgIFNTTDMrVExTMS4wK1RMUzEuMStUTFMxLjIKKyAgLy8gICAyICAgICAgVExTMS4w K1RMUzEuMStUTFMxLjIKKyAgLy8gICAzICAgICAgVExTMS4xK1RMUzEuMgorICAvLyAgIDQgICAg ICBUTFMxLjIKKyAgIlNzbE1pbmltdW1Qcm90b2NvbFZlcnNpb24iIDogNCwKKworICAvLyBTZXQg dGhlIGFjY2VwdGVkIGNpcGhlcnMgZm9yIFNTTCBjb25uZWN0aW9ucy4gVGhlIGNpcGhlcnMgbXVz dCBiZQorICAvLyBwcm92aWRlZCBhcyBhIGxpc3Qgb2Ygc3RyaW5ncy4gSWYgbm90IHNldCwgdGhp cyB3aWxsIGRlZmF1bHQgdG8KKyAgLy8gRklQUyAxNDAtMiBjaXBoZXJzLiBUaGlzIG9wdGlvbiBp cyBvbmx5IG1lYW5pbmdmdWwgaWYKKyAgLy8gIlNzbEVuYWJsZWQiIGlzIHRydWUuIChuZXcgaW4g T3J0aGFuYyAxLjguMikKKyAgLyoqCisgICAgIlNzbENpcGhlcnNBY2NlcHRlZCIgOiBbICJBRVMx MjgtR0NNLVNIQTI1NiIgXSwKKyAgKiovCisKKyAgLy8gV2hldGhlciBvciBub3QgcGVlciBjbGll bnQgY2VydGlmaWNhdGVzIHNoYWxsIGJlIGNoZWNrZWQuIFRoaXMKKyAgLy8gb3B0aW9uIGlzIG9u bHkgbWVhbmluZ2Z1bCBpZiAiU3NsRW5hYmxlZCIgaXMgdHJ1ZS4KKyAgIlNzbFZlcmlmeVBlZXJz IiA6IGZhbHNlLAorCisgIC8vIFBhdGggdG8gYSBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvbmNhdGVu YXRpb24gb2YgdGhlIGNsaWVudCBTU0wKKyAgLy8gY2VydGlmaWNhdGUocykgdGhhdCBhcmUgdHJ1 c3RlZCB0byB2ZXJpZnkgdGhlIGlkZW50aWZ5IG9mIHJlbW90ZQorICAvLyBIVFRQIGNsaWVudHMu IFRoZSBpbmRpdmlkdWFsIGNlcnRpZmljYXRlKHMpIG11c3QgYmUgc3RvcmVkIGluIHRoZQorICAv LyBQRU0gZm9ybWF0LiBUaGlzIG9wdGlvbiBpcyBvbmx5IG1lYW5pbmdmdWwgaWYgIlNzbFZlcmlm eVBlZXJzIgorICAvLyBpcyB0cnVlLgorICAiU3NsVHJ1c3RlZENsaWVudENlcnRpZmljYXRlcyIg OiAidHJ1c3RlZENsaWVudENlcnRpZmljYXRlcy5wZW0iLAorICAKKyAgLy8gV2hldGhlciBvciBu b3QgdGhlIHBhc3N3b3JkIHByb3RlY3Rpb24gaXMgZW5hYmxlZCAodXNpbmcgSFRUUAorICAvLyBi YXNpYyBhY2Nlc3MgYXV0aGVudGljYXRpb24pLiBTdGFydGluZyB3aXRoIE9ydGhhbmMgMS41Ljgs IGlmCisgIC8vICJBdXRoZW50aWNhdGlvbkVuYWJsZWQiIGlzIG5vdCBleHBsaWNpdGx5IHNldCwg YXV0aGVudGljYXRpb24gaXMKKyAgLy8gZW5hYmxlZCBpZmYuIHJlbW90ZSBhY2Nlc3MgaXMgYWxs b3dlZCAoaS5lLiB0aGUgZGVmYXVsdCB2YWx1ZSBvZgorICAvLyAiQXV0aGVudGljYXRpb25FbmFi bGVkIiBlcXVhbHMgdGhhdCBvZiAiUmVtb3RlQWNjZXNzQWxsb3dlZCIpLgorICAvKioKKyAgICAg IkF1dGhlbnRpY2F0aW9uRW5hYmxlZCIgOiBmYWxzZSwKKyAgICoqLworCisgIC8vIFRoZSBsaXN0 IG9mIHRoZSByZWdpc3RlcmVkIHVzZXJzLiBCZWNhdXNlIE9ydGhhbmMgdXNlcyBIVFRQCisgIC8v IEJhc2ljIEF1dGhlbnRpY2F0aW9uLCB0aGUgcGFzc3dvcmRzIGFyZSBzdG9yZWQgYXMgcGxhaW4g dGV4dC4KKyAgIlJlZ2lzdGVyZWRVc2VycyIgOiB7CisgICAgLy8gImFsaWNlIiA6ICJhbGljZVBh c3N3b3JkIgorICB9LAorCisKKworICAvKioKKyAgICogU2VjdXJpdHktcmVsYXRlZCBvcHRpb25z IGZvciB0aGUgRElDT00gY29ubmVjdGlvbnMgKFNDVS9TQ1ApCisgICAqKi8KKworICAvLyBXaGV0 aGVyIERJQ09NIFRMUyBpcyBlbmFibGVkIGluIHRoZSBPcnRoYW5jIFNDUCAobmV3IGluIE9ydGhh bmMgMS45LjApCisgICJEaWNvbVRsc0VuYWJsZWQiIDogZmFsc2UsCisKKyAgLy8gUGF0aCB0byB0 aGUgVExTIGNlcnRpZmljYXRlIGZpbGUgKGluIFBFTSBmb3JtYXQpIHRvIGJlIHVzZWQgZm9yCisg IC8vIGJvdGggT3J0aGFuYyBTQ1AgKGluY29taW5nIERJQ09NIGNvbm5lY3Rpb25zKSBhbmQgT3J0 aGFuYyBTQ1UKKyAgLy8gKG91dGdvaW5nIERJQ09NIGNvbm5lY3Rpb25zKS4gTm90ZSB0aGF0IGNv bnRyYXJpbHkgdG8gdGhlCisgIC8vICJTc2xDZXJ0aWZpY2F0ZSIgb3B0aW9uLCB0aGUgY2VydGlm aWNhdGUgYW5kIGl0cyBwcml2YXRlIGtleSBtdXN0CisgIC8vIGJlIHNwbGl0IGludG8gdHdvIHNl cGFyYXRlIGZpbGVzLiAobmV3IGluIE9ydGhhbmMgMS45LjApCisgIC8qKgorICAgICAiRGljb21U bHNDZXJ0aWZpY2F0ZSIgOiAib3J0aGFuYy5jcnQiLAorICAqKi8KKworICAvLyBQYXRoIHRvIHRo ZSBmaWxlIGNvbnRhaW5pbmcgdGhlIHByaXZhdGUga2V5IChpbiBQRU0gZm9ybWF0KSB0aGF0Cisg IC8vIGNvcnJlc3BvbmRzIHRvIHRoZSBUTFMgY2VydGlmaWNhdGUgc3BlY2lmaWVkIGluIG9wdGlv bgorICAvLyAiRGljb21UbHNDZXJ0aWZpY2F0ZSIuIChuZXcgaW4gT3J0aGFuYyAxLjkuMCkKKyAg LyoqCisgICAgICJEaWNvbVRsc1ByaXZhdGVLZXkiIDogIm9ydGhhbmMua2V5IiwKKyAgKiovCisK KyAgLy8gUGF0aCB0byBhIGZpbGUgY29udGFpbmluZyBhbGwgdGhlIFRMUyBjZXJ0aWZpY2F0ZXMg dGhhdCBPcnRoYW5jCisgIC8vIGNhbiB0cnVzdCwgYm90aCBmb3IgaXRzIFNDUCAoaW5jb21pbmcg RElDT00gY29ubmVjdGlvbnMpIGFuZCBTQ1UKKyAgLy8gKG91dGdvaW5nIERJQ09NIGNvbm5lY3Rp b25zKS4gVGhpcyBmaWxlIG11c3QgY29udGFpbiBhIHNlcXVlbmNlCisgIC8vIG9mIFBFTSBjZXJ0 aWZpY2F0ZXMuIChuZXcgaW4gT3J0aGFuYyAxLjkuMCkKKyAgLyoqCisgICAgICJEaWNvbVRsc1Ry dXN0ZWRDZXJ0aWZpY2F0ZXMiIDogInRydXN0ZWQuY3J0IiwKKyAgKiovCisgIAorICAvLyBXaGV0 aGVyIE9ydGhhbmMgcmVqZWN0cyBESUNPTSBUTFMgY29ubmVjdGlvbnMgdG8vZnJvbSByZW1vdGUK KyAgLy8gbW9kYWxpdGllcyB0aGF0IGRvIG5vdCBwcm92aWRlIGEgY2VydGlmaWNhdGUuIFNldHRp bmcgdGhpcyBvcHRpb24KKyAgLy8gdG8gInRydWUiIChyZXNwLiAiZmFsc2UiKSBjb3JyZXNwb25k cyB0byAiLS1yZXF1aXJlLXBlZXItY2VydCIKKyAgLy8gKHJlc3AuICItLXZlcmlmeS1wZWVyLWNl cnQiKSBpbiB0aGUgRENNVEsgY29tbWFuZC1saW5lCisgIC8vIHRvb2xzLiAobmV3IGluIE9ydGhh bmMgMS45LjMpCisgICJEaWNvbVRsc1JlbW90ZUNlcnRpZmljYXRlUmVxdWlyZWQiIDogdHJ1ZSwK KworICAvLyBXaGV0aGVyIHRoZSBPcnRoYW5jIFNDUCBhbGxvd3MgaW5jb21pbmcgQy1FQ0hPIHJl cXVlc3RzLCBldmVuCisgIC8vIGZyb20gU0NVIG1vZGFsaXRpZXMgaXQgZG9lcyBub3Qga25vdyBh Ym91dCAoaS5lLiB0aGF0IGFyZSBub3QKKyAgLy8gbGlzdGVkIGluIHRoZSAiRGljb21Nb2RhbGl0 aWVzIiBvcHRpb24gYWJvdmUpLiBPcnRoYW5jIDEuMy4wCisgIC8vIGlzIHRoZSBvbmx5IHZlcnNp b24gdG8gYmVoYXZlIGFzIGlmIHRoaXMgYXJndW1lbnQgd2VyZSBzZXQgdG8gImZhbHNlIi4KKyAg IkRpY29tQWx3YXlzQWxsb3dFY2hvIiA6IHRydWUsCisKKyAgLy8gV2hldGhlciB0aGUgT3J0aGFu YyBTQ1AgYWxsb3dzIGluY29taW5nIEMtU1RPUkUgcmVxdWVzdHMsIGV2ZW4KKyAgLy8gZnJvbSBT Q1UgbW9kYWxpdGllcyBpdCBkb2VzIG5vdCBrbm93IGFib3V0IChpLmUuIHRoYXQgYXJlIG5vdAor ICAvLyBsaXN0ZWQgaW4gdGhlICJEaWNvbU1vZGFsaXRpZXMiIG9wdGlvbiBhYm92ZSkKKyAgIkRp Y29tQWx3YXlzQWxsb3dTdG9yZSIgOiB0cnVlLAorCisgIC8vIFdoZXRoZXIgdGhlIE9ydGhhbmMg U0NQIGFsbG93cyBpbmNvbWluZyBDLUZJTkQgcmVxdWVzdHMsIGV2ZW4KKyAgLy8gZnJvbSBTQ1Ug bW9kYWxpdGllcyBpdCBkb2VzIG5vdCBrbm93IGFib3V0IChpLmUuIHRoYXQgYXJlIG5vdAorICAv LyBsaXN0ZWQgaW4gdGhlICJEaWNvbU1vZGFsaXRpZXMiIG9wdGlvbiBhYm92ZSkuIFNldHRpbmcg dGhpcworICAvLyBvcHRpb24gdG8gInRydWUiIGltcGxpZXMgc2VjdXJpdHkgcmlza3MuIChuZXcg aW4gT3J0aGFuYyAxLjkuMCkKKyAgLy8gTm90ZTogRnJvbSBPcnRoYW5jIDEuMTAuMCwgdGhpcyBv cHRpb24gb25seSBhcHBsaWVzIHRvIEMtRklORAorICAvLyByZXF1ZXN0cyBmb3IgcGF0aWVudHMv c3R1ZGllcy9zZXJpZXMvaW5zdGFuY2VzLiBVc2Ugb3B0aW9uCisgIC8vICJEaWNvbUFsd2F5c0Fs bG93RmluZFdvcmtsaXN0IiBmb3Igd29ya2xpc3RzLgorICAiRGljb21BbHdheXNBbGxvd0ZpbmQi IDogZmFsc2UsCisKKyAgLy8gV2hldGhlciB0aGUgT3J0aGFuYyBTQ1AgYWxsb3dzIGluY29taW5n IEMtRklORCByZXF1ZXN0cyBmb3Igd29ya2xpc3RzLCAKKyAgLy8gZXZlbiBmcm9tIFNDVSBtb2Rh bGl0aWVzIGl0IGRvZXMgbm90IGtub3cgYWJvdXQgKGkuZS4gdGhhdCBhcmUgbm90CisgIC8vIGxp c3RlZCBpbiB0aGUgIkRpY29tTW9kYWxpdGllcyIgb3B0aW9uIGFib3ZlKS4gU2V0dGluZyB0aGlz CisgIC8vIG9wdGlvbiB0byAidHJ1ZSIgaW1wbGllcyBzZWN1cml0eSByaXNrcy4gKG5ldyBpbiBP cnRoYW5jIDEuMTAuMCkKKyAgIkRpY29tQWx3YXlzQWxsb3dGaW5kV29ya2xpc3QiIDogZmFsc2Us CisKKyAgLy8gV2hldGhlciB0aGUgT3J0aGFuYyBTQ1AgYWxsb3dzIGluY29taW5nIEMtR0VUIHJl cXVlc3RzLCBldmVuCisgIC8vIGZyb20gU0NVIG1vZGFsaXRpZXMgaXQgZG9lcyBub3Qga25vdyBh Ym91dCAoaS5lLiB0aGF0IGFyZSBub3QKKyAgLy8gbGlzdGVkIGluIHRoZSAiRGljb21Nb2RhbGl0 aWVzIiBvcHRpb24gYWJvdmUpLiBTZXR0aW5nIHRoaXMKKyAgLy8gb3B0aW9uIHRvICJ0cnVlIiBp bXBsaWVzIHNlY3VyaXR5IHJpc2tzLiAobmV3IGluIE9ydGhhbmMgMS45LjApCisgICJEaWNvbUFs d2F5c0FsbG93R2V0IiA6IGZhbHNlLAorCisgIC8vIFdoZXRoZXIgdGhlIE9ydGhhbmMgU0NQIGFs bG93cyBpbmNvbWluZyBDLU1PVkUgcmVxdWVzdHMsIGV2ZW4KKyAgLy8gZnJvbSBTQ1UgbW9kYWxp dGllcyBpdCBkb2VzIG5vdCBrbm93IGFib3V0IChpLmUuIHRoYXQgYXJlIG5vdAorICAvLyBsaXN0 ZWQgaW4gdGhlICJEaWNvbU1vZGFsaXRpZXMiIG9wdGlvbiBhYm92ZSkuIFNldHRpbmcgdGhpcwor ICAvLyBvcHRpb24gdG8gInRydWUiIGltcGxpZXMgc2VjdXJpdHkgcmlza3MuIChuZXcgaW4gT3J0 aGFuYyAxLjkuNykKKyAgIkRpY29tQWx3YXlzQWxsb3dNb3ZlIiA6IGZhbHNlLAorCisgIC8vIFdo ZXRoZXIgT3J0aGFuYyBjaGVja3MgdGhlIElQL2hvc3RuYW1lIGFkZHJlc3Mgb2YgdGhlIHJlbW90 ZQorICAvLyBtb2RhbGl0eSBpbml0aWF0aW5nIGEgRElDT00gY29ubmVjdGlvbiAoYXMgbGlzdGVk IGluIHRoZQorICAvLyAiRGljb21Nb2RhbGl0aWVzIiBvcHRpb24gYWJvdmUpLiBJZiB0aGlzIG9w dGlvbiBpcyBzZXQgdG8KKyAgLy8gImZhbHNlIiwgT3J0aGFuYyBvbmx5IGNoZWNrcyB0aGUgQUVU IG9mIHRoZSByZW1vdGUgbW9kYWxpdHkuCisgICJEaWNvbUNoZWNrTW9kYWxpdHlIb3N0IiA6IGZh bHNlLAorCisKKworICAvKioKKyAgICogTmV0d29yayB0b3BvbG9neQorICAgKiovCisKKyAgLy8g VGhlIGxpc3Qgb2YgdGhlIGtub3duIERJQ09NIG1vZGFsaXRpZXMuIFRoaXMgb3B0aW9uIGlzIGln bm9yZWQgaWYKKyAgLy8gIkRpY29tTW9kYWxpdGllc0luRGF0YWJhc2UiIGlzIHNldCB0byAidHJ1 ZSIsIGluIHdoaWNoIGNhc2UgeW91CisgIC8vIG11c3QgdXNlIHRoZSBSRVNUIEFQSSB0byBkZWZp bmUgbW9kYWxpdGllcy4KKyAgIkRpY29tTW9kYWxpdGllcyIgOiB7CisgICAgLyoqCisgICAgICog VW5jb21tZW50aW5nIHRoZSBmb2xsb3dpbmcgbGluZSB3b3VsZCBlbmFibGUgT3J0aGFuYyB0bwor ICAgICAqIGNvbm5lY3QgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlICJzdG9yZXNjcCIgb3Blbi1zb3Vy Y2UgRElDT00KKyAgICAgKiBzdG9yZSAoc2hpcHBlZCBpbiB0aGUgRENNVEsgZGlzdHJpYnV0aW9u KSwgYXMgc3RhcnRlZCBieSB0aGUKKyAgICAgKiBjb21tYW5kIGxpbmUgInN0b3Jlc2NwIDIwMDAi LiBUaGUgZmlyc3QgcGFyYW1ldGVyIGlzIHRoZQorICAgICAqIEFFVCBvZiB0aGUgcmVtb3RlIG1v ZGFsaXR5IChjYW5ub3QgYmUgbG9uZ2VyIHRoYW4gMTYgCisgICAgICogY2hhcmFjdGVycyksIHRo ZSBzZWNvbmQgb25lIGlzIHRoZSByZW1vdGUgbmV0d29yayBhZGRyZXNzLAorICAgICAqIGFuZCB0 aGUgdGhpcmQgb25lIGlzIHRoZSBUQ1AgcG9ydCBudW1iZXIgY29ycmVzcG9uZGluZworICAgICAq IHRvIHRoZSBESUNPTSBwcm90b2NvbCBvbiB0aGUgcmVtb3RlIG1vZGFsaXR5ICh1c3VhbGx5IDEw NCkuCisgICAgICoqLworICAgIC8vICJzYW1wbGUiIDogWyAiU1RPUkVTQ1AiLCAiMTI3LjAuMC4x IiwgMjAwMCBdCisKKyAgICAvKioKKyAgICAgKiBBIGZvdXJ0aCBwYXJhbWV0ZXIgaXMgYXZhaWxh YmxlIHRvIGVuYWJsZSBwYXRjaGVzIGZvcgorICAgICAqIHNwZWNpZmljIFBBQ1MgbWFudWZhY3R1 cmVycy4gVGhlIGFsbG93ZWQgdmFsdWVzIGFyZSBjdXJyZW50bHk6CisgICAgICogLSAiR2VuZXJp YyIgKGRlZmF1bHQgdmFsdWUpLAorICAgICAqIC0gIkdlbmVyaWNOb1dpbGRjYXJkSW5EYXRlcyIg KHRvIHJlcGxhY2UgIioiIGJ5ICIiIGluIGRhdGUgZmllbGRzIAorICAgICAqICAgaW4gb3V0Z29p bmcgQy1GSU5EIHJlcXVlc3RzIG9yaWdpbmF0aW5nIGZyb20gT3J0aGFuYyksCisgICAgICogLSAi R2VuZXJpY05vVW5pdmVyc2FsV2lsZGNhcmQiICh0byByZXBsYWNlICIqIiBieSAiIiBpbiBhbGwg ZmllbGRzCisgICAgICogICBpbiBvdXRnb2luZyBDLUZJTkQgU0NVIHJlcXVlc3RzIG9yaWdpbmF0 aW5nIGZyb20gT3J0aGFuYyksCisgICAgICogLSAiVml0cmVhIiwKKyAgICAgKiAtICJHRSIgKEVu dGVycHJpc2UgQXJjaGl2ZSwgTVJJIGNvbnNvbGVzIGFuZCBBZHZhbnRhZ2UgV29ya3N0YXRpb24K KyAgICAgKiAgIGZyb20gR0UgSGVhbHRoY2FyZSkuCisgICAgICoKKyAgICAgKiBUaGlzIHBhcmFt ZXRlciBpcyBjYXNlLXNlbnNpdGl2ZS4KKyAgICAgKiovCisgICAgLy8gInZpdHJlYSIgOiBbICJW SVRSRUEiLCAiMTkyLjE2OC4xLjEiLCAxMDQsICJWaXRyZWEiIF0KKworICAgIC8qKgorICAgICAq IEJ5IGRlZmF1bHQsIHRoZSBPcnRoYW5jIFNDUCBhY2NlcHRzIGFsbCBESUNPTSBjb21tYW5kcyAo Qy1FQ0hPLAorICAgICAqIEMtU1RPUkUsIEMtRklORCwgQy1NT1ZFLCBDLUdFVCBhbmQgc3RvcmFn ZSBjb21taXRtZW50KSBpc3N1ZWQgYnkgdGhlCisgICAgICogcmVnaXN0ZXJlZCByZW1vdGUgU0NV IG1vZGFsaXRpZXMuIFN0YXJ0aW5nIHdpdGggT3J0aGFuYyAxLjUuMCwKKyAgICAgKiBpdCBpcyBw b3NzaWJsZSB0byBzcGVjaWZ5IHdoaWNoIERJQ09NIGNvbW1hbmRzIGFyZSBhbGxvd2VkLAorICAg ICAqIHNlcGFyYXRlbHkgZm9yIGVhY2ggcmVtb3RlIG1vZGFsaXR5LCB1c2luZyB0aGUgc3ludGF4 CisgICAgICogYmVsb3cuCisgICAgICoKKyAgICAgKiBUaGUgIkFsbG93RWNobyIgKHJlc3AuICAi QWxsb3dTdG9yZSIpIG9wdGlvbiBvbmx5IGhhcyBhbiBlZmZlY3QKKyAgICAgKiByZXNwZWN0aXZl bHkgaWYgZ2xvYmFsIG9wdGlvbiAiRGljb21BbHdheXNBbGxvd0VjaG8iCisgICAgICogKHJlc3Au ICJEaWNvbUFsd2F5c0FsbG93U3RvcmUiKSBpcyBzZXQgdG8gImZhbHNlIi4KKyAgICAgKgorICAg ICAqIFN0YXJ0aW5nIHdpdGggT3J0aGFuYyAxLjcuMCwgIkFsbG93VHJhbnNjb2RpbmciIGNhbiBi ZSB1c2VkIHRvCisgICAgICogZGlzYWJsZSB0aGUgdHJhbnNjb2RpbmcgdG8gdW5jb21wcmVzc2Vk IHRyYW5zZmVyIHN5bnRheGVzIGlmCisgICAgICogdGhpcyByZW1vdGUgbW9kYWxpdHkgZG9lc24n dCBzdXBwb3J0IGNvbXByZXNzZWQgdHJhbnNmZXIKKyAgICAgKiBzeW50YXhlcy4gVGhpcyBvcHRp b24gY3VycmVudGx5IGFwcGxpZXMgdG8gT3J0aGFuYyBDLUdFVCBTQ1AKKyAgICAgKiBhbmQgdG8g T3J0aGFuYyBDLVNUT1JFIFNDVS4gVGhpcyBvcHRpb24gb25seSBoYXMgYW4gZWZmZWN0IGlmCisg ICAgICogdGhlIGdsb2JhbCBvcHRpb24gIkVuYWJsZVRyYW5zY29kaW5nIiBpcyBzZXQgdG8gInRy dWUiLgorICAgICAqCisgICAgICogQnkgZGVmYXVsdCwgYWxsICJBbGxvdyoiIG9wdGlvbnMgYXJl IHRydWUuCisgICAgICogIkFsbG93U3RvcmFnZUNvbW1pdG1lbnQiIGlzIGFjdHVhbGx5IGFuIGFs aWFzIGZvciAKKyAgICAgKiAiQWxsb3dOQWN0aW9uIiAmICJBbGxvd0V2ZW50UmVwb3J0Ii4KKyAg ICAgKiAKKyAgICAgKiBUaGUgIlVzZURpY29tVGxzIiBvcHRpb24gc3BlY2lmaWVzIHdoZXRoZXIg RElDT00gVExTIHNob3VsZCBiZQorICAgICAqIHVzZWQgd2hlbiBvcGVuaW5nIGEgU0NVIGNvbm5l Y3Rpb24gZnJvbSBPcnRoYW5jIHRvIHRoaXMgcmVtb3RlCisgICAgICogbW9kYWxpdHkuIEJ5IGRl ZmF1bHQsIERJQ09NIFRMUyBpcyBub3QgZW5hYmxlZC4KKyAgICAgKgorICAgICAqIFRoZSAiTG9j YWxBZXQiIG9wdGlvbiBhbGxvd3Mgb25lIHRvIG92ZXJ3cml0ZSB0aGUgZ2xvYmFsCisgICAgICog IkRpY29tQWV0IiBjb25maWd1cmF0aW9uIG9wdGlvbiBpbiBvcmRlciB0byBzcGVjaWZ5IGFub3Ro ZXIgQUVUCisgICAgICogZm9yIE9ydGhhbmMgd2hlbiBpbml0aWF0aW5nIGFuIFNDVSB0byB0aGlz IHZlcnkgc3BlY2lmaWMKKyAgICAgKiBtb2RhbGl0eS4gU2ltaWxhcmx5LCAiVGltZW91dCIgYWxs b3dzIG9uZSB0byBvdmVyd3JpdGUgdGhlCisgICAgICogZ2xvYmFsIHZhbHVlICJEaWNvbVNjdVRp bWVvdXQiIG9uIGEgcGVyLW1vZGFsaXR5IGJhc2lzLgorICAgICAqKi8KKyAgICAvLyJ1bnRydXN0 ZWQiIDogeworICAgIC8vICAiQUVUIiA6ICJPUlRIQU5DIiwKKyAgICAvLyAgIlBvcnQiIDogMTA0 LAorICAgIC8vICAiSG9zdCIgOiAiMTI3LjAuMC4xIiwKKyAgICAvLyAgIk1hbnVmYWN0dXJlciIg OiAiR2VuZXJpYyIsCisgICAgLy8gICJBbGxvd0VjaG8iIDogZmFsc2UsCisgICAgLy8gICJBbGxv d0ZpbmQiIDogZmFsc2UsCisgICAgLy8gICJBbGxvd0ZpbmRXb3JrbGlzdCIgOiBmYWxzZSwgICAg ICAgLy8gbmV3IGluIDEuMTAuMAorICAgIC8vICAiQWxsb3dHZXQiICA6IGZhbHNlLAorICAgIC8v ICAiQWxsb3dNb3ZlIiA6IGZhbHNlLAorICAgIC8vICAiQWxsb3dTdG9yZSIgOiB0cnVlLAorICAg IC8vICAiQWxsb3dTdG9yYWdlQ29tbWl0bWVudCIgOiBmYWxzZSwgIC8vIG5ldyBpbiAxLjYuMAor ICAgIC8vICAiQWxsb3dUcmFuc2NvZGluZyIgOiB0cnVlLCAgICAgICAgIC8vIG5ldyBpbiAxLjcu MAorICAgIC8vICAiVXNlRGljb21UbHMiIDogZmFsc2UgICAgICAgICAgICAgIC8vIG5ldyBpbiAx LjkuMAorICAgIC8vICAiTG9jYWxBZXQiIDogIkhFTExPIiAgICAgICAgICAgICAgIC8vIG5ldyBp biAxLjkuMAorICAgIC8vICAiVGltZW91dCIgOiA2MCAgICAgICAgICAgICAgICAgICAgIC8vIG5l dyBpbiAxLjkuMQorICAgIC8vfQorICB9LAorCisgIC8vIFdoZXRoZXIgdG8gc3RvcmUgdGhlIERJ Q09NIG1vZGFsaXRpZXMgaW4gdGhlIE9ydGhhbmMgZGF0YWJhc2UKKyAgLy8gaW5zdGVhZCBvZiBp biB0aGlzIGNvbmZpZ3VyYXRpb24gZmlsZSAobmV3IGluIE9ydGhhbmMgMS41LjApCisgICJEaWNv bU1vZGFsaXRpZXNJbkRhdGFiYXNlIiA6IGZhbHNlLAorCisgIC8vIFdoZXRoZXIgdGhlIEMtRUNI TyBTQ1UgaXMgYXV0b21hdGljYWxseSBmb2xsb3dlZCBieSBhIEMtRklORCBTQ1UsCisgIC8vIHdo aWxlIHRlc3RpbmcgdGhlIGNvbm5lY3Rpdml0eSBmcm9tIE9ydGhhbmMgdG8gYSByZW1vdGUgRElD T00KKyAgLy8gbW9kYWxpdHkuIFRoaXMgYWxsb3dzIG9uZSB0byBjaGVjayB0aGF0IHRoZSByZW1v dGUgbW9kYWxpdHkgZG9lcworICAvLyBhY2NlcHQgQy1GSU5EIHJlcXVlc3RzIGZyb20gT3J0aGFu YyAobmV3IGluIE9ydGhhbmMgMS44LjEpLgorICAiRGljb21FY2hvQ2hlY2tzRmluZCIgOiBmYWxz ZSwKKworICAvLyBUaGUgdGltZW91dCAoaW4gc2Vjb25kcykgYWZ0ZXIgd2hpY2ggdGhlIERJQ09N IGFzc29jaWF0aW9ucyBhcmUKKyAgLy8gY29uc2lkZXJlZCBhcyBjbG9zZWQgYnkgdGhlIE9ydGhh bmMgU0NVIChjbGllbnQpIGlmIHRoZSByZW1vdGUKKyAgLy8gRElDT00gU0NQIChzZXJ2ZXIpIGRv ZXMgbm90IGFuc3dlci4KKyAgIkRpY29tU2N1VGltZW91dCIgOiAxMCwKKworICAvLyBEdXJpbmcg YSBDLVNUT1JFIFNDVSByZXF1ZXN0IGluaXRpYXRlZCBieSBPcnRoYW5jLCBpZiB0aGUgcmVtb3Rl CisgIC8vIG1vZGFsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgb3JpZ2luYWwgdHJhbnNmZXIgc3lu dGF4IG9mIHNvbWUKKyAgLy8gRElDT00gaW5zdGFuY2UsIHNwZWNpZnkgd2hpY2ggdHJhbnNmZXIg c3ludGF4IHNob3VsZCBiZSBwcmVmZXJyZWQKKyAgLy8gdG8gdHJhbnNjb2RlIHRoaXMgaW5zdGFu Y2UgKHByb3ZpZGVkIHRoZSByZW1vdGUgbW9kYWxpdHkgYWNjZXB0cworICAvLyB0aGlzIHN5bnRh eCkuIEluIE9ydGhhbmMgYmV0d2VlbiAxLjcuMCBhbmQgMS44LjIsIHRoaXMgcGFyYW1ldGVyCisg IC8vIHdhcyBpbXBsaWNpdGx5IHNldCB0byAiTGl0dGxlIEVuZGlhbiBJbXBsaWNpdCIKKyAgLy8g KDEuMi44NDAuMTAwMDguMS4yKS4gSW4gT3J0aGFuYyA8PSAxLjYuMSBhbmQgaW4gT3J0aGFuYyA+ PSAxLjkuMCwKKyAgLy8gdGhpcyBwYXJhbWV0ZXIgaXMgYnkgZGVmYXVsdCBzZXQgdG8gIkxpdHRs ZSBFbmRpYW4gRXhwbGljaXQiCisgIC8vICgxLjIuODQwLjEwMDA4LjEuMi4xKS4gVGhpcyBwYXJh bWV0ZXIgY2FuIHBvc3NpYmx5IGNvcnJlc3BvbmQgdG8KKyAgLy8gYSBjb21wcmVzc2VkIHRyYW5z ZmVyIHN5bnRheC4gKG5ldyBpbiBPcnRoYW5jIDEuOS4wKQorICAiRGljb21TY3VQcmVmZXJyZWRU cmFuc2ZlclN5bnRheCIgOiAiMS4yLjg0MC4xMDAwOC4xLjIuMSIsCisKKyAgLy8gTnVtYmVyIG9m IHRocmVhZHMgdGhhdCBhcmUgdXNlZCBieSB0aGUgZW1iZWRkZWQgRElDT00gc2VydmVyLgorICAv LyBUaGlzIGRlZmluZXMgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IERJQ09NIG9wZXJhdGlvbnMg dGhhdCBjYW4KKyAgLy8gYmUgcnVuLiBOb3RlOiBUaGlzIGlzIG5vdCBsaW1pdGluZyB0aGUgbnVt YmVyIG9mIGNvbmN1cnJlbnQKKyAgLy8gY29ubmVjdGlvbnMuIFdpdGggYSBzaW5nbGUgdGhyZWFk LCBpZiBhIEMtRmluZCBpcyByZWNlaXZlZCBkdXJpbmcKKyAgLy8gZS5nIHRoZSB0cmFuc2NvZGlu ZyBvZiBhbiBpbmNvbWluZyBDLVN0b3JlLCBpdCB3aWxsIGhhdmUgdG8gd2FpdAorICAvLyB1bnRp bCB0aGUgZW5kIG9mIHRoZSBDLVN0b3JlIGJlZm9yZSBiZWluZyBwcm9jZXNzZWQuIChuZXcgaW4K KyAgLy8gT3J0aGFuYyAxLjEwLjAsIGJlZm9yZSB0aGlzIHZlcnNpb24sIHRoZSB2YWx1ZSB3YXMg Zml4ZWQgdG8gNCkKKyAgIkRpY29tVGhyZWFkc0NvdW50IiA6IDQsCisKKyAgLy8gVGhlIGxpc3Qg b2YgdGhlIGtub3duIE9ydGhhbmMgcGVlcnMuIFRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgaWYKKyAg Ly8gIk9ydGhhbmNQZWVyc0luRGF0YWJhc2UiIGlzIHNldCB0byAidHJ1ZSIsIGluIHdoaWNoIGNh c2UgeW91IG11c3QKKyAgLy8gdXNlIHRoZSBSRVNUIEFQSSB0byBkZWZpbmUgT3J0aGFuYyBwZWVy cy4KKyAgIk9ydGhhbmNQZWVycyIgOiB7CisgICAgLyoqCisgICAgICogRWFjaCBsaW5lIGdpdmVz IHRoZSBiYXNlIFVSTCBvZiBhbiBPcnRoYW5jIHBlZXIsIHBvc3NpYmx5CisgICAgICogZm9sbG93 ZWQgYnkgdGhlIHVzZXJuYW1lL3Bhc3N3b3JkIHBhaXIgKGlmIHRoZSBwYXNzd29yZAorICAgICAq IHByb3RlY3Rpb24gaXMgZW5hYmxlZCBvbiB0aGUgcGVlcikuCisgICAgICoqLworICAgIC8vICJw ZWVyIiAgOiBbICJodHRwOi8vMTI3LjAuMC4xOjgwNDMvIiwgImFsaWNlIiwgImFsaWNlUGFzc3dv cmQiIF0KKyAgICAvLyAicGVlcjIiIDogWyAiaHR0cDovLzEyNy4wLjAuMTo4MDQ0LyIgXQorCisg ICAgLyoqCisgICAgICogVGhpcyBpcyBhbm90aGVyLCBtb3JlIGFkdmFuY2VkIGZvcm1hdCB0byBk ZWZpbmUgT3J0aGFuYworICAgICAqIHBlZXJzLiBJdCBub3RhYmx5IGFsbG93cyBvbmUgdG8gc3Bl Y2lmeSBIVFRQIGhlYWRlcnMsIGEgSFRUUFMKKyAgICAgKiBjbGllbnQgY2VydGlmaWNhdGUgaW4g dGhlIFBFTSBmb3JtYXQgKGFzIGluIHRoZSAiLS1jZXJ0IiBvcHRpb24KKyAgICAgKiBvZiBjdXJs KSwgb3IgdG8gZW5hYmxlIFBLQ1MjMTEgYXV0aGVudGljYXRpb24gZm9yIHNtYXJ0IGNhcmRzLgor ICAgICAqCisgICAgICogVGhlICJUaW1lb3V0IiBvcHRpb24gYWxsb3dzIG9uZSB0byBvdmVyd3Jp dGUgdGhlIGdsb2JhbCB2YWx1ZQorICAgICAqICJIdHRwVGltZW91dCIgb24gYSBwZXItcGVlciBi YXNpcy4KKyAgICAgKiovCisgICAgLy8gInBlZXIiIDogeworICAgIC8vICAgIlVybCIgOiAiaHR0 cDovLzEyNy4wLjAuMTo4MDQzLyIsCisgICAgLy8gICAiVXNlcm5hbWUiIDogImFsaWNlIiwKKyAg ICAvLyAgICJQYXNzd29yZCIgOiAiYWxpY2VQYXNzd29yZCIsCisgICAgLy8gICAiSHR0cEhlYWRl cnMiIDogeyAiVG9rZW4iIDogIkhlbGxvIHdvcmxkIiB9LAorICAgIC8vICAgIkNlcnRpZmljYXRl RmlsZSIgOiAiY2xpZW50LmNydCIsCisgICAgLy8gICAiQ2VydGlmaWNhdGVLZXlGaWxlIiA6ICJj bGllbnQua2V5IiwKKyAgICAvLyAgICJDZXJ0aWZpY2F0ZUtleVBhc3N3b3JkIiA6ICJjZXJ0cGFz cyIsCisgICAgLy8gICAiUGtjczExIiA6IGZhbHNlLAorICAgIC8vICAgIlRpbWVvdXQiIDogNDIg ICAgICAgICAgICAvLyBOZXcgaW4gT3J0aGFuYyAxLjkuMQorICAgIC8vIH0KKyAgfSwKKworICAv LyBXaGV0aGVyIHRvIHN0b3JlIHRoZSBPcnRoYW5jIHBlZXJzIGluIHRoZSBPcnRoYW5jIGRhdGFi YXNlCisgIC8vIGluc3RlYWQgb2YgaW4gdGhpcyBjb25maWd1cmF0aW9uIGZpbGUgKG5ldyBpbiBP cnRoYW5jIDEuNS4wKQorICAiT3J0aGFuY1BlZXJzSW5EYXRhYmFzZSIgOiBmYWxzZSwKKworICAv LyBQYXJhbWV0ZXJzIG9mIHRoZSBIVFRQIHByb3h5IHRvIGJlIHVzZWQgYnkgT3J0aGFuYy4gSWYg c2V0IHRvIHRoZQorICAvLyBlbXB0eSBzdHJpbmcsIG5vIEhUVFAgcHJveHkgaXMgdXNlZC4gRm9y IGluc3RhbmNlOgorICAvLyAgICJIdHRwUHJveHkiIDogIjE5Mi4xNjguMC4xOjMxMjgiCisgIC8v ICAgIkh0dHBQcm94eSIgOiAicHJveHlVc2VyOnByb3h5UGFzc3dvcmRAMTkyLjE2OC4wLjE6MzEy OCIKKyAgIkh0dHBQcm94eSIgOiAiIiwKKworICAvLyBJZiBzZXQgdG8gInRydWUiLCBkZWJ1ZyBt ZXNzYWdlcyBmcm9tIGxpYmN1cmwgd2lsbCBiZSBpc3N1ZWQKKyAgLy8gd2hlbmV2ZXIgT3J0aGFu YyBtYWtlcyBhbiBvdXRnb2luZyBIVFRQIHJlcXVlc3QuIFRoaXMgaXMgbm90YWJseQorICAvLyB1 c2VmdWwgdG8gZGVidWcgSFRUUFMtcmVsYXRlZCBwcm9ibGVtcy4KKyAgIkh0dHBWZXJib3NlIiA6 IGZhbHNlLAorCisgIC8vIFNldCB0aGUgdGltZW91dCBmb3IgSFRUUCByZXF1ZXN0cyBpc3N1ZWQg YnkgT3J0aGFuYyAoaW4gc2Vjb25kcykuCisgICJIdHRwVGltZW91dCIgOiA2MCwKKworICAvLyBF bmFibGUgdGhlIHZlcmlmaWNhdGlvbiBvZiB0aGUgcGVlcnMgZHVyaW5nIEhUVFBTIHJlcXVlc3Rz LiBUaGlzCisgIC8vIG9wdGlvbiBtdXN0IGJlIHNldCB0byAiZmFsc2UiIGlmIHVzaW5nIHNlbGYt c2lnbmVkIGNlcnRpZmljYXRlcy4KKyAgLy8gUGF5IGF0dGVudGlvbiB0aGF0IHNldHRpbmcgdGhp cyBvcHRpb24gdG8gImZhbHNlIiByZXN1bHRzIGluCisgIC8vIHNlY3VyaXR5IHJpc2tzIQorICAv LyBSZWZlcmVuY2U6IGh0dHA6Ly9jdXJsLmhheHguc2UvZG9jcy9zc2xjZXJ0cy5odG1sCisgICJI dHRwc1ZlcmlmeVBlZXJzIiA6IHRydWUsCisKKyAgLy8gUGF0aCB0byB0aGUgQ0EgKGNlcnRpZmlj YXRpb24gYXV0aG9yaXR5KSBjZXJ0aWZpY2F0ZXMgdG8gdmFsaWRhdGUKKyAgLy8gcGVlcnMgaW4g SFRUUFMgcmVxdWVzdHMuIEZyb20gY3VybCBkb2N1bWVudGF0aW9uICgiLS1jYWNlcnQiCisgIC8v IG9wdGlvbik6ICJUZWxscyBjdXJsIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGNlcnRpZmljYXRlIGZp bGUgdG8KKyAgLy8gdmVyaWZ5IHRoZSBwZWVycy4gVGhlIGZpbGUgbWF5IGNvbnRhaW4gbXVsdGlw bGUgQ0EKKyAgLy8gY2VydGlmaWNhdGVzLiBUaGUgY2VydGlmaWNhdGUocykgbXVzdCBiZSBpbiBQ RU0gZm9ybWF0LiIgT24KKyAgLy8gRGViaWFuLWJhc2VkIHN5c3RlbXMsIHRoaXMgb3B0aW9uIGNh biBiZSBzZXQgdG8KKyAgLy8gIi9ldGMvc3NsL2NlcnRzL2NhLWNlcnRpZmljYXRlcy5jcnQiCisg ICJIdHRwc0NBQ2VydGlmaWNhdGVzIiA6ICIiLAorCisKKworICAvKioKKyAgICogQWR2YW5jZWQg b3B0aW9ucworICAgKiovCisKKyAgLy8gRGljdGlvbmFyeSBvZiBzeW1ib2xpYyBuYW1lcyBmb3Ig dGhlIHVzZXItZGVmaW5lZCBtZXRhZGF0YS4gRWFjaAorICAvLyBlbnRyeSBtdXN0IG1hcCBhbiB1 bmlxdWUgc3RyaW5nIHRvIGFuIHVuaXF1ZSBudW1iZXIgYmV0d2VlbiAxMDI0CisgIC8vIGFuZCA2 NTUzNS4gUmVzZXJ2ZWQgdmFsdWVzOgorICAvLyAgLSBUaGUgT3J0aGFuYyB3aG9sZS1zbGlkZSBp bWFnaW5nIHBsdWdpbiB1c2VzIG1ldGFkYXRhIDQyMDAKKyAgIlVzZXJNZXRhZGF0YSIgOiB7Cisg ICAgLy8gIlNhbXBsZSIgOiAxMDI0CisgIH0sCisKKyAgLy8gRGljdGlvbmFyeSBvZiBzeW1ib2xp YyBuYW1lcyBmb3IgdGhlIHVzZXItZGVmaW5lZCB0eXBlcyBvZgorICAvLyBhdHRhY2hlZCBmaWxl cy4gRWFjaCBlbnRyeSBtdXN0IG1hcCBhbiB1bmlxdWUgc3RyaW5nIHRvIGFuIHVuaXF1ZQorICAv LyBudW1iZXIgYmV0d2VlbiAxMDI0IGFuZCA2NTUzNS4gT3B0aW9uYWxseSwgYSBzZWNvbmQgYXJn dW1lbnQgY2FuCisgIC8vIHByb3ZpZGVkIHRvIHNwZWNpZnkgYSBNSU1FIGNvbnRlbnQgdHlwZSBm b3IgdGhlIGF0dGFjaG1lbnQuCisgICJVc2VyQ29udGVudFR5cGUiIDogeworICAgIC8vICJzYW1w bGUiIDogMTAyNAorICAgIC8vICJzYW1wbGUyIiA6IFsgMTAyNSwgImFwcGxpY2F0aW9uL3BkZiIg XQorICB9LAorCisgIC8vIE51bWJlciBvZiBzZWNvbmRzIHdpdGhvdXQgcmVjZWl2aW5nIGFueSBp bnN0YW5jZSBiZWZvcmUgYQorICAvLyBwYXRpZW50LCBhIHN0dWR5IG9yIGEgc2VyaWVzIGlzIGNv bnNpZGVyZWQgYXMgc3RhYmxlLgorICAiU3RhYmxlQWdlIiA6IDYwLAorCisgIC8vIEJ5IGRlZmF1 bHQsIE9ydGhhbmMgY29tcGFyZXMgQUVUIChBcHBsaWNhdGlvbiBFbnRpdHkgVGl0bGVzKSBpbiBh CisgIC8vIGNhc2UtaW5zZW5zaXRpdmUgd2F5LiBTZXR0aW5nIHRoaXMgb3B0aW9uIHRvICJ0cnVl IiB3aWxsIGVuYWJsZQorICAvLyBjYXNlLXNlbnNpdGl2ZSBtYXRjaGluZy4KKyAgIlN0cmljdEFl dENvbXBhcmlzb24iIDogZmFsc2UsCisKKyAgLy8gV2hlbiB0aGUgZm9sbG93aW5nIG9wdGlvbiBp cyAidHJ1ZSIsIHRoZSBNRDUgb2YgdGhlIERJQ09NIGZpbGVzCisgIC8vIHdpbGwgYmUgY29tcHV0 ZWQgYW5kIHN0b3JlZCBpbiB0aGUgT3J0aGFuYyBkYXRhYmFzZS4gVGhpcworICAvLyBpbmZvcm1h dGlvbiBjYW4gYmUgdXNlZCB0byBkZXRlY3QgZGlzayBjb3JydXB0aW9uLCBhdCB0aGUgcHJpY2UK KyAgLy8gb2YgYSBzbWFsbCBwZXJmb3JtYW5jZSBvdmVyaGVhZC4KKyAgIlN0b3JlTUQ1Rm9yQXR0 YWNobWVudHMiIDogdHJ1ZSwKKworICAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyBm b3IgYSBzaW5nbGUgQy1GSU5EIHJlcXVlc3QgYXQgdGhlCisgIC8vIFBhdGllbnQsIFN0dWR5IG9y IFNlcmllcyBsZXZlbC4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byAiMCIgbWVhbnMKKyAgLy8gbm8g bGltaXQuCisgICJMaW1pdEZpbmRSZXN1bHRzIiA6IDAsCisKKyAgLy8gVGhlIG1heGltdW0gbnVt YmVyIG9mIHJlc3VsdHMgZm9yIGEgc2luZ2xlIEMtRklORCByZXF1ZXN0IGF0IHRoZQorICAvLyBJ bnN0YW5jZSBsZXZlbC4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byAiMCIgbWVhbnMgbm8gbGltaXQu CisgICJMaW1pdEZpbmRJbnN0YW5jZXMiIDogMCwKKworICAvLyBJZiB0aGlzIG9wdGlvbiBpcyBz ZXQgdG8gInRydWUiIChkZWZhdWx0IGJlaGF2aW9yIHVudGlsIE9ydGhhbmMKKyAgLy8gMS4zLjIp LCBPcnRoYW5jIHdpbGwgbG9nIHRoZSByZXNvdXJjZXMgdGhhdCBhcmUgZXhwb3J0ZWQgdG8gb3Ro ZXIKKyAgLy8gRElDT00gbW9kYWxpdGllcyBvciBPcnRoYW5jIHBlZXJzLCBpbnNpZGUgdGhlIFVS SQorICAvLyAiL2V4cG9ydHMiLiBTZXR0aW5nIHRoaXMgb3B0aW9uIHRvICJmYWxzZSIgaXMgdXNl ZnVsIHRvIHByZXZlbnQKKyAgLy8gdGhlIGluZGV4IHRvIGdyb3cgaW5kZWZpbml0ZWx5IGluIGF1 dG8tcm91dGluZyB0YXNrcyAodGhpcyBpcyB0aGUKKyAgLy8gZGVmYXVsdCBiZWhhdmlvciBzaW5j ZSBPcnRoYW5jIDEuNC4wKS4KKyAgIkxvZ0V4cG9ydGVkUmVzb3VyY2VzIiA6IGZhbHNlLAorCisg IC8vIEVuYWJsZSBvciBkaXNhYmxlIEhUVFAgS2VlcC1BbGl2ZSAocGVyc2lzdGVudCBIVFRQCisg IC8vIGNvbm5lY3Rpb25zKS4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byAidHJ1ZSIgcHJldmVudHMg T3J0aGFuYworICAvLyBpc3N1ZSAjMzIgKCJIdHRwU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgbXVs dGlwbGUgSFRUUCByZXF1ZXN0cyBpbgorICAvLyB0aGUgc2FtZSBUQ1Agc3RyZWFtIiksIGJ1dCBj YW4gcG9zc2libHkgc2xvdyBkb3duIEhUVFAgY2xpZW50cworICAvLyB0aGF0IGRvIG5vdCBzdXBw b3J0IHBlcnNpc3RlbnQgY29ubmVjdGlvbnMuIFRoZSBkZWZhdWx0IGJlaGF2aW9yCisgIC8vIHVz ZWQgdG8gYmUgImZhbHNlIiBpbiBPcnRoYW5jIDw9IDEuNS4xLiBTZXR0aW5nIHRoaXMgb3B0aW9u IHRvCisgIC8vICJmYWxzZSIgaXMgYWxzbyByZWNvbW1lbmRlZCBpZiBPcnRoYW5jIGlzIGNvbXBp bGVkIGFnYWluc3QKKyAgLy8gTW9uZ29vc2UuCisgICJLZWVwQWxpdmUiIDogdHJ1ZSwKKworICAv LyBFbmFibGUgb3IgZGlzYWJsZSBOYWdsZSdzIGFsZ29yaXRobS4gT25seSB0YWtlbiBpbnRvCisg IC8vIGNvbnNpZGVyYXRpb24gaWYgT3J0aGFuYyBpcyBjb21waWxlZCB0byB1c2UgQ2l2ZXRXZWIu IEV4cGVyaW1lbnRzCisgIC8vIHNob3cgdGhhdCBiZXN0IHBlcmZvcm1hbmNlIGNhbiBiZSBvYnRh aW5lZCBieSBzZXR0aW5nIGJvdGgKKyAgLy8gIktlZXBBbGl2ZSIgYW5kICJUY3BOb0RlbGF5IiB0 byAidHJ1ZSIuIEJld2FyZSBob3dldmVyIG9mCisgIC8vIGNhdmVhdHM6IGh0dHBzOi8vZWtsaXR6 a2Uub3JnL3RoZS1jYXZlYXRzLW9mLXRjcC1ub2RlbGF5CisgICJUY3BOb0RlbGF5IiA6IHRydWUs CisKKyAgLy8gTnVtYmVyIG9mIHRocmVhZHMgdGhhdCBhcmUgdXNlZCBieSB0aGUgZW1iZWRkZWQg SFRUUCBzZXJ2ZXIuCisgICJIdHRwVGhyZWFkc0NvdW50IiA6IDUwLAorCisgIC8vIElmIHRoaXMg b3B0aW9uIGlzIHNldCB0byAiZmFsc2UiLCBPcnRoYW5jIHdpbGwgcnVuIGluIGluZGV4LW9ubHkK KyAgLy8gbW9kZS4gVGhlIERJQ09NIGZpbGVzIHdpbGwgbm90IGJlIHN0b3JlZCBvbiB0aGUgZHJp dmU6IE9ydGhhbmMKKyAgLy8gb25seSBpbmRleGVzIHRoZSBzbWFsbCBzdWJzZXQgb2YgdGhlIHNv LWNhbGxlZCAibWFpbiBESUNPTSB0YWdzIgorICAvLyBpbiBpdHMgU1FMIGRhdGFiYXNlLiBOb3Rl IHRoYXQgdGhpcyBvcHRpb24gbWlnaHQgcHJldmVudCB0aGUKKyAgLy8gdXBncmFkZSB0byBuZXdl ciB2ZXJzaW9ucyBvZiBPcnRoYW5jLiBBbHNvIG5vdGUgdGhhdCB0aGlzCisgIC8vIGJlaGF2aW9y IG1pZ2h0IG5vdCBiZSBhdmFpbGFibGUgd2l0aCB0aGUgc3RvcmFnZSBhcmVhIHBsdWdpbnMuCisg ICJTdG9yZURpY29tIiA6IHRydWUsCisKKyAgLy8gRElDT00gYXNzb2NpYXRpb25zIGluaXRpYXRl ZCBieSBMdWEgc2NyaXB0cyBhcmUga2VwdCBvcGVuIGFzIGxvbmcKKyAgLy8gYXMgbmV3IERJQ09N IGNvbW1hbmRzIGFyZSBpc3N1ZWQuIFRoaXMgb3B0aW9uIHNldHMgdGhlIG51bWJlciBvZgorICAv LyBzZWNvbmRzIG9mIGluYWN0aXZpdHkgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBjbG9z aW5nIGEKKyAgLy8gRElDT00gYXNzb2NpYXRpb24gdXNlZCBieSBMdWEuIElmIHNldCB0byAwLCB0 aGUgY29ubmVjdGlvbiBpcworICAvLyBjbG9zZWQgaW1tZWRpYXRlbHkuIFRoaXMgb3B0aW9uIGlz IG9ubHkgdXNlZCBpbiBMdWEgc2NyaXB0cy4KKyAgIkRpY29tQXNzb2NpYXRpb25DbG9zZURlbGF5 IiA6IDUsCisKKyAgLy8gTWF4aW11bSBudW1iZXIgb2YgcXVlcnkvcmV0cmlldmUgRElDT00gcmVx dWVzdHMgdGhhdCBhcmUKKyAgLy8gbWFpbnRhaW5lZCBieSBPcnRoYW5jLiBUaGUgbGVhc3QgcmVj ZW50bHkgdXNlZCByZXF1ZXN0cyBnZXQKKyAgLy8gZGVsZXRlZCBhcyBuZXcgcmVxdWVzdHMgYXJl IGlzc3VlZC4KKyAgIlF1ZXJ5UmV0cmlldmVTaXplIiA6IDEwMCwKKworICAvLyBXaGVuIGhhbmRs aW5nIGEgQy1GSU5EIFNDUCByZXF1ZXN0LCBzZXR0aW5nIHRoaXMgZmxhZyB0byAidHJ1ZSIKKyAg Ly8gd2lsbCBlbmFibGUgY2FzZS1zZW5zaXRpdmUgbWF0Y2ggZm9yIFBOIHZhbHVlIHJlcHJlc2Vu dGF0aW9uCisgIC8vIChzdWNoIGFzIFBhdGllbnROYW1lKS4gQnkgZGVmYXVsdCwgdGhlIHNlYXJj aCBpcworICAvLyBjYXNlLWluc2Vuc2l0aXZlLCB3aGljaCBkb2VzIG5vdCBmb2xsb3cgdGhlIERJ Q09NIHN0YW5kYXJkLgorICAiQ2FzZVNlbnNpdGl2ZVBOIiA6IGZhbHNlLAorCisgIC8vIENvbmZp Z3VyZSBQS0NTIzExIHRvIHVzZSBoYXJkd2FyZSBzZWN1cml0eSBtb2R1bGVzIChIU00pIGFuZAor ICAvLyBzbWFydCBjYXJkcyB3aGVuIGNhcnJ5aW5nIG9uIEhUVFBTIGNsaWVudCBhdXRoZW50aWNh dGlvbi4KKyAgLyoqCisgICAgICJQa2NzMTEiIDogeworICAgICAgICJNb2R1bGUiIDogIi91c3Iv bG9jYWwvbGliL2xpYmJlaWRwa2NzMTEuc28iLAorICAgICAgICJNb2R1bGUiIDogIkM6L1dpbmRv d3MvU3lzdGVtMzIvYmVpZHBrY3MxMS5kbGwiLAorICAgICAgICJQaW4iIDogIjEyMzQiLAorICAg ICAgICJWZXJib3NlIiA6IHRydWUKKyAgICAgfQorICAgKiovCisgIAorICAvLyBJZiBzZXQgdG8g ImZhbHNlIiwgT3J0aGFuYyB3aWxsIG5vdCBsb2FkIGl0cyBkZWZhdWx0IGRpY3Rpb25hcnkKKyAg Ly8gb2YgcHJpdmF0ZSB0YWdzLiBUaGlzIG1pZ2h0IGJlIG5lY2Vzc2FyeSBpZiB5b3UgY2Fubm90 IGltcG9ydCBhCisgIC8vIERJQ09NIGZpbGUgZW5jb2RlZCB1c2luZyB0aGUgSW1wbGljaXQgVlIg RW5kaWFuIHRyYW5zZmVyIHN5bnRheCwKKyAgLy8gYW5kIGNvbnRhaW5pbmcgcHJpdmF0ZSB0YWdz OiBTdWNoIGFuIGltcG9ydCBlcnJvciBtaWdodCBzdGVtIGZyb20KKyAgLy8gYSBiYWQgZGljdGlv bmFyeS4gWW91IGNhbiBzdGlsbCBsaXN0IHlvdXIgcHJpdmF0ZSB0YWdzIG9mCisgIC8vIGludGVy ZXN0IGluIHRoZSAiRGljdGlvbmFyeSIgY29uZmlndXJhdGlvbiBvcHRpb24gYmVsb3cuCisgICJM b2FkUHJpdmF0ZURpY3Rpb25hcnkiIDogdHJ1ZSwKKworICAvLyBMb2NhbGUgdG8gYmUgdXNlZCBi eSBPcnRoYW5jLiBDdXJyZW50bHksIG9ubHkgdXNlZCBpZiBjb21wYXJpbmcKKyAgLy8gc3RyaW5n cyBpbiBhIGNhc2UtaW5zZW5zaXRpdmUgd2F5LiBJdCBzaG91bGQgYmUgc2FmZSB0byBrZWVwIHRo aXMKKyAgLy8gdmFsdWUgdW5kZWZpbmVkLCB3aGljaCBsZXRzIE9ydGhhbmMgYXV0b2RldGVjdCB0 aGUgc3VpdGFibGUgbG9jYWxlLgorICAvLyAiTG9jYWxlIiA6ICJlbl9VUy5VVEYtOCIsCisKKyAg Ly8gUmVnaXN0ZXIgYSBuZXcgdGFnIGluIHRoZSBkaWN0aW9uYXJ5IG9mIERJQ09NIHRhZ3MgdGhh dCBhcmUga25vd24KKyAgLy8gdG8gT3J0aGFuYy4gRWFjaCBsaW5lIG11c3QgY29udGFpbiB0aGUg dGFnIChmb3JtYXR0ZWQgYXMgMgorICAvLyBoZXhhZGVjaW1hbCBudW1iZXJzKSwgdGhlIHZhbHVl IHJlcHJlc2VudGF0aW9uICgyIHVwY2FzZQorICAvLyBjaGFyYWN0ZXJzKSwgYSBuaWNrbmFtZSBm b3IgdGhlIHRhZywgcG9zc2libHkgdGhlIG1pbmltdW0KKyAgLy8gbXVsdGlwbGljaXR5ICg+IDAg d2l0aCBkZWZhdWx0cyB0byAxKSwgcG9zc2libHkgdGhlIG1heGltdW0KKyAgLy8gbXVsdGlwbGlj aXR5ICgwIG1lYW5zIGFyYml0cmFyeSBtdWx0aXBsaWNpdHksIGRlZmF1bHRzIHRvIDEpLCBhbmQK KyAgLy8gcG9zc2libHkgdGhlIFByaXZhdGUgQ3JlYXRvciAoZm9yIHByaXZhdGUgdGFncykuCisg IC8vIE5vdGU6IEZvciBwcml2YXRlIHRhZ3MsIHlvdSBzaG91bGQgb25seSBkZWNsYXJlIHRoZSBs b3dlciA4IGJpdHMKKyAgLy8gb2YgdGhlIGVsZW1lbnQgc2luY2UgdGhlIGhpZ2hlciA4IGJpdHMg bWF5IHZhcnkgZnJvbSBvbmUgZmlsZSB0bworICAvLyB0aGUgb3RoZXIuCisgICJEaWN0aW9uYXJ5 IiA6IHsKKyAgICAvLyAiMDAxNCwxMDIwIiA6IFsgIkRBIiwgIlZhbGlkYXRpb25FeHBpcnlEYXRl IiwgMSwgMSBdCisgICAgLy8gIjAwZTEsYzIiIDogWyAiVUkiLCAiUEVULUNUIE11bHRpIE1vZGFs aXR5IE5hbWUiLCAxLCAxLCAiRUxTQ0lOVDEiIF0KKyAgICAvLyAiNzA1MywwMyIgOiBbICJTVCIs ICJPcmlnaW5hbCBJbWFnZSBGaWxlbmFtZSIsIDEsIDEsICJQaGlsaXBzIFBFVCBQcml2YXRlIEdy b3VwIiBdCisgICAgLy8gIjIwMDEsNWYiIDogWyAiU1EiLCAiU3RhY2tTZXF1ZW5jZSIsIDEsIDEs ICJQaGlsaXBzIEltYWdpbmcgREQgMDAxIiBdCisgIH0sCisKKyAgLy8gTG9hZCBhIHNldCBvZiBl eHRlcm5hbCBESUNPTSBkaWN0aW9uYXJpZXMgaW4gb3JkZXIgdG8gcmVwbGFjZSB0aGUKKyAgLy8g ZGVmYXVsdCBkaWN0aW9uYXJpZXMuIFRoaXMgb3B0aW9uIG11c3QgY29udGFpbiBhIHNldCBvZiBm aWxlcyBpbgorICAvLyB0aGUgRENNVEsgZm9ybWF0LiBUaGUgb3JkZXIgb2YgdGhlIGRpY3Rpb25h cmllcyAqaXMqCisgIC8vIGltcG9ydGFudC4gVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgdG8gdHVy biBPcnRoYW5jIGludG8gYSBESUNPTkRFCisgIC8vIHNlcnZlci4gKG5ldyBpbiBPcnRoYW5jIDEu OS40KQorICAvKioKKyAgICAgIkV4dGVybmFsRGljdGlvbmFyaWVzIiA6IFsKKyAgICAgIi91c3Iv c2hhcmUvZGNtdGsvZGljb20uZGljIiwKKyAgICAgIi91c3Ivc2hhcmUvZGNtdGsvZGljb25kZS5k aWMiCisgICAgIF0KKyAgKiovCisKKyAgLy8gV2hldGhlciB0byBydW4gRElDT00gQy1NT1ZFIG9w ZXJhdGlvbnMgc3luY2hyb25vdXNseS4gSWYgc2V0IHRvCisgIC8vICJmYWxzZSIgKGFzeW5jaHJv bm91cyBtb2RlKSwgZWFjaCBpbmNvbWluZyBDLU1PVkUgcmVxdWVzdCByZXN1bHRzCisgIC8vIGlu IHRoZSBjcmVhdGlvbiBvZiBhIG5ldyBiYWNrZ3JvdW5kIGpvYi4gVXAgdG8gT3J0aGFuYyAxLjMu MiwgdGhlCisgIC8vIGltcGxpY2l0IGJlaGF2aW9yIHdhcyB0byB1c2Ugc3luY2hyb25vdXMgQy1N T1ZFICgidHJ1ZSIpLiBCZXR3ZWVuCisgIC8vIE9ydGhhbmMgMS40LjAgYW5kIDEuNC4yLCB0aGUg ZGVmYXVsdCBiZWhhdmlvciB3YXMgc2V0IHRvCisgIC8vIGFzeW5jaHJvbm91cyBDLU1PVkUgKCJm YWxzZSIpLiBTaW5jZSBPcnRoYW5jIDEuNS4wLCB0aGUgZGVmYXVsdAorICAvLyBiZWhhdmlvciBp cyBiYWNrIHRvIHN5bmNocm9ub3VzIEMtTU9WRSAoInRydWUiLCB3aGljaCBlbnN1cmVzCisgIC8v IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBPcnRoYW5jIDw9IDEuMy4yKS4KKyAgIlN5bmNo cm9ub3VzQ01vdmUiIDogdHJ1ZSwKKworICAvLyBNYXhpbXVtIG51bWJlciBvZiBjb21wbGV0ZWQg am9icyB0aGF0IGFyZSBrZXB0IGluIG1lbW9yeS4gQQorICAvLyBwcm9jZXNzaW5nIGpvYiBpcyBj b25zaWRlcmVkIGFzIGNvbXBsZXRlIG9uY2UgaXQgaXMgdGFnZ2VkIGFzCisgIC8vICJTdWNjZXNz IiBvciAiRmFpbHVyZSIuIFNpbmNlIE9ydGhhbmMgMS41LjAsIGEgdmFsdWUgb2YgIjAiCisgIC8v IGluZGljYXRlcyB0byBrZWVwIG5vIGpvYiBpbiBtZW1vcnkgKGkuZS4gam9icyBhcmUgcmVtb3Zl ZCBmcm9tCisgIC8vIHRoZSBoaXN0b3J5IGFzIHNvb24gYXMgdGhleSBhcmUgY29tcGxldGVkKSwg d2hpY2ggcHJldmVudHMgdGhlCisgIC8vIHVzZSBvZiBzb21lIGZlYXR1cmVzIG9mIE9ydGhhbmMg KHR5cGljYWxseSwgc3luY2hyb25vdXMgbW9kZSBpbgorICAvLyBSRVNUIEFQSSkgYW5kIHNob3Vs ZCBiZSBhdm9pZGVkIGZvciBub24tZGV2ZWxvcGVycy4KKyAgIkpvYnNIaXN0b3J5U2l6ZSIgOiAx MCwKKworICAvLyBXaGV0aGVyIHRvIHNhdmUgdGhlIGpvYnMgaW50byB0aGUgT3J0aGFuYyBkYXRh YmFzZS4gSWYgdGhpcworICAvLyBvcHRpb24gaXMgc2V0IHRvICJ0cnVlIiwgdGhlIHBlbmRpbmcv cnVubmluZy9jb21wbGV0ZWQgam9icyBhcmUKKyAgLy8gYXV0b21hdGljYWxseSByZWxvYWRlZCBm cm9tIHRoZSBkYXRhYmFzZSBpZiBPcnRoYW5jIGlzIHN0b3BwZWQKKyAgLy8gdGhlbiByZXN0YXJ0 ZWQgKGV4Y2VwdCBpZiB0aGUgIi0tbm8tam9icyIgY29tbWFuZC1saW5lIGFyZ3VtZW50CisgIC8v IGlzIHNwZWNpZmllZCkuIFRoaXMgb3B0aW9uIHNob3VsZCBiZSBzZXQgdG8gImZhbHNlIiBpZiBt dWx0aXBsZQorICAvLyBPcnRoYW5jIHNlcnZlcnMgYXJlIHVzaW5nIHRoZSBzYW1lIGRhdGFiYXNl IChlLmcuIGlmIFBvc3RncmVTUUwKKyAgLy8gb3IgTWFyaWFEQi9NeVNRTCBpcyB1c2VkKS4KKyAg IlNhdmVKb2JzIiA6IHRydWUsCisKKyAgLy8gU3BlY2lmaWVzIGhvdyBPcnRoYW5jIHJlYWN0cyB3 aGVuIGl0IHJlY2VpdmVzIGEgRElDT00gaW5zdGFuY2UKKyAgLy8gd2hvc2UgU09QSW5zdGFuY2VV SUQgaXMgYWxyZWFkeSBzdG9yZWQuIElmIHNldCB0byAidHJ1ZSIsIHRoZSBuZXcKKyAgLy8gaW5z dGFuY2UgcmVwbGFjZXMgdGhlIG9sZCBvbmUuIElmIHNldCB0byAiZmFsc2UiLCB0aGUgbmV3Cisg IC8vIGluc3RhbmNlIGlzIGRpc2NhcmRlZCBhbmQgdGhlIG9sZCBvbmUgaXMga2VwdC4gVXAgdG8g T3J0aGFuYworICAvLyAxLjQuMSwgdGhlIGltcGxpY2l0IGJlaGF2aW9yIGNvcnJlc3BvbmRlZCB0 byAiZmFsc2UiLgorICAiT3ZlcndyaXRlSW5zdGFuY2VzIiA6IGZhbHNlLAorCisgIC8vIE1heGlt dW0gbnVtYmVyIG9mIFpJUC9tZWRpYSBhcmNoaXZlcyB0aGF0IGFyZSBtYWludGFpbmVkIGJ5Cisg IC8vIE9ydGhhbmMsIGFzIGEgcmVzcG9uc2UgdG8gdGhlIGFzeW5jaHJvbm91cyBjcmVhdGlvbiBv ZiBhcmNoaXZlcy4KKyAgLy8gVGhlIGxlYXN0IHJlY2VudGx5IHVzZWQgYXJjaGl2ZXMgZ2V0IGRl bGV0ZWQgYXMgbmV3IGFyY2hpdmVzIGFyZQorICAvLyBnZW5lcmF0ZWQuIFRoaXMgb3B0aW9uIHdh cyBpbnRyb2R1Y2VkIGluIE9ydGhhbmMgMS41LjAsIGFuZCBoYXMKKyAgLy8gbm8gZWZmZWN0IG9u IHRoZSBzeW5jaHJvbm91cyBnZW5lcmF0aW9uIG9mIGFyY2hpdmVzLgorICAiTWVkaWFBcmNoaXZl U2l6ZSIgOiAxLAorCisgIC8vIFBlcmZvcm1hbmNlIHNldHRpbmcgdG8gc3BlY2lmeSBob3cgT3J0 aGFuYyBhY2Nlc3NlcyB0aGUgc3RvcmFnZQorICAvLyBhcmVhIGR1cmluZyBmaW5kIG9wZXJhdGlv bnMgKEMtRklORCwgL3Rvb2xzL2ZpbmQgQVBJIHJvdXRlIGFuZAorICAvLyBRSURPLVJTIGluIGRp Y29tLXdlYikuIFRocmVlIG1vZGVzIGFyZSBhdmFpbGFibGU6ICgxKSAiQWx3YXlzIgorICAvLyBh bGxvd3MgT3J0aGFuYyB0byByZWFkIHRoZSBzdG9yYWdlIGFyZWEgYXMgc29vbiBhcyBpdCBuZWVk cyBhbgorICAvLyBpbmZvcm1hdGlvbiB0aGF0IGlzIG5vdCBwcmVzZW50IGluIGl0cyBkYXRhYmFz ZSAoc2xvd2VzdCBtb2RlKSwKKyAgLy8gKDIpICJOZXZlciIgcHJldmVudHMgT3J0aGFuYyBmcm9t IGFjY2Vzc2luZyB0aGUgc3RvcmFnZSBhcmVhLCBhbmQKKyAgLy8gbWFrZXMgaXQgdXNlcyBleGNs dXNpdmVseSBpdHMgZGF0YWJhc2UgKGZhc3Rlc3QgbW9kZSksIGFuZCAoMykKKyAgLy8gIkFuc3dl cnMiIGFsbG93cyBPcnRoYW5jIHRvIHJlYWQgdGhlIHN0b3JhZ2UgYXJlYSB0byBnZW5lcmF0ZSBp dHMKKyAgLy8gYW5zd2VycywgYnV0IG5vdCB0byBmaWx0ZXIgdGhlIERJQ09NIHJlc291cmNlcyAo YmFsYW5jZSBiZXR3ZWVuCisgIC8vIHRoZSB0d28gbW9kZXMpLiBCeSBkZWZhdWx0LCB0aGUgbW9k ZSBpcyAiQWx3YXlzIiwgd2hpY2gKKyAgLy8gY29ycmVzcG9uZHMgdG8gdGhlIGJlaGF2aW9yIG9m IE9ydGhhbmMgPD0gMS41LjAuCisgICJTdG9yYWdlQWNjZXNzT25GaW5kIiA6ICJBbHdheXMiLAor CisgIC8vIFdoZXRoZXIgT3J0aGFuYyBtb25pdG9ycyBpdHMgbWV0cmljcyAobmV3IGluIE9ydGhh bmMgMS41LjQpLiBJZgorICAvLyBzZXQgdG8gInRydWUiLCB0aGUgbWV0cmljcyBjYW4gYmUgcmV0 cmlldmVkIGF0CisgIC8vICIvdG9vbHMvbWV0cmljcy1wcm9tZXRoZXVzIiBmb3JtZXR0ZWQgdXNp bmcgdGhlIFByb21ldGhldXMKKyAgLy8gdGV4dC1iYXNlZCBleHBvc2l0aW9uIGZvcm1hdC4KKyAg Ik1ldHJpY3NFbmFibGVkIiA6IHRydWUsCisKKyAgLy8gV2hldGhlciBjYWxscyB0byBVUkkgIi90 b29scy9leGVjdXRlLXNjcmlwdCIgaXMgZW5hYmxlZC4gU3RhcnRpbmcKKyAgLy8gd2l0aCBPcnRo YW5jIDEuNS44LCB0aGlzIFVSSSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBzZWN1cml0eS4K KyAgIkV4ZWN1dGVMdWFFbmFibGVkIiA6IGZhbHNlLAorCisgIC8vIFNldCB0aGUgdGltZW91dCB3 aGlsZSBzZXJ2aW5nIEhUVFAgcmVxdWVzdHMgYnkgdGhlIGVtYmVkZGVkIFdlYgorICAvLyBzZXJ2 ZXIsIGluIHNlY29uZHMuIFRoaXMgY29ycmVzcG9uZHMgdG8gb3B0aW9uCisgIC8vICJyZXF1ZXN0 X3RpbWVvdXRfbXMiIG9mIE1vbmdvb3NlL0NpdmV0d2ViLiBJdCB3aWxsIHNldCB0aGUgc29ja2V0 CisgIC8vIG9wdGlvbnMgIlNPX1JDVlRJTUVPIiBhbmQgIlNPX1NORFRJTUVPIiB0byB0aGUgc3Bl Y2lmaWVkIHZhbHVlLgorICAiSHR0cFJlcXVlc3RUaW1lb3V0IiA6IDMwLAorCisgIC8vIFNldCB0 aGUgZGVmYXVsdCBwcml2YXRlIGNyZWF0b3IgdGhhdCBpcyB1c2VkIGJ5IE9ydGhhbmMgd2hlbiBp dAorICAvLyBsb29rcyBmb3IgYSBwcml2YXRlIHRhZyBpbiBpdHMgZGljdGlvbmFyeSAoY2YuICJE aWN0aW9uYXJ5IgorICAvLyBvcHRpb24pLCBvciB3aGVuIGl0IGNyZWF0ZXMvbW9kaWZpZXMgYSBE SUNPTSBmaWxlIChuZXcgaW4gT3J0aGFuYyAxLjYuMCkuCisgICJEZWZhdWx0UHJpdmF0ZUNyZWF0 b3IiIDogIiIsCisKKyAgLy8gTWF4aW11bSBudW1iZXIgb2Ygc3RvcmFnZSBjb21taXRtZW50IHJl cG9ydHMgKGkuZS4gcmVjZWl2ZWQgZnJvbQorICAvLyByZW1vdGUgbW9kYWxpdGllcykgdG8gYmUg a2VwdCBpbiBtZW1vcnkgKG5ldyBpbiBPcnRoYW5jIDEuNi4wKS4KKyAgIlN0b3JhZ2VDb21taXRt ZW50UmVwb3J0c1NpemUiIDogMTAwLAorCisgIC8vIFdoZXRoZXIgT3J0aGFuYyB0cmFuc2NvZGVz IERJQ09NIGZpbGVzIHRvIGFuIHVuY29tcHJlc3NlZAorICAvLyB0cmFuc2ZlciBzeW50YXggb3Zl ciB0aGUgRElDT00gcHJvdG9jb2wsIGlmIHRoZSByZW1vdGUgbW9kYWxpdHkKKyAgLy8gZG9lcyBu b3Qgc3VwcG9ydCBjb21wcmVzc2VkIHRyYW5zZmVyIHN5bnRheGVzIChuZXcgaW4gT3J0aGFuYyAx LjcuMCkuCisgICJUcmFuc2NvZGVEaWNvbVByb3RvY29sIiA6IHRydWUsCisKKyAgLy8gSWYgc29t ZSBwbHVnaW4gdG8gZGVjb2RlL3RyYW5zY29kZSBESUNPTSBpbnN0YW5jZXMgaXMgaW5zdGFsbGVk LAorICAvLyB0aGlzIG9wdGlvbiBzcGVjaWZpZXMgd2hldGhlciB0aGUgYnVpbHQtaW4gZGVjb2Rl ci90cmFuc2NvZGVyIG9mCisgIC8vIE9ydGhhbmMgKHRoYXQgdXNlcyBEQ01USykgaXMgYXBwbGll ZCBiZWZvcmUgb3IgYWZ0ZXIgdGhlIHBsdWdpbnMsCisgIC8vIG9yIGlzIG5vdCBhcHBsaWVkIGF0 IGFsbCAobmV3IGluIE9ydGhhbmMgMS43LjApLiBUaGUgYWxsb3dlZAorICAvLyB2YWx1ZXMgZm9y IHRoaXMgb3B0aW9uIGFyZSAiQWZ0ZXIiIChkZWZhdWx0IHZhbHVlLCBjb3JyZXNwb25kaW5nCisg IC8vIHRvIHRoZSBiZWhhdmlvciBvZiBPcnRoYW5jIDw9IDEuNi4xKSwgIkJlZm9yZSIsIG9yICJE aXNhYmxlZCIuCisgICJCdWlsdGluRGVjb2RlclRyYW5zY29kZXJPcmRlciIgOiAiQWZ0ZXIiLAor CisgIC8vIElmIHRoaXMgb3B0aW9uIGlzIHNldCwgT3J0aGFuYyB3aWxsIHRyYW5zcGFyZW50bHkg dHJhbnNjb2RlIGFueQorICAvLyBpbmNvbWluZyBESUNPTSBpbnN0YW5jZSB0byB0aGUgZ2l2ZW4g dHJhbnNmZXIgc3ludGF4IGJlZm9yZQorICAvLyBzdG9yaW5nIGl0IGludG8gaXRzIGRhdGFiYXNl LiBCZXdhcmUgdGhhdCB0aGlzIG1pZ2h0IHJlc3VsdCBpbgorICAvLyBoaWdoIENQVSB1c2FnZSAo aWYgdHJhbnNjb2RpbmcgdG8gc29tZSBjb21wcmVzc2VkIHRyYW5zZmVyCisgIC8vIHN5bnRheCks IG9yIGluIGhpZ2hlciBkaXNrIGNvbnN1bXB0aW9uIChpZiB0cmFuc2NvZGluZyB0byBhbgorICAv LyB1bmNvbXByZXNzZWQgc3ludGF4KS4gQWxzbywgYmV3YXJlIHRoYXQgdHJhbnNjb2RpbmcgdG8g YSB0cmFuc2ZlcgorICAvLyBzeW50YXggd2l0aCBsb3NzeSBjb21wcmVzc2lvbiAobm90YWJseSBK UEVHKSB3aWxsIGNoYW5nZSB0aGUKKyAgLy8gIlNPUEluc3RhbmNlVUlEIiBESUNPTSB0YWcsIGFu ZCB0aHVzIHRoZSBPcnRoYW5jIGlkZW50aWZpZXIgYXQKKyAgLy8gdGhlIGluc3RhbmNlIGxldmVs LCB3aGljaCBtaWdodCBicmVhayBleHRlcm5hbCB3b3JrZmxvdy4KKyAgLyoqCisgICAgICJJbmdl c3RUcmFuc2NvZGluZyIgOiAiMS4yLjg0MC4xMDAwOC4xLjIiLAorICAqKi8KKworICAvLyBXaGV0 aGVyIGluZ2VzdCB0cmFuc2NvZGluZyBpcyBhcHBsaWVkIHRvIGluY29taW5nIERJQ09NIGluc3Rh bmNlcworICAvLyB0aGF0IGhhdmUgYW4gdW5jb21wcmVzc2VkIHRyYW5zZmVyIHN5bnRheCwgaS5l LiBMaXR0bGUgRW5kaWFuCisgIC8vIEltcGxpY2l0LCBMaXR0bGUgRW5kaWFuIEV4cGxpY2l0IG9y IEJpZyBFbmRpYW4gRXhwbGljaXQgKG5ldyBpbgorICAvLyBPcnRoYW5jIDEuOC4yKS4KKyAgIklu Z2VzdFRyYW5zY29kaW5nT2ZVbmNvbXByZXNzZWQiIDogdHJ1ZSwKKyAgCisgIC8vIFdoZXRoZXIg aW5nZXN0IHRyYW5zY29kaW5nIGlzIGFwcGxpZWQgdG8gaW5jb21pbmcgRElDT00gaW5zdGFuY2Vz CisgIC8vIHRoYXQgaGF2ZSBhIGNvbXByZXNzZWQgdHJhbnNmZXIgc3ludGF4IChuZXcgaW4gT3J0 aGFuYyAxLjguMikuCisgICJJbmdlc3RUcmFuc2NvZGluZ09mQ29tcHJlc3NlZCIgOiB0cnVlLAor ICAKKyAgLy8gVGhlIGNvbXByZXNzaW9uIGxldmVsIHRoYXQgaXMgdXNlZCB3aGVuIHRyYW5zY29k aW5nIHRvIG9uZSBvZiB0aGUKKyAgLy8gbG9zc3kvSlBFRyB0cmFuc2ZlciBzeW50YXhlcyAoaW50 ZWdlciBiZXR3ZWVuIDEgYW5kIDEwMCkuCisgICJEaWNvbUxvc3N5VHJhbnNjb2RpbmdRdWFsaXR5 IiA6IDkwLAorCisgIC8vIFdoZXRoZXIgImZzeW5jKCkiIGlzIGNhbGxlZCBhZnRlciBlYWNoIHdy aXRlIHRvIHRoZSBzdG9yYWdlIGFyZWEKKyAgLy8gKG5ldyBpbiBPcnRoYW5jIDEuNy40KS4gSWYg dGhpcyBvcHRpb24gaXMgc2V0IHRvICJ0cnVlIiwgT3J0aGFuYworICAvLyB3aWxsIHJ1biBtb3Jl IHNsb3dseSwgYnV0IHRoZSBESUNPTSBhcmUgZ3VhcmFudGVlZCB0byBiZQorICAvLyBpbW1lZGlh dGVseSB3cml0dGVuIHRvIHRoZSBkaXNrLiBUaGlzIG9wdGlvbiBvbmx5IG1ha2VzIHNlbnNlIGlm CisgIC8vIHRoZSBidWlsdGluIGZpbGVzeXN0ZW0gc3RvcmFnZSBhcmVhIGlzIHVzZWQuIEl0IGRl ZmF1bHRzIHRvCisgIC8vICJmYWxzZSIgaW4gT3J0aGFuYyA8PSAxLjcuMywgYW5kIHRvICJ0cnVl IiBpbiBPcnRoYW5jID49IDEuNy40LgorICAiU3luY1N0b3JhZ2VBcmVhIiA6IHRydWUsCisKKyAg Ly8gSWYgc3BlY2lmaWVkLCBvbiBjb21wYXRpYmxlIHN5c3RlbXMsIGNhbGwgIm1hbGxvcHQoTV9B UkVOQV9NQVgsCisgIC8vIC4uLikiIHdoaWxlIHN0YXJ0aW5nIE9ydGhhbmMuIFRoaXMgaGFzIHRo ZSBzYW1lIGVmZmVjdCBhdCBzZXR0aW5nCisgIC8vIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAi TUFMTE9DX0FSRU5BX01BWCIuIFRoaXMgYXZvaWRzIGxhcmdlCisgIC8vIGdyb3d0aCBpbiBSRVMg bWVtb3J5IGlmIHRoZSB0aHJlYWRzIG9mIHRoZSBlbWJlZGRlZCBIVFRQIHNlcnZlcgorICAvLyBo YXZlIHRvIGFsbG9jYXRlIGxhcmdlIGNodW5rcyBvZiBtZW1vcnkgKHR5cGljYWxseSB0aGUgY2Fz ZSB3aXRoCisgIC8vIGxhcmdlIERJQ09NIGZpbGVzKS4gQnkgc2V0dGluZyAiTWFsbG9jQXJlbmFN YXgiIHRvICJOIiwgdGhlc2UKKyAgLy8gdGhyZWFkcyBzaGFyZSAiTiIgbWVtb3J5IHBvb2xzIChr bm93biBhcyAiYXJlbmFzIikuIFNldHRpbmcgdGhpcworICAvLyBvcHRpb24gdG8gIjAiIGRvZXNu J3QgY2FsbCBtYWxsb3B0KCkiLCB3aGljaCB3YXMgdGhlIGJlaGF2aW9yIG9mCisgIC8vIE9ydGhh bmMgPD0gMS44LjEuCisgICJNYWxsb2NBcmVuYU1heCIgOiA1LAorCisgIC8vIERlaWRlbnRpZnkv YW5vbnltaXplIHRoZSBjb250ZW50cyBvZiB0aGUgbG9ncyAobm90YWJseSBDLUZJTkQsCisgIC8v IEMtR0VULCBhbmQgQy1NT1ZFIHF1ZXJpZXMgc3VibWl0dGVkIHRvIE9ydGhhbmMpIGFjY29yZGlu ZyB0bworICAvLyBUYWJsZSBFLjEtMSBvZiB0aGUgRElDT00gc3RhbmRhcmQgKG5ldyBpbiBPcnRo YW5jIDEuOC4yKQorICAiRGVpZGVudGlmeUxvZ3MiIDogdHJ1ZSwKKworICAvLyBJZiAiRGVpZGVu dGlmeUxvZ3MiIGlzIHRydWUsIHRoaXMgc2V0cyB0aGUgRElDT00gc3RhbmRhcmQgdG8KKyAgLy8g Zm9sbG93IGZvciB0aGUgZGVpZGVudGlmaWNhdGlvbi9hbm9ueW1pemF0aW9uIG9mIHRoZSBxdWVy eQorICAvLyBjb250ZW50cy4gUG9zc2libGUgdmFsdWVzIGFyZSAiMjAwOCIsICIyMDE3YyIgYW5k ICIyMDIxYiIgKG5ldworICAvLyBpbiBPcnRoYW5jIDEuOC4yKQorICAiRGVpZGVudGlmeUxvZ3NE aWNvbVZlcnNpb24iIDogIjIwMjFiIiwKKworICAvLyBNYXhpbXVtIGxlbmd0aCBvZiB0aGUgUERV IChQcm90b2NvbCBEYXRhIFVuaXQpIGluIHRoZSBESUNPTQorICAvLyBuZXR3b3JrIHByb3RvY29s LCBleHByZXNzZWQgaW4gYnl0ZXMuIFRoaXMgdmFsdWUgYWZmZWN0cyBib3RoCisgIC8vIE9ydGhh bmMgU0NVIGFuZCBPcnRoYW5jIFNDUC4gSXQgZGVmYXVsdHMgdG8gMTZLQi4gVGhlIGFsbG93ZWQK KyAgLy8gcmFuZ2UgaXMgWzQwOTYsMTMxMDcyXS4gKG5ldyBpbiBPcnRoYW5jIDEuOS4wKQorICAi TWF4aW11bVBkdUxlbmd0aCIgOiAxNjM4NCwKKworICAvLyBBcmJpdHJhcnkgaWRlbnRpZmllciBv ZiB0aGlzIE9ydGhhbmMgc2VydmVyIHdoZW4gc3RvcmluZyBpdHMKKyAgLy8gZ2xvYmFsIHByb3Bl cnRpZXMgaWYgYSBjdXN0b20gaW5kZXggcGx1Z2luIGlzIHVzZWQuIFRoaXMKKyAgLy8gaWRlbnRp ZmllciBpcyBvbmx5IHVzZWZ1bCBpbiB0aGUgY2FzZSBvZiBtdWx0aXBsZQorICAvLyByZWFkZXJz L3dyaXRlcnMsIGluIG9yZGVyIHRvIGF2b2lkIGNvbGxpc2lvbnMgYmV0d2VlbiBtdWx0aXBsZQor ICAvLyBPcnRoYW5jIHNlcnZlcnMuIElmIHVuc2V0LCB0aGlzIGlkZW50aWZpZXIgaXMgdGFrZW4g YXMgYSBTSEEtMQorICAvLyBoYXNoIGRlcml2ZWQgZnJvbSB0aGUgTUFDIGFkZHJlc3NlcyBvZiB0 aGUgbmV0d29yayBpbnRlcmZhY2VzLAorICAvLyBhbmQgZnJvbSB0aGUgQUVUIGFuZCBUQ1AgcG9y dHMgdXNlZCBieSBPcnRoYW5jLiBNYW51YWxseSBzZXR0aW5nCisgIC8vIHRoaXMgb3B0aW9uIGlz IG5lZWRlZCBpbiBEb2NrZXIvS3ViZXJuZXRlcyBlbnZpcm9ubWVudHMuIChuZXcgaW4KKyAgLy8g T3J0aGFuYyAxLjkuMikKKyAgLyoqCisgICAgICJEYXRhYmFzZVNlcnZlcklkZW50aWZpZXIiIDog Ik9ydGhhbmMxIiwKKyAgKiovCisKKyAgLy8gV2hldGhlciBPcnRoYW5jIHByb3RlY3RzIHRoZSBt b2RpZmljYXRpb24gb2YgbWV0YWRhdGEgYW5kCisgIC8vIGF0dGFjaG1lbnRzIHVzaW5nIHJldmlz aW9ucywgd2hpY2ggaXMgZG9uZSB1c2luZyB0aGUgSFRUUCBoZWFkZXJzCisgIC8vICJFVGFnIiwg IklmLU1hdGNoIiBhbmQgIklmLU5vbmUtTWF0Y2giIGluIHRoZSBjYWxscyB0byB0aGUgUkVTVAor ICAvLyBBUEkuIFRoaXMgaXMgbmVlZGVkIHRvIGhhbmRsZSBjb2xsaXNpb25zIGJldHdlZW4gY29u Y3VycmVudAorICAvLyBtb2RpZmljYXRpb25zIGluIHRoZSBjYXNlIG9mIG11bHRpcGxlIHdyaXRl cnMuIFRoZSBkYXRhYmFzZQorICAvLyBiYWNrLWVuZCBtdXN0IHN1cHBvcnQgdGhpcyBvcHRpb24s IHdoaWNoIGlzIG5vdGFibHkgKm5vdCogeWV0IHRoZQorICAvLyBjYXNlIG9mIHRoZSBidWlsdC1p biBTUUxpdGUgaW5kZXguIChuZXcgaW4gT3J0aGFuYyAxLjkuMikKKyAgIkNoZWNrUmV2aXNpb25z IiA6IGZhbHNlLAorCisgIC8vIFdoZXRoZXIgT3J0aGFuYyBzdHJlYW1zIFpJUCBhcmNoaXZlL21l ZGlhIHRvIHRoZSBIVFRQCisgIC8vIGNsaWVudC4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byAiZmFs c2UiIGNvcnJlc3BvbmRzIHRvIHRoZQorICAvLyBiZWhhdmlvciBvZiBPcnRoYW5jIDw9IDEuOS4z OiBUaGUgWklQIGlzIGZpcnN0IGVudGlyZWx5IHdyaXR0ZW4KKyAgLy8gdG8gYSB0ZW1wb3Jhcnkg ZmlsZSwgdGhlbiBzZW50IHRvIHRoZSBjbGllbnQgKHdoaWNoIG5lY2Vzc2l0YXRlcworICAvLyBk aXNrIHNwYWNlIGFuZCBtaWdodCBsZWFkIHRvIEhUVFAgdGltZW91dHMgb24gbGFyZ2UgYXJjaGl2 ZXMpLiBJZgorICAvLyBzZXQgdG8gInRydWUiLCB0aGUgY2h1bmtzIG9mIHRoZSBaSVAgZmlsZSBh cmUgcHJvZ3Jlc3NpdmVseSBzZW50CisgIC8vIGFzIHNvb24gYXMgb25lIERJQ09NIGZpbGUgZ2V0 cyBjb21wcmVzc2VkIChuZXcgaW4gT3J0aGFuYyAxLjkuNCkKKyAgIlN5bmNocm9ub3VzWmlwU3Ry ZWFtIiA6IHRydWUsCisKKyAgLy8gRGVmYXVsdCBudW1iZXIgb2YgbG9hZGVyIHRocmVhZHMgd2hl biBnZW5lcmF0aW5nIFppcCBhcmNoaXZlL21lZGlhLgorICAvLyBBIHZhbHVlIG9mIDAgbWVhbnMg cmVhZGluZyBhbmQgd3JpdGluZyBhcmUgcGVyZm9ybWVkIGluIHNlcXVlbmNlCisgIC8vIChkZWZh dWx0IGJlaGF2aW91cikuICBBIHZhbHVlID4gMSBpcyBtZWFuaW5nZnVsIG9ubHkgaWYgdGhlIHN0 b3JhZ2UKKyAgLy8gaXMgYSBkaXN0cmlidXRlZCBuZXR3b3JrIHN0b3JhZ2UgKGUuZyBvYmplY3Qg c3RvcmFnZSBwbHVnaW4pLgorICAvLyAobmV3IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGluIE9ydGhh bmMgMS4xMC4wKQorICAiWmlwTG9hZGVyVGhyZWFkcyI6IDAsCisKKyAgLy8gRXh0cmEgTWFpbiBE aWNvbSB0YWdzIHRoYXQgYXJlIHN0b3JlZCBpbiBEQiB0b2dldGhlciB3aXRoIGFsbCBkZWZhdWx0 CisgIC8vIE1haW4gRGljb20gdGFncyB0aGF0IGFyZSBhbHJlYWR5IHN0b3JlZCAoVE9ETzogc2Vl IGJvb2sgbmV3IHBhZ2UpLiAKKyAgLy8gKG5ldyBpbiBPcnRoYW5jIDEuMTEuMCkKKyAgLy8gU2Vx dWVuY2VzIHRhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQuCisgIC8qKgorICAiRXh0cmFNYWluRGljb21U YWdzIiA6IHsKKyAgICAiSW5zdGFuY2UiIDogWworICAgICAgIlJvd3MiLAorICAgICAgIkNvbHVt bnMiLAorICAgICAgIkltYWdlVHlwZSIsCisgICAgICAiU09QQ2xhc3NVSUQiLAorICAgICAgIkNv bnRlbnREYXRlIiwKKyAgICAgICJDb250ZW50VGltZSIsCisgICAgICAiRnJhbWVPZlJlZmVyZW5j ZVVJRCIsCisgICAgICAiUGl4ZWxTcGFjaW5nIiwKKyAgICAgICJTcGVjaWZpY0NoYXJhY3RlclNl dCIsCisgICAgICAiQml0c0FsbG9jYXRlZCIKKyAgICBdLAorICAgICJTZXJpZXMiIDogW10sCisg ICAgIlN0dWR5IjogW10sCisgICAgIlBhdGllbnQiOiBbXQorICB9LAorICAqLworCisgIC8vIEVu YWJsZXMvZGlzYWJsZXMgd2FybmluZ3MgaW4gdGhlIGxvZ3MuCisgIC8vICJ0cnVlIiBlbmFibGVz IGEgd2FybmluZy4gIEFsbCB3YXJuaW5ncyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0CisgIC8vIFRP RE86IHNlZSBib29rIG5ldyBwYWdlCisgIC8vIChuZXcgaW4gT3J0aGFuYyAxLjExLjApCisgICJX YXJuaW5ncyIgOiB7CisgICAgLy8gQSAiUmVxdWVzdGVkVGFncyIgaGFzIGJlZW4gcmVhZCBmcm9t IHN0b3JhZ2Ugd2hpY2ggaXMgc2xvd2VyIHRoYW4KKyAgICAvLyByZWFkaW5nIGl0IGZyb20gREIu CisgICAgLy8gWW91IG1pZ2h0IHdhbnQgdG8gc3RvcmUgdGhpcyB0YWcgaW4gRXh0cmFNYWluRGlj b21UYWdzIHRvIGJ1aWxkCisgICAgLy8gdGhlIHJlc3BvbnNlIGZhc3Rlci4KKyAgICAiVzAwMV9U YWdzQmVpbmdSZWFkRnJvbVN0b3JhZ2UiOiB0cnVlLAorICAgIAorICAgIC8vIFJldHJpZXZpbmcg YSBsaXN0IG9mIE1haW4gZGljb20gdGFncyBmcm9tIGEgcmVzb3VyY2UgdGhhdCBoYXMgYmVlbgor ICAgIC8vIHNhdmVkIHdpdGggYW5vdGhlciAiRXh0cmFNYWluRGljb21UYWdzIiBjb25maWd1cmF0 aW9uIHdoaWNoIG1lYW5zIHRoYXQKKyAgICAvLyB5b3VyIHJlc3BvbnNlIG1pZ2h0IGJlIGluY29t cGxldGUvaW5jb25zaXN0ZW50LgorICAgIC8vIFlvdSBzaG91bGQgY2FsbCBwYXRpZW50c3xzdHVk aWVzfHNlcmllc3xpbnN0YW5jZXMvLi4vcmVjb25zdHJ1Y3QgdG8gcmVidWlsZAorICAgIC8vIHRo ZSBEQi4gIFRPRE86IGFsc28gY2hlY2sgZm9yICJyZWJ1aWxkIERCIiBwbHVnaW4KKyAgICAiVzAw Ml9JbmNvbnNpc3RlbnREaWNvbVRhZ3NJbkRiIjogdHJ1ZQorICB9CisKK30KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvT3J0aGFuYy9maWxlcy9vcnRoYW5jL3J1biBiL3NyY3BrZ3MvT3J0aGFuYy9maWxl cy9vcnRoYW5jL3J1bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAuLjMy MDUwYmYyOTI4YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvT3J0aGFuYy9maWxlcy9vcnRo YW5jL3J1bgpAQCAtMCwwICsxLDMyIEBACisjIS9iaW4vc2gKK09QVFM9IiIKK1sgLXIgY29uZiBd ICYmIC4gLi9jb25mCisKKzogJHtVU0VSOj0iX29ydGhhbmMifQorCis6ICR7Q09ORklHRklMRTo9 Ii9ldGMvb3J0aGFuYy9Db25maWd1cmF0aW9uLmpzb24ifQorWyAtciAkQ09ORklHRklMRSBdIHx8 IGV4aXQgMQorCis6ICR7T1JUSEFOQ1NUT1JBR0U6PSIvdmFyL2xpYi9PcnRoYW5jU3RvcmFnZSJ9 CitpZiBbICEgLWUgJE9SVEhBTkNTVE9SQUdFIF0KK3RoZW4KKwlta2RpciAtcG0gMDc1MCAkT1JU SEFOQ1NUT1JBR0UgJiYKKwljaG93biAke1VTRVJ9OiR7VVNFUn0gJE9SVEhBTkNTVE9SQUdFIHx8 CisJZXhpdCAxCitmaQorCisjIEVuYWJsZSBsb2cKK2lmIFsgLW4gJExPRyBdOyB0aGVuCisJOiAk e0xPR0RJUjo9Ii9sb2cvb3J0aGFuYyJ9CisJT1BUUz0iJHtPUFRTfS0tbG9nZGlyPSRMT0dESVIg IgorCisJaWYgWyAhIC1lICRMT0dESVIgXTsgdGhlbgorCQlta2RpciAtcG0gMDc1MCAkTE9HRElS ICYmCisJCWNob3duICR7VVNFUn06JHtVU0VSfSAkTE9HRElSIHx8CisJCWV4aXQgMQorCWZpCitm aQorCisjIFNldCBPUFRTIG9uIGNvbmYgZmlsZSBmb3IgYWRpdGlvbmFsIHBhcmFtZXRlcnMKK09Q VFM9IiRPUFRTJENPTkZJR0ZJTEUiCitleGVjIGNocHN0IC11ICR7VVNFUn06JHtVU0VSfSBPcnRo YW5jICRPUFRTCmRpZmYgLS1naXQgYS9zcmNwa2dzL09ydGhhbmMvdGVtcGxhdGUgYi9zcmNwa2dz L09ydGhhbmMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5kNWNiNjE1MTQ2MTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL09ydGhhbmMvdGVtcGxh dGUKQEAgLTAsMCArMSw1NyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnT3J0aGFuYycKK3BrZ25h bWU9T3J0aGFuYwordmVyc2lvbj0xLjExLjEKK3JldmlzaW9uPTEKK2J1aWxkX3dya3NyYz0iT3J0 aGFuY1NlcnZlciIKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURBTExPV19E T1dOTE9BRFM9T04gLURTVEFUSUNfQlVJTEQ9T0ZGIC1ERENNVEtfRElSPS91c3IvbGliL2NtYWtl L2RjbXRrIgoraG9zdG1ha2VkZXBlbmRzPSJweXRob24zIHVuemlwIHRhciBkb3h5Z2VuIGRjbXRr IgorbWFrZWRlcGVuZHM9ImxpYnV1aWQtZGV2ZWwgYm9vc3QtZGV2ZWwgbGliY3VybC1kZXZlbAor IGxpYmRjbXRrLWRldmVsIGd0ZXN0LWRldmVsIGxpYnBuZy1kZXZlbCBsaWJqcGVnLXR1cmJvLWRl dmVsCisgc3FsaXRlLWRldmVsIGxpYmNpdmV0d2ViLWRldmVsIG9wZW5zc2wtZGV2ZWwganNvbmNw cC1kZXZlbCBsdWEtZGV2ZWwKKyBwdWdpeG1sLWRldmVsIgorZGVwZW5kcz0iZGNtdGsiCitzaG9y dF9kZXNjPSJMaWdodHdlaWdodCBSRVNUZnVsIERJQ09NIHNlcnZlciIKK21haW50YWluZXI9IkNh cmxvcyBFLiBHYWxsbyBGLiA8Z2Nhcmxvc0BkaXNyb290Lm9yZz4iCitsaWNlbnNlPSJHUEwtMy4w LW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNvbS9pbmRl eC5waHAiCitkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNvbS9kb3dubG9h ZHMvZ2V0LnBocD9wYXRoPS9vcnRoYW5jL09ydGhhbmMtJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVj a3N1bT1hNjM0YWRjOWY2ZGQwYTc0ZWJhZWI0MTU2NTdiNWYzZDUxODIyYjRmYjM0NzY0MWRjNDRm M2JmOGI1YjU2ZGI1CitpZ25vcmVfZWxmX2RpcnM9Ii91c3Ivc2hhcmUvb3J0aGFuYyIKK3B5dGhv bl92ZXJzaW9uPTMKKworIyBDcmVhdGUgJ19vcnRoYW5jJyB1c2VyIGZvciB0aGUgc2VydmVyCitz eXN0ZW1fYWNjb3VudHM9Il9vcnRoYW5jIgorX29ydGhhbmNfZGVzY3I9Ik9ydGhhbmMgc2VydmVy IHVzZXIiCitjb25mX2ZpbGVzPSJldGMvb3J0aGFuYy9Db25maWd1cmF0aW9uLmpzb24iCisKK3Bv c3RfaW5zdGFsbCgpIHsKKwljZCAke0RFU1RESVJ9CisJbXYgdXNyL3NiaW4vKiB1c3IvYmluLwor CXJtIC1yZiB1c3Ivc2JpbgorCisJIyBSZW1vdmUgZ2FyYmFnZQorCXJtIC1yZiBidWlsZGRpcgor CisJdnN2IG9ydGhhbmMKKwl2aW5zdGFsbCAke0ZJTEVTRElSfS9Db25maWd1cmF0aW9uLmpzb24g MDY0NCBldGMvb3J0aGFuYworfQorCitPcnRoYW5jLWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5k cys9IiAke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9 IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5j bHVkZQorCQl2bW92ZSB1c3Ivc2hhcmUvZG9jCisJCXZta2RpciB1c3Ivc2hhcmUvb3J0aGFuYy9P cnRoYW5jRnJhbWV3b3JrIDA3NTUKKwkJdmNvcHkgJHt3cmtzcmN9L09ydGhhbmNGcmFtZXdvcmsg dXNyL3NoYXJlL29ydGhhbmMKKwl9Cit9CisKK09ydGhhbmMtcGx1Z2luc19wYWNrYWdlKCkgewor CWRlcGVuZHMrPSIgJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXNob3J0 X2Rlc2MrPSIgLSBvZmZpY2lhbCBwbHVnaW5zIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1 c3Ivc2hhcmUvb3J0aGFuYy9wbHVnaW5zCisJfQorfQoKRnJvbSA2MzdkNWYxNWU4YTRlMzkzMGJk ODZiMDIzYmE2ZmFhMGM2MzViMjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBiaW5n dWxvIDxnY2FybG9zQGRpc3Jvb3Qub3JnPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTY6MjQ6NTkg LTAzMDAKU3ViamVjdDogW1BBVENIIDA0LzE0XSBOZXcgcGFja2FnZTogT3J0aGFuYy1EaWNvbVdl Yi0xLjkKCi0tLQogc3JjcGtncy9PcnRoYW5jLURpY29tV2ViL3RlbXBsYXRlIHwgMjIgKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL09ydGhhbmMtRGljb21XZWIvdGVtcGxhdGUKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL09ydGhhbmMtRGljb21XZWIvdGVtcGxhdGUgYi9zcmNwa2dzL09ydGhhbmMt RGljb21XZWIvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5lMTMwMGM0ZDQ1NTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL09ydGhhbmMtRGljb21X ZWIvdGVtcGxhdGUKQEAgLTAsMCArMSwyMiBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnT3J0aGFu Yy1EaWNvbVdlYicKK3BrZ25hbWU9T3J0aGFuYy1EaWNvbVdlYgordmVyc2lvbj0xLjkKK3Jldmlz aW9uPTEKK3dya3NyYz0iJHtwa2duYW1lLy19LSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1jbWFr ZQorY29uZmlndXJlX2FyZ3M9Ii1EQUxMT1dfRE9XTkxPQURTPU9OIC1ET1JUSEFOQ19GUkFNRVdP UktfV09VUkNFPXBhdGgKKyAtRE9SVEhBTkNfRlJBTUVXT1JLX1JPT1Q9L3Vzci9zaGFyZS9vcnRo YW5jL09ydGhhbmNGcmFtZXdvcmsvU291cmNlcyIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIHVuemlw IHB5dGhvbjMiCittYWtlZGVwZW5kcz0iT3J0aGFuYy1kZXZlbD49MS4xMS4xIHB1Z2l4bWwtZGV2 ZWwgZ3Rlc3QtZGV2ZWwganNvbmNwcC1kZXZlbAorIGxpYnV1aWQtZGV2ZWwgYm9vc3QtZGV2ZWwi CitzaG9ydF9kZXNjPSJQbHVnaW4gdG8gYnJpbmcgc3VwcG9ydCBvZiB0aGUgRElDT013ZWIgc3Rh bmRhcmQgaW50byBPcnRoYW5jIgorbWFpbnRhaW5lcj0iQ2FybG9zIEUuIEdhbGxvIEYuIDxnY2Fy bG9zQGRpc3Jvb3Qub3JnPiIKK2xpY2Vuc2U9IkFHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9 Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNvbS9zdGF0aWMucGhwP3BhZ2U9ZGljb213ZWIi CitkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNvbS9kb3dubG9hZHMvZ2V0 LnBocD9wYXRoPS9wbHVnaW4tZGljb20td2ViLyR7cGtnbmFtZS8tfS0ke3ZlcnNpb259LnRhci5n eiIKK2NoZWNrc3VtPWI2OGZmOWIzZGUzYzNkY2EwZWE3OTc4MjIzYjEwYWZkODgxOWZjODA5ZWYz MmM0NzZjOWI3MWU4ODMxY2IxN2YKK2lnbm9yZV9lbGZfZGlycz0iL3Vzci9zaGFyZS9vcnRoYW5j IgorCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgQ09QWUlORworfQoKRnJvbSA2ZmFjMGMw MGE3ZjYyZGVlYTViMjliODY5ZWY0Yjg3MmNhMzdkOGJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBiaW5ndWxvIDxnY2FybG9zQGRpc3Jvb3Qub3JnPgpEYXRlOiBNb24sIDggQXVnIDIw MjIgMTY6MjU6MTUgLTAzMDAKU3ViamVjdDogW1BBVENIIDA1LzE0XSBOZXcgcGFja2FnZTogT3J0 aGFuYy1Qb3N0Z3JlU1FMLTQuMAoKLS0tCiBzcmNwa2dzL09ydGhhbmMtUG9zdGdyZVNRTC90ZW1w bGF0ZSB8IDIzICsrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5z ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvT3J0aGFuYy1Qb3N0Z3JlU1FM L3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcnRoYW5jLVBvc3RncmVTUUwvdGVtcGxh dGUgYi9zcmNwa2dzL09ydGhhbmMtUG9zdGdyZVNRTC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYzMGEzMzNhNjJmZQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvT3J0aGFuYy1Qb3N0Z3JlU1FML3RlbXBsYXRlCkBAIC0wLDAgKzEsMjMgQEAKKyMg VGVtcGxhdGUgZmlsZSBmb3IgJ09ydGhhbmMtUG9zdGdyZVNRTCcKK3BrZ25hbWU9T3J0aGFuYy1Q b3N0Z3JlU1FMCit2ZXJzaW9uPTQuMAorcmV2aXNpb249MQord3Jrc3JjPSIke3BrZ25hbWUvLX0t JHt2ZXJzaW9ufSIKK2J1aWxkX3dya3NyYz0iUG9zdGdyZVNRTCIKK2J1aWxkX3N0eWxlPWNtYWtl Citjb25maWd1cmVfYXJncz0iLURBTExPV19ET1dOTE9BRFM9T04gLURPUlRIQU5DX0ZSQU1FV09S S19XT1VSQ0U9cGF0aAorIC1ET1JUSEFOQ19GUkFNRVdPUktfUk9PVD0vdXNyL3NoYXJlL29ydGhh bmMvT3J0aGFuY0ZyYW1ld29yay9Tb3VyY2VzIgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgdW56aXAg cHl0aG9uMyIKK21ha2VkZXBlbmRzPSJPcnRoYW5jLWRldmVsPj0xLjExLjEgb3BlbnNzbC1kZXZl bCBndGVzdC1kZXZlbCB6bGliLWRldmVsCisganNvbmNwcC1kZXZlbCBsaWJ1dWlkLWRldmVsIGJv b3N0LWRldmVsIHBvc3RncmVzcWwtbGlicy1kZXZlbCIKK3Nob3J0X2Rlc2M9IlBvc3RncmVTUUwg ZGF0YWJhc2UgcGx1Z2luIGZvciBPcnRoYW5jIgorbWFpbnRhaW5lcj0iQ2FybG9zIEUuIEdhbGxv IEYuIDxnY2FybG9zQGRpc3Jvb3Qub3JnPiIKK2xpY2Vuc2U9IkFHUEwtMy4wLW9yLWxhdGVyIgor aG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNvbS9zdGF0aWMucGhwP3BhZ2U9 ZGljb213ZWIiCitkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNvbS9kb3du bG9hZHMvZ2V0LnBocD9wYXRoPS9wbHVnaW4tcG9zdGdyZXNxbC8ke3BrZ25hbWUvLX0tJHt2ZXJz aW9ufS50YXIuZ3oiCitjaGVja3N1bT1hNTA0OWVkOGE1ZDZiYjhiNjUyOTYzNmNmMWQ5ZjYzMWQx YjYxZjZlMGJiZmRjNmFjY2FlNDVhZGVkNDJiYWM1CitpZ25vcmVfZWxmX2RpcnM9Ii91c3Ivc2hh cmUvb3J0aGFuYyIKKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIC4uL0NPUFlJTkcKK30K CkZyb20gMTlkYTM3Njc4YjJiYmFjOWIwNDkyNjNkODM5NTZmNjNjNDVhYzg3MiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogYmluZ3VsbyA8Z2Nhcmxvc0BkaXNyb290Lm9yZz4KRGF0ZTog TW9uLCA4IEF1ZyAyMDIyIDE2OjI1OjQ4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCAwNi8xNF0gTmV3 IHBhY2thZ2U6IE9ydGhhbmMtUHl0aG9uLTQuMAoKLS0tCiBzcmNwa2dzL09ydGhhbmMtUHl0aG9u L3RlbXBsYXRlIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAy MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9PcnRoYW5jLVB5dGhv bi90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3J0aGFuYy1QeXRob24vdGVtcGxhdGUg Yi9zcmNwa2dzL09ydGhhbmMtUHl0aG9uL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uMzQ3YzYyMmM5ZWZmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9PcnRoYW5jLVB5dGhvbi90ZW1wbGF0ZQpAQCAtMCwwICsxLDIzIEBACisjIFRlbXBsYXRlIGZp bGUgZm9yICdPcnRoYW5jLVB5dGhvbicKK3BrZ25hbWU9T3J0aGFuYy1QeXRob24KK3ZlcnNpb249 NC4wCityZXZpc2lvbj0xCit3cmtzcmM9IiR7cGtnbmFtZS8tfS0ke3ZlcnNpb259IgorYnVpbGRf c3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItREFMTE9XX0RPV05MT0FEUz1PTiAtRE9SVEhB TkNfRlJBTUVXT1JLX1dPVVJDRT1wYXRoCisgLURPUlRIQU5DX0ZSQU1FV09SS19ST09UPS91c3Iv c2hhcmUvb3J0aGFuYy9PcnRoYW5jRnJhbWV3b3JrL1NvdXJjZXMKKyAtRFBZVEhPTl9WRVJTSU9O PTMuMTAiCitob3N0bWFrZWRlcGVuZHM9InRhciB1bnppcCBweXRob24zPj0zLjEwPDMuMTEgcGtn LWNvbmZpZyIKK21ha2VkZXBlbmRzPSJPcnRoYW5jLWRldmVsPj0xLjExLjEganNvbmNwcC1kZXZl bCBsaWJ1dWlkLWRldmVsIGJvb3N0LWRldmVsCisgcHl0aG9uMy1kZXZlbD49My4xMDwzLjExIgor c2hvcnRfZGVzYz0iUHl0aG9uIHBsdWdpbiBmb3IgT3J0aGFuYyIKK21haW50YWluZXI9IkNhcmxv cyBFLiBHYWxsbyBGLiA8Z2Nhcmxvc0BkaXNyb290Lm9yZz4iCitsaWNlbnNlPSJBR1BMLTMuMC1v ci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL2Jvb2sub3J0aGFuYy1zZXJ2ZXIuY29tL3BsdWdp bnMvcHl0aG9uLmh0bWwiCitkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3Lm9ydGhhbmMtc2VydmVyLmNv bS9kb3dubG9hZHMvZ2V0LnBocD9wYXRoPS9wbHVnaW4tcHl0aG9uLyR7cGtnbmFtZS8tfS0ke3Zl cnNpb259LnRhci5neiIKK2NoZWNrc3VtPTNlNTQ3M2FiYjgxNDRjOWM4OTEwMWEwOWU3MzM3MzJj YWMxOTQyM2JmODQ3Y2ZhZDUxZmQyYmZmYWIwZTE2NDcKK2lnbm9yZV9lbGZfZGlycz0iL3Vzci9z aGFyZS9vcnRoYW5jIgorCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgQ09QWUlORworfQoK RnJvbSA3Mjk4M2E0ZjA4MDdlYzg3ZThkMDM2ODgxMDZkODg5OWJjZGZkODE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBiaW5ndWxvIDxnY2FybG9zQGRpc3Jvb3Qub3JnPgpEYXRlOiBN b24sIDggQXVnIDIwMjIgMTY6MjQ6MTYgLTAzMDAKU3ViamVjdDogW1BBVENIIDA3LzE0XSBOZXcg cGFja2FnZTogZGNtdGstMy42LjcKCi0tLQogY29tbW9uL3NobGlicyB8IDEgLQogMSBmaWxlIGNo YW5nZWQsIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9u L3NobGlicwppbmRleCAzOWRkNzEyZWRiMjcuLmQzZmQ1ODg3NDcwMyAxMDA2NDQKLS0tIGEvY29t bW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC00MTg2LDcgKzQxODYsNiBAQCBsaWJx dHNwZWxsLXF0NS5zby4xIHF0c3BlbGwtMS4wLjFfMQogbGlib3BlbnNtdHBkLnNvLjAgbGlib3Bl bnNtdHBkLTAuN18xCiBsaWJpaW8uc28uMCBsaWJpaW8tMC4yM18xCiBsaWJjaXZldHdlYi5zby4x IGxpYmNpdmV0d2ViLTEuMTVfMQotbGliY21yLnNvLjE3CiBsaWJjbXIuc28uMTcgbGliZGNtdGst My42LjdfMQogbGliZGNtcnQuc28uMTcgbGliZGNtdGstMy42LjdfMQogbGliZGNtZGF0YS5zby4x NyBsaWJkY210ay0zLjYuN18xCgpGcm9tIDdkMGQ3NTU5ZDNkMTlhMjRkMmY3N2JjOTcxMmU2MDUy NGU0NmNjZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGJpbmd1bG8gPGdjYXJsb3NA ZGlzcm9vdC5vcmc+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNjoyNDo1OSAtMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMDgvMTRdIE5ldyBwYWNrYWdlOiBPcnRoYW5jLURpY29tV2ViLTEuOQoKLS0tCiBz cmNwa2dzL09ydGhhbmMtRGljb21XZWIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL09ydGhh bmMtRGljb21XZWIvdGVtcGxhdGUgYi9zcmNwa2dzL09ydGhhbmMtRGljb21XZWIvdGVtcGxhdGUK aW5kZXggZTEzMDBjNGQ0NTUwLi5jZTY4ZmJkODAzOGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvT3J0 aGFuYy1EaWNvbVdlYi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL09ydGhhbmMtRGljb21XZWIvdGVt cGxhdGUKQEAgLTcsNyArNyw3IEBAIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0i LURBTExPV19ET1dOTE9BRFM9T04gLURPUlRIQU5DX0ZSQU1FV09SS19XT1VSQ0U9cGF0aAogIC1E T1JUSEFOQ19GUkFNRVdPUktfUk9PVD0vdXNyL3NoYXJlL29ydGhhbmMvT3J0aGFuY0ZyYW1ld29y ay9Tb3VyY2VzIgogaG9zdG1ha2VkZXBlbmRzPSJ0YXIgdW56aXAgcHl0aG9uMyIKLW1ha2VkZXBl bmRzPSJPcnRoYW5jLWRldmVsPj0xLjExLjEgcHVnaXhtbC1kZXZlbCBndGVzdC1kZXZlbCBqc29u Y3BwLWRldmVsCittYWtlZGVwZW5kcz0iT3J0aGFuYy1kZXZlbCBwdWdpeG1sLWRldmVsIGd0ZXN0 LWRldmVsIGpzb25jcHAtZGV2ZWwKICBsaWJ1dWlkLWRldmVsIGJvb3N0LWRldmVsIgogc2hvcnRf ZGVzYz0iUGx1Z2luIHRvIGJyaW5nIHN1cHBvcnQgb2YgdGhlIERJQ09Nd2ViIHN0YW5kYXJkIGlu dG8gT3J0aGFuYyIKIG1haW50YWluZXI9IkNhcmxvcyBFLiBHYWxsbyBGLiA8Z2Nhcmxvc0BkaXNy b290Lm9yZz4iCgpGcm9tIDE5MzdiZjNkZWFjZTE1NDBjMTFkODI4ODk5ODY5YmQyMThkMGU1ZTEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGJpbmd1bG8gPGdjYXJsb3NAZGlzcm9vdC5v cmc+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNjoyNToxNSAtMDMwMApTdWJqZWN0OiBbUEFUQ0gg MDkvMTRdIE5ldyBwYWNrYWdlOiBPcnRoYW5jLVBvc3RncmVTUUwtNC4wCgotLS0KIHNyY3BrZ3Mv T3J0aGFuYy1Qb3N0Z3JlU1FML3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcnRoYW5jLVBv c3RncmVTUUwvdGVtcGxhdGUgYi9zcmNwa2dzL09ydGhhbmMtUG9zdGdyZVNRTC90ZW1wbGF0ZQpp bmRleCA2MzBhMzMzYTYyZmUuLjM2MGZlMGM1Njc5NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9PcnRo YW5jLVBvc3RncmVTUUwvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9PcnRoYW5jLVBvc3RncmVTUUwv dGVtcGxhdGUKQEAgLTgsNyArOCw3IEBAIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJn cz0iLURBTExPV19ET1dOTE9BRFM9T04gLURPUlRIQU5DX0ZSQU1FV09SS19XT1VSQ0U9cGF0aAog IC1ET1JUSEFOQ19GUkFNRVdPUktfUk9PVD0vdXNyL3NoYXJlL29ydGhhbmMvT3J0aGFuY0ZyYW1l d29yay9Tb3VyY2VzIgogaG9zdG1ha2VkZXBlbmRzPSJ0YXIgdW56aXAgcHl0aG9uMyIKLW1ha2Vk ZXBlbmRzPSJPcnRoYW5jLWRldmVsPj0xLjExLjEgb3BlbnNzbC1kZXZlbCBndGVzdC1kZXZlbCB6 bGliLWRldmVsCittYWtlZGVwZW5kcz0iT3J0aGFuYy1kZXZlbCBvcGVuc3NsLWRldmVsIGd0ZXN0 LWRldmVsIHpsaWItZGV2ZWwKICBqc29uY3BwLWRldmVsIGxpYnV1aWQtZGV2ZWwgYm9vc3QtZGV2 ZWwgcG9zdGdyZXNxbC1saWJzLWRldmVsIgogc2hvcnRfZGVzYz0iUG9zdGdyZVNRTCBkYXRhYmFz ZSBwbHVnaW4gZm9yIE9ydGhhbmMiCiBtYWludGFpbmVyPSJDYXJsb3MgRS4gR2FsbG8gRi4gPGdj YXJsb3NAZGlzcm9vdC5vcmc+IgoKRnJvbSAyNzcyN2Y1ZmNlZWU3MWIzMGQwYmFiOTVkZDBlMGYw NzY0YmE2MzE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBiaW5ndWxvIDxnY2FybG9z QGRpc3Jvb3Qub3JnPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTY6MjU6NDggLTAzMDAKU3ViamVj dDogW1BBVENIIDEwLzE0XSBOZXcgcGFja2FnZTogT3J0aGFuYy1QeXRob24tNC4wCgotLS0KIHNy Y3BrZ3MvT3J0aGFuYy1QeXRob24vdGVtcGxhdGUgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3J0 aGFuYy1QeXRob24vdGVtcGxhdGUgYi9zcmNwa2dzL09ydGhhbmMtUHl0aG9uL3RlbXBsYXRlCmlu ZGV4IDM0N2M2MjJjOWVmZi4uM2VmYTM4OWE5OWM1IDEwMDY0NAotLS0gYS9zcmNwa2dzL09ydGhh bmMtUHl0aG9uL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvT3J0aGFuYy1QeXRob24vdGVtcGxhdGUK QEAgLTcsOSArNyw4IEBAIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURBTExP V19ET1dOTE9BRFM9T04gLURPUlRIQU5DX0ZSQU1FV09SS19XT1VSQ0U9cGF0aAogIC1ET1JUSEFO Q19GUkFNRVdPUktfUk9PVD0vdXNyL3NoYXJlL29ydGhhbmMvT3J0aGFuY0ZyYW1ld29yay9Tb3Vy Y2VzCiAgLURQWVRIT05fVkVSU0lPTj0zLjEwIgotaG9zdG1ha2VkZXBlbmRzPSJ0YXIgdW56aXAg cHl0aG9uMz49My4xMDwzLjExIHBrZy1jb25maWciCi1tYWtlZGVwZW5kcz0iT3J0aGFuYy1kZXZl bD49MS4xMS4xIGpzb25jcHAtZGV2ZWwgbGlidXVpZC1kZXZlbCBib29zdC1kZXZlbAotIHB5dGhv bjMtZGV2ZWw+PTMuMTA8My4xMSIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIHVuemlwIHB5dGhvbjMg cGtnLWNvbmZpZyIKK21ha2VkZXBlbmRzPSJPcnRoYW5jLWRldmVsIGpzb25jcHAtZGV2ZWwgbGli dXVpZC1kZXZlbCBib29zdC1kZXZlbCBweXRob24zLWRldmVsIgogc2hvcnRfZGVzYz0iUHl0aG9u IHBsdWdpbiBmb3IgT3J0aGFuYyIKIG1haW50YWluZXI9IkNhcmxvcyBFLiBHYWxsbyBGLiA8Z2Nh cmxvc0BkaXNyb290Lm9yZz4iCiBsaWNlbnNlPSJBR1BMLTMuMC1vci1sYXRlciIKCkZyb20gNjcy ZmVmOGE0NmZiNDhiMDBhNjdhMjlhYjZjMTlkNmY1MDY1MGRkNCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogYmluZ3VsbyA8Z2Nhcmxvc0BkaXNyb290Lm9yZz4KRGF0ZTogTW9uLCA4IEF1 ZyAyMDIyIDE2OjI0OjQxIC0wMzAwClN1YmplY3Q6IFtQQVRDSCAxMS8xNF0gTmV3IHBhY2thZ2U6 IE9ydGhhbmMtMS4xMS4xCgotLS0KIHNyY3BrZ3MvT3J0aGFuYy9maWxlcy9vcnRoYW5jL3J1biB8 IDIxICsrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3J0aGFuYy9maWxlcy9v cnRoYW5jL3J1biBiL3NyY3BrZ3MvT3J0aGFuYy9maWxlcy9vcnRoYW5jL3J1bgppbmRleCAzMjA1 MGJmMjkyOGMuLjA4ZjcyN2RhNjJjMSAxMDA3NTUKLS0tIGEvc3JjcGtncy9PcnRoYW5jL2ZpbGVz L29ydGhhbmMvcnVuCisrKyBiL3NyY3BrZ3MvT3J0aGFuYy9maWxlcy9vcnRoYW5jL3J1bgpAQCAt NSwyOCArNSwyNyBAQCBPUFRTPSIiCiA6ICR7VVNFUjo9Il9vcnRoYW5jIn0KIAogOiAke0NPTkZJ R0ZJTEU6PSIvZXRjL29ydGhhbmMvQ29uZmlndXJhdGlvbi5qc29uIn0KLVsgLXIgJENPTkZJR0ZJ TEUgXSB8fCBleGl0IDEKK1sgLXIgIiRDT05GSUdGSUxFIiBdIHx8IGV4aXQgMQogCiA6ICR7T1JU SEFOQ1NUT1JBR0U6PSIvdmFyL2xpYi9PcnRoYW5jU3RvcmFnZSJ9Ci1pZiBbICEgLWUgJE9SVEhB TkNTVE9SQUdFIF0KK2lmIFsgISAtZSAiJE9SVEhBTkNTVE9SQUdFIiBdCiB0aGVuCi0JbWtkaXIg LXBtIDA3NTAgJE9SVEhBTkNTVE9SQUdFICYmCi0JY2hvd24gJHtVU0VSfToke1VTRVJ9ICRPUlRI QU5DU1RPUkFHRSB8fAorCW1rZGlyIC1wbSAwNzUwICIkT1JUSEFOQ1NUT1JBR0UiICYmCisJY2hv d24gJHtVU0VSfToke1VTRVJ9ICIkT1JUSEFOQ1NUT1JBR0UiIHx8CiAJZXhpdCAxCiBmaQogCiAj IEVuYWJsZSBsb2cKLWlmIFsgLW4gJExPRyBdOyB0aGVuCitpZiBbIC1uICIkTE9HIiBdOyB0aGVu CiAJOiAke0xPR0RJUjo9Ii9sb2cvb3J0aGFuYyJ9Ci0JT1BUUz0iJHtPUFRTfS0tbG9nZGlyPSRM T0dESVIgIgorCU9QVFM9IiR7T1BUU30gLS1sb2dkaXI9XCIkTE9HRElSXCIiCiAKLQlpZiBbICEg LWUgJExPR0RJUiBdOyB0aGVuCi0JCW1rZGlyIC1wbSAwNzUwICRMT0dESVIgJiYKLQkJY2hvd24g JHtVU0VSfToke1VTRVJ9ICRMT0dESVIgfHwKKwlpZiBbICEgLWUgIiRMT0dESVIiIF07IHRoZW4K KwkJbWtkaXIgLXBtIDA3NTAgIiRMT0dESVIiICYmCisJCWNob3duICR7VVNFUn06JHtVU0VSfSAi JExPR0RJUiIgfHwKIAkJZXhpdCAxCiAJZmkKIGZpCiAKICMgU2V0IE9QVFMgb24gY29uZiBmaWxl IGZvciBhZGl0aW9uYWwgcGFyYW1ldGVycwotT1BUUz0iJE9QVFMkQ09ORklHRklMRSIKLWV4ZWMg Y2hwc3QgLXUgJHtVU0VSfToke1VTRVJ9IE9ydGhhbmMgJE9QVFMKK2V4ZWMgY2hwc3QgLXUgJHtV U0VSfToke1VTRVJ9IE9ydGhhbmMgJE9QVFMgIiR7Q09ORklHRklMRX0iCgpGcm9tIDI4Mjk1Y2Y0 MDEzYTM4OTExNzE5ZDkwMzgzMTc5NGIxMjc0NzgzMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IGJpbmd1bG8gPGdjYXJsb3NAZGlzcm9vdC5vcmc+CkRhdGU6IE1vbiwgOCBBdWcgMjAy MiAxNjoyNDo0MSAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMTRdIE5ldyBwYWNrYWdlOiBPcnRo YW5jLTEuMTEuMQoKLS0tCiBzcmNwa2dzL09ydGhhbmMvZmlsZXMvQ29uZmlndXJhdGlvbi5qc29u IHwgOTE1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL09ydGhhbmMvcGF0Y2hlcy9j b25maWcucGF0Y2ggICAgIHwgIDI4ICsKIHNyY3BrZ3MvT3J0aGFuYy90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgfCAgIDkgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgOTE5 IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvT3J0aGFuYy9maWxlcy9D b25maWd1cmF0aW9uLmpzb24KIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL09ydGhhbmMvcGF0 Y2hlcy9jb25maWcucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL09ydGhhbmMvZmlsZXMvQ29u ZmlndXJhdGlvbi5qc29uIGIvc3JjcGtncy9PcnRoYW5jL2ZpbGVzL0NvbmZpZ3VyYXRpb24uanNv bgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBlNTk0YmI0NjQ3Li4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9PcnRoYW5jL2ZpbGVzL0NvbmZpZ3VyYXRpb24uanNvbgorKysgL2Rl di9udWxsCkBAIC0xLDkxNSArMCwwIEBACi17Ci0gIC8qKgotICAgKiBHZW5lcmFsIGNvbmZpZ3Vy YXRpb24gb2YgT3J0aGFuYwotICAgKiovCi0KLSAgLy8gVGhlIGxvZ2ljYWwgbmFtZSBvZiB0aGlz IGluc3RhbmNlIG9mIE9ydGhhbmMuIFRoaXMgb25lIGlzCi0gIC8vIGRpc3BsYXllZCBpbiBPcnRo YW5jIEV4cGxvcmVyIGFuZCBhdCB0aGUgVVJJICIvc3lzdGVtIi4KLSAgIk5hbWUiIDogIk15T3J0 aGFuYyIsCi0KLSAgLy8gUGF0aCB0byB0aGUgZGlyZWN0b3J5IHRoYXQgaG9sZHMgdGhlIGhlYXZ5 d2VpZ2h0IGZpbGVzIChpLmUuIHRoZQotICAvLyByYXcgRElDT00gaW5zdGFuY2VzKS4gQmFja3Ns YXNoZXMgbXVzdCBiZSBlaXRoZXIgZXNjYXBlZCBieQotICAvLyBkb3VibGluZyB0aGVtLCBvciBy ZXBsYWNlZCBieSBmb3J3YXJkIHNsYXNoZXMgIi8iLgotICAiU3RvcmFnZURpcmVjdG9yeSIgOiAi L3Zhci9saWIvT3J0aGFuY1N0b3JhZ2UiLAotCi0gIC8vIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB0 aGF0IGhvbGRzIHRoZSBTUUxpdGUgaW5kZXggKGlmIHVuc2V0LCB0aGUKLSAgLy8gdmFsdWUgb2Yg U3RvcmFnZURpcmVjdG9yeSBpcyB1c2VkKS4gVGhpcyBpbmRleCBjb3VsZCBiZSBzdG9yZWQgb24K LSAgLy8gYSBSQU0tZHJpdmUgb3IgYSBTU0QgZGV2aWNlIGZvciBwZXJmb3JtYW5jZSByZWFzb25z LgotICAiSW5kZXhEaXJlY3RvcnkiIDogIi92YXIvbGliL09ydGhhbmNTdG9yYWdlIiwKLQotICAv LyBQYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgT3J0aGFuYyBzdG9yZXMgaXRzIGxhcmdlIHRl bXBvcmFyeQotICAvLyBmaWxlcy4gVGhlIGNvbnRlbnQgb2YgdGhpcyBmb2xkZXIgY2FuIGJlIHNh ZmVseSBkZWxldGVkIG9uY2UKLSAgLy8gT3J0aGFuYyBpcyBzdG9wcGVkLiBUaGUgZm9sZGVyIG11 c3QgZXhpc3QuIFRoZSBjb3JyZXNwb25kaW5nCi0gIC8vIGZpbGVzeXN0ZW0gbXVzdCBiZSBwcm9w ZXJseSBzaXplZCwgZ2l2ZW4gdGhhdCBmb3IgaW5zdGFuY2UgYSBaSVAKLSAgLy8gYXJjaGl2ZSBv ZiBESUNPTSBpbWFnZXMgY3JlYXRlZCBieSBhIGpvYiBjYW4gd2VpZ2h0IHNldmVyYWwgR0JzLAot ICAvLyBhbmQgdGhhdCB0aGVyZSBtaWdodCBiZSB1cCB0byAibWluKEpvYnNIaXN0b3J5U2l6ZSwK LSAgLy8gTWVkaWFBcmNoaXZlU2l6ZSkiIGFyY2hpdmVzIHRvIGJlIHN0b3JlZCBzaW11bHRhbmVv dXNseS4gSWYgbm90Ci0gIC8vIHNldCwgT3J0aGFuYyB3aWxsIHVzZSB0aGUgZGVmYXVsdCB0ZW1w b3JhcnkgZm9sZGVyIG9mIHRoZQotICAvLyBvcGVyYXRpbmcgc3lzdGVtIChzdWNoIGFzICIvdG1w LyIgb24gVU5JWC1saWtlIHN5c3RlbXMsIG9yCi0gIC8vICJDOi9UZW1wIiBvbiBNaWNyb3NvZnQg V2luZG93cykuCi0gIC8vICJUZW1wb3JhcnlEaXJlY3RvcnkiIDogIi90bXAvT3J0aGFuYy8iLAot Ci0gIC8vIEVuYWJsZSB0aGUgdHJhbnNwYXJlbnQgY29tcHJlc3Npb24gb2YgdGhlIERJQ09NIGlu c3RhbmNlcwotICAiU3RvcmFnZUNvbXByZXNzaW9uIiA6IGZhbHNlLAotCi0gIC8vIE1heGltdW0g c2l6ZSBvZiB0aGUgc3RvcmFnZSBpbiBNQiAoYSB2YWx1ZSBvZiAiMCIgaW5kaWNhdGVzIG5vCi0g IC8vIGxpbWl0IG9uIHRoZSBzdG9yYWdlIHNpemUpCi0gICJNYXhpbXVtU3RvcmFnZVNpemUiIDog MCwKLQotICAvLyBNYXhpbXVtIG51bWJlciBvZiBwYXRpZW50cyB0aGF0IGNhbiBiZSBzdG9yZWQg YXQgYSBnaXZlbiB0aW1lCi0gIC8vIGluIHRoZSBzdG9yYWdlIChhIHZhbHVlIG9mICIwIiBpbmRp Y2F0ZXMgbm8gbGltaXQgb24gdGhlIG51bWJlcgotICAvLyBvZiBwYXRpZW50cykKLSAgIk1heGlt dW1QYXRpZW50Q291bnQiIDogMCwKLQotICAvLyBNYXhpbXVtIHNpemUgb2YgdGhlIHN0b3JhZ2Ug Y2FjaGUgaW4gTUIuICBUaGUgc3RvcmFnZSBjYWNoZQotICAvLyBpcyBzdG9yZWQgaW4gUkFNIGFu ZCBjb250YWlucyBhIGNvcHkgb2YgcmVjZW50bHkgYWNjZXNzZWQKLSAgLy8gZmlsZXMgKHdyaXR0 ZW4gb3IgcmVhZCkuICBBIHZhbHVlIG9mICIwIiBpbmRpY2F0ZXMgdGhlIGNhY2hlCi0gIC8vIGlz IGRpc2FibGVkLiAgKG5ldyBpbiBPcnRoYW5jIDEuMTAuMCkKLSAgIk1heGltdW1TdG9yYWdlQ2Fj aGVTaXplIiA6IDEyOCwKLQotICAvLyBMaXN0IG9mIHBhdGhzIHRvIHRoZSBjdXN0b20gTHVhIHNj cmlwdHMgdGhhdCBhcmUgdG8gYmUgbG9hZGVkCi0gIC8vIGludG8gdGhpcyBpbnN0YW5jZSBvZiBP cnRoYW5jCi0gICJMdWFTY3JpcHRzIiA6IFsKLSAgXSwKLQotICAvLyBUaGUgcGVyaW9kIChpbiBz ZWNvbmRzKSBiZXR3ZWVuIDIgY2FsbHMgb2YgdGhlICJPbkhlYXJ0QmVhdCIKLSAgLy8gbHVhIGNh bGxiYWNrLiAgTyBtZWFucyB0aGUgaGVhcnQgYmVhdCBpcyBkaXNhYmxlZC4KLSAgLy8gVE9ETzog dGV4dCBiZWxvdyBmb3IgT3J0aGFuYyBib29rOgotICAvLyBOb3RlOiB0aGF0IHRoZSBwZXJpb2Qg aXMgbm90IGFjdHVhbGx5IHRoZSBkZWxheSBiZXR3ZWVuCi0gIC8vIHRoZSBlbmQgb2YgYW4gZXhl Y3V0aW9uIGFuZCB0aGUgdHJpZ2dlcmluZyBvZiB0aGUgbmV4dCBvbmUuCi0gIC8vIFNpbmNlIHRo ZXJlIGlzIG9ubHkgb25lIGx1YSBjb250ZXh0LCBpZiBvdGhlciBsdWEgY29kZSBpcyBiZWluZwot ICAvLyBleGVjdXRlZCwgdGhlIGhlYXJ0IGJlYXQgbWlnaHQgYmUgZGVsYXllZCBldmVuIG1vcmUu Ci0gICJMdWFIZWFydEJlYXRQZXJpb2QiIDogMCwKLQotICAvLyBMaXN0IG9mIHBhdGhzIHRvIHRo ZSBwbHVnaW5zIHRoYXQgYXJlIHRvIGJlIGxvYWRlZCBpbnRvIHRoaXMKLSAgLy8gaW5zdGFuY2Ug b2YgT3J0aGFuYyAoZS5nLiAiLi9saWJQbHVnaW5UZXN0LnNvIiBmb3IgTGludXgsIG9yCi0gIC8v ICIuL1BsdWdpblRlc3QuZGxsIiBmb3IgV2luZG93cykuIFRoZXNlIHBhdGhzIGNhbiByZWZlciB0 bwotICAvLyBmb2xkZXJzLCBpbiB3aGljaCBjYXNlIHRoZXkgd2lsbCBiZSBzY2FubmVkIG5vbi1y ZWN1cnNpdmVseSB0bwotICAvLyBmaW5kIHNoYXJlZCBsaWJyYXJpZXMuIEJhY2tzbGFzaGVzIG11 c3QgYmUgZWl0aGVyIGVzY2FwZWQgYnkKLSAgLy8gZG91YmxpbmcgdGhlbSwgb3IgcmVwbGFjZWQg YnkgZm9yd2FyZCBzbGFzaGVzICIvIi4KLSAgIlBsdWdpbnMiIDogWwotICBdLAotCi0gIC8vIE1h eGltdW0gbnVtYmVyIG9mIHByb2Nlc3Npbmcgam9icyB0aGF0IGFyZSBzaW11bHRhbmVvdXNseSBy dW5uaW5nCi0gIC8vIGF0IGFueSBnaXZlbiB0aW1lLiBBIHZhbHVlIG9mICIwIiBpbmRpY2F0ZXMg dG8gdXNlIGFsbCB0aGUKLSAgLy8gYXZhaWxhYmxlIENQVSBsb2dpY2FsIGNvcmVzLiBUbyBlbXVs YXRlIE9ydGhhbmMgPD0gMS4zLjIsIHNldAotICAvLyB0aGlzIHZhbHVlIHRvICIxIi4KLSAgIkNv bmN1cnJlbnRKb2JzIiA6IDIsCi0KLQotICAvKioKLSAgICogQ29uZmlndXJhdGlvbiBvZiB0aGUg SFRUUCBzZXJ2ZXIKLSAgICoqLwotCi0gIC8vIEVuYWJsZSB0aGUgSFRUUCBzZXJ2ZXIuIElmIHRo aXMgcGFyYW1ldGVyIGlzIHNldCB0byAiZmFsc2UiLAotICAvLyBPcnRoYW5jIGFjdHMgYXMgYSBw dXJlIERJQ09NIHNlcnZlci4gVGhlIFJFU1QgQVBJIGFuZCBPcnRoYW5jCi0gIC8vIEV4cGxvcmVy IHdpbGwgbm90IGJlIGF2YWlsYWJsZS4KLSAgIkh0dHBTZXJ2ZXJFbmFibGVkIiA6IHRydWUsCi0K LSAgLy8gRW5hYmxlL2Rpc2FibGUgdGhlIE9ydGhhbmMgRXhwbG9yZXIgV2ViIHVzZXIgaW50ZXJm YWNlLiBUaGlzCi0gIC8vIG9wdGlvbiBpcyBvbmx5IG1lYW5pbmdmdWwgaWYgdGhlICJIdHRwU2Vy dmVyRW5hYmxlZCIgb3B0aW9uIGlzCi0gIC8vIHNldCB0byAidHJ1ZSIgKG5ldyBpbiBPcnRoYW5j IDEuOC4yKS4KLSAgIk9ydGhhbmNFeHBsb3JlckVuYWJsZWQiIDogdHJ1ZSwKLQotICAvLyBIVFRQ IHBvcnQgZm9yIHRoZSBSRVNUIHNlcnZpY2VzIGFuZCBmb3IgdGhlIEdVSQotICAiSHR0cFBvcnQi IDogODA0MiwKLQotICAvLyBXaGVuIHRoZSBmb2xsb3dpbmcgb3B0aW9uIGlzICJ0cnVlIiwgaWYg YW4gZXJyb3IgaXMgZW5jb3VudGVyZWQKLSAgLy8gd2hpbGUgY2FsbGluZyB0aGUgUkVTVCBBUEks IGEgSlNPTiBtZXNzYWdlIGRlc2NyaWJpbmcgdGhlIGVycm9yCi0gIC8vIGlzIHB1dCBpbiB0aGUg SFRUUCBhbnN3ZXIuIFRoaXMgZmVhdHVyZSBjYW4gYmUgZGlzYWJsZWQgaWYgdGhlCi0gIC8vIEhU VFAgY2xpZW50IGRvZXMgbm90IHByb3Blcmx5IGhhbmRsZXMgc3VjaCBhbnN3ZXJzLgotICAiSHR0 cERlc2NyaWJlRXJyb3JzIiA6IHRydWUsCi0KLSAgLy8gRW5hYmxlIEhUVFAgY29tcHJlc3Npb24g dG8gaW1wcm92ZSBuZXR3b3JrIGJhbmR3aWR0aCB1dGlsaXphdGlvbiwKLSAgLy8gYXQgdGhlIGV4 cGVuc2Ugb2YgbW9yZSBjb21wdXRhdGlvbnMgb24gdGhlIHNlcnZlci4gT3J0aGFuYwotICAvLyBz dXBwb3J0cyB0aGUgImd6aXAiIGFuZCAiZGVmbGF0ZSIgSFRUUCBlbmNvZGluZ3MuCi0gICJIdHRw Q29tcHJlc3Npb25FbmFibGVkIiA6IHRydWUsCi0KLSAgLy8gRW5hYmxlIHRoZSBwdWJsaWNhdGlv biBvZiB0aGUgY29udGVudCBvZiB0aGUgT3J0aGFuYyBzZXJ2ZXIgYXMgYQotICAvLyBXZWJEQVYg c2hhcmUgKG5ldyBpbiBPcnRoYW5jIDEuOC4wKS4gT24gdGhlIGxvY2FsaG9zdCwgdGhlIFdlYkRB VgotICAvLyBzaGFyZSBpcyBtYXBwZWQgYXMgImh0dHA6Ly9sb2NhbGhvc3Q6ODA0Mi93ZWJkYXYv Ii4KLSAgIldlYkRhdkVuYWJsZWQiIDogdHJ1ZSwKLQotICAvLyBXaGV0aGVyIHRvIGFsbG93IGRl bGV0aW9ucyB0aHJvdWdoIHRoZSBXZWJEQVYgc2hhcmUuIFRoaXMgaXMKLSAgLy8gZGlzYWJsZWQg YnkgZGVmYXVsdCB0byBhdm9pZCBhY2NpZGVudGFsIGxvc3Mgb2YgRElDT00gaW5zdGFuY2VzLgot ICAiV2ViRGF2RGVsZXRlQWxsb3dlZCIgOiBmYWxzZSwKLQotICAvLyBXaGV0aGVyIHRvIGFsbG93 IHVwbG9hZHMgdGhyb3VnaCB0aGUgV2ViREFWIHNoYXJlLgotICAiV2ViRGF2VXBsb2FkQWxsb3dl ZCIgOiB0cnVlLAotCi0KLQotICAvKioKLSAgICogQ29uZmlndXJhdGlvbiBvZiB0aGUgRElDT00g c2VydmVyCi0gICAqKi8KLQotICAvLyBFbmFibGUgdGhlIERJQ09NIHNlcnZlci4gSWYgdGhpcyBw YXJhbWV0ZXIgaXMgc2V0IHRvICJmYWxzZSIsCi0gIC8vIE9ydGhhbmMgYWN0cyBhcyBhIHB1cmUg UkVTVCBzZXJ2ZXIuIEl0IHdpbGwgbm90IGJlIHBvc3NpYmxlIHRvCi0gIC8vIHJlY2VpdmUgZmls ZXMgb3IgdG8gZG8gcXVlcnkvcmV0cmlldmUgdGhyb3VnaCB0aGUgRElDT00gcHJvdG9jb2wuCi0g ICJEaWNvbVNlcnZlckVuYWJsZWQiIDogdHJ1ZSwKLQotICAvLyBUaGUgRElDT00gQXBwbGljYXRp b24gRW50aXR5IFRpdGxlIChjYW5ub3QgYmUgbG9uZ2VyIHRoYW4gMTYKLSAgLy8gY2hhcmFjdGVy cykKLSAgIkRpY29tQWV0IiA6ICJPUlRIQU5DIiwKLQotICAvLyBDaGVjayB3aGV0aGVyIHRoZSBj YWxsZWQgQUVUIGNvcnJlc3BvbmRzIHRvIHRoZSBBRVQgb2YgT3J0aGFuYwotICAvLyBkdXJpbmcg YW4gaW5jb21pbmcgRElDT00gU0NVIHJlcXVlc3QKLSAgIkRpY29tQ2hlY2tDYWxsZWRBZXQiIDog ZmFsc2UsCi0KLSAgLy8gVGhlIERJQ09NIHBvcnQKLSAgIkRpY29tUG9ydCIgOiA0MjQyLAotCi0g IC8vIFRoZSBkZWZhdWx0IGVuY29kaW5nIHRoYXQgaXMgYXNzdW1lZCBmb3IgRElDT00gZmlsZXMg d2l0aG91dAotICAvLyAiU3BlY2lmaWNDaGFyYWN0ZXJTZXQiIERJQ09NIHRhZywgYW5kIHRoYXQg aXMgdXNlZCB3aGVuIGFuc3dlcmluZwotICAvLyBDLUZJTkQgcmVxdWVzdHMgKGluY2x1ZGluZyB3 b3JrbGlzdHMpLiBUaGUgYWxsb3dlZCB2YWx1ZXMgYXJlCi0gIC8vICJBc2NpaSIsICJVdGY4Iiwg IkxhdGluMSIsICJMYXRpbjIiLCAiTGF0aW4zIiwgIkxhdGluNCIsCi0gIC8vICJMYXRpbjUiLCAi Q3lyaWxsaWMiLCAiV2luZG93czEyNTEiLCAiQXJhYmljIiwgIkdyZWVrIiwgIkhlYnJldyIsCi0g IC8vICJUaGFpIiwgIkphcGFuZXNlIiwgIkNoaW5lc2UiLCAiSmFwYW5lc2VLYW5qaSIsICJLb3Jl YW4iLCBhbmQKLSAgLy8gIlNpbXBsaWZpZWRDaGluZXNlIi4KLSAgIkRlZmF1bHRFbmNvZGluZyIg OiAiTGF0aW4xIiwKLQotICAvLyBUaGUgdHJhbnNmZXIgc3ludGF4ZXMgdGhhdCBhcmUgYWNjZXB0 ZWQgYnkgT3J0aGFuYyBDLVNUT1JFIFNDUC4KLSAgLy8gVGhpcyBpcyBhbiBhcnJheSBsaXN0aW5n IHRoZSBhY2NlcHRlZCB0cmFuc2ZlciBzeW50YXggVUlEcy4gRWFjaAotICAvLyBlbnRyeSBjYW4g Y29udGFpbiB3aWxkY2FyZHMgKCI/IiBvciAiKiIpLiBCeSBkZWZhdWx0LCBhbGwgdGhlCi0gIC8v IGtub3duIHRyYW5zZmVyIHN5bnRheGVzIGFyZSBhY2NlcHRlZC4gKG5ldyBpbiBPcnRoYW5jIDEu OS4wKQotICAiQWNjZXB0ZWRUcmFuc2ZlclN5bnRheGVzIiA6IFsgIjEuMi44NDAuMTAwMDguMS4q IiBdLAotCi0gIC8vIFVzZXItZnJpZW5kbHkgZ3JvdXBzIG9mIHRyYW5zZmVyIHN5bnRheGVzIHRo YXQgY2FuIGJlIGVuYWJsZWQgb3IKLSAgLy8gZGlzYWJsZWQgYXQgb25jZS4gVGhlc2Ugb3B0aW9u cyBhcmUgYXBwbGllZCBhZnRlciB0aGUgbWFpbgotICAvLyAiQWNjZXB0ZWRUcmFuc2ZlclN5bnRh eGVzIiBvcHRpb24gaGFzIGJlZW4gYXBwbGllZCAoaWYgcHJlc2VudCkuCi0gIC8qKgotICAgICAi RGVmbGF0ZWRUcmFuc2ZlclN5bnRheEFjY2VwdGVkIiAgICAgOiB0cnVlLAotICAgICAiSnBlZ1Ry YW5zZmVyU3ludGF4QWNjZXB0ZWQiICAgICAgICAgOiB0cnVlLAotICAgICAiSnBlZzIwMDBUcmFu c2ZlclN5bnRheEFjY2VwdGVkIiAgICAgOiB0cnVlLAotICAgICAiSnBlZ0xvc3NsZXNzVHJhbnNm ZXJTeW50YXhBY2NlcHRlZCIgOiB0cnVlLAotICAgICAiSnBpcFRyYW5zZmVyU3ludGF4QWNjZXB0 ZWQiICAgICAgICAgOiB0cnVlLAotICAgICAiTXBlZzJUcmFuc2ZlclN5bnRheEFjY2VwdGVkIiAg ICAgICAgOiB0cnVlLAotICAgICAiUmxlVHJhbnNmZXJTeW50YXhBY2NlcHRlZCIgICAgICAgICAg OiB0cnVlLAotICAgICAiTXBlZzRUcmFuc2ZlclN5bnRheEFjY2VwdGVkIiAgICAgICAgOiB0cnVl LCAgLy8gTmV3IGluIE9ydGhhbmMgMS42LjAKLSAgICAgIkgyNjVUcmFuc2ZlclN5bnRheEFjY2Vw dGVkIiAgICAgICAgIDogdHJ1ZSwgIC8vIE5ldyBpbiBPcnRoYW5jIDEuOS4wCi0gICoqLwotICAK LSAgLy8gV2hldGhlciBPcnRoYW5jIGFjY2VwdHMgdG8gYWN0IGFzIEMtU1RPUkUgU0NQIGZvciB1 bmtub3duIHN0b3JhZ2UKLSAgLy8gU09QIGNsYXNzZXMgKGFrYS4gInByb21pc2N1b3VzIG1vZGUi KQotICAiVW5rbm93blNvcENsYXNzQWNjZXB0ZWQiIDogZmFsc2UsCi0KLSAgLy8gU2V0IHRoZSB0 aW1lb3V0IChpbiBzZWNvbmRzKSBhZnRlciB3aGljaCB0aGUgRElDT00gYXNzb2NpYXRpb25zCi0g IC8vIGFyZSBjbG9zZWQgYnkgdGhlIE9ydGhhbmMgU0NQIChzZXJ2ZXIpIGlmIG5vIGZ1cnRoZXIg RElNU0UKLSAgLy8gY29tbWFuZCBpcyByZWNlaXZlZCBmcm9tIHRoZSBTQ1UgKGNsaWVudCkuCi0g ICJEaWNvbVNjcFRpbWVvdXQiIDogMzAsCi0KLQotCi0gIC8qKgotICAgKiBTZWN1cml0eS1yZWxh dGVkIG9wdGlvbnMgZm9yIHRoZSBIVFRQIHNlcnZlcgotICAgKiovCi0KLSAgLy8gV2hldGhlciBy ZW1vdGUgaG9zdHMgY2FuIGNvbm5lY3QgdG8gdGhlIEhUVFAgc2VydmVyCi0gICJSZW1vdGVBY2Nl c3NBbGxvd2VkIiA6IGZhbHNlLAotCi0gIC8vIFdoZXRoZXIgb3Igbm90IFNTTCBpcyBlbmFibGVk Ci0gICJTc2xFbmFibGVkIiA6IGZhbHNlLAotCi0gIC8vIFBhdGggdG8gdGhlIFNTTCBjZXJ0aWZp Y2F0ZSB1c2VkIGJ5IHRoZSBIVFRQIHNlcnZlci4gVGhlIGZpbGUKLSAgLy8gbXVzdCBiZSBzdG9y ZWQgaW4gdGhlIFBFTSBmb3JtYXQsIGFuZCBtdXN0IGNvbnRhaW4gYm90aCB0aGUKLSAgLy8gY2Vy dGlmaWNhdGUgYW5kIHRoZSBwcml2YXRlIGtleS4gVGhpcyBvcHRpb24gaXMgb25seSBtZWFuaW5n ZnVsCi0gIC8vIGlmICJTc2xFbmFibGVkIiBpcyB0cnVlLgotICAiU3NsQ2VydGlmaWNhdGUiIDog ImNlcnRpZmljYXRlLnBlbSIsCi0KLSAgLy8gU2V0cyB0aGUgbWluaW11bSBhY2NlcHRlZCBTU0wg cHJvdG9jb2wgdmVyc2lvbgotICAvLyAoY2YuICJzc2xfcHJvdG9jb2xfdmVyc2lvbiIgb3B0aW9u IG9mIGNpdmV0d2ViKS4gQnkgZGVmYXVsdCwKLSAgLy8gcmVxdWlyZSBTU0wgMS4yLiBUaGlzIG9w dGlvbiBpcyBvbmx5IG1lYW5pbmdmdWwgaWYgIlNzbEVuYWJsZWQiCi0gIC8vIGlzIHRydWUuIChu ZXcgaW4gT3J0aGFuYyAxLjguMikKLSAgLy8KLSAgLy8gVmFsdWUgPT4gUHJvdG9jb2xzCi0gIC8v ICAgMCAgICAgIFNTTDIrU1NMMytUTFMxLjArVExTMS4xK1RMUzEuMgotICAvLyAgIDEgICAgICBT U0wzK1RMUzEuMCtUTFMxLjErVExTMS4yCi0gIC8vICAgMiAgICAgIFRMUzEuMCtUTFMxLjErVExT MS4yCi0gIC8vICAgMyAgICAgIFRMUzEuMStUTFMxLjIKLSAgLy8gICA0ICAgICAgVExTMS4yCi0g ICJTc2xNaW5pbXVtUHJvdG9jb2xWZXJzaW9uIiA6IDQsCi0KLSAgLy8gU2V0IHRoZSBhY2NlcHRl ZCBjaXBoZXJzIGZvciBTU0wgY29ubmVjdGlvbnMuIFRoZSBjaXBoZXJzIG11c3QgYmUKLSAgLy8g cHJvdmlkZWQgYXMgYSBsaXN0IG9mIHN0cmluZ3MuIElmIG5vdCBzZXQsIHRoaXMgd2lsbCBkZWZh dWx0IHRvCi0gIC8vIEZJUFMgMTQwLTIgY2lwaGVycy4gVGhpcyBvcHRpb24gaXMgb25seSBtZWFu aW5nZnVsIGlmCi0gIC8vICJTc2xFbmFibGVkIiBpcyB0cnVlLiAobmV3IGluIE9ydGhhbmMgMS44 LjIpCi0gIC8qKgotICAgICJTc2xDaXBoZXJzQWNjZXB0ZWQiIDogWyAiQUVTMTI4LUdDTS1TSEEy NTYiIF0sCi0gICoqLwotCi0gIC8vIFdoZXRoZXIgb3Igbm90IHBlZXIgY2xpZW50IGNlcnRpZmlj YXRlcyBzaGFsbCBiZSBjaGVja2VkLiBUaGlzCi0gIC8vIG9wdGlvbiBpcyBvbmx5IG1lYW5pbmdm dWwgaWYgIlNzbEVuYWJsZWQiIGlzIHRydWUuCi0gICJTc2xWZXJpZnlQZWVycyIgOiBmYWxzZSwK LQotICAvLyBQYXRoIHRvIGEgZmlsZSBjb250YWluaW5nIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRo ZSBjbGllbnQgU1NMCi0gIC8vIGNlcnRpZmljYXRlKHMpIHRoYXQgYXJlIHRydXN0ZWQgdG8gdmVy aWZ5IHRoZSBpZGVudGlmeSBvZiByZW1vdGUKLSAgLy8gSFRUUCBjbGllbnRzLiBUaGUgaW5kaXZp ZHVhbCBjZXJ0aWZpY2F0ZShzKSBtdXN0IGJlIHN0b3JlZCBpbiB0aGUKLSAgLy8gUEVNIGZvcm1h dC4gVGhpcyBvcHRpb24gaXMgb25seSBtZWFuaW5nZnVsIGlmICJTc2xWZXJpZnlQZWVycyIKLSAg Ly8gaXMgdHJ1ZS4KLSAgIlNzbFRydXN0ZWRDbGllbnRDZXJ0aWZpY2F0ZXMiIDogInRydXN0ZWRD bGllbnRDZXJ0aWZpY2F0ZXMucGVtIiwKLSAgCi0gIC8vIFdoZXRoZXIgb3Igbm90IHRoZSBwYXNz d29yZCBwcm90ZWN0aW9uIGlzIGVuYWJsZWQgKHVzaW5nIEhUVFAKLSAgLy8gYmFzaWMgYWNjZXNz IGF1dGhlbnRpY2F0aW9uKS4gU3RhcnRpbmcgd2l0aCBPcnRoYW5jIDEuNS44LCBpZgotICAvLyAi QXV0aGVudGljYXRpb25FbmFibGVkIiBpcyBub3QgZXhwbGljaXRseSBzZXQsIGF1dGhlbnRpY2F0 aW9uIGlzCi0gIC8vIGVuYWJsZWQgaWZmLiByZW1vdGUgYWNjZXNzIGlzIGFsbG93ZWQgKGkuZS4g dGhlIGRlZmF1bHQgdmFsdWUgb2YKLSAgLy8gIkF1dGhlbnRpY2F0aW9uRW5hYmxlZCIgZXF1YWxz IHRoYXQgb2YgIlJlbW90ZUFjY2Vzc0FsbG93ZWQiKS4KLSAgLyoqCi0gICAgICJBdXRoZW50aWNh dGlvbkVuYWJsZWQiIDogZmFsc2UsCi0gICAqKi8KLQotICAvLyBUaGUgbGlzdCBvZiB0aGUgcmVn aXN0ZXJlZCB1c2Vycy4gQmVjYXVzZSBPcnRoYW5jIHVzZXMgSFRUUAotICAvLyBCYXNpYyBBdXRo ZW50aWNhdGlvbiwgdGhlIHBhc3N3b3JkcyBhcmUgc3RvcmVkIGFzIHBsYWluIHRleHQuCi0gICJS ZWdpc3RlcmVkVXNlcnMiIDogewotICAgIC8vICJhbGljZSIgOiAiYWxpY2VQYXNzd29yZCIKLSAg fSwKLQotCi0KLSAgLyoqCi0gICAqIFNlY3VyaXR5LXJlbGF0ZWQgb3B0aW9ucyBmb3IgdGhlIERJ Q09NIGNvbm5lY3Rpb25zIChTQ1UvU0NQKQotICAgKiovCi0KLSAgLy8gV2hldGhlciBESUNPTSBU TFMgaXMgZW5hYmxlZCBpbiB0aGUgT3J0aGFuYyBTQ1AgKG5ldyBpbiBPcnRoYW5jIDEuOS4wKQot ICAiRGljb21UbHNFbmFibGVkIiA6IGZhbHNlLAotCi0gIC8vIFBhdGggdG8gdGhlIFRMUyBjZXJ0 aWZpY2F0ZSBmaWxlIChpbiBQRU0gZm9ybWF0KSB0byBiZSB1c2VkIGZvcgotICAvLyBib3RoIE9y dGhhbmMgU0NQIChpbmNvbWluZyBESUNPTSBjb25uZWN0aW9ucykgYW5kIE9ydGhhbmMgU0NVCi0g IC8vIChvdXRnb2luZyBESUNPTSBjb25uZWN0aW9ucykuIE5vdGUgdGhhdCBjb250cmFyaWx5IHRv IHRoZQotICAvLyAiU3NsQ2VydGlmaWNhdGUiIG9wdGlvbiwgdGhlIGNlcnRpZmljYXRlIGFuZCBp dHMgcHJpdmF0ZSBrZXkgbXVzdAotICAvLyBiZSBzcGxpdCBpbnRvIHR3byBzZXBhcmF0ZSBmaWxl cy4gKG5ldyBpbiBPcnRoYW5jIDEuOS4wKQotICAvKioKLSAgICAgIkRpY29tVGxzQ2VydGlmaWNh dGUiIDogIm9ydGhhbmMuY3J0IiwKLSAgKiovCi0KLSAgLy8gUGF0aCB0byB0aGUgZmlsZSBjb250 YWluaW5nIHRoZSBwcml2YXRlIGtleSAoaW4gUEVNIGZvcm1hdCkgdGhhdAotICAvLyBjb3JyZXNw b25kcyB0byB0aGUgVExTIGNlcnRpZmljYXRlIHNwZWNpZmllZCBpbiBvcHRpb24KLSAgLy8gIkRp Y29tVGxzQ2VydGlmaWNhdGUiLiAobmV3IGluIE9ydGhhbmMgMS45LjApCi0gIC8qKgotICAgICAi RGljb21UbHNQcml2YXRlS2V5IiA6ICJvcnRoYW5jLmtleSIsCi0gICoqLwotCi0gIC8vIFBhdGgg dG8gYSBmaWxlIGNvbnRhaW5pbmcgYWxsIHRoZSBUTFMgY2VydGlmaWNhdGVzIHRoYXQgT3J0aGFu YwotICAvLyBjYW4gdHJ1c3QsIGJvdGggZm9yIGl0cyBTQ1AgKGluY29taW5nIERJQ09NIGNvbm5l Y3Rpb25zKSBhbmQgU0NVCi0gIC8vIChvdXRnb2luZyBESUNPTSBjb25uZWN0aW9ucykuIFRoaXMg ZmlsZSBtdXN0IGNvbnRhaW4gYSBzZXF1ZW5jZQotICAvLyBvZiBQRU0gY2VydGlmaWNhdGVzLiAo bmV3IGluIE9ydGhhbmMgMS45LjApCi0gIC8qKgotICAgICAiRGljb21UbHNUcnVzdGVkQ2VydGlm aWNhdGVzIiA6ICJ0cnVzdGVkLmNydCIsCi0gICoqLwotICAKLSAgLy8gV2hldGhlciBPcnRoYW5j IHJlamVjdHMgRElDT00gVExTIGNvbm5lY3Rpb25zIHRvL2Zyb20gcmVtb3RlCi0gIC8vIG1vZGFs aXRpZXMgdGhhdCBkbyBub3QgcHJvdmlkZSBhIGNlcnRpZmljYXRlLiBTZXR0aW5nIHRoaXMgb3B0 aW9uCi0gIC8vIHRvICJ0cnVlIiAocmVzcC4gImZhbHNlIikgY29ycmVzcG9uZHMgdG8gIi0tcmVx dWlyZS1wZWVyLWNlcnQiCi0gIC8vIChyZXNwLiAiLS12ZXJpZnktcGVlci1jZXJ0IikgaW4gdGhl IERDTVRLIGNvbW1hbmQtbGluZQotICAvLyB0b29scy4gKG5ldyBpbiBPcnRoYW5jIDEuOS4zKQot ICAiRGljb21UbHNSZW1vdGVDZXJ0aWZpY2F0ZVJlcXVpcmVkIiA6IHRydWUsCi0KLSAgLy8gV2hl dGhlciB0aGUgT3J0aGFuYyBTQ1AgYWxsb3dzIGluY29taW5nIEMtRUNITyByZXF1ZXN0cywgZXZl bgotICAvLyBmcm9tIFNDVSBtb2RhbGl0aWVzIGl0IGRvZXMgbm90IGtub3cgYWJvdXQgKGkuZS4g dGhhdCBhcmUgbm90Ci0gIC8vIGxpc3RlZCBpbiB0aGUgIkRpY29tTW9kYWxpdGllcyIgb3B0aW9u IGFib3ZlKS4gT3J0aGFuYyAxLjMuMAotICAvLyBpcyB0aGUgb25seSB2ZXJzaW9uIHRvIGJlaGF2 ZSBhcyBpZiB0aGlzIGFyZ3VtZW50IHdlcmUgc2V0IHRvICJmYWxzZSIuCi0gICJEaWNvbUFsd2F5 c0FsbG93RWNobyIgOiB0cnVlLAotCi0gIC8vIFdoZXRoZXIgdGhlIE9ydGhhbmMgU0NQIGFsbG93 cyBpbmNvbWluZyBDLVNUT1JFIHJlcXVlc3RzLCBldmVuCi0gIC8vIGZyb20gU0NVIG1vZGFsaXRp ZXMgaXQgZG9lcyBub3Qga25vdyBhYm91dCAoaS5lLiB0aGF0IGFyZSBub3QKLSAgLy8gbGlzdGVk IGluIHRoZSAiRGljb21Nb2RhbGl0aWVzIiBvcHRpb24gYWJvdmUpCi0gICJEaWNvbUFsd2F5c0Fs bG93U3RvcmUiIDogdHJ1ZSwKLQotICAvLyBXaGV0aGVyIHRoZSBPcnRoYW5jIFNDUCBhbGxvd3Mg aW5jb21pbmcgQy1GSU5EIHJlcXVlc3RzLCBldmVuCi0gIC8vIGZyb20gU0NVIG1vZGFsaXRpZXMg aXQgZG9lcyBub3Qga25vdyBhYm91dCAoaS5lLiB0aGF0IGFyZSBub3QKLSAgLy8gbGlzdGVkIGlu IHRoZSAiRGljb21Nb2RhbGl0aWVzIiBvcHRpb24gYWJvdmUpLiBTZXR0aW5nIHRoaXMKLSAgLy8g b3B0aW9uIHRvICJ0cnVlIiBpbXBsaWVzIHNlY3VyaXR5IHJpc2tzLiAobmV3IGluIE9ydGhhbmMg MS45LjApCi0gIC8vIE5vdGU6IEZyb20gT3J0aGFuYyAxLjEwLjAsIHRoaXMgb3B0aW9uIG9ubHkg YXBwbGllcyB0byBDLUZJTkQKLSAgLy8gcmVxdWVzdHMgZm9yIHBhdGllbnRzL3N0dWRpZXMvc2Vy aWVzL2luc3RhbmNlcy4gVXNlIG9wdGlvbgotICAvLyAiRGljb21BbHdheXNBbGxvd0ZpbmRXb3Jr bGlzdCIgZm9yIHdvcmtsaXN0cy4KLSAgIkRpY29tQWx3YXlzQWxsb3dGaW5kIiA6IGZhbHNlLAot Ci0gIC8vIFdoZXRoZXIgdGhlIE9ydGhhbmMgU0NQIGFsbG93cyBpbmNvbWluZyBDLUZJTkQgcmVx dWVzdHMgZm9yIHdvcmtsaXN0cywgCi0gIC8vIGV2ZW4gZnJvbSBTQ1UgbW9kYWxpdGllcyBpdCBk b2VzIG5vdCBrbm93IGFib3V0IChpLmUuIHRoYXQgYXJlIG5vdAotICAvLyBsaXN0ZWQgaW4gdGhl ICJEaWNvbU1vZGFsaXRpZXMiIG9wdGlvbiBhYm92ZSkuIFNldHRpbmcgdGhpcwotICAvLyBvcHRp b24gdG8gInRydWUiIGltcGxpZXMgc2VjdXJpdHkgcmlza3MuIChuZXcgaW4gT3J0aGFuYyAxLjEw LjApCi0gICJEaWNvbUFsd2F5c0FsbG93RmluZFdvcmtsaXN0IiA6IGZhbHNlLAotCi0gIC8vIFdo ZXRoZXIgdGhlIE9ydGhhbmMgU0NQIGFsbG93cyBpbmNvbWluZyBDLUdFVCByZXF1ZXN0cywgZXZl bgotICAvLyBmcm9tIFNDVSBtb2RhbGl0aWVzIGl0IGRvZXMgbm90IGtub3cgYWJvdXQgKGkuZS4g dGhhdCBhcmUgbm90Ci0gIC8vIGxpc3RlZCBpbiB0aGUgIkRpY29tTW9kYWxpdGllcyIgb3B0aW9u IGFib3ZlKS4gU2V0dGluZyB0aGlzCi0gIC8vIG9wdGlvbiB0byAidHJ1ZSIgaW1wbGllcyBzZWN1 cml0eSByaXNrcy4gKG5ldyBpbiBPcnRoYW5jIDEuOS4wKQotICAiRGljb21BbHdheXNBbGxvd0dl dCIgOiBmYWxzZSwKLQotICAvLyBXaGV0aGVyIHRoZSBPcnRoYW5jIFNDUCBhbGxvd3MgaW5jb21p bmcgQy1NT1ZFIHJlcXVlc3RzLCBldmVuCi0gIC8vIGZyb20gU0NVIG1vZGFsaXRpZXMgaXQgZG9l cyBub3Qga25vdyBhYm91dCAoaS5lLiB0aGF0IGFyZSBub3QKLSAgLy8gbGlzdGVkIGluIHRoZSAi RGljb21Nb2RhbGl0aWVzIiBvcHRpb24gYWJvdmUpLiBTZXR0aW5nIHRoaXMKLSAgLy8gb3B0aW9u IHRvICJ0cnVlIiBpbXBsaWVzIHNlY3VyaXR5IHJpc2tzLiAobmV3IGluIE9ydGhhbmMgMS45Ljcp Ci0gICJEaWNvbUFsd2F5c0FsbG93TW92ZSIgOiBmYWxzZSwKLQotICAvLyBXaGV0aGVyIE9ydGhh bmMgY2hlY2tzIHRoZSBJUC9ob3N0bmFtZSBhZGRyZXNzIG9mIHRoZSByZW1vdGUKLSAgLy8gbW9k YWxpdHkgaW5pdGlhdGluZyBhIERJQ09NIGNvbm5lY3Rpb24gKGFzIGxpc3RlZCBpbiB0aGUKLSAg Ly8gIkRpY29tTW9kYWxpdGllcyIgb3B0aW9uIGFib3ZlKS4gSWYgdGhpcyBvcHRpb24gaXMgc2V0 IHRvCi0gIC8vICJmYWxzZSIsIE9ydGhhbmMgb25seSBjaGVja3MgdGhlIEFFVCBvZiB0aGUgcmVt b3RlIG1vZGFsaXR5LgotICAiRGljb21DaGVja01vZGFsaXR5SG9zdCIgOiBmYWxzZSwKLQotCi0K LSAgLyoqCi0gICAqIE5ldHdvcmsgdG9wb2xvZ3kKLSAgICoqLwotCi0gIC8vIFRoZSBsaXN0IG9m IHRoZSBrbm93biBESUNPTSBtb2RhbGl0aWVzLiBUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIGlmCi0g IC8vICJEaWNvbU1vZGFsaXRpZXNJbkRhdGFiYXNlIiBpcyBzZXQgdG8gInRydWUiLCBpbiB3aGlj aCBjYXNlIHlvdQotICAvLyBtdXN0IHVzZSB0aGUgUkVTVCBBUEkgdG8gZGVmaW5lIG1vZGFsaXRp ZXMuCi0gICJEaWNvbU1vZGFsaXRpZXMiIDogewotICAgIC8qKgotICAgICAqIFVuY29tbWVudGlu ZyB0aGUgZm9sbG93aW5nIGxpbmUgd291bGQgZW5hYmxlIE9ydGhhbmMgdG8KLSAgICAgKiBjb25u ZWN0IHRvIGFuIGluc3RhbmNlIG9mIHRoZSAic3RvcmVzY3AiIG9wZW4tc291cmNlIERJQ09NCi0g ICAgICogc3RvcmUgKHNoaXBwZWQgaW4gdGhlIERDTVRLIGRpc3RyaWJ1dGlvbiksIGFzIHN0YXJ0 ZWQgYnkgdGhlCi0gICAgICogY29tbWFuZCBsaW5lICJzdG9yZXNjcCAyMDAwIi4gVGhlIGZpcnN0 IHBhcmFtZXRlciBpcyB0aGUKLSAgICAgKiBBRVQgb2YgdGhlIHJlbW90ZSBtb2RhbGl0eSAoY2Fu bm90IGJlIGxvbmdlciB0aGFuIDE2IAotICAgICAqIGNoYXJhY3RlcnMpLCB0aGUgc2Vjb25kIG9u ZSBpcyB0aGUgcmVtb3RlIG5ldHdvcmsgYWRkcmVzcywKLSAgICAgKiBhbmQgdGhlIHRoaXJkIG9u ZSBpcyB0aGUgVENQIHBvcnQgbnVtYmVyIGNvcnJlc3BvbmRpbmcKLSAgICAgKiB0byB0aGUgRElD T00gcHJvdG9jb2wgb24gdGhlIHJlbW90ZSBtb2RhbGl0eSAodXN1YWxseSAxMDQpLgotICAgICAq Ki8KLSAgICAvLyAic2FtcGxlIiA6IFsgIlNUT1JFU0NQIiwgIjEyNy4wLjAuMSIsIDIwMDAgXQot Ci0gICAgLyoqCi0gICAgICogQSBmb3VydGggcGFyYW1ldGVyIGlzIGF2YWlsYWJsZSB0byBlbmFi bGUgcGF0Y2hlcyBmb3IKLSAgICAgKiBzcGVjaWZpYyBQQUNTIG1hbnVmYWN0dXJlcnMuIFRoZSBh bGxvd2VkIHZhbHVlcyBhcmUgY3VycmVudGx5OgotICAgICAqIC0gIkdlbmVyaWMiIChkZWZhdWx0 IHZhbHVlKSwKLSAgICAgKiAtICJHZW5lcmljTm9XaWxkY2FyZEluRGF0ZXMiICh0byByZXBsYWNl ICIqIiBieSAiIiBpbiBkYXRlIGZpZWxkcyAKLSAgICAgKiAgIGluIG91dGdvaW5nIEMtRklORCBy ZXF1ZXN0cyBvcmlnaW5hdGluZyBmcm9tIE9ydGhhbmMpLAotICAgICAqIC0gIkdlbmVyaWNOb1Vu aXZlcnNhbFdpbGRjYXJkIiAodG8gcmVwbGFjZSAiKiIgYnkgIiIgaW4gYWxsIGZpZWxkcwotICAg ICAqICAgaW4gb3V0Z29pbmcgQy1GSU5EIFNDVSByZXF1ZXN0cyBvcmlnaW5hdGluZyBmcm9tIE9y dGhhbmMpLAotICAgICAqIC0gIlZpdHJlYSIsCi0gICAgICogLSAiR0UiIChFbnRlcnByaXNlIEFy Y2hpdmUsIE1SSSBjb25zb2xlcyBhbmQgQWR2YW50YWdlIFdvcmtzdGF0aW9uCi0gICAgICogICBm cm9tIEdFIEhlYWx0aGNhcmUpLgotICAgICAqCi0gICAgICogVGhpcyBwYXJhbWV0ZXIgaXMgY2Fz ZS1zZW5zaXRpdmUuCi0gICAgICoqLwotICAgIC8vICJ2aXRyZWEiIDogWyAiVklUUkVBIiwgIjE5 Mi4xNjguMS4xIiwgMTA0LCAiVml0cmVhIiBdCi0KLSAgICAvKioKLSAgICAgKiBCeSBkZWZhdWx0 LCB0aGUgT3J0aGFuYyBTQ1AgYWNjZXB0cyBhbGwgRElDT00gY29tbWFuZHMgKEMtRUNITywKLSAg ICAgKiBDLVNUT1JFLCBDLUZJTkQsIEMtTU9WRSwgQy1HRVQgYW5kIHN0b3JhZ2UgY29tbWl0bWVu dCkgaXNzdWVkIGJ5IHRoZQotICAgICAqIHJlZ2lzdGVyZWQgcmVtb3RlIFNDVSBtb2RhbGl0aWVz LiBTdGFydGluZyB3aXRoIE9ydGhhbmMgMS41LjAsCi0gICAgICogaXQgaXMgcG9zc2libGUgdG8g c3BlY2lmeSB3aGljaCBESUNPTSBjb21tYW5kcyBhcmUgYWxsb3dlZCwKLSAgICAgKiBzZXBhcmF0 ZWx5IGZvciBlYWNoIHJlbW90ZSBtb2RhbGl0eSwgdXNpbmcgdGhlIHN5bnRheAotICAgICAqIGJl bG93LgotICAgICAqCi0gICAgICogVGhlICJBbGxvd0VjaG8iIChyZXNwLiAgIkFsbG93U3RvcmUi KSBvcHRpb24gb25seSBoYXMgYW4gZWZmZWN0Ci0gICAgICogcmVzcGVjdGl2ZWx5IGlmIGdsb2Jh bCBvcHRpb24gIkRpY29tQWx3YXlzQWxsb3dFY2hvIgotICAgICAqIChyZXNwLiAiRGljb21BbHdh eXNBbGxvd1N0b3JlIikgaXMgc2V0IHRvICJmYWxzZSIuCi0gICAgICoKLSAgICAgKiBTdGFydGlu ZyB3aXRoIE9ydGhhbmMgMS43LjAsICJBbGxvd1RyYW5zY29kaW5nIiBjYW4gYmUgdXNlZCB0bwot ICAgICAqIGRpc2FibGUgdGhlIHRyYW5zY29kaW5nIHRvIHVuY29tcHJlc3NlZCB0cmFuc2ZlciBz eW50YXhlcyBpZgotICAgICAqIHRoaXMgcmVtb3RlIG1vZGFsaXR5IGRvZXNuJ3Qgc3VwcG9ydCBj b21wcmVzc2VkIHRyYW5zZmVyCi0gICAgICogc3ludGF4ZXMuIFRoaXMgb3B0aW9uIGN1cnJlbnRs eSBhcHBsaWVzIHRvIE9ydGhhbmMgQy1HRVQgU0NQCi0gICAgICogYW5kIHRvIE9ydGhhbmMgQy1T VE9SRSBTQ1UuIFRoaXMgb3B0aW9uIG9ubHkgaGFzIGFuIGVmZmVjdCBpZgotICAgICAqIHRoZSBn bG9iYWwgb3B0aW9uICJFbmFibGVUcmFuc2NvZGluZyIgaXMgc2V0IHRvICJ0cnVlIi4KLSAgICAg KgotICAgICAqIEJ5IGRlZmF1bHQsIGFsbCAiQWxsb3cqIiBvcHRpb25zIGFyZSB0cnVlLgotICAg ICAqICJBbGxvd1N0b3JhZ2VDb21taXRtZW50IiBpcyBhY3R1YWxseSBhbiBhbGlhcyBmb3IgCi0g ICAgICogIkFsbG93TkFjdGlvbiIgJiAiQWxsb3dFdmVudFJlcG9ydCIuCi0gICAgICogCi0gICAg ICogVGhlICJVc2VEaWNvbVRscyIgb3B0aW9uIHNwZWNpZmllcyB3aGV0aGVyIERJQ09NIFRMUyBz aG91bGQgYmUKLSAgICAgKiB1c2VkIHdoZW4gb3BlbmluZyBhIFNDVSBjb25uZWN0aW9uIGZyb20g T3J0aGFuYyB0byB0aGlzIHJlbW90ZQotICAgICAqIG1vZGFsaXR5LiBCeSBkZWZhdWx0LCBESUNP TSBUTFMgaXMgbm90IGVuYWJsZWQuCi0gICAgICoKLSAgICAgKiBUaGUgIkxvY2FsQWV0IiBvcHRp b24gYWxsb3dzIG9uZSB0byBvdmVyd3JpdGUgdGhlIGdsb2JhbAotICAgICAqICJEaWNvbUFldCIg Y29uZmlndXJhdGlvbiBvcHRpb24gaW4gb3JkZXIgdG8gc3BlY2lmeSBhbm90aGVyIEFFVAotICAg ICAqIGZvciBPcnRoYW5jIHdoZW4gaW5pdGlhdGluZyBhbiBTQ1UgdG8gdGhpcyB2ZXJ5IHNwZWNp ZmljCi0gICAgICogbW9kYWxpdHkuIFNpbWlsYXJseSwgIlRpbWVvdXQiIGFsbG93cyBvbmUgdG8g b3ZlcndyaXRlIHRoZQotICAgICAqIGdsb2JhbCB2YWx1ZSAiRGljb21TY3VUaW1lb3V0IiBvbiBh IHBlci1tb2RhbGl0eSBiYXNpcy4KLSAgICAgKiovCi0gICAgLy8idW50cnVzdGVkIiA6IHsKLSAg ICAvLyAgIkFFVCIgOiAiT1JUSEFOQyIsCi0gICAgLy8gICJQb3J0IiA6IDEwNCwKLSAgICAvLyAg Ikhvc3QiIDogIjEyNy4wLjAuMSIsCi0gICAgLy8gICJNYW51ZmFjdHVyZXIiIDogIkdlbmVyaWMi LAotICAgIC8vICAiQWxsb3dFY2hvIiA6IGZhbHNlLAotICAgIC8vICAiQWxsb3dGaW5kIiA6IGZh bHNlLAotICAgIC8vICAiQWxsb3dGaW5kV29ya2xpc3QiIDogZmFsc2UsICAgICAgIC8vIG5ldyBp biAxLjEwLjAKLSAgICAvLyAgIkFsbG93R2V0IiAgOiBmYWxzZSwKLSAgICAvLyAgIkFsbG93TW92 ZSIgOiBmYWxzZSwKLSAgICAvLyAgIkFsbG93U3RvcmUiIDogdHJ1ZSwKLSAgICAvLyAgIkFsbG93 U3RvcmFnZUNvbW1pdG1lbnQiIDogZmFsc2UsICAvLyBuZXcgaW4gMS42LjAKLSAgICAvLyAgIkFs bG93VHJhbnNjb2RpbmciIDogdHJ1ZSwgICAgICAgICAvLyBuZXcgaW4gMS43LjAKLSAgICAvLyAg IlVzZURpY29tVGxzIiA6IGZhbHNlICAgICAgICAgICAgICAvLyBuZXcgaW4gMS45LjAKLSAgICAv LyAgIkxvY2FsQWV0IiA6ICJIRUxMTyIgICAgICAgICAgICAgICAvLyBuZXcgaW4gMS45LjAKLSAg ICAvLyAgIlRpbWVvdXQiIDogNjAgICAgICAgICAgICAgICAgICAgICAvLyBuZXcgaW4gMS45LjEK LSAgICAvL30KLSAgfSwKLQotICAvLyBXaGV0aGVyIHRvIHN0b3JlIHRoZSBESUNPTSBtb2RhbGl0 aWVzIGluIHRoZSBPcnRoYW5jIGRhdGFiYXNlCi0gIC8vIGluc3RlYWQgb2YgaW4gdGhpcyBjb25m aWd1cmF0aW9uIGZpbGUgKG5ldyBpbiBPcnRoYW5jIDEuNS4wKQotICAiRGljb21Nb2RhbGl0aWVz SW5EYXRhYmFzZSIgOiBmYWxzZSwKLQotICAvLyBXaGV0aGVyIHRoZSBDLUVDSE8gU0NVIGlzIGF1 dG9tYXRpY2FsbHkgZm9sbG93ZWQgYnkgYSBDLUZJTkQgU0NVLAotICAvLyB3aGlsZSB0ZXN0aW5n IHRoZSBjb25uZWN0aXZpdHkgZnJvbSBPcnRoYW5jIHRvIGEgcmVtb3RlIERJQ09NCi0gIC8vIG1v ZGFsaXR5LiBUaGlzIGFsbG93cyBvbmUgdG8gY2hlY2sgdGhhdCB0aGUgcmVtb3RlIG1vZGFsaXR5 IGRvZXMKLSAgLy8gYWNjZXB0IEMtRklORCByZXF1ZXN0cyBmcm9tIE9ydGhhbmMgKG5ldyBpbiBP cnRoYW5jIDEuOC4xKS4KLSAgIkRpY29tRWNob0NoZWNrc0ZpbmQiIDogZmFsc2UsCi0KLSAgLy8g VGhlIHRpbWVvdXQgKGluIHNlY29uZHMpIGFmdGVyIHdoaWNoIHRoZSBESUNPTSBhc3NvY2lhdGlv bnMgYXJlCi0gIC8vIGNvbnNpZGVyZWQgYXMgY2xvc2VkIGJ5IHRoZSBPcnRoYW5jIFNDVSAoY2xp ZW50KSBpZiB0aGUgcmVtb3RlCi0gIC8vIERJQ09NIFNDUCAoc2VydmVyKSBkb2VzIG5vdCBhbnN3 ZXIuCi0gICJEaWNvbVNjdVRpbWVvdXQiIDogMTAsCi0KLSAgLy8gRHVyaW5nIGEgQy1TVE9SRSBT Q1UgcmVxdWVzdCBpbml0aWF0ZWQgYnkgT3J0aGFuYywgaWYgdGhlIHJlbW90ZQotICAvLyBtb2Rh bGl0eSBkb2Vzbid0IHN1cHBvcnQgdGhlIG9yaWdpbmFsIHRyYW5zZmVyIHN5bnRheCBvZiBzb21l Ci0gIC8vIERJQ09NIGluc3RhbmNlLCBzcGVjaWZ5IHdoaWNoIHRyYW5zZmVyIHN5bnRheCBzaG91 bGQgYmUgcHJlZmVycmVkCi0gIC8vIHRvIHRyYW5zY29kZSB0aGlzIGluc3RhbmNlIChwcm92aWRl ZCB0aGUgcmVtb3RlIG1vZGFsaXR5IGFjY2VwdHMKLSAgLy8gdGhpcyBzeW50YXgpLiBJbiBPcnRo YW5jIGJldHdlZW4gMS43LjAgYW5kIDEuOC4yLCB0aGlzIHBhcmFtZXRlcgotICAvLyB3YXMgaW1w bGljaXRseSBzZXQgdG8gIkxpdHRsZSBFbmRpYW4gSW1wbGljaXQiCi0gIC8vICgxLjIuODQwLjEw MDA4LjEuMikuIEluIE9ydGhhbmMgPD0gMS42LjEgYW5kIGluIE9ydGhhbmMgPj0gMS45LjAsCi0g IC8vIHRoaXMgcGFyYW1ldGVyIGlzIGJ5IGRlZmF1bHQgc2V0IHRvICJMaXR0bGUgRW5kaWFuIEV4 cGxpY2l0IgotICAvLyAoMS4yLjg0MC4xMDAwOC4xLjIuMSkuIFRoaXMgcGFyYW1ldGVyIGNhbiBw b3NzaWJseSBjb3JyZXNwb25kIHRvCi0gIC8vIGEgY29tcHJlc3NlZCB0cmFuc2ZlciBzeW50YXgu IChuZXcgaW4gT3J0aGFuYyAxLjkuMCkKLSAgIkRpY29tU2N1UHJlZmVycmVkVHJhbnNmZXJTeW50 YXgiIDogIjEuMi44NDAuMTAwMDguMS4yLjEiLAotCi0gIC8vIE51bWJlciBvZiB0aHJlYWRzIHRo YXQgYXJlIHVzZWQgYnkgdGhlIGVtYmVkZGVkIERJQ09NIHNlcnZlci4KLSAgLy8gVGhpcyBkZWZp bmVzIHRoZSBudW1iZXIgb2YgY29uY3VycmVudCBESUNPTSBvcGVyYXRpb25zIHRoYXQgY2FuCi0g IC8vIGJlIHJ1bi4gTm90ZTogVGhpcyBpcyBub3QgbGltaXRpbmcgdGhlIG51bWJlciBvZiBjb25j dXJyZW50Ci0gIC8vIGNvbm5lY3Rpb25zLiBXaXRoIGEgc2luZ2xlIHRocmVhZCwgaWYgYSBDLUZp bmQgaXMgcmVjZWl2ZWQgZHVyaW5nCi0gIC8vIGUuZyB0aGUgdHJhbnNjb2Rpbmcgb2YgYW4gaW5j b21pbmcgQy1TdG9yZSwgaXQgd2lsbCBoYXZlIHRvIHdhaXQKLSAgLy8gdW50aWwgdGhlIGVuZCBv ZiB0aGUgQy1TdG9yZSBiZWZvcmUgYmVpbmcgcHJvY2Vzc2VkLiAobmV3IGluCi0gIC8vIE9ydGhh bmMgMS4xMC4wLCBiZWZvcmUgdGhpcyB2ZXJzaW9uLCB0aGUgdmFsdWUgd2FzIGZpeGVkIHRvIDQp Ci0gICJEaWNvbVRocmVhZHNDb3VudCIgOiA0LAotCi0gIC8vIFRoZSBsaXN0IG9mIHRoZSBrbm93 biBPcnRoYW5jIHBlZXJzLiBUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIGlmCi0gIC8vICJPcnRoYW5j UGVlcnNJbkRhdGFiYXNlIiBpcyBzZXQgdG8gInRydWUiLCBpbiB3aGljaCBjYXNlIHlvdSBtdXN0 Ci0gIC8vIHVzZSB0aGUgUkVTVCBBUEkgdG8gZGVmaW5lIE9ydGhhbmMgcGVlcnMuCi0gICJPcnRo YW5jUGVlcnMiIDogewotICAgIC8qKgotICAgICAqIEVhY2ggbGluZSBnaXZlcyB0aGUgYmFzZSBV Ukwgb2YgYW4gT3J0aGFuYyBwZWVyLCBwb3NzaWJseQotICAgICAqIGZvbGxvd2VkIGJ5IHRoZSB1 c2VybmFtZS9wYXNzd29yZCBwYWlyIChpZiB0aGUgcGFzc3dvcmQKLSAgICAgKiBwcm90ZWN0aW9u IGlzIGVuYWJsZWQgb24gdGhlIHBlZXIpLgotICAgICAqKi8KLSAgICAvLyAicGVlciIgIDogWyAi aHR0cDovLzEyNy4wLjAuMTo4MDQzLyIsICJhbGljZSIsICJhbGljZVBhc3N3b3JkIiBdCi0gICAg Ly8gInBlZXIyIiA6IFsgImh0dHA6Ly8xMjcuMC4wLjE6ODA0NC8iIF0KLQotICAgIC8qKgotICAg ICAqIFRoaXMgaXMgYW5vdGhlciwgbW9yZSBhZHZhbmNlZCBmb3JtYXQgdG8gZGVmaW5lIE9ydGhh bmMKLSAgICAgKiBwZWVycy4gSXQgbm90YWJseSBhbGxvd3Mgb25lIHRvIHNwZWNpZnkgSFRUUCBo ZWFkZXJzLCBhIEhUVFBTCi0gICAgICogY2xpZW50IGNlcnRpZmljYXRlIGluIHRoZSBQRU0gZm9y bWF0IChhcyBpbiB0aGUgIi0tY2VydCIgb3B0aW9uCi0gICAgICogb2YgY3VybCksIG9yIHRvIGVu YWJsZSBQS0NTIzExIGF1dGhlbnRpY2F0aW9uIGZvciBzbWFydCBjYXJkcy4KLSAgICAgKgotICAg ICAqIFRoZSAiVGltZW91dCIgb3B0aW9uIGFsbG93cyBvbmUgdG8gb3ZlcndyaXRlIHRoZSBnbG9i YWwgdmFsdWUKLSAgICAgKiAiSHR0cFRpbWVvdXQiIG9uIGEgcGVyLXBlZXIgYmFzaXMuCi0gICAg ICoqLwotICAgIC8vICJwZWVyIiA6IHsKLSAgICAvLyAgICJVcmwiIDogImh0dHA6Ly8xMjcuMC4w LjE6ODA0My8iLAotICAgIC8vICAgIlVzZXJuYW1lIiA6ICJhbGljZSIsCi0gICAgLy8gICAiUGFz c3dvcmQiIDogImFsaWNlUGFzc3dvcmQiLAotICAgIC8vICAgIkh0dHBIZWFkZXJzIiA6IHsgIlRv a2VuIiA6ICJIZWxsbyB3b3JsZCIgfSwKLSAgICAvLyAgICJDZXJ0aWZpY2F0ZUZpbGUiIDogImNs aWVudC5jcnQiLAotICAgIC8vICAgIkNlcnRpZmljYXRlS2V5RmlsZSIgOiAiY2xpZW50LmtleSIs Ci0gICAgLy8gICAiQ2VydGlmaWNhdGVLZXlQYXNzd29yZCIgOiAiY2VydHBhc3MiLAotICAgIC8v ICAgIlBrY3MxMSIgOiBmYWxzZSwKLSAgICAvLyAgICJUaW1lb3V0IiA6IDQyICAgICAgICAgICAg Ly8gTmV3IGluIE9ydGhhbmMgMS45LjEKLSAgICAvLyB9Ci0gIH0sCi0KLSAgLy8gV2hldGhlciB0 byBzdG9yZSB0aGUgT3J0aGFuYyBwZWVycyBpbiB0aGUgT3J0aGFuYyBkYXRhYmFzZQotICAvLyBp bnN0ZWFkIG9mIGluIHRoaXMgY29uZmlndXJhdGlvbiBmaWxlIChuZXcgaW4gT3J0aGFuYyAxLjUu MCkKLSAgIk9ydGhhbmNQZWVyc0luRGF0YWJhc2UiIDogZmFsc2UsCi0KLSAgLy8gUGFyYW1ldGVy cyBvZiB0aGUgSFRUUCBwcm94eSB0byBiZSB1c2VkIGJ5IE9ydGhhbmMuIElmIHNldCB0byB0aGUK LSAgLy8gZW1wdHkgc3RyaW5nLCBubyBIVFRQIHByb3h5IGlzIHVzZWQuIEZvciBpbnN0YW5jZToK LSAgLy8gICAiSHR0cFByb3h5IiA6ICIxOTIuMTY4LjAuMTozMTI4IgotICAvLyAgICJIdHRwUHJv eHkiIDogInByb3h5VXNlcjpwcm94eVBhc3N3b3JkQDE5Mi4xNjguMC4xOjMxMjgiCi0gICJIdHRw UHJveHkiIDogIiIsCi0KLSAgLy8gSWYgc2V0IHRvICJ0cnVlIiwgZGVidWcgbWVzc2FnZXMgZnJv bSBsaWJjdXJsIHdpbGwgYmUgaXNzdWVkCi0gIC8vIHdoZW5ldmVyIE9ydGhhbmMgbWFrZXMgYW4g b3V0Z29pbmcgSFRUUCByZXF1ZXN0LiBUaGlzIGlzIG5vdGFibHkKLSAgLy8gdXNlZnVsIHRvIGRl YnVnIEhUVFBTLXJlbGF0ZWQgcHJvYmxlbXMuCi0gICJIdHRwVmVyYm9zZSIgOiBmYWxzZSwKLQot ICAvLyBTZXQgdGhlIHRpbWVvdXQgZm9yIEhUVFAgcmVxdWVzdHMgaXNzdWVkIGJ5IE9ydGhhbmMg KGluIHNlY29uZHMpLgotICAiSHR0cFRpbWVvdXQiIDogNjAsCi0KLSAgLy8gRW5hYmxlIHRoZSB2 ZXJpZmljYXRpb24gb2YgdGhlIHBlZXJzIGR1cmluZyBIVFRQUyByZXF1ZXN0cy4gVGhpcwotICAv LyBvcHRpb24gbXVzdCBiZSBzZXQgdG8gImZhbHNlIiBpZiB1c2luZyBzZWxmLXNpZ25lZCBjZXJ0 aWZpY2F0ZXMuCi0gIC8vIFBheSBhdHRlbnRpb24gdGhhdCBzZXR0aW5nIHRoaXMgb3B0aW9uIHRv ICJmYWxzZSIgcmVzdWx0cyBpbgotICAvLyBzZWN1cml0eSByaXNrcyEKLSAgLy8gUmVmZXJlbmNl OiBodHRwOi8vY3VybC5oYXh4LnNlL2RvY3Mvc3NsY2VydHMuaHRtbAotICAiSHR0cHNWZXJpZnlQ ZWVycyIgOiB0cnVlLAotCi0gIC8vIFBhdGggdG8gdGhlIENBIChjZXJ0aWZpY2F0aW9uIGF1dGhv cml0eSkgY2VydGlmaWNhdGVzIHRvIHZhbGlkYXRlCi0gIC8vIHBlZXJzIGluIEhUVFBTIHJlcXVl c3RzLiBGcm9tIGN1cmwgZG9jdW1lbnRhdGlvbiAoIi0tY2FjZXJ0IgotICAvLyBvcHRpb24pOiAi VGVsbHMgY3VybCB0byB1c2UgdGhlIHNwZWNpZmllZCBjZXJ0aWZpY2F0ZSBmaWxlIHRvCi0gIC8v IHZlcmlmeSB0aGUgcGVlcnMuIFRoZSBmaWxlIG1heSBjb250YWluIG11bHRpcGxlIENBCi0gIC8v IGNlcnRpZmljYXRlcy4gVGhlIGNlcnRpZmljYXRlKHMpIG11c3QgYmUgaW4gUEVNIGZvcm1hdC4i IE9uCi0gIC8vIERlYmlhbi1iYXNlZCBzeXN0ZW1zLCB0aGlzIG9wdGlvbiBjYW4gYmUgc2V0IHRv Ci0gIC8vICIvZXRjL3NzbC9jZXJ0cy9jYS1jZXJ0aWZpY2F0ZXMuY3J0IgotICAiSHR0cHNDQUNl cnRpZmljYXRlcyIgOiAiIiwKLQotCi0KLSAgLyoqCi0gICAqIEFkdmFuY2VkIG9wdGlvbnMKLSAg ICoqLwotCi0gIC8vIERpY3Rpb25hcnkgb2Ygc3ltYm9saWMgbmFtZXMgZm9yIHRoZSB1c2VyLWRl ZmluZWQgbWV0YWRhdGEuIEVhY2gKLSAgLy8gZW50cnkgbXVzdCBtYXAgYW4gdW5pcXVlIHN0cmlu ZyB0byBhbiB1bmlxdWUgbnVtYmVyIGJldHdlZW4gMTAyNAotICAvLyBhbmQgNjU1MzUuIFJlc2Vy dmVkIHZhbHVlczoKLSAgLy8gIC0gVGhlIE9ydGhhbmMgd2hvbGUtc2xpZGUgaW1hZ2luZyBwbHVn aW4gdXNlcyBtZXRhZGF0YSA0MjAwCi0gICJVc2VyTWV0YWRhdGEiIDogewotICAgIC8vICJTYW1w bGUiIDogMTAyNAotICB9LAotCi0gIC8vIERpY3Rpb25hcnkgb2Ygc3ltYm9saWMgbmFtZXMgZm9y IHRoZSB1c2VyLWRlZmluZWQgdHlwZXMgb2YKLSAgLy8gYXR0YWNoZWQgZmlsZXMuIEVhY2ggZW50 cnkgbXVzdCBtYXAgYW4gdW5pcXVlIHN0cmluZyB0byBhbiB1bmlxdWUKLSAgLy8gbnVtYmVyIGJl dHdlZW4gMTAyNCBhbmQgNjU1MzUuIE9wdGlvbmFsbHksIGEgc2Vjb25kIGFyZ3VtZW50IGNhbgot ICAvLyBwcm92aWRlZCB0byBzcGVjaWZ5IGEgTUlNRSBjb250ZW50IHR5cGUgZm9yIHRoZSBhdHRh Y2htZW50LgotICAiVXNlckNvbnRlbnRUeXBlIiA6IHsKLSAgICAvLyAic2FtcGxlIiA6IDEwMjQK LSAgICAvLyAic2FtcGxlMiIgOiBbIDEwMjUsICJhcHBsaWNhdGlvbi9wZGYiIF0KLSAgfSwKLQot ICAvLyBOdW1iZXIgb2Ygc2Vjb25kcyB3aXRob3V0IHJlY2VpdmluZyBhbnkgaW5zdGFuY2UgYmVm b3JlIGEKLSAgLy8gcGF0aWVudCwgYSBzdHVkeSBvciBhIHNlcmllcyBpcyBjb25zaWRlcmVkIGFz IHN0YWJsZS4KLSAgIlN0YWJsZUFnZSIgOiA2MCwKLQotICAvLyBCeSBkZWZhdWx0LCBPcnRoYW5j IGNvbXBhcmVzIEFFVCAoQXBwbGljYXRpb24gRW50aXR5IFRpdGxlcykgaW4gYQotICAvLyBjYXNl LWluc2Vuc2l0aXZlIHdheS4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byAidHJ1ZSIgd2lsbCBlbmFi bGUKLSAgLy8gY2FzZS1zZW5zaXRpdmUgbWF0Y2hpbmcuCi0gICJTdHJpY3RBZXRDb21wYXJpc29u IiA6IGZhbHNlLAotCi0gIC8vIFdoZW4gdGhlIGZvbGxvd2luZyBvcHRpb24gaXMgInRydWUiLCB0 aGUgTUQ1IG9mIHRoZSBESUNPTSBmaWxlcwotICAvLyB3aWxsIGJlIGNvbXB1dGVkIGFuZCBzdG9y ZWQgaW4gdGhlIE9ydGhhbmMgZGF0YWJhc2UuIFRoaXMKLSAgLy8gaW5mb3JtYXRpb24gY2FuIGJl IHVzZWQgdG8gZGV0ZWN0IGRpc2sgY29ycnVwdGlvbiwgYXQgdGhlIHByaWNlCi0gIC8vIG9mIGEg c21hbGwgcGVyZm9ybWFuY2Ugb3ZlcmhlYWQuCi0gICJTdG9yZU1ENUZvckF0dGFjaG1lbnRzIiA6 IHRydWUsCi0KLSAgLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMgZm9yIGEgc2luZ2xl IEMtRklORCByZXF1ZXN0IGF0IHRoZQotICAvLyBQYXRpZW50LCBTdHVkeSBvciBTZXJpZXMgbGV2 ZWwuIFNldHRpbmcgdGhpcyBvcHRpb24gdG8gIjAiIG1lYW5zCi0gIC8vIG5vIGxpbWl0LgotICAi TGltaXRGaW5kUmVzdWx0cyIgOiAwLAotCi0gIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiByZXN1 bHRzIGZvciBhIHNpbmdsZSBDLUZJTkQgcmVxdWVzdCBhdCB0aGUKLSAgLy8gSW5zdGFuY2UgbGV2 ZWwuIFNldHRpbmcgdGhpcyBvcHRpb24gdG8gIjAiIG1lYW5zIG5vIGxpbWl0LgotICAiTGltaXRG aW5kSW5zdGFuY2VzIiA6IDAsCi0KLSAgLy8gSWYgdGhpcyBvcHRpb24gaXMgc2V0IHRvICJ0cnVl IiAoZGVmYXVsdCBiZWhhdmlvciB1bnRpbCBPcnRoYW5jCi0gIC8vIDEuMy4yKSwgT3J0aGFuYyB3 aWxsIGxvZyB0aGUgcmVzb3VyY2VzIHRoYXQgYXJlIGV4cG9ydGVkIHRvIG90aGVyCi0gIC8vIERJ Q09NIG1vZGFsaXRpZXMgb3IgT3J0aGFuYyBwZWVycywgaW5zaWRlIHRoZSBVUkkKLSAgLy8gIi9l eHBvcnRzIi4gU2V0dGluZyB0aGlzIG9wdGlvbiB0byAiZmFsc2UiIGlzIHVzZWZ1bCB0byBwcmV2 ZW50Ci0gIC8vIHRoZSBpbmRleCB0byBncm93IGluZGVmaW5pdGVseSBpbiBhdXRvLXJvdXRpbmcg dGFza3MgKHRoaXMgaXMgdGhlCi0gIC8vIGRlZmF1bHQgYmVoYXZpb3Igc2luY2UgT3J0aGFuYyAx LjQuMCkuCi0gICJMb2dFeHBvcnRlZFJlc291cmNlcyIgOiBmYWxzZSwKLQotICAvLyBFbmFibGUg b3IgZGlzYWJsZSBIVFRQIEtlZXAtQWxpdmUgKHBlcnNpc3RlbnQgSFRUUAotICAvLyBjb25uZWN0 aW9ucykuIFNldHRpbmcgdGhpcyBvcHRpb24gdG8gInRydWUiIHByZXZlbnRzIE9ydGhhbmMKLSAg Ly8gaXNzdWUgIzMyICgiSHR0cFNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IG11bHRpcGxlIEhUVFAg cmVxdWVzdHMgaW4KLSAgLy8gdGhlIHNhbWUgVENQIHN0cmVhbSIpLCBidXQgY2FuIHBvc3NpYmx5 IHNsb3cgZG93biBIVFRQIGNsaWVudHMKLSAgLy8gdGhhdCBkbyBub3Qgc3VwcG9ydCBwZXJzaXN0 ZW50IGNvbm5lY3Rpb25zLiBUaGUgZGVmYXVsdCBiZWhhdmlvcgotICAvLyB1c2VkIHRvIGJlICJm YWxzZSIgaW4gT3J0aGFuYyA8PSAxLjUuMS4gU2V0dGluZyB0aGlzIG9wdGlvbiB0bwotICAvLyAi ZmFsc2UiIGlzIGFsc28gcmVjb21tZW5kZWQgaWYgT3J0aGFuYyBpcyBjb21waWxlZCBhZ2FpbnN0 Ci0gIC8vIE1vbmdvb3NlLgotICAiS2VlcEFsaXZlIiA6IHRydWUsCi0KLSAgLy8gRW5hYmxlIG9y IGRpc2FibGUgTmFnbGUncyBhbGdvcml0aG0uIE9ubHkgdGFrZW4gaW50bwotICAvLyBjb25zaWRl cmF0aW9uIGlmIE9ydGhhbmMgaXMgY29tcGlsZWQgdG8gdXNlIENpdmV0V2ViLiBFeHBlcmltZW50 cwotICAvLyBzaG93IHRoYXQgYmVzdCBwZXJmb3JtYW5jZSBjYW4gYmUgb2J0YWluZWQgYnkgc2V0 dGluZyBib3RoCi0gIC8vICJLZWVwQWxpdmUiIGFuZCAiVGNwTm9EZWxheSIgdG8gInRydWUiLiBC ZXdhcmUgaG93ZXZlciBvZgotICAvLyBjYXZlYXRzOiBodHRwczovL2VrbGl0emtlLm9yZy90aGUt Y2F2ZWF0cy1vZi10Y3Atbm9kZWxheQotICAiVGNwTm9EZWxheSIgOiB0cnVlLAotCi0gIC8vIE51 bWJlciBvZiB0aHJlYWRzIHRoYXQgYXJlIHVzZWQgYnkgdGhlIGVtYmVkZGVkIEhUVFAgc2VydmVy LgotICAiSHR0cFRocmVhZHNDb3VudCIgOiA1MCwKLQotICAvLyBJZiB0aGlzIG9wdGlvbiBpcyBz ZXQgdG8gImZhbHNlIiwgT3J0aGFuYyB3aWxsIHJ1biBpbiBpbmRleC1vbmx5Ci0gIC8vIG1vZGUu IFRoZSBESUNPTSBmaWxlcyB3aWxsIG5vdCBiZSBzdG9yZWQgb24gdGhlIGRyaXZlOiBPcnRoYW5j Ci0gIC8vIG9ubHkgaW5kZXhlcyB0aGUgc21hbGwgc3Vic2V0IG9mIHRoZSBzby1jYWxsZWQgIm1h aW4gRElDT00gdGFncyIKLSAgLy8gaW4gaXRzIFNRTCBkYXRhYmFzZS4gTm90ZSB0aGF0IHRoaXMg b3B0aW9uIG1pZ2h0IHByZXZlbnQgdGhlCi0gIC8vIHVwZ3JhZGUgdG8gbmV3ZXIgdmVyc2lvbnMg b2YgT3J0aGFuYy4gQWxzbyBub3RlIHRoYXQgdGhpcwotICAvLyBiZWhhdmlvciBtaWdodCBub3Qg YmUgYXZhaWxhYmxlIHdpdGggdGhlIHN0b3JhZ2UgYXJlYSBwbHVnaW5zLgotICAiU3RvcmVEaWNv bSIgOiB0cnVlLAotCi0gIC8vIERJQ09NIGFzc29jaWF0aW9ucyBpbml0aWF0ZWQgYnkgTHVhIHNj cmlwdHMgYXJlIGtlcHQgb3BlbiBhcyBsb25nCi0gIC8vIGFzIG5ldyBESUNPTSBjb21tYW5kcyBh cmUgaXNzdWVkLiBUaGlzIG9wdGlvbiBzZXRzIHRoZSBudW1iZXIgb2YKLSAgLy8gc2Vjb25kcyBv ZiBpbmFjdGl2aXR5IHRvIHdhaXQgYmVmb3JlIGF1dG9tYXRpY2FsbHkgY2xvc2luZyBhCi0gIC8v IERJQ09NIGFzc29jaWF0aW9uIHVzZWQgYnkgTHVhLiBJZiBzZXQgdG8gMCwgdGhlIGNvbm5lY3Rp b24gaXMKLSAgLy8gY2xvc2VkIGltbWVkaWF0ZWx5LiBUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQg aW4gTHVhIHNjcmlwdHMuCi0gICJEaWNvbUFzc29jaWF0aW9uQ2xvc2VEZWxheSIgOiA1LAotCi0g IC8vIE1heGltdW0gbnVtYmVyIG9mIHF1ZXJ5L3JldHJpZXZlIERJQ09NIHJlcXVlc3RzIHRoYXQg YXJlCi0gIC8vIG1haW50YWluZWQgYnkgT3J0aGFuYy4gVGhlIGxlYXN0IHJlY2VudGx5IHVzZWQg cmVxdWVzdHMgZ2V0Ci0gIC8vIGRlbGV0ZWQgYXMgbmV3IHJlcXVlc3RzIGFyZSBpc3N1ZWQuCi0g ICJRdWVyeVJldHJpZXZlU2l6ZSIgOiAxMDAsCi0KLSAgLy8gV2hlbiBoYW5kbGluZyBhIEMtRklO RCBTQ1AgcmVxdWVzdCwgc2V0dGluZyB0aGlzIGZsYWcgdG8gInRydWUiCi0gIC8vIHdpbGwgZW5h YmxlIGNhc2Utc2Vuc2l0aXZlIG1hdGNoIGZvciBQTiB2YWx1ZSByZXByZXNlbnRhdGlvbgotICAv LyAoc3VjaCBhcyBQYXRpZW50TmFtZSkuIEJ5IGRlZmF1bHQsIHRoZSBzZWFyY2ggaXMKLSAgLy8g Y2FzZS1pbnNlbnNpdGl2ZSwgd2hpY2ggZG9lcyBub3QgZm9sbG93IHRoZSBESUNPTSBzdGFuZGFy ZC4KLSAgIkNhc2VTZW5zaXRpdmVQTiIgOiBmYWxzZSwKLQotICAvLyBDb25maWd1cmUgUEtDUyMx MSB0byB1c2UgaGFyZHdhcmUgc2VjdXJpdHkgbW9kdWxlcyAoSFNNKSBhbmQKLSAgLy8gc21hcnQg Y2FyZHMgd2hlbiBjYXJyeWluZyBvbiBIVFRQUyBjbGllbnQgYXV0aGVudGljYXRpb24uCi0gIC8q KgotICAgICAiUGtjczExIiA6IHsKLSAgICAgICAiTW9kdWxlIiA6ICIvdXNyL2xvY2FsL2xpYi9s aWJiZWlkcGtjczExLnNvIiwKLSAgICAgICAiTW9kdWxlIiA6ICJDOi9XaW5kb3dzL1N5c3RlbTMy L2JlaWRwa2NzMTEuZGxsIiwKLSAgICAgICAiUGluIiA6ICIxMjM0IiwKLSAgICAgICAiVmVyYm9z ZSIgOiB0cnVlCi0gICAgIH0KLSAgICoqLwotICAKLSAgLy8gSWYgc2V0IHRvICJmYWxzZSIsIE9y dGhhbmMgd2lsbCBub3QgbG9hZCBpdHMgZGVmYXVsdCBkaWN0aW9uYXJ5Ci0gIC8vIG9mIHByaXZh dGUgdGFncy4gVGhpcyBtaWdodCBiZSBuZWNlc3NhcnkgaWYgeW91IGNhbm5vdCBpbXBvcnQgYQot ICAvLyBESUNPTSBmaWxlIGVuY29kZWQgdXNpbmcgdGhlIEltcGxpY2l0IFZSIEVuZGlhbiB0cmFu c2ZlciBzeW50YXgsCi0gIC8vIGFuZCBjb250YWluaW5nIHByaXZhdGUgdGFnczogU3VjaCBhbiBp bXBvcnQgZXJyb3IgbWlnaHQgc3RlbSBmcm9tCi0gIC8vIGEgYmFkIGRpY3Rpb25hcnkuIFlvdSBj YW4gc3RpbGwgbGlzdCB5b3VyIHByaXZhdGUgdGFncyBvZgotICAvLyBpbnRlcmVzdCBpbiB0aGUg IkRpY3Rpb25hcnkiIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGJlbG93LgotICAiTG9hZFByaXZhdGVE aWN0aW9uYXJ5IiA6IHRydWUsCi0KLSAgLy8gTG9jYWxlIHRvIGJlIHVzZWQgYnkgT3J0aGFuYy4g Q3VycmVudGx5LCBvbmx5IHVzZWQgaWYgY29tcGFyaW5nCi0gIC8vIHN0cmluZ3MgaW4gYSBjYXNl LWluc2Vuc2l0aXZlIHdheS4gSXQgc2hvdWxkIGJlIHNhZmUgdG8ga2VlcCB0aGlzCi0gIC8vIHZh bHVlIHVuZGVmaW5lZCwgd2hpY2ggbGV0cyBPcnRoYW5jIGF1dG9kZXRlY3QgdGhlIHN1aXRhYmxl IGxvY2FsZS4KLSAgLy8gIkxvY2FsZSIgOiAiZW5fVVMuVVRGLTgiLAotCi0gIC8vIFJlZ2lzdGVy IGEgbmV3IHRhZyBpbiB0aGUgZGljdGlvbmFyeSBvZiBESUNPTSB0YWdzIHRoYXQgYXJlIGtub3du Ci0gIC8vIHRvIE9ydGhhbmMuIEVhY2ggbGluZSBtdXN0IGNvbnRhaW4gdGhlIHRhZyAoZm9ybWF0 dGVkIGFzIDIKLSAgLy8gaGV4YWRlY2ltYWwgbnVtYmVycyksIHRoZSB2YWx1ZSByZXByZXNlbnRh dGlvbiAoMiB1cGNhc2UKLSAgLy8gY2hhcmFjdGVycyksIGEgbmlja25hbWUgZm9yIHRoZSB0YWcs IHBvc3NpYmx5IHRoZSBtaW5pbXVtCi0gIC8vIG11bHRpcGxpY2l0eSAoPiAwIHdpdGggZGVmYXVs dHMgdG8gMSksIHBvc3NpYmx5IHRoZSBtYXhpbXVtCi0gIC8vIG11bHRpcGxpY2l0eSAoMCBtZWFu cyBhcmJpdHJhcnkgbXVsdGlwbGljaXR5LCBkZWZhdWx0cyB0byAxKSwgYW5kCi0gIC8vIHBvc3Np Ymx5IHRoZSBQcml2YXRlIENyZWF0b3IgKGZvciBwcml2YXRlIHRhZ3MpLgotICAvLyBOb3RlOiBG b3IgcHJpdmF0ZSB0YWdzLCB5b3Ugc2hvdWxkIG9ubHkgZGVjbGFyZSB0aGUgbG93ZXIgOCBiaXRz Ci0gIC8vIG9mIHRoZSBlbGVtZW50IHNpbmNlIHRoZSBoaWdoZXIgOCBiaXRzIG1heSB2YXJ5IGZy b20gb25lIGZpbGUgdG8KLSAgLy8gdGhlIG90aGVyLgotICAiRGljdGlvbmFyeSIgOiB7Ci0gICAg Ly8gIjAwMTQsMTAyMCIgOiBbICJEQSIsICJWYWxpZGF0aW9uRXhwaXJ5RGF0ZSIsIDEsIDEgXQot ICAgIC8vICIwMGUxLGMyIiA6IFsgIlVJIiwgIlBFVC1DVCBNdWx0aSBNb2RhbGl0eSBOYW1lIiwg MSwgMSwgIkVMU0NJTlQxIiBdCi0gICAgLy8gIjcwNTMsMDMiIDogWyAiU1QiLCAiT3JpZ2luYWwg SW1hZ2UgRmlsZW5hbWUiLCAxLCAxLCAiUGhpbGlwcyBQRVQgUHJpdmF0ZSBHcm91cCIgXQotICAg IC8vICIyMDAxLDVmIiA6IFsgIlNRIiwgIlN0YWNrU2VxdWVuY2UiLCAxLCAxLCAiUGhpbGlwcyBJ bWFnaW5nIEREIDAwMSIgXQotICB9LAotCi0gIC8vIExvYWQgYSBzZXQgb2YgZXh0ZXJuYWwgRElD T00gZGljdGlvbmFyaWVzIGluIG9yZGVyIHRvIHJlcGxhY2UgdGhlCi0gIC8vIGRlZmF1bHQgZGlj dGlvbmFyaWVzLiBUaGlzIG9wdGlvbiBtdXN0IGNvbnRhaW4gYSBzZXQgb2YgZmlsZXMgaW4KLSAg Ly8gdGhlIERDTVRLIGZvcm1hdC4gVGhlIG9yZGVyIG9mIHRoZSBkaWN0aW9uYXJpZXMgKmlzKgot ICAvLyBpbXBvcnRhbnQuIFRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHR1cm4gT3J0aGFuYyBp bnRvIGEgRElDT05ERQotICAvLyBzZXJ2ZXIuIChuZXcgaW4gT3J0aGFuYyAxLjkuNCkKLSAgLyoq Ci0gICAgICJFeHRlcm5hbERpY3Rpb25hcmllcyIgOiBbCi0gICAgICIvdXNyL3NoYXJlL2RjbXRr L2RpY29tLmRpYyIsCi0gICAgICIvdXNyL3NoYXJlL2RjbXRrL2RpY29uZGUuZGljIgotICAgICBd Ci0gICoqLwotCi0gIC8vIFdoZXRoZXIgdG8gcnVuIERJQ09NIEMtTU9WRSBvcGVyYXRpb25zIHN5 bmNocm9ub3VzbHkuIElmIHNldCB0bwotICAvLyAiZmFsc2UiIChhc3luY2hyb25vdXMgbW9kZSks IGVhY2ggaW5jb21pbmcgQy1NT1ZFIHJlcXVlc3QgcmVzdWx0cwotICAvLyBpbiB0aGUgY3JlYXRp b24gb2YgYSBuZXcgYmFja2dyb3VuZCBqb2IuIFVwIHRvIE9ydGhhbmMgMS4zLjIsIHRoZQotICAv LyBpbXBsaWNpdCBiZWhhdmlvciB3YXMgdG8gdXNlIHN5bmNocm9ub3VzIEMtTU9WRSAoInRydWUi KS4gQmV0d2VlbgotICAvLyBPcnRoYW5jIDEuNC4wIGFuZCAxLjQuMiwgdGhlIGRlZmF1bHQgYmVo YXZpb3Igd2FzIHNldCB0bwotICAvLyBhc3luY2hyb25vdXMgQy1NT1ZFICgiZmFsc2UiKS4gU2lu Y2UgT3J0aGFuYyAxLjUuMCwgdGhlIGRlZmF1bHQKLSAgLy8gYmVoYXZpb3IgaXMgYmFjayB0byBz eW5jaHJvbm91cyBDLU1PVkUgKCJ0cnVlIiwgd2hpY2ggZW5zdXJlcwotICAvLyBiYWNrd2FyZCBj b21wYXRpYmlsaXR5IHdpdGggT3J0aGFuYyA8PSAxLjMuMikuCi0gICJTeW5jaHJvbm91c0NNb3Zl IiA6IHRydWUsCi0KLSAgLy8gTWF4aW11bSBudW1iZXIgb2YgY29tcGxldGVkIGpvYnMgdGhhdCBh cmUga2VwdCBpbiBtZW1vcnkuIEEKLSAgLy8gcHJvY2Vzc2luZyBqb2IgaXMgY29uc2lkZXJlZCBh cyBjb21wbGV0ZSBvbmNlIGl0IGlzIHRhZ2dlZCBhcwotICAvLyAiU3VjY2VzcyIgb3IgIkZhaWx1 cmUiLiBTaW5jZSBPcnRoYW5jIDEuNS4wLCBhIHZhbHVlIG9mICIwIgotICAvLyBpbmRpY2F0ZXMg dG8ga2VlcCBubyBqb2IgaW4gbWVtb3J5IChpLmUuIGpvYnMgYXJlIHJlbW92ZWQgZnJvbQotICAv LyB0aGUgaGlzdG9yeSBhcyBzb29uIGFzIHRoZXkgYXJlIGNvbXBsZXRlZCksIHdoaWNoIHByZXZl bnRzIHRoZQotICAvLyB1c2Ugb2Ygc29tZSBmZWF0dXJlcyBvZiBPcnRoYW5jICh0eXBpY2FsbHks IHN5bmNocm9ub3VzIG1vZGUgaW4KLSAgLy8gUkVTVCBBUEkpIGFuZCBzaG91bGQgYmUgYXZvaWRl ZCBmb3Igbm9uLWRldmVsb3BlcnMuCi0gICJKb2JzSGlzdG9yeVNpemUiIDogMTAsCi0KLSAgLy8g V2hldGhlciB0byBzYXZlIHRoZSBqb2JzIGludG8gdGhlIE9ydGhhbmMgZGF0YWJhc2UuIElmIHRo aXMKLSAgLy8gb3B0aW9uIGlzIHNldCB0byAidHJ1ZSIsIHRoZSBwZW5kaW5nL3J1bm5pbmcvY29t cGxldGVkIGpvYnMgYXJlCi0gIC8vIGF1dG9tYXRpY2FsbHkgcmVsb2FkZWQgZnJvbSB0aGUgZGF0 YWJhc2UgaWYgT3J0aGFuYyBpcyBzdG9wcGVkCi0gIC8vIHRoZW4gcmVzdGFydGVkIChleGNlcHQg aWYgdGhlICItLW5vLWpvYnMiIGNvbW1hbmQtbGluZSBhcmd1bWVudAotICAvLyBpcyBzcGVjaWZp ZWQpLiBUaGlzIG9wdGlvbiBzaG91bGQgYmUgc2V0IHRvICJmYWxzZSIgaWYgbXVsdGlwbGUKLSAg Ly8gT3J0aGFuYyBzZXJ2ZXJzIGFyZSB1c2luZyB0aGUgc2FtZSBkYXRhYmFzZSAoZS5nLiBpZiBQ b3N0Z3JlU1FMCi0gIC8vIG9yIE1hcmlhREIvTXlTUUwgaXMgdXNlZCkuCi0gICJTYXZlSm9icyIg OiB0cnVlLAotCi0gIC8vIFNwZWNpZmllcyBob3cgT3J0aGFuYyByZWFjdHMgd2hlbiBpdCByZWNl aXZlcyBhIERJQ09NIGluc3RhbmNlCi0gIC8vIHdob3NlIFNPUEluc3RhbmNlVUlEIGlzIGFscmVh ZHkgc3RvcmVkLiBJZiBzZXQgdG8gInRydWUiLCB0aGUgbmV3Ci0gIC8vIGluc3RhbmNlIHJlcGxh Y2VzIHRoZSBvbGQgb25lLiBJZiBzZXQgdG8gImZhbHNlIiwgdGhlIG5ldwotICAvLyBpbnN0YW5j ZSBpcyBkaXNjYXJkZWQgYW5kIHRoZSBvbGQgb25lIGlzIGtlcHQuIFVwIHRvIE9ydGhhbmMKLSAg Ly8gMS40LjEsIHRoZSBpbXBsaWNpdCBiZWhhdmlvciBjb3JyZXNwb25kZWQgdG8gImZhbHNlIi4K LSAgIk92ZXJ3cml0ZUluc3RhbmNlcyIgOiBmYWxzZSwKLQotICAvLyBNYXhpbXVtIG51bWJlciBv ZiBaSVAvbWVkaWEgYXJjaGl2ZXMgdGhhdCBhcmUgbWFpbnRhaW5lZCBieQotICAvLyBPcnRoYW5j LCBhcyBhIHJlc3BvbnNlIHRvIHRoZSBhc3luY2hyb25vdXMgY3JlYXRpb24gb2YgYXJjaGl2ZXMu Ci0gIC8vIFRoZSBsZWFzdCByZWNlbnRseSB1c2VkIGFyY2hpdmVzIGdldCBkZWxldGVkIGFzIG5l dyBhcmNoaXZlcyBhcmUKLSAgLy8gZ2VuZXJhdGVkLiBUaGlzIG9wdGlvbiB3YXMgaW50cm9kdWNl ZCBpbiBPcnRoYW5jIDEuNS4wLCBhbmQgaGFzCi0gIC8vIG5vIGVmZmVjdCBvbiB0aGUgc3luY2hy b25vdXMgZ2VuZXJhdGlvbiBvZiBhcmNoaXZlcy4KLSAgIk1lZGlhQXJjaGl2ZVNpemUiIDogMSwK LQotICAvLyBQZXJmb3JtYW5jZSBzZXR0aW5nIHRvIHNwZWNpZnkgaG93IE9ydGhhbmMgYWNjZXNz ZXMgdGhlIHN0b3JhZ2UKLSAgLy8gYXJlYSBkdXJpbmcgZmluZCBvcGVyYXRpb25zIChDLUZJTkQs IC90b29scy9maW5kIEFQSSByb3V0ZSBhbmQKLSAgLy8gUUlETy1SUyBpbiBkaWNvbS13ZWIpLiBU aHJlZSBtb2RlcyBhcmUgYXZhaWxhYmxlOiAoMSkgIkFsd2F5cyIKLSAgLy8gYWxsb3dzIE9ydGhh bmMgdG8gcmVhZCB0aGUgc3RvcmFnZSBhcmVhIGFzIHNvb24gYXMgaXQgbmVlZHMgYW4KLSAgLy8g aW5mb3JtYXRpb24gdGhhdCBpcyBub3QgcHJlc2VudCBpbiBpdHMgZGF0YWJhc2UgKHNsb3dlc3Qg bW9kZSksCi0gIC8vICgyKSAiTmV2ZXIiIHByZXZlbnRzIE9ydGhhbmMgZnJvbSBhY2Nlc3Npbmcg dGhlIHN0b3JhZ2UgYXJlYSwgYW5kCi0gIC8vIG1ha2VzIGl0IHVzZXMgZXhjbHVzaXZlbHkgaXRz IGRhdGFiYXNlIChmYXN0ZXN0IG1vZGUpLCBhbmQgKDMpCi0gIC8vICJBbnN3ZXJzIiBhbGxvd3Mg T3J0aGFuYyB0byByZWFkIHRoZSBzdG9yYWdlIGFyZWEgdG8gZ2VuZXJhdGUgaXRzCi0gIC8vIGFu c3dlcnMsIGJ1dCBub3QgdG8gZmlsdGVyIHRoZSBESUNPTSByZXNvdXJjZXMgKGJhbGFuY2UgYmV0 d2VlbgotICAvLyB0aGUgdHdvIG1vZGVzKS4gQnkgZGVmYXVsdCwgdGhlIG1vZGUgaXMgIkFsd2F5 cyIsIHdoaWNoCi0gIC8vIGNvcnJlc3BvbmRzIHRvIHRoZSBiZWhhdmlvciBvZiBPcnRoYW5jIDw9 IDEuNS4wLgotICAiU3RvcmFnZUFjY2Vzc09uRmluZCIgOiAiQWx3YXlzIiwKLQotICAvLyBXaGV0 aGVyIE9ydGhhbmMgbW9uaXRvcnMgaXRzIG1ldHJpY3MgKG5ldyBpbiBPcnRoYW5jIDEuNS40KS4g SWYKLSAgLy8gc2V0IHRvICJ0cnVlIiwgdGhlIG1ldHJpY3MgY2FuIGJlIHJldHJpZXZlZCBhdAot ICAvLyAiL3Rvb2xzL21ldHJpY3MtcHJvbWV0aGV1cyIgZm9ybWV0dGVkIHVzaW5nIHRoZSBQcm9t ZXRoZXVzCi0gIC8vIHRleHQtYmFzZWQgZXhwb3NpdGlvbiBmb3JtYXQuCi0gICJNZXRyaWNzRW5h YmxlZCIgOiB0cnVlLAotCi0gIC8vIFdoZXRoZXIgY2FsbHMgdG8gVVJJICIvdG9vbHMvZXhlY3V0 ZS1zY3JpcHQiIGlzIGVuYWJsZWQuIFN0YXJ0aW5nCi0gIC8vIHdpdGggT3J0aGFuYyAxLjUuOCwg dGhpcyBVUkkgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3Igc2VjdXJpdHkuCi0gICJFeGVjdXRl THVhRW5hYmxlZCIgOiBmYWxzZSwKLQotICAvLyBTZXQgdGhlIHRpbWVvdXQgd2hpbGUgc2Vydmlu ZyBIVFRQIHJlcXVlc3RzIGJ5IHRoZSBlbWJlZGRlZCBXZWIKLSAgLy8gc2VydmVyLCBpbiBzZWNv bmRzLiBUaGlzIGNvcnJlc3BvbmRzIHRvIG9wdGlvbgotICAvLyAicmVxdWVzdF90aW1lb3V0X21z IiBvZiBNb25nb29zZS9DaXZldHdlYi4gSXQgd2lsbCBzZXQgdGhlIHNvY2tldAotICAvLyBvcHRp b25zICJTT19SQ1ZUSU1FTyIgYW5kICJTT19TTkRUSU1FTyIgdG8gdGhlIHNwZWNpZmllZCB2YWx1 ZS4KLSAgIkh0dHBSZXF1ZXN0VGltZW91dCIgOiAzMCwKLQotICAvLyBTZXQgdGhlIGRlZmF1bHQg cHJpdmF0ZSBjcmVhdG9yIHRoYXQgaXMgdXNlZCBieSBPcnRoYW5jIHdoZW4gaXQKLSAgLy8gbG9v a3MgZm9yIGEgcHJpdmF0ZSB0YWcgaW4gaXRzIGRpY3Rpb25hcnkgKGNmLiAiRGljdGlvbmFyeSIK LSAgLy8gb3B0aW9uKSwgb3Igd2hlbiBpdCBjcmVhdGVzL21vZGlmaWVzIGEgRElDT00gZmlsZSAo bmV3IGluIE9ydGhhbmMgMS42LjApLgotICAiRGVmYXVsdFByaXZhdGVDcmVhdG9yIiA6ICIiLAot Ci0gIC8vIE1heGltdW0gbnVtYmVyIG9mIHN0b3JhZ2UgY29tbWl0bWVudCByZXBvcnRzIChpLmUu IHJlY2VpdmVkIGZyb20KLSAgLy8gcmVtb3RlIG1vZGFsaXRpZXMpIHRvIGJlIGtlcHQgaW4gbWVt b3J5IChuZXcgaW4gT3J0aGFuYyAxLjYuMCkuCi0gICJTdG9yYWdlQ29tbWl0bWVudFJlcG9ydHNT aXplIiA6IDEwMCwKLQotICAvLyBXaGV0aGVyIE9ydGhhbmMgdHJhbnNjb2RlcyBESUNPTSBmaWxl cyB0byBhbiB1bmNvbXByZXNzZWQKLSAgLy8gdHJhbnNmZXIgc3ludGF4IG92ZXIgdGhlIERJQ09N IHByb3RvY29sLCBpZiB0aGUgcmVtb3RlIG1vZGFsaXR5Ci0gIC8vIGRvZXMgbm90IHN1cHBvcnQg Y29tcHJlc3NlZCB0cmFuc2ZlciBzeW50YXhlcyAobmV3IGluIE9ydGhhbmMgMS43LjApLgotICAi VHJhbnNjb2RlRGljb21Qcm90b2NvbCIgOiB0cnVlLAotCi0gIC8vIElmIHNvbWUgcGx1Z2luIHRv IGRlY29kZS90cmFuc2NvZGUgRElDT00gaW5zdGFuY2VzIGlzIGluc3RhbGxlZCwKLSAgLy8gdGhp cyBvcHRpb24gc3BlY2lmaWVzIHdoZXRoZXIgdGhlIGJ1aWx0LWluIGRlY29kZXIvdHJhbnNjb2Rl ciBvZgotICAvLyBPcnRoYW5jICh0aGF0IHVzZXMgRENNVEspIGlzIGFwcGxpZWQgYmVmb3JlIG9y IGFmdGVyIHRoZSBwbHVnaW5zLAotICAvLyBvciBpcyBub3QgYXBwbGllZCBhdCBhbGwgKG5ldyBp biBPcnRoYW5jIDEuNy4wKS4gVGhlIGFsbG93ZWQKLSAgLy8gdmFsdWVzIGZvciB0aGlzIG9wdGlv biBhcmUgIkFmdGVyIiAoZGVmYXVsdCB2YWx1ZSwgY29ycmVzcG9uZGluZwotICAvLyB0byB0aGUg YmVoYXZpb3Igb2YgT3J0aGFuYyA8PSAxLjYuMSksICJCZWZvcmUiLCBvciAiRGlzYWJsZWQiLgot ICAiQnVpbHRpbkRlY29kZXJUcmFuc2NvZGVyT3JkZXIiIDogIkFmdGVyIiwKLQotICAvLyBJZiB0 aGlzIG9wdGlvbiBpcyBzZXQsIE9ydGhhbmMgd2lsbCB0cmFuc3BhcmVudGx5IHRyYW5zY29kZSBh bnkKLSAgLy8gaW5jb21pbmcgRElDT00gaW5zdGFuY2UgdG8gdGhlIGdpdmVuIHRyYW5zZmVyIHN5 bnRheCBiZWZvcmUKLSAgLy8gc3RvcmluZyBpdCBpbnRvIGl0cyBkYXRhYmFzZS4gQmV3YXJlIHRo YXQgdGhpcyBtaWdodCByZXN1bHQgaW4KLSAgLy8gaGlnaCBDUFUgdXNhZ2UgKGlmIHRyYW5zY29k aW5nIHRvIHNvbWUgY29tcHJlc3NlZCB0cmFuc2ZlcgotICAvLyBzeW50YXgpLCBvciBpbiBoaWdo ZXIgZGlzayBjb25zdW1wdGlvbiAoaWYgdHJhbnNjb2RpbmcgdG8gYW4KLSAgLy8gdW5jb21wcmVz c2VkIHN5bnRheCkuIEFsc28sIGJld2FyZSB0aGF0IHRyYW5zY29kaW5nIHRvIGEgdHJhbnNmZXIK LSAgLy8gc3ludGF4IHdpdGggbG9zc3kgY29tcHJlc3Npb24gKG5vdGFibHkgSlBFRykgd2lsbCBj aGFuZ2UgdGhlCi0gIC8vICJTT1BJbnN0YW5jZVVJRCIgRElDT00gdGFnLCBhbmQgdGh1cyB0aGUg T3J0aGFuYyBpZGVudGlmaWVyIGF0Ci0gIC8vIHRoZSBpbnN0YW5jZSBsZXZlbCwgd2hpY2ggbWln aHQgYnJlYWsgZXh0ZXJuYWwgd29ya2Zsb3cuCi0gIC8qKgotICAgICAiSW5nZXN0VHJhbnNjb2Rp bmciIDogIjEuMi44NDAuMTAwMDguMS4yIiwKLSAgKiovCi0KLSAgLy8gV2hldGhlciBpbmdlc3Qg dHJhbnNjb2RpbmcgaXMgYXBwbGllZCB0byBpbmNvbWluZyBESUNPTSBpbnN0YW5jZXMKLSAgLy8g dGhhdCBoYXZlIGFuIHVuY29tcHJlc3NlZCB0cmFuc2ZlciBzeW50YXgsIGkuZS4gTGl0dGxlIEVu ZGlhbgotICAvLyBJbXBsaWNpdCwgTGl0dGxlIEVuZGlhbiBFeHBsaWNpdCBvciBCaWcgRW5kaWFu IEV4cGxpY2l0IChuZXcgaW4KLSAgLy8gT3J0aGFuYyAxLjguMikuCi0gICJJbmdlc3RUcmFuc2Nv ZGluZ09mVW5jb21wcmVzc2VkIiA6IHRydWUsCi0gIAotICAvLyBXaGV0aGVyIGluZ2VzdCB0cmFu c2NvZGluZyBpcyBhcHBsaWVkIHRvIGluY29taW5nIERJQ09NIGluc3RhbmNlcwotICAvLyB0aGF0 IGhhdmUgYSBjb21wcmVzc2VkIHRyYW5zZmVyIHN5bnRheCAobmV3IGluIE9ydGhhbmMgMS44LjIp LgotICAiSW5nZXN0VHJhbnNjb2RpbmdPZkNvbXByZXNzZWQiIDogdHJ1ZSwKLSAgCi0gIC8vIFRo ZSBjb21wcmVzc2lvbiBsZXZlbCB0aGF0IGlzIHVzZWQgd2hlbiB0cmFuc2NvZGluZyB0byBvbmUg b2YgdGhlCi0gIC8vIGxvc3N5L0pQRUcgdHJhbnNmZXIgc3ludGF4ZXMgKGludGVnZXIgYmV0d2Vl biAxIGFuZCAxMDApLgotICAiRGljb21Mb3NzeVRyYW5zY29kaW5nUXVhbGl0eSIgOiA5MCwKLQot ICAvLyBXaGV0aGVyICJmc3luYygpIiBpcyBjYWxsZWQgYWZ0ZXIgZWFjaCB3cml0ZSB0byB0aGUg c3RvcmFnZSBhcmVhCi0gIC8vIChuZXcgaW4gT3J0aGFuYyAxLjcuNCkuIElmIHRoaXMgb3B0aW9u IGlzIHNldCB0byAidHJ1ZSIsIE9ydGhhbmMKLSAgLy8gd2lsbCBydW4gbW9yZSBzbG93bHksIGJ1 dCB0aGUgRElDT00gYXJlIGd1YXJhbnRlZWQgdG8gYmUKLSAgLy8gaW1tZWRpYXRlbHkgd3JpdHRl biB0byB0aGUgZGlzay4gVGhpcyBvcHRpb24gb25seSBtYWtlcyBzZW5zZSBpZgotICAvLyB0aGUg YnVpbHRpbiBmaWxlc3lzdGVtIHN0b3JhZ2UgYXJlYSBpcyB1c2VkLiBJdCBkZWZhdWx0cyB0bwot ICAvLyAiZmFsc2UiIGluIE9ydGhhbmMgPD0gMS43LjMsIGFuZCB0byAidHJ1ZSIgaW4gT3J0aGFu YyA+PSAxLjcuNC4KLSAgIlN5bmNTdG9yYWdlQXJlYSIgOiB0cnVlLAotCi0gIC8vIElmIHNwZWNp ZmllZCwgb24gY29tcGF0aWJsZSBzeXN0ZW1zLCBjYWxsICJtYWxsb3B0KE1fQVJFTkFfTUFYLAot ICAvLyAuLi4pIiB3aGlsZSBzdGFydGluZyBPcnRoYW5jLiBUaGlzIGhhcyB0aGUgc2FtZSBlZmZl Y3QgYXQgc2V0dGluZwotICAvLyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgIk1BTExPQ19BUkVO QV9NQVgiLiBUaGlzIGF2b2lkcyBsYXJnZQotICAvLyBncm93dGggaW4gUkVTIG1lbW9yeSBpZiB0 aGUgdGhyZWFkcyBvZiB0aGUgZW1iZWRkZWQgSFRUUCBzZXJ2ZXIKLSAgLy8gaGF2ZSB0byBhbGxv Y2F0ZSBsYXJnZSBjaHVua3Mgb2YgbWVtb3J5ICh0eXBpY2FsbHkgdGhlIGNhc2Ugd2l0aAotICAv LyBsYXJnZSBESUNPTSBmaWxlcykuIEJ5IHNldHRpbmcgIk1hbGxvY0FyZW5hTWF4IiB0byAiTiIs IHRoZXNlCi0gIC8vIHRocmVhZHMgc2hhcmUgIk4iIG1lbW9yeSBwb29scyAoa25vd24gYXMgImFy ZW5hcyIpLiBTZXR0aW5nIHRoaXMKLSAgLy8gb3B0aW9uIHRvICIwIiBkb2Vzbid0IGNhbGwgbWFs bG9wdCgpIiwgd2hpY2ggd2FzIHRoZSBiZWhhdmlvciBvZgotICAvLyBPcnRoYW5jIDw9IDEuOC4x LgotICAiTWFsbG9jQXJlbmFNYXgiIDogNSwKLQotICAvLyBEZWlkZW50aWZ5L2Fub255bWl6ZSB0 aGUgY29udGVudHMgb2YgdGhlIGxvZ3MgKG5vdGFibHkgQy1GSU5ELAotICAvLyBDLUdFVCwgYW5k IEMtTU9WRSBxdWVyaWVzIHN1Ym1pdHRlZCB0byBPcnRoYW5jKSBhY2NvcmRpbmcgdG8KLSAgLy8g VGFibGUgRS4xLTEgb2YgdGhlIERJQ09NIHN0YW5kYXJkIChuZXcgaW4gT3J0aGFuYyAxLjguMikK LSAgIkRlaWRlbnRpZnlMb2dzIiA6IHRydWUsCi0KLSAgLy8gSWYgIkRlaWRlbnRpZnlMb2dzIiBp cyB0cnVlLCB0aGlzIHNldHMgdGhlIERJQ09NIHN0YW5kYXJkIHRvCi0gIC8vIGZvbGxvdyBmb3Ig dGhlIGRlaWRlbnRpZmljYXRpb24vYW5vbnltaXphdGlvbiBvZiB0aGUgcXVlcnkKLSAgLy8gY29u dGVudHMuIFBvc3NpYmxlIHZhbHVlcyBhcmUgIjIwMDgiLCAiMjAxN2MiIGFuZCAiMjAyMWIiIChu ZXcKLSAgLy8gaW4gT3J0aGFuYyAxLjguMikKLSAgIkRlaWRlbnRpZnlMb2dzRGljb21WZXJzaW9u IiA6ICIyMDIxYiIsCi0KLSAgLy8gTWF4aW11bSBsZW5ndGggb2YgdGhlIFBEVSAoUHJvdG9jb2wg RGF0YSBVbml0KSBpbiB0aGUgRElDT00KLSAgLy8gbmV0d29yayBwcm90b2NvbCwgZXhwcmVzc2Vk IGluIGJ5dGVzLiBUaGlzIHZhbHVlIGFmZmVjdHMgYm90aAotICAvLyBPcnRoYW5jIFNDVSBhbmQg T3J0aGFuYyBTQ1AuIEl0IGRlZmF1bHRzIHRvIDE2S0IuIFRoZSBhbGxvd2VkCi0gIC8vIHJhbmdl IGlzIFs0MDk2LDEzMTA3Ml0uIChuZXcgaW4gT3J0aGFuYyAxLjkuMCkKLSAgIk1heGltdW1QZHVM ZW5ndGgiIDogMTYzODQsCi0KLSAgLy8gQXJiaXRyYXJ5IGlkZW50aWZpZXIgb2YgdGhpcyBPcnRo YW5jIHNlcnZlciB3aGVuIHN0b3JpbmcgaXRzCi0gIC8vIGdsb2JhbCBwcm9wZXJ0aWVzIGlmIGEg Y3VzdG9tIGluZGV4IHBsdWdpbiBpcyB1c2VkLiBUaGlzCi0gIC8vIGlkZW50aWZpZXIgaXMgb25s eSB1c2VmdWwgaW4gdGhlIGNhc2Ugb2YgbXVsdGlwbGUKLSAgLy8gcmVhZGVycy93cml0ZXJzLCBp biBvcmRlciB0byBhdm9pZCBjb2xsaXNpb25zIGJldHdlZW4gbXVsdGlwbGUKLSAgLy8gT3J0aGFu YyBzZXJ2ZXJzLiBJZiB1bnNldCwgdGhpcyBpZGVudGlmaWVyIGlzIHRha2VuIGFzIGEgU0hBLTEK LSAgLy8gaGFzaCBkZXJpdmVkIGZyb20gdGhlIE1BQyBhZGRyZXNzZXMgb2YgdGhlIG5ldHdvcmsg aW50ZXJmYWNlcywKLSAgLy8gYW5kIGZyb20gdGhlIEFFVCBhbmQgVENQIHBvcnRzIHVzZWQgYnkg T3J0aGFuYy4gTWFudWFsbHkgc2V0dGluZwotICAvLyB0aGlzIG9wdGlvbiBpcyBuZWVkZWQgaW4g RG9ja2VyL0t1YmVybmV0ZXMgZW52aXJvbm1lbnRzLiAobmV3IGluCi0gIC8vIE9ydGhhbmMgMS45 LjIpCi0gIC8qKgotICAgICAiRGF0YWJhc2VTZXJ2ZXJJZGVudGlmaWVyIiA6ICJPcnRoYW5jMSIs Ci0gICoqLwotCi0gIC8vIFdoZXRoZXIgT3J0aGFuYyBwcm90ZWN0cyB0aGUgbW9kaWZpY2F0aW9u IG9mIG1ldGFkYXRhIGFuZAotICAvLyBhdHRhY2htZW50cyB1c2luZyByZXZpc2lvbnMsIHdoaWNo IGlzIGRvbmUgdXNpbmcgdGhlIEhUVFAgaGVhZGVycwotICAvLyAiRVRhZyIsICJJZi1NYXRjaCIg YW5kICJJZi1Ob25lLU1hdGNoIiBpbiB0aGUgY2FsbHMgdG8gdGhlIFJFU1QKLSAgLy8gQVBJLiBU aGlzIGlzIG5lZWRlZCB0byBoYW5kbGUgY29sbGlzaW9ucyBiZXR3ZWVuIGNvbmN1cnJlbnQKLSAg Ly8gbW9kaWZpY2F0aW9ucyBpbiB0aGUgY2FzZSBvZiBtdWx0aXBsZSB3cml0ZXJzLiBUaGUgZGF0 YWJhc2UKLSAgLy8gYmFjay1lbmQgbXVzdCBzdXBwb3J0IHRoaXMgb3B0aW9uLCB3aGljaCBpcyBu b3RhYmx5ICpub3QqIHlldCB0aGUKLSAgLy8gY2FzZSBvZiB0aGUgYnVpbHQtaW4gU1FMaXRlIGlu ZGV4LiAobmV3IGluIE9ydGhhbmMgMS45LjIpCi0gICJDaGVja1JldmlzaW9ucyIgOiBmYWxzZSwK LQotICAvLyBXaGV0aGVyIE9ydGhhbmMgc3RyZWFtcyBaSVAgYXJjaGl2ZS9tZWRpYSB0byB0aGUg SFRUUAotICAvLyBjbGllbnQuIFNldHRpbmcgdGhpcyBvcHRpb24gdG8gImZhbHNlIiBjb3JyZXNw b25kcyB0byB0aGUKLSAgLy8gYmVoYXZpb3Igb2YgT3J0aGFuYyA8PSAxLjkuMzogVGhlIFpJUCBp cyBmaXJzdCBlbnRpcmVseSB3cml0dGVuCi0gIC8vIHRvIGEgdGVtcG9yYXJ5IGZpbGUsIHRoZW4g c2VudCB0byB0aGUgY2xpZW50ICh3aGljaCBuZWNlc3NpdGF0ZXMKLSAgLy8gZGlzayBzcGFjZSBh bmQgbWlnaHQgbGVhZCB0byBIVFRQIHRpbWVvdXRzIG9uIGxhcmdlIGFyY2hpdmVzKS4gSWYKLSAg Ly8gc2V0IHRvICJ0cnVlIiwgdGhlIGNodW5rcyBvZiB0aGUgWklQIGZpbGUgYXJlIHByb2dyZXNz aXZlbHkgc2VudAotICAvLyBhcyBzb29uIGFzIG9uZSBESUNPTSBmaWxlIGdldHMgY29tcHJlc3Nl ZCAobmV3IGluIE9ydGhhbmMgMS45LjQpCi0gICJTeW5jaHJvbm91c1ppcFN0cmVhbSIgOiB0cnVl LAotCi0gIC8vIERlZmF1bHQgbnVtYmVyIG9mIGxvYWRlciB0aHJlYWRzIHdoZW4gZ2VuZXJhdGlu ZyBaaXAgYXJjaGl2ZS9tZWRpYS4KLSAgLy8gQSB2YWx1ZSBvZiAwIG1lYW5zIHJlYWRpbmcgYW5k IHdyaXRpbmcgYXJlIHBlcmZvcm1lZCBpbiBzZXF1ZW5jZQotICAvLyAoZGVmYXVsdCBiZWhhdmlv dXIpLiAgQSB2YWx1ZSA+IDEgaXMgbWVhbmluZ2Z1bCBvbmx5IGlmIHRoZSBzdG9yYWdlCi0gIC8v IGlzIGEgZGlzdHJpYnV0ZWQgbmV0d29yayBzdG9yYWdlIChlLmcgb2JqZWN0IHN0b3JhZ2UgcGx1 Z2luKS4KLSAgLy8gKG5ldyBleHBlcmltZW50YWwgZmVhdHVyZSBpbiBPcnRoYW5jIDEuMTAuMCkK LSAgIlppcExvYWRlclRocmVhZHMiOiAwLAotCi0gIC8vIEV4dHJhIE1haW4gRGljb20gdGFncyB0 aGF0IGFyZSBzdG9yZWQgaW4gREIgdG9nZXRoZXIgd2l0aCBhbGwgZGVmYXVsdAotICAvLyBNYWlu IERpY29tIHRhZ3MgdGhhdCBhcmUgYWxyZWFkeSBzdG9yZWQgKFRPRE86IHNlZSBib29rIG5ldyBw YWdlKS4gCi0gIC8vIChuZXcgaW4gT3J0aGFuYyAxLjExLjApCi0gIC8vIFNlcXVlbmNlcyB0YWdz IGFyZSBub3Qgc3VwcG9ydGVkLgotICAvKioKLSAgIkV4dHJhTWFpbkRpY29tVGFncyIgOiB7Ci0g ICAgIkluc3RhbmNlIiA6IFsKLSAgICAgICJSb3dzIiwKLSAgICAgICJDb2x1bW5zIiwKLSAgICAg ICJJbWFnZVR5cGUiLAotICAgICAgIlNPUENsYXNzVUlEIiwKLSAgICAgICJDb250ZW50RGF0ZSIs Ci0gICAgICAiQ29udGVudFRpbWUiLAotICAgICAgIkZyYW1lT2ZSZWZlcmVuY2VVSUQiLAotICAg ICAgIlBpeGVsU3BhY2luZyIsCi0gICAgICAiU3BlY2lmaWNDaGFyYWN0ZXJTZXQiLAotICAgICAg IkJpdHNBbGxvY2F0ZWQiCi0gICAgXSwKLSAgICAiU2VyaWVzIiA6IFtdLAotICAgICJTdHVkeSI6 IFtdLAotICAgICJQYXRpZW50IjogW10KLSAgfSwKLSAgKi8KLQotICAvLyBFbmFibGVzL2Rpc2Fi bGVzIHdhcm5pbmdzIGluIHRoZSBsb2dzLgotICAvLyAidHJ1ZSIgZW5hYmxlcyBhIHdhcm5pbmcu ICBBbGwgd2FybmluZ3MgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdAotICAvLyBUT0RPOiBzZWUgYm9v ayBuZXcgcGFnZQotICAvLyAobmV3IGluIE9ydGhhbmMgMS4xMS4wKQotICAiV2FybmluZ3MiIDog ewotICAgIC8vIEEgIlJlcXVlc3RlZFRhZ3MiIGhhcyBiZWVuIHJlYWQgZnJvbSBzdG9yYWdlIHdo aWNoIGlzIHNsb3dlciB0aGFuCi0gICAgLy8gcmVhZGluZyBpdCBmcm9tIERCLgotICAgIC8vIFlv dSBtaWdodCB3YW50IHRvIHN0b3JlIHRoaXMgdGFnIGluIEV4dHJhTWFpbkRpY29tVGFncyB0byBi dWlsZAotICAgIC8vIHRoZSByZXNwb25zZSBmYXN0ZXIuCi0gICAgIlcwMDFfVGFnc0JlaW5nUmVh ZEZyb21TdG9yYWdlIjogdHJ1ZSwKLSAgICAKLSAgICAvLyBSZXRyaWV2aW5nIGEgbGlzdCBvZiBN YWluIGRpY29tIHRhZ3MgZnJvbSBhIHJlc291cmNlIHRoYXQgaGFzIGJlZW4KLSAgICAvLyBzYXZl ZCB3aXRoIGFub3RoZXIgIkV4dHJhTWFpbkRpY29tVGFncyIgY29uZmlndXJhdGlvbiB3aGljaCBt ZWFucyB0aGF0Ci0gICAgLy8geW91ciByZXNwb25zZSBtaWdodCBiZSBpbmNvbXBsZXRlL2luY29u c2lzdGVudC4KLSAgICAvLyBZb3Ugc2hvdWxkIGNhbGwgcGF0aWVudHN8c3R1ZGllc3xzZXJpZXN8 aW5zdGFuY2VzLy4uL3JlY29uc3RydWN0IHRvIHJlYnVpbGQKLSAgICAvLyB0aGUgREIuICBUT0RP OiBhbHNvIGNoZWNrIGZvciAicmVidWlsZCBEQiIgcGx1Z2luCi0gICAgIlcwMDJfSW5jb25zaXN0 ZW50RGljb21UYWdzSW5EYiI6IHRydWUKLSAgfQotCi19CmRpZmYgLS1naXQgYS9zcmNwa2dzL09y dGhhbmMvcGF0Y2hlcy9jb25maWcucGF0Y2ggYi9zcmNwa2dzL09ydGhhbmMvcGF0Y2hlcy9jb25m aWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45NGRiMWEw YTZjOTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL09ydGhhbmMvcGF0Y2hlcy9jb25maWcu cGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorLS0tIGEvT3J0aGFuY1NlcnZlci9SZXNvdXJjZXMvQ29u ZmlndXJhdGlvbi5qc29uCTIwMjItMDYtMzAgMDg6MDQ6NTAuMDAwMDAwMDAwIC0wMzAwCisrKysg Yi9PcnRoYW5jU2VydmVyL1Jlc291cmNlcy9Db25maWd1cmF0aW9uLmpzb24JMjAyMi0wNi0zMCAw ODowNDo1MC4wMDAwMDAwMDAgLTAzMDAKK0BAIC0xMCwxMiArMTAsMTIgQEAKKyAgIC8vIFBhdGgg dG8gdGhlIGRpcmVjdG9yeSB0aGF0IGhvbGRzIHRoZSBoZWF2eXdlaWdodCBmaWxlcyAoaS5lLiB0 aGUKKyAgIC8vIHJhdyBESUNPTSBpbnN0YW5jZXMpLiBCYWNrc2xhc2hlcyBtdXN0IGJlIGVpdGhl ciBlc2NhcGVkIGJ5CisgICAvLyBkb3VibGluZyB0aGVtLCBvciByZXBsYWNlZCBieSBmb3J3YXJk IHNsYXNoZXMgIi8iLgorLSAgIlN0b3JhZ2VEaXJlY3RvcnkiIDogIk9ydGhhbmNTdG9yYWdlIiwK KysgICJTdG9yYWdlRGlyZWN0b3J5IiA6ICIvdmFyL2xpYi9PcnRoYW5jU3RvcmFnZSIsCisgCisg ICAvLyBQYXRoIHRvIHRoZSBkaXJlY3RvcnkgdGhhdCBob2xkcyB0aGUgU1FMaXRlIGluZGV4IChp ZiB1bnNldCwgdGhlCisgICAvLyB2YWx1ZSBvZiBTdG9yYWdlRGlyZWN0b3J5IGlzIHVzZWQpLiBU aGlzIGluZGV4IGNvdWxkIGJlIHN0b3JlZCBvbgorICAgLy8gYSBSQU0tZHJpdmUgb3IgYSBTU0Qg ZGV2aWNlIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLgorLSAgIkluZGV4RGlyZWN0b3J5IiA6ICJP cnRoYW5jU3RvcmFnZSIsCisrICAiSW5kZXhEaXJlY3RvcnkiIDogIi92YXIvbGliL09ydGhhbmNT dG9yYWdlIiwKKyAKKyAgIC8vIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSBPcnRoYW5jIHN0 b3JlcyBpdHMgbGFyZ2UgdGVtcG9yYXJ5CisgICAvLyBmaWxlcy4gVGhlIGNvbnRlbnQgb2YgdGhp cyBmb2xkZXIgY2FuIGJlIHNhZmVseSBkZWxldGVkIG9uY2UKK0BAIC02NzAsOCArNjcwLDggQEAK KyAgIC8vIHNlcnZlci4gKG5ldyBpbiBPcnRoYW5jIDEuOS40KQorICAgLyoqCisgICAgICAiRXh0 ZXJuYWxEaWN0aW9uYXJpZXMiIDogWworLSAgICAgIi91c3Ivc2hhcmUvbGliZGNtdGsxMi9kaWNv bS5kaWMiLAorLSAgICAgIi91c3Ivc2hhcmUvbGliZGNtdGsxMi9kaWNvbmRlLmRpYyIKKysgICAg ICIvdXNyL3NoYXJlL2RjbXRrL2RpY29tLmRpYyIsCisrICAgICAiL3Vzci9zaGFyZS9kY210ay9k aWNvbmRlLmRpYyIKKyAgICAgIF0KKyAgICoqLworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcnRo YW5jL3RlbXBsYXRlIGIvc3JjcGtncy9PcnRoYW5jL3RlbXBsYXRlCmluZGV4IGQ1Y2I2MTUxNDYx OS4uOTZjNGJiMzExNWVjIDEwMDY0NAotLS0gYS9zcmNwa2dzL09ydGhhbmMvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9PcnRoYW5jL3RlbXBsYXRlCkBAIC0yMywxOCArMjMsMTkgQEAgcHl0aG9uX3Zl cnNpb249MwogIyBDcmVhdGUgJ19vcnRoYW5jJyB1c2VyIGZvciB0aGUgc2VydmVyCiBzeXN0ZW1f YWNjb3VudHM9Il9vcnRoYW5jIgogX29ydGhhbmNfZGVzY3I9Ik9ydGhhbmMgc2VydmVyIHVzZXIi Ci1jb25mX2ZpbGVzPSJldGMvb3J0aGFuYy9Db25maWd1cmF0aW9uLmpzb24iCisKK2NvbmZfZmls ZXM9Ii9ldGMvb3J0aGFuYy9Db25maWd1cmF0aW9uLmpzb24iCiAKIHBvc3RfaW5zdGFsbCgpIHsK Kwl2c3Ygb3J0aGFuYworCXZpbnN0YWxsIFJlc291cmNlcy9Db25maWd1cmF0aW9uLmpzb24gMDY0 NCBldGMvb3J0aGFuYworCiAJY2QgJHtERVNURElSfQogCW12IHVzci9zYmluLyogdXNyL2Jpbi8K IAlybSAtcmYgdXNyL3NiaW4KIAogCSMgUmVtb3ZlIGdhcmJhZ2UKIAlybSAtcmYgYnVpbGRkaXIK LQotCXZzdiBvcnRoYW5jCi0Jdmluc3RhbGwgJHtGSUxFU0RJUn0vQ29uZmlndXJhdGlvbi5qc29u IDA2NDQgZXRjL29ydGhhbmMKIH0KIAogT3J0aGFuYy1kZXZlbF9wYWNrYWdlKCkgewoKRnJvbSBh ODJhMWQ2MWIzY2IzNGQxOGMwMGI5OGMzZTc5ZjFiYTlmOGFmODQzIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBiaW5ndWxvIDxnY2FybG9zQGRpc3Jvb3Qub3JnPgpEYXRlOiBNb24sIDgg QXVnIDIwMjIgMTY6MjU6NDggLTAzMDAKU3ViamVjdDogW1BBVENIIDEzLzE0XSBOZXcgcGFja2Fn ZTogT3J0aGFuYy1QeXRob24tNC4wCgotLS0KIHNyY3BrZ3MvT3J0aGFuYy1QeXRob24vdGVtcGxh dGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcnRoYW5jLVB5dGhvbi90ZW1wbGF0ZSBiL3NyY3Br Z3MvT3J0aGFuYy1QeXRob24vdGVtcGxhdGUKaW5kZXggM2VmYTM4OWE5OWM1Li5iY2QwOThmMjcy ZTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvT3J0aGFuYy1QeXRob24vdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9PcnRoYW5jLVB5dGhvbi90ZW1wbGF0ZQpAQCAtNCw5ICs0LDkgQEAgdmVyc2lvbj00LjAK IHJldmlzaW9uPTEKIHdya3NyYz0iJHtwa2duYW1lLy19LSR7dmVyc2lvbn0iCiBidWlsZF9zdHls ZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EQUxMT1dfRE9XTkxPQURTPU9OIC1ET1JUSEFOQ19G UkFNRVdPUktfV09VUkNFPXBhdGgKK2NvbmZpZ3VyZV9hcmdzPSItRFBZVEhPTl9WRVJTSU9OPSR7 cHkzX3Zlcn0gLURPUlRIQU5DX0ZSQU1FV09SS19TT1VSQ0U9cGF0aAogIC1ET1JUSEFOQ19GUkFN RVdPUktfUk9PVD0vdXNyL3NoYXJlL29ydGhhbmMvT3J0aGFuY0ZyYW1ld29yay9Tb3VyY2VzCi0g LURQWVRIT05fVkVSU0lPTj0zLjEwIgorIC1ET1JUSEFOQ19GUkFNRVdPUktfVkVSU0lPTj0xLjEx LjEiCiBob3N0bWFrZWRlcGVuZHM9InRhciB1bnppcCBweXRob24zIHBrZy1jb25maWciCiBtYWtl ZGVwZW5kcz0iT3J0aGFuYy1kZXZlbCBqc29uY3BwLWRldmVsIGxpYnV1aWQtZGV2ZWwgYm9vc3Qt ZGV2ZWwgcHl0aG9uMy1kZXZlbCIKIHNob3J0X2Rlc2M9IlB5dGhvbiBwbHVnaW4gZm9yIE9ydGhh bmMiCgpGcm9tIDA3MjIxNThkYzVmNDI3M2RiODJkMWU2ODg2ZjQ1ZDRmMGJlOTg0ZTEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IGJpbmd1bG8gPGdjYXJsb3NAZGlzcm9vdC5vcmc+CkRh dGU6IE1vbiwgOCBBdWcgMjAyMiAxNjoyNDoxNiAtMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTRd IE5ldyBwYWNrYWdlOiBkY210ay0zLjYuNwoKLS0tCiBzcmNwa2dzL2RjbXRrL3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9kY210ay90ZW1wbGF0ZSBiL3NyY3BrZ3MvZGNtdGsvdGVtcGxhdGUK aW5kZXggNjNjMjhiYzNjMzc2Li4yZWZkOWNjNzg1MGIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZGNt dGsvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9kY210ay90ZW1wbGF0ZQpAQCAtMTAsNyArMTAsNyBA QCBzaG9ydF9kZXNjPSJMaWJyYXJpZXMgYW5kIHRvb2xzIHRoYXQgaW1wbGVtZW50cyBESUNPTSBz dGFuZGFyZCIKIG1haW50YWluZXI9IkNhcmxvcyBFLiBHYWxsbyBGLiA8Z2Nhcmxvc0BkaXNyb290 Lm9yZz4iCiBsaWNlbnNlPSJjdXN0b206IHNlZSAvdXNyL3NoYXJlL2xpY2Vuc2VzLyR7cGtnbmFt ZX0iCiBob21lcGFnZT0iaHR0cHM6Ly9kY210ay5vcmcvZGNtdGsucGhwLmVuIgotZGlzdGZpbGVz PSJodHRwczovL2RpY29tLm9mZmlzLmRlL2Rvd25sb2FkL2RjbXRrLyR7dmVyc2lvbi8vLn0vZGNt dGstJHt2ZXJzaW9ufS50YXIuZ3oiCitkaXN0ZmlsZXM9Imh0dHBzOi8vZGljb20ub2ZmaXMuZGUv ZG93bmxvYWQvZGNtdGsvZGNtdGske3ZlcnNpb24vLy59L2RjbXRrLSR7dmVyc2lvbn0udGFyLmd6 IgogY2hlY2tzdW09N2M1ODI5OGUzZThkNjAyMzJlZTZmYzg0MDhjZmFkZDE0NDYzY2MxMWEzYzRj YTRjNTlhZjU5ODhjN2U5NzEwYQogCiBwcmVfYnVpbGQoKSB7Cg== --===============1823638715568168865==--