From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zg8tmja2lje4os4yms4ymjma.icoremail.net (zg8tmja2lje4os4yms4ymjma.icoremail.net [206.189.21.223]) by sourceware.org (Postfix) with ESMTP id 858C0386186B for ; Fri, 22 Dec 2023 02:04:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 858C0386186B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=eswincomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=eswincomputing.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 858C0386186B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=206.189.21.223 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703210652; cv=none; b=unPKT6jTbp25oQZoSXZWSj7DvG+vEct0vwFB0NJN1wEiMTYIFIHbzOs0xZZncZew/ajAUyowyByV5xKJlS71rxeDo8Uz7LCoYwhkuX9irESNz3wL9OF5AcBn6W/8iGx2lPegfjV8wVdSVGYH+o/zyV/kMofNpPFDfG/QfAKMq2k= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703210652; c=relaxed/simple; bh=C1cm7tHGlUU7j5ahiVp9L/H3ETqpafU0NfT+3j++l9g=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=xG80io5TeWNkGb8P2WmPZhERmWyCM6Bi9Znzj4C4ygLyEOVZKWUzE24t2jW7PnPdcMAX4MIQ3GIhIZZxxEOM85e4xNmkY/hi7t5O/NT+qZw30H61g+xaFMEyyEtHgFVnS49DgKf7xSIqNSkc8F+TO8HINiEm+w705PoEDcwGwZI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from E0001792LT (unknown [123.139.59.82]) by app2 (Coremail) with SMTP id TQJkCgAXptQ37oRlkp0CAA--.2824S2; Fri, 22 Dec 2023 10:02:32 +0800 (CST) Date: Fri, 22 Dec 2023 10:04:01 +0800 From: "Feng Wang" To: "wangfeng@eswincomputing.com" , gcc-patches Cc: kito.cheng , "Jeff Law" , "juzhe.zhong@rivai.ai" Subject: Re: [PATCH] RISC-V: Add crypto machine descriptions References: <20231222015936.8935-1-wangfeng@eswincomputing.com> X-Priority: 3 X-GUID: 0779F9FB-6D47-4EA1-AD14-0790259DB309 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <202312221004013858893@eswincomputing.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-CM-TRANSID:TQJkCgAXptQ37oRlkp0CAA--.2824S2 X-Coremail-Antispam: 1UD129KBjvAXoWDJr1rZr13XFWDKw4rCrWDCFg_yoW7Cry8Go W8Grn8JF1rGryjg34DJr4fJrn3JF4UJrnrJFW7Gryaya15Jr1UJ34xGFyay3y7Jr18Ww1D Jr18J34DJFy8Ar1xn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjp_UUUYm7AC8VAFwI0_Jr0_Gr1l1xkIjI8I6I8E6xAIw20EY4v20xva j40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2 x7M28EF7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVWx Jr0_GcWl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E 2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r4j6F4UMcvjeVCFs4IE7xkEbVWUJV W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFcxC0VAYjxAxZF0E w4CEw7xC0wCY02Avz4vE14v_Gr1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr 0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY 17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcV C0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY 6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJwCE64xvF2IEb7 IF0Fy7YxBIdaVFxhVjvjDU0xZFpf9x0JUIdgXUUUUU= X-CM-SenderInfo: pzdqwwxhqjqvxvzl0uprps33xlqjhudrp/ X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00,BODY_8BITS,GIT_PATCH_0,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: MjAyMy0xMi0yMiAwOTo1OSBGZW5nIFdhbmcgPHdhbmdmZW5nQGVzd2luY29tcHV0aW5nLmNvbT4g d3JvdGU6CgpTb3JyeSBmb3IgZm9yZ2V0dGluZyB0byBhZGQgdGhlIHBhdGNoIHZlcnNpb24gbnVt YmVyLiBJdCBzaG91bGQgYmUgW1BBVENIIHY4IDIvM10KCj5QYXRjaCB2ODogUmVtb3ZlIHVudXNl ZCBpdGVyYXRvciBhbmQgYWRkIG5ld2xpbmUgYXQgdGhlIGVuZC4KCgoKPlBhdGNoIHY3OiBSZW1v dmUgbW9kZSBvZiBjb25zdF9pbnRfb3BlcmFuZCBhbmQgdHlwby4gQWRkCgoKCj7CoMKgwqDCoMKg wqDCoMKgwqAgbmV3bGluZSBhdCB0aGUgZW5kIGFuZCBjb21tZW50IGF0IHRoZSBiZWdpbm5pbmcu CgoKCj5QYXRjaCB2NjogU3dhcCB0aGUgb3BlcmF0b3Igb3JkZXIgb2YgdmFuZG4udnYKCgoKPlBh dGNoIHY1OiBBZGQgdmVjX2R1cGxpY2F0ZSBvcGVyYXRvci4KCgoKPlBhdGNoIHY0OiBBZGQgcHJv Y2VzcyBvZiBTRVc9NjQgaW4gUlYzMiBzeXN0ZW0uCgoKCj5QYXRjaCB2MzogTW9pZGZ5IGNvbnN0 cmFpbnMgZm9yIGNyeXB0byB2ZWN0b3IuCgoKCj5QYXRjaCB2MjogQWRkIGNyeXB0byB2ZWN0b3Ig aW5zIGludG8gUkFUSU8gYXR0ciBhbmQgdXNlIHZyIGFzCgoKCj5kZXN0aW5hdGlvbiByZWdpc3Rl ci4KCgoKPgoKCgo+VGhpcyBwYXRjaCBhZGQgdGhlIGNyeXB0byBtYWNoaW5lIGRlc2NyaXB0aW9u cyh2ZWN0b3ItY3J5cHRvLm1kKSBhbmQKCgoKPnNvbWUgbmV3IGl0ZXJhdG9ycyB3aGljaCBhcmUg dXNlZCBieSBjcnlwdG8gdmVjdG9yIGV4dC4KCgoKPgoKCgo+Q28tQXV0aG9yZWQgYnk6IFNvbmdo ZSBaaHUgPHpodXNvbmdoZUBlc3dpbmNvbXB1dGluZy5jb20+CgoKCj5Dby1BdXRob3JlZCBieTog Q2l5YW4gUGFuIDxwYW5jaXlhbkBlc3dpbmNvbXB1dGluZy5jb20+CgoKCj5nY2MvQ2hhbmdlTG9n OgoKCgo+CgoKCj4JKiBjb25maWcvcmlzY3YvaXRlcmF0b3JzLm1kOiBBZGQgcm90YXRlIGluc24g bmFtZS4KCgoKPgkqIGNvbmZpZy9yaXNjdi9yaXNjdi5tZDogQWRkIG5ldyBpbnNucyBuYW1lIGZv ciBjcnlwdG8gdmVjdG9yLgoKCgo+CSogY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQ6 IEFkZCBuZXcgaXRlcmF0b3JzIGZvciBjcnlwdG8gdmVjdG9yLgoKCgo+CSogY29uZmlnL3Jpc2N2 L3ZlY3Rvci5tZDogQWRkIHRoZSBjb3JyZXNwb25kaW5nIGF0dHIgZm9yIGNyeXB0byB2ZWN0b3Iu CgoKCj4JKiBjb25maWcvcmlzY3YvdmVjdG9yLWNyeXB0by5tZDogTmV3IGZpbGUuVGhlIG1hY2hp bmUgZGVzY3JpcHRpb25zIGZvciBjcnlwdG8gdmVjdG9yLgoKCgo+LS0tCgoKCj4gZ2NjL2NvbmZp Zy9yaXNjdi9pdGVyYXRvcnMubWTCoMKgwqDCoMKgwqDCoCB8wqDCoCA0ICstCgoKCj4gZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5tZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMzICstCgoKCj4g Z2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItY3J5cHRvLm1kwqDCoMKgIHwgNjU0ICsrKysrKysrKysr KysrKysrKysrKysrKysrKwoKCgo+IGdjYy9jb25maWcvcmlzY3YvdmVjdG9yLWl0ZXJhdG9ycy5t ZCB8wqAgMzYgKysKCgoKPiBnY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci5tZMKgwqDCoMKgwqDCoMKg wqDCoMKgIHzCoCA1NSArKy0KCgoKPiA1IGZpbGVzIGNoYW5nZWQsIDc2MSBpbnNlcnRpb25zKCsp LCAyMSBkZWxldGlvbnMoLSkKCgoKPiBjcmVhdGUgbW9kZSAxMDA3NTUgZ2NjL2NvbmZpZy9yaXNj di92ZWN0b3ItY3J5cHRvLm1kCgoKCj4KCgoKPmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2 L2l0ZXJhdG9ycy5tZCBiL2djYy9jb25maWcvcmlzY3YvaXRlcmF0b3JzLm1kCgoKCj5pbmRleCBl Y2YwMzNmMmZhNy4uZjMzMmZiYTcwMzEgMTAwNjQ0CgoKCj4tLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L2l0ZXJhdG9ycy5tZAoKCgo+KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9pdGVyYXRvcnMubWQKCgoK PkBAIC0zMDQsNyArMzA0LDkgQEAKCgoKPiAJCQkJICh1bWF4ICJtYXh1IikKCgoKPiAJCQkJIChj bHogImNseiIpCgoKCj4gCQkJCSAoY3R6ICJjdHoiKQoKCgo+LQkJCQkgKHBvcGNvdW50ICJjcG9w IildKQoKCgo+KwkJCQkgKHBvcGNvdW50ICJjcG9wIikKCgoKPisJCQkJIChyb3RhdGUgInJvbCIp CgoKCj4rCQkJCSAocm90YXRlcnQgInJvciIpXSkKCgoKPiAKCgoKPiA7OyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoK Cj4gOzsgSW50IEl0ZXJhdG9ycy4KCgoKPmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2Lm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZAoKCgo+aW5kZXggZWU4YjcxYzIyYWEu Ljg4MDE5YTQ2YTUzIDEwMDY0NAoKCgo+LS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZAoK Cgo+KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5tZAoKCgo+QEAgLTQyNyw2ICs0MjcsMzQg QEAKCgoKPiA7OyB2Y29tcHJlc3PCoMKgwqAgdmVjdG9yIGNvbXByZXNzIGluc3RydWN0aW9uCgoK Cj4gOzsgdm1vdsKgwqDCoMKgwqDCoMKgwqAgd2hvbGUgdmVjdG9yIHJlZ2lzdGVyIG1vdmUKCgoK PiA7OyB2ZWN0b3LCoMKgwqDCoMKgwqAgdW5rbm93biB2ZWN0b3IgaW5zdHJ1Y3Rpb24KCgoKPis7 OyAxNy4gQ3J5cHRvIFZlY3RvciBpbnN0cnVjdGlvbnMKCgoKPis7OyB2YW5kbsKgwqDCoMKgwqDC oMKgIGNyeXB0byB2ZWN0b3IgYml0d2lzZSBhbmQtbm90IGluc3RydWN0aW9ucwoKCgo+Kzs7IHZi cmV2wqDCoMKgwqDCoMKgwqAgY3J5cHRvIHZlY3RvciByZXZlcnNlIGJpdHMgaW4gZWxlbWVudHMg aW5zdHJ1Y3Rpb25zCgoKCj4rOzsgdmJyZXY4wqDCoMKgwqDCoMKgIGNyeXB0byB2ZWN0b3IgcmV2 ZXJzZSBiaXRzIGluIGJ5dGVzIGluc3RydWN0aW9ucwoKCgo+Kzs7IHZyZXY4wqDCoMKgwqDCoMKg wqAgY3J5cHRvIHZlY3RvciByZXZlcnNlIGJ5dGVzIGluc3RydWN0aW9ucwoKCgo+Kzs7IHZjbHrC oMKgwqDCoMKgwqDCoMKgIGNyeXB0byB2ZWN0b3IgY291bnQgbGVhZGluZyBaZXJvcyBpbnN0cnVj dGlvbnMKCgoKPis7OyB2Y3R6wqDCoMKgwqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIGNvdW50IGxy YWlsaW5nIFplcm9zIGluc3RydWN0aW9ucwoKCgo+Kzs7IHZyb2zCoMKgwqDCoMKgwqDCoMKgIGNy eXB0byB2ZWN0b3Igcm90YXRlIGxlZnQgaW5zdHJ1Y3Rpb25zCgoKCj4rOzsgdnJvcsKgwqDCoMKg wqDCoMKgwqAgY3J5cHRvIHZlY3RvciByb3RhdGUgcmlnaHQgaW5zdHJ1Y3Rpb25zCgoKCj4rOzsg dndzbGzCoMKgwqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIHdpZGVuaW5nIHNoaWZ0IGxlZnQgbG9n aWNhbCBpbnN0cnVjdGlvbnMKCgoKPis7OyB2Y2xtdWzCoMKgwqDCoMKgwqAgY3J5cHRvIHZlY3Rv ciBjYXJyeS1sZXNzIG11bHRpcGx5IC0gcmV0dXJuIGxvdyBoYWxmIGluc3RydWN0aW9ucwoKCgo+ Kzs7IHZjbG11bGjCoMKgwqDCoMKgIGNyeXB0byB2ZWN0b3IgY2FycnktbGVzcyBtdWx0aXBseSAt IHJldHVybiBoaWdoIGhhbGYgaW5zdHJ1Y3Rpb25zCgoKCj4rOzsgdmdoc2jCoMKgwqDCoMKgwqDC oCBjcnlwdG8gdmVjdG9yIGFkZC1tdWx0aXBseSBvdmVyIEdIQVNIIEdhbG9pcy1GaWVsZCBpbnN0 cnVjdGlvbnMKCgoKPis7OyB2Z211bMKgwqDCoMKgwqDCoMKgIGNyeXB0byB2ZWN0b3IgbXVsdGlw bHkgb3ZlciBHSEFTSCBHYWxvaXMtRmllbGQgaW5zdHJ1bWN0aW9ucwoKCgo+Kzs7IHZhZXNlZsKg wqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIEFFUyBmaW5hbC1yb3VuZCBlbmNyeXB0aW9uIGluc3Ry dWN0aW9ucwoKCgo+Kzs7IHZhZXNlbcKgwqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIEFFUyBtaWRk bGUtcm91bmQgZW5jcnlwdGlvbiBpbnN0cnVjdGlvbnMKCgoKPis7OyB2YWVzZGbCoMKgwqDCoMKg wqAgY3J5cHRvIHZlY3RvciBBRVMgZmluYWwtcm91bmQgZGVjcnlwdGlvbiBpbnN0cnVjdGlvbnMK CgoKPis7OyB2YWVzZG3CoMKgwqDCoMKgwqAgY3J5cHRvIHZlY3RvciBBRVMgbWlkZGxlLXJvdW5k IGRlY3J5cHRpb24gaW5zdHJ1Y3Rpb25zCgoKCj4rOzsgdmFlc2tmMcKgwqDCoMKgwqAgY3J5cHRv IHZlY3RvciBBRVMtMTI4IEZvcndhcmQgS2V5U2NoZWR1bGUgZ2VuZXJhdGlvbiBpbnN0cnVjdGlv bnMKCgoKPis7OyB2YWVza2YywqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIEFFUy0yNTYgRm9yd2Fy ZCBLZXlTY2hlZHVsZSBnZW5lcmF0aW9uIGluc3RydWN0aW9ucwoKCgo+Kzs7IHZhZXN6wqDCoMKg wqDCoMKgwqAgY3J5cHRvIHZlY3RvciBBRVMgcm91bmQgemVybyBlbmNyeXB0aW9uL2RlY3J5cHRp b24gaW5zdHJ1Y3Rpb25zCgoKCj4rOzsgdnNoYTJtc8KgwqDCoMKgwqAgY3J5cHRvIHZlY3RvciBT SEEtMiBtZXNzYWdlIHNjaGVkdWxlIGluc3RydWN0aW9ucwoKCgo+Kzs7IHZzaGEyY2jCoMKgwqDC oMKgIGNyeXB0byB2ZWN0b3IgU0hBLTIgdHdvIHJvdW5kcyBvZiBjb21wcmVzc2lvbiBpbnN0cnVj dGlvbnMKCgoKPis7OyB2c2hhMmNswqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIFNIQS0yIHR3byBy b3VuZHMgb2YgY29tcHJlc3Npb24gaW5zdHJ1Y3Rpb25zCgoKCj4rOzsgdnNtNGvCoMKgwqDCoMKg wqDCoCBjcnlwdG8gdmVjdG9yIFNNNCBLZXlFeHBhbnNpb24gaW5zdHJ1Y3Rpb25zCgoKCj4rOzsg dnNtNHLCoMKgwqDCoMKgwqDCoCBjcnlwdG8gdmVjdG9yIFNNNCBSb3VuZHMgaW5zdHJ1Y3Rpb25z CgoKCj4rOzsgdnNtM21lwqDCoMKgwqDCoMKgIGNyeXB0byB2ZWN0b3IgU00zIE1lc3NhZ2UgRXhw YW5zaW9uIGluc3RydWN0aW9ucwoKCgo+Kzs7IHZzbTNjwqDCoMKgwqDCoMKgwqAgY3J5cHRvIHZl Y3RvciBTTTMgQ29tcHJlc3Npb24gaW5zdHJ1Y3Rpb25zCgoKCj4gKGRlZmluZV9hdHRyICJ0eXBl IgoKCgo+wqDCoCAidW5rbm93bixicmFuY2gsanVtcCxqYWxyLHJldCxjYWxsLGxvYWQsZnBsb2Fk LHN0b3JlLGZwc3RvcmUsCgoKCj7CoMKgwqAgbXRjLG1mYyxjb25zdCxhcml0aCxsb2dpY2FsLHNo aWZ0LHNsdCxpbXVsLGlkaXYsbW92ZSxmbW92ZSxmYWRkLGZtdWwsCgoKCj5AQCAtNDQ2LDcgKzQ3 NCw5IEBACgoKCj7CoMKgwqAgdmlyZWQsdml3cmVkLHZmcmVkdSx2ZnJlZG8sdmZ3cmVkdSx2Zndy ZWRvLAoKCgo+wqDCoMKgIHZtYWx1LHZtcG9wLHZtZmZzLHZtc2ZzLHZtaW90YSx2bWlkeCx2aW1v dnZ4LHZpbW92eHYsdmZtb3Z2Zix2Zm1vdmZ2LAoKCgo+wqDCoMKgIHZzbGlkZXVwLHZzbGlkZWRv d24sdmlzbGlkZTF1cCx2aXNsaWRlMWRvd24sdmZzbGlkZTF1cCx2ZnNsaWRlMWRvd24sCgoKCj4t wqDCoCB2Z2F0aGVyLHZjb21wcmVzcyx2bW92LHZlY3RvciIKCgoKPivCoMKgIHZnYXRoZXIsdmNv bXByZXNzLHZtb3YsdmVjdG9yLHZhbmRuLHZicmV2LHZicmV2OCx2cmV2OCx2Y2x6LHZjdHosdmNw b3AsdnJvbCx2cm9yLHZ3c2xsLAoKCgo+K8KgwqAgdmNsbXVsLHZjbG11bGgsdmdoc2gsdmdtdWws dmFlc2VmLHZhZXNlbSx2YWVzZGYsdmFlc2RtLHZhZXNrZjEsdmFlc2tmMix2YWVzeiwKCgoKPivC oMKgIHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLHZzbTNtZSx2c20zYyIKCgoK PsKgwqAgKGNvbmQgWyhlcV9hdHRyICJnb3QiICJsb2FkIikgKGNvbnN0X3N0cmluZyAibG9hZCIp CgoKCj4gCgoKCj4gCSA7OyBJZiBhIGRvdWJsZXdvcmQgbW92ZSB1c2VzIHRoZXNlIGV4cGVuc2l2 ZSBpbnN0cnVjdGlvbnMsCgoKCj5AQCAtMzc3Nyw2ICszODA3LDcgQEAKCgoKPiAoaW5jbHVkZSAi dGhlYWQubWQiKQoKCgo+IChpbmNsdWRlICJnZW5lcmljLW9vby5tZCIpCgoKCj4gKGluY2x1ZGUg InZlY3Rvci5tZCIpCgoKCj4rKGluY2x1ZGUgInZlY3Rvci1jcnlwdG8ubWQiKQoKCgo+IChpbmNs dWRlICJ6aWNvbmQubWQiKQoKCgo+IChpbmNsdWRlICJzZmIubWQiKQoKCgo+IChpbmNsdWRlICJ6 Yy5tZCIpCgoKCj5kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItY3J5cHRvLm1k IGIvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItY3J5cHRvLm1kCgoKCj5uZXcgZmlsZSBtb2RlIDEw MDc1NQoKCgo+aW5kZXggMDAwMDAwMDAwMDAuLjkyMzViZGFjNTQ4CgoKCj4tLS0gL2Rldi9udWxs CgoKCj4rKysgYi9nY2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1jcnlwdG8ubWQKCgoKPkBAIC0wLDAg KzEsNjU0IEBACgoKCj4rOzsgTWFjaGluZSBkZXNjcmlwdGlvbiBmb3IgdGhlIFJJU0MtViBWZWN0 b3IgQ3J5cHRvwqAgZXh0ZW5zaW9ucy4KCgoKPis7OyBDb3B5cmlnaHQgKEMpIDIwMjMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCgoKCj4rCgoKCj4rOzsgVGhpcyBmaWxlIGlzIHBhcnQg b2YgR0NDLgoKCgo+KwoKCgo+Kzs7IEdDQyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CgoKCj4rOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKCgoKPis7OyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBv cHRpb24pCgoKCj4rOzsgYW55IGxhdGVyIHZlcnNpb24uCgoKCj4rCgoKCj4rOzsgR0NDIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCgoKCj4rOzsgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKCgoKPis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuwqAgU2VlIHRoZQoKCgo+Kzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCgoKCj4rCgoKCj4rOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKCgoKPis7OyBhbG9uZyB3aXRoIEdD Qzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLsKgIElmIG5vdCBzZWUKCgoKPis7OyA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCgoKCj4rCgoKCj4rKGRlZmluZV9jX2VudW0gInVuc3BlYyIg WwoKCgo+K8KgwqDCoCA7OyBadmJiIHVuc3BlY3MKCgoKPivCoMKgwqAgVU5TUEVDX1ZCUkVWCgoK Cj4rwqDCoMKgIFVOU1BFQ19WQlJFVjgKCgoKPivCoMKgwqAgVU5TUEVDX1ZSRVY4CgoKCj4rwqDC oMKgIFVOU1BFQ19WQ0xNVUwKCgoKPivCoMKgwqAgVU5TUEVDX1ZDTE1VTEgKCgoKPivCoMKgwqAg VU5TUEVDX1ZHSFNICgoKCj4rwqDCoMKgIFVOU1BFQ19WR01VTAoKCgo+K8KgwqDCoCBVTlNQRUNf VkFFU0VGCgoKCj4rwqDCoMKgIFVOU1BFQ19WQUVTRUZWVgoKCgo+K8KgwqDCoCBVTlNQRUNfVkFF U0VGVlMKCgoKPivCoMKgwqAgVU5TUEVDX1ZBRVNFTQoKCgo+K8KgwqDCoCBVTlNQRUNfVkFFU0VN VlYKCgoKPivCoMKgwqAgVU5TUEVDX1ZBRVNFTVZTCgoKCj4rwqDCoMKgIFVOU1BFQ19WQUVTREYK CgoKPivCoMKgwqAgVU5TUEVDX1ZBRVNERlZWCgoKCj4rwqDCoMKgIFVOU1BFQ19WQUVTREZWUwoK Cgo+K8KgwqDCoCBVTlNQRUNfVkFFU0RNCgoKCj4rwqDCoMKgIFVOU1BFQ19WQUVTRE1WVgoKCgo+ K8KgwqDCoCBVTlNQRUNfVkFFU0RNVlMKCgoKPivCoMKgwqAgVU5TUEVDX1ZBRVNaCgoKCj4rwqDC oMKgIFVOU1BFQ19WQUVTWlZWTlVMTAoKCgo+K8KgwqDCoCBVTlNQRUNfVkFFU1pWUwoKCgo+K8Kg wqDCoCBVTlNQRUNfVkFFU0tGMQoKCgo+K8KgwqDCoCBVTlNQRUNfVkFFU0tGMgoKCgo+K8KgwqDC oCBVTlNQRUNfVlNIQTJNUwoKCgo+K8KgwqDCoCBVTlNQRUNfVlNIQTJDSAoKCgo+K8KgwqDCoCBV TlNQRUNfVlNIQTJDTAoKCgo+K8KgwqDCoCBVTlNQRUNfVlNNNEsKCgoKPivCoMKgwqAgVU5TUEVD X1ZTTTRSCgoKCj4rwqDCoMKgIFVOU1BFQ19WU000UlZWCgoKCj4rwqDCoMKgIFVOU1BFQ19WU000 UlZTCgoKCj4rwqDCoMKgIFVOU1BFQ19WU00zTUUKCgoKPivCoMKgwqAgVU5TUEVDX1ZTTTNDCgoK Cj4rXSkKCgoKPisKCgoKPisoZGVmaW5lX2ludF9hdHRyIHJldsKgIFsoVU5TUEVDX1ZCUkVWICJi cmV2IikgKFVOU1BFQ19WQlJFVjggImJyZXY4IikgKFVOU1BFQ19WUkVWOCAicmV2OCIpXSkKCgoK PisKCgoKPisoZGVmaW5lX2ludF9hdHRyIGggWyhVTlNQRUNfVkNMTVVMICIiKSAoVU5TUEVDX1ZD TE1VTEggImgiKV0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnRfYXR0ciB2dl9pbnNfbmFtZSBbKFVO U1BFQ19WR01VTMKgwqDCoCAiZ211bCIgKSAoVU5TUEVDX1ZBRVNFRlZWICJhZXNlZiIpCgoKCj4r wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoVU5TUEVDX1ZBRVNFTVZWICJhZXNlbSIpIChVTlNQRUNfVkFFU0RGVlYgImFlc2RmIikKCgoK PivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIChVTlNQRUNfVkFFU0RNVlYgImFlc2RtIikgKFVOU1BFQ19WQUVTRUZWUyAiYWVzZWYiKQoK Cgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKFVOU1BFQ19WQUVTRU1WUyAiYWVzZW0iKSAoVU5TUEVDX1ZBRVNERlZTICJhZXNkZiIp CgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAoVU5TUEVDX1ZBRVNETVZTICJhZXNkbSIpIChVTlNQRUNfVkFFU1pWU8KgICJhZXN6 IiApCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAoVU5TUEVDX1ZTTTRSVlbCoCAic200ciIgKSAoVU5TUEVDX1ZTTTRSVlPCoCAi c200ciIgKV0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnRfYXR0ciB2dl9pbnMxX25hbWUgWyhVTlNQ RUNfVkdIU0ggImdoc2giKcKgwqDCoMKgIChVTlNQRUNfVlNIQTJNUyAic2hhMm1zIikKCgoKPivC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKFVOU1BFQ19WU0hBMkNIICJzaGEyY2giKSAoVU5TUEVDX1ZTSEEyQ0wgInNoYTJjbCIpXSkK CgoKPisKCgoKPisoZGVmaW5lX2ludF9hdHRyIHZpX2luc19uYW1lIFsoVU5TUEVDX1ZBRVNLRjEg ImFlc2tmMSIpIChVTlNQRUNfVlNNNEsgInNtNGsiKV0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnRf YXR0ciB2aV9pbnMxX25hbWUgWyhVTlNQRUNfVkFFU0tGMiAiYWVza2YyIikgKFVOU1BFQ19WU00z QyAic20zYyIpXSkKCgoKPisKCgoKPisoZGVmaW5lX2ludF9hdHRyIGluc190eXBlIFsoVU5TUEVD X1ZHTVVMwqDCoMKgICJ2diIpIChVTlNQRUNfVkFFU0VGVlYgInZ2IikKCgoKPivCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChVTlNQRUNfVkFFU0VN VlYgInZ2IikgKFVOU1BFQ19WQUVTREZWViAidnYiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKFVOU1BFQ19WQUVTRE1WViAidnYiKSAo VU5TUEVDX1ZBRVNFRlZTICJ2cyIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoVU5TUEVDX1ZBRVNFTVZTICJ2cyIpIChVTlNQRUNfVkFF U0RGVlMgInZzIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIChVTlNQRUNfVkFFU0RNVlMgInZzIikgKFVOU1BFQ19WQUVTWlZTwqAgInZz IikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIChVTlNQRUNfVlNNNFJWVsKgICJ2diIpIChVTlNQRUNfVlNNNFJWU8KgICJ2cyIpXSkKCgoK PisKCgoKPisoZGVmaW5lX2ludF9pdGVyYXRvciBVTlNQRUNfVlJCQjggW1VOU1BFQ19WQlJFViBV TlNQRUNfVkJSRVY4IFVOU1BFQ19WUkVWOF0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnRfaXRlcmF0 b3IgVU5TUEVDX0NMTVVMIFtVTlNQRUNfVkNMTVVMIFVOU1BFQ19WQ0xNVUxIXSkKCgoKPisKCgoK PisoZGVmaW5lX2ludF9pdGVyYXRvciBVTlNQRUNfQ1JZUFRPX1ZWIFtVTlNQRUNfVkdNVUzCoMKg wqAgVU5TUEVDX1ZBRVNFRlZWIFVOU1BFQ19WQUVTRU1WVgoKCgo+K8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgVU5TUEVDX1ZBRVNERlZWIFVOU1BFQ19WQUVTRE1WViBVTlNQRUNfVkFFU0VGVlMKCgoKPivC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFVOU1BFQ19WQUVTRU1WUyBVTlNQRUNfVkFFU0RGVlMgVU5TUEVD X1ZBRVNETVZTCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBVTlNQRUNfVkFFU1pWU8KgIFVOU1BF Q19WU000UlZWwqAgVU5TUEVDX1ZTTTRSVlNdKQoKCgo+KwoKCgo+KyhkZWZpbmVfaW50X2l0ZXJh dG9yIFVOU1BFQ19WR05IQUIgW1VOU1BFQ19WR0hTSCBVTlNQRUNfVlNIQTJNUyBVTlNQRUNfVlNI QTJDSCBVTlNQRUNfVlNIQTJDTF0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnRfaXRlcmF0b3IgVU5T UEVDX0NSWVBUT19WSSBbVU5TUEVDX1ZBRVNLRjEgVU5TUEVDX1ZTTTRLXSkKCgoKPisKCgoKPiso ZGVmaW5lX2ludF9pdGVyYXRvciBVTlNQRUNfQ1JZUFRPX1ZJMSBbVU5TUEVDX1ZBRVNLRjIgVU5T UEVDX1ZTTTNDXSkKCgoKPisKCgoKPis7OyB6dmJiIGluc3RydWN0aW9ucyBwYXR0ZXJucy4KCgoK Pis7OyB2YW5kbi52diB2YW5kbi52eCB2cm9sLnZ2IHZyb2wudngKCgoKPis7OyB2cm9yLnZ2IHZy b3IudnggdnJvci52aQoKCgo+Kzs7IHZ3c2xsLnZ2IHZ3c2xsLnZ4IHZ3c2xsLnZpCgoKCj4rKGRl ZmluZV9pbnNuICJAcHJlZF92YW5kbjxtb2RlPiIKCgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFu ZDpWSSAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqAgIj12ZCwgdnIsIHZkLCB2 ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWSQoKCgo+K8KgwqDCoMKgwqDCoCAodW5z cGVjOjxWTT4KCgoKPivCoMKgwqDCoMKgwqDCoMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZl Y3Rvcl9tYXNrX29wZXJhbmQiwqDCoCAidm0sV2MxLCB2bSxXYzEiKQoKCgo+K8KgwqDCoMKgwqDC oMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqDCoMKgwqDC oCAickssIHJLLCBySywgcksiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFu ZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqAgIiBpLMKgIGkswqAgaSzC oCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50 X29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoMKgICIgaSzCoCBpLMKgIGkswqAgaSIpCgoKCj4rwqDC oMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIsKgwqDC oMKgwqDCoMKgwqDCoCAiIGkswqAgaSzCoCBpLMKgIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDC oCAocmVnOlNJIFZMX1JFR05VTSkKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWVFlQ RV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKPivCoMKgwqDCoMKgwqAgKGFuZDpWSQoK Cgo+K8KgwqDCoMKgwqDCoMKgwqAgKG5vdDpWSSAobWF0Y2hfb3BlcmFuZDpWSSA0ICJyZWdpc3Rl cl9vcGVyYW5kIiAidnIsIHZyLCB2ciwgdnIiKSkKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChtYXRj aF9vcGVyYW5kOlZJIDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoCAidnIsIHZy LCB2ciwgdnIiKSkKCgoKPivCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6VkkgMiAidmVjdG9y X21lcmdlX29wZXJhbmQiwqDCoMKgwqDCoMKgICJ2dSwgdnUswqAgMCzCoCAwIikpKV0KCgoKPivC oCAiVEFSR0VUX1pWQkIgfHwgVEFSR0VUX1pWS0IiCgoKCj4rwqAgInZhbmRuLnZ2XHQlMCwlMywl NCVwMSIKCgoKPivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmFuZG4iKQoKCgo+K8KgwqAgKHNldF9h dHRyICJtb2RlIiAiPE1PREU+IildKQoKCgo+KwoKCgo+KyhkZWZpbmVfaW5zbiAiQHByZWRfdmFu ZG48bW9kZT5fc2NhbGFyIgoKCgo+K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJX1FIUyAwICJy ZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgICI9dmQsIHZyLHZkLCB2ciIpCgoKCj4rwqDCoMKgwqAg KGlmX3RoZW5fZWxzZTpWSV9RSFMKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4r wqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVy YW5kIsKgICIgdm0sV2MxLHZtLFdjMSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9v cGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoMKgwqDCoCAiIHJLLCBySyxySywgcksi KQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3Bl cmFuZCLCoMKgwqDCoMKgwqDCoMKgICLCoCBpLMKgIGksIGkswqAgaSIpCgoKCj4rwqDCoMKgwqDC oMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDC oMKgwqAgIsKgIGkswqAgaSwgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNo X29wZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoCAiwqAgaSzCoCBp LCBpLMKgIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoK PivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJ Q0FURSkKCgoKPivCoMKgwqDCoMKgwqAgKGFuZDpWSV9RSFMKCgoKPivCoMKgwqDCoMKgwqDCoMKg IChub3Q6VklfUUhTCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHZlY19kdXBsaWNhdGU6Vklf UUhTCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDQg InJlZ2lzdGVyX29wZXJhbmQiICIgcizCoCByLCByLMKgIHIiKSkpCgoKCj4rwqDCoMKgwqDCoMKg wqDCoCAobWF0Y2hfb3BlcmFuZDpWSV9RSFMgMyAicmVnaXN0ZXJfb3BlcmFuZCLCoMKgwqAgInZy LCB2cix2ciwgdnIiKSkKCgoKPivCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6VklfUUhTIDIg InZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgICJ2dSwgdnUsIDAswqAgMCIpKSldCgoKCj4rwqAgIlRB UkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIgoKCgo+K8KgICJ2YW5kbi52eFx0JTAsJTMsJTQlcDEi CgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInZhbmRuIikKCgoKPivCoMKgIChzZXRfYXR0ciAi bW9kZSIgIjxNT0RFPiIpXSkKCgoKPisKCgoKPis7OyBIYW5kbGUgR0VUX01PREVfSU5ORVIgKG1v ZGUpID0gREltb2RlLiBXZSBuZWVkIHRvIHNwbGl0IHRoZW0gc2luY2UKCgoKPis7OyB3ZSBuZWVk IHRvIGRlYWwgd2l0aCBTRVcgPSA2NCBpbiBSVjMyIHN5c3RlbS4KCgoKPisoZGVmaW5lX2V4cGFu ZCAiQHByZWRfdmFuZG48bW9kZT5fc2NhbGFyIgoKCgo+K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5k OlZJX0QgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpW SV9ECgoKCj4rwqDCoMKgwqDCoMKgICh1bnNwZWM6PFZNPgoKCgo+K8KgwqDCoMKgwqDCoMKgwqAg WyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIpCgoKCj4rwqDCoMKg wqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIpCgoK Cj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5k IikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29w ZXJhbmQiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9p bnRfb3BlcmFuZCIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoK Cgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJF RElDQVRFKQoKCgo+K8KgwqDCoMKgwqDCoCAoYW5kOlZJX0QKCgoKPivCoMKgwqDCoMKgwqDCoMKg IChub3Q6VklfRAoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgICh2ZWNfZHVwbGljYXRlOlZJX0QK CgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6PFZFTD4gNCAicmVn X29yX2ludF9vcGVyYW5kIikpKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6 VklfRCAzICJyZWdpc3Rlcl9vcGVyYW5kIikpCgoKCj4rwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVy YW5kOlZJX0QgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiKSkpXQoKCgo+K8KgICJUQVJHRVRfWlZC QiB8fCBUQVJHRVRfWlZLQiIKCgoKPit7CgoKCj4rwqAgaWYgKHJpc2N2X3ZlY3Rvcjo6c2V3NjRf c2NhbGFyX2hlbHBlciAoCgoKCj4rCW9wZXJhbmRzLAoKCgo+KwkvKiBzY2FsYXIgb3AgKi8mb3Bl cmFuZHNbNF0sCgoKCj4rCS8qIHZsICovb3BlcmFuZHNbNV0sCgoKCj4rCTxNT0RFPm1vZGUsCgoK Cj4rCWZhbHNlLAoKCgo+KwlbXSAocnR4ICpvcGVyYW5kcywgcnR4IGJvYXJkY2FzdF9zY2FsYXIp IHsKCgoKPisJwqAgZW1pdF9pbnNuIChnZW5fcHJlZF92YW5kbjxtb2RlPiAob3BlcmFuZHNbMF0s IG9wZXJhbmRzWzFdLAoKCgo+KwnCoMKgwqDCoMKgwqAgb3BlcmFuZHNbMl0sIG9wZXJhbmRzWzNd LCBib2FyZGNhc3Rfc2NhbGFyLCBvcGVyYW5kc1s1XSwKCgoKPisJwqDCoMKgwqDCoMKgIG9wZXJh bmRzWzZdLCBvcGVyYW5kc1s3XSwgb3BlcmFuZHNbOF0pKTsKCgoKPivCoMKgwqDCoMKgwqDCoCB9 LAoKCgo+K8KgwqDCoMKgwqDCoMKgIChyaXNjdl92ZWN0b3I6OmF2bF90eXBlKSBJTlRWQUwgKG9w ZXJhbmRzWzhdKSkpCgoKCj4rwqDCoMKgIERPTkU7CgoKCj4rfSkKCgoKPisKCgoKPisoZGVmaW5l X2luc24gIipwcmVkX3ZhbmRuPG1vZGU+X3NjYWxhciIKCgoKPivCoCBbKHNldCAobWF0Y2hfb3Bl cmFuZDpWSV9EIDAgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIj12ZCwgdnIsdmQs IHZyIikKCgoKPivCoMKgwqDCoCAoaWZfdGhlbl9lbHNlOlZJX0QKCgoKPivCoMKgwqDCoMKgwqAg KHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAx ICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgwqAgIiB2bSxXYzEsdm0sV2MxIikKCgoKPivCoMKgwqDC oMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDC oMKgwqAgIiBySywgckssckssIHJLIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29w ZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoMKgICIgaSzCoMKgIGks IGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0 X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoCAiIGkswqDCoCBpLCBpLMKgIGkiKQoKCgo+ K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLC oMKgwqDCoMKgwqDCoMKgwqAgIiBpLMKgwqAgaSwgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDC oMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kg VlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4rwqDCoMKgwqDCoMKgIChhbmQ6 VklfRAoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgKG5vdDpWSV9ECgoKCj4rwqDCoMKgwqDCoMKgwqDC oMKgwqAgKHZlY19kdXBsaWNhdGU6VklfRAoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo bWF0Y2hfb3BlcmFuZDo8VkVMPiA0ICJyZWdfb3JfMF9vcGVyYW5kIiAiIHJKLCBySixySiwgckoi KSkpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDpWSV9EIDMgInJlZ2lzdGVy X29wZXJhbmQiwqDCoMKgwqDCoCAiIHZyLCB2cix2ciwgdnIiKSkKCgoKPivCoMKgwqDCoMKgwqAg KG1hdGNoX29wZXJhbmQ6VklfRCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoMKgwqAgIiB2dSwg dnUsIDAswqAgMCIpKSldCgoKCj4rwqAgIlRBUkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIgoKCgo+ K8KgICJ2YW5kbi52eFx0JTAsJTMsJXo0JXAxIgoKCgo+K8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2 YW5kbiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCj4rCgoKCj4r KGRlZmluZV9pbnNuICIqcHJlZF92YW5kbjxtb2RlPl9leHRlbmRlZF9zY2FsYXIiCgoKCj4rwqAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6VklfRCAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgIj12ZCwgdnIsdmQsIHZyIikKCgoKPivCoMKgwqDCoCAoaWZfdGhlbl9lbHNl OlZJX0QKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDC oCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIsKgwqDCoMKgwqDC oCAiIHZtLFdjMSx2bSxXYzEiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFu ZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoMKgICIgckssIHJLLHJL LCBySyIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2lu dF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIgaSzCoMKgIGksIGkswqAgaSIp CgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVy YW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIgaSzCoMKgIGksIGkswqAgaSIpCgoKCj4r wqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIgaSzCoMKgIGksIGkswqAgaSIpCgoKCj4rwqDCoMKg wqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAo cmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgo+K8KgwqDCoMKgwqDC oCAoYW5kOlZJX0QKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChub3Q6VklfRAoKCgo+K8KgwqDCoMKg wqDCoMKgwqDCoMKgICh2ZWNfZHVwbGljYXRlOlZJX0QKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKHNpZ25fZXh0ZW5kOjxWRUw+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAobWF0Y2hfb3BlcmFuZDo8VlNVQkVMPiA0ICJyZWdfb3JfMF9vcGVyYW5kIiAiIHJKLCBySixy SiwgckoiKSkpKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6VklfRCAzICJy ZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgICIgdnIsIHZyLHZyLCB2ciIpKQoK Cgo+K8KgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDpWSV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVy YW5kIsKgwqDCoMKgwqAgIiB2dSwgdnUsIDAswqAgMCIpKSldCgoKCj4rwqAgIlRBUkdFVF9aVkJC IHx8IFRBUkdFVF9aVktCIgoKCgo+K8KgICJ2YW5kbi52eFx0JTAsJTMsJXo0JXAxIgoKCgo+K8Kg IFsoc2V0X2F0dHIgInR5cGUiICJ2YW5kbiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8 TU9ERT4iKV0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnNuICJAcHJlZF92PGJpdG1hbmlwX29wdGFi Pjxtb2RlPiIKCgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdpc3Rlcl9vcGVy YW5kIsKgwqDCoMKgwqDCoMKgICI9dmQsdmQsIHZyLCB2ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3Ro ZW5fZWxzZTpWSQoKCgo+K8KgwqDCoMKgwqDCoCAodW5zcGVjOjxWTT4KCgoKPivCoMKgwqDCoMKg wqDCoMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICIgdm0s dm0sV2MxLFdjMSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDUgInZl Y3Rvcl9sZW5ndGhfb3BlcmFuZCLCoMKgwqAgIiBySyxySywgckssIHJLIikKCgoKPivCoMKgwqDC oMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDC oMKgwqAgIsKgIGksIGkswqAgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNo X29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIsKgIGksIGkswqAg aSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3Rf aW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIsKgIGksIGkswqAgaSzCoCBpIikKCgoKPivCoMKg wqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKg IChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4rwqDCoMKgwqDC oMKgIChiaXRtYW5pcF9yb3RhdGU6VkkKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVy YW5kOlZJIDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqDCoMKgICIgdnIsdnIsIHZyLCB2ciIp CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDpWSSA0ICJyZWdpc3Rlcl9vcGVy YW5kIsKgwqDCoMKgwqDCoCAiIHZyLHZyLCB2ciwgdnIiKSkKCgoKPivCoMKgwqDCoMKgwqAgKG1h dGNoX29wZXJhbmQ6VkkgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqDCoMKgwqAgIiB2dSwgMCwg dnUswqAgMCIpKSldCgoKCj4rwqAgIlRBUkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIgoKCgo+K8Kg ICJ2PGJpdG1hbmlwX2luc24+LnZ2XHQlMCwlMywlNCVwMSIKCgoKPivCoCBbKHNldF9hdHRyICJ0 eXBlIiAidjxiaXRtYW5pcF9pbnNuPiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9E RT4iKV0pCgoKCj4rCgoKCj4rKGRlZmluZV9pbnNuICJAcHJlZF92PGJpdG1hbmlwX29wdGFiPjxt b2RlPl9zY2FsYXIiCgoKCj4rwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAicmVnaXN0ZXJf b3BlcmFuZCLCoMKgwqDCoMKgwqDCoCAiPXZkLHZkLCB2ciwgdnIiKQoKCgo+K8KgwqDCoMKgIChp Zl90aGVuX2Vsc2U6VkkKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKg wqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAi IHZtLHZtLFdjMSxXYzEiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA1 ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqDCoMKgICIgckssckssIHJLLCBySyIpCgoKCj4rwqDC oMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDC oMKgwqDCoMKgICLCoCBpLCBpLMKgIGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgICht YXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgICLCoCBpLCBp LMKgIGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDggImNv bnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgICLCoCBpLCBpLMKgIGkswqAgaSIpCgoKCj4r wqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgo+K8KgwqDCoMKgwqDCoMKg wqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgo+K8KgwqDC oMKgwqDCoCAoYml0bWFuaXBfcm90YXRlOlZJCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hf b3BlcmFuZDpWSSAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDCoCAiIHZyLHZyLCB2ciwg dnIiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNCAicG1vZGVfcmVnaXN0 ZXJfb3BlcmFuZCLCoMKgwqAgIsKgIHIsIHIswqAgcizCoCByIikpCgoKCj4rwqDCoMKgwqDCoMKg IChtYXRjaF9vcGVyYW5kOlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgwqDCoMKgICIgdnUs IDAsIHZ1LMKgIDAiKSkpXQoKCgo+K8KgICJUQVJHRVRfWlZCQiB8fCBUQVJHRVRfWlZLQiIKCgoK PivCoCAidjxiaXRtYW5pcF9pbnNuPi52eFx0JTAsJTMsJTQlcDEiCgoKCj4rwqAgWyhzZXRfYXR0 ciAidHlwZSIgInY8Yml0bWFuaXBfaW5zbj4iKQoKCgo+K8KgwqAgKHNldF9hdHRyICJtb2RlIiAi PE1PREU+IildKQoKCgo+KwoKCgo+KyhkZWZpbmVfaW5zbiAiKnByZWRfdnJvcjxtb2RlPl9zY2Fs YXIiCgoKCj4rwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAicmVnaXN0ZXJfb3BlcmFuZCLC oMKgwqDCoMKgwqDCoCAiPXZkLHZkLCB2cix2ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxz ZTpWSQoKCgo+K8KgwqDCoMKgwqDCoCAodW5zcGVjOjxWTT4KCgoKPivCoMKgwqDCoMKgwqDCoMKg IFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICIgdm0sdm0sV2Mx LFdjMSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9s ZW5ndGhfb3BlcmFuZCLCoMKgwqAgIiBySyxySywgckssIHJLIikKCgoKPivCoMKgwqDCoMKgwqDC oMKgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAg IsKgIGksIGkswqAgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJh bmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIsKgIGksIGkswqAgaSzCoCBp IikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgOCAiY29uc3RfaW50X29w ZXJhbmQiwqDCoMKgwqDCoMKgwqAgIsKgIGksIGkswqAgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKg wqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6 U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4rwqDCoMKgwqDCoMKgIChy b3RhdGVydDpWSQoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6VkkgMyAicmVn aXN0ZXJfb3BlcmFuZCLCoMKgwqDCoMKgwqAgIiB2cix2ciwgdnIsIHZyIikKCgoKPivCoMKgwqDC oMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kwqDCoMKgIDQgImNvbnN0X2Nzcl9vcGVyYW5kIsKgwqDC oMKgwqAgIsKgIEssIEsswqAgSyzCoCBLIikpCgoKCj4rwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVy YW5kOlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgwqDCoMKgICIgdnUsIDAsIHZ1LMKgIDAi KSkpXQoKCgo+K8KgICJUQVJHRVRfWlZCQiB8fCBUQVJHRVRfWlZLQiIKCgoKPivCoCAidnJvci52 aVx0JTAsJTMsJTQlcDEiCgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInZyb3IiKQoKCgo+K8Kg wqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgo+KwoKCgo+KyhkZWZpbmVfaW5zbiAi QHByZWRfdndzbGw8bW9kZT4iCgoKCj4rwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VldFWFRJIDAg InJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqAgIj0mdnIiKQoKCgo+K8KgwqDCoMKgIChpZl90aGVu X2Vsc2U6VldFWFRJCgoKCj4rwqDCoMKgwqDCoMKgICh1bnNwZWM6PFZNPgoKCgo+K8KgwqDCoMKg wqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZt V2MxIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xl bmd0aF9vcGVyYW5kIsKgwqDCoCAiwqAgcksiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0 Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoCAiwqDCoCBpIikK CgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJh bmQiwqDCoMKgwqDCoMKgwqAgIsKgwqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRj aF9vcGVyYW5kIDggImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgICLCoMKgIGkiKQoK Cgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKPivCoMKgwqDCoMKg wqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKPivC oMKgwqDCoMKgwqAgKGFzaGlmdDpWV0VYVEkKCgoKPivCoMKgwqDCoMKgwqDCoMKgICh6ZXJvX2V4 dGVuZDpWV0VYVEkKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9E T1VCTEVfVFJVTkM+IDMgInJlZ2lzdGVyX29wZXJhbmQiICJ2ciIpKQoKCgo+K8KgwqDCoMKgwqDC oMKgwqAgKG1hdGNoX29wZXJhbmQ6PFZfRE9VQkxFX1RSVU5DPiA0ICJyZWdpc3Rlcl9vcGVyYW5k IsKgICJ2ciIpKQoKCgo+K8KgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDpWV0VYVEkgMiAidmVj dG9yX21lcmdlX29wZXJhbmQiICIwdnUiKSkpXQoKCgo+K8KgICJUQVJHRVRfWlZCQiIKCgoKPivC oCAidndzbGwudnZcdCUwLCUzLCU0JXAxIgoKCgo+K8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2d3Ns bCIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8Vl9ET1VCTEVfVFJVTkM+IildKQoKCgo+ KwoKCgo+KyhkZWZpbmVfaW5zbiAiQHByZWRfdndzbGw8bW9kZT5fc2NhbGFyIgoKCgo+K8KgIFso c2V0IChtYXRjaF9vcGVyYW5kOlZXRVhUSSAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoCAiPXZk LCB2ciwgdmQsIHZyLCB2ZCwgdnIsIHZkLCB2ciwgdmQsIHZyLCB2ZCwgdnIsID8mdnIsID8mdnIi KQoKCgo+K8KgwqDCoMKgIChpZl90aGVuX2Vsc2U6VldFWFRJCgoKCj4rwqDCoMKgwqDCoMKgICh1 bnNwZWM6PFZNPgoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAi dmVjdG9yX21hc2tfb3BlcmFuZCIgIiB2bSxXYzEsIHZtLFdjMSwgdm0sV2MxLCB2bSxXYzEsIHZt LFdjMSwgdm0sV2MxLHZtV2MxLHZtV2MxIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNo X29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoCAiIHJLLCBySywgckssIHJL LCBySywgckssIHJLLCBySywgckssIHJLLCBySywgcksswqDCoCBySyzCoMKgIHJLIikKCgoKPivC oMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqDC oMKgwqDCoMKgwqAgIsKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBp LMKgIGkswqAgaSzCoCBpLMKgwqDCoCBpLMKgwqDCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKg wqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIsKg IGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBp LMKgwqDCoCBpLMKgwqDCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJh bmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIsKgIGkswqAgaSzCoCBpLMKg IGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgIGkswqAgaSzCoCBpLMKgwqDCoCBpLMKgwqDC oCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDC oMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp CgoKCj4rwqDCoMKgwqDCoMKgIChhc2hpZnQ6VldFWFRJCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAo emVyb19leHRlbmQ6VldFWFRJCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJh bmQ6PFZfRE9VQkxFX1RSVU5DPiAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgICJXMjEsVzIxLFcyMSxX MjEsVzQyLFc0MixXNDIsVzQyLFc4NCxXODQsVzg0LFc4NCzCoMKgIHZyLMKgwqAgdnIiKSkKCgoK PivCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOjxWU1VCRUw+IDQgInBtb2RlX3JlZ19v cl91aW1tNV9vcGVyYW5kIsKgICIgckssIHJLLCBySywgckssIHJLLCBySywgckssIHJLLCBySywg ckssIHJLLCBySyzCoMKgIHJLLMKgwqAgcksiKSkKCgoKPivCoMKgwqDCoMKgwqAgKG1hdGNoX29w ZXJhbmQ6VldFWFRJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKg ICIgdnUsIHZ1LMKgIDAswqAgMCwgdnUsIHZ1LMKgIDAswqAgMCwgdnUsIHZ1LMKgIDAswqAgMCzC oMKgIHZ1LMKgwqDCoCAwIikpKV0KCgoKPivCoCAiVEFSR0VUX1pWQkIiCgoKCj4rwqAgInZ3c2xs LnYlbzRcdCUwLCUzLCU0JXAxIgoKCgo+K8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2d3NsbCIpCgoK Cj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8Vl9ET1VCTEVfVFJVTkM+IikKCgoKPivCoMKgIChz ZXRfYXR0ciAiZ3JvdXBfb3ZlcmxhcCIgIlcyMSxXMjEsVzIxLFcyMSxXNDIsVzQyLFc0MixXNDIs Vzg0LFc4NCxXODQsVzg0LG5vbmUsbm9uZSIpXSkKCgoKPisKCgoKPis7OyB2YnJldi52IHZicmV2 OC52IHZyZXY4LnYKCgoKPisoZGVmaW5lX2luc24gIkBwcmVkX3Y8cmV2Pjxtb2RlPiIKCgoKPivC oCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSSAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDC oMKgICI9dmQsdnIsdmQsdnIiKQoKCgo+K8KgwqDCoMKgIChpZl90aGVuX2Vsc2U6VkkKCgoKPivC oMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29w ZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAidm0sV2MxLHZtLFdjMSIpCgoKCj4r wqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDQgInZlY3Rvcl9sZW5ndGhfb3BlcmFu ZCLCoMKgwqAgInJLLHJLLCBySywgcksiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hf b3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoCAiaSzCoCBpLMKgIGks wqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2lu dF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgICJpLMKgIGkswqAgaSzCoCBpIikKCgoKPivCoMKgwqDC oMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDC oMKgwqAgImkswqAgaSzCoCBpLMKgIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJ IFZMX1JFR05VTSkKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0p XSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzpWSQoKCgo+K8Kg wqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOlZJIDMgInJlZ2lzdGVyX29wZXJhbmQiwqDC oMKgwqDCoCAidnIsdnIsIHZyLCB2ciIpXVVOU1BFQ19WUkJCOCkKCgoKPivCoMKgwqDCoMKgwqAg KG1hdGNoX29wZXJhbmQ6VkkgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqDCoMKgwqAgInZ1LHZ1 LMKgIDAswqAgMCIpKSldCgoKCj4rwqAgIlRBUkdFVF9aVkJCIHx8IFRBUkdFVF9aVktCIgoKCgo+ K8KgICJ2PHJldj4udlx0JTAsJTMlcDEiCgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInY8cmV2 PiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCj4rCgoKCj4rOzsg dmNsei52IHZjdHoudgoKCgo+KyhkZWZpbmVfaW5zbiAiQHByZWRfdjxiaXRtYW5pcF9vcHRhYj48 bW9kZT4iCgoKCj4rwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMMKgICJyZWdpc3Rlcl9vcGVy YW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgICI9dmQsIHZyIikKCgoKPivCoMKgwqDCoCAoY2x6X2N0 el9wY250OlZJCgoKCj4rwqDCoMKgwqDCoMKgIChwYXJhbGxlbAoKCgo+K8KgwqDCoMKgwqDCoMKg wqAgWyhtYXRjaF9vcGVyYW5kOlZJIDIgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqDCoMKgwqDC oMKgwqAgInZyLCB2ciIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgICh1bnNwZWM6PFZNPgoKCgo+ K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21h c2tfb3BlcmFuZCLCoMKgICJ2bSxXYzEiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo bWF0Y2hfb3BlcmFuZCAzwqDCoMKgwqDCoCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAickssIHJL IikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNMKgwqDCoMKg wqAgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgICIgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpXSkpKV0KCgoK PivCoCAiVEFSR0VUX1pWQkIiCgoKCj4rwqAgInY8Yml0bWFuaXBfaW5zbj4udlx0JTAsJTIlcDEi CgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInY8Yml0bWFuaXBfaW5zbj4iKQoKCgo+K8KgwqAg KHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgo+KwoKCgo+Kzs7IHp2YmMgaW5zdHJ1Y3Rp b25zIHBhdHRlcm5zLgoKCgo+Kzs7IHZjbG11bC52diB2Y2xtdWwudngKCgoKPis7OyB2Y2xtdWxo LnZ2IHZjbG11bGgudngKCgoKPisoZGVmaW5lX2luc24gIkBwcmVkX3ZjbG11bDxoPjxtb2RlPiIK CgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWSV9EIDDCoCAicmVnaXN0ZXJfb3BlcmFuZCLC oMKgwqDCoCAiPXZkLHZyLHZkLCB2ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWSV9E CgoKCj4rwqDCoMKgwqDCoMKgICh1bnNwZWM6PFZNPgoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgWyht YXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZtLFdjMSx2bSxXYzEi KQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiwqDCoMKgICJySywgckssckssIHJLIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAg KG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqAgIiBpLMKg IGksIGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDcgImNv bnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgICIgaSzCoCBpLCBpLMKgIGkiKQoKCgo+K8Kg wqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKg wqDCoMKgwqDCoCAiIGkswqAgaSwgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJl ZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4rwqDCoMKgwqDCoMKgICh1bnNwZWM6VklfRAoK Cgo+K8KgwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOlZJX0QgMyAicmVnaXN0ZXJfb3Bl cmFuZCLCoMKgwqDCoCAidnIsIHZyLHZyLCB2ciIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgICht YXRjaF9vcGVyYW5kOlZJX0QgNCAicmVnaXN0ZXJfb3BlcmFuZCLCoMKgwqDCoCAidnIsIHZyLHZy LCB2ciIpXVVOU1BFQ19DTE1VTCkKCgoKPivCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQ6Vklf RCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCLCoMKgwqAgInZ1LCB2dSwgMCzCoCAwIikpKV0KCgoK PivCoCAiVEFSR0VUX1pWQkMiCgoKCj4rwqAgInZjbG11bDxoPi52dlx0JTAsJTMsJTQlcDEiCgoK Cj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInZjbG11bDxoPiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIg Im1vZGUiICI8TU9ERT4iKV0pCgoKCj4rCgoKCj4rOzsgRGVhbCB3aXRoIFNFVyA9IDY0IGluIFJW MzIgc3lzdGVtLgoKCgo+KyhkZWZpbmVfZXhwYW5kICJAcHJlZF92Y2xtdWw8aD48bW9kZT5fc2Nh bGFyIgoKCgo+K8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJX0QgMCAicmVnaXN0ZXJfb3BlcmFu ZCIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWSV9ECgoKCj4rwqDCoMKgwqDCoMKgICh1 bnNwZWM6PFZNPgoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAi dmVjdG9yX21hc2tfb3BlcmFuZCIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVy YW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgICht YXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIikKCgoKPivCoMKgwqDCoMKgwqDCoMKg wqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiKQoKCgo+K8KgwqDCoMKgwqDC oMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCIpCgoKCj4rwqDCoMKg wqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAo cmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElDQVRFKQoKCgo+K8KgwqDCoMKgwqDC oCAodW5zcGVjOlZJX0QKCgoKPivCoMKgwqDCoMKgwqDCoMKgIFsodmVjX2R1cGxpY2F0ZTpWSV9E CgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDo8VkVMPiA0ICJyZWdp c3Rlcl9vcGVyYW5kIikpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOlZJ X0QgMyAicmVnaXN0ZXJfb3BlcmFuZCIpXVVOU1BFQ19DTE1VTCkKCgoKPivCoMKgwqDCoMKgwqAg KG1hdGNoX29wZXJhbmQ6VklfRCAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIpKSldCgoKCj4rwqAg IlRBUkdFVF9aVkJDIgoKCgo+K3sKCgoKPivCoCBpZiAocmlzY3ZfdmVjdG9yOjpzZXc2NF9zY2Fs YXJfaGVscGVyICgKCgoKPisJb3BlcmFuZHMsCgoKCj4rCS8qIHNjYWxhciBvcCAqLyZvcGVyYW5k c1s0XSwKCgoKPisJLyogdmwgKi9vcGVyYW5kc1s1XSwKCgoKPisJPE1PREU+bW9kZSwKCgoKPisJ ZmFsc2UsCgoKCj4rCVtdIChydHggKm9wZXJhbmRzLCBydHggYm9hcmRjYXN0X3NjYWxhcikgewoK Cgo+KwnCoCBlbWl0X2luc24gKGdlbl9wcmVkX3ZjbG11bDxoPjxtb2RlPiAob3BlcmFuZHNbMF0s IG9wZXJhbmRzWzFdLAoKCgo+KwnCoMKgwqDCoMKgwqAgb3BlcmFuZHNbMl0sIG9wZXJhbmRzWzNd LCBib2FyZGNhc3Rfc2NhbGFyLCBvcGVyYW5kc1s1XSwKCgoKPisJwqDCoMKgwqDCoMKgIG9wZXJh bmRzWzZdLCBvcGVyYW5kc1s3XSwgb3BlcmFuZHNbOF0pKTsKCgoKPivCoMKgwqDCoMKgwqDCoCB9 LAoKCgo+K8KgwqDCoMKgwqDCoMKgIChyaXNjdl92ZWN0b3I6OmF2bF90eXBlKSBJTlRWQUwgKG9w ZXJhbmRzWzhdKSkpCgoKCj4rwqDCoMKgIERPTkU7CgoKCj4rfSkKCgoKPisKCgoKPisoZGVmaW5l X2luc24gIipwcmVkX3ZjbG11bDxoPjxtb2RlPl9zY2FsYXIiCgoKCj4rwqAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VklfRCAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDCoCAiPXZkLHZyLHZk LCB2ciIpCgoKCj4rwqDCoMKgIChpZl90aGVuX2Vsc2U6VklfRAoKCgo+K8KgwqDCoMKgwqAgKHVu c3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVj dG9yX21hc2tfb3BlcmFuZCLCoCAidm0sV2MxLHZtLFdjMSIpCgoKCj4rwqDCoMKgwqDCoMKgwqAg KG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoMKgwqAgInJLLCBy SyxySywgcksiKQoKCgo+K8KgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2lu dF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoCAiIGkswqAgaSwgaSzCoCBpIikKCgoKPivCoMKg wqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKg wqDCoMKgwqAgIiBpLMKgIGksIGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29w ZXJhbmQgOCAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoMKgICIgaSzCoCBpLCBp LMKgIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgo+K8KgwqDC oMKgwqDCoMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4r wqDCoMKgwqDCoCAodW5zcGVjOlZJX0QKCgoKPivCoMKgwqDCoMKgwqDCoCBbKHZlY19kdXBsaWNh dGU6VklfRAoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDQg InJlZ19vcl8wX29wZXJhbmQiwqDCoCAickosIHJKLHJKLCBySiIpKQoKCgo+K8KgwqDCoMKgwqDC oMKgwqAgKG1hdGNoX29wZXJhbmQ6VklfRCAzICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqAg InZyLCB2cix2ciwgdnIiKV1VTlNQRUNfQ0xNVUwpCgoKCj4rwqDCoMKgwqDCoCAobWF0Y2hfb3Bl cmFuZDpWSV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgwqDCoMKgICJ2dSwgdnUsIDAswqAg MCIpKSldCgoKCj4rwqAgIlRBUkdFVF9aVkJDIgoKCgo+K8KgICJ2Y2xtdWw8aD4udnhcdCUwLCUz LCU0JXAxIgoKCgo+K8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2Y2xtdWw8aD4iKQoKCgo+K8KgwqAg KHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgo+KwoKCgo+KyhkZWZpbmVfaW5zbiAiKnBy ZWRfdmNsbXVsPGg+PG1vZGU+X2V4dGVuZF9zY2FsYXIiCgoKCj4rwqAgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6VklfRCAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqAgIj12ZCx2cix2 ZCwgdnIiKQoKCgo+K8KgwqDCoCAoaWZfdGhlbl9lbHNlOlZJX0QKCgoKPivCoMKgwqDCoMKgICh1 bnNwZWM6PFZNPgoKCgo+K8KgwqDCoMKgwqDCoMKgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZl Y3Rvcl9tYXNrX29wZXJhbmQiwqDCoMKgICJ2bSxXYzEsdm0sV2MxIikKCgoKPivCoMKgwqDCoMKg wqDCoCAobWF0Y2hfb3BlcmFuZCA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqDCoMKgwqDCoMKg wqAgInJLLCBySyxySywgcksiKQoKCgo+K8KgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDYg ImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiBpLMKgIGksIGkswqAg aSIpCgoKCj4rwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJh bmQiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiIGkswqAgaSwgaSzCoCBpIikKCgoKPivCoMKgwqDC oMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA4ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICIgaSzCoCBpLCBpLMKgIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgIChyZWc6U0kg VkxfUkVHTlVNKQoKCgo+K8KgwqDCoMKgwqDCoMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5T UEVDX1ZQUkVESUNBVEUpCgoKCj4rwqDCoMKgwqDCoCAodW5zcGVjOlZJX0QKCgoKPivCoMKgwqDC oMKgwqDCoCBbKHZlY19kdXBsaWNhdGU6VklfRAoKCgo+KwnCoMKgIChzaWduX2V4dGVuZDo8VkVM PgoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDo8VlNVQkVMPiA0 ICJyZWdfb3JfMF9vcGVyYW5kIiAiIHJKLCBySixySiwgckoiKSkpCgoKCj4rwqDCoMKgwqDCoMKg wqDCoCAobWF0Y2hfb3BlcmFuZDpWSV9EIDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqDCoMKg wqAgInZyLCB2cix2ciwgdnIiKV1VTlNQRUNfQ0xNVUwpCgoKCj4rwqDCoMKgwqDCoCAobWF0Y2hf b3BlcmFuZDpWSV9EIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgwqDCoMKgwqDCoCAidnUsIHZ1 LCAwLMKgIDAiKSkpXQoKCgo+K8KgICJUQVJHRVRfWlZCQyIKCgoKPivCoCAidmNsbXVsPGg+LnZ4 XHQlMCwlMywlNCVwMSIKCgoKPivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmNsbXVsPGg+IikKCgoK PivCoMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKPisKCgoKPis7OyB6dmtuaFth Yl0gYW5kIHp2a2cgaW5zdHJ1Y3Rpb25zIHBhdHRlcm5zLgoKCgo+Kzs7IHZzaGEybXMudnYgdnNo YTJjaC52diB2c2hhMmNsLnZ2IHZnaHNoLnZ2CgoKCj4rKGRlZmluZV9pbnNuICJAcHJlZF92PHZ2 X2luczFfbmFtZT48bW9kZT4iCgoKCj4rwqAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VlFFWFRJIDAg InJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgwqAgIj12ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5f ZWxzZTpWUUVYVEkKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDC oMKgwqDCoCBbKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoMKg ICJySyIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2lu dF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqAgIiBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAg KG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoCAiIGki KQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKPivCoMKgwqDC oMKgwqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoK PivCoMKgwqDCoMKgwqAgKHVuc3BlYzpWUUVYVEkKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgWyht YXRjaF9vcGVyYW5kOlZRRVhUSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIDAiKQoKCgo+K8KgwqDC oMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOlZRRVhUSSAyICJyZWdpc3Rlcl9vcGVyYW5k IiAidnIiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOlZRRVhUSSAz ICJyZWdpc3Rlcl9vcGVyYW5kIiAidnIiKV0gVU5TUEVDX1ZHTkhBQikKCgoKPivCoMKgwqDCoMKg wqAgKG1hdGNoX2R1cCAxKSkpXQoKCgo+K8KgICJUQVJHRVRfWlZLTkhBIHx8IFRBUkdFVF9aVktO SEIgfHwgVEFSR0VUX1pWS0ciCgoKCj4rwqAgInY8dnZfaW5zMV9uYW1lPi52dlx0JTAsJTIsJTMi CgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInY8dnZfaW5zMV9uYW1lPiIpCgoKCj4rwqDCoCAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCj4rCgoKCj4rOzsgenZrbmVkIGFuZCB6dmtz ZWQgYW1kIHp2a2cgaW5zdHJ1Y3Rpb25zIHBhdHRlcm5zLgoKCgo+Kzs7IHZnbXVsLnZ2wqDCoMKg wqDCoMKgIHZhZXN6LnZzCgoKCj4rOzsgdmFlc2VmLlt2dix2c10gdmFlc2VtLlt2dix2c10gdmFl c2RmLlt2dix2c10gdmFlc2RtLlt2dix2c10KCgoKPis7OyB2c200ci5bdnYsdnNdCgoKCj4rKGRl ZmluZV9pbnNuICJAcHJlZF9jcnlwdG9fdnY8dnZfaW5zX25hbWU+PGluc190eXBlPjxtb2RlPiIK CgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCLCoMKg wqAgIj12ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWU0kKCgoKPivCoMKgwqDCoMKg wqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQgMyAi dmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiIHJLIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1h dGNoX29wZXJhbmQgNCAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqAgIsKgIGkiKQoKCgo+K8Kg wqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKg wqDCoCAiwqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoK Cgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJF RElDQVRFKQoKCgo+K8KgwqDCoMKgwqDCoCAodW5zcGVjOlZTSQoKCgo+K8KgwqDCoMKgwqDCoMKg wqAgWyhtYXRjaF9vcGVyYW5kOlZTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIDAiKQoKCgo+K8Kg wqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDpWU0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIg InZyIildIFVOU1BFQ19DUllQVE9fVlYpCgoKCj4rwqDCoMKgwqDCoMKgIChtYXRjaF9kdXAgMSkp KV0KCgoKPivCoCAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZLU0VEIHx8IFRBUkdFVF9aVktH IgoKCgo+K8KgICJ2PHZ2X2luc19uYW1lPi48aW5zX3R5cGU+XHQlMCwlMiIKCgoKPivCoCBbKHNl dF9hdHRyICJ0eXBlIiAidjx2dl9pbnNfbmFtZT4iKQoKCgo+K8KgwqAgKHNldF9hdHRyICJtb2Rl IiAiPE1PREU+IildKQoKCgo+KwoKCgo+KyhkZWZpbmVfaW5zbiAiQHByZWRfY3J5cHRvX3Z2PHZ2 X2luc19uYW1lPjxpbnNfdHlwZT54MTxtb2RlPl9zY2FsYXIiCgoKCj4rwqAgWyhzZXQgKG1hdGNo X29wZXJhbmQ6VlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgICI9JnZyIikKCgoKPivCoMKg wqDCoCAoaWZfdGhlbl9lbHNlOlZTSQoKCgo+K8KgwqDCoMKgwqDCoCAodW5zcGVjOjxWTT4KCgoK PivCoMKgwqDCoMKgwqDCoMKgIFsobWF0Y2hfb3BlcmFuZCAzICJ2ZWN0b3JfbGVuZ3RoX29wZXJh bmQiICLCoCBySyIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDQgImNv bnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgICLCoMKgIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDC oCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoCAiwqDCoCBpIikK CgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoKCj4rwqDCoMKgwqDC oMKgwqDCoMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4r wqDCoMKgwqDCoMKgICh1bnNwZWM6VlNJCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29w ZXJhbmQ6VlNJIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgMCIpCgoKCj4rwqDCoMKgwqDCoMKgwqDC oMKgIChtYXRjaF9vcGVyYW5kOlZTSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidnIiKV0gVU5TUEVD X0NSWVBUT19WVikKCgoKPivCoMKgwqDCoMKgwqAgKG1hdGNoX2R1cCAxKSkpXQoKCgo+K8KgICJU QVJHRVRfWlZLTkVEIHx8IFRBUkdFVF9aVktTRUQiCgoKCj4rwqAgInY8dnZfaW5zX25hbWU+Ljxp bnNfdHlwZT5cdCUwLCUyIgoKCgo+K8KgIFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2X2luc19uYW1l PiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCj4rCgoKCj4rKGRl ZmluZV9pbnNuICJAcHJlZF9jcnlwdG9fdnY8dnZfaW5zX25hbWU+PGluc190eXBlPngyPG1vZGU+ X3NjYWxhciIKCgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDI+IDAgInJlZ2lzdGVy X29wZXJhbmQiICI9JnZyIikKCgoKPivCoMKgwqDCoCAoaWZfdGhlbl9lbHNlOjxWU0lYMj4KCgoK PivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNo X29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgICJySyIpCgoKCj4rwqDCoMKgwqDC oMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqAg IiBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50 X29wZXJhbmQiwqDCoMKgwqDCoCAiIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJ IFZMX1JFR05VTSkKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0p XSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8VlNJWDI+CgoK Cj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQ6PFZTSVgyPiAxwqAgInJlZ2lzdGVy X29wZXJhbmQiwqDCoCAiIDAiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFu ZDpWTE1VTFgyX1NJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJ2ciIpXSBVTlNQRUNfQ1JZUFRPX1ZW KQoKCgo+K8KgwqDCoMKgwqDCoCAobWF0Y2hfZHVwIDEpKSldCgoKCj4rwqAgIlRBUkdFVF9aVktO RUQgfHwgVEFSR0VUX1pWS1NFRCIKCgoKPivCoCAidjx2dl9pbnNfbmFtZT4uPGluc190eXBlPlx0 JTAsJTIiCgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInY8dnZfaW5zX25hbWU+IikKCgoKPivC oMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKPisKCgoKPisoZGVmaW5lX2luc24g IkBwcmVkX2NyeXB0b192djx2dl9pbnNfbmFtZT48aW5zX3R5cGU+eDQ8bW9kZT5fc2NhbGFyIgoK Cgo+KyBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDQ+IDAgInJlZ2lzdGVyX29wZXJhbmQiwqDC oMKgwqDCoCAiPSZ2ciIpCgoKCj4rwqDCoMKgIChpZl90aGVuX2Vsc2U6PFZTSVg0PgoKCgo+K8Kg wqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5k IDMgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCLCoMKgwqDCoMKgwqAgIiBySyIpCgoKCj4rwqDCoMKg wqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA0ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKg wqDCoMKgwqDCoCAiwqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA1 ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqDCoCAiwqAgaSIpCgoKCj4rwqDC oMKgwqDCoMKgwqDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChy ZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpCgoKCj4rwqDCoMKgwqDCoMKg ICh1bnNwZWM6PFZTSVg0PgoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOjxW U0lYND4gMSAicmVnaXN0ZXJfb3BlcmFuZCLCoMKgwqAgIiAwIikKCgoKPivCoMKgwqDCoMKgwqDC oMKgwqAgKG1hdGNoX29wZXJhbmQ6VkxNVUxYNF9TSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAidnIi KV0gVU5TUEVDX0NSWVBUT19WVikKCgoKPivCoMKgwqDCoMKgwqAgKG1hdGNoX2R1cCAxKSkpXQoK Cgo+KyAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZLU0VEIgoKCgo+KyAidjx2dl9pbnNfbmFt ZT4uPGluc190eXBlPlx0JTAsJTIiCgoKCj4rIFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2X2luc19u YW1lPiIpCgoKCj4rwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgo+KwoKCgo+Kyhk ZWZpbmVfaW5zbiAiQHByZWRfY3J5cHRvX3Z2PHZ2X2luc19uYW1lPjxpbnNfdHlwZT54ODxtb2Rl Pl9zY2FsYXIiCgoKCj4rIFsoc2V0IChtYXRjaF9vcGVyYW5kOjxWU0lYOD4gMCAicmVnaXN0ZXJf b3BlcmFuZCLCoMKgwqDCoMKgICI9JnZyIikKCgoKPivCoMKgwqAgKGlmX3RoZW5fZWxzZTo8VlNJ WDg+CgoKCj4rwqDCoMKgwqDCoCAodW5zcGVjOjxWTT4KCgoKPivCoMKgwqDCoMKgwqDCoCBbKG1h dGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoMKgwqDCoCAiIHJLIikK CgoKPivCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5k IsKgwqDCoMKgwqDCoMKgwqDCoMKgICLCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChtYXRj aF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgICLCoCBp IikKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgo+K8KgwqDCoMKg wqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKPivC oMKgwqDCoMKgICh1bnNwZWM6PFZTSVg4PgoKCgo+K8KgwqDCoMKgwqDCoMKgIFsobWF0Y2hfb3Bl cmFuZDo8VlNJWDg+IDEgInJlZ2lzdGVyX29wZXJhbmQiwqDCoMKgICLCoCAwIikKCgoKPivCoMKg wqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOlZMTVVMWDhfU0kgMiAicmVnaXN0ZXJfb3BlcmFu ZCIgIiB2ciIpXSBVTlNQRUNfQ1JZUFRPX1ZWKQoKCgo+K8KgwqDCoMKgwqAgKG1hdGNoX2R1cCAx KSkpXQoKCgo+KyAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZLU0VEIgoKCgo+KyAidjx2dl9p bnNfbmFtZT4uPGluc190eXBlPlx0JTAsJTIiCgoKCj4rIFsoc2V0X2F0dHIgInR5cGUiICJ2PHZ2 X2luc19uYW1lPiIpCgoKCj4rwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IildKQoKCgo+KwoK Cgo+KyhkZWZpbmVfaW5zbiAiQHByZWRfY3J5cHRvX3Z2PHZ2X2luc19uYW1lPjxpbnNfdHlwZT54 MTY8bW9kZT5fc2NhbGFyIgoKCgo+KyBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VlNJWDE2PiAwICJy ZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoMKgwqAgIj0mdnIiKQoKCgo+K8KgwqDCoCAoaWZfdGhlbl9l bHNlOjxWU0lYMTY+CgoKCj4rwqDCoMKgwqDCoCAodW5zcGVjOjxWTT4KCgoKPivCoMKgwqDCoMKg wqDCoCBbKG1hdGNoX29wZXJhbmQgMyAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoMKgwqDC oMKgICLCoCBySyIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA0ICJjb25z dF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICLCoMKgIGkiKQoKCgo+K8KgwqDC oMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQiwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAiwqDCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxf UkVHTlVNKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQ RUNfVlBSRURJQ0FURSkKCgoKPivCoMKgwqDCoMKgICh1bnNwZWM6PFZTSVgxNj4KCgoKPivCoMKg wqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQ6PFZTSVgxNj4gMSAicmVnaXN0ZXJfb3BlcmFuZCLC oMKgwqAgIsKgwqAgMCIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZDpWTE1V TFgxNl9TSSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiwqAgdnIiKV0gVU5TUEVDX0NSWVBUT19WVikK CgoKPivCoMKgwqDCoMKgIChtYXRjaF9kdXAgMSkpKV0KCgoKPisgIlRBUkdFVF9aVktORUQgfHwg VEFSR0VUX1pWS1NFRCIKCgoKPisgInY8dnZfaW5zX25hbWU+LjxpbnNfdHlwZT5cdCUwLCUyIgoK Cgo+KyBbKHNldF9hdHRyICJ0eXBlIiAidjx2dl9pbnNfbmFtZT4iKQoKCgo+K8KgIChzZXRfYXR0 ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKPisKCgoKPis7OyB2YWVza2YxLnZpIHZzbTRrLnZpCgoK Cj4rKGRlZmluZV9pbnNuICJAcHJlZF9jcnlwdG9fdmk8dmlfaW5zX25hbWU+PG1vZGU+X3NjYWxh ciIKCgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCLC oMKgwqDCoMKgwqDCoCAiPXZyLCB2ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWU0kK CgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1h dGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoMKgwqAgInJLLCBySyIp CgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDUgImNvbnN0X2ludF9vcGVy YW5kIsKgwqDCoMKgwqDCoMKgwqDCoCAiIGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKg IChtYXRjaF9vcGVyYW5kIDYgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoCAi IGkswqAgaSIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVkxfUkVHTlVNKQoKCgo+ K8KgwqDCoMKgwqDCoMKgwqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJFRElD QVRFKQoKCgo+K8KgwqDCoMKgwqDCoCAodW5zcGVjOlZTSQoKCgo+K8KgwqDCoMKgwqDCoMKgwqAg WyhtYXRjaF9vcGVyYW5kOlZTSSAywqDCoMKgwqDCoMKgICJyZWdpc3Rlcl9vcGVyYW5kIiAidnIs IHZyIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgM8KgICJjb25zdF9p bnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgICIgaSzCoCBpIildIFVOU1BFQ19DUllQVE9fVkkp CgoKCj4rwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOlZTSSAxICJ2ZWN0b3JfbWVyZ2Vfb3Bl cmFuZCLCoMKgwqDCoMKgICJ2dSzCoCAwIikpKV0KCgoKPivCoCAiVEFSR0VUX1pWS05FRCB8fCBU QVJHRVRfWlZLU0VEIgoKCgo+K8KgICJ2PHZpX2luc19uYW1lPi52aVx0JTAsJTIsJTMiCgoKCj4r wqAgWyhzZXRfYXR0ciAidHlwZSIgInY8dmlfaW5zX25hbWU+IikKCgoKPivCoMKgIChzZXRfYXR0 ciAibW9kZSIgIjxNT0RFPiIpXSkKCgoKPisKCgoKPis7OyB2YWVza2YyLnZpIHZzbTNjLnZpCgoK Cj4rKGRlZmluZV9pbnNuICJAcHJlZF92aTx2aV9pbnMxX25hbWU+PG1vZGU+X25vbWFza2Vkb2Zm X3NjYWxhciIKCgoKPivCoCBbKHNldCAobWF0Y2hfb3BlcmFuZDpWU0kgMCAicmVnaXN0ZXJfb3Bl cmFuZCLCoMKgwqDCoMKgwqAgIj12ciIpCgoKCj4rwqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWU0kK CgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1h dGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoCAicksiKQoKCgo+K8Kg wqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA1ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKg wqDCoMKgwqDCoCAiIGkiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA2 ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoCAiIGkiKQoKCgo+K8KgwqDCoMKgwqDC oMKgwqDCoCAocmVnOlNJIFZMX1JFR05VTSkKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpT SSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKCgoKPivCoMKgwqDCoMKgwqAgKHVu c3BlYzpWU0kKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgWyhtYXRjaF9vcGVyYW5kOlZTSSAxwqDC oCAicmVnaXN0ZXJfb3BlcmFuZCLCoCAiIDAiKQoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgICht YXRjaF9vcGVyYW5kOlZTSSAywqDCoCAicmVnaXN0ZXJfb3BlcmFuZCLCoCAidnIiKQoKCgo+K8Kg wqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDMgImNvbnN0X2ludF9vcGVyYW5kIiAi IGkiKV0gVU5TUEVDX0NSWVBUT19WSTEpCgoKCj4rwqDCoMKgwqDCoMKgIChtYXRjaF9kdXAgMSkp KV0KCgoKPivCoCAiVEFSR0VUX1pWS05FRCB8fCBUQVJHRVRfWlZLU0giCgoKCj4rwqAgInY8dmlf aW5zMV9uYW1lPi52aVx0JTAsJTIsJTMiCgoKCj4rwqAgWyhzZXRfYXR0ciAidHlwZSIgInY8dmlf aW5zMV9uYW1lPiIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCgoKCj4r CgoKCj4rOzsgenZrc2ggaW5zdHJ1Y3Rpb25zIHBhdHRlcm5zLgoKCgo+Kzs7IHZzbTNtZS52dgoK Cgo+KyhkZWZpbmVfaW5zbiAiQHByZWRfdnNtM21lPG1vZGU+IgoKCgo+K8KgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlZTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIsKgwqDCoCAiPXZyLCB2ciIpCgoKCj4r wqDCoMKgwqAgKGlmX3RoZW5fZWxzZTpWU0kKCgoKPivCoMKgwqDCoMKgwqAgKHVuc3BlYzo8Vk0+ CgoKCj4rwqDCoMKgwqDCoMKgwqDCoCBbKG1hdGNoX29wZXJhbmQgNCAidmVjdG9yX2xlbmd0aF9v cGVyYW5kIiAiIHJLLCBySyIpCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5k IDUgImNvbnN0X2ludF9vcGVyYW5kIsKgwqDCoMKgICLCoCBpLMKgIGkiKQoKCgo+K8KgwqDCoMKg wqDCoMKgwqDCoCAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCLCoMKgwqDCoCAi wqAgaSzCoCBpIikKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCgoK Cj4rwqDCoMKgwqDCoMKgwqDCoMKgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVE SUNBVEUpCgoKCj4rwqDCoMKgwqDCoMKgICh1bnNwZWM6VlNJCgoKCj4rwqDCoMKgwqDCoMKgwqDC oMKgIFsobWF0Y2hfb3BlcmFuZDpWU0kgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIiB2ciwgdnIiKQoK Cgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kOlZTSSAzICJyZWdpc3Rlcl9v cGVyYW5kIiAiIHZyLCB2ciIpXSBVTlNQRUNfVlNNM01FKQoKCgo+K8KgwqDCoMKgwqDCoCAobWF0 Y2hfb3BlcmFuZDpWU0kgMSAidmVjdG9yX21lcmdlX29wZXJhbmQiICIgdnUsIDAiKSkpXQoKCgo+ K8KgICJUQVJHRVRfWlZLU0giCgoKCj4rwqAgInZzbTNtZS52dlx0JTAsJTIsJTMiCgoKCj4rwqAg WyhzZXRfYXR0ciAidHlwZSIgInZzbTNtZSIpCgoKCj4rwqDCoCAoc2V0X2F0dHIgIm1vZGUiICI8 TU9ERT4iKV0pCgoKCj5kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0 b3JzLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3ItaXRlcmF0b3JzLm1kCgoKCj5pbmRleCA1 ZjVmN2I1Yjk4Ni4uMzE3ZGM5ZGUyNTMgMTAwNjQ0CgoKCj4tLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L3ZlY3Rvci1pdGVyYXRvcnMubWQKCgoKPisrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLWl0 ZXJhdG9ycy5tZAoKCgo+QEAgLTM5MTYsMyArMzkxNiwzOSBAQAoKCgo+wqDCoCAoVjEwMjRCSSAi cmlzY3ZfdmVjdG9yOjp2bHNfbW9kZV92YWxpZF9wIChWMTAyNEJJbW9kZSkgJiYgVEFSR0VUX01J Tl9WTEVOID49IDEwMjQiKQoKCgo+wqDCoCAoVjIwNDhCSSAicmlzY3ZfdmVjdG9yOjp2bHNfbW9k ZV92YWxpZF9wIChWMjA0OEJJbW9kZSkgJiYgVEFSR0VUX01JTl9WTEVOID49IDIwNDgiKQoKCgo+ wqDCoCAoVjQwOTZCSSAicmlzY3ZfdmVjdG9yOjp2bHNfbW9kZV92YWxpZF9wIChWNDA5NkJJbW9k ZSkgJiYgVEFSR0VUX01JTl9WTEVOID49IDQwOTYiKV0pCgoKCj4rCgoKCj4rKGRlZmluZV9tb2Rl X2l0ZXJhdG9yIFZTSSBbCgoKCj4rwqAgUlZWTThTSSBSVlZNNFNJIFJWVk0yU0kgUlZWTTFTSSAo UlZWTUYyU0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKPitdKQoKCgo+KwoKCgo+KyhkZWZp bmVfbW9kZV9pdGVyYXRvciBWTE1VTFgyX1NJIFsKCgoKPivCoCBSVlZNNFNJIFJWVk0yU0kgUlZW TTFTSSAoUlZWTUYyU0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKPitdKQoKCgo+KwoKCgo+ KyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWTE1VTFg0X1NJIFsKCgoKPivCoCBSVlZNMlNJIFJWVk0x U0kgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZMRU4gPiAzMiIpCgoKCj4rXSkKCgoKPisKCgoKPiso ZGVmaW5lX21vZGVfaXRlcmF0b3IgVkxNVUxYOF9TSSBbCgoKCj4rwqAgUlZWTTFTSSAoUlZWTUYy U0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikKCgoKPitdKQoKCgo+KwoKCgo+KyhkZWZpbmVfbW9k ZV9pdGVyYXRvciBWTE1VTFgxNl9TSSBbCgoKCj4rwqAgKFJWVk1GMlNJICJUQVJHRVRfTUlOX1ZM RU4gPiAzMiIpCgoKCj4rXSkKCgoKPisKCgoKPisoZGVmaW5lX21vZGVfYXR0ciBWU0lYMiBbCgoK Cj4rwqAgKFJWVk04U0kgIlJWVk04U0kiKSAoUlZWTTRTSSAiUlZWTThTSSIpIChSVlZNMlNJICJS VlZNNFNJIikgKFJWVk0xU0kgIlJWVk0yU0kiKSAoUlZWTUYyU0kgIlJWVk0xU0kiKQoKCgo+K10p CgoKCj4rCgoKCj4rKGRlZmluZV9tb2RlX2F0dHIgVlNJWDQgWwoKCgo+K8KgIChSVlZNMlNJICJS VlZNOFNJIikgKFJWVk0xU0kgIlJWVk00U0kiKSAoUlZWTUYyU0kgIlJWVk0yU0kiKQoKCgo+K10p CgoKCj4rCgoKCj4rKGRlZmluZV9tb2RlX2F0dHIgVlNJWDggWwoKCgo+K8KgIChSVlZNMVNJICJS VlZNOFNJIikgKFJWVk1GMlNJICJSVlZNNFNJIikKCgoKPitdKQoKCgo+KwoKCgo+KyhkZWZpbmVf bW9kZV9hdHRyIFZTSVgxNiBbCgoKCj4rwqAgKFJWVk1GMlNJICJSVlZNOFNJIikKCgoKPitdKQoK Cgo+ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kIGIvZ2NjL2NvbmZpZy9y aXNjdi92ZWN0b3IubWQKCgoKPmluZGV4IGY2MDdkNzY4YjI2Li5jYWYxYjg4YmE1ZSAxMDA2NDQK CgoKPi0tLSBhL2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kCgoKCj4rKysgYi9nY2MvY29uZmln L3Jpc2N2L3ZlY3Rvci5tZAoKCgo+QEAgLTUyLDcgKzUyLDkgQEAKCgoKPiAJCQnCoCB2bWFsdSx2 bXBvcCx2bWZmcyx2bXNmcyx2bWlvdGEsdm1pZHgsdmltb3Z2eCx2aW1vdnh2LHZmbW92dmYsdmZt b3ZmdixcCgoKCj4gCQkJwqAgdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRlMXVwLHZpc2xpZGUx ZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcCgoKCj4gCQkJwqAgdmdhdGhlcix2Y29tcHJl c3MsdmxzZWdkZSx2c3NlZ3RlLHZsc2VnZHMsdnNzZWd0cyx2bHNlZ2R1eCx2bHNlZ2RveCxcCgoK Cj4tCQkJwqAgdnNzZWd0dXgsdnNzZWd0b3gsdmxzZWdkZmYiKQoKCgo+KwkJCcKgIHZzc2VndHV4 LHZzc2VndG94LHZsc2VnZGZmLHZhbmRuLHZicmV2LHZicmV2OCx2cmV2OCx2Y2x6LHZjdHosdnJv bCxcCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdnJvcix2d3NsbCx2Y2xtdWwsdmNsbXVsaCx2Z2hzaCx2Z211bCx2YWVzZWYsdmFlc2VtLHZh ZXNkZix2YWVzZG0sXAoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHZhZXNrZjEsdmFlc2tmMix2YWVzeix2c2hhMm1zLHZzaGEyY2gsdnNoYTJj bCx2c200ayx2c200cix2c20zbWUsdnNtM2MiKQoKCgo+IAkgKGNvbnN0X3N0cmluZyAidHJ1ZSIp XQoKCgo+IAkoY29uc3Rfc3RyaW5nICJmYWxzZSIpKSkKCgoKPiAKCgoKPkBAIC03NCw3ICs3Niw5 IEBACgoKCj4gCQkJwqAgdm1hbHUsdm1wb3Asdm1mZnMsdm1zZnMsdm1pb3RhLHZtaWR4LHZpbW92 eHYsdmZtb3ZmdixcCgoKCj4gCQkJwqAgdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRlMXVwLHZp c2xpZGUxZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcCgoKCj4gCQkJwqAgdmdhdGhlcix2 Y29tcHJlc3MsdmxzZWdkZSx2c3NlZ3RlLHZsc2VnZHMsdnNzZWd0cyx2bHNlZ2R1eCx2bHNlZ2Rv eCxcCgoKCj4tCQkJwqAgdnNzZWd0dXgsdnNzZWd0b3gsdmxzZWdkZmYiKQoKCgo+KwkJCcKgIHZz c2VndHV4LHZzc2VndG94LHZsc2VnZGZmLHZhbmRuLHZicmV2LHZicmV2OCx2cmV2OCx2Y2x6LHZj dHosdnJvbCxcCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdnJvcix2d3NsbCx2Y2xtdWwsdmNsbXVsaCx2Z2hzaCx2Z211bCx2YWVzZWYsdmFl c2VtLHZhZXNkZix2YWVzZG0sXAoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZhZXNrZjEsdmFlc2tmMix2YWVzeix2c2hhMm1zLHZzaGEyY2gs dnNoYTJjbCx2c200ayx2c200cix2c20zbWUsdnNtM2MiKQoKCgo+IAkgKGNvbnN0X3N0cmluZyAi dHJ1ZSIpXQoKCgo+IAkoY29uc3Rfc3RyaW5nICJmYWxzZSIpKSkKCgoKPiAKCgoKPkBAIC00MjYs NyArNDMwLDExIEBACgoKCj4gCQkJwqAgdml3cmVkLHZmcmVkdSx2ZnJlZG8sdmZ3cmVkdSx2Zndy ZWRvLHZpbW92dngsXAoKCgo+IAkJCcKgIHZpbW92eHYsdmZtb3Z2Zix2Zm1vdmZ2LHZzbGlkZXVw LHZzbGlkZWRvd24sXAoKCgo+IAkJCcKgIHZpc2xpZGUxdXAsdmlzbGlkZTFkb3duLHZmc2xpZGUx dXAsdmZzbGlkZTFkb3duLFwKCgoKPi0JCQnCoCB2Z2F0aGVyLHZjb21wcmVzcyx2bHNlZ2R1eCx2 bHNlZ2RveCx2c3NlZ3R1eCx2c3NlZ3RveCIpCgoKCj4rCQkJwqAgdmdhdGhlcix2Y29tcHJlc3Ms dmxzZWdkdXgsdmxzZWdkb3gsdnNzZWd0dXgsdnNzZWd0b3gsXAoKCgo+KwkJCcKgIHZhbmRuLHZi cmV2LHZicmV2OCx2cmV2OCx2Y2x6LHZjdHosdnJvbCx2cm9yLHZ3c2xsLFwKCgoKPisJCQnCoCB2 Y2xtdWwsdmNsbXVsaCx2Z2hzaCx2Z211bCx2YWVzZWYsdmFlc2VtLHZhZXNkZix2YWVzZG0sXAoK Cgo+KwkJCcKgIHZhZXNrZjEsdmFlc2tmMix2YWVzeix2c2hhMm1zLHZzaGEyY2gsdnNoYTJjbCx2 c200ayx2c200cixcCgoKCj4rCQkJwqAgdnNtM21lLHZzbTNjIikKCgoKPiAJwqDCoCAoY29uc3Rf aW50IElOVkFMSURfQVRUUklCVVRFKQoKCgo+IAkgKGVxX2F0dHIgIm1vZGUiICJSVlZNOFFJLFJW Vk0xQkkiKSAoY29uc3RfaW50IDEpCgoKCj4gCSAoZXFfYXR0ciAibW9kZSIgIlJWVk00UUksUlZW TUYyQkkiKSAoY29uc3RfaW50IDIpCgoKCj5AQCAtNjk4LDEwICs3MDYsMTIgQEAKCgoKPiAJCQkJ dmZ3Y3Z0ZnRvaSx2ZndjdnRmdG9mLHZmbmN2dGl0b2YsdmZuY3Z0ZnRvaSx2Zm5jdnRmdG9mLHZm Y2xhc3MsXAoKCgo+IAkJCQl2aXJlZCx2aXdyZWQsdmZyZWR1LHZmcmVkbyx2ZndyZWR1LHZmd3Jl ZG8sdmltb3Z4dix2Zm1vdmZ2LFwKCgoKPiAJCQkJdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRl MXVwLHZpc2xpZGUxZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcCgoKCj4tCQkJCXZnYXRo ZXIsdmxkZmYsdml3bXVsYWRkLHZmd211bGFkZCx2bHNlZ2RlLHZsc2VnZHMsdmxzZWdkdXgsdmxz ZWdkb3gsdmxzZWdkZmYiKQoKCgo+KwkJCQl2Z2F0aGVyLHZsZGZmLHZpd211bGFkZCx2ZndtdWxh ZGQsdmxzZWdkZSx2bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94LHZsc2VnZGZmLFwKCgoKPivCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB2YW5kbix2YnJldix2YnJldjgsdnJldjgsdnJvbCx2cm9yLHZ3c2xsLHZjbG11bCx2Y2xtdWxo IikKCgoKPiAJwqDCoMKgwqDCoMKgIChjb25zdF9pbnQgMikKCgoKPiAKCgoKPi0JwqDCoMKgwqDC oMKgIChlcV9hdHRyICJ0eXBlIiAidmltZXJnZSx2Zm1lcmdlLHZjb21wcmVzcyIpCgoKCj4rCcKg wqDCoMKgwqDCoCAoZXFfYXR0ciAidHlwZSIgInZpbWVyZ2UsdmZtZXJnZSx2Y29tcHJlc3Msdmdo c2gsdmdtdWwsdmFlc2VmLHZhZXNlbSx2YWVzZGYsdmFlc2RtLFwKCgoKPivCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWVza2Yx LHZhZXNrZjIsdmFlc3osdnNoYTJtcyx2c2hhMmNoLHZzaGEyY2wsdnNtNGssdnNtNHIsdnNtM21l LHZzbTNjIikKCgoKPiAJwqDCoMKgwqDCoMKgIChjb25zdF9pbnQgMSkKCgoKPiAKCgoKPiAJwqDC oMKgwqDCoMKgIChlcV9hdHRyICJ0eXBlIiAidmltdWxhZGQsdmZtdWxhZGQiKQoKCgo+QEAgLTc0 MCw3ICs3NTAsOCBAQAoKCgo+IAkJCcKgIHZzdG94LHZleHQsdm1zZnMsdm1pb3RhLHZmc3FydCx2 ZnJlY3AsdmZjdnRpdG9mLHZsZGZmLFwKCgoKPiAJCQnCoCB2ZmN2dGZ0b2ksdmZ3Y3Z0aXRvZix2 ZndjdnRmdG9pLHZmd2N2dGZ0b2YsdmZuY3Z0aXRvZixcCgoKCj4gCQkJwqAgdmZuY3Z0ZnRvaSx2 Zm5jdnRmdG9mLHZmY2xhc3Msdmltb3Z4dix2Zm1vdmZ2LHZjb21wcmVzcyxcCgoKCj4tCQkJwqAg dmxzZWdkZSx2c3NlZ3RzLHZzc2VndHV4LHZzc2VndG94LHZsc2VnZGZmIikKCgoKPisJCQnCoCB2 bHNlZ2RlLHZzc2VndHMsdnNzZWd0dXgsdnNzZWd0b3gsdmxzZWdkZmYsdmJyZXYsdmJyZXY4LHZy ZXY4LFwKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB2Z2hzaCx2YWVza2YxLHZhZXNrZjIsdnNoYTJtcyx2c2hhMmNoLHZzaGEyY2wsdnNtNGss dnNtM21lLHZzbTNjIikKCgoKPiAJwqDCoCAoY29uc3RfaW50IDQpCgoKCj4gCgoKCj4gCSA7OyBJ ZiBvcGVyYW5kc1szXSBvZiAidmxkcyIgaXMgbm90IHZlY3RvciBtb2RlLCBpdCBpcyBwcmVkX2Jy b2FkY2FzdC4KCgoKPkBAIC03NTUsMTMgKzc2NiwxNSBAQAoKCgo+IAkJCcKgIHZzc2hpZnQsdm5j bGlwLHZmYWx1LHZmbXVsLHZmbWlubWF4LHZmZGl2LHZmd2FsdSx2ZndtdWwsXAoKCgo+IAkJCcKg IHZmc2duaix2Zm1lcmdlLHZpcmVkLHZpd3JlZCx2ZnJlZHUsdmZyZWRvLHZmd3JlZHUsdmZ3cmVk byxcCgoKCj4gCQkJwqAgdnNsaWRldXAsdnNsaWRlZG93bix2aXNsaWRlMXVwLHZpc2xpZGUxZG93 bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93bixcCgoKCj4tCQkJwqAgdmdhdGhlcix2aXdtdWxhZGQs dmZ3bXVsYWRkLHZsc2VnZHMsdmxzZWdkdXgsdmxzZWdkb3giKQoKCgo+KwkJCcKgIHZnYXRoZXIs dml3bXVsYWRkLHZmd211bGFkZCx2bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94LHZhbmRuLHZyb2ws XAoKCgo+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHZyb3IsdndzbGwsdmNsbXVsLHZjbG11bGgiKQoKCgo+IAnCoMKgIChjb25zdF9pbnQgNSkKCgoK PiAKCgoKPiAJIChlcV9hdHRyICJ0eXBlIiAidmljbXAsdmltdWxhZGQsdmZjbXAsdmZtdWxhZGQi KQoKCgo+IAnCoMKgIChjb25zdF9pbnQgNikKCgoKPiAKCgoKPi0JIChlcV9hdHRyICJ0eXBlIiAi dm1wb3Asdm1mZnMsdm1pZHgsdnNzZWd0ZSIpCgoKCj4rCSAoZXFfYXR0ciAidHlwZSIgInZtcG9w LHZtZmZzLHZtaWR4LHZzc2VndGUsdmNseix2Y3R6LHZnbXVsLHZhZXNlZix2YWVzZW0sdmFlc2Rm LHZhZXNkbSxcCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgdmFlc3osdnNtNHIiKQoKCgo+IAnCoMKgIChjb25zdF9pbnQgMyldCgoKCj7CoMKg IChjb25zdF9pbnQgSU5WQUxJRF9BVFRSSUJVVEUpKSkKCgoKPiAKCgoKPkBAIC03NzAsNyArNzgz LDggQEAKCgoKPsKgwqAgKGNvbmQgWyhlcV9hdHRyICJ0eXBlIiAidmxkZSx2aW1vdix2Zm1vdix2 ZXh0LHZtaW90YSx2ZnNxcnQsdmZyZWNwLFwKCgoKPiAJCQnCoCB2ZmN2dGl0b2YsdmZjdnRmdG9p LHZmd2N2dGl0b2YsdmZ3Y3Z0ZnRvaSx2ZndjdnRmdG9mLFwKCgoKPiAJCQnCoCB2Zm5jdnRpdG9m LHZmbmN2dGZ0b2ksdmZuY3Z0ZnRvZix2ZmNsYXNzLHZpbW92eHYsdmZtb3ZmdixcCgoKCj4tCQkJ wqAgdmNvbXByZXNzLHZsZGZmLHZsc2VnZGUsdmxzZWdkZmYiKQoKCgo+KwkJCcKgIHZjb21wcmVz cyx2bGRmZix2bHNlZ2RlLHZsc2VnZGZmLHZicmV2LHZicmV2OCx2cmV2OCx2Z2hzaCxcCgoKCj4r wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFlc2tm MSx2YWVza2YyLHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTNtZSx2c20zYyIpCgoK Cj4gCcKgwqAgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0X3RhKG9wZXJhbmRzWzVdKSIp CgoKCj4gCgoKCj4gCSA7OyBJZiBvcGVyYW5kc1szXSBvZiAidmxkcyIgaXMgbm90IHZlY3RvciBt b2RlLCBpdCBpcyBwcmVkX2Jyb2FkY2FzdC4KCgoKPkBAIC03ODYsMTMgKzgwMCwxMyBAQAoKCgo+ IAkJCcKgIHZmd2FsdSx2ZndtdWwsdmZzZ25qLHZmbWVyZ2UsdmlyZWQsdml3cmVkLHZmcmVkdSxc CgoKCj4gCQkJwqAgdmZyZWRvLHZmd3JlZHUsdmZ3cmVkbyx2c2xpZGV1cCx2c2xpZGVkb3duLHZp c2xpZGUxdXAsXAoKCgo+IAkJCcKgIHZpc2xpZGUxZG93bix2ZnNsaWRlMXVwLHZmc2xpZGUxZG93 bix2Z2F0aGVyLHZpd211bGFkZCx2ZndtdWxhZGQsXAoKCgo+LQkJCcKgIHZsc2VnZHMsdmxzZWdk dXgsdmxzZWdkb3giKQoKCgo+KwkJCcKgIHZsc2VnZHMsdmxzZWdkdXgsdmxzZWdkb3gsdmFuZG4s dnJvbCx2cm9yLHZ3c2xsLHZjbG11bCx2Y2xtdWxoIikKCgoKPiAJwqDCoCAoc3ltYm9sX3JlZiAi cmlzY3ZfdmVjdG9yOjpnZXRfdGEob3BlcmFuZHNbNl0pIikKCgoKPiAKCgoKPiAJIChlcV9hdHRy ICJ0eXBlIiAidmltdWxhZGQsdmZtdWxhZGQiKQoKCgo+IAnCoMKgIChzeW1ib2xfcmVmICJyaXNj dl92ZWN0b3I6OmdldF90YShvcGVyYW5kc1s3XSkiKQoKCgo+IAoKCgo+LQkgKGVxX2F0dHIgInR5 cGUiICJ2bWlkeCIpCgoKCj4rCSAoZXFfYXR0ciAidHlwZSIgInZtaWR4LHZnbXVsLHZhZXNlZix2 YWVzZW0sdmFlc2RmLHZhZXNkbSx2YWVzeix2c200ciIpCgoKCj4gCcKgwqAgKHN5bWJvbF9yZWYg InJpc2N2X3ZlY3Rvcjo6Z2V0X3RhKG9wZXJhbmRzWzRdKSIpXQoKCgo+IAkoY29uc3RfaW50IElO VkFMSURfQVRUUklCVVRFKSkpCgoKCj4gCgoKCj5AQCAtODAwLDcgKzgxNCw3IEBACgoKCj4gKGRl ZmluZV9hdHRyICJtYSIgIiIKCgoKPsKgwqAgKGNvbmQgWyhlcV9hdHRyICJ0eXBlIiAidmxkZSx2 ZXh0LHZtaW90YSx2ZnNxcnQsdmZyZWNwLHZmY3Z0aXRvZix2ZmN2dGZ0b2ksXAoKCgo+IAkJCcKg IHZmd2N2dGl0b2YsdmZ3Y3Z0ZnRvaSx2ZndjdnRmdG9mLHZmbmN2dGl0b2YsdmZuY3Z0ZnRvaSxc CgoKCj4tCQkJwqAgdmZuY3Z0ZnRvZix2ZmNsYXNzLHZsZGZmLHZsc2VnZGUsdmxzZWdkZmYiKQoK Cgo+KwkJCcKgIHZmbmN2dGZ0b2YsdmZjbGFzcyx2bGRmZix2bHNlZ2RlLHZsc2VnZGZmLHZicmV2 LHZicmV2OCx2cmV2OCIpCgoKCj4gCcKgwqAgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6Z2V0 X21hKG9wZXJhbmRzWzZdKSIpCgoKCj4gCgoKCj4gCSA7OyBJZiBvcGVyYW5kc1szXSBvZiAidmxk cyIgaXMgbm90IHZlY3RvciBtb2RlLCBpdCBpcyBwcmVkX2Jyb2FkY2FzdC4KCgoKPkBAIC04MTUs NyArODI5LDggQEAKCgoKPiAJCQnCoCB2bmNsaXAsdmljbXAsdmZhbHUsdmZtdWwsdmZtaW5tYXgs dmZkaXYsXAoKCgo+IAkJCcKgIHZmd2FsdSx2ZndtdWwsdmZzZ25qLHZmY21wLHZzbGlkZXVwLHZz bGlkZWRvd24sXAoKCgo+IAkJCcKgIHZpc2xpZGUxdXAsdmlzbGlkZTFkb3duLHZmc2xpZGUxdXAs dmZzbGlkZTFkb3duLHZnYXRoZXIsXAoKCgo+LQkJCcKgIHZpd211bGFkZCx2ZndtdWxhZGQsdmxz ZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCIpCgoKCj4rCQkJwqAgdml3bXVsYWRkLHZmd211bGFkZCx2 bHNlZ2RzLHZsc2VnZHV4LHZsc2VnZG94LHZhbmRuLHZyb2wsXAoKCgo+K8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZyb3IsdndzbGwsdmNsbXVsLHZj bG11bGgiKQoKCgo+IAnCoMKgIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OmdldF9tYShvcGVy YW5kc1s3XSkiKQoKCgo+IAoKCgo+IAkgKGVxX2F0dHIgInR5cGUiICJ2aW11bGFkZCx2Zm11bGFk ZCIpCgoKCj5AQCAtODMxLDkgKzg0NiwxMCBAQAoKCgo+IAkJCcKgIHZmc3FydCx2ZnJlY3AsdmZt ZXJnZSx2ZmN2dGl0b2YsdmZjdnRmdG9pLHZmd2N2dGl0b2YsXAoKCgo+IAkJCcKgIHZmd2N2dGZ0 b2ksdmZ3Y3Z0ZnRvZix2Zm5jdnRpdG9mLHZmbmN2dGZ0b2ksdmZuY3Z0ZnRvZixcCgoKCj4gCQkJ wqAgdmZjbGFzcyx2aXJlZCx2aXdyZWQsdmZyZWR1LHZmcmVkbyx2ZndyZWR1LHZmd3JlZG8sXAoK Cgo+LQkJCcKgIHZpbW92eHYsdmZtb3Zmdix2bHNlZ2RlLHZsc2VnZGZmLHZtaW90YSIpCgoKCj4r CQkJwqAgdmltb3Z4dix2Zm1vdmZ2LHZsc2VnZGUsdmxzZWdkZmYsdm1pb3RhLHZicmV2LHZicmV2 OCx2cmV2OCIpCgoKCj4gCcKgwqAgKGNvbnN0X2ludCA3KQoKCgo+LQkgKGVxX2F0dHIgInR5cGUi ICJ2bGRtLHZzdG0sdm1hbHUsdm1hbHUiKQoKCgo+KwkgKGVxX2F0dHIgInR5cGUiICJ2bGRtLHZz dG0sdm1hbHUsdm1hbHUsdmdtdWwsdmFlc2VmLHZhZXNlbSx2YWVzZGYsdmFlc2RtLHZhZXN6LFwK CgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2 c200ciIpCgoKCj4gCcKgwqAgKGNvbnN0X2ludCA1KQoKCgo+IAoKCgo+IAkgOzsgSWYgb3BlcmFu ZHNbM10gb2YgInZsZHMiIGlzIG5vdCB2ZWN0b3IgbW9kZSwgaXQgaXMgcHJlZF9icm9hZGNhc3Qu CgoKCj5AQCAtODQ4LDE4ICs4NjQsMTkgQEAKCgoKPiAJCQnCoCB2bmNsaXAsdmljbXAsdmZhbHUs dmZtdWwsdmZtaW5tYXgsdmZkaXYsdmZ3YWx1LHZmd211bCxcCgoKCj4gCQkJwqAgdmZzZ25qLHZm Y21wLHZzbGlkZXVwLHZzbGlkZWRvd24sdmlzbGlkZTF1cCxcCgoKCj4gCQkJwqAgdmlzbGlkZTFk b3duLHZmc2xpZGUxdXAsdmZzbGlkZTFkb3duLHZnYXRoZXIsdml3bXVsYWRkLHZmd211bGFkZCxc CgoKCj4tCQkJwqAgdmxzZWdkcyx2bHNlZ2R1eCx2bHNlZ2RveCIpCgoKCj4rCQkJwqAgdmxzZWdk cyx2bHNlZ2R1eCx2bHNlZ2RveCx2YW5kbix2cm9sLHZyb3IsdndzbGwiKQoKCgo+IAnCoMKgIChj b25zdF9pbnQgOCkKCgoKPi0JIChlcV9hdHRyICJ0eXBlIiAidnN0dXgsdnN0b3gsdnNzZWd0cyx2 c3NlZ3R1eCx2c3NlZ3RveCIpCgoKCj4rCSAoZXFfYXR0ciAidHlwZSIgInZzdHV4LHZzdG94LHZz c2VndHMsdnNzZWd0dXgsdnNzZWd0b3gsdmNsbXVsLHZjbG11bGgiKQoKCgo+IAnCoMKgIChjb25z dF9pbnQgNSkKCgoKPiAKCgoKPiAJIChlcV9hdHRyICJ0eXBlIiAidmltdWxhZGQsdmZtdWxhZGQi KQoKCgo+IAnCoMKgIChjb25zdF9pbnQgOSkKCgoKPiAKCgoKPi0JIChlcV9hdHRyICJ0eXBlIiAi dm1zZnMsdm1pZHgsdmNvbXByZXNzIikKCgoKPisJIChlcV9hdHRyICJ0eXBlIiAidm1zZnMsdm1p ZHgsdmNvbXByZXNzLHZnaHNoLHZhZXNrZjEsdmFlc2tmMix2c2hhMm1zLHZzaGEyY2gsdnNoYTJj bCxcCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdnNtNGssdnNtM21lLHZzbTNjIikKCgoKPiAJwqDCoCAoY29uc3RfaW50IDYpCgoKCj4gCgoK Cj4tCSAoZXFfYXR0ciAidHlwZSIgInZtcG9wLHZtZmZzLHZzc2VndGUiKQoKCgo+KwkgKGVxX2F0 dHIgInR5cGUiICJ2bXBvcCx2bWZmcyx2c3NlZ3RlLHZjbHosdmN0eiIpCgoKCj4gCcKgwqAgKGNv bnN0X2ludCA0KV0KCgoKPiAJKGNvbnN0X2ludCBJTlZBTElEX0FUVFJJQlVURSkpKQoKCgo+IAoK Cgo+LS0gCgoKCj4yLjE3LjEKCgo=