From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cstnet.cn (smtp85.cstnet.cn [159.226.251.85]) by sourceware.org (Postfix) with ESMTP id A73423858C54 for ; Wed, 7 Jun 2023 10:12:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A73423858C54 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from jiawei$iscas.ac.cn ( [111.15.27.220] ) by ajax-webmail-APP-13 (Coremail) ; Wed, 7 Jun 2023 18:11:56 +0800 (GMT+08:00) X-Originating-IP: [111.15.27.220] Date: Wed, 7 Jun 2023 18:11:56 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: jiawei@iscas.ac.cn To: "Fei Gao" Cc: gcc-patches@gcc.gnu.org, kito.cheng@gmail.com, palmer@dabbelt.com, jeffreyalaw@gmail.com, sinan.lin@linux.alibaba.com Subject: Re: [PATCH 1/4][V4][RISC-V] support cm.push cm.pop cm.popret in zcmp X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.15 build 20230321(1bf45b10) Copyright (c) 2002-2023 www.mailtech.cn cnic.cn In-Reply-To: <20230607055215.29332-2-gaofei@eswincomputing.com> References: <20230607055215.29332-1-gaofei@eswincomputing.com> <20230607055215.29332-2-gaofei@eswincomputing.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 MIME-Version: 1.0 Message-ID: <62269c00.b0e9.18895577568.Coremail.jiawei@iscas.ac.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID:twCowACnr1_uV4BkKyIgAA--.17371W X-CM-SenderInfo: 5mld4v3l6l2u1dvotugofq/1tbiBwUPAGSAJDi+jQAAsG X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,BODY_8BITS,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_PORT 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: U2VlbXMgdGhlcmUgYXJlIHNvbWUgaW5kZW50IGZvcm1hdCBwcm9ibGVtcyBpbiB0aGUgcGF0Y2gs IGNvdWxkIHlvdSBmaXggdGhlbSA6KQoKYGBgCnBhdGNoOjUwOTogaW5kZW50IHdpdGggc3BhY2Vz LgogICAgICAgICAgeF9zYXZlX3NpemUgPSByaXNjdl9zdGFja19hbGlnbiAobnVtX211bHRpX3B1 c2ggKiBVTklUU19QRVJfV09SRCk7CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGdjYy9jb25maWcvcmlz Y3YvcmlzY3YuY2M6NTY1MgplcnJvcjogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYzogcGF0Y2gg ZG9lcyBub3QgYXBwbHkKYGBgCgomZ3Q7IC0tLS0t5Y6f5aeL6YKu5Lu2LS0tLS0KJmd0OyDlj5Hk u7bkuro6ICJGZWkgR2FvIiA8Z2FvZmVpQGVzd2luY29tcHV0aW5nLmNvbT4KJmd0OyDlj5HpgIHm l7bpl7Q6IDIwMjMtMDYtMDcgMTM6NTI6MTIgKOaYn+acn+S4iSkKJmd0OyDmlLbku7bkuro6IGdj Yy1wYXRjaGVzQGdjYy5nbnUub3JnCiZndDsg5oqE6YCBOiBraXRvLmNoZW5nQGdtYWlsLmNvbSwg cGFsbWVyQGRhYmJlbHQuY29tLCBqZWZmcmV5YWxhd0BnbWFpbC5jb20sIHNpbmFuLmxpbkBsaW51 eC5hbGliYWJhLmNvbSwgamlhd2VpQGlzY2FzLmFjLmNuLCAiRmVpIEdhbyIgPGdhb2ZlaUBlc3dp bmNvbXB1dGluZy5jb20+CiZndDsg5Li76aKYOiBbUEFUQ0ggMS80XVtWNF1bUklTQy1WXSBzdXBw b3J0IGNtLnB1c2ggY20ucG9wIGNtLnBvcHJldCBpbiB6Y21wCiZndDsgCiZndDsgWmNtcCBjYW4g c2hhcmUgdGhlIHNhbWUgbG9naWMgYXMgc2F2ZS1yZXN0b3JlIGluIHN0YWNrIGFsbG9jYXRpb246 IHByZS1hbGxvY2F0aW9uCiZndDsgYnkgY20ucHVzaCwgc3RlcCAxIGFuZCBzdGVwIDIuCiZndDsg CiZndDsgcGxlYXNlIGJlIG5vdGVkIGNtLnB1c2ggcHVzaGVzIHJhLCBzMC1zMTEgaW4gcmV2ZXJz ZSBvcmRlciB0aGFuIHdoYXQgc2F2ZS1yZXN0b3JlIGRvZXMuCiZndDsgU28gYWRhcHRpb24gaGFz IGJlZW4gZG9uZSBpbiAuY2ZpIGRpcmVjdGl2ZXMgaW4gbXkgcGF0Y2guCiZndDsgCiZndDsgU2ln bmVkLW9mZi1ieTogRmVpIEdhbyA8Z2FvZmVpQGVzd2luY29tcHV0aW5nLmNvbT4KJmd0OyAKJmd0 OyBnY2MvQ2hhbmdlTG9nOgomZ3Q7IAomZ3Q7ICAgICAgICAgKiBjb25maWcvcmlzY3YvaXRlcmF0 b3JzLm1kCiZndDsgICAgICAgICBzbG90MF9vZmZzZXQ6IHNsb3QgMCBvZmZzZXQgaW4gc3RhY2sg R1BScyBhcmVhIGluIGJ5dGVzCiZndDsgICAgICAgICBzbG90MV9vZmZzZXQ6IHNsb3QgMSBvZmZz ZXQgaW4gc3RhY2sgR1BScyBhcmVhIGluIGJ5dGVzCiZndDsgICAgICAgICBzbG90Ml9vZmZzZXQ6 IGxpa2V3aXNlCiZndDsgICAgICAgICBzbG90M19vZmZzZXQ6IGxpa2V3aXNlCiZndDsgICAgICAg ICBzbG90NF9vZmZzZXQ6IGxpa2V3aXNlCiZndDsgICAgICAgICBzbG90NV9vZmZzZXQ6IGxpa2V3 aXNlCiZndDsgICAgICAgICBzbG90Nl9vZmZzZXQ6IGxpa2V3aXNlCiZndDsgICAgICAgICBzbG90 N19vZmZzZXQ6IGxpa2V3aXNlCiZndDsgICAgICAgICBzbG90OF9vZmZzZXQ6IGxpa2V3aXNlCiZn dDsgICAgICAgICBzbG90OV9vZmZzZXQ6IGxpa2V3aXNlCiZndDsgICAgICAgICBzbG90MTBfb2Zm c2V0OiBsaWtld2lzZQomZ3Q7ICAgICAgICAgc2xvdDExX29mZnNldDogbGlrZXdpc2UKJmd0OyAg ICAgICAgIHNsb3QxMl9vZmZzZXQ6IGxpa2V3aXNlCiZndDsgICAgICAgICAqIGNvbmZpZy9yaXNj di9wcmVkaWNhdGVzLm1kCiZndDsgICAgICAgICAoc3RhY2tfcHVzaF91cF90b19yYV9vcGVyYW5k KTogcHJlZGljYXRlcyBvZiBzdGFjayBhZGp1c3QgcHVzaGluZyByYQomZ3Q7ICAgICAgICAgKHN0 YWNrX3B1c2hfdXBfdG9fczBfb3BlcmFuZCk6IHByZWRpY2F0ZXMgb2Ygc3RhY2sgYWRqdXN0IHB1 c2hpbmcgcmEsIHMwCiZndDsgICAgICAgICAoc3RhY2tfcHVzaF91cF90b19zMV9vcGVyYW5kKTog bGlrZXdpc2UKJmd0OyAgICAgICAgIChzdGFja19wdXNoX3VwX3RvX3MyX29wZXJhbmQpOiBsaWtl d2lzZQomZ3Q7ICAgICAgICAgKHN0YWNrX3B1c2hfdXBfdG9fczNfb3BlcmFuZCk6IGxpa2V3aXNl CiZndDsgICAgICAgICAoc3RhY2tfcHVzaF91cF90b19zNF9vcGVyYW5kKTogbGlrZXdpc2UKJmd0 OyAgICAgICAgIChzdGFja19wdXNoX3VwX3RvX3M1X29wZXJhbmQpOiBsaWtld2lzZQomZ3Q7ICAg ICAgICAgKHN0YWNrX3B1c2hfdXBfdG9fczZfb3BlcmFuZCk6IGxpa2V3aXNlCiZndDsgICAgICAg ICAoc3RhY2tfcHVzaF91cF90b19zN19vcGVyYW5kKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChz dGFja19wdXNoX3VwX3RvX3M4X29wZXJhbmQpOiBsaWtld2lzZQomZ3Q7ICAgICAgICAgKHN0YWNr X3B1c2hfdXBfdG9fczlfb3BlcmFuZCk6IGxpa2V3aXNlCiZndDsgICAgICAgICAoc3RhY2tfcHVz aF91cF90b19zMTFfb3BlcmFuZCk6IGxpa2V3aXNlCiZndDsgICAgICAgICAoc3RhY2tfcG9wX3Vw X3RvX3JhX29wZXJhbmQpOiBwcmVkaWNhdGVzIG9mIHN0YWNrIGFkanVzdCBwb3BpbmcgcmEKJmd0 OyAgICAgICAgIChzdGFja19wb3BfdXBfdG9fczBfb3BlcmFuZCk6IHByZWRpY2F0ZXMgb2Ygc3Rh Y2sgYWRqdXN0IHBvcGluZyByYSwgczAKJmd0OyAgICAgICAgIChzdGFja19wb3BfdXBfdG9fczFf b3BlcmFuZCk6IGxpa2V3aXNlCiZndDsgICAgICAgICAoc3RhY2tfcG9wX3VwX3RvX3MyX29wZXJh bmQpOiBsaWtld2lzZQomZ3Q7ICAgICAgICAgKHN0YWNrX3BvcF91cF90b19zM19vcGVyYW5kKTog bGlrZXdpc2UKJmd0OyAgICAgICAgIChzdGFja19wb3BfdXBfdG9fczRfb3BlcmFuZCk6IGxpa2V3 aXNlCiZndDsgICAgICAgICAoc3RhY2tfcG9wX3VwX3RvX3M1X29wZXJhbmQpOiBsaWtld2lzZQom Z3Q7ICAgICAgICAgKHN0YWNrX3BvcF91cF90b19zNl9vcGVyYW5kKTogbGlrZXdpc2UKJmd0OyAg ICAgICAgIChzdGFja19wb3BfdXBfdG9fczdfb3BlcmFuZCk6IGxpa2V3aXNlCiZndDsgICAgICAg ICAoc3RhY2tfcG9wX3VwX3RvX3M4X29wZXJhbmQpOiBsaWtld2lzZQomZ3Q7ICAgICAgICAgKHN0 YWNrX3BvcF91cF90b19zOV9vcGVyYW5kKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChzdGFja19w b3BfdXBfdG9fczExX29wZXJhbmQpOiBsaWtld2lzZQomZ3Q7ICAgICAgICAgKiBjb25maWcvcmlz Y3YvcmlzY3YtcHJvdG9zLmgKJmd0OyAgICAgICAgIChyaXNjdl96Y21wX3ZhbGlkX3N0YWNrX2Fk al9ieXRlc19wKTpkZWNsYXJhdGlvbgomZ3Q7ICAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3Yu Y2MgKHN0cnVjdCByaXNjdl9mcmFtZV9pbmZvKTogY29tbWVudCBjaGFuZ2UKJmd0OyAgICAgICAg IChyaXNjdl9hdm9pZF9tdWx0aV9wdXNoKTogaGVscGVyIGZ1bmN0aW9uIG9mIHJpc2N2X3VzZV9t dWx0aV9wdXNoCiZndDsgICAgICAgICAocmlzY3ZfdXNlX211bHRpX3B1c2gpOiB0cnVlIGlmIG11 bHRpIHB1c2ggaXMgdXNlZAomZ3Q7ICAgICAgICAgKHJpc2N2X211bHRpX3B1c2hfc3JlZ3NfY291 bnQpOiBudW0gb2Ygc3JlZ3MgaW4gbXVsdGktcHVzaAomZ3Q7ICAgICAgICAgKHJpc2N2X211bHRp X3B1c2hfcmVnc19jb3VudCk6IG51bSBvZiByZWdzIGluIG11bHRpLXB1c2gKJmd0OyAgICAgICAg IChyaXNjdl8xNmJ5dGVzX2FsaWduKTogYWxpZ24gdG8gMTYgYnl0ZXMKJmd0OyAgICAgICAgIChy aXNjdl9zdGFja19hbGlnbik6IG1vdmVkIHRvIGEgYmV0dGVyIHBsYWNlCiZndDsgICAgICAgICAo cmlzY3Zfc2F2ZV9saWJjYWxsX2NvdW50KTogbm8gZnVuY3Rpb25hbCBjaGFuZ2UKJmd0OyAgICAg ICAgIChyaXNjdl9jb21wdXRlX2ZyYW1lX2luZm8pOiBhZGQgemNtcCBmcmFtZSBpbmZvCiZndDsg ICAgICAgICAocmlzY3ZfYWRqdXN0X211bHRpX3B1c2hfY2ZpX3Byb2xvZ3VlKTogYWRqdXN0IGNm aSBmb3IgY20ucHVzaAomZ3Q7ICAgICAgICAgKHJpc2N2X2dlbl9tdWx0aV9wdXNoX3BvcF9pbnNu KTogZ2VuIGZ1bmN0aW9uIGZvciBtdWx0aSBwdXNoIGFuZCBwb3AKJmd0OyAgICAgICAgIChyaXNj dl9leHBhbmRfcHJvbG9ndWUpOiBhbGxvY2F0ZSBzdGFjayBieSBjbS5wdXNoCiZndDsgICAgICAg ICAocmlzY3ZfYWRqdXN0X211bHRpX3BvcF9jZmlfZXBpbG9ndWUpOiBhZGp1c3QgY2ZpIGZvciBj bS5wb3BbcmV0XQomZ3Q7ICAgICAgICAgKHJpc2N2X2V4cGFuZF9lcGlsb2d1ZSk6IGFsbG9jYXRl IHN0YWNrIGJ5IGNtLnBvcFtyZXRdCiZndDsgICAgICAgICAoemNtcF9iYXNlX2Fkaik6IGNhbGN1 bGF0ZSBzdGFjayBhZGp1c3RtZW50IGJhc2Ugc2l6ZQomZ3Q7ICAgICAgICAgKHpjbXBfYWRkaXRp b25hbF9hZGopOiBjYWxjdWxhdGUgc3RhY2sgYWRqdXN0bWVudCBhZGRpdGlvbmFsIHNpemUKJmd0 OyAgICAgICAgIChyaXNjdl96Y21wX3ZhbGlkX3N0YWNrX2Fkal9ieXRlc19wKTogY2hlY2sgaWYg c3RhY2sgYWRqdXN0bWVudCB2YWxpZAomZ3Q7ICAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3Yu aCAoUkVUVVJOX0FERFJfTUFTSyk6IG1hc2sgb2YgcmEKJmd0OyAgICAgICAgIChTMF9NQVNLKTog bGlrZXdpc2UKJmd0OyAgICAgICAgIChTMV9NQVNLKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChT Ml9NQVNLKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChTM19NQVNLKTogbGlrZXdpc2UKJmd0OyAg ICAgICAgIChTNF9NQVNLKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChTNV9NQVNLKTogbGlrZXdp c2UKJmd0OyAgICAgICAgIChTNl9NQVNLKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChTN19NQVNL KTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChTOF9NQVNLKTogbGlrZXdpc2UKJmd0OyAgICAgICAg IChTOV9NQVNLKTogbGlrZXdpc2UKJmd0OyAgICAgICAgIChTMTBfTUFTSyk6IGxpa2V3aXNlCiZn dDsgICAgICAgICAoUzExX01BU0spOiBsaWtld2lzZQomZ3Q7ICAgICAgICAgKE1VTFRJX1BVU0hf R1BSX01BU0spOiBHUFJfTUFTSyB0aGF0IGNtLnB1c2ggY2FuIGNvdmVyIGF0IG1vc3QKJmd0OyAg ICAgICAgIChaQ01QX01BWF9TUElNTSk6IG1heCBzcGltbSB2YWx1ZQomZ3Q7ICAgICAgICAgKFpD TVBfU1BfSU5DX1NURVApOiB6Y21wIHNwIGluY3JlbWVudCBzdGVwCiZndDsgICAgICAgICAoWkNN UF9JTlZBTElEX1MwUzEwX1NSRUdTX0NPVU5UUyk6IG51bSBvZiBzMC1zMTAKJmd0OyAgICAgICAg IChaQ01QX1MwUzExX1NSRUdTX0NPVU5UUyk6IG51bSBvZiBzMC1zMTEKJmd0OyAgICAgICAgICha Q01QX01BWF9HUlBfU0xPVFMpOiBtYXggc2xvdHMgb2YgcHVzaGluZyBhbmQgcG9waW5nIGluIHpj bXAKJmd0OyAgICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kOiBpbmNsdWRlIHpjLm1kCiZn dDsgICAgICAgICAqIGNvbmZpZy9yaXNjdi96Yy5tZDogTmV3IGZpbGUuIG1hY2hpbmUgZGVzY3Jp cHRpb24gZm9yIHpjbXAKJmd0OyAKJmd0OyBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKJmd0OyAK Jmd0OyAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydjMyZV96Y21wLmM6IE5ldyB0ZXN0Lgom Z3Q7ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2MzJpX3pjbXAuYzogTmV3IHRlc3QuCiZn dDsgICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvemNtcF9zdGFja19hbGlnbm1lbnQuYzogTmV3 IHRlc3QuCiZndDsgLS0tCiZndDsgIGdjYy9jb25maWcvcmlzY3YvaXRlcmF0b3JzLm1kICAgICAg ICAgICAgICAgICB8ICAgMTUgKwomZ3Q7ICBnY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQg ICAgICAgICAgICAgICAgfCAgIDk2ICsrCiZndDsgIGdjYy9jb25maWcvcmlzY3YvcmlzY3YtcHJv dG9zLmggICAgICAgICAgICAgICB8ICAgIDEgKwomZ3Q7ICBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmNjICAgICAgICAgICAgICAgICAgICAgfCAgMzYwICsrKysrLQomZ3Q7ICBnY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmggICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsKJmd0OyAgZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi5tZCAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiZndDsgIGdjYy9j b25maWcvcmlzY3YvemMubWQgICAgICAgICAgICAgICAgICAgICAgICB8IDEwNDIgKysrKysrKysr KysrKysrKysKJmd0OyAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2MzJlX3pjbXAu YyAgIHwgIDIzOSArKysrCiZndDsgIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydjMy aV96Y21wLmMgICB8ICAyMzkgKysrKwomZ3Q7ICAuLi4vZ2NjLnRhcmdldC9yaXNjdi96Y21wX3N0 YWNrX2FsaWdubWVudC5jICAgfCAgIDIzICsKJmd0OyAgMTAgZmlsZXMgY2hhbmdlZCwgMjAwMCBp bnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKJmd0OyAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy9jb25maWcvcmlzY3YvemMubWQKJmd0OyAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydjMyZV96Y21wLmMKJmd0OyAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydjMyaV96Y21wLmMKJmd0OyAgY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96Y21wX3N0YWNrX2Fs aWdubWVudC5jCiZndDsgCiZndDsgZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvaXRlcmF0 b3JzLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9pdGVyYXRvcnMubWQKJmd0OyBpbmRleCBkMzc0YTEw ODEwYy4uNmVkNDE3NGY5Y2MgMTAwNjQ0CiZndDsgLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9pdGVy YXRvcnMubWQKJmd0OyArKysgYi9nY2MvY29uZmlnL3Jpc2N2L2l0ZXJhdG9ycy5tZAomZ3Q7IEBA IC0xMjAsNiArMTIwLDIxIEBACiZndDsgIChkZWZpbmVfbW9kZV9hdHRyIHNoaWZ0bTEgWyhTSSAi Y29uc3Rfc2lfbWFza19vcGVyYW5kIikgKERJICJjb25zdF9kaV9tYXNrX29wZXJhbmQiKV0pCiZn dDsgIChkZWZpbmVfbW9kZV9hdHRyIHNoaWZ0bTFwIFsoU0kgIkRzUyIpIChESSAiRHNEIildKQom Z3Q7ICAKJmd0OyArOyB6Y21wIG1vZGUgYXR0cmlidXRlCiZndDsgKyhkZWZpbmVfbW9kZV9hdHRy IHNsb3QwX29mZnNldCAgWyhTSSAiLTQiKSAgKERJICItOCIpXSkKJmd0OyArKGRlZmluZV9tb2Rl X2F0dHIgc2xvdDFfb2Zmc2V0ICBbKFNJICItOCIpICAoREkgIi0xNiIpXSkKJmd0OyArKGRlZmlu ZV9tb2RlX2F0dHIgc2xvdDJfb2Zmc2V0ICBbKFNJICItMTIiKSAoREkgIi0yNCIpXSkKJmd0OyAr KGRlZmluZV9tb2RlX2F0dHIgc2xvdDNfb2Zmc2V0ICBbKFNJICItMTYiKSAoREkgIi0zMiIpXSkK Jmd0OyArKGRlZmluZV9tb2RlX2F0dHIgc2xvdDRfb2Zmc2V0ICBbKFNJICItMjAiKSAoREkgIi00 MCIpXSkKJmd0OyArKGRlZmluZV9tb2RlX2F0dHIgc2xvdDVfb2Zmc2V0ICBbKFNJICItMjQiKSAo REkgIi00OCIpXSkKJmd0OyArKGRlZmluZV9tb2RlX2F0dHIgc2xvdDZfb2Zmc2V0ICBbKFNJICIt MjgiKSAoREkgIi01NiIpXSkKJmd0OyArKGRlZmluZV9tb2RlX2F0dHIgc2xvdDdfb2Zmc2V0ICBb KFNJICItMzIiKSAoREkgIi02NCIpXSkKJmd0OyArKGRlZmluZV9tb2RlX2F0dHIgc2xvdDhfb2Zm c2V0ICBbKFNJICItMzYiKSAoREkgIi03MiIpXSkKJmd0OyArKGRlZmluZV9tb2RlX2F0dHIgc2xv dDlfb2Zmc2V0ICBbKFNJICItNDAiKSAoREkgIi04MCIpXSkKJmd0OyArKGRlZmluZV9tb2RlX2F0 dHIgc2xvdDEwX29mZnNldCBbKFNJICItNDQiKSAoREkgIi04OCIpXSkKJmd0OyArKGRlZmluZV9t b2RlX2F0dHIgc2xvdDExX29mZnNldCBbKFNJICItNDgiKSAoREkgIi05NiIpXSkKJmd0OyArKGRl ZmluZV9tb2RlX2F0dHIgc2xvdDEyX29mZnNldCBbKFNJICItNTIiKSAoREkgIi0xMDQiKV0pCiZn dDsgKwomZ3Q7ICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiZndDsgIDs7IENvZGUgSXRlcmF0b3JzCiZndDsgIDs7 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KJmd0OyBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVz Lm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kCiZndDsgaW5kZXggMDRjYTZjZWFi YzcuLmFiNjdiMzMzMmYwIDEwMDY0NAomZ3Q7IC0tLSBhL2djYy9jb25maWcvcmlzY3YvcHJlZGlj YXRlcy5tZAomZ3Q7ICsrKyBiL2djYy9jb25maWcvcmlzY3YvcHJlZGljYXRlcy5tZAomZ3Q7IEBA IC02NSw2ICs2NSwxMDIgQEAKJmd0OyAgICAoaW9yIChtYXRjaF9vcGVyYW5kIDAgImNvbnN0XzBf b3BlcmFuZCIpCiZndDsgICAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJyZWdpc3Rlcl9vcGVyYW5k IikpKQomZ3Q7ICAKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNrX3B1c2hfdXBfdG9fcmFf b3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAg ICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZB TCAob3ApICogLTEsIDEpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNr X3B1c2hfdXBfdG9fczBfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9p bnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRq X2J5dGVzX3AgKElOVFZBTCAob3ApICogLTEsIDIpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9w cmVkaWNhdGUgInN0YWNrX3B1c2hfdXBfdG9fczFfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRj aF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBf dmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApICogLTEsIDMpIikpKQomZ3Q7ICsK Jmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNrX3B1c2hfdXBfdG9fczJfb3BlcmFuZCIKJmd0 OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rl c3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApICogLTEs IDQpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNrX3B1c2hfdXBfdG9f czNfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsg ICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElO VFZBTCAob3ApICogLTEsIDUpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0 YWNrX3B1c2hfdXBfdG9fczRfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25z dF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tf YWRqX2J5dGVzX3AgKElOVFZBTCAob3ApICogLTEsIDYpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmlu ZV9wcmVkaWNhdGUgInN0YWNrX3B1c2hfdXBfdG9fczVfb3BlcmFuZCIKJmd0OyArICAoYW5kICht YXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pj bXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApICogLTEsIDcpIikpKQomZ3Q7 ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNrX3B1c2hfdXBfdG9fczZfb3BlcmFuZCIK Jmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNo X3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApICog LTEsIDgpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNrX3B1c2hfdXBf dG9fczdfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7 ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3Ag KElOVFZBTCAob3ApICogLTEsIDkpIikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUg InN0YWNrX3B1c2hfdXBfdG9fczhfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJj b25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3Rh Y2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApICogLTEsIDEwKSIpKSkKJmd0OyArCiZndDsgKyhk ZWZpbmVfcHJlZGljYXRlICJzdGFja19wdXNoX3VwX3RvX3M5X29wZXJhbmQiCiZndDsgKyAgKGFu ZCAobWF0Y2hfY29kZSAiY29uc3RfaW50IikKJmd0OyArICAgICAgIChtYXRjaF90ZXN0ICJyaXNj dl96Y21wX3ZhbGlkX3N0YWNrX2Fkal9ieXRlc19wIChJTlRWQUwgKG9wKSAqIC0xLCAxMSkiKSkp CiZndDsgKwomZ3Q7ICsoZGVmaW5lX3ByZWRpY2F0ZSAic3RhY2tfcHVzaF91cF90b19zMTFfb3Bl cmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAg KG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAo b3ApICogLTEsIDEzKSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVfcHJlZGljYXRlICJzdGFja19w b3BfdXBfdG9fcmFfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQi KQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5 dGVzX3AgKElOVFZBTCAob3ApLCAxKSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVfcHJlZGljYXRl ICJzdGFja19wb3BfdXBfdG9fczBfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJj b25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3Rh Y2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCAyKSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVf cHJlZGljYXRlICJzdGFja19wb3BfdXBfdG9fczFfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRj aF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBf dmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCAzKSIpKSkKJmd0OyArCiZndDsg KyhkZWZpbmVfcHJlZGljYXRlICJzdGFja19wb3BfdXBfdG9fczJfb3BlcmFuZCIKJmd0OyArICAo YW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJp c2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCA0KSIpKSkKJmd0 OyArCiZndDsgKyhkZWZpbmVfcHJlZGljYXRlICJzdGFja19wb3BfdXBfdG9fczNfb3BlcmFuZCIK Jmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNo X3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCA1 KSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVfcHJlZGljYXRlICJzdGFja19wb3BfdXBfdG9fczRf b3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAg ICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZB TCAob3ApLCA2KSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVfcHJlZGljYXRlICJzdGFja19wb3Bf dXBfdG9fczVfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQom Z3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVz X3AgKElOVFZBTCAob3ApLCA3KSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVfcHJlZGljYXRlICJz dGFja19wb3BfdXBfdG9fczZfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25z dF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tf YWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCA4KSIpKSkKJmd0OyArCiZndDsgKyhkZWZpbmVfcHJl ZGljYXRlICJzdGFja19wb3BfdXBfdG9fczdfb3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9j b2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFs aWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCA5KSIpKSkKJmd0OyArCiZndDsgKyhk ZWZpbmVfcHJlZGljYXRlICJzdGFja19wb3BfdXBfdG9fczhfb3BlcmFuZCIKJmd0OyArICAoYW5k IChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAgICAgKG1hdGNoX3Rlc3QgInJpc2N2 X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZBTCAob3ApLCAxMCkiKSkpCiZndDsg KwomZ3Q7ICsoZGVmaW5lX3ByZWRpY2F0ZSAic3RhY2tfcG9wX3VwX3RvX3M5X29wZXJhbmQiCiZn dDsgKyAgKGFuZCAobWF0Y2hfY29kZSAiY29uc3RfaW50IikKJmd0OyArICAgICAgIChtYXRjaF90 ZXN0ICJyaXNjdl96Y21wX3ZhbGlkX3N0YWNrX2Fkal9ieXRlc19wIChJTlRWQUwgKG9wKSwgMTEp IikpKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9wcmVkaWNhdGUgInN0YWNrX3BvcF91cF90b19zMTFf b3BlcmFuZCIKJmd0OyArICAoYW5kIChtYXRjaF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7ICsgICAg ICAgKG1hdGNoX3Rlc3QgInJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3AgKElOVFZB TCAob3ApLCAxMykiKSkpCiZndDsgKwomZ3Q7ICA7OyBPbmx5IHVzZSBicmFuY2gtb24tYml0IHNl cXVlbmNlcyB3aGVuIHRoZSBtYXNrIGlzIG5vdCBhbiBBTkRJIGltbWVkaWF0ZS4KJmd0OyAgKGRl ZmluZV9wcmVkaWNhdGUgImJyYW5jaF9vbl9iaXRfb3BlcmFuZCIKJmd0OyAgICAoYW5kIChtYXRj aF9jb2RlICJjb25zdF9pbnQiKQomZ3Q7IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXByb3Rvcy5oIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaAomZ3Q7IGluZGV4 IDAwZTFiMjBjNmM2Li5mMjNiMTE2MjJhMiAxMDA2NDQKJmd0OyAtLS0gYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXByb3Rvcy5oCiZndDsgKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90 b3MuaAomZ3Q7IEBAIC01Niw2ICs1Niw3IEBAIGV4dGVybiBib29sIHJpc2N2X3NwbGl0XzY0Yml0 X21vdmVfcCAocnR4LCBydHgpOwomZ3Q7ICBleHRlcm4gdm9pZCByaXNjdl9zcGxpdF9kb3VibGV3 b3JkX21vdmUgKHJ0eCwgcnR4KTsKJmd0OyAgZXh0ZXJuIGNvbnN0IGNoYXIgKnJpc2N2X291dHB1 dF9tb3ZlIChydHgsIHJ0eCk7CiZndDsgIGV4dGVybiBjb25zdCBjaGFyICpyaXNjdl9vdXRwdXRf cmV0dXJuICgpOwomZ3Q7ICtleHRlcm4gYm9vbCByaXNjdl96Y21wX3ZhbGlkX3N0YWNrX2Fkal9i eXRlc19wKEhPU1RfV0lERV9JTlQsIGludCk7CiZndDsgIAomZ3Q7ICAjaWZkZWYgUlRYX0NPREUK Jmd0OyAgZXh0ZXJuIHZvaWQgcmlzY3ZfZXhwYW5kX2ludF9zY2MgKHJ0eCwgZW51bSBydHhfY29k ZSwgcnR4LCBydHgpOwomZ3Q7IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNj IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYwomZ3Q7IGluZGV4IDM5NTRjODlhMDM5Li5jNDc2 YzY5OWY0YyAxMDA2NDQKJmd0OyAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCiZndDsg KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYwomZ3Q7IEBAIC0xMjYsNiArMTI2LDE0IEBA IHN0cnVjdCBHVFkoKCkpICByaXNjdl9mcmFtZV9pbmZvIHsKJmd0OyAgICAvKiBIb3cgbXVjaCB0 aGUgR1BSIHNhdmUvcmVzdG9yZSByb3V0aW5lcyBhZGp1c3Qgc3AgKG9yIDAgaWYgdW51c2VkKS4g ICovCiZndDsgICAgdW5zaWduZWQgc2F2ZV9saWJjYWxsX2FkanVzdG1lbnQ7CiZndDsgIAomZ3Q7 ICsgIC8qIHRoZSBtaW5pbXVtIG51bWJlciBvZiBieXRlcywgaW4gbXVsdGlwbGVzIG9mIDE2LWJ5 dGUgYWRkcmVzcyBpbmNyZW1lbnRzLAomZ3Q7ICsgICAgIHJlcXVpcmVkIHRvIGNvdmVyIHRoZSBy ZWdpc3RlcnMgaW4gYSBtdWx0aSBwdXNoICZhbXA7IHBvcC4gICovCiZndDsgKyAgdW5zaWduZWQg bXVsdGlfcHVzaF9hZGpfYmFzZTsKJmd0OyArCiZndDsgKyAgLyogdGhlIG51bWJlciBvZiBhZGRp dGlvbmFsIDE2LWJ5dGUgYWRkcmVzcyBpbmNyZW1lbnRzIGFsbG9jYXRlZCBmb3IgdGhlIHN0YWNr IGZyYW1lCiZndDsgKyAgICAgaW4gYSBtdWx0aSBwdXNoICZhbXA7IHBvcC4gICovCiZndDsgKyAg dW5zaWduZWQgbXVsdGlfcHVzaF9hZGpfYWRkaTsKJmd0OyArCiZndDsgICAgLyogT2Zmc2V0cyBv ZiBmaXhlZC1wb2ludCBhbmQgZmxvYXRpbmctcG9pbnQgc2F2ZSBhcmVhcyBmcm9tIGZyYW1lIGJv dHRvbSAqLwomZ3Q7ICAgIHBvbHlfaW50NjQgZ3Bfc3Bfb2Zmc2V0OwomZ3Q7ICAgIHBvbHlfaW50 NjQgZnBfc3Bfb2Zmc2V0OwomZ3Q7IEBAIC00MjIsNiArNDMwLDE2IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgcmlzY3ZfdHVuZV9pbmZvIHJpc2N2X3R1bmVfaW5mb190YWJsZVtdID0gewomZ3Q7ICAj aW5jbHVkZSAicmlzY3YtY29yZXMuZGVmIgomZ3Q7ICB9OwomZ3Q7ICAKJmd0OyArdHlwZWRlZiBl bnVtCiZndDsgK3sKJmd0OyArICBQVVNIX0lEWCA9IDAsCiZndDsgKyAgUE9QX0lEWCwKJmd0OyAr ICBQT1BSRVRfSURYLAomZ3Q7ICsgIFpDTVBfT1BfTlVNCiZndDsgK30gcmlzY3ZfemNtcF9vcF90 OwomZ3Q7ICsKJmd0OyArdHlwZWRlZiBpbnNuX2NvZGUgKCogY29kZV9mb3JfcHVzaF9wb3BfdCko bWFjaGluZV9tb2RlKTsKJmd0OyArCiZndDsgIHZvaWQgcmlzY3ZfZnJhbWVfaW5mbzo6cmVzZXQo dm9pZCkKJmd0OyAgewomZ3Q7ICAgIHRvdGFsX3NpemUgPSAwOwomZ3Q7IEBAIC00ODc2LDYgKzQ4 OTQsMzcgQEAgcmlzY3Zfc2F2ZV9yZWdfcCAodW5zaWduZWQgaW50IHJlZ25vKQomZ3Q7ICAgIHJl dHVybiBmYWxzZTsKJmd0OyAgfQomZ3Q7ICAKJmd0OyArLyogUmV0dXJuIFRSVUUgaWYgWmNtcCBw dXNoIGFuZCBwb3AgaW5zbnMgc2hvdWxkIGJlCiZndDsgKyAgIGF2b2lkZWQuIEZBTFNFIG90aGVy d2lzZS4KJmd0OyArICAgT25seSB1c2UgbXVsdGkgcHVzaCAmYW1wOyBwb3AgaWYgYWxsIEdQUnMg bWFza2VkIGNhbiBiZSBjb3ZlcmVkLAomZ3Q7ICsgICBhbmQgc3RhY2sgYWNjZXNzIGlzIFNQIGJh c2VkLAomZ3Q7ICsgICBhbmQgR1BScyBhcmUgYXQgdG9wIG9mIHRoZSBzdGFjayBmcmFtZSwKJmd0 OyArICAgYW5kIG5vIGNvbmZsaWN0cyBpbiBzdGFjayBhbGxvY2F0aW9uIHdpdGggb3RoZXIgZmVh dHVyZXMgICovCiZndDsgK3N0YXRpYyBib29sCiZndDsgK3Jpc2N2X2F2b2lkX211bHRpX3B1c2go Y29uc3Qgc3RydWN0IHJpc2N2X2ZyYW1lX2luZm8gKmZyYW1lKQomZ3Q7ICt7CiZndDsgKyAgaWYg KCFUQVJHRVRfWkNNUAomZ3Q7ICsgICAgICB8fCBjcnRsLSZndDtjYWxsc19laF9yZXR1cm4KJmd0 OyArICAgICAgfHwgZnJhbWVfcG9pbnRlcl9uZWVkZWQKJmd0OyArICAgICAgfHwgY2Z1bi0mZ3Q7 bWFjaGluZS0mZ3Q7aW50ZXJydXB0X2hhbmRsZXJfcAomZ3Q7ICsgICAgICB8fCBjZnVuLSZndDtt YWNoaW5lLSZndDt2YXJhcmdzX3NpemUgIT0gMAomZ3Q7ICsgICAgICB8fCBjcnRsLSZndDthcmdz LnByZXRlbmRfYXJnc19zaXplICE9IDAKJmd0OyArICAgICAgfHwgKGZyYW1lLSZndDttYXNrICZh bXA7IH4gTVVMVElfUFVTSF9HUFJfTUFTSykpCiZndDsgKyAgICByZXR1cm4gdHJ1ZTsKJmd0OyAr CiZndDsgKyAgcmV0dXJuIGZhbHNlOwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICsvKiBEZXRlcm1pbmUg d2hldGhlciB0byB1c2UgbXVsdGkgcHVzaCBpbnNuLiAgKi8KJmd0OyArc3RhdGljIGJvb2wKJmd0 OyArcmlzY3ZfdXNlX211bHRpX3B1c2goY29uc3Qgc3RydWN0IHJpc2N2X2ZyYW1lX2luZm8gKmZy YW1lKQomZ3Q7ICt7CiZndDsgKyAgaWYgKHJpc2N2X2F2b2lkX211bHRpX3B1c2ggKGZyYW1lKSkK Jmd0OyArICAgIHJldHVybiBmYWxzZTsKJmd0OyArCiZndDsgKyAgcmV0dXJuIChmcmFtZS0mZ3Q7 bXVsdGlfcHVzaF9hZGpfYmFzZSAhPSAwKTsKJmd0OyArfQomZ3Q7ICsKJmd0OyAgLyogUmV0dXJu IFRSVUUgaWYgYSBsaWJjYWxsIHRvIHNhdmUvcmVzdG9yZSBHUFJzIHNob3VsZCBiZQomZ3Q7ICAg ICBhdm9pZGVkLiAgRkFMU0Ugb3RoZXJ3aXNlLiAgKi8KJmd0OyAgc3RhdGljIGJvb2wKJmd0OyBA QCAtNDkxMyw2ICs0OTYyLDUxIEBAIHJpc2N2X3NhdmVfbGliY2FsbF9jb3VudCAodW5zaWduZWQg bWFzaykKJmd0OyAgICBhYm9ydCAoKTsKJmd0OyAgfQomZ3Q7ICAKJmd0OyArLyogY2FsY3VsYXRl IG51bWJlciBvZiBzIHJlZ3MgaW4gbXVsdGkgcHVzaCBhbmQgcG9wLgomZ3Q7ICsgICBOb3RlIHRo YXQge3MwLXMxMH0gaXMgbm90IHZhbGlkIGluIFpjbXAsIHVzZSB7czAtczExfSBpbnN0ZWFkLiAg Ki8KJmd0OyArc3RhdGljIHVuc2lnbmVkCiZndDsgK3Jpc2N2X211bHRpX3B1c2hfc3JlZ3NfY291 bnQgKHVuc2lnbmVkIG1hc2spCiZndDsgK3sKJmd0OyArICB1bnNpZ25lZCBudW0gPSByaXNjdl9z YXZlX2xpYmNhbGxfY291bnQgKG1hc2spOwomZ3Q7ICsgIHJldHVybiAobnVtID09IFpDTVBfSU5W QUxJRF9TMFMxMF9TUkVHU19DT1VOVFMpCiZndDsgKyAgICA/IFpDTVBfUzBTMTFfU1JFR1NfQ09V TlRTCiZndDsgKyAgICA6IG51bTsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyogY2FsY3VsYXRlIG51 bWJlciBvZiByZWdzKHJhLCBzMC1zeCkgaW4gbXVsdGkgcHVzaCBhbmQgcG9wLiAgKi8KJmd0OyAr c3RhdGljIHVuc2lnbmVkCiZndDsgK3Jpc2N2X211bHRpX3B1c2hfcmVnc19jb3VudCAodW5zaWdu ZWQgbWFzaykKJmd0OyArewomZ3Q7ICsgIC8qIDEgaXMgZm9yIHJhICAqLwomZ3Q7ICsgIHJldHVy biByaXNjdl9tdWx0aV9wdXNoX3NyZWdzX2NvdW50IChtYXNrKSArIDE7CiZndDsgK30KJmd0OyAr CiZndDsgKy8qIEhhbmRsZSAxNiBieXRlcyBhbGlnbiBmb3IgcG9seV9pbnQuICAqLwomZ3Q7ICtz dGF0aWMgcG9seV9pbnQ2NAomZ3Q7ICtyaXNjdl8xNmJ5dGVzX2FsaWduIChwb2x5X2ludDY0IHZh bHVlKQomZ3Q7ICt7CiZndDsgKyAgcmV0dXJuIGFsaWduZWRfdXBwZXJfYm91bmQgKHZhbHVlLCAx Nik7CiZndDsgK30KJmd0OyArCiZndDsgK3N0YXRpYyBIT1NUX1dJREVfSU5UCiZndDsgK3Jpc2N2 XzE2Ynl0ZXNfYWxpZ24gKEhPU1RfV0lERV9JTlQgdmFsdWUpCiZndDsgK3sKJmd0OyArICByZXR1 cm4gUk9VTkRfVVAodmFsdWUsIDE2KTsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyogSGFuZGxlIHN0 YWNrIGFsaWduIGZvciBwb2x5X2ludC4gICovCiZndDsgK3N0YXRpYyBwb2x5X2ludDY0CiZndDsg K3Jpc2N2X3N0YWNrX2FsaWduIChwb2x5X2ludDY0IHZhbHVlKQomZ3Q7ICt7CiZndDsgKyAgcmV0 dXJuIGFsaWduZWRfdXBwZXJfYm91bmQgKHZhbHVlLCBQUkVGRVJSRURfU1RBQ0tfQk9VTkRBUlkg LyA4KTsKJmd0OyArfQomZ3Q7ICsKJmd0OyArc3RhdGljIEhPU1RfV0lERV9JTlQKJmd0OyArcmlz Y3Zfc3RhY2tfYWxpZ24gKEhPU1RfV0lERV9JTlQgdmFsdWUpCiZndDsgK3sKJmd0OyArICByZXR1 cm4gUklTQ1ZfU1RBQ0tfQUxJR04gKHZhbHVlKTsKJmd0OyArfQomZ3Q7ICsKJmd0OyAgLyogUG9w dWxhdGUgdGhlIGN1cnJlbnQgZnVuY3Rpb24ncyByaXNjdl9mcmFtZV9pbmZvIHN0cnVjdHVyZS4K Jmd0OyAgCiZndDsgICAgIFJJU0MtViBzdGFjayBmcmFtZXMgZ3Jvd24gZG93bndhcmQuICBIaWdo IGFkZHJlc3NlcyBhcmUgYXQgdGhlIHRvcC4KJmd0OyBAQCAtNDkzOCw3ICs1MDMyLDcgQEAgcmlz Y3Zfc2F2ZV9saWJjYWxsX2NvdW50ICh1bnNpZ25lZCBtYXNrKQomZ3Q7ICAJfCAgR1BSIHNhdmUg YXJlYSAgICAgICAgICAgICAgICB8ICAgICAgICsgVU5JVFNfUEVSX1dPUkQKJmd0OyAgCXwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAomZ3Q7ICAJKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rICZsdDstLSBzdGFja19wb2ludGVyX3J0eCArIGZwX3NwX29mZnNldAomZ3Q7 IC0JfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICsgVU5JVFNfUEVSX0hX VkFMVUUKJmd0OyArCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICArIFVO SVRTX1BFUl9GUF9SRUcKJmd0OyAgCXwgIEZQUiBzYXZlIGFyZWEgICAgICAgICAgICAgICAgfAom Z3Q7ICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiZndDsgIAkrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgJmx0Oy0tIGZyYW1lX3BvaW50ZXJfcnR4ICh2aXJ0dWFs KQomZ3Q7IEBAIC00OTU3LDE5ICs1MDUxLDYgQEAgcmlzY3Zfc2F2ZV9saWJjYWxsX2NvdW50ICh1 bnNpZ25lZCBtYXNrKQomZ3Q7ICAKJmd0OyAgc3RhdGljIEhPU1RfV0lERV9JTlQgcmlzY3ZfZmly c3Rfc3RhY2tfc3RlcCAoc3RydWN0IHJpc2N2X2ZyYW1lX2luZm8gKmZyYW1lLCBwb2x5X2ludDY0 IHJlbWFpbmluZ19zaXplKTsKJmd0OyAgCiZndDsgLS8qIEhhbmRsZSBzdGFjayBhbGlnbiBmb3Ig cG9seV9pbnQuICAqLwomZ3Q7IC1zdGF0aWMgcG9seV9pbnQ2NAomZ3Q7IC1yaXNjdl9zdGFja19h bGlnbiAocG9seV9pbnQ2NCB2YWx1ZSkKJmd0OyAtewomZ3Q7IC0gIHJldHVybiBhbGlnbmVkX3Vw cGVyX2JvdW5kICh2YWx1ZSwgUFJFRkVSUkVEX1NUQUNLX0JPVU5EQVJZIC8gOCk7CiZndDsgLX0K Jmd0OyAtCiZndDsgLXN0YXRpYyBIT1NUX1dJREVfSU5UCiZndDsgLXJpc2N2X3N0YWNrX2FsaWdu IChIT1NUX1dJREVfSU5UIHZhbHVlKQomZ3Q7IC17CiZndDsgLSAgcmV0dXJuIFJJU0NWX1NUQUNL X0FMSUdOICh2YWx1ZSk7CiZndDsgLX0KJmd0OyAtCiZndDsgIHN0YXRpYyB2b2lkCiZndDsgIHJp c2N2X2NvbXB1dGVfZnJhbWVfaW5mbyAodm9pZCkKJmd0OyAgewomZ3Q7IEBAIC01MDE3LDggKzUw OTgsOSBAQCByaXNjdl9jb21wdXRlX2ZyYW1lX2luZm8gKHZvaWQpCiZndDsgICAgaWYgKGZyYW1l LSZndDttYXNrKQomZ3Q7ICAgICAgewomZ3Q7ICAgICAgICB4X3NhdmVfc2l6ZSA9IHJpc2N2X3N0 YWNrX2FsaWduIChudW1feF9zYXZlZCAqIFVOSVRTX1BFUl9XT1JEKTsKJmd0OyAtICAgICAgdW5z aWduZWQgbnVtX3NhdmVfcmVzdG9yZSA9IDEgKyByaXNjdl9zYXZlX2xpYmNhbGxfY291bnQgKGZy YW1lLSZndDttYXNrKTsKJmd0OyAgCiZndDsgKyAgICAgIC8qIDEgaXMgZm9yIHJhICAqLwomZ3Q7 ICsgICAgICB1bnNpZ25lZCBudW1fc2F2ZV9yZXN0b3JlID0gMSArIHJpc2N2X3NhdmVfbGliY2Fs bF9jb3VudCAoZnJhbWUtJmd0O21hc2spOwomZ3Q7ICAgICAgICAvKiBPbmx5IHVzZSBzYXZlL3Jl c3RvcmUgcm91dGluZXMgaWYgdGhleSBkb24ndCBhbHRlciB0aGUgc3RhY2sgc2l6ZS4gICovCiZn dDsgICAgICAgIGlmIChyaXNjdl9zdGFja19hbGlnbiAobnVtX3NhdmVfcmVzdG9yZSAqIFVOSVRT X1BFUl9XT1JEKSA9PSB4X3NhdmVfc2l6ZQomZ3Q7ICAgICAgICAgICAgJmFtcDsmYW1wOyAhcmlz Y3ZfYXZvaWRfc2F2ZV9saWJjYWxsICgpKQomZ3Q7IEBAIC01MDMwLDYgKzUxMTIsMTUgQEAgcmlz Y3ZfY29tcHV0ZV9mcmFtZV9pbmZvICh2b2lkKQomZ3Q7ICAKJmd0OyAgCSAgZnJhbWUtJmd0O3Nh dmVfbGliY2FsbF9hZGp1c3RtZW50ID0geF9zYXZlX3NpemU7CiZndDsgIAl9CiZndDsgKwomZ3Q7 ICsgICAgICBpZiAoIXJpc2N2X2F2b2lkX211bHRpX3B1c2ggKGZyYW1lKSkKJmd0OyArICAgICAg ICB7CiZndDsgKyAgICAgICAgICAvKiBudW0ocmEsIHMwLXN4KSAgKi8KJmd0OyArICAgICAgICAg IHVuc2lnbmVkIG51bV9tdWx0aV9wdXNoID0KJmd0OyArICAgICAgICAgICAgcmlzY3ZfbXVsdGlf cHVzaF9yZWdzX2NvdW50IChmcmFtZS0mZ3Q7bWFzayk7CiZndDsgKyAgICAgICAgICB4X3NhdmVf c2l6ZSA9IHJpc2N2X3N0YWNrX2FsaWduIChudW1fbXVsdGlfcHVzaCAqIFVOSVRTX1BFUl9XT1JE KTsKJmd0OyArICAgICAgICAgIGZyYW1lLSZndDttdWx0aV9wdXNoX2Fkal9iYXNlID0gcmlzY3Zf MTZieXRlc19hbGlnbiAoeF9zYXZlX3NpemUpOwomZ3Q7ICsgICAgICAgIH0KJmd0OyAgICAgIH0K Jmd0OyAgCiZndDsgICAgLyogQXQgdGhlIGJvdHRvbSBvZiB0aGUgZnJhbWUgYXJlIGFueSBvdXRn b2luZyBzdGFjayBhcmd1bWVudHMuICovCiZndDsgQEAgLTUwNDQsNyArNTEzNSwxNSBAQCByaXNj dl9jb21wdXRlX2ZyYW1lX2luZm8gKHZvaWQpCiZndDsgICAgZnJhbWUtJmd0O2ZwX3NwX29mZnNl dCA9IG9mZnNldCAtIFVOSVRTX1BFUl9GUF9SRUc7CiZndDsgICAgLyogTmV4dCBhcmUgdGhlIGNh bGxlZS1zYXZlZCBHUFJzLiAqLwomZ3Q7ICAgIGlmIChmcmFtZS0mZ3Q7bWFzaykKJmd0OyAtICAg IG9mZnNldCArPSB4X3NhdmVfc2l6ZTsKJmd0OyArICAgIHsKJmd0OyArICAgICAgb2Zmc2V0ICs9 IHhfc2F2ZV9zaXplOwomZ3Q7ICsgICAgICAvKiBhbGlnbiB0byAxNiBieXRlcyBhbmQgYWRkIHBh ZGRpbmdzIHRvIEdQUiBwYXJ0IHRvIGhvbm9yCiZndDsgKyAgICAgICAgIGJvdGggc3RhY2sgYWxp Z25tZW50IGFuZCB6Y21wIHB1cy9wb3Agc2l6ZSBhbGlnbm1lbnQuICovCiZndDsgKyAgICAgIGlm IChyaXNjdl91c2VfbXVsdGlfcHVzaCAoZnJhbWUpCiZndDsgKyAgICAgICAgICAmYW1wOyZhbXA7 IGtub3duX2x0KG9mZnNldCwKJmd0OyArICAgICAgICAgICAgICAgICAgICAgIGZyYW1lLSZndDtt dWx0aV9wdXNoX2Fkal9iYXNlICsgWkNNUF9TUF9JTkNfU1RFUCAqIFpDTVBfTUFYX1NQSU1NKSkK Jmd0OyArICAgICAgICBvZmZzZXQgPSByaXNjdl8xNmJ5dGVzX2FsaWduIChvZmZzZXQpOwomZ3Q7 ICsgICAgfQomZ3Q7ICAgIGZyYW1lLSZndDtncF9zcF9vZmZzZXQgPSBvZmZzZXQgLSBVTklUU19Q RVJfV09SRDsKJmd0OyAgICAvKiBUaGUgaGFyZCBmcmFtZSBwb2ludGVyIHBvaW50cyBhYm92ZSB0 aGUgY2FsbGVlLXNhdmVkIEdQUnMuICovCiZndDsgICAgZnJhbWUtJmd0O2hhcmRfZnJhbWVfcG9p bnRlcl9vZmZzZXQgPSBvZmZzZXQ7CiZndDsgQEAgLTUzODgsNiArNTQ4Nyw0MiBAQCByaXNjdl9h ZGp1c3RfbGliY2FsbF9jZmlfcHJvbG9ndWUgKCkKJmd0OyAgICByZXR1cm4gZHdhcmY7CiZndDsg IH0KJmd0OyAgCiZndDsgK3N0YXRpYyBydHgKJmd0OyArcmlzY3ZfYWRqdXN0X211bHRpX3B1c2hf Y2ZpX3Byb2xvZ3VlIChpbnQgc2F2ZWRfc2l6ZSkKJmd0OyArewomZ3Q7ICsgIHJ0eCBkd2FyZiA9 IE5VTExfUlRYOwomZ3Q7ICsgIHJ0eCBhZGp1c3Rfc3BfcnR4LCByZWcsIG1lbSwgaW5zbjsKJmd0 OyArICB1bnNpZ25lZCBpbnQgbWFzayA9IGNmdW4tJmd0O21hY2hpbmUtJmd0O2ZyYW1lLm1hc2s7 CiZndDsgKyAgaW50IG9mZnNldDsKJmd0OyArICBpbnQgc2F2ZWRfY250ID0gMDsKJmd0OyArCiZn dDsgKyAgaWYgKG1hc2sgJmFtcDsgUzEwX01BU0spCiZndDsgKyAgICBtYXNrIHw9IFMxMV9NQVNL OwomZ3Q7ICsKJmd0OyArICBmb3IgKGludCByZWdubyA9IEdQX1JFR19MQVNUOyByZWdubyAmZ3Q7 PSBHUF9SRUdfRklSU1Q7IHJlZ25vLS0pCiZndDsgKyAgICBpZiAoQklUU0VUX1AgKG1hc2sgJmFt cDsgTVVMVElfUFVTSF9HUFJfTUFTSywgcmVnbm8gLSBHUF9SRUdfRklSU1QpKQomZ3Q7ICsgICAg ICB7CiZndDsgKyAgICAgICAgLyogVGhlIHNhdmUgb3JkZXIgaXMgczExLXMwLCByYQomZ3Q7ICsg ICAgICAgICAgIGZyb20gaGlnaCB0byBsb3cgYWRkci4gICovCiZndDsgKyAgICAgICAgb2Zmc2V0 ID0gc2F2ZWRfc2l6ZSAtIFVOSVRTX1BFUl9XT1JEICogKCsrc2F2ZWRfY250KTsKJmd0OyArCiZn dDsgKyAgICAgICAgcmVnID0gZ2VuX3J0eF9SRUcgKFBtb2RlLCByZWdubyk7CiZndDsgKyAgICAg ICAgbWVtID0gZ2VuX2ZyYW1lX21lbSAoUG1vZGUsIHBsdXNfY29uc3RhbnQgKFBtb2RlLAomZ3Q7 ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFj a19wb2ludGVyX3J0eCwKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb2Zmc2V0KSk7CiZndDsgKwomZ3Q7ICsgICAgICAgIGluc24gPSBnZW5f cnR4X1NFVCAobWVtLCByZWcpOwomZ3Q7ICsgICAgICAgIGR3YXJmID0gYWxsb2NfcmVnX25vdGUg KFJFR19DRkFfT0ZGU0VULCBpbnNuLCBkd2FyZik7CiZndDsgKyAgICAgIH0KJmd0OyArCiZndDsg KyAgLyogRGVidWcgaW5mbyBmb3IgYWRqdXN0IHNwLiAgKi8KJmd0OyArICBhZGp1c3Rfc3BfcnR4 ID0gZ2VuX3J0eF9TRVQgKHN0YWNrX3BvaW50ZXJfcnR4LAomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGx1c19jb25zdGFudChQbW9kZSwgc3RhY2tfcG9pbnRlcl9ydHgsIC1z YXZlZF9zaXplKSk7CiZndDsgKyAgZHdhcmYgPSBhbGxvY19yZWdfbm90ZSAoUkVHX0NGQV9BREpV U1RfQ0ZBLCBhZGp1c3Rfc3BfcnR4LAomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGR3 YXJmKTsKJmd0OyArICByZXR1cm4gZHdhcmY7CiZndDsgK30KJmd0OyArCiZndDsgIHN0YXRpYyB2 b2lkCiZndDsgIHJpc2N2X2VtaXRfc3RhY2tfdGllICh2b2lkKQomZ3Q7ICB7CiZndDsgQEAgLTUz OTcsNiArNTUzMiw0NSBAQCByaXNjdl9lbWl0X3N0YWNrX3RpZSAodm9pZCkKJmd0OyAgICAgIGVt aXRfaW5zbiAoZ2VuX3N0YWNrX3RpZWRpIChzdGFja19wb2ludGVyX3J0eCwgaGFyZF9mcmFtZV9w b2ludGVyX3J0eCkpOwomZ3Q7ICB9CiZndDsgIAomZ3Q7ICsvKnpjbXAgbXVsdGkgcHVzaCBhbmQg cG9wIGNvZGVfZm9yX3B1c2hfcG9wIGZ1bmN0aW9uIHB0ciBhcnJheSAgKi8KJmd0OyArY29uc3Qg Y29kZV9mb3JfcHVzaF9wb3BfdCBjb2RlX2Zvcl9wdXNoX3BvcCBbWkNNUF9NQVhfR1JQX1NMT1RT XVtaQ01QX09QX05VTV0gPSB7CiZndDsgKyAge2NvZGVfZm9yX2dwcl9tdWx0aV9wdXNoX3VwX3Rv X3JhLCAgICBjb2RlX2Zvcl9ncHJfbXVsdGlfcG9wX3VwX3RvX3JhLAomZ3Q7ICsgICBjb2RlX2Zv cl9ncHJfbXVsdGlfcG9wcmV0X3VwX3RvX3JhfSwKJmd0OyArICB7Y29kZV9mb3JfZ3ByX211bHRp X3B1c2hfdXBfdG9fczAsICAgIGNvZGVfZm9yX2dwcl9tdWx0aV9wb3BfdXBfdG9fczAsCiZndDsg KyAgIGNvZGVfZm9yX2dwcl9tdWx0aV9wb3ByZXRfdXBfdG9fczB9LAomZ3Q7ICsgIHtjb2RlX2Zv cl9ncHJfbXVsdGlfcHVzaF91cF90b19zMSwgICAgY29kZV9mb3JfZ3ByX211bHRpX3BvcF91cF90 b19zMSwKJmd0OyArICAgY29kZV9mb3JfZ3ByX211bHRpX3BvcHJldF91cF90b19zMX0sCiZndDsg KyAge2NvZGVfZm9yX2dwcl9tdWx0aV9wdXNoX3VwX3RvX3MyLCAgICBjb2RlX2Zvcl9ncHJfbXVs dGlfcG9wX3VwX3RvX3MyLAomZ3Q7ICsgICBjb2RlX2Zvcl9ncHJfbXVsdGlfcG9wcmV0X3VwX3Rv X3MyfSwKJmd0OyArICB7Y29kZV9mb3JfZ3ByX211bHRpX3B1c2hfdXBfdG9fczMsICAgIGNvZGVf Zm9yX2dwcl9tdWx0aV9wb3BfdXBfdG9fczMsCiZndDsgKyAgIGNvZGVfZm9yX2dwcl9tdWx0aV9w b3ByZXRfdXBfdG9fczN9LAomZ3Q7ICsgIHtjb2RlX2Zvcl9ncHJfbXVsdGlfcHVzaF91cF90b19z NCwgICAgY29kZV9mb3JfZ3ByX211bHRpX3BvcF91cF90b19zNCwKJmd0OyArICAgY29kZV9mb3Jf Z3ByX211bHRpX3BvcHJldF91cF90b19zNH0sCiZndDsgKyAge2NvZGVfZm9yX2dwcl9tdWx0aV9w dXNoX3VwX3RvX3M1LCAgICBjb2RlX2Zvcl9ncHJfbXVsdGlfcG9wX3VwX3RvX3M1LAomZ3Q7ICsg ICBjb2RlX2Zvcl9ncHJfbXVsdGlfcG9wcmV0X3VwX3RvX3M1fSwKJmd0OyArICB7Y29kZV9mb3Jf Z3ByX211bHRpX3B1c2hfdXBfdG9fczYsICAgIGNvZGVfZm9yX2dwcl9tdWx0aV9wb3BfdXBfdG9f czYsCiZndDsgKyAgIGNvZGVfZm9yX2dwcl9tdWx0aV9wb3ByZXRfdXBfdG9fczZ9LAomZ3Q7ICsg IHtjb2RlX2Zvcl9ncHJfbXVsdGlfcHVzaF91cF90b19zNywgICAgY29kZV9mb3JfZ3ByX211bHRp X3BvcF91cF90b19zNywKJmd0OyArICAgY29kZV9mb3JfZ3ByX211bHRpX3BvcHJldF91cF90b19z N30sCiZndDsgKyAge2NvZGVfZm9yX2dwcl9tdWx0aV9wdXNoX3VwX3RvX3M4LCAgICBjb2RlX2Zv cl9ncHJfbXVsdGlfcG9wX3VwX3RvX3M4LAomZ3Q7ICsgICBjb2RlX2Zvcl9ncHJfbXVsdGlfcG9w cmV0X3VwX3RvX3M4fSwKJmd0OyArICB7Y29kZV9mb3JfZ3ByX211bHRpX3B1c2hfdXBfdG9fczks ICAgIGNvZGVfZm9yX2dwcl9tdWx0aV9wb3BfdXBfdG9fczksCiZndDsgKyAgIGNvZGVfZm9yX2dw cl9tdWx0aV9wb3ByZXRfdXBfdG9fczl9LAomZ3Q7ICsgIHtudWxscHRyLCBudWxscHRyLCBudWxs cHRyfSwKJmd0OyArICB7Y29kZV9mb3JfZ3ByX211bHRpX3B1c2hfdXBfdG9fczExLCAgIGNvZGVf Zm9yX2dwcl9tdWx0aV9wb3BfdXBfdG9fczExLAomZ3Q7ICsgICBjb2RlX2Zvcl9ncHJfbXVsdGlf cG9wcmV0X3VwX3RvX3MxMX19OwomZ3Q7ICsKJmd0OyArc3RhdGljIHJ0eAomZ3Q7ICtyaXNjdl9n ZW5fbXVsdGlfcHVzaF9wb3BfaW5zbiAocmlzY3ZfemNtcF9vcF90IG9wLCBIT1NUX1dJREVfSU5U IGFkal9zaXplLAomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IHJlZ3NfbnVtKQomZ3Q7ICt7CiZndDsgKyAgZ2NjX2Fzc2VydCAob3AgJmx0OyBaQ01QX09Q X05VTSk7CiZndDsgKyAgZ2NjX2Fzc2VydCAocmVnc19udW0gJmx0Oz0gWkNNUF9NQVhfR1JQX1NM T1RTCiZndDsgKyAgICAgICAgICAgICAgJmFtcDsmYW1wOyByZWdzX251bSAhPSBaQ01QX0lOVkFM SURfUzBTMTBfU1JFR1NfQ09VTlRTICsgMSk7IC8qIDEgZm9yIHJhKi8KJmd0OyArICBydHggc3Rh Y2tfYWRqID0gR0VOX0lOVCAoYWRqX3NpemUpOwomZ3Q7ICsgIHJldHVybiBHRU5fRkNOIChjb2Rl X2Zvcl9wdXNoX3BvcFtyZWdzX251bSAtIDFdW29wXSAoUG1vZGUpKSAoc3RhY2tfYWRqKTsKJmd0 OyArfQomZ3Q7ICsKJmd0OyAgLyogRXhwYW5kIHRoZSAicHJvbG9ndWUiIHBhdHRlcm4uICAqLwom Z3Q7ICAKJmd0OyAgdm9pZAomZ3Q7IEBAIC01NDA1LDcgKzU1NzksOCBAQCByaXNjdl9leHBhbmRf cHJvbG9ndWUgKHZvaWQpCiZndDsgICAgc3RydWN0IHJpc2N2X2ZyYW1lX2luZm8gKmZyYW1lID0g JmFtcDtjZnVuLSZndDttYWNoaW5lLSZndDtmcmFtZTsKJmd0OyAgICBwb2x5X2ludDY0IHJlbWFp bmluZ19zaXplID0gZnJhbWUtJmd0O3RvdGFsX3NpemU7CiZndDsgICAgdW5zaWduZWQgbWFzayA9 IGZyYW1lLSZndDttYXNrOwomZ3Q7IC0gIHJ0eCBpbnNuOwomZ3Q7ICsgIGludCBzcGltbSwgbXVs dGlfcHVzaF9hZGRpdGlvbmFsLCBzdGFja19hZGo7CiZndDsgKyAgcnR4IGluc24sIGR3YXJmID0g TlVMTF9SVFg7CiZndDsgIAomZ3Q7ICAgIGlmIChmbGFnX3N0YWNrX3VzYWdlX2luZm8pCiZndDsg ICAgICBjdXJyZW50X2Z1bmN0aW9uX3N0YXRpY19zdGFja19zaXplID0gY29uc3RhbnRfbG93ZXJf Ym91bmQgKHJlbWFpbmluZ19zaXplKTsKJmd0OyBAQCAtNTQxMyw4ICs1NTg4LDM1IEBAIHJpc2N2 X2V4cGFuZF9wcm9sb2d1ZSAodm9pZCkKJmd0OyAgICBpZiAoY2Z1bi0mZ3Q7bWFjaGluZS0mZ3Q7 bmFrZWRfcCkKJmd0OyAgICAgIHJldHVybjsKJmd0OyAgCiZndDsgKyAgLyogcHJlZmVyIG11dGkt cHVzaCB0byBzYXZlLXJlc3RvcmUgbGliY2FsbC4gICovCiZndDsgKyAgaWYgKHJpc2N2X3VzZV9t dWx0aV9wdXNoKGZyYW1lKSkKJmd0OyArICAgIHsKJmd0OyArICAgICAgcmVtYWluaW5nX3NpemUg LT0gZnJhbWUtJmd0O211bHRpX3B1c2hfYWRqX2Jhc2U7CiZndDsgKyAgICAgIGlmIChrbm93bl9n dChyZW1haW5pbmdfc2l6ZSwgMiAqIFpDTVBfU1BfSU5DX1NURVApKQomZ3Q7ICsgICAgICAgIHNw aW1tID0gMzsKJmd0OyArICAgICAgZWxzZSBpZiAoa25vd25fZ3QocmVtYWluaW5nX3NpemUsIFpD TVBfU1BfSU5DX1NURVApKQomZ3Q7ICsgICAgICAgIHNwaW1tID0gMjsKJmd0OyArICAgICAgZWxz ZSBpZiAoa25vd25fZ3QocmVtYWluaW5nX3NpemUsIDApKQomZ3Q7ICsgICAgICAgIHNwaW1tID0g MTsKJmd0OyArICAgICAgZWxzZQomZ3Q7ICsgICAgICAgIHNwaW1tID0gMDsKJmd0OyArICAgICAg bXVsdGlfcHVzaF9hZGRpdGlvbmFsID0gc3BpbW0gKiBaQ01QX1NQX0lOQ19TVEVQOwomZ3Q7ICsg ICAgICBmcmFtZS0mZ3Q7bXVsdGlfcHVzaF9hZGpfYWRkaSA9IG11bHRpX3B1c2hfYWRkaXRpb25h bDsKJmd0OyArICAgICAgcmVtYWluaW5nX3NpemUgLT0gbXVsdGlfcHVzaF9hZGRpdGlvbmFsOwom Z3Q7ICsKJmd0OyArICAgICAgLyogZW1pdCBtdWx0aSBwdXNoIGluc24gJmFtcDsgZHdhcmYgYWxv bmcgd2l0aCBpdC4gICovCiZndDsgKyAgICAgIHN0YWNrX2FkaiA9IGZyYW1lLSZndDttdWx0aV9w dXNoX2Fkal9iYXNlICsgbXVsdGlfcHVzaF9hZGRpdGlvbmFsOwomZ3Q7ICsgICAgICBpbnNuID0g ZW1pdF9pbnNuIChyaXNjdl9nZW5fbXVsdGlfcHVzaF9wb3BfaW5zbihQVVNIX0lEWCwKJmd0OyAr ICAgICAgICAtc3RhY2tfYWRqLCByaXNjdl9tdWx0aV9wdXNoX3JlZ3NfY291bnQoZnJhbWUtJmd0 O21hc2spKSk7CiZndDsgKyAgICAgIGR3YXJmID0gcmlzY3ZfYWRqdXN0X211bHRpX3B1c2hfY2Zp X3Byb2xvZ3VlIChzdGFja19hZGopOwomZ3Q7ICsgICAgICBSVFhfRlJBTUVfUkVMQVRFRF9QIChp bnNuKSA9IDE7CiZndDsgKyAgICAgIFJFR19OT1RFUyAoaW5zbikgPSBkd2FyZjsKJmd0OyArCiZn dDsgKyAgICAgIC8qIFRlbXBvcmFyaWx5IGZpYiB0aGF0IHdlIG5lZWQgbm90IHNhdmUgR1BScy4g ICovCiZndDsgKyAgICAgIGZyYW1lLSZndDttYXNrID0gMDsKJmd0OyArICAgIH0KJmd0OyAgICAv KiBXaGVuIG9wdGltaXppbmcgZm9yIHNpemUsIGNhbGwgYSBzdWJyb3V0aW5lIHRvIHNhdmUgdGhl IHJlZ2lzdGVycy4gICovCiZndDsgLSAgaWYgKHJpc2N2X3VzZV9zYXZlX2xpYmNhbGwgKGZyYW1l KSkKJmd0OyArICBlbHNlIGlmIChyaXNjdl91c2Vfc2F2ZV9saWJjYWxsIChmcmFtZSkpCiZndDsg ICAgICB7CiZndDsgICAgICAgIHJ0eCBkd2FyZiA9IE5VTExfUlRYOwomZ3Q7ICAgICAgICBkd2Fy ZiA9IHJpc2N2X2FkanVzdF9saWJjYWxsX2NmaV9wcm9sb2d1ZSAoKTsKJmd0OyBAQCAtNTQzMCwx MyArNTYzMiwxNSBAQCByaXNjdl9leHBhbmRfcHJvbG9ndWUgKHZvaWQpCiZndDsgICAgLyogU2F2 ZSB0aGUgcmVnaXN0ZXJzLiAgKi8KJmd0OyAgICBpZiAoKGZyYW1lLSZndDttYXNrIHwgZnJhbWUt Jmd0O2ZtYXNrKSAhPSAwKQomZ3Q7ICAgICAgewomZ3Q7IC0gICAgICBIT1NUX1dJREVfSU5UIHN0 ZXAxID0gcmlzY3ZfZmlyc3Rfc3RhY2tfc3RlcCAoZnJhbWUsIHJlbWFpbmluZ19zaXplKTsKJmd0 OyAtCiZndDsgLSAgICAgIGluc24gPSBnZW5fYWRkM19pbnNuIChzdGFja19wb2ludGVyX3J0eCwK Jmd0OyAtCQkJICAgIHN0YWNrX3BvaW50ZXJfcnR4LAomZ3Q7IC0JCQkgICAgR0VOX0lOVCAoLXN0 ZXAxKSk7CiZndDsgLSAgICAgIFJUWF9GUkFNRV9SRUxBVEVEX1AgKGVtaXRfaW5zbiAoaW5zbikp ID0gMTsKJmd0OyAtICAgICAgcmVtYWluaW5nX3NpemUgLT0gc3RlcDE7CiZndDsgKyAgICAgIGlm IChrbm93bl9ndCAocmVtYWluaW5nX3NpemUsIGZyYW1lLSZndDtmcmFtZV9wb2ludGVyX29mZnNl dCkpCiZndDsgKyAgICAgICAgewomZ3Q7ICsgICAgICAgICAgSE9TVF9XSURFX0lOVCBzdGVwMSA9 IHJpc2N2X2ZpcnN0X3N0YWNrX3N0ZXAgKGZyYW1lLCByZW1haW5pbmdfc2l6ZSk7CiZndDsgKyAg ICAgICAgICByZW1haW5pbmdfc2l6ZSAtPSBzdGVwMTsKJmd0OyArICAgICAgICAgIGluc24gPSBn ZW5fYWRkM19pbnNuIChzdGFja19wb2ludGVyX3J0eCwKJmd0OyArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGFja19wb2ludGVyX3J0eCwKJmd0OyArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHRU5fSU5UICgtc3RlcDEpKTsKJmd0OyArICAgICAgICAgIFJUWF9GUkFN RV9SRUxBVEVEX1AgKGVtaXRfaW5zbiAoaW5zbikpID0gMTsKJmd0OyArICAgICAgICB9CiZndDsg ICAgICAgIHJpc2N2X2Zvcl9lYWNoX3NhdmVkX3JlZyAocmVtYWluaW5nX3NpemUsIHJpc2N2X3Nh dmVfcmVnLCBmYWxzZSwgZmFsc2UpOwomZ3Q7ICAgICAgfQomZ3Q7ICAKJmd0OyBAQCAtNTQ5Myw2 ICs1Njk3LDMyIEBAIHJpc2N2X2V4cGFuZF9wcm9sb2d1ZSAodm9pZCkKJmd0OyAgICAgIH0KJmd0 OyAgfQomZ3Q7ICAKJmd0OyArc3RhdGljIHJ0eAomZ3Q7ICtyaXNjdl9hZGp1c3RfbXVsdGlfcG9w X2NmaV9lcGlsb2d1ZSAoaW50IHNhdmVkX3NpemUpCiZndDsgK3sKJmd0OyArICBydHggZHdhcmYg PSBOVUxMX1JUWDsKJmd0OyArICBydHggYWRqdXN0X3NwX3J0eCwgcmVnOwomZ3Q7ICsgIHVuc2ln bmVkIGludCBtYXNrID0gY2Z1bi0mZ3Q7bWFjaGluZS0mZ3Q7ZnJhbWUubWFzazsKJmd0OyArCiZn dDsgKyAgaWYgKG1hc2sgJmFtcDsgUzEwX01BU0spCiZndDsgKyAgICBtYXNrIHw9IFMxMV9NQVNL OwomZ3Q7ICsKJmd0OyArICAvKiBEZWJ1ZyBpbmZvIGZvciBhZGp1c3Qgc3AuICAqLwomZ3Q7ICsg IGFkanVzdF9zcF9ydHggPSBnZW5fcnR4X1NFVCAoc3RhY2tfcG9pbnRlcl9ydHgsCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbHVzX2NvbnN0YW50KFBtb2RlLCBzdGFja19w b2ludGVyX3J0eCwgc2F2ZWRfc2l6ZSkpOwomZ3Q7ICsgIGR3YXJmID0gYWxsb2NfcmVnX25vdGUg KFJFR19DRkFfQURKVVNUX0NGQSwgYWRqdXN0X3NwX3J0eCwKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAgICBkd2FyZik7CiZndDsgKwomZ3Q7ICsgIGZvciAoaW50IHJlZ25vID0gR1BfUkVH X0ZJUlNUOyByZWdubyAmbHQ7PSBHUF9SRUdfTEFTVDsgcmVnbm8rKykKJmd0OyArICAgIGlmIChC SVRTRVRfUCAobWFzaywgcmVnbm8gLSBHUF9SRUdfRklSU1QpKQomZ3Q7ICsgICAgICB7CiZndDsg KyAgICAgICAgcmVnID0gZ2VuX3J0eF9SRUcgKFBtb2RlLCByZWdubyk7CiZndDsgKyAgICAgICAg ZHdhcmYgPSBhbGxvY19yZWdfbm90ZSAoUkVHX0NGQV9SRVNUT1JFLCByZWcsIGR3YXJmKTsKJmd0 OyArICAgICAgfQomZ3Q7ICsKJmd0OyArICByZXR1cm4gZHdhcmY7CiZndDsgK30KJmd0OyArCiZn dDsgIHN0YXRpYyBydHgKJmd0OyAgcmlzY3ZfYWRqdXN0X2xpYmNhbGxfY2ZpX2VwaWxvZ3VlICgp CiZndDsgIHsKJmd0OyBAQCAtNTUzMiwxMCArNTc2MiwxOCBAQCByaXNjdl9leHBhbmRfZXBpbG9n dWUgKGludCBzdHlsZSkKJmd0OyAgICBzdHJ1Y3QgcmlzY3ZfZnJhbWVfaW5mbyAqZnJhbWUgPSAm YW1wO2NmdW4tJmd0O21hY2hpbmUtJmd0O2ZyYW1lOwomZ3Q7ICAgIHVuc2lnbmVkIG1hc2sgPSBm cmFtZS0mZ3Q7bWFzazsKJmd0OyAgICBIT1NUX1dJREVfSU5UIHN0ZXAyID0gMDsKJmd0OyAtICBi b29sIHVzZV9yZXN0b3JlX2xpYmNhbGwgPSAoKHN0eWxlID09IE5PUk1BTF9SRVRVUk4pCiZndDsg LQkJCSAgICAgICZhbXA7JmFtcDsgcmlzY3ZfdXNlX3NhdmVfbGliY2FsbCAoZnJhbWUpKTsKJmd0 OyAtICB1bnNpZ25lZCBsaWJjYWxsX3NpemUgPSAodXNlX3Jlc3RvcmVfbGliY2FsbAomZ3Q7IC0J CQkgICA/IGZyYW1lLSZndDtzYXZlX2xpYmNhbGxfYWRqdXN0bWVudCA6IDApOwomZ3Q7ICsgIGJv b2wgdXNlX211bHRpX3BvcF9ub3JtYWwgPSAoKHN0eWxlID09IE5PUk1BTF9SRVRVUk4pCiZndDsg KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbXA7JmFtcDsgcmlzY3ZfdXNlX211bHRp X3B1c2ggKGZyYW1lKSk7CiZndDsgKyAgYm9vbCB1c2VfbXVsdGlfcG9wX3NpYmNhbGwgPSAoKHN0 eWxlID09IFNJQkNBTExfUkVUVVJOKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmYW1wOyZhbXA7IHJpc2N2X3VzZV9tdWx0aV9wdXNoIChmcmFtZSkpOwomZ3Q7ICsgIGJvb2wg dXNlX211bHRpX3BvcCA9IHVzZV9tdWx0aV9wb3Bfbm9ybWFsIHx8IHVzZV9tdWx0aV9wb3Bfc2li Y2FsbDsKJmd0OyArCiZndDsgKyAgYm9vbCB1c2VfcmVzdG9yZV9saWJjYWxsID0gIXVzZV9tdWx0 aV9wb3AgJmFtcDsmYW1wOyAoKHN0eWxlID09IE5PUk1BTF9SRVRVUk4pCiZndDsgKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZhbXA7JmFtcDsgcmlzY3ZfdXNlX3NhdmVfbGliY2FsbCAo ZnJhbWUpKTsKJmd0OyArICB1bnNpZ25lZCBsaWJjYWxsX3NpemUgPSB1c2VfcmVzdG9yZV9saWJj YWxsICZhbXA7JmFtcDsgIXVzZV9tdWx0aV9wb3AgPwomZ3Q7ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZnJhbWUtJmd0O3NhdmVfbGliY2FsbF9hZGp1c3RtZW50IDogMDsKJmd0OyArICB1 bnNpZ25lZCBtdWx0aXBvcF9zaXplID0gdXNlX211bHRpX3BvcCA/CiZndDsgKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmcmFtZS0mZ3Q7bXVsdGlfcHVzaF9hZGpfYmFzZSArIGZyYW1lLSZn dDttdWx0aV9wdXNoX2Fkal9hZGRpIDogMDsKJmd0OyAgICBydHggcmEgPSBnZW5fcnR4X1JFRyAo UG1vZGUsIFJFVFVSTl9BRERSX1JFR05VTSk7CiZndDsgICAgcnR4IGluc247CiZndDsgIAomZ3Q7 IEBAIC01NjA2LDE4ICs1ODQ0LDI1IEBAIHJpc2N2X2V4cGFuZF9lcGlsb2d1ZSAoaW50IHN0eWxl KQomZ3Q7ICAgICAgICBSRUdfTk9URVMgKGluc24pID0gZHdhcmY7CiZndDsgICAgICB9CiZndDsg IAomZ3Q7IC0gIGlmICh1c2VfcmVzdG9yZV9saWJjYWxsKQomZ3Q7IC0gICAgZnJhbWUtJmd0O21h c2sgPSAwOyAvKiBUZW1wb3JhcmlseSBmaWIgZm9yIEdQUnMuICAqLwomZ3Q7ICsgIGlmICh1c2Vf cmVzdG9yZV9saWJjYWxsIHx8IHVzZV9tdWx0aV9wb3ApCiZndDsgKyAgICBmcmFtZS0mZ3Q7bWFz ayA9IDA7IC8qIFRlbXBvcmFyaWx5IGZpYiB0aGF0IHdlIG5lZWQgbm90IHNhdmUgR1BScy4gICov CiZndDsgIAomZ3Q7ICAgIC8qIElmIHdlIG5lZWQgdG8gcmVzdG9yZSByZWdpc3RlcnMsIGRlYWxs b2NhdGUgYXMgbXVjaCBzdGFjayBhcwomZ3Q7ICAgICAgIHBvc3NpYmxlIGluIHRoZSBzZWNvbmQg c3RlcCB3aXRob3V0IGdvaW5nIG91dCBvZiByYW5nZS4gICovCiZndDsgLSAgaWYgKChmcmFtZS0m Z3Q7bWFzayB8IGZyYW1lLSZndDtmbWFzaykgIT0gMCkKJmd0OyArICBpZiAodXNlX211bHRpX3Bv cCkKJmd0OyArICAgIHsKJmd0OyArICAgICAgaWYgKGZyYW1lLSZndDtmbWFzawomZ3Q7ICsgICAg ICAgICAgJmFtcDsmYW1wOyBrbm93bl9ndCAoZnJhbWUtJmd0O3RvdGFsX3NpemUgLSBtdWx0aXBv cF9zaXplLAomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgZnJhbWUtJmd0O2ZyYW1lX3BvaW50 ZXJfb2Zmc2V0KSkKJmd0OyArICAgICAgICBzdGVwMiA9IHJpc2N2X2ZpcnN0X3N0YWNrX3N0ZXAg KGZyYW1lLCBmcmFtZS0mZ3Q7dG90YWxfc2l6ZSAtIG11bHRpcG9wX3NpemUpOwomZ3Q7ICsgICAg fQomZ3Q7ICsgIGVsc2UgaWYgKChmcmFtZS0mZ3Q7bWFzayB8IGZyYW1lLSZndDtmbWFzaykgIT0g MCkKJmd0OyAgICAgIHN0ZXAyID0gcmlzY3ZfZmlyc3Rfc3RhY2tfc3RlcCAoZnJhbWUsIGZyYW1l LSZndDt0b3RhbF9zaXplIC0gbGliY2FsbF9zaXplKTsKJmd0OyAgCiZndDsgLSAgaWYgKHVzZV9y ZXN0b3JlX2xpYmNhbGwpCiZndDsgKyAgaWYgKHVzZV9yZXN0b3JlX2xpYmNhbGwgfHwgdXNlX211 bHRpX3BvcCkKJmd0OyAgICAgIGZyYW1lLSZndDttYXNrID0gbWFzazsgLyogVW5kbyB0aGUgYWJv dmUgZmliLiAgKi8KJmd0OyAgCiZndDsgLSAgcG9seV9pbnQ2NCBzdGVwMSA9IGZyYW1lLSZndDt0 b3RhbF9zaXplIC0gc3RlcDIgLSBsaWJjYWxsX3NpemU7CiZndDsgKyAgcG9seV9pbnQ2NCBzdGVw MSA9IGZyYW1lLSZndDt0b3RhbF9zaXplIC0gc3RlcDIgLSBsaWJjYWxsX3NpemUgLSBtdWx0aXBv cF9zaXplIDsKJmd0OyAgCiZndDsgICAgLyogU2V0IFRBUkdFVCB0byBCQVNFICsgU1RFUDEuICAq LwomZ3Q7ICAgIGlmIChrbm93bl9ndCAoc3RlcDEsIDApKQomZ3Q7IEBAIC01NjUyLDcgKzU4OTcs NyBAQCByaXNjdl9leHBhbmRfZXBpbG9ndWUgKGludCBzdHlsZSkKJmd0OyAgCQkJCQkgICBhZGp1 c3QpKTsKJmd0OyAgCSAgcnR4IGR3YXJmID0gTlVMTF9SVFg7CiZndDsgIAkgIHJ0eCBjZmFfYWRq dXN0X3J0eCA9IGdlbl9ydHhfUExVUyAoUG1vZGUsIHN0YWNrX3BvaW50ZXJfcnR4LAomZ3Q7IC0J CQkJCSAgICAgR0VOX0lOVCAoc3RlcDIgKyBsaWJjYWxsX3NpemUpKTsKJmd0OyArCQkJCQkgICAg IEdFTl9JTlQgKHN0ZXAyICsgbGliY2FsbF9zaXplICsgbXVsdGlwb3Bfc2l6ZSkpOwomZ3Q7ICAK Jmd0OyAgCSAgZHdhcmYgPSBhbGxvY19yZWdfbm90ZSAoUkVHX0NGQV9ERUZfQ0ZBLCBjZmFfYWRq dXN0X3J0eCwgZHdhcmYpOwomZ3Q7ICAJICBSVFhfRlJBTUVfUkVMQVRFRF9QIChpbnNuKSA9IDE7 CiZndDsgQEAgLTU2NjcsMTUgKzU5MTIsMTUgQEAgcmlzY3ZfZXhwYW5kX2VwaWxvZ3VlIChpbnQg c3R5bGUpCiZndDsgICAgICAgIGVwaWxvZ3VlX2NmYV9zcF9vZmZzZXQgPSBzdGVwMjsKJmd0OyAg ICAgIH0KJmd0OyAgCiZndDsgLSAgaWYgKHVzZV9yZXN0b3JlX2xpYmNhbGwpCiZndDsgKyAgaWYg KHVzZV9yZXN0b3JlX2xpYmNhbGwgfHwgdXNlX211bHRpX3BvcCkKJmd0OyAgICAgIGZyYW1lLSZn dDttYXNrID0gMDsgLyogVGVtcG9yYXJpbHkgZmliIHRoYXQgd2UgbmVlZCBub3Qgc2F2ZSBHUFJz LiAgKi8KJmd0OyAgCiZndDsgICAgLyogUmVzdG9yZSB0aGUgcmVnaXN0ZXJzLiAgKi8KJmd0OyAt ICByaXNjdl9mb3JfZWFjaF9zYXZlZF9yZWcgKGZyYW1lLSZndDt0b3RhbF9zaXplIC0gc3RlcDIg LSBsaWJjYWxsX3NpemUsCiZndDsgKyAgcmlzY3ZfZm9yX2VhY2hfc2F2ZWRfcmVnIChmcmFtZS0m Z3Q7dG90YWxfc2l6ZSAtIHN0ZXAyIC0gbGliY2FsbF9zaXplIC0gbXVsdGlwb3Bfc2l6ZSwKJmd0 OyAgCQkJICAgIHJpc2N2X3Jlc3RvcmVfcmVnLAomZ3Q7ICAJCQkgICAgdHJ1ZSwgc3R5bGUgPT0g RVhDRVBUSU9OX1JFVFVSTik7CiZndDsgIAomZ3Q7IC0gIGlmICh1c2VfcmVzdG9yZV9saWJjYWxs KQomZ3Q7ICsgIGlmICh1c2VfcmVzdG9yZV9saWJjYWxsIHx8IHVzZV9tdWx0aV9wb3ApCiZndDsg ICAgICAgIGZyYW1lLSZndDttYXNrID0gbWFzazsgLyogVW5kbyB0aGUgYWJvdmUgZmliLiAgKi8K Jmd0OyAgCiZndDsgICAgaWYgKG5lZWRfYmFycmllcl9wKQomZ3Q7IEBAIC01Njg5LDE0ICs1OTM0 LDMwIEBAIHJpc2N2X2V4cGFuZF9lcGlsb2d1ZSAoaW50IHN0eWxlKQomZ3Q7ICAKJmd0OyAgICAg ICAgcnR4IGR3YXJmID0gTlVMTF9SVFg7CiZndDsgICAgICAgIHJ0eCBjZmFfYWRqdXN0X3J0eCA9 IGdlbl9ydHhfUExVUyAoUG1vZGUsIHN0YWNrX3BvaW50ZXJfcnR4LAomZ3Q7IC0JCQkJCSBHRU5f SU5UIChsaWJjYWxsX3NpemUpKTsKJmd0OyArCQkJCQkgR0VOX0lOVCAobGliY2FsbF9zaXplICsg bXVsdGlwb3Bfc2l6ZSkpOwomZ3Q7ICAgICAgICBkd2FyZiA9IGFsbG9jX3JlZ19ub3RlIChSRUdf Q0ZBX0RFRl9DRkEsIGNmYV9hZGp1c3RfcnR4LCBkd2FyZik7CiZndDsgICAgICAgIFJUWF9GUkFN RV9SRUxBVEVEX1AgKGluc24pID0gMTsKJmd0OyAgCiZndDsgICAgICAgIFJFR19OT1RFUyAoaW5z bikgPSBkd2FyZjsKJmd0OyAgICAgIH0KJmd0OyAgCiZndDsgLSAgaWYgKHVzZV9yZXN0b3JlX2xp YmNhbGwpCiZndDsgKyAgaWYgKHVzZV9tdWx0aV9wb3ApCiZndDsgKyAgICB7CiZndDsgKyAgICAg IHVuc2lnbmVkIHJlZ3NfY291bnQgPSByaXNjdl9tdWx0aV9wdXNoX3JlZ3NfY291bnQgKGZyYW1l LSZndDttYXNrKTsKJmd0OyArICAgICAgaWYgKHVzZV9tdWx0aV9wb3Bfbm9ybWFsKQomZ3Q7ICsg ICAgICAgIGluc24gPSBlbWl0X2p1bXBfaW5zbiAoCiZndDsgKyAgICAgICAgICByaXNjdl9nZW5f bXVsdGlfcHVzaF9wb3BfaW5zbiAoUE9QUkVUX0lEWCwgbXVsdGlwb3Bfc2l6ZSwgcmVnc19jb3Vu dCkpOwomZ3Q7ICsgICAgICBlbHNlCiZndDsgKyAgICAgICAgaW5zbj0gZW1pdF9pbnNuICgKJmd0 OyArICAgICAgICAgIHJpc2N2X2dlbl9tdWx0aV9wdXNoX3BvcF9pbnNuKFBPUF9JRFgsIG11bHRp cG9wX3NpemUsIHJlZ3NfY291bnQpKTsKJmd0OyArCiZndDsgKyAgICAgIHJ0eCBkd2FyZiA9IHJp c2N2X2FkanVzdF9tdWx0aV9wb3BfY2ZpX2VwaWxvZ3VlIChtdWx0aXBvcF9zaXplKTsKJmd0OyAr ICAgICAgUlRYX0ZSQU1FX1JFTEFURURfUCAoaW5zbikgPSAxOwomZ3Q7ICsgICAgICBSRUdfTk9U RVMgKGluc24pID0gZHdhcmY7CiZndDsgKyAgICAgIGlmICh1c2VfbXVsdGlfcG9wX25vcm1hbCkK Jmd0OyArICAgICAgICByZXR1cm47CiZndDsgKyAgICB9CiZndDsgKyAgZWxzZSBpZiAodXNlX3Jl c3RvcmVfbGliY2FsbCkKJmd0OyAgICAgIHsKJmd0OyAgICAgICAgcnR4IGR3YXJmID0gcmlzY3Zf YWRqdXN0X2xpYmNhbGxfY2ZpX2VwaWxvZ3VlICgpOwomZ3Q7ICAgICAgICBpbnNuID0gZW1pdF9p bnNuIChnZW5fZ3ByX3Jlc3RvcmUgKEdFTl9JTlQgKHJpc2N2X3NhdmVfbGliY2FsbF9jb3VudCAo bWFzaykpKSk7CiZndDsgQEAgLTY5ODAsNiArNzI0MSwyNSBAQCByaXNjdl9nZW5fZ3ByX3NhdmVf aW5zbiAoc3RydWN0IHJpc2N2X2ZyYW1lX2luZm8gKmZyYW1lKQomZ3Q7ICAgIHJldHVybiBnZW5f cnR4X1BBUkFMTEVMIChWT0lEbW9kZSwgdmVjKTsKJmd0OyAgfQomZ3Q7ICAKJmd0OyArc3RhdGlj IEhPU1RfV0lERV9JTlQgemNtcF9iYXNlX2FkaihpbnQgcmVnc19udW0pCiZndDsgK3sKJmd0OyAr ICByZXR1cm4gcmlzY3ZfMTZieXRlc19hbGlnbiAoKHJlZ3NfbnVtKSAqIEdFVF9NT0RFX1NJWkUg KHdvcmRfbW9kZSkpOwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICtzdGF0aWMgSE9TVF9XSURFX0lOVCB6 Y21wX2FkZGl0aW9uYWxfYWRqKEhPU1RfV0lERV9JTlQgdG90YWwsIGludCByZWdzX251bSkKJmd0 OyArewomZ3Q7ICsgIHJldHVybiB0b3RhbCAtIHpjbXBfYmFzZV9hZGoocmVnc19udW0pOwomZ3Q7 ICt9CiZndDsgKwomZ3Q7ICtib29sIHJpc2N2X3pjbXBfdmFsaWRfc3RhY2tfYWRqX2J5dGVzX3Ag KEhPU1RfV0lERV9JTlQgdG90YWwsIGludCByZWdzX251bSkKJmd0OyArewomZ3Q7ICsgIEhPU1Rf V0lERV9JTlQgYWRkaXRpb2FubF9ieXRlcyA9IHpjbXBfYWRkaXRpb25hbF9hZGoodG90YWwsIHJl Z3NfbnVtKTsKJmd0OyArICByZXR1cm4gYWRkaXRpb2FubF9ieXRlcyA9PSAwCiZndDsgKyAgICAg ICAgIHx8IGFkZGl0aW9hbmxfYnl0ZXMgID09IDEgKiBaQ01QX1NQX0lOQ19TVEVQCiZndDsgKyAg ICAgICAgIHx8IGFkZGl0aW9hbmxfYnl0ZXMgID09IDIgKiBaQ01QX1NQX0lOQ19TVEVQCiZndDsg KyAgICAgICAgIHx8IGFkZGl0aW9hbmxfYnl0ZXMgID09IFpDTVBfTUFYX1NQSU1NICogWkNNUF9T UF9JTkNfU1RFUDsKJmd0OyArfQomZ3Q7ICsKJmd0OyAgLyogUmV0dXJuIHRydWUgaWYgaXQncyB2 YWxpZCBncHJfc2F2ZSBwYXR0ZXJuLiAgKi8KJmd0OyAgCiZndDsgIGJvb2wKJmd0OyBkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5o CiZndDsgaW5kZXggNDU0MTI1NWE4YWUuLjJmYTU1NWRjZTJkIDEwMDY0NAomZ3Q7IC0tLSBhL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YuaAomZ3Q7ICsrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Yu aAomZ3Q7IEBAIC00MjAsNiArNDIwLDI5IEBAIEFTTV9NSVNBX1NQRUMKJmd0OyAgI2RlZmluZSBS SVNDVl9DQUxMX0FERFJFU1NfVEVNUChNT0RFKSBcCiZndDsgICAgZ2VuX3J0eF9SRUcgKE1PREUs IFJJU0NWX0NBTExfQUREUkVTU19URU1QX1JFR05VTSkKJmd0OyAgCiZndDsgKyNkZWZpbmUgUkVU VVJOX0FERFJfTUFTSyAgICAgICAgKCAxICZsdDsmbHQ7IFJFVFVSTl9BRERSX1JFR05VTSkKJmd0 OyArI2RlZmluZSBTMF9NQVNLICAgICAgICAgICAgICAgICAoIDEgJmx0OyZsdDsgUzBfUkVHTlVN KQomZ3Q7ICsjZGVmaW5lIFMxX01BU0sgICAgICAgICAgICAgICAgICggMSAmbHQ7Jmx0OyBTMV9S RUdOVU0pCiZndDsgKyNkZWZpbmUgUzJfTUFTSyAgICAgICAgICAgICAgICAgKCAxICZsdDsmbHQ7 IFMyX1JFR05VTSkKJmd0OyArI2RlZmluZSBTM19NQVNLICAgICAgICAgICAgICAgICAoIDEgJmx0 OyZsdDsgUzNfUkVHTlVNKQomZ3Q7ICsjZGVmaW5lIFM0X01BU0sgICAgICAgICAgICAgICAgICgg MSAmbHQ7Jmx0OyBTNF9SRUdOVU0pCiZndDsgKyNkZWZpbmUgUzVfTUFTSyAgICAgICAgICAgICAg ICAgKCAxICZsdDsmbHQ7IFM1X1JFR05VTSkKJmd0OyArI2RlZmluZSBTNl9NQVNLICAgICAgICAg ICAgICAgICAoIDEgJmx0OyZsdDsgUzZfUkVHTlVNKQomZ3Q7ICsjZGVmaW5lIFM3X01BU0sgICAg ICAgICAgICAgICAgICggMSAmbHQ7Jmx0OyBTN19SRUdOVU0pCiZndDsgKyNkZWZpbmUgUzhfTUFT SyAgICAgICAgICAgICAgICAgKCAxICZsdDsmbHQ7IFM4X1JFR05VTSkKJmd0OyArI2RlZmluZSBT OV9NQVNLICAgICAgICAgICAgICAgICAoIDEgJmx0OyZsdDsgUzlfUkVHTlVNKQomZ3Q7ICsjZGVm aW5lIFMxMF9NQVNLICAgICAgICAgICAgICAgICggMSAmbHQ7Jmx0OyBTMTBfUkVHTlVNKQomZ3Q7 ICsjZGVmaW5lIFMxMV9NQVNLICAgICAgICAgICAgICAgICggMSAmbHQ7Jmx0OyBTMTFfUkVHTlVN KQomZ3Q7ICsKJmd0OyArI2RlZmluZSBNVUxUSV9QVVNIX0dQUl9NQVNLICggUkVUVVJOX0FERFJf TUFTSyB8IFMwX01BU0sgfCBTMV9NQVNLIHwgUzJfTUFTSyAgfCBTM19NQVNLIFwKJmd0OyArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFM0X01BU0sgfCBT NV9NQVNLIHwgUzZfTUFTSyAgfCBTN19NQVNLIFwKJmd0OyArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFM4X01BU0sgfCBTOV9NQVNLIHwgUzEwX01BU0sg fCBTMTFfTUFTSyApCiZndDsgKyNkZWZpbmUgWkNNUF9NQVhfU1BJTU0gMwomZ3Q7ICsjZGVmaW5l IFpDTVBfU1BfSU5DX1NURVAgMTYKJmd0OyArI2RlZmluZSBaQ01QX0lOVkFMSURfUzBTMTBfU1JF R1NfQ09VTlRTIDExCiZndDsgKyNkZWZpbmUgWkNNUF9TMFMxMV9TUkVHU19DT1VOVFMgMTIKJmd0 OyArI2RlZmluZSBaQ01QX01BWF9HUlBfU0xPVFMgMTMKJmd0OyArCiZndDsgICNkZWZpbmUgTUNP VU5UX05BTUUgIl9tY291bnQiCiZndDsgIAomZ3Q7ICAjZGVmaW5lIE5PX1BST0ZJTEVfQ09VTlRF UlMgMQomZ3Q7IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5tZAomZ3Q7IGluZGV4IGJlOTYwNTgzMTAxLi5jODU4YjNiYzllZiAx MDA2NDQKJmd0OyAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCiZndDsgKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5tZAomZ3Q7IEBAIC0xMTMsNiArMTEzLDcgQEAKJmd0OyAgCiZn dDsgIChkZWZpbmVfY29uc3RhbnRzCiZndDsgICAgWyhSRVRVUk5fQUREUl9SRUdOVU0JCTEpCiZn dDsgKyAgIChTUF9SRUdOVU0gCQkJMikKJmd0OyAgICAgKEdQX1JFR05VTSAJCQkzKQomZ3Q7ICAg ICAoVFBfUkVHTlVNCQkJNCkKJmd0OyAgICAgKFQwX1JFR05VTQkJCTUpCiZndDsgQEAgLTMxNjMs MyArMzE2NCw0IEBACiZndDsgIChpbmNsdWRlICJzaWZpdmUtNy5tZCIpCiZndDsgIChpbmNsdWRl ICJ0aGVhZC5tZCIpCiZndDsgIChpbmNsdWRlICJ2ZWN0b3IubWQiKQomZ3Q7ICsoaW5jbHVkZSAi emMubWQiKQomZ3Q7IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3pjLm1kIGIvZ2NjL2Nv bmZpZy9yaXNjdi96Yy5tZAomZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgaW5kZXggMDAw MDAwMDAwMDAuLjVjMWJmMDMxYjhkCiZndDsgLS0tIC9kZXYvbnVsbAomZ3Q7ICsrKyBiL2djYy9j b25maWcvcmlzY3YvemMubWQKJmd0OyBAQCAtMCwwICsxLDEwNDIgQEAKJmd0OyArOzsgTWFjaGlu ZSBkZXNjcmlwdGlvbiBmb3IgUklTQy1WIFpjIGV4dGVudGlvbi4KJmd0OyArOzsgQ29weXJpZ2h0 IChDKSAyMDIzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgomZ3Q7ICs7OyBDb250cmli dXRlZCBieSBGZWkgR2FvIChnYW9mZWlAZXN3aW5jb21wdXRpbmcuY29tKS4KJmd0OyArCiZndDsg Kzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdDQy4KJmd0OyArCiZndDsgKzs7IEdDQyBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiZndDsgKzs7 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CiZndDsgKzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlvbikKJmd0OyArOzsgYW55IGxhdGVyIHZlcnNp b24uCiZndDsgKwomZ3Q7ICs7OyBHQ0MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKJmd0OyArOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKJmd0OyArOzsgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQomZ3Q7ICs7OyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgomZ3Q7ICsKJmd0OyAr OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKJmd0OyArOzsgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5H My4gIElmIG5vdCBzZWUKJmd0OyArOzsgPGh0dHA6IHd3dy5nbnUub3JnPSIiIGxpY2Vuc2VzPSIi PjwvaHR0cDo+LgomZ3Q7ICsKJmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcF91cF90 b19yYV88bW9kZT4iCiZndDsgKyAgWyhzZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNo X29wZXJhbmQgMCAic3RhY2tfcG9wX3VwX3RvX3JhX29wZXJhbmQiICJJIikpKQomZ3Q7ICsgICAo c2V0IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDxzbG90MF9vZmZzZXQ+KSkpKV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNt LnBvcAl7cmF9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211 bHRpX3BvcF91cF90b19zMF88bW9kZT4iCiZndDsgKyAgWyhzZXQgKHJlZzpYIFNQX1JFR05VTSkK Jmd0OyArICAgICAgICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAg ICAgICAgKG1hdGNoX29wZXJhbmQgMCAic3RhY2tfcG9wX3VwX3RvX3MwX29wZXJhbmQiICJJIikp KQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChw bHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29u c3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBSRVRVUk5fQURE Ul9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkK Jmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MV9vZmZzZXQ+KSkp KV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnBvcAl7cmEsIHMwfSwgJTAiCiZn dDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wb3BfdXBfdG9fczFf PG1vZGU+IgomZ3Q7ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBs dXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVy YW5kIDAgInN0YWNrX3BvcF91cF90b19zMV9vcGVyYW5kIiAiSSIpKSkKJmd0OyArICAgKHNldCAo cmVnOlggUzFfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9S RUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zm c2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAgICht ZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUkVU VVJOX0FERFJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9S RUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zm c2V0PikpKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5wb3AJe3JhLCBzMC1z MX0sICUwIgomZ3Q7ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcG9w X3VwX3RvX3MyXzxtb2RlPiIKJmd0OyArICBbKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAo bWF0Y2hfb3BlcmFuZCAwICJzdGFja19wb3BfdXBfdG9fczJfb3BlcmFuZCIgIkkiKSkpCiZndDsg KyAgIChzZXQgKHJlZzpYIFMyX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3QwX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMxX1JFR05VTSkKJmd0OyAr ICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQg KHJlZzpYIFMwX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29m ZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFJFVFVSTl9BRERSX1JFR05VTSkKJmd0OyAr ICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QzX29mZnNldD4pKSkpXQomZ3Q7ICsgICJUQVJH RVRfWkNNUCIKJmd0OyArICAiY20ucG9wCXtyYSwgczAtczJ9LCAlMCIKJmd0OyArKQomZ3Q7ICsK Jmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcF91cF90b19zM188bW9kZT4iCiZndDsg KyAgWyhzZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQgMCAic3RhY2tf cG9wX3VwX3RvX3MzX29wZXJhbmQiICJJIikpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTM19SRUdO VU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyAr ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpKQomZ3Q7 ICsgICAoc2V0IChyZWc6WCBTMl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlgg KHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDxzbG90MV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMV9SRUdOVU0pCiZndDsg KyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0 IChyZWc6WCBTMF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQ X1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90M19v ZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsg KyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90NF9vZmZzZXQ+KSkpKV0KJmd0OyArICAiVEFS R0VUX1pDTVAiCiZndDsgKyAgImNtLnBvcAl7cmEsIHMwLXMzfSwgJTAiCiZndDsgKykKJmd0OyAr CiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wb3BfdXBfdG9fczRfPG1vZGU+IgomZ3Q7 ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNr X3BvcF91cF90b19zNF9vcGVyYW5kIiAiSSIpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzRfUkVH TlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsg KyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKSkKJmd0 OyArICAgKHNldCAocmVnOlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpY IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzJfUkVHTlVNKQomZ3Q7 ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNl dCAocmVnOlggUzFfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDNf b2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAg IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UkVUVVJOX0FERFJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDVf b2Zmc2V0PikpKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5wb3AJe3JhLCBz MC1zNH0sICUwIgomZ3Q7ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlf cG9wX3VwX3RvX3M1Xzxtb2RlPiIKJmd0OyArICBbKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7 ICsgICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAobWF0Y2hfb3BlcmFuZCAwICJzdGFja19wb3BfdXBfdG9fczVfb3BlcmFuZCIgIkkiKSkpCiZn dDsgKyAgIChzZXQgKHJlZzpYIFM1X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6 WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgPHNsb3QwX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM0X1JFR05VTSkKJmd0 OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkpCiZndDsgKyAgIChz ZXQgKHJlZzpYIFMzX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Qy X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMyX1JFR05VTSkKJmd0OyArICAgICAg ICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgPHNsb3QzX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpY IFMxX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29mZnNldD4p KSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMwX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlgg KHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgPHNsb3Q1X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFJFVFVSTl9B RERSX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q2X29mZnNldD4p KSkpXQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0OyArICAiY20ucG9wCXtyYSwgczAtczV9LCAl MCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcF91cF90 b19zNl88bW9kZT4iCiZndDsgKyAgWyhzZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNo X29wZXJhbmQgMCAic3RhY2tfcG9wX3VwX3RvX3M2X29wZXJhbmQiICJJIikpKQomZ3Q7ICsgICAo c2V0IChyZWc6WCBTNl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpY IFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90 MF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTNV9SRUdOVU0pCiZndDsgKyAgICAg ICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90MV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6 WCBTNF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+ KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTM19SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpY IChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDxzbG90M19vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMl9SRUdO VU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyAr ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90NF9vZmZzZXQ+KSkpKQomZ3Q7 ICsgICAoc2V0IChyZWc6WCBTMV9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlgg KHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDxzbG90NV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMF9SRUdOVU0pCiZndDsg KyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Nl9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0 IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlgg KHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDxzbG90N19vZmZzZXQ+KSkpKV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnBv cAl7cmEsIHMwLXM2fSwgJTAiCiZndDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5zbiAiQGdw cl9tdWx0aV9wb3BfdXBfdG9fczdfPG1vZGU+IgomZ3Q7ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdO VU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAg ICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNrX3BvcF91cF90b19zN19vcGVyYW5kIiAi SSIpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzdfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06 WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzZfUkVH TlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsg KyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0 OyArICAgKHNldCAocmVnOlggUzVfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpY IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzRfUkVHTlVNKQomZ3Q7 ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDNfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNl dCAocmVnOlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDRf b2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzJfUkVHTlVNKQomZ3Q7ICsgICAgICAg IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCA8c2xvdDVfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UzFfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDZfb2Zmc2V0Pikp KSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA8c2xvdDdfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUkVUVVJOX0FE RFJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90OF9vZmZzZXQ+KSkp KV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnBvcAl7cmEsIHMwLXM3fSwgJTAi CiZndDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wb3BfdXBfdG9f czhfPG1vZGU+IgomZ3Q7ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAg KHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9v cGVyYW5kIDAgInN0YWNrX3BvcF91cF90b19zOF9vcGVyYW5kIiAiSSIpKSkKJmd0OyArICAgKHNl dCAocmVnOlggUzhfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBf b2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzdfUkVHTlVNKQomZ3Q7ICsgICAgICAg IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UzZfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0Pikp KSkKJmd0OyArICAgKHNldCAocmVnOlggUzVfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA8c2xvdDNfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzRfUkVHTlVN KQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0PikpKSkKJmd0OyAr ICAgKHNldCAocmVnOlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChy ZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8 c2xvdDVfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzJfUkVHTlVNKQomZ3Q7ICsg ICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDZfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAo cmVnOlggUzFfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9S RUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDdfb2Zm c2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAgICht ZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCA8c2xvdDhfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUkVU VVJOX0FERFJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9S RUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDlfb2Zm c2V0PikpKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5wb3AJe3JhLCBzMC1z OH0sICUwIgomZ3Q7ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcG9w X3VwX3RvX3M5Xzxtb2RlPiIKJmd0OyArICBbKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAo bWF0Y2hfb3BlcmFuZCAwICJzdGFja19wb3BfdXBfdG9fczlfb3BlcmFuZCIgIkkiKSkpCiZndDsg KyAgIChzZXQgKHJlZzpYIFM5X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3QwX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM4X1JFR05VTSkKJmd0OyAr ICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQg KHJlZzpYIFM3X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29m ZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM2X1JFR05VTSkKJmd0OyArICAgICAgICAo bWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgPHNsb3QzX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM1 X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQom Z3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29mZnNldD4pKSkp CiZndDsgKyAgIChzZXQgKHJlZzpYIFM0X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBs dXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25z dF9pbnQgPHNsb3Q1X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMzX1JFR05VTSkK Jmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q2X29mZnNldD4pKSkpCiZndDsgKyAg IChzZXQgKHJlZzpYIFMyX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVn OlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNs b3Q3X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMxX1JFR05VTSkKJmd0OyArICAg ICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDhfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVn OlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdO VU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDlfb2Zmc2V0 PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUkVUVVJOX0FERFJfUkVHTlVNKQomZ3Q7ICsgICAg ICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDEwX29mZnNldD4pKSkpXQomZ3Q7ICsgICJUQVJHRVRf WkNNUCIKJmd0OyArICAiY20ucG9wCXtyYSwgczAtczl9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0 OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcF91cF90b19zMTFfPG1vZGU+IgomZ3Q7ICsg IFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNrX3Bv cF91cF90b19zMTFfb3BlcmFuZCIgIkkiKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMxMV9SRUdO VU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyAr ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpKQomZ3Q7 ICsgICAoc2V0IChyZWc6WCBTMTBfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpY IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzlfUkVHTlVNKQomZ3Q7 ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNl dCAocmVnOlggUzhfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDNf b2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzdfUkVHTlVNKQomZ3Q7ICsgICAgICAg IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UzZfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDVfb2Zmc2V0Pikp KSkKJmd0OyArICAgKHNldCAocmVnOlggUzVfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA8c2xvdDZfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzRfUkVHTlVN KQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDdfb2Zmc2V0PikpKSkKJmd0OyAr ICAgKHNldCAocmVnOlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChy ZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxz bG90OF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMl9SRUdOVU0pCiZndDsgKyAg ICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDxzbG90OV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChy ZWc6WCBTMV9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JF R05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MTBfb2Zm c2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAgICht ZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCA8c2xvdDExX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFJF VFVSTl9BRERSX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxMl9v ZmZzZXQ+KSkpKV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnBvcAl7cmEsIHMw LXMxMX0sICUwIgomZ3Q7ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlf cG9wcmV0X3VwX3RvX3JhXzxtb2RlPiIKJmd0OyArICBbKHNldCAocmVnOlggU1BfUkVHTlVNKQom Z3Q7ICsgICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAg ICAgICAobWF0Y2hfb3BlcmFuZCAwICJzdGFja19wb3BfdXBfdG9fcmFfb3BlcmFuZCIgIkkiKSkp CiZndDsgKyAgIChzZXQgKHJlZzpYIFJFVFVSTl9BRERSX1JFR05VTSkKJmd0OyArICAgICAgICAo bWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgPHNsb3QwX29mZnNldD4pKSkpCiZndDsgKyAgIChyZXR1cm4pCiZndDsg KyAgICh1c2UgKHJlZzpTSSBSRVRVUk5fQUREUl9SRUdOVU0pKV0KJmd0OyArICAiVEFSR0VUX1pD TVAiCiZndDsgKyAgImNtLnBvcHJldAl7cmF9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRl ZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcHJldF91cF90b19zMF88bW9kZT4iCiZndDsgKyAgWyhz ZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAocGx1czpYIChyZWc6WCBTUF9SRUdO VU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQgMCAic3RhY2tfcG9wX3Vw X3RvX3MwX29wZXJhbmQiICJJIikpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMF9SRUdOVU0pCiZn dDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAo c2V0IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDxzbG90MV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAocmV0dXJuKQomZ3Q7ICsgICAodXNlIChy ZWc6U0kgUkVUVVJOX0FERFJfUkVHTlVNKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsg ICJjbS5wb3ByZXQJe3JhLCBzMH0sICUwIgomZ3Q7ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2lu c24gIkBncHJfbXVsdGlfcG9wcmV0X3VwX3RvX3MxXzxtb2RlPiIKJmd0OyArICBbKHNldCAocmVn OlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0 OyArICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJzdGFja19wb3BfdXBfdG9fczFf b3BlcmFuZCIgIkkiKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMxX1JFR05VTSkKJmd0OyArICAg ICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QwX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJl ZzpYIFMwX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVH TlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNl dD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFJFVFVSTl9BRERSX1JFR05VTSkKJmd0OyArICAg ICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29mZnNldD4pKSkpCiZndDsgKyAgIChyZXR1cm4p CiZndDsgKyAgICh1c2UgKHJlZzpTSSBSRVRVUk5fQUREUl9SRUdOVU0pKV0KJmd0OyArICAiVEFS R0VUX1pDTVAiCiZndDsgKyAgImNtLnBvcHJldAl7cmEsIHMwLXMxfSwgJTAiCiZndDsgKykKJmd0 OyArCiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wb3ByZXRfdXBfdG9fczJfPG1vZGU+ IgomZ3Q7ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAg InN0YWNrX3BvcF91cF90b19zMl9vcGVyYW5kIiAiSSIpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UzJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0Pikp KSkKJmd0OyArICAgKHNldCAocmVnOlggUzFfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVN KQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0OyAr ICAgKHNldCAocmVnOlggUkVUVVJOX0FERFJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA8c2xvdDNfb2Zmc2V0PikpKSkKJmd0OyArICAgKHJldHVybikKJmd0OyArICAgKHVz ZSAocmVnOlNJIFJFVFVSTl9BRERSX1JFR05VTSkpXQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0 OyArICAiY20ucG9wcmV0CXtyYSwgczAtczJ9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRl ZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcHJldF91cF90b19zM188bW9kZT4iCiZndDsgKyAgWyhz ZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAocGx1czpYIChyZWc6WCBTUF9SRUdO VU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQgMCAic3RhY2tfcG9wX3Vw X3RvX3MzX29wZXJhbmQiICJJIikpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTM19SRUdOVU0pCiZn dDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAo c2V0IChyZWc6WCBTMl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpY IFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90 MV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMV9SRUdOVU0pCiZndDsgKyAgICAg ICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6 WCBTMF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90M19vZmZzZXQ+ KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsgKyAgICAg ICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90NF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAocmV0dXJuKQom Z3Q7ICsgICAodXNlIChyZWc6U0kgUkVUVVJOX0FERFJfUkVHTlVNKSldCiZndDsgKyAgIlRBUkdF VF9aQ01QIgomZ3Q7ICsgICJjbS5wb3ByZXQJe3JhLCBzMC1zM30sICUwIgomZ3Q7ICspCiZndDsg KwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcG9wcmV0X3VwX3RvX3M0Xzxtb2RlPiIK Jmd0OyArICBbKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChwbHVzOlggKHJl ZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJz dGFja19wb3BfdXBfdG9fczRfb3BlcmFuZCIgIkkiKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM0 X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQom Z3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QwX29mZnNldD4pKSkp CiZndDsgKyAgIChzZXQgKHJlZzpYIFMzX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBs dXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25z dF9pbnQgPHNsb3QxX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMyX1JFR05VTSkK Jmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAg ICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29mZnNldD4pKSkpCiZndDsgKyAg IChzZXQgKHJlZzpYIFMxX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVn OlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNs b3QzX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMwX1JFR05VTSkKJmd0OyArICAg ICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAg ICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJl ZzpYIFJFVFVSTl9BRERSX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVn OlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNs b3Q1X29mZnNldD4pKSkpCiZndDsgKyAgIChyZXR1cm4pCiZndDsgKyAgICh1c2UgKHJlZzpTSSBS RVRVUk5fQUREUl9SRUdOVU0pKV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnBv cHJldAl7cmEsIHMwLXM0fSwgJTAiCiZndDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5zbiAi QGdwcl9tdWx0aV9wb3ByZXRfdXBfdG9fczVfPG1vZGU+IgomZ3Q7ICsgIFsoc2V0IChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNrX3BvcF91cF90b19zNV9vcGVy YW5kIiAiSSIpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzVfUkVHTlVNKQomZ3Q7ICsgICAgICAg IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UzRfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDFfb2Zmc2V0Pikp KSkKJmd0OyArICAgKHNldCAocmVnOlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNv bnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzJfUkVHTlVN KQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDNfb2Zmc2V0PikpKSkKJmd0OyAr ICAgKHNldCAocmVnOlggUzFfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChy ZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8 c2xvdDRfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsg ICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDVfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAo cmVnOlggUkVUVVJOX0FERFJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChy ZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8 c2xvdDZfb2Zmc2V0PikpKSkKJmd0OyArICAgKHJldHVybikKJmd0OyArICAgKHVzZSAocmVnOlNJ IFJFVFVSTl9BRERSX1JFR05VTSkpXQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0OyArICAiY20u cG9wcmV0CXtyYSwgczAtczV9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9pbnNu ICJAZ3ByX211bHRpX3BvcHJldF91cF90b19zNl88bW9kZT4iCiZndDsgKyAgWyhzZXQgKHJlZzpY IFNQX1JFR05VTSkKJmd0OyArICAgICAgICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsg KyAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQgMCAic3RhY2tfcG9wX3VwX3RvX3M2X29w ZXJhbmQiICJJIikpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTNl9SRUdOVU0pCiZndDsgKyAgICAg ICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6 WCBTNV9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MV9vZmZzZXQ+ KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTNF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpY IChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTM19SRUdO VU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyAr ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90M19vZmZzZXQ+KSkpKQomZ3Q7 ICsgICAoc2V0IChyZWc6WCBTMl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlgg KHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDxzbG90NF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMV9SRUdOVU0pCiZndDsg KyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90NV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0 IChyZWc6WCBTMF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQ X1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Nl9v ZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsg KyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90N19vZmZzZXQ+KSkpKQomZ3Q7ICsgICAocmV0 dXJuKQomZ3Q7ICsgICAodXNlIChyZWc6U0kgUkVUVVJOX0FERFJfUkVHTlVNKSldCiZndDsgKyAg IlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5wb3ByZXQJe3JhLCBzMC1zNn0sICUwIgomZ3Q7ICsp CiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcG9wcmV0X3VwX3RvX3M3Xzxt b2RlPiIKJmd0OyArICBbKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCAwICJzdGFja19wb3BfdXBfdG9fczdfb3BlcmFuZCIgIkkiKSkpCiZndDsgKyAgIChzZXQgKHJl ZzpYIFM3X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVH TlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QwX29mZnNl dD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM2X1JFR05VTSkKJmd0OyArICAgICAgICAobWVt OlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAg IChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFM1X1JF R05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7 ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29mZnNldD4pKSkpCiZn dDsgKyAgIChzZXQgKHJlZzpYIFM0X1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6 WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgPHNsb3QzX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMzX1JFR05VTSkKJmd0 OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29mZnNldD4pKSkpCiZndDsgKyAgIChz ZXQgKHJlZzpYIFMyX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q1 X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFMxX1JFR05VTSkKJmd0OyArICAgICAg ICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgPHNsb3Q2X29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQgKHJlZzpY IFMwX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q3X29mZnNldD4p KSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFJFVFVSTl9BRERSX1JFR05VTSkKJmd0OyArICAgICAg ICAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgPHNsb3Q4X29mZnNldD4pKSkpCiZndDsgKyAgIChyZXR1cm4pCiZn dDsgKyAgICh1c2UgKHJlZzpTSSBSRVRVUk5fQUREUl9SRUdOVU0pKV0KJmd0OyArICAiVEFSR0VU X1pDTVAiCiZndDsgKyAgImNtLnBvcHJldAl7cmEsIHMwLXM3fSwgJTAiCiZndDsgKykKJmd0OyAr CiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wb3ByZXRfdXBfdG9fczhfPG1vZGU+Igom Z3Q7ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVn OlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0 YWNrX3BvcF91cF90b19zOF9vcGVyYW5kIiAiSSIpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzhf UkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZn dDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKSkK Jmd0OyArICAgKHNldCAocmVnOlggUzdfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1 czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0 X2ludCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzZfUkVHTlVNKQom Z3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0OyArICAg KHNldCAocmVnOlggUzVfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6 WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xv dDNfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzRfUkVHTlVNKQomZ3Q7ICsgICAg ICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVn OlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdO VU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDVfb2Zmc2V0 PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzJfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06 WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCA8c2xvdDZfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzFfUkVH TlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsg KyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDdfb2Zmc2V0PikpKSkKJmd0 OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpY IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCA8c2xvdDhfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUkVUVVJOX0FERFJfUkVH TlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsg KyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDlfb2Zmc2V0PikpKSkKJmd0 OyArICAgKHJldHVybikKJmd0OyArICAgKHVzZSAocmVnOlNJIFJFVFVSTl9BRERSX1JFR05VTSkp XQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0OyArICAiY20ucG9wcmV0CXtyYSwgczAtczh9LCAl MCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcHJldF91 cF90b19zOV88bW9kZT4iCiZndDsgKyAgWyhzZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAg ICAgICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1h dGNoX29wZXJhbmQgMCAic3RhY2tfcG9wX3VwX3RvX3M5X29wZXJhbmQiICJJIikpKQomZ3Q7ICsg ICAoc2V0IChyZWc6WCBTOV9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJl ZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxz bG90MF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTOF9SRUdOVU0pCiZndDsgKyAg ICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChy ZWc6WCBTN19SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JF R05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZz ZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTNl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1l bTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAg ICAoY29uc3RfaW50IDxzbG90M19vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTNV9S RUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0 OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90NF9vZmZzZXQ+KSkpKQom Z3Q7ICsgICAoc2V0IChyZWc6WCBTNF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDxzbG90NV9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTM19SRUdOVU0pCiZn dDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Nl9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAo c2V0IChyZWc6WCBTMl9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpY IFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90 N19vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMV9SRUdOVU0pCiZndDsgKyAgICAg ICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90OF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6 WCBTMF9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90OV9vZmZzZXQ+ KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pCiZndDsgKyAgICAg ICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90MTBfb2Zmc2V0PikpKSkKJmd0OyArICAgKHJldHVybikK Jmd0OyArICAgKHVzZSAocmVnOlNJIFJFVFVSTl9BRERSX1JFR05VTSkpXQomZ3Q7ICsgICJUQVJH RVRfWkNNUCIKJmd0OyArICAiY20ucG9wcmV0CXtyYSwgczAtczl9LCAlMCIKJmd0OyArKQomZ3Q7 ICsKJmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3BvcHJldF91cF90b19zMTFfPG1vZGU+ IgomZ3Q7ICsgIFsoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAg InN0YWNrX3BvcF91cF90b19zMTFfb3BlcmFuZCIgIkkiKSkpCiZndDsgKyAgIChzZXQgKHJlZzpY IFMxMV9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+ KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMTBfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06 WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCA8c2xvdDFfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzlfUkVH TlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsg KyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKSkKJmd0 OyArICAgKHNldCAocmVnOlggUzhfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpY IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2lu dCA8c2xvdDNfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzdfUkVHTlVNKQomZ3Q7 ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNl dCAocmVnOlggUzZfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDVf b2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzVfUkVHTlVNKQomZ3Q7ICsgICAgICAg IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnN0X2ludCA8c2xvdDZfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlgg UzRfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDdfb2Zmc2V0Pikp KSkKJmd0OyArICAgKHNldCAocmVnOlggUzNfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChtZW06WCAo cGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAoY29u c3RfaW50IDxzbG90OF9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTMl9SRUdOVU0p CiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAg ICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90OV9vZmZzZXQ+KSkpKQomZ3Q7ICsg ICAoc2V0IChyZWc6WCBTMV9SRUdOVU0pCiZndDsgKyAgICAgICAgKG1lbTpYIChwbHVzOlggKHJl ZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxz bG90MTBfb2Zmc2V0PikpKSkKJmd0OyArICAgKHNldCAocmVnOlggUzBfUkVHTlVNKQomZ3Q7ICsg ICAgICAgIChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDExX29mZnNldD4pKSkpCiZndDsgKyAgIChzZXQg KHJlZzpYIFJFVFVSTl9BRERSX1JFR05VTSkKJmd0OyArICAgICAgICAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3QxMl9vZmZzZXQ+KSkpKQomZ3Q7ICsgICAocmV0dXJuKQomZ3Q7ICsgICAodXNlIChyZWc6 U0kgUkVUVVJOX0FERFJfUkVHTlVNKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJj bS5wb3ByZXQJe3JhLCBzMC1zMTF9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9p bnNuICJAZ3ByX211bHRpX3B1c2hfdXBfdG9fcmFfPG1vZGU+IgomZ3Q7ICsgIFsoc2V0IChtZW06 WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAg KGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBSRVRVUk5f QUREUl9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAg ICAgKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRj aF9vcGVyYW5kIDAgInN0YWNrX3B1c2hfdXBfdG9fcmFfb3BlcmFuZCIgIkkiKSkpXQomZ3Q7ICsg ICJUQVJHRVRfWkNNUCIKJmd0OyArICAiY20ucHVzaAl7cmF9LCAlMCIKJmd0OyArKQomZ3Q7ICsK Jmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3B1c2hfdXBfdG9fczBfPG1vZGU+IgomZ3Q7 ICsgIFsoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAg ICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAg IChyZWc6WCBTMF9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDFf b2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pKQomZ3Q7 ICsgICAoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNr X3B1c2hfdXBfdG9fczBfb3BlcmFuZCIgIkkiKSkpXQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0 OyArICAiY20ucHVzaAl7cmEsIHMwfSwgJTAiCiZndDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVf aW5zbiAiQGdwcl9tdWx0aV9wdXNoX3VwX3RvX3MxXzxtb2RlPiIKJmd0OyArICBbKHNldCAobWVt OlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAg IChjb25zdF9pbnQgPHNsb3QwX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzFfUkVH TlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7 ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkKJmd0 OyArICAgICAgICAocmVnOlggUzBfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6 WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgPHNsb3QyX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUkVUVVJOX0FERFJfUkVH TlVNKSkKJmd0OyArICAgKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFu ZCAwICJzdGFja19wdXNoX3VwX3RvX3MxX29wZXJhbmQiICJJIikpKV0KJmd0OyArICAiVEFSR0VU X1pDTVAiCiZndDsgKyAgImNtLnB1c2gJe3JhLCBzMC1zMX0sICUwIgomZ3Q7ICspCiZndDsgKwom Z3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcHVzaF91cF90b19zMl88bW9kZT4iCiZndDsg KyAgWyhzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAg KHJlZzpYIFMyX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQ X1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MV9v ZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFMxX1JFR05VTSkpCiZndDsgKyAgIChzZXQg KG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFMw X1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkK Jmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90M19vZmZzZXQ+KSkp CiZndDsgKyAgICAgICAgKHJlZzpYIFJFVFVSTl9BRERSX1JFR05VTSkpCiZndDsgKyAgIChzZXQg KHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0p CiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQgMCAic3RhY2tfcHVzaF91cF90 b19zMl9vcGVyYW5kIiAiSSIpKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5w dXNoCXtyYSwgczAtczJ9LCAlMCIKJmd0OyArKQomZ3Q7ICsKJmd0OyArKGRlZmluZV9pbnNuICJA Z3ByX211bHRpX3B1c2hfdXBfdG9fczNfPG1vZGU+IgomZ3Q7ICsgIFsoc2V0IChtZW06WCAocGx1 czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0 X2ludCA8c2xvdDBfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTM19SRUdOVU0pKQom Z3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDFfb2Zmc2V0PikpKQomZ3Q7ICsgICAg ICAgIChyZWc6WCBTMl9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6 WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xv dDJfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTMV9SRUdOVU0pKQomZ3Q7ICsgICAo c2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAg ICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDNfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6 WCBTMF9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdO VU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0 PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pKQomZ3Q7ICsgICAo c2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlggU1BfUkVH TlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNrX3B1c2hf dXBfdG9fczNfb3BlcmFuZCIgIkkiKSkpXQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0OyArICAi Y20ucHVzaAl7cmEsIHMwLXMzfSwgJTAiCiZndDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5z biAiQGdwcl9tdWx0aV9wdXNoX3VwX3RvX3M0Xzxtb2RlPiIKJmd0OyArICBbKHNldCAobWVtOlgg KHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgPHNsb3QwX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzRfUkVHTlVN KSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkKJmd0OyAr ICAgICAgICAocmVnOlggUzNfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3QyX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzJfUkVHTlVNKSkKJmd0OyAr ICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QzX29mZnNldD4pKSkKJmd0OyArICAgICAgICAo cmVnOlggUzFfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29m ZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzBfUkVHTlVNKSkKJmd0OyArICAgKHNldCAo bWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgPHNsb3Q1X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUkVU VVJOX0FERFJfUkVHTlVNKSkKJmd0OyArICAgKHNldCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAo bWF0Y2hfb3BlcmFuZCAwICJzdGFja19wdXNoX3VwX3RvX3M0X29wZXJhbmQiICJJIikpKV0KJmd0 OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnB1c2gJe3JhLCBzMC1zNH0sICUwIgomZ3Q7 ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcHVzaF91cF90b19zNV88 bW9kZT4iCiZndDsgKyAgWyhzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0 OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpCiZn dDsgKyAgICAgICAgKHJlZzpYIFM1X1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDxzbG90MV9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFM0X1JFR05VTSkpCiZn dDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+KSkpCiZndDsgKyAgICAg ICAgKHJlZzpYIFMzX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpY IFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90 M19vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFMyX1JFR05VTSkpCiZndDsgKyAgIChz ZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90NF9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpY IFMxX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90NV9vZmZzZXQ+ KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFMwX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpY IChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDxzbG90Nl9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFJFVFVSTl9B RERSX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgKG1hdGNo X29wZXJhbmQgMCAic3RhY2tfcHVzaF91cF90b19zNV9vcGVyYW5kIiAiSSIpKSldCiZndDsgKyAg IlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5wdXNoCXtyYSwgczAtczV9LCAlMCIKJmd0OyArKQom Z3Q7ICsKJmd0OyArKGRlZmluZV9pbnNuICJAZ3ByX211bHRpX3B1c2hfdXBfdG9fczZfPG1vZGU+ IgomZ3Q7ICsgIFsoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDBfb2Zmc2V0PikpKQomZ3Q7ICsg ICAgICAgIChyZWc6WCBTNl9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChy ZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8 c2xvdDFfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTNV9SRUdOVU0pKQomZ3Q7ICsg ICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAg ICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDJfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChy ZWc6WCBTNF9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9S RUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDNfb2Zm c2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTM19SRUdOVU0pKQomZ3Q7ICsgICAoc2V0ICht ZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCA8c2xvdDRfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTMl9S RUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZn dDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDVfb2Zmc2V0PikpKQom Z3Q7ICsgICAgICAgIChyZWc6WCBTMV9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1 czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0 X2ludCA8c2xvdDZfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTMF9SRUdOVU0pKQom Z3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDdfb2Zmc2V0PikpKQomZ3Q7ICsgICAg ICAgIChyZWc6WCBSRVRVUk5fQUREUl9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTUF9S RUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAg ICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDAgInN0YWNrX3B1c2hfdXBfdG9fczZfb3BlcmFu ZCIgIkkiKSkpXQomZ3Q7ICsgICJUQVJHRVRfWkNNUCIKJmd0OyArICAiY20ucHVzaAl7cmEsIHMw LXM2fSwgJTAiCiZndDsgKykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9w dXNoX3VwX3RvX3M3Xzxtb2RlPiIKJmd0OyArICBbKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Qw X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzdfUkVHTlVNKSkKJmd0OyArICAgKHNl dCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgPHNsb3QxX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlgg UzZfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29mZnNldD4p KSkKJmd0OyArICAgICAgICAocmVnOlggUzVfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlgg KHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgPHNsb3QzX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzRfUkVHTlVN KSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29mZnNldD4pKSkKJmd0OyAr ICAgICAgICAocmVnOlggUzNfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3Q1X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzJfUkVHTlVNKSkKJmd0OyAr ICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q2X29mZnNldD4pKSkKJmd0OyArICAgICAgICAo cmVnOlggUzFfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q3X29m ZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzBfUkVHTlVNKSkKJmd0OyArICAgKHNldCAo bWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAg ICAgKGNvbnN0X2ludCA8c2xvdDhfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBSRVRV Uk5fQUREUl9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICht YXRjaF9vcGVyYW5kIDAgInN0YWNrX3B1c2hfdXBfdG9fczdfb3BlcmFuZCIgIkkiKSkpXQomZ3Q7 ICsgICJUQVJHRVRfWkNNUCIKJmd0OyArICAiY20ucHVzaAl7cmEsIHMwLXM3fSwgJTAiCiZndDsg KykKJmd0OyArCiZndDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wdXNoX3VwX3RvX3M4Xzxt b2RlPiIKJmd0OyArICBbKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7 ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QwX29mZnNldD4pKSkKJmd0 OyArICAgICAgICAocmVnOlggUzhfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6 WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgPHNsb3QxX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzdfUkVHTlVNKSkKJmd0 OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAg ICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29mZnNldD4pKSkKJmd0OyArICAgICAg ICAocmVnOlggUzZfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Qz X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzVfUkVHTlVNKSkKJmd0OyArICAgKHNl dCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgPHNsb3Q0X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlgg UzRfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q1X29mZnNldD4p KSkKJmd0OyArICAgICAgICAocmVnOlggUzNfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlgg KHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgPHNsb3Q2X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzJfUkVHTlVN KSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q3X29mZnNldD4pKSkKJmd0OyAr ICAgICAgICAocmVnOlggUzFfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3Q4X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzBfUkVHTlVNKSkKJmd0OyAr ICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q5X29mZnNldD4pKSkKJmd0OyArICAgICAgICAo cmVnOlggUkVUVVJOX0FERFJfUkVHTlVNKSkKJmd0OyArICAgKHNldCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJzdGFja19wdXNoX3VwX3RvX3M4X29wZXJhbmQiICJJ IikpKV0KJmd0OyArICAiVEFSR0VUX1pDTVAiCiZndDsgKyAgImNtLnB1c2gJe3JhLCBzMC1zOH0s ICUwIgomZ3Q7ICspCiZndDsgKwomZ3Q7ICsoZGVmaW5lX2luc24gIkBncHJfbXVsdGlfcHVzaF91 cF90b19zOV88bW9kZT4iCiZndDsgKyAgWyhzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JF R05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZz ZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFM5X1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1l bTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAg ICAoY29uc3RfaW50IDxzbG90MV9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFM4X1JF R05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0 OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90Ml9vZmZzZXQ+KSkpCiZn dDsgKyAgICAgICAgKHJlZzpYIFM3X1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVz OlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Rf aW50IDxzbG90M19vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFM2X1JFR05VTSkpCiZn dDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90NF9vZmZzZXQ+KSkpCiZndDsgKyAgICAg ICAgKHJlZzpYIFM1X1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpY IFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90 NV9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFM0X1JFR05VTSkpCiZndDsgKyAgIChz ZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAg ICAgICAgICAoY29uc3RfaW50IDxzbG90Nl9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpY IFMzX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05V TSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90N19vZmZzZXQ+ KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFMyX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpY IChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAo Y29uc3RfaW50IDxzbG90OF9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAgKHJlZzpYIFMxX1JFR05V TSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyAr ICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90OV9vZmZzZXQ+KSkpCiZndDsg KyAgICAgICAgKHJlZzpYIFMwX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChwbHVzOlgg KHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfaW50 IDxzbG90MTBfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBSRVRVUk5fQUREUl9SRUdO VU0pKQomZ3Q7ICsgICAoc2V0IChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAgICAgICAgKHBsdXM6 WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5k IDAgInN0YWNrX3B1c2hfdXBfdG9fczlfb3BlcmFuZCIgIkkiKSkpXQomZ3Q7ICsgICJUQVJHRVRf WkNNUCIKJmd0OyArICAiY20ucHVzaAl7cmEsIHMwLXM5fSwgJTAiCiZndDsgKykKJmd0OyArCiZn dDsgKyhkZWZpbmVfaW5zbiAiQGdwcl9tdWx0aV9wdXNoX3VwX3RvX3MxMV88bW9kZT4iCiZndDsg KyAgWyhzZXQgKG1lbTpYIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAg ICAgICAgICAgICAgICAoY29uc3RfaW50IDxzbG90MF9vZmZzZXQ+KSkpCiZndDsgKyAgICAgICAg KHJlZzpYIFMxMV9SRUdOVU0pKQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBT UF9SRUdOVU0pCiZndDsgKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDFf b2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTMTBfUkVHTlVNKSkKJmd0OyArICAgKHNl dCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgPHNsb3QyX29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlgg UzlfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVN KQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QzX29mZnNldD4p KSkKJmd0OyArICAgICAgICAocmVnOlggUzhfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlgg KHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChj b25zdF9pbnQgPHNsb3Q0X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzdfUkVHTlVN KSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q1X29mZnNldD4pKSkKJmd0OyAr ICAgICAgICAocmVnOlggUzZfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAo cmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQg PHNsb3Q2X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzVfUkVHTlVNKSkKJmd0OyAr ICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q3X29mZnNldD4pKSkKJmd0OyArICAgICAgICAo cmVnOlggUzRfUkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1Bf UkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3Q4X29m ZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzNfUkVHTlVNKSkKJmd0OyArICAgKHNldCAo bWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgICAgICAgICAgICAg ICAgIChjb25zdF9pbnQgPHNsb3Q5X29mZnNldD4pKSkKJmd0OyArICAgICAgICAocmVnOlggUzJf UkVHTlVNKSkKJmd0OyArICAgKHNldCAobWVtOlggKHBsdXM6WCAocmVnOlggU1BfUkVHTlVNKQom Z3Q7ICsgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9pbnQgPHNsb3QxMF9vZmZzZXQ+KSkp CiZndDsgKyAgICAgICAgKHJlZzpYIFMxX1JFR05VTSkpCiZndDsgKyAgIChzZXQgKG1lbTpYIChw bHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyArICAgICAgICAgICAgICAgICAgICAgICAoY29u c3RfaW50IDxzbG90MTFfb2Zmc2V0PikpKQomZ3Q7ICsgICAgICAgIChyZWc6WCBTMF9SRUdOVU0p KQomZ3Q7ICsgICAoc2V0IChtZW06WCAocGx1czpYIChyZWc6WCBTUF9SRUdOVU0pCiZndDsgKyAg ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCA8c2xvdDEyX29mZnNldD4pKSkKJmd0OyAr ICAgICAgICAocmVnOlggUkVUVVJOX0FERFJfUkVHTlVNKSkKJmd0OyArICAgKHNldCAocmVnOlgg U1BfUkVHTlVNKQomZ3Q7ICsgICAgICAgIChwbHVzOlggKHJlZzpYIFNQX1JFR05VTSkKJmd0OyAr ICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZCAwICJzdGFja19wdXNoX3VwX3RvX3MxMV9v cGVyYW5kIiAiSSIpKSldCiZndDsgKyAgIlRBUkdFVF9aQ01QIgomZ3Q7ICsgICJjbS5wdXNoCXty YSwgczAtczExfSwgJTAiCiZndDsgKykKJmd0OyBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2MzJlX3pjbXAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydjMyZV96Y21wLmMKJmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NAomZ3Q7IGluZGV4IDAw MDAwMDAwMDAwLi42ZGJlNDg5ZGE5YgomZ3Q7IC0tLSAvZGV2L251bGwKJmd0OyArKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnYzMmVfemNtcC5jCiZndDsgQEAgLTAsMCArMSwy MzkgQEAKJmd0OyArLyogeyBkZy1kbyBjb21waWxlIH0gKi8KJmd0OyArLyogeyBkZy1vcHRpb25z ICIgLU9zIC1tYXJjaD1ydjMyZV96Y2FfemNtcCAtbWFiaT1pbHAzMmUgLW1jbW9kZWw9bWVkbG93 IiB9ICovCiZndDsgKy8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0qIH0geyItTzAiICItTzEiICIt TzIiICItT2ciICItTzMiICItT3oiICItZmx0byJ9IH0gKi8KJmd0OyArLyogeyBkZy1maW5hbCB7 IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiIH0gfSAqLwomZ3Q7ICsKJmd0OyArY2hhciBt eV9nZXRjaGFyKCk7CiZndDsgK2Zsb2F0IGdldGYoKTsKJmd0OyAraW50IF9fYXR0cmlidXRlX18o KG5vaW5saW5lKSkgaW5jb21pbmdfc3RhY2tfYXJncwomZ3Q7ICsgIChpbnQgYXJnMCwgaW50IGFy ZzEsIGludCBhcmcyLCBpbnQgYXJnMywKJmd0OyArICAgaW50IGFyZzQsIGludCBhcmc1LCBpbnQg YXJnNiwgaW50IGFyZzcsIGludCBhcmc4KTsKJmd0OyAraW50IGdldGludCgpOwomZ3Q7ICt2b2lk IFByaW50SW50cyAoaW50IG4sIC4uLik7IC8vIHZhcmFyZ3MKJmd0OyArdm9pZCBfX2F0dHJpYnV0 ZV9fKChub2lubGluZSkpIFByaW50SW50c05vVmFTdGFydCAoaW50IG4sIC4uLik7IC8vIHZhcmFy Z3MKJmd0OyArdm9pZCBQcmludEludHMyIChpbnQgYXJnMCwgaW50IGFyZzEsIGludCBhcmcyLCBp bnQgYXJnMywgaW50IGFyZzQsIGludCBhcmc1LCBpbnQgbiwgLi4uKTsKJmd0OyArZXh0ZXJuIHZv aWQgZjEodm9pZCk7CiZndDsgK2V4dGVybiB2b2lkIGYyKHZvaWQpOwomZ3Q7ICsKJmd0OyArLyoK Jmd0OyArKip0ZXN0MToKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhLCBzMC1zMX0s IC02NAomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXtyYSwgczAtczF9LCA2NAomZ3Q7 ICsqKgkuLi4KJmd0OyArKi8KJmd0OyAraW50IHRlc3QxKCkKJmd0OyArewomZ3Q7ICsgIGNoYXIg dm9sYXRpbGUgYXJyYXlbMzEyMF07CiZndDsgKyAgZmxvYXQgdm9sYXRpbGUgZmFycmF5WzMxMjBd OwomZ3Q7ICsKJmd0OyArICBmbG9hdCBzdW0gPSAwOwomZ3Q7ICsgIGZvciAoaW50IGkgPSAwOyBp ICZsdDsgMzEyMDsgaSsrKQomZ3Q7ICsgIHsKJmd0OyArICAgIGFycmF5W2ldID0gbXlfZ2V0Y2hh cigpOwomZ3Q7ICsgICAgZmFycmF5W2ldID0gbXlfZ2V0Y2hhcigpICogMS4yOwomZ3Q7ICsgICAg c3VtICs9IGFycmF5W2ldICsgZmFycmF5W2ldOwomZ3Q7ICsgIH0KJmd0OyArICByZXR1cm4gc3Vt OwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICsvKgomZ3Q7ICsqKnRlc3QyX3N0ZXAxXzBfc2l6ZToKJmd0 OyArKioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhLCBzMH0sIC02NAomZ3Q7ICsqKgkuLi4KJmd0 OyArKioJY20ucG9wcmV0CXtyYSwgczB9LCA2NAomZ3Q7ICsqKgkuLi4KJmd0OyArKi8KJmd0OyAr aW50IHRlc3QyX3N0ZXAxXzBfc2l6ZSgpCiZndDsgK3sKJmd0OyArICBpbnQgdm9sYXRpbGUgaWFy cmF5WzMxMjAgKyAxODI0LzQgLThdOwomZ3Q7ICsKJmd0OyArICBmb3IgKGludCBpID0gMDsgaSAm bHQ7IDMxMjAgKyAxODI0LzQgLSA4OyBpKyspCiZndDsgKyAgewomZ3Q7ICsgICAgaWFycmF5W2ld ID0gbXlfZ2V0Y2hhcigpICogMjsKJmd0OyArICB9CiZndDsgKyAgcmV0dXJuIGlhcnJheVswXSAr IGlhcnJheVsxXTsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKip0ZXN0MzoKJmd0OyAr KioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhLCBzMC1zMX0sIC02NAomZ3Q7ICsqKgkuLi4KJmd0 OyArKioJY20ucG9wcmV0CXtyYSwgczAtczF9LCA2NAomZ3Q7ICsqKgkuLi4KJmd0OyArKi8KJmd0 OyArZmxvYXQgdGVzdDMoKQomZ3Q7ICt7CiZndDsgKyAgY2hhciB2b2xhdGlsZSBhcnJheVszMTIw XTsKJmd0OyArICBmbG9hdCB2b2xhdGlsZSBmYXJyYXlbMzEyMF07CiZndDsgKwomZ3Q7ICsgIGZs b2F0IHN1bSA9IDAsIGYxID0gMCwgZjIgPSAwLCBmMyA9IDAsIGY0ID0gMCwgZjUgPSAwLCBmNiA9 IDAsIGY3ID0gMDsKJmd0OyArCiZndDsgKyAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyAzMTIwOyBp KyspCiZndDsgKyAgewomZ3Q7ICsgICAgZjEgPSBnZXRmKCk7CiZndDsgKyAgICBmMiA9IGdldGYo KTsKJmd0OyArICAgIGYzID0gZ2V0ZigpOwomZ3Q7ICsgICAgZjQgPSBnZXRmKCk7CiZndDsgKyAg ICBhcnJheVtpXSA9IG15X2dldGNoYXIoKTsKJmd0OyArICAgIGZhcnJheVtpXSA9IG15X2dldGNo YXIoKSAqIDEuMjsKJmd0OyArICAgIHN1bSArPSBhcnJheVtpXSArIGZhcnJheVtpXSArIGYxICsg ZjIgKyBmMyArIGY0OwomZ3Q7ICsgIH0KJmd0OyArICByZXR1cm4gc3VtOwomZ3Q7ICt9CiZndDsg KwomZ3Q7ICsvKgomZ3Q7ICsqKm91dGdvaW5nX3N0YWNrX2FyZ3M6CiZndDsgKyoqCS4uLgomZ3Q7 ICsqKgljbS5wdXNoCXtyYSwgczB9LCAtMzIKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJl dAl7cmEsIHMwfSwgMzIKJmd0OyArKioJLi4uCiZndDsgKyovCiZndDsgK2ludCBvdXRnb2luZ19z dGFja19hcmdzKCkKJmd0OyArewomZ3Q7ICsgIGludCAgbG9jYWwgPSBnZXRpbnQoKTsKJmd0OyAr ICByZXR1cm4gbG9jYWwgK2luY29taW5nX3N0YWNrX2FyZ3MoMCwgMSwgMiwgMywgNCwgNSwgNiwg NywgOCk7CiZndDsgK30KJmd0OyArCiZndDsgKy8qCiZndDsgKyoqY2FsbFByaW50SW50czoKJmd0 OyArKioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhfSwgLTMyCiZndDsgKyoqCS4uLgomZ3Q7ICsq KgljbS5wb3ByZXQJe3JhfSwgMzIKJmd0OyArKioJLi4uCiZndDsgKyovCiZndDsgK2Zsb2F0IGNh bGxQcmludEludHMoKQomZ3Q7ICt7CiZndDsgKyAgdm9sYXRpbGUgZmxvYXQgZiA9IGdldGYoKTsg Ly8gZiBpbiBsb2NhbAomZ3Q7ICsgIFByaW50SW50cyg5LDEsMiwzLDQsNSw2LDcsOCw5KTsKJmd0 OyArICByZXR1cm4gZjsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKipjYWxsUHJpbnQ6 CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYX0sIC0zMgomZ3Q7ICsqKgkuLi4KJmd0 OyArKioJY20ucG9wcmV0CXtyYX0sIDMyCiZndDsgKyoqCS4uLgomZ3Q7ICsqLwomZ3Q7ICtmbG9h dCBjYWxsUHJpbnQoKQomZ3Q7ICt7CiZndDsgKyAgdm9sYXRpbGUgZmxvYXQgZiA9IGdldGYoKTsg Ly8gZiBpbiBsb2NhbAomZ3Q7ICsgIFByaW50SW50c05vVmFTdGFydCgwLDEsMiwzLDQsNSw2LDcs OCw5KTsKJmd0OyArICByZXR1cm4gZjsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKipj YWxsUHJpbnRfUzoKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhLCBzMH0sIC0zMgom Z3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXtyYSwgczB9LCAzMgomZ3Q7ICsqKgkuLi4K Jmd0OyArKi8KJmd0OyArZmxvYXQgY2FsbFByaW50X1MoKQomZ3Q7ICt7CiZndDsgKyAgZmxvYXQg ZiA9IGdldGYoKTsKJmd0OyArICBQcmludEludHNOb1ZhU3RhcnQoMCwxLDIsMyw0LDUsNiw3LDgs OSk7CiZndDsgKyAgcmV0dXJuIGY7CiZndDsgK30KJmd0OyArCiZndDsgKy8qCiZndDsgKyoqY2Fs bFByaW50XzI6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYSwgczB9LCAtMzIKJmd0 OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJldAl7cmEsIHMwfSwgMzIKJmd0OyArKioJLi4uCiZn dDsgKyovCiZndDsgK2Zsb2F0IGNhbGxQcmludF8yKCkKJmd0OyArewomZ3Q7ICsgIGZsb2F0IGYg PSBnZXRmKCk7CiZndDsgKyAgUHJpbnRJbnRzMigwLDEsMiwzLDQsNSw2LDcsOCw5KTsKJmd0OyAr ICByZXR1cm4gZjsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKip0ZXN0X3N0ZXAxXzBi eXRlc19zYXZlX3Jlc3RvcmU6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYX0sIC0x NgomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXtyYX0sIDE2CiZndDsgKyoqCS4uLgom Z3Q7ICsqLwomZ3Q7ICtpbnQgdGVzdF9zdGVwMV8wYnl0ZXNfc2F2ZV9yZXN0b3JlKCkKJmd0OyAr ewomZ3Q7ICsKJmd0OyArICBpbnQgYSAgPSAgOTsKJmd0OyArICBpbnQgYiAgPSAgbXlfZ2V0Y2hh cigpOwomZ3Q7ICsgIHJldHVybiBhICtiOwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICsvKgomZ3Q7ICsq KnRlc3RfczA6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYSwgczB9LCAtMTYKJmd0 OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJldAl7cmEsIHMwfSwgMTYKJmd0OyArKioJLi4uCiZn dDsgKyovCiZndDsgK2ludCB0ZXN0X3MwKCkKJmd0OyArewomZ3Q7ICsKJmd0OyArICBpbnQgYSAg PSAgbXlfZ2V0Y2hhcigpOwomZ3Q7ICsgIGludCBiICA9ICBteV9nZXRjaGFyKCk7CiZndDsgKyAg cmV0dXJuIGEgK2I7CiZndDsgK30KJmd0OyArCiZndDsgKy8qCiZndDsgKyoqdGVzdF9zMToKJmd0 OyArKioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhLCBzMC1zMX0sIC0xNgomZ3Q7ICsqKgkuLi4K Jmd0OyArKioJY20ucG9wcmV0CXtyYSwgczAtczF9LCAxNgomZ3Q7ICsqKgkuLi4KJmd0OyArKi8K Jmd0OyAraW50IHRlc3RfczEoKQomZ3Q7ICt7CiZndDsgKwomZ3Q7ICsgIGludCBzMCAgPSAgbXlf Z2V0Y2hhcigpOwomZ3Q7ICsgIGludCBzMSAgPSAgbXlfZ2V0Y2hhcigpOwomZ3Q7ICsgIGludCBi ICA9ICBteV9nZXRjaGFyKCk7CiZndDsgKyAgcmV0dXJuIHMxICtzMCArYjsKJmd0OyArfQomZ3Q7 ICsKJmd0OyArLyoKJmd0OyArKip0ZXN0X2YwOgomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucHVz aAl7cmEsIHMwLXMxfSwgLTE2CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wb3ByZXQJe3JhLCBz MC1zMX0sIDE2CiZndDsgKyoqCS4uLgomZ3Q7ICsqLwomZ3Q7ICtpbnQgdGVzdF9mMCgpCiZndDsg K3sKJmd0OyArCiZndDsgKyAgaW50IHMwICA9ICBteV9nZXRjaGFyKCk7CiZndDsgKyAgZmxvYXQg ZjAgID0gIGdldGYoKTsgCiZndDsgKyAgaW50IGIgID0gIG15X2dldGNoYXIoKTsKJmd0OyArICBy ZXR1cm4gZjAgK3MwICtiOwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICsvKgomZ3Q7ICsqKmZvbzoKJmd0 OyArKioJY20ucHVzaAl7cmF9LCAtMTYKJmd0OyArKioJY2FsbAlmMQomZ3Q7ICsqKgljbS5wb3AJ e3JhfSwgMTYKJmd0OyArKioJdGFpbAlmMgomZ3Q7ICsqLwomZ3Q7ICt2b2lkIGZvbyh2b2lkKQom Z3Q7ICt7CiZndDsgKyAgZjEoKTsKJmd0OyArICBmMigpOwomZ3Q7ICt9CiZndDsgZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydjMyaV96Y21wLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnYzMmlfemNtcC5jCiZndDsgbmV3IGZpbGUgbW9kZSAx MDA2NDQKJmd0OyBpbmRleCAwMDAwMDAwMDAwMC4uOTI0MTk3Y2IzYzQKJmd0OyAtLS0gL2Rldi9u dWxsCiZndDsgKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2MzJpX3pjbXAu YwomZ3Q7IEBAIC0wLDAgKzEsMjM5IEBACiZndDsgKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCiZn dDsgKy8qIHsgZGctb3B0aW9ucyAiIC1PcyAtbWFyY2g9cnYzMmltYWZfemNhX3pjbXAgLW1hYmk9 aWxwMzJmIC1tY21vZGVsPW1lZGxvdyIgfSAqLwomZ3Q7ICsvKiB7IGRnLXNraXAtaWYgIiIgeyAq LSotKiB9IHsiLU8wIiAiLU8xIiAiLU8yIiAiLU9nIiAiLU8zIiAiLU96IiAiLWZsdG8ifSB9ICov CiZndDsgKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiB9IH0g Ki8KJmd0OyArCiZndDsgK2NoYXIgbXlfZ2V0Y2hhcigpOwomZ3Q7ICtmbG9hdCBnZXRmKCk7CiZn dDsgK2ludCBfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpIGluY29taW5nX3N0YWNrX2FyZ3MKJmd0 OyArICAoaW50IGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgaW50IGFyZzMsCiZndDsgKyAgIGlu dCBhcmc0LCBpbnQgYXJnNSwgaW50IGFyZzYsIGludCBhcmc3LCBpbnQgYXJnOCk7CiZndDsgK2lu dCBnZXRpbnQoKTsKJmd0OyArdm9pZCBQcmludEludHMgKGludCBuLCAuLi4pOyAvLyB2YXJhcmdz CiZndDsgK3ZvaWQgX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKSBQcmludEludHNOb1ZhU3RhcnQg KGludCBuLCAuLi4pOyAvLyB2YXJhcmdzCiZndDsgK3ZvaWQgUHJpbnRJbnRzMiAoaW50IGFyZzAs IGludCBhcmcxLCBpbnQgYXJnMiwgaW50IGFyZzMsIGludCBhcmc0LCBpbnQgYXJnNSwgaW50IG4s IC4uLik7CiZndDsgK2V4dGVybiB2b2lkIGYxKHZvaWQpOwomZ3Q7ICtleHRlcm4gdm9pZCBmMih2 b2lkKTsKJmd0OyArCiZndDsgKy8qCiZndDsgKyoqdGVzdDE6CiZndDsgKyoqCS4uLgomZ3Q7ICsq KgljbS5wdXNoCXtyYSwgczAtczR9LCAtODAKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJl dAl7cmEsIHMwLXM0fSwgODAKJmd0OyArKioJLi4uCiZndDsgKyovCiZndDsgK2ludCB0ZXN0MSgp CiZndDsgK3sKJmd0OyArICBjaGFyIHZvbGF0aWxlIGFycmF5WzMxMjBdOwomZ3Q7ICsgIGZsb2F0 IHZvbGF0aWxlIGZhcnJheVszMTIwXTsKJmd0OyArCiZndDsgKyAgZmxvYXQgc3VtID0gMDsKJmd0 OyArICBmb3IgKGludCBpID0gMDsgaSAmbHQ7IDMxMjA7IGkrKykKJmd0OyArICB7CiZndDsgKyAg ICBhcnJheVtpXSA9IG15X2dldGNoYXIoKTsKJmd0OyArICAgIGZhcnJheVtpXSA9IG15X2dldGNo YXIoKSAqIDEuMjsKJmd0OyArICAgIHN1bSArPSBhcnJheVtpXSArIGZhcnJheVtpXTsKJmd0OyAr ICB9CiZndDsgKyAgcmV0dXJuIHN1bTsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKip0 ZXN0Ml9zdGVwMV8wX3NpemU6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYSwgczAt czF9LCAtNjQKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJldAl7cmEsIHMwLXMxfSwgNjQK Jmd0OyArKioJLi4uCiZndDsgKyovCiZndDsgK2ludCB0ZXN0Ml9zdGVwMV8wX3NpemUoKQomZ3Q7 ICt7CiZndDsgKyAgaW50IHZvbGF0aWxlIGlhcnJheVszMTIwICsgMTgyNC80IC04XTsKJmd0OyAr CiZndDsgKyAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyAzMTIwICsgMTgyNC80IC0gODsgaSsrKQom Z3Q7ICsgIHsKJmd0OyArICAgIGlhcnJheVtpXSA9IG15X2dldGNoYXIoKSAqIDI7CiZndDsgKyAg fQomZ3Q7ICsgIHJldHVybiBpYXJyYXlbMF0gKyBpYXJyYXlbMV07CiZndDsgK30KJmd0OyArCiZn dDsgKy8qCiZndDsgKyoqdGVzdDM6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYSwg czAtczR9LCAtODAKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJldAl7cmEsIHMwLXM0fSwg ODAKJmd0OyArKioJLi4uCiZndDsgKyovCiZndDsgK2Zsb2F0IHRlc3QzKCkKJmd0OyArewomZ3Q7 ICsgIGNoYXIgdm9sYXRpbGUgYXJyYXlbMzEyMF07CiZndDsgKyAgZmxvYXQgdm9sYXRpbGUgZmFy cmF5WzMxMjBdOwomZ3Q7ICsKJmd0OyArICBmbG9hdCBzdW0gPSAwLCBmMSA9IDAsIGYyID0gMCwg ZjMgPSAwLCBmNCA9IDAsIGY1ID0gMCwgZjYgPSAwLCBmNyA9IDA7CiZndDsgKwomZ3Q7ICsgIGZv ciAoaW50IGkgPSAwOyBpICZsdDsgMzEyMDsgaSsrKQomZ3Q7ICsgIHsKJmd0OyArICAgIGYxID0g Z2V0ZigpOwomZ3Q7ICsgICAgZjIgPSBnZXRmKCk7CiZndDsgKyAgICBmMyA9IGdldGYoKTsKJmd0 OyArICAgIGY0ID0gZ2V0ZigpOwomZ3Q7ICsgICAgYXJyYXlbaV0gPSBteV9nZXRjaGFyKCk7CiZn dDsgKyAgICBmYXJyYXlbaV0gPSBteV9nZXRjaGFyKCkgKiAxLjI7CiZndDsgKyAgICBzdW0gKz0g YXJyYXlbaV0gKyBmYXJyYXlbaV0gKyBmMSArIGYyICsgZjMgKyBmNDsKJmd0OyArICB9CiZndDsg KyAgcmV0dXJuIHN1bTsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKipvdXRnb2luZ19z dGFja19hcmdzOgomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucHVzaAl7cmEsIHMwfSwgLTMyCiZn dDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wb3ByZXQJe3JhLCBzMH0sIDMyCiZndDsgKyoqCS4uLgom Z3Q7ICsqLwomZ3Q7ICtpbnQgb3V0Z29pbmdfc3RhY2tfYXJncygpCiZndDsgK3sKJmd0OyArICBp bnQgIGxvY2FsID0gZ2V0aW50KCk7CiZndDsgKyAgcmV0dXJuIGxvY2FsICtpbmNvbWluZ19zdGFj a19hcmdzKDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgpOwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICsv KgomZ3Q7ICsqKmNhbGxQcmludEludHM6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXty YX0sIC00OAomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXtyYX0sIDQ4CiZndDsgKyoq CS4uLgomZ3Q7ICsqLwomZ3Q7ICtmbG9hdCBjYWxsUHJpbnRJbnRzKCkKJmd0OyArewomZ3Q7ICsg IHZvbGF0aWxlIGZsb2F0IGYgPSBnZXRmKCk7IC8vIGYgaW4gbG9jYWwKJmd0OyArICBQcmludElu dHMoOSwxLDIsMyw0LDUsNiw3LDgsOSk7CiZndDsgKyAgcmV0dXJuIGY7CiZndDsgK30KJmd0OyAr CiZndDsgKy8qCiZndDsgKyoqY2FsbFByaW50OgomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucHVz aAl7cmF9LCAtNDgKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJldAl7cmF9LCA0OAomZ3Q7 ICsqKgkuLi4KJmd0OyArKi8KJmd0OyArZmxvYXQgY2FsbFByaW50KCkKJmd0OyArewomZ3Q7ICsg IHZvbGF0aWxlIGZsb2F0IGYgPSBnZXRmKCk7IC8vIGYgaW4gbG9jYWwKJmd0OyArICBQcmludElu dHNOb1ZhU3RhcnQoMCwxLDIsMyw0LDUsNiw3LDgsOSk7CiZndDsgKyAgcmV0dXJuIGY7CiZndDsg K30KJmd0OyArCiZndDsgKy8qCiZndDsgKyoqY2FsbFByaW50X1M6CiZndDsgKyoqCS4uLgomZ3Q7 ICsqKgljbS5wdXNoCXtyYX0sIC00OAomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXty YX0sIDQ4CiZndDsgKyoqCS4uLgomZ3Q7ICsqLwomZ3Q7ICtmbG9hdCBjYWxsUHJpbnRfUygpCiZn dDsgK3sKJmd0OyArICBmbG9hdCBmID0gZ2V0ZigpOwomZ3Q7ICsgIFByaW50SW50c05vVmFTdGFy dCgwLDEsMiwzLDQsNSw2LDcsOCw5KTsKJmd0OyArICByZXR1cm4gZjsKJmd0OyArfQomZ3Q7ICsK Jmd0OyArLyoKJmd0OyArKipjYWxsUHJpbnRfMjoKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnB1 c2gJe3JhfSwgLTQ4CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wb3ByZXQJe3JhfSwgNDgKJmd0 OyArKioJLi4uCiZndDsgKyovCiZndDsgK2Zsb2F0IGNhbGxQcmludF8yKCkKJmd0OyArewomZ3Q7 ICsgIGZsb2F0IGYgPSBnZXRmKCk7CiZndDsgKyAgUHJpbnRJbnRzMigwLDEsMiwzLDQsNSw2LDcs OCw5KTsKJmd0OyArICByZXR1cm4gZjsKJmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKip0 ZXN0X3N0ZXAxXzBieXRlc19zYXZlX3Jlc3RvcmU6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5w dXNoCXtyYX0sIC0xNgomZ3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXtyYX0sIDE2CiZn dDsgKyoqCS4uLgomZ3Q7ICsqLwomZ3Q7ICtpbnQgdGVzdF9zdGVwMV8wYnl0ZXNfc2F2ZV9yZXN0 b3JlKCkKJmd0OyArewomZ3Q7ICsKJmd0OyArICBpbnQgYSAgPSAgOTsKJmd0OyArICBpbnQgYiAg PSAgbXlfZ2V0Y2hhcigpOwomZ3Q7ICsgIHJldHVybiBhICtiOwomZ3Q7ICt9CiZndDsgKwomZ3Q7 ICsvKgomZ3Q7ICsqKnRlc3RfczA6CiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wdXNoCXtyYSwg czB9LCAtMTYKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnBvcHJldAl7cmEsIHMwfSwgMTYKJmd0 OyArKioJLi4uCiZndDsgKyovCiZndDsgK2ludCB0ZXN0X3MwKCkKJmd0OyArewomZ3Q7ICsKJmd0 OyArICBpbnQgYSAgPSAgbXlfZ2V0Y2hhcigpOwomZ3Q7ICsgIGludCBiICA9ICBteV9nZXRjaGFy KCk7CiZndDsgKyAgcmV0dXJuIGEgK2I7CiZndDsgK30KJmd0OyArCiZndDsgKy8qCiZndDsgKyoq dGVzdF9zMToKJmd0OyArKioJLi4uCiZndDsgKyoqCWNtLnB1c2gJe3JhLCBzMC1zMX0sIC0xNgom Z3Q7ICsqKgkuLi4KJmd0OyArKioJY20ucG9wcmV0CXtyYSwgczAtczF9LCAxNgomZ3Q7ICsqKgku Li4KJmd0OyArKi8KJmd0OyAraW50IHRlc3RfczEoKQomZ3Q7ICt7CiZndDsgKwomZ3Q7ICsgIGlu dCBzMCAgPSAgbXlfZ2V0Y2hhcigpOwomZ3Q7ICsgIGludCBzMSAgPSAgbXlfZ2V0Y2hhcigpOwom Z3Q7ICsgIGludCBiICA9ICBteV9nZXRjaGFyKCk7CiZndDsgKyAgcmV0dXJuIHMxICtzMCArYjsK Jmd0OyArfQomZ3Q7ICsKJmd0OyArLyoKJmd0OyArKip0ZXN0X2YwOgomZ3Q7ICsqKgkuLi4KJmd0 OyArKioJY20ucHVzaAl7cmEsIHMwfSwgLTMyCiZndDsgKyoqCS4uLgomZ3Q7ICsqKgljbS5wb3By ZXQJe3JhLCBzMH0sIDMyCiZndDsgKyoqCS4uLgomZ3Q7ICsqLwomZ3Q7ICtpbnQgdGVzdF9mMCgp CiZndDsgK3sKJmd0OyArCiZndDsgKyAgaW50IHMwICA9ICBteV9nZXRjaGFyKCk7CiZndDsgKyAg ZmxvYXQgZjAgID0gIGdldGYoKTsgCiZndDsgKyAgaW50IGIgID0gIG15X2dldGNoYXIoKTsKJmd0 OyArICByZXR1cm4gZjAgK3MwICtiOwomZ3Q7ICt9CiZndDsgKwomZ3Q7ICsvKgomZ3Q7ICsqKmZv bzoKJmd0OyArKioJY20ucHVzaAl7cmF9LCAtMTYKJmd0OyArKioJY2FsbAlmMQomZ3Q7ICsqKglj bS5wb3AJe3JhfSwgMTYKJmd0OyArKioJdGFpbAlmMgomZ3Q7ICsqLwomZ3Q7ICt2b2lkIGZvbyh2 b2lkKQomZ3Q7ICt7CiZndDsgKyAgZjEoKTsKJmd0OyArICBmMigpOwomZ3Q7ICt9CiZndDsgZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96Y21wX3N0YWNrX2FsaWdu bWVudC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pjbXBfc3RhY2tfYWxpZ25t ZW50LmMKJmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NAomZ3Q7IGluZGV4IDAwMDAwMDAwMDAwLi4w NTYwMjMwMmE4ZgomZ3Q7IC0tLSAvZGV2L251bGwKJmd0OyArKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvemNtcF9zdGFja19hbGlnbm1lbnQuYwomZ3Q7IEBAIC0wLDAgKzEsMjMg QEAKJmd0OyArLyogeyBkZy1kbyBjb21waWxlIH0gKi8KJmd0OyArLyogeyBkZy1vcHRpb25zICIg LU8wIC1tYXJjaD1ydjMyZV96Y2FfemNiX3pjbXAgLW1hYmk9aWxwMzJlIC1tY21vZGVsPW1lZGxv dyAtZm9taXQtZnJhbWUtcG9pbnRlciIgfSAqLwomZ3Q7ICsvKiB7IGRnLXNraXAtaWYgIiIgeyAq LSotKiB9IHsiLU8yIiAiLU8xIiAiLU9zIiAiLU9nIiAiLU8zIiAiLU96IiAiLWZsdG8ifSB9ICov CiZndDsgKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiB9IH0g Ki8KJmd0OyArCiZndDsgK3ZvaWQgYmFyKCk7CiZndDsgKwomZ3Q7ICsvKgomZ3Q7ICsqKmZvb2xf cnYzMmU6CiZndDsgKyoqCWNtLnB1c2gJe3JhfSwgLTMyCiZndDsgKyoqCS4uLgomZ3Q7ICsqKglj YWxsCWJhcgomZ3Q7ICsqKgkuLi4KJmd0OyArKioJbHcJYTUsMzJcKHNwXCkKJmd0OyArKioJLi4u CiZndDsgKyoqCWNtLnBvcHJldAl7cmF9LCAzMgomZ3Q7ICsqLwomZ3Q7ICtpbnQgZm9vbF9ydjMy ZSAoIGludCBhMCwgaW50IGExLCBpbnQgYTIsIGludCBhMywgaW50IGE0LCBpbnQgYTUsCiZndDsg KyAgICAgICAgICAgICAgICAgIGludCBpbmNvbWluZzApCiZndDsgK3sKJmd0OyArICBiYXIoKTsK Jmd0OyArICByZXR1cm4gYTAgKyBhMSArIGEyICsgYTMgKyBhNCArIGE1ICsgaW5jb21pbmcwOwom Z3Q7ICt9CiZndDsgLS0gCiZndDsgMi4xNy4xCjwvc2xvdDEyX29mZnNldD48L3Nsb3QxMV9vZmZz ZXQ+PC9zbG90MTBfb2Zmc2V0Pjwvc2xvdDlfb2Zmc2V0Pjwvc2xvdDhfb2Zmc2V0Pjwvc2xvdDdf b2Zmc2V0Pjwvc2xvdDZfb2Zmc2V0Pjwvc2xvdDVfb2Zmc2V0Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xv dDNfb2Zmc2V0Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0Pjwv bW9kZT48L3Nsb3QxMF9vZmZzZXQ+PC9zbG90OV9vZmZzZXQ+PC9zbG90OF9vZmZzZXQ+PC9zbG90 N19vZmZzZXQ+PC9zbG90Nl9vZmZzZXQ+PC9zbG90NV9vZmZzZXQ+PC9zbG90NF9vZmZzZXQ+PC9z bG90M19vZmZzZXQ+PC9zbG90Ml9vZmZzZXQ+PC9zbG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+ PC9tb2RlPjwvc2xvdDlfb2Zmc2V0Pjwvc2xvdDhfb2Zmc2V0Pjwvc2xvdDdfb2Zmc2V0Pjwvc2xv dDZfb2Zmc2V0Pjwvc2xvdDVfb2Zmc2V0Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNfb2Zmc2V0Pjwv c2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3Q4 X29mZnNldD48L3Nsb3Q3X29mZnNldD48L3Nsb3Q2X29mZnNldD48L3Nsb3Q1X29mZnNldD48L3Ns b3Q0X29mZnNldD48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48 L3Nsb3QwX29mZnNldD48L21vZGU+PC9zbG90N19vZmZzZXQ+PC9zbG90Nl9vZmZzZXQ+PC9zbG90 NV9vZmZzZXQ+PC9zbG90NF9vZmZzZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZzZXQ+PC9z bG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDZfb2Zmc2V0Pjwvc2xvdDVf b2Zmc2V0Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNfb2Zmc2V0Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xv dDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3Q1X29mZnNldD48L3Nsb3Q0X29m ZnNldD48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3Qw X29mZnNldD48L21vZGU+PC9zbG90NF9vZmZzZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZz ZXQ+PC9zbG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDNfb2Zmc2V0Pjwv c2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3Qy X29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3QwX29mZnNldD48L21vZGU+PC9zbG90MV9vZmZz ZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3QxMl9v ZmZzZXQ+PC9zbG90MTFfb2Zmc2V0Pjwvc2xvdDEwX29mZnNldD48L3Nsb3Q5X29mZnNldD48L3Ns b3Q4X29mZnNldD48L3Nsb3Q3X29mZnNldD48L3Nsb3Q2X29mZnNldD48L3Nsb3Q1X29mZnNldD48 L3Nsb3Q0X29mZnNldD48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNl dD48L3Nsb3QwX29mZnNldD48L21vZGU+PC9zbG90MTBfb2Zmc2V0Pjwvc2xvdDlfb2Zmc2V0Pjwv c2xvdDhfb2Zmc2V0Pjwvc2xvdDdfb2Zmc2V0Pjwvc2xvdDZfb2Zmc2V0Pjwvc2xvdDVfb2Zmc2V0 Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNfb2Zmc2V0Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zm c2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3Q5X29mZnNldD48L3Nsb3Q4X29mZnNldD48 L3Nsb3Q3X29mZnNldD48L3Nsb3Q2X29mZnNldD48L3Nsb3Q1X29mZnNldD48L3Nsb3Q0X29mZnNl dD48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3QwX29m ZnNldD48L21vZGU+PC9zbG90OF9vZmZzZXQ+PC9zbG90N19vZmZzZXQ+PC9zbG90Nl9vZmZzZXQ+ PC9zbG90NV9vZmZzZXQ+PC9zbG90NF9vZmZzZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZz ZXQ+PC9zbG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDdfb2Zmc2V0Pjwv c2xvdDZfb2Zmc2V0Pjwvc2xvdDVfb2Zmc2V0Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNfb2Zmc2V0 Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Ns b3Q2X29mZnNldD48L3Nsb3Q1X29mZnNldD48L3Nsb3Q0X29mZnNldD48L3Nsb3QzX29mZnNldD48 L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3QwX29mZnNldD48L21vZGU+PC9zbG90 NV9vZmZzZXQ+PC9zbG90NF9vZmZzZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZzZXQ+PC9z bG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNf b2Zmc2V0Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9k ZT48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3QwX29m ZnNldD48L21vZGU+PC9zbG90Ml9vZmZzZXQ+PC9zbG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+ PC9tb2RlPjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3QwX29mZnNl dD48L21vZGU+PC9zbG90MTJfb2Zmc2V0Pjwvc2xvdDExX29mZnNldD48L3Nsb3QxMF9vZmZzZXQ+ PC9zbG90OV9vZmZzZXQ+PC9zbG90OF9vZmZzZXQ+PC9zbG90N19vZmZzZXQ+PC9zbG90Nl9vZmZz ZXQ+PC9zbG90NV9vZmZzZXQ+PC9zbG90NF9vZmZzZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9v ZmZzZXQ+PC9zbG90MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDEwX29mZnNl dD48L3Nsb3Q5X29mZnNldD48L3Nsb3Q4X29mZnNldD48L3Nsb3Q3X29mZnNldD48L3Nsb3Q2X29m ZnNldD48L3Nsb3Q1X29mZnNldD48L3Nsb3Q0X29mZnNldD48L3Nsb3QzX29mZnNldD48L3Nsb3Qy X29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3QwX29mZnNldD48L21vZGU+PC9zbG90OV9vZmZz ZXQ+PC9zbG90OF9vZmZzZXQ+PC9zbG90N19vZmZzZXQ+PC9zbG90Nl9vZmZzZXQ+PC9zbG90NV9v ZmZzZXQ+PC9zbG90NF9vZmZzZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZzZXQ+PC9zbG90 MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDhfb2Zmc2V0Pjwvc2xvdDdfb2Zm c2V0Pjwvc2xvdDZfb2Zmc2V0Pjwvc2xvdDVfb2Zmc2V0Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNf b2Zmc2V0Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9k ZT48L3Nsb3Q3X29mZnNldD48L3Nsb3Q2X29mZnNldD48L3Nsb3Q1X29mZnNldD48L3Nsb3Q0X29m ZnNldD48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48L3Nsb3Qw X29mZnNldD48L21vZGU+PC9zbG90Nl9vZmZzZXQ+PC9zbG90NV9vZmZzZXQ+PC9zbG90NF9vZmZz ZXQ+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZzZXQ+PC9zbG90MV9vZmZzZXQ+PC9zbG90MF9v ZmZzZXQ+PC9tb2RlPjwvc2xvdDVfb2Zmc2V0Pjwvc2xvdDRfb2Zmc2V0Pjwvc2xvdDNfb2Zmc2V0 Pjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zmc2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Ns b3Q0X29mZnNldD48L3Nsb3QzX29mZnNldD48L3Nsb3QyX29mZnNldD48L3Nsb3QxX29mZnNldD48 L3Nsb3QwX29mZnNldD48L21vZGU+PC9zbG90M19vZmZzZXQ+PC9zbG90Ml9vZmZzZXQ+PC9zbG90 MV9vZmZzZXQ+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvc2xvdDJfb2Zmc2V0Pjwvc2xvdDFfb2Zm c2V0Pjwvc2xvdDBfb2Zmc2V0PjwvbW9kZT48L3Nsb3QxX29mZnNldD48L3Nsb3QwX29mZnNldD48 L21vZGU+PC9zbG90MF9vZmZzZXQ+PC9tb2RlPjwvZ2FvZmVpQGVzd2luY29tcHV0aW5nLmNvbT48 L2dhb2ZlaUBlc3dpbmNvbXB1dGluZy5jb20+PC9nYW9mZWlAZXN3aW5jb21wdXRpbmcuY29tPg==