From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) by sourceware.org (Postfix) with ESMTPS id D7B4A3858CD1 for ; Wed, 20 Dec 2023 14:48:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D7B4A3858CD1 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D7B4A3858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703083746; cv=none; b=Bz/F+O94XND4Lsq6zo2vIfMliks2DwGWM8dIglnr+CNHedis3lHaEpnCIKycLGj4rco3IDA1A3gmT7ToNINuZwlQw4vRo+0SEACUFtGVFYCIppRrJqJlgSO1ty+Qjo16swgrz/TLSrGKwiZqv16lIDsDn0XHdMOtAiMR+wzpev8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703083746; c=relaxed/simple; bh=ZG4rHMZ3LcweQR/5mr0lqk2HjMDdu9rZoF9jPKCQc0w=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=VCjxttk1lcBRnQx0dIXjSvHCCgsqTXIw+mLAggqvrqbOXougdT/Kz6Cy9/x7hp54D46+4XY0m/UpugVPIXDE0bDKM+03W6ccm6YsMc49FInyHnHHvaSaOfVb4s63W3948GOhlfgGKcMGZd7PGJBwLlYrFw1d1SKOubzwudqBtL4= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp64t1703083712t47cafy2 Received: from TABLET-POE6JQHH ( [116.77.2.214]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 20 Dec 2023 22:48:30 +0800 (CST) X-QQ-SSF: 00400000000000G0V000000A0000000 X-QQ-FEAT: /ZgK1EgSTNRrYxXxnSrDB79YfUDJ+4bfphVAavwyix3SOTDkK4MUiX5sxpqX/ Ifqak3yVMan6CfeVOPnYqAgQxDUsY3bz7R03+5HjlNjJbEqXPeWucZsP8h8H/Xa4WHOseij 6izyJi12s9ULBKTYqNV8kXbCaV64NJMx/3jvBsNeD7FqqVJWBB9FCuunkqlGSjgxnM4v/1j v45lwJl5ix6+STovH1NIwiWiplLMAm8sg6Vzcf7G4svgVb3j2F00d61Bs629JcVgC3Vk8p8 Mm1W6EUEFMmfkNHyPRRBT/ME/W1yIY1N1l54uAUhXOmW8oD/N3t1nGYm0ee1FuCJpW7Sqg5 O2Km6Q1gB4nmt/AEg2zMCEkt3FX03uM49FfAndNR1D9De16Uzxp62s0YBLhI+Nc2Zsn69S5 Z4q8AS3hehhIPwDYX2Gu8mRlSn6FbQBQ X-QQ-GoodBg: 2 X-BIZMAIL-ID: 390083236025001046 Date: Wed, 20 Dec 2023 22:48:31 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: cooper.joshua , gcc-patches Cc: jim.wilson.gcc , palmer , andrew , philipp.tomsich , "Jeff Law" , =?UTF-8?B?Q2hyaXN0b3BoIE3DvGxsbmVy?= , jinma , "Cooper Qu" Subject: =?UTF-8?B?UmU6IOWbnuWkje+8mltQQVRDSCB2MyA1LzZdIFJJU0MtVjogSGFuZGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gWFRoZWFkdmVjdG9yIGFuZCBWZWN0b3I=?= References: <85BA5A566EF203DA+2023122022272112265130@rivai.ai>, X-Priority: 3 X-GUID: A69E0A41-6482-4447-BD02-7FDA29E39E66 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <57A08F9BAD412AFE+2023122022483076995531@rivai.ai> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00,BODY_8BITS,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Tm8uIEkgbWVhbiB3aHkgeW91IGFkZCB2ZnNxcnQudiBwYXR0ZXJuIHdoaWNoIGlzIHRvdGFsbHkg dGhlIHNhbWUgYXMgY3VycmVudCB2ZnNxcnQudi4KCgoKCgoKCgpqdXpoZS56aG9uZ0ByaXZhaS5h aQoKCgrCoAoKCgrlj5Hku7bkurrvvJrCoGpvc2h1YQoKCgrlj5HpgIHml7bpl7TvvJrCoDIwMjMt MTItMjDCoDIyOjQxCgoKCuaUtuS7tuS6uu+8msKg6ZKf5bGF5ZOyOyBnY2MtcGF0Y2hlcwoKCgrm ioTpgIHvvJrCoGppbS53aWxzb24uZ2NjOyBwYWxtZXI7IGFuZHJldzsgcGhpbGlwcC50b21zaWNo OyBKZWZmIExhdzsgQ2hyaXN0b3BoIE3DvGxsbmVyOyBqaW5tYTsgQ29vcGVyIFF1CgoKCuS4u+mi mO+8msKg5Zue5aSN77ya5Zue5aSN77yaW1BBVENIIHYzIDUvNl0gUklTQy1WOiBIYW5kbGUgZGlm ZmVyZW5jZXMgYmV0d2VlbiBYVGhlYWR2ZWN0b3IgYW5kIFZlY3RvcgoKCgpIaSBKdXpoZSwKCgoK WWVzLCBYVGhlYWRWZWN0b3IgZG9lcyBub3QgaGF2ZSB2Zm5lZy52IGFzIGEgcHNldWRvIGluc3Ry dWN0aW9uIGZvcsKgdmZzZ25qbi52di4KCgoKV2UgaGF2ZSBsaXN0ZWQgYWxsIHRoZSBkaWZmZXJl bmNlcyBiZXR3ZWVuIHZlY3RvciBhbmQgeHRoZWFkdmVjdG9yIGluIG91ciBzcGVjLiBZb3UgbWF5 IHJlZmVyIHRvIGl0LgoKCgpodHRwczovL2dpdGh1Yi5jb20vVC1oZWFkLVNlbWkvdGhlYWQtZXh0 ZW5zaW9uLXNwZWMvYmxvYi9tYXN0ZXIveHRoZWFkdmVjdG9yLmFkb2MKCgoKaHR0cHM6Ly9naXRo dWIuY29tL1QtaGVhZC1TZW1pL3RoZWFkLWV4dGVuc2lvbi1zcGVjL2NvbW1pdC9hMGQ4ZGQ4NTdl NDA0MDExNTYyMzc5ZjJlN2Y1ZmFlNmY5YTZiZmRkCgoKCgoKCgpKb3NodWEKCgoKCgoKCgoKCgoK CgoKCgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQoKCgrlj5Hku7bkurrvvJrpkp/lsYXlk7IgPGp1emhlLnpob25nQHJp dmFpLmFpPgoKCgrlj5HpgIHml7bpl7TvvJoyMDIz5bm0MTLmnIgyMOaXpSjmmJ/mnJ/kuIkpIDIy OjI3CgoKCuaUtuS7tuS6uu+8miJjb29wZXIuam9zaHVhIjxjb29wZXIuam9zaHVhQGxpbnV4LmFs aWJhYmEuY29tPjsgImdjYy1wYXRjaGVzIjxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4KCgoK5oqE 44CA6YCB77yaImppbS53aWxzb24uZ2NjIjxqaW0ud2lsc29uLmdjY0BnbWFpbC5jb20+OyBwYWxt ZXI8cGFsbWVyQGRhYmJlbHQuY29tPjsgYW5kcmV3PGFuZHJld0BzaWZpdmUuY29tPjsgInBoaWxp cHAudG9tc2ljaCI8cGhpbGlwcC50b21zaWNoQHZydWxsLmV1PjsgSmVmZiBMYXc8amVmZnJleWFs YXdAZ21haWwuY29tPjsgIkNocmlzdG9waCBNw7xsbG5lciI8Y2hyaXN0b3BoLm11ZWxsbmVyQHZy dWxsLmV1PjsgamlubWE8amlubWFAbGludXguYWxpYmFiYS5jb20+OyBDb29wZXIgUXU8Y29vcGVy LnF1QGxpbnV4LmFsaWJhYmEuY29tPgoKCgrkuLvjgIDpopjvvJpSZTog5Zue5aSN77yaW1BBVENI IHYzIDUvNl0gUklTQy1WOiBIYW5kbGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBYVGhlYWR2ZWN0b3Ig YW5kIFZlY3RvcgoKCgoKCgoKCgpXaHkgZG8geW91IGFkZCB0aGlzID8KCgoKCgorKGRlZmluZV9p bnNuICJAcHJlZF90aF88b3B0YWI+PG1vZGU+IgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 Vl9WTFNGIDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgICI9dmQsIHZkLCB2ciwg dnIiKQoKCgorIChpZl90aGVuX2Vsc2U6Vl9WTFNGCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCisg wqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgIiB2bSwg dm0sV2MxLFdjMSIpCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiwqAgwqAgIiBySywgckssIHJLLCBySyIpCgoKCivCoCDCoCDCoCAobWF0Y2hfb3Bl cmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAg aSIpCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDC oCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSIpCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFu ZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSIp CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDC oCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSIpCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05V TSkKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKQoKCgorwqAgwqAgwqAgKHJlZzpT SSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCisgwqAgKGFueV9mbG9hdF91bm9w OlZfVkxTRgoKCgorIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTRiAzICJyZWdpc3Rlcl9vcGVy YW5kIiDCoCDCoCDCoCAiIHZyLCB2ciwgdnIsIHZyIikpCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6 Vl9WTFNGIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCAiIHZ1LMKgIDAsIHZ1LMKgIDAi KSkpXQoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCivCoCAidmY8aW5zbj4udlx0JTAs JTMlcDEiCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAiPGZsb2F0X2luc25fdHlwZT4iKQoKCgor IMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCgoKCisgwqAgKHNldF9hdHRyICJ2bF9vcF9p ZHgiICI0IikKCgoKKyDCoCAoc2V0IChhdHRyICJ0YSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0 b3I6OmdldF90YShvcGVyYW5kc1s1XSkiKSkKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIpIChzeW1i b2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2XSkiKSkKCgoKKyDCoCAoc2V0 IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDcpKQoKCgorIMKgIChzZXQgKGF0dHIg ImZybV9tb2RlIikKCgoKKyAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfZnJtX21vZGUg KG9wZXJhbmRzWzhdKSIpKV0pCgoKCgoKCgpUaGVhZHZlY3RvciBpcyBub3QgdGgudmZuZWcudiA/ CgoKCgoKCgoKCgoKanV6aGUuemhvbmdAcml2YWkuYWkKCgoKCgoKCgoKCgoKCgoKCgrlj5Hku7bk urrvvJogam9zaHVhCgoKCgoKCgoKCuWPkemAgeaXtumXtO+8miAyMDIzLTEyLTIwIDIyOjI0CgoK CgoKCgoKCuaUtuS7tuS6uu+8miDpkp/lsYXlk7I7IGdjYy1wYXRjaGVzCgoKCgoKCgoKCuaKhOmA ge+8miBqaW0ud2lsc29uLmdjYzsgcGFsbWVyOyBhbmRyZXc7IHBoaWxpcHAudG9tc2ljaDsgSmVm ZiBMYXc7IENocmlzdG9waCBNw7xsbG5lcjsgamlubWE7IENvb3BlciBRdQoKCgoKCgoKCgrkuLvp opjvvJog5Zue5aSN77yaW1BBVENIIHYzIDUvNl0gUklTQy1WOiBIYW5kbGUgZGlmZmVyZW5jZXMg YmV0d2VlbiBYVGhlYWR2ZWN0b3IgYW5kIFZlY3RvcgoKCgoKCgoKCgpIaSBKdXpoZSwKCgoKCgoK CgoKCgoKCgoKCgpUaGUgcGF0dGVybnMgeW91IHN1cHBvc2VkIHJlZHVuZGFudCBhcmUgYWxsIG5l Y2Vzc2FyeSwgYmVjYXVzZSB0aGV5IGdlbmVyYXRlIGRpZmZlcmVudCBpbnN0cnVjdGlvbnMgZnJv bSB2ZWN0b3IuCgoKCgoKCgoKClRha2UgcHJlZF90aF91bml0X3N0cmlkZWRfc3RvcmUgYXMgYW4g ZXhhbXBsZSwgeHRoZWFkdmVjdG9yIGRvIG5vdCBoYXZlIDxzZXc+IGluIGxvYWQvc3RvcmUgaW5z dHJ1Y3Rpb25zLAoKCgoKCgoKCgphbmQgd2UgY2Fubm90IHJldXNlIHRoZSBzYW1lIHBhdHRlcm4g YXMgdmVjdG9yLiBUaGF0IGlzIHdoeSB3ZSBkZWZpbmUgbmV3IGZ1bmN0aW9uX2Jhc2UgaW4gdGhl YWQtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYuCgoKCgoKCgoKCgoKCgoKCgoKSm9zaHVh CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCgoKCgoKCgoKCuWPkeS7tuS6uu+8mumSn+WxheWTsiA8anV6aGUu emhvbmdAcml2YWkuYWk+CgoKCgoKCgoKCuWPkemAgeaXtumXtO+8mjIwMjPlubQxMuaciDIw5pel KOaYn+acn+S4iSkgMjI6MDAKCgoKCgoKCgoK5pS25Lu25Lq677yaImNvb3Blci5qb3NodWEiPGNv b3Blci5qb3NodWFAbGludXguYWxpYmFiYS5jb20+OyAiZ2NjLXBhdGNoZXMiPGdjYy1wYXRjaGVz QGdjYy5nbnUub3JnPgoKCgoKCgoKCgrmioQg6YCB77yaImppbS53aWxzb24uZ2NjIjxqaW0ud2ls c29uLmdjY0BnbWFpbC5jb20+OyBwYWxtZXI8cGFsbWVyQGRhYmJlbHQuY29tPjsgYW5kcmV3PGFu ZHJld0BzaWZpdmUuY29tPjsgInBoaWxpcHAudG9tc2ljaCI8cGhpbGlwcC50b21zaWNoQHZydWxs LmV1PjsgSmVmZiBMYXc8amVmZnJleWFsYXdAZ21haWwuY29tPjsgIkNocmlzdG9waCBNw7xsbG5l ciI8Y2hyaXN0b3BoLm11ZWxsbmVyQHZydWxsLmV1PjsgImNvb3Blci5qb3NodWEiPGNvb3Blci5q b3NodWFAbGludXguYWxpYmFiYS5jb20+OyBqaW5tYTxqaW5tYUBsaW51eC5hbGliYWJhLmNvbT47 IENvb3BlciBRdTxjb29wZXIucXVAbGludXguYWxpYmFiYS5jb20+CgoKCgoKCgoKCuS4uyDpopjv vJpSZTogW1BBVENIIHYzIDUvNl0gUklTQy1WOiBIYW5kbGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBY VGhlYWR2ZWN0b3IgYW5kIFZlY3RvcgoKCgoKCgoKCgoKCgoKCgoKCisvLyA3LjYuIFZlY3RvciBJ bmRleGVkIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmx1 eGVpOCwgdGhfdmx1eGVpOCwgaW5kZXhlZF9sb2Fkc3RvcmUsIGZ1bGxfcHJlZHMsIGFsbF92X3Nj YWxhcl9jb25zdF9wdHJfZWV3OF9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZV TkNUSU9OICh2bHV4ZWkxNiwgdGhfdmx1eGVpMTYsIGluZGV4ZWRfbG9hZHN0b3JlLCBmdWxsX3By ZWRzLCBhbGxfdl9zY2FsYXJfY29uc3RfcHRyX2VldzE2X2luZGV4X29wcykKCgoKCgoKCgoKK0RF Rl9USEVBRF9SVlZfRlVOQ1RJT04gKHZsdXhlaTMyLCB0aF92bHV4ZWkzMiwgaW5kZXhlZF9sb2Fk c3RvcmUsIGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxhcl9jb25zdF9wdHJfZWV3MzJfaW5kZXhfb3Bz KQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmx1eGVpNjQsIHRoX3ZsdXhlaTY0 LCBpbmRleGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9l ZXc2NF9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bG94ZWk4 LCB0aF92bG94ZWk4LCBpbmRleGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFy X2NvbnN0X3B0cl9lZXc4X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJ T04gKHZsb3hlaTE2LCB0aF92bG94ZWkxNiwgaW5kZXhlZF9sb2Fkc3RvcmUsIGZ1bGxfcHJlZHMs IGFsbF92X3NjYWxhcl9jb25zdF9wdHJfZWV3MTZfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RI RUFEX1JWVl9GVU5DVElPTiAodmxveGVpMzIsIHRoX3Zsb3hlaTMyLCBpbmRleGVkX2xvYWRzdG9y ZSwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9lZXczMl9pbmRleF9vcHMpCgoK CgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bG94ZWk2NCwgdGhfdmxveGVpNjQsIGlu ZGV4ZWRfbG9hZHN0b3JlLCBmdWxsX3ByZWRzLCBhbGxfdl9zY2FsYXJfY29uc3RfcHRyX2VldzY0 X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZzdXhlaTgsIHRo X3ZzdXhlaTgsIGluZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9w dHJfZWV3OF9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c3V4 ZWkxNiwgdGhfdnN1eGVpMTYsIGluZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIGFsbF92 X3NjYWxhcl9wdHJfZWV3MTZfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5D VElPTiAodnN1eGVpMzIsIHRoX3ZzdXhlaTMyLCBpbmRleGVkX2xvYWRzdG9yZSwgbm9uZV9tX3By ZWRzLCBhbGxfdl9zY2FsYXJfcHRyX2VldzMyX2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVB RF9SVlZfRlVOQ1RJT04gKHZzdXhlaTY0LCB0aF92c3V4ZWk2NCwgaW5kZXhlZF9sb2Fkc3RvcmUs IG5vbmVfbV9wcmVkcywgYWxsX3Zfc2NhbGFyX3B0cl9lZXc2NF9pbmRleF9vcHMpCgoKCgoKCgoK CitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c294ZWk4LCB0aF92c294ZWk4LCBpbmRleGVkX2xv YWRzdG9yZSwgbm9uZV9tX3ByZWRzLCBhbGxfdl9zY2FsYXJfcHRyX2VldzhfaW5kZXhfb3BzKQoK CgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnNveGVpMTYsIHRoX3Zzb3hlaTE2LCBp bmRleGVkX2xvYWRzdG9yZSwgbm9uZV9tX3ByZWRzLCBhbGxfdl9zY2FsYXJfcHRyX2VldzE2X2lu ZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZzb3hlaTMyLCB0aF92 c294ZWkzMiwgaW5kZXhlZF9sb2Fkc3RvcmUsIG5vbmVfbV9wcmVkcywgYWxsX3Zfc2NhbGFyX3B0 cl9lZXczMl9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c294 ZWk2NCwgdGhfdnNveGVpNjQsIGluZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIGFsbF92 X3NjYWxhcl9wdHJfZWV3NjRfaW5kZXhfb3BzKQoKCgoKCgoKCgoKCgoKCgoKCldoeSBkbyB5b3Ug YWRkIHRoZXNlID8KCgoKCgoKCgoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJlZF90aF91bml0 X3N0cmlkZWRfc3RvcmU8bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2NyYXRj aCkpCgoKCgoKCgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoK CgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJ2ZWN0b3JfbWFza19vcGVy YW5kIiAidm1XYzEiKQoKCgoKCgoKCgorIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDMgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZCA0ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSIpCgoK CgoKCgoKCisgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCisgwqAgwqAgwqAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKg IChtYXRjaF9vcGVyYW5kIDEgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiwqAgwqAgwqAgIiDCoCBy SiIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDpWVCAyICJyZWdpc3Rlcl9vcGVyYW5k IiDCoCDCoCDCoCDCoCAiIMKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIChtZW06QkxLIChzY3JhdGNo KSldIFVOU1BFQ19VTklUX1NUUklERUQpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVD VE9SIgoKCgoKCgoKCgorwqAgInZzc2VnPG5mPmUudlx0JTIsKCV6MSklcDAiCgoKCgoKCgoKCivC oCBbKHNldF9hdHRyICJ0eXBlIiAidnNzZWd0ZSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJt b2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgoKCgoKCgoKClRoZXNlIHBhdHRlcm5zIGFyZSByZWR1 bmRhbnQganVzdCBuYW1lcyBhcmUgZGlmZmVyZW50LgoKCgoKCgoKCgpUaGV5IHNob3VsZCBiZSBy ZW1vdmVkLgoKCgoKCgoKCgpqdXpoZS56aG9uZ0ByaXZhaS5haQoKCgoKCgoKCgoKCgoKCgoKCkZy b206IEp1biBTaGEgKEpvc2h1YSkKCgoKCgoKCgoKRGF0ZTogMjAyMy0xMi0yMCAyMDozNAoKCgoK CgoKCgpUbzogZ2NjLXBhdGNoZXMKCgoKCgoKCgoKQ0M6IGppbS53aWxzb24uZ2NjOyBwYWxtZXI7 IGFuZHJldzsgcGhpbGlwcC50b21zaWNoOyBqZWZmcmV5YWxhdzsgY2hyaXN0b3BoLm11ZWxsbmVy OyBqdXpoZS56aG9uZzsgSnVuIFNoYSAoSm9zaHVhKTsgSmluIE1hOyBYaWFubWlhbyBRdQoKCgoK CgoKCgpTdWJqZWN0OiBbUEFUQ0ggdjMgNS82XSBSSVNDLVY6IEhhbmRsZSBkaWZmZXJlbmNlcyBi ZXR3ZWVuIFhUaGVhZHZlY3RvciBhbmQgVmVjdG9yCgoKCgoKCgoKClRoaXMgcGF0Y2ggaXMgdG8g aGFuZGxlIHRoZSBkaWZmZXJlbmNlcyBpbiBpbnN0cnVjdGlvbiBnZW5lcmF0aW9uCgoKCgoKCgoK CmJldHdlZW4gVmVjdG9yIGFuZCBYVGhlYWRWZWN0b3IsIGFkZGluZyB0aC4gcHJlZml4CgoKCgoK CgoKCnRvIGFsbCBYVGhlYWRWZWN0b3IgaW5zdHJ1Y3Rpb25zIGlzIG5vdCBpbmNsdWRlZC4KCgoK CgoKCgoKCgoKCgoKCgpGb3Igc29tZSB2ZWN0b3IgcGF0dGVybnMgdGhhdCBjYW5ub3QgYmUgYXZv aWRlZCwgd2UgdXNlCgoKCgoKCgoKCiFUQVJHRVRfWFRIRUFEVkVDVE9SIHRvIGRpc2FibGUgdGhl bSBpbiB2ZWN0b3IubWQgaW4gb3JkZXIKCgoKCgoKCgoKbm90IHRvIGdlbmVyYXRlIGluc3RydWN0 aW9ucyB0aGF0IHh0aGVhZHZlY3RvciBkb2VzIG5vdCBzdXBwb3J0LAoKCgoKCgoKCgpsaWtlIHZt djFyIGFuZCB2c2V4dC52ZjIuCgoKCgoKCgoKCgoKCgoKCgoKZ2NjL0NoYW5nZUxvZzoKCgoKCgoK CgoKCgoKCgoKCgoqIGNvbmZpZy5nY2M6wqAgQWRkIGZpbGVzIGZvciBYVGhlYWRWZWN0b3IgaW50 cmluc2ljcy4KCgoKCgoKCgoKKiBjb25maWcvcmlzY3YvYXV0b3ZlYy5tZDogR3VhcmQgWFRoZWFk VmVjdG9yLgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi9yaXNjdi1zdHJpbmcuY2MgKGV4cGFuZF9i bG9ja19tb3ZlKToKCgoKCgoKCgoKR3VhcmQgWFRoZWFkVmVjdG9yLgoKCgoKCgoKCgoqIGNvbmZp Zy9yaXNjdi9yaXNjdi12LmNjIChsZWdpdGltaXplX21vdmUpOgoKCgoKCgoKCgpOZXcgZXhwYW5z aW9uLgoKCgoKCgoKCgooZ2V0X3ByZWZlcl90YWlsX3BvbGljeSk6IEdpdmUgc3BlY2lmaWMgdmFs dWUgZm9yIHRhaWwuCgoKCgoKCgoKCihnZXRfcHJlZmVyX21hc2tfcG9saWN5KTogR2l2ZSBzcGVj aWZpYyB2YWx1ZSBmb3IgbWFzay4KCgoKCgoKCgoKKHZsc19tb2RlX3ZhbGlkX3ApOiBBdm9pZCBh dXRvdmVjLgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hh cGVzLmNjIChjaGVja190eXBlKToKCgoKCgoKCgoKKGJ1aWxkX29uZSk6IE5ldyBmdW5jdGlvbi4K CgoKCgoKCgoKKiBjb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmNjIChERUZfUlZW X0ZVTkNUSU9OKToKCgoKCgoKCgoKKERFRl9USEVBRF9SVlZfRlVOQ1RJT04pOiBBZGQgbmV3IG1h cmNvcy4KCgoKCgoKCgoKKGNoZWNrX3JlcXVpcmVkX2V4dGVuc2lvbnMpOgoKCgoKCgoKCgooaGFu ZGxlX3ByYWdtYV92ZWN0b3IpOgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3It YnVpbHRpbnMuaCAoUlZWX1JFUVVJUkVfVkVDVE9SKToKCgoKCgoKCgoKKFJWVl9SRVFVSVJFX1hU SEVBRFZFQ1RPUik6CgoKCgoKCgoKCkFkZCBSVlZfUkVRVUlSRV9WRUNUT1IgYW5kIFJWVl9SRVFV SVJFX1hUSEVBRFZFQ1RPUi4KCgoKCgoKCgoKKHN0cnVjdCBmdW5jdGlvbl9ncm91cF9pbmZvKToK CgoKCgoKCgoKKiBjb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLXN3aXRjaC5kZWYgKEVOVFJZKToK CgoKCgoKCgoKRGlzYWJsZSBmcmFjdGlvbmFsIG1vZGUgZm9yIHRoZSBYVGhlYWRWZWN0b3IgZXh0 ZW5zaW9uLgoKCgoKCgoKCgooVFVQTEVfRU5UUlkpOiBMaWtld2lzZS4KCgoKCgoKCgoKKiBjb25m aWcvcmlzY3YvcmlzY3YtdnNldHZsLmNjOiBBZGQgZnVuY3Rpb25zIGZvciB4dGhlYWR2ZWN0b3Iu CgoKCgoKCgoKCiogY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIChyaXNjdl92X2V4dF92bHNfbW9kZV9w KToKCgoKCgoKCgoKR3VhcmQgWFRoZWFkVmVjdG9yLgoKCgoKCgoKCgoocmlzY3Zfdl9hZGp1c3Rf Ynl0ZXNpemUpOiBMaWtld2lzZS4KCgoKCgoKCgoKKHJpc2N2X3ByZWZlcnJlZF9zaW1kX21vZGUp OiBMaWtld3NpZS4KCgoKCgoKCgoKKHJpc2N2X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzKTog TGlrZXdpc2UuCgoKCgoKCgoKCihyaXNjdl92ZWN0b3JfbW9kZV9zdXBwb3J0ZWRfYW55X3Rhcmdl dF9wKTogTGlrZXdpc2UuCgoKCgoKCgoKCihUQVJHRVRfVkVDVE9SX01PREVfU1VQUE9SVEVEX0FO WV9UQVJHRVRfUCk6IExpa2V3aXNlLgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi90LXJpc2N2OiBB ZGQgbmV3IGZpbGVzLgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1k OiBSZW1vdmUgZnJhY3Rpb25hbCBMTVVMLgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi92ZWN0b3Iu bWQ6IEluY2x1ZGUgdGhlYWQtdmVjdG9yLm1kLgoKCgoKCgoKCgoqIGNvbmZpZy9yaXNjdi9yaXNj dl90aF92ZWN0b3IuaDogTmV3IGZpbGUuCgoKCgoKCgoKCiogY29uZmlnL3Jpc2N2L3RoZWFkLXZl Y3Rvci1idWlsdGlucy1mdW5jdGlvbnMuZGVmOiBOZXcgZmlsZS4KCgoKCgoKCgoKKiBjb25maWcv cmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLmNjOiBOZXcgZmlsZS4KCgoKCgoKCgoKKiBjb25m aWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLmg6IE5ldyBmaWxlLgoKCgoKCgoKCgoqIGNv bmZpZy9yaXNjdi90aGVhZC12ZWN0b3IubWQ6IE5ldyBmaWxlLgoKCgoKCgoKCgoKCgoKCgoKCmdj Yy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCgoKCgoKCgoKCgoKCgoKCiogZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9wcmFnbWEtMS5jOiBBZGQgWFRoZWFkVmVjdG9yLgoKCgoKCgoKCgoqIGdjYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJpLTEuYzogRXhjbHVkZSBYVGhlYWRWZWN0b3IuCgoKCgoK CgoKCiogbGliL3RhcmdldC1zdXBwb3J0cy5leHA6IEFkZCB0YXJnZXQgZm9yIFhUaGVhZFZlY3Rv ci4KCgoKCgoKCgoKCgoKCgoKCgpDby1hdXRob3JlZC1ieTogSmluIE1hIDxqaW5tYUBsaW51eC5h bGliYWJhLmNvbT4KCgoKCgoKCgoKQ28tYXV0aG9yZWQtYnk6IFhpYW5taWFvIFF1IDxjb29wZXIu cXVAbGludXguYWxpYmFiYS5jb20+CgoKCgoKCgoKCkNvLWF1dGhvcmVkLWJ5OiBDaHJpc3RvcGgg TcO8bGxuZXIgPGNocmlzdG9waC5tdWVsbG5lckB2cnVsbC5ldT4KCgoKCgoKCgoKLS0tCgoKCgoK CgoKCmdjYy9jb25maWcuZ2NjwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgfMKgIMKgIDQgKy0KCgoKCgoKCgoKZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1k IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHzCoCDCoCAyICstCgoKCgoKCgoKCmdjYy9jb25m aWcvcmlzY3YvcHJlZGljYXRlcy5tZMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHzCoCDCoCA4ICst CgoKCgoKCgoKCmdjYy9jb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNjwqAgwqAgwqAgwqAgwqAg wqAgwqAgfMKgIMKgIDMgKwoKCgoKCgoKCgpnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfCDCoCAxMyArLQoKCgoKCgoKCgouLi4vcmlzY3Yvcmlz Y3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5jYyDCoCDCoCB8IMKgIDIzICsKCgoKCgoKCgoKZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MgwqAgwqAgfMKgIMKgIDcgKwoK CgoKCgoKCgpnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5owqAgwqAgwqAg fMKgIMKgIDUgKy0KCgoKCgoKCgoKZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3Itc3dpdGNo LmRlZsKgIMKgIMKgIHzCoCAxNTAgKy0KCgoKCgoKCgoKZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j YyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IMKgIDIwICstCgoKCgoKCgoKCmdjYy9j b25maWcvcmlzY3YvcmlzY3ZfdGhfdmVjdG9yLmjCoCDCoCDCoCDCoCDCoCDCoCB8IMKgIDQ5ICsK CgoKCgoKCgoKZ2NjL2NvbmZpZy9yaXNjdi90LXJpc2N2wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgfCDCoCAxNiArCgoKCgoKCgoKCi4uLi9yaXNjdi90aGVhZC12ZWN0b3ItYnVpbHRp bnMtZnVuY3Rpb25zLmRlZiB8wqAgNjI3ICsrKysKCgoKCgoKCgoKZ2NjL2NvbmZpZy9yaXNjdi90 aGVhZC12ZWN0b3ItYnVpbHRpbnMuY2MgwqAgwqAgfMKgIDc0NiArKysrKwoKCgoKCgoKCgpnY2Mv Y29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci1idWlsdGlucy5owqAgwqAgwqAgfCDCoCA5MiArCgoK CgoKCgoKCmdjYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1kwqAgwqAgwqAgwqAgwqAgwqAg wqAgfCAyNTc0ICsrKysrKysrKysrKysrKysrCgoKCgoKCgoKCmdjYy9jb25maWcvcmlzY3YvdmVj dG9yLWl0ZXJhdG9ycy5tZMKgIMKgIMKgIMKgIMKgIHzCoCAxODYgKy0KCgoKCgoKCgoKZ2NjL2Nv bmZpZy9yaXNjdi92ZWN0b3IubWTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB8IMKgIDM2 ICstCgoKCgoKCgoKCi4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL2FiaS0xLmMgwqAgwqAg wqAgwqAgfMKgIMKgIDIgKy0KCgoKCgoKCgoKLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv cHJhZ21hLTEuY8KgIMKgIMKgIHzCoCDCoCAyICstCgoKCgoKCgoKCmdjYy90ZXN0c3VpdGUvbGli L3RhcmdldC1zdXBwb3J0cy5leHAgwqAgwqAgwqAgwqAgfCDCoCAxMiArCgoKCgoKCgoKCjIxIGZp bGVzIGNoYW5nZWQsIDQzODYgaW5zZXJ0aW9ucygrKSwgMTkxIGRlbGV0aW9ucygtKQoKCgoKCgoK CgpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90aF92ZWN0b3IuaAoK CgoKCgoKCgpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3It YnVpbHRpbnMtZnVuY3Rpb25zLmRlZgoKCgoKCgoKCgpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL2Nv bmZpZy9yaXNjdi90aGVhZC12ZWN0b3ItYnVpbHRpbnMuY2MKCgoKCgoKCgoKY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLmgKCgoKCgoKCgoK Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1kCgoKCgoK CgoKCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcuZ2NjIGIvZ2NjL2NvbmZpZy5nY2MK CgoKCgoKCgoKaW5kZXggZjA2NzZjODMwZTguLjQ0NzgzOTVhYjc3IDEwMDY0NAoKCgoKCgoKCgot LS0gYS9nY2MvY29uZmlnLmdjYwoKCgoKCgoKCgorKysgYi9nY2MvY29uZmlnLmdjYwoKCgoKCgoK CgpAQCAtNTQ3LDkgKzU0Nyw5IEBAIHJpc2N2KikKCgoKCgoKCgoKZXh0cmFfb2Jqcz0icmlzY3Yt YnVpbHRpbnMubyByaXNjdi1jLm8gcmlzY3Ytc3IubyByaXNjdi1zaG9ydGVuLW1lbXJlZnMubyBy aXNjdi1zZWxmdGVzdHMubyByaXNjdi1zdHJpbmcubyIKCgoKCgoKCgoKZXh0cmFfb2Jqcz0iJHtl eHRyYV9vYmpzfSByaXNjdi12Lm8gcmlzY3YtdnNldHZsLm8gcmlzY3YtdmVjdG9yLWNvc3RzLm8g cmlzY3YtYXZscHJvcC5vIgoKCgoKCgoKCgpleHRyYV9vYmpzPSIke2V4dHJhX29ianN9IHJpc2N2 LXZlY3Rvci1idWlsdGlucy5vIHJpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFwZXMubyByaXNjdi12 ZWN0b3ItYnVpbHRpbnMtYmFzZXMubyIKCgoKCgoKCgoKLSBleHRyYV9vYmpzPSIke2V4dHJhX29i anN9IHRoZWFkLm8gcmlzY3YtdGFyZ2V0LWF0dHIubyIKCgoKCgoKCgoKKyBleHRyYV9vYmpzPSIk e2V4dHJhX29ianN9IHRoZWFkLm8gcmlzY3YtdGFyZ2V0LWF0dHIubyB0aGVhZC12ZWN0b3ItYnVp bHRpbnMubyIKCgoKCgoKCgoKZF90YXJnZXRfb2Jqcz0icmlzY3YtZC5vIgoKCgoKCgoKCgotIGV4 dHJhX2hlYWRlcnM9InJpc2N2X3ZlY3Rvci5oIgoKCgoKCgoKCgorIGV4dHJhX2hlYWRlcnM9InJp c2N2X3ZlY3Rvci5oIHJpc2N2X3RoX3ZlY3Rvci5oIgoKCgoKCgoKCgp0YXJnZXRfZ3RmaWxlcz0i JHRhcmdldF9ndGZpbGVzIFwkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWls dGlucy5jYyIKCgoKCgoKCgoKdGFyZ2V0X2d0ZmlsZXM9IiR0YXJnZXRfZ3RmaWxlcyBcJChzcmNk aXIpL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuaCIKCgoKCgoKCgoKOzsKCgoK CgoKCgoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZCBiL2djYy9jb25m aWcvcmlzY3YvYXV0b3ZlYy5tZAoKCgoKCgoKCgppbmRleCA4YjhhOTJmMTBhMS4uMWZhYzU2Yzcw OTUgMTAwNjQ0CgoKCgoKCgoKCi0tLSBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZAoKCgoK CgoKCgorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQKCgoKCgoKCgoKQEAgLTI1Nzks NyArMjU3OSw3IEBAIChkZWZpbmVfZXhwYW5kICJyYXdtZW1jaHI8QU5ZSTptb2RlPiIKCgoKCgoK CgoKwqAgWyhtYXRjaF9vcGVyYW5kwqAgwqAgwqAgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCgoKCgoK CgoKCsKgIMKgIChtYXRjaF9vcGVyYW5kwqAgwqAgwqAgMSAibWVtb3J5X29wZXJhbmQiKQoKCgoK CgoKCgrCoCDCoCAobWF0Y2hfb3BlcmFuZDpBTllJIDIgImNvbnN0X2ludF9vcGVyYW5kIildCgoK CgoKCgoKCi3CoCAiVEFSR0VUX1ZFQ1RPUiIKCgoKCgoKCgoKK8KgICJUQVJHRVRfVkVDVE9SICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgrCoCB7CgoKCgoKCgoKCsKgIMKgIHJpc2N2 X3ZlY3Rvcjo6ZXhwYW5kX3Jhd21lbWNocig8TU9ERT5tb2RlLCBvcGVyYW5kc1swXSwgb3BlcmFu ZHNbMV0sCgoKCgoKCgoKCsKgIG9wZXJhbmRzWzJdKTsKCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2dj Yy9jb25maWcvcmlzY3YvcHJlZGljYXRlcy5tZCBiL2djYy9jb25maWcvcmlzY3YvcHJlZGljYXRl cy5tZAoKCgoKCgoKCgppbmRleCAxYTNhNGYxZWNiYi4uZDkxMDM2N2U1OWMgMTAwNjQ0CgoKCgoK CgoKCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcHJlZGljYXRlcy5tZAoKCgoKCgoKCgorKysgYi9n Y2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKCgoKCgoKCgoKQEAgLTY0LDggKzY0LDkgQEAg KGRlZmluZV9wcmVkaWNhdGUgImNzcl9vcGVyYW5kIgoKCgoKCgoKCgrCoCDCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZCAwICJyZWdpc3Rlcl9vcGVyYW5kIikpKQoKCgoKCgoKCgooZGVmaW5lX3ByZWRp Y2F0ZSAidmVjdG9yX2Nzcl9vcGVyYW5kIgoKCgoKCgoKCgotwqAgKGlvciAobWF0Y2hfb3BlcmFu ZCAwICJjb25zdF9jc3Jfb3BlcmFuZCIpCgoKCgoKCgoKCi0gwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgMCAicmVnaXN0ZXJfb3BlcmFuZCIpKSkKCgoKCgoKCgoKK8KgIChpb3IgKGFuZCAobWF0Y2hf dGVzdCAiIVRBUkdFVF9YVEhFQURWRUNUT1IgfHwgcnR4X2VxdWFsX3AgKG9wLCBjb25zdDBfcnR4 KSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCAwICJjb25zdF9jc3Jfb3BlcmFu ZCIpKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQgMCAicmVnaXN0ZXJfb3BlcmFuZCIp KSkKCgoKCgoKCgoKOzsgViBoYXMgMzItYml0IHVuc2lnbmVkIGltbWVkaWF0ZXMuwqAgVGhpcyBo YXBwZW5zIHRvIGJlIHRoZSBzYW1lIGNvbnN0cmFpbnQgYXMKCgoKCgoKCgoKOzsgdGhlIGNzcl9v cGVyYW5kLCBidXQgaXQncyBub3QgQ1NSIHJlbGF0ZWQuCgoKCgoKCgoKCkBAIC00MjUsNyArNDI2 LDggQEAgKGRlZmluZV9wcmVkaWNhdGUgImltbWVkaWF0ZV9yZWdpc3Rlcl9vcGVyYW5kIgoKCgoK CgoKCgo7OyBQcmVkaWNhdGVzIGZvciB0aGUgViBleHRlbnNpb24uCgoKCgoKCgoKCihkZWZpbmVf c3BlY2lhbF9wcmVkaWNhdGUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIKCgoKCgoKCgoKwqAgKGlv ciAobWF0Y2hfb3BlcmFuZCAwICJwbW9kZV9yZWdpc3Rlcl9vcGVyYW5kIikKCgoKCgoKCgoKLSDC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCAwICJjb25zdF9jc3Jfb3BlcmFuZCIpKSkKCgoKCgoKCgoK K8KgIMKgIMKgIChhbmQgKG1hdGNoX3Rlc3QgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIHx8IHJ0eF9l cXVhbF9wIChvcCwgY29uc3QwX3J0eCkiKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQg MCAiY29uc3RfY3NyX29wZXJhbmQiKSkpKQoKCgoKCgoKCgooZGVmaW5lX3NwZWNpYWxfcHJlZGlj YXRlICJhdXRvdmVjX2xlbmd0aF9vcGVyYW5kIgoKCgoKCgoKCgrCoCAoaW9yIChtYXRjaF9vcGVy YW5kIDAgInBtb2RlX3JlZ2lzdGVyX29wZXJhbmQiKQoKCgoKCgoKCgpkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi1zdHJpbmcuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXN0 cmluZy5jYwoKCgoKCgoKCgppbmRleCAxMWMxZjc0ZDBiMy4uZWM4ZjM0ODZmZDggMTAwNjQ0CgoK CgoKCgoKCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNjCgoKCgoKCgoKCisr KyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNjCgoKCgoKCgoKCkBAIC04MDgsNiAr ODA4LDkgQEAgZXhwYW5kX2Jsb2NrX21vdmUgKHJ0eCBkc3RfaW4sIHJ0eCBzcmNfaW4sIHJ0eCBs ZW5ndGhfaW4pCgoKCgoKCgoKCmJuZXogYTIsIGxvb3AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgIyBBbnkgbW9yZT8KCgoKCgoKCgoKcmV0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgICMgUmV0dXJuCgoKCgoKCgoKCsKgICovCgoKCgoKCgoKCisgwqAgaWYgKFRB UkdFVF9YVEhFQURWRUNUT1IpCgoKCgoKCgoKCivCoCDCoCByZXR1cm4gZmFsc2U7CgoKCgoKCgoK CisKCgoKCgoKCgoKwqAgZ2NjX2Fzc2VydCAoVEFSR0VUX1ZFQ1RPUik7CgoKCgoKCgoKCsKgIEhP U1RfV0lERV9JTlQgcG90ZW50aWFsX2V3CgoKCgoKCgoKCmRpZmYgLS1naXQgYS9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MKCgoKCgoKCgoK aW5kZXggNDg2ZjVkZWIyOTYuLjcxMDMzMmUxN2RiIDEwMDY0NAoKCgoKCgoKCgotLS0gYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MKCgoKCgoKCgoKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi12LmNjCgoKCgoKCgoKCkBAIC0xNDQ0LDYgKzE0NDQsMTMgQEAgbGVnaXRpbWl6ZV9tb3Zl IChydHggZGVzdCwgcnR4ICpzcmNwKQoKCgoKCgoKCgrCoCDCoCDCoCByZXR1cm4gdHJ1ZTsKCgoK CgoKCgoKwqAgwqAgfQoKCgoKCgoKCgorwqAgaWYgKFRBUkdFVF9YVEhFQURWRUNUT1IpCgoKCgoK CgoKCivCoCDCoCDCoCB7CgoKCgoKCgoKCisgZW1pdF9pbnNuIChnZW5fcHJlZF90aF93aG9sZV9t b3YgKG1vZGUsIGRlc3QsIHNyYywKCgoKCgoKCgoKKyDCoCBSVlZfVkxNQVgsIEdFTl9JTlQoVkxN QVgpKSk7CgoKCgoKCgoKCisgcmV0dXJuIHRydWU7CgoKCgoKCgoKCivCoCDCoCDCoCB9CgoKCgoK CgoKCisKCgoKCgoKCgoKwqAgaWYgKHJpc2N2X3ZfZXh0X3Zsc19tb2RlX3AgKG1vZGUpKQoKCgoK CgoKCgrCoCDCoCB7CgoKCgoKCgoKCsKgIMKgIMKgIGlmIChHRVRfTU9ERV9OVU5JVFMgKG1vZGUp LnRvX2NvbnN0YW50ICgpIDw9IDMxKQoKCgoKCgoKCgpAQCAtMTY5Myw3ICsxNzAwLDcgQEAgZ2V0 X3ByZWZlcl90YWlsX3BvbGljeSAoKQoKCgoKCgoKCgrCoCDCoCDCoCBjb21waWxlciBwaWNrIHVw IGVpdGhlciBhZ25vc3RpYyBvciB1bmRpc3R1cmJlZC4gTWF5YmUgd2UKCgoKCgoKCgoKwqAgwqAg wqAgd2lsbCBoYXZlIGEgY29tcGlsZSBvcHRpb24gbGlrZSAtbXByZWZlcj1hZ25vc3RpYyB0byBz ZXQKCgoKCgoKCgoKwqAgwqAgwqAgdGhpcyB2YWx1ZT8/Py7CoCAqLwoKCgoKCgoKCgotwqAgcmV0 dXJuIFRBSUxfQU5ZOwoKCgoKCgoKCgorwqAgcmV0dXJuIFRBUkdFVF9YVEhFQURWRUNUT1IgPyBU QUlMX0FHTk9TVElDIDogVEFJTF9BTlk7CgoKCgoKCgoKCn0KCgoKCgoKCgoKLyogR2V0IHByZWZl ciBtYXNrIHBvbGljeS7CoCAqLwoKCgoKCgoKCgpAQCAtMTcwNCw3ICsxNzExLDcgQEAgZ2V0X3By ZWZlcl9tYXNrX3BvbGljeSAoKQoKCgoKCgoKCgrCoCDCoCDCoCBjb21waWxlciBwaWNrIHVwIGVp dGhlciBhZ25vc3RpYyBvciB1bmRpc3R1cmJlZC4gTWF5YmUgd2UKCgoKCgoKCgoKwqAgwqAgwqAg d2lsbCBoYXZlIGEgY29tcGlsZSBvcHRpb24gbGlrZSAtbXByZWZlcj1hZ25vc3RpYyB0byBzZXQK CgoKCgoKCgoKwqAgwqAgwqAgdGhpcyB2YWx1ZT8/Py7CoCAqLwoKCgoKCgoKCgotwqAgcmV0dXJu IE1BU0tfQU5ZOwoKCgoKCgoKCgorwqAgcmV0dXJuIFRBUkdFVF9YVEhFQURWRUNUT1IgPyBNQVNL X1VORElTVFVSQkVEIDogTUFTS19BTlk7CgoKCgoKCgoKCn0KCgoKCgoKCgoKLyogR2V0IGF2bF90 eXBlIHJ0eC7CoCAqLwoKCgoKCgoKCgpAQCAtNDI5NCw3ICs0MzAxLDcgQEAgY21wX2xtdWxfZ3Rf b25lIChtYWNoaW5lX21vZGUgbW9kZSkKCgoKCgoKCgoKYm9vbAoKCgoKCgoKCgp2bHNfbW9kZV92 YWxpZF9wIChtYWNoaW5lX21vZGUgdmxzX21vZGUpCgoKCgoKCgoKCnsKCgoKCgoKCgoKLcKgIGlm ICghVEFSR0VUX1ZFQ1RPUikKCgoKCgoKCgoKK8KgIGlmICghVEFSR0VUX1ZFQ1RPUiB8fCBUQVJH RVRfWFRIRUFEVkVDVE9SKQoKCgoKCgoKCgrCoCDCoCByZXR1cm4gZmFsc2U7CgoKCgoKCgoKCsKg IGlmIChyaXNjdl9hdXRvdmVjX3ByZWZlcmVuY2UgPT0gUlZWX1NDQUxBQkxFKQoKCgoKCgoKCgpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVz LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjCgoK CgoKCgoKCmluZGV4IDRhNzU0ZTAyMjhmLi42YjQ5NDA0YTFmYSAxMDA2NDQKCgoKCgoKCgoKLS0t IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjCgoKCgoK CgoKCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5j YwoKCgoKCgoKCgpAQCAtMzMsNiArMzMsMjUgQEAKCgoKCgoKCgoKbmFtZXNwYWNlIHJpc2N2X3Zl Y3RvciB7CgoKCgoKCgoKCisvKiBDaGVjayB3aGV0aGVyIHRoZSBSRVRVUk5fVFlQRSBhbmQgQVJH VU1FTlRfVFlQRVMgYXJlCgoKCgoKCgoKCisgwqAgdmFsaWQgZm9yIHRoZSBmdW5jdGlvbi7CoCAq LwoKCgoKCgoKCgorCgoKCgoKCgoKCitzdGF0aWMgYm9vbAoKCgoKCgoKCgorY2hlY2tfdHlwZSAo dHJlZSByZXR1cm5fdHlwZSwgdmVjPHRyZWU+ICZhcmd1bWVudF90eXBlcykKCgoKCgoKCgoKK3sK CgoKCgoKCgoKK8KgIHRyZWUgYXJnOwoKCgoKCgoKCgorwqAgdW5zaWduZWQgaTsKCgoKCgoKCgoK KwoKCgoKCgoKCgorwqAgaWYgKCFyZXR1cm5fdHlwZSkKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBm YWxzZTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgRk9SX0VBQ0hfVkVDX0VMVCAoYXJndW1lbnRf dHlwZXMsIGksIGFyZykKCgoKCgoKCgoKK8KgIMKgIGlmICghYXJnKQoKCgoKCgoKCgorwqAgwqAg wqAgcmV0dXJuIGZhbHNlOwoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCByZXR1cm4gdHJ1ZTsKCgoK CgoKCgoKK30KCgoKCgoKCgoKKwoKCgoKCgoKCgovKiBBZGQgb25lIGZ1bmN0aW9uIGluc3RhbmNl IGZvciBHUk9VUCwgdXNpbmcgb3BlcmFuZCBzdWZmaXggYXQgaW5kZXggT0ksCgoKCgoKCgoKCsKg IMKgIG1vZGUgc3VmZml4IGF0IGluZGV4IFBBSVIgJiYgYmkgYW5kIHByZWRpY2F0aW9uIHN1ZmZp eCBhdCBpbmRleCBwcmVkX2lkeC7CoCAqLwoKCgoKCgoKCgpzdGF0aWMgdm9pZAoKCgoKCgoKCgpA QCAtNDksNiArNjgsMTAgQEAgYnVpbGRfb25lIChmdW5jdGlvbl9idWlsZGVyICZiLCBjb25zdCBm dW5jdGlvbl9ncm91cF9pbmZvICZncm91cCwKCgoKCgoKCgoKwqAgwqAgZ3JvdXAub3BzX2luZm9z LnR5cGVzW3ZlY190eXBlX2lkeF0uaW5kZXgpOwoKCgoKCgoKCgrCoCBiLmFsbG9jYXRlX2FyZ3Vt ZW50X3R5cGVzIChmdW5jdGlvbl9pbnN0YW5jZSwgYXJndW1lbnRfdHlwZXMpOwoKCgoKCgoKCgrC oCBiLmFwcGx5X3ByZWRpY2F0aW9uIChmdW5jdGlvbl9pbnN0YW5jZSwgcmV0dXJuX3R5cGUsIGFy Z3VtZW50X3R5cGVzKTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgaWYgKFRBUkdFVF9YVEhFQURW RUNUT1IgJiYgIWNoZWNrX3R5cGUgKHJldHVybl90eXBlLCBhcmd1bWVudF90eXBlcykpCgoKCgoK CgoKCivCoCDCoCByZXR1cm47CgoKCgoKCgoKCisKCgoKCgoKCgoKwqAgYi5hZGRfb3ZlcmxvYWRl ZF9mdW5jdGlvbiAoZnVuY3Rpb25faW5zdGFuY2UsICpncm91cC5zaGFwZSk7CgoKCgoKCgoKCsKg IGIuYWRkX3VuaXF1ZV9mdW5jdGlvbiAoZnVuY3Rpb25faW5zdGFuY2UsICgqZ3JvdXAuc2hhcGUp LCByZXR1cm5fdHlwZSwKCgoKCgoKCgoKYXJndW1lbnRfdHlwZXMpOwoKCgoKCgoKCgpkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MgYi9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5jYwoKCgoKCgoKCgppbmRleCA0ZTJjNjZj MmRlNy4uZjVmOTAwMGQ4OWMgMTAwNjQ0CgoKCgoKCgoKCi0tLSBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmNjCgoKCgoKCgoKCisrKyBiL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmNjCgoKCgoKCgoKCkBAIC01MSw2ICs1MSw3IEBACgoKCgoK CgoKCiNpbmNsdWRlICJyaXNjdi12ZWN0b3ItYnVpbHRpbnMuaCIKCgoKCgoKCgoKI2luY2x1ZGUg InJpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFwZXMuaCIKCgoKCgoKCgoKI2luY2x1ZGUgInJpc2N2 LXZlY3Rvci1idWlsdGlucy1iYXNlcy5oIgoKCgoKCgoKCgorI2luY2x1ZGUgInRoZWFkLXZlY3Rv ci1idWlsdGlucy5oIgoKCgoKCgoKCgp1c2luZyBuYW1lc3BhY2UgcmlzY3ZfdmVjdG9yOwoKCgoK CgoKCgpAQCAtMjY4Nyw2ICsyNjg4LDEyIEBAIHN0YXRpYyBmdW5jdGlvbl9ncm91cF9pbmZvIGZ1 bmN0aW9uX2dyb3Vwc1tdID0gewoKCgoKCgoKCgojZGVmaW5lIERFRl9SVlZfRlVOQ1RJT04oTkFN RSwgU0hBUEUsIFBSRURTLCBPUFNfSU5GTykgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgXAoKCgoKCgoKCgrCoCB7I05BTUUsICZiYXNlczo6TkFNRSwgJnNoYXBlczo6U0hBUEUs IFBSRURTLCBPUFNfSU5GTywgUkVRVUlSRURfRVhURU5TSU9OU30sCgoKCgoKCgoKCiNpbmNsdWRl ICJyaXNjdi12ZWN0b3ItYnVpbHRpbnMtZnVuY3Rpb25zLmRlZiIKCgoKCgoKCgoKKyN1bmRlZiBE RUZfUlZWX0ZVTkNUSU9OCgoKCgoKCgoKCisjZGVmaW5lIERFRl9SVlZfRlVOQ1RJT04oTkFNRSwg U0hBUEUsIFBSRURTLCBPUFNfSU5GTykgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgXAoKCgoKCgoKCgorwqAgeyNOQU1FLCAmYmFzZXM6Ok5BTUUsICZzaGFwZXM6OlNIQVBFLCBQ UkVEUywgT1BTX0lORk8sIFJFUVVJUkVEX0VYVEVOU0lPTlN9LAoKCgoKCgoKCgorI2RlZmluZSBE RUZfVEhFQURfUlZWX0ZVTkNUSU9OKE5BTUUsIEJBU0UsIFNIQVBFLCBQUkVEUywgT1BTX0lORk8p IMKgIMKgIMKgIMKgIMKgIMKgIFwKCgoKCgoKCgoKK8KgIHsjTkFNRSwgJmJhc2VzOjpCQVNFLCAm c2hhcGVzOjpTSEFQRSwgUFJFRFMsIE9QU19JTkZPLCBSRVFVSVJFRF9FWFRFTlNJT05TfSwKCgoK CgoKCgoKKyNpbmNsdWRlICJ0aGVhZC12ZWN0b3ItYnVpbHRpbnMtZnVuY3Rpb25zLmRlZiIKCgoK CgoKCgoKfTsKCgoKCgoKCgoKLyogVGhlIFJWViB0eXBlcywgd2l0aCB0aGVpciBidWlsdC1pbgoK CgoKCgoKCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRp bnMuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmgKCgoKCgoKCgoK aW5kZXggNGYzOGMwOWQ3M2QuLmJiNDYzNTEwZGQyIDEwMDY0NAoKCgoKCgoKCgotLS0gYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5oCgoKCgoKCgoKCisrKyBiL2djYy9j b25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmgKCgoKCgoKCgoKQEAgLTEyMyw2ICsx MjMsNyBAQCBlbnVtIHJlcXVpcmVkX2V4dAoKCgoKCgoKCgrCoCBaVktOSEJfRVhULMKgIC8qIENy eXB0byB2ZWN0b3IgWnZrbmhiIHN1Yi1leHQgKi8KCgoKCgoKCgoKwqAgWlZLU0VEX0VYVCzCoCAv KiBDcnlwdG8gdmVjdG9yIFp2a3NlZCBzdWItZXh0ICovCgoKCgoKCgoKCsKgIFpWS1NIX0VYVCwg wqAgLyogQ3J5cHRvIHZlY3RvciBadmtzaCBzdWItZXh0ICovCgoKCgoKCgoKCivCoCBYVEhFQURW RUNUT1JfRVhULCDCoCAvKiBYVGhlYWRWZWN0b3IgZXh0ZW5zaW9uICovCgoKCgoKCgoKCn07CgoK CgoKCgoKCi8qIEVudW1lcmF0ZXMgdGhlIFJWViBvcGVyYW5kIHR5cGVzLsKgICovCgoKCgoKCgoK CkBAIC0yMzMsNyArMjM0LDcgQEAgc3RydWN0IGZ1bmN0aW9uX2dyb3VwX2luZm8KCgoKCgoKCgoK wqAgwqAgc3dpdGNoIChleHRfdmFsdWUpCgoKCgoKCgoKCsKgIMKgIHsKCgoKCgoKCgoKwqAgwqAg wqAgY2FzZSBWRUNUT1JfRVhUOgoKCgoKCgoKCgotwqAgwqAgwqAgwqAgcmV0dXJuIFRBUkdFVF9W RUNUT1I7CgoKCgoKCgoKCisgcmV0dXJuIChUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFE VkVDVE9SKTsKCgoKCgoKCgoKwqAgwqAgwqAgY2FzZSBaVkJCX0VYVDoKCgoKCgoKCgoKwqAgwqAg wqAgwqAgcmV0dXJuIFRBUkdFVF9aVkJCOwoKCgoKCgoKCgrCoCDCoCDCoCBjYXNlIFpWQkJfT1Jf WlZLQl9FWFQ6CgoKCgoKCgoKCkBAIC0yNTIsNiArMjUzLDggQEAgc3RydWN0IGZ1bmN0aW9uX2dy b3VwX2luZm8KCgoKCgoKCgoKwqAgwqAgwqAgwqAgcmV0dXJuIFRBUkdFVF9aVktTRUQ7CgoKCgoK CgoKCsKgIMKgIMKgIGNhc2UgWlZLU0hfRVhUOgoKCgoKCgoKCgrCoCDCoCDCoCDCoCByZXR1cm4g VEFSR0VUX1pWS1NIOwoKCgoKCgoKCgorwqAgwqAgwqAgY2FzZSBYVEhFQURWRUNUT1JfRVhUOgoK CgoKCgoKCgorIHJldHVybiBUQVJHRVRfWFRIRUFEVkVDVE9SOwoKCgoKCgoKCgrCoCDCoCDCoCBk ZWZhdWx0OgoKCgoKCgoKCgrCoCDCoCDCoCDCoCBnY2NfdW5yZWFjaGFibGUgKCk7CgoKCgoKCgoK CsKgIMKgIH0KCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLXN3aXRjaC5kZWYgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0Y2guZGVm CgoKCgoKCgoKCmluZGV4IDVjOWY5YmNiYzNlLi5mN2E2NmIzNGJhZSAxMDA2NDQKCgoKCgoKCgoK LS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3Itc3dpdGNoLmRlZgoKCgoKCgoKCgor KysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0Y2guZGVmCgoKCgoKCgoKCkBA IC02OCw5ICs2OCw5IEBAIEVuY29kZSB0aGUgcmF0aW8gb2YgU0VXL0xNVUwgaW50byB0aGUgbWFz ayB0eXBlcy4KCgoKCgoKCgoKI2VuZGlmCgoKCgoKCgoKCi8qIERpc2FibGUgbW9kZXMgaWYgVEFS R0VUX01JTl9WTEVOID09IDMyLsKgICovCgoKCgoKCgoKCi1FTlRSWSAoUlZWTUY2NEJJLCBUQVJH RVRfTUlOX1ZMRU4gPiAzMiwgTE1VTF9GOCwgNjQpCgoKCgoKCgoKCi1FTlRSWSAoUlZWTUYzMkJJ LCB0cnVlLCBMTVVMX0Y0LCAzMikKCgoKCgoKCgoKLUVOVFJZIChSVlZNRjE2QkksIHRydWUsIExN VUxfRjIsIDE2KQoKCgoKCgoKCgorRU5UUlkgKFJWVk1GNjRCSSwgVEFSR0VUX01JTl9WTEVOID4g MzIsIFRBUkdFVF9YVEhFQURWRUNUT1IgPyBMTVVMXzEgOkxNVUxfRjgsIDY0KQoKCgoKCgoKCgor RU5UUlkgKFJWVk1GMzJCSSwgdHJ1ZSwgVEFSR0VUX1hUSEVBRFZFQ1RPUiA/IExNVUxfMSA6TE1V TF9GNCwgMzIpCgoKCgoKCgoKCitFTlRSWSAoUlZWTUYxNkJJLCB0cnVlLCBUQVJHRVRfWFRIRUFE VkVDVE9SID8gTE1VTF8xIDogTE1VTF9GMiAsIDE2KQoKCgoKCgoKCgpFTlRSWSAoUlZWTUY4Qkks IHRydWUsIExNVUxfMSwgOCkKCgoKCgoKCgoKRU5UUlkgKFJWVk1GNEJJLCB0cnVlLCBMTVVMXzIs IDQpCgoKCgoKCgoKCkVOVFJZIChSVlZNRjJCSSwgdHJ1ZSwgTE1VTF80LCAyKQoKCgoKCgoKCgpA QCAtODEsMzkgKzgxLDM5IEBAIEVOVFJZIChSVlZNOFFJLCB0cnVlLCBMTVVMXzgsIDEpCgoKCgoK CgoKCkVOVFJZIChSVlZNNFFJLCB0cnVlLCBMTVVMXzQsIDIpCgoKCgoKCgoKCkVOVFJZIChSVlZN MlFJLCB0cnVlLCBMTVVMXzIsIDQpCgoKCgoKCgoKCkVOVFJZIChSVlZNMVFJLCB0cnVlLCBMTVVM XzEsIDgpCgoKCgoKCgoKCi1FTlRSWSAoUlZWTUYyUUksIHRydWUsIExNVUxfRjIsIDE2KQoKCgoK CgoKCgotRU5UUlkgKFJWVk1GNFFJLCB0cnVlLCBMTVVMX0Y0LCAzMikKCgoKCgoKCgoKLUVOVFJZ IChSVlZNRjhRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIExNVUxfRjgsIDY0KQoKCgoKCgoKCgor RU5UUlkgKFJWVk1GMlFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9GMiwgMTYpCgoKCgoK CgoKCitFTlRSWSAoUlZWTUY0UUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVMX0Y0LCAzMikK CgoKCgoKCgoKK0VOVFJZIChSVlZNRjhRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdF VF9YVEhFQURWRUNUT1IsIExNVUxfRjgsIDY0KQoKCgoKCgoKCgovKiBEaXNhYmxlIG1vZGVzIGlm IFRBUkdFVF9NSU5fVkxFTiA9PSAzMi7CoCAqLwoKCgoKCgoKCgpFTlRSWSAoUlZWTThISSwgdHJ1 ZSwgTE1VTF84LCAyKQoKCgoKCgoKCgpFTlRSWSAoUlZWTTRISSwgdHJ1ZSwgTE1VTF80LCA0KQoK CgoKCgoKCgpFTlRSWSAoUlZWTTJISSwgdHJ1ZSwgTE1VTF8yLCA4KQoKCgoKCgoKCgpFTlRSWSAo UlZWTTFISSwgdHJ1ZSwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLUVOVFJZIChSVlZNRjJISSwgdHJ1 ZSwgTE1VTF9GMiwgMzIpCgoKCgoKCgoKCi1FTlRSWSAoUlZWTUY0SEksIFRBUkdFVF9NSU5fVkxF TiA+IDMyLCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKK0VOVFJZIChSVlZNRjJISSwgIVRBUkdFVF9Y VEhFQURWRUNUT1IsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorRU5UUlkgKFJWVk1GNEhJLCBUQVJH RVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9GNCwgNjQpCgoK CgoKCgoKCi8qIERpc2FibGUgbW9kZXMgaWYgVEFSR0VUX01JTl9WTEVOID09IDMyIG9yICFUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMTYuwqAgKi8KCgoKCgoKCgoKRU5UUlkgKFJWVk04SEYsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8xNiwgTE1VTF84LCAyKQoKCgoKCgoKCgpFTlRSWSAoUlZWTTRIRiwg VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBMTVVMXzQsIDQpCgoKCgoKCgoKCkVOVFJZIChSVlZN MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIExNVUxfMiwgOCkKCgoKCgoKCgoKRU5UUlkg KFJWVk0xSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgTE1VTF8xLCAxNikKCgoKCgoKCgoK LUVOVFJZIChSVlZNRjJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBMTVVMX0YyLCAzMikK CgoKCgoKCgoKLUVOVFJZIChSVlZNRjRIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyLCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKK0VOVFJZIChSVlZNRjJI RiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVM X0YyLCAzMikKCgoKCgoKCgoKK0VOVFJZIChSVlZNRjRIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVM X0Y0LCA2NCkKCgoKCgoKCgoKLyogRGlzYWJsZSBtb2RlcyBpZiBUQVJHRVRfTUlOX1ZMRU4gPT0g MzIuwqAgKi8KCgoKCgoKCgoKRU5UUlkgKFJWVk04U0ksIHRydWUsIExNVUxfOCwgNCkKCgoKCgoK CgoKRU5UUlkgKFJWVk00U0ksIHRydWUsIExNVUxfNCwgOCkKCgoKCgoKCgoKRU5UUlkgKFJWVk0y U0ksIHRydWUsIExNVUxfMiwgMTYpCgoKCgoKCgoKCkVOVFJZIChSVlZNMVNJLCB0cnVlLCBMTVVM XzEsIDMyKQoKCgoKCgoKCgotRU5UUlkgKFJWVk1GMlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwg TE1VTF9GMiwgNjQpCgoKCgoKCgoKCitFTlRSWSAoUlZWTUYyU0ksIFRBUkdFVF9NSU5fVkxFTiA+ IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVMX0YyLCA2NCkKCgoKCgoKCgoKLyogRGlz YWJsZSBtb2RlcyBpZiBUQVJHRVRfTUlOX1ZMRU4gPT0gMzIgb3IgIVRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8zMi7CoCAqLwoKCgoKCgoKCgpFTlRSWSAoUlZWTThTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyLCBMTVVMXzgsIDQpCgoKCgoKCgoKCkVOVFJZIChSVlZNNFNGLCBUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMzIsIExNVUxfNCwgOCkKCgoKCgoKCgoKRU5UUlkgKFJWVk0yU0YsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8zMiwgTE1VTF8yLCAxNikKCgoKCgoKCgoKRU5UUlkgKFJWVk0xU0YsIFRB UkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF8xLCAzMikKCgoKCgoKCgoKLUVOVFJZIChSVlZN RjJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBM TVVMX0YyLCA2NCkKCgoKCgoKCgoKK0VOVFJZIChSVlZNRjJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBM TVVMX0YyLCA2NCkKCgoKCgoKCgoKLyogRGlzYWJsZSBtb2RlcyBpZiAhVEFSR0VUX1ZFQ1RPUl9F TEVOXzY0LsKgICovCgoKCgoKCgoKCkVOVFJZIChSVlZNOERJLCBUQVJHRVRfVkVDVE9SX0VMRU5f NjQsIExNVUxfOCwgOCkKCgoKCgoKCgoKQEAgLTE0MCwxMjcgKzE0MCwxMjcgQEAgRU5UUlkgKFJW Vk0xREYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCwgTE1VTF8xLCA2NCkKCgoKCgoKCgoKI2Vu ZGlmCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg4UUksIHRydWUsIFJWVk0xUUksIDgsIExN VUxfMSwgOCkKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4OFFJLCB0cnVlLCBSVlZNRjJR SSwgOCwgTE1VTF9GMiwgMTYpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDhRSSwgdHJ1 ZSwgUlZWTUY0UUksIDgsIExNVUxfRjQsIDMyKQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1G OHg4UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjhRSSwgOCwgTE1VTF9GOCwgNjQpCgoK CgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUYyeDhRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJW Vk1GMlFJLCA4LCBMTVVMX0YyLCAxNikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjR4OFFJ LCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDgsIExNVUxfRjQsIDMyKQoKCgoKCgoK CgorVFVQTEVfRU5UUlkgKFJWVk1GOHg4UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgOCwgTE1VTF9GOCwgNjQpCgoKCgoKCgoKClRVUExF X0VOVFJZIChSVlZNMXg3UUksIHRydWUsIFJWVk0xUUksIDcsIExNVUxfMSwgOCkKCgoKCgoKCgoK LVRVUExFX0VOVFJZIChSVlZNRjJ4N1FJLCB0cnVlLCBSVlZNRjJRSSwgNywgTE1VTF9GMiwgMTYp CgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDdRSSwgdHJ1ZSwgUlZWTUY0UUksIDcsIExN VUxfRjQsIDMyKQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GOHg3UUksIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjhRSSwgNywgTE1VTF9GOCwgNjQpCgoKCgoKCgoKCitUVVBMRV9FTlRS WSAoUlZWTUYyeDdRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJLCA3LCBMTVVMX0Yy LCAxNikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjR4N1FJLCAhVEFSR0VUX1hUSEVBRFZF Q1RPUiwgUlZWTUY0UUksIDcsIExNVUxfRjQsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJW Vk1GOHg3UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBS VlZNRjhRSSwgNywgTE1VTF9GOCwgNjQpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg2UUks IHRydWUsIFJWVk0xUUksIDYsIExNVUxfMSwgOCkKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZN RjJ4NlFJLCB0cnVlLCBSVlZNRjJRSSwgNiwgTE1VTF9GMiwgMTYpCgoKCgoKCgoKCi1UVVBMRV9F TlRSWSAoUlZWTUY0eDZRSSwgdHJ1ZSwgUlZWTUY0UUksIDYsIExNVUxfRjQsIDMyKQoKCgoKCgoK CgotVFVQTEVfRU5UUlkgKFJWVk1GOHg2UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjhR SSwgNiwgTE1VTF9GOCwgNjQpCgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUYyeDZRSSwgIVRB UkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJLCA2LCBMTVVMX0YyLCAxNikKCgoKCgoKCgoKK1RV UExFX0VOVFJZIChSVlZNRjR4NlFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDYs IExNVUxfRjQsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GOHg2UUksIFRBUkdFVF9N SU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgNiwgTE1VTF9G OCwgNjQpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg1UUksIHRydWUsIFJWVk0xUUksIDUs IExNVUxfMSwgOCkKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4NVFJLCB0cnVlLCBSVlZN RjJRSSwgNSwgTE1VTF9GMiwgMTYpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDVRSSwg dHJ1ZSwgUlZWTUY0UUksIDUsIExNVUxfRjQsIDMyKQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJW Vk1GOHg1UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjhRSSwgNSwgTE1VTF9GOCwgNjQp CgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GMlFJLCA1LCBMTVVMX0YyLCAxNikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjR4 NVFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDUsIExNVUxfRjQsIDMyKQoKCgoK CgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GOHg1UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFU QVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgNSwgTE1VTF9GOCwgNjQpCgoKCgoKCgoKClRV UExFX0VOVFJZIChSVlZNMng0UUksIHRydWUsIFJWVk0yUUksIDQsIExNVUxfMiwgNCkKCgoKCgoK CgoKVFVQTEVfRU5UUlkgKFJWVk0xeDRRSSwgdHJ1ZSwgUlZWTTFRSSwgNCwgTE1VTF8xLCA4KQoK CgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GMng0UUksIHRydWUsIFJWVk1GMlFJLCA0LCBMTVVM X0YyLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjR4NFFJLCB0cnVlLCBSVlZNRjRR SSwgNCwgTE1VTF9GNCwgMzIpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDRRSSwgVEFS R0VUX01JTl9WTEVOID4gMzIsIFJWVk1GOFFJLCA0LCBMTVVMX0Y4LCA2NCkKCgoKCgoKCgoKK1RV UExFX0VOVFJZIChSVlZNRjJ4NFFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyUUksIDQs IExNVUxfRjIsIDE2KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GNHg0UUksICFUQVJHRVRf WFRIRUFEVkVDVE9SLCBSVlZNRjRRSSwgNCwgTE1VTF9GNCwgMzIpCgoKCgoKCgoKCitUVVBMRV9F TlRSWSAoUlZWTUY4eDRRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURW RUNUT1IsIFJWVk1GOFFJLCA0LCBMTVVMX0Y4LCA2NCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJW Vk0yeDNRSSwgdHJ1ZSwgUlZWTTJRSSwgMywgTE1VTF8yLCA0KQoKCgoKCgoKCgpUVVBMRV9FTlRS WSAoUlZWTTF4M1FJLCB0cnVlLCBSVlZNMVFJLCAzLCBMTVVMXzEsIDgpCgoKCgoKCgoKCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDNRSSwgdHJ1ZSwgUlZWTUYyUUksIDMsIExNVUxfRjIsIDE2KQoKCgoK CgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GNHgzUUksIHRydWUsIFJWVk1GNFFJLCAzLCBMTVVMX0Y0 LCAzMikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjh4M1FJLCBUQVJHRVRfTUlOX1ZMRU4g PiAzMiwgUlZWTUY4UUksIDMsIExNVUxfRjgsIDY0KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJW Vk1GMngzUUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJRSSwgMywgTE1VTF9GMiwgMTYp CgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUY0eDNRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GNFFJLCAzLCBMTVVMX0Y0LCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjh4 M1FJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY4 UUksIDMsIExNVUxfRjgsIDY0KQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTR4MlFJLCB0cnVl LCBSVlZNNFFJLCAyLCBMTVVMXzQsIDIpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMngyUUks IHRydWUsIFJWVk0yUUksIDIsIExNVUxfMiwgNCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0x eDJRSSwgdHJ1ZSwgUlZWTTFRSSwgMiwgTE1VTF8xLCA4KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkg KFJWVk1GMngyUUksIHRydWUsIFJWVk1GMlFJLCAyLCBMTVVMX0YyLCAxNikKCgoKCgoKCgoKLVRV UExFX0VOVFJZIChSVlZNRjR4MlFJLCB0cnVlLCBSVlZNRjRRSSwgMiwgTE1VTF9GNCwgMzIpCgoK CgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDJRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJW Vk1GOFFJLCAyLCBMTVVMX0Y4LCA2NCkKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4MlFJ LCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyUUksIDIsIExNVUxfRjIsIDE2KQoKCgoKCgoK CgorVFVQTEVfRU5UUlkgKFJWVk1GNHgyUUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRR SSwgMiwgTE1VTF9GNCwgMzIpCgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUY4eDJRSSwgVEFS R0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJLCAyLCBM TVVMX0Y4LCA2NCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDhISSwgdHJ1ZSwgUlZWTTFI SSwgOCwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4OEhJLCB0cnVl LCBSVlZNRjJISSwgOCwgTE1VTF9GMiwgMzIpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY0 eDhISSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCA4LCBMTVVMX0Y0LCA2NCkKCgoK CgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4OEhJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZW TUYySEksIDgsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GNHg4SEks IFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwg OCwgTE1VTF9GNCwgNjQpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg3SEksIHRydWUsIFJW Vk0xSEksIDcsIExNVUxfMSwgMTYpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDdISSwg dHJ1ZSwgUlZWTUYySEksIDcsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJW Vk1GNHg3SEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRISSwgNywgTE1VTF9GNCwgNjQp CgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUYyeDdISSwgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GMkhJLCA3LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjR4 N0hJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0 SEksIDcsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTF4NkhJLCB0cnVl LCBSVlZNMUhJLCA2LCBMTVVMXzEsIDE2KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GMng2 SEksIHRydWUsIFJWVk1GMkhJLCA2LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKLVRVUExFX0VOVFJZ IChSVlZNRjR4NkhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEksIDYsIExNVUxfRjQs IDY0KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMng2SEksICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJISSwgNiwgTE1VTF9GMiwgMzIpCgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZW TUY0eDZISSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJW Vk1GNEhJLCA2LCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDVISSwg dHJ1ZSwgUlZWTTFISSwgNSwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZN RjJ4NUhJLCB0cnVlLCBSVlZNRjJISSwgNSwgTE1VTF9GMiwgMzIpCgoKCgoKCgoKCi1UVVBMRV9F TlRSWSAoUlZWTUY0eDVISSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCA1LCBMTVVM X0Y0LCA2NCkKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4NUhJLCAhVEFSR0VUX1hUSEVB RFZFQ1RPUiwgUlZWTUYySEksIDUsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkg KFJWVk1GNHg1SEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9S LCBSVlZNRjRISSwgNSwgTE1VTF9GNCwgNjQpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMng0 SEksIHRydWUsIFJWVk0ySEksIDQsIExNVUxfMiwgOCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJW Vk0xeDRISSwgdHJ1ZSwgUlZWTTFISSwgNCwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VO VFJZIChSVlZNRjJ4NEhJLCB0cnVlLCBSVlZNRjJISSwgNCwgTE1VTF9GMiwgMzIpCgoKCgoKCgoK Ci1UVVBMRV9FTlRSWSAoUlZWTUY0eDRISSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJ LCA0LCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4NEhJLCAhVEFS R0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEksIDQsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQ TEVfRU5UUlkgKFJWVk1GNHg0SEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRI RUFEVkVDVE9SLCBSVlZNRjRISSwgNCwgTE1VTF9GNCwgNjQpCgoKCgoKCgoKClRVUExFX0VOVFJZ IChSVlZNMngzSEksIHRydWUsIFJWVk0ySEksIDMsIExNVUxfMiwgOCkKCgoKCgoKCgoKVFVQTEVf RU5UUlkgKFJWVk0xeDNISSwgdHJ1ZSwgUlZWTTFISSwgMywgTE1VTF8xLCAxNikKCgoKCgoKCgoK LVRVUExFX0VOVFJZIChSVlZNRjJ4M0hJLCB0cnVlLCBSVlZNRjJISSwgMywgTE1VTF9GMiwgMzIp CgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDNISSwgVEFSR0VUX01JTl9WTEVOID4gMzIs IFJWVk1GNEhJLCAzLCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4 M0hJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEksIDMsIExNVUxfRjIsIDMyKQoKCgoK CgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GNHgzSEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFU QVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwgMywgTE1VTF9GNCwgNjQpCgoKCgoKCgoKClRV UExFX0VOVFJZIChSVlZNNHgySEksIHRydWUsIFJWVk00SEksIDIsIExNVUxfNCwgNCkKCgoKCgoK CgoKVFVQTEVfRU5UUlkgKFJWVk0yeDJISSwgdHJ1ZSwgUlZWTTJISSwgMiwgTE1VTF8yLCA4KQoK CgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTF4MkhJLCB0cnVlLCBSVlZNMUhJLCAyLCBMTVVMXzEs IDE2KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GMngySEksIHRydWUsIFJWVk1GMkhJLCAy LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjR4MkhJLCBUQVJHRVRf TUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEksIDIsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgorVFVQTEVf RU5UUlkgKFJWVk1GMngySEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJISSwgMiwgTE1V TF9GMiwgMzIpCgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUY0eDJISSwgVEFSR0VUX01JTl9W TEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhJLCAyLCBMTVVMX0Y0LCA2 NCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2LCBSVlZNMUhGLCA4LCBMTVVMXzEsIDE2KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1G Mng4SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDgsIExNVUxfRjIsIDMy KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GNHg4SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9G UF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDgsIExNVUxfRjQsIDY0KQoK CgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMng4SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8x NiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEYsIDgsIExNVUxfRjIsIDMyKQoKCgoK CgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GNHg4SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAm JiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYs IDgsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTF4N0hGLCBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDcsIExNVUxfMSwgMTYpCgoKCgoKCgoKCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDdIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNRjJIRiwg NywgTE1VTF9GMiwgMzIpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDdIRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgNywg TE1VTF9GNCwgNjQpCgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUYyeDdIRiwgVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgNywgTE1V TF9GMiwgMzIpCgoKCgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUY0eDdIRiwgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjRIRiwgNywgTE1VTF9GNCwgNjQpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZN MXg2SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTTFIRiwgNiwgTE1VTF8xLCAxNikK CgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4NkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MTYsIFJWVk1GMkhGLCA2LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZN RjR4NkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIs IFJWVk1GNEhGLCA2LCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4 NkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJW Vk1GMkhGLCA2LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjR4NkhG LCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRB UkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhGLCA2LCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKVFVQ TEVfRU5UUlkgKFJWVk0xeDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMUhGLCA1 LCBMTVVMXzEsIDE2KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GMng1SEYsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDUsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgotVFVQ TEVfRU5UUlkgKFJWVk1GNHg1SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRf TUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDUsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgorVFVQTEVf RU5UUlkgKFJWVk1GMng1SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUYySEYsIDUsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5U UlkgKFJWVk1GNHg1SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZM RU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDUsIExNVUxfRjQsIDY0 KQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MTYsIFJWVk0ySEYsIDQsIExNVUxfMiwgOCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDRI RiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMUhGLCA0LCBMTVVMXzEsIDE2KQoKCgoK CgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GMng0SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwg UlZWTUYySEYsIDQsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GNHg0 SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZW TUY0SEYsIDQsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMng0SEYs IFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYy SEYsIDQsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GNHg0SEYsIFRB UkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VU X1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDQsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgpUVVBMRV9F TlRSWSAoUlZWTTJ4M0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0ySEYsIDMsIExN VUxfMiwgOCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDNIRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2LCBSVlZNMUhGLCAzLCBMTVVMXzEsIDE2KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkg KFJWVk1GMngzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDMsIExNVUxf RjIsIDMyKQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GNHgzSEYsIFRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDMsIExNVUxfRjQs IDY0KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMngzSEYsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEYsIDMsIExNVUxfRjIsIDMy KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GNHgzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9G UF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZW TUY0SEYsIDMsIExNVUxfRjQsIDY0KQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTR4MkhGLCBU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk00SEYsIDIsIExNVUxfNCwgNCkKCgoKCgoKCgoK VFVQTEVfRU5UUlkgKFJWVk0yeDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMkhG LCAyLCBMTVVMXzIsIDgpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXgySEYsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiwgUlZWTTFIRiwgMiwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExF X0VOVFJZIChSVlZNRjJ4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk1GMkhGLCAy LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjR4MkhGLCBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhGLCAyLCBM TVVMX0Y0LCA2NCkKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4MkhGLCBUQVJHRVRfVkVD VE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhGLCAyLCBMTVVM X0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjR4MkhGLCBUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNU T1IsIFJWVk1GNEhGLCAyLCBMTVVMX0Y0LCA2NCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0x eDhTSSwgdHJ1ZSwgUlZWTTFTSSwgOCwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZ IChSVlZNRjJ4OFNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDgsIExNVUxfRjIs IDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMng4U0ksIChUQVJHRVRfTUlOX1ZMRU4g PiAzMikgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCA4LCBMTVVMX0YyLCAzMikK CgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDdTSSwgdHJ1ZSwgUlZWTTFTSSwgNywgTE1VTF8x LCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4N1NJLCBUQVJHRVRfTUlOX1ZMRU4g PiAzMiwgUlZWTUYyU0ksIDcsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJW Vk1GMng3U0ksIChUQVJHRVRfTUlOX1ZMRU4gPiAzMikgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GMlNJLCA3LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0xeDZT SSwgdHJ1ZSwgUlZWTTFTSSwgNiwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChS VlZNRjJ4NlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDYsIExNVUxfRjIsIDMy KQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMng2U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMy ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgNiwgTE1VTF9GMiwgMzIpCgoKCgoK CgoKClRVUExFX0VOVFJZIChSVlZNMXg1U0ksIHRydWUsIFJWVk0xU0ksIDUsIExNVUxfMSwgMTYp CgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDVTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIs IFJWVk1GMlNJLCA1LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4 NVNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYy U0ksIDUsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTJ4NFNJLCB0cnVl LCBSVlZNMlNJLCA0LCBMTVVMXzIsIDgpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg0U0ks IHRydWUsIFJWVk0xU0ksIDQsIExNVUxfMSwgMTYpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZW TUYyeDRTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCA0LCBMTVVMX0YyLCAzMikK CgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4NFNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAm JiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0ksIDQsIExNVUxfRjIsIDMyKQoKCgoKCgoK CgpUVVBMRV9FTlRSWSAoUlZWTTJ4M1NJLCB0cnVlLCBSVlZNMlNJLCAzLCBMTVVMXzIsIDgpCgoK CgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXgzU0ksIHRydWUsIFJWVk0xU0ksIDMsIExNVUxfMSwg MTYpCgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDNTSSwgVEFSR0VUX01JTl9WTEVOID4g MzIsIFJWVk1GMlNJLCAzLCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZN RjJ4M1NJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZW TUYyU0ksIDMsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTR4MlNJLCB0 cnVlLCBSVlZNNFNJLCAyLCBMTVVMXzQsIDQpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMngy U0ksIHRydWUsIFJWVk0yU0ksIDIsIExNVUxfMiwgOCkKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJW Vk0xeDJTSSwgdHJ1ZSwgUlZWTTFTSSwgMiwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VO VFJZIChSVlZNRjJ4MlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDIsIExNVUxf RjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMngyU0ksIFRBUkdFVF9NSU5fVkxF TiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgMiwgTE1VTF9GMiwgMzIp CgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg4U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiwgUlZWTTFTRiwgOCwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4 OFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJW Vk1GMlNGLCA4LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4OFNG LCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRB UkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNGLCA4LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKVFVQ TEVfRU5UUlkgKFJWVk0xeDdTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMVNGLCA3 LCBMTVVMXzEsIDE2KQoKCgoKCgoKCgotVFVQTEVfRU5UUlkgKFJWVk1GMng3U0YsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0YsIDcsIExN VUxfRjIsIDMyKQoKCgoKCgoKCgorVFVQTEVfRU5UUlkgKFJWVk1GMng3U0YsIFRBUkdFVF9WRUNU T1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZF Q1RPUiwgUlZWTUYyU0YsIDcsIExNVUxfRjIsIDMyKQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZW TTF4NlNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDYsIExNVUxfMSwgMTYp CgoKCgoKCgoKCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDZTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgNiwgTE1VTF9GMiwgMzIpCgoK CgoKCgoKCitUVVBMRV9FTlRSWSAoUlZWTUYyeDZTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMy ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJT RiwgNiwgTE1VTF9GMiwgMzIpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg1U0YsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTFTRiwgNSwgTE1VTF8xLCAxNikKCgoKCgoKCgoKLVRV UExFX0VOVFJZIChSVlZNRjJ4NVNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VU X01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCA1LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKK1RVUExF X0VOVFJZIChSVlZNRjJ4NVNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01J Tl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNGLCA1LCBMTVVMX0Yy LCAzMikKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0yeDRTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyLCBSVlZNMlNGLCA0LCBMTVVMXzIsIDgpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZN MXg0U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTFTRiwgNCwgTE1VTF8xLCAxNikK CgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4NFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCA0LCBMTVVMX0YyLCAzMikKCgoK CgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4NFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIg JiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNG LCA0LCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk0yeDNTRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMlNGLCAzLCBMTVVMXzIsIDgpCgoKCgoKCgoKClRVUExF X0VOVFJZIChSVlZNMXgzU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTFTRiwgMywg TE1VTF8xLCAxNikKCgoKCgoKCgoKLVRVUExFX0VOVFJZIChSVlZNRjJ4M1NGLCBUQVJHRVRfVkVD VE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCAzLCBMTVVM X0YyLCAzMikKCgoKCgoKCgoKK1RVUExFX0VOVFJZIChSVlZNRjJ4M1NGLCBUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNU T1IsIFJWVk1GMlNGLCAzLCBMTVVMX0YyLCAzMikKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJWVk00 eDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNNFNGLCAyLCBMTVVMXzQsIDQpCgoK CgoKCgoKClRVUExFX0VOVFJZIChSVlZNMngyU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwg UlZWTTJTRiwgMiwgTE1VTF8yLCA4KQoKCgoKCgoKCgpUVVBMRV9FTlRSWSAoUlZWTTF4MlNGLCBU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDIsIExNVUxfMSwgMTYpCgoKCgoKCgoK Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgMiwgTE1VTF9GMiwgMzIpCgoKCgoKCgoKCitU VVBMRV9FTlRSWSAoUlZWTUYyeDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdF VF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgMiwgTE1V TF9GMiwgMzIpCgoKCgoKCgoKClRVUExFX0VOVFJZIChSVlZNMXg4REksIFRBUkdFVF9WRUNUT1Jf RUxFTl82NCwgUlZWTTFESSwgOCwgTE1VTF8xLCAxNikKCgoKCgoKCgoKVFVQTEVfRU5UUlkgKFJW Vk0xeDdESSwgVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0LCBSVlZNMURJLCA3LCBMTVVMXzEsIDE2KQoK CgoKCgoKCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYyBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3YuY2MKCgoKCgoKCgoKaW5kZXggZDMwMTBiZWQ4ZDguLjE4Y2M2NGI2M2U2 IDEwMDY0NAoKCgoKCgoKCgotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCgoKCgoKCgoK CisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKCgoKCgoKCgoKQEAgLTEzODksNiArMTM4 OSw5IEBAIHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplIChtYWNoaW5lX21vZGUgbW9kZSwgaW50IHNj YWxlKQoKCgoKCgoKCgp7CgoKCgoKCgoKCsKgIGlmIChyaXNjdl92X2V4dF92ZWN0b3JfbW9kZV9w IChtb2RlKSkKCgoKCgoKCgoKwqAgwqAgewoKCgoKCgoKCgorwqAgwqAgwqAgaWYgKFRBUkdFVF9Y VEhFQURWRUNUT1IpCgoKCgoKCgoKCisgcmV0dXJuIEJZVEVTX1BFUl9SSVNDVl9WRUNUT1I7CgoK CgoKCgoKCisKCgoKCgoKCgoKwqAgwqAgwqAgcG9seV9pbnQ2NCBudW5pdHMgPSBHRVRfTU9ERV9O VU5JVFMgKG1vZGUpOwoKCgoKCgoKCgrCoCDCoCDCoCBwb2x5X2ludDY0IG1vZGVfc2l6ZSA9IEdF VF9NT0RFX1NJWkUgKG1vZGUpOwoKCgoKCgoKCgpAQCAtOTg4OCw3ICs5ODkxLDcgQEAgcmlzY3Zf dXNlX2Rpdm1vZF9leHBhbmRlciAodm9pZCkKCgoKCgoKCgoKc3RhdGljIG1hY2hpbmVfbW9kZQoK CgoKCgoKCgpyaXNjdl9wcmVmZXJyZWRfc2ltZF9tb2RlIChzY2FsYXJfbW9kZSBtb2RlKQoKCgoK CgoKCgp7CgoKCgoKCgoKCi3CoCBpZiAoVEFSR0VUX1ZFQ1RPUikKCgoKCgoKCgoKK8KgIGlmIChU QVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SKQoKCgoKCgoKCgrCoCDCoCByZXR1 cm4gcmlzY3ZfdmVjdG9yOjpwcmVmZXJyZWRfc2ltZF9tb2RlIChtb2RlKTsKCgoKCgoKCgoKwqAg cmV0dXJuIHdvcmRfbW9kZTsKCgoKCgoKCgoKQEAgLTEwMjM5LDcgKzEwMjQyLDcgQEAgcmlzY3Zf bW9kZV9wcmlvcml0eSAoaW50LCBpbnQgbikKCgoKCgoKCgoKdW5zaWduZWQgaW50CgoKCgoKCgoK CnJpc2N2X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzICh2ZWN0b3JfbW9kZXMgKm1vZGVzLCBi b29sIGFsbCkKCgoKCgoKCgoKewoKCgoKCgoKCgotwqAgaWYgKFRBUkdFVF9WRUNUT1IpCgoKCgoK CgoKCivCoCBpZiAoVEFSR0VUX1ZFQ1RPUiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUikKCgoKCgoK CgoKwqAgwqAgcmV0dXJuIHJpc2N2X3ZlY3Rvcjo6YXV0b3ZlY3Rvcml6ZV92ZWN0b3JfbW9kZXMg KG1vZGVzLCBhbGwpOwoKCgoKCgoKCgrCoCByZXR1cm4gZGVmYXVsdF9hdXRvdmVjdG9yaXplX3Zl Y3Rvcl9tb2RlcyAobW9kZXMsIGFsbCk7CgoKCgoKCgoKCkBAIC0xMDQyMiw2ICsxMDQyNSwxNiBA QCBleHRyYWN0X2Jhc2Vfb2Zmc2V0X2luX2FkZHIgKHJ0eCBtZW0sIHJ0eCAqYmFzZSwgcnR4ICpv ZmZzZXQpCgoKCgoKCgoKCsKgIHJldHVybiBmYWxzZTsKCgoKCgoKCgoKfQoKCgoKCgoKCgorLyog SW1wbGVtZW50cyB0YXJnZXQgaG9vayB2ZWN0b3JfbW9kZV9zdXBwb3J0ZWRfYW55X3RhcmdldF9w LsKgICovCgoKCgoKCgoKCisKCgoKCgoKCgoKK3N0YXRpYyBib29sCgoKCgoKCgoKCityaXNjdl92 ZWN0b3JfbW9kZV9zdXBwb3J0ZWRfYW55X3RhcmdldF9wIChtYWNoaW5lX21vZGUgbW9kZSkKCgoK CgoKCgoKK3sKCgoKCgoKCgoKK8KgIGlmIChUQVJHRVRfWFRIRUFEVkVDVE9SKQoKCgoKCgoKCgor wqAgwqAgcmV0dXJuIGZhbHNlOwoKCgoKCgoKCgorwqAgcmV0dXJuIHRydWU7CgoKCgoKCgoKCit9 CgoKCgoKCgoKCisKCgoKCgoKCgoKLyogSW5pdGlhbGl6ZSB0aGUgR0NDIHRhcmdldCBzdHJ1Y3R1 cmUuwqAgKi8KCgoKCgoKCgoKI3VuZGVmIFRBUkdFVF9BU01fQUxJR05FRF9ISV9PUAoKCgoKCgoK CgojZGVmaW5lIFRBUkdFVF9BU01fQUxJR05FRF9ISV9PUCAiXHQuaGFsZlx0IgoKCgoKCgoKCgpA QCAtMTA3NjUsNiArMTA3NzgsOSBAQCBleHRyYWN0X2Jhc2Vfb2Zmc2V0X2luX2FkZHIgKHJ0eCBt ZW0sIHJ0eCAqYmFzZSwgcnR4ICpvZmZzZXQpCgoKCgoKCgoKCiN1bmRlZiBUQVJHRVRfUFJFRkVS UkVEX0VMU0VfVkFMVUUKCgoKCgoKCgoKI2RlZmluZSBUQVJHRVRfUFJFRkVSUkVEX0VMU0VfVkFM VUUgcmlzY3ZfcHJlZmVycmVkX2Vsc2VfdmFsdWUKCgoKCgoKCgoKKyN1bmRlZiBUQVJHRVRfVkVD VE9SX01PREVfU1VQUE9SVEVEX0FOWV9UQVJHRVRfUAoKCgoKCgoKCgorI2RlZmluZSBUQVJHRVRf VkVDVE9SX01PREVfU1VQUE9SVEVEX0FOWV9UQVJHRVRfUCByaXNjdl92ZWN0b3JfbW9kZV9zdXBw b3J0ZWRfYW55X3RhcmdldF9wCgoKCgoKCgoKCisKCgoKCgoKCgoKc3RydWN0IGdjY190YXJnZXQg dGFyZ2V0bSA9IFRBUkdFVF9JTklUSUFMSVpFUjsKCgoKCgoKCgoKI2luY2x1ZGUgImd0LXJpc2N2 LmgiCgoKCgoKCgoKCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2X3RoX3ZlY3Rv ci5oIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90aF92ZWN0b3IuaAoKCgoKCgoKCgpuZXcgZmls ZSBtb2RlIDEwMDY0NAoKCgoKCgoKCgppbmRleCAwMDAwMDAwMDAwMC4uNmY0N2UwYzkwYTQKCgoK CgoKCgoKLS0tIC9kZXYvbnVsbAoKCgoKCgoKCgorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 X3RoX3ZlY3Rvci5oCgoKCgoKCgoKCkBAIC0wLDAgKzEsNDkgQEAKCgoKCgoKCgoKKy8qIFJJU0Mt ViAnWFRoZWFkVmVjdG9yJyBFeHRlbnNpb24gaW50cmluc2ljcyBpbmNsdWRlIGZpbGUuCgoKCgoK CgoKCisgwqAgQ29weXJpZ2h0IChDKSAyMDIyLTIwMjMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCgoKCgoKCgoKCisKCgoKCgoKCgoKKyDCoCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHQ0Mu CgoKCgoKCgoKCisKCgoKCgoKCgoKKyDCoCBHQ0MgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAoKCgoKCgoKCgorIMKgIHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkCgoKCgoK CgoKCisgwqAgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g Mywgb3IgKGF0IHlvdXIKCgoKCgoKCgoKKyDCoCBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoK CgoKCgoKCgorCgoKCgoKCgoKCisgwqAgR0NDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCgoKCgoKCgoKCisgwqAgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ CgoKCgoKCgoKCisgwqAgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuwqAgU2Vl IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKCgoKCgoKCgoKKyDCoCBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCgoKCgoKCgoKCisKCgoKCgoKCgoKKyDCoCBVbmRlciBTZWN0aW9uIDcgb2YgR1BMIHZl cnNpb24gMywgeW91IGFyZSBncmFudGVkIGFkZGl0aW9uYWwKCgoKCgoKCgoKKyDCoCBwZXJtaXNz aW9ucyBkZXNjcmliZWQgaW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uLCB2ZXJz aW9uCgoKCgoKCgoKCisgwqAgMy4xLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbi4KCgoKCgoKCgoKKwoKCgoKCgoKCgorIMKgIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFuZAoKCgoKCgoK CgorIMKgIGEgY29weSBvZiB0aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRpb24gYWxvbmcg d2l0aCB0aGlzIHByb2dyYW07CgoKCgoKCgoKCisgwqAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBh bmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS7CoCBJZiBub3QsIHNlZQoKCgoKCgoKCgor IMKgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi7CoCAqLwoKCgoKCgoKCgorCgoKCgoK CgoKCisjaWZuZGVmIF9fUklTQ1ZfVEhfVkVDVE9SX0gKCgoKCgoKCgoKKyNkZWZpbmUgX19SSVND Vl9USF9WRUNUT1JfSAoKCgoKCgoKCgorCgoKCgoKCgoKCisjaW5jbHVkZSA8c3RkaW50Lmg+CgoK CgoKCgoKCisjaW5jbHVkZSA8c3RkZGVmLmg+CgoKCgoKCgoKCisKCgoKCgoKCgoKKyNpZm5kZWYg X19yaXNjdl94dGhlYWR2ZWN0b3IKCgoKCgoKCgoKKyNlcnJvciAiWFRoZWFkVmVjdG9yIGludHJp bnNpY3MgcmVxdWlyZSB0aGUgeHRoZWFkdmVjdG9yIGV4dGVuc2lvbi4iCgoKCgoKCgoKCisjZWxz ZQoKCgoKCgoKCgorI2lmZGVmIF9fY3BsdXNwbHVzCgoKCgoKCgoKCitleHRlcm4gIkMiIHsKCgoK CgoKCgoKKyNlbmRpZgoKCgoKCgoKCgorCgoKCgoKCgoKCisvKiBOT1RFOiBUaGlzIGltcGxlbWVu dGF0aW9uIG9mIHJpc2N2X3RoX3ZlY3Rvci5oIGlzIGludGVudGlvbmFsbHkgc2hvcnQuwqAgSXQg ZG9lcwoKCgoKCgoKCgorIMKgIG5vdCBkZWZpbmUgdGhlIFJWViB0eXBlcyBhbmQgaW50cmluc2lj IGZ1bmN0aW9ucyBkaXJlY3RseSBpbiBDIGFuZCBDKysKCgoKCgoKCgoKKyDCoCBjb2RlLCBidXQg aW5zdGVhZCB1c2VzIHRoZSBmb2xsb3dpbmcgcHJhZ21hIHRvIHRlbGwgR0NDIHRvIGluc2VydCB0 aGUKCgoKCgoKCgoKKyDCoCBuZWNlc3NhcnkgdHlwZSBhbmQgZnVuY3Rpb24gZGVmaW5pdGlvbnMg aXRzZWxmLsKgIFRoZSBuZXQgZWZmZWN0IGlzIHRoZQoKCgoKCgoKCgorIMKgIHNhbWUsIGFuZCB0 aGUgZmlsZSBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIHJpc2N2X3RoX3ZlY3Rvci5o LsKgICovCgoKCgoKCgoKCisjcHJhZ21hIHJpc2N2IGludHJpbnNpYyAidmVjdG9yIgoKCgoKCgoK CgorCgoKCgoKCgoKCisjaWZkZWYgX19jcGx1c3BsdXMKCgoKCgoKCgoKK30KCgoKCgoKCgoKKyNl bmRpZiAvLyBfX2NwbHVzcGx1cwoKCgoKCgoKCgorI2VuZGlmIC8vIF9fcmlzY3ZfeHRoZWFkdmVj dG9yCgoKCgoKCgoKCisjZW5kaWYgLy8gX19SSVNDVl9USF9FQ1RPUl9ICgoKCgoKCgoKCmRpZmYg LS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3QtcmlzY3YgYi9nY2MvY29uZmlnL3Jpc2N2L3Qtcmlz Y3YKCgoKCgoKCgoKaW5kZXggMDY3NzcxZTNjOTcuLjA5NTEyMDkyMDU2IDEwMDY0NAoKCgoKCgoK CgotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3QtcmlzY3YKCgoKCgoKCgoKKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi90LXJpc2N2CgoKCgoKCgoKCkBAIC0yMyw2ICsyMyw4IEBAIHJpc2N2LXZlY3Rvci1i dWlsdGlucy5vOiAkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5j YyBcCgoKCgoKCgoKCsKgICQoc3JjZGlyKS9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0 aW5zLXNoYXBlcy5oIFwKCgoKCgoKCgoKwqAgJChzcmNkaXIpL2NvbmZpZy9yaXNjdi9yaXNjdi12 ZWN0b3ItYnVpbHRpbnMtYmFzZXMuaCBcCgoKCgoKCgoKCsKgICQoc3JjZGlyKS9jb25maWcvcmlz Y3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXR5cGVzLmRlZiBcCgoKCgoKCgoKCivCoCAkKHNyY2Rp cikvY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci1idWlsdGlucy5oIFwKCgoKCgoKCgoKK8KgICQo c3JjZGlyKS9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYg XAoKCgoKCgoKCgrCoCAkKFJJU0NWX0JVSUxUSU5TX0gpCgoKCgoKCgoKCiQoQ09NUElMRVIpIC1j ICQoQUxMX0NPTVBJTEVSRkxBR1MpICQoQUxMX0NQUEZMQUdTKSAkKElOQ0xVREVTKSBcCgoKCgoK CgoKCiQoc3JjZGlyKS9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmNjCgoKCgoK CgoKCkBAIC01MCw2ICs1MiwyMCBAQCByaXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMubzogXAoK CgoKCgoKCgokKENPTVBJTEVSKSAtYyAkKEFMTF9DT01QSUxFUkZMQUdTKSAkKEFMTF9DUFBGTEFH UykgJChJTkNMVURFUykgXAoKCgoKCgoKCgokKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2LXZl Y3Rvci1idWlsdGlucy1iYXNlcy5jYwoKCgoKCgoKCgordGhlYWQtdmVjdG9yLWJ1aWx0aW5zLm86 IFwKCgoKCgoKCgoKK8KgICQoc3JjZGlyKS9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0 aW5zLmNjIFwKCgoKCgoKCgoKK8KgICQoQ09ORklHX0gpICQoU1lTVEVNX0gpIGNvcmV0eXBlcy5o ICQoVE1fSCkgJChUUkVFX0gpICQoUlRMX0gpIFwKCgoKCgoKCgoKK8KgICQoVE1fUF9IKSBtZW1t b2RlbC5oIGluc24tY29kZXMuaCAkKE9QVEFCU19IKSAkKFJFQ09HX0gpIFwKCgoKCgoKCgoKK8Kg ICQoRVhQUl9IKSAkKEJBU0lDX0JMT0NLX0gpICQoRlVOQ1RJT05fSCkgZm9sZC1jb25zdC5oICQo R0lNUExFX0gpIFwKCgoKCgoKCgoKK8KgIGdpbXBsZS1pdGVyYXRvci5oIGdpbXBsaWZ5LmggZXhw bG93LmggJChFTUlUX1JUTF9IKSB0cmVlLXZlY3Rvci1idWlsZGVyLmggXAoKCgoKCgoKCgorwqAg cnR4LXZlY3Rvci1idWlsZGVyLmggXAoKCgoKCgoKCgorwqAgJChzcmNkaXIpL2NvbmZpZy9yaXNj di9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmggXAoKCgoKCgoKCgorwqAgJChzcmNkaXIp L2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuaCBcCgoKCgoKCgoKCivC oCAkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci1idWlsdGlucy5oIFwKCgoKCgoK CgoKK8KgICQoUklTQ1ZfQlVJTFRJTlNfSCkKCgoKCgoKCgoKKyAkKENPTVBJTEVSKSAtYyAkKEFM TF9DT01QSUxFUkZMQUdTKSAkKEFMTF9DUFBGTEFHUykgJChJTkNMVURFUykgXAoKCgoKCgoKCgor ICQoc3JjZGlyKS9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLmNjCgoKCgoKCgoK CisKCgoKCgoKCgoKcmlzY3Ytc3IubzogJChzcmNkaXIpL2NvbmZpZy9yaXNjdi9yaXNjdi1zci5j YyAkKENPTkZJR19IKSBcCgoKCgoKCgoKCsKgICQoU1lTVEVNX0gpICQoVE1fSCkKCgoKCgoKCgoK JChDT01QSUxFUikgLWMgJChBTExfQ09NUElMRVJGTEFHUykgJChBTExfQ1BQRkxBR1MpICQoSU5D TFVERVMpIFwKCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQtdmVj dG9yLWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYgYi9nY2MvY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rv ci1idWlsdGlucy1mdW5jdGlvbnMuZGVmCgoKCgoKCgoKCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgoK CgoKCgoKCmluZGV4IDAwMDAwMDAwMDAwLi5hODVjYTI0Y2IzMQoKCgoKCgoKCgotLS0gL2Rldi9u dWxsCgoKCgoKCgoKCisrKyBiL2djYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5z LWZ1bmN0aW9ucy5kZWYKCgoKCgoKCgoKQEAgLTAsMCArMSw2MjcgQEAKCgoKCgoKCgoKKyNpZm5k ZWYgREVGX1JWVl9GVU5DVElPTgoKCgoKCgoKCgorI2RlZmluZSBERUZfUlZWX0ZVTkNUSU9OKE5B TUUsIFNIQVBFLCBQUkVEUywgT1BTX0lORk8pCgoKCgoKCgoKCisjZW5kaWYKCgoKCgoKCgoKKwoK CgoKCgoKCgorI2lmbmRlZiBERUZfVEhFQURfUlZWX0ZVTkNUSU9OCgoKCgoKCgoKCisjZGVmaW5l IERFRl9USEVBRF9SVlZfRlVOQ1RJT04oTkFNRSwgQkFTRSwgU0hBUEUsIFBSRURTLCBPUFNfSU5G TykKCgoKCgoKCgoKKyNlbmRpZgoKCgoKCgoKCgorCgoKCgoKCgoKCisjZGVmaW5lIFJFUVVJUkVE X0VYVEVOU0lPTlMgWFRIRUFEVkVDVE9SX0VYVAoKCgoKCgoKCgorLyogSW50ZXJuYWwgaGVscGVy IGZ1bmN0aW9ucyBmb3IgZ2ltcGxlIGZvbGQgdXNlLsKgICovCgoKCgoKCgoKCitERUZfUlZWX0ZV TkNUSU9OIChyZWFkX3ZsLCByZWFkX3ZsLCBub25lX3ByZWRzLCBwX25vbmVfdm9pZF9vcHMpCgoK CgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bGVuYiwgdmxlbmIsIG5vbmVfcHJlZHMsIHVsX25v bmVfdm9pZF9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8qIDYuIENvbmZpZ3VyYXRpb24tU2V0 dGluZyBJbnN0cnVjdGlvbnMuwqAgKi8KCgoKCgoKCgoKKwoKCgoKCgoKCgorREVGX1RIRUFEX1JW Vl9GVU5DVElPTiAodnNldHZsLCB0aF92c2V0dmwsIHZzZXR2bCwgbm9uZV9wcmVkcywgaV9ub25l X3NpemVfc2l6ZV9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c2V0dmxt YXgsIHRoX3ZzZXR2bG1heCwgdnNldHZsbWF4LCBub25lX3ByZWRzLCBpX25vbmVfc2l6ZV92b2lk X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLyogNy4gVmVjdG9yIExvYWRzIGFuZCBTdG9yZXMu ICovCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDcuNC4gVmVjdG9yIFVuaXQtU3RyaWRlIEluc3Ry dWN0aW9ucwoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmxlLCB0aF92bGUsIGxv YWRzdG9yZSwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9vcHMpCgoKCgoKCgoK CitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c2UsIHRoX3ZzZSwgbG9hZHN0b3JlLCBub25lX21f cHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5D VElPTiAodmxtLCB0aF92bG0sIGxvYWRzdG9yZSwgbm9uZV9wcmVkcywgYl92X3NjYWxhcl9jb25z dF9wdHJfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnNtLCB0aF92c20s IGxvYWRzdG9yZSwgbm9uZV9wcmVkcywgYl92X3NjYWxhcl9wdHJfb3BzKQoKCgoKCgoKCgorCgoK CgoKCgoKCisvLyA3LjUuIFZlY3RvciBTdHJpZGVkIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVG X1RIRUFEX1JWVl9GVU5DVElPTiAodmxzZSwgdGhfdmxzZSwgbG9hZHN0b3JlLCBmdWxsX3ByZWRz LCBhbGxfdl9zY2FsYXJfY29uc3RfcHRyX3B0cmRpZmZfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFE X1JWVl9GVU5DVElPTiAodnNzZSwgdGhfdnNzZSwgbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIGFs bF92X3NjYWxhcl9wdHJfcHRyZGlmZl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDcuNi4g VmVjdG9yIEluZGV4ZWQgSW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNU SU9OICh2bHV4ZWk4LCB0aF92bHV4ZWk4LCBpbmRleGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVkcywg YWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9lZXc4X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVB RF9SVlZfRlVOQ1RJT04gKHZsdXhlaTE2LCB0aF92bHV4ZWkxNiwgaW5kZXhlZF9sb2Fkc3RvcmUs IGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxhcl9jb25zdF9wdHJfZWV3MTZfaW5kZXhfb3BzKQoKCgoK CgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmx1eGVpMzIsIHRoX3ZsdXhlaTMyLCBpbmRl eGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9lZXczMl9p bmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bHV4ZWk2NCwgdGhf dmx1eGVpNjQsIGluZGV4ZWRfbG9hZHN0b3JlLCBmdWxsX3ByZWRzLCBhbGxfdl9zY2FsYXJfY29u c3RfcHRyX2VldzY0X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04g KHZsb3hlaTgsIHRoX3Zsb3hlaTgsIGluZGV4ZWRfbG9hZHN0b3JlLCBmdWxsX3ByZWRzLCBhbGxf dl9zY2FsYXJfY29uc3RfcHRyX2VldzhfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JW Vl9GVU5DVElPTiAodmxveGVpMTYsIHRoX3Zsb3hlaTE2LCBpbmRleGVkX2xvYWRzdG9yZSwgZnVs bF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9lZXcxNl9pbmRleF9vcHMpCgoKCgoKCgoK CitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bG94ZWkzMiwgdGhfdmxveGVpMzIsIGluZGV4ZWRf bG9hZHN0b3JlLCBmdWxsX3ByZWRzLCBhbGxfdl9zY2FsYXJfY29uc3RfcHRyX2VldzMyX2luZGV4 X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZsb3hlaTY0LCB0aF92bG94 ZWk2NCwgaW5kZXhlZF9sb2Fkc3RvcmUsIGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxhcl9jb25zdF9w dHJfZWV3NjRfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnN1 eGVpOCwgdGhfdnN1eGVpOCwgaW5kZXhlZF9sb2Fkc3RvcmUsIG5vbmVfbV9wcmVkcywgYWxsX3Zf c2NhbGFyX3B0cl9lZXc4X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJ T04gKHZzdXhlaTE2LCB0aF92c3V4ZWkxNiwgaW5kZXhlZF9sb2Fkc3RvcmUsIG5vbmVfbV9wcmVk cywgYWxsX3Zfc2NhbGFyX3B0cl9lZXcxNl9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURf UlZWX0ZVTkNUSU9OICh2c3V4ZWkzMiwgdGhfdnN1eGVpMzIsIGluZGV4ZWRfbG9hZHN0b3JlLCBu b25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfZWV3MzJfaW5kZXhfb3BzKQoKCgoKCgoKCgor REVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnN1eGVpNjQsIHRoX3ZzdXhlaTY0LCBpbmRleGVkX2xv YWRzdG9yZSwgbm9uZV9tX3ByZWRzLCBhbGxfdl9zY2FsYXJfcHRyX2VldzY0X2luZGV4X29wcykK CgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZzb3hlaTgsIHRoX3Zzb3hlaTgsIGlu ZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfZWV3OF9pbmRl eF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c294ZWkxNiwgdGhfdnNv eGVpMTYsIGluZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJf ZWV3MTZfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnNveGVp MzIsIHRoX3Zzb3hlaTMyLCBpbmRleGVkX2xvYWRzdG9yZSwgbm9uZV9tX3ByZWRzLCBhbGxfdl9z Y2FsYXJfcHRyX2VldzMyX2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJ T04gKHZzb3hlaTY0LCB0aF92c294ZWk2NCwgaW5kZXhlZF9sb2Fkc3RvcmUsIG5vbmVfbV9wcmVk cywgYWxsX3Zfc2NhbGFyX3B0cl9lZXc2NF9pbmRleF9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoK Ky8vIDcuNy4gVW5pdC1zdHJpZGUgRmF1bHQtT25seS1GaXJzdCBMb2FkcwoKCgoKCgoKCgorREVG X1RIRUFEX1JWVl9GVU5DVElPTiAodmxlZmYsIHRoX3ZsZWZmLCBmYXVsdF9sb2FkLCBmdWxsX3By ZWRzLCBhbGxfdl9zY2FsYXJfY29uc3RfcHRyX3NpemVfcHRyX29wcykKCgoKCgoKCgoKKwoKCgoK CgoKCgorLy8gVE9ETzogNy44LiBWZWN0b3IgTG9hZC9TdG9yZSBTZWdtZW50IEluc3RydWN0aW9u cwoKCgoKCgoKCgorCgoKCgoKCgoKCisvKiAxMS4gVmVjdG9yIEludGVnZXIgQXJpdGhtZXRpYyBJ bnN0cnVjdGlvbnMuwqAgKi8KCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTEuMS4gVmVjdG9yIFNp bmdsZS1XaWR0aCBJbnRlZ2VyIEFkZCBhbmQgU3VidHJhY3QKCgoKCgoKCgoKK0RFRl9SVlZfRlVO Q1RJT04gKHZhZGQsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZhZGQsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ4X29wcykKCgoKCgoKCgoK K0RFRl9SVlZfRlVOQ1RJT04gKHZzdWIsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ2X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzdWIsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ4X29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZyc3ViLCBhbHUsIGZ1bGxfcHJlZHMsIGl1 X3Z2eF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bmVnLCB0aF92bmVn LCBhbHUsIGZ1bGxfcHJlZHMsIGl1X3Zfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMS4y LiBWZWN0b3IgV2lkZW5pbmcgSW50ZWdlciBBZGQvU3VidHJhY3QKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZ3YWRkdSwgd2lkZW5fYWx1LCBmdWxsX3ByZWRzLCB1X3d2dl9vcHMpCgoKCgoK CgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d2FkZHUsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywgdV93 dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodndzdWJ1LCB3aWRlbl9hbHUsIGZ1 bGxfcHJlZHMsIHVfd3Z2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZ3c3VidSwg d2lkZW5fYWx1LCBmdWxsX3ByZWRzLCB1X3d2eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2d2FkZCwgd2lkZW5fYWx1LCBmdWxsX3ByZWRzLCBpX3d2dl9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2d2FkZCwgd2lkZW5fYWx1LCBmdWxsX3ByZWRzLCBpX3d2eF9vcHMp CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d3N1Yiwgd2lkZW5fYWx1LCBmdWxsX3ByZWRz LCBpX3d2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d3N1Yiwgd2lkZW5fYWx1 LCBmdWxsX3ByZWRzLCBpX3d2eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d2Fk ZHUsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywgdV93d3Zfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9G VU5DVElPTiAodndhZGR1LCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIHVfd3d4X29wcykKCgoKCgoK CgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZ3c3VidSwgd2lkZW5fYWx1LCBmdWxsX3ByZWRzLCB1X3d3 dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d3N1YnUsIHdpZGVuX2FsdSwgZnVs bF9wcmVkcywgdV93d3hfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodndhZGQsIHdp ZGVuX2FsdSwgZnVsbF9wcmVkcywgaV93d3Zfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodndhZGQsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywgaV93d3hfb3BzKQoKCgoKCgoKCgorREVG X1JWVl9GVU5DVElPTiAodndzdWIsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywgaV93d3Zfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodndzdWIsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywg aV93d3hfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodndjdnRfeCwgYWx1LCBmdWxs X3ByZWRzLCBpX3hfeF92X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZ3Y3Z0dV94 LCBhbHUsIGZ1bGxfcHJlZHMsIHVfeF94X3Zfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAx MS4zLiBWZWN0b3IgSW50ZWdlciBFeHRlbnNpb24KCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04g KHZ6ZXh0LCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIHVfdmYyX29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZ6ZXh0LCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIHVfdmY0X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZ6ZXh0LCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIHVf dmY4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzZXh0LCB3aWRlbl9hbHUsIGZ1 bGxfcHJlZHMsIGlfdmYyX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzZXh0LCB3 aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIGlfdmY0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJ T04gKHZzZXh0LCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIGlfdmY4X29wcykKCgoKCgoKCgoKKwoK CgoKCgoKCgorLy8gMTEuNC4gVmVjdG9yIEludGVnZXIgQWRkLXdpdGgtQ2FycnkvU3VidHJhY3Qt d2l0aC1Cb3Jyb3cgSW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2YWRj LCBub19tYXNrX3BvbGljeSwgbm9uZV90dV9wcmVkcywgaXVfdnZ2bV9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2YWRjLCBub19tYXNrX3BvbGljeSwgbm9uZV90dV9wcmVkcywgaXVf dnZ4bV9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWFkYywgcmV0dXJuX21hc2ss IG5vbmVfcHJlZHMsIGl1X212dm1fb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1h ZGMsIHJldHVybl9tYXNrLCBub25lX3ByZWRzLCBpdV9tdnhtX29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZtYWRjLCByZXR1cm5fbWFzaywgbm9uZV9wcmVkcywgaXVfbXZ2X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtYWRjLCByZXR1cm5fbWFzaywgbm9uZV9wcmVk cywgaXVfbXZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzYmMsIG5vX21hc2tf cG9saWN5LCBub25lX3R1X3ByZWRzLCBpdV92dnZtX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVO Q1RJT04gKHZzYmMsIG5vX21hc2tfcG9saWN5LCBub25lX3R1X3ByZWRzLCBpdV92dnhtX29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc2JjLCByZXR1cm5fbWFzaywgbm9uZV9wcmVk cywgaXVfbXZ2bV9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bXNiYywgcmV0dXJu X21hc2ssIG5vbmVfcHJlZHMsIGl1X212eG1fb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodm1zYmMsIHJldHVybl9tYXNrLCBub25lX3ByZWRzLCBpdV9tdnZfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodm1zYmMsIHJldHVybl9tYXNrLCBub25lX3ByZWRzLCBpdV9tdnhf b3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMS41LiBWZWN0b3IgQml0d2lzZSBMb2dpY2Fs IEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmFuZCwgYWx1LCBmdWxs X3ByZWRzLCBpdV92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmFuZCwgYWx1 LCBmdWxsX3ByZWRzLCBpdV92dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm9y LCBhbHUsIGZ1bGxfcHJlZHMsIGl1X3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2b3IsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVO Q1RJT04gKHZ4b3IsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZ4b3IsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ4X29wcykKCgoKCgoKCgoK K0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZub3QsIHRoX3Zub3QsIGFsdSwgZnVsbF9wcmVkcywg aXVfdl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDExLjYuIFZlY3RvciBTaW5nbGUtV2lk dGggU2hpZnQgSW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c2xsLCBh bHUsIGZ1bGxfcHJlZHMsIGl1X3NoaWZ0X3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2c2xsLCBhbHUsIGZ1bGxfcHJlZHMsIGl1X3NoaWZ0X3Z2eF9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2c3JhLCBhbHUsIGZ1bGxfcHJlZHMsIGlfc2hpZnRfdnZ2X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzcmEsIGFsdSwgZnVsbF9wcmVkcywgaV9zaGlm dF92dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnNybCwgYWx1LCBmdWxsX3By ZWRzLCB1X3NoaWZ0X3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c3JsLCBh bHUsIGZ1bGxfcHJlZHMsIHVfc2hpZnRfdnZ4X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8g MTEuNy4gVmVjdG9yIE5hcnJvd2luZyBJbnRlZ2VyIFJpZ2h0IFNoaWZ0IEluc3RydWN0aW9ucwoK CgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodm5zcmwsIHRoX3Zuc3JsLCBuYXJyb3df YWx1LCBmdWxsX3ByZWRzLCB1X25hcnJvd19zaGlmdF92d3Zfb3BzKQoKCgoKCgoKCgorREVGX1RI RUFEX1JWVl9GVU5DVElPTiAodm5zcmwsIHRoX3Zuc3JsLCBuYXJyb3dfYWx1LCBmdWxsX3ByZWRz LCB1X25hcnJvd19zaGlmdF92d3hfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElP TiAodm5zcmEsIHRoX3Zuc3JhLCBuYXJyb3dfYWx1LCBmdWxsX3ByZWRzLCBpX25hcnJvd19zaGlm dF92d3Zfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodm5zcmEsIHRoX3Zu c3JhLCBuYXJyb3dfYWx1LCBmdWxsX3ByZWRzLCBpX25hcnJvd19zaGlmdF92d3hfb3BzKQoKCgoK CgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodm5jdnRfeCwgdGhfdm5jdnRfeCwgbmFycm93 X2FsdSwgZnVsbF9wcmVkcywgaXVfdHJ1bmNfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAx MS44LiBWZWN0b3IgSW50ZWdlciBDb21wYXJlIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodm1zZXEsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGl1X212dl9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bXNlcSwgcmV0dXJuX21hc2ssIG5vbmVf bV9tdV9wcmVkcywgaXVfbXZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc25l LCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRzLCBpdV9tdnZfb3BzKQoKCgoKCgoKCgorREVG X1JWVl9GVU5DVElPTiAodm1zbmUsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGl1X212 eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bXNsdHUsIHJldHVybl9tYXNrLCBu b25lX21fbXVfcHJlZHMsIHVfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZt c2x0dSwgcmV0dXJuX21hc2ssIG5vbmVfbV9tdV9wcmVkcywgdV9tdnhfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodm1zbHQsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGlf bXZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc2x0LCByZXR1cm5fbWFzaywg bm9uZV9tX211X3ByZWRzLCBpX212eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 bXNsZXUsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIHVfbXZ2X29wcykKCgoKCgoKCgoK K0RFRl9SVlZfRlVOQ1RJT04gKHZtc2xldSwgcmV0dXJuX21hc2ssIG5vbmVfbV9tdV9wcmVkcywg dV9tdnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1zbGUsIHJldHVybl9tYXNr LCBub25lX21fbXVfcHJlZHMsIGlfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04g KHZtc2xlLCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRzLCBpX212eF9vcHMpCgoKCgoKCgoK CitERUZfUlZWX0ZVTkNUSU9OICh2bXNndHUsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMs IHVfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc2d0dSwgcmV0dXJuX21h c2ssIG5vbmVfbV9tdV9wcmVkcywgdV9tdnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodm1zZ3QsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGlfbXZ2X29wcykKCgoKCgoK CgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc2d0LCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRz LCBpX212eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bXNnZXUsIHJldHVybl9t YXNrLCBub25lX21fbXVfcHJlZHMsIHVfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJ T04gKHZtc2dldSwgcmV0dXJuX21hc2ssIG5vbmVfbV9tdV9wcmVkcywgdV9tdnhfb3BzKQoKCgoK CgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1zZ2UsIHJldHVybl9tYXNrLCBub25lX21fbXVfcHJl ZHMsIGlfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc2dlLCByZXR1cm5f bWFzaywgbm9uZV9tX211X3ByZWRzLCBpX212eF9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8v IDExLjkuIFZlY3RvciBJbnRlZ2VyIE1pbi9NYXggSW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2bWludSwgYWx1LCBmdWxsX3ByZWRzLCB1X3Z2dl9vcHMpCgoKCgoKCgoK CitERUZfUlZWX0ZVTkNUSU9OICh2bWludSwgYWx1LCBmdWxsX3ByZWRzLCB1X3Z2eF9vcHMpCgoK CgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWluLCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ2X29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtaW4sIGFsdSwgZnVsbF9wcmVkcywgaV92 dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1heHUsIGFsdSwgZnVsbF9wcmVk cywgdV92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1heHUsIGFsdSwgZnVs bF9wcmVkcywgdV92dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1heCwgYWx1 LCBmdWxsX3ByZWRzLCBpX3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWF4 LCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ4X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTEu MTAuIFZlY3RvciBTaW5nbGUtV2lkdGggSW50ZWdlciBNdWx0aXBseSBJbnN0cnVjdGlvbnMKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtdWwsIGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ2X29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtdWwsIGFsdSwgZnVsbF9wcmVkcywgaXVf dnZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtdWxoLCBhbHUsIGZ1bGxfcHJl ZHMsIGZ1bGxfdl9pX3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bXVsaCwg YWx1LCBmdWxsX3ByZWRzLCBmdWxsX3ZfaV92dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5D VElPTiAodm11bGh1LCBhbHUsIGZ1bGxfcHJlZHMsIGZ1bGxfdl91X3Z2dl9vcHMpCgoKCgoKCgoK CitERUZfUlZWX0ZVTkNUSU9OICh2bXVsaHUsIGFsdSwgZnVsbF9wcmVkcywgZnVsbF92X3VfdnZ4 X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtdWxoc3UsIGFsdSwgZnVsbF9wcmVk cywgZnVsbF92X2lfc3VfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtdWxo c3UsIGFsdSwgZnVsbF9wcmVkcywgZnVsbF92X2lfc3VfdnZ4X29wcykKCgoKCgoKCgoKKwoKCgoK CgoKCgorLy8gMTEuMTEuIFZlY3RvciBJbnRlZ2VyIERpdmlkZSBJbnN0cnVjdGlvbnMKCgoKCgoK CgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZkaXZ1LCBhbHUsIGZ1bGxfcHJlZHMsIHVfdnZ2X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZkaXZ1LCBhbHUsIGZ1bGxfcHJlZHMsIHVfdnZ4 X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZkaXYsIGFsdSwgZnVsbF9wcmVkcywg aV92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmRpdiwgYWx1LCBmdWxsX3By ZWRzLCBpX3Z2eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVtdSwgYWx1LCBm dWxsX3ByZWRzLCB1X3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVtdSwg YWx1LCBmdWxsX3ByZWRzLCB1X3Z2eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 cmVtLCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJ T04gKHZyZW0sIGFsdSwgZnVsbF9wcmVkcywgaV92dnhfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoK CisvLyAxMS4xMi4gVmVjdG9yIFdpZGVuaW5nIEludGVnZXIgTXVsdGlwbHkgSW5zdHJ1Y3Rpb25z CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d211bCwgYWx1LCBmdWxsX3ByZWRzLCBpX3d2 dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d211bCwgYWx1LCBmdWxsX3ByZWRz LCBpX3d2eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d211bHUsIGFsdSwgZnVs bF9wcmVkcywgdV93dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodndtdWx1LCBh bHUsIGZ1bGxfcHJlZHMsIHVfd3Z4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZ3 bXVsc3UsIGFsdSwgZnVsbF9wcmVkcywgaV9zdV93dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9G VU5DVElPTiAodndtdWxzdSwgYWx1LCBmdWxsX3ByZWRzLCBpX3N1X3d2eF9vcHMpCgoKCgoKCgoK CisKCgoKCgoKCgoKKy8vIDExLjEzLiBWZWN0b3IgU2luZ2xlLVdpZHRoIEludGVnZXIgTXVsdGlw bHktQWRkIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1hY2MsIGFs dSwgZnVsbF9wcmVkcywgaXVfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 bWFjYywgYWx1LCBmdWxsX3ByZWRzLCBpdV92dnh2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVO Q1RJT04gKHZubXNhYywgYWx1LCBmdWxsX3ByZWRzLCBpdV92dnZ2X29wcykKCgoKCgoKCgoKK0RF Rl9SVlZfRlVOQ1RJT04gKHZubXNhYywgYWx1LCBmdWxsX3ByZWRzLCBpdV92dnh2X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtYWRkLCBhbHUsIGZ1bGxfcHJlZHMsIGl1X3Z2dnZf b3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1hZGQsIGFsdSwgZnVsbF9wcmVkcywg aXVfdnZ4dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bm1zdWIsIGFsdSwgZnVs bF9wcmVkcywgaXVfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bm1zdWIs IGFsdSwgZnVsbF9wcmVkcywgaXVfdnZ4dl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDEx LjE0LiBWZWN0b3IgV2lkZW5pbmcgSW50ZWdlciBNdWx0aXBseS1BZGQgSW5zdHJ1Y3Rpb25zCgoK CgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d21hY2N1LCBhbHUsIGZ1bGxfcHJlZHMsIHVfd3d2 dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d21hY2N1LCBhbHUsIGZ1bGxfcHJl ZHMsIHVfd3d4dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d21hY2MsIGFsdSwg ZnVsbF9wcmVkcywgaV93d3Z2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZ3bWFj YywgYWx1LCBmdWxsX3ByZWRzLCBpX3d3eHZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodndtYWNjc3UsIGFsdSwgZnVsbF9wcmVkcywgaV9zdV93d3Z2X29wcykKCgoKCgoKCgoKK0RF Rl9SVlZfRlVOQ1RJT04gKHZ3bWFjY3N1LCBhbHUsIGZ1bGxfcHJlZHMsIGlfc3Vfd3d4dl9vcHMp CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2d21hY2N1cywgYWx1LCBmdWxsX3ByZWRzLCBp X3VzX3d3eHZfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMS4xNS4gVmVjdG9yIEludGVn ZXIgTWVyZ2UgSW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWVyZ2Us IG5vX21hc2tfcG9saWN5LCBub25lX3R1X3ByZWRzLCBhbGxfdnZ2bV9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2bWVyZ2UsIG5vX21hc2tfcG9saWN5LCBub25lX3R1X3ByZWRzLCBp dV92dnhtX29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTEuMTYgVmVjdG9yIEludGVnZXIg TW92ZSBJbnN0cnVjdGlvbnMKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtdl92LCBtb3Zl LCBub25lX3R1X3ByZWRzLCBhbGxfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 bXZfdiwgbW92ZSwgbm9uZV90dV9wcmVkcywgaXVfeF9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoK Ky8qIDEyLiBWZWN0b3IgRml4ZWQtUG9pbnQgQXJpdGhtZXRpYyBJbnN0cnVjdGlvbnMuICovCgoK CgoKCgoKCisKCgoKCgoKCgoKKy8vIDEyLjEuIFZlY3RvciBTaW5nbGUtV2lkdGggU2F0dXJhdGlu ZyBBZGQgYW5kIFN1YnRyYWN0CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c2FkZHUsIGFs dSwgZnVsbF9wcmVkcywgdV92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnNh ZGR1LCBhbHUsIGZ1bGxfcHJlZHMsIHVfdnZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJ T04gKHZzYWRkLCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZzYWRkLCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ4X29wcykKCgoKCgoKCgoKK0RF Rl9SVlZfRlVOQ1RJT04gKHZzc3VidSwgYWx1LCBmdWxsX3ByZWRzLCB1X3Z2dl9vcHMpCgoKCgoK CgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c3N1YnUsIGFsdSwgZnVsbF9wcmVkcywgdV92dnhfb3Bz KQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnNzdWIsIGFsdSwgZnVsbF9wcmVkcywgaV92 dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnNzdWIsIGFsdSwgZnVsbF9wcmVk cywgaV92dnhfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMi4yLiBWZWN0b3IgU2luZ2xl LVdpZHRoIEF2ZXJhZ2luZyBBZGQgYW5kIFN1YnRyYWN0CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2YWFkZHUsIGFsdSwgZnVsbF9wcmVkcywgdV92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodmFhZGR1LCBhbHUsIGZ1bGxfcHJlZHMsIHVfdnZ4X29wcykKCgoKCgoKCgoK K0RFRl9SVlZfRlVOQ1RJT04gKHZhYWRkLCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ2X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZhYWRkLCBhbHUsIGZ1bGxfcHJlZHMsIGlfdnZ4X29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZhc3VidSwgYWx1LCBmdWxsX3ByZWRzLCB1 X3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2YXN1YnUsIGFsdSwgZnVsbF9w cmVkcywgdV92dnhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmFzdWIsIGFsdSwg ZnVsbF9wcmVkcywgaV92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmFzdWIs IGFsdSwgZnVsbF9wcmVkcywgaV92dnhfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMi4z LiBWZWN0b3IgU2luZ2xlLVdpZHRoIEZyYWN0aW9uYWwgTXVsdGlwbHkgd2l0aCBSb3VuZGluZyBh bmQgU2F0dXJhdGlvbgoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnNtdWwsIGFsdSwgZnVs bF9wcmVkcywgZnVsbF92X2lfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZz bXVsLCBhbHUsIGZ1bGxfcHJlZHMsIGZ1bGxfdl9pX3Z2eF9vcHMpCgoKCgoKCgoKCisKCgoKCgoK CgoKKy8vIDEyLjQuIFZlY3RvciBTaW5nbGUtV2lkdGggU2NhbGluZyBTaGlmdCBJbnN0cnVjdGlv bnMKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzc3JsLCBhbHUsIGZ1bGxfcHJlZHMsIHVf c2hpZnRfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzc3JsLCBhbHUsIGZ1 bGxfcHJlZHMsIHVfc2hpZnRfdnZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZz c3JhLCBhbHUsIGZ1bGxfcHJlZHMsIGlfc2hpZnRfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZzc3JhLCBhbHUsIGZ1bGxfcHJlZHMsIGlfc2hpZnRfdnZ4X29wcykKCgoKCgoK CgoKKwoKCgoKCgoKCgorLy8gMTIuNS4gVmVjdG9yIE5hcnJvd2luZyBGaXhlZC1Qb2ludCBDbGlw IEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm5jbGlwdSwgbmFycm93 X2FsdSwgZnVsbF9wcmVkcywgdV9uYXJyb3dfc2hpZnRfdnd2X29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZuY2xpcHUsIG5hcnJvd19hbHUsIGZ1bGxfcHJlZHMsIHVfbmFycm93X3No aWZ0X3Z3eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bmNsaXAsIG5hcnJvd19h bHUsIGZ1bGxfcHJlZHMsIGlfbmFycm93X3NoaWZ0X3Z3dl9vcHMpCgoKCgoKCgoKCitERUZfUlZW X0ZVTkNUSU9OICh2bmNsaXAsIG5hcnJvd19hbHUsIGZ1bGxfcHJlZHMsIGlfbmFycm93X3NoaWZ0 X3Z3eF9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8qIDEzLiBWZWN0b3IgRmxvYXRpbmctUG9p bnQgSW5zdHJ1Y3Rpb25zLsKgICovCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDEzLjIuIFZlY3Rv ciBTaW5nbGUtV2lkdGggRmxvYXRpbmctUG9pbnQgQWRkL1N1YnRyYWN0IEluc3RydWN0aW9ucwoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZhZGQsIGFsdSwgZnVsbF9wcmVkcywgZl92dnZf b3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZhZGQsIGFsdSwgZnVsbF9wcmVkcywg Zl92dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZzdWIsIGFsdSwgZnVsbF9w cmVkcywgZl92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZzdWIsIGFsdSwg ZnVsbF9wcmVkcywgZl92dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZyc3Vi LCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZmX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04g KHZmYWRkX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVkcywgZl92dnZfb3BzKQoKCgoKCgoKCgorREVG X1JWVl9GVU5DVElPTiAodmZhZGRfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3Z2Zl9vcHMp CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZnN1Yl9mcm0sIGFsdV9mcm0sIGZ1bGxfcHJl ZHMsIGZfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmc3ViX2ZybSwgYWx1 X2ZybSwgZnVsbF9wcmVkcywgZl92dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dmZyc3ViX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVkcywgZl92dmZfb3BzKQoKCgoKCgoKCgorCgoK CgoKCgoKCisvLyAxMy4zLiBWZWN0b3IgV2lkZW5pbmcgRmxvYXRpbmctUG9pbnQgQWRkL1N1YnRy YWN0IEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3YWRkLCB3aWRl bl9hbHUsIGZ1bGxfcHJlZHMsIGZfd3Z2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04g KHZmd2FkZCwgd2lkZW5fYWx1LCBmdWxsX3ByZWRzLCBmX3d2Zl9vcHMpCgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2ZndzdWIsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywgZl93dnZfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3c3ViLCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMs IGZfd3ZmX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd2FkZCwgd2lkZW5fYWx1 LCBmdWxsX3ByZWRzLCBmX3d3dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zndh ZGQsIHdpZGVuX2FsdSwgZnVsbF9wcmVkcywgZl93d2Zfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9G VU5DVElPTiAodmZ3c3ViLCB3aWRlbl9hbHUsIGZ1bGxfcHJlZHMsIGZfd3d2X29wcykKCgoKCgoK CgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd3N1Yiwgd2lkZW5fYWx1LCBmdWxsX3ByZWRzLCBmX3d3 Zl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndhZGRfZnJtLCB3aWRlbl9hbHVf ZnJtLCBmdWxsX3ByZWRzLCBmX3d2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 ZndhZGRfZnJtLCB3aWRlbl9hbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d2Zl9vcHMpCgoKCgoKCgoK CitERUZfUlZWX0ZVTkNUSU9OICh2ZndzdWJfZnJtLCB3aWRlbl9hbHVfZnJtLCBmdWxsX3ByZWRz LCBmX3d2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndzdWJfZnJtLCB3aWRl bl9hbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d2Zl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2ZndhZGRfZnJtLCB3aWRlbl9hbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d3dl9vcHMpCgoK CgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndhZGRfZnJtLCB3aWRlbl9hbHVfZnJtLCBmdWxs X3ByZWRzLCBmX3d3Zl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndzdWJfZnJt LCB3aWRlbl9hbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d3dl9vcHMpCgoKCgoKCgoKCitERUZfUlZW X0ZVTkNUSU9OICh2ZndzdWJfZnJtLCB3aWRlbl9hbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d3Zl9v cHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDEzLjQuIFZlY3RvciBTaW5nbGUtV2lkdGggRmxv YXRpbmctUG9pbnQgTXVsdGlwbHkvRGl2aWRlIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodmZtdWwsIGFsdSwgZnVsbF9wcmVkcywgZl92dnZfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodmZtdWwsIGFsdSwgZnVsbF9wcmVkcywgZl92dmZfb3BzKQoKCgoK CgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZkaXYsIGFsdSwgZnVsbF9wcmVkcywgZl92dnZfb3Bz KQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZkaXYsIGFsdSwgZnVsbF9wcmVkcywgZl92 dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZyZGl2LCBhbHUsIGZ1bGxfcHJl ZHMsIGZfdnZmX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbXVsX2ZybSwgYWx1 X2ZybSwgZnVsbF9wcmVkcywgZl92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dmZtdWxfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3Z2Zl9vcHMpCgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2ZmRpdl9mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmZGl2X2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVk cywgZl92dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZyZGl2X2ZybSwgYWx1 X2ZybSwgZnVsbF9wcmVkcywgZl92dmZfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMy41 LiBWZWN0b3IgV2lkZW5pbmcgRmxvYXRpbmctUG9pbnQgTXVsdGlwbHkKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZmd211bCwgYWx1LCBmdWxsX3ByZWRzLCBmX3d2dl9vcHMpCgoKCgoKCgoK CitERUZfUlZWX0ZVTkNUSU9OICh2ZndtdWwsIGFsdSwgZnVsbF9wcmVkcywgZl93dmZfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3bXVsX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVk cywgZl93dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3bXVsX2ZybSwgYWx1 X2ZybSwgZnVsbF9wcmVkcywgZl93dmZfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMy42 LiBWZWN0b3IgU2luZ2xlLVdpZHRoIEZsb2F0aW5nLVBvaW50IEZ1c2VkIE11bHRpcGx5LUFkZCBJ bnN0cnVjdGlvbnMKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbWFjYywgYWx1LCBmdWxs X3ByZWRzLCBmX3Z2dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZtYWNjLCBh bHUsIGZ1bGxfcHJlZHMsIGZfdnZmdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 Zm5tc2FjLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZV TkNUSU9OICh2Zm5tc2FjLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZmdl9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2Zm1hZGQsIGFsdSwgZnVsbF9wcmVkcywgZl92dnZ2X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbWFkZCwgYWx1LCBmdWxsX3ByZWRzLCBmX3Z2ZnZf b3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZubXN1YiwgYWx1LCBmdWxsX3ByZWRz LCBmX3Z2dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZubXN1YiwgYWx1LCBm dWxsX3ByZWRzLCBmX3Z2ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZubWFj YywgYWx1LCBmdWxsX3ByZWRzLCBmX3Z2dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodmZubWFjYywgYWx1LCBmdWxsX3ByZWRzLCBmX3Z2ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodmZtc2FjLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoKCgoKCgoK CitERUZfUlZWX0ZVTkNUSU9OICh2Zm1zYWMsIGFsdSwgZnVsbF9wcmVkcywgZl92dmZ2X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbm1hZGQsIGFsdSwgZnVsbF9wcmVkcywgZl92 dnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbm1hZGQsIGFsdSwgZnVsbF9w cmVkcywgZl92dmZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbXN1YiwgYWx1 LCBmdWxsX3ByZWRzLCBmX3Z2dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZt c3ViLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZmdl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKK0RF Rl9SVlZfRlVOQ1RJT04gKHZmbWFjY19mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2dl9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zm1hY2NfZnJtLCBhbHVfZnJtLCBmdWxs X3ByZWRzLCBmX3Z2ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZubWFjY19m cm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZV TkNUSU9OICh2Zm5tYWNjX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVkcywgZl92dmZ2X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbXNhY19mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMs IGZfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zm1zYWNfZnJtLCBhbHVf ZnJtLCBmdWxsX3ByZWRzLCBmX3Z2ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dmZubXNhY19mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2Zm5tc2FjX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVkcywgZl92dmZ2 X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbWFkZF9mcm0sIGFsdV9mcm0sIGZ1 bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zm1hZGRf ZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3Z2ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9G VU5DVElPTiAodmZubWFkZF9mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoK CgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zm5tYWRkX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVk cywgZl92dmZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbXN1Yl9mcm0sIGFs dV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2Zm1zdWJfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3Z2ZnZfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodmZubXN1Yl9mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdnZ2 dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zm5tc3ViX2ZybSwgYWx1X2ZybSwg ZnVsbF9wcmVkcywgZl92dmZ2X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTMuNy4gVmVj dG9yIFdpZGVuaW5nIEZsb2F0aW5nLVBvaW50IEZ1c2VkIE11bHRpcGx5LUFkZCBJbnN0cnVjdGlv bnMKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd21hY2MsIGFsdSwgZnVsbF9wcmVkcywg Zl93d3Z2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd21hY2MsIGFsdSwgZnVs bF9wcmVkcywgZl93d2Z2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd25tYWNj LCBhbHUsIGZ1bGxfcHJlZHMsIGZfd3d2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2ZndubWFjYywgYWx1LCBmdWxsX3ByZWRzLCBmX3d3ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodmZ3bXNhYywgYWx1LCBmdWxsX3ByZWRzLCBmX3d3dnZfb3BzKQoKCgoKCgoK CgorREVGX1JWVl9GVU5DVElPTiAodmZ3bXNhYywgYWx1LCBmdWxsX3ByZWRzLCBmX3d3ZnZfb3Bz KQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3bm1zYWMsIGFsdSwgZnVsbF9wcmVkcywg Zl93d3Z2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd25tc2FjLCBhbHUsIGZ1 bGxfcHJlZHMsIGZfd3dmdl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJ T04gKHZmd21hY2NfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d3dnZfb3BzKQoKCgoKCgoK CgorREVGX1JWVl9GVU5DVElPTiAodmZ3bWFjY19mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZf d3dmdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndubWFjY19mcm0sIGFsdV9m cm0sIGZ1bGxfcHJlZHMsIGZfd3d2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 ZndubWFjY19mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfd3dmdl9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2Zndtc2FjX2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVkcywgZl93d3Z2 X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd21zYWNfZnJtLCBhbHVfZnJtLCBm dWxsX3ByZWRzLCBmX3d3ZnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3bm1z YWNfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d3dnZfb3BzKQoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodmZ3bm1zYWNfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3d3ZnZfb3Bz KQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMy44LiBWZWN0b3IgRmxvYXRpbmctUG9pbnQgU3F1 YXJlLVJvb3QgSW5zdHJ1Y3Rpb24KCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmc3FydCwg YWx1LCBmdWxsX3ByZWRzLCBmX3Zfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCitERUZfUlZWX0ZV TkNUSU9OICh2ZnNxcnRfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3Zfb3BzKQoKCgoKCgoK CgorCgoKCgoKCgoKCisvLyAxMy45LiBWZWN0b3IgRmxvYXRpbmctUG9pbnQgUmVjaXByb2NhbCBT cXVhcmUtUm9vdCBFc3RpbWF0ZSBJbnN0cnVjdGlvbgoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodmZyc3FydDcsIGFsdSwgZnVsbF9wcmVkcywgZl92X29wcykKCgoKCgoKCgoKKwoKCgoKCgoK CgorLy8gMTMuMTAuIFZlY3RvciBGbG9hdGluZy1Qb2ludCBSZWNpcHJvY2FsIEVzdGltYXRlIElu c3RydWN0aW9uCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZnJlYzcsIGFsdSwgZnVsbF9w cmVkcywgZl92X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZy ZWM3X2ZybSwgYWx1X2ZybSwgZnVsbF9wcmVkcywgZl92X29wcykKCgoKCgoKCgoKKwoKCgoKCgoK CgorLy8gMTMuMTEuIFZlY3RvciBGbG9hdGluZy1Qb2ludCBNSU4vTUFYIEluc3RydWN0aW9ucwoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZtaW4sIGFsdSwgZnVsbF9wcmVkcywgZl92dnZf b3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZtaW4sIGFsdSwgZnVsbF9wcmVkcywg Zl92dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZtYXgsIGFsdSwgZnVsbF9w cmVkcywgZl92dnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZtYXgsIGFsdSwg ZnVsbF9wcmVkcywgZl92dmZfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxMy4xMi4gVmVj dG9yIEZsb2F0aW5nLVBvaW50IFNpZ24tSW5qZWN0aW9uIEluc3RydWN0aW9ucwoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodmZzZ25qLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZ2X29wcykKCgoK CgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmc2duaiwgYWx1LCBmdWxsX3ByZWRzLCBmX3Z2Zl9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZnNnbmpuLCBhbHUsIGZ1bGxfcHJlZHMs IGZfdnZ2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmc2duam4sIGFsdSwgZnVs bF9wcmVkcywgZl92dmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZzZ25qeCwg YWx1LCBmdWxsX3ByZWRzLCBmX3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 ZnNnbmp4LCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZmX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVO Q1RJT04gKHZmbmVnLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZW X0ZVTkNUSU9OICh2ZmFicywgYWx1LCBmdWxsX3ByZWRzLCBmX3Zfb3BzKQoKCgoKCgoKCgorCgoK CgoKCgoKCisvLyAxMy4xMy4gVmVjdG9yIEZsb2F0aW5nLVBvaW50IENvbXBhcmUgSW5zdHJ1Y3Rp b25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWZlcSwgcmV0dXJuX21hc2ssIG5vbmVf bV9tdV9wcmVkcywgZl9tdnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1mZXEs IHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGZfbXZmX29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZtZm5lLCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRzLCBmX212dl9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWZuZSwgcmV0dXJuX21hc2ssIG5vbmVf bV9tdV9wcmVkcywgZl9tdmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1mbHQs IHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGZfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZtZmx0LCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRzLCBmX212Zl9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWZsZSwgcmV0dXJuX21hc2ssIG5vbmVf bV9tdV9wcmVkcywgZl9tdnZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1mbGUs IHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGZfbXZmX29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZtZmd0LCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRzLCBmX212dl9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWZndCwgcmV0dXJuX21hc2ssIG5vbmVf bV9tdV9wcmVkcywgZl9tdmZfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1mZ2Us IHJldHVybl9tYXNrLCBub25lX21fbXVfcHJlZHMsIGZfbXZ2X29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZtZmdlLCByZXR1cm5fbWFzaywgbm9uZV9tX211X3ByZWRzLCBmX212Zl9v cHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDEzLjE0LiBWZWN0b3IgRmxvYXRpbmctUG9pbnQg Q2xhc3NpZnkgSW5zdHJ1Y3Rpb24KCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmY2xhc3Ms IGFsdSwgZnVsbF9wcmVkcywgZl90b191X3Zfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAx My4xNS4gVmVjdG9yIEZsb2F0aW5nLVBvaW50IE1lcmdlIEluc3RydWN0aW9uCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2Zm1lcmdlLCBub19tYXNrX3BvbGljeSwgbm9uZV90dV9wcmVkcywg Zl92dmZtX29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTMuMTYuIFZlY3RvciBGbG9hdGlu Zy1Qb2ludCBNb3ZlIEluc3RydWN0aW9uCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Zm12 X3YsIG1vdmUsIG5vbmVfdHVfcHJlZHMsIGZfZl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8v IDEzLjE3LiBTaW5nbGUtV2lkdGggRmxvYXRpbmctUG9pbnQvSW50ZWdlciBUeXBlLUNvbnZlcnQg SW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZmN2dF94LCBhbHUsIGZ1 bGxfcHJlZHMsIGZfdG9faV9mX3Zfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZj dnRfeHUsIGFsdSwgZnVsbF9wcmVkcywgZl90b191X2Zfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZW X0ZVTkNUSU9OICh2ZmN2dF9ydHpfeCwgYWx1LCBmdWxsX3ByZWRzLCBmX3RvX2lfZl92X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmY3Z0X3J0el94dSwgYWx1LCBmdWxsX3ByZWRz LCBmX3RvX3VfZl92X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmY3Z0X2YsIGFs dSwgZnVsbF9wcmVkcywgaV90b19mX3hfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2ZmN2dF9mLCBhbHUsIGZ1bGxfcHJlZHMsIHVfdG9fZl94dV92X29wcykKCgoKCgoKCgoKKwoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZjdnRfeF9mcm0sIGFsdV9mcm0sIGZ1bGxfcHJl ZHMsIGZfdG9faV9mX3Zfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZjdnRfeHVf ZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3RvX3VfZl92X29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZmY3Z0X2ZfZnJtLCBhbHVfZnJtLCBmdWxsX3ByZWRzLCBpX3RvX2ZfeF92 X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmY3Z0X2ZfZnJtLCBhbHVfZnJtLCBm dWxsX3ByZWRzLCB1X3RvX2ZfeHVfdl9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDEzLjE4 LiBXaWRlbmluZyBGbG9hdGluZy1Qb2ludC9JbnRlZ2VyIFR5cGUtQ29udmVydCBJbnN0cnVjdGlv bnMKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd2N2dF94LCBhbHUsIGZ1bGxfcHJlZHMs IGZfdG9fd2lfZl92X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmd2N2dF94dSwg YWx1LCBmdWxsX3ByZWRzLCBmX3RvX3d1X2Zfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2ZndjdnRfcnR6X3gsIGFsdSwgZnVsbF9wcmVkcywgZl90b193aV9mX3Zfb3BzKQoKCgoK CgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZ3Y3Z0X3J0el94dSwgYWx1LCBmdWxsX3ByZWRzLCBm X3RvX3d1X2Zfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndjdnRfZiwgYWx1 LCBmdWxsX3ByZWRzLCBpX3RvX3dmX3hfdl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2ZndjdnRfZiwgYWx1LCBmdWxsX3ByZWRzLCB1X3RvX3dmX3h1X3Zfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodmZ3Y3Z0X2YsIGFsdSwgZnVsbF9wcmVkcywgZl90b193Zl9mX3Zf b3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2ZndjdnRfeF9mcm0s IGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdG9fd2lfZl92X29wcykKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZmd2N2dF94dV9mcm0sIGFsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdG9fd3VfZl92 X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTMuMTkuIE5hcnJvd2luZyBGbG9hdGluZy1Q b2ludC9JbnRlZ2VyIFR5cGUtQ29udmVydCBJbnN0cnVjdGlvbnMKCgoKCgoKCgoKK0RFRl9USEVB RF9SVlZfRlVOQ1RJT04gKHZmbmN2dF94LCB0aF92Zm5jdnRfeCwgbmFycm93X2FsdSwgZnVsbF9w cmVkcywgZl90b19uaV9mX3dfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAo dmZuY3Z0X3h1LCB0aF92Zm5jdnRfeHUsIG5hcnJvd19hbHUsIGZ1bGxfcHJlZHMsIGZfdG9fbnVf Zl93X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbmN2dF9ydHpfeCwgbmFycm93 X2FsdSwgZnVsbF9wcmVkcywgZl90b19uaV9mX3dfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5D VElPTiAodmZuY3Z0X3J0el94dSwgbmFycm93X2FsdSwgZnVsbF9wcmVkcywgZl90b19udV9mX3df b3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmZuY3Z0X2YsIHRoX3ZmbmN2 dF9mLCBuYXJyb3dfYWx1LCBmdWxsX3ByZWRzLCBpX3RvX25mX3hfd19vcHMpCgoKCgoKCgoKCitE RUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2Zm5jdnRfZiwgdGhfdmZuY3Z0X2YsIG5hcnJvd19hbHUs IGZ1bGxfcHJlZHMsIHVfdG9fbmZfeHVfd19vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZV TkNUSU9OICh2Zm5jdnRfZiwgdGhfdmZuY3Z0X2YsIG5hcnJvd19hbHUsIGZ1bGxfcHJlZHMsIGZf dG9fbmZfZl93X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZmbmN2dF9yb2RfZiwg bmFycm93X2FsdSwgZnVsbF9wcmVkcywgZl90b19uZl9mX3dfb3BzKQoKCgoKCgoKCgorCgoKCgoK CgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2Zm5jdnRfeF9mcm0sIHRoX3ZmbmN2dF94X2Zy bSwgbmFycm93X2FsdV9mcm0sIGZ1bGxfcHJlZHMsIGZfdG9fbmlfZl93X29wcykKCgoKCgoKCgoK K0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZmbmN2dF94dV9mcm0sIHRoX3ZmbmN2dF94dV9mcm0s IG5hcnJvd19hbHVfZnJtLCBmdWxsX3ByZWRzLCBmX3RvX251X2Zfd19vcHMpCgoKCgoKCgoKCitE RUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2Zm5jdnRfZl9mcm0sIHRoX3ZmbmN2dF9mX2ZybSwgbmFy cm93X2FsdV9mcm0sIGZ1bGxfcHJlZHMsIGlfdG9fbmZfeF93X29wcykKCgoKCgoKCgoKK0RFRl9U SEVBRF9SVlZfRlVOQ1RJT04gKHZmbmN2dF9mX2ZybSwgdGhfdmZuY3Z0X2ZfZnJtLCBuYXJyb3df YWx1X2ZybSwgZnVsbF9wcmVkcywgdV90b19uZl94dV93X29wcykKCgoKCgoKCgoKK0RFRl9USEVB RF9SVlZfRlVOQ1RJT04gKHZmbmN2dF9mX2ZybSwgdGhfdmZuY3Z0X2ZfZnJtLCBuYXJyb3dfYWx1 X2ZybSwgZnVsbF9wcmVkcywgZl90b19uZl9mX3dfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisv KiAxNC4gVmVjdG9yIFJlZHVjdGlvbiBPcGVyYXRpb25zLsKgICovCgoKCgoKCgoKCisKCgoKCgoK CgoKKy8vIDE0LjEuIFZlY3RvciBTaW5nbGUtV2lkdGggSW50ZWdlciBSZWR1Y3Rpb24gSW5zdHJ1 Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVkc3VtLCByZWR1Y19hbHUsIG5v X211X3ByZWRzLCBpdV92c19vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVkbWF4 dSwgcmVkdWNfYWx1LCBub19tdV9wcmVkcywgaXVfdnNfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9G VU5DVElPTiAodnJlZG1heCwgcmVkdWNfYWx1LCBub19tdV9wcmVkcywgaXVfdnNfb3BzKQoKCgoK CgoKCgorREVGX1JWVl9GVU5DVElPTiAodnJlZG1pbnUsIHJlZHVjX2FsdSwgbm9fbXVfcHJlZHMs IGl1X3ZzX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZyZWRtaW4sIHJlZHVjX2Fs dSwgbm9fbXVfcHJlZHMsIGl1X3ZzX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZy ZWRhbmQsIHJlZHVjX2FsdSwgbm9fbXVfcHJlZHMsIGl1X3ZzX29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZyZWRvciwgcmVkdWNfYWx1LCBub19tdV9wcmVkcywgaXVfdnNfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnJlZHhvciwgcmVkdWNfYWx1LCBub19tdV9wcmVk cywgaXVfdnNfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxNC4yLiBWZWN0b3IgV2lkZW5p bmcgSW50ZWdlciBSZWR1Y3Rpb24gSW5zdHJ1Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2d3JlZHN1bSwgcmVkdWNfYWx1LCBub19tdV9wcmVkcywgd2lfdnNfb3BzKQoKCgoKCgoK CgorREVGX1JWVl9GVU5DVElPTiAodndyZWRzdW11LCByZWR1Y19hbHUsIG5vX211X3ByZWRzLCB3 dV92c19vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDE0LjMuIFZlY3RvciBTaW5nbGUtV2lk dGggRmxvYXRpbmctUG9pbnQgUmVkdWN0aW9uIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1RI RUFEX1JWVl9GVU5DVElPTiAodmZyZWR1c3VtLCB0aF92ZnJlZHVzdW0sIHJlZHVjX2FsdSwgbm9f bXVfcHJlZHMsIGZfdnNfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmZy ZWRvc3VtLCB0aF92ZnJlZG9zdW0sIHJlZHVjX2FsdSwgbm9fbXVfcHJlZHMsIGZfdnNfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZyZWRtYXgsIHJlZHVjX2FsdSwgbm9fbXVfcHJl ZHMsIGZfdnNfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZyZWRtaW4sIHJlZHVj X2FsdSwgbm9fbXVfcHJlZHMsIGZfdnNfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCitERUZfVEhF QURfUlZWX0ZVTkNUSU9OICh2ZnJlZHVzdW1fZnJtLCB0aF92ZnJlZHVzdW1fZnJtLCByZWR1Y19h bHVfZnJtLCBub19tdV9wcmVkcywgZl92c19vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZV TkNUSU9OICh2ZnJlZG9zdW1fZnJtLCB0aF92ZnJlZG9zdW1fZnJtLCByZWR1Y19hbHVfZnJtLCBu b19tdV9wcmVkcywgZl92c19vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDE0LjQuIFZlY3Rv ciBXaWRlbmluZyBGbG9hdGluZy1Qb2ludCBSZWR1Y3Rpb24gSW5zdHJ1Y3Rpb25zCgoKCgoKCgoK CitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2ZndyZWRvc3VtLCB0aF92ZndyZWRvc3VtLCByZWR1 Y19hbHUsIG5vX211X3ByZWRzLCB3Zl92c19vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZV TkNUSU9OICh2ZndyZWR1c3VtLCB0aF92ZndyZWR1c3VtLCByZWR1Y19hbHUsIG5vX211X3ByZWRz LCB3Zl92c19vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04g KHZmd3JlZG9zdW1fZnJtLCB0aF92ZndyZWRvc3VtX2ZybSwgcmVkdWNfYWx1X2ZybSwgbm9fbXVf cHJlZHMsIHdmX3ZzX29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZmd3Jl ZHVzdW1fZnJtLCB0aF92ZndyZWR1c3VtX2ZybSwgcmVkdWNfYWx1X2ZybSwgbm9fbXVfcHJlZHMs IHdmX3ZzX29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLyogMTUuIFZlY3RvciBNYXNrIEluc3Ry dWN0aW9ucy7CoCAqLwoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxNS4xLiBWZWN0b3IgTWFzay1S ZWdpc3RlciBMb2dpY2FsIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dm1hbmQsIG1hc2tfYWx1LCBub25lX3ByZWRzLCBiX21tbV9vcHMpCgoKCgoKCgoKCitERUZfUlZW X0ZVTkNUSU9OICh2bW5hbmQsIG1hc2tfYWx1LCBub25lX3ByZWRzLCBiX21tbV9vcHMpCgoKCgoK CgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bWFuZG4sIG1hc2tfYWx1LCBub25lX3ByZWRzLCBiX21t bV9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bXhvciwgbWFza19hbHUsIG5vbmVf cHJlZHMsIGJfbW1tX29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtb3IsIG1hc2tf YWx1LCBub25lX3ByZWRzLCBiX21tbV9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 bW5vciwgbWFza19hbHUsIG5vbmVfcHJlZHMsIGJfbW1tX29wcykKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZtb3JuLCBtYXNrX2FsdSwgbm9uZV9wcmVkcywgYl9tbW1fb3BzKQoKCgoKCgoK CgorREVGX1JWVl9GVU5DVElPTiAodm14bm9yLCBtYXNrX2FsdSwgbm9uZV9wcmVkcywgYl9tbW1f b3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1tdiwgbWFza19hbHUsIG5vbmVfcHJl ZHMsIGJfbW1fb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1jbHIsIG1hc2tfYWx1 LCBub25lX3ByZWRzLCBiX21fb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodm1zZXQs IG1hc2tfYWx1LCBub25lX3ByZWRzLCBiX21fb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodm1ub3QsIG1hc2tfYWx1LCBub25lX3ByZWRzLCBiX21tX29wcykKCgoKCgoKCgoKKy8vIDE1 LjIuIFZlY3RvciBjb3VudCBwb3B1bGF0aW9uIGluIG1hc2sgdmNwb3AubQoKCgoKCgoKCgorREVG X1RIRUFEX1JWVl9GVU5DVElPTiAodmNwb3AsIHRoX3ZjcG9wLCBtYXNrX2FsdSwgbm9uZV9tX3By ZWRzLCBiX3Vsb25nX21fb3BzKQoKCgoKCgoKCgorLy8gMTUuMy4gdmZpcnN0IGZpbmQtZmlyc3Qt c2V0IG1hc2sgYml0CgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2Zmlyc3QsIHRo X3ZmaXJzdCwgbWFza19hbHUsIG5vbmVfbV9wcmVkcywgYl9sb25nX21fb3BzKQoKCgoKCgoKCgor Ly8gMTUuNC4gdm1zYmYubSBzZXQtYmVmb3JlLWZpcnN0IG1hc2sgYml0CgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2bXNiZiwgbWFza19hbHUsIG5vbmVfbV9tdV9wcmVkcywgYl9tbV9vcHMp CgoKCgoKCgoKCisvLyAxNS41LiB2bXNpZi5tIHNldC1pbmNsdWRpbmctZmlyc3QgbWFzayBiaXQK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc2lmLCBtYXNrX2FsdSwgbm9uZV9tX211X3By ZWRzLCBiX21tX29wcykKCgoKCgoKCgoKKy8vIDE1LjYuIHZtc29mLm0gc2V0LW9ubHktZmlyc3Qg bWFzayBiaXQKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZtc29mLCBtYXNrX2FsdSwgbm9u ZV9tX211X3ByZWRzLCBiX21tX29wcykKCgoKCgoKCgoKKy8vIDE1LjguIFZlY3RvciBJb3RhIElu c3RydWN0aW9uCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2aW90YSwgbWFza19hbHUsIGZ1 bGxfcHJlZHMsIHVfdm1fb3BzKQoKCgoKCgoKCgorLy8gMTUuOS4gVmVjdG9yIEVsZW1lbnQgSW5k ZXggSW5zdHJ1Y3Rpb24KCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZpZCwgYWx1LCBmdWxs X3ByZWRzLCB1X3Zfb3BzKQoKCgoKCgoKCgorCgoKCgoKCgoKCisvKiAxNi4gVmVjdG9yIFBlcm11 dGF0aW9uIEluc3RydWN0aW9ucy7CoCAqLwoKCgoKCgoKCgorCgoKCgoKCgoKCisvLyAxNi4xLiBJ bnRlZ2VyIFNjYWxhciBNb3ZlIEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodm12X3gsIHNjYWxhcl9tb3ZlLCBub25lX3ByZWRzLCBpdV94X3Nfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodm12X3MsIG1vdmUsIG5vbmVfdHVfcHJlZHMsIGl1X3NfeF9vcHMp CgoKCgoKCgoKCisKCgoKCgoKCgoKKy8vIDE2LjIuIEZsb2F0aW5nLVBvaW50IFNjYWxhciBNb3Zl IEluc3RydWN0aW9ucwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmZtdl9mLCBzY2FsYXJf bW92ZSwgbm9uZV9wcmVkcywgZl9mX3Nfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dmZtdl9zLCBtb3ZlLCBub25lX3R1X3ByZWRzLCBmX3NfZl9vcHMpCgoKCgoKCgoKCisKCgoKCgoK CgoKKy8vIDE2LjMuIFZlY3RvciBTbGlkZSBJbnN0cnVjdGlvbnMKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZzbGlkZXVwLCBhbHUsIGZ1bGxfcHJlZHMsIGFsbF92dnZ4X29wcykKCgoKCgoK CgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzbGlkZWRvd24sIGFsdSwgZnVsbF9wcmVkcywgYWxsX3Z2 eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c2xpZGUxdXAsIGFsdSwgZnVsbF9w cmVkcywgaXVfdnZ4X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzbGlkZTFkb3du LCBhbHUsIGZ1bGxfcHJlZHMsIGl1X3Z2eF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2ZnNsaWRlMXVwLCBhbHUsIGZ1bGxfcHJlZHMsIGZfdnZmX29wcykKCgoKCgoKCgoKK0RFRl9S VlZfRlVOQ1RJT04gKHZmc2xpZGUxZG93biwgYWx1LCBmdWxsX3ByZWRzLCBmX3Z2Zl9vcHMpCgoK CgoKCgoKCisKCgoKCgoKCgoKKy8vIDE2LjQuIFZlY3RvciBSZWdpc3RlciBHYXRoZXIgSW5zdHJ1 Y3Rpb25zCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmdhdGhlciwgYWx1LCBmdWxsX3By ZWRzLCBhbGxfZ2F0aGVyX3Z2dl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmdh dGhlciwgYWx1LCBmdWxsX3ByZWRzLCBhbGxfZ2F0aGVyX3Z2eF9vcHMpCgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2cmdhdGhlcmVpMTYsIGFsdSwgZnVsbF9wcmVkcywgYWxsX2dhdGhlcmVp MTZfdnZ2X29wcykKCgoKCgoKCgoKKwoKCgoKCgoKCgorLy8gMTYuNS4gVmVjdG9yIENvbXByZXNz IEluc3RydWN0aW9uCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Y29tcHJlc3MsIGFsdSwg bm9uZV90dV9wcmVkcywgYWxsX3Z2bV9vcHMpCgoKCgoKCgoKCisKCgoKCgoKCgoKKy8qIE1pc2Nl bGxhbmVvdXMgVmVjdG9yIEZ1bmN0aW9ucy7CoCAqLwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodnVuZGVmaW5lZCwgdnVuZGVmaW5lZCwgbm9uZV9wcmVkcywgYWxsX25vbmVfdm9pZF9vcHMp CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJl ZHMsIGlfdl91X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZyZWludGVycHJldCwg bWlzYywgbm9uZV9wcmVkcywgdV92X2lfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRzLCBmX3ZfaV9vcHMpCgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJlZHMsIGZfdl91X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZyZWludGVycHJldCwgbWlzYywgbm9uZV9wcmVk cywgaV92X2Zfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBt aXNjLCBub25lX3ByZWRzLCB1X3ZfZl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJlZHMsIGl1X3ZfZWV3OF9pbnRlcnByZXRfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRz LCBpdV92X2VldzE2X2ludGVycHJldF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2 cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJlZHMsIGl1X3ZfZWV3MzJfaW50ZXJwcmV0X29wcykK CgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZyZWludGVycHJldCwgbWlzYywgbm9uZV9wcmVk cywgaXVfdl9lZXc2NF9pbnRlcnByZXRfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRzLCBpdV92X2Jvb2wxX2ludGVycHJldF9vcHMp CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJl ZHMsIGl1X3ZfYm9vbDJfaW50ZXJwcmV0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04g KHZyZWludGVycHJldCwgbWlzYywgbm9uZV9wcmVkcywgaXVfdl9ib29sNF9pbnRlcnByZXRfb3Bz KQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3By ZWRzLCBpdV92X2Jvb2w4X2ludGVycHJldF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJlZHMsIGl1X3ZfYm9vbDE2X2ludGVycHJldF9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVf cHJlZHMsIGl1X3ZfYm9vbDMyX2ludGVycHJldF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNU SU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJlZHMsIGl1X3ZfYm9vbDY0X2ludGVycHJl dF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1pc2MsIG5v bmVfcHJlZHMsIGJfdl9zaWduZWRfZWV3OF9sbXVsMV9pbnRlcnByZXRfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRzLCBiX3Zfc2ln bmVkX2VldzE2X2xtdWwxX2ludGVycHJldF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2cmVpbnRlcnByZXQsIG1pc2MsIG5vbmVfcHJlZHMsIGJfdl9zaWduZWRfZWV3MzJfbG11bDFf aW50ZXJwcmV0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZyZWludGVycHJldCwg bWlzYywgbm9uZV9wcmVkcywgYl92X3NpZ25lZF9lZXc2NF9sbXVsMV9pbnRlcnByZXRfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRz LCBiX3ZfdW5zaWduZWRfZWV3OF9sbXVsMV9pbnRlcnByZXRfb3BzKQoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodnJlaW50ZXJwcmV0LCBtaXNjLCBub25lX3ByZWRzLCBiX3ZfdW5zaWduZWRf ZWV3MTZfbG11bDFfaW50ZXJwcmV0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZy ZWludGVycHJldCwgbWlzYywgbm9uZV9wcmVkcywgYl92X3Vuc2lnbmVkX2VldzMyX2xtdWwxX2lu dGVycHJldF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2cmVpbnRlcnByZXQsIG1p c2MsIG5vbmVfcHJlZHMsIGJfdl91bnNpZ25lZF9lZXc2NF9sbXVsMV9pbnRlcnByZXRfb3BzKQoK CgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmxtdWxfZXh0LCBtaXNjLCBub25lX3ByZWRzLCBh bGxfdl92bG11bF9leHRfeDJfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmxtdWxf ZXh0LCBtaXNjLCBub25lX3ByZWRzLCBhbGxfdl92bG11bF9leHRfeDRfb3BzKQoKCgoKCgoKCgor REVGX1JWVl9GVU5DVElPTiAodmxtdWxfZXh0LCBtaXNjLCBub25lX3ByZWRzLCBhbGxfdl92bG11 bF9leHRfeDhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmxtdWxfZXh0LCBtaXNj LCBub25lX3ByZWRzLCBhbGxfdl92bG11bF9leHRfeDE2X29wcykKCgoKCgoKCgoKK0RFRl9SVlZf RlVOQ1RJT04gKHZsbXVsX2V4dCwgbWlzYywgbm9uZV9wcmVkcywgYWxsX3ZfdmxtdWxfZXh0X3gz Ml9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2bG11bF9leHQsIG1pc2MsIG5vbmVf cHJlZHMsIGFsbF92X3ZsbXVsX2V4dF94NjRfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodmxtdWxfdHJ1bmMsIG1pc2MsIG5vbmVfcHJlZHMsIGFsbF92X3ZsbXVsX3RydW5jX3gyX29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZsbXVsX3RydW5jLCBtaXNjLCBub25lX3By ZWRzLCBhbGxfdl92bG11bF90cnVuY194NF9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2bG11bF90cnVuYywgbWlzYywgbm9uZV9wcmVkcywgYWxsX3ZfdmxtdWxfdHJ1bmNfeDhfb3Bz KQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmxtdWxfdHJ1bmMsIG1pc2MsIG5vbmVfcHJl ZHMsIGFsbF92X3ZsbXVsX3RydW5jX3gxNl9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9O ICh2bG11bF90cnVuYywgbWlzYywgbm9uZV9wcmVkcywgYWxsX3ZfdmxtdWxfdHJ1bmNfeDMyX29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZsbXVsX3RydW5jLCBtaXNjLCBub25lX3By ZWRzLCBhbGxfdl92bG11bF90cnVuY194NjRfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElP TiAodnNldCwgdnNldCwgbm9uZV9wcmVkcywgYWxsX3ZfdnNldF9sbXVsMV94Ml9vcHMpCgoKCgoK CgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c2V0LCB2c2V0LCBub25lX3ByZWRzLCBhbGxfdl92c2V0 X2xtdWwxX3g0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzZXQsIHZzZXQsIG5v bmVfcHJlZHMsIGFsbF92X3ZzZXRfbG11bDFfeDhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5D VElPTiAodnNldCwgdnNldCwgbm9uZV9wcmVkcywgYWxsX3ZfdnNldF9sbXVsMl94Ml9vcHMpCgoK CgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2c2V0LCB2c2V0LCBub25lX3ByZWRzLCBhbGxfdl92 c2V0X2xtdWwyX3g0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZzZXQsIHZzZXQs IG5vbmVfcHJlZHMsIGFsbF92X3ZzZXRfbG11bDRfeDJfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9G VU5DVElPTiAodmdldCwgdmdldCwgbm9uZV9wcmVkcywgYWxsX3ZfdmdldF9sbXVsMV94Ml9vcHMp CgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Z2V0LCB2Z2V0LCBub25lX3ByZWRzLCBhbGxf dl92Z2V0X2xtdWwxX3g0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZnZXQsIHZn ZXQsIG5vbmVfcHJlZHMsIGFsbF92X3ZnZXRfbG11bDFfeDhfb3BzKQoKCgoKCgoKCgorREVGX1JW Vl9GVU5DVElPTiAodmdldCwgdmdldCwgbm9uZV9wcmVkcywgYWxsX3ZfdmdldF9sbXVsMl94Ml9v cHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Z2V0LCB2Z2V0LCBub25lX3ByZWRzLCBh bGxfdl92Z2V0X2xtdWwyX3g0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZnZXQs IHZnZXQsIG5vbmVfcHJlZHMsIGFsbF92X3ZnZXRfbG11bDRfeDJfb3BzKQoKCgoKCgoKCgorREVG X1JWVl9GVU5DVElPTiAodmNyZWF0ZSwgdmNyZWF0ZSwgbm9uZV9wcmVkcywgYWxsX3ZfdmNyZWF0 ZV9sbXVsMV94Ml9vcHMpCgoKCgoKCgoKCitERUZfUlZWX0ZVTkNUSU9OICh2Y3JlYXRlLCB2Y3Jl YXRlLCBub25lX3ByZWRzLCBhbGxfdl92Y3JlYXRlX2xtdWwxX3g0X29wcykKCgoKCgoKCgoKK0RF Rl9SVlZfRlVOQ1RJT04gKHZjcmVhdGUsIHZjcmVhdGUsIG5vbmVfcHJlZHMsIGFsbF92X3ZjcmVh dGVfbG11bDFfeDhfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodmNyZWF0ZSwgdmNy ZWF0ZSwgbm9uZV9wcmVkcywgYWxsX3ZfdmNyZWF0ZV9sbXVsMl94Ml9vcHMpCgoKCgoKCgoKCitE RUZfUlZWX0ZVTkNUSU9OICh2Y3JlYXRlLCB2Y3JlYXRlLCBub25lX3ByZWRzLCBhbGxfdl92Y3Jl YXRlX2xtdWwyX3g0X29wcykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZjcmVhdGUsIHZj cmVhdGUsIG5vbmVfcHJlZHMsIGFsbF92X3ZjcmVhdGVfbG11bDRfeDJfb3BzKQoKCgoKCgoKCgor CgoKCgoKCgoKCisvLyBUdXBsZSB0eXBlcwoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAodnNl dCwgdnNldCwgbm9uZV9wcmVkcywgYWxsX3ZfdnNldF90dXBsZV9vcHMpCgoKCgoKCgoKCitERUZf UlZWX0ZVTkNUSU9OICh2Z2V0LCB2Z2V0LCBub25lX3ByZWRzLCBhbGxfdl92Z2V0X3R1cGxlX29w cykKCgoKCgoKCgoKK0RFRl9SVlZfRlVOQ1RJT04gKHZjcmVhdGUsIHZjcmVhdGUsIG5vbmVfcHJl ZHMsIGFsbF92X3ZjcmVhdGVfdHVwbGVfb3BzKQoKCgoKCgoKCgorREVGX1JWVl9GVU5DVElPTiAo dnVuZGVmaW5lZCwgdnVuZGVmaW5lZCwgbm9uZV9wcmVkcywgYWxsX25vbmVfdm9pZF90dXBsZV9v cHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bHNlZywgdGhfdmxzZWcsIHNl Z19sb2Fkc3RvcmUsIGZ1bGxfcHJlZHMsIHR1cGxlX3Zfc2NhbGFyX2NvbnN0X3B0cl9vcHMpCgoK CgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c3NlZywgdGhfdnNzZWcsIHNlZ19sb2Fk c3RvcmUsIG5vbmVfbV9wcmVkcywgdHVwbGVfdl9zY2FsYXJfcHRyX29wcykKCgoKCgoKCgoKK0RF Rl9USEVBRF9SVlZfRlVOQ1RJT04gKHZsc3NlZywgdGhfdmxzc2VnLCBzZWdfbG9hZHN0b3JlLCBm dWxsX3ByZWRzLCB0dXBsZV92X3NjYWxhcl9jb25zdF9wdHJfcHRyZGlmZl9vcHMpCgoKCgoKCgoK CitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c3NzZWcsIHRoX3Zzc3NlZywgc2VnX2xvYWRzdG9y ZSwgbm9uZV9tX3ByZWRzLCB0dXBsZV92X3NjYWxhcl9wdHJfcHRyZGlmZl9vcHMpCgoKCgoKCgoK CitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bHV4c2VnLCB0aF92bHV4c2VnLCBzZWdfaW5kZXhl ZF9sb2Fkc3RvcmUsIGZ1bGxfcHJlZHMsIHR1cGxlX3Zfc2NhbGFyX2NvbnN0X3B0cl9lZXc4X2lu ZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZsdXhzZWcsIHRoX3Zs dXhzZWcsIHNlZ19pbmRleGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVkcywgdHVwbGVfdl9zY2FsYXJf Y29uc3RfcHRyX2VldzE2X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJ T04gKHZsdXhzZWcsIHRoX3ZsdXhzZWcsIHNlZ19pbmRleGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVk cywgdHVwbGVfdl9zY2FsYXJfY29uc3RfcHRyX2VldzMyX2luZGV4X29wcykKCgoKCgoKCgoKK0RF Rl9USEVBRF9SVlZfRlVOQ1RJT04gKHZsdXhzZWcsIHRoX3ZsdXhzZWcsIHNlZ19pbmRleGVkX2xv YWRzdG9yZSwgZnVsbF9wcmVkcywgdHVwbGVfdl9zY2FsYXJfY29uc3RfcHRyX2VldzY0X2luZGV4 X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZsb3hzZWcsIHRoX3Zsb3hz ZWcsIHNlZ19pbmRleGVkX2xvYWRzdG9yZSwgZnVsbF9wcmVkcywgdHVwbGVfdl9zY2FsYXJfY29u c3RfcHRyX2VldzhfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAo dmxveHNlZywgdGhfdmxveHNlZywgc2VnX2luZGV4ZWRfbG9hZHN0b3JlLCBmdWxsX3ByZWRzLCB0 dXBsZV92X3NjYWxhcl9jb25zdF9wdHJfZWV3MTZfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RI RUFEX1JWVl9GVU5DVElPTiAodmxveHNlZywgdGhfdmxveHNlZywgc2VnX2luZGV4ZWRfbG9hZHN0 b3JlLCBmdWxsX3ByZWRzLCB0dXBsZV92X3NjYWxhcl9jb25zdF9wdHJfZWV3MzJfaW5kZXhfb3Bz KQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodmxveHNlZywgdGhfdmxveHNlZywg c2VnX2luZGV4ZWRfbG9hZHN0b3JlLCBmdWxsX3ByZWRzLCB0dXBsZV92X3NjYWxhcl9jb25zdF9w dHJfZWV3NjRfaW5kZXhfb3BzKQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnN1 eHNlZywgdGhfdnN1eHNlZywgc2VnX2luZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIHR1 cGxlX3Zfc2NhbGFyX3B0cl9lZXc4X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZf RlVOQ1RJT04gKHZzdXhzZWcsIHRoX3ZzdXhzZWcsIHNlZ19pbmRleGVkX2xvYWRzdG9yZSwgbm9u ZV9tX3ByZWRzLCB0dXBsZV92X3NjYWxhcl9wdHJfZWV3MTZfaW5kZXhfb3BzKQoKCgoKCgoKCgor REVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnN1eHNlZywgdGhfdnN1eHNlZywgc2VnX2luZGV4ZWRf bG9hZHN0b3JlLCBub25lX21fcHJlZHMsIHR1cGxlX3Zfc2NhbGFyX3B0cl9lZXczMl9pbmRleF9v cHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2c3V4c2VnLCB0aF92c3V4c2Vn LCBzZWdfaW5kZXhlZF9sb2Fkc3RvcmUsIG5vbmVfbV9wcmVkcywgdHVwbGVfdl9zY2FsYXJfcHRy X2VldzY0X2luZGV4X29wcykKCgoKCgoKCgoKK0RFRl9USEVBRF9SVlZfRlVOQ1RJT04gKHZzb3hz ZWcsIHRoX3Zzb3hzZWcsIHNlZ19pbmRleGVkX2xvYWRzdG9yZSwgbm9uZV9tX3ByZWRzLCB0dXBs ZV92X3NjYWxhcl9wdHJfZWV3OF9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZV TkNUSU9OICh2c294c2VnLCB0aF92c294c2VnLCBzZWdfaW5kZXhlZF9sb2Fkc3RvcmUsIG5vbmVf bV9wcmVkcywgdHVwbGVfdl9zY2FsYXJfcHRyX2VldzE2X2luZGV4X29wcykKCgoKCgoKCgoKK0RF Rl9USEVBRF9SVlZfRlVOQ1RJT04gKHZzb3hzZWcsIHRoX3Zzb3hzZWcsIHNlZ19pbmRleGVkX2xv YWRzdG9yZSwgbm9uZV9tX3ByZWRzLCB0dXBsZV92X3NjYWxhcl9wdHJfZWV3MzJfaW5kZXhfb3Bz KQoKCgoKCgoKCgorREVGX1RIRUFEX1JWVl9GVU5DVElPTiAodnNveHNlZywgdGhfdnNveHNlZywg c2VnX2luZGV4ZWRfbG9hZHN0b3JlLCBub25lX21fcHJlZHMsIHR1cGxlX3Zfc2NhbGFyX3B0cl9l ZXc2NF9pbmRleF9vcHMpCgoKCgoKCgoKCitERUZfVEhFQURfUlZWX0ZVTkNUSU9OICh2bHNlZ2Zm LCB0aF92bHNlZ2ZmLCBzZWdfZmF1bHRfbG9hZCwgZnVsbF9wcmVkcywgdHVwbGVfdl9zY2FsYXJf Y29uc3RfcHRyX3NpemVfcHRyX29wcykKCgoKCgoKCgoKKyN1bmRlZiBSRVFVSVJFRF9FWFRFTlNJ T05TCgoKCgoKCgoKCisKCgoKCgoKCgoKKyN1bmRlZiBERUZfUlZWX0ZVTkNUSU9OCgoKCgoKCgoK CisjdW5kZWYgREVGX1RIRUFEX1JWVl9GVU5DVElPTgoKCgoKCgoKCgpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQt dmVjdG9yLWJ1aWx0aW5zLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3ItYnVpbHRp bnMuY2MKCgoKCgoKCgoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKCgoKCgoKCgoKaW5kZXggMDAwMDAw MDAwMDAuLjlkODRlZDM5OTM3CgoKCgoKCgoKCi0tLSAvZGV2L251bGwKCgoKCgoKCgoKKysrIGIv Z2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3ItYnVpbHRpbnMuY2MKCgoKCgoKCgoKQEAgLTAs MCArMSw3NDYgQEAKCgoKCgoKCgoKKy8qIGZ1bmN0aW9uX2Jhc2UgaW1wbGVtZW50YXRpb24gZm9y IFJJU0MtViBYVGhlYWRWZWN0b3IgRXh0ZW5zaW9uCgoKCgoKCgoKCisgwqAgZm9yIEdOVSBjb21w aWxlci4KCgoKCgoKCgoKKyDCoCBDb3B5cmlnaHQgKEMpIDIwMjItMjAyMyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KCgoKCgoKCgoKKyDCoCBDb250cmlidXRlZCBieSBKb3NodWEgKGNv b3Blci5qb3NodWFAbGludXguYWxpYmFiYS5jb20pLCBULUhlYWQKCgoKCgoKCgoKKyDCoCBTZW1p Y29uZHVjdG9yIENvLiwgTHRkLgoKCgoKCgoKCgorCgoKCgoKCgoKCisgwqAgVGhpcyBmaWxlIGlz IHBhcnQgb2YgR0NDLgoKCgoKCgoKCgorCgoKCgoKCgoKCisgwqAgR0NDIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKCgoKCgoKCgoKKyDC oCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQoKCgoKCgoKCgorIMKgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKCgoKCgoKCgoKKyDCoCBhbnkgbGF0 ZXIgdmVyc2lvbi4KCgoKCgoKCgoKKwoKCgoKCgoKCgorIMKgIEdDQyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKCgoKCgoKCgoKKyDCoCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCgoK CgoKCgoKCisgwqAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLsKgIFNlZSB0aGUgR05VCgoKCgoKCgoKCisgwqAgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgoKCgoKCgoKCgorCgoKCgoKCgoKCisgwqAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKCgoK CgoKCgoKKyDCoCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLsKgIElmIG5v dCBzZWUKCgoKCgoKCgoKKyDCoCA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uwqAgKi8K CgoKCgoKCgoKKwoKCgoKCgoKCgorI2luY2x1ZGUgImNvbmZpZy5oIgoKCgoKCgoKCgorI2luY2x1 ZGUgInN5c3RlbS5oIgoKCgoKCgoKCgorI2luY2x1ZGUgImNvcmV0eXBlcy5oIgoKCgoKCgoKCgor I2luY2x1ZGUgInRtLmgiCgoKCgoKCgoKCisjaW5jbHVkZSAidHJlZS5oIgoKCgoKCgoKCgorI2lu Y2x1ZGUgInJ0bC5oIgoKCgoKCgoKCgorI2luY2x1ZGUgInRtX3AuaCIKCgoKCgoKCgoKKyNpbmNs dWRlICJtZW1tb2RlbC5oIgoKCgoKCgoKCgorI2luY2x1ZGUgImluc24tY29kZXMuaCIKCgoKCgoK CgoKKyNpbmNsdWRlICJvcHRhYnMuaCIKCgoKCgoKCgoKKyNpbmNsdWRlICJyZWNvZy5oIgoKCgoK CgoKCgorI2luY2x1ZGUgImV4cHIuaCIKCgoKCgoKCgoKKyNpbmNsdWRlICJiYXNpYy1ibG9jay5o IgoKCgoKCgoKCgorI2luY2x1ZGUgImZ1bmN0aW9uLmgiCgoKCgoKCgoKCisjaW5jbHVkZSAiZm9s ZC1jb25zdC5oIgoKCgoKCgoKCgorI2luY2x1ZGUgImdpbXBsZS5oIgoKCgoKCgoKCgorI2luY2x1 ZGUgImdpbXBsZS1pdGVyYXRvci5oIgoKCgoKCgoKCgorI2luY2x1ZGUgImdpbXBsaWZ5LmgiCgoK CgoKCgoKCisjaW5jbHVkZSAiZXhwbG93LmgiCgoKCgoKCgoKCisjaW5jbHVkZSAiZW1pdC1ydGwu aCIKCgoKCgoKCgoKKyNpbmNsdWRlICJ0cmVlLXZlY3Rvci1idWlsZGVyLmgiCgoKCgoKCgoKCisj aW5jbHVkZSAicnR4LXZlY3Rvci1idWlsZGVyLmgiCgoKCgoKCgoKCisjaW5jbHVkZSAicmlzY3Yt dmVjdG9yLWJ1aWx0aW5zLmgiCgoKCgoKCgoKCisjaW5jbHVkZSAicmlzY3YtdmVjdG9yLWJ1aWx0 aW5zLXNoYXBlcy5oIgoKCgoKCgoKCgorI2luY2x1ZGUgInJpc2N2LXZlY3Rvci1idWlsdGlucy1i YXNlcy5oIgoKCgoKCgoKCgorI2luY2x1ZGUgInRoZWFkLXZlY3Rvci1idWlsdGlucy5oIgoKCgoK CgoKCgorCgoKCgoKCgoKCit1c2luZyBuYW1lc3BhY2UgcmlzY3ZfdmVjdG9yOwoKCgoKCgoKCgor CgoKCgoKCgoKCituYW1lc3BhY2UgcmlzY3ZfdmVjdG9yIHsKCgoKCgoKCgoKKwoKCgoKCgoKCgor LyogSW1wbGVtZW50cyB2c2V0dmw8bW9kZT4gJiYgdnNldHZsbWF4PG1vZGU+LsKgICovCgoKCgoK CgoKCit0ZW1wbGF0ZTxib29sIFZMTUFYX1A+CgoKCgoKCgoKCitjbGFzcyB0aF92c2V0dmwgOiBw dWJsaWMgZnVuY3Rpb25fYmFzZQoKCgoKCgoKCgorewoKCgoKCgoKCgorcHVibGljOgoKCgoKCgoK CgorwqAgYm9vbCBhcHBseV92bF9wICgpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoK CgoKCgoKCivCoCDCoCByZXR1cm4gZmFsc2U7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCisKCgoK CgoKCgoKK8KgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZlKSBjb25zdCBvdmVycmlk ZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgaWYgKFZMTUFYX1ApCgoKCgoKCgoKCivC oCDCoCDCoCBlLmFkZF9pbnB1dF9vcGVyYW5kIChQbW9kZSwgZ2VuX3J0eF9SRUcgKFBtb2RlLCAw KSk7CgoKCgoKCgoKCivCoCDCoCBlbHNlCgoKCgoKCgoKCivCoCDCoCDCoCBlLmFkZF9pbnB1dF9v cGVyYW5kICgwKTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgwqAgdHJlZSB0eXBlID0gYnVpbHRp bl90eXBlc1tlLnR5cGUuaW5kZXhdLnZlY3RvcjsKCgoKCgoKCgoKK8KgIMKgIG1hY2hpbmVfbW9k ZSBtb2RlID0gVFlQRV9NT0RFICh0eXBlKTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgwqAgbWFj aGluZV9tb2RlIGlubmVyX21vZGUgPSBHRVRfTU9ERV9JTk5FUiAobW9kZSk7CgoKCgoKCgoKCivC oCDCoCAvKiBTRVcuwqAgKi8KCgoKCgoKCgoKK8KgIMKgIGUuYWRkX2lucHV0X29wZXJhbmQgKFBt b2RlLAoKCgoKCgoKCgorwqAgwqAgwqAgZ2VuX2ludF9tb2RlIChHRVRfTU9ERV9CSVRTSVpFIChp bm5lcl9tb2RlKSwgUG1vZGUpKTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgwqAgLyogTE1VTC7C oCAqLwoKCgoKCgoKCgorwqAgwqAgZS5hZGRfaW5wdXRfb3BlcmFuZCAoUG1vZGUsCgoKCgoKCgoK CivCoCDCoCDCoCBnZW5faW50X21vZGUgKGdldF92bG11bCAobW9kZSksIFBtb2RlKSk7CgoKCgoK CgoKCisKCgoKCgoKCgoKK8KgIMKgIC8qIFRBSUxfQU5ZLsKgICovCgoKCgoKCgoKCivCoCDCoCBl LmFkZF9pbnB1dF9vcGVyYW5kIChQbW9kZSwKCgoKCgoKCgoKKyBnZW5faW50X21vZGUgKGdldF9w cmVmZXJfdGFpbF9wb2xpY3kgKCksIFBtb2RlKSk7CgoKCgoKCgoKCisKCgoKCgoKCgoKK8KgIMKg IC8qIE1BU0tfQU5ZLsKgICovCgoKCgoKCgoKCivCoCDCoCBlLmFkZF9pbnB1dF9vcGVyYW5kIChQ bW9kZSwKCgoKCgoKCgoKKyBnZW5faW50X21vZGUgKGdldF9wcmVmZXJfbWFza19wb2xpY3kgKCks IFBtb2RlKSk7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gZS5nZW5lcmF0ZV9pbnNuIChjb2RlX2Zv cl90aF92c2V0dmxfbm9fc2lkZV9lZmZlY3RzIChQbW9kZSkpOwoKCgoKCgoKCgorwqAgfQoKCgoK CgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorLyogSW1wbGVtZW50cwoKCgoKCgoKCgorICog dmxlLnYvdnNlLnYvdmxtLnYvdnNtLnYvdmxzZS52L3Zzc2Uudi92bHV4ZWkudi92bG94ZWkudi92 c3V4ZWkudi92c294ZWkudgoKCgoKCgoKCgorICogY29kZWdlbi7CoCAqLwoKCgoKCgoKCgordGVt cGxhdGU8Ym9vbCBTVE9SRV9QLCBsc3RfdHlwZSBMU1RfVFlQRSwgYm9vbCBPUkRFUkVEX1A+CgoK CgoKCgoKCitjbGFzcyB0aF9sb2Fkc3RvcmUgOiBwdWJsaWMgZnVuY3Rpb25fYmFzZQoKCgoKCgoK CgorewoKCgoKCgoKCgorcHVibGljOgoKCgoKCgoKCgorwqAgYm9vbCBhcHBseV90YWlsX3BvbGlj eV9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICFTVE9SRV9QOyB9CgoKCgoKCgoKCivCoCBi b29sIGFwcGx5X21hc2tfcG9saWN5X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIVNUT1JF X1A7IH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgdW5zaWduZWQgaW50IGNhbGxfcHJvcGVydGll cyAoY29uc3QgZnVuY3Rpb25faW5zdGFuY2UgJikgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8Kg IHsKCgoKCgoKCgoKK8KgIMKgIGlmIChTVE9SRV9QKQoKCgoKCgoKCgorwqAgwqAgwqAgcmV0dXJu IENQX1dSSVRFX01FTU9SWTsKCgoKCgoKCgoKK8KgIMKgIGVsc2UKCgoKCgoKCgoKK8KgIMKgIMKg IHJldHVybiBDUF9SRUFEX01FTU9SWTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoK CgorwqAgYm9vbCBjYW5fYmVfb3ZlcmxvYWRlZF9wIChlbnVtIHByZWRpY2F0aW9uX3R5cGVfaW5k ZXggcHJlZCkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIGlm IChTVE9SRV9QIHx8IExTVF9UWVBFID09IExTVF9JTkRFWEVEKQoKCgoKCgoKCgorwqAgwqAgwqAg cmV0dXJuIHRydWU7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gcHJlZCAhPSBQUkVEX1RZUEVfbm9u ZTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgcnR4IGV4cGFuZCAoZnVu Y3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoK CivCoCDCoCBpZiAoTFNUX1RZUEUgPT0gTFNUX0lOREVYRUQpCgoKCgoKCgoKCivCoCDCoCDCoCB7 CgoKCgoKCgoKCisgaW50IHVuc3BlYyA9IE9SREVSRURfUCA/IFVOU1BFQ19PUkRFUkVEIDogVU5T UEVDX1VOT1JERVJFRDsKCgoKCgoKCgoKKyBpZiAoU1RPUkVfUCkKCgoKCgoKCgoKKyDCoCDCoCBy ZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCisgwqAgwqAgwqAgY29kZV9mb3JfcHJl ZF90aF9pbmRleGVkX3N0b3JlICh1bnNwZWMsIGUudmVjdG9yX21vZGUgKCksCgoKCgoKCgoKCisg wqAgwqAgwqAgZS5pbmRleF9tb2RlICgpKSk7CgoKCgoKCgoKCisgZWxzZQoKCgoKCgoKCgorIMKg IHsKCgoKCgoKCgoKKyDCoCDCoCB1bnNpZ25lZCBzcmNfZWV3X2JpdHNpemUKCgoKCgoKCgoKKyDC oCDCoCDCoCA9IEdFVF9NT0RFX0JJVFNJWkUgKEdFVF9NT0RFX0lOTkVSIChlLmluZGV4X21vZGUg KCkpKTsKCgoKCgoKCgoKKyDCoCDCoCB1bnNpZ25lZCBkc3RfZWV3X2JpdHNpemUKCgoKCgoKCgoK KyDCoCDCoCDCoCA9IEdFVF9NT0RFX0JJVFNJWkUgKEdFVF9NT0RFX0lOTkVSIChlLnZlY3Rvcl9t b2RlICgpKSk7CgoKCgoKCgoKCisgwqAgwqAgaWYgKGRzdF9lZXdfYml0c2l6ZSA9PSBzcmNfZWV3 X2JpdHNpemUpCgoKCgoKCgoKCisgwqAgwqAgwqAgewoKCgoKCgoKCgorIHJldHVybiBlLnVzZV9l eGFjdF9pbnNuICgKCgoKCgoKCgoKKyDCoCBjb2RlX2Zvcl9wcmVkX3RoX2luZGV4ZWRfbG9hZF9z YW1lX2VldyAoCgoKCgoKCgoKCisgwqAgwqAgdW5zcGVjLCBlLnZlY3Rvcl9tb2RlICgpKSk7CgoK CgoKCgoKCisgwqAgwqAgwqAgfQoKCgoKCgoKCgorIMKgIMKgIGVsc2UgaWYgKGRzdF9lZXdfYml0 c2l6ZSA+IHNyY19lZXdfYml0c2l6ZSkKCgoKCgoKCgoKKyDCoCDCoCDCoCB7CgoKCgoKCgoKCisg dW5zaWduZWQgZmFjdG9yID0gZHN0X2Vld19iaXRzaXplIC8gc3JjX2Vld19iaXRzaXplOwoKCgoK CgoKCgorIHN3aXRjaCAoZmFjdG9yKQoKCgoKCgoKCgorIMKgIHsKCgoKCgoKCgoKKyDCoCBjYXNl IDI6CgoKCgoKCgoKCisgwqAgwqAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKAoKCgoKCgoKCgor IMKgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfaW5kZXhlZF9sb2FkX3gyX2dyZWF0ZXJfZWV3ICgK CgoKCgoKCgoKKyB1bnNwZWMsIGUudmVjdG9yX21vZGUgKCkpKTsKCgoKCgoKCgoKKyDCoCBjYXNl IDQ6CgoKCgoKCgoKCisgwqAgwqAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKAoKCgoKCgoKCgor IMKgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfaW5kZXhlZF9sb2FkX3g0X2dyZWF0ZXJfZWV3ICgK CgoKCgoKCgoKKyB1bnNwZWMsIGUudmVjdG9yX21vZGUgKCkpKTsKCgoKCgoKCgoKKyDCoCBjYXNl IDg6CgoKCgoKCgoKCisgwqAgwqAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKAoKCgoKCgoKCgor IMKgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfaW5kZXhlZF9sb2FkX3g4X2dyZWF0ZXJfZWV3ICgK CgoKCgoKCgoKKyB1bnNwZWMsIGUudmVjdG9yX21vZGUgKCkpKTsKCgoKCgoKCgoKKyDCoCBkZWZh dWx0OgoKCgoKCgoKCgorIMKgIMKgIGdjY191bnJlYWNoYWJsZSAoKTsKCgoKCgoKCgoKKyDCoCB9 CgoKCgoKCgoKCisgwqAgwqAgwqAgfQoKCgoKCgoKCgorIMKgIMKgIGVsc2UKCgoKCgoKCgoKKyDC oCDCoCDCoCB7CgoKCgoKCgoKCisgdW5zaWduZWQgZmFjdG9yID0gc3JjX2Vld19iaXRzaXplIC8g ZHN0X2Vld19iaXRzaXplOwoKCgoKCgoKCgorIHN3aXRjaCAoZmFjdG9yKQoKCgoKCgoKCgorIMKg IHsKCgoKCgoKCgoKKyDCoCBjYXNlIDI6CgoKCgoKCgoKCisgwqAgwqAgcmV0dXJuIGUudXNlX2V4 YWN0X2luc24gKAoKCgoKCgoKCgorIMKgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfaW5kZXhlZF9s b2FkX3gyX3NtYWxsZXJfZWV3ICgKCgoKCgoKCgoKKyB1bnNwZWMsIGUudmVjdG9yX21vZGUgKCkp KTsKCgoKCgoKCgoKKyDCoCBjYXNlIDQ6CgoKCgoKCgoKCisgwqAgwqAgcmV0dXJuIGUudXNlX2V4 YWN0X2luc24gKAoKCgoKCgoKCgorIMKgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfaW5kZXhlZF9s b2FkX3g0X3NtYWxsZXJfZWV3ICgKCgoKCgoKCgoKKyB1bnNwZWMsIGUudmVjdG9yX21vZGUgKCkp KTsKCgoKCgoKCgoKKyDCoCBjYXNlIDg6CgoKCgoKCgoKCisgwqAgwqAgcmV0dXJuIGUudXNlX2V4 YWN0X2luc24gKAoKCgoKCgoKCgorIMKgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfaW5kZXhlZF9s b2FkX3g4X3NtYWxsZXJfZWV3ICgKCgoKCgoKCgoKKyB1bnNwZWMsIGUudmVjdG9yX21vZGUgKCkp KTsKCgoKCgoKCgoKKyDCoCBkZWZhdWx0OgoKCgoKCgoKCgorIMKgIMKgIGdjY191bnJlYWNoYWJs ZSAoKTsKCgoKCgoKCgoKKyDCoCB9CgoKCgoKCgoKCisgwqAgwqAgwqAgfQoKCgoKCgoKCgorIMKg IH0KCgoKCgoKCgoKK8KgIMKgIMKgIH0KCgoKCgoKCgoKK8KgIMKgIGVsc2UgaWYgKExTVF9UWVBF ID09IExTVF9TVFJJREVEKQoKCgoKCgoKCgorwqAgwqAgwqAgewoKCgoKCgoKCgorIGlmIChTVE9S RV9QKQoKCgoKCgoKCgorIMKgIHJldHVybiBlLnVzZV9jb250aWd1b3VzX3N0b3JlX2luc24gKAoK CgoKCgoKCgorIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfc3RyaWRlZF9zdG9yZSAoZS52ZWN0b3Jf bW9kZSAoKSkpOwoKCgoKCgoKCgorIGVsc2UKCgoKCgoKCgoKKyDCoCByZXR1cm4gZS51c2VfY29u dGlndW91c19sb2FkX2luc24gKAoKCgoKCgoKCgorIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfc3Ry aWRlZF9sb2FkIChlLnZlY3Rvcl9tb2RlICgpKSk7CgoKCgoKCgoKCivCoCDCoCDCoCB9CgoKCgoK CgoKCivCoCDCoCBlbHNlCgoKCgoKCgoKCivCoCDCoCDCoCB7CgoKCgoKCgoKCisgaWYgKFNUT1JF X1ApCgoKCgoKCgoKCisgwqAgcmV0dXJuIGUudXNlX2NvbnRpZ3VvdXNfc3RvcmVfaW5zbiAoCgoK CgoKCgoKCisgwqAgwqAgY29kZV9mb3JfcHJlZF90aF9zdG9yZSAoZS52ZWN0b3JfbW9kZSAoKSkp OwoKCgoKCgoKCgorIGVsc2UKCgoKCgoKCgoKKyDCoCByZXR1cm4gZS51c2VfY29udGlndW91c19s b2FkX2luc24gKAoKCgoKCgoKCgorIMKgIMKgIGNvZGVfZm9yX3ByZWRfbW92IChlLnZlY3Rvcl9t b2RlICgpKSk7CgoKCgoKCgoKCivCoCDCoCDCoCB9CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCit9 OwoKCgoKCgoKCgorCgoKCgoKCgoKCisvKiBJbXBsZW1lbnRzIHZuZWcvdm5vdC7CoCAqLwoKCgoK CgoKCgordGVtcGxhdGU8cnR4X2NvZGUgQ09ERSwgZW51bSBmcm1fb3BfdHlwZSBGUk1fT1AgPSBO T19GUk0+CgoKCgoKCgoKCitjbGFzcyB0aF91bm9wIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UKCgoK CgoKCgoKK3sKCgoKCgoKCgoKK3B1YmxpYzoKCgoKCgoKCgoKK8KgIGJvb2wgaGFzX3JvdW5kaW5n X21vZGVfb3BlcmFuZF9wICgpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoK CivCoCDCoCByZXR1cm4gRlJNX09QID09IEhBU19GUk07CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoK CisKCgoKCgoKCgoKK8KgIGJvb2wgbWF5X3JlcXVpcmVfZnJtX3AgKCkgY29uc3Qgb3ZlcnJpZGUg eyByZXR1cm4gdHJ1ZTsgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCBydHggZXhwYW5kIChmdW5j dGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoK K8KgIMKgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuIChjb2RlX2Zvcl9wcmVkX3RoIChDT0RFLCBl LnZlY3Rvcl9tb2RlICgpKSk7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCit9OwoKCgoKCgoKCgor CgoKCgoKCgoKCisvKiBJbXBsZW1lbnRzIHZuc3JsL3Zuc3JhLsKgICovCgoKCgoKCgoKCit0ZW1w bGF0ZTxydHhfY29kZSBDT0RFPgoKCgoKCgoKCgorY2xhc3MgdGhfdm5zaGlmdCA6IHB1YmxpYyBm dW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoKCitwdWJsaWM6CgoKCgoKCgoKCivCoCBy dHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoK K8KgIHsKCgoKCgoKCgoKK8KgIMKgIHN3aXRjaCAoZS5vcF9pbmZvLT5vcCkKCgoKCgoKCgoKK8Kg IMKgIMKgIHsKCgoKCgoKCgoKK8KgIMKgIMKgIGNhc2UgT1BfVFlQRV93eDoKCgoKCgoKCgoKKyBy ZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCisgwqAgY29kZV9mb3JfcHJlZF90aF9u YXJyb3dfc2NhbGFyIChDT0RFLCBlLnZlY3Rvcl9tb2RlICgpKSk7CgoKCgoKCgoKCivCoCDCoCDC oCBjYXNlIE9QX1RZUEVfd3Y6CgoKCgoKCgoKCisgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKAoK CgoKCgoKCgorIMKgIGNvZGVfZm9yX3ByZWRfdGhfbmFycm93IChDT0RFLCBlLnZlY3Rvcl9tb2Rl ICgpKSk7CgoKCgoKCgoKCivCoCDCoCDCoCBkZWZhdWx0OgoKCgoKCgoKCgorIGdjY191bnJlYWNo YWJsZSAoKTsKCgoKCgoKCgoKK8KgIMKgIMKgIH0KCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKK307 CgoKCgoKCgoKCisKCgoKCgoKCgoKKy8qIEltcGxlbWVudHMgdm5jdnQuwqAgKi8KCgoKCgoKCgoK K2NsYXNzIHRoX3ZuY3Z0X3ggOiBwdWJsaWMgZnVuY3Rpb25fYmFzZQoKCgoKCgoKCgorewoKCgoK CgoKCgorcHVibGljOgoKCgoKCgoKCgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIg JmUpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4g ZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCivCoCDCoCDCoCBjb2RlX2Zvcl9wcmVkX3RoX3Ry dW5jIChlLnZlY3Rvcl9tb2RlICgpKSk7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCit9OwoKCgoK CgoKCgorCgoKCgoKCgoKCisvKiBJbXBsZW1lbnRzIHZuY2xpcC92bmNsaXB1LsKgICovCgoKCgoK CgoKCit0ZW1wbGF0ZTxpbnQgVU5TUEVDPgoKCgoKCgoKCgorY2xhc3MgdGhfdm5jbGlwIDogcHVi bGljIGZ1bmN0aW9uX2Jhc2UKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK3B1YmxpYzoKCgoKCgoKCgoK K8KgIGJvb2wgaGFzX3JvdW5kaW5nX21vZGVfb3BlcmFuZF9wICgpIGNvbnN0IG92ZXJyaWRlIHsg cmV0dXJuIHRydWU7IH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgYm9vbCBtYXlfcmVxdWlyZV92 eHJtX3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQoKCgoKCgoKCgorCgoKCgoK CgoKCivCoCBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUK CgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIHN3aXRjaCAoZS5vcF9pbmZvLT5vcCkKCgoK CgoKCgoKK8KgIMKgIMKgIHsKCgoKCgoKCgoKK8KgIMKgIMKgIGNhc2UgT1BfVFlQRV93eDoKCgoK CgoKCgoKKyByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCisgwqAgY29kZV9mb3Jf cHJlZF90aF9uYXJyb3dfY2xpcF9zY2FsYXIgKFVOU1BFQywgZS52ZWN0b3JfbW9kZSAoKSkpOwoK CgoKCgoKCgorwqAgwqAgwqAgY2FzZSBPUF9UWVBFX3d2OgoKCgoKCgoKCgorIHJldHVybiBlLnVz ZV9leGFjdF9pbnNuICgKCgoKCgoKCgoKKyDCoCBjb2RlX2Zvcl9wcmVkX3RoX25hcnJvd19jbGlw IChVTlNQRUMsIGUudmVjdG9yX21vZGUgKCkpKTsKCgoKCgoKCgoKK8KgIMKgIMKgIGRlZmF1bHQ6 CgoKCgoKCgoKCisgZ2NjX3VucmVhY2hhYmxlICgpOwoKCgoKCgoKCgorwqAgwqAgwqAgfQoKCgoK CgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorLyogSW1wbGVtZW50 cyB2Y3BvcC7CoCAqLwoKCgoKCgoKCgorY2xhc3MgdGhfdmNwb3AgOiBwdWJsaWMgZnVuY3Rpb25f YmFzZQoKCgoKCgoKCgorewoKCgoKCgoKCgorcHVibGljOgoKCgoKCgoKCgorwqAgYm9vbCBhcHBs eV90YWlsX3BvbGljeV9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CgoKCgoK CgoKCivCoCBib29sIGFwcGx5X21hc2tfcG9saWN5X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1 cm4gZmFsc2U7IH0KCgoKCgoKCgoKK8KgIGJvb2wgaGFzX21lcmdlX29wZXJhbmRfcCAoKSBjb25z dCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCBydHgg ZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8Kg IHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuICgKCgoKCgoKCgoKK8Kg IMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfcG9wY291bnQgKGUudmVjdG9yX21vZGUgKCksIFBtb2Rl KSk7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCit9OwoKCgoKCgoKCgorCgoKCgoKCgoKCisvKiBJ bXBsZW1lbnRzIHZmaXJzdC7CoCAqLwoKCgoKCgoKCgorY2xhc3MgdGhfdmZpcnN0IDogcHVibGlj IGZ1bmN0aW9uX2Jhc2UKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK3B1YmxpYzoKCgoKCgoKCgoKK8Kg IGJvb2wgYXBwbHlfdGFpbF9wb2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz ZTsgfQoKCgoKCgoKCgorwqAgYm9vbCBhcHBseV9tYXNrX3BvbGljeV9wICgpIGNvbnN0IG92ZXJy aWRlIHsgcmV0dXJuIGZhbHNlOyB9CgoKCgoKCgoKCivCoCBib29sIGhhc19tZXJnZV9vcGVyYW5k X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KCgoKCgoKCgoKKwoKCgoKCgoK CgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoK CgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoK CgoKCgoKCivCoCDCoCDCoCBjb2RlX2Zvcl9wcmVkX3RoX2ZmcyAoZS52ZWN0b3JfbW9kZSAoKSwg UG1vZGUpKTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKK307CgoKCgoKCgoKCisKCgoKCgoKCgoK Ky8qIEltcGxlbWVudHMgdm1hZGMuwqAgKi8KCgoKCgoKCgoKK2NsYXNzIHRoX3ZtYWRjIDogcHVi bGljIGZ1bmN0aW9uX2Jhc2UKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK3B1YmxpYzoKCgoKCgoKCgoK K8KgIGJvb2wgYXBwbHlfdGFpbF9wb2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm YWxzZTsgfQoKCgoKCgoKCgorwqAgYm9vbCBhcHBseV9tYXNrX3BvbGljeV9wICgpIGNvbnN0IG92 ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CgoKCgoKCgoKCivCoCBib29sIHVzZV9tYXNrX3ByZWRp Y2F0aW9uX3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KCgoKCgoKCgoKK8Kg IGJvb2wgaGFzX21lcmdlX29wZXJhbmRfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz ZTsgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRl ciAmZSkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIHN3aXRj aCAoZS5vcF9pbmZvLT5vcCkKCgoKCgoKCgoKK8KgIMKgIMKgIHsKCgoKCgoKCgoKK8KgIMKgIMKg IGNhc2UgT1BfVFlQRV92dm06CgoKCgoKCgoKCisgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKGNv ZGVfZm9yX3ByZWRfdGhfbWFkYyAoZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoKCgorwqAgwqAg wqAgY2FzZSBPUF9UWVBFX3Z4bToKCgoKCgoKCgoKKyByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAo Y29kZV9mb3JfcHJlZF90aF9tYWRjX3NjYWxhciAoZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoK CgorwqAgwqAgwqAgY2FzZSBPUF9UWVBFX3Z2OgoKCgoKCgoKCgorIHJldHVybiBlLnVzZV9leGFj dF9pbnNuICgKCgoKCgoKCgoKKyDCoCBjb2RlX2Zvcl9wcmVkX3RoX21hZGNfb3ZlcmZsb3cgKGUu dmVjdG9yX21vZGUgKCkpKTsKCgoKCgoKCgoKK8KgIMKgIMKgIGNhc2UgT1BfVFlQRV92eDoKCgoK CgoKCgoKKyByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCisgwqAgY29kZV9mb3Jf cHJlZF90aF9tYWRjX292ZXJmbG93X3NjYWxhciAoZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoK CgorwqAgwqAgwqAgZGVmYXVsdDoKCgoKCgoKCgoKKyBnY2NfdW5yZWFjaGFibGUgKCk7CgoKCgoK CgoKCivCoCDCoCDCoCB9CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCit9OwoKCgoKCgoKCgorCgoK CgoKCgoKCisvKiBJbXBsZW1lbnRzIHZtc2JjLsKgICovCgoKCgoKCgoKCitjbGFzcyB0aF92bXNi YyA6IHB1YmxpYyBmdW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoKCitwdWJsaWM6CgoK CgoKCgoKCivCoCBib29sIGFwcGx5X3RhaWxfcG9saWN5X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyBy ZXR1cm4gZmFsc2U7IH0KCgoKCgoKCgoKK8KgIGJvb2wgYXBwbHlfbWFza19wb2xpY3lfcCAoKSBj b25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQoKCgoKCgoKCgorwqAgYm9vbCB1c2VfbWFz a19wcmVkaWNhdGlvbl9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CgoKCgoK CgoKCivCoCBib29sIGhhc19tZXJnZV9vcGVyYW5kX3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1 cm4gZmFsc2U7IH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25f ZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDC oCBzd2l0Y2ggKGUub3BfaW5mby0+b3ApCgoKCgoKCgoKCivCoCDCoCDCoCB7CgoKCgoKCgoKCivC oCDCoCDCoCBjYXNlIE9QX1RZUEVfdnZtOgoKCgoKCgoKCgorIHJldHVybiBlLnVzZV9leGFjdF9p bnNuIChjb2RlX2Zvcl9wcmVkX3RoX21zYmMgKGUudmVjdG9yX21vZGUgKCkpKTsKCgoKCgoKCgoK K8KgIMKgIMKgIGNhc2UgT1BfVFlQRV92eG06CgoKCgoKCgoKCisgcmV0dXJuIGUudXNlX2V4YWN0 X2luc24gKGNvZGVfZm9yX3ByZWRfdGhfbXNiY19zY2FsYXIgKGUudmVjdG9yX21vZGUgKCkpKTsK CgoKCgoKCgoKK8KgIMKgIMKgIGNhc2UgT1BfVFlQRV92djoKCgoKCgoKCgoKKyByZXR1cm4gZS51 c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCisgwqAgY29kZV9mb3JfcHJlZF90aF9tc2JjX292ZXJm bG93IChlLnZlY3Rvcl9tb2RlICgpKSk7CgoKCgoKCgoKCivCoCDCoCDCoCBjYXNlIE9QX1RZUEVf dng6CgoKCgoKCgoKCisgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKAoKCgoKCgoKCgorIMKgIGNv ZGVfZm9yX3ByZWRfdGhfbXNiY19vdmVyZmxvd19zY2FsYXIgKGUudmVjdG9yX21vZGUgKCkpKTsK CgoKCgoKCgoKK8KgIMKgIMKgIGRlZmF1bHQ6CgoKCgoKCgoKCisgZ2NjX3VucmVhY2hhYmxlICgp OwoKCgoKCgoKCgorwqAgwqAgwqAgfQoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoK CgoKKwoKCgoKCgoKCgorLyogSW1wbGVtZW50cyB2Zm5jdnQueC7CoCAqLwoKCgoKCgoKCgordGVt cGxhdGU8aW50IFVOU1BFQywgZW51bSBmcm1fb3BfdHlwZSBGUk1fT1AgPSBOT19GUk0+CgoKCgoK CgoKCitjbGFzcyB0aF92Zm5jdnRfeCA6IHB1YmxpYyBmdW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7 CgoKCgoKCgoKCitwdWJsaWM6CgoKCgoKCgoKCivCoCBib29sIGhhc19yb3VuZGluZ19tb2RlX29w ZXJhbmRfcCAoKSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAg cmV0dXJuIEZSTV9PUCA9PSBIQVNfRlJNOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorCgoKCgoK CgoKCivCoCBib29sIG1heV9yZXF1aXJlX2ZybV9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu IHRydWU7IH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhw YW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCBy ZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCivCoCDCoCDCoCBjb2RlX2Zvcl9wcmVk X3RoX25hcnJvd19mY3Z0X3hfZiAoVU5TUEVDLCBlLmFyZ19tb2RlICgwKSkpOwoKCgoKCgoKCgor wqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgordGVtcGxhdGU8ZW51bSBmcm1f b3BfdHlwZSBGUk1fT1AgPSBOT19GUk0+CgoKCgoKCgoKCitjbGFzcyB0aF92Zm5jdnRfZiA6IHB1 YmxpYyBmdW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoKCitwdWJsaWM6CgoKCgoKCgoK CivCoCBib29sIGhhc19yb3VuZGluZ19tb2RlX29wZXJhbmRfcCAoKSBjb25zdCBvdmVycmlkZQoK CgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgcmV0dXJuIEZSTV9PUCA9PSBIQVNfRlJNOwoK CgoKCgoKCgorwqAgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCBib29sIG1heV9yZXF1aXJlX2Zy bV9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KCgoKCgoKCgoKKwoKCgoKCgoK CgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoK CgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCBpZiAoZS5vcF9pbmZvLT5vcCA9PSBPUF9UWVBF X2ZfdykKCgoKCgoKCgoKK8KgIMKgIMKgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuICgKCgoKCgoK CgoKKyBjb2RlX2Zvcl9wcmVkX3RoX3RydW5jIChlLnZlY3Rvcl9tb2RlICgpKSk7CgoKCgoKCgoK CivCoCDCoCBpZiAoZS5vcF9pbmZvLT5vcCA9PSBPUF9UWVBFX3hfdykKCgoKCgoKCgoKK8KgIMKg IMKgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuICgKCgoKCgoKCgoKKyBjb2RlX2Zvcl9wcmVkX3Ro X25hcnJvdyAoRkxPQVQsIGUuYXJnX21vZGUgKDApKSk7CgoKCgoKCgoKCivCoCDCoCBpZiAoZS5v cF9pbmZvLT5vcCA9PSBPUF9UWVBFX3h1X3cpCgoKCgoKCgoKCivCoCDCoCDCoCByZXR1cm4gZS51 c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCisgY29kZV9mb3JfcHJlZF90aF9uYXJyb3cgKFVOU0lH TkVEX0ZMT0FULCBlLmFyZ19tb2RlICgwKSkpOwoKCgoKCgoKCgorwqAgwqAgZ2NjX3VucmVhY2hh YmxlICgpOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgor LyogSW1wbGVtZW50cyBmbG9hdGluZy1wb2ludCByZWR1Y3Rpb24gaW5zdHJ1Y3Rpb25zLsKgICov CgoKCgoKCgoKCit0ZW1wbGF0ZTx1bnNpZ25lZCBVTlNQRUMsIGVudW0gZnJtX29wX3R5cGUgRlJN X09QID0gTk9fRlJNPgoKCgoKCgoKCgorY2xhc3MgdGhfZnJlZHVjb3AgOiBwdWJsaWMgZnVuY3Rp b25fYmFzZQoKCgoKCgoKCgorewoKCgoKCgoKCgorcHVibGljOgoKCgoKCgoKCgorwqAgYm9vbCBo YXNfcm91bmRpbmdfbW9kZV9vcGVyYW5kX3AgKCkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8Kg IHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBGUk1fT1AgPT0gSEFTX0ZSTTsKCgoKCgoKCgoKK8Kg IH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgYm9vbCBtYXlfcmVxdWlyZV9mcm1fcCAoKSBjb25z dCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CgoKCgoKCgoKCisKCgoKCgoKCgoKK8KgIGJvb2wg YXBwbHlfbWFza19wb2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQoK CgoKCgoKCgorCgoKCgoKCgoKCivCoCBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkg Y29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBlLnVz ZV9leGFjdF9pbnNuIChjb2RlX2Zvcl9wcmVkX3RoIChVTlNQRUMsIGUudmVjdG9yX21vZGUgKCkp KTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKK307CgoKCgoKCgoKCisKCgoKCgoKCgoKK2NsYXNz IHRoX3ZsZWZmIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK3B1 YmxpYzoKCgoKCgoKCgoKK8KgIHVuc2lnbmVkIGludCBjYWxsX3Byb3BlcnRpZXMgKGNvbnN0IGZ1 bmN0aW9uX2luc3RhbmNlICYpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoK CivCoCDCoCByZXR1cm4gQ1BfUkVBRF9NRU1PUlkgfCBDUF9XUklURV9DU1I7CgoKCgoKCgoKCivC oCB9CgoKCgoKCgoKCisKCgoKCgoKCgoKK8KgIGJvb2wgY2FuX2JlX292ZXJsb2FkZWRfcCAoZW51 bSBwcmVkaWNhdGlvbl90eXBlX2luZGV4IHByZWQpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivC oCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gcHJlZCAhPSBQUkVEX1RZUEVfbm9uZTsKCgoKCgoK CgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgZ2ltcGxlICpmb2xkIChnaW1wbGVfZm9s ZGVyICZmKSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgcmV0 dXJuIGZvbGRfZmF1bHRfbG9hZCAoZik7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCisKCgoKCgoK CgoKK8KgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZlKSBjb25zdCBvdmVycmlkZQoK CgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgcmV0dXJuIGUudXNlX2NvbnRpZ3VvdXNfbG9h ZF9pbnNuICgKCgoKCgoKCgoKK8KgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfZmF1bHRfbG9hZCAo ZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoK KwoKCgoKCgoKCgorLyogSW1wbGVtZW50cyB2bHNlZy52LsKgICovCgoKCgoKCgoKCitjbGFzcyB0 aF92bHNlZyA6IHB1YmxpYyBmdW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoKCitwdWJs aWM6CgoKCgoKCgoKCivCoCB1bnNpZ25lZCBpbnQgY2FsbF9wcm9wZXJ0aWVzIChjb25zdCBmdW5j dGlvbl9pbnN0YW5jZSAmKSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgor wqAgwqAgcmV0dXJuIENQX1JFQURfTUVNT1JZOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorCgoK CgoKCgoKCivCoCBib29sIGNhbl9iZV9vdmVybG9hZGVkX3AgKGVudW0gcHJlZGljYXRpb25fdHlw ZV9pbmRleCBwcmVkKSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAg wqAgcmV0dXJuIHByZWQgIT0gUFJFRF9UWVBFX25vbmU7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoK CisKCgoKCgoKCgoKK8KgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZlKSBjb25zdCBv dmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgcmV0dXJuIGUudXNlX2V4YWN0 X2luc24gKAoKCgoKCgoKCgorwqAgwqAgwqAgY29kZV9mb3JfcHJlZF90aF91bml0X3N0cmlkZWRf bG9hZCAoZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoK CgoKCgoKKwoKCgoKCgoKCgorLyogSW1wbGVtZW50cyB2c3NlZy52LsKgICovCgoKCgoKCgoKCitj bGFzcyB0aF92c3NlZyA6IHB1YmxpYyBmdW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoK CitwdWJsaWM6CgoKCgoKCgoKCivCoCBib29sIGFwcGx5X3RhaWxfcG9saWN5X3AgKCkgY29uc3Qg b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KCgoKCgoKCgoKK8KgIGJvb2wgYXBwbHlfbWFza19w b2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQoKCgoKCgoKCgorCgoK CgoKCgoKCivCoCB1bnNpZ25lZCBpbnQgY2FsbF9wcm9wZXJ0aWVzIChjb25zdCBmdW5jdGlvbl9p bnN0YW5jZSAmKSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAg cmV0dXJuIENQX1dSSVRFX01FTU9SWTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoK CgorwqAgYm9vbCBjYW5fYmVfb3ZlcmxvYWRlZF9wIChlbnVtIHByZWRpY2F0aW9uX3R5cGVfaW5k ZXgpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4g dHJ1ZTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgcnR4IGV4cGFuZCAo ZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoK CgoKCivCoCDCoCByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCivCoCDCoCDCoCBj b2RlX2Zvcl9wcmVkX3RoX3VuaXRfc3RyaWRlZF9zdG9yZSAoZS52ZWN0b3JfbW9kZSAoKSkpOwoK CgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorLyogSW1wbGVt ZW50cyB2bHNzZWcudi7CoCAqLwoKCgoKCgoKCgorY2xhc3MgdGhfdmxzc2VnIDogcHVibGljIGZ1 bmN0aW9uX2Jhc2UKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK3B1YmxpYzoKCgoKCgoKCgoKK8KgIHVu c2lnbmVkIGludCBjYWxsX3Byb3BlcnRpZXMgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICYpIGNv bnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gQ1BfUkVB RF9NRU1PUlk7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCisKCgoKCgoKCgoKK8KgIGJvb2wgY2Fu X2JlX292ZXJsb2FkZWRfcCAoZW51bSBwcmVkaWNhdGlvbl90eXBlX2luZGV4IHByZWQpIGNvbnN0 IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gcHJlZCAhPSBQ UkVEX1RZUEVfbm9uZTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgcnR4 IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivC oCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoKCgoKCgoKCivC oCDCoCDCoCBjb2RlX2Zvcl9wcmVkX3RoX3N0cmlkZWRfbG9hZCAoZS52ZWN0b3JfbW9kZSAoKSkp OwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorLyogSW1w bGVtZW50cyB2c3NzZWcudi7CoCAqLwoKCgoKCgoKCgorY2xhc3MgdGhfdnNzc2VnIDogcHVibGlj IGZ1bmN0aW9uX2Jhc2UKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK3B1YmxpYzoKCgoKCgoKCgoKK8Kg IGJvb2wgYXBwbHlfdGFpbF9wb2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz ZTsgfQoKCgoKCgoKCgorwqAgYm9vbCBhcHBseV9tYXNrX3BvbGljeV9wICgpIGNvbnN0IG92ZXJy aWRlIHsgcmV0dXJuIGZhbHNlOyB9CgoKCgoKCgoKCisKCgoKCgoKCgoKK8KgIHVuc2lnbmVkIGlu dCBjYWxsX3Byb3BlcnRpZXMgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICYpIGNvbnN0IG92ZXJy aWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gQ1BfV1JJVEVfTUVNT1JZ OwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCBib29sIGNhbl9iZV9vdmVy bG9hZGVkX3AgKGVudW0gcHJlZGljYXRpb25fdHlwZV9pbmRleCkgY29uc3Qgb3ZlcnJpZGUKCgoK CgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiB0cnVlOwoKCgoKCgoKCgorwqAgfQoK CgoKCgoKCgorCgoKCgoKCgoKCivCoCBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkg Y29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBlLnVz ZV9leGFjdF9pbnNuICgKCgoKCgoKCgoKK8KgIMKgIMKgIGNvZGVfZm9yX3ByZWRfdGhfc3RyaWRl ZF9zdG9yZSAoZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorfTsK CgoKCgoKCgoKKwoKCgoKCgoKCgordGVtcGxhdGU8aW50IFVOU1BFQz4KCgoKCgoKCgoKK2NsYXNz IHRoX3NlZ19pbmRleGVkX2xvYWQgOiBwdWJsaWMgZnVuY3Rpb25fYmFzZQoKCgoKCgoKCgorewoK CgoKCgoKCgorcHVibGljOgoKCgoKCgoKCgorwqAgdW5zaWduZWQgaW50IGNhbGxfcHJvcGVydGll cyAoY29uc3QgZnVuY3Rpb25faW5zdGFuY2UgJikgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8Kg IHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBDUF9SRUFEX01FTU9SWTsKCgoKCgoKCgoKK8KgIH0K CgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgYm9vbCBjYW5fYmVfb3ZlcmxvYWRlZF9wIChlbnVtIHBy ZWRpY2F0aW9uX3R5cGVfaW5kZXgpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoK CgoKCivCoCDCoCByZXR1cm4gdHJ1ZTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoK CgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlCgoK CgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoCgoK CgoKCgoKCivCoCDCoCDCoCBjb2RlX2Zvcl9wcmVkX3RoX2luZGV4ZWRfbG9hZCAoCgoKCgoKCgoK CisgVU5TUEVDLCBlLnZlY3Rvcl9tb2RlICgpLCBlLmluZGV4X21vZGUgKCkpKTsKCgoKCgoKCgoK K8KgIH0KCgoKCgoKCgoKK307CgoKCgoKCgoKCisKCgoKCgoKCgoKK3RlbXBsYXRlPGludCBVTlNQ RUM+CgoKCgoKCgoKCitjbGFzcyB0aF9zZWdfaW5kZXhlZF9zdG9yZSA6IHB1YmxpYyBmdW5jdGlv bl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoKCitwdWJsaWM6CgoKCgoKCgoKCivCoCBib29sIGFw cGx5X3RhaWxfcG9saWN5X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KCgoK CgoKCgoKK8KgIGJvb2wgYXBwbHlfbWFza19wb2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJl dHVybiBmYWxzZTsgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCB1bnNpZ25lZCBpbnQgY2FsbF9w cm9wZXJ0aWVzIChjb25zdCBmdW5jdGlvbl9pbnN0YW5jZSAmKSBjb25zdCBvdmVycmlkZQoKCgoK CgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgcmV0dXJuIENQX1dSSVRFX01FTU9SWTsKCgoKCgoK CgoKK8KgIH0KCgoKCgoKCgoKKwoKCgoKCgoKCgorwqAgYm9vbCBjYW5fYmVfb3ZlcmxvYWRlZF9w IChlbnVtIHByZWRpY2F0aW9uX3R5cGVfaW5kZXgpIGNvbnN0IG92ZXJyaWRlCgoKCgoKCgoKCivC oCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gdHJ1ZTsKCgoKCgoKCgoKK8KgIH0KCgoKCgoKCgoK KwoKCgoKCgoKCgorwqAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92 ZXJyaWRlCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCByZXR1cm4gZS51c2VfZXhhY3Rf aW5zbiAoCgoKCgoKCgoKCivCoCDCoCDCoCBjb2RlX2Zvcl9wcmVkX3RoX2luZGV4ZWRfc3RvcmUg KAoKCgoKCgoKCgorIFVOU1BFQywgZS52ZWN0b3JfbW9kZSAoKSwgZS5pbmRleF9tb2RlICgpKSk7 CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCit9OwoKCgoKCgoKCgorCgoKCgoKCgoKCisvKiBJbXBs ZW1lbnRzIHZsc2VnZmYudi7CoCAqLwoKCgoKCgoKCgorY2xhc3MgdGhfdmxzZWdmZiA6IHB1Ymxp YyBmdW5jdGlvbl9iYXNlCgoKCgoKCgoKCit7CgoKCgoKCgoKCitwdWJsaWM6CgoKCgoKCgoKCivC oCB1bnNpZ25lZCBpbnQgY2FsbF9wcm9wZXJ0aWVzIChjb25zdCBmdW5jdGlvbl9pbnN0YW5jZSAm KSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAgwqAgcmV0dXJuIENQ X1JFQURfTUVNT1JZIHwgQ1BfV1JJVEVfQ1NSOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorCgoK CgoKCgoKCivCoCBib29sIGNhbl9iZV9vdmVybG9hZGVkX3AgKGVudW0gcHJlZGljYXRpb25fdHlw ZV9pbmRleCBwcmVkKSBjb25zdCBvdmVycmlkZQoKCgoKCgoKCgorwqAgewoKCgoKCgoKCgorwqAg wqAgcmV0dXJuIHByZWQgIT0gUFJFRF9UWVBFX25vbmU7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoK CisKCgoKCgoKCgoKK8KgIGdpbXBsZSAqZm9sZCAoZ2ltcGxlX2ZvbGRlciAmZikgY29uc3Qgb3Zl cnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIHJldHVybiBmb2xkX2ZhdWx0X2xv YWQgKGYpOwoKCgoKCgoKCgorwqAgfQoKCgoKCgoKCgorCgoKCgoKCgoKCivCoCBydHggZXhwYW5k IChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUKCgoKCgoKCgoKK8KgIHsKCgoK CgoKCgoKK8KgIMKgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuICgKCgoKCgoKCgoKK8KgIMKgIMKg IGNvZGVfZm9yX3ByZWRfdGhfZmF1bHRfbG9hZCAoZS52ZWN0b3JfbW9kZSAoKSkpOwoKCgoKCgoK CgorwqAgfQoKCgoKCgoKCgorfTsKCgoKCgoKCgoKKwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQ UiBjb25zdCB0aF92c2V0dmw8ZmFsc2U+IHRoX3ZzZXR2bF9vYmo7CgoKCgoKCgoKCitzdGF0aWMg Q09OU1RFWFBSIGNvbnN0IHRoX3ZzZXR2bDx0cnVlPiB0aF92c2V0dmxtYXhfb2JqOwoKCgoKCgoK Cgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8ZmFsc2UsIExTVF9VTklUX1NU UklERSwgZmFsc2U+IHRoX3ZsZV9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0 IHRoX2xvYWRzdG9yZTx0cnVlLCBMU1RfVU5JVF9TVFJJREUsIGZhbHNlPiB0aF92c2Vfb2JqOwoK CgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8ZmFsc2UsIExTVF9V TklUX1NUUklERSwgZmFsc2U+IHRoX3ZsbV9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBS IGNvbnN0IHRoX2xvYWRzdG9yZTx0cnVlLCBMU1RfVU5JVF9TVFJJREUsIGZhbHNlPiB0aF92c21f b2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8ZmFsc2Us IExTVF9TVFJJREVELCBmYWxzZT4gdGhfdmxzZV9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RF WFBSIGNvbnN0IHRoX2xvYWRzdG9yZTx0cnVlLCBMU1RfU1RSSURFRCwgZmFsc2U+IHRoX3Zzc2Vf b2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8ZmFsc2Us IExTVF9JTkRFWEVELCBmYWxzZT4gdGhfdmx1eGVpOF9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09O U1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZTxmYWxzZSwgTFNUX0lOREVYRUQsIGZhbHNlPiB0aF92 bHV4ZWkxNl9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9y ZTxmYWxzZSwgTFNUX0lOREVYRUQsIGZhbHNlPiB0aF92bHV4ZWkzMl9vYmo7CgoKCgoKCgoKCitz dGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZTxmYWxzZSwgTFNUX0lOREVYRUQsIGZh bHNlPiB0aF92bHV4ZWk2NF9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRo X2xvYWRzdG9yZTxmYWxzZSwgTFNUX0lOREVYRUQsIHRydWU+IHRoX3Zsb3hlaThfb2JqOwoKCgoK CgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8ZmFsc2UsIExTVF9JTkRF WEVELCB0cnVlPiB0aF92bG94ZWkxNl9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNv bnN0IHRoX2xvYWRzdG9yZTxmYWxzZSwgTFNUX0lOREVYRUQsIHRydWU+IHRoX3Zsb3hlaTMyX29i ajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlPGZhbHNlLCBM U1RfSU5ERVhFRCwgdHJ1ZT4gdGhfdmxveGVpNjRfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNU RVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8dHJ1ZSwgTFNUX0lOREVYRUQsIGZhbHNlPiB0aF92c3V4 ZWk4X29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlPHRy dWUsIExTVF9JTkRFWEVELCBmYWxzZT4gdGhfdnN1eGVpMTZfb2JqOwoKCgoKCgoKCgorc3RhdGlj IENPTlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmU8dHJ1ZSwgTFNUX0lOREVYRUQsIGZhbHNlPiB0 aF92c3V4ZWkzMl9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2xvYWRz dG9yZTx0cnVlLCBMU1RfSU5ERVhFRCwgZmFsc2U+IHRoX3ZzdXhlaTY0X29iajsKCgoKCgoKCgoK K3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlPHRydWUsIExTVF9JTkRFWEVELCB0 cnVlPiB0aF92c294ZWk4X29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhf bG9hZHN0b3JlPHRydWUsIExTVF9JTkRFWEVELCB0cnVlPiB0aF92c294ZWkxNl9vYmo7CgoKCgoK CgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZTx0cnVlLCBMU1RfSU5ERVhF RCwgdHJ1ZT4gdGhfdnNveGVpMzJfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25z dCB0aF9sb2Fkc3RvcmU8dHJ1ZSwgTFNUX0lOREVYRUQsIHRydWU+IHRoX3Zzb3hlaTY0X29iajsK CgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfdW5vcDxORUc+IHRoX3ZuZWdfb2Jq OwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF91bm9wPE5PVD4gdGhfdm5vdF9v Ymo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX3Zuc2hpZnQ8TFNISUZUUlQ+ IHRoX3Zuc3JsX29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfdm5zaGlm dDxBU0hJRlRSVD4gdGhfdm5zcmFfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25z dCB0aF92bmN2dF94IHRoX3ZuY3Z0X3hfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBj b25zdCB0aF92bmNsaXA8VU5TUEVDX1ZOQ0xJUD4gdGhfdm5jbGlwX29iajsKCgoKCgoKCgoKK3N0 YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfdm5jbGlwPFVOU1BFQ19WTkNMSVBVPiB0aF92bmNsaXB1 X29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfdmNwb3AgdGhfdmNwb3Bf b2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF92Zmlyc3QgdGhfdmZpcnN0 X29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfdm1hZGMgdGhfdm1hZGNf b2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF92bXNiYyB0aF92bXNiY19v Ymo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX3ZmbmN2dF94PFVOU1BFQ19W RkNWVD4gdGhfdmZuY3Z0X3hfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0 aF92Zm5jdnRfeDxVTlNQRUNfVkZDVlQsIEhBU19GUk0+IHRoX3ZmbmN2dF94X2ZybV9vYmo7CgoK CgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX3ZmbmN2dF94PFVOU1BFQ19VTlNJR05F RF9WRkNWVD4gdGhfdmZuY3Z0X3h1X29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29u c3QgdGhfdmZuY3Z0X3g8VU5TUEVDX1VOU0lHTkVEX1ZGQ1ZULCBIQVNfRlJNPiB0aF92Zm5jdnRf eHVfZnJtX29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfdmZuY3Z0X2Y8 Tk9fRlJNPiB0aF92Zm5jdnRfZl9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0 IHRoX3ZmbmN2dF9mPEhBU19GUk0+IHRoX3ZmbmN2dF9mX2ZybV9vYmo7CgoKCgoKCgoKCitzdGF0 aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2ZyZWR1Y29wPFVOU1BFQ19SRURVQ19TVU1fVU5PUkRFUkVE PiB0aF92ZnJlZHVzdW1fb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9m cmVkdWNvcDxVTlNQRUNfUkVEVUNfU1VNX1VOT1JERVJFRCwgSEFTX0ZSTT4gdGhfdmZyZWR1c3Vt X2ZybV9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2ZyZWR1Y29wPFVO U1BFQ19SRURVQ19TVU1fT1JERVJFRD4gdGhfdmZyZWRvc3VtX29iajsKCgoKCgoKCgoKK3N0YXRp YyBDT05TVEVYUFIgY29uc3QgdGhfZnJlZHVjb3A8VU5TUEVDX1JFRFVDX1NVTV9PUkRFUkVELCBI QVNfRlJNPiB0aF92ZnJlZG9zdW1fZnJtX29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIg Y29uc3QgdGhfZnJlZHVjb3A8VU5TUEVDX1dSRURVQ19TVU1fVU5PUkRFUkVEPiB0aF92ZndyZWR1 c3VtX29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfZnJlZHVjb3A8VU5T UEVDX1dSRURVQ19TVU1fVU5PUkRFUkVELCBIQVNfRlJNPiB0aF92ZndyZWR1c3VtX2ZybV9vYmo7 CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2ZyZWR1Y29wPFVOU1BFQ19XUkVE VUNfU1VNX09SREVSRUQ+IHRoX3Zmd3JlZG9zdW1fb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNU RVhQUiBjb25zdCB0aF9mcmVkdWNvcDxVTlNQRUNfV1JFRFVDX1NVTV9PUkRFUkVELCBIQVNfRlJN PiB0aF92ZndyZWRvc3VtX2ZybV9vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0 IHRoX3ZsZWZmIHRoX3ZsZWZmX29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3Qg dGhfdmxzZWcgdGhfdmxzZWdfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0 aF92c3NlZyB0aF92c3NlZ19vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRo X3Zsc3NlZyB0aF92bHNzZWdfb2JqOwoKCgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0 aF92c3NzZWcgdGhfdnNzc2VnX29iajsKCgoKCgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3Qg dGhfc2VnX2luZGV4ZWRfbG9hZDxVTlNQRUNfVU5PUkRFUkVEPiB0aF92bHV4c2VnX29iajsKCgoK CgoKCgoKK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfc2VnX2luZGV4ZWRfbG9hZDxVTlNQRUNf T1JERVJFRD4gdGhfdmxveHNlZ19vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0 IHRoX3NlZ19pbmRleGVkX3N0b3JlPFVOU1BFQ19VTk9SREVSRUQ+IHRoX3ZzdXhzZWdfb2JqOwoK CgoKCgoKCgorc3RhdGljIENPTlNURVhQUiBjb25zdCB0aF9zZWdfaW5kZXhlZF9zdG9yZTxVTlNQ RUNfT1JERVJFRD4gdGhfdnNveHNlZ19vYmo7CgoKCgoKCgoKCitzdGF0aWMgQ09OU1RFWFBSIGNv bnN0IHRoX3Zsc2VnZmYgdGhfdmxzZWdmZl9vYmo7CgoKCgoKCgoKCisKCgoKCgoKCgoKKy8qIERl Y2xhcmUgdGhlIGZ1bmN0aW9uIGJhc2UgTkFNRSwgcG9pbnRpbmcgaXQgdG8gYW4gaW5zdGFuY2UK CgoKCgoKCgoKKyDCoCBvZiBjbGFzcyA8TkFNRT5fb2JqLsKgICovCgoKCgoKCgoKCisjZGVmaW5l IEJBU0UoTkFNRSkgXAoKCgoKCgoKCgorwqAgbmFtZXNwYWNlIGJhc2VzIHsgY29uc3QgZnVuY3Rp b25fYmFzZSAqY29uc3QgTkFNRSA9ICZOQU1FIyNfb2JqOyB9CgoKCgoKCgoKCisKCgoKCgoKCgoK K0JBU0UgKHRoX3ZzZXR2bCkKCgoKCgoKCgoKK0JBU0UgKHRoX3ZzZXR2bG1heCkKCgoKCgoKCgoK K0JBU0UgKHRoX3ZsZSkKCgoKCgoKCgoKK0JBU0UgKHRoX3ZzZSkKCgoKCgoKCgoKK0JBU0UgKHRo X3ZsbSkKCgoKCgoKCgoKK0JBU0UgKHRoX3ZzbSkKCgoKCgoKCgoKK0JBU0UgKHRoX3Zsc2UpCgoK CgoKCgoKCitCQVNFICh0aF92c3NlKQoKCgoKCgoKCgorQkFTRSAodGhfdmx1eGVpOCkKCgoKCgoK CgoKK0JBU0UgKHRoX3ZsdXhlaTE2KQoKCgoKCgoKCgorQkFTRSAodGhfdmx1eGVpMzIpCgoKCgoK CgoKCitCQVNFICh0aF92bHV4ZWk2NCkKCgoKCgoKCgoKK0JBU0UgKHRoX3Zsb3hlaTgpCgoKCgoK CgoKCitCQVNFICh0aF92bG94ZWkxNikKCgoKCgoKCgoKK0JBU0UgKHRoX3Zsb3hlaTMyKQoKCgoK CgoKCgorQkFTRSAodGhfdmxveGVpNjQpCgoKCgoKCgoKCitCQVNFICh0aF92c3V4ZWk4KQoKCgoK CgoKCgorQkFTRSAodGhfdnN1eGVpMTYpCgoKCgoKCgoKCitCQVNFICh0aF92c3V4ZWkzMikKCgoK CgoKCgoKK0JBU0UgKHRoX3ZzdXhlaTY0KQoKCgoKCgoKCgorQkFTRSAodGhfdnNveGVpOCkKCgoK CgoKCgoKK0JBU0UgKHRoX3Zzb3hlaTE2KQoKCgoKCgoKCgorQkFTRSAodGhfdnNveGVpMzIpCgoK CgoKCgoKCitCQVNFICh0aF92c294ZWk2NCkKCgoKCgoKCgoKK0JBU0UgKHRoX3ZuZWcpCgoKCgoK CgoKCitCQVNFICh0aF92bm90KQoKCgoKCgoKCgorQkFTRSAodGhfdm5zcmwpCgoKCgoKCgoKCitC QVNFICh0aF92bnNyYSkKCgoKCgoKCgoKK0JBU0UgKHRoX3ZuY3Z0X3gpCgoKCgoKCgoKCitCQVNF ICh0aF92bmNsaXApCgoKCgoKCgoKCitCQVNFICh0aF92bmNsaXB1KQoKCgoKCgoKCgorQkFTRSAo dGhfdmNwb3ApCgoKCgoKCgoKCitCQVNFICh0aF92Zmlyc3QpCgoKCgoKCgoKCitCQVNFICh0aF92 bWFkYykKCgoKCgoKCgoKK0JBU0UgKHRoX3Ztc2JjKQoKCgoKCgoKCgorQkFTRSAodGhfdmZuY3Z0 X3gpCgoKCgoKCgoKCitCQVNFICh0aF92Zm5jdnRfeF9mcm0pCgoKCgoKCgoKCitCQVNFICh0aF92 Zm5jdnRfeHUpCgoKCgoKCgoKCitCQVNFICh0aF92Zm5jdnRfeHVfZnJtKQoKCgoKCgoKCgorQkFT RSAodGhfdmZuY3Z0X2YpCgoKCgoKCgoKCitCQVNFICh0aF92Zm5jdnRfZl9mcm0pCgoKCgoKCgoK CitCQVNFICh0aF92ZnJlZHVzdW0pCgoKCgoKCgoKCitCQVNFICh0aF92ZnJlZHVzdW1fZnJtKQoK CgoKCgoKCgorQkFTRSAodGhfdmZyZWRvc3VtKQoKCgoKCgoKCgorQkFTRSAodGhfdmZyZWRvc3Vt X2ZybSkKCgoKCgoKCgoKK0JBU0UgKHRoX3Zmd3JlZHVzdW0pCgoKCgoKCgoKCitCQVNFICh0aF92 ZndyZWR1c3VtX2ZybSkKCgoKCgoKCgoKK0JBU0UgKHRoX3Zmd3JlZG9zdW0pCgoKCgoKCgoKCitC QVNFICh0aF92ZndyZWRvc3VtX2ZybSkKCgoKCgoKCgoKK0JBU0UgKHRoX3ZsZWZmKQoKCgoKCgoK CgorQkFTRSAodGhfdmxzZWcpCgoKCgoKCgoKCitCQVNFICh0aF92c3NlZykKCgoKCgoKCgoKK0JB U0UgKHRoX3Zsc3NlZykKCgoKCgoKCgoKK0JBU0UgKHRoX3Zzc3NlZykKCgoKCgoKCgoKK0JBU0Ug KHRoX3ZsdXhzZWcpCgoKCgoKCgoKCitCQVNFICh0aF92bG94c2VnKQoKCgoKCgoKCgorQkFTRSAo dGhfdnN1eHNlZykKCgoKCgoKCgoKK0JBU0UgKHRoX3Zzb3hzZWcpCgoKCgoKCgoKCitCQVNFICh0 aF92bHNlZ2ZmKQoKCgoKCgoKCgorCgoKCgoKCgoKCit9IC8vIGVuZCBuYW1lc3BhY2UgcmlzY3Zf dmVjdG9yCgoKCgoKCgoKCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rv ci1idWlsdGlucy5oIGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3ItYnVpbHRpbnMuaAoK CgoKCgoKCgpuZXcgZmlsZSBtb2RlIDEwMDY0NAoKCgoKCgoKCgppbmRleCAwMDAwMDAwMDAwMC4u ZDBiZjAwYjhlODEKCgoKCgoKCgoKLS0tIC9kZXYvbnVsbAoKCgoKCgoKCgorKysgYi9nY2MvY29u ZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci1idWlsdGlucy5oCgoKCgoKCgoKCkBAIC0wLDAgKzEsOTIg QEAKCgoKCgoKCgoKKy8qIGZ1bmN0aW9uX2Jhc2UgZGVjbGFyYXRpb24gZm9yIFJJU0MtViBYVGhl YWRWZWN0b3IgRXh0ZW5zaW9uCgoKCgoKCgoKCisgwqAgZm9yIEdOVSBjb21waWxlci4KCgoKCgoK CgoKKyDCoCBDb3B5cmlnaHQgKEMpIDIwMjItMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KCgoKCgoKCgoKKyDCoCBDb250cmlidXRlZCBieSBKb3NodWEgKGNvb3Blci5qb3NodWFA bGludXguYWxpYmFiYS5jb20pLCBULUhlYWQKCgoKCgoKCgoKKyDCoCBTZW1pY29uZHVjdG9yIENv LiwgTHRkLgoKCgoKCgoKCgorCgoKCgoKCgoKCisgwqAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0ND LgoKCgoKCgoKCgorCgoKCgoKCgoKCisgwqAgR0NDIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKCgoKCgoKCgoKKyDCoCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQoK CgoKCgoKCgorIMKgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDMsIG9yIChhdCB5b3VyIG9wdGlvbikKCgoKCgoKCgoKKyDCoCBhbnkgbGF0ZXIgdmVyc2lvbi4K CgoKCgoKCgoKKwoKCgoKCgoKCgorIMKgIEdDQyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKCgoKCgoKCgoKKyDCoCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCgoKCgoKCgoKCisgwqAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLsKgIFNl ZSB0aGUgR05VCgoKCgoKCgoKCisgwqAgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgoKCgoKCgoKCgorCgoKCgoKCgoKCisgwqAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKCgoKCgoKCgoKKyDCoCBh bG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLsKgIElmIG5vdCBzZWUKCgoKCgoK CgoKKyDCoCA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uwqAgKi8KCgoKCgoKCgoKKwoK CgoKCgoKCgorI2lmbmRlZiBHQ0NfVEhFQURfVkVDVE9SX0JVSUxUSU5TX0gKCgoKCgoKCgoKKyNk ZWZpbmUgR0NDX1RIRUFEX1ZFQ1RPUl9CVUlMVElOU19ICgoKCgoKCgoKCisKCgoKCgoKCgoKK25h bWVzcGFjZSByaXNjdl92ZWN0b3IgewoKCgoKCgoKCgorCgoKCgoKCgoKCituYW1lc3BhY2UgYmFz ZXMgewoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3ZzZXR2 bDsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92c2V0dmxt YXg7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhfdmxlOwoK CgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3ZzZTsKCgoKCgoK CgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92bG07CgoKCgoKCgoKCitl eHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhfdnNtOwoKCgoKCgoKCgorZXh0ZXJu IGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3Zsc2U7CgoKCgoKCgoKCitleHRlcm4gY29u c3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhfdnNzZTsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBm dW5jdGlvbl9iYXNlICpjb25zdCB0aF92bHV4ZWk4OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1 bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3ZsdXhlaTE2OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1 bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3ZsdXhlaTMyOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1 bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3ZsdXhlaTY0OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1 bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3Zsb3hlaTg7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVu Y3Rpb25fYmFzZSAqY29uc3QgdGhfdmxveGVpMTY7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVu Y3Rpb25fYmFzZSAqY29uc3QgdGhfdmxveGVpMzI7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVu Y3Rpb25fYmFzZSAqY29uc3QgdGhfdmxveGVpNjQ7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVu Y3Rpb25fYmFzZSAqY29uc3QgdGhfdnN1eGVpODsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5j dGlvbl9iYXNlICpjb25zdCB0aF92c3V4ZWkxNjsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5j dGlvbl9iYXNlICpjb25zdCB0aF92c3V4ZWkzMjsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5j dGlvbl9iYXNlICpjb25zdCB0aF92c3V4ZWk2NDsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5j dGlvbl9iYXNlICpjb25zdCB0aF92c294ZWk4OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHRoX3Zzb3hlaTE2OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHRoX3Zzb3hlaTMyOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHRoX3Zzb3hlaTY0OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHRoX3ZuZWc7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rpb25f YmFzZSAqY29uc3QgdGhfdm5vdDsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNl ICpjb25zdCB0aF92bnNybDsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpj b25zdCB0aF92bnNyYTsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25z dCB0aF92bmN2dF94OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0 IHRoX3ZuY2xpcDsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0 aF92bmNsaXB1OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHRo X3ZjcG9wOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3Zm aXJzdDsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92bWFk YzsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92bXNiYzsK CgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92Zm5jdnRfeDsK CgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92Zm5jdnRfeF9m cm07CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhfdmZuY3Z0 X3h1OwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHRoX3ZmbmN2 dF94dV9mcm07CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhf dmZuY3Z0X2Y7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhf dmZuY3Z0X2ZfZnJtOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0 IHRoX3ZmcmVkdXN1bTsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25z dCB0aF92ZnJlZHVzdW1fZnJtOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2Ug KmNvbnN0IHRoX3ZmcmVkb3N1bTsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNl ICpjb25zdCB0aF92ZnJlZG9zdW1fZnJtOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9u X2Jhc2UgKmNvbnN0IHRoX3Zmd3JlZHVzdW07CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rp b25fYmFzZSAqY29uc3QgdGhfdmZ3cmVkdXN1bV9mcm07CgoKCgoKCgoKCitleHRlcm4gY29uc3Qg ZnVuY3Rpb25fYmFzZSAqY29uc3QgdGhfdmZ3cmVkb3N1bTsKCgoKCgoKCgoKK2V4dGVybiBjb25z dCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92ZndyZWRvc3VtX2ZybTsKCgoKCgoKCgoKK2V4dGVy biBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92bGVmZjsKCgoKCgoKCgoKK2V4dGVybiBj b25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92bHNlZzsKCgoKCgoKCgoKK2V4dGVybiBjb25z dCBmdW5jdGlvbl9iYXNlICpjb25zdCB0aF92c3NlZzsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBm dW5jdGlvbl9iYXNlICpjb25zdCB0aF92bHNzZWc7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVu Y3Rpb25fYmFzZSAqY29uc3QgdGhfdnNzc2VnOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHRoX3ZsdXhzZWc7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rp b25fYmFzZSAqY29uc3QgdGhfdmxveHNlZzsKCgoKCgoKCgoKK2V4dGVybiBjb25zdCBmdW5jdGlv bl9iYXNlICpjb25zdCB0aF92c3V4c2VnOwoKCgoKCgoKCgorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9u X2Jhc2UgKmNvbnN0IHRoX3Zzb3hzZWc7CgoKCgoKCgoKCitleHRlcm4gY29uc3QgZnVuY3Rpb25f YmFzZSAqY29uc3QgdGhfdmxzZWdmZjsKCgoKCgoKCgoKK30KCgoKCgoKCgoKKwoKCgoKCgoKCgor fSAvLyBlbmQgbmFtZXNwYWNlIHJpc2N2X3ZlY3RvcgoKCgoKCgoKCgorCgoKCgoKCgoKCisjZW5k aWYKCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1k IGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3IubWQKCgoKCgoKCgoKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKCgoKCgoKCgoKaW5kZXggMDAwMDAwMDAwMDAuLjA3MmZiNWU2OGUxCgoKCgoKCgoK Ci0tLSAvZGV2L251bGwKCgoKCgoKCgoKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0 b3IubWQKCgoKCgoKCgoKQEAgLTAsMCArMSwyNTc0IEBACgoKCgoKCgoKCisoZGVmaW5lX2NfZW51 bSAidW5zcGVjIiBbCgoKCgoKCgoKCivCoCBVTlNQRUNfVEhfVldMRFNUCgoKCgoKCgoKCitdKQoK CgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2ludF9hdHRyIHRoX29yZGVyIFsKCgoKCgoKCgoK K8KgIChVTlNQRUNfT1JERVJFRCAiIikgKFVOU1BFQ19VTk9SREVSRUQgInUiKQoKCgoKCgoKCgor XSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnRfYXR0ciB0aF9yZWR1Y19vcCBbCgoK CgoKCgoKCivCoCAoVU5TUEVDX1JFRFVDX1NVTSAicmVkc3VtIikKCgoKCgoKCgoKK8KgIChVTlNQ RUNfUkVEVUNfU1VNX09SREVSRUQgInJlZG9zdW0iKSAoVU5TUEVDX1JFRFVDX1NVTV9VTk9SREVS RUQgInJlZHN1bSIpCgoKCgoKCgoKCivCoCAoVU5TUEVDX1JFRFVDX01BWFUgInJlZG1heHUiKSAo VU5TUEVDX1JFRFVDX01BWCAicmVkbWF4IikgKFVOU1BFQ19SRURVQ19NSU5VICJyZWRtaW51Iikg KFVOU1BFQ19SRURVQ19NSU4gInJlZG1pbiIpCgoKCgoKCgoKCivCoCAoVU5TUEVDX1JFRFVDX0FO RCAicmVkYW5kIikgKFVOU1BFQ19SRURVQ19PUiAicmVkb3IiKSAoVU5TUEVDX1JFRFVDX1hPUiAi cmVkeG9yIikKCgoKCgoKCgoKK8KgIChVTlNQRUNfV1JFRFVDX1NVTSAid3JlZHN1bSIpIChVTlNQ RUNfV1JFRFVDX1NVTVUgIndyZWRzdW11IikKCgoKCgoKCgoKK8KgIChVTlNQRUNfV1JFRFVDX1NV TV9PUkRFUkVEICJ3cmVkb3N1bSIpIChVTlNQRUNfV1JFRFVDX1NVTV9VTk9SREVSRUQgIndyZWRz dW0iKQoKCgoKCgoKCgorXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9jb2RlX2l0ZXJh dG9yIG5lZ191bm9wIFtuZWddKQoKCgoKCgoKCgorKGRlZmluZV9jb2RlX2l0ZXJhdG9yIG5vdF91 bm9wIFtub3RdKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2NvZGVfaXRlcmF0b3IgYW55 X2Zsb2F0X3Vub3BfbmVnIFtuZWddKQoKCgoKCgoKCgorKGRlZmluZV9jb2RlX2l0ZXJhdG9yIGFu eV9mbG9hdF91bm9wX2FicyBbYWJzXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9tb2Rl X2l0ZXJhdG9yIFZfVkxTX1ZUIFtWIFZMUyBWVF0pCgoKCgoKCgoKCisoZGVmaW5lX21vZGVfaXRl cmF0b3IgVl9WQl9WTFNfVlQgW1YgVkIgVkxTIFZUXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRl ZmluZV9zcGxpdAoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl9WQl9WTFNfVlQg MCAicmVnX29yX21lbV9vcGVyYW5kIikKCgoKCgoKCgoKKyAobWF0Y2hfb3BlcmFuZDpWX1ZCX1ZM U19WVCAxICJyZWdfb3JfbWVtX29wZXJhbmQiKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVB RFZFQ1RPUiIKCgoKCgoKCgoKK8KgIFsoY29uc3RfaW50IDApXQoKCgoKCgoKCgorwqAgewoKCgoK CgoKCgorwqAgwqAgZW1pdF9pbnNuIChnZW5fcHJlZF90aF93aG9sZV9tb3YgKDxNT0RFPm1vZGUs IG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwKCgoKCgoKCgoKKyDCoCDCoCDCoCBSVlZfVkxNQVgs IEdFTl9JTlQocmlzY3ZfdmVjdG9yOjpWTE1BWCkpKTsKCgoKCgoKCgoKK8KgIMKgIERPTkU7CgoK CgoKCgoKCivCoCB9KQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc25fYW5kX3NwbGl0 ICJAcHJlZF90aF93aG9sZV9tb3Y8bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3Bl cmFuZDpWX1ZMU19WVCAwICJyZWdfb3JfbWVtX29wZXJhbmQiwqAgIj12cix2ciwgbSIpCgoKCgoK CgoKCisgKHVuc3BlYzpWX1ZMU19WVAoKCgoKCgoKCgorIMKgIFsobWF0Y2hfb3BlcmFuZDpWX1ZM U19WVCAxICJyZWdfb3JfbWVtX29wZXJhbmQiICIgdnIsIG0sdnIiKQoKCgoKCgoKCgorwqAgwqAg KG1hdGNoX29wZXJhbmQgMiAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiDCoCAiIHJLLCBySywgcksi KQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3RfMV9vcGVyYW5kIiDCoCDC oCDCoCDCoCAiwqAgaSwgaSwgaSIpCgoKCgoKCgoKCivCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkK CgoKCgoKCgoKK8KgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0KCgoKCgoKCgoKKyBVTlNQRUNf VEhfVldMRFNUKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoK K8KgICJACgoKCgoKCgoKCisgwqAgdm12LnYudlx0JTAsJTEKCgoKCgoKCgoKKyDCoCB2bGUudlx0 JTAsJTEKCgoKCgoKCgoKKyDCoCB2c2Uudlx0JTEsJTAiCgoKCgoKCgoKCivCoCAiJiYgUkVHX1Ag KG9wZXJhbmRzWzBdKSAmJiBSRUdfUCAob3BlcmFuZHNbMV0pCgoKCgoKCgoKCisgwqAgJiYgUkVH Tk8gKG9wZXJhbmRzWzBdKSA9PSBSRUdOTyAob3BlcmFuZHNbMV0pIgoKCgoKCgoKCgorwqAgWyhj b25zdF9pbnQgMCldCgoKCgoKCgoKCivCoCAiIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlw ZSIgInZpbW92LHZsZHMsdmxkcyIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1P REU+IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJ0YSIpIChzeW1ib2xfcmVmICJyaXNjdl92 ZWN0b3I6OlRBSUxfVU5ESVNUVVJCRUQiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIp IChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6Ok1BU0tfVU5ESVNUVVJCRUQiKSkKCgoKCgoKCgoK KyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDMpKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiMiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRl ZmluZV9pbnNuX2FuZF9zcGxpdCAiQHByZWRfdGhfd2hvbGVfbW92PG1vZGU+IgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkIgMCAicmVnX29yX21lbV9vcGVyYW5kIsKgICI9dnIs dnIsIG0iKQoKCgoKCgoKCgorICh1bnNwZWM6VkIKCgoKCgoKCgoKKyDCoCBbKG1hdGNoX29wZXJh bmQ6VkIgMSAicmVnX29yX21lbV9vcGVyYW5kIiAiIHZyLCBtLHZyIikKCgoKCgoKCgoKK8KgIMKg IChtYXRjaF9vcGVyYW5kIDIgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgIiBySywgckssIHJL IikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDMgImNvbnN0XzFfb3BlcmFuZCIgwqAg wqAgwqAgwqAgIsKgIGksIGksIGkiKQoKCgoKCgoKCgorwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0p CgoKCgoKCgoKCivCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldCgoKCgoKCgoKCisgVU5TUEVD X1RIX1ZXTERTVCkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoK CivCoCAiQAoKCgoKCgoKCgorIMKgIHZtdi52LnZcdCUwLCUxCgoKCgoKCgoKCisgwqAgdmxlLnZc dCUwLCUxCgoKCgoKCgoKCisgwqAgdnNlLnZcdCUxLCUwIgoKCgoKCgoKCgorwqAgIiYmIFJFR19Q IChvcGVyYW5kc1swXSkgJiYgUkVHX1AgKG9wZXJhbmRzWzFdKQoKCgoKCgoKCgorIMKgICYmIFJF R05PIChvcGVyYW5kc1swXSkgPT0gUkVHTk8gKG9wZXJhbmRzWzFdKSIKCgoKCgoKCgoKK8KgIFso Y29uc3RfaW50IDApXQoKCgoKCgoKCgorwqAgIiIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5 cGUiICJ2aW1vdix2bGRzLHZsZHMiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxN T0RFPiIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAicmlzY3Zf dmVjdG9yOjpUQUlMX1VORElTVFVSQkVEIikpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEi KSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpNQVNLX1VORElTVFVSQkVEIikpCgoKCgoKCgoK CisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCAzKSkKCgoKCgoKCgoK KyDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjIiKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIg InNldyIpIChjb25zdF9pbnQgOCkpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAidmxtdWwiKSAo c3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzEiKSldKQoKCgoKCgoKCgorCgoKCgoKCgoK CisoZGVmaW5lX2V4cGFuZCAiQHByZWRfdGhfbW92PG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQg KG1hdGNoX29wZXJhbmQ6Vl9WTFMgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQiKQoKCgoKCgoKCgor wqAgwqAgKGlmX3RoZW5fZWxzZTpWX1ZMUwoKCgoKCgoKCgorwqAgwqAgwqAgKHVuc3BlYzo8Vk0+ CgoKCgoKCgoKCivCoCDCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFz a19vcGVyYW5kIikKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0 b3JfbGVuZ3RoX29wZXJhbmQiKQoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDUgImNvbnN0X2ludF9vcGVyYW5kIikKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAobWF0Y2hfb3Bl cmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIpCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNo X29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiKQoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChy ZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFu ZDpWX1ZMUyAzICJ2ZWN0b3JfbW92ZV9vcGVyYW5kIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRj aF9vcGVyYW5kOlZfVkxTIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIikpKV0KCgoKCgoKCgoKK8Kg ICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAge30pCgoKCgoKCgoKCisKCgoKCgoK CgoKKyhkZWZpbmVfaW5zbl9hbmRfc3BsaXQgIipwcmVkX2Jyb2FkY2FzdDxtb2RlPiIKCgoKCgoK CgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfVkxTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIiDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPXZyLCB2ciwgdmQsIHZkLCB2ciwgdnIsIHZyLCB2ciIp CgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTpWX1ZMU0kKCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxW TT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfYnJvYWRj YXN0X21hc2tfb3BlcmFuZCIgIldjMSxXYzEsIHZtLCB2bSxXYzEsV2MxLFdiMSxXYjEiKQoKCgoK CgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKg IMKgIMKgIMKgIMKgIMKgIMKgICIgckssIHJLLCBySywgckssIHJLLCBySywgckssIHJLIikKCgoK CgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBp LMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29w ZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAg aSzCoCBpLMKgIGkswqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJj b25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKg IGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kg VkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQ RUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAodmVjX2R1cGxpY2F0ZTpWX1ZMU0kKCgoKCgoK CgoKKyDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VkVMPiAzICJkaXJlY3RfYnJvYWRjYXN0X29wZXJh bmQiIMKgIMKgIMKgICIgcizCoCByLFdkbSxXZG0sV2RtLFdkbSzCoCByLMKgIHIiKSkKCgoKCgoK CgoKKyDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqAg wqAgwqAgwqAgwqAgwqAgInZ1LMKgIDAsIHZ1LMKgIDAsIHZ1LMKgIDAsIHZ1LMKgIDAiKSkpXQoK CgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAiQAoKCgoKCgoK CgorIMKgIHZtdi52LnhcdCUwLCUzCgoKCgoKCgoKCisgwqAgdm12LnYueFx0JTAsJTMKCgoKCgoK CgoKKyDCoCB2bHNlLnZcdCUwLCUzLHplcm8sJTEudAoKCgoKCgoKCgorIMKgIHZsc2Uudlx0JTAs JTMsemVybywlMS50CgoKCgoKCgoKCisgwqAgdmxzZS52XHQlMCwlMyx6ZXJvCgoKCgoKCgoKCisg wqAgdmxzZS52XHQlMCwlMyx6ZXJvCgoKCgoKCgoKCisgwqAgdm12LnMueFx0JTAsJTMKCgoKCgoK CgoKKyDCoCB2bXYucy54XHQlMCwlMyIKCgoKCgoKCgoKK8KgICIocmVnaXN0ZXJfb3BlcmFuZCAo b3BlcmFuZHNbM10sIDxWRUw+bW9kZSkKCgoKCgoKCgoKK8KgIHx8IENPTlNUX1BPTFlfSU5UX1Ag KG9wZXJhbmRzWzNdKSkKCgoKCgoKCgoKK8KgICYmIEdFVF9NT0RFX0JJVFNJWkUgKDxWRUw+bW9k ZSkgPiBHRVRfTU9ERV9CSVRTSVpFIChQbW9kZSkiCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hf ZHVwIDApCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTpWX1ZMU0kgKHVuc3BlYzo8Vk0+IFsobWF0 Y2hfZHVwIDEpIChtYXRjaF9kdXAgNCkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9kdXAgNSkg KG1hdGNoX2R1cCA2KSAobWF0Y2hfZHVwIDcpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZM X1JFR05VTSkgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoK CgoKKyDCoCAodmVjX2R1cGxpY2F0ZTpWX1ZMU0kgKG1hdGNoX2R1cCAzKSkKCgoKCgoKCgoKKyDC oCAobWF0Y2hfZHVwIDIpKSldCgoKCgoKCgoKCivCoCB7CgoKCgoKCgoKCivCoCDCoCBnY2NfYXNz ZXJ0IChjYW5fY3JlYXRlX3BzZXVkb19wICgpKTsKCgoKCgoKCgoKK8KgIMKgIGlmIChDT05TVF9Q T0xZX0lOVF9QIChvcGVyYW5kc1szXSkpCgoKCgoKCgoKCivCoCDCoCDCoCB7CgoKCgoKCgoKCisg cnR4IHRtcCA9IGdlbl9yZWdfcnR4ICg8VkVMPm1vZGUpOwoKCgoKCgoKCgorIGVtaXRfbW92ZV9p bnNuICh0bXAsIG9wZXJhbmRzWzNdKTsKCgoKCgoKCgoKKyBvcGVyYW5kc1szXSA9IHRtcDsKCgoK CgoKCgoKK8KgIMKgIMKgIH0KCgoKCgoKCgoKK8KgIMKgIHJ0eCBtID0gYXNzaWduX3N0YWNrX2xv Y2FsICg8VkVMPm1vZGUsIEdFVF9NT0RFX1NJWkUgKDxWRUw+bW9kZSksCgoKCgoKCgoKCisgR0VU X01PREVfQUxJR05NRU5UICg8VkVMPm1vZGUpKTsKCgoKCgoKCgoKK8KgIMKgIG0gPSB2YWxpZGl6 ZV9tZW0gKG0pOwoKCgoKCgoKCgorwqAgwqAgZW1pdF9tb3ZlX2luc24gKG0sIG9wZXJhbmRzWzNd KTsKCgoKCgoKCgoKK8KgIMKgIG0gPSBnZW5fcnR4X01FTSAoPFZFTD5tb2RlLCBmb3JjZV9yZWcg KFBtb2RlLCBYRVhQIChtLCAwKSkpOwoKCgoKCgoKCgorwqAgwqAgb3BlcmFuZHNbM10gPSBtOwoK CgoKCgoKCgorCgoKCgoKCgoKCivCoCDCoCAvKiBGb3IgU0VXID0gNjQgaW4gUlYzMiBzeXN0ZW0s IHdlIGV4cGFuZCB2bXYucy54OgoKCgoKCgoKCgorIMKgIMKgIMKgIGFuZGkgYTIsYTIsMQoKCgoK CgoKCgorIMKgIMKgIMKgIHZzZXR2bCB6ZXJvLGEyLGU2NAoKCgoKCgoKCgorIMKgIMKgIMKgIHZs c2U2NC52wqAgKi8KCgoKCgoKCgoKK8KgIMKgIGlmIChzYXRpc2ZpZXNfY29uc3RyYWludF9XYjEg KG9wZXJhbmRzWzFdKSkKCgoKCgoKCgoKK8KgIMKgIMKgIHsKCgoKCgoKCgoKKyBvcGVyYW5kc1s0 XSA9IHJpc2N2X3ZlY3Rvcjo6Z2VuX2F2bF9mb3Jfc2NhbGFyX21vdmUgKG9wZXJhbmRzWzRdKTsK CgoKCgoKCgoKKyBvcGVyYW5kc1sxXSA9IENPTlNUTTFfUlRYICg8Vk0+bW9kZSk7CgoKCgoKCgoK CivCoCDCoCDCoCB9CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBl IiAidmltb3Ysdmltb3Ysdmxkcyx2bGRzLHZsZHMsdmxkcyx2aW1vdnh2LHZpbW92eHYiKQoKCgoK CgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoK CgorKGRlZmluZV9pbnNuICIqcHJlZF9icm9hZGNhc3Q8bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0ZfWlZGSE1JTiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDC oCDCoCDCoCAiPXZyLCB2ciwgdnIsIHZyLCB2ciwgdnIsIHZyLCB2ciIpCgoKCgoKCgoKCisgKGlm X3RoZW5fZWxzZTpWX1ZMU0ZfWlZGSE1JTgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoK CgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9icm9hZGNhc3RfbWFz a19vcGVyYW5kIiAiV2MxLFdjMSwgdm0sIHZtLFdjMSxXYzEsV2IxLFdiMSIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAg wqAgwqAgwqAgwqAgIiBySywgckssIHJLLCBySywgckssIHJLLCBySywgcksiKQoKCgoKCgoKCgor wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSIp CgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGks wqAgaSzCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2lu dF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzCoCBp LMKgIGkswqAgaSzCoCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdO VU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJF RElDQVRFKQoKCgoKCgoKCgorIMKgICh2ZWNfZHVwbGljYXRlOlZfVkxTRl9aVkZITUlOCgoKCgoK CgoKCisgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gMyAiZGlyZWN0X2Jyb2FkY2FzdF9vcGVy YW5kIiDCoCDCoCDCoCAiIGYswqAgZixXZG0sV2RtLFdkbSxXZG0swqAgZizCoCBmIikpCgoKCgoK CgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNGX1pWRkhNSU4gMiAidmVjdG9yX21lcmdlX29w ZXJhbmQiwqAgwqAgInZ1LMKgIDAsIHZ1LMKgIDAsIHZ1LMKgIDAsIHZ1LMKgIDAiKSkpXQoKCgoK CgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAiQAoKCgoKCgoKCgor IMKgIHZmbXYudi5mXHQlMCwlMwoKCgoKCgoKCgorIMKgIHZmbXYudi5mXHQlMCwlMwoKCgoKCgoK CgorIMKgIHZsc2Uudlx0JTAsJTMsemVybywlMS50CgoKCgoKCgoKCisgwqAgdmxzZS52XHQlMCwl Myx6ZXJvLCUxLnQKCgoKCgoKCgoKKyDCoCB2bHNlLnZcdCUwLCUzLHplcm8KCgoKCgoKCgoKKyDC oCB2bHNlLnZcdCUwLCUzLHplcm8KCgoKCgoKCgoKKyDCoCB2Zm12LnMuZlx0JTAsJTMKCgoKCgoK CgoKKyDCoCB2Zm12LnMuZlx0JTAsJTMiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAi dmZtb3YsdmZtb3Ysdmxkcyx2bGRzLHZsZHMsdmxkcyx2Zm1vdmZ2LHZmbW92ZnYiKQoKCgoKCgoK CgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgor OzsgdmxlLnYvdnNlLnYsdm12LnYudgoKCgoKCgoKCgorKGRlZmluZV9pbnNuX2FuZF9zcGxpdCAi KnByZWRfdGhfbW92PG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl9W TFMgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgIj12cizCoCDCoCB2 cizCoCDCoCB2ZCwgwqAgwqAgbSzCoCDCoCB2cizCoCDCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCAo aWZfdGhlbl9lbHNlOlZfVkxTCgoKCgoKCgoKCivCoCDCoCDCoCAodW5zcGVjOjxWTT4KCgoKCgoK CgoKK8KgIMKgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJh bmQiIMKgIMKgIMKgIMKgIMKgICJ2bVdjMSwgwqAgV2MxLMKgIMKgIHZtLCB2bVdjMSwgwqAgV2Mx LCDCoCBXYzEiKQoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIMKgIHJLLMKgIMKgIHJLLMKg IMKgIHJLLMKgIMKgIHJLLMKgIMKgIHJLLMKgIMKgIHJLIikKCgoKCgoKCgoKKyDCoCDCoCDCoCDC oCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCAiwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSwgwqAg wqAgaSIpCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50 X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGksIMKgIMKgIGksIMKg IMKgIGksIMKgIMKgIGksIMKgIMKgIGksIMKgIMKgIGkiKQoKCgoKCgoKCgorIMKgIMKgIMKgIMKg IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgICLCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBpLCDCoCDC oCBpIikKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoK KyDCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFMgMyAicmVnX29yX21lbV9vcGVy YW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBtLCDCoCDCoCBtLCDCoCDCoCBtLMKgIMKg IHZyLMKgIMKgIHZyLMKgIMKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k OlZfVkxTIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCAw LMKgIMKgIHZ1LMKgIMKgIHZ1LMKgIMKgIHZ1LMKgIMKgIHZ1LCDCoCDCoCAwIikpKV0KCgoKCgoK CgoKK8KgICIoVEFSR0VUX1hUSEVBRFZFQ1RPUgoKCgoKCgoKCgorwqAgwqAgJiYgKHJlZ2lzdGVy X29wZXJhbmQgKG9wZXJhbmRzWzBdLCA8TU9ERT5tb2RlKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAg fHwgcmVnaXN0ZXJfb3BlcmFuZCAob3BlcmFuZHNbM10sIDxNT0RFPm1vZGUpKSkiCgoKCgoKCgoK CivCoCAiQAoKCgoKCgoKCgorIMKgIHZsZS52XHQlMCwlMyVwMQoKCgoKCgoKCgorIMKgIHZsZS52 XHQlMCwlMwoKCgoKCgoKCgorIMKgIHZsZS52XHQlMCwlMywlMS50CgoKCgoKCgoKCisgwqAgdnNl LnZcdCUzLCUwJXAxCgoKCgoKCgoKCisgwqAgdm12LnYudlx0JTAsJTMKCgoKCgoKCgoKKyDCoCB2 bXYudi52XHQlMCwlMyIKCgoKCgoKCgoKK8KgICImJiByZWdpc3Rlcl9vcGVyYW5kIChvcGVyYW5k c1swXSwgPE1PREU+bW9kZSkKCgoKCgoKCgoKKyDCoCAmJiByZWdpc3Rlcl9vcGVyYW5kIChvcGVy YW5kc1szXSwgPE1PREU+bW9kZSkKCgoKCgoKCgoKKyDCoCAmJiBzYXRpc2ZpZXNfY29uc3RyYWlu dF92dSAob3BlcmFuZHNbMl0pCgoKCgoKCgoKCisgwqAgJiYgSU5UVkFMIChvcGVyYW5kc1s3XSkg PT0gcmlzY3ZfdmVjdG9yOjpWTE1BWCIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9kdXAgMCkg KG1hdGNoX2R1cCAzKSldCgoKCgoKCgoKCivCoCAiIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAi dHlwZSIgInZsZGUsdmxkZSx2bGRlLHZzdGUsdmltb3Ysdmltb3YiKQoKCgoKCgoKCgorIMKgIChz ZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9p bnNuX2FuZF9zcGxpdCAiQHByZWRfdGhfbW92PG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1h dGNoX29wZXJhbmQ6VkJfVkxTIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiDCoCDCoCDCoCDCoCDC oCDCoCDCoCAiPXZyLCDCoCBtLMKgIHZyLMKgIHZyLMKgIHZyIikKCgoKCgoKCgoKKyAoaWZfdGhl bl9lbHNlOlZCX1ZMUwoKCgoKCgoKCgorIMKgICh1bnNwZWM6VkJfVkxTCgoKCgoKCgoKCisgwqAg wqAgWyhtYXRjaF9vcGVyYW5kOlZCX1ZMUyAxICJ2ZWN0b3JfYWxsX3RydWVzX21hc2tfb3BlcmFu ZCIgIldjMSwgV2MxLCBXYzEsIFdjMSwgV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9v cGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCAiIHJLLMKg IHJLLMKgIHJLLMKgIHJLLMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLCDCoCBp LCDCoCBpLCDCoCBpLCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVN KQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJ Q0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDpWQl9WTFMgMyAidmVjdG9yX21vdmVf b3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgbSzCoCB2cizCoCB2ciwgV2MwLCBXYzEi KQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOlZCX1ZMUyAyICJ2ZWN0b3JfdW5kZWZfb3Bl cmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIiB2dSzCoCB2dSzCoCB2dSzCoCB2dSzCoCB2dSIpKSld CgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJACgoKCgoK CgoKCisgwqAgIwoKCgoKCgoKCgorIMKgICMKCgoKCgoKCgoKKyDCoCB2bWNweS5tXHQlMCwlMwoK CgoKCgoKCgorIMKgIHZtY2xyLm1cdCUwCgoKCgoKCgoKCisgwqAgdm1zZXQubVx0JTAiCgoKCgoK CgoKCivCoCAiJiYgIXJlbG9hZF9jb21wbGV0ZWQiCgoKCgoKCgoKCivCoCBbKGNvbnN0X2ludCAw KV0KCgoKCgoKCgoKK8KgIHsKCgoKCgoKCgoKK8KgIMKgIGlmICgoTUVNX1AgKG9wZXJhbmRzWzBd KSB8fCBNRU1fUCAob3BlcmFuZHNbM10pKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgfHwgKFJFR19Q IChvcGVyYW5kc1swXSkgJiYgUkVHX1AgKG9wZXJhbmRzWzNdKQoKCgoKCgoKCgorIMKgIMKgICYm IElOVFZBTCAob3BlcmFuZHNbNV0pID09IHJpc2N2X3ZlY3Rvcjo6VkxNQVgpKQoKCgoKCgoKCgor wqAgwqAgwqAgewoKCgoKCgoKCgorIGVtaXRfbW92ZV9pbnNuIChvcGVyYW5kc1swXSwgb3BlcmFu ZHNbM10pOwoKCgoKCgoKCgorIERPTkU7CgoKCgoKCgoKCivCoCDCoCDCoCB9CgoKCgoKCgoKCisK CgoKCgoKCgoKK8KgIMKgIEZBSUw7CgoKCgoKCgoKCivCoCB9CgoKCgoKCgoKCivCoCBbKHNldF9h dHRyICJ0eXBlIiAidmxkbSx2c3RtLHZtYWx1LHZtYWx1LHZtYWx1IikKCgoKCgoKCgoKKyDCoCAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVf aW5zbiAiQHByZWRfdGhfc3RvcmU8bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3Bl cmFuZDpWIDAgIm1lbW9yeV9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiK20iKQoK CgoKCgoKCgorIChpZl90aGVuX2Vsc2U6VgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoK CgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQi ICJ2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCAzICJ2ZWN0b3JfbGVu Z3RoX29wZXJhbmQiwqAgwqAgIiDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3Bl cmFuZCA0ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSIpCgoKCgoKCgoK CivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kg VlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29w ZXJhbmQ6ViAyICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiwqAgwqAgdnIiKQoKCgoK CgoKCgorIMKgIChtYXRjaF9kdXAgMCkpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVD VE9SIgoKCgoKCgoKCgorwqAgInZzZS52XHQlMiwlMCVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0 dHIgInR5cGUiICJ2c3RlIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4i KQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNCkp CgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2bF9vcF9pZHgiICIzIildKQoKCgoKCgoKCgorCgoK CgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX3N0cmlkZWRfbG9hZDxtb2RlPiIKCgoKCgoK CgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlYgMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCDCoCDCoCAiPXZyLMKgIMKgIHZyLMKgIMKgIHZkLMKgIMKgIHZyLMKgIMKgIHZyLMKg IMKgIHZkIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOlYKCgoKCgoKCgoKKyDCoCAodW5zcGVj OjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFz a19vcGVyYW5kIiAidm1XYzEsIMKgIFdjMSzCoCDCoCB2bSzCoCDCoCB2bVdjMSwgwqAgV2MxLMKg IMKgIHZtIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5n dGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLLMKgIMKgIHJLLMKgIMKgIHJLLCDCoCDCoCDCoCBySyzC oCDCoCBySyzCoCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJj b25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSzC oCDCoCDCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRj aF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpLCDCoCDC oCBpLCDCoCDCoCBpLMKgIMKgIMKgIMKgIGksIMKgIMKgIGksIMKgIMKgIGkiKQoKCgoKCgoKCgor wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAg IsKgIMKgIGksIMKgIMKgIGksIMKgIMKgIGkswqAgwqAgwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAg aSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKg IMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisg wqAgKHVuc3BlYzpWCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOlYgMyAibWVtb3J5 X29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgwqAgbSwgwqAgwqAgbSwgwqAgwqAgbSzCoCDCoCBt LCDCoCDCoCBtLCDCoCDCoCBtIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQg IjxWOnN0cmlkZV9wcmVkaWNhdGU+IiDCoCDCoCAiPFY6c3RyaWRlX2xvYWRfY29uc3RyYWludD4i KV0gVU5TUEVDX1NUUklERUQpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6ViAyICJ2ZWN0 b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCDCoCAiIMKgIMKgIDAswqAgwqAgdnUswqAgwqAgdnUswqAg wqAgMCzCoCDCoCB2dSzCoCDCoCB2dSIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZF Q1RPUiIKCgoKCgoKCgoKK8KgICJACgoKCgoKCgoKCivCoCB2bHNlLnZcdCUwLCUzLCV6NCVwMQoK CgoKCgoKCgorwqAgdmxzZS52XHQlMCwlMywlejQKCgoKCgoKCgoKK8KgIHZsc2Uudlx0JTAsJTMs JXo0LCUxLnQKCgoKCgoKCgoKK8KgIHZsZS52XHQlMCwlMyVwMQoKCgoKCgoKCgorwqAgdmxlLnZc dCUwLCUzCgoKCgoKCgoKCivCoCB2bGUudlx0JTAsJTMsJTEudCIKCgoKCgoKCgoKK8KgIFsoc2V0 X2F0dHIgInR5cGUiICJ2bGRzIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9E RT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfc3RyaWRl ZF9zdG9yZTxtb2RlPiIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlYgMCAibWVt b3J5X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICIrbSzCoCDCoCBtIikKCgoKCgoK CgoKKyAoaWZfdGhlbl9lbHNlOlYKCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoK KyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAidm1X YzEswqAgwqAgdm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAidmVj dG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgwqAgckssIMKgIMKgIMKgIHJLIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKg ICLCoCDCoCBpLMKgIMKgIMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9S RUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19W UFJFRElDQVRFKQoKCgoKCgoKCgorIMKgICh1bnNwZWM6VgoKCgoKCgoKCgorIMKgIMKgIFsobWF0 Y2hfb3BlcmFuZCAyICI8VjpzdHJpZGVfcHJlZGljYXRlPiIgwqAgwqAgIjxWOnN0cmlkZV9zdG9y ZV9jb25zdHJhaW50PiIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWIDMgInJl Z2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgICIgwqAgdnIsIMKgIMKgIMKgIHZyIildIFVOU1BFQ19T VFJJREVEKQoKCgoKCgoKCgorIMKgIChtYXRjaF9kdXAgMCkpKV0KCgoKCgoKCgoKK8KgICJUQVJH RVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgIkAKCgoKCgoKCgoKK8KgIHZzc2Uudlx0JTMs JTAsJXoyJXAxCgoKCgoKCgoKCivCoCB2c2Uudlx0JTMsJTAlcDEiCgoKCgoKCgoKCivCoCBbKHNl dF9hdHRyICJ0eXBlIiAidnN0cyIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1P REU+IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50 IDUpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJl ZF90aF9pbmRleGVkXzxvcmRlcj5sb2FkPG1vZGU+X3NhbWVfZWV3IgoKCgoKCgoKCgorwqAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6ViAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDC oCAiPXZkLCB2cix2ZCwgdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6VgoKCgoKCgoKCgor IMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEg InZlY3Rvcl9tYXNrX29wZXJhbmQiwqAgIiB2bSxXYzEsdm0sV2MxIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgwqAgIiBySywg ckssckssIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2lu dF9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLCBpLMKgIGkiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgICLC oCBpLMKgIGksIGkswqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJj b25zdF9pbnRfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSwgaSzCoCBpIikKCgoKCgoK CgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpT SSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAodW5zcGVj OlYKCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQgMyAicG1vZGVfcmVnX29yXzBfb3Bl cmFuZCLCoCDCoCAiIHJKLCBySixySiwgckoiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1lbTpCTEsg KHNjcmF0Y2gpKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZJTkRFWD4gNCAi cmVnaXN0ZXJfb3BlcmFuZCIgIiB2ciwgdnIsdnIsIHZyIildIE9SREVSKQoKCgoKCgoKCgorIMKg IChtYXRjaF9vcGVyYW5kOlYgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKgIMKgICIgdnUs IHZ1LCAwLMKgIDAiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoK CgoKCivCoCAidmx4ZS52XHQlMCwoJXozKSwlNCVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIg InR5cGUiICJ2bGQ8b3JkZXI+eCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1P REU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCis7OyBERVNUIGVldyBpcyBncmVhdGVyIHRoYW4g U09VUkNFIGVldy4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88b3Jk ZXI+bG9hZDxtb2RlPl94Ml9ncmVhdGVyX2VldyIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlZFRVdFWFQyIDAgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgIj0mdnIswqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOlZFRVdFWFQy CgoKCgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVy YW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgInZt V2MxLHZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9s ZW5ndGhfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIMKgIHJLLCDCoCBySyIp CgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoK CgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAo cmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVN KV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWRUVXRVhUMgoKCgoK CgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZCAzICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIiDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIMKgIHJKLCDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCDC oCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8 VklOREVYX0RPVUJMRV9UUlVOQz4gNCAicmVnaXN0ZXJfb3BlcmFuZCIgIiDCoCB2ciwgwqAgdnIi KV0gT1JERVIpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6VkVFV0VYVDIgMiAidmVjdG9y X21lcmdlX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICIgwqAgdnUswqAgwqAgMCIpKSldCgoK CgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bHhlLnZcdCUw LCglejMpLCU0JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZsZDxvcmRlcj54 IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisK CgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88b3JkZXI+bG9hZDxtb2Rl Pl94NF9ncmVhdGVyX2VldyIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZFRVdF WFQ0IDAgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIj0m dnIswqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOlZFRVdFWFQ0CgoKCgoKCgoKCisg wqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAi dmVjdG9yX21hc2tfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgInZtV2MxLHZtV2MxIikK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFu ZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIMKgIHJLLCDCoCBySyIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNo X29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JF R05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWRUVXRVhUNAoKCgoKCgoKCgorIMKgIMKg IFsobWF0Y2hfb3BlcmFuZCAzICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCAiIMKgIHJKLCDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWVtOkJMSyAo c2NyYXRjaCkpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VklOREVYX1FVQURf VFJVTkM+IDQgInJlZ2lzdGVyX29wZXJhbmQiIMKgICIgwqAgdnIsIMKgIHZyIildIE9SREVSKQoK CgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOlZFRVdFWFQ0IDIgInZlY3Rvcl9tZXJnZV9vcGVy YW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiIMKgIHZ1LMKgIMKgIDAiKSkpXQoKCgoKCgoKCgorwqAg IlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmx4ZS52XHQlMCwoJXozKSwlNCVw MSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2bGQ8b3JkZXI+eCIpCgoKCgoKCgoK CisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCiso ZGVmaW5lX2luc24gIkBwcmVkX3RoX2luZGV4ZWRfPG9yZGVyPmxvYWQ8bW9kZT5feDhfZ3JlYXRl cl9lZXciCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRUVXRVhUOCAwICJyZWdp c3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9JnZyLMKgICZ2ciIp CgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTpWRUVXRVhUOAoKCgoKCgoKCgorIMKgICh1bnNwZWM6 PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNr X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKgICJ2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1h dGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3Bl cmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDgg ImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDC oCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoK CgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoK CgoKCgoKCgorIMKgICh1bnNwZWM6VkVFV0VYVDgKCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29w ZXJhbmQgMyAicG1vZGVfcmVnX29yXzBfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg IiDCoCBySiwgwqAgckoiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1lbTpCTEsgKHNjcmF0Y2gpKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZJTkRFWF9PQ1RfVFJVTkM+IDQgInJl Z2lzdGVyX29wZXJhbmQiwqAgwqAgIiDCoCB2ciwgwqAgdnIiKV0gT1JERVIpCgoKCgoKCgoKCisg wqAgKG1hdGNoX29wZXJhbmQ6VkVFV0VYVDggMiAidmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKg IMKgIMKgIMKgIMKgICIgwqAgdnUswqAgwqAgMCIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hU SEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bHhlLnZcdCUwLCglejMpLCU0JXAxIgoKCgoKCgoK CgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZsZDxvcmRlcj54IikKCgoKCgoKCgoKKyDCoCAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKzs7IERFU1QgZWV3 IGlzIHNtYWxsZXIgdGhhbiBTT1VSQ0UgZWV3LgoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJl ZF90aF9pbmRleGVkXzxvcmRlcj5sb2FkPG1vZGU+X3gyX3NtYWxsZXJfZWV3IgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkVFV1RSVU5DMiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDC oCDCoCDCoCDCoCDCoCDCoCDCoCAiPXZkLCB2ZCwgdnIsIHZyLMKgICZ2cizCoCAmdnIiKQoKCgoK CgoKCgorIChpZl90aGVuX2Vsc2U6VkVFV1RSVU5DMgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZN PgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29w ZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICIgdm0sIHZtLFdjMSxXYzEsdm1XYzEsdm1XYzEiKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5k IsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICIgckssIHJLLCBySywgckssIMKgIHJLLCDCoCBySyIp CgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSzCoCDCoCBp LMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50 X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKg IGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDgg ImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKg IGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJ IFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5T UEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWRUVXVFJVTkMyCgoKCgoKCgoK CisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiIMKgIMKg IMKgIMKgIMKgIMKgIMKgICIgckosIHJKLCBySiwgckosIMKgIHJKLCDCoCBySiIpCgoKCgoKCgoK CivCoCDCoCDCoCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZDo8VklOREVYX0RPVUJMRV9FWFQ+IDQgInJlZ2lzdGVyX29wZXJhbmQiICLCoCAwLMKg IDAswqAgMCzCoCAwLCDCoCB2ciwgwqAgdnIiKV0gT1JERVIpCgoKCgoKCgoKCisgwqAgKG1hdGNo X29wZXJhbmQ6VkVFV1RSVU5DMiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgwqAgwqAgwqAgwqAg IiB2dSzCoCAwLCB2dSzCoCAwLCDCoCB2dSzCoCDCoCAwIikpKV0KCgoKCgoKCgoKK8KgICJUQVJH RVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZseGUudlx0JTAsKCV6MyksJTQlcDEiCgoK CgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmxkPG9yZGVyPngiKQoKCgoKCgoKCgorIMKg IChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmlu ZV9pbnNuICJAcHJlZF90aF9pbmRleGVkXzxvcmRlcj5sb2FkPG1vZGU+X3g0X3NtYWxsZXJfZWV3 IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkVFV1RSVU5DNCAwICJyZWdpc3Rl cl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiPXZkLCB2ZCwgdnIsIHZyLMKgICZ2cizCoCAm dnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6VkVFV1RSVU5DNAoKCgoKCgoKCgorIMKgICh1 bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rv cl9tYXNrX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgICIgdm0sIHZtLFdjMSxXYzEsdm1XYzEsdm1X YzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9v cGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICIgckssIHJLLCBySywgckssIMKgIHJLLCDCoCBy SyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFu ZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSzCoCDCoCBp LMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50 X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGks wqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNv bnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAg aSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JF R05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWRUVXVFJVTkM0CgoKCgoKCgoKCisgwqAg wqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiIMKgIMKgIMKgIMKg IMKgIMKgICIgckosIHJKLCBySiwgckosIMKgIHJKLCDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCDC oCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8 VklOREVYX1FVQURfRVhUPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAiwqAgMCzCoCAwLMKgIDAswqAg MCwgwqAgdnIsIMKgIHZyIildIE9SREVSKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOlZF RVdUUlVOQzQgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKgIMKgICIgdnUswqAgMCwgdnUs wqAgMCwgwqAgdnUswqAgwqAgMCIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RP UiIKCgoKCgoKCgoKK8KgICJ2bHhlLnZcdCUwLCglejMpLCU0JXAxIgoKCgoKCgoKCgorwqAgWyhz ZXRfYXR0ciAidHlwZSIgInZsZDxvcmRlcj54IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1v ZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRf dGhfaW5kZXhlZF88b3JkZXI+bG9hZDxtb2RlPl94OF9zbWFsbGVyX2VldyIKCgoKCgoKCgoKK8Kg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlZFRVdUUlVOQzggMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDC oCDCoCDCoCDCoCDCoCAiPXZkLCB2ZCwgdnIsIHZyLMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgor IChpZl90aGVuX2Vsc2U6VkVFV1RSVU5DOAoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoK CgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQi wqAgwqAgwqAgwqAgwqAgIiB2bSwgdm0sV2MxLFdjMSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKg IMKgIMKgIMKgICIgckssIHJLLCBySywgckssIMKgIHJLLCDCoCBySyIpCgoKCgoKCgoKCivCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIp CgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKg IChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAg KHVuc3BlYzpWRUVXVFJVTkM4CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBt b2RlX3JlZ19vcl8wX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgIiBySiwgckosIHJKLCBySiwg wqAgckosIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06QkxLIChzY3JhdGNoKSkKCgoK CgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWSU5ERVhfT0NUX0VYVD4gNCAicmVnaXN0 ZXJfb3BlcmFuZCIgIsKgIDAswqAgMCzCoCAwLMKgIDAsIMKgIHZyLCDCoCB2ciIpXSBPUkRFUikK CgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDpWRUVXVFJVTkM4IDIgInZlY3Rvcl9tZXJnZV9v cGVyYW5kIsKgIMKgIMKgICIgdnUswqAgMCwgdnUswqAgMCwgwqAgdnUswqAgwqAgMCIpKSldCgoK CgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bHhlLnZcdCUw LCglejMpLCU0JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZsZDxvcmRlcj54 IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisK CgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88dGhfb3JkZXI+c3RvcmU8 UkFUSU82NDptb2RlPjxSQVRJTzY0STptb2RlPiIKCgoKCgoKCgoKK8KgIFsoc2V0IChtZW06QkxL IChzY3JhdGNoKSkKCgoKCgoKCgoKKyAodW5zcGVjOkJMSwoKCgoKCgoKCgorIMKgIFsodW5zcGVj OjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJ2ZWN0b3JfbWFz a19vcGVyYW5kIiAidm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAi dmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGki KQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDC oCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorwqAg wqAgKG1hdGNoX29wZXJhbmQgMSAicG1vZGVfcmVnX29yXzBfb3BlcmFuZCLCoCDCoCDCoCAiwqAg ckoiKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQ6UkFUSU82NEkgMiAicmVnaXN0ZXJf b3BlcmFuZCIgIsKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPNjQg MyAicmVnaXN0ZXJfb3BlcmFuZCLCoCAiwqAgdnIiKV0gT1JERVIpKV0KCgoKCgoKCgoKK8KgICJU QVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZzPHRoX29yZGVyPnhlLnZcdCUzLCgl ejEpLCUyJXAwIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZzdHV4IikKCgoKCgoK CgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8UkFUSU82NDpNT0RFPiIpXSkKCgoKCgoKCgoKKwoK CgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJlZF90aF9pbmRleGVkXzx0aF9vcmRlcj5zdG9yZTxS QVRJTzMyOm1vZGU+PFJBVElPMzJJOm1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1lbTpCTEsg KHNjcmF0Y2gpKQoKCgoKCgoKCgorICh1bnNwZWM6QkxLCgoKCgoKCgoKCisgwqAgWyh1bnNwZWM6 PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInZlY3Rvcl9tYXNr X29wZXJhbmQiICJ2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJ2 ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgIiDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAo bWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSIp CgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKg IChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCivCoCDC oCAobWF0Y2hfb3BlcmFuZCAxICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIsKgIMKgIMKgICLCoCBy SiIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDpSQVRJTzMySSAyICJyZWdpc3Rlcl9v cGVyYW5kIiAiwqAgdnIiKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQ6UkFUSU8zMiAz ICJyZWdpc3Rlcl9vcGVyYW5kIsKgICLCoCB2ciIpXSBPUkRFUikpXQoKCgoKCgoKCgorwqAgIlRB UkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidnM8dGhfb3JkZXI+eGUudlx0JTMsKCV6 MSksJTIlcDAiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidnN0dXgiKQoKCgoKCgoK CgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxSQVRJTzMyOk1PREU+IildKQoKCgoKCgoKCgorCgoK CgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX2luZGV4ZWRfPHRoX29yZGVyPnN0b3JlPFJB VElPMTY6bW9kZT48UkFUSU8xNkk6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAo c2NyYXRjaCkpCgoKCgoKCgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8 Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tf b3BlcmFuZCIgInZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZl Y3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgICht YXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikK CgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKg IChtYXRjaF9vcGVyYW5kIDEgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiwqAgwqAgwqAgIsKgIHJK IikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPMTZJIDIgInJlZ2lzdGVyX29w ZXJhbmQiICLCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDpSQVRJTzE2IDMg InJlZ2lzdGVyX29wZXJhbmQiwqAgIsKgIHZyIildIE9SREVSKSldCgoKCgoKCgoKCivCoCAiVEFS R0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2czx0aF9vcmRlcj54ZS52XHQlMywoJXox KSwlMiVwMCIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2c3R1eCIpCgoKCgoKCgoK CisgwqAgKHNldF9hdHRyICJtb2RlIiAiPFJBVElPMTY6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoK CgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88dGhfb3JkZXI+c3RvcmU8UkFU SU84Om1vZGU+PFJBVElPOEk6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2Ny YXRjaCkpCgoKCgoKCgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+ CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tfb3Bl cmFuZCIgInZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRj aF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikKCgoK CgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKgICht YXRjaF9vcGVyYW5kIDEgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiwqAgwqAgwqAgIsKgIHJKIikK CgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPOEkgMiAicmVnaXN0ZXJfb3BlcmFu ZCIgIsKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPOCAzICJyZWdp c3Rlcl9vcGVyYW5kIsKgICLCoCB2ciIpXSBPUkRFUikpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9Y VEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidnM8dGhfb3JkZXI+eGUudlx0JTMsKCV6MSksJTIl cDAiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidnN0dXgiKQoKCgoKCgoKCgorIMKg IChzZXRfYXR0ciAibW9kZSIgIjxSQVRJTzg6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoK KyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88dGhfb3JkZXI+c3RvcmU8UkFUSU80Om1v ZGU+PFJBVElPNEk6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2NyYXRjaCkp CgoKCgoKCgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoK CgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tfb3BlcmFuZCIg InZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5n dGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikKCgoKCgoKCgoK K8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBW VFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9v cGVyYW5kIDEgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiwqAgwqAgwqAgIsKgIHJKIikKCgoKCgoK CgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPNEkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIsKg IHZyIikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPNCAzICJyZWdpc3Rlcl9v cGVyYW5kIsKgICLCoCB2ciIpXSBPUkRFUikpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURW RUNUT1IiCgoKCgoKCgoKCivCoCAidnM8dGhfb3JkZXI+eGUudlx0JTMsKCV6MSksJTIlcDAiCgoK CgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidnN0dXgiKQoKCgoKCgoKCgorIMKgIChzZXRf YXR0ciAibW9kZSIgIjxSQVRJTzQ6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZp bmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88dGhfb3JkZXI+c3RvcmU8UkFUSU8yOm1vZGU+PFJB VElPMkk6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoK CgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisg wqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2Mx IikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3Bl cmFuZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUg ImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKg IMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9S RUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5k IDEgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiIMKgIMKgIMKgICLCoCBySiIpCgoKCgoKCgoKCivC oCDCoCAobWF0Y2hfb3BlcmFuZDpSQVRJTzJJIDIgInJlZ2lzdGVyX29wZXJhbmQiwqAgIsKgIHZy IikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPMiAzICJyZWdpc3Rlcl9vcGVy YW5kIiDCoCAiwqAgdnIiKV0gT1JERVIpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVD VE9SIgoKCgoKCgoKCgorwqAgInZzPHRoX29yZGVyPnhlLnZcdCUzLCglejEpLCUyJXAwIgoKCgoK CgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZzdHV4IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0 dHIgIm1vZGUiICI8UkFUSU8yOk1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5l X2luc24gIkBwcmVkX3RoX2luZGV4ZWRfPHRoX29yZGVyPnN0b3JlPFJBVElPMTptb2RlPjxSQVRJ TzE6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoKCgoK CisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAg wqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxIikK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFu ZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNv bnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKg IChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdO VU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDEg InBtb2RlX3JlZ19vcl8wX29wZXJhbmQiIMKgIMKgIMKgICLCoCBySiIpCgoKCgoKCgoKCivCoCDC oCAobWF0Y2hfb3BlcmFuZDpSQVRJTzEgMiAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgIsKgIHZyIikK CgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPMSAzICJyZWdpc3Rlcl9vcGVyYW5k IsKgIMKgICLCoCB2ciIpXSBPUkRFUikpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNU T1IiCgoKCgoKCgoKCivCoCAidnM8dGhfb3JkZXI+eGUudlx0JTMsKCV6MSksJTIlcDAiCgoKCgoK CgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidnN0dXgiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAibW9kZSIgIjxSQVRJTzE6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVf aW5zbiAiQHByZWRfdGhfcG9wY291bnQ8VkI6bW9kZT48UDptb2RlPiIKCgoKCgoKCgoKK8KgIFso c2V0IChtYXRjaF9vcGVyYW5kOlAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAg wqAgwqAgIj1yIikKCgoKCgoKCgoKKyAocG9wY291bnQ6UAoKCgoKCgoKCgorIMKgICh1bnNwZWM6 VkIKCgoKCgoKCgoKKyDCoCDCoCBbKGFuZDpWQgoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNo X29wZXJhbmQ6VkIgMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxIikKCgoKCgoKCgoKK8Kg IMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZCIDIgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgIiDC oCB2ciIpKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0 aF9vcGVyYW5kIsKgIMKgICIgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgNCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkiKQoKCgoKCgoKCgor wqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZU WVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9Y VEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1wb3BjLm1cdCUwLCUyJXAxIgoKCgoKCgoKCgor wqAgWyhzZXRfYXR0ciAidHlwZSIgInZtcG9wIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1v ZGUiICI8VkI6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHBy ZWRfdGhfZmZzPFZCOm1vZGU+PFA6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3Bl cmFuZDpQIDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9ciIp CgoKCgoKCgoKCisgKHBsdXM6UAoKCgoKCgoKCgorIMKgIChmZnM6UAoKCgoKCgoKCgorIMKgIMKg ICh1bnNwZWM6VkIKCgoKCgoKCgoKKyDCoCDCoCDCoCBbKGFuZDpWQgoKCgoKCgoKCgorwqAgwqAg wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6VkIgMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2Mx IikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZCIDIgInJlZ2lzdGVy X29wZXJhbmQiwqAgwqAgIiDCoCB2ciIpKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgwqAgcksiKQoKCgoKCgoKCgor wqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAg wqAgIsKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoK CgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElD QVRFKSkKCgoKCgoKCgoKKyDCoCAoY29uc3RfaW50IC0xKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdF VF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1maXJzdC5tXHQlMCwlMiVwMSIKCgoKCgoK CgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2bWZmcyIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRy ICJtb2RlIiAiPFZCOk1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24g IkBwcmVkX3RoX25hcnJvd19mY3Z0X3g8dl9zdT5fZjxtb2RlPiIKCgoKCgoKCgoKK8KgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOjxWTkNPTlZFUlQ+IDAgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAg wqAgIj0mdmQsICZ2ZCwgJnZyLCAmdnIswqAgJnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3Ro ZW5fZWxzZTo8Vk5DT05WRVJUPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgor IMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiIMKgIMKg IMKgICIgdm0sIHZtLFdjMSxXYzEsdm1XYzEsdm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1h dGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgICIgckss IHJLLCBySywgckssIMKgIHJLLCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3Bl cmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBp LMKgIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAg aSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9v cGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKg IGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzC oCBpLMKgIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpT SSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSkKCgoK CgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgRlJNX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoK CgoKCgoKCgorIMKgICh1bnNwZWM6PFZOQ09OVkVSVD4KCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0 Y2hfb3BlcmFuZDpWX1ZMU0YgMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgIsKgIHZkLMKg IHZkLMKgIHZyLMKgIHZyLCDCoCB2ciwgwqAgdnIiKV0gVkZDVlRTKQoKCgoKCgoKCgorIMKgICht YXRjaF9vcGVyYW5kOjxWTkNPTlZFUlQ+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgICIgdnUs wqAgdmQsIHZ1LMKgIHZyLCDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VU X1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2Zm5jdnQueDx2X3N1Pi5mLnZcdCUwLCUzJXAx IgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZmbmN2dGZ0b2kiKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAibW9kZSIgIjxWTkNPTlZFUlQ+IikKCgoKCgoKCgoKKyDCoCAoc2V0IChh dHRyICJmcm1fbW9kZSIpCgoKCgoKCgoKCisgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0 X2ZybV9tb2RlIChvcGVyYW5kc1s4XSkiKSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5l X2luc24gIkBwcmVkX3RoX25hcnJvd188ZmxvYXRfY3Z0Pjxtb2RlPiIKCgoKCgoKCgoKK8KgIFso c2V0IChtYXRjaF9vcGVyYW5kOjxWTkNPTlZFUlQ+IDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKg IMKgICI9JnZkLCAmdmQsICZ2ciwgJnZyLMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90 aGVuX2Vsc2U6PFZOQ09OVkVSVD4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoK KyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgIMKg IMKgICIgdm0sIHZtLFdjMSxXYzEsdm1XYzEsdm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1h dGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiIHJLLCBy SywgckssIHJLLCDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgNSAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAg aSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFu ZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBp LMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGks wqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQg OCAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzC oCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05V TSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKQoKCgoKCgoKCgorwqAg wqAgwqAgKHJlZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisg wqAgKGFueV9mbG9hdDo8Vk5DT05WRVJUPgoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQ6VldDT05WRVJUSSAzICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCAiwqAgdmQswqAgdmQswqAgdnIs wqAgdnIsIMKgIHZyLCDCoCB2ciIpKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOjxWTkNP TlZFUlQ+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAiIHZ1LMKgIHZkLCB2dSzCoCB2ciwgwqAg dnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoK CgoKCivCoCAidmZuY3Z0LmYueDx1Pi52XHQlMCwlMyVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0 dHIgInR5cGUiICJ2Zm5jdnRpdG9mIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8 Vk5DT05WRVJUPiIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAiZnJtX21vZGUiKQoKCgoKCgoK CgorIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9mcm1fbW9kZSAob3BlcmFuZHNbOF0p IikpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJlZF90aF9uYXJyb3df PG9wdGFiPjxtb2RlPiIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWX0RPVUJM RV9UUlVOQz4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgIj0mdmQsJnZkLCAm dnIsICZ2ciwmdmQsICZ2cizCoCAmdnIswqAgJnZyLCB2ZCwgdnIswqAgJnZyLMKgICZ2ciIpCgoK CgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vl9ET1VCTEVfVFJVTkM+CgoKCgoKCgoKCisgwqAgKHVu c3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9y X21hc2tfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIiB2bSx2bSxXYzEsV2MxLHZtLFdj MSx2bVdjMSx2bVdjMSwgdm0sV2MxLHZtV2MxLHZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgICht YXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCAiIHJLLHJLLCBySywgckssckssIHJLLCDCoCBySywgwqAgckssIHJLLCBySywgwqAg ckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2lu dF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLCBpLMKgIGks wqAgaSwgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLCBpLMKgIGkswqAgaSwgaSzCoCBp LMKgIMKgIGkswqAgwqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8Kg IMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLCBpLMKgIGkswqAgaSwgaSzCoCBpLMKgIMKgIGkswqAg wqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6 U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBV TlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAodHJ1bmNhdGU6PFZfRE9VQkxFX1RSVU5D PgoKCgoKCgoKCgorIMKgIMKgIChhbnlfc2hpZnRydDpWV0VYVEkKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kOlZXRVhUSSAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgICIgdnIsdnIsIHZyLCB2ciwgdmQswqAgdnIsIMKgIHZyLCDCoCB2cizCoCB2ZCzC oCB2ciwgwqAgdnIsIMKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxW X0RPVUJMRV9UUlVOQz4gNCAidmVjdG9yX3NoaWZ0X29wZXJhbmQiwqAgIsKgIHZkLCB2ZCzCoCB2 cizCoCB2cix2ciwgdnIsIMKgIHZyLCDCoCB2ciwgdmssIHZrLCDCoCB2aywgwqAgdmsiKSkpCgoK CgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6PFZfRE9VQkxFX1RSVU5DPiAyICJ2ZWN0b3JfbWVy Z2Vfb3BlcmFuZCIgwqAgwqAgIsKgIHZkLHZ1LMKgIHZyLCB2dSx2dSwgdnUsIMKgIHZ1LMKgIMKg IHZyLCB2dSwgdnUsIMKgIHZ1LMKgIMKgIHZyIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRI RUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZuPGluc24+LnYlbzRcdCUwLCUzLCV2NCVwMSIKCgoK CgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2bnNoaWZ0IikKCgoKCgoKCgoKKyDCoCAoc2V0 X2F0dHIgIm1vZGUiICI8Vl9ET1VCTEVfVFJVTkM+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCiso ZGVmaW5lX2luc24gIkBwcmVkX3RoX25hcnJvd188b3B0YWI+PG1vZGU+X3NjYWxhciIKCgoKCgoK CgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWX0RPVUJMRV9UUlVOQz4gMCAicmVnaXN0ZXJf b3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgIj0mdmQsICZ2ZCwgJnZyLCAmdnIswqAgJnZyLMKgICZ2 ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vl9ET1VCTEVfVFJVTkM+CgoKCgoKCgoKCisg wqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAi dmVjdG9yX21hc2tfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIiB2bSwgdm0sV2MxLFdj MSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0 b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIiBySywgckssIHJL LCBySywgwqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYg ImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBp LMKgIGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgor wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBp IikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAg wqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDC oCAodHJ1bmNhdGU6PFZfRE9VQkxFX1RSVU5DPgoKCgoKCgoKCgorIMKgIMKgIChhbnlfc2hpZnRy dDpWV0VYVEkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZXRVhUSSAzICJyZWdp c3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCB2ZCzCoCB2ZCzCoCB2cizC oCB2ciwgwqAgdnIsIMKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQg InBtb2RlX3JlZ19vcl91aW1tNV9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiIHJLLCBySywg ckssIHJLLCDCoCBySywgwqAgcksiKSkpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6PFZf RE9VQkxFX1RSVU5DPiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgwqAgwqAgIiB2dSzCoCB2ZCwg dnUswqAgdnIsIMKgIHZ1LMKgIMKgIHZyIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFE VkVDVE9SIgoKCgoKCgoKCgorwqAgInZuPGluc24+LnYlbzRcdCUwLCUzLCU0JXAxIgoKCgoKCgoK CgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZuc2hpZnQiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAibW9kZSIgIjxWX0RPVUJMRV9UUlVOQz4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZp bmVfaW5zbiAiQHByZWRfdGhfdHJ1bmM8bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hf b3BlcmFuZDo8Vl9ET1VCTEVfVFJVTkM+IDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKg IMKgICI9JnZkLCAmdmQsICZ2ciwgJnZyLMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90 aGVuX2Vsc2U6PFZfRE9VQkxFX1RSVU5DPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoK CgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQi IMKgIMKgIMKgIMKgIMKgIMKgIMKgICIgdm0sIHZtLFdjMSxXYzEsdm1XYzEsdm1XYzEiKQoKCgoK CgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICIgckssIHJLLCBySywgckssIMKgIHJLLCDCoCBySyIp CgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKgIGkswqAgaSzCoCDC oCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3Rf aW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzC oCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg ICLCoCBpLMKgIGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDC oCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHRydW5jYXRlOjxWX0RPVUJM RV9UUlVOQz4KCgoKCgoKCgoKKyDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWV0VYVEkgMyAicmVnaXN0 ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIHZkLMKgIHZkLMKgIHZyLMKg IHZyLCDCoCB2ciwgwqAgdnIiKSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9ET1VC TEVfVFJVTkM+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCAiIHZ1LMKgIHZkLCB2dSzC oCB2ciwgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNU T1IiCgoKCgoKCgoKCivCoCAidm5zcmwudnhcdCUwLCUzLHgwJXAxIgoKCgoKCgoKCgorwqAgWyhz ZXRfYXR0ciAidHlwZSIgInZuc2hpZnQiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIg IjxWX0RPVUJMRV9UUlVOQz4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAi NCIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVj dG9yOjpnZXRfdGEob3BlcmFuZHNbNV0pIikpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEi KSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbNl0pIikpCgoKCgoK CgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA3KSldKQoKCgoK CgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX3RydW5jPG1vZGU+IgoKCgoK CgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZfRE9VQkxFX1RSVU5DPiAwICJyZWdpc3Rl cl9vcGVyYW5kIiDCoCDCoCDCoCAiPSZ2ZCwgJnZkLCAmdnIsICZ2cizCoCAmdnIswqAgJnZyIikK CgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWX0RPVUJMRV9UUlVOQz4KCgoKCgoKCgoKKyDCoCAo dW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0 b3JfbWFza19vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCAiIHZtLCB2bSxXYzEsV2MxLHZtV2MxLHZt V2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhf b3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIHJLLCBySywgckssIHJLLCDCoCBySywgwqAg cksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJh bmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgwqAg aSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2lu dF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzCoCBp LMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJj b25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSzCoCBpLMKg IGkswqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGks wqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6 U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pCgoK CgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIEZSTV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkK CgoKCgoKCgoKKyDCoCAoZmxvYXRfdHJ1bmNhdGU6PFZfRE9VQkxFX1RSVU5DPgoKCgoKCgoKCgor wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6VldFWFRGX1pWRkhNSU4gMyAicmVnaXN0ZXJfb3BlcmFu ZCLCoCDCoCDCoCDCoCDCoCDCoCAiwqAgdmQswqAgdmQswqAgdnIswqAgdnIsIMKgIHZyLCDCoCB2 ciIpKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOjxWX0RPVUJMRV9UUlVOQz4gMiAidmVj dG9yX21lcmdlX29wZXJhbmQiICIgdnUswqAgdmQsIHZ1LMKgIHZyLCDCoCB2dSzCoCDCoCB2ciIp KSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2Zm5j dnQuZi5mLnZcdCUwLCUzJXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZmbmN2 dGZ0b2YiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxWX0RPVUJMRV9UUlVOQz4i KQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImZybV9tb2RlIikKCgoKCgoKCgoKKyAoc3ltYm9s X3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfZnJtX21vZGUgKG9wZXJhbmRzWzhdKSIpKV0pCgoKCgoK CgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfZmF1bHRfbG9hZDxtb2RlPiIK CgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlYgMCAicmVnaXN0ZXJfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCAiPXZkLMKgIMKgIHZkLMKgIMKgIHZyLMKgIMKgIHZyIikKCgoK CgoKCgoKKyAoaWZfdGhlbl9lbHNlOlYKCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoK CgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAi IMKgIHZtLMKgIMKgIHZtLCDCoCBXYzEsIMKgIFdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgIiDCoCBySyzCoCDCoCBy SyzCoCDCoCBySyzCoCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1 ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAg aSwgwqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9p bnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAg aSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFu ZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSwgwqAgwqAgaSIpCgoKCgoK CgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6 U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3Bl YzpWCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOlYgMyAibWVtb3J5X29wZXJhbmQi IMKgIMKgIMKgIMKgICLCoCDCoCBtLCDCoCDCoCBtLCDCoCDCoCBtLCDCoCDCoCBtIildIFVOU1BF Q19WTEVGRikKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDpWIDIgInZlY3Rvcl9tZXJnZV9v cGVyYW5kIsKgIMKgIMKgICIgwqAgdnUsIMKgIMKgIDAswqAgwqAgdnUsIMKgIMKgIDAiKSkpCgoK CgoKCgoKCisgwqAgKHNldCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKKyDCoCAodW5zcGVj OlNJCgoKCgoKCgoKCisgwqAgwqAgWyhpZl90aGVuX2Vsc2U6VgoKCgoKCgoKCgorwqAgwqAgwqAg wqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgWyhtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCA0KSAo bWF0Y2hfZHVwIDUpCgoKCgoKCgoKCisgKG1hdGNoX2R1cCA2KSAobWF0Y2hfZHVwIDcpCgoKCgoK CgoKCisgKHJlZzpTSSBWTF9SRUdOVU0pIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAodW5zcGVjOlYgWyhtYXRjaF9kdXAgMyld IFVOU1BFQ19WTEVGRikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChtYXRjaF9kdXAgMikpXSBVTlNQ RUNfTU9ESUZZX1ZMKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoK CgoKK8KgICJ2bGVmZi52XHQlMCwlMyVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUi ICJ2bGRmZiIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoK CgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX3VuaXRfc3RyaWRlZF9sb2Fk PG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlQgMCAicmVnaXN0ZXJf b3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIj12cizCoCDCoCB2cizCoCDCoCB2ZCIpCgoKCgoK CgoKCisgKGlmX3RoZW5fZWxzZTpWVAoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoK CgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2 bVdjMSwgwqAgV2MxLMKgIMKgIHZtIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLLMKgIMKgIHJLLMKgIMKgIHJL IikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5k IsKgIMKgIMKgIMKgICLCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDC oCBpLCDCoCDCoCBpLCDCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpLCDCoCDCoCBpLCDCoCDC oCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAg wqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoK KyDCoCAodW5zcGVjOlZUCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2Rl X3JlZ19vcl8wX29wZXJhbmQiIMKgICIgwqAgckoswqAgwqAgckoswqAgwqAgckoiKQoKCgoKCgoK CgorwqAgwqAgwqAgKG1lbTpCTEsgKHNjcmF0Y2gpKV0gVU5TUEVDX1VOSVRfU1RSSURFRCkKCgoK CgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDpWVCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgwqAg wqAgIsKgIMKgIDAswqAgwqAgdnUswqAgwqAgdnUiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9Y VEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmxzZWc8bmY+ZS52XHQlMCwoJXozKSVwMSIKCgoK CgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2bHNlZ2RlIikKCgoKCgoKCgoKKyDCoCAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5z biAiQHByZWRfdGhfdW5pdF9zdHJpZGVkX3N0b3JlPG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQg KG1lbTpCTEsgKHNjcmF0Y2gpKQoKCgoKCgoKCgorICh1bnNwZWM6QkxLCgoKCgoKCgoKCisgwqAg Wyh1bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAi dmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZCAzICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgIiDCoCBySyIpCgoKCgoKCgoK CisgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAg wqAgIsKgIMKgIGkiKQoKCgoKCgoKCgorIMKgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoK CgoKCgorIMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp CgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZCAxICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5k IsKgIMKgIMKgICIgwqAgckoiKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQ6VlQgMiAi cmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCAo bWVtOkJMSyAoc2NyYXRjaCkpXSBVTlNQRUNfVU5JVF9TVFJJREVEKSldCgoKCgoKCgoKCivCoCAi VEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2c3NlZzxuZj5lLnZcdCUyLCglejEp JXAwIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZzc2VndGUiKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRl ZmluZV9pbnNuICJAcHJlZF90aF9zdHJpZGVkX2xvYWQ8bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNl dCAobWF0Y2hfb3BlcmFuZDpWVCAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDC oCAiPXZyLMKgIMKgIHZyLMKgIMKgIHZkIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOlZUCgoK CgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5k OjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxLCDCoCBXYzEswqAgwqAgdm0iKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5k IsKgIMKgICIgwqAgcksswqAgwqAgcksswqAgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1h dGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGksIMKg IMKgIGksIMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29u c3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGksIMKgIMKgIGksIMKgIMKgIGkiKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAg wqAgwqAgwqAgIsKgIMKgIGksIMKgIMKgIGksIMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAg KHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05V TSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgICh1bnNwZWM6VlQKCgoKCgoKCgoK KyDCoCDCoCBbKG1hdGNoX29wZXJhbmQgMyAicG1vZGVfcmVnX29yXzBfb3BlcmFuZCIgwqAgIiDC oCBySizCoCDCoCBySizCoCDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFu ZCA0ICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIiDCoCAiIMKgIHJKLMKgIMKgIHJKLMKgIMKgIHJK IikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06QkxLIChzY3JhdGNoKSldIFVOU1BFQ19TVFJJREVE KQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOlZUIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5k IiDCoCDCoCAiwqAgwqAgMCzCoCDCoCB2dSzCoCDCoCB2dSIpKSldCgoKCgoKCgoKCivCoCAiVEFS R0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bHNzZWc8bmY+ZS52XHQlMCwoJXozKSwl ejQlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmxzZWdkcyIpCgoKCgoKCgoK CisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCiso ZGVmaW5lX2luc24gIkBwcmVkX3RoX3N0cmlkZWRfc3RvcmU8bW9kZT4iCgoKCgoKCgoKCivCoCBb KHNldCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoKCgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoK KyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZN PiAwICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAidm1XYzEiKQoKCgoKCgoKCgorIMKgIMKgIMKgICht YXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLIikKCgoK CgoKCgoKKyDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDC oCDCoCDCoCAiwqAgwqAgaSIpCgoKCgoKCgoKCisgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0p CgoKCgoKCgoKCisgwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJ Q0FURSkKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDEgInBtb2RlX3JlZ19vcl8wX29w ZXJhbmQiwqAgwqAgwqAgIiDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZCAy ICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIsKgIMKgIMKgICIgwqAgckoiKQoKCgoKCgoKCgorwqAg wqAgKG1hdGNoX29wZXJhbmQ6VlQgMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDC oCB2ciIpCgoKCgoKCgoKCivCoCDCoCAobWVtOkJMSyAoc2NyYXRjaCkpXSBVTlNQRUNfU1RSSURF RCkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidnNz c2VnPG5mPmUudlx0JTMsKCV6MSksJXoyJXAwIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlw ZSIgInZzc2VndHMiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkK CgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJlZF90aF9mYXVsdF9sb2FkPG1v ZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlQgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIj12cizCoCDCoCB2cizCoCDCoCB2ZCIpCgoKCgoKCgoK CisgKGlmX3RoZW5fZWxzZTpWVAoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgor IMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bVdj MSwgwqAgV2MxLMKgIMKgIHZtIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQg InZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLLMKgIMKgIHJLLMKgIMKgIHJLIikK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKg IMKgIMKgIMKgICLCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBp LCDCoCDCoCBpLCDCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcg ImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpLCDCoCDCoCBpLCDCoCDCoCBp IikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAg wqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDC oCAodW5zcGVjOlZUCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3Jl Z19vcl8wX29wZXJhbmQiIMKgICIgwqAgckoswqAgwqAgckoswqAgwqAgckoiKQoKCgoKCgoKCgor wqAgwqAgwqAgKG1lbTpCTEsgKHNjcmF0Y2gpKV0gVU5TUEVDX1ZMRUZGKQoKCgoKCgoKCgorIMKg IChtYXRjaF9vcGVyYW5kOlZUIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCAiwqAgwqAg MCzCoCDCoCB2dSzCoCDCoCB2dSIpKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChyZWc6U0kgVkxfUkVH TlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHVuc3BlYzpTSQoKCgoKCgoKCgorwqAgwqAgwqAg wqAgwqAgWyhpZl90aGVuX2Vsc2U6VlQKCgoKCgoKCgoKK8KgIMKgIMKgICh1bnNwZWM6PFZNPgoK CgoKCgoKCgorwqAgwqAgwqAgwqAgWyhtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCA0KSAobWF0Y2hf ZHVwIDUpCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX2R1cCA2KSAobWF0Y2hfZHVwIDcp CgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCisgwqAg wqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoK CgoKK8KgIMKgIMKgICh1bnNwZWM6VlQKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCBbKG1hdGNoX2R1 cCAzKSAobWVtOkJMSyAoc2NyYXRjaCkpXSBVTlNQRUNfVkxFRkYpCgoKCgoKCgoKCivCoCDCoCDC oCAobWF0Y2hfZHVwIDIpKV0gVU5TUEVDX01PRElGWV9WTCkpXQoKCgoKCgoKCgorwqAgIlRBUkdF VF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmxzZWc8bmY+ZWZmLnZcdCUwLCglejMpJXAx IgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZsc2VnZGZmIikKCgoKCgoKCgoKKyDC oCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZp bmVfaW5zbiAiQHByZWRfdGhfaW5kZXhlZF88b3JkZXI+bG9hZDxWMVQ6bW9kZT48UkFUSU82NEk6 bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMVQgMCAicmVnaXN0ZXJf b3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgIj0mdnIswqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhl bl9lbHNlOlYxVAoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFso bWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bVdjMSx2bVdjMSIp CgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJh bmQiwqAgwqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoK CgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDC oCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kIDggImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoK CgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAo cmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgICh1 bnNwZWM6VjFUCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19v cl8wX29wZXJhbmQiIMKgICIgwqAgckosIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06 QkxLIChzY3JhdGNoKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPNjRJ IDQgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgICIgwqAgdnIsIMKgIHZyIildIE9SREVSKQoKCgoK CgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOlYxVCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDC oCAiIMKgIHZ1LMKgIMKgIDAiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1Ii CgoKCgoKCgoKCivCoCAidmx4c2VnPG5mPmUudlx0JTAsKCV6MyksJTQlcDEiCgoKCgoKCgoKCivC oCBbKHNldF9hdHRyICJ0eXBlIiAidmxzZWdkPG9yZGVyPngiKQoKCgoKCgoKCgorIMKgIChzZXRf YXR0ciAibW9kZSIgIjxWMVQ6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVf aW5zbiAiQHByZWRfdGhfaW5kZXhlZF88b3JkZXI+bG9hZDxWMlQ6bW9kZT48UkFUSU8zMkk6bW9k ZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWMlQgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgwqAgwqAgwqAgwqAgwqAgIj0mdnIswqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9l bHNlOlYyVAoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0 Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bVdjMSx2bVdjMSIpCgoK CgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQi wqAgwqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQg NiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDC oCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDggImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVn OlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgICh1bnNw ZWM6VjJUCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8w X29wZXJhbmQiIMKgICIgwqAgckosIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06QkxL IChzY3JhdGNoKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPMzJJIDQg InJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgICIgwqAgdnIsIMKgIHZyIildIE9SREVSKQoKCgoKCgoK CgorIMKgIChtYXRjaF9vcGVyYW5kOlYyVCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCAi IMKgIHZ1LMKgIMKgIDAiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoK CgoKCgoKCivCoCAidmx4c2VnPG5mPmUudlx0JTAsKCV6MyksJTQlcDEiCgoKCgoKCgoKCivCoCBb KHNldF9hdHRyICJ0eXBlIiAidmxzZWdkPG9yZGVyPngiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAibW9kZSIgIjxWMlQ6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5z biAiQHByZWRfdGhfaW5kZXhlZF88b3JkZXI+bG9hZDxWNFQ6bW9kZT48UkFUSU8xNkk6bW9kZT4i CgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWNFQgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgwqAgwqAgwqAgwqAgwqAgIj0mdnIswqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNl OlY0VAoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hf b3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bVdjMSx2bVdjMSIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAg wqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAi Y29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoK CivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDC oCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDgg ImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoK CgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJ IFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgICh1bnNwZWM6 VjRUCgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8wX29w ZXJhbmQiIMKgICIgwqAgckosIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06QkxLIChz Y3JhdGNoKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPMTZJIDQgInJl Z2lzdGVyX29wZXJhbmQiIMKgIMKgICIgwqAgdnIsIMKgIHZyIildIE9SREVSKQoKCgoKCgoKCgor IMKgIChtYXRjaF9vcGVyYW5kOlY0VCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCAiIMKg IHZ1LMKgIMKgIDAiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoK CgoKCivCoCAidmx4c2VnPG5mPmUudlx0JTAsKCV6MyksJTQlcDEiCgoKCgoKCgoKCivCoCBbKHNl dF9hdHRyICJ0eXBlIiAidmxzZWdkPG9yZGVyPngiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAi bW9kZSIgIjxWNFQ6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAi QHByZWRfdGhfaW5kZXhlZF88b3JkZXI+bG9hZDxWOFQ6bW9kZT48UkFUSU84STptb2RlPiIKCgoK CgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlY4VCAwICJyZWdpc3Rlcl9vcGVyYW5kIiDC oCDCoCDCoCDCoCDCoCAiPSZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6VjhU CgoKCgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVy YW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxLHZtV2MxIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAi IMKgIHJLLCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25z dF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8Kg IMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLC oCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29u c3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivC oCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZ UEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWOFQK CgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQgMyAicG1vZGVfcmVnX29yXzBfb3BlcmFu ZCIgwqAgIiDCoCBySiwgwqAgckoiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1lbTpCTEsgKHNjcmF0 Y2gpKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6UkFUSU84SSA0ICJyZWdpc3Rl cl9vcGVyYW5kIiDCoCDCoCAiIMKgIHZyLCDCoCB2ciIpXSBPUkRFUikKCgoKCgoKCgoKKyDCoCAo bWF0Y2hfb3BlcmFuZDpWOFQgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqAgwqAgIiDCoCB2dSzC oCDCoCAwIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgor wqAgInZseHNlZzxuZj5lLnZcdCUwLCglejMpLCU0JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0 ciAidHlwZSIgInZsc2VnZDxvcmRlcj54IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUi ICI8VjhUOk1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVk X3RoX2luZGV4ZWRfPG9yZGVyPmxvYWQ8VjE2VDptb2RlPjxSQVRJTzRJOm1vZGU+IgoKCgoKCgoK CgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjE2VCAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKg IMKgIMKgIMKgICI9JnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTpWMTZUCgoK CgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5k OjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxLHZtV2MxIikKCgoKCgoKCgoKK8Kg IMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKg IHJLLCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9p bnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDC oCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3Rf aW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDC oCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVf UkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWMTZUCgoK CgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQi IMKgICIgwqAgckosIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06QkxLIChzY3JhdGNo KSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPNEkgNCAicmVnaXN0ZXJf b3BlcmFuZCLCoCDCoCAiIMKgIHZyLCDCoCB2ciIpXSBPUkRFUikKCgoKCgoKCgoKKyDCoCAobWF0 Y2hfb3BlcmFuZDpWMTZUIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCAiIMKgIHZ1LMKgIMKg IDAiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAi dmx4c2VnPG5mPmUudlx0JTAsKCV6MyksJTQlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0 eXBlIiAidmxzZWdkPG9yZGVyPngiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxW MTZUOk1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3Ro X2luZGV4ZWRfPG9yZGVyPmxvYWQ8VjMyVDptb2RlPjxSQVRJTzJJOm1vZGU+IgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjMyVCAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKg IMKgIMKgICI9JnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTpWMzJUCgoKCgoK CgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxW TT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxLHZtV2MxIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJL LCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRf b3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBp LMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50 X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDC oCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzpWMzJUCgoKCgoK CgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiIMKg ICIgwqAgckosIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtZW06QkxLIChzY3JhdGNoKSkK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPMkkgNCAicmVnaXN0ZXJfb3Bl cmFuZCLCoCDCoCAiIMKgIHZyLCDCoCB2ciIpXSBPUkRFUikKCgoKCgoKCgoKKyDCoCAobWF0Y2hf b3BlcmFuZDpWMzJUIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCAiIMKgIHZ1LMKgIMKgIDAi KSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmx4 c2VnPG5mPmUudlx0JTAsKCV6MyksJTQlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBl IiAidmxzZWdkPG9yZGVyPngiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxWMzJU Ok1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX2lu ZGV4ZWRfPHRoX29yZGVyPnN0b3JlPFYxVDptb2RlPjxSQVRJTzY0STptb2RlPiIKCgoKCgoKCgoK K8KgIFsoc2V0IChtZW06QkxLIChzY3JhdGNoKSkKCgoKCgoKCgoKKyAodW5zcGVjOkJMSwoKCgoK CgoKCgorIMKgIFsodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6 PFZNPiAwICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAidm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgwqAgcksiKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqAg wqAgwqAgwqAgIsKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0p CgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElD QVRFKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQgMSAicG1vZGVfcmVnX29yXzBfb3Bl cmFuZCIgwqAgwqAgIiDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDpSQVRJ TzY0SSAyICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCAiIMKgIHZyIikKCgoKCgoKCgoKK8Kg IMKgIChtYXRjaF9vcGVyYW5kOlYxVCAzICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCAiIMKg IHZyIildIE9SREVSKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoK CgoKK8KgICJ2czx0aF9vcmRlcj54c2VnPG5mPmUudlx0JTMsKCV6MSksJTIlcDAiCgoKCgoKCgoK CivCoCBbKHNldF9hdHRyICJ0eXBlIiAidnNzZWd0dXgiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAibW9kZSIgIjxWMVQ6TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5z biAiQHByZWRfdGhfaW5kZXhlZF88dGhfb3JkZXI+c3RvcmU8VjJUOm1vZGU+PFJBVElPMzJJOm1v ZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1lbTpCTEsgKHNjcmF0Y2gpKQoKCgoKCgoKCgorICh1 bnNwZWM6QkxLCgoKCgoKCgoKCisgwqAgWyh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFso bWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bVdjMSIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAg wqAgIiDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9p bnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVn OlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0g VU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZCAxICJwbW9k ZV9yZWdfb3JfMF9vcGVyYW5kIiDCoCDCoCAiIMKgIHJKIikKCgoKCgoKCgoKK8KgIMKgIChtYXRj aF9vcGVyYW5kOlJBVElPMzJJIDIgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgICIgwqAgdnIi KQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQ6VjJUIDMgInJlZ2lzdGVyX29wZXJhbmQi IMKgIMKgIMKgICIgwqAgdnIiKV0gT1JERVIpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFE VkVDVE9SIgoKCgoKCgoKCgorwqAgInZzPHRoX29yZGVyPnhzZWc8bmY+ZS52XHQlMywoJXoxKSwl MiVwMCIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2c3NlZ3R1eCIpCgoKCgoKCgoK CisgwqAgKHNldF9hdHRyICJtb2RlIiAiPFYyVDpNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoK CgorKGRlZmluZV9pbnNuICJAcHJlZF90aF9pbmRleGVkXzx0aF9vcmRlcj5zdG9yZTxWNFQ6bW9k ZT48UkFUSU8xNkk6bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2NyYXRjaCkp CgoKCgoKCgoKCisgKHVuc3BlYzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoK CgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tfb3BlcmFuZCIg InZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5n dGhfb3BlcmFuZCLCoCDCoCAiIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikKCgoKCgoKCgoK K8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBW VFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9v cGVyYW5kIDEgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiIMKgIMKgICIgwqAgckoiKQoKCgoKCgoK CgorwqAgwqAgKG1hdGNoX29wZXJhbmQ6UkFUSU8xNkkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgwqAg wqAgwqAgIiDCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDpWNFQgMyAicmVn aXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgIiDCoCB2ciIpXSBPUkRFUikpXQoKCgoKCgoKCgorwqAg IlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidnM8dGhfb3JkZXI+eHNlZzxuZj5l LnZcdCUzLCglejEpLCUyJXAwIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZzc2Vn dHV4IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8VjRUOk1PREU+IildKQoKCgoK CgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX2luZGV4ZWRfPHRoX29yZGVy PnN0b3JlPFY4VDptb2RlPjxSQVRJTzhJOm1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1lbTpC TEsgKHNjcmF0Y2gpKQoKCgoKCgoKCgorICh1bnNwZWM6QkxLCgoKCgoKCgoKCisgwqAgWyh1bnNw ZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInZlY3Rvcl9t YXNrX29wZXJhbmQiICJ2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0 ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgIiDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDC oCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgwqAg aSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKg IMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCivC oCDCoCAobWF0Y2hfb3BlcmFuZCAxICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIiDCoCDCoCAiIMKg IHJKIikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kOlJBVElPOEkgMiAicmVnaXN0ZXJf b3BlcmFuZCIgwqAgwqAgwqAgIiDCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFu ZDpWOFQgMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgIiDCoCB2ciIpXSBPUkRFUikpXQoK CgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidnM8dGhfb3Jk ZXI+eHNlZzxuZj5lLnZcdCUzLCglejEpLCUyJXAwIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAi dHlwZSIgInZzc2VndHV4IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8VjhUOk1P REU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX2luZGV4 ZWRfPHRoX29yZGVyPnN0b3JlPFYxNlQ6bW9kZT48UkFUSU80STptb2RlPiIKCgoKCgoKCgoKK8Kg IFsoc2V0IChtZW06QkxLIChzY3JhdGNoKSkKCgoKCgoKCgoKKyAodW5zcGVjOkJMSwoKCgoKCgoK CgorIMKgIFsodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZN PiAwICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAidm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1h dGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgwqAgcksiKQoKCgoK CgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAg wqAgwqAgIsKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoK CgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRF KQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQgMSAicG1vZGVfcmVnX29yXzBfb3BlcmFu ZCIgwqAgwqAgIiDCoCBySiIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDpSQVRJTzRJ IDIgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCAo bWF0Y2hfb3BlcmFuZDpWMTZUIDMgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2ciIp XSBPUkRFUikpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivC oCAidnM8dGhfb3JkZXI+eHNlZzxuZj5lLnZcdCUzLCglejEpLCUyJXAwIgoKCgoKCgoKCgorwqAg WyhzZXRfYXR0ciAidHlwZSIgInZzc2VndHV4IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1v ZGUiICI8VjE2VDpNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJA cHJlZF90aF9pbmRleGVkXzx0aF9vcmRlcj5zdG9yZTxWMzJUOm1vZGU+PFJBVElPMkk6bW9kZT4i CgoKCgoKCgoKCivCoCBbKHNldCAobWVtOkJMSyAoc2NyYXRjaCkpCgoKCgoKCgoKCisgKHVuc3Bl YzpCTEsKCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRj aF9vcGVyYW5kOjxWTT4gMCAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtV2MxIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAi IMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9v cGVyYW5kIsKgIMKgIMKgIMKgICLCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kg VkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQ RUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDEgInBtb2RlX3Jl Z19vcl8wX29wZXJhbmQiIMKgIMKgICIgwqAgckoiKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29w ZXJhbmQ6UkFUSU8ySSAyICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgICIgwqAgdnIiKQoKCgoK CgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQ6VjMyVCAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKg IMKgICIgwqAgdnIiKV0gT1JERVIpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9S IgoKCgoKCgoKCgorwqAgInZzPHRoX29yZGVyPnhzZWc8bmY+ZS52XHQlMywoJXoxKSwlMiVwMCI7 CgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidnNzZWd0dXgiKQoKCgoKCgoKCgorIMKg IChzZXRfYXR0ciAibW9kZSIgIjxWMzJUOk1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCiso ZGVmaW5lX2luc24gIkBwcmVkX3RoXzxvcHRhYj48bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWX1ZMU0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAg Ij12ZCwgdmQsIHZyLCB2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTpWX1ZMU0YKCgoKCgoK CgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZN PiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAiIHZtLCB2bSxXYzEsV2MxIikKCgoKCgoKCgoKK8Kg IMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAiIHJL LCBySywgckssIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0 X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzCoCBpIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKg ICLCoCBpLMKgIGkswqAgaSzCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k IDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAgaSzCoCBpIikK CgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAo YW55X2Zsb2F0X3Vub3BfbmVnOlZfVkxTRgoKCgoKCgoKCgorIMKgIMKgIChtYXRjaF9vcGVyYW5k OlZfVkxTRiAzICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCAiIHZyLCB2ciwgdnIsIHZyIikp CgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDIgInZlY3Rvcl9tZXJnZV9vcGVy YW5kIiDCoCDCoCAiIHZ1LMKgIDAsIHZ1LMKgIDAiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9Y VEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmZzZ25qbi52dlx0JTAsJTMsJTMlcDEiCgoKCgoK CgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAiPGZsb2F0X2luc25fdHlwZT4iKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2 bF9vcF9pZHgiICI0IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJ0YSIpIChzeW1ib2xfcmVm ICJyaXNjdl92ZWN0b3I6OmdldF90YShvcGVyYW5kc1s1XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0 IChhdHRyICJtYSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2 XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50 IDcpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfPG9wdGFi Pjxtb2RlPiIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfVkxTRiAwICJyZWdp c3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCAiPXZkLCB2ZCwgdnIsIHZyIikKCgoKCgoKCgoK KyAoaWZfdGhlbl9lbHNlOlZfVkxTRgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoK CgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICIg dm0sIHZtLFdjMSxXYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAidmVj dG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgckssIHJLLCBySywgcksiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKg IGkswqAgaSzCoCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAi Y29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAg wqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBW TF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BF Q19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgIChhbnlfZmxvYXRfdW5vcF9hYnM6Vl9WTFNGCgoK CgoKCgoKCisgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDMgInJlZ2lzdGVyX29wZXJhbmQi IMKgIMKgIMKgICIgdnIsIHZyLCB2ciwgdnIiKSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFu ZDpWX1ZMU0YgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKgICIgdnUswqAgMCwgdnUswqAg MCIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2 ZnNnbmp4LnZ2XHQlMCwlMywlMyVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICI8 ZmxvYXRfaW5zbl90eXBlPiIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+ IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjQiKQoKCgoKCgoKCgorIMKg IChzZXQgKGF0dHIgInRhIikgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X3RhKG9wZXJh bmRzWzVdKSIpKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgIm1hIikgKHN5bWJvbF9yZWYgInJp c2N2X3ZlY3Rvcjo6Z2V0X21hKG9wZXJhbmRzWzZdKSIpKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0 dHIgImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNykpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgor KGRlZmluZV9pbnNuICJAcHJlZF90aF88b3B0YWI+PG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQg KG1hdGNoX29wZXJhbmQ6Vl9WTFNJIDAgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAg Ij12ZCx2ZCwgdnIsIHZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOlZfVkxTSQoKCgoKCgoK CgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+ IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICJ2bSx2bSxXYzEsV2MxIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCAickssckss IHJLLCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRf b3BlcmFuZCLCoCDCoCDCoCDCoCAiIGksIGkswqAgaSzCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgICIgaSwgaSzC oCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50 X29wZXJhbmQiwqAgwqAgwqAgwqAgIiBpLCBpLMKgIGkswqAgaSIpCgoKCgoKCgoKCivCoCDCoCDC oCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKG5vdF91bm9wOlZfVkxTSQoK CgoKCgoKCgorIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTSSAzICJyZWdpc3Rlcl9vcGVyYW5k IiDCoCDCoCDCoCAidnIsdnIsIHZyLCB2ciIpKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5k OlZfVkxTSSAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgwqAgwqAgInZ1LCAwLCB2dSzCoCAwIikp KV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZub3Qu dlx0JTAsJTMlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmlhbHUiKQoKCgoK CgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCgoKCgoKCgoKCisgwqAgKHNldF9h dHRyICJ2bF9vcF9pZHgiICI0IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJ0YSIpIChzeW1i b2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF90YSAob3BlcmFuZHNbNV0pIikpCgoKCgoKCgoKCisg wqAgKHNldCAoYXR0ciAibWEiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfbWEgKG9w ZXJhbmRzWzZdKSIpKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImF2bF90eXBlX2lkeCIpIChj b25zdF9pbnQgNykpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJlZF90 aF88b3B0YWI+PG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl9WTFNJ IDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dmQsdmQsIHZyLCB2ciIpCgoKCgoKCgoKCisgKGlmX3Ro ZW5fZWxzZTpWX1ZMU0kKCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDC oCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAidm0sdm0sV2Mx LFdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiwqAgwqAgInJLLHJLLCBySywgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNo X29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiICIgaSwgaSzCoCBpLMKgIGkiKQoKCgoKCgoK CgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICIgaSwgaSzC oCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50 X29wZXJhbmQiICIgaSwgaSzCoCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBW TF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BF Q19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgIChuZWdfdW5vcDpWX1ZMU0kKCgoKCgoKCgoKKyDC oCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kgMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAg InZyLHZyLCB2ciwgdnIiKSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kgMiAi dmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKgICJ2dSwgMCwgdnUswqAgMCIpKSldCgoKCgoKCgoK CivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2cnN1Yi52eFx0JTAsJTMs eDAlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmlhbHUiKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2 bF9vcF9pZHgiICI0IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJ0YSIpIChzeW1ib2xfcmVm ICJyaXNjdl92ZWN0b3I6OmdldF90YShvcGVyYW5kc1s1XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0 IChhdHRyICJtYSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2 XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50 IDcpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfPG9wdGFi Pjxtb2RlPiIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfVkxTRiAwICJyZWdp c3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCAiPXZkLCB2ZCwgdnIsIHZyIikKCgoKCgoKCgoK KyAoaWZfdGhlbl9lbHNlOlZfVkxTRgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoK CgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICIg dm0sIHZtLFdjMSxXYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAidmVj dG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgICIgckssIHJLLCBySywgcksiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKg IGkswqAgaSzCoCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAi Y29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAg wqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKg IGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDC oCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgRlJN X1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgIChhbnlfZmxvYXRfdW5v cDpWX1ZMU0YKCgoKCgoKCgoKKyDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0YgMyAicmVnaXN0 ZXJfb3BlcmFuZCIgwqAgwqAgwqAgIiB2ciwgdnIsIHZyLCB2ciIpKQoKCgoKCgoKCgorIMKgICht YXRjaF9vcGVyYW5kOlZfVkxTRiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgwqAgwqAgIiB2dSzC oCAwLCB2dSzCoCAwIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoK CgoKCgorwqAgInZmPGluc24+LnZcdCUwLCUzJXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAi dHlwZSIgIjxmbG9hdF9pbnNuX3R5cGU+IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUi ICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiNCIpCgoKCgoK CgoKCisgwqAgKHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRf dGEob3BlcmFuZHNbNV0pIikpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEiKSAoc3ltYm9s X3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbNl0pIikpCgoKCgoKCgoKCisgwqAg KHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA3KSkKCgoKCgoKCgoKKyDCoCAo c2V0IChhdHRyICJmcm1fbW9kZSIpCgoKCgoKCgoKCisgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rv cjo6Z2V0X2ZybV9tb2RlIChvcGVyYW5kc1s4XSkiKSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCiso ZGVmaW5lX2luc24gIkBwcmVkX3RoX25hcnJvd19jbGlwPHZfc3U+PG1vZGU+IgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZfRE9VQkxFX1RSVU5DPiAwICJyZWdpc3Rlcl9vcGVy YW5kIiDCoCDCoCDCoCDCoCDCoCAiPSZ2ZCwmdmQsICZ2ciwgJnZyLCZ2ZCwgJnZyLMKgICZ2cizC oCAmdnIsICZ2ZCwgJnZyLMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6 PFZfRE9VQkxFX1RSVU5DPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKg IMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiIMKgIMKgIMKg IMKgIMKgIMKgIMKgICIgdm0sdm0sV2MxLFdjMSx2bSxXYzEsdm1XYzEsdm1XYzEsIHZtLFdjMSx2 bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3Jf bGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIiBySyxySywgckssIHJL LHJLLCBySywgwqAgckssIMKgIHJLLCBySywgckssIMKgIHJLLCDCoCBySyIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSwgaSzCoCBpLMKgIGksIGkswqAgaSzCoCDCoCBpLMKg IMKgIGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCAiwqAgaSwgaSzCoCBpLMKgIGksIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgaSzC oCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4 ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAg aSwgaSzCoCBpLMKgIGksIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgaSzCoCBpLMKgIMKgIGks wqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA5ICJjb25zdF9pbnRf b3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSwgaSzCoCBpLMKg IGksIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgaSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoK CgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChy ZWc6U0kgVlRZUEVfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWWFJNX1JFR05V TSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZfRE9VQkxFX1RS VU5DPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDpWV0VYVEkgMyAicmVnaXN0ZXJf b3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIHZyLHZyLCB2ciwgdnIsIHZkLMKgIHZy LCDCoCB2ciwgwqAgdnIswqAgdmQswqAgdnIsIMKgIHZyLCDCoCB2ciIpCgoKCgoKCgoKCivCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9ET1VCTEVfVFJVTkM+IDQgInZlY3Rvcl9zaGlmdF9vcGVy YW5kIsKgICLCoCB2ZCwgdmQswqAgdnIswqAgdnIsdnIsIHZyLCDCoCB2ciwgwqAgdnIsIHZrLCB2 aywgwqAgdmssIMKgIHZrIildIFZOQ0xJUCkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8 Vl9ET1VCTEVfVFJVTkM+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCAiwqAgdmQsdnUs wqAgdnIsIHZ1LHZ1LCB2dSwgwqAgdnUswqAgwqAgdnIsIHZ1LCB2dSwgwqAgdnUswqAgwqAgdnIi KSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm5j bGlwPHZfc3U+LnYlbzRcdCUwLCUzLCV2NCVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5 cGUiICJ2bmNsaXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxWX0RPVUJMRV9U UlVOQz4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfbmFy cm93X2NsaXA8dl9zdT48bW9kZT5fc2NhbGFyIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6PFZfRE9VQkxFX1RSVU5DPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDC oCAiPSZ2ZCwgJnZkLCAmdnIsICZ2cizCoCAmdnIswqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhl bl9lbHNlOjxWX0RPVUJMRV9UUlVOQz4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoK CgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiDC oCDCoCDCoCDCoCDCoCDCoCDCoCAiIHZtLCB2bSxXYzEsV2MxLHZtV2MxLHZtV2MxIikKCgoKCgoK CgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiIHJLLCBySywgckssIHJLLCDCoCBySywgwqAgcksiKQoK CgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgwqAg aSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2lu dF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpLMKgIGkswqAg aSzCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFu ZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAi wqAgaSzCoCBpLMKgIGkswqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgOSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoK CgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpT SSBWVFlQRV9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZYUk1fUkVHTlVNKV0g VU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKHVuc3BlYzo8Vl9ET1VCTEVfVFJVTkM+ CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOlZXRVhUSSAzICJyZWdpc3Rlcl9vcGVy YW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCB2ZCzCoCB2ZCzCoCB2cizCoCB2ciwgwqAg dnIsIMKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDQgInBtb2RlX3Jl Z19vcl91aW1tNV9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiIHJLLCBySywgckssIHJLLCDC oCBySywgwqAgcksiKV0gVk5DTElQKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOjxWX0RP VUJMRV9UUlVOQz4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKgICIgdnUswqAgdmQsIHZ1 LMKgIHZyLCDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZF Q1RPUiIKCgoKCgoKCgoKK8KgICJ2bmNsaXA8dl9zdT4udiVvNFx0JTAsJTMsJTQlcDEiCgoKCgoK CgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidm5jbGlwIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0 dHIgIm1vZGUiICI8Vl9ET1VCTEVfVFJVTkM+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCis7OyBG bG9hdCBSZWR1Y3Rpb24gU3VtICh2ZnJlZFtvdV1zdW0udnMpCgoKCgoKCgoKCisoZGVmaW5lX2lu c24gIkBwcmVkX3RoXzx0aF9yZWR1Y19vcD48bW9kZT4iCgoKCgoKCgoKCivCoCBbKHNldCAobWF0 Y2hfb3BlcmFuZDo8Vl9MTVVMMT4gwqAgwqAgwqAgwqAgwqAgMCAicmVnaXN0ZXJfb3BlcmFuZCLC oCDCoCDCoCAiPXZyLHZyIikKCgoKCgoKCgoKKyAodW5zcGVjOjxWX0xNVUwxPgoKCgoKCgoKCgor IMKgIFsodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPsKg IMKgIMKgIMKgIMKgIDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiIMKgICJ2bVdjMSx2bVdjMSIpCgoK CgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA1ICJ2 ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIgwqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDYgImNvbnN0X2ludF9vcGVyYW5k IiDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCAiwqAg wqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIMKgIMKgIMKg IMKgIMKgIMKgIMKgIDggImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCAiwqAgwqAgaSzCoCDCoCBp IikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAg wqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIEZSTV9S RUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCDCoCAodW5z cGVjOjxWX0xNVUwxPiBbCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQ6Vl9WTFNGwqAgwqAgwqAgwqAgMyAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCAiIMKgIHZy LCDCoCB2ciIpCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZf TE1VTDE+IMKgIMKgIDQgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2ciwgwqAgdnIi KQoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIMKgIF0gQU5ZX0ZSRURVQ19TVU0pCgoKCgoKCgoKCivC oCDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9MTVVMMT4gwqAgwqAgwqAgMiAidmVjdG9yX21lcmdlX29w ZXJhbmQiwqAgIiDCoCB2dSzCoCDCoCAwIildIFVOU1BFQ19SRURVQykpXQoKCgoKCgoKCgorwqAg IlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmY8dGhfcmVkdWNfb3A+LnZzXHQl MCwlMywlNCVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZnJlZDxvcmRlcj4i KQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCgoKCgoKCgoKCisgwqAg KHNldCAoYXR0ciAiZnJtX21vZGUiKQoKCgoKCgoKCgorIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0 b3I6OmdldF9mcm1fbW9kZSAob3BlcmFuZHNbOF0pIikpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgor OzsgRmxvYXQgV2lkZW4gUmVkdWN0aW9uIFN1bSAodmZ3cmVkW291XXN1bS52cykKCgoKCgoKCgoK KyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfPHRoX3JlZHVjX29wPjxtb2RlPiIKCgoKCgoKCgoKK8Kg IFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWX0VYVF9MTVVMMT4gwqAgwqAgwqAgwqAgMCAicmVnaXN0 ZXJfb3BlcmFuZCLCoCDCoCDCoCAiPSZ2ciwgJnZyIikKCgoKCgoKCgoKKyAodW5zcGVjOjxWX0VY VF9MTVVMMT4KCgoKCgoKCgoKKyDCoCBbKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyht YXRjaF9vcGVyYW5kOjxWTT4gwqAgwqAgwqAgwqAgwqAgMSAidmVjdG9yX21hc2tfb3BlcmFuZCIg wqAgInZtV2MxLHZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiIMKgIHJLLCDCoCBy SyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIDYgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoK CgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgNyAiY29u c3RfaW50X29wZXJhbmQiIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAg wqAgKG1hdGNoX29wZXJhbmTCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA4ICJjb25zdF9pbnRfb3Bl cmFuZCIgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJ IFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKQoKCgoK CgoKCgorwqAgwqAgwqAgKHJlZzpTSSBGUk1fUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoK CgoKCgoKCisgwqAgwqAgwqAgwqAgwqAgKHVuc3BlYzo8Vl9FWFRfTE1VTDE+IFsKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZGX0hTwqAgwqAgwqAgwqAgwqAgMyAicmVnaXN0ZXJf b3BlcmFuZCLCoCDCoCDCoCAiIMKgIHZyLCDCoCB2ciIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZDo8Vl9FWFRfTE1VTDE+wqAgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCAi wqAgdnIwLMKgIHZyMCIpCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgwqAgXSBBTllfRldSRURVQ19T VU0pCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9FWFRfTE1VTDE+wqAgwqAgMiAi dmVjdG9yX21lcmdlX29wZXJhbmQiwqAgIiDCoCB2dSzCoCDCoCAwIildIFVOU1BFQ19SRURVQykp XQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidmY8dGhf cmVkdWNfb3A+LnZzXHQlMCwlMywlNCVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUi ICJ2ZndyZWQ8b3JkZXI+IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4i KQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImZybV9tb2RlIikKCgoKCgoKCgoKKyAoc3ltYm9s X3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfZnJtX21vZGUgKG9wZXJhbmRzWzhdKSIpKV0pCgoKCgoK CgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiQHByZWRfdGhfbWFkYzxtb2RlPiIKCgoKCgoK CgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAg wqAgwqAgwqAgIj0mdnIsICZ2ciwgJnZyIikKCgoKCgoKCgoKKyAodW5zcGVjOjxWTT4KCgoKCgoK CgoKK8KgIMKgIFsocGx1czpWSQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vkkg MSAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgIsKgICV2cizCoCB2cizCoCB2ciIpCgoKCgoKCgoK CivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWSSAyICJ2ZWN0b3JfYXJpdGhfb3BlcmFuZCIgInZy dmkswqAgdnIswqAgdmkiKSkKCgoKCgoKCgoKKyDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDMg InJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgIsKgIHZtLMKgIHZtLMKgIHZtIikKCgoKCgoKCgoKKyDC oCDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQgNCAi dmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiwqAgcksswqAgcksswqAgcksiKQoKCgoKCgoKCgorwqAg wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgICIgwqAg aSwgwqAgaSwgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkK CgoKCgoKCgoKK8KgIMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVE SUNBVEUpXSBVTlNQRUNfVk1BREMpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9S IgoKCgoKCgoKCgorwqAgInZtYWRjLnYlbzJtXHQlMCwlMSwldjIsJTMiCgoKCgoKCgoKCivCoCBb KHNldF9hdHRyICJ0eXBlIiAidmljYWx1IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUi ICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiNCIpCgoKCgoK CgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA1KSldKQoKCgoK CgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX21zYmM8bW9kZT4iCgoKCgoK CgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiwqAg wqAgwqAgwqAgIj0mdnIiKQoKCgoKCgoKCgorICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAg WyhtaW51czpWSQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6VkkgMSAicmVnaXN0 ZXJfb3BlcmFuZCIgwqAgwqAgIsKgIHZyIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kOlZJIDIgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgICIgdnIiKSkKCgoKCgoKCgoKKyDCoCDC oCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDMgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgIiB2bSIpCgoK CgoKCgoKCisgwqAgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgwqAgWyhtYXRjaF9v cGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgIiBySyIpCgoKCgoKCgoKCivCoCDCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIgwqAgwqAgIsKgIGkiKQoK CgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDC oCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX1ZN U0JDKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2 bXNiYy52dm1cdCUwLCUxLCUyLCUzIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZp Y2FsdSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoK KyDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjQiKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIg ImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNSkpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRl ZmluZV9pbnNuICJAcHJlZF90aF9tYWRjPG1vZGU+X3NjYWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIj0m dnIiKQoKCgoKCgoKCgorICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgWyhwbHVzOlZJX1FI UwoKCgoKCgoKCgorwqAgwqAgwqAgKHZlY19kdXBsaWNhdGU6VklfUUhTCgoKCgoKCgoKCivCoCDC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VkVMPiAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiwqAgciIp KQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6VklfUUhTIDEgInJlZ2lzdGVyX29w ZXJhbmQiwqAgIsKgIHZyIikpCgoKCgoKCgoKCisgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAz ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCAiIHZtIikKCgoKCgoKCgoKKyDCoCDCoCAodW5zcGVj OjxWTT4KCgoKCgoKCgoKKyDCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0 aF9vcGVyYW5kIsKgICIgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQg NSAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAg wqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBF X1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX1ZNQURDKSldCgoKCgoKCgoKCivC oCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bWFkYy52eG1cdCUwLCUxLCUy LCUzIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY2FsdSIpCgoKCgoKCgoKCisg wqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgInZs X29wX2lkeCIgIjQiKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImF2bF90eXBlX2lkeCIpIChj b25zdF9pbnQgNSkpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICJAcHJlZF90 aF9tc2JjPG1vZGU+X3NjYWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxW TT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIj0mdnIiKQoKCgoKCgoKCgorICh1 bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgWyhtaW51czpWSV9RSFMKCgoKCgoKCgoKK8KgIMKg IMKgICh2ZWNfZHVwbGljYXRlOlZJX1FIUwoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQ6PFZFTD4gMiAicmVnX29yXzBfb3BlcmFuZCIgIiBySiIpKQoKCgoKCgoKCgorwqAgwqAg wqAgKG1hdGNoX29wZXJhbmQ6VklfUUhTIDEgInJlZ2lzdGVyX29wZXJhbmQiwqAgIsKgIHZyIikp CgoKCgoKCgoKCisgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAzICJyZWdpc3Rlcl9vcGVyYW5k IiDCoCDCoCAiIHZtIikKCgoKCgoKCgoKKyDCoCDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDC oCDCoCDCoCBbKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgICIgcksi KQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJh bmQiwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdO VU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19W UFJFRElDQVRFKV0gVU5TUEVDX1ZNU0JDKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZF Q1RPUiIKCgoKCgoKCgoKK8KgICJ2bXNiYy52eG1cdCUwLCUxLCV6MiwlMyIKCgoKCgoKCgoKK8Kg IFsoc2V0X2F0dHIgInR5cGUiICJ2aWNhbHUiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9k ZSIgIjxNT0RFPiIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2bF9vcF9pZHgiICI0IikKCgoK CgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDUpKV0pCgoK CgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfZXhwYW5kICJAcHJlZF90aF9tYWRjPG1vZGU+X3Nj YWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJf b3BlcmFuZCIpCgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCivCoCDCoCBbKHBsdXM6 VklfRAoKCgoKCgoKCgorwqAgwqAgwqAgKHZlY19kdXBsaWNhdGU6VklfRAoKCgoKCgoKCgorwqAg wqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gMiAicmVnX29yX2ludF9vcGVyYW5kIikpCgoK CgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWSV9EIDEgInJlZ2lzdGVyX29wZXJhbmQi KSkKCgoKCgoKCgoKKyDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDMgInJlZ2lzdGVyX29wZXJh bmQiKQoKCgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFso bWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiKQoKCgoKCgoKCgorwqAgwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiKQoKCgoKCgoKCgorwqAg wqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJ IFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX1ZNQURDKSldCgoKCgoK CgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK8KgIGlm IChyaXNjdl92ZWN0b3I6OnNldzY0X3NjYWxhcl9oZWxwZXIgKAoKCgoKCgoKCgorIG9wZXJhbmRz LAoKCgoKCgoKCgorIC8qIHNjYWxhciBvcCAqLyZvcGVyYW5kc1syXSwKCgoKCgoKCgoKKyAvKiB2 bCAqL29wZXJhbmRzWzRdLAoKCgoKCgoKCgorIDxNT0RFPm1vZGUsCgoKCgoKCgoKCisgcmlzY3Zf dmVjdG9yOjpzaW1tNV9wIChvcGVyYW5kc1syXSksCgoKCgoKCgoKCisgW10gKHJ0eCAqb3BlcmFu ZHMsIHJ0eCBib2FyZGNhc3Rfc2NhbGFyKSB7CgoKCgoKCgoKCisgwqAgZW1pdF9pbnNuIChnZW5f cHJlZF90aF9tYWRjPG1vZGU+IChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sCgoKCgoKCgoKCivC oCDCoCDCoCDCoCBib2FyZGNhc3Rfc2NhbGFyLCBvcGVyYW5kc1szXSwgb3BlcmFuZHNbNF0sIG9w ZXJhbmRzWzVdKSk7CgoKCgoKCgoKCivCoCDCoCDCoCDCoCB9LAoKCgoKCgoKCgorIChyaXNjdl92 ZWN0b3I6OmF2bF90eXBlKSBJTlRWQUwgKG9wZXJhbmRzWzVdKSkpCgoKCgoKCgoKCivCoCDCoCBE T05FOwoKCgoKCgoKCgorfSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJl ZF90aF9tYWRjPG1vZGU+X3NjYWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5k OjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIj0mdnIiKQoKCgoKCgoKCgor ICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgWyhwbHVzOlZJX0QKCgoKCgoKCgoKK8KgIMKg IMKgICh2ZWNfZHVwbGljYXRlOlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChtYXRjaF9vcGVy YW5kOjxWRUw+IDIgInJlZ19vcl8wX29wZXJhbmQiICIgckoiKSkKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kOlZJX0QgMSAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCAiwqAgdnIiKSkK CgoKCgoKCgoKKyDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDMgInJlZ2lzdGVyX29wZXJhbmQi IMKgIMKgICIgdm0iKQoKCgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKg IMKgIMKgIFsobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgIiBySyIp CgoKCgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFu ZCLCoCDCoCDCoCAiwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05V TSkKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpXSBVTlNQRUNfVk1BREMpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVD VE9SIgoKCgoKCgoKCgorwqAgInZtYWRjLnZ4bVx0JTAsJTEsJXoyLCUzIgoKCgoKCgoKCgorwqAg WyhzZXRfYXR0ciAidHlwZSIgInZpY2FsdSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2Rl IiAiPE1PREU+IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjQiKQoKCgoK CgoKCgorIMKgIChzZXQgKGF0dHIgImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNSkpXSkKCgoK CgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9tYWRjPG1vZGU+X2V4dGVu ZGVkX3NjYWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVn aXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIj0mdnIiKQoKCgoKCgoKCgorICh1bnNw ZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgWyhwbHVzOlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgICh2 ZWNfZHVwbGljYXRlOlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChzaWduX2V4dGVuZDo8VkVM PgoKCgoKCgoKCgorwqAgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZTVUJFTD4gMiAicmVn X29yXzBfb3BlcmFuZCIgIiBySiIpKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k OlZJX0QgMSAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIsKgIHZyIikpCgoKCgoKCgoK CisgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKg IMKgIMKgICIgdm0iKQoKCgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKg IMKgIMKgIFsobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKg ICIgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50 X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgICLCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChy ZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdO VU0pXSBVTlNQRUNfVlBSRURJQ0FURSldIFVOU1BFQ19WTUFEQykpXQoKCgoKCgoKCgorwqAgIlRB UkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1hZGMudnhtXHQlMCwlMSwlejIsJTMi CgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljYWx1IikKCgoKCgoKCgoKKyDCoCAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3Bf aWR4IiAiNCIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0 X2ludCA1KSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2V4cGFuZCAiQHByZWRfdGhf bXNiYzxtb2RlPl9zY2FsYXIiCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+ IDAgInJlZ2lzdGVyX29wZXJhbmQiKQoKCgoKCgoKCgorICh1bnNwZWM6PFZNPgoKCgoKCgoKCgor wqAgwqAgWyhtaW51czpWSV9ECgoKCgoKCgoKCivCoCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWSV9E CgoKCgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VkVMPiAyICJyZWdfb3JfaW50 X29wZXJhbmQiKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZJX0QgMSAicmVn aXN0ZXJfb3BlcmFuZCIpKQoKCgoKCgoKCgorIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWTT4gMyAi cmVnaXN0ZXJfb3BlcmFuZCIpCgoKCgoKCgoKCisgwqAgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoK CisgwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIpCgoK CgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIp CgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKg IMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpXSBVTlNQRUNf Vk1TQkMpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorewoK CgoKCgoKCgorwqAgaWYgKHJpc2N2X3ZlY3Rvcjo6c2V3NjRfc2NhbGFyX2hlbHBlciAoCgoKCgoK CgoKCisgb3BlcmFuZHMsCgoKCgoKCgoKCisgLyogc2NhbGFyIG9wICovJm9wZXJhbmRzWzJdLAoK CgoKCgoKCgorIC8qIHZsICovb3BlcmFuZHNbNF0sCgoKCgoKCgoKCisgPE1PREU+bW9kZSwKCgoK CgoKCgoKKyBmYWxzZSwKCgoKCgoKCgoKKyBbXSAocnR4ICpvcGVyYW5kcywgcnR4IGJvYXJkY2Fz dF9zY2FsYXIpIHsKCgoKCgoKCgoKKyDCoCBlbWl0X2luc24gKGdlbl9wcmVkX3RoX21zYmM8bW9k ZT4gKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSwKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIGJvYXJk Y2FzdF9zY2FsYXIsIG9wZXJhbmRzWzNdLCBvcGVyYW5kc1s0XSwgb3BlcmFuZHNbNV0pKTsKCgoK CgoKCgoKK8KgIMKgIMKgIMKgIH0sCgoKCgoKCgoKCisgKHJpc2N2X3ZlY3Rvcjo6YXZsX3R5cGUp IElOVFZBTCAob3BlcmFuZHNbNV0pKSkKCgoKCgoKCgoKK8KgIMKgIERPTkU7CgoKCgoKCgoKCit9 KQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX21zYmM8bW9kZT5f c2NhbGFyIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rl cl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiPSZ2ciIpCgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+CgoK CgoKCgoKCivCoCDCoCBbKG1pbnVzOlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgICh2ZWNfZHVwbGlj YXRlOlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDIgInJl Z19vcl8wX29wZXJhbmQiICIgckoiKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5k OlZJX0QgMSAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCAiwqAgdnIiKSkKCgoKCgoKCgoKKyDCoCDC oCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDMgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgICIgdm0iKQoK CgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFsobWF0Y2hf b3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgIiBySyIpCgoKCgoKCgoKCivCoCDC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCAiwqAg aSIpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8Kg IMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpXSBVTlNQ RUNfVk1TQkMpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgor wqAgInZtc2JjLnZ4bVx0JTAsJTEsJXoyLCUzIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlw ZSIgInZpY2FsdSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoK CgoKCgoKKyDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjQiKQoKCgoKCgoKCgorIMKgIChzZXQg KGF0dHIgImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNSkpXSkKCgoKCgoKCgoKKwoKCgoKCgoK CgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9tc2JjPG1vZGU+X2V4dGVuZGVkX3NjYWxhciIKCgoK CgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCAiPSZ2ciIpCgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+CgoKCgoK CgoKCivCoCDCoCBbKG1pbnVzOlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgICh2ZWNfZHVwbGljYXRl OlZJX0QKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChzaWduX2V4dGVuZDo8VkVMPgoKCgoKCgoKCgor wqAgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZTVUJFTD4gMiAicmVnX29yXzBfb3BlcmFu ZCIgIiBySiIpKSkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZJX0QgMSAicmVn aXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIsKgIHZyIikpCgoKCgoKCgoKCisgwqAgwqAgKG1h dGNoX29wZXJhbmQ6PFZNPiAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgICIgdm0i KQoKCgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFsobWF0 Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgICIgcksiKQoKCgoK CgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiIMKg IMKgIMKgIMKgIMKgICLCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChyZWc6U0kgVkxfUkVH TlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNf VlBSRURJQ0FURSldIFVOU1BFQ19WTVNCQykpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURW RUNUT1IiCgoKCgoKCgoKCivCoCAidm1zYmMudnhtXHQlMCwlMSwlejIsJTMiCgoKCgoKCgoKCivC oCBbKHNldF9hdHRyICJ0eXBlIiAidmljYWx1IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1v ZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiNCIpCgoK CgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA1KSldKQoK CgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX21hZGM8bW9kZT5fb3Zl cmZsb3ciCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInJlZ2lzdGVy X29wZXJhbmQiIMKgIMKgIMKgIMKgICI9JnZyLCAmdnIsICZ2ciIpCgoKCgoKCgoKCisgKHVuc3Bl Yzo8Vk0+CgoKCgoKCgoKCivCoCDCoCBbKHBsdXM6VkkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRj aF9vcGVyYW5kOlZJIDEgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgICLCoCAldnIswqAgdnIswqAg dnIiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6VkkgMiAidmVjdG9yX2FyaXRo X29wZXJhbmQiICJ2cnZpLMKgIHZyLMKgIHZpIikpCgoKCgoKCgoKCisgwqAgwqAgKHVuc3BlYzo8 Vk0+CgoKCgoKCgoKCisgwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInZlY3Rvcl9sZW5ndGhf b3BlcmFuZCIgIsKgIHJLLMKgIHJLLMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChtYXRj aF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCAiIMKgIGksIMKgIGksIMKgIGki KQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDC oCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0gVU5TUEVD X09WRVJGTE9XKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoK K8KgICJ2bWFkYy52JW8yXHQlMCwlMSwldjIiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBl IiAidmljYWx1IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoK CgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiMyIpCgoKCgoKCgoKCisgwqAgKHNldCAo YXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA0KSldKQoKCgoKCgoKCgorCgoKCgoKCgoK CisoZGVmaW5lX2luc24gIkBwcmVkX3RoX21zYmM8bW9kZT5fb3ZlcmZsb3ciCgoKCgoKCgoKCivC oCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKg IMKgICI9JnZyIikKCgoKCgoKCgoKKyAodW5zcGVjOjxWTT4KCgoKCgoKCgoKK8KgIMKgIFsobWlu dXM6VkkKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZJIDEgInJlZ2lzdGVyX29w ZXJhbmQiIMKgIMKgICIgwqAgdnIiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6 VkkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgIsKgIHZyIikpCgoKCgoKCgoKCisgwqAgwqAg KHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kIDMgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCIgIsKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChtYXRjaF9v cGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCAiIMKgIGkiKQoKCgoKCgoKCgorwqAg wqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJ IFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX09WRVJGTE9XKSldCgoK CgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bXNiYy52dlx0 JTAsJTEsJTIiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljYWx1IikKCgoKCgoK CgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAidmxfb3BfaWR4IiAiMyIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4 IikgKGNvbnN0X2ludCA0KSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBw cmVkX3RoX21hZGM8bW9kZT5fb3ZlcmZsb3dfc2NhbGFyIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1h dGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiPSZ2ciIp CgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCivCoCDCoCBbKHBsdXM6VklfUUhTCgoK CgoKCgoKCivCoCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWSV9RSFMKCgoKCgoKCgoKK8KgIMKgIMKg IMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDIgInJlZ19vcl8wX29wZXJhbmQiICIgckoiKSkKCgoK CgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZJX1FIUyAxICJyZWdpc3Rlcl9vcGVyYW5k IsKgICLCoCB2ciIpKQoKCgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKg IMKgIMKgIFsobWF0Y2hfb3BlcmFuZCAzICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgIiBySyIp CgoKCgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJjb25zdF9pbnRfb3BlcmFu ZCLCoCDCoCDCoCAiwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05V TSkKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpXSBVTlNQRUNfT1ZFUkZMT1cpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFE VkVDVE9SIgoKCgoKCgoKCgorwqAgInZtYWRjLnZ4XHQlMCwlMSwlejIiCgoKCgoKCgoKCivCoCBb KHNldF9hdHRyICJ0eXBlIiAidmljYWx1IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUi ICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiMyIpCgoKCgoK CgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA0KSldKQoKCgoK CgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIkBwcmVkX3RoX21zYmM8bW9kZT5fb3ZlcmZs b3dfc2NhbGFyIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdp c3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiPSZ2ciIpCgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+ CgoKCgoKCgoKCivCoCDCoCBbKG1pbnVzOlZJX1FIUwoKCgoKCgoKCgorwqAgwqAgwqAgKHZlY19k dXBsaWNhdGU6VklfUUhTCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VkVM PiAyICJyZWdfb3JfMF9vcGVyYW5kIiAiIHJKIikpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZDpWSV9RSFMgMSAicmVnaXN0ZXJfb3BlcmFuZCLCoCAiwqAgdnIiKSkKCgoKCgoKCgoK KyDCoCDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQg MyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgICIgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgIsKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDC oCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX09WRVJG TE9XKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2 bXNiYy52eFx0JTAsJTEsJXoyIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY2Fs dSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoKKyDC oCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjMiKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImF2 bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNCkpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmlu ZV9leHBhbmQgIkBwcmVkX3RoX21hZGM8bW9kZT5fb3ZlcmZsb3dfc2NhbGFyIgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKCgoKCgoK CgoKKyAodW5zcGVjOjxWTT4KCgoKCgoKCgoKK8KgIMKgIFsocGx1czpWSV9ECgoKCgoKCgoKCivC oCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWSV9ECgoKCgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZDo8VkVMPiAyICJyZWdfb3JfaW50X29wZXJhbmQiKSkKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kOlZJX0QgMSAicmVnaXN0ZXJfb3BlcmFuZCIpKQoKCgoKCgoKCgorIMKg IMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZCAzICJ2 ZWN0b3JfbGVuZ3RoX29wZXJhbmQiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgNCAiY29uc3RfaW50X29wZXJhbmQiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBW TF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVO U1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX09WRVJGTE9XKSldCgoKCgoKCgoKCivCoCAiVEFSR0VU X1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK8KgIGlmIChyaXNjdl92ZWN0b3I6 OnNldzY0X3NjYWxhcl9oZWxwZXIgKAoKCgoKCgoKCgorIG9wZXJhbmRzLAoKCgoKCgoKCgorIC8q IHNjYWxhciBvcCAqLyZvcGVyYW5kc1syXSwKCgoKCgoKCgoKKyAvKiB2bCAqL29wZXJhbmRzWzNd LAoKCgoKCgoKCgorIDxNT0RFPm1vZGUsCgoKCgoKCgoKCisgcmlzY3ZfdmVjdG9yOjpzaW1tNV9w IChvcGVyYW5kc1syXSksCgoKCgoKCgoKCisgW10gKHJ0eCAqb3BlcmFuZHMsIHJ0eCBib2FyZGNh c3Rfc2NhbGFyKSB7CgoKCgoKCgoKCisgwqAgZW1pdF9pbnNuIChnZW5fcHJlZF90aF9tYWRjPG1v ZGU+X292ZXJmbG93IChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sCgoKCgoKCgoKCivCoCDCoCDC oCDCoCBib2FyZGNhc3Rfc2NhbGFyLCBvcGVyYW5kc1szXSwgb3BlcmFuZHNbNF0pKTsKCgoKCgoK CgoKK8KgIMKgIMKgIMKgIH0sCgoKCgoKCgoKCisgKHJpc2N2X3ZlY3Rvcjo6YXZsX3R5cGUpIElO VFZBTCAob3BlcmFuZHNbNF0pKSkKCgoKCgoKCgoKK8KgIMKgIERPTkU7CgoKCgoKCgoKCit9KQoK CgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX21hZGM8bW9kZT5fb3Zl cmZsb3dfc2NhbGFyIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJy ZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiPSZ2ciIpCgoKCgoKCgoKCisgKHVuc3BlYzo8 Vk0+CgoKCgoKCgoKCivCoCDCoCBbKHBsdXM6VklfRAoKCgoKCgoKCgorwqAgwqAgwqAgKHZlY19k dXBsaWNhdGU6VklfRAoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4g MiAicmVnX29yXzBfb3BlcmFuZCIgIiBySiIpKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQ6VklfRCAxICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgICLCoCB2ciIpKQoKCgoKCgoKCgor IMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZCAz ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgIiBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAo bWF0Y2hfb3BlcmFuZCA0ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCAiwqAgaSIpCgoKCgoK CgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIMKg IChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpXSBVTlNQRUNfT1ZFUkZM T1cpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZt YWRjLnZ4XHQlMCwlMSwlejIiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljYWx1 IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKg IChzZXRfYXR0ciAidmxfb3BfaWR4IiAiMyIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZs X3R5cGVfaWR4IikgKGNvbnN0X2ludCA0KSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5l X2luc24gIipwcmVkX3RoX21hZGM8bW9kZT5fb3ZlcmZsb3dfZXh0ZW5kZWRfc2NhbGFyIgoKCgoK CgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDC oCDCoCDCoCDCoCDCoCDCoCAiPSZ2ciIpCgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+CgoKCgoKCgoK CivCoCDCoCBbKHBsdXM6VklfRAoKCgoKCgoKCgorwqAgwqAgwqAgKHZlY19kdXBsaWNhdGU6Vklf RAoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHNpZ25fZXh0ZW5kOjxWRUw+CgoKCgoKCgoKCivCoCDC oCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VlNVQkVMPiAyICJyZWdfb3JfMF9vcGVyYW5kIiAi IHJKIikpKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6VklfRCAxICJyZWdpc3Rl cl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiwqAgdnIiKSkKCgoKCgoKCgoKKyDCoCDCoCAodW5zcGVj OjxWTT4KCgoKCgoKCgoKKyDCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0 aF9vcGVyYW5kIiDCoCDCoCDCoCAiIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChtYXRjaF9v cGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCAiwqAgaSIpCgoKCgoK CgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIMKg IChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpXSBVTlNQRUNfT1ZFUkZM T1cpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZt YWRjLnZ4XHQlMCwlMSwlejIiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljYWx1 IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKg IChzZXRfYXR0ciAidmxfb3BfaWR4IiAiMyIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZs X3R5cGVfaWR4IikgKGNvbnN0X2ludCA0KSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5l X2V4cGFuZCAiQHByZWRfdGhfbXNiYzxtb2RlPl9vdmVyZmxvd19zY2FsYXIiCgoKCgoKCgoKCivC oCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiKQoKCgoKCgoK CgorICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgWyhtaW51czpWSV9ECgoKCgoKCgoKCivC oCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWSV9ECgoKCgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZDo8VkVMPiAyICJyZWdfb3JfaW50X29wZXJhbmQiKSkKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kOlZJX0QgMSAicmVnaXN0ZXJfb3BlcmFuZCIpKQoKCgoKCgoKCgorIMKg IMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZCAzICJ2 ZWN0b3JfbGVuZ3RoX29wZXJhbmQiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQgNCAiY29uc3RfaW50X29wZXJhbmQiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBW TF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVO U1BFQ19WUFJFRElDQVRFKV0gVU5TUEVDX09WRVJGTE9XKSldCgoKCgoKCgoKCivCoCAiVEFSR0VU X1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK3sKCgoKCgoKCgoKK8KgIGlmIChyaXNjdl92ZWN0b3I6 OnNldzY0X3NjYWxhcl9oZWxwZXIgKAoKCgoKCgoKCgorIG9wZXJhbmRzLAoKCgoKCgoKCgorIC8q IHNjYWxhciBvcCAqLyZvcGVyYW5kc1syXSwKCgoKCgoKCgoKKyAvKiB2bCAqL29wZXJhbmRzWzNd LAoKCgoKCgoKCgorIDxNT0RFPm1vZGUsCgoKCgoKCgoKCisgZmFsc2UsCgoKCgoKCgoKCisgW10g KHJ0eCAqb3BlcmFuZHMsIHJ0eCBib2FyZGNhc3Rfc2NhbGFyKSB7CgoKCgoKCgoKCisgwqAgZW1p dF9pbnNuIChnZW5fcHJlZF90aF9tc2JjPG1vZGU+X292ZXJmbG93IChvcGVyYW5kc1swXSwgb3Bl cmFuZHNbMV0sCgoKCgoKCgoKCivCoCDCoCDCoCDCoCBib2FyZGNhc3Rfc2NhbGFyLCBvcGVyYW5k c1szXSwgb3BlcmFuZHNbNF0pKTsKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIH0sCgoKCgoKCgoKCisg KHJpc2N2X3ZlY3Rvcjo6YXZsX3R5cGUpIElOVFZBTCAob3BlcmFuZHNbNF0pKSkKCgoKCgoKCgoK K8KgIMKgIERPTkU7CgoKCgoKCgoKCit9KQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2lu c24gIipwcmVkX3RoX21zYmM8bW9kZT5fb3ZlcmZsb3dfc2NhbGFyIgoKCgoKCgoKCgorwqAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCAi PSZ2ciIpCgoKCgoKCgoKCisgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCivCoCDCoCBbKG1pbnVzOlZJ X0QKCgoKCgoKCgoKK8KgIMKgIMKgICh2ZWNfZHVwbGljYXRlOlZJX0QKCgoKCgoKCgoKK8KgIMKg IMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDIgInJlZ19vcl8wX29wZXJhbmQiICIgckoiKSkK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZJX0QgMSAicmVnaXN0ZXJfb3BlcmFu ZCLCoCDCoCAiwqAgdnIiKSkKCgoKCgoKCgoKKyDCoCDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoK KyDCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgICIg cksiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29w ZXJhbmQiwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgwqAgKHJlZzpTSSBWTF9S RUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BF Q19WUFJFRElDQVRFKV0gVU5TUEVDX09WRVJGTE9XKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hU SEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2bXNiYy52eFx0JTAsJTEsJXoyIgoKCgoKCgoKCgor wqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY2FsdSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJt b2RlIiAiPE1PREU+IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjMiKQoK CgoKCgoKCgorIMKgIChzZXQgKGF0dHIgImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNCkpXSkK CgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9tc2JjPG1vZGU+X292 ZXJmbG93X2V4dGVuZGVkX3NjYWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5k OjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIj0mdnIiKQoKCgoK CgoKCgorICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorwqAgwqAgWyhtaW51czpWSV9ECgoKCgoKCgoK CivCoCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWSV9ECgoKCgoKCgoKCivCoCDCoCDCoCDCoCAoc2ln bl9leHRlbmQ6PFZFTD4KCgoKCgoKCgoKK8KgIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxW U1VCRUw+IDIgInJlZ19vcl8wX29wZXJhbmQiICIgckoiKSkpCgoKCgoKCgoKCivCoCDCoCDCoCAo bWF0Y2hfb3BlcmFuZDpWSV9EIDEgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgICLCoCB2 ciIpKQoKCgoKCgoKCgorIMKgIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIMKgIFso bWF0Y2hfb3BlcmFuZCAzICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAgIiBySyIpCgoK CgoKCgoKCivCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA0ICJjb25zdF9pbnRfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCAiwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCDCoCAocmVnOlNJIFZMX1JF R05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVD X1ZQUkVESUNBVEUpXSBVTlNQRUNfT1ZFUkZMT1cpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRI RUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZtc2JjLnZ4XHQlMCwlMSwlejIiCgoKCgoKCgoKCivC oCBbKHNldF9hdHRyICJ0eXBlIiAidmljYWx1IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1v ZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiMyIpCgoK CgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA0KSldKQoK CgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIip0aF92c2V0dmw8bW9kZT4iCgoKCgoK CgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpQIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIp CgoKCgoKCgoKCisgKHVuc3BlYzpQIFsobWF0Y2hfb3BlcmFuZDpQIDEgInZlY3Rvcl9jc3Jfb3Bl cmFuZCIgInJLIikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDIgImNvbnN0X2ludF9v cGVyYW5kIiAiaSIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZCAzICJjb25zdF9pbnRf b3BlcmFuZCIgImkiKQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50 X29wZXJhbmQiICJpIikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2lu dF9vcGVyYW5kIiAiaSIpXSBVTlNQRUNfVlNFVFZMKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChyZWc6 U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorICh1bnNwZWM6U0kgWyhtYXRjaF9kdXAgMSkKCgoKCgoK CgoKKyDCoCDCoCAobWF0Y2hfZHVwIDIpCgoKCgoKCgoKCisgwqAgwqAgKG1hdGNoX2R1cCAzKV0g VU5TUEVDX1ZTRVRWTCkpCgoKCgoKCgoKCisgwqAgKHNldCAocmVnOlNJIFZUWVBFX1JFR05VTSkK CgoKCgoKCgoKKyAodW5zcGVjOlNJIFsobWF0Y2hfZHVwIDIpCgoKCgoKCgoKCisgwqAgwqAgKG1h dGNoX2R1cCAzKQoKCgoKCgoKCgorIMKgIMKgIChtYXRjaF9kdXAgNCkKCgoKCgoKCgoKKyDCoCDC oCAobWF0Y2hfZHVwIDUpXSBVTlNQRUNfVlNFVFZMKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hU SEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8KgICJ2c2V0dmxpXHQlMCwlMSxlJTIsJW0zIgoKCgoKCgoK CgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZzZXR2bCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRy ICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJzZXciKSAoc3ltYm9s X3JlZiAiSU5UVkFMIChvcGVyYW5kc1syXSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJ2 bG11bCIpIChzeW1ib2xfcmVmICJJTlRWQUwgKG9wZXJhbmRzWzNdKSIpKQoKCgoKCgoKCgorIMKg IChzZXQgKGF0dHIgInRhIikgKHN5bWJvbF9yZWYgIklOVFZBTCAob3BlcmFuZHNbNF0pIikpCgoK CgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEiKSAoc3ltYm9sX3JlZiAiSU5UVkFMIChvcGVyYW5k c1s1XSkiKSldKQoKCgoKCgoKCgorCgoKCgoKCgoKCis7OyB2c2V0dmwgemVybyx6ZXJvLHZ0eXBl IGluc3RydWN0aW9uLgoKCgoKCgoKCgorOzsgVGhpcyBwYXR0ZXJuIGhhcyBubyBzaWRlIGVmZmVj dHMgYW5kIGRvZXMgbm90IHNldCBYMCByZWdpc3Rlci4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAi KnRoX3ZzZXR2bF92dHlwZV9jaGFuZ2Vfb25seSIKCgoKCgoKCgoKK8KgIFsoc2V0IChyZWc6U0kg VlRZUEVfUkVHTlVNKQoKCgoKCgoKCgorICh1bnNwZWM6U0kKCgoKCgoKCgoKKyDCoCBbKG1hdGNo X29wZXJhbmQgMCAiY29uc3RfaW50X29wZXJhbmQiICJpIikKCgoKCgoKCgoKK8KgIMKgIChtYXRj aF9vcGVyYW5kIDEgImNvbnN0X2ludF9vcGVyYW5kIiAiaSIpCgoKCgoKCgoKCivCoCDCoCAobWF0 Y2hfb3BlcmFuZCAyICJjb25zdF9pbnRfb3BlcmFuZCIgImkiKQoKCgoKCgoKCgorwqAgwqAgKG1h dGNoX29wZXJhbmQgMyAiY29uc3RfaW50X29wZXJhbmQiICJpIildIFVOU1BFQ19WU0VUVkwpKV0K CgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZzZXR2bGlc dHplcm8semVybyxlJTAsJW0xIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZzZXR2 bCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiU0kiKQoKCgoKCgoKCgorIMKgIChz ZXQgKGF0dHIgInNldyIpIChzeW1ib2xfcmVmICJJTlRWQUwgKG9wZXJhbmRzWzBdKSIpKQoKCgoK CgoKCgorIMKgIChzZXQgKGF0dHIgInZsbXVsIikgKHN5bWJvbF9yZWYgIklOVFZBTCAob3BlcmFu ZHNbMV0pIikpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAiSU5U VkFMIChvcGVyYW5kc1syXSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIpIChzeW1i b2xfcmVmICJJTlRWQUwgKG9wZXJhbmRzWzNdKSIpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKzs7 IHZzZXR2bCB6ZXJvLHJzMSx2dHlwZSBpbnN0cnVjdGlvbi4KCgoKCgoKCgoKKzs7IFRoZSByZWFz b24gd2UgbmVlZCB0aGlzIHBhdHRlcm4gc2luY2Ugd2Ugc2hvdWxkIGF2b2lkIHNldHRpbmcgWDAg cmVnaXN0ZXIKCgoKCgoKCgoKKzs7IGluIHZzZXR2bCBpbnN0cnVjdGlvbiBwYXR0ZXJuLgoKCgoK CgoKCgorKGRlZmluZV9pbnNuICIqdGhfdnNldHZsX2Rpc2NhcmRfcmVzdWx0PG1vZGU+IgoKCgoK CgoKCgorwqAgWyhzZXQgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCisgKHVuc3BlYzpTSSBb KG1hdGNoX29wZXJhbmQ6UCAwICJ2ZWN0b3JfY3NyX29wZXJhbmQiICJySyIpCgoKCgoKCgoKCisg wqAgwqAgKG1hdGNoX29wZXJhbmQgMSAiY29uc3RfaW50X29wZXJhbmQiICJpIikKCgoKCgoKCgoK KyDCoCDCoCAobWF0Y2hfb3BlcmFuZCAyICJjb25zdF9pbnRfb3BlcmFuZCIgImkiKV0gVU5TUEVD X1ZTRVRWTCkpCgoKCgoKCgoKCisgwqAgKHNldCAocmVnOlNJIFZUWVBFX1JFR05VTSkKCgoKCgoK CgoKKyAodW5zcGVjOlNJIFsobWF0Y2hfZHVwIDEpCgoKCgoKCgoKCisgwqAgwqAgKG1hdGNoX2R1 cCAyKQoKCgoKCgoKCgorIMKgIMKgIChtYXRjaF9vcGVyYW5kIDMgImNvbnN0X2ludF9vcGVyYW5k IiAiaSIpCgoKCgoKCgoKCisgwqAgwqAgKG1hdGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJh bmQiICJpIildIFVOU1BFQ19WU0VUVkwpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVD VE9SIgoKCgoKCgoKCgorwqAgInZzZXR2bGlcdHplcm8sJTAsZSUxLCVtMiIKCgoKCgoKCgoKK8Kg IFsoc2V0X2F0dHIgInR5cGUiICJ2c2V0dmwiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9k ZSIgIjxNT0RFPiIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAic2V3IikgKHN5bWJvbF9yZWYg IklOVFZBTCAob3BlcmFuZHNbMV0pIikpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAidmxtdWwi KSAoc3ltYm9sX3JlZiAiSU5UVkFMIChvcGVyYW5kc1syXSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0 IChhdHRyICJ0YSIpIChzeW1ib2xfcmVmICJJTlRWQUwgKG9wZXJhbmRzWzNdKSIpKQoKCgoKCgoK CgorIMKgIChzZXQgKGF0dHIgIm1hIikgKHN5bWJvbF9yZWYgIklOVFZBTCAob3BlcmFuZHNbNF0p IikpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorOzsgSXQncyBlbWl0IGJ5IHZzZXR2bC92c2V0dmxt YXggaW50cmluc2ljcyB3aXRoIG5vIHNpZGUgZWZmZWN0cy4KCgoKCgoKCgoKKzs7IFNpbmNlIHdl IGhhdmUgbWFueSBvcHRtaXphdGlvbiBwYXNzZXMgZnJvbSAiZXhwYW5kIiB0byAicmVsb2FkX2Nv bXBsZXRlZCIsCgoKCgoKCgoKCis7OyBzdWNoIHBhdHRlcm4gY2FuIGFsbG93IHVzIGdhaW4gYmVu ZWZpdHMgb2YgdGhlc2Ugb3B0aW1pemF0aW9ucy4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbl9hbmRf c3BsaXQgIkB0aF92c2V0dmw8bW9kZT5fbm9fc2lkZV9lZmZlY3RzIgoKCgoKCgoKCgorwqAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6UCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQoKCgoKCgoKCgor ICh1bnNwZWM6UCBbKG1hdGNoX29wZXJhbmQ6UCAxICJ2ZWN0b3JfY3NyX29wZXJhbmQiICJySyIp CgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZCAyICJjb25zdF9pbnRfb3BlcmFuZCIgImki KQoKCgoKCgoKCgorwqAgwqAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3RfaW50X29wZXJhbmQiICJp IikKCgoKCgoKCgoKK8KgIMKgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIiAi aSIpCgoKCgoKCgoKCivCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIg ImkiKV0gVU5TUEVDX1ZTRVRWTCkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1Ii CgoKCgoKCgoKCivCoCAiIyIKCgoKCgoKCgoKK8KgICImJiBlcGlsb2d1ZV9jb21wbGV0ZWQiCgoK CgoKCgoKCivCoCBbKHBhcmFsbGVsCgoKCgoKCgoKCivCoCDCoCBbKHNldCAobWF0Y2hfZHVwIDAp CgoKCgoKCgoKCisgwqAgKHVuc3BlYzpQIFsobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMikgKG1h dGNoX2R1cCAzKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX2R1cCA0KSAobWF0Y2hfZHVwIDUp XSBVTlNQRUNfVlNFVFZMKSkKCgoKCgoKCgoKKyDCoCDCoCAoc2V0IChyZWc6U0kgVkxfUkVHTlVN KQoKCgoKCgoKCgorIMKgICh1bnNwZWM6U0kgWyhtYXRjaF9kdXAgMSkgKG1hdGNoX2R1cCAyKSAo bWF0Y2hfZHVwIDMpXSBVTlNQRUNfVlNFVFZMKSkKCgoKCgoKCgoKKyDCoCDCoCAoc2V0IChyZWc6 U0kgVlRZUEVfUkVHTlVNKQoKCgoKCgoKCgorIMKgICh1bnNwZWM6U0kgWyhtYXRjaF9kdXAgMikg KG1hdGNoX2R1cCAzKSAobWF0Y2hfZHVwIDQpCgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNoX2R1 cCA1KV0gVU5TUEVDX1ZTRVRWTCkpXSldCgoKCgoKCgoKCivCoCAiIgoKCgoKCgoKCgorwqAgWyhz ZXRfYXR0ciAidHlwZSIgInZzZXR2bCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAi U0kiKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfY21wPG1v ZGU+X21lcmdlX3RpZV9tYXNrIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZN PiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICI9dm0iKQoKCgoKCgoK CgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoK CgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAg wqAgwqAgIiDCoCAwIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rv cl9sZW5ndGhfb3BlcmFuZCLCoCDCoCDCoCDCoCAiwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgIiDC oCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVy YW5kIsKgIMKgIMKgIMKgIMKgIMKgICIgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJ IFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5T UEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMiAiY29t cGFyaXNvbl9leGNlcHRfbHRnZV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0Y2hf b3BlcmFuZDpWX1ZMU0kgMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIsKgIHZyIikK CgoKCgoKCgoKKyDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kgNCAidmVjdG9yX2FyaXRo X29wZXJhbmQiIMKgIMKgICJ2cnZpIildKQoKCgoKCgoKCgorIMKgIChtYXRjaF9kdXAgMSkpKV0K CgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZtcyVCMi52 JW80XHQlMCwlMywldjQsdjAudCIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2aWNt cCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoKKyDC oCAoc2V0X2F0dHIgIm1lcmdlX29wX2lkeCIgIjEiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAi dmxfb3BfaWR4IiAiNSIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEiKSAoc3ltYm9sX3Jl ZiAicmlzY3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbNl0pIikpCgoKCgoKCgoKCisgwqAgKHNl dCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA3KSldKQoKCgoKCgoKCgorCgoKCgoK CgoKCis7OyBXZSBkb24ndCB1c2UgZWFybHktY2xvYmJlciBmb3IgTE1VTCA8PSAxIHRvIGdldCBi ZXR0ZXIgY29kZWdlbi4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfY21wPG1vZGU+ IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVy YW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9JnZyLCDCoCAmdnIsIMKgICZ2ciwgwqAgJnZy IikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxW TT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19v cGVyYW5kIsKgIMKgIMKgICJ2bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgIMKg ICIgwqAgckssIMKgIHJLLCDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNo X29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBp LMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVy YW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDC oCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05V TSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVE SUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMyAiY29tcGFyaXNvbl9l eGNlcHRfbHRnZV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDpW X1ZMU0kgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCAiIMKgIHZyLCDCoCB2ciwg wqAgdnIsIMKgIHZyIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kg NSAidmVjdG9yX2FyaXRoX29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2ciwgwqAgdnIsIMKgIHZpLCDC oCB2aSIpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJn ZV9vcGVyYW5kIsKgIMKgIMKgIMKgICIgwqAgdnUswqAgwqAgdnIsIMKgIHZ1LMKgIMKgIHZyIikp KV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SICYmIHJpc2N2X3ZlY3Rvcjo6Y21w X2xtdWxfbGVfb25lICg8TU9ERT5tb2RlKSIKCgoKCgoKCgoKK8KgICJ2bXMlQjMudiVvNVx0JTAs JTQsJXY1JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY21wIikKCgoKCgoK CgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoK Kzs7IFdlIHVzZSBlYXJseS1jbG9iYmVyIGZvciBzb3VyY2UgTE1VTCA+IGRlc3QgTE1VTC4KCgoK CgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfY21wPG1vZGU+X25hcnJvdyIKCgoKCgoKCgoK K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAiPXZtLCDCoCAmdnIsIMKgICZ2ciwgwqAgJnZyLCDCoCAmdnIsIMKg ICZ2ciwgwqAgJnZyLMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZN PgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3Bl cmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiwqAgwqAgwqAgIiDCoCAwLHZtV2MxLHZt V2MxLHZtV2MxLHZtV2MxLHZtV2MxLHZtV2MxLHZtV2MxLHZtV2MxIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDYgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgwqAgwqAgwqAg IiDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySywgwqAgckss IMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9v cGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAg aSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKg IMKgICLCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDC oCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05V TSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVE SUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMyAiY29tcGFyaXNvbl9l eGNlcHRfbHRnZV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDpW X1ZMU0kgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCAiIMKgIHZyLMKgIMKgIHZy LCDCoCB2cizCoCDCoCB2cizCoCDCoCB2ciwgwqAgdnIswqAgwqAgdnIsIMKgIHZyLCDCoCB2ciIp CgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNJIDUgInZlY3Rvcl9hcml0 aF9vcGVyYW5kIsKgIMKgIMKgICIgdnJ2aSwgdnJ2aSzCoCDCoCB2cizCoCDCoCB2ciwgdnJ2aSzC oCDCoCB2cizCoCDCoCB2ciwgdnJ2aSwgdnJ2aSIpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3Bl cmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgIMKgIMKgIMKgICIgwqAgdnUsIMKg IHZ1LCDCoCB2dSwgwqAgdnUswqAgwqAgdnIswqAgwqAgdnIswqAgwqAgdnIsIMKgIHZ1LMKgIMKg IHZyIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SICYmIHJpc2N2X3ZlY3Rv cjo6Y21wX2xtdWxfZ3Rfb25lICg8TU9ERT5tb2RlKSIKCgoKCgoKCgoKK8KgICJ2bXMlQjMudiVv NVx0JTAsJTQsJXY1JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY21wIikK CgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoK CgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfbHRnZTxtb2RlPl9tZXJnZV90aWVfbWFzayIK CgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFu ZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPXZtIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxW TT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29w ZXJhbmQ6PFZNPiAxICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgICIgwqAgMCIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAg wqAgwqAgwqAgIsKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNv bnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgICIgwqAgaSIpCgoKCgoKCgoKCivCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDC oCAiIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoK CivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoK CgoKCgorIMKgIChtYXRjaF9vcGVyYXRvcjo8Vk0+IDIgImx0Z2Vfb3BlcmF0b3IiCgoKCgoKCgoK CivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNJIDMgInJlZ2lzdGVyX29wZXJhbmQiIMKg IMKgIMKgIMKgICLCoCB2ciIpCgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9W TFNJIDQgInZlY3Rvcl9uZWdfYXJpdGhfb3BlcmFuZCIgInZydmoiKV0pCgoKCgoKCgoKCisgwqAg KG1hdGNoX2R1cCAxKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoK CgoKCivCoCAidm1zJUIyLnYlbzRcdCUwLCUzLCV2NCx2MC50IgoKCgoKCgoKCgorwqAgWyhzZXRf YXR0ciAidHlwZSIgInZpY21wIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9E RT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibWVyZ2Vfb3BfaWR4IiAiMSIpCgoKCgoKCgoK CisgwqAgKHNldF9hdHRyICJ2bF9vcF9pZHgiICI1IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRy ICJtYSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2XSkiKSkK CgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDcpKV0p CgoKCgoKCgoKCisKCgoKCgoKCgoKKzs7IFdlIGRvbid0IHVzZSBlYXJseS1jbG9iYmVyIGZvciBM TVVMIDw9IDEgdG8gZ2V0IGJldHRlciBjb2RlZ2VuLgoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIq cHJlZF90aF9sdGdlPG1vZGU+IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZN PiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9JnZyLCDCoCAm dnIsIMKgICZ2ciwgwqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoK CgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZN PiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgIMKgIMKgICJ2bVdjMSx2bVdjMSx2bVdjMSx2bVdj MSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29w ZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLLCDCoCBySywgwqAgcksiKQoKCgoKCgoK CgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKg IMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8Kg IMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDC oCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDC oCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxW TT4gMyAibHRnZV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDpW X1ZMU0kgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCAiIMKgIHZyLCDCoCB2ciwg wqAgdnIsIMKgIHZyIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kg NSAidmVjdG9yX25lZ19hcml0aF9vcGVyYW5kIsKgICIgwqAgdnIsIMKgIHZyLCDCoCB2aiwgwqAg dmoiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAyICJ2ZWN0b3JfbWVyZ2Vf b3BlcmFuZCLCoCDCoCDCoCDCoCAiIMKgIHZ1LMKgIMKgIHZyLCDCoCB2dSzCoCDCoCB2ciIpKSld CgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiByaXNjdl92ZWN0b3I6OmNtcF9s bXVsX2xlX29uZSAoPE1PREU+bW9kZSkiCgoKCgoKCgoKCivCoCAidm1zJUIzLnYlbzVcdCUwLCU0 LCV2NSVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2aWNtcCIpCgoKCgoKCgoK CisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCis7 OyBXZSB1c2UgZWFybHktY2xvYmJlciBmb3Igc291cmNlIExNVUwgPiBkZXN0IExNVUwuCgoKCgoK CgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2x0Z2U8bW9kZT5fbmFycm93IgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgICI9dm0sIMKgICZ2ciwgwqAgJnZyLCDCoCAmdnIsIMKgICZ2ciwgwqAg JnZyLCDCoCAmdnIswqAgJnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vk0+ CgoKCgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVy YW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCLCoCDCoCDCoCAiwqAgwqAgMCx2bVdjMSx2 bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgIMKg ICIgwqAgckssIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJL LCDCoCBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRf b3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKg IGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8Kg IMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDC oCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAg wqAgaSzCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdO VU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJF RElDQVRFKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYXRvcjo8Vk0+IDMgImx0Z2Vfb3BlcmF0 b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNJIDQgInJlZ2lzdGVy X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgIiDCoCB2cizCoCDCoCB2ciwgwqAgdnIswqAgwqAgdnIs wqAgwqAgdnIsIMKgIHZyLMKgIMKgIHZyLCDCoCB2ciwgwqAgdnIiKQoKCgoKCgoKCgorIMKgIMKg IMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTSSA1ICJ2ZWN0b3JfbmVnX2FyaXRoX29wZXJhbmQiwqAg IiB2cnZqLCB2cnZqLMKgIMKgIHZyLMKgIMKgIHZyLCB2cnZqLMKgIMKgIHZyLMKgIMKgIHZyLCB2 cnZqLCB2cnZqIildKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOjxWTT4gMiAidmVjdG9y X21lcmdlX29wZXJhbmQiwqAgwqAgwqAgwqAgIiDCoCB2dSwgwqAgdnUsIMKgIHZ1LCDCoCB2dSzC oCDCoCB2cizCoCDCoCB2cizCoCDCoCB2ciwgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgor wqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBfbG11bF9ndF9vbmUg KDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtcyVCMy52JW81XHQlMCwlNCwldjUlcDEiCgoK CgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRf YXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNu ICIqcHJlZF90aF9jbXA8bW9kZT5fc2NhbGFyX21lcmdlX3RpZV9tYXNrIgoKCgoKCgoKCgorwqAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDC oCDCoCDCoCDCoCAiPXZtIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoK KyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAx ICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgICLCoCAwIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCDCoCDCoCDC oCAiIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9v cGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgICht YXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICLC oCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAg wqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoK KyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAyICJjb21wYXJpc29uX2V4Y2VwdF9lcWdlX29wZXJh dG9yIgoKCgoKCgoKCgorwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOlZfVkxTSV9RSFMgMyAicmVn aXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgIiB2ciIpCgoKCgoKCgoKCisgwqAgwqAgwqAgKHZlY19k dXBsaWNhdGU6Vl9WTFNJX1FIUwoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5k OjxWRUw+IDQgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgIsKgIHIiKSldKQoKCgoKCgoKCgor IMKgIChtYXRjaF9kdXAgMSkpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoK CgoKCgoKCgorwqAgInZtcyVCMi52eFx0JTAsJTMsJTQsdjAudCIKCgoKCgoKCgoKK8KgIFsoc2V0 X2F0dHIgInR5cGUiICJ2aWNtcCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1P REU+IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1lcmdlX29wX2lkeCIgIjEiKQoKCgoKCgoK CgorIMKgIChzZXRfYXR0ciAidmxfb3BfaWR4IiAiNSIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0 ciAibWEiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbNl0pIikp CgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA3KSld KQoKCgoKCgoKCgorCgoKCgoKCgoKCis7OyBXZSBkb24ndCB1c2UgZWFybHktY2xvYmJlciBmb3Ig TE1VTCA8PSAxIHRvIGdldCBiZXR0ZXIgY29kZWdlbi4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAi KnByZWRfdGhfY21wPG1vZGU+X3NjYWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVy YW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPSZ2 ciwgwqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAo dW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0 b3JfbWFza19vcGVyYW5kIsKgIMKgIMKgICJ2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDC oCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgIMKgICIg wqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0 X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoK CgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDC oCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kg VkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQ RUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAzICJjb21w YXJpc29uX2V4Y2VwdF9lcWdlX29wZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAgWyhtYXRjaF9v cGVyYW5kOlZfVkxTSV9RSFMgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCAiIMKgIHZyLCDC oCB2ciIpCgoKCgoKCgoKCisgwqAgwqAgwqAgKHZlY19kdXBsaWNhdGU6Vl9WTFNJX1FIUwoKCgoK CgoKCgorIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDUgInJlZ2lzdGVyX29wZXJh bmQiIMKgIMKgICLCoCDCoCByLMKgIMKgIHIiKSldKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVy YW5kOjxWTT4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqAgwqAgwqAgwqAgIiDCoCB2dSzCoCDC oCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiByaXNjdl92ZWN0 b3I6OmNtcF9sbXVsX2xlX29uZSAoPE1PREU+bW9kZSkiCgoKCgoKCgoKCivCoCAidm1zJUIzLnZ4 XHQlMCwlNCwlNSVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2aWNtcCIpCgoK CgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgorCgoKCgoK CgoKCis7OyBXZSB1c2UgZWFybHktY2xvYmJlciBmb3Igc291cmNlIExNVUwgPiBkZXN0IExNVUwu CgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2NtcDxtb2RlPl9zY2FsYXJfbmFycm93 IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVy YW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiPXZtLCDCoCAmdnIsIMKgICZ2cizCoCAmdnIswqAgJnZy IikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxW TT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19v cGVyYW5kIiDCoCAiwqAgwqAgMCx2bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAg IiDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgIsKgIMKg IGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAo bWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCAiwqAgwqAg aSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChy ZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0p XSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAz ICJjb21wYXJpc29uX2V4Y2VwdF9lcWdlX29wZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAgWyht YXRjaF9vcGVyYW5kOlZfVkxTSV9RSFMgNCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgIiDCoCB2cizC oCDCoCB2cizCoCDCoCB2ciwgwqAgdnIsIMKgIHZyIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAodmVj X2R1cGxpY2F0ZTpWX1ZMU0lfUUhTCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJh bmQ6PFZFTD4gNSAicmVnaXN0ZXJfb3BlcmFuZCLCoCAiwqAgwqAgcizCoCDCoCByLMKgIMKgIHIs wqAgwqAgcizCoCDCoCByIikpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDIg InZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCAiIMKgIHZ1LCDCoCB2dSzCoCDCoCB2ciwgwqAg dnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlz Y3ZfdmVjdG9yOjpjbXBfbG11bF9ndF9vbmUgKDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZt cyVCMy52eFx0JTAsJTQsJTUlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmlj bXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoK KwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9lcW5lPG1vZGU+X3NjYWxhcl9tZXJn ZV90aWVfbWFzayIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVn aXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPXZtIikKCgoKCgoKCgoKKyAo aWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDC oCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDC oCDCoCAiwqAgMCIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3Jf bGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgICIgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKg ICLCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9v cGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAo cmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVN KV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4g MiAiZXF1YWxpdHlfb3BlcmF0b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKHZlY19kdXBsaWNhdGU6 Vl9WTFNJX1FIUwoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDQg InJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgICLCoCByIikpCgoKCgoKCgoKCisgwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQ6Vl9WTFNJX1FIUyAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKg ICIgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNoX2R1cCAxKSkpXQoKCgoKCgoKCgorwqAgIlRB UkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1zJUIyLnZ4XHQlMCwlMywlNCx2MC50 IgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY21wIikKCgoKCgoKCgoKKyDCoCAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibWVyZ2Vf b3BfaWR4IiAiMSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2bF9vcF9pZHgiICI1IikKCgoK CgoKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6Omdl dF9tYShvcGVyYW5kc1s2XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9p ZHgiKSAoY29uc3RfaW50IDcpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKzs7IFdlIGRvbid0IHVz ZSBlYXJseS1jbG9iYmVyIGZvciBMTVVMIDw9IDEgdG8gZ2V0IGJldHRlciBjb2RlZ2VuLgoKCgoK CgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9lcW5lPG1vZGU+X3NjYWxhciIKCgoKCgoKCgoK K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAiPSZ2ciwgwqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNl OjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNo X29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgIMKgIMKgICJ2bVdjMSx2bVdj MSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29w ZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgICht YXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAg wqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0 X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoK CgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpT SSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hf b3BlcmF0b3I6PFZNPiAzICJlcXVhbGl0eV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFso dmVjX2R1cGxpY2F0ZTpWX1ZMU0lfUUhTCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQ6PFZFTD4gNSAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgIsKgIMKgIHIswqAgwqAgciIp KQoKCgoKCgoKCgorIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTSV9RSFMgNCAicmVnaXN0 ZXJfb3BlcmFuZCLCoCDCoCDCoCAiIMKgIHZyLCDCoCB2ciIpXSkKCgoKCgoKCgoKKyDCoCAobWF0 Y2hfb3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgIMKgIMKgIMKgICIgwqAg dnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlz Y3ZfdmVjdG9yOjpjbXBfbG11bF9sZV9vbmUgKDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZt cyVCMy52eFx0JTAsJTQsJTUlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmlj bXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoK KwoKCgoKCgoKCgorOzsgV2UgdXNlIGVhcmx5LWNsb2JiZXIgZm9yIHNvdXJjZSBMTVVMID4gZGVz dCBMTVVMLgoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9lcW5lPG1vZGU+X3NjYWxh cl9uYXJyb3ciCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInJlZ2lz dGVyX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIj12bSwgwqAgJnZyLCDCoCAmdnIs wqAgJnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vk0+CgoKCgoKCgoKCisg wqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAi dmVjdG9yX21hc2tfb3BlcmFuZCLCoCDCoCDCoCAiwqAgwqAgMCx2bVdjMSx2bVdjMSx2bVdjMSx2 bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJL IikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5k IiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDC oCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVy YW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzC oCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgor wqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoK CgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAzICJlcXVhbGl0eV9vcGVyYXRvciIKCgoKCgoK CgoKK8KgIMKgIMKgIFsodmVjX2R1cGxpY2F0ZTpWX1ZMU0lfUUhTCgoKCgoKCgoKCisgwqAgwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gNSAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgIsKg IMKgIHIswqAgwqAgcizCoCDCoCByLMKgIMKgIHIswqAgwqAgciIpKQoKCgoKCgoKCgorIMKgIMKg IMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTSV9RSFMgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDC oCAiIMKgIHZyLMKgIMKgIHZyLMKgIMKgIHZyLCDCoCB2ciwgwqAgdnIiKV0pCgoKCgoKCgoKCisg wqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCDCoCDC oCAiIMKgIHZ1LCDCoCB2dSzCoCDCoCB2ciwgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgor wqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBfbG11bF9ndF9vbmUg KDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtcyVCMy52eFx0JTAsJTQsJTUlcDEiCgoKCgoK CgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIq cHJlZF90aF9jbXA8bW9kZT5fc2NhbGFyX21lcmdlX3RpZV9tYXNrIgoKCgoKCgoKCgorwqAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgICI9dm0iKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgor IMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEg InJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgICLCoCAwIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgwqAgwqAgwqAg wqAgIiBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRf b3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKg ICLCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgor wqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoK CgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAyICJjb21wYXJpc29uX2V4Y2VwdF9lcWdlX29w ZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOlZfVkxTSV9EIDMgInJl Z2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgIiB2ciIpCgoKCgoKCgoKCisgwqAgwqAgwqAg KHZlY19kdXBsaWNhdGU6Vl9WTFNJX0QKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAobWF0Y2hfb3Bl cmFuZDo8VkVMPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCAiwqAgciIpKV0pCgoKCgoK CgoKCisgwqAgKG1hdGNoX2R1cCAxKSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNU T1IiCgoKCgoKCgoKCivCoCAidm1zJUIyLnZ4XHQlMCwlMywlNCx2MC50IgoKCgoKCgoKCgorwqAg WyhzZXRfYXR0ciAidHlwZSIgInZpY21wIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUi ICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibWVyZ2Vfb3BfaWR4IiAiMSIpCgoK CgoKCgoKCisgwqAgKHNldF9hdHRyICJ2bF9vcF9pZHgiICI1IikKCgoKCgoKCgoKKyDCoCAoc2V0 IChhdHRyICJtYSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2 XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50 IDcpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfZXFuZTxt b2RlPl9zY2FsYXJfbWVyZ2VfdGllX21hc2siCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3Bl cmFuZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIj12 bSIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vk0+CgoKCgoKCgoKCisgwqAgKHVuc3BlYzo8 Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAicmVnaXN0ZXJfb3Bl cmFuZCIgwqAgwqAgwqAgwqAgwqAgIsKgIDAiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCAiIHJLIikKCgoK CgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDC oCDCoCDCoCDCoCDCoCDCoCAiwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFu ZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVn OlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgIChtYXRj aF9vcGVyYXRvcjo8Vk0+IDIgImVxdWFsaXR5X29wZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAg Wyh2ZWNfZHVwbGljYXRlOlZfVkxTSV9ECgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQ6PFZFTD4gNCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgIsKgIHIiKSkKCgoKCgoK CgoKKyDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0lfRCAzICJyZWdpc3Rlcl9vcGVyYW5k IsKgIMKgIMKgIMKgIMKgICIgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNoX2R1cCAxKSkpXQoK CgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1zJUIyLnZ4 XHQlMCwlMywlNCx2MC50IgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY21wIikK CgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChz ZXRfYXR0ciAibWVyZ2Vfb3BfaWR4IiAiMSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2bF9v cF9pZHgiICI1IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIpIChzeW1ib2xfcmVmICJy aXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChh dHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDcpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoK Kzs7IFdlIGRvbid0IHVzZSBlYXJseS1jbG9iYmVyIGZvciBMTVVMIDw9IDEgdG8gZ2V0IGJldHRl ciBjb2RlZ2VuLgoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9jbXA8bW9kZT5fc2Nh bGFyIgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9v cGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9JnZyLCDCoCAmdnIiKQoKCgoKCgoKCgor IChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgor IMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiwqAgwqAg wqAgInZtV2MxLHZtV2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgInZl Y3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoK CgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKg IMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBpLMKg IMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivC oCDCoCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoK CgorIMKgIChtYXRjaF9vcGVyYXRvcjo8Vk0+IDMgImNvbXBhcmlzb25fZXhjZXB0X2VxZ2Vfb3Bl cmF0b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNJX0QgNCAicmVn aXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCAiIMKgIHZyLCDCoCB2ciIpCgoKCgoKCgoKCisgwqAg wqAgwqAgKHZlY19kdXBsaWNhdGU6Vl9WTFNJX0QKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAobWF0 Y2hfb3BlcmFuZDo8VkVMPiA1ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCAiwqAgwqAgcizCoCDC oCByIikpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJn ZV9vcGVyYW5kIsKgIMKgIMKgIMKgICIgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgorwqAg IlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBfbG11bF9sZV9vbmUgKDxN T0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtcyVCMy52eFx0JTAsJTQsJTUlcDEiCgoKCgoKCgoK CivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAi bW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorOzsgV2UgdXNlIGVhcmx5LWNs b2JiZXIgZm9yIHNvdXJjZSBMTVVMID4gZGVzdCBMTVVMLgoKCgoKCgoKCgorKGRlZmluZV9pbnNu ICIqcHJlZF90aF9jbXA8bW9kZT5fc2NhbGFyX25hcnJvdyIKCgoKCgoKCgoKK8KgIFsoc2V0ICht YXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAg Ij12bSwgwqAgJnZyLCDCoCAmdnIswqAgJnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5f ZWxzZTo8Vk0+CgoKCgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyht YXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgwqAgIsKgIMKgIDAsdm1X YzEsdm1XYzEsdm1XYzEsdm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQg NiAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgIMKgICIgwqAgckssIMKgIHJLLCDCoCBySywg wqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0 X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDC oCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3Rf aW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKg IGkswqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoK CgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoK CgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMyAiY29tcGFyaXNvbl9leGNlcHRfZXFn ZV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDpWX1ZMU0lfRCA0 ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCAiIMKgIHZyLMKgIMKgIHZyLMKgIMKgIHZyLCDCoCB2 ciwgwqAgdnIiKQoKCgoKCgoKCgorIMKgIMKgIMKgICh2ZWNfZHVwbGljYXRlOlZfVkxTSV9ECgoK CgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gNSAicmVnaXN0ZXJfb3Bl cmFuZCLCoCAiwqAgwqAgcizCoCDCoCByLMKgIMKgIHIswqAgwqAgcizCoCDCoCByIikpXSkKCgoK CgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDC oCDCoCAiIMKgIHZ1LCDCoCB2dSzCoCDCoCB2ciwgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoK CgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBfbG11bF9ndF9v bmUgKDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtcyVCMy52eFx0JTAsJTQsJTUlcDEiCgoK CgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRf YXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorOzsgV2UgZG9uJ3Qg dXNlIGVhcmx5LWNsb2JiZXIgZm9yIExNVUwgPD0gMSB0byBnZXQgYmV0dGVyIGNvZGVnZW4uCgoK CgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2VxbmU8bW9kZT5fc2NhbGFyIgoKCgoKCgoK CgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgICI9JnZyLCDCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vs c2U6PFZNPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0 Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiwqAgwqAgwqAgInZtV2MxLHZt V2MxIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgInZlY3Rvcl9sZW5ndGhf b3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLC oCDCoCBpLMKgIMKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29u c3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkiKQoKCgoK CgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVn OlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgIChtYXRj aF9vcGVyYXRvcjo8Vk0+IDMgImVxdWFsaXR5X29wZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAg Wyh2ZWNfZHVwbGljYXRlOlZfVkxTSV9ECgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29w ZXJhbmQ6PFZFTD4gNSAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgIsKgIMKgIHIswqAgwqAgciIp KQoKCgoKCgoKCgorIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTSV9EIDQgInJlZ2lzdGVy X29wZXJhbmQiwqAgwqAgwqAgwqAgIiDCoCB2ciwgwqAgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1h dGNoX29wZXJhbmQ6PFZNPiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCDCoCDCoCAiIMKg IHZ1LMKgIMKgIHZyIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SICYmIHJp c2N2X3ZlY3Rvcjo6Y21wX2xtdWxfbGVfb25lICg8TU9ERT5tb2RlKSIKCgoKCgoKCgoKK8KgICJ2 bXMlQjMudnhcdCUwLCU0LCU1JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZp Y21wIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoK CisKCgoKCgoKCgoKKzs7IFdlIHVzZSBlYXJseS1jbG9iYmVyIGZvciBzb3VyY2UgTE1VTCA+IGRl c3QgTE1VTC4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfZXFuZTxtb2RlPl9zY2Fs YXJfbmFycm93IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdp c3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9dm0sIMKgICZ2ciwgwqAgJnZy LMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgor IMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEg InZlY3Rvcl9tYXNrX29wZXJhbmQiwqAgwqAgwqAgIsKgIMKgIDAsdm1XYzEsdm1XYzEsdm1XYzEs dm1XYzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAidmVjdG9yX2xlbmd0 aF9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJLLCDCoCBy SyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFu ZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAg wqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3Bl cmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGks wqAgwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoK K8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoK CgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMyAiZXF1YWxpdHlfb3BlcmF0b3IiCgoKCgoK CgoKCivCoCDCoCDCoCBbKHZlY19kdXBsaWNhdGU6Vl9WTFNJX0QKCgoKCgoKCgoKKyDCoCDCoCDC oCDCoCAobWF0Y2hfb3BlcmFuZDo8VkVMPiA1ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCAiwqAg wqAgcizCoCDCoCByLMKgIMKgIHIswqAgwqAgcizCoCDCoCByIikpCgoKCgoKCgoKCisgwqAgwqAg wqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNJX0QgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDC oCAiIMKgIHZyLMKgIMKgIHZyLMKgIMKgIHZyLCDCoCB2ciwgwqAgdnIiKV0pCgoKCgoKCgoKCisg wqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCDCoCDC oCAiIMKgIHZ1LCDCoCB2dSzCoCDCoCB2ciwgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgor wqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBfbG11bF9ndF9vbmUg KDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtcyVCMy52eFx0JTAsJTQsJTUlcDEiCgoKCgoK CgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0 ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIq cHJlZF90aF9jbXA8bW9kZT5fZXh0ZW5kZWRfc2NhbGFyX21lcmdlX3RpZV9tYXNrIgoKCgoKCgoK CgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDC oCDCoCDCoCDCoCDCoCDCoCAiPXZtIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoK CgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6 PFZNPiAxICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgICLCoCAwIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCAiIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0 X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKg IMKgICLCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoK CgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoK CgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAyICJjb21wYXJpc29uX2V4Y2VwdF9lcWdl X29wZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAgWyhtYXRjaF9vcGVyYW5kOlZfVkxTSV9EIDMg InJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgICIgdnIiKQoKCgoKCgoKCgorIMKgIMKgIMKg ICh2ZWNfZHVwbGljYXRlOlZfVkxTSV9ECgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKHNpZ25fZXh0 ZW5kOjxWRUw+CgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZTVUJF TD4gNCAicmVnaXN0ZXJfb3BlcmFuZCIgIsKgIHIiKSkpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hf ZHVwIDEpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKK8Kg ICJ2bXMlQjIudnhcdCUwLCUzLCU0LHYwLnQiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBl IiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCgoKCgoK CgoKCisgwqAgKHNldF9hdHRyICJtZXJnZV9vcF9pZHgiICIxIikKCgoKCgoKCgoKKyDCoCAoc2V0 X2F0dHIgInZsX29wX2lkeCIgIjUiKQoKCgoKCgoKCgorIMKgIChzZXQgKGF0dHIgIm1hIikgKHN5 bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X21hKG9wZXJhbmRzWzZdKSIpKQoKCgoKCgoKCgor IMKgIChzZXQgKGF0dHIgImF2bF90eXBlX2lkeCIpIChjb25zdF9pbnQgNykpXSkKCgoKCgoKCgoK KwoKCgoKCgoKCgorOzsgV2UgZG9uJ3QgdXNlIGVhcmx5LWNsb2JiZXIgZm9yIExNVUwgPD0gMSB0 byBnZXQgYmV0dGVyIGNvZGVnZW4uCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2Nt cDxtb2RlPl9leHRlbmRlZF9zY2FsYXIiCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFu ZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9JnZy LCDCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgorIMKgICh1 bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rv cl9tYXNrX29wZXJhbmQiIMKgIMKgIMKgICJ2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDC oCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAgwqAgwqAg IiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29u c3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSIpCgoK CgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDC oCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChy ZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0p XSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAz ICJjb21wYXJpc29uX2V4Y2VwdF9lcWdlX29wZXJhdG9yIgoKCgoKCgoKCgorwqAgwqAgwqAgWyht YXRjaF9vcGVyYW5kOlZfVkxTSV9EIDQgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgICIg wqAgdnIsIMKgIHZyIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWX1ZMU0lf RAoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChzaWduX2V4dGVuZDo8VkVMPgoKCgoKCgoKCgorIMKg IMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWU1VCRUw+IDUgInJlZ2lzdGVyX29wZXJhbmQi ICLCoCDCoCByLMKgIMKgIHIiKSkpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+ IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCDCoCDCoCAiIMKgIHZ1LMKgIMKgIHZyIikp KV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SICYmIHJpc2N2X3ZlY3Rvcjo6Y21w X2xtdWxfbGVfb25lICg8TU9ERT5tb2RlKSIKCgoKCgoKCgoKK8KgICJ2bXMlQjMudnhcdCUwLCU0 LCU1JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZpY21wIikKCgoKCgoKCgoK KyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKyhk ZWZpbmVfaW5zbiAiKnByZWRfdGhfY21wPG1vZGU+X2V4dGVuZGVkX3NjYWxhcl9uYXJyb3ciCgoK CgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQi IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9dm0sIMKgICZ2ciwgwqAgJnZyLMKgICZ2cizCoCAm dnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6 PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNr X29wZXJhbmQiIMKgIMKgIMKgICLCoCDCoCAwLHZtV2MxLHZtV2MxLHZtV2MxLHZtV2MxIikKCgoK CgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDYgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCAiIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySyIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikK CgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIsKg IMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKg IGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDC oCDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgor IMKgIChtYXRjaF9vcGVyYXRvcjo8Vk0+IDMgImNvbXBhcmlzb25fZXhjZXB0X2VxZ2Vfb3BlcmF0 b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNJX0QgNCAicmVnaXN0 ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDCoCB2cizCoCDCoCB2cizCoCDCoCB2ciwgwqAgdnIs IMKgIHZyIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWX1ZMU0lfRAoKCgoK CgoKCgorIMKgIMKgIMKgIMKgIChzaWduX2V4dGVuZDo8VkVMPgoKCgoKCgoKCgorIMKgIMKgIMKg IMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWU1VCRUw+IDUgInJlZ2lzdGVyX29wZXJhbmQiICLCoCDC oCByLMKgIMKgIHIswqAgwqAgcizCoCDCoCByLMKgIMKgIHIiKSkpXSkKCgoKCgoKCgoKKyDCoCAo bWF0Y2hfb3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiDCoCDCoCDCoCDCoCAi IMKgIHZ1LCDCoCB2dSzCoCDCoCB2ciwgwqAgdnUswqAgwqAgdnIiKSkpXQoKCgoKCgoKCgorwqAg IlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBfbG11bF9ndF9vbmUgKDxN T0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtcyVCMy52eFx0JTAsJTQsJTUlcDEiCgoKCgoKCgoK CivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmljbXAiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAi bW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJl ZF90aF9lcW5lPG1vZGU+X2V4dGVuZGVkX3NjYWxhcl9tZXJnZV90aWVfbWFzayIKCgoKCgoKCgoK K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgIj12bSIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vk0+CgoK CgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5k OjxWTT4gMSAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCAiwqAgMCIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAg wqAgwqAgwqAgwqAgwqAgIiBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2 ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgaSIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAiwqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JF R05VTSkKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQ UkVESUNBVEUpCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMiAiZXF1YWxpdHlf b3BlcmF0b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKHZlY19kdXBsaWNhdGU6Vl9WTFNJX0QKCgoK CgoKCgoKKyDCoCDCoCDCoCDCoCAoc2lnbl9leHRlbmQ6PFZFTD4KCgoKCgoKCgoKKyDCoCDCoCDC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VlNVQkVMPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCAi wqAgciIpKSkKCgoKCgoKCgoKKyDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDpWX1ZMU0lfRCAzICJy ZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCAiIHZyIildKQoKCgoKCgoKCgorIMKgICht YXRjaF9kdXAgMSkpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoK CgorwqAgInZtcyVCMi52eFx0JTAsJTMsJTQsdjAudCIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIg InR5cGUiICJ2aWNtcCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikK CgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1lcmdlX29wX2lkeCIgIjEiKQoKCgoKCgoKCgorIMKg IChzZXRfYXR0ciAidmxfb3BfaWR4IiAiNSIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEi KSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbNl0pIikpCgoKCgoK CgoKCisgwqAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA3KSldKQoKCgoK CgoKCgorCgoKCgoKCgoKCis7OyBXZSBkb24ndCB1c2UgZWFybHktY2xvYmJlciBmb3IgTE1VTCA8 PSAxIHRvIGdldCBiZXR0ZXIgY29kZWdlbi4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRf dGhfZXFuZTxtb2RlPl9leHRlbmRlZF9zY2FsYXIiCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hf b3BlcmFuZDo8Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg ICI9JnZyLCDCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgor IMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEg InZlY3Rvcl9tYXNrX29wZXJhbmQiIMKgIMKgIMKgICJ2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAg wqAgwqAgIiDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQg NyAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAg aSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFu ZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKg IMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9S RUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6 PFZNPiAzICJlcXVhbGl0eV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsodmVjX2R1cGxp Y2F0ZTpWX1ZMU0lfRAoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChzaWduX2V4dGVuZDo8VkVMPgoK CgoKCgoKCgorIMKgIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWU1VCRUw+IDUgInJlZ2lz dGVyX29wZXJhbmQiICLCoCDCoCByLMKgIMKgIHIiKSkpCgoKCgoKCgoKCisgwqAgwqAgwqAgKG1h dGNoX29wZXJhbmQ6Vl9WTFNJX0QgNCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDC oCB2ciwgwqAgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNoX29wZXJhbmQ6PFZNPiAyICJ2ZWN0 b3JfbWVyZ2Vfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoK CgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiByaXNjdl92ZWN0b3I6OmNtcF9sbXVsX2xl X29uZSAoPE1PREU+bW9kZSkiCgoKCgoKCgoKCivCoCAidm1zJUIzLnZ4XHQlMCwlNCwlNSVwMSIK CgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2aWNtcCIpCgoKCgoKCgoKCisgwqAgKHNl dF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2lu c24gIipwcmVkX3RoX2VxbmU8bW9kZT5fZXh0ZW5kZWRfc2NhbGFyX25hcnJvdyIKCgoKCgoKCgoK K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCAiPXZtLCDCoCAmdnIsIMKgICZ2cizCoCAmdnIswqAgJnZyIikKCgoK CgoKCgoKKyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoK CgoKCgoKKyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5k IiDCoCDCoCDCoCAiwqAgwqAgMCx2bVdjMSx2bVdjMSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivC oCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqAgwqAgwqAg wqAgwqAgIiDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAg wqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoKCgoK CivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoCDCoCDCoCDC oCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoK CgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0 Y2hfb3BlcmF0b3I6PFZNPiAzICJlcXVhbGl0eV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKg IFsodmVjX2R1cGxpY2F0ZTpWX1ZMU0lfRAoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChzaWduX2V4 dGVuZDo8VkVMPgoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWU1VC RUw+IDUgInJlZ2lzdGVyX29wZXJhbmQiICLCoCDCoCByLMKgIMKgIHIswqAgwqAgcizCoCDCoCBy LMKgIMKgIHIiKSkpCgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNJX0Qg NCAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgIiDCoCB2cizCoCDCoCB2cizCoCDCoCB2 ciwgwqAgdnIsIMKgIHZyIildKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOjxWTT4gMiAi dmVjdG9yX21lcmdlX29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgdnUsIMKgIHZ1LMKgIMKgIHZy LCDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiAm JiByaXNjdl92ZWN0b3I6OmNtcF9sbXVsX2d0X29uZSAoPE1PREU+bW9kZSkiCgoKCgoKCgoKCivC oCAidm1zJUIzLnZ4XHQlMCwlNCwlNSVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUi ICJ2aWNtcCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoK CgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2NtcDxtb2RlPiIKCgoKCgoK CgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCAiPSZ2ciwgwqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhlbl9l bHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBbKG1h dGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgIMKgIMKgICJ2bVdjMSx2 bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKg IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAi wqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNv bnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoK CgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0 Y2hfb3BlcmF0b3I6PFZNPiAzICJzaWduZWRfb3JkZXJfb3BlcmF0b3IiCgoKCgoKCgoKCivCoCDC oCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDQgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAg IiDCoCB2ciwgwqAgdnIiKQoKCgoKCgoKCgorIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxT RiA1ICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgICIgwqAgdnIsIMKgIHZyIildKQoKCgoKCgoK CgorIMKgIChtYXRjaF9vcGVyYW5kOjxWTT4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqAgwqAg wqAgwqAgIiDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZF Q1RPUiAmJiByaXNjdl92ZWN0b3I6OmNtcF9sbXVsX2xlX29uZSAoPE1PREU+bW9kZSkiCgoKCgoK CgoKCivCoCAidm1mJUIzLnZ2XHQlMCwlNCwlNSVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIg InR5cGUiICJ2ZmNtcCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+Iild KQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2NtcDxtb2RlPl9u YXJyb3dfbWVyZ2VfdGllX21hc2siCgoKCgoKCgoKCivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8 Vk0+IDAgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9dm0iKQoKCgoK CgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoK CgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInJlZ2lzdGVyX29wZXJhbmQiwqAg wqAgwqAgwqAgwqAgIsKgIDAiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNSAi dmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgICIgcksiKQoKCgoKCgoKCgorwqAg wqAgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAg wqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3Rf aW50X29wZXJhbmQiwqAgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAg wqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZUWVBFX1JF R05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYXRvcjo8 Vk0+IDIgInNpZ25lZF9vcmRlcl9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKgIMKgIFsobWF0Y2hf b3BlcmFuZDpWX1ZMU0YgMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgIiB2ciIp CgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDQgInJlZ2lzdGVyX29w ZXJhbmQiIMKgIMKgIMKgIMKgIMKgICIgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNoX2R1cCAx KSkpXQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1m JUIyLnZ2XHQlMCwlMywlNCx2MC50IgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZm Y21wIikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAibWVyZ2Vfb3BfaWR4IiAiMSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRy ICJ2bF9vcF9pZHgiICI1IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIpIChzeW1ib2xf cmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVyYW5kc1s2XSkiKSkKCgoKCgoKCgoKKyDCoCAo c2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDcpKV0pCgoKCgoKCgoKCisKCgoK CgoKCgoKKzs7IFdlIHVzZSBlYXJseS1jbG9iYmVyIGZvciBzb3VyY2UgTE1VTCA+IGRlc3QgTE1V TC4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfY21wPG1vZGU+X25hcnJvdyIKCgoK CgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPXZtLCDCoCAmdnIsIMKgICZ2ciwgwqAgJnZyLCDCoCAm dnIsIMKgICZ2ciwgwqAgJnZyLMKgICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vs c2U6PFZNPgoKCgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0 Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiwqAgwqAgwqAgIsKgIMKgIDAs dm1XYzEsdm1XYzEsdm1XYzEsdm1XYzEsdm1XYzEsdm1XYzEsdm1XYzEsdm1XYzEiKQoKCgoKCgoK CgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiDCoCDC oCDCoCDCoCAiIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJL LCDCoCBySywgwqAgcksiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29u c3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCDCoCBpLMKgIMKgIGkswqAgwqAg aSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSIpCgoKCgoK CgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIgwqAgwqAg wqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAgaSzCoCDC oCBpLMKgIMKgIGkswqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kg VkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQ RUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAzICJzaWdu ZWRfb3JkZXJfb3BlcmF0b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9W TFNGIDQgInJlZ2lzdGVyX29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2cizCoCDCoCB2ciwgwqAgdnIs wqAgwqAgdnIswqAgwqAgdnIsIMKgIHZyLMKgIMKgIHZyLCDCoCB2ciwgwqAgdnIiKQoKCgoKCgoK CgorIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTRiA1ICJyZWdpc3Rlcl9vcGVyYW5kIsKg IMKgIMKgICIgwqAgdnIsIMKgIHZyLMKgIMKgIHZyLMKgIMKgIHZyLCDCoCB2cizCoCDCoCB2cizC oCDCoCB2ciwgwqAgdnIsIMKgIHZyIildKQoKCgoKCgoKCgorIMKgIChtYXRjaF9vcGVyYW5kOjxW TT4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqAgwqAgwqAgwqAgIiDCoCB2dSwgwqAgdnUsIMKg IHZ1LCDCoCB2dSzCoCDCoCB2cizCoCDCoCB2cizCoCDCoCB2ciwgwqAgdnUswqAgwqAgdnIiKSkp XQoKCgoKCgoKCgorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IgJiYgcmlzY3ZfdmVjdG9yOjpjbXBf bG11bF9ndF9vbmUgKDxNT0RFPm1vZGUpIgoKCgoKCgoKCgorwqAgInZtZiVCMy52dlx0JTAsJTQs JTUlcDEiCgoKCgoKCgoKCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmZjbXAiKQoKCgoKCgoKCgor IMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKKwoKCgoKCgoKCgorKGRl ZmluZV9pbnNuICIqcHJlZF90aF9jbXA8bW9kZT5fc2NhbGFyX21lcmdlX3RpZV9tYXNrIgoKCgoK CgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKg IMKgIMKgIMKgIMKgIMKgIMKgICI9dm0iKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoK CgoKCgoKCgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFu ZDo8Vk0+IDEgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgICLCoCAwIikKCgoKCgoKCgoK K8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgwqAg wqAgwqAgIiBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9p bnRfb3BlcmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLC oCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAg wqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoK KyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAyICJzaWduZWRfb3JkZXJfb3BlcmF0b3IiCgoKCgoK CgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDMgInJlZ2lzdGVyX29wZXJhbmQi wqAgwqAgwqAgIiB2ciIpCgoKCgoKCgoKCisgwqAgwqAgwqAgKHZlY19kdXBsaWNhdGU6Vl9WTFNG CgoKCgoKCgoKCisgwqAgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gNCAicmVnaXN0ZXJf b3BlcmFuZCIgwqAgwqAgIsKgIGYiKSldKQoKCgoKCgoKCgorIMKgIChtYXRjaF9kdXAgMSkpKV0K CgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgorwqAgInZtZiVCMi52 Zlx0JTAsJTMsJTQsdjAudCIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZmNtcCIp CgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoKKyDCoCAo c2V0X2F0dHIgIm1lcmdlX29wX2lkeCIgIjEiKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAidmxf b3BfaWR4IiAiNSIpCgoKCgoKCgoKCisgwqAgKHNldCAoYXR0ciAibWEiKSAoc3ltYm9sX3JlZiAi cmlzY3ZfdmVjdG9yOjpnZXRfbWEob3BlcmFuZHNbNl0pIikpCgoKCgoKCgoKCisgwqAgKHNldCAo YXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0X2ludCA3KSldKQoKCgoKCgoKCgorCgoKCgoKCgoK Cis7OyBXZSBkb24ndCB1c2UgZWFybHktY2xvYmJlciBmb3IgTE1VTCA8PSAxIHRvIGdldCBiZXR0 ZXIgY29kZWdlbi4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfY21wPG1vZGU+X3Nj YWxhciIKCgoKCgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJf b3BlcmFuZCLCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPSZ2ciwgwqAgJnZyIikKCgoKCgoKCgoK KyAoaWZfdGhlbl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoK KyDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgIMKg IMKgICJ2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2 ZWN0b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLIikKCgoKCgoK CgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDC oCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9v cGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzC oCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgor wqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoK CgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAzICJzaWduZWRfb3JkZXJfb3BlcmF0b3IiCgoK CgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDQgInJlZ2lzdGVyX29wZXJh bmQiwqAgwqAgwqAgIiDCoCB2ciwgwqAgdnIiKQoKCgoKCgoKCgorIMKgIMKgIMKgICh2ZWNfZHVw bGljYXRlOlZfVkxTRgoKCgoKCgoKCgorIMKgIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+ IDUgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgICLCoCDCoCBmLMKgIMKgIGYiKSldKQoKCgoKCgoK CgorIMKgIChtYXRjaF9vcGVyYW5kOjxWTT4gMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqAgwqAg wqAgwqAgIiDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VUX1hUSEVBRFZF Q1RPUiAmJiByaXNjdl92ZWN0b3I6OmNtcF9sbXVsX2xlX29uZSAoPE1PREU+bW9kZSkiCgoKCgoK CgoKCivCoCAidm1mJUIzLnZmXHQlMCwlNCwlNSVwMSIKCgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIg InR5cGUiICJ2ZmNtcCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+Iild KQoKCgoKCgoKCgorCgoKCgoKCgoKCis7OyBXZSB1c2UgZWFybHktY2xvYmJlciBmb3Igc291cmNl IExNVUwgPiBkZXN0IExNVUwuCgoKCgoKCgoKCisoZGVmaW5lX2luc24gIipwcmVkX3RoX2NtcDxt b2RlPl9zY2FsYXJfbmFycm93IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZN PiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9dm0sIMKgICZ2 cizCoCAmdnIswqAgJnZyLMKgICZ2ciIpCgoKCgoKCgoKCisgKGlmX3RoZW5fZWxzZTo8Vk0+CgoK CgoKCgoKCisgwqAgKHVuc3BlYzo8Vk0+CgoKCgoKCgoKCisgwqAgwqAgWyhtYXRjaF9vcGVyYW5k OjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCLCoCDCoCDCoCAiwqAgwqAgMCx2bVdjMSx2bVdj MSx2bVdjMSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0 b3JfbGVuZ3RoX29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLLCDCoCBySywgwqAg ckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2lu dF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAg wqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0 X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpLMKgIMKgIGks wqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoK CgoKCgoKCgorwqAgwqAgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FU RSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hfb3BlcmF0b3I6PFZNPiAzICJzaWduZWRfb3JkZXJfb3Bl cmF0b3IiCgoKCgoKCgoKCivCoCDCoCDCoCBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDQgInJlZ2lz dGVyX29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2cizCoCDCoCB2cizCoCDCoCB2ciwgwqAgdnIsIMKg IHZyIikKCgoKCgoKCgoKKyDCoCDCoCDCoCAodmVjX2R1cGxpY2F0ZTpWX1ZMU0YKCgoKCgoKCgoK KyDCoCDCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZDo8VkVMPiA1ICJyZWdpc3Rlcl9vcGVyYW5kIiDC oCDCoCAiwqAgwqAgZizCoCDCoCBmLMKgIMKgIGYswqAgwqAgZizCoCDCoCBmIikpXSkKCgoKCgoK CgoKKyDCoCAobWF0Y2hfb3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgIMKg IMKgIMKgICIgwqAgdnUsIMKgIHZ1LMKgIMKgIHZyLCDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoK CgoKCivCoCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiByaXNjdl92ZWN0b3I6OmNtcF9sbXVsX2d0 X29uZSAoPE1PREU+bW9kZSkiCgoKCgoKCgoKCivCoCAidm1mJUIzLnZmXHQlMCwlNCwlNSVwMSIK CgoKCgoKCgoKK8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZmNtcCIpCgoKCgoKCgoKCisgwqAgKHNl dF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgoKCgoKCgorCgoKCgoKCgoKCisoZGVmaW5lX2lu c24gIipwcmVkX3RoX2VxbmU8bW9kZT5fc2NhbGFyX21lcmdlX3RpZV9tYXNrIgoKCgoKCgoKCgor wqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKg IMKgIMKgIMKgIMKgICI9dm0iKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoK CgorIMKgICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+ IDEgInJlZ2lzdGVyX29wZXJhbmQiIMKgIMKgIMKgIMKgICLCoCAwIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgwqAgwqAgwqAgwqAg IiBySyIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3Bl cmFuZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIGkiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNo X29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiIMKgIMKgIMKgIMKgIMKgIMKgICLCoCBpIikK CgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAo bWF0Y2hfb3BlcmF0b3I6PFZNPiAyICJlcXVhbGl0eV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKg IMKgIFsodmVjX2R1cGxpY2F0ZTpWX1ZMU0YKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZDo8VkVMPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCAiwqAgZiIpKQoKCgoKCgoK CgorIMKgIMKgIMKgIChtYXRjaF9vcGVyYW5kOlZfVkxTRiAzICJyZWdpc3Rlcl9vcGVyYW5kIsKg IMKgIMKgICIgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNoX2R1cCAxKSkpXQoKCgoKCgoKCgor wqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCgoKCgoKCgoKCivCoCAidm1mJUIyLnZmXHQlMCwlMywl NCx2MC50IgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZmY21wIikKCgoKCgoKCgoK KyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgorIMKgIChzZXRfYXR0ciAi bWVyZ2Vfb3BfaWR4IiAiMSIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJ2bF9vcF9pZHgiICI1 IikKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJtYSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0 b3I6OmdldF9tYShvcGVyYW5kc1s2XSkiKSkKCgoKCgoKCgoKKyDCoCAoc2V0IChhdHRyICJhdmxf dHlwZV9pZHgiKSAoY29uc3RfaW50IDcpKV0pCgoKCgoKCgoKCisKCgoKCgoKCgoKKzs7IFdlIGRv bid0IHVzZSBlYXJseS1jbG9iYmVyIGZvciBMTVVMIDw9IDEgdG8gZ2V0IGJldHRlciBjb2RlZ2Vu LgoKCgoKCgoKCgorKGRlZmluZV9pbnNuICIqcHJlZF90aF9lcW5lPG1vZGU+X3NjYWxhciIKCgoK CgoKCgoKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWTT4gMCAicmVnaXN0ZXJfb3BlcmFuZCLC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAiPSZ2ciwgwqAgJnZyIikKCgoKCgoKCgoKKyAoaWZfdGhl bl9lbHNlOjxWTT4KCgoKCgoKCgoKKyDCoCAodW5zcGVjOjxWTT4KCgoKCgoKCgoKKyDCoCDCoCBb KG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgIMKgIMKgICJ2bVdj MSx2bVdjMSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA2ICJ2ZWN0b3JfbGVu Z3RoX29wZXJhbmQiIMKgIMKgIMKgIMKgICIgwqAgckssIMKgIHJLIikKCgoKCgoKCgoKK8KgIMKg IMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDC oCAiwqAgwqAgaSzCoCDCoCBpIikKCgoKCgoKCgoKK8KgIMKgIMKgIChtYXRjaF9vcGVyYW5kIDgg ImNvbnN0X2ludF9vcGVyYW5kIiDCoCDCoCDCoCDCoCDCoCDCoCAiwqAgwqAgaSzCoCDCoCBpIikK CgoKCgoKCgoKK8KgIMKgIMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgoKCgoKCgorwqAgwqAgwqAg KHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKCgoKCgoKKyDCoCAo bWF0Y2hfb3BlcmF0b3I6PFZNPiAzICJlcXVhbGl0eV9vcGVyYXRvciIKCgoKCgoKCgoKK8KgIMKg IMKgIFsodmVjX2R1cGxpY2F0ZTpWX1ZMU0YKCgoKCgoKCgoKKyDCoCDCoCDCoCDCoCAobWF0Y2hf b3BlcmFuZDo8VkVMPiA1ICJyZWdpc3Rlcl9vcGVyYW5kIiDCoCDCoCAiwqAgwqAgZizCoCDCoCBm IikpCgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDQgInJlZ2lzdGVy X29wZXJhbmQiwqAgwqAgwqAgIiDCoCB2ciwgwqAgdnIiKV0pCgoKCgoKCgoKCisgwqAgKG1hdGNo X29wZXJhbmQ6PFZNPiAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoCDCoCDCoCDCoCAiIMKgIHZ1 LMKgIMKgIHZyIikpKV0KCgoKCgoKCgoKK8KgICJUQVJHRVRfWFRIRUFEVkVDVE9SICYmIHJpc2N2 X3ZlY3Rvcjo6Y21wX2xtdWxfbGVfb25lICg8TU9ERT5tb2RlKSIKCgoKCgoKCgoKK8KgICJ2bWYl QjMudmZcdCUwLCU0LCU1JXAxIgoKCgoKCgoKCgorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZmY21w IikKCgoKCgoKCgoKKyDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCgoKCgoKCisK CgoKCgoKCgoKKzs7IFdlIHVzZSBlYXJseS1jbG9iYmVyIGZvciBzb3VyY2UgTE1VTCA+IGRlc3Qg TE1VTC4KCgoKCgoKCgoKKyhkZWZpbmVfaW5zbiAiKnByZWRfdGhfZXFuZTxtb2RlPl9zY2FsYXJf bmFycm93IgoKCgoKCgoKCgorwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZNPiAwICJyZWdpc3Rl cl9vcGVyYW5kIsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICI9dm0sIMKgICZ2ciwgwqAgJnZyLMKg ICZ2cizCoCAmdnIiKQoKCgoKCgoKCgorIChpZl90aGVuX2Vsc2U6PFZNPgoKCgoKCgoKCgorIMKg ICh1bnNwZWM6PFZNPgoKCgoKCgoKCgorIMKgIMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZl Y3Rvcl9tYXNrX29wZXJhbmQiwqAgwqAgwqAgIsKgIMKgIDAsdm1XYzEsdm1XYzEsdm1XYzEsdm1X YzEiKQoKCgoKCgoKCgorwqAgwqAgwqAgKG1hdGNoX29wZXJhbmQgNiAidmVjdG9yX2xlbmd0aF9v cGVyYW5kIiDCoCDCoCDCoCDCoCAiIMKgIHJLLCDCoCBySywgwqAgckssIMKgIHJLLCDCoCBySyIp CgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIg wqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAgwqAg aSIpCgoKCgoKCgoKCivCoCDCoCDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFu ZCIgwqAgwqAgwqAgwqAgwqAgwqAgIsKgIMKgIGkswqAgwqAgaSzCoCDCoCBpLMKgIMKgIGkswqAg wqAgaSIpCgoKCgoKCgoKCivCoCDCoCDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKCgoKCgoKK8Kg IMKgIMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCgoKCgoK CisgwqAgKG1hdGNoX29wZXJhdG9yOjxWTT4gMyAiZXF1YWxpdHlfb3BlcmF0b3IiCgoKCgoKCgoK CivCoCDCoCDCoCBbKHZlY19kdXBsaWNhdGU6Vl9WTFNGCgoKCgoKCgoKCisgwqAgwqAgwqAgwqAg KG1hdGNoX29wZXJhbmQ6PFZFTD4gNSAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgwqAgIsKgIMKgIGYs wqAgwqAgZizCoCDCoCBmLMKgIMKgIGYswqAgwqAgZiIpKQoKCgoKCgoKCgorIMKgIMKgIMKgICht YXRjaF9vcGVyYW5kOlZfVkxTRiA0ICJyZWdpc3Rlcl9vcGVyYW5kIsKgIMKgIMKgICIgwqAgdnIs wqAgwqAgdnIswqAgwqAgdnIsIMKgIHZyLCDCoCB2ciIpXSkKCgoKCgoKCgoKKyDCoCAobWF0Y2hf b3BlcmFuZDo8Vk0+IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgIMKgIMKgIMKgICIgwqAgdnUs IMKgIHZ1LMKgIMKgIHZyLCDCoCB2dSzCoCDCoCB2ciIpKSldCgoKCgoKCgoKCivCoCAiVEFSR0VU X1hUSEVBRFZFQ1RPUiAmJiByaXNjdl92ZWN0b3I6OmNtcF9sbXVsX2d0X29uZSAoPE1PREU+bW9k ZSkiCgoKCgoKCgoKCivCoCAidm1mJUIzLnZmXHQlMCwlNCwlNSVwMSIKCgoKCgoKCgoKK8KgIFso c2V0X2F0dHIgInR5cGUiICJ2ZmNtcCIpCgoKCgoKCgoKCisgwqAgKHNldF9hdHRyICJtb2RlIiAi PE1PREU+IildKQoKCgoKCgoKCgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCgoKCgoKCgoK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5tZCBiL2djYy9j b25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5tZAoKCgoKCgoKCgppbmRleCA1ZjVmN2I1Yjk4 Ni4uYzBmYzdhMjQ0MWQgMTAwNjQ0CgoKCgoKCgoKCi0tLSBhL2djYy9jb25maWcvcmlzY3YvdmVj dG9yLWl0ZXJhdG9ycy5tZAoKCgoKCgoKCgorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1p dGVyYXRvcnMubWQKCgoKCgoKCgoKQEAgLTEwOSwxMSArMTA5LDExIEBAIChkZWZpbmVfY19lbnVt ICJ1bnNwZWN2IiBbCgoKCgoKCgoKCl0pCgoKCgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBW SSBbCgoKCgoKCgoKCi3CoCBSVlZNOFFJIFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIFJWVk1GMlFJ IFJWVk1GNFFJIChSVlZNRjhRSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAg UlZWTThRSSBSVlZNNFFJIFJWVk0yUUkgUlZWTTFRSSAoUlZWTUYyUUkgIiFUQVJHRVRfWFRIRUFE VkVDVE9SIikgKFJWVk1GNFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpIChSVlZNRjhRSSAiIVRB UkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgotwqAg UlZWTThISSBSVlZNNEhJIFJWVk0ySEkgUlZWTTFISSBSVlZNRjJISSAoUlZWTUY0SEkgIlRBUkdF VF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIFJWVk04SEkgUlZWTTRISSBSVlZNMkhJIFJW Vk0xSEkgKFJWVk1GMkhJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpIChSVlZNRjRISSAiIVRBUkdF VF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgotwqAgUlZW TThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYyU0kgIlRBUkdFVF9NSU5fVkxFTiA+ IDMyIikKCgoKCgoKCgoKK8KgIFJWVk04U0kgUlZWTTRTSSBSVlZNMlNJIFJWVk0xU0kgKFJWVk1G MlNJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoK CgoKCsKgIChSVlZNOERJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKSAoUlZWTTRESSAiVEFSR0VU X1ZFQ1RPUl9FTEVOXzY0IikKCgoKCgoKCgoKwqAgKFJWVk0yREkgIlRBUkdFVF9WRUNUT1JfRUxF Tl82NCIpIChSVlZNMURJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKQoKCgoKCgoKCgpAQCAtMTI4 LDExICsxMjgsMTEgQEAgKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZJIFsKCgoKCgoKCgoKOzsgYWxs b3cgdGhlIGluc3RydWN0aW9uIGFuZCBtb2RlIHRvIGJlIG1hdGNoZWQgZHVyaW5nIGNvbWJpbmUg ZXQgYWwuCgoKCgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWRiBbCgoKCgoKCgoKCsKgIChS VlZNOEhGICJUQVJHRVRfWlZGSCIpIChSVlZNNEhGICJUQVJHRVRfWlZGSCIpIChSVlZNMkhGICJU QVJHRVRfWlZGSCIpCgoKCgoKCgoKCi3CoCAoUlZWTTFIRiAiVEFSR0VUX1pWRkgiKSAoUlZWTUYy SEYgIlRBUkdFVF9aVkZIIikKCgoKCgoKCgoKLcKgIChSVlZNRjRIRiAiVEFSR0VUX1pWRkggJiYg VEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgKFJWVk0xSEYgIlRBUkdFVF9aVkZI IikgKFJWVk1GMkhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfWlZGSCIpCgoKCgoK CgoKCivCoCAoUlZWTUY0SEYgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9aVkZIICYm IFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFJWVk04U0YgIlRBUkdFVF9WRUNU T1JfRUxFTl9GUF8zMiIpIChSVlZNNFNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZW TTJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikKCgoKCgoKCgoKLcKgIChSVlZNMVNGICJU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZWTUYyU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9G UF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCAoUlZWTTFTRiAiVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk1GMlNGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAm JiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoK CgoKCgrCoCAoUlZWTThERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikgKFJWVk00REYgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF82NCIpCgoKCgoKCgoKCsKgIChSVlZNMkRGICJUQVJHRVRfVkVD VE9SX0VMRU5fRlBfNjQiKSAoUlZWTTFERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikKCgoK CgoKCgoKQEAgLTE0MCwxMSArMTQwLDExIEBAIChkZWZpbmVfbW9kZV9pdGVyYXRvciBWRiBbCgoK CgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWRl9aVkZITUlOIFsKCgoKCgoKCgoKwqAgKFJW Vk04SEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiIpIChSVlZNNEhGICJUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMTYiKSAoUlZWTTJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikKCgoKCgoK CgoKLcKgIChSVlZNMUhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKSAoUlZWTUYySEYgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF8xNiIpCgoKCgoKCgoKCi3CoCAoUlZWTUY0SEYgIlRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCAo UlZWTTFIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikgKFJWVk1GMkhGICIhVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKQoKCgoKCgoKCgorwqAgKFJW Vk1GNEhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYg JiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrCoCAoUlZWTThTRiAiVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzMyIikgKFJWVk00U0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpIChS VlZNMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoKCgotwqAgKFJWVk0xU0Yg IlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpIChSVlZNRjJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNMVNGICJU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZWTUYyU0YgIiFUQVJHRVRfWFRIRUFEVkVDVE9S ICYmIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoK CgoKCgoKCsKgIChSVlZNOERGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQiKSAoUlZWTTRERiAi VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikKCgoKCgoKCgoKwqAgKFJWVk0yREYgIlRBUkdFVF9W RUNUT1JfRUxFTl9GUF82NCIpIChSVlZNMURGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQiKQoK CgoKCgoKCgpAQCAtMjcxLDE2ICsyNzEsMTYgQEAgKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZMU0Zf WlZGSE1JTiBbCgoKCgoKCgoKCl0pCgoKCgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWRUVX RVhUMiBbCgoKCgoKCgoKCi3CoCBSVlZNOEhJIFJWVk00SEkgUlZWTTJISSBSVlZNMUhJIFJWVk1G MkhJIChSVlZNRjRISSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTThI SSBSVlZNNEhJIFJWVk0ySEkgUlZWTTFISSAoUlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9S IikgKFJWVk1GNEhJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAz MiIpCgoKCgoKCgoKCsKgIChSVlZNOEhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKSAoUlZW TTRIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikgKFJWVk0ySEYgIlRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8xNiIpCgoKCgoKCgoKCi3CoCAoUlZWTTFIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2IikgKFJWVk1GMkhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKQoKCgoKCgoKCgotwqAg KFJWVk1GNEhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4g MzIiKQoKCgoKCgoKCgorwqAgKFJWVk0xSEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiIpIChS VlZNRjJIRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2 IikKCgoKCgoKCgoKK8KgIChSVlZNRjRIRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKLcKg IFJWVk04U0kgUlZWTTRTSSBSVlZNMlNJIFJWVk0xU0kgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZM RU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNOFNJIFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJIChS VlZNRjJTSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoK CgoKCgoKCgrCoCAoUlZWTThTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk00U0Yg IlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpIChSVlZNMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMzIiKQoKCgoKCgoKCgotwqAgKFJWVk0xU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIp IChSVlZNRjJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+ IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNMVNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAo UlZWTUYyU0YgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCsKgIChSVlZNOERJICJUQVJHRVRf VkVDVE9SX0VMRU5fNjQiKSAoUlZWTTRESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikKCgoKCgoK CgoKwqAgKFJWVk0yREkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCIpIChSVlZNMURJICJUQVJHRVRf VkVDVE9SX0VMRU5fNjQiKQoKCgoKCgoKCgpAQCAtMjkwLDEwICsyOTAsMTAgQEAgKGRlZmluZV9t b2RlX2l0ZXJhdG9yIFZFRVdFWFQyIFsKCgoKCgoKCgoKXSkKCgoKCgoKCgoKKGRlZmluZV9tb2Rl X2l0ZXJhdG9yIFZFRVdFWFQ0IFsKCgoKCgoKCgoKLcKgIFJWVk04U0kgUlZWTTRTSSBSVlZNMlNJ IFJWVk0xU0kgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBS VlZNOFNJIFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAiIVRBUkdFVF9YVEhFQURW RUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrCoCAoUlZWTThTRiAiVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk00U0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiIpIChSVlZNMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoKCgotwqAgKFJW Vk0xU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpIChSVlZNRjJTRiAiVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZN MVNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZWTUYyU0YgIiFUQVJHRVRfWFRIRUFE VkVDVE9SICYmIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAz MiIpCgoKCgoKCgoKCsKgIChSVlZNOERJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKSAoUlZWTTRE SSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikKCgoKCgoKCgoKwqAgKFJWVk0yREkgIlRBUkdFVF9W RUNUT1JfRUxFTl82NCIpIChSVlZNMURJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKQoKCgoKCgoK CgpAQCAtMzExLDU5ICszMTEsNTkgQEAgKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZFRVdFWFQ4IFsK CgoKCgoKCgoKXSkKCgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZFRVdUUlVOQzIgWwoK CgoKCgoKCgotwqAgUlZWTTRRSSBSVlZNMlFJIFJWVk0xUUkgUlZWTUYyUUkgUlZWTUY0UUkgKFJW Vk1GOFFJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNNFFJIFJWVk0y UUkgUlZWTTFRSSAoUlZWTUYyUUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GNFFJICIh VEFSR0VUX1hUSEVBRFZFQ1RPUiIpIChSVlZNRjhRSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYg VEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgotwqAgUlZWTTRISSBSVlZNMkhJIFJWVk0x SEkgUlZWTUYySEkgKFJWVk1GNEhJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivC oCBSVlZNNEhJIFJWVk0ySEkgUlZWTTFISSAoUlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9S IikgKFJWVk1GNEhJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAz MiIpCgoKCgoKCgoKCsKgIChSVlZNNEhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKSAoUlZW TTJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikKCgoKCgoKCgoKLcKgIChSVlZNMUhGICJU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKSAoUlZWTUYySEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9G UF8xNiIpCgoKCgoKCgoKCi3CoCAoUlZWTUY0SEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAm JiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCAoUlZWTTFIRiAiVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzE2IikgKFJWVk1GMkhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMTYiKQoKCgoKCgoKCgorwqAgKFJWVk1GNEhGICIhVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVO ID4gMzIiKQoKCgoKCgoKCgrCoCAoUlZWTTRTSSAiVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKwqAg KFJWVk0yU0kgIlRBUkdFVF82NEJJVCIpCgoKCgoKCgoKCsKgIChSVlZNMVNJICJUQVJHRVRfNjRC SVQiKQoKCgoKCgoKCgotwqAgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiBUQVJH RVRfNjRCSVQiKQoKCgoKCgoKCgorwqAgKFJWVk1GMlNJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAm JiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiBUQVJHRVRfNjRCSVQiKQoKCgoKCgoKCgrCoCAoUlZW TTRTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF82NEJJVCIpCgoKCgoKCgoK CsKgIChSVlZNMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUXzY0QklUIikK CgoKCgoKCgoKwqAgKFJWVk0xU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRf NjRCSVQiKQoKCgoKCgoKCgotwqAgKFJWVk1GMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIg JiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKK8KgIChS VlZNRjJTRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMy ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmIFRBUkdFVF82NEJJVCIpCgoKCgoKCgoKCl0pCgoK CgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWRUVXVFJVTkM0IFsKCgoKCgoKCgoKLcKgIFJW Vk0yUUkgUlZWTTFRSSBSVlZNRjJRSSBSVlZNRjRRSSAoUlZWTUY4UUkgIlRBUkdFVF9NSU5fVkxF TiA+IDMyIikKCgoKCgoKCgoKK8KgIFJWVk0yUUkgUlZWTTFRSSAoUlZWTUYyUUkgIiFUQVJHRVRf WFRIRUFEVkVDVE9SIikgKFJWVk1GNFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpIChSVlZNRjhR SSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoK CgrCoCAoUlZWTTJISSAiVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKwqAgKFJWVk0xSEkgIlRBUkdF VF82NEJJVCIpCgoKCgoKCgoKCi3CoCAoUlZWTUYySEkgIlRBUkdFVF82NEJJVCIpCgoKCgoKCgoK Ci3CoCAoUlZWTUY0SEkgIlRBUkdFVF9NSU5fVkxFTiA+IDMyICYmIFRBUkdFVF82NEJJVCIpCgoK CgoKCgoKCivCoCAoUlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF82NEJJ VCIpCgoKCgoKCgoKCivCoCAoUlZWTUY0SEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdF VF9NSU5fVkxFTiA+IDMyICYmIFRBUkdFVF82NEJJVCIpCgoKCgoKCgoKCsKgIChSVlZNMkhGICJU QVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKwqAgKFJW Vk0xSEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfNjRCSVQiKQoKCgoKCgoK CgotwqAgKFJWVk1GMkhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUXzY0QklU IikKCgoKCgoKCgoKLcKgIChSVlZNRjRIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyICYmIFRBUkdFVF82NEJJVCIpCgoKCgoKCgoKCivCoCAoUlZWTUYy SEYgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBU QVJHRVRfNjRCSVQiKQoKCgoKCgoKCgorwqAgKFJWVk1GNEhGICIhVEFSR0VUX1hUSEVBRFZFQ1RP UiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYg VEFSR0VUXzY0QklUIikKCgoKCgoKCgoKXSkKCgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJhdG9y IFZFRVdUUlVOQzggWwoKCgoKCgoKCgrCoCAoUlZWTTFRSSAiVEFSR0VUXzY0QklUIikKCgoKCgoK CgoKLcKgIChSVlZNRjJRSSAiVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKLcKgIChSVlZNRjRRSSAi VEFSR0VUXzY0QklUIikKCgoKCgoKCgoKLcKgIChSVlZNRjhRSSAiVEFSR0VUX01JTl9WTEVOID4g MzIgJiYgVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKK8KgIChSVlZNRjJRSSAiIVRBUkdFVF9YVEhF QURWRUNUT1IgJiYgVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKK8KgIChSVlZNRjRRSSAiIVRBUkdF VF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUXzY0QklUIikKCgoKCgoKCgoKK8KgIChSVlZNRjhRSSAi IVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgVEFSR0VUXzY0 QklUIikKCgoKCgoKCgoKXSkKCgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZFSTE2IFsK CgoKCgoKCgoKLcKgIFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIFJWVk1GMlFJIFJWVk1GNFFJIChS VlZNRjhRSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTTRRSSBSVlZN MlFJIFJWVk0xUUkgKFJWVk1GMlFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpIChSVlZNRjRRSSAi IVRBUkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY4UUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYm IFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKLcKgIFJWVk04SEkgUlZWTTRISSBSVlZN MkhJIFJWVk0xSEkgUlZWTUYySEkgKFJWVk1GNEhJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoK CgoKCgoKCivCoCBSVlZNOEhJIFJWVk00SEkgUlZWTTJISSBSVlZNMUhJIChSVlZNRjJISSAiIVRB UkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY0SEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFJWVk04SEYgIlRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8xNiIpIChSVlZNNEhGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYiKSAoUlZWTTJI RiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikKCgoKCgoKCgoKLcKgIChSVlZNMUhGICJUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMTYiKSAoUlZWTUYySEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8x NiIpCgoKCgoKCgoKCi3CoCAoUlZWTUY0SEYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCAoUlZWTTFIRiAiVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzE2IikgKFJWVk1GMkhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMTYiKQoKCgoKCgoKCgorwqAgKFJWVk1GNEhGICIhVEFSR0VUX1hUSEVB RFZFQ1RPUiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4g MzIiKQoKCgoKCgoKCgotwqAgUlZWTThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYy U0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIFJWVk04U0kgUlZWTTRTSSBS VlZNMlNJIFJWVk0xU0kgKFJWVk1GMlNJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRf TUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCsKgIChSVlZNOFNGICJUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMzIiKSAoUlZWTTRTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk0yU0YgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpCgoKCgoKCgoKCi3CoCAoUlZWTTFTRiAiVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzMyIikgKFJWVk1GMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYg VEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgKFJWVk0xU0YgIlRBUkdFVF9WRUNU T1JfRUxFTl9GUF8zMiIpIChSVlZNRjJTRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAg KFJWVk04REkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCIpIChSVlZNNERJICJUQVJHRVRfVkVDVE9S X0VMRU5fNjQiKQoKCgoKCgoKCgrCoCAoUlZWTTJESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0Iikg KFJWVk0xREkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCIpCgoKCgoKCgoKCkBAIC00NTIsMTEgKzQ1 MiwxMSBAQCAoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkVJMTYgWwoKCgoKCgoKCgpdKQoKCgoKCgoK CgooZGVmaW5lX21vZGVfaXRlcmF0b3IgVkZVTExJIFsKCgoKCgoKCgoKLcKgIFJWVk04UUkgUlZW TTRRSSBSVlZNMlFJIFJWVk0xUUkgUlZWTUYyUUkgUlZWTUY0UUkgKFJWVk1GOFFJICJUQVJHRVRf TUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNOFFJIFJWVk00UUkgUlZWTTJRSSBSVlZN MVFJIChSVlZNRjJRSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY0UUkgIiFUQVJHRVRf WFRIRUFEVkVDVE9SIikgKFJWVk1GOFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRf TUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZNOEhJIFJWVk00SEkgUlZWTTJISSBSVlZN MUhJIFJWVk1GMkhJIChSVlZNRjRISSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgor wqAgUlZWTThISSBSVlZNNEhJIFJWVk0ySEkgUlZWTTFISSAoUlZWTUYySEkgIiFUQVJHRVRfWFRI RUFEVkVDVE9SIikgKFJWVk1GNEhJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlO X1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZNOFNJIFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJ IChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTThTSSBS VlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYyU0kgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYm IFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFJWVk04REkgIlRBUkdFVF9GVUxM X1YiKSAoUlZWTTRESSAiVEFSR0VUX0ZVTExfViIpIChSVlZNMkRJICJUQVJHRVRfRlVMTF9WIikg KFJWVk0xREkgIlRBUkdFVF9GVUxMX1YiKQoKCgoKCgoKCgpAQCAtNTA5LDE3ICs1MDksMTcgQEAg KGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZGVUxMSSBbCgoKCgoKCgoKCl0pCgoKCgoKCgoKCihkZWZp bmVfbW9kZV9pdGVyYXRvciBWSV9RSCBbCgoKCgoKCgoKCi3CoCBSVlZNOFFJIFJWVk00UUkgUlZW TTJRSSBSVlZNMVFJIFJWVk1GMlFJIFJWVk1GNFFJIChSVlZNRjhRSSAiVEFSR0VUX01JTl9WTEVO ID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTThRSSBSVlZNNFFJIFJWVk0yUUkgUlZWTTFRSSAoUlZW TUYyUUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GNFFJICIhVEFSR0VUX1hUSEVBRFZF Q1RPUiIpIChSVlZNRjhRSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVO ID4gMzIiKQoKCgoKCgoKCgotwqAgUlZWTThISSBSVlZNNEhJIFJWVk0ySEkgUlZWTTFISSBSVlZN RjJISSAoUlZWTUY0SEkgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIFJWVk04 SEkgUlZWTTRISSBSVlZNMkhJIFJWVk0xSEkgKFJWVk1GMkhJICIhVEFSR0VUX1hUSEVBRFZFQ1RP UiIpIChSVlZNRjRISSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4g MzIiKQoKCgoKCgoKCgpdKQoKCgoKCgoKCgooZGVmaW5lX21vZGVfaXRlcmF0b3IgVklfUUhTIFsK CgoKCgoKCgoKLcKgIFJWVk04UUkgUlZWTTRRSSBSVlZNMlFJIFJWVk0xUUkgUlZWTUYyUUkgUlZW TUY0UUkgKFJWVk1GOFFJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZN OFFJIFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIChSVlZNRjJRSSAiIVRBUkdFVF9YVEhFQURWRUNU T1IiKSAoUlZWTUY0UUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GOFFJICIhVEFSR0VU X1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZN OEhJIFJWVk00SEkgUlZWTTJISSBSVlZNMUhJIFJWVk1GMkhJIChSVlZNRjRISSAiVEFSR0VUX01J Tl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTThISSBSVlZNNEhJIFJWVk0ySEkgUlZWTTFI SSAoUlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GNEhJICIhVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZNOFNJ IFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIi KQoKCgoKCgoKCgorwqAgUlZWTThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYyU0kg IiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoK wqAgKFYxUUkgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRfcCAoVjFRSW1vZGUpIikKCgoK CgoKCgoKwqAgKFYyUUkgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRfcCAoVjJRSW1vZGUp IikKCgoKCgoKCgoKQEAgLTU2MCwxMSArNTYwLDExIEBAIChkZWZpbmVfbW9kZV9pdGVyYXRvciBW SV9RSFMgWwoKCgoKCgoKCgpdKQoKCgoKCgoKCgooZGVmaW5lX21vZGVfaXRlcmF0b3IgVklfUUhT X05PX004IFsKCgoKCgoKCgoKLcKgIFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIFJWVk1GMlFJIFJW Vk1GNFFJIChSVlZNRjhRSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZW TTRRSSBSVlZNMlFJIFJWVk0xUUkgKFJWVk1GMlFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpIChS VlZNRjRRSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY4UUkgIiFUQVJHRVRfWFRIRUFE VkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKLcKgIFJWVk00SEkgUlZW TTJISSBSVlZNMUhJIFJWVk1GMkhJIChSVlZNRjRISSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoK CgoKCgoKCgorwqAgUlZWTTRISSBSVlZNMkhJIFJWVk0xSEkgKFJWVk1GMkhJICIhVEFSR0VUX1hU SEVBRFZFQ1RPUiIpIChSVlZNRjRISSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01J Tl9WTEVOID4gMzIiKQoKCgoKCgoKCgotwqAgUlZWTTRTSSBSVlZNMlNJIFJWVk0xU0kgKFJWVk1G MlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNNFNJIFJWVk0yU0kg UlZWTTFTSSAoUlZWTUYyU0kgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxF TiA+IDMyIikKCgoKCgoKCgoKwqAgKFYxUUkgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRf cCAoVjFRSW1vZGUpIikKCgoKCgoKCgoKwqAgKFYyUUkgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVf dmFsaWRfcCAoVjJRSW1vZGUpIikKCgoKCgoKCgoKQEAgLTYwMywxMSArNjAzLDExIEBAIChkZWZp bmVfbW9kZV9pdGVyYXRvciBWSV9RSFNfTk9fTTggWwoKCgoKCgoKCgooZGVmaW5lX21vZGVfaXRl cmF0b3IgVkZfSFMgWwoKCgoKCgoKCgrCoCAoUlZWTThIRiAiVEFSR0VUX1pWRkgiKSAoUlZWTTRI RiAiVEFSR0VUX1pWRkgiKSAoUlZWTTJIRiAiVEFSR0VUX1pWRkgiKQoKCgoKCgoKCgotwqAgKFJW Vk0xSEYgIlRBUkdFVF9aVkZIIikgKFJWVk1GMkhGICJUQVJHRVRfWlZGSCIpCgoKCgoKCgoKCi3C oCAoUlZWTUY0SEYgIlRBUkdFVF9aVkZIICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoK CgoKK8KgIChSVlZNMUhGICJUQVJHRVRfWlZGSCIpIChSVlZNRjJIRiAiIVRBUkdFVF9YVEhFQURW RUNUT1IgJiYgVEFSR0VUX1pWRkgiKQoKCgoKCgoKCgorwqAgKFJWVk1GNEhGICIhVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiBUQVJHRVRfWlZGSCAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoK CgoKCsKgIChSVlZNOFNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZWTTRTRiAiVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk0yU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiIpCgoKCgoKCgoKCi3CoCAoUlZWTTFTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJW Vk1GMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIi KQoKCgoKCgoKCgorwqAgKFJWVk0xU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpIChSVlZN RjJTRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYm IFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFYxSEYgInJpc2N2X3ZlY3Rvcjo6 dmxzX21vZGVfdmFsaWRfcCAoVjFIRm1vZGUpICYmIFRBUkdFVF9aVkZIIikKCgoKCgoKCgoKwqAg KFYySEYgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRfcCAoVjJIRm1vZGUpICYmIFRBUkdF VF9aVkZIIikKCgoKCgoKCgoKQEAgLTYzOCwxMiArNjM4LDEyIEBAIChkZWZpbmVfbW9kZV9pdGVy YXRvciBWRl9IU19OT19NOCBbCgoKCgoKCgoKCsKgIChSVlZNNEhGICJUQVJHRVRfWlZGSCIpCgoK CgoKCgoKCsKgIChSVlZNMkhGICJUQVJHRVRfWlZGSCIpCgoKCgoKCgoKCsKgIChSVlZNMUhGICJU QVJHRVRfWlZGSCIpCgoKCgoKCgoKCi3CoCAoUlZWTUYySEYgIlRBUkdFVF9aVkZIIikKCgoKCgoK CgoKLcKgIChSVlZNRjRIRiAiVEFSR0VUX1pWRkggJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoK CgoKCgoKCgorwqAgKFJWVk1GMkhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfWlZG SCIpCgoKCgoKCgoKCivCoCAoUlZWTUY0SEYgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdF VF9aVkZIICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFJWVk00U0YgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpCgoKCgoKCgoKCsKgIChSVlZNMlNGICJUQVJHRVRfVkVD VE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoKCgrCoCAoUlZWTTFTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyIikKCgoKCgoKCgoKLcKgIChSVlZNRjJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMy ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJTRiAiIVRBUkdF VF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5f VkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFYxSEYgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFs aWRfcCAoVjFIRm1vZGUpICYmIFRBUkdFVF9aVkZIIikKCgoKCgoKCgoKwqAgKFYySEYgInJpc2N2 X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRfcCAoVjJIRm1vZGUpICYmIFRBUkdFVF9aVkZIIikKCgoK CgoKCgoKQEAgLTY3NCwxMSArNjc0LDExIEBAIChkZWZpbmVfbW9kZV9pdGVyYXRvciBWRl9IU19N OCBbCgoKCgoKCgoKCl0pCgoKCgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWX1ZMU0lfUUhT IFsKCgoKCgoKCgoKLcKgIFJWVk04UUkgUlZWTTRRSSBSVlZNMlFJIFJWVk0xUUkgUlZWTUYyUUkg UlZWTUY0UUkgKFJWVk1GOFFJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBS VlZNOFFJIFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIChSVlZNRjJRSSAiIVRBUkdFVF9YVEhFQURW RUNUT1IiKSAoUlZWTUY0UUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GOFFJICIhVEFS R0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBS VlZNOEhJIFJWVk00SEkgUlZWTTJISSBSVlZNMUhJIFJWVk1GMkhJIChSVlZNRjRISSAiVEFSR0VU X01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTThISSBSVlZNNEhJIFJWVk0ySEkgUlZW TTFISSAoUlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GNEhJICIhVEFSR0VU X1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZN OFNJIFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4g MzIiKQoKCgoKCgoKCgorwqAgUlZWTThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYy U0kgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoK CgoKwqAgKFYxUUkgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRfcCAoVjFRSW1vZGUpIikK CgoKCgoKCgoKwqAgKFYyUUkgInJpc2N2X3ZlY3Rvcjo6dmxzX21vZGVfdmFsaWRfcCAoVjJRSW1v ZGUpIikKCgoKCgoKCgoKQEAgLTc1NiwyNyArNzU2LDI3IEBAIChkZWZpbmVfbW9kZV9pdGVyYXRv ciBWRlVMTElfRCBbCgoKCgoKCgoKCjs7IEUuZy4gd2hlbiBpbmRleCBtb2RlID0gUlZWTThRSW1k ZSBhbmQgUG1vZGUgPSBTSW1vZGUsIGlmIGl0IGlzIG5vdCB6ZXJvX2V4dGVuZCBvcgoKCgoKCgoK Cgo7OyBzY2FsYXIgIT0gMSwgc3VjaCBnYXRoZXIvc2NhdHRlciBpcyBub3QgYWxsb3dlZCBzaW5j ZSB3ZSBkb24ndCBoYXZlIFJWVk0zMlNJbW9kZS4KCgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJh dG9yIFJBVElPNjQgWwoKCgoKCgoKCgotwqAgKFJWVk1GOFFJICJUQVJHRVRfTUlOX1ZMRU4gPiAz MiIpCgoKCgoKCgoKCi3CoCAoUlZWTUY0SEkgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoK CgoKLcKgIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgorwqAgKFJW Vk1GOFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoK CgoKCgoKCivCoCAoUlZWTUY0SEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9NSU5f VkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJTSSAiIVRBUkdFVF9YVEhFQURWRUNUT1Ig JiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrCoCAoUlZWTTFESSAiVEFSR0VUX1ZF Q1RPUl9FTEVOXzY0IikKCgoKCgoKCgoKLcKgIChSVlZNRjRIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKLcKgIChSVlZNRjJTRiAi VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoK CgoKK8KgIChSVlZNRjRIRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJT RiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAgKFJWVk0xREYgIlRBUkdFVF9WRUNUT1Jf RUxFTl9GUF82NCIpCgoKCgoKCgoKCl0pCgoKCgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBS QVRJTzMyIFsKCgoKCgoKCgoKLcKgIFJWVk1GNFFJCgoKCgoKCgoKCi3CoCBSVlZNRjJISQoKCgoK CgoKCgorwqAgKFJWVk1GNFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpCgoKCgoKCgoKCivCoCAo UlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikKCgoKCgoKCgoKwqAgUlZWTTFTSQoKCgoK CgoKCgrCoCAoUlZWTTJESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikKCgoKCgoKCgoKLcKgIChS VlZNRjJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikKCgoKCgoKCgoKK8KgIChSVlZNRjJI RiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikKCgoK CgoKCgoKwqAgKFJWVk0xU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIpCgoKCgoKCgoKCsKg IChSVlZNMkRGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQiKQoKCgoKCgoKCgpdKQoKCgoKCgoK CgooZGVmaW5lX21vZGVfaXRlcmF0b3IgUkFUSU8xNiBbCgoKCgoKCgoKCi3CoCBSVlZNRjJRSQoK CgoKCgoKCgorwqAgKFJWVk1GMlFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpCgoKCgoKCgoKCsKg IFJWVk0xSEkKCgoKCgoKCgoKwqAgUlZWTTJTSQoKCgoKCgoKCgrCoCAoUlZWTTRESSAiVEFSR0VU X1ZFQ1RPUl9FTEVOXzY0IikKCgoKCgoKCgoKQEAgLTgxNCwyMSArODE0LDIxIEBAIChkZWZpbmVf bW9kZV9pdGVyYXRvciBSQVRJTzEgWwoKCgoKCgoKCgpdKQoKCgoKCgoKCgooZGVmaW5lX21vZGVf aXRlcmF0b3IgUkFUSU82NEkgWwoKCgoKCgoKCgotwqAgKFJWVk1GOFFJICJUQVJHRVRfTUlOX1ZM RU4gPiAzMiIpCgoKCgoKCgoKCi3CoCAoUlZWTUY0SEkgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikK CgoKCgoKCgoKLcKgIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgor wqAgKFJWVk1GOFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAz MiIpCgoKCgoKCgoKCivCoCAoUlZWTUY0SEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdF VF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJTSSAiIVRBUkdFVF9YVEhFQURW RUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrCoCAoUlZWTTFESSAiVEFS R0VUX1ZFQ1RPUl9FTEVOXzY0ICYmIFRBUkdFVF82NEJJVCIpCgoKCgoKCgoKCl0pCgoKCgoKCgoK CihkZWZpbmVfbW9kZV9pdGVyYXRvciBSQVRJTzMySSBbCgoKCgoKCgoKCi3CoCBSVlZNRjRRSQoK CgoKCgoKCgotwqAgUlZWTUYySEkKCgoKCgoKCgoKK8KgIChSVlZNRjRRSSAiIVRBUkdFVF9YVEhF QURWRUNUT1IiKQoKCgoKCgoKCgorwqAgKFJWVk1GMkhJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIp CgoKCgoKCgoKCsKgIFJWVk0xU0kKCgoKCgoKCgoKwqAgKFJWVk0yREkgIlRBUkdFVF9WRUNUT1Jf RUxFTl82NCAmJiBUQVJHRVRfNjRCSVQiKQoKCgoKCgoKCgpdKQoKCgoKCgoKCgooZGVmaW5lX21v ZGVfaXRlcmF0b3IgUkFUSU8xNkkgWwoKCgoKCgoKCgotwqAgUlZWTUYyUUkKCgoKCgoKCgoKK8Kg IChSVlZNRjJRSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IiKQoKCgoKCgoKCgrCoCBSVlZNMUhJCgoK CgoKCgoKCsKgIFJWVk0yU0kKCgoKCgoKCgoKwqAgKFJWVk00REkgIlRBUkdFVF9WRUNUT1JfRUxF Tl82NCAmJiBUQVJHRVRfNjRCSVQiKQoKCgoKCgoKCgpAQCAtODczLDIxICs4NzMsMjEgQEAgKGRl ZmluZV9tb2RlX2l0ZXJhdG9yIFZfV0hPTEUgWwoKCgoKCgoKCgpdKQoKCgoKCgoKCgooZGVmaW5l X21vZGVfaXRlcmF0b3IgVl9GUkFDVCBbCgoKCgoKCgoKCi3CoCBSVlZNRjJRSSBSVlZNRjRRSSAo UlZWTUY4UUkgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJRSSAi IVRBUkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY0UUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikg KFJWVk1GOFFJICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIp CgoKCgoKCgoKCi3CoCBSVlZNRjJISSAoUlZWTUY0SEkgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikK CgoKCgoKCgoKK8KgIChSVlZNRjJISSAiIVRBUkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY0SEkg IiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoK LcKgIChSVlZNRjJIRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2IikgKFJWVk1GNEhGICJUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgor wqAgKFJWVk1GMkhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMTYiKSAoUlZWTUY0SEYgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCAoUlZWTUYy U0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJTSSAiIVRBUkdF VF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgotwqAgKFJW Vk1GMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIi KQoKCgoKCgoKCgorwqAgKFJWVk1GMlNGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgpdKQoK CgoKCgoKCgooZGVmaW5lX21vZGVfaXRlcmF0b3IgVldFWFRJIFsKCgoKCgoKCgoKLcKgIFJWVk04 SEkgUlZWTTRISSBSVlZNMkhJIFJWVk0xSEkgUlZWTUYySEkgKFJWVk1GNEhJICJUQVJHRVRfTUlO X1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNOEhJIFJWVk00SEkgUlZWTTJISSBSVlZNMUhJ IChSVlZNRjJISSAiIVRBUkdFVF9YVEhFQURWRUNUT1IiKSAoUlZWTUY0SEkgIiFUQVJHRVRfWFRI RUFEVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKLcKgIFJWVk04U0kg UlZWTTRTSSBSVlZNMlNJIFJWVk0xU0kgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIp CgoKCgoKCgoKCivCoCBSVlZNOFNJIFJWVk00U0kgUlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAi IVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrC oCAoUlZWTThESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikgKFJWVk00REkgIlRBUkdFVF9WRUNU T1JfRUxFTl82NCIpCgoKCgoKCgoKCsKgIChSVlZNMkRJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQi KSAoUlZWTTFESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IikKCgoKCgoKCgoKQEAgLTkzMyw3ICs5 MzMsNyBAQCAoZGVmaW5lX21vZGVfaXRlcmF0b3IgVldFWFRGX1pWRkhNSU4gWwoKCgoKCgoKCgrC oCAoUlZWTTRTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8zMiIpCgoKCgoKCgoKCsKgIChSVlZNMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYg JiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikKCgoKCgoKCgoKwqAgKFJWVk0xU0YgIlRBUkdF VF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoK CgotwqAgKFJWVk1GMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZN RjJTRiAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYm IFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoK CgoKCsKgIChSVlZNOERGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQiKSAoUlZWTTRERiAiVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikKCgoKCgoKCgoKwqAgKFJWVk0yREYgIlRBUkdFVF9WRUNU T1JfRUxFTl9GUF82NCIpIChSVlZNMURGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQiKQoKCgoK CgoKCgpAQCAtOTY2LDcgKzk2Niw3IEBAIChkZWZpbmVfbW9kZV9pdGVyYXRvciBWV0VYVEYgWwoK CgoKCgoKCgrCoCAoUlZWTTRTRiAiVEFSR0VUX1pWRkggJiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzMyIikKCgoKCgoKCgoKwqAgKFJWVk0yU0YgIlRBUkdFVF9aVkZIICYmIFRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8zMiIpCgoKCgoKCgoKCsKgIChSVlZNMVNGICJUQVJHRVRfWlZGSCAmJiBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoKCgotwqAgKFJWVk1GMlNGICJUQVJHRVRfWlZGSCAm JiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoK CgoKCgorwqAgKFJWVk1GMlNGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfWlZGSCAm JiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoK CgoKCgrCoCAoUlZWTThERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikgKFJWVk00REYgIlRB UkdFVF9WRUNUT1JfRUxFTl9GUF82NCIpCgoKCgoKCgoKCsKgIChSVlZNMkRGICJUQVJHRVRfVkVD VE9SX0VMRU5fRlBfNjQiKSAoUlZWTTFERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikKCgoK CgoKCgoKQEAgLTk5Niw3ICs5OTYsNyBAQCAoZGVmaW5lX21vZGVfaXRlcmF0b3IgVldFWFRGIFsK CgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZXQ09OVkVSVEkgWwoKCgoKCgoKCgrCoCAo UlZWTThTSSAiVEFSR0VUX1pWRkgiKSAoUlZWTTRTSSAiVEFSR0VUX1pWRkgiKSAoUlZWTTJTSSAi VEFSR0VUX1pWRkgiKSAoUlZWTTFTSSAiVEFSR0VUX1pWRkgiKQoKCgoKCgoKCgotwqAgKFJWVk1G MlNJICJUQVJHRVRfWlZGSCIpCgoKCgoKCgoKCivCoCAoUlZWTUYyU0kgIiFUQVJHRVRfWFRIRUFE VkVDVE9SICYmIFRBUkdFVF9aVkZIIikKCgoKCgoKCgoKwqAgKFJWVk04REkgIlRBUkdFVF9WRUNU T1JfRUxFTl82NCAmJiBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoKCgrCoCAoUlZW TTRESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0ICYmIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiIp CgoKCgoKCgoKCkBAIC0xMDQ1LDcgKzEwNDUsNyBAQCAoZGVmaW5lX21vZGVfaXRlcmF0b3IgVldX Q09OVkVSVEkgWwoKCgoKCgoKCgpdKQoKCgoKCgoKCgooZGVmaW5lX21vZGVfaXRlcmF0b3IgVlFF WFRJIFsKCgoKCgoKCgoKLcKgIFJWVk04U0kgUlZWTTRTSSBSVlZNMlNJIFJWVk0xU0kgKFJWVk1G MlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNOFNJIFJWVk00U0kg UlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAiIVRBUkdFVF9YVEhFQURWRUNUT1IgJiYgVEFSR0VU X01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrCoCAoUlZWTThESSAiVEFSR0VUX1ZFQ1RPUl9FTEVO XzY0IikgKFJWVk00REkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCIpCgoKCgoKCgoKCsKgIChSVlZN MkRJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKSAoUlZWTTFESSAiVEFSR0VUX1ZFQ1RPUl9FTEVO XzY0IikKCgoKCgoKCgoKQEAgLTE0NTYsMTEgKzE0NTYsMTEgQEAgKGRlZmluZV9tb2RlX2l0ZXJh dG9yIFZCIFsKCgoKCgoKCgoKOzsgVklOREVYRUQgW1ZJOCBWSTE2IFZJMzIgKFZJNjQgIlRBUkdF VF82NEJJVCIpXS4KCgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZJTkRFWEVEIFsKCgoK CgoKCgoKLcKgIFJWVk04UUkgUlZWTTRRSSBSVlZNMlFJIFJWVk0xUUkgUlZWTUYyUUkgUlZWTUY0 UUkgKFJWVk1GOFFJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCBSVlZNOFFJ IFJWVk00UUkgUlZWTTJRSSBSVlZNMVFJIChSVlZNRjJRSSAiIVRBUkdFVF9YVEhFQURWRUNUT1Ii KSAoUlZWTUY0UUkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GOFFJICIhVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZNOEhJ IFJWVk00SEkgUlZWTTJISSBSVlZNMUhJIFJWVk1GMkhJIChSVlZNRjRISSAiVEFSR0VUX01JTl9W TEVOID4gMzIiKQoKCgoKCgoKCgorwqAgUlZWTThISSBSVlZNNEhJIFJWVk0ySEkgUlZWTTFISSAo UlZWTUYySEkgIiFUQVJHRVRfWFRIRUFEVkVDVE9SIikgKFJWVk1GNEhJICIhVEFSR0VUX1hUSEVB RFZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCi3CoCBSVlZNOFNJIFJW Vk00U0kgUlZWTTJTSSBSVlZNMVNJIChSVlZNRjJTSSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQoK CgoKCgoKCgorwqAgUlZWTThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAoUlZWTUYyU0kgIiFU QVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKwqAg KFJWVk04REkgIlRBUkdFVF9WRUNUT1JfRUxFTl82NCAmJiBUQVJHRVRfNjRCSVQiKQoKCgoKCgoK CgrCoCAoUlZWTTRESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0ICYmIFRBUkdFVF82NEJJVCIpCgoK CgoKCgoKCkBAIC0xNDY4LDEyICsxNDY4LDEyIEBAIChkZWZpbmVfbW9kZV9pdGVyYXRvciBWSU5E RVhFRCBbCgoKCgoKCgoKCsKgIChSVlZNMURJICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQgJiYgVEFS R0VUXzY0QklUIikKCgoKCgoKCgoKwqAgKFJWVk04SEYgIlRBUkdFVF9aVkZIIikgKFJWVk00SEYg IlRBUkdFVF9aVkZIIikgKFJWVk0ySEYgIlRBUkdFVF9aVkZIIikKCgoKCgoKCgoKLcKgIChSVlZN MUhGICJUQVJHRVRfWlZGSCIpIChSVlZNRjJIRiAiVEFSR0VUX1pWRkgiKQoKCgoKCgoKCgotwqAg KFJWVk1GNEhGICJUQVJHRVRfWlZGSCAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoK CivCoCAoUlZWTTFIRiAiVEFSR0VUX1pWRkgiKSAoUlZWTUYySEYgIiFUQVJHRVRfWFRIRUFEVkVD VE9SICYmIFRBUkdFVF9aVkZIIikKCgoKCgoKCgoKK8KgIChSVlZNRjRIRiAiIVRBUkdFVF9YVEhF QURWRUNUT1IgJiYgVEFSR0VUX1pWRkggJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoK CgrCoCAoUlZWTThTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikgKFJWVk00U0YgIlRBUkdF VF9WRUNUT1JfRUxFTl9GUF8zMiIpCgoKCgoKCgoKCsKgIChSVlZNMlNGICJUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMzIiKSAoUlZWTTFTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikKCgoKCgoK CgoKLcKgIChSVlZNRjJTRiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5f VkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNRjJTRiAiIVRBUkdFVF9YVEhFQURWRUNUT1Ig JiYgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoK CgoKCgoKwqAgKFJWVk04REYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCAmJiBUQVJHRVRfNjRC SVQiKQoKCgoKCgoKCgrCoCAoUlZWTTRERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0ICYmIFRB UkdFVF82NEJJVCIpCgoKCgoKCgoKCkBAIC0zMTczLDExICszMTczLDExIEBAIChkZWZpbmVfbW9k ZV9hdHRyIHZfZjJzaV9jb252ZXJ0IFsKCgoKCgoKCgoKKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZf VkxTX0ZfQ09OVkVSVF9TSSBbCgoKCgoKCgoKCsKgIChSVlZNNEhGICJUQVJHRVRfWlZGSCIpIChS VlZNMkhGICJUQVJHRVRfWlZGSCIpIChSVlZNMUhGICJUQVJHRVRfWlZGSCIpCgoKCgoKCgoKCi3C oCAoUlZWTUYySEYgIlRBUkdFVF9aVkZIIikgKFJWVk1GNEhGICJUQVJHRVRfWlZGSCAmJiBUQVJH RVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCAoUlZWTUYySEYgIiFUQVJHRVRfWFRIRUFE VkVDVE9SICYmIFRBUkdFVF9aVkZIIikgKFJWVk1GNEhGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAm JiBUQVJHRVRfWlZGSCAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCsKgIChSVlZN OFNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZWTTRTRiAiVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzMyIikKCgoKCgoKCgoKwqAgKFJWVk0yU0YgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiIpIChSVlZNMVNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKQoKCgoKCgoKCgotwqAgKFJW Vk1GMlNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIi KQoKCgoKCgoKCgorwqAgKFJWVk1GMlNGICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIiKQoKCgoKCgoKCgrCoCAo UlZWTThERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikKCgoKCgoKCgoKwqAgKFJWVk00REYg IlRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCIpCgoKCgoKCgoKCkBAIC0zMjkwLDEyICszMjkwLDEy IEBAIChkZWZpbmVfbW9kZV9hdHRyIFZfRjJESV9DT05WRVJUX0JSSURHRSBbCgoKCgoKCgoKCl0p CgoKCgoKCgoKCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWX1ZMU19GX0NPTlZFUlRfREkgWwoKCgoK CgoKCgotwqAgKFJWVk0ySEYgIlRBUkdFVF9aVkZIIikgKFJWVk0xSEYgIlRBUkdFVF9aVkZIIikg KFJWVk1GMkhGICJUQVJHRVRfWlZGSCIpCgoKCgoKCgoKCi3CoCAoUlZWTUY0SEYgIlRBUkdFVF9a VkZIICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKCgoKCgoKK8KgIChSVlZNMkhGICJUQVJH RVRfWlZGSCIpIChSVlZNMUhGICJUQVJHRVRfWlZGSCIpIChSVlZNRjJIRiAiIVRBUkdFVF9YVEhF QURWRUNUT1IgJiYgVEFSR0VUX1pWRkgiKQoKCgoKCgoKCgorwqAgKFJWVk1GNEhGICIhVEFSR0VU X1hUSEVBRFZFQ1RPUiAmJiBUQVJHRVRfWlZGSCAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoK CgoKCgoKCsKgIChSVlZNNFNGICJUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIiKSAoUlZWTTJTRiAi VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyIikKCgoKCgoKCgoKwqAgKFJWVk0xU0YgIlRBUkdFVF9W RUNUT1JfRUxFTl9GUF8zMiIpCgoKCgoKCgoKCi3CoCAoUlZWTUYyU0YgIlRBUkdFVF9WRUNUT1Jf RUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCivCoCAoUlZWTUYy U0YgIiFUQVJHRVRfWFRIRUFEVkVDVE9SICYmIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCgoKCgoKCsKgIChSVlZNOERGICJUQVJHRVRfVkVDVE9S X0VMRU5fRlBfNjQiKSAoUlZWTTRERiAiVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzY0IikKCgoKCgoK CgoKwqAgKFJWVk0yREYgIlRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCIpIChSVlZNMURGICJUQVJH RVRfVkVDVE9SX0VMRU5fRlBfNjQiKQoKCgoKCgoKCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9y aXNjdi92ZWN0b3IubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZAoKCgoKCgoKCgppbmRl eCAwMzZiMjQyNWYzMi4uOTk0MTY1MTM0MWQgMTAwNjQ0CgoKCgoKCgoKCi0tLSBhL2djYy9jb25m aWcvcmlzY3YvdmVjdG9yLm1kCgoKCgoKCgoKCisrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9y Lm1kCgoKCgoKCgoKCkBAIC04Myw3ICs4Myw3IEBAIChkZWZpbmVfYXR0ciAiaGFzX3ZsX29wIiAi ZmFsc2UsdHJ1ZSIKCgoKCgoKCgoKOzsgY2hlY2suIEhvd2V2ZXIsIHdlIG5lZWQgZGVmYXVsdCB2 YWx1ZSBvZiBTRVcgZm9yIHZzZXR2bCBpbnN0cnVjdGlvbiBzaW5jZSB0aGVyZQoKCgoKCgoKCgo7 OyBpcyBubyBmaWVsZCBmb3IgcmF0aW8gaW4gdGhlIHZzZXR2bCBpbnN0cnVjdGlvbiBlbmNvZGlu Zy4KCgoKCgoKCgoKKGRlZmluZV9hdHRyICJzZXciICIiCgoKCgoKCgoKCi3CoCAoY29uZCBbKGVx X2F0dHIgIm1vZGUiICJSVlZNRjY0QkksUlZWTUYzMkJJLFJWVk1GMTZCSSxSVlZNRjhCSSxSVlZN RjRCSSxSVlZNRjJCSSxSVlZNMUJJLFwKCgoKCgoKCgoKK8KgIChjb25kIFsoZXFfYXR0ciAibW9k ZSIgIlJWVk1GOEJJLFJWVk1GNEJJLFJWVk1GMkJJLFJWVk0xQkksXAoKCgoKCgoKCgrCoCBSVlZN OFFJLFJWVk00UUksUlZWTTJRSSxSVlZNMVFJLFJWVk1GMlFJLFJWVk1GNFFJLFJWVk1GOFFJLFwK CgoKCgoKCgoKwqAgUlZWTTF4OFFJLFJWVk1GMng4UUksUlZWTUY0eDhRSSxSVlZNRjh4OFFJLFwK CgoKCgoKCgoKwqAgUlZWTTF4N1FJLFJWVk1GMng3UUksUlZWTUY0eDdRSSxSVlZNRjh4N1FJLFwK CgoKCgoKCgoKQEAgLTk1LDYgKzk1LDE4IEBAIChkZWZpbmVfYXR0ciAic2V3IiAiIgoKCgoKCgoK CgrCoCBWMVFJLFYyUUksVjRRSSxWOFFJLFYxNlFJLFYzMlFJLFY2NFFJLFYxMjhRSSxWMjU2UUks VjUxMlFJLFYxMDI0UUksVjIwNDhRSSxWNDA5NlFJLFwKCgoKCgoKCgoKwqAgVjFCSSxWMkJJLFY0 QkksVjhCSSxWMTZCSSxWMzJCSSxWNjRCSSxWMTI4QkksVjI1NkJJLFY1MTJCSSxWMTAyNEJJLFYy MDQ4QkksVjQwOTZCSSIpCgoKCgoKCgoKCihjb25zdF9pbnQgOCkKCgoKCgoKCgoKKyAoZXFfYXR0 ciAibW9kZSIgIlJWVk1GMTZCSSIpCgoKCgoKCgoKCivCoCDCoCAoaWZfdGhlbl9lbHNlIChtYXRj aF90ZXN0ICJUQVJHRVRfWFRIRUFEVkVDVE9SIikKCgoKCgoKCgoKK8KgIMKgIMKgIChjb25zdF9p bnQgMTYpCgoKCgoKCgoKCivCoCDCoCDCoCAoY29uc3RfaW50IDgpKQoKCgoKCgoKCgorIChlcV9h dHRyICJtb2RlIiAiUlZWTUYzMkJJIikKCgoKCgoKCgoKK8KgIMKgIChpZl90aGVuX2Vsc2UgKG1h dGNoX3Rlc3QgIlRBUkdFVF9YVEhFQURWRUNUT1IiKQoKCgoKCgoKCgorwqAgwqAgwqAgKGNvbnN0 X2ludCAzMikKCgoKCgoKCgoKK8KgIMKgIMKgIChjb25zdF9pbnQgOCkpCgoKCgoKCgoKCisgKGVx X2F0dHIgIm1vZGUiICJSVlZNRjY0QkkiKQoKCgoKCgoKCgorwqAgwqAgKGlmX3RoZW5fZWxzZSAo bWF0Y2hfdGVzdCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIpCgoKCgoKCgoKCivCoCDCoCDCoCAoY29u c3RfaW50IDY0KQoKCgoKCgoKCgorwqAgwqAgwqAgKGNvbnN0X2ludCA4KSkKCgoKCgoKCgoKKGVx X2F0dHIgIm1vZGUiICJSVlZNOEhJLFJWVk00SEksUlZWTTJISSxSVlZNMUhJLFJWVk1GMkhJLFJW Vk1GNEhJLFwKCgoKCgoKCgoKwqAgUlZWTTF4OEhJLFJWVk1GMng4SEksUlZWTUY0eDhISSxcCgoK CgoKCgoKCsKgIFJWVk0xeDdISSxSVlZNRjJ4N0hJLFJWVk1GNHg3SEksXAoKCgoKCgoKCgpAQCAt MTU1LDkgKzE2Nyw5IEBAIChkZWZpbmVfYXR0ciAidmxtdWwiICIiCgoKCgoKCgoKCihlcV9hdHRy ICJtb2RlIiAiUlZWTTRRSSxSVlZNRjJCSSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxN VUxfNCIpCgoKCgoKCgoKCihlcV9hdHRyICJtb2RlIiAiUlZWTTJRSSxSVlZNRjRCSSIpIChzeW1i b2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfMiIpCgoKCgoKCgoKCihlcV9hdHRyICJtb2RlIiAi UlZWTTFRSSxSVlZNRjhCSSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfMSIpCgoK CgoKCgoKCi0gKGVxX2F0dHIgIm1vZGUiICJSVlZNRjJRSSxSVlZNRjE2QkkiKSAoc3ltYm9sX3Jl ZiAicmlzY3ZfdmVjdG9yOjpMTVVMX0YyIikKCgoKCgoKCgoKLSAoZXFfYXR0ciAibW9kZSIgIlJW Vk1GNFFJLFJWVk1GMzJCSSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfRjQiKQoK CgoKCgoKCgotIChlcV9hdHRyICJtb2RlIiAiUlZWTUY4UUksUlZWTUY2NEJJIikgKHN5bWJvbF9y ZWYgInJpc2N2X3ZlY3Rvcjo6TE1VTF9GOCIpCgoKCgoKCgoKCisgKGVxX2F0dHIgIm1vZGUiICJS VlZNRjJRSSxSVlZNRjE2QkkiKSAoc3ltYm9sX3JlZiAiVEFSR0VUX1hUSEVBRFZFQ1RPUiA/IHJp c2N2X3ZlY3Rvcjo6TE1VTF8xIDogcmlzY3ZfdmVjdG9yOjpMTVVMX0YyIikKCgoKCgoKCgoKKyAo ZXFfYXR0ciAibW9kZSIgIlJWVk1GNFFJLFJWVk1GMzJCSSIpIChzeW1ib2xfcmVmICJUQVJHRVRf WFRIRUFEVkVDVE9SID8gcmlzY3ZfdmVjdG9yOjpMTVVMXzEgOiByaXNjdl92ZWN0b3I6OkxNVUxf RjQiKQoKCgoKCgoKCgorIChlcV9hdHRyICJtb2RlIiAiUlZWTUY4UUksUlZWTUY2NEJJIikgKHN5 bWJvbF9yZWYgIlRBUkdFVF9YVEhFQURWRUNUT1IgPyByaXNjdl92ZWN0b3I6OkxNVUxfMSA6IHJp c2N2X3ZlY3Rvcjo6TE1VTF9GOCIpCgoKCgoKCgoKCihlcV9hdHRyICJtb2RlIiAiUlZWTThISSIp IChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfOCIpCgoKCgoKCgoKCihlcV9hdHRyICJt b2RlIiAiUlZWTTRISSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfNCIpCgoKCgoK CgoKCihlcV9hdHRyICJtb2RlIiAiUlZWTTJISSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6 OkxNVUxfMiIpCgoKCgoKCgoKCkBAIC00MjgsNiArNDQwLDEwIEBAIChkZWZpbmVfYXR0ciAicmF0 aW8iICIiCgoKCgoKCgoKCsKgIHZpc2xpZGUxdXAsdmlzbGlkZTFkb3duLHZmc2xpZGUxdXAsdmZz bGlkZTFkb3duLFwKCgoKCgoKCgoKwqAgdmdhdGhlcix2Y29tcHJlc3MsdmxzZWdkdXgsdmxzZWdk b3gsdnNzZWd0dXgsdnNzZWd0b3giKQoKCgoKCgoKCgrCoCAoY29uc3RfaW50IElOVkFMSURfQVRU UklCVVRFKQoKCgoKCgoKCgorIChhbmQgKGVxX2F0dHIgInR5cGUiICJ2bGRlLHZzdGUsdmxzZWdk ZSx2c3NlZ3RlLHZsc2VnZHMsdnNzZWd0cyxcCgoKCgoKCgoKCivCoCDCoCDCoCDCoCB2bHNlZ2Rm Zix2c3NlZ3R1eCx2bHNlZ2RveCx2bHNlZ2R1eCIpCgoKCgoKCgoKCisgwqAgwqAgwqAgKG1hdGNo X3Rlc3QgIlRBUkdFVF9YVEhFQURWRUNUT1IiKSkKCgoKCgoKCgoKK8KgIMKgIChjb25zdF9pbnQg SU5WQUxJRF9BVFRSSUJVVEUpCgoKCgoKCgoKCihlcV9hdHRyICJtb2RlIiAiUlZWTThRSSxSVlZN MUJJIikgKGNvbnN0X2ludCAxKQoKCgoKCgoKCgooZXFfYXR0ciAibW9kZSIgIlJWVk00UUksUlZW TUYyQkkiKSAoY29uc3RfaW50IDIpCgoKCgoKCgoKCihlcV9hdHRyICJtb2RlIiAiUlZWTTJRSSxS VlZNRjRCSSIpIChjb25zdF9pbnQgNCkKCgoKCgoKCgoKQEAgLTg4OCw2ICs5MDQsOCBAQCAoZGVm aW5lX2F0dHIgImZybV9tb2RlIiAiIgoKCgoKCgoKCgooc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9y OjpGUk1fRFlOIildCgoKCgoKCgoKCihzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkZSTV9OT05F IikpKQoKCgoKCgoKCgorKGluY2x1ZGUgInRoZWFkLXZlY3Rvci5tZCIpCgoKCgoKCgoKCisKCgoK CgoKCgoKOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCgoKCgoKCgoKOzsgLS0tLSBNaXNjZWxsYW5lb3VzIE9wZXJhdGlv bnMKCgoKCgoKCgoKOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKCgoKCgoKQEAgLTEwOTcsNyArMTExNSw3IEBAIChk ZWZpbmVfZXhwYW5kICJtb3Y8bW9kZT4iCgoKCgoKCgoKCihkZWZpbmVfaW5zbiAiKm1vdjxtb2Rl Pl93aG9sZSIKCgoKCgoKCgoKwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl9XSE9MRSAwICJyZWdf b3JfbWVtX29wZXJhbmQiICI9dnIsIG0sdnIiKQoKCgoKCgoKCgoobWF0Y2hfb3BlcmFuZDpWX1dI T0xFIDEgInJlZ19vcl9tZW1fb3BlcmFuZCIgIsKgIG0sdnIsdnIiKSldCgoKCgoKCgoKCi3CoCAi VEFSR0VUX1ZFQ1RPUiIKCgoKCgoKCgoKK8KgICJUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRI RUFEVkVDVE9SIgoKCgoKCgoKCgrCoCAiQAoKCgoKCgoKCgrCoCDCoCB2bCVtMXJlPHNldz4udlx0 JTAsJTEKCgoKCgoKCgoKwqAgwqAgdnMlbTFyLnZcdCUxLCUwCgoKCgoKCgoKCkBAIC0xMTI1LDcg KzExNDMsNyBAQCAoZGVmaW5lX2V4cGFuZCAibW92PG1vZGU+IgoKCgoKCgoKCgooZGVmaW5lX2lu c24gIiptb3Y8bW9kZT4iCgoKCgoKCgoKCsKgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZCIDAgInJl Z2lzdGVyX29wZXJhbmQiICI9dnIiKQoKCgoKCgoKCgoobWF0Y2hfb3BlcmFuZDpWQiAxICJyZWdp c3Rlcl9vcGVyYW5kIiAiIHZyIikpXQoKCgoKCgoKCgotwqAgIlRBUkdFVF9WRUNUT1IiCgoKCgoK CgoKCivCoCAiVEFSR0VUX1ZFQ1RPUiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoK wqAgInZtdjFyLnZcdCUwLCUxIgoKCgoKCgoKCgrCoCBbKHNldF9hdHRyICJ0eXBlIiAidm1vdiIp CgoKCgoKCgoKCsKgIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKCgoKCgoKQEAg LTM2ODAsNyArMzY5OCw3IEBAIChkZWZpbmVfaW5zbiAiQHByZWRfPG9wdGFiPjxtb2RlPl92ZjIi CgoKCgoKCgoKCsKgIChhbnlfZXh0ZW5kOlZXRVhUSQoKCgoKCgoKCgrCoCDCoCAobWF0Y2hfb3Bl cmFuZDo8Vl9ET1VCTEVfVFJVTkM+IDMgInJlZ2lzdGVyX29wZXJhbmQiIMKgICJXMjEsVzIxLFcy MSxXMjEsVzQyLFc0MixXNDIsVzQyLFc4NCxXODQsVzg0LFc4NCwgwqAgdnIsIMKgIHZyIikpCgoK CgoKCgoKCsKgIChtYXRjaF9vcGVyYW5kOlZXRVhUSSAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIg wqAgwqAgwqAgwqAgwqAgIiB2dSwgdnUswqAgMCzCoCAwLCB2dSwgdnUswqAgMCzCoCAwLCB2dSwg dnUswqAgMCzCoCAwLCDCoCB2dSzCoCDCoCAwIikpKV0KCgoKCgoKCgoKLcKgICJUQVJHRVRfVkVD VE9SIgoKCgoKCgoKCgorwqAgIlRBUkdFVF9WRUNUT1IgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1Ii CgoKCgoKCgoKCsKgICJ2PHN6PmV4dC52ZjJcdCUwLCUzJXAxIgoKCgoKCgoKCgrCoCBbKHNldF9h dHRyICJ0eXBlIiAidmV4dCIpCgoKCgoKCgoKCsKgIMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RF PiIpCgoKCgoKCgoKCkBAIC0zNzAxLDcgKzM3MTksNyBAQCAoZGVmaW5lX2luc24gIkBwcmVkXzxv cHRhYj48bW9kZT5fdmY0IgoKCgoKCgoKCgrCoCAoYW55X2V4dGVuZDpWUUVYVEkKCgoKCgoKCgoK wqAgwqAgKG1hdGNoX29wZXJhbmQ6PFZfUVVBRF9UUlVOQz4gMyAicmVnaXN0ZXJfb3BlcmFuZCIg wqAgIlc0MyxXNDMsVzQzLFc0MyxXODYsVzg2LFc4NixXODYsIMKgIHZyLCDCoCB2ciIpKQoKCgoK CgoKCgrCoCAobWF0Y2hfb3BlcmFuZDpWUUVYVEkgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiIMKg IMKgIMKgIMKgICIgdnUsIHZ1LMKgIDAswqAgMCwgdnUsIHZ1LMKgIDAswqAgMCwgwqAgdnUswqAg wqAgMCIpKSldCgoKCgoKCgoKCi3CoCAiVEFSR0VUX1ZFQ1RPUiIKCgoKCgoKCgoKK8KgICJUQVJH RVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SIgoKCgoKCgoKCgrCoCAidjxzej5leHQu dmY0XHQlMCwlMyVwMSIKCgoKCgoKCgoKwqAgWyhzZXRfYXR0ciAidHlwZSIgInZleHQiKQoKCgoK CgoKCgrCoCDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKQoKCgoKCgoKCgpAQCAtMzcyMiw3 ICszNzQwLDcgQEAgKGRlZmluZV9pbnNuICJAcHJlZF88b3B0YWI+PG1vZGU+X3ZmOCIKCgoKCgoK CgoKwqAgKGFueV9leHRlbmQ6Vk9FWFRJCgoKCgoKCgoKCsKgIMKgIChtYXRjaF9vcGVyYW5kOjxW X09DVF9UUlVOQz4gMyAicmVnaXN0ZXJfb3BlcmFuZCIgwqAgIlc4NyxXODcsVzg3LFc4NywgwqAg dnIsIMKgIHZyIikpCgoKCgoKCgoKCsKgIChtYXRjaF9vcGVyYW5kOlZPRVhUSSAyICJ2ZWN0b3Jf bWVyZ2Vfb3BlcmFuZCLCoCDCoCDCoCDCoCAiIHZ1LCB2dSzCoCAwLMKgIDAsIMKgIHZ1LMKgIMKg IDAiKSkpXQoKCgoKCgoKCgotwqAgIlRBUkdFVF9WRUNUT1IiCgoKCgoKCgoKCivCoCAiVEFSR0VU X1ZFQ1RPUiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiIKCgoKCgoKCgoKwqAgInY8c3o+ZXh0LnZm OFx0JTAsJTMlcDEiCgoKCgoKCgoKCsKgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZXh0IikKCgoKCgoK CgoKwqAgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKCgoKCgoKCgoKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9hYmktMS5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL2FiaS0xLmMKCgoKCgoKCgoKaW5kZXgg MmUwZTEyYWEwNDUuLjJlZWY5ZTFlMWE4IDEwMDY0NAoKCgoKCgoKCgotLS0gYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJpLTEuYwoKCgoKCgoKCgorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJpLTEuYwoKCgoKCgoKCgpAQCAt MSw0ICsxLDQgQEAKCgoKCgoKCgoKLS8qIHsgZGctZG8gY29tcGlsZSB9ICovCgoKCgoKCgoKCisv KiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIHJpc2N2X3h0aGVhZHZlY3RvciB9IH0gfSAq LwoKCgoKCgoKCgovKiB7IGRnLXNraXAtaWYgInRlc3QgcnZ2IGludHJpbnNpYyIgeyAqLSotKiB9 IHsgIioiIH0geyAiLW1hcmNoPXJ2KnYqIiB9IH0gKi8KCgoKCgoKCgoKdm9pZCBmb28wICgpIHtf X3J2dl9ib29sNjRfdCB0O30KCgoKCgoKCgoKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcmFnbWEtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3ByYWdtYS0xLmMKCgoKCgoKCgoKaW5kZXggM2Q4MWIxNzkyMzUu LmVmMzI5ZTMwNzg1IDEwMDY0NAoKCgoKCgoKCgotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYwoKCgoKCgoKCgorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYwoKCgoKCgoKCgpAQCAtMSw0ICsx LDQgQEAKCgoKCgoKCgoKLyogeyBkZy1kbyBjb21waWxlIH0gKi8KCgoKCgoKCgoKLyogeyBkZy1v cHRpb25zICItTzMgLW1hcmNoPXJ2MzJnYyAtbWFiaT1pbHAzMmQiIH0gKi8KCgoKCgoKCgoKLSNw cmFnbWEgcmlzY3YgaW50cmluc2ljICJ2ZWN0b3IiIC8qIHsgZGctZXJyb3IgeyNwcmFnbWEgcmlz Y3YgaW50cmluc2ljJyBvcHRpb24gJ3ZlY3RvcicgbmVlZHMgJ1YnIGV4dGVuc2lvbiBlbmFibGVk fSB9ICovCgoKCgoKCgoKCisjcHJhZ21hIHJpc2N2IGludHJpbnNpYyAidmVjdG9yIiAvKiB7IGRn LWVycm9yIHsjcHJhZ21hIHJpc2N2IGludHJpbnNpYycgb3B0aW9uICd2ZWN0b3InIG5lZWRzICdW JyBvciAnWFRIRUFEVkVDVE9SJyBleHRlbnNpb24gZW5hYmxlZH0gfSAqLwoKCgoKCgoKCgpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cCBiL2djYy90ZXN0 c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5leHAKCgoKCgoKCgoKaW5kZXggN2YxM2ZmMGNhNTYu LjcwZGY2YjE0MDFjIDEwMDY0NAoKCgoKCgoKCgotLS0gYS9nY2MvdGVzdHN1aXRlL2xpYi90YXJn ZXQtc3VwcG9ydHMuZXhwCgoKCgoKCgoKCisrKyBiL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1z dXBwb3J0cy5leHAKCgoKCgoKCgoKQEAgLTE5NTIsNiArMTk1MiwxOCBAQCBwcm9jIGNoZWNrX2Vm ZmVjdGl2ZV90YXJnZXRfcmlzY3ZfemJiIHsgfSB7CgoKCgoKCgoKCsKgIMKgIH1dCgoKCgoKCgoK Cn0KCgoKCgoKCgoKKyMgUmV0dXJuIDEgaWYgdGhlIHRhcmdldCBhcmNoIHN1cHBvcnRzIHRoZSBY VGhlYWRWZWN0b3IgZXh0ZW5zaW9uLCAwIG90aGVyd2lzZS4KCgoKCgoKCgoKKyMgQ2FjaGUgdGhl IHJlc3VsdC4KCgoKCgoKCgoKKwoKCgoKCgoKCgorcHJvYyBjaGVja19lZmZlY3RpdmVfdGFyZ2V0 X3Jpc2N2X3h0aGVhZHZlY3RvciB7IH0gewoKCgoKCgoKCgorwqAgwqAgcmV0dXJuIFtjaGVja19u b19jb21waWxlcl9tZXNzYWdlcyByaXNjdl9leHRfeHRoZWFkdmVjdG9yIGFzc2VtYmx5IHsKCgoK CgoKCgoKKyDCoCDCoCDCoCAjaWZuZGVmIF9fcmlzY3ZfeHRoZWFkdmVjdG9yCgoKCgoKCgoKCisg wqAgwqAgwqAgI2Vycm9yICJOb3QgX19yaXNjdl94dGhlYWR2ZWN0b3IiCgoKCgoKCgoKCisgwqAg wqAgwqAgI2VuZGlmCgoKCgoKCgoKCivCoCDCoCB9XQoKCgoKCgoKCgorfQoKCgoKCgoKCgorCgoK CgoKCgoKCisKCgoKCgoKCgoKIyBSZXR1cm4gMSBpZiB3ZSBjYW4gZXhlY3V0ZSBjb2RlIHdoZW4g dXNpbmcgZGctYWRkLW9wdGlvbnMgcmlzY3ZfdgoKCgoKCgoKCgpwcm9jIGNoZWNrX2VmZmVjdGl2 ZV90YXJnZXRfcmlzY3Zfdl9vayB7IH0gewoKCgoKCgoKCgotLQoKCgoKCgoKCgoyLjE3LjEKCgoK CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK