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 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 14251 invoked from network); 7 Dec 2022 08:02:48 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 7 Dec 2022 08:02:48 -0000 Content-Type: multipart/mixed; boundary="===============5268735058293269420==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_nodejs=3A_merge_with_nodejs-lts?= To: ml@inbox.vuxu.org From: paper42 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 07 Dec 2022 09:02:47 +0100 List-Id: Message-ID: <20221207080247.kgwAHTlfP6VYJ1yhKrJAcjAvRcwYiJ7RXleUJER2Xhw@z> GitHub notification mails are now in MIME to allow UTF8. --===============5268735058293269420== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcGFwZXI0MiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vcGFw ZXI0Mi92b2lkLXBhY2thZ2VzIG5vZGUtbHRzLTE2Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MDEwNgoKbm9kZWpzOiBtZXJnZSB3aXRoIG5vZGVqcy1s dHMKTm9kZWpzIHZlcnNpb25pbmcgc2F5cyB0aGF0IGV2ZXJ5IGV2ZW4gcmVsZWFzZSAoMTIsIDE0 LCAxNiwgMTgpIGlzIGFuIExUUyByZWxlYXNlLiBUaGUgYG5vZGVqc2AgcGFja2FnZSBjdXJyZW50 bHkgdXNlcyB2ZXJzaW9uIDE2IHdoaWNoIGlzIGEgc3VwcG9ydGVkIExUUyB2ZXJzaW9uLCBgbm9k ZWpzLWx0c2AgdXNlcyB2ZXJzaW9uIDEyIHdoaWNoIGlzIEVPTCBhbmQgdmVyeSBvbGQuIE1hbnkg cGFja2FnZXMgdXNlIG5vZGVqcy1sdHMgZm9yIGJ1aWxkaW5nLCBidXQgdGhlbiBkZXBlbmQgb24g dGhlIG5vZGVqcyB2aXJ0dWFsIHBhY2thZ2Ugd2hpY2ggZGVmYXVsdHMgdG8gbm9kZWpzLCBtYW55 IHBhY2thZ2VzIGRvbid0IHdvcmsgd2l0aCBvbGQgbm9kZWpzLWx0cyBhbmQgcGVvcGxlIGNvdWxk bid0IGhhdmUgYm90aCBpbnN0YWxsZWQuIElmIHdlIG5lZWQgdG8sIHdlIGNhbiBhbHdheXMgc3Bs aXQgbm9kZWpzLWx0cyBhZ2FpbiwgYnV0IHJpZ2h0IG5vdyBJIGRvbid0IHNlZSBhIHJlYXNvbiB0 byBkbyBzby4gQWxwaW5lIG1lcmdlZCB0aGVpciBub2RlanMtbHRzIHBhY2thZ2UgdG8gbm9kZWpz IGFuZCBwcm92aWRlcyBub2RlanMtY3VycmVudCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIGZvciBk ZXZlbG9wbWVudC4KClRoaXMgaXMgYSBkcmFmdCBmb3Igbm93IGZvciBjb21tZW50cyBhbmQgZm9y IGNoZWNraW5nIGlmIGV2ZXJ5IHBhY2thZ2UgdGhhdCB1c2VkIG5vZGVqcy1sdHMgc3RpbGwgYnVp bGRzIHdpdGggbm9kZWpzIDE2LgoKPCEtLSBVbmNvbW1lbnQgcmVsZXZhbnQgc2VjdGlvbnMgYW5k IGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGljYWJsZSAtLT4KCiMjIyMgVGVzdGlu ZyB0aGUgY2hhbmdlcwotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqTk8qKgoK PCEtLQojIyMjIE5ldyBwYWNrYWdlCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUg W3BhY2thZ2UgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50 cyk6ICoqWUVTKip8KipOTyoqCi0tPgoKPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5 IHRvIHRha2UgbW9yZSB0aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVz Y3JpYmVkIGluCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxv Yi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24KYW5kIHRlc3Qg YXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25l IGNyb3NzIGJ1aWxkLgpJZ25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBw aW5nIENJLgotLT4KPCEtLQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcKLSBJIGJ1aWx0IHRoaXMg UFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykKLSBJIGJ1 aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVk LiBtYXJrIGNyb3NzYnVpbGRzKToKICAtIGFhcmNoNjQtbXVzbAogIC0gYXJtdjdsCiAgLSBhcm12 NmwtbXVzbAotLT4KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDAxMDYucGF0Y2ggaXMgYXR0YWNoZWQ= --===============5268735058293269420== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-node-lts-16-40106.patch" RnJvbSA0MWJlM2I0OGJiYzFhNDM1ZTgyMDRiMWRmYTU5NGE1ZjliNWI5N2ZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWwgVmFzaWxlayA8bWljaGFsQHZhc2lsZWsuY3o+CkRh dGU6IFN1biwgMjAgTm92IDIwMjIgMTk6NDc6MzYgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvNl0g bm9kZWpzOiBtZXJnZSB3aXRoIG5vZGVqcy1sdHMKCm5vZGVqcyAxNiBpcyBhbiBMVFMgdmVyc2lv biBhbmQgbm9kZWpzLWx0cyB2ZXJzaW9uIDEyIGlzIEVPTAotLS0KIHNyY3BrZ3Mvbm9kZWpzLWx0 cyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL25vZGVqcy1sdHMt ZGV2ZWwgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9wYXRjaGVzL3BwYy1maXhl cy1mb3Itb2xkZXItbW9kZWxzLnBhdGNoICB8IDg0NyAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3Br Z3Mvbm9kZWpzLWx0cy9wYXRjaGVzL3BwYzMyLnBhdGNoICAgICAgICB8ICAyMCAtCiBzcmNwa2dz L25vZGVqcy1sdHMvcGF0Y2hlcy9zaGFyZWQtdXYucGF0Y2ggICAgfCAgMjUgLQogLi4uL3BhdGNo ZXMveHh4LXBwYy1od2NhcC1tdXNsLnBhdGNoICAgICAgICAgIHwgIDI0IC0KIHNyY3BrZ3Mvbm9k ZWpzLWx0cy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICB8IDEwNCAtLS0KIHNyY3BrZ3Mvbm9k ZWpzLWx0cy91cGRhdGUgICAgICAgICAgICAgICAgICAgICB8ICAgMiAtCiBzcmNwa2dzL25vZGVq cy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgfCAgMTggKy0KIDkgZmlsZXMgY2hhbmdl ZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTAyNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL25vZGVqcy1sdHMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL25vZGVqcy1s dHMvcGF0Y2hlcy9wcGMtZml4ZXMtZm9yLW9sZGVyLW1vZGVscy5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3Mvbm9kZWpzLWx0cy9wYXRjaGVzL3BwYzMyLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9ub2RlanMtbHRzL3BhdGNoZXMvc2hhcmVkLXV2LnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9ub2RlanMtbHRzL3BhdGNoZXMveHh4LXBwYy1od2NhcC1t dXNsLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9ub2RlanMtbHRzL3RlbXBsYXRl CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9ub2RlanMtbHRzL3VwZGF0ZQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvbm9kZWpzLWx0cyBiL3NyY3BrZ3Mvbm9kZWpzLWx0cwpuZXcgZmlsZSBtb2Rl IDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjBjNTI0Yjc3NTMwOAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3Mvbm9kZWpzLWx0cwpAQCAtMCwwICsxIEBACitub2RlanMKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL25vZGVqcy1sdHMtZGV2ZWwgYi9z cmNwa2dzL25vZGVqcy1sdHMtZGV2ZWwKaW5kZXggYzlhNDk1YTJlMzViLi4wYzUyNGI3NzUzMDgg MTIwMDAwCi0tLSBhL3NyY3BrZ3Mvbm9kZWpzLWx0cy1kZXZlbAorKysgYi9zcmNwa2dzL25vZGVq cy1sdHMtZGV2ZWwKQEAgLTEgKzEgQEAKLW5vZGVqcy1sdHMKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCitub2RlanMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL25vZGVqcy1sdHMvcGF0Y2hlcy9wcGMtZml4ZXMtZm9yLW9sZGVyLW1vZGVscy5wYXRj aCBiL3NyY3BrZ3Mvbm9kZWpzLWx0cy9wYXRjaGVzL3BwYy1maXhlcy1mb3Itb2xkZXItbW9kZWxz LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTM2MzBmMWFkNGQuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL25vZGVqcy1sdHMvcGF0Y2hlcy9wcGMtZml4ZXMtZm9yLW9s ZGVyLW1vZGVscy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg0NyArMCwwIEBACi1GaXggUG93 ZXJQQyBDUFUgZGV0ZWN0aW9uIGFuZCBjb2RlZ2VuIHRvIHdvcmsgd2l0aCBtb3JlIHByb2Nlc3Nv cnMuCi0KLVRoaXMgcGF0Y2ggZGVmaW5lcyB0aGUgY29ycmVjdCBvcHRpb25hbCBQb3dlciBJU0Eg ZmVhdHVyZXMgdGhhdCB0aGUKLVBQQyBjb2RlIGdlbmVyYXRvciBuZWVkcyBpbiBvcmRlciB0byBy dW4gd2l0aG91dCBjcmFzaGluZyBvbiB2Mi4wMQotYW5kIG9sZGVyIENQVXMgc3VjaCBhcyBQUEMg OTcwIChHNSkgb3IgTlhQIGU2NTAwLCBhbmQgdG8gcnVuIG1vcmUKLWVmZmljaWVudGx5IG9uIENQ VXMgd2l0aCBmZWF0dXJlcyB0aGF0IHdlcmVuJ3QgYmVpbmcgdXNlZCBiZWZvcmUuCi0KLVBvd2Vy UEMgSVNBIHYyLjAxIGFuZCBvbGRlciBDUFVzIGRvbid0IGhhdmUgRlAgcm91bmQgdG8gaW50IGlu c3RydWN0aW9ucywKLWFuZCBQb3dlclBDIElTQSB2Mi4wNiBhbmQgb2xkZXIgYXJlIG1pc3Npbmcg c3VwcG9ydCBmb3IgdW5zaWduZWQgNjQtYml0Ci10by9mcm9tIGRvdWJsZSwgYXMgd2VsbCBhcyBp bnRlZ2VyIHRvL2Zyb20gc2luZ2xlLXByZWNpc2lvbiBmbG9hdC4KLQotQWRkIGEgbmV3IEZQX1JP VU5EX1RPX0lOVCBDUFUgZmVhdHVyZSB0byBkZXRlcm1pbmUgd2hldGhlciB0byBnZW5lcmF0ZQot RlAgcm91bmQgdG8gaW50LCBhbmQgYWRkIGEgbmV3IFBQQ183X1BMVVMgZmVhdHVyZSB0byBkZXRl cm1pbmUgd2hldGhlcgotdG8gdXNlIHRoZSB2Mi4wNiBGUFIgY29udmVyc2lvbiBpbnN0cnVjdGlv bnMgb3IgZ2VuZXJhdGUgYW4gYWx0ZXJuYXRlCi1zZXF1ZW5jZSB0byBoYW5kbGUgbGFyZ2UgNjQt Yml0IHVuc2lnbmVkIGludHMsIGFuZCBzaW5nbGUtcHJlY2lzaW9uIAotdXNpbmcgdGhlIHYyLjAx IGluc3RydWN0aW9ucyB3aXRoIGhhbmRsaW5nIGZvciBsYXJnZSB1aW50NjRfdCB2YWx1ZXMKLWFz IHdlbGwgYXMgcm91bmRpbmcgcmVzdWx0cyBmcm9tIGRvdWJsZSB0byBzaW5nbGUtcHJlY2lzaW9u LgotCi1BbHNvIGFkZCBhIG5ldyBQT1BfQ09VTlQgZmVhdHVyZSBmb3IgdGhlIHBvcGNudCBvcGNv ZGVzIGFkZGVkIGluIHYyLjA2LAotd2hpY2ggYXJlIGFsc28gcHJlc2VudCBpbiB0aGUgTlhQIGU1 NTAwIGFuZCBlNjUwMCBjb3Jlcywgd2hpY2ggYXJlCi1vdGhlcndpc2UgbWlzc2luZyBtYW55IG9m IHRoZSBmZWF0dXJlcyBhZGRlZCBzaW5jZSB2Mi4wMS4KLQotQnkgZGVmaW5pbmcgYW4gSUNBQ0hF X1NOT09QIGZlYXR1cmUgYml0IHRvIHJlcGxhY2UgdGhlIHBvb3JseS1uYW1lZAotIkxXU1lOQyIs IHRoZSBtZWFuaW5nIG9mIHRoZSBpbnN0cnVjdGlvbiBjYWNoZSBmbHVzaGluZyBmYXN0IHBhdGgs Ci1hbmQgdGhlIENQVXMgdGhhdCBjYW4gdXNlIGl0LCBhcmUgbW9yZSBjbGVhcmx5IGRlZmluZWQu IEluIGFkZGl0aW9uLAotZm9yIHRoZSBvdGhlciBQb3dlclBDIGNoaXBzLCB0aGUgbG9vcCB0byBm bHVzaCB0aGUgZGF0YSBhbmQgaW5zdHJ1Y3Rpb24KLWNhY2hlIGJsb2NrcyBoYXMgYmVlbiBzcGxp dCBpbnRvIHR3byBsb29wcywgd2l0aCBhIHNpbmdsZSAic3luYyIgYW5kCi0iaXN5bmMiIGFmdGVy IGVhY2ggbG9vcCwgd2hpY2ggc2hvdWxkIGJlIG1vcmUgZWZmaWNpZW50LCBhbmQgYWxzbyBoYW5k bGVzCi10aGUgZmV3IENQVXMgd2l0aCBkaWZmZXJpbmcgZGF0YSBhbmQgaW5zdHJ1Y3Rpb24gY2Fj aGUgbGluZSBzaXplcy4KLQotSW4gdGhlIG1hY3JvIGFzc2VtYmxlciBtZXRob2RzLCBpbiBhZGRp dGlvbiB0byBwcm92aWRpbmcgYW4gYWx0ZXJuYXRlCi1wYXRoIGZvciBGUCBjb252ZXJzaW9uIG9w Y29kZXMgYWRkZWQgaW4gUE9XRVI3IChJU0EgdjIuMDYpLCB1bm5lY2Vzc2FyeQotaW5zdHJ1Y3Rp b25zIHRvIG1vdmUgc3AgZG93biBhbmQgdGhlbiBpbW1lZGlhdGVseSBiYWNrIHVwIHdlcmUgcmVw bGFjZWQKLXdpdGggbmVnYXRpdmUgb2Zmc2V0cyBmcm9tIHRoZSBjdXJyZW50IHNwLiBUaGlzIHNo b3VsZCBiZSBmYXN0ZXIsIGFuZCBhbHNvCi1zcCBpcyBzdXBwb3NlZCB0byBwb2ludCB0byBhIGJh Y2sgY2hhaW4gYXQgYWxsIHRpbWVzIChWOCBtYXkgbm90IGRvIHRoaXMpLgotCi1UaGlzIHBhdGNo IGFsc28gZml4ZXMgcHBjNjQgYmlnLWVuZGlhbiBFTEZ2MSBidWlsZHMgKG5vdCBuZWVkZWQgZm9y IFZvaWQpLgotCi0tLS0gYS9kZXBzL3Y4L3NyYy9iYXNlL2NwdS5jYwkyMDIyLTAyLTE1IDIxOjEx OjQ2LjI5MTM4NzQ1NyAtMDgwMAotKysrIGIvZGVwcy92OC9zcmMvYmFzZS9jcHUuY2MJMjAyMi0w Mi0xNyAyMzowMTo0MC42MjQ1OTc1MjMgLTA4MDAKLUBAIC0xMCw3ICsxMCw3IEBACi0gI2lmIFY4 X09TX0xJTlVYCi0gI2luY2x1ZGUgPGxpbnV4L2F1eHZlYy5oPiAgLy8gQVRfSFdDQVAKLSAjZW5k aWYKLS0jaWYgVjhfR0xJQkNfUFJFUkVRKDIsIDE2KQotKyNpZiBWOF9HTElCQ19QUkVSRVEoMiwg MTYpIHx8IChWOF9PU19MSU5VWCAmJiBWOF9IT1NUX0FSQ0hfUFBDKQotICNpbmNsdWRlIDxzeXMv YXV4di5oPiAgLy8gZ2V0YXV4dmFsKCkKLSAjZW5kaWYKLSAjaWYgVjhfT1NfUU5YCi1AQCAtNjEx LDU3ICs2MTEsNTYgQEAKLSAKLSAjaWZuZGVmIFVTRV9TSU1VTEFUT1IKLSAjaWYgVjhfT1NfTElO VVgKLS0gIC8vIFJlYWQgcHJvY2Vzc29yIGluZm8gZnJvbSAvcHJvYy9zZWxmL2F1eHYuCi0tICBj aGFyKiBhdXh2X2NwdV90eXBlID0gbnVsbHB0cjsKLS0gIEZJTEUqIGZwID0gZm9wZW4oIi9wcm9j L3NlbGYvYXV4diIsICJyIik7Ci0tICBpZiAoZnAgIT0gbnVsbHB0cikgewotLSNpZiBWOF9UQVJH RVRfQVJDSF9QUEM2NAotLSAgICBFbGY2NF9hdXh2X3QgZW50cnk7Ci0tI2Vsc2UKLS0gICAgRWxm MzJfYXV4dl90IGVudHJ5OwotLSNlbmRpZgotLSAgICBmb3IgKDs7KSB7Ci0tICAgICAgc2l6ZV90 IG4gPSBmcmVhZCgmZW50cnksIHNpemVvZihlbnRyeSksIDEsIGZwKTsKLS0gICAgICBpZiAobiA9 PSAwIHx8IGVudHJ5LmFfdHlwZSA9PSBBVF9OVUxMKSB7Ci0tICAgICAgICBicmVhazsKLS0gICAg ICB9Ci0tICAgICAgc3dpdGNoIChlbnRyeS5hX3R5cGUpIHsKLS0gICAgICAgIGNhc2UgQVRfUExB VEZPUk06Ci0tICAgICAgICAgIGF1eHZfY3B1X3R5cGUgPSByZWludGVycHJldF9jYXN0PGNoYXIq PihlbnRyeS5hX3VuLmFfdmFsKTsKLS0gICAgICAgICAgYnJlYWs7Ci0tICAgICAgICBjYXNlIEFU X0lDQUNIRUJTSVpFOgotLSAgICAgICAgICBpY2FjaGVfbGluZV9zaXplXyA9IGVudHJ5LmFfdW4u YV92YWw7Ci0tICAgICAgICAgIGJyZWFrOwotLSAgICAgICAgY2FzZSBBVF9EQ0FDSEVCU0laRToK LS0gICAgICAgICAgZGNhY2hlX2xpbmVfc2l6ZV8gPSBlbnRyeS5hX3VuLmFfdmFsOwotLSAgICAg ICAgICBicmVhazsKLS0gICAgICB9Ci0tICAgIH0KLS0gICAgZmNsb3NlKGZwKTsKLS0gIH0KLSsg IC8vIFJlYWQgcHJvY2Vzc29yIGluZm8gZnJvbSBnZXRhdXh2YWwoKSAobmVlZHMgYXQgbGVhc3Qg Z2xpYmMgMi4xOCBvciBtdXNsKS4KLSsgIGljYWNoZV9saW5lX3NpemVfID0gc3RhdGljX2Nhc3Q8 aW50PihnZXRhdXh2YWwoQVRfSUNBQ0hFQlNJWkUpKTsKLSsgIGRjYWNoZV9saW5lX3NpemVfID0g c3RhdGljX2Nhc3Q8aW50PihnZXRhdXh2YWwoQVRfRENBQ0hFQlNJWkUpKTsKLSsgIGNvbnN0IHVu c2lnbmVkIGxvbmcgaHdjYXAgPSBnZXRhdXh2YWwoQVRfSFdDQVApOwotKyAgY29uc3QgdW5zaWdu ZWQgbG9uZyBod2NhcDIgPSBnZXRhdXh2YWwoQVRfSFdDQVAyKTsKLSsgIGNvbnN0IGNoYXIqIHBs YXRmb3JtID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZ2V0YXV4dmFsKEFUX1BMQVRG T1JNKSk7Ci0rCi0rICAvLyBOT1RFOiBBVF9IV0NBUCBJU0EgdmVyc2lvbiBiaXRzIGFyZW4ndCBj dW11bGF0aXZlLCBzbyBpdCdzIG5lY2Vzc2FyeQotKyAgLy8gdG8gY29tcGFyZSBhZ2FpbnN0IGEg bWFzayBvZiBhbGwgc3VwcG9ydGVkIHZlcnNpb25zIGFuZCBDUFVzLCB1cCB0bwotKyAgLy8gSVNB IHYyLjA2LCB3aGljaCAqaXMqIHNldCBmb3IgbGF0ZXIgQ1BVcy4gSW4gY29udHJhc3QsIHRoZSBB VF9IV0NBUDIKLSsgIC8vIElTQSB2ZXJzaW9uIGJpdHMgZnJvbSB2Mi4wNyBvbndhcmQgYXJlIHNl dCBjdW11bGF0aXZlbHksIHNvIFBPV0VSMTAKLSsgIC8vIHdpbGwgc2V0IHRoZSBJU0EgdmVyc2lv biBiaXRzIGZyb20gdjIuMDYgKGluIEFUX0hXQ0FQKSB0aHJvdWdoIHYzLjEuCi0rCi0rICAvLyBp LWNhY2hlIGNvaGVyZW5jeSByZXF1aXJlcyBQb3dlciBJU0EgdjIuMDIgb3IgbGF0ZXI7IGhhcyBp dHMgb3duIGZsYWcuCi0rICBoYXNfaWNhY2hlX3Nub29wXyA9IChod2NhcCAmIFBQQ19GRUFUVVJF X0lDQUNIRV9TTk9PUCk7Ci0rCi0rICAvLyByZXF1aXJlcyBQb3dlciBJU0EgdjIuMDMgb3IgbGF0 ZXIsIG9yIHRoZSBIQVNfSVNFTCBiaXQgKGUuZy4gZTY1MDApLgotKyAgaGFzX2lzZWxfID0gKGh3 Y2FwICYgKFBQQ19GRUFUVVJFX1BPV0VSNV9QTFVTIHwgUFBDX0ZFQVRVUkVfQVJDSF8yXzA1IHwK LSsgICAgICBQUENfRkVBVFVSRV9QQTZUIHwgUFBDX0ZFQVRVUkVfUE9XRVI2X0VYVCB8IFBQQ19G RUFUVVJFX0FSQ0hfMl8wNikpIHx8Ci0rICAgICAgKGh3Y2FwMiAmIFBQQ19GRUFUVVJFMl9IQVNf SVNFTCk7Ci0rCi0rICAvLyBod2NhcCBtYXNrIGZvciBvbGRlciA2NC1iaXQgUFBDIENQVXMgd2l0 aCBBbHRpdmVjLCBlLmcuIEc1LCBDZWxsLgotKyAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcg a0h3Y2FwTWFza1BQQ0c1ID0KLSsgICAgICAoUFBDX0ZFQVRVUkVfNjQgfCBQUENfRkVBVFVSRV9I QVNfQUxUSVZFQyk7Ci0gCi0gICBwYXJ0XyA9IC0xOwotLSAgaWYgKGF1eHZfY3B1X3R5cGUpIHsK LS0gICAgaWYgKHN0cmNtcChhdXh2X2NwdV90eXBlLCAicG93ZXIxMCIpID09IDApIHsKLS0gICAg ICBwYXJ0XyA9IFBQQ19QT1dFUjEwOwotLSAgICB9Ci0tICAgIGVsc2UgaWYgKHN0cmNtcChhdXh2 X2NwdV90eXBlLCAicG93ZXI5IikgPT0gMCkgewotLSAgICAgIHBhcnRfID0gUFBDX1BPV0VSOTsK LS0gICAgfSBlbHNlIGlmIChzdHJjbXAoYXV4dl9jcHVfdHlwZSwgInBvd2VyOCIpID09IDApIHsK LS0gICAgICBwYXJ0XyA9IFBQQ19QT1dFUjg7Ci0tICAgIH0gZWxzZSBpZiAoc3RyY21wKGF1eHZf Y3B1X3R5cGUsICJwb3dlcjciKSA9PSAwKSB7Ci0tICAgICAgcGFydF8gPSBQUENfUE9XRVI3Owot LSAgICB9IGVsc2UgaWYgKHN0cmNtcChhdXh2X2NwdV90eXBlLCAicG93ZXI2IikgPT0gMCkgewot LSAgICAgIHBhcnRfID0gUFBDX1BPV0VSNjsKLS0gICAgfSBlbHNlIGlmIChzdHJjbXAoYXV4dl9j cHVfdHlwZSwgInBvd2VyNSIpID09IDApIHsKLS0gICAgICBwYXJ0XyA9IFBQQ19QT1dFUjU7Ci0t ICAgIH0gZWxzZSBpZiAoc3RyY21wKGF1eHZfY3B1X3R5cGUsICJwcGM5NzAiKSA9PSAwKSB7Ci0t ICAgICAgcGFydF8gPSBQUENfRzU7Ci0tICAgIH0gZWxzZSBpZiAoc3RyY21wKGF1eHZfY3B1X3R5 cGUsICJwcGM3NDUwIikgPT0gMCkgewotLSAgICAgIHBhcnRfID0gUFBDX0c0OwotLSAgICB9IGVs c2UgaWYgKHN0cmNtcChhdXh2X2NwdV90eXBlLCAicGE2dCIpID09IDApIHsKLS0gICAgICBwYXJ0 XyA9IFBQQ19QQTZUOwotLSAgICB9Ci0rICBpZiAoaHdjYXAyICYgUFBDX0ZFQVRVUkUyX0FSQ0hf M18xKSB7Ci0rICAgIHBhcnRfID0gUFBDX1BPV0VSMTA7Ci0rICB9IGVsc2UgaWYgKGh3Y2FwMiAm IFBQQ19GRUFUVVJFMl9BUkNIXzNfMDApIHsKLSsgICAgcGFydF8gPSBQUENfUE9XRVI5OwotKyAg fSBlbHNlIGlmIChod2NhcDIgJiBQUENfRkVBVFVSRTJfQVJDSF8yXzA3KSB7Ci0rICAgIHBhcnRf ID0gUFBDX1BPV0VSODsKLSsgIH0gZWxzZSBpZiAoaHdjYXAgJiBQUENfRkVBVFVSRV9BUkNIXzJf MDYpIHsKLSsgICAgcGFydF8gPSBQUENfUE9XRVI3OwotKyAgfSBlbHNlIGlmIChod2NhcCAmIFBQ Q19GRUFUVVJFX0FSQ0hfMl8wNSkgewotKyAgICBwYXJ0XyA9IFBQQ19QT1dFUjY7Ci0rICB9IGVs c2UgaWYgKGh3Y2FwICYgKFBQQ19GRUFUVVJFX1BPV0VSNSB8IFBQQ19GRUFUVVJFX1BPV0VSNV9Q TFVTKSkgewotKyAgICBwYXJ0XyA9IFBQQ19QT1dFUjU7Ci0rICB9IGVsc2UgaWYgKGh3Y2FwICYg UFBDX0ZFQVRVUkVfUEE2VCkgewotKyAgICBwYXJ0XyA9IFBQQ19QQTZUOwotKyAgfSBlbHNlIGlm IChzdHJjbXAocGxhdGZvcm0sICJwcGNlNjUwMCIpID09IDApIHsKLSsgICAgcGFydF8gPSBQUENf RTY1MDA7Ci0rICB9IGVsc2UgaWYgKHN0cmNtcChwbGF0Zm9ybSwgInBwY2U1NTAwIikgPT0gMCkg ewotKyAgICBwYXJ0XyA9IFBQQ19FNTUwMDsKLSsgIH0gZWxzZSBpZiAoKGh3Y2FwICYga0h3Y2Fw TWFza1BQQ0c1KSA9PSBrSHdjYXBNYXNrUFBDRzUpIHsKLSsgICAgcGFydF8gPSBQUENfRzU7Ci0r ICB9IGVsc2UgaWYgKGh3Y2FwICYgUFBDX0ZFQVRVUkVfSEFTX0FMVElWRUMpIHsKLSsgICAgcGFy dF8gPSBQUENfRzQ7Ci0rICB9IGVsc2UgewotKyAgICBwYXJ0XyA9IFBQQ19HMzsKLSAgIH0KLSAK LSAjZWxpZiBWOF9PU19BSVgKLUBAIC02ODIsOSArNjgxLDEzIEBACi0gICAgICAgcGFydF8gPSBQ UENfUE9XRVI2OwotICAgICAgIGJyZWFrOwotICAgICBjYXNlIFBPV0VSXzU6Ci0rICAgIGRlZmF1 bHQ6Ci0gICAgICAgcGFydF8gPSBQUENfUE9XRVI1OwotICAgICAgIGJyZWFrOwotICAgfQotKwot KyAgaGFzX2ljYWNoZV9zbm9vcF8gPSB0cnVlOwotKyAgaGFzX2lzZWxfID0gKHBhcnRfICE9IFBQ Q19QT1dFUjUpOyAgICAvLyBpc2VsIHdhcyBhZGRlZCBpbiBQT1dFUjUrICh2Mi4wMykKLSAjZW5k aWYgIC8vIFY4X09TX0FJWAotICNlbmRpZiAgLy8gIVVTRV9TSU1VTEFUT1IKLSAjZW5kaWYgIC8v IFY4X0hPU1RfQVJDSF9QUEMKLS0tLSBhL2RlcHMvdjgvc3JjL2Jhc2UvY3B1LmgJMjAyMi0wMi0x NSAyMToxMTo0Ni4yOTEzODc0NTcgLTA4MDAKLSsrKyBiL2RlcHMvdjgvc3JjL2Jhc2UvY3B1LmgJ MjAyMi0wMi0xNyAxOTo1NDowOC43Njg2MTQ4MDUgLTA4MDAKLUBAIC03MSw5ICs3MSwxMiBAQAot ICAgICBQUENfUE9XRVI4LAotICAgICBQUENfUE9XRVI5LAotICAgICBQUENfUE9XRVIxMCwKLSsg ICAgUFBDX0czLAotICAgICBQUENfRzQsCi0gICAgIFBQQ19HNSwKLS0gICAgUFBDX1BBNlQKLSsg ICAgUFBDX1BBNlQsCi0rICAgIFBQQ19FNTUwMCwKLSsgICAgUFBDX0U2NTAwCi0gICB9OwotIAot ICAgLy8gR2VuZXJhbCBmZWF0dXJlcwotQEAgLTExNiw2ICsxMTksMTAgQEAKLSAgIGJvb2wgaXNf ZnA2NF9tb2RlKCkgY29uc3QgeyByZXR1cm4gaXNfZnA2NF9tb2RlXzsgfQotICAgYm9vbCBoYXNf bXNhKCkgY29uc3QgeyByZXR1cm4gaGFzX21zYV87IH0KLSAKLSsgIC8vIFBvd2VyUEMgZmVhdHVy ZXMKLSsgIGJvb2wgaGFzX2ljYWNoZV9zbm9vcCgpIGNvbnN0IHsgcmV0dXJuIGhhc19pY2FjaGVf c25vb3BfOyB9Ci0rICBib29sIGhhc19pc2VsKCkgY29uc3QgeyByZXR1cm4gaGFzX2lzZWxfOyB9 Ci0rCi0gIHByaXZhdGU6Ci0gICBjaGFyIHZlbmRvcl9bMTNdOwotICAgaW50IHN0ZXBwaW5nXzsK LUBAIC0xNTcsNiArMTY0LDggQEAKLSAgIGJvb2wgaXNfZnA2NF9tb2RlXzsKLSAgIGJvb2wgaGFz X25vbl9zdG9wX3RpbWVfc3RhbXBfY291bnRlcl87Ci0gICBib29sIGhhc19tc2FfOwotKyAgYm9v bCBoYXNfaWNhY2hlX3Nub29wXzsKLSsgIGJvb2wgaGFzX2lzZWxfOwotIH07Ci0gCi0gfSAgLy8g bmFtZXNwYWNlIGJhc2UKLS0tLSBhL2RlcHMvdjgvc3JjL2NvZGVnZW4vcHBjL21hY3JvLWFzc2Vt Ymxlci1wcGMuY2MJMjAyMi0wMi0wMSAxMDo1MzowOS4wMDAwMDAwMDAgLTA4MDAKLSsrKyBiL2Rl cHMvdjgvc3JjL2NvZGVnZW4vcHBjL21hY3JvLWFzc2VtYmxlci1wcGMuY2MJMjAyMi0wMi0xOCAy Mjo1NTozNi42NzY0NjEzNDMgLTA4MDAKLUBAIC03MDYsMTMgKzcwNiwyNSBAQAotIAotIHZvaWQg VHVyYm9Bc3NlbWJsZXI6OkNvbnZlcnRJbnRUb0Zsb2F0KFJlZ2lzdGVyIHNyYywgRG91YmxlUmVn aXN0ZXIgZHN0KSB7Ci0gICBNb3ZJbnRUb0RvdWJsZShkc3QsIHNyYywgcjApOwotLSAgZmNmaWRz KGRzdCwgZHN0KTsKLSsKLSsgIGlmIChDcHVGZWF0dXJlczo6SXNTdXBwb3J0ZWQoUFBDXzdfUExV UykpIHsKLSsgICAgZmNmaWRzKGRzdCwgZHN0KTsKLSsgIH0gZWxzZSB7Ci0rICAgIGZjZmlkKGRz dCwgZHN0KTsKLSsgICAgZnJzcChkc3QsIGRzdCk7Ci0rICB9Ci0gfQotIAotIHZvaWQgVHVyYm9B c3NlbWJsZXI6OkNvbnZlcnRVbnNpZ25lZEludFRvRmxvYXQoUmVnaXN0ZXIgc3JjLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG91YmxlUmVnaXN0ZXIg ZHN0KSB7Ci0gICBNb3ZVbnNpZ25lZEludFRvRG91YmxlKGRzdCwgc3JjLCByMCk7Ci0tICBmY2Zp ZHMoZHN0LCBkc3QpOwotKwotKyAgaWYgKENwdUZlYXR1cmVzOjpJc1N1cHBvcnRlZChQUENfN19Q TFVTKSkgewotKyAgICBmY2ZpZHMoZHN0LCBkc3QpOwotKyAgfSBlbHNlIHsKLSsgICAgZmNmaWQo ZHN0LCBkc3QpOwotKyAgICBmcnNwKGRzdCwgZHN0KTsKLSsgIH0KLSB9Ci0gCi0gI2lmIFY4X1RB UkdFVF9BUkNIX1BQQzY0Ci1AQCAtNzI0LDIwICs3MzYsNTIgQEAKLSAKLSB2b2lkIFR1cmJvQXNz ZW1ibGVyOjpDb252ZXJ0VW5zaWduZWRJbnQ2NFRvRmxvYXQoUmVnaXN0ZXIgc3JjLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb3VibGVSZWdpc3Rl ciBkb3VibGVfZHN0KSB7Ci0tICBNb3ZJbnQ2NFRvRG91YmxlKGRvdWJsZV9kc3QsIHNyYyk7Ci0t ICBmY2ZpZHVzKGRvdWJsZV9kc3QsIGRvdWJsZV9kc3QpOwotKyAgaWYgKENwdUZlYXR1cmVzOjpJ c1N1cHBvcnRlZChQUENfN19QTFVTKSkgewotKyAgICBNb3ZJbnQ2NFRvRG91YmxlKGRvdWJsZV9k c3QsIHNyYyk7Ci0rICAgIGZjZmlkdXMoZG91YmxlX2RzdCwgZG91YmxlX2RzdCk7Ci0rICB9IGVs c2UgewotKyAgICBDb252ZXJ0VW5zaWduZWRJbnQ2NFRvRG91YmxlKHNyYywgZG91YmxlX2RzdCk7 Ci0rICAgIGZyc3AoZG91YmxlX2RzdCwgZG91YmxlX2RzdCk7Ci0rICB9Ci0gfQotIAotIHZvaWQg VHVyYm9Bc3NlbWJsZXI6OkNvbnZlcnRVbnNpZ25lZEludDY0VG9Eb3VibGUoUmVnaXN0ZXIgc3Jj LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG91 YmxlUmVnaXN0ZXIgZG91YmxlX2RzdCkgewotLSAgTW92SW50NjRUb0RvdWJsZShkb3VibGVfZHN0 LCBzcmMpOwotLSAgZmNmaWR1KGRvdWJsZV9kc3QsIGRvdWJsZV9kc3QpOwotKyAgaWYgKENwdUZl YXR1cmVzOjpJc1N1cHBvcnRlZChQUENfN19QTFVTKSkgewotKyAgICBNb3ZJbnQ2NFRvRG91Ymxl KGRvdWJsZV9kc3QsIHNyYyk7Ci0rICAgIGZjZmlkdShkb3VibGVfZHN0LCBkb3VibGVfZHN0KTsK LSsgIH0gZWxzZSB7Ci0rICAgIExhYmVsIG5lZ2F0aXZlOwotKyAgICBMYWJlbCBkb25lOwotKyAg ICBjbXBpKHNyYywgT3BlcmFuZDo6WmVybygpKTsKLSsgICAgYmx0KCZuZWdhdGl2ZSk7Ci0rICAg IHN0ZChzcmMsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotKyAgICBub3AoR1JPVVBf RU5ESU5HX05PUCk7ICAvLyBMSFMvUkFXIG9wdGltaXphdGlvbgotKyAgICBsZmQoZG91YmxlX2Rz dCwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0rICAgIGZjZmlkKGRvdWJsZV9kc3Qs IGRvdWJsZV9kc3QpOwotKyAgICBiKCZkb25lKTsKLSsgICAgYmluZCgmbmVnYXRpdmUpOwotKyAg ICAvLyBOb3RlOiBHQ0Mgc2F2ZXMgdGhlIGxvd2VzdCBiaXQsIHRoZW4gT1JzIGl0IGFmdGVyIHNo aWZ0aW5nIHJpZ2h0IDEgYml0LAotKyAgICAvLyBwcmVzdW1hYmx5IGZvciBiZXR0ZXIgcm91bmRp bmcuIFRoaXMgdmVyc2lvbiBvbmx5IHNoaWZ0cyByaWdodCAxIGJpdC4KLSsgICAgc3JkaShyMCwg c3JjLCBPcGVyYW5kKDEpKTsKLSsgICAgc3RkKHIwLCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNp emUpKTsKLSsgICAgbm9wKEdST1VQX0VORElOR19OT1ApOyAgLy8gTEhTL1JBVyBvcHRpbWl6YXRp b24KLSsgICAgbGZkKGRvdWJsZV9kc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwot KyAgICBmY2ZpZChkb3VibGVfZHN0LCBkb3VibGVfZHN0KTsKLSsgICAgZmFkZChkb3VibGVfZHN0 LCBkb3VibGVfZHN0LCBkb3VibGVfZHN0KTsKLSsgICAgYmluZCgmZG9uZSk7Ci0rICAgfQotIH0K LSAKLSB2b2lkIFR1cmJvQXNzZW1ibGVyOjpDb252ZXJ0SW50NjRUb0Zsb2F0KFJlZ2lzdGVyIHNy YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvdWJsZVJlZ2lz dGVyIGRvdWJsZV9kc3QpIHsKLSAgIE1vdkludDY0VG9Eb3VibGUoZG91YmxlX2RzdCwgc3JjKTsK LS0gIGZjZmlkcyhkb3VibGVfZHN0LCBkb3VibGVfZHN0KTsKLSsgIGlmIChDcHVGZWF0dXJlczo6 SXNTdXBwb3J0ZWQoUFBDXzdfUExVUykpIHsKLSsgICAgZmNmaWRzKGRvdWJsZV9kc3QsIGRvdWJs ZV9kc3QpOwotKyAgfSBlbHNlIHsKLSsgICAgZmNmaWQoZG91YmxlX2RzdCwgZG91YmxlX2RzdCk7 Ci0rICAgIGZyc3AoZG91YmxlX2RzdCwgZG91YmxlX2RzdCk7Ci0rICB9Ci0gfQotICNlbmRpZgot IAotQEAgLTc2NywxNSArODExLDU2IEBACi0gdm9pZCBUdXJib0Fzc2VtYmxlcjo6Q29udmVydERv dWJsZVRvVW5zaWduZWRJbnQ2NCgKLSAgICAgY29uc3QgRG91YmxlUmVnaXN0ZXIgZG91YmxlX2lu cHV0LCBjb25zdCBSZWdpc3RlciBkc3QsCi0gICAgIGNvbnN0IERvdWJsZVJlZ2lzdGVyIGRvdWJs ZV9kc3QsIEZQUm91bmRpbmdNb2RlIHJvdW5kaW5nX21vZGUpIHsKLS0gIGlmIChyb3VuZGluZ19t b2RlID09IGtSb3VuZFRvWmVybykgewotLSAgICBmY3RpZHV6KGRvdWJsZV9kc3QsIGRvdWJsZV9p bnB1dCk7Ci0rICBpZiAoQ3B1RmVhdHVyZXM6OklzU3VwcG9ydGVkKFBQQ183X1BMVVMpKSB7Ci0r ICAgIGlmIChyb3VuZGluZ19tb2RlID09IGtSb3VuZFRvWmVybykgewotKyAgICAgIGZjdGlkdXoo ZG91YmxlX2RzdCwgZG91YmxlX2lucHV0KTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICBTZXRSb3Vu ZGluZ01vZGUocm91bmRpbmdfbW9kZSk7Ci0rICAgICAgZmN0aWR1KGRvdWJsZV9kc3QsIGRvdWJs ZV9pbnB1dCk7Ci0rICAgICAgUmVzZXRSb3VuZGluZ01vZGUoKTsKLSsgICAgfQotKwotKyAgICBN b3ZEb3VibGVUb0ludDY0KGRzdCwgZG91YmxlX2RzdCk7Ci0gICB9IGVsc2UgewotLSAgICBTZXRS b3VuZGluZ01vZGUocm91bmRpbmdfbW9kZSk7Ci0tICAgIGZjdGlkdShkb3VibGVfZHN0LCBkb3Vi bGVfaW5wdXQpOwotLSAgICBSZXNldFJvdW5kaW5nTW9kZSgpOwotKyAgICBMYWJlbCBzYWZlX3Np emU7Ci0rICAgIExhYmVsIGRvbmU7Ci0rICAgIG1vdihkc3QsIE9wZXJhbmQoMTU5MzgzNTUyMCkp OyAgLy8gYml0IHBhdHRlcm4gZm9yIDJeNjMgYXMgYSBmbG9hdAotKyAgICBzdHcoZHN0LCBNZW1P cGVyYW5kKHNwLCAta0Zsb2F0U2l6ZSkpOwotKyAgICBub3AoR1JPVVBfRU5ESU5HX05PUCk7ICAv LyBMSFMvUkFXIG9wdGltaXphdGlvbgotKyAgICBsZnMoZG91YmxlX2RzdCwgTWVtT3BlcmFuZChz cCwgLWtGbG9hdFNpemUpKTsKLSsgICAgZmNtcHUoZG91YmxlX2lucHV0LCBkb3VibGVfZHN0KTsK LSsgICAgYmx0KCZzYWZlX3NpemUpOwotKyAgICAvLyBTdWJ0cmFjdCAyXjYzLCB0aGVuIE9SIHRo ZSB0b3AgYml0IG9mIHRoZSB1aW50NjQgdG8gYWRkIGJhY2sKLSsgICAgZnN1Yihkb3VibGVfZHN0 LCBkb3VibGVfaW5wdXQsIGRvdWJsZV9kc3QpOwotKyAgICBpZiAocm91bmRpbmdfbW9kZSA9PSBr Um91bmRUb1plcm8pIHsKLSsgICAgICBmY3RpZHooZG91YmxlX2RzdCwgZG91YmxlX2RzdCk7Ci0r ICAgIH0gZWxzZSB7Ci0rICAgICAgU2V0Um91bmRpbmdNb2RlKHJvdW5kaW5nX21vZGUpOwotKyAg ICAgIGZjdGlkKGRvdWJsZV9kc3QsIGRvdWJsZV9kc3QpOwotKyAgICAgIFJlc2V0Um91bmRpbmdN b2RlKCk7Ci0rICAgIH0KLSsgICAgLy8gc2V0IHIwIHRvIC0xLCB0aGVuIGNsZWFyIGFsbCBidXQg dGhlIE1TQi4KLSsgICAgbW92KHIwLCBPcGVyYW5kKC0xKSk7Ci0rICAgIHJsZGljcihyMCwgcjAs IDAsIDApOwotKyAgICBzdGZkKGRvdWJsZV9kc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6 ZSkpOwotKyAgICBub3AoR1JPVVBfRU5ESU5HX05PUCk7ICAvLyBMSFMvUkFXIG9wdGltaXphdGlv bgotKyAgICBsZChkc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotKyAgICB4b3Jf KGRzdCwgZHN0LCByMCk7Ci0rICAgIGIoJmRvbmUpOwotKyAgICAvLyBIYW5kbGluZyBmb3IgdmFs dWVzIHNtYWxsZXIgdGhhbiAyXjYzLgotKyAgICBiaW5kKCZzYWZlX3NpemUpOwotKyAgICBpZiAo cm91bmRpbmdfbW9kZSA9PSBrUm91bmRUb1plcm8pIHsKLSsgICAgICBmY3RpZHooZG91YmxlX2Rz dCwgZG91YmxlX2lucHV0KTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICBTZXRSb3VuZGluZ01vZGUo cm91bmRpbmdfbW9kZSk7Ci0rICAgICAgZmN0aWQoZG91YmxlX2RzdCwgZG91YmxlX2lucHV0KTsK LSsgICAgICBSZXNldFJvdW5kaW5nTW9kZSgpOwotKyAgICB9Ci0rICAgIHN0ZmQoZG91YmxlX2Rz dCwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0rICAgIG5vcChHUk9VUF9FTkRJTkdf Tk9QKTsgIC8vIExIUy9SQVcgb3B0aW1pemF0aW9uCi0rICAgIGxkKGRzdCwgTWVtT3BlcmFuZChz cCwgLWtEb3VibGVTaXplKSk7Ci0rICAgIGJpbmQoJmRvbmUpOwotICAgfQotLQotLSAgTW92RG91 YmxlVG9JbnQ2NChkc3QsIGRvdWJsZV9kc3QpOwotIH0KLSAjZW5kaWYKLSAKLUBAIC0yMDk3LDE5 ICsyMTgyLDE3IEBACi0gICB9Ci0gI2VuZGlmCi0gCi0tICBhZGRpKHNwLCBzcCwgT3BlcmFuZCgt a0RvdWJsZVNpemUpKTsKLSAjaWYgVjhfVEFSR0VUX0FSQ0hfUFBDNjQKLSAgIG1vdihzY3JhdGNo LCBPcGVyYW5kKGxpdFZhbC5pdmFsKSk7Ci0tICBzdGQoc2NyYXRjaCwgTWVtT3BlcmFuZChzcCkp OwotKyAgc3RkKHNjcmF0Y2gsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotICNlbHNl Ci0gICBMb2FkSW50TGl0ZXJhbChzY3JhdGNoLCBsaXRWYWwuaXZhbFswXSk7Ci0tICBzdHcoc2Ny YXRjaCwgTWVtT3BlcmFuZChzcCwgMCkpOwotKyAgc3R3KHNjcmF0Y2gsIE1lbU9wZXJhbmQoc3As IC1rRG91YmxlU2l6ZSkpOwotICAgTG9hZEludExpdGVyYWwoc2NyYXRjaCwgbGl0VmFsLml2YWxb MV0pOwotLSAgc3R3KHNjcmF0Y2gsIE1lbU9wZXJhbmQoc3AsIDQpKTsKLSsgIHN0dyhzY3JhdGNo LCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNpemUgKyA0KSk7Ci0gI2VuZGlmCi0gICBub3AoR1JP VVBfRU5ESU5HX05PUCk7ICAvLyBMSFMvUkFXIG9wdGltaXphdGlvbgotLSAgbGZkKHJlc3VsdCwg TWVtT3BlcmFuZChzcCwgMCkpOwotLSAgYWRkaShzcCwgc3AsIE9wZXJhbmQoa0RvdWJsZVNpemUp KTsKLSsgIGxmZChyZXN1bHQsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotIH0KLSAK LSB2b2lkIFR1cmJvQXNzZW1ibGVyOjpNb3ZJbnRUb0RvdWJsZShEb3VibGVSZWdpc3RlciBkc3Qs IFJlZ2lzdGVyIHNyYywKLUBAIC0yMTIzLDE4ICsyMjA2LDE2IEBACi0gI2VuZGlmCi0gCi0gICBE Q0hFQ0soc3JjICE9IHNjcmF0Y2gpOwotLSAgc3ViaShzcCwgc3AsIE9wZXJhbmQoa0RvdWJsZVNp emUpKTsKLSAjaWYgVjhfVEFSR0VUX0FSQ0hfUFBDNjQKLSAgIGV4dHN3KHNjcmF0Y2gsIHNyYyk7 Ci0tICBzdGQoc2NyYXRjaCwgTWVtT3BlcmFuZChzcCwgMCkpOwotKyAgc3RkKHNjcmF0Y2gsIE1l bU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotICNlbHNlCi0gICBzcmF3aShzY3JhdGNoLCBz cmMsIDMxKTsKLS0gIHN0dyhzY3JhdGNoLCBNZW1PcGVyYW5kKHNwLCBSZWdpc3Rlcjo6a0V4cG9u ZW50T2Zmc2V0KSk7Ci0tICBzdHcoc3JjLCBNZW1PcGVyYW5kKHNwLCBSZWdpc3Rlcjo6a01hbnRp c3NhT2Zmc2V0KSk7Ci0rICBzdHcoc2NyYXRjaCwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXpl ICsgUmVnaXN0ZXI6OmtFeHBvbmVudE9mZnNldCkpOwotKyAgc3R3KHNyYywgTWVtT3BlcmFuZChz cCwgLWtEb3VibGVTaXplICsgUmVnaXN0ZXI6OmtNYW50aXNzYU9mZnNldCkpOwotICNlbmRpZgot ICAgbm9wKEdST1VQX0VORElOR19OT1ApOyAgLy8gTEhTL1JBVyBvcHRpbWl6YXRpb24KLS0gIGxm ZChkc3QsIE1lbU9wZXJhbmQoc3AsIDApKTsKLS0gIGFkZGkoc3AsIHNwLCBPcGVyYW5kKGtEb3Vi bGVTaXplKSk7Ci0rICBsZmQoZHN0LCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNpemUpKTsKLSB9 Ci0gCi0gdm9pZCBUdXJib0Fzc2VtYmxlcjo6TW92VW5zaWduZWRJbnRUb0RvdWJsZShEb3VibGVS ZWdpc3RlciBkc3QsIFJlZ2lzdGVyIHNyYywKLUBAIC0yMTQ4LDE4ICsyMjI5LDE2IEBACi0gI2Vu ZGlmCi0gCi0gICBEQ0hFQ0soc3JjICE9IHNjcmF0Y2gpOwotLSAgc3ViaShzcCwgc3AsIE9wZXJh bmQoa0RvdWJsZVNpemUpKTsKLSAjaWYgVjhfVEFSR0VUX0FSQ0hfUFBDNjQKLSAgIGNscmxkaShz Y3JhdGNoLCBzcmMsIE9wZXJhbmQoMzIpKTsKLS0gIHN0ZChzY3JhdGNoLCBNZW1PcGVyYW5kKHNw LCAwKSk7Ci0rICBzdGQoc2NyYXRjaCwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0g I2Vsc2UKLSAgIGxpKHNjcmF0Y2gsIE9wZXJhbmQ6Olplcm8oKSk7Ci0tICBzdHcoc2NyYXRjaCwg TWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtFeHBvbmVudE9mZnNldCkpOwotLSAgc3R3KHNyYywg TWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtNYW50aXNzYU9mZnNldCkpOwotKyAgc3R3KHNjcmF0 Y2gsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSArIFJlZ2lzdGVyOjprRXhwb25lbnRPZmZz ZXQpKTsKLSsgIHN0dyhzcmMsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSArIFJlZ2lzdGVy OjprTWFudGlzc2FPZmZzZXQpKTsKLSAjZW5kaWYKLSAgIG5vcChHUk9VUF9FTkRJTkdfTk9QKTsg IC8vIExIUy9SQVcgb3B0aW1pemF0aW9uCi0tICBsZmQoZHN0LCBNZW1PcGVyYW5kKHNwLCAwKSk7 Ci0tICBhZGRpKHNwLCBzcCwgT3BlcmFuZChrRG91YmxlU2l6ZSkpOwotKyAgbGZkKGRzdCwgTWVt T3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0gfQotIAotIHZvaWQgVHVyYm9Bc3NlbWJsZXI6 Ok1vdkludDY0VG9Eb3VibGUoRG91YmxlUmVnaXN0ZXIgZHN0LAotQEAgLTIxNzQsMTYgKzIyNTMs MTQgQEAKLSAgIH0KLSAjZW5kaWYKLSAKLS0gIHN1Ymkoc3AsIHNwLCBPcGVyYW5kKGtEb3VibGVT aXplKSk7Ci0gI2lmIFY4X1RBUkdFVF9BUkNIX1BQQzY0Ci0tICBzdGQoc3JjLCBNZW1PcGVyYW5k KHNwLCAwKSk7Ci0rICBzdGQoc3JjLCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNpemUpKTsKLSAj ZWxzZQotLSAgc3R3KHNyY19oaSwgTWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtFeHBvbmVudE9m ZnNldCkpOwotLSAgc3R3KHNyYywgTWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtNYW50aXNzYU9m ZnNldCkpOwotKyAgc3R3KHNyY19oaSwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplICsgUmVn aXN0ZXI6OmtFeHBvbmVudE9mZnNldCkpOwotKyAgc3R3KHNyYywgTWVtT3BlcmFuZChzcCwgLWtE b3VibGVTaXplICsgUmVnaXN0ZXI6OmtNYW50aXNzYU9mZnNldCkpOwotICNlbmRpZgotICAgbm9w KEdST1VQX0VORElOR19OT1ApOyAgLy8gTEhTL1JBVyBvcHRpbWl6YXRpb24KLS0gIGxmZChkc3Qs IE1lbU9wZXJhbmQoc3AsIDApKTsKLS0gIGFkZGkoc3AsIHNwLCBPcGVyYW5kKGtEb3VibGVTaXpl KSk7Ci0rICBsZmQoZHN0LCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNpemUpKTsKLSB9Ci0gCi0g I2lmIFY4X1RBUkdFVF9BUkNIX1BQQzY0Ci1AQCAtMjE5OCwxMiArMjI3NSwxMCBAQAotICAgICBy ZXR1cm47Ci0gICB9Ci0gCi0tICBzdWJpKHNwLCBzcCwgT3BlcmFuZChrRG91YmxlU2l6ZSkpOwot LSAgc3R3KHNyY19oaSwgTWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtFeHBvbmVudE9mZnNldCkp OwotLSAgc3R3KHNyY19sbywgTWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtNYW50aXNzYU9mZnNl dCkpOwotKyAgc3R3KHNyY19oaSwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplICsgUmVnaXN0 ZXI6OmtFeHBvbmVudE9mZnNldCkpOwotKyAgc3R3KHNyY19sbywgTWVtT3BlcmFuZChzcCwgLWtE b3VibGVTaXplICsgUmVnaXN0ZXI6OmtNYW50aXNzYU9mZnNldCkpOwotICAgbm9wKEdST1VQX0VO RElOR19OT1ApOyAgLy8gTEhTL1JBVyBvcHRpbWl6YXRpb24KLS0gIGxmZChkc3QsIE1lbU9wZXJh bmQoc3ApKTsKLS0gIGFkZGkoc3AsIHNwLCBPcGVyYW5kKGtEb3VibGVTaXplKSk7Ci0rICBsZmQo ZHN0LCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNpemUpKTsKLSB9Ci0gI2VuZGlmCi0gCi1AQCAt MjIxOCwxMiArMjI5MywxMCBAQAotICAgfQotICNlbmRpZgotIAotLSAgc3ViaShzcCwgc3AsIE9w ZXJhbmQoa0RvdWJsZVNpemUpKTsKLS0gIHN0ZmQoZHN0LCBNZW1PcGVyYW5kKHNwKSk7Ci0tICBz dHcoc3JjLCBNZW1PcGVyYW5kKHNwLCBSZWdpc3Rlcjo6a01hbnRpc3NhT2Zmc2V0KSk7Ci0rICBz dGZkKGRzdCwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0rICBzdHcoc3JjLCBNZW1P cGVyYW5kKHNwLCAta0RvdWJsZVNpemUgKyBSZWdpc3Rlcjo6a01hbnRpc3NhT2Zmc2V0KSk7Ci0g ICBub3AoR1JPVVBfRU5ESU5HX05PUCk7ICAvLyBMSFMvUkFXIG9wdGltaXphdGlvbgotLSAgbGZk KGRzdCwgTWVtT3BlcmFuZChzcCkpOwotLSAgYWRkaShzcCwgc3AsIE9wZXJhbmQoa0RvdWJsZVNp emUpKTsKLSsgIGxmZChkc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotIH0KLSAK LSB2b2lkIFR1cmJvQXNzZW1ibGVyOjpJbnNlcnREb3VibGVIaWdoKERvdWJsZVJlZ2lzdGVyIGRz dCwgUmVnaXN0ZXIgc3JjLAotQEAgLTIyMzcsMTIgKzIzMTAsMTAgQEAKLSAgIH0KLSAjZW5kaWYK LSAKLS0gIHN1Ymkoc3AsIHNwLCBPcGVyYW5kKGtEb3VibGVTaXplKSk7Ci0tICBzdGZkKGRzdCwg TWVtT3BlcmFuZChzcCkpOwotLSAgc3R3KHNyYywgTWVtT3BlcmFuZChzcCwgUmVnaXN0ZXI6OmtF eHBvbmVudE9mZnNldCkpOwotKyAgc3RmZChkc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6 ZSkpOwotKyAgc3R3KHNyYywgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplICsgUmVnaXN0ZXI6 OmtFeHBvbmVudE9mZnNldCkpOwotICAgbm9wKEdST1VQX0VORElOR19OT1ApOyAgLy8gTEhTL1JB VyBvcHRpbWl6YXRpb24KLS0gIGxmZChkc3QsIE1lbU9wZXJhbmQoc3ApKTsKLS0gIGFkZGkoc3As IHNwLCBPcGVyYW5kKGtEb3VibGVTaXplKSk7Ci0rICBsZmQoZHN0LCBNZW1PcGVyYW5kKHNwLCAt a0RvdWJsZVNpemUpKTsKLSB9Ci0gCi0gdm9pZCBUdXJib0Fzc2VtYmxlcjo6TW92RG91YmxlTG93 VG9JbnQoUmVnaXN0ZXIgZHN0LCBEb3VibGVSZWdpc3RlciBzcmMpIHsKLUBAIC0yMjUzLDExICsy MzI0LDkgQEAKLSAgIH0KLSAjZW5kaWYKLSAKLS0gIHN1Ymkoc3AsIHNwLCBPcGVyYW5kKGtEb3Vi bGVTaXplKSk7Ci0tICBzdGZkKHNyYywgTWVtT3BlcmFuZChzcCkpOwotKyAgc3RmZChzcmMsIE1l bU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSkpOwotICAgbm9wKEdST1VQX0VORElOR19OT1ApOyAg Ly8gTEhTL1JBVyBvcHRpbWl6YXRpb24KLS0gIGx3eihkc3QsIE1lbU9wZXJhbmQoc3AsIFJlZ2lz dGVyOjprTWFudGlzc2FPZmZzZXQpKTsKLS0gIGFkZGkoc3AsIHNwLCBPcGVyYW5kKGtEb3VibGVT aXplKSk7Ci0rICBsd3ooZHN0LCBNZW1PcGVyYW5kKHNwLCAta0RvdWJsZVNpemUgKyBSZWdpc3Rl cjo6a01hbnRpc3NhT2Zmc2V0KSk7Ci0gfQotIAotIHZvaWQgVHVyYm9Bc3NlbWJsZXI6Ok1vdkRv dWJsZUhpZ2hUb0ludChSZWdpc3RlciBkc3QsIERvdWJsZVJlZ2lzdGVyIHNyYykgewotQEAgLTIy NjksMTEgKzIzMzgsOSBAQAotICAgfQotICNlbmRpZgotIAotLSAgc3ViaShzcCwgc3AsIE9wZXJh bmQoa0RvdWJsZVNpemUpKTsKLS0gIHN0ZmQoc3JjLCBNZW1PcGVyYW5kKHNwKSk7Ci0rICBzdGZk KHNyYywgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0gICBub3AoR1JPVVBfRU5ESU5H X05PUCk7ICAvLyBMSFMvUkFXIG9wdGltaXphdGlvbgotLSAgbHd6KGRzdCwgTWVtT3BlcmFuZChz cCwgUmVnaXN0ZXI6OmtFeHBvbmVudE9mZnNldCkpOwotLSAgYWRkaShzcCwgc3AsIE9wZXJhbmQo a0RvdWJsZVNpemUpKTsKLSsgIGx3eihkc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSAr IFJlZ2lzdGVyOjprRXhwb25lbnRPZmZzZXQpKTsKLSB9Ci0gCi0gdm9pZCBUdXJib0Fzc2VtYmxl cjo6TW92RG91YmxlVG9JbnQ2NCgKLUBAIC0yMjg4LDMyICsyMzU1LDI2IEBACi0gICB9Ci0gI2Vu ZGlmCi0gCi0tICBzdWJpKHNwLCBzcCwgT3BlcmFuZChrRG91YmxlU2l6ZSkpOwotLSAgc3RmZChz cmMsIE1lbU9wZXJhbmQoc3ApKTsKLSsgIHN0ZmQoc3JjLCBNZW1PcGVyYW5kKHNwLCAta0RvdWJs ZVNpemUpKTsKLSAgIG5vcChHUk9VUF9FTkRJTkdfTk9QKTsgIC8vIExIUy9SQVcgb3B0aW1pemF0 aW9uCi0gI2lmIFY4X1RBUkdFVF9BUkNIX1BQQzY0Ci0tICBsZChkc3QsIE1lbU9wZXJhbmQoc3As IDApKTsKLSsgIGxkKGRzdCwgTWVtT3BlcmFuZChzcCwgLWtEb3VibGVTaXplKSk7Ci0gI2Vsc2UK LS0gIGx3eihkc3RfaGksIE1lbU9wZXJhbmQoc3AsIFJlZ2lzdGVyOjprRXhwb25lbnRPZmZzZXQp KTsKLS0gIGx3eihkc3QsIE1lbU9wZXJhbmQoc3AsIFJlZ2lzdGVyOjprTWFudGlzc2FPZmZzZXQp KTsKLSsgIGx3eihkc3RfaGksIE1lbU9wZXJhbmQoc3AsIC1rRG91YmxlU2l6ZSArIFJlZ2lzdGVy OjprRXhwb25lbnRPZmZzZXQpKTsKLSsgIGx3eihkc3QsIE1lbU9wZXJhbmQoc3AsIC1rRG91Ymxl U2l6ZSArIFJlZ2lzdGVyOjprTWFudGlzc2FPZmZzZXQpKTsKLSAjZW5kaWYKLS0gIGFkZGkoc3As IHNwLCBPcGVyYW5kKGtEb3VibGVTaXplKSk7Ci0gfQotIAotIHZvaWQgVHVyYm9Bc3NlbWJsZXI6 Ok1vdkludFRvRmxvYXQoRG91YmxlUmVnaXN0ZXIgZHN0LCBSZWdpc3RlciBzcmMpIHsKLS0gIHN1 Ymkoc3AsIHNwLCBPcGVyYW5kKGtGbG9hdFNpemUpKTsKLS0gIHN0dyhzcmMsIE1lbU9wZXJhbmQo c3AsIDApKTsKLSsgIHN0dyhzcmMsIE1lbU9wZXJhbmQoc3AsIC1rRmxvYXRTaXplKSk7Ci0gICBu b3AoR1JPVVBfRU5ESU5HX05PUCk7ICAvLyBMSFMvUkFXIG9wdGltaXphdGlvbgotLSAgbGZzKGRz dCwgTWVtT3BlcmFuZChzcCwgMCkpOwotLSAgYWRkaShzcCwgc3AsIE9wZXJhbmQoa0Zsb2F0U2l6 ZSkpOwotKyAgbGZzKGRzdCwgTWVtT3BlcmFuZChzcCwgLWtGbG9hdFNpemUpKTsKLSB9Ci0gCi0g dm9pZCBUdXJib0Fzc2VtYmxlcjo6TW92RmxvYXRUb0ludChSZWdpc3RlciBkc3QsIERvdWJsZVJl Z2lzdGVyIHNyYykgewotLSAgc3ViaShzcCwgc3AsIE9wZXJhbmQoa0Zsb2F0U2l6ZSkpOwotLSAg c3RmcyhzcmMsIE1lbU9wZXJhbmQoc3AsIDApKTsKLSsgIHN0ZnMoc3JjLCBNZW1PcGVyYW5kKHNw LCAta0Zsb2F0U2l6ZSkpOwotICAgbm9wKEdST1VQX0VORElOR19OT1ApOyAgLy8gTEhTL1JBVyBv cHRpbWl6YXRpb24KLS0gIGx3eihkc3QsIE1lbU9wZXJhbmQoc3AsIDApKTsKLS0gIGFkZGkoc3As IHNwLCBPcGVyYW5kKGtGbG9hdFNpemUpKTsKLSsgIGx3eihkc3QsIE1lbU9wZXJhbmQoc3AsIC1r RmxvYXRTaXplKSk7Ci0gfQotIAotIHZvaWQgVHVyYm9Bc3NlbWJsZXI6OkFkZChSZWdpc3RlciBk c3QsIFJlZ2lzdGVyIHNyYywgaW50cHRyX3QgdmFsdWUsCi0tLS0gYS9kZXBzL3Y4L3NyYy9jb2Rl Z2VuL3BwYy9jcHUtcHBjLmNjCTIwMjItMDItMTUgMjE6MTE6NDYuMjkxMzg3NDU3IC0wODAwCi0r KysgYi9kZXBzL3Y4L3NyYy9jb2RlZ2VuL3BwYy9jcHUtcHBjLmNjCTIwMjItMDItMTcgMjA6Mzg6 MDguODE2MDk4MTg1IC0wODAwCi1AQCAtOCwxNCArOCwxMiBAQAotIAotICNpbmNsdWRlICJzcmMv Y29kZWdlbi9jcHUtZmVhdHVyZXMuaCIKLSAKLS0jZGVmaW5lIElOU1RSX0FORF9EQVRBX0NBQ0hF X0NPSEVSRU5DWSBMV1NZTkMKLS0KLSBuYW1lc3BhY2UgdjggewotIG5hbWVzcGFjZSBpbnRlcm5h bCB7Ci0gCi0gdm9pZCBDcHVGZWF0dXJlczo6Rmx1c2hJQ2FjaGUodm9pZCogYnVmZmVyLCBzaXpl X3Qgc2l6ZSkgewotICNpZiAhZGVmaW5lZChVU0VfU0lNVUxBVE9SKQotLSAgaWYgKENwdUZlYXR1 cmVzOjpJc1N1cHBvcnRlZChJTlNUUl9BTkRfREFUQV9DQUNIRV9DT0hFUkVOQ1kpKSB7Ci0rICBp ZiAoQ3B1RmVhdHVyZXM6OklzU3VwcG9ydGVkKElDQUNIRV9TTk9PUCkpIHsKLSAgICAgX19hc21f XyBfX3ZvbGF0aWxlX18oCi0gICAgICAgICAic3luYyBcbiIKLSAgICAgICAgICJpY2JpIDAsICUw ICBcbiIKLUBAIC0yNiwyNSArMjQsMzMgQEAKLSAgICAgcmV0dXJuOwotICAgfQotIAotLSAgY29u c3QgaW50IGtDYWNoZUxpbmVTaXplID0gQ3B1RmVhdHVyZXM6OmljYWNoZV9saW5lX3NpemUoKTsK LS0gIGludHB0cl90IG1hc2sgPSBrQ2FjaGVMaW5lU2l6ZSAtIDE7Ci0rICBjb25zdCBpbnQga0lu c3RyQ2FjaGVMaW5lU2l6ZSA9IENwdUZlYXR1cmVzOjppY2FjaGVfbGluZV9zaXplKCk7Ci0rICBj b25zdCBpbnQga0RhdGFDYWNoZUxpbmVTaXplID0gQ3B1RmVhdHVyZXM6OmRjYWNoZV9saW5lX3Np emUoKTsKLSsgIGludHB0cl90IGljX21hc2sgPSBrSW5zdHJDYWNoZUxpbmVTaXplIC0gMTsKLSsg IGludHB0cl90IGRjX21hc2sgPSBrRGF0YUNhY2hlTGluZVNpemUgLSAxOwotICAgYnl0ZSogc3Rh cnQgPQotLSAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Ynl0ZSo+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50 cHRyX3Q+KGJ1ZmZlcikgJiB+bWFzayk7Ci0rICAgICAgcmVpbnRlcnByZXRfY2FzdDxieXRlKj4o cmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oYnVmZmVyKSAmIH5kY19tYXNrKTsKLSAgIGJ5dGUq IGVuZCA9IHN0YXRpY19jYXN0PGJ5dGUqPihidWZmZXIpICsgc2l6ZTsKLS0gIGZvciAoYnl0ZSog cG9pbnRlciA9IHN0YXJ0OyBwb2ludGVyIDwgZW5kOyBwb2ludGVyICs9IGtDYWNoZUxpbmVTaXpl KSB7Ci0tICAgIF9fYXNtX18oCi0rICBmb3IgKGJ5dGUqIHBvaW50ZXIgPSBzdGFydDsgcG9pbnRl ciA8IGVuZDsgcG9pbnRlciArPSBrRGF0YUNhY2hlTGluZVNpemUpIHsKLSsgICAgX19hc21fXyBf X3ZvbGF0aWxlX18oCi0gICAgICAgICAiZGNiZiAwLCAlMCAgXG4iCi0tICAgICAgICAic3luYyAg ICAgICAgXG4iCi0tICAgICAgICAiaWNiaSAwLCAlMCAgXG4iCi0tICAgICAgICAiaXN5bmMgICAg ICAgXG4iCi0gICAgICAgICA6IC8qIG5vIG91dHB1dCAqLwotICAgICAgICAgOiAiciIocG9pbnRl cikpOwotICAgfQotKyAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN5bmMiKTsKLSAKLSsgIHN0YXJ0 ID0KLSsgICAgICByZWludGVycHJldF9jYXN0PGJ5dGUqPihyZWludGVycHJldF9jYXN0PGludHB0 cl90PihidWZmZXIpICYgfmljX21hc2spOwotKyAgZm9yIChieXRlKiBwb2ludGVyID0gc3RhcnQ7 IHBvaW50ZXIgPCBlbmQ7IHBvaW50ZXIgKz0ga0luc3RyQ2FjaGVMaW5lU2l6ZSkgewotKyAgICBf X2FzbV9fIF9fdm9sYXRpbGVfXygKLSsgICAgICAgICJpY2JpIDAsICUwICBcbiIKLSsgICAgICAg IDogLyogbm8gb3V0cHV0ICovCi0rICAgICAgICA6ICJyIihwb2ludGVyKSk7Ci0rICB9Ci0rICBf X2FzbV9fIF9fdm9sYXRpbGVfXygiaXN5bmMiKTsKLSAjZW5kaWYgIC8vICFVU0VfU0lNVUxBVE9S Ci0gfQotIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAotIH0gIC8vIG5hbWVzcGFjZSB2OAotIAot LSN1bmRlZiBJTlNUUl9BTkRfREFUQV9DQUNIRV9DT0hFUkVOQ1kKLSAjZW5kaWYgIC8vIFY4X1RB UkdFVF9BUkNIX1BQQwotLS0tIGEvZGVwcy92OC9zcmMvY29kZWdlbi9wcGMvYXNzZW1ibGVyLXBw Yy5jYwkyMDIyLTAyLTE1IDIxOjExOjQ2LjI5NTM4NzU1OSAtMDgwMAotKysrIGIvZGVwcy92OC9z cmMvY29kZWdlbi9wcGMvYXNzZW1ibGVyLXBwYy5jYwkyMDIyLTAyLTE4IDAwOjExOjA3Ljg4NzI1 NzE3NCAtMDgwMAotQEAgLTU3LDU4ICs1Nyw2MiBAQAotIHZvaWQgQ3B1RmVhdHVyZXM6OlByb2Jl SW1wbChib29sIGNyb3NzX2NvbXBpbGUpIHsKLSAgIHN1cHBvcnRlZF8gfD0gQ3B1RmVhdHVyZXNJ bXBsaWVkQnlDb21waWxlcigpOwotICAgaWNhY2hlX2xpbmVfc2l6ZV8gPSAxMjg7Ci0rICBkY2Fj aGVfbGluZV9zaXplXyA9IDEyODsKLSAKLSAgIC8vIE9ubHkgdXNlIHN0YXRpY2FsbHkgZGV0ZXJt aW5lZCBmZWF0dXJlcyBmb3IgY3Jvc3MgY29tcGlsZSAoc25hcHNob3QpLgotICAgaWYgKGNyb3Nz X2NvbXBpbGUpIHJldHVybjsKLSAKLS0vLyBEZXRlY3Qgd2hldGhlciBmcmltIGluc3RydWN0aW9u IGlzIHN1cHBvcnRlZCAoUE9XRVI1KykKLS0vLyBGb3Igbm93IHdlIHdpbGwganVzdCBjaGVjayBm b3IgcHJvY2Vzc29ycyB3ZSBrbm93IGRvIG5vdAotLS8vIHN1cHBvcnQgaXQKLSAjaWZuZGVmIFVT RV9TSU1VTEFUT1IKLSAgIC8vIFByb2JlIGZvciBhZGRpdGlvbmFsIGZlYXR1cmVzIGF0IHJ1bnRp bWUuCi0gICBiYXNlOjpDUFUgY3B1OwotLSAgaWYgKGNwdS5wYXJ0KCkgPT0gYmFzZTo6Q1BVOjpQ UENfUE9XRVI5IHx8IAotLSAgICAgIGNwdS5wYXJ0KCkgPT0gYmFzZTo6Q1BVOjpQUENfUE9XRVIx MCkgewotLSAgICBzdXBwb3J0ZWRfIHw9ICgxdSA8PCBNT0RVTE8pOwotLSAgfQotKyAgc3dpdGNo IChjcHUucGFydCgpKSB7Ci0rICAgIGNhc2UgYmFzZTo6Q1BVOjpQUENfUE9XRVIxMDoKLSsgICAg Y2FzZSBiYXNlOjpDUFU6OlBQQ19QT1dFUjk6Ci0rICAgICAgc3VwcG9ydGVkXyB8PSAoMXUgPDwg TU9EVUxPKTsKLSsgICAgICAvLyBmYWxsdGhyb3VnaAotKwotKyAgICBjYXNlIGJhc2U6OkNQVTo6 UFBDX1BPV0VSODoKLSAjaWYgVjhfVEFSR0VUX0FSQ0hfUFBDNjQKLS0gIGlmIChjcHUucGFydCgp ID09IGJhc2U6OkNQVTo6UFBDX1BPV0VSOCB8fCAKLS0gICAgICBjcHUucGFydCgpID09IGJhc2U6 OkNQVTo6UFBDX1BPV0VSOSB8fCAKLS0gICAgICBjcHUucGFydCgpID09IGJhc2U6OkNQVTo6UFBD X1BPV0VSMTApIHsKLS0gICAgc3VwcG9ydGVkXyB8PSAoMXUgPDwgRlBSX0dQUl9NT1YpOwotLSAg fQotKyAgICAgIHN1cHBvcnRlZF8gfD0gKDF1IDw8IEZQUl9HUFJfTU9WKTsKLSAjZW5kaWYKLS0g IGlmIChjcHUucGFydCgpID09IGJhc2U6OkNQVTo6UFBDX1BPV0VSNiB8fAotLSAgICAgIGNwdS5w YXJ0KCkgPT0gYmFzZTo6Q1BVOjpQUENfUE9XRVI3IHx8Ci0tICAgICAgY3B1LnBhcnQoKSA9PSBi YXNlOjpDUFU6OlBQQ19QT1dFUjggfHwgCi0tICAgICAgY3B1LnBhcnQoKSA9PSBiYXNlOjpDUFU6 OlBQQ19QT1dFUjkgfHwgCi0tICAgICAgY3B1LnBhcnQoKSA9PSBiYXNlOjpDUFU6OlBQQ19QT1dF UjEwKSB7Ci0tICAgIHN1cHBvcnRlZF8gfD0gKDF1IDw8IExXU1lOQyk7Ci0rICAgICAgLy8gZmFs bHRocm91Z2gKLSsKLSsgICAgY2FzZSBiYXNlOjpDUFU6OlBQQ19QT1dFUjc6Ci0rICAgICAgc3Vw cG9ydGVkXyB8PSAoMXUgPDwgUFBDXzdfUExVUyk7Ci0rICAgICAgc3VwcG9ydGVkXyB8PSAoMXUg PDwgUE9QX0NPVU5UKTsKLSsgICAgICAvLyBmYWxsdGhyb3VnaAotKwotKyAgICBjYXNlIGJhc2U6 OkNQVTo6UFBDX1BPV0VSNjoKLSsgICAgY2FzZSBiYXNlOjpDUFU6OlBQQ19QT1dFUjU6Ci0rICAg IGNhc2UgYmFzZTo6Q1BVOjpQUENfUEE2VDoKLSsgICAgICBzdXBwb3J0ZWRfIHw9ICgxdSA8PCBG UF9ST1VORF9UT19JTlQpOwotKyAgICAgIGJyZWFrOwotKwotKyAgICAvLyBTcGVjaWFsIGNhc2Vz IGJlbG93LiBPdGhlcndpc2UsIGFzc3VtZSBubyBzcGVjaWFsIGZlYXR1cmVzLgotKyAgICAvLyBO WFAgZTU1MDAvZTY1MDAgaGF2ZSBwb3BjbnQgYnV0IG5vdCBtdWNoIGVsc2Ugc2luY2UgSVNBIHYy LjAxLgotKyAgICBjYXNlIGJhc2U6OkNQVTo6UFBDX0U1NTAwOgotKyAgICBjYXNlIGJhc2U6OkNQ VTo6UFBDX0U2NTAwOgotKyAgICAgIHN1cHBvcnRlZF8gfD0gKDF1IDw8IFBPUF9DT1VOVCk7Ci0r ICAgICAgYnJlYWs7Ci0gICB9Ci0tICBpZiAoY3B1LnBhcnQoKSA9PSBiYXNlOjpDUFU6OlBQQ19Q T1dFUjcgfHwKLS0gICAgICBjcHUucGFydCgpID09IGJhc2U6OkNQVTo6UFBDX1BPV0VSOCB8fCAK LS0gICAgICBjcHUucGFydCgpID09IGJhc2U6OkNQVTo6UFBDX1BPV0VSOSB8fCAKLS0gICAgICBj cHUucGFydCgpID09IGJhc2U6OkNQVTo6UFBDX1BPV0VSMTApIHsKLS0gICAgc3VwcG9ydGVkXyB8 PSAoMXUgPDwgSVNFTEVDVCk7Ci0tICAgIHN1cHBvcnRlZF8gfD0gKDF1IDw8IFZTWCk7Ci0rICBp ZiAoY3B1Lmhhc19pc2VsKCkpIHsKLSsgICAgc3VwcG9ydGVkXyB8PSAoMXUgPDwgSVNFTEVDVCk7 ICAgICAgLy8gSVNBIHYyLjAzLCBwbHVzIHNvbWUgTlhQIENQVXMKLSAgIH0KLS0jaWYgVjhfT1Nf TElOVVgKLS0gIGlmICghKGNwdS5wYXJ0KCkgPT0gYmFzZTo6Q1BVOjpQUENfRzUgfHwgY3B1LnBh cnQoKSA9PSBiYXNlOjpDUFU6OlBQQ19HNCkpIHsKLS0gICAgLy8gQXNzdW1lIHN1cHBvcnQKLS0g ICAgc3VwcG9ydGVkXyB8PSAoMXUgPDwgRlBVKTsKLSsgIGlmIChjcHUuaGFzX2ljYWNoZV9zbm9v cCgpKSB7Ci0rICAgIHN1cHBvcnRlZF8gfD0gKDF1IDw8IElDQUNIRV9TTk9PUCk7IC8vIElTQSB2 Mi4wMjsgaGFzIGl0cyBvd24gaHdjYXAgZmxhZwotICAgfQotICAgaWYgKGNwdS5pY2FjaGVfbGlu ZV9zaXplKCkgIT0gYmFzZTo6Q1BVOjpVTktOT1dOX0NBQ0hFX0xJTkVfU0laRSkgewotICAgICBp Y2FjaGVfbGluZV9zaXplXyA9IGNwdS5pY2FjaGVfbGluZV9zaXplKCk7Ci0gICB9Ci0tI2VsaWYg VjhfT1NfQUlYCi0tICAvLyBBc3N1bWUgc3VwcG9ydCBGUCBzdXBwb3J0IGFuZCBkZWZhdWx0IGNh Y2hlIGxpbmUgc2l6ZQotLSAgc3VwcG9ydGVkXyB8PSAoMXUgPDwgRlBVKTsKLS0jZW5kaWYKLSsg IGlmIChjcHUuZGNhY2hlX2xpbmVfc2l6ZSgpICE9IGJhc2U6OkNQVTo6VU5LTk9XTl9DQUNIRV9M SU5FX1NJWkUpIHsKLSsgICAgZGNhY2hlX2xpbmVfc2l6ZV8gPSBjcHUuZGNhY2hlX2xpbmVfc2l6 ZSgpOwotKyAgfQotICNlbHNlICAvLyBTaW11bGF0b3IKLS0gIHN1cHBvcnRlZF8gfD0gKDF1IDw8 IEZQVSk7Ci0tICBzdXBwb3J0ZWRfIHw9ICgxdSA8PCBMV1NZTkMpOwotKyAgc3VwcG9ydGVkXyB8 PSAoMXUgPDwgRlBfUk9VTkRfVE9fSU5UKTsKLSsgIHN1cHBvcnRlZF8gfD0gKDF1IDw8IElDQUNI RV9TTk9PUCk7Ci0gICBzdXBwb3J0ZWRfIHw9ICgxdSA8PCBJU0VMRUNUKTsKLS0gIHN1cHBvcnRl ZF8gfD0gKDF1IDw8IFZTWCk7Ci0rICBzdXBwb3J0ZWRfIHw9ICgxdSA8PCBQT1BfQ09VTlQpOwot KyAgc3VwcG9ydGVkXyB8PSAoMXUgPDwgUFBDXzdfUExVUyk7Ci0gICBzdXBwb3J0ZWRfIHw9ICgx dSA8PCBNT0RVTE8pOwotICNpZiBWOF9UQVJHRVRfQVJDSF9QUEM2NAotICAgc3VwcG9ydGVkXyB8 PSAoMXUgPDwgRlBSX0dQUl9NT1YpOwotQEAgLTEyOSw3ICsxMzMsMTMgQEAKLSB9Ci0gCi0gdm9p ZCBDcHVGZWF0dXJlczo6UHJpbnRGZWF0dXJlcygpIHsKLS0gIHByaW50ZigiRlBVPSVkXG4iLCBD cHVGZWF0dXJlczo6SXNTdXBwb3J0ZWQoRlBVKSk7Ci0rICBwcmludGYoIkZQX1JPVU5EX1RPX0lO VD0lZFxuIiwgQ3B1RmVhdHVyZXM6OklzU3VwcG9ydGVkKEZQX1JPVU5EX1RPX0lOVCkpOwotKyAg cHJpbnRmKCJJQ0FDSEVfU05PT1A9JWRcbiIsIENwdUZlYXR1cmVzOjpJc1N1cHBvcnRlZChJQ0FD SEVfU05PT1ApKTsKLSsgIHByaW50ZigiSVNFTEVDVD0lZFxuIiwgQ3B1RmVhdHVyZXM6OklzU3Vw cG9ydGVkKElTRUxFQ1QpKTsKLSsgIHByaW50ZigiUE9QX0NPVU5UPSVkXG4iLCBDcHVGZWF0dXJl czo6SXNTdXBwb3J0ZWQoUE9QX0NPVU5UKSk7Ci0rICBwcmludGYoIlBQQ183X1BMVVM9JWRcbiIs IENwdUZlYXR1cmVzOjpJc1N1cHBvcnRlZChQUENfN19QTFVTKSk7Ci0rICBwcmludGYoIkZQUl9H UFJfTU9WPSVkXG4iLCBDcHVGZWF0dXJlczo6SXNTdXBwb3J0ZWQoRlBSX0dQUl9NT1YpKTsKLSsg IHByaW50ZigiTU9EVUxPPSVkXG4iLCBDcHVGZWF0dXJlczo6SXNTdXBwb3J0ZWQoTU9EVUxPKSk7 Ci0gfQotIAotIFJlZ2lzdGVyIFRvUmVnaXN0ZXIoaW50IG51bSkgewotLS0tIGEvZGVwcy92OC9z cmMvY29kZWdlbi9jcHUtZmVhdHVyZXMuaAkyMDIyLTAyLTE1IDIxOjExOjQ2LjI5NTM4NzU1OSAt MDgwMAotKysrIGIvZGVwcy92OC9zcmMvY29kZWdlbi9jcHUtZmVhdHVyZXMuaAkyMDIyLTAyLTE3 IDIxOjEwOjA5Ljg1MzI2NjA2MSAtMDgwMAotQEAgLTEzLDYgKzEzLDcgQEAKLSAKLSAvLyBDUFUg ZmVhdHVyZSBmbGFncy4KLSBlbnVtIENwdUZlYXR1cmUgewotKyNpZiBWOF9UQVJHRVRfQVJDSF9J QTMyIHx8IFY4X1RBUkdFVF9BUkNIX1g2NAotICAgLy8geDg2Ci0gICBTU0U0XzIsCi0gICBTU0U0 XzEsCi1AQCAtMjYsMTEgKzI3LDE1IEBACi0gICBMWkNOVCwKLSAgIFBPUENOVCwKLSAgIEFUT00s Ci0rCi0rI2VsaWYgVjhfVEFSR0VUX0FSQ0hfQVJNCi0gICAvLyBBUk0KLSAgIC8vIC0gU3RhbmRh cmQgY29uZmlndXJhdGlvbnMuIFRoZSBiYXNlbGluZSBpcyBBUk12NitWRlB2Mi4KLSAgIEFSTXY3 LCAgICAgICAgLy8gQVJNdjctQSArIFZGUHYzLUQzMiArIE5FT04KLSAgIEFSTXY3X1NVRElWLCAg Ly8gQVJNdjctQSArIFZGUHY0LUQzMiArIE5FT04gKyBTVURJVgotICAgQVJNdjgsICAgICAgICAv LyBBUk12OC1BICgrIGFsbCBvZiB0aGUgYWJvdmUpCi0rCi0rI2VsaWYgVjhfVEFSR0VUX0FSQ0hf TUlQUyB8fCBWOF9UQVJHRVRfQVJDSF9NSVBTNjQKLSAgIC8vIE1JUFMsIE1JUFM2NAotICAgRlBV LAotICAgRlA2NEZQVSwKLUBAIC0zOCwxMiArNDMsMTggQEAKLSAgIE1JUFNyMiwKLSAgIE1JUFNy NiwKLSAgIE1JUFNfU0lNRCwgIC8vIE1TQSBpbnN0cnVjdGlvbnMKLSsKLSsjZWxpZiBWOF9UQVJH RVRfQVJDSF9QUEMgfHwgVjhfVEFSR0VUX0FSQ0hfUFBDNjQKLSAgIC8vIFBQQwotLSAgRlBSX0dQ Ul9NT1YsCi0tICBMV1NZTkMsCi0tICBJU0VMRUNULAotLSAgVlNYLAotLSAgTU9EVUxPLAotKyAg RlBfUk9VTkRfVE9fSU5ULCAgLy8gSVNBIHYyLjAyIChQT1dFUjUpCi0rICBJQ0FDSEVfU05PT1As ICAgICAvLyBJU0EgdjIuMDIgKFBPV0VSNSkKLSsgIElTRUxFQ1QsICAgICAgICAgIC8vIElTQSB2 Mi4wMyAoUE9XRVI1KyBhbmQgc29tZSBOWFAgY29yZXMpCi0rICBQUENfN19QTFVTLCAgICAgICAv LyBJU0EgdjIuMDYgKFBPV0VSNykKLSsgIFBPUF9DT1VOVCwgICAgICAgIC8vIElTQSB2Mi4wNiAo UE9XRVI3IGFuZCBOWFAgZTU1MDAvZTY1MDApCi0rICBGUFJfR1BSX01PViwgICAgICAvLyBJU0Eg djIuMDcgKFBPV0VSOCkKLSsgIE1PRFVMTywgICAgICAgICAgIC8vIElTQSB2My4wICAoUE9XRVI5 KQotKwotKyNlbGlmIFY4X1RBUkdFVF9BUkNIX1MzOTBYCi0gICAvLyBTMzkwCi0gICBESVNUSU5D VF9PUFMsCi0gICBHRU5FUkFMX0lOU1RSX0VYVCwKLUBAIC01MSwxNCArNjIsMTcgQEAKLSAgIFZF Q1RPUl9GQUNJTElUWSwKLSAgIFZFQ1RPUl9FTkhBTkNFX0ZBQ0lMSVRZXzEsCi0gICBNSVNDX0lO U1RSX0VYVDIsCi0rI2VuZGlmCi0gCi0gICBOVU1CRVJfT0ZfQ1BVX0ZFQVRVUkVTLAotIAotKyNp ZiBWOF9UQVJHRVRfQVJDSF9BUk0KLSAgIC8vIEFSTSBmZWF0dXJlIGFsaWFzZXMgKGJhc2VkIG9u IHRoZSBzdGFuZGFyZCBjb25maWd1cmF0aW9ucyBhYm92ZSkuCi0gICBWRlB2MyA9IEFSTXY3LAot ICAgTkVPTiA9IEFSTXY3LAotICAgVkZQMzJEUkVHUyA9IEFSTXY3LAotICAgU1VESVYgPSBBUk12 N19TVURJVgotKyNlbmRpZgotIH07Ci0gCi0gLy8gQ3B1RmVhdHVyZXMga2VlcHMgdHJhY2sgb2Yg d2hpY2ggZmVhdHVyZXMgYXJlIHN1cHBvcnRlZCBieSB0aGUgdGFyZ2V0IENQVS4KLS0tLSBhL2Rl cHMvdjgvc3JjL2NvbXBpbGVyL2JhY2tlbmQvcHBjL2luc3RydWN0aW9uLXNlbGVjdG9yLXBwYy5j YwkyMDIyLTAyLTE1IDIxOjExOjQ2LjI5OTM4NzY2MCAtMDgwMAotKysrIGIvZGVwcy92OC9zcmMv Y29tcGlsZXIvYmFja2VuZC9wcGMvaW5zdHJ1Y3Rpb24tc2VsZWN0b3ItcHBjLmNjCTIwMjItMDIt MTUgMjE6MTE6NDkuMTIzNDU5MjcxIC0wODAwCi1AQCAtMjM5MywxNiArMjM5MywyNiBAQAotIC8v IHN0YXRpYwotIE1hY2hpbmVPcGVyYXRvckJ1aWxkZXI6OkZsYWdzCi0gSW5zdHJ1Y3Rpb25TZWxl Y3Rvcjo6U3VwcG9ydGVkTWFjaGluZU9wZXJhdG9yRmxhZ3MoKSB7Ci0tICByZXR1cm4gTWFjaGlu ZU9wZXJhdG9yQnVpbGRlcjo6a0Zsb2F0MzJSb3VuZERvd24gfAotLSAgICAgICAgIE1hY2hpbmVP cGVyYXRvckJ1aWxkZXI6OmtGbG9hdDY0Um91bmREb3duIHwKLS0gICAgICAgICBNYWNoaW5lT3Bl cmF0b3JCdWlsZGVyOjprRmxvYXQzMlJvdW5kVXAgfAotLSAgICAgICAgIE1hY2hpbmVPcGVyYXRv ckJ1aWxkZXI6OmtGbG9hdDY0Um91bmRVcCB8Ci0tICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVp bGRlcjo6a0Zsb2F0MzJSb3VuZFRydW5jYXRlIHwKLS0gICAgICAgICBNYWNoaW5lT3BlcmF0b3JC dWlsZGVyOjprRmxvYXQ2NFJvdW5kVHJ1bmNhdGUgfAotLSAgICAgICAgIE1hY2hpbmVPcGVyYXRv ckJ1aWxkZXI6OmtGbG9hdDY0Um91bmRUaWVzQXdheSB8Ci0tICAgICAgICAgTWFjaGluZU9wZXJh dG9yQnVpbGRlcjo6a1dvcmQzMlBvcGNudCB8Ci0tICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVp bGRlcjo6a1dvcmQ2NFBvcGNudDsKLSsgIE1hY2hpbmVPcGVyYXRvckJ1aWxkZXI6OkZsYWdzIGZs YWdzID0gTWFjaGluZU9wZXJhdG9yQnVpbGRlcjo6RmxhZzo6a05vRmxhZ3M7Ci0rICAvLyBGUCBy b3VuZGluZyB0byBpbnRlZ2VyIGluc3RydWN0aW9ucyByZXF1aXJlIFBvd2VyIElTQSB2Mi4wMiBv ciBsYXRlci4KLSsgIGlmIChDcHVGZWF0dXJlczo6SXNTdXBwb3J0ZWQoRlBfUk9VTkRfVE9fSU5U KSkgewotKyAgICBmbGFncyB8PSBNYWNoaW5lT3BlcmF0b3JCdWlsZGVyOjprRmxvYXQzMlJvdW5k RG93biB8Ci0rICAgICAgICAgICAgIE1hY2hpbmVPcGVyYXRvckJ1aWxkZXI6OmtGbG9hdDY0Um91 bmREb3duIHwKLSsgICAgICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVpbGRlcjo6a0Zsb2F0MzJS b3VuZFVwIHwKLSsgICAgICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVpbGRlcjo6a0Zsb2F0NjRS b3VuZFVwIHwKLSsgICAgICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVpbGRlcjo6a0Zsb2F0MzJS b3VuZFRydW5jYXRlIHwKLSsgICAgICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVpbGRlcjo6a0Zs b2F0NjRSb3VuZFRydW5jYXRlIHwKLSsgICAgICAgICAgICAgTWFjaGluZU9wZXJhdG9yQnVpbGRl cjo6a0Zsb2F0NjRSb3VuZFRpZXNBd2F5OwotKyAgfQotKyAgLy8gUG9wdWxhdGlvbiBjb3VudCBy ZXF1aXJlcyBQb3dlciBJU0EgdjIuMDYsIG9yIE5YUCBlNTUwMC9lNjUwMC4KLSsgIGlmIChDcHVG ZWF0dXJlczo6SXNTdXBwb3J0ZWQoUE9QX0NPVU5UKSkgewotKyAgICBmbGFncyB8PSBNYWNoaW5l T3BlcmF0b3JCdWlsZGVyOjprV29yZDMyUG9wY250OwotKyNpZiBWOF9UQVJHRVRfQVJDSF9QUEM2 NAotKyAgICBmbGFncyB8PSBNYWNoaW5lT3BlcmF0b3JCdWlsZGVyOjprV29yZDY0UG9wY250Owot KyNlbmRpZgotKyAgfQotICAgLy8gV2Ugb21pdCBrV29yZDMyU2hpZnRJc1NhZmUgYXMgc1tybF13 IHVzZSAweDNGIGFzIGEgbWFzayByYXRoZXIgdGhhbiAweDFGLgotKyAgcmV0dXJuIGZsYWdzOwot IH0KLSAKLSAvLyBzdGF0aWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvbm9kZWpzLWx0cy9wYXRjaGVz L3BwYzMyLnBhdGNoIGIvc3JjcGtncy9ub2RlanMtbHRzL3BhdGNoZXMvcHBjMzIucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkZmNlYjJmMjE3OS4uMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3Mvbm9kZWpzLWx0cy9wYXRjaGVzL3BwYzMyLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjAgKzAsMCBAQAotLS0tIGEvZGVwcy92OC9zcmMvbGlic2FtcGxlci9zYW1wbGVyLmNj Ci0rKysgYi9kZXBzL3Y4L3NyYy9saWJzYW1wbGVyL3NhbXBsZXIuY2MKLUBAIC00MjMsMTAgKzQy MywxNyBAQAotICAgc3RhdGUtPmxyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odWNvbnRleHQt PnVjX21jb250ZXh0LnJlZ3MtPmxpbmspOwotICNlbHNlCi0gICAvLyBTb21lIEMgbGlicmFyaWVz LCBub3RhYmx5IE11c2wsIGRlZmluZSB0aGUgcmVncyBtZW1iZXIgYXMgYSB2b2lkIHBvaW50ZXIK LSsgICNpZiAhVjhfVEFSR0VUX0FSQ0hfMzJfQklUCi0gICBzdGF0ZS0+cGMgPSByZWludGVycHJl dF9jYXN0PHZvaWQqPih1Y29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1szMl0pOwotICAgc3Rh dGUtPnNwID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odWNvbnRleHQtPnVjX21jb250ZXh0Lmdw X3JlZ3NbMV0pOwotICAgc3RhdGUtPmZwID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odWNvbnRl eHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzFdKTsKLSAgIHN0YXRlLT5sciA9IHJlaW50ZXJwcmV0 X2Nhc3Q8dm9pZCo+KHVjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzM2XSk7Ci0rICAjZWxz ZQotKyAgc3RhdGUtPnBjID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4odWNvbnRleHQtPnVjX21j b250ZXh0LmdyZWdzWzMyXSk7Ci0rICBzdGF0ZS0+c3AgPSByZWludGVycHJldF9jYXN0PHZvaWQq Pih1Y29udGV4dC0+dWNfbWNvbnRleHQuZ3JlZ3NbMV0pOwotKyAgc3RhdGUtPmZwID0gcmVpbnRl cnByZXRfY2FzdDx2b2lkKj4odWNvbnRleHQtPnVjX21jb250ZXh0LmdyZWdzWzMxXSk7Ci0rICBz dGF0ZS0+bHIgPSByZWludGVycHJldF9jYXN0PHZvaWQqPih1Y29udGV4dC0+dWNfbWNvbnRleHQu Z3JlZ3NbMzZdKTsKLSsgICNlbmRpZgotICNlbmRpZgotICNlbGlmIFY4X0hPU1RfQVJDSF9TMzkw Ci0gI2lmIFY4X1RBUkdFVF9BUkNIXzMyX0JJVApkaWZmIC0tZ2l0IGEvc3JjcGtncy9ub2RlanMt bHRzL3BhdGNoZXMvc2hhcmVkLXV2LnBhdGNoIGIvc3JjcGtncy9ub2RlanMtbHRzL3BhdGNoZXMv c2hhcmVkLXV2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMWU5NWYxNWI0 NzcuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL25vZGVqcy1sdHMvcGF0Y2hlcy9zaGFyZWQt dXYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0tLS0gYS9kZXBzL3V2d2Fz aS91dndhc2kuZ3lwCi0rKysgYi9kZXBzL3V2d2FzaS91dndhc2kuZ3lwCi1AQCAtMTgsOSArMTgs NiBAQAotICAgICAgICAgJ3NyYy93YXNpX3JpZ2h0cy5jJywKLSAgICAgICAgICdzcmMvd2FzaV9z ZXJkZXMuYycsCi0gICAgICAgXSwKLS0gICAgICAnZGVwZW5kZW5jaWVzJzogWwotLSAgICAgICAg Jy4uL3V2L3V2Lmd5cDpsaWJ1dicsCi0tICAgICAgXSwKLSAgICAgICAnZGlyZWN0X2RlcGVuZGVu dF9zZXR0aW5ncyc6IHsKLSAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbJ2luY2x1ZGUnXQotICAg ICAgIH0sCi1AQCAtMzEsNiArMjgsMTIgQEAKLSAgICAgICAgICAgICAnX1BPU0lYX0NfU09VUkNF PTIwMDExMicsCi0gICAgICAgICAgIF0sCi0gICAgICAgICB9XSwKLSsgICAgICAgIFsgJ25vZGVf c2hhcmVkX2xpYnV2PT0iZmFsc2UiJywgewotKyAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWyAn Li4vdXYvdXYuZ3lwOmxpYnV2JyBdLAotKyAgICAgICAgfV0sCi0rICAgICAgICBbICdub2RlX3No YXJlZF9saWJ1dj09InRydWUiJywgewotKyAgICAgICAgICAnbGlicmFyaWVzJzogWyAnLWx1dicg XSwKLSsgICAgICAgIH1dCi0gICAgICAgXSwKLSAgICAgfQotICAgXQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9ub2RlanMtbHRzL3BhdGNoZXMveHh4LXBwYy1od2NhcC1tdXNsLnBhdGNoIGIvc3JjcGtn cy9ub2RlanMtbHRzL3BhdGNoZXMveHh4LXBwYy1od2NhcC1tdXNsLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA5NTI4OTJjYWVkMzguLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL25vZGVqcy1sdHMvcGF0Y2hlcy94eHgtcHBjLWh3Y2FwLW11c2wucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyNCArMCwwIEBACi1jb21taXQgNTU4YWI4OTZjYmRkOTAyNTk5NTBjNjMxYmEy OWExYzY2YmY0YzJkMwotQXV0aG9yOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTog ICBNb24gRmViIDI4IDIzOjUzOjIyIDIwMjIgKzAxMDAKLQotICAgIGFkZCBzb21lIGh3Y2FwIGJp dHMgZmFsbGJhY2tzCi0KLWRpZmYgLS1naXQgYS9kZXBzL3Y4L3NyYy9iYXNlL2NwdS5jYyBiL2Rl cHMvdjgvc3JjL2Jhc2UvY3B1LmNjCi1pbmRleCBhMWIyMWQyLi44ZTUyODAyIDEwMDY0NAotLS0t IGEvZGVwcy92OC9zcmMvYmFzZS9jcHUuY2MKLSsrKyBiL2RlcHMvdjgvc3JjL2Jhc2UvY3B1LmNj Ci1AQCAtNzY4LDYgKzc2OCwxMyBAQCBDUFU6OkNQVSgpCi0gCi0gI2VsaWYgVjhfSE9TVF9BUkNI X1BQQyB8fCBWOF9IT1NUX0FSQ0hfUFBDNjQKLSAKLSsjaWZuZGVmIFBQQ19GRUFUVVJFMl9IQVNf SVNFTAotKyNkZWZpbmUgUFBDX0ZFQVRVUkUyX0hBU19JU0VMIDB4MDgwMDAwMDAKLSsjZW5kaWYK LSsjaWZuZGVmIFBQQ19GRUFUVVJFMl9BUkNIXzNfMQotKyNkZWZpbmUgUFBDX0ZFQVRVUkUyX0FS Q0hfM18xIDB4MDAwNDAwMDAKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIFVTRV9TSU1VTEFUT1IKLSAj aWYgVjhfT1NfTElOVVgKLSAgIC8vIFJlYWQgcHJvY2Vzc29yIGluZm8gZnJvbSBnZXRhdXh2YWwo KSAobmVlZHMgYXQgbGVhc3QgZ2xpYmMgMi4xOCBvciBtdXNsKS4KZGlmZiAtLWdpdCBhL3NyY3Br Z3Mvbm9kZWpzLWx0cy90ZW1wbGF0ZSBiL3NyY3BrZ3Mvbm9kZWpzLWx0cy90ZW1wbGF0ZQpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQyMGU4NTI0NDQyLi4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9ub2RlanMtbHRzL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICsw LDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ25vZGVqcy1sdHMnCi1wa2duYW1lPW5vZGVqcy1s dHMKLXZlcnNpb249MTIuMjIuMTAKLXJldmlzaW9uPTIKLSMgTmVlZCB0aGVzZSBmb3IgaG9zdCB2 OCBmb3IgdG9ycXVlLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvMjEw NzkKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBweXRob24gbGliYXRvbWljLWRldmVsIHps aWItZGV2ZWwgd2hpY2gKLSAkKHZvcHRfaWYgaWN1IGljdS1kZXZlbCkgJCh2b3B0X2lmIHNzbCBv cGVuc3NsLWRldmVsKSAkKHZvcHRfaWYgbGlidXYgbGlidXYtZGV2ZWwpCi0gJCh2b3B0X2lmIGh0 dHBfcGFyc2VyIGh0dHAtcGFyc2VyLWRldmVsKSAkKHZvcHRfaWYgbmdodHRwMiBuZ2h0dHAyLWRl dmVsKQotICQodm9wdF9pZiBjYXJlcyBjLWFyZXMtZGV2ZWwpICQodm9wdF9pZiBodHRwX3BhcnNl ciBsbGh0dHAtZGV2ZWwpIgotbWFrZWRlcGVuZHM9ImxpYmF0b21pYy1kZXZlbCB6bGliLWRldmVs IHB5dGhvbi1kZXZlbCAkKHZvcHRfaWYgaWN1IGljdS1kZXZlbCkKLSAkKHZvcHRfaWYgc3NsIG9w ZW5zc2wtZGV2ZWwpICQodm9wdF9pZiBsaWJ1diBsaWJ1di1kZXZlbCkKLSAkKHZvcHRfaWYgaHR0 cF9wYXJzZXIgaHR0cC1wYXJzZXItZGV2ZWwpICQodm9wdF9pZiBuZ2h0dHAyIG5naHR0cDItZGV2 ZWwpCi0gJCh2b3B0X2lmIGNhcmVzIGMtYXJlcy1kZXZlbCkgJCh2b3B0X2lmIGh0dHBfcGFyc2Vy IGxsaHR0cC1kZXZlbCkiCi1jaGVja2RlcGVuZHM9InByb2Nwcy1uZyIKLXNob3J0X2Rlc2M9IkV2 ZW50ZWQgSS9PIGZvciBWOCBqYXZhc2NyaXB0IgotbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdv dHRveEB2b2lkbGludXgub3JnPiIKLWxpY2Vuc2U9Ik1JVCIKLWhvbWVwYWdlPSJodHRwczovL25v ZGVqcy5vcmcvIgotZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9kaXN0L3Yke3ZlcnNpb259L25vZGUt diR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09MWVlZWM2OGI1MzBkYTRhY2VkNzMwZTJhZjll MDdhMWNlZDgxNDgzMzc3MDhmMzdmYzhiNGVkZGMzYjZkYzllOQotcHl0aG9uX3ZlcnNpb249Mwot Ci1idWlsZF9vcHRpb25zPSJzc2wgbGlidXYgaHR0cF9wYXJzZXIgaWN1IG5naHR0cDIgY2FyZXMi Ci1kZXNjX29wdGlvbl9zc2w9IkVuYWJsZSBzaGFyZWQgb3BlbnNzbCIKLWRlc2Nfb3B0aW9uX2xp YnV2PSJFbmFibGUgc2hhcmVkIGxpYnV2IgotZGVzY19vcHRpb25faHR0cF9wYXJzZXI9IkVuYWJs ZSBzaGFyZWQgaHR0cC1wYXJzZXIgYW5kIGxsaHR0cCIKLWRlc2Nfb3B0aW9uX2ljdT0iRW5hYmxl IHNoYXJlZCBpY3UiCi1kZXNjX29wdGlvbl9uZ2h0dHAyPSJFbmFibGUgc2hhcmVkIG5naHR0cDIi Ci1kZXNjX29wdGlvbl9jYXJlcz0iRW5hYmxlIHNoYXJlZCBjLWFyZXMiCi1idWlsZF9vcHRpb25z X2RlZmF1bHQ9InNzbCBsaWJ1diBodHRwX3BhcnNlciBpY3UgbmdodHRwMiBjYXJlcyIKLQotcmVw bGFjZXM9ImlvanM+PTAiCi1jb25mbGljdHM9Im5vZGVqcyBub2RlanMtbHRzLTEwIgotcHJvdmlk ZXM9Im5vZGVqcy1ydW50aW1lLTBfMSIKLQotaWYgWyAiJFhCUFNfV09SRFNJWkUiIC1uZSAiJFhC UFNfVEFSR0VUX1dPUkRTSVpFIiBdOyB0aGVuCi0Jbm9jcm9zcz0iaG9zdCBhbmQgdGFyZ2V0IG11 c3QgaGF2ZSB0aGUgc2FtZSBwb2ludGVyIHNpemUiCi1maQotCi1jYXNlICIkWEJQU19UQVJHRVRf TUFDSElORSIgaW4KLQlwcGM2NCopIDs7Ci0JcHBjKikgYnJva2VuPSJOb2RlIDEyLnggZG9lcyBu b3Qgc3VwcG9ydCAzMi1iaXQgcHBjIiA7OwotZXNhYwotCi1DRkxBR1M9Ii1EX0xBUkdFRklMRV9T T1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCIKLUNYWEZMQUdTPSItRF9MQVJHRUZJTEVfU09V UkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQlsb2NhbCBf YXJncwotCi0JZXhwb3J0IExEPSIkQ1hYIgotCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgot CQljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQkJCWFybSopIF9hcmdzPSItLWRlc3Qt Y3B1PWFybSIgOzsKLQkJCWFhcmNoNjQqKSBfYXJncz0iLS1kZXN0LWNwdT1hcm02NCIgOzsKLQkJ CXBwYzY0KikgX2FyZ3M9Ii0tZGVzdC1jcHU9cHBjNjQiIDs7Ci0JCQlwcGMqKSBfYXJncz0iLS1k ZXN0LWNwdT1wcGMiIDs7Ci0JCQltaXBzZWwqKSBfYXJncz0iLS1kZXN0LWNwdT1taXBzZWwiIDs7 Ci0JCQltaXBzKikgX2FyZ3M9Ii0tZGVzdC1jcHU9bWlwcyIgOzsKLQkJCWk2ODYqKSBfYXJncz0i LS1kZXN0LWNwdT14ODYiIDs7Ci0JCQl4ODZfNjQqKSBfYXJncz0iLS1kZXN0LWNwdT14ODZfNjQi IDs7Ci0JCQkqKSBtc2dfZXJyb3IgIiRwa2d2ZXI6IGNhbm5vdCBiZSBjcm9zcyBjb21waWxlZCBm b3IgJHtYQlBTX1RBUkdFVF9NQUNISU5FfS5cbiIgOzsKLQkJZXNhYwotCQlfYXJncys9IiAtLWNy b3NzLWNvbXBpbGluZyIKLQlmaQotCS4vY29uZmlndXJlIC0tcHJlZml4PS91c3IgLS1zaGFyZWQt emxpYiBcCi0JCSQodm9wdF9pZiBpY3UgLS13aXRoLWludGw9c3lzdGVtLWljdSkgXAotCQkkKHZv cHRfaWYgaHR0cF9wYXJzZXIgLS1zaGFyZWQtaHR0cC1wYXJzZXIpIFwKLQkJJCh2b3B0X2lmIHNz bCAtLXNoYXJlZC1vcGVuc3NsKSBcCi0JCSQodm9wdF9pZiBsaWJ1diAtLXNoYXJlZC1saWJ1dikg XAotCQkkKHZvcHRfaWYgbmdodHRwMiAtLXNoYXJlZC1uZ2h0dHAyKSBcCi0JCSQodm9wdF9pZiBj YXJlcyAtLXNoYXJlZC1jYXJlcykgJHtfYXJnc30KLX0KLQotcG9zdF9jb25maWd1cmUoKSB7Ci0J IyBGaXggbGlua2luZyBhZ2FpbnN0IGxsaHR0cAotCXNlZCAncy8tbGh0dHBfcGFyc2VyLyYgLWxs bGh0dHAvJyAtaSBvdXQvKi50YXJnZXQubWsKLX0KLQotZG9fYnVpbGQoKSB7Ci0JaWYgWyAiJENS T1NTX0JVSUxEIiBdOyB0aGVuCi0JCW1ha2UgTEQ9IiRDWFgiIExERkxBR1MrPS1sZGwgJHttYWtl am9ic30gUE9SVEFCTEU9MSBWPTEKLQllbHNlCi0JCW1ha2UgTEQ9IiRDWFgiIExERkxBR1MrPS1s ZGwgJHttYWtlam9ic30gVj0xCi0JZmkKLX0KLQotZG9fY2hlY2soKSB7Ci0JbWFrZSBMRD0iJENY WCIgTERGTEFHUys9LWxkbCAke21ha2Vqb2JzfSBWPTEgdGVzdC1vbmx5Ci19Ci0KLWRvX2luc3Rh bGwoKSB7Ci0JbWFrZSBMRD0iJENYWCIgTERGTEFHUys9LWxkbCBERVNURElSPSIkREVTVERJUiIg aW5zdGFsbAotCXJtICRERVNURElSL3Vzci9pbmNsdWRlL25vZGUvb3BlbnNzbCAtcmYKLQl2bGlj ZW5zZSBMSUNFTlNFCi19Ci0KLW5vZGVqcy1sdHMtZGV2ZWxfcGFja2FnZSgpIHsKLQlzaG9ydF9k ZXNjKz0iIChkZXZlbG9wbWVudCBmaWxlcykiCi0JY29uZmxpY3RzPSJub2RlanMtZGV2ZWwgbm9k ZWpzLWx0cy0xMC1kZXZlbCIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUK LQl9Ci19CmRpZmYgLS1naXQgYS9zcmNwa2dzL25vZGVqcy1sdHMvdXBkYXRlIGIvc3JjcGtncy9u b2RlanMtbHRzL3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTM3ZjgyMjlk YWI5Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9ub2RlanMtbHRzL3VwZGF0ZQorKysgL2Rl di9udWxsCkBAIC0xLDIgKzAsMCBAQAotc2l0ZT1odHRwczovL25vZGVqcy5vcmcvZGlzdAotcGF0 dGVybj0ndlxLMTJbXGQuXSsoPz1cLyknCmRpZmYgLS1naXQgYS9zcmNwa2dzL25vZGVqcy90ZW1w bGF0ZSBiL3NyY3BrZ3Mvbm9kZWpzL3RlbXBsYXRlCmluZGV4IGMyZjRkNGViMzQwZi4uMTlhNWJl ZmVkNjY3IDEwMDY0NAotLS0gYS9zcmNwa2dzL25vZGVqcy90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L25vZGVqcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ25v ZGVqcycKIHBrZ25hbWU9bm9kZWpzCiB2ZXJzaW9uPTE2LjE1LjEKLXJldmlzaW9uPTIKK3Jldmlz aW9uPTMKICMgTmVlZCB0aGVzZSBmb3IgaG9zdCB2OCBmb3IgdG9ycXVlLCBzZWUgaHR0cHM6Ly9n aXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvMjEwNzkKIGhvc3RtYWtlZGVwZW5kcz0id2hpY2gg cGtnLWNvbmZpZyBweXRob24zIGxpYmF0b21pYy1kZXZlbCB6bGliLWRldmVsCiAgJCh2b3B0X2lm IGljdSBpY3UtZGV2ZWwpICQodm9wdF9pZiBzc2wgb3BlbnNzbC1kZXZlbCkgJCh2b3B0X2lmIGxp YnV2IGxpYnV2LWRldmVsKQpAQCAtMjcsNyArMjcsNyBAQCBkZXNjX29wdGlvbl9jYXJlcz0iRW5h YmxlIHNoYXJlZCBjLWFyZXMiCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9InNzbCBsaWJ1diBpY3Ug bmdodHRwMiBjYXJlcyIKIAogcmVwbGFjZXM9ImlvanM+PTAiCi1jb25mbGljdHM9Im5vZGVqcy1s dHMgbm9kZWpzLWx0cy0xMCIKK2NvbmZsaWN0cz0ibm9kZWpzLWx0cy0xMCIKIHByb3ZpZGVzPSJu b2RlanMtcnVudGltZS0wXzEiCiAKICMgaHR0cHM6Ly9idWlsZC52b2lkbGludXgub3JnL2J1aWxk ZXJzL2k2ODZfYnVpbGRlci9idWlsZHMvMjczMjUvc3RlcHMvc2hlbGxfMy9sb2dzL3N0ZGlvCkBA IC0xMDAsOCArMTAwLDIwIEBAIGRvX2luc3RhbGwoKSB7CiAKIG5vZGVqcy1kZXZlbF9wYWNrYWdl KCkgewogCXNob3J0X2Rlc2MrPSIgKGRldmVsb3BtZW50IGZpbGVzKSIKLQljb25mbGljdHM9Im5v ZGVqcy1sdHMtZGV2ZWwgbm9kZWpzLWx0cy0xMC1kZXZlbCIKKwljb25mbGljdHM9Im5vZGVqcy1s dHMtMTAtZGV2ZWwiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJfQog fQorCitub2RlanMtbHRzX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3Zl cnNpb259XyR7cmV2aXNpb259IgorCXNob3J0X2Rlc2MrPSIgTFRTIgorCWJ1aWxkX3N0eWxlPW1l dGEKK30KKworbm9kZWpzLWx0cy1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNl cGtnfS1kZXZlbD49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIExUUyAo ZGV2ZWxvcG1lbnQgZmlsZXMpIgorCWJ1aWxkX3N0eWxlPW1ldGEKK30KCkZyb20gNWYxMDk2NTgy MzIyYzJhOTVkNzIwOGYwNTAzYTkwNDIwZTQ2YWJhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogTWljaGFsIFZhc2lsZWsgPG1pY2hhbEB2YXNpbGVrLmN6PgpEYXRlOiBUdWUsIDYgRGVj IDIwMjIgMTU6NTk6NDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvNl0gcnN0dWRpbzogZG9uJ3Qg dXNlIHZlcnkgb2xkIG5vZGVqcyBmb3IgYnVpbGQKCi0tLQogc3JjcGtncy9yc3R1ZGlvL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yc3R1ZGlvL3RlbXBsYXRlIGIvc3JjcGtncy9yc3R1ZGlv L3RlbXBsYXRlCmluZGV4IGYyNjBiNmZlMmRlNC4uYTA3NzQ4ZGI5ZTRlIDEwMDY0NAotLS0gYS9z cmNwa2dzL3JzdHVkaW8vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yc3R1ZGlvL3RlbXBsYXRlCkBA IC0xMSw3ICsxMSw3IEBAIGNvbmZpZ3VyZV9hcmdzPSItRFJTVFVESU9fVEFSR0VUPURlc2t0b3AK ICAtRFFUX1FNQUtFX0VYRUNVVEFCTEU9L3Vzci9saWIvcXQ1L2Jpbi9xbWFrZQogIC1EQ01BS0Vf SU5TVEFMTF9QUkVGSVg9L3Vzci9saWIvcnN0dWRpbyIKIGhvc3RtYWtlZGVwZW5kcz0idW56aXAg cGFuZG9jIG9wZW5qZGsgYXBhY2hlLWFudCBSIHF0NS1xbWFrZQotIHF0NS1ob3N0LXRvb2xzIHdo aWNoIG5vZGVqcy1sdHMiCisgcXQ1LWhvc3QtdG9vbHMgd2hpY2ggbm9kZWpzIgogbWFrZWRlcGVu ZHM9InpsaWItZGV2ZWwgbGlidXVpZC1kZXZlbCBvcGVuc3NsLWRldmVsIHBhbS1kZXZlbCBSIG1h dGhqYXgKICBib29zdC1kZXZlbCBwYW5nby1kZXZlbCBodW5zcGVsbC1kZXZlbCBxdDUtZGV2ZWwg cXQ1LXdlYmtpdC1kZXZlbAogIHF0NS1kZWNsYXJhdGl2ZS1kZXZlbCBxdDUtbG9jYXRpb24tZGV2 ZWwgcXQ1LXNlbnNvcnMtZGV2ZWwgcXQ1LXN2Zy1kZXZlbAoKRnJvbSAzYzFjODRiMzk1MjU0ZWFh ODZjZjhmMWFlMDEyYjQ4ODE1MDA0YWIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN aWNoYWwgVmFzaWxlayA8bWljaGFsQHZhc2lsZWsuY3o+CkRhdGU6IFR1ZSwgNiBEZWMgMjAyMiAx NjoxMToyNCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMy82XSBsbGh0dHA6IHJlbW92ZSBub2RlanMt bHRzIGNvbW1lbnQKCm5vZGVqcy1sdHMgaXMgbm93IG1lcmdlZCB0byBub2RlanMKLS0tCiBzcmNw a2dzL2xsaHR0cC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGxodHRwL3RlbXBsYXRlIGIv c3JjcGtncy9sbGh0dHAvdGVtcGxhdGUKaW5kZXggN2MzNjc4MzYwNDViLi5iMmZiYzlkZDc5MzIg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGxodHRwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbGxodHRw L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGxodHRwJwog Ci0jIFdoZW4gdGhpcyBwYWNrYWdlIGlzIHVwZGF0ZWQsIG5vZGVqcyBhbmQgbm9kZWpzLWx0cyBt YXkgbmVlZCB0byBiZSB1cGRhdGVkCisjIFdoZW4gdGhpcyBwYWNrYWdlIGlzIHVwZGF0ZWQsIG5v ZGVqcyBtYXkgbmVlZCB0byBiZSB1cGRhdGVkCiAjIG9yIGF0IGxlYXN0IGEgcmV2YnVtcCBpbiB0 aGUgc2FtZSBwdWxsIHJlcXVlc3Qgc2luY2UgdGhleSB3b3JrIGluLXN5bmMuCiAKIHBrZ25hbWU9 bGxodHRwCgpGcm9tIGEyZTA2ODYyMWNlYTU5NjI3MjY3ZDBiZDMwOWRjYWY4ZTZiY2M1NTcgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhbCBWYXNpbGVrIDxtaWNoYWxAdmFzaWxl ay5jej4KRGF0ZTogVHVlLCA2IERlYyAyMDIyIDE2OjE0OjE4ICswMTAwClN1YmplY3Q6IFtQQVRD SCA0LzZdIHRodW5kZXJiaXJkOiBmaXggYnVpbGQgd2l0aCBweXRob24gMy4xMQoKLS0tCiBzcmNw a2dzL3RodW5kZXJiaXJkL3BhdGNoZXMvcHl0aG9uMy4xMS5wYXRjaCB8IDIzOCArKysrKysrKysr KysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjM4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3RodW5kZXJiaXJkL3BhdGNoZXMvcHl0aG9uMy4xMS5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvdGh1bmRlcmJpcmQvcGF0Y2hlcy9weXRob24zLjExLnBhdGNoIGIv c3JjcGtncy90aHVuZGVyYmlyZC9wYXRjaGVzL3B5dGhvbjMuMTEucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yZmFjZWU1ZWJiMmIKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3RodW5kZXJiaXJkL3BhdGNoZXMvcHl0aG9uMy4xMS5wYXRjaApAQCAtMCww ICsxLDIzOCBAQAorUGF0Y2gtU291cmNlOiBodHRwczovL2J1Z3MuZnJlZWJzZC5vcmcvYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTI2NzcwOQorUGF0Y2gtU291cmNlOiBodHRwczovL2hnLm1vemls bGEub3JnL21vemlsbGEtY2VudHJhbC9yZXYvZjU0MTYyYjJjMWYyZmU1MmM2MTM3YWIyYzM0Njlh MTk0NGY1OGIyNworLS0tIGEveHBjb20vaWRsLXBhcnNlci94cGlkbC94cGlkbC5weQorKysrIGIv eHBjb20vaWRsLXBhcnNlci94cGlkbC94cGlkbC5weQorQEAgLTE2MzMsMTMgKzE2MzMsMTMgQEAg Y2xhc3MgSURMUGFyc2VyKG9iamVjdCk6CisgICAgIHRfaWdub3JlID0gIiBcdCIKKyAKKyAgICAg ZGVmIHRfbXVsdGlsaW5lY29tbWVudChzZWxmLCB0KToKKy0gICAgICAgIHIiL1wqKD9zKS4qP1wq LyIKKysgICAgICAgIHIiL1wqKFxufC4pKj9cKi8iCisgICAgICAgICB0LmxleGVyLmxpbmVubyAr PSB0LnZhbHVlLmNvdW50KCJcbiIpCisgICAgICAgICBpZiB0LnZhbHVlLnN0YXJ0c3dpdGgoIi8q KiIpOgorICAgICAgICAgICAgIHNlbGYuX2RvY2NvbW1lbnRzLmFwcGVuZCh0LnZhbHVlKQorIAor ICAgICBkZWYgdF9zaW5nbGVsaW5lY29tbWVudChzZWxmLCB0KToKKy0gICAgICAgIHIiKD9tKS8v Lio/JCIKKysgICAgICAgIHIiLy9bXlxuXSoiCisgCisgICAgIGRlZiB0X0lJRChzZWxmLCB0KToK KyAgICAgICAgIHJldHVybiB0CitAQCAtMTY1Miw3ICsxNjUyLDcgQEAgY2xhc3MgSURMUGFyc2Vy KG9iamVjdCk6CisgICAgICAgICByZXR1cm4gdAorIAorICAgICBkZWYgdF9MQ0RBVEEoc2VsZiwg dCk6CistICAgICAgICByIig/cyklXHtbIF0qQ1wrXCtbIF0qXG4oP1A8Y2RhdGE+Lio/XG4/KSVc fVsgXSooQ1wrXCspPyIKKysgICAgICAgIHIiJVx7WyBdKkNcK1wrWyBdKlxuKD9QPGNkYXRhPihc bnwuKSo/XG4/KSVcfVsgXSooQ1wrXCspPyIKKyAgICAgICAgIHQudHlwZSA9ICJDREFUQSIKKyAg ICAgICAgIHQudmFsdWUgPSB0LmxleGVyLmxleG1hdGNoLmdyb3VwKCJjZGF0YSIpCisgICAgICAg ICB0LmxleGVyLmxpbmVubyArPSB0LnZhbHVlLmNvdW50KCJcbiIpCisKKworIyBIRyBjaGFuZ2Vz ZXQgcGF0Y2gKKyMgVXNlciBhaG9jaGhlaWRlbiA8YWhvY2hoZWlkZW5AbW96aWxsYS5jb20+Cisj IERhdGUgMTY1NDE1MTI2NCAwCisjIE5vZGUgSUQgZjU0MTYyYjJjMWYyZmU1MmM2MTM3YWIyYzM0 NjlhMTk0NGY1OGIyNworIyBQYXJlbnQgIDZlNzc3NjQ5MjI0MGMyNzczMjg0MGQ2NWEzM2RjYzQ0 MGZhMWFiYTAKK0J1ZyAxNzY5NjMxIC0gUmVtb3ZlICdVJyBmcm9tICdtb2RlJyBwYXJhbWV0ZXJz IGZvciB2YXJpb3VzICdvcGVuJyBjYWxscyB0byBlbnN1cmUgUHl0aG9uMy4xMSBjb21wYXRpYmls aXR5IHI9ZmlyZWZveC1idWlsZC1zeXN0ZW0tcmV2aWV3ZXJzLGdsYW5kaXVtCisKK1RoZSAnVScg ZmxhZyByZXByZXNlbnRzICJ1bml2ZXJzYWwgbmV3bGluZSIuIEl0IGhhcyBiZWVuIGRlcHJlY2F0 ZWQKK3NpbmNlIFB5dGhvbjMuMy4gU2luY2UgdGhlbiAidW5pdmVyc2FsIG5ld2xpbmUiIGlzIHRo ZSBkZWZhdWx0IHdoZW4gYQorZmlsZSBpcyBvcGVuZWQgaW4gdGV4dCBtb2RlIChub3QgYnl0ZXMp LiBJbiBQeXRob24zLjExIHVzaW5nIHRoZSAnVScKK2ZsYWcgdGhyb3dzIGVycm9ycy4gVGhlcmUg c2hvdWxkIGJlIG5vIGhhcm0gaW4gcmVtb3ZpbmcgJ1UnIGZyb20gJ29wZW4nCitldmVyeXdoZXJl IGl0IGlzIHVzZWQsIGFuZCBkb2luZyBhbGxvd3MgdGhlIHVzZSBvZiBQeXRob24zLjExLgorCitG b3IgbW9yZSByZWFkaW5nIHNlZTogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy4xMS93aGF0c25l dy8zLjExLmh0bWwjY2hhbmdlcy1pbi10aGUtcHl0aG9uLWFwaQorCitEaWZmZXJlbnRpYWwgUmV2 aXNpb246IGh0dHBzOi8vcGhhYnJpY2F0b3Iuc2VydmljZXMubW96aWxsYS5jb20vRDE0NzcyMQor CitkaWZmIC0tZ2l0IGEvZG9tL2Jhc2UvdXNlY291bnRlcnMucHkgYi9kb20vYmFzZS91c2Vjb3Vu dGVycy5weQorLS0tIGEvZG9tL2Jhc2UvdXNlY291bnRlcnMucHkKKysrKyBiL2RvbS9iYXNlL3Vz ZWNvdW50ZXJzLnB5CitAQCAtMywxNyArMywxNyBAQAorICMgZmlsZSwgWW91IGNhbiBvYnRhaW4g b25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKyAKKyBpbXBvcnQgY29sbGVjdGlv bnMKKyBpbXBvcnQgcmUKKyAKKyAKKyBkZWYgcmVhZF9jb25mKGNvbmZfZmlsZW5hbWUpOgorICAg ICAjIENhbid0IHJlYWQvd3JpdGUgZnJvbSBhIHNpbmdsZSBTdHJpbmdJTywgc28gbWFrZSBhIG5l dyBvbmUgZm9yIHJlYWRpbmcuCistICAgIHN0cmVhbSA9IG9wZW4oY29uZl9maWxlbmFtZSwgInJV IikKKysgICAgc3RyZWFtID0gb3Blbihjb25mX2ZpbGVuYW1lLCAiciIpCisgCisgICAgIGRlZiBw YXJzZV9jb3VudGVycyhzdHJlYW0pOgorICAgICAgICAgZm9yIGxpbmVfbnVtLCBsaW5lIGluIGVu dW1lcmF0ZShzdHJlYW0pOgorICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgiXG4iKQor ICAgICAgICAgICAgIGlmIG5vdCBsaW5lIG9yIGxpbmUuc3RhcnRzd2l0aCgiLy8iKToKKyAgICAg ICAgICAgICAgICAgIyBlbXB0eSBsaW5lIG9yIGNvbW1lbnQKKyAgICAgICAgICAgICAgICAgY29u dGludWUKKyAgICAgICAgICAgICBtID0gcmUubWF0Y2gociJtZXRob2QgKFtBLVphLXowLTldKylc LihbQS1aYS16MC05XSspJCIsIGxpbmUpCitkaWZmIC0tZ2l0IGEvcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL2FjdGlvbi9wcm9jZXNzX2RlZmluZV9maWxlcy5weSBiL3B5dGhvbi9tb3pidWlsZC9t b3pidWlsZC9hY3Rpb24vcHJvY2Vzc19kZWZpbmVfZmlsZXMucHkKKy0tLSBhL3B5dGhvbi9tb3pi dWlsZC9tb3pidWlsZC9hY3Rpb24vcHJvY2Vzc19kZWZpbmVfZmlsZXMucHkKKysrKyBiL3B5dGhv bi9tb3pidWlsZC9tb3pidWlsZC9hY3Rpb24vcHJvY2Vzc19kZWZpbmVfZmlsZXMucHkKK0BAIC0z MSwxNyArMzEsMTcgQEAgZGVmIHByb2Nlc3NfZGVmaW5lX2ZpbGUob3V0cHV0LCBpbnB1dCk6Cisg CisgICAgIGNvbmZpZyA9IFBhcnRpYWxDb25maWdFbnZpcm9ubWVudCh0b3BvYmpkaXIpCisgCisg ICAgIGlmIG1venBhdGguYmFzZWRpcigKKyAgICAgICAgIHBhdGgsIFttb3pwYXRoLmpvaW4odG9w c3JjZGlyLCAianMvc3JjIildCisgICAgICkgYW5kIG5vdCBjb25maWcuc3Vic3RzLmdldCgiSlNf U1RBTkRBTE9ORSIpOgorICAgICAgICAgY29uZmlnID0gUGFydGlhbENvbmZpZ0Vudmlyb25tZW50 KG1venBhdGguam9pbih0b3BvYmpkaXIsICJqcyIsICJzcmMiKSkKKyAKKy0gICAgd2l0aCBvcGVu KHBhdGgsICJyVSIpIGFzIGlucHV0OgorKyAgICB3aXRoIG9wZW4ocGF0aCwgInIiKSBhcyBpbnB1 dDoKKyAgICAgICAgIHIgPSByZS5jb21waWxlKAorICAgICAgICAgICAgICJeXHMqI1xzKig/UDxj bWQ+W2Etel0rKSg/OlxzKyg/UDxuYW1lPlxTKykoPzpccysoP1A8dmFsdWU+XFMrKSk/KT8iLCBy ZS5VCisgICAgICAgICApCisgICAgICAgICBmb3IgbCBpbiBpbnB1dDoKKyAgICAgICAgICAgICBt ID0gci5tYXRjaChsKQorICAgICAgICAgICAgIGlmIG06CisgICAgICAgICAgICAgICAgIGNtZCA9 IG0uZ3JvdXAoImNtZCIpCisgICAgICAgICAgICAgICAgIG5hbWUgPSBtLmdyb3VwKCJuYW1lIikK K2RpZmYgLS1naXQgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvYmFja2VuZC9iYXNlLnB5IGIv cHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvYmFzZS5weQorLS0tIGEvcHl0aG9uL21v emJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvYmFzZS5weQorKysrIGIvcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL2JhY2tlbmQvYmFzZS5weQorQEAgLTI2NywxNyArMjY3LDE3IEBAIGNsYXNzIEJ1aWxk QmFja2VuZChMb2dnaW5nTWl4aW4pOgorICAgICAgICAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNl ZCwgfG1hY2ggYnVpbGR8IHdpbGwgZmFpbCB3aXRoIGEKKyAgICAgICAgIG5vbi16ZXJvIGV4aXQg Y29kZS4KKyAgICAgICAgICIiIgorICAgICAgICAgc2VsZi5fd3JpdGVfcHVyZ2VjYWNoZXMoY29u ZmlnKQorIAorICAgICAgICAgcmV0dXJuIHN0YXR1cworIAorICAgICBAY29udGV4dG1hbmFnZXIK Ky0gICAgZGVmIF93cml0ZV9maWxlKHNlbGYsIHBhdGg9Tm9uZSwgZmg9Tm9uZSwgcmVhZG1vZGU9 InJVIik6CisrICAgIGRlZiBfd3JpdGVfZmlsZShzZWxmLCBwYXRoPU5vbmUsIGZoPU5vbmUsIHJl YWRtb2RlPSJyIik6CisgICAgICAgICAiIiJDb250ZXh0IG1hbmFnZXIgdG8gd3JpdGUgYSBmaWxl LgorIAorICAgICAgICAgVGhpcyBpcyBhIGdsb3JpZmllZCB3cmFwcGVyIGFyb3VuZCBGaWxlQXZv aWRXcml0ZSB3aXRoIGludGVncmF0aW9uIHRvCisgICAgICAgICB1cGRhdGUgdGhlIHN1bW1hcnkg ZGF0YSBvbiB0aGlzIGluc3RhbmNlLgorIAorICAgICAgICAgRXhhbXBsZSB1c2FnZToKKyAKKyAg ICAgICAgICAgICB3aXRoIHNlbGYuX3dyaXRlX2ZpbGUoJ2Zvby50eHQnKSBhcyBmaDoKK2RpZmYg LS1naXQgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvcHJlcHJvY2Vzc29yLnB5IGIvcHl0aG9u L21vemJ1aWxkL21vemJ1aWxkL3ByZXByb2Nlc3Nvci5weQorLS0tIGEvcHl0aG9uL21vemJ1aWxk L21vemJ1aWxkL3ByZXByb2Nlc3Nvci5weQorKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxk L3ByZXByb2Nlc3Nvci5weQorQEAgLTUyNiwxNyArNTI2LDE3IEBAIGNsYXNzIFByZXByb2Nlc3Nv cjoKKyAgICAgICAgICAgICBpZiBub3Qgb3B0aW9ucy5vdXRwdXQ6CisgICAgICAgICAgICAgICAg IHJhaXNlIFByZXByb2Nlc3Nvci5FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYsICIt LWRlcGVuZCBkb2Vzbid0IHdvcmsgd2l0aCBzdGRvdXQiLCBOb25lCisgICAgICAgICAgICAgICAg ICkKKyAgICAgICAgICAgICBkZXBmaWxlID0gZ2V0X291dHB1dF9maWxlKG9wdGlvbnMuZGVwZW5k KQorIAorICAgICAgICAgaWYgYXJnczoKKyAgICAgICAgICAgICBmb3IgZiBpbiBhcmdzOgorLSAg ICAgICAgICAgICAgICB3aXRoIGlvLm9wZW4oZiwgInJVIiwgZW5jb2Rpbmc9InV0Zi04IikgYXMg aW5wdXQ6CisrICAgICAgICAgICAgICAgIHdpdGggaW8ub3BlbihmLCAiciIsIGVuY29kaW5nPSJ1 dGYtOCIpIGFzIGlucHV0OgorICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzRmlsZShp bnB1dD1pbnB1dCwgb3V0cHV0PW91dCkKKyAgICAgICAgICAgICBpZiBkZXBmaWxlOgorICAgICAg ICAgICAgICAgICBtayA9IE1ha2VmaWxlKCkKKyAgICAgICAgICAgICAgICAgbWsuY3JlYXRlX3J1 bGUoW3NpeC5lbnN1cmVfdGV4dChvcHRpb25zLm91dHB1dCldKS5hZGRfZGVwZW5kZW5jaWVzKAor ICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmNsdWRlcworICAgICAgICAgICAgICAgICApCisg ICAgICAgICAgICAgICAgIG1rLmR1bXAoZGVwZmlsZSkKKyAgICAgICAgICAgICAgICAgZGVwZmls ZS5jbG9zZSgpCitAQCAtODU1LDE3ICs4NTUsMTcgQEAgY2xhc3MgUHJlcHJvY2Vzc29yOgorICAg ICAgICAgc2VsZi5jaGVja0xpbmVOdW1iZXJzID0gRmFsc2UKKyAgICAgICAgIGlmIGlzTmFtZToK KyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIGFyZ3MgPSBfdG9fdGV4dChhcmdz KQorICAgICAgICAgICAgICAgICBpZiBmaWx0ZXJzOgorICAgICAgICAgICAgICAgICAgICAgYXJn cyA9IHNlbGYuYXBwbHlGaWx0ZXJzKGFyZ3MpCisgICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5w YXRoLmlzYWJzKGFyZ3MpOgorICAgICAgICAgICAgICAgICAgICAgYXJncyA9IG9zLnBhdGguam9p bihzZWxmLmN1cmRpciwgYXJncykKKy0gICAgICAgICAgICAgICAgYXJncyA9IGlvLm9wZW4oYXJn cywgInJVIiwgZW5jb2Rpbmc9InV0Zi04IikKKysgICAgICAgICAgICAgICAgYXJncyA9IGlvLm9w ZW4oYXJncywgInIiLCBlbmNvZGluZz0idXRmLTgiKQorICAgICAgICAgICAgIGV4Y2VwdCBQcmVw cm9jZXNzb3IuRXJyb3I6CisgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgcmFpc2UgUHJlcHJvY2Vzc29yLkVycm9y KHNlbGYsICJGSUxFX05PVF9GT1VORCIsIF90b190ZXh0KGFyZ3MpKQorICAgICAgICAgc2VsZi5j aGVja0xpbmVOdW1iZXJzID0gYm9vbCgKKyAgICAgICAgICAgICByZS5zZWFyY2goIlwuKGpzfGpz bXxqYXZhfHdlYmlkbCkoPzpcLmluKT8kIiwgYXJncy5uYW1lKQorICAgICAgICAgKQorICAgICAg ICAgb2xkRmlsZSA9IHNlbGYuY29udGV4dFsiRklMRSJdCitAQCAtOTA5LDE3ICs5MDksMTcgQEAg Y2xhc3MgUHJlcHJvY2Vzc29yOgorIAorICAgICBkZWYgZG9fZXJyb3Ioc2VsZiwgYXJncyk6Cisg ICAgICAgICByYWlzZSBQcmVwcm9jZXNzb3IuRXJyb3Ioc2VsZiwgIkVycm9yOiAiLCBfdG9fdGV4 dChhcmdzKSkKKyAKKyAKKyBkZWYgcHJlcHJvY2VzcyhpbmNsdWRlcz1bc3lzLnN0ZGluXSwgZGVm aW5lcz17fSwgb3V0cHV0PXN5cy5zdGRvdXQsIG1hcmtlcj0iIyIpOgorICAgICBwcCA9IFByZXBy b2Nlc3NvcihkZWZpbmVzPWRlZmluZXMsIG1hcmtlcj1tYXJrZXIpCisgICAgIGZvciBmIGluIGlu Y2x1ZGVzOgorLSAgICAgICAgd2l0aCBpby5vcGVuKGYsICJyVSIsIGVuY29kaW5nPSJ1dGYtOCIp IGFzIGlucHV0OgorKyAgICAgICAgd2l0aCBpby5vcGVuKGYsICJyIiwgZW5jb2Rpbmc9InV0Zi04 IikgYXMgaW5wdXQ6CisgICAgICAgICAgICAgcHAucHJvY2Vzc0ZpbGUoaW5wdXQ9aW5wdXQsIG91 dHB1dD1vdXRwdXQpCisgICAgIHJldHVybiBwcC5pbmNsdWRlcworIAorIAorICMgS2VlcCB0aGlz IG1vZHVsZSBpbmRlcGVuZGVudGx5IGV4ZWN1dGFibGUuCisgaWYgX19uYW1lX18gPT0gIl9fbWFp bl9fIjoKKyAgICAgcHAgPSBQcmVwcm9jZXNzb3IoKQorICAgICBwcC5oYW5kbGVDb21tYW5kTGlu ZShOb25lLCBUcnVlKQorZGlmZiAtLWdpdCBhL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC91dGls LnB5IGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL3V0aWwucHkKKy0tLSBhL3B5dGhvbi9tb3pi dWlsZC9tb3pidWlsZC91dGlsLnB5CisrKysgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvdXRp bC5weQorQEAgLTIzMSwxNyArMjMxLDE3IEBAIGNsYXNzIEZpbGVBdm9pZFdyaXRlKEJ5dGVzSU8p OgorICAgICBlbmFibGVkIGJ5IGRlZmF1bHQgYmVjYXVzZSBpdCBhKSBkb2Vzbid0IG1ha2Ugc2Vu c2UgZm9yIGJpbmFyeSBmaWxlcyBiKQorICAgICBjb3VsZCBhZGQgdW53YW50ZWQgb3ZlcmhlYWQg dG8gY2FsbHMuCisgCisgICAgIEFkZGl0aW9uYWxseSwgdGhlcmUgaXMgZHJ5IHJ1biBtb2RlIHdo ZXJlIHRoZSBmaWxlIGlzIG5vdCBhY3R1YWxseSB3cml0dGVuCisgICAgIG91dCwgYnV0IHJlcG9y dHMgd2hldGhlciB0aGUgZmlsZSB3YXMgZXhpc3RpbmcgYW5kIHdvdWxkIGhhdmUgYmVlbiB1cGRh dGVkCisgICAgIHN0aWxsIG9jY3VyLCBhcyB3ZWxsIGFzIGRpZmYgY2FwdHVyZSBpZiByZXF1ZXN0 ZWQuCisgICAgICIiIgorIAorLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGNhcHR1 cmVfZGlmZj1GYWxzZSwgZHJ5X3J1bj1GYWxzZSwgcmVhZG1vZGU9InJVIik6CisrICAgIGRlZiBf X2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgY2FwdHVyZV9kaWZmPUZhbHNlLCBkcnlfcnVuPUZhbHNl LCByZWFkbW9kZT0iciIpOgorICAgICAgICAgQnl0ZXNJTy5fX2luaXRfXyhzZWxmKQorICAgICAg ICAgc2VsZi5uYW1lID0gZmlsZW5hbWUKKyAgICAgICAgIGFzc2VydCB0eXBlKGNhcHR1cmVfZGlm ZikgPT0gYm9vbAorICAgICAgICAgYXNzZXJ0IHR5cGUoZHJ5X3J1bikgPT0gYm9vbAorICAgICAg ICAgYXNzZXJ0ICJyIiBpbiByZWFkbW9kZQorICAgICAgICAgc2VsZi5fY2FwdHVyZV9kaWZmID0g Y2FwdHVyZV9kaWZmCisgICAgICAgICBzZWxmLl93cml0ZV90b19maWxlID0gbm90IGRyeV9ydW4K KyAgICAgICAgIHNlbGYuZGlmZiA9IE5vbmUKK2RpZmYgLS1naXQgYS9weXRob24vbW96YnVpbGQv bW96cGFjay9maWxlcy5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pwYWNrL2ZpbGVzLnB5CistLS0g YS9weXRob24vbW96YnVpbGQvbW96cGFjay9maWxlcy5weQorKysrIGIvcHl0aG9uL21vemJ1aWxk L21venBhY2svZmlsZXMucHkKK0BAIC01NDksMTcgKzU0OSwxNyBAQCBjbGFzcyBQcmVwcm9jZXNz ZWRGaWxlKEJhc2VGaWxlKToKKyAgICAgICAgIHNlbGYuZGVmaW5lcyA9IGRlZmluZXMKKyAgICAg ICAgIHNlbGYuZXh0cmFfZGVwZW5kcyA9IGxpc3QoZXh0cmFfZGVwZW5kcyBvciBbXSkKKyAgICAg ICAgIHNlbGYuc2lsZW5jZV9taXNzaW5nX2RpcmVjdGl2ZV93YXJuaW5ncyA9IHNpbGVuY2VfbWlz c2luZ19kaXJlY3RpdmVfd2FybmluZ3MKKyAKKyAgICAgZGVmIGlucHV0cyhzZWxmKToKKyAgICAg ICAgIHBwID0gUHJlcHJvY2Vzc29yKGRlZmluZXM9c2VsZi5kZWZpbmVzLCBtYXJrZXI9c2VsZi5t YXJrZXIpCisgICAgICAgICBwcC5zZXRTaWxlbmNlRGlyZWN0aXZlV2FybmluZ3Moc2VsZi5zaWxl bmNlX21pc3NpbmdfZGlyZWN0aXZlX3dhcm5pbmdzKQorIAorLSAgICAgICAgd2l0aCBfb3Blbihz ZWxmLnBhdGgsICJyVSIpIGFzIGlucHV0OgorKyAgICAgICAgd2l0aCBfb3BlbihzZWxmLnBhdGgs ICJyIikgYXMgaW5wdXQ6CisgICAgICAgICAgICAgd2l0aCBfb3Blbihvcy5kZXZudWxsLCAidyIp IGFzIG91dHB1dDoKKyAgICAgICAgICAgICAgICAgcHAucHJvY2Vzc0ZpbGUoaW5wdXQ9aW5wdXQs IG91dHB1dD1vdXRwdXQpCisgCisgICAgICAgICAjIFRoaXMgYWx3YXlzIHlpZWxkcyBhdCBsZWFz dCBzZWxmLnBhdGguCisgICAgICAgICByZXR1cm4gcHAuaW5jbHVkZXMKKyAKKyAgICAgZGVmIGNv cHkoc2VsZiwgZGVzdCwgc2tpcF9pZl9vbGRlcj1UcnVlKToKKyAgICAgICAgICIiIgorQEAgLTYw NiwxNyArNjA2LDE3IEBAIGNsYXNzIFByZXByb2Nlc3NlZEZpbGUoQmFzZUZpbGUpOgorICAgICAg ICAgICAgIHJldHVybiBGYWxzZQorIAorICAgICAgICAgZGVwc19vdXQgPSBOb25lCisgICAgICAg ICBpZiBzZWxmLmRlcGZpbGU6CisgICAgICAgICAgICAgZGVwc19vdXQgPSBGaWxlQXZvaWRXcml0 ZShzZWxmLmRlcGZpbGUpCisgICAgICAgICBwcCA9IFByZXByb2Nlc3NvcihkZWZpbmVzPXNlbGYu ZGVmaW5lcywgbWFya2VyPXNlbGYubWFya2VyKQorICAgICAgICAgcHAuc2V0U2lsZW5jZURpcmVj dGl2ZVdhcm5pbmdzKHNlbGYuc2lsZW5jZV9taXNzaW5nX2RpcmVjdGl2ZV93YXJuaW5ncykKKyAK Ky0gICAgICAgIHdpdGggX29wZW4oc2VsZi5wYXRoLCAiclUiKSBhcyBpbnB1dDoKKysgICAgICAg IHdpdGggX29wZW4oc2VsZi5wYXRoLCAiciIpIGFzIGlucHV0OgorICAgICAgICAgICAgIHBwLnBy b2Nlc3NGaWxlKGlucHV0PWlucHV0LCBvdXRwdXQ9ZGVzdCwgZGVwZmlsZT1kZXBzX291dCkKKyAK KyAgICAgICAgIGRlc3QuY2xvc2UoKQorICAgICAgICAgaWYgc2VsZi5kZXBmaWxlOgorICAgICAg ICAgICAgIGRlcHNfb3V0LmNsb3NlKCkKKyAKKyAgICAgICAgIHJldHVybiBUcnVlCisgCisKCkZy b20gMDljMDMyZmM1MWMwMTI0NDlhMGM5ZTcxN2NiYTg1ZmQ3MWE3NWE0OSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogTWljaGFsIFZhc2lsZWsgPG1pY2hhbEB2YXNpbGVrLmN6PgpEYXRl OiBUdWUsIDYgRGVjIDIwMjIgMTY6MjA6MjYgKzAxMDAKU3ViamVjdDogW1BBVENIIDUvNl0gdGh1 bmRlcmJpcmQ6IHVzZSBuZXcgbm9kZSBmb3IgYnVpbGQKCi0tLQogc3JjcGtncy90aHVuZGVyYmly ZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGh1bmRlcmJpcmQvdGVtcGxhdGUgYi9zcmNw a2dzL3RodW5kZXJiaXJkL3RlbXBsYXRlCmluZGV4IDAyMmQ1ODVjZWU4NC4uMjllODhlZmVlMGQ4 IDEwMDY0NAotLS0gYS9zcmNwa2dzL3RodW5kZXJiaXJkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv dGh1bmRlcmJpcmQvdGVtcGxhdGUKQEAgLTE2LDcgKzE2LDcgQEAgY2hlY2tzdW09YzRiZWM1MWMw OWQyMTZiNGJhMDMyMTBjNmVmM2I3ZWVmNGU3NmYxZmE0OTU3ZTlkMTFmNzlkM2U1ODI1MTY0ZQog bGliMzJkaXNhYmxlZD15ZXMKIAogaG9zdG1ha2VkZXBlbmRzPSJhdXRvY29uZiB1bnppcCB6aXAg cGtnLWNvbmZpZyBwZXJsIHB5dGhvbjMgeWFzbSBydXN0IGNhcmdvCi0gbGx2bSBjbGFuZyBub2Rl anMtbHRzIGNiaW5kZ2VuIG5hc20gd2hpY2ggdGFyIgorIGxsdm0gY2xhbmcgbm9kZWpzIGNiaW5k Z2VuIG5hc20gd2hpY2ggdGFyIgogbWFrZWRlcGVuZHM9Im5zcy1kZXZlbCBsaWJqcGVnLXR1cmJv LWRldmVsIGd0ayszLWRldmVsIGljdS1kZXZlbAogIHBpeG1hbi1kZXZlbCBsaWJldmVudC1kZXZl bCBsaWJub3RpZnktZGV2ZWwgbGlidnB4LWRldmVsCiAgbGliWHJlbmRlci1kZXZlbCBsaWJYY29t cG9zaXRlLWRldmVsIGxpYlNNLWRldmVsIGxpYlh0LWRldmVsIHJ1c3Qtc3RkCgpGcm9tIDkwMDQ3 NzlhYmQyYzNkMDc4ZjRiZjczYTkxYzhkMTlkMTljYWYyNmIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE1pY2hhbCBWYXNpbGVrIDxtaWNoYWxAdmFzaWxlay5jej4KRGF0ZTogVHVlLCA2 IERlYyAyMDIyIDE5OjU3OjE1ICswMTAwClN1YmplY3Q6IFtQQVRDSCA2LzZdIGtleWJhc2UtZGVz a3RvcDogdXBkYXRlIHRvIDYuMC4yLgoKLS0tCiBzcmNwa2dzL2tleWJhc2UtZGVza3RvcC90ZW1w bGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2V5YmFzZS1kZXNrdG9wL3RlbXBsYXRlIGIv c3JjcGtncy9rZXliYXNlLWRlc2t0b3AvdGVtcGxhdGUKaW5kZXggODZkY2Y4OTNjNzc1Li4yYjk3 YzRlNDViMzggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2V5YmFzZS1kZXNrdG9wL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3Mva2V5YmFzZS1kZXNrdG9wL3RlbXBsYXRlCkBAIC0xLDE1ICsxLDE1IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdrZXliYXNlLWRlc2t0b3AnCiBwa2duYW1lPWtleWJhc2UtZGVz a3RvcAotdmVyc2lvbj01LjguMQordmVyc2lvbj02LjAuMgogcmV2aXNpb249MQotaG9zdG1ha2Vk ZXBlbmRzPSJnaXQgbm9kZWpzLWx0cyB5YXJuIHVuemlwIgoraG9zdG1ha2VkZXBlbmRzPSJnaXQg bm9kZWpzIHlhcm4gdW56aXAiCiBkZXBlbmRzPSJrZXliYXNlIGtiZnMiCiBzaG9ydF9kZXNjPSJL ZXliYXNlIGRlc2t0b3AgY2xpZW50IgogbWFpbnRhaW5lcj0iRG9taW5pYyBNb25yb2UgPG1vbnJv ZWY0QGdvb2dsZW1haWwuY29tPiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJo dHRwczovL2tleWJhc2UuaW8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9rZXliYXNl L2NsaWVudC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTI1NTM5ZmY1YjNi YWQ5MzljOWE0ODFjY2FlODk5MTNjMWQxNGFhYjdmMmFjOTc1NmE0YzIzMWIwMWNlM2ZjNjEKK2No ZWNrc3VtPWJkYzQyYjQ0NzI3NjE0ZDkyNzY4YWFhZjFlYTRlMGYwMWM2YjI0ZDVhNDc4YmI0Yjg5 ZTBhYmM5M2JjNjdlZDUKIG5vc3RyaXBfZmlsZXM9IktleWJhc2UiCiAKIGNhc2UgIiR7WEJQU19U QVJHRVRfTUFDSElORX0iIGluCg== --===============5268735058293269420==--