From unknown Tue Jun 17 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#40192: Please report to bug-automake@gnu.org Resent-From: Hubert VIAROUGE Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Mon, 23 Mar 2020 05:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 40192 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: 40192@debbugs.gnu.org X-Debbugs-Original-To: bug-automake@gnu.org Reply-To: hubert@viarouge.net Received: via spool by submit@debbugs.gnu.org id=B.158494028330114 (code B ref -1); Mon, 23 Mar 2020 05:12:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 Mar 2020 05:11:23 +0000 Received: from localhost ([127.0.0.1]:51358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGFMx-0007pe-Jn for submit@debbugs.gnu.org; Mon, 23 Mar 2020 01:11:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:36095) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGDtu-0004qZ-W5 for submit@debbugs.gnu.org; Sun, 22 Mar 2020 23:37:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52951) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGDtj-0000Vg-4t for bug-automake@gnu.org; Sun, 22 Mar 2020 23:37:17 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_NONE, TIME_LIMIT_EXCEEDED,URIBL_BLOCKED autolearn=unavailable version=3.3.2 Received: from s2.neomailbox.net ([5.148.176.60]:41672) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jGDtO-0004AT-4z for bug-automake@gnu.org; Sun, 22 Mar 2020 23:37:06 -0400 From: Hubert VIAROUGE Message-ID: Date: Mon, 23 Mar 2020 04:36:39 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ED252BFAF98DFFB3BA89DBBE" Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: OpenBSD 4.x-5.x [fuzzy] X-Mailman-Approved-At: Mon, 23 Mar 2020 01:11:21 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------ED252BFAF98DFFB3BA89DBBE Content-Type: multipart/alternative; boundary="------------C5A868FE7C9BA9B2094A9F95" --------------C5A868FE7C9BA9B2094A9F95 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit ./configure CC=gcc9 CFLAGS="-march=znver1 -mtune=znver1 -O3" CXX=g++9 CXXFLAGS="-march=znver1 -mtune=znver1 -O3" make make check ... FAIL: t/tags-lisp-space.sh ... ============================================================================ Testsuite summary for GNU Automake 1.16.2 ============================================================================ # TOTAL: 2915 # PASS:  2793 # SKIP:  81 # XFAIL: 40 # FAIL:  1 # XPASS: 0 # ERROR: 0 ============================================================================ See ./test-suite.log Please report to bug-automake@gnu.org ============================================================================ --------------C5A868FE7C9BA9B2094A9F95 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit


./configure CC=gcc9 CFLAGS="-march=znver1 -mtune=znver1 -O3" CXX=g++9 CXXFLAGS="-march=znver1 -mtune=znver1 -O3"

make

make check

...

FAIL: t/tags-lisp-space.sh

...

============================================================================

Testsuite summary for GNU Automake 1.16.2
============================================================================
# TOTAL: 2915
# PASS:  2793
# SKIP:  81
# XFAIL: 40
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-automake@gnu.org
============================================================================

--------------C5A868FE7C9BA9B2094A9F95-- --------------ED252BFAF98DFFB3BA89DBBE Content-Type: text/x-log; name="test-suite.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-suite.log" PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHTlUgQXV0 b21ha2UgMS4xNi4yOiAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCiMgVE9UQUw6IDI5MTUKIyBQQVNTOiAgMjc5MwojIFNL SVA6ICA4MQojIFhGQUlMOiA0MAojIEZBSUw6ICAxCiMgWFBBU1M6IDAKIyBFUlJPUjogMAoK Li4gY29udGVudHM6OiA6ZGVwdGg6IDIKClNLSVA6IHQvZ2V0LXN5c2NvbmYKPT09PT09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2dldC1zeXNjb25mLmRpcgorIHN0 PTAKKyB0ZXN0IC1kIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvLmdp dAorIHRlc3QgLWYgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9DaGFu Z2VMb2cKKyBhd2sgCiAgICBCRUdJTiB7IGZpcnN0ID0gMSB9CiAgICAoZmlyc3QgPT0gMSkg eyBwcmludDsgZmlyc3QgPSAwOyBuZXh0OyB9CiAgICAvXlteXHRdLyB7IGV4aXQoMCk7IH0K ICAgIHsgcHJpbnQgfQogICAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L0NoYW5nZUxvZwoyMDIwLTAzLTE2ICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0BmYi5jb20+ CgoJdmVyc2lvbiAxLjE2LjIKCgkqIGNvbmZpZ3VyZS5hYyAoQUNfSU5JVCk6IEJ1bXAgdmVy c2lvbiBudW1iZXIgdG8gMS4xNi4yLgoJKiBtNC9hbXZlcnNpb24ubTQ6IExpa2V3aXNlIChh dXRvLXVwZGF0ZWQgYnkgIm1ha2UgYm9vdHN0cmFwIikuCgkqIE5FV1M6IFJlY29yZCByZWxl YXNlIHZlcnNpb24uCgorIC91c3IvYmluL3BlcmwgLVYKU3VtbWFyeSBvZiBteSBwZXJsNSAo cmV2aXNpb24gNSB2ZXJzaW9uIDI0IHN1YnZlcnNpb24gMSkgY29uZmlndXJhdGlvbjoKICAg CiAgUGxhdGZvcm06CiAgICBvc25hbWU9bGludXgsIG9zdmVycz0zLjE2LjAsIGFyY2huYW1l PXg4Nl82NC1saW51eC1nbnUtdGhyZWFkLW11bHRpCiAgICB1bmFtZT0nbGludXggbG9jYWxo b3N0IDMuMTYuMCAjMSBzbXAgZGViaWFuIDMuMTYuMCB4ODZfNjQgZ251bGludXggJwogICAg Y29uZmlnX2FyZ3M9Jy1EdXNldGhyZWFkcyAtRHVzZWxhcmdlZmlsZXMgLURjYz14ODZfNjQt bGludXgtZ251LWdjYyAtRGNwcD14ODZfNjQtbGludXgtZ251LWNwcCAtRGxkPXg4Nl82NC1s aW51eC1nbnUtZ2NjIC1EY2NmbGFncz0tRERFQklBTiAtV2RhdGUtdGltZSAtRF9GT1JUSUZZ X1NPVVJDRT0yIC1nIC1PMiAtZmRlYnVnLXByZWZpeC1tYXA9L2J1aWxkL3BlcmwtbUJsa0Iw L3BlcmwtNS4yNC4xPS4gLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1XZm9ybWF0IC1XZXJy b3I9Zm9ybWF0LXNlY3VyaXR5IC1EbGRmbGFncz0gLVdsLC16LHJlbHJvIC1EbGRkbGZsYWdz PS1zaGFyZWQgLVdsLC16LHJlbHJvIC1EY2NjZGxmbGFncz0tZlBJQyAtRGFyY2huYW1lPXg4 Nl82NC1saW51eC1nbnUgLURwcmVmaXg9L3VzciAtRHByaXZsaWI9L3Vzci9zaGFyZS9wZXJs LzUuMjQgLURhcmNobGliPS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvcGVybC81LjI0IC1E dmVuZG9ycHJlZml4PS91c3IgLUR2ZW5kb3JsaWI9L3Vzci9zaGFyZS9wZXJsNSAtRHZlbmRv cmFyY2g9L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsNS81LjI0IC1Ec2l0ZXByZWZp eD0vdXNyL2xvY2FsIC1Ec2l0ZWxpYj0vdXNyL2xvY2FsL3NoYXJlL3BlcmwvNS4yNC4xIC1E c2l0ZWFyY2g9L3Vzci9sb2NhbC9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsLzUuMjQuMSAt RG1hbjFkaXI9L3Vzci9zaGFyZS9tYW4vbWFuMSAtRG1hbjNkaXI9L3Vzci9zaGFyZS9tYW4v bWFuMyAtRHNpdGVtYW4xZGlyPS91c3IvbG9jYWwvbWFuL21hbjEgLURzaXRlbWFuM2Rpcj0v dXNyL2xvY2FsL21hbi9tYW4zIC1EdXNlc2l0ZWN1c3RvbWl6ZSAtRHVzZTY0Yml0aW50IC1E bWFuMWV4dD0xIC1EbWFuM2V4dD0zcGVybCAtRHBhZ2VyPS91c3IvYmluL3NlbnNpYmxlLXBh Z2VyIC1VYWZzIC1VZF9jc2ggLVVkX3VhbGFybSAtVXVzZXNmaW8gLVV1c2VubSAtVWlfbGli dXRpbCAtVXZlcnNpb25vbmx5IC1EREVCVUdHSU5HPS1nIC1Eb3B0aW1pemU9LU8yIC1kRXMg LUR1c2VzaHJwbGliIC1EbGlicGVybD1saWJwZXJsLnNvLjUuMjQuMScKICAgIGhpbnQ9cmVj b21tZW5kZWQsIHVzZXBvc2l4PXRydWUsIGRfc2lnYWN0aW9uPWRlZmluZQogICAgdXNlaXRo cmVhZHM9ZGVmaW5lLCB1c2VtdWx0aXBsaWNpdHk9ZGVmaW5lCiAgICB1c2U2NGJpdGludD1k ZWZpbmUsIHVzZTY0Yml0YWxsPWRlZmluZSwgdXNlbG9uZ2RvdWJsZT11bmRlZgogICAgdXNl bXltYWxsb2M9biwgYmluY29tcGF0NTAwNT11bmRlZgogIENvbXBpbGVyOgogICAgY2M9J3g4 Nl82NC1saW51eC1nbnUtZ2NjJywgY2NmbGFncyA9Jy1EX1JFRU5UUkFOVCAtRF9HTlVfU09V UkNFIC1EREVCSUFOIC1md3JhcHYgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRT PTY0JywKICAgIG9wdGltaXplPSctTzIgLWcnLAogICAgY3BwZmxhZ3M9Jy1EX1JFRU5UUkFO VCAtRF9HTlVfU09VUkNFIC1EREVCSUFOIC1md3JhcHYgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUnCiAgICBjY3ZlcnNpb249JycsIGdjY3ZlcnNp b249JzYuMy4wIDIwMTcwNTE2JywgZ2Njb3NhbmR2ZXJzPScnCiAgICBpbnRzaXplPTQsIGxv bmdzaXplPTgsIHB0cnNpemU9OCwgZG91Ymxlc2l6ZT04LCBieXRlb3JkZXI9MTIzNDU2Nzgs IGRvdWJsZWtpbmQ9MwogICAgZF9sb25nbG9uZz1kZWZpbmUsIGxvbmdsb25nc2l6ZT04LCBk X2xvbmdkYmw9ZGVmaW5lLCBsb25nZGJsc2l6ZT0xNiwgbG9uZ2RibGtpbmQ9MwogICAgaXZ0 eXBlPSdsb25nJywgaXZzaXplPTgsIG52dHlwZT0nZG91YmxlJywgbnZzaXplPTgsIE9mZl90 PSdvZmZfdCcsIGxzZWVrc2l6ZT04CiAgICBhbGlnbmJ5dGVzPTgsIHByb3RvdHlwZT1kZWZp bmUKICBMaW5rZXIgYW5kIExpYnJhcmllczoKICAgIGxkPSd4ODZfNjQtbGludXgtZ251LWdj YycsIGxkZmxhZ3MgPScgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1ML3Vzci9sb2NhbC9s aWInCiAgICBsaWJwdGg9L3Vzci9sb2NhbC9saWIgL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51 eC1nbnUvNi9pbmNsdWRlLWZpeGVkIC91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251IC91 c3IvbGliIC9saWIveDg2XzY0LWxpbnV4LWdudSAvbGliLy4uL2xpYiAvdXNyL2xpYi94ODZf NjQtbGludXgtZ251IC91c3IvbGliLy4uL2xpYiAvbGliCiAgICBsaWJzPS1sZ2RibSAtbGdk Ym1fY29tcGF0IC1sZGIgLWxkbCAtbG0gLWxwdGhyZWFkIC1sYyAtbGNyeXB0CiAgICBwZXJs bGlicz0tbGRsIC1sbSAtbHB0aHJlYWQgLWxjIC1sY3J5cHQKICAgIGxpYmM9bGliYy0yLjI0 LnNvLCBzbz1zbywgdXNlc2hycGxpYj10cnVlLCBsaWJwZXJsPWxpYnBlcmwuc28uNS4yNAog ICAgZ251bGliY192ZXJzaW9uPScyLjI0JwogIER5bmFtaWMgTGlua2luZzoKICAgIGRsc3Jj PWRsX2Rsb3Blbi54cywgZGxleHQ9c28sIGRfZGxzeW11bj11bmRlZiwgY2NkbGZsYWdzPSct V2wsLUUnCiAgICBjY2NkbGZsYWdzPSctZlBJQycsIGxkZGxmbGFncz0nLXNoYXJlZCAtTC91 c3IvbG9jYWwvbGliIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZycKCgpDaGFyYWN0ZXJpc3Rp Y3Mgb2YgdGhpcyBiaW5hcnkgKGZyb20gbGlicGVybCk6IAogIENvbXBpbGUtdGltZSBvcHRp b25zOiBIQVNfVElNRVMgTVVMVElQTElDSVRZIFBFUkxJT19MQVlFUlMKICAgICAgICAgICAg ICAgICAgICAgICAgUEVSTF9DT1BZX09OX1dSSVRFIFBFUkxfRE9OVF9DUkVBVEVfR1ZTVgog ICAgICAgICAgICAgICAgICAgICAgICBQRVJMX0hBU0hfRlVOQ19PTkVfQVRfQV9USU1FX0hB UkQKICAgICAgICAgICAgICAgICAgICAgICAgUEVSTF9JTVBMSUNJVF9DT05URVhUIFBFUkxf TUFMTE9DX1dSQVAKICAgICAgICAgICAgICAgICAgICAgICAgUEVSTF9QUkVTRVJWRV9JVlVW IFVTRV82NF9CSVRfQUxMIFVTRV82NF9CSVRfSU5UCiAgICAgICAgICAgICAgICAgICAgICAg IFVTRV9JVEhSRUFEUyBVU0VfTEFSR0VfRklMRVMgVVNFX0xPQ0FMRQogICAgICAgICAgICAg ICAgICAgICAgICBVU0VfTE9DQUxFX0NPTExBVEUgVVNFX0xPQ0FMRV9DVFlQRQogICAgICAg ICAgICAgICAgICAgICAgICBVU0VfTE9DQUxFX05VTUVSSUMgVVNFX0xPQ0FMRV9USU1FIFVT RV9QRVJMSU8KICAgICAgICAgICAgICAgICAgICAgICAgVVNFX1BFUkxfQVRPRiBVU0VfUkVF TlRSQU5UX0FQSSBVU0VfU0lURUNVU1RPTUlaRQogIExvY2FsbHkgYXBwbGllZCBwYXRjaGVz OgoJREVCUEtHOmRlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzIC0gUHJvdmlkZSBhIHNlbnNp YmxlIElOU1RBTExESVJTIGRlZmF1bHQgZm9yIG1vZHVsZXMgaW5zdGFsbGVkIGZyb20gQ1BB Ti4KCURFQlBLRzpkZWJpYW4vZGJfZmlsZV92ZXIgLSBodHRwczovL2J1Z3MuZGViaWFuLm9y Zy8zNDAwNDcgUmVtb3ZlIG92ZXJseSByZXN0cmljdGl2ZSBEQl9GaWxlIHZlcnNpb24gY2hl Y2suCglERUJQS0c6ZGViaWFuL2RvY19pbmZvIC0gUmVwbGFjZSBnZW5lcmljIG1hbigxKSBp bnN0cnVjdGlvbnMgd2l0aCBEZWJpYW4tc3BlY2lmaWMgaW5mb3JtYXRpb24uCglERUJQS0c6 ZGViaWFuL2VuYzJ4c19pbmMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8yOTAzMzYgVHdl YWsgZW5jMnhzIHRvIGZvbGxvdyBzeW1saW5rcyBhbmQgaWdub3JlIG1pc3NpbmcgQElOQyBk aXJlY3Rvcmllcy4KCURFQlBLRzpkZWJpYW4vZXJybm9fdmVyIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvMzQzMzUxIFJlbW92ZSBFcnJubyB2ZXJzaW9uIGNoZWNrIGR1ZSB0byB1cGdy YWRlIHByb2JsZW1zIHdpdGggbG9uZy1ydW5uaW5nIHByb2Nlc3Nlcy4KCURFQlBLRzpkZWJp YW4vbGlicGVybF9lbWJlZF9kb2MgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xODY3Nzgg Tm90ZSB0aGF0IGxpYnBlcmwtZGV2IHBhY2thZ2UgaXMgcmVxdWlyZWQgZm9yIGVtYmVkZGVk IGxpbmtpbmcKCURFQlBLRzpmaXhlcy9yZXNwZWN0X3VtYXNrIC0gUmVzcGVjdCB1bWFzayBk dXJpbmcgaW5zdGFsbGF0aW9uCglERUJQS0c6ZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycyAt IFNldCB1bWFzayBhcHByb3Byb2F0ZWx5IGZvciBzaXRlIGluc3RhbGwgZGlyZWN0b3JpZXMK CURFQlBLRzpkZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aCAtIEVVOk1NOiBzZXQg bG9jYXRpb24gb2YgbGlicGVybC5hIHVuZGVyIC91c3IvbGliCglERUJQS0c6ZGViaWFuL25v X3BhY2tsaXN0X3Blcmxsb2NhbCAtIERvbid0IGluc3RhbGwgLnBhY2tsaXN0IG9yIHBlcmxs b2NhbC5wb2QgZm9yIHBlcmwgb3IgdmVuZG9yCglERUJQS0c6ZGViaWFuL2Zha2Vyb290IC0g UG9zdHBvbmUgTERfTElCUkFSWV9QQVRIIGV2YWx1YXRpb24gdG8gdGhlIGJpbmFyeSB0YXJn ZXRzLgoJREVCUEtHOmRlYmlhbi9pbnN0bW9kc2hfZG9jIC0gRGViaWFuIHBvbGljeSBkb2Vz bid0IGluc3RhbGwgLnBhY2tsaXN0IGZpbGVzIGZvciBjb3JlIG9yIHZlbmRvci4KCURFQlBL RzpkZWJpYW4vbGRfcnVuX3BhdGggLSBSZW1vdmUgc3RhbmRhcmQgbGlicyBmcm9tIExEX1JV Tl9QQVRIIGFzIHBlciBEZWJpYW4gcG9saWN5LgoJREVCUEtHOmRlYmlhbi9saWJuZXRfY29u ZmlnX3BhdGggLSBTZXQgbG9jYXRpb24gb2YgbGlibmV0LmNmZyB0byAvZXRjL3BlcmwvTmV0 IGFzIC91c3IgbWF5IG5vdCBiZSB3cml0YWJsZS4KCURFQlBLRzpkZWJpYW4vbW9kX3BhdGhz IC0gVHdlYWsgQElOQyBvcmRlcmluZyBmb3IgRGViaWFuCglERUJQS0c6ZGViaWFuL3BydW5l X2xpYnMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xMjgzNTUgUHJ1bmUgdGhlIGxpc3Qg b2YgbGlicmFyaWVzIHdhbnRlZCB0byB3aGF0IHdlIGFjdHVhbGx5IG5lZWQuCglERUJQS0c6 Zml4ZXMvbmV0X3NtdHBfZG9jcyAtIFtydC5jcGFuLm9yZyAjMzYwMzhdIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzEwMDE5NSBEb2N1bWVudCB0aGUgTmV0OjpTTVRQICdQb3J0JyBvcHRp b24KCURFQlBLRzpkZWJpYW4vcGVybGl2cCAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUx MDg5NSBNYWtlIHBlcmxpdnAgc2tpcCBpbmNsdWRlIGRpcmVjdG9yaWVzIGluIC91c3IvbG9j YWwKCURFQlBLRzpkZWJpYW4vZGVwcmVjYXRlLXdpdGgtYXB0IC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvNzQ3NjI4IFBvaW50IHVzZXJzIHRvIERlYmlhbiBwYWNrYWdlcyBvZiBkZXBy ZWNhdGVkIGNvcmUgbW9kdWxlcwoJREVCUEtHOmRlYmlhbi9zcXVlbGNoLWxvY2FsZS13YXJu aW5ncyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2NCBTcXVlbGNoIGxvY2FsZSB3 YXJuaW5ncyBpbiBEZWJpYW4gcGFja2FnZSBtYWludGFpbmVyIHNjcmlwdHMKCURFQlBLRzpk ZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMgLSBTa2lwIHRlc3RzIHNwZWNpZmljIHRv IHRoZSB1cHN0cmVhbSBHaXQgcmVwb3NpdG9yeQoJREVCUEtHOmRlYmlhbi9wYXRjaGxldmVs IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNTY3NDg5IExpc3QgcGFja2FnZWQgcGF0Y2hl cyBmb3IgNS4yNC4xLTMrZGViOXU2IGluIHBhdGNobGV2ZWwuaAoJREVCUEtHOmRlYmlhbi9z a2lwLWtmcmVlYnNkLWNyYXNoIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNjI4NDkzIFtw ZXJsICM5NjI3Ml0gU2tpcCBhIGNyYXNoaW5nIHRlc3QgY2FzZSBpbiB0L29wL3RocmVhZHMu dCBvbiBHTlUva0ZyZWVCU0QKCURFQlBLRzpmaXhlcy9kb2N1bWVudF9tYWtlbWFrZXJfY2Nm bGFncyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzYyODUyMiBbcnQuY3Bhbi5vcmcgIzY4 NjEzXSBEb2N1bWVudCB0aGF0IENDRkxBR1Mgc2hvdWxkIGluY2x1ZGUgJENvbmZpZ3tjY2Zs YWdzfQoJREVCUEtHOmRlYmlhbi9maW5kX2h0bWwydGV4dCAtIGh0dHBzOi8vYnVncy5kZWJp YW4ub3JnLzY0MDQ3OSBDb25maWd1cmUgQ1BBTjo6RGlzdHJpYnV0aW9uIHdpdGggY29ycmVj dCBuYW1lIG9mIGh0bWwydGV4dAoJREVCUEtHOmRlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwt ZW11bGF0b3IucGF0Y2ggLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy82Njg0OTAgSW52b2tl IHgtdGVybWluYWwtZW11bGF0b3IgcmF0aGVyIHRoYW4geHRlcm0gaW4gcGVybDVkYi5wbAoJ REVCUEtHOmRlYmlhbi9jcGFuLW1pc3Npbmctc2l0ZS1kaXJzIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvNjg4ODQyIEZpeCBDUEFOOjpGaXJzdFRpbWUgZGVmYXVsdHMgd2l0aCBub25l eGlzdGluZyBzaXRlIGRpcnMgaWYgYSBwYXJlbnQgaXMgd3JpdGFibGUKCURFQlBLRzpmaXhl cy9tZW1vaXplX3N0b3JhYmxlX25zdG9yZSAtIFtydC5jcGFuLm9yZyAjNzc3OTBdIGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnLzU4NzY1MCBNZW1vaXplOjpTdG9yYWJsZTogcmVzcGVjdCAn bnN0b3JlJyBvcHRpb24gbm90IHJlc3BlY3RlZAoJREVCUEtHOmRlYmlhbi9yZWdlbi1za2lw IC0gU2tpcCBhIHJlZ2VuZXJhdGlvbiBjaGVjayBpbiB1bnJlbGF0ZWQgZ2l0IHJlcG9zaXRv cmllcwoJREVCUEtHOmRlYmlhbi9tYWtlbWFrZXItcGFzdGhydSAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzc1ODQ3MSBQYXNzIExEIHNldHRpbmdzIHRocm91Z2ggdG8gc3ViZGlyZWN0 b3JpZXMKCURFQlBLRzpkZWJpYW4vbWFrZW1ha2VyLW1hbmV4dCAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzI0NzM3MCBNYWtlIEVVOjpNYWtlTWFrZXIgaG9ub3VyIE1BTm5FWFQgc2V0 dGluZ3MgaW4gZ2VuZXJhdGVkIG1hbnBhZ2UgaGVhZGVycwoJREVCUEtHOmRlYmlhbi9kZXZl bC1wcHBvcnQtcmVwcm9kdWNpYmlsaXR5IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODAx NTIzIFNvcnQgdGhlIGxpc3Qgb2YgWFMgY29kZSBmaWxlcyB3aGVuIGdlbmVyYXRpbmcgUmVh bFBQUG9ydC54cwoJREVCUEtHOmRlYmlhbi9lbmNvZGUtdW5pY29kZS1ib20tZG9jIC0gaHR0 cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk4NzI3IERvY3VtZW50IERlYmlhbiBiYWNrcG9ydCBv ZiBFbmNvZGU6OlVuaWNvZGUgZml4CglERUJQS0c6ZGViaWFuL2tmcmVlYnNkLXNvZnR1cGRh dGVzIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk2Nzk4IFdvcmsgYXJvdW5kIERlYmlh biBCdWcjNzk2Nzk4CglERUJQS0c6Zml4ZXMvYXV0b2RpZS1zY29wZSAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzc5ODA5NiBGaXggYSBzY29waW5nIGlzc3VlIHdpdGggIm5vIGF1dG9k aWUiIGFuZCB0aGUgInN5c3RlbSIgc3ViCglERUJQS0c6Zml4ZXMvY3Jvc3Njb21waWxlLW5v LXRhcmdldGhvc3QgLSBbMjM2OTVjMF0gW3BlcmwgIzEyNzIzNF0gRml4IHRoZSBDb25maWd1 cmUgZXNjYXBlIHdpdGggdXNlY3Jvc3Njb21waWxlIGJ1dCBubyB0YXJnZXRob3N0CglERUJQ S0c6Zml4ZXMvbWVtb2l6ZS1wb2QgLSBbcnQuY3Bhbi5vcmcgIzg5NDQxXSBGaXggUE9EIGVy cm9ycyBpbiBNZW1vaXplCglERUJQS0c6Zml4ZXMvb2stcG9kIC0gQWRkZWQgZW5jb2Rpbmcg Zm9yIHBvZC4KCURFQlBLRzpkZWJpYW4vaHVyZC1zb2Z0dXBkYXRlcyAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzgyMjczNSBGaXggdC9vcC9zdGF0LnQgZmFpbHVyZXMgb24gaHVyZAoJ REVCUEtHOmZpeGVzL25udHBfZG9jcyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUxOTYy IE5ldDo6Tk5UUDogQ29ycmVjdCBpbm5kL25ucnBkIGNvbmZ1c2lvbiBpbiByZWxhdGlvbiB0 byBSZWFkZXIgb3B0aW9uCglERUJQS0c6Zml4ZXMvbWF0aF9jb21wbGV4X2RvY19ncmVhdF9j aXJjbGUgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy82OTc1NjcgW3J0LmNwYW4ub3JnICMx MTQxMDRdIE1hdGg6OlRyaWc6IGNsYXJpZnkgZGVmaW5pdGlvbiBvZiBncmVhdF9jaXJjbGVf bWlkcG9pbnQKCURFQlBLRzpmaXhlcy9tYXRoX2NvbXBsZXhfZG9jX3NlZV9hbHNvIC0gaHR0 cHM6Ly9idWdzLmRlYmlhbi5vcmcvNjk3NTY4IFtydC5jcGFuLm9yZyAjMTE0MTA1XSBNYXRo OjpUcmlnOiBhZGQgbWlzc2luZyBTRUUgQUxTTwoJREVCUEtHOmZpeGVzL21hdGhfY29tcGxl eF9kb2NfYW5nbGVfdW5pdHMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy83MzE1MDUgW3J0 LmNwYW4ub3JnICMxMTQxMDZdIE1hdGg6OlRyaWc6IGRvY3VtZW50IGFuZ2xlIHVuaXRzCglE RUJQS0c6Zml4ZXMvY3Bhbl93ZWJfbGluayAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzM2 NzI5MSBDUEFOOiBBZGQgbGluayB0byBtYWluIENQQU4gd2ViIHNpdGUKCURFQlBLRzpmaXhl cy90aW1lX3BpZWNlX2RvYyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzgxNzkyNSBUaW1l OjpQaWVjZTogSW1wcm92ZSBkb2N1bWVudGF0aW9uIGZvciBhZGRfbW9udGhzIGFuZCBhZGRf eWVhcnMKCURFQlBLRzpmaXhlcy9wZXJsYnVnLXJlZmFjdG9yIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvODIyNDYzIFtwZXJsICMxMjgwMjBdIHBlcmxidWc6IFJlZmFjdG9yIGR1cGxp Y2F0ZWQgZmlsZSByZWFkaW5nIGNvZGUKCURFQlBLRzpmaXhlcy9wZXJsYnVnLWxpbmV3cmFw IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODIyNDYzIFtwZXJsICMxMjgwMjBdIHBlcmxi dWc6IHdyYXAgb3Zlcmx5IGxvbmcgbGluZXMKCURFQlBLRzpmaXhlcy9odXJkX3NpZ2FjdGlv biAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzgyNTAxNiBbZDU0ZjRlZF0gZXh0L1BPU0lY L3Qvc2lnYWN0aW9uLnQ6IFNraXAgdWlkIGFuZCBwaWQgdGVzdHMgb24gR05VL0h1cmQKCURF QlBLRzpmaXhlcy9odXJkX2hpbnRzIC0gWzQ2OTQzMDFdIGh0dHBzOi8vYnVncy5kZWJpYW4u b3JnLzgyNTAyMCBbcGVybCAjMTI4Mjc5XSBNb2RpZnkgaGludHMgZm9yIEh1cmQgcGVyIERl YmlhbiB0aWNrZXQgODI1MDIwLgoJREVCUEtHOmZpeGVzL2V4dHV0aWxzLXBhcnNleHMtcmVw cm9kdWNpYmlsaXR5IC0gW3BlcmwgIzEyODUxN10gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODI5Mjk2IE1ha2UgdGhlIG91dHB1dCBvZiBFeHRVdGlsczo6UGFyc2VYUyByZXByb2R1Y2li bGUKCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9zaXRlY3VzdG9taXplLWluLWV0YyAt IExvb2sgZm9yIHNpdGVjdXN0b21pemUucGwgaW4gL2V0Yy9wZXJsIHJhdGhlciB0aGFuIHNp dGVsaWIgb24gRGViaWFuIHN5c3RlbXMKCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC90 ZXN0LXN1aXRlLXdpdGhvdXQtZG90IC0gW3BlcmwgIzEyNzgxMF0gUGF0Y2ggdW5pdCB0ZXN0 cyB0byBleHBsaWNpdGx5IGluc2VydCAiLiIgaW50byBASU5DIHdoZW4gbmVlZGVkLgoJREVC UEtHOmRlYmlhbi9DVkUtMjAxNi0xMjM4L2V1bW0td2l0aG91dC1kb3QgLSBbcGVybCAjMTI3 ODEwXSBBZGQgUEVSTF9VU0VfVU5TQUZFX0lOQyBzdXBwb3J0IHRvIEVVOjpNTSBmb3IgZm9y dGlmeV9pbmMgc3VwcG9ydC4KCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9jcGFuLXdp dGhvdXQtZG90IC0gW3BlcmwgIzEyNzgxMF0gU2V0IFBFUkxfVVNFX1VOU0FGRV9JTkMgZm9y IGNwYW4gdXNhZ2UKCURFQlBLRzpkZWJpYW4vZG9jdW1lbnRfaW5jX3JlbW92YWwgLSBEb2N1 bWVudCBpbiBwZXJsdmFyIHRoYXQgd2UgcmVtb3ZlICcuJyBmcm9tIEBJTkMgYnkgZGVmYXVs dAoJREVCUEtHOmZpeGVzL2V4dHV0aWxzX21ha2VtYWtlcl9yZXByb2R1Y2libGUgLSBodHRw czovL2J1Z3MuZGViaWFuLm9yZy84MzU4MTUgaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODM0 MTkwIE1ha2UgcGVybGxvY2FsLnBvZCBmaWxlcyByZXByb2R1Y2libGUKCURFQlBLRzpkZWJp YW4vQ1ZFLTIwMTYtMTIzOC9yZW1vdmUtaW5jLXRlc3QgLSBSZW1vdmUgdGVzdCBmb3IgJy4n IGluIEBJTkMgYXMgaXQgbWlnaHQgbm90IGJlCglERUJQS0c6Zml4ZXMvZmlsZV9wYXRoX2h1 cmRfZXJybm8gLSBGaWxlLVBhdGg6IEZpeCB0ZXN0IGZhaWx1cmUgaW4gSHVyZCBkdWUgdG8g aGFyZC1jb2RlZCBFTk9FTlQKCURFQlBLRzpkZWJpYW4vaHBwYV9vcF9vcHRpbWl6ZV93b3Jr YXJvdW5kIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODM4NjEzIFRlbXBvcmFyaWx5IGxv d2VyIHRoZSBvcHRpbWl6YXRpb24gb2Ygb3AuYyBvbiBocHBhIGR1ZSB0byBnY2MtNiBwcm9i bGVtcwoJREVCUEtHOmZpeGVzL3Rlc3QtYnVpbGRlci13YXJuaW5nIC0gaHR0cHM6Ly9idWdz LmRlYmlhbi5vcmcvODQwOTY4IFNpbGVuY2UgYSAndXNlZCBvbmx5IG9uY2UnIHdhcm5pbmcg aW4gVGVzdDo6QnVpbGRlcgoJREVCUEtHOmZpeGVzL2xvbmdkYmxpbmYtcmFuZG9tbmVzcyAt IFtkZDY4ODUzXSBbcGVybCAjMTMwMTMzXSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NDQ3 NTIgQ29uZmlndXJlOiBmaXggZ2FyYmFnZSBmaWx0ZXJpbmcgd2l0aCA4MC1iaXQgbG9uZyBk b3VibGVzCglERUJQS0c6ZGViaWFuL2luc3RhbGxtYW4tdXRmOCAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzg0MDIxMSBHZW5lcmF0ZSBtYW4gcGFnZXMgd2l0aCBVVEYtOCBjaGFyYWN0 ZXJzCglERUJQS0c6Zml4ZXMvbGlzdF9hc3NpZ25fbGVhayAtIFsxMDUwNzIzXSBbcGVybCAj MTMwNzY2XSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NTUwNjQgYXZvaWQgYSBsZWFrIGlu IGxpc3QgYXNzaWduIGZyb20vdG8gbWFnaWMgdmFsdWVzCglERUJQS0c6Zml4ZXMvcGVybGZ1 bmNfaW5jX2RvYyAtIFthMDNlOWY4XSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84Mzk1MzYg W3BlcmwgIzEzMDgzMl0gRG9jdW1lbnRhdGlvbiBmaXhlcyBmb3IgJy4nIHBvc3NpYmx5IG5v IGxvbmdlciBiZWluZyBpbiBASU5DCglERUJQS0c6Zml4ZXMvZmlsZV9wYXRoX2NobW9kX3Jh Y2UgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NjM4NzAgW3J0LmNwYW4ub3JnICMxMjE5 NTFdIFByZXZlbnQgZGlyZWN0b3J5IGNobW9kIHJhY2UgYXR0YWNrLgoJREVCUEtHOmZpeGVz L2V4dHV0aWxzX2ZpbGVfcGF0aF9jb21wYXQgLSBDb3JyZWN0IHRoZSBvcmRlciBvZiB0ZXN0 cyBvZiBjaG1vZCgpLiAoIzI5NCkKCURFQlBLRzpkZWJpYW4vY3VzdG9taXplZCAtIFVwZGF0 ZSBjdXN0b21pemVkLmRhdCBmb3IgZmlsZXMgcGF0Y2hlZCBpbiBEZWJpYW4KCURFQlBLRzpm aXhlcy9nZXRvcHQtbG9uZy0xIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODU1NTMyIFty dC5jcGFuLm9yZyAjMTE0OTk5XSBGaXggYnVnIFJUIzExNDk5OQoJREVCUEtHOmZpeGVzL2dl dG9wdC1sb25nLTIgLSBbcnQuY3Bhbi5vcmcgIzEyMDMwMF0gV2l0aGRyYXcgcGFydCBvZiBj b21taXQgNWQ5OTQ3ZmI0NDUzMjdjNzI5OWQ4YmViMDA5ZDYwOWJjNzAwNjZjMCwgd2hpY2gg dHJpZXMgdG8gaW1wbGVtZW50IG1vcmUgR05VIGdldG9wdF9sb25nIGNhbXBhdGliaWxpdHku IEdOVQoJREVCUEtHOmZpeGVzL2dldG9wdC1sb25nLTMgLSBwcm92aWRlIGEgZGVmYXVsdCB2 YWx1ZSBmb3Igb3B0aW9uYWwgYXJndW1lbnRzCglERUJQS0c6Zml4ZXMvZ2V0b3B0LWxvbmct NCAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg2NDU0NCBbcnQuY3Bhbi5vcmcgIzEyMjA2 OF0gRml4IGlzc3VlICMxMjIwNjguCglERUJQS0c6Zml4ZXMvZmJtLWluc3RyLWNyYXNoIC0g W2JiMTUyYTRdIFtwZXJsICMxMzE1NzVdIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg2NDc4 MiBkb24ndCBjYWxsIFBlcmxfZmJtX2luc3RyKCkgd2l0aCBuZWdhdGl2ZSBsZW5ndGgKCURF QlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9iYXNlLXBtLWFtZW5kcy1wdDIgLSBbMWFmYTI4 OV0gTGltaXQgZG90bGVzcy1JTkMgZWZmZWN0IG9uIGJhc2UucG0gd2l0aCBndWFyZDoKCURF QlBLRzpmaXhlcy9DVkUtMjAxNy0xMjgzNyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg3 NTU5NiBbcGVybCAjMTMxNTgyXSBbZjdlNTQxN10gcmVnY29tcCBbcGVybCAjMTMxNTgyXQoJ REVCUEtHOmZpeGVzL0NWRS0yMDE3LTEyODgzIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODc1NTk3IFtwZXJsICMxMzE1OThdIFs0MGIzY2RhXSBQQVRDSDogW3BlcmwgIzEzMTU5OF0K CURFQlBLRzpmaXhlcy9DVkUtMjAxOC02Nzk3IC0gW3BlcmwgIzEzMjIyN10gKHBlcmwgIzEz MjIyNykgcmVzdGFydCBhIG5vZGUgaWYgd2UgY2hhbmdlIHRvIHVuaSBydWxlcyB3aXRoaW4g dGhlIG5vZGUgYW5kIGVuY291bnRlciBhIHNoYXJwIFMKCURFQlBLRzpmaXhlcy9DVkUtMjAx OC02Nzk4L3B0MSAtIFtwZXJsICMxMzIwNjNdIEhlYXAgYnVmZmVyIG92ZXJmbG93CglERUJQ S0c6Zml4ZXMvQ1ZFLTIwMTgtNjc5OC9wdDIgLSBbcGVybCAjMTMyMDYzXSB2NS4yNC4zOiBm aXggVFJJRV9SRUFEX0NIQVIgYW5kIERFQ0xfVFJJRV9UWVBFIHRvIGFjY291bnQgZm9yIG5v bi11dGY4IHRhcmdldAoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTY3OTgvcHQzIC0gW3Blcmwg IzEzMjA2M10gKHBlcmwgIzEzMjA2Mykgd2Ugc2hvdWxkIG5vIGxvbmdlciB3YXJuIGZvciB0 aGlzIGNvZGUKCURFQlBLRzpmaXhlcy9DVkUtMjAxOC02OTEzIC0gW3BlcmwgIzEzMTg0NF0g KHBlcmwgIzEzMTg0NCkgZml4IHZhcmlvdXMgc3BhY2UgY2FsY3VsYXRpb24gaXNzdWVzIGlu IHBwX3BhY2suYwoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTEyMDE1LUFyY2hpdmUtVGFyLWRp cmVjdG9yeS10cmF2ZXJzYWwgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy85MDA4MzQgW3J0 LmNwYW4ub3JnICMxMjU1MjNdIFJlbW92ZSBleGlzdGluZyBmaWxlcyBiZWZvcmUgb3Zlcndy aXRpbmcgdGhlbQoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTE4MzExIC0gUGVybF9teV9zZXRl bnYoKTsgaGFuZGxlIGludGVnZXIgd3JhcAoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTE4MzEy IC0gZm9yIDUuMjYgbWFpbnQKCURFQlBLRzpmaXhlcy9DVkUtMjAxOC0xODMxMyAtIHJlZ2Nv bXAuYzogQ29udmVydCBzb21lIHN0cmNociB0byBtZW1jaHIKCURFQlBLRzpmaXhlcy9DVkUt MjAxOC0xODMxNCAtIGZpeCAjMTMxNjQ5IC0gZXh0ZW5kZWQgY2hhcmNsYXNzIGNhbiB0cmln Z2VyIGFzc2VydAoJREVCUEtHOmZpeGVzL3RpbWUtbG9jYWwtMjAyMCAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzkxNTIwOSBbcnQuY3Bhbi5vcmcgIzEyNDc4N10gRml4IFRpbWU6Okxv Y2FsIHRlc3RzCiAgQnVpbHQgdW5kZXIgbGludXgKICBDb21waWxlZCBhdCBKYW4gMjUgMjAy MCAxNzo1NDo1NAogICVFTlY6CiAgICBQRVJMNUxJQj0iL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi9saWIvOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvbGliLyIKICBASU5DOgogICAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi9saWIvCiAgICAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2xpYi8KICAgIC9ldGMvcGVybAogICAgL3Vzci9sb2NhbC9saWIveDg2XzY0LWxpbnV4LWdu dS9wZXJsLzUuMjQuMQogICAgL3Vzci9sb2NhbC9zaGFyZS9wZXJsLzUuMjQuMQogICAgL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsNS81LjI0CiAgICAvdXNyL3NoYXJlL3Blcmw1 CiAgICAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3BlcmwvNS4yNAogICAgL3Vzci9zaGFy ZS9wZXJsLzUuMjQKICAgIC91c3IvbG9jYWwvbGliL3NpdGVfcGVybAogICAgL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9wZXJsLWJhc2UKKyAvdXNyL2Jpbi9wZXJsIC1lIHVzZSBUQVA6 OlBhcnNlcjsgcHJpbnQgJFRBUDo6UGFyc2VyOjpWRVJTSU9OLCAiXG4iCjMuMzZfMDEKKyBs ZXggLS12ZXJzaW9uCmxleCAyLjYuMQorIGxleCAtLWhlbHAKVXNhZ2U6IGxleCBbT1BUSU9O U10gW0ZJTEVdLi4uCkdlbmVyYXRlcyBwcm9ncmFtcyB0aGF0IHBlcmZvcm0gcGF0dGVybi1t YXRjaGluZyBvbiB0ZXh0LgoKVGFibGUgQ29tcHJlc3Npb246CiAgLUNhLCAtLWFsaWduICAg ICAgdHJhZGUgb2ZmIGxhcmdlciB0YWJsZXMgZm9yIGJldHRlciBtZW1vcnkgYWxpZ25tZW50 CiAgLUNlLCAtLWVjcyAgICAgICAgY29uc3RydWN0IGVxdWl2YWxlbmNlIGNsYXNzZXMKICAt Q2YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1c2UgLWYgcmVwcmVz ZW50YXRpb24KICAtQ0YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1 c2UgLUYgcmVwcmVzZW50YXRpb24KICAtQ20sIC0tbWV0YS1lY3MgICBjb25zdHJ1Y3QgbWV0 YS1lcXVpdmFsZW5jZSBjbGFzc2VzCiAgLUNyLCAtLXJlYWQgICAgICAgdXNlIHJlYWQoKSBp bnN0ZWFkIG9mIHN0ZGlvIGZvciBzY2FubmVyIGlucHV0CiAgLWYsIC0tZnVsbCAgICAgICAg Z2VuZXJhdGUgZmFzdCwgbGFyZ2Ugc2Nhbm5lci4gU2FtZSBhcyAtQ2ZyCiAgLUYsIC0tZmFz dCAgICAgICAgdXNlIGFsdGVybmF0ZSB0YWJsZSByZXByZXNlbnRhdGlvbi4gU2FtZSBhcyAt Q0ZyCiAgLUNlbSAgICAgICAgICAgICAgZGVmYXVsdCBjb21wcmVzc2lvbiAoc2FtZSBhcyAt LWVjcyAtLW1ldGEtZWNzKQoKRGVidWdnaW5nOgogIC1kLCAtLWRlYnVnICAgICAgICAgICAg IGVuYWJsZSBkZWJ1ZyBtb2RlIGluIHNjYW5uZXIKICAtYiwgLS1iYWNrdXAgICAgICAgICAg ICB3cml0ZSBiYWNraW5nLXVwIGluZm9ybWF0aW9uIHRvIGxleC5iYWNrdXAKICAtcCwgLS1w ZXJmLXJlcG9ydCAgICAgICB3cml0ZSBwZXJmb3JtYW5jZSByZXBvcnQgdG8gc3RkZXJyCiAg LXMsIC0tbm9kZWZhdWx0ICAgICAgICAgc3VwcHJlc3MgZGVmYXVsdCBydWxlIHRvIEVDSE8g dW5tYXRjaGVkIHRleHQKICAtVCwgLS10cmFjZSAgICAgICAgICAgICBsZXggc2hvdWxkIHJ1 biBpbiB0cmFjZSBtb2RlCiAgLXcsIC0tbm93YXJuICAgICAgICAgICAgZG8gbm90IGdlbmVy YXRlIHdhcm5pbmdzCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgd3JpdGUgc3VtbWFyeSBv ZiBzY2FubmVyIHN0YXRpc3RpY3MgdG8gc3Rkb3V0CiAgICAgIC0taGV4ICAgICAgICAgICAg ICAgdXNlIGhleGFkZWNpbWFsIG51bWJlcnMgaW5zdGVhZCBvZiBvY3RhbCBpbiBkZWJ1ZyBv dXRwdXRzCgpGaWxlczoKICAtbywgLS1vdXRmaWxlPUZJTEUgICAgICBzcGVjaWZ5IG91dHB1 dCBmaWxlbmFtZQogIC1TLCAtLXNrZWw9RklMRSAgICAgICAgIHNwZWNpZnkgc2tlbGV0b24g ZmlsZQogIC10LCAtLXN0ZG91dCAgICAgICAgICAgIHdyaXRlIHNjYW5uZXIgb24gc3Rkb3V0 IGluc3RlYWQgb2YgbGV4Lnl5LmMKICAgICAgLS15eWNsYXNzPU5BTUUgICAgICBuYW1lIG9m IEMrKyBjbGFzcwogICAgICAtLWhlYWRlci1maWxlPUZJTEUgICBjcmVhdGUgYSBDIGhlYWRl ciBmaWxlIGluIGFkZGl0aW9uIHRvIHRoZSBzY2FubmVyCiAgICAgIC0tdGFibGVzLWZpbGVb PUZJTEVdIHdyaXRlIHRhYmxlcyB0byBGSUxFCgpTY2FubmVyIGJlaGF2aW9yOgogIC03LCAt LTdiaXQgICAgICAgICAgICAgIGdlbmVyYXRlIDctYml0IHNjYW5uZXIKICAtOCwgLS04Yml0 ICAgICAgICAgICAgICBnZW5lcmF0ZSA4LWJpdCBzY2FubmVyCiAgLUIsIC0tYmF0Y2ggICAg ICAgICAgICAgZ2VuZXJhdGUgYmF0Y2ggc2Nhbm5lciAob3Bwb3NpdGUgb2YgLUkpCiAgLWks IC0tY2FzZS1pbnNlbnNpdGl2ZSAgaWdub3JlIGNhc2UgaW4gcGF0dGVybnMKICAtbCwgLS1s ZXgtY29tcGF0ICAgICAgICBtYXhpbWFsIGNvbXBhdGliaWxpdHkgd2l0aCBvcmlnaW5hbCBs ZXgKICAtWCwgLS1wb3NpeC1jb21wYXQgICAgICBtYXhpbWFsIGNvbXBhdGliaWxpdHkgd2l0 aCBQT1NJWCBsZXgKICAtSSwgLS1pbnRlcmFjdGl2ZSAgICAgICBnZW5lcmF0ZSBpbnRlcmFj dGl2ZSBzY2FubmVyIChvcHBvc2l0ZSBvZiAtQikKICAgICAgLS15eWxpbmVubyAgICAgICAg ICB0cmFjayBsaW5lIGNvdW50IGluIHl5bGluZW5vCgpHZW5lcmF0ZWQgY29kZToKICAtKywg IC0tYysrICAgICAgICAgICAgICAgZ2VuZXJhdGUgQysrIHNjYW5uZXIgY2xhc3MKICAtRG1h Y3JvWz1kZWZuXSAgICAgICAgICAgI2RlZmluZSBtYWNybyBkZWZuICAoZGVmYXVsdCBkZWZu IGlzICcxJykKICAtTCwgIC0tbm9saW5lICAgICAgICAgICAgc3VwcHJlc3MgI2xpbmUgZGly ZWN0aXZlcyBpbiBzY2FubmVyCiAgLVAsICAtLXByZWZpeD1TVFJJTkcgICAgIHVzZSBTVFJJ TkcgYXMgcHJlZml4IGluc3RlYWQgb2YgInl5IgogIC1SLCAgLS1yZWVudHJhbnQgICAgICAg ICBnZW5lcmF0ZSBhIHJlZW50cmFudCBDIHNjYW5uZXIKICAgICAgIC0tYmlzb24tYnJpZGdl ICAgICAgc2Nhbm5lciBmb3IgYmlzb24gcHVyZSBwYXJzZXIuCiAgICAgICAtLWJpc29uLWxv Y2F0aW9ucyAgIGluY2x1ZGUgeXlsbG9jIHN1cHBvcnQuCiAgICAgICAtLXN0ZGluaXQgICAg ICAgICAgIGluaXRpYWxpemUgeXlpbi95eW91dCB0byBzdGRpbi9zdGRvdXQKICAgICAgIC0t bm9hbnNpLWRlZmluaXRpb25zIG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9ucwogICAg ICAgLS1ub2Fuc2ktcHJvdG90eXBlcyAgZW1wdHkgcGFyYW1ldGVyIGxpc3QgaW4gcHJvdG90 eXBlcwogICAgICAgLS1ub3VuaXN0ZCAgICAgICAgICBkbyBub3QgaW5jbHVkZSA8dW5pc3Rk Lmg+CiAgICAgICAtLW5vRlVOQ1RJT04gICAgICAgIGRvIG5vdCBnZW5lcmF0ZSBhIHBhcnRp Y3VsYXIgRlVOQ1RJT04KCk1pc2NlbGxhbmVvdXM6CiAgLWMgICAgICAgICAgICAgICAgICAg ICAgZG8tbm90aGluZyBQT1NJWCBvcHRpb24KICAtbiAgICAgICAgICAgICAgICAgICAgICBk by1ub3RoaW5nIFBPU0lYIG9wdGlvbgogIC0/CiAgLWgsIC0taGVscCAgICAgICAgICAgICAg cHJvZHVjZSB0aGlzIGhlbHAgbWVzc2FnZQogIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHJl cG9ydCBsZXggdmVyc2lvbgorIHlhY2MgLS12ZXJzaW9uCmJpc29uIChHTlUgQmlzb24pIDMu NS4zCsOJY3JpdCBwYXIgUm9iZXJ0IENvcmJldHQgZXQgUmljaGFyZCBTdGFsbG1hbi4KCkNv cHlyaWdodCDCqSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpDZSBsb2dp Y2llbCBlc3QgbGlicmU7IHZvaXIgbGVzIHNvdXJjZXMgcG91ciBsZXMgY29uZGl0aW9ucyBk ZQpyZXByb2R1Y3Rpb24uIEFVQ1VORSBnYXJhbnRpZSBuJ2VzdCBkb25uw6llOyB0YW50IHBv dXIgZGVzIHJhaXNvbnMKQ09NTUVSQ0lBTEVTIHF1ZSBwb3VyIFLDiVBPTkRSRSDDgCBVTiBC RVNPSU4gUEFSVElDVUxJRVIuCisgeWFjYyAtLWhlbHAKVXNhZ2U6IC91c3IvbG9jYWwvYmlu L2Jpc29uIFtPUFRJT05dLi4uIEZJQ0hJRVIKR8OpbsOpcmF0aW9uIGQndW4gYW5hbHlzZXVy IExSIGTDqXRlcm1pbmlzdGUgb3IgZCd1biBMUiBnw6luw6lyYWxpc8OpIChHTFIpIGVtcGxv eWFudApMQUxSKDEpLCBJRUxSKDEpIG91IGRlcyB0YWJsZXMgZCdhbmFseXNldXIgTFIoMSkg Y2Fub25pcXVlLgoKTGVzIHBhcmFtw6h0cmVzIHJlcXVpcyBwb3VyIGxlcyBvcHRpb25zIGxv bmd1ZXMgc29udCDDqWdhbGVtZW50IHJlcXVpcyBwb3VyIGxlcyBvcHRpb25zIGNvdXJ0ZXMu CkxhIG3Dqm1lIGNob3NlIGVzdCB2cmFpZSBwb3VyIGxlcyBwYXJhbcOodHJlcyBvcHRpb25u ZWxzLgoKTW9kZXMgZCd1dGlsaXNhdGlvbjoKICAtaCwgLS1oZWxwICAgICAgICAgICAgICAg ICBhZmZpY2hlciBsJ2FpZGUtbcOpbW9pcmUgZXQgdGVybWluZXIKICAtViwgLS12ZXJzaW9u ICAgICAgICAgICAgICBhZmZpY2hlciBsZSBub20gZXQgbGEgdmVyc2lvbiBkdSBsb2dpY2ll bCBldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1pbmVyCiAgICAgIC0tcHJp bnQtbG9jYWxlZGlyICAgICAgYWZmaWNoZXIgbGUgcsOpcGVydG9pcmUgY29udGVuYW50IGxl cyBkb25uw6llcyBhdmVjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZMOpcGVuZGFu Y2UgZGVzIGxvY2FsZXMgZXQgdGVybWluZXIKICAgICAgLS1wcmludC1kYXRhZGlyICAgICAg ICBhZmZpY2hlciBsZSByw6lwZXJ0b2lyZSBjb250ZW5hbnQgbGVzIHNxdWVsZXR0ZXMgZXQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYU0xUIGV0IHRlcm1pbmVyCiAgLXUsIC0t dXBkYXRlICAgICAgICAgICAgICAgYXBwbGlxdWVyIGxlcyBjb3JyZWN0aWZzIGF1IGZpY2hp ZXIgZGUgZ3JhbW1haXJlIHNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0 IHRlcm1pbmVyCiAgLWYsIC0tZmVhdHVyZVs9Rk9OQ1RJT05TXSAgYWN0aXZlciBkZXMgZm9u Y3Rpb25uYWxpdMOpcyBkaXZlcnNlcwoKRk9OQ1RJT05TIGVzdCB1bmUgbGlzdGUgZGUgbW90 cyBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlcyBwb3V2YW50IGNvbnRlbmlywqA6CiAgY2Fy ZXQsIGRpYWdub3N0aWNzLXNob3ctY2FyZXQKICAgICAgICAgICAgICAgICAgICBtb250cmVy IGxlcyBlcnJldXJzIGF2ZWMgZGVzIGN1cnNldXJzCiAgZml4aXQsIGRpYWdub3N0aWNzLXBh cnNlYWJsZS1maXhpdHMKICAgICAgICAgICAgICAgICAgICBtb250cmVyIGxlcyBjb3JyZWN0 aWZzIHNvdXMgZm9ybWUgbWFjaGluZQogIHN5bnRheC1vbmx5ICAgICAgIG5lIGfDqW7DqXJl ciBhdWN1biBmaWNoaWVyCiAgYWxsICAgICAgICAgICAgICAgdG91cyBjaS1kZXNzdXMKICBu b25lICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGNpLWRlc3N1cwoKRGlhZ25vc3Rp cXVlc8KgOgogIC1XLCAtLXdhcm5pbmdzWz1DQVTDiUdPUklFXSByYXBwb3J0ZXIgbGVzIGF2 ZXJ0aXNzZW1lbnRzIGRhbnMgQ0FUw4lHT1JJRQogICAgICAtLWNvbG9yWz1RVUFORF0gICAg ICAgIHF1YW5kIGNvbG9yaXNlciBsZXMgZGlhZ25vc3RpcXVlcwogICAgICAtLXN0eWxlPUZJ Q0hJRVIgICAgICAgIHNww6ljaWZpZSBsZSBGSUNISUVSIENTUyBwb3VyIGxhIGNvbG9yaXNh dGlvbiBkZXMgZGlhZ25vc3RpcXVlcwoKTGVzIGNhdMOpZ29yaWVzIGQnYXZlcnRpc3NlbWVu dHMgaW5jbHVlbnTCoDoKICBjb25mbGljdHMtc3IgICAgICBjb25mbGl0cyBTL1IgKGFjdGl2 w6kgcGFyIGTDqWZhdXQpCiAgY29uZmxpY3RzLXJyICAgICAgY29uZmxpdHMgUi9SIChhY3Rp dsOpIHBhciBkw6lmYXV0KQogIGRhbmdsaW5nLWFsaWFzICAgIGwnYWxpYXMgY2hhw65uZSBu J2VzdCBwYXMgYXR0YWNow6kgw6AgdW4gc3ltYm9sZQogIGRlcHJlY2F0ZWQgICAgICAgIGNv bnN0cnVjdGlvbiBvYnNvbMOodGUKICBlbXB0eS1ydWxlICAgICAgICByw6hnbGUgdmlkZSBz YW5zICVlbXB0eQogIG1pZHJ1bGUtdmFsdWVzICAgIHZhbGV1cnMgZGUgcsOoZ2xlIGludGVy bcOpZGlhaXJlIG5vbiBkw6lmaW5pZXMgb3UgaW51dGlsaXPDqWVzCiAgcHJlY2VkZW5jZSAg ICAgICAgcHJpb3JpdMOpIGV0IGFzc29jaWF0aXZpdMOpIGludXRpbGVzCiAgeWFjYyAgICAg ICAgICAgICAgaW5jb21wYXRpYmlsaXTDqXMgYXZlYyBQT1NJWCBZYWNjCiAgb3RoZXIgICAg ICAgICAgICAgdG91cyBsZXMgYXV0cmVzIGF2ZXJ0aXNzZW1lbnRzIChhY3RpdsOpIHBhciBk w6lmYXV0KQogIGFsbCAgICAgICAgICAgICAgIHRvdXMgbGVzIGF2ZXJ0aXNzZW1lbnRzIHNh dWYgwqvCoGRhbmdsaW5nLWFsaWFzwqDCuyBldCDCq8KgeWFjY8KgwrsKICBuby1DQVRFR09S WSAgICAgICBkw6lzYWN0aXZlciBsZXMgYXZlcnRpc3NlbWVudHMgZGFucyBDQVRFR09SSUUK ICBub25lICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGxlcyBhdmVydGlzc2VtZW50 cwogIGVycm9yWz1DQVRFR09SWV0gIHRyYWl0ZXIgbGVzIGF2ZXJ0aXNzZW1lbnRzIGNvbW1l IGRlcyBlcnJldXJzCgpRVUFORCBwZXV0IHByZW5kcmUgbCd1bmUgZGVzIHZhbGV1cnMgc3Vp dmFudGVzwqA6CiAgYWx3YXlzLCB5ZXMgIGNvbG9yaXNlciBsYSBzb3J0aWUKICBuZXZlciwg bm8gICAgbmUgcGFzIGNvbG9yaXNlciBsYSBzb3J0aWUKICBhdXRvLCB0dHkgICAgY29sb3Jp c2VyIHNpIGxlIHDDqXJpcGjDqXJpcXVlIGRlIHNvcnRpZSBlc3QgdW4gdHR5CgpSw6lnbGFn ZXMgZGUgbCdhbmFseXNldXI6CiAgLUwsIC0tbGFuZ3VhZ2U9TEFOR0FHRSAgICAgICAgICAg aW5kaXF1ZXIgbGUgbGFuZ2FnZSBkZSBwcm9ncmFtbWF0aW9uIGRlIHNvcnRpZQogIC1TLCAt LXNrZWxldG9uPUZJQ0hJRVIgICAgICAgICAgIHV0aWxpc2VyIGxlIEZJQ0hJRVIgc3F1ZWxl dHRlCiAgLXQsIC0tZGVidWcgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlciBsZSBtb2Rl IGRlIHN1aXZpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpcXVl IMOgIMKrwqAtRHBhcnNlLnRyYWNlwqDCuwogICAgICAtLWxvY2F0aW9ucyAgICAgICAgICAg ICAgICAgIHBlcm1ldHRyZSBsZSBjYWxjdWwgZGVzIGxvY2FsaXNhdGlvbnMKICAtRCwgLS1k ZWZpbmU9Tk9NWz1WQUxFVVJdICAgICAgICBzaW1pbGFpcmUgw6AgwqvCoCVkZWZpbmUgTk9N ICJWQUxFVVIiwqDCuwogIC1GLCAtLWZvcmNlLWRlZmluZT1OT01bPVZBTEVVUl0gIG91dHJl cGFzc2UgwqvCoCVkZWZpbmUgTk9NICJWQUxFVVIiwqDCuwogIC1wLCAtLW5hbWUtcHJlZml4 PVBSw4lGSVhFICAgICAgICBhY2NvbGVyIGxlIFBSw4lGSVhFIGF1eCBzeW1ib2xlcyBleHRl cm5lcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmR1IG9ic29sw6h0 ZSBwYXIgwqvCoC1EYXBpLnByZWZpeD1QUsOJRklYRcKgwrsKICAtbCwgLS1uby1saW5lcyAg ICAgICAgICAgICAgICAgICBuZSBwYXMgZ8OpbsOpcmVyIGxlcyBkaXJlY3RpdmVzIMKrwqAj bGluZcKgwrsKICAtaywgLS10b2tlbi10YWJsZSAgICAgICAgICAgICAgICBpbmNsdXJlIGxh IHRhYmxlIGRlcyBub21zIGRlIGpldG9ucwogIC15LCAtLXlhY2MgICAgICAgICAgICAgICAg ICAgICAgIMOpbXVsZXIgWWFjYyBlbiBtb2RlIFBPU0lYCgpGaWNoaWVycyBkZSBzb3J0aWXC oDoKICAgICAgLS1kZWZpbmVzWz1GSUNISUVSXSAgICBwcm9kdWlyZSB1biBmaWNoaWVyIGQn ZW4tdMOqdGUKICAtZCAgICAgICAgICAgICAgICAgICAgICAgICBpZGVtIG1haXMgc2FucyBz cMOpY2lmaWVyIGxlIEZJQ0hJRVIgKHBvdXIgbGUgWWFjYyBQT1NJWCkKICAtciwgLS1yZXBv cnQ9Q0hPU0VTICAgICAgICBnw6luw6lyZXIgbGVzIGTDqXRhaWxzIGNvbmNlcm5hbnQgbCdh dXRvbWF0ZQogICAgICAtLXJlcG9ydC1maWxlPUZJQ0hJRVIgIMOpY3JpcmUgbGUgcmFwcG9y dCBkYW5zIGxlIEZJQ0hJRVIKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBpZGVudGlx dWUgw6AgwqvCoC0tcmVwb3J0PXN0YXRlwqDCuwogIC1iLCAtLWZpbGUtcHJlZml4PVBSw4lG SVhFICB1dGlsaXNlciBsZSBQUsOJRklYRSBwb3VyIGxlIGZpY2hpZXIgZGUgc29ydGllCiAg LW8sIC0tb3V0cHV0PUZJQ0hJRVIgICAgICAgcHJvZHVpcmUgbGEgc29ydGllIGRhbnMgbGUg RklDSElFUgogIC1nLCAtLWdyYXBoWz1GSUNISUVSXSAgICAgIHByb2R1aXJlIGF1c3NpIHVu IGdyYXBoZSBkZSBsJ2F1dG9tYXRlCiAgLXgsIC0teG1sWz1GSUNISUVSXSAgICAgICAgcHJv ZHVpcmUgdW4gcmFwcG9ydCBYTUwgZGUgbCdhdXRvbWF0ZQoKQ0hPU0VTIGVzdCB1bmUgbGlz dGUgZGUgbW90cyBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlcyBwb3V2YW50IGNvbnRlbmly wqA6CiAgc3RhdGVzICAgICAgZMOpY3JpcmUgbGVzIMOpdGF0cwogIGl0ZW1zZXRzICAgIGNv bXBsw6l0ZXIgbGVzIGVuc2VtYmxlcyBkJ8OpbMOpbWVudHMgZHUgY8WTdXIgYXZlYyBsZXVy cyBmZXJtZXR1cmVzCiAgbG9va2FoZWFkcyAgZXhwbGljaXRlbWVudCBhc3NvY2llciBsZXMg amV0b25zIGxvb2thaGVhZCBhdXggw6lsw6ltZW50cwogIHNvbHZlZCAgICAgIGTDqWNyaXJl IGxhIHNvbHV0aW9uIGF1eCBjb25mbGl0cyBwYXIgZMOpY2FsYWdlL3LDqWR1Y3Rpb24KICBh bGwgICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgaW5mb3JtYXRpb25zIGNpLWRlc3N1cwog IG5vbmUgICAgICAgIGTDqXNhY3RpdmVyIGxlIHJhcHBvcnQKClJhcHBvcnRleiB0b3V0ZXMg YW5vbWFsaWVzIMOgIDxidWctYmlzb25AZ251Lm9yZz4uCnBhZ2UgZCdhY2N1ZWlsIGRlIEdO VSBCaXNvbjogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYmlzb24vPi4KQWlkZSBn w6luw6lyaXF1ZSBzdXIgbCd1dGlsaXNhdGlvbiBkZXMgbG9naWNpZWxzIEdOVTogPGh0dHA6 Ly93d3cuZ251Lm9yZy9oZWxwL2dldGhlbHAuZnIuaHRtbD4uClNpZ25hbGV6IGxlcyBlcnJl dXJzIGRlIHRyYWR1Y3Rpb25zIMOgIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90 ZWFtL2ZyLmh0bWw+LgpQb3VyIGxhIGRvY3VtZW50YXRpb24gY29tcGzDqHRlLCBleMOpY3V0 ZXo6IGluZm8gYmlzb24uCisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvY29uZmlnLmxvZwpUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1 Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQpydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVn Z2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgoKSXQgd2FzIGNyZWF0ZWQgYnkg R05VIEF1dG9tYWtlIGNvbmZpZ3VyZSAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkg R05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3 YXMKCiAgJCAuL2NvbmZpZ3VyZSBDQz1nY2M5ICdDRkxBR1M9LW1hcmNoPXpudmVyMSAtbXR1 bmU9em52ZXIxIC1PMycgQ1hYPWcrKzkgJ0NYWEZMQUdTPS1tYXJjaD16bnZlcjEgLW10dW5l PXpudmVyMSAtTzMnCgojIyAtLS0tLS0tLS0gIyMKIyMgUGxhdGZvcm0uICMjCiMjIC0tLS0t LS0tLSAjIwoKaG9zdG5hbWUgPSB6ZW5kZXYxCnVuYW1lIC1tID0geDg2XzY0CnVuYW1lIC1y ID0gNS42LjAtcmM2cnl6ZW4KdW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICMyIFNNUCBN b24gTWFyIDE2IDAxOjQzOjIyIENFVCAyMDIwCgovdXNyL2Jpbi91bmFtZSAtcCA9IHVua25v d24KL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAg ID0gdW5rbm93bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZl eC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93 bgovYmluL21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAg ICAgID0gdW5rbm93bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDog L2hvbWUvaHYvYmluLwpQQVRIOiAvdXNyL2xvY2FsL2Jpbi8KUEFUSDogL3Vzci9iaW4vClBB VEg6IC9iaW4vClBBVEg6IC9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVy Mi4yL2Jpbi8KUEFUSDogL2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1x My11cGRhdGUvYmluLwpQQVRIOiAvb3B0L1NFR0dFUi9KTGluay8KCgojIyAtLS0tLS0tLS0t LSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjIw NDg6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzCmNv bmZpZ3VyZToyMDY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA4MjogY2hlY2tpbmcgYnVp bGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjIwOTc6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4 LWdudQpjb25maWd1cmU6MjExNzogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1 cmU6MjEzMTogcmVzdWx0OiB4ODZfNjQtcGMtbGludXgtZ251CmNvbmZpZ3VyZToyMTg0OiBj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZToyMjU3OiBy ZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjIyNjg6IGNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MjMyMzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI0ODQ6IGNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAt cApjb25maWd1cmU6MjUyODogcmVzdWx0OiAvYmluL21rZGlyIC1wCmNvbmZpZ3VyZToyNTM1 OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6MjU1NjogZm91bmQgL3Vzci9sb2NhbC9i aW4vZ2F3awpjb25maWd1cmU6MjU2NzogcmVzdWx0OiBnYXdrCmNvbmZpZ3VyZToyNTc4OiBj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZToyNjAxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6Mjc1NDogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpj b25maWd1cmU6Mjc1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3Njg6IGNoZWNraW5nIGZv ciBwZXJsCmNvbmZpZ3VyZToyNzkxOiBmb3VuZCAvdXNyL2Jpbi9wZXJsCmNvbmZpZ3VyZToy ODAzOiByZXN1bHQ6IC91c3IvYmluL3BlcmwKY29uZmlndXJlOjI4MTU6IC91c3IvYmluL3Bl cmwgLS12ZXJzaW9uCgpUaGlzIGlzIHBlcmwgNSwgdmVyc2lvbiAyNCwgc3VidmVyc2lvbiAx ICh2NS4yNC4xKSBidWlsdCBmb3IgeDg2XzY0LWxpbnV4LWdudS10aHJlYWQtbXVsdGkKKHdp dGggODYgcmVnaXN0ZXJlZCBwYXRjaGVzLCBzZWUgcGVybCAtViBmb3IgbW9yZSBkZXRhaWwp CgpDb3B5cmlnaHQgMTk4Ny0yMDE3LCBMYXJyeSBXYWxsCgpQZXJsIG1heSBiZSBjb3BpZWQg b25seSB1bmRlciB0aGUgdGVybXMgb2YgZWl0aGVyIHRoZSBBcnRpc3RpYyBMaWNlbnNlIG9y IHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgd2hpY2ggbWF5IGJlIGZvdW5kIGlu IHRoZSBQZXJsIDUgc291cmNlIGtpdC4KCkNvbXBsZXRlIGRvY3VtZW50YXRpb24gZm9yIFBl cmwsIGluY2x1ZGluZyBGQVEgbGlzdHMsIHNob3VsZCBiZSBmb3VuZCBvbgp0aGlzIHN5c3Rl bSB1c2luZyAibWFuIHBlcmwiIG9yICJwZXJsZG9jIHBlcmwiLiAgSWYgeW91IGhhdmUgYWNj ZXNzIHRvIHRoZQpJbnRlcm5ldCwgcG9pbnQgeW91ciBicm93c2VyIGF0IGh0dHA6Ly93d3cu cGVybC5vcmcvLCB0aGUgUGVybCBIb21lIFBhZ2UuCgpjb25maWd1cmU6MjgxODogJD8gPSAw CmNvbmZpZ3VyZToyODMwOiBjaGVja2luZyBmb3IgdGV4CmNvbmZpZ3VyZToyODUxOiBmb3Vu ZCAvdXNyL2Jpbi90ZXgKY29uZmlndXJlOjI4NjI6IHJlc3VsdDogdGV4CmNvbmZpZ3VyZToy ODczOiB0ZXggLS12ZXJzaW9uIDwvZGV2L251bGwKVGVYIDMuMTQxNTkyNjUgKFRlWCBMaXZl IDIwMTYvRGViaWFuKQprcGF0aHNlYSB2ZXJzaW9uIDYuMi4yCkNvcHlyaWdodCAyMDE2IEQu RS4gS251dGguClRoZXJlIGlzIE5PIHdhcnJhbnR5LiAgUmVkaXN0cmlidXRpb24gb2YgdGhp cyBzb2Z0d2FyZSBpcwpjb3ZlcmVkIGJ5IHRoZSB0ZXJtcyBvZiBib3RoIHRoZSBUZVggY29w eXJpZ2h0IGFuZAp0aGUgTGVzc2VyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgpGb3Ig bW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtYXR0ZXJzLCBzZWUgdGhlIGZpbGUKbmFt ZWQgQ09QWUlORyBhbmQgdGhlIFRlWCBzb3VyY2UuClByaW1hcnkgYXV0aG9yIG9mIFRlWDog RC5FLiBLbnV0aC4KY29uZmlndXJlOjI4NzY6ICQ/ID0gMApjb25maWd1cmU6Mjg5NDogY2hl Y2tpbmcgZm9yIHlhY2MKY29uZmlndXJlOjI5MTU6IGZvdW5kIC91c3IvbG9jYWwvYmluL3lh Y2MKY29uZmlndXJlOjI5MjY6IHJlc3VsdDogeWFjYwpjb25maWd1cmU6Mjk0MjogY2hlY2tp bmcgZm9yIGxleApjb25maWd1cmU6Mjk2MzogZm91bmQgL3Vzci9iaW4vbGV4CmNvbmZpZ3Vy ZToyOTc0OiByZXN1bHQ6IGxleApjb25maWd1cmU6Mjk5NTogY2hlY2tpbmcgd2hldGhlciBh dXRvY29uZiBpcyBpbnN0YWxsZWQKY29uZmlndXJlOjMwMDE6IGF1dG9jb25mIC0tdmVyc2lv bgphdXRvY29uZiAoR05VIEF1dG9jb25mKSAyLjY5CkNvcHlyaWdodCAoQykgMjAxMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2MysvQXV0b2NvbmY6IEdO VSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyCjxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwu aHRtbD4sIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9leGNlcHRpb25zLmh0bWw+ClRoaXMg aXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmli dXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQg YnkgbGF3LgoKV3JpdHRlbiBieSBEYXZpZCBKLiBNYWNLZW56aWUgYW5kIEFraW0gRGVtYWls bGUuCmNvbmZpZ3VyZTozMDA0OiAkPyA9IDAKY29uZmlndXJlOjMwMTI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozMDE5OiBjaGVja2luZyB3aGV0aGVyIGF1dG9jb25mIHdvcmtzCmNvbmZp Z3VyZTozMDI3OiBjZCBjb25mdGVzdCAmJiBhdXRvY29uZiAtbyAvZGV2L251bGwgY29uZnRl c3QuYWMKY29uZmlndXJlOjMwMzA6ICQ/ID0gMApjb25maWd1cmU6MzAzOTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjMwNDY6IGNoZWNraW5nIHdoZXRoZXIgYXV0b2NvbmYgaXMgcmVjZW50 IGVub3VnaApjb25maWd1cmU6MzA1NDogY2QgY29uZnRlc3QgJiYgYXV0b2NvbmYgLW8gL2Rl di9udWxsIGNvbmZ0ZXN0LmFjCmNvbmZpZ3VyZTozMDU3OiAkPyA9IDAKY29uZmlndXJlOjMw NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDczOiBjaGVja2luZyB3aGV0aGVyIGxuIHdv cmtzCmNvbmZpZ3VyZTozMDk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzExMjogY2hlY2tp bmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZToz MTc2OiByZXN1bHQ6IC9iaW4vZ3JlcApjb25maWd1cmU6MzE4MTogY2hlY2tpbmcgZm9yIGVn cmVwCmNvbmZpZ3VyZTozMjQ5OiByZXN1bHQ6IC9iaW4vZ3JlcCAtRQpjb25maWd1cmU6MzI1 NDogY2hlY2tpbmcgZm9yIGZncmVwCmNvbmZpZ3VyZTozMzIyOiByZXN1bHQ6IC9iaW4vZ3Jl cCAtRgpjb25maWd1cmU6MzM2NTogd2lsbCBub3cgbG9vayBmb3IgYSBzdHVyZHkgUE9TSVgg c2hlbGwsIGZvciBvdXIgdGVzdHN1aXRlCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3Ig c2gKY29uZmlndXJlOjM0MjY6IGZvdW5kIC9iaW4vc2gKY29uZmlndXJlOjM0Mzg6IHJlc3Vs dDogL2Jpbi9zaApjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIHNoNQpjb25maWd1cmU6 MzQ0MTogcmVzdWx0OiBubwpjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIGRhc2gKY29u ZmlndXJlOjM0MjY6IGZvdW5kIC9iaW4vZGFzaApjb25maWd1cmU6MzQzODogcmVzdWx0OiAv YmluL2Rhc2gKY29uZmlndXJlOjM0MDM6IGNoZWNraW5nIGZvciBhc2gKY29uZmlndXJlOjM0 MjY6IGZvdW5kIC9iaW4vYXNoCmNvbmZpZ3VyZTozNDM4OiByZXN1bHQ6IC9iaW4vYXNoCmNv bmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgYmFzaApjb25maWd1cmU6MzQyNjogZm91bmQg L3Vzci9sb2NhbC9iaW4vYmFzaApjb25maWd1cmU6MzQzODogcmVzdWx0OiAvdXNyL2xvY2Fs L2Jpbi9iYXNoCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgenNoCmNvbmZpZ3VyZToz NDI2OiBmb3VuZCAvdXNyL2Jpbi96c2gKY29uZmlndXJlOjM0Mzg6IHJlc3VsdDogL3Vzci9i aW4venNoCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3Iga3NoCmNvbmZpZ3VyZTozNDQx OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgcGRrc2gKY29uZmln dXJlOjM0NDE6IHJlc3VsdDogbm8KY29uZmlndXJlOjM0NjI6IGNoZWNraW5nIHdoZXRoZXIg L2Jpbi9zaCBzdXBwb3J0cyAkKGNtZCkKY29uZmlndXJlOjM0NzI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozNDgyOiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3VwcG9ydHMgJCgoZXhw cikpCmNvbmZpZ3VyZTozNDkyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzUwMjogY2hlY2tp bmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRzICR7I3Zhcn0KY29uZmlndXJlOjM1MTU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTozNTI1OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3Vw cG9ydHMgJHt2YXIjZ2xvYn0gYW5kICR7dmFyJWdsb2J9CmNvbmZpZ3VyZTozNTM5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MzU0OTogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIHByZXNl cnZlcyBleGl0IHRyYXBzIHdpdGggInNldCAtZSIKY29uZmlndXJlOjM1NTk6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTozNTY5OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggY2FuIGRlZmlu ZSBleGl0IHRyYXBzIGluIGEgc2hlbGwgZnVuY3Rpb24KY29uZmlndXJlOjM1Nzk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTozNTg5OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggY29ycnVw dHMgc3RkZXJyIHdpdGggInNldCAteCIKY29uZmlndXJlOjM2MDM6IHJlc3VsdDogbm8KY29u ZmlndXJlOjM2MTE6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBjYW4gcmV0dXJuIGVhcmx5 IGZyb20gImRvdC1zb3VyY2VkIiBmaWxlcwpjb25maWd1cmU6MzYyMTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjM2MzM6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBzdXBwb3J0cyBhbGlh cyBuYW1lZCBsaWtlIHNoZWxsIGJ1aWx0aW5zCgpjb25maWd1cmU6MzY0MzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjM2NTM6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBzdXBwb3J0cyAi dGVzdCAtZSIKY29uZmlndXJlOjM2NjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNjgxOiBz aGVsbCAvYmluL3NoIGlzIGdvb2QgZW5vdWdoLCBzdG9wIGxvb2tpbmcKY29uZmlndXJlOjM2 OTg6IHdpbGwgdXNlIC9iaW4vc2ggYXMgdGhlIHRlc3RzdWl0ZSBzaGVsbApjb25maWd1cmU6 MzcyMjogd2lsbCBub3cgbG9vayBmb3IgZ2VuZXJpYyBjb21waWxlcnMKY29uZmlndXJlOjM4 NTA6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjM4NTk6IGdj YzkgLS12ZXJzaW9uID4mNQpnY2M5IChHQ0MpIDkuMy4wCkNvcHlyaWdodCAoQykgMjAxOSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBz ZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2Fy cmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6Mzg3MDogJD8gPSAwCmNvbmZpZ3VyZToz ODU5OiBnY2M5IC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9Z2Nj OQpDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbG9jYWwvZ2NjOS9saWJleGVjL2djYy94ODZf NjQtcGMtbGludXgtZ251LzkuMy4wL2x0by13cmFwcGVyClRhcmdldDogeDg2XzY0LXBjLWxp bnV4LWdudQpDb25maWd1cmVkIHdpdGg6IC4uLy4uL2djYy05LjMuMC9jb25maWd1cmUgQ0ZM QUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyBDWFhGTEFHUz0nLW1hcmNo PXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycgLS1wcmVmaXg9L3Vzci9sb2NhbC9nY2M5IC0t ZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxsdG8gLS13aXRoLWNwdT16bnZlcjEgLS13aXRoLXR1 bmU9em52ZXIxIC0td2l0aC1mcG1hdGg9YXZ4IC0tZW5hYmxlLW5scyAtLXdpdGgtZGlhZ25v c3RpY3MtY29sb3I9YWx3YXlzIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCAtLXdpdGgtbGlu a2VyLWhhc2gtc3R5bGU9Ym90aCAtLWVuYWJsZS1vZmZsb2FkLXRhcmdldHM9aHNhIC0tZGlz YWJsZS1tdWx0aWxpYiAtLXdpdGgtYnVpbGQtY29uZmlnPWJvb3RzdHJhcC1sdG8KVGhyZWFk IG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA5LjMuMCAoR0NDKSAKY29uZmlndXJlOjM4NzA6 ICQ/ID0gMApjb25maWd1cmU6Mzg1OTogZ2NjOSAtViA+JjUKG1swMW0bW0tnY2M5OhtbbRtb SyAbWzAxOzMxbRtbS2Vycm9yOiAbW20bW0t1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9w dGlvbiAnG1swMW0bW0stVhtbbRtbSycKG1swMW0bW0tnY2M5OhtbbRtbSyAbWzAxOzMxbRtb S2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5h dGVkLgpjb25maWd1cmU6Mzg3MDogJD8gPSAxCmNvbmZpZ3VyZTozODU5OiBnY2M5IC1xdmVy c2lvbiA+JjUKG1swMW0bW0tnY2M5OhtbbRtbSyAbWzAxOzMxbRtbS2Vycm9yOiAbW20bW0t1 bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnG1swMW0bW0stcXZlcnNpb24bW20b W0snOyBkaWQgeW91IG1lYW4gJxtbMDFtG1tLLS12ZXJzaW9uG1ttG1tLJz8KG1swMW0bW0tn Y2M5OhtbbRtbSyAbWzAxOzMxbRtbS2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1dCBmaWxl cwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6Mzg3MDogJD8gPSAxCmNvbmZp Z3VyZTozODU5OiBnY2M5IC12ZXJzaW9uID4mNQobWzAxbRtbS2djYzk6G1ttG1tLIBtbMDE7 MzFtG1tLZXJyb3I6IBtbbRtbS3VucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICcb WzAxbRtbSy12ZXJzaW9uG1ttG1tLJwobWzAxbRtbS2djYzk6G1ttG1tLIBtbMDE7MzFtG1tL ZmF0YWwgZXJyb3I6IBtbbRtbS25vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZTozODcwOiAkPyA9IDEKY29uZmlndXJlOjM4OTA6IGNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjM5MTI6IGdjYzkgLW1hcmNo PXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6 MzkxNjogJD8gPSAwCmNvbmZpZ3VyZTozOTY4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzk3 MTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNv bmZpZ3VyZTozOTczOiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTozOTc5OiBjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozOTg2OiBnY2M5IC1vIGNvbmZ0 ZXN0IC1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgICBjb25mdGVzdC5jICA+JjUK Y29uZmlndXJlOjM5OTA6ICQ/ID0gMApjb25maWd1cmU6NDAxNTogcmVzdWx0OiAKY29uZmln dXJlOjQwMzc6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25m aWd1cmU6NDA0NzogZ2NjOSAtbyBjb25mdGVzdCAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZl cjEgLU8zICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo0MDUxOiAkPyA9IDAKY29uZmln dXJlOjQwNTg6IC4vY29uZnRlc3QKY29uZmlndXJlOjQwNjI6ICQ/ID0gMApjb25maWd1cmU6 NDA4MDogcmVzdWx0OiBubwpjb25maWd1cmU6NDA4NTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMKY29uZmlndXJlOjQxMDg6IGdjYzkgLWMgLW1hcmNoPXpudmVyMSAt bXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQxMTI6ICQ/ID0g MApjb25maWd1cmU6NDEzNjogcmVzdWx0OiBvCmNvbmZpZ3VyZTo0MTQwOiBjaGVja2luZyB3 aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQwpjb25maWd1cmU6NDE2MDogZ2Nj OSAtYyAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6NDE2MDogJD8gPSAwCmNvbmZpZ3VyZTo0MTcwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NDE3OTogY2hlY2tpbmcgd2hldGhlciBnY2M5IGFjY2VwdHMgLWcKY29uZmlndXJl OjQyMDA6IGdjYzkgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjAwOiAkPyA9 IDAKY29uZmlndXJlOjQyNDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjYxOiBjaGVja2lu ZyBmb3IgZ2NjOSBvcHRpb24gdG8gZW5hYmxlIEMxMSBmZWF0dXJlcwpjb25maWd1cmU6NDQ2 NTogZ2NjOSAgLWMgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjQ0NjU6ICQ/ID0gMApjb25maWd1cmU6NDQ4MDogcmVzdWx0OiBu b25lIG5lZWRlZApjb25maWd1cmU6NDc5OTogY2hlY2tpbmcgd2hldGhlciBnY2M5IHVuZGVy c3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlcgpjb25maWd1cmU6NDgyMjogZ2NjOSAtYyBjb25m dGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vCmNvbmZpZ3VyZTo0ODI1OiAkPyA9IDAKY29uZmlndXJl OjQ4MjI6IGdjYzkgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubwpjb25maWd1cmU6NDgy NTogJD8gPSAwCmNvbmZpZ3VyZTo0ODM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTAyNTog Y2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo1MDM0OiBnKys5 IC0tdmVyc2lvbiA+JjUKZysrOSAoR0NDKSA5LjMuMApDb3B5cmlnaHQgKEMpIDIwMTkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2Vl IHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJh bnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjUwNDU6ICQ/ID0gMApjb25maWd1cmU6NTAz NDogZysrOSAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWcrKzkK Q09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xvY2FsL2djYzkvbGliZXhlYy9nY2MveDg2XzY0 LXBjLWxpbnV4LWdudS85LjMuMC9sdG8td3JhcHBlcgpUYXJnZXQ6IHg4Nl82NC1wYy1saW51 eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAuLi8uLi9nY2MtOS4zLjAvY29uZmlndXJlIENGTEFH Uz0nLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycgQ1hYRkxBR1M9Jy1tYXJjaD16 bnZlcjEgLW10dW5lPXpudmVyMSAtTzMnIC0tcHJlZml4PS91c3IvbG9jYWwvZ2NjOSAtLWVu YWJsZS1sYW5ndWFnZXM9YyxjKyssbHRvIC0td2l0aC1jcHU9em52ZXIxIC0td2l0aC10dW5l PXpudmVyMSAtLXdpdGgtZnBtYXRoPWF2eCAtLWVuYWJsZS1ubHMgLS13aXRoLWRpYWdub3N0 aWNzLWNvbG9yPWFsd2F5cyAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgLS13aXRoLWxpbmtl ci1oYXNoLXN0eWxlPWJvdGggLS1lbmFibGUtb2ZmbG9hZC10YXJnZXRzPWhzYSAtLWRpc2Fi bGUtbXVsdGlsaWIgLS13aXRoLWJ1aWxkLWNvbmZpZz1ib290c3RyYXAtbHRvClRocmVhZCBt b2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gOS4zLjAgKEdDQykgCmNvbmZpZ3VyZTo1MDQ1OiAk PyA9IDAKY29uZmlndXJlOjUwMzQ6IGcrKzkgLVYgPiY1ChtbMDFtG1tLZysrOTobW20bW0sg G1swMTszMW0bW0tlcnJvcjogG1ttG1tLdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRp b24gJxtbMDFtG1tLLVYbW20bW0snChtbMDFtG1tLZysrOTobW20bW0sgG1swMTszMW0bW0tm YXRhbCBlcnJvcjogG1ttG1tLbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRl ZC4KY29uZmlndXJlOjUwNDU6ICQ/ID0gMQpjb25maWd1cmU6NTAzNDogZysrOSAtcXZlcnNp b24gPiY1ChtbMDFtG1tLZysrOTobW20bW0sgG1swMTszMW0bW0tlcnJvcjogG1ttG1tLdW5y ZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJxtbMDFtG1tLLXF2ZXJzaW9uG1ttG1tL JzsgZGlkIHlvdSBtZWFuICcbWzAxbRtbSy0tdmVyc2lvbhtbbRtbSyc/ChtbMDFtG1tLZysr OTobW20bW0sgG1swMTszMW0bW0tmYXRhbCBlcnJvcjogG1ttG1tLbm8gaW5wdXQgZmlsZXMK Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjUwNDU6ICQ/ID0gMQpjb25maWd1 cmU6NTA2NTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHdvcmtzCmNvbmZp Z3VyZTo1MDg3OiBnKys5IC1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgICBjb25m dGVzdC5jcHAgID4mNQpjb25maWd1cmU6NTA5MTogJD8gPSAwCmNvbmZpZ3VyZTo1MTQzOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NTE0NjogY2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUKY29uZmlndXJlOjUxNDg6IHJlc3VsdDogYS5vdXQK Y29uZmlndXJlOjUxNTQ6IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29u ZmlndXJlOjUxNjE6IGcrKzkgLW8gY29uZnRlc3QgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52 ZXIxIC1PMyAgIGNvbmZ0ZXN0LmNwcCAgPiY1CmNvbmZpZ3VyZTo1MTY1OiAkPyA9IDAKY29u ZmlndXJlOjUxOTA6IHJlc3VsdDogCmNvbmZpZ3VyZTo1MjEyOiBjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjUyMjI6IGcrKzkgLW8gY29uZnRl c3QgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgIGNvbmZ0ZXN0LmNwcCAgPiY1 CmNvbmZpZ3VyZTo1MjI2OiAkPyA9IDAKY29uZmlndXJlOjUyMzM6IC4vY29uZnRlc3QKY29u ZmlndXJlOjUyMzc6ICQ/ID0gMApjb25maWd1cmU6NTI1NTogcmVzdWx0OiBubwpjb25maWd1 cmU6NTI2MDogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJl OjUyODM6IGcrKzkgLWMgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRl c3QuY3BwID4mNQpjb25maWd1cmU6NTI4NzogJD8gPSAwCmNvbmZpZ3VyZTo1MzExOiByZXN1 bHQ6IG8KY29uZmlndXJlOjUzMTU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1 cHBvcnRzIEdOVSBDKysKY29uZmlndXJlOjUzMzU6IGcrKzkgLWMgLW1hcmNoPXpudmVyMSAt bXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6NTMzNTogJD8g PSAwCmNvbmZpZ3VyZTo1MzQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM1NDogY2hlY2tp bmcgd2hldGhlciBnKys5IGFjY2VwdHMgLWcKY29uZmlndXJlOjUzNzU6IGcrKzkgLWMgLWcg IGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjUzNzU6ICQ/ID0gMApjb25maWd1cmU6NTQx OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU0MzY6IGNoZWNraW5nIGZvciBnKys5IG9wdGlv biB0byBlbmFibGUgQysrMTEgZmVhdHVyZXMKY29uZmlndXJlOjU2NzM6IGcrKzkgIC1jIC1t YXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmln dXJlOjU2NzM6ICQ/ID0gMApjb25maWd1cmU6NTY4ODogcmVzdWx0OiBub25lIG5lZWRlZApj b25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIHhsZjk1CmNvbmZpZ3VyZTo1OTkzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZjk1CmNvbmZpZ3VyZTo1OTkz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZm9ydApjb25maWd1 cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGlmb3J0 CmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBm b3IgaWZjCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVj a2luZyBmb3IgZWZjCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4 OiBjaGVja2luZyBmb3IgcGdmb3J0cmFuCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgcGdmOTUKY29uZmlndXJlOjU5OTM6IHJlc3Vs dDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBsZjk1CmNvbmZpZ3VyZTo1OTkz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZnRuCmNvbmZpZ3Vy ZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgbmFnZm9y CmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBm b3IgeGxmOTAKY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNo ZWNraW5nIGZvciBmOTAKY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5 NTg6IGNoZWNraW5nIGZvciBhcm1mbGFuZwpjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpj b25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGZsYW5nCmNvbmZpZ3VyZTo1OTkzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgcGdmOTAKY29uZmlndXJlOjU5 OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBwZ2hwZgpjb25m aWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGVw Y2Y5MApjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tp bmcgZm9yIGc5NQpjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODog Y2hlY2tpbmcgZm9yIGdmb3J0cmFuCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2MDE2OiBjaGVja2luZyBmb3IgRm9ydHJhbiBjb21waWxlciB2ZXJzaW9uCmNvbmZp Z3VyZTo2MDI1OiAgLS12ZXJzaW9uID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLS12ZXJz aW9uOiBub3QgZm91bmQKY29uZmlndXJlOjYwMzY6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2MDI1 OiAgLXYgPiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtdjogbm90IGZvdW5kCmNvbmZpZ3Vy ZTo2MDM2OiAkPyA9IDEyNwpjb25maWd1cmU6NjAyNTogIC1WID4mNQouL2NvbmZpZ3VyZTog MTogZXZhbDogLVY6IG5vdCBmb3VuZApjb25maWd1cmU6NjAzNjogJD8gPSAxMjcKY29uZmln dXJlOjYwMjU6ICAtcXZlcnNpb24gPiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtcXZlcnNp b246IG5vdCBmb3VuZApjb25maWd1cmU6NjAzNjogJD8gPSAxMjcKY29uZmlndXJlOjYwNTE6 IGNoZWNraW5nIHdoZXRoZXIgdGhlIEZvcnRyYW4gY29tcGlsZXIgd29ya3MKY29uZmlndXJl OjYwNzM6ICAgICBjb25mdGVzdC5mICA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IGNvbmZ0 ZXN0LmY6IG5vdCBmb3VuZApjb25maWd1cmU6NjA3NzogJD8gPSAxMjcKY29uZmlndXJlOjYx MTc6IHJlc3VsdDogbm8KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAg cHJvZ3JhbSBtYWluCnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZTo2MTIzOiBXQVJOSU5HOiBG b3J0cmFuIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKY29uZmlndXJlOjYz Nzc6IHRlc3RzIHJlcXVpcmluZyB0aGUgRm9ydHJhbiBjb21waWxlciB3aWxsIGJlIHNraXBw ZWQKY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciB4bGYKY29uZmlndXJlOjY0OTg6IHJl c3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBmNzcKY29uZmlndXJlOjY0 OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBmcnQKY29uZmln dXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBwZ2Y3 Nwpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcg Zm9yIGNmNzcKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNo ZWNraW5nIGZvciBmb3J0NzcKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJl OjY0NjM6IGNoZWNraW5nIGZvciBmbDMyCmNvbmZpZ3VyZTo2NDk4OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo2NDYzOiBjaGVja2luZyBmb3IgYWY3Nwpjb25maWd1cmU6NjQ5ODogcmVzdWx0 OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIGc3Nwpjb25maWd1cmU6NjQ5ODog cmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIGFybWZsYW5nCmNvbmZp Z3VyZTo2NDk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NDYzOiBjaGVja2luZyBmb3IgZmxh bmcKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5n IGZvciBnZm9ydHJhbgpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjUy MTogY2hlY2tpbmcgZm9yIEZvcnRyYW4gNzcgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6 NjUzMDogIC0tdmVyc2lvbiA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IC0tdmVyc2lvbjog bm90IGZvdW5kCmNvbmZpZ3VyZTo2NTQxOiAkPyA9IDEyNwpjb25maWd1cmU6NjUzMDogIC12 ID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLXY6IG5vdCBmb3VuZApjb25maWd1cmU6NjU0 MTogJD8gPSAxMjcKY29uZmlndXJlOjY1MzA6ICAtViA+JjUKLi9jb25maWd1cmU6IDE6IGV2 YWw6IC1WOiBub3QgZm91bmQKY29uZmlndXJlOjY1NDE6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2 NTMwOiAgLXF2ZXJzaW9uID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLXF2ZXJzaW9uOiBu b3QgZm91bmQKY29uZmlndXJlOjY1NDE6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2NTU2OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3VyZTo2 NTc4OiAgICBjb25mdGVzdC5mICA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IGNvbmZ0ZXN0 LmY6IG5vdCBmb3VuZApjb25maWd1cmU6NjU4MjogJD8gPSAxMjcKY29uZmlndXJlOjY2MjI6 IHJlc3VsdDogbm8KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAgcHJv Z3JhbSBtYWluCnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZTo2NjI4OiBXQVJOSU5HOiBGb3J0 cmFuIDc3IGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKY29uZmlndXJlOjY4 ODI6IHRlc3RzIHJlcXVpcmluZyB0aGUgRm9ydHJhbiA3NyBjb21waWxlciB3aWxsIGJlIHNr aXBwZWQKY29uZmlndXJlOjY5MTU6IHdpbGwgbm93IGxvb2sgZm9yIEdOVSBjb21waWxlcnMK Y29uZmlndXJlOjY5MjI6IGdjYzkgaXMgYWxyZWFkeSBhIEdOVSBDIGNvbXBpbGVyCmNvbmZp Z3VyZTo3MDM4OiBnY2M5IC0tdmVyc2lvbiAmJiBnY2M5IC12CmdjYzkgKEdDQykgOS4zLjAK Q29weXJpZ2h0IChDKSAyMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlz IGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlv bnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KClVzaW5nIGJ1aWx0LWlu IHNwZWNzLgpDT0xMRUNUX0dDQz1nY2M5CkNPTExFQ1RfTFRPX1dSQVBQRVI9L3Vzci9sb2Nh bC9nY2M5L2xpYmV4ZWMvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUvOS4zLjAvbHRvLXdyYXBw ZXIKVGFyZ2V0OiB4ODZfNjQtcGMtbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vLi4v Z2NjLTkuMy4wL2NvbmZpZ3VyZSBDRkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVy MSAtTzMnIENYWEZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyAtLXBy ZWZpeD0vdXNyL2xvY2FsL2djYzkgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGx0byAtLXdp dGgtY3B1PXpudmVyMSAtLXdpdGgtdHVuZT16bnZlcjEgLS13aXRoLWZwbWF0aD1hdnggLS1l bmFibGUtbmxzIC0td2l0aC1kaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLS1lbmFibGUtbGlu a2VyLWJ1aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1ib3RoIC0tZW5hYmxlLW9m ZmxvYWQtdGFyZ2V0cz1oc2EgLS1kaXNhYmxlLW11bHRpbGliIC0td2l0aC1idWlsZC1jb25m aWc9Ym9vdHN0cmFwLWx0bwpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDkuMy4w IChHQ0MpIApjb25maWd1cmU6NzA0MTogJD8gPSAwCmNvbmZpZ3VyZTo3MDU3OiBnKys5IGlz IGFscmVhZHkgYSBHTlUgQysrIGNvbXBpbGVyCmNvbmZpZ3VyZTo3MTc0OiBnKys5IC0tdmVy c2lvbiAmJiBnKys5IC12CmcrKzkgKEdDQykgOS4zLjAKQ29weXJpZ2h0IChDKSAyMDE5IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNl ZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJy YW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4KClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1n Kys5CkNPTExFQ1RfTFRPX1dSQVBQRVI9L3Vzci9sb2NhbC9nY2M5L2xpYmV4ZWMvZ2NjL3g4 Nl82NC1wYy1saW51eC1nbnUvOS4zLjAvbHRvLXdyYXBwZXIKVGFyZ2V0OiB4ODZfNjQtcGMt bGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vLi4vZ2NjLTkuMy4wL2NvbmZpZ3VyZSBD RkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMnIENYWEZMQUdTPSctbWFy Y2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyAtLXByZWZpeD0vdXNyL2xvY2FsL2djYzkg LS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGx0byAtLXdpdGgtY3B1PXpudmVyMSAtLXdpdGgt dHVuZT16bnZlcjEgLS13aXRoLWZwbWF0aD1hdnggLS1lbmFibGUtbmxzIC0td2l0aC1kaWFn bm9zdGljcy1jb2xvcj1hbHdheXMgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0td2l0aC1s aW5rZXItaGFzaC1zdHlsZT1ib3RoIC0tZW5hYmxlLW9mZmxvYWQtdGFyZ2V0cz1oc2EgLS1k aXNhYmxlLW11bHRpbGliIC0td2l0aC1idWlsZC1jb25maWc9Ym9vdHN0cmFwLWx0bwpUaHJl YWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDkuMy4wIChHQ0MpIApjb25maWd1cmU6NzE3 NzogJD8gPSAwCmNvbmZpZ3VyZTo3MjUyOiBjaGVja2luZyBmb3IgZ2ZvcnRyYW4KY29uZmln dXJlOjcyODc6IHJlc3VsdDogbm8KY29uZmlndXJlOjczODg6IGNoZWNraW5nIGZvciBnNzcK Y29uZmlndXJlOjc0MjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjczODg6IGNoZWNraW5nIGZv ciBnZm9ydHJhbgpjb25maWd1cmU6NzQyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NzUxODog Y2hlY2tpbmcgZm9yIGdjagpjb25maWd1cmU6NzU1MzogcmVzdWx0OiBubwpjb25maWd1cmU6 Nzc1NDogY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlCmNvbmZpZ3VyZTo3NzYwOiByZXN1bHQ6IGRvbmUKY29uZmlndXJlOjc3NzU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g IyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0 dXMgMS4xNi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LjIw NC05OGQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAg ICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJ R19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gemVuZGV2MQoKY29uZmln LnN0YXR1czo4NTY4OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOjg1Njg6IGNy ZWF0aW5nIHByZS1pbnN0LWVudgoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2 YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X0FNX1RFU1RfUlVO TkVSX1NIRUxMPScvYmluL3NoJwphY19jdl9idWlsZD0neDg2XzY0LXBjLWxpbnV4LWdudScK YWNfY3ZfY19jb21waWxlcl9nbnU9J3llcycKYWNfY3ZfY3h4X2NvbXBpbGVyX2dudT0neWVz JwphY19jdl9lbnZfQU1fVEVTVF9SVU5ORVJfU0hFTExfc2V0PScnCmFjX2N2X2Vudl9BTV9U RVNUX1JVTk5FUl9TSEVMTF92YWx1ZT0nJwphY19jdl9lbnZfQ0NDX3NldD0nJwphY19jdl9l bnZfQ0NDX3ZhbHVlPScnCmFjX2N2X2Vudl9DQ19zZXQ9J3NldCcKYWNfY3ZfZW52X0NDX3Zh bHVlPSdnY2M5JwphY19jdl9lbnZfQ0ZMQUdTX3NldD0nc2V0JwphY19jdl9lbnZfQ0ZMQUdT X3ZhbHVlPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwphY19jdl9lbnZfQ1BQ RkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfQ1hY RkxBR1Nfc2V0PSdzZXQnCmFjX2N2X2Vudl9DWFhGTEFHU192YWx1ZT0nLW1hcmNoPXpudmVy MSAtbXR1bmU9em52ZXIxIC1PMycKYWNfY3ZfZW52X0NYWF9zZXQ9J3NldCcKYWNfY3ZfZW52 X0NYWF92YWx1ZT0nZysrOScKYWNfY3ZfZW52X0Y3N19zZXQ9JycKYWNfY3ZfZW52X0Y3N192 YWx1ZT0nJwphY19jdl9lbnZfRkNGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0ZDRkxBR1NfdmFs dWU9JycKYWNfY3ZfZW52X0ZDX3NldD0nJwphY19jdl9lbnZfRkNfdmFsdWU9JycKYWNfY3Zf ZW52X0ZGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0ZGTEFHU192YWx1ZT0nJwphY19jdl9lbnZf R05VX0NDX3NldD0nJwphY19jdl9lbnZfR05VX0NDX3ZhbHVlPScnCmFjX2N2X2Vudl9HTlVf Q0ZMQUdTX3NldD0nJwphY19jdl9lbnZfR05VX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZf R05VX0NYWEZMQUdTX3NldD0nJwphY19jdl9lbnZfR05VX0NYWEZMQUdTX3ZhbHVlPScnCmFj X2N2X2Vudl9HTlVfQ1hYX3NldD0nJwphY19jdl9lbnZfR05VX0NYWF92YWx1ZT0nJwphY19j dl9lbnZfR05VX0Y3N19zZXQ9JycKYWNfY3ZfZW52X0dOVV9GNzdfdmFsdWU9JycKYWNfY3Zf ZW52X0dOVV9GQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfR05VX0ZDRkxBR1NfdmFsdWU9JycK YWNfY3ZfZW52X0dOVV9GQ19zZXQ9JycKYWNfY3ZfZW52X0dOVV9GQ192YWx1ZT0nJwphY19j dl9lbnZfR05VX0ZGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dOVV9GRkxBR1NfdmFsdWU9JycK YWNfY3ZfZW52X0dOVV9HQ0pGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dOVV9HQ0pGTEFHU192 YWx1ZT0nJwphY19jdl9lbnZfR05VX0dDSl9zZXQ9JycKYWNfY3ZfZW52X0dOVV9HQ0pfdmFs dWU9JycKYWNfY3ZfZW52X0xERkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVl PScnCmFjX2N2X2Vudl9MSUJTX3NldD0nJwphY19jdl9lbnZfTElCU192YWx1ZT0nJwphY19j dl9lbnZfYnVpbGRfYWxpYXNfc2V0PScnCmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0n JwphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFs dWU9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X3RhcmdldF9h bGlhc192YWx1ZT0nJwphY19jdl9ob3N0PSd4ODZfNjQtcGMtbGludXgtZ251JwphY19jdl9w YXRoX0VHUkVQPScvYmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfRkdSRVA9Jy9iaW4vZ3JlcCAt RicKYWNfY3ZfcGF0aF9HUkVQPScvYmluL2dyZXAnCmFjX2N2X3BhdGhfUEVSTD0nL3Vzci9i aW4vcGVybCcKYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9pbnN0YWxsIC1jJwphY19j dl9wYXRoX21rZGlyPScvYmluL21rZGlyJwphY19jdl9wcm9nX0FXSz0nZ2F3aycKYWNfY3Zf cHJvZ19MRVg9J2xleCcKYWNfY3ZfcHJvZ19URVg9J3RleCcKYWNfY3ZfcHJvZ19ZQUNDPSd5 YWNjJwphY19jdl9wcm9nX2NjX2MxMT0nJwphY19jdl9wcm9nX2NjX2c9J3llcycKYWNfY3Zf cHJvZ19jY19zdGRjPScnCmFjX2N2X3Byb2dfY3h4X2N4eDExPScnCmFjX2N2X3Byb2dfY3h4 X2N4eDk4PScnCmFjX2N2X3Byb2dfY3h4X2c9J3llcycKYWNfY3ZfcHJvZ19jeHhfc3RkY3h4 PScnCmFjX2N2X3Byb2dfbWFrZV9tYWtlX3NldD0neWVzJwphbV9jdl9hdXRvY29uZl9pbnN0 YWxsZWQ9J3llcycKYW1fY3ZfYXV0b2NvbmZfdmVyc2lvbj0neWVzJwphbV9jdl9hdXRvY29u Zl93b3Jrcz0neWVzJwphbV9jdl9tYWtlX3N1cHBvcnRfbmVzdGVkX3ZhcmlhYmxlcz0neWVz JwphbV9jdl9wcm9nX2NjX2Nfbz0neWVzJwphbV9jdl9wcm9nX2xuPSdsbicKCiMjIC0tLS0t LS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0t LS0tLS0tICMjCgpBQ0xPQ0FMPSciL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi9wcmUtaW5zdC1lbnYiIGFjbG9jYWwtMS4xNicKQU1UQVI9JyQke1RBUi10YXJ9JwpB TV9CQUNLU0xBU0g9J1wnCkFNX0RFRkFVTFRfVj0nJChBTV9ERUZBVUxUX1ZFUkJPU0lUWSkn CkFNX0RFRkFVTFRfVkVSQk9TSVRZPScwJwpBTV9URVNUX1JVTk5FUl9TSEVMTD0nL2Jpbi9z aCcKQU1fVj0nJChWKScKQVBJVkVSU0lPTj0nMS4xNicKQVVUT0NPTkY9JyR7U0hFTEx9IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL21pc3NpbmcgYXV0b2Nv bmYnCkFVVE9IRUFERVI9JyR7U0hFTEx9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvbGliL21pc3NpbmcgYXV0b2hlYWRlcicKQVVUT01BS0U9JyIvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3ByZS1pbnN0LWVudiIgYXV0b21ha2UtMS4x NicKQVdLPSdnYXdrJwpDQz0nZ2NjOScKQ0ZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16 bnZlcjEgLU8zJwpDUFBGTEFHUz0nJwpDWFg9J2crKzknCkNYWEZMQUdTPSctbWFyY2g9em52 ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwpDWUdQQVRIX1c9J2VjaG8nCkRFRlM9Jy1EUEFDS0FH RV9OQU1FPVwiR05VXCBBdXRvbWFrZVwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiYXV0b21ha2Vc IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMTYuMlwiIC1EUEFDS0FHRV9TVFJJTkc9XCJHTlVc IEF1dG9tYWtlXCAxLjE2LjJcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWF1dG9tYWtl QGdudS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9hdXRvbWFrZS9cIicKRUNIT19DPScnCkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0n L2Jpbi9ncmVwIC1FJwpFWEVFWFQ9J1VOS05PV04nCkY3Nz0nZmFsc2UnCkZDPSdmYWxzZScK RkNGTEFHUz0nJwpGRkxBR1M9JycKRkdSRVA9Jy9iaW4vZ3JlcCAtRicKR05VX0NDPSdnY2M5 JwpHTlVfQ0ZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwpHTlVfQ1hY PSdnKys5JwpHTlVfQ1hYRkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMn CkdOVV9GNzc9J2ZhbHNlJwpHTlVfRkM9J2ZhbHNlJwpHTlVfRkNGTEFHUz0nJwpHTlVfRkZM QUdTPScnCkdOVV9HQ0o9J2ZhbHNlJwpHTlVfR0NKRkxBR1M9JycKR1JFUD0nL2Jpbi9ncmVw JwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX1BST0dSQU09JyR7 SU5TVEFMTH0nCklOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JwpJTlNUQUxMX1NUUklQX1BS T0dSQU09JyQoaW5zdGFsbF9zaCkgLWMgLXMnCkxERkxBR1M9JycKTEVYPSdsZXgnCkxJQk9C SlM9JycKTElCUz0nJwpMTj0nbG4nCkxOX1M9J2xuIC1zJwpMVExJQk9CSlM9JycKTUFLRUlO Rk89JyR7U0hFTEx9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGli L21pc3NpbmcgbWFrZWluZm8nCk1LRElSX1A9Jy9iaW4vbWtkaXIgLXAnCk1PRElGSUNBVElP Tl9ERUxBWT0nMicKT0JKRVhUPSdVTktOT1dOJwpQQUNLQUdFPSdhdXRvbWFrZScKUEFDS0FH RV9CVUdSRVBPUlQ9J2J1Zy1hdXRvbWFrZUBnbnUub3JnJwpQQUNLQUdFX05BTUU9J0dOVSBB dXRvbWFrZScKUEFDS0FHRV9TVFJJTkc9J0dOVSBBdXRvbWFrZSAxLjE2LjInClBBQ0tBR0Vf VEFSTkFNRT0nYXV0b21ha2UnClBBQ0tBR0VfVVJMPSdodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2F1dG9tYWtlLycKUEFDS0FHRV9WRVJTSU9OPScxLjE2LjInClBBVEhfU0VQQVJB VE9SPSc6JwpQRVJMPScvdXNyL2Jpbi9wZXJsJwpSRUxFQVNFX1lFQVI9JzIwMjAnClNFVF9N QUtFPScnClNIRUxMPScvYmluL3NoJwpTVFJJUD0nJwpURVg9J3RleCcKVkVSU0lPTj0nMS4x Ni4yJwpZQUNDPSd5YWNjJwphY19jdF9DQz0nJwphY19jdF9DWFg9JycKYWNfY3RfRjc3PScn CmFjX2N0X0ZDPScnCmFjX2N0X0dOVV9DQz0nJwphY19jdF9HTlVfQ1hYPScnCmFjX2N0X0dO VV9GNzc9JycKYWNfY3RfR05VX0ZDPScnCmFjX2N0X0dOVV9HQ0o9JycKYW1fQVVUT0NPTkY9 J2F1dG9jb25mJwphbV9BVVRPSEVBREVSPSdhdXRvaGVhZGVyJwphbV9BVVRPTTRURT0nYXV0 b200dGUnCmFtX0FVVE9SRUNPTkY9J2F1dG9yZWNvbmYnCmFtX0FVVE9VUERBVEU9J2F1dG91 cGRhdGUnCmFtX19FWEVFWFRfRkFMU0U9JyMnCmFtX19FWEVFWFRfVFJVRT0nJwphbV9faXNy Yz0nJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFtX190YXI9JyQke1RBUi10YXJ9IGNob2YgLSAi JCR0YXJkaXIiJwphbV9fdW50YXI9JyQke1RBUi10YXJ9IHhmIC0nCmFtX2NhbmRpZGF0ZV9z aD0nJwphbWRpcj0nJHtwa2d2ZGF0YWRpcn0vYW0nCmF1dG9tYWtlX2FjZGlyPScke2RhdGFk aXJ9L2FjbG9jYWwtMS4xNicKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSd4 ODZfNjQtcGMtbGludXgtZ251JwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J3g4Nl82NCcK YnVpbGRfb3M9J2xpbnV4LWdudScKYnVpbGRfdmVuZG9yPSdwYycKZGF0YWRpcj0nJHtkYXRh cm9vdGRpcn0nCmRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCmRvY2Rpcj0nJHtkYXRh cm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2RvY2Rpcn0nCmV4 ZWNfcHJlZml4PScke3ByZWZpeH0nCmhvc3Q9J3g4Nl82NC1wYy1saW51eC1nbnUnCmhvc3Rf YWxpYXM9JycKaG9zdF9jcHU9J3g4Nl82NCcKaG9zdF9vcz0nbGludXgtZ251Jwpob3N0X3Zl bmRvcj0ncGMnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2lu Y2x1ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmluc3RhbGxfc2g9JyR7U0hF TEx9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2luc3RhbGwt c2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJl Zml4fS9saWJleGVjJwpsb2NhbGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxz dGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicKbWFuZGlyPScke2RhdGFyb290ZGlyfS9tYW4nCm1r ZGlyX3A9JyQoTUtESVJfUCknCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKcGRmZGly PScke2RvY2Rpcn0nCnBrZ3ZkYXRhZGlyPScke2RhdGFkaXJ9L2F1dG9tYWtlLTEuMTYnCnBy ZWZpeD0nL3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJwpwc2Rp cj0nJHtkb2NkaXJ9JwpyZXF1aXJlZF9hdXRvY29uZl92ZXJzaW9uPScyLjY1JwpydW5zdGF0 ZWRpcj0nJHtsb2NhbHN0YXRlZGlyfS9ydW4nCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3Ni aW4nCnNjcmlwdGRpcj0nJHtwa2d2ZGF0YWRpcn0nCnNoYXJlZHN0YXRlZGlyPScke3ByZWZp eH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwpzeXN0ZW1fYWNkaXI9JyR7ZGF0 YWRpcn0vYWNsb2NhbCcKdGFyZ2V0X2FsaWFzPScnCgojIyAtLS0tLS0tLS0tLSAjIwojIyBj b25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMuaCAqLwojZGVm aW5lIFBBQ0tBR0VfTkFNRSAiR05VIEF1dG9tYWtlIgojZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiYXV0b21ha2UiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjE2LjIiCiNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBBdXRvbWFrZSAxLjE2LjIiCiNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1hdXRvbWFrZUBnbnUub3JnIgojZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9tYWtlLyIKCmNvbmZpZ3VyZTogZXhp dCAwCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0 YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBl eHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdh cwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9u IGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURF UlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAu L2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21h a2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1 dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAg Q09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktT ICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxl PS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5p bmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhp cyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2 LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYu ICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAg Q09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1B TkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMK IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBi eSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0 ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQg bGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAg Q09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5z dGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmln LnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIu NjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJ TEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAg Q09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHpl bmRldjEKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmln LnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdh cyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNo IHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0 aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hF QURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAg JCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0 b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05V IEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMK CiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJ TktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1m aWxlPS0KCm9uIHplbmRldjEKCisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvYmluL2FjbG9jYWwtMS4xNgojIS91c3IvYmluL3BlcmwgLXcKIyBhY2xvY2Fs IC0gY3JlYXRlIGFjbG9jYWwubTQgYnkgc2Nhbm5pbmcgY29uZmlndXJlLmFjICAgICAgLSot IHBlcmwgLSotCiMgR2VuZXJhdGVkIGZyb20gYmluL2FjbG9jYWwuaW47IGRvIG5vdCBlZGl0 IGJ5IGhhbmQuCiMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCgojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91 ciBvcHRpb24pCiMgYW55IGxhdGVyIHZlcnNpb24uCgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKIyBXcml0dGVuIGJ5IFRv bSBUcm9tZXkgPHRyb21leUByZWRoYXQuY29tPiwgYW5kCiMgQWxleGFuZHJlIER1cmV0LUx1 dHogPGFkbEBnbnUub3JnPi4KCkJFR0lOCnsKICB1bnNoaWZ0IChASU5DLCAnL3Vzci9sb2Nh bC9zaGFyZS9hdXRvbWFrZS0xLjE2JykKICAgIHVubGVzcyAkRU5We0FVVE9NQUtFX1VOSU5T VEFMTEVEfTsKfQoKdXNlIHN0cmljdDsKCnVzZSBBdXRvbWFrZTo6Q29uZmlnOwp1c2UgQXV0 b21ha2U6OkdlbmVyYWw7CnVzZSBBdXRvbWFrZTo6Q29uZmlndXJlX2FjOwp1c2UgQXV0b21h a2U6OkNoYW5uZWxzOwp1c2UgQXV0b21ha2U6OkNoYW5uZWxEZWZzOwp1c2UgQXV0b21ha2U6 OlhGaWxlOwp1c2UgQXV0b21ha2U6OkZpbGVVdGlsczsKdXNlIEZpbGU6OkJhc2VuYW1lOwp1 c2UgRmlsZTo6UGF0aCAoKTsKCiMgU29tZSBnbG9iYWxzLgoKIyBTdXBwb3J0IEFDX0NPTkZJ R19NQUNST19ESVJTIGFsc28gd2l0aCBvbGRlciBhdXRvY29uZi4KIyBGSVhNRTogVG8gYmUg cmVtb3ZlZCBpbiBBdXRvbWFrZSAyLjAsIG9uY2Ugd2UgY2FuIGFzc3VtZSBhdXRvY29uZgoj ICAgICAgICAyLjcwIG9yIGxhdGVyLgojIEZJWE1FOiBrZWVwIGluIHN5bmMgd2l0aCAnaW50 ZXJuYWwvYWMtY29uZmlnLW1hY3JvLWRpcnMubTQnLgpteSAkYWNfY29uZmlnX21hY3JvX2Rp cnNfZmFsbGJhY2sgPQogICdtNF9pZm5kZWYoW0FDX0NPTkZJR19NQUNST19ESVJTXSwgWycg LgogICAgJ200X2RlZnVuKFtfQU1fQ09ORklHX01BQ1JPX0RJUlNdLCBbXSknIC4KICAgICdt NF9kZWZ1bihbQUNfQ09ORklHX01BQ1JPX0RJUlNdLCBbX0FNX0NPTkZJR19NQUNST19ESVJT KCRAKV0pJyAuCiAgJ10pJzsKCiMgV2UgZG8gbm90IG9wZXJhdGUgaW4gdGhyZWFkZWQgbW9k ZS4KJHBlcmxfdGhyZWFkcyA9IDA7CgojIEluY2x1ZGUgcGF0aHMgZm9yIHNlYXJjaGluZyBt YWNyb3MuICBXZSBzZWFyY2ggbWFjcm9zIGluIHRoaXMgb3JkZXI6CiMgdXNlci1zdXBwbGll ZCBkaXJlY3RvcmllcyBmaXJzdCwgdGhlbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhl CiMgYXV0b21ha2UgbWFjcm9zLCBhbmQgZmluYWxseSB0aGUgc3lzdGVtLXdpZGUgZGlyZWN0 b3JpZXMgZm9yCiMgdGhpcmQtcGFydHkgbWFjcm9zLgojIEB1c2VyX2luY2x1ZGVzIGNhbiBi ZSBhdWdtZW50ZWQgd2l0aCAtSSBvciBBQ19DT05GSUdfTUFDUk9fRElSUy4KIyBAYXV0b21h a2VfaW5jbHVkZXMgY2FuIGJlIHJlc2V0IHdpdGggdGhlICctLWF1dG9tYWtlLWFjZGlyJyBv cHRpb24uCiMgQHN5c3RlbV9pbmNsdWRlcyBjYW4gYmUgYXVnbWVudGVkIHdpdGggdGhlICdk aXJsaXN0JyBmaWxlIG9yIHRoZQojIEFDTE9DQUxfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJs ZSwgYW5kIHJlc2V0IHdpdGggdGhlICctLXN5c3RlbS1hY2RpcicKIyBvcHRpb24uCm15IEB1 c2VyX2luY2x1ZGVzID0gKCk7Cm15IEBhdXRvbWFrZV9pbmNsdWRlcyA9ICgnL3Vzci9sb2Nh bC9zaGFyZS9hY2xvY2FsLScgLiAkQVBJVkVSU0lPTik7Cm15IEBzeXN0ZW1faW5jbHVkZXMg PSAoJy91c3IvbG9jYWwvc2hhcmUvYWNsb2NhbCcpOwoKIyBXaGV0aGVyIHdlIHNob3VsZCBj b3B5IE00IGZpbGUgaW4gJHVzZXJfaW5jbHVkZXNbMF0uCm15ICRpbnN0YWxsID0gMDsKCiMg LS1kaWZmCm15IEBkaWZmX2NvbW1hbmQ7CgojIC0tZHJ5LXJ1bgpteSAkZHJ5X3J1biA9IDA7 CgojIGNvbmZpZ3VyZS5hYyBvciBjb25maWd1cmUuaW4uCm15ICRjb25maWd1cmVfYWM7Cgoj IE91dHB1dCBmaWxlIG5hbWUuCm15ICRvdXRwdXRfZmlsZSA9ICdhY2xvY2FsLm00JzsKCiMg T3B0aW9uIC0tZm9yY2UuCm15ICRmb3JjZV9vdXRwdXQgPSAwOwoKIyBNb2RpZmljYXRpb24g dGltZSBvZiB0aGUgeW91bmdlc3QgZGVwZW5kZW5jeS4KbXkgJGdyZWF0ZXN0X210aW1lID0g MDsKCiMgV2hpY2ggbWFjcm9zIGhhdmUgYmVlbiBzZWVuLgpteSAlbWFjcm9fc2VlbiA9ICgp OwoKIyBSZW1lbWJlciB0aGUgb3JkZXIgaW50byB3aGljaCB3ZSBzY2FubmVkIHRoZSBmaWxl cy4KIyBJdCdzIGltcG9ydGFudCB0byBvdXRwdXQgdGhlIGNvbnRlbnRzIG9mIGFjbG9jYWwu bTQgaW4gdGhlIG9wcG9zaXRlIG9yZGVyLgojIChEZWZpbml0aW9ucyBpbiBmaXJzdCBmaWxl cyB3ZSBoYXZlIHNjYW5uZWQgc2hvdWxkIG92ZXJyaWRlIHRob3NlIGZyb20KIyBsYXRlciBm aWxlcy4gIFNvIHRoZXkgbXVzdCBhcHBlYXIgbGFzdCBpbiB0aGUgb3V0cHV0LikKbXkgQGZp bGVfb3JkZXIgPSAoKTsKCiMgTWFwIG1hY3JvIG5hbWVzIHRvIGZpbGUgbmFtZXMuCm15ICVt YXAgPSAoKTsKCiMgRGl0dG8sIGJ1dCByZWNvcmRzIHRoZSBsYXN0IGRlZmluaXRpb24gb2Yg ZWFjaCBtYWNybyBhcyByZXR1cm5lZCBieSAtLXRyYWNlLgpteSAlbWFwX3RyYWNlZF9kZWZz ID0gKCk7CgojIE1hcCBiYXNlbmFtZXMgdG8gbWFjcm8gbmFtZXMuCm15ICVpbnZtYXAgPSAo KTsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gZmlsZSBjb250ZW50cy4KbXkgJWZpbGVfY29udGVu dHMgPSAoKTsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gZmlsZSB0eXBlcy4KbXkgJWZpbGVfdHlw ZSA9ICgpOwp1c2UgY29uc3RhbnQgRlRfVVNFUiA9PiAxOwp1c2UgY29uc3RhbnQgRlRfQVVU T01BS0UgPT4gMjsKdXNlIGNvbnN0YW50IEZUX1NZU1RFTSA9PiAzOwoKIyBNYXAgZmlsZSBu YW1lcyB0byBpbmNsdWRlZCBmaWxlcyAodHJhbnNpdGl2ZWx5IGNsb3NlZCkuCm15ICVmaWxl X2luY2x1ZGVzID0gKCk7CgojIEZpbGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGFkZGVk LgpteSAlZmlsZV9hZGRlZCA9ICgpOwoKIyBGaWxlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVu IHNjYW5uZWQuCm15ICVzY2FubmVkX2NvbmZpZ3VyZV9kZXAgPSAoKTsKCiMgU2VyaWFsIG51 bWJlcnMsIGZvciBmaWxlcyB0aGF0IGhhdmUgb25lLgojIFRoZSBrZXkgaXMgdGhlIGJhc2Vu YW1lIG9mIHRoZSBmaWxlLAojIHRoZSB2YWx1ZSBpcyB0aGUgc2VyaWFsIG51bWJlciByZXBy ZXNlbnRlZCBhcyBhIGxpc3QuCm15ICVzZXJpYWwgPSAoKTsKCiMgTWF0Y2hlcyBhIG1hY3Jv IGRlZmluaXRpb24uCiMgICBBQ19ERUZVTihbbWFjcm9uYW1lXSwgLi4uKQojIG9yCiMgICBB Q19ERUZVTihtYWNyb25hbWUsIC4uLikKIyBXaGVuIG1hY3JvbmFtZSBpcyAnWyctcXVvdGVk ICwgd2UgYWNjZXB0IGFueSBjaGFyYWN0ZXIgaW4gdGhlIG5hbWUsCiMgZXhjZXB0ICddJy4g IE90aGVyd2lzZSBtYWNyb25hbWUgc3RvcHMgb24gdGhlIGZpcnN0ICddJywgJywnLCAnKScs CiMgb3IgJ1xuJyBlbmNvdW50ZXJlZC4KbXkgJGFjX2RlZnVuX3J4ID0KICAiKD86QVVfQUxJ QVN8QVtDVV1fREVGVU58QUNfREVGVU5fT05DRSlcXCgoPzpcXFsoW15dXSspXFxdfChbXl0s KVxuXSspKSI7CgojIE1hdGNoZXMgYW4gQUNfUkVRVUlSRSBsaW5lLgpteSAkYWNfcmVxdWly ZV9yeCA9ICJBQ19SRVFVSVJFXFwoKD86XFxbKFteXV0rKVxcXXwoW15dLClcbl0rKSlcXCki OwoKIyBNYXRjaGVzIGFuIG00X2luY2x1ZGUgbGluZS4KbXkgJG00X2luY2x1ZGVfcnggPSAi KG00X3xtNF9zfHMpaW5jbHVkZVxcKCg/OlxcWyhbXl1dKylcXF18KFteXSwpXG5dKykpXFwp IjsKCiMgTWF0Y2ggYSBzZXJpYWwgbnVtYmVyLgpteSAkc2VyaWFsX2xpbmVfcnggPSAnXiNc cypzZXJpYWxccysoXFMqKSc7Cm15ICRzZXJpYWxfbnVtYmVyX3J4ID0gJ15cZCsoPzpcLlxk KykqJCc7CgojIEF1dG9jb25mIHZlcnNpb24uICBUaGlzIHZhcmlhYmxlIGlzIHNldCBieSAn dHJhY2VfdXNlZF9tYWNyb3MnLgpteSAkYWNfdmVyc2lvbjsKCiMgVXNlciBkaXJlY3Rvcnkg Y29udGFpbmluZyBleHRyYSBtNCBmaWxlcyBmb3IgbWFjcm9zIGRlZmluaXRpb24sCiMgYXMg ZXh0cmFjdGVkIGZyb20gY2FsbHMgdG8gdGhlIG1hY3JvIEFDX0NPTkZJR19NQUNST19ESVJT LgojIFRoaXMgdmFyaWFibGUgaXMgdXBkYXRlZCBieSAndHJhY2VfdXNlZF9tYWNyb3MnLgpt eSBAYWNfY29uZmlnX21hY3JvX2RpcnM7CgojIElmIHNldCwgbmFtZXMgYSB0ZW1wb3Jhcnkg ZmlsZSB0aGF0IG11c3QgYmUgZXJhc2VkIG9uIGFibm9ybWFsIGV4aXQuCm15ICRlcmFzZV9t ZTsKCiMgQ29uc3RhbnRzIGZvciB0aGUgJEVSUl9MRVZFTCBwYXJhbWV0ZXIgb2YgdGhlICdz Y2FuX200X2RpcnMnIGZ1bmN0aW9uLgp1c2UgY29uc3RhbnQgU0NBTl9NNF9ESVJTX1NJTEVO VCA9PiAwOwp1c2UgY29uc3RhbnQgU0NBTl9NNF9ESVJTX1dBUk4gPT4gMTsKdXNlIGNvbnN0 YW50IFNDQU5fTTRfRElSU19FUlJPUiA9PiAyOwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBQcm90b3R5cGVz IGZvciBhbGwgc3Vicm91dGluZXMuCgpzdWIgYWRkX2ZpbGUgKCQpOwpzdWIgYWRkX21hY3Jv ICgkKTsKc3ViIGNoZWNrX2FjaW5jbHVkZSAoKTsKc3ViIGluc3RhbGxfZmlsZSAoJCQpOwpz dWIgbGlzdF9jb21wYXJlIChcQFxAKTsKc3ViIHBhcnNlX0FDTE9DQUxfUEFUSCAoKTsKc3Vi IHBhcnNlX2FyZ3VtZW50cyAoKTsKc3ViIHJlc2V0X21hcHMgKCk7CnN1YiBzY2FuX2NvbmZp Z3VyZSAoKTsKc3ViIHNjYW5fY29uZmlndXJlX2RlcCAoJCk7CnN1YiBzY2FuX2ZpbGUgKCQk JCk7CnN1YiBzY2FuX200X2RpcnMgKCQkQCk7CnN1YiBzY2FuX200X2ZpbGVzICgpOwpzdWIg c3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICglKTsKc3ViIHRyYWNlX3VzZWRfbWFjcm9zICgp OwpzdWIgdW5saW5rX3RtcCAoOyQpOwpzdWIgdXNhZ2UgKCQpOwpzdWIgdmVyc2lvbiAoKTsK c3ViIHdyaXRlX2FjbG9jYWwgKCRAKTsKc3ViIHhta2Rpcl9wICgkKTsKCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiMgRXJhc2UgdGVtcG9yYXJ5IGZpbGUgRVJBU0VfTUUuICBIYW5kbGUgc2lnbmFscy4Kc3Vi IHVubGlua190bXAgKDskKQp7CiAgbXkgKCRzaWcpID0gQF87CgogIGlmICgkc2lnKQogICAg ewogICAgICB2ZXJiICJjYXVnaHQgU0lHJHNpZywgYmFpbGluZyBvdXQiOwogICAgfQogIGlm IChkZWZpbmVkICRlcmFzZV9tZSAmJiAtZSAkZXJhc2VfbWUgJiYgIXVubGluayAoJGVyYXNl X21lKSkKICAgIHsKICAgICAgZmF0YWwgImNvdWxkIG5vdCByZW1vdmUgJyRlcmFzZV9tZSc6 ICQhIjsKICAgIH0KICB1bmRlZiAkZXJhc2VfbWU7CgogICMgcmVyYWlzZSBkZWZhdWx0IGhh bmRsZXIuCiAgaWYgKCRzaWcpCiAgICB7CiAgICAgICRTSUd7JHNpZ30gPSAnREVGQVVMVCc7 CiAgICAgIGtpbGwgJHNpZyA9PiAkJDsKICAgIH0KfQoKJFNJR3snSU5UJ30gPSAkU0lHeydU RVJNJ30gPSAkU0lHeydRVUlUJ30gPSAkU0lHeydIVVAnfSA9ICd1bmxpbmtfdG1wJzsKRU5E IHsgdW5saW5rX3RtcCB9CgpzdWIgeG1rZGlyX3AgKCQpCnsKICBteSAkZGlyID0gc2hpZnQ7 CiAgbG9jYWwgJEAgPSB1bmRlZjsKICByZXR1cm4KICAgIGlmIC1kICRkaXIgb3IgZXZhbCB7 IEZpbGU6OlBhdGg6Om1rcGF0aCAkZGlyIH07CiAgY2hvbXAgJEA7CiAgJEAgPX4gcy9ccyth dFxzLipcYmxpbmVcc1xkKy4qJC8vOwogIGZhdGFsICJjb3VsZCBub3QgY3JlYXRlIGRpcmVj dG9yeSAnJGRpcic6ICRAIjsKfQoKIyBDaGVjayBtYWNyb3MgaW4gYWNpbmNsdWRlLm00LiAg SWYgb25lIGlzIG5vdCB1c2VkLCB3YXJuLgpzdWIgY2hlY2tfYWNpbmNsdWRlICgpCnsKICBm b3JlYWNoIG15ICRrZXkgKGtleXMgJW1hcCkKICAgIHsKICAgICAgIyBGSVhNRTogc2hvdWxk IHByaW50IGxpbmUgbnVtYmVyIG9mIGFjaW5jbHVkZS5tNC4KICAgICAgbXNnICgnc3ludGF4 JywgIm1hY3JvICcka2V5JyBkZWZpbmVkIGluIGFjaW5jbHVkZS5tNCBidXQgbmV2ZXIgdXNl ZCIpCglpZiAkbWFweyRrZXl9IGVxICdhY2luY2x1ZGUubTQnICYmICEgZXhpc3RzICRtYWNy b19zZWVueyRrZXl9OwogICAgfQp9CgpzdWIgcmVzZXRfbWFwcyAoKQp7CiAgJGdyZWF0ZXN0 X210aW1lID0gMDsKICAlbWFjcm9fc2VlbiA9ICgpOwogIEBmaWxlX29yZGVyID0gKCk7CiAg JW1hcCA9ICgpOwogICVtYXBfdHJhY2VkX2RlZnMgPSAoKTsKICAlZmlsZV9jb250ZW50cyA9 ICgpOwogICVmaWxlX3R5cGUgPSAoKTsKICAlZmlsZV9pbmNsdWRlcyA9ICgpOwogICVmaWxl X2FkZGVkID0gKCk7CiAgJXNjYW5uZWRfY29uZmlndXJlX2RlcCA9ICgpOwogICVpbnZtYXAg PSAoKTsKICAlc2VyaWFsID0gKCk7CiAgdW5kZWYgJnNlYXJjaDsKfQoKIyBpbnN0YWxsX2Zp bGUgKCRTUkMsICRERVNURElSKQpzdWIgaW5zdGFsbF9maWxlICgkJCkKewogIG15ICgkc3Jj LCAkZGVzdGRpcikgPSBAXzsKICBteSAkZGVzdCA9ICRkZXN0ZGlyIC4gIi8iIC4gYmFzZW5h bWUgKCRzcmMpOwogIG15ICRkaWZmX2Rlc3Q7CgogIHZlcmIgImluc3RhbGxpbmcgJHNyYyB0 byAkZGVzdCI7CgogIGlmICgkZm9yY2Vfb3V0cHV0CiAgICAgIHx8ICFleGlzdHMgJGZpbGVf Y29udGVudHN7JGRlc3R9CiAgICAgIHx8ICRmaWxlX2NvbnRlbnRzeyRzcmN9IG5lICRmaWxl X2NvbnRlbnRzeyRkZXN0fSkKICAgIHsKICAgICAgaWYgKC1lICRkZXN0KQoJewoJICBtc2cg J25vdGUnLCAib3ZlcndyaXRpbmcgJyRkZXN0JyB3aXRoICckc3JjJyI7CgkgICRkaWZmX2Rl c3QgPSAkZGVzdDsKCX0KICAgICAgZWxzZQoJewoJICBtc2cgJ25vdGUnLCAiaW5zdGFsbGlu ZyAnJGRlc3QnIGZyb20gJyRzcmMnIjsKCX0KCiAgICAgIGlmIChAZGlmZl9jb21tYW5kKQoJ ewoJICBpZiAoISBkZWZpbmVkICRkaWZmX2Rlc3QpCgkgICAgewoJICAgICAgIyAkZGVzdCBk b2VzIG5vdCBleGlzdC4gIFdlIGNyZWF0ZSBhbiBlbXB0eSBvbmUganVzdCB0bwoJICAgICAg IyBydW4gZGlmZiwgYW5kIHdlIGVyYXNlIGl0IGFmdGVyd2FyZC4gIFVzaW5nIHRoZSByZWFs CgkgICAgICAjIHRoZSBkZXN0aW5hdGlvbiBmaWxlIChyYXRoZXIgdGhhbiBhIHRlbXBvcmFy eSBmaWxlKSBpcwoJICAgICAgIyBnb29kIHdoZW4gZGlmZiBpcyBydW4gd2l0aCBvcHRpb25z IHRoYXQgZGlzcGxheSB0aGUKCSAgICAgICMgZmlsZSBuYW1lLgoJICAgICAgIwoJICAgICAg IyBJZiBjcmVhdGluZyAkZGVzdCBmYWlscywgZmFsbCBiYWNrIHRvIC9kZXYvbnVsbC4gIEF0 CgkgICAgICAjIGxlYXN0IG9uZSBkaWZmIGltcGxlbWVudGF0aW9uIChUcnU2NCdzKSBjYW5u b3QgZGVhbAoJICAgICAgIyB3aXRoIC9kZXYvbnVsbC4gIEhvd2V2ZXIgd29ya2luZyBhcm91 bmQgdGhpcyBpcyBub3QKCSAgICAgICMgd29ydGggdGhlIHRyb3VibGUgc2luY2Ugbm9ib2R5 IHJ1biBhY2xvY2FsIG9uIGEKCSAgICAgICMgcmVhZC1vbmx5IHRyZWUgYW55d2F5LgoJICAg ICAgJGVyYXNlX21lID0gJGRlc3Q7CgkgICAgICBteSAkZiA9IG5ldyBJTzo6RmlsZSAiPiAk ZGVzdCI7CgkgICAgICBpZiAoISBkZWZpbmVkICRmKQoJCXsKCQkgIHVuZGVmICRlcmFzZV9t ZTsKCQkgICRkaWZmX2Rlc3QgPSAnL2Rldi9udWxsJzsKCQl9CgkgICAgICBlbHNlCgkJewoJ CSAgJGRpZmZfZGVzdCA9ICRkZXN0OwoJCSAgJGYtPmNsb3NlOwoJCX0KCSAgICB9CgkgIG15 IEBjbWQgPSAoQGRpZmZfY29tbWFuZCwgJGRpZmZfZGVzdCwgJHNyYyk7CgkgICQhID0gMDsK CSAgdmVyYiAicnVubmluZzogQGNtZCI7CgkgIG15ICRyZXMgPSBzeXN0ZW0gKEBjbWQpOwoJ ICBBdXRvbWFrZTo6RmlsZVV0aWxzOjpoYW5kbGVfZXhlY19lcnJvcnMgIkBjbWQiLCAxCgkg ICAgaWYgJHJlczsKCSAgdW5saW5rX3RtcDsKCX0KICAgICAgZWxzaWYgKCEkZHJ5X3J1bikK CXsKICAgICAgICAgIHhta2Rpcl9wICgkZGVzdGRpcik7CgkgIHhzeXN0ZW0gKCdjcCcsICRz cmMsICRkZXN0KTsKCX0KICAgIH0KfQoKIyBDb21wYXJlIHR3byBsaXN0cyBvZiBudW1iZXJz LgpzdWIgbGlzdF9jb21wYXJlIChcQFxAKQp7CiAgbXkgQGwgPSBAeyRfWzBdfTsKICBteSBA ciA9IEB7JF9bMV19OwogIHdoaWxlICgxKQogICAgewogICAgICBpZiAoMCA9PSBAbCkKCXsK CSAgcmV0dXJuICgwID09IEByKSA/IDAgOiAtMTsKCX0KICAgICAgZWxzaWYgKDAgPT0gQHIp Cgl7CgkgIHJldHVybiAxOwoJfQogICAgICBlbHNpZiAoJGxbMF0gPCAkclswXSkKCXsKCSAg cmV0dXJuIC0xOwoJfQogICAgICBlbHNpZiAoJGxbMF0gPiAkclswXSkKCXsKCSAgcmV0dXJu IDE7Cgl9CiAgICAgIHNoaWZ0IEBsOwogICAgICBzaGlmdCBAcjsKICAgIH0KfQoKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwoKIyBzY2FuX200X2RpcnMoJFRZUEUsICRFUlJfTEVWRUwsIEBESVJTKQojIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU2NhbiBhbGwg TTQgZmlsZXMgaW5zdGFsbGVkIGluIEBESVJTIGZvciBuZXcgbWFjcm8gZGVmaW5pdGlvbnMu CiMgUmVnaXN0ZXIgZWFjaCBmaWxlIGFzIG9mIHR5cGUgJFRZUEUgKG9uZSBvZiB0aGUgRlRf KiBjb25zdGFudHMpLgojIElmIGEgZGlyZWN0b3J5IGluIEBESVJTIGNhbm5vdCBiZSByZWFk OgojICAtIGZhaWwgaGFyZCAgICAgICAgICAgICAgICBpZiAkRVJSX0xFVkVMID09IFNDQU5f TTRfRElSU19FUlJPUgojICAtIGp1c3QgcHJpbnQgYSB3YXJuaW5nICAgICBpZiAkRVJSX0xF VkVMID09IFNDQU5fTTRfRElSU19XQQojICAtIGNvbnRpbnVlIHNpbGVudGx5ICAgICAgICBp ZiAkRVJSX0xFVkVMID09IFNDQU5fTTRfRElSU19TSUxFTlQKc3ViIHNjYW5fbTRfZGlycyAo JCRAKQp7CiAgbXkgKCR0eXBlLCAkZXJyX2xldmVsLCBAZGlybGlzdCkgPSBAXzsKCiAgZm9y ZWFjaCBteSAkbTRkaXIgKEBkaXJsaXN0KQogICAgewogICAgICBpZiAoISBvcGVuZGlyIChE SVIsICRtNGRpcikpCgl7CgkgICMgVE9ETzogbWF5YmUgYXZvaWQgY29tcGxhaW5pbmcgb25s eSBpZiBlcnJubyA9PSBFTk9ORU5UPwogICAgICAgICAgbXkgJG1lc3NhZ2UgPSAiY291bGRu J3Qgb3BlbiBkaXJlY3RvcnkgJyRtNGRpcic6ICQhIjsKCiAgICAgICAgICBpZiAoJGVycl9s ZXZlbCA9PSBTQ0FOX000X0RJUlNfRVJST1IpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICBmYXRhbCAkbWVzc2FnZTsKICAgICAgICAgICAgfQogICAgICAgICAgZWxzaWYgKCRlcnJf bGV2ZWwgPT0gU0NBTl9NNF9ESVJTX1dBUk4pCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICBtc2cgKCd1bnN1cHBvcnRlZCcsICRtZXNzYWdlKTsKICAgICAgICAgICAgICBuZXh0Owog ICAgICAgICAgICB9CiAgICAgICAgICBlbHNpZiAoJGVycl9sZXZlbCA9PSBTQ0FOX000X0RJ UlNfU0lMRU5UKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgbmV4dDsgIyBTaWxlbnRs eSBpZ25vcmUuCiAgICAgICAgICAgIH0KICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewog ICAgICAgICAgICAgICBwcm9nX2Vycm9yICJpbnZhbGlkIFwkZXJyX2xldmVsIHZhbHVlICck ZXJyX2xldmVsJyI7CiAgICAgICAgICAgIH0KCX0KCiAgICAgICMgV2UgcmV2ZXJzZSB0aGUg ZGlyZWN0b3J5IGNvbnRlbnRzIHNvIHRoYXQgZm9vMi5tNCBnZXRzCiAgICAgICMgdXNlZCBp biBwcmVmZXJlbmNlIHRvIGZvbzEubTQuCiAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKHJldmVy c2Ugc29ydCBncmVwICghIC9eXC4vLCByZWFkZGlyIChESVIpKSkKCXsKCSAgIyBPbmx5IGV4 YW1pbmUgLm00IGZpbGVzLgoJICBuZXh0IHVubGVzcyAkZmlsZSA9fiAvXC5tNCQvOwoKCSAg IyBTa2lwIHNvbWUgZmlsZXMgd2hlbiBydW5uaW5nIG91dCBvZiBzcmNkaXIuCgkgIG5leHQg aWYgJGZpbGUgZXEgJ2FjbG9jYWwubTQnOwoKCSAgbXkgJGZ1bGxmaWxlID0gRmlsZTo6U3Bl Yy0+Y2Fub25wYXRoICgiJG00ZGlyLyRmaWxlIik7CgkgIHNjYW5fZmlsZSAoJHR5cGUsICRm dWxsZmlsZSwgJ2FjbG9jYWwnKTsKCX0KICAgICAgY2xvc2VkaXIgKERJUik7CiAgICB9Cn0K CiMgU2NhbiBhbGwgdGhlIGluc3RhbGxlZCBtNCBmaWxlcyBhbmQgY29uc3RydWN0IGEgbWFw LgpzdWIgc2Nhbl9tNF9maWxlcyAoKQp7CiAgIyBGaXJzdCwgc2NhbiBjb25maWd1cmUuYWMu ICBJdCBtYXkgY29udGFpbiBtYWNybyBkZWZpbml0aW9ucywKICAjIG9yIG1heSBpbmNsdWRl IG90aGVyIGZpbGVzIHRoYXQgZGVmaW5lIG1hY3Jvcy4KICBzY2FuX2ZpbGUgKEZUX1VTRVIs ICRjb25maWd1cmVfYWMsICdhY2xvY2FsJyk7CgogICMgVGhlbiwgc2NhbiBhY2luY2x1ZGUu bTQgaWYgaXQgZXhpc3RzLgogIGlmICgtZiAnYWNpbmNsdWRlLm00JykKICAgIHsKICAgICAg c2Nhbl9maWxlIChGVF9VU0VSLCAnYWNpbmNsdWRlLm00JywgJ2FjbG9jYWwnKTsKICAgIH0K CiAgIyBGaW5hbGx5LCBzY2FuIGFsbCBmaWxlcyBpbiBvdXIgc2VhcmNoIHBhdGhzLgoKICBp ZiAoQHVzZXJfaW5jbHVkZXMpCiAgICB7CiAgICAgICMgRG9uJ3QgZXhwbG9yZSB0aGUgc2Ft ZSBkaXJlY3RvcnkgbXVsdGlwbGUgdGltZXMuICBUaGlzIGlzIGhlcmUgbm90CiAgICAgICMg b25seSBmb3Igc3BlZWR1cCBwdXJwb3Nlcy4gIFdlIG5lZWQgdGhpcyB3aGVuIHRoZSB1c2Vy IGhhcyBlLmcuCiAgICAgICMgc3BlY2lmaWVkICdBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNCcg YW5kIGhhcyBhbHNvIHNldAogICAgICAjIEFDX0NPTkZJR19NQUNST19ESVJbU10oW200XSkg aW4gY29uZmlndXJlLmFjLiAgVGhpcyBtYWtlcyB0aGUgJ200JwogICAgICAjIGRpcmVjdG9y eSB0byBvY2N1ciB0d2ljZSBoZXJlIGFuZCBmYWlsIG9uIHRoZSBzZWNvbmQgY2FsbCB0bwog ICAgICAjIHNjYW5fbTRfZGlycyhbbTRdKSB3aGVuIHRoZSAnbTQnIGRpcmVjdG9yeSBkb2Vz bid0IGV4aXN0LgogICAgICAjIFRPRE86IFNob3VsZG4ndCB0aGVyZSBiZSByYXRoZXIgYSBj aGVjayBpbiBzY2FuX200X2RpcnMgZm9yCiAgICAgICMgICAgICAgQHVzZXJfaW5jbHVkZXNb MF0/CiAgICAgIEB1c2VyX2luY2x1ZGVzID0gdW5pcSBAdXNlcl9pbmNsdWRlczsKCiAgICAg ICMgRG9uJ3QgY29tcGxhaW4gaWYgdGhlIGZpcnN0IHVzZXIgZGlyZWN0b3J5IGRvZXNuJ3Qg ZXhpc3QsIGluIGNhc2UKICAgICAgIyB3ZSBuZWVkIHRvIGNyZWF0ZSBpdCBsYXRlciAoY2Fu IGhhcHBlbiBpZiAnLS1pbnN0YWxsJyB3YXMgZ2l2ZW4pLgogICAgICBzY2FuX200X2RpcnMg KEZUX1VTRVIsCiAgICAgICAgICAgICAgICAgICAgJGluc3RhbGwgPyBTQ0FOX000X0RJUlNf U0lMRU5UIDogU0NBTl9NNF9ESVJTX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgJHVzZXJf aW5jbHVkZXNbMF0pOwogICAgICBzY2FuX200X2RpcnMgKEZUX1VTRVIsCiAgICAgICAgICAg ICAgICAgICAgU0NBTl9NNF9ESVJTX0VSUk9SLAoJCSAgICBAdXNlcl9pbmNsdWRlc1sxLi4k I3VzZXJfaW5jbHVkZXNdKTsKICAgIH0KICBzY2FuX200X2RpcnMgKEZUX0FVVE9NQUtFLCBT Q0FOX000X0RJUlNfRVJST1IsIEBhdXRvbWFrZV9pbmNsdWRlcyk7CiAgc2Nhbl9tNF9kaXJz IChGVF9TWVNURU0sIFNDQU5fTTRfRElSU19FUlJPUiwgQHN5c3RlbV9pbmNsdWRlcyk7Cgog ICMgQ29uc3RydWN0IGEgbmV3IGZ1bmN0aW9uIHRoYXQgZG9lcyB0aGUgc2VhcmNoaW5nLiAg V2UgdXNlIGEKICAjIGZ1bmN0aW9uIChpbnN0ZWFkIG9mIGp1c3QgZXZhbHVhdGluZyAkc2Vh cmNoIGluIHRoZSBsb29wKSBzbyB0aGF0CiAgIyAiZGllIiBpcyBjb3JyZWN0bHkgYW5kIGVh c2lseSBwcm9wYWdhdGVkIGlmIHJ1bi4KICBteSAkc2VhcmNoID0gInN1YiBzZWFyY2gge1xu bXkgXCRmb3VuZCA9IDA7XG4iOwogIGZvcmVhY2ggbXkgJGtleSAocmV2ZXJzZSBzb3J0IGtl eXMgJW1hcCkKICAgIHsKICAgICAgJHNlYXJjaCAuPSAoJ2lmICgvXGJcUScgLiAka2V5IC4g J1xFKD8hXHcpLykgeyBhZGRfbWFjcm8gKCInIC4gJGtleQoJCSAgLiAnIik7ICRmb3VuZCA9 IDE7IH0nIC4gIlxuIik7CiAgICB9CiAgJHNlYXJjaCAuPSAicmV0dXJuIFwkZm91bmQ7XG59 O1xuIjsKICBldmFsICRzZWFyY2g7CiAgcHJvZ19lcnJvciAiJEBcbiBzZWFyY2ggaXMgJHNl YXJjaCIgaWYgJEA7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgQWRkIGEgbWFjcm8gdG8gdGhlIG91dHB1 dC4Kc3ViIGFkZF9tYWNybyAoJCkKewogIG15ICgkbWFjcm8pID0gQF87CgogICMgSWdub3Jl IHVua25vd24gcmVxdWlyZWQgbWFjcm9zLiAgRWl0aGVyIHRoZXkgYXJlIG5vdCByZWFsbHkK ICAjIG5lZWRlZCAoZS5nLiwgYSBjb25kaXRpb25hbCBBQ19SRVFVSVJFKSwgaW4gd2hpY2gg Y2FzZSBhY2xvY2FsCiAgIyBzaG91bGQgYmUgcXVpZXQsIG9yIHRoZXkgYXJlIG5lZWRlZCBh bmQgQXV0b2NvbmYgaXRzZWxmIHdpbGwKICAjIGNvbXBsYWluIHdoZW4gd2UgdHJhY2UgZm9y IG1hY3JvIHVzYWdlIGxhdGVyLgogIHJldHVybiB1bmxlc3MgZGVmaW5lZCAkbWFweyRtYWNy b307CgogIHZlcmIgInNhdyBtYWNybyAkbWFjcm8iOwogICRtYWNyb19zZWVueyRtYWNyb30g PSAxOwogIGFkZF9maWxlICgkbWFweyRtYWNyb30pOwp9CgojIHNjYW5fY29uZmlndXJlX2Rl cCAoJGZpbGUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTY2FuIGEgY29uZmln dXJlIGRlcGVuZGVuY3kgKGNvbmZpZ3VyZS5hYywgb3Igc2VwYXJhdGUgbTQgZmlsZXMpCiMg Zm9yIHVzZXMgb2Yga25vd24gbWFjcm9zIGFuZCBBQ19SRVFVSVJFcyBvZiBwb3NzaWJseSB1 bmtub3duIG1hY3Jvcy4KIyBSZWN1cnNpdmVseSBzY2FuIG00X2luY2x1ZGVkIGZpbGVzLgpz dWIgc2Nhbl9jb25maWd1cmVfZGVwICgkKQp7CiAgbXkgKCRmaWxlKSA9IEBfOwogICMgRG8g bm90IHNjYW4gYSBmaWxlIHR3aWNlLgogIHJldHVybiAoKQogICAgaWYgZXhpc3RzICRzY2Fu bmVkX2NvbmZpZ3VyZV9kZXB7JGZpbGV9OwogICRzY2FubmVkX2NvbmZpZ3VyZV9kZXB7JGZp bGV9ID0gMTsKCiAgbXkgJG10aW1lID0gbXRpbWUgJGZpbGU7CiAgJGdyZWF0ZXN0X210aW1l ID0gJG10aW1lIGlmICRncmVhdGVzdF9tdGltZSA8ICRtdGltZTsKCiAgbXkgJGNvbnRlbnRz ID0gZXhpc3RzICRmaWxlX2NvbnRlbnRzeyRmaWxlfSA/CiAgICAkZmlsZV9jb250ZW50c3sk ZmlsZX0gOiBjb250ZW50cyAkZmlsZTsKCiAgbXkgJGxpbmUgPSAwOwogIG15IEBybGlzdCA9 ICgpOwogIG15IEBpbGlzdCA9ICgpOwogIGZvcmVhY2ggKHNwbGl0ICgiXG4iLCAkY29udGVu dHMpKQogICAgewogICAgICArKyRsaW5lOwogICAgICAjIFJlbW92ZSBjb21tZW50cyBmcm9t IGN1cnJlbnQgbGluZS4KICAgICAgcy9cYmRubFxiLiokLy87CiAgICAgIHMvXCMuKiQvLzsK ICAgICAgIyBBdm9pZCBydW5uaW5nIGFsbCB0aGUgZm9sbG93aW5nIHJlZ2V4ZXMgb24gd2hp dGUgbGluZXMuCiAgICAgIG5leHQgaWYgL15ccyokLzsKCiAgICAgIHdoaWxlICgvJG00X2lu Y2x1ZGVfcngvZ28pCgl7CgkgIG15ICRpZmlsZSA9ICQyIHx8ICQzOwoJICAjIFNraXAgbWlz c2luZyAnc2luY2x1ZGUnZCBmaWxlcy4KCSAgbmV4dCBpZiAkMSBuZSAnbTRfJyAmJiAhIC1m ICRpZmlsZTsKCSAgcHVzaCBAaWxpc3QsICRpZmlsZTsKCX0KCiAgICAgIHdoaWxlICgvJGFj X3JlcXVpcmVfcngvZ28pCgl7CgkgIHB1c2ggKEBybGlzdCwgJDEgfHwgJDIpOwoJfQoKICAg ICAgIyBUaGUgc2VhcmNoIGZ1bmN0aW9uIGlzIGNvbnN0cnVjdGVkIGR5bmFtaWNhbGx5IGJ5 CiAgICAgICMgc2Nhbl9tNF9maWxlcy4gIFRoZSBsYXN0IHBhcmVudGhldGljYWwgbWF0Y2gg bWFrZXMgc3VyZSB3ZQogICAgICAjIGRvbid0IG1hdGNoIHRoaW5ncyB0aGF0IGxvb2sgbGlr ZSBtYWNybyBhc3NpZ25tZW50cyBvcgogICAgICAjIEFDX1NVQlNUcy4KICAgICAgaWYgKCEg JnNlYXJjaCAmJiAvKF58XHMrKShBTV9bQS1aMC05X10rKSgkfFteXF1cKT1BLVowLTlfXSkv KQoJewoJICAjIE1hY3JvIG5vdCBmb3VuZCwgYnV0IEFNXyBwcmVmaXggZm91bmQuCgkgICMg TWFrZSB0aGlzIGp1c3QgYSB3YXJuaW5nLCBiZWNhdXNlIHdlIGRvIG5vdCBrbm93IHdoZXRo ZXIKCSAgIyB0aGUgbWFjcm8gaXMgYWN0dWFsbHkgdXNlZCAoaXQgY291bGQgYmUgY2FsbGVk IGNvbmRpdGlvbmFsbHkpLgoJICBtc2cgKCd1bnN1cHBvcnRlZCcsICIkZmlsZTokbGluZSIs CgkgICAgICAgIm1hY3JvICckMicgbm90IGZvdW5kIGluIGxpYnJhcnkiKTsKCX0KICAgIH0K CiAgYWRkX21hY3JvICgkXykgZm9yZWFjaCAoQHJsaXN0KTsKICBzY2FuX2NvbmZpZ3VyZV9k ZXAgKCRfKSBmb3JlYWNoIEBpbGlzdDsKfQoKIyBhZGRfZmlsZSAoJEZJTEUpCiMgLS0tLS0t LS0tLS0tLS0tLQojIEFkZCAkRklMRSB0byBvdXRwdXQuCnN1YiBhZGRfZmlsZSAoJCkKewog IG15ICgkZmlsZSkgPSBAXzsKCiAgIyBPbmx5IGFkZCBhIGZpbGUgb25jZS4KICByZXR1cm4g aWYgKCRmaWxlX2FkZGVkeyRmaWxlfSk7CiAgJGZpbGVfYWRkZWR7JGZpbGV9ID0gMTsKCiAg c2Nhbl9jb25maWd1cmVfZGVwICRmaWxlOwp9CgojIFBvaW50IHRvIHRoZSBkb2N1bWVudGF0 aW9uIGZvciB1bmRlcnF1b3RlZCBBQ19ERUZVTiBvbmx5IG9uY2UuCm15ICR1bmRlcnF1b3Rl ZF9tYW51YWxfb25jZSA9IDA7CgojIHNjYW5fZmlsZSAoJFRZUEUsICRGSUxFLCAkV0hFUkUp CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTY2FuIGEgc2luZ2xlIE00 IGZpbGUgKCRGSUxFKSwgYW5kIGFsbCBmaWxlcyBpdCBpbmNsdWRlcy4KIyBSZXR1cm4gdGhl IGxpc3Qgb2YgaW5jbHVkZWQgZmlsZXMuCiMgJFRZUEUgaXMgb25lIG9mIEZUX1VTRVIsIEZU X0FVVE9NQUtFLCBvciBGVF9TWVNURU0sIGRlcGVuZGluZwojIG9uIHdoZXJlIHRoZSBmaWxl IGNvbWVzIGZyb20uCiMgJFdIRVJFIGlzIHRoZSBsb2NhdGlvbiB0byB1c2UgaW4gdGhlIGRp YWdub3N0aWMgaWYgdGhlIGZpbGUKIyBkb2VzIG5vdCBleGlzdC4Kc3ViIHNjYW5fZmlsZSAo JCQkKQp7CiAgbXkgKCR0eXBlLCAkZmlsZSwgJHdoZXJlKSA9IEBfOwogIG15ICRiYXNlbmFt ZSA9IGJhc2VuYW1lICRmaWxlOwoKICAjIERvIG5vdCBzY2FuIHRoZSBzYW1lIGZpbGUgdHdp Y2UuCiAgcmV0dXJuIEB7JGZpbGVfaW5jbHVkZXN7JGZpbGV9fSBpZiBleGlzdHMgJGZpbGVf aW5jbHVkZXN7JGZpbGV9OwogICMgUHJldmVudCBwb3RlbnRpYWwgaW5maW5pdGUgcmVjdXJz aW9uIChpZiB0d28gZmlsZXMgaW5jbHVkZSBlYWNoIG90aGVyKS4KICByZXR1cm4gKCkgaWYg ZXhpc3RzICRmaWxlX2NvbnRlbnRzeyRmaWxlfTsKCiAgdW5zaGlmdCBAZmlsZV9vcmRlciwg JGZpbGU7CgogICRmaWxlX3R5cGV7JGZpbGV9ID0gJHR5cGU7CgogIGZhdGFsICIkd2hlcmU6 IGZpbGUgJyRmaWxlJyBkb2VzIG5vdCBleGlzdCIgaWYgISAtZSAkZmlsZTsKCiAgbXkgJGZo ID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAkZmlsZTsKICBteSAkY29udGVudHMgPSAnJzsKICBt eSBAaW5jX2ZpbGVzID0gKCk7CiAgbXkgJWluY19saW5lcyA9ICgpOwoKICBteSAkZGVmdW5f c2VlbiA9IDA7CiAgbXkgJHNlcmlhbF9zZWVuID0gMDsKICBteSAkc2VyaWFsX29sZGVyID0g MDsKCiAgd2hpbGUgKCRfID0gJGZoLT5nZXRsaW5lKQogICAgewogICAgICAjIElnbm9yZSAn IyMnIGxpbmVzLgogICAgICBuZXh0IGlmIC9eIyMvOwoKICAgICAgJGNvbnRlbnRzIC49ICRf OwogICAgICBteSAkbGluZSA9ICRfOwoKICAgICAgaWYgKCRsaW5lID1+IC8kc2VyaWFsX2xp bmVfcngvZ28pCgl7CgkgIG15ICRudW1iZXIgPSAkMTsKCSAgaWYgKCRudW1iZXIgIX4gLyRz ZXJpYWxfbnVtYmVyX3J4L2dvKQoJICAgIHsKCSAgICAgIG1zZyAoJ3N5bnRheCcsICIkZmls ZTokLiIsCgkJICAgImlsbC1mb3JtZWQgc2VyaWFsIG51bWJlciAnJG51bWJlcicsICIKCQkg ICAuICJleHBlY3RpbmcgYSB2ZXJzaW9uIHN0cmluZyB3aXRoIG9ubHkgZGlnaXRzIGFuZCBk b3RzIik7CgkgICAgfQoJICBlbHNpZiAoJGRlZnVuX3NlZW4pCgkgICAgewoJICAgICAgIyBh Y2xvY2FsIHJlbW92ZXMgYWxsIGRlZmluaXRpb25zIGZyb20gTTQgZmlsZSB3aXRoIHRoZQoJ ICAgICAgIyBzYW1lIGJhc2VuYW1lIGlmIGEgZ3JlYXRlciBzZXJpYWwgbnVtYmVyIGlzIGZv dW5kLgoJICAgICAgIyBFbmNvdW50ZXJpbmcgYSBzZXJpYWwgYWZ0ZXIgc29tZSBtYWNyb3Mg d2lsbCB1bmRlZmluZQoJICAgICAgIyB0aGVzZSBtYWNyb3MuLi4KCSAgICAgIG1zZyAoJ3N5 bnRheCcsICIkZmlsZTokLiIsCgkJICAgJ3RoZSBzZXJpYWwgbnVtYmVyIG11c3QgYXBwZWFy IGJlZm9yZSBhbnkgbWFjcm8gZGVmaW5pdGlvbicpOwoJICAgIH0KCSAgIyBXZSByZWFsbHkg Y2FyZSBhYm91dCBzZXJpYWxzIG9ubHkgZm9yIG5vbi1hdXRvbWFrZSBtYWNyb3MKCSAgIyBh bmQgd2hlbiAtLWluc3RhbGwgaXMgdXNlZC4gIEJ1dCB0aGUgYWJvdmUgZGlhZ25vc3RpY3Mg YXJlCgkgICMgbWFkZSByZWdhcmRsZXNzIG9mIHRoaXMsIGJlY2F1c2Ugbm90IHVzaW5nIC0t aW5zdGFsbCBpcwoJICAjIG5vdCBhIHJlYXNvbiBub3QgdGhlIGZpeCBtYWNybyBmaWxlcy4K CSAgZWxzaWYgKCRpbnN0YWxsICYmICR0eXBlICE9IEZUX0FVVE9NQUtFKQoJICAgIHsKCSAg ICAgICRzZXJpYWxfc2VlbiA9IDE7CgkgICAgICBteSBAbmV3ID0gc3BsaXQgKC9cLi8sICRu dW1iZXIpOwoKCSAgICAgIHZlcmIgIiRmaWxlOiQuOiBzZXJpYWwgJG51bWJlciI7CgoJICAg ICAgaWYgKCFleGlzdHMgJHNlcmlhbHskYmFzZW5hbWV9CgkJICB8fCBsaXN0X2NvbXBhcmUg KEBuZXcsIEB7JHNlcmlhbHskYmFzZW5hbWV9fSkgPiAwKQoJCXsKCQkgICMgRGVsZXRlIGFu eSBkZWZpbml0aW9uIHdlIGtuZXcgZnJvbSB0aGUgb2xkIG1hY3JvLgoJCSAgZm9yZWFjaCBt eSAkZGVmIChAeyRpbnZtYXB7JGJhc2VuYW1lfX0pCgkJICAgIHsKCQkgICAgICB2ZXJiICIk ZmlsZTokLjogaWdub3JpbmcgcHJldmlvdXMgZGVmaW5pdGlvbiBvZiAkZGVmIjsKCQkgICAg ICBkZWxldGUgJG1hcHskZGVmfTsKCQkgICAgfQoJCSAgJGludm1hcHskYmFzZW5hbWV9ID0g W107CgkJICAkc2VyaWFseyRiYXNlbmFtZX0gPSBcQG5ldzsKCQl9CgkgICAgICBlbHNlCgkJ ewoJCSAgJHNlcmlhbF9vbGRlciA9IDE7CgkJfQoJICAgIH0KCX0KCiAgICAgICMgUmVtb3Zl IGNvbW1lbnRzIGZyb20gY3VycmVudCBsaW5lLgogICAgICAjIERvIG5vdCBkbyBpdCBlYXJs aWVyLCBiZWNhdXNlIHRoZSBzZXJpYWwgbGluZSBpcyBhIGNvbW1lbnQuCiAgICAgICRsaW5l ID1+IHMvXGJkbmxcYi4qJC8vOwogICAgICAkbGluZSA9fiBzL1wjLiokLy87CgogICAgICB3 aGlsZSAoJGxpbmUgPX4gLyRhY19kZWZ1bl9yeC9nbykKCXsKCSAgJGRlZnVuX3NlZW4gPSAx OwoJICBpZiAoISBkZWZpbmVkICQxKQoJICAgIHsKCSAgICAgIG1zZyAoJ3N5bnRheCcsICIk ZmlsZTokLiIsICJ1bmRlcnF1b3RlZCBkZWZpbml0aW9uIG9mICQyIgoJCSAgIC4gIlxuICBy dW4gaW5mbyBBdXRvbWFrZSAnRXh0ZW5kaW5nIGFjbG9jYWwnXG4iCgkJICAgLiAiICBvciBz ZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS9tYW51YWwvIgoJCSAg IC4gImF1dG9tYWtlLmh0bWwjRXh0ZW5kaW5nLWFjbG9jYWwiKQoJCXVubGVzcyAkdW5kZXJx dW90ZWRfbWFudWFsX29uY2U7CgkgICAgICAkdW5kZXJxdW90ZWRfbWFudWFsX29uY2UgPSAx OwoJICAgIH0KCgkgICMgSWYgdGhpcyBtYWNybyBkb2VzIG5vdCBoYXZlIGEgc2VyaWFsIGFu ZCB3ZSBoYXZlIGFscmVhZHkKCSAgIyBzZWVuIGEgbWFjcm8gd2l0aCB0aGUgc2FtZSBiYXNl bmFtZSBlYXJsaWVyLCB3ZSBzaG91bGQKCSAgIyBpZ25vcmUgdGhlIG1hY3JvIChkb24ndCBl eGl0IGltbWVkaWF0ZWx5IHNvIHdlIGNhbiBzdGlsbAoJICAjIGRpYWdub3NlIGxhdGVyICNz ZXJpYWwgbnVtYmVycyBhbmQgdW5kZXJxdW90ZWQgbWFjcm9zKS4KCSAgJHNlcmlhbF9vbGRl ciB8fD0gKCR0eXBlICE9IEZUX0FVVE9NQUtFCgkJCSAgICAgJiYgISRzZXJpYWxfc2VlbiAm JiBleGlzdHMgJHNlcmlhbHskYmFzZW5hbWV9KTsKCgkgIG15ICRtYWNybyA9ICQxIHx8ICQy OwoJICBpZiAoISRzZXJpYWxfb2xkZXIgJiYgIWRlZmluZWQgJG1hcHskbWFjcm99KQoJICAg IHsKCSAgICAgIHZlcmIgImZvdW5kIG1hY3JvICRtYWNybyBpbiAkZmlsZTogJC4iOwoJICAg ICAgJG1hcHskbWFjcm99ID0gJGZpbGU7CgkgICAgICBwdXNoIEB7JGludm1hcHskYmFzZW5h bWV9fSwgJG1hY3JvOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICMgTm90ZTogd2Ug dXNlZCB0byBnaXZlIGFuIGVycm9yIGhlcmUgaWYgd2Ugc2F3IGEKCSAgICAgICMgZHVwbGlj YXRlZCBtYWNyby4gIEhvd2V2ZXIsIHRoaXMgdHVybnMgb3V0IHRvIGJlCgkgICAgICAjIGV4 dHJlbWVseSB1bnBvcHVsYXIuICBJdCBjYXVzZXMgYWN0dWFsIHByb2JsZW1zIHdoaWNoCgkg ICAgICAjIGFyZSBoYXJkIHRvIHdvcmsgYXJvdW5kLCBlc3BlY2lhbGx5IHdoZW4geW91IG11 c3QKCSAgICAgICMgbWl4LWFuZC1tYXRjaCB0b29sIHZlcnNpb25zLgoJICAgICAgdmVyYiAi aWdub3JpbmcgbWFjcm8gJG1hY3JvIGluICRmaWxlOiAkLiI7CgkgICAgfQoJfQoKICAgICAg d2hpbGUgKCRsaW5lID1+IC8kbTRfaW5jbHVkZV9yeC9nbykKCXsKCSAgbXkgJGlmaWxlID0g JDIgfHwgJDM7CgkgICMgU2tpcCBtaXNzaW5nICdzaW5jbHVkZSdkIGZpbGVzLgoJICBuZXh0 IGlmICQxIG5lICdtNF8nICYmICEgLWYgJGlmaWxlOwoJICBwdXNoIChAaW5jX2ZpbGVzLCAk aWZpbGUpOwoJICAkaW5jX2xpbmVzeyRpZmlsZX0gPSAkLjsKCX0KICAgIH0KCiAgIyBJZ25v cmUgYW55IGZpbGUgdGhhdCBoYXMgYW4gb2xkIHNlcmlhbCAob3Igbm8gc2VyaWFsIGlmIHdl IGtub3cKICAjIGFub3RoZXIgb25lIHdpdGggYSBzZXJpYWwpLgogIHJldHVybiAoKQogICAg aWYgKCRzZXJpYWxfb2xkZXIgfHwKCSgkdHlwZSAhPSBGVF9BVVRPTUFLRSAmJiAhJHNlcmlh bF9zZWVuICYmIGV4aXN0cyAkc2VyaWFseyRiYXNlbmFtZX0pKTsKCiAgJGZpbGVfY29udGVu dHN7JGZpbGV9ID0gJGNvbnRlbnRzOwoKICAjIEZvciBzb21lIHJlYXNvbiBJIGRvbid0IHVu ZGVyc3RhbmQsIGl0IGRvZXMgbm90IHdvcmsKICAjIHRvIGRvICJtYXAgeyBzY2FuX2ZpbGUg KCRfLCAuLi4pIH0gQGluY19maWxlcyIgYmVsb3cuCiAgIyBXaXRoIFBlcmwgNS44LjIgaXQg dW5kZWZpbmVzIEBpbmNfZmlsZXMuCiAgbXkgQGNvcHkgPSBAaW5jX2ZpbGVzOwogIG15IEBh bGxfaW5jX2ZpbGVzID0gKEBpbmNfZmlsZXMsCgkJICAgICAgIG1hcCB7IHNjYW5fZmlsZSAo JHR5cGUsICRfLAoJCQkJCSIkZmlsZTokaW5jX2xpbmVzeyRffSIpIH0gQGNvcHkpOwogICRm aWxlX2luY2x1ZGVzeyRmaWxlfSA9IFxAYWxsX2luY19maWxlczsKICByZXR1cm4gQGFsbF9p bmNfZmlsZXM7Cn0KCiMgc3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICglRklMRVMpCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRWFjaCBrZXkgaW4gJUZJTEVTIGlz IGEgZmlsZSB0aGF0IG11c3QgYmUgcHJlc2VudCBpbiB0aGUgb3V0cHV0LgojIEhvd2V2ZXIg c29tZSBvZiB0aGVzZSBmaWxlcyBtaWdodCBhbHJlYWR5IGluY2x1ZGUgb3RoZXIgZmlsZXMg aW4gJUZJTEVTLAojIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIGluY2x1ZGluZyB0aGVtIGFu b3RoZXIgdGltZS4KIyBUaGlzIHJlbW92ZXMgaXRlbXMgb2YgJUZJTEVTIHdoaWNoIGFyZSBh bHJlYWR5IGluY2x1ZGVkIGJ5IGFub3RoZXIgZmlsZS4Kc3ViIHN0cmlwX3JlZHVuZGFudF9p bmNsdWRlcyAoJSkKewogIG15ICVmaWxlcyA9IEBfOwoKICAjIEFsd2F5cyBpbmNsdWRlIGFj aW5jbHVkZS5tNCwgZXZlbiBpZiBpdCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgdXNlZC4KICAk ZmlsZXN7J2FjaW5jbHVkZS5tNCd9ID0gMSBpZiAtZiAnYWNpbmNsdWRlLm00JzsKICAjIEZp bGUgaW5jbHVkZWQgYnkgJGNvbmZpZ3VyZV9hYyBhcmUgcmVkdW5kYW50LgogICRmaWxlc3sk Y29uZmlndXJlX2FjfSA9IDE7CgogICMgRmlsZXMgYXQgdGhlIGVuZCBvZiBAZmlsZV9vcmRl ciBzaG91bGQgb3ZlcnJpZGUgdGhvc2UgYXQgdGhlIGJlZ2lubmluZywKICAjIHNvIGl0IGlz IGltcG9ydGFudCB0byBwcmVzZXJ2ZSB0aGVzZSB0cmFpbGluZyBmaWxlcy4gIFdlIGNhbiBy ZW1vdmUKICAjIGEgZmlsZSBBIGlmIGl0IGlzIGdvaW5nIHRvIGJlIG91dHB1dCBiZWZvcmUg YSBmaWxlIEIgdGhhdCBpbmNsdWRlcwogICMgZmlsZSBBLCBub3QgdGhlIGNvbnZlcnNlLgog IGZvcmVhY2ggbXkgJGZpbGUgKHJldmVyc2UgQGZpbGVfb3JkZXIpCiAgICB7CiAgICAgIG5l eHQgdW5sZXNzIGV4aXN0cyAkZmlsZXN7JGZpbGV9OwogICAgICBmb3JlYWNoIG15ICRpZmls ZSAoQHskZmlsZV9pbmNsdWRlc3skZmlsZX19KQoJewoJICBuZXh0IHVubGVzcyBleGlzdHMg JGZpbGVzeyRpZmlsZX07CgkgIGRlbGV0ZSAkZmlsZXN7JGlmaWxlfTsKCSAgdmVyYiAiJGlm aWxlIGlzIGFscmVhZHkgaW5jbHVkZWQgYnkgJGZpbGUiOwoJfQogICAgfQoKICAjIGNvbmZp Z3VyZS5hYyBpcyBpbXBsaWNpdGx5IGluY2x1ZGVkLgogIGRlbGV0ZSAkZmlsZXN7JGNvbmZp Z3VyZV9hY307CgogIHJldHVybiAlZmlsZXM7Cn0KCnN1YiB0cmFjZV91c2VkX21hY3JvcyAo KQp7CiAgbXkgJWZpbGVzID0gbWFwIHsgJG1hcHskX30gPT4gMSB9IGtleXMgJW1hY3JvX3Nl ZW47CiAgJWZpbGVzID0gc3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICVmaWxlczsKCiAgIyBX aGVuIEFDX0NPTkZJR19NQUNST19ESVJTIGlzIHVzZWQsIGF2b2lkIHBvc3NpYmxlIHNwdXJp b3VzIHdhcm5pbmdzCiAgIyBmcm9tIGF1dG9tNHRlIGFib3V0IG1hY3JvcyBiZWluZyAibTRf cmVxdWlyZSdkIGJ1dCBub3QgbTRfZGVmdW4nZCI7CiAgIyBmb3IgbW9yZSBiYWNrZ3JvdW5k LCBzZWU6CiAgIyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9jb25m LXBhdGNoZXMvMjAxMi0xMS9tc2cwMDAwNC5odG1sCiAgIyBhcyB3ZWxsIGFzIGF1dG9jb25m IGNvbW1pdCAndjIuNjktNDQtZzFlZDA1NDgnLCAid2FybjogYWxsb3cgYWNsb2NhbAogICMg dG8gc2lsZW5jZSBtNF9yZXF1aXJlIHdhcm5pbmdzIi4KICBteSAkZWFybHlfbTRfY29kZSAu PSAibTRfZGVmaW5lKFttNF9yZXF1aXJlX3NpbGVudF9wcm9iZV0sIFstXSkiOwoKICBteSAk dHJhY2VzID0gKCRFTlZ7QVVUT000VEV9IHx8ICdhdXRvbTR0ZScpOwogICR0cmFjZXMgLj0g IiAtLWxhbmd1YWdlIEF1dG9jb25mLXdpdGhvdXQtYWNsb2NhbC1tNCAiOwogICR0cmFjZXMg PSAiZWNobyAnJGVhcmx5X200X2NvZGUnIHwgJHRyYWNlcyAtICI7CgogICMgU3VwcG9ydCBB Q19DT05GSUdfTUFDUk9fRElSUyBhbHNvIHdpdGggb2xkZXIgYXV0b2NvbmYuCiAgIyBOb3Rl IHRoYXQgd2UgY2FuJ3QgdXNlICckYWNfY29uZmlnX21hY3JvX2RpcnNfZmFsbGJhY2snIGhl cmUsIGJlY2F1c2UKICAjIGEgYnVnIGluIG9wdGlvbiBwYXJzaW5nIGNvZGUgb2YgYXV0b200 dGUgMi42OCBhbmQgZWFybGllciB3aWxsIGNhdXNlCiAgIyBpdCB0byByZWFkIHN0YW5kYXJk IGlucHV0IGxhc3QsIGV2ZW4gaWYgdGhlICItIiBhcmd1bWVudCBpcyBzcGVjaWZpZWQKICAj IGVhcmx5LgogICMgRklYTUU6IFRvIGJlIHJlbW92ZWQgaW4gQXV0b21ha2UgMi4wLCBvbmNl IHdlIGNhbiBhc3N1bWUgYXV0b2NvbmYKICAjICAgICAgICAyLjcwIG9yIGxhdGVyLgogICR0 cmFjZXMgLj0gIiRhdXRvbWFrZV9pbmNsdWRlc1swXS9pbnRlcm5hbC9hYy1jb25maWctbWFj cm8tZGlycy5tNCAiOwoKICAjIEFsbCBjYW5kaWRhdGUgZmlsZXMuCiAgJHRyYWNlcyAuPSBq b2luICgnICcsCgkJICAgKG1hcCB7ICInJF8nIiB9CgkJICAgIChncmVwIHsgZXhpc3RzICRm aWxlc3skX30gfSBAZmlsZV9vcmRlcikpKSAuICIgIjsKCiAgIyBBbGwgY2FuZGlkYXRlIG1h Y3Jvcy4KICAkdHJhY2VzIC49IGpvaW4gKCcgJywKCQkgICAobWFwIHsgIi0tdHJhY2U9JyRf OlwkZjo6XCRuOjpcJHs6On0lJyIgfQoJCSAgICAoJ0FDX0RFRlVOJywKCQkgICAgICdBQ19E RUZVTl9PTkNFJywKCQkgICAgICdBVV9ERUZVTicsCgkJICAgICAnX0FNX0FVVE9DT05GX1ZF UlNJT04nLAoJCSAgICAgJ0FDX0NPTkZJR19NQUNST19ESVJfVFJBQ0UnLAogICAgICAgICAg ICAgICAgICAgICAjIEZJWE1FOiBUcmFjaW5nIHRoZSBuZXh0IHR3byBtYWNyb3MgaXMgYSBo YWNrIGZvcgogICAgICAgICAgICAgICAgICAgICAjIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRl ciBhdXRvY29uZi4gIFJlbW92ZSB0aGlzIGluCiAgICAgICAgICAgICAgICAgICAgICMgQXV0 b21ha2UgMi4wLCB3aGVuIHdlIGNhbiBhc3N1bWUgQXV0b2NvbmYgMi43MCBvcgogICAgICAg ICAgICAgICAgICAgICAjIGxhdGVyLgoJCSAgICAgJ0FDX0NPTkZJR19NQUNST19ESVInLAoJ CSAgICAgJ19BTV9DT05GSUdfTUFDUk9fRElSUycpKSwKCQkgICAjIERvIG5vdCB0cmFjZSAk MSBmb3IgYWxsIG90aGVyIG1hY3JvcyBhcyB3ZSBkbwoJCSAgICMgbm90IG5lZWQgaXQgYW5k IGl0IG1pZ2h0IGNvbnRhaW5zIGhhcm1mdWwKCQkgICAjIGNoYXJhY3RlcnMgKGxpa2UgbmV3 bGluZXMpLgoJCSAgIChtYXAgeyAiLS10cmFjZT0nJF86XCRmOjpcJG4nIiB9IChrZXlzICVt YWNyb19zZWVuKSkpOwoKICB2ZXJiICJydW5uaW5nICR0cmFjZXMgJGNvbmZpZ3VyZV9hYyI7 CgogIG15ICR0cmFjZWZoID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAoIiR0cmFjZXMgJGNvbmZp Z3VyZV9hYyB8Iik7CgogIEBhY19jb25maWdfbWFjcm9fZGlycyA9ICgpOwoKICBteSAldHJh Y2VkID0gKCk7CgogIHdoaWxlICgkXyA9ICR0cmFjZWZoLT5nZXRsaW5lKQogICAgewogICAg ICBjaG9tcDsKICAgICAgbXkgKCRmaWxlLCAkbWFjcm8sICRhcmcxKSA9IHNwbGl0ICgvOjov KTsKCiAgICAgICR0cmFjZWR7JG1hY3JvfSA9IDEgaWYgZXhpc3RzICRtYWNyb19zZWVueyRt YWNyb307CgogICAgICBpZiAoJG1hY3JvIGVxICdBQ19ERUZVTicgfHwgJG1hY3JvIGVxICdB Q19ERUZVTl9PTkNFJwogICAgICAgICAgICB8fCAkbWFjcm8gZXEgJ0FVX0RFRlVOJykKICAg ICAgICB7CiAgICAgICAgICAkbWFwX3RyYWNlZF9kZWZzeyRhcmcxfSA9ICRmaWxlOwogICAg ICAgIH0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnX0FNX0FVVE9DT05GX1ZFUlNJT04nKQog ICAgICAgIHsKICAgICAgICAgICRhY192ZXJzaW9uID0gJGFyZzE7CiAgICAgICAgfQogICAg ICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DT05GSUdfTUFDUk9fRElSX1RSQUNFJykKICAgICAg ICB7CiAgICAgICAgICBwdXNoIEBhY19jb25maWdfbWFjcm9fZGlycywgJGFyZzE7CiAgICAg ICAgfQogICAgICAjIEZJWE1FOiBXZSBzdGlsbCBuZWVkIHRvIHRyYWNlIEFDX0NPTkZJR19N QUNST19ESVIKICAgICAgIyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIGF1dG9jb25m LiAgUmVtb3ZlIHRoaXMKICAgICAgIyBvbmNlIHdlIGNhbiBhc3N1bWUgQXV0b2NvbmYgMi43 MCBvciBsYXRlci4KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklHX01BQ1JPX0RJ UicpCiAgICAgICAgewogICAgICAgICAgQGFjX2NvbmZpZ19tYWNyb19kaXJzID0gKCRhcmcx KTsKICAgICAgICB9CiAgICAgICMgRklYTUU6VGhpcyBpcyBhbiBoYWNrIGZvciBjb21wYXRp YmlsaXR5IHdpdGggb2xkZXIgYXV0b2NvbmYuCiAgICAgICMgUmVtb3ZlIHRoaXMgb25jZSB3 ZSBjYW4gYXNzdW1lIEF1dG9jb25mIDIuNzAgb3IgbGF0ZXIuCiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ19BTV9DT05GSUdfTUFDUk9fRElSUycpCiAgICAgICAgewogICAgICAgICAgICMg RW1wdHkgbGVhZGluZy90cmFpbGluZyBmaWVsZHMgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3Bs aXQsCiAgICAgICAgICAgIyBoZW5jZSB0aGUgZ3JlcCBpcyByZWFsbHkgbmVlZGVkLgogICAg ICAgICAgIHB1c2ggQGFjX2NvbmZpZ19tYWNyb19kaXJzLCBncmVwICgvLi8sIChzcGxpdCAv XHMrLywgJGFyZzEpKTsKICAgICAgICB9CiAgICB9CgogICMgRklYTUU6IGluIEF1dG9jb25m ID49IDIuNzAsIEFDX0NPTkZJR19NQUNST19ESVIgY2FsbHMKICAjIEFDX0NPTkZJR19NQUNS T19ESVJfVFJBQ0UgYmVoaW5kIHRoZSBzY2VuZXMsIHdoaWNoIGNvdWxkCiAgIyBsZWF2ZSB1 bndhbnRlZCBkdXBsaWNhdGVzIGluIEBhY19jb25maWdfbWFjcm9fZGlycy4KICAjIFJlbW92 ZSB0aGlzIGluIEF1dG9tYWtlIDIuMCwgd2hlbiB3ZSdsbCBzdG9wIHRyYWNpbmcKICAjIEFD X0NPTkZJR19NQUNST19ESVIgZXhwbGljaXRseS4KICBAYWNfY29uZmlnX21hY3JvX2RpcnMg PSB1bmlxIEBhY19jb25maWdfbWFjcm9fZGlyczsKCiAgJHRyYWNlZmgtPmNsb3NlOwoKICBy ZXR1cm4gJXRyYWNlZDsKfQoKc3ViIHNjYW5fY29uZmlndXJlICgpCnsKICAjIE1ha2Ugc3Vy ZSB3ZSBpbmNsdWRlIGFjaW5jbHVkZS5tNCBpZiBpdCBleGlzdHMuCiAgaWYgKC1mICdhY2lu Y2x1ZGUubTQnKQogICAgewogICAgICBhZGRfZmlsZSAoJ2FjaW5jbHVkZS5tNCcpOwogICAg fQogIHNjYW5fY29uZmlndXJlX2RlcCAoJGNvbmZpZ3VyZV9hYyk7Cn0KCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiMgV3JpdGUgb3V0cHV0LgojIFJldHVybiAwIGlmZiBzb21lIGZpbGVzIHdlcmUgaW5zdGFs bGVkIGxvY2FsbHkuCnN1YiB3cml0ZV9hY2xvY2FsICgkQCkKewogIG15ICgkb3V0cHV0X2Zp bGUsIEBtYWNyb3MpID0gQF87CiAgbXkgJG91dHB1dCA9ICcnOwoKICBteSAlZmlsZXMgPSAo KTsKICAjIEdldCB0aGUgbGlzdCBvZiBmaWxlcyBjb250YWluaW5nIGRlZmluaXRpb25zIGZv ciB0aGUgbWFjcm9zIHVzZWQuCiAgIyAoRmlsdGVyIG91dCB1bnVzZWQgbWFjcm8gZGVmaW5p dGlvbnMgd2l0aCAkbWFwX3RyYWNlZF9kZWZzLiAgVGhpcwogICMgY2FuIGhhcHBlbiB3aGVu IGFuIEF1dG9jb25mIG1hY3JvIGlzIGNvbmRpdGlvbmFsbHkgZGVmaW5lZDoKICAjIGFjbG9j YWwgc2VlcyB0aGUgcG90ZW50aWFsIGRlZmluaXRpb24sIGJ1dCB0aGlzIGRlZmluaXRpb24g aXMKICAjIGFjdHVhbGx5IG5ldmVyIHByb2Nlc3NlZCBhbmQgdGhlIEF1dG9jb25mIGltcGxl bWVudGF0aW9uIGlzIHVzZWQKICAjIGluc3RlYWQuKQogIGZvciBteSAkbSAoQG1hY3JvcykK ICAgIHsKICAgICAgJGZpbGVzeyRtYXB7JG19fSA9IDEKCWlmIChleGlzdHMgJG1hcF90cmFj ZWRfZGVmc3skbX0KCSAgICAmJiAkbWFweyRtfSBlcSAkbWFwX3RyYWNlZF9kZWZzeyRtfSk7 CiAgICB9CiAgIyBEbyBub3QgZXhwbGljaXRseSBpbmNsdWRlIGEgZmlsZSB0aGF0IGlzIGFs cmVhZHkgaW5kaXJlY3RseSBpbmNsdWRlZC4KICAlZmlsZXMgPSBzdHJpcF9yZWR1bmRhbnRf aW5jbHVkZXMgJWZpbGVzOwoKICBteSAkaW5zdGFsbGVkID0gMDsKCiAgZm9yIG15ICRmaWxl IChncmVwIHsgZXhpc3RzICRmaWxlc3skX30gfSBAZmlsZV9vcmRlcikKICAgIHsKICAgICAg IyBDaGVjayB0aGUgdGltZSBzdGFtcCBvZiB0aGlzIGZpbGUsIGFuZCBvZiBhbGwgZmlsZXMg aXQgaW5jbHVkZXMuCiAgICAgIGZvciBteSAkaWZpbGUgKCRmaWxlLCBAeyRmaWxlX2luY2x1 ZGVzeyRmaWxlfX0pCgl7CgkgIG15ICRtdGltZSA9IG10aW1lICRpZmlsZTsKCSAgJGdyZWF0 ZXN0X210aW1lID0gJG10aW1lIGlmICRncmVhdGVzdF9tdGltZSA8ICRtdGltZTsKCX0KCiAg ICAgICMgSWYgdGhlIGZpbGUgdG8gYWRkIGxvb2tzIGxpa2Ugb3V0c2lkZSB0aGUgcHJvamVj dCwgY29weSBpdAogICAgICAjIHRvIHRoZSBvdXRwdXQuICBUaGUgcmVnZXggY2F0Y2hlcyBm aWxlbmFtZXMgc3RhcnRpbmcgd2l0aAogICAgICAjIHRoaW5ncyBsaWtlICcvJywgJ1wnLCBv ciAnYzpcJy4KICAgICAgaWYgKCRmaWxlX3R5cGV7JGZpbGV9ICE9IEZUX1VTRVIKCSAgfHwg JGZpbGUgPX4gbSxeKD86XHc6KT9bXFwvXSwpCgl7CgkgIGlmICghJGluc3RhbGwgfHwgJGZp bGVfdHlwZXskZmlsZX0gIT0gRlRfU1lTVEVNKQoJICAgIHsKCSAgICAgICMgQ29weSB0aGUg ZmlsZSBpbnRvIGFjbG9jYWwubTQuCgkgICAgICAkb3V0cHV0IC49ICRmaWxlX2NvbnRlbnRz eyRmaWxlfSAuICJcbiI7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgIyBJbnN0YWxs IHRoZSBmaWxlIChhbmQgYW55IGZpbGUgaXQgaW5jbHVkZXMpLgoJICAgICAgbXkgJGRlc3Q7 CgkgICAgICBmb3IgbXkgJGlmaWxlIChAeyRmaWxlX2luY2x1ZGVzeyRmaWxlfX0sICRmaWxl KQoJCXsKCQkgIGluc3RhbGxfZmlsZSAoJGlmaWxlLCAkdXNlcl9pbmNsdWRlc1swXSk7CgkJ fQoJICAgICAgJGluc3RhbGxlZCA9IDE7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgICMg T3RoZXJ3aXNlLCBzaW1wbHkgaW5jbHVkZSB0aGUgZmlsZS4KCSAgJG91dHB1dCAuPSAibTRf aW5jbHVkZShbJGZpbGVdKVxuIjsKCX0KICAgIH0KCiAgaWYgKCRpbnN0YWxsZWQpCiAgICB7 CiAgICAgIHZlcmIgInJ1bm5pbmcgYWNsb2NhbCBhbmV3LCBiZWNhdXNlIHNvbWUgZmlsZXMg d2VyZSBpbnN0YWxsZWQgbG9jYWxseSI7CiAgICAgIHJldHVybiAwOwogICAgfQoKICAjIE5v dGhpbmcgdG8gb3V0cHV0PyEKICAjIEZJWE1FOiBTaG91bGRuJ3Qgd2UgZGlhZ25vc2UgdGhp cz8KICByZXR1cm4gMSBpZiAhIGxlbmd0aCAoJG91dHB1dCk7CgogIGlmICgkYWNfdmVyc2lv bikKICAgIHsKICAgICAgIyBEbyBub3QgdXNlICIkb3V0cHV0X2ZpbGUiIGhlcmUgZm9yIHRo ZSBzYW1lIHJlYXNvbiB3ZSBkbyBub3QKICAgICAgIyB1c2UgaXQgaW4gdGhlIGhlYWRlciBi ZWxvdy4gIGF1dG9tNHRlIHdpbGwgb3V0cHV0IHRoZSBuYW1lIG9mCiAgICAgICMgdGhlIGZp bGUgaW4gdGhlIGRpYWdub3N0aWMgYW55d2F5LgogICAgICAkb3V0cHV0ID0gIm00X2lmbmRl ZihbQUNfQVVUT0NPTkZfVkVSU0lPTl0sCiAgW200X2NvcHkoW200X1BBQ0tBR0VfVkVSU0lP Tl0sIFtBQ19BVVRPQ09ORl9WRVJTSU9OXSldKWRubAptNF9pZihtNF9kZWZuKFtBQ19BVVRP Q09ORl9WRVJTSU9OXSksIFskYWNfdmVyc2lvbl0sLApbbTRfd2FybmluZyhbdGhpcyBmaWxl IHdhcyBnZW5lcmF0ZWQgZm9yIGF1dG9jb25mICRhY192ZXJzaW9uLgpZb3UgaGF2ZSBhbm90 aGVyIHZlcnNpb24gb2YgYXV0b2NvbmYuICBJdCBtYXkgd29yaywgYnV0IGlzIG5vdCBndWFy YW50ZWVkIHRvLgpJZiB5b3UgaGF2ZSBwcm9ibGVtcywgeW91IG1heSBuZWVkIHRvIHJlZ2Vu ZXJhdGUgdGhlIGJ1aWxkIHN5c3RlbSBlbnRpcmVseS4KVG8gZG8gc28sIHVzZSB0aGUgcHJv Y2VkdXJlIGRvY3VtZW50ZWQgYnkgdGhlIHBhY2thZ2UsIHR5cGljYWxseSAnYXV0b3JlY29u ZicuXSldKQoKJG91dHB1dCI7CiAgICB9CgogICMgV2UgdXNlZCB0byBwcmludCAiIyAkb3V0 cHV0X2ZpbGUgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZXRjLiIgIEJ1dAogICMgdGhpcyBj cmVhdGVzIHNwdXJpb3VzIGRpZmZlcmVuY2VzIHdoZW4gdXNpbmcgYXV0b3JlY29uZi4gIEF1 dG9yZWNvbmYKICAjIGNyZWF0ZXMgYWNsb2NhbC5tNHQgYW5kIHRoZW4gcmVuYW1lIGl0IHRv IGFjbG9jYWwubTQsIGJ1dCB0aGUKICAjIHJlYnVpbGQgcnVsZXMgZ2VuZXJhdGVkIGJ5IEF1 dG9tYWtlIGNyZWF0ZSBhY2xvY2FsLm00IGRpcmVjdGx5IC0tCiAgIyB0aGlzIHdvdWxkIGdp dmVzIHR3byB3YXlzIHRvIGdldCB0aGUgc2FtZSBmaWxlLCB3aXRoIGEgZGlmZmVyZW50CiAg IyBuYW1lIGluIHRoZSBoZWFkZXIuCiAgJG91dHB1dCA9ICIjIGdlbmVyYXRlZCBhdXRvbWF0 aWNhbGx5IGJ5IGFjbG9jYWwgJFZFUlNJT04gLSotIEF1dG9jb25mIC0qLQoKIyBDb3B5cmln aHQgKEMpIDE5OTYtJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KCiMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24KIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBk aXN0cmlidXRlIGl0LAojIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25n IGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXc7IHdpdGhv dXQKIyBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBCiMgUEFSVElDVUxBUiBQVVJQT1NFLgoKJGFjX2NvbmZpZ19tYWNyb19k aXJzX2ZhbGxiYWNrCiRvdXRwdXQiOwoKICAjIFdlIHRyeSBub3QgdG8gdXBkYXRlICRvdXRw dXRfZmlsZSB1bmxlc3MgbmVjZXNzYXJ5LCBiZWNhdXNlCiAgIyBkb2luZyBzbyBpbnZhbGlk YXRlIEF1dG9tNHRlJ3MgY2FjaGUgYW5kIHRoZXJlZm9yZSBzbG93cyBkb3duCiAgIyB0b29s cyBjYWxsZWQgYWZ0ZXIgYWNsb2NhbC4KICAjCiAgIyBXZSBuZWVkIHRvIG92ZXJ3cml0ZSAk b3V0cHV0X2ZpbGUgaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zLgogICMgICAqIFRoZSAt LWZvcmNlIG9wdGlvbiBpcyBpbiB1c2UuCiAgIyAgICogT25lIG9mIHRoZSBkZXBlbmRlbmNp ZXMgaXMgeW91bmdlci4KICAjICAgICAoTm90IHVwZGF0aW5nICRvdXRwdXRfZmlsZSBpbiB0 aGlzIHNpdHVhdGlvbiB3b3VsZCBjYXVzZQogICMgICAgIG1ha2UgdG8gY2FsbCBhY2xvY2Fs IGluIGxvb3AuKQogICMgICAqIFRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBmaWxlIGFy ZSBkaWZmZXJlbnQgZnJvbSB3aGF0CiAgIyAgICAgd2UgaGF2ZSBjb21wdXRlZC4KICBpZiAo ISRmb3JjZV9vdXRwdXQKICAgICAgJiYgJGdyZWF0ZXN0X210aW1lIDwgbXRpbWUgKCRvdXRw dXRfZmlsZSkKICAgICAgJiYgJG91dHB1dCBlcSBjb250ZW50cyAoJG91dHB1dF9maWxlKSkK ICAgIHsKICAgICAgdmVyYiAiJG91dHB1dF9maWxlIHVuY2hhbmdlZCI7CiAgICAgIHJldHVy biAxOwogICAgfQoKICB2ZXJiICJ3cml0aW5nICRvdXRwdXRfZmlsZSI7CgogIGlmICghJGRy eV9ydW4pCiAgICB7CiAgICAgIGlmICgtZSAkb3V0cHV0X2ZpbGUgJiYgIXVubGluayAkb3V0 cHV0X2ZpbGUpCiAgICAgICAgewoJICBmYXRhbCAiY291bGQgbm90IHJlbW92ZSAnJG91dHB1 dF9maWxlJzogJCEiOwoJfQogICAgICBteSAkb3V0ID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAi PiAkb3V0cHV0X2ZpbGUiOwogICAgICBwcmludCAkb3V0ICRvdXRwdXQ7CiAgICB9CiAgcmV0 dXJuIDE7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgUHJpbnQgdXNhZ2UgYW5kIGV4aXQuCnN1YiB1c2Fn ZSAoJCkKewogIG15ICgkc3RhdHVzKSA9IEBfOwoKICBwcmludCA8PCdFT0YnOwpVc2FnZTog YWNsb2NhbCBbT1BUSU9OXS4uLgoKR2VuZXJhdGUgJ2FjbG9jYWwubTQnIGJ5IHNjYW5uaW5n ICdjb25maWd1cmUuYWMnIG9yICdjb25maWd1cmUuaW4nCgpPcHRpb25zOgogICAgICAtLWF1 dG9tYWtlLWFjZGlyPURJUiAgZGlyZWN0b3J5IGhvbGRpbmcgYXV0b21ha2UtcHJvdmlkZWQg bTQgZmlsZXMKICAgICAgLS1zeXN0ZW0tYWNkaXI9RElSICAgIGRpcmVjdG9yeSBob2xkaW5n IHRoaXJkLXBhcnR5IHN5c3RlbS13aWRlIGZpbGVzCiAgICAgIC0tZGlmZls9Q09NTUFORF0g ICAgICBydW4gQ09NTUFORCBbZGlmZiAtdV0gb24gTTQgZmlsZXMgdGhhdCB3b3VsZCBiZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCAoaW1wbGllcyAtLWluc3RhbGwg YW5kIC0tZHJ5LXJ1bikKICAgICAgLS1kcnktcnVuICAgICAgICAgICAgIHByZXRlbmQgdG8s IGJ1dCBkbyBub3QgYWN0dWFsbHkgdXBkYXRlIGFueSBmaWxlCiAgICAgIC0tZm9yY2UgICAg ICAgICAgICAgICBhbHdheXMgdXBkYXRlIG91dHB1dCBmaWxlCiAgICAgIC0taGVscCAgICAg ICAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAogIC1JIERJUiAgICAgICAg ICAgICAgICAgICAgYWRkIGRpcmVjdG9yeSB0byBzZWFyY2ggbGlzdCBmb3IgLm00IGZpbGVz CiAgICAgIC0taW5zdGFsbCAgICAgICAgICAgICBjb3B5IHRoaXJkLXBhcnR5IGZpbGVzIHRv IHRoZSBmaXJzdCAtSSBkaXJlY3RvcnkKICAgICAgLS1vdXRwdXQ9RklMRSAgICAgICAgIHB1 dCBvdXRwdXQgaW4gRklMRSAoZGVmYXVsdCBhY2xvY2FsLm00KQogICAgICAtLXByaW50LWFj LWRpciAgICAgICAgcHJpbnQgbmFtZSBvZiBkaXJlY3RvcnkgaG9sZGluZyBzeXN0ZW0td2lk ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlyZC1wYXJ0eSBtNCBmaWxlcywg dGhlbiBleGl0CiAgICAgIC0tdmVyYm9zZSAgICAgICAgICAgICBkb24ndCBiZSBzaWxlbnQK ICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVu IGV4aXQKICAtVywgLS13YXJuaW5ncz1DQVRFR09SWSAgIHJlcG9ydCB0aGUgd2FybmluZ3Mg ZmFsbGluZyBpbiBDQVRFR09SWQoKV2FybmluZyBjYXRlZ29yaWVzIGluY2x1ZGU6CiAgc3lu dGF4ICAgICAgICBkdWJpb3VzIHN5bnRhY3RpYyBjb25zdHJ1Y3RzIChkZWZhdWx0KQogIHVu c3VwcG9ydGVkICAgdW5rbm93biBtYWNyb3MgKGRlZmF1bHQpCiAgYWxsICAgICAgICAgICBh bGwgdGhlIHdhcm5pbmdzIChkZWZhdWx0KQogIG5vLUNBVEVHT1JZICAgdHVybiBvZmYgd2Fy bmluZ3MgaW4gQ0FURUdPUlkKICBub25lICAgICAgICAgIHR1cm4gb2ZmIGFsbCB0aGUgd2Fy bmluZ3MKICBlcnJvciAgICAgICAgIHRyZWF0IHdhcm5pbmdzIGFzIGVycm9ycwoKUmVwb3J0 IGJ1Z3MgdG8gPGJ1Zy1hdXRvbWFrZUBnbnUub3JnPi4KR05VIEF1dG9tYWtlIGhvbWUgcGFn ZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b21ha2UvPi4KR2VuZXJhbCBo ZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+ LgpFT0YKICBleGl0ICRzdGF0dXM7Cn0KCiMgUHJpbnQgdmVyc2lvbiBhbmQgZXhpdC4Kc3Vi IHZlcnNpb24gKCkKewogIHByaW50IDw8RU9GOwphY2xvY2FsIChHTlUgJFBBQ0tBR0UpICRW RVJTSU9OCkNvcHlyaWdodCAoQykgJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVy IDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sPgpUaGlzIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4K VGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4K CldyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJvbWV5XEByZWRoYXQuY29tPgogICAgICAgYW5k IEFsZXhhbmRyZSBEdXJldC1MdXR6IDxhZGxcQGdudS5vcmc+LgpFT0YKICBleGl0IDA7Cn0K CiMgUGFyc2UgY29tbWFuZCBsaW5lLgpzdWIgcGFyc2VfYXJndW1lbnRzICgpCnsKICBteSAk cHJpbnRfYW5kX2V4aXQgPSAwOwogIG15ICRkaWZmX2NvbW1hbmQ7CgogIG15ICVjbGlfb3B0 aW9ucyA9CiAgICAoCiAgICAgJ2hlbHAnCQk9PiBzdWIgeyB1c2FnZSgwKTsgfSwKICAgICAn dmVyc2lvbicJCT0+IFwmdmVyc2lvbiwKICAgICAnc3lzdGVtLWFjZGlyPXMnCT0+IHN1YiB7 IHNoaWZ0OyBAc3lzdGVtX2luY2x1ZGVzID0gQF87IH0sCiAgICAgJ2F1dG9tYWtlLWFjZGly PXMnCT0+IHN1YiB7IHNoaWZ0OyBAYXV0b21ha2VfaW5jbHVkZXMgPSBAXzsgfSwKICAgICAn ZGlmZjpzJwkJPT4gXCRkaWZmX2NvbW1hbmQsCiAgICAgJ2RyeS1ydW4nCQk9PiBcJGRyeV9y dW4sCiAgICAgJ2ZvcmNlJwkJPT4gXCRmb3JjZV9vdXRwdXQsCiAgICAgJ0k9cycJCT0+IFxA dXNlcl9pbmNsdWRlcywKICAgICAnaW5zdGFsbCcgICAgICAgICAgPT4gXCRpbnN0YWxsLAog ICAgICdvdXRwdXQ9cycJCT0+IFwkb3V0cHV0X2ZpbGUsCiAgICAgJ3ByaW50LWFjLWRpcicg ICAgID0+IFwkcHJpbnRfYW5kX2V4aXQsCiAgICAgJ3ZlcmJvc2UnCQk9PiBzdWIgeyBzZXR1 cF9jaGFubmVsICd2ZXJiJywgc2lsZW50ID0+IDA7IH0sCiAgICAgJ1d8d2FybmluZ3M9cycg ICAgID0+IFwmcGFyc2Vfd2FybmluZ3MsCiAgICAgKTsKCiAgdXNlIEF1dG9tYWtlOjpHZXRv cHQgKCk7CiAgQXV0b21ha2U6OkdldG9wdDo6cGFyc2Vfb3B0aW9ucyAlY2xpX29wdGlvbnM7 CgogIGlmIChAQVJHViA+IDApCiAgICB7CiAgICAgIGZhdGFsICgibm9uLW9wdGlvbiBhcmd1 bWVudHMgYXJlIG5vdCBhY2NlcHRlZDogJyRBUkdWWzBdJy5cbiIKICAgICAgICAgICAgIC4g IlRyeSAnJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iKTsKICAgIH0KCiAgaWYg KCRwcmludF9hbmRfZXhpdCkKICAgIHsKICAgICAgcHJpbnQgIkBzeXN0ZW1faW5jbHVkZXNc biI7CiAgICAgIGV4aXQgMDsKICAgIH0KCiAgaWYgKGRlZmluZWQgJGRpZmZfY29tbWFuZCkK ICAgIHsKICAgICAgJGRpZmZfY29tbWFuZCA9ICdkaWZmIC11JyBpZiAkZGlmZl9jb21tYW5k IGVxICcnOwogICAgICBAZGlmZl9jb21tYW5kID0gc3BsaXQgKCcgJywgJGRpZmZfY29tbWFu ZCk7CiAgICAgICRpbnN0YWxsID0gMTsKICAgICAgJGRyeV9ydW4gPSAxOwogICAgfQoKICAj IEZpbmFsbHksIGFkZHMgYW55IGRpcmVjdG9yeSBsaXN0ZWQgaW4gdGhlICdkaXJsaXN0JyBm aWxlLgogIGlmIChAc3lzdGVtX2luY2x1ZGVzICYmIG9wZW4gKERJUkxJU1QsICIkc3lzdGVt X2luY2x1ZGVzWzBdL2Rpcmxpc3QiKSkKICAgIHsKICAgICAgd2hpbGUgKDxESVJMSVNUPikK ICAgICAgICB7CiAgICAgICAgICAjIElnbm9yZSAnIycgbGluZXMuCiAgICAgICAgICBuZXh0 IGlmIC9eIy87CiAgICAgICAgICAjIHN0cmlwIG9mZiBuZXdsaW5lcyBhbmQgZW5kLW9mLWxp bmUgY29tbWVudHMKICAgICAgICAgIHMvXHMqXCMuKiQvLzsKICAgICAgICAgIGNob21wOwog ICAgICAgICAgZm9yZWFjaCBteSAkZGlyIChnbG9iKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgcHVzaCAoQHN5c3RlbV9pbmNsdWRlcywgJGRpcikgaWYgLWQgJGRpcjsKICAgICAg ICAgICAgfQogICAgICAgIH0KICAgICAgY2xvc2UgKERJUkxJU1QpOwogICAgfQp9CgojIEFk ZCBhbnkgZGlyZWN0b3J5IGxpc3RlZCBpbiB0aGUgJ0FDTE9DQUxfUEFUSCcgZW52aXJvbm1l bnQgdmFyaWFibGUKIyB0byB0aGUgbGlzdCBvZiBzeXN0ZW0gaW5jbHVkZSBkaXJlY3Rvcmll cy4Kc3ViIHBhcnNlX0FDTE9DQUxfUEFUSCAoKQp7CiAgcmV0dXJuIGlmIG5vdCBkZWZpbmVk ICRFTlZ7IkFDTE9DQUxfUEFUSCJ9OwogICMgRGlyZWN0b3JpZXMgaW4gQUNMT0NBTF9QQVRI IHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBzeXN0ZW0KICAjIGRpcmVjdG9yaWVzLCBz byB3ZSB1c2UgdW5zaGlmdC4gIEhvd2V2ZXIsIGRpcmVjdG9yaWVzIHRoYXQKICAjIGNvbWUg Zmlyc3QgaW4gQUNMT0NBTF9QQVRIIHRha2UgcHJlY2VkZW5jZSBvdmVyIGRpcmVjdG9yaWVz CiAgIyBjb21pbmcgbGF0ZXIsIHdoaWNoIGlzIHdoeSB0aGUgcmVzdWx0IG9mIHNwbGl0IGlz IHJldmVyc2VkLgogIGZvcmVhY2ggbXkgJGRpciAocmV2ZXJzZSBzcGxpdCAvOi8sICRFTlZ7 IkFDTE9DQUxfUEFUSCJ9KQogICAgewogICAgICB1bnNoaWZ0IChAc3lzdGVtX2luY2x1ZGVz LCAkZGlyKSBpZiAkZGlyIG5lICcnICYmIC1kICRkaXI7CiAgICB9Cn0KCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiMgRG9uJ3QgcmVmZXIgdG8gaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzIGZyb20gdGhlIGJ1 aWxkIGVudmlyb25tZW50CmlmIChleGlzdHMgJEVOVnsiQVVUT01BS0VfVU5JTlNUQUxMRUQi fSkKICB7CiAgICBAYXV0b21ha2VfaW5jbHVkZXMgPSAoKTsKICAgIEBzeXN0ZW1faW5jbHVk ZXMgPSAoKTsKICB9CgpAYXV0b21ha2VfaW5jbHVkZXMgPSAoJEVOVnsiQUNMT0NBTF9BVVRP TUFLRV9ESVIifSkKICBpZiAoZXhpc3RzICRFTlZ7IkFDTE9DQUxfQVVUT01BS0VfRElSIn0p OwoKcGFyc2VfV0FSTklOR1M7CQkgICAgIyBQYXJzZSB0aGUgV0FSTklOR1MgZW52aXJvbm1l bnQgdmFyaWFibGUuCnBhcnNlX2FyZ3VtZW50czsKcGFyc2VfQUNMT0NBTF9QQVRIOwokY29u ZmlndXJlX2FjID0gcmVxdWlyZV9jb25maWd1cmVfYWM7CgojIFdlIG1heSBoYXZlIHRvIHJl cnVuIGFjbG9jYWwgaWYgc29tZSBmaWxlIGhhdmUgYmVlbiBpbnN0YWxsZWQsIGJ1dAojIGl0 IHNob3VsZCBub3QgaGFwcGVuIG1vcmUgdGhhbiBvbmNlLiAgVGhlIHJlYXNvbiB3ZSBtdXN0 IHJ1biBhZ2FpbgojIGlzIHRoYXQgb25jZSB0aGUgZmlsZSBoYXMgYmVlbiBtb3ZlZCBmcm9t IC91c3Ivc2hhcmUvYWNsb2NhbC8gdG8gdGhlCiMgbG9jYWwgbTQvIGRpcmVjdG9yeSBpdCBh cHBlYXJzIGF0IGEgbmV3IHBsYWNlIGluIHRoZSBzZWFyY2ggcGF0aCwKIyBoZW5jZSBpdCBz aG91bGQgYmUgb3V0cHV0IGF0IGEgZGlmZmVyZW50IHBvc2l0aW9uIGluIGFjbG9jYWwubTQu ICBJZgojIHdlIGRpZCBub3QgcmVydW4gYWNsb2NhbCwgdGhlIG5leHQgcnVuIG9mIGFjbG9j YWwgd291bGQgcHJvZHVjZSBhCiMgZGlmZmVyZW50IGFjbG9jYWwubTQuCm15ICRsb29wID0g MDsKbXkgJHJlcnVuX2R1ZV90b19tYWNyb2RpciA9IDA7CndoaWxlICgxKQogIHsKICAgICsr JGxvb3A7CiAgICBwcm9nX2Vycm9yICJ0b28gbWFueSBsb29wcyIgaWYgJGxvb3AgPiAyICsg JHJlcnVuX2R1ZV90b19tYWNyb2RpcjsKCiAgICByZXNldF9tYXBzOwogICAgc2Nhbl9tNF9m aWxlczsKICAgIHNjYW5fY29uZmlndXJlOwogICAgbGFzdCBpZiAkZXhpdF9jb2RlOwogICAg bXkgJW1hY3JvX3RyYWNlZCA9IHRyYWNlX3VzZWRfbWFjcm9zOwoKICAgIGlmICghJHJlcnVu X2R1ZV90b19tYWNyb2RpciAmJiBAYWNfY29uZmlnX21hY3JvX2RpcnMpCiAgICAgIHsKICAg ICAgICAjIFRoZSBkaXJlY3Rvcnkgc3BlY2lmaWVkIGluIGNhbGxzIHRvIHRoZSBBQ19DT05G SUdfTUFDUk9fRElSUwogICAgICAgICMgbTQgbWFjcm8gKGlmIGFueSkgbXVzdCBnbyBhZnRl ciB0aGUgdXNlciBpbmNsdWRlcyBzcGVjaWZpZWQKICAgICAgICAjIGV4cGxpY2l0bHkgd2l0 aCB0aGUgJy1JJyBvcHRpb24uCiAgICAgICAgcHVzaCBAdXNlcl9pbmNsdWRlcywgQGFjX2Nv bmZpZ19tYWNyb19kaXJzOwogICAgICAgICMgV2UgbWlnaHQgaGF2ZSB0byBzY2FuIHNvbWUg bmV3IGRpcmVjdG9yeSBvZiAubTQgZmlsZXMuCiAgICAgICAgJHJlcnVuX2R1ZV90b19tYWNy b2RpcisrOwogICAgICAgIG5leHQ7CiAgICAgIH0KCiAgICBpZiAoJGluc3RhbGwgJiYgIUB1 c2VyX2luY2x1ZGVzKQogICAgICB7CiAgICAgICAgZmF0YWwgImluc3RhbGxhdGlvbiBvZiB0 aGlyZC1wYXJ0eSBtYWNyb3MgaW1wb3NzaWJsZSB3aXRob3V0ICIgLgogICAgICAgICAgICAg ICItSSBvcHRpb25zIG5vciBBQ19DT05GSUdfTUFDUk9fRElSeyxTfSBtNCBtYWNybyhzKSI7 CiAgICAgIH0KCiAgICBsYXN0IGlmIHdyaXRlX2FjbG9jYWwgKCRvdXRwdXRfZmlsZSwga2V5 cyAlbWFjcm9fdHJhY2VkKTsKICAgIGxhc3QgaWYgJGRyeV9ydW47CiAgfQpjaGVja19hY2lu Y2x1ZGU7CgpleGl0ICRleGl0X2NvZGU7CisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvYmluL2F1dG9tYWtlLTEuMTYKIyEvdXNyL2Jpbi9wZXJsIC13CiMg YXV0b21ha2UgLSBjcmVhdGUgTWFrZWZpbGUuaW4gZnJvbSBNYWtlZmlsZS5hbSAgICAgICAg ICAgIC0qLSBwZXJsIC0qLQojIEdlbmVyYXRlZCBmcm9tIGJpbi9hdXRvbWFrZS5pbjsgZG8g bm90IGVkaXQgYnkgaGFuZC4KIyBDb3B5cmlnaHQgKEMpIDE5OTQtMjAyMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9y IChhdCB5b3VyIG9wdGlvbikKIyBhbnkgbGF0ZXIgdmVyc2lvbi4KCiMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCgojIE9yaWdp bmFsbHkgd3JpdHRlbiBieSBEYXZpZCBNYWNrZW56aWUgPGRqbUBnbnUuYWkubWl0LmVkdT4u CiMgUGVybCByZWltcGxlbWVudGF0aW9uIGJ5IFRvbSBUcm9tZXkgPHRyb21leUByZWRoYXQu Y29tPiwgYW5kCiMgQWxleGFuZHJlIER1cmV0LUx1dHogPGFkbEBnbnUub3JnPi4KCnBhY2th Z2UgQXV0b21ha2U7Cgp1c2Ugc3RyaWN0OwoKQkVHSU4KewogIHVuc2hpZnQgKEBJTkMsICcv dXNyL2xvY2FsL3NoYXJlL2F1dG9tYWtlLTEuMTYnKQogICAgdW5sZXNzICRFTlZ7QVVUT01B S0VfVU5JTlNUQUxMRUR9OwoKICAjIE92ZXJyaWRlIFNIRUxMLiAgVGhpcyBpcyByZXF1aXJl ZCBvbiBESkdQUCBzbyB0aGF0IHN5c3RlbSgpIHVzZXMKICAjIGJhc2gsIG5vdCBDT01NQU5E LkNPTSB3aGljaCBkb2Vzbid0IHF1b3RlIGFyZ3VtZW50cyBwcm9wZXJseS4KICAjIE90aGVy IHN5c3RlbXMgYXJlbid0IGV4cGVjdGVkIHRvIHVzZSAkU0hFTEwgd2hlbiBBdXRvbWFrZQog ICMgcnVucywgYnV0IGl0IHNob3VsZCBiZSBzYWZlIHRvIGRyb3AgdGhlICJpZiBESkdQUCIg Z3VhcmQgaWYKICAjIGl0IHR1cm5zIHVwIG90aGVyIHN5c3RlbXMgbmVlZCB0aGUgc2FtZSB0 aGluZy4gIEFmdGVyIGFsbCwKICAjIGlmIFNIRUxMIGlzIHVzZWQsIC4vY29uZmlndXJlJ3Mg U0hFTEwgaXMgYWx3YXlzIGJldHRlciB0aGFuCiAgIyB0aGUgdXNlcidzIFNIRUxMICh3aGlj aCBtYXkgYmUgc29tZXRoaW5nIGxpa2UgdGNzaCkuCiAgJEVOVnsnU0hFTEwnfSA9ICcvYmlu L3NoJyBpZiBleGlzdHMgJEVOVnsnREpESVInfTsKfQoKdXNlIEF1dG9tYWtlOjpDb25maWc7 CkJFR0lOCnsKICBpZiAoJHBlcmxfdGhyZWFkcykKICAgIHsKICAgICAgcmVxdWlyZSB0aHJl YWRzOwogICAgICBpbXBvcnQgdGhyZWFkczsKICAgICAgcmVxdWlyZSBUaHJlYWQ6OlF1ZXVl OwogICAgICBpbXBvcnQgVGhyZWFkOjpRdWV1ZTsKICAgIH0KfQp1c2UgQXV0b21ha2U6Okdl bmVyYWw7CnVzZSBBdXRvbWFrZTo6WEZpbGU7CnVzZSBBdXRvbWFrZTo6Q2hhbm5lbHM7CnVz ZSBBdXRvbWFrZTo6Q2hhbm5lbERlZnM7CnVzZSBBdXRvbWFrZTo6Q29uZmlndXJlX2FjOwp1 c2UgQXV0b21ha2U6OkZpbGVVdGlsczsKdXNlIEF1dG9tYWtlOjpMb2NhdGlvbjsKdXNlIEF1 dG9tYWtlOjpDb25kaXRpb24gcXcvVFJVRSBGQUxTRS87CnVzZSBBdXRvbWFrZTo6RGlzakNv bmRpdGlvbnM7CnVzZSBBdXRvbWFrZTo6T3B0aW9uczsKdXNlIEF1dG9tYWtlOjpWYXJpYWJs ZTsKdXNlIEF1dG9tYWtlOjpWYXJEZWY7CnVzZSBBdXRvbWFrZTo6UnVsZTsKdXNlIEF1dG9t YWtlOjpSdWxlRGVmOwp1c2UgQXV0b21ha2U6OldyYXAgJ21ha2VmaWxlX3dyYXAnOwp1c2Ug QXV0b21ha2U6Okxhbmd1YWdlOwp1c2UgRmlsZTo6QmFzZW5hbWU7CnVzZSBGaWxlOjpTcGVj Owp1c2UgQ2FycDsKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFN1YnJvdXRp bmUgcHJvdG90eXBlcy4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpzdWIg YXBwZW5kX2V4ZWV4dCAoJiQpOwpzdWIgY2hlY2tfZ25pdHNfc3RhbmRhcmRzICgpOwpzdWIg Y2hlY2tfZ251X3N0YW5kYXJkcyAoKTsKc3ViIGNoZWNrX3RyYWlsaW5nX3NsYXNoICgkXCQp OwpzdWIgY2hlY2tfdHlwb3MgKCk7CnN1YiBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRcQCQk KTsKc3ViIGRlZmluZV9zdGFuZGFyZF92YXJpYWJsZXMgKCk7CnN1YiBkZWZpbmVfdmVyYm9z ZV9saWJ0b29sICgpOwpzdWIgZGVmaW5lX3ZlcmJvc2VfdGV4aW5mbyAoKTsKc3ViIGRvX2No ZWNrX21lcmdlX3RhcmdldCAoKTsKc3ViIGdldF9udW1iZXJfb2ZfdGhyZWFkcyAoKTsKc3Vi IGhhbmRsZV9jb21waWxlICgpOwpzdWIgaGFuZGxlX2RhdGEgKCk7CnN1YiBoYW5kbGVfZGlz dCAoKTsKc3ViIGhhbmRsZV9lbWFjc19saXNwICgpOwpzdWIgaGFuZGxlX2ZhY3RvcmVkX2Rl cGVuZGVuY2llcyAoKTsKc3ViIGhhbmRsZV9mb290ZXIgKCk7CnN1YiBoYW5kbGVfZ2V0dGV4 dCAoKTsKc3ViIGhhbmRsZV9oZWFkZXJzICgpOwpzdWIgaGFuZGxlX2luc3RhbGwgKCk7CnN1 YiBoYW5kbGVfamF2YSAoKTsKc3ViIGhhbmRsZV9sYW5ndWFnZXMgKCk7CnN1YiBoYW5kbGVf bGlicmFyaWVzICgpOwpzdWIgaGFuZGxlX2xpYnRvb2wgKCk7CnN1YiBoYW5kbGVfbHRsaWJy YXJpZXMgKCk7CnN1YiBoYW5kbGVfbWFrZWZpbGVzX3NlcmlhbCAoKTsKc3ViIGhhbmRsZV9t YW5fcGFnZXMgKCk7CnN1YiBoYW5kbGVfbWlub3Jfb3B0aW9ucyAoKTsKc3ViIGhhbmRsZV9v cHRpb25zICgpOwpzdWIgaGFuZGxlX3Byb2dyYW1zICgpOwpzdWIgaGFuZGxlX3B5dGhvbiAo KTsKc3ViIGhhbmRsZV9zY3JpcHRzICgpOwpzdWIgaGFuZGxlX3NpbGVudCAoKTsKc3ViIGhh bmRsZV9zdWJkaXJzICgpOwpzdWIgaGFuZGxlX3RhZ3MgKCk7CnN1YiBoYW5kbGVfdGFyZ2V0 cyAoKTsKc3ViIGhhbmRsZV90ZXN0cyAoKTsKc3ViIGhhbmRsZV90ZXN0c19kZWphZ251ICgp OwpzdWIgaGFuZGxlX3RleGluZm8gKCk7CnN1YiBoYW5kbGVfdXNlcl9yZWN1cnNpb24gKCk7 CnN1YiBpbml0aWFsaXplX3Blcl9pbnB1dCAoKTsKc3ViIGxhbmdfbGV4X2ZpbmlzaCAoKTsK c3ViIGxhbmdfc3ViX29iaiAoKTsKc3ViIGxhbmdfdmFsYV9maW5pc2ggKCk7CnN1YiBsYW5n X3lhY2NfZmluaXNoICgpOwpzdWIgbG9jYXRlX2F1eF9kaXIgKCk7CnN1YiBwYXJzZV9hcmd1 bWVudHMgKCk7CnN1YiBzY2FuX2FjbG9jYWxfbTQgKCk7CnN1YiBzY2FuX2F1dG9jb25mX2Zp bGVzICgpOwpzdWIgc2lsZW50X2ZsYWcgKCk7CnN1YiB0cmFuc2Zvcm0gKCRcJSk7CnN1YiB0 cmFuc2Zvcm1fdG9rZW4gKCRcJSQpOwpzdWIgdXNhZ2UgKCk7CnN1YiB2ZXJzaW9uICgpOwpz dWIgeWFjY19sZXhfZmluaXNoX2hlbHBlciAoKTsKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENv bnN0YW50cy4gICMjCiMjIC0tLS0tLS0tLS0tICMjCgojIFNvbWUgcmVndWxhciBleHByZXNz aW9ucy4gIE9uZSByZWFzb24gdG8gcHV0IHRoZW0gaGVyZSBpcyB0aGF0IGl0CiMgbWFrZXMg aW5kZW50YXRpb24gd29yayBiZXR0ZXIgaW4gRW1hY3MuCgojIFdyaXRpbmcgc2luZ2xlZC1x dW90ZWQtJC10ZXJtaW5hdGVkIHJlZ2V4ZXMgaXMgYSBwYWluIGJlY2F1c2UKIyBwZXJsLW1v ZGUgdGhpbmtzIG9mICQnIGFzIHRoZSAkeyd9IHZhcmlhYmxlIChpbnN0ZWFkIG9mIGEgJCBm b2xsb3dlZAojIGJ5IGEgY2xvc2luZyBxdW90ZS4gIExldHRpbmcgcGVybC1tb2RlIHRoaW5r IHRoZSBxdW90ZSBpcyBub3QgY2xvc2VkCiMgbGVhZHMgdG8gYWxsIHNvcnQgb2YgbWlzaW5k ZW50YXRpb25zLiAgT24gdGhlIG90aGVyIGhhbmQsIGRlZmluaW5nCiMgcmVnZXhlcyBhcyBk b3VibGUtcXVvdGVkIHN0cmluZ3MgaXMgZmFyIGxlc3MgcmVhZGFibGUuICBTbyB1c3VhbGx5 CiMgd2Ugd2lsbCB3cml0ZToKIwojICAkUkVHRVggPSAnXnJlZ2V4X3ZhbHVlJyAuICJcJCI7 CgpteSAkSUdOT1JFX1BBVFRFUk4gPSAnXlxzKiMjKFteI1xuXS4qKT9cbic7Cm15ICRXSElU RV9QQVRURVJOID0gJ15ccyonIC4gIlwkIjsKbXkgJENPTU1FTlRfUEFUVEVSTiA9ICdeIyc7 Cm15ICRUQVJHRVRfUEFUVEVSTj0nWyRhLXpBLVowLTlfLkAlXVstLmEtekEtWjAtOV8oKXt9 LyQrQCVdKic7CiMgQSBydWxlIGhhcyB0aHJlZSBwYXJ0czogYSBsaXN0IG9mIHRhcmdldHMs IGEgbGlzdCBvZiBkZXBlbmRlbmNpZXMsCiMgYW5kIG9wdGlvbmFsbHkgYWN0aW9ucy4KbXkg JFJVTEVfUEFUVEVSTiA9CiAgIl4oJFRBUkdFVF9QQVRURVJOKD86KD86XFxcXFxufFxccykr JFRBUkdFVF9QQVRURVJOKSopICo6KFtePV0uKnwpXCQiOwoKIyBPbmx5IHJlY29nbml6ZSBs ZWFkaW5nIHNwYWNlcywgbm90IGxlYWRpbmcgdGFicy4gIElmIHdlIHJlY29nbml6ZQojIGxl YWRpbmcgdGFicyBoZXJlIHRoZW4gd2UgbmVlZCB0byBtYWtlIHRoZSByZWFkZXIgc21hcnRl ciwgYmVjYXVzZQojIG90aGVyd2lzZSBpdCB3aWxsIHRoaW5rIHJ1bGVzIGxpa2UgJ2Zvbz1i YXI7IFwnIGFyZSBlcnJvcnMuCm15ICRBU1NJR05NRU5UX1BBVFRFUk4gPSAnXiAqKFteIFx0 PTorXSopXHMqKFs6K10/KT1ccyooLiopJyAuICJcJCI7CiMgVGhpcyBwYXR0ZXJuIHJlY29n bml6ZXMgYSBHbml0cyB2ZXJzaW9uIGlkIGFuZCBzZXRzICQxIGlmIHRoZQojIHJlbGVhc2Ug aXMgYW4gYWxwaGEgcmVsZWFzZS4gIFdlIGFsc28gYWxsb3cgYSBzdWZmaXggd2hpY2ggY2Fu IGJlCiMgdXNlZCB0byBleHRlbmQgdGhlIHZlcnNpb24gbnVtYmVyIHdpdGggYSAiZm9yayIg aWRlbnRpZmllci4KbXkgJEdOSVRTX1ZFUlNJT05fUEFUVEVSTiA9ICdcZCtcLlxkKyhbYS16 XXxcLlxkKyk/KC1bQS1aYS16MC05XSspPyc7CgpteSAkSUZfUEFUVEVSTiA9ICdeaWZccyso IT8pXHMqKFtBLVphLXpdW0EtWmEtejAtOV9dKilccyooPzojLiopPycgLiAiXCQiOwpteSAk RUxTRV9QQVRURVJOID0KICAnXmVsc2UoPzpccysoIT8pXHMqKFtBLVphLXpdW0EtWmEtejAt OV9dKikpP1xzKig/OiMuKik/JyAuICJcJCI7Cm15ICRFTkRJRl9QQVRURVJOID0KICAnXmVu ZGlmKD86XHMrKCE/KVxzKihbQS1aYS16XVtBLVphLXowLTlfXSopKT9ccyooPzojLiopPycg LiAiXCQiOwpteSAkUEFUSF9QQVRURVJOID0gJyhcd3xbKy8uLV0pKyc7CiMgVGhpcyB3aWxs IHBhc3MgdGhyb3VnaCBhbnl0aGluZyBub3Qgb2YgdGhlIHByZXNjcmliZWQgZm9ybS4KbXkg JElOQ0xVREVfUEFUVEVSTiA9ICgnXmluY2x1ZGVccysnCgkJICAgICAgIC4gJygoXCRcKHRv cF9zcmNkaXJcKS8nIC4gJFBBVEhfUEFUVEVSTiAuICcpJwoJCSAgICAgICAuICd8KFwkXChz cmNkaXJcKS8nIC4gJFBBVEhfUEFUVEVSTiAuICcpJwoJCSAgICAgICAuICd8KFteL1wkXScg LiAkUEFUSF9QQVRURVJOIC4gJykpXHMqKCMuKik/JyAuICJcJCIpOwoKIyBEaXJlY3Rvcmll cyBpbnN0YWxsZWQgZHVyaW5nICdpbnN0YWxsLWV4ZWMnIHBoYXNlLgpteSAkRVhFQ19ESVJf UEFUVEVSTiA9CiAgJ14oPzpiaW58c2JpbnxsaWJleGVjfHN5c2NvbmZ8bG9jYWxzdGF0ZXxs aWJ8cGtnbGlifC4qZXhlYy4qKScgLiAiXCQiOwoKIyBWYWx1ZXMgZm9yIEFDX0NBTk9OSUNB TF8qCnVzZSBjb25zdGFudCBBQ19DQU5PTklDQUxfQlVJTEQgID0+IDE7CnVzZSBjb25zdGFu dCBBQ19DQU5PTklDQUxfSE9TVCAgID0+IDI7CnVzZSBjb25zdGFudCBBQ19DQU5PTklDQUxf VEFSR0VUID0+IDM7CgojIFZhbHVlcyBpbmRpY2F0aW5nIHdoZW4gc29tZXRoaW5nIHNob3Vs ZCBiZSBjbGVhbmVkLgp1c2UgY29uc3RhbnQgTU9TVExZX0NMRUFOICAgICA9PiAwOwp1c2Ug Y29uc3RhbnQgQ0xFQU4gICAgICAgICAgICA9PiAxOwp1c2UgY29uc3RhbnQgRElTVF9DTEVB TiAgICAgICA9PiAyOwp1c2UgY29uc3RhbnQgTUFJTlRBSU5FUl9DTEVBTiA9PiAzOwoKIyBM aWJ0b29sIGZpbGVzLgpteSBAbGlidG9vbF9maWxlcyA9IHF3KGx0bWFpbi5zaCBjb25maWcu Z3Vlc3MgY29uZmlnLnN1Yik7CiMgbHRjb25maWcgYXBwZWFycyBoZXJlIGZvciBjb21wYXRp YmlsaXR5IHdpdGggb2xkIHZlcnNpb25zIG9mIGxpYnRvb2wuCm15IEBsaWJ0b29sX3NvbWV0 aW1lcyA9IHF3KGx0Y29uZmlnIGx0Y2YtYy5zaCBsdGNmLWN4eC5zaCBsdGNmLWdjai5zaCk7 CgojIENvbW1vbmx5IGZvdW5kIGZpbGVzIHdlIGxvb2sgZm9yIGFuZCBhdXRvbWF0aWNhbGx5 IGluY2x1ZGUgaW4KIyBESVNURklMRVMuCm15IEBjb21tb25fZmlsZXMgPQogICAgKHF3KEFC T1VULUdOVSBBQk9VVC1OTFMgQVVUSE9SUyBCQUNLTE9HIENPUFlJTkcgQ09QWUlORy5ET0Mg Q09QWUlORy5MSUIKCUNPUFlJTkcuTEVTU0VSIENoYW5nZUxvZyBJTlNUQUxMIE5FV1MgUkVB RE1FIFRIQU5LUyBUT0RPCglhci1saWIgY29tcGlsZSBjb25maWcuZ3Vlc3MgY29uZmlnLnJw YXRoCgljb25maWcuc3ViIGRlcGNvbXAgaW5zdGFsbC1zaCBsaWJ2ZXJzaW9uLmluIG1kYXRl LXNoCgltaXNzaW5nIG1raW5zdGFsbGRpcnMgcHktY29tcGlsZSB0ZXhpbmZvLnRleCB5bHdy YXApLAogICAgIEBsaWJ0b29sX2ZpbGVzLCBAbGlidG9vbF9zb21ldGltZXMpOwoKIyBDb21t b25seSB1c2VkIGZpbGVzIHdlIGF1dG8taW5jbHVkZSwgYnV0IG9ubHkgc29tZXRpbWVzLiAg VGhpcyBsaXN0CiMgaXMgdXNlZCBmb3IgdGhlIC0taGVscCBvdXRwdXQgb25seS4KbXkgQGNv bW1vbl9zb21ldGltZXMgPQogIHF3KGFjbG9jYWwubTQgYWNjb25maWcuaCBjb25maWcuaC50 b3AgY29uZmlnLmguYm90IGNvbmZpZ3VyZQogICAgIGNvbmZpZ3VyZS5hYyBjb25maWd1cmUu aW4gc3RhbXAtdnRpKTsKCiMgU3RhbmRhcmQgZGlyZWN0b3JpZXMgZnJvbSB0aGUgR05VIENv ZGluZyBTdGFuZGFyZHMsIGFuZCBhZGRpdGlvbmFsCiMgcGtnKiBkaXJlY3RvcmllcyBmcm9t IEF1dG9tYWtlLiAgU3RvcmVkIGluIGEgaGFzaCBmb3IgZmFzdCBtZW1iZXIgY2hlY2suCm15 ICVzdGFuZGFyZF9wcmVmaXggPQogICAgbWFwIHsgJF8gPT4gMSB9IChxdyhiaW4gZGF0YSBk YXRhcm9vdCBkb2MgZHZpIGV4ZWMgaHRtbCBpbmNsdWRlIGluZm8KCQkJbGliIGxpYmV4ZWMg bGlzcCBsb2NhbGUgbG9jYWxzdGF0ZSBtYW4gbWFuMSBtYW4yCgkJCW1hbjMgbWFuNCBtYW41 IG1hbjYgbWFuNyBtYW44IG1hbjkgb2xkaW5jbHVkZSBwZGYKCQkJcGtnZGF0YSBwa2dpbmNs dWRlIHBrZ2xpYiBwa2dsaWJleGVjIHBzIHNiaW4KCQkJc2hhcmVkc3RhdGUgc3lzY29uZikp OwoKIyBDb3B5cmlnaHQgb24gZ2VuZXJhdGVkIE1ha2VmaWxlLmlucy4KbXkgJGdlbl9jb3B5 cmlnaHQgPSAiXAojIENvcHlyaWdodCAoQykgMTk5NC0kUkVMRUFTRV9ZRUFSIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGlzIE1ha2VmaWxlLmluIGlzIGZyZWUgc29m dHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KIyBnaXZlcyB1bmxpbWl0ZWQg cGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAojIHdpdGggb3Igd2l0 aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZl ZC4KCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZLCB0byB0aGUgZXh0 ZW50IHBlcm1pdHRlZCBieSBsYXc7IHdpdGhvdXQKIyBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBCiMgUEFSVElDVUxBUiBQ VVJQT1NFLgoiOwoKIyBUaGVzZSBjb25zdGFudHMgYXJlIHJldHVybmVkIGJ5IHRoZSBsYW5n XypfcmV3cml0ZSBmdW5jdGlvbnMuCiMgTEFOR19TVUJESVIgbWVhbnMgdGhhdCB0aGUgcmVz dWx0aW5nIG9iamVjdCBmaWxlIHNob3VsZCBiZSBpbiBhCiMgc3ViZGlyIGlmIHRoZSBzb3Vy Y2UgZmlsZSBpcy4gIEluIHRoaXMgY2FzZSB0aGUgZmlsZSBuYW1lIGNhbm5vdAojIGhhdmUg Jy4uJyBjb21wb25lbnRzLgp1c2UgY29uc3RhbnQgTEFOR19JR05PUkUgID0+IDA7CnVzZSBj b25zdGFudCBMQU5HX1BST0NFU1MgPT4gMTsKdXNlIGNvbnN0YW50IExBTkdfU1VCRElSICA9 PiAyOwoKIyBUaGVzZSBhcmUgdXNlZCB3aGVuIGtlZXBpbmcgdHJhY2sgb2Ygd2hldGhlciBh biBvYmplY3QgY2FuIGJlIGJ1aWx0CiMgYnkgdHdvIGRpZmZlcmVudCBwYXRocy4KdXNlIGNv bnN0YW50IENPTVBJTEVfTElCVE9PTCAgPT4gMTsKdXNlIGNvbnN0YW50IENPTVBJTEVfT1JE SU5BUlkgPT4gMjsKCiMgV2UgY2FuJ3QgYWx3YXlzIGFzc29jaWF0ZSBhIGxvY2F0aW9uIHRv IGEgdmFyaWFibGUgb3IgYSBydWxlLAojIHdoZW4gaXQncyBkZWZpbmVkIGJ5IEF1dG9tYWtl LiAgV2UgdXNlIElOVEVSTkFMIGluIHRoaXMgY2FzZS4KdXNlIGNvbnN0YW50IElOVEVSTkFM ID0+IG5ldyBBdXRvbWFrZTo6TG9jYXRpb247CgojIFNlcmlhbGl6YXRpb24ga2V5cyBmb3Ig bWVzc2FnZSBxdWV1ZXMuCnVzZSBjb25zdGFudCBRVUVVRV9NRVNTQUdFICAgPT4gIm1zZyI7 CnVzZSBjb25zdGFudCBRVUVVRV9DT05GX0ZJTEUgPT4gImNvbmYgZmlsZSI7CnVzZSBjb25z dGFudCBRVUVVRV9MT0NBVElPTiAgPT4gImxvY2F0aW9uIjsKdXNlIGNvbnN0YW50IFFVRVVF X1NUUklORyAgICA9PiAic3RyaW5nIjsKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gIyMKIyMgVmFyaWFibGVzIHJlbGF0ZWQgdG8gdGhlIG9wdGlvbnMuICAjIwoj IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgojIFRSVUUgaWYgd2Ug c2hvdWxkIGFsd2F5cyBnZW5lcmF0ZSBNYWtlZmlsZS5pbi4KbXkgJGZvcmNlX2dlbmVyYXRp b24gPSAxOwoKIyBGcm9tIHRoZSBQZXJsIG1hbnVhbC4KbXkgJHN5bWxpbmtfZXhpc3RzID0g KGV2YWwgJ3N5bWxpbmsgKCIiLCAiIik7JywgJEAgZXEgJycpOwoKIyBUUlVFIGlmIG1pc3Np bmcgc3RhbmRhcmQgZmlsZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbXkgJGFkZF9taXNzaW5n ID0gMDsKCiMgVFJVRSBpZiB3ZSBzaG91bGQgY29weSBtaXNzaW5nIGZpbGVzOyBvdGhlcndp c2Ugc3ltbGluayBpZiBwb3NzaWJsZS4KbXkgJGNvcHlfbWlzc2luZyA9IDA7CgojIFRSVUUg aWYgd2Ugc2hvdWxkIGFsd2F5cyB1cGRhdGUgZmlsZXMgdGhhdCB3ZSBrbm93IGFib3V0Lgpt eSAkZm9yY2VfbWlzc2luZyA9IDA7CgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAjIwojIyBWYXJpYWJsZXMgZmlsbGVkIGR1cmluZyBmaWxlcyBzY2Fu bmluZy4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g IyMKCiMgTmFtZSBvZiB0aGUgY29uZmlndXJlLmFjIGZpbGUuCm15ICRjb25maWd1cmVfYWM7 CgojIEZpbGVzIGZvdW5kIGJ5IHNjYW5uaW5nIGNvbmZpZ3VyZS5hYyBmb3IgTElCT0JKUy4K bXkgJWxpYnNvdXJjZXMgPSAoKTsKCiMgTmFtZXMgdXNlZCBpbiBBQ19DT05GSUdfSEVBREVS UyBjYWxsLgpteSBAY29uZmlnX2hlYWRlcnMgPSAoKTsKCiMgTmFtZXMgdXNlZCBpbiBBQ19D T05GSUdfTElOS1MgY2FsbC4KbXkgQGNvbmZpZ19saW5rcyA9ICgpOwoKIyBMaXN0IG9mIE1h a2VmaWxlLmFtJ3MgdG8gcHJvY2VzcywgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgb3V0cHV0 cy4KbXkgQGlucHV0X2ZpbGVzID0gKCk7Cm15ICVvdXRwdXRfZmlsZXMgPSAoKTsKCiMgQ29t cGxldGUgbGlzdCBvZiBNYWtlZmlsZS5hbSdzIHRoYXQgZXhpc3QuCm15IEBjb25maWd1cmVf aW5wdXRfZmlsZXMgPSAoKTsKCiMgTGlzdCBvZiBmaWxlcyBpbiBBQ19DT05GSUdfRklMRVMv QUNfT1VUUFVUIHdpdGhvdXQgTWFrZWZpbGUuYW0ncywKIyBhbmQgdGhlaXIgb3V0cHV0cy4K bXkgQG90aGVyX2lucHV0X2ZpbGVzID0gKCk7CiMgV2hlcmUgZWFjaCBBQ19DT05GSUdfRklM RVMvQUNfT1VUUFVUL0FDX0NPTkZJR19MSU5LL0FDX0NPTkZJR19IRUFERVJTCiMgYXBwZWFy cy4gIFRoZSBrZXlzIGFyZSB0aGUgZmlsZXMgY3JlYXRlZCBieSB0aGVzZSBtYWNyb3MuCm15 ICVhY19jb25maWdfZmlsZXNfbG9jYXRpb24gPSAoKTsKIyBUaGUgY29uZGl0aW9uIHVuZGVy IHdoaWNoIEFDX0NPTkZJR19GT09TIGFwcGVhcnMuCm15ICVhY19jb25maWdfZmlsZXNfY29u ZGl0aW9uID0gKCk7CgojIERpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGNvbmZpZ3VyZS1yZXF1 aXJlZCBmaWxlcy4gIFRoaXMKIyB3aWxsIGJlIGNvbXB1dGVkIGJ5IGxvY2F0ZV9hdXhfZGly KCkgYW5kIGNhbiBiZSBzZXQgdXNpbmcKIyBBQ19DT05GSUdfQVVYX0RJUiBpbiBjb25maWd1 cmUuYWMuCiMgJENPTkZJR19BVVhfRElSIGlzIHRoZSAncmF3JyBkaXJlY3RvcnksIHZhbGlk IG9ubHkgaW4gdGhlIHNvdXJjZS10cmVlLgpteSAkY29uZmlnX2F1eF9kaXIgPSAnJzsKbXkg JGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMgPSAwOwojICRBTV9DT05GSUdf QVVYX0RJUiBpcyBwcmVmaXhlZCB3aXRoICQodG9wX3NyY2RpciksIHNvIGl0IGNhbiBiZSB1 c2VkCiMgaW4gTWFrZWZpbGVzLgpteSAkYW1fY29uZmlnX2F1eF9kaXIgPSAnJzsKCiMgRGly ZWN0b3J5IHRvIHNlYXJjaCBmb3IgQUNfTElCU09VUkNFIGZpbGVzLCBhcyBzZXQgYnkgQUNf Q09ORklHX0xJQk9CSl9ESVIKIyBpbiBjb25maWd1cmUuYWMuCm15ICRjb25maWdfbGlib2Jq X2RpciA9ICcnOwoKIyBXaGV0aGVyIEFNX0dOVV9HRVRURVhUIGhhcyBiZWVuIHNlZW4gaW4g Y29uZmlndXJlLmFjLgpteSAkc2Vlbl9nZXR0ZXh0ID0gMDsKIyBXaGV0aGVyIEFNX0dOVV9H RVRURVhUKFtleHRlcm5hbF0pIGlzIHVzZWQuCm15ICRzZWVuX2dldHRleHRfZXh0ZXJuYWwg PSAwOwojIFdoZXJlIEFNX0dOVV9HRVRURVhUIGFwcGVhcnMuCm15ICRhY19nZXR0ZXh0X2xv Y2F0aW9uOwojIFdoZXRoZXIgQU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVIgaGFzIGJlZW4g c2Vlbi4KbXkgJHNlZW5fZ2V0dGV4dF9pbnRsID0gMDsKCiMgVGhlIGFyZ3VtZW50cyBvZiB0 aGUgQU1fRVhUUkFfUkVDVVJTSVZFX1RBUkdFVFMgY2FsbCAoaWYgYW55KS4KbXkgQGV4dHJh X3JlY3Vyc2l2ZV90YXJnZXRzID0gKCk7CgojIExpc3RzIG9mIHRhZ3Mgc3VwcG9ydGVkIGJ5 IExpYnRvb2wuCm15ICVsaWJ0b29sX3RhZ3MgPSAoKTsKIyAxIGlmIExpYnRvb2wgdXNlcyBM VF9TVVBQT1JURURfVEFHLiAgSWYgaXQgZG9lcywgdGhlbiBpdCBhbHNvCiMgdXNlcyBBQ19S RVFVSVJFX0FVWF9GSUxFLgpteSAkbGlidG9vbF9uZXdfYXBpID0gMDsKCiMgTW9zdCBpbXBv cnRhbnQgQUNfQ0FOT05JQ0FMXyogbWFjcm8gc2VlbiBzbyBmYXIuCm15ICRzZWVuX2Nhbm9u aWNhbCA9IDA7CgojIFdoZXJlIEFNX01BSU5UQUlORVJfTU9ERSBhcHBlYXJzLgpteSAkc2Vl bl9tYWludF9tb2RlOwoKIyBBY3R1YWwgdmVyc2lvbiB3ZSd2ZSBzZWVuLgpteSAkcGFja2Fn ZV92ZXJzaW9uID0gJyc7CgojIFdoZXJlIHZlcnNpb24gaXMgZGVmaW5lZC4KbXkgJHBhY2th Z2VfdmVyc2lvbl9sb2NhdGlvbjsKCiMgVFJVRSBpZiB3ZSd2ZSBzZWVuIEFNX1BST0dfQVIK bXkgJHNlZW5fYXIgPSAwOwoKIyBMb2NhdGlvbiBvZiBBQ19SRVFVSVJFX0FVWF9GSUxFIGNh bGxzLCBpbmRleGVkIGJ5IHRoZWlyIGFyZ3VtZW50LgpteSAlcmVxdWlyZWRfYXV4X2ZpbGUg PSAoKTsKCiMgV2hlcmUgQU1fSU5JVF9BVVRPTUFLRSBpcyBjYWxsZWQuCm15ICRzZWVuX2lu aXRfYXV0b21ha2UgPSAwOwoKIyBUUlVFIGlmIHdlJ3ZlIHNlZW4gQU1fQVVUT01BS0VfVkVS U0lPTi4KbXkgJHNlZW5fYXV0b21ha2VfdmVyc2lvbiA9IDA7CgojIEhhc2ggdGFibGUgb2Yg ZGlzY292ZXJlZCBjb25maWd1cmUgc3Vic3RpdHV0aW9ucy4gIEtleXMgYXJlIG5hbWVzLAoj IHZhbHVlcyBhcmUgJ0ZJTEU6TElORScgc3RyaW5ncyB3aGljaCBhcmUgdXNlZCBieSBlcnJv ciBtZXNzYWdlCiMgZ2VuZXJhdGlvbi4KbXkgJWNvbmZpZ3VyZV92YXJzID0gKCk7CgojIEln bm9yZWQgY29uZmlndXJlIHN1YnN0aXR1dGlvbnMgKGkuZS4sIHZhcmlhYmxlcyBub3QgdG8g YmUgb3V0cHV0IGluCiMgTWFrZWZpbGUuaW4pCm15ICVpZ25vcmVkX2NvbmZpZ3VyZV92YXJz ID0gKCk7CgojIEZpbGVzIGluY2x1ZGVkIGJ5ICRjb25maWd1cmVfYWMuCm15IEBjb25maWd1 cmVfZGVwcyA9ICgpOwoKIyBHcmVhdGVzdCB0aW1lc3RhbXAgb2YgY29uZmlndXJlJ3MgZGVw ZW5kZW5jaWVzLgpteSAkY29uZmlndXJlX2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0gMDsK CiMgSGFzaCB0YWJsZSBvZiBBTV9DT05ESVRJT05BTCB2YXJpYWJsZXMgc2VlbiBpbiBjb25m aWd1cmUuCm15ICVjb25maWd1cmVfY29uZCA9ICgpOwoKIyBUaGlzIG1hcHMgZXh0ZW5zaW9u cyBvbnRvIGxhbmd1YWdlIG5hbWVzLgpteSAlZXh0ZW5zaW9uX21hcCA9ICgpOwoKIyBMaXN0 IG9mIHRoZSBESVNUX0NPTU1PTiBmaWxlcyB3ZSBkaXNjb3ZlcmVkIHdoaWxlIHJlYWRpbmcK IyBjb25maWd1cmUuYWMuCm15IEBjb25maWd1cmVfZGlzdF9jb21tb24gPSAoKTsKCiMgVGhp cyBtYXBzIGxhbmd1YWdlcyBuYW1lcyBvbnRvIG9iamVjdHMuCm15ICVsYW5ndWFnZXMgPSAo KTsKIyBNYXBzIGVhY2ggbGlua2VyIHZhcmlhYmxlIG9udG8gYSBsYW5ndWFnZSBvYmplY3Qu Cm15ICVsaW5rX2xhbmd1YWdlcyA9ICgpOwoKIyBtYXBzIGV4dGVuc2lvbnMgdG8gbmVlZGVk IHNvdXJjZSBmbGFncy4KbXkgJXNvdXJjZWZsYWdzID0gKCk7CgojIExpc3Qgb2YgdGFyZ2V0 cyB3ZSBtdXN0IGFsd2F5cyBvdXRwdXQuCiMgRklYTUU6IENvbXBsZXRlLCBhbmQgcmVtb3Zl IGZhbHNlbHkgcmVxdWlyZWQgdGFyZ2V0cy4KbXkgJXJlcXVpcmVkX3RhcmdldHMgPQogICgK ICAgJ2FsbCcgICAgICAgICAgPT4gMSwKICAgJ2R2aScJICA9PiAxLAogICAncGRmJwkgID0+ IDEsCiAgICdwcycJCSAgPT4gMSwKICAgJ2luZm8nCSAgPT4gMSwKICAgJ2luc3RhbGwtaW5m bycgPT4gMSwKICAgJ2luc3RhbGwnICAgICAgPT4gMSwKICAgJ2luc3RhbGwtZGF0YScgPT4g MSwKICAgJ2luc3RhbGwtZXhlYycgPT4gMSwKICAgJ3VuaW5zdGFsbCcgICAgPT4gMSwKCiAg ICMgRklYTUU6IE5vdCByZXF1aXJlZCwgdGVtcG9yYXJ5IGhhY2tzLgogICAjIFdlbGwsIGFj dHVhbGx5IHRoZXkgYXJlIHNvcnQgb2YgcmVxdWlyZWQ6IHRoZSAtcmVjdXJzaXZlCiAgICMg dGFyZ2V0cyB3aWxsIHJ1biB0aGVtIGFueXdheS4uLgogICAnaHRtbC1hbScgICAgICAgICA9 PiAxLAogICAnZHZpLWFtJyAgICAgICAgICA9PiAxLAogICAncGRmLWFtJyAgICAgICAgICA9 PiAxLAogICAncHMtYW0nICAgICAgICAgICA9PiAxLAogICAnaW5mby1hbScgICAgICAgICA9 PiAxLAogICAnaW5zdGFsbC1kYXRhLWFtJyA9PiAxLAogICAnaW5zdGFsbC1leGVjLWFtJyA9 PiAxLAogICAnaW5zdGFsbC1odG1sLWFtJyA9PiAxLAogICAnaW5zdGFsbC1kdmktYW0nICA9 PiAxLAogICAnaW5zdGFsbC1wZGYtYW0nICA9PiAxLAogICAnaW5zdGFsbC1wcy1hbScgICA9 PiAxLAogICAnaW5zdGFsbC1pbmZvLWFtJyA9PiAxLAogICAnaW5zdGFsbGNoZWNrLWFtJyA9 PiAxLAogICAndW5pbnN0YWxsLWFtJyAgICA9PiAxLAogICAndGFncy1hbScgICAgICAgICA9 PiAxLAogICAnY3RhZ3MtYW0nICAgICAgICA9PiAxLAogICAnY3Njb3BlbGlzdC1hbScgICA9 PiAxLAogICAnaW5zdGFsbC1tYW4nICAgICA9PiAxLAogICk7CgojIFF1ZXVlIHRvIHB1c2gg cmVxdWlyZV9jb25mX2ZpbGUgcmVxdWlyZW1lbnRzIHRvLgpteSAkcmVxdWlyZWRfY29uZl9m aWxlX3F1ZXVlOwoKIyBUaGUgbmFtZSBvZiB0aGUgTWFrZWZpbGUgY3VycmVudGx5IGJlaW5n IHByb2Nlc3NlZC4KbXkgJGFtX2ZpbGUgPSAnQlVHJzsKCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBWYXJpYWJsZXMg cmVzZXQgYnkgJmluaXRpYWxpemVfcGVyX2lucHV0LiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgojIFJlbGF0aXZlIGRpciBvZiB0aGUg b3V0cHV0IG1ha2VmaWxlLgpteSAkcmVsYXRpdmVfZGlyOwoKIyBHcmVhdGVzdCB0aW1lc3Rh bXAgb2YgdGhlIG91dHB1dCdzIGRlcGVuZGVuY2llcyAoZXhjbHVkaW5nCiMgY29uZmlndXJl J3MgZGVwZW5kZW5jaWVzKS4KbXkgJG91dHB1dF9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsK CiMgVGhlc2UgdmFyaWFibGVzIGFyZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBlYWNoIE1ha2Vm aWxlLmluLgojIFRoZXkgaG9sZCB0aGUgTWFrZWZpbGUuaW4gdW50aWwgaXQgaXMgcmVhZHkg dG8gYmUgcHJpbnRlZC4KbXkgJG91dHB1dF92YXJzOwpteSAkb3V0cHV0X2FsbDsKbXkgJG91 dHB1dF9oZWFkZXI7Cm15ICRvdXRwdXRfcnVsZXM7Cm15ICRvdXRwdXRfdHJhaWxlcjsKCiMg VGhpcyBpcyB0aGUgY29uZGl0aW9uYWwgc3RhY2ssIHVwZGF0ZWQgb24gaWYvZWxzZS9lbmRp ZiwgYW5kCiMgdXNlZCB0byBidWlsZCBDb25kaXRpb24gb2JqZWN0cy4KbXkgQGNvbmRfc3Rh Y2s7CgojIFRoaXMgaG9sZHMgdGhlIHNldCBvZiBpbmNsdWRlZCBmaWxlcy4KbXkgQGluY2x1 ZGVfc3RhY2s7CgojIExpc3Qgb2YgZGVwZW5kZW5jaWVzIGZvciB0aGUgb2J2aW91cyB0YXJn ZXRzLgpteSBAYWxsOwpteSBAY2hlY2s7Cm15IEBjaGVja190ZXN0czsKCiMgS2V5cyBpbiB0 aGlzIGhhc2ggdGFibGUgYXJlIGZpbGVzIHRvIGRlbGV0ZS4gIFRoZSBhc3NvY2lhdGVkCiMg dmFsdWUgdGVsbHMgd2hlbiB0aGlzIHNob3VsZCBoYXBwZW4gKE1PU1RMWV9DTEVBTiwgRElT VF9DTEVBTiwgZXRjLikKbXkgJWNsZWFuX2ZpbGVzOwoKIyBLZXlzIGluIHRoaXMgaGFzaCB0 YWJsZSBhcmUgb2JqZWN0IGZpbGVzIG9yIG90aGVyIGZpbGVzIGluCiMgc3ViZGlyZWN0b3Jp ZXMgd2hpY2ggbmVlZCB0byBiZSByZW1vdmVkLiAgVGhpcyBvbmx5IGhvbGRzIGZpbGVzCiMg d2hpY2ggYXJlIGNyZWF0ZWQgYnkgY29tcGlsYXRpb25zLiAgVGhlIHZhbHVlIGluIHRoZSBo YXNoIGluZGljYXRlcwojIHdoZW4gdGhlIGZpbGUgc2hvdWxkIGJlIHJlbW92ZWQuCm15ICVj b21waWxlX2NsZWFuX2ZpbGVzOwoKIyBLZXlzIGluIHRoaXMgaGFzaCB0YWJsZSBhcmUgZGly ZWN0b3JpZXMgd2hlcmUgd2UgZXhwZWN0IHRvIGJ1aWxkIGEKIyBsaWJ0b29sIG9iamVjdC4g IFdlIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRlY2lkZSB3aGF0IGRpcmVjdG9yaWVzCiMg dG8gZGVsZXRlLgpteSAlbGlidG9vbF9jbGVhbl9kaXJlY3RvcmllczsKCiMgVmFsdWUgb2Yg JChTT1VSQ0VTKSwgdXNlZCBieSB0YWdzLmFtLgpteSBAc291cmNlczsKIyBTb3VyY2VzIHdo aWNoIGdvIGluIHRoZSBkaXN0cmlidXRpb24uCm15IEBkaXN0X3NvdXJjZXM7CgojIFRoaXMg aGFzaCBtYXBzIG9iamVjdCBmaWxlIG5hbWVzIG9udG8gdGhlaXIgY29ycmVzcG9uZGluZyBz b3VyY2UKIyBmaWxlIG5hbWVzLiAgVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB0aGF0IGVhY2gg b2JqZWN0IGlzIGNyZWF0ZWQKIyBieSBhIHNpbmdsZSBzb3VyY2UgZmlsZS4KbXkgJW9iamVj dF9tYXA7CgojIFRoaXMgaGFzaCBtYXBzIG9iamVjdCBmaWxlIG5hbWVzIG9udG8gYW4gaW50 ZWdlciB2YWx1ZSByZXByZXNlbnRpbmcKIyB3aGV0aGVyIHRoaXMgb2JqZWN0IGhhcyBiZWVu IGJ1aWx0IHZpYSBvcmRpbmFyeSBjb21waWxhdGlvbiBvcgojIGxpYnRvb2wgY29tcGlsYXRp b24gKHRoZSBDT01QSUxFXyogY29uc3RhbnRzKS4KbXkgJW9iamVjdF9jb21waWxhdGlvbl9t YXA7CgoKIyBUaGlzIGtlZXBzIHRyYWNrIG9mIHRoZSBkaXJlY3RvcmllcyBmb3Igd2hpY2gg d2UndmUgYWxyZWFkeQojIGNyZWF0ZWQgZGlyc3RhbXAgY29kZS4gIEtleXMgYXJlIGRpcmVj dG9yaWVzLCB2YWx1ZXMgYXJlIHN0YW1wIGZpbGVzLgojIFNldmVyYWwga2V5cyBjYW4gc2hh cmUgdGhlIHNhbWUgc3RhbXAgZmlsZXMgaWYgdGhleSBhcmUgZXF1aXZhbGVudAojIChhcyBh cmUgJy4vL2ZvbycgYW5kICdmb28nKS4KbXkgJWRpcmVjdG9yeV9tYXA7CgojIEFsbCAuUCBm aWxlcy4KbXkgJWRlcF9maWxlczsKCiMgVGhpcyBpcyBhIGxpc3Qgb2YgYWxsIHRhcmdldHMg dG8gcnVuIGR1cmluZyAibWFrZSBkaXN0Ii4KbXkgQGRpc3RfdGFyZ2V0czsKCiMgTGlzdCBv ZiBhbGwgcHJvZ3JhbXMsIGxpYnJhcmllcyBhbmQgbHRsaWJyYXJpZXMgYXMgcmV0dXJuZWQK IyBieSBhbV9pbnN0YWxsX3ZhcgpteSBAcHJvZ2xpc3Q7Cm15IEBsaWJsaXN0OwpteSBAbHRs aWJsaXN0OwojIEJsYWNrbGlzdCBvZiB0YXJnZXRzIChhcyBjYW5vbmljYWwgYmFzZSBuYW1l KSBmb3Igd2hpY2ggb2JqZWN0IGZpbGUgbmFtZXMKIyBtYXkgbm90IGJlIGF1dG9tYXRpY2Fs bHkgc2hvcnRlbmVkCm15IEBkdXBfc2hvcnRuYW1lczsKCiMgS2VlcCB0cmFjayBvZiBhbGwg cHJvZ3JhbXMgZGVjbGFyZWQgaW4gdGhpcyBNYWtlZmlsZSwgd2l0aG91dAojICQoRVhFRVhU KS4gIEBzdWJzdGl0dXRpb25zQCBhcmUgbm90IGxpc3RlZC4KbXkgJWtub3duX3Byb2dyYW1z OwpteSAla25vd25fbGlicmFyaWVzOwoKIyBUaGlzIGtlZXBzIHRyYWNrIG9mIHdoaWNoIGV4 dGVuc2lvbnMgd2UndmUgc2VlbiAodGhhdCB3ZSBjYXJlCiMgYWJvdXQpLgpteSAlZXh0ZW5z aW9uX3NlZW47CgojIFRoaXMgaXMgcmFuZG9tIHNjcmF0Y2ggc3BhY2UgZm9yIHRoZSBsYW5n dWFnZSBmaW5pc2ggZnVuY3Rpb25zLgojIERvbid0IHJhbmRvbWx5IG92ZXJ3cml0ZSBpdDsg ZXhhbWluZSBvdGhlciB1c2VzIG9mIGtleXMgZmlyc3QuCm15ICVsYW5ndWFnZV9zY3JhdGNo OwoKIyBXZSBrZWVwIHRyYWNrIG9mIHdoaWNoIG9iamVjdHMgbmVlZCBzcGVjaWFsIChwZXIt ZXhlY3V0YWJsZSkKIyBoYW5kbGluZyBvbiBhIHBlci1sYW5ndWFnZSBiYXNpcy4KbXkgJWxh bmdfc3BlY2lmaWNfZmlsZXM7CgojIExpc3Qgb2YgZGlzdHJpYnV0ZWQgZmlsZXMgdG8gYmUg cHV0IGluIERJU1RfQ09NTU9OLgpteSBAZGlzdF9jb21tb247CgojIFRoaXMgaXMgc2V0IHdo ZW4gJ2hhbmRsZV9kaXN0JyBoYXMgZmluaXNoZWQuICBPbmNlIHRoaXMgaGFwcGVucywKIyB3 ZSBzaG91bGQgbm8gbG9uZ2VyIHB1c2ggb24gZGlzdF9jb21tb24uCm15ICRoYW5kbGVfZGlz dF9ydW47CgojIFVzZWQgdG8gc3RvcmUgYSBzZXQgb2YgbGlua2VycyBuZWVkZWQgdG8gZ2Vu ZXJhdGUgdGhlIHNvdXJjZXMgY3VycmVudGx5CiMgdW5kZXIgY29uc2lkZXJhdGlvbi4KbXkg JWxpbmtlcnNfdXNlZDsKCiMgVHJ1ZSBpZiB3ZSBuZWVkICdMSU5LJyBkZWZpbmVkLiAgVGhp cyBpcyBhIGhhY2suCm15ICRuZWVkX2xpbms7CgojIERvZXMgdGhlIGdlbmVyYXRlZCBNYWtl ZmlsZSBoYXZlIHRvIGJ1aWxkIHNvbWUgY29tcGlsZWQgb2JqZWN0CiMgKGZvciBiaW5hcnkg cHJvZ3JhbXMsIG9yIHBsYWluIG9yIGxpYnRvb2wgbGlicmFyaWVzKT8KbXkgJG11c3RfaGFu ZGxlX2NvbXBpbGVkX29iamVjdHM7CgojIFJlY29yZCBlYWNoIGZpbGUgcHJvY2Vzc2VkIGJ5 IG1ha2VfcGFyYWdyYXBocy4KbXkgJXRyYW5zZm9ybWVkX2ZpbGVzOwoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBWYXJpYWJsZXMgbm90IHJlc2V0IGJ5ICZpbml0aWFsaXplX3Blcl9pbnB1dC4gICMjCiMj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMg Q2FjaGUgZWFjaCBmaWxlIHByb2Nlc3NlZCBieSBtYWtlX3BhcmFncmFwaHMuCiMgKFRoaXMg aXMgZGlmZmVyZW50IGZyb20gJXRyYW5zZm9ybWVkX2ZpbGVzIGJlY2F1c2UKIyAldHJhbnNm b3JtZWRfZmlsZXMgaXMgcmVzZXQgZm9yIGVhY2ggZmlsZSB3aGlsZSAlYW1fZmlsZV9jYWNo ZQojIGl0IGdsb2JhbCB0byB0aGUgcnVuLikKbXkgJWFtX2ZpbGVfY2FjaGU7CgojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCgojIHZhcl9TVUZGSVhFU190cmlnZ2VyICgkVFlQRSwgJFZBTFVFKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgaXMgY2FsbGVkIGJ5IEF1dG9t YWtlOjpWYXJpYWJsZTo6ZGVmaW5lKCkgd2hlbiBTVUZGSVhFUwojIGlzIGRlZmluZWQgKCRU WVBFIGVxICcnKSBvciBhcHBlbmRlZCAoJFRZUEUgZXEgJysnKS4KIyBUaGUgd29yayBoZXJl IG5lZWRzIHRvIGJlIHBlcmZvcm1lZCBhcyBhIHNpZGUtZWZmZWN0IG9mIHRoZQojIG1hY3Jv X2RlZmluZSgpIGNhbGwgYmVjYXVzZSBTVUZGSVhFUyBkZWZpbml0aW9ucyBpbXBhY3QKIyBv biAkS05PV05fRVhURU5TSU9OU19QQVRURVJOIHdoaWNoIGlzIHVzZWQgdXNlZCB3aGVuIHBh cnNpbmcKIyB0aGUgaW5wdXQgYW0gZmlsZS4Kc3ViIHZhcl9TVUZGSVhFU190cmlnZ2VyCnsK ICAgIG15ICgkdHlwZSwgJHZhbHVlKSA9IEBfOwogICAgYWNjZXB0X2V4dGVuc2lvbnMgKHNw bGl0ICgnICcsICR2YWx1ZSkpOwp9CkF1dG9tYWtlOjpWYXJpYWJsZTo6aG9vayAoJ1NVRkZJ WEVTJywgXCZ2YXJfU1VGRklYRVNfdHJpZ2dlcik7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyBpbml0aWFs aXplX3Blcl9pbnB1dCAoKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgKFJlKS1Jbml0 aWFsaXplIHBlci1NYWtlZmlsZS5hbSB2YXJpYWJsZXMuCnN1YiBpbml0aWFsaXplX3Blcl9p bnB1dCAoKQp7CiAgICByZXNldF9sb2NhbF9kdXBsaWNhdGVzICgpOwoKICAgICRyZWxhdGl2 ZV9kaXIgPSB1bmRlZjsKCiAgICAkb3V0cHV0X2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0g MDsKCiAgICAkb3V0cHV0X3ZhcnMgPSAnJzsKICAgICRvdXRwdXRfYWxsID0gJyc7CiAgICAk b3V0cHV0X2hlYWRlciA9ICcnOwogICAgJG91dHB1dF9ydWxlcyA9ICcnOwogICAgJG91dHB1 dF90cmFpbGVyID0gJyc7CgogICAgQXV0b21ha2U6Ok9wdGlvbnM6OnJlc2V0OwogICAgQXV0 b21ha2U6OlZhcmlhYmxlOjpyZXNldDsKICAgIEF1dG9tYWtlOjpSdWxlOjpyZXNldDsKCiAg ICBAY29uZF9zdGFjayA9ICgpOwoKICAgIEBpbmNsdWRlX3N0YWNrID0gKCk7CgogICAgQGFs bCA9ICgpOwogICAgQGNoZWNrID0gKCk7CiAgICBAY2hlY2tfdGVzdHMgPSAoKTsKCiAgICAl Y2xlYW5fZmlsZXMgPSAoKTsKICAgICVjb21waWxlX2NsZWFuX2ZpbGVzID0gKCk7CgogICAg IyBXZSBhbHdheXMgaW5jbHVkZSAnLicuICBUaGlzIGlzbid0IHN0cmljdGx5IGNvcnJlY3Qu CiAgICAlbGlidG9vbF9jbGVhbl9kaXJlY3RvcmllcyA9ICgnLicgPT4gMSk7CgogICAgQHNv dXJjZXMgPSAoKTsKICAgIEBkaXN0X3NvdXJjZXMgPSAoKTsKCiAgICAlb2JqZWN0X21hcCA9 ICgpOwogICAgJW9iamVjdF9jb21waWxhdGlvbl9tYXAgPSAoKTsKCiAgICAlZGlyZWN0b3J5 X21hcCA9ICgpOwoKICAgICVkZXBfZmlsZXMgPSAoKTsKCiAgICBAZGlzdF90YXJnZXRzID0g KCk7CgogICAgQGRpc3RfY29tbW9uID0gKCk7CiAgICAkaGFuZGxlX2Rpc3RfcnVuID0gMDsK CiAgICBAcHJvZ2xpc3QgPSAoKTsKICAgIEBsaWJsaXN0ID0gKCk7CiAgICBAbHRsaWJsaXN0 ID0gKCk7CiAgICBAZHVwX3Nob3J0bmFtZXMgPSAoKTsKCiAgICAla25vd25fcHJvZ3JhbXMg PSAoKTsKICAgICVrbm93bl9saWJyYXJpZXMgPSAoKTsKCiAgICAlZXh0ZW5zaW9uX3NlZW4g PSAoKTsKCiAgICAlbGFuZ3VhZ2Vfc2NyYXRjaCA9ICgpOwoKICAgICVsYW5nX3NwZWNpZmlj X2ZpbGVzID0gKCk7CgogICAgJG5lZWRfbGluayA9IDA7CgogICAgJG11c3RfaGFuZGxlX2Nv bXBpbGVkX29iamVjdHMgPSAwOwoKICAgICV0cmFuc2Zvcm1lZF9maWxlcyA9ICgpOwp9CgoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBJbml0aWFsaXplIG91ciBsaXN0IG9mIGxhbmd1YWdlcyB0aGF0IGFy ZSBpbnRlcm5hbGx5IHN1cHBvcnRlZC4KCm15IEBjcHBsaWtlX2ZsYWdzID0KICBxd3sKICAg ICQoREVGUykKICAgICQoREVGQVVMVF9JTkNMVURFUykKICAgICQoSU5DTFVERVMpCiAgICAk KEFNX0NQUEZMQUdTKQogICAgJChDUFBGTEFHUykKICB9OwoKIyBDLgpyZWdpc3Rlcl9sYW5n dWFnZSAoJ25hbWUnID0+ICdjJywKCQkgICAnTmFtZScgPT4gJ0MnLAoJCSAgICdjb25maWdf dmFycycgPT4gWydDQyddLAoJCSAgICdhdXRvZGVwJyA9PiAnJywKCQkgICAnZmxhZ3MnID0+ IFsnQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdDQycsCgkJICAgJ2Nv bXBpbGVyJyA9PiAnQ09NUElMRScsCgkJICAgJ2NvbXBpbGUnID0+ICJcJChDQykgQGNwcGxp a2VfZmxhZ3MgXCQoQU1fQ0ZMQUdTKSBcJChDRkxBR1MpIiwKCQkgICAnbGRlcicgPT4gJ0ND TEQnLAoJCSAgICdsZCcgPT4gJyQoQ0MpJywKCQkgICAnbGlua2VyJyA9PiAnTElOSycsCgkJ ICAgJ2xpbmsnID0+ICckKENDTEQpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZM QUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJ CSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdDQycs CgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLmMnXSk7CgojIEMrKy4KcmVnaXN0ZXJfbGFuZ3Vh Z2UgKCduYW1lJyA9PiAnY3h4JywKCQkgICAnTmFtZScgPT4gJ0MrKycsCgkJICAgJ2NvbmZp Z192YXJzJyA9PiBbJ0NYWCddLAoJCSAgICdsaW5rZXInID0+ICdDWFhMSU5LJywKCQkgICAn bGluaycgPT4gJyQoQ1hYTEQpICQoQU1fQ1hYRkxBR1MpICQoQ1hYRkxBR1MpICQoQU1fTERG TEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2F1dG9kZXAnID0+ICdDWFgnLAoJCSAg ICdmbGFncycgPT4gWydDWFhGTEFHUycsICdDUFBGTEFHUyddLAoJCSAgICdjb21waWxlJyA9 PiAiXCQoQ1hYKSBAY3BwbGlrZV9mbGFncyBcJChBTV9DWFhGTEFHUykgXCQoQ1hYRkxBR1Mp IiwKCQkgICAnY2NlcicgPT4gJ0NYWCcsCgkJICAgJ2NvbXBpbGVyJyA9PiAnQ1hYQ09NUElM RScsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkgICAnb3V0cHV0X2ZsYWcnID0+ ICctbycsCgkJICAgJ2xpYnRvb2xfdGFnJyA9PiAnQ1hYJywKCQkgICAnbGRlcicgPT4gJ0NY WExEJywKCQkgICAnbGQnID0+ICckKENYWCknLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAgICdl eHRlbnNpb25zJyA9PiBbJy5jKysnLCAnLmNjJywgJy5jcHAnLCAnLmN4eCcsICcuQyddKTsK CiMgT2JqZWN0aXZlIEMuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ29iamMnLAoJ CSAgICdOYW1lJyA9PiAnT2JqZWN0aXZlIEMnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydP QkpDJ10sCgkJICAgJ2xpbmtlcicgPT4gJ09CSkNMSU5LJywKCQkgICAnbGluaycgPT4gJyQo T0JKQ0xEKSAkKEFNX09CSkNGTEFHUykgJChPQkpDRkxBR1MpICQoQU1fTERGTEFHUykgJChM REZMQUdTKSAtbyAkQCcsCgkJICAgJ2F1dG9kZXAnID0+ICdPQkpDJywKCQkgICAnZmxhZ3Mn ID0+IFsnT0JKQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NvbXBpbGUnID0+ICJcJChP QkpDKSBAY3BwbGlrZV9mbGFncyBcJChBTV9PQkpDRkxBR1MpIFwkKE9CSkNGTEFHUykiLAoJ CSAgICdjY2VyJyA9PiAnT0JKQycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnT0JKQ0NPTVBJTEUn LAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAn LW8nLAoJCSAgICdsZGVyJyA9PiAnT0JKQ0xEJywKCQkgICAnbGQnID0+ICckKE9CSkMpJywK CQkgICAncHVyZScgPT4gMSwKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycubSddKTsKCiMgT2Jq ZWN0aXZlIEMrKy4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnb2JqY3h4JywKCQkg ICAnTmFtZScgPT4gJ09iamVjdGl2ZSBDKysnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydP QkpDWFgnXSwKCQkgICAnbGlua2VyJyA9PiAnT0JKQ1hYTElOSycsCgkJICAgJ2xpbmsnID0+ ICckKE9CSkNYWExEKSAkKEFNX09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAkKEFNX0xE RkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdhdXRvZGVwJyA9PiAnT0JKQ1hYJywK CQkgICAnZmxhZ3MnID0+IFsnT0JKQ1hYRkxBR1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY29t cGlsZScgPT4gIlwkKE9CSkNYWCkgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fT0JKQ1hYRkxBR1Mp IFwkKE9CSkNYWEZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdPQkpDWFgnLAoJCSAgICdjb21w aWxlcicgPT4gJ09CSkNYWENPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycs CgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsZGVyJyA9PiAnT0JKQ1hYTEQn LAoJCSAgICdsZCcgPT4gJyQoT0JKQ1hYKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4 dGVuc2lvbnMnID0+IFsnLm1tJ10pOwoKIyBVbmlmaWVkIFBhcmFsbGVsIEMuCnJlZ2lzdGVy X2xhbmd1YWdlICgnbmFtZScgPT4gJ3VwYycsCgkJICAgJ05hbWUnID0+ICdVbmlmaWVkIFBh cmFsbGVsIEMnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydVUEMnXSwKCQkgICAnbGlua2Vy JyA9PiAnVVBDTElOSycsCgkJICAgJ2xpbmsnID0+ICckKFVQQ0xEKSAkKEFNX1VQQ0ZMQUdT KSAkKFVQQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdh dXRvZGVwJyA9PiAnVVBDJywKCQkgICAnZmxhZ3MnID0+IFsnVVBDRkxBR1MnLCAnQ1BQRkxB R1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKFVQQykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1f VVBDRkxBR1MpIFwkKFVQQ0ZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdVUEMnLAoJCSAgICdj b21waWxlcicgPT4gJ1VQQ0NPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycs CgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsZGVyJyA9PiAnVVBDTEQnLAoJ CSAgICdsZCcgPT4gJyQoVVBDKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lv bnMnID0+IFsnLnVwYyddKTsKCiMgSGVhZGVycy4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1l JyA9PiAnaGVhZGVyJywKCQkgICAnTmFtZScgPT4gJ0hlYWRlcicsCgkJICAgJ2V4dGVuc2lv bnMnID0+IFsnLmgnLCAnLkgnLCAnLmh4eCcsICcuaCsrJywgJy5oaCcsCgkJCQkgICAgJy5o cHAnLCAnLmluYyddLAoJCSAgICMgTm8gb3V0cHV0LgoJCSAgICdvdXRwdXRfZXh0ZW5zaW9u cycgPT4gc3ViIHsgcmV0dXJuICgpIH0sCgkJICAgIyBOb3RoaW5nIHRvIGRvLgoJCSAgICdf ZmluaXNoJyA9PiBzdWIgeyB9KTsKCiMgVmFsYQpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUn ID0+ICd2YWxhJywKCQkgICAnTmFtZScgPT4gJ1ZhbGEnLAoJCSAgICdjb25maWdfdmFycycg PT4gWydWQUxBQyddLAoJCSAgICdmbGFncycgPT4gW10sCgkJICAgJ2NvbXBpbGUnID0+ICck KFZBTEFDKSAkKEFNX1ZBTEFGTEFHUykgJChWQUxBRkxBR1MpJywKCQkgICAnY2NlcicgPT4g J1ZBTEFDJywKCQkgICAnY29tcGlsZXInID0+ICdWQUxBQ09NUElMRScsCgkJICAgJ2V4dGVu c2lvbnMnID0+IFsnLnZhbGEnXSwKCQkgICAnb3V0cHV0X2V4dGVuc2lvbnMnID0+IHN1YiB7 IChteSAkZXh0ID0gJF9bMF0pID1+IHMvdmFsYSQvYy87CgkJCQkJCXJldHVybiAoJGV4dCwp IH0sCgkJICAgJ3J1bGVfZmlsZScgPT4gJ3ZhbGEnLAoJCSAgICdfZmluaXNoJyA9PiBcJmxh bmdfdmFsYV9maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX3ZhbGFfdGFy Z2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVjaWZpYycgPT4gMSk7CgojIFlhY2MgKEMgJiBD KyspLgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICd5YWNjJywKCQkgICAnTmFtZScg PT4gJ1lhY2MnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydZQUNDJ10sCgkJICAgJ2ZsYWdz JyA9PiBbJ1lGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAnJChZQUNDKSAkKEFNX1lGTEFH UykgJChZRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ1lBQ0MnLAoJCSAgICdjb21waWxlcicg PT4gJ1lBQ0NDT01QSUxFJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycueSddLAoJCSAgICdv dXRwdXRfZXh0ZW5zaW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIveS9j LzsKCQkJCQkJcmV0dXJuICgkZXh0LCkgfSwKCQkgICAncnVsZV9maWxlJyA9PiAneWFjYycs CgkJICAgJ19maW5pc2gnID0+IFwmbGFuZ195YWNjX2ZpbmlzaCwKCQkgICAnX3RhcmdldF9o b29rJyA9PiBcJmxhbmdfeWFjY190YXJnZXRfaG9vaywKCQkgICAnbm9kaXN0X3NwZWNpZmlj JyA9PiAxKTsKcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAneWFjY3h4JywKCQkgICAn TmFtZScgPT4gJ1lhY2MgKEMrKyknLAoJCSAgICdjb25maWdfdmFycycgPT4gWydZQUNDJ10s CgkJICAgJ3J1bGVfZmlsZScgPT4gJ3lhY2MnLAoJCSAgICdmbGFncycgPT4gWydZRkxBR1Mn XSwKCQkgICAnY2NlcicgPT4gJ1lBQ0MnLAoJCSAgICdjb21waWxlcicgPT4gJ1lBQ0NDT01Q SUxFJywKCQkgICAnY29tcGlsZScgPT4gJyQoWUFDQykgJChBTV9ZRkxBR1MpICQoWUZMQUdT KScsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnkrKycsICcueXknLCAnLnl4eCcsICcueXBw J10sCgkJICAgJ291dHB1dF9leHRlbnNpb25zJyA9PiBzdWIgeyAobXkgJGV4dCA9ICRfWzBd KSA9fiB0ci95L2MvOwoJCQkJCQlyZXR1cm4gKCRleHQsKSB9LAoJCSAgICdfZmluaXNoJyA9 PiBcJmxhbmdfeWFjY19maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX3lh Y2NfdGFyZ2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVjaWZpYycgPT4gMSk7CgojIExleCAo QyAmIEMrKykuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ2xleCcsCgkJICAgJ05h bWUnID0+ICdMZXgnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydMRVgnXSwKCQkgICAncnVs ZV9maWxlJyA9PiAnbGV4JywKCQkgICAnZmxhZ3MnID0+IFsnTEZMQUdTJ10sCgkJICAgJ2Nv bXBpbGUnID0+ICckKExFWCkgJChBTV9MRkxBR1MpICQoTEZMQUdTKScsCgkJICAgJ2NjZXIn ID0+ICdMRVgnLAoJCSAgICdjb21waWxlcicgPT4gJ0xFWENPTVBJTEUnLAoJCSAgICdleHRl bnNpb25zJyA9PiBbJy5sJ10sCgkJICAgJ291dHB1dF9leHRlbnNpb25zJyA9PiBzdWIgeyAo bXkgJGV4dCA9ICRfWzBdKSA9fiB0ci9sL2MvOwoJCQkJCQlyZXR1cm4gKCRleHQsKSB9LAoJ CSAgICdfZmluaXNoJyA9PiBcJmxhbmdfbGV4X2ZpbmlzaCwKCQkgICAnX3RhcmdldF9ob29r JyA9PiBcJmxhbmdfbGV4X3RhcmdldF9ob29rLAoJCSAgICdub2Rpc3Rfc3BlY2lmaWMnID0+ IDEpOwpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICdsZXh4eCcsCgkJICAgJ05hbWUn ID0+ICdMZXggKEMrKyknLAoJCSAgICdjb25maWdfdmFycycgPT4gWydMRVgnXSwKCQkgICAn cnVsZV9maWxlJyA9PiAnbGV4JywKCQkgICAnZmxhZ3MnID0+IFsnTEZMQUdTJ10sCgkJICAg J2NvbXBpbGUnID0+ICckKExFWCkgJChBTV9MRkxBR1MpICQoTEZMQUdTKScsCgkJICAgJ2Nj ZXInID0+ICdMRVgnLAoJCSAgICdjb21waWxlcicgPT4gJ0xFWENPTVBJTEUnLAoJCSAgICdl eHRlbnNpb25zJyA9PiBbJy5sKysnLCAnLmxsJywgJy5seHgnLCAnLmxwcCddLAoJCSAgICdv dXRwdXRfZXh0ZW5zaW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIvbC9j LzsKCQkJCQkJcmV0dXJuICgkZXh0LCkgfSwKCQkgICAnX2ZpbmlzaCcgPT4gXCZsYW5nX2xl eF9maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX2xleF90YXJnZXRfaG9v aywKCQkgICAnbm9kaXN0X3NwZWNpZmljJyA9PiAxKTsKCiMgQXNzZW1ibGVyLgpyZWdpc3Rl cl9sYW5ndWFnZSAoJ25hbWUnID0+ICdhc20nLAoJCSAgICdOYW1lJyA9PiAnQXNzZW1ibGVy JywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnQ0NBUycsICdDQ0FTRkxBR1MnXSwKCgkJICAg J2ZsYWdzJyA9PiBbJ0NDQVNGTEFHUyddLAoJCSAgICMgVXNlcnMgY2FuIHNldCBBTV9DQ0FT RkxBR1MgdG8gaW5jbHVkZSBERUZTLCBJTkNMVURFUywKCQkgICAjIG9yIGFueXRoaW5nIGVs c2UgcmVxdWlyZWQuICBUaGV5IGNhbiBhbHNvIHNldCBDQ0FTLgoJCSAgICMgT3Igc2ltcGx5 IHVzZSBQcmVwcm9jZXNzZWQgQXNzZW1ibGVyLgoJCSAgICdjb21waWxlJyA9PiAnJChDQ0FT KSAkKEFNX0NDQVNGTEFHUykgJChDQ0FTRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0NDQVMn LAoJCSAgICdjb21waWxlcicgPT4gJ0NDQVNDT01QSUxFJywKCQkgICAnY29tcGlsZV9mbGFn JyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnZXh0ZW5zaW9u cycgPT4gWycucyddKTsKCiMgUHJlcHJvY2Vzc2VkIEFzc2VtYmxlci4KcmVnaXN0ZXJfbGFu Z3VhZ2UgKCduYW1lJyA9PiAnY3BwYXNtJywKCQkgICAnTmFtZScgPT4gJ1ByZXByb2Nlc3Nl ZCBBc3NlbWJsZXInLAoJCSAgICdjb25maWdfdmFycycgPT4gWydDQ0FTJywgJ0NDQVNGTEFH UyddLAoKCQkgICAnYXV0b2RlcCcgPT4gJ0NDQVMnLAoJCSAgICdmbGFncycgPT4gWydDQ0FT RkxBR1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKENDQVMpIEBjcHBs aWtlX2ZsYWdzIFwkKEFNX0NDQVNGTEFHUykgXCQoQ0NBU0ZMQUdTKSIsCgkJICAgJ2NjZXIn ID0+ICdDUFBBUycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnQ1BQQVNDT01QSUxFJywKICAgICAg ICAgICAgICAgICAgICdsaWJ0b29sX3RhZycgPT4gJ0NDJywKCQkgICAnY29tcGlsZV9mbGFn JyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnZXh0ZW5zaW9u cycgPT4gWycuUycsICcuc3gnXSk7CgojIEZvcnRyYW4gNzcKcmVnaXN0ZXJfbGFuZ3VhZ2Ug KCduYW1lJyA9PiAnZjc3JywKCQkgICAnTmFtZScgPT4gJ0ZvcnRyYW4gNzcnLAoJCSAgICdj b25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlua2VyJyA9PiAnRjc3TElOSycsCgkJ ICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpICQoQU1fTERG TEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ0ZGTEFHUyddLAoJ CSAgICdjb21waWxlJyA9PiAnJChGNzcpICQoQU1fRkZMQUdTKSAkKEZGTEFHUyknLAoJCSAg ICdjY2VyJyA9PiAnRjc3JywKCQkgICAnY29tcGlsZXInID0+ICdGNzdDT01QSUxFJywKCQkg ICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywK CQkgICAnbGlidG9vbF90YWcnID0+ICdGNzcnLAoJCSAgICdsZGVyJyA9PiAnRjc3TEQnLAoJ CSAgICdsZCcgPT4gJyQoRjc3KScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lv bnMnID0+IFsnLmYnLCAnLmZvciddKTsKCiMgRm9ydHJhbgpyZWdpc3Rlcl9sYW5ndWFnZSAo J25hbWUnID0+ICdmYycsCgkJICAgJ05hbWUnID0+ICdGb3J0cmFuJywKCQkgICAnY29uZmln X3ZhcnMnID0+IFsnRkMnXSwKCQkgICAnbGlua2VyJyA9PiAnRkNMSU5LJywKCQkgICAnbGlu aycgPT4gJyQoRkNMRCkgJChBTV9GQ0ZMQUdTKSAkKEZDRkxBR1MpICQoQU1fTERGTEFHUykg JChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ0ZDRkxBR1MnXSwKCQkgICAn Y29tcGlsZScgPT4gJyQoRkMpICQoQU1fRkNGTEFHUykgJChGQ0ZMQUdTKScsCgkJICAgJ2Nj ZXInID0+ICdGQycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnRkNDT01QSUxFJywKCQkgICAnY29t cGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAn bGlidG9vbF90YWcnID0+ICdGQycsCgkJICAgJ2xkZXInID0+ICdGQ0xEJywKCQkgICAnbGQn ID0+ICckKEZDKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsn LmY5MCcsICcuZjk1JywgJy5mMDMnLCAnLmYwOCddKTsKCiMgUHJlcHJvY2Vzc2VkIEZvcnRy YW4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAncHBmYycsCgkJICAgJ05hbWUnID0+ ICdQcmVwcm9jZXNzZWQgRm9ydHJhbicsCgkJICAgJ2NvbmZpZ192YXJzJyA9PiBbJ0ZDJ10s CgkJICAgJ2xpbmtlcicgPT4gJ0ZDTElOSycsCgkJICAgJ2xpbmsnID0+ICckKEZDTEQpICQo QU1fRkNGTEFHUykgJChGQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAn LAoJCSAgICdsZGVyJyA9PiAnRkNMRCcsCgkJICAgJ2xkJyA9PiAnJChGQyknLAoJCSAgICdm bGFncycgPT4gWydGQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdQUEZD JywKCQkgICAnY29tcGlsZXInID0+ICdQUEZDQ09NUElMRScsCgkJICAgJ2NvbXBpbGUnID0+ ICJcJChGQykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fRkNGTEFHUykgXCQoRkNGTEFHUykiLAoJ CSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8n LAoJCSAgICdsaWJ0b29sX3RhZycgPT4gJ0ZDJywKCQkgICAncHVyZScgPT4gMSwKCQkgICAn ZXh0ZW5zaW9ucycgPT4gWycuRjkwJywnLkY5NScsICcuRjAzJywgJy5GMDgnXSk7CgojIFBy ZXByb2Nlc3NlZCBGb3J0cmFuIDc3CiMKIyBUaGUgY3VycmVudCBzdXBwb3J0IGZvciBwcmVw cm9jZXNzaW5nIEZvcnRyYW4gNzcganVzdCBpbnZvbHZlcwojIHBhc3NpbmcgIiQoREVGUykg JChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKQojICQoQ1BQ RkxBR1MpIiBhcyBhZGRpdGlvbmFsIGZsYWdzIHRvIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVy LCBzaW5jZQojIHRoaXMgaXMgaG93IEdOVSBNYWtlIGRvZXMgaXQ7IHNlZSB0aGUgIkdOVSBN YWtlIE1hbnVhbCwgRWRpdGlvbiAwLjUxCiMgZm9yICdtYWtlJyBWZXJzaW9uIDMuNzYgQmV0 YSIgKHNwZWNpZmljYWxseSwgZnJvbSBpbmZvIGZpbGUKIyAnKG1ha2UpQ2F0YWxvZ3VlIG9m IFJ1bGVzJykuCiMKIyBBIGJldHRlciBhcHByb2FjaCB3b3VsZCBiZSB0byB3cml0ZSBhbiBB dXRvY29uZiB0ZXN0CiMgKGkuZS4gQUNfUFJPR19GUFApIGZvciBhIEZvcnRyYW4gNzcgcHJl cHJvY2Vzc29yLCBiZWNhdXNlIG5vdCBhbGwKIyBGb3J0cmFuIDc3IGNvbXBpbGVycyBrbm93 IGhvdyB0byBkbyBwcmVwcm9jZXNzaW5nLiAgVGhlIEF1dG9jb25mCiMgbWFjcm8gQUNfUFJP R19GUFAgc2hvdWxkIHRlc3QgdGhlIEZvcnRyYW4gNzcgY29tcGlsZXIgZmlyc3QgZm9yCiMg cHJlcHJvY2Vzc2luZyBjYXBhYmlsaXRpZXMsIGFuZCB0aGVuIGZhbGwgYmFjayBvbiBjcHAg KGlmIGNwcCB3ZXJlCiMgYXZhaWxhYmxlKS4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9 PiAncHBmNzcnLAoJCSAgICdOYW1lJyA9PiAnUHJlcHJvY2Vzc2VkIEZvcnRyYW4gNzcnLAoJ CSAgICdjb25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlua2VyJyA9PiAnRjc3TElO SycsCgkJICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpICQo QU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2xkZXInID0+ICdGNzdMRCcs CgkJICAgJ2xkJyA9PiAnJChGNzcpJywKCQkgICAnZmxhZ3MnID0+IFsnRkZMQUdTJywgJ0NQ UEZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdQUEY3NycsCgkJICAgJ2NvbXBpbGVyJyA9PiAn UFBGNzdDT01QSUxFJywKCQkgICAnY29tcGlsZScgPT4gIlwkKEY3NykgQGNwcGxpa2VfZmxh Z3MgXCQoQU1fRkZMQUdTKSBcJChGRkxBR1MpIiwKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAn LWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ ICdGNzcnLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5GJ10p OwoKIyBSYXRmb3IuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ3JhdGZvcicsCgkJ ICAgJ05hbWUnID0+ICdSYXRmb3InLAoJCSAgICdjb25maWdfdmFycycgPT4gWydGNzcnXSwK CQkgICAnbGlua2VyJyA9PiAnRjc3TElOSycsCgkJICAgJ2xpbmsnID0+ICckKEY3N0xEKSAk KEFNX0ZGTEFHUykgJChGRkxBR1MpICQoQU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcs CgkJICAgJ2xkZXInID0+ICdGNzdMRCcsCgkJICAgJ2xkJyA9PiAnJChGNzcpJywKCQkgICAn ZmxhZ3MnID0+IFsnUkZMQUdTJywgJ0ZGTEFHUyddLAoJCSAgICMgRklYTUUgYWxzbyBGRkxB R1MuCgkJICAgJ2NvbXBpbGUnID0+ICckKEY3NykgJChBTV9GRkxBR1MpICQoRkZMQUdTKSAk KEFNX1JGTEFHUykgJChSRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0Y3NycsCgkJICAgJ2Nv bXBpbGVyJyA9PiAnUkNPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJ ICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsaWJ0b29sX3RhZycgPT4gJ0Y3Nycs CgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnInXSk7CgojIEph dmEgdmlhIGdjai4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnamF2YScsCgkJICAg J05hbWUnID0+ICdKYXZhJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnR0NKJ10sCgkJICAg J2xpbmtlcicgPT4gJ0dDSkxJTksnLAoJCSAgICdsaW5rJyA9PiAnJChHQ0pMRCkgJChBTV9H Q0pGTEFHUykgJChHQ0pGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRAJywK CQkgICAnYXV0b2RlcCcgPT4gJ0dDSicsCgkJICAgJ2ZsYWdzJyA9PiBbJ0dDSkZMQUdTJ10s CgkJICAgJ2NvbXBpbGUnID0+ICckKEdDSikgJChBTV9HQ0pGTEFHUykgJChHQ0pGTEFHUykn LAoJCSAgICdjY2VyJyA9PiAnR0NKJywKCQkgICAnY29tcGlsZXInID0+ICdHQ0pDT01QSUxF JywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4g Jy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdHQ0onLAoJCSAgICdsZGVyJyA9PiAnR0NK TEQnLAoJCSAgICdsZCcgPT4gJyQoR0NKKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4 dGVuc2lvbnMnID0+IFsnLmphdmEnLCAnLmNsYXNzJywgJy56aXAnLCAnLmphciddKTsKCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKCiMgRXJyb3IgcmVwb3J0aW5nIGZ1bmN0aW9ucy4KCiMgZXJyX2FtICgkTUVT U0FHRSwgWyVPUFRJT05TXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFVu Y2F0ZWdvcml6ZWQgZXJyb3JzIGFib3V0IHRoZSBjdXJyZW50IE1ha2VmaWxlLmFtLgpzdWIg ZXJyX2FtCnsKICBtc2dfYW0gKCdlcnJvcicsIEBfKTsKfQoKIyBlcnJfYWMgKCRNRVNTQUdF LCBbJU9QVElPTlNdKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVW5jYXRl Z29yaXplZCBlcnJvcnMgYWJvdXQgY29uZmlndXJlLmFjLgpzdWIgZXJyX2FjCnsKICBtc2df YWMgKCdlcnJvcicsIEBfKTsKfQoKIyBtc2dfYW0gKCRDSEFOTkVMLCAkTUVTU0FHRSwgWyVP UFRJT05TXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBN ZXNzYWdlcyBhYm91dCBhYm91dCB0aGUgY3VycmVudCBNYWtlZmlsZS5hbS4Kc3ViIG1zZ19h bQp7CiAgbXkgKCRjaGFubmVsLCAkbXNnLCAlb3B0cykgPSBAXzsKICBtc2cgJGNoYW5uZWws ICIke2FtX2ZpbGV9LmFtIiwgJG1zZywgJW9wdHM7Cn0KCiMgbXNnX2FjICgkQ0hBTk5FTCwg JE1FU1NBR0UsIFslT1BUSU9OU10pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgTWVzc2FnZXMgYWJvdXQgYWJvdXQgY29uZmlndXJlLmFjLgpzdWIgbXNn X2FjCnsKICBteSAoJGNoYW5uZWwsICRtc2csICVvcHRzKSA9IEBfOwogIG1zZyAkY2hhbm5l bCwgJGNvbmZpZ3VyZV9hYywgJG1zZywgJW9wdHM7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgc3Vic3Qg KCRURVhUKQojIC0tLS0tLS0tLS0tLS0KIyBSZXR1cm4gYSBjb25maWd1cmUtc3R5bGUgc3Vi c3RpdHV0aW9uIHVzaW5nIHRoZSBpbmRpY2F0ZWQgdGV4dC4KIyBXZSBkbyB0aGlzIHRvIGF2 b2lkIGhhdmluZyB0aGUgc3Vic3RpdHV0aW9ucyBkaXJlY3RseSBpbiBhdXRvbWFrZS5pbjsK IyB3aGVuIHdlIGRvIHRoYXQgdGhleSBhcmUgc29tZXRpbWVzIHJlbW92ZWQgYW5kIHRoaXMg Y2F1c2VzIGNvbmZ1c2lvbgojIGFuZCBidWdzLgpzdWIgc3Vic3QKewogICAgbXkgKCR0ZXh0 KSA9IEBfOwogICAgcmV0dXJuICdAJyAuICR0ZXh0IC4gJ0AnOwp9CgojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoK IyAkQkFDS1BBVEgKIyBiYWNrbmFtZSAoJFJFTERJUikKIyAtLS0tLS0tLS0tLS0tLS0tLS0t CiMgSWYgSSAiY2QgJFJFTERJUiIsIHRoZW4gdG8gY29tZSBiYWNrLCBJIHNob3VsZCAiY2Qg JEJBQ0tQQVRIIi4KIyBGb3IgaW5zdGFuY2UgJ3NyYy9mb28nID0+ICcuLi8uLicuCiMgV29y a3Mgd2l0aCBub24gc3RyaWN0bHkgaW5jcmVhc2luZyBwYXRocywgaS5lLiwgJ3NyYy8uLi9s aWInID0+ICcuLicuCnN1YiBiYWNrbmFtZQp7CiAgICBteSAoJGZpbGUpID0gQF87CiAgICBt eSBAcmVzOwogICAgZm9yZWFjaCAoc3BsaXQgKC9cLy8sICRmaWxlKSkKICAgIHsKCW5leHQg aWYgJF8gZXEgJy4nIHx8ICRfIGVxICcnOwoJaWYgKCRfIGVxICcuLicpCgl7CgkgICAgcG9w IEByZXMKCSAgICAgIG9yIHByb2dfZXJyb3IgKCJ0cnlpbmcgdG8gcmV2ZXJzZSBwYXRoICck ZmlsZScgcG9pbnRpbmcgb3V0c2lkZSB0cmVlIik7Cgl9CgllbHNlCgl7CgkgICAgcHVzaCAo QHJlcywgJy4uJyk7Cgl9CiAgICB9CiAgICByZXR1cm4gam9pbiAoJy8nLCBAcmVzKSB8fCAn Lic7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKCiMgU2lsZW50IHJ1bGVzIGhhbmRsaW5nIGZ1bmN0aW9ucy4K CiMgdmVyYm9zZV92YXIgKE5BTUUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhlIHB1Ymxp YyB2YXJpYWJsZSBzdGVtIHVzZWQgdG8gaW1wbGVtZW50IHNpbGVudCBydWxlcy4Kc3ViIHZl cmJvc2VfdmFyCnsKICAgIG15ICgkbmFtZSkgPSBAXzsKICAgIHJldHVybiAnQU1fVl8nIC4g JG5hbWU7Cn0KCiMgdmVyYm9zZV9wcml2YXRlX3ZhciAoTkFNRSkKIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQojIFRoZSBuYW1pbmcgcG9saWN5IGZvciB0aGUgcHJpdmF0ZSB2YXJp YWJsZXMgZm9yIHNpbGVudCBydWxlcy4Kc3ViIHZlcmJvc2VfcHJpdmF0ZV92YXIKewogICAg bXkgKCRuYW1lKSA9IEBfOwogICAgcmV0dXJuICdhbV9fdl8nIC4gJG5hbWU7Cn0KCiMgZGVm aW5lX3ZlcmJvc2VfdmFyIChOQU1FLCBWQUwtSUYtU0lMRU5ULCBbVkFMLUlGLVZFUkJPU0Vd KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIyBGb3IgIHNpbGVudCBydWxlcywgc2V0dXAgVkFSIGFuZCBkaXNwYXRjaGVy LCB0byBleHBhbmQgdG8KIyBWQUwtSUYtU0lMRU5UIGlmIHNpbGVudCwgdG8gVkFMLUlGLVZF UkJPU0UgKGRlZmF1bHRpbmcgdG8KIyBlbXB0eSkgaWYgbm90LgpzdWIgZGVmaW5lX3ZlcmJv c2VfdmFyCnsKICAgIG15ICgkbmFtZSwgJHNpbGVudF92YWwsICR2ZXJib3NlX3ZhbCkgPSBA XzsKICAgICR2ZXJib3NlX3ZhbCA9ICcnIHVubGVzcyBkZWZpbmVkICR2ZXJib3NlX3ZhbDsK ICAgIG15ICR2YXIgPSB2ZXJib3NlX3ZhciAoJG5hbWUpOwogICAgbXkgJHB2YXIgPSB2ZXJi b3NlX3ByaXZhdGVfdmFyICgkbmFtZSk7CiAgICBteSAkc2lsZW50X3ZhciA9ICRwdmFyIC4g J18wJzsKICAgIG15ICR2ZXJib3NlX3ZhciA9ICRwdmFyIC4gJ18xJzsKICAgICMgRm9yIHR5 cGljYWwgJ21ha2UncywgJ2NvbmZpZ3VyZScgcmVwbGFjZXMgQU1fViAoaW5zaWRlIEBAKSB3 aXRoICQoVikKICAgICMgYW5kIEFNX0RFRkFVTFRfViAoaW5zaWRlIEBAKSB3aXRoICQoQU1f REVGQVVMVF9WRVJCT1NJVFkpLgogICAgIyBGb3Igc3RyaWN0IFBPU0lYIDIwMDggJ21ha2Un cywgaXQgcmVwbGFjZXMgdGhlbSB3aXRoIDAgb3IgMSBpbnN0ZWFkLgogICAgIyBTZWUgQU1f U0lMRU5UX1JVTEVTIGluIG00L3NpbGVudC5tNC4KICAgIGRlZmluZV92YXJpYWJsZSAoJHZh ciwgJyQoJyAuICRwdmFyIC4gJ19AJy4nQU1fVicuJ0ApJywgSU5URVJOQUwpOwogICAgZGVm aW5lX3ZhcmlhYmxlICgkcHZhciAuICdfJywgJyQoJyAuICRwdmFyIC4gJ19AJy4nQU1fREVG QVVMVF9WJy4nQCknLAogICAgICAgICAgICAgICAgICAgICBJTlRFUk5BTCk7CiAgICBBdXRv bWFrZTo6VmFyaWFibGU6OmRlZmluZSAoJHNpbGVudF92YXIsIFZBUl9BVVRPTUFLRSwgJycs IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpbGVudF92YWwsICcn LCBJTlRFUk5BTCwgVkFSX0FTSVMpCiAgICAgIGlmICghIHZhcmRlZiAoJHNpbGVudF92YXIs IFRSVUUpKTsKICAgIEF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5lICgkdmVyYm9zZV92YXIs IFZBUl9BVVRPTUFLRSwgJycsIFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJHZlcmJvc2VfdmFsLCAnJywgSU5URVJOQUwsIFZBUl9BU0lTKQogICAgICBpZiAoISB2 YXJkZWYgKCR2ZXJib3NlX3ZhciwgVFJVRSkpOwp9CgojIHZlcmJvc2VfZmxhZyAoTkFNRSkK IyAtLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29udGVudHMgb2YgJyVWRVJCT1NFJScgdmFyaWFi bGUgdG8gZXhwYW5kIGJlZm9yZSBydWxlIGNvbW1hbmQuCnN1YiB2ZXJib3NlX2ZsYWcKewog ICAgbXkgKCRuYW1lKSA9IEBfOwogICAgcmV0dXJuICckKCcgLiB2ZXJib3NlX3ZhciAoJG5h bWUpIC4gJyknOwp9CgpzdWIgdmVyYm9zZV9ub2RlcF9mbGFnCnsKICAgIG15ICgkbmFtZSkg PSBAXzsKICAgIHJldHVybiAnJCgnIC4gdmVyYm9zZV92YXIgKCRuYW1lKSAuIHN1YnN0ICgn YW1fX25vZGVwJykgLiAnKSc7Cn0KCiMgc2lsZW50X2ZsYWcKIyAtLS0tLS0tLS0tLQojIENv bnRlbnRzIG9mICVTSUxFTlQlOiB2YXJpYWJsZSB0byBleHBhbmQgdG8gJ0AnIHdoZW4gc2ls ZW50LgpzdWIgc2lsZW50X2ZsYWcgKCkKewogICAgcmV0dXJuIHZlcmJvc2VfZmxhZyAoJ2F0 Jyk7Cn0KCiMgZGVmaW5lX3ZlcmJvc2VfdGFndmFyIChOQU1FKQojIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIyBFbmdhZ2UgdGhlIG5lZWRlZCBzaWxlbnQgcnVsZXMgbWFjaGlu ZXJ5IGZvciB0YWcgTkFNRS4Kc3ViIGRlZmluZV92ZXJib3NlX3RhZ3Zhcgp7CiAgICBteSAo JG5hbWUpID0gQF87CiAgICBkZWZpbmVfdmVyYm9zZV92YXIgKCRuYW1lLCAnQGVjaG8gIiAg Jy4gJG5hbWUgLiAnICcgeCAoOCAtIGxlbmd0aCAoJG5hbWUpKSAuICciICRAOycpOwp9Cgoj IEVuZ2FnZSB0aGUgbmVlZGVkIHNpbGVudCBydWxlcyBtYWNoaW5lcnkgZm9yIGFzc29ydGVk IHRleGluZm8gY29tbWFuZHMuCnN1YiBkZWZpbmVfdmVyYm9zZV90ZXhpbmZvICgpCnsKICBt eSBAdGFndmFycyA9ICgnRFZJUFMnLCAnTUFLRUlORk8nLCAnSU5GT0hUTUwnLCAnVEVYSTJE VkknLCAnVEVYSTJQREYnKTsKICBmb3JlYWNoIG15ICR0YWcgKEB0YWd2YXJzKQogICAgewog ICAgICBkZWZpbmVfdmVyYm9zZV90YWd2YXIoJHRhZyk7CiAgICB9CiAgZGVmaW5lX3ZlcmJv c2VfdmFyKCd0ZXhpbmZvJywgJy1xJyk7CiAgZGVmaW5lX3ZlcmJvc2VfdmFyKCd0ZXhpZGV2 bnVsbCcsICc+IC9kZXYvbnVsbCcpOwp9CgojIEVuZ2FnZSB0aGUgbmVlZGVkIHNpbGVudCBy dWxlcyBtYWNoaW5lcnkgZm9yICdsaWJ0b29sIC0tc2lsZW50Jy4Kc3ViIGRlZmluZV92ZXJi b3NlX2xpYnRvb2wgKCkKewogICAgZGVmaW5lX3ZlcmJvc2VfdmFyICgnbHQnLCAnLS1zaWxl bnQnKTsKICAgIHJldHVybiB2ZXJib3NlX2ZsYWcgKCdsdCcpOwp9CgpzdWIgaGFuZGxlX3Np bGVudCAoKQp7CiAgICAjIERlZmluZSAiJChBTV9WX1ApIiwgZXhwYW5kaW5nIHRvIGEgc2hl bGwgY29uZGl0aW9uYWwgdGhhdCBjYW4gYmUKICAgICMgdXNlZCBpbiBtYWtlIHJlY2lwZXMg dG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgYXJlIGJlaW5nIHJ1biBpbgogICAgIyBzaWxlbnQg bW9kZSBvciBub3QuICBUaGUgY2hvaWNlIG9mIHRoZSBuYW1lIGRlcml2ZXMgZnJvbSB0aGUg TElTUAogICAgIyBjb252ZW50aW9uIG9mIGFwcGVuZGluZyB0aGUgbGV0dGVyICdQJyB0byBk ZW5vdGUgYSBwcmVkaWNhdGUgKHNlZQogICAgIyBhbHNvICJ0aGUgJy1QJyBjb252ZW50aW9u IiBpbiB0aGUgSmFyZ29uIEZpbGUpOyB3ZSBkbyBzbyBmb3IgbGFjawogICAgIyBvZiBhIGJl dHRlciBjb252ZW50aW9uLgogICAgZGVmaW5lX3ZlcmJvc2VfdmFyICgnUCcsICdmYWxzZScs ICc6Jyk7CiAgICAjICpBbHdheXMqIHByb3ZpZGUgdGhlIHVzZXIgd2l0aCAnJChBTV9WX0dF TiknLCB1bmNvbmRpdGlvbmFsbHkuCiAgICBkZWZpbmVfdmVyYm9zZV90YWd2YXIgKCdHRU4n KTsKICAgIGRlZmluZV92ZXJib3NlX3ZhciAoJ2F0JywgJ0AnKTsKfQoKCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CgojIEhhbmRsZSBBVVRPTUFLRV9PUFRJT05TIHZhcmlhYmxlLiAgUmV0dXJuIDAgb24gZXJy b3IsIDEgb3RoZXJ3aXNlLgpzdWIgaGFuZGxlX29wdGlvbnMgKCkKewogIG15ICR2YXIgPSB2 YXIgKCdBVVRPTUFLRV9PUFRJT05TJyk7CiAgaWYgKCR2YXIpCiAgICB7CiAgICAgIGlmICgk dmFyLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCgl7CgkgIG1zZ192YXIgKCd1bnN1cHBv cnRlZCcsICR2YXIsCgkJICAgIidBVVRPTUFLRV9PUFRJT05TJyBjYW5ub3QgaGF2ZSBjb25k aXRpb25hbCBjb250ZW50cyIpOwoJfQogICAgICBteSBAb3B0aW9ucyA9IG1hcCB7IHsgb3B0 aW9uID0+ICRfLT5bMV0sIHdoZXJlID0+ICRfLT5bMF0gfSB9CgkJCSR2YXItPnZhbHVlX2Fz X2xpc3RfcmVjdXJzaXZlIChjb25kX2ZpbHRlciA9PiBUUlVFLAoJCQkJCQkgICAgICAgbG9j YXRpb24gPT4gMSk7CiAgICAgIHJldHVybiAwIHVubGVzcyBwcm9jZXNzX29wdGlvbl9saXN0 IChAb3B0aW9ucyk7CiAgICB9CgogIGlmICgkc3RyaWN0bmVzcyA9PSBHTklUUykKICAgIHsK ICAgICAgc2V0X29wdGlvbiAoJ3JlYWRtZS1hbHBoYScsIElOVEVSTkFMKTsKICAgICAgc2V0 X29wdGlvbiAoJ3N0ZC1vcHRpb25zJywgSU5URVJOQUwpOwogICAgICBzZXRfb3B0aW9uICgn Y2hlY2stbmV3cycsIElOVEVSTkFMKTsKICAgIH0KCiAgcmV0dXJuIDE7Cn0KCiMgc2hhZG93 X3VuY29uZGl0aW9uYWxseSAoJHZhcm5hbWUsICR3aGVyZSkKIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiBhICQodmFyaWFibGUpIHRoYXQg Y29udGFpbnMgYWxsIHBvc3NpYmxlIHZhbHVlcwojICR2YXJuYW1lIGNhbiB0YWtlLgojIElm IHRoZSBWQVIgd2Fzbid0IGRlZmluZWQgY29uZGl0aW9uYWxseSwgcmV0dXJuICQoVkFSKS4K IyBPdGhlcndpc2Ugd2UgY3JlYXRlIGFuIGFtX19WQVJfRElTVCB2YXJpYWJsZSB3aGljaCBj b250YWlucwojIGFsbCBwb3NzaWJsZSB2YWx1ZXMsIGFuZCByZXR1cm4gJChhbV9fVkFSX0RJ U1QpLgpzdWIgc2hhZG93X3VuY29uZGl0aW9uYWxseQp7CiAgbXkgKCR2YXJuYW1lLCAkd2hl cmUpID0gQF87CiAgbXkgJHZhciA9IHZhciAkdmFybmFtZTsKICBpZiAoJHZhci0+aGFzX2Nv bmRpdGlvbmFsX2NvbnRlbnRzKQogICAgewogICAgICAkdmFybmFtZSA9ICJhbV9fJHt2YXJu YW1lfV9ESVNUIjsKICAgICAgbXkgQGZpbGVzID0gdW5pcSAoJHZhci0+dmFsdWVfYXNfbGlz dF9yZWN1cnNpdmUpOwogICAgICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgkdmFybmFtZSwg VFJVRSwgJHdoZXJlLCBAZmlsZXMpOwogICAgfQogIHJldHVybiAiXCQoJHZhcm5hbWUpIgp9 CgojIGNoZWNrX3VzZXJfdmFyaWFibGVzIChATElTVCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgTWFrZSBzdXJlIGVhY2ggdmFyaWFibGUgVkFSIGluIEBMSVNUIGRvZXMg bm90IGV4aXN0LCBzdWdnZXN0IHVzaW5nIEFNX1ZBUgojIG90aGVyd2lzZS4Kc3ViIGNoZWNr X3VzZXJfdmFyaWFibGVzCnsKICBteSBAZG9udF9vdmVycmlkZSA9IEBfOwogIGZvcmVhY2gg bXkgJGZsYWcgKEBkb250X292ZXJyaWRlKQogICAgewogICAgICBteSAkdmFyID0gdmFyICRm bGFnOwogICAgICBpZiAoJHZhcikKCXsKCSAgZm9yIG15ICRjb25kICgkdmFyLT5jb25kaXRp b25zLT5jb25kcykKCSAgICB7CgkgICAgICBpZiAoJHZhci0+cmRlZiAoJGNvbmQpLT5vd25l ciA9PSBWQVJfTUFLRUZJTEUpCgkJewoJCSAgbXNnX2NvbmRfdmFyICgnZ251JywgJGNvbmQs ICRmbGFnLAoJCQkJIickZmxhZycgaXMgYSB1c2VyIHZhcmlhYmxlLCAiCgkJCQkuICJ5b3Ug c2hvdWxkIG5vdCBvdmVycmlkZSBpdDtcbiIKCQkJCS4gInVzZSAnQU1fJGZsYWcnIGluc3Rl YWQiKTsKCQl9CgkgICAgfQoJfQogICAgfQp9CgojIENhbGwgZmluaXNoIGZ1bmN0aW9uIGZv ciBlYWNoIGxhbmd1YWdlIHRoYXQgd2FzIHVzZWQuCnN1YiBoYW5kbGVfbGFuZ3VhZ2VzICgp CnsKICAgIGlmICghIG9wdGlvbiAnbm8tZGVwZW5kZW5jaWVzJykKICAgICAgewogICAgICAg ICMgSW5jbHVkZSBhdXRvLWRlcCBjb2RlLiAgRG9uJ3QgaW5jbHVkZSBpdCBpZiBERVBfRklM RVMgd291bGQKICAgICAgICAjIGJlIGVtcHR5LgogICAgICAgIGlmIChrZXlzICVleHRlbnNp b25fc2VlbiAmJiBrZXlzICVkZXBfZmlsZXMpCiAgICAgICAgICB7CiAgICAgICAgICAgIG15 IEBkZXBfZmlsZXMgPSBzb3J0IGtleXMgJWRlcF9maWxlczsKICAgICAgICAgICAgIyBTZXQg bG9jYXRpb24gb2YgZGVwY29tcC4KICAgICAgICAgICAgZGVmaW5lX3ZhcmlhYmxlICgnZGVw Y29tcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwkKFNIRUxMKSAkYW1fY29u ZmlnX2F1eF9kaXIvZGVwY29tcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5U RVJOQUwpOwogICAgICAgICAgICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fbWF5YmVfcmVtYWtl X2RlcGZpbGVzJywgJ2RlcGZpbGVzJywgSU5URVJOQUwpOwogICAgICAgICAgICBkZWZpbmVf dmFyaWFibGUgKCdhbV9fZGVwZmlsZXNfcmVtYWRlJywgIkBkZXBfZmlsZXMiLCBJTlRFUk5B TCk7CiAgICAgICAgICAgICRvdXRwdXRfcnVsZXMgLj0gIlxuIjsKICAgICAgICAgICAgbXkg QGRpc3Rfcm1zOwogICAgICAgICAgICBmb3JlYWNoIG15ICRkZXBmaWxlIChAZGVwX2ZpbGVz KQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHB1c2ggQGRpc3Rfcm1zLCAiXHQt cm0gLWYgJGRlcGZpbGUiOwogICAgICAgICAgICAgICAgIyBHZW5lcmF0ZSBlYWNoICdpbmNs dWRlJyBkaXJlY3RpdmUgaW5kaXZpZHVhbGx5LiAgU2V2ZXJhbAogICAgICAgICAgICAgICAg IyBtYWtlIGltcGxlbWVudGF0aW9ucyAoSVJJWCA2LCBTb2xhcmlzIDEwLCBGcmVlQlNEIDgp IHdpbGwKICAgICAgICAgICAgICAgICMgZmFpbCB0byBwcm9wZXJseSBpbmNsdWRlIHNldmVy YWwgZmlsZXMgcmVzdWx0aW5nIGZyb20gYQogICAgICAgICAgICAgICAgIyB2YXJpYWJsZSBl eHBhbnNpb24uIEp1c3QgR2VuZXJhdGluZyBtYW55IHNlcGFyYXRlIGluY2x1ZGVzCiAgICAg ICAgICAgICAgICAjIHNlZW1zIHRodXMgc2FmZXN0LgogICAgICAgICAgICAgICAgJG91dHB1 dF9ydWxlcyAuPSBzdWJzdCAoJ0FNREVQX1RSVUUnKSAuCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN1YnN0ICgnYW1fX2luY2x1ZGUnKSAuCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIgIiAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN1YnN0KCdhbV9fcXVvdGUnKSAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICRkZXBmaWxlIC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3QoJ2Ft X19xdW90ZScpIC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiIC4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiMgYW0tLWluY2x1ZGUtbWFya2VyXG4i OwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJlcXVpcmVfY29uZl9maWxlICgiJGFt X2ZpbGUuYW0iLCBGT1JFSUdOLCAnZGVwY29tcCcpOwoKICAgICAgICAgICAgJG91dHB1dF9y dWxlcyAuPSBmaWxlX2NvbnRlbnRzICgKICAgICAgICAgICAgICAgICdkZXBlbmQnLCBuZXcg QXV0b21ha2U6OkxvY2F0aW9uLAogICAgICAgICAgICAgICAgJ0RJU1RSTVMnID0+IGpvaW4g KCJcbiIsIEBkaXN0X3JtcykpOwogICAgICAgICAgfQogICAgICB9CiAgICBlbHNlCiAgICAg IHsKICAgICAgICBkZWZpbmVfdmFyaWFibGUgKCdkZXBjb21wJywgJycsIElOVEVSTkFMKTsK ICAgICAgICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVzJywg JycsIElOVEVSTkFMKTsKICAgICAgfQoKICAgIG15ICVkb25lOwoKICAgICMgSXMgdGhlIEMg bGlua2VyIG5lZWRlZD8KICAgIG15ICRuZWVkc19jID0gMDsKICAgIGZvcmVhY2ggbXkgJGV4 dCAoc29ydCBrZXlzICVleHRlbnNpb25fc2VlbikKICAgIHsKCW5leHQgdW5sZXNzICRleHRl bnNpb25fbWFweyRleHR9OwoKCW15ICRsYW5nID0gJGxhbmd1YWdlc3skZXh0ZW5zaW9uX21h cHskZXh0fX07CgoJbXkgJHJ1bGVfZmlsZSA9ICRsYW5nLT5ydWxlX2ZpbGUgfHwgJ2RlcGVu ZDInOwoKCSMgR2V0IGluZm9ybWF0aW9uIG9uICRMQU5HLgoJbXkgJHBmeCA9ICRsYW5nLT5h dXRvZGVwOwoJbXkgJGZwZnggPSAoJHBmeCBlcSAnJykgPyAnQ0MnIDogJHBmeDsKCglteSAo JEFNREVQLCAkRkFTVERFUCkgPQoJICAob3B0aW9uICduby1kZXBlbmRlbmNpZXMnIHx8ICRs YW5nLT5hdXRvZGVwIGVxICdubycpCgkgID8gKCdGQUxTRScsICdGQUxTRScpIDogKCdBTURF UCcsICJhbV9fZmFzdGRlcCRmcGZ4Iik7CgoJbXkgJHZlcmJvc2UgPSB2ZXJib3NlX2ZsYWcg KCRsYW5nLT5jY2VyIHx8ICdHRU4nKTsKCW15ICR2ZXJib3NlX25vZGVwID0gKCRBTURFUCBl cSAnRkFMU0UnKQoJICA/ICR2ZXJib3NlIDogdmVyYm9zZV9ub2RlcF9mbGFnICgkbGFuZy0+ Y2NlciB8fCAnR0VOJyk7CglteSAkc2lsZW50ID0gc2lsZW50X2ZsYWcgKCk7CgoJbXkgJXRy YW5zZm9ybSA9ICgnRVhUJyAgICAgPT4gJGV4dCwKCQkJICdQRlgnICAgICA9PiAkcGZ4LAoJ CQkgJ0ZQRlgnICAgID0+ICRmcGZ4LAoJCQkgJ0FNREVQJyAgID0+ICRBTURFUCwKCQkJICdG QVNUREVQJyA9PiAkRkFTVERFUCwKCQkJICctYycgICAgICA9PiAkbGFuZy0+Y29tcGlsZV9m bGFnIHx8ICcnLAoJCQkgIyBUaGVzZSBhcmUgbm90IHVzZWQsIGJ1dCB0aGV5IG5lZWQgdG8g YmUgZGVmaW5lZAoJCQkgIyBzbyB0cmFuc2Zvcm0oKSBkbyBub3QgY29tcGxhaW4uCgkJCSBT VUJESVJPQkogICAgID0+IDAsCgkJCSAnREVSSVZFRC1FWFQnID0+ICdCVUcnLAoJCQkgRElT VF9TT1VSQ0UgICA9PiAxLAoJCQkgVkVSQk9TRSAgID0+ICR2ZXJib3NlLAoJCQkgJ1ZFUkJP U0UtTk9ERVAnID0+ICR2ZXJib3NlX25vZGVwLAoJCQkgU0lMRU5UICAgID0+ICRzaWxlbnQs CgkJCSk7CgoJIyBHZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgcnVsZXMgZm9yIHRoaXMgZXh0 ZW5zaW9uLgoJaWYgKCgoISBvcHRpb24gJ25vLWRlcGVuZGVuY2llcycpICYmICRsYW5nLT5h dXRvZGVwIG5lICdubycpCgkgICAgfHwgZGVmaW5lZCAkbGFuZy0+Y29tcGlsZSkKCXsKCSAg ICAjIENvbXB1dGUgYSBwb3NzaWJsZSBkZXJpdmVkIGV4dGVuc2lvbi4KCSAgICAjIFRoaXMg aXMgbm90IHVzZWQgYnkgZGVwZW5kMi5hbS4KCSAgICBteSAkZGVyX2V4dCA9ICgkbGFuZy0+ b3V0cHV0X2V4dGVuc2lvbnMtPigkZXh0KSlbMF07CgoJICAgICMgV2hlbiB3ZSBvdXRwdXQg YW4gaW5mZXJlbmNlIHJ1bGUgbGlrZSAnLmMubzonIHdlCgkgICAgIyBoYXZlIHR3byBjYXNl cyB0byBjb25zaWRlcjogZWl0aGVyIHN1YmRpci1vYmplY3RzCgkgICAgIyBpcyB1c2VkLCBv ciBpdCBpcyBub3QuCgkgICAgIwoJICAgICMgSW4gdGhlIGxhdHRlciBjYXNlIHRoZSBydWxl IGlzIHVzZWQgdG8gYnVpbGQgb2JqZWN0cwoJICAgICMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0 b3J5LCBhbmQgZGVwZW5kZW5jaWVzIGFsd2F5cwoJICAgICMgZ28gaW50byAnLi8kKERFUERJ UikvJy4gIFdlIGNhbiBoYXJkLWNvZGUgdGhpcyB2YWx1ZS4KCSAgICAjCgkgICAgIyBJbiB0 aGUgZm9ybWVyIGNhc2UgdGhlIHJ1bGUgY2FuIGJlIHVzZWQgdG8gYnVpbGQKCSAgICAjIG9i amVjdHMgaW4gc3ViLWRpcmVjdG9yaWVzIHRvby4gIERlcGVuZGVuY2llcyBzaG91bGQKCSAg ICAjIGdvIGludG8gdGhlIGFwcHJvcHJpYXRlIHN1Yi1kaXJlY3RvcmllcywgZS5nLiwKCSAg ICAjICdzdWIvJChERVBESVIpLycuICBUaGUgdmFsdWUgb2YgdGhpcyBkaXJlY3RvcnkKCSAg ICAjIG5lZWRzIHRvIGJlIGNvbXB1dGVkIG9uLXRoZS1mbHkuCgkgICAgIwoJICAgICMgREVQ QkFTRSBob2xkcyB0aGUgbmFtZSBvZiB0aGlzIGRpcmVjdG9yeSwgcGx1cyB0aGUKCSAgICAj IGJhc2VuYW1lIHBhcnQgb2YgdGhlIG9iamVjdCBmaWxlIChleHRlbnNpb25zIFBvLCBUUG8s CgkgICAgIyBQbG8sIFRQbG8gd2lsbCBiZSBhZGRlZCBsYXRlciBhcyBhcHByb3ByaWF0ZSku ICBJdCBpcwoJICAgICMgZWl0aGVyIGhhcmRjb2RlZCwgb3IgYSBzaGVsbCB2YXJpYWJsZSAo JyRkZXBiYXNlJykgdGhhdAoJICAgICMgd2lsbCBiZSBjb21wdXRlZCBieSB0aGUgcnVsZS4K CSAgICBteSAkZGVwYmFzZSA9CgkgICAgICBvcHRpb24gKCdzdWJkaXItb2JqZWN0cycpID8g JyQkZGVwYmFzZScgOiAnJChERVBESVIpLyQqJzsKCSAgICAkb3V0cHV0X3J1bGVzIC49Cgkg ICAgICBmaWxlX2NvbnRlbnRzICgkcnVsZV9maWxlLAoJCQkgICAgIG5ldyBBdXRvbWFrZTo6 TG9jYXRpb24sCgkJCSAgICAgJXRyYW5zZm9ybSwKCQkJICAgICBHRU5FUklDICAgPT4gMSwK CgkJCSAgICAgJ0RFUklWRUQtRVhUJyA9PiAkZGVyX2V4dCwKCgkJCSAgICAgREVQQkFTRSAg ID0+ICRkZXBiYXNlLAoJCQkgICAgIEJBU0UgICAgICA9PiAnJConLAoJCQkgICAgIFNPVVJD RSAgICA9PiAnJDwnLAoJCQkgICAgIFNPVVJDRUZMQUcgPT4gJHNvdXJjZWZsYWdzeyRleHR9 IHx8ICcnLAoJCQkgICAgIE9CSiAgICAgICA9PiAnJEAnLAoJCQkgICAgIE9CSk9CSiAgICA9 PiAnJEAnLAoJCQkgICAgIExUT0JKICAgICA9PiAnJEAnLAoKCQkJICAgICBDT01QSUxFICAg PT4gJyQoJyAuICRsYW5nLT5jb21waWxlciAuICcpJywKCQkJICAgICBMVENPTVBJTEUgPT4g JyQoTFQnIC4gJGxhbmctPmNvbXBpbGVyIC4gJyknLAoJCQkgICAgIC1vICAgICAgICA9PiAk bGFuZy0+b3V0cHV0X2ZsYWcsCgkJCSAgICAgU1VCRElST0JKID0+ICEhIG9wdGlvbiAnc3Vi ZGlyLW9iamVjdHMnKTsKCX0KCgkjIE5vdyBpbmNsdWRlIGNvZGUgZm9yIGVhY2ggc3BlY2lh bGx5IGhhbmRsZWQgb2JqZWN0IHdpdGggdGhpcwoJIyBsYW5ndWFnZS4KCW15ICVzZWVuX2Zp bGVzID0gKCk7Cglmb3JlYWNoIG15ICRmaWxlIChAeyRsYW5nX3NwZWNpZmljX2ZpbGVzeyRs YW5nLT5uYW1lfX0pCgl7CgkgICAgbXkgKCRkZXJpdmVkLCAkc291cmNlLCAkb2JqLCAkbXll eHQsICRzcmNleHQsICVmaWxlX3RyYW5zZm9ybSkgPSBAJGZpbGU7CgoJICAgICMgV2UgbWln aHQgc2VlIGEgZ2l2ZW4gb2JqZWN0IHR3aWNlLCBmb3IgaW5zdGFuY2UgaWYgaXQgaXMKCSAg ICAjIHVzZWQgdW5kZXIgZGlmZmVyZW50IGNvbmRpdGlvbnMuCgkgICAgbmV4dCBpZiBkZWZp bmVkICRzZWVuX2ZpbGVzeyRvYmp9OwoJICAgICRzZWVuX2ZpbGVzeyRvYmp9ID0gMTsKCgkg ICAgcHJvZ19lcnJvciAoImZvdW5kICIgLiAkbGFuZy0+bmFtZSAuCgkJCSIgaW4gaGFuZGxl X2xhbmd1YWdlcywgYnV0IGNvbXBpbGVyIG5vdCBkZWZpbmVkIikKCSAgICAgIHVubGVzcyBk ZWZpbmVkICRsYW5nLT5jb21waWxlOwoKCSAgICBteSAkb2JqX2NvbXBpbGUgPSAkbGFuZy0+ Y29tcGlsZTsKCgkgICAgIyBSZXdyaXRlIGVhY2ggb2NjdXJyZW5jZSBvZiAnQU1fJGZsYWcn IGluIHRoZSBjb21waWxlCgkgICAgIyBydWxlIGludG8gJyR7ZGVyaXZlZH1fJGZsYWcnIGlm IGl0IGV4aXN0cy4KCSAgICBmb3IgbXkgJGZsYWcgKEB7JGxhbmctPmZsYWdzfSkKCSAgICAg IHsKCQlteSAkdmFsID0gIiR7ZGVyaXZlZH1fJGZsYWciOwoJCSRvYmpfY29tcGlsZSA9fiBz L1woQU1fJGZsYWdcKS9cKCR2YWxcKS8KCQkgIGlmIHNldF9zZWVuICgkdmFsKTsKCSAgICAg IH0KCgkgICAgbXkgJGxpYnRvb2xfdGFnID0gJyc7CgkgICAgaWYgKCRsYW5nLT5saWJ0b29s X3RhZyAmJiBleGlzdHMgJGxpYnRvb2xfdGFnc3skbGFuZy0+bGlidG9vbF90YWd9KQoJICAg ICAgewoJCSRsaWJ0b29sX3RhZyA9ICctLXRhZz0nIC4gJGxhbmctPmxpYnRvb2xfdGFnIC4g JyAnCgkgICAgICB9CgoJICAgIG15ICRwdGx0ZmxhZ3MgPSAiJHtkZXJpdmVkfV9MSUJUT09M RkxBR1MiOwoJICAgICRwdGx0ZmxhZ3MgPSAnQU1fTElCVE9PTEZMQUdTJyB1bmxlc3Mgc2V0 X3NlZW4gJHB0bHRmbGFnczsKCgkgICAgbXkgJGx0dmVyYm9zZSA9IGRlZmluZV92ZXJib3Nl X2xpYnRvb2wgKCk7CgkgICAgbXkgJG9ial9sdGNvbXBpbGUgPQoJICAgICAgIlwkKExJQlRP T0wpICRsdHZlcmJvc2UgJGxpYnRvb2xfdGFnXCQoJHB0bHRmbGFncykgXCQoTElCVE9PTEZM QUdTKSAiCgkgICAgICAuICItLW1vZGU9Y29tcGlsZSAkb2JqX2NvbXBpbGUiOwoKCSAgICAj IFdlIF9uZWVkXyAnLW8nIGZvciBwZXIgb2JqZWN0IHJ1bGVzLgoJICAgIG15ICRvdXRwdXRf ZmxhZyA9ICRsYW5nLT5vdXRwdXRfZmxhZyB8fCAnLW8nOwoKCSAgICBteSAkZGVwYmFzZSA9 IGRpcm5hbWUgKCRvYmopOwoJICAgICRkZXBiYXNlID0gJycKCQlpZiAkZGVwYmFzZSBlcSAn Lic7CgkgICAgJGRlcGJhc2UgLj0gJy8nCgkJdW5sZXNzICRkZXBiYXNlIGVxICcnOwoJICAg ICRkZXBiYXNlIC49ICckKERFUERJUikvJyAuIGJhc2VuYW1lICgkb2JqKTsKCgkgICAgJG91 dHB1dF9ydWxlcyAuPQoJICAgICAgZmlsZV9jb250ZW50cyAoJHJ1bGVfZmlsZSwKCQkJICAg ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkgICAgICV0cmFuc2Zvcm0sCgkJCSAgICAg R0VORVJJQyAgID0+IDAsCgoJCQkgICAgIERFUEJBU0UgICA9PiAkZGVwYmFzZSwKCQkJICAg ICBCQVNFICAgICAgPT4gJG9iaiwKCQkJICAgICBTT1VSQ0UgICAgPT4gJHNvdXJjZSwKCQkJ ICAgICBTT1VSQ0VGTEFHID0+ICRzb3VyY2VmbGFnc3skc3JjZXh0fSB8fCAnJywKCQkJICAg ICAjIFVzZSAkbXlleHQgYW5kIG5vdCAnLm8nIGhlcmUsIGluIGNhc2UKCQkJICAgICAjIHdl IGFyZSBhY3R1YWxseSBidWlsZGluZyBhIG5ldyBzb3VyY2UKCQkJICAgICAjIGZpbGUgLS0g ZS5nLiB2aWEgeWFjYy4KCQkJICAgICBPQkogICAgICAgPT4gIiRvYmokbXlleHQiLAoJCQkg ICAgIE9CSk9CSiAgICA9PiAiJG9iai5vYmoiLAoJCQkgICAgIExUT0JKICAgICA9PiAiJG9i ai5sbyIsCgoJCQkgICAgIFZFUkJPU0UgICA9PiAkdmVyYm9zZSwKCQkJICAgICAnVkVSQk9T RS1OT0RFUCcgID0+ICR2ZXJib3NlX25vZGVwLAoJCQkgICAgIFNJTEVOVCAgICA9PiAkc2ls ZW50LAoJCQkgICAgIENPTVBJTEUgICA9PiAkb2JqX2NvbXBpbGUsCgkJCSAgICAgTFRDT01Q SUxFID0+ICRvYmpfbHRjb21waWxlLAoJCQkgICAgIC1vICAgICAgICA9PiAkb3V0cHV0X2Zs YWcsCgkJCSAgICAgJWZpbGVfdHJhbnNmb3JtKTsKCX0KCgkjIFRoZSByZXN0IG9mIHRoZSBs b29wIGlzIGRvbmUgb25jZSBwZXIgbGFuZ3VhZ2UuCgluZXh0IGlmIGRlZmluZWQgJGRvbmV7 JGxhbmd9OwoJJGRvbmV7JGxhbmd9ID0gMTsKCgkjIExvYWQgdGhlIGxhbmd1YWdlIGRlcGVu ZGVudCBNYWtlZmlsZSBjaHVua3MuCglteSAlbGFuZyA9IG1hcCB7IHVjICgkXykgPT4gMCB9 IGtleXMgJWxhbmd1YWdlczsKCSRsYW5ne3VjICgkbGFuZy0+bmFtZSl9ID0gMTsKCSRvdXRw dXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2xhbmctY29tcGlsZScsCgkJCQkJbmV3IEF1 dG9tYWtlOjpMb2NhdGlvbiwKCQkJCQkldHJhbnNmb3JtLCAlbGFuZyk7CgoJIyBJZiB0aGUg c291cmNlIHRvIGEgcHJvZ3JhbSBjb25zaXN0cyBlbnRpcmVseSBvZiBjb2RlIGZyb20gYQoJ IyAncHVyZScgbGFuZ3VhZ2UsIGZvciBpbnN0YW5jZSBDKysgb3IgRm9ydHJhbiA3NywgdGhl biB3ZQoJIyBkb24ndCBuZWVkIHRoZSBDIGNvbXBpbGVyIGNvZGUuICBIb3dldmVyIGlmIHdl IHJ1biBpbnRvCgkjIHNvbWV0aGluZyB1bnVzdWFsIHRoZW4gd2UgZG8gZ2VuZXJhdGUgdGhl IEMgY29kZS4gIFRoZXJlIGFyZQoJIyBwcm9iYWJseSBjb3JuZXIgY2FzZXMgaGVyZSB0aGF0 IGRvIG5vdCB3b3JrIHByb3Blcmx5LgoJIyBQZW9wbGUgbGlua2luZyBKYXZhIGNvZGUgdG8g Rm9ydHJhbiBjb2RlIGRlc2VydmUgcGFpbi4KCSRuZWVkc19jIHx8PSAhICRsYW5nLT5wdXJl OwoKCWRlZmluZV9jb21waWxlcl92YXJpYWJsZSAoJGxhbmcpCgkgIGlmICgkbGFuZy0+Y29t cGlsZSk7CgoJZGVmaW5lX2xpbmtlcl92YXJpYWJsZSAoJGxhbmcpCgkgIGlmICgkbGFuZy0+ bGluayk7CgoJcmVxdWlyZV92YXJpYWJsZXMgKCIkYW1fZmlsZS5hbSIsICRsYW5nLT5OYW1l IC4gIiBzb3VyY2Ugc2VlbiIsCgkJCSAgIFRSVUUsIEB7JGxhbmctPmNvbmZpZ192YXJzfSk7 CgoJIyBDYWxsIHRoZSBmaW5pc2hlci4KCSRsYW5nLT5maW5pc2g7CgoJIyBGbGFncyBsaXN0 ZWQgaW4gJy0+ZmxhZ3MnIGFyZSB1c2VyIHZhcmlhYmxlcyAocGVyIEdOVSBTdGFuZGFyZHMp LAoJIyB0aGV5IHNob3VsZCBub3QgYmUgb3ZlcnJpZGRlbiBpbiB0aGUgTWFrZWZpbGUuLi4K CW15IEBkb250X292ZXJyaWRlID0gQHskbGFuZy0+ZmxhZ3N9OwoJIyAuLi4gYW5kIHNvIGlz IExERkxBR1MuCglwdXNoIEBkb250X292ZXJyaWRlLCAnTERGTEFHUycgaWYgJGxhbmctPmxp bms7CgoJY2hlY2tfdXNlcl92YXJpYWJsZXMgQGRvbnRfb3ZlcnJpZGU7CiAgICB9CgogICAg IyBJZiB0aGUgcHJvamVjdCBpcyBlbnRpcmVseSBDKysgb3IgZW50aXJlbHkgRm9ydHJhbiA3 NyAoaS5lLiwgMQogICAgIyBzdWZmaXggcnVsZSB3YXMgbGVhcm5lZCksIGRvbid0IGJvdGhl ciB3aXRoIHRoZSBDIHN0dWZmLiAgQnV0IGlmCiAgICAjIGFueXRoaW5nIGVsc2UgY3JlZXBz IGluLCB0aGVuIHVzZSBpdC4KICAgIG15IEBsYW5ndWFnZXNfc2VlbiA9IG1hcCB7ICRsYW5n dWFnZXN7JGV4dGVuc2lvbl9tYXB7JF99fS0+bmFtZSB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGtleXMgJWV4dGVuc2lvbl9zZWVuKTsKICAgIEBsYW5ndWFnZXNfc2VlbiA9 IHVuaXEgKEBsYW5ndWFnZXNfc2Vlbik7CiAgICAkbmVlZHNfYyA9IDEgaWYgQGxhbmd1YWdl c19zZWVuID4gMTsKICAgIGlmICgkbmVlZF9saW5rIHx8ICRuZWVkc19jKQogICAgICB7Cglk ZWZpbmVfY29tcGlsZXJfdmFyaWFibGUgKCRsYW5ndWFnZXN7J2MnfSkKCSAgdW5sZXNzIGRl ZmluZWQgJGRvbmV7JGxhbmd1YWdlc3snYyd9fTsKCWRlZmluZV9saW5rZXJfdmFyaWFibGUg KCRsYW5ndWFnZXN7J2MnfSk7CiAgICAgIH0KfQoKCiMgYXBwZW5kX2V4ZWV4dCB7IFBSRURJ Q0FURSB9ICRNQUNSTwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBB cHBlbmQgJChFWEVFWFQpIHRvIGVhY2ggZmlsZW5hbWUgaW4gJEYgYXBwZWFyaW5nIGluIHRo ZSBNYWtlZmlsZQojIHZhcmlhYmxlICRNQUNSTyBpZiAmUFJFRElDQVRFKCRGKSBpcyB0cnVl LiAgQHN1YnN0aXR1dGlvbnNAIGFyZQojIGlnbm9yZWQuCiMKIyBUaGlzIGlzIHR5cGljYWxs eSB1c2VkIG9uIGFsbCBmaWxlbmFtZXMgb2YgKl9QUk9HUkFNUywgYW5kIGZpbGVuYW1lcwoj IG9mIFRFU1RTIHRoYXQgYXJlIHByb2dyYW1zLgpzdWIgYXBwZW5kX2V4ZWV4dCAoJiQpCnsK ICBteSAoJHByZWQsICRtYWNybykgPSBAXzsKCiAgdHJhbnNmb3JtX3ZhcmlhYmxlX3JlY3Vy c2l2ZWx5CiAgICAoJG1hY3JvLCAkbWFjcm8sICdhbV9fRVhFRVhUJywgMCwgSU5URVJOQUws CiAgICAgc3ViIHsKICAgICAgIG15ICgkc3VidmFyLCAkdmFsLCAkY29uZCwgJGZ1bGxfY29u ZCkgPSBAXzsKICAgICAgICMgQXBwZW5kICQoRVhFRVhUKSB1bmxlc3MgdGhlIHVzZXIgZGlk IGl0IGFscmVhZHksIG9yIGl0J3MgYQogICAgICAgIyBAc3Vic3RpdHV0aW9uQC4KICAgICAg ICR2YWwgLj0gJyQoRVhFRVhUKScKCSBpZiAkdmFsICF+IC8oPzpcJFwoRVhFRVhUXCkkfF5b QF1cdytbQF0kKS8gJiYgJiRwcmVkICgkdmFsKTsKICAgICAgIHJldHVybiAkdmFsOwogICAg IH0pOwp9CgoKIyBDaGVjayB0byBtYWtlIHN1cmUgYSBzb3VyY2UgZGVmaW5lZCBpbiBMSUJP QkpTIGlzIG5vdCBleHBsaWNpdGx5CiMgbWVudGlvbmVkLiAgVGhpcyBpcyBhIHNlcGFyYXRl IGZ1bmN0aW9uIChhcyBvcHBvc2VkIHRvIGJlaW5nIGlubGluZWQKIyBpbiBoYW5kbGVfc291 cmNlX3RyYW5zZm9ybSkgYmVjYXVzZSBpdCBpc24ndCBhbHdheXMgYXBwcm9wcmlhdGUgdG8K IyBkbyB0aGlzIGNoZWNrLgpzdWIgY2hlY2tfbGlib2Jqc19zb3VyY2VzCnsKICBteSAoJG9u ZV9maWxlLCAkdW54Zm9ybWVkKSA9IEBfOwoKICBmb3JlYWNoIG15ICRwcmVmaXggKCcnLCAn RVhUUkFfJywgJ2Rpc3RfJywgJ25vZGlzdF8nLAoJCSAgICAgICdkaXN0X0VYVFJBXycsICdu b2Rpc3RfRVhUUkFfJykKICAgIHsKICAgICAgbXkgQGZpbGVzOwogICAgICBteSAkdmFybmFt ZSA9ICRwcmVmaXggLiAkb25lX2ZpbGUgLiAnX1NPVVJDRVMnOwogICAgICBteSAkdmFyID0g dmFyICgkdmFybmFtZSk7CiAgICAgIGlmICgkdmFyKQoJewoJICBAZmlsZXMgPSAkdmFyLT52 YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZTsKCX0KICAgICAgZWxzaWYgKCRwcmVmaXggZXEgJycp Cgl7CgkgIEBmaWxlcyA9ICgkdW54Zm9ybWVkIC4gJy5jJyk7Cgl9CiAgICAgIGVsc2UKCXsK CSAgbmV4dDsKCX0KCiAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxlcykKCXsKCSAgZXJy X3ZhciAoJHByZWZpeCAuICRvbmVfZmlsZSAuICdfU09VUkNFUycsCgkJICAgImF1dG9tYXRp Y2FsbHkgZGlzY292ZXJlZCBmaWxlICckZmlsZScgc2hvdWxkIG5vdCIgLgoJCSAgICIgYmUg ZXhwbGljaXRseSBtZW50aW9uZWQiKQoJICAgIGlmIGRlZmluZWQgJGxpYnNvdXJjZXN7JGZp bGV9OwoJfQogICAgfQp9CgoKIyBAT0JKRUNUUwojIGhhbmRsZV9zaW5nbGVfdHJhbnNmb3Jt ICgkVkFSLCAkVE9QUEFSRU5ULCAkREVSSVZFRCwgJE9CSiwgJEZJTEUsICVUUkFOU0ZPUk0p CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEb2VzIG11Y2ggb2YgdGhlIGFjdHVhbCB3 b3JrIGZvciBoYW5kbGVfc291cmNlX3RyYW5zZm9ybS4KIyBBcmd1bWVudHMgYXJlOgojICAg JFZBUiBpcyB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdGhhdCB0aGUgc291cmNlIGZpbGVu YW1lcyBjb21lIGZyb20KIyAgICRUT1BQQVJFTlQgaXMgdGhlIG5hbWUgb2YgdGhlIF9TT1VS Q0VTIHZhcmlhYmxlIHdoaWNoIGlzIGJlaW5nIHByb2Nlc3NlZAojICAgJERFUklWRUQgaXMg dGhlIG5hbWUgb2YgcmVzdWx0aW5nIGV4ZWN1dGFibGUgb3IgbGlicmFyeQojICAgJE9CSiBp cyB0aGUgb2JqZWN0IGV4dGVuc2lvbiAoZS5nLiwgJy5sbycpCiMgICAkRklMRSB0aGUgc291 cmNlIGZpbGUgdG8gdHJhbnNmb3JtCiMgICAlVFJBTlNGT1JNIGNvbnRhaW5zIGV4dHJhcyBh cmd1bWVudHMgdG8gcGFzcyB0byBmaWxlX2NvbnRlbnRzCiMgICAgIHdoZW4gcHJvZHVjaW5n IGV4cGxpY2l0IHJ1bGVzCiMgUmVzdWx0IGlzIGEgbGlzdCBvZiB0aGUgbmFtZXMgb2Ygb2Jq ZWN0cwojICVsaW5rZXJzX3VzZWQgd2lsbCBiZSB1cGRhdGVkIHdpdGggYW55IGxpbmtlcnMg bmVlZGVkCnN1YiBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybQp7CiAgICBteSAoJHZhciwgJHRv cHBhcmVudCwgJGRlcml2ZWQsICRvYmosICRfZmlsZSwgJXRyYW5zZm9ybSkgPSBAXzsKICAg IG15IEBmaWxlcyA9ICgkX2ZpbGUpOwogICAgbXkgQHJlc3VsdCA9ICgpOwoKICAgICMgVHVy biBzb3VyY2VzIGludG8gb2JqZWN0cy4gIFdlIHVzZSBhIHdoaWxlIGxvb3AgbGlrZSB0aGlz CiAgICAjIGJlY2F1c2Ugd2UgbWlnaHQgYWRkIHRvIEBmaWxlcyBpbiB0aGUgbG9vcC4KICAg IHdoaWxlIChzY2FsYXIgQGZpbGVzID4gMCkKICAgIHsKCSRfID0gc2hpZnQgQGZpbGVzOwoK CSMgQ29uZmlndXJlIHN1YnN0aXR1dGlvbnMgaW4gX1NPVVJDRVMgdmFyaWFibGVzIGFyZSBl cnJvcnMuCglpZiAoL15cQC4qXEAkLykKCXsKCSAgbXkgJHBhcmVudF9tc2cgPSAnJzsKCSAg JHBhcmVudF9tc2cgPSAiXG5hbmQgaXMgcmVmZXJyZWQgdG8gZnJvbSAnJHRvcHBhcmVudCci CgkgICAgaWYgJHRvcHBhcmVudCBuZSAkdmFyLT5uYW1lOwoJICBlcnJfdmFyICgkdmFyLAoJ CSAgICInIiAuICR2YXItPm5hbWUgLiAiJyBpbmNsdWRlcyBjb25maWd1cmUgc3Vic3RpdHV0 aW9uICckXyciCgkJICAgLiAkcGFyZW50X21zZyAuICI7XG5jb25maWd1cmUgIiAuCgkJICAg InN1YnN0aXR1dGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIF9TT1VSQ0VTIHZhcmlhYmxlcyIp OwoJICBuZXh0OwoJfQoKCSMgSWYgdGhlIHNvdXJjZSBmaWxlIGlzIGluIGEgc3ViZGlyZWN0 b3J5IHRoZW4gdGhlICcubycgaXMgcHV0CgkjIGludG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5 LCB1bmxlc3MgdGhlIHN1YmRpci1vYmplY3RzIG9wdGlvbgoJIyBpcyBpbiBlZmZlY3QuCgoJ IyBTcGxpdCBmaWxlIG5hbWUgaW50byBiYXNlIGFuZCBleHRlbnNpb24uCgluZXh0IGlmICEg L14oPzooLiopXC8pPyhbXlwvXSopKCRLTk9XTl9FWFRFTlNJT05TX1BBVFRFUk4pJC87Cglt eSAkZnVsbCA9ICRfOwoJbXkgJGRpcmVjdG9yeSA9ICQxIHx8ICcnOwoJbXkgJGJhc2UgPSAk MjsKCW15ICRleHRlbnNpb24gPSAkMzsKCgkjIFdlIG11c3QgZ2VuZXJhdGUgYSBydWxlIGZv ciB0aGUgb2JqZWN0IGlmIGl0IHJlcXVpcmVzIGl0cyBvd24gZmxhZ3MuCglteSAkcmVuYW1l ZCA9IDA7CglteSAoJGxpbmtlciwgJG9iamVjdCk7CgogICAgICAgICMgVGhpcyByZWNvcmRz IHdoZXRoZXIgd2UndmUgc2VlbiBhIGRlcml2ZWQgc291cmNlIGZpbGUgKGUuZy4sIHlhY2MK ICAgICAgICAjIG9yIGxleCBvdXRwdXQpLgogICAgICAgIG15ICRkZXJpdmVkX3NvdXJjZTsK CgkjIFRoaXMgaG9sZHMgdGhlICdhZ2dyZWdhdGUgY29udGV4dCcgb2YgdGhlIGZpbGUgd2Ug YXJlCgkjIGN1cnJlbnRseSBleGFtaW5pbmcuICBJZiB0aGUgZmlsZSBpcyBjb21waWxlZCB3 aXRoCgkjIHBlci1vYmplY3QgZmxhZ3MsIHRoZW4gaXQgd2lsbCBiZSB0aGUgbmFtZSBvZiB0 aGUgb2JqZWN0LgoJIyBPdGhlcndpc2UgaXQgd2lsbCBiZSAnQU0nLiAgVGhpcyBpcyB1c2Vk IGJ5IHRoZSB0YXJnZXQgaG9vawoJIyBsYW5ndWFnZSBmdW5jdGlvbi4KCW15ICRhZ2dyZWdh dGUgPSAnQU0nOwoKCSRleHRlbnNpb24gPSBkZXJpdmVfc3VmZml4ICgkZXh0ZW5zaW9uLCAk b2JqKTsKCW15ICRsYW5nOwoJaWYgKCRleHRlbnNpb25fbWFweyRleHRlbnNpb259ICYmCgkg ICAgKCRsYW5nID0gJGxhbmd1YWdlc3skZXh0ZW5zaW9uX21hcHskZXh0ZW5zaW9ufX0pKQoJ ewoJICAgICMgRm91bmQgdGhlIGxhbmd1YWdlLCBzbyBzZWUgd2hhdCBpdCBzYXlzLgoJICAg IHNhd19leHRlbnNpb24gKCRleHRlbnNpb24pOwoKCSAgICAjIERvIHdlIGhhdmUgcGVyLWV4 ZWN1dGFibGUgZmxhZ3MgZm9yIHRoaXMgZXhlY3V0YWJsZT8KCSAgICBteSAkaGF2ZV9wZXJf ZXhlY19mbGFncyA9IDA7CgkgICAgbXkgQHBlZmxhZ3MgPSBAeyRsYW5nLT5mbGFnc307Cgkg ICAgcHVzaCBAcGVmbGFncywgJ0xJQlRPT0xGTEFHUycgaWYgJG9iaiBlcSAnLmxvJzsKCSAg ICBmb3JlYWNoIG15ICRmbGFnIChAcGVmbGFncykKCSAgICAgIHsKCQlpZiAoc2V0X3NlZW4g KCIke2Rlcml2ZWR9XyRmbGFnIikpCgkJICB7CgkJICAgICRoYXZlX3Blcl9leGVjX2ZsYWdz ID0gMTsKCQkgICAgbGFzdDsKCQkgIH0KCSAgICAgIH0KCgkgICAgIyBOb3RlOiBjb21wdXRl ZCBzdWJyIGNhbGwuICBUaGUgbGFuZ3VhZ2UgcmV3cml0ZSBmdW5jdGlvbgoJICAgICMgc2hv dWxkIHJldHVybiBvbmUgb2YgdGhlIExBTkdfKiBjb25zdGFudHMuICBJdCBjb3VsZAoJICAg ICMgYWxzbyByZXR1cm4gYSBsaXN0IHdob3NlIGZpcnN0IHZhbHVlIGlzIHN1Y2ggYSBjb25z dGFudAoJICAgICMgYW5kIHdob3NlIHNlY29uZCB2YWx1ZSBpcyBhIG5ldyBzb3VyY2UgZXh0 ZW5zaW9uIHdoaWNoCgkgICAgIyBzaG91bGQgYmUgYXBwbGllZC4gIFRoaXMgbWVhbnMgdGhp cyBwYXJ0aWN1bGFyIGxhbmd1YWdlCgkgICAgIyBnZW5lcmF0ZXMgYW5vdGhlciBzb3VyY2Ug ZmlsZSB3aGljaCB3ZSBtdXN0IHRoZW4gcHJvY2VzcwoJICAgICMgZnVydGhlci4KCSAgICBt eSAkc3ViciA9IFwmeydsYW5nXycgLiAkbGFuZy0+bmFtZSAuICdfcmV3cml0ZSd9OwoJICAg IGRlZmluZWQgJiRzdWJyIG9yICRzdWJyID0gXCZsYW5nX3N1Yl9vYmo7CgkgICAgbXkgKCRy LCAkc291cmNlX2V4dGVuc2lvbikKCQk9ICYkc3ViciAoJGRpcmVjdG9yeSwgJGJhc2UsICRl eHRlbnNpb24sCgkJCSAgJG9iaiwgJGhhdmVfcGVyX2V4ZWNfZmxhZ3MsICR2YXIpOwoJICAg ICMgU2tpcCB0aGlzIGVudHJ5IGlmIHdlIHdlcmUgYXNrZWQgbm90IHRvIHByb2Nlc3MgaXQu CgkgICAgbmV4dCBpZiAkciA9PSBMQU5HX0lHTk9SRTsKCgkgICAgIyBOb3cgZXh0cmFjdCBs aW5rZXIgYW5kIG90aGVyIGluZm8uCgkgICAgJGxpbmtlciA9ICRsYW5nLT5saW5rZXI7Cgog ICAgICAgICAgICBteSAkdGhpc19vYmpfZXh0OwogICAgICAgICAgICBpZiAoZGVmaW5lZCAk c291cmNlX2V4dGVuc2lvbikKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhp c19vYmpfZXh0ID0gJHNvdXJjZV9leHRlbnNpb247CiAgICAgICAgICAgICAgICAkZGVyaXZl ZF9zb3VyY2UgPSAxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzX29ial9leHQgPSAkb2JqOwogICAgICAg ICAgICAgICAgJGRlcml2ZWRfc291cmNlID0gMDsKICAgICAgICAgICAgICAgICMgRG9uJ3Qg ZXZlciBwbGFjZSBidWlsdCBvYmplY3QgZmlsZXMgaW4gJChzcmNkaXIpLAogICAgICAgICAg ICAgICAgIyBldmVuIHdoZW4gc291cmNlcyBhcmUgc3BlY2lmaWVkIGV4cGxpY2l0bHkgYXMg KHNheSkKICAgICAgICAgICAgICAgICMgJyQoc3JjZGlyKS9mb28uYycgb3IgJyQodG9wX3Ny Y2RpcikvZm9vLmMnLgogICAgICAgICAgICAgICAgIyBTZWUgYXV0b21ha2UgYnVnIzEzOTI4 LgogICAgICAgICAgICAgICAgbXkgQGQgPSBzcGxpdCAnLycsICRkaXJlY3Rvcnk7CiAgICAg ICAgICAgICAgICBpZiAoQGQgPiAwICYmIG9wdGlvbiAnc3ViZGlyLW9iamVjdHMnKQogICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbXkgJGQgPSAkZFswXTsKICAg ICAgICAgICAgICAgICAgICBpZiAoJGQgZXEgJyQoc3JjZGlyKScgb3IgJGQgZXEgJyR7c3Jj ZGlyfScpCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IHNoaWZ0IEBkOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IGVsc2lmICgkZCBlcSAnJCh0b3Bfc3JjZGlyKScgb3IgJGQgZXEgJyR7dG9wX3NyY2Rpcn0n KQogICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAkZFsw XSA9ICckKHRvcF9idWlsZGRpciknOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICRkaXJlY3RvcnkgPSBqb2luICcvJywgQGQ7CiAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICRvYmplY3QgPSAkYmFzZSAuICR0 aGlzX29ial9leHQ7CgoJICAgIGlmICgkaGF2ZV9wZXJfZXhlY19mbGFncykKCSAgICB7CgkJ IyBXZSBoYXZlIGEgcGVyLWV4ZWN1dGFibGUgZmxhZyBpbiBlZmZlY3QgZm9yIHRoaXMKCQkj IG9iamVjdC4gIEluIHRoaXMgY2FzZSB3ZSByZXdyaXRlIHRoZSBvYmplY3QncwoJCSMgbmFt ZSB0byBlbnN1cmUgaXQgaXMgdW5pcXVlLgoKICAgICAgICAgICAgICAgICMgV2UgY2hvb3Nl IHRoZSBuYW1lICdERVJJVkVEX09CSkVDVCcgdG8gZW5zdXJlICgxKSB1bmlxdWVuZXNzLAog ICAgICAgICAgICAgICAgIyBhbmQgKDIpIGNvbnRpbnVpdHkgYmV0d2VlbiBpbnZvY2F0aW9u cy4gIEhvd2V2ZXIsIHRoaXMgd2lsbAogICAgICAgICAgICAgICAgIyByZXN1bHQgaW4gYSBu YW1lIHRoYXQgaXMgdG9vIGxvbmcgZm9yIGxvc2luZyBzeXN0ZW1zLCBpbiBzb21lCiAgICAg ICAgICAgICAgICAjIHNpdHVhdGlvbnMuICBTbyB3ZSBhdHRlbXB0IHRvIHNob3J0ZW4gYXV0 b21hdGljYWxseSB1bmRlcgogICAgICAgICAgICAgICAgIyBzdWJkaXItb2JqZWN0cywgYW5k IHByb3ZpZGUgX1NIT1JUTkFNRSB0byBvdmVycmlkZSBhcyBhIGxhc3QKICAgICAgICAgICAg ICAgICMgcmVzb3J0LiAgSWYgc3ViZGlyLW9iamVjdCBpcyBpbiBlZmZlY3QsIGl0J3MgdXN1 YWxseQogICAgICAgICAgICAgICAgIyB1bm5lY2Vzc2FyeSB0byB1c2UgdGhlIGNvbXBsZXRl ICdERVJJVkVEX09CSkVDVCcgKHRoYXQgaXMKICAgICAgICAgICAgICAgICMgb2Z0ZW4gdGhl IHJlc3VsdCBmcm9tICVjYW5vbl9yZWxkaXIlLyVDJSB1c2FnZSkgc2luY2Ugb2JqZWN0cwog ICAgICAgICAgICAgICAgIyBhcmUgcGxhY2VkIG5leHQgdG8gdGhlaXIgc291cmNlIGZpbGUu ICBHZW5lcmFsbHksIHRoaXMgbWVhbnMKICAgICAgICAgICAgICAgICMgaXQgaXMgYWxyZWFk eSB1bmlxdWUgd2l0aGluIHRoYXQgZGlyZWN0b3J5IChzZWUgYmVsb3cgZm9yIGFuCiAgICAg ICAgICAgICAgICAjIGV4Y2VwdGlvbikuICBUaHVzLCB3ZSB0cnkgdG8gYXZvaWQgdW5uZWNl c3NhcmlseSBsb25nIGZpbGUKICAgICAgICAgICAgICAgICMgbmFtZXMgYnkgc3RyaXBwaW5n IHRoZSBkaXJlY3RvcnkgY29tcG9uZW50cyBvZgogICAgICAgICAgICAgICAgIyAnREVSSVZF RF9PQkpFQ1QnLiAgVGhpcyBhbGxvd3MgYXZvaWRpbmcgZXhwbGljaXQgX1NIT1JUTkFNRQog ICAgICAgICAgICAgICAgIyB1c2FnZSBpbiBtYW55IGNhc2VzLiAgRVhDRVBUSU9OOiBJZiB0 d28gKG9yIG1vcmUpIHRhcmdldHMgaW4KICAgICAgICAgICAgICAgICMgZGlmZmVyZW50IGRp cmVjdG9yaWVzIGJ1dCB3aXRoIHRoZSBzYW1lIGJhc2UgbmFtZSAoYWZ0ZXIKICAgICAgICAg ICAgICAgICMgY2Fub25pY2FsaXphdGlvbiksIHVzaW5nIHRhcmdldC1zcGVjaWZpYyBGTEFH UywgbGluayB0aGUgc2FtZQogICAgICAgICAgICAgICAgIyBvYmplY3QsIHRoZW4gdGhpcyBs b2dpYyBjbGFzaGVzLiAgVGh1cywgd2UgZG9uJ3Qgc3RyaXAgaWYKICAgICAgICAgICAgICAg ICMgdGhpcyBpcyBkZXRlY3RlZC4KICAgICAgICAgICAgICAgIG15ICRkbmFtZSA9ICRkZXJp dmVkOwogICAgICAgICAgICAgICAgaWYgKCRkaXJlY3RvcnkgbmUgJycKICAgICAgICAgICAg ICAgICAgICAmJiBvcHRpb24gJ3N1YmRpci1vYmplY3RzJwogICAgICAgICAgICAgICAgICAg ICYmIG5vbmUgeyAkZG5hbWUgPX4gLyRfWzBdJC8gfSBAZHVwX3Nob3J0bmFtZXMpCiAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAjIEF0IHRoaXMgcG9pbnQsIHdl IGRvbid0IGNsZWFyIGluZm9ybWF0aW9uIGFib3V0IHdoYXQKICAgICAgICAgICAgICAgICAg ICAjIHBhcnRzIG9mICRkZXJpdmVkIGFyZSB0cnVseSBmaWxlIG5hbWUgY29tcG9uZW50cy4g IFdlIGNhbgogICAgICAgICAgICAgICAgICAgICMgZGV0ZXJtaW5lIHRoYXQgYnkgY29tcGFy aW5nIGFnYWluc3QgdGhlIGNhbm9uaWNhbGl6YXRpb24KICAgICAgICAgICAgICAgICAgICAj IG9mICRkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgbXkgJGRpciA9ICRkaXJlY3Rv cnkgLiAiLyI7CiAgICAgICAgICAgICAgICAgICAgbXkgJGNkaXIgPSBjYW5vbmljYWxpemUg KCRkaXIpOwogICAgICAgICAgICAgICAgICAgIG15ICRkaXJfbGVuID0gbGVuZ3RoICgkZGly KTsKICAgICAgICAgICAgICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBvbmx5IHN0cmlwIGZ1bGwg ZmlsZSBuYW1lIGNvbXBvbmVudHMuICBUaGlzCiAgICAgICAgICAgICAgICAgICAgIyBpcyBk b25lIGJ5IHJlcGVhdGVkbHkgdHJ5aW5nIHRvIGZpbmQgY2RpciBhdCB0aGUKICAgICAgICAg ICAgICAgICAgICAjIGJlZ2lubmluZy4gIEVhY2ggaXRlcmF0aW9uIHJlbW92ZXMgb25lIGZp bGUgbmFtZQogICAgICAgICAgICAgICAgICAgICMgY29tcG9uZW50IGZyb20gdGhlIGVuZCBv ZiBjZGlyLgogICAgICAgICAgICAgICAgICAgIHdoaWxlICgkZGlyX2xlbiA+IDAgJiYgaW5k ZXggKCRkZXJpdmVkLCAkY2RpcikgIT0gMCkKICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgIyBFdmVudHVhbGx5ICRkaXJfbGVuIGJlY29tZXMgMC4K ICAgICAgICAgICAgICAgICAgICAgICAgJGRpcl9sZW4gPSByaW5kZXggKCRkaXIsICIvIiwg JGRpcl9sZW4gLSAyKSArIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICRjZGlyID0gc3Vi c3RyICgkY2RpciwgMCwgJGRpcl9sZW4pOwogICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICRkbmFtZSA9IHN1YnN0ciAoJGRlcml2ZWQsICRkaXJfbGVuKTsK ICAgICAgICAgICAgICAgICAgfQoJCW15ICR2YXIgPSB2YXIgKCRkZXJpdmVkIC4gJ19TSE9S VE5BTUUnKTsKCQlpZiAoJHZhcikKCQl7CgkJICAgICMgRklYTUU6IHNob3VsZCB1c2UgdGhl IHNhbWUgQ29uZGl0aW9uIGFzCgkJICAgICMgdGhlIF9TT1VSQ0VTIHZhcmlhYmxlLiAgQnV0 IHRoaXMgaXMgcmVhbGx5CgkJICAgICMgc2lsbHkgb3ZlcmtpbGwgLS0gbm9ib2R5IHNob3Vs ZCBoYXZlCgkJICAgICMgY29uZGl0aW9uYWwgc2hvcnRuYW1lcy4KCQkgICAgJGRuYW1lID0g JHZhci0+dmFyaWFibGVfdmFsdWU7CgkJfQoJCSRvYmplY3QgPSAkZG5hbWUgLiAnLScgLiAk b2JqZWN0OwoKCQlwcm9nX2Vycm9yICgkbGFuZy0+bmFtZSAuICIgZmxhZ3MgZGVmaW5lZCB3 aXRob3V0IGNvbXBpbGVyIikKCQkgIGlmICEgZGVmaW5lZCAkbGFuZy0+Y29tcGlsZTsKCgkJ JHJlbmFtZWQgPSAxOwoJICAgIH0KCgkgICAgIyBJZiByZXdyaXRlIHNhaWQgaXQgd2FzIG9r LCBwdXQgdGhlIG9iamVjdCBpbnRvIGEgc3ViZGlyLgoJICAgIGlmICgkZGlyZWN0b3J5IG5l ICcnKQoJICAgIHsKICAgICAgICAgICAgICBpZiAoJHIgPT0gTEFOR19TVUJESVIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICRvYmplY3QgPSAkZGlyZWN0b3J5IC4g Jy8nIC4gJG9iamVjdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICMgU2luY2UgdGhlIG5leHQgbWFq b3IgdmVyc2lvbiBvZiBhdXRvbWFrZSAoMi4wKSB3aWxsCiAgICAgICAgICAgICAgICAgICMg bWFrZSB0aGUgYmVoYXZpb3VyIHNvIGZhciBvbmx5IGFjdGl2YXRlZCB3aXRoIHRoZQogICAg ICAgICAgICAgICAgICAjICdzdWJkaXItb2JqZWN0JyBvcHRpb24gbWFuZGF0b3J5LCBpdCdz IGJldHRlciBpZiB3ZQogICAgICAgICAgICAgICAgICAjIHN0YXJ0IHdhcm5pbmcgdXNlcnMg bm90IHVzaW5nIHRoYXQgb3B0aW9uLgogICAgICAgICAgICAgICAgICAjIEFzIHN1Z2dlc3Rl ZCBieSBQZXRlciBKb2hhbnNzb24sIHdlIHN0cml2ZSB0byBhdm9pZAogICAgICAgICAgICAg ICAgICAjIHRoZSB3YXJuaW5nIHdoZW4gaXQgd291bGQgYmUgaXJyZWxldmFudCwgaS5lLiwg aWYKICAgICAgICAgICAgICAgICAgIyBhbGwgc291cmNlIGZpbGVzIHNpdCBpbiAiY3VycmVu dCIgZGlyZWN0b3J5LgogICAgICAgICAgICAgICAgICBtc2dfdmFyICd1bnN1cHBvcnRlZCcs ICR2YXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSBmaWxlICckZnVsbCcg aXMgaW4gYSBzdWJkaXJlY3RvcnksIgogICAgICAgICAgICAgICAgICAgICAgICAgIC4gIlxu YnV0IG9wdGlvbiAnc3ViZGlyLW9iamVjdHMnIGlzIGRpc2FibGVkIjsKICAgICAgICAgICAg ICAgICAgbXNnICd1bnN1cHBvcnRlZCcsIElOVEVSTkFMLCA8PCdFT0YnLCB1bmlxX3Njb3Bl ID0+IFVTX0dMT0JBTDsKcG9zc2libGUgZm9yd2FyZC1pbmNvbXBhdGliaWxpdHkuCkF0IGxl YXN0IGEgc291cmNlIGZpbGUgaXMgaW4gYSBzdWJkaXJlY3RvcnksIGJ1dCB0aGUgJ3N1YmRp ci1vYmplY3RzJwphdXRvbWFrZSBvcHRpb24gaGFzbid0IGJlZW4gZW5hYmxlZC4gIEZvciBu b3csIHRoZSBjb3JyZXNwb25kaW5nIG91dHB1dApvYmplY3QgZmlsZShzKSB3aWxsIGJlIHBs YWNlZCBpbiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4gIEhvd2V2ZXIsCnRoaXMgYmVoYXZp b3VyIHdpbGwgY2hhbmdlIGluIGZ1dHVyZSBBdXRvbWFrZSB2ZXJzaW9uczogdGhleSB3aWxs CnVuY29uZGl0aW9uYWxseSBjYXVzZSBvYmplY3QgZmlsZXMgdG8gYmUgcGxhY2VkIGluIHRo ZSBzYW1lIHN1YmRpcmVjdG9yeQpvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2VzLgpZb3Ug YXJlIGFkdmlzZWQgdG8gc3RhcnQgdXNpbmcgJ3N1YmRpci1vYmplY3RzJyBvcHRpb24gdGhy b3VnaG91dCB5b3VyCnByb2plY3QsIHRvIGF2b2lkIGZ1dHVyZSBpbmNvbXBhdGliaWxpdGll cy4KRU9GCiAgICAgICAgICAgICAgICB9CgkgICAgfQoKCSAgICAjIElmIHRoZSBvYmplY3Qg ZmlsZSBoYXMgYmVlbiByZW5hbWVkIChiZWNhdXNlIHBlci10YXJnZXQKCSAgICAjIGZsYWdz IGFyZSB1c2VkKSB3ZSBjYW5ub3QgY29tcGlsZSB0aGUgZmlsZSB3aXRoIGFuCgkgICAgIyBp bmZlcmVuY2UgcnVsZTogd2UgbmVlZCBhbiBleHBsaWNpdCBydWxlLgoJICAgICMKCSAgICAj IElmIHRoZSBzb3VyY2UgaXMgaW4gYSBzdWJkaXJlY3RvcnkgYW5kIHRoZSBvYmplY3QgaXMg aW4KCSAgICAjIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgd2UgYWxzbyBuZWVkIGFuIGV4cGxp Y2l0IHJ1bGUuCgkgICAgIwoJICAgICMgSWYgYm90aCBzb3VyY2UgYW5kIG9iamVjdCBmaWxl cyBhcmUgaW4gYSBzdWJkaXJlY3RvcnkKCSAgICAjICh0aGlzIGhhcHBlbnMgd2hlbiB0aGUg c3ViZGlyLW9iamVjdHMgb3B0aW9uIGlzIHVzZWQpLAoJICAgICMgdGhlbiB0aGUgaW5mZXJl bmNlIHdpbGwgd29yay4KCSAgICAjCgkgICAgIyBUaGUgbGF0dGVyIGNhc2UgZGVzZXJ2ZXMg YSBoaXN0b3JpY2FsIG5vdGUuICBXaGVuIHRoZQoJICAgICMgc3ViZGlyLW9iamVjdHMgb3B0 aW9uIHdhcyBhZGRlZCBvbiAxOTk5LTA0LTExIGl0IHdhcwoJICAgICMgdGhvdWdodCB0aGF0 IGluZmVyZW5jZXMgcnVsZXMgd291bGQgd29yayBmb3IKCSAgICAjIHN1YmRpcmVjdG9yeSBv YmplY3RzIHRvby4gIExhdGVyLCBvbiAxOTk5LTExLTIyLAoJICAgICMgYXV0b21ha2Ugd2Fz IGNoYW5nZWQgdG8gb3V0cHV0IGV4cGxpY2l0IHJ1bGVzIGV2ZW4gZm9yCgkgICAgIyBzdWJk aXItb2JqZWN0cy4gIE5vYm9keSByZW1lbWJlcnMgd2h5LCBidXQgdGhpcyBvY2N1cnJlZAoJ ICAgICMgc29vbiBhZnRlciB0aGUgbWVyZ2Ugb2YgdGhlIHVzZXItZGVwLWdlbi1icmFuY2gg c28gaXQKCSAgICAjIG1pZ2h0IGJlIHJlbGF0ZWQuICBJbiBsYXRlIDIwMDMgcGVvcGxlIGNv bXBsYWluZWQgYWJvdXQKCSAgICAjIHRoZSBzaXplIG9mIHRoZSBnZW5lcmF0ZWQgTWFrZWZp bGUuaW5zIChsaWJnY2osIHdpdGgKCSAgICAjIDIyMDArIHN1YmRpciBvYmplY3RzIHdhcyBy ZXBvcnRlZCB0byBoYXZlIGEgOU1CCgkgICAgIyBNYWtlZmlsZSksIHNvIHdlIG5vdyByZWx5 IG9uIGluZmVyZW5jZSBydWxlcyBhZ2Fpbi4KCSAgICAjIE1heWJlIHdlJ2xsIHJ1biBhY3Jv c3MgdGhlIHNhbWUgaXNzdWUgYXMgaW4gdGhlIHBhc3QsCgkgICAgIyBidXQgYXQgbGVhc3Qg dGhpcyB0aW1lIHdlIGNhbiBkb2N1bWVudCBpdC4gIEhvd2V2ZXIgc2luY2UKCSAgICAjIGRl cGVuZGVuY3kgdHJhY2tpbmcgaGFzIGV2b2x2ZWQgaXQgaXMgcG9zc2libGUgdGhhdAoJICAg ICMgb3VyIG9sZCBwcm9ibGVtIG5vIGxvbmdlciBleGlzdHMuCgkgICAgIyBVc2luZyBpbmZl cmVuY2UgcnVsZXMgZm9yIHN1YmRpci1vYmplY3RzIGhhcyBiZWVuIHRlc3RlZAoJICAgICMg d2l0aCBHTlUgbWFrZSwgU29sYXJpcyBtYWtlLCBVbHRyaXggbWFrZSwgQlNEIG1ha2UsCgkg ICAgIyBIUC1VWCBtYWtlLCBhbmQgT1NGMSBtYWtlIHN1Y2Nlc3NmdWxseS4KCSAgICBpZiAo JHJlbmFtZWQKCQl8fCAoJGRpcmVjdG9yeSBuZSAnJyAmJiAhIG9wdGlvbiAnc3ViZGlyLW9i amVjdHMnKQoJCSMgV2UgbXVzdCBhbHNvIHVzZSBzcGVjaWZpYyBydWxlcyBmb3IgYSBub2Rp c3RfIHNvdXJjZQoJCSMgaWYgaXRzIGxhbmd1YWdlIHJlcXVlc3RzIGl0LgoJCXx8ICgkbGFu Zy0+bm9kaXN0X3NwZWNpZmljICYmICEgJHRyYW5zZm9ybXsnRElTVF9TT1VSQ0UnfSkpCgkg ICAgewoJCW15ICRvYmpfc2Fuc19leHQgPSBzdWJzdHIgKCRvYmplY3QsIDAsCgkJCQkJICAg LSBsZW5ndGggKCR0aGlzX29ial9leHQpKTsKCQlteSAkZnVsbF9hbnNpOwoJCWlmICgkZGly ZWN0b3J5IG5lICcnKQoJICAgICAgICAgIHsKCQkJJGZ1bGxfYW5zaSA9ICRkaXJlY3Rvcnkg LiAnLycgLiAkYmFzZSAuICRleHRlbnNpb247CgkgICAgICAgICAgfQoJCWVsc2UKCSAgICAg ICAgICB7CgkJCSRmdWxsX2Fuc2kgPSAkYmFzZSAuICRleHRlbnNpb247CgkgICAgICAgICAg fQoKCQlteSBAc3BlY2lmaWNzID0gKCRmdWxsX2Fuc2ksICRvYmpfc2Fuc19leHQsCgkJCQkg IyBPbmx5IHVzZSAkdGhpc19vYmpfZXh0IGluIHRoZSBkZXJpdmVkCgkJCQkgIyBzb3VyY2Ug Y2FzZSBiZWNhdXNlIGluIHRoZSBvdGhlciBjYXNlIHdlCgkJCQkgIyAqZG9uJ3QqIHdhbnQg JChPQkpFWFQpIHRvIGFwcGVhciBoZXJlLgoJCQkJICgkZGVyaXZlZF9zb3VyY2UgPyAkdGhp c19vYmpfZXh0IDogJy5vJyksCgkJCQkgJGV4dGVuc2lvbik7CgoJCSMgSWYgd2UgcmVuYW1l ZCB0aGUgb2JqZWN0IHRoZW4gd2Ugd2FudCB0byB1c2UgdGhlCgkJIyBwZXItZXhlY3V0YWJs ZSBmbGFnIG5hbWUuICBCdXQgaWYgdGhpcyBpcyBzaW1wbHkgYQoJCSMgc3ViZGlyIGJ1aWxk IHRoZW4gd2Ugc3RpbGwgd2FudCB0byB1c2UgdGhlIEFNXyBmbGFnCgkJIyBuYW1lLgoJCWlm ICgkcmVuYW1lZCkKCQkgIHsKCQkgICAgdW5zaGlmdCBAc3BlY2lmaWNzLCAkZGVyaXZlZDsK CQkgICAgJGFnZ3JlZ2F0ZSA9ICRkZXJpdmVkOwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAg dW5zaGlmdCBAc3BlY2lmaWNzLCAnQU0nOwoJCSAgfQoKCQkjIEVhY2ggaXRlbSBvbiB0aGlz IGxpc3QgaXMgYSByZWZlcmVuY2UgdG8gYSBsaXN0IGNvbnNpc3RpbmcKCQkjIG9mIGZvdXIg dmFsdWVzIGZvbGxvd2VkIGJ5IGFkZGl0aW9uYWwgdHJhbnNmb3JtIGZsYWdzIGZvcgoJCSMg ZmlsZV9jb250ZW50cy4gIFRoZSBmb3VyIHZhbHVlcyBhcmUgdGhlIGRlcml2ZWQgZmxhZyBw cmVmaXgKCQkjIChlLmcuIGZvciAnZm9vX0NGTEFHUycsIGl0IGlzICdmb28nKSwgdGhlIG5h bWUgb2YgdGhlCgkJIyBzb3VyY2UgZmlsZSwgdGhlIGJhc2UgbmFtZSBvZiB0aGUgb3V0cHV0 IGZpbGUsIGFuZAoJCSMgdGhlIGV4dGVuc2lvbiBmb3IgdGhlIG9iamVjdCBmaWxlLgoJCXB1 c2ggKEB7JGxhbmdfc3BlY2lmaWNfZmlsZXN7JGxhbmctPm5hbWV9fSwKCQkgICAgICBbQHNw ZWNpZmljcywgJXRyYW5zZm9ybV0pOwoJICAgIH0KCX0KCWVsc2lmICgkZXh0ZW5zaW9uIGVx ICRvYmopCgl7CgkgICAgIyBUaGlzIGlzIHByb2JhYmx5IHRoZSByZXN1bHQgb2YgYSBkaXJl Y3Qgc3VmZml4IHJ1bGUuCgkgICAgIyBJbiB0aGlzIGNhc2Ugd2UganVzdCBhY2NlcHQgdGhl IHJld3JpdGUuCgkgICAgJG9iamVjdCA9ICIkYmFzZSRleHRlbnNpb24iOwoJICAgICRvYmpl Y3QgPSAiJGRpcmVjdG9yeS8kb2JqZWN0IiBpZiAkZGlyZWN0b3J5IG5lICcnOwoJICAgICRs aW5rZXIgPSAnJzsKCX0KCWVsc2UKCXsKCSAgICAjIE5vIGVycm9yIG1lc3NhZ2UgaGVyZS4g IFVzZWQgdG8gaGF2ZSBvbmUsIGJ1dCBpdCB3YXMKCSAgICAjIHZlcnkgdW5wb3B1bGFyLgoJ ICAgICMgRklYTUU6IHdlIGNvdWxkIHBvdGVudGlhbGx5IGRvIG1vcmUgcHJvY2Vzc2luZyBo ZXJlLAoJICAgICMgcGVyaGFwcyB0cmVhdGluZyB0aGUgbmV3IGV4dGVuc2lvbiBhcyB0aG91 Z2ggaXQgd2VyZSBhCgkgICAgIyBuZXcgc291cmNlIGV4dGVuc2lvbiAoYXMgYWJvdmUpLiAg VGhpcyB3b3VsZCByZXF1aXJlCgkgICAgIyBtb3JlIHJlc3RydWN0dXJpbmcgdGhhbiBpcyBh cHByb3ByaWF0ZSByaWdodCBub3cuCgkgICAgbmV4dDsKCX0KCgllcnJfYW0gIm9iamVjdCAn JG9iamVjdCcgY3JlYXRlZCBieSAnJGZ1bGwnIGFuZCAnJG9iamVjdF9tYXB7JG9iamVjdH0n IgoJICBpZiAoZGVmaW5lZCAkb2JqZWN0X21hcHskb2JqZWN0fQoJICAgICAgJiYgJG9iamVj dF9tYXB7JG9iamVjdH0gbmUgJGZ1bGwpOwoKCW15ICRjb21wX3ZhbCA9ICgoJG9iamVjdCA9 fiAvXC5sbyQvKQoJCQk/IENPTVBJTEVfTElCVE9PTCA6IENPTVBJTEVfT1JESU5BUlkpOwoJ KG15ICRjb21wX29iaiA9ICRvYmplY3QpID1+IHMvXC5sbyQvLlwkKE9CSkVYVCkvOwoJaWYg KGRlZmluZWQgJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNvbXBfb2JqfQoJICAgICYmICRv YmplY3RfY29tcGlsYXRpb25fbWFweyRjb21wX29ian0gIT0gMAoJICAgICMgT25seSBzZWUg dGhlIGVycm9yIG9uY2UuCgkgICAgJiYgKCRvYmplY3RfY29tcGlsYXRpb25fbWFweyRjb21w X29ian0KCQkhPSAoQ09NUElMRV9MSUJUT09MIHwgQ09NUElMRV9PUkRJTkFSWSkpCgkgICAg JiYgJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNvbXBfb2JqfSAhPSAkY29tcF92YWwpCgkg IHsKCSAgICBlcnJfYW0gIm9iamVjdCAnJGNvbXBfb2JqJyBjcmVhdGVkIGJvdGggd2l0aCBs aWJ0b29sIGFuZCB3aXRob3V0IjsKCSAgfQoJJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNv bXBfb2JqfSB8PSAkY29tcF92YWw7CgoJaWYgKGRlZmluZWQgJGxhbmcpCgl7CgkgICAgIyBM ZXQgdGhlIGxhbmd1YWdlIGRvIHNvbWUgc3BlY2lhbCBtYWdpYyBpZiByZXF1aXJlZC4KCSAg ICAkbGFuZy0+dGFyZ2V0X2hvb2sgKCRhZ2dyZWdhdGUsICRvYmplY3QsICRmdWxsLCAldHJh bnNmb3JtKTsKCX0KCglpZiAoJGRlcml2ZWRfc291cmNlKQoJICB7CgkgICAgcHJvZ19lcnJv ciAoJGxhbmctPm5hbWUgLiAiIGhhcyBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZyIp CgkgICAgICBpZiAkbGFuZy0+YXV0b2RlcCBuZSAnbm8nOwoJICAgICMgTWFrZSBzdXJlIHRo aXMgbmV3IHNvdXJjZSBmaWxlIGlzIGhhbmRsZWQgbmV4dC4gIFRoYXQgd2lsbAoJICAgICMg bWFrZSBpdCBhcHBlYXIgdG8gYmUgYXQgdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBsaXN0LgoJ ICAgIHVuc2hpZnQgKEBmaWxlcywgJG9iamVjdCk7CgkgICAgIyBEaXN0cmlidXRlIGRlcml2 ZWQgc291cmNlcyB1bmxlc3MgdGhlIHNvdXJjZSB0aGV5IGFyZQoJICAgICMgZGVyaXZlZCBm cm9tIGlzIG5vdC4KCSAgICBwdXNoX2Rpc3RfY29tbW9uICgkb2JqZWN0KQoJICAgICAgdW5s ZXNzICgkdG9wcGFyZW50ID1+IC9eKD86bm9iYXNlXyk/bm9kaXN0Xy8pOwoJICAgIG5leHQ7 CgkgIH0KCgkkbGlua2Vyc191c2VkeyRsaW5rZXJ9ID0gMTsKCglwdXNoIChAcmVzdWx0LCAk b2JqZWN0KTsKCglpZiAoISBkZWZpbmVkICRvYmplY3RfbWFweyRvYmplY3R9KQoJewoJICAg IG15IEBkZXBfbGlzdCA9ICgpOwoJICAgICRvYmplY3RfbWFweyRvYmplY3R9ID0gJGZ1bGw7 CgoJICAgICMgSWYgcmVzdWx0aW5nIG9iamVjdCBpcyBpbiBzdWJkaXIsIHdlIG5lZWQgdG8g bWFrZQoJICAgICMgc3VyZSB0aGUgc3ViZGlyIGV4aXN0cyBhdCBidWlsZCB0aW1lLgoJICAg IGlmICgkb2JqZWN0ID1+IC9cLy8pCgkgICAgewoJCSMgRklYTUU6IGNoZWNrIHRoYXQgJERJ UkVDVE9SWSBpcyBzb21ld2hlcmUgaW4gdGhlCgkJIyBwcm9qZWN0CgoJCSMgRm9yIEphdmEs IHRoZSB3YXkgd2UncmUgaGFuZGxpbmcgaXQgcmlnaHQgbm93LCBhCgkJIyAnLi4nIGNvbXBv bmVudCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgkJaWYgKCRsYW5nICYmICRsYW5nLT5uYW1lIGVx ICdqYXZhJyAmJiAkb2JqZWN0ID1+IC8oXC98XilcLlwuXC8vKQoJCSAgewoJCSAgICBlcnJf YW0gIickZnVsbCcgc2hvdWxkIG5vdCBjb250YWluIGEgJy4uJyBjb21wb25lbnQiOwoJCSAg fQoKICAgICAgICAgICAgICAgICMgTWFrZSBzdXJlICphbGwqIG9iamVjdHMgZmlsZXMgaW4g dGhlIHN1YmRpcmVjdG9yeSBhcmUKICAgICAgICAgICAgICAgICMgcmVtb3ZlZCBieSAibWFr ZSBtb3N0bHljbGVhbiIuICBOb3Qgb25seSB0aGlzIGlzIG1vcmUKICAgICAgICAgICAgICAg ICMgZWZmaWNpZW50IHRoYW4gbGlzdGluZyB0aGUgb2JqZWN0IGZpbGVzIHRvIGJlIHJlbW92 ZWQKICAgICAgICAgICAgICAgICMgaW5kaXZpZHVhbGx5ICh3aGljaCB3b3VsZCBjYXVzZSBh biAncm0nIGludm9jYXRpb24gZm9yCiAgICAgICAgICAgICAgICAjIGVhY2ggb2YgdGhlbSAt LSB2ZXJ5IGluZWZmaWNpZW50LCBzZWUgYnVnIzEwNjk3KSwgaXQKICAgICAgICAgICAgICAg ICMgd291bGQgYWxzbyBsZWF2ZSBzdGFsZSBvYmplY3QgZmlsZXMgaW4gdGhlIHN1YmRpcmVj dG9yeQogICAgICAgICAgICAgICAgIyB3aGVuZXZlciBhIHNvdXJjZSBmaWxlIHRoZXJlIGlz IHJlbW92ZWQgb3IgcmVuYW1lZC4KICAgICAgICAgICAgICAgICRjb21waWxlX2NsZWFuX2Zp bGVzeyIkZGlyZWN0b3J5LyouXCQoT0JKRVhUKSJ9ID0gTU9TVExZX0NMRUFOOwogICAgICAg ICAgICAgICAgaWYgKCRvYmplY3QgPX4gL1wubG8kLykKICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICMgSWYgd2UgaGF2ZSBhIGxpYnRvb2wgb2JqZWN0LCB0aGVu IHdlIGFsc28gbXVzdCByZW1vdmUKICAgICAgICAgICAgICAgICAgICAjIGFueSAnLmxvJyBv YmplY3RzIGluIGl0cyBzYW1lIHN1YmRpcmVjdG9yeS4KICAgICAgICAgICAgICAgICAgICAk Y29tcGlsZV9jbGVhbl9maWxlc3siJGRpcmVjdG9yeS8qLmxvIn0gPSBNT1NUTFlfQ0xFQU47 CiAgICAgICAgICAgICAgICAgICAgIyBSZW1lbWJlciB0byBjbGVhbnVwIC5saWJzLyBpbiB0 aGlzIGRpcmVjdG9yeS4KICAgICAgICAgICAgICAgICAgICAkbGlidG9vbF9jbGVhbl9kaXJl Y3Rvcmllc3skZGlyZWN0b3J5fSA9IDE7CiAgICAgICAgICAgICAgICAgIH0KCgkJcHVzaCAo QGRlcF9saXN0LCByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeSAoJGRpcmVjdG9yeSkpOwoKCQkj IElmIHdlJ3JlIGdlbmVyYXRpbmcgZGVwZW5kZW5jaWVzLCB3ZSBhbHNvIHdhbnQKCQkjIHRv IG1ha2Ugc3VyZSB0aGF0IHRoZSBhcHByb3ByaWF0ZSBzdWJkaXIgb2YgdGhlCgkJIyAuZGVw cyBkaXJlY3RvcnkgaXMgY3JlYXRlZC4KCQlwdXNoIChAZGVwX2xpc3QsCgkJICAgICAgcmVx dWlyZV9idWlsZF9kaXJlY3RvcnkgKCRkaXJlY3RvcnkgLiAnLyQoREVQRElSKScpKQoJCSAg dW5sZXNzIG9wdGlvbiAnbm8tZGVwZW5kZW5jaWVzJzsKCSAgICB9CgoJICAgIHByZXR0eV9w cmludF9ydWxlICgkb2JqZWN0IC4gJzonLCAiXHQiLCBAZGVwX2xpc3QpCgkJaWYgc2NhbGFy IEBkZXBfbGlzdCA+IDA7Cgl9CgoJIyBUcmFuc2Zvcm0gLm8gb3IgJG8gZmlsZSBpbnRvIC5Q IGZpbGUgKGZvciBhdXRvbWF0aWMKCSMgZGVwZW5kZW5jeSBjb2RlKS4KICAgICAgICAjIFBy b3Blcmx5IGZsYXR0ZW4gbXVsdGlwbGUgYWRqYWNlbnQgc2xhc2hlcywgYXMgU29sYXJpcyAx MCBtYWtlCiAgICAgICAgIyBtaWdodCBmYWlsIG92ZXIgdGhlbSBpbiBhbiBpbmNsdWRlIHN0 YXRlbWVudC4KICAgICAgICAjIExlYWRpbmcgZG91YmxlIHNsYXNoZXMgbWF5IGJlIHNwZWNp YWwsIGFzIHBlciBQb3NpeCwgc28gZGVhbAogICAgICAgICMgd2l0aCB0aGVtIGNhcmVmdWxs eS4KICAgICAgICBpZiAoJGxhbmcgJiYgJGxhbmctPmF1dG9kZXAgbmUgJ25vJykKICAgICAg ICB7CiAgICAgICAgICAgIG15ICRkZXBmaWxlID0gJG9iamVjdDsKICAgICAgICAgICAgJGRl cGZpbGUgPX4gcy9cLihbXi5dKikkLy5QJDEvOwogICAgICAgICAgICAkZGVwZmlsZSA9fiBz L1wkXChPQkpFWFRcKSQvby87CiAgICAgICAgICAgIG15ICRtYXliZV9leHRyYV9sZWFkaW5n X3NsYXNoID0gJyc7CiAgICAgICAgICAgICRtYXliZV9leHRyYV9sZWFkaW5nX3NsYXNoID0g Jy8nIGlmICRkZXBmaWxlID1+IG0sXi8vW14vXSw7CiAgICAgICAgICAgICRkZXBmaWxlID1+ IHMsLyssLyxnOwogICAgICAgICAgICBteSAkYmFzZW5hbWUgPSBiYXNlbmFtZSAoJGRlcGZp bGUpOwogICAgICAgICAgICAjIFRoaXMgbWlnaHQgbWFrZSAkZGlybmFtZSBlbXB0eSwgYnV0 IHdlIGFjY291bnQgZm9yIHRoYXQgYmVsb3cuCiAgICAgICAgICAgIChteSAkZGlybmFtZSA9 IGRpcm5hbWUgKCRkZXBmaWxlKSkgPX4gcy9cLyokLy87CiAgICAgICAgICAgICRkaXJuYW1l ID0gJG1heWJlX2V4dHJhX2xlYWRpbmdfc2xhc2ggLiAkZGlybmFtZTsKICAgICAgICAgICAg JGRlcF9maWxlc3skZGlybmFtZSAuICcvJChERVBESVIpLycgLiAkYmFzZW5hbWV9ID0gMTsK ICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIEByZXN1bHQ7Cn0KCgojICRMSU5LRVIKIyBk ZWZpbmVfb2JqZWN0c19mcm9tX3NvdXJjZXMgKCRWQVIsICRPQkpWQVIsICROT0RFRklORSwg JE9ORV9GSUxFLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE9CSiwgJFBBUkVO VCwgJFRPUFBBUkVOVCwgJFdIRVJFLCAlVFJBTlNGT1JNKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQojIERlZmluZSBhbiBfT0JKRUNUUyB2YXJpYWJsZSBmb3IgYSBfU09VUkNFUyB2YXJp YWJsZSAob3Igc3VidmFyaWFibGUpCiMKIyBBcmd1bWVudHMgYXJlOgojICAgJFZBUiBpcyB0 aGUgbmFtZSBvZiB0aGUgX1NPVVJDRVMgdmFyaWFibGUKIyAgICRPQkpWQVIgaXMgdGhlIG5h bWUgb2YgdGhlIF9PQkpFQ1RTIHZhcmlhYmxlIGlmIGtub3duIChvdGhlcndpc2UKIyAgICAg aXQgd2lsbCBiZSBnZW5lcmF0ZWQgYW5kIHJldHVybmVkKS4KIyAgICROT0RFRklORSBpcyBh IGJvb2xlYW46IGlmIHRydWUsICRPQkpWQVIgd2lsbCBub3QgYmUgZGVmaW5lZCAoYnV0CiMg ICAgIHdvcmsgZG9uZSB0byBkZXRlcm1pbmUgdGhlIGxpbmtlciB3aWxsIGJlKS4KIyAgICRP TkVfRklMRSBpcyB0aGUgY2Fub25pY2FsICh0cmFuc2Zvcm1lZCkgbmFtZSBvZiBvYmplY3Qg dG8gYnVpbGQKIyAgICRPQkogaXMgdGhlIG9iamVjdCBleHRlbnNpb24gKGkuZS4gZWl0aGVy ICcubycgb3IgJy5sbycpLgojICAgJFRPUFBBUkVOVCBpcyB0aGUgX1NPVVJDRVMgdmFyaWFi bGUgYmVpbmcgcHJvY2Vzc2VkLgojICAgJFdIRVJFIGNvbnRleHQgaW50byB3aGljaCB0aGlz IGRlZmluaXRpb24gaXMgZG9uZQojICAgJVRSQU5TRk9STSBleHRyYSBhcmd1bWVudHMgdG8g cGFzcyB0byBmaWxlX2NvbnRlbnRzIHdoZW4gcHJvZHVjaW5nCiMgICAgIHJ1bGVzCiMKIyBS ZXN1bHQgaXMgYSBwYWlyICgkTElOS0VSLCAkT0JKVkFSKToKIyAgICAkTElOS0VSIGlzIGEg Ym9vbGVhbiwgdHJ1ZSBpZiBhIGxpbmtlciBpcyBuZWVkZWQgdG8gZGVhbCB3aXRoIHRoZSBv YmplY3RzCnN1YiBkZWZpbmVfb2JqZWN0c19mcm9tX3NvdXJjZXMKewogIG15ICgkdmFyLCAk b2JqdmFyLCAkbm9kZWZpbmUsICRvbmVfZmlsZSwKICAgICAgJG9iaiwgJHRvcHBhcmVudCwg JHdoZXJlLCAldHJhbnNmb3JtKSA9IEBfOwoKICBteSAkbmVlZGxpbmtlciA9ICIiOwoKICB0 cmFuc2Zvcm1fdmFyaWFibGVfcmVjdXJzaXZlbHkKICAgICgkdmFyLCAkb2JqdmFyLCAnYW1f X29iamVjdHMnLCAkbm9kZWZpbmUsICR3aGVyZSwKICAgICAjIFRoZSB0cmFuc2Zvcm0gY29k ZSB0byBydW4gb24gZWFjaCBmaWxlbmFtZS4KICAgICBzdWIgewogICAgICAgbXkgKCRzdWJ2 YXIsICR2YWwsICRjb25kLCAkZnVsbF9jb25kKSA9IEBfOwogICAgICAgbXkgQHRyYW5zID0g aGFuZGxlX3NpbmdsZV90cmFuc2Zvcm0gKCRzdWJ2YXIsICR0b3BwYXJlbnQsCgkJCQkJICAg ICRvbmVfZmlsZSwgJG9iaiwgJHZhbCwKCQkJCQkgICAgJXRyYW5zZm9ybSk7CiAgICAgICAk bmVlZGxpbmtlciA9ICJ0cnVlIiBpZiBAdHJhbnM7CiAgICAgICByZXR1cm4gQHRyYW5zOwog ICAgIH0pOwoKICByZXR1cm4gJG5lZWRsaW5rZXI7Cn0KCgojIGhhbmRsZV9zb3VyY2VfdHJh bnNmb3JtICgkQ0FOT05fVEFSR0VULCAkVEFSR0VULCAkT0JKRVhULCAkV0hFUkUsICVUUkFO U0ZPUk0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBIYW5kbGUgU09VUkNFLT5PQkpF Q1QgdHJhbnNmb3JtIGZvciBvbmUgcHJvZ3JhbSBvciBsaWJyYXJ5LgojIEFyZ3VtZW50cyBh cmU6CiMgICBjYW5vbmljYWwgKHRyYW5zZm9ybWVkKSBuYW1lIG9mIHRhcmdldCB0byBidWls ZAojICAgYWN0dWFsIHRhcmdldCBvZiBvYmplY3QgdG8gYnVpbGQKIyAgIG9iamVjdCBleHRl bnNpb24gKGkuZS4sIGVpdGhlciAnLm8nIG9yICckbycpCiMgICBsb2NhdGlvbiBvZiB0aGUg c291cmNlIHZhcmlhYmxlCiMgICBleHRyYSBhcmd1bWVudHMgdG8gcGFzcyB0byBmaWxlX2Nv bnRlbnRzIHdoZW4gcHJvZHVjaW5nIHJ1bGVzCiMgUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBs aW5rZXIgdmFyaWFibGUgdGhhdCBtdXN0IGJlIHVzZWQuCiMgRW1wdHkgcmV0dXJuIG1lYW5z IGp1c3QgdXNlICdMSU5LJy4Kc3ViIGhhbmRsZV9zb3VyY2VfdHJhbnNmb3JtCnsKICAgICMg b25lX2ZpbGUgaXMgY2Fub25pY2FsIG5hbWUuICB1bnhmb3JtZWQgaXMgZ2l2ZW4gbmFtZS4g IG9iaiBpcwogICAgIyBvYmplY3QgZXh0ZW5zaW9uLgogICAgbXkgKCRvbmVfZmlsZSwgJHVu eGZvcm1lZCwgJG9iaiwgJHdoZXJlLCAldHJhbnNmb3JtKSA9IEBfOwoKICAgIG15ICRsaW5r ZXIgPSAnJzsKCiAgICAjIE5vIHBvaW50IGluIGNvbnRpbnVpbmcgaWYgX09CSkVDVFMgaXMg ZGVmaW5lZC4KICAgIHJldHVybiBpZiByZWplY3RfdmFyICgkb25lX2ZpbGUgLiAnX09CSkVD VFMnLAoJCQkgICRvbmVfZmlsZSAuICdfT0JKRUNUUyBzaG91bGQgbm90IGJlIGRlZmluZWQn KTsKCiAgICBteSAldXNlZF9wZnggPSAoKTsKICAgIG15ICRuZWVkbGlua2VyOwogICAgJWxp bmtlcnNfdXNlZCA9ICgpOwogICAgZm9yZWFjaCBteSAkcHJlZml4ICgnJywgJ0VYVFJBXycs ICdkaXN0XycsICdub2Rpc3RfJywKCQkJJ2Rpc3RfRVhUUkFfJywgJ25vZGlzdF9FWFRSQV8n KQogICAgewoJbXkgJHZhcm5hbWUgPSAkcHJlZml4IC4gJG9uZV9maWxlIC4gIl9TT1VSQ0VT IjsKCW15ICR2YXIgPSB2YXIgJHZhcm5hbWU7CgluZXh0IHVubGVzcyAkdmFyOwoKCSMgV2Ug YXJlIGdvaW5nIHRvIGRlZmluZSBfT0JKRUNUUyB2YXJpYWJsZXMgdXNpbmcgdGhlIHByZWZp eC4KCSMgVGhlbiB3ZSBnbG9tIHRoZW0gYWxsIHRvZ2V0aGVyLiAgU28gd2UgY2FuJ3QgdXNl IHRoZSBudWxsCgkjIHByZWZpeCBoZXJlIGFzIHdlIG5lZWQgaXQgbGF0ZXIuCglteSAkeHBm eCA9ICgkcHJlZml4IGVxICcnKSA/ICdhbV8nIDogJHByZWZpeDsKCgkjIEtlZXAgdHJhY2sg b2Ygd2hpY2ggcHJlZml4ZXMgd2Ugc2F3LgoJJHVzZWRfcGZ4eyR4cGZ4fSA9IDEKCSAgdW5s ZXNzICRwcmVmaXggPX4gL0VYVFJBXy87CgoJcHVzaCBAc291cmNlcywgIlwkKCR2YXJuYW1l KSI7CglwdXNoIEBkaXN0X3NvdXJjZXMsIHNoYWRvd191bmNvbmRpdGlvbmFsbHkgKCR2YXJu YW1lLCAkd2hlcmUpCgkgIHVubGVzcyAob3B0aW9uICgnbm8tZGlzdCcpIHx8ICRwcmVmaXgg PX4gL15ub2Rpc3RfLyk7CgoJJG5lZWRsaW5rZXIgfD0KCSAgICBkZWZpbmVfb2JqZWN0c19m cm9tX3NvdXJjZXMgKCR2YXJuYW1lLAoJCQkJCSAkeHBmeCAuICRvbmVfZmlsZSAuICdfT0JK RUNUUycsCgkJCQkJICEhKCRwcmVmaXggPX4gL0VYVFJBXy8pLAoJCQkJCSAkb25lX2ZpbGUs ICRvYmosICR2YXJuYW1lLCAkd2hlcmUsCgkJCQkJIERJU1RfU09VUkNFID0+ICgkcHJlZml4 ICF+IC9ebm9kaXN0Xy8pLAoJCQkJCSAldHJhbnNmb3JtKTsKICAgIH0KICAgIGlmICgkbmVl ZGxpbmtlcikKICAgIHsKCSRsaW5rZXIgfHw9IHJlc29sdmVfbGlua2VyICglbGlua2Vyc191 c2VkKTsKICAgIH0KCiAgICBteSBAa2V5cyA9IHNvcnQga2V5cyAldXNlZF9wZng7CiAgICBp ZiAoc2NhbGFyIEBrZXlzID09IDApCiAgICB7CgkjIFRoZSBkZWZhdWx0IHNvdXJjZSBmb3Ig bGliZm9vLmxhIGlzIGxpYmZvby5jLCBidXQgZm9yCgkjIGJhY2t3YXJkIGNvbXBhdGliaWxp dHkgd2UgZmlyc3QgbG9vayBhdCBsaWJmb29fbGEuYywKCSMgaWYgbm8gZGVmYXVsdCBzb3Vy Y2Ugc3VmZml4IGlzIGdpdmVuLgoJbXkgJG9sZF9kZWZhdWx0X3NvdXJjZSA9ICIkb25lX2Zp bGUuYyI7CglteSAkZXh0X3ZhciA9IHZhciAoJ0FNX0RFRkFVTFRfU09VUkNFX0VYVCcpOwoJ bXkgJGRlZmF1bHRfc291cmNlX2V4dCA9ICRleHRfdmFyID8gdmFyaWFibGVfdmFsdWUgKCRl eHRfdmFyKSA6ICcuYyc7Cgltc2dfdmFyICgndW5zdXBwb3J0ZWQnLCAkZXh0X3ZhciwgJGV4 dF92YXItPm5hbWUgLiAiIGNhbiBhc3N1bWUgYXQgbW9zdCBvbmUgdmFsdWUiKQoJICBpZiAk ZGVmYXVsdF9zb3VyY2VfZXh0ID1+IC9bXHQgXS87CgkobXkgJGRlZmF1bHRfc291cmNlID0g JHVueGZvcm1lZCkgPX4gcywoXC5bXi4vXFxdKik/JCwkZGVmYXVsdF9zb3VyY2VfZXh0LDsK CSMgVE9ETzogUmVtb3ZlIHRoaXMgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBoYWNrIGluIEF1 dG9tYWtlIDIuMC4KCWlmICgkb2xkX2RlZmF1bHRfc291cmNlIG5lICRkZWZhdWx0X3NvdXJj ZQoJICAgICYmICEkZXh0X3ZhcgoJICAgICYmIChydWxlICRvbGRfZGVmYXVsdF9zb3VyY2UK CQl8fCBydWxlICckKHNyY2RpcikvJyAuICRvbGRfZGVmYXVsdF9zb3VyY2UKCQl8fCBydWxl ICcke3NyY2Rpcn0vJyAuICRvbGRfZGVmYXVsdF9zb3VyY2UKCQl8fCAtZiAkb2xkX2RlZmF1 bHRfc291cmNlKSkKCSAgewoJICAgIG15ICRsb2MgPSAkd2hlcmUtPmNsb25lOwoJICAgICRs b2MtPnBvcF9jb250ZXh0OwoJICAgIG1zZyAoJ29ic29sZXRlJywgJGxvYywKCQkgInRoZSBk ZWZhdWx0IHNvdXJjZSBmb3IgJyR1bnhmb3JtZWQnIGhhcyBiZWVuIGNoYW5nZWQgIgoJCSAu ICJ0byAnJGRlZmF1bHRfc291cmNlJy5cbihVc2luZyAnJG9sZF9kZWZhdWx0X3NvdXJjZScg Zm9yICIKCQkgLiAiYmFja3dhcmQgY29tcGF0aWJpbGl0eS4pIik7CgkgICAgJGRlZmF1bHRf c291cmNlID0gJG9sZF9kZWZhdWx0X3NvdXJjZTsKCSAgfQoJIyBJZiBhIHJ1bGUgZXhpc3Rz IHRvIGJ1aWxkIHRoaXMgc291cmNlIHdpdGggYSAkKHNyY2RpcikKCSMgcHJlZml4LCB1c2Ug dGhhdCBwcmVmaXggaW4gb3VyIHZhcmlhYmxlcyB0b28uICBUaGlzIGlzIGZvcgoJIyB0aGUg c2FrZSBvZiBCU0QgTWFrZS4KCWlmIChydWxlICckKHNyY2RpcikvJyAuICRkZWZhdWx0X3Nv dXJjZQoJICAgIHx8IHJ1bGUgJyR7c3JjZGlyfS8nIC4gJGRlZmF1bHRfc291cmNlKQoJICB7 CgkgICAgJGRlZmF1bHRfc291cmNlID0gJyQoc3JjZGlyKS8nIC4gJGRlZmF1bHRfc291cmNl OwoJICB9CgoJZGVmaW5lX3ZhcmlhYmxlICgkb25lX2ZpbGUgLiAiX1NPVVJDRVMiLCAkZGVm YXVsdF9zb3VyY2UsICR3aGVyZSk7CglwdXNoIChAc291cmNlcywgJGRlZmF1bHRfc291cmNl KTsKCXB1c2ggKEBkaXN0X3NvdXJjZXMsICRkZWZhdWx0X3NvdXJjZSk7CgoJJWxpbmtlcnNf dXNlZCA9ICgpOwoJbXkgKEByZXN1bHQpID0KCSAgaGFuZGxlX3NpbmdsZV90cmFuc2Zvcm0g KCRvbmVfZmlsZSAuICdfU09VUkNFUycsCgkJCQkgICAkb25lX2ZpbGUgLiAnX1NPVVJDRVMn LAoJCQkJICAgJG9uZV9maWxlLCAkb2JqLAoJCQkJICAgJGRlZmF1bHRfc291cmNlLCAldHJh bnNmb3JtKTsKCSRsaW5rZXIgfHw9IHJlc29sdmVfbGlua2VyICglbGlua2Vyc191c2VkKTsK CWRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRvbmVfZmlsZSAuICdfT0JKRUNUUycsIFRSVUUs ICR3aGVyZSwgQHJlc3VsdCk7CiAgICB9CiAgICBlbHNlCiAgICB7CglAa2V5cyA9IG1hcCB7 ICckKCcgLiAkXyAuICRvbmVfZmlsZSAuICdfT0JKRUNUUyknIH0gQGtleXM7CglkZWZpbmVf cHJldHR5X3ZhcmlhYmxlICgkb25lX2ZpbGUgLiAnX09CSkVDVFMnLCBUUlVFLCAkd2hlcmUs IEBrZXlzKTsKICAgIH0KCiAgICAjIElmIHdlIHdhbnQgdG8gdXNlICdMSU5LJyB3ZSBtdXN0 IG1ha2Ugc3VyZSBpdCBpcyBkZWZpbmVkLgogICAgaWYgKCRsaW5rZXIgZXEgJycpCiAgICB7 CgkkbmVlZF9saW5rID0gMTsKICAgIH0KCiAgICByZXR1cm4gJGxpbmtlcjsKfQoKCiMgaGFu ZGxlX2xpYl9vYmplY3RzICgkWE5BTUUsICRWQVIpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiMgU3BlY2lhbC1jYXNlIEFMTE9DQSBhbmQgTElCT0JKUyBzdWJzdGl0 dXRpb25zIGluIF9MREFERCBvciBfTElCQUREIHZhcmlhYmxlcy4KIyBBbHNvLCBnZW5lcmF0 ZSBfREVQRU5ERU5DSUVTIHZhcmlhYmxlIGlmIGFwcHJvcHJpYXRlLgojIEFyZ3VtZW50cyBh cmU6CiMgICB0cmFuc2Zvcm1lZCBuYW1lIG9mIG9iamVjdCBiZWluZyBidWlsdCwgb3IgZW1w dHkgc3RyaW5nIGlmIG5vIG9iamVjdAojICAgbmFtZSBvZiBfTERBREQvX0xJQkFERC10eXBl IHZhcmlhYmxlIHRvIGV4YW1pbmUKIyBSZXR1cm5zIDEgaWYgTElCT0JKUyBzZWVuLCAwIG90 aGVyd2lzZS4Kc3ViIGhhbmRsZV9saWJfb2JqZWN0cwp7CiAgbXkgKCR4bmFtZSwgJHZhcm5h bWUpID0gQF87CgogIG15ICR2YXIgPSB2YXIgKCR2YXJuYW1lKTsKICBwcm9nX2Vycm9yICIn JHZhcm5hbWUnIHVuZGVmaW5lZCIKICAgIHVubGVzcyAkdmFyOwogIHByb2dfZXJyb3IgInVu ZXhwZWN0ZWQgdmFyaWFibGUgbmFtZSAnJHZhcm5hbWUnIgogICAgdW5sZXNzICR2YXJuYW1l ID1+IC9eKC4qKSg/OkxJQnxMRClBREQkLzsKICBteSAkcHJlZml4ID0gJDEgfHwgJ0FNXyc7 CgogIG15ICRzZWVuX2xpYm9ianMgPSAwOwogIG15ICRmbGFndmFyID0gMDsKCiAgdHJhbnNm b3JtX3ZhcmlhYmxlX3JlY3Vyc2l2ZWx5CiAgICAoJHZhcm5hbWUsICR4bmFtZSAuICdfREVQ RU5ERU5DSUVTJywgJ2FtX19ERVBFTkRFTkNJRVMnLAogICAgICEgJHhuYW1lLCBJTlRFUk5B TCwKICAgICAjIFRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uLCBydW4gb24gZWFjaCBmaWxlbmFt ZS4KICAgICBzdWIgewogICAgICAgbXkgKCRzdWJ2YXIsICR2YWwsICRjb25kLCAkZnVsbF9j b25kKSA9IEBfOwoKICAgICAgIGlmICgkdmFsID1+IC9eLS8pCgkgewoJICAgIyBTa2lwIC1s Zm9vIGFuZCAtTGRpciBzaWxlbnRseTsgdGhlc2UgYXJlIGV4cGxpY2l0bHkgYWxsb3dlZC4K CSAgIGlmICgkdmFsICF+IC9eLVtsTF0vICYmCgkgICAgICAgIyBTa2lwIC1kbG9wZW4gYW5k IC1kbHByZW9wZW47IHRoZXNlIGFyZSBleHBsaWNpdGx5IGFsbG93ZWQKCSAgICAgICAjIGZv ciBMaWJ0b29sIGxpYnJhcmllcyBvciBwcm9ncmFtcy4gIChBY3R1YWxseSB3ZSBhcmUgYSBi aXQKCSAgICAgICAjIGxheCBoZXJlIHNpbmNlIHRoaXMgY29kZSBhbHNvIGFwcGxpZXMgdG8g bm9uLWxpYnRvb2wKCSAgICAgICAjIGxpYnJhcmllcyBvciBwcm9ncmFtcywgZm9yIHdoaWNo IC1kbG9wZW4gYW5kIC1kbG9wcmVvcGVuCgkgICAgICAgIyBhcmUgcHVyZSBub25zZW5zZS4g IERpYWdub3NpbmcgdGhpcyBkb2Vzbid0IHNlZW0gdmVyeQoJICAgICAgICMgaW1wb3J0YW50 OiB0aGUgZGV2ZWxvcGVyIHdpbGwgcXVpY2tseSBnZXQgY29tcGxhaW50cyBmcm9tCgkgICAg ICAgIyB0aGUgbGlua2VyLikKCSAgICAgICAkdmFsICF+IC9eLWRsKD86cHJlKT9vcGVuJC8g JiYKCSAgICAgICAjIE9ubHkgZ2V0IHRoaXMgZXJyb3Igb25jZS4KCSAgICAgICAhICRmbGFn dmFyKQoJICAgICB7CgkgICAgICAgJGZsYWd2YXIgPSAxOwoJICAgICAgICMgRklYTUU6IHNo b3VsZCBkaXNwbGF5IGEgc3RhY2sgb2YgbmVzdGVkIHZhcmlhYmxlcwoJICAgICAgICMgYXMg Y29udGV4dCB3aGVuICR2YXIgIT0gJHN1YnZhci4KCSAgICAgICBlcnJfdmFyICgkdmFyLCAi bGlua2VyIGZsYWdzIHN1Y2ggYXMgJyR2YWwnIGJlbG9uZyBpbiAiCgkJCS4gIicke3ByZWZp eH1MREZMQUdTJyIpOwoJICAgICB9CgkgICByZXR1cm4gKCk7CgkgfQogICAgICAgZWxzaWYg KCR2YWwgIX4gL15cQC4qXEAkLykKCSB7CgkgICAjIEFzc3VtZSB3ZSBoYXZlIGEgZmlsZSBv ZiBzb21lIHNvcnQsIGFuZCBvdXRwdXQgaXQgaW50byB0aGUKCSAgICMgZGVwZW5kZW5jeSB2 YXJpYWJsZS4gIEF1dG9jb25mIHN1YnN0aXR1dGlvbnMgYXJlIG5vdCBvdXRwdXQ7CgkgICAj IHJhcmVseSBpcyBhIG5ldyBkZXBlbmRlbmN5IHN1YnN0aXR1dGVkIGludG8gZS5nLiBmb29f TERBREQKCSAgICMgLS0gYnV0IGJhZCB0aGluZ3MgKGUuZy4gLWxYMTEpIGFyZSByb3V0aW5l bHkgc3Vic3RpdHV0ZWQuCgkgICAjIE5vdGUgdGhhdCBMSUJPQkpTIGFuZCBBTExPQ0EgYXJl IGV4Y2VwdGlvbnMgdG8gdGhpcyBydWxlLAoJICAgIyBhbmQgaGFuZGxlZCBzcGVjaWFsbHkg YmVsb3cuCgkgICByZXR1cm4gJHZhbDsKCSB9CiAgICAgICBlbHNpZiAoJHZhbCA9fiAvXlxA KExUKT9MSUJPQkpTXEAkLykKCSB7CgkgICBoYW5kbGVfTElCT0JKUyAoJHN1YnZhciwgJGNv bmQsICQxKTsKCSAgICRzZWVuX2xpYm9ianMgPSAxOwoJICAgcmV0dXJuICR2YWw7CgkgfQog ICAgICAgZWxzaWYgKCR2YWwgPX4gL15cQChMVCk/QUxMT0NBXEAkLykKCSB7CgkgICBoYW5k bGVfQUxMT0NBICgkc3VidmFyLCAkY29uZCwgJDEpOwoJICAgcmV0dXJuICR2YWw7CgkgfQog ICAgICAgZWxzZQoJIHsKCSAgIHJldHVybiAoKTsKCSB9CiAgICAgfSk7CgogIHJldHVybiAk c2Vlbl9saWJvYmpzOwp9CgojIGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQSAoJFZBUiwgJEJB U0UpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbml0 aW9ucyBjb21tb24gdG8gTElCT0JKUyBhbmQgQUxMT0NBLgojIFZBUiBzaG91bGQgYmUgb25l IG9mIExJQk9CSlMsIExUTElCT0JKUywgQUxMT0NBLCBvciBMVEFMTE9DQS4KIyBCQVNFIHNo b3VsZCBiZSBvbmUgYmFzZSBmaWxlIG5hbWUgZnJvbSBBQ19MSUJTT1VSQ0UsIG9yIGFsbG9j YS4Kc3ViIGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQQp7CiAgbXkgKCR2YXIsICRiYXNlKSA9 IEBfOwoKICBteSAkZGlyID0gJyc7CgogICMgSWYgTElCT0JKUyBmaWxlcyBtdXN0IGJlIGJ1 aWx0IGluIGFub3RoZXIgZGlyZWN0b3J5IHdlIGhhdmUKICAjIHRvIGRlZmluZSBMSUJPQkpE SVIgYW5kIGVuc3VyZSB0aGUgZmlsZXMgZ2V0IGNsZWFuZWQuCiAgIyBPdGhlcndpc2UgTElC T0JKRElSIGNhbiBiZSBsZWZ0IHVuZGVmaW5lZCwgYW5kIHRoZSBjbGVhbmluZwogICMgaXMg YWNoaWV2ZWQgYnkgJ3JtIC1mICouJChPQkpFWFQpJyBpbiBjb21waWxlLmFtLgogIGlmICgk Y29uZmlnX2xpYm9ial9kaXIKICAgICAgJiYgJHJlbGF0aXZlX2RpciBuZSAkY29uZmlnX2xp Ym9ial9kaXIpCiAgICB7CiAgICAgIGlmIChvcHRpb24gJ3N1YmRpci1vYmplY3RzJykKCXsK CSAgIyBJbiB0aGUgdG9wLWxldmVsIE1ha2VmaWxlIHdlIGRvIG5vdCB1c2UgJCh0b3BfYnVp bGRkaXIpLCBiZWNhdXNlCgkgICMgd2UgYXJlIGFscmVhZHkgdGhlcmUsIGFuZCBzaW5jZSB0 aGUgdGFyZ2V0cyBhcmUgYnVpbHQgd2l0aG91dAoJICAjIGEgJCh0b3BfYnVpbGRkaXIpLCBp dCBoZWxwcyBCU0QgTWFrZSB0byBtYXRjaCB0aGVtIHdpdGgKCSAgIyBkZXBlbmRlbmNpZXMu CgkgICRkaXIgPSAiJGNvbmZpZ19saWJvYmpfZGlyLyIKCSAgICBpZiAkY29uZmlnX2xpYm9i al9kaXIgbmUgJy4nOwoJICAkZGlyID0gYmFja25hbWUgKCRyZWxhdGl2ZV9kaXIpIC4gIi8k ZGlyIgoJICAgIGlmICRyZWxhdGl2ZV9kaXIgbmUgJy4nOwoJICBkZWZpbmVfdmFyaWFibGUg KCdMSUJPQkpESVInLCAiJGRpciIsIElOVEVSTkFMKTsKCSAgaWYgKCRkaXIgJiYgIWRlZmlu ZWQgJGNsZWFuX2ZpbGVzeyIkZGlyJGJhc2UuXCQoT0JKRVhUKSJ9KQoJICAgIHsKCSAgICAg IG15ICRkaXJzdGFtcCA9IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5ICgkZGlyKTsKCSAgICAg ICRvdXRwdXRfcnVsZXMgLj0gIiRkaXIkYmFzZS5cJChPQkpFWFQpOiAkZGlyc3RhbXBcbiI7 CgkgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkZGlyJGJhc2UubG86ICRkaXJzdGFtcFxuIgoJ CWlmICgkdmFyID1+IC9eTFQvKTsKCSAgICB9CgkgICMgbGlidG9vbCBtaWdodCBjcmVhdGUg LiQoT0JKRVhUKSBhcyBhIHNpZGUtZWZmZWN0IG9mIHVzaW5nCgkgICMgTFRMSUJPQkpTIG9y IExUQUxMT0NBLgoJICAkY2xlYW5fZmlsZXN7IiRkaXIkYmFzZS5cJChPQkpFWFQpIn0gPSBN T1NUTFlfQ0xFQU47CgkgICRjbGVhbl9maWxlc3siJGRpciRiYXNlLmxvIn0gPSBNT1NUTFlf Q0xFQU4KCSAgICBpZiAoJHZhciA9fiAvXkxULyk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgZXJy b3IgKCInXCQoJHZhciknIGNhbm5vdCBiZSB1c2VkIG91dHNpZGUgJyRjb25maWdfbGlib2Jq X2RpcicgaWYiCgkJIC4gIiAnc3ViZGlyLW9iamVjdHMnIGlzIG5vdCBzZXQiKTsKCX0KICAg IH0KCiAgcmV0dXJuICRkaXI7Cn0KCnN1YiBoYW5kbGVfTElCT0JKUwp7CiAgbXkgKCR2YXIs ICRjb25kLCAkbHQpID0gQF87CiAgbXkgJG15b2JqZXh0ID0gJGx0ID8gJ2xvJyA6ICdvJzsK ICAkbHQgfHw9ICcnOwoKICAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCJcQCR7bHR9TElC T0JKU1xAIHVzZWQiLCAkbHQgLiAnTElCT0JKUycpCiAgICBpZiAhIGtleXMgJWxpYnNvdXJj ZXM7CgogIGZvcmVhY2ggbXkgJGl0ZXIgKGtleXMgJWxpYnNvdXJjZXMpCiAgICB7CiAgICAg IG15ICRkaXIgPSAnJzsKICAgICAgaWYgKCRpdGVyID1+IC9eKC4qKShcLltjbHldKSQvKQoJ ewoJICBzYXdfZXh0ZW5zaW9uICgkMik7CgkgIHNhd19leHRlbnNpb24gKCcuYycpOwoJICAk ZGlyID0gaGFuZGxlX0xJQk9CSlNfb3JfQUxMT0NBICgiJHtsdH1MSUJPQkpTIiwgJDEpOwoJ fQoKICAgICAgaWYgKCRpdGVyID1+IC9cLmgkLykKCXsKCSAgcmVxdWlyZV9saWJzb3VyY2Vf d2l0aF9tYWNybyAoJGNvbmQsICR2YXIsIEZPUkVJR04sICRpdGVyKTsKCX0KICAgICAgZWxz aWYgKCRpdGVyIG5lICdhbGxvY2EuYycpCgl7CgkgIG15ICRyZXdyaXRlID0gJGl0ZXI7Cgkg ICRyZXdyaXRlID1+IHMvXC5jJC8uUCRteW9iamV4dC87CgkgICRkZXBfZmlsZXN7JGRpciAu ICckKERFUERJUikvJyAuICRyZXdyaXRlfSA9IDE7CgkgICRyZXdyaXRlID0gIl4iIC4gcXVv dGVtZXRhICgkaXRlcikgLiAiXCQiOwoJICAjIE9ubHkgcmVxdWlyZSB0aGUgZmlsZSBpZiBp dCBpcyBub3QgYSBidWlsdCBzb3VyY2UuCgkgIG15ICRicyA9IHZhciAoJ0JVSUxUX1NPVVJD RVMnKTsKCSAgaWYgKCEgJGJzIHx8ICEgZ3JlcCAoLyRyZXdyaXRlLywgJGJzLT52YWx1ZV9h c19saXN0X3JlY3Vyc2l2ZSkpCgkgICAgewoJICAgICAgcmVxdWlyZV9saWJzb3VyY2Vfd2l0 aF9tYWNybyAoJGNvbmQsICR2YXIsIEZPUkVJR04sICRpdGVyKTsKCSAgICB9Cgl9CiAgICB9 Cn0KCnN1YiBoYW5kbGVfQUxMT0NBCnsKICBteSAoJHZhciwgJGNvbmQsICRsdCkgPSBAXzsK ICBteSAkbXlvYmpleHQgPSAkbHQgPyAnbG8nIDogJ28nOwogICRsdCB8fD0gJyc7CiAgbXkg JGRpciA9IGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQSAoIiR7bHR9QUxMT0NBIiwgImFsbG9j YSIpOwoKICAkZGlyIGVxICcnIGFuZCAkZGlyID0gJy4vJzsKICAkdmFyLT5yZXF1aXJlc192 YXJpYWJsZXMgKCJcQCR7bHR9QUxMT0NBXEAgdXNlZCIsICRsdCAuICdBTExPQ0EnKTsKICAk ZGVwX2ZpbGVzeyRkaXIgLiAnJChERVBESVIpL2FsbG9jYS5QJyAuICRteW9iamV4dH0gPSAx OwogIHJlcXVpcmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRjb25kLCAkdmFyLCBGT1JFSUdO LCAnYWxsb2NhLmMnKTsKICBzYXdfZXh0ZW5zaW9uICgnLmMnKTsKfQoKIyBDYW5vbmljYWxp emUgdGhlIGlucHV0IHBhcmFtZXRlci4Kc3ViIGNhbm9uaWNhbGl6ZQp7CiAgICBteSAoJHN0 cmluZykgPSBAXzsKICAgICRzdHJpbmcgPX4gdHIvQS1aYS16MC05X1xAL18vYzsKICAgIHJl dHVybiAkc3RyaW5nOwp9CgojIENhbm9uaWNhbGl6ZSBhIG5hbWUsIGFuZCBjaGVjayB0byBt YWtlIHN1cmUgdGhlIG5vbi1jYW5vbmljYWwgbmFtZQojIGlzIG5ldmVyIHVzZWQuICBSZXR1 cm5zIGNhbm9uaWNhbCBuYW1lLiAgQXJndW1lbnRzIGFyZSBuYW1lIGFuZCBhCiMgbGlzdCBv ZiBzdWZmaXhlcyB0byBjaGVjayBmb3IuCnN1YiBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcK ewogIG15ICgkbmFtZSwgQHN1ZmZpeGVzKSA9IEBfOwoKICBteSAkeG5hbWUgPSBjYW5vbmlj YWxpemUgKCRuYW1lKTsKICBpZiAoJHhuYW1lIG5lICRuYW1lKQogICAgewogICAgICBmb3Jl YWNoIG15ICR4dCAoQHN1ZmZpeGVzKQoJewoJICByZWplY3RfdmFyICgiJG5hbWUkeHQiLCAi dXNlICckeG5hbWUkeHQnLCBub3QgJyRuYW1lJHh0JyIpOwoJfQogICAgfQoKICByZXR1cm4g JHhuYW1lOwp9CgojIFNldCB1cCB0aGUgY29tcGlsZSBzdWl0ZS4Kc3ViIGhhbmRsZV9jb21w aWxlICgpCnsKICAgcmV0dXJuIGlmICEgJG11c3RfaGFuZGxlX2NvbXBpbGVkX29iamVjdHM7 CgogICAgIyBCb2lsZXJwbGF0ZS4KICAgIG15ICRkZWZhdWx0X2luY2x1ZGVzID0gJyc7CiAg ICBpZiAoISBvcHRpb24gJ25vc3RkaW5jJykKICAgICAgewoJbXkgQGluY3MgPSAoJy1JLics IHN1YnN0ICgnYW1fX2lzcmMnKSk7CgoJbXkgJHZhciA9IHZhciAnQ09ORklHX0hFQURFUic7 CglpZiAoJHZhcikKCSAgewoJICAgIGZvcmVhY2ggbXkgJGhkciAoc3BsaXQgKCcgJywgJHZh ci0+dmFyaWFibGVfdmFsdWUpKQoJICAgICAgewoJCXB1c2ggQGluY3MsICctSScgLiBkaXJu YW1lICgkaGRyKTsKCSAgICAgIH0KCSAgfQoJIyBXZSB3YW50ICctSS4gLUkkKHNyY2Rpcikn LCBidXQgdGhlIGxhdHRlciAtSSBpcyByZWR1bmRhbnQKCSMgYW5kIHVuYWVzdGhldGljIGlu IG5vbi1WUEFUSCBidWlsZHMuICBXZSB1c2UgYC1JLkBhbV9faXNyY0BgCgkjIGluc3RlYWQu ICBJdCB3aWxsIGJlIHJlcGxhY2VkIGJ5ICctSS4nIG9yICctSS4gLUkkKHNyY2RpciknLgoJ IyBJdGVtcyBpbiBDT05GSUdfSEVBREVSIGFyZSBuZXZlciBpbiAkKHNyY2Rpcikgc28gaXQg aXMgc2FmZQoJIyB0byBqdXN0IHB1dCBAYW1fX2lzcmNAIHJpZ2h0IGFmdGVyICctSS4nLCB3 aXRob3V0IGEgc3BhY2UuCgkoJGRlZmF1bHRfaW5jbHVkZXMgPSAnICcgLiB1bmlxIChAaW5j cykpID1+IHMvIEAvQC87CiAgICAgIH0KCiAgICBteSAoQG1vc3RseV9ybXMsIEBkaXN0X3Jt cyk7CiAgICBmb3JlYWNoIG15ICRpdGVtIChzb3J0IGtleXMgJWNvbXBpbGVfY2xlYW5fZmls ZXMpCiAgICB7CglpZiAoJGNvbXBpbGVfY2xlYW5fZmlsZXN7JGl0ZW19ID09IE1PU1RMWV9D TEVBTikKCXsKCSAgICBwdXNoIChAbW9zdGx5X3JtcywgIlx0LXJtIC1mICRpdGVtIik7Cgl9 CgllbHNpZiAoJGNvbXBpbGVfY2xlYW5fZmlsZXN7JGl0ZW19ID09IERJU1RfQ0xFQU4pCgl7 CgkgICAgcHVzaCAoQGRpc3Rfcm1zLCAiXHQtcm0gLWYgJGl0ZW0iKTsKCX0KCWVsc2UKCXsK CSAgcHJvZ19lcnJvciAnaW52YWxpZCBlbnRyeSBpbiAlY29tcGlsZV9jbGVhbl9maWxlcyc7 Cgl9CiAgICB9CgogICAgbXkgKCRjb21zLCAkdmFycywgJHJ1bGVzKSA9CiAgICAgIGZpbGVf Y29udGVudHNfaW50ZXJuYWwgKDEsICIkbGliZGlyL2FtL2NvbXBpbGUuYW0iLAoJCQkgICAg ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkgICAgICAnREVGQVVMVF9JTkNMVURFUycg PT4gJGRlZmF1bHRfaW5jbHVkZXMsCgkJCSAgICAgICdNT1NUTFlSTVMnID0+IGpvaW4gKCJc biIsIEBtb3N0bHlfcm1zKSwKCQkJICAgICAgJ0RJU1RSTVMnID0+IGpvaW4gKCJcbiIsIEBk aXN0X3JtcykpOwogICAgJG91dHB1dF92YXJzIC49ICR2YXJzOwogICAgJG91dHB1dF9ydWxl cyAuPSAiJGNvbXMkcnVsZXMiOwp9CgojIEhhbmRsZSBsaWJ0b29sIHJ1bGVzLgpzdWIgaGFu ZGxlX2xpYnRvb2wgKCkKewogIHJldHVybiB1bmxlc3MgdmFyICgnTElCVE9PTCcpOwoKICAj IExpYnRvb2wgcmVxdWlyZXMgc29tZSBmaWxlcywgYnV0IG9ubHkgYXQgdG9wIGxldmVsLgog ICMgKFN0YXJ0aW5nIHdpdGggTGlidG9vbCAyLjAgd2UgZG8gbm90IGhhdmUgdG8gYm90aGVy LiAgVGhlc2UKICAjIHJlcXVpcmVtZW50cyBhcmUgZG9uZSB3aXRoIEFDX1JFUVVJUkVfQVVY X0ZJTEUuKQogIHJlcXVpcmVfY29uZl9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdMSUJUT09M JywgRk9SRUlHTiwgQGxpYnRvb2xfZmlsZXMpCiAgICBpZiAkcmVsYXRpdmVfZGlyIGVxICcu JyAmJiAhICRsaWJ0b29sX25ld19hcGk7CgogIG15IEBsaWJ0b29sX3JtczsKICBmb3JlYWNo IG15ICRpdGVtIChzb3J0IGtleXMgJWxpYnRvb2xfY2xlYW5fZGlyZWN0b3JpZXMpCiAgICB7 CiAgICAgIG15ICRkaXIgPSAoJGl0ZW0gZXEgJy4nKSA/ICcnIDogIiRpdGVtLyI7CiAgICAg ICMgLmxpYnMgaXMgZm9yIFVuaXgsIF9saWJzIGZvciBET1MuCiAgICAgIHB1c2ggKEBsaWJ0 b29sX3JtcywgIlx0LXJtIC1yZiAke2Rpcn0ubGlicyAke2Rpcn1fbGlicyIpOwogICAgfQoK ICBjaGVja191c2VyX3ZhcmlhYmxlcyAnTElCVE9PTEZMQUdTJzsKCiAgIyBPdXRwdXQgdGhl IGxpYnRvb2wgY29tcGlsYXRpb24gcnVsZXMuCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2Nv bnRlbnRzICgnbGlidG9vbCcsCgkJCQkgIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24sCgkJCQkg ICBMVFJNUyA9PiBqb2luICgiXG4iLCBAbGlidG9vbF9ybXMpKTsKfQoKIyBDaGVjayBmb3Ig ZHVwbGljYXRlIHRhcmdldHMKc3ViIGhhbmRsZV90YXJnZXRzICgpCnsKICBteSAlc2VlbiA9 ICgpOwogIG15IEBkdXBzID0gKCk7CiAgQHByb2dsaXN0ID0gYW1faW5zdGFsbF92YXIgKCdw cm9ncycsICdQUk9HUkFNUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaW4n LCAnc2JpbicsICdsaWJleGVjJywgJ3BrZ2xpYmV4ZWMnLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbm9pbnN0JywgJ2NoZWNrJyk7CiAgQGxpYmxpc3QgPSBhbV9pbnN0YWxs X3ZhciAoJ2xpYnMnLCAnTElCUkFSSUVTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbGliJywgJ3BrZ2xpYicsICdub2luc3QnLCAnY2hlY2snKTsKICBAbHRsaWJsaXN0ID0g YW1faW5zdGFsbF92YXIgKCdsdGxpYicsICdMVExJQlJBUklFUycsCgkJCSAgICAgICAnbm9p bnN0JywgJ2xpYicsICdwa2dsaWInLCAnY2hlY2snKTsKCiAgIyBSZWNvcmQgZHVwbGljYXRp b25zIHRoYXQgbWF5IGFyaXNlIGFmdGVyIGNhbm9uaWNhbGl6YXRpb24gb2YgdGhlCiAgIyBi YXNlIG5hbWVzLCBpbiBvcmRlciB0byBwcmV2ZW50IG9iamVjdCBmaWxlIGNsYXNoZXMgaW4g dGhlIHByZXNlbmNlCiAgIyBvZiB0YXJnZXQtc3BlY2lmaWMgKkZMQUdTCiAgbXkgQHRhcmdl dGxpc3QgPSAoQHByb2dsaXN0LCBAbGlibGlzdCwgQGx0bGlibGlzdCk7CiAgZm9yZWFjaCBt eSAkcGFpciAoQHRhcmdldGxpc3QpCiAgICB7CiAgICAgIG15ICRiYXNlID0gY2Fub25pY2Fs aXplIChiYXNlbmFtZSAoQCRwYWlyWzFdKSk7CiAgICAgIHB1c2ggKEBkdXBfc2hvcnRuYW1l cywgJGJhc2UpIGlmICgkc2VlbnskYmFzZX0pOwogICAgICAkc2VlbnskYmFzZX0gPSAkYmFz ZTsKICAgIH0KfQoKc3ViIGhhbmRsZV9wcm9ncmFtcyAoKQp7CiAgcmV0dXJuIGlmICEgQHBy b2dsaXN0OwogICRtdXN0X2hhbmRsZV9jb21waWxlZF9vYmplY3RzID0gMTsKCiAgbXkgJHNl ZW5fZ2xvYmFsX2xpYm9ianMgPQogICAgdmFyICgnTERBREQnKSAmJiBoYW5kbGVfbGliX29i amVjdHMgKCcnLCAnTERBREQnKTsKCiAgZm9yZWFjaCBteSAkcGFpciAoQHByb2dsaXN0KQog ICAgewogICAgICBteSAoJHdoZXJlLCAkb25lX2ZpbGUpID0gQCRwYWlyOwoKICAgICAgbXkg JHNlZW5fbGlib2JqcyA9IDA7CiAgICAgIG15ICRvYmogPSAnLiQoT0JKRVhUKSc7CgogICAg ICAka25vd25fcHJvZ3JhbXN7JG9uZV9maWxlfSA9ICR3aGVyZTsKCiAgICAgICMgQ2Fub25p Y2FsaXplIG5hbWVzIGFuZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgogICAgICBteSAkeG5h bWUgPSBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcgKCRvbmVfZmlsZSwgJ19MREFERCcsICdf TERGTEFHUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J19TT1VSQ0VTJywgJ19PQkpFQ1RTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnX0RFUEVOREVOQ0lFUycpOwoKICAgICAgJHdoZXJlLT5wdXNoX2Nv bnRleHQgKCJ3aGlsZSBwcm9jZXNzaW5nIHByb2dyYW0gJyRvbmVfZmlsZSciKTsKICAgICAg JHdoZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoKICAgICAgbXkgJGxpbmtlciA9IGhhbmRs ZV9zb3VyY2VfdHJhbnNmb3JtICgkeG5hbWUsICRvbmVfZmlsZSwgJG9iaiwgJHdoZXJlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PTkxJQlRPT0wg PT4gMSwgTElCVE9PTCA9PiAwKTsKCiAgICAgIGlmICh2YXIgKCR4bmFtZSAuICJfTERBREQi KSkKCXsKCSAgJHNlZW5fbGlib2JqcyA9IGhhbmRsZV9saWJfb2JqZWN0cyAoJHhuYW1lLCAk eG5hbWUgLiAnX0xEQUREJyk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgIyBVc2VyIGRpZG4ndCBk ZWZpbmUgcHJvZ19MREFERCBvdmVycmlkZS4gIFNvIGRvIGl0LgoJICBkZWZpbmVfdmFyaWFi bGUgKCR4bmFtZSAuICdfTERBREQnLCAnJChMREFERCknLCAkd2hlcmUpOwoKCSAgIyBUaGlz IGRvZXMgYSBiaXQgdG9vIG11Y2ggd29yay4gIEJ1dCB3ZSBuZWVkIGl0IHRvCgkgICMgZ2Vu ZXJhdGUgX0RFUEVOREVOQ0lFUyB3aGVuIGFwcHJvcHJpYXRlLgoJICBpZiAodmFyICgnTERB REQnKSkKCSAgICB7CgkgICAgICAkc2Vlbl9saWJvYmpzID0gaGFuZGxlX2xpYl9vYmplY3Rz ICgkeG5hbWUsICdMREFERCcpOwoJICAgIH0KCX0KCiAgICAgIHJlamVjdF92YXIgKCR4bmFt ZSAuICdfTElCQUREJywKCQkgICJ1c2UgJyR7eG5hbWV9X0xEQUREJywgbm90ICcke3huYW1l fV9MSUJBREQnIik7CgogICAgICBzZXRfc2VlbiAoJHhuYW1lIC4gJ19ERVBFTkRFTkNJRVMn KTsKICAgICAgc2V0X3NlZW4gKCdFWFRSQV8nIC4gJHhuYW1lIC4gJ19ERVBFTkRFTkNJRVMn KTsKICAgICAgc2V0X3NlZW4gKCR4bmFtZSAuICdfTERGTEFHUycpOwoKICAgICAgIyBEZXRl cm1pbmUgcHJvZ3JhbSB0byB1c2UgZm9yIGxpbmsuCiAgICAgIG15KCR4bGluaywgJHZsaW5r KSA9IGRlZmluZV9wZXJfdGFyZ2V0X2xpbmtlcl92YXJpYWJsZSAoJGxpbmtlciwgJHhuYW1l KTsKICAgICAgJHZsaW5rID0gdmVyYm9zZV9mbGFnICgkdmxpbmsgfHwgJ0dFTicpOwoKICAg ICAgIyBJZiB0aGUgcmVzdWx0aW5nIHByb2dyYW0gbGllcyBpbiBhIHN1YmRpcmVjdG9yeSwK ICAgICAgIyBlbnN1cmUgdGhhdCB0aGUgZGlyZWN0b3J5IGV4aXN0cyBiZWZvcmUgd2UgbmVl ZCBpdC4KICAgICAgbXkgJGRpcnN0YW1wID0gcmVxdWlyZV9idWlsZF9kaXJlY3RvcnlfbWF5 YmUgKCRvbmVfZmlsZSk7CgogICAgICAkbGlidG9vbF9jbGVhbl9kaXJlY3Rvcmllc3tkaXJu YW1lICgkb25lX2ZpbGUpfSA9IDE7CgogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29u dGVudHMgKCdwcm9ncmFtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAkd2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPR1JB TSAgPT4gJG9uZV9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFhQUk9HUkFNID0+ICR4bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBYTElOSyAgICA9PiAkeGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVkVSQk9TRSAgPT4gJHZsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERJUlNUQU1QID0+ICRkaXJzdGFtcCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFWEVFWFQgICA9PiAnJChFWEVFWFQpJyk7CgogICAgICBp ZiAoJHNlZW5fbGlib2JqcyB8fCAkc2Vlbl9nbG9iYWxfbGlib2JqcykKCXsKCSAgaWYgKHZh ciAoJHhuYW1lIC4gJ19MREFERCcpKQoJICAgIHsKCSAgICAgIGNoZWNrX2xpYm9ianNfc291 cmNlcyAoJHhuYW1lLCAkeG5hbWUgLiAnX0xEQUREJyk7CgkgICAgfQoJICBlbHNpZiAodmFy ICgnTERBREQnKSkKCSAgICB7CgkgICAgICBjaGVja19saWJvYmpzX3NvdXJjZXMgKCR4bmFt ZSwgJ0xEQUREJyk7CgkgICAgfQoJfQogICAgfQp9CgoKc3ViIGhhbmRsZV9saWJyYXJpZXMg KCkKewogIHJldHVybiBpZiAhIEBsaWJsaXN0OwogICRtdXN0X2hhbmRsZV9jb21waWxlZF9v YmplY3RzID0gMTsKCiAgbXkgQHByZWZpeCA9IGFtX3ByaW1hcnlfcHJlZml4ZXMgKCdMSUJS QVJJRVMnLCAwLCAnbGliJywgJ3BrZ2xpYicsCgkJCQkgICAgJ25vaW5zdCcsICdjaGVjaycp OwoKICBpZiAoQHByZWZpeCkKICAgIHsKICAgICAgbXkgJHZhciA9IHJ2YXIgKCRwcmVmaXhb MF0gLiAnX0xJQlJBUklFUycpOwogICAgICAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCds aWJyYXJ5IHVzZWQnLCAnUkFOTElCJyk7CiAgICB9CgogIGRlZmluZV92YXJpYWJsZSAoJ0FS JywgJ2FyJywgSU5URVJOQUwpOwogIGRlZmluZV92YXJpYWJsZSAoJ0FSRkxBR1MnLCAnY3J1 JywgSU5URVJOQUwpOwogIGRlZmluZV92ZXJib3NlX3RhZ3ZhciAoJ0FSJyk7CgogIGZvcmVh Y2ggbXkgJHBhaXIgKEBsaWJsaXN0KQogICAgewogICAgICBteSAoJHdoZXJlLCAkb25lbGli KSA9IEAkcGFpcjsKCiAgICAgIG15ICRzZWVuX2xpYm9ianMgPSAwOwogICAgICAjIENoZWNr IHRoYXQgdGhlIGxpYnJhcnkgZml0cyB0aGUgc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24u CiAgICAgIG15ICRibiA9IGJhc2VuYW1lICgkb25lbGliKTsKICAgICAgaWYgKCRibiAhfiAv XmxpYi4qXC5hJC8pCgl7CgkgICRibiA9fiBzL14oPzpsaWIpPyguKj8pKD86XC5bXi5dKik/ JC9saWIkMS5hLzsKCSAgbXkgJHN1Z2dlc3Rpb24gPSBkaXJuYW1lICgkb25lbGliKSAuICIv JGJuIjsKCSAgJHN1Z2dlc3Rpb24gPX4gc3xeXC4vfHxnOwoJICBtc2cgKCdlcnJvci1nbnUv d2FybicsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWInIGlzIG5vdCBhIHN0YW5kYXJkIGxp YnJhcnkgbmFtZVxuIgoJICAgICAgIC4gImRpZCB5b3UgbWVhbiAnJHN1Z2dlc3Rpb24nPyIp Cgl9CgogICAgICAoJGtub3duX2xpYnJhcmllc3skb25lbGlifSA9ICRibikgPX4gcy9cLmEk Ly87CgogICAgICAkd2hlcmUtPnB1c2hfY29udGV4dCAoIndoaWxlIHByb2Nlc3NpbmcgbGli cmFyeSAnJG9uZWxpYiciKTsKICAgICAgJHdoZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoK ICAgICAgbXkgJG9iaiA9ICcuJChPQkpFWFQpJzsKCiAgICAgICMgQ2Fub25pY2FsaXplIG5h bWVzIGFuZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgogICAgICBteSAkeGxpYiA9IGNoZWNr X2Nhbm9uaWNhbF9zcGVsbGluZyAoJG9uZWxpYiwgJ19MSUJBREQnLCAnX1NPVVJDRVMnLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19PQkpFQ1RTJywg J19ERVBFTkRFTkNJRVMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ19BUicpOwoKICAgICAgaWYgKCEgdmFyICgkeGxpYiAuICdfQVInKSkKCXsKCSAg ZGVmaW5lX3ZhcmlhYmxlICgkeGxpYiAuICdfQVInLCAnJChBUikgJChBUkZMQUdTKScsICR3 aGVyZSk7Cgl9CgogICAgICAjIEdlbmVyYXRlIHN1cHBvcnQgZm9yIGNvbmRpdGlvbmFsIG9i amVjdCBpbmNsdXNpb24gaW4KICAgICAgIyBsaWJyYXJpZXMuCiAgICAgIGlmICh2YXIgKCR4 bGliIC4gJ19MSUJBREQnKSkKCXsKCSAgaWYgKGhhbmRsZV9saWJfb2JqZWN0cyAoJHhsaWIs ICR4bGliIC4gJ19MSUJBREQnKSkKCSAgICB7CgkgICAgICAkc2Vlbl9saWJvYmpzID0gMTsK CSAgICB9Cgl9CiAgICAgIGVsc2UKCXsKCSAgZGVmaW5lX3ZhcmlhYmxlICgkeGxpYiAuICJf TElCQUREIiwgJycsICR3aGVyZSk7Cgl9CgogICAgICByZWplY3RfdmFyICgkeGxpYiAuICdf TERBREQnLAoJCSAgInVzZSAnJHt4bGlifV9MSUJBREQnLCBub3QgJyR7eGxpYn1fTERBREQn Iik7CgogICAgICAjIE1ha2Ugc3VyZSB3ZSBhdCBsb29rIGF0IHRoaXMuCiAgICAgIHNldF9z ZWVuICgkeGxpYiAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9zZWVuICgnRVhUUkFf JyAuICR4bGliIC4gJ19ERVBFTkRFTkNJRVMnKTsKCiAgICAgIGhhbmRsZV9zb3VyY2VfdHJh bnNmb3JtICgkeGxpYiwgJG9uZWxpYiwgJG9iaiwgJHdoZXJlLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTk9OTElCVE9PTCA9PiAxLCBMSUJUT09MID0+IDApOwoKICAgICAg IyBJZiB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgbGllcyBpbiBhIHN1YmRpcmVjdG9yeSwKICAg ICAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rvcnkgd2lsbCBleGlzdC4KICAgICAgbXkgJGRp cnN0YW1wID0gcmVxdWlyZV9idWlsZF9kaXJlY3RvcnlfbWF5YmUgKCRvbmVsaWIpOwogICAg ICBteSAkdmVyYm9zZSA9IHZlcmJvc2VfZmxhZyAoJ0FSJyk7CiAgICAgIG15ICRzaWxlbnQg PSBzaWxlbnRfZmxhZyAoKTsKCiAgICAgICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50 cyAoJ2xpYnJhcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk d2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUkJPU0Ug ID0+ICR2ZXJib3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT SUxFTlQgICA9PiAkc2lsZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMSUJSQVJZICA9PiAkb25lbGliLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBYTElCUkFSWSA9PiAkeGxpYiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRElSU1RBTVAgPT4gJGRpcnN0YW1wKTsKCiAgICAgIGlmICgkc2Vl bl9saWJvYmpzKQoJewoJICBpZiAodmFyICgkeGxpYiAuICdfTElCQUREJykpCgkgICAgewoJ ICAgICAgY2hlY2tfbGlib2Jqc19zb3VyY2VzICgkeGxpYiwgJHhsaWIgLiAnX0xJQkFERCcp OwoJICAgIH0KCX0KCiAgICAgIGlmICghICRzZWVuX2FyKQoJewoJICBtc2cgKCdleHRyYS1w b3J0YWJpbGl0eScsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWInOiBsaW5raW5nIGxpYnJh cmllcyB1c2luZyBhIG5vbi1QT1NJWFxuIgoJICAgICAgIC4gImFyY2hpdmVyIHJlcXVpcmVz ICdBTV9QUk9HX0FSJyBpbiAnJGNvbmZpZ3VyZV9hYyciKQoJfQogICAgfQp9CgoKc3ViIGhh bmRsZV9sdGxpYnJhcmllcyAoKQp7CiAgcmV0dXJuIGlmICEgQGx0bGlibGlzdDsKICAkbXVz dF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0cyA9IDE7CgogIG15IEBwcmVmaXggPSBhbV9wcmlt YXJ5X3ByZWZpeGVzICgnTFRMSUJSQVJJRVMnLCAwLCAnbGliJywgJ3BrZ2xpYicsCgkJCQkg ICAgJ25vaW5zdCcsICdjaGVjaycpOwoKICBpZiAoQHByZWZpeCkKICAgIHsKICAgICAgbXkg JHZhciA9IHJ2YXIgKCRwcmVmaXhbMF0gLiAnX0xUTElCUkFSSUVTJyk7CiAgICAgICR2YXIt PnJlcXVpcmVzX3ZhcmlhYmxlcyAoJ0xpYnRvb2wgbGlicmFyeSB1c2VkJywgJ0xJQlRPT0wn KTsKICAgIH0KCiAgbXkgJWluc3RkaXJzID0gKCk7CiAgbXkgJWluc3RzdWJkaXJzID0gKCk7 CiAgbXkgJWluc3Rjb25kcyA9ICgpOwogIG15ICVsaWJsb2NhdGlvbnMgPSAoKTsJIyBMb2Nh dGlvbiAoaW4gTWFrZWZpbGUuYW0pIG9mIGVhY2ggbGlicmFyeS4KCiAgZm9yZWFjaCBteSAk a2V5IChAcHJlZml4KQogICAgewogICAgICAjIEdldCB0aGUgaW5zdGFsbGF0aW9uIGRpcmVj dG9yeSBvZiBlYWNoIGxpYnJhcnkuCiAgICAgIG15ICRkaXIgPSAka2V5OwogICAgICBteSAk c3RyaXBfc3ViZGlyID0gMTsKICAgICAgaWYgKCRkaXIgPX4gL15ub2Jhc2VfLykKICAgICAg ICB7CgkgICRkaXIgPX4gcy9ebm9iYXNlXy8vOwoJICAkc3RyaXBfc3ViZGlyID0gMDsKCX0K ICAgICAgbXkgJHZhciA9IHJ2YXIgKCRrZXkgLiAnX0xUTElCUkFSSUVTJyk7CgogICAgICAj IFdlIHJlamVjdCBsaWJyYXJpZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBpbiBzZXZlcmFsIHBs YWNlcwogICAgICAjIGluIHRoZSBzYW1lIGNvbmRpdGlvbiwgYmVjYXVzZSB3ZSBjYW4gb25s eSBzcGVjaWZ5IG9uZQogICAgICAjICctcnBhdGgnIG9wdGlvbi4KICAgICAgJHZhci0+dHJh dmVyc2VfcmVjdXJzaXZlbHkKCShzdWIKCSB7CgkgICBteSAoJHZhciwgJHZhbCwgJGNvbmQs ICRmdWxsX2NvbmQpID0gQF87CgkgICBteSAkaGNvbmQgPSAkZnVsbF9jb25kLT5odW1hbjsK CSAgIG15ICR3aGVyZSA9ICR2YXItPnJkZWYgKCRjb25kKS0+bG9jYXRpb247CgkgICBteSAk bGRpciA9ICcnOwoJICAgJGxkaXIgPSAnLycgLiBkaXJuYW1lICgkdmFsKQoJICAgICBpZiAo ISRzdHJpcF9zdWJkaXIpOwoJICAgIyBBIGxpYnJhcnkgY2Fubm90IGJlIGluc3RhbGxlZCBp biBkaWZmZXJlbnQgZGlyZWN0b3JpZXMKCSAgICMgaW4gb3ZlcmxhcHBpbmcgY29uZGl0aW9u cy4KCSAgIGlmIChleGlzdHMgJGluc3Rjb25kc3skdmFsfSkKCSAgICAgewoJICAgICAgIG15 ICgkbXNnLCAkYWNvbmQpID0KCQkgJGluc3Rjb25kc3skdmFsfS0+YW1iaWd1b3VzX3AgKCR2 YWwsICRmdWxsX2NvbmQpOwoKCSAgICAgICBpZiAoJG1zZykKCQkgewoJCSAgIGVycm9yICgk d2hlcmUsICRtc2csIHBhcnRpYWwgPT4gMSk7CgkJICAgbXkgJGRpcnR4dCA9ICJpbnN0YWxs ZWQgIiAuICgkc3RyaXBfc3ViZGlyID8gImluIiA6ICJiZWxvdyIpIC4gIiAnJGRpciciOwoJ CSAgICRkaXJ0eHQgPSAiYnVpbHQgZm9yICckZGlyJyIKCQkgICAgIGlmICRkaXIgZXEgJ0VY VFJBJyB8fCAkZGlyIGVxICdub2luc3QnIHx8ICRkaXIgZXEgJ2NoZWNrJzsKCQkgICBteSAk ZGlyY29uZCA9CgkJICAgICAkZnVsbF9jb25kLT50cnVlID8gIiIgOiAiIGluIGNvbmRpdGlv biAkaGNvbmQiOwoKCQkgICBlcnJvciAoJHdoZXJlLCAiJyR2YWwnIHNob3VsZCBiZSAkZGly dHh0JGRpcmNvbmQgLi4uIiwKCQkJICBwYXJ0aWFsID0+IDEpOwoKCQkgICBteSAkaGFjb25k ID0gJGFjb25kLT5odW1hbjsKCQkgICBteSAkYWRpciA9ICRpbnN0ZGlyc3skdmFsfXskYWNv bmR9OwoJCSAgIG15ICRhZGlydHh0ID0gImluc3RhbGxlZCBpbiAnJGFkaXInIjsKCQkgICAk YWRpcnR4dCA9ICJidWlsdCBmb3IgJyRhZGlyJyIKCQkgICAgIGlmICgkYWRpciBlcSAnRVhU UkEnIHx8ICRhZGlyIGVxICdub2luc3QnCgkJCSB8fCAkYWRpciBlcSAnY2hlY2snKTsKCQkg ICBteSAkYWRpcmNvbmQgPSAkYWNvbmQtPnRydWUgPyAiIiA6ICIgaW4gY29uZGl0aW9uICRo YWNvbmQiOwoKCQkgICBteSAkb25seW9uZSA9ICgkZGlyIG5lICRhZGlyKSA/CgkJICAgICAo IlxuTGlidG9vbCBsaWJyYXJpZXMgY2FuIGJlIGJ1aWx0IGZvciBvbmx5IG9uZSAiCgkJICAg ICAgLiAiZGVzdGluYXRpb24iKSA6ICIiOwoKCQkgICBlcnJvciAoJGxpYmxvY2F0aW9uc3sk dmFsfXskYWNvbmR9LAoJCQkgICIuLi4gYW5kIHNob3VsZCBhbHNvIGJlICRhZGlydHh0JGFk aXJjb25kLiRvbmx5b25lIik7CgkJICAgcmV0dXJuOwoJCSB9CgkgICAgIH0KCSAgIGVsc2UK CSAgICAgewoJICAgICAgICRpbnN0Y29uZHN7JHZhbH0gPSBuZXcgQXV0b21ha2U6OkRpc2pD b25kaXRpb25zOwoJICAgICB9CgkgICAkaW5zdGRpcnN7JHZhbH17JGZ1bGxfY29uZH0gPSAk ZGlyOwoJICAgJGluc3RzdWJkaXJzeyR2YWx9eyRmdWxsX2NvbmR9ID0gJGxkaXI7CgkgICAk bGlibG9jYXRpb25zeyR2YWx9eyRmdWxsX2NvbmR9ID0gJHdoZXJlOwoJICAgJGluc3Rjb25k c3skdmFsfSA9ICRpbnN0Y29uZHN7JHZhbH0tPm1lcmdlICgkZnVsbF9jb25kKTsKCSB9LAoJ IHN1YgoJIHsKCSAgIHJldHVybiAoKTsKCSB9LAoJIHNraXBfYWNfc3Vic3QgPT4gMSk7CiAg ICB9CgogIGZvcmVhY2ggbXkgJHBhaXIgKEBsdGxpYmxpc3QpCiAgICB7CiAgICAgIG15ICgk d2hlcmUsICRvbmVsaWIpID0gQCRwYWlyOwoKICAgICAgbXkgJHNlZW5fbGlib2JqcyA9IDA7 CiAgICAgIG15ICRvYmogPSAnLmxvJzsKCiAgICAgICMgQ2Fub25pY2FsaXplIG5hbWVzIGFu ZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgogICAgICBteSAkeGxpYiA9IGNoZWNrX2Nhbm9u aWNhbF9zcGVsbGluZyAoJG9uZWxpYiwgJ19MSUJBREQnLCAnX0xERkxBR1MnLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TT1VSQ0VTJywgJ19PQkpF Q1RTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfREVQ RU5ERU5DSUVTJyk7CgogICAgICAjIENoZWNrIHRoYXQgdGhlIGxpYnJhcnkgZml0cyB0aGUg c3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24uCiAgICAgIG15ICRsaWJuYW1lX3J4ID0gJ15s aWIuKlwubGEnOwogICAgICBteSAkbGR2YXIgPSB2YXIgKCIke3hsaWJ9X0xERkxBR1MiKSB8 fCB2YXIgKCdBTV9MREZMQUdTJyk7CiAgICAgIG15ICRsZHZhcjIgPSB2YXIgKCdMREZMQUdT Jyk7CiAgICAgIGlmICgoJGxkdmFyICYmIGdyZXAgKC8tbW9kdWxlLywgJGxkdmFyLT52YWx1 ZV9hc19saXN0X3JlY3Vyc2l2ZSkpCgkgIHx8ICgkbGR2YXIyICYmIGdyZXAgKC8tbW9kdWxl LywgJGxkdmFyMi0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKSkKCXsKCSAgIyBSZWxheCBu YW1lIGNoZWNraW5nIGZvciBsaWJ0b29sIG1vZHVsZXMuCgkgICRsaWJuYW1lX3J4ID0gJ1wu bGEnOwoJfQoKICAgICAgbXkgJGJuID0gYmFzZW5hbWUgKCRvbmVsaWIpOwogICAgICBpZiAo JGJuICF+IC8kbGlibmFtZV9yeCQvKQoJewoJICBteSAkdHlwZSA9ICdsaWJyYXJ5JzsKCSAg aWYgKCRsaWJuYW1lX3J4IGVxICdcLmxhJykKCSAgICB7CgkgICAgICAkYm4gPX4gcy9eKGxp YnwpKC4qPykoPzpcLlteLl0qKT8kLyQxJDIubGEvOwoJICAgICAgJHR5cGUgPSAnbW9kdWxl JzsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkYm4gPX4gcy9eKD86bGliKT8oLio/ KSg/OlwuW14uXSopPyQvbGliJDEubGEvOwoJICAgIH0KCSAgbXkgJHN1Z2dlc3Rpb24gPSBk aXJuYW1lICgkb25lbGliKSAuICIvJGJuIjsKCSAgJHN1Z2dlc3Rpb24gPX4gc3xeXC4vfHxn OwoJICBtc2cgKCdlcnJvci1nbnUvd2FybicsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWIn IGlzIG5vdCBhIHN0YW5kYXJkIGxpYnRvb2wgJHR5cGUgbmFtZVxuIgoJICAgICAgIC4gImRp ZCB5b3UgbWVhbiAnJHN1Z2dlc3Rpb24nPyIpCgl9CgogICAgICAoJGtub3duX2xpYnJhcmll c3skb25lbGlifSA9ICRibikgPX4gcy9cLmxhJC8vOwoKICAgICAgJHdoZXJlLT5wdXNoX2Nv bnRleHQgKCJ3aGlsZSBwcm9jZXNzaW5nIExpYnRvb2wgbGlicmFyeSAnJG9uZWxpYiciKTsK ICAgICAgJHdoZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoKICAgICAgIyBNYWtlIHN1cmUg d2UgbG9vayBhdCB0aGVzZS4KICAgICAgc2V0X3NlZW4gKCR4bGliIC4gJ19MREZMQUdTJyk7 CiAgICAgIHNldF9zZWVuICgkeGxpYiAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9z ZWVuICgnRVhUUkFfJyAuICR4bGliIC4gJ19ERVBFTkRFTkNJRVMnKTsKCiAgICAgICMgR2Vu ZXJhdGUgc3VwcG9ydCBmb3IgY29uZGl0aW9uYWwgb2JqZWN0IGluY2x1c2lvbiBpbgogICAg ICAjIGxpYnJhcmllcy4KICAgICAgaWYgKHZhciAoJHhsaWIgLiAnX0xJQkFERCcpKQoJewoJ ICBpZiAoaGFuZGxlX2xpYl9vYmplY3RzICgkeGxpYiwgJHhsaWIgLiAnX0xJQkFERCcpKQoJ ICAgIHsKCSAgICAgICRzZWVuX2xpYm9ianMgPSAxOwoJICAgIH0KCX0KICAgICAgZWxzZQoJ ewoJICBkZWZpbmVfdmFyaWFibGUgKCR4bGliIC4gIl9MSUJBREQiLCAnJywgJHdoZXJlKTsK CX0KCiAgICAgIHJlamVjdF92YXIgKCIke3hsaWJ9X0xEQUREIiwKCQkgICJ1c2UgJyR7eGxp Yn1fTElCQUREJywgbm90ICcke3hsaWJ9X0xEQUREJyIpOwoKCiAgICAgIG15ICRsaW5rZXIg PSBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJHhsaWIsICRvbmVsaWIsICRvYmosICR3aGVy ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT05MSUJU T09MID0+IDAsIExJQlRPT0wgPT4gMSk7CgogICAgICAjIERldGVybWluZSBwcm9ncmFtIHRv IHVzZSBmb3IgbGluay4KICAgICAgbXkoJHhsaW5rLCAkdmxpbmspID0gZGVmaW5lX3Blcl90 YXJnZXRfbGlua2VyX3ZhcmlhYmxlICgkbGlua2VyLCAkeGxpYik7CiAgICAgICR2bGluayA9 IHZlcmJvc2VfZmxhZyAoJHZsaW5rIHx8ICdHRU4nKTsKCiAgICAgIG15ICRycGF0aHZhciA9 ICJhbV8ke3hsaWJ9X3JwYXRoIjsKICAgICAgbXkgJHJwYXRoID0gIlwkKCRycGF0aHZhciki OwogICAgICBmb3JlYWNoIG15ICRyY29uZCAoJGluc3Rjb25kc3skb25lbGlifS0+Y29uZHMp Cgl7CgkgIG15ICR2YWw7CgkgIGlmICgkaW5zdGRpcnN7JG9uZWxpYn17JHJjb25kfSBlcSAn RVhUUkEnCgkgICAgICB8fCAkaW5zdGRpcnN7JG9uZWxpYn17JHJjb25kfSBlcSAnbm9pbnN0 JwoJICAgICAgfHwgJGluc3RkaXJzeyRvbmVsaWJ9eyRyY29uZH0gZXEgJ2NoZWNrJykKCSAg ICB7CgkgICAgICAjIEl0J3MgYW4gRVhUUkFfIGxpYnJhcnksIHNvIHdlIGNhbid0IHNwZWNp ZnkgLXJwYXRoLAoJICAgICAgIyBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlcmUgdGhlIGxp YnJhcnkgd2lsbCBlbmQgdXAuCgkgICAgICAjIFRoZSB1c2VyIHByb2JhYmx5IGtub3dzLCBi dXQgZ2VuZXJhbGx5IHNwZWFraW5nIGF1dG9tYWtlCgkgICAgICAjIGRvZXNuJ3QgLS0gYW5k IGluIGZhY3QgY29uZmlndXJlIGNvdWxkIGRlY2lkZQoJICAgICAgIyBkeW5hbWljYWxseSBi ZXR3ZWVuIHR3byBkaWZmZXJlbnQgbG9jYXRpb25zLgoJICAgICAgJHZhbCA9ICcnOwoJICAg IH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR2YWwgPSAoJy1ycGF0aCAkKCcgLiAkaW5zdGRp cnN7JG9uZWxpYn17JHJjb25kfSAuICdkaXIpJyk7CgkgICAgICAkdmFsIC49ICRpbnN0c3Vi ZGlyc3skb25lbGlifXskcmNvbmR9CgkgICAgICAgIGlmIGRlZmluZWQgJGluc3RzdWJkaXJz eyRvbmVsaWJ9eyRyY29uZH07CgkgICAgfQoJICBpZiAoJHJjb25kLT50cnVlKQoJICAgIHsK CSAgICAgICMgSWYgJHJjb25kIGlzIHRydWUgdGhlcmUgaXMgb25seSBvbmUgY29uZGl0aW9u IGFuZAoJICAgICAgIyB0aGVyZSBpcyBubyBwb2ludCBkZWZpbmluZyBhbiBoZWxwZXIgdmFy aWFibGUuCgkgICAgICAkcnBhdGggPSAkdmFsOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAg ICAgIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRycGF0aHZhciwgJHJjb25kLCBJTlRFUk5B TCwgJHZhbCk7CgkgICAgfQoJfQoKICAgICAgIyBJZiB0aGUgcmVzdWx0aW5nIGxpYnJhcnkg bGllcyBpbiBhIHN1YmRpcmVjdG9yeSwKICAgICAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rv cnkgd2lsbCBleGlzdC4KICAgICAgbXkgJGRpcnN0YW1wID0gcmVxdWlyZV9idWlsZF9kaXJl Y3RvcnlfbWF5YmUgKCRvbmVsaWIpOwoKICAgICAgIyBSZW1lbWJlciB0byBjbGVhbnVwIC5s aWJzLyBpbiB0aGlzIGRpcmVjdG9yeS4KICAgICAgbXkgJGRpcm5hbWUgPSBkaXJuYW1lICRv bmVsaWI7CiAgICAgICRsaWJ0b29sX2NsZWFuX2RpcmVjdG9yaWVzeyRkaXJuYW1lfSA9IDE7 CgogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdsdGxpYnJhcnknLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVExJQlJBUlkgID0+ICRvbmVsaWIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWExUTElCUkFSWSA9PiAkeGxp YiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSUEFUSCAgICAgID0+ ICRycGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTElOSyAg ICAgID0+ICR4bGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW RVJCT1NFICAgID0+ICR2bGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBESVJTVEFNUCAgID0+ICRkaXJzdGFtcCk7CiAgICAgIGlmICgkc2Vlbl9saWJvYmpz KQoJewoJICBpZiAodmFyICgkeGxpYiAuICdfTElCQUREJykpCgkgICAgewoJICAgICAgY2hl Y2tfbGlib2Jqc19zb3VyY2VzICgkeGxpYiwgJHhsaWIgLiAnX0xJQkFERCcpOwoJICAgIH0K CX0KCiAgICAgIGlmICghICRzZWVuX2FyKQoJewoJICBtc2cgKCdleHRyYS1wb3J0YWJpbGl0 eScsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWInOiBsaW5raW5nIGxpYnRvb2wgbGlicmFy aWVzIHVzaW5nIGEgbm9uLVBPU0lYXG4iCgkgICAgICAgLiAiYXJjaGl2ZXIgcmVxdWlyZXMg J0FNX1BST0dfQVInIGluICckY29uZmlndXJlX2FjJyIpCgl9CiAgICB9Cn0KCiMgU2VlIGlm IGFueSBfU09VUkNFUyB2YXJpYWJsZSB3ZXJlIG1pc3NwZWxsZWQuCnN1YiBjaGVja190eXBv cyAoKQp7CiAgIyBJdCBpcyBvayBpZiB0aGUgdXNlciBzZXRzIHRoaXMgcGFydGljdWxhciB2 YXJpYWJsZS4KICBzZXRfc2VlbiAnQU1fTERGTEFHUyc7CgogIGZvcmVhY2ggbXkgJHByaW1h cnkgKCdTT1VSQ0VTJywgJ0xJQkFERCcsICdMREFERCcsICdMREZMQUdTJywgJ0RFUEVOREVO Q0lFUycpCiAgICB7CiAgICAgIGZvcmVhY2ggbXkgJHZhciAodmFyaWFibGVzICRwcmltYXJ5 KQoJewoJICBteSAkdmFybmFtZSA9ICR2YXItPm5hbWU7CgkgICMgQSBjb25maWd1cmUgdmFy aWFibGUgaXMgYWx3YXlzIGxlZ2l0aW1hdGUuCgkgIG5leHQgaWYgZXhpc3RzICRjb25maWd1 cmVfdmFyc3skdmFybmFtZX07CgoJICBmb3IgbXkgJGNvbmQgKCR2YXItPmNvbmRpdGlvbnMt PmNvbmRzKQoJICAgIHsKCSAgICAgICR2YXJuYW1lID1+IC9eKD86RVhUUkFfKT8oPzpub2Jh c2VfKT8oPzpkaXN0X3xub2Rpc3RfKT8oLiopX1tbOmFsbnVtOl1dKyQvOwoJICAgICAgbXNn X3ZhciAoJ3N5bnRheCcsICR2YXIsICJ2YXJpYWJsZSAnJHZhcm5hbWUnIGlzIGRlZmluZWQg YnV0IG5vIgoJCSAgICAgICAuICIgcHJvZ3JhbSBvclxubGlicmFyeSBoYXMgJyQxJyBhcyBj YW5vbmljYWwgbmFtZSIKCQkgICAgICAgLiAiIChwb3NzaWJsZSB0eXBvKSIpCgkJdW5sZXNz ICR2YXItPnJkZWYgKCRjb25kKS0+c2VlbjsKCSAgICB9Cgl9CiAgICB9Cn0KCgpzdWIgaGFu ZGxlX3NjcmlwdHMgKCkKewogICAgIyBOT1RFIHdlIG5vIGxvbmdlciBhdXRvbWF0aWNhbGx5 IGNsZWFuIFNDUklQVFMsIGJlY2F1c2UgaXQgaXMKICAgICMgdXNlZnVsIHRvIHNvbWV0aW1l cyBkaXN0cmlidXRlIHNjcmlwdHMgdmVyYmF0aW0uICBUaGlzIGhhcHBlbnMKICAgICMgZS5n LiBpbiBBdXRvbWFrZSBpdHNlbGYuCiAgICBhbV9pbnN0YWxsX3ZhciAoJy1jYW5kaXN0Jywg J3NjcmlwdHMnLCAnU0NSSVBUUycsCiAgICAgICAgICAgICAgICAgICAgJ2JpbicsICdzYmlu JywgJ2xpYmV4ZWMnLCAncGtnbGliZXhlYycsICdwa2dkYXRhJywKICAgICAgICAgICAgICAg ICAgICAnbm9pbnN0JywgJ2NoZWNrJyk7Cn0KCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gIyMKIyMgSGFuZGxpbmcgVGV4aW5mbyBmaWxlcy4gICMjCiMjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIwoKIyAoJE9VVEZJTEUsICRWRklMRSkKIyBzY2FuX3RleGluZm9fZmls ZSAoJEZJTEVOQU1FKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgJE9VVEZJ TEUgICAgIC0gbmFtZSBvZiB0aGUgaW5mbyBmaWxlIHByb2R1Y2VkIGJ5ICRGSUxFTkFNRS4K IyAkVkZJTEUgICAgICAgLSBuYW1lIG9mIHRoZSB2ZXJzaW9uLnRleGkgZmlsZSB1c2VkICh1 bmRlZiBpZiBub25lKS4Kc3ViIHNjYW5fdGV4aW5mb19maWxlCnsKICBteSAoJGZpbGVuYW1l KSA9IEBfOwoKICBteSAkdGV4aSA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgIjwgJGZpbGVuYW1l IjsKICB2ZXJiICJyZWFkaW5nICRmaWxlbmFtZSI7CgogIG15ICgkb3V0ZmlsZSwgJHZmaWxl KTsKICB3aGlsZSAoJF8gPSAkdGV4aS0+Z2V0bGluZSkKICAgIHsKICAgICAgaWYgKC9eXEBz ZXRmaWxlbmFtZSArKFxTKykvKQoJewoJICAjIEhvbm9yIG9ubHkgdGhlIGZpcnN0IEBzZXRm aWxlbmFtZS4gIChJdCdzIHBvc3NpYmxlIHRvIGhhdmUKCSAgIyBtb3JlIG9jY3VycmVuY2Vz IGxhdGVyIGlmIHRoZSBtYW51YWwgc2hvd3MgZXhhbXBsZXMgb2YgaG93CgkgICMgdG8gdXNl IEBzZXRmaWxlbmFtZS4uLikKCSAgbmV4dCBpZiAkb3V0ZmlsZTsKCgkgICRvdXRmaWxlID0g JDE7CgkgIGlmIChpbmRleCAoJG91dGZpbGUsICcuJykgPCAwKQoJICAgIHsKCSAgICAgIG1z ZyAnb2Jzb2xldGUnLCAiJGZpbGVuYW1lOiQuIiwKCSAgICAgICAgICAidXNlIG9mIHN1ZmZp eC1sZXNzIGluZm8gZmlsZXMgaXMgZGlzY291cmFnZWQiCgkgICAgfQoJICBlbHNpZiAoJG91 dGZpbGUgIX4gL1wuaW5mbyQvKQoJICAgIHsKCSAgICAgIGVycm9yICgiJGZpbGVuYW1lOiQu IiwKCQkgICAgICJvdXRwdXQgJyRvdXRmaWxlJyBoYXMgdW5yZWNvZ25pemVkIGV4dGVuc2lv biIpOwoJICAgICAgcmV0dXJuOwoJICAgIH0KCX0KICAgICAgIyBBICJ2ZXJzaW9uLnRleGki IGZpbGUgaXMgYWN0dWFsbHkgYW55IGZpbGUgd2hvc2UgbmFtZSBtYXRjaGVzCiAgICAgICMg InZlcnMqLnRleGkiLgogICAgICBlbHNpZiAoL15cQGluY2x1ZGVccysodmVyc1teLl0qXC50 ZXhpKVxzKiQvKQoJewoJICAkdmZpbGUgPSAkMTsKCX0KICAgIH0KCiAgaWYgKCEgJG91dGZp bGUpCiAgICB7CiAgICAgICMgUmVwbGFjZSBhIC50ZXhpIGV4dGVuc2lvbiB3aXRoIC5pbmZv CiAgICAgICRvdXRmaWxlID0gYmFzZW5hbWUoJGZpbGVuYW1lKTsKICAgICAgJG91dGZpbGUg PX4gcy9cLlteLl0rJC8vOwogICAgICAkb3V0ZmlsZSAuPSAnLmluZm8nOwogICAgfQoKICBy ZXR1cm4gKCRvdXRmaWxlLCAkdmZpbGUpOwp9CgoKIyAoJERJUlNUQU1QLCBAQ0xFQU5fRklM RVMpCiMgb3V0cHV0X3RleGluZm9fYnVpbGRfcnVsZXMgKCRTT1VSQ0UsICRERVNULCAkSU5T UkMsIEBERVBFTkRFTkNJRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU09VUkNFIC0gdGhlIHNvdXJj ZSBUZXhpbmZvIGZpbGUKIyBERVNUIC0gdGhlIGRlc3RpbmF0aW9uIEluZm8gZmlsZQojIElO U1JDIC0gd2hldGhlciBERVNUIHNob3VsZCBiZSBidWlsdCBpbiB0aGUgc291cmNlIHRyZWUK IyBERVBFTkRFTkNJRVMgLSBrbm93biBkZXBlbmRlbmNpZXMKc3ViIG91dHB1dF90ZXhpbmZv X2J1aWxkX3J1bGVzCnsKICBteSAoJHNvdXJjZSwgJGRlc3QsICRpbnNyYywgQGRlcHMpID0g QF87CgogICMgU3BsaXQgJ2EudGV4aScgaW50byAnYScgYW5kICcudGV4aScuCiAgbXkgKCRz cGZ4LCAkc3NmeCkgPSAoJHNvdXJjZSA9fiAvXiguKj8pKFwuW14uXSopPyQvKTsKICBteSAo JGRwZngsICRkc2Z4KSA9ICgkZGVzdCA9fiAvXiguKj8pKFwuW14uXSopPyQvKTsKCiAgJHNz ZnggfHw9ICIiOwogICRkc2Z4IHx8PSAiIjsKCiAgIyBXZSBjYW4gb3V0cHV0IHR3byBraW5k cyBvZiBydWxlczogdGhlICJnZW5lcmljIiBydWxlcyB1c2UgTWFrZQogICMgc3VmZml4IHJ1 bGVzIGFuZCBhcmUgYXBwcm9wcmlhdGUgd2hlbiAkc291cmNlIGFuZCAkZGVzdCBkbyBub3Qg bGllCiAgIyBpbiBhIHN1Yi1kaXJlY3Rvcnk7IHRoZSAic3BlY2lmaWMiIHJ1bGVzIGFyZSBu ZWVkZWQgaW4gdGhlIG90aGVyCiAgIyBjYXNlLgogICMKICAjIFRoZSBmb3JtZXIgYXJlIG91 dHB1dCBvbmx5IG9uY2UgKHRoaXMgaXMgbm90IHJlYWxseSBhcHBhcmVudCBoZXJlLAogICMg YnV0IGp1c3QgcmVtZW1iZXIgdGhhdCBzb21lIGxvZ2ljIGRlZXBlciBpbiBBdXRvbWFrZSB3 aWxsIG5vdAogICMgb3V0cHV0IHRoZSBzYW1lIHJ1bGUgdHdpY2UpOyB3aGlsZSB0aGUgbGF0 ZXIgbmVlZCB0byBiZSBvdXRwdXQgZm9yCiAgIyBlYWNoIFRleGluZm8gc291cmNlLgogIG15 ICRnZW5lcmljOwogIG15ICRtYWtlaW5mb2ZsYWdzOwogIG15ICRzZGlyID0gZGlybmFtZSAk c291cmNlOwogIGlmICgkc2RpciBlcSAnLicgJiYgZGlybmFtZSAoJGRlc3QpIGVxICcuJykK ICAgIHsKICAgICAgJGdlbmVyaWMgPSAxOwogICAgICAkbWFrZWluZm9mbGFncyA9ICctSSAk KHNyY2RpciknOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJGdlbmVyaWMgPSAwOwogICAg ICAkbWFrZWluZm9mbGFncyA9ICItSSAkc2RpciAtSSBcJChzcmNkaXIpLyRzZGlyIjsKICAg IH0KCiAgIyBBIGRpcmVjdG9yeSBjYW4gY29udGFpbiB0d28ga2luZHMgb2YgaW5mbyBmaWxl czogc29tZSBidWlsdCBpbiB0aGUKICAjIHNvdXJjZSB0cmVlLCBhbmQgc29tZSBidWlsdCBp biB0aGUgYnVpbGQgdHJlZS4gIFRoZSBydWxlcyBhcmUKICAjIGRpZmZlcmVudCBpbiBlYWNo IGNhc2UuICBIb3dldmVyIHdlIGNhbm5vdCBvdXRwdXQgdHdvIGRpZmZlcmVudAogICMgc2V0 IG9mIGdlbmVyaWMgcnVsZXMuICBCZWNhdXNlIGluLXNvdXJjZSBidWlsZHMgYXJlIG1vcmUg dXN1YWwsIHdlCiAgIyB1c2UgZ2VuZXJpYyBydWxlcyBpbiB0aGlzIGNhc2UgYW5kIGZhbGwg YmFjayB0byAic3BlY2lmaWMiIHJ1bGVzCiAgIyBmb3IgYnVpbGQtZGlyIGJ1aWxkcy4gIChJ dCBzaG91bGQgbm90IGJlIGEgcHJvYmxlbSB0byBpbnZlcnQgdGhpcwogICMgaWYgbmVlZGVk LikKICAkZ2VuZXJpYyA9IDAgdW5sZXNzICRpbnNyYzsKCiAgIyBXZSBjYW5ub3QgdXNlIGEg c3VmZml4IHJ1bGUgdG8gYnVpbGQgaW5mbyBmaWxlcyB3aXRoIGFuIGVtcHR5CiAgIyBleHRl bnNpb24uICBPdGhlcndpc2Ugd2Ugd291bGQgb3V0cHV0IGEgc2luZ2xlIHN1ZmZpeCBpbmZl cmVuY2UKICAjIHJ1bGUsIHdpdGggc2VwYXJhdGUgZGVwZW5kZW5jaWVzLCBhcyBpbgogICMK ICAjICAgIC50ZXhpOgogICMgICAgICAgICAgICAgJChNQUtFSU5GTykgLi4uCiAgIyAgICBm b28uaW5mbzogZm9vLnRleGkKICAjCiAgIyB3aGljaCBjb25mdXNlIFNvbGFyaXMgbWFrZS4g IChTZWUgdGhlIEF1dG9jb25mIG1hbnVhbCBmb3IKICAjIGRldGFpbHMuKSAgVGhlcmVmb3Jl IHdlIHVzZSBhIHNwZWNpZmljIHJ1bGUgaW4gdGhpcyBjYXNlLiAgVGhpcwogICMgYXBwbGll cyB0byBpbmZvIGZpbGVzIG9ubHkgKGR2aSBhbmQgcGRmIGZpbGVzIGFsd2F5cyBoYXZlIGFu CiAgIyBleHRlbnNpb24pLgogIG15ICRnZW5lcmljX2luZm8gPSAoJGdlbmVyaWMgJiYgJGRz ZngpID8gMSA6IDA7CgogICMgSWYgdGhlIHJlc3VsdGluZyBmaWxlIGxpZXMgaW4gYSBzdWJk aXJlY3RvcnksCiAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rvcnkgd2lsbCBleGlzdC4KICBt eSAkZGlyc3RhbXAgPSByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeV9tYXliZSAoJGRlc3QpOwoK ICBteSAkZGlwZnggPSAoJGluc3JjID8gJyQoc3JjZGlyKS8nIDogJycpIC4gJGRwZng7Cgog ICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ3RleGlidWlsZCcsCgkJCQkgIG5l dyBBdXRvbWFrZTo6TG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBTV9WX01BS0VJTkZPICAgID0+IHZlcmJvc2VfZmxhZygnTUFLRUlORk8nKSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFNX1ZfVEVYSTJEVkkgICAgPT4gdmVyYm9z ZV9mbGFnKCdURVhJMkRWSScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QU1fVl9URVhJMlBERiAgICA9PiB2ZXJib3NlX2ZsYWcoJ1RFWEkyUERGJyksCgkJCQkgIERF UFMgICAgICAgICAgICAgPT4gIkBkZXBzIiwKCQkJCSAgREVTVF9QUkVGSVggICAgICA9PiAk ZHBmeCwKCQkJCSAgREVTVF9JTkZPX1BSRUZJWCA9PiAkZGlwZngsCgkJCQkgIERFU1RfU1VG RklYICAgICAgPT4gJGRzZngsCgkJCQkgIERJUlNUQU1QICAgICAgICAgPT4gJGRpcnN0YW1w LAoJCQkJICBHRU5FUklDICAgICAgICAgID0+ICRnZW5lcmljLAoJCQkJICBHRU5FUklDX0lO Rk8gICAgID0+ICRnZW5lcmljX2luZm8sCgkJCQkgIElOU1JDCQkgICA9PiAkaW5zcmMsCgkJ CQkgIE1BS0VJTkZPRkxBR1MgICAgPT4gJG1ha2VpbmZvZmxhZ3MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTSUxFTlQgICAgICAgICAgID0+IHNpbGVudF9mbGFnKCks CgkJCQkgIFNPVVJDRSAgICAgICAgICAgPT4gKCRnZW5lcmljCgkJCQkJCSAgICAgICA/ICck PCcgOiAkc291cmNlKSwKCQkJCSAgU09VUkNFX0lORk8gICAgICA9PiAoJGdlbmVyaWNfaW5m bwoJCQkJCQkgICAgICAgPyAnJDwnIDogJHNvdXJjZSksCgkJCQkgIFNPVVJDRV9SRUFMICAg ICAgPT4gJHNvdXJjZSwKCQkJCSAgU09VUkNFX1NVRkZJWCAgICA9PiAkc3NmeCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFWElRVUlFVCAgICAgICAgPT4gdmVyYm9z ZV9mbGFnKCd0ZXhpbmZvJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU RVhJREVWTlVMTCAgICAgID0+IHZlcmJvc2VfZmxhZygndGV4aWRldm51bGwnKSwKCQkJCSAg KTsKICByZXR1cm4gKCRkaXJzdGFtcCwgIiRkcGZ4LmR2aSIsICIkZHBmeC5wZGYiLCAiJGRw ZngucHMiLCAiJGRwZnguaHRtbCIpOwp9CgoKIyAoJE1PU1RMWUNMRUFOLCAkVEVYSUNMRUFO LCAkTUFJTlRDTEVBTikKIyBoYW5kbGVfdGV4aW5mb19oZWxwZXIgKCRpbmZvX3RleGluZm9z KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSGFuZGxlIGFs bCBUZXhpbmZvIHNvdXJjZTsgaGVscGVyIGZvciAnaGFuZGxlX3RleGluZm8nLgpzdWIgaGFu ZGxlX3RleGluZm9faGVscGVyCnsKICBteSAoJGluZm9fdGV4aW5mb3MpID0gQF87CiAgbXkg KEBpbmZvYmFzZSwgQGluZm9fZGVwc19saXN0LCBAdGV4aV9kZXBzKTsKICBteSAldmVyc2lv bnM7CiAgbXkgJGRvbmUgPSAwOwogIG15IChAbW9zdGx5X2NsZWFucywgQHRleGlfY2xlYW5z LCBAbWFpbnRfY2xlYW5zKSA9ICgnJywgJycsICcnKTsKCiAgIyBCdWlsZCBhIHJlZ2V4IG1h dGNoaW5nIHVzZXItY2xlYW5lZCBmaWxlcy4KICBteSAkZCA9IHZhciAnRElTVENMRUFORklM RVMnOwogIG15ICRjID0gdmFyICdDTEVBTkZJTEVTJzsKICBteSBAZiA9ICgpOwogIHB1c2gg QGYsICRkLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhwYW5kID0+IDEpIGlm ICRkOwogIHB1c2ggQGYsICRjLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhw YW5kID0+IDEpIGlmICRjOwogIEBmID0gbWFwIHsgc3xbXkEtWmEtel8wLTkqXFtcXVwtXXxc XCQmfGc7IHN8XCp8W14vXSp8ZzsgJF87IH0gQGY7CiAgbXkgJHVzZXJfY2xlYW5lZF9maWxl cyA9ICdeKD86JyAuIGpvaW4gKCd8JywgQGYpIC4gJykkJzsKCiAgZm9yZWFjaCBteSAkdGV4 aQogICAgICAoJGluZm9fdGV4aW5mb3MtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlIChpbm5l cl9leHBhbmQgPT4gMSkpCiAgICB7CiAgICAgIG15ICRpbmZvYmFzZSA9ICR0ZXhpOwogICAg ICBpZiAoJGluZm9iYXNlID1+IHMvXC50ZXhpJC8vKQogICAgICAgIHsKICAgICAgICAgIDE7 ICMgTm90aGluZyBtb3JlIHRvIGRvLgogICAgICAgIH0KICAgICAgZWxzaWYgKCRpbmZvYmFz ZSA9fiBzL1wuKHR4aXx0ZXhpbmZvKSQvLykKICAgICAgICB7CgkgIG1zZ192YXIgJ29ic29s ZXRlJywgJGluZm9fdGV4aW5mb3MsCgkgICAgICAgICAgInN1ZmZpeCAnLiQxJyBmb3IgVGV4 aW5mbyBmaWxlcyBpcyBkaXNjb3VyYWdlZDsiIC4KICAgICAgICAgICAgICAgICAgIiB1c2Ug Jy50ZXhpJyBpbnN0ZWFkIjsKICAgICAgICB9CiAgICAgIGVsc2UKCXsKCSAgIyBGSVhNRTog cmVwb3J0IGxpbmUgbnVtYmVyLgoJICBlcnJfYW0gInRleGluZm8gZmlsZSAnJHRleGknIGhh cyB1bnJlY29nbml6ZWQgZXh0ZW5zaW9uIjsKCSAgbmV4dDsKCX0KCiAgICAgIHB1c2ggQGlu Zm9iYXNlLCAkaW5mb2Jhc2U7CgogICAgICAjIElmICd2ZXJzaW9uLnRleGknIGlzIHJlZmVy ZW5jZWQgYnkgaW5wdXQgZmlsZSwgdGhlbiBpbmNsdWRlCiAgICAgICMgYXV0b21hdGljIHZl cnNpb25pbmcgY2FwYWJpbGl0eS4KICAgICAgbXkgKCRvdXRfZmlsZSwgJHZ0ZXhpKSA9Cglz Y2FuX3RleGluZm9fZmlsZSAoIiRyZWxhdGl2ZV9kaXIvJHRleGkiKQoJb3IgbmV4dDsKICAg ICAgIyBEaXJlY3Rvcnkgb2YgYXV4aWxpYXJ5IGZpbGVzIGFuZCBidWlsZCBieS1wcm9kdWN0 cyB1c2VkIGJ5IHRleGkyZHZpCiAgICAgICMgYW5kIHRleGkycGRmLgogICAgICBwdXNoIEBt b3N0bHlfY2xlYW5zLCAiJGluZm9iYXNlLnQyZCI7CiAgICAgIHB1c2ggQG1vc3RseV9jbGVh bnMsICIkaW5mb2Jhc2UudDJwIjsKCiAgICAgICMgSWYgdGhlIFRleGluZm8gc291cmNlIGlz IGluIGEgc3ViZGlyZWN0b3J5LCBjcmVhdGUgdGhlCiAgICAgICMgcmVzdWx0aW5nIGluZm8g aW4gdGhpcyBzdWJkaXJlY3RvcnkuICBJZiBpdCBpcyBpbiB0aGUgY3VycmVudAogICAgICAj IGRpcmVjdG9yeSwgdHJ5IGhhcmQgdG8gbm90IHByZWZpeCAiLi8iIGJlY2F1c2UgaXQgYnJl YWtzIHRoZQogICAgICAjIGdlbmVyaWMgcnVsZXMuCiAgICAgIG15ICRvdXRkaXIgPSBkaXJu YW1lICgkdGV4aSkgLiAnLyc7CiAgICAgICRvdXRkaXIgPSAiIiBpZiAkb3V0ZGlyIGVxICcu Lyc7CiAgICAgICRvdXRfZmlsZSA9ICAkb3V0ZGlyIC4gJG91dF9maWxlOwoKICAgICAgIyBV bnRpbCBBdXRvbWFrZSAxLjYuMywgLmluZm8gZmlsZXMgd2VyZSBidWlsdCBpbiB0aGUKICAg ICAgIyBzb3VyY2UgdHJlZS4gIFRoaXMgd2FzIGFuIG9ic3RhY2xlIHRvIHRoZSBzdXBwb3J0 IG9mCiAgICAgICMgbm9uLWRpc3RyaWJ1dGVkIC5pbmZvIGZpbGVzLCBhbmQgbm9uLWRpc3Ry aWJ1dGVkIC50ZXhpCiAgICAgICMgZmlsZXMuCiAgICAgICMKICAgICAgIyAqIE5vbi1kaXN0 cmlidXRlZCAudGV4aSBmaWxlcyBpcyBpbXBvcnRhbnQgaW4gc29tZSBwYWNrYWdlcwogICAg ICAjICAgd2hlcmUgLnRleGkgZmlsZXMgYXJlIGJ1aWx0IGF0IG1ha2UgdGltZSwgcHJvYmFi bHkgdXNpbmcKICAgICAgIyAgIG90aGVyIGJpbmFyaWVzIGJ1aWx0IGluIHRoZSBwYWNrYWdl IGl0c2VsZiwgbWF5YmUgdXNpbmcKICAgICAgIyAgIHRvb2xzIG9yIGluZm9ybWF0aW9uIGZv dW5kIG9uIHRoZSBidWlsZCBob3N0LiAgQmVjYXVzZQogICAgICAjICAgdGhlc2UgZmlsZXMg YXJlIG5vdCBkaXN0cmlidXRlZCB0aGV5IGFyZSBhbHdheXMgcmVidWlsdAogICAgICAjICAg YXQgbWFrZSB0aW1lOyB0aGV5IHNob3VsZCB0aGVyZWZvcmUgbm90IGxpZSBpbiB0aGUgc291 cmNlCiAgICAgICMgICBkaXJlY3RvcnkuICBPbmUgcGxhbiB3YXMgdG8gc3VwcG9ydCB0aGlz IHVzaW5nCiAgICAgICMgICBub2Rpc3RfaW5mb19URVhJTkZPUyBvciBzb21ldGhpbmcgc2lt aWxhci4gIChEb2luZyB0aGlzCiAgICAgICMgICByZXF1aXJlcyBzb21lIHNhbml0eSBjaGVj a3MuICBGb3IgaW5zdGFuY2UgQXV0b21ha2Ugc2hvdWxkCiAgICAgICMgICBub3QgYWxsb3c6 CiAgICAgICMgICAgICBkaXN0X2luZm9fVEVYSU5GT1MgPSBmb28udGV4aQogICAgICAjICAg ICAgbm9kaXN0X2Zvb19URVhJTkZPUyA9IGluY2x1ZGVkLnRleGkKICAgICAgIyAgIGJlY2F1 c2UgYSBkaXN0cmlidXRlZCBmaWxlIHNob3VsZCBuZXZlciBkZXBlbmQgb24gYQogICAgICAj ICAgbm9uLWRpc3RyaWJ1dGVkIGZpbGUuKQogICAgICAjCiAgICAgICMgKiBJZiAudGV4aSBm aWxlcyBhcmUgbm90IGRpc3RyaWJ1dGVkLCB0aGVuIC5pbmZvIGZpbGVzIHNob3VsZAogICAg ICAjICAgbm90IGJlIGRpc3RyaWJ1dGVkIGVpdGhlci4gIFRoZXJlIGFyZSBhbHNvIGNhc2Vz IHdoZXJlIG9uZQogICAgICAjICAgd2FudHMgdG8gZGlzdHJpYnV0ZSAudGV4aSBmaWxlcywg YnV0IGRvZXMgbm90IHdhbnQgdG8KICAgICAgIyAgIGRpc3RyaWJ1dGUgdGhlIC5pbmZvIGZp bGVzLiAgRm9yIGluc3RhbmNlIHRoZSBUZXhpbmZvIHBhY2thZ2UKICAgICAgIyAgIGRpc3Ry aWJ1dGVzIHRoZSB0b29sIHVzZWQgdG8gYnVpbGQgdGhlc2UgZmlsZXM7IGl0IHdvdWxkCiAg ICAgICMgICBiZSBhIHdhc3RlIG9mIHNwYWNlIHRvIGRpc3RyaWJ1dGUgdGhlbS4gIEl0J3Mg bm90IGNsZWFyCiAgICAgICMgICB3aGljaCBzeW50YXggd2Ugc2hvdWxkIHVzZSB0byBpbmRp Y2F0ZSB0aGF0IC5pbmZvIGZpbGVzIHNob3VsZAogICAgICAjICAgbm90IGJlIGRpc3RyaWJ1 dGVkLiAgQWtpbSBEZW1haWxsZSBzdWdnZXN0ZWQgdGhhdCBldmVudHVhbGx5CiAgICAgICMg ICB3ZSBzd2l0Y2ggdG8gYSBuZXcgc3ludGF4OgogICAgICAjICAgfCAgTWF5YmUgd2Ugc2hv dWxkIHRha2Ugc29tZSBpbnNwaXJhdGlvbiBmcm9tIHdoYXQncyBhbHJlYWR5CiAgICAgICMg ICB8ICBkb25lIGluIHRoZSByZXN0IG9mIEF1dG9tYWtlLiAgTWF5YmUgdGhlcmUgaXMgdG9v IG11Y2gKICAgICAgIyAgIHwgIHN5bnRhY3RpYyBzdWdhciBoZXJlLCBhbmQgeW91IHdhbnQK ICAgICAgIyAgIHwgICAgIG5vZGlzdF9JTkZPID0gYmFyLmluZm8KICAgICAgIyAgIHwgICAg IGRpc3RfYmFyX2luZm9fU09VUkNFUyA9IGJhci50ZXhpCiAgICAgICMgICB8ICAgICBiYXJf dGV4aV9ERVBFTkRFTkNJRVMgPSBmb28udGV4aQogICAgICAjICAgfCAgd2l0aCBhIGJpdCBv ZiBtYWdpYyB0byBoYXZlIGJhci5pbmZvIHJlcHJlc2VudCB0aGUgd2hvbGUKICAgICAgIyAg IHwgIGJhcippbmZvIHNldC4gIFRoYXQncyBhIGxvdCBtb3JlIHZlcmJvc2UgdGhhdCB0aGUg Y3VycmVudAogICAgICAjICAgfCAgc2l0dWF0aW9uLCBidXQgaXQgaXMgIyBub3QgbmV3LCBo ZW5jZSB0aGUgdXNlciBoYXMgbGVzcwogICAgICAjICAgfCAgdG8gbGVhcm4uCiAgICAgICMJ ICB8CiAgICAgICMgICB8ICBCdXQgdGhlcmUgaXMgc3RpbGwgdG9vIG11Y2ggcm9vbSBmb3Ig bWVhbmluZ2xlc3Mgc3BlY3M6CiAgICAgICMgICB8ICAgICBub2Rpc3RfSU5GTyA9IGJhci5p bmZvCiAgICAgICMgICB8ICAgICBkaXN0X2Jhcl9pbmZvX1NPVVJDRVMgPSBiYXIudGV4aQog ICAgICAjICAgfCAgICAgZGlzdF9QUyA9IGJhci5wcyBzb21ldGhpbmctd3JpdHRlbi1ieS1o YW5kLnBzCiAgICAgICMgICB8ICAgICBub2Rpc3RfYmFyX3BzX1NPVVJDRVMgPSBiYXIudGV4 aQogICAgICAjICAgfCAgICAgYmFyX3RleGlfREVQRU5ERU5DSUVTID0gZm9vLnRleGkKICAg ICAgIyAgIHwgIGhlcmUgYmFyLnRleGkgaXMgZGlzdF8gaW4gbGluZSAyLCBhbmQgbm9kaXN0 XyBpbiA0LgogICAgICAjCiAgICAgICMgQmFjayB0byB0aGUgcG9pbnQsIGl0IHNob3VsZCBi ZSBjbGVhciB0aGF0IGluIG9yZGVyIHRvIHN1cHBvcnQKICAgICAgIyBub24tZGlzdHJpYnV0 ZWQgLmluZm8gZmlsZXMsIHdlIG5lZWQgdG8gYnVpbGQgdGhlbSBpbiB0aGUKICAgICAgIyBi dWlsZCB0cmVlLCBub3QgaW4gdGhlIHNvdXJjZSB0cmVlIChub24tZGlzdHJpYnV0ZWQgLnRl eGkKICAgICAgIyBmaWxlcyBhcmUgbGVzcyBvZiBhIHByb2JsZW0sIGJlY2F1c2Ugd2UgZG8g bm90IG91dHB1dCBidWlsZAogICAgICAjIHJ1bGVzIGZvciB0aGVtKS4gIEluIEF1dG9tYWtl IDEuNyAuaW5mbyBidWlsZCBydWxlcyBoYXZlIGJlZW4KICAgICAgIyBsYXJnZWx5IGNsZWFu ZWQgdXAgc28gdGhhdCAuaW5mbyBmaWxlcyBnZXQgYWx3YXlzIGJ1aWxkIGluIHRoZQogICAg ICAjIGJ1aWxkIHRyZWUsIGV2ZW4gd2hlbiBkaXN0cmlidXRlZC4gIFRoZSBpZGVhIHdhcyB0 aGF0CiAgICAgICMgICAoMSkgaWYgZHVyaW5nIGEgVlBBVEggYnVpbGQgdGhlIC5pbmZvIGZp bGUgd2FzIGZvdW5kIHRvIGJlCiAgICAgICMgICAgICAgYWJzZW50IG9yIG91dC1vZi1kYXRl IChpbiB0aGUgc291cmNlIHRyZWUgb3IgaW4gdGhlCiAgICAgICMgICAgICAgYnVpbGQgdHJl ZSksIE1ha2Ugd291bGQgcmVidWlsZCBpdCBpbiB0aGUgYnVpbGQgdHJlZS4KICAgICAgIyAg ICAgICBJZiBhbiB1cC10by1kYXRlIHNvdXJjZS10cmVlIG9mIHRoZSAuaW5mbyBmaWxlIGV4 aXN0ZWQsCiAgICAgICMgICAgICAgbWFrZSB3b3VsZCBub3QgcmVidWlsZCBpdCBpbiB0aGUg YnVpbGQgdHJlZS4KICAgICAgIyAgICgyKSBoYXZpbmcgdHdvIGNvcGllcyBvZiAuaW5mbyBm aWxlcywgb25lIGluIHRoZSBzb3VyY2UgdHJlZQogICAgICAjICAgICAgIGFuZCBvbmUgKG5l d2VyKSBpbiB0aGUgYnVpbGQgdHJlZSBpcyBub3QgYSBwcm9ibGVtCiAgICAgICMgICAgICAg YmVjYXVzZSAnbWFrZSBkaXN0JyBhbHdheXMgcGljayBmaWxlcyBpbiB0aGUgYnVpbGQgdHJl ZQogICAgICAjICAgICAgIGZpcnN0LgogICAgICAjIEhvd2V2ZXIgaXQgdHVybmVkIG91dCB0 aGUgYmUgYSBiYWQgaWRlYSBmb3Igc2V2ZXJhbCByZWFzb25zOgogICAgICAjICAgKiBUcnU2 NCwgT3BlbkJTRCwgYW5kIEZyZWVCU0QgKG5vdCBOZXRCU0QpIE1ha2UgZG8gbm90IGJlaGF2 ZQogICAgICAjICAgICBsaWtlIEdOVSBNYWtlIG9uIHBvaW50ICgxKSBhYm92ZS4gIFRoZXNl IGltcGxlbWVudGF0aW9ucwogICAgICAjICAgICBvZiBNYWtlIHdvdWxkIGFsd2F5cyByZWJ1 aWxkIC5pbmZvIGZpbGVzIGluIHRoZSBidWlsZAogICAgICAjICAgICB0cmVlLCBldmVuIGlm IHN1Y2ggZmlsZXMgd2VyZSB1cCB0byBkYXRlIGluIHRoZSBzb3VyY2UKICAgICAgIyAgICAg dHJlZS4gIENvbnNlcXVlbnRseSwgaXQgd2FzIGltcG9zc2libGUgdG8gcGVyZm9ybSBhIFZQ QVRICiAgICAgICMgICAgIGJ1aWxkIG9mIGEgcGFja2FnZSBjb250YWluaW5nIFRleGluZm8g ZmlsZXMgdXNpbmcgdGhlc2UKICAgICAgIyAgICAgTWFrZSBpbXBsZW1lbnRhdGlvbnMuCiAg ICAgICMgICAgIChSZWZlciB0byB0aGUgQXV0b2NvbmYgTWFudWFsLCBzZWN0aW9uICJMaW1p dGF0aW9uIG9mCiAgICAgICMgICAgIE1ha2UiLCBwYXJhZ3JhcGggIlZQQVRIIiwgaXRlbSAi dGFyZ2V0IGxvb2t1cCIsIGZvcgogICAgICAjICAgICBhbiBhY2NvdW50IG9mIHRoZSBkaWZm ZXJlbmNlcyBiZXR3ZWVuIHRoZXNlCiAgICAgICMgICAgIGltcGxlbWVudGF0aW9ucy4pCiAg ICAgICMgICAqIFRoZSBHTlUgQ29kaW5nIFN0YW5kYXJkcyByZXF1aXJlIHRoZXNlIGZpbGVz IHRvIGJlIGJ1aWx0CiAgICAgICMgICAgIGluIHRoZSBzb3VyY2UtdHJlZSAod2hlbiB0aGV5 IGFyZSBkaXN0cmlidXRlZCwgdGhhdCBpcykuCiAgICAgICMgICAqIEtlZXBpbmcgYSBmcmVz aGVyIGNvcHkgb2YgZGlzdHJpYnV0ZWQgZmlsZXMgaW4gdGhlCiAgICAgICMgICAgIGJ1aWxk IHRyZWUgY2FuIGJlIGFubm95aW5nIGR1cmluZyBkZXZlbG9wbWVudCBiZWNhdXNlCiAgICAg ICMgICAgIC0gaWYgdGhlIGZpbGVzIGlzIGtlcHQgdW5kZXIgQ1ZTLCB5b3UgcmVhbGx5IHdh bnQgaXQKICAgICAgIyAgICAgICB0byBiZSB1cGRhdGVkIGluIHRoZSBzb3VyY2UgdHJlZQog ICAgICAjICAgICAtIGl0IGlzIGNvbmZ1c2luZyB0aGF0ICdtYWtlIGRpc3RjbGVhbicgZG9l cyBub3QgZXJhc2UKICAgICAgIyAgICAgICBhbGwgZmlsZXMgaW4gdGhlIGJ1aWxkIHRyZWUu CiAgICAgICMKICAgICAgIyBDb25zZXF1ZW50bHksIHN0YXJ0aW5nIHdpdGggQXV0b21ha2Ug MS44LCAuaW5mbyBmaWxlcyBhcmUKICAgICAgIyBidWlsdCBpbiB0aGUgc291cmNlIHRyZWUg YWdhaW4uICBCZWNhdXNlIHdlIHN0aWxsIHBsYW4gdG8KICAgICAgIyBzdXBwb3J0IG5vbi1k aXN0cmlidXRlZCAuaW5mbyBmaWxlcyBhdCBzb21lIHBvaW50LCB3ZQogICAgICAjIGhhdmUg YSBzaW5nbGUgdmFyaWFibGUgKCRJTlNSQykgdGhhdCBjb250cm9scyB3aGV0aGVyCiAgICAg ICMgdGhlIGN1cnJlbnQgLmluZm8gZmlsZSBtdXN0IGJlIGJ1aWx0IGluIHRoZSBzb3VyY2Ug dHJlZQogICAgICAjIG9yIGluIHRoZSBidWlsZCB0cmVlLiAgQWN0dWFsbHkgdGhpcyB2YXJp YWJsZSBpcyBzd2l0Y2hlZAogICAgICAjIG9mZiBpbiB0d28gY2FzZXM6CiAgICAgICMgICgx KSBGb3IgJy5pbmZvJyBmaWxlcyB0aGF0IGFwcGVhciB0byBiZSBjbGVhbmVkOyB0aGlzIGlz IGZvcgogICAgICAjICAgICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHBhY2thZ2Ug c3VjaCBhcyBUZXhpbmZvLAogICAgICAjICAgICAgd2hpY2ggZG8gdGhpbmdzIGxpa2UKICAg ICAgIyAgICAgICAgaW5mb19URVhJTkZPUyA9IHRleGluZm8udHhpIGluZm8tc3RuZC50ZXhp IGluZm8udGV4aQogICAgICAjICAgICAgICBESVNUQ0xFQU5GSUxFUyA9IHRleGluZm8gdGV4 aW5mby0qIGluZm8qLmluZm8qCiAgICAgICMgICAgICAgICMgRG8gbm90IGNyZWF0ZSBpbmZv IGZpbGVzIGZvciBkaXN0cmlidXRpb24uCiAgICAgICMgICAgICAgIGRpc3QtaW5mbzoKICAg ICAgIyAgICAgIGluIG9yZGVyIG5vdCB0byBkaXN0cmlidXRlIC5pbmZvIGZpbGVzLgogICAg ICAjICAoMikgV2hlbiB0aGUgdW5kb2N1bWVudGVkIG9wdGlvbiAnaW5mby1pbi1idWlsZGRp cicgaXMgZ2l2ZW4uCiAgICAgICMgICAgICBUaGlzIGlzIGRvbmUgdG8gYWxsb3cgdGhlIGRl dmVsb3BlcnMgb2YgR0NDLCBHREIsIEdOVQogICAgICAjICAgICAgYmludXRpbHMgYW5kIHRo ZSBHTlUgYmZkIGxpYnJhcnkgdG8gZm9yY2UgdGhlICcuaW5mbycgZmlsZXMKICAgICAgIyAg ICAgIHRvIGJlIGdlbmVyYXRlZCBpbiB0aGUgYnVpbGRkaXIgcmF0aGVyIHRoYW4gdGhlIHNy Y2RpciwgYXMKICAgICAgIyAgICAgIHdhcyBvbmNlIGRvbmUgd2hlbiB0aGUgKG5vdyByZW1v dmVkKSAnY3lnbnVzJyBvcHRpb24gd2FzCiAgICAgICMgICAgICBnaXZlbi4gIFNlZSBhdXRv bWFrZSBidWcjMTEwMzQgZm9yIG1vcmUgZGlzY3Vzc2lvbi4KICAgICAgbXkgJGluc3JjID0g MTsKICAgICAgbXkgJHNvdXRkaXIgPSAnJChzcmNkaXIpLycgLiAkb3V0ZGlyOwoKICAgICAg aWYgKG9wdGlvbiAnaW5mby1pbi1idWlsZGRpcicpCiAgICAgICAgewogICAgICAgICAgJGlu c3JjID0gMDsKICAgICAgICB9CiAgICAgIGVsc2lmICgkb3V0X2ZpbGUgPX4gJHVzZXJfY2xl YW5lZF9maWxlcykKICAgICAgICB7CiAgICAgICAgICAkaW5zcmMgPSAwOwogICAgICAgICAg bXNnICdvYnNvbGV0ZScsICIkYW1fZmlsZS5hbSIsIDw8RU9GOwpPb3BzIQogICAgSXQgYXBw ZWFycyB0aGlzIGZpbGUgKG9yIGZpbGVzIGluY2x1ZGVkIGJ5IGl0KSBhcmUgdHJpZ2dlcmlu ZwogICAgYW4gdW5kb2N1bWVudGVkLCBzb29uLXRvLWJlLXJlbW92ZWQgYXV0b21ha2UgaGFj ay4KICAgIEZ1dHVyZSBhdXRvbWFrZSB2ZXJzaW9ucyB3aWxsIG5vIGxvbmdlciBwbGFjZSBp biB0aGUgYnVpbGRkaXIKICAgIChyYXRoZXIgdGhhbiBpbiB0aGUgc3JjZGlyKSB0aGUgZ2Vu ZXJhdGVkICcuaW5mbycgZmlsZXMgdGhhdAogICAgYXBwZWFyIHRvIGJlIGNsZWFuZWQsIGJ5 IGUuZy4gYmVpbmcgbGlzdGVkIGluIENMRUFORklMRVMgb3IKICAgIERJU1RDTEVBTkZJTEVT LgogICAgSWYgeW91IHdhbnQgeW91ciAnLmluZm8nIGZpbGVzIHRvIGJlIHBsYWNlZCBpbiB0 aGUgYnVpbGRkaXIKICAgIHJhdGhlciB0aGFuIGluIHRoZSBzcmNkaXIsIHlvdSBoYXZlIHRv IHVzZSB0aGUgc2hpbnkgbmV3CiAgICAnaW5mby1pbi1idWlsZGRpcicgYXV0b21ha2Ugb3B0 aW9uLgpFT0YKICAgICAgICB9CgogICAgICAkb3V0ZGlyID0gJHNvdXRkaXIgaWYgJGluc3Jj OwoKICAgICAgIyBJZiB1c2VyIHNwZWNpZmllZCBmaWxlX1RFWElORk9TLCB0aGVuIHVzZSB0 aGF0IGFzIGV4cGxpY2l0CiAgICAgICMgZGVwZW5kZW5jeSBsaXN0LgogICAgICBAdGV4aV9k ZXBzID0gKCk7CiAgICAgIHB1c2ggKEB0ZXhpX2RlcHMsICIke3NvdXRkaXJ9JHt2dGV4aX0i KSBpZiAkdnRleGk7CgogICAgICBteSAkY2Fub25pY2FsID0gY2Fub25pY2FsaXplICgkaW5m b2Jhc2UpOwogICAgICBpZiAodmFyICgkY2Fub25pY2FsIC4gIl9URVhJTkZPUyIpKQoJewoJ ICBwdXNoIChAdGV4aV9kZXBzLCAnJCgnIC4gJGNhbm9uaWNhbCAuICdfVEVYSU5GT1MpJyk7 CgkgIHB1c2hfZGlzdF9jb21tb24gKCckKCcgLiAkY2Fub25pY2FsIC4gJ19URVhJTkZPUykn KTsKCX0KCiAgICAgIG15ICgkZGlyc3RhbXAsIEBjZmlsZXMpID0KCW91dHB1dF90ZXhpbmZv X2J1aWxkX3J1bGVzICgkdGV4aSwgJG91dF9maWxlLCAkaW5zcmMsIEB0ZXhpX2RlcHMpOwog ICAgICBwdXNoIChAdGV4aV9jbGVhbnMsIEBjZmlsZXMpOwoKICAgICAgcHVzaCAoQGluZm9f ZGVwc19saXN0LCAkb3V0X2ZpbGUpOwoKICAgICAgIyBJZiBhIHZlcnMqLnRleGkgZmlsZSBp cyBuZWVkZWQsIGVtaXQgdGhlIHJ1bGUuCiAgICAgIGlmICgkdnRleGkpCgl7CgkgIGVycl9h bSAoIickdnRleGknLCBpbmNsdWRlZCBpbiAnJHRleGknLCAiCgkJICAuICJhbHNvIGluY2x1 ZGVkIGluICckdmVyc2lvbnN7JHZ0ZXhpfSciKQoJICAgIGlmIGRlZmluZWQgJHZlcnNpb25z eyR2dGV4aX07CgkgICR2ZXJzaW9uc3skdnRleGl9ID0gJHRleGk7CgoJICAjIFdlIG51bWJl ciB0aGUgc3RhbXAtdnRpIGZpbGVzLiAgVGhpcyBpcyBkb2FibGUgc2luY2UgdGhlCgkgICMg YWN0dWFsIG5hbWVzIGRvbid0IG1hdHRlciBtdWNoLiAgV2Ugb25seSBudW1iZXIgc3RhcnRp bmcKCSAgIyB3aXRoIHRoZSBzZWNvbmQgb25lLCBzbyB0aGF0IHRoZSBjb21tb24gY2FzZSBs b29rcyBuaWNlLgoJICBteSAkdnRpID0gKCRkb25lID8gJGRvbmUgOiAndnRpJyk7CgkgICsr JGRvbmU7CgoJICAjIFRoaXMgaXMgdWdseSwgYnV0IGl0IGlzIG91ciBoaXN0b3JpY2FsIHBy YWN0aWNlLgoJICBpZiAoJGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMpCgkg ICAgewoJICAgICAgcmVxdWlyZV9jb25mX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2luZm9f VEVYSU5GT1MnLCBGT1JFSUdOLAoJCQkJCSAgICAnbWRhdGUtc2gnKTsKCSAgICB9CgkgIGVs c2UKCSAgICB7CgkgICAgICByZXF1aXJlX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2luZm9f VEVYSU5GT1MnLAoJCQkJICAgICAgIEZPUkVJR04sICdtZGF0ZS1zaCcpOwoJICAgIH0KCgkg IG15ICRjb25mX2RpcjsKCSAgaWYgKCRjb25maWdfYXV4X2Rpcl9zZXRfaW5fY29uZmlndXJl X2FjKQoJICAgIHsKCSAgICAgICRjb25mX2RpciA9ICIkYW1fY29uZmlnX2F1eF9kaXIvIjsK CSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkY29uZl9kaXIgPSAnJChzcmNkaXIpLyc7 CgkgICAgfQoJICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCd0ZXhpLXZlcnMn LAoJCQkJCSAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCQkgIFRFWEkgICAgID0+ICR0 ZXhpLAoJCQkJCSAgVlRJICAgICAgPT4gJHZ0aSwKCQkJCQkgIFNUQU1QVlRJID0+ICIke3Nv dXRkaXJ9c3RhbXAtJHZ0aSIsCgkJCQkJICBWVEVYSSAgICA9PiAiJHNvdXRkaXIkdnRleGki LAoJCQkJCSAgTURESVIgICAgPT4gJGNvbmZfZGlyLAoJCQkJCSAgRElSU1RBTVAgPT4gJGRp cnN0YW1wKTsKCX0KICAgIH0KCiAgIyBIYW5kbGUgbG9jYXRpb24gb2YgdGV4aW5mby50ZXgu CiAgbXkgJG5lZWRfdGV4aV9maWxlID0gMDsKICBteSAkdGV4aW5mb2RpcjsKICBpZiAodmFy ICgnVEVYSU5GT19URVgnKSkKICAgIHsKICAgICAgIyBUaGUgdXNlciBkZWZpbmVkIFRFWElO Rk9fVEVYIHNvIGFzc3VtZSBoZSBrbm93cyB3aGF0IGhlIGlzCiAgICAgICMgZG9pbmcuCiAg ICAgICR0ZXhpbmZvZGlyID0gKCckKHNyY2RpcikvJwoJCSAgICAgLiBkaXJuYW1lICh2YXJp YWJsZV92YWx1ZSAoJ1RFWElORk9fVEVYJykpKTsKICAgIH0KICBlbHNpZiAoJGNvbmZpZ19h dXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMpCiAgICB7CiAgICAgICR0ZXhpbmZvZGlyID0g JGFtX2NvbmZpZ19hdXhfZGlyOwogICAgICBkZWZpbmVfdmFyaWFibGUgKCdURVhJTkZPX1RF WCcsICIkdGV4aW5mb2Rpci90ZXhpbmZvLnRleCIsIElOVEVSTkFMKTsKICAgICAgJG5lZWRf dGV4aV9maWxlID0gMjsgIyBzbyB0aGF0IHdlIHJlcXVpcmVfY29uZl9maWxlIGxhdGVyCiAg ICB9CiAgZWxzZQogICAgewogICAgICAkdGV4aW5mb2RpciA9ICckKHNyY2RpciknOwogICAg ICAkbmVlZF90ZXhpX2ZpbGUgPSAxOwogICAgfQogIGRlZmluZV92YXJpYWJsZSAoJ2FtX19U RVhJTkZPX1RFWF9ESVInLCAkdGV4aW5mb2RpciwgSU5URVJOQUwpOwoKICBwdXNoIChAZGlz dF90YXJnZXRzLCAnZGlzdC1pbmZvJyk7CgogIGlmICghIG9wdGlvbiAnbm8taW5zdGFsbGlu Zm8nKQogICAgewogICAgICAjIE1ha2Ugc3VyZSBkb2N1bWVudGF0aW9uIGlzIG1hZGUgYW5k IGluc3RhbGxlZCBmaXJzdC4gIFVzZQogICAgICAjICQoSU5GT19ERVBTKSwgbm90ICdpbmZv JywgYmVjYXVzZSBvdGhlcndpc2UgcmVjdXJzaXZlIG1ha2VzCiAgICAgICMgZ2V0IHJ1biB0 d2ljZSBkdXJpbmcgIm1ha2UgYWxsIi4KICAgICAgdW5zaGlmdCAoQGFsbCwgJyQoSU5GT19E RVBTKScpOwogICAgfQoKICBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCJEVklTIiwgQGluZm9i YXNlLCAnZHZpJywgSU5URVJOQUwpOwogIGRlZmluZV9maWxlc192YXJpYWJsZSAoIlBERlMi LCBAaW5mb2Jhc2UsICdwZGYnLCBJTlRFUk5BTCk7CiAgZGVmaW5lX2ZpbGVzX3ZhcmlhYmxl ICgiUFNTIiwgQGluZm9iYXNlLCAncHMnLCBJTlRFUk5BTCk7CiAgZGVmaW5lX2ZpbGVzX3Zh cmlhYmxlICgiSFRNTFMiLCBAaW5mb2Jhc2UsICdodG1sJywgSU5URVJOQUwpOwoKICAjIFRo aXMgbmV4dCBpc24ndCBzdHJpY3RseSBuZWVkZWQgbm93IC0tIHRoZSBwbGFjZXMgdGhhdCBs b29rIGhlcmUKICAjIGNvdWxkIGVhc2lseSBiZSBjaGFuZ2VkIHRvIGxvb2sgaW4gaW5mb19U RVhJTkZPUy4gIEJ1dCB0aGlzIGlzCiAgIyBwcm9iYWJseSBiZXR0ZXIsIGluIGNhc2Ugbm9p bnN0X1RFWElORk9TIGlzIGV2ZXIgc3VwcG9ydGVkLgogIGRlZmluZV92YXJpYWJsZSAoIlRF WElORk9TIiwgdmFyaWFibGVfdmFsdWUgKCdpbmZvX1RFWElORk9TJyksIElOVEVSTkFMKTsK CiAgIyBEbyBzb21lIGVycm9yIGNoZWNraW5nLiAgTm90ZSB0aGF0IHRoaXMgZmlsZSBpcyBu b3QgcmVxdWlyZWQKICAjIHdoZW4gaW4gQ3lnbnVzIG1vZGU7IGluc3RlYWQgd2UgZGVmaW5l ZCBURVhJTkZPX1RFWCBleHBsaWNpdGx5CiAgIyB1cCBhYm92ZS4KICBpZiAoJG5lZWRfdGV4 aV9maWxlICYmICEgb3B0aW9uICduby10ZXhpbmZvLnRleCcpCiAgICB7CiAgICAgIGlmICgk bmVlZF90ZXhpX2ZpbGUgPiAxKQoJewoJICByZXF1aXJlX2NvbmZfZmlsZV93aXRoX21hY3Jv IChUUlVFLCAnaW5mb19URVhJTkZPUycsIEZPUkVJR04sCgkJCQkJJ3RleGluZm8udGV4Jyk7 Cgl9CiAgICAgIGVsc2UKCXsKCSAgcmVxdWlyZV9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdp bmZvX1RFWElORk9TJywgRk9SRUlHTiwKCQkJCSAgICd0ZXhpbmZvLnRleCcpOwoJfQogICAg fQoKICByZXR1cm4gKG1ha2VmaWxlX3dyYXAgKCIiLCAiXHQgICIsIEBtb3N0bHlfY2xlYW5z KSwKCSAgbWFrZWZpbGVfd3JhcCAoIiIsICJcdCAgIiwgQHRleGlfY2xlYW5zKSwKCSAgbWFr ZWZpbGVfd3JhcCAoIiIsICJcdCAgIiwgQG1haW50X2NsZWFucykpOwp9CgoKc3ViIGhhbmRs ZV90ZXhpbmZvICgpCnsKICByZWplY3RfdmFyICdURVhJTkZPUycsICInVEVYSU5GT1MnIGlz IGFuIGFuYWNocm9uaXNtOyB1c2UgJ2luZm9fVEVYSU5GT1MnIjsKICAjIEZJWE1FOiBJIHRo aW5rIHRoaXMgaXMgYW4gb2Jzb2xldGUgZnV0dXJlIGZlYXR1cmUgbmFtZS4KICByZWplY3Rf dmFyICdodG1sX1RFWElORk9TJywgIkhUTUwgZ2VuZXJhdGlvbiBub3QgeWV0IHN1cHBvcnRl ZCI7CgogIG15ICRpbmZvX3RleGluZm9zID0gdmFyICgnaW5mb19URVhJTkZPUycpOwogIG15 ICgkbW9zdGx5Y2xlYW4sICRjbGVhbiwgJG1haW50Y2xlYW4pID0gKCcnLCAnJywgJycpOwog IGlmICgkaW5mb190ZXhpbmZvcykKICAgIHsKICAgICAgZGVmaW5lX3ZlcmJvc2VfdGV4aW5m bzsKICAgICAgKCRtb3N0bHljbGVhbiwgJGNsZWFuLCAkbWFpbnRjbGVhbikgPSBoYW5kbGVf dGV4aW5mb19oZWxwZXIgKCRpbmZvX3RleGluZm9zKTsKICAgICAgY2hvbXAgJG1vc3RseWNs ZWFuOwogICAgICBjaG9tcCAkY2xlYW47CiAgICAgIGNob21wICRtYWludGNsZWFuOwogICAg fQoKICAkb3V0cHV0X3J1bGVzIC49ICBmaWxlX2NvbnRlbnRzICgndGV4aW5mb3MnLAoJCQkJ ICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBTV9WX0RWSVBTICAgID0+IHZlcmJvc2VfZmxhZygnRFZJUFMnKSwKCQkJCSAg IE1PU1RMWUNMRUFOICAgPT4gJG1vc3RseWNsZWFuLAoJCQkJICAgVEVYSUNMRUFOICAgICA9 PiAkY2xlYW4sCgkJCQkgICBNQUlOVENMRUFOICAgID0+ICRtYWludGNsZWFuLAoJCQkJICAg J0xPQ0FMLVRFWElTJyA9PiAhISRpbmZvX3RleGluZm9zLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRFWElRVUlFVCAgICAgPT4gdmVyYm9zZV9mbGFnKCd0ZXhpbmZv JykpOwp9CgoKc3ViIGhhbmRsZV9tYW5fcGFnZXMgKCkKewogIHJlamVjdF92YXIgJ01BTlMn LCAiJ01BTlMnIGlzIGFuIGFuYWNocm9uaXNtOyB1c2UgJ21hbl9NQU5TJyI7CgogICMgRmlu ZCBhbGwgdGhlIHNlY3Rpb25zIGluIHVzZS4gIFdlIGRvIHRoaXMgYnkgZmlyc3QgbG9va2lu ZyBmb3IKICAjICJzdGFuZGFyZCIgc2VjdGlvbnMsIGFuZCB0aGVuIGxvb2tpbmcgZm9yIGFu eSBhZGRpdGlvbmFsCiAgIyBzZWN0aW9ucyB1c2VkIGluIG1hbl9NQU5TLgogIG15ICglc2Vj dGlvbnMsICVub3RyYW5zX3NlY3Rpb25zLCAldHJhbnNfc2VjdGlvbnMsCiAgICAgICVub3Ry YW5zX3ZhcnMsICV0cmFuc192YXJzLCAlbm90cmFuc19zZWN0X3ZhcnMsICV0cmFuc19zZWN0 X3ZhcnMpOwogICMgV2UgaGFuZGxlIG5vZGlzdF8gZm9yIHVuaWZvcm1pdHkuICBtYW4gcGFn ZXMgYXJlbid0IGRpc3RyaWJ1dGVkCiAgIyBieSBkZWZhdWx0IHNvIGl0IGlzbid0IGFjdHVh bGx5IHZlcnkgaW1wb3J0YW50LgogIGZvcmVhY2ggbXkgJG5wZnggKCcnLCAnbm90cmFuc18n KQogICAgewogICAgICBmb3JlYWNoIG15ICRwZnggKCcnLCAnZGlzdF8nLCAnbm9kaXN0Xycp Cgl7CgkgICMgQWRkIG1vcmUgc2VjdGlvbnMgYXMgbmVlZGVkLgoJICBmb3JlYWNoIG15ICRz ZWN0aW9uICgnMCcuLic5JywgJ24nLCAnbCcpCgkgICAgewoJICAgICAgbXkgJHZhcm5hbWUg PSAkbnBmeCAuICRwZnggLiAnbWFuJyAuICRzZWN0aW9uIC4gJ19NQU5TJzsKCSAgICAgIGlm ICh2YXIgKCR2YXJuYW1lKSkKCQl7CgkJICAkc2VjdGlvbnN7JHNlY3Rpb259ID0gMTsKCQkg ICR2YXJuYW1lID0gJyQoJyAuICR2YXJuYW1lIC4gJyknOwoJCSAgaWYgKCRucGZ4IGVxICdu b3RyYW5zXycpCgkJICAgIHsKCQkgICAgICAkbm90cmFuc19zZWN0aW9uc3skc2VjdGlvbn0g PSAxOwoJCSAgICAgICRub3RyYW5zX3NlY3RfdmFyc3skdmFybmFtZX0gPSAxOwoJCSAgICB9 CgkJICBlbHNlCgkJICAgIHsKCQkgICAgICAkdHJhbnNfc2VjdGlvbnN7JHNlY3Rpb259ID0g MTsKCQkgICAgICAkdHJhbnNfc2VjdF92YXJzeyR2YXJuYW1lfSA9IDE7CgkJICAgIH0KCgkJ ICBwdXNoX2Rpc3RfY29tbW9uICgkdmFybmFtZSkKCQkgICAgaWYgJHBmeCBlcSAnZGlzdF8n OwoJCX0KCSAgICB9CgoJICBteSAkdmFybmFtZSA9ICRucGZ4IC4gJHBmeCAuICdtYW5fTUFO Uyc7CgkgIG15ICR2YXIgPSB2YXIgKCR2YXJuYW1lKTsKCSAgaWYgKCR2YXIpCgkgICAgewoJ ICAgICAgZm9yZWFjaCAoJHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpCgkJewoJCSAg IyBBIHBhZ2UgbGlrZSAnZm9vLjFjJyBnb2VzIGludG8gbWFuMWRpci4KCQkgIGlmICgvXC4o WzAtOWEtel0pKFthLXpdKikkLykKCQkgICAgewoJCSAgICAgICRzZWN0aW9uc3skMX0gPSAx OwoJCSAgICAgIGlmICgkbnBmeCBlcSAnbm90cmFuc18nKQoJCQl7CgkJCSAgJG5vdHJhbnNf c2VjdGlvbnN7JDF9ID0gMTsKCQkJfQoJCSAgICAgIGVsc2UKCQkJewoJCQkgICR0cmFuc19z ZWN0aW9uc3skMX0gPSAxOwoJCQl9CgkJICAgIH0KCQl9CgoJICAgICAgJHZhcm5hbWUgPSAn JCgnIC4gJHZhcm5hbWUgLiAnKSc7CgkgICAgICBpZiAoJG5wZnggZXEgJ25vdHJhbnNfJykK CQl7CgkJICAkbm90cmFuc192YXJzeyR2YXJuYW1lfSA9IDE7CgkJfQoJICAgICAgZWxzZQoJ CXsKCQkgICR0cmFuc192YXJzeyR2YXJuYW1lfSA9IDE7CgkJfQoJICAgICAgcHVzaF9kaXN0 X2NvbW1vbiAoJHZhcm5hbWUpCgkJaWYgJHBmeCBlcSAnZGlzdF8nOwoJICAgIH0KCX0KICAg IH0KCiAgcmV0dXJuIHVubGVzcyAlc2VjdGlvbnM7CgogIG15IEB1bnNvcnRlZF9kZXBzOwoK ICAjIEJ1aWxkIHNlY3Rpb24gaW5kZXBlbmRlbnQgdmFyaWFibGVzLgogIG15ICRoYXZlX25v dHJhbnMgPSAlbm90cmFuc192YXJzOwogIG15IEBub3RyYW5zX2xpc3QgPSBzb3J0IGtleXMg JW5vdHJhbnNfdmFyczsKICBteSAkaGF2ZV90cmFucyA9ICV0cmFuc192YXJzOwogIG15IEB0 cmFuc19saXN0ID0gc29ydCBrZXlzICV0cmFuc192YXJzOwoKICAjIE5vdyBmb3IgZWFjaCBz ZWN0aW9uLCBnZW5lcmF0ZSBhbiBpbnN0YWxsIGFuZCB1bmluc3RhbGwgcnVsZS4KICAjIFNv cnQgc2VjdGlvbnMgc28gb3V0cHV0IGlzIGRldGVybWluaXN0aWMuCiAgZm9yZWFjaCBteSAk c2VjdGlvbiAoc29ydCBrZXlzICVzZWN0aW9ucykKICAgIHsKICAgICAgIyBCdWlsZCBzZWN0 aW9uIGRlcGVuZGVudCB2YXJpYWJsZXMuCiAgICAgIG15ICRub3RyYW5zX21hbnMgPSAkaGF2 ZV9ub3RyYW5zIHx8IGV4aXN0cyAkbm90cmFuc19zZWN0aW9uc3skc2VjdGlvbn07CiAgICAg IG15ICR0cmFuc19tYW5zID0gJGhhdmVfdHJhbnMgfHwgZXhpc3RzICR0cmFuc19zZWN0aW9u c3skc2VjdGlvbn07CiAgICAgIG15ICglbm90cmFuc190aGlzX3NlY3QsICV0cmFuc190aGlz X3NlY3QpOwogICAgICBteSAkZXhwciA9ICdtYW4nIC4gJHNlY3Rpb24gLiAnX01BTlMnOwog ICAgICBmb3JlYWNoIG15ICR2YXJuYW1lIChrZXlzICVub3RyYW5zX3NlY3RfdmFycykKCXsK CSAgaWYgKCR2YXJuYW1lID1+IC8kZXhwci8pCgkgICAgewoJICAgICAgJG5vdHJhbnNfdGhp c19zZWN0eyR2YXJuYW1lfSA9IDE7CgkgICAgfQoJfQogICAgICBmb3JlYWNoIG15ICR2YXJu YW1lIChrZXlzICV0cmFuc19zZWN0X3ZhcnMpCgl7CgkgIGlmICgkdmFybmFtZSA9fiAvJGV4 cHIvKQoJICAgIHsKCSAgICAgICR0cmFuc190aGlzX3NlY3R7JHZhcm5hbWV9ID0gMTsKCSAg ICB9Cgl9CiAgICAgIG15IEBub3RyYW5zX3NlY3RfbGlzdCA9IHNvcnQga2V5cyAlbm90cmFu c190aGlzX3NlY3Q7CiAgICAgIG15IEB0cmFuc19zZWN0X2xpc3QgPSBzb3J0IGtleXMgJXRy YW5zX3RoaXNfc2VjdDsKICAgICAgQHVuc29ydGVkX2RlcHMgPSAoa2V5cyAlbm90cmFuc192 YXJzLCBrZXlzICV0cmFuc192YXJzLAogICAgICAgICAgICAgICAgICAgICAgICBrZXlzICVu b3RyYW5zX3RoaXNfc2VjdCwga2V5cyAldHJhbnNfdGhpc19zZWN0KTsKICAgICAgbXkgQGRl cHMgPSBzb3J0IEB1bnNvcnRlZF9kZXBzOwogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVf Y29udGVudHMgKCdtYW5zJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNFQ1RJT04gICAgICAgICAgID0+ICRzZWN0aW9uLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERFUFMgICAgICAgICAgICAgID0+ICJAZGVwcyIs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9UUkFOU19NQU5TICAg ICAgPT4gJG5vdHJhbnNfbWFucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOT1RSQU5TX1NFQ1RfTElTVCA9PiAiQG5vdHJhbnNfc2VjdF9saXN0IiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQVZFX05PVFJBTlMgICAgICA9PiAk aGF2ZV9ub3RyYW5zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5P VFJBTlNfTElTVCAgICAgID0+ICJAbm90cmFuc19saXN0IiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUUkFOU19NQU5TICAgICAgICA9PiAkdHJhbnNfbWFucywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFOU19TRUNUX0xJU1Qg ICA9PiAiQHRyYW5zX3NlY3RfbGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSEFWRV9UUkFOUyAgICAgICAgPT4gJGhhdmVfdHJhbnMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBTlNfTElTVCAgICAgICAgPT4gIkB0cmFu c19saXN0Iik7CiAgICB9CgogIEB1bnNvcnRlZF9kZXBzICA9IChrZXlzICVub3RyYW5zX3Zh cnMsIGtleXMgJXRyYW5zX3ZhcnMsCiAgICAgICAgICAgICAgICAgICAgIGtleXMgJW5vdHJh bnNfc2VjdF92YXJzLCBrZXlzICV0cmFuc19zZWN0X3ZhcnMpOwogIG15IEBtYW5zID0gc29y dCBAdW5zb3J0ZWRfZGVwczsKICAkb3V0cHV0X3ZhcnMgLj0gZmlsZV9jb250ZW50cyAoJ21h bnMtdmFycycsCgkJCQkgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCSBNQU5TID0+ICJA bWFucyIpOwoKICBwdXNoIChAYWxsLCAnJChNQU5TKScpCiAgICB1bmxlc3Mgb3B0aW9uICdu by1pbnN0YWxsbWFuJzsKfQoKCnN1YiBoYW5kbGVfZGF0YSAoKQp7CiAgICBhbV9pbnN0YWxs X3ZhciAoJy1ub2V4dHJhJywgJy1jYW5kaXN0JywgJ2RhdGEnLCAnREFUQScsCiAgICAgICAg ICAgICAgICAgICAgJ2RhdGEnLCAnZGF0YXJvb3QnLCAnZG9jJywgJ2R2aScsICdodG1sJywg J3BkZicsCiAgICAgICAgICAgICAgICAgICAgJ3BzJywgJ3N5c2NvbmYnLCAnc2hhcmVkc3Rh dGUnLCAnbG9jYWxzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgJ3BrZ2RhdGEnLCAnbGlz cCcsICdub2luc3QnLCAnY2hlY2snKTsKfQoKCnN1YiBoYW5kbGVfdGFncyAoKQp7CiAgICBt eSBAY29uZmlnOwogICAgZm9yZWFjaCBteSAkc3BlYyAoQGNvbmZpZ19oZWFkZXJzKQogICAg ICB7CiAgICAgICAgbXkgKCRvdXQsIEBpbnMpID0gc3BsaXRfY29uZmlnX2ZpbGVfc3BlYyAo JHNwZWMpOwoJZm9yZWFjaCBteSAkaW4gKEBpbnMpCgkgIHsKICAgICAgICAgICAgIyBJZiB0 aGUgY29uZmlnIGhlYWRlciBzb3VyY2UgaXMgaW4gdGhpcyBkaXJlY3RvcnksCgkgICAgIyBy ZXF1aXJlIGl0LgoJICAgIHB1c2ggQGNvbmZpZywgYmFzZW5hbWUgKCRpbikKICAgICAgICAg ICAgICBpZiAkcmVsYXRpdmVfZGlyIGVxIGRpcm5hbWUgKCRpbik7CgkgICB9CiAgICAgIH0K CiAgICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fdGFnZ2VkX2ZpbGVzJywKICAgICAgICAgICAg ICAgICAgICAgJyQoSEVBREVSUykgJChTT1VSQ0VTKSAkKFRBR1NfRklMRVMpICQoTElTUCkn CiAgICAgICAgICAgICAgICAgICAgIC4gIiBAY29uZmlnIiwgSU5URVJOQUwpOwoKICAgIGlm IChydmFyKCdhbV9fdGFnZ2VkX2ZpbGVzJyktPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlCiAg ICAgICAgICB8fCB2YXIgKCdFVEFHU19BUkdTJykgfHwgdmFyICgnU1VCRElSUycpKQogICAg ICB7Cgkkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCd0YWdzJywgbmV3IEF1dG9t YWtlOjpMb2NhdGlvbik7CglzZXRfc2VlbiAnVEFHU19ERVBFTkRFTkNJRVMnOwogICAgICB9 CiAgICBlbHNlCiAgICAgIHsKICAgICAgICByZWplY3RfdmFyICgnVEFHU19ERVBFTkRFTkNJ RVMnLAoJCSAgICAiaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIGRlZmluZSAnVEFHU19ERVBF TkRFTkNJRVMnIgoJCSAgICAuICIgd2l0aG91dFxuc291cmNlcyBvciAnRVRBR1NfQVJHUyci KTsKCSMgRXZlcnkgTWFrZWZpbGUgbXVzdCBkZWZpbmUgc29tZSBzb3J0IG9mIFRBR1MgcnVs ZS4KCSMgT3RoZXJ3aXNlLCBpdCB3b3VsZCBiZSBwb3NzaWJsZSBmb3IgYSB0b3AtbGV2ZWwg Im1ha2UgVEFHUyIKCSMgdG8gZmFpbCBiZWNhdXNlIHNvbWUgc3ViZGlyZWN0b3J5IGZhaWxl ZC4gIERpdHRvIGN0YWdzIGFuZAogICAgICAgICMgY3Njb3BlLgogICAgICAgICRvdXRwdXRf cnVsZXMgLj0KICAgICAgICAgICJ0YWdzIFRBR1M6XG5cbiIgLgogICAgICAgICAgImN0YWdz IENUQUdTOlxuXG4iIC4KICAgICAgICAgICJjc2NvcGUgY3Njb3BlbGlzdDpcblxuIjsKICAg ICAgfQp9CgoKIyB1c2VyX3Bob255X3J1bGUgKCROQU1FKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiMgUmV0dXJuIGZhbHNlIGlmIHJ1bGUgJE5BTUUgZG9lcyBub3QgZXhpc3QuICBP dGhlcndpc2UsCiMgZGVjbGFyZSBpdCBhcyBwaG9ueSwgY29tcGxldGUgaXRzIGRlZmluaXRp b24gKGluIGNhc2UgaXQgaXMKIyBjb25kaXRpb25hbCksIGFuZCByZXR1cm4gaXRzIEF1dG9t YWtlOjpSdWxlIGluc3RhbmNlLgpzdWIgdXNlcl9waG9ueV9ydWxlCnsKICBteSAoJG5hbWUp ID0gQF87CiAgbXkgJHJ1bGUgPSBydWxlICRuYW1lOwogIGlmICgkcnVsZSkKICAgIHsKICAg ICAgZGVwZW5kICgnLlBIT05ZJywgJG5hbWUpOwogICAgICAjIERlZmluZSAkTkFNRSBpbiBh bGwgY29uZGl0aW9uIHdoZXJlIGl0IGlzIG5vdCBhbHJlYWR5IGRlZmluZWQsCiAgICAgICMg c28gdGhhdCBpdCBpcyBhbHdheXMgT0sgdG8gZGVwZW5kIG9uICROQU1FLgogICAgICBmb3Ig bXkgJGMgKCRydWxlLT5ub3RfYWx3YXlzX2RlZmluZWRfaW5fY29uZCAoVFJVRSktPmNvbmRz KQoJewoJICBBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgkbmFtZSwgJ2ludGVybmFsJywgUlVM RV9BVVRPTUFLRSwKCQkJCSAgJGMsIElOVEVSTkFMKTsKCSAgJG91dHB1dF9ydWxlcyAuPSAk Yy0+c3Vic3Rfc3RyaW5nIC4gIiRuYW1lOlxuIjsKCX0KICAgIH0KICByZXR1cm4gJHJ1bGU7 Cn0KCgojIEhhbmRsZSAnZGlzdCcgdGFyZ2V0LgpzdWIgaGFuZGxlX2Rpc3QgKCkKewogICMg U3Vic3RpdHV0aW9ucyBmb3IgZGlzdGRpci5hbQogIG15ICV0cmFuc2Zvcm07CgogICMgRGVm aW5lIERJU1RfU1VCRElSUy4gIFRoaXMgbXVzdCBhbHdheXMgYmUgZG9uZSwgcmVnYXJkbGVz cyBvZiB0aGUKICAjIG5vLWRpc3Qgc2V0dGluZzogdGFyZ2V0IGxpa2UgJ2Rpc3RjbGVhbicg b3IgJ21haW50YWluZXItY2xlYW4nIHVzZSBpdC4KICBteSAkc3ViZGlycyA9IHZhciAoJ1NV QkRJUlMnKTsKICBpZiAoJHN1YmRpcnMpCiAgICB7CiAgICAgICMgSWYgU1VCRElSUyBpcyBj b25kaXRpb25hbGx5IGRlZmluZWQsIHRoZW4gc2V0IERJU1RfU1VCRElSUwogICAgICAjIHRv IGFsbCBwb3NzaWJsZSBkaXJlY3RvcmllcywgYW5kIHVzZSBpdC4gIElmIERJU1RfU1VCRElS UyBpcwogICAgICAjIGRlZmluZWQsIGp1c3QgdXNlIGl0LgoKICAgICAgIyBOb3RlIHRoYXQg d2UgY2hlY2sgRElTVF9TVUJESVJTIGZpcnN0IG9uIHB1cnBvc2UsIHNvIHRoYXQKICAgICAg IyB3ZSBkb24ndCBjYWxsIGhhc19jb25kaXRpb25hbF9jb250ZW50cyBmb3Igbm93IHJlYXNv bi4KICAgICAgIyAoSW4gdGhlIHBhc3Qgb25lIHByb2plY3QgdXNlZCBzbyBtYW55IGNvbmRp dGlvbmFsIHN1YmRpcmVjdG9yaWVzCiAgICAgICMgdGhhdCBjYWxsaW5nIGhhc19jb25kaXRp b25hbF9jb250ZW50cyBvbiBTVUJESVJTIGNhdXNlZAogICAgICAjIGF1dG9tYWtlIHRvIGdy b3cgdG8gMTUwTWIgLS0gdGhpcyBzaG91bGQgbm90IGhhcHBlbiB3aXRoCiAgICAgICMgdGhl IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgaGFzX2NvbmRpdGlvbmFsX2NvbnRlbnRzLAog ICAgICAjIGJ1dCBpdCdzIG1vcmUgZWZmaWNpZW50IHRvIGF2b2lkIHRoZSBjYWxsIGFueXdh eS4pCiAgICAgIGlmICh2YXIgKCdESVNUX1NVQkRJUlMnKSkKCXsKCX0KICAgICAgZWxzaWYg KCRzdWJkaXJzLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCgl7CgkgIGRlZmluZV9wcmV0 dHlfdmFyaWFibGUKCSAgICAoJ0RJU1RfU1VCRElSUycsIFRSVUUsIElOVEVSTkFMLAoJICAg ICB1bmlxICgkc3ViZGlycy0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKTsKCX0KICAgICAg ZWxzZQoJewoJICAjIFdlIGFsd2F5cyBkZWZpbmUgdGhpcyBiZWNhdXNlIHRoYXQgaXMgd2hh dCAnZGlzdGNsZWFuJwoJICAjIHdhbnRzLgoJICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgn RElTVF9TVUJESVJTJywgVFJVRSwgSU5URVJOQUwsCgkJCQkgICckKFNVQkRJUlMpJyk7Cgl9 CiAgICB9CgogICMgVGhlIHJlbWFpbmluZyBkZWZpbml0aW9ucyBhcmUgb25seSByZXF1aXJl ZCB3aGVuIGEgZGlzdCB0YXJnZXQgaXMgdXNlZC4KICByZXR1cm4gaWYgb3B0aW9uICduby1k aXN0JzsKCiAgIyBBdCBsZWFzdCBvbmUgb2YgdGhlIGFyY2hpdmUgZm9ybWF0cyBtdXN0IGJl IGVuYWJsZWQuCiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQogICAgewogICAgICBteSAk YXJjaGl2ZV9kZWZpbmVkID0gb3B0aW9uICduby1kaXN0LWd6aXAnID8gMCA6IDE7CiAgICAg ICRhcmNoaXZlX2RlZmluZWQgfHw9CglncmVwIHsgb3B0aW9uICJkaXN0LSRfIiB9IHF3KHNo YXIgemlwIHRhclogYnppcDIgbHppcCB4eiB6c3RkKTsKICAgICAgZXJyb3IgKG9wdGlvbiAn bm8tZGlzdC1nemlwJywKCSAgICAgIm5vLWRpc3QtZ3ppcCBzcGVjaWZpZWQgYnV0IG5vIGRp c3QtKiBzcGVjaWZpZWQsXG4iCgkgICAgIC4gImF0IGxlYXN0IG9uZSBhcmNoaXZlIGZvcm1h dCBtdXN0IGJlIGVuYWJsZWQiKQoJdW5sZXNzICRhcmNoaXZlX2RlZmluZWQ7CiAgICB9Cgog ICMgTG9vayBmb3IgY29tbW9uIGZpbGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIGRp c3RyaWJ1dGlvbi4KICAjIElmIHRoZSBhdXggZGlyIGlzIHNldCwgYW5kIGl0IGRvZXMgbm90 IGhhdmUgYSBNYWtlZmlsZS5hbSwgdGhlbgogICMgd2UgY2hlY2sgZm9yIHRoZXNlIGZpbGVz IHRoZXJlIGFzIHdlbGwuCiAgbXkgJGNoZWNrX2F1eCA9IDA7CiAgaWYgKCRyZWxhdGl2ZV9k aXIgZXEgJy4nCiAgICAgICYmICRjb25maWdfYXV4X2Rpcl9zZXRfaW5fY29uZmlndXJlX2Fj KQogICAgewogICAgICBpZiAoISBpc19tYWtlX2RpciAoJGNvbmZpZ19hdXhfZGlyKSkKCXsK CSAgJGNoZWNrX2F1eCA9IDE7Cgl9CiAgICB9CiAgZm9yZWFjaCBteSAkY2ZpbGUgKEBjb21t b25fZmlsZXMpCiAgICB7CiAgICAgIGlmIChkaXJfaGFzX2Nhc2VfbWF0Y2hpbmdfZmlsZSAo JHJlbGF0aXZlX2RpciwgJGNmaWxlKQoJICAjIFRoZSBmaWxlIG1pZ2h0IGJlIGFic2VudCwg YnV0IGlmIGl0IGNhbiBiZSBidWlsdCBpdCdzIG9rLgoJICB8fCBydWxlICRjZmlsZSkKCXsK CSAgcHVzaF9kaXN0X2NvbW1vbiAoJGNmaWxlKTsKCX0KCiAgICAgICMgRG9uJ3QgdXNlICdl bHNpZicgaGVyZSBiZWNhdXNlIGEgZmlsZSBtaWdodCBtZWFuaW5nZnVsbHkKICAgICAgIyBh cHBlYXIgaW4gYm90aCBkaXJlY3Rvcmllcy4KICAgICAgaWYgKCRjaGVja19hdXggJiYgZGly X2hhc19jYXNlX21hdGNoaW5nX2ZpbGUgKCRjb25maWdfYXV4X2RpciwgJGNmaWxlKSkKCXsK CSAgcHVzaF9kaXN0X2NvbW1vbiAoIiRjb25maWdfYXV4X2Rpci8kY2ZpbGUiKQoJfQogICAg fQoKICAjIFdlIG1pZ2h0IGNvcHkgZWxlbWVudHMgZnJvbSBAY29uZmlndXJlX2Rpc3RfY29t bW9uIHRvCiAgIyBAZGlzdF9jb21tb24gaWYgd2UgdGhpbmsgd2UgbmVlZCB0by4gIElmIHRo ZSBmaWxlIGFwcGVhcnMgaW4gb3VyCiAgIyBkaXJlY3RvcnksIHdlIHdvdWxkIGhhdmUgZGlz Y292ZXJlZCBpdCBhbHJlYWR5LCBzbyB3ZSBkb24ndAogICMgY2hlY2sgdGhhdC4gIEJ1dCBp ZiB0aGUgZmlsZSBpcyBpbiBhIHN1YmRpciB3aXRob3V0IGEgTWFrZWZpbGUsCiAgIyB3ZSB3 YW50IHRvIGRpc3RyaWJ1dGUgaXQgaGVyZSBpZiB3ZSBhcmUgZG9pbmcgJy4nLiAgVWdseSEK ICAjIEFsc28sIGluIHNvbWUgY29ybmVyIGNhc2VzLCBpdCdzIHBvc3NpYmxlIHRoYXQgdGhl IGZvbGxvd2luZyBjb2RlCiAgIyB3aWxsIGNhdXNlIHRoZSBzYW1lIGZpbGUgdG8gYXBwZWFy IGluIHRoZSAkKERJU1RfQ09NTU9OKSB2YXJpYWJsZXMKICAjIG9mIHR3byBkaXN0aW5jdCBN YWtlZmlsZXM7IGJ1dCB0aGlzIGlzIG5vdCBhIHByb2JsZW0sIHNpbmNlIHRoZQogICMgJ2Rp c3RkaXInIHRhcmdldCBpbiAnbGliL2FtL2Rpc3RkaXIuYW0nIGNhbiBkZWFsIHdpdGggdGhl IHNhbWUKICAjIGZpbGUgYmVpbmcgZGlzdHJpYnV0ZWQgbXVsdGlwbGUgdGltZXMuCiAgIyBT ZWUgYWxzbyBhdXRvbWFrZSBidWcjOTY1MS4KICBpZiAoJHJlbGF0aXZlX2RpciBlcSAnLicp CiAgICB7CiAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBjb25maWd1cmVfZGlzdF9jb21tb24p Cgl7CgkgIG15ICRkaXIgPSBkaXJuYW1lICgkZmlsZSk7CgkgIHB1c2hfZGlzdF9jb21tb24g KCRmaWxlKQoJICAgIGlmICgkZGlyIGVxICcuJyB8fCAhIGlzX21ha2VfZGlyICgkZGlyKSk7 Cgl9CiAgICAgIEBjb25maWd1cmVfZGlzdF9jb21tb24gPSAoKTsKICAgIH0KCiAgIyAkKGFt X19ESVNUX0NPTU1PTik6IGZpbGVzIHRvIGJlIGRpc3RyaWJ1dGVkIGF1dG9tYXRpY2FsbHku ICBXaWxsIGJlCiAgIyBhcHBlbmRlZCB0byAkKERJU1RfQ09NTU9OKSBpbiB0aGUgZ2VuZXJh dGVkIE1ha2VmaWxlLgogICMgVXNlICdzb3J0JyBzbyB0aGF0IHRoZSBleHBhbnNpb24gb2Yg JChESVNUX0NPTU1PTikgaW4gdGhlIGdlbmVyYXRlZAogICMgTWFrZWZpbGUgaXMgZGV0ZXJt aW5pc3RpYywgaW4gZmFjZSBvZiBtNCBhbmQvb3IgcGVybCByYW5kb21pemF0aW9ucwogICMg KHNlZSBhdXRvbWFrZSBidWcjMTc5MDgpLgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdh bV9fRElTVF9DT01NT04nLCBUUlVFLCBJTlRFUk5BTCwKICAgICAgICAgICAgICAgICAgICAg ICAgICB1bmlxIChzb3J0IEBkaXN0X2NvbW1vbikpOwoKICAjIE5vdyB0aGF0IHdlJ3ZlIHBy b2Nlc3NlZCBAZGlzdF9jb21tb24sIGRpc2FsbG93IGZ1cnRoZXIgYXR0ZW1wdHMKICAjIHRv IG1vZGlmeSBpdC4KICAkaGFuZGxlX2Rpc3RfcnVuID0gMTsKCiAgJHRyYW5zZm9ybXsnRElT VENIRUNLLUhPT0snfSA9ICEhIHJ1bGUgJ2Rpc3RjaGVjay1ob29rJzsKICAkdHJhbnNmb3Jt eydHRVRURVhUJ30gPSAkc2Vlbl9nZXR0ZXh0ICYmICEkc2Vlbl9nZXR0ZXh0X2V4dGVybmFs OwoKICAjIElmIHRoZSB0YXJnZXQgJ2Rpc3QtaG9vaycgZXhpc3RzLCBtYWtlIHN1cmUgaXQg aXMgcnVuLiAgVGhpcwogICMgYWxsb3dzIHVzZXJzIHRvIGRvIHJhbmRvbSB3ZWlyZCB0aGlu Z3MgdG8gdGhlIGRpc3RyaWJ1dGlvbgogICMgYmVmb3JlIGl0IGlzIHBhY2thZ2VkIHVwLgog IHB1c2ggKEBkaXN0X3RhcmdldHMsICdkaXN0LWhvb2snKQogICAgaWYgdXNlcl9waG9ueV9y dWxlICdkaXN0LWhvb2snOwogICR0cmFuc2Zvcm17J0RJU1QtVEFSR0VUUyd9ID0gam9pbiAo JyAnLCBAZGlzdF90YXJnZXRzKTsKCiAgbXkgJGZsbSA9IG9wdGlvbiAoJ2ZpbGVuYW1lLWxl bmd0aC1tYXgnKTsKICBteSAkZmlsZW5hbWVfZmlsdGVyID0gJGZsbSA/ICcuJyB4ICRmbG0t PlsxXSA6ICcnOwoKICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdkaXN0ZGly JywKCQkJCSAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCSAgJXRyYW5zZm9ybSwKCQkJ CSAgRklMRU5BTUVfRklMVEVSID0+ICRmaWxlbmFtZV9maWx0ZXIpOwp9CgoKIyBjaGVja19k aXJlY3RvcnkgKCROQU1FLCAkV0hFUkUgWywgJFJFTEFUSVZFX0RJUiA9ICIuIl0pCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IEVuc3VyZSAkTkFNRSBpcyBhIGRpcmVjdG9yeSAoaW4gJFJFTEFUSVZFX0RJUiksIGFuZCB0 aGF0IGl0IHVzZXMgYSBzYW5lCiMgbmFtZS4gIFVzZSAkV0hFUkUgYXMgYSBsb2NhdGlvbiBp biB0aGUgZGlhZ25vc3RpYywgaWYgYW55LgpzdWIgY2hlY2tfZGlyZWN0b3J5CnsKICBteSAo JGRpciwgJHdoZXJlLCAkcmVsZGlyKSA9IEBfOwogICRyZWxkaXIgPSAnLicgdW5sZXNzIGRl ZmluZWQgJHJlbGRpcjsKCiAgZXJyb3IgJHdoZXJlLCAicmVxdWlyZWQgZGlyZWN0b3J5ICRy ZWxkaXIvJGRpciBkb2VzIG5vdCBleGlzdCIKICAgIHVubGVzcyAtZCAiJHJlbGRpci8kZGly IjsKCiAgIyBJZiBhbiAnb2JqLycgZGlyZWN0b3J5IGV4aXN0cywgQlNEIG1ha2Ugd2lsbCBl bnRlciBpdCBiZWZvcmUKICAjIHJlYWRpbmcgJ01ha2VmaWxlJy4gIEhlbmNlIHRoZSAnTWFr ZWZpbGUnIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeQogICMgd2lsbCBub3QgYmUgcmVhZC4K ICAjCiAgIyAgJSBjYXQgTWFrZWZpbGUKICAjICBhbGw6CiAgIyAgICAgICAgICBlY2hvIEhl bGxvCiAgIyAgJSBjYXQgb2JqL01ha2VmaWxlCiAgIyAgYWxsOgogICMgICAgICAgICAgZWNo byBXb3JsZAogICMgICUgbWFrZSAgICAgICMgR05VIG1ha2UKICAjICBlY2hvIEhlbGxvCiAg IyAgSGVsbG8KICAjICAlIHBtYWtlICAgICAjIEJTRCBtYWtlCiAgIyAgZWNobyBXb3JsZAog ICMgIFdvcmxkCiAgbXNnICgncG9ydGFiaWxpdHknLCAkd2hlcmUsCiAgICAgICAibmFtaW5n IGEgc3ViZGlyZWN0b3J5ICdvYmonIGNhdXNlcyB0cm91YmxlcyB3aXRoIEJTRCBtYWtlIikK ICAgIGlmICRkaXIgZXEgJ29iaic7CgogICMgJ2F1eCcgaXMgcHJvYmFibHkgdGhlIG1vc3Qg aW1wb3J0YW50IG9mIHRoZSBmb2xsb3dpbmcgZm9yYmlkZGVuIG5hbWUsCiAgIyBzaW5jZSBp dCdzIHRlbXB0aW5nIHRvIHVzZSBpdCBhcyBhbiBBQ19DT05GSUdfQVVYX0RJUi4KICBtc2cg KCdwb3J0YWJpbGl0eScsICR3aGVyZSwKICAgICAgICJuYW1lICckZGlyJyBpcyByZXNlcnZl ZCBvbiBXMzIgYW5kIERPUyBwbGF0Zm9ybXMiKQogICAgaWYgZ3JlcCAoL15cUSRkaXJcRSQv aSwgcXcvYXV4IGxwdDEgbHB0MiBscHQzIGNvbTEgY29tMiBjb20zIGNvbTQgY29uIHBybi8p Owp9CgojIGNoZWNrX2RpcmVjdG9yaWVzX2luX3ZhciAoJFZBUklBQkxFKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlY3Vyc2l2ZWx5IGNoZWNrIGFsbCBp dGVtcyBpbiB2YXJpYWJsZXMgJFZBUklBQkxFIGFzIGRpcmVjdG9yaWVzCnN1YiBjaGVja19k aXJlY3Rvcmllc19pbl92YXIKewogIG15ICgkdmFyKSA9IEBfOwogICR2YXItPnRyYXZlcnNl X3JlY3Vyc2l2ZWx5CiAgICAoc3ViCiAgICAgewogICAgICAgbXkgKCR2YXIsICR2YWwsICRj b25kLCAkZnVsbF9jb25kKSA9IEBfOwogICAgICAgY2hlY2tfZGlyZWN0b3J5ICgkdmFsLCAk dmFyLT5yZGVmICgkY29uZCktPmxvY2F0aW9uLCAkcmVsYXRpdmVfZGlyKTsKICAgICAgIHJl dHVybiAoKTsKICAgICB9LAogICAgIHVuZGVmLAogICAgIHNraXBfYWNfc3Vic3QgPT4gMSk7 Cn0KCgpzdWIgaGFuZGxlX3N1YmRpcnMgKCkKewogIG15ICRzdWJkaXJzID0gdmFyICgnU1VC RElSUycpOwogIHJldHVybgogICAgdW5sZXNzICRzdWJkaXJzOwoKICBjaGVja19kaXJlY3Rv cmllc19pbl92YXIgJHN1YmRpcnM7CgogIG15ICRkc3ViZGlycyA9IHZhciAoJ0RJU1RfU1VC RElSUycpOwogIGNoZWNrX2RpcmVjdG9yaWVzX2luX3ZhciAkZHN1YmRpcnMKICAgIGlmICRk c3ViZGlyczsKCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnc3ViZGlycycs IG5ldyBBdXRvbWFrZTo6TG9jYXRpb24pOwogIHJ2YXIgKCdSRUNVUlNJVkVfVEFSR0VUUycp LT5yZGVmIChUUlVFKS0+eydwcmV0dHknfSA9IFZBUl9TT1JURUQ7ICMgR3Jvc3MhCn0KCgoj ICgkUkVHRU4sIEBERVBFTkRFTkNJRVMpCiMgc2Nhbl9hY2xvY2FsX200CiMgLS0tLS0tLS0t LS0tLS0tCiMgSWYgYWNsb2NhbC5tNCBjcmVhdGlvbiBpcyBhdXRvbWF0ZWQsIHJldHVybiB0 aGUgbGlzdCBvZiBpdHMgZGVwZW5kZW5jaWVzLgpzdWIgc2Nhbl9hY2xvY2FsX200ICgpCnsK ICBteSAkcmVnZW5fYWNsb2NhbCA9IDA7CgogIHNldF9zZWVuICdDT05GSUdfU1RBVFVTX0RF UEVOREVOQ0lFUyc7CiAgc2V0X3NlZW4gJ0NPTkZJR1VSRV9ERVBFTkRFTkNJRVMnOwoKICBp ZiAoLWYgJ2FjbG9jYWwubTQnKQogICAgewogICAgICBkZWZpbmVfdmFyaWFibGUgKCJBQ0xP Q0FMX000IiwgJyQodG9wX3NyY2RpcikvYWNsb2NhbC5tNCcsIElOVEVSTkFMKTsKCiAgICAg IG15ICRhY2xvY2FsID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAiPCBhY2xvY2FsLm00IjsKICAg ICAgbXkgJGxpbmUgPSAkYWNsb2NhbC0+Z2V0bGluZTsKICAgICAgJHJlZ2VuX2FjbG9jYWwg PSAkbGluZSA9fiAnZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgYWNsb2NhbCc7CiAgICB9 CgogIG15IEBhY19kZXBzID0gKCk7CgogIGlmIChzZXRfc2VlbiAoJ0FDTE9DQUxfTTRfU09V UkNFUycpKQogICAgewogICAgICBwdXNoIChAYWNfZGVwcywgJyQoQUNMT0NBTF9NNF9TT1VS Q0VTKScpOwogICAgICBtc2dfdmFyICgnb2Jzb2xldGUnLCAnQUNMT0NBTF9NNF9TT1VSQ0VT JywKCSAgICAgICAiJ0FDTE9DQUxfTTRfU09VUkNFUycgaXMgb2Jzb2xldGUuXG4iCgkgICAg ICAgLiAiSXQgc2hvdWxkIGJlIHNhZmUgdG8gc2ltcGx5IHJlbW92ZSBpdCIpOwogICAgfQoK ICAjIE5vdGUgdGhhdCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0aGF0IGFjbG9jYWwubTQgZG9l c24ndCBleGlzdCBidXQKICAjIHNob3VsZCBiZSBhdXRvLWdlbmVyYXRlZC4gIFRoaXMgY2Fz ZSBwcm9iYWJseSBpc24ndCB2ZXJ5CiAgIyBpbXBvcnRhbnQuCgogIHJldHVybiAoJHJlZ2Vu X2FjbG9jYWwsIEBhY19kZXBzKTsKfQoKCiMgSGVscGVyIGZ1bmN0aW9uIGZvciAnc3Vic3Rp dHV0ZV9hY19zdWJzdF92YXJpYWJsZXMnLgpzdWIgc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJp YWJsZXNfd29ya2VyCnsKICBteSAoJHRva2VuKSA9IEBfOwogIHJldHVybiAiXEAkdG9rZW5c QCIgaWYgdmFyICR0b2tlbjsKICByZXR1cm4gIlwkeyR0b2tlblx9IjsKfQoKIyBzdWJzdGl0 dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcyAoJFRFWFQpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQojIFJlcGxhY2UgYW55IG9jY3VycmVuY2Ugb2YgJHtGT099IGlu ICRURVhUIGJ5IEBGT09AIGlmIEZPTyBpcyBhbiBBQ19TVUJTVAojIHZhcmlhYmxlLgpzdWIg c3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMKewogIG15ICgkdGV4dCkgPSBAXzsKICAk dGV4dCA9fiBzL1wkW3tdKFteIFx0PTore31dKyl9L3N1YnN0aXR1dGVfYWNfc3Vic3RfdmFy aWFibGVzX3dvcmtlciAoJDEpL2dlOwogIHJldHVybiAkdGV4dDsKfQoKIyBAREVQRU5ERU5D SUVTCiMgcHJlcGVuZF9zcmNkaXIgKEBJTlBVVFMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiMgUHJlcGVuZCAkKHNyY2Rpcikgb3IgJCh0b3Bfc3JjZGlyKSB0byBhbGwgQElOUFVU Uy4gIFRoZSBpZGVhIGlzIHRoYXQKIyBpZiBhbiBpbnB1dCBmaWxlIGhhcyBhIGRpcmVjdG9y eSBwYXJ0IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50CiMgZGlyZWN0b3J5LCB0aGVuIHRoZSBk aXJlY3RvcnkgcGFydCBpcyBzaW1wbHkgcmVwbGFjZWQgYnkgJChzcmNkaXIpLgojIEJ1dCBp ZiB0aGUgZGlyZWN0b3J5IHBhcnQgaXMgZGlmZmVyZW50LCB0aGVuICQodG9wX3NyY2Rpcikg aXMKIyBwcmVwZW5kZWQuCnN1YiBwcmVwZW5kX3NyY2Rpcgp7CiAgbXkgKEBpbnB1dHMpID0g QF87CiAgbXkgQG5ld2lucHV0czsKCiAgZm9yZWFjaCBteSAkc2luZ2xlIChAaW5wdXRzKQog ICAgewogICAgICBpZiAoZGlybmFtZSAoJHNpbmdsZSkgZXEgJHJlbGF0aXZlX2RpcikKCXsK CSAgcHVzaCAoQG5ld2lucHV0cywgJyQoc3JjZGlyKS8nIC4gYmFzZW5hbWUgKCRzaW5nbGUp KTsKCX0KICAgICAgZWxzZQoJewoJICBwdXNoIChAbmV3aW5wdXRzLCAnJCh0b3Bfc3JjZGly KS8nIC4gJHNpbmdsZSk7Cgl9CiAgICB9CiAgcmV0dXJuIEBuZXdpbnB1dHM7Cn0KCiMgQERF UEVOREVOQ0lFUwojIHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5kZW5jaWVzICgkT1VUUFVU LCBASU5QVVRTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIENvbXB1dGUgYSBsaXN0IG9mIGRlcGVuZGVuY2llcyBhcHByb3ByaWF0 ZSBmb3IgdGhlIHJlYnVpbGQKIyBydWxlIG9mCiMgICBBQ19DT05GSUdfRklMRVMoJE9VVFBV VDokSU5QVVRbMF06JElOUFVUU1sxXTouLi4pCiMgQWxzbyBkaXN0cmlidXRlICRJTlBVVHMg d2hpY2ggYXJlIG5vdCBidWlsdCBieSBhbm90aGVyIEFDX0NPTkZJR19GT09zLgpzdWIgcmV3 cml0ZV9pbnB1dHNfaW50b19kZXBlbmRlbmNpZXMKewogIG15ICgkZmlsZSwgQGlucHV0cykg PSBAXzsKICBteSBAcmVzID0gKCk7CgogIGZvciBteSAkaSAoQGlucHV0cykKICAgIHsKICAg ICAgIyBXZSBjYW5ub3QgY3JlYXRlIGRlcGVuZGVuY2llcyBvbiBzaGVsbCB2YXJpYWJsZXMu CiAgICAgIG5leHQgaWYgKHN1YnN0aXR1dGVfYWNfc3Vic3RfdmFyaWFibGVzICRpKSA9fiAv XCQvOwoKICAgICAgaWYgKGV4aXN0cyAkYWNfY29uZmlnX2ZpbGVzX2xvY2F0aW9ueyRpfSAm JiAkaSBuZSAkZmlsZSkKCXsKCSAgbXkgJGRpID0gZGlybmFtZSAkaTsKCSAgaWYgKCRkaSBl cSAkcmVsYXRpdmVfZGlyKQoJICAgIHsKCSAgICAgICRpID0gYmFzZW5hbWUgJGk7CgkgICAg fQoJICAjIEluIHRoZSB0b3AtbGV2ZWwgTWFrZWZpbGUgd2UgZG8gbm90IHVzZSAkKHRvcF9i dWlsZGRpciksIGJlY2F1c2UKCSAgIyB3ZSBhcmUgYWxyZWFkeSB0aGVyZSwgYW5kIHNpbmNl IHRoZSB0YXJnZXRzIGFyZSBidWlsdCB3aXRob3V0CgkgICMgYSAkKHRvcF9idWlsZGRpciks IGl0IGhlbHBzIEJTRCBNYWtlIHRvIG1hdGNoIHRoZW0gd2l0aAoJICAjIGRlcGVuZGVuY2ll cy4KCSAgZWxzaWYgKCRyZWxhdGl2ZV9kaXIgbmUgJy4nKQoJICAgIHsKCSAgICAgICRpID0g JyQodG9wX2J1aWxkZGlyKS8nIC4gJGk7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgIG1z ZyAoJ2Vycm9yJywgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZmlsZX0sCgkgICAgICAg InJlcXVpcmVkIGZpbGUgJyRpJyBub3QgZm91bmQiKQoJICAgIHVubGVzcyAkaSA9fiAvXCQv IHx8IGV4aXN0cyAkb3V0cHV0X2ZpbGVzeyRpfSB8fCAtZiAkaTsKCSAgKCRpKSA9IHByZXBl bmRfc3JjZGlyICgkaSk7CgkgIHB1c2hfZGlzdF9jb21tb24gKCRpKTsKCX0KICAgICAgcHVz aCBAcmVzLCAkaTsKICAgIH0KICByZXR1cm4gQHJlczsKfQoKCgojIGhhbmRsZV9jb25maWd1 cmUgKCRNQUtFRklMRV9BTSwgJE1BS0VGSUxFX0lOLCAkTUFLRUZJTEUsIEBJTlBVVFMpCiMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBIYW5kbGUgcmVtYWtpbmcgYW5kIGNvbmZpZ3VyZSBzdHVmZi4KIyBX ZSBuZWVkIHRoZSBuYW1lIG9mIHRoZSBpbnB1dCBmaWxlLCB0byBkbyBwcm9wZXIgcmVtYWtp bmcgcnVsZXMuCnN1YiBoYW5kbGVfY29uZmlndXJlCnsKICBteSAoJG1ha2VmaWxlX2FtLCAk bWFrZWZpbGVfaW4sICRtYWtlZmlsZSwgQGlucHV0cykgPSBAXzsKCiAgcHJvZ19lcnJvciAn ZW1wdHkgQGlucHV0cycKICAgIHVubGVzcyBAaW5wdXRzOwoKICBteSAoJHJlbF9tYWtlZmls ZV9hbSwgJHJlbF9tYWtlZmlsZV9pbikgPSBwcmVwZW5kX3NyY2RpciAoJG1ha2VmaWxlX2Ft LAoJCQkJCQkJICAgICRtYWtlZmlsZV9pbik7CiAgbXkgJHJlbF9tYWtlZmlsZSA9IGJhc2Vu YW1lICRtYWtlZmlsZTsKCiAgbXkgJGNvbG9uX2luZmlsZSA9ICc6JyAuIGpvaW4gKCc6Jywg QGlucHV0cyk7CiAgJGNvbG9uX2luZmlsZSA9ICcnIGlmICRjb2xvbl9pbmZpbGUgZXEgIjok bWFrZWZpbGUuaW4iOwogIG15IEByZXdyaXR0ZW4gPSByZXdyaXRlX2lucHV0c19pbnRvX2Rl cGVuZGVuY2llcyAoJG1ha2VmaWxlLCBAaW5wdXRzKTsKICBteSAoJHJlZ2VuX2FjbG9jYWxf bTQsIEBhY2xvY2FsX200X2RlcHMpID0gc2Nhbl9hY2xvY2FsX200OwogIGRlZmluZV9wcmV0 dHlfdmFyaWFibGUgKCdhbV9fYWNsb2NhbF9tNF9kZXBzJywgVFJVRSwgSU5URVJOQUwsCgkJ CSAgQGNvbmZpZ3VyZV9kZXBzLCBAYWNsb2NhbF9tNF9kZXBzLAoJCQkgICckKHRvcF9zcmNk aXIpLycgLiAkY29uZmlndXJlX2FjKTsKICBteSBAY29uZmlndXJlZGVwcyA9ICgnJChhbV9f YWNsb2NhbF9tNF9kZXBzKScsICckKENPTkZJR1VSRV9ERVBFTkRFTkNJRVMpJyk7CiAgcHVz aCBAY29uZmlndXJlZGVwcywgJyQoQUNMT0NBTF9NNCknIGlmIC1mICdhY2xvY2FsLm00JzsK ICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnYW1fX2NvbmZpZ3VyZV9kZXBzJywgVFJVRSwg SU5URVJOQUwsCgkJCSAgQGNvbmZpZ3VyZWRlcHMpOwoKICBteSAkYXV0b21ha2Vfb3B0aW9u cyA9ICctLScgLiAkc3RyaWN0bmVzc19uYW1lIC4KCQkJIChnbG9iYWxfb3B0aW9uICduby1k ZXBlbmRlbmNpZXMnID8gJyAtLWlnbm9yZS1kZXBzJyA6ICcnKTsKCiAgJG91dHB1dF9ydWxl cyAuPSBmaWxlX2NvbnRlbnRzCiAgICAoJ2NvbmZpZ3VyZScsCiAgICAgbmV3IEF1dG9tYWtl OjpMb2NhdGlvbiwKICAgICBNQUtFRklMRSAgICAgICAgICAgICAgPT4gJHJlbF9tYWtlZmls ZSwKICAgICAnTUFLRUZJTEUtREVQUycgICAgICAgPT4gIkByZXdyaXR0ZW4iLAogICAgICdD T05GSUctTUFLRUZJTEUnICAgICA9PiAoJHJlbGF0aXZlX2RpciBlcSAnLicpID8gJyRAJyA6 ICckKHN1YmRpcikvJEAnLAogICAgICdNQUtFRklMRS1JTicgICAgICAgICA9PiAkcmVsX21h a2VmaWxlX2luLAogICAgICdIQVZFLU1BS0VGSUxFLUlOLURFUFMnID0+IChAaW5jbHVkZV9z dGFjayA+IDApLAogICAgICdNQUtFRklMRS1JTi1ERVBTJyAgICA9PiAiQGluY2x1ZGVfc3Rh Y2siLAogICAgICdNQUtFRklMRS1BTScgICAgICAgICA9PiAkcmVsX21ha2VmaWxlX2FtLAog ICAgICdBVVRPTUFLRS1PUFRJT05TJyAgICA9PiAkYXV0b21ha2Vfb3B0aW9ucywKICAgICAn TUFLRUZJTEUtQU0tU09VUkNFUycgPT4gIiRtYWtlZmlsZSRjb2xvbl9pbmZpbGUiLAogICAg ICdSRUdFTi1BQ0xPQ0FMLU00JyAgICA9PiAkcmVnZW5fYWNsb2NhbF9tNCwKICAgICBWRVJC T1NFICAgICAgICAgICAgICAgPT4gdmVyYm9zZV9mbGFnICgnR0VOJykpOwoKICBpZiAoJHJl bGF0aXZlX2RpciBlcSAnLicpCiAgICB7CiAgICAgIHB1c2hfZGlzdF9jb21tb24gKCdhY2Nv bmZpZy5oJykKCWlmIC1mICdhY2NvbmZpZy5oJzsKICAgIH0KCiAgIyBJZiB3ZSBoYXZlIGEg Y29uZmlndXJlIGhlYWRlciwgcmVxdWlyZSBpdC4KICBteSAkaGRyX2luZGV4ID0gMDsKICBt eSBAZGlzdGNsZWFuX2NvbmZpZzsKICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2hlYWRl cnMpCiAgICB7CiAgICAgICRoZHJfaW5kZXggKz0gMTsKICAgICAgIyAkQ09ORklHX0hfUEFU SDogY29uZmlnLmggZnJvbSB0b3AgbGV2ZWwuCiAgICAgIG15ICgkY29uZmlnX2hfcGF0aCwg QGlucykgPSBzcGxpdF9jb25maWdfZmlsZV9zcGVjICgkc3BlYyk7CiAgICAgIG15ICRjb25m aWdfaF9kaXIgPSBkaXJuYW1lICgkY29uZmlnX2hfcGF0aCk7CgogICAgICAjIElmIHRoZSBo ZWFkZXIgaXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdlIHdhbnQgdG8gYnVpbGQKICAg ICAgIyB0aGUgaGVhZGVyIGhlcmUuICBPdGhlcndpc2UsIGlmIHdlJ3JlIGF0IHRoZSB0b3Bt b3N0CiAgICAgICMgZGlyZWN0b3J5IGFuZCB0aGUgaGVhZGVyJ3MgZGlyZWN0b3J5IGRvZXNu J3QgaGF2ZSBhCiAgICAgICMgTWFrZWZpbGUsIHRoZW4gd2UgYWxzbyB3YW50IHRvIGJ1aWxk IHRoZSBoZWFkZXIuCiAgICAgIGlmICgkcmVsYXRpdmVfZGlyIGVxICRjb25maWdfaF9kaXIK CSAgfHwgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRjb25maWdf aF9kaXIpKSkKCXsKCSAgbXkgKCRjbl9zYW5zX2RpciwgJHN0YW1wX2Rpcik7CgkgIGlmICgk cmVsYXRpdmVfZGlyIGVxICRjb25maWdfaF9kaXIpCgkgICAgewoJICAgICAgJGNuX3NhbnNf ZGlyID0gYmFzZW5hbWUgKCRjb25maWdfaF9wYXRoKTsKCSAgICAgICRzdGFtcF9kaXIgPSAn JzsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkY25fc2Fuc19kaXIgPSAkY29uZmln X2hfcGF0aDsKCSAgICAgIGlmICgkY29uZmlnX2hfZGlyIGVxICcuJykKCQl7CgkJICAkc3Rh bXBfZGlyID0gJyc7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRzdGFtcF9kaXIgPSAkY29u ZmlnX2hfZGlyIC4gJy8nOwoJCX0KCSAgICB9CgoJICAjIFRoaXMgd2lsbCBhbHNvIGRpc3Ry aWJ1dGUgYWxsIGlucHV0cy4KCSAgQGlucyA9IHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5k ZW5jaWVzICgkY29uZmlnX2hfcGF0aCwgQGlucyk7CgoJICAjIENhbm5vdCBkZWZpbmUgcmVi dWlsZCBydWxlcyBmb3IgZmlsZW5hbWVzIHdpdGggc2hlbGwgdmFyaWFibGVzLgoJICBuZXh0 IGlmIChzdWJzdGl0dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcyAkY29uZmlnX2hfcGF0aCkgPX4g L1wkLzsKCgkgICMgSGVhZGVyIGRlZmluZWQgaW4gdGhpcyBkaXJlY3RvcnkuCgkgIG15IEBm aWxlczsKCSAgaWYgKC1mICRjb25maWdfaF9wYXRoIC4gJy50b3AnKQoJICAgIHsKCSAgICAg IHB1c2ggKEBmaWxlcywgIiRjbl9zYW5zX2Rpci50b3AiKTsKCSAgICB9CgkgIGlmICgtZiAk Y29uZmlnX2hfcGF0aCAuICcuYm90JykKCSAgICB7CgkgICAgICBwdXNoIChAZmlsZXMsICIk Y25fc2Fuc19kaXIuYm90Iik7CgkgICAgfQoKCSAgcHVzaF9kaXN0X2NvbW1vbiAoQGZpbGVz KTsKCgkgICMgRm9yIG5vdywgYWNjb25maWcuaCBjYW4gb25seSBhcHBlYXIgaW4gdGhlIHRv cCBzcmNkaXIuCgkgIGlmICgtZiAnYWNjb25maWcuaCcpCgkgICAgewoJICAgICAgcHVzaCAo QGZpbGVzLCAnJCh0b3Bfc3JjZGlyKS9hY2NvbmZpZy5oJyk7CgkgICAgfQoKCSAgbXkgJHN0 YW1wID0gIiR7c3RhbXBfZGlyfXN0YW1wLWgke2hkcl9pbmRleH0iOwoJICAkb3V0cHV0X3J1 bGVzIC49CgkgICAgZmlsZV9jb250ZW50cyAoJ3JlbWFrZS1oZHInLAoJCQkgICBuZXcgQXV0 b21ha2U6OkxvY2F0aW9uLAoJCQkgICBGSUxFUyAgICAgICAgICAgID0+ICJAZmlsZXMiLAoJ CQkgICAnRklSU1QtSERSJyAgICAgID0+ICgkaGRyX2luZGV4ID09IDEpLAoJCQkgICBDT05G SUdfSCAgICAgICAgID0+ICRjbl9zYW5zX2RpciwKCQkJICAgQ09ORklHX0hJTiAgICAgICA9 PiAkaW5zWzBdLAoJCQkgICBDT05GSUdfSF9ERVBTICAgID0+ICJAaW5zIiwKCQkJICAgQ09O RklHX0hfUEFUSCAgICA9PiAkY29uZmlnX2hfcGF0aCwKCQkJICAgU1RBTVAgICAgICAgICAg ICA9PiAiJHN0YW1wIik7CgoJICBwdXNoIEBkaXN0Y2xlYW5fY29uZmlnLCAkY25fc2Fuc19k aXIsICRzdGFtcDsKCX0KICAgIH0KCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRz ICgnY2xlYW4taGRyJywKCQkJCSAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCSAgRklM RVMgPT4gIkBkaXN0Y2xlYW5fY29uZmlnIikKICAgIGlmIEBkaXN0Y2xlYW5fY29uZmlnOwoK ICAjIERpc3RyaWJ1dGUgYW5kIGRlZmluZSBta2luc3RhbGxkaXJzIG9ubHkgaWYgaXQgaXMg YWxyZWFkeSBwcmVzZW50CiAgIyBpbiB0aGUgcGFja2FnZSwgZm9yIGJhY2t3YXJkIGNvbXBh dGliaWxpdHkgKHNvbWUgcGVvcGxlIG1heSBzdGlsbAogICMgdXNlICQobWtpbnN0YWxsZGly cykpLgogICMgVE9ETzogc3RhcnQgd2FybmluZyBhYm91dCB0aGlzIGluIEF1dG9tYWtlIDEu MTQsIGFuZCBoYXZlCiAgIyBUT0RPOiBBdXRvbWFrZSAyLjAgZHJvcCBpdCAoYW5kIHRoZSBt a2luc3RhbGxkaXJzIHNjcmlwdAogICMgVE9ETzogYXMgd2VsbCkuCiAgbXkgJG1raWRwYXRo ID0gIiRjb25maWdfYXV4X2Rpci9ta2luc3RhbGxkaXJzIjsKICBpZiAoLWYgJG1raWRwYXRo KQogICAgewogICAgICAjIFVzZSByZXF1aXJlX2ZpbGUgc28gdGhhdCBhbnkgZXhpc3Rpbmcg c2NyaXB0IGdldHMgdXBkYXRlZAogICAgICAjIGJ5IC0tZm9yY2UtbWlzc2luZy4KICAgICAg cmVxdWlyZV9jb25mX2ZpbGUgKCRta2lkcGF0aCwgRk9SRUlHTiwgJ21raW5zdGFsbGRpcnMn KTsKICAgICAgZGVmaW5lX3ZhcmlhYmxlICgnbWtpbnN0YWxsZGlycycsCgkJICAgICAgICJc JChTSEVMTCkgJGFtX2NvbmZpZ19hdXhfZGlyL21raW5zdGFsbGRpcnMiLCBJTlRFUk5BTCk7 CiAgICB9CiAgZWxzZQogICAgewogICAgICAjIFVzZSAkKGluc3RhbGxfc2gpLCBub3QgJChN S0RJUl9QKSBiZWNhdXNlIHRoZSBsYXR0ZXIgcmVxdWlyZXMKICAgICAgIyBhdCBsZWFzdCBv bmUgYXJndW1lbnQsIGFuZCAkKG1raW5zdGFsbGRpcnMpIHVzZWQgdG8gd29yawogICAgICAj IGV2ZW4gd2l0aG91dCBhcmd1bWVudHMgKGUuZy4gJChta2luc3RhbGxkaXJzKSAkKGNvbmRp dGlvbmFsX2RpcikpLgogICAgICBkZWZpbmVfdmFyaWFibGUgKCdta2luc3RhbGxkaXJzJywg JyQoaW5zdGFsbF9zaCkgLWQnLCBJTlRFUk5BTCk7CiAgICB9CgogIHJlamVjdF92YXIgKCdD T05GSUdfSEVBREVSJywKCSAgICAgICInQ09ORklHX0hFQURFUicgaXMgYW4gYW5hY2hyb25p c207IG5vdyBkZXRlcm1pbmVkICIKCSAgICAgIC4gImF1dG9tYXRpY2FsbHlcbmZyb20gJyRj b25maWd1cmVfYWMnIik7CgogIG15IEBjb25maWdfaDsKICBmb3JlYWNoIG15ICRzcGVjIChA Y29uZmlnX2hlYWRlcnMpCiAgICB7CiAgICAgIG15ICgkb3V0LCBAaW5zKSA9IHNwbGl0X2Nv bmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKICAgICAgIyBHZW5lcmF0ZSBDT05GSUdfSEVBREVS IGRlZmluZS4KICAgICAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgZGlybmFtZSAoJG91dCkpCgl7 CgkgIHB1c2ggQGNvbmZpZ19oLCBiYXNlbmFtZSAoJG91dCk7Cgl9CiAgICAgIGVsc2UKCXsK CSAgcHVzaCBAY29uZmlnX2gsICJcJCh0b3BfYnVpbGRkaXIpLyRvdXQiOwoJfQogICAgfQog IGRlZmluZV92YXJpYWJsZSAoIkNPTkZJR19IRUFERVIiLCAiQGNvbmZpZ19oIiwgSU5URVJO QUwpCiAgICBpZiBAY29uZmlnX2g7CgogICMgTm93IGxvb2sgZm9yIG90aGVyIGZpbGVzIGlu IHRoaXMgZGlyZWN0b3J5IHdoaWNoIG11c3QgYmUgcmVtYWRlCiAgIyBieSBjb25maWcuc3Rh dHVzLCBhbmQgZ2VuZXJhdGUgcnVsZXMgZm9yIHRoZW0uCiAgbXkgQGFjdHVhbF9vdGhlcl9m aWxlcyA9ICgpOwogICMgVGhlc2UgZ2V0IGNsZWFuZWQgb25seSBpbiBhIFZQQVRIIGJ1aWxk LgogIG15IEBhY3R1YWxfb3RoZXJfdnBhdGhfZmlsZXMgPSAoKTsKICBmb3JlYWNoIG15ICRs ZmlsZSAoQG90aGVyX2lucHV0X2ZpbGVzKQogICAgewogICAgICBteSAkZmlsZTsKICAgICAg bXkgQGlucHV0czsKICAgICAgaWYgKCRsZmlsZSA9fiAvXihbXjpdKik6KC4qKSQvKQoJewoJ ICAjIFRoaXMgaXMgdGhlICI6IiBzeW50YXggb2YgQUNfT1VUUFVULgoJICAkZmlsZSA9ICQx OwoJICBAaW5wdXRzID0gc3BsaXQgKCc6JywgJDIpOwoJfQogICAgICBlbHNlCgl7CgkgICMg Tm9ybWFsIHVzYWdlLgoJICAkZmlsZSA9ICRsZmlsZTsKCSAgQGlucHV0cyA9ICRmaWxlIC4g Jy5pbic7Cgl9CgogICAgICAjIEF1dG9tYWtlIGZpbGVzIHNob3VsZCBub3QgYmUgc3RvcmVk IGluIGhlcmUsIGJ1dCBpbiAlTUFLRV9MSVNULgogICAgICBwcm9nX2Vycm9yICgiJGxmaWxl IGluIFxAb3RoZXJfaW5wdXRfZmlsZXNcbiIKCQkgIC4gIlxAb3RoZXJfaW5wdXRfZmlsZXMg PSAoQG90aGVyX2lucHV0X2ZpbGVzKSIpCglpZiAtZiAkZmlsZSAuICcuYW0nOwoKICAgICAg bXkgJGxvY2FsID0gYmFzZW5hbWUgKCRmaWxlKTsKCiAgICAgICMgV2Ugc2tpcCBmaWxlcyB0 aGF0IGFyZW4ndCBpbiB0aGlzIGRpcmVjdG9yeS4gIEhvd2V2ZXIsIGlmCiAgICAgICMgdGhl IGZpbGUncyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2VmaWxlLCBhbmQgd2UgYXJl CiAgICAgICMgY3VycmVudGx5IGRvaW5nICcuJywgdGhlbiB3ZSBjcmVhdGUgYSBydWxlIHRv IHJlYnVpbGQgdGhlCiAgICAgICMgZmlsZSBpbiB0aGUgc3ViZGlyLgogICAgICBteSAkZmQg PSBkaXJuYW1lICgkZmlsZSk7CiAgICAgIGlmICgkZmQgbmUgJHJlbGF0aXZlX2RpcikKCXsK CSAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpCgkg ICAgewoJICAgICAgJGxvY2FsID0gJGZpbGU7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAg ICAgbmV4dDsKCSAgICB9Cgl9CgogICAgICBteSBAcmV3cml0dGVuX2lucHV0cyA9IHJld3Jp dGVfaW5wdXRzX2ludG9fZGVwZW5kZW5jaWVzICgkZmlsZSwgQGlucHV0cyk7CgogICAgICAj IENhbm5vdCBvdXRwdXQgcnVsZXMgZm9yIHNoZWxsIHZhcmlhYmxlcy4KICAgICAgbmV4dCBp ZiAoc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMgJGxvY2FsKSA9fiAvXCQvOwoKICAg ICAgbXkgJGNvbmRzdHIgPSAnJzsKICAgICAgbXkgJGNvbmQgPSAkYWNfY29uZmlnX2ZpbGVz X2NvbmRpdGlvbnskbGZpbGV9OwogICAgICBpZiAoZGVmaW5lZCAkY29uZCkKICAgICAgICB7 CgkgICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgQXV0b21ha2U6OlJ1bGU6 OmRlZmluZSAoJGxvY2FsLCAkY29uZmlndXJlX2FjLCBSVUxFX0FVVE9NQUtFLCAkY29uZCwK CQkJCSAgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZmlsZX0pOwogICAgICAgIH0KICAg ICAgJG91dHB1dF9ydWxlcyAuPSAoJGNvbmRzdHIgLiAkbG9jYWwgLiAnOiAnCgkJCS4gJyQo dG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICcKCQkJLiAiQHJld3JpdHRlbl9pbnB1dHNc biIKCQkJLiAkY29uZHN0ciAuICJcdCIKCQkJLiAnY2QgJCh0b3BfYnVpbGRkaXIpICYmICcK CQkJLiAnJChTSEVMTCkgLi9jb25maWcuc3RhdHVzICcKCQkJLiAoJHJlbGF0aXZlX2RpciBl cSAnLicgPyAnJyA6ICckKHN1YmRpcikvJykKCQkJLiAnJEAnCgkJCS4gIlxuIik7CiAgICAg IHB1c2ggKEBhY3R1YWxfb3RoZXJfZmlsZXMsICRsb2NhbCk7CiAgICB9CgogICMgRm9yIGxp bmtzIHdlIHNob3VsZCBjbGVhbiBkZXN0aW5hdGlvbnMgYW5kIGRpc3RyaWJ1dGUgc291cmNl cy4KICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2xpbmtzKQogICAgewogICAgICBteSAo JGxpbmssICRmaWxlKSA9IHNwbGl0IC86LywgJHNwZWM7CiAgICAgICMgU29tZSBwZW9wbGUg ZG8gQUNfQ09ORklHX0xJTktTKCRjb21wdXRlZCkuICBXZSBvbmx5IGhhbmRsZQogICAgICAj IHRoZSBERVNUOlNSQyBmb3JtLgogICAgICBuZXh0IHVubGVzcyAkZmlsZTsKICAgICAgbXkg JHdoZXJlID0gJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskbGlua307CgogICAgICAjIFNr aXAgZGVzdGluYXRpb25zIHRoYXQgY29udGFpbiBzaGVsbCB2YXJpYWJsZXMuCiAgICAgIGlm ICgoc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMgJGxpbmspICF+IC9cJC8pCgl7Cgkg ICMgV2Ugc2tpcCBsaW5rcyB0aGF0IGFyZW4ndCBpbiB0aGlzIGRpcmVjdG9yeS4gIEhvd2V2 ZXIsIGlmCgkgICMgdGhlIGxpbmsncyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2Vm aWxlLCBhbmQgd2UgYXJlCgkgICMgY3VycmVudGx5IGRvaW5nICcuJywgdGhlbiB3ZSBhZGQg dGhlIGxpbmsgdG8gQ09ORklHX0NMRUFOX0ZJTEVTCgkgICMgaW4gJy4ncyBNYWtlZmlsZS5p bi4KCSAgbXkgJGxvY2FsID0gYmFzZW5hbWUgKCRsaW5rKTsKCSAgbXkgJGZkID0gZGlybmFt ZSAoJGxpbmspOwoJICBpZiAoJGZkIG5lICRyZWxhdGl2ZV9kaXIpCgkgICAgewoJICAgICAg aWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpCgkJewoJ CSAgJGxvY2FsID0gJGxpbms7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRsb2NhbCA9IHVu ZGVmOwoJCX0KCSAgICB9CgkgIGlmICgkZmlsZSBuZSAkbGluaykKCSAgICB7CgkgICAgICBw dXNoIEBhY3R1YWxfb3RoZXJfZmlsZXMsICRsb2NhbCBpZiAkbG9jYWw7CgkgICAgfQoJICBl bHNlCgkgICAgewoJICAgICAgcHVzaCBAYWN0dWFsX290aGVyX3ZwYXRoX2ZpbGVzLCAkbG9j YWwgaWYgJGxvY2FsOwoJICAgIH0KCX0KCiAgICAgICMgRG8gbm90IHByb2Nlc3Mgc291cmNl cyB0aGF0IGNvbnRhaW4gc2hlbGwgdmFyaWFibGVzLgogICAgICBpZiAoKHN1YnN0aXR1dGVf YWNfc3Vic3RfdmFyaWFibGVzICRmaWxlKSAhfiAvXCQvKQoJewoJICBteSAkZmQgPSBkaXJu YW1lICgkZmlsZSk7CgoJICAjIFdlIGRpc3RyaWJ1dGUgZmlsZXMgdGhhdCBhcmUgaW4gdGhp cyBkaXJlY3RvcnkuCgkgICMgQXQgdGhlIHRvcC1sZXZlbCAoJy4nKSB3ZSBhbHNvIGRpc3Ry aWJ1dGUgZmlsZXMgd2hvc2UKCSAgIyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2Vm aWxlLgoJICBpZiAoKCRmZCBlcSAkcmVsYXRpdmVfZGlyKQoJICAgICAgfHwgKCRyZWxhdGl2 ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpKQoJICAgIHsKCSAgICAgICMg VGhlIGZvbGxvd2luZyB3aWxsIGRpc3RyaWJ1dGUgJGZpbGUgYXMgYSBzaWRlLWVmZmVjdCB3 aGVuCgkgICAgICAjIGl0IGlzIGFwcHJvcHJpYXRlIChpLmUuLCB3aGVuICRmaWxlIGlzIG5v dCBhbHJlYWR5IGFuIG91dHB1dCkuCgkgICAgICAjIFdlIGRvIG5vdCBuZWVkIHRoZSByZXN1 bHQsIGp1c3QgdGhlIHNpZGUtZWZmZWN0LgoJICAgICAgcmV3cml0ZV9pbnB1dHNfaW50b19k ZXBlbmRlbmNpZXMgKCRsaW5rLCAkZmlsZSk7CgkgICAgfQoJfQogICAgfQoKICAjIFRoZXNl IGZpbGVzIGdldCByZW1vdmVkIGJ5ICJtYWtlIGRpc3RjbGVhbiIuCiAgZGVmaW5lX3ByZXR0 eV92YXJpYWJsZSAoJ0NPTkZJR19DTEVBTl9GSUxFUycsIFRSVUUsIElOVEVSTkFMLAoJCQkg IEBhY3R1YWxfb3RoZXJfZmlsZXMpOwogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdDT05G SUdfQ0xFQU5fVlBBVEhfRklMRVMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBAYWN0dWFsX290 aGVyX3ZwYXRoX2ZpbGVzKTsKfQoKc3ViIGhhbmRsZV9oZWFkZXJzICgpCnsKICAgIG15IEBy ID0gYW1faW5zdGFsbF92YXIgKCctZGVmYXVsdGRpc3QnLCAnaGVhZGVyJywgJ0hFQURFUlMn LCAnaW5jbHVkZScsCgkJCSAgICAnb2xkaW5jbHVkZScsICdwa2dpbmNsdWRlJywKCQkJICAg ICdub2luc3QnLCAnY2hlY2snKTsKICAgIGZvcmVhY2ggKEByKQogICAgewogICAgICBuZXh0 IHVubGVzcyAkXy0+WzFdID1+IC9cLi4qJC87CiAgICAgIHNhd19leHRlbnNpb24gKCQmKTsK ICAgIH0KfQoKc3ViIGhhbmRsZV9nZXR0ZXh0ICgpCnsKICByZXR1cm4gaWYgISAkc2Vlbl9n ZXR0ZXh0IHx8ICRyZWxhdGl2ZV9kaXIgbmUgJy4nOwoKICBteSAkc3ViZGlycyA9IHZhciAn U1VCRElSUyc7CgogIGlmICghICRzdWJkaXJzKQogICAgewogICAgICBlcnJfYWMgIkFNX0dO VV9HRVRURVhUIHVzZWQgYnV0IFNVQkRJUlMgbm90IGRlZmluZWQiOwogICAgICByZXR1cm47 CiAgICB9CgogICMgUGVyZm9ybSBzb21lIHNhbml0eSBjaGVja3MgdG8gaGVscCB1c2VycyBn ZXQgdGhlIHJpZ2h0IHNldHVwLgogICMgV2UgZGlzYWJsZSB0aGVzZSB0ZXN0cyB3aGVuIHBv LyBkb2Vzbid0IGV4aXN0IGluIG9yZGVyIG5vdCB0byBkaXNhbGxvdwogICMgdW51c3VhbCBn ZXR0ZXh0IHNldHVwcy4KICAjCiAgIyBCcnVubyBIYWlibGU6CiAgIyB8IFRoZSBpZGVhIGlz OgogICMgfAogICMgfCAgMSkgSWYgYSBwYWNrYWdlIGRvZXNuJ3QgaGF2ZSBhIGRpcmVjdG9y eSBwby8gYXQgdG9wIGxldmVsLCBpdAogICMgfCAgICAgd2lsbCBsaWtlbHkgaGF2ZSBtdWx0 aXBsZSBwby8gZGlyZWN0b3JpZXMgaW4gc3VicGFja2FnZXMuCiAgIyB8CiAgIyB8ICAyKSBJ dCBpcyB1c2VmdWwgdG8gd2FybiBmb3IgdGhlIGFic2VuY2Ugb2YgaW50bC8gaWYgQU1fR05V X0dFVFRFWFQKICAjIHwgICAgIGlzIHVzZWQgd2l0aG91dCAnZXh0ZXJuYWwnLiBJdCBpcyBh bHNvIHVzZWZ1bCB0byB3YXJuIGZvciB0aGUKICAjIHwgICAgIHByZXNlbmNlIG9mIGludGwv IGlmIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pIGlzIHVzZWQuIEJvdGgKICAjIHwgICAg IHdhcm5pbmdzIGFwcGx5IG9ubHkgdG8gdGhlIHVzdWFsIGxheW91dCBvZiBwYWNrYWdlcywg dGhlcmVmb3JlCiAgIyB8ICAgICB0aGV5IHNob3VsZCBib3RoIGJlIGRpc2FibGVkIGlmIG5v IHBvLyBkaXJlY3RvcnkgaXMgZm91bmQgYXQKICAjIHwgICAgIHRvcCBsZXZlbC4KCiAgaWYg KC1kICdwbycpCiAgICB7CiAgICAgIG15IEBzdWJkaXJzID0gJHN1YmRpcnMtPnZhbHVlX2Fz X2xpc3RfcmVjdXJzaXZlOwoKICAgICAgbXNnX3ZhciAoJ3N5bnRheCcsICRzdWJkaXJzLAoJ ICAgICAgICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCAncG8nIG5vdCBpbiBTVUJESVJTIikK CWlmICEgZ3JlcCAoJF8gZXEgJ3BvJywgQHN1YmRpcnMpOwoKICAgICAgIyBpbnRsLyBpcyBu b3QgcmVxdWlyZWQgd2hlbiBBTV9HTlVfR0VUVEVYVCBpcyBjYWxsZWQgd2l0aCB0aGUKICAg ICAgIyAnZXh0ZXJuYWwnIG9wdGlvbiBhbmQgQU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVIg aXMgbm90IGNhbGxlZC4KICAgICAgbXNnX3ZhciAoJ3N5bnRheCcsICRzdWJkaXJzLAoJICAg ICAgICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCAnaW50bCcgbm90IGluIFNVQkRJUlMiKQoJ aWYgKCEgKCRzZWVuX2dldHRleHRfZXh0ZXJuYWwgJiYgISAkc2Vlbl9nZXR0ZXh0X2ludGwp CgkgICAgJiYgISBncmVwICgkXyBlcSAnaW50bCcsIEBzdWJkaXJzKSk7CgogICAgICAjIGlu dGwvIHNob3VsZCBub3QgYmUgdXNlZCB3aXRoIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0p LCBleGNlcHQKICAgICAgIyBpZiBBTV9HTlVfR0VUVEVYVF9JTlRMX1NVQkRJUiBpcyBjYWxs ZWQuCiAgICAgIG1zZ192YXIgKCdzeW50YXgnLCAkc3ViZGlycywKCSAgICAgICAiJ2ludGwn IHNob3VsZCBub3QgYmUgaW4gU1VCRElSUyB3aGVuICIKCSAgICAgICAuICJBTV9HTlVfR0VU VEVYVChbZXh0ZXJuYWxdKSBpcyB1c2VkIikKCWlmICgkc2Vlbl9nZXR0ZXh0X2V4dGVybmFs ICYmICEgJHNlZW5fZ2V0dGV4dF9pbnRsCgkgICAgJiYgZ3JlcCAoJF8gZXEgJ2ludGwnLCBA c3ViZGlycykpOwogICAgfQoKICByZXF1aXJlX2ZpbGUgKCRhY19nZXR0ZXh0X2xvY2F0aW9u LCBHTlUsICdBQk9VVC1OTFMnKTsKfQoKIyBFbWl0IG1ha2VmaWxlIGZvb3Rlci4Kc3ViIGhh bmRsZV9mb290ZXIgKCkKewogICAgcmVqZWN0X3J1bGUgKCcuU1VGRklYRVMnLAoJCSAidXNl IHZhcmlhYmxlICdTVUZGSVhFUycsIG5vdCB0YXJnZXQgJy5TVUZGSVhFUyciKTsKCiAgICAj IE5vdGU6IEFJWCA0LjEgL2Jpbi9tYWtlIHdpbGwgZmFpbCBpZiBhbnkgc3VmZml4IHJ1bGUg YXBwZWFycwogICAgIyBiZWZvcmUgLlNVRkZJWEVTLiAgU28gd2UgbWFrZSBzdXJlIHRoYXQg LlNVRkZJWEVTIGFwcGVhcnMgYmVmb3JlCiAgICAjIGFueXRoaW5nIGVsc2UsIGJ5IHN0aWNr aW5nIGl0IHJpZ2h0IGFmdGVyIHRoZSBkZWZhdWx0OiB0YXJnZXQuCiAgICAkb3V0cHV0X2hl YWRlciAuPSAiLlNVRkZJWEVTOlxuIjsKICAgIG15ICRzdWZmaXhlcyA9IHZhciAnU1VGRklY RVMnOwogICAgbXkgQHN1ZmZpeGVzID0gQXV0b21ha2U6OlJ1bGU6OnN1ZmZpeGVzOwogICAg aWYgKEBzdWZmaXhlcyB8fCAkc3VmZml4ZXMpCiAgICB7CgkjIE1ha2Ugc3VyZSBTVUZGSVhF UyBoYXMgdW5pcXVlIGVsZW1lbnRzLiAgU29ydCB0aGVtIHRvIGVuc3VyZQoJIyB0aGUgb3V0 cHV0IHJlbWFpbnMgY29uc2lzdGVudC4gIEhvd2V2ZXIsICQoU1VGRklYRVMpIGlzCgkjIGFs d2F5cyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpc3QsIHVuc29ydGVkLiAgVGhpcyBpcyBkb25l CgkjIGJlY2F1c2UgbWFrZSB3aWxsIGNob29zZSBydWxlcyBkZXBlbmRpbmcgb24gdGhlIG9y ZGVyaW5nIG9mCgkjIHN1ZmZpeGVzLCBhbmQgdGhpcyBsZXRzIHRoZSB1c2VyIGhhdmUgc29t ZSBjb250cm9sLiAgUHVzaAoJIyBhY3R1YWwgc3VmZml4ZXMsIGFuZCBub3QgJChTVUZGSVhF UykuICBTb21lIHZlcnNpb25zIG9mIG1ha2UKCSMgZG8gbm90IGxpa2UgdmFyaWFibGUgc3Vi c3RpdHV0aW9ucyBvbiB0aGUgLlNVRkZJWEVTIGxpbmUuCglteSBAdXNlcl9zdWZmaXhlcyA9 ICgkc3VmZml4ZXMKCQkJICAgICA/ICRzdWZmaXhlcy0+dmFsdWVfYXNfbGlzdF9yZWN1cnNp dmUgOiAoKSk7CgoJbXkgJXN1ZmZpeGVzID0gbWFwIHsgJF8gPT4gMSB9IEBzdWZmaXhlczsK CWRlbGV0ZSBAc3VmZml4ZXN7QHVzZXJfc3VmZml4ZXN9OwoKCSRvdXRwdXRfaGVhZGVyIC49 ICgiLlNVRkZJWEVTOiAiCgkJCSAgIC4gam9pbiAoJyAnLCBAdXNlcl9zdWZmaXhlcywgc29y dCBrZXlzICVzdWZmaXhlcykKCQkJICAgLiAiXG4iKTsKICAgIH0KCiAgICAkb3V0cHV0X3Ry YWlsZXIgLj0gZmlsZV9jb250ZW50cyAoJ2Zvb3RlcicsIG5ldyBBdXRvbWFrZTo6TG9jYXRp b24pOwp9CgoKIyBHZW5lcmF0ZSAnbWFrZSBpbnN0YWxsJyBydWxlcy4Kc3ViIGhhbmRsZV9p bnN0YWxsICgpCnsKICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMKICAgICgnaW5z dGFsbCcsCiAgICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICBtYXliZV9CVUlMVF9T T1VSQ0VTID0+IChzZXRfc2VlbiAoJ0JVSUxUX1NPVVJDRVMnKQoJCQkgICAgID8gKCIgXCQo QlVJTFRfU09VUkNFUylcbiIKCQkJCS4gIlx0XCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSIp CgkJCSAgICAgOiAnJyksCiAgICAgJ2luc3RhbGxkaXJzLWxvY2FsJyA9PiAodXNlcl9waG9u eV9ydWxlICgnaW5zdGFsbGRpcnMtbG9jYWwnKQoJCQkgICAgID8gJyBpbnN0YWxsZGlycy1s b2NhbCcgOiAnJyksCiAgICAgYW1fX2luc3RhbGxkaXJzID0+IHZhcmlhYmxlX3ZhbHVlICgn YW1fX2luc3RhbGxkaXJzJykgfHwgJycpOwp9CgoKIyBoYW5kbGVfYWxsICgkTUFLRUZJTEUp CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERlYWwgd2l0aCAnYWxsJyBhbmQgJ2FsbC1h bScuCnN1YiBoYW5kbGVfYWxsCnsKICAgIG15ICgkbWFrZWZpbGUpID0gQF87CgogICAgIyBP dXRwdXQgJ2FsbC1hbScuCgogICAgIyBQdXQgdGhpcyBhdCB0aGUgYmVnaW5uaW5nIGZvciB0 aGUgc2FrZSBvZiBub24tR05VIG1ha2VzLiAgVGhpcwogICAgIyBpcyBzdGlsbCB3cm9uZyBp ZiB0aGVzZSBtYWtlcyBjYW4gcnVuIHBhcmFsbGVsIGpvYnMuICBCdXQgaXQgaXMKICAgICMg cmlnaHQgZW5vdWdoLgogICAgdW5zaGlmdCAoQGFsbCwgYmFzZW5hbWUgKCRtYWtlZmlsZSkp OwoKICAgIGZvcmVhY2ggbXkgJHNwZWMgKEBjb25maWdfaGVhZGVycykKICAgICAgewoJbXkg KCRvdXQsIEBpbnMpID0gc3BsaXRfY29uZmlnX2ZpbGVfc3BlYyAoJHNwZWMpOwoJcHVzaCAo QGFsbCwgYmFzZW5hbWUgKCRvdXQpKQoJICBpZiBkaXJuYW1lICgkb3V0KSBlcSAkcmVsYXRp dmVfZGlyOwogICAgICB9CgogICAgIyBJbnN0YWxsICdhbGwnIGhvb2tzLgogICAgcHVzaCAo QGFsbCwgImFsbC1sb2NhbCIpCiAgICAgIGlmIHVzZXJfcGhvbnlfcnVsZSAiYWxsLWxvY2Fs IjsKCiAgICBwcmV0dHlfcHJpbnRfcnVsZSAoImFsbC1hbToiLCAiXHRcdCIsIEBhbGwpOwog ICAgZGVwZW5kICgnLlBIT05ZJywgJ2FsbC1hbScsICdhbGwnKTsKCgogICAgIyBPdXRwdXQg J2FsbCcuCgogICAgbXkgQGxvY2FsX2hlYWRlcnMgPSAoKTsKICAgIHB1c2ggQGxvY2FsX2hl YWRlcnMsICckKEJVSUxUX1NPVVJDRVMpJwogICAgICBpZiB2YXIgKCdCVUlMVF9TT1VSQ0VT Jyk7CiAgICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2hlYWRlcnMpCiAgICAgIHsKCW15 ICgkb3V0LCBAaW5zKSA9IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKCXB1c2gg QGxvY2FsX2hlYWRlcnMsIGJhc2VuYW1lICgkb3V0KQoJICBpZiBkaXJuYW1lICgkb3V0KSBl cSAkcmVsYXRpdmVfZGlyOwogICAgICB9CgogICAgaWYgKEBsb2NhbF9oZWFkZXJzKQogICAg ICB7CgkjIFdlIG5lZWQgdG8gbWFrZSBzdXJlIGNvbmZpZy5oIGlzIGJ1aWx0IGJlZm9yZSB3 ZSByZWN1cnNlLgoJIyBXZSBhbHNvIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgYnVpbHQgc291 cmNlcyBhcmUgYnVpbHQKCSMgYmVmb3JlIGFueSBvcmRpbmFyeSAnYWxsJyB0YXJnZXRzIGFy ZSBydW4uICBXZSBjYW4ndCBkbyB0aGlzCgkjIGJ5IGNoYW5naW5nIHRoZSBvcmRlciBvZiBk ZXBlbmRlbmNpZXMgdG8gdGhlICJhbGwiIGJlY2F1c2UKCSMgdGhhdCBicmVha3Mgd2hlbiB1 c2luZyBwYXJhbGxlbCBtYWtlcy4gIEluc3RlYWQgd2UgaGFuZGxlCgkjIHRoaW5ncyBleHBs aWNpdGx5LgoJJG91dHB1dF9hbGwgLj0gKCJhbGw6IEBsb2NhbF9oZWFkZXJzIgoJCQkuICJc blx0IgoJCQkuICckKE1BS0UpICQoQU1fTUFLRUZMQUdTKSAnCgkJCS4gKHZhciAoJ1NVQkRJ UlMnKSA/ICdhbGwtcmVjdXJzaXZlJyA6ICdhbGwtYW0nKQoJCQkuICJcblxuIik7CiAgICAg ICAgZGVwZW5kICgnLk1BS0UnLCAnYWxsJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJ JG91dHB1dF9hbGwgLj0gImFsbDogIiAuICh2YXIgKCdTVUJESVJTJykKCQkJCSAgPyAnYWxs LXJlY3Vyc2l2ZScgOiAnYWxsLWFtJykgLiAiXG5cbiI7CiAgICAgIH0KfQoKIyBHZW5lcmF0 ZSBoZWxwZXIgdGFyZ2V0cyBmb3IgdXNlci1kZWZpbmVkIHJlY3Vyc2l2ZSB0YXJnZXRzLCB3 aGVyZSBuZWVkZWQuCnN1YiBoYW5kbGVfdXNlcl9yZWN1cnNpb24gKCkKewogIHJldHVybiB1 bmxlc3MgQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzOwoKICBkZWZpbmVfcHJldHR5X3Zhcmlh YmxlICgnYW1fX2V4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzJywgVFJVRSwgSU5URVJOQUwsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFwIHsgIiRfLXJlY3Vyc2l2ZSIgfSBAZXh0cmFf cmVjdXJzaXZlX3RhcmdldHMpOwogIG15ICRhdXggPSB2YXIgKCdTVUJESVJTJykgPyAncmVj dXJzaXZlJyA6ICdhbSc7CiAgZm9yZWFjaCBteSAkdGFyZ2V0IChAZXh0cmFfcmVjdXJzaXZl X3RhcmdldHMpCiAgICB7CiAgICAgICMgVGhpcyBhbGxvd3MgdGhlIGRlZmF1bHQgdGFyZ2V0 J3MgcnVsZXMgdG8gYmUgb3ZlcnJpZGRlbiBpbgogICAgICAjIE1ha2VmaWxlLmFtLgogICAg ICB1c2VyX3Bob255X3J1bGUgKCR0YXJnZXQpOwogICAgICBkZXBlbmQgKCIkdGFyZ2V0Iiwg IiR0YXJnZXQtJGF1eCIpOwogICAgICBkZXBlbmQgKCIkdGFyZ2V0LWFtIiwgIiR0YXJnZXQt bG9jYWwiKTsKICAgICAgIyBFdmVyeSB1c2VyLWRlZmluZWQgcmVjdXJzaXZlIHRhcmdldCAn Zm9vJyAqbXVzdCogaGF2ZSBhIHZhbGlkCiAgICAgICMgYXNzb2NpYXRlZCAnZm9vLWxvY2Fs JyBydWxlOyB3ZSBkZWZpbmUgaXQgYXMgYW4gZW1wdHkgcnVsZSBieQogICAgICAjIGRlZmF1 bHQsIHNvIHRoYXQgdGhlIHVzZXIgY2FuIHRyYW5zcGFyZW50bHkgZXh0ZW5kIGl0IGluIGhp cwogICAgICAjIG93biBNYWtlZmlsZS5hbS4KICAgICAgcHJldHR5X3ByaW50X3J1bGUgKCIk dGFyZ2V0LWxvY2FsOiIsICcnLCAnJyk7CiAgICAgICMgJHRhcmdldC1yZWN1cnNpdmUgbWln aHQgYXMgd2VsbCBiZSB1bmRlZmluZWQsIHNvIGRvIG5vdCBhZGQKICAgICAgIyBpdCBoZXJl OyBpdCdzIHRha2VuIGNhcmUgb2YgaW4gc3ViZGlycy5hbSBhbnl3YXkuCiAgICAgIGRlcGVu ZCAoIi5QSE9OWSIsICIkdGFyZ2V0LWFtIiwgIiR0YXJnZXQtbG9jYWwiKTsKICAgIH0KfQoK CiMgSGFuZGxlIGNoZWNrIG1lcmdlIHRhcmdldCBzcGVjaWFsbHkuCnN1YiBkb19jaGVja19t ZXJnZV90YXJnZXQgKCkKewogICMgSW5jbHVkZSB1c2VyLWRlZmluZWQgbG9jYWwgZm9ybSBv ZiB0YXJnZXQuCiAgcHVzaCBAY2hlY2tfdGVzdHMsICdjaGVjay1sb2NhbCcKICAgIGlmIHVz ZXJfcGhvbnlfcnVsZSAnY2hlY2stbG9jYWwnOwoKICAjIFRoZSBjaGVjayB0YXJnZXQgbXVz dCBkZXBlbmQgb24gdGhlIGxvY2FsIGVxdWl2YWxlbnQgb2YKICAjICdhbGwnLCB0byBlbnN1 cmUgYWxsIHRoZSBwcmltYXJ5IHRhcmdldHMgYXJlIGJ1aWx0LiAgVGhlbiBpdAogICMgbXVz dCBidWlsZCB0aGUgbG9jYWwgY2hlY2sgcnVsZXMuCiAgJG91dHB1dF9ydWxlcyAuPSAiY2hl Y2stYW06IGFsbC1hbVxuIjsKICBpZiAoQGNoZWNrKQogICAgewogICAgICBwcmV0dHlfcHJp bnRfcnVsZSAoIlx0XCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSIsICJcdCAgIiwgQGNoZWNr KTsKICAgICAgZGVwZW5kICgnLk1BS0UnLCAnY2hlY2stYW0nKTsKICAgIH0KCiAgaWYgKEBj aGVja190ZXN0cykKICAgIHsKICAgICAgcHJldHR5X3ByaW50X3J1bGUgKCJcdFwkKE1BS0Up IFwkKEFNX01BS0VGTEFHUykiLCAiXHQgICIsCgkJCSBAY2hlY2tfdGVzdHMpOwogICAgICBk ZXBlbmQgKCcuTUFLRScsICdjaGVjay1hbScpOwogICAgfQoKICBkZXBlbmQgJy5QSE9OWScs ICdjaGVjaycsICdjaGVjay1hbSc7CiAgIyBIYW5kbGUgcmVjdXJzaW9uLiAgV2UgaGF2ZSB0 byBob25vciBCVUlMVF9TT1VSQ0VTIGxpa2UgZm9yICdhbGw6Jy4KICAkb3V0cHV0X3J1bGVz IC49ICgiY2hlY2s6ICIKCQkgICAgLiAodmFyICgnQlVJTFRfU09VUkNFUycpCgkJICAgICAg ID8gIlwkKEJVSUxUX1NPVVJDRVMpXG5cdFwkKE1BS0UpIFwkKEFNX01BS0VGTEFHUykgIgoJ CSAgICAgICA6ICcnKQoJCSAgICAuICh2YXIgKCdTVUJESVJTJykgPyAnY2hlY2stcmVjdXJz aXZlJyA6ICdjaGVjay1hbScpCgkJICAgIC4gIlxuIik7CiAgZGVwZW5kICgnLk1BS0UnLCAn Y2hlY2snKQogICAgaWYgdmFyICgnQlVJTFRfU09VUkNFUycpOwp9CgojIEhhbmRsZSBhbGwg J2NsZWFuJyB0YXJnZXRzLgpzdWIgaGFuZGxlX2NsZWFuCnsKICBteSAoJG1ha2VmaWxlKSA9 IEBfOwoKICAjIENsZWFuIHRoZSBmaWxlcyBsaXN0ZWQgaW4gdXNlciB2YXJpYWJsZXMgaWYg dGhleSBleGlzdC4KICAkY2xlYW5fZmlsZXN7JyQoTU9TVExZQ0xFQU5GSUxFUyknfSA9IE1P U1RMWV9DTEVBTgogICAgaWYgdmFyICgnTU9TVExZQ0xFQU5GSUxFUycpOwogICRjbGVhbl9m aWxlc3snJChDTEVBTkZJTEVTKSd9ID0gQ0xFQU4KICAgIGlmIHZhciAoJ0NMRUFORklMRVMn KTsKICAkY2xlYW5fZmlsZXN7JyQoRElTVENMRUFORklMRVMpJ30gPSBESVNUX0NMRUFOCiAg ICBpZiB2YXIgKCdESVNUQ0xFQU5GSUxFUycpOwogICRjbGVhbl9maWxlc3snJChNQUlOVEFJ TkVSQ0xFQU5GSUxFUyknfSA9IE1BSU5UQUlORVJfQ0xFQU4KICAgIGlmIHZhciAoJ01BSU5U QUlORVJDTEVBTkZJTEVTJyk7CgogICMgQnVpbHQgc291cmNlcyBhcmUgYXV0b21hdGljYWxs eSByZW1vdmVkIGJ5IG1haW50YWluZXItY2xlYW4uCiAgJGNsZWFuX2ZpbGVzeyckKEJVSUxU X1NPVVJDRVMpJ30gPSBNQUlOVEFJTkVSX0NMRUFOCiAgICBpZiB2YXIgKCdCVUlMVF9TT1VS Q0VTJyk7CgogICMgQ29tcHV0ZSBhIGxpc3Qgb2YgInJtInMgdG8gcnVuIGZvciBlYWNoIHRh cmdldC4KICBteSAlcm1zID0gKE1PU1RMWV9DTEVBTiwgW10sCgkgICAgIENMRUFOLCBbXSwK CSAgICAgRElTVF9DTEVBTiwgW10sCgkgICAgIE1BSU5UQUlORVJfQ0xFQU4sIFtdKTsKCiAg Zm9yZWFjaCBteSAkZmlsZSAoa2V5cyAlY2xlYW5fZmlsZXMpCiAgICB7CiAgICAgIG15ICR3 aGVuID0gJGNsZWFuX2ZpbGVzeyRmaWxlfTsKICAgICAgcHJvZ19lcnJvciAnaW52YWxpZCBl bnRyeSBpbiAlY2xlYW5fZmlsZXMnCgl1bmxlc3MgZXhpc3RzICRybXN7JHdoZW59OwoKICAg ICAgbXkgJHJtID0gInJtIC1mICRmaWxlIjsKICAgICAgIyBJZiBmaWxlIGlzIGEgdmFyaWFi bGUsIG1ha2Ugc3VyZSB3aGVuIGRvbid0IGNhbGwgJ3JtIC1mJyB3aXRob3V0IGFyZ3MuCiAg ICAgICRybSA9InRlc3QgLXogXCIkZmlsZVwiIHx8ICRybSIKCWlmICgkZmlsZSA9fiAvXlxz KlwkKFwoLipcKXxcey4qXH0pXHMqJC8pOwoKICAgICAgcHVzaCBAeyRybXN7JHdoZW59fSwg Ilx0LSRybVxuIjsKICAgIH0KCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzCiAg ICAoJ2NsZWFuJywKICAgICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAogICAgIE1PU1RMWUNM RUFOX1JNUyAgICAgID0+IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3smTU9TVExZX0NMRUFOfX0p LAogICAgIENMRUFOX1JNUyAgICAgICAgICAgID0+IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3sm Q0xFQU59fSksCiAgICAgRElTVENMRUFOX1JNUyAgICAgICAgPT4gam9pbiAoJycsIHNvcnQg QHskcm1zeyZESVNUX0NMRUFOfX0pLAogICAgIE1BSU5UQUlORVJfQ0xFQU5fUk1TID0+IGpv aW4gKCcnLCBzb3J0IEB7JHJtc3smTUFJTlRBSU5FUl9DTEVBTn19KSwKICAgICBNQUtFRklM RSAgICAgICAgICAgICA9PiBiYXNlbmFtZSAkbWFrZWZpbGUsCiAgICAgKTsKfQoKCiMgU3Vi cm91dGluZSBmb3IgaGFuZGxlX2ZhY3RvcmVkX2RlcGVuZGVuY2llcygpIHRvIGxldCAnLlBI T05ZJyBhbmQKIyBvdGhlciAnLlRBUkdFVFMnIGJlIGxhc3QuICBUaGlzIGlzIG1lYW50IHRv IGJlIHVzZWQgYXMgYSBjb21wYXJpc29uCiMgc3Vicm91dGluZSBwYXNzZWQgdG8gdGhlIHNv cnQgYnVpbHQtaW50LgpzdWIgdGFyZ2V0X2NtcAp7CiAgcmV0dXJuIDAgaWYgJGEgZXEgJGI7 CgogIG15ICRhMSA9IHN1YnN0ciAoJGEsIDAsIDEpOwogIG15ICRiMSA9IHN1YnN0ciAoJGIs IDAsIDEpOwogIGlmICgkYTEgbmUgJGIxKQogICAgewogICAgICByZXR1cm4gLTEgaWYgJGIx IGVxICcuJzsKICAgICAgcmV0dXJuIDEgaWYgJGExIGVxICcuJzsKICAgIH0KICByZXR1cm4g JGEgY21wICRiOwp9CgoKIyBIYW5kbGUgZXZlcnl0aGluZyByZWxhdGVkIHRvIGdhdGhlcmVk IHRhcmdldHMuCnN1YiBoYW5kbGVfZmFjdG9yZWRfZGVwZW5kZW5jaWVzICgpCnsKICAjIFJl amVjdCBiYWQgaG9va3MuCiAgZm9yZWFjaCBteSAkdXRhcmcgKCd1bmluc3RhbGwtZGF0YS1s b2NhbCcsICd1bmluc3RhbGwtZGF0YS1ob29rJywKCQkgICAgICd1bmluc3RhbGwtZXhlYy1s b2NhbCcsICd1bmluc3RhbGwtZXhlYy1ob29rJywKCQkgICAgICd1bmluc3RhbGwtZHZpLWxv Y2FsJywKCQkgICAgICd1bmluc3RhbGwtaHRtbC1sb2NhbCcsCgkJICAgICAndW5pbnN0YWxs LWluZm8tbG9jYWwnLAoJCSAgICAgJ3VuaW5zdGFsbC1wZGYtbG9jYWwnLAoJCSAgICAgJ3Vu aW5zdGFsbC1wcy1sb2NhbCcpCiAgICB7CiAgICAgIG15ICR4ID0gJHV0YXJnOwogICAgICAk eCA9fiBzLy0uKi0vLS87CiAgICAgIHJlamVjdF9ydWxlICgkdXRhcmcsICJ1c2UgJyR4Jywg bm90ICckdXRhcmcnIik7CiAgICB9CgogIHJlamVjdF9ydWxlICgnaW5zdGFsbC1sb2NhbCcs CgkgICAgICAgInVzZSAnaW5zdGFsbC1kYXRhLWxvY2FsJyBvciAnaW5zdGFsbC1leGVjLWxv Y2FsJywgIgoJICAgICAgIC4gIm5vdCAnaW5zdGFsbC1sb2NhbCciKTsKCiAgcmVqZWN0X3J1 bGUgKCdpbnN0YWxsLWhvb2snLAoJICAgICAgICJ1c2UgJ2luc3RhbGwtZGF0YS1ob29rJyBv ciAnaW5zdGFsbC1leGVjLWhvb2snLCAiCgkgICAgICAgLiAibm90ICdpbnN0YWxsLWhvb2sn Iik7CgogICMgSW5zdGFsbCB0aGUgLWxvY2FsIGhvb2tzLgogIGZvcmVhY2ggKGtleXMgJWRl cGVuZGVuY2llcykKICAgIHsKICAgICAgIyBIb29rcyBhcmUgaW5zdGFsbGVkIG9uIHRoZSAt YW0gdGFyZ2V0cy4KICAgICAgcy8tYW0kLy8gb3IgbmV4dDsKICAgICAgZGVwZW5kICgiJF8t YW0iLCAiJF8tbG9jYWwiKQoJaWYgdXNlcl9waG9ueV9ydWxlICIkXy1sb2NhbCI7CiAgICB9 CgogICMgSW5zdGFsbCB0aGUgLWhvb2sgaG9va3MuCiAgIyBGSVhNRTogV2h5IG5vdCBiZSBh cyBsaWJlcmFsIGFzIHdlIGFyZSB3aXRoIC1sb2NhbCBob29rcz8KICBmb3JlYWNoICgnaW5z dGFsbC1leGVjJywgJ2luc3RhbGwtZGF0YScsICd1bmluc3RhbGwnKQogICAgewogICAgICBp ZiAodXNlcl9waG9ueV9ydWxlICIkXy1ob29rIikKCXsKCSAgZGVwZW5kICgnLk1BS0UnLCAi JF8tYW0iKTsKCSAgcmVnaXN0ZXJfYWN0aW9uKCIkXy1hbSIsCgkJCSAgKCJcdFxAXCQoTk9S TUFMX0lOU1RBTEwpXG4iCgkJCSAgIC4gIlx0XCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSAk Xy1ob29rIikpOwoJfQogICAgfQoKICAjIEFsbCB0aGUgcmVxdWlyZWQgdGFyZ2V0cyBhcmUg cGhvbnkuCiAgZGVwZW5kICgnLlBIT05ZJywga2V5cyAlcmVxdWlyZWRfdGFyZ2V0cyk7Cgog ICMgQWN0dWFsbHkgb3V0cHV0IGdhdGhlcmVkIHRhcmdldHMuCiAgZm9yZWFjaCAoc29ydCB0 YXJnZXRfY21wIGtleXMgJWRlcGVuZGVuY2llcykKICAgIHsKICAgICAgIyBJZiB0aGVyZSBp cyBub3RoaW5nIGFib3V0IHRoaXMgZ3V5LCBza2lwIGl0LgogICAgICBuZXh0Cgl1bmxlc3Mg KEB7JGRlcGVuZGVuY2llc3skX319CgkJfHwgJGFjdGlvbnN7JF99CgkJfHwgJHJlcXVpcmVk X3RhcmdldHN7JF99KTsKCiAgICAgICMgRGVmaW5lIGdhdGhlcmVkIHRhcmdldHMgaW4gdW5k ZWZpbmVkIGNvbmRpdGlvbnMuCiAgICAgICMgRklYTUU6IFJpZ2h0IG5vdyB3ZSBtdXN0IGhh bmRsZSAuUEhPTlkgYXMgYW4gZXhjZXB0aW9uLAogICAgICAjIGJlY2F1c2UgcGVvcGxlIHdy aXRlIHRoaW5ncyBsaWtlCiAgICAgICMgICAgLlBIT05ZOiBteXBob255dGFyZ2V0CiAgICAg ICMgdG8gYXBwZW5kIGRlcGVuZGVuY2llcy4gIFRoaXMgd291bGQgbm90IHdvcmsgaWYgQXV0 b21ha2UKICAgICAgIyByZWZyYWluZWQgZnJvbSBkZWZpbmluZyBpdHMgb3duIC5QSE9OWSB0 YXJnZXQgYXMgaXQgZG9lcwogICAgICAjIHdpdGggb3RoZXIgb3ZlcnJpZGRlbiB0YXJnZXRz LgogICAgICAjIExpa2V3aXNlIGZvciAnLk1BS0UnIGFuZCAnLlBSRUNJT1VTJy4KICAgICAg bXkgQHVuZGVmaW5lZF9jb25kcyA9IChUUlVFLCk7CiAgICAgIGlmICgkXyBuZSAnLlBIT05Z JyAmJiAkXyBuZSAnLk1BS0UnICYmICRfIG5lICcuUFJFQ0lPVVMnKQoJewoJICBAdW5kZWZp bmVkX2NvbmRzID0KCSAgICBBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgkXywgJ2ludGVybmFs JywKCQkJCSAgICBSVUxFX0FVVE9NQUtFLCBUUlVFLCBJTlRFUk5BTCk7Cgl9CiAgICAgIG15 IEB1bmlxX2RlcHMgPSB1bmlxIChzb3J0IEB7JGRlcGVuZGVuY2llc3skX319KTsKICAgICAg Zm9yZWFjaCBteSAkY29uZCAoQHVuZGVmaW5lZF9jb25kcykKCXsKCSAgbXkgJGNvbmRzdHIg PSAkY29uZC0+c3Vic3Rfc3RyaW5nOwoJICBwcmV0dHlfcHJpbnRfcnVsZSAoIiRjb25kc3Ry JF86IiwgIiRjb25kc3RyXHQiLCBAdW5pcV9kZXBzKTsKCSAgJG91dHB1dF9ydWxlcyAuPSAk YWN0aW9uc3skX30gaWYgZGVmaW5lZCAkYWN0aW9uc3skX307CgkgICRvdXRwdXRfcnVsZXMg Lj0gIlxuIjsKCX0KICAgIH0KfQoKCnN1YiBoYW5kbGVfdGVzdHNfZGVqYWdudSAoKQp7CiAg ICBwdXNoIChAY2hlY2tfdGVzdHMsICdjaGVjay1ERUpBR05VJyk7CiAgICAkb3V0cHV0X3J1 bGVzIC49IGZpbGVfY29udGVudHMgKCdkZWphZ251JywgbmV3IEF1dG9tYWtlOjpMb2NhdGlv bik7Cn0KCiMgaGFuZGxlX3Blcl9zdWZmaXhfdGVzdCAoJFRFU1RfU1VGRklYLCBbJVRSQU5T Rk9STV0pCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCnN1YiBoYW5kbGVfcGVyX3N1ZmZpeF90ZXN0CnsKICBteSAoJHRlc3Rfc3VmZml4 LCAldHJhbnNmb3JtKSA9IEBfOwogIG15ICgkcGZ4LCAkZ2VuZXJpYywgJGFtX2V4ZWV4dCk7 CiAgaWYgKCR0ZXN0X3N1ZmZpeCBlcSAnJykKICAgIHsKICAgICAgJHBmeCA9ICcnOwogICAg ICAkZ2VuZXJpYyA9IDA7CiAgICAgICRhbV9leGVleHQgPSAnRkFMU0UnOwogICAgfQogIGVs c2UKICAgIHsKICAgICAgcHJvZ19lcnJvciAoInRlc3Qgc3VmZml4ICckdGVzdF9zdWZmaXgn IGxhY2tzIGxlYWRpbmcgZG90IikKICAgICAgICB1bmxlc3MgJHRlc3Rfc3VmZml4ID1+IG0v XlwuKC4qKS87CiAgICAgICRwZnggPSB1YyAoJDEpIC4gJ18nOwogICAgICAkZ2VuZXJpYyA9 IDE7CiAgICAgICRhbV9leGVleHQgPSBleGlzdHMgJGNvbmZpZ3VyZV92YXJzeydFWEVFWFQn fSA/ICdhbV9fRVhFRVhUJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOiAnRkFMU0UnOwogICAgfQogICMgVGhlICJ0ZXN0IGRyaXZlciIg cHJvZ3JhbSwgZGVwdXRlZCB0byBoYW5kbGUgdGVzdHMgcHJvdG9jb2wgdXNlZCBieQogICMg dGVzdCBzY3JpcHRzLiAgQnkgZGVmYXVsdCwgaXQncyBhc3N1bWVkIHRoYXQgbm8gcHJvdG9j b2wgaXMgdXNlZCwgc28KICAjIHdlIGZhbGwgYmFjayB0byB0aGUgb2xkIGJlaGF2aW91ciwg aW1wbGVtZW50ZWQgYnkgdGhlICd0ZXN0LWRyaXZlcicKICAjIGF1eGlsaWFyeSBzY3JpcHQu CiAgaWYgKCEgdmFyICIke3BmeH1MT0dfRFJJVkVSIikKICAgIHsKICAgICAgcmVxdWlyZV9j b25mX2ZpbGUgKCJwYXJhbGxlbC10ZXN0cyIsIEZPUkVJR04sICd0ZXN0LWRyaXZlcicpOwog ICAgICBkZWZpbmVfdmFyaWFibGUgKCIke3BmeH1MT0dfRFJJVkVSIiwKICAgICAgICAgICAg ICAgICAgICAgICAiXCQoU0hFTEwpICRhbV9jb25maWdfYXV4X2Rpci90ZXN0LWRyaXZlciIs CiAgICAgICAgICAgICAgICAgICAgICAgSU5URVJOQUwpOwogICAgfQogIG15ICRkcml2ZXIg PSAnJCgnIC4gJHBmeCAuICdMT0dfRFJJVkVSKSc7CiAgbXkgJGRyaXZlcl9mbGFncyA9ICck KEFNXycgLiAkcGZ4IC4gJ0xPR19EUklWRVJfRkxBR1MpJwogICAgICAgICAgICAgICAgICAg ICAgIC4gJyAkKCcgLiAkcGZ4IC4gJ0xPR19EUklWRVJfRkxBR1MpJzsKICBteSAkY29tcGls ZSA9ICIke3BmeH1MT0dfQ09NUElMRSI7CiAgZGVmaW5lX3ZhcmlhYmxlICgkY29tcGlsZSwK ICAgICAgICAgICAgICAgICAgICckKCcgLiAkcGZ4IC4gJ0xPR19DT01QSUxFUiknCiAgICAg ICAgICAgICAgICAgICAgICAuICcgJChBTV8nIC4gICRwZnggLiAnTE9HX0ZMQUdTKScKICAg ICAgICAgICAgICAgICAgICAgIC4gJyAkKCcgLiAkcGZ4IC4gJ0xPR19GTEFHUyknLAogICAg ICAgICAgICAgICAgICAgICBJTlRFUk5BTCk7CiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2Nv bnRlbnRzICgnY2hlY2syJywgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHRU5FUklDID0+ICRnZW5lcmljLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERSSVZFUiA9PiAkZHJpdmVyLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERSSVZFUl9GTEFHUyA9PiAkZHJpdmVyX2ZsYWdz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTVBJTEUgPT4gJyQoJyAu ICRjb21waWxlIC4gJyknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVY VCA9PiAkdGVzdF9zdWZmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YW1fX0VYRUVYVCA9PiAkYW1fZXhlZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICV0cmFuc2Zvcm0pOwp9CgojIGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uICgkRVhU KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiB0cnVlIGlmICRF WFQgY2FuIGFwcGVhciBpbiAkKFRFU1RfRVhURU5TSU9OUyksIHJldHVybiBmYWxzZQojIG90 aGVyd2lzZS4Kc3ViIGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uCnsKICBteSAkZXh0ID0gc2hp ZnQ7CiAgcmV0dXJuIDEKICAgIGlmICgkZXh0ID1+IC9eXC5bYS16QS1aX11bYS16QS1aMC05 X10qJC8pOwogIHJldHVybiAxCiAgICBpZiAoZXhpc3RzICRjb25maWd1cmVfdmFyc3snRVhF RVhUJ30gJiYgJGV4dCBlcSBzdWJzdCAoJ0VYRUVYVCcpKTsKICByZXR1cm4gMDsKfQoKCnN1 YiBoYW5kbGVfdGVzdHMgKCkKewogIGlmIChvcHRpb24gJ2RlamFnbnUnKQogICAgewogICAg ICBoYW5kbGVfdGVzdHNfZGVqYWdudTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIGZvcmVh Y2ggbXkgJGMgKCdERUpBVE9PTCcsICdSVU5URVNUJywgJ1JVTlRFU1RGTEFHUycpCgl7Cgkg IHJlamVjdF92YXIgKCRjLCAiJyRjJyBkZWZpbmVkIGJ1dCAnZGVqYWdudScgbm90IGluICIK CQkgICAgICAuICInQVVUT01BS0VfT1BUSU9OUyciKTsKCX0KICAgIH0KCiAgaWYgKHZhciAo J1RFU1RTJykpCiAgICB7CiAgICAgIHB1c2ggKEBjaGVja190ZXN0cywgJ2NoZWNrLVRFU1RT Jyk7CiAgICAgIG15ICRjaGVja19kZXBzID0gIkBjaGVjayI7CiAgICAgICRvdXRwdXRfcnVs ZXMgLj0gZmlsZV9jb250ZW50cyAoJ2NoZWNrJywgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVJJQUxfVEVTVFMgPT4g ISEgb3B0aW9uICdzZXJpYWwtdGVzdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENIRUNLX0RFUFMgPT4gJGNoZWNrX2RlcHMpOwoKICAgICAgIyBUZXN0cyB0 aGF0IGFyZSBrbm93biBwcm9ncmFtcyBzaG91bGQgaGF2ZSAkKEVYRUVYVCkgYXBwZW5kZWQu CiAgICAgICMgRm9yIG1hdGNoaW5nIHB1cnBvc2VzLCB3ZSBuZWVkIHRvIGFkanVzdCBYRkFJ TF9URVNUUyBhcyB3ZWxsLgogICAgICBhcHBlbmRfZXhlZXh0IHsgZXhpc3RzICRrbm93bl9w cm9ncmFtc3skX1swXX0gfSAnVEVTVFMnOwogICAgICBhcHBlbmRfZXhlZXh0IHsgZXhpc3Rz ICRrbm93bl9wcm9ncmFtc3skX1swXX0gfSAnWEZBSUxfVEVTVFMnCglpZiAodmFyICgnWEZB SUxfVEVTVFMnKSk7CgogICAgICBpZiAoISBvcHRpb24gJ3NlcmlhbC10ZXN0cycpCiAgICAg ICAgewoJICBkZWZpbmVfdmFyaWFibGUgKCdURVNUX1NVSVRFX0xPRycsICd0ZXN0LXN1aXRl LmxvZycsIElOVEVSTkFMKTsKCSAgbXkgJHN1ZmYgPSAnLnRlc3QnOwoJICBteSAkYXRfZXhl ZXh0ID0gJyc7CgkgIG15ICRoYW5kbGVfZXhlZXh0ID0gZXhpc3RzICRjb25maWd1cmVfdmFy c3snRVhFRVhUJ307CgkgIGlmICgkaGFuZGxlX2V4ZWV4dCkKCSAgICB7CgkgICAgICAkYXRf ZXhlZXh0ID0gc3Vic3QgKCdFWEVFWFQnKTsKCSAgICAgICRzdWZmID0gJGF0X2V4ZWV4dCAg LiAnICcgLiAkc3VmZjsKCSAgICB9CiAgICAgICAgICBpZiAoISB2YXIgJ1RFU1RfRVhURU5T SU9OUycpCiAgICAgICAgICAgIHsKCSAgICAgIGRlZmluZV92YXJpYWJsZSAoJ1RFU1RfRVhU RU5TSU9OUycsICRzdWZmLCBJTlRFUk5BTCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIG15 ICR2YXIgPSB2YXIgJ1RFU1RfRVhURU5TSU9OUyc7CiAgICAgICAgICAjIEN1cnJlbnRseSwg d2UgYXJlIG5vdCBhYmxlIHRvIGRlYWwgd2l0aCBjb25kaXRpb25hbCBjb250ZW50cwogICAg ICAgICAgIyBpbiBURVNUX0VYVEVOU0lPTlMuCiAgICAgICAgICBpZiAoJHZhci0+aGFzX2Nv bmRpdGlvbmFsX2NvbnRlbnRzKQogICAgICAgICAgIHsKCSAgICAgbXNnX3ZhciAndW5zdXBw b3J0ZWQnLCAkdmFyLAogICAgICAgICAgICAgICAgICAgICAiJ1RFU1RfRVhURU5TSU9OUycg Y2Fubm90IGhhdmUgY29uZGl0aW9uYWwgY29udGVudHMiOwogICAgICAgICAgIH0KCSAgbXkg QHRlc3Rfc3VmZml4ZXMgPSAkdmFyLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZTsKICAgICAg ICAgIGlmICgobXkgQGludmFsaWRfdGVzdF9zdWZmaXhlcyA9CiAgICAgICAgICAgICAgICAg IGdyZXAgeyAhaXNfdmFsaWRfdGVzdF9leHRlbnNpb24gJF8gfSBAdGVzdF9zdWZmaXhlcykg PiAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgZXJyb3IgJHZhci0+cmRlZiAoVFJV RSktPmxvY2F0aW9uLAogICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIHRlc3QgZXh0ZW5z aW9uczogQGludmFsaWRfdGVzdF9zdWZmaXhlcyI7CiAgICAgICAgICAgIH0KICAgICAgICAg IEB0ZXN0X3N1ZmZpeGVzID0gZ3JlcCB7IGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uICRfIH0g QHRlc3Rfc3VmZml4ZXM7CgkgIGlmICgkaGFuZGxlX2V4ZWV4dCkKCSAgICB7CgkgICAgICB1 bnNoaWZ0IChAdGVzdF9zdWZmaXhlcywgJGF0X2V4ZWV4dCkKCSAgICAgICAgdW5sZXNzICR0 ZXN0X3N1ZmZpeGVzWzBdIGVxICRhdF9leGVleHQ7CgkgICAgfQoJICB1bnNoaWZ0IChAdGVz dF9zdWZmaXhlcywgJycpOwoKCSAgdHJhbnNmb3JtX3ZhcmlhYmxlX3JlY3Vyc2l2ZWx5Cgkg ICAgKCdURVNUUycsICdURVNUX0xPR1MnLCAnYW1fX3Rlc3Rsb2dzJywgMSwgSU5URVJOQUws CgkgICAgICBzdWIgewoJICAgICAgICBteSAoJHN1YnZhciwgJHZhbCwgJGNvbmQsICRmdWxs X2NvbmQpID0gQF87CgkJbXkgJG9iaiA9ICR2YWw7CgkJcmV0dXJuICRvYmoKCQkgIGlmICR2 YWwgPX4gL15cQC4qXEAkLzsKCQkkb2JqID1+IHMvXCRcKEVYRUVYVFwpJC8vbzsKCgkJaWYg KCR2YWwgPX4gLyhcJFwoKHRvcF8pP3NyY2RpclwpKVwvL28pCgkJICB7CgkJICAgIG1zZyAo J2Vycm9yJywgJHN1YnZhci0+cmRlZiAoJGNvbmQpLT5sb2NhdGlvbiwKCQkJICJ1c2luZyAn JDEnIGluIFRFU1RTIGlzIGN1cnJlbnRseSBicm9rZW46ICckdmFsJyIpOwoJCSAgfQoKCQlm b3JlYWNoIG15ICR0ZXN0X3N1ZmZpeCAoQHRlc3Rfc3VmZml4ZXMpCgkJICB7CgkJICAgIG5l eHQKCQkgICAgICBpZiAkdGVzdF9zdWZmaXggZXEgJGF0X2V4ZWV4dCB8fCAkdGVzdF9zdWZm aXggZXEgJyc7CgkJICAgIHJldHVybiBzdWJzdHIgKCRvYmosIDAsIGxlbmd0aCAoJG9iaikg LSBsZW5ndGggKCR0ZXN0X3N1ZmZpeCkpIC4gJy5sb2cnCgkJICAgICAgaWYgc3Vic3RyICgk b2JqLCAtIGxlbmd0aCAoJHRlc3Rfc3VmZml4KSkgZXEgJHRlc3Rfc3VmZml4OwoJCSAgfQoJ CW15ICRiYXNlID0gJG9iajsKCQkkb2JqIC49ICcubG9nJzsKICAgICAgICAgICAgICAgIGhh bmRsZV9wZXJfc3VmZml4X3Rlc3QgKCcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT0JKID0+ICRvYmosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCQVNFID0+ICRiYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU09VUkNFID0+ICR2YWwpOwoJICAgICAgICByZXR1cm4gJG9iajsKCSAg ICAgIH0pOwoKCSAgbXkgJG5oZWxwZXI9MTsKCSAgbXkgJHByZXYgPSAnVEVTVFMnOwoJICBt eSAkcG9zdCA9ICcnOwoJICBteSAkbGFzdF9zdWZmaXggPSAkdGVzdF9zdWZmaXhlc1skI3Rl c3Rfc3VmZml4ZXNdOwoJICBteSAkY3VyID0gJyc7CgkgIGZvcmVhY2ggbXkgJHRlc3Rfc3Vm Zml4IChAdGVzdF9zdWZmaXhlcykKCSAgICB7CgkgICAgICBpZiAoJHRlc3Rfc3VmZml4IGVx ICRsYXN0X3N1ZmZpeCkKCSAgICAgICAgewoJCSAgJGN1ciA9ICdURVNUX0xPR1MnOwoJCX0K CSAgICAgIGVsc2UKCSAgICAgICAgewoJCSAgJGN1ciA9ICdhbV9fdGVzdF9sb2dzJyAuICRu aGVscGVyOwoJCX0KCSAgICAgIGRlZmluZV92YXJpYWJsZSAoJGN1ciwKCQknJCgnIC4gJHBy ZXYgLiAnOicgLiAkdGVzdF9zdWZmaXggLiAkcG9zdCAuICc9LmxvZyknLCBJTlRFUk5BTCk7 CgkgICAgICAkcG9zdCA9ICcubG9nJzsKCSAgICAgICRwcmV2ID0gJGN1cjsKCSAgICAgICRu aGVscGVyKys7CgkgICAgICBpZiAoJHRlc3Rfc3VmZml4IG5lICRhdF9leGVleHQgJiYgJHRl c3Rfc3VmZml4IG5lICcnKQoJICAgICAgICB7CiAgICAgICAgICAgICAgICAgIGhhbmRsZV9w ZXJfc3VmZml4X3Rlc3QgKCR0ZXN0X3N1ZmZpeCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT0JKID0+ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCQVNFID0+ICckKicsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNPVVJDRSA9PiAnJDwnKTsKCSAgICAgICAgfQoJICAgIH0K CSAgJGNsZWFuX2ZpbGVzeyckKFRFU1RfTE9HUyknfSA9IE1PU1RMWV9DTEVBTjsKCSAgJGNs ZWFuX2ZpbGVzeyckKFRFU1RfTE9HUzoubG9nPS50cnMpJ30gPSBNT1NUTFlfQ0xFQU47Cgkg ICRjbGVhbl9maWxlc3snJChURVNUX1NVSVRFX0xPRyknfSA9IE1PU1RMWV9DTEVBTjsKCX0K ICAgIH0KfQoKc3ViIGhhbmRsZV9lbWFjc19saXNwICgpCnsKICBteSBAZWxmaWxlcyA9IGFt X2luc3RhbGxfdmFyICgnLWNhbmRpc3QnLCAnbGlzcCcsICdMSVNQJywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbGlzcCcsICdub2luc3QnKTsKCiAgcmV0dXJuIGlmICEg QGVsZmlsZXM7CgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9fRUxGSUxFUycsIFRS VUUsIElOVEVSTkFMLAoJCQkgIG1hcCB7ICRfLT5bMV0gfSBAZWxmaWxlcyk7CiAgZGVmaW5l X3ByZXR0eV92YXJpYWJsZSAoJ2FtX19FTENGSUxFUycsIFRSVUUsIElOVEVSTkFMLAoJCQkg ICckKGFtX19FTEZJTEVTOi5lbD0uZWxjKScpOwogICMgVGhpcyBvbmUgY2FuIGJlIG92ZXJy aWRkZW4gYnkgdXNlcnMuCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ0VMQ0ZJTEVTJywg VFJVRSwgSU5URVJOQUwsICckKExJU1A6LmVsPS5lbGMpJyk7CgogIHB1c2ggQGFsbCwgJyQo RUxDRklMRVMpJzsKCiAgcmVxdWlyZV92YXJpYWJsZXMgKCRlbGZpbGVzWzBdWzBdLCAiRW1h Y3MgTGlzcCBzb3VyY2VzIHNlZW4iLCBUUlVFLAoJCSAgICAgJ0VNQUNTJywgJ2xpc3BkaXIn KTsKfQoKc3ViIGhhbmRsZV9weXRob24gKCkKewogIG15IEBweWZpbGVzID0gYW1faW5zdGFs bF92YXIgKCctZGVmYXVsdGRpc3QnLCAncHl0aG9uJywgJ1BZVEhPTicsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ25vaW5zdCcpOwogIHJldHVybiBpZiAhIEBweWZpbGVz OwoKICByZXF1aXJlX3ZhcmlhYmxlcyAoJHB5ZmlsZXNbMF1bMF0sICJQeXRob24gc291cmNl cyBzZWVuIiwgVFJVRSwgJ1BZVEhPTicpOwogIHJlcXVpcmVfY29uZl9maWxlICgkcHlmaWxl c1swXVswXSwgRk9SRUlHTiwgJ3B5LWNvbXBpbGUnKTsKICBkZWZpbmVfdmFyaWFibGUgKCdw eV9jb21waWxlJywgIiRhbV9jb25maWdfYXV4X2Rpci9weS1jb21waWxlIiwgSU5URVJOQUwp Owp9CgpzdWIgaGFuZGxlX2phdmEgKCkKewogICAgbXkgQHNvdXJjZWxpc3QgPSBhbV9pbnN0 YWxsX3ZhciAoJy1jYW5kaXN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdqYXZhJywgJ0pBVkEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ25vaW5zdCcsICdjaGVjaycpOwogICAgcmV0dXJuIGlmICEgQHNvdXJjZWxpc3Q7Cgog ICAgbXkgQHByZWZpeGVzID0gYW1fcHJpbWFyeV9wcmVmaXhlcyAoJ0pBVkEnLCAxLAoJCQkJ ICAgICAgICAnbm9pbnN0JywgJ2NoZWNrJyk7CgogICAgbXkgJGRpcjsKICAgIG15IEBqYXZh X3NvdXJjZXMgPSAoKTsKICAgIGZvcmVhY2ggbXkgJHByZWZpeCAoQHByZWZpeGVzKQogICAg ICB7CiAgICAgICAgKG15ICRjdXJzID0gJHByZWZpeCkgPX4gcy9eKD86bm9iYXNlXyk/KD86 ZGlzdF98bm9kaXN0Xyk/Ly87CgoJbmV4dAoJICBpZiAkY3VycyBlcSAnRVhUUkEnOwoKICAg ICAgICBwdXNoIEBqYXZhX3NvdXJjZXMsICckKCcgLiAkcHJlZml4IC4gJ19KQVZBJyAuICcp JzsKCglpZiAoZGVmaW5lZCAkZGlyKQoJICB7CgkgICAgZXJyX3ZhciAiJHtjdXJzfV9KQVZB IiwgIm11bHRpcGxlIF9KQVZBIHByaW1hcmllcyBpbiB1c2UiCgkgICAgIHVubGVzcyAkY3Vy cyBlcSAkZGlyOwoJICB9CgoJJGRpciA9ICRjdXJzOwogICAgICB9CgogICAgZGVmaW5lX3By ZXR0eV92YXJpYWJsZSAoJ2FtX19qYXZhX3NvdXJjZXMnLCBUUlVFLCBJTlRFUk5BTCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJAamF2YV9zb3VyY2VzIik7CgogICAgaWYgKCRk aXIgZXEgJ2NoZWNrJykKICAgICAgewogICAgICAgIHB1c2ggKEBjaGVjaywgImNsYXNzJGRp ci5zdGFtcCIpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKICAgICAgICBwdXNoIChAYWxs LCAiY2xhc3MkZGlyLnN0YW1wIik7CiAgICAgIH0KfQoKCnN1YiBoYW5kbGVfbWlub3Jfb3B0 aW9ucyAoKQp7CiAgaWYgKG9wdGlvbiAncmVhZG1lLWFscGhhJykKICAgIHsKICAgICAgaWYg KCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQoJewoJICBpZiAoJHBhY2thZ2VfdmVyc2lvbiAhfiAv XiRHTklUU19WRVJTSU9OX1BBVFRFUk4kLykKCSAgICB7CgkgICAgICBtc2cgKCdlcnJvci1n bml0cycsICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24sCgkJICAgInZlcnNpb24gJyRwYWNr YWdlX3ZlcnNpb24nIGRvZXNuJ3QgZm9sbG93ICIgLgoJCSAgICJHbml0cyBzdGFuZGFyZHMi KTsKCSAgICB9CgkgIGlmIChkZWZpbmVkICQxICYmIC1mICdSRUFETUUtYWxwaGEnKQoJICAg IHsKCSAgICAgICMgVGhpcyBtZWFucyB3ZSBoYXZlIGFuIGFscGhhIHJlbGVhc2UuICBTZWUK CSAgICAgICMgR05JVFNfVkVSU0lPTl9QQVRURVJOIGZvciBkZXRhaWxzLgoJICAgICAgcHVz aF9kaXN0X2NvbW1vbiAoJ1JFQURNRS1hbHBoYScpOwoJICAgIH0KCX0KICAgIH0KfQoKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwoKIyAoJE9VVFBVVCwgQElOUFVUUykKIyBzcGxpdF9jb25maWdfZmlsZV9zcGVj ICgkU1BFQykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWNvZGUgdGhl IEF1dG9jb25mIHN5bnRheCBmb3IgY29uZmlnIGZpbGVzIChmaWxlcywgaGVhZGVycywgbGlu a3MKIyBldGMuKS4Kc3ViIHNwbGl0X2NvbmZpZ19maWxlX3NwZWMKewogIG15ICgkc3BlYykg PSBAXzsKICBteSAoJG91dHB1dCwgQGlucHV0cykgPSBzcGxpdCAoLzovLCAkc3BlYyk7Cgog IHB1c2ggQGlucHV0cywgIiRvdXRwdXQuaW4iCiAgICB1bmxlc3MgQGlucHV0czsKCiAgcmV0 dXJuICgkb3V0cHV0LCBAaW5wdXRzKTsKfQoKIyAkaW5wdXQKIyBsb2NhdGVfYW0gKEBQT1NT SUJMRV9TT1VSQ0VTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQUNfQ09O RklHX0ZJTEVTIGFsbG93IHNwZWNpZmljYXRpb25zIHN1Y2ggYXMgTWFrZWZpbGU6dG9wLmlu Om1pZC5pbjpib3QuaW4KIyBUaGlzIGZ1bmN0aW9ucyByZXR1cm5zIHRoZSBmaXJzdCAqLmlu IGZpbGUgZm9yIHdoaWNoIGEgKi5hbSBleGlzdHMuCiMgSXQgcmV0dXJucyB1bmRlZiBvdGhl cndpc2UuCnN1YiBsb2NhdGVfYW0KewogIG15IChAcmVzdCkgPSBAXzsKICBteSAkaW5wdXQ7 CiAgZm9yZWFjaCBteSAkZmlsZSAoQHJlc3QpCiAgICB7CiAgICAgIGlmICgoJGZpbGUgPX4g L14oLiopXC5pbiQvKSAmJiAtZiAiJDEuYW0iKQoJewoJICAkaW5wdXQgPSAkZmlsZTsKCSAg bGFzdDsKCX0KICAgIH0KICByZXR1cm4gJGlucHV0Owp9CgpteSAlbWFrZV9saXN0OwoKIyBz Y2FuX2F1dG9jb25mX2NvbmZpZ19maWxlcyAoJFdIRVJFLCAkQ09ORklHLUZJTEVTKQojIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU3R1 ZHkgJENPTkZJRy1GSUxFUyB3aGljaCBpcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gQUNfQ09O RklHX0ZJTEVTCiMgKG9yIEFDX09VVFBVVCkuCnN1YiBzY2FuX2F1dG9jb25mX2NvbmZpZ19m aWxlcwp7CiAgbXkgKCR3aGVyZSwgJGNvbmZpZ19maWxlcykgPSBAXzsKCiAgIyBMb29rIGF0 IHBvdGVudGlhbCBNYWtlZmlsZS5hbSdzLgogIGZvcmVhY2ggKHNwbGl0ICcgJywgJGNvbmZp Z19maWxlcykKICAgIHsKICAgICAgIyBNdXN0IHNraXAgZW1wdHkgc3RyaW5nIGZvciBQZXJs IDQuCiAgICAgIG5leHQgaWYgJF8gZXEgIlxcIiB8fCAkXyBlcSAnJzsKCiAgICAgICMgSGFu ZGxlICRsb2NhbDokaW5wdXQgc3ludGF4LgogICAgICBteSAoJGxvY2FsLCBAcmVzdCkgPSBz cGxpdCAoLzovKTsKICAgICAgQHJlc3QgPSAoIiRsb2NhbC5pbiIsKSB1bmxlc3MgQHJlc3Q7 CiAgICAgICMgS2VlcCBpbiBzeW5jIHdpdGggdGVzdCAnY29uZmZpbGUtbGVhZGluZy1kb3Qu c2gnLgogICAgICBtc2cgKCd1bnN1cHBvcnRlZCcsICR3aGVyZSwKICAgICAgICAgICAib21p dCBsZWFkaW5nICcuLycgZnJvbSBjb25maWcgZmlsZSBuYW1lcyBzdWNoIGFzICckbG9jYWwn OyIKICAgICAgICAgICAuICJcbnJlbWFrZSBydWxlcyBtaWdodCBiZSBzdWJ0bHkgYnJva2Vu IG90aGVyd2lzZSIpCiAgICAgICAgaWYgKCRsb2NhbCA9fiAvXlwuXC8vKTsKICAgICAgbXkg JGlucHV0ID0gbG9jYXRlX2FtIEByZXN0OwogICAgICBpZiAoJGlucHV0KQoJewoJICAjIFdl IGhhdmUgYSBmaWxlIHRoYXQgYXV0b21ha2Ugc2hvdWxkIGdlbmVyYXRlLgoJICAkbWFrZV9s aXN0eyRpbnB1dH0gPSBqb2luICgnOicsICgkbG9jYWwsIEByZXN0KSk7Cgl9CiAgICAgIGVs c2UKCXsKCSAgIyBXZSBoYXZlIGEgZmlsZSB0aGF0IGF1dG9tYWtlIHNob3VsZCBjYXVzZSB0 byBiZQoJICAjIHJlYnVpbHQsIGJ1dCBzaG91bGRuJ3QgZ2VuZXJhdGUgaXRzZWxmLgoJICBw dXNoIChAb3RoZXJfaW5wdXRfZmlsZXMsICRfKTsKCX0KICAgICAgJGFjX2NvbmZpZ19maWxl c19sb2NhdGlvbnskbG9jYWx9ID0gJHdoZXJlOwogICAgICAkYWNfY29uZmlnX2ZpbGVzX2Nv bmRpdGlvbnskbG9jYWx9ID0KICAgICAgICBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNv bmRfc3RhY2spCiAgICAgICAgICBpZiAoQGNvbmRfc3RhY2spOwogICAgfQp9CgoKc3ViIHNj YW5fYXV0b2NvbmZfdHJhY2VzCnsKICBteSAoJGZpbGVuYW1lKSA9IEBfOwoKICAjIE1hY3Jv cyB0byB0cmFjZSwgd2l0aCB0aGVpciBtaW5pbWFsIG51bWJlciBvZiBhcmd1bWVudHMuCiAg IwogICMgSU1QT1JUQU5UOiBJZiB5b3UgYWRkIGEgbWFjcm8gaGVyZSwgeW91IHNob3VsZCBh bHNvIGFkZCB0aGlzIG1hY3JvCiAgIyA9PT09PT09PT0gIHRvIEF1dG9tYWtlLXByZXNlbGVj dGlvbiBpbiBhdXRvY29uZi9saWIvYXV0b200dGUuaW4uCiAgbXkgJXRyYWNlZCA9ICgKCQlB Q19DQU5PTklDQUxfQlVJTEQgPT4gMCwKCQlBQ19DQU5PTklDQUxfSE9TVCA9PiAwLAoJCUFD X0NBTk9OSUNBTF9UQVJHRVQgPT4gMCwKCQlBQ19DT05GSUdfQVVYX0RJUiA9PiAxLAoJCUFD X0NPTkZJR19GSUxFUyA9PiAxLAoJCUFDX0NPTkZJR19IRUFERVJTID0+IDEsCgkJQUNfQ09O RklHX0xJQk9CSl9ESVIgPT4gMSwKCQlBQ19DT05GSUdfTElOS1MgPT4gMSwKCQlBQ19GQ19T UkNFWFQgPT4gMSwKCQlBQ19JTklUID0+IDAsCgkJQUNfTElCU09VUkNFID0+IDEsCgkJQUNf UkVRVUlSRV9BVVhfRklMRSA9PiAxLAoJCUFDX1NVQlNUX1RSQUNFID0+IDEsCgkJQU1fQVVU T01BS0VfVkVSU0lPTiA9PiAxLAogICAgICAgICAgICAgICAgQU1fUFJPR19NS0RJUl9QID0+ IDAsCgkJQU1fQ09ORElUSU9OQUwgPT4gMiwKCQlBTV9FWFRSQV9SRUNVUlNJVkVfVEFSR0VU UyA9PiAxLAoJCUFNX0dOVV9HRVRURVhUID0+IDAsCgkJQU1fR05VX0dFVFRFWFRfSU5UTF9T VUJESVIgPT4gMCwKCQlBTV9JTklUX0FVVE9NQUtFID0+IDAsCgkJQU1fTUFJTlRBSU5FUl9N T0RFID0+IDAsCgkJQU1fUFJPR19BUiA9PiAwLAoJCV9BTV9TVUJTVF9OT1RNQUtFID0+IDEs CgkJX0FNX0NPTkRfSUYgPT4gMSwKCQlfQU1fQ09ORF9FTFNFID0+IDEsCgkJX0FNX0NPTkRf RU5ESUYgPT4gMSwKCQlMVF9TVVBQT1JURURfVEFHID0+IDEsCgkJX0xUX0FDX1RBR0NPTkZJ RyA9PiAwLAoJCW00X2luY2x1ZGUgPT4gMSwKCQltNF9zaW5jbHVkZSA9PiAxLAoJCXNpbmNs dWRlID0+IDEsCgkgICAgICApOwoKICBteSAkdHJhY2VzID0gKCRFTlZ7QVVUT0NPTkZ9IHx8 ICdhdXRvY29uZicpIC4gIiAiOwoKICAjIFVzZSBhIHNlcGFyYXRvciB1bmxpa2VseSB0byBi ZSB1c2VkLCBub3QgJzonLCB0aGUgZGVmYXVsdCwgd2hpY2gKICAjIGhhcyBhIHByZWNpc2Ug bWVhbmluZyBmb3IgQUNfQ09ORklHX0ZJTEVTIGFuZCBzbyBvbi4KICAkdHJhY2VzIC49IGpv aW4gKCcgJywKCQkgICBtYXAgeyAiLS10cmFjZT0kXyIgLiAnOlwkZjpcJGw6OlwkZDo6XCRu OjpcJHs6On0lJyB9CgkJICAgKGtleXMgJXRyYWNlZCkpOwoKICBteSAkdHJhY2VmaCA9IG5l dyBBdXRvbWFrZTo6WEZpbGUgKCIkdHJhY2VzICRmaWxlbmFtZSB8Iik7CiAgdmVyYiAicmVh ZGluZyAkdHJhY2VzIjsKCiAgQGNvbmRfc3RhY2sgPSAoKTsKICBteSAkd2hlcmU7CgogIHdo aWxlICgkXyA9ICR0cmFjZWZoLT5nZXRsaW5lKQogICAgewogICAgICBjaG9tcDsKICAgICAg bXkgKCRoZXJlLCAkZGVwdGgsIEBhcmdzKSA9IHNwbGl0ICgvOjovKTsKICAgICAgJHdoZXJl ID0gbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiAkaGVyZTsKICAgICAgbXkgJG1hY3JvID0gJGFy Z3NbMF07CgogICAgICBwcm9nX2Vycm9yICgidW5yZXF1ZXN0ZWQgdHJhY2UgJyRtYWNybyci KQoJdW5sZXNzIGV4aXN0cyAkdHJhY2VkeyRtYWNyb307CgogICAgICAjIFNraXAgYW5kIGRp YWdub3NlIG1hbGZvcm1lZCBjYWxscy4KICAgICAgaWYgKCQjYXJncyA8ICR0cmFjZWR7JG1h Y3JvfSkKCXsKCSAgbXNnICgnc3ludGF4JywgJHdoZXJlLCAibm90IGVub3VnaCBhcmd1bWVu dHMgZm9yICRtYWNybyIpOwoJICBuZXh0OwoJfQoKICAgICAgIyBBbHBoYWJldGljYWwgb3Jk ZXJpbmcgcGxlYXNlLgogICAgICBpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfQlVJTEQn KQoJewoJICBpZiAoJHNlZW5fY2Fub25pY2FsIDw9IEFDX0NBTk9OSUNBTF9CVUlMRCkKCSAg ICB7CgkgICAgICAkc2Vlbl9jYW5vbmljYWwgPSBBQ19DQU5PTklDQUxfQlVJTEQ7CgkgICAg fQoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfSE9TVCcpCgl7Cgkg IGlmICgkc2Vlbl9jYW5vbmljYWwgPD0gQUNfQ0FOT05JQ0FMX0hPU1QpCgkgICAgewoJICAg ICAgJHNlZW5fY2Fub25pY2FsID0gQUNfQ0FOT05JQ0FMX0hPU1Q7CgkgICAgfQoJfQogICAg ICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfVEFSR0VUJykKCXsKCSAgJHNlZW5f Y2Fub25pY2FsID0gQUNfQ0FOT05JQ0FMX1RBUkdFVDsKCX0KICAgICAgZWxzaWYgKCRtYWNy byBlcSAnQUNfQ09ORklHX0FVWF9ESVInKQoJewoJICBpZiAoJHNlZW5faW5pdF9hdXRvbWFr ZSkKCSAgICB7CgkgICAgICBlcnJvciAoJHdoZXJlLCAiQUNfQ09ORklHX0FVWF9ESVIgbXVz dCBiZSBjYWxsZWQgYmVmb3JlICIKCQkgICAgIC4gIkFNX0lOSVRfQVVUT01BS0UgLi4uIiwg cGFydGlhbCA9PiAxKTsKCSAgICAgIGVycm9yICgkc2Vlbl9pbml0X2F1dG9tYWtlLCAiLi4u IEFNX0lOSVRfQVVUT01BS0UgY2FsbGVkIGhlcmUiKTsKCSAgICB9CgkgICRjb25maWdfYXV4 X2RpciA9ICRhcmdzWzFdOwoJICAkY29uZmlnX2F1eF9kaXJfc2V0X2luX2NvbmZpZ3VyZV9h YyA9IDE7CgkgIGNoZWNrX2RpcmVjdG9yeSAoJGNvbmZpZ19hdXhfZGlyLCAkd2hlcmUpOwoJ fQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DT05GSUdfRklMRVMnKQoJewoJICAjIExv b2sgYXQgcG90ZW50aWFsIE1ha2VmaWxlLmFtJ3MuCgkgIHNjYW5fYXV0b2NvbmZfY29uZmln X2ZpbGVzICgkd2hlcmUsICRhcmdzWzFdKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAn QUNfQ09ORklHX0hFQURFUlMnKQoJewoJICBmb3JlYWNoIG15ICRzcGVjIChzcGxpdCAoJyAn LCAkYXJnc1sxXSkpCgkgICAgewoJICAgICAgbXkgKCRkZXN0LCBAc3JjKSA9IHNwbGl0ICgn OicsICRzcGVjKTsKCSAgICAgICRhY19jb25maWdfZmlsZXNfbG9jYXRpb257JGRlc3R9ID0g JHdoZXJlOwoJICAgICAgcHVzaCBAY29uZmlnX2hlYWRlcnMsICRzcGVjOwoJICAgIH0KCX0K ICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklHX0xJQk9CSl9ESVInKQoJewoJICAk Y29uZmlnX2xpYm9ial9kaXIgPSAkYXJnc1sxXTsKCSAgY2hlY2tfZGlyZWN0b3J5ICgkY29u ZmlnX2xpYm9ial9kaXIsICR3aGVyZSk7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FD X0NPTkZJR19MSU5LUycpCgl7CgkgIGZvcmVhY2ggbXkgJHNwZWMgKHNwbGl0ICgnICcsICRh cmdzWzFdKSkKCSAgICB7CgkgICAgICBteSAoJGRlc3QsICRzcmMpID0gc3BsaXQgKCc6Jywg JHNwZWMpOwoJICAgICAgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZGVzdH0gPSAkd2hl cmU7CgkgICAgICBwdXNoIEBjb25maWdfbGlua3MsICRzcGVjOwoJICAgIH0KCX0KICAgICAg ZWxzaWYgKCRtYWNybyBlcSAnQUNfRkNfU1JDRVhUJykKCXsKCSAgbXkgJHN1ZmZpeCA9ICRh cmdzWzFdOwoJICAjIFRoZXNlIGZsYWdzIGFyZSB1c2VkIGFzICVTT1VSQ0VGTEFHJSBpbiBk ZXBlbmQyLmFtLAoJICAjIHdoZXJlIHRoZSB0cmFpbGluZyBzcGFjZSBpcyBpbXBvcnRhbnQu CgkgICRzb3VyY2VmbGFnc3snLicgLiAkc3VmZml4fSA9ICckKEZDRkxBR1NfJyAuICRzdWZm aXggLiAnKSAnCgkgICAgaWYgKCRzdWZmaXggZXEgJ2Y5MCcgfHwgJHN1ZmZpeCBlcSAnZjk1 JyB8fCAkc3VmZml4IGVxICdmMDMnIHx8ICRzdWZmaXggZXEgJ2YwOCcpOwoJfQogICAgICBl bHNpZiAoJG1hY3JvIGVxICdBQ19JTklUJykKCXsKCSAgaWYgKGRlZmluZWQgJGFyZ3NbMl0p CgkgICAgewoJICAgICAgJHBhY2thZ2VfdmVyc2lvbiA9ICRhcmdzWzJdOwoJICAgICAgJHBh Y2thZ2VfdmVyc2lvbl9sb2NhdGlvbiA9ICR3aGVyZTsKCSAgICB9Cgl9CiAgICAgIGVsc2lm ICgkbWFjcm8gZXEgJ0FDX0xJQlNPVVJDRScpCgl7CgkgICRsaWJzb3VyY2VzeyRhcmdzWzFd fSA9ICRoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19SRVFVSVJFX0FVWF9G SUxFJykKCXsKCSAgIyBPbmx5IHJlbWVtYmVyIHRoZSBmaXJzdCB0aW1lIGEgZmlsZSBpcyBy ZXF1aXJlZC4KCSAgJHJlcXVpcmVkX2F1eF9maWxleyRhcmdzWzFdfSA9ICR3aGVyZQoJICAg IHVubGVzcyBleGlzdHMgJHJlcXVpcmVkX2F1eF9maWxleyRhcmdzWzFdfTsKCX0KICAgICAg ZWxzaWYgKCRtYWNybyBlcSAnQUNfU1VCU1RfVFJBQ0UnKQoJewoJICAjIEp1c3QgY2hlY2sg Zm9yIGFscGhhbnVtZXJpYyBpbiBBQ19TVUJTVF9UUkFDRS4gIElmIHlvdSBkbwoJICAjIEFD X1NVQlNUKDUpLCB0aGVuIHRvbyBiYWQuCgkgICRjb25maWd1cmVfdmFyc3skYXJnc1sxXX0g PSAkd2hlcmUKCSAgICBpZiAkYXJnc1sxXSA9fiAvXlx3KyQvOwoJfQogICAgICBlbHNpZiAo JG1hY3JvIGVxICdBTV9BVVRPTUFLRV9WRVJTSU9OJykKCXsKCSAgZXJyb3IgKCR3aGVyZSwK CQkgInZlcnNpb24gbWlzbWF0Y2guICBUaGlzIGlzIEF1dG9tYWtlICRWRVJTSU9OLFxuIiAu CgkJICJidXQgdGhlIGRlZmluaXRpb24gdXNlZCBieSB0aGlzIEFNX0lOSVRfQVVUT01BS0Vc biIgLgoJCSAiY29tZXMgZnJvbSBBdXRvbWFrZSAkYXJnc1sxXS4gIFlvdSBzaG91bGQgcmVj cmVhdGVcbiIgLgoJCSAiYWNsb2NhbC5tNCB3aXRoIGFjbG9jYWwgYW5kIHJ1biBhdXRvbWFr ZSBhZ2Fpbi5cbiIsCgkJICMgJD8gPSA2MyBpcyB1c2VkIHRvIGluZGljYXRlIHZlcnNpb24g bWlzbWF0Y2ggdG8gbWlzc2luZy4KCQkgZXhpdF9jb2RlID0+IDYzKQoJICAgIGlmICRWRVJT SU9OIG5lICRhcmdzWzFdOwoKCSAgJHNlZW5fYXV0b21ha2VfdmVyc2lvbiA9IDE7Cgl9CiAg ICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FNX1BST0dfTUtESVJfUCcpCgl7CgkgIG1zZyAnb2Jz b2xldGUnLCAkd2hlcmUsIDw8J0VPRic7ClRoZSAnQU1fUFJPR19NS0RJUl9QJyBtYWNybyBp cyBkZXByZWNhdGVkLCBhbmQgaXRzIHVzZSBpcyBkaXNjb3VyYWdlZC4KWW91IHNob3VsZCB1 c2UgdGhlIEF1dG9jb25mLXByb3ZpZGVkICdBQ19QUk9HX01LRElSX1AnIG1hY3JvIGluc3Rl YWQsCmFuZCB1c2UgJyQoTUtESVJfUCknIGluc3RlYWQgb2YgJyQobWtkaXJfcCknaW4geW91 ciBNYWtlZmlsZS5hbSBmaWxlcy4KRU9GCgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FN X0NPTkRJVElPTkFMJykKCXsKCSAgJGNvbmZpZ3VyZV9jb25keyRhcmdzWzFdfSA9ICR3aGVy ZTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fRVhUUkFfUkVDVVJTSVZFX1RBUkdF VFMnKQoJewogICAgICAgICAgIyBFbXB0eSBsZWFkaW5nL3RyYWlsaW5nIGZpZWxkcyBtaWdo dCBiZSBwcm9kdWNlZCBieSBzcGxpdCwKICAgICAgICAgICMgaGVuY2UgdGhlIGdyZXAgaXMg cmVhbGx5IG5lZWRlZC4KICAgICAgICAgIHB1c2ggQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRz LAogICAgICAgICAgICAgICBncmVwICgvLi8sIChzcGxpdCAvXHMrLywgJGFyZ3NbMV0pKTsK CX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fR05VX0dFVFRFWFQnKQoJewoJICAkc2Vl bl9nZXR0ZXh0ID0gJHdoZXJlOwoJICAkYWNfZ2V0dGV4dF9sb2NhdGlvbiA9ICR3aGVyZTsK CSAgJHNlZW5fZ2V0dGV4dF9leHRlcm5hbCA9IGdyZXAgKCRfIGVxICdleHRlcm5hbCcsIEBh cmdzKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fR05VX0dFVFRFWFRfSU5UTF9T VUJESVInKQoJewoJICAkc2Vlbl9nZXR0ZXh0X2ludGwgPSAkd2hlcmU7Cgl9CiAgICAgIGVs c2lmICgkbWFjcm8gZXEgJ0FNX0lOSVRfQVVUT01BS0UnKQoJewoJICAkc2Vlbl9pbml0X2F1 dG9tYWtlID0gJHdoZXJlOwoJICBpZiAoZGVmaW5lZCAkYXJnc1syXSkKCSAgICB7CiAgICAg ICAgICAgICAgbXNnICdvYnNvbGV0ZScsICR3aGVyZSwgPDwnRU9GJzsKQU1fSU5JVF9BVVRP TUFLRTogdHdvLSBhbmQgdGhyZWUtYXJndW1lbnRzIGZvcm1zIGFyZSBkZXByZWNhdGVkLiAg Rm9yIG1vcmUgaW5mbywgc2VlOgpodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9t YWtlL21hbnVhbC9hdXRvbWFrZS5odG1sI01vZGVybml6ZS1BTV8wMDVmSU5JVF8wMDVmQVVU T01BS0UtaW52b2NhdGlvbgpFT0YKCSAgICAgICRwYWNrYWdlX3ZlcnNpb24gPSAkYXJnc1sy XTsKCSAgICAgICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24gPSAkd2hlcmU7CgkgICAgfQoJ ICBlbHNpZiAoZGVmaW5lZCAkYXJnc1sxXSkKCSAgICB7CgkgICAgICBteSBAb3B0cyA9IHNw bGl0ICgnICcsICRhcmdzWzFdKTsKCSAgICAgIEBvcHRzID0gbWFwIHsgeyBvcHRpb24gPT4g JF8sIHdoZXJlID0+ICR3aGVyZSB9IH0gQG9wdHM7CgkgICAgICBleGl0ICRleGl0X2NvZGUg dW5sZXNzIHByb2Nlc3NfZ2xvYmFsX29wdGlvbl9saXN0IChAb3B0cyk7CgkgICAgfQoJfQog ICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9NQUlOVEFJTkVSX01PREUnKQoJewoJICAkc2Vl bl9tYWludF9tb2RlID0gJHdoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9Q Uk9HX0FSJykKCXsKCSAgJHNlZW5fYXIgPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ19BTV9DT05EX0lGJykKICAgICAgICB7CgkgIGNvbmRfc3RhY2tfaWYgKCcnLCAk YXJnc1sxXSwgJHdoZXJlKTsKCSAgZXJyb3IgKCR3aGVyZSwgIm1pc3NpbmcgbTQgcXVvdGlu ZywgbWFjcm8gZGVwdGggJGRlcHRoIikKCSAgICBpZiAoJGRlcHRoICE9IDEpOwoJfQogICAg ICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORF9FTFNFJykKICAgICAgICB7CgkgIGNvbmRf c3RhY2tfZWxzZSAoJyEnLCAkYXJnc1sxXSwgJHdoZXJlKTsKCSAgZXJyb3IgKCR3aGVyZSwg Im1pc3NpbmcgbTQgcXVvdGluZywgbWFjcm8gZGVwdGggJGRlcHRoIikKCSAgICBpZiAoJGRl cHRoICE9IDEpOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORF9FTkRJRicp CiAgICAgICAgewoJICBjb25kX3N0YWNrX2VuZGlmICh1bmRlZiwgdW5kZWYsICR3aGVyZSk7 CgkgIGVycm9yICgkd2hlcmUsICJtaXNzaW5nIG00IHF1b3RpbmcsIG1hY3JvIGRlcHRoICRk ZXB0aCIpCgkgICAgaWYgKCRkZXB0aCAhPSAxKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBl cSAnX0FNX1NVQlNUX05PVE1BS0UnKQoJewoJICAkaWdub3JlZF9jb25maWd1cmVfdmFyc3sk YXJnc1sxXX0gPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ200X2luY2x1 ZGUnCgkgICAgIHx8ICRtYWNybyBlcSAnbTRfc2luY2x1ZGUnCgkgICAgIHx8ICRtYWNybyBl cSAnc2luY2x1ZGUnKQoJewoJICAjIFNraXAgbWlzc2luZyAnc2luY2x1ZGUnZCBmaWxlcy4K CSAgbmV4dCBpZiAkbWFjcm8gbmUgJ200X2luY2x1ZGUnICYmICEgLWYgJGFyZ3NbMV07CgoJ ICAjIFNvbWUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgQXV0b2NvbmYgZG9uJ3QgdXNlCgkgICMg ZnJvemVuIGZpbGVzLiAgQ29uc2VxdWVudGx5IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBzZWUg YWxsCgkgICMgbTRfaW5jbHVkZSdzIHBlcmZvcm1lZCBkdXJpbmcgQXV0b2NvbmYncyBzdGFy dHVwLgoJICAjIE9idmlvdXNseSB3ZSBkb24ndCB3YW50IHRvIGRpc3RyaWJ1dGUgQXV0b2Nv bmYncyBmaWxlcwoJICAjIHNvIHdlIHNraXAgYWJzb2x1dGUgZmlsZW5hbWVzIGhlcmUuCgkg IHB1c2ggQGNvbmZpZ3VyZV9kZXBzLCAnJCh0b3Bfc3JjZGlyKS8nIC4gJGFyZ3NbMV0KCSAg ICB1bmxlc3MgJGhlcmUgPX4gbSxeKD86XHc6KT9bXFwvXSw7CgkgICMgS2VlcCB0cmFjayBv ZiB0aGUgZ3JlYXRlc3QgdGltZXN0YW1wLgoJICBpZiAoLWUgJGFyZ3NbMV0pCgkgICAgewoJ ICAgICAgbXkgJG10aW1lID0gbXRpbWUgJGFyZ3NbMV07CgkgICAgICAkY29uZmlndXJlX2Rl cHNfZ3JlYXRlc3RfdGltZXN0YW1wID0gJG10aW1lCgkJaWYgJG10aW1lID4gJGNvbmZpZ3Vy ZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsKCSAgICB9Cgl9CiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ0xUX1NVUFBPUlRFRF9UQUcnKQoJewoJICAkbGlidG9vbF90YWdzeyRhcmdzWzFd fSA9IDE7CgkgICRsaWJ0b29sX25ld19hcGkgPSAxOwoJfQogICAgICBlbHNpZiAoJG1hY3Jv IGVxICdfTFRfQUNfVEFHQ09ORklHJykKCXsKCSAgIyBfTFRfQUNfVEFHQ09ORklHIGlzIGFu IG9sZCBtYWNybyBwcmVzZW50IGluIExpYnRvb2wgMS41LgoJICAjIFdlIHVzZSBpdCB0byBk ZXRlY3Qgd2hldGhlciB0YWdzIGFyZSBzdXBwb3J0ZWQuICBPdXIKCSAgIyBwcmVmZXJyZWQg aW50ZXJmYWNlIGlzIExUX1NVUFBPUlRFRF9UQUcsIGJ1dCBpdCB3YXMKCSAgIyBpbnRyb2R1 Y2VkIGluIExpYnRvb2wgMS42LgoJICBpZiAoMCA9PSBrZXlzICVsaWJ0b29sX3RhZ3MpCgkg ICAgewoJICAgICAgIyBIYXJkY29kZSB0aGUgdGFncyBzdXBwb3J0ZWQgYnkgTGlidG9vbCAx LjUuCgkgICAgICAlbGlidG9vbF90YWdzID0gKENDID0+IDEsIENYWCA9PiAxLCBHQ0ogPT4g MSwgRjc3ID0+IDEpOwoJICAgIH0KCX0KICAgIH0KCiAgZXJyb3IgKCR3aGVyZSwgImNvbmRp dGlvbiBzdGFjayBub3QgcHJvcGVybHkgY2xvc2VkIikKICAgIGlmIChAY29uZF9zdGFjayk7 CgogICR0cmFjZWZoLT5jbG9zZTsKfQoKCiMgQ2hlY2sgd2hldGhlciB3ZSB1c2UgJ2NvbmZp Z3VyZS5hYycgb3IgJ2NvbmZpZ3VyZS5pbicuCiMgU2NhbiBpdCAoYW5kIHBvc3NpYmx5ICdh Y2xvY2FsLm00JykgZm9yIGludGVyZXN0aW5nIHRoaW5ncy4KIyBXZSBtdXN0IHNjYW4gYWNs b2NhbC5tNCBiZWNhdXNlIHRoZXJlIG1pZ2h0IGJlIEFDX1NVQlNUcyBhbmQgc3VjaCB0aGVy ZS4Kc3ViIHNjYW5fYXV0b2NvbmZfZmlsZXMgKCkKewogICMgUmVpbml0aWFsaXplIGxpYnNv dXJjZXMgaGVyZS4gIFRoaXMgaXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeSwKICAjIHNpbmNlIHdl IGN1cnJlbnRseSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgY29uZmlndXJlLmFjLiAgQnV0 CiAgIyB0aGF0IHdvbid0IGFsd2F5cyBiZSB0aGUgY2FzZS4KICAlbGlic291cmNlcyA9ICgp OwoKICAjIEtlZXAgdHJhY2sgb2YgdGhlIHlvdW5nZXN0IGNvbmZpZ3VyZSBkZXBlbmRlbmN5 LgogICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPSBtdGltZSAkY29uZmln dXJlX2FjOwogIGlmICgtZSAnYWNsb2NhbC5tNCcpCiAgICB7CiAgICAgIG15ICRtdGltZSA9 IG10aW1lICdhY2xvY2FsLm00JzsKICAgICAgJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0X3Rp bWVzdGFtcCA9ICRtdGltZQoJaWYgJG10aW1lID4gJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0 X3RpbWVzdGFtcDsKICAgIH0KCiAgc2Nhbl9hdXRvY29uZl90cmFjZXMgKCRjb25maWd1cmVf YWMpOwoKICBAY29uZmlndXJlX2lucHV0X2ZpbGVzID0gc29ydCBrZXlzICVtYWtlX2xpc3Q7 CiAgIyBTZXQgaW5wdXQgYW5kIG91dHB1dCBmaWxlcyBpZiBub3Qgc3BlY2lmaWVkIGJ5IHVz ZXIuCiAgaWYgKCEgQGlucHV0X2ZpbGVzKQogICAgewogICAgICBAaW5wdXRfZmlsZXMgPSBA Y29uZmlndXJlX2lucHV0X2ZpbGVzOwogICAgICAlb3V0cHV0X2ZpbGVzID0gJW1ha2VfbGlz dDsKICAgIH0KCgogIGlmICghICRzZWVuX2luaXRfYXV0b21ha2UpCiAgICB7CiAgICAgIGVy cl9hYyAoIm5vIHByb3BlciBpbnZvY2F0aW9uIG9mIEFNX0lOSVRfQVVUT01BS0Ugd2FzIGZv dW5kLlxuWW91ICIKCSAgICAgIC4gInNob3VsZCB2ZXJpZnkgdGhhdCAkY29uZmlndXJlX2Fj IGludm9rZXMgQU1fSU5JVF9BVVRPTUFLRSwiCgkgICAgICAuICJcbnRoYXQgYWNsb2NhbC5t NCBpcyBwcmVzZW50IGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LFxuIgoJICAgICAgLiAi YW5kIHRoYXQgYWNsb2NhbC5tNCB3YXMgcmVjZW50bHkgcmVnZW5lcmF0ZWQgIgoJICAgICAg LiAiKHVzaW5nIGFjbG9jYWwpIik7CiAgICB9CiAgZWxzZQogICAgewogICAgICBpZiAoISAk c2Vlbl9hdXRvbWFrZV92ZXJzaW9uKQoJewoJICBpZiAoLWYgJ2FjbG9jYWwubTQnKQoJICAg IHsKCSAgICAgIGVycm9yICgkc2Vlbl9pbml0X2F1dG9tYWtlLAoJCSAgICAgInlvdXIgaW1w bGVtZW50YXRpb24gb2YgQU1fSU5JVF9BVVRPTUFLRSBjb21lcyBmcm9tICIgLgoJCSAgICAg ImFuXG5vbGQgQXV0b21ha2UgdmVyc2lvbi4gIFlvdSBzaG91bGQgcmVjcmVhdGUgIiAuCgkJ ICAgICAiYWNsb2NhbC5tNFxud2l0aCBhY2xvY2FsIGFuZCBydW4gYXV0b21ha2UgYWdhaW4i LAoJCSAgICAgIyAkPyA9IDYzIGlzIHVzZWQgdG8gaW5kaWNhdGUgdmVyc2lvbiBtaXNtYXRj aCB0byBtaXNzaW5nLgoJCSAgICAgZXhpdF9jb2RlID0+IDYzKTsKCSAgICB9CgkgIGVsc2UK CSAgICB7CgkgICAgICBlcnJvciAoJHNlZW5faW5pdF9hdXRvbWFrZSwKCQkgICAgICJubyBw cm9wZXIgaW1wbGVtZW50YXRpb24gb2YgQU1fSU5JVF9BVVRPTUFLRSB3YXMgIiAuCgkJICAg ICAiZm91bmQsXG5wcm9iYWJseSBiZWNhdXNlIGFjbG9jYWwubTQgaXMgbWlzc2luZy5cbiIg LgoJCSAgICAgIllvdSBzaG91bGQgcnVuIGFjbG9jYWwgdG8gY3JlYXRlIHRoaXMgZmlsZSwg dGhlblxuIiAuCgkJICAgICAicnVuIGF1dG9tYWtlIGFnYWluIik7CgkgICAgfQoJfQogICAg fQoKICBsb2NhdGVfYXV4X2RpciAoKTsKCiAgIyBMb29rIGZvciBzb21lIGZpbGVzIHdlIG5l ZWQuICBBbHdheXMgY2hlY2sgZm9yIHRoZXNlLiAgVGhpcwogICMgY2hlY2sgbXVzdCBiZSBk b25lIGZvciBldmVyeSBydW4sIGV2ZW4gdGhvc2Ugd2hlcmUgd2UgYXJlIG9ubHkKICAjIGxv b2tpbmcgYXQgYSBzdWJkaXIgTWFrZWZpbGUuICBXZSBtdXN0IHNldCByZWxhdGl2ZV9kaXIg Zm9yCiAgIyBwdXNoX3JlcXVpcmVkX2ZpbGUgdG8gd29yay4KICAjIFNvcnQgdGhlIGZpbGVz IGZvciBzdGFibGUgdmVyYm9zZSBvdXRwdXQuCiAgJHJlbGF0aXZlX2RpciA9ICcuJzsKICBm b3JlYWNoIG15ICRmaWxlIChzb3J0IGtleXMgJXJlcXVpcmVkX2F1eF9maWxlKQogICAgewog ICAgICByZXF1aXJlX2NvbmZfZmlsZSAoJHJlcXVpcmVkX2F1eF9maWxleyRmaWxlfS0+Z2V0 LCBGT1JFSUdOLCAkZmlsZSkKICAgIH0KICBlcnJfYW0gIidpbnN0YWxsLnNoJyBpcyBhbiBh bmFjaHJvbmlzbTsgdXNlICdpbnN0YWxsLXNoJyBpbnN0ZWFkIgogICAgaWYgLWYgJGNvbmZp Z19hdXhfZGlyIC4gJy9pbnN0YWxsLnNoJzsKCiAgIyBQcmVzZXJ2ZSBkaXN0X2NvbW1vbiBm b3IgbGF0ZXIuCiAgQGNvbmZpZ3VyZV9kaXN0X2NvbW1vbiA9IEBkaXN0X2NvbW1vbjsKfQoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBEbyBhbnkgZXh0cmEgY2hlY2tpbmcgZm9yIEdOVSBzdGFuZGFyZHMu CnN1YiBjaGVja19nbnVfc3RhbmRhcmRzICgpCnsKICBpZiAoJHJlbGF0aXZlX2RpciBlcSAn LicpCiAgICB7CiAgICAgICMgSW4gdG9wIGxldmVsIChvciBvbmx5KSBkaXJlY3RvcnkuCiAg ICAgIHJlcXVpcmVfZmlsZSAoIiRhbV9maWxlLmFtIiwgR05VLAoJCSAgICBxdy9JTlNUQUxM IE5FV1MgUkVBRE1FIEFVVEhPUlMgQ2hhbmdlTG9nLyk7CgogICAgICAjIEFjY2VwdCBvbmUg b2YgdGhlc2UgdGhyZWUgbGljZW5zZXM7IGRlZmF1bHQgdG8gQ09QWUlORy4KICAgICAgIyBN YWtlIHN1cmUgd2UgZG8gbm90IG92ZXJ3cml0ZSBhbiBleGlzdGluZyBsaWNlbnNlLgogICAg ICBteSAkbGljZW5zZTsKICAgICAgZm9yZWFjaCAocXcgL0NPUFlJTkcgQ09QWUlORy5MSUIg Q09QWUlORy5MRVNTRVIvKQoJewoJICBpZiAoLWYgJF8pCgkgICAgewoJICAgICAgJGxpY2Vu c2UgPSAkXzsKCSAgICAgIGxhc3Q7CgkgICAgfQoJfQogICAgICByZXF1aXJlX2ZpbGUgKCIk YW1fZmlsZS5hbSIsIEdOVSwgJ0NPUFlJTkcnKQoJdW5sZXNzICRsaWNlbnNlOwogICAgfQoK ICBmb3IgbXkgJG9wdCAoJ25vLWluc3RhbGxtYW4nLCAnbm8taW5zdGFsbGluZm8nKQogICAg ewogICAgICBtc2cgKCdlcnJvci1nbnUnLCBvcHRpb24gJG9wdCwKCSAgICJvcHRpb24gJyRv cHQnIGRpc2FsbG93ZWQgYnkgR05VIHN0YW5kYXJkcyIpCglpZiBvcHRpb24gJG9wdDsKICAg IH0KfQoKIyBEbyBhbnkgZXh0cmEgY2hlY2tpbmcgZm9yIEdOSVRTIHN0YW5kYXJkcy4Kc3Vi IGNoZWNrX2duaXRzX3N0YW5kYXJkcyAoKQp7CiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4n KQogICAgewogICAgICAjIEluIHRvcCBsZXZlbCAob3Igb25seSkgZGlyZWN0b3J5LgogICAg ICByZXF1aXJlX2ZpbGUgKCIkYW1fZmlsZS5hbSIsIEdOSVRTLCAnVEhBTktTJyk7CiAgICB9 Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIwojIEZ1bmN0aW9ucyB0byBoYW5kbGUgZmlsZXMgb2YgZWFjaCBs YW5ndWFnZS4KCiMgRWFjaCAnbGFuZ19YX3Jld3JpdGUoJERJUkVDVE9SWSwgJEJBU0UsICRF WFQpJyBmdW5jdGlvbiBmb2xsb3dzIGEKIyBzaW1wbGUgZm9ybXVsYTogUmV0dXJuIHZhbHVl IGlzIExBTkdfU1VCRElSIGlmIHRoZSByZXN1bHRpbmcgb2JqZWN0CiMgZmlsZSBzaG91bGQg YmUgaW4gYSBzdWJkaXIgaWYgdGhlIHNvdXJjZSBmaWxlIGlzLCBMQU5HX1BST0NFU1MgaWYK IyBmaWxlIGlzIHRvIGJlIGRlYWx0IHdpdGgsIExBTkdfSUdOT1JFIG90aGVyd2lzZS4KCiMg TXVjaCBvZiB0aGUgYWN0dWFsIHByb2Nlc3NpbmcgaXMgaGFuZGxlZCBpbgojIGhhbmRsZV9z aW5nbGVfdHJhbnNmb3JtLiAgVGhlc2UgZnVuY3Rpb25zIGV4aXN0IHNvIHRoYXQKIyBhdXhp bGlhcnkgaW5mb3JtYXRpb24gY2FuIGJlIHJlY29yZGVkIGZvciBhIGxhdGVyIGNsZWFudXAg cGFzcy4KIyBOb3RlIHRoYXQgdGhlIGNhbGxzIHRvIHRoZXNlIGZ1bmN0aW9ucyBhcmUgY29t cHV0ZWQsIHNvIGRvbid0IGJvdGhlcgojIHNlYXJjaGluZyBmb3IgdGhlaXIgcHJlY2lzZSBu YW1lcyBpbiB0aGUgc291cmNlLgoKIyBUaGlzIGlzIGp1c3QgYSBjb252ZW5pZW5jZSBmdW5j dGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZQojIHdoZW4gYSBzdWJkaXIgb2Jq ZWN0IHNob3VsZCBiZSB1c2VkLgpzdWIgbGFuZ19zdWJfb2JqICgpCnsKICAgIHJldHVybiBv cHRpb24gJ3N1YmRpci1vYmplY3RzJyA/IExBTkdfU1VCRElSIDogTEFOR19QUk9DRVNTOwp9 CgojIFJld3JpdGUgYSBzaW5nbGUgaGVhZGVyIGZpbGUuCnN1YiBsYW5nX2hlYWRlcl9yZXdy aXRlCnsKICAgICMgSGVhZGVyIGZpbGVzIGFyZSBzaW1wbHkgaWdub3JlZC4KICAgIHJldHVy biBMQU5HX0lHTk9SRTsKfQoKIyBSZXdyaXRlIGEgc2luZ2xlIFZhbGEgc291cmNlIGZpbGUu CnN1YiBsYW5nX3ZhbGFfcmV3cml0ZQp7CiAgICBteSAoJGRpcmVjdG9yeSwgJGJhc2UsICRl eHQpID0gQF87CgogICAgKG15ICRuZXdleHQgPSAkZXh0KSA9fiBzL3ZhbGEkL2MvOwogICAg cmV0dXJuIChMQU5HX1NVQkRJUiwgJG5ld2V4dCk7Cn0KCiMgUmV3cml0ZSBhIHNpbmdsZSB5 YWNjL3lhY2MrKyBmaWxlLgpzdWIgbGFuZ195YWNjX3Jld3JpdGUKewogICAgbXkgKCRkaXJl Y3RvcnksICRiYXNlLCAkZXh0KSA9IEBfOwoKICAgIG15ICRyID0gbGFuZ19zdWJfb2JqOwog ICAgKG15ICRuZXdleHQgPSAkZXh0KSA9fiB0ci95L2MvOwogICAgcmV0dXJuICgkciwgJG5l d2V4dCk7Cn0Kc3ViIGxhbmdfeWFjY3h4X3Jld3JpdGUgeyBsYW5nX3lhY2NfcmV3cml0ZSAo QF8pOyB9OwoKIyBSZXdyaXRlIGEgc2luZ2xlIGxleC9sZXgrKyBmaWxlLgpzdWIgbGFuZ19s ZXhfcmV3cml0ZQp7CiAgICBteSAoJGRpcmVjdG9yeSwgJGJhc2UsICRleHQpID0gQF87Cgog ICAgbXkgJHIgPSBsYW5nX3N1Yl9vYmo7CiAgICAobXkgJG5ld2V4dCA9ICRleHQpID1+IHRy L2wvYy87CiAgICByZXR1cm4gKCRyLCAkbmV3ZXh0KTsKfQpzdWIgbGFuZ19sZXh4eF9yZXdy aXRlIHsgbGFuZ19sZXhfcmV3cml0ZSAoQF8pOyB9OwoKIyBSZXdyaXRlIGEgc2luZ2xlIEph dmEgZmlsZS4Kc3ViIGxhbmdfamF2YV9yZXdyaXRlCnsKICAgIHJldHVybiBMQU5HX1NVQkRJ UjsKfQoKIyBUaGUgbGFuZ19YX2ZpbmlzaCBmdW5jdGlvbnMgYXJlIGNhbGxlZCBhZnRlciBh bGwgc291cmNlIGZpbGUKIyBwcm9jZXNzaW5nIGlzIGRvbmUuICBFYWNoIHNob3VsZCBoYW5k bGUgZGVmaW5pbmcgcnVsZXMgZm9yIHRoZQojIGxhbmd1YWdlLCBldGMuICBBIGZpbmlzaCBm dW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBpZiBhIHNvdXJjZSBmaWxlIG9mCiMgdGhlIGFwcHJv cHJpYXRlIHR5cGUgaGFzIGJlZW4gc2Vlbi4KCnN1YiBsYW5nX3ZhbGFfZmluaXNoX3Rhcmdl dAp7CiAgbXkgKCRzZWxmLCAkbmFtZSkgPSBAXzsKCiAgbXkgJGRlcml2ZWQgPSBjYW5vbmlj YWxpemUgKCRuYW1lKTsKICBteSAkdmFyID0gdmFyICIke2Rlcml2ZWR9X1NPVVJDRVMiOwog IHJldHVybiB1bmxlc3MgJHZhcjsKCiAgbXkgQHZhbGFfc291cmNlcyA9IGdyZXAgeyAvXC4o dmFsYXx2YXBpKSQvIH0gKCR2YXItPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKTsKCiAgIyBG b3IgYXV0b21ha2UgYnVnIzExMjI5LgogIHJldHVybiB1bmxlc3MgQHZhbGFfc291cmNlczsK CiAgZm9yZWFjaCBteSAkdmFsYV9maWxlIChAdmFsYV9zb3VyY2VzKQogICAgewogICAgICBt eSAkY19maWxlID0gJHZhbGFfZmlsZTsKICAgICAgaWYgKCRjX2ZpbGUgPX4gcy8oLiopXC52 YWxhJC8kMS5jLykKICAgICAgICB7CiAgICAgICAgICAkY19maWxlID0gIlwkKHNyY2Rpcikv JGNfZmlsZSI7CiAgICAgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkY19maWxlOiBcJChzcmNk aXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcFxuIgogICAgICAgICAgICAuICJcdFxAaWYgdGVz dCAtZiBcJEA7IHRoZW4gOjsgZWxzZSBybSAtZiBcJChzcmNkaXIpLyR7ZGVyaXZlZH1fdmFs YS5zdGFtcDsgZmlcbiIKICAgICAgICAgICAgLiAiXHRcQGlmIHRlc3QgLWYgXCRAOyB0aGVu IDo7IGVsc2UgXFxcbiIKICAgICAgICAgICAgLiAiXHQgIFwkKE1BS0UpIFwkKEFNX01BS0VG TEFHUykgXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IFxcXG4iCiAgICAgICAg ICAgIC4gIlx0ZmlcbiI7CgkgICRjbGVhbl9maWxlc3skY19maWxlfSA9IE1BSU5UQUlORVJf Q0xFQU47CiAgICAgICAgfQogICAgfQoKICAjIEFkZCByZWJ1aWxkIHJ1bGVzIGZvciBnZW5l cmF0ZWQgaGVhZGVyIGFuZCB2YXBpIGZpbGVzCiAgbXkgJGZsYWdzID0gdmFyICgkZGVyaXZl ZCAuICdfVkFMQUZMQUdTJyk7CiAgaWYgKCRmbGFncykKICAgIHsKICAgICAgbXkgJGxhc3Rm bGFnID0gJyc7CiAgICAgIGZvcmVhY2ggbXkgJGZsYWcgKCRmbGFncy0+dmFsdWVfYXNfbGlz dF9yZWN1cnNpdmUpCgl7CgkgIGlmIChncmVwICgvJGxhc3RmbGFnLywgKCctSCcsICctaCcs ICctLWhlYWRlcicsICctLWludGVybmFsLWhlYWRlcicsCgkgICAgICAgICAgICAgICAgICAg ICAgICAgICctLXZhcGknLCAnLS1pbnRlcm5hbC12YXBpJywgJy0tZ2lyJykpKQoJICAgIHsK CSAgICAgIG15ICRoZWFkZXJmaWxlID0gIlwkKHNyY2RpcikvJGZsYWciOwoJICAgICAgJG91 dHB1dF9ydWxlcyAuPSAiJGhlYWRlcmZpbGU6IFwkKHNyY2RpcikvJHtkZXJpdmVkfV92YWxh LnN0YW1wXG4iCgkJLiAiXHRcQGlmIHRlc3QgLWYgXCRAOyB0aGVuIDo7IGVsc2Ugcm0gLWYg XCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IGZpXG4iCgkJLiAiXHRcQGlmIHRl c3QgLWYgXCRAOyB0aGVuIDo7IGVsc2UgXFxcbiIKCQkuICJcdCAgXCQoTUFLRSkgXCQoQU1f TUFLRUZMQUdTKSBcJChzcmNkaXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcDsgXFxcbiIKCQku ICJcdGZpXG4iOwoKCSAgICAgICMgdmFsYWMgaXMgbm90IHVzZWQgd2hlbiBidWlsZGluZyBm cm9tIGRpc3QgdGFyYmFsbHMKCSAgICAgICMgZGlzdHJpYnV0ZSB0aGUgZ2VuZXJhdGVkIGZp bGVzCgkgICAgICBwdXNoX2Rpc3RfY29tbW9uICgkaGVhZGVyZmlsZSk7CgkgICAgICAkY2xl YW5fZmlsZXN7JGhlYWRlcmZpbGV9ID0gTUFJTlRBSU5FUl9DTEVBTjsKCSAgICB9CgkgICRs YXN0ZmxhZyA9ICRmbGFnOwoJfQogICAgfQoKICBteSAkY29tcGlsZSA9ICRzZWxmLT5jb21w aWxlOwoKICAjIFJld3JpdGUgZWFjaCBvY2N1cnJlbmNlIG9mICdBTV9WQUxBRkxBR1MnIGlu IHRoZSBjb21waWxlCiAgIyBydWxlIGludG8gJyR7ZGVyaXZlZH1fVkFMQUZMQUdTJyBpZiBp dCBleGlzdHMuCiAgbXkgJHZhbCA9ICIke2Rlcml2ZWR9X1ZBTEFGTEFHUyI7CiAgJGNvbXBp bGUgPX4gcy9cKEFNX1ZBTEFGTEFHU1wpL1woJHZhbFwpLwogICAgaWYgc2V0X3NlZW4gKCR2 YWwpOwoKICAjIFZBTEFGTEFHUyBpcyBhIHVzZXIgdmFyaWFibGUgKHBlciBHTlUgU3RhbmRh cmRzKSwKICAjIGl0IHNob3VsZCBub3QgYmUgb3ZlcnJpZGRlbiBpbiB0aGUgTWFrZWZpbGUu Li4KICBjaGVja191c2VyX3ZhcmlhYmxlcyAnVkFMQUZMQUdTJzsKCiAgbXkgJGRpcm5hbWUg PSBkaXJuYW1lICgkbmFtZSk7CgogICMgT25seSBnZW5lcmF0ZSBDIGNvZGUsIGRvIG5vdCBy dW4gQyBjb21waWxlcgogICRjb21waWxlIC49ICIgLUMiOwoKICBteSAkdmVyYm9zZSA9IHZl cmJvc2VfZmxhZyAoJ1ZBTEFDJyk7CiAgbXkgJHNpbGVudCA9IHNpbGVudF9mbGFnICgpOwog IG15ICRzdGFtcGZpbGUgPSAiXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXAiOwoK ICAkb3V0cHV0X3J1bGVzIC49CiAgICAiXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3Rh bXA6IEB2YWxhX3NvdXJjZXNcbiIuCiMgU2luY2UgdGhlIEMgZmlsZXMgZ2VuZXJhdGVkIGZy b20gdGhlIHZhbGEgc291cmNlcyBkZXBlbmQgb24gdGhlCiMgJHtkZXJpdmVkfV92YWxhLnN0 YW1wIGZpbGUsIHdlIG11c3QgZW5zdXJlIGl0cyB0aW1lc3RhbXAgaXMgb2xkZXIgdGhhbgoj IHRob3NlIG9mIHRoZSBDIGZpbGVzIGdlbmVyYXRlZCBieSB0aGUgdmFsYWMgaW52b2NhdGlv biBiZWxvdyAodGhpcyBpcwojIGVzcGVjaWFsbHkgaW1wb3J0YW50IG9uIHN5c3RlbXMgd2l0 aCBzdWItc2Vjb25kIHRpbWVzdGFtcCByZXNvbHV0aW9uKS4KIyBUaHVzIHdlIG5lZWQgdG8g Y3JlYXRlIHRoZSBzdGFtcCBmaWxlICpiZWZvcmUqIGludm9raW5nIHZhbGFjLCBhbmQgdG8K IyBtb3ZlIGl0IHRvIGl0cyBmaW5hbCBsb2NhdGlvbiBvbmx5IGFmdGVyIHZhbGFjIGhhcyBi ZWVuIGludm9rZWQuCiAgICAiXHQke3NpbGVudH1ybSAtZiBcJFxAICYmIGVjaG8gc3RhbXAg PiBcJFxALXRcbiIuCiAgICAiXHQke3ZlcmJvc2V9XCQoYW1fX2NkKSBcJChzcmNkaXIpICYm ICRjb21waWxlIEB2YWxhX3NvdXJjZXNcbiIuCiAgICAiXHQke3NpbGVudH1tdiAtZiBcJFxA LXQgXCRcQFxuIjsKCiAgcHVzaF9kaXN0X2NvbW1vbiAoJHN0YW1wZmlsZSk7CgogICRjbGVh bl9maWxlc3skc3RhbXBmaWxlfSA9IE1BSU5UQUlORVJfQ0xFQU47Cn0KCiMgQWRkIG91dHB1 dCBydWxlcyB0byBpbnZva2UgdmFsYWMgYW5kIGNyZWF0ZSBzdGFtcCBmaWxlIGFzIGEgd2l0 bmVzcwojIHRvIGhhbmRsZSBtdWx0aXBsZSBvdXRwdXRzLiBUaGlzIGZ1bmN0aW9uIGlzIGNh bGxlZCBhZnRlciBhbGwgc291cmNlCiMgZmlsZSBwcm9jZXNzaW5nIGlzIGRvbmUuCnN1YiBs YW5nX3ZhbGFfZmluaXNoICgpCnsKICBteSAoJHNlbGYpID0gQF87CgogIGZvcmVhY2ggbXkg JHByb2cgKGtleXMgJWtub3duX3Byb2dyYW1zKQogICAgewogICAgICBsYW5nX3ZhbGFfZmlu aXNoX3RhcmdldCAoJHNlbGYsICRwcm9nKTsKICAgIH0KCiAgd2hpbGUgKG15ICgkbmFtZSkg PSBlYWNoICVrbm93bl9saWJyYXJpZXMpCiAgICB7CiAgICAgIGxhbmdfdmFsYV9maW5pc2hf dGFyZ2V0ICgkc2VsZiwgJG5hbWUpOwogICAgfQp9CgojIFRoZSBidWlsdCAuYyBmaWxlcyBz aG91bGQgYmUgY2xlYW5lZCBvbmx5IG9uIG1haW50YWluZXItY2xlYW4KIyBhcyB0aGUgLmMg ZmlsZXMgYXJlIGRpc3RyaWJ1dGVkLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmb3IgZWFj aAojIC52YWxhIHNvdXJjZSBmaWxlLgpzdWIgbGFuZ192YWxhX3RhcmdldF9ob29rCnsKICBt eSAoJHNlbGYsICRhZ2dyZWdhdGUsICRvdXRwdXQsICRpbnB1dCwgJXRyYW5zZm9ybSkgPSBA XzsKCiAgJGNsZWFuX2ZpbGVzeyRvdXRwdXR9ID0gTUFJTlRBSU5FUl9DTEVBTjsKfQoKIyBU aGlzIGlzIGEgeWFjYyBoZWxwZXIgd2hpY2ggaXMgY2FsbGVkIHdoZW5ldmVyIHdlIGhhdmUg ZGVjaWRlZCB0bwojIGNvbXBpbGUgYSB5YWNjIGZpbGUuCnN1YiBsYW5nX3lhY2NfdGFyZ2V0 X2hvb2sKewogICAgbXkgKCRzZWxmLCAkYWdncmVnYXRlLCAkb3V0cHV0LCAkaW5wdXQsICV0 cmFuc2Zvcm0pID0gQF87CgogICAgIyBJZiBzb21lIHJlbGV2YW50ICpZRkxBR1MgdmFyaWFi bGUgY29udGFpbnMgdGhlICctZCcgZmxhZywgd2UnbGwKICAgICMgaGF2ZSB0byB0byBnZW5l cmF0ZSBzcGVjaWFsIGNvZGUuCiAgICBteSAkeWZsYWdzX2NvbnRhaW5zX21pbnVzX2QgPSAw OwoKICAgIGZvcmVhY2ggbXkgJHBmeCAoIiIsICIke2FnZ3JlZ2F0ZX1fIikKICAgICAgewoJ bXkgJHlmbGFnc3ZhciA9IHZhciAoIiR7cGZ4fVlGTEFHUyIpOwoJbmV4dCB1bmxlc3MgJHlm bGFnc3ZhcjsKCSMgV2UgY2Fubm90IHdvcmsgcmVsaWFibHkgd2l0aCBjb25kaXRpb25hbGx5 LWRlZmluZWQgWUZMQUdTLgoJaWYgKCR5ZmxhZ3N2YXItPmhhc19jb25kaXRpb25hbF9jb250 ZW50cykKCSAgewoJICAgIG1zZ192YXIgKCd1bnN1cHBvcnRlZCcsICR5ZmxhZ3N2YXIsCgkg ICAgICAgICAgICAgIicke3BmeH1ZRkxBR1MnIGNhbm5vdCBoYXZlIGNvbmRpdGlvbmFsIGNv bnRlbnRzIik7CgkgIH0KCWVsc2UKCSAgewoJICAgICR5ZmxhZ3NfY29udGFpbnNfbWludXNf ZCA9IDEKCSAgICAgIGlmIGdyZXAgKC9eLWQkLywgJHlmbGFnc3Zhci0+dmFsdWVfYXNfbGlz dF9yZWN1cnNpdmUpOwoJICB9CiAgICAgIH0KCiAgICBpZiAoJHlmbGFnc19jb250YWluc19t aW51c19kKQogICAgICB7CgkjIEZvdW5kIGEgJy1kJyB0aGF0IGFwcGxpZXMgdG8gdGhlIGNv bXBpbGF0aW9uIG9mIHRoaXMgZmlsZS4KCSMgQWRkIGEgZGVwZW5kZW5jeSBmb3IgdGhlIGdl bmVyYXRlZCBoZWFkZXIgZmlsZSwgYW5kIGFycmFuZ2UKCSMgZm9yIHRoYXQgZmlsZSB0byBi ZSBpbmNsdWRlZCBpbiB0aGUgZGlzdHJpYnV0aW9uLgoKCSMgVGhlIGV4dGVuc2lvbiBvZiB0 aGUgb3V0cHV0IGZpbGUgKGUuZy4sICcuYycgb3IgJy5jeHgnKS4KCSMgV2UnbGwgbmVlZCBp dCB0byBjb21wdXRlIHRoZSBuYW1lIG9mIHRoZSBnZW5lcmF0ZWQgaGVhZGVyIGZpbGUuCgko bXkgJG91dHB1dF9leHQgPSBiYXNlbmFtZSAoJG91dHB1dCkpID1+IHMvLiooXC5bXi5dKykk LyQxLzsKCgkjIFdlIGtub3cgdGhhdCBhIHlhY2MgaW5wdXQgc2hvdWxkIGJlIHR1cm5lZCBp bnRvIGVpdGhlciBhIEMgb3IKCSMgQysrIG91dHB1dCBmaWxlLiAgV2UgZGVwZW5kIG9uIHRo aXMgZmFjdCAoaGVyZSBhbmQgaW4geWFjYy5hbSksCgkjIHNvIGNoZWNrIHRoYXQgaXQgcmVh bGx5IGhvbGRzLgoJbXkgJGxhbmcgPSAkbGFuZ3VhZ2VzeyRleHRlbnNpb25fbWFweyRvdXRw dXRfZXh0fX07Cglwcm9nX2Vycm9yICJpbnZhbGlkIG91dHB1dCBuYW1lICckb3V0cHV0JyBm b3IgeWFjYyBmaWxlICckaW5wdXQnIgoJICBpZiAoISRsYW5nIHx8ICgkbGFuZy0+bmFtZSBu ZSAnYycgJiYgJGxhbmctPm5hbWUgbmUgJ2N4eCcpKTsKCgkobXkgJGhlYWRlcl9leHQgPSAk b3V0cHV0X2V4dCkgPX4gcy9jL2gvZzsKICAgICAgICAjIFF1b3RlICRvdXRwdXRfZXh0IGlu IHRoZSByZWdleHAsIHNvIHRoYXQgZG90cyBpbiBpdCBhcmUgdGFrZW4KICAgICAgICAjIGFz IGxpdGVyYWwgZG90cywgbm90IGFzIG1ldGFjaGFyYWN0ZXJzLgoJKG15ICRoZWFkZXIgPSAk b3V0cHV0KSA9fiBzL1xRJG91dHB1dF9leHRcRSQvJGhlYWRlcl9leHQvOwoKCWZvcmVhY2gg bXkgJGNvbmQgKEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCR7aGVhZGVyfSwgJ2ludGVybmFs JywKCQkJCQkJICBSVUxFX0FVVE9NQUtFLCBUUlVFLAoJCQkJCQkgIElOVEVSTkFMKSkKCSAg ewoJICAgIG15ICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgICAkb3V0cHV0 X3J1bGVzIC49CgkgICAgICAiJGNvbmRzdHIke2hlYWRlcn06ICRvdXRwdXRcbiIKCSAgICAg ICMgUmVjb3ZlciBmcm9tIHJlbW92YWwgb2YgJGhlYWRlcgoJICAgICAgLiAiJGNvbmRzdHJc dFxAaWYgdGVzdCAhIC1mIFwkQDsgdGhlbiBybSAtZiAkb3V0cHV0OyBlbHNlIDo7IGZpXG4i CgkgICAgICAuICIkY29uZHN0clx0XEBpZiB0ZXN0ICEgLWYgXCRAOyB0aGVuIFwkKE1BS0Up IFwkKEFNX01BS0VGTEFHUykgJG91dHB1dDsgZWxzZSA6OyBmaVxuIjsKCSAgfQoJIyBEaXN0 cmlidXRlIHRoZSBnZW5lcmF0ZWQgZmlsZSwgdW5sZXNzIGl0cyAueSBzb3VyY2Ugd2FzCgkj IGxpc3RlZCBpbiBhIG5vZGlzdF8gdmFyaWFibGUuICAoaGFuZGxlX3NvdXJjZV90cmFuc2Zv cm0oKQoJIyB3aWxsIHNldCBESVNUX1NPVVJDRS4pCglwdXNoX2Rpc3RfY29tbW9uICgkaGVh ZGVyKQoJICBpZiAkdHJhbnNmb3JteydESVNUX1NPVVJDRSd9OwoKCSMgVGhlIEdOVSBydWxl cyBzYXkgdGhhdCB5YWNjL2xleCBvdXRwdXQgZmlsZXMgc2hvdWxkIGJlIHJlbW92ZWQKCSMg YnkgbWFpbnRhaW5lci1jbGVhbi4gIEhvd2V2ZXIsIGlmIHRoZSBmaWxlcyBhcmUgbm90IGRp c3RyaWJ1dGVkLAoJIyB0aGVuIHdlIHdhbnQgdG8gcmVtb3ZlIHRoZW0gd2l0aCAibWFrZSBj bGVhbiI7IG90aGVyd2lzZSwKCSMgIm1ha2UgZGlzdGNoZWNrIiB3aWxsIGZhaWwuCgkkY2xl YW5fZmlsZXN7JGhlYWRlcn0gPSAkdHJhbnNmb3JteydESVNUX1NPVVJDRSd9ID8gTUFJTlRB SU5FUl9DTEVBTiA6IENMRUFOOwogICAgICB9CiAgICAjIFNlZSB0aGUgY29tbWVudCBhYm92 ZSBmb3IgJEhFQURFUi4KICAgICRjbGVhbl9maWxlc3skb3V0cHV0fSA9ICR0cmFuc2Zvcm17 J0RJU1RfU09VUkNFJ30gPyBNQUlOVEFJTkVSX0NMRUFOIDogQ0xFQU47Cn0KCiMgVGhpcyBp cyBhIGxleCBoZWxwZXIgd2hpY2ggaXMgY2FsbGVkIHdoZW5ldmVyIHdlIGhhdmUgZGVjaWRl ZCB0bwojIGNvbXBpbGUgYSBsZXggZmlsZS4Kc3ViIGxhbmdfbGV4X3RhcmdldF9ob29rCnsK ICAgIG15ICgkc2VsZiwgJGFnZ3JlZ2F0ZSwgJG91dHB1dCwgJGlucHV0LCAldHJhbnNmb3Jt KSA9IEBfOwogICAgIyBUaGUgR05VIHJ1bGVzIHNheSB0aGF0IHlhY2MvbGV4IG91dHB1dCBm aWxlcyBzaG91bGQgYmUgcmVtb3ZlZAogICAgIyBieSBtYWludGFpbmVyLWNsZWFuLiAgSG93 ZXZlciwgaWYgdGhlIGZpbGVzIGFyZSBub3QgZGlzdHJpYnV0ZWQsCiAgICAjIHRoZW4gd2Ug d2FudCB0byByZW1vdmUgdGhlbSB3aXRoICJtYWtlIGNsZWFuIjsgb3RoZXJ3aXNlLAogICAg IyAibWFrZSBkaXN0Y2hlY2siIHdpbGwgZmFpbC4KICAgICRjbGVhbl9maWxlc3skb3V0cHV0 fSA9ICR0cmFuc2Zvcm17J0RJU1RfU09VUkNFJ30gPyBNQUlOVEFJTkVSX0NMRUFOIDogQ0xF QU47Cn0KCiMgVGhpcyBpcyBhIGhlbHBlciBmb3IgYm90aCBsZXggYW5kIHlhY2MuCnN1YiB5 YWNjX2xleF9maW5pc2hfaGVscGVyICgpCnsKICByZXR1cm4gaWYgZGVmaW5lZCAkbGFuZ3Vh Z2Vfc2NyYXRjaHsnbGV4LXlhY2MtZG9uZSd9OwogICRsYW5ndWFnZV9zY3JhdGNoeydsZXgt eWFjYy1kb25lJ30gPSAxOwoKICAjIEZJWE1FOiBmb3Igbm93LCBubyBsaW5lIG51bWJlci4K ICByZXF1aXJlX2NvbmZfZmlsZSAoJGNvbmZpZ3VyZV9hYywgRk9SRUlHTiwgJ3lsd3JhcCcp OwogIGRlZmluZV92YXJpYWJsZSAoJ1lMV1JBUCcsICIkYW1fY29uZmlnX2F1eF9kaXIveWx3 cmFwIiwgSU5URVJOQUwpOwp9CgpzdWIgbGFuZ195YWNjX2ZpbmlzaCAoKQp7CiAgcmV0dXJu IGlmIGRlZmluZWQgJGxhbmd1YWdlX3NjcmF0Y2h7J3lhY2MtZG9uZSd9OwogICRsYW5ndWFn ZV9zY3JhdGNoeyd5YWNjLWRvbmUnfSA9IDE7CgogIHJlamVjdF92YXIgJ1lBQ0NGTEFHUycs ICInWUFDQ0ZMQUdTJyBvYnNvbGV0ZTsgdXNlICdZRkxBR1MnIGluc3RlYWQiOwoKICB5YWNj X2xleF9maW5pc2hfaGVscGVyOwp9CgoKc3ViIGxhbmdfbGV4X2ZpbmlzaCAoKQp7CiAgcmV0 dXJuIGlmIGRlZmluZWQgJGxhbmd1YWdlX3NjcmF0Y2h7J2xleC1kb25lJ307CiAgJGxhbmd1 YWdlX3NjcmF0Y2h7J2xleC1kb25lJ30gPSAxOwoKICB5YWNjX2xleF9maW5pc2hfaGVscGVy Owp9CgoKIyBHaXZlbiBhIGhhc2ggdGFibGUgb2YgbGlua2VyIG5hbWVzLCBwaWNrIHRoZSBu YW1lIHRoYXQgaGFzIHRoZSBtb3N0CiMgcHJlY2VkZW5jZS4gIFRoaXMgaXMgbGFtZSwgYnV0 IHNvbWV0aGluZyBoYXMgdG8gaGF2ZSBnbG9iYWwKIyBrbm93bGVkZ2UgaW4gb3JkZXIgdG8g ZWxpbWluYXRlIHRoZSBjb25mbGljdC4gIEFkZCBtb3JlIGxpbmtlcnMgYXMKIyByZXF1aXJl ZC4Kc3ViIHJlc29sdmVfbGlua2VyCnsKICAgIG15ICglbGlua2VycykgPSBAXzsKCiAgICBm b3JlYWNoIG15ICRsIChxdyhHQ0pMSU5LIE9CSkNYWExJTksgQ1hYTElOSyBGNzdMSU5LIEZD TElOSyBPQkpDTElOSyBVUENMSU5LKSkKICAgIHsKCXJldHVybiAkbCBpZiBkZWZpbmVkICRs aW5rZXJzeyRsfTsKICAgIH0KICAgIHJldHVybiAnTElOSyc7Cn0KCiMgQ2FsbGVkIHRvIGlu ZGljYXRlIHRoYXQgYW4gZXh0ZW5zaW9uIHdhcyB1c2VkLgpzdWIgc2F3X2V4dGVuc2lvbgp7 CiAgICBteSAoJGV4dCkgPSBAXzsKICAgICRleHRlbnNpb25fc2VlbnskZXh0fSA9IDE7Cn0K CiMgcmVnaXN0ZXJfbGFuZ3VhZ2UgKCVBVFRSSUJVVEUpCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiMgUmVnaXN0ZXIgYSBzaW5nbGUgbGFuZ3VhZ2UuCiMgRWFjaCAlQVRU UklCVVRFIGlzIG9mIHRoZSBmb3JtIEFUVFJJQlVURSA9PiBWQUxVRS4Kc3ViIHJlZ2lzdGVy X2xhbmd1YWdlCnsKICBteSAoJW9wdGlvbikgPSBAXzsKCiAgIyBTZXQgdGhlIGRlZmF1bHRz LgogICRvcHRpb257J2F1dG9kZXAnfSA9ICdubycKICAgIHVubGVzcyBkZWZpbmVkICRvcHRp b257J2F1dG9kZXAnfTsKICAkb3B0aW9ueydsaW5rZXInfSA9ICcnCiAgICB1bmxlc3MgZGVm aW5lZCAkb3B0aW9ueydsaW5rZXInfTsKICAkb3B0aW9ueydmbGFncyd9ID0gW10KICAgIHVu bGVzcyBkZWZpbmVkICRvcHRpb257J2ZsYWdzJ307CiAgJG9wdGlvbnsnb3V0cHV0X2V4dGVu c2lvbnMnfSA9IHN1YiB7IHJldHVybiAoICcuJChPQkpFWFQpJywgJy5sbycgKSB9CiAgICB1 bmxlc3MgZGVmaW5lZCAkb3B0aW9ueydvdXRwdXRfZXh0ZW5zaW9ucyd9OwogICRvcHRpb257 J25vZGlzdF9zcGVjaWZpYyd9ID0gMAogICAgdW5sZXNzIGRlZmluZWQgJG9wdGlvbnsnbm9k aXN0X3NwZWNpZmljJ307CgogIG15ICRsYW5nID0gbmV3IEF1dG9tYWtlOjpMYW5ndWFnZSAo JW9wdGlvbik7CgogICMgRmlsbCBpbmRleGVzLgogICRleHRlbnNpb25fbWFweyRffSA9ICRs YW5nLT5uYW1lIGZvcmVhY2ggQHskbGFuZy0+ZXh0ZW5zaW9uc307CiAgJGxhbmd1YWdlc3sk bGFuZy0+bmFtZX0gPSAkbGFuZzsKICBteSAkbGluayA9ICRsYW5nLT5saW5rZXI7CiAgaWYg KCRsaW5rKQogICAgewogICAgICBpZiAoZXhpc3RzICRsaW5rX2xhbmd1YWdlc3skbGlua30p Cgl7CgkgIHByb2dfZXJyb3IgKCInJGxpbmsnIGhhcyBkaWZmZXJlbnQgZGVmaW5pdGlvbnMg aW4gIgoJCSAgICAgIC4gJGxhbmctPm5hbWUgLiAiIGFuZCAiIC4gJGxpbmtfbGFuZ3VhZ2Vz eyRsaW5rfS0+bmFtZSkKCSAgICBpZiAkbGFuZy0+bGluayBuZSAkbGlua19sYW5ndWFnZXN7 JGxpbmt9LT5saW5rOwoJfQogICAgICBlbHNlCgl7CgkgICRsaW5rX2xhbmd1YWdlc3skbGlu a30gPSAkbGFuZzsKCX0KICAgIH0KCiAgIyBVcGRhdGUgdGhlIHBhdHRlcm4gb2Yga25vd24g ZXh0ZW5zaW9ucy4KICBhY2NlcHRfZXh0ZW5zaW9ucyAoQHskbGFuZy0+ZXh0ZW5zaW9uc30p OwoKICAjIFVwZGF0ZSB0aGUgc3VmZml4IHJ1bGVzIG1hcC4KICBmb3JlYWNoIG15ICRzdWZm aXggKEB7JGxhbmctPmV4dGVuc2lvbnN9KQogICAgewogICAgICBmb3JlYWNoIG15ICRkZXN0 ICgkbGFuZy0+b3V0cHV0X2V4dGVuc2lvbnMtPigkc3VmZml4KSkKCXsKCSAgcmVnaXN0ZXJf c3VmZml4X3J1bGUgKElOVEVSTkFMLCAkc3VmZml4LCAkZGVzdCk7Cgl9CiAgICB9Cn0KCiMg ZGVyaXZlX3N1ZmZpeCAoJEVYVCwgJE9CSikKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBmaW5kIGEgcGF0aCBmcm9tIGEgdXNlci1z cGVjaWZpZWQgc3VmZml4ICRFWFQKIyB0byAkT0JKIG9yIHRvIHNvbWUgb3RoZXIgc3VmZml4 IHdlIHJlY29nbml6ZSBpbnRlcm5hbGx5LCBlLmcuICdjYycuCnN1YiBkZXJpdmVfc3VmZml4 CnsKICBteSAoJHNvdXJjZV9leHQsICRvYmopID0gQF87CgogIHdoaWxlICghJGV4dGVuc2lv bl9tYXB7JHNvdXJjZV9leHR9ICYmICRzb3VyY2VfZXh0IG5lICRvYmopCiAgICB7CiAgICAg IG15ICRuZXdfc291cmNlX2V4dCA9IG5leHRfaW5fc3VmZml4X2NoYWluICgkc291cmNlX2V4 dCwgJG9iaik7CiAgICAgIGxhc3QgaWYgbm90IGRlZmluZWQgJG5ld19zb3VyY2VfZXh0Owog ICAgICAkc291cmNlX2V4dCA9ICRuZXdfc291cmNlX2V4dDsKICAgIH0KCiAgcmV0dXJuICRz b3VyY2VfZXh0Owp9CgoKIyBQcmV0dHktcHJpbnQgc29tZXRoaW5nIGFuZCBhcHBlbmQgdG8g JyRvdXRwdXRfcnVsZXMnLgpzdWIgcHJldHR5X3ByaW50X3J1bGUKewogICAgJG91dHB1dF9y dWxlcyAuPSBtYWtlZmlsZV93cmFwIChzaGlmdCwgc2hpZnQsIEBfKTsKfQoKCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBIYW5kbGlu ZyB0aGUgY29uZGl0aW9uYWwgc3RhY2suICAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIwoKCiMgJFNUUklORwojIG1ha2VfY29uZGl0aW9uYWxfc3RyaW5nICgk TkVHQVRFLCAkQ09ORCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCnN1YiBtYWtlX2NvbmRpdGlvbmFsX3N0cmluZwp7CiAgbXkgKCRuZWdhdGUsICRjb25k KSA9IEBfOwogICRjb25kID0gIiR7Y29uZH1fVFJVRSIKICAgIHVubGVzcyAkY29uZCA9fiAv XlRSVUV8RkFMU0UkLzsKICAkY29uZCA9IEF1dG9tYWtlOjpDb25kaXRpb246OmNvbmRpdGlv bmFsX25lZ2F0ZSAoJGNvbmQpCiAgICBpZiAkbmVnYXRlOwogIHJldHVybiAkY29uZDsKfQoK Cm15ICVfYW1fbWFjcm9fZm9yX2NvbmQgPQogICgKICBBTURFUCA9PiAib25lIG9mIHRoZSBj b21waWxlciB0ZXN0c1xuIgoJICAgLiAiICAgIEFDX1BST0dfQ0MsIEFDX1BST0dfQ1hYLCBB Q19QUk9HX09CSkMsIEFDX1BST0dfT0JKQ1hYLFxuIgoJICAgLiAiICAgIEFNX1BST0dfQVMs IEFNX1BST0dfR0NKLCBBTV9QUk9HX1VQQyIsCiAgYW1fX2Zhc3RkZXBDQyA9PiAnQUNfUFJP R19DQycsCiAgYW1fX2Zhc3RkZXBDQ0FTID0+ICdBTV9QUk9HX0FTJywKICBhbV9fZmFzdGRl cENYWCA9PiAnQUNfUFJPR19DWFgnLAogIGFtX19mYXN0ZGVwR0NKID0+ICdBTV9QUk9HX0dD SicsCiAgYW1fX2Zhc3RkZXBPQkpDID0+ICdBQ19QUk9HX09CSkMnLAogIGFtX19mYXN0ZGVw T0JKQ1hYID0+ICdBQ19QUk9HX09CSkNYWCcsCiAgYW1fX2Zhc3RkZXBVUEMgPT4gJ0FNX1BS T0dfVVBDJwogICk7CgojICRDT05ECiMgY29uZF9zdGFja19pZiAoJE5FR0FURSwgJENPTkQs ICRXSEVSRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIg Y29uZF9zdGFja19pZgp7CiAgbXkgKCRuZWdhdGUsICRjb25kLCAkd2hlcmUpID0gQF87Cgog IGlmICghICRjb25maWd1cmVfY29uZHskY29uZH0gJiYgJGNvbmQgIX4gL15UUlVFfEZBTFNF JC8pCiAgICB7CiAgICAgIG15ICR0ZXh0ID0gIiRjb25kIGRvZXMgbm90IGFwcGVhciBpbiBB TV9DT05ESVRJT05BTCI7CiAgICAgIG15ICRzY29wZSA9IFVTX0xPQ0FMOwogICAgICBpZiAo ZXhpc3RzICRfYW1fbWFjcm9fZm9yX2NvbmR7JGNvbmR9KQoJewoJICBteSAkbWFjID0gJF9h bV9tYWNyb19mb3JfY29uZHskY29uZH07CgkgICR0ZXh0IC49ICJcbiAgVGhlIHVzdWFsIHdh eSB0byBkZWZpbmUgJyRjb25kJyBpcyB0byBhZGQgIjsKCSAgJHRleHQgLj0gKCRtYWMgPX4g LyAvKSA/ICRtYWMgOiAiJyRtYWMnIjsKCSAgJHRleHQgLj0gIlxuICB0byAnJGNvbmZpZ3Vy ZV9hYycgYW5kIHJ1biAnYWNsb2NhbCcgYW5kICdhdXRvY29uZicgYWdhaW4iOwoJICAjIFRo ZXNlIHdhcm5pbmdzIGFwcGVhciBpbiBBdXRvbWFrZSBmaWxlcyAoZGVwZW5kMi5hbSksCgkg ICMgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBkaXNwbGF5IHRoZW0gbW9yZSB0aGFuIG9uY2U6 CgkgICRzY29wZSA9IFVTX0dMT0JBTDsKCX0KICAgICAgZXJyb3IgJHdoZXJlLCAkdGV4dCwg dW5pcV9zY29wZSA9PiAkc2NvcGU7CiAgICB9CgogIHB1c2ggKEBjb25kX3N0YWNrLCBtYWtl X2NvbmRpdGlvbmFsX3N0cmluZyAoJG5lZ2F0ZSwgJGNvbmQpKTsKCiAgcmV0dXJuIG5ldyBB dXRvbWFrZTo6Q29uZGl0aW9uIChAY29uZF9zdGFjayk7Cn0KCgojICRDT05ECiMgY29uZF9z dGFja19lbHNlICgkTkVHQVRFLCAkQ09ORCwgJFdIRVJFKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGNvbmRfc3RhY2tfZWxzZQp7CiAgbXkgKCRu ZWdhdGUsICRjb25kLCAkd2hlcmUpID0gQF87CgogIGlmICghIEBjb25kX3N0YWNrKQogICAg ewogICAgICBlcnJvciAkd2hlcmUsICJlbHNlIHdpdGhvdXQgaWYiOwogICAgICByZXR1cm4g RkFMU0U7CiAgICB9CgogICRjb25kX3N0YWNrWyQjY29uZF9zdGFja10gPQogICAgQXV0b21h a2U6OkNvbmRpdGlvbjo6Y29uZGl0aW9uYWxfbmVnYXRlICgkY29uZF9zdGFja1skI2NvbmRf c3RhY2tdKTsKCiAgIyBJZiAkQ09ORCBpcyBnaXZlbiwgY2hlY2sgYWdhaW5zdCBpdC4KICBp ZiAoZGVmaW5lZCAkY29uZCkKICAgIHsKICAgICAgJGNvbmQgPSBtYWtlX2NvbmRpdGlvbmFs X3N0cmluZyAoJG5lZ2F0ZSwgJGNvbmQpOwoKICAgICAgZXJyb3IgKCR3aGVyZSwgImVsc2Ug cmVtaW5kZXIgKCRuZWdhdGUkY29uZCkgaW5jb21wYXRpYmxlIHdpdGggIgoJICAgICAuICJj dXJyZW50IGNvbmRpdGlvbmFsOiAkY29uZF9zdGFja1skI2NvbmRfc3RhY2tdIikKCWlmICRj b25kX3N0YWNrWyQjY29uZF9zdGFja10gbmUgJGNvbmQ7CiAgICB9CgogIHJldHVybiBuZXcg QXV0b21ha2U6OkNvbmRpdGlvbiAoQGNvbmRfc3RhY2spOwp9CgoKIyAkQ09ORAojIGNvbmRf c3RhY2tfZW5kaWYgKCRORUdBVEUsICRDT05ELCAkV0hFUkUpCiMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGNvbmRfc3RhY2tfZW5kaWYKewogIG15 ICgkbmVnYXRlLCAkY29uZCwgJHdoZXJlKSA9IEBfOwogIG15ICRvbGRfY29uZDsKCiAgaWYg KCEgQGNvbmRfc3RhY2spCiAgICB7CiAgICAgIGVycm9yICR3aGVyZSwgImVuZGlmIHdpdGhv dXQgaWYiOwogICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgIyBJZiAkQ09ORCBpcyBnaXZl biwgY2hlY2sgYWdhaW5zdCBpdC4KICBpZiAoZGVmaW5lZCAkY29uZCkKICAgIHsKICAgICAg JGNvbmQgPSBtYWtlX2NvbmRpdGlvbmFsX3N0cmluZyAoJG5lZ2F0ZSwgJGNvbmQpOwoKICAg ICAgZXJyb3IgKCR3aGVyZSwgImVuZGlmIHJlbWluZGVyICgkbmVnYXRlJGNvbmQpIGluY29t cGF0aWJsZSB3aXRoICIKCSAgICAgLiAiY3VycmVudCBjb25kaXRpb25hbDogJGNvbmRfc3Rh Y2tbJCNjb25kX3N0YWNrXSIpCglpZiAkY29uZF9zdGFja1skI2NvbmRfc3RhY2tdIG5lICRj b25kOwogICAgfQoKICBwb3AgQGNvbmRfc3RhY2s7CgogIHJldHVybiBuZXcgQXV0b21ha2U6 OkNvbmRpdGlvbiAoQGNvbmRfc3RhY2spOwp9CgoKCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tICMjCiMjIEhhbmRsaW5nIHRoZSB2YXJpYWJsZXMuICAjIwojIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gIyMKCgojIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRWQVIsICRD T05ELCAkV0hFUkUsIEBWQUxVRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTGlrZSBkZWZpbmVfdmFyaWFibGUsIGJ1dCB0aGUg dmFsdWUgaXMgYSBsaXN0LCBhbmQgdGhlIHZhcmlhYmxlIG1heQojIGJlIGRlZmluZWQgY29u ZGl0aW9uYWxseS4gIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIGNvbmRpdGlvbgojIHVu ZGVyIHdoaWNoIHRoZSB2YWx1ZSBzaG91bGQgYmUgZGVmaW5lZDsgdGhpcyBzaG91bGQgYmUg dGhlIGVtcHR5CiMgc3RyaW5nIHRvIGRlZmluZSB0aGUgdmFyaWFibGUgdW5jb25kaXRpb25h bGx5LiAgVGhlIHRoaXJkIGFyZ3VtZW50CiMgaXMgYSBsaXN0IGhvbGRpbmcgdGhlIHZhbHVl cyB0byB1c2UgZm9yIHRoZSB2YXJpYWJsZS4gIFRoZSB2YWx1ZSBpcwojIHByZXR0eSBwcmlu dGVkIGluIHRoZSBvdXRwdXQgZmlsZS4Kc3ViIGRlZmluZV9wcmV0dHlfdmFyaWFibGUKewog ICAgbXkgKCR2YXIsICRjb25kLCAkd2hlcmUsIEB2YWx1ZSkgPSBAXzsKCiAgICBpZiAoISB2 YXJkZWYgKCR2YXIsICRjb25kKSkKICAgIHsKCUF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5l ICgkdmFyLCBWQVJfQVVUT01BS0UsICcnLCAkY29uZCwgIkB2YWx1ZSIsCgkJCQkgICAgJycs ICR3aGVyZSwgVkFSX1BSRVRUWSk7CglydmFyICgkdmFyKS0+cmRlZiAoJGNvbmQpLT5zZXRf c2VlbjsKICAgIH0KfQoKCiMgZGVmaW5lX3ZhcmlhYmxlICgkVkFSLCAkVkFMVUUsICRXSEVS RSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERlZmluZSBh IG5ldyBBdXRvbWFrZSBNYWtlZmlsZSB2YXJpYWJsZSBWQVIgdG8gVkFMVUUsIGJ1dCBvbmx5 IGlmCiMgbm90IGFscmVhZHkgZGVmaW5lZC4Kc3ViIGRlZmluZV92YXJpYWJsZQp7CiAgICBt eSAoJHZhciwgJHZhbHVlLCAkd2hlcmUpID0gQF87CiAgICBkZWZpbmVfcHJldHR5X3Zhcmlh YmxlICgkdmFyLCBUUlVFLCAkd2hlcmUsICR2YWx1ZSk7Cn0KCgojIGRlZmluZV9maWxlc192 YXJpYWJsZSAoJFZBUiwgXEBCQVNFTkFNRSwgJEVYVEVOU0lPTiwgJFdIRVJFKQojIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIERlZmluZSB0aGUgJFZBUiB3aGljaCBjb250ZW50IGlzIHRoZSBsaXN0IG9mIGZpbGUg bmFtZXMgY29tcG9zZWQgb2YKIyBhIEBCQVNFTkFNRSBhbmQgdGhlICRFWFRFTlNJT04uCnN1 YiBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRcQCQkKQp7CiAgbXkgKCR2YXIsICRiYXNlbmFt ZSwgJGV4dGVuc2lvbiwgJHdoZXJlKSA9IEBfOwogIGRlZmluZV92YXJpYWJsZSAoJHZhciwK CQkgICBqb2luICgnICcsIG1hcCB7ICIkXy4kZXh0ZW5zaW9uIiB9IEAkYmFzZW5hbWUpLAoJ CSAgICR3aGVyZSk7Cn0KCgojIExpa2UgZGVmaW5lX3ZhcmlhYmxlLCBidXQgZGVmaW5lIGEg dmFyaWFibGUgdG8gYmUgdGhlIGNvbmZpZ3VyZQojIHN1YnN0aXR1dGlvbiBieSB0aGUgc2Ft ZSBuYW1lLgpzdWIgZGVmaW5lX2NvbmZpZ3VyZV92YXJpYWJsZQp7CiAgbXkgKCR2YXIpID0g QF87CiAgIyBTb21lIHZhcmlhYmxlcyB3ZSBkbyBub3Qgd2FudCB0byBvdXRwdXQuICBGb3Ig aW5zdGFuY2UgaXQKICAjIHdvdWxkIGJlIGEgYmFkIGlkZWEgdG8gb3V0cHV0IGBVID0gQFVA YCB3aGVuIGBAVUBgIGNhbiBiZQogICMgc3Vic3RpdHV0ZWQgYXMgYFxgLgogIG15ICRwcmV0 dHkgPSBleGlzdHMgJGlnbm9yZWRfY29uZmlndXJlX3ZhcnN7JHZhcn0gPyBWQVJfU0lMRU5U IDogVkFSX0FTSVM7CiAgQXV0b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUgKCR2YXIsIFZBUl9D T05GSUdVUkUsICcnLCBUUlVFLCBzdWJzdCAoJHZhciksCgkJCSAgICAgICcnLCAkY29uZmln dXJlX3ZhcnN7JHZhcn0sICRwcmV0dHkpOwp9CgoKIyBkZWZpbmVfY29tcGlsZXJfdmFyaWFi bGUgKCRMQU5HKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVmaW5l IGEgY29tcGlsZXIgdmFyaWFibGUuICBXZSBhbHNvIGhhbmRsZSBkZWZpbmluZyB0aGUgJ0xU JwojIHZlcnNpb24gb2YgdGhlIGNvbW1hbmQgd2hlbiB1c2luZyBsaWJ0b29sLgpzdWIgZGVm aW5lX2NvbXBpbGVyX3ZhcmlhYmxlCnsKICAgIG15ICgkbGFuZykgPSBAXzsKCiAgICBteSAo JHZhciwgJHZhbHVlKSA9ICgkbGFuZy0+Y29tcGlsZXIsICRsYW5nLT5jb21waWxlKTsKICAg IG15ICRsaWJ0b29sX3RhZyA9ICcnOwogICAgJGxpYnRvb2xfdGFnID0gJy0tdGFnPScgLiAk bGFuZy0+bGlidG9vbF90YWcgLiAnICcKICAgICAgaWYgJGxhbmctPmxpYnRvb2xfdGFnICYm IGV4aXN0cyAkbGlidG9vbF90YWdzeyRsYW5nLT5saWJ0b29sX3RhZ307CiAgICBkZWZpbmVf dmFyaWFibGUgKCR2YXIsICR2YWx1ZSwgSU5URVJOQUwpOwogICAgaWYgKHZhciAoJ0xJQlRP T0wnKSkKICAgICAgewoJbXkgJHZlcmJvc2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgp OwoJZGVmaW5lX3ZhcmlhYmxlICgiTFQkdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAg ICJcJChMSUJUT09MKSAkdmVyYm9zZSAkbGlidG9vbF90YWdcJChBTV9MSUJUT09MRkxBR1Mp IgogICAgICAgICAgICAgICAgICAgICAgICAgLiAiIFwkKExJQlRPT0xGTEFHUykgLS1tb2Rl PWNvbXBpbGUgJHZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIElOVEVSTkFMKTsK ICAgICAgfQogICAgZGVmaW5lX3ZlcmJvc2VfdGFndmFyICgkbGFuZy0+Y2NlciB8fCAnR0VO Jyk7Cn0KCgpzdWIgZGVmaW5lX2xpbmtlcl92YXJpYWJsZQp7CiAgICBteSAoJGxhbmcpID0g QF87CgogICAgbXkgJGxpYnRvb2xfdGFnID0gJyc7CiAgICAkbGlidG9vbF90YWcgPSAnLS10 YWc9JyAuICRsYW5nLT5saWJ0b29sX3RhZyAuICcgJwogICAgICBpZiAkbGFuZy0+bGlidG9v bF90YWcgJiYgZXhpc3RzICRsaWJ0b29sX3RhZ3N7JGxhbmctPmxpYnRvb2xfdGFnfTsKICAg ICMgQ0NMRCA9ICQoQ0MpLgogICAgZGVmaW5lX3ZhcmlhYmxlICgkbGFuZy0+bGRlciwgJGxh bmctPmxkLCBJTlRFUk5BTCk7CiAgICAjIENDTElOSyA9ICQoQ0NMRCkgYmxhaCBibGFoLi4u CiAgICBteSAkbGluayA9ICcnOwogICAgaWYgKHZhciAoJ0xJQlRPT0wnKSkKICAgICAgewoJ bXkgJHZlcmJvc2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgpOwoJJGxpbmsgPSAiXCQo TElCVE9PTCkgJHZlcmJvc2UgJGxpYnRvb2xfdGFnXCQoQU1fTElCVE9PTEZMQUdTKSAiCgkJ LiAiXCQoTElCVE9PTEZMQUdTKSAtLW1vZGU9bGluayAiOwogICAgICB9CiAgICBkZWZpbmVf dmFyaWFibGUgKCRsYW5nLT5saW5rZXIsICRsaW5rIC4gJGxhbmctPmxpbmssIElOVEVSTkFM KTsKICAgIGRlZmluZV92YXJpYWJsZSAoJGxhbmctPmNvbXBpbGVyLCAkbGFuZywgSU5URVJO QUwpOwogICAgZGVmaW5lX3ZlcmJvc2VfdGFndmFyICgkbGFuZy0+bGRlciB8fCAnR0VOJyk7 Cn0KCnN1YiBkZWZpbmVfcGVyX3RhcmdldF9saW5rZXJfdmFyaWFibGUKewogIG15ICgkbGlu a2VyLCAkdGFyZ2V0KSA9IEBfOwoKICAjIElmIHRoZSB1c2VyIHdyb3RlIGEgY3VzdG9tIGxp bmsgY29tbWFuZCwgd2UgZG9uJ3QgZGVmaW5lIG91cnMuCiAgcmV0dXJuICIke3RhcmdldH1f TElOSyIKICAgIGlmIHNldF9zZWVuICIke3RhcmdldH1fTElOSyI7CgogIG15ICR4bGluayA9 ICRsaW5rZXIgPyAkbGlua2VyIDogJ0xJTksnOwoKICBteSAkbGFuZyA9ICRsaW5rX2xhbmd1 YWdlc3skeGxpbmt9OwogIHByb2dfZXJyb3IgIlVua25vd24gbGFuZ3VhZ2UgZm9yIGxpbmtl ciB2YXJpYWJsZSAnJHhsaW5rJyIKICAgIHVubGVzcyAkbGFuZzsKCiAgbXkgJGxpbmtfY29t bWFuZCA9ICRsYW5nLT5saW5rOwogIGlmICh2YXIgJ0xJQlRPT0wnKQogICAgewogICAgICBt eSAkbGlidG9vbF90YWcgPSAnJzsKICAgICAgJGxpYnRvb2xfdGFnID0gJy0tdGFnPScgLiAk bGFuZy0+bGlidG9vbF90YWcgLiAnICcKCWlmICRsYW5nLT5saWJ0b29sX3RhZyAmJiBleGlz dHMgJGxpYnRvb2xfdGFnc3skbGFuZy0+bGlidG9vbF90YWd9OwoKICAgICAgbXkgJHZlcmJv c2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgpOwogICAgICAkbGlua19jb21tYW5kID0K CSJcJChMSUJUT09MKSAkdmVyYm9zZSAkbGlidG9vbF90YWdcJChBTV9MSUJUT09MRkxBR1Mp IFwkKExJQlRPT0xGTEFHUykgIgoJLiAiLS1tb2RlPWxpbmsgIiAuICRsaW5rX2NvbW1hbmQ7 CiAgICB9CgogICMgUmV3cml0ZSBlYWNoIG9jY3VycmVuY2Ugb2YgJ0FNXyRmbGFnJyBpbiB0 aGUgbGluawogICMgY29tbWFuZCBpbnRvICcke2Rlcml2ZWR9XyRmbGFnJyBpZiBpdCBleGlz dHMuCiAgbXkgJG9yaWdfY29tbWFuZCA9ICRsaW5rX2NvbW1hbmQ7CiAgbXkgQGZsYWdzID0g KEB7JGxhbmctPmZsYWdzfSwgJ0xERkxBR1MnKTsKICBwdXNoIEBmbGFncywgJ0xJQlRPT0xG TEFHUycgaWYgdmFyICdMSUJUT09MJzsKICBmb3IgbXkgJGZsYWcgKEBmbGFncykKICAgIHsK ICAgICAgbXkgJHZhbCA9ICIke3RhcmdldH1fJGZsYWciOwogICAgICAkbGlua19jb21tYW5k ID1+IHMvXChBTV8kZmxhZ1wpL1woJHZhbFwpLwoJaWYgc2V0X3NlZW4gKCR2YWwpOwogICAg fQoKICAjIElmIHRoZSBjb21wdXRlZCBjb21tYW5kIGlzIHRoZSBzYW1lIGFzIHRoZSBnZW5l cmljIGNvbW1hbmQsIHVzZQogICMgdGhlIGNvbW1hbmQgbGlua2VyIHZhcmlhYmxlLgogIHJl dHVybiAoJGxhbmctPmxpbmtlciwgJGxhbmctPmxkZXIpCiAgICBpZiAkbGlua19jb21tYW5k IGVxICRvcmlnX2NvbW1hbmQ7CgogIGRlZmluZV92YXJpYWJsZSAoIiR7dGFyZ2V0fV9MSU5L IiwgJGxpbmtfY29tbWFuZCwgSU5URVJOQUwpOwogIHJldHVybiAoIiR7dGFyZ2V0fV9MSU5L IiwgJGxhbmctPmxkZXIpOwp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIGNoZWNrX3RyYWlsaW5nX3NsYXNo ICgkV0hFUkUsICRMSU5FKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIFJldHVybiAxIGlmZiAkTElORSBlbmRzIHdpdGggYSBzbGFzaC4KIyBNaWdodCBtb2Rp ZnkgJExJTkUuCnN1YiBjaGVja190cmFpbGluZ19zbGFzaCAoJFwkKQp7CiAgbXkgKCR3aGVy ZSwgJGxpbmUpID0gQF87CgogICMgSWdub3JlICcjIycgbGluZXMuCiAgcmV0dXJuIDAgaWYg JCRsaW5lID1+IC8kSUdOT1JFX1BBVFRFUk4vbzsKCiAgIyBDYXRjaCBhbmQgZml4IGEgY29t bW9uIGVycm9yLgogIG1zZyAic3ludGF4IiwgJHdoZXJlLCAid2hpdGVzcGFjZSBmb2xsb3dp bmcgdHJhaWxpbmcgYmFja3NsYXNoIgogICAgaWYgJCRsaW5lID1+IHMvXFxccytcbiQvXFxc bi87CgogIHJldHVybiAkJGxpbmUgPX4gL1xcJC87Cn0KCgojIHJlYWRfYW1fZmlsZSAoJEFN RklMRSwgJFdIRVJFLCAkUkVMRElSKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIFJlYWQgJEFNRklMRSBmaWxlIG5hbWUgd2hpY2ggaXMgbG9jYXRlZCBp biAkUkVMRElSLCBhbmQgc2V0IHVwCiMgZ2xvYmFsIHZhcmlhYmxlcyByZXNldHRlZCBieSAn JmdlbmVyYXRlX21ha2VmaWxlJy4gIFNpbXVsdGFuZW91c2x5CiMgY29weSBsaW5lcyBmcm9t ICRBTUZJTEUgaW50byAnJG91dHB1dF90cmFpbGVyJywgb3IgZGVmaW5lIHZhcmlhYmxlcwoj IGFzIGFwcHJvcHJpYXRlLgojCiMgTk9URTogV2UgcHV0IHJ1bGVzIGluIHRoZSB0cmFpbGVy IHNlY3Rpb24uICBXZSB3YW50IHVzZXIgcnVsZXMgdG8KIyBjb21lIGFmdGVyIG91ciBnZW5l cmF0ZWQgc3R1ZmYuCnN1YiByZWFkX2FtX2ZpbGUKewogICAgbXkgKCRhbWZpbGUsICR3aGVy ZSwgJHJlbGRpcikgPSBAXzsKICAgIG15ICRjYW5vbl9yZWxkaXIgPSAmY2Fub25pY2FsaXpl ICgkcmVsZGlyKTsKCiAgICBteSAkYW1fZmlsZSA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgKCI8 ICRhbWZpbGUiKTsKICAgIHZlcmIgInJlYWRpbmcgJGFtZmlsZSI7CgogICAgIyBLZWVwIHRy YWNrIG9mIHRoZSB5b3VuZ2VzdCBvdXRwdXQgZGVwZW5kZW5jeS4KICAgIG15ICRtdGltZSA9 IG10aW1lICRhbWZpbGU7CiAgICAkb3V0cHV0X2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0g JG10aW1lCiAgICAgIGlmICRtdGltZSA+ICRvdXRwdXRfZGVwc19ncmVhdGVzdF90aW1lc3Rh bXA7CgogICAgbXkgJHNwYWNpbmcgPSAnJzsKICAgIG15ICRjb21tZW50ID0gJyc7CiAgICBt eSAkYmxhbmsgPSAwOwogICAgbXkgJHNhd19iayA9IDA7CiAgICBteSAkdmFyX2xvb2sgPSBW QVJfQVNJUzsKCiAgICB1c2UgY29uc3RhbnQgSU5fVkFSX0RFRiA9PiAwOwogICAgdXNlIGNv bnN0YW50IElOX1JVTEVfREVGID0+IDE7CiAgICB1c2UgY29uc3RhbnQgSU5fQ09NTUVOVCA9 PiAyOwogICAgbXkgJHByZXZfc3RhdGUgPSBJTl9SVUxFX0RFRjsKCiAgICB3aGlsZSAoJF8g PSAkYW1fZmlsZS0+Z2V0bGluZSkKICAgIHsKCSR3aGVyZS0+c2V0ICgiJGFtZmlsZTokLiIp OwoJaWYgKC8kSUdOT1JFX1BBVFRFUk4vbykKCXsKCSAgICAjIE1lcmVseSBkZWxldGUgY29t bWVudHMgYmVnaW5uaW5nIHdpdGggdHdvIGhhc2hlcy4KCX0KCWVsc2lmICgvJFdISVRFX1BB VFRFUk4vbykKCXsKCSAgICBlcnJvciAkd2hlcmUsICJibGFuayBsaW5lIGZvbGxvd2luZyB0 cmFpbGluZyBiYWNrc2xhc2giCgkgICAgICBpZiAkc2F3X2JrOwoJICAgICMgU3RpY2sgYSBz aW5nbGUgd2hpdGUgbGluZSBiZWZvcmUgdGhlIGluY29taW5nIG1hY3JvIG9yIHJ1bGUuCgkg ICAgJHNwYWNpbmcgPSAiXG4iOwoJICAgICRibGFuayA9IDE7CgkgICAgIyBGbHVzaCBhbGwg Y29tbWVudHMgc2VlbiBzbyBmYXIuCgkgICAgaWYgKCRjb21tZW50IG5lICcnKQoJICAgIHsK CQkkb3V0cHV0X3ZhcnMgLj0gJGNvbW1lbnQ7CgkJJGNvbW1lbnQgPSAnJzsKCSAgICB9Cgl9 CgllbHNpZiAoLyRDT01NRU5UX1BBVFRFUk4vbykKCXsKCSAgICAjIFN0aWNrIGNvbW1lbnRz IGJlZm9yZSB0aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4gIE1ha2UKCSAgICAjIHN1cmUg YSBibGFuayBsaW5lIHByZWNlZGVzIHRoZSBmaXJzdCBibG9jayBvZiBjb21tZW50cy4KCSAg ICAkc3BhY2luZyA9ICJcbiIgdW5sZXNzICRibGFuazsKCSAgICAkYmxhbmsgPSAxOwoJICAg ICRjb21tZW50IC49ICRzcGFjaW5nIC4gJF87CgkgICAgJHNwYWNpbmcgPSAnJzsKCSAgICAk cHJldl9zdGF0ZSA9IElOX0NPTU1FTlQ7Cgl9CgllbHNlCgl7CgkgICAgbGFzdDsKCX0KCSRz YXdfYmsgPSBjaGVja190cmFpbGluZ19zbGFzaCAoJHdoZXJlLCAkXyk7CiAgICB9CgogICAg IyBXZSBzYXZlIHRoZSBjb25kaXRpb25hbCBzdGFjayBvbiBlbnRyeSwgYW5kIHRoZW4gY2hl Y2sgdG8gbWFrZQogICAgIyBzdXJlIGl0IGlzIHRoZSBzYW1lIG9uIGV4aXQuICBUaGlzIGxl dHMgdXMgY29uZGl0aW9uYWxseSBpbmNsdWRlCiAgICAjIG90aGVyIGZpbGVzLgogICAgbXkg QHNhdmVkX2NvbmRfc3RhY2sgPSBAY29uZF9zdGFjazsKICAgIG15ICRjb25kID0gbmV3IEF1 dG9tYWtlOjpDb25kaXRpb24gKEBjb25kX3N0YWNrKTsKCiAgICBteSAkbGFzdF92YXJfbmFt ZSA9ICcnOwogICAgbXkgJGxhc3RfdmFyX3R5cGUgPSAnJzsKICAgIG15ICRsYXN0X3Zhcl92 YWx1ZSA9ICcnOwogICAgbXkgJGxhc3Rfd2hlcmU7CiAgICAjIEZJWE1FOiBzaG91bGRuJ3Qg dXNlICRfIGluIHRoaXMgbG9vcDsgaXQgaXMgdG9vIGJpZy4KICAgIHdoaWxlICgkXykKICAg IHsKCSR3aGVyZS0+c2V0ICgiJGFtZmlsZTokLiIpOwoKCSMgTWFrZSBzdXJlIHRoZSBsaW5l IGlzIFxuLXRlcm1pbmF0ZWQuCgljaG9tcDsKCSRfIC49ICJcbiI7CgoJIyBEb24ndCBsb29r IGF0IE1BSU5UQUlORVJfTU9ERV9UUlVFIGhlcmUuICBUaGF0IHNob3VsZG4ndCBiZQoJIyB1 c2VkIGJ5IHVzZXJzLiAgQE1BSU5UQCBpcyBhbiBhbmFjaHJvbmlzbSBub3cuCgkkXyA9fiBz L1xATUFJTlRcQC8vZwoJICAgIHVubGVzcyAkc2Vlbl9tYWludF9tb2RlOwoKCW15ICRuZXdf c2F3X2JrID0gY2hlY2tfdHJhaWxpbmdfc2xhc2ggKCR3aGVyZSwgJF8pOwoKCWlmICgkcmVs ZGlyIGVxICcuJykKCSAgewoJICAgICMgSWYgcHJlc2VudCwgZWF0IHRoZSBmb2xsb3dpbmcg J18nIG9yICcvJywgY29udmVydGluZwoJICAgICMgIiVyZWxkaXIlL2ZvbyIgYW5kICIlY2Fu b25fcmVsZGlyJV9mb28iIGludG8gcGxhaW4gImZvbyIKCSAgICAjIHdoZW4gJHJlbGRpciBp cyAnLicuCgkgICAgJF8gPX4gcywlKER8cmVsZGlyKSUvLCxnOwoJICAgICRfID1+IHMsJShD fGNhbm9uX3JlbGRpciklXywsZzsKCSAgfQoJJF8gPX4gcy8lKER8cmVsZGlyKSUvJHtyZWxk aXJ9L2c7CgkkXyA9fiBzLyUoQ3xjYW5vbl9yZWxkaXIpJS8ke2Nhbm9uX3JlbGRpcn0vZzsK CglpZiAoLyRJR05PUkVfUEFUVEVSTi9vKQoJewoJICAgICMgTWVyZWx5IGRlbGV0ZSBjb21t ZW50cyBiZWdpbm5pbmcgd2l0aCB0d28gaGFzaGVzLgoKCSAgICAjIEtlZXAgYW55IGJhY2tz bGFzaCBmcm9tIHRoZSBwcmV2aW91cyBsaW5lLgoJICAgICRuZXdfc2F3X2JrID0gJHNhd19i azsKCX0KCWVsc2lmICgvJFdISVRFX1BBVFRFUk4vbykKCXsKCSAgICAjIFN0aWNrIGEgc2lu Z2xlIHdoaXRlIGxpbmUgYmVmb3JlIHRoZSBpbmNvbWluZyBtYWNybyBvciBydWxlLgoJICAg ICRzcGFjaW5nID0gIlxuIjsKCSAgICBlcnJvciAkd2hlcmUsICJibGFuayBsaW5lIGZvbGxv d2luZyB0cmFpbGluZyBiYWNrc2xhc2giCgkgICAgICBpZiAkc2F3X2JrOwoJfQoJZWxzaWYg KC8kQ09NTUVOVF9QQVRURVJOL28pCgl7CgkgICAgZXJyb3IgJHdoZXJlLCAiY29tbWVudCBm b2xsb3dpbmcgdHJhaWxpbmcgYmFja3NsYXNoIgoJICAgICAgaWYgJHNhd19iayAmJiAkcHJl dl9zdGF0ZSAhPSBJTl9DT01NRU5UOwoKCSAgICAjIFN0aWNrIGNvbW1lbnRzIGJlZm9yZSB0 aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAkY29tbWVudCAuPSAkc3BhY2luZyAu ICRfOwoJICAgICRzcGFjaW5nID0gJyc7CgkgICAgJHByZXZfc3RhdGUgPSBJTl9DT01NRU5U OwoJfQoJZWxzaWYgKCRzYXdfYmspCgl7CgkgICAgaWYgKCRwcmV2X3N0YXRlID09IElOX1JV TEVfREVGKQoJICAgIHsKCSAgICAgIG15ICRjb25kID0gbmV3IEF1dG9tYWtlOjpDb25kaXRp b24gQGNvbmRfc3RhY2s7CgkgICAgICAkb3V0cHV0X3RyYWlsZXIgLj0gJGNvbmQtPnN1YnN0 X3N0cmluZzsKCSAgICAgICRvdXRwdXRfdHJhaWxlciAuPSAkXzsKCSAgICB9CgkgICAgZWxz aWYgKCRwcmV2X3N0YXRlID09IElOX0NPTU1FTlQpCgkgICAgewoJCSMgSWYgdGhlIGxpbmUg ZG9lc24ndCBzdGFydCB3aXRoIGEgJyMnLCBhZGQgaXQuCgkJIyBXZSBkbyB0aGlzIGJlY2F1 c2UgYSBjb250aW51ZWQgY29tbWVudCBsaWtlCgkJIyAgICMgQSA9IGZvbyBcCgkJIyAgICAg ICAgIGJhciBcCgkJIyAgICAgICAgIGJhegoJCSMgaXMgbm90IHBvcnRhYmxlLiAgQlNEIG1h a2UgZG9lc24ndCBob25vcgoJCSMgZXNjYXBlZCBuZXdsaW5lcyBpbiBjb21tZW50cy4KCQlz L14jPy8jLzsKCQkkY29tbWVudCAuPSAkc3BhY2luZyAuICRfOwoJICAgIH0KCSAgICBlbHNl ICMgJHByZXZfc3RhdGUgPT0gSU5fVkFSX0RFRgoJICAgIHsKCSAgICAgICRsYXN0X3Zhcl92 YWx1ZSAuPSAnICcKCQl1bmxlc3MgJGxhc3RfdmFyX3ZhbHVlID1+IC9ccyQvOwoJICAgICAg JGxhc3RfdmFyX3ZhbHVlIC49ICRfOwoKCSAgICAgIGlmICghL1xcJC8pCgkJewoJCSAgQXV0 b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUgKCRsYXN0X3Zhcl9uYW1lLCBWQVJfTUFLRUZJTEUs CgkJCQkJICAgICAgJGxhc3RfdmFyX3R5cGUsICRjb25kLAoJCQkJCSAgICAgICRsYXN0X3Zh cl92YWx1ZSwgJGNvbW1lbnQsCgkJCQkJICAgICAgJGxhc3Rfd2hlcmUsIFZBUl9BU0lTKQoJ CSAgICBpZiAkY29uZCAhPSBGQUxTRTsKCQkgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsK CQl9CgkgICAgfQoJfQoKCWVsc2lmICgvJElGX1BBVFRFUk4vbykKCSAgewoJICAgICRjb25k ID0gY29uZF9zdGFja19pZiAoJDEsICQyLCAkd2hlcmUpOwoJICB9CgllbHNpZiAoLyRFTFNF X1BBVFRFUk4vbykKCSAgewoJICAgICRjb25kID0gY29uZF9zdGFja19lbHNlICgkMSwgJDIs ICR3aGVyZSk7CgkgIH0KCWVsc2lmICgvJEVORElGX1BBVFRFUk4vbykKCSAgewoJICAgICRj b25kID0gY29uZF9zdGFja19lbmRpZiAoJDEsICQyLCAkd2hlcmUpOwoJICB9CgoJZWxzaWYg KC8kUlVMRV9QQVRURVJOL28pCgl7CgkgICAgIyBGb3VuZCBhIHJ1bGUuCgkgICAgJHByZXZf c3RhdGUgPSBJTl9SVUxFX0RFRjsKCgkgICAgIyBGb3Igbm93IHdlIGhhdmUgdG8gb3V0cHV0 IGFsbCBkZWZpbml0aW9ucyBvZiB1c2VyIHJ1bGVzCgkgICAgIyBhbmQgY2FuJ3QgZGlhZ25v c2UgZHVwbGljYXRlcyAoc2VlIHRoZSBjb21tZW50IGluCgkgICAgIyBBdXRvbWFrZTo6UnVs ZTo6ZGVmaW5lKS4gU28gd2UgZ28gb24gYW5kIGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlLgoJ ICAgIEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCQxLCAkYW1maWxlLCBSVUxFX1VTRVIsICRj b25kLCAkd2hlcmUpOwoKCSAgICBjaGVja192YXJpYWJsZV9leHBhbnNpb25zICgkXywgJHdo ZXJlKTsKCgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRjb21tZW50IC4gJHNwYWNpbmc7Cgkg ICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiBAY29uZF9zdGFjazsKCSAg ICAkb3V0cHV0X3RyYWlsZXIgLj0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgICAkb3V0cHV0 X3RyYWlsZXIgLj0gJF87CgkgICAgJGNvbW1lbnQgPSAkc3BhY2luZyA9ICcnOwoJfQoJZWxz aWYgKC8kQVNTSUdOTUVOVF9QQVRURVJOL28pCgl7CgkgICAgIyBGb3VuZCBhIG1hY3JvIGRl ZmluaXRpb24uCgkgICAgJHByZXZfc3RhdGUgPSBJTl9WQVJfREVGOwoJICAgICRsYXN0X3Zh cl9uYW1lID0gJDE7CgkgICAgJGxhc3RfdmFyX3R5cGUgPSAkMjsKCSAgICAkbGFzdF92YXJf dmFsdWUgPSAkMzsKCSAgICAkbGFzdF93aGVyZSA9ICR3aGVyZS0+Y2xvbmU7CgkgICAgaWYg KCQzIG5lICcnICYmIHN1YnN0ciAoJDMsIC0xKSBlcSAiXFwiKQoJICAgICAgewoJCSMgV2Ug cHJlc2VydmUgdGhlICdcJyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgbG9uZyBsaW5lcwoJCSMg dGhhdCBhcmUgZ2VuZXJhdGVkIHdpbGwgYmUgdHJ1bmNhdGVkIGJ5IGJyb2tlbgoJCSMgJ3Nl ZCdzLgoJCSRsYXN0X3Zhcl92YWx1ZSA9ICQzIC4gIlxuIjsKCSAgICAgIH0KCSAgICAjIE5v cm1hbGx5IHdlIHRyeSB0byBvdXRwdXQgdmFyaWFibGUgZGVmaW5pdGlvbnMgaW4gdGhlCgkg ICAgIyBzYW1lIGZvcm1hdCB0aGV5IHdlcmUgaW5wdXQuICBIb3dldmVyLCBQT1NJWCBjb21w bGlhbnQKCSAgICAjIHN5c3RlbXMgYXJlIG5vdCByZXF1aXJlZCB0byBzdXBwb3J0IGxpbmVz IGxvbmdlciB0aGFuCgkgICAgIyAyMDQ4IGJ5dGVzIChtb3N0IG5vdGFibHksIHNvbWUgc2Vk IGltcGxlbWVudGF0aW9uIGFyZQoJICAgICMgbGltaXRlZCB0byA0MDAwIGJ5dGVzLCBhbmQg c2VkIGlzIHVzZWQgYnkgY29uZmlnLnN0YXR1cwoJICAgICMgdG8gcmV3cml0ZSBNYWtlZmls ZS5pbiBpbnRvIE1ha2VmaWxlKS4gIE1vcmVvdmVyIG5vYm9keQoJICAgICMgd291bGQgcmVh bGx5IHdyaXRlIHN1Y2ggbG9uZyBsaW5lcyBieSBoYW5kIHNpbmNlIGl0IGlzCgkgICAgIyBo YXJkbHkgbWFpbnRhaW5hYmxlLiAgU28gaWYgYSBsaW5lIGlzIGxvbmdlciB0aGF0IDEwMDAK CSAgICAjIGJ5dGVzIChhbiBhcmJpdHJhcnkgbGltaXQpLCBhc3N1bWUgaXQgaGFzIGJlZW4K CSAgICAjIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHNvbWUgdG9vbHMsIGFuZCBmbGF0 dGVuIHRoZQoJICAgICMgdmFyaWFibGUgZGVmaW5pdGlvbi4gIE90aGVyd2lzZSwga2VlcCB0 aGUgdmFyaWFibGUgYXMgaXQKCSAgICAjIGFzIGJlZW4gaW5wdXQuCgkgICAgJHZhcl9sb29r ID0gVkFSX1BSRVRUWSBpZiBsZW5ndGggKCRsYXN0X3Zhcl92YWx1ZSkgPj0gMTAwMDsKCgkg ICAgaWYgKCEvXFwkLykKCSAgICAgIHsKCQlBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSAo JGxhc3RfdmFyX25hbWUsIFZBUl9NQUtFRklMRSwKCQkJCQkgICAgJGxhc3RfdmFyX3R5cGUs ICRjb25kLAoJCQkJCSAgICAkbGFzdF92YXJfdmFsdWUsICRjb21tZW50LAoJCQkJCSAgICAk bGFzdF93aGVyZSwgJHZhcl9sb29rKQoJCSAgaWYgJGNvbmQgIT0gRkFMU0U7CgkJJGNvbW1l bnQgPSAkc3BhY2luZyA9ICcnOwoJCSR2YXJfbG9vayA9IFZBUl9BU0lTOwoJICAgICAgfQoJ fQoJZWxzaWYgKC8kSU5DTFVERV9QQVRURVJOL28pCgl7CgkgICAgbXkgJHBhdGggPSAkMTsK CgkgICAgaWYgKCRwYXRoID1+IHMvXlwkXCh0b3Bfc3JjZGlyXClcLy8vKQoJICAgICAgewoJ CXB1c2ggKEBpbmNsdWRlX3N0YWNrLCAiXCRcKHRvcF9zcmNkaXJcKS8kcGF0aCIpOwoJCSMg RGlzdHJpYnV0ZSBhbnkgaW5jbHVkZWQgZmlsZS4KCgkJIyBBbHdheXMgdXNlIHRoZSAkKHRv cF9zcmNkaXIpIHByZWZpeCBpbiBESVNUX0NPTU1PTiwKCQkjIG90aGVyd2lzZSBPU0YgbWFr ZSB3aWxsIGltcGxpY2l0bHkgY29weSB0aGUgaW5jbHVkZWQKCQkjIGZpbGUgaW4gdGhlIGJ1 aWxkIHRyZWUgZHVyaW5nICJtYWtlIGRpc3RkaXIiIHRvIHNhdGlzZnkKCQkjIHRoZSBkZXBl bmRlbmN5LgoJCSMgKHN1YmRpci1hbS1jb25kLnNoIGFuZCBzdWJkaXItYWMtY29uZC5zaCB3 aWxsIGZhaWwpCgkJcHVzaF9kaXN0X2NvbW1vbiAoIlwkXCh0b3Bfc3JjZGlyXCkvJHBhdGgi KTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJHBhdGggPX4gcy9cJFwoc3JjZGly XClcLy8vOwoJCXB1c2ggKEBpbmNsdWRlX3N0YWNrLCAiXCRcKHNyY2RpclwpLyRwYXRoIik7 CgkJIyBBbHdheXMgdXNlIHRoZSAkKHNyY2RpcikgcHJlZml4IGluIERJU1RfQ09NTU9OLAoJ CSMgb3RoZXJ3aXNlIE9TRiBtYWtlIHdpbGwgaW1wbGljaXRseSBjb3B5IHRoZSBpbmNsdWRl ZAoJCSMgZmlsZSBpbiB0aGUgYnVpbGQgdHJlZSBkdXJpbmcgIm1ha2UgZGlzdGRpciIgdG8g c2F0aXNmeQoJCSMgdGhlIGRlcGVuZGVuY3kuCgkJIyAoc3ViZGlyLWFtLWNvbmQuc2ggYW5k IHN1YmRpci1hYy1jb25kLnNoIHdpbGwgZmFpbCkKCQlwdXNoX2Rpc3RfY29tbW9uICgiXCRc KHNyY2RpclwpLyRwYXRoIik7CgkJJHBhdGggPSAkcmVsYXRpdmVfZGlyIC4gIi8iIC4gJHBh dGggaWYgJHJlbGF0aXZlX2RpciBuZSAnLic7CgkgICAgICB9CgkgICAgbXkgJG5ld19yZWxk aXIgPSBGaWxlOjpTcGVjLT5hYnMycmVsICgkcGF0aCwgJHJlbGF0aXZlX2Rpcik7CgkgICAg JG5ld19yZWxkaXIgPSAnLicgaWYgJG5ld19yZWxkaXIgIX4gcywvW14vXSokLCw7CgkgICAg JHdoZXJlLT5wdXNoX2NvbnRleHQgKCInJHBhdGgnIGluY2x1ZGVkIGZyb20gaGVyZSIpOwoJ ICAgIHJlYWRfYW1fZmlsZSAoJHBhdGgsICR3aGVyZSwgJG5ld19yZWxkaXIpOwoJICAgICR3 aGVyZS0+cG9wX2NvbnRleHQ7Cgl9CgllbHNlCgl7CgkgICAgIyBUaGlzIGlzbid0IGFuIGVy cm9yOyBpdCBpcyBwcm9iYWJseSBhIGNvbnRpbnVlZCBydWxlLgoJICAgICMgSW4gZmFjdCwg dGhpcyBpcyB3aGF0IHdlIGFzc3VtZS4KCSAgICAkcHJldl9zdGF0ZSA9IElOX1JVTEVfREVG OwoJICAgIGNoZWNrX3ZhcmlhYmxlX2V4cGFuc2lvbnMgKCRfLCAkd2hlcmUpOwoJICAgICRv dXRwdXRfdHJhaWxlciAuPSAkY29tbWVudCAuICRzcGFjaW5nOwoJICAgIG15ICRjb25kID0g bmV3IEF1dG9tYWtlOjpDb25kaXRpb24gQGNvbmRfc3RhY2s7CgkgICAgJG91dHB1dF90cmFp bGVyIC49ICRjb25kLT5zdWJzdF9zdHJpbmc7CgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRf OwoJICAgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCSAgICBlcnJvciAkd2hlcmUsICIn IycgY29tbWVudCBhdCBzdGFydCBvZiBydWxlIGlzIHVucG9ydGFibGUiCgkgICAgICBpZiAk XyA9fiAvXlx0XHMqXCMvOwoJfQoKCSRzYXdfYmsgPSAkbmV3X3Nhd19iazsKCSRfID0gJGFt X2ZpbGUtPmdldGxpbmU7CiAgICB9CgogICAgJG91dHB1dF90cmFpbGVyIC49ICRjb21tZW50 OwoKICAgIGVycm9yICgkd2hlcmUsICJ0cmFpbGluZyBiYWNrc2xhc2ggb24gbGFzdCBsaW5l IikKICAgICAgaWYgJHNhd19iazsKCiAgICBlcnJvciAoJHdoZXJlLCAoQGNvbmRfc3RhY2sg PyAidW50ZXJtaW5hdGVkIGNvbmRpdGlvbmFsczogQGNvbmRfc3RhY2siCgkJICAgIDogInRv byBtYW55IGNvbmRpdGlvbmFscyBjbG9zZWQgaW4gaW5jbHVkZSBmaWxlIikpCiAgICAgIGlm ICJAc2F2ZWRfY29uZF9zdGFjayIgbmUgIkBjb25kX3N0YWNrIjsKfQoKCiMgQSBoZWxwZXIg Zm9yIHJlYWRfbWFpbl9hbV9maWxlIHdoaWNoIGluaXRpYWxpemVzIGNvbmZpZ3VyZSB2YXJp YWJsZXMKIyBhbmQgdmFyaWFibGVzIGZyb20gaGVhZGVyLXZhcnMuYW0uCnN1YiBkZWZpbmVf c3RhbmRhcmRfdmFyaWFibGVzICgpCnsKICBteSAkc2F2ZWRfb3V0cHV0X3ZhcnMgPSAkb3V0 cHV0X3ZhcnM7CiAgbXkgKCRjb21tZW50cywgdW5kZWYsICRydWxlcykgPQogICAgZmlsZV9j b250ZW50c19pbnRlcm5hbCAoMSwgIiRsaWJkaXIvYW0vaGVhZGVyLXZhcnMuYW0iLAoJCQkg ICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbik7CgogIGZvcmVhY2ggbXkgJHZhciAoc29ydCBr ZXlzICVjb25maWd1cmVfdmFycykKICAgIHsKICAgICAgZGVmaW5lX2NvbmZpZ3VyZV92YXJp YWJsZSAoJHZhcik7CiAgICB9CgogICRvdXRwdXRfdmFycyAuPSAkY29tbWVudHMgLiAkcnVs ZXM7Cn0KCgojIHJlYWRfbWFpbl9hbV9maWxlICgkTUFLRUZJTEVfQU0sICRNQUtFRklMRV9J TikKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1 YiByZWFkX21haW5fYW1fZmlsZQp7CiAgICBteSAoJGFtZmlsZSwgJGluZmlsZSkgPSBAXzsK CiAgICAjIFRoaXMgc3VwcG9ydHMgdGhlIHN0cmFuZ2UgdmFyaWFibGUgdHJpY2tzIHdlIGFy ZSBhYm91dCB0byBwbGF5LgogICAgcHJvZ19lcnJvciAoInZhcmlhYmxlIGRlZmluZWQgYmVm b3JlIHJlYWRfbWFpbl9hbV9maWxlXG4iIC4gdmFyaWFibGVzX2R1bXAgKCkpCiAgICAgIGlm IChzY2FsYXIgKHZhcmlhYmxlcykgPiAwKTsKCiAgICAjIEdlbmVyYXRlIGNvcHlyaWdodCBo ZWFkZXIgZm9yIGdlbmVyYXRlZCBNYWtlZmlsZS5pbi4KICAgICMgV2UgZG8gZGlzY2FyZCB0 aGUgb3V0cHV0IG9mIHByZWRlZmluZWQgdmFyaWFibGVzLCBoYW5kbGVkIGJlbG93LgogICAg JG91dHB1dF92YXJzID0gKCIjICIgLiBiYXNlbmFtZSAoJGluZmlsZSkgLiAiIGdlbmVyYXRl ZCBieSBhdXRvbWFrZSAiCgkJICAgLiAkVkVSU0lPTiAuICIgZnJvbSAiIC4gYmFzZW5hbWUg KCRhbWZpbGUpIC4gIi5cbiIpOwogICAgJG91dHB1dF92YXJzIC49ICcjICcgLiBzdWJzdCAo J2NvbmZpZ3VyZV9pbnB1dCcpIC4gIlxuIjsKICAgICRvdXRwdXRfdmFycyAuPSAkZ2VuX2Nv cHlyaWdodDsKCiAgICAjIFdlIHdhbnQgdG8gcHJlZGVmaW5lIGFzIG1hbnkgdmFyaWFibGVz IGFzIHBvc3NpYmxlLiAgVGhpcyBsZXRzCiAgICAjIHRoZSB1c2VyIHNldCB0aGVtIHdpdGgg Jys9JyBpbiBNYWtlZmlsZS5hbS4KICAgIGRlZmluZV9zdGFuZGFyZF92YXJpYWJsZXM7Cgog ICAgIyBSZWFkIHVzZXIgZmlsZSwgd2hpY2ggbWlnaHQgb3ZlcnJpZGUgc29tZSBvZiBvdXIg dmFsdWVzLgogICAgcmVhZF9hbV9maWxlICgkYW1maWxlLCBuZXcgQXV0b21ha2U6OkxvY2F0 aW9uLCAnLicpOwp9CgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgJFNUUklORwojIGZsYXR0ZW4gKCRPUklH SU5BTF9TVFJJTkcpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGZsYXR0ZW4K ewogICRfID0gc2hpZnQ7CgogIHMvXFxcbi8vc29tZzsKICBzL1xzKy8gL2c7CiAgcy9eIC8v OwogIHMvICQvLzsKCiAgcmV0dXJuICRfOwp9CgoKIyB0cmFuc2Zvcm1fdG9rZW4gKCRUT0tF TiwgXCVQQUlSUywgJEtFWSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIyBSZXR1cm4gdGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gJEtFWSBpbiAlUEFJUlMs IGFzIHVzZWQgb24gJFRPS0VOCiMgKHdoaWNoIHNob3VsZCBiZSA/S0VZPyBvciBhbnkgb2Yg dGhlIHNwZWNpYWwgJSUgcmVxdWVzdHMpLi4Kc3ViIHRyYW5zZm9ybV90b2tlbiAoJFwlJCkK ewogIG15ICgkdG9rZW4sICR0cmFuc2Zvcm0sICRrZXkpID0gQF87CiAgbXkgJHJlcyA9ICR0 cmFuc2Zvcm0tPnska2V5fTsKICBwcm9nX2Vycm9yICJVbmtub3duIGtleSAnJGtleScgaW4g JyR0b2tlbiciIHVubGVzcyBkZWZpbmVkICRyZXM7CiAgcmV0dXJuICRyZXM7Cn0KCgojIHRy YW5zZm9ybSAoJFRPS0VOLCBcJVBBSVJTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIElmICgkVE9LRU4sICRWQUwpIGlzIGluICVQQUlSUzoKIyAgIC0gcmVwbGFjZXMgJUtF WSUgd2l0aCAkVkFMLAojICAgLSBlbmFibGVzL2Rpc2FibGVzID9LRVk/IGFuZCA/IUtFWT8s CiMgICAtIHJlcGxhY2VzICU/S0VZJSB3aXRoIFRSVUUgb3IgRkFMU0UuCnN1YiB0cmFuc2Zv cm0gKCRcJSkKewogIG15ICgkdG9rZW4sICR0cmFuc2Zvcm0pID0gQF87CgogICMgJUtFWSUu CiAgIyBNdXN0IGJlIGJlZm9yZSB0aGUgZm9sbG93aW5nIHBhdHRlcm4gdG8gZXhjbHVkZSB0 aGUgY2FzZQogICMgd2hlbiB0aGVyZSBpcyBuZWl0aGVyIElGVFJVRSBub3IgSUZGQUxTRS4K ICBpZiAoJHRva2VuID1+IC9eJShbXHdcLV0rKSUkLykKICAgIHsKICAgICAgcmV0dXJuIHRy YW5zZm9ybV90b2tlbiAoJHRva2VuLCAlJHRyYW5zZm9ybSwgJDEpOwogICAgfQogICMgJT9L RVklLgogIGVsc2lmICgkdG9rZW4gPX4gL14lXD8oW1x3XC1dKyklJC8pCiAgICB7CiAgICAg IHJldHVybiB0cmFuc2Zvcm1fdG9rZW4gKCR0b2tlbiwgJSR0cmFuc2Zvcm0sICQxKSA/ICdU UlVFJyA6ICdGQUxTRSc7CiAgICB9CiAgIyA/S0VZPyBhbmQgPyFLRVk/LgogIGVsc2lmICgk dG9rZW4gPX4gL14gXD8gKCE/KSAoW1x3XC1dKykgXD8gJC94KQogICAgewogICAgICBteSAk bmVnID0gKCQxIGVxICchJykgPyAxIDogMDsKICAgICAgbXkgJHZhbCA9IHRyYW5zZm9ybV90 b2tlbiAoJHRva2VuLCAlJHRyYW5zZm9ybSwgJDIpOwogICAgICByZXR1cm4gKCEhJHZhbCA9 PSAkbmVnKSA/ICcjIyUnIDogJyc7CiAgICB9CiAgZWxzZQogICAgewogICAgICBwcm9nX2Vy cm9yICJVbmtub3duIHJlcXVlc3QgZm9ybWF0OiAkdG9rZW4iOwogICAgfQp9CgojICRURVhU CiMgcHJlcHJvY2Vzc19maWxlICgkTUFLRUZJTEUsIFslVFJBTlNGT1JNXSkKIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvYWQgYSAkTUFLRUZJTEUs IGFwcGx5IHRoZSAlVFJBTlNGT1JNLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuCiMgTm8gZXh0 cmEgcGFyc2luZyBvciBwb3N0LXByb2Nlc3NpbmcgaXMgZG9uZSAoaS5lLiwgcmVjb2duaXRp b24gb2YKIyBydWxlcyBkZWNsYXJhdGlvbiBvciBvZiBtYWtlIHZhcmlhYmxlcyBkZWZpbml0 aW9ucykuCnN1YiBwcmVwcm9jZXNzX2ZpbGUKewogIG15ICgkZmlsZSwgJXRyYW5zZm9ybSkg PSBAXzsKCiAgIyBDb21wbGV0ZSAldHJhbnNmb3JtIHdpdGggZ2xvYmFsIG9wdGlvbnMuCiAg IyBOb3RlIHRoYXQgJXRyYW5zZm9ybSBnb2VzIGxhc3QsIHNvIGl0IG92ZXJyaWRlcyBnbG9i YWwgb3B0aW9ucy4KICAldHJhbnNmb3JtID0gKCAnTUFJTlRBSU5FUi1NT0RFJwoJCSA9PiAk c2Vlbl9tYWludF9tb2RlID8gc3Vic3QgKCdNQUlOVEFJTkVSX01PREVfVFJVRScpIDogJycs CgoJCSAnWFonICAgICAgICAgID0+ICEhIG9wdGlvbiAnZGlzdC14eicsCgkJICdMWklQJyAg ICAgICAgPT4gISEgb3B0aW9uICdkaXN0LWx6aXAnLAoJCSAnQlpJUDInICAgICAgID0+ICEh IG9wdGlvbiAnZGlzdC1iemlwMicsCgkJICdDT01QUkVTUycgICAgPT4gISEgb3B0aW9uICdk aXN0LXRhclonLAoJCSAnR1pJUCcgICAgICAgID0+ICAhIG9wdGlvbiAnbm8tZGlzdC1nemlw JywKCQkgJ1NIQVInICAgICAgICA9PiAhISBvcHRpb24gJ2Rpc3Qtc2hhcicsCgkJICdaSVAn ICAgICAgICAgPT4gISEgb3B0aW9uICdkaXN0LXppcCcsCgkJICdaU1REJyAgICAgICAgPT4g ISEgb3B0aW9uICdkaXN0LXpzdGQnLAoKCQkgJ0lOU1RBTEwtSU5GTycgPT4gICEgb3B0aW9u ICduby1pbnN0YWxsaW5mbycsCgkJICdJTlNUQUxMLU1BTicgID0+ICAhIG9wdGlvbiAnbm8t aW5zdGFsbG1hbicsCgkJICdDSy1ORVdTJyAgICAgID0+ICEhIG9wdGlvbiAnY2hlY2stbmV3 cycsCgoJCSAnU1VCRElSUycgICAgICA9PiAhISB2YXIgKCdTVUJESVJTJyksCgkJICdUT1BE SVJfUCcgICAgID0+ICRyZWxhdGl2ZV9kaXIgZXEgJy4nLAoKCQkgJ0JVSUxEJyAgICA9PiAo JHNlZW5fY2Fub25pY2FsID49IEFDX0NBTk9OSUNBTF9CVUlMRCksCgkJICdIT1NUJyAgICAg PT4gKCRzZWVuX2Nhbm9uaWNhbCA+PSBBQ19DQU5PTklDQUxfSE9TVCksCgkJICdUQVJHRVQn ICAgPT4gKCRzZWVuX2Nhbm9uaWNhbCA+PSBBQ19DQU5PTklDQUxfVEFSR0VUKSwKCgkJICdM SUJUT09MJyAgICAgID0+ICEhIHZhciAoJ0xJQlRPT0wnKSwKCQkgJ05PTkxJQlRPT0wnICAg PT4gMSwKCQkldHJhbnNmb3JtKTsKCiAgaWYgKCEgZGVmaW5lZCAoJF8gPSAkYW1fZmlsZV9j YWNoZXskZmlsZX0pKQogICAgewogICAgICB2ZXJiICJyZWFkaW5nICRmaWxlIjsKICAgICAg IyBTd2FsbG93IHRoZSB3aG9sZSBmaWxlLgogICAgICBteSAkZmNfZmlsZSA9IG5ldyBBdXRv bWFrZTo6WEZpbGUgIjwgJGZpbGUiOwogICAgICBteSAkc2F2ZWRfZG9sbGFyX3NsYXNoID0g JC87CiAgICAgIHVuZGVmICQvOwogICAgICAkXyA9ICRmY19maWxlLT5nZXRsaW5lOwogICAg ICAkLyA9ICRzYXZlZF9kb2xsYXJfc2xhc2g7CiAgICAgICRmY19maWxlLT5jbG9zZTsKICAg ICAgIyBSZW1vdmUgIyMtY29tbWVudHMuCiAgICAgICMgQmVzaWRlcyB3ZSBkb24ndCBuZWVk IG1vcmUgdGhhbiB0d28gY29uc2VjdXRpdmUgbmV3LWxpbmVzLgogICAgICBzLyg/OiRJR05P UkVfUEFUVEVSTnwoPzw9XG5cbilcbispLy9nb207CiAgICAgICMgUmVtZW1iZXIgdGhlIGNv bnRlbnRzIG9mIHRoZSBqdXN0LXJlYWQgZmlsZS4KICAgICAgJGFtX2ZpbGVfY2FjaGV7JGZp bGV9ID0gJF87CiAgICB9CgogICMgU3Vic3RpdHV0ZSBBdXRvbWFrZSB0ZW1wbGF0ZSB0b2tl bnMuCiAgcy8oPzogJSBcPz8gW1x3XC1dKyAlCiAgICAgIHwgXD8gIT8gW1x3XC1dKyBcPwog ICAgKS90cmFuc2Zvcm0oJCYsICV0cmFuc2Zvcm0pL2dleDsKICAjIHRyYW5zZm9ybSgpIG1h eSBoYXZlIGFkZGVkIHNvbWUgIyMlLWNvbW1lbnRzIHRvIHN0cmlwLgogICMgKHdlIHVzZSAn IyMlJyBpbnN0ZWFkIG9mICcjIycgc28gd2UgY2FuIGRpc3Rpbmd1aXNoICMjJSMjJSMjJSBm cm9tCiAgIyAjIyMjIyMjIGFuZCBkbyBub3QgcmVtb3ZlIHRoZSBsYXR0ZXIuKQogIHMvXlsg XHRdKig/OiMjJSkrLipcbi8vZ207CgogIHJldHVybiAkXzsKfQoKCiMgQFBBUkFHUkFQSFMK IyBtYWtlX3BhcmFncmFwaHMgKCRNQUtFRklMRSwgWyVUUkFOU0ZPUk1dKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9hZCBhICRNQUtFRklMRSwg YXBwbHkgdGhlICVUUkFOU0ZPUk0sIGFuZCByZXR1cm4gaXQgYXMgYSBsaXN0IG9mCiMgcGFy YWdyYXBocy4Kc3ViIG1ha2VfcGFyYWdyYXBocwp7CiAgbXkgKCRmaWxlLCAldHJhbnNmb3Jt KSA9IEBfOwogICR0cmFuc2Zvcm17RklSU1R9ID0gISR0cmFuc2Zvcm1lZF9maWxlc3skZmls ZX07CiAgJHRyYW5zZm9ybWVkX2ZpbGVzeyRmaWxlfSA9IDE7CgogIG15IEBsaW5lcyA9IHNw bGl0IC8oPzwhXFwpXG4vLCBwcmVwcm9jZXNzX2ZpbGUgKCRmaWxlLCAldHJhbnNmb3JtKTsK ICBteSBAcmVzOwoKICB3aGlsZSAoZGVmaW5lZCAoJF8gPSBzaGlmdCBAbGluZXMpKQogICAg ewogICAgICBteSAkcGFyYWdyYXBoID0gJF87CiAgICAgICMgSWYgd2UgYXJlIGEgcnVsZSwg ZWF0IGFzIGxvbmcgYXMgd2Ugc3RhcnQgd2l0aCBhIHRhYi4KICAgICAgaWYgKC8kUlVMRV9Q QVRURVJOL3NtbykKCXsKCSAgd2hpbGUgKGRlZmluZWQgKCRfID0gc2hpZnQgQGxpbmVzKSAm JiAkXyA9fiAvXlx0LykKCSAgICB7CgkgICAgICAkcGFyYWdyYXBoIC49ICJcbiRfIjsKCSAg ICB9CgkgIHVuc2hpZnQgKEBsaW5lcywgJF8pOwoJfQoKICAgICAgIyBJZiB3ZSBhcmUgYSBj b21tZW50cywgZWF0IGFzIG11Y2ggY29tbWVudHMgYXMgeW91IGNhbi4KICAgICAgZWxzaWYg KC8kQ09NTUVOVF9QQVRURVJOL3NtbykKCXsKCSAgd2hpbGUgKGRlZmluZWQgKCRfID0gc2hp ZnQgQGxpbmVzKQoJCSAmJiAkXyA9fiAvJENPTU1FTlRfUEFUVEVSTi9zbW8pCgkgICAgewoJ ICAgICAgJHBhcmFncmFwaCAuPSAiXG4kXyI7CgkgICAgfQoJICB1bnNoaWZ0IChAbGluZXMs ICRfKTsKCX0KCiAgICAgIHB1c2ggQHJlcywgJHBhcmFncmFwaDsKICAgIH0KCiAgcmV0dXJu IEByZXM7Cn0KCgoKIyAoJENPTU1FTlQsICRWQVJJQUJMRVMsICRSVUxFUykKIyBmaWxlX2Nv bnRlbnRzX2ludGVybmFsICgkSVNfQU0sICRGSUxFLCAkV0hFUkUsIFslVFJBTlNGT1JNXSkK IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIyBSZXR1cm4gY29udGVudHMgb2YgYSBmaWxlIGZyb20gJGxpYmRpci9hbSwg YXV0b21hdGljYWxseSBza2lwcGluZwojIG1hY3JvcyBvciBydWxlcyB3aGljaCBhcmUgYWxy ZWFkeSBrbm93bi4gJElTX0FNIGlmZiB0aGUgY2FsbGVyIGlzCiMgcmVhZGluZyBhbiBBdXRv bWFrZSBmaWxlIChhcyBvcHBvc2VkIHRvIHRoZSB1c2VyJ3MgTWFrZWZpbGUuYW0pLgpzdWIg ZmlsZV9jb250ZW50c19pbnRlcm5hbAp7CiAgICBteSAoJGlzX2FtLCAkZmlsZSwgJHdoZXJl LCAldHJhbnNmb3JtKSA9IEBfOwoKICAgICR3aGVyZS0+c2V0ICgkZmlsZSk7CgogICAgbXkg JHJlc3VsdF92YXJzID0gJyc7CiAgICBteSAkcmVzdWx0X3J1bGVzID0gJyc7CiAgICBteSAk Y29tbWVudCA9ICcnOwogICAgbXkgJHNwYWNpbmcgPSAnJzsKCiAgICAjIFRoZSBmb2xsb3dp bmcgZmxhZ3MgYXJlIHVzZWQgdG8gdHJhY2sgcnVsZXMgc3Bhbm5pbmcgYWNyb3NzCiAgICAj IG11bHRpcGxlIHBhcmFncmFwaHMuCiAgICBteSAkaXNfcnVsZSA9IDA7CQkjIDEgaWYgd2Ug YXJlIHByb2Nlc3NpbmcgYSBydWxlLgogICAgbXkgJGRpc2NhcmRfcnVsZSA9IDA7CSMgMSBp ZiB0aGUgY3VycmVudCBydWxlIHNob3VsZCBub3QgYmUgb3V0cHV0LgoKICAgICMgV2Ugc2F2 ZSB0aGUgY29uZGl0aW9uYWwgc3RhY2sgb24gZW50cnksIGFuZCB0aGVuIGNoZWNrIHRvIG1h a2UKICAgICMgc3VyZSBpdCBpcyB0aGUgc2FtZSBvbiBleGl0LiAgVGhpcyBsZXRzIHVzIGNv bmRpdGlvbmFsbHkgaW5jbHVkZQogICAgIyBvdGhlciBmaWxlcy4KICAgIG15IEBzYXZlZF9j b25kX3N0YWNrID0gQGNvbmRfc3RhY2s7CiAgICBteSAkY29uZCA9IG5ldyBBdXRvbWFrZTo6 Q29uZGl0aW9uIChAY29uZF9zdGFjayk7CgogICAgZm9yZWFjaCAobWFrZV9wYXJhZ3JhcGhz ICgkZmlsZSwgJXRyYW5zZm9ybSkpCiAgICB7CgkjIEZJWE1FOiBubyBsaW5lIG51bWJlciBh dmFpbGFibGUuCgkkd2hlcmUtPnNldCAoJGZpbGUpOwoKCSMgU2FuaXR5IGNoZWNrcy4KCWVy cm9yICR3aGVyZSwgImJsYW5rIGxpbmUgZm9sbG93aW5nIHRyYWlsaW5nIGJhY2tzbGFzaDpc biRfIgoJICBpZiAvXFwkLzsKCWVycm9yICR3aGVyZSwgImNvbW1lbnQgZm9sbG93aW5nIHRy YWlsaW5nIGJhY2tzbGFzaDpcbiRfIgoJICBpZiAvXFwjLzsKCglpZiAoL14kLykKCXsKCSAg ICAkaXNfcnVsZSA9IDA7CgkgICAgIyBTdGljayBlbXB0eSBsaW5lIGJlZm9yZSB0aGUgaW5j b21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAkc3BhY2luZyA9ICJcbiI7Cgl9CgllbHNpZiAo LyRDT01NRU5UX1BBVFRFUk4vbXNvKQoJewoJICAgICRpc19ydWxlID0gMDsKCSAgICAjIFN0 aWNrIGNvbW1lbnRzIGJlZm9yZSB0aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAk Y29tbWVudCA9ICIkX1xuIjsKCX0KCgkjIEhhbmRsZSBpbmNsdXNpb24gb2Ygb3RoZXIgZmls ZXMuCgllbHNpZiAoLyRJTkNMVURFX1BBVFRFUk4vbykKCXsKCSAgICBpZiAoJGNvbmQgIT0g RkFMU0UpCgkgICAgICB7CgkJbXkgJGZpbGUgPSAoJGlzX2FtID8gIiRsaWJkaXIvYW0vIiA6 ICcnKSAuICQxOwoJCSR3aGVyZS0+cHVzaF9jb250ZXh0ICgiJyRmaWxlJyBpbmNsdWRlZCBm cm9tIGhlcmUiKTsKCQkjIE4tYXJ5ICcuPScgZmFpbHMuCgkJbXkgKCRjb20sICR2YXJzLCAk cnVsZXMpCgkJICA9IGZpbGVfY29udGVudHNfaW50ZXJuYWwgKCRpc19hbSwgJGZpbGUsICR3 aGVyZSwgJXRyYW5zZm9ybSk7CgkJJHdoZXJlLT5wb3BfY29udGV4dDsKCQkkY29tbWVudCAu PSAkY29tOwoJCSRyZXN1bHRfdmFycyAuPSAkdmFyczsKCQkkcmVzdWx0X3J1bGVzIC49ICRy dWxlczsKCSAgICAgIH0KCX0KCgkjIEhhbmRsaW5nIHRoZSBjb25kaXRpb25hbHMuCgllbHNp ZiAoLyRJRl9QQVRURVJOL28pCgkgIHsKCSAgICAkY29uZCA9IGNvbmRfc3RhY2tfaWYgKCQx LCAkMiwgJGZpbGUpOwoJICB9CgllbHNpZiAoLyRFTFNFX1BBVFRFUk4vbykKCSAgewoJICAg ICRjb25kID0gY29uZF9zdGFja19lbHNlICgkMSwgJDIsICRmaWxlKTsKCSAgfQoJZWxzaWYg KC8kRU5ESUZfUEFUVEVSTi9vKQoJICB7CgkgICAgJGNvbmQgPSBjb25kX3N0YWNrX2VuZGlm ICgkMSwgJDIsICRmaWxlKTsKCSAgfQoKCSMgSGFuZGxpbmcgcnVsZXMuCgllbHNpZiAoLyRS VUxFX1BBVFRFUk4vbXNvKQoJewoJICAkaXNfcnVsZSA9IDE7CgkgICRkaXNjYXJkX3J1bGUg PSAwOwoJICAjIFNlcGFyYXRlIHJlbGF0aW9uc2hpcCBmcm9tIG9wdGlvbmFsIGFjdGlvbnM6 IHRoZSBmaXJzdAoJICAjIGBuZXctbGluZSB0YWIiIG5vdCBwcmVjZWRlZCBieSBiYWNrc2xh c2ggKGNvbnRpbnVhdGlvbgoJICAjIGxpbmUpLgoJICBteSAkcGFyYWdyYXBoID0gJF87Cgkg IC9eKC4qPykoPzooPzwhXFwpXG4oXHQuKikpPyQvczsKCSAgbXkgKCRyZWxhdGlvbnNoaXAs ICRhY3Rpb25zKSA9ICgkMSwgJDIgfHwgJycpOwoKCSAgIyBTZXBhcmF0ZSB0YXJnZXRzIGZy b20gZGVwZW5kZW5jaWVzOiB0aGUgZmlyc3QgY29sb24uCgkgICRyZWxhdGlvbnNoaXAgPX4g L14oW146XStcUyspICo6ICooLiopJC9zb207CgkgIG15ICgkdGFyZ2V0cywgJGRlcGVuZGVu Y2llcykgPSAoJDEsICQyKTsKCSAgIyBSZW1vdmUgdGhlIGVzY2FwZWQgbmV3IGxpbmVzLgoJ ICAjIEkgZG9uJ3Qga25vdyB3aHksIGJ1dCBJIGhhdmUgdG8gdXNlIGEgdG1wICRmbGF0X2Rl cHMuCgkgIG15ICRmbGF0X2RlcHMgPSBmbGF0dGVuICgkZGVwZW5kZW5jaWVzKTsKCSAgbXkg QGRlcHMgPSBzcGxpdCAoJyAnLCAkZmxhdF9kZXBzKTsKCgkgIGZvcmVhY2ggKHNwbGl0ICgn ICcsICR0YXJnZXRzKSkKCSAgICB7CgkgICAgICAjIEZJWE1FOiAxLiBXZSBhcmUgbm90IHJv YnVzdCB0byBwZW9wbGUgZGVmaW5pbmcgc2V2ZXJhbCB0YXJnZXRzCgkgICAgICAjIGF0IG9u Y2UsIG9ubHkgc29tZSBvZiB0aGVtIGJlaW5nIGluICVkZXBlbmRlbmNpZXMuICBUaGUKCSAg ICAgICMgYWN0aW9ucyBmcm9tIHRoZSB0YXJnZXRzIGluICVkZXBlbmRlbmNpZXMgYXJlIHVz dWFsbHkgZ2VuZXJhdGVkCgkgICAgICAjIGZyb20gdGhlIGNvbnRlbnQgb2YgJWFjdGlvbnMs IGJ1dCBpZiBzb21lIHRhcmdldHMgaW4gJHRhcmdldHMKCSAgICAgICMgYXJlIG5vdCBpbiAl ZGVwZW5kZW5jaWVzIHRoZSBFTFNFIGJyYW5jaCB3aWxsIG91dHB1dAoJICAgICAgIyBhIHJ1 bGUgZm9yIGFsbCAkdGFyZ2V0cyAoaS5lLiB0aGUgdGFyZ2V0cyB3aGljaCBhcmUgYm90aAoJ ICAgICAgIyBpbiAlZGVwZW5kZW5jaWVzIGFuZCAkdGFyZ2V0cyB3aWxsIGhhdmUgdHdvIHJ1 bGVzKS4KCgkgICAgICAjIEZJWE1FOiAyLiBUaGUgbG9naWMgaGVyZSBpcyBub3QgYWJsZSB0 byBvdXRwdXQgYQoJICAgICAgIyBtdWx0aS1wYXJhZ3JhcGggcnVsZSBzZXZlcmFsIHRpbWUg KGUuZy4gZm9yIGVhY2ggY29uZGl0aW9uCgkgICAgICAjIGl0IGlzIGRlZmluZWQgZm9yKSBi ZWNhdXNlIGl0IG9ubHkga25vd3MgdGhlIGZpcnN0IHBhcmFncmFwaC4KCgkgICAgICAjIEZJ WE1FOiAzLiBXZSBhcmUgbm90IHJvYnVzdCB0byBwZW9wbGUgZGVmaW5pbmcgYSBzdWJzZXQK CSAgICAgICMgb2YgYSBwcmV2aW91c2x5IGRlZmluZWQgIm11bHRpcGxlLXRhcmdldCIgcnVs ZS4gIEUuZy4KCSAgICAgICMgJ2ZvbzonIGFmdGVyICdmb28gYmFyOicuCgoJICAgICAgIyBP dXRwdXQgb25seSBpZiBub3QgaW4gRkFMU0UuCgkgICAgICBpZiAoZGVmaW5lZCAkZGVwZW5k ZW5jaWVzeyRffSAmJiAkY29uZCAhPSBGQUxTRSkKCQl7CgkJICBkZXBlbmQgKCRfLCBAZGVw cyk7CgkJICByZWdpc3Rlcl9hY3Rpb24gKCRfLCAkYWN0aW9ucyk7CgkJfQoJICAgICAgZWxz ZQoJCXsKCQkgICMgRnJlZS1sYW5jZSBkZXBlbmRlbmN5LiAgT3V0cHV0IHRoZSBydWxlIGZv ciBhbGwgdGhlCgkJICAjIHRhcmdldHMgaW5zdGVhZCBvZiBvbmUgYnkgb25lLgoJCSAgbXkg QHVuZGVmaW5lZF9jb25kcyA9CgkJICAgIEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCR0YXJn ZXRzLCAkZmlsZSwKCQkJCQkgICAgJGlzX2FtID8gUlVMRV9BVVRPTUFLRSA6IFJVTEVfVVNF UiwKCQkJCQkgICAgJGNvbmQsICR3aGVyZSk7CgkJICBmb3IgbXkgJHVuZGVmaW5lZF9jb25k IChAdW5kZWZpbmVkX2NvbmRzKQoJCSAgICB7CgkJICAgICAgbXkgJGNvbmRwYXJhZ3JhcGgg PSAkcGFyYWdyYXBoOwoJCSAgICAgICRjb25kcGFyYWdyYXBoID1+IHMvXi8kdW5kZWZpbmVk X2NvbmQtPnN1YnN0X3N0cmluZy9nbWU7CgkJICAgICAgJHJlc3VsdF9ydWxlcyAuPSAiJHNw YWNpbmckY29tbWVudCRjb25kcGFyYWdyYXBoXG4iOwoJCSAgICB9CgkJICBpZiAoc2NhbGFy IEB1bmRlZmluZWRfY29uZHMgPT0gMCkKCQkgICAgewoJCSAgICAgICMgUmVtZW1iZXIgdG8g ZGlzY2FyZCBuZXh0IHBhcmFncmFwaHMKCQkgICAgICAjIGlmIHRoZXkgYmVsb25nIHRvIHRo aXMgcnVsZS4KCQkgICAgICAjIChidXQgc2VlIGFsc28gRklYTUU6ICMyIGFib3ZlLikKCQkg ICAgICAkZGlzY2FyZF9ydWxlID0gMTsKCQkgICAgfQoJCSAgJGNvbW1lbnQgPSAkc3BhY2lu ZyA9ICcnOwoJCSAgbGFzdDsKCQl9CgkgICAgfQoJfQoKCWVsc2lmICgvJEFTU0lHTk1FTlRf UEFUVEVSTi9tc28pCgl7CgkgICAgbXkgKCR2YXIsICR0eXBlLCAkdmFsKSA9ICgkMSwgJDIs ICQzKTsKCSAgICBlcnJvciAkd2hlcmUsICJ2YXJpYWJsZSAnJHZhcicgd2l0aCB0cmFpbGlu ZyBiYWNrc2xhc2giCgkgICAgICBpZiAvXFwkLzsKCgkgICAgJGlzX3J1bGUgPSAwOwoKCSAg ICBBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSAoJHZhciwKCQkJCQkkaXNfYW0gPyBWQVJf QVVUT01BS0UgOiBWQVJfTUFLRUZJTEUsCgkJCQkJJHR5cGUsICRjb25kLCAkdmFsLCAkY29t bWVudCwgJHdoZXJlLAoJCQkJCVZBUl9BU0lTKQoJICAgICAgaWYgJGNvbmQgIT0gRkFMU0U7 CgoJICAgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCX0KCWVsc2UKCXsKCSAgICAjIFRo aXMgaXNuJ3QgYW4gZXJyb3I7IGl0IGlzIHByb2JhYmx5IHNvbWUgdG9rZW5zIHdoaWNoCgkg ICAgIyBjb25maWd1cmUgaXMgc3VwcG9zZWQgdG8gcmVwbGFjZSwgc3VjaCBhcyAnQFNFVC1N QUtFQCcsCgkgICAgIyBvciBzb21lIHBhcnQgb2YgYSBydWxlIGN1dCBieSBhbiBpZi9lbmRp Zi4KCSAgICBpZiAoISAkY29uZC0+ZmFsc2UgJiYgISAoJGlzX3J1bGUgJiYgJGRpc2NhcmRf cnVsZSkpCgkgICAgICB7CgkJcy9eLyRjb25kLT5zdWJzdF9zdHJpbmcvZ21lOwoJCSRyZXN1 bHRfcnVsZXMgLj0gIiRzcGFjaW5nJGNvbW1lbnQkX1xuIjsKCSAgICAgIH0KCSAgICAkY29t bWVudCA9ICRzcGFjaW5nID0gJyc7Cgl9CiAgICB9CgogICAgZXJyb3IgKCR3aGVyZSwgQGNv bmRfc3RhY2sgPwoJICAgInVudGVybWluYXRlZCBjb25kaXRpb25hbHM6IEBjb25kX3N0YWNr IiA6CgkgICAidG9vIG1hbnkgY29uZGl0aW9uYWxzIGNsb3NlZCBpbiBpbmNsdWRlIGZpbGUi KQogICAgICBpZiAiQHNhdmVkX2NvbmRfc3RhY2siIG5lICJAY29uZF9zdGFjayI7CgogICAg cmV0dXJuICgkY29tbWVudCwgJHJlc3VsdF92YXJzLCAkcmVzdWx0X3J1bGVzKTsKfQoKCiMg JENPTlRFTlRTCiMgZmlsZV9jb250ZW50cyAoJEJBU0VOQU1FLCAkV0hFUkUsIFslVFJBTlNG T1JNXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIFJldHVybiBjb250ZW50cyBvZiBhIGZpbGUgZnJvbSAkbGliZGlyL2FtLCBhdXRvbWF0 aWNhbGx5IHNraXBwaW5nCiMgbWFjcm9zIG9yIHJ1bGVzIHdoaWNoIGFyZSBhbHJlYWR5IGtu b3duLgpzdWIgZmlsZV9jb250ZW50cwp7CiAgICBteSAoJGJhc2VuYW1lLCAkd2hlcmUsICV0 cmFuc2Zvcm0pID0gQF87CiAgICBteSAoJGNvbW1lbnRzLCAkdmFyaWFibGVzLCAkcnVsZXMp ID0KICAgICAgZmlsZV9jb250ZW50c19pbnRlcm5hbCAoMSwgIiRsaWJkaXIvYW0vJGJhc2Vu YW1lLmFtIiwgJHdoZXJlLAoJCQkgICAgICAldHJhbnNmb3JtKTsKICAgIHJldHVybiAiJGNv bW1lbnRzJHZhcmlhYmxlcyRydWxlcyI7Cn0KCgojIEBQUkVGSVgKIyBhbV9wcmltYXJ5X3By ZWZpeGVzICgkUFJJTUFSWSwgJENBTl9ESVNULCBAUFJFRklYRVMpCiMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpbmQgYWxsIHZh cmlhYmxlIHByZWZpeGVzIHRoYXQgYXJlIHVzZWQgZm9yIGluc3RhbGwgZGlyZWN0b3JpZXMu ICBBCiMgcHJlZml4ICd6YXInIHF1YWxpZmllcyBpZmY6CiMKIyAqICd6YXJkaXInIGlzIGEg dmFyaWFibGUuCiMgKiAnemFyX1BSSU1BUlknIGlzIGEgdmFyaWFibGUuCiMKIyBBcyBhIHNp ZGUgZWZmZWN0LCBpdCBsb29rcyBmb3IgbWlzc3BlbGxpbmdzLiAgSXQgaXMgYW4gZXJyb3Ig dG8gaGF2ZQojIGEgdmFyaWFibGUgZW5kaW5nIGluIGEgInJlc2VydmVkIiBzdWZmaXggd2hv c2UgcHJlZml4IGlzIHVua25vd24sIGUuZy4KIyAiYm5pX1BST0dSQU1TIi4gIEhvd2V2ZXIs IHVudXN1YWwgcHJlZml4ZXMgYXJlIGFsbG93ZWQgaWYgYSB2YXJpYWJsZQojIG9mIHRoZSBz YW1lIG5hbWUgKHdpdGggImRpciIgYXBwZW5kZWQpIGV4aXN0cy4gIEZvciBpbnN0YW5jZSwg aWYgdGhlCiMgdmFyaWFibGUgInphcmRpciIgaXMgZGVmaW5lZCwgdGhlbiAiemFyX1BST0dS QU1TIiBiZWNvbWVzIHZhbGlkLgojIFRoaXMgaXMgdG8gcHJvdmlkZSBhIGxpdHRsZSBleHRy YSBmbGV4aWJpbGl0eSBpbiB0aG9zZSBjYXNlcyB3aGljaAojIG5lZWQgaXQuCnN1YiBhbV9w cmltYXJ5X3ByZWZpeGVzCnsKICBteSAoJHByaW1hcnksICRjYW5fZGlzdCwgQHByZWZpeGVz KSA9IEBfOwoKICBsb2NhbCAkXzsKICBteSAldmFsaWQgPSBtYXAgeyAkXyA9PiAwIH0gQHBy ZWZpeGVzOwogICR2YWxpZHsnRVhUUkEnfSA9IDA7CiAgZm9yZWFjaCBteSAkdmFyICh2YXJp YWJsZXMgJHByaW1hcnkpCiAgICB7CiAgICAgICMgQXV0b21ha2UgaXMgYWxsb3dlZCB0byBk ZWZpbmUgdmFyaWFibGVzIHRoYXQgbG9vayBsaWtlIHByaW1hcmllcwogICAgICAjIGJ1dCB3 aGljaCBhcmVuJ3QuICBFLmcuIElOU1RBTExfc2hfREFUQS4KICAgICAgIyBBdXRvY29uZiBj YW4gYWxzbyBkZWZpbmUgdmFyaWFibGVzIGxpa2UgSU5TVEFMTF9EQVRBLCBzbwogICAgICAj IGlnbm9yZSBhbGwgY29uZmlndXJlIHZhcmlhYmxlcyAoYXQgbGVhc3QgdGhvc2Ugd2hpY2gg YXJlIG5vdAogICAgICAjIHJlZGVmaW5lZCBpbiBNYWtlZmlsZS5hbSkuCiAgICAgICMgRklY TUU6IFdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdCB0aGVzZSB2YXJpYWJsZXMgYXJlIG5vdAog ICAgICAjIGNvbmRpdGlvbmFsbHkgZGVmaW5lZCAob3IgZWxzZSBhZGp1c3QgdGhlIGNvbmRp dGlvbiBiZWxvdykuCiAgICAgIG15ICRkZWYgPSAkdmFyLT5kZWYgKFRSVUUpOwogICAgICBu ZXh0IGlmICRkZWYgJiYgJGRlZi0+b3duZXIgIT0gVkFSX01BS0VGSUxFOwoKICAgICAgbXkg JHZhcm5hbWUgPSAkdmFyLT5uYW1lOwoKICAgICAgaWYgKCR2YXJuYW1lID1+IC9eKG5vYmFz ZV8pPyhkaXN0X3xub2Rpc3RfKT8oLiopX1tbOmFsbnVtOl1dKyQvKQoJewoJICBteSAoJGJh c2UsICRkaXN0LCAkWCkgPSAoJDEgfHwgJycsICQyIHx8ICcnLCAkMyB8fCAnJyk7CgkgIGlm ICgkZGlzdCBuZSAnJyAmJiAhICRjYW5fZGlzdCkKCSAgICB7CgkgICAgICBlcnJfdmFyICgk dmFyLAoJCSAgICAgICAiaW52YWxpZCB2YXJpYWJsZSAnJHZhcm5hbWUnOiAnZGlzdCcgaXMg Zm9yYmlkZGVuIik7CgkgICAgfQoJICAjIFN0YW5kYXJkIGRpcmVjdG9yaWVzIG11c3QgYmUg ZXhwbGljaXRseSBhbGxvd2VkLgoJICBlbHNpZiAoISBkZWZpbmVkICR2YWxpZHskWH0gJiYg ZXhpc3RzICRzdGFuZGFyZF9wcmVmaXh7JFh9KQoJICAgIHsKCSAgICAgIGVycl92YXIgKCR2 YXIsCgkJICAgICAgICInJHtYfWRpcicgaXMgbm90IGEgbGVnaXRpbWF0ZSBkaXJlY3Rvcnkg IiAuCgkJICAgICAgICJmb3IgJyRwcmltYXJ5JyIpOwoJICAgIH0KCSAgIyBBIG5vdCBleHBs aWNpdGx5IHZhbGlkIGRpcmVjdG9yeSBpcyBhbGxvd2VkIGlmIFhkaXIgaXMgZGVmaW5lZC4K CSAgZWxzaWYgKCEgZGVmaW5lZCAkdmFsaWR7JFh9ICYmCgkJICR2YXItPnJlcXVpcmVzX3Zh cmlhYmxlcyAoIickdmFybmFtZScgaXMgdXNlZCIsICIke1h9ZGlyIikpCgkgICAgewoJICAg ICAgIyBOb3RoaW5nIHRvIGRvLiAgQW55IGVycm9yIG1lc3NhZ2UgaGFzIGJlZW4gb3V0cHV0 CgkgICAgICAjIGJ5ICR2YXItPnJlcXVpcmVzX3ZhcmlhYmxlcy4KCSAgICB9CgkgIGVsc2UK CSAgICB7CgkgICAgICAjIEVuc3VyZSBhbGwgZXh0ZW5kZWQgcHJlZml4ZXMgYXJlIGFjdHVh bGx5IHVzZWQuCgkgICAgICAkdmFsaWR7IiRiYXNlJGRpc3QkWCJ9ID0gMTsKCSAgICB9Cgl9 CiAgICAgIGVsc2UKCXsKCSAgcHJvZ19lcnJvciAidW5leHBlY3RlZCB2YXJpYWJsZSBuYW1l OiAkdmFybmFtZSI7Cgl9CiAgICB9CgogICMgUmV0dXJuIG9ubHkgdGhvc2Ugd2hpY2ggYXJl IGFjdHVhbGx5IGRlZmluZWQuCiAgcmV0dXJuIHNvcnQgZ3JlcCB7IHZhciAoJF8gLiAnXycg LiAkcHJpbWFyeSkgfSBrZXlzICV2YWxpZDsKfQoKCiMgYW1faW5zdGFsbF92YXIgKC1PUFRJ T04uLi4sIGZpbGUsIEhPVywgd2hlcmUuLi4pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBIYW5kbGUgJ3doZXJlX0hPVycgdmFyaWFi bGUgbWFnaWMuICBEb2VzIGFsbCBsb29rdXBzLCBnZW5lcmF0ZXMKIyBpbnN0YWxsIGNvZGUs IGFuZCBwb3NzaWJseSBnZW5lcmF0ZXMgY29kZSB0byBkZWZpbmUgdGhlIHByaW1hcnkKIyB2 YXJpYWJsZS4gIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUgbmFtZSBvZiB0aGUgLmFtIGZp bGUgdG8gbXVuZ2UsCiMgdGhlIHNlY29uZCBhcmd1bWVudCBpcyB0aGUgcHJpbWFyeSB2YXJp YWJsZSAoZS5nLiBIRUFERVJTKSwgYW5kIGFsbAojIHN1YnNlcXVlbnQgYXJndW1lbnRzIGFy ZSBwb3NzaWJsZSBpbnN0YWxsYXRpb24gbG9jYXRpb25zLgojCiMgUmV0dXJucyBsaXN0IG9m IFskbG9jYXRpb24sICR2YWx1ZV0gcGFpcnMsIHdoZXJlCiMgJHZhbHVlJ3MgYXJlIHRoZSB2 YWx1ZXMgaW4gYWxsIHdoZXJlX0hPVyB2YXJpYWJsZSwgYW5kICRsb2NhdGlvbgojIHRoZXJl IGFzc29jaWF0ZWQgbG9jYXRpb24gKHRoZSBwbGFjZSBoZXJlIHRoZWlyIHBhcmVudCB2YXJp YWJsZXMgd2VyZQojIGRlZmluZWQpLgojCiMgRklYTUU6IHRoaXMgc2hvdWxkIGJlIHJld3Jp dHRlbiB0byBiZSBjbGVhbmVyLiAgSXQgc2hvdWxkIGJlIGJyb2tlbgojIHVwIGludG8gbXVs dGlwbGUgZnVuY3Rpb25zLgojCnN1YiBhbV9pbnN0YWxsX3Zhcgp7CiAgbXkgKEBhcmdzKSA9 IEBfOwoKICBteSAkZG9fcmVxdWlyZSA9IDE7CiAgbXkgJGNhbl9kaXN0ID0gMDsKICBteSAk ZGVmYXVsdF9kaXN0ID0gMDsKICB3aGlsZSAoQGFyZ3MpCiAgICB7CiAgICAgIGlmICgkYXJn c1swXSBlcSAnLW5vZXh0cmEnKQoJewoJICAkZG9fcmVxdWlyZSA9IDA7Cgl9CiAgICAgIGVs c2lmICgkYXJnc1swXSBlcSAnLWNhbmRpc3QnKQoJewoJICAkY2FuX2Rpc3QgPSAxOwoJfQog ICAgICBlbHNpZiAoJGFyZ3NbMF0gZXEgJy1kZWZhdWx0ZGlzdCcpCgl7CgkgICRkZWZhdWx0 X2Rpc3QgPSAxOwoJICAkY2FuX2Rpc3QgPSAxOwoJfQogICAgICBlbHNpZiAoJGFyZ3NbMF0g IX4gL14tLykKCXsKCSAgbGFzdDsKCX0KICAgICAgc2hpZnQgKEBhcmdzKTsKICAgIH0KCiAg bXkgKCRmaWxlLCAkcHJpbWFyeSwgQHByZWZpeCkgPSBAYXJnczsKCiAgIyBOb3cgdGhhdCBj b25maWd1cmUgc3Vic3RpdHV0aW9ucyBhcmUgYWxsb3dlZCBpbiB3aGVyZV9IT1cKICAjIHZh cmlhYmxlcywgaXQgaXMgYW4gZXJyb3IgdG8gYWN0dWFsbHkgZGVmaW5lIHRoZSBwcmltYXJ5 LiAgV2UKICAjIGFsbG93ICdKQVZBJywgYXMgaXQgaXMgY3VzdG9tYXJpbHkgdXNlZCB0byBt ZWFuIHRoZSBKYXZhCiAgIyBpbnRlcnByZXRlci4gIFRoaXMgaXMgYnV0IG9uZSBvZiBzZXZl cmFsIEphdmEgaGFja3MuICBTaW1pbGFybHksCiAgIyAnUFlUSE9OJyBpcyBjdXN0b21hcmls eSB1c2VkIHRvIG1lYW4gdGhlIFB5dGhvbiBpbnRlcnByZXRlci4KICByZWplY3RfdmFyICRw cmltYXJ5LCAiJyRwcmltYXJ5JyBpcyBhbiBhbmFjaHJvbmlzbSIKICAgIHVubGVzcyAkcHJp bWFyeSBlcSAnSkFWQScgfHwgJHByaW1hcnkgZXEgJ1BZVEhPTic7CgogICMgR2V0IHRoZSBw cmVmaXhlcyB3aGljaCBhcmUgdmFsaWQgYW5kIGFjdHVhbGx5IHVzZWQuCiAgQHByZWZpeCA9 IGFtX3ByaW1hcnlfcHJlZml4ZXMgKCRwcmltYXJ5LCAkY2FuX2Rpc3QsIEBwcmVmaXgpOwoK ICAjIElmIGEgcHJpbWFyeSBpbmNsdWRlcyBhIGNvbmZpZ3VyZSBzdWJzdGl0dXRpb24sIHRo ZW4gdGhlIEVYVFJBXwogICMgZm9ybSBpcyByZXF1aXJlZC4gIE90aGVyd2lzZSB3ZSBjYW4n dCBwcm9wZXJseSBkbyBvdXIgam9iLgogIG15ICRyZXF1aXJlX2V4dHJhOwoKICBteSBAdXNl ZCA9ICgpOwogIG15IEByZXN1bHQgPSAoKTsKCiAgZm9yZWFjaCBteSAkWCAoQHByZWZpeCkK ICAgIHsKICAgICAgbXkgJG5vZGlyX25hbWUgPSAkWDsKICAgICAgbXkgJG9uZV9uYW1lID0g JFggLiAnXycgLiAkcHJpbWFyeTsKICAgICAgbXkgJG9uZV92YXIgPSB2YXIgJG9uZV9uYW1l OwoKICAgICAgbXkgJHN0cmlwX3N1YmRpciA9IDE7CiAgICAgICMgSWYgc3ViZGlyIHByZWZp eCBzaG91bGQgYmUgcHJlc2VydmVkLCBkbyBzby4KICAgICAgaWYgKCRub2Rpcl9uYW1lID1+ IC9ebm9iYXNlXy8pCgl7CgkgICRzdHJpcF9zdWJkaXIgPSAwOwoJICAkbm9kaXJfbmFtZSA9 fiBzL15ub2Jhc2VfLy87Cgl9CgogICAgICAjIElmIGZpbGVzIHNob3VsZCBiZSBkaXN0cmli dXRlZCwgZG8gc28uCiAgICAgIG15ICRkaXN0X3AgPSAwOwogICAgICBpZiAoJGNhbl9kaXN0 KQoJewoJICAkZGlzdF9wID0gKCgkZGVmYXVsdF9kaXN0ICYmICRub2Rpcl9uYW1lICF+IC9e bm9kaXN0Xy8pCgkJICAgICB8fCAoISAkZGVmYXVsdF9kaXN0ICYmICRub2Rpcl9uYW1lID1+ IC9eZGlzdF8vKSk7CgkgICRub2Rpcl9uYW1lID1+IHMvXihkaXN0fG5vZGlzdClfLy87Cgl9 CgoKICAgICAgIyBVc2UgdGhlIGxvY2F0aW9uIG9mIHRoZSBjdXJyZW50bHkgcHJvY2Vzc2Vk IHZhcmlhYmxlLgogICAgICAjIFdlIGFyZSBub3QgcHJvY2Vzc2luZyBhIHBhcnRpY3VsYXIg Y29uZGl0aW9uLCBzbyBwaWNrIHRoZSBmaXJzdAogICAgICAjIGF2YWlsYWJsZS4KICAgICAg bXkgJHRtcGNvbmQgPSAkb25lX3Zhci0+Y29uZGl0aW9ucy0+b25lX2NvbmQ7CiAgICAgIG15 ICR3aGVyZSA9ICRvbmVfdmFyLT5yZGVmICgkdG1wY29uZCktPmxvY2F0aW9uLT5jbG9uZTsK CiAgICAgICMgQXBwZW5kIGFjdHVhbCBjb250ZW50cyBvZiB3aGVyZV9QUklNQVJZIHZhcmlh YmxlIHRvCiAgICAgICMgQHJlc3VsdCwgc2tpcHBpbmcgQHN1YnN0aXR1dGlvbnNALgogICAg ICBmb3JlYWNoIG15ICRsb2N2YWxzICgkb25lX3Zhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNp dmUgKGxvY2F0aW9uID0+IDEpKQoJewoJICBteSAoJGxvYywgJHZhbHVlKSA9IEAkbG9jdmFs czsKCSAgIyBTa2lwIGNvbmZpZ3VyZSBzdWJzdGl0dXRpb25zLgoJICBpZiAoJHZhbHVlID1+ IC9eXEAuKlxAJC8pCgkgICAgewoJICAgICAgaWYgKCRub2Rpcl9uYW1lIGVxICdFWFRSQScp CgkJewoJCSAgZXJyb3IgKCR3aGVyZSwKCQkJICInJG9uZV9uYW1lJyBjb250YWlucyBjb25m aWd1cmUgc3Vic3RpdHV0aW9uLCAiCgkJCSAuICJidXQgc2hvdWxkbid0Iik7CgkJfQoJICAg ICAgIyBDaGVjayBoZXJlIHRvIG1ha2Ugc3VyZSB2YXJpYWJsZXMgZGVmaW5lZCBpbgoJICAg ICAgIyBjb25maWd1cmUuYWMgZG8gbm90IGltcGx5IHRoYXQgRVhUUkFfUFJJTUFSWQoJICAg ICAgIyBtdXN0IGJlIGRlZmluZWQuCgkgICAgICBlbHNpZiAoISBkZWZpbmVkICRjb25maWd1 cmVfdmFyc3skb25lX25hbWV9KQoJCXsKCQkgICRyZXF1aXJlX2V4dHJhID0gJG9uZV9uYW1l CgkJICAgIGlmICRkb19yZXF1aXJlOwoJCX0KCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAg ICAjIFN0cmlwIGFueSAkKEVYRUVYVCkgc3VmZml4IHRoZSB1c2VyIG1pZ2h0IGhhdmUgYWRk ZWQsCiAgICAgICAgICAgICAgIyBvciB0aGlzIHdpbGwgY29uZnVzZSBoYW5kbGVfc291cmNl X3RyYW5zZm9ybSgpIGFuZAogICAgICAgICAgICAgICMgY2hlY2tfY2Fub25pY2FsX3NwZWxs aW5nKCkuCgkgICAgICAjIFdlJ2xsIGFkZCAkKEVYRUVYVCkgYmFjayBsYXRlciBhbnl3YXku CgkgICAgICAjIERvIGl0IGhlcmUgcmF0aGVyIHRoYW4gaW4gaGFuZGxlX3Byb2dyYW1zIHNv IHRoZQogICAgICAgICAgICAgICMgdW5pcXVpZnlpbmcgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1 bmN0aW9uIHdvcmtzLgoJICAgICAgJHskbG9jdmFsc31bMV0gPX4gcy9cJFwoRVhFRVhUXCkk Ly8KCSAgICAgICAgaWYgJHByaW1hcnkgZXEgJ1BST0dSQU1TJzsKCgkgICAgICBwdXNoIChA cmVzdWx0LCAkbG9jdmFscyk7CgkgICAgfQoJfQogICAgICAjIEEgYmxhdGFudCBoYWNrOiB3 ZSByZXdyaXRlIGVhY2ggX1BST0dSQU1TIHByaW1hcnkgdG8gaW5jbHVkZQogICAgICAjIEVY RUVYVC4KICAgICAgYXBwZW5kX2V4ZWV4dCB7IDEgfSAkb25lX25hbWUKCWlmICRwcmltYXJ5 IGVxICdQUk9HUkFNUyc7CiAgICAgICMgIkVYVFJBIiBzaG91bGRuJ3QgYmUgdXNlZCB3aGVu IGdlbmVyYXRpbmcgY2xlYW4gdGFyZ2V0cywKICAgICAgIyBhbGwsIG9yIGluc3RhbGwgdGFy Z2V0cy4gIFdlIHVzZWQgdG8gd2FybiBpZiBFWFRSQV9GT08gd2FzCiAgICAgICMgZGVmaW5l ZCB1c2VsZXNzbHksIGJ1dCB0aGlzIHdhcyBhbm5veWluZy4KICAgICAgbmV4dAoJaWYgJG5v ZGlyX25hbWUgZXEgJ0VYVFJBJzsKCiAgICAgIGlmICgkbm9kaXJfbmFtZSBlcSAnY2hlY2sn KQoJewoJICBwdXNoIChAY2hlY2ssICckKCcgLiAkb25lX25hbWUgLiAnKScpOwoJfQogICAg ICBlbHNlCgl7CgkgIHB1c2ggKEB1c2VkLCAnJCgnIC4gJG9uZV9uYW1lIC4gJyknKTsKCX0K CiAgICAgICMgSXMgdGhpcyB0byBiZSBpbnN0YWxsZWQ/CiAgICAgIG15ICRpbnN0YWxsX3Ag PSAkbm9kaXJfbmFtZSBuZSAnbm9pbnN0JyAmJiAkbm9kaXJfbmFtZSBuZSAnY2hlY2snOwoK ICAgICAgIyBJZiBzbywgd2l0aCBpbnN0YWxsLWV4ZWM/IChvciBpbnN0YWxsLWRhdGE/KS4K ICAgICAgbXkgJGV4ZWNfcCA9ICgkbm9kaXJfbmFtZSA9fiAvJEVYRUNfRElSX1BBVFRFUk4v byk7CgogICAgICBteSAkY2hlY2tfb3B0aW9uc19wID0gJGluc3RhbGxfcCAmJiAhISBvcHRp b24gJ3N0ZC1vcHRpb25zJzsKCiAgICAgICMgVXNlIHRoZSBsb2NhdGlvbiBvZiB0aGUgY3Vy cmVudGx5IHByb2Nlc3NlZCB2YXJpYWJsZSBhcyBjb250ZXh0LgogICAgICAkd2hlcmUtPnB1 c2hfY29udGV4dCAoIndoaWxlIHByb2Nlc3NpbmcgJyRvbmVfbmFtZSciKTsKCiAgICAgICMg VGhlIHZhcmlhYmxlIGNvbnRhaW5pbmcgYWxsIGZpbGVzIHRvIGRpc3RyaWJ1dGUuCiAgICAg IG15ICRkaXN0dmFyID0gIlwkKCRvbmVfbmFtZSkiOwogICAgICAkZGlzdHZhciA9IHNoYWRv d191bmNvbmRpdGlvbmFsbHkgKCRvbmVfbmFtZSwgJHdoZXJlKQoJaWYgKCRkaXN0X3AgJiYg JG9uZV92YXItPmhhc19jb25kaXRpb25hbF9jb250ZW50cyk7CgogICAgICAjIFNpbmd1bGFy IGZvcm0gb2YgJFBSSU1BUlkuCiAgICAgIChteSAkb25lX3ByaW1hcnkgPSAkcHJpbWFyeSkg PX4gcy9TJC8vOwogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCRmaWxl LCAkd2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJJTUFS WSAgICAgPT4gJHByaW1hcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT05FX1BSSU1BUlkgPT4gJG9uZV9wcmltYXJ5LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERJUiAgICAgICAgID0+ICRYLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5ESVIgICAgICAgID0+ICRub2Rpcl9uYW1lLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBU0UgICAgICAgID0+ICRzdHJpcF9z dWJkaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhFQyAgICAg ICAgPT4gJGV4ZWNfcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ TlNUQUxMICAgICA9PiAkaW5zdGFsbF9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERJU1QgICAgICAgID0+ICRkaXN0X3AsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRElTVFZBUiAgICAgPT4gJGRpc3R2YXIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NLLU9QVFMnICAgPT4gJGNoZWNrX29wdGlv bnNfcCk7CiAgICB9CgogICMgVGhlIEpBVkEgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgbmFt ZSBvZiB0aGUgSmF2YSBpbnRlcnByZXRlci4KICAjIFRoZSBQWVRIT04gdmFyaWFibGUgaXMg dXNlZCBhcyB0aGUgbmFtZSBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyLgogIGlmIChAdXNl ZCAmJiAkcHJpbWFyeSBuZSAnSkFWQScgJiYgJHByaW1hcnkgbmUgJ1BZVEhPTicpCiAgICB7 CiAgICAgICMgRGVmaW5lIGl0LgogICAgICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgkcHJp bWFyeSwgVFJVRSwgSU5URVJOQUwsIEB1c2VkKTsKICAgICAgJG91dHB1dF92YXJzIC49ICJc biI7CiAgICB9CgogIGVycl92YXIgKCRyZXF1aXJlX2V4dHJhLAoJICAgIickcmVxdWlyZV9l eHRyYScgY29udGFpbnMgY29uZmlndXJlIHN1YnN0aXR1dGlvbixcbiIKCSAgIC4gImJ1dCAn RVhUUkFfJHByaW1hcnknIG5vdCBkZWZpbmVkIikKICAgIGlmICgkcmVxdWlyZV9leHRyYSAm JiAhIHZhciAoJ0VYVFJBXycgLiAkcHJpbWFyeSkpOwoKICAjIFB1c2ggaGVyZSBiZWNhdXNl IFBSSU1BUlkgbWlnaHQgYmUgY29uZmlndXJlIHRpbWUgZGV0ZXJtaW5lZC4KICBwdXNoIChA YWxsLCAnJCgnIC4gJHByaW1hcnkgLiAnKScpCiAgICBpZiBAdXNlZCAmJiAkcHJpbWFyeSBu ZSAnSkFWQScgJiYgJHByaW1hcnkgbmUgJ1BZVEhPTic7CgogICMgTWFrZSB0aGUgcmVzdWx0 IHVuaXF1ZS4gIFRoaXMgbGV0cyB0aGUgdXNlciB1c2UgY29uZGl0aW9uYWxzIGluCiAgIyBh IG5hdHVyYWwgd2F5LCBidXQgc3RpbGwgbGV0cyB1cyBwcm9ncmFtIGxhemlseSAtLSB3ZSBk b24ndCBoYXZlCiAgIyB0byB3b3JyeSBhYm91dCBoYW5kbGluZyBhIHBhcnRpY3VsYXIgb2Jq ZWN0IG1vcmUgdGhhbiBvbmNlLgogICMgV2Ugd2lsbCBrZWVwIG9ubHkgb25lIGxvY2F0aW9u IHBlciBvYmplY3QuCiAgbXkgJXJlc3VsdCA9ICgpOwogIGZvciBteSAkcGFpciAoQHJlc3Vs dCkKICAgIHsKICAgICAgbXkgKCRsb2MsICR2YWwpID0gQCRwYWlyOwogICAgICAkcmVzdWx0 eyR2YWx9ID0gJGxvYzsKICAgIH0KICBteSBAbCA9IHNvcnQga2V5cyAlcmVzdWx0OwogIHJl dHVybiBtYXAgeyBbJHJlc3VsdHskX30tPmNsb25lLCAkX10gfSBAbDsKfQoKCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCiMgRWFjaCBrZXkgaW4gdGhpcyBoYXNoIGlzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5 IGhvbGRpbmcgYQojIE1ha2VmaWxlLmluLiAgVGhlc2UgdmFyaWFibGVzIGFyZSBsb2NhbCB0 byAnaXNfbWFrZV9kaXInLgpteSAlbWFrZV9kaXJzID0gKCk7Cm15ICRtYWtlX2RpcnNfc2V0 ID0gMDsKCiMgaXNfbWFrZV9kaXIgKCRESVJFQ1RPUlkpCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCnN1YiBpc19tYWtlX2Rpcgp7CiAgICBteSAoJGRpcikgPSBAXzsKICAgIGlmICgh ICRtYWtlX2RpcnNfc2V0KQogICAgewoJZm9yZWFjaCBteSAkaXRlciAoQGNvbmZpZ3VyZV9p bnB1dF9maWxlcykKCXsKCSAgICAkbWFrZV9kaXJze2Rpcm5hbWUgKCRpdGVyKX0gPSAxOwoJ fQoJIyBXZSBhbHNvIHdhbnQgdG8gbm90aWNlIE1ha2VmaWxlLmluJ3MuCglmb3JlYWNoIG15 ICRpdGVyIChAb3RoZXJfaW5wdXRfZmlsZXMpCgl7CgkgICAgaWYgKCRpdGVyID1+IC9NYWtl ZmlsZVwuaW4kLykKCSAgICB7CgkJJG1ha2VfZGlyc3tkaXJuYW1lICgkaXRlcil9ID0gMTsK CSAgICB9Cgl9CgkkbWFrZV9kaXJzX3NldCA9IDE7CiAgICB9CiAgICByZXR1cm4gZGVmaW5l ZCAkbWFrZV9kaXJzeyRkaXJ9Owp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEZpbmQgdGhlIGF1eCBkaXIu ICBUaGlzIHNob3VsZCBtYXRjaCB0aGUgYWxnb3JpdGhtIHVzZWQgYnkKIyAuL2NvbmZpZ3Vy ZS4gKFNlZSB0aGUgQXV0b2NvbmYgZG9jdW1lbnRhdGlvbiBmb3IgZm9yCiMgQUNfQ09ORklH X0FVWF9ESVIuKQpzdWIgbG9jYXRlX2F1eF9kaXIgKCkKewogIGlmICghICRjb25maWdfYXV4 X2Rpcl9zZXRfaW5fY29uZmlndXJlX2FjKQogICAgewogICAgICAjIFRoZSBkZWZhdWx0IGF1 eGlsaWFyeSBkaXJlY3RvcnkgaXMgdGhlIGZpcnN0CiAgICAgICMgb2YgLiwgLi4sIG9yIC4u Ly4uIHRoYXQgY29udGFpbnMgaW5zdGFsbC1zaC4KICAgICAgIyBBc3N1bWUgLiBpZiBpbnN0 YWxsLXNoIGRvZXNuJ3QgZXhpc3QgeWV0LgogICAgICBmb3IgbXkgJGRpciAocXcgKC4gLi4g Li4vLi4pKQoJewoJICBpZiAoLWYgIiRkaXIvaW5zdGFsbC1zaCIpCgkgICAgewoJICAgICAg JGNvbmZpZ19hdXhfZGlyID0gJGRpcjsKCSAgICAgIGxhc3Q7CgkgICAgfQoJfQogICAgICAk Y29uZmlnX2F1eF9kaXIgPSAnLicgdW5sZXNzICRjb25maWdfYXV4X2RpcjsKICAgIH0KICAj IEF2b2lkIHVuc2lnaHRseSAnLy4ncy4KICAkYW1fY29uZmlnX2F1eF9kaXIgPQogICAgJyQo dG9wX3NyY2RpciknIC4gKCRjb25maWdfYXV4X2RpciBlcSAnLicgPyAiIiA6ICIvJGNvbmZp Z19hdXhfZGlyIik7CiAgJGFtX2NvbmZpZ19hdXhfZGlyID1+IHMsLyokLCw7Cn0KCgojIHB1 c2hfcmVxdWlyZWRfZmlsZSAoJERJUiwgJEZJTEUsICRGVUxMRklMRSkKIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHVzaCB0aGUgZ2l2ZW4gZmls ZSBvbnRvIERJU1RfQ09NTU9OLgpzdWIgcHVzaF9yZXF1aXJlZF9maWxlCnsKICBteSAoJGRp ciwgJGZpbGUsICRmdWxsZmlsZSkgPSBAXzsKCiAgIyBJZiB0aGUgZmlsZSB0byBiZSBkaXN0 cmlidXRlZCBpcyBpbiB0aGUgc2FtZSBkaXJlY3Rvcnkgb2YgdGhlCiAgIyBjdXJyZW50bHkg cHJvY2Vzc2VkIE1ha2VmaWxlLmFtLCB0aGVuIHdlIHdhbnQgdG8gZGlzdHJpYnV0ZSBpdAog ICMgZnJvbSB0aGlzIHNhbWUgTWFrZWZpbGUuYW0uCiAgaWYgKCRkaXIgZXEgJHJlbGF0aXZl X2RpcikKICAgIHsKICAgICAgcHVzaF9kaXN0X2NvbW1vbiAoJGZpbGUpOwogICAgfQogICMg VGhpcyBpcyBuZWVkZWQgdG8gYWxsb3cgYSBjb25zdHJ1Y3QgaW4gYSBub24tdG9wLWxldmVs IE1ha2VmaWxlLmFtCiAgIyB0byByZXF1aXJlIGEgZmlsZSBpbiB0aGUgYnVpbGQtYXV4IGRp cmVjdG9yeSAoc2VlIGF0IGxlYXN0IHRoZSB0ZXN0CiAgIyBzY3JpcHQgJ3Rlc3QtZHJpdmVy LWlzLWRpc3RyaWJ1dGVkLnNoJykuICBUaGlzIGlzIHJlbGF0ZWQgdG8gdGhlCiAgIyBhdXRv bWFrZSBidWcjOTU0Ni4gIE5vdGUgdGhhdCB0aGUgdXNlIG9mICRjb25maWdfYXV4X2RpciBp bnN0ZWFkCiAgIyBvZiAkYW1fY29uZmlnX2F1eF9kaXIgaGVyZSBpcyBkZWxpYmVyYXRlIGFu ZCBuZWNlc3NhcnkuCiAgZWxzaWYgKCRkaXIgZXEgJGNvbmZpZ19hdXhfZGlyKQogICAgewog ICAgICBwdXNoX2Rpc3RfY29tbW9uICgiJGFtX2NvbmZpZ19hdXhfZGlyLyRmaWxlIik7CiAg ICB9CiAgIyBGSVhNRTogYW5vdGhlciBzcGFjaWFsIGNhc2UsIGZvciBBQ19MSUJPQkovQUNf TElCU09VUkNFIHN1cHBvcnQuCiAgIyBXZSBwcm9iYWJseSBuZWVkIHNvbWUgcmVmYWN0b3Jp bmcgb2YgdGhpcyBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlcnMsCiAgIyB0byBoYXZlIGEgbW9y ZSBleHBsaWNpdCBhbmQgc3lzdGVtYXRpYyBoYW5kbGluZyBvZiBhbGwgdGhlIHNwZWNpYWwK ICAjIGNhc2VzOyBidXQsIHNpbmNlIHRoZXJlIGFyZSBvbmx5IHR3byBvZiB0aGVtLCB0aGlz IGlzIGxvdy1wcmlvcml0eQogICMgQVRNLgogIGVsc2lmICgkY29uZmlnX2xpYm9ial9kaXIg JiYgJGRpciBlcSAkY29uZmlnX2xpYm9ial9kaXIpCiAgICB7CiAgICAgICMgQXZvaWQgdW5z aWdodGx5ICcvLidzLgogICAgICBteSAkYW1fY29uZmlnX2xpYm9ial9kaXIgPQogICAgICAg ICckKHRvcF9zcmNkaXIpJyAuCiAgICAgICAgKCRjb25maWdfbGlib2JqX2RpciBlcSAnLicg PyAiIiA6ICIvJGNvbmZpZ19saWJvYmpfZGlyIik7CiAgICAgICRhbV9jb25maWdfbGlib2Jq X2RpciA9fiBzfC8qJHx8OwogICAgICBwdXNoX2Rpc3RfY29tbW9uICgiJGFtX2NvbmZpZ19s aWJvYmpfZGlyLyRmaWxlIik7CiAgICB9CiAgZWxzaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4n ICYmICEgaXNfbWFrZV9kaXIgKCRkaXIpKQogICAgewogICAgICAjIElmIHdlIGFyZSBkb2lu ZyB0aGUgdG9wbW9zdCBkaXJlY3RvcnksIGFuZCB0aGUgZmlsZSBpcyBpbiBhCiAgICAgICMg c3ViZGlyIHdoaWNoIGRvZXMgbm90IGhhdmUgYSBNYWtlZmlsZSwgdGhlbiB3ZSBkaXN0cmli dXRlIGl0CiAgICAgICMgaGVyZS4KCiAgICAgICMgSWYgYSByZXF1aXJlZCBmaWxlIGlzIGFi b3ZlIHRoZSBzb3VyY2UgdHJlZSwgaXQgaXMgaW1wb3J0YW50CiAgICAgICMgdG8gcHJlZml4 IGl0IHdpdGggJyQoc3JjZGlyKScgc28gdGhhdCBubyBWUEFUSCBzZWFyY2ggaXMKICAgICAg IyBwZXJmb3JtZWQuICBPdGhlcndpc2UgcHJvYmxlbXMgb2NjdXIgd2l0aCBNYWtlIGltcGxl bWVudGF0aW9ucwogICAgICAjIHRoYXQgcmV3cml0ZSBhbmQgc2ltcGxpZnkgcnVsZXMgd2hv c2UgZGVwZW5kZW5jaWVzIGFyZSBmb3VuZCBpbiBhCiAgICAgICMgVlBBVEggbG9jYXRpb24u ICBIZXJlIGlzIGFuIGV4YW1wbGUgd2l0aCBPU0YxL1RydTY0IE1ha2UuCiAgICAgICMKICAg ICAgIyAgICUgY2F0IE1ha2VmaWxlCiAgICAgICMgICBWUEFUSCA9IHN1YgogICAgICAjICAg ZGlzdGRpcjogLi4vYQogICAgICAjCSAgICAgICAgICBlY2hvIC4uL2EKICAgICAgIyAgICUg bHMKICAgICAgIyAgIE1ha2VmaWxlIGEKICAgICAgIyAgICUgbWFrZQogICAgICAjICAgZWNo byBhCiAgICAgICMgICBhCiAgICAgICMKICAgICAgIyBEZXBlbmRlbmN5ICcuLi9hJyB3YXMg Zm91bmQgaW4gJ3N1Yi8uLi9hJywgYnV0IHRoaXMgbWFrZQogICAgICAjIGltcGxlbWVudGF0 aW9uIHNpbXBsaWZpZWQgaXQgYXMgJ2EnLiAgKE5vdGUgdGhhdCB0aGUgc3ViLwogICAgICAj IGRpcmVjdG9yeSBkb2VzIG5vdCBldmVuIGV4aXN0LikKICAgICAgIwogICAgICAjIFRoaXMg a2luZCBvZiBWUEFUSCByZXdyaXRpbmcgc2VlbXMgaGFyZCB0byBjYW5jZWwuICBUaGUKICAg ICAgIyBkaXN0ZGlyLmFtIGhhY2sgYWdhaW5zdCBWUEFUSCByZXdyaXRpbmcgd29ya3Mgb25s eSB3aGVuIG5vCiAgICAgICMgc2ltcGxpZmljYXRpb24gaXMgZG9uZSwgaS5lLiwgZm9yIGRl cGVuZGVuY2llcyB3aGljaCBhcmUgaW4KICAgICAgIyBzdWJkaXJlY3Rvcmllcywgbm90IGlu IGVuY2xvc2luZyBkaXJlY3Rvcmllcy4gIEhlbmNlLCBpbgogICAgICAjIHRoZSBsYXR0ZXIg Y2FzZSB3ZSB1c2UgYSBmdWxsIHBhdGggdG8gbWFrZSBzdXJlIG5vIFZQQVRICiAgICAgICMg c2VhcmNoIG9jY3Vycy4KICAgICAgJGZ1bGxmaWxlID0gJyQoc3JjZGlyKS8nIC4gJGZ1bGxm aWxlCglpZiAkZGlyID1+IG0sXlwuXC4oPzokfC8pLDsKCiAgICAgIHB1c2hfZGlzdF9jb21t b24gKCRmdWxsZmlsZSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICBwcm9nX2Vycm9yICJh IE1ha2VmaWxlIGluIHJlbGF0aXZlIGRpcmVjdG9yeSAkcmVsYXRpdmVfZGlyICIgLgogICAg ICAgICAgICAgICAgICJjYW4ndCBhZGQgZmlsZXMgaW4gZGlyZWN0b3J5ICRkaXIgdG8gRElT VF9DT01NT04iOwogICAgfQp9CgoKIyBJZiBhIGZpbGUgbmFtZSBhcHBlYXJzIGFzIGEga2V5 IGluIHRoaXMgaGFzaCwgdGhlbiBpdCBoYXMgYWxyZWFkeQojIGJlZW4gY2hlY2tlZCBmb3Iu ICBUaGlzIGFsbG93cyB1cyBub3QgdG8gcmVwb3J0IHRoZSBzYW1lIGVycm9yIG1vcmUKIyB0 aGFuIG9uY2UuCm15ICVyZXF1aXJlZF9maWxlX25vdF9mb3VuZCA9ICgpOwoKIyByZXF1aXJl ZF9maWxlX2NoZWNrX29yX2NvcHkgKCRXSEVSRSwgJERJUkVDVE9SWSwgJEZJTEUpCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IFZlcmlmeSB0aGF0IHRoZSBmaWxlIG11c3QgZXhpc3QgaW4gJERJUkVDVE9SWSwgb3IgaW5z dGFsbCBpdC4Kc3ViIHJlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29weQp7CiAgbXkgKCR3aGVy ZSwgJGRpciwgJGZpbGUpID0gQF87CgogIG15ICRmdWxsZmlsZSA9ICIkZGlyLyRmaWxlIjsK ICBteSAkZm91bmRfaXQgPSAwOwogIG15ICRkYW5nbGluZ19zeW0gPSAwOwoKICBpZiAoLWwg JGZ1bGxmaWxlICYmICEgLWYgJGZ1bGxmaWxlKQogICAgewogICAgICAkZGFuZ2xpbmdfc3lt ID0gMTsKICAgIH0KICBlbHNpZiAoZGlyX2hhc19jYXNlX21hdGNoaW5nX2ZpbGUgKCRkaXIs ICRmaWxlKSkKICAgIHsKICAgICAgJGZvdW5kX2l0ID0gMTsKICAgIH0KCiAgIyAnLS1mb3Jj ZS1taXNzaW5nJyBvbmx5IGhhcyBhbiBlZmZlY3QgaWYgJy0tYWRkLW1pc3NpbmcnIGlzCiAg IyBzcGVjaWZpZWQuCiAgcmV0dXJuCiAgICBpZiAkZm91bmRfaXQgJiYgKCEgJGFkZF9taXNz aW5nIHx8ICEgJGZvcmNlX21pc3NpbmcpOwoKICAjIElmIHdlJ3ZlIGFscmVhZHkgbG9va2Vk IGZvciBpdCwgd2UncmUgZG9uZS4gIFlvdSBtaWdodCB3b25kZXIgd2h5IHdlCiAgIyBkb24n dCBkbyB0aGlzIGJlZm9yZSBzZWFyY2hpbmcgZm9yIHRoZSBmaWxlLiAgSWYgd2UgZG8gdGhh dCwgdGhlbgogICMgc29tZXRoaW5nIGxpa2UgQUNfT1VUUFVUKFtzdWJkaXIvZm9vIGZvb10p IHdpbGwgZmFpbCB0byBwdXQgJ2Zvby5pbicKICAjIGludG8gJChESVNUX0NPTU1PTikuCiAg aWYgKCEgJGZvdW5kX2l0KQogICAgewogICAgICByZXR1cm4gaWYgZGVmaW5lZCAkcmVxdWly ZWRfZmlsZV9ub3RfZm91bmR7JGZ1bGxmaWxlfTsKICAgICAgJHJlcXVpcmVkX2ZpbGVfbm90 X2ZvdW5keyRmdWxsZmlsZX0gPSAxOwogICAgfQogIGlmICgkZGFuZ2xpbmdfc3ltICYmICRh ZGRfbWlzc2luZykKICAgIHsKICAgICAgdW5saW5rICgkZnVsbGZpbGUpOwogICAgfQoKICBt eSAkdHJhaWxlciA9ICcnOwogIG15ICR0cmFpbGVyMiA9ICcnOwogIG15ICRzdXBwcmVzcyA9 IDA7CgogICMgT25seSBpbnN0YWxsIG1pc3NpbmcgZmlsZXMgYWNjb3JkaW5nIHRvIG91ciBk ZXNpcmVkCiAgIyBzdHJpY3RuZXNzIGxldmVsLgogIG15ICRtZXNzYWdlID0gInJlcXVpcmVk IGZpbGUgJyRmdWxsZmlsZScgbm90IGZvdW5kIjsKICBpZiAoJGFkZF9taXNzaW5nKQogICAg ewogICAgICBpZiAoLWYgIiRsaWJkaXIvJGZpbGUiKQogICAgICAgIHsKICAgICAgICAgICRz dXBwcmVzcyA9IDE7CgogICAgICAgICAgIyBJbnN0YWxsIHRoZSBtaXNzaW5nIGZpbGUuICBT eW1saW5rIGlmIHdlCiAgICAgICAgICAjIGNhbiwgY29weSBpZiB3ZSBtdXN0LiAgTm90ZTog ZGVsZXRlIHRoZSBmaWxlCiAgICAgICAgICAjIGZpcnN0LCBpbiBjYXNlIGl0IGlzIGEgZGFu Z2xpbmcgc3ltbGluay4KICAgICAgICAgICRtZXNzYWdlID0gImluc3RhbGxpbmcgJyRmdWxs ZmlsZSciOwoKICAgICAgICAgICMgVGhlIGxpY2Vuc2UgZmlsZSBzaG91bGQgbm90IGJlIHZv bGF0aWxlLgogICAgICAgICAgaWYgKCRmaWxlIGVxICJDT1BZSU5HIikKICAgICAgICAgICAg ewogICAgICAgICAgICAgICRtZXNzYWdlIC49ICIgdXNpbmcgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgdjMgZmlsZSI7CiAgICAgICAgICAgICAgJHRyYWlsZXIyID0gIlxuICAgIENv bnNpZGVyIGFkZGluZyB0aGUgQ09QWUlORyBmaWxlIgogICAgICAgICAgICAgICAgICAgICAg ICAuICIgdG8gdGhlIHZlcnNpb24gY29udHJvbCBzeXN0ZW0iCiAgICAgICAgICAgICAgICAg ICAgICAgIC4gIlxuICAgIGZvciB5b3VyIGNvZGUsIHRvIGF2b2lkIHF1ZXN0aW9ucyIKICAg ICAgICAgICAgICAgICAgICAgICAgLiAiIGFib3V0IHdoaWNoIGxpY2Vuc2UgeW91ciBwcm9q ZWN0IHVzZXMiOwogICAgICAgICAgICB9CgogICAgICAgICAgIyBXaW5kb3dzIFBlcmwgd2ls bCBoYW5nIGlmIHdlIHRyeSB0byBkZWxldGUgYQogICAgICAgICAgIyBmaWxlIHRoYXQgZG9l c24ndCBleGlzdC4KICAgICAgICAgIHVubGluayAoJGZ1bGxmaWxlKSBpZiAtZiAkZnVsbGZp bGU7CiAgICAgICAgICBpZiAoJHN5bWxpbmtfZXhpc3RzICYmICEgJGNvcHlfbWlzc2luZykK ICAgICAgICAgICAgewogICAgICAgICAgICAgIGlmICghIHN5bWxpbmsgKCIkbGliZGlyLyRm aWxlIiwgJGZ1bGxmaWxlKQogICAgICAgICAgICAgICAgICB8fCAhIC1lICRmdWxsZmlsZSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgJHN1cHByZXNzID0gMDsKICAg ICAgICAgICAgICAgICAgJHRyYWlsZXIgPSAiOyBlcnJvciB3aGlsZSBtYWtpbmcgbGluazog JCEiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICBlbHNpZiAo c3lzdGVtICgnY3AnLCAiJGxpYmRpci8kZmlsZSIsICRmdWxsZmlsZSkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAkc3VwcHJlc3MgPSAwOwogICAgICAgICAgICAgICR0cmFpbGVy ID0gIlxuICAgIGVycm9yIHdoaWxlIGNvcHlpbmciOwogICAgICAgICAgICB9CiAgICAgICAg ICBzZXRfZGlyX2NhY2hlX2ZpbGUgKCRkaXIsICRmaWxlKTsKICAgICAgICB9CiAgICB9CiAg ZWxzZQogICAgewogICAgICAkdHJhaWxlciA9ICJcbiAgJ2F1dG9tYWtlIC0tYWRkLW1pc3Np bmcnIGNhbiBpbnN0YWxsICckZmlsZSciCiAgICAgICAgaWYgLWYgIiRsaWJkaXIvJGZpbGUi OwogICAgfQoKICAjIElmIC0tZm9yY2UtbWlzc2luZyB3YXMgc3BlY2lmaWVkLCBhbmQgd2Ug aGF2ZQogICMgYWN0dWFsbHkgZm91bmQgdGhlIGZpbGUsIHRoZW4gZG8gbm90aGluZy4KICBy ZXR1cm4KICAgIGlmICRmb3VuZF9pdCAmJiAkZm9yY2VfbWlzc2luZzsKCiAgIyBJZiB3ZSBj b3VsZG4ndCBpbnN0YWxsIHRoZSBmaWxlLCBidXQgaXQgaXMgYSB0YXJnZXQgaW4KICAjIHRo ZSBNYWtlZmlsZSwgZG9uJ3QgcHJpbnQgYW55dGhpbmcuICBUaGlzIGFsbG93cyBmaWxlcwog ICMgbGlrZSBSRUFETUUsIEFVVEhPUlMsIG9yIFRIQU5LUyB0byBiZSBnZW5lcmF0ZWQuCiAg cmV0dXJuCiAgICBpZiAhJHN1cHByZXNzICYmIHJ1bGUgJGZpbGU7CgogIG1zZyAoJHN1cHBy ZXNzID8gJ25vdGUnIDogJ2Vycm9yJywgJHdoZXJlLCAiJG1lc3NhZ2UkdHJhaWxlciR0cmFp bGVyMiIpOwp9CgoKIyByZXF1aXJlX2ZpbGVfaW50ZXJuYWwgKCRXSEVSRSwgJE1ZU1RSSUNU LCAkRElSRUNUT1JZLCAkUVVFVUUsIEBGSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBWZXJp ZnkgdGhhdCB0aGUgZmlsZSBtdXN0IGV4aXN0IGluICRESVJFQ1RPUlksIG9yIGluc3RhbGwg aXQuCiMgJE1ZU1RSSUNUIGlzIHRoZSBzdHJpY3RuZXNzIGxldmVsIGF0IHdoaWNoIHRoaXMg ZmlsZSBiZWNvbWVzIHJlcXVpcmVkLgojIFdvcmtlciB0aHJlYWRzIG1heSBxdWV1ZSB1cCB0 aGUgYWN0aW9uIHRvIGJlIHNlcmlhbGl6ZWQgYnkgdGhlIG1hc3RlciwKIyBpZiAkUVVFVUUg aXMgdHJ1ZQpzdWIgcmVxdWlyZV9maWxlX2ludGVybmFsCnsKICBteSAoJHdoZXJlLCAkbXlz dHJpY3QsICRkaXIsICRxdWV1ZSwgQGZpbGVzKSA9IEBfOwoKICByZXR1cm4KICAgIHVubGVz cyAkc3RyaWN0bmVzcyA+PSAkbXlzdHJpY3Q7CgogIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxl cykKICAgIHsKICAgICAgcHVzaF9yZXF1aXJlZF9maWxlICgkZGlyLCAkZmlsZSwgIiRkaXIv JGZpbGUiKTsKICAgICAgaWYgKCRxdWV1ZSkKICAgICAgICB7CiAgICAgICAgICBxdWV1ZV9y ZXF1aXJlZF9maWxlX2NoZWNrX29yX2NvcHkgKCRyZXF1aXJlZF9jb25mX2ZpbGVfcXVldWUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVVFX0NP TkZfRklMRSwgJHJlbGF0aXZlX2RpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJHdoZXJlLCAkbXlzdHJpY3QsIEBmaWxlcyk7CiAgICAgICAgfQog ICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgcmVxdWlyZWRfZmlsZV9jaGVja19vcl9j b3B5ICgkd2hlcmUsICRkaXIsICRmaWxlKTsKICAgICAgICB9CiAgICB9Cn0KCiMgcmVxdWly ZV9maWxlICgkV0hFUkUsICRNWVNUUklDVCwgQEZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfZmlsZQp7CiAgICBteSAoJHdo ZXJlLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAgIHJlcXVpcmVfZmlsZV9pbnRlcm5h bCAoJHdoZXJlLCAkbXlzdHJpY3QsICRyZWxhdGl2ZV9kaXIsIDAsIEBmaWxlcyk7Cn0KCiMg cmVxdWlyZV9maWxlX3dpdGhfbWFjcm8gKCRDT05ELCAkTUFDUk8sICRNWVNUUklDVCwgQEZJ TEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfZmlsZV93aXRoX21hY3JvCnsKICAgIG15ICgkY29u ZCwgJG1hY3JvLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAgICRtYWNybyA9IHJ2YXIg KCRtYWNybykgdW5sZXNzIHJlZiAkbWFjcm87CiAgICByZXF1aXJlX2ZpbGUgKCRtYWNyby0+ cmRlZiAoJGNvbmQpLT5sb2NhdGlvbiwgJG15c3RyaWN0LCBAZmlsZXMpOwp9CgojIHJlcXVp cmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRDT05ELCAkTUFDUk8sICRNWVNUUklDVCwgQEZJ TEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQojIFJlcXVpcmUgYW4gQUNfTElCU09VUkNFZCBmaWxlLiAgSWYg QUNfQ09ORklHX0xJQk9CSl9ESVIgd2FzIGNhbGxlZCwgaXQKIyBtdXN0IGJlIGluIHRoYXQg ZGlyZWN0b3J5LiAgT3RoZXJ3aXNlIGV4cGVjdCBpdCBpbiB0aGUgY3VycmVudCBkaXJlY3Rv cnkuCnN1YiByZXF1aXJlX2xpYnNvdXJjZV93aXRoX21hY3JvCnsKICAgIG15ICgkY29uZCwg JG1hY3JvLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAgICRtYWNybyA9IHJ2YXIgKCRt YWNybykgdW5sZXNzIHJlZiAkbWFjcm87CiAgICBpZiAoJGNvbmZpZ19saWJvYmpfZGlyKQog ICAgICB7CglyZXF1aXJlX2ZpbGVfaW50ZXJuYWwgKCRtYWNyby0+cmRlZiAoJGNvbmQpLT5s b2NhdGlvbiwgJG15c3RyaWN0LAoJCQkgICAgICAgJGNvbmZpZ19saWJvYmpfZGlyLCAwLCBA ZmlsZXMpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJlcXVpcmVfZmlsZSAoJG1hY3Jv LT5yZGVmICgkY29uZCktPmxvY2F0aW9uLCAkbXlzdHJpY3QsIEBmaWxlcyk7CiAgICAgIH0K fQoKIyBxdWV1ZV9yZXF1aXJlZF9maWxlX2NoZWNrX29yX2NvcHkgKCRRVUVVRSwgJEtFWSwg JERJUiwgJFdIRVJFLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE1Z U1RSSUNULCBARklMRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIHF1ZXVlX3JlcXVpcmVkX2ZpbGVfY2hl Y2tfb3JfY29weQp7CiAgICBteSAoJHF1ZXVlLCAka2V5LCAkZGlyLCAkd2hlcmUsICRteXN0 cmljdCwgQGZpbGVzKSA9IEBfOwogICAgbXkgQHNlcmlhbF9sb2M7CiAgICBpZiAocmVmICR3 aGVyZSkKICAgICAgewogICAgICAgIEBzZXJpYWxfbG9jID0gKFFVRVVFX0xPQ0FUSU9OLCAk d2hlcmUtPnNlcmlhbGl6ZSAoKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewogICAgICAg IEBzZXJpYWxfbG9jID0gKFFVRVVFX1NUUklORywgJHdoZXJlKTsKICAgICAgfQogICAgJHF1 ZXVlLT5lbnF1ZXVlICgka2V5LCAkZGlyLCBAc2VyaWFsX2xvYywgJG15c3RyaWN0LCAwICsg QGZpbGVzLCBAZmlsZXMpOwp9CgojIHJlcXVpcmVfcXVldWVkX2ZpbGVfY2hlY2tfb3JfY29w eSAoJFFVRVVFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpzdWIgcmVxdWlyZV9xdWV1ZWRfZmlsZV9jaGVja19vcl9jb3B5CnsKICAgIG15ICgkcXVl dWUpID0gQF87CiAgICBteSAkd2hlcmU7CiAgICBteSAkZGlyID0gJHF1ZXVlLT5kZXF1ZXVl ICgpOwogICAgbXkgJGxvY19rZXkgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICBpZiAoJGxv Y19rZXkgZXEgUVVFVUVfTE9DQVRJT04pCiAgICAgIHsKCSR3aGVyZSA9IEF1dG9tYWtlOjpM b2NhdGlvbjo6ZGVzZXJpYWxpemUgKCRxdWV1ZSk7CiAgICAgIH0KICAgIGVsc2lmICgkbG9j X2tleSBlcSBRVUVVRV9TVFJJTkcpCiAgICAgIHsKCSR3aGVyZSA9ICRxdWV1ZS0+ZGVxdWV1 ZSAoKTsKICAgICAgfQogICAgZWxzZQogICAgICB7Cglwcm9nX2Vycm9yICJ1bmV4cGVjdGVk IGtleSAkbG9jX2tleSI7CiAgICAgIH0KICAgIG15ICRteXN0cmljdCA9ICRxdWV1ZS0+ZGVx dWV1ZSAoKTsKICAgIG15ICRuZmlsZXMgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICBteSBA ZmlsZXM7CiAgICBwdXNoIEBmaWxlcywgJHF1ZXVlLT5kZXF1ZXVlICgpCiAgICAgIGZvcmVh Y2ggKDEgLi4gJG5maWxlcyk7CiAgICByZXR1cm4KICAgICAgdW5sZXNzICRzdHJpY3RuZXNz ID49ICRteXN0cmljdDsKICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxlcykKICAgICAgewog ICAgICAgIHJlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29weSAoJHdoZXJlLCAkY29uZmlnX2F1 eF9kaXIsICRmaWxlKTsKICAgICAgfQp9CgojIHJlcXVpcmVfY29uZl9maWxlICgkV0hFUkUs ICRNWVNUUklDVCwgQEZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQojIExvb2tzIGluIGNvbmZpZ3VyYXRpb24gcGF0aCwgYXMgc3BlY2lm aWVkIGJ5IEFDX0NPTkZJR19BVVhfRElSLgpzdWIgcmVxdWlyZV9jb25mX2ZpbGUKewogICAg bXkgKCR3aGVyZSwgJG15c3RyaWN0LCBAZmlsZXMpID0gQF87CiAgICBteSAkcXVldWUgPSBk ZWZpbmVkICRyZXF1aXJlZF9jb25mX2ZpbGVfcXVldWUgPyAxIDogMDsKICAgIHJlcXVpcmVf ZmlsZV9pbnRlcm5hbCAoJHdoZXJlLCAkbXlzdHJpY3QsICRjb25maWdfYXV4X2RpciwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXVlLCBAZmlsZXMpOwp9CgoKIyByZXF1aXJl X2NvbmZfZmlsZV93aXRoX21hY3JvICgkQ09ORCwgJE1BQ1JPLCAkTVlTVFJJQ1QsIEBGSUxF UykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfY29uZl9maWxlX3dpdGhfbWFjcm8KewogICAg bXkgKCRjb25kLCAkbWFjcm8sICRteXN0cmljdCwgQGZpbGVzKSA9IEBfOwogICAgcmVxdWly ZV9jb25mX2ZpbGUgKHJ2YXIgKCRtYWNybyktPnJkZWYgKCRjb25kKS0+bG9jYXRpb24sCgkJ ICAgICAgICRteXN0cmljdCwgQGZpbGVzKTsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyByZXF1aXJlX2J1 aWxkX2RpcmVjdG9yeSAoJERJUkVDVE9SWSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBFbWl0IHJ1bGVzIHRvIGNyZWF0ZSAkRElSRUNUT1JZIGlmIG5lZWRl ZCwgYW5kIHJldHVybgojIHRoZSBmaWxlIHRoYXQgYW55IHRhcmdldCByZXF1aXJpbmcgdGhp cyBkaXJlY3Rvcnkgc2hvdWxkIGJlIG1hZGUKIyBkZXBlbmRlbnQgdXBvbi4KIyBXZSBkb24n dCB3YW50IHRvIGVtaXQgdGhlIHJ1bGUgdHdpY2UsIGFuZCB3YW50IHRvIHJldXNlIGl0CiMg Zm9yIGRpcmVjdG9yaWVzIHdpdGggZXF1aXZhbGVudCBuYW1lcyAoZS5nLiwgJ2Zvby9iYXIn IGFuZCAnLi9mb28vL2JhcicpLgpzdWIgcmVxdWlyZV9idWlsZF9kaXJlY3RvcnkKewogIG15 ICRkaXJlY3RvcnkgPSBzaGlmdDsKCiAgcmV0dXJuICRkaXJlY3RvcnlfbWFweyRkaXJlY3Rv cnl9IGlmIGV4aXN0cyAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fTsKCiAgbXkgJGNkaXIg PSBGaWxlOjpTcGVjLT5jYW5vbnBhdGggKCRkaXJlY3RvcnkpOwoKICBpZiAoZXhpc3RzICRk aXJlY3RvcnlfbWFweyRjZGlyfSkKICAgIHsKICAgICAgbXkgJHN0YW1wID0gJGRpcmVjdG9y eV9tYXB7JGNkaXJ9OwogICAgICAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fSA9ICRzdGFt cDsKICAgICAgcmV0dXJuICRzdGFtcDsKICAgIH0KCiAgbXkgJGRpcnN0YW1wID0gIiRjZGly L1wkKGFtX19kaXJzdGFtcCkiOwoKICAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fSA9ICRk aXJzdGFtcDsKICAkZGlyZWN0b3J5X21hcHskY2Rpcn0gPSAkZGlyc3RhbXA7CgogICMgU2V0 IGEgdmFyaWFibGUgZm9yIHRoZSBkaXJzdGFtcCBiYXNlbmFtZS4KICBkZWZpbmVfcHJldHR5 X3ZhcmlhYmxlICgnYW1fX2RpcnN0YW1wJywgVFJVRSwgSU5URVJOQUwsCgkJCSAgJyQoYW1f X2xlYWRpbmdfZG90KWRpcnN0YW1wJyk7CgogICMgRGlyZWN0b3J5IG11c3QgYmUgcmVtb3Zl ZCBieSAnbWFrZSBkaXN0Y2xlYW4nLgogICRjbGVhbl9maWxlc3skZGlyc3RhbXB9ID0gRElT VF9DTEVBTjsKCiAgJG91dHB1dF9ydWxlcyAuPSAoIiRkaXJzdGFtcDpcbiIKCQkgICAgLiAi XHRcQFwkKE1LRElSX1ApICRkaXJlY3RvcnlcbiIKCQkgICAgLiAiXHRcQDogPiAkZGlyc3Rh bXBcbiIpOwoKICByZXR1cm4gJGRpcnN0YW1wOwp9CgojIHJlcXVpcmVfYnVpbGRfZGlyZWN0 b3J5X21heWJlICgkRklMRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiMgSWYgJEZJTEUgbGllcyBpbiBhIHN1YmRpcmVjdG9yeSwgZW1pdCBhIHJ1bGUgdG8g Y3JlYXRlIHRoaXMKIyBkaXJlY3RvcnkgYW5kIHJldHVybiB0aGUgZmlsZSB0aGF0ICRGSUxF IHNob3VsZCBiZSBtYWRlCiMgZGVwZW5kZW50IHVwb24uICBPdGhlcndpc2UsIGp1c3QgcmV0 dXJuIHRoZSBlbXB0eSBzdHJpbmcuCnN1YiByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeV9tYXli ZQp7CiAgICBteSAkZmlsZSA9IHNoaWZ0OwogICAgbXkgJGRpcmVjdG9yeSA9IGRpcm5hbWUg KCRmaWxlKTsKCiAgICBpZiAoJGRpcmVjdG9yeSBuZSAnLicpCiAgICB7CglyZXR1cm4gcmVx dWlyZV9idWlsZF9kaXJlY3RvcnkgKCRkaXJlY3RvcnkpOwogICAgfQogICAgZWxzZQogICAg ewoJcmV0dXJuICcnOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFB1c2ggYSBsaXN0IG9mIGZp bGVzIG9udG8gJ0BkaXN0X2NvbW1vbicuCnN1YiBwdXNoX2Rpc3RfY29tbW9uCnsKICBwcm9n X2Vycm9yICJwdXNoX2Rpc3RfY29tbW9uIHJ1biBhZnRlciBoYW5kbGVfZGlzdCIKICAgIGlm ICRoYW5kbGVfZGlzdF9ydW47CiAgcHVzaCBAZGlzdF9jb21tb24sIEBfOwp9CgoKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwoKIyBnZW5lcmF0ZV9tYWtlZmlsZSAoJE1BS0VGSUxFX0FNLCAkTUFLRUZJTEVfSU4p CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEdl bmVyYXRlIGEgTWFrZWZpbGUuaW4gZ2l2ZW4gdGhlIG5hbWUgb2YgdGhlIGNvcnJlc3BvbmRp bmcgTWFrZWZpbGUgYW5kCiMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgb3V0cHV0IGJ5IGNvbmZp Zy5zdGF0dXMuCnN1YiBnZW5lcmF0ZV9tYWtlZmlsZQp7CiAgbXkgKCRtYWtlZmlsZV9hbSwg JG1ha2VmaWxlX2luKSA9IEBfOwoKICAjIFJlc2V0IGFsbCB0aGUgTWFrZWZpbGUuYW0gcmVs YXRlZCB2YXJpYWJsZXMuCiAgaW5pdGlhbGl6ZV9wZXJfaW5wdXQ7CgogICMgQVVUT01BS0Vf T1BUSU9OUyBjYW4gY29udGFpbnMgLVcgZmxhZ3MgdG8gZGlzYWJsZSBvciBlbmFibGUKICAj IHdhcm5pbmdzIGZvciB0aGlzIGZpbGUuICBTbyBob2xkIGFueSB3YXJuaW5nIGlzc3VlZCBi ZWZvcmUKICAjIHdlIGhhdmUgcHJvY2Vzc2VkIEFVVE9NQUtFX09QVElPTlMuCiAgYnVmZmVy X21lc3NhZ2VzICgnd2FybmluZycpOwoKICAjICRPVVRQVVQgaXMgZW5jb2RlZC4gIElmIGl0 IGNvbnRhaW5zIGEgIjoiIHRoZW4gdGhlIGZpcnN0IGVsZW1lbnQKICAjIGlzIHRoZSByZWFs IG91dHB1dCBmaWxlLCBhbmQgYWxsIHJlbWFpbmluZyBlbGVtZW50cyBhcmUgaW5wdXQKICAj IGZpbGVzLiAgV2UgZG9uJ3Qgc2NhbiBvciBvdGhlcndpc2UgZGVhbCB3aXRoIHRoZXNlIGlu cHV0IGZpbGVzLAogICMgb3RoZXIgdGhhbiB0byBtYXJrIHRoZW0gYXMgZGVwZW5kZW5jaWVz LiAgU2VlIHRoZSBzdWJyb3V0aW5lCiAgIyAnc2Nhbl9hdXRvY29uZl9maWxlcycgZm9yIGRl dGFpbHMuCiAgbXkgKCRtYWtlZmlsZSwgQGlucHV0cykgPSBzcGxpdCAoLzovLCAkb3V0cHV0 X2ZpbGVzeyRtYWtlZmlsZV9pbn0pOwoKICAkcmVsYXRpdmVfZGlyID0gZGlybmFtZSAoJG1h a2VmaWxlKTsKCiAgcmVhZF9tYWluX2FtX2ZpbGUgKCRtYWtlZmlsZV9hbSwgJG1ha2VmaWxl X2luKTsKICBpZiAobm90IGhhbmRsZV9vcHRpb25zKQogICAgewogICAgICAjIFByb2Nlc3Mg YnVmZmVyZWQgd2FybmluZ3MuCiAgICAgIGZsdXNoX21lc3NhZ2VzOwogICAgICAjIEZhdGFs IGVycm9yLiAgSnVzdCByZXR1cm4sIHNvIHdlIGNhbiBjb250aW51ZSB3aXRoIG5leHQgZmls ZS4KICAgICAgcmV0dXJuOwogICAgfQogICMgUHJvY2VzcyBidWZmZXJlZCB3YXJuaW5ncy4K ICBmbHVzaF9tZXNzYWdlczsKCiAgIyBUaGVyZSBhcmUgYSBmZXcgaW5zdGFsbC1yZWxhdGVk IHZhcmlhYmxlcyB0aGF0IHlvdSBzaG91bGQgbm90IGRlZmluZS4KICBmb3JlYWNoIG15ICR2 YXIgKCdQUkVfSU5TVEFMTCcsICdQT1NUX0lOU1RBTEwnLCAnTk9STUFMX0lOU1RBTEwnKQog ICAgewogICAgICBteSAkdiA9IHZhciAkdmFyOwogICAgICBpZiAoJHYpCgl7CgkgIG15ICRk ZWYgPSAkdi0+ZGVmIChUUlVFKTsKCSAgcHJvZ19lcnJvciAiJHZhciBub3QgZGVmaW5lZCBp biBjb25kaXRpb24gVFJVRSIKCSAgICB1bmxlc3MgJGRlZjsKCSAgcmVqZWN0X3ZhciAkdmFy LCAiJyR2YXInIHNob3VsZCBub3QgYmUgZGVmaW5lZCIKCSAgICBpZiAkZGVmLT5vd25lciAh PSBWQVJfQVVUT01BS0U7Cgl9CiAgICB9CgogICMgQ2F0Y2ggc29tZSBvYnNvbGV0ZSB2YXJp YWJsZXMuCiAgbXNnX3ZhciAoJ29ic29sZXRlJywgJ0lOQ0xVREVTJywKCSAgICInSU5DTFVE RVMnIGlzIHRoZSBvbGQgbmFtZSBmb3IgJ0FNX0NQUEZMQUdTJyAob3IgJypfQ1BQRkxBR1Mn KSIpCiAgICBpZiB2YXIgKCdJTkNMVURFUycpOwoKICAjIE11c3QgZG8gdGhpcyBhZnRlciBy ZWFkaW5nIC5hbSBmaWxlLgogIGRlZmluZV92YXJpYWJsZSAoJ3N1YmRpcicsICRyZWxhdGl2 ZV9kaXIsIElOVEVSTkFMKTsKCiAgIyBJZiBESVNUX1NVQkRJUlMgaXMgZGVmaW5lZCwgbWFr ZSBzdXJlIFNVQkRJUlMgaXMsIHNvIHRoYXQKICAjIHJlY3Vyc2l2ZSBydWxlcyBhcmUgZW5h YmxlZC4KICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnU1VCRElSUycsIFRSVUUsIElOVEVS TkFMLCAnJykKICAgIGlmIHZhciAnRElTVF9TVUJESVJTJyAmJiAhIHZhciAnU1VCRElSUyc7 CgogICMgQ2hlY2sgZmlyc3QsIGJlY2F1c2Ugd2UgbWlnaHQgbW9kaWZ5IHNvbWUgc3RhdGUu CiAgY2hlY2tfZ251X3N0YW5kYXJkczsKICBjaGVja19nbml0c19zdGFuZGFyZHM7CgogIGhh bmRsZV9jb25maWd1cmUgKCRtYWtlZmlsZV9hbSwgJG1ha2VmaWxlX2luLCAkbWFrZWZpbGUs IEBpbnB1dHMpOwogIGhhbmRsZV9nZXR0ZXh0OwoKICBoYW5kbGVfdGFyZ2V0czsKICBoYW5k bGVfbGlicmFyaWVzOwogIGhhbmRsZV9sdGxpYnJhcmllczsKICBoYW5kbGVfcHJvZ3JhbXM7 CiAgaGFuZGxlX3NjcmlwdHM7CgogIGhhbmRsZV9zaWxlbnQ7CgogICMgVGhlc2UgbXVzdCBi ZSBydW4gYWZ0ZXIgYWxsIHRoZSBzb3VyY2VzIGFyZSBzY2FubmVkLiAgVGhleSB1c2UKICAj IHZhcmlhYmxlcyBkZWZpbmVkIGJ5IGhhbmRsZV9saWJyYXJpZXMoKSwgaGFuZGxlX2x0bGli cmFyaWVzKCksCiAgIyBvciBoYW5kbGVfcHJvZ3JhbXMoKS4KICBoYW5kbGVfY29tcGlsZTsK ICBoYW5kbGVfbGFuZ3VhZ2VzOwogIGhhbmRsZV9saWJ0b29sOwoKICAjIFZhcmlhYmxlcyB1 c2VkIGJ5IGRpc3RkaXIuYW0gYW5kIHRhZ3MuYW0uCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJs ZSAoJ1NPVVJDRVMnLCBUUlVFLCBJTlRFUk5BTCwgQHNvdXJjZXMpOwogIGlmICghIG9wdGlv biAnbm8tZGlzdCcpCiAgICB7CiAgICAgIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdESVNU X1NPVVJDRVMnLCBUUlVFLCBJTlRFUk5BTCwgQGRpc3Rfc291cmNlcyk7CiAgICB9CgogIGhh bmRsZV90ZXhpbmZvOwogIGhhbmRsZV9lbWFjc19saXNwOwogIGhhbmRsZV9weXRob247CiAg aGFuZGxlX2phdmE7CiAgaGFuZGxlX21hbl9wYWdlczsKICBoYW5kbGVfZGF0YTsKICBoYW5k bGVfaGVhZGVyczsKICBoYW5kbGVfc3ViZGlyczsKICBoYW5kbGVfdXNlcl9yZWN1cnNpb247 CiAgaGFuZGxlX3RhZ3M7CiAgaGFuZGxlX21pbm9yX29wdGlvbnM7CiAgIyBNdXN0IGNvbWUg YWZ0ZXIgaGFuZGxlX3Byb2dyYW1zIHNvIHRoYXQgJWtub3duX3Byb2dyYW1zIGlzIHVwLXRv LWRhdGUuCiAgaGFuZGxlX3Rlc3RzOwoKICAjIFRoaXMgbXVzdCBjb21lIGFmdGVyIG1vc3Qg b3RoZXIgcnVsZXMuCiAgaGFuZGxlX2Rpc3Q7CgogIGhhbmRsZV9mb290ZXI7CiAgZG9fY2hl Y2tfbWVyZ2VfdGFyZ2V0OwogIGhhbmRsZV9hbGwgKCRtYWtlZmlsZSk7CgogICMgRklYTUU6 IEdyb3NzIQogIGlmICh2YXIgKCdsaWJfTFRMSUJSQVJJRVMnKSAmJiB2YXIgKCdiaW5fUFJP R1JBTVMnKSkKICAgIHsKICAgICAgJG91dHB1dF9ydWxlcyAuPSAiaW5zdGFsbC1iaW5QUk9H UkFNUzogaW5zdGFsbC1saWJMVExJQlJBUklFU1xuXG4iOwogICAgfQogIGlmICh2YXIgKCdu b2Jhc2VfbGliX0xUTElCUkFSSUVTJykgJiYgdmFyICgnYmluX1BST0dSQU1TJykpCiAgICB7 CiAgICAgICRvdXRwdXRfcnVsZXMgLj0gImluc3RhbGwtYmluUFJPR1JBTVM6IGluc3RhbGwt bm9iYXNlX2xpYkxUTElCUkFSSUVTXG5cbiI7CiAgICB9CgogIGhhbmRsZV9pbnN0YWxsOwog IGhhbmRsZV9jbGVhbiAoJG1ha2VmaWxlKTsKICBoYW5kbGVfZmFjdG9yZWRfZGVwZW5kZW5j aWVzOwoKICAjIENvbWVzIGxhc3QsIGJlY2F1c2UgYWxsIHRoZSBhYm92ZSBwcm9jZWR1cmVz IG1heSBoYXZlCiAgIyBkZWZpbmVkIG9yIG92ZXJyaWRkZW4gdmFyaWFibGVzLgogICRvdXRw dXRfdmFycyAuPSBvdXRwdXRfdmFyaWFibGVzOwoKICBjaGVja190eXBvczsKCiAgaWYgKCRl eGl0X2NvZGUgIT0gMCkKICAgIHsKICAgICAgdmVyYiAibm90IHdyaXRpbmcgJG1ha2VmaWxl X2luIGJlY2F1c2Ugb2YgZWFybGllciBlcnJvcnMiOwogICAgICByZXR1cm47CiAgICB9Cgog IG15ICRhbV9yZWxhdGl2ZV9kaXIgPSBkaXJuYW1lICgkbWFrZWZpbGVfYW0pOwogIG1rZGly ICgkYW1fcmVsYXRpdmVfZGlyLCAwNzU1KSBpZiAhIC1kICRhbV9yZWxhdGl2ZV9kaXI7Cgog ICMgV2UgbWFrZSBzdXJlIHRoYXQgJ2FsbDonIGlzIHRoZSBmaXJzdCB0YXJnZXQuCiAgbXkg JG91dHB1dCA9CiAgICAiJG91dHB1dF92YXJzJG91dHB1dF9hbGwkb3V0cHV0X2hlYWRlciRv dXRwdXRfcnVsZXMkb3V0cHV0X3RyYWlsZXIiOwoKICAjIERlY2lkZSB3aGV0aGVyIHdlIG11 c3QgdXBkYXRlIHRoZSBvdXRwdXQgZmlsZSBvciBub3QuCiAgIyBXZSBoYXZlIHRvIHVwZGF0 ZSBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnMuCiAgIyAgKiAkZm9yY2VfZ2VuZXJhdGlv biBpcyBzZXQuCiAgIyAgKiBhbnkgb2YgdGhlIG91dHB1dCBkZXBlbmRlbmNpZXMgaXMgeW91 bmdlciB0aGFuIHRoZSBvdXRwdXQKICAjICAqIHRoZSBjb250ZW50cyBvZiB0aGUgb3V0cHV0 IGlzIGRpZmZlcmVudCAodGhpcyBjYW4gaGFwcGVuCiAgIyAgICBpZiB0aGUgcHJvamVjdCBo YXMgYmVlbiBwb3B1bGF0ZWQgd2l0aCBhIGZpbGUgbGlzdGVkIGluCiAgIyAgICBAY29tbW9u X2ZpbGVzIHNpbmNlIHRoZSBsYXN0IHJ1bikuCiAgIyBPdXRwdXQncyBkZXBlbmRlbmNpZXMg YXJlIHNwbGl0IGluIHR3byBzZXRzOgogICMgICogZGVwZW5kZW5jaWVzIHdoaWNoIGFyZSBh bHNvIGNvbmZpZ3VyZSBkZXBlbmRlbmNpZXMKICAjICAgIFRoZXNlIGRvIG5vdCBjaGFuZ2Ug YmV0d2VlbiBlYWNoIE1ha2VmaWxlLmFtCiAgIyAgKiBvdGhlciBkZXBlbmRlbmNpZXMsIHNw ZWNpZmljIHRvIHRoZSBNYWtlZmlsZS5hbSBiZWluZyBwcm9jZXNzZWQKICAjICAgIChzdWNo IGFzIHRoZSBNYWtlZmlsZS5hbSBpdHNlbGYsIG9yIGFueSBNYWtlZmlsZSBmcmFnbWVudAog ICMgICAgaXQgaW5jbHVkZXMpLgogIG15ICR0aW1lc3RhbXAgPSBtdGltZSAkbWFrZWZpbGVf aW47CiAgaWYgKCEgJGZvcmNlX2dlbmVyYXRpb24KICAgICAgJiYgJGNvbmZpZ3VyZV9kZXBz X2dyZWF0ZXN0X3RpbWVzdGFtcCA8ICR0aW1lc3RhbXAKICAgICAgJiYgJG91dHB1dF9kZXBz X2dyZWF0ZXN0X3RpbWVzdGFtcCA8ICR0aW1lc3RhbXAKICAgICAgJiYgJG91dHB1dCBlcSBj b250ZW50cyAoJG1ha2VmaWxlX2luKSkKICAgIHsKICAgICAgdmVyYiAiJG1ha2VmaWxlX2lu IHVuY2hhbmdlZCI7CiAgICAgICMgTm8gbmVlZCB0byB1cGRhdGUuCiAgICAgIHJldHVybjsK ICAgIH0KCiAgaWYgKC1lICRtYWtlZmlsZV9pbikKICAgIHsKICAgICAgdW5saW5rICgkbWFr ZWZpbGVfaW4pCglvciBmYXRhbCAiY2Fubm90IHJlbW92ZSAkbWFrZWZpbGVfaW46ICQhIjsK ICAgIH0KCiAgbXkgJGdtX2ZpbGUgPSBuZXcgQXV0b21ha2U6OlhGaWxlICI+ICRtYWtlZmls ZV9pbiI7CiAgdmVyYiAiY3JlYXRpbmcgJG1ha2VmaWxlX2luIjsKICBwcmludCAkZ21fZmls ZSAkb3V0cHV0Owp9CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMgSGVscGVyIGZ1bmN0aW9uIGZvciB1c2Fn ZSgpLgpzdWIgcHJpbnRfYXV0b2Rpc3RfZmlsZXMKewogIG15IEBsY29tbSA9IHVuaXEgKHNv cnQgQF8pOwoKICBteSBAZm91cjsKICBmb3JtYXQgVVNBR0VfRk9STUFUID0KICBAPDw8PDw8 PDw8PDw8PDw8PCAgIEA8PDw8PDw8PDw8PDw8PDw8ICAgQDw8PDw8PDw8PDw8PDw8PDwgICBA PDw8PDw8PDw8PDw8PDw8PAogICRmb3VyWzBdLCAgICAgICAgICAgJGZvdXJbMV0sICAgICAg ICAgICAkZm91clsyXSwgICAgICAgICAgICRmb3VyWzNdCi4KICBsb2NhbCAkfiA9ICJVU0FH RV9GT1JNQVQiOwoKICBteSAkY29scyA9IDQ7CiAgbXkgJHJvd3MgPSBpbnQoQGxjb21tIC8g JGNvbHMpOwogIG15ICRyZXN0ID0gQGxjb21tICUgJGNvbHM7CgogIGlmICgkcmVzdCkKICAg IHsKICAgICAgJHJvd3MrKzsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICRyZXN0ID0gJGNv bHM7CiAgICB9CgogIGZvciAobXkgJHkgPSAwOyAkeSA8ICRyb3dzOyAkeSsrKQogICAgewog ICAgICBAZm91ciA9ICgiIiwgIiIsICIiLCAiIik7CiAgICAgIGZvciAobXkgJHggPSAwOyAk eCA8ICRjb2xzOyAkeCsrKQogICAgICAgIHsKICAgICAgICAgIGxhc3QgaWYgJHkgKyAxID09 ICRyb3dzICYmICR4ID09ICRyZXN0OwoKICAgICAgICAgIG15ICRpZHggPSAoKCR4ID4gJHJl c3QpCiAgICAgICAgICAgICAgID8gICgkcm93cyAqICRyZXN0ICsgKCRyb3dzIC0gMSkgKiAo JHggLSAkcmVzdCkpCiAgICAgICAgICAgICAgIDogKCRyb3dzICogJHgpKTsKCiAgICAgICAg ICAkaWR4ICs9ICR5OwogICAgICAgICAgJGZvdXJbJHhdID0gJGxjb21tWyRpZHhdOwogICAg ICAgIH0KICAgICAgd3JpdGU7CiAgICB9Cn0KCgpzdWIgdXNhZ2UgKCkKewogICAgcHJpbnQg IlVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbTWFrZWZpbGVdLi4uCgpHZW5lcmF0ZSBNYWtlZmls ZS5pbiBmb3IgY29uZmlndXJlIGZyb20gTWFrZWZpbGUuYW0uCgpPcGVyYXRpb24gbW9kZXM6 CiAgICAgIC0taGVscCAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0 CiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVu IGV4aXQKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZWx5IGxpc3QgZmlsZXMg cHJvY2Vzc2VkCiAgICAgIC0tbm8tZm9yY2UgICAgICAgICAgIG9ubHkgdXBkYXRlIE1ha2Vm aWxlLmluJ3MgdGhhdCBhcmUgb3V0IG9mIGRhdGUKICAtVywgLS13YXJuaW5ncz1DQVRFR09S WSAgcmVwb3J0IHRoZSB3YXJuaW5ncyBmYWxsaW5nIGluIENBVEVHT1JZCgpEZXBlbmRlbmN5 IHRyYWNraW5nOgogIC1pLCAtLWlnbm9yZS1kZXBzICAgICAgZGlzYWJsZSBkZXBlbmRlbmN5 IHRyYWNraW5nIGNvZGUKICAgICAgLS1pbmNsdWRlLWRlcHMgICAgIGVuYWJsZSBkZXBlbmRl bmN5IHRyYWNraW5nIGNvZGUKCkZsYXZvcnM6CiAgICAgIC0tZm9yZWlnbiAgICAgICAgICBz ZXQgc3RyaWN0bmVzcyB0byBmb3JlaWduCiAgICAgIC0tZ25pdHMgICAgICAgICAgICBzZXQg c3RyaWN0bmVzcyB0byBnbml0cwogICAgICAtLWdudSAgICAgICAgICAgICAgc2V0IHN0cmlj dG5lc3MgdG8gZ251CgpMaWJyYXJ5IGZpbGVzOgogIC1hLCAtLWFkZC1taXNzaW5nICAgICAg YWRkIG1pc3Npbmcgc3RhbmRhcmQgZmlsZXMgdG8gcGFja2FnZQogICAgICAtLWxpYmRpcj1E SVIgICAgICAgc2V0IGRpcmVjdG9yeSBzdG9yaW5nIGxpYnJhcnkgZmlsZXMKICAgICAgLS1w cmludC1saWJkaXIgICAgIHByaW50IGRpcmVjdG9yeSBzdG9yaW5nIGxpYnJhcnkgZmlsZXMK ICAtYywgLS1jb3B5ICAgICAgICAgICAgIHdpdGggLWEsIGNvcHkgbWlzc2luZyBmaWxlcyAo ZGVmYXVsdCBpcyBzeW1saW5rKQogIC1mLCAtLWZvcmNlLW1pc3NpbmcgICAgZm9yY2UgdXBk YXRlIG9mIHN0YW5kYXJkIGZpbGVzCgoiOwogICAgQXV0b21ha2U6OkNoYW5uZWxEZWZzOjp1 c2FnZTsKCiAgICBwcmludCAiXG5GaWxlcyBhdXRvbWF0aWNhbGx5IGRpc3RyaWJ1dGVkIGlm IGZvdW5kICIgLgogICAgICAgICAgIihhbHdheXMpOlxuIjsKICAgIHByaW50X2F1dG9kaXN0 X2ZpbGVzIEBjb21tb25fZmlsZXM7CiAgICBwcmludCAiXG5GaWxlcyBhdXRvbWF0aWNhbGx5 IGRpc3RyaWJ1dGVkIGlmIGZvdW5kICIgLgogICAgICAgICAgIih1bmRlciBjZXJ0YWluIGNv bmRpdGlvbnMpOlxuIjsKICAgIHByaW50X2F1dG9kaXN0X2ZpbGVzIEBjb21tb25fc29tZXRp bWVzOwoKICAgIHByaW50ICcKUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1hdXRvbWFrZUBnbnUub3Jn Pi4KR05VIEF1dG9tYWtlIGhvbWUgcGFnZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvYXV0b21ha2UvPi4KR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHBz Oi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+LgonOwoKICAgICMgLS1oZWxwIGFsd2F5cyByZXR1 cm5zIDAgcGVyIEdOVSBzdGFuZGFyZHMuCiAgICBleGl0IDA7Cn0KCgpzdWIgdmVyc2lvbiAo KQp7CiAgcHJpbnQgPDxFT0Y7CmF1dG9tYWtlIChHTlUgJFBBQ0tBR0UpICRWRVJTSU9OCkNv cHlyaWdodCAoQykgJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwczov L2dudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6 IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMg Tk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KCldyaXR0ZW4g YnkgVG9tIFRyb21leSA8dHJvbWV5XEByZWRoYXQuY29tPgogICAgICAgYW5kIEFsZXhhbmRy ZSBEdXJldC1MdXR6IDxhZGxcQGdudS5vcmc+LgpFT0YKICAjIC0tdmVyc2lvbiBhbHdheXMg cmV0dXJucyAwIHBlciBHTlUgc3RhbmRhcmRzLgogIGV4aXQgMDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK IyBQYXJzZSBjb21tYW5kIGxpbmUuCnN1YiBwYXJzZV9hcmd1bWVudHMgKCkKewogIG15ICRz dHJpY3QgPSAnZ251JzsKICBteSAkaWdub3JlX2RlcHMgPSAwOwogIG15IEB3YXJuaW5ncyA9 ICgpOwoKICBteSAlY2xpX29wdGlvbnMgPQogICAgKAogICAgICd2ZXJzaW9uJyA9PiBcJnZl cnNpb24sCiAgICAgJ2hlbHAnICAgID0+IFwmdXNhZ2UsCiAgICAgJ2xpYmRpcj1zJwk9PiBc JGxpYmRpciwKICAgICAncHJpbnQtbGliZGlyJyAgICAgPT4gc3ViIHsgcHJpbnQgIiRsaWJk aXJcbiI7IGV4aXQgMDsgfSwKICAgICAnZ251JwkJPT4gc3ViIHsgJHN0cmljdCA9ICdnbnUn OyB9LAogICAgICdnbml0cycJCT0+IHN1YiB7ICRzdHJpY3QgPSAnZ25pdHMnOyB9LAogICAg ICdmb3JlaWduJwkJPT4gc3ViIHsgJHN0cmljdCA9ICdmb3JlaWduJzsgfSwKICAgICAnaW5j bHVkZS1kZXBzJwk9PiBzdWIgeyAkaWdub3JlX2RlcHMgPSAwOyB9LAogICAgICdpfGlnbm9y ZS1kZXBzJwk9PiBzdWIgeyAkaWdub3JlX2RlcHMgPSAxOyB9LAogICAgICduby1mb3JjZScJ PT4gc3ViIHsgJGZvcmNlX2dlbmVyYXRpb24gPSAwOyB9LAogICAgICdmfGZvcmNlLW1pc3Np bmcnICA9PiBcJGZvcmNlX21pc3NpbmcsCiAgICAgJ2F8YWRkLW1pc3NpbmcnCT0+IFwkYWRk X21pc3NpbmcsCiAgICAgJ2N8Y29weScJCT0+IFwkY29weV9taXNzaW5nLAogICAgICd2fHZl cmJvc2UnCT0+IHN1YiB7IHNldHVwX2NoYW5uZWwgJ3ZlcmInLCBzaWxlbnQgPT4gMDsgfSwK ICAgICAnV3x3YXJuaW5ncz1zJyAgICAgPT4gXEB3YXJuaW5ncywKICAgICApOwoKICB1c2Ug QXV0b21ha2U6OkdldG9wdCAoKTsKICBBdXRvbWFrZTo6R2V0b3B0OjpwYXJzZV9vcHRpb25z ICVjbGlfb3B0aW9uczsKCiAgc2V0X3N0cmljdG5lc3MgKCRzdHJpY3QpOwogIG15ICRjbGlf d2hlcmUgPSBuZXcgQXV0b21ha2U6OkxvY2F0aW9uOwogIHNldF9nbG9iYWxfb3B0aW9uICgn bm8tZGVwZW5kZW5jaWVzJywgJGNsaV93aGVyZSkgaWYgJGlnbm9yZV9kZXBzOwogIGZvciBt eSAkd2FybmluZyAoQHdhcm5pbmdzKQogICAgewogICAgICBwYXJzZV93YXJuaW5ncyAoJy1X JywgJHdhcm5pbmcpOwogICAgfQoKICByZXR1cm4gdW5sZXNzIEBBUkdWOwoKICBteSAkZXJy c3BlYyA9IDA7CiAgZm9yZWFjaCBteSAkYXJnIChAQVJHVikKICAgIHsKICAgICAgZmF0YWwg KCJlbXB0eSBhcmd1bWVudFxuVHJ5ICckMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9u IikKCWlmICgkYXJnIGVxICcnKTsKCiAgICAgICMgSGFuZGxlICRsb2NhbDokaW5wdXQgc3lu dGF4LgogICAgICBteSAoJGxvY2FsLCBAcmVzdCkgPSBzcGxpdCAoLzovLCAkYXJnKTsKICAg ICAgQHJlc3QgPSAoIiRsb2NhbC5pbiIsKSB1bmxlc3MgQHJlc3Q7CiAgICAgIG15ICRpbnB1 dCA9IGxvY2F0ZV9hbSBAcmVzdDsKICAgICAgaWYgKCRpbnB1dCkKCXsKCSAgcHVzaCBAaW5w dXRfZmlsZXMsICRpbnB1dDsKCSAgJG91dHB1dF9maWxlc3skaW5wdXR9ID0gam9pbiAoJzon LCAoJGxvY2FsLCBAcmVzdCkpOwoJfQogICAgICBlbHNlCgl7CgkgIGVycm9yICJubyBBdXRv bWFrZSBpbnB1dCBmaWxlIGZvdW5kIGZvciAnJGFyZyciOwoJICAkZXJyc3BlYyA9IDE7Cgl9 CiAgICB9CiAgZmF0YWwgIm5vIGlucHV0IGZpbGUgZm91bmQgYW1vbmcgc3VwcGxpZWQgYXJn dW1lbnRzIgogICAgaWYgJGVycnNwZWMgJiYgISBAaW5wdXRfZmlsZXM7Cn0KCgojIGhhbmRs ZV9tYWtlZmlsZSAoJE1BS0VGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpz dWIgaGFuZGxlX21ha2VmaWxlCnsKICBteSAoJGZpbGUpID0gIEBfOwogICgkYW1fZmlsZSA9 ICRmaWxlKSA9fiBzL1wuaW4kLy87CiAgaWYgKCEgLWYgKCRhbV9maWxlIC4gJy5hbScpKQog ICAgewogICAgICBlcnJvciAiJyRhbV9maWxlLmFtJyBkb2VzIG5vdCBleGlzdCI7CiAgICB9 CiAgZWxzZQogICAgewogICAgICAjIEFueSB3YXJuaW5nIHNldHRpbmcgbm93IGxvY2FsIHRv IHRoaXMgTWFrZWZpbGUuYW0uCiAgICAgIGR1cF9jaGFubmVsX3NldHVwOwoKICAgICAgZ2Vu ZXJhdGVfbWFrZWZpbGUgKCRhbV9maWxlIC4gJy5hbScsICRmaWxlKTsKCiAgICAgICMgQmFj ayBvdXQgYW55IHdhcm5pbmcgc2V0dGluZy4KICAgICAgZHJvcF9jaGFubmVsX3NldHVwOwog ICAgfQp9CgojIERlYWwgd2l0aCBhbGwgbWFrZWZpbGVzLCB3aXRob3V0IHRocmVhZHMuCnN1 YiBoYW5kbGVfbWFrZWZpbGVzX3NlcmlhbCAoKQp7CiAgZm9yZWFjaCBteSAkZmlsZSAoQGlu cHV0X2ZpbGVzKQogICAgewogICAgICBoYW5kbGVfbWFrZWZpbGUgKCRmaWxlKTsKICAgIH0K fQoKIyBMb2dpYyBmb3IgZGVjaWRpbmcgaG93IG1hbnkgd29ya2VyIHRocmVhZHMgdG8gdXNl LgpzdWIgZ2V0X251bWJlcl9vZl90aHJlYWRzICgpCnsKICBteSAkbnRocmVhZHMgPSAkRU5W eydBVVRPTUFLRV9KT0JTJ30gfHwgMDsKCiAgJG50aHJlYWRzID0gMAogICAgdW5sZXNzICRu dGhyZWFkcyA9fiAvXlswLTldKyQvOwoKICAjIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byB1 c2UgbW9yZSB0aHJlYWRzIHRoYW4gbWFrZWZpbGVzLAogIG15ICRtYXhfdGhyZWFkcyA9IEBp bnB1dF9maWxlczsKCiAgaWYgKCRudGhyZWFkcyA+ICRtYXhfdGhyZWFkcykKICAgIHsKICAg ICAgJG50aHJlYWRzID0gJG1heF90aHJlYWRzOwogICAgfQogIHJldHVybiAkbnRocmVhZHM7 Cn0KCiMgaGFuZGxlX21ha2VmaWxlc190aHJlYWRlZCAoJE5USFJFQURTKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWFsIHdpdGggYWxsIG1ha2VmaWxl cywgdXNpbmcgdGhyZWFkcy4gIFRoZSBnZW5lcmFsIHN0cmF0ZWd5IGlzIHRvCiMgc3Bhd24g TlRIUkVBRFMgd29ya2VyIHRocmVhZHMsIGRpc3BhdGNoIG1ha2VmaWxlcyB0byB0aGVtLCBh bmQgbGV0IHRoZQojIHdvcmtlciB0aHJlYWRzIHB1c2ggYmFjayBldmVyeXRoaW5nIHRoYXQg bmVlZHMgc2VyaWFsaXphdGlvbjoKIyAqIHdhcm5pbmcgYW5kIChub3JtYWwpIGVycm9yIG1l c3NhZ2VzLCBmb3Igc3RhYmxlIHN0ZGVyciBvdXRwdXQKIyAgIG9yZGVyIGFuZCBjb250ZW50 IChhdm9pZGluZyBkdXBsaWNhdGVzLCBmb3IgZXhhbXBsZSksCiMgKiByYWNlcyB3aGVuIGlu c3RhbGxpbmcgYXV4IGZpbGVzIChhbmQgcmVzcGVjdGl2ZSBtZXNzYWdlcyksCiMgKiByYWNl cyB3aGVuIGNvbGxlY3RpbmcgYXV4IGZpbGVzIGZvciBkaXN0cmlidXRpb24uCiMKIyBUaGUg bGF0dGVyIHJlcXVpcmVzIHRoYXQgdGhlIG1ha2VmaWxlIHRoYXQgZGVhbHMgd2l0aCB0aGUg YXV4IGRpcgojIGZpbGVzIGJlIGhhbmRsZWQgbGFzdCwgZG9uZSBieSB0aGUgbWFzdGVyIHRo cmVhZC4Kc3ViIGhhbmRsZV9tYWtlZmlsZXNfdGhyZWFkZWQKewogIG15ICgkbnRocmVhZHMp ID0gQF87CgogICMgVGhlIGZpbGUgcXVldWUgZGlzdHJpYnV0ZXMgYWxsIG1ha2VmaWxlcywg dGhlIG1lc3NhZ2UgcXVldWVzCiAgIyBjb2xsZWN0IGFsbCBzZXJpYWxpemF0aW9ucyBuZWVk ZWQgZm9yIHJlc3BlY3RpdmUgZmlsZXMuCiAgbXkgJGZpbGVfcXVldWUgPSBUaHJlYWQ6OlF1 ZXVlLT5uZXc7CiAgbXkgJW1zZ19xdWV1ZXM7CiAgZm9yZWFjaCBteSAkZmlsZSAoQGlucHV0 X2ZpbGVzKQogICAgewogICAgICAkbXNnX3F1ZXVlc3skZmlsZX0gPSBUaHJlYWQ6OlF1ZXVl LT5uZXc7CiAgICB9CgogIHZlcmIgInNwYXduaW5nICRudGhyZWFkcyB3b3JrZXIgdGhyZWFk cyI7CiAgbXkgQHRocmVhZHMgPSAoMSAuLiAkbnRocmVhZHMpOwogIGZvcmVhY2ggbXkgJHQg KEB0aHJlYWRzKQogICAgewogICAgICAkdCA9IHRocmVhZHMtPm5ldyAoc3ViCgl7CgkgIHdo aWxlIChteSAkZmlsZSA9ICRmaWxlX3F1ZXVlLT5kZXF1ZXVlKQoJICAgIHsKCSAgICAgIHZl cmIgImhhbmRsaW5nICRmaWxlIjsKCSAgICAgIG15ICRxdWV1ZSA9ICRtc2dfcXVldWVzeyRm aWxlfTsKCSAgICAgIHNldHVwX2NoYW5uZWxfcXVldWUgKCRxdWV1ZSwgUVVFVUVfTUVTU0FH RSk7CgkgICAgICAkcmVxdWlyZWRfY29uZl9maWxlX3F1ZXVlID0gJHF1ZXVlOwoJICAgICAg aGFuZGxlX21ha2VmaWxlICgkZmlsZSk7CgkgICAgICAkcXVldWUtPmVucXVldWUgKHVuZGVm KTsKCSAgICAgIHNldHVwX2NoYW5uZWxfcXVldWUgKHVuZGVmLCB1bmRlZik7CgkgICAgICAk cmVxdWlyZWRfY29uZl9maWxlX3F1ZXVlID0gdW5kZWY7CgkgICAgfQoJICByZXR1cm4gJGV4 aXRfY29kZTsKCX0pOwogICAgfQoKICAjIFF1ZXVlIGFsbCBtYWtlZmlsZXMuCiAgdmVyYiAi cXVldWluZyAiIC4gQGlucHV0X2ZpbGVzIC4gIiBpbnB1dCBmaWxlcyI7CiAgJGZpbGVfcXVl dWUtPmVucXVldWUgKEBpbnB1dF9maWxlcywgKHVuZGVmKSB4IEB0aHJlYWRzKTsKCiAgIyBD b2xsZWN0IGFuZCBwcm9jZXNzIHNlcmlhbGl6YXRpb25zLgogIGZvcmVhY2ggbXkgJGZpbGUg KEBpbnB1dF9maWxlcykKICAgIHsKICAgICAgdmVyYiAiZGVxdWV1aW5nIG1lc3NhZ2VzIGZv ciAiIC4gJGZpbGU7CiAgICAgIHJlc2V0X2xvY2FsX2R1cGxpY2F0ZXMgKCk7CiAgICAgIG15 ICRxdWV1ZSA9ICRtc2dfcXVldWVzeyRmaWxlfTsKICAgICAgd2hpbGUgKG15ICRrZXkgPSAk cXVldWUtPmRlcXVldWUpCgl7CgkgIGlmICgka2V5IGVxIFFVRVVFX01FU1NBR0UpCgkgICAg ewoJICAgICAgcG9wX2NoYW5uZWxfcXVldWUgKCRxdWV1ZSk7CgkgICAgfQoJICBlbHNpZiAo JGtleSBlcSBRVUVVRV9DT05GX0ZJTEUpCgkgICAgewoJICAgICAgcmVxdWlyZV9xdWV1ZWRf ZmlsZV9jaGVja19vcl9jb3B5ICgkcXVldWUpOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAg ICAgIHByb2dfZXJyb3IgInVuZXhwZWN0ZWQga2V5ICRrZXkiOwoJICAgIH0KCX0KICAgIH0K CiAgZm9yZWFjaCBteSAkdCAoQHRocmVhZHMpCiAgICB7CiAgICAgIG15IEBleGl0X3RocmVh ZCA9ICR0LT5qb2luOwogICAgICAkZXhpdF9jb2RlID0gJGV4aXRfdGhyZWFkWzBdCglpZiAo JGV4aXRfdGhyZWFkWzBdID4gJGV4aXRfY29kZSk7CiAgICB9Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMg UGFyc2UgdGhlIFdBUk5JTkdTIGVudmlyb25tZW50IHZhcmlhYmxlLgpwYXJzZV9XQVJOSU5H UzsKCiMgUGFyc2UgY29tbWFuZCBsaW5lLgpwYXJzZV9hcmd1bWVudHM7CgokY29uZmlndXJl X2FjID0gcmVxdWlyZV9jb25maWd1cmVfYWM7CgojIERvIGNvbmZpZ3VyZS5hYyBzY2FuIG9u bHkgb25jZS4Kc2Nhbl9hdXRvY29uZl9maWxlczsKCmlmICghIEBpbnB1dF9maWxlcykKICB7 CiAgICBteSAkbXNnID0gJyc7CiAgICAkbXNnID0gIlxuRGlkIHlvdSBmb3JnZXQgQUNfQ09O RklHX0ZJTEVTKFtNYWtlZmlsZV0pIGluICRjb25maWd1cmVfYWM/IgogICAgICBpZiAtZiAn TWFrZWZpbGUuYW0nOwogICAgZmF0YWwgKCJubyAnTWFrZWZpbGUuYW0nIGZvdW5kIGZvciBh bnkgY29uZmlndXJlIG91dHB1dCRtc2ciKTsKICB9CgpteSAkbnRocmVhZHMgPSBnZXRfbnVt YmVyX29mX3RocmVhZHMgKCk7CgppZiAoJHBlcmxfdGhyZWFkcyAmJiAkbnRocmVhZHMgPj0g MSkKICB7CiAgICBoYW5kbGVfbWFrZWZpbGVzX3RocmVhZGVkICgkbnRocmVhZHMpOwogIH0K ZWxzZQogIHsKICAgIGhhbmRsZV9tYWtlZmlsZXNfc2VyaWFsICgpOwogIH0KCmV4aXQgJGV4 aXRfY29kZTsKKyB0ZXN0IDAgLWVxIDAKKyBfYW1fZXhpdCA3NworIHNldCArZQorIHRlc3Qg NzcgPSA3NworIGFtX190ZXN0X3NraXBwZWQ9eWVzCisgZXhpdCA3NworIGV4aXQgNzcKKyBh bV9leGl0X3RyYXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0 IDc3IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDAKKyBzZXQgK3gKU0tJUCB0L2dldC1zeXNjb25mLnNoIChleGl0IHN0YXR1czog NzcpCgpYRkFJTDogdC9wbS9Db25kMgo9PT09PT09PT09PT09PT09PQoKJ0F1dG9tYWtlOjpD b25kaXRpb249SEFTSCgweDU1ZWIyZDhhOGUzMCknIGlzIGEgcmVmZXJlbmNlLCBleHBlY3Rl ZCBhIHN0cmluZyBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2xp Yi9BdXRvbWFrZS9Db25kaXRpb24ucG0gbGluZSAxODguCglBdXRvbWFrZTo6Q29uZGl0aW9u OjpuZXcoIkF1dG9tYWtlOjpDb25kaXRpb24iLCBBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0go MHg1NWViMmQ4YThlMzApKSBjYWxsZWQgYXQgLi90L3BtL0NvbmQyLnBsIGxpbmUgMjIKWEZB SUwgdC9wbS9Db25kMi5wbCAoZXhpdCBzdGF0dXM6IDI1NSkKClhGQUlMOiB0L3BtL0NvbmQz Cj09PT09PT09PT09PT09PT09CgonQXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4NTViNTAw YjJlODMwKScgZG9lcyBub3QgbG9vayBsaWtlIGEgY29uZGl0aW9uIGF0IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL0NvbmRpdGlvbi5wbSBs aW5lIDE5MC4KCUF1dG9tYWtlOjpDb25kaXRpb246Om5ldygiQXV0b21ha2U6OkNvbmRpdGlv biIsICJBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0goMHg1NWI1MDBiMmU4MzApIikgY2FsbGVk IGF0IC4vdC9wbS9Db25kMy5wbCBsaW5lIDIyClhGQUlMIHQvcG0vQ29uZDMucGwgKGV4aXQg c3RhdHVzOiAyNTUpCgpYRkFJTDogdC9wbS9EaXNqQ29uMgo9PT09PT09PT09PT09PT09PT09 PQoKJ0F1dG9tYWtlOjpEaXNqQ29uZGl0aW9ucz1IQVNIKDB4NTYwMTFkOTQ1ODQ4KScgaXNu J3QgYW4gQXV0b21ha2U6OkNvbmRpdGlvbiBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9EaXNqQ29uZGl0aW9ucy5wbSBsaW5lIDE1MS4K CUF1dG9tYWtlOjpEaXNqQ29uZGl0aW9uczo6bmV3KCJBdXRvbWFrZTo6RGlzakNvbmRpdGlv bnMiLCBBdXRvbWFrZTo6RGlzakNvbmRpdGlvbnM9SEFTSCgweDU2MDExZDk0NTg0OCkpIGNh bGxlZCBhdCAuL3QvcG0vRGlzakNvbjIucGwgbGluZSAyNApYRkFJTCB0L3BtL0Rpc2pDb24y LnBsIChleGl0IHN0YXR1czogMjU1KQoKWEZBSUw6IHQvcG0vRGlzakNvbjMKPT09PT09PT09 PT09PT09PT09PT0KCidBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0goMHg1NTlkM2Q5Njk4MzAp JyBpc24ndCBhIHJlZmVyZW5jZSBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL2xpYi9BdXRvbWFrZS9EaXNqQ29uZGl0aW9ucy5wbSBsaW5lIDE1MC4KCUF1dG9t YWtlOjpEaXNqQ29uZGl0aW9uczo6bmV3KCJBdXRvbWFrZTo6RGlzakNvbmRpdGlvbnMiLCAi QXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4NTU5ZDNkOTY5ODMwKSIpIGNhbGxlZCBhdCAu L3QvcG0vRGlzakNvbjMucGwgbGluZSAyMwpYRkFJTCB0L3BtL0Rpc2pDb24zLnBsIChleGl0 IHN0YXR1czogMjU1KQoKWEZBSUw6IHQvcG0vVmVyc2lvbjIKPT09PT09PT09PT09PT09PT09 PT0KClZlcnNpb24yLnBsOiBlcnJvcjogdmVyc2lvbiBpcyBpbmNvcnJlY3Q6IApWZXJzaW9u Mi5wbDogUGxlYXNlIGNvbnRhY3QgPGJ1Zy1hdXRvbWFrZUBnbnUub3JnPi4KIGF0IC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL0NoYW5uZWxz LnBtIGxpbmUgNjYyLgoJQXV0b21ha2U6OkNoYW5uZWxzOjptc2coImF1dG9tYWtlIiwgIiIs ICJ2ZXJzaW9uIGlzIGluY29ycmVjdDogIikgY2FsbGVkIGF0IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL0NoYW5uZWxEZWZzLnBtIGxpbmUg MjEyCglBdXRvbWFrZTo6Q2hhbm5lbERlZnM6OnByb2dfZXJyb3IoInZlcnNpb24gaXMgaW5j b3JyZWN0OiAiKSBjYWxsZWQgYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi9saWIvQXV0b21ha2UvVmVyc2lvbi5wbSBsaW5lIDEyNgoJQXV0b21ha2U6OlZlcnNp b246OmNoZWNrKCIiLCAiMS4yLjMiKSBjYWxsZWQgYXQgLi90L3BtL1ZlcnNpb24yLnBsIGxp bmUgMjAKWEZBSUwgdC9wbS9WZXJzaW9uMi5wbCAoZXhpdCBzdGF0dXM6IDI1NSkKClhGQUlM OiB0L3BtL1ZlcnNpb24zCj09PT09PT09PT09PT09PT09PT09CgpWZXJzaW9uMy5wbDogZXJy b3I6IHJlcXVpcmVkIHZlcnNpb24gaXMgaW5jb3JyZWN0OiAKVmVyc2lvbjMucGw6IFBsZWFz ZSBjb250YWN0IDxidWctYXV0b21ha2VAZ251Lm9yZz4uCiBhdCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9DaGFubmVscy5wbSBsaW5lIDY2 Mi4KCUF1dG9tYWtlOjpDaGFubmVsczo6bXNnKCJhdXRvbWFrZSIsICIiLCAicmVxdWlyZWQg dmVyc2lvbiBpcyBpbmNvcnJlY3Q6ICIpIGNhbGxlZCBhdCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9DaGFubmVsRGVmcy5wbSBsaW5lIDIx MgoJQXV0b21ha2U6OkNoYW5uZWxEZWZzOjpwcm9nX2Vycm9yKCJyZXF1aXJlZCB2ZXJzaW9u IGlzIGluY29ycmVjdDogIikgY2FsbGVkIGF0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL1ZlcnNpb24ucG0gbGluZSAxMzEKCUF1dG9tYWtl OjpWZXJzaW9uOjpjaGVjaygiMS4yLjMiLCAiIikgY2FsbGVkIGF0IC4vdC9wbS9WZXJzaW9u My5wbCBsaW5lIDIwClhGQUlMIHQvcG0vVmVyc2lvbjMucGwgKGV4aXQgc3RhdHVzOiAyNTUp CgpQQVNTOiB0L2luc3RzcGMKPT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFs bGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2Jp bjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUv aHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VH R0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpcgorIGFsbF90ZXN0X25hbWVzX2xpc3Q9CisgYnVpbGRkaXJfeGZhaWxz PQorIGRlc3RkaXJfeGZhaWxzPQorIGJzPQgKKyBjcj0NCisgZmY9DAorIGh0PQkKKyBsZj0K CisgZGVmPWRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcKKyBkZWZpbmVfcHJvYmxlbWF0aWNf c3RyaW5nIHNxdW90ZSAnIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgdHN0PXNxdW90 ZQorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19zcXVvdGU9JDEKKyBpbnN0c3BjX19zcXVvdGU9 JworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlCisgaXNfaW5fbGlzdCBm YWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWJ1 aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3RlCisg aXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBp dGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0g c3F1b3RlCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBkcXVvdGUgIiBmYWlsLWJ1aWxk ZGlyIGZhaWwtZGVzdGRpcgorIHRzdD1kcXVvdGUKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f ZHF1b3RlPSQxCisgaW5zdHNwY19fZHF1b3RlPSIKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1i dWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJl dHVybiAwCisgYnVpbGRkaXJfeGZhaWxzPSBzcXVvdGUgZHF1b3RlCisgaXNfaW5fbGlzdCBm YWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVz dGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90 ZQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYnF1b3RlIGAgZmFpbC1idWlsZGRpciBm YWlsLWRlc3RkaXIKKyB0c3Q9YnF1b3RlCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2JxdW90 ZT0kMQorIGluc3RzcGNfX2JxdW90ZT1gCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0 PSBzcXVvdGUgZHF1b3RlIGJxdW90ZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWls LWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg cmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1 b3RlIGRxdW90ZSBicXVvdGUKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHNoYXJwICMg ZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9c2hhcnAKKyBzaGlmdAorIGV2YWwg aW5zdHNwY19fc2hhcnA9JDEKKyBpbnN0c3BjX19zaGFycD0jCisgc2hpZnQKKyBhbGxfdGVz dF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycAorIGlzX2luX2xpc3Qg ZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1i dWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWls ZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJu IDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAKKyBkZWZp bmVfcHJvYmxlbWF0aWNfc3RyaW5nIGRvbGxhciAkIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0 ZGlyCisgdHN0PWRvbGxhcgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19kb2xsYXI9JDEKKyBp bnN0c3BjX19kb2xsYXI9JAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGly IGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hp ZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBm YWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBk ZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyCisgZGVm aW5lX3Byb2JsZW1hdGljX3N0cmluZyBiYW5nICEKKyB0c3Q9YmFuZworIHNoaWZ0CisgZXZh bCBpbnN0c3BjX19iYW5nPSQxCisgaW5zdHNwY19fYmFuZz0hCisgc2hpZnQKKyBhbGxfdGVz dF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZwor IGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0 ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYnNs YXNoIFwgZmFpbC1idWlsZGRpcgorIHRzdD1ic2xhc2gKKyBzaGlmdAorIGV2YWwgaW5zdHNw Y19fYnNsYXNoPSQxCisgaW5zdHNwY19fYnNsYXNoPVwKKyBzaGlmdAorIGFsbF90ZXN0X25h bWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWls LWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaAorIGlzX2luX2xpc3QgZmFpbC1k ZXN0ZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFtcGVyc2FuZCAmIGZhaWwtYnVp bGRkaXIKKyB0c3Q9YW1wZXJzYW5kCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2FtcGVyc2Fu ZD0kMQorIGluc3RzcGNfX2FtcGVyc2FuZD0mCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19s aXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1w ZXJzYW5kCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVt PWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAwCisgYnVpbGRkaXJfeGZhaWxzPSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZAorIGlz X2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtZGVzdGRp cgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHBlcmNl bnQgJQorIHRzdD1wZXJjZW50Cisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3BlcmNlbnQ9JDEK KyBpbnN0c3BjX19wZXJjZW50PSUKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQg cGVyY2VudAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRp cgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19z dHJpbmcgbGVmdHBhciAoCisgdHN0PWxlZnRwYXIKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f bGVmdHBhcj0kMQorIGluc3RzcGNfX2xlZnRwYXI9KAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFt ZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNo IGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIK KyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBm YWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBk ZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHJpZ2h0cGFyICkKKyB0c3Q9cmlnaHRwYXIKKyBz aGlmdAorIGV2YWwgaW5zdHNwY19fcmlnaHRwYXI9JDEKKyBpbnN0c3BjX19yaWdodHBhcj0p Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz aGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdo dHBhcgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgor IHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJp bmcgcGlwZSB8CisgdHN0PXBpcGUKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcGlwZT0kMQor IGluc3RzcGNfX3BpcGU9fAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgor IGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZh aWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRl ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgY2FyZXQgXgorIHRzdD1jYXJldAorIHNoaWZ0Cisg ZXZhbCBpbnN0c3BjX19jYXJldD0kMQorIGluc3RzcGNfX2NhcmV0PV4KKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBz aGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n IHRpbGRlIH4KKyB0c3Q9dGlsZGUKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fdGlsZGU9JDEK KyBpbnN0c3BjX190aWxkZT1+Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlCisgaXNfaW5fbGlzdCBm YWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQor IGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAor IHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBxbWFyayA/CisgdHN0PXFt YXJrCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3FtYXJrPSQxCisgaW5zdHNwY19fcW1hcms9 PworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmln aHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyaworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRp cgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0 IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQor IGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc3RhciAqCisgdHN0PXN0YXIKKyBzaGlmdAor IGV2YWwgaW5zdHNwY19fc3Rhcj0kMQorIGluc3RzcGNfX3N0YXI9KgorIHNoaWZ0CisgYWxs X3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJh bmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJl dCB0aWxkZSBxbWFyayBzdGFyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1m YWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0 ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBwbHVzICsKKyB0c3Q9cGx1cworIHNoaWZ0CisgZXZhbCBpbnN0 c3BjX19wbHVzPSQxCisgaW5zdHNwY19fcGx1cz0rCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1l c19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2gg YW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFt YXJrIHN0YXIgcGx1cworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1i dWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgor IGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVt YXRpY19zdHJpbmcgbWludXMgLQorIHRzdD1taW51cworIHNoaWZ0CisgZXZhbCBpbnN0c3Bj X19taW51cz0kMQorIGluc3RzcGNfX21pbnVzPS0KKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h cmsgc3RhciBwbHVzIG1pbnVzCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1m YWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0 ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBjb21tYSAsCisgdHN0PWNvbW1hCisgc2hpZnQKKyBldmFsIGlu c3RzcGNfX2NvbW1hPSQxCisgaW5zdHNwY19fY29tbWE9LAorIHNoaWZ0CisgYWxsX3Rlc3Rf bmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNs YXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk ZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlz dCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGNvbG9uIDoKKyB0c3Q9Y29sb24KKyBzaGlm dAorIGV2YWwgaW5zdHNwY19fY29sb249JDEKKyBpbnN0c3BjX19jb2xvbj06Cisgc2hpZnQK KyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBl IGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbgorIGlzX2lu X2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisg c2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc2VtaWNvbCA7 CisgdHN0PXNlbWljb2wKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fc2VtaWNvbD0kMQorIGlu c3RzcGNfX3NlbWljb2w9OworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMg bWludXMgY29tbWEgY29sb24gc2VtaWNvbAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgor IGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZh aWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRl ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZXF1YWwgPQorIHRzdD1lcXVhbAorIHNoaWZ0Cisg ZXZhbCBpbnN0c3BjX19lcXVhbD0kMQorIGluc3RzcGNfX2VxdWFsPT0KKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1 YWwKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBz aGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n IGxlc3MgPAorIHRzdD1sZXNzCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2xlc3M9JDEKKyBp bnN0c3BjX19sZXNzPTwKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2Vu dCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1p bnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcworIGlzX2luX2xpc3QgZmFpbC1i dWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1 cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbW9yZSA+CisgdHN0PW1vcmUKKyBz aGlmdAorIGV2YWwgaW5zdHNwY19fbW9yZT0kMQorIGluc3RzcGNfX21vcmU9PgorIHNoaWZ0 CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlw ZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNv bCBlcXVhbCBsZXNzIG1vcmUKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZh aWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3Rk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJv YmxlbWF0aWNfc3RyaW5nIGF0IEAKKyB0c3Q9YXQKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f YXQ9JDEKKyBpbnN0c3BjX19hdD1ACisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5k IHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIg cGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdAorIGlz X2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbHFicmFj ayBbCisgdHN0PWxxYnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fbHFicmFjaz0kMQor IGluc3RzcGNfX2xxYnJhY2s9WworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBw ZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBs dXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFj aworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1k ZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcg cnFicmFjayBdCisgdHN0PXJxYnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcnFicmFj az0kMQorIGluc3RzcGNfX3JxYnJhY2s9XQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlz dD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVy c2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBz dGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQg bHFicmFjayBycWJyYWNrCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWls LWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly CisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2Js ZW1hdGljX3N0cmluZyBsY2JyYWNrIHsKKyB0c3Q9bGNicmFjaworIHNoaWZ0CisgZXZhbCBp bnN0c3BjX19sY2JyYWNrPSQxCisgaW5zdHNwY19fbGNicmFjaz17Cisgc2hpZnQKKyBhbGxf dGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFu ZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0 IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFs IGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjaworIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBp c19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBy ZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcmNicmFjayB9CisgdHN0PXJj YnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcmNicmFjaz0kMQorIGluc3RzcGNfX3Jj YnJhY2s9fQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29t bWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxj YnJhY2sgcmNicmFjaworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1i dWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgor IGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVt YXRpY19zdHJpbmcgc3BhY2UgIAorIHRzdD1zcGFjZQorIHNoaWZ0CisgZXZhbCBpbnN0c3Bj X19zcGFjZT0kMQorIGluc3RzcGNfX3NwYWNlPSAKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h cmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3Jl IGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UKKyBpc19pbl9saXN0 IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAx CisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHRhYiAJCisgdHN0PXRh YgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX190YWI9JDEKKyBpbnN0c3BjX190YWI9CQorIHNo aWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIg cGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2Vt aWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFj ayBzcGFjZSB0YWIKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVp bGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBp dGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIGxpbmVmZWVkIAogZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9 bGluZWZlZWQKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fbGluZWZlZWQ9JDEKKyBpbnN0c3Bj X19saW5lZmVlZD0KCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQg bGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51 cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJh Y2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZAorIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWls ZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkCisgZGVmaW5lX3Byb2Js ZW1hdGljX3N0cmluZyBiYWNrc3BhY2UgCAorIHRzdD1iYWNrc3BhY2UKKyBzaGlmdAorIGV2 YWwgaW5zdHNwY19fYmFja3NwYWNlPSQxCisgaW5zdHNwY19fYmFja3NwYWNlPQgKKyBzaGlm dAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBp cGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWlj b2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sg c3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRp cgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0 IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQor IGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZm9ybWZlZWQgDAorIHRzdD1mb3JtZmVlZAor IHNoaWZ0CisgZXZhbCBpbnN0c3BjX19mb3JtZmVlZD0kMQorIGluc3RzcGNfX2Zvcm1mZWVk PQwKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJp Z2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNv bG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNr IHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZAorIGlzX2lu X2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisg c2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgY2FycmlhZ2Vy ZXQgDQorIHRzdD1jYXJyaWFnZXJldAorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19jYXJyaWFn ZXJldD0kMQorIGluc3RzcGNfX2NhcnJpYWdlcmV0PQ0KKyBzaGlmdAorIGFsbF90ZXN0X25h bWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUg cW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBt b3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVm ZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldAorIGlzX2luX2xpc3QgZmFpbC1i dWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1 cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcXVhZHJpZ3JhcGgwIEAmdEAgZmFp bC1idWlsZGRpcgorIHRzdD1xdWFkcmlncmFwaDAKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f cXVhZHJpZ3JhcGgwPSQxCisgaW5zdHNwY19fcXVhZHJpZ3JhcGgwPUAmdEAKKyBzaGlmdAor IGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUg Y2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wg ZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3Bh Y2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmln cmFwaDAKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpcgorIGl0ZW09 ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVm ZWVkIHF1YWRyaWdyYXBoMAorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJv YmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoMSBAPDpACisgdHN0PXF1YWRyaWdyYXBoMQor IHNoaWZ0CisgZXZhbCBpbnN0c3BjX19xdWFkcmlncmFwaDE9JDEKKyBpbnN0c3BjX19xdWFk cmlncmFwaDE9QDw6QAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50 IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWlu dXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJy YWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1m ZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEKKyBpc19pbl9saXN0 IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAx CisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoMiBA Oj5ACisgdHN0PXF1YWRyaWdyYXBoMgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19xdWFkcmln cmFwaDI9JDEKKyBpbnN0c3BjX19xdWFkcmlncmFwaDI9QDo+QAorIHNoaWZ0CisgYWxsX3Rl c3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcg YnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0 aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBs ZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIg bGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBx dWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisg aXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFp bC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVm aW5lX3Byb2JsZW1hdGljX3N0cmluZyBxdWFkcmlncmFwaDMgQFN8QAorIHRzdD1xdWFkcmln cmFwaDMKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcXVhZHJpZ3JhcGgzPSQxCisgaW5zdHNw Y19fcXVhZHJpZ3JhcGgzPUBTfEAKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQg cGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBw bHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJh Y2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFj ZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRy aWdyYXBoMiBxdWFkcmlncmFwaDMKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVt PWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRl c3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVf cHJvYmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoNCBAJTpACisgdHN0PXF1YWRyaWdyYXBo NAorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19xdWFkcmlncmFwaDQ9JDEKKyBpbnN0c3BjX19x dWFkcmlncmFwaDQ9QCU6QAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMg bWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBy cWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZv cm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3Jh cGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlz dCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFfYiBhIGIKKyB0c3Q9YV9iCisgc2hpZnQK KyBldmFsIGluc3RzcGNfX2FfYj0kMQorIGluc3RzcGNfX2FfYj1hIGIKKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1 YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2Ug dGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFw aDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0 IGFfYgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgor IHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJp bmcgYV9fYiBhICBiCisgdHN0PWFfX2IKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fYV9fYj0k MQorIGluc3RzcGNfX2FfX2I9YSAgYgorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0g c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2Fu ZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFy IHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFi cmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3Nw YWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVh ZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2IKKyBpc19pbl9s aXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVy biAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFfbGZfYiBhCmIg ZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9YV9sZl9iCisgc2hpZnQKKyBldmFs IGluc3RzcGNfX2FfbGZfYj0kMQorIGluc3RzcGNfX2FfbGZfYj1hCmIKKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1 YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2Ug dGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFw aDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0 IGFfYiBhX19iIGFfbGZfYgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxk ZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJu IDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGRlc3RkaXJfeGZhaWxzPSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgZGVmaW5l X3Byb2JsZW1hdGljX3N0cmluZyBkb3Rkb3Rkb3QgLi4uCisgdHN0PWRvdGRvdGRvdAorIHNo aWZ0CisgZXZhbCBpbnN0c3BjX19kb3Rkb3Rkb3Q9JDEKKyBpbnN0c3BjX19kb3Rkb3Rkb3Q9 Li4uCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciBy aWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBj b2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFj ayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2Fycmlh Z2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3Jh cGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90CisgaXNfaW5fbGlz dCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4g MQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlm dAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBkb3Nkcml2ZSBhOgor IHRzdD1kb3Nkcml2ZQorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19kb3Nkcml2ZT0kMQorIGlu c3RzcGNfX2Rvc2RyaXZlPWE6Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1 cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNr IHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2Ug Zm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmln cmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90 ZG90IGRvc2RyaXZlCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1 aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisg aXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1h dGljX3N0cmluZyBtaXNjZ2xvYjEgP1thLXpdKgorIHRzdD1taXNjZ2xvYjEKKyBzaGlmdAor IGV2YWwgaW5zdHNwY19fbWlzY2dsb2IxPSQxCisgaW5zdHNwY19fbWlzY2dsb2IxPT9bYS16 XSoKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJp Z2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNv bG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNr IHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFn ZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFw aDMgcXVhZHJpZ3JhcGg0IGFfYiBhX19iIGFfbGZfYiBkb3Rkb3Rkb3QgZG9zZHJpdmUgbWlz Y2dsb2IxCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1m YWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0 cmluZyBtaXNjZ2xvYjIgLio/WzAtOV0KKyB0c3Q9bWlzY2dsb2IyCisgc2hpZnQKKyBldmFs IGluc3RzcGNfX21pc2NnbG9iMj0kMQorIGluc3RzcGNfX21pc2NnbG9iMj0uKj9bMC05XQor IHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRw YXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24g c2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNi cmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0 IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBx dWFkcmlncmFwaDQgYV9iIGFfX2IgYV9sZl9iIGRvdGRvdGRvdCBkb3Nkcml2ZSBtaXNjZ2xv YjEgbWlzY2dsb2IyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1 aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisg aXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgdW5zZXQgZGVmCisgdGVz dCAwIC1ndCAwCisgdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBh ciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBz ZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2Jy YWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQg cXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1 YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90IGRvc2RyaXZlIG1pc2NnbG9i MSBtaXNjZ2xvYjIKKyBwbGFuXyA5NAorIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgor IHRlc3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHg5NCA9IHh1bmtub3duCisgdGVzdCB4OTQg PSB4bGF0ZXIKKyB0ZXN0IHg5NCA9IHhsYXp5CisgdGVzdCB4OTQgPSB4bm93CisgdGVzdCA5 NCAtZ2UgMAorIHBsYW5uZWRfPTk0CisgZWNobyAxLi45NAoxLi45NAorIHB3ZAorIG9jd2Q9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisg Y3JlYXRlX2lucHV0X2RhdGEKKyBta2RpciBzdWIKKyB1bmluZGVudAorIHRlc3QgeCA9IHgK KyBwcmludGYgJXNcbiAKICAvXiQvYiAgICAgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHRv IGRvIGZvciBlbXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAgICAgIyBHZXQg eDxpbmRlbnQ+IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAgICAgICAg ICAgIyBObyBwcmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAgICAg ICAgICAgICAgICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRl cm4gc3BhY2UuCiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50 PiBpbiBwYXR0ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzog eDxpbmRlbnQ+IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAg ICAgICAgICAgICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3Bh Y2UsIGFuZAogIGggICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRv IGhvbGQgc3BhY2UuCiAgcy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGlu ZGVudD4gaW4gcGF0dGVybiBzcGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAg ICMgZXhjaGFuZ2Ugd2l0aCB0aGUgYWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAg cy9eeFwoLipcKVxuXDEvLyAgICAgICAgICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJv bSA8bGluZT4uCiAgcy9eeC4qXG4vLyAgICAgICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4g d2hlbiB0aGVyZSBpcyBubyBsZWFkaW5nIDxpbmRlbnQ+LgoKKyBzZWQgLWUgcy8gICojIC4q Ly8KKyBzZWRfdW5pbmRlbnRfcHJvZz0KICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAg cy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154 XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewog ICAgZwogICAgcy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwog IHgKICBzL154XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIDoKKyA6CisgOgorIDoKKyA6 CisgOgorIHVuaW5kZW50CisgdGVzdCB4CiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAg IHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9e eFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4Cisgc2VkIAogIC9eJC9iCiAgeAogIC9e JC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEvCiAgfQogIEcKICBoCiAgcy9cbi4q JC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154Lipcbi8vCisgdW5pbmRlbnQKKyB0 ZXN0IHgKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChbCSBdKlwpLioveFwx LwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwpXG5cMS8vCiAgcy9e eC4qXG4vLyA9IHgKKyBzZWQgCiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwo WwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipc KVxuXDEvLwogIHMvXnguKlxuLy8KKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25m CisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQpjb25maWd1cmUu YWM6NTogaW5zdGFsbGluZyAnLi9hci1saWInCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX3NxdW90ZX0KKyB0ZXN0X3N0cmluZz0nCisgdGVzdCB4JyA9IHgKKyBta2RpciAuLycK KyBidWlsZD0uLycKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZQorIGNkIC4vJworIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLyctcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29s dXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPXNx dW90ZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc3F1b3RlCisgaXNf aW5fbGlzdCBzcXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09c3F1b3Rl Cisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3Rh bmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFu ZGluZyBsaW1pdGF0aW9uIC0tIHNxdW90ZSBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sg MSAtIHNxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u ClhGQUlMOiB0L2luc3RzcGMudGFwIDEgLSBzcXVvdGUgaW4gYnVpbGRkaXIgIyBUT0RPIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBvaworIDog Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtc3F1b3RlCisg ZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcXVvdGUvJworIG1rZGlyIGJ1aWxkLXNxdW90ZQorIGNkIGJ1aWxkLXNxdW90 ZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyctcHJlZml4CmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2Mg dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImlu c3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIg Y3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJyBmaWxlPS4vJyBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1zcXVvdGXCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8n LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3Rl LycvJy1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4 L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8n LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUv Jy8nLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUv Jy8nLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90 ZS8nLyctcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYnVpbGQtc3F1b3RlwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLy4vJy1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKbWFrZTogKioqIFtNYWtlZmlsZToxMTQ1OiB0ZXN0LWlu c3RdIEVycm9yIDEKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPXNxdW90ZSBpbiBkZXN0ZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHNxdW90ZQorIGlzX2luX2xpc3Qgc3F1b3RlIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXNxdW90ZQorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1s b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBzcXVvdGUgaW4gZGVzdGRpcgorIHNldCAreApu b3Qgb2sgMiAtIHNxdW90ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0 YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgMiAtIHNxdW90ZSBpbiBkZXN0ZGlyICMgVE9E TyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9 JHtpbnN0c3BjX19kcXVvdGV9CisgdGVzdF9zdHJpbmc9IgorIHRlc3QgeCIgPSB4CisgbWtk aXIgLi8iCisgYnVpbGQ9Li8iCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kcXVvdGUKKyBjZCAuLyIKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4IC8iLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29t cGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6IHVuc2Fm ZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlw dGlvbj1kcXVvdGUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGRxdW90 ZQorIGlzX2luX2xpc3QgZHF1b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVt PWRxdW90ZQorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1s b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBkcXVvdGUgaW4gYnVpbGRkaXIKKyBzZXQgK3gK bm90IG9rIDMgLSBkcXVvdGUgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCAzIC0gZHF1b3RlIGluIGJ1aWxkZGlyICMg VE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0g b2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWRx dW90ZQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZHF1b3RlLyIKKyBta2RpciBidWlsZC1kcXVvdGUKKyBjZCBidWls ZC1kcXVvdGUKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8iLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZHF1b3RlLyIgZmlsZT0u LyIgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYnVpbGQtZHF1b3RlwqDCuwovYmluL2Jhc2g6IC1jOiBsaWduZSAyMzogZmluIGRl IGZpY2hpZXIgKEVPRikgcHLDqW1hdHVyw6llIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGR1IMKr ICIgwrsgY29ycmVzcG9uZGFudAovYmluL2Jhc2g6IC1jOiBsaWduZSAyNjogZXJyZXVyIGRl IHN5bnRheGUgOiBmaW4gZGUgZmljaGllciBwcsOpbWF0dXLDqWUKbWFrZVsxXTogKioqIFtN YWtlZmlsZTo1NjM6IGluc3RhbGwtZGlzdF9mb29leGVjU0NSSVBUU10gRXJyb3IgMQptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWRxdW90ZcKgwrsKbWFr ZTogKioqIFtNYWtlZmlsZToxMDAyOiBpbnN0YWxsLWFtXSBFcnJvciAyCisgcj1ub3Qgb2sK KyBkZXNjcmlwdGlvbj1kcXVvdGUgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBkcXVvdGUKKyBpc19pbl9saXN0IGRxdW90ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1kcXVvdGUKKyBzaGlmdAorIHJldHVy biAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24g LS0gZHF1b3RlIGluIGRlc3RkaXIKKyBzZXQgK3gKbm90IG9rIDQgLSBkcXVvdGUgaW4gZGVz dGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMu dGFwIDQgLSBkcXVvdGUgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYnF1b3RlfQorIHRl c3Rfc3RyaW5nPWAKKyB0ZXN0IHhgID0geAorIG1rZGlyIC4vYAorIGJ1aWxkPS4vYAorIGRl c3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYnF1b3RlCisgY2QgLi9gCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv YC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJl Y3RvcnkgbmFtZQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249YnF1b3RlIGluIGJ1aWxkZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBicXVvdGUKKyBpc19pbl9saXN0IGJxdW90ZSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5l ZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1icXVvdGUKKyBzaGlmdAorIHJldHVy biAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24g LS0gYnF1b3RlIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm5vdCBvayA1IC0gYnF1b3RlIGluIGJ1 aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNw Yy50YXAgNSAtIGJxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1icXVvdGUKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJxdW90ZS9g CisgbWtkaXIgYnVpbGQtYnF1b3RlCisgY2QgYnVpbGQtYnF1b3RlCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvYC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBh bmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0 aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1n IC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNl LmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJxdW90ZS9gIGZpbGU9Li9gIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWJxdW90ZcKgwrsK L2Jpbi9iYXNoOiAtYzogbGlnbmUgMjM6IGZpbiBkZSBmaWNoaWVyIChFT0YpIHByw6ltYXR1 csOpZSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkdSDCqyBgIMK7IGNvcnJlc3BvbmRhbnQKL2Jp bi9iYXNoOiAtYzogbGlnbmUgMjY6IGVycmV1ciBkZSBzeW50YXhlIDogZmluIGRlIGZpY2hp ZXIgcHLDqW1hdHVyw6llCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NTYzOiBpbnN0YWxsLWRp c3RfZm9vZXhlY1NDUklQVFNdIEVycm9yIDEKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1icXVvdGXCoMK7Cm1ha2U6ICoqKiBbTWFrZWZpbGU6MTAwMjog aW5zdGFsbC1hbV0gRXJyb3IgMgorIHI9bm90IG9rCisgZGVzY3JpcHRpb249YnF1b3RlIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYnF1b3RlCisgaXNfaW5fbGlzdCBi cXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZf YgorIGl0ZW09YnF1b3RlCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisg cmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRP RE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGJxdW90ZSBpbiBkZXN0ZGlyCisg c2V0ICt4Cm5vdCBvayA2IC0gYnF1b3RlIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRp bmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA2IC0gYnF1b3RlIGluIGRlc3Rk aXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qg b2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0 X3N0cmluZz0ke2luc3RzcGNfX3NoYXJwfQorIHRlc3Rfc3RyaW5nPSMKKyB0ZXN0IHgjID0g eAorIG1rZGlyIC4vIworIGJ1aWxkPS4vIworIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAKKyBjZCAuLyMKKyBy PW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8jLXByZWZpeApjaGVja2luZyBmb3IgYSBC U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6 IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBk ZXNjcmlwdGlvbj1zaGFycCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQg c2hhcnAKKyBpc19pbl9saXN0IHNoYXJwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBp dGVtPXNoYXJwCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29u PWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIg bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIHNoYXJwIGluIGJ1aWxkZGlyCisgc2V0ICt4 Cm5vdCBvayA3IC0gc2hhcnAgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA3IC0gc2hhcnAgaW4gYnVpbGRkaXIgIyBU T0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBv aworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtc2hh cnAKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNoYXJwLyMKKyBta2RpciBidWlsZC1zaGFycAorIGNkIGJ1aWxkLXNo YXJwCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvIy1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMgZmlsZT0uLyMgbWFr ZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv YnVpbGQtc2hhcnDCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8v Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMv L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z aGFycC8jLy9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2hhcnAvIy8vZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNoYXJwLyMvL2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFy cC8jLy9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNo YXJwLyMvL2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zaGFycC8jLy9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2Zvby9zdWInCm1ha2Vb MV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc2hhcnDCoMK7CnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc2hhcnAvIy8uLyMtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCm1ha2U6ICoq KiBbTWFrZWZpbGU6MTE0NTogdGVzdC1pbnN0XSBFcnJvciAxCisgcj1ub3Qgb2sKKyBkZXNj cmlwdGlvbj1zaGFycCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHNoYXJw CisgaXNfaW5fbGlzdCBzaGFycCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg bGluZWZlZWQgYV9sZl9iCisgaXRlbT1zaGFycAorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJl Y3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRf IG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBzaGFycCBp biBkZXN0ZGlyCisgc2V0ICt4Cm5vdCBvayA4IC0gc2hhcnAgaW4gZGVzdGRpciAjIFRPRE8g bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDggLSBzaGFy cCBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19kb2xsYXJ9CisgdGVzdF9zdHJpbmc9JAor IHRlc3QgeCQgPSB4CisgbWtkaXIgLi8kCisgYnVpbGQ9Li8kCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIK KyBjZCAuLyQKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8kLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZp Z3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisg cj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1kb2xsYXIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90 b19mYWlsIGJ1aWxkIGRvbGxhcgorIGlzX2luX2xpc3QgZG9sbGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdy YXBoMCBhX2xmX2IKKyBpdGVtPWRvbGxhcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3Rp dmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5v dCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBkb2xsYXIgaW4g YnVpbGRkaXIKKyBzZXQgK3gKbm90IG9rIDkgLSBkb2xsYXIgaW4gYnVpbGRkaXIgIyBUT0RP IGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA5IC0gZG9s bGFyIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1l LgorIGJ1aWxkPWJ1aWxkLWRvbGxhcgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQKKyBta2RpciBidWls ZC1kb2xsYXIKKyBjZCBidWlsZC1kb2xsYXIKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJl Zml4IC8kLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRp cmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1Q IC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3Vi L2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9s aWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9sbGFyLyQgZmlsZT0uLyQgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG9sbGFywqDCuwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b2xsYXIvJC9wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv bGxhci8kL3ByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG9sbGFyLyQvcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1Yi8nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWIvJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViJwptYWtlWzFd wqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWRvbGxhcsKgwrsKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb2xsYXIvJC8uLyQtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCm1ha2U6ICoq KiBbTWFrZWZpbGU6MTE0NTogdGVzdC1pbnN0XSBFcnJvciAxCisgcj1ub3Qgb2sKKyBkZXNj cmlwdGlvbj1kb2xsYXIgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBkb2xs YXIKKyBpc19pbl9saXN0IGRvbGxhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1kb2xsYXIKKyBzaGlmdAorIHJldHVybiAwCisg ZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVz dWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gZG9s bGFyIGluIGRlc3RkaXIKKyBzZXQgK3gKbm90IG9rIDEwIC0gZG9sbGFyIGluIGRlc3RkaXIg IyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCAx MCAtIGRvbGxhciBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg c2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19iYW5nfQorIHRlc3Rfc3Ry aW5nPSEKKyB0ZXN0IHghID0geAorIG1rZGlyIC4vIQorIGJ1aWxkPS4vIQorIGRlc3Q9L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZworIGNkIC4vIQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyEtcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv bXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg d2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHll cyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRl cmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nIGZpbGU9 Li8hIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLyHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28v c3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n LyEtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvIcKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv Li8hLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEt cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9m b28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8u LyEtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRp b249YmFuZyBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgYmFuZworIGlz X2luX2xpc3QgYmFuZyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNo IGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1iYW5nCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIGJhbmcgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMTEgLSBiYW5nIGluIGJ1 aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMTEgLSBiYW5nIGluIGJ1aWxkZGlyCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJu IDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8hIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyB0ZXN0IDIgLWd0IDAK KyBjaG1vZCAtUiB1K3J3eCAuLyEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZworIHJtIC1yZiAuLyEgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZworIF9h bV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLyEKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQt YmFuZworIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisgbWtkaXIgYnVpbGQtYmFuZworIGNkIGJ1aWxkLWJh bmcKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8hLXByZWZpeApjaGVja2luZyBm b3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hl Y2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2lu ZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5n IGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMu Li4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1 dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4g bm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9u IHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHls ZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBm b3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFy CmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3Jl YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxs CmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJp bnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAg ICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1j IC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMv c291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1n IC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFy IGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAt ZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hIGZpbGU9Li8hIG1ha2Ug dGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLWJhbmfCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4 L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS8hLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YW5nLyEvIS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS8hLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LyEtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtYmFuZ8KgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9ub2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLyEvLi8hLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h Ly4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4v IS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vc3Vi L25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZy8hLy4vIS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv IS8uLyEtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249YmFuZyBpbiBkZXN0 ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGJhbmcKKyBpc19pbl9saXN0IGJhbmcgc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09 YmFuZworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgIC1yICAtLSBiYW5nIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMTIgLSBiYW5n IGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAxMiAtIGJhbmcgaW4gZGVzdGRpcgor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJl dHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWJhbmcgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisg dGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggYnVpbGQtYmFuZyAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEKKyBy bSAtcmYgYnVpbGQtYmFuZyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtYmFuZworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3Bj X19ic2xhc2h9CisgdGVzdF9zdHJpbmc9XAorIHRlc3QgeFwgPSB4CisgbWtkaXIgLi9cCisg YnVpbGQ9Li9cCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gKKyBjZCAuL1wKKyByPW9rCisgLi4vY29uZmln dXJlIC0tcHJlZml4IC9cLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0 ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1ic2xh c2ggaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJzbGFzaAorIGlzX2lu X2xpc3QgYnNsYXNoIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWJzbGFzaAor IHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5k aW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRp bmcgbGltaXRhdGlvbiAtLSBic2xhc2ggaW4gYnVpbGRkaXIKKyBzZXQgK3gKbm90IG9rIDEz IC0gYnNsYXNoIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K WEZBSUw6IHQvaW5zdHNwYy50YXAgMTMgLSBic2xhc2ggaW4gYnVpbGRkaXIgIyBUT0RPIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBvaworIDog Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtYnNsYXNoCisg ZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ic2xhc2gvXAorIG1rZGlyIGJ1aWxkLWJzbGFzaAorIGNkIGJ1aWxkLWJzbGFz aAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL1wtcHJlZml4CmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2Mg dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImlu c3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIg Y3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXCBmaWxlPS4vXCBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1ic2xhc2jCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9c LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo L1wvXC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4 L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9c LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gv XC9cLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gv XC9cLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFz aC9cL1wtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYnVpbGQtYnNsYXNowqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vbm9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJz bGFzaC9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo L1wvLi9cLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1w cmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28v c3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1ic2xhc2ggaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBic2xhc2gKKyBpc19pbl9saXN0IGJzbGFzaCBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1ic2xhc2gKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gYnNsYXNoIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMTQgLSBic2xhc2ggaW4gZGVz dGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDE0IC0gYnNsYXNoIGluIGRlc3RkaXIKKyBjZCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1ic2xhc2ggL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wKKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1ic2xhc2ggL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wK KyBybSAtcmYgYnVpbGQtYnNsYXNoIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLWJzbGFzaAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmlu Zz0ke2luc3RzcGNfX2FtcGVyc2FuZH0KKyB0ZXN0X3N0cmluZz0mCisgdGVzdCB4JiA9IHgK KyBta2RpciAuLyYKKyBidWlsZD0uLyYKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZAorIGNkIC4vJgor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyYtcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJv cjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvawor IGRlc2NyaXB0aW9uPWFtcGVyc2FuZCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwg YnVpbGQgYW1wZXJzYW5kCisgaXNfaW5fbGlzdCBhbXBlcnNhbmQgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09YW1wZXJzYW5kCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVj dGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8g bm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGFtcGVyc2Fu ZCBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sgMTUgLSBhbXBlcnNhbmQgaW4gYnVpbGRk aXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRh cCAxNSAtIGFtcGVyc2FuZCBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1hbXBlcnNhbmQKKyBkZXN0PS9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVy c2FuZC8mCisgbWtkaXIgYnVpbGQtYW1wZXJzYW5kCisgY2QgYnVpbGQtYW1wZXJzYW5kCisg cj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvJi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp bGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1 dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNo ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBh Y2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRl cnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNo ZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFy Li4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVj a2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25m aWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2Mg LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNw Y1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAt RFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1n IC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBz b3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJj ZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIg ICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUg c3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3Vi L2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBz dWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mIGZpbGU9Li8mIG1ha2Ug dGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLWFtcGVyc2FuZMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVy c2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5h ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8m LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFt cGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8m LyYtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl LnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVy c2FuZC8mLyYtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWIvJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu ZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu ZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBl cnNhbmQvJi8mLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1hbXBlcnNhbmTCoMK7 CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1w ZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQv Ji8uLyYtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJz YW5kLyYvLi8mLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJz YW5kLyYvLi8mLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFtcGVyc2Fu ZCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGFtcGVyc2FuZAorIGlzX2lu X2xpc3QgYW1wZXJzYW5kIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPWFtcGVyc2FuZAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBhbXBlcnNhbmQgaW4g ZGVzdGRpcgorIHNldCAreApvayAxNiAtIGFtcGVyc2FuZCBpbiBkZXN0ZGlyClBBU1M6IHQv aW5zdHNwYy50YXAgMTYgLSBhbXBlcnNhbmQgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfIGJ1aWxkLWFtcGVyc2FuZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJgorIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWFtcGVyc2FuZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQv JgorIHJtIC1yZiBidWlsZC1hbXBlcnNhbmQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtYW1wZXJzYW5kCisgdGVzdCAtZSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNh bmQvJgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcGVyY2VudH0KKyB0ZXN0X3N0cmluZz0lCisg dGVzdCB4JSA9IHgKKyBta2RpciAuLyUKKyBidWlsZD0uLyUKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQK KyBjZCAuLyUKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8lLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudCBmaWxlPS4v JSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8lwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj ZW50LyUtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyXCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu dC8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8u LyUtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvLi8lLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXBlcmNlbnQgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIHBlcmNlbnQKKyBpc19pbl9saXN0IHBlcmNlbnQgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09cGVyY2VudAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBwZXJjZW50IGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDE3IC0gcGVyY2VudCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDE3IC0gcGVyY2VudCBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9r Cisgcm1fcmZfIC4vJSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50CisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggLi8lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBlcmNlbnQKKyBybSAtcmYgLi8lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgLi8lCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50CisgcmV0dXJuIDAK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXBlcmNl bnQKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBlcmNlbnQvJQorIG1rZGlyIGJ1aWxkLXBlcmNlbnQKKyBjZCBidWls ZC1wZXJjZW50Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvJS1wcmVmaXgKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0 aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBN YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh c2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJSBmaWxl PS4vJSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1wZXJjZW50wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8l LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUv JS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS8lLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv JS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS8lLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv JS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu dC8lLyUtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8lLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28v c3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXBlcmNl bnTCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8l Ly4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4v JS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vc3Vi L2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPXBlcmNlbnQgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBwZXJjZW50CisgaXNfaW5fbGlzdCBwZXJjZW50IHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXBlcmNlbnQKKyBz aGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICAtciAgLS0gcGVyY2VudCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDE4IC0gcGVyY2VudCBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMTggLSBwZXJjZW50IGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1wZXJjZW50IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXBlcmNlbnQgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8lCisgcm0gLXJmIGJ1aWxkLXBlcmNlbnQgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXBlcmNlbnQKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fbGVmdHBhcn0KKyB0ZXN0X3N0cmluZz0oCisg dGVzdCB4KCA9IHgKKyBta2RpciAuLygKKyBidWlsZD0uLygKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIK KyBjZCAuLygKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8oLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhciBmaWxlPS4v KCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8owqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0 cGFyLygtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVm dHBhci8oLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyjCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh ci8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8u LygtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvLi8oLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPWxlZnRwYXIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIGxlZnRwYXIKKyBpc19pbl9saXN0IGxlZnRwYXIgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09bGVmdHBhcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBsZWZ0cGFyIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDE5IC0gbGVmdHBhciBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDE5IC0gbGVmdHBhciBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9r Cisgcm1fcmZfIC4vKCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggLi8oIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlZnRwYXIKKyBybSAtcmYgLi8oIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgLi8oCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgcmV0dXJuIDAK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxlZnRw YXIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlZnRwYXIvKAorIG1rZGlyIGJ1aWxkLWxlZnRwYXIKKyBjZCBidWls ZC1sZWZ0cGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKC1wcmVmaXgKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0 aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBN YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh c2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKCBmaWxl PS4vKCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1sZWZ0cGFywqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8o LygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygv KC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC8oLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv KC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv KC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh ci8oLygtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28v c3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxlZnRw YXLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVm dHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8o Ly4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4v KC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vc3Vi L2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPWxlZnRwYXIgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBsZWZ0cGFyCisgaXNfaW5fbGlzdCBsZWZ0cGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxlZnRwYXIKKyBz aGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICAtciAgLS0gbGVmdHBhciBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDIwIC0gbGVmdHBhciBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjAgLSBsZWZ0cGFyIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sZWZ0cGFyIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxlZnRwYXIgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oCisgcm0gLXJmIGJ1aWxkLWxlZnRwYXIgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWxlZnRwYXIKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcmlnaHRwYXJ9CisgdGVzdF9zdHJpbmc9KQor IHRlc3QgeCkgPSB4CisgbWtkaXIgLi8pCisgYnVpbGQ9Li8pCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh cgorIGNkIC4vKQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyktcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisg bWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJj ZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAg CmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhciBmaWxl PS4vKSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci8pwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LyktcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9m b28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zv by9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIv bGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv KS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv KS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLynCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL25vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJp Z2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvLi8pLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy Ly4vKS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXBy ZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4 L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl LmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbGlibm9iYXNlLmEn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXJpZ2h0cGFyIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWls ZCByaWdodHBhcgorIGlzX2luX2xpc3QgcmlnaHRwYXIgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cmlnaHRwYXIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcmlnaHRwYXIgaW4gYnVpbGRkaXIK KyBzZXQgK3gKb2sgMjEgLSByaWdodHBhciBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDIxIC0gcmlnaHRwYXIgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyAuLykgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3 eCAuLykgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmlnaHRwYXIKKyBybSAtcmYgLi8pIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCisgX2FtX3JtcmZf c3RhdHVzPTAKKyB0ZXN0IC1lIC4vKQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtcmln aHRwYXIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykKKyBta2RpciBidWlsZC1yaWdodHBhcgorIGNk IGJ1aWxkLXJpZ2h0cGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKS1wcmVm aXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4g eWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0 aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi L2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LykgZmlsZT0uLykgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvYnVpbGQtcmlnaHRwYXLCoMK7CiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLyktcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8pLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWIvJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p LyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLykt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLykt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24g cXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcmlnaHRwYXLCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0 cGFyLykvLi8pLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pLy4vKS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykv Li8pLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p Ly4vKS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4v KS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2xpYm5v YmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXJpZ2h0cGFyIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19m YWlsIGRlc3QgcmlnaHRwYXIKKyBpc19pbl9saXN0IHJpZ2h0cGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXJpZ2h0cGFyCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIHJpZ2h0cGFyIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMjIgLSByaWdodHBh ciBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjIgLSByaWdodHBhciBpbiBkZXN0 ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtcmlnaHRwYXIgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXJpZ2h0 cGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLykKKyBybSAtcmYgYnVpbGQtcmlnaHRwYXIgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv KQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1yaWdodHBhcgorIHRlc3Qg LWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcmlnaHRwYXIvKQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVk IHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcGlwZX0KKyB0ZXN0X3N0 cmluZz18CisgdGVzdCB4fCA9IHgKKyBta2RpciAuL3wKKyBidWlsZD0uL3wKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUKKyBjZCAuL3wKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC98LXByZWZp eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGly IC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3Rl ZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5 ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2Nj MwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50 ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9z b3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJj ZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl Lm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIv bGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp YmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZSBmaWxl PS4vfCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci98wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9v L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlw ZS98LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL3zCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl Ly4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98 LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgv Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv Li98LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPXBpcGUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHBpcGUKKyBp c19pbl9saXN0IHBpcGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09cGlwZQor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBwaXBlIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDIzIC0gcGlwZSBpbiBi dWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDIzIC0gcGlwZSBpbiBidWlsZGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vfCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCisgdGVzdCAyIC1ndCAw CisgY2htb2QgLVIgdStyd3ggLi98IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUKKyBybSAtcmYgLi98IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi98CisgdGVzdCAtZSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCisgcmV0 dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxk LXBpcGUKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBpcGUvfAorIG1rZGlyIGJ1aWxkLXBpcGUKKyBjZCBidWlsZC1w aXBlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfC1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfCBmaWxlPS4vfCBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1waXBlwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZp eC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wvfC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGlwZS98L3wtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98 LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wvfC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC98LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2J1aWxkLXBpcGXCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8u L3wtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1waXBlL3wvLi98LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl L3wvLi98LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXBpcGUgaW4gZGVz dGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwaXBlCisgaXNfaW5fbGlzdCBwaXBlIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXBpcGUKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gcGlwZSBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDI0IC0gcGlw ZSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjQgLSBwaXBlIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1waXBlIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfAor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXBpcGUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Cisg cm0gLXJmIGJ1aWxkLXBpcGUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIGJ1aWxkLXBpcGUKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfAorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNw Y19fY2FyZXR9CisgdGVzdF9zdHJpbmc9XgorIHRlc3QgeF4gPSB4CisgbWtkaXIgLi9eCisg YnVpbGQ9Li9eCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldAorIGNkIC4vXgorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggL14tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJldCBmaWxlPS4vXiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9ewqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvbycg JiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWIvJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC9eLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNl ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC9eLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0 L14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQvXi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL17C oMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8u L14tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14t cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgv Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC8uL14tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9zdWIv bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbGlibm9i YXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWNhcmV0IGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWls ZCBjYXJldAorIGlzX2luX2xpc3QgY2FyZXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgor IGl0ZW09Y2FyZXQKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0K KyByZXN1bHRfIG9rIC1EICAtciAgLS0gY2FyZXQgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sg MjUgLSBjYXJldCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDI1IC0gY2FyZXQg aW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL14gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuL14gL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQKKyBybSAt cmYgLi9eIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vXgorIHRl c3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FyZXQKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBz ZXQgLWUuCisgYnVpbGQ9YnVpbGQtY2FyZXQKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14KKyBta2RpciBi dWlsZC1jYXJldAorIGNkIGJ1aWxkLWNhcmV0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXBy ZWZpeCAvXi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14gZmlsZT0uL14gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtY2FyZXTCoMK7CiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi9eLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e L14tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eL14tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNl ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14v Xi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28v c3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi9eLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi9eLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nICYm IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9e LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9z dWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJl dC9eL14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQvXi9eLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi9eLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e L14tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtY2FyZXTCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcmV0L14vLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC9eLy4vXi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e Ly4vXi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPWNhcmV0IGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgY2FyZXQKKyBp c19pbl9saXN0IGNhcmV0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPWNhcmV0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNhcmV0IGluIGRlc3RkaXIK KyBzZXQgK3gKb2sgMjYgLSBjYXJldCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAg MjYgLSBjYXJldCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g YnVpbGQtY2FyZXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4 IGJ1aWxkLWNhcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcmV0L14KKyBybSAtcmYgYnVpbGQtY2FyZXQgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv XgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1jYXJldAorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY2FyZXQvXgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fdGlsZGV9CisgdGVzdF9zdHJpbmc9 fgorIHRlc3QgeH4gPSB4CisgbWtkaXIgLi9+CisgYnVpbGQ9Li9+CisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxk ZQorIGNkIC4vfgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL34tcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisg bWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJj ZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAg CmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZSBmaWxlPS4v fiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9+wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVm aXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl L34tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nICYmIHJh bmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1Yi8nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL37CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUv Li9+LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1w cmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNl LmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvLi9+LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4v fi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9ub2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvLi9+LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGls ZGUvLi9+LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXRpbGRlIGluIGJ1 aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCB0aWxkZQorIGlzX2luX2xpc3QgdGls ZGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09dGlsZGUKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g dGlsZGUgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMjcgLSB0aWxkZSBpbiBidWlsZGRpcgpQ QVNTOiB0L2luc3RzcGMudGFwIDI3IC0gdGlsZGUgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1f a2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRl c3Qgb2sgPSBvaworIHJtX3JmXyAuL34gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyB0ZXN0IDIgLWd0IDAKKyBjaG1v ZCAtUiB1K3J3eCAuL34gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyBybSAtcmYgLi9+IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vfgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtdGls ZGUKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlL34KKyBta2RpciBidWlsZC10aWxkZQorIGNkIGJ1aWxkLXRp bGRlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfi1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34gZmlsZT0uL34gbWFr ZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv YnVpbGQtdGlsZGXCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+ LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycgJiYgcmFubGli IGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwg LWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vfi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10aWxkZS9+L34tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvby9zdWInCm1ha2Vb MV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtdGlsZGXCoMK7CnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4v fi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+ LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28v c3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL25v YmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vLi9+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4v fi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4v fi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXRpbGRlIGluIGRlc3RkaXIKKyBl eHBlY3RlZF90b19mYWlsIGRlc3QgdGlsZGUKKyBpc19pbl9saXN0IHRpbGRlIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXRpbGRl Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBv ayAtRCAgLXIgIC0tIHRpbGRlIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMjggLSB0aWxkZSBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjggLSB0aWxkZSBpbiBkZXN0ZGlyCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtdGlsZGUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfgor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXRpbGRlIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34K KyBybSAtcmYgYnVpbGQtdGlsZGUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfgorIF9hbV9ybXJmX3N0YXR1cz0wCisg dGVzdCAtZSBidWlsZC10aWxkZQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfgorIHJldHVybiAwCisg OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7 aW5zdHNwY19fcW1hcmt9CisgdGVzdF9zdHJpbmc9PworIHRlc3QgeD8gPSB4CisgbWtkaXIg Li8/CisgYnVpbGQ9Li8/CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyaworIGNkIC4vPworIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggLz8tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAt ZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2Uu YQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz ZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xbWFyayBmaWxlPS4vPyBtYWtlIHRlc3QtaW5zdAptYWtlWzFd wqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8/wqDCuwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/ LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsv Py1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWIv JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWInCiAoIGNk ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8/LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv bm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8/LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLz/CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL25vYmFz ZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8uLz8tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1w cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbm9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsv Li8/LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zv by9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28v bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXFtYXJrIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFp bCBidWlsZCBxbWFyaworIGlzX2luX2xpc3QgcW1hcmsgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cW1hcmsKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJl YXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcW1hcmsgaW4gYnVpbGRkaXIKKyBzZXQg K3gKb2sgMjkgLSBxbWFyayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDI5IC0g cW1hcmsgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLz8g L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLz8gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsK KyBybSAtcmYgLi8/IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXFtYXJrCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4v PworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcW1hcmsKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1 c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtcW1hcmsKKyBkZXN0PS9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8KKyBt a2RpciBidWlsZC1xbWFyaworIGNkIGJ1aWxkLXFtYXJrCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvPy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAg IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy dSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBE RVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLz8gZmlsZT0uLz8gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcW1hcmvCoMK7CiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Lz8tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFt YXJrLz8vPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZp eC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8v Py1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy8/LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9m b28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy8/LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4 L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsv Py8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy8/LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/ LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Lz8tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvYnVpbGQtcW1hcmvCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8u Lz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXFtYXJrIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcW1h cmsKKyBpc19pbl9saXN0IHFtYXJrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXFtYXJrCisgc2hpZnQKKyByZXR1cm4gMQorIGRp cmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHFtYXJrIGluIGRl c3RkaXIKKyBzZXQgK3gKb2sgMzAgLSBxbWFyayBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNw Yy50YXAgMzAgLSBxbWFyayBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBy bV9yZl8gYnVpbGQtcW1hcmsgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1S IHUrcnd4IGJ1aWxkLXFtYXJrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8KKyBybSAtcmYgYnVpbGQtcW1hcmsgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1xbWFyaworIHRl c3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcW1hcmsvPworIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVk IHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fc3Rhcn0KKyB0ZXN0X3N0 cmluZz0qCisgdGVzdCB4KiA9IHgKKyBta2RpciAuLyoKKyBidWlsZD0uLyoKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIKKyBjZCAuLyoKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8qLXByZWZp eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGly IC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3Rl ZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5 ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2Nj MwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50 ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9z b3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJj ZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl Lm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIv bGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp YmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3RhciBmaWxl PS4vKiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci8qwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9v L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rh ci8qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLyrCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy Ly4vKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8q LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgv Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Li8qLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPXN0YXIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHN0YXIKKyBp c19pbl9saXN0IHN0YXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09c3Rhcgor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBzdGFyIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDMxIC0gc3RhciBpbiBi dWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDMxIC0gc3RhciBpbiBidWlsZGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vKiAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgdGVzdCAyIC1ndCAw CisgY2htb2QgLVIgdStyd3ggLi8qIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIKKyBybSAtcmYgLi8qIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8qCisgdGVzdCAtZSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgcmV0 dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxk LXN0YXIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXN0YXIvKgorIG1rZGlyIGJ1aWxkLXN0YXIKKyBjZCBidWlsZC1z dGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKi1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKiBmaWxlPS4vKiBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1zdGFywqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZp eC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyovKi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3Rhci8qLyotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8q LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyovKi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki8qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2J1aWxkLXN0YXLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8u LyotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIvKi8uLyotcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy LyovLi8qLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXN0YXIgaW4gZGVz dGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBzdGFyCisgaXNfaW5fbGlzdCBzdGFyIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXN0YXIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gc3RhciBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDMyIC0gc3Rh ciBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzIgLSBzdGFyIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1zdGFyIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKgor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXN0YXIgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qCisg cm0gLXJmIGJ1aWxkLXN0YXIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIGJ1aWxkLXN0YXIKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKgorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNw Y19fcGx1c30KKyB0ZXN0X3N0cmluZz0rCisgdGVzdCB4KyA9IHgKKyBta2RpciAuLysKKyBi dWlsZD0uLysKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMKKyBjZCAuLysKKyByPW9rCisgLi4vY29uZmlndXJl IC0tcHJlZml4IC8rLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERF U1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cyBmaWxlPS4vKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8rwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKy1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv Ky1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3Vi LycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wbHVzLystcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1YicKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1 aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyLyvCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8r LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVm aXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBsdXMvLi8rLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPXBsdXMgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIHBsdXMKKyBpc19pbl9saXN0IHBsdXMgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cGx1cworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBwbHVzIGluIGJ1aWxkZGlyCisgc2V0ICt4 Cm9rIDMzIC0gcGx1cyBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDMzIC0gcGx1 cyBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vKyAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w bHVzCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8rIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMKKyBybSAt cmYgLi8rIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8rCisgdGVz dCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0 IC1lLgorIGJ1aWxkPWJ1aWxkLXBsdXMKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKworIG1rZGlyIGJ1aWxk LXBsdXMKKyBjZCBidWlsZC1wbHVzCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv Ky1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3Rp dmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj Li4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYg LmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl IHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g LWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKyBmaWxlPS4vKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMg bGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9idWlsZC1wbHVzwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLystcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXBy ZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLyst cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwg LWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv Ky8rLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysv Ky1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1 aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXBsdXPCoMK7CnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysv Li8rLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r Ly4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9saWJub2Jhc2UuYScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPXBsdXMgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwbHVzCisg aXNfaW5fbGlzdCBwbHVzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPXBsdXMKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcGx1cyBpbiBkZXN0ZGlyCisg c2V0ICt4Cm9rIDM0IC0gcGx1cyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzQg LSBwbHVzIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWls ZC1wbHVzIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxk LXBsdXMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rCisgcm0gLXJmIGJ1aWxkLXBsdXMgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXBsdXMKKyB0ZXN0IC1lIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKwor IHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRl c3Rfc3RyaW5nPSR7aW5zdHNwY19fbWludXN9CisgdGVzdF9zdHJpbmc9LQorIHRlc3QgeC0g PSB4CisgbWtkaXIgLi8tCisgYnVpbGQ9Li8tCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cworIGNkIC4vLQor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLy0tcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cyBmaWxlPS4vLSBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8twqDCuwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKICggY2QgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taW51cy8tLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zv by9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyLy3CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL25v YmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4v LS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8u Ly0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8t LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZp eC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPW1pbnVzIGluIGJ1aWxkZGlyCisgZXhw ZWN0ZWRfdG9fZmFpbCBidWlsZCBtaW51cworIGlzX2luX2xpc3QgbWludXMgc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVh ZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bWludXMKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbWludXMgaW4gYnVp bGRkaXIKKyBzZXQgK3gKb2sgMzUgLSBtaW51cyBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDM1IC0gbWludXMgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyAuLy0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAu Ly0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMKKyBybSAtcmYgLi8tIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIC4vLQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMKKyByZXR1cm4gMAorIDogRm9yIHNo ZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtbWludXMKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0KKyBta2RpciBidWlsZC1taW51cworIGNkIGJ1aWxkLW1pbnVzCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRo ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5k cyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBm b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAt TVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2Uu byAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Qbwpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBz dWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xp YmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v YmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli bm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0gZmlsZT0uLy0gbWFrZSB0ZXN0LWluc3QK bWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWludXPC oMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9p bnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlu dXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8t LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS8tLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51 cy8tLy0tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0vLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0t cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVp dHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWludXPCoMK7CnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlu dXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS8uLy0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1w cmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28v bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vc3ViL25vYmFzZS5z aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0vLi8tLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8t LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9v L3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPW1pbnVzIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19m YWlsIGRlc3QgbWludXMKKyBpc19pbl9saXN0IG1pbnVzIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPW1pbnVzCisgc2hpZnQKKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0t IG1pbnVzIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMzYgLSBtaW51cyBpbiBkZXN0ZGlyClBB U1M6IHQvaW5zdHNwYy50YXAgMzYgLSBtaW51cyBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtbWludXMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQorIHRlc3QgMiAtZ3Qg MAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLW1pbnVzIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0KKyBybSAtcmYgYnVp bGQtbWludXMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWls ZC1taW51cworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxz IHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY29t bWF9CisgdGVzdF9zdHJpbmc9LAorIHRlc3QgeCwgPSB4CisgbWtkaXIgLi8sCisgYnVpbGQ9 Li8sCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jb21tYQorIGNkIC4vLAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggLywtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwu Li4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBn Y2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNo ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg QyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBu ZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0 aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUg ZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJj aGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5s aWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRl cGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdS RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1E VkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYg LWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBz dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2Uu byAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3Vi L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJ Uj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb21tYSBmaWxlPS4vLCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJl IGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8swqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1w cmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1w cmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9m b28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyzCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4 L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu c2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8u LywtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbGlibm9iYXNlLmEn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPWNvbW1hIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBjb21t YQorIGlzX2luX2xpc3QgY29tbWEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 Y29tbWEKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gY29tbWEgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMzcgLSBj b21tYSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDM3IC0gY29tbWEgaW4gYnVp bGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLywgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEKKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLywgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEKKyBybSAtcmYgLi8s IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbW1hCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vLAorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29tbWEKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgYnVpbGQ9YnVpbGQtY29tbWEKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKKyBta2RpciBidWlsZC1j b21tYQorIGNkIGJ1aWxkLWNvbW1hCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv LC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3Rp dmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj Li4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYg LmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl IHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g LWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywgZmlsZT0uLywgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtY29tbWHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC8sLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJl Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLywtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViLycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nICYmIHJhbmxp YiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2Zvby9zdWIvJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8s LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJl Zml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVp bGQtY29tbWHCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9ub2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1h LywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s Ly4vLC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zv by9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbm9i YXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWNv bW1hIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgY29tbWEKKyBpc19pbl9s aXN0IGNvbW1hIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBh X2xmX2IKKyBpdGVtPWNvbW1hCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNvbW1hIGluIGRlc3RkaXIKKyBzZXQg K3gKb2sgMzggLSBjb21tYSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzggLSBj b21tYSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQt Y29tbWEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxk LWNvbW1hIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbW1hLywKKyBybSAtcmYgYnVpbGQtY29tbWEgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLAorIF9h bV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1jb21tYQorIHRlc3QgLWUgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29t bWEvLAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY29sb259CisgdGVzdF9zdHJpbmc9OgorIHRl c3QgeDogPSB4CisgbWtkaXIgLi86CisgY2QgLi86CisgYnVpbGQ9Li86CisgZGVzdD0vaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b2xvbgorIGNkIC4vOgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLzotcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv bXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg d2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHll cyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRl cmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbiBmaWxl PS4vOiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci86wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zv bycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1w cmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v Oi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bG9uLzotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nICYm IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1Yi8n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28vc3ViJwptYWtlWzFd wqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLzrCoMK7CnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29s b24vLi86LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4v Oi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29sb24vLi86LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u Ly4vOi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZp eC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9u b2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29sb24vLi86LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWNvbG9uIGlu IGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBjb2xvbgorIGlzX2luX2xpc3Qg Y29sb24gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09Y29sb24KKyBzaGlmdAor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAg LS0gY29sb24gaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMzkgLSBjb2xvbiBpbiBidWlsZGRp cgpQQVNTOiB0L2luc3RzcGMudGFwIDM5IC0gY29sb24gaW4gYnVpbGRkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyB0ZXN0IDIgLWd0IDAKKyBj aG1vZCAtUiB1K3J3eCAuLzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyBybSAtcmYgLi86IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uCisgX2Ft X3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vOgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQt Y29sb24KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLzoKKyBta2RpciBidWlsZC1jb2xvbgorIGNkIGJ1aWxk LWNvbG9uCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvOi1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzogZmlsZT0uLzog bWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtY29sb27CoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzov Oi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v Oi86LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zv bycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3Rh bGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWInCm1h a2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtY29sb27CoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzov Li86LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1w cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86LXByZWZpeC9m b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9v L25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzovLi86LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovLi86LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 Ly4vOi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 Ly4vOi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86 LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWNvbG9uIGluIGRlc3RkaXIK KyBleHBlY3RlZF90b19mYWlsIGRlc3QgY29sb24KKyBpc19pbl9saXN0IGNvbG9uIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWNv bG9uCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0 XyBvayAtRCAgLXIgIC0tIGNvbG9uIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNDAgLSBjb2xv biBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNDAgLSBjb2xvbiBpbiBkZXN0ZGly CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtY29sb24gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v OgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWNvbG9uIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u LzoKKyBybSAtcmYgYnVpbGQtY29sb24gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOgorIF9hbV9ybXJmX3N0YXR1cz0w CisgdGVzdCAtZSBidWlsZC1jb2xvbgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOgorIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5n PSR7aW5zdHNwY19fc2VtaWNvbH0KKyB0ZXN0X3N0cmluZz07CisgdGVzdCB4OyA9IHgKKyBt a2RpciAuLzsKKyBidWlsZD0uLzsKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wKKyBjZCAuLzsKKyByPW9r CisgLi4vY29uZmlndXJlIC0tcHJlZml4IC87LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg d29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZp bGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg Z2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2Vw dCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3Rh bmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tp bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4g YXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5n IGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFy ZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9j b25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAx LjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD S0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8y IC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJj ZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBv CmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1v IHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIv bGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGli bm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbCBmaWxlPS4vOyBtYWtlIHRlc3QtaW5z dAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci87wqDCuwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1w cmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1p Y29sLzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVm aXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXBy ZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNl bWljb2wvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzst cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzstcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv bC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWlj b2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSBy w6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyLzvCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNlbWljb2wvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z ZW1pY29sLy4vOy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s Ly4vOy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPXNlbWljb2wgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHNlbWlj b2wKKyBpc19pbl9saXN0IHNlbWljb2wgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0 ZW09c2VtaWNvbAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQor IHJlc3VsdF8gb2sgLUQgIC1yICAtLSBzZW1pY29sIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9r IDQxIC0gc2VtaWNvbCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQxIC0gc2Vt aWNvbCBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vOyAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi87IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWlj b2wKKyBybSAtcmYgLi87IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgLi87CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMg d2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXNlbWljb2wKKyBkZXN0PS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNl bWljb2wvOworIG1rZGlyIGJ1aWxkLXNlbWljb2wKKyBjZCBidWlsZC1zZW1pY29sCisgcj1v aworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvOy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0 YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4u IGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2lu ZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1P MiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3Vy Y2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAt byBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3Vi L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp Ym5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOyBmaWxlPS4vOyBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1z ZW1pY29swqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv Oy87LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Lzst cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87 LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycgJiYg cmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsv Oy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2Zv by9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87 LzstcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv Oy87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbC87LzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXNlbWljb2zCoMK7CnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzsvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv bC87Ly4vOy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87 Ly4vOy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzst cHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzst cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL25v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPXNlbWljb2wgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBzZW1p Y29sCisgaXNfaW5fbGlzdCBzZW1pY29sIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXNlbWljb2wKKyBzaGlmdAorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gc2VtaWNv bCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDQyIC0gc2VtaWNvbCBpbiBkZXN0ZGlyClBBU1M6 IHQvaW5zdHNwYy50YXAgNDIgLSBzZW1pY29sIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyBidWlsZC1zZW1pY29sIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOworIHRlc3QgMiAt Z3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXNlbWljb2wgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Cisgcm0g LXJmIGJ1aWxkLXNlbWljb2wgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIGJ1aWxkLXNlbWljb2wKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOworIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5n PSR7aW5zdHNwY19fZXF1YWx9CisgdGVzdF9zdHJpbmc9PQorIHRlc3QgeD0gPSB4CisgbWtk aXIgLi89CisgYnVpbGQ9Li89CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbAorIGNkIC4vPQorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLz0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBu YW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMg LWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1U IHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8g Li4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2Nj ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJi YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jh c2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5v YmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbCBmaWxlPS4vPSBtYWtlIHRlc3QtaW5zdAptYWtl WzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci89wqDCuwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJl Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh bC89LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWInCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz dWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC89LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLz3CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4v PS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28v bm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvLi89LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4 L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPWVxdWFsIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9f ZmFpbCBidWlsZCBlcXVhbAorIGlzX2luX2xpc3QgZXF1YWwgc3F1b3RlIGRxdW90ZSBicXVv dGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgw IGFfbGZfYgorIGl0ZW09ZXF1YWwKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gZXF1YWwgaW4gYnVpbGRkaXIKKyBz ZXQgK3gKb2sgNDMgLSBlcXVhbCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQz IC0gZXF1YWwgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAu Lz0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLz0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwKKyBybSAtcmYgLi89IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1l IC4vPQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRo IGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtZXF1YWwKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0K KyBta2RpciBidWlsZC1lcXVhbAorIGNkIGJ1aWxkLWVxdWFsCisgcj1vaworIC4uL2NvbmZp Z3VyZSAtLXByZWZpeCAvPS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQg LW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUg aW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5n IHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNl Lm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl IHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy IGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEK KyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0gZmlsZT0uLz0gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKg OiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZXF1YWzCoMK7CiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Lz0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXBy ZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Lz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZp eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS89LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvPS89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0v PS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89 Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS89LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Lz0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLD qXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvYnVpbGQtZXF1YWzCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJl Zml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vbm9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89 LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2xpYm5vYmFz ZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWVxdWFsIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3Qg ZXF1YWwKKyBpc19pbl9saXN0IGVxdWFsIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWVxdWFsCisgc2hpZnQKKyByZXR1cm4gMQor IGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGVxdWFsIGlu IGRlc3RkaXIKKyBzZXQgK3gKb2sgNDQgLSBlcXVhbCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgNDQgLSBlcXVhbCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtZXF1YWwgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPQorIHRlc3QgMiAtZ3QgMAorIGNobW9k IC1SIHUrcnd4IGJ1aWxkLWVxdWFsIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0KKyBybSAtcmYgYnVpbGQtZXF1YWwg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1lcXVhbAor IHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZXF1YWwvPQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fbGVzc30KKyB0ZXN0 X3N0cmluZz08CisgdGVzdCB4PCA9IHgKKyBta2RpciAuLzwKKyBidWlsZD0uLzwKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MKKyBjZCAuLzwKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC88LXBy ZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtl IHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5l c3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Ig c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4u LiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4g Z2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikg aW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t YW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVw cy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3Nv dXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291 cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBz dWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcyBm aWxlPS4vPCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci88wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9v JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi L2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVzcy88LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLzzCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9i YXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv Li88LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL25vYmFzZS5z aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvLi88LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPWxlc3MgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGxlc3MK KyBpc19pbl9saXN0IGxlc3Mgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJz bGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bGVz cworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgIC1yICAtLSBsZXNzIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDQ1IC0gbGVzcyBp biBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ1IC0gbGVzcyBpbiBidWlsZGRpcgor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJl dHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vPCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisgdGVzdCAyIC1n dCAwCisgY2htb2QgLVIgdStyd3ggLi88IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MKKyBybSAtcmYgLi88IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MK KyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi88CisgdGVzdCAtZSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLWxlc3MKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPAorIG1rZGlyIGJ1aWxkLWxlc3MKKyBjZCBidWls ZC1sZXNzCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvPC1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPCBmaWxlPS4vPCBt YWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9idWlsZC1sZXNzwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXBy ZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGli YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwv PC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVzcy88LzwtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC88LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88 LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC88LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2J1aWxkLWxlc3PCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28v bm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC8uLzwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLzwvLi88LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWxlc3MgaW4g ZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBsZXNzCisgaXNfaW5fbGlzdCBsZXNz IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBp dGVtPWxlc3MKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyBy ZXN1bHRfIG9rIC1EICAtciAgLS0gbGVzcyBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDQ2IC0g bGVzcyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNDYgLSBsZXNzIGluIGRlc3Rk aXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sZXNzIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxlc3MgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 Cisgcm0gLXJmIGJ1aWxkLWxlc3MgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIGJ1aWxkLWxlc3MKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPAorIHJldHVybiAwCisgOiBG b3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5z dHNwY19fbW9yZX0KKyB0ZXN0X3N0cmluZz0+CisgdGVzdCB4PiA9IHgKKyBta2RpciAuLz4K KyBidWlsZD0uLz4KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUKKyBjZCAuLz4KKyByPW9rCisgLi4vY29uZmln dXJlIC0tcHJlZml4IC8+LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBt a2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBn Y2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0 aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4u IG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAt byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBp bmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVz CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1 dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1c Imluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVS U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3Rz cGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2Uu byAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJj ZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8y ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug c291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIg Y3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQor IERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZSBmaWxlPS4vPiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8+wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVm aXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1v cmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28v c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLz7CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUv Li8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1w cmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNl Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1w cmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVm aXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPW1vcmUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90 b19mYWlsIGJ1aWxkIG1vcmUKKyBpc19pbl9saXN0IG1vcmUgc3F1b3RlIGRxdW90ZSBicXVv dGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgw IGFfbGZfYgorIGl0ZW09bW9yZQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBtb3JlIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDQ3IC0gbW9yZSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ3IC0g bW9yZSBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vPiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1tb3JlCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8+IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUKKyBy bSAtcmYgLi8+IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8+Cisg dGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg c2V0IC1lLgorIGJ1aWxkPWJ1aWxkLW1vcmUKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPgorIG1rZGlyIGJ1 aWxkLW1vcmUKKyBjZCBidWlsZC1tb3JlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvPi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4g L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0 IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJl Y3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg Z2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZl ciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpj aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJT SU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAt TUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9i YXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAK cm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGli bm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPiBmaWxlPS4vPiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRh bnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1tb3JlwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+Lz4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4v Pi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+ LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+ Lz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1v cmUvPi8+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3Jl Lz4vPi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLW1vcmXCoMK7CnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3Jl Lz4vLi8+LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1w cmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28v c3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL25v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9y ZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4v Pi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vc3ViL2xpYm5v YmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPW1vcmUgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBtb3Jl CisgaXNfaW5fbGlzdCBtb3JlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBs aW5lZmVlZCBhX2xmX2IKKyBpdGVtPW1vcmUKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0 aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbW9yZSBpbiBkZXN0ZGly Cisgc2V0ICt4Cm9rIDQ4IC0gbW9yZSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAg NDggLSBtb3JlIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBi dWlsZC1tb3JlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1 aWxkLW1vcmUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Cisgcm0gLXJmIGJ1aWxkLW1vcmUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+CisgX2Ft X3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLW1vcmUKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUv PgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFs IHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYXR9CisgdGVzdF9zdHJpbmc9QAorIHRlc3QgeEAg PSB4CisgbWtkaXIgLi9ACisgYnVpbGQ9Li9ACisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdAorIGNkIC4vQAorIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0AtcHJlZml4CmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJz dGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAt TzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291 cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1 Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdCBmaWxlPS4vQCBtYWtlIHRlc3QtaW5zdApt YWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9AwqDCuwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQv QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQv QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0At cHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1w cmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViJwpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL0DCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRh dCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9A LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9zdWIv bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbGlibm9iYXNl LmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPWF0IGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBhdAorIGlz X2luX2xpc3QgYXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBh bXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YXQKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gYXQgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNDkgLSBhdCBpbiBidWlsZGRpcgpQ QVNTOiB0L2luc3RzcGMudGFwIDQ5IC0gYXQgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyAuL0AgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCAuL0AgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYXQKKyBybSAtcmYgLi9AIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0CisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIC4vQAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtYXQKKyBkZXN0PS9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AK KyBta2RpciBidWlsZC1hdAorIGNkIGJ1aWxkLWF0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvQC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AgZmlsZT0uL0AgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYXTCoMK7CiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hdC9AL0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC9ALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv bycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZp eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv by9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0At cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hdC9AL0AtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYXTCoMK7CnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8u L0AtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h dC9ALy4vQC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9z dWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h dC9ALy4vQC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9A Ly4vQC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWF0IGluIGRlc3RkaXIKKyBleHBl Y3RlZF90b19mYWlsIGRlc3QgYXQKKyBpc19pbl9saXN0IGF0IHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWF0Cisgc2hpZnQKKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0t IGF0IGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNTAgLSBhdCBpbiBkZXN0ZGlyClBBU1M6IHQv aW5zdHNwYy50YXAgNTAgLSBhdCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUr cnd4IGJ1aWxkLWF0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWF0L0AKKyBybSAtcmYgYnVpbGQtYXQgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQAorIF9hbV9y bXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1hdAorIHRlc3QgLWUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQAorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fbHFicmFja30KKyB0ZXN0X3N0cmluZz1bCisgdGVzdCB4WyA9 IHgKKyBta2RpciAuL1sKKyBidWlsZD0uL1sKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sKKyBjZCAuL1sK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9bLXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjayBmaWxlPS4vWyBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9bwqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh Y2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL1vCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8u L1stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPWxxYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IGxxYnJhY2sKKyBpc19pbl9saXN0IGxxYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09bHFicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBscWJyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDUxIC0gbHFicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDUx IC0gbHFicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vWyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9bIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxxYnJhY2sKKyBybSAtcmYgLi9bIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi9bCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxxYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxxYnJhY2svWworIG1rZGlyIGJ1aWxkLWxxYnJhY2sKKyBjZCBidWlsZC1scWJyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvWy1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWyBmaWxlPS4vWyBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1scWJyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy9bLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9b LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9b LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh Y2svWy9bLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay9bL1stcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9b L1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy9bLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxxYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay9bLy4vWy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy8uL1stcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy8uL1stcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4v Wy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWxxYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBscWJyYWNrCisgaXNfaW5fbGlzdCBscWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxxYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g bHFicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDUyIC0gbHFicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTIgLSBscWJyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1scWJyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWworIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxxYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9b Cisgcm0gLXJmIGJ1aWxkLWxxYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bCisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLWxxYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWworIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fcnFicmFja30KKyB0ZXN0X3N0cmluZz1dCisgdGVzdCB4XSA9 IHgKKyBta2RpciAuL10KKyBidWlsZD0uL10KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sKKyBjZCAuL10K KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9dLXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjayBmaWxlPS4vXSBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9dwqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh Y2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy YWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL13CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8u L10tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXJxYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IHJxYnJhY2sKKyBpc19pbl9saXN0IHJxYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09cnFicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBycWJyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDUzIC0gcnFicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDUz IC0gcnFicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vXSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9dIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJxYnJhY2sKKyBybSAtcmYgLi9dIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi9dCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXJxYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJxYnJhY2svXQorIG1rZGlyIGJ1aWxkLXJxYnJhY2sKKyBjZCBidWlsZC1ycWJyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvXS1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXSBmaWxlPS4vXSBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1ycWJyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJx YnJhY2svXS9dLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9d LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9d LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh Y2svXS9dLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy YWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay9dL10tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d L10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJx YnJhY2svXS9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS9dLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXJxYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10vLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay9dLy4vXS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS8uL10tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS8uL10tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4v XS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPXJxYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBycWJyYWNrCisgaXNfaW5fbGlzdCBycWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXJxYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g cnFicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDU0IC0gcnFicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTQgLSBycWJyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1ycWJyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXQorIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXJxYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d Cisgcm0gLXJmIGJ1aWxkLXJxYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dCisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLXJxYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXQorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fbGNicmFja30KKyB0ZXN0X3N0cmluZz17CisgdGVzdCB4eyA9 IHgKKyBta2RpciAuL3sKKyBidWlsZD0uL3sKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sKKyBjZCAuL3sK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC97LXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjayBmaWxlPS4veyBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci97wqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJh Y2svey1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sY2JyYWNrL3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2Jy YWNrL3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL3vCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8u L3stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPWxjYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IGxjYnJhY2sKKyBpc19pbl9saXN0IGxjYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09bGNicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBsY2JyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDU1IC0gbGNicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU1 IC0gbGNicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4veyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi97IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxjYnJhY2sKKyBybSAtcmYgLi97IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi97CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxjYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxjYnJhY2sveworIG1rZGlyIGJ1aWxkLWxjYnJhY2sKKyBjZCBidWlsZC1sY2JyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvey1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveyBmaWxlPS4veyBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1sY2JyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svey97LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97 LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97 LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJh Y2svey97LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2Jy YWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay97L3stcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97 L3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svey97LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGNicmFjay97L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey97LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxjYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGNicmFjay97Ly4vey1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay97Ly4vey1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey8uL3stcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey8uL3stcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4v ey1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWxjYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBsY2JyYWNrCisgaXNfaW5fbGlzdCBsY2JyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxjYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g bGNicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDU2IC0gbGNicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTYgLSBsY2JyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sY2JyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveworIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxjYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97 Cisgcm0gLXJmIGJ1aWxkLWxjYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97CisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLWxjYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveworIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fcmNicmFja30KKyB0ZXN0X3N0cmluZz19CisgdGVzdCB4fSA9 IHgKKyBta2RpciAuL30KKyBidWlsZD0uL30KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sKKyBjZCAuL30K KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC99LXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjayBmaWxlPS4vfSBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci99wqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJh Y2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yY2JyYWNrL30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrL30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL33CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8u L30tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXJjYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IHJjYnJhY2sKKyBpc19pbl9saXN0IHJjYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09cmNicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSByY2JyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDU3IC0gcmNicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU3 IC0gcmNicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vfSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi99IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJjYnJhY2sKKyBybSAtcmYgLi99IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi99CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXJjYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJjYnJhY2svfQorIG1rZGlyIGJ1aWxkLXJjYnJhY2sKKyBjZCBidWlsZC1yY2JyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfS1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfSBmaWxlPS4vfSBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1yY2JyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJj YnJhY2svfS99LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99 LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99 LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJh Y2svfS99LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay99L30tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99 L30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJj YnJhY2svfS99LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjay99L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS99LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXJjYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30vLi99LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay99Ly4vfS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS8uL30tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS8uL30tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4v fS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPXJjYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCByY2JyYWNrCisgaXNfaW5fbGlzdCByY2JyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXJjYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g cmNicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDU4IC0gcmNicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTggLSByY2JyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1yY2JyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfQorIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXJjYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99 Cisgcm0gLXJmIGJ1aWxkLXJjYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99CisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLXJjYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfQorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fc3BhY2V9CisgdGVzdF9zdHJpbmc9IAorIHRlc3QgeCAgPSB4 CisgbWtkaXIgLi8gCisgYnVpbGQ9Li8gCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZQorIGNkIC4vIAorIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJz dGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAt TzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291 cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1 Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZSBmaWxlPS4vICBtYWtlIHRlc3QtaW5z dAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8gwqDCuwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zcGFjZS8gLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1Yi8nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4 L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9z dWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSBy w6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyLyDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL25vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLy4vIC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAt cHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9m b28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXNwYWNlIGluIGJ1aWxkZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBidWlsZCBzcGFjZQorIGlzX2luX2xpc3Qgc3BhY2Ugc3F1b3RlIGRxdW90 ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJp Z3JhcGgwIGFfbGZfYgorIGl0ZW09c3BhY2UKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0 aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gc3BhY2UgaW4gYnVpbGRk aXIKKyBzZXQgK3gKb2sgNTkgLSBzcGFjZSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDU5IC0gc3BhY2UgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyAuLyAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLyAg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UKKyBybSAtcmYgLi8gIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIC4vIAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtc3BhY2UKKyBkZXN0PS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLyAKKyBta2RpciBidWlsZC1zcGFjZQorIGNkIGJ1aWxkLXNwYWNlCisgcj1vaworIC4u L2NvbmZpZ3VyZSAtLXByZWZpeCAvIC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAgZmlsZT0uLyAgbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3BhY2XCoMK7 CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2Uv IC8gLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8g LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8g LyAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLyAvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z cGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVm aXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3BhY2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRl IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3BhY2XCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2Uv IC8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8u LyAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3BhY2UvIC8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAvLi8gLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXNwYWNlIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWls IGRlc3Qgc3BhY2UKKyBpc19pbl9saXN0IHNwYWNlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXNwYWNlCisgc2hpZnQKKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHNw YWNlIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNjAgLSBzcGFjZSBpbiBkZXN0ZGlyClBBU1M6 IHQvaW5zdHNwYy50YXAgNjAgLSBzcGFjZSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gYnVpbGQtc3BhY2UgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIAorIHRlc3QgMiAtZ3QgMAor IGNobW9kIC1SIHUrcnd4IGJ1aWxkLXNwYWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAKKyBybSAtcmYgYnVpbGQt c3BhY2UgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1z cGFjZQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdp dGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fdGFifQor IHRlc3Rfc3RyaW5nPQkKKyB0ZXN0IHgJID0geAorIG1rZGlyIC4vCQorIGJ1aWxkPS4vCQor IGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGFiCisgY2QgLi8JCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv CS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3Rp dmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj Li4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYg LmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl IHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g LWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh YiBmaWxlPS4vCSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci8JwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh Yi8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1 Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGFiLwktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8J LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVm aXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3ViJwpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLwnCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIv Li8JLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYi8uLwktcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8u LwktcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgv Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvLi8JLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJlZml4 L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPXRhYiBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgYnVpbGQgdGFiCisgaXNfaW5fbGlzdCB0YWIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09dGFiCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249 CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHRhYiBpbiBidWlsZGRpcgorIHNldCAreApvayA2 MSAtIHRhYiBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDYxIC0gdGFiIGluIGJ1 aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8JIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYgorIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vCSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIKKyBybSAtcmYgLi8JIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLwkKKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh YgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWls ZD1idWlsZC10YWIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JCisgbWtkaXIgYnVpbGQtdGFiCisgY2QgYnVp bGQtdGFiCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvCS1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JIGZpbGU9Li8JIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLXRhYsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9m b28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwkt cHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8J LwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 YWIvCS8JLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vJyAm JiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwkt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWIv JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vL3N1YicKbWFrZVsx XcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC10YWLCoMK7CnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYi8JLy4vCS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4v CS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zv by9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zvby9u b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkv Li8JLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJl Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9u PXRhYiBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHRhYgorIGlzX2luX2xp c3QgdGFiIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xm X2IKKyBpdGVtPXRhYgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29u PQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSB0YWIgaW4gZGVzdGRpcgorIHNldCAreApvayA2 MiAtIHRhYiBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNjIgLSB0YWIgaW4gZGVz dGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXRhYiAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIv CQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXRhYiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCQor IHJtIC1yZiBidWlsZC10YWIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtdGFiCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCQorIHJldHVybiAwCisgOiBGb3Igc2hl bGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19f bGluZWZlZWR9CisgdGVzdF9zdHJpbmc9CgorIHRlc3QgeAogPSB4CisgbWtkaXIgLi8KCisg YnVpbGQ9Li8KCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1saW5lZmVlZAorIGNkIC4vCgorIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLwotcHJlZml4CmNvbmZpZ3VyZTogZXJyb3I6IHB3ZCBkb2VzIG5v dCByZXBvcnQgbmFtZSBvZiB3b3JraW5nIGRpcmVjdG9yeQorIHI9bm90IG9rCisgZGVzY3Jp cHRpb249bGluZWZlZWQgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGxp bmVmZWVkCisgaXNfaW5fbGlzdCBsaW5lZmVlZCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9i CisgaXRlbT1saW5lZmVlZAorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETwor IHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBU T0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBsaW5lZmVlZCBpbiBidWlsZGRp cgorIHNldCAreApub3Qgb2sgNjMgLSBsaW5lZmVlZCBpbiBidWlsZGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDYzIC0gbGluZWZl ZWQgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5v dCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAx CisgdGVzdCBub3Qgb2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgYnVpbGQ9YnVpbGQtbGluZWZlZWQKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxpbmVmZWVkLwoKKyBta2RpciBi dWlsZC1saW5lZmVlZAorIGNkIGJ1aWxkLWxpbmVmZWVkCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvCi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czogZXJyb3I6IGluIGAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbGlu ZWZlZWQnOgpjb25maWcuc3RhdHVzOiBlcnJvcjogU29tZXRoaW5nIHdlbnQgd3JvbmcgYm9v dHN0cmFwcGluZyBtYWtlZmlsZSBmcmFnbWVudHMKICAgIGZvciBhdXRvbWF0aWMgZGVwZW5k ZW5jeSB0cmFja2luZy4gIElmIEdOVSBtYWtlIHdhcyBub3QgdXNlZCwgY29uc2lkZXIKICAg IHJlLXJ1bm5pbmcgdGhlIGNvbmZpZ3VyZSBzY3JpcHQgd2l0aCBNQUtFPSJnbWFrZSIgKG9y IHdoYXRldmVyIGlzCiAgICBuZWNlc3NhcnkpLiAgWW91IGNhbiBhbHNvIHRyeSByZS1ydW5u aW5nIGNvbmZpZ3VyZSB3aXRoIHRoZQogICAgJy0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNr aW5nJyBvcHRpb24gdG8gYXQgbGVhc3QgYmUgYWJsZSB0byBidWlsZAogICAgdGhlIHBhY2th Z2UgKGFsYmVpdCB3aXRob3V0IHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRy YWNraW5nKS4KU2VlIGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzCisgcj1ub3Qgb2sK KyBkZXNjcmlwdGlvbj1saW5lZmVlZCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBk ZXN0IGxpbmVmZWVkCisgaXNfaW5fbGlzdCBsaW5lZmVlZCBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1saW5lZmVlZAorIHNoaWZ0 CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbiAtLSBsaW5lZmVlZCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm5vdCBvayA2NCAtIGxp bmVmZWVkIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJ TDogdC9pbnN0c3BjLnRhcCA2NCAtIGxpbmVmZWVkIGluIGRlc3RkaXIgIyBUT0RPIGxvbmct c3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBvaworIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX2JhY2tzcGFjZX0KKyB0ZXN0X3N0cmluZz0ICisgdGVzdCB4CCA9IHgKKyBta2RpciAu LwgKKyBidWlsZD0uLwgKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZQorIGNkIC4vCAorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLwgtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBu YW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMg LWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1U IHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8g Li4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2Nj ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJi YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jh c2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5v YmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UgZmlsZT0uLwggbWFrZSB0ZXN0LWluc3QK bWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvCMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3Nw YWNlLwgtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci8IwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh Y2tzcGFjZS8uLwgtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl Ly4vCC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1iYWNrc3BhY2UgaW4gYnVpbGRkaXIK KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJhY2tzcGFjZQorIGlzX2luX2xpc3QgYmFja3Nw YWNlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5k IGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWJhY2tzcGFjZQorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBiYWNrc3BhY2UgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNjUgLSBiYWNrc3BhY2Ug aW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA2NSAtIGJhY2tzcGFjZSBpbiBidWls ZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vCCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UK KyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLwggL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlCisgcm0g LXJmIC4vCCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8I CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRo IGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtYmFja3NwYWNlCisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvCAorIG1rZGlyIGJ1aWxkLWJhY2tzcGFjZQorIGNkIGJ1aWxkLWJhY2tzcGFjZQor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLwgtcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCCBmaWxlPS4vCCBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1iYWNrc3BhY2XCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8I LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgv CC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhY2tzcGFjZS8ILwgtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i YXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2Uv CC8ILXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvCC8ILXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFj a3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2Zvby9zdWInCm1h a2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYmFja3NwYWNlwqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFja3NwYWNlLwgvLi8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh Y2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgvLi8ILXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tz cGFjZS8ILy4vCC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tz cGFjZS8ILy4vCC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1iYWNrc3Bh Y2UgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBiYWNrc3BhY2UKKyBpc19p bl9saXN0IGJhY2tzcGFjZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1iYWNrc3BhY2UKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gYmFja3NwYWNlIGlu IGRlc3RkaXIKKyBzZXQgK3gKb2sgNjYgLSBiYWNrc3BhY2UgaW4gZGVzdGRpcgpQQVNTOiB0 L2luc3RzcGMudGFwIDY2IC0gYmFja3NwYWNlIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyBidWlsZC1iYWNrc3BhY2UgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgKKyB0ZXN0 IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1iYWNrc3BhY2UgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgKKyBybSAtcmYgYnVpbGQtYmFja3NwYWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ICisgX2FtX3JtcmZf c3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWJhY2tzcGFjZQorIHRlc3QgLWUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3Nw YWNlLwgKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisg ZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2Zvcm1mZWVkfQorIHRlc3Rfc3RyaW5nPQwK KyB0ZXN0IHgMID0geAorIG1rZGlyIC4vDAorIGJ1aWxkPS4vDAorIGRlc3Q9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQKKyBjZCAuLwwKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8MLXByZWZpeApj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1w CmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2 YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVy IGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4 IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w aWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn Y2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMg KEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpj aGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJm YWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQg Z2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZp Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5n IE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9T VFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5U cG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8g IApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJh c2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQgZmls ZT0uLwwgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvDMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgv Zm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi L2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWIvJwogIC91 c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8MwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9ub2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1m b3JtZmVlZC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLy4vDC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8uLwwtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBk ZXNjcmlwdGlvbj1mb3JtZmVlZCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVp bGQgZm9ybWZlZWQKKyBpc19pbl9saXN0IGZvcm1mZWVkIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBh X2xmX2IKKyBpdGVtPWZvcm1mZWVkCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGZvcm1mZWVkIGluIGJ1aWxkZGly Cisgc2V0ICt4Cm9rIDY3IC0gZm9ybWZlZWQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3Bj LnRhcCA2NyAtIGZvcm1mZWVkIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gLi8MIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggLi8MIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWZvcm1mZWVkCisgcm0gLXJmIC4vDCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZAorIF9hbV9ybXJm X3N0YXR1cz0wCisgdGVzdCAtZSAuLwwKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkCisgcmV0dXJu IDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWZv cm1mZWVkCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MCisgbWtkaXIgYnVpbGQtZm9ybWZlZWQKKyBj ZCBidWlsZC1mb3JtZmVlZAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLwwtcHJl Zml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4v aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu Li4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVz dGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcg d2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29t cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBz dWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4u LiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tp bmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4u IHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBn Y2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBp bnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcg dGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUK Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h bmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL QUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAt RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEu MFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBz L3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291 cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3Vy Y2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1 Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5h IHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MIGZpbGU9Li8MIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2J1aWxkLWZvcm1mZWVkwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogKCBjZCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8MLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5v YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQv DC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8M LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8M LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWZvcm1mZWVkwqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3Jt ZmVlZC8MLy4vDC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC8uLwwtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8M Ly4vDC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQv DC8uLwwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8u LwwtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXBy ZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9zdWIvbGli bm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1mb3JtZmVlZCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9f ZmFpbCBkZXN0IGZvcm1mZWVkCisgaXNfaW5fbGlzdCBmb3JtZmVlZCBzcXVvdGUgZHF1b3Rl IGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1mb3JtZmVlZAor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBmb3JtZmVlZCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDY4IC0gZm9ybWZl ZWQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDY4IC0gZm9ybWZlZWQgaW4gZGVz dGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWZvcm1mZWVkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1mb3Jt ZmVlZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MCisgcm0gLXJmIGJ1aWxkLWZvcm1mZWVkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtZm9ybWZlZWQKKyB0ZXN0 IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWZvcm1mZWVkLwwKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3Rl ZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NhcnJpYWdlcmV0fQor IHRlc3Rfc3RyaW5nPQ0KKyB0ZXN0IHgNID0geAorIG1rZGlyIC4vDQorIGJ1aWxkPS4vDQor IGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FycmlhZ2VyZXQKKyBjZCAuLw0KKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC8NLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FycmlhZ2VyZXQgZmlsZT0uLw0gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvDcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAoIGNk ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJyAmJiBy YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4 L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvDS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJl dC8NLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9z dWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1w cmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8N wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9ub2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9iYXNlLmgnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvLi8NLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jYXJy aWFnZXJldCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgY2FycmlhZ2Vy ZXQKKyBpc19pbl9saXN0IGNhcnJpYWdlcmV0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IK KyBpdGVtPWNhcnJpYWdlcmV0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNhcnJpYWdlcmV0IGluIGJ1aWxkZGly Cisgc2V0ICt4Cm9rIDY5IC0gY2FycmlhZ2VyZXQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0 c3BjLnRhcCA2OSAtIGNhcnJpYWdlcmV0IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gLi8NIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0CisgdGVzdCAyIC1ndCAwCisgY2ht b2QgLVIgdStyd3ggLi8NIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Cisgcm0gLXJmIC4vDSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFn ZXJldAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLw0KKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1l LgorIGJ1aWxkPWJ1aWxkLWNhcnJpYWdlcmV0CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NCisg bWtkaXIgYnVpbGQtY2FycmlhZ2VyZXQKKyBjZCBidWlsZC1jYXJyaWFnZXJldAorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggLw0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3 b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIg LU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNl Lm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8K Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8g c3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9s aWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJu b2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp Ym5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NIGZpbGU9Li8NIG1ha2UgdGVz dC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxk LWNhcnJpYWdlcmV0wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0vDS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvDS8NLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0vDS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2Vy ZXQvDS8NLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0v DS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2Vy ZXQvDS8NLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWNhcnJpYWdlcmV0wqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vc3ViL25vYmFz ZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vbm9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNl LmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9u b2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vc3Vi L25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL25v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jYXJyaWFnZXJldCBpbiBkZXN0ZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBkZXN0IGNhcnJpYWdlcmV0CisgaXNfaW5fbGlzdCBjYXJyaWFnZXJldCBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRl bT1jYXJyaWFnZXJldAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29u PQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBjYXJyaWFnZXJldCBpbiBkZXN0ZGlyCisgc2V0 ICt4Cm9rIDcwIC0gY2FycmlhZ2VyZXQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFw IDcwIC0gY2FycmlhZ2VyZXQgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisg cm1fcmZfIGJ1aWxkLWNhcnJpYWdlcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0KKyB0ZXN0IDIgLWd0 IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1jYXJyaWFnZXJldCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8N Cisgcm0gLXJmIGJ1aWxkLWNhcnJpYWdlcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0KKyBfYW1fcm1y Zl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtY2FycmlhZ2VyZXQKKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0KKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQg LWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3F1YWRyaWdyYXBoMH0KKyB0ZXN0 X3N0cmluZz1AJnRACisgdGVzdCB4QCZ0QCA9IHgKKyBta2RpciAuL0AmdEAKKyBidWlsZD0u L0AmdEAKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMAorIGNkIC4vQCZ0QAorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggL0AmdEAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZl IGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvaworIGRlc2NyaXB0 aW9uPXF1YWRyaWdyYXBoMCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQg cXVhZHJpZ3JhcGgwCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDAgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgwCisgc2hpZnQKKyByZXR1cm4gMAorIGRp cmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3Vs dF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIHF1YWRy aWdyYXBoMCBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sgNzEgLSBxdWFkcmlncmFwaDAg aW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9p bnN0c3BjLnRhcCA3MSAtIHF1YWRyaWdyYXBoMCBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1z dGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDAK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRACisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGgw CisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgwCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvQCZ0QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMC9AJnRAIGZpbGU9Li9AJnRAIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBo MMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0 QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAt cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0Am dEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0Am dEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWls ZC1xdWFkcmlncmFwaDDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9A JnRALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAv Li9AJnRALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgwL0AmdEAvLi9AJnRALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRALXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRALXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRA LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMCBpbiBk ZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoMAorIGlzX2luX2xp c3QgcXVhZHJpZ3JhcGgwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMAorIHNoaWZ0CisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFw aDAgaW4gZGVzdGRpcgorIHNldCAreApvayA3MiAtIHF1YWRyaWdyYXBoMCBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNzIgLSBxdWFkcmlncmFwaDAgaW4gZGVzdGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRyaWdyYXBoMCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDAvQCZ0QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1 YWRyaWdyYXBoMCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QAorIHJtIC1yZiBidWlsZC1xdWFkcmln cmFwaDAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtcXVhZHJpZ3JhcGgwCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QAor IHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRl c3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGgxfQorIHRlc3Rfc3RyaW5nPUA8OkAK KyB0ZXN0IHhAPDpAID0geAorIG1rZGlyIC4vQDw6QAorIGNkIC4vQDw6QAorIGJ1aWxkPS4v QDw6QAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxCisgY2QgLi9APDpACisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvQDw6QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMSBmaWxlPS4vQDw6QCBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9APDpAwqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEv QDw6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx L0A8OkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MS9APDpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL0A8OkDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx Ly4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvLi9APDpALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Un CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMSBpbiBidWlsZGRpcgorIGV4 cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJpZ3JhcGgxCisgaXNfaW5fbGlzdCBxdWFkcmln cmFwaDEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgxCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIHF1YWRyaWdyYXBoMSBpbiBidWlsZGRpcgorIHNldCAreApvayA3MyAtIHF1 YWRyaWdyYXBoMSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDczIC0gcXVhZHJp Z3JhcGgxIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9A PDpAIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4v QDw6QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEKKyBybSAtcmYgLi9APDpAIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMQor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL0A8OkAKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4K KyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDEKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA CisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGgxCisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgxCisg cj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQDw6QC1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAIGZpbGU9 Li9APDpAIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lw ZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoMcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC9APDpALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zv by9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9A PDpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpA LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8 OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8 OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8 OkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi L25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBx dWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDHCoMK7CnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL25v YmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8uL0A8OkAtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8uL0A8OkAt cHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9A PDpALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8u L0A8OkAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXF1YWRyaWdyYXBoMSBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBk ZXN0IHF1YWRyaWdyYXBoMQorIGlzX2luX2xpc3QgcXVhZHJpZ3JhcGgxIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdy YXBoMQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDEgaW4gZGVzdGRpcgorIHNldCAreApvayA3 NCAtIHF1YWRyaWdyYXBoMSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNzQgLSBx dWFkcmlncmFwaDEgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IGJ1aWxkLXF1YWRyaWdyYXBoMSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QAorIHRlc3QgMiAtZ3Qg MAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1YWRyaWdyYXBoMSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEv QDw6QAorIHJtIC1yZiBidWlsZC1xdWFkcmlncmFwaDEgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAK KyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtcXVhZHJpZ3JhcGgxCisgdGVz dCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdp dGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJp Z3JhcGgyfQorIHRlc3Rfc3RyaW5nPUA6PkAKKyB0ZXN0IHhAOj5AID0geAorIG1rZGlyIC4v QDo+QAorIGNkIC4vQDo+QAorIGJ1aWxkPS4vQDo+QAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy CisgY2QgLi9AOj5ACisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQDo+QC1wcmVm aXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4g eWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0 aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi L2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMiBmaWxlPS4vQDo+QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRh bnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9AOj5AwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJyAmJiByYW5saWIg bGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy L0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5A LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVm aXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28v c3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL0A6PkDCoMK7 CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgv Zm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6 PkAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4v QDo+QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4v QDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy Ly4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIv Li9AOj5ALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9A Oj5ALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi8uL0A6PkAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1 YWRyaWdyYXBoMiBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJp Z3JhcGgyCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDIgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgyCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHF1YWRyaWdyYXBoMiBpbiBi dWlsZGRpcgorIHNldCAreApvayA3NSAtIHF1YWRyaWdyYXBoMiBpbiBidWlsZGRpcgpQQVNT OiB0L2luc3RzcGMudGFwIDc1IC0gcXVhZHJpZ3JhcGgyIGluIGJ1aWxkZGlyCisgY2QgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEK KyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9AOj5AIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vQDo+QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIKKyBybSAt cmYgLi9AOj5AIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAt ZSAuL0A6PkAKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDIK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ACisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGgy CisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvQDo+QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMi9AOj5AIGZpbGU9Li9AOj5AIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBo MsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+ QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAt cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6 PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6 PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo Mi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWls ZC1xdWFkcmlncmFwaDLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9A Oj5ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo Mi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAv Li9AOj5ALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo Mi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5ALXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5A LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMiBpbiBk ZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoMgorIGlzX2luX2xp c3QgcXVhZHJpZ3JhcGgyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMgorIHNoaWZ0CisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFw aDIgaW4gZGVzdGRpcgorIHNldCAreApvayA3NiAtIHF1YWRyaWdyYXBoMiBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNzYgLSBxdWFkcmlncmFwaDIgaW4gZGVzdGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRyaWdyYXBoMiAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvQDo+QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1 YWRyaWdyYXBoMiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QAorIHJtIC1yZiBidWlsZC1xdWFkcmln cmFwaDIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtcXVhZHJpZ3JhcGgyCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QAor IHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRl c3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGgzfQorIHRlc3Rfc3RyaW5nPUBTfEAK KyB0ZXN0IHhAU3xAID0geAorIG1rZGlyIC4vQFN8QAorIGJ1aWxkPS4vQFN8QAorIGRlc3Q9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzCisgY2QgLi9AU3xACisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXBy ZWZpeCAvQFN8QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMyBmaWxlPS4vQFN8QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFd wqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9AU3xAwqDCuwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xALXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4 L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL0BTfEDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xA LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8 QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xA LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz Ly4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzLy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy8uL0BTfEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMyBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgYnVpbGQgcXVhZHJpZ3JhcGgzCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDMgc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQg cXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgzCisgc2hpZnQKKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHF1 YWRyaWdyYXBoMyBpbiBidWlsZGRpcgorIHNldCAreApvayA3NyAtIHF1YWRyaWdyYXBoMyBp biBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDc3IC0gcXVhZHJpZ3JhcGgzIGluIGJ1 aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9AU3xAIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vQFN8QCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMKKyBybSAtcmYgLi9AU3xAIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMworIF9hbV9ybXJmX3N0 YXR1cz0wCisgdGVzdCAtZSAuL0BTfEAKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMworIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWls ZC1xdWFkcmlncmFwaDMKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xACisgbWtkaXIgYnVp bGQtcXVhZHJpZ3JhcGgzCisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgzCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvQFN8QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAIGZpbGU9Li9AU3xAIG1ha2Ug dGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLXF1YWRyaWdyYXBoM8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xAL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9A U3xALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZp eC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8 QC9AU3xALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJyAm JiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz L0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDPCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJl Zml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4v QFN8QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9u b2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4 L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAv Li9AU3xALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1 YWRyaWdyYXBoMyBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdy YXBoMworIGlzX2luX2xpc3QgcXVhZHJpZ3JhcGgzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMworIHNoaWZ0 CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBxdWFkcmlncmFwaDMgaW4gZGVzdGRpcgorIHNldCAreApvayA3OCAtIHF1YWRyaWdy YXBoMyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNzggLSBxdWFkcmlncmFwaDMg aW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRy aWdyYXBoMyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1S IHUrcnd4IGJ1aWxkLXF1YWRyaWdyYXBoMyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QAorIHJtIC1y ZiBidWlsZC1xdWFkcmlncmFwaDMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtcXVhZHJpZ3JhcGgzCisgdGVzdCAtZSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMvQFN8QAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNl dCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGg0fQorIHRl c3Rfc3RyaW5nPUAlOkAKKyB0ZXN0IHhAJTpAID0geAorIG1rZGlyIC4vQCU6QAorIGNkIC4v QCU6QAorIGJ1aWxkPS4vQCU6QAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0CisgY2QgLi9AJTpA Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQCU6QC1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNCBmaWxlPS4v QCU6QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9AJTpAwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo NC9AJTpALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo NC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6 QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zvby9zdWIv JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0Al OkAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0Al OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoNC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv QCU6QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL0AlOkDCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL25vYmFzZS5k YXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9zdWIv bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zv by9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgv Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9m b28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAt cHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9A JTpALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoNCBp biBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJpZ3JhcGg0CisgaXNf aW5fbGlzdCBxdWFkcmlncmFwaDQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 cXVhZHJpZ3JhcGg0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249 CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHF1YWRyaWdyYXBoNCBpbiBidWlsZGRpcgorIHNl dCAreApvayA3OSAtIHF1YWRyaWdyYXBoNCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDc5IC0gcXVhZHJpZ3JhcGg0IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0g b2sKKyBybV9yZl8gLi9AJTpAIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNAorIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IC4vQCU6QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQKKyBybSAtcmYgLi9AJTpAIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoNAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL0AlOkAKKyB0 ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoNAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDQKKyBkZXN0PS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpACisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGg0CisgY2QgYnVpbGQt cXVhZHJpZ3JhcGg0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQCU6QC1wcmVm aXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4g eWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0 aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi L2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoNC9AJTpAIGZpbGU9Li9AJTpAIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50 cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoNMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0Al OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0Al OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9v JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA L0AlOkAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9z dWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0 L0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAt cHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9A JTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9A JTpALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFw aDTCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6 QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv QCU6QC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6 QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAv Li9AJTpALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28vbGlibm9iYXNl LmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoNCBpbiBkZXN0ZGlyCisgZXhw ZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoNAorIGlzX2luX2xpc3QgcXVhZHJpZ3Jh cGg0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IK KyBpdGVtPXF1YWRyaWdyYXBoNAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDQgaW4gZGVzdGRp cgorIHNldCAreApvayA4MCAtIHF1YWRyaWdyYXBoNCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgODAgLSBxdWFkcmlncmFwaDQgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRyaWdyYXBoNCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6 QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1YWRyaWdyYXBoNCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QAorIHJtIC1yZiBidWlsZC1xdWFkcmlncmFwaDQgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGg0L0AlOkAKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtcXVh ZHJpZ3JhcGg0CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QAorIHJldHVybiAwCisg OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7 aW5zdHNwY19fYV9ifQorIHRlc3Rfc3RyaW5nPWEgYgorIHRlc3QgeGEgYiA9IHgKKyBta2Rp ciAuL2EgYgorIGJ1aWxkPS4vYSBiCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IKKyBjZCAuL2EgYgorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2EgYi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0 YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4u IGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2lu ZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1P MiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3Vy Y2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAt byBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3Vi L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp Ym5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYiBmaWxlPS4vYSBiIG1ha2UgdGVzdC1pbnN0 Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2EgYsKgwrsKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2Iv YSBiLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9iL2EgYi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28v c3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5v YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9hIGLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL25v YmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2Eg Yi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9h IGItcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBi LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZp eC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFfYiBpbiBidWlsZGRpcgorIGV4cGVj dGVkX3RvX2ZhaWwgYnVpbGQgYV9iCisgaXNfaW5fbGlzdCBhX2Igc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09YV9iCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGFfYiBpbiBidWlsZGRpcgorIHNl dCAreApvayA4MSAtIGFfYiBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDgxIC0g YV9iIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9hIGIg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9iCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9hIGIgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iCisg cm0gLXJmIC4vYSBiIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL2Eg YgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0 ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWFfYgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYgorIG1rZGly IGJ1aWxkLWFfYgorIGNkIGJ1aWxkLWFfYgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVm aXggL2EgYi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGIgZmlsZT0uL2EgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1hX2LCoMK7CiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9h IGIvYSBiLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9h IGIvYSBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9h IGItcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtYV9iwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf Yi9hIGIvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8u L2EgYi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1hX2IgaW4gZGVzdGRpcgorIGV4cGVj dGVkX3RvX2ZhaWwgZGVzdCBhX2IKKyBpc19pbl9saXN0IGFfYiBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hX2IKKyBzaGlmdAor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAg LS0gYV9iIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgODIgLSBhX2IgaW4gZGVzdGRpcgpQQVNT OiB0L2luc3RzcGMudGFwIDgyIC0gYV9iIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyBidWlsZC1hX2IgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYgorIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IGJ1aWxkLWFfYiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiCisgcm0gLXJmIGJ1aWxkLWFfYiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWFfYgorIHRl c3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9iL2EgYgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVk IHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYV9fYn0KKyB0ZXN0X3N0 cmluZz1hICBiCisgdGVzdCB4YSAgYiA9IHgKKyBta2RpciAuL2EgIGIKKyBidWlsZD0uL2Eg IGIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IKKyBjZCAuL2EgIGIKKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC9hICBiLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERF U1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9fYiBmaWxlPS4vYSAgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9hICBiwqDCuwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf X2IvYSAgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YV9fYi9hICBiLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1 Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJyAmJiBy YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28vc3Vi LycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2Iv YSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2EgIGLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9zdWIvbm9i YXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X19iLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvLi9h ICBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAg Yi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9z dWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbm9iYXNl Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFfX2Ig aW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGFfX2IKKyBpc19pbl9saXN0 IGFfX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YV9fYgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSBhX19iIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDgzIC0gYV9fYiBpbiBidWlsZGRpcgpQ QVNTOiB0L2luc3RzcGMudGFwIDgzIC0gYV9fYiBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVz dCBvayA9IG9rCisgcm1fcmZfIC4vYSAgYiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisgdGVzdCAyIC1ndCAwCisgY2ht b2QgLVIgdStyd3ggLi9hICBiIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IKKyBybSAtcmYgLi9hICBiIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi9hICBiCisgdGVzdCAtZSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLWFfX2IKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgorIG1rZGlyIGJ1aWxkLWFfX2IKKyBjZCBi dWlsZC1hX19iCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvYSAgYi1wcmVmaXgK Y2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAt cApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQg dmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0 aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxl ciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3 aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVz IChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVy ZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0 IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25m aWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGlu ZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIg LUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291 cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu VHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xp YmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJi YXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYiBm aWxlPS4vYSAgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9idWlsZC1hX19iwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiL2EgIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAgL3Vzci9iaW4v aW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9h ICBiLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19i L2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2Eg IGItcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIv YSAgYi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBi LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWFfX2LCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19i L2EgIGIvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIv Li9hICBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi8uL2EgIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2Iv YSAgYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi Ly4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi Ly4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9h ICBiLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9hICBiLXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2Eg IGItcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9h ICBiLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFfX2IgaW4gZGVzdGRp cgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBhX19iCisgaXNfaW5fbGlzdCBhX19iIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWFf X2IKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gYV9fYiBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDg0IC0gYV9fYiBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgODQgLSBhX19iIGluIGRlc3RkaXIKKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIK KyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1 cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1hX19iIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWFfX2IgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi Cisgcm0gLXJmIGJ1aWxkLWFfX2IgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLWFfX2IKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgorIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5n PSR7aW5zdHNwY19fYV9sZl9ifQorIHRlc3Rfc3RyaW5nPWEKYgorIHRlc3QgeGEKYiA9IHgK KyBta2RpciAuL2EKYgorIGJ1aWxkPS4vYQpiCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2xmX2IKKyBjZCAuL2EK YgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2EKYi1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBjb25maWd1cmU6 IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQorIHI9bm90 IG9rCisgZGVzY3JpcHRpb249YV9sZl9iIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFp bCBidWlsZCBhX2xmX2IKKyBpc19pbl9saXN0IGFfbGZfYiBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1hX2xmX2IKKyBzaGlmdAorIHJldHVybiAwCisgZGlyZWN0aXZlPVRP RE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVzdWx0XyBub3Qgb2sg LUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gYV9sZl9iIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm5vdCBvayA4NSAtIGFfbGZfYiBpbiBidWlsZGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDg1IC0gYV9sZl9i IGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IGJ1aWxkPWJ1aWxkLWFfbGZfYgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9sZl9iL2EKYgorIG1rZGlyIGJ1aWxk LWFfbGZfYgorIGNkIGJ1aWxkLWFfbGZfYgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVm aXggL2EKYi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czogZXJyb3I6IGluIGAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYV9sZl9iJzoK Y29uZmlnLnN0YXR1czogZXJyb3I6IFNvbWV0aGluZyB3ZW50IHdyb25nIGJvb3RzdHJhcHBp bmcgbWFrZWZpbGUgZnJhZ21lbnRzCiAgICBmb3IgYXV0b21hdGljIGRlcGVuZGVuY3kgdHJh Y2tpbmcuICBJZiBHTlUgbWFrZSB3YXMgbm90IHVzZWQsIGNvbnNpZGVyCiAgICByZS1ydW5u aW5nIHRoZSBjb25maWd1cmUgc2NyaXB0IHdpdGggTUFLRT0iZ21ha2UiIChvciB3aGF0ZXZl ciBpcwogICAgbmVjZXNzYXJ5KS4gIFlvdSBjYW4gYWxzbyB0cnkgcmUtcnVubmluZyBjb25m aWd1cmUgd2l0aCB0aGUKICAgICctLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZycgb3B0 aW9uIHRvIGF0IGxlYXN0IGJlIGFibGUgdG8gYnVpbGQKICAgIHRoZSBwYWNrYWdlIChhbGJl aXQgd2l0aG91dCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZyku ClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIHI9bm90IG9rCisgZGVzY3Jp cHRpb249YV9sZl9iIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYV9sZl9i CisgaXNfaW5fbGlzdCBhX2xmX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09YV9sZl9iCisgc2hpZnQKKyByZXR1cm4gMAorIGRp cmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3Vs dF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGFfbGZf YiBpbiBkZXN0ZGlyCisgc2V0ICt4Cm5vdCBvayA4NiAtIGFfbGZfYiBpbiBkZXN0ZGlyICMg VE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgODYg LSBhX2xmX2IgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNl dCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZG90ZG90ZG90fQorIHRlc3Rf c3RyaW5nPS4uLgorIHRlc3QgeC4uLiA9IHgKKyBta2RpciAuLy4uLgorIGJ1aWxkPS4vLi4u CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QKKyBjZCAuLy4uLgorIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggLy4uLi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAg IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy dSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBE RVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdCBmaWxlPS4vLi4uIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3C oDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLy4uLsKgwrsKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vJwogIC91 c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3Qv Li4uLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRv dGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4t cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4 L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90 Ly4uLi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8uLi7CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9ub2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPWRvdGRvdGRvdCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgZG90 ZG90ZG90CisgaXNfaW5fbGlzdCBkb3Rkb3Rkb3Qgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09ZG90ZG90ZG90Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGRvdGRvdGRvdCBpbiBidWlsZGRpcgor IHNldCAreApvayA4NyAtIGRvdGRvdGRvdCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDg3IC0gZG90ZG90ZG90IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gLi8uLi4gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90CisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIg dStyd3ggLi8uLi4gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Cisgcm0gLXJmIC4vLi4uIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdAor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLy4uLgorIHRlc3QgLWUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1 aWxkPWJ1aWxkLWRvdGRvdGRvdAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLgorIG1rZGlyIGJ1 aWxkLWRvdGRvdGRvdAorIGNkIGJ1aWxkLWRvdGRvdGRvdAorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggLy4uLi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQg LW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUg aW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5n IHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNl Lm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl IHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy IGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEK KyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4gZmlsZT0uLy4uLiBtYWtlIHRlc3QtaW5zdApt YWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1kb3Rkb3Rk b3TCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLi4vLi4uLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLy4uLi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24g cXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG90ZG90ZG90wqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0 Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9m b28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4 L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4 L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJl Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVm aXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgv Zm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4u LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8u Ly4uLi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1kb3Rkb3Rkb3QgaW4g ZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBkb3Rkb3Rkb3QKKyBpc19pbl9saXN0 IGRvdGRvdGRvdCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQg YV9sZl9iCisgaXRlbT1kb3Rkb3Rkb3QKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gZG90ZG90ZG90IGluIGRlc3Rk aXIKKyBzZXQgK3gKb2sgODggLSBkb3Rkb3Rkb3QgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDg4IC0gZG90ZG90ZG90IGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190 ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBv aworIHJtX3JmXyBidWlsZC1kb3Rkb3Rkb3QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLgorIHRlc3QgMiAt Z3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWRvdGRvdGRvdCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4u Cisgcm0gLXJmIGJ1aWxkLWRvdGRvdGRvdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uCisgX2FtX3JtcmZf c3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWRvdGRvdGRvdAorIHRlc3QgLWUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90Ly4uLgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4K KyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZG9zZHJpdmV9CisgdGVzdF9zdHJpbmc9 YToKKyB0ZXN0IHhhOiA9IHgKKyBta2RpciAuL2E6CisgY2QgLi9hOgorIGJ1aWxkPS4vYToK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlCisgY2QgLi9hOgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggL2E6LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG9zZHJpdmUgZmlsZT0uL2E6IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24g ZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2E6wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS9hOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZS9hOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz dWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9z ZHJpdmUvYTotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgv Zm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2E6 wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4v YTotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTot cHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgv Zm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL3N1Yi9s aWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vbGli bm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1kb3Nkcml2ZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgYnVpbGQgZG9zZHJpdmUKKyBpc19pbl9saXN0IGRvc2RyaXZlIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRy aWdyYXBoMCBhX2xmX2IKKyBpdGVtPWRvc2RyaXZlCisgc2hpZnQKKyByZXR1cm4gMQorIGRp cmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGRvc2RyaXZlIGlu IGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDg5IC0gZG9zZHJpdmUgaW4gYnVpbGRkaXIKUEFTUzog dC9pbnN0c3BjLnRhcCA4OSAtIGRvc2RyaXZlIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gLi9hOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZQorIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IC4vYTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUKKyBybSAtcmYgLi9hOiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL2E6CisgdGVzdCAtZSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBi dWlsZD1idWlsZC1kb3Nkcml2ZQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYToKKyBta2RpciBidWls ZC1kb3Nkcml2ZQorIGNkIGJ1aWxkLWRvc2RyaXZlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvYTotcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Nkcml2ZS9hOiBmaWxlPS4vYTogbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKg OiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG9zZHJpdmXCoMK7CiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTov YTotcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nICYm IHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTot cHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZS9hOi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTot cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9m b28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9z ZHJpdmUvYTovYTotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYTovYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6 LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4v aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZS9hOi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTot cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zvby9z dWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG9zZHJp dmXCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9ub2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9saWJub2Jhc2UuYScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWRvc2RyaXZlIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRl c3QgZG9zZHJpdmUKKyBpc19pbl9saXN0IGRvc2RyaXZlIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWRvc2RyaXZlCisgc2hpZnQK KyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIg IC0tIGRvc2RyaXZlIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgOTAgLSBkb3Nkcml2ZSBpbiBk ZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgOTAgLSBkb3Nkcml2ZSBpbiBkZXN0ZGlyCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtZG9zZHJpdmUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYToKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1kb3Nkcml2ZSAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Nkcml2ZS9hOgorIHJtIC1yZiBidWlsZC1kb3Nkcml2ZSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOgor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1kb3Nkcml2ZQorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvYToKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBz ZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21pc2NnbG9iMX0KKyB0ZXN0 X3N0cmluZz0/W2Etel0qCisgdGVzdCB4P1thLXpdKiA9IHgKKyBta2RpciAuLz9bYS16XSoK KyBidWlsZD0uLz9bYS16XSoKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMQorIGNkIC4vP1thLXpdKgor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLz9bYS16XSotcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBh bGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEgZmlsZT0uLz9b YS16XSogbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvP1thLXpdKsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Et el0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9z dWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9b YS16XSotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28v c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/ W2Etel0qLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/ W2Etel0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Ix Lz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8/W2Etel0qwqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9u b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9m b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSot cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSot cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16 XSotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpd Ki1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1w cmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/ W2Etel0qLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Ix Ly4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xv YjEgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIG1pc2NnbG9iMQorIGlz X2luX2xpc3QgbWlzY2dsb2IxIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi c2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1p c2NnbG9iMQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJl c3VsdF8gb2sgLUQgIC1yICAtLSBtaXNjZ2xvYjEgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sg OTEgLSBtaXNjZ2xvYjEgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA5MSAtIG1p c2NnbG9iMSBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4v P1thLXpdKiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjEKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAu Lz9bYS16XSogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxCisgcm0gLXJmIC4vP1thLXpdKiAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEK KyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8/W2Etel0qCisgdGVzdCAtZSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjEKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgYnVpbGQ9YnVpbGQtbWlzY2dsb2IxCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKgor IG1rZGlyIGJ1aWxkLW1pc2NnbG9iMQorIGNkIGJ1aWxkLW1pc2NnbG9iMQorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLz9bYS16XSotcHJlZml4CmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJz dGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAt TzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291 cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1 Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKiBmaWxlPS4vP1th LXpdKiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1taXNjZ2xvYjHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Ix Lz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/ W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0q LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycgJiYgcmFu bGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEv P1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/ W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1th LXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSov P1thLXpdKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zv by9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWlz Y2dsb2IxwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki8uLz9bYS16XSotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28v bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSot cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8u Lz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1th LXpdKi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSov Li8/W2Etel0qLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xvYjEgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBtaXNjZ2xvYjEKKyBpc19pbl9saXN0IG1pc2NnbG9iMSBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1taXNjZ2xv YjEKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gbWlzY2dsb2IxIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgOTIgLSBt aXNjZ2xvYjEgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDkyIC0gbWlzY2dsb2Ix IGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1taXNj Z2xvYjEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSoKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCBidWlsZC1taXNjZ2xvYjEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSoKKyBybSAtcmYgYnVp bGQtbWlzY2dsb2IxIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLW1pc2NnbG9iMQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16 XSoKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZh bCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21pc2NnbG9iMn0KKyB0ZXN0X3N0cmluZz0uKj9b MC05XQorIHRlc3QgeC4qP1swLTldID0geAorIG1rZGlyIC4vLio/WzAtOV0KKyBidWlsZD0u Ly4qP1swLTldCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIKKyBjZCAuLy4qP1swLTldCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLio/WzAtOV0tcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIgZmlsZT0uLy4qP1swLTld IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLy4qP1swLTldwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9v L3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJyAmJiByYW5s aWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4q P1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAt OV0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi L25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4q P1swLTldLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLy4qP1swLTldwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTld LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4q P1swLTldLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvbGli bm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zv by9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xvYjIgaW4gYnVpbGRkaXIK KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIG1pc2NnbG9iMgorIGlzX2luX2xpc3QgbWlzY2ds b2IyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5k IGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBtaXNjZ2xvYjIgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgOTMgLSBtaXNjZ2xvYjIg aW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA5MyAtIG1pc2NnbG9iMiBpbiBidWls ZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vLio/WzAtOV0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8uKj9bMC05XSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIKKyBybSAtcmYgLi8uKj9bMC05XSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgLi8uKj9bMC05XQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLW1pc2NnbG9iMgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldCisgbWtkaXIgYnVp bGQtbWlzY2dsb2IyCisgY2QgYnVpbGQtbWlzY2dsb2IyCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvLio/WzAtOV0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAt ZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2Uu YQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz ZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0gZmlsZT0uLy4qP1swLTldIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLW1pc2NnbG9iMsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgv Zm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Iy Ly4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1sw LTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1 Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/ WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9b MC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld Ly4qP1swLTldLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1taXNjZ2xvYjLC oMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4 L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0 Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9b MC05XS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/WzAtOV0t cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05 XS8uLy4qP1swLTldLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu YScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uLy4q P1swLTldLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPW1pc2NnbG9iMiBp biBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IG1pc2NnbG9iMgorIGlzX2luX2xp c3QgbWlzY2dsb2IyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVl ZCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBtaXNjZ2xvYjIgaW4gZGVz dGRpcgorIHNldCAreApvayA5NCAtIG1pc2NnbG9iMiBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgOTQgLSBtaXNjZ2xvYjIgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9 IG9rCisgcm1fcmZfIGJ1aWxkLW1pc2NnbG9iMiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0KKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1taXNjZ2xvYjIgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4qP1swLTldCisgcm0gLXJmIGJ1aWxkLW1pc2NnbG9iMiAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/ WzAtOV0KKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtbWlzY2dsb2IyCisg dGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0KKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgOgorIGFtX2V4aXRfdHJhcCAwCisgZXhpdF9zdGF0 dXM9MAorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIKKyB0ZXN0IHRhcCA9IHRhcAorIHRlc3QgOTQgPSBsYXRlcgorIHRlc3QgMCAtZXEgMAor IHRlc3QgNzcgLWVxIDk0Cisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpcgo9PT09 PT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRl c3QgUHJvdG9jb2w6IHRhcApQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4 Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NU TTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFy bS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBw d2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFj cm9kaXIuZGlyCisgcGxhbl8gNworIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRl c3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHg3ID0geHVua25vd24KKyB0ZXN0IHg3ID0geGxh dGVyCisgdGVzdCB4NyA9IHhsYXp5CisgdGVzdCB4NyA9IHhub3cKKyB0ZXN0IDcgLWdlIDAK KyBwbGFubmVkXz03CisgZWNobyAxLi43CjEuLjcKKyBwd2QKKyBvY3dkPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRpcgorIHVu c2V0IEFDTE9DQUxfUEFUSAorIHRjb3VudD0wCisgcj1pbnZhbGlkCisgZGVzY3JpcHRpb249 CisgZGlyZWN0aXZlPQorIHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25v cmVkCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJ UiBpcyBob25vcmVkCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUiBp cyBob25vcmVkCisgc2hpZnQKKyB0Y291bnQ9MQorIHRlc3QgMSAtZ3QgMAorIG1rZGlyIDEu ZAorIGNkIDEuZAorIGNhdAorIG1rZGlyIG1hY3JvLWRpcgorIGVjaG8gQUNfREVGVU4oW01Z X0ZPT10sIFs6Om15Ojpmb286Ol0pCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dy ZXAgLUYgbTRfaW5jbHVkZShbbWFjcm8tZGlyL2Zvby5tNF0pIGFjbG9jYWwubTQKbTRfaW5j bHVkZShbbWFjcm8tZGlyL2Zvby5tNF0pCisgYXV0b2NvbmYKKyBub3QgL2Jpbi9ncmVwIC1G IE1ZX0ZPTyBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYgTVlfRk9PIGNvbmZpZ3VyZQorIC9i aW4vZ3JlcCAtRiA6Om15Ojpmb286OiBjb25maWd1cmUKOjpteTo6Zm9vOjoKKyB0ZXN0X2Vu ZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25vcmVkCisgY2QgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXIuZGly CisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25vcmVkCisg c2V0ICt4Cm9rIDEgLSBBQ19DT05GSUdfTUFDUk9fRElSIGlzIGhvbm9yZWQKUEFTUzogdC9h Y2xvY2FsLW1hY3JvZGlyLnRhcCAxIC0gQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25vcmVk CisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMS5kCisgcj1pbnZhbGlkIGRp cmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElS KFtmb29dKSBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIHRlc3QgLW4gCisgcj1vawor IGRlc2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGludGVyYWN0aW9uIHdp dGggLS1pbnN0YWxsCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUihb Zm9vXSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKKyBzaGlmdAorIHRjb3VudD0yCisg dGVzdCAyIC1ndCAwCisgbWtkaXIgMi5kCisgY2QgMi5kCisgY2F0CisgbWtkaXIgc3lzLWRp ciB0aGUtZGlyCisgZWNobyBBQ19ERUZVTihbVEhFX01BQ1JPXSwgWzpdKQorIHRlc3QgISAt ciB0aGUtZGlyL215Lm00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLS1pbnN0YWxsIC0tc3lz dGVtLWFjZGlyIC4vc3lzLWRpcgphY2xvY2FsLTEuMTY6IGluc3RhbGxpbmcgJ3RoZS1kaXIv bXkubTQnIGZyb20gJ3N5cy1kaXIvbXkubTQnCisgZGlmZiBzeXMtZGlyL215Lm00IHRoZS1k aXIvbXkubTQKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUihbZm9v XSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2Rpci5kaXIKKyByZXN1bHRfIG9r IC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSKFtmb29dKSBpbnRlcmFjdGlvbiB3aXRoIC0t aW5zdGFsbAorIHNldCAreApvayAyIC0gQUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkgaW50 ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlyLnRhcCAy IC0gQUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3Rh bGwKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAyLmQKKyByPWludmFsaWQg ZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luICctSScgb3B0aW9uIHdpbnMg b3ZlciBBQ19DT05GSUdfTUFDUk9fRElSCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRp b249Jy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NPTkZJR19NQUNST19ESVIKKyBkaXJlY3Rp dmU9CisgZWNobyAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUgor IHNoaWZ0CisgdGNvdW50PTMKKyB0ZXN0IDMgLWd0IDAKKyBta2RpciAzLmQKKyBjZCAzLmQK KyBjYXQKKyBta2RpciBkaXIxIGRpcjIKKyBlY2hvIEFDX0RFRlVOKFtNWV9GT09dLCBbOjpr bzo6a286Ol0pCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6b2s6Om9rOjpdKQorIGFj bG9jYWwtMS4xNiAtV2Vycm9yIC1JIGRpcjIKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMi8yLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIyLzIubTRdKQorIG5vdCAv YmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMS8xLm00XSkgYWNsb2NhbC5tNAorIC9iaW4v Z3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIxLzEubTRdKSBhY2xvY2FsLm00CisgYXV0b2NvbmYK KyBub3QgL2Jpbi9ncmVwIC1GIDo6a286OmtvOjogY29uZmlndXJlCisgL2Jpbi9ncmVwIC1G IDo6a286OmtvOjogY29uZmlndXJlCisgL2Jpbi9ncmVwIC1GIDo6b2s6Om9rOjogY29uZmln dXJlCjo6b2s6Om9rOjoKKyB0ZXN0X2VuZAorIHRlc3QgLXogJy1JJyBvcHRpb24gd2lucyBv dmVyIEFDX0NPTkZJR19NQUNST19ESVIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2Rpci5kaXIKKyByZXN1bHRfIG9rIC1EICAt LSAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUgorIHNldCAreApv ayAzIC0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NPTkZJR19NQUNST19ESVIKUEFTUzog dC9hY2xvY2FsLW1hY3JvZGlyLnRhcCAzIC0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NP TkZJR19NQUNST19ESVIKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAzLmQK KyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NP TkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdmb28nCisgdGVz dCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkg Y2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19DT05G SUdfTUFDUk9fRElSKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9vJworIHNoaWZ0 CisgdGNvdW50PTQKKyB0ZXN0IDQgLWd0IDAKKyBta2RpciA0LmQKKyBjZCA0LmQKKyBjYXQK KyBta2RpciBhY2RpcgorIGVjaG8gQUNfREVGVU4oW01ZX01BQ1JPXSwgWzpdKQorIHRlc3Qg ISAtZCBmb28KKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtLWluc3RhbGwgLS1zeXN0ZW0tYWNk aXIgLi9hY2RpcgphY2xvY2FsLTEuMTY6IGluc3RhbGxpbmcgJ2Zvby9iYXIubTQnIGZyb20g J2FjZGlyL2Jhci5tNCcKKyBkaWZmIGFjZGlyL2Jhci5tNCBmb28vYmFyLm00CisgdGVzdF9l bmQKKyB0ZXN0IC16IEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGly ZWN0b3J5ICdmb28nCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2FjbG9jYWwtbWFjcm9kaXIuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklH X01BQ1JPX0RJUihbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBzZXQgK3gK b2sgNCAtIEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5 ICdmb28nClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpci50YXAgNCAtIEFDX0NPTkZJR19NQUNS T19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdmb28nCisgdGVzdCAteiAKKyB0 ZXN0IG9rID0gb2sKKyBybSAtcmYgNC5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3Jp cHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3RlbnRd KSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlw dGlvbj1BQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1X dW5zdXBwb3J0ZWQKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19DT05GSUdfTUFDUk9fRElSKFtu b24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyBzaGlmdAorIHRjb3Vu dD01CisgdGVzdCA1IC1ndCAwCisgbWtkaXIgNS5kCisgY2QgNS5kCisgY2F0CisgYWNsb2Nh bC0xLjE2IC1XZXJyb3IgLVduby1lcnJvcgorIGNhdCBzdGRlcnIKYWNsb2NhbC0xLjE2OiB3 YXJuaW5nOiBjb3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnbm9uLWV4aXN0ZW50JzogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQorIGdyZXAgY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25v bi1leGlzdGVudCcgc3RkZXJyCmFjbG9jYWwtMS4xNjogd2FybmluZzogY291bGRuJ3Qgb3Bl biBkaXJlY3RvcnkgJ25vbi1leGlzdGVudCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK KyB0ZXN0IC1mIGFjbG9jYWwubTQKKyBybSAtcmYgYWNsb2NhbC5tNCBhdXRvbTR0ZS5jYWNo ZQorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC1XZXJyb3IgLVduby11bnN1cHBvcnRlZAorIHRl c3QgLWYgYWNsb2NhbC5tNAorIHRlc3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9f RElSKFtub24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2Rpci5k aXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3Rl bnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyBzZXQgK3gKb2sgNSAtIEFDX0NPTkZJ R19NQUNST19ESVIoW25vbi1leGlzdGVudF0pIHdhcm5zIHdpdGggLVd1bnN1cHBvcnRlZApQ QVNTOiB0L2FjbG9jYWwtbWFjcm9kaXIudGFwIDUgLSBBQ19DT05GSUdfTUFDUk9fRElSKFtu b24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyB0ZXN0IC16IAorIHRl c3Qgb2sgPSBvaworIHJtIC1yZiA1LmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlw dGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0pIGFu ZCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyB0ZXN0IC1uIAorIHI9b2sKKyBk ZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSKFtub3QtZXhpc3RdKSBhbmQgQUNMT0NB TF9BTUZMQUdTID0gLUkgbm90LWV4aXN0CisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklH X01BQ1JPX0RJUihbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1l eGlzdAorIHNoaWZ0CisgdGNvdW50PTYKKyB0ZXN0IDYgLWd0IDAKKyBta2RpciA2LmQKKyBj ZCA2LmQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV25vLWVycm9yCisg Y2F0IHN0ZGVycgphY2xvY2FsLTEuMTY6IHdhcm5pbmc6IGNvdWxkbid0IG9wZW4gZGlyZWN0 b3J5ICdub3QtZXhpc3QnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgZ3JlcCAtYyBj b3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnbm90LWV4aXN0JyBzdGRlcnIKKyB0ZXN0IDEgLWVx IDEKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUihbbm90LWV4aXN0 XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlzdAorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRpcgorIHJl c3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0pIGFuZCBB Q0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyBzZXQgK3gKb2sgNiAtIEFDX0NPTkZJ R19NQUNST19ESVIoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBub3Qt ZXhpc3QKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlyLnRhcCA2IC0gQUNfQ09ORklHX01BQ1JP X0RJUihbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlzdAor IHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDYuZAorIHI9aW52YWxpZCBkaXJl Y3RpdmU9IGRlc2NyaXB0aW9uPQorIGVjaG8gQUNfSU5JVCBBQ19DT05GSUdfTUFDUk9fRElS UworIGF1dG9jb25mIC1vL2Rldi9udWxsIC0KL2Rldi9udWxsOjE2NzE6IGVycm9yOiBwb3Nz aWJseSB1bmRlZmluZWQgbWFjcm86IEFDX0NPTkZJR19NQUNST19ESVJTCiAgICAgIElmIHRo aXMgdG9rZW4gYW5kIG90aGVycyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHVzZSBtNF9wYXR0 ZXJuX2FsbG93LgogICAgICBTZWUgdGhlIEF1dG9jb25mIGRvY3VtZW50YXRpb24uCisgc2tp cF8gLXIgYXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMgbm90IGRl ZmluZWQpCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIGF1dG9jb25mIGlzIHRvbyBvbGQgKEFD X0NPTkZJR19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQorIHNldCAreApvayA3ICMgU0tJUCBh dXRvY29uZiBpcyB0b28gb2xkIChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5lZCkK U0tJUDogdC9hY2xvY2FsLW1hY3JvZGlyLnRhcCA3ICMgU0tJUCBhdXRvY29uZiBpcyB0b28g b2xkIChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5lZCkKKyA6CisgYW1fZXhpdF90 cmFwIDAKKyBleGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCA3ID0gbGF0ZXIK KyB0ZXN0IDAgLWVxIDAKKyB0ZXN0IDYgLWVxIDcKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKUEFTUzogdC9hY2xvY2Fs LW1hY3JvZGlycwo9PT09PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46 L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hv bWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQv U0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyBwbGFuXyAxNQorIHRlc3QgMSAtZXEgMAor IHRlc3QgMSAtZ2UgMgorIHRlc3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHgxNSA9IHh1bmtu b3duCisgdGVzdCB4MTUgPSB4bGF0ZXIKKyB0ZXN0IHgxNSA9IHhsYXp5CisgdGVzdCB4MTUg PSB4bm93CisgdGVzdCAxNSAtZ2UgMAorIHBsYW5uZWRfPTE1CisgZWNobyAxLi4xNQoxLi4x NQorIHB3ZAorIG9jd2Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHVuc2V0IEFDTE9DQUxfUEFUSAorIHRjb3VudD0w Cisgcj1pbnZhbGlkCisgZGVzY3JpcHRpb249CisgZGlyZWN0aXZlPQorIHRlc3RfYmVnaW4g QUNfQ09ORklHX01BQ1JPX0RJUlMgaXMgaG9ub3JlZAorIHRlc3QgLW4gCisgcj1vaworIGRl c2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJTIGlzIGhvbm9yZWQKKyBkaXJlY3RpdmU9 CisgZWNobyBBQ19DT05GSUdfTUFDUk9fRElSUyBpcyBob25vcmVkCisgc2hpZnQKKyB0Y291 bnQ9MQorIHRlc3QgMSAtZ3QgMAorIG1rZGlyIDEuZAorIGNkIDEuZAorIGNhdAorIG1rZGly IG1hY3JvLWRpcgorIGVjaG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om15Ojpmb286Ol0pCisg YWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbbWFjcm8t ZGlyL2Zvby5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbbWFjcm8tZGlyL2Zvby5tNF0p CisgYXV0b2NvbmYKKyBub3QgL2Jpbi9ncmVwIC1GIE1ZX0ZPTyBjb25maWd1cmUKKyAvYmlu L2dyZXAgLUYgTVlfRk9PIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Om15Ojpmb286OiBj b25maWd1cmUKOjpteTo6Zm9vOjoKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01B Q1JPX0RJUlMgaXMgaG9ub3JlZAorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBB Q19DT05GSUdfTUFDUk9fRElSUyBpcyBob25vcmVkCisgc2V0ICt4Cm9rIDEgLSBBQ19DT05G SUdfTUFDUk9fRElSUyBpcyBob25vcmVkClBBU1M6IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFw IDEgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBpcyBob25vcmVkCisgdGVzdCAteiAKKyB0ZXN0 IG9rID0gb2sKKyBybSAtcmYgMS5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRp b249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGFyZ3VtZW50 cworIHRlc3QgLW4gCisgcj1vaworIGRlc2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJT IHNldmVyYWwgYXJndW1lbnRzCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JP X0RJUlMgc2V2ZXJhbCBhcmd1bWVudHMKKyBzaGlmdAorIHRjb3VudD0yCisgdGVzdCAyIC1n dCAwCisgbWtkaXIgMi5kCisgY2QgMi5kCisgY2F0CisgdGhyZWVfZGlyc19jaGVjaworIG1r ZGlyIGRpcjEgZGlyMiBkaXIzCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6bXk6OmZv bzo6XSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVJdLCBbISFteSEhYmFyISFdKQorIGVjaG8g QUNfREVGVU4oW01ZX0JBWl0sIFs9PW15PT1iYXo9PV0pCisgYWNsb2NhbC0xLjE2IC1XZXJy b3IKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMS9mb28ubTRdKSBhY2xvY2FsLm00 Cm00X2luY2x1ZGUoW2RpcjEvZm9vLm00XSkKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMi96YXAubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkKKyAv YmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMy8wLm00XSkgYWNsb2NhbC5tNAptNF9pbmNs dWRlKFtkaXIzLzAubTRdKQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRSBNWV8oRk9P fEJBUnxCQVopIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxCQVopIGNv bmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Om15Ojpmb286OiBjb25maWd1cmUKOjpteTo6Zm9v OjoKKyAvYmluL2dyZXAgLUYgISFteSEhYmFyISEgY29uZmlndXJlCiEhbXkhIWJhciEhCisg L2Jpbi9ncmVwIC1GID09bXk9PWJhej09IGNvbmZpZ3VyZQo9PW15PT1iYXo9PQorIHRlc3Rf ZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGFyZ3VtZW50cwor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1h Y3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyBz ZXZlcmFsIGFyZ3VtZW50cworIHNldCAreApvayAyIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMg c2V2ZXJhbCBhcmd1bWVudHMKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMiAtIEFD X0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgYXJndW1lbnRzCisgdGVzdCAteiAKKyB0ZXN0 IG9rID0gb2sKKyBybSAtcmYgMi5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRp b249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisg dGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJUlMgc2V2 ZXJhbCBjYWxscworIGRpcmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTIHNl dmVyYWwgY2FsbHMKKyBzaGlmdAorIHRjb3VudD0zCisgdGVzdCAzIC1ndCAwCisgbWtkaXIg My5kCisgY2QgMy5kCisgY2F0CisgdGhyZWVfZGlyc19jaGVjaworIG1rZGlyIGRpcjEgZGly MiBkaXIzCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6bXk6OmZvbzo6XSkKKyBlY2hv IEFDX0RFRlVOKFtNWV9CQVJdLCBbISFteSEhYmFyISFdKQorIGVjaG8gQUNfREVGVU4oW01Z X0JBWl0sIFs9PW15PT1iYXo9PV0pCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dy ZXAgLUYgbTRfaW5jbHVkZShbZGlyMS9mb28ubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1ZGUo W2RpcjEvZm9vLm00XSkKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMi96YXAubTRd KSBhY2xvY2FsLm00Cm00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkKKyAvYmluL2dyZXAgLUYg bTRfaW5jbHVkZShbZGlyMy8wLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIzLzAu bTRdKQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxCQVopIGNv bmZpZ3VyZQorIC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxCQVopIGNvbmZpZ3VyZQorIC9i aW4vZ3JlcCAtRiA6Om15Ojpmb286OiBjb25maWd1cmUKOjpteTo6Zm9vOjoKKyAvYmluL2dy ZXAgLUYgISFteSEhYmFyISEgY29uZmlndXJlCiEhbXkhIWJhciEhCisgL2Jpbi9ncmVwIC1G ID09bXk9PWJhej09IGNvbmZpZ3VyZQo9PW15PT1iYXo9PQorIHRlc3RfZW5kCisgdGVzdCAt eiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHJl c3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgY2FsbHMKKyBz ZXQgK3gKb2sgMyAtIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgY2FsbHMKUEFTUzog dC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMyAtIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVy YWwgY2FsbHMKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAzLmQKKyByPWlu dmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19N QUNST19ESVJTIGV4dHJhIHdoaXRlc3BhY2UKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlw dGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNwYWNlCisgZGlyZWN0aXZl PQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQorIHNoaWZ0 CisgdGNvdW50PTQKKyB0ZXN0IDQgLWd0IDAKKyBta2RpciA0LmQKKyBjZCA0LmQKKyBic2xh c2g9XAorIGNhdAorIHRocmVlX2RpcnNfY2hlY2sKKyBta2RpciBkaXIxIGRpcjIgZGlyMwor IGVjaG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om15Ojpmb286Ol0pCisgZWNobyBBQ19ERUZV TihbTVlfQkFSXSwgWyEhbXkhIWJhciEhXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVpdLCBb PT1teT09YmF6PT1dKQorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgL2Jpbi9ncmVwIC1GIG00 X2luY2x1ZGUoW2RpcjEvZm9vLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL2Zv by5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkgYWNsb2Nh bC5tNAptNF9pbmNsdWRlKFtkaXIyL3phcC5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1 ZGUoW2RpcjMvMC5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMy8wLm00XSkKKyBh dXRvY29uZgorIG5vdCAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUK KyAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAvYmluL2dyZXAg LUYgOjpteTo6Zm9vOjogY29uZmlndXJlCjo6bXk6OmZvbzo6CisgL2Jpbi9ncmVwIC1GICEh bXkhIWJhciEhIGNvbmZpZ3VyZQohIW15ISFiYXIhIQorIC9iaW4vZ3JlcCAtRiA9PW15PT1i YXo9PSBjb25maWd1cmUKPT1teT09YmF6PT0KKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09O RklHX01BQ1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRf IG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNwYWNlCisgc2V0 ICt4Cm9rIDQgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNwYWNlClBBU1M6 IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFwIDQgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRy YSB3aGl0ZXNwYWNlCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgNC5kCisg cj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05G SUdfTUFDUk9fRElSUyBwcmVjZWRlbmNlCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRp b249QUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQorIGRpcmVjdGl2ZT0KKyBlY2hv IEFDX0NPTkZJR19NQUNST19ESVJTIHByZWNlZGVuY2UKKyBzaGlmdAorIHRjb3VudD01Cisg dGVzdCA1IC1ndCAwCisgbWtkaXIgNS5kCisgY2QgNS5kCisgY2F0CisgbWtkaXIgZGlyMSBk aXIyIGRpcjMKKyBlY2hvIEFDX0RFRlVOKFtNWV9GT09dLCBbT0stRm9vXSkKKyBlY2hvIEFD X0RFRlVOKFtNWV9GT09dLCBbS08tRm9vXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVJdLCBb T0stQmFyXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVJdLCBbS08tQmFyXSkKKyBlY2hvIEFD X0RFRlVOKFtNWV9CQVpdLCBbT0stQmF6XSkKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIC9i aW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIxL2IubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1 ZGUoW2RpcjEvYi5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvMS5tNF0p IGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMi8xLm00XSkKKyAvYmluL2dyZXAgLUYgbTRf aW5jbHVkZShbZGlyMy94Lm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIzL3gubTRd KQorIC9iaW4vZ3JlcCAtRiAtYyBtNF9pbmNsdWRlKFtkaXIxIGFjbG9jYWwubTQKKyB0ZXN0 IDEgLWVxIDEKKyAvYmluL2dyZXAgLUYgLWMgbTRfaW5jbHVkZShbZGlyMiBhY2xvY2FsLm00 CisgdGVzdCAxIC1lcSAxCisgL2Jpbi9ncmVwIC1GIC1jIG00X2luY2x1ZGUoW2RpcjMgYWNs b2NhbC5tNAorIHRlc3QgMSAtZXEgMQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRSBN WV8oRk9PfEJBUnxCQVopIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxC QVopIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiBPSy1Gb28gY29uZmlndXJlCk9LLUZvbwor IC9iaW4vZ3JlcCAtRiBPSy1CYXIgY29uZmlndXJlCk9LLUJhcgorIC9iaW4vZ3JlcCAtRiBP Sy1CYXogY29uZmlndXJlCk9LLUJhegorIG5vdCAvYmluL2dyZXAgLUYgS08tIGNvbmZpZ3Vy ZQorIC9iaW4vZ3JlcCAtRiBLTy0gY29uZmlndXJlCisgdGVzdF9lbmQKKyB0ZXN0IC16IEFD X0NPTkZJR19NQUNST19ESVJTIHByZWNlZGVuY2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBv ayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQorIHNldCAreApvayA1 IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQpQQVNTOiB0L2FjbG9jYWwtbWFj cm9kaXJzLnRhcCA1IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQorIHRlc3Qg LXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDUuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9 IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUlMgaW50ZXJh Y3Rpb24gd2l0aCAtLWluc3RhbGwKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1B Q19DT05GSUdfTUFDUk9fRElSUyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIGRpcmVj dGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTIGludGVyYWN0aW9uIHdpdGggLS1p bnN0YWxsCisgc2hpZnQKKyB0Y291bnQ9NgorIHRlc3QgNiAtZ3QgMAorIG1rZGlyIDYuZAor IGNkIDYuZAorIGNhdAorIG1rZGlyIHN5cy1kaXIgdGhlLWRpcgorIGVjaG8gQUNfREVGVU4o W1RIRV9NQUNST10sIFs6XSkKKyB0ZXN0ICEgLXIgdGhlLWRpci9teS5tNAorIGFjbG9jYWwt MS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5c3RlbS1hY2RpciAuL3N5cy1kaXIKYWNsb2Nh bC0xLjE2OiBpbnN0YWxsaW5nICd0aGUtZGlyL215Lm00JyBmcm9tICdzeXMtZGlyL215Lm00 JworIGRpZmYgc3lzLWRpci9teS5tNCB0aGUtZGlyL215Lm00CisgdGVzdF9lbmQKKyB0ZXN0 IC16IEFDX0NPTkZJR19NQUNST19ESVJTIGludGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFj cm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVJTIGlu dGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisgc2V0ICt4Cm9rIDYgLSBBQ19DT05GSUdfTUFD Uk9fRElSUyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbApQQVNTOiB0L2FjbG9jYWwtbWFj cm9kaXJzLnRhcCA2IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgaW50ZXJhY3Rpb24gd2l0aCAt LWluc3RhbGwKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiA2LmQKKyByPWlu dmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIHNldmVyYWwgQUNf Q09ORklHX01BQ1JPX0RJUlMgYXJndW1lbnRzIGFuZCAtLWluc3RhbGwKKyB0ZXN0IC1uIAor IHI9b2sKKyBkZXNjcmlwdGlvbj1zZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFyZ3Vt ZW50cyBhbmQgLS1pbnN0YWxsCisgZGlyZWN0aXZlPQorIGVjaG8gc2V2ZXJhbCBBQ19DT05G SUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAorIHNoaWZ0CisgdGNvdW50 PTcKKyB0ZXN0IDcgLWd0IDAKKyBta2RpciA3LmQKKyBjZCA3LmQKKyBjYXQKKyB0d29fZGly c19pbnN0YWxsX2NoZWNrCisgbWtkaXIgc3lzLWRpciBkaXIxIGRpcjIKKyBlY2hvIEFDX0RF RlVOKFtUSEVfTUFDUk9dLCBbOl0pCisgZWNobyBBQ19ERUZVTihbQVhfRk9PXSwgWzpdKQor IHRlc3QgISAtciBkaXIxL215Lm00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLS1pbnN0YWxs IC0tc3lzdGVtLWFjZGlyIC4vc3lzLWRpcgphY2xvY2FsLTEuMTY6IGluc3RhbGxpbmcgJ2Rp cjEvbXkubTQnIGZyb20gJ3N5cy1kaXIvbXkubTQnCisgZGlmZiBzeXMtZGlyL215Lm00IGRp cjEvbXkubTQKKyB0ZXN0ICEgLWUgZGlyMi9teS5tNAorIC9iaW4vZ3JlcCAtRiBtNF9pbmNs dWRlKFtkaXIxL215Lm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL215Lm00XSkK KyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMi96YXAubTRdKSBhY2xvY2FsLm00Cm00 X2luY2x1ZGUoW2RpcjIvemFwLm00XSkKKyB0ZXN0X2VuZAorIHRlc3QgLXogc2V2ZXJhbCBB Q19DT05GSUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAorIGNkIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5k aXIKKyByZXN1bHRfIG9rIC1EICAtLSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFy Z3VtZW50cyBhbmQgLS1pbnN0YWxsCisgc2V0ICt4Cm9rIDcgLSBzZXZlcmFsIEFDX0NPTkZJ R19NQUNST19ESVJTIGFyZ3VtZW50cyBhbmQgLS1pbnN0YWxsClBBU1M6IHQvYWNsb2NhbC1t YWNyb2RpcnMudGFwIDcgLSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFyZ3VtZW50 cyBhbmQgLS1pbnN0YWxsCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgNy5k Cisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBzZXZl cmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNhbGxzIGFuZCAtLWluc3RhbGwKKyB0ZXN0IC1u IAorIHI9b2sKKyBkZXNjcmlwdGlvbj1zZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNh bGxzIGFuZCAtLWluc3RhbGwKKyBkaXJlY3RpdmU9CisgZWNobyBzZXZlcmFsIEFDX0NPTkZJ R19NQUNST19ESVJTIGNhbGxzIGFuZCAtLWluc3RhbGwKKyBzaGlmdAorIHRjb3VudD04Cisg dGVzdCA4IC1ndCAwCisgbWtkaXIgOC5kCisgY2QgOC5kCisgY2F0CisgdHdvX2RpcnNfaW5z dGFsbF9jaGVjaworIG1rZGlyIHN5cy1kaXIgZGlyMSBkaXIyCisgZWNobyBBQ19ERUZVTihb VEhFX01BQ1JPXSwgWzpdKQorIGVjaG8gQUNfREVGVU4oW0FYX0ZPT10sIFs6XSkKKyB0ZXN0 ICEgLXIgZGlyMS9teS5tNAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5 c3RlbS1hY2RpciAuL3N5cy1kaXIKYWNsb2NhbC0xLjE2OiBpbnN0YWxsaW5nICdkaXIxL215 Lm00JyBmcm9tICdzeXMtZGlyL215Lm00JworIGRpZmYgc3lzLWRpci9teS5tNCBkaXIxL215 Lm00CisgdGVzdCAhIC1lIGRpcjIvbXkubTQKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMS9teS5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMS9teS5tNF0pCisgL2Jp bi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkgYWNsb2NhbC5tNAptNF9pbmNs dWRlKFtkaXIyL3phcC5tNF0pCisgdGVzdF9lbmQKKyB0ZXN0IC16IHNldmVyYWwgQUNfQ09O RklHX01BQ1JPX0RJUlMgY2FsbHMgYW5kIC0taW5zdGFsbAorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1 bHRfIG9rIC1EICAtLSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNhbGxzIGFuZCAt LWluc3RhbGwKKyBzZXQgK3gKb2sgOCAtIHNldmVyYWwgQUNfQ09ORklHX01BQ1JPX0RJUlMg Y2FsbHMgYW5kIC0taW5zdGFsbApQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCA4IC0g c2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBjYWxscyBhbmQgLS1pbnN0YWxsCisgdGVz dCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgOC5kCisgcj1pbnZhbGlkIGRpcmVjdGl2 ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNf Q09ORklHX01BQ1JPX0RJUlMKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj0nLUkn IG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBkaXJlY3RpdmU9Cisg ZWNobyAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBzaGlm dAorIHRjb3VudD05CisgdGVzdCA5IC1ndCAwCisgbWtkaXIgOS5kCisgY2QgOS5kCisgY2F0 CisgbWtkaXIgZGlyMSBkaXIyCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6a286Omtv OjpdKQorIGVjaG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om9rOjpvazo6XSkKKyBhY2xvY2Fs LTEuMTYgLVdlcnJvciAtSSBkaXIyCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIv Mi5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMi8yLm00XSkKKyBub3QgL2Jpbi9n cmVwIC1GIG00X2luY2x1ZGUoW2RpcjEvMS5tNF0pIGFjbG9jYWwubTQKKyAvYmluL2dyZXAg LUYgbTRfaW5jbHVkZShbZGlyMS8xLm00XSkgYWNsb2NhbC5tNAorIGF1dG9jb25mCisgbm90 IC9iaW4vZ3JlcCAtRiA6OmtvOjprbzo6IGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Omtv Ojprbzo6IGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Om9rOjpvazo6IGNvbmZpZ3VyZQo6 Om9rOjpvazo6CisgdGVzdF9lbmQKKyB0ZXN0IC16ICctSScgb3B0aW9uIHdpbnMgb3ZlciBB Q19DT05GSUdfTUFDUk9fRElSUworIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSAn LUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBzZXQgK3gKb2sg OSAtICctSScgb3B0aW9uIHdpbnMgb3ZlciBBQ19DT05GSUdfTUFDUk9fRElSUwpQQVNTOiB0 L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCA5IC0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NP TkZJR19NQUNST19ESVJTCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgOS5k Cisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19D T05GSUdfTUFDUk9fRElSUyhbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyB0 ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyhbZm9v XSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19D T05GSUdfTUFDUk9fRElSUyhbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBz aGlmdAorIHRjb3VudD0xMAorIHRlc3QgMTAgLWd0IDAKKyBta2RpciAxMC5kCisgY2QgMTAu ZAorIGNhdAorIG1rZGlyIGFjZGlyCisgZWNobyBBQ19ERUZVTihbTVlfTUFDUk9dLCBbOl0p CisgdGVzdCAhIC1kIGZvbworIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5 c3RlbS1hY2RpciAuL2FjZGlyCmFjbG9jYWwtMS4xNjogaW5zdGFsbGluZyAnZm9vL2Jhci5t NCcgZnJvbSAnYWNkaXIvYmFyLm00JworIGRpZmYgYWNkaXIvYmFyLm00IGZvby9iYXIubTQK KyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMoW2Zvb10pIGNhbiBj cmVhdGUgZGlyZWN0b3J5ICdmb28nCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0t IEFDX0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9v JworIHNldCAreApvayAxMCAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3Jl YXRlIGRpcmVjdG9yeSAnZm9vJwpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxMCAt IEFDX0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9v JworIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDEwLmQKKyByPWludmFsaWQg ZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19NQUNST19E SVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMSkKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNj cmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2FybnMgKDEp CisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1leGlzdGVu dF0pIHdhcm5zICgxKQorIHNoaWZ0CisgdGNvdW50PTExCisgdGVzdCAxMSAtZ3QgMAorIG1r ZGlyIDExLmQKKyBjZCAxMS5kCisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLVduby1l cnJvcgorIGNhdCBzdGRlcnIKYWNsb2NhbC0xLjE2OiB3YXJuaW5nOiBjb3VsZG4ndCBvcGVu IGRpcmVjdG9yeSAnbm9uLWV4aXN0ZW50JzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQor IGdyZXAgY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25vbi1leGlzdGVudCcgc3RkZXJyCmFj bG9jYWwtMS4xNjogd2FybmluZzogY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25vbi1leGlz dGVudCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyB0ZXN0IC1mIGFjbG9jYWwubTQK KyBybSAtcmYgYWNsb2NhbC5tNCBhdXRvbTR0ZS5jYWNoZQorIGFjbG9jYWwtMS4xNiAtV2Vy cm9yIC1XZXJyb3IgLVduby11bnN1cHBvcnRlZAorIHRlc3QgLWYgYWNsb2NhbC5tNAorIHRl c3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkg d2FybnMgKDEpCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19N QUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMSkKKyBzZXQgK3gKb2sgMTEgLSBB Q19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2FybnMgKDEpClBBU1M6IHQv YWNsb2NhbC1tYWNyb2RpcnMudGFwIDExIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1l eGlzdGVudF0pIHdhcm5zICgxKQorIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJm IDExLmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2lu IEFDX0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMikKKyB0ZXN0 IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4 aXN0ZW50XSkgd2FybnMgKDIpCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JP X0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgyKQorIHNoaWZ0CisgdGNvdW50PTEyCisg dGVzdCAxMiAtZ3QgMAorIG1rZGlyIDEyLmQKKyBjZCAxMi5kCisgY2F0CisgbWtkaXIgZGly LW9rCisgbm90IGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgY2F0IHN0ZGVycgorIGFjbG9jYWwt MS4xNiAtV2Vycm9yCmFjbG9jYWwtMS4xNjogZXJyb3I6IGNvdWxkbid0IG9wZW4gZGlyZWN0 b3J5ICdkaXIta28nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgZ3JlcCBjb3VsZG4n dCBvcGVuIGRpcmVjdG9yeSAnZGlyLWtvJyBzdGRlcnIKYWNsb2NhbC0xLjE2OiBlcnJvcjog Y291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ2Rpci1rbyc6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKKyBub3QgZ3JlcCBkaXItb2sgc3RkZXJyCisgZ3JlcCBkaXItb2sgc3RkZXJyCisg dGVzdCAhIC1lIGFjbG9jYWwubTQKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01B Q1JPX0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgyKQorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1 bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2Fy bnMgKDIpCisgc2V0ICt4Cm9rIDEyIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1leGlz dGVudF0pIHdhcm5zICgyKQpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxMiAtIEFD X0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMikKKyB0ZXN0IC16 IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAxMi5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0g ZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyhbZXhpc3Rl bnQgbm9uLWV4aXN0ZW50XSkgZXJyb3JzIG91dAorIHRlc3QgLW4gCisgcj1vaworIGRlc2Ny aXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJTKFtleGlzdGVudCBub24tZXhpc3RlbnRdKSBl cnJvcnMgb3V0CisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4 aXN0ZW50IG5vbi1leGlzdGVudF0pIGVycm9ycyBvdXQKKyBzaGlmdAorIHRjb3VudD0xMwor IHRlc3QgMTMgLWd0IDAKKyBta2RpciAxMy5kCisgY2QgMTMuZAorIGNhdAorIG1rZGlyIGRp ci1vaworIG5vdCBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV25vbmUgLS1pbnN0YWxsCisgY2F0 IHN0ZGVycgorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC1Xbm9uZSAtLWluc3RhbGwKYWNsb2Nh bC0xLjE2OiBlcnJvcjogY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ2Rpci1rbyc6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyBncmVwIGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICdk aXIta28nIHN0ZGVycgphY2xvY2FsLTEuMTY6IGVycm9yOiBjb3VsZG4ndCBvcGVuIGRpcmVj dG9yeSAnZGlyLWtvJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorIHRlc3QgISAtZSBk aXIta28KKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4aXN0 ZW50IG5vbi1leGlzdGVudF0pIGVycm9ycyBvdXQKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBv ayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4aXN0ZW50IG5vbi1leGlzdGVudF0p IGVycm9ycyBvdXQKKyBzZXQgK3gKb2sgMTMgLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbZXhp c3RlbnQgbm9uLWV4aXN0ZW50XSkgZXJyb3JzIG91dApQQVNTOiB0L2FjbG9jYWwtbWFjcm9k aXJzLnRhcCAxMyAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtleGlzdGVudCBub24tZXhpc3Rl bnRdKSBlcnJvcnMgb3V0CisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMTMu ZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNf Q09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxBR1MgPSAt SSBub3QtZXhpc3QKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdf TUFDUk9fRElSUyhbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1l eGlzdAorIGRpcmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTKFtub3QtZXhp c3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0Cisgc2hpZnQKKyB0Y291 bnQ9MTQKKyB0ZXN0IDE0IC1ndCAwCisgbWtkaXIgMTQuZAorIGNkIDE0LmQKKyBjYXQKKyBj YXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV25vLWVycm9yCisgY2F0IHN0ZGVycgphY2xv Y2FsLTEuMTY6IHdhcm5pbmc6IGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICdub3QtZXhpc3Qn OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgZ3JlcCAtYyBjb3VsZG4ndCBvcGVuIGRp cmVjdG9yeSAnbm90LWV4aXN0JyBzdGRlcnIKKyB0ZXN0IDEgLWVxIDEKKyB0ZXN0X2VuZAor IHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FM X0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAg LS0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxB R1MgPSAtSSBub3QtZXhpc3QKKyBzZXQgK3gKb2sgMTQgLSBBQ19DT05GSUdfTUFDUk9fRElS Uyhbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlzdApQQVNT OiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxNCAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtu b3QtZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0CisgdGVzdCAt eiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMTQuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9 IGRlc2NyaXB0aW9uPQorIGVjaG8gQUNfSU5JVCBBQ19DT05GSUdfTUFDUk9fRElSUworIGF1 dG9jb25mIC1vL2Rldi9udWxsIC0KL2Rldi9udWxsOjE2NzE6IGVycm9yOiBwb3NzaWJseSB1 bmRlZmluZWQgbWFjcm86IEFDX0NPTkZJR19NQUNST19ESVJTCiAgICAgIElmIHRoaXMgdG9r ZW4gYW5kIG90aGVycyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHVzZSBtNF9wYXR0ZXJuX2Fs bG93LgogICAgICBTZWUgdGhlIEF1dG9jb25mIGRvY3VtZW50YXRpb24uCisgc2tpcF8gLXIg YXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMgbm90IGRlZmluZWQp CisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIGF1dG9jb25mIGlzIHRvbyBvbGQgKEFDX0NPTkZJ R19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQorIHNldCAreApvayAxNSAjIFNLSVAgYXV0b2Nv bmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMgbm90IGRlZmluZWQpClNLSVA6 IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFwIDE1ICMgU0tJUCBhdXRvY29uZiBpcyB0b28gb2xk IChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5lZCkKKyA6CisgYW1fZXhpdF90cmFw IDAKKyBleGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCAxNSA9IGxhdGVyCisg dGVzdCAwIC1lcSAwCisgdGVzdCAxNCAtZXEgMTUKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKWEZBSUw6IHQvYWxsCj09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FsbC5kaXIKKyB0YXJnZXRzPWFs bCBpbnN0YWxsLWV4ZWMgaW5zdGFsbC1kYXRhIHVuaW5zdGFsbAorIGVjaG8gYWxsIGluc3Rh bGwtZXhlYyBpbnN0YWxsLWRhdGEgdW5pbnN0YWxsOgorIHNlZCAtZSBzL1sgOl0vLWxvY2Fs Ji9nCisgY2F0IE1ha2VmaWxlLmFtCmFsbC1sb2NhbCBpbnN0YWxsLWV4ZWMtbG9jYWwgaW5z dGFsbC1kYXRhLWxvY2FsIHVuaW5zdGFsbC1sb2NhbDoKKyBhY2xvY2FsLTEuMTYgLVdlcnJv cgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBncmVwIGFsbC1s b2NhbCBNYWtlZmlsZS5pbgphbGwtbG9jYWwgaW5zdGFsbC1leGVjLWxvY2FsIGluc3RhbGwt ZGF0YS1sb2NhbCB1bmluc3RhbGwtbG9jYWw6CisgZ3JlcCBhbGwtYW06LiphbGwtbG9jYWwg TWFrZWZpbGUuaW4KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25l ID0gdGFwCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9hbGwuc2ggKGV4aXQgc3Rh dHVzOiAxKQoKU0tJUDogdC9hbWhlbGxvLWNyb3NzLWNvbXBpbGUKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KCmFtaGVsbG8tY3Jvc3MtY29tcGlsZTogcnVubmluZyBpNTg2LW1p bmd3MzJtc3ZjLWdjYyAtLXZlcnNpb24KLi90L2FtaGVsbG8tY3Jvc3MtY29tcGlsZS5zaDog OTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBpNTg2LW1pbmd3MzJtc3ZjLWdjYzogbm90IGZvdW5kClNLSVAgdC9hbWhlbGxv LWNyb3NzLWNvbXBpbGUuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvYXItbGliNWEK PT09PT09PT09PT09PT09PQoKYXItbGliNWE6IHJ1bm5pbmcgbGliIC1vdXQ6ZGVmc3Rlc3Qu bGliCi4vdC9hci1saWI1YS5zaDogODczOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBsaWI6IG5vdCBmb3VuZApTS0lQIHQvYXIt bGliNWEuc2ggKGV4aXQgc3RhdHVzOiA3NykKClBBU1M6IHQvYXV4ZGlyLWNvbXB1dGVkCj09 PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpU ZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9T VE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1h cm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisg cHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hdXhkaXItY29t cHV0ZWQuZGlyCisgcGxhbl8gMworIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRl c3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHgzID0geHVua25vd24KKyB0ZXN0IHgzID0geGxh dGVyCisgdGVzdCB4MyA9IHhsYXp5CisgdGVzdCB4MyA9IHhub3cKKyB0ZXN0IDMgLWdlIDAK KyBwbGFubmVkXz0zCisgZWNobyAxLi4zCjEuLjMKKyBjYXQKKyA6CisgY29tbWFuZF9va18g YWNsb2NhbCBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIHRhcF9kaXJlY3RpdmVfPSB0YXBfcmVh c29uXz0KKyB0ZXN0IDMgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPWFjbG9jYWwKKyBzaGlm dAorIHRlc3QgMiAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhY2xvY2FsLTEu MTYgLVdlcnJvcgorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBhY2xvY2FsCisgc2V0ICt4Cm9r IDEgLSBhY2xvY2FsClBBU1M6IHQvYXV4ZGlyLWNvbXB1dGVkLnRhcCAxIC0gYWNsb2NhbAor IGNvbW1hbmRfb2tfIGF1dG9tYWtlIC1hIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKKyB0YXBf ZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCAxMCAtZ3QgMAorIHRhcF9kZXNjcmlw dGlvbl89YXV0b21ha2UgLWEKKyBzaGlmdAorIHRlc3QgOSAtZ3QgMAorIHRhcF9kaXJlY3Rp dmVfPVRPRE8KKyBzaGlmdAorIHNoaWZ0CisgdGVzdCA3IC1ndCAwCisgdGFwX3JlYXNvbl89 bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgc2hpZnQKKyBzaGlmdAorIHRlc3QgNSAtZ3Qg MAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5hYzoyOiBlcnJvcjogcmVxdWlyZWQgZGlyZWN0 b3J5IC4vJGZvbyBkb2VzIG5vdCBleGlzdApjb25maWd1cmUuYWM6MzogZXJyb3I6IGluc3Rh bGxpbmcgJyRmb28vaW5zdGFsbC1zaCc7IGVycm9yIHdoaWxlIG1ha2luZyBsaW5rOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZS5hYzozOiBlcnJvcjogaW5zdGFsbGlu ZyAnJGZvby9taXNzaW5nJzsgZXJyb3Igd2hpbGUgbWFraW5nIGxpbms6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKKyB0YXBfcmVzdWx0Xz1ub3Qgb2sKKyByZXN1bHRfIG5vdCBvayAt RCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBhdXRvbWFrZSAtYQorIHNl dCAreApub3Qgb2sgMiAtIGF1dG9tYWtlIC1hICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0 YXRpb24KWEZBSUw6IHQvYXV4ZGlyLWNvbXB1dGVkLnRhcCAyIC0gYXV0b21ha2UgLWEgIyBU T0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNvbW1hbmRfb2tfIGF1dG9tYWtlIC1E IFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIGF1dG9tYWtlLTEuMTYgLS1mb3Jl aWduIC1XZXJyb3IgLVdhbGwKKyB0YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVz dCA5IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9uXz1hdXRvbWFrZQorIHNoaWZ0CisgdGVzdCA4 IC1ndCAwCisgdGFwX2RpcmVjdGl2ZV89VE9ETworIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0IDYg LWd0IDAKKyB0YXBfcmVhc29uXz1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBzaGlmdAor IHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgYnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIGF1dG9t YWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKY29uZmlndXJlLmFjOjI6IGVycm9y OiByZXF1aXJlZCBkaXJlY3RvcnkgLi8kZm9vIGRvZXMgbm90IGV4aXN0CmNvbmZpZ3VyZS5h YzozOiBlcnJvcjogcmVxdWlyZWQgZmlsZSAnJGZvby9pbnN0YWxsLXNoJyBub3QgZm91bmQK Y29uZmlndXJlLmFjOjM6ICAgJ2F1dG9tYWtlIC0tYWRkLW1pc3NpbmcnIGNhbiBpbnN0YWxs ICdpbnN0YWxsLXNoJwpjb25maWd1cmUuYWM6MzogZXJyb3I6IHJlcXVpcmVkIGZpbGUgJyRm b28vbWlzc2luZycgbm90IGZvdW5kCmNvbmZpZ3VyZS5hYzozOiAgICdhdXRvbWFrZSAtLWFk ZC1taXNzaW5nJyBjYW4gaW5zdGFsbCAnbWlzc2luZycKKyB0YXBfcmVzdWx0Xz1ub3Qgb2sK KyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAt LSBhdXRvbWFrZQorIHNldCAreApub3Qgb2sgMyAtIGF1dG9tYWtlICMgVE9ETyBsb25nLXN0 YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvYXV4ZGlyLWNvbXB1dGVkLnRhcCAzIC0gYXV0 b21ha2UgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIDoKKyBhbV9leGl0X3Ry YXAgMAorIGV4aXRfc3RhdHVzPTAKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCB0YXAgPSB0YXAKKyB0ZXN0IDMgPSBsYXRlcgor IHRlc3QgMCAtZXEgMAorIHRlc3QgMSAtZXEgMworIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4CgpYRkFJTDogdC9hdXhkaXIt cHIxOTMxMQo9PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmlu Oi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9o di9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdH RVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F1eGRpci1wcjE5MzExLmRpcgorIGNhdAorIDoKKyBta2RpciBidWlsZC1hdXgKKyBhY2xv Y2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdh bGwgLWEKY29uZmlndXJlLmFjOjI6IGluc3RhbGxpbmcgJ2J1aWxkLWF1eC9jb21waWxlJwpj b25maWd1cmUuYWM6NDogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2luc3RhbGwtc2gnCmNvbmZp Z3VyZS5hYzo0OiBpbnN0YWxsaW5nICdidWlsZC1hdXgvbWlzc2luZycKKyBhdXRvY29uZgor IHRlc3QgLWYgYnVpbGQtYXV4L2NvbXBpbGUKKyB0ZXN0IC1mIGJ1aWxkLWF1eC9pbnN0YWxs LXNoCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2M5CmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjOSBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjOSBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY29uZmln dXJlOiBlcnJvcjogY2Fubm90IGZpbmQgaW5zdGFsbC1zaCwgaW5zdGFsbC5zaCwgb3Igc2h0 b29sIGluICIuIiAiLi8uLiIgIi4vLi4vLi4iCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0 YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9 eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQv YXV4ZGlyLXByMTkzMTEuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC9jb21waWxlNAo9 PT09PT09PT09PT09PT09Cgpjb21waWxlNDogcnVubmluZyBjbCAtPwouL3QvY29tcGlsZTQu c2g6IDc3OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogY2w6IG5vdCBmb3VuZApTS0lQIHQvY29tcGlsZTQuc2ggKGV4aXQgc3Rh dHVzOiA3NykKClNLSVA6IHQvY29tcGlsZTUKPT09PT09PT09PT09PT09PQoKUnVubmluZyBm cm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jpbjov dXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4y L2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9i aW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2NvbXBpbGU1LmRpcgorIGdldF9zaGVsbF9zY3JpcHQgY29tcGlsZQor IGFtX3NvdXJjZT1jb21waWxlIGFtX3RhcmdldD1jb21waWxlCisgdGVzdCAhIC1mIGNvbXBp bGUKKyBybSAtZiBjb21waWxlCisgdGVzdCB4ID0geHllcworIGNwIC1mIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2NvbXBpbGUgY29tcGlsZQorIHNlZCAx MHEgY29tcGlsZQojISAvYmluL3NoCiMgV3JhcHBlciBmb3IgY29tcGlsZXJzIHdoaWNoIGRv IG5vdCB1bmRlcnN0YW5kICctYyAtbycuCgpzY3JpcHR2ZXJzaW9uPTIwMTgtMDMtMDcuMDM7 ICMgVVRDCgojIENvcHlyaWdodCAoQykgMTk5OS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgojIFdyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJvbWV5QGN5Z251cy5jb20+ LgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIHVuc2V0IGFtX3Rhcmdl dCBhbV9zb3VyY2UKKyBjYXQKKyBjaG1vZCAreCAuL2NsCisgY2F0CisgOgorIGNhdAorIGFj bG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWln biAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5hYzo0OiBpbnN0YWxsaW5nICcuL2NvbmZp Zy5ndWVzcycKY29uZmlndXJlLmFjOjQ6IGluc3RhbGxpbmcgJy4vY29uZmlnLnN1YicKKyAu L2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91 c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAv YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBl Li4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4 ODZfNjQtcGMtbGludXgtZ251CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBu ZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25m aWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIGNoZWNrX2hvc3QKKyAuIC4vY2hlY2tfaG9zdAorIHNraXBfIHRhcmdl dCBPUyBpcyBub3QgTWluR1cKKyB3YXJuXyBjb21waWxlNTogc2tpcHBlZCB0ZXN0OiB0YXJn ZXQgT1MgaXMgbm90IE1pbkdXCisgZWNobyBjb21waWxlNTogc2tpcHBlZCB0ZXN0OiB0YXJn ZXQgT1MgaXMgbm90IE1pbkdXCisgX2FtX2V4aXQgNzcKKyBzZXQgK2UKKyB0ZXN0IDc3ID0g NzcKKyBhbV9fdGVzdF9za2lwcGVkPXllcworIGV4aXQgNzcKKyBleGl0IDc3CisgYW1fZXhp dF90cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAt ZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAwCisgc2V0ICt4ClNLSVAgdC9jb21waWxlNS5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJ UDogdC9jb21waWxlNwo9PT09PT09PT09PT09PT09Cgpjb21waWxlNzogcnVubmluZyBpY2wg LT8KLi90L2NvbXBpbGU3LnNoOiA3OTA6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGljbDogbm90IGZvdW5kClNLSVAgdC9jb21w aWxlNy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKWEZBSUw6IHQvY29uZDE3Cj09PT09PT09PT09 PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9u ZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1 YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0y MDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NvbmQxNy5kaXIKKyBjYXQKKyBjYXQKKyBh Y2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3Ig LVdhbGwgLWEKTWFrZWZpbGUuYW06IGVycm9yOiBvYmplY3QgJ2Zvby4kKE9CSkVYVCknIGNy ZWF0ZWQgYnkgJ2Zvby5jYycgYW5kICdmb28uYycKKyBhbV9leGl0X3RyYXAgMQorIGV4aXRf c3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGly cz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwg dC9jb25kMTcuc2ggKGV4aXQgc3RhdHVzOiAxKQoKUEFTUzogdC9jc2NvcGUKPT09PT09PT09 PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IHRh cApQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1 YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0y MDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIKKyBwbGFuXyAxOAorIHRl c3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRlc3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0 IHgxOCA9IHh1bmtub3duCisgdGVzdCB4MTggPSB4bGF0ZXIKKyB0ZXN0IHgxOCA9IHhsYXp5 CisgdGVzdCB4MTggPSB4bm93CisgdGVzdCAxOCAtZ2UgMAorIHBsYW5uZWRfPTE4CisgZWNo byAxLi4xOAoxLi4xOAorIHB3ZAorIG9jd2Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2NzY29wZS5kaXIKKyBjYXQKKyBta2RpciBzdWIgc3ViL3N1YnN1Ygor IGNhdAorIGNhdAorIGVjaG8gaW50IGZvb19mdW5jICgpIHsgcmV0dXJuIDA7IH0KKyBlY2hv IGludCBtYWluICgpIHsgcmV0dXJuIDA7IH0KKyBjYXQKKyA6CisgZWNobyBpbnQgbWFpbiAo KSB7IHJldHVybiAwOyB9CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1 dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWkgLWEKKyBjc2NvcGUgLXEg LS12ZXJzaW9uCi4vdC9jc2NvcGUudGFwOiA3MjogLi90L2NzY29wZS50YXA6IGNzY29wZTog bm90IGZvdW5kCisgaGF2ZV9jc2NvcGU9bm8KKyB1c2luZ19nbWFrZQorIG1ha2UgLS12ZXJz aW9uIC12CisgZ3JlcCBHTlUKR05VIE1ha2UgNC4yLjEKTGljZW5jZSBHUEx2MyvCoDogR05V IEdQTCB2ZXJzaW9uIDMgb3UgdWx0w6lyaWV1cmUgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2Vz L2dwbC5odG1sPgorIGFtX191c2luZ19nbWFrZT15ZXMKKyByZXR1cm4gMAorIGNkIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyCisgcGZ4PXJl bGF0aXZlIFZQQVRICisgbWtkaXIgYnVpbGQKKyBjZCBidWlsZAorIG15X2NvbmZpZ3VyZSAu LgorIGNvbW1hbmRfb2tfIFtyZWxhdGl2ZSBWUEFUSF0gY29uZmlndXJlIC4uL2NvbmZpZ3Vy ZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRpcj0vd2hvL2NhcmVzCisgdGFwX2RpcmVjdGl2ZV89 IHRhcF9yZWFzb25fPQorIHRlc3QgNCAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89W3JlbGF0 aXZlIFZQQVRIXSBjb25maWd1cmUKKyBzaGlmdAorIHRlc3QgMyAtZ3QgMAorIGJyZWFrCisg dGFwX3Jlc3VsdF89b2sKKyAuLi9jb25maWd1cmUgRU1BQ1M9bm8gLS13aXRoLWxpc3BkaXI9 L3doby9jYXJlcwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91 c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAv YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBlbWFjcy4uLiBubwpj aGVja2luZyB3aGVyZSAuZWxjIGZpbGVzIHNob3VsZCBnby4uLiAvd2hvL2NhcmVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6 IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHN1Yi9NYWtlZmls ZQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBbcmVsYXRpdmUgVlBBVEhdIGNvbmZpZ3VyZQor IHNldCAreApvayAxIC0gW3JlbGF0aXZlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogdC9jc2Nv cGUudGFwIDEgLSBbcmVsYXRpdmUgVlBBVEhdIGNvbmZpZ3VyZQorIHRlc3RfY3Njb3BlCisg cj1vaworIG1ha2UgLW4gY3Njb3BlCnJtIC1mIGNzY29wZS5maWxlcwpmYWlsPTsgXAppZiAo dGFyZ2V0X29wdGlvbj1rOyBjYXNlICR7dGFyZ2V0X29wdGlvbi19IGluID8pIDs7ICopIGVj aG8gImFtX19tYWtlX3J1bm5pbmdfd2l0aF9vcHRpb246IGludGVybmFsIGVycm9yOiBpbnZh bGlkIiAidGFyZ2V0IG9wdGlvbiAnJHt0YXJnZXRfb3B0aW9uLX0nIHNwZWNpZmllZCIgPiYy OyBleGl0IDE7OyBlc2FjOyBoYXNfb3B0PW5vOyBzYW5lX21ha2VmbGFncz0kTUFLRUZMQUdT OyBpZiB7IGlmIHRlc3QgLXogJzAnOyB0aGVuIGZhbHNlOyBlbGlmIHRlc3QgLW4gJ3g4Nl82 NC1wYy1saW51eC1nbnUnOyB0aGVuIHRydWU7IGVsaWYgdGVzdCAtbiAnNC4yLjEnICYmIHRl c3QgLW4gJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUu ZGlyL2J1aWxkJzsgdGhlbiB0cnVlOyBlbHNlIGZhbHNlOyBmaTsgfTsgdGhlbiBzYW5lX21h a2VmbGFncz0kTUZMQUdTOyBlbHNlIGNhc2UgJE1BS0VGTEFHUyBpbiAqXFxbXCBcCV0qKSBi cz1cXDsgc2FuZV9tYWtlZmxhZ3M9YHByaW50ZiAnJXNcbicgIiRNQUtFRkxBR1MiIHwgc2Vk ICJzLyRicyRic1skYnMgJGJzCV0qLy9nImA7OyBlc2FjOyBmaTsgc2tpcF9uZXh0PW5vOyBz dHJpcF90cmFpbG9wdCAoKSB7IGZsZz1gcHJpbnRmICclc1xuJyAiJGZsZyIgfCBzZWQgInMv JDEuKiQvLyJgOyB9OyBmb3IgZmxnIGluICRzYW5lX21ha2VmbGFnczsgZG8gdGVzdCAkc2tp cF9uZXh0ID0geWVzICYmIHsgc2tpcF9uZXh0PW5vOyBjb250aW51ZTsgfTsgY2FzZSAkZmxn IGluICo9KnwtLSopIGNvbnRpbnVlOzsgLSpJKSBzdHJpcF90cmFpbG9wdCAnSSc7IHNraXBf bmV4dD15ZXM7OyAtKkk/Kikgc3RyaXBfdHJhaWxvcHQgJ0knOzsgLSpPKSBzdHJpcF90cmFp bG9wdCAnTyc7IHNraXBfbmV4dD15ZXM7OyAtKk8/Kikgc3RyaXBfdHJhaWxvcHQgJ08nOzsg LSpsKSBzdHJpcF90cmFpbG9wdCAnbCc7IHNraXBfbmV4dD15ZXM7OyAtKmw/Kikgc3RyaXBf dHJhaWxvcHQgJ2wnOzsgLVtkRURtXSkgc2tpcF9uZXh0PXllczs7IC1bSlRdKSBza2lwX25l eHQ9eWVzOzsgZXNhYzsgY2FzZSAkZmxnIGluICokdGFyZ2V0X29wdGlvbiopIGhhc19vcHQ9 eWVzOyBicmVhazs7IGVzYWM7IGRvbmU7IHRlc3QgJGhhc19vcHQgPSB5ZXMpOyB0aGVuIFwK ICBmYWlsY29tPSdmYWlsPXllcyc7IFwKZWxzZSBcCiAgZmFpbGNvbT0nZXhpdCAxJzsgXApm aTsgXApkb3Rfc2Vlbj1ubzsgXAp0YXJnZXQ9YGVjaG8gY3Njb3BlbGlzdC1yZWN1cnNpdmUg fCBzZWQgcy8tcmVjdXJzaXZlLy9gOyBcCmNhc2UgImNzY29wZWxpc3QtcmVjdXJzaXZlIiBp biBcCiAgZGlzdGNsZWFuLSogfCBtYWludGFpbmVyLWNsZWFuLSopIGxpc3Q9J3N1YicgOzsg XAogICopIGxpc3Q9J3N1YicgOzsgXAplc2FjOyBcCmZvciBzdWJkaXIgaW4gJGxpc3Q7IGRv IFwKICBlY2hvICJNYWtpbmcgJHRhcmdldCBpbiAkc3ViZGlyIjsgXAogIGlmIHRlc3QgIiRz dWJkaXIiID0gIi4iOyB0aGVuIFwKICAgIGRvdF9zZWVuPXllczsgXAogICAgbG9jYWxfdGFy Z2V0PSIkdGFyZ2V0LWFtIjsgXAogIGVsc2UgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFyZ2V0 IjsgXAogIGZpOyBcCiAgKENEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRzdWJk aXIgJiYgbWFrZSAgJGxvY2FsX3RhcmdldCkgXAogIHx8IGV2YWwgJGZhaWxjb207IFwKZG9u ZTsgXAppZiB0ZXN0ICIkZG90X3NlZW4iID0gIm5vIjsgdGhlbiBcCiAgbWFrZSAgIiR0YXJn ZXQtYW0iIHx8IGV4aXQgMTsgXApmaTsgdGVzdCAteiAiJGZhaWwiCk1ha2luZyBjc2NvcGVs aXN0IGluIHN1YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1 aWxkL3N1YsKgwrsKL2Jpbi9ta2RpciAtcCBzdWJzdWIKZWNobyAnaW50IGdlbmVyYXRlZF9z dWJzdWIgKCkgeyByZXR1cm4gMDsgfScgPiBzdWJzdWIvZ2VuLmMKbGlzdD0nIHN1YnN1Yi9k aXN0LmMgc3Vic3ViL2dlbi5jICAnOyBcCmNhc2UgIi4uLy4uL3N1YiIgaW4gXAogIFtcXC9d KiB8ID86W1xcL10qKSBzZGlyPSIuLi8uLi9zdWIiIDs7IFwKICAqKSBzZGlyPXN1Yi8uLi8u Li9zdWIgOzsgXAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAi JGkiOyB0aGVuIFwKICAgIGVjaG8gInN1Yi8kaSI7IFwKICBlbHNlIFwKICAgIGVjaG8gIiRz ZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZC9zdWLCoMK7Cm1ha2VbMV3CoDogb24g ZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGTCoMK7Cmxpc3Q9JyBmb28uYyBiYXIu Y3BwIGJhei5mOTAgIGZvby5lbCc7IFwKY2FzZSAiLi4iIGluIFwKICBbXFwvXSogfCA/Oltc XC9dKikgc2Rpcj0iLi4iIDs7IFwKICAqKSBzZGlyPS4vLi4gOzsgXAplc2FjOyBcCmZvciBp IGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gIi4v JGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25lID4+ IC4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9i dWlsZMKgwrsKdGVzdCAhIC1zIGNzY29wZS5maWxlcyBcCiAgfHwgY3Njb3BlIC1iIC1xICAg LWkgY3Njb3BlLmZpbGVzIAorIHJlc3VsdF8gb2sgW3JlbGF0aXZlIFZQQVRIXSBtYWtlIC1u IGNzY29wZQorIHNldCAreApvayAyIC0gW3JlbGF0aXZlIFZQQVRIXSBtYWtlIC1uIGNzY29w ZQpQQVNTOiB0L2NzY29wZS50YXAgMiAtIFtyZWxhdGl2ZSBWUEFUSF0gbWFrZSAtbiBjc2Nv cGUKKyB0ZXN0IG5vID0gbm8KKyB0b3VjaCBjc2NvcGUuZmlsZXMgY3Njb3BlLm91dCBjc2Nv cGUuaW4ub3V0IGNzY29wZS5wby5vdXQKKyBza2lwX3Jvd18gMyAtciBubyBwcm9wZXIgY3Nj b3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2tpcF9jb3VudF89MworIHNoaWZ0Cisgc2VxXyAz Cisgc2VxX2ZpcnN0PTEgc2VxX2luY3I9MSBzZXFfbGFzdD0zCisgaT0xCisgdGVzdCAxIC1s ZSAzCisgZWNobyAxCisgaT0yCisgdGVzdCAyIC1sZSAzCisgZWNobyAyCisgaT0zCisgdGVz dCAzIC1sZSAzCisgZWNobyAzCisgaT00CisgdGVzdCA0IC1sZSAzCisgc2tpcF8gLXIgbm8g cHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHJlc3VsdF8gb2sgLUQgU0tJUCAt ciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2V0ICt4Cm9rIDMgIyBT S0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDogdC9jc2NvcGUu dGFwIDMgIyBTS0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBza2lw XyAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAt RCBTS0lQIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gK b2sgNCAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0 L2NzY29wZS50YXAgNCAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJs ZQorIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1 bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHNldCAreApvayA1ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxl ClNLSVA6IHQvY3Njb3BlLnRhcCA1ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0g YXZhaWxhYmxlCisgcmV0dXJuIDAKKyB0ZXN0X2NsZWFudXAKKyByPW9rCisgdGVzdCAtZiBj b25maWd1cmUKKyBtYWtlIGRpc3RjbGVhbmNoZWNrCk1ha2luZyBkaXN0Y2xlYW4gaW4gc3Vi Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQvc3ViwqDC uwp0ZXN0IC16ICJiYXIiIHx8IHJtIC1mIGJhcgp0ZXN0IC16ICJzdWJzdWIvZ2VuLmMiIHx8 IHJtIC1mIHN1YnN1Yi9nZW4uYwpybSAtZiAqLgpybSAtZiBzdWJzdWIvKi4Kcm0gLWYgKi50 YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAiLi4vLi4vc3ViIiB8fCB0ZXN0 IC16ICIiIHx8IHJtIC1mIApybSAtZiBzdWJzdWIvLmRpcnN0YW1wCnJtIC1mIFRBR1MgSUQg R1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRIIHRhZ3MKcm0gLWYgTWFrZWZpbGUKbWFrZVsxXcKg OiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkL3N1YsKgwrsKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZMKgwrsKdGVzdCAteiAiZm9vIiB8 fCBybSAtZiBmb28Kcm0gLWYgZm9vLmVsYwpybSAtZiAqLgpybSAtZiAqLnRhYi5jCnRlc3Qg LXogIiIgfHwgcm0gLWYgCnRlc3QgLiA9ICIuLiIgfHwgdGVzdCAteiAiIiB8fCBybSAtZiAK cm0gLWYgVEFHUyBJRCBHVEFHUyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAtZiBjc2Nv cGUub3V0IGNzY29wZS5pbi5vdXQgY3Njb3BlLnBvLm91dCBjc2NvcGUuZmlsZXMKbWFrZVsx XcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkwqDCuwpybSAtZiBjb25maWcu c3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3VyZS5saW5lbm8gY29uZmln LnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKKyB0ZXN0ICEgLWUgY3Njb3BlLmZpbGVz CisgdGVzdCAhIC1lIGNzY29wZS5vdXQKKyB0ZXN0ICEgLWUgY3Njb3BlLmluLm91dAorIHRl c3QgISAtZSBjc2NvcGUucG8ub3V0CisgcmVzdWx0XyBvayBbcmVsYXRpdmUgVlBBVEhdIG1h a2UgZGlzdGNoZWNrCisgc2V0ICt4Cm9rIDYgLSBbcmVsYXRpdmUgVlBBVEhdIG1ha2UgZGlz dGNoZWNrClBBU1M6IHQvY3Njb3BlLnRhcCA2IC0gW3JlbGF0aXZlIFZQQVRIXSBtYWtlIGRp c3RjaGVjaworIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9j c2NvcGUuZGlyCisgcGZ4PWFic29sdXRlIFZQQVRICisgbWtkaXIgYnVpbGQyCisgY2QgYnVp bGQyCisgbXlfY29uZmlndXJlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9jc2NvcGUuZGlyCisgY29tbWFuZF9va18gW2Fic29sdXRlIFZQQVRIXSBjb25maWd1 cmUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIv Y29uZmlndXJlIEVNQUNTPW5vIC0td2l0aC1saXNwZGlyPS93aG8vY2FyZXMKKyB0YXBfZGly ZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCA0IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9u Xz1bYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQorIHNoaWZ0CisgdGVzdCAzIC1ndCAwCisg YnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2NvbmZpZ3VyZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRp cj0vd2hvL2NhcmVzCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGVtYWNzLi4uIG5v CmNoZWNraW5nIHdoZXJlIC5lbGMgZmlsZXMgc2hvdWxkIGdvLi4uIC93aG8vY2FyZXMKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3ViL01ha2Vm aWxlCisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJl Cisgc2V0ICt4Cm9rIDcgLSBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiB0L2Nz Y29wZS50YXAgNyAtIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgdGVzdF9jc2NvcGUK KyByPW9rCisgbWFrZSAtbiBjc2NvcGUKcm0gLWYgY3Njb3BlLmZpbGVzCmZhaWw9OyBcCmlm ICh0YXJnZXRfb3B0aW9uPWs7IGNhc2UgJHt0YXJnZXRfb3B0aW9uLX0gaW4gPykgOzsgKikg ZWNobyAiYW1fX21ha2VfcnVubmluZ193aXRoX29wdGlvbjogaW50ZXJuYWwgZXJyb3I6IGlu dmFsaWQiICJ0YXJnZXQgb3B0aW9uICcke3RhcmdldF9vcHRpb24tfScgc3BlY2lmaWVkIiA+ JjI7IGV4aXQgMTs7IGVzYWM7IGhhc19vcHQ9bm87IHNhbmVfbWFrZWZsYWdzPSRNQUtFRkxB R1M7IGlmIHsgaWYgdGVzdCAteiAnMCc7IHRoZW4gZmFsc2U7IGVsaWYgdGVzdCAtbiAneDg2 XzY0LXBjLWxpbnV4LWdudSc7IHRoZW4gdHJ1ZTsgZWxpZiB0ZXN0IC1uICc0LjIuMScgJiYg dGVzdCAtbiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29w ZS5kaXIvYnVpbGQyJzsgdGhlbiB0cnVlOyBlbHNlIGZhbHNlOyBmaTsgfTsgdGhlbiBzYW5l X21ha2VmbGFncz0kTUZMQUdTOyBlbHNlIGNhc2UgJE1BS0VGTEFHUyBpbiAqXFxbXCBcCV0q KSBicz1cXDsgc2FuZV9tYWtlZmxhZ3M9YHByaW50ZiAnJXNcbicgIiRNQUtFRkxBR1MiIHwg c2VkICJzLyRicyRic1skYnMgJGJzCV0qLy9nImA7OyBlc2FjOyBmaTsgc2tpcF9uZXh0PW5v OyBzdHJpcF90cmFpbG9wdCAoKSB7IGZsZz1gcHJpbnRmICclc1xuJyAiJGZsZyIgfCBzZWQg InMvJDEuKiQvLyJgOyB9OyBmb3IgZmxnIGluICRzYW5lX21ha2VmbGFnczsgZG8gdGVzdCAk c2tpcF9uZXh0ID0geWVzICYmIHsgc2tpcF9uZXh0PW5vOyBjb250aW51ZTsgfTsgY2FzZSAk ZmxnIGluICo9KnwtLSopIGNvbnRpbnVlOzsgLSpJKSBzdHJpcF90cmFpbG9wdCAnSSc7IHNr aXBfbmV4dD15ZXM7OyAtKkk/Kikgc3RyaXBfdHJhaWxvcHQgJ0knOzsgLSpPKSBzdHJpcF90 cmFpbG9wdCAnTyc7IHNraXBfbmV4dD15ZXM7OyAtKk8/Kikgc3RyaXBfdHJhaWxvcHQgJ08n OzsgLSpsKSBzdHJpcF90cmFpbG9wdCAnbCc7IHNraXBfbmV4dD15ZXM7OyAtKmw/Kikgc3Ry aXBfdHJhaWxvcHQgJ2wnOzsgLVtkRURtXSkgc2tpcF9uZXh0PXllczs7IC1bSlRdKSBza2lw X25leHQ9eWVzOzsgZXNhYzsgY2FzZSAkZmxnIGluICokdGFyZ2V0X29wdGlvbiopIGhhc19v cHQ9eWVzOyBicmVhazs7IGVzYWM7IGRvbmU7IHRlc3QgJGhhc19vcHQgPSB5ZXMpOyB0aGVu IFwKICBmYWlsY29tPSdmYWlsPXllcyc7IFwKZWxzZSBcCiAgZmFpbGNvbT0nZXhpdCAxJzsg XApmaTsgXApkb3Rfc2Vlbj1ubzsgXAp0YXJnZXQ9YGVjaG8gY3Njb3BlbGlzdC1yZWN1cnNp dmUgfCBzZWQgcy8tcmVjdXJzaXZlLy9gOyBcCmNhc2UgImNzY29wZWxpc3QtcmVjdXJzaXZl IiBpbiBcCiAgZGlzdGNsZWFuLSogfCBtYWludGFpbmVyLWNsZWFuLSopIGxpc3Q9J3N1Yicg OzsgXAogICopIGxpc3Q9J3N1YicgOzsgXAplc2FjOyBcCmZvciBzdWJkaXIgaW4gJGxpc3Q7 IGRvIFwKICBlY2hvICJNYWtpbmcgJHRhcmdldCBpbiAkc3ViZGlyIjsgXAogIGlmIHRlc3Qg IiRzdWJkaXIiID0gIi4iOyB0aGVuIFwKICAgIGRvdF9zZWVuPXllczsgXAogICAgbG9jYWxf dGFyZ2V0PSIkdGFyZ2V0LWFtIjsgXAogIGVsc2UgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFy Z2V0IjsgXAogIGZpOyBcCiAgKENEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRz dWJkaXIgJiYgbWFrZSAgJGxvY2FsX3RhcmdldCkgXAogIHx8IGV2YWwgJGZhaWxjb207IFwK ZG9uZTsgXAppZiB0ZXN0ICIkZG90X3NlZW4iID0gIm5vIjsgdGhlbiBcCiAgbWFrZSAgIiR0 YXJnZXQtYW0iIHx8IGV4aXQgMTsgXApmaTsgdGVzdCAteiAiJGZhaWwiCk1ha2luZyBjc2Nv cGVsaXN0IGluIHN1YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGly L2J1aWxkMi9zdWLCoMK7Ci9iaW4vbWtkaXIgLXAgc3Vic3ViCmVjaG8gJ2ludCBnZW5lcmF0 ZWRfc3Vic3ViICgpIHsgcmV0dXJuIDA7IH0nID4gc3Vic3ViL2dlbi5jCmxpc3Q9JyBzdWJz dWIvZGlzdC5jIHN1YnN1Yi9nZW4uYyAgJzsgXApjYXNlICIvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9zdWIiIGluIFwKICBbXFwvXSogfCA/ OltcXC9dKikgc2Rpcj0iL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2NzY29wZS5kaXIvc3ViIiA7OyBcCiAgKikgc2Rpcj1zdWIvL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvc3ViIDs7IFwKZXNhYzsgXApmb3Ig aSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3QgLWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICJz dWIvJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25l ID4+IC4uL2NzY29wZS5maWxlcwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5k aXIvYnVpbGQyL3N1YsKgwrsKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3Bl LmRpci9idWlsZDLCoMK7Cmxpc3Q9JyBmb28uYyBiYXIuY3BwIGJhei5mOTAgIGZvby5lbCc7 IFwKY2FzZSAiL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29w ZS5kaXIiIGluIFwKICBbXFwvXSogfCA/OltcXC9dKikgc2Rpcj0iL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIiIDs7IFwKICAqKSBzZGlyPS4v L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIgOzsg XAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVu IFwKICAgIGVjaG8gIi4vJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwK ICBmaTsgXApkb25lID4+IC4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvY3Njb3BlLmRpci9idWlsZDLCoMK7CnRlc3QgISAtcyBjc2NvcGUuZmlsZXMgXAogIHx8 IGNzY29wZSAtYiAtcSAgIC1pIGNzY29wZS5maWxlcyAKKyByZXN1bHRfIG9rIFthYnNvbHV0 ZSBWUEFUSF0gbWFrZSAtbiBjc2NvcGUKKyBzZXQgK3gKb2sgOCAtIFthYnNvbHV0ZSBWUEFU SF0gbWFrZSAtbiBjc2NvcGUKUEFTUzogdC9jc2NvcGUudGFwIDggLSBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgLW4gY3Njb3BlCisgdGVzdCBubyA9IG5vCisgdG91Y2ggY3Njb3BlLmZpbGVz IGNzY29wZS5vdXQgY3Njb3BlLmluLm91dCBjc2NvcGUucG8ub3V0Cisgc2tpcF9yb3dfIDMg LXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNraXBfY291bnRfPTMK KyBzaGlmdAorIHNlcV8gMworIHNlcV9maXJzdD0xIHNlcV9pbmNyPTEgc2VxX2xhc3Q9Mwor IGk9MQorIHRlc3QgMSAtbGUgMworIGVjaG8gMQorIGk9MgorIHRlc3QgMiAtbGUgMworIGVj aG8gMgorIGk9MworIHRlc3QgMyAtbGUgMworIGVjaG8gMworIGk9NAorIHRlc3QgNCAtbGUg MworIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1 bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHNldCAreApvayA5ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxl ClNLSVA6IHQvY3Njb3BlLnRhcCA5ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0g YXZhaWxhYmxlCisgc2tpcF8gLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJs ZQorIHJlc3VsdF8gb2sgLUQgU0tJUCAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZh aWxhYmxlCisgc2V0ICt4Cm9rIDEwICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0g YXZhaWxhYmxlClNLSVA6IHQvY3Njb3BlLnRhcCAxMCAjIFNLSVAgbm8gcHJvcGVyIGNzY29w ZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3Jh bSBhdmFpbGFibGUKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBw cm9ncmFtIGF2YWlsYWJsZQorIHNldCAreApvayAxMSAjIFNLSVAgbm8gcHJvcGVyIGNzY29w ZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0L2NzY29wZS50YXAgMTEgIyBTS0lQIG5vIHBy b3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXR1cm4gMAorIHRlc3RfY2xlYW51 cAorIHI9b2sKKyB0ZXN0IC1mIGNvbmZpZ3VyZQorIG1ha2UgZGlzdGNsZWFuY2hlY2sKTWFr aW5nIGRpc3RjbGVhbiBpbiBzdWIKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Nj b3BlLmRpci9idWlsZDIvc3ViwqDCuwp0ZXN0IC16ICJiYXIiIHx8IHJtIC1mIGJhcgp0ZXN0 IC16ICJzdWJzdWIvZ2VuLmMiIHx8IHJtIC1mIHN1YnN1Yi9nZW4uYwpybSAtZiAqLgpybSAt ZiBzdWJzdWIvKi4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4g PSAiL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIv c3ViIiB8fCB0ZXN0IC16ICIiIHx8IHJtIC1mIApybSAtZiBzdWJzdWIvLmRpcnN0YW1wCnJt IC1mIFRBR1MgSUQgR1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRIIHRhZ3MKcm0gLWYgTWFrZWZp bGUKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkMi9zdWLCoMK7 Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQywqDCuwp0 ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiBmb28uZWxjCnJtIC1mICouCnJtIC1m ICoudGFiLmMKdGVzdCAteiAiIiB8fCBybSAtZiAKdGVzdCAuID0gIi9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyIiB8fCB0ZXN0IC16ICIiIHx8 IHJtIC1mIApybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBHU1lNUyBHUEFUSCB0YWdzCnJt IC1mIGNzY29wZS5vdXQgY3Njb3BlLmluLm91dCBjc2NvcGUucG8ub3V0IGNzY29wZS5maWxl cwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQywqDCuwpybSAt ZiBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3VyZS5saW5l bm8gY29uZmlnLnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKKyB0ZXN0ICEgLWUgY3Nj b3BlLmZpbGVzCisgdGVzdCAhIC1lIGNzY29wZS5vdXQKKyB0ZXN0ICEgLWUgY3Njb3BlLmlu Lm91dAorIHRlc3QgISAtZSBjc2NvcGUucG8ub3V0CisgcmVzdWx0XyBvayBbYWJzb2x1dGUg VlBBVEhdIG1ha2UgZGlzdGNoZWNrCisgc2V0ICt4Cm9rIDEyIC0gW2Fic29sdXRlIFZQQVRI XSBtYWtlIGRpc3RjaGVjawpQQVNTOiB0L2NzY29wZS50YXAgMTIgLSBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgZGlzdGNoZWNrCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2NzY29wZS5kaXIKKyBwZng9aW4tdHJlZSBidWlsZAorIG15X2NvbmZpZ3Vy ZSAuCisgY29tbWFuZF9va18gW2luLXRyZWUgYnVpbGRdIGNvbmZpZ3VyZSAuL2NvbmZpZ3Vy ZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRpcj0vd2hvL2NhcmVzCisgdGFwX2RpcmVjdGl2ZV89 IHRhcF9yZWFzb25fPQorIHRlc3QgNCAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89W2luLXRy ZWUgYnVpbGRdIGNvbmZpZ3VyZQorIHNoaWZ0CisgdGVzdCAzIC1ndCAwCisgYnJlYWsKKyB0 YXBfcmVzdWx0Xz1vaworIC4vY29uZmlndXJlIEVNQUNTPW5vIC0td2l0aC1saXNwZGlyPS93 aG8vY2FyZXMKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZW1hY3MuLi4gbm8KY2hl Y2tpbmcgd2hlcmUgLmVsYyBmaWxlcyBzaG91bGQgZ28uLi4gL3doby9jYXJlcwpjaGVja2lu ZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9u ZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzdWIvTWFrZWZpbGUK KyByZXN1bHRfIG9rIC1EICAtciAgLS0gW2luLXRyZWUgYnVpbGRdIGNvbmZpZ3VyZQorIHNl dCAreApvayAxMyAtIFtpbi10cmVlIGJ1aWxkXSBjb25maWd1cmUKUEFTUzogdC9jc2NvcGUu dGFwIDEzIC0gW2luLXRyZWUgYnVpbGRdIGNvbmZpZ3VyZQorIHRlc3RfY3Njb3BlCisgcj1v aworIG1ha2UgLW4gY3Njb3BlCnJtIC1mIGNzY29wZS5maWxlcwpmYWlsPTsgXAppZiAodGFy Z2V0X29wdGlvbj1rOyBjYXNlICR7dGFyZ2V0X29wdGlvbi19IGluID8pIDs7ICopIGVjaG8g ImFtX19tYWtlX3J1bm5pbmdfd2l0aF9vcHRpb246IGludGVybmFsIGVycm9yOiBpbnZhbGlk IiAidGFyZ2V0IG9wdGlvbiAnJHt0YXJnZXRfb3B0aW9uLX0nIHNwZWNpZmllZCIgPiYyOyBl eGl0IDE7OyBlc2FjOyBoYXNfb3B0PW5vOyBzYW5lX21ha2VmbGFncz0kTUFLRUZMQUdTOyBp ZiB7IGlmIHRlc3QgLXogJzAnOyB0aGVuIGZhbHNlOyBlbGlmIHRlc3QgLW4gJ3g4Nl82NC1w Yy1saW51eC1nbnUnOyB0aGVuIHRydWU7IGVsaWYgdGVzdCAtbiAnNC4yLjEnICYmIHRlc3Qg LW4gJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGly JzsgdGhlbiB0cnVlOyBlbHNlIGZhbHNlOyBmaTsgfTsgdGhlbiBzYW5lX21ha2VmbGFncz0k TUZMQUdTOyBlbHNlIGNhc2UgJE1BS0VGTEFHUyBpbiAqXFxbXCBcCV0qKSBicz1cXDsgc2Fu ZV9tYWtlZmxhZ3M9YHByaW50ZiAnJXNcbicgIiRNQUtFRkxBR1MiIHwgc2VkICJzLyRicyRi c1skYnMgJGJzCV0qLy9nImA7OyBlc2FjOyBmaTsgc2tpcF9uZXh0PW5vOyBzdHJpcF90cmFp bG9wdCAoKSB7IGZsZz1gcHJpbnRmICclc1xuJyAiJGZsZyIgfCBzZWQgInMvJDEuKiQvLyJg OyB9OyBmb3IgZmxnIGluICRzYW5lX21ha2VmbGFnczsgZG8gdGVzdCAkc2tpcF9uZXh0ID0g eWVzICYmIHsgc2tpcF9uZXh0PW5vOyBjb250aW51ZTsgfTsgY2FzZSAkZmxnIGluICo9Knwt LSopIGNvbnRpbnVlOzsgLSpJKSBzdHJpcF90cmFpbG9wdCAnSSc7IHNraXBfbmV4dD15ZXM7 OyAtKkk/Kikgc3RyaXBfdHJhaWxvcHQgJ0knOzsgLSpPKSBzdHJpcF90cmFpbG9wdCAnTyc7 IHNraXBfbmV4dD15ZXM7OyAtKk8/Kikgc3RyaXBfdHJhaWxvcHQgJ08nOzsgLSpsKSBzdHJp cF90cmFpbG9wdCAnbCc7IHNraXBfbmV4dD15ZXM7OyAtKmw/Kikgc3RyaXBfdHJhaWxvcHQg J2wnOzsgLVtkRURtXSkgc2tpcF9uZXh0PXllczs7IC1bSlRdKSBza2lwX25leHQ9eWVzOzsg ZXNhYzsgY2FzZSAkZmxnIGluICokdGFyZ2V0X29wdGlvbiopIGhhc19vcHQ9eWVzOyBicmVh azs7IGVzYWM7IGRvbmU7IHRlc3QgJGhhc19vcHQgPSB5ZXMpOyB0aGVuIFwKICBmYWlsY29t PSdmYWlsPXllcyc7IFwKZWxzZSBcCiAgZmFpbGNvbT0nZXhpdCAxJzsgXApmaTsgXApkb3Rf c2Vlbj1ubzsgXAp0YXJnZXQ9YGVjaG8gY3Njb3BlbGlzdC1yZWN1cnNpdmUgfCBzZWQgcy8t cmVjdXJzaXZlLy9gOyBcCmNhc2UgImNzY29wZWxpc3QtcmVjdXJzaXZlIiBpbiBcCiAgZGlz dGNsZWFuLSogfCBtYWludGFpbmVyLWNsZWFuLSopIGxpc3Q9J3N1YicgOzsgXAogICopIGxp c3Q9J3N1YicgOzsgXAplc2FjOyBcCmZvciBzdWJkaXIgaW4gJGxpc3Q7IGRvIFwKICBlY2hv ICJNYWtpbmcgJHRhcmdldCBpbiAkc3ViZGlyIjsgXAogIGlmIHRlc3QgIiRzdWJkaXIiID0g Ii4iOyB0aGVuIFwKICAgIGRvdF9zZWVuPXllczsgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFy Z2V0LWFtIjsgXAogIGVsc2UgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFyZ2V0IjsgXAogIGZp OyBcCiAgKENEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRzdWJkaXIgJiYgbWFr ZSAgJGxvY2FsX3RhcmdldCkgXAogIHx8IGV2YWwgJGZhaWxjb207IFwKZG9uZTsgXAppZiB0 ZXN0ICIkZG90X3NlZW4iID0gIm5vIjsgdGhlbiBcCiAgbWFrZSAgIiR0YXJnZXQtYW0iIHx8 IGV4aXQgMTsgXApmaTsgdGVzdCAteiAiJGZhaWwiCk1ha2luZyBjc2NvcGVsaXN0IGluIHN1 YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL3N1YsKgwrsKL2Jp bi9ta2RpciAtcCBzdWJzdWIKZWNobyAnaW50IGdlbmVyYXRlZF9zdWJzdWIgKCkgeyByZXR1 cm4gMDsgfScgPiBzdWJzdWIvZ2VuLmMKbGlzdD0nIHN1YnN1Yi9kaXN0LmMgc3Vic3ViL2dl bi5jICAnOyBcCmNhc2UgIi4iIGluIFwKICBbXFwvXSogfCA/OltcXC9dKikgc2Rpcj0iLiIg OzsgXAogICopIHNkaXI9c3ViLy4gOzsgXAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBc CiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gInN1Yi8kaSI7IFwKICBlbHNl IFwKICAgIGVjaG8gIiRzZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi4vY3Njb3BlLmZp bGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9zdWLCoMK7Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXLCoMK7Cmxpc3Q9JyBmb28uYyBi YXIuY3BwIGJhei5mOTAgIGZvby5lbCc7IFwKY2FzZSAiLiIgaW4gXAogIFtcXC9dKiB8ID86 W1xcL10qKSBzZGlyPSIuIiA7OyBcCiAgKikgc2Rpcj0uLy4gOzsgXAplc2FjOyBcCmZvciBp IGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gIi4v JGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25lID4+ IC4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpcsKg wrsKdGVzdCAhIC1zIGNzY29wZS5maWxlcyBcCiAgfHwgY3Njb3BlIC1iIC1xICAgLWkgY3Nj b3BlLmZpbGVzIAorIHJlc3VsdF8gb2sgW2luLXRyZWUgYnVpbGRdIG1ha2UgLW4gY3Njb3Bl Cisgc2V0ICt4Cm9rIDE0IC0gW2luLXRyZWUgYnVpbGRdIG1ha2UgLW4gY3Njb3BlClBBU1M6 IHQvY3Njb3BlLnRhcCAxNCAtIFtpbi10cmVlIGJ1aWxkXSBtYWtlIC1uIGNzY29wZQorIHRl c3Qgbm8gPSBubworIHRvdWNoIGNzY29wZS5maWxlcyBjc2NvcGUub3V0IGNzY29wZS5pbi5v dXQgY3Njb3BlLnBvLm91dAorIHNraXBfcm93XyAzIC1yIG5vIHByb3BlciBjc2NvcGUgcHJv Z3JhbSBhdmFpbGFibGUKKyBza2lwX2NvdW50Xz0zCisgc2hpZnQKKyBzZXFfIDMKKyBzZXFf Zmlyc3Q9MSBzZXFfaW5jcj0xIHNlcV9sYXN0PTMKKyBpPTEKKyB0ZXN0IDEgLWxlIDMKKyBl Y2hvIDEKKyBpPTIKKyB0ZXN0IDIgLWxlIDMKKyBlY2hvIDIKKyBpPTMKKyB0ZXN0IDMgLWxl IDMKKyBlY2hvIDMKKyBpPTQKKyB0ZXN0IDQgLWxlIDMKKyBza2lwXyAtciBubyBwcm9wZXIg Y3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIG5vIHBy b3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gKb2sgMTUgIyBTS0lQIG5v IHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDogdC9jc2NvcGUudGFwIDE1 ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2tpcF8gLXIg bm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHJlc3VsdF8gb2sgLUQgU0tJ UCAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2V0ICt4Cm9rIDE2 ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlClNLSVA6IHQvY3Nj b3BlLnRhcCAxNiAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1bHRf IG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNl dCAreApvayAxNyAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpT S0lQOiB0L2NzY29wZS50YXAgMTcgIyBTS0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBh dmFpbGFibGUKKyByZXR1cm4gMAorIHRlc3RfY2xlYW51cAorIHI9b2sKKyB0ZXN0IC1mIGNv bmZpZ3VyZQorIG1ha2UgZGlzdGNsZWFuCk1ha2luZyBkaXN0Y2xlYW4gaW4gc3ViCm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvc3ViwqDCuwp0ZXN0IC16ICJi YXIiIHx8IHJtIC1mIGJhcgp0ZXN0IC16ICJzdWJzdWIvZ2VuLmMiIHx8IHJtIC1mIHN1YnN1 Yi9nZW4uYwpybSAtZiAqLgpybSAtZiBzdWJzdWIvKi4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16 ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAiLiIgfHwgdGVzdCAteiAiIiB8fCBybSAtZiAKcm0g LWYgc3Vic3ViLy5kaXJzdGFtcApybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBHU1lNUyBH UEFUSCB0YWdzCnJtIC1mIE1ha2VmaWxlCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Nj b3BlLmRpci9zdWLCoMK7Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5k aXLCoMK7CnRlc3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mIGZvby5lbGMKcm0gLWYg Ki4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAiLiIgfHwg dGVzdCAteiAiIiB8fCBybSAtZiAKcm0gLWYgVEFHUyBJRCBHVEFHUyBHUlRBR1MgR1NZTVMg R1BBVEggdGFncwpybSAtZiBjc2NvcGUub3V0IGNzY29wZS5pbi5vdXQgY3Njb3BlLnBvLm91 dCBjc2NvcGUuZmlsZXMKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlywqDC uwpybSAtZiBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3Vy ZS5saW5lbm8gY29uZmlnLnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKKyB0ZXN0ICEg LWUgY3Njb3BlLmZpbGVzCisgdGVzdCAhIC1lIGNzY29wZS5vdXQKKyB0ZXN0ICEgLWUgY3Nj b3BlLmluLm91dAorIHRlc3QgISAtZSBjc2NvcGUucG8ub3V0CisgcmVzdWx0XyBvayBbaW4t dHJlZSBidWlsZF0gbWFrZSBkaXN0Y2hlY2sKKyBzZXQgK3gKb2sgMTggLSBbaW4tdHJlZSBi dWlsZF0gbWFrZSBkaXN0Y2hlY2sKUEFTUzogdC9jc2NvcGUudGFwIDE4IC0gW2luLXRyZWUg YnVpbGRdIG1ha2UgZGlzdGNoZWNrCisgOgorIGFtX2V4aXRfdHJhcCAwCisgZXhpdF9zdGF0 dXM9MAorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIKKyB0ZXN0IHRhcCA9IHRhcAorIHRlc3QgMTggPSBsYXRlcgorIHRlc3QgMCAtZXEgMAor IHRlc3QgOSAtZXEgMTgKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyByZXR1cm4gMAorIHNldCAreAoKU0tJUDogdC9jc2NvcGUzCj09PT09PT09PT09PT09 PQoKY3Njb3BlMzogcnVubmluZyBjc2NvcGUgLS12ZXJzaW9uCi4vdC9jc2NvcGUzLnNoOiA5 OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWlu aXQuc2g6IGNzY29wZTogbm90IGZvdW5kClNLSVAgdC9jc2NvcGUzLnNoIChleGl0IHN0YXR1 czogNzcpCgpTS0lQOiB0L2Rpc3QtdGFyWgo9PT09PT09PT09PT09PT09PQoKUnVubmluZyBm cm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jpbjov dXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4y L2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9i aW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2Rpc3QtdGFyWi5kaXIKKyBlY2hvIGFhYWFhYWFhYWFhYWFhYWFhYWFh YQorIGVjaG8gYWFhYWFhYWFhYWFhYWFhYWFhYWFhCisgZWNobyBhYWFhYWFhYWFhYWFhYWFh YWFhYWEKKyBlY2hvIGFhYWFhYWFhYWFhYWFhYWFhYWFhYQorIGVjaG8gYWFhYWFhYWFhYWFh YWFhYWFhYWFhCisgZWNobyBhYWFhYWFhYWFhYWFhYWFhYWFhYWEKKyBlY2hvIGFhYWFhYWFh YWFhYWFhYWFhYWFhYQorIGVjaG8gYWFhYWFhYWFhYWFhYWFhYWFhYWFhCisgY29tcHJlc3Mg LWMKLi90L2Rpc3QtdGFyWi5zaDogMzE6IC4vdC9kaXN0LXRhclouc2g6IGNvbXByZXNzOiBu b3QgZm91bmQKKyBza2lwXyBjYW5ub3QgZmluZCBhIHdvcmtpbmcgJ2NvbXByZXNzJyBwcm9n cmFtCisgd2Fybl8gZGlzdC10YXJaOiBza2lwcGVkIHRlc3Q6IGNhbm5vdCBmaW5kIGEgd29y a2luZyAnY29tcHJlc3MnIHByb2dyYW0KKyBlY2hvIGRpc3QtdGFyWjogc2tpcHBlZCB0ZXN0 OiBjYW5ub3QgZmluZCBhIHdvcmtpbmcgJ2NvbXByZXNzJyBwcm9ncmFtCisgX2FtX2V4aXQg NzcKKyBzZXQgK2UKKyB0ZXN0IDc3ID0gNzcKKyBhbV9fdGVzdF9za2lwcGVkPXllcworIGV4 aXQgNzcKKyBleGl0IDc3CisgYW1fZXhpdF90cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBz ZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVz dCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClNLSVAgdC9kaXN0LXRhclou c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZGlzdC1zaGFyCj09PT09PT09PT09PT09 PT09CgpkaXN0LXNoYXI6IHJ1bm5pbmcgc2hhciAtLXZlcnNpb24KLi90L2Rpc3Qtc2hhci5z aDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiBzaGFyOiBub3QgZm91bmQKU0tJUCB0L2Rpc3Qtc2hhci5zaCAoZXhpdCBz dGF0dXM6IDc3KQoKWEZBSUw6IHQvZGlzdC1wcjEwOTc2NQo9PT09PT09PT09PT09PT09PT09 PT09CgpkaXN0LXByMTA5NzY1OiBydW5uaW5nIGJ6aXAyIC0taGVscApiemlwMiwgYSBibG9j ay1zb3J0aW5nIGZpbGUgY29tcHJlc3Nvci4gIFZlcnNpb24gMS4wLjgsIDEzLUp1bC0yMDE5 LgoKICAgdXNhZ2U6IGJ6aXAyIFtmbGFncyBhbmQgaW5wdXQgZmlsZXMgaW4gYW55IG9yZGVy XQoKICAgLWggLS1oZWxwICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UKICAgLWQgLS1k ZWNvbXByZXNzICAgICBmb3JjZSBkZWNvbXByZXNzaW9uCiAgIC16IC0tY29tcHJlc3MgICAg ICAgZm9yY2UgY29tcHJlc3Npb24KICAgLWsgLS1rZWVwICAgICAgICAgICBrZWVwIChkb24n dCBkZWxldGUpIGlucHV0IGZpbGVzCiAgIC1mIC0tZm9yY2UgICAgICAgICAgb3ZlcndyaXRl IGV4aXN0aW5nIG91dHB1dCBmaWxlcwogICAtdCAtLXRlc3QgICAgICAgICAgIHRlc3QgY29t cHJlc3NlZCBmaWxlIGludGVncml0eQogICAtYyAtLXN0ZG91dCAgICAgICAgIG91dHB1dCB0 byBzdGFuZGFyZCBvdXQKICAgLXEgLS1xdWlldCAgICAgICAgICBzdXBwcmVzcyBub25jcml0 aWNhbCBlcnJvciBtZXNzYWdlcwogICAtdiAtLXZlcmJvc2UgICAgICAgIGJlIHZlcmJvc2Ug KGEgMm5kIC12IGdpdmVzIG1vcmUpCiAgIC1MIC0tbGljZW5zZSAgICAgICAgZGlzcGxheSBz b2Z0d2FyZSB2ZXJzaW9uICYgbGljZW5zZQogICAtViAtLXZlcnNpb24gICAgICAgIGRpc3Bs YXkgc29mdHdhcmUgdmVyc2lvbiAmIGxpY2Vuc2UKICAgLXMgLS1zbWFsbCAgICAgICAgICB1 c2UgbGVzcyBtZW1vcnkgKGF0IG1vc3QgMjUwMGspCiAgIC0xIC4uIC05ICAgICAgICAgICAg c2V0IGJsb2NrIHNpemUgdG8gMTAwayAuLiA5MDBrCiAgIC0tZmFzdCAgICAgICAgICAgICAg YWxpYXMgZm9yIC0xCiAgIC0tYmVzdCAgICAgICAgICAgICAgYWxpYXMgZm9yIC05CgogICBJ ZiBpbnZva2VkIGFzIGBiemlwMicsIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGNvbXByZXNzLgog ICAgICAgICAgICAgIGFzIGBidW56aXAyJywgIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGRlY29t cHJlc3MuCiAgICAgICAgICAgICAgYXMgYGJ6Y2F0JywgZGVmYXVsdCBhY3Rpb24gaXMgdG8g ZGVjb21wcmVzcyB0byBzdGRvdXQuCgogICBJZiBubyBmaWxlIG5hbWVzIGFyZSBnaXZlbiwg YnppcDIgY29tcHJlc3NlcyBvciBkZWNvbXByZXNzZXMKICAgZnJvbSBzdGFuZGFyZCBpbnB1 dCB0byBzdGFuZGFyZCBvdXRwdXQuICBZb3UgY2FuIGNvbWJpbmUKICAgc2hvcnQgZmxhZ3Ms IHNvIGAtdiAtNCcgbWVhbnMgdGhlIHNhbWUgYXMgLXY0IG9yIC00diwgJmMuCgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZGlzdC1wcjEwOTc2NS5kaXIKKyBlY2hvIEFDX09VVFBVVAorIDoK KyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNiAtLWZv cmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGRpc3QtZ3ppcCBkaXN0LWJ6aXAyCm1ha2Ug IGRpc3RkaXItYW0KbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvZGlzdC1wcjEwOTc2 NS5kaXLCoMK7CmlmIHRlc3QgLWQgImRpc3QtcHIxMDk3NjUtMS4wIjsgdGhlbiBmaW5kICJk aXN0LXByMTA5NzY1LTEuMCIgLXR5cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3 IHt9ICc7JyAmJiBybSAtcmYgImRpc3QtcHIxMDk3NjUtMS4wIiB8fCB7IHNsZWVwIDUgJiYg cm0gLXJmICJkaXN0LXByMTA5NzY1LTEuMCI7IH07IGVsc2UgOjsgZmkKdGVzdCAtZCAiZGlz dC1wcjEwOTc2NS0xLjAiIHx8IG1rZGlyICJkaXN0LXByMTA5NzY1LTEuMCIKdGVzdCAtbiAi IiBcCnx8IGZpbmQgImRpc3QtcHIxMDk3NjUtMS4wIiAtdHlwZSBkICEgLXBlcm0gLTc1NSBc CgktZXhlYyBjaG1vZCB1K3J3eCxnbytyeCB7fSBcOyAtbyBcCiAgISAtdHlwZSBkICEgLXBl cm0gLTQ0NCAtbGlua3MgMSAtZXhlYyBjaG1vZCBhK3Ige30gXDsgLW8gXAogICEgLXR5cGUg ZCAhIC1wZXJtIC00MDAgLWV4ZWMgY2htb2QgYStyIHt9IFw7IC1vIFwKICAhIC10eXBlIGQg ISAtcGVybSAtNDQ0IC1leGVjIC9iaW4vYmFzaCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZGlzdC1wcjEwOTc2NS5kaXIvaW5zdGFsbC1zaCAtYyAtbSBhK3Ig e30ge30gXDsgXAp8fCBjaG1vZCAtUiBhK3IgImRpc3QtcHIxMDk3NjUtMS4wIgptYWtlWzFd wqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2Rpc3QtcHIxMDk3NjUuZGlywqDCuwp0YXJkaXI9ZGlzdC1w cjEwOTc2NS0xLjAgJiYgJHtUQVItdGFyfSBjaG9mIC0gIiR0YXJkaXIiIHwgZXZhbCBHWklQ PSBnemlwIC0tYmVzdCAtYyA+ZGlzdC1wcjEwOTc2NS0xLjAudGFyLmd6CmlmIHRlc3QgLWQg ImRpc3QtcHIxMDk3NjUtMS4wIjsgdGhlbiBmaW5kICJkaXN0LXByMTA5NzY1LTEuMCIgLXR5 cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3IHt9ICc7JyAmJiBybSAtcmYgImRp c3QtcHIxMDk3NjUtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0gLXJmICJkaXN0LXByMTA5NzY1 LTEuMCI7IH07IGVsc2UgOjsgZmkKdGFyZGlyPWRpc3QtcHIxMDk3NjUtMS4wICYmICR7VEFS LXRhcn0gY2hvZiAtICIkdGFyZGlyIiB8IEJaSVAyPSR7QlpJUDItLTl9IGJ6aXAyIC1jID5k aXN0LXByMTA5NzY1LTEuMC50YXIuYnoyCnRhcjogZGlzdC1wcjEwOTc2NS0xLjAgOiBzdGF0 IGltcG9zc2libGU6IEF1Y3VuIGZpY2hpZXIgb3UgZG9zc2llciBkZSBjZSB0eXBlCnRhcjog QXJyw6p0IGF2ZWMgY29kZSBkJ8OpY2hlYyDDoCBjYXVzZSBkZXMgZXJyZXVycyBwcsOpY8Op ZGVudGVzCmlmIHRlc3QgLWQgImRpc3QtcHIxMDk3NjUtMS4wIjsgdGhlbiBmaW5kICJkaXN0 LXByMTA5NzY1LTEuMCIgLXR5cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3IHt9 ICc7JyAmJiBybSAtcmYgImRpc3QtcHIxMDk3NjUtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0g LXJmICJkaXN0LXByMTA5NzY1LTEuMCI7IH07IGVsc2UgOjsgZmkKKyBnemlwIC1kYyBkaXN0 LXByMTA5NzY1LTEuMC50YXIuZ3oKKyB0YXIgdGYgLQorIGNhdCBvbmUKZGlzdC1wcjEwOTc2 NS0xLjAvCmRpc3QtcHIxMDk3NjUtMS4wL2FjbG9jYWwubTQKZGlzdC1wcjEwOTc2NS0xLjAv aW5zdGFsbC1zaApkaXN0LXByMTA5NzY1LTEuMC9taXNzaW5nCmRpc3QtcHIxMDk3NjUtMS4w L2NvbmZpZ3VyZQpkaXN0LXByMTA5NzY1LTEuMC9kZXBjb21wCmRpc3QtcHIxMDk3NjUtMS4w L2NvbXBpbGUKZGlzdC1wcjEwOTc2NS0xLjAvY29uZmlndXJlLmFjCmRpc3QtcHIxMDk3NjUt MS4wL01ha2VmaWxlLmluCmRpc3QtcHIxMDk3NjUtMS4wL01ha2VmaWxlLmFtCisgYnppcDIg LWRjIGRpc3QtcHIxMDk3NjUtMS4wLnRhci5negorIHRhciB0ZiAtCmJ6aXAyOiBkaXN0LXBy MTA5NzY1LTEuMC50YXIuZ3ogaXMgbm90IGEgYnppcDIgZmlsZS4KdGFyOiBDZWNpIG5lIHJl c3NlbWJsZSBwYXMgw6AgdW5lIGFyY2hpdmUgZGUgdHlwZSDCqyB0YXIgwrsKdGFyOiBBcnLD qnQgYXZlYyBjb2RlIGQnw6ljaGVjIMOgIGNhdXNlIGRlcyBlcnJldXJzIHByw6ljw6lkZW50 ZXMKKyBjYXQgdHdvCisgX2FtX2V4aXQgMQorIHNldCArZQorIHRlc3QgNzcgPSAxCisgZXhp dCAxCisgZXhpdCAxCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtl CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9u ZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvZGlzdC1wcjEwOTc2NS5z aCAoZXhpdCBzdGF0dXM6IDEpCgpTS0lQOiB0L2Rpc3RjaGVjay1wcjEwNDcwCj09PT09PT09 PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3Qg UHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDov aG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0z MkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0t bm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdk Ci9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9kaXN0Y2hlY2stcHIx MDQ3MC5kaXIKKyBta2RpciBmb28uZAorIHNsZWVwIDEKKyBzaCAtYyBjZCBmb28uZCAmJiBz bGVlcCAnNCcKKyBybSAtcmYgZm9vLmQKKyBza2lwXyBzeXN0ZW0gaXMgYWJsZSB0byByZW1v dmUgImluIHVzZSIgZGlyZWN0b3JpZXMKKyB3YXJuXyBkaXN0Y2hlY2stcHIxMDQ3MDogc2tp cHBlZCB0ZXN0OiBzeXN0ZW0gaXMgYWJsZSB0byByZW1vdmUgImluIHVzZSIgZGlyZWN0b3Jp ZXMKKyBlY2hvIGRpc3RjaGVjay1wcjEwNDcwOiBza2lwcGVkIHRlc3Q6IHN5c3RlbSBpcyBh YmxlIHRvIHJlbW92ZSAiaW4gdXNlIiBkaXJlY3RvcmllcworIF9hbV9leGl0IDc3Cisgc2V0 ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBleGl0IDc3Cisg ZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9 IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvZGlzdGNoZWNrLXByMTA0NzAu c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZm9ydDIKPT09PT09PT09PT09PQoKU0tJ UCB0L2ZvcnQyLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2ZvcnQ0Cj09PT09PT09 PT09PT0KClNLSVAgdC9mb3J0NC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9mb3J0 NQo9PT09PT09PT09PT09Cgpmb3J0NTogcnVubmluZyBsaWJ0b29saXplIC0tdmVyc2lvbgps aWJ0b29saXplIChHTlUgbGlidG9vbCkgMi40LjYKV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdo YW4gPGdhcnlAZ251Lm9yZz4sIDIwMDMKCkNvcHlyaWdodCAoQykgMjAxNSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNv dXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5v dCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuClNLSVAgdC9mb3J0NS5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9n Y2o0Cj09PT09PT09PT09PQoKU0tJUCB0L2djajQuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNL SVA6IHQvZ2NqNgo9PT09PT09PT09PT0KClNLSVAgdC9nY2o2LnNoIChleGl0IHN0YXR1czog NzcpCgpTS0lQOiB0L2dldHRleHQtYmFzaWNzCj09PT09PT09PT09PT09PT09PT09PT0KCmdl dHRleHQtYmFzaWNzOiBydW5uaW5nIGdldHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBn ZXR0ZXh0LXJ1bnRpbWUpIDAuMjAKQ29weXJpZ2h0IChDKSAxOTk1LTIwMTkgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24g MyBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0 ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5 IGxhdy4Kw4ljcml0IHBhciBVbHJpY2ggRHJlcHBlci4KU0tJUCB0L2dldHRleHQtYmFzaWNz LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2dldHRleHQtY29uZmlnLXJwYXRoCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmdldHRleHQtY29uZmlnLXJwYXRoOiBydW5u aW5nIGdldHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAu MjAKQ29weXJpZ2h0IChDKSAxOTk1LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6 Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8g V0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBV bHJpY2ggRHJlcHBlci4KU0tJUCB0L2dldHRleHQtY29uZmlnLXJwYXRoLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L2dldHRleHQtZXh0ZXJuYWwtcHIzMzgKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgpnZXR0ZXh0LWV4dGVybmFsLXByMzM4OiBydW5uaW5nIGdl dHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAuMjAKQ29w eXJpZ2h0IChDKSAxOTk1LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxp Y2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUu b3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUg ZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFO VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2gg RHJlcHBlci4KU0tJUCB0L2dldHRleHQtZXh0ZXJuYWwtcHIzMzguc2ggKGV4aXQgc3RhdHVz OiA3NykKClNLSVA6IHQvZ2V0dGV4dC1pbnRsLXN1YmRpcgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT0KCmdldHRleHQtaW50bC1zdWJkaXI6IHJ1bm5pbmcgZ2V0dGV4dCAtLXZlcnNp b24KZ2V0dGV4dCAoR05VIGdldHRleHQtcnVudGltZSkgMC4yMApDb3B5cmlnaHQgKEMpIDE5 OTUtMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6 IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMv Z3BsLmh0bWw+ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5n ZSBhbmQgcmVkaXN0cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4 dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgrDiWNyaXQgcGFyIFVscmljaCBEcmVwcGVyLgpTS0lQ IHQvZ2V0dGV4dC1pbnRsLXN1YmRpci5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9n ZXR0ZXh0LXByMzgxCj09PT09PT09PT09PT09PT09PT09PQoKZ2V0dGV4dC1wcjM4MTogcnVu bmluZyBnZXR0ZXh0IC0tdmVyc2lvbgpnZXR0ZXh0IChHTlUgZ2V0dGV4dC1ydW50aW1lKSAw LjIwCkNvcHlyaWdodCAoQykgMTk5NS0yMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHBz Oi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5 b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5P IFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCsOJY3JpdCBwYXIg VWxyaWNoIERyZXBwZXIuClNLSVAgdC9nZXR0ZXh0LXByMzgxLnNoIChleGl0IHN0YXR1czog NzcpCgpYRkFJTDogdC9pbnN0ZGlyLWNvbmQyCj09PT09PT09PT09PT09PT09PT09PT0KClJ1 bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2Nh bC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3Jh bW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11 cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0ZGlyLWNvbmQyLmRpcgorIGNhdAorIDoKKyA6Cisg Y2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsCisgYXV0b2NvbmYKKyBwd2QKKyAuL2NvbmZpZ3VyZSAtLXByZWZpeD0v aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdGRpci1jb25kMi5k aXIvaW5zdApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3Iv YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmlu L21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFr ZSBpbnN0YWxsZGlycwpmb3IgZGlyIGluICIvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdGRpci1jb25kMi5kaXIvaW5zdC9saWJleGVjL2luc3RkaXItY29u ZDIiICIvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdGRpci1j b25kMi5kaXIvaW5zdC9zaGFyZS9pbnN0ZGlyLWNvbmQyIjsgZG8gXAogIHRlc3QgLXogIiRk aXIiIHx8IC9iaW4vbWtkaXIgLXAgIiRkaXIiOyBcCmRvbmUKKyB0ZXN0ICEgLWUgaW5zdAor IGZpbmQgaW5zdAppbnN0Cmluc3Qvc2hhcmUKaW5zdC9zaGFyZS9pbnN0ZGlyLWNvbmQyCmlu c3QvbGliZXhlYwppbnN0L2xpYmV4ZWMvaW5zdGRpci1jb25kMgorIF9hbV9leGl0IDEKKyBz ZXQgK2UKKyB0ZXN0IDc3ID0gMQorIGV4aXQgMQorIGV4aXQgMQorIGFtX2V4aXRfdHJhcCAx CisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVxIDAKKyBrZWVw X3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAr eApYRkFJTCB0L2luc3RkaXItY29uZDIuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC9p bnN0ZGlyLWxpc3AKPT09PT09PT09PT09PT09PT09PT0KCmluc3RkaXItbGlzcDogcnVubmlu ZyBlbWFjcyAtLXZlcnNpb24KLi90L2luc3RkaXItbGlzcC5zaDogOTkzOiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczog bm90IGZvdW5kClNLSVAgdC9pbnN0ZGlyLWxpc3Auc2ggKGV4aXQgc3RhdHVzOiA3NykKClhG QUlMOiB0L2phdmEtbm9iYXNlCj09PT09PT09PT09PT09PT09PT09CgpqYXZhLW5vYmFzZTog cnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscApqYXZhYyAxLjguMF8yNDIKVXNhZ2U6IGph dmFjIDxvcHRpb25zPiA8c291cmNlIGZpbGVzPgp3aGVyZSBwb3NzaWJsZSBvcHRpb25zIGlu Y2x1ZGU6CiAgLWcgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGUgYWxsIGRlYnVn Z2luZyBpbmZvCiAgLWc6bm9uZSAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGUgbm8gZGVi dWdnaW5nIGluZm8KICAtZzp7bGluZXMsdmFycyxzb3VyY2V9ICAgICBHZW5lcmF0ZSBvbmx5 IHNvbWUgZGVidWdnaW5nIGluZm8KICAtbm93YXJuICAgICAgICAgICAgICAgICAgICBHZW5l cmF0ZSBubyB3YXJuaW5ncwogIC12ZXJib3NlICAgICAgICAgICAgICAgICAgIE91dHB1dCBt ZXNzYWdlcyBhYm91dCB3aGF0IHRoZSBjb21waWxlciBpcyBkb2luZwogIC1kZXByZWNhdGlv biAgICAgICAgICAgICAgIE91dHB1dCBzb3VyY2UgbG9jYXRpb25zIHdoZXJlIGRlcHJlY2F0 ZWQgQVBJcyBhcmUgdXNlZAogIC1jbGFzc3BhdGggPHBhdGg+ICAgICAgICAgIFNwZWNpZnkg d2hlcmUgdG8gZmluZCB1c2VyIGNsYXNzIGZpbGVzIGFuZCBhbm5vdGF0aW9uIHByb2Nlc3Nv cnMKICAtY3AgPHBhdGg+ICAgICAgICAgICAgICAgICBTcGVjaWZ5IHdoZXJlIHRvIGZpbmQg dXNlciBjbGFzcyBmaWxlcyBhbmQgYW5ub3RhdGlvbiBwcm9jZXNzb3JzCiAgLXNvdXJjZXBh dGggPHBhdGg+ICAgICAgICAgU3BlY2lmeSB3aGVyZSB0byBmaW5kIGlucHV0IHNvdXJjZSBm aWxlcwogIC1ib290Y2xhc3NwYXRoIDxwYXRoPiAgICAgIE92ZXJyaWRlIGxvY2F0aW9uIG9m IGJvb3RzdHJhcCBjbGFzcyBmaWxlcwogIC1leHRkaXJzIDxkaXJzPiAgICAgICAgICAgIE92 ZXJyaWRlIGxvY2F0aW9uIG9mIGluc3RhbGxlZCBleHRlbnNpb25zCiAgLWVuZG9yc2VkZGly cyA8ZGlycz4gICAgICAgT3ZlcnJpZGUgbG9jYXRpb24gb2YgZW5kb3JzZWQgc3RhbmRhcmRz IHBhdGgKICAtcHJvYzp7bm9uZSxvbmx5fSAgICAgICAgICBDb250cm9sIHdoZXRoZXIgYW5u b3RhdGlvbiBwcm9jZXNzaW5nIGFuZC9vciBjb21waWxhdGlvbiBpcyBkb25lLgogIC1wcm9j ZXNzb3IgPGNsYXNzMT5bLDxjbGFzczI+LDxjbGFzczM+Li4uXSBOYW1lcyBvZiB0aGUgYW5u b3RhdGlvbiBwcm9jZXNzb3JzIHRvIHJ1bjsgYnlwYXNzZXMgZGVmYXVsdCBkaXNjb3Zlcnkg cHJvY2VzcwogIC1wcm9jZXNzb3JwYXRoIDxwYXRoPiAgICAgIFNwZWNpZnkgd2hlcmUgdG8g ZmluZCBhbm5vdGF0aW9uIHByb2Nlc3NvcnMKICAtcGFyYW1ldGVycyAgICAgICAgICAgICAg ICBHZW5lcmF0ZSBtZXRhZGF0YSBmb3IgcmVmbGVjdGlvbiBvbiBtZXRob2QgcGFyYW1ldGVy cwogIC1kIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIFNwZWNpZnkgd2hlcmUgdG8gcGxhY2Ug Z2VuZXJhdGVkIGNsYXNzIGZpbGVzCiAgLXMgPGRpcmVjdG9yeT4gICAgICAgICAgICAgU3Bl Y2lmeSB3aGVyZSB0byBwbGFjZSBnZW5lcmF0ZWQgc291cmNlIGZpbGVzCiAgLWggPGRpcmVj dG9yeT4gICAgICAgICAgICAgU3BlY2lmeSB3aGVyZSB0byBwbGFjZSBnZW5lcmF0ZWQgbmF0 aXZlIGhlYWRlciBmaWxlcwogIC1pbXBsaWNpdDp7bm9uZSxjbGFzc30gICAgIFNwZWNpZnkg d2hldGhlciBvciBub3QgdG8gZ2VuZXJhdGUgY2xhc3MgZmlsZXMgZm9yIGltcGxpY2l0bHkg cmVmZXJlbmNlZCBmaWxlcwogIC1lbmNvZGluZyA8ZW5jb2Rpbmc+ICAgICAgIFNwZWNpZnkg Y2hhcmFjdGVyIGVuY29kaW5nIHVzZWQgYnkgc291cmNlIGZpbGVzCiAgLXNvdXJjZSA8cmVs ZWFzZT4gICAgICAgICAgUHJvdmlkZSBzb3VyY2UgY29tcGF0aWJpbGl0eSB3aXRoIHNwZWNp ZmllZCByZWxlYXNlCiAgLXRhcmdldCA8cmVsZWFzZT4gICAgICAgICAgR2VuZXJhdGUgY2xh c3MgZmlsZXMgZm9yIHNwZWNpZmljIFZNIHZlcnNpb24KICAtcHJvZmlsZSA8cHJvZmlsZT4g ICAgICAgICBDaGVjayB0aGF0IEFQSSB1c2VkIGlzIGF2YWlsYWJsZSBpbiB0aGUgc3BlY2lm aWVkIHByb2ZpbGUKICAtdmVyc2lvbiAgICAgICAgICAgICAgICAgICBWZXJzaW9uIGluZm9y bWF0aW9uCiAgLWhlbHAgICAgICAgICAgICAgICAgICAgICAgUHJpbnQgYSBzeW5vcHNpcyBv ZiBzdGFuZGFyZCBvcHRpb25zCiAgLUFrZXlbPXZhbHVlXSAgICAgICAgICAgICAgT3B0aW9u cyB0byBwYXNzIHRvIGFubm90YXRpb24gcHJvY2Vzc29ycwogIC1YICAgICAgICAgICAgICAg ICAgICAgICAgIFByaW50IGEgc3lub3BzaXMgb2Ygbm9uc3RhbmRhcmQgb3B0aW9ucwogIC1K PGZsYWc+ICAgICAgICAgICAgICAgICAgIFBhc3MgPGZsYWc+IGRpcmVjdGx5IHRvIHRoZSBy dW50aW1lIHN5c3RlbQogIC1XZXJyb3IgICAgICAgICAgICAgICAgICAgIFRlcm1pbmF0ZSBj b21waWxhdGlvbiBpZiB3YXJuaW5ncyBvY2N1cgogIEA8ZmlsZW5hbWU+ICAgICAgICAgICAg ICAgIFJlYWQgb3B0aW9ucyBhbmQgZmlsZW5hbWVzIGZyb20gZmlsZQoKUnVubmluZyBmcm9t IGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNy L2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2Jp bjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46 L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2phdmEtbm9iYXNlLmRpcgorIGNhdAorIGNhdAorIG1rZGlyIHN1YiBzdWIv c3Vic3ViCisgZWNobyBjbGFzcyBGb28ge30KKyBlY2hvIGNsYXNzIEJhciB7fQorIGFjbG9j YWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsCisgcHdkCisgLi9jb25maWd1cmUgLS1wcmVmaXg9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9iYXNlLmRpci9faW5zdApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0 aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3Rh dHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFrZSBjaGVjawpybSAt ZiBzdWIyL0Jhei5qYXZhIHN1YjIvQmF6LmphdmEtdAp0ZXN0IC1kIHN1YjIgfHwgbWtkaXIg c3ViMgplY2hvICdjbGFzcyBCYXoge30nID4gc3ViMi9CYXouamF2YS10CmNobW9kIGEtdyBz dWIyL0Jhei5qYXZhLXQgJiYgbXYgLWYgc3ViMi9CYXouamF2YS10IHN1YjIvQmF6LmphdmEK Q0xBU1NQQVRIPS46Li8uJHtDTEFTU1BBVEg6KyI6JENMQVNTUEFUSCJ9IGphdmFjIC1kIC4g ICAgc3ViL0Jhci5qYXZhIHN1Yi9zdWJzdWIvRm9vLmphdmEgc3ViMi9CYXouamF2YQplY2hv IHRpbWVzdGFtcCA+IGNsYXNzamF2YS5zdGFtcAorIG1ha2UgaW5zdGFsbAptYWtlWzFdwqA6 IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXLCoMK7Cm1ha2VbMV06IHJpZW4g w6AgZmFpcmUgcG91ciDCq8KgaW5zdGFsbC1leGVjLWFtwqDCuy4KIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5k aXIvX2luc3Qvc2hhcmUvamF2YScKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IEJhci5j bGFzcyBCYXouY2xhc3MgRm9vLmNsYXNzICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEvJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEt bm9iYXNlLmRpci9faW5zdC9zaGFyZS9qYXZhJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgQmFyLmNsYXNzIEJhei5jbGFzcyBGb28uY2xhc3MgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIvX2luc3Qvc2hhcmUvamF2YS8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEnCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCBCYXIuY2xhc3MgQmF6LmNsYXNzIEZvby5jbGFzcyAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9iYXNlLmRpci9faW5zdC9zaGFy ZS9qYXZhLycKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXLCoMK7 CisgbWFrZSB0ZXN0LWluc3RhbGwKZmluZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0IDs6IEZvciBkZWJ1Z2dpbmcuCi9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIv X2luc3QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9i YXNlLmRpci9faW5zdC9zaGFyZQovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEKL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9iYXNlLmRpci9faW5zdC9zaGFyZS9q YXZhL0Jhci5jbGFzcwovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv amF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEvQmF6LmNsYXNzCi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIvX2luc3Qvc2hh cmUvamF2YS9Gb28uY2xhc3MKdGVzdCAgIC1mIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIvX2luc3Qvc2hhcmUvamF2YS9zdWIvc3Vi c3ViL0Zvby5jbGFzcwptYWtlOiAqKiogW01ha2VmaWxlOjY0MzogdGVzdC1pbnN0YWxsXSBF cnJvciAxCisgYW1fZXhpdF90cmFwIDIKKyBleGl0X3N0YXR1cz0yCisgc2V0ICtlCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRh cAorIHRlc3QgMiAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvamF2YS1ub2Jhc2Uuc2ggKGV4aXQg c3RhdHVzOiAyKQoKWEZBSUw6IHQvbGV4LXN1Ym9iai1ub2RlcAo9PT09PT09PT09PT09PT09 PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29s OiBub25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jp bjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYv YmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NU TTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFi aS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvbGV4LXN1Ym9iai1ub2RlcC5kaXIK KyBjYXQKKyBjYXQKKyBta2RpciBzdWIxIHN1YjIKKyBjYXQKKyBjcCBzdWIxL3MxLmwgc3Vi Mi9zMi5sCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEu MTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKY29uZmlndXJlLmFjOiBpbnN0YWxsaW5n ICcuL3lsd3JhcCcKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisgLi4vY29uZmlndXJlIC0t ZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2M5CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjOSBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjOSBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2M5IHVuZGVyc3RhbmRz IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2M5Li4uIG5vbmUKY2hlY2tpbmcgZm9yIGZsZXguLi4g bGV4CmNoZWNraW5nIGxleCBvdXRwdXQgZmlsZSByb290Li4uIGxleC55eQpjaGVja2luZyBs ZXggbGlicmFyeS4uLiAtbGZsCmNoZWNraW5nIHdoZXRoZXIgeXl0ZXh0IGlzIGEgcG9pbnRl ci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBzdWIxL3MxLmMKL2Jpbi9iYXNoIC4uL3ls d3JhcCAuLi9zdWIxL3MxLmwgbGV4Lnl5LmMgc3ViMS9zMS5jIC0tIGxleCAgCi4uL3lsd3Jh cDogbGlnbmUgMjA2OiAuLi9zdWIxL3MxLmM6IEF1Y3VuIGZpY2hpZXIgb3UgZG9zc2llciBk ZSBjZSB0eXBlCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDQwOiBzdWIxL3MxLmNdIEVycm9yIDEK KyBhbV9leGl0X3RyYXAgMgorIGV4aXRfc3RhdHVzPTIKKyBzZXQgK2UKKyBjZCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVz dCAyIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9sZXgtc3Vib2JqLW5vZGVwLnNoIChleGl0IHN0 YXR1czogMikKClNLSVA6IHQvbGlzcDMKPT09PT09PT09PT09PQoKbGlzcDM6IHJ1bm5pbmcg ZW1hY3MgLS12ZXJzaW9uCi4vdC9saXNwMy5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZvdW5k ClNLSVAgdC9saXNwMy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwNAo9PT09 PT09PT09PT09CgpsaXNwNDogcnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3A0LnNo OiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0 LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3A0LnNoIChleGl0IHN0YXR1 czogNzcpCgpTS0lQOiB0L2xpc3A1Cj09PT09PT09PT09PT0KCmxpc3A1OiBydW5uaW5nIGVt YWNzIC0tdmVyc2lvbgouL3QvbGlzcDUuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApT S0lQIHQvbGlzcDUuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcDYKPT09PT09 PT09PT09PQoKbGlzcDY6IHJ1bm5pbmcgZW1hY3MgLS12ZXJzaW9uCi4vdC9saXNwNi5zaDog OTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBlbWFjczogbm90IGZvdW5kClNLSVAgdC9saXNwNi5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9saXNwOAo9PT09PT09PT09PT09CgpsaXNwODogZGV0ZXJtaW5lIHdo ZXRoZXIgbWFrZSBpcyBHTlUgbWFrZQpHTlUgTWFrZSA0LjIuMQpMaWNlbmNlIEdQTHYzK8Kg OiBHTlUgR1BMIHZlcnNpb24gMyBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGlj ZW5zZXMvZ3BsLmh0bWw+Cmxpc3A4OiBydW5uaW5nIGVtYWNzIC0tdmVyc2lvbgouL3QvbGlz cDguc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4 L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcDguc2ggKGV4aXQg c3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1yZWFkb25seS1zcmNkaXIKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PQoKbGlzcC1yZWFkb25seS1zcmNkaXI6IHJ1bm5pbmcgZW1hY3Mg LS12ZXJzaW9uCi4vdC9saXNwLXJlYWRvbmx5LXNyY2Rpci5zaDogOTkzOiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczog bm90IGZvdW5kClNLSVAgdC9saXNwLXJlYWRvbmx5LXNyY2Rpci5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9saXNwLWxvYWRwYXRoCj09PT09PT09PT09PT09PT09PT09PQoKbGlz cC1sb2FkcGF0aDogcnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3AtbG9hZHBhdGgu c2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcC1sb2FkcGF0aC5zaCAo ZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwLXN1YmRpcgo9PT09PT09PT09PT09PT09 PT09CgpsaXNwLXN1YmRpcjogcnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3Atc3Vi ZGlyLnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3Atc3ViZGlyLnNo IChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2xpc3Atc3ViZGlyMgo9PT09PT09PT09PT09 PT09PT09PQoKbGlzcC1zdWJkaXIyOiBydW5uaW5nIGVtYWNzIC0tdmVyc2lvbgouL3QvbGlz cC1zdWJkaXIyLnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3Atc3Vi ZGlyMi5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwLXN1YmRpci1taXgKPT09 PT09PT09PT09PT09PT09PT09PT0KCmxpc3Atc3ViZGlyLW1peDogcnVubmluZyBlbWFjcyAt LXZlcnNpb24KLi90L2xpc3Atc3ViZGlyLW1peC5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZv dW5kClNLSVAgdC9saXNwLXN1YmRpci1taXguc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6 IHQvbGlzcGRyeQo9PT09PT09PT09PT09PT0KCmxpc3Bkcnk6IHJ1bm5pbmcgZW1hY3MgLS12 ZXJzaW9uCi4vdC9saXNwZHJ5LnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0 L2xpc3Bkcnkuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1wcjExODA2Cj09 PT09PT09PT09PT09PT09PT09CgpsaXNwLXByMTE4MDY6IHJ1bm5pbmcgZW1hY3MgLS12ZXJz aW9uCi4vdC9saXNwLXByMTE4MDYuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQ IHQvbGlzcC1wcjExODA2LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L21hbjYKPT09 PT09PT09PT09CgptYW42OiBydW5uaW5nIGhlbHAybWFuIC0tdmVyc2lvbgouL3QvbWFuNi5z aDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiBoZWxwMm1hbjogbm90IGZvdW5kClNLSVAgdC9tYW42LnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L29iamMtbWluaWRlbW8KPT09PT09PT09PT09PT09PT09PT09 CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBB VEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3Iv bG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVBy b2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTkt cTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1taW5pZGVtby5kaXIKKyBjYXQKKyBjYXQK KyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIDogV2UgaGF2ZSBhIG1vZGVy biBlbm91Z2ggYXV0b2NvbmYsIGdvIGFoZWFkLgorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisg YXV0b2NvbmYKKyBhdXRvaGVhZGVyCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJv ciAtV2FsbCAtLWFkZC1taXNzaW5nCnBhcmFsbGVsLXRlc3RzOiBpbnN0YWxsaW5nICcuL3Rl c3QtZHJpdmVyJworIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgT2JqZWN0aXZlIEMgY29tcGlsZXIg d29ya3MuLi4gbm8KY29uZmlndXJlOiBlcnJvcjogaW4gYC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9vYmpjLW1pbmlkZW1vLmRpcic6CmNvbmZpZ3VyZTogZXJy b3I6IE9iamVjdGl2ZSBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKU2Vl IGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzCisgYW1fZXhpdF90cmFwIDc3CisgZXhp dF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVz dGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClNL SVAgdC9vYmpjLW1pbmlkZW1vLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L29iamMt ZmxhZ3MKPT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBu bwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUv aHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9n Y2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGlu aworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1m bGFncy5kaXIKKyBjYXQKKyBjYXQKKyB1bmluZGVudAorIHRlc3QgeCA9IHgKKyBwcmludGYg JXNcbiAKICAvXiQvYiAgICAgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHRvIGRvIGZvciBl bXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAgICAgIyBHZXQgeDxpbmRlbnQ+ IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAgICAgICAgICAgIyBObyBw cmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAgICAgICAgICAgICAg ICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRlcm4gc3BhY2Uu CiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50PiBpbiBwYXR0 ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzogeDxpbmRlbnQ+ IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAgICAgICAgICAg ICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3BhY2UsIGFuZAog IGggICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRvIGhvbGQgc3Bh Y2UuCiAgcy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGluZGVudD4gaW4g cGF0dGVybiBzcGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMgZXhjaGFu Z2Ugd2l0aCB0aGUgYWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAgcy9eeFwoLipc KVxuXDEvLyAgICAgICAgICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJvbSA8bGluZT4u CiAgcy9eeC4qXG4vLyAgICAgICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4gd2hlbiB0aGVy ZSBpcyBubyBsZWFkaW5nIDxpbmRlbnQ+LgoKKyBzZWQgLWUgcy8gICojIC4qLy8KKyBzZWRf dW5pbmRlbnRfcHJvZz0KICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChbCSBd KlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwpXG5c MS8vCiAgcy9eeC4qXG4vLworIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAg cy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154 XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIHVuaW5kZW50CisgdGVzdCB4CiAgL14kL2IK ICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgK ICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4Cisg c2VkIAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEv CiAgfQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154 Lipcbi8vCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEu MTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKKyAvYmluL2dyZXAgLUYgT0JKQ0ZMQUdT IE1ha2VmaWxlLmluCmZvbzRfTElOSyA9ICQoT0JKQ0xEKSAkKGZvbzRfT0JKQ0ZMQUdTKSAk KE9CSkNGTEFHUykgJChBTV9MREZMQUdTKSBcCgkkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdT KSAkKEFNX09CSkNGTEFHUykgJChPQkpDRkxBR1MpCk9CSkNMSU5LID0gJChPQkpDTEQpICQo QU1fT0JKQ0ZMQUdTKSAkKE9CSkNGTEFHUykgJChBTV9MREZMQUdTKSBcCk9CSkNGTEFHUyA9 IEBPQkpDRkxBR1NACkFNX09CSkNGTEFHUyA9IC1EVkFMVUU9MiAtREVSUk9SPTEKZm9vNF9P QkpDRkxBR1MgPSAtRFZBTFVFPTQgLURFUlJPUj0xCkBhbV9fZmFzdGRlcE9CSkNfVFJVRUAJ JChBTV9WX09CSkMpJChPQkpDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNM VURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNGTEFHUykgJChP QkpDRkxBR1MpIC1NVCBmb280LWZvbzQubyAtTUQgLU1QIC1NRiAkKERFUERJUikvZm9vNC1m b280LlRwbyAtYyAtbyBmb280LWZvbzQubyBgdGVzdCAtZiAnZm9vNC5tJyB8fCBlY2hvICck KHNyY2RpcikvJ2Bmb280Lm0KQGFtX19mYXN0ZGVwT0JKQ19GQUxTRUAJJChBTV9WX09CSkNA YW1fX25vZGVwQCkkKE9CSkMpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xV REVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGZvbzRfT0JKQ0ZMQUdTKSAkKE9C SkNGTEFHUykgLWMgLW8gZm9vNC1mb280Lm8gYHRlc3QgLWYgJ2ZvbzQubScgfHwgZWNobyAn JChzcmNkaXIpLydgZm9vNC5tCkBhbV9fZmFzdGRlcE9CSkNfVFJVRUAJJChBTV9WX09CSkMp JChPQkpDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9D UFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNGTEFHUykgJChPQkpDRkxBR1MpIC1N VCBmb280LWZvbzQub2JqIC1NRCAtTVAgLU1GICQoREVQRElSKS9mb280LWZvbzQuVHBvIC1j IC1vIGZvbzQtZm9vNC5vYmogYGlmIHRlc3QgLWYgJ2ZvbzQubSc7IHRoZW4gJChDWUdQQVRI X1cpICdmb280Lm0nOyBlbHNlICQoQ1lHUEFUSF9XKSAnJChzcmNkaXIpL2ZvbzQubSc7IGZp YApAYW1fX2Zhc3RkZXBPQkpDX0ZBTFNFQAkkKEFNX1ZfT0JKQ0BhbV9fbm9kZXBAKSQoT0JK QykgJChERUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxB R1MpICQoQ1BQRkxBR1MpICQoZm9vNF9PQkpDRkxBR1MpICQoT0JKQ0ZMQUdTKSAtYyAtbyBm b280LWZvbzQub2JqIGBpZiB0ZXN0IC1mICdmb280Lm0nOyB0aGVuICQoQ1lHUEFUSF9XKSAn Zm9vNC5tJzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9mb280Lm0nOyBmaWAKKyBn cmVwIFwkKE9CSkNGTEFHUykuKlwkKEFNX09CSkNGTEFHUykgTWFrZWZpbGUuaW4KKyBncmVw IFwkKE9CSkNGTEFHUykuKlwkKGZvby4qX09CSkNGTEFHUykgTWFrZWZpbGUuaW4KKyBncmVw IFwkKGZvby4qX09CSkNGTEFHUykuKlwkKEFNX09CSkNGTEFHUykgTWFrZWZpbGUuaW4KKyAu L2NvbmZpZ3VyZSBPQkpDRkxBR1M9LVVFUlJPUgpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQt c2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdh d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2ZSBDIGNvbXBp bGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1mbGFncy5kaXInOgpjb25maWd1cmU6IGVy cm9yOiBPYmplY3RpdmUgQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNl ZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJhcCA3NworIGV4 aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rl c3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApT S0lQIHQvb2JqYy1mbGFncy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9vYmpjLWRl cHMKPT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRl c3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9T VE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1h cm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisg cHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9vYmpjLWRlcHMu ZGlyCisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJy b3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwg LS1hZGQtbWlzc2luZworIC4vY29uZmlndXJlIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tp bmcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBPYmplY3RpdmUgQyBjb21waWxlciB3b3Jrcy4uLiBubwpjb25maWd1cmU6 IGVycm9yOiBpbiBgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29i amMtZGVwcy5kaXInOgpjb25maWd1cmU6IGVycm9yOiBPYmplY3RpdmUgQyBjb21waWxlciBj YW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0 YWlscworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRh cAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvb2JqYy1kZXBzLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L29iamN4eC1taW5pZGVtbwo9PT09PT09PT09PT09PT09PT09 PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9u ZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1 YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0y MDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4eC1taW5pZGVtby5kaXIKKyBjYXQK KyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisg YXV0b2hlYWRlcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1h ZGQtbWlzc2luZwpwYXJhbGxlbC10ZXN0czogaW5zdGFsbGluZyAnLi90ZXN0LWRyaXZlcicK KyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnKysuLi4gZysr CmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2ZSBDKysgY29tcGlsZXIgd29ya3MuLi4g bm8KY29uZmlndXJlOiBlcnJvcjogaW4gYC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9vYmpjeHgtbWluaWRlbW8uZGlyJzoKY29uZmlndXJlOiBlcnJvcjogT2Jq ZWN0aXZlIEMrKyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNlZSBgY29u ZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3Rh dHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJz PXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQv b2JqY3h4LW1pbmlkZW1vLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L29iamN4eC1m bGFncwo9PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazog bm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21l L2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0v Z2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxp bmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4 eC1mbGFncy5kaXIKKyBjYXQKKyBjYXQKKyB1bmluZGVudAorIHRlc3QgeCA9IHgKKyBwcmlu dGYgJXNcbiAKICAvXiQvYiAgICAgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHRvIGRvIGZv ciBlbXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAgICAgIyBHZXQgeDxpbmRl bnQ+IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAgICAgICAgICAgIyBO byBwcmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAgICAgICAgICAg ICAgICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRlcm4gc3Bh Y2UuCiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50PiBpbiBw YXR0ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzogeDxpbmRl bnQ+IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAgICAgICAg ICAgICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3BhY2UsIGFu ZAogIGggICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRvIGhvbGQg c3BhY2UuCiAgcy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGluZGVudD4g aW4gcGF0dGVybiBzcGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMgZXhj aGFuZ2Ugd2l0aCB0aGUgYWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAgcy9eeFwo LipcKVxuXDEvLyAgICAgICAgICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJvbSA8bGlu ZT4uCiAgcy9eeC4qXG4vLyAgICAgICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4gd2hlbiB0 aGVyZSBpcyBubyBsZWFkaW5nIDxpbmRlbnQ+LgoKKyBzZWQgLWUgcy8gICojIC4qLy8KKyBz ZWRfdW5pbmRlbnRfcHJvZz0KICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChb CSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwp XG5cMS8vCiAgcy9eeC4qXG4vLworIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwog ICAgcy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBz L154XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIHVuaW5kZW50CisgdGVzdCB4CiAgL14k L2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwog IGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4 Cisgc2VkIAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94 XDEvCiAgfQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBz L154Lipcbi8vCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtl LTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKKyAvYmluL2dyZXAgLUYgT0JKQ1hY RkxBR1MgTWFrZWZpbGUuaW4KZm9vNF9MSU5LID0gJChPQkpDWFhMRCkgJChmb280X09CSkNY WEZMQUdTKSAkKE9CSkNYWEZMQUdTKSBcCgkkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAk KEFNX09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKQpPQkpDWFhMSU5LID0gJChPQkpDWFhM RCkgJChBTV9PQkpDWFhGTEFHUykgJChPQkpDWFhGTEFHUykgXApPQkpDWFhGTEFHUyA9IEBP QkpDWFhGTEFHU0AKQU1fT0JKQ1hYRkxBR1MgPSAtRFZBTFVFPTIgLURFUlJPUj0xCmZvbzRf T0JKQ1hYRkxBR1MgPSAtRFZBTFVFPTQgLURFUlJPUj0xCkBhbV9fZmFzdGRlcE9CSkNYWF9U UlVFQAkkKEFNX1ZfT0JKQ1hYKSQoT0JKQ1hYKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURF UykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNY WEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAtTVQgZm9vNC1mb280Lm8gLU1EIC1NUCAtTUYgJChE RVBESVIpL2ZvbzQtZm9vNC5UcG8gLWMgLW8gZm9vNC1mb280Lm8gYHRlc3QgLWYgJ2ZvbzQu bW0nIHx8IGVjaG8gJyQoc3JjZGlyKS8nYGZvbzQubW0KQGFtX19mYXN0ZGVwT0JKQ1hYX0ZB TFNFQAkkKEFNX1ZfT0JKQ1hYQGFtX19ub2RlcEApJChPQkpDWFgpICQoREVGUykgJChERUZB VUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAk KGZvbzRfT0JKQ1hYRkxBR1MpICQoT0JKQ1hYRkxBR1MpIC1jIC1vIGZvbzQtZm9vNC5vIGB0 ZXN0IC1mICdmb280Lm1tJyB8fCBlY2hvICckKHNyY2RpcikvJ2Bmb280Lm1tCkBhbV9fZmFz dGRlcE9CSkNYWF9UUlVFQAkkKEFNX1ZfT0JKQ1hYKSQoT0JKQ1hYKSAkKERFRlMpICQoREVG QVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykg JChmb280X09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAtTVQgZm9vNC1mb280Lm9iaiAt TUQgLU1QIC1NRiAkKERFUERJUikvZm9vNC1mb280LlRwbyAtYyAtbyBmb280LWZvbzQub2Jq IGBpZiB0ZXN0IC1mICdmb280Lm1tJzsgdGhlbiAkKENZR1BBVEhfVykgJ2ZvbzQubW0nOyBl bHNlICQoQ1lHUEFUSF9XKSAnJChzcmNkaXIpL2ZvbzQubW0nOyBmaWAKQGFtX19mYXN0ZGVw T0JKQ1hYX0ZBTFNFQAkkKEFNX1ZfT0JKQ1hYQGFtX19ub2RlcEApJChPQkpDWFgpICQoREVG UykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQ UEZMQUdTKSAkKGZvbzRfT0JKQ1hYRkxBR1MpICQoT0JKQ1hYRkxBR1MpIC1jIC1vIGZvbzQt Zm9vNC5vYmogYGlmIHRlc3QgLWYgJ2ZvbzQubW0nOyB0aGVuICQoQ1lHUEFUSF9XKSAnZm9v NC5tbSc7IGVsc2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvZm9vNC5tbSc7IGZpYAorIGdy ZXAgXCQoT0JKQ1hYRkxBR1MpLipcJChBTV9PQkpDWFhGTEFHUykgTWFrZWZpbGUuaW4KKyBn cmVwIFwkKE9CSkNYWEZMQUdTKS4qXCQoZm9vLipfT0JKQ1hYRkxBR1MpIE1ha2VmaWxlLmlu CisgZ3JlcCBcJChmb28uKl9PQkpDWFhGTEFHUykuKlwkKEFNX09CSkNYWEZMQUdTKSBNYWtl ZmlsZS5pbgorIC4vY29uZmlndXJlIE9CSkNYWEZMQUdTPS1VRVJST1IKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZysrLi4uIGcrKwpjaGVja2luZyB3aGV0aGVyIHRoZSBPYmpl Y3RpdmUgQysrIGNvbXBpbGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqY3h4LWZsYWdzLmRp cic6CmNvbmZpZ3VyZTogZXJyb3I6IE9iamVjdGl2ZSBDKysgY29tcGlsZXIgY2Fubm90IGNy ZWF0ZSBleGVjdXRhYmxlcwpTZWUgYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMKKyBh bV9leGl0X3RyYXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0 IDc3IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDAKKyBzZXQgK3gKU0tJUCB0L29iamN4eC1mbGFncy5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9vYmpjeHgtZGVwcwo9PT09PT09PT09PT09PT09PT09CgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3Qvb2JqY3h4LWRlcHMuZGlyCisgY2F0CisgY2F0CisgY2F0CisgY2F0 CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEu MTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZworIC4vY29uZmlndXJl IC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZysrLi4uIGcrKwpjaGVja2luZyB3aGV0aGVyIHRoZSBPYmplY3RpdmUgQysrIGNv bXBpbGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqY3h4LWRlcHMuZGlyJzoKY29uZmlndXJl OiBlcnJvcjogT2JqZWN0aXZlIEMrKyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFi bGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJhcCA3 NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNl dCAreApTS0lQIHQvb2JqY3h4LWRlcHMuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQv b2JqYy1tZWdhZGVtbwo9PT09PT09PT09PT09PT09PT09PT0KCm9iamMtbWVnYWRlbW86IHJ1 bm5pbmcgbGlidG9vbGl6ZSAtLXZlcnNpb24KbGlidG9vbGl6ZSAoR05VIGxpYnRvb2wpIDIu NC42CldyaXR0ZW4gYnkgR2FyeSBWLiBWYXVnaGFuIDxnYXJ5QGdudS5vcmc+LCAyMDAzCgpD b3B5cmlnaHQgKEMpIDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMg aXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9u cy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmlu Oi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9o b21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0 L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3Qvb2JqYy1tZWdhZGVtby5kaXIKKyBjYXQKKyBjYXQKKyBsaWJ0b29saXplCmxpYnRv b2xpemU6IHB1dHRpbmcgYXV4aWxpYXJ5IGZpbGVzIGluIEFDX0NPTkZJR19BVVhfRElSLCAn YnVpbGQtYXV4Jy4KbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdidWlsZC1hdXgvbHRtYWlu LnNoJwpsaWJ0b29saXplOiBwdXR0aW5nIG1hY3JvcyBpbiBBQ19DT05GSUdfTUFDUk9fRElS UywgJ200Jy4KbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdtNC9saWJ0b29sLm00JwpsaWJ0 b29saXplOiBsaW5raW5nIGZpbGUgJ200L2x0b3B0aW9ucy5tNCcKbGlidG9vbGl6ZTogbGlu a2luZyBmaWxlICdtNC9sdHN1Z2FyLm00JwpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgJ200 L2x0dmVyc2lvbi5tNCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdtNC9sdH5vYnNvbGV0 ZS5tNCcKbGlidG9vbGl6ZTogQ29uc2lkZXIgYWRkaW5nICctSSBtNCcgdG8gQUNMT0NBTF9B TUZMQUdTIGluIE1ha2VmaWxlLmFtLgorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2hl YWRlcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2Fs bCAtLWFkZC1taXNzaW5nCmNvbmZpZ3VyZS5hYzo5OiBpbnN0YWxsaW5nICdidWlsZC1hdXgv YXItbGliJwpjb25maWd1cmUuYWM6OTogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2NvbXBpbGUn CmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2NvbmZpZy5ndWVzcycK Y29uZmlndXJlLmFjOjEwOiBpbnN0YWxsaW5nICdidWlsZC1hdXgvY29uZmlnLnN1YicKY29u ZmlndXJlLmFjOjc6IGluc3RhbGxpbmcgJ2J1aWxkLWF1eC9pbnN0YWxsLXNoJwpjb25maWd1 cmUuYWM6NzogaW5zdGFsbGluZyAnYnVpbGQtYXV4L21pc3NpbmcnCk1ha2VmaWxlLmFtOiBp bnN0YWxsaW5nICdidWlsZC1hdXgvZGVwY29tcCcKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQK KyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyAuL2NvbmZpZ3VyZQpjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1wYy1saW51eC1n bnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251CmNo ZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzLi4uIHByaW50ZgpjaGVja2luZyBmb3IgYSBz ZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gL2Jpbi9zZWQKY2hlY2tpbmcg Zm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lLi4uIC9iaW4vZ3JlcApj aGVja2luZyBmb3IgZWdyZXAuLi4gL2Jpbi9ncmVwIC1FCmNoZWNraW5nIGZvciBmZ3JlcC4u LiAvYmluL2dyZXAgLUYKY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgZ2NjLi4uIC91c3IvbG9j YWwveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQKY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAo L3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCkgaXMgR05VIGxkLi4uIHll cwpjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSku Li4gL3Vzci9sb2NhbC9iaW4vbm0gLUIKY2hlY2tpbmcgdGhlIG5hbWUgbGlzdGVyICgvdXNy L2xvY2FsL2Jpbi9ubSAtQikgaW50ZXJmYWNlLi4uIEJTRCBubQpjaGVja2luZyB3aGV0aGVy IGxuIC1zIHdvcmtzLi4uIHllcwpjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29t bWFuZCBsaW5lIGFyZ3VtZW50cy4uLiAxNTcyODY0CmNoZWNraW5nIGhvdyB0byBjb252ZXJ0 IHg4Nl82NC1wYy1saW51eC1nbnUgZmlsZSBuYW1lcyB0byB4ODZfNjQtcGMtbGludXgtZ251 IGZvcm1hdC4uLiBmdW5jX2NvbnZlcnRfZmlsZV9ub29wCmNoZWNraW5nIGhvdyB0byBjb252 ZXJ0IHg4Nl82NC1wYy1saW51eC1nbnUgZmlsZSBuYW1lcyB0byB0b29sY2hhaW4gZm9ybWF0 Li4uIGZ1bmNfY29udmVydF9maWxlX25vb3AKY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwveDg2 XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMu Li4gLXIKY2hlY2tpbmcgZm9yIG9iamR1bXAuLi4gb2JqZHVtcApjaGVja2luZyBob3cgdG8g cmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMuLi4gcGFzc19hbGwKY2hlY2tpbmcgZm9y IGRsbHRvb2wuLi4gbm8KY2hlY2tpbmcgaG93IHRvIGFzc29jaWF0ZSBydW50aW1lIGFuZCBs aW5rIGxpYnJhcmllcy4uLiBwcmludGYgJXNcbgpjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJ TEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJpcC4uLiBzdHJpcApjaGVja2luZyBm b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyBjb21tYW5kIHRvIHBhcnNlIC91c3IvbG9j YWwvYmluL25tIC1CIG91dHB1dCBmcm9tIGdjYyBvYmplY3QuLi4gb2sKY2hlY2tpbmcgZm9y IHN5c3Jvb3QuLi4gbm8KY2hlY2tpbmcgZm9yIGEgd29ya2luZyBkZC4uLiAvYmluL2RkCmNo ZWNraW5nIGhvdyB0byB0cnVuY2F0ZSBiaW5hcnkgcGlwZXMuLi4gL2Jpbi9kZCBicz00MDk2 IGNvdW50PTEKY2hlY2tpbmcgZm9yIG10Li4uIG10CmNoZWNraW5nIGlmIG10IGlzIGEgbWFu aWZlc3QgdG9vbC4uLiBubwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nv ci4uLiBnY2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4geWVzCmNo ZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN5cy9zdGF0Lmgu Li4geWVzCmNoZWNraW5nIGZvciBzdGRsaWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmlu Zy5oLi4uIHllcwpjaGVja2luZyBmb3IgbWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBz dHJpbmdzLmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpjaGVja2lu ZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlzdGQuaC4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGRsZmNuLmguLi4geWVzCmNoZWNraW5nIGZvciBvYmpkaXIuLi4gLmxpYnMK Y2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4g bm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMgLURQ SUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1mUElDIC1EUElDIHdvcmtzLi4uIHllcwpj aGVja2luZyBpZiBnY2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgaWYgZ2NjIHN1cHBvcnRzIC1jIC1vIGZpbGUuby4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2Nj IHN1cHBvcnRzIC1jIC1vIGZpbGUuby4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgd2hldGhl ciB0aGUgZ2NjIGxpbmtlciAoL3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9s ZCAtbSBlbGZfeDg2XzY0KSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4uLi4gbm8K Y2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIEdOVS9MaW51eCBs ZC5zbwpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dy YW1zLi4uIGltbWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMg aXMgcG9zc2libGUuLi4geWVzCmNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVk IGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGli cmFyaWVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJp ZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gKGNhY2hlZCkgZ2NjCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiAoY2FjaGVkKSB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tp bmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gKGNhY2hlZCkgbm9uZSBu ZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0 aGVyLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiAoY2FjaGVkKSBnY2MzCmNoZWNraW5nIGZvciBnKysuLi4gZysrCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQysrIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGcrKyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGcrKy4uLiBnY2MzCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVwcm9jZXNz b3IuLi4gZysrIC1FCmNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGcrKy4uLiAvdXNyL2xvY2Fs L3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZfNjQKY2hlY2tpbmcgaWYg dGhlIGxpbmtlciAoL3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCAtbSBl bGZfeDg2XzY0KSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGcrKyBs aW5rZXIgKC91c3IvbG9jYWwveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgLW0gZWxmX3g4 Nl82NCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGcr KyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMgLURQSUMKY2hlY2tpbmcgaWYgZysr IFBJQyBmbGFnIC1mUElDIC1EUElDIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnKysgc3Rh dGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgZysrIHN1cHBvcnRz IC1jIC1vIGZpbGUuby4uLiB5ZXMKY2hlY2tpbmcgaWYgZysrIHN1cHBvcnRzIC1jIC1vIGZp bGUuby4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgZysrIGxpbmtlciAo L3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCAtbSBlbGZfeDg2XzY0KSBz dXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVja2luZyBkeW5hbWljIGxpbmtl ciBjaGFyYWN0ZXJpc3RpY3MuLi4gKGNhY2hlZCkgR05VL0xpbnV4IGxkLnNvCmNoZWNraW5n IGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRp YXRlCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgT2JqZWN0aXZlIEMgY29tcGlsZXIuLi4gbm8KY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiBubwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj Yy4uLiBnY2MzCmNoZWNraW5nIGZvciBnKysuLi4gZysrCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgT2JqZWN0aXZlIEMrKyBjb21waWxlci4uLiBubwpjaGVja2lu ZyB3aGV0aGVyIGcrKyBhY2NlcHRzIC1nLi4uIG5vCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZysrLi4uIGdjYzMKY2hlY2tpbmcgd2hldGhlciB0aGUgT2JqZWN0aXZlIEMgY29t cGlsZXIgcmVhbGx5IHdvcmtzLi4uIG5vCmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2 ZSBDKysgY29tcGlsZXIgcmVhbGx5IHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGNv dWxkbid0IGZpbmQgYSB3b3JraW5nIE9iamVjdGl2ZSBDIGNvbXBpbGVyCisgYW1fZXhpdF90 cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEg MAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAw Cisgc2V0ICt4ClNLSVAgdC9vYmpjLW1lZ2FkZW1vLnNoIChleGl0IHN0YXR1czogNzcpCgpY RkFJTDogdC9vYmpleHQtcHIxMDEyOAo9PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmlu ZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jp bjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVy Mi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0 ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L29iamV4dC1wcjEwMTI4LmRpcgorIGVjaG8gQUNfT1VUUFVUCisg Y2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsCisgYXV0b2NvbmYKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBC U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBn YXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVz CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFrZSB0ZXN0CmlzICA9PSBmb28uZmFzbApt YWtlOiAqKiogW01ha2VmaWxlOjY3NTogdGVzdF0gRXJyb3IgMQorIGFtX2V4aXRfdHJhcCAy CisgZXhpdF9zdGF0dXM9MgorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDIgLWVxIDAKKyBrZWVw X3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAr eApYRkFJTCB0L29iamV4dC1wcjEwMTI4LnNoIChleGl0IHN0YXR1czogMikKClhGQUlMOiB0 L292ZXJyaWRlLWNvbmRpdGlvbmFsLTIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQ QVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNy L2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQ cm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5 LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L292ZXJyaWRlLWNvbmRpdGlvbmFsLTIuZGlyCisg Y2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBBVVRPTUFLRV9mYWlscworIEFV VE9NQUtFX3J1biAtZSAxCisgYW1fX2Rlc2M9CisgYW1fX2V4cF9yYz0wCisgdGVzdCAyIC1n dCAwCisgYW1fX2V4cF9yYz0xCisgc2hpZnQKKyBzaGlmdAorIHRlc3QgMCAtZ3QgMAorIGFt X19nb3RfcmM9MAorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBj YXQgc3RkZXJyCisgY2F0IHN0ZG91dAorIHRlc3Qgbm9uZSA9IG5vbmUKKyB0ZXN0IDAgLWVx IDEKKyBfYW1fZXhpdCAxCisgc2V0ICtlCisgdGVzdCA3NyA9IDEKKyBleGl0IDEKKyBleGl0 IDEKKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisg dGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9vdmVycmlkZS1jb25kaXRpb25hbC0yLnNo IChleGl0IHN0YXR1czogMSkKClhGQUlMOiB0L292ZXJyaWRlLWNvbmRpdGlvbmFsLXByMTM5 NDAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9t IGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNy L2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2Jp bjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46 L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L292ZXJyaWRlLWNvbmRpdGlvbmFsLXByMTM5NDAuZGlyCisgY2F0CisgY2F0 CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vy cm9yIC1XYWxsIC1hCmF1dG9tYWtlLTEuMTY6IHdhcm5pbmdzIGFyZSB0cmVhdGVkIGFzIGVy cm9ycwpNYWtlZmlsZS5hbTo4OiB3YXJuaW5nOiBhbGwtbG9jYWwgd2FzIGFscmVhZHkgZGVm aW5lZCBpbiBjb25kaXRpb24gRk9PLCB3aGljaCBpcyBpbmNsdWRlZCBpbiBjb25kaXRpb24g VFJVRSAuLi4KTWFrZWZpbGUuYW06NTogLi4uICdhbGwtbG9jYWwnIHByZXZpb3VzbHkgZGVm aW5lZCBoZXJlCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9 IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvb3ZlcnJpZGUtY29uZGl0aW9u YWwtcHIxMzk0MC5zaCAoZXhpdCBzdGF0dXM6IDEpCgpYRkFJTDogdC9yZW1ha2UtYW0tcHIx MDExMQo9PT09PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmlu Oi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9o di9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdH RVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L3JlbWFrZS1hbS1wcjEwMTExLmRpcgorIGNhdAorIDoKKyBjYXQKKyBhY2xvY2FsLTEuMTYg LVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAt V2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5l cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJl OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr ZWZpbGUKKyBtYWtlIGRpc3RkaXIKbWFrZSAgZGlzdGRpci1hbQptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9yZW1ha2UtYW0tcHIxMDExMS5kaXLCoMK7CmlmIHRlc3QgLWQgInJl bWFrZS1hbS1wcjEwMTExLTEuMCI7IHRoZW4gZmluZCAicmVtYWtlLWFtLXByMTAxMTEtMS4w IiAtdHlwZSBkICEgLXBlcm0gLTIwMCAtZXhlYyBjaG1vZCB1K3cge30gJzsnICYmIHJtIC1y ZiAicmVtYWtlLWFtLXByMTAxMTEtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0gLXJmICJyZW1h a2UtYW0tcHIxMDExMS0xLjAiOyB9OyBlbHNlIDo7IGZpCnRlc3QgLWQgInJlbWFrZS1hbS1w cjEwMTExLTEuMCIgfHwgbWtkaXIgInJlbWFrZS1hbS1wcjEwMTExLTEuMCIKdGVzdCAtbiAi IiBcCnx8IGZpbmQgInJlbWFrZS1hbS1wcjEwMTExLTEuMCIgLXR5cGUgZCAhIC1wZXJtIC03 NTUgXAoJLWV4ZWMgY2htb2QgdStyd3gsZ28rcngge30gXDsgLW8gXAogICEgLXR5cGUgZCAh IC1wZXJtIC00NDQgLWxpbmtzIDEgLWV4ZWMgY2htb2QgYStyIHt9IFw7IC1vIFwKICAhIC10 eXBlIGQgISAtcGVybSAtNDAwIC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCiAgISAtdHlw ZSBkICEgLXBlcm0gLTQ0NCAtZXhlYyAvYmluL2Jhc2ggL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS1hbS1wcjEwMTExLmRpci9pbnN0YWxsLXNoIC1j IC1tIGErciB7fSB7fSBcOyBcCnx8IGNobW9kIC1SIGErciAicmVtYWtlLWFtLXByMTAxMTEt MS4wIgptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS1hbS1wcjEwMTExLmRpcsKg wrsKKyBjZCByZW1ha2UtYW0tcHIxMDExMS0xLjAKKyBta2RpciBidWlsZAorIGNkIGJ1aWxk CisgLi4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwu Li4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKKyBybSAtZiAuLi9mb29iYXIuYW0KKyBtYWtlCm1ha2U6IHJpZW4gw6AgZmFpcmUgcG91 ciDCq8KgYWxswqDCuy4KKyBncmVwID0gZm9vYmFyIHdhcyBoZXJlID0gLi4vTWFrZWZpbGUu aW4KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisg dGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9yZW1ha2UtYW0tcHIxMDExMS5zaCAoZXhp dCBzdGF0dXM6IDEpCgpYRkFJTDogdC9yZW1ha2UtbTQtcHIxMDExMQo9PT09PT09PT09PT09 PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90 b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21l L2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3Vi ZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25l LWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS1tNC1wcjEwMTEx LmRpcgorIGNhdAorIDoKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25m CisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJl CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGRpc3Rk aXIKbWFrZSAgZGlzdGRpci1hbQptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1h a2UtbTQtcHIxMDExMS5kaXLCoMK7CmlmIHRlc3QgLWQgInJlbWFrZS1tNC1wcjEwMTExLTEu MCI7IHRoZW4gZmluZCAicmVtYWtlLW00LXByMTAxMTEtMS4wIiAtdHlwZSBkICEgLXBlcm0g LTIwMCAtZXhlYyBjaG1vZCB1K3cge30gJzsnICYmIHJtIC1yZiAicmVtYWtlLW00LXByMTAx MTEtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0gLXJmICJyZW1ha2UtbTQtcHIxMDExMS0xLjAi OyB9OyBlbHNlIDo7IGZpCnRlc3QgLWQgInJlbWFrZS1tNC1wcjEwMTExLTEuMCIgfHwgbWtk aXIgInJlbWFrZS1tNC1wcjEwMTExLTEuMCIKdGVzdCAtbiAiIiBcCnx8IGZpbmQgInJlbWFr ZS1tNC1wcjEwMTExLTEuMCIgLXR5cGUgZCAhIC1wZXJtIC03NTUgXAoJLWV4ZWMgY2htb2Qg dStyd3gsZ28rcngge30gXDsgLW8gXAogICEgLXR5cGUgZCAhIC1wZXJtIC00NDQgLWxpbmtz IDEgLWV4ZWMgY2htb2QgYStyIHt9IFw7IC1vIFwKICAhIC10eXBlIGQgISAtcGVybSAtNDAw IC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCiAgISAtdHlwZSBkICEgLXBlcm0gLTQ0NCAt ZXhlYyAvYmluL2Jhc2ggL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L3JlbWFrZS1tNC1wcjEwMTExLmRpci9pbnN0YWxsLXNoIC1jIC1tIGErciB7fSB7fSBcOyBc Cnx8IGNobW9kIC1SIGErciAicmVtYWtlLW00LXByMTAxMTEtMS4wIgptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L3JlbWFrZS1tNC1wcjEwMTExLmRpcsKgwrsKKyBjZCByZW1ha2UtbTQt cHIxMDExMS0xLjAKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisgLi4vY29uZmlndXJlCmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBybSAtZiAuLi9mb29i YXIubTQKKyBtYWtlCm1ha2U6IHJpZW4gw6AgZmFpcmUgcG91ciDCq8KgYWxswqDCuy4KKyBn cmVwIDogZm9vYmFyIHdhcyBoZXJlIDogLi4vY29uZmlndXJlCisgYW1fZXhpdF90cmFwIDEK KyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBf dGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4 ClhGQUlMIHQvcmVtYWtlLW00LXByMTAxMTEuc2ggKGV4aXQgc3RhdHVzOiAxKQoKWEZBSUw6 IHQvcmVtYWtlLXRpbWluZy1idWctcHI4MzY1Cj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDog bm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jp bjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0z MkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmkt OC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS10aW1pbmctYnVnLXByODM2 NS5kaXIKKyBzdGF0IC9kZXYvbnVsbAogIEZpY2hpZXLCoDogL2Rldi9udWxsCiAgIFRhaWxs ZcKgOiAwICAgICAgICAgCUJsb2NzwqA6IDAgICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5 NiAgIGZpY2hpZXIgc3DDqWNpYWwgZGUgY2FyYWN0w6hyZXMKUMOpcmlwaMOpcmlxdWXCoDog NmgvNmQJSW7Fk3VkwqA6IDIwNTEgICAgICAgIExpZW5zwqA6IDEgICAgIFR5cGUgZGUgcMOp cmlwaC7CoDogMSwzCkFjY8Ooc8KgOiAoMDY2Ni9jcnctcnctcnctKSAgVUlEwqA6ICggICAg MC8gICAgcm9vdCkgICBHSUTCoDogKCAgICAwLyAgICByb290KQogQWNjw6hzwqA6IDIwMjAt MDMtMjIgMTg6MjI6MjMuMDY5OTk5OTkxICswMTAwCk1vZGlmLsKgOiAyMDIwLTAzLTIyIDE4 OjIyOjIzLjA2OTk5OTk5MSArMDEwMApDaGFuZ3TCoDogMjAyMC0wMy0yMiAxODoyMjoyMy4w Njk5OTk5OTEgKzAxMDAKICBDcsOpw6nCoDogLQorIHN0YXQ9c3RhdAorIGNhdAorIDoKKyBh Y2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3Ig LVdhbGwKKyBhdXRvY29uZgorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIE1ha2VmaWxlCm1ha2U6IMKrwqBNYWtlZmlsZcKg wrsgZXN0IMOgIGpvdXIuCisgL2Jpbi9ncmVwIC1FIEZPT0JBUnx6YXJkb3ogTWFrZWZpbGUK KyBlY2hvIEFDX1NVQlNUKFtGT09CQVJdKQorIHN0YXQgY29uZmlnLnN0YXR1cyBNYWtlZmls ZSBjb25maWd1cmUuYWMKICBGaWNoaWVywqA6IGNvbmZpZy5zdGF0dXMKICAgVGFpbGxlwqA6 IDI1NzU0ICAgICAJQmxvY3PCoDogNTYgICAgICAgICBCbG9jcyBkJ0UvU8KgOiA0MDk2ICAg ZmljaGllcgpQw6lyaXBow6lyaXF1ZcKgOiA4MzFoLzIwOTdkCUluxZN1ZMKgOiAzMDIxMTIx ICAgICBMaWVuc8KgOiAxCkFjY8Ooc8KgOiAoMDc1NS8tcnd4ci14ci14KSAgVUlEwqA6ICgg MTAwMC8gICAgICBodikgICBHSUTCoDogKCAxMDAwLyAgICAgIGh2KQogQWNjw6hzwqA6IDIw MjAtMDMtMjMgMDQ6MDc6MzQuNjcxNTQyMDk2ICswMTAwCk1vZGlmLsKgOiAyMDIwLTAzLTIz IDA0OjA3OjM0LjY5MTU0MTk2MiArMDEwMApDaGFuZ3TCoDogMjAyMC0wMy0yMyAwNDowNzoz NC42OTE1NDE5NjIgKzAxMDAKICBDcsOpw6nCoDogLQogIEZpY2hpZXLCoDogTWFrZWZpbGUK ICAgVGFpbGxlwqA6IDE3OTc5ICAgICAJQmxvY3PCoDogNDAgICAgICAgICBCbG9jcyBkJ0Uv U8KgOiA0MDk2ICAgZmljaGllcgpQw6lyaXBow6lyaXF1ZcKgOiA4MzFoLzIwOTdkCUluxZN1 ZMKgOiAzMjc4OTUyICAgICBMaWVuc8KgOiAxCkFjY8Ooc8KgOiAoMDY0NC8tcnctci0tci0t KSAgVUlEwqA6ICggMTAwMC8gICAgICBodikgICBHSUTCoDogKCAxMDAwLyAgICAgIGh2KQog QWNjw6hzwqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzQuNzIxNTQxNzYxICswMTAwCk1vZGlmLsKg OiAyMDIwLTAzLTIzIDA0OjA3OjM0LjcyMTU0MTc2MSArMDEwMApDaGFuZ3TCoDogMjAyMC0w My0yMyAwNDowNzozNC43MjE1NDE3NjEgKzAxMDAKICBDcsOpw6nCoDogLQogIEZpY2hpZXLC oDogY29uZmlndXJlLmFjCiAgIFRhaWxsZcKgOiAxMzEgICAgICAgCUJsb2NzwqA6IDggICAg ICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXCoDog ODMxaC8yMDk3ZAlJbsWTdWTCoDogMzAyMDU5MCAgICAgTGllbnPCoDogMQpBY2PDqHPCoDog KDA2NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6ICgg MTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIwLTAzLTIzIDA0OjA3OjMzLjAwMTU1MzIz OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAwNDowNzozNC43NDE1NDE2MjggKzAxMDAK Q2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzQuNzQxNTQxNjI4ICswMTAwCiAgQ3LDqcOp wqA6IC0KKyBzbGVlcCAyCisgdG91Y2ggY29uZmlnLnN0YXR1cworIHRvdWNoIC1yIGNvbmZp Zy5zdGF0dXMgY29uZmlnLnN0YXR1cyBNYWtlZmlsZSBjb25maWd1cmUuYWMKKyBzdGF0IGNv bmZpZy5zdGF0dXMgTWFrZWZpbGUgY29uZmlndXJlLmFjCiAgRmljaGllcsKgOiBjb25maWcu c3RhdHVzCiAgIFRhaWxsZcKgOiAyNTc1NCAgICAgCUJsb2NzwqA6IDU2ICAgICAgICAgQmxv Y3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3 ZAlJbsWTdWTCoDogMzAyMTEyMSAgICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA3NTUvLXJ3 eHIteHIteCkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAg ICBodikKIEFjY8Ooc8KgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEwMApN b2RpZi7CoDogMjAyMC0wMy0yMyAwNDowNzozNi43NDE1MjgyNzkgKzAxMDAKQ2hhbmd0wqA6 IDIwMjAtMDMtMjMgMDQ6MDc6MzYuNzQxNTI4Mjc5ICswMTAwCiAgQ3LDqcOpwqA6IC0KICBG aWNoaWVywqA6IE1ha2VmaWxlCiAgIFRhaWxsZcKgOiAxNzk3OSAgICAgCUJsb2NzwqA6IDQw ICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXC oDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzI3ODk1MiAgICAgTGllbnPCoDogMQpBY2PDqHPC oDogKDA2NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6 ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUy ODI3OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAwNDowNzozNi43NDE1MjgyNzkgKzAx MDAKQ2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzYuNzQxNTI4Mjc5ICswMTAwCiAgQ3LD qcOpwqA6IC0KICBGaWNoaWVywqA6IGNvbmZpZ3VyZS5hYwogICBUYWlsbGXCoDogMTMxICAg ICAgIAlCbG9jc8KgOiA4ICAgICAgICAgIEJsb2NzIGQnRS9TwqA6IDQwOTYgICBmaWNoaWVy ClDDqXJpcGjDqXJpcXVlwqA6IDgzMWgvMjA5N2QJSW7Fk3VkwqA6IDMwMjA1OTAgICAgIExp ZW5zwqA6IDEKQWNjw6hzwqA6ICgwNjQ0Ly1ydy1yLS1yLS0pICBVSUTCoDogKCAxMDAwLyAg ICAgIGh2KSAgIEdJRMKgOiAoIDEwMDAvICAgICAgaHYpCiBBY2PDqHPCoDogMjAyMC0wMy0y MyAwNDowNzozNi43NDE1MjgyNzkgKzAxMDAKTW9kaWYuwqA6IDIwMjAtMDMtMjMgMDQ6MDc6 MzYuNzQxNTI4Mjc5ICswMTAwCkNoYW5ndMKgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUy ODI3OSArMDEwMAogIENyw6nDqcKgOiAtCisgY2F0CisgY2F0CisgY2F0CisgY2htb2QgYSt4 IGFjbG9jYWwtd3JhcCBhdXRvbWFrZS13cmFwIGF1dG9jb25mLXdyYXAKKyBydW5fbWFrZSBN YWtlZmlsZSBBQ0xPQ0FMPS4vYWNsb2NhbC13cmFwIEFVVE9NQUtFPS4vYXV0b21ha2Utd3Jh cCBBVVRPQ09ORj0uL2F1dG9jb25mLXdyYXAKKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRvdXQ9 bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRlcnI9bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9z dGRhbGw9bm8KKyBhbV9fbWFrZV9mbGFncz0KKyBhbV9fbWFrZV9yY19leHA9MAorIGFtX21h a2VfcmM9MAorIHRlc3QgNCAtZ3QgMAorIGJyZWFrCisgdXNpbmdfZ21ha2UKKyBtYWtlIC0t dmVyc2lvbiAtdgorIGdyZXAgR05VCkdOVSBNYWtlIDQuMi4xCkxpY2VuY2UgR1BMdjMrwqA6 IEdOVSBHUEwgdmVyc2lvbiAzIG91IHVsdMOpcmlldXJlIDxodHRwOi8vZ251Lm9yZy9saWNl bnNlcy9ncGwuaHRtbD4KKyBhbV9fdXNpbmdfZ21ha2U9eWVzCisgcmV0dXJuIDAKKyA6Cisg dGVzdCB4ICE9IHgKKyA6IGV4ZWMgbWFrZSBNYWtlZmlsZSBBQ0xPQ0FMPS4vYWNsb2NhbC13 cmFwIEFVVE9NQUtFPS4vYXV0b21ha2Utd3JhcCBBVVRPQ09ORj0uL2F1dG9jb25mLXdyYXAK KyBzZXQgK3gKQ0RQQVRIPSIke1pTSF9WRVJTSU9OKy59OiIgJiYgY2QgLiAmJiAuL2FjbG9j YWwtd3JhcCAKKyBBVVRPQ09ORj1hdXRvY29uZgorIGV4cG9ydCBBVVRPQ09ORgorIGFjbG9j YWwtMS4xNiAtV2Vycm9yCisgdG91Y2ggLXIgY29uZmlnLnN0YXR1cyBhY2xvY2FsLm00Cisg c3RhdCBhY2xvY2FsLm00CiAgRmljaGllcsKgOiBhY2xvY2FsLm00CiAgIFRhaWxsZcKgOiAy NzMxNiAgICAgCUJsb2NzwqA6IDU2ICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZp Y2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzAyMDY4MCAg ICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA2NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEw MDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIw LTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAw NDowNzozNi43NDE1MjgyNzkgKzAxMDAKQ2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzYu OTExNTI3MTQzICswMTAwCiAgQ3LDqcOpwqA6IC0KIGNkIC4gJiYgLi9hdXRvbWFrZS13cmFw IC0tZm9yZWlnbgorIEFVVE9DT05GPWF1dG9jb25mCisgZXhwb3J0IEFVVE9DT05GCisgYXV0 b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtLWZvcmVpZ24KKyB0b3VjaCAt ciBjb25maWcuc3RhdHVzIE1ha2VmaWxlLmluCisgc3RhdCBNYWtlZmlsZS5pbgogIEZpY2hp ZXLCoDogTWFrZWZpbGUuaW4KICAgVGFpbGxlwqA6IDE3MDMxICAgICAJQmxvY3PCoDogNDAg ICAgICAgICBCbG9jcyBkJ0UvU8KgOiA0MDk2ICAgZmljaGllcgpQw6lyaXBow6lyaXF1ZcKg OiA4MzFoLzIwOTdkCUluxZN1ZMKgOiAzMDIwNzI1ICAgICBMaWVuc8KgOiAxCkFjY8Ooc8Kg OiAoMDY0NC8tcnctci0tci0tKSAgVUlEwqA6ICggMTAwMC8gICAgICBodikgICBHSUTCoDog KCAxMDAwLyAgICAgIGh2KQogQWNjw6hzwqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzYuNzQxNTI4 Mjc5ICswMTAwCk1vZGlmLsKgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEw MApDaGFuZ3TCoDogMjAyMC0wMy0yMyAwNDowNzozNy4xODE1MjUzNDEgKzAxMDAKICBDcsOp w6nCoDogLQpDRFBBVEg9IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBjZCAuICYmIC4vYXV0b2Nv bmYtd3JhcAorIGF1dG9jb25mCisgdG91Y2ggLXIgY29uZmlnLnN0YXR1cyBjb25maWd1cmUK KyBzdGF0IGNvbmZpZ3VyZQogIEZpY2hpZXLCoDogY29uZmlndXJlCiAgIFRhaWxsZcKgOiAx MDQ4MTkgICAgCUJsb2NzwqA6IDIwOCAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZp Y2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzAyNTcyNSAg ICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA3NTUvLXJ3eHIteHIteCkgIFVJRMKgOiAoIDEw MDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIw LTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAw NDowNzozNi43NDE1MjgyNzkgKzAxMDAKQ2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6Mzcu MzAxNTI0NTM5ICswMTAwCiAgQ3LDqcOpwqA6IC0KbWFrZTogwqvCoE1ha2VmaWxlwqDCuyBl c3Qgw6Agam91ci4KKyB0ZXN0IDAgLWVxIDI1MworIHRlc3Qgbm8gPSB5ZXMKKyB0ZXN0IG5v ID0geWVzCisgdGVzdCBubyA9IHllcworIHRlc3QgMCAtZ2UgMAorIHRlc3QgMCAtbGUgMjU1 CisgdGVzdCAwIC1lcSAwCisgZ3JlcCBeRk9PQkFSID0gTWFrZWZpbGUuaW4KRk9PQkFSID0g QEZPT0JBUkAKKyBncmVwIF5GT09CQVIgKj0gKnphcmRveiAqJCBNYWtlZmlsZQorIGFtX2V4 aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVx IDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MAorIHNldCAreApYRkFJTCB0L3JlbWFrZS10aW1pbmctYnVnLXByODM2NS5zaCAoZXhpdCBz dGF0dXM6IDEpCgpTS0lQOiB0L3NpbGVudC1mNzcKPT09PT09PT09PT09PT09PT09CgpTS0lQ IHQvc2lsZW50LWY3Ny5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9zaWxlbnQtZjkw Cj09PT09PT09PT09PT09PT09PQoKU0tJUCB0L3NpbGVudC1mOTAuc2ggKGV4aXQgc3RhdHVz OiA3NykKClNLSVA6IHQvc2lsZW50LW1hbnktbGFuZ3VhZ2VzCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CgpTS0lQIHQvc2lsZW50LW1hbnktbGFuZ3VhZ2VzLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L3N1YmRpci1jb25kLWdldHRleHQKPT09PT09PT09PT09PT09 PT09PT09PT09PT09CgpzdWJkaXItY29uZC1nZXR0ZXh0OiBydW5uaW5nIGdldHRleHQgLS12 ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAuMjAKQ29weXJpZ2h0IChD KSAxOTk1LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BM djMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vu c2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBj aGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRo ZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2ggRHJlcHBlci4K U0tJUCB0L3N1YmRpci1jb25kLWdldHRleHQuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6 IHQvc3Vib2JqLXByMTM5MjgtbW9yZS1sYW5ncwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KClNLSVAgdC9zdWJvYmotcHIxMzkyOC1tb3JlLWxhbmdzLnNoIChleGl0IHN0 YXR1czogNzcpCgpQQVNTOiB0L3RhcC1iYWQtcHJvZwo9PT09PT09PT09PT09PT09PT09PQoK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogdGFwClBBVEgg PSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9j YWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dy YW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMt dXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRpcgorIGZldGNoX3RhcF9kcml2 ZXIKKyBBTV9UQVBfQVdLPWdhd2sKKyBleHBvcnQgQU1fVEFQX0FXSworIGdldF9zaGVsbF9z Y3JpcHQgdGFwLWRyaXZlci5zaCB0YXAtZHJpdmVyCisgYW1fc291cmNlPXRhcC1kcml2ZXIu c2ggYW1fdGFyZ2V0PXRhcC1kcml2ZXIKKyB0ZXN0ICEgLWYgdGFwLWRyaXZlcgorIHRlc3Qg eCA9IHh5ZXMKKyBjcCAtZiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2xpYi90YXAtZHJpdmVyLnNoIHRhcC1kcml2ZXIKKyBzZWQgMTBxIHRhcC1kcml2ZXIKIyEg L2Jpbi9zaAojIENvcHlyaWdodCAoQykgMjAxMS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3Vy IG9wdGlvbikKIyBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgdW5zZXQgYW1fdGFyZ2V0IGFtX3NvdXJjZQorIHBsYW5fIDYKKyB0ZXN0IDEgLWVxIDAK KyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHhub25lICE9IHhub25lCisgdGVzdCB4NiA9IHh1bmtu b3duCisgdGVzdCB4NiA9IHhsYXRlcgorIHRlc3QgeDYgPSB4bGF6eQorIHRlc3QgeDYgPSB4 bm93CisgdGVzdCA2IC1nZSAwCisgcGxhbm5lZF89NgorIGVjaG8gMS4uNgoxLi42CisgY2F0 CisgY2F0CisgY2F0CisgY3Agbm9leGVjLnRlc3Qgbm9yZWFkLnRlc3QKKyBjaG1vZCBhLXIg bm9yZWFkLnRlc3QKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21h a2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBjb21tYW5kX29rXyAibWFrZSBj aGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cyBydW5fbWFrZSAtTyAtZSBGQUlM IGNoZWNrCisgdGFwX2RpcmVjdGl2ZV89IHRhcF9yZWFzb25fPQorIHRlc3QgNiAtZ3QgMAor IHRhcF9kZXNjcmlwdGlvbl89Im1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBz dGF0dXMKKyBzaGlmdAorIHRlc3QgNSAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sK KyBydW5fbWFrZSAtTyAtZSBGQUlMIGNoZWNrCisgYW1fX21ha2VfcmVkaXJlY3Rfc3Rkb3V0 PW5vCisgYW1fX21ha2VfcmVkaXJlY3Rfc3RkZXJyPW5vCisgYW1fX21ha2VfcmVkaXJlY3Rf c3RkYWxsPW5vCisgYW1fX21ha2VfZmxhZ3M9CisgYW1fX21ha2VfcmNfZXhwPTAKKyBhbV9t YWtlX3JjPTAKKyB0ZXN0IDQgLWd0IDAKKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRvdXQ9eWVz Cisgc2hpZnQKKyB0ZXN0IDMgLWd0IDAKKyBhbV9fbWFrZV9yY19leHA9RkFJTAorIHNoaWZ0 Cisgc2hpZnQKKyB0ZXN0IDEgLWd0IDAKKyBicmVhaworIHVzaW5nX2dtYWtlCisgbWFrZSAt LXZlcnNpb24gLXYKKyBncmVwIEdOVQpHTlUgTWFrZSA0LjIuMQpMaWNlbmNlIEdQTHYzK8Kg OiBHTlUgR1BMIHZlcnNpb24gMyBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGlj ZW5zZXMvZ3BsLmh0bWw+CisgYW1fX3VzaW5nX2dtYWtlPXllcworIHJldHVybiAwCisgOgor IHRlc3QgeCAhPSB4CisgOiBleGVjIG1ha2UgY2hlY2sKKyBzZXQgK3gKbWFrZVsyXTogKioq IFtNYWtlZmlsZTo0NzU6IHRlc3Qtc3VpdGUubG9nXSBFcnJvciAxCm1ha2VbMV06ICoqKiBb TWFrZWZpbGU6NTgzOiBjaGVjay1URVNUU10gRXJyb3IgMgptYWtlOiAqKiogW01ha2VmaWxl Ojc4MTogY2hlY2stYW1dIEVycm9yIDIKKyBhbV9tYWtlX3JjPTIKKyB0ZXN0IDIgLWVxIDI1 MworIHRlc3Qgbm8gPSB5ZXMKKyB0ZXN0IHllcyA9IHllcworIGNhdCBzdGRvdXQKbWFrZSAg Y2hlY2stVEVTVFMKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9n LmRpcsKgwrsKbWFrZVsyXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRp csKgwrsKRVJST1I6IG5vbmUudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub25l LnRlc3QgLSBleGl0ZWQgd2l0aCBzdGF0dXMgMTI3IChjb21tYW5kIG5vdCBmb3VuZD8pCkVS Uk9SOiBub3JlYWQudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub3JlYWQudGVz dCAtIGV4aXRlZCB3aXRoIHN0YXR1cyAxMjYKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2lu ZyB0ZXN0IHBsYW4KRVJST1I6IG5vZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEy Ngo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClRlc3RzdWl0ZSBzdW1tYXJ5IGZvciB0YXAtYmFk LXByb2cgMS4wCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBUT1RBTDogNgojIFBBU1M6ICAw CiMgU0tJUDogIDAKIyBYRkFJTDogMAojIEZBSUw6ICAwCiMgWFBBU1M6IDAKIyBFUlJPUjog Ngo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClNlZSAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KbWFrZVsyXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC90YXAtYmFkLXByb2cu ZGlywqDCuwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3RhcC1iYWQtcHJvZy5kaXLCoMK7 CisgdGVzdCBubyA9IHllcworIHRlc3QgMiAtZ3QgMAorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cworIHNldCAreApv ayAxIC0gIm1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBzdGF0dXMKUEFTUzog dC90YXAtYmFkLXByb2cudGFwIDEgLSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBl eGl0IHN0YXR1cworIGNvbW1hbmRfb2tfIG5vbi1leGlzdGVudCB0ZXN0IGlzIHJlcG9ydGVk IGdyZXAgXkVSUk9SOiBub25lXC50ZXN0IHN0ZG91dAorIHRhcF9kaXJlY3RpdmVfPSB0YXBf cmVhc29uXz0KKyB0ZXN0IDQgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPW5vbi1leGlzdGVu dCB0ZXN0IGlzIHJlcG9ydGVkCisgc2hpZnQKKyB0ZXN0IDMgLWd0IDAKKyBicmVhaworIHRh cF9yZXN1bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vbmVcLnRlc3Qgc3Rkb3V0CkVSUk9SOiBu b25lLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9uZS50ZXN0IC0gZXhpdGVk IHdpdGggc3RhdHVzIDEyNyAoY29tbWFuZCBub3QgZm91bmQ/KQorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIHNldCAreApvayAyIC0g bm9uLWV4aXN0ZW50IHRlc3QgaXMgcmVwb3J0ZWQKUEFTUzogdC90YXAtYmFkLXByb2cudGFw IDIgLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9bm9uLWV4ZWN1dGFi bGUgdGVzdCBpcyByZXBvcnRlZAorIC4vbm9leGVjLnRlc3QKLi90L3RhcC1iYWQtcHJvZy50 YXA6IDYyOiAuL3QvdGFwLWJhZC1wcm9nLnRhcDogLi9ub2V4ZWMudGVzdDogUGVybWlzc2lv biBkZW5pZWQKKyBjb21tYW5kX29rXyBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVk IC0tIGdyZXAgXkVSUk9SOiBub2V4ZWNcLnRlc3Qgc3Rkb3V0CisgdGFwX2RpcmVjdGl2ZV89 IHRhcF9yZWFzb25fPQorIHRlc3QgNSAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89bm9uLWV4 ZWN1dGFibGUgdGVzdCBpcyByZXBvcnRlZAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgc2hp ZnQKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vZXhlY1wudGVz dCBzdGRvdXQKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6 IG5vZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkCisgc2V0ICt4Cm9rIDMg LSBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkClBBU1M6IHQvdGFwLWJhZC1wcm9n LnRhcCAzIC0gbm9uLWV4ZWN1dGFibGUgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9bm9uLXJl YWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQKKyB0ZXN0IC1yIG5vcmVhZC50ZXN0CisgY29tbWFu ZF9va18gbm9uLXJlYWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQgLS0gZ3JlcCBeRVJST1I6IG5v cmVhZFwudGVzdCBzdGRvdXQKKyB0YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVz dCA1IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9uXz1ub24tcmVhZGFibGUgdGVzdCBpcyByZXBv cnRlZAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgc2hpZnQKKyBicmVhaworIHRhcF9yZXN1 bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vcmVhZFwudGVzdCBzdGRvdXQKRVJST1I6IG5vcmVh ZC50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVk IHdpdGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBub24tcmVhZGFibGUg dGVzdCBpcyByZXBvcnRlZAorIHNldCAreApvayA0IC0gbm9uLXJlYWRhYmxlIHRlc3QgaXMg cmVwb3J0ZWQKUEFTUzogdC90YXAtYmFkLXByb2cudGFwIDQgLSBub24tcmVhZGFibGUgdGVz dCBpcyByZXBvcnRlZAorIGNvbW1hbmRfb2tfIG5vIHNwdXJpb3VzICJtaXNzaW5nIHBsYW4i IG1lc3NhZ2UgLUQgVE9ETyAtLSBub3QgZ3JlcCBtaXNzaW5nLiogcGxhbiBzdGRvdXQKKyB0 YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCA4IC1ndCAwCisgdGFwX2Rlc2Ny aXB0aW9uXz1ubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdlCisgc2hpZnQKKyB0 ZXN0IDcgLWd0IDAKKyB0YXBfZGlyZWN0aXZlXz1UT0RPCisgc2hpZnQKKyBzaGlmdAorIHRl c3QgNSAtZ3QgMAorIHNoaWZ0CisgYnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIG5vdCBncmVw IG1pc3NpbmcuKiBwbGFuIHN0ZG91dAorIGdyZXAgbWlzc2luZy4qIHBsYW4gc3Rkb3V0CkVS Uk9SOiBub25lLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9yZWFkLnRlc3Qg LSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3QgLSBtaXNzaW5nIHRlc3Qg cGxhbgorIHRhcF9yZXN1bHRfPW5vdCBvaworIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIg IC0tIG5vIHNwdXJpb3VzICJtaXNzaW5nIHBsYW4iIG1lc3NhZ2UKKyBzZXQgK3gKbm90IG9r IDUgLSBubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdlICMgVE9ETwpYRkFJTDog dC90YXAtYmFkLXByb2cudGFwIDUgLSBubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNz YWdlICMgVE9ETworIGNvbW1hbmRfb2tfIG5vIHNwdXJpb3VzIHJlc3VsdHMgLUQgVE9ETyAt ciBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIgY291bnRfdGVzdF9yZXN1bHRzIHRvdGFsPTMg cGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMKKyB0YXBfZGly ZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCAxMyAtZ3QgMAorIHRhcF9kZXNjcmlwdGlv bl89bm8gc3B1cmlvdXMgcmVzdWx0cworIHNoaWZ0CisgdGVzdCAxMiAtZ3QgMAorIHRhcF9k aXJlY3RpdmVfPVRPRE8KKyBzaGlmdAorIHNoaWZ0CisgdGVzdCAxMCAtZ3QgMAorIHRhcF9y ZWFzb25fPXN0aWxsIGdldCAibWlzc2luZyBwbGFuIgorIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0 IDggLWd0IDAKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgY291bnRfdGVzdF9yZXN1bHRz IHRvdGFsPTMgcGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMK KyB0b3RhbD1FUlIgcGFzcz1FUlIgZmFpbD1FUlIgeHBhc3M9RVJSIHhmYWlsPUVSUiBza2lw PUVSUiBlcnJvcj1FUlIKKyBldmFsIHRvdGFsPTMgcGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhm YWlsPTAgc2tpcD0wIGVycm9yPTMKKyB0b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4 ZmFpbD0wIHNraXA9MCBlcnJvcj0zCisgL2Jpbi9ncmVwIC1FIC1pICh0b3RhbHx4P3Bhc3N8 eD9mYWlsfHNraXB8ZXJyb3IpIHN0ZG91dApFUlJPUjogbm9uZS50ZXN0IC0gbWlzc2luZyB0 ZXN0IHBsYW4KRVJST1I6IG5vbmUudGVzdCAtIGV4aXRlZCB3aXRoIHN0YXR1cyAxMjcgKGNv bW1hbmQgbm90IGZvdW5kPykKRVJST1I6IG5vcmVhZC50ZXN0IC0gbWlzc2luZyB0ZXN0IHBs YW4KRVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgpFUlJPUjog bm9leGVjLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3QgLSBl eGl0ZWQgd2l0aCBzdGF0dXMgMTI2CiMgVE9UQUw6IDYKIyBQQVNTOiAgMAojIFNLSVA6ICAw CiMgWEZBSUw6IDAKIyBGQUlMOiAgMAojIFhQQVNTOiAwCiMgRVJST1I6IDYKKyByYz0wCisg c2V0ICtlCisgZ3JlcCAtYyBeUEFTUzogc3Rkb3V0CisgdGVzdCAwIC1lcSAwCisgZ3JlcCAt YyBeWEZBSUw6IHN0ZG91dAorIHRlc3QgMCAtZXEgMAorIGdyZXAgLWMgXlNLSVA6IHN0ZG91 dAorIHRlc3QgMCAtZXEgMAorIGdyZXAgLWMgXkZBSUw6IHN0ZG91dAorIHRlc3QgMCAtZXEg MAorIGdyZXAgLWMgXlhQQVNTOiBzdGRvdXQKKyB0ZXN0IDAgLWVxIDAKKyBncmVwIC1jIF5F UlJPUjogc3Rkb3V0CisgdGVzdCA2IC1lcSAzCisgcmM9MQorIGdyZXAgXiMgVE9UQUw6ICAq MyQgc3Rkb3V0CisgcmM9MQorIGdyZXAgXiMgUEFTUzogICowJCBzdGRvdXQKIyBQQVNTOiAg MAorIGdyZXAgXiMgWEZBSUw6ICAqMCQgc3Rkb3V0CiMgWEZBSUw6IDAKKyBncmVwIF4jIFNL SVA6ICAqMCQgc3Rkb3V0CiMgU0tJUDogIDAKKyBncmVwIF4jIEZBSUw6ICAqMCQgc3Rkb3V0 CiMgRkFJTDogIDAKKyBncmVwIF4jIFhQQVNTOiAgKjAkIHN0ZG91dAojIFhQQVNTOiAwCisg Z3JlcCBeIyBFUlJPUjogICozJCBzdGRvdXQKKyByYz0xCisgdGVzdCAxIC1lcSAwCisgdGFw X3Jlc3VsdF89bm90IG9rCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBzdGlsbCBnZXQg Im1pc3NpbmcgcGxhbiIgLS0gbm8gc3B1cmlvdXMgcmVzdWx0cworIHNldCAreApub3Qgb2sg NiAtIG5vIHNwdXJpb3VzIHJlc3VsdHMgIyBUT0RPIHN0aWxsIGdldCAibWlzc2luZyBwbGFu IgpYRkFJTDogdC90YXAtYmFkLXByb2cudGFwIDYgLSBubyBzcHVyaW91cyByZXN1bHRzICMg VE9ETyBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIKKyA6CisgYW1fZXhpdF90cmFwIDAKKyBl eGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCA2ID0gbGF0ZXIKKyB0ZXN0IDAg LWVxIDAKKyB0ZXN0IDQgLWVxIDYKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKU0tJUDogdC90YWdzdWIKPT09PT09PT09 PT09PT0KCnRhZ3N1YjogcnVubmluZyBldGFncyAtLXZlcnNpb24gLW8gL2Rldi9udWxsCi4v dC90YWdzdWIuc2g6IDc5OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2F4L3Rlc3QtaW5pdC5zaDogZXRhZ3M6IG5vdCBmb3VuZApTS0lQIHQvdGFnc3ViLnNo IChleGl0IHN0YXR1czogNzcpCgpGQUlMOiB0L3RhZ3MtbGlzcC1zcGFjZQo9PT09PT09PT09 PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90 b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21l L2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3Vi ZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25l LWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3RhZ3MtbGlzcC1zcGFjZS5k aXIKKyBjYXQKKyBjYXQKKyB0b3VjaCBjb25maWcuaC5pbgorIHRvdWNoIHRoZS1hbXRlc3Qt bW9kZS5lbAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0x LjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZW1hY3MuLi4gbm8KY2hlY2tpbmcgZm9yIHhlbWFjcy4uLiBu bwpjaGVja2luZyB3aGVyZSAuZWxjIGZpbGVzIHNob3VsZCBnby4uLiAke2RhdGFkaXJ9L2Vt YWNzL3NpdGUtbGlzcApjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBjb25maWcuaAorIHJ1bl9tYWtlIC1PIC1FIHRhZ3MKKyBhbV9fbWFrZV9yZWRp cmVjdF9zdGRvdXQ9bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRlcnI9bm8KKyBhbV9fbWFr ZV9yZWRpcmVjdF9zdGRhbGw9bm8KKyBhbV9fbWFrZV9mbGFncz0KKyBhbV9fbWFrZV9yY19l eHA9MAorIGFtX21ha2VfcmM9MAorIHRlc3QgMyAtZ3QgMAorIGFtX19tYWtlX3JlZGlyZWN0 X3N0ZG91dD15ZXMKKyBzaGlmdAorIHRlc3QgMiAtZ3QgMAorIGFtX19tYWtlX3JlZGlyZWN0 X3N0ZGVycj15ZXMKKyBzaGlmdAorIHRlc3QgMSAtZ3QgMAorIGJyZWFrCisgdXNpbmdfZ21h a2UKKyBtYWtlIC0tdmVyc2lvbiAtdgorIGdyZXAgR05VCkdOVSBNYWtlIDQuMi4xCkxpY2Vu Y2UgR1BMdjMrwqA6IEdOVSBHUEwgdmVyc2lvbiAzIG91IHVsdMOpcmlldXJlIDxodHRwOi8v Z251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KKyBhbV9fdXNpbmdfZ21ha2U9eWVzCisgcmV0 dXJuIDAKKyA6CisgdGVzdCB4ICE9IHgKKyA6IGV4ZWMgbWFrZSB0YWdzCisgc2V0ICt4Cisg YW1fbWFrZV9yYz0yCisgdGVzdCAyIC1lcSAyNTMKKyB0ZXN0IG5vID0geWVzCisgdGVzdCB5 ZXMgPSB5ZXMKKyBjYXQgc3Rkb3V0CihDRFBBVEg9IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBj ZCAuICYmIC9iaW4vYmFzaCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvdGFncy1saXNwLXNwYWNlLmRpci9taXNzaW5nIGF1dG9oZWFkZXIpCnJtIC1mIHN0YW1w LWgxCnRvdWNoIGNvbmZpZy5oLmluCnNldCB4OyBcCmhlcmU9YHB3ZGA7IFwKbGlzdD0nICAg dGhlLWFtdGVzdC1tb2RlLmVsIGNvbmZpZy5oLmluJzsgdW5pcXVlPWBmb3IgaSBpbiAkbGlz dDsgZG8gaWYgdGVzdCAtZiAiJGkiOyB0aGVuIGVjaG8gJGk7IGVsc2UgZWNobyAuLyRpOyBm aTsgZG9uZSB8IGdhd2sgJyBCRUdJTiB7IG5vbmVtcHR5ID0gMDsgfSB7IGl0ZW1zWyQwXSA9 IDE7IG5vbmVtcHR5ID0gMTsgfSBFTkQgeyBpZiAobm9uZW1wdHkpIHsgZm9yIChpIGluIGl0 ZW1zKSBwcmludCBpOyB9OyB9ICdgOyBcCnNoaWZ0OyBcCmlmIHRlc3QgLXogIiQqJHVuaXF1 ZSI7IHRoZW4gOjsgZWxzZSBcCiAgdGVzdCAtbiAiJHVuaXF1ZSIgfHwgdW5pcXVlPSRlbXB0 eV9maXg7IFwKICBpZiB0ZXN0ICQjIC1ndCAwOyB0aGVuIFwKICAgIGV0YWdzICAgIFwKICAg ICAgIiRAIiAkdW5pcXVlOyBcCiAgZWxzZSBcCiAgICBldGFncyAgICBcCiAgICAgICR1bmlx dWU7IFwKICBmaTsgXApmaQorIHRlc3QgeWVzID0geWVzCisgY2F0IHN0ZGVycgovYmluL2Jh c2g6IGxpZ25lIDExOiBldGFncyA6IGNvbW1hbmRlIGludHJvdXZhYmxlCm1ha2U6ICoqKiBb TWFrZWZpbGU6Mzg0OiB0YWdzLWFtXSBFcnJvciAxMjcKKyB0ZXN0IDAgLWdlIDAKKyB0ZXN0 IDAgLWxlIDI1NQorIHRlc3QgMiAtZXEgMAorIHJldHVybiAxCisgYW1fZXhpdF90cmFwIDEK KyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBf dGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4 CkZBSUwgdC90YWdzLWxpc3Atc3BhY2Uuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC90 YWdzLXByMTIzNzIKPT09PT09PT09PT09PT09PT09PT0KCnRhZ3MtcHIxMjM3MjogcnVubmlu ZyBldGFncyAtLXZlcnNpb24gLW8gL2Rldi9udWxsCi4vdC90YWdzLXByMTIzNzIuc2g6IDc5 OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5p dC5zaDogZXRhZ3M6IG5vdCBmb3VuZApTS0lQIHQvdGFncy1wcjEyMzcyLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L3VwYwo9PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3Rh bGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2Jpbjov YmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9t ZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9T RUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L3VwYy5kaXIKKyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgor IGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBhdXRvY29uZgorIC4v Y29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vz ci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9i aW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj Yy4uLiBnY2MzCmNoZWNraW5nIGZvciB1cGNjLi4uIG5vCmNoZWNraW5nIGZvciB1cGMuLi4g bm8KY29uZmlndXJlOiBlcnJvcjogbm8gVW5pZmllZCBQYXJhbGxlbCBDIGNvbXBpbGVyIHdh cyBmb3VuZAorIF9hbV9leGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rl c3Rfc2tpcHBlZD15ZXMKKyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3Nwor IGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVw X3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAr eApTS0lQIHQvdXBjLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3VwYzMKPT09PT09 PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBu b25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jpbjov aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmlu Oi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMy Q3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04 LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdXBjMy5kaXIKKyBjYXQKKyBjYXQKKyBj YXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYg LS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBhdXRvY29uZgorIC4vY29uZmlndXJlCmNoZWNr aW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAt YwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo ZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlh Ymxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2Yg ZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGlu Zy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhl ciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05V IHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNr aW5nIGZvciB1cGNjLi4uIG5vCmNoZWNraW5nIGZvciB1cGMuLi4gbm8KY29uZmlndXJlOiBl cnJvcjogbm8gVW5pZmllZCBQYXJhbGxlbCBDIGNvbXBpbGVyIHdhcyBmb3VuZAorIF9hbV9l eGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMK KyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3 Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgor IHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvdXBjMy5z aCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLWhlYWRlcnMKPT09PT09PT09PT09 PT09PT09PT0KCnZhbGEtaGVhZGVyczogcnVubmluZyBwa2ctY29uZmlnIC0tdmVyc2lvbgow LjI5CnZhbGEtaGVhZGVyczogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtaGVh ZGVycy5zaDogOTc1OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv YXgvdGVzdC1pbml0LnNoOiB2YWxhYzogbm90IGZvdW5kClNLSVAgdC92YWxhLWhlYWRlcnMu c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvdmFsYS1saWJzCj09PT09PT09PT09PT09 PT09Cgp2YWxhLWxpYnM6IHJ1bm5pbmcgdmFsYWMgLS12ZXJzaW9uCi4vdC92YWxhLWxpYnMu c2g6IDk3NTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogdmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1saWJzLnNoIChleGl0 IHN0YXR1czogNzcpCgpTS0lQOiB0L3ZhbGEtbWl4Cj09PT09PT09PT09PT09PT0KCnZhbGEt bWl4OiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL3QvdmFsYS1taXguc2g6IDk3NTogL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDog dmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1taXguc2ggKGV4aXQgc3RhdHVzOiA3NykK ClNLSVA6IHQvdmFsYS1taXgyCj09PT09PT09PT09PT09PT09Cgp2YWxhLW1peDI6IHJ1bm5p bmcgdmFsYWMgLS12ZXJzaW9uCi4vdC92YWxhLW1peDIuc2g6IDk3NTogL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFsYWM6IG5v dCBmb3VuZApTS0lQIHQvdmFsYS1taXgyLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0 L3ZhbGEtbm9uLXJlY3Vyc2l2ZS1zZXR1cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQoKdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwOiBydW5uaW5nIHBrZy1jb25maWcgLS12 ZXJzaW9uCjAuMjkKdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwOiBydW5uaW5nIHZhbGFjIC0t dmVyc2lvbgouL3QvdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwLnNoOiA5NzU6IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IHZhbGFj OiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtbm9uLXJlY3Vyc2l2ZS1zZXR1cC5zaCAoZXhpdCBz dGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLXBhcmFsbGVsCj09PT09PT09PT09PT09PT09PT09 PQoKdmFsYS1wYXJhbGxlbDogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcGFy YWxsZWwuc2g6IDk3NTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F4L3Rlc3QtaW5pdC5zaDogdmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1wYXJhbGxl bC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLXBlci10YXJnZXQtZmxhZ3MK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnZhbGEtcGVyLXRhcmdldC1mbGFnczog cnVubmluZyBwa2ctY29uZmlnIC0tdmVyc2lvbgowLjI5CnZhbGEtcGVyLXRhcmdldC1mbGFn czogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcGVyLXRhcmdldC1mbGFncy5z aDogOTc1OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiB2YWxhYzogbm90IGZvdW5kClNLSVAgdC92YWxhLXBlci10YXJnZXQtZmxh Z3Muc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvdmFsYS1yZWN1cnNpdmUtc2V0dXAK PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKdmFsYS1yZWN1cnNpdmUtc2V0dXA6IHJ1 bm5pbmcgcGtnLWNvbmZpZyAtLXZlcnNpb24KMC4yOQp2YWxhLXJlY3Vyc2l2ZS1zZXR1cDog cnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcmVjdXJzaXZlLXNldHVwLnNoOiA5 NzU6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWlu aXQuc2g6IHZhbGFjOiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtcmVjdXJzaXZlLXNldHVwLnNo IChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3ZhbGEtdmFwaQo9PT09PT09PT09PT09PT09 PQoKdmFsYS12YXBpOiBydW5uaW5nIHBrZy1jb25maWcgLS12ZXJzaW9uCjAuMjkKdmFsYS12 YXBpOiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL3QvdmFsYS12YXBpLnNoOiA5NzU6IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6 IHZhbGFjOiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtdmFwaS5zaCAoZXhpdCBzdGF0dXM6IDc3 KQoKU0tJUDogdC92YWxhLXZwYXRoCj09PT09PT09PT09PT09PT09PQoKdmFsYS12cGF0aDog cnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtdnBhdGguc2g6IDk3NTogL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFs YWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS12cGF0aC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoK U0tJUDogdC9nZXR0ZXh0LW1hY3Jvcwo9PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZ2V0dGV4dC1tYWNyb3MuZGlyCisgZWNobyAjIEF1dG9tYXRpY2Fs bHkgZ2VuZXJhdGVkIGJ5IGdldHRleHQtbWFjcm9zLgorIGVjaG8gOgorIGVjaG8gQUNMT0NB TF9BTUZMQUdTID0gLUkgbTQKKyBleHRyYWN0X3Byb2dyYW1fdmVyc2lvbiBhdXRvcG9pbnQK KyBhdXRvcG9pbnQgLS12ZXJzaW9uCisgc2VkIDFxKyAKL3Vzci9iaW4vcGVybCAtbmUgLyhc ZCg/OlwuXGQrKSspLyBhbmQgcHJpbnQgIiQxXG4iCisgYXV0b3BvaW50X3ZlcnNpb249MC4y MAorIHRlc3QgLW4gMC4yMAorIGNhdAorIGF1dG9wb2ludCAtLWZvcmNlCmF1dG9wb2ludDog KioqIEFNX0dOVV9HRVRURVhUIHdpdGhvdXQgJ2V4dGVybmFsJyBhcmd1bWVudCBpcyBubyBs b25nZXIgc3VwcG9ydGVkIGluIHZlcnNpb24gMC4yMAphdXRvcG9pbnQ6ICoqKiBTdG9wLgor IHJtIC1yZiBtNAorIG1rZGlyIG00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLVduby1zeW50 YXggLUkgbTQgLS1pbnN0YWxsCmFjbG9jYWwtMS4xNjogd2FybmluZ3MgYXJlIHRyZWF0ZWQg YXMgZXJyb3JzCmNvbmZpZ3VyZS5hYzo0OiB3YXJuaW5nOiBtYWNybyAnQU1fR05VX0dFVFRF WFQnIG5vdCBmb3VuZCBpbiBsaWJyYXJ5CmNvbmZpZ3VyZS5hYzo1OiB3YXJuaW5nOiBtYWNy byAnQU1fR05VX0dFVFRFWFRfVkVSU0lPTicgbm90IGZvdW5kIGluIGxpYnJhcnkKKyBlY2hv IHNraXBfYWxsXyAiY291bGRuJ3QgZmluZCBvciBnZXQgZ2V0dGV4dCBtYWNyb3MiCisgY2F0 CisgLiAuL2dldC5zaAorIDoKKyBza2lwX2FsbF8gY291bGRuJ3QgZmluZCBvciBnZXQgZ2V0 dGV4dCBtYWNyb3MKKyBza2lwXyBjb3VsZG4ndCBmaW5kIG9yIGdldCBnZXR0ZXh0IG1hY3Jv cworIHdhcm5fIGdldHRleHQtbWFjcm9zOiBza2lwcGVkIHRlc3Q6IGNvdWxkbid0IGZpbmQg b3IgZ2V0IGdldHRleHQgbWFjcm9zCisgZWNobyBnZXR0ZXh0LW1hY3Jvczogc2tpcHBlZCB0 ZXN0OiBjb3VsZG4ndCBmaW5kIG9yIGdldCBnZXR0ZXh0IG1hY3JvcworIF9hbV9leGl0IDc3 Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBleGl0 IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0 ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qg bm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvZ2V0dGV4dC1tYWNy b3Muc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvY29tcGlsZTQtdwo9PT09PT09PT09 PT09PT09PT0KCi4vdC9jb21waWxlNC13LnNoOiB3aWxsIHNvdXJjZSAuL3QvY29tcGlsZTQu c2gKY29tcGlsZTQtdzogcnVubmluZyBjbCAtPwouL3QvY29tcGlsZTQtdy5zaDogNzc5OiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNo OiBjbDogbm90IGZvdW5kClNLSVAgdC9jb21waWxlNC13LnNoIChleGl0IHN0YXR1czogNzcp CgpTS0lQOiB0L2NvbXBpbGU1LXcKPT09PT09PT09PT09PT09PT09CgouL3QvY29tcGlsZTUt dy5zaDogd2lsbCBzb3VyY2UgLi90L2NvbXBpbGU1LnNoClJ1bm5pbmcgZnJvbSBpbnN0YWxs Y2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2Jp bjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUv aHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VH R0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9jb21waWxlNS13LmRpcgorIGdldF9zaGVsbF9zY3JpcHQgY29tcGlsZQorIGFtX3NvdXJj ZT1jb21waWxlIGFtX3RhcmdldD1jb21waWxlCisgdGVzdCAhIC1mIGNvbXBpbGUKKyBybSAt ZiBjb21waWxlCisgdGVzdCB4eWVzID0geHllcworIHNlZCAxc3wjIS4qfCMhIC9iaW4vc2h8 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2NvbXBpbGUKKyBj aG1vZCBhK3ggY29tcGlsZQorIHNlZCAxMHEgY29tcGlsZQojISAvYmluL3NoCiMgV3JhcHBl ciBmb3IgY29tcGlsZXJzIHdoaWNoIGRvIG5vdCB1bmRlcnN0YW5kICctYyAtbycuCgpzY3Jp cHR2ZXJzaW9uPTIwMTgtMDMtMDcuMDM7ICMgVVRDCgojIENvcHlyaWdodCAoQykgMTk5OS0y MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFdyaXR0ZW4gYnkgVG9tIFRy b21leSA8dHJvbWV5QGN5Z251cy5jb20+LgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorIHVuc2V0IGFtX3RhcmdldCBhbV9zb3VyY2UKKyBjYXQKKyBjaG1vZCAreCAu L2NsCisgY2F0CisgOgorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYK KyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5h Yzo0OiBpbnN0YWxsaW5nICcuL2NvbmZpZy5ndWVzcycKY29uZmlndXJlLmFjOjQ6IGluc3Rh bGxpbmcgJy4vY29uZmlnLnN1YicKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo ZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hlY2tp bmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251CmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIGNoZWNrX2hvc3QKKyAuIC4v Y2hlY2tfaG9zdAorIHNraXBfIHRhcmdldCBPUyBpcyBub3QgTWluR1cKKyB3YXJuXyBjb21w aWxlNS13OiBza2lwcGVkIHRlc3Q6IHRhcmdldCBPUyBpcyBub3QgTWluR1cKKyBlY2hvIGNv bXBpbGU1LXc6IHNraXBwZWQgdGVzdDogdGFyZ2V0IE9TIGlzIG5vdCBNaW5HVworIF9hbV9l eGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMK KyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3 Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgor IHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvY29tcGls ZTUtdy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9jb21waWxlNy13Cj09PT09PT09 PT09PT09PT09PQoKLi90L2NvbXBpbGU3LXcuc2g6IHdpbGwgc291cmNlIC4vdC9jb21waWxl Ny5zaApjb21waWxlNy13OiBydW5uaW5nIGljbCAtPwouL3QvY29tcGlsZTctdy5zaDogNzkw OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0 LnNoOiBpY2w6IG5vdCBmb3VuZApTS0lQIHQvY29tcGlsZTctdy5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9kZXBjb21wLWx0LW1ha2VkZXBlbmQKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KCmRlcGNvbXAtbHQtbWFrZWRlcGVuZDogcnVubmluZyBtYWtlZGVwZW5k IC1mLQouL3QvZGVwY29tcC1sdC1tYWtlZGVwZW5kLnRhcDogODc4OiAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBtYWtlZGVwZW5k OiBub3QgZm91bmQKMS4uMCAjIFNLSVAgcmVxdWlyZWQgcHJvZ3JhbSAnbWFrZWRlcGVuZCcg bm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbWFrZWRlcGVuZC50YXAgLSByZXF1 aXJlZCBwcm9ncmFtICdtYWtlZGVwZW5kJyBub3QgYXZhaWxhYmxlCgpTS0lQOiB0L2RlcGNv bXAtbHQtbXN2Y21zeXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09CgpkZXBjb21wLWx0 LW1zdmNtc3lzOiBydW5uaW5nIGNsIC0/Ci4vdC9kZXBjb21wLWx0LW1zdmNtc3lzLnRhcDog Nzc5OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBjbDogbm90IGZvdW5kCjEuLjAgIyBTS0lQIE1pY3Jvc29mdCBDIGNvbXBpbGVy ICdjbCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbXN2Y21zeXMudGFwIC0g TWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlCgpTS0lQOiB0L2RlcGNv bXAtbHQtbXN2aXN1YWxjcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpkZXBj b21wLWx0LW1zdmlzdWFsY3BwOiBydW5uaW5nIGNsIC0/Ci4vdC9kZXBjb21wLWx0LW1zdmlz dWFsY3BwLnRhcDogNzc5OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXgvdGVzdC1pbml0LnNoOiBjbDogbm90IGZvdW5kCjEuLjAgIyBTS0lQIE1pY3Jvc29m dCBDIGNvbXBpbGVyICdjbCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbXN2 aXN1YWxjcHAudGFwIC0gTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxl CgpTS0lQOiB0L2RlcGNvbXAtbWFrZWRlcGVuZAo9PT09PT09PT09PT09PT09PT09PT09PT09 PQoKZGVwY29tcC1tYWtlZGVwZW5kOiBydW5uaW5nIG1ha2VkZXBlbmQgLWYtCi4vdC9kZXBj b21wLW1ha2VkZXBlbmQudGFwOiA4Nzg6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IG1ha2VkZXBlbmQ6IG5vdCBmb3VuZAoxLi4w ICMgU0tJUCByZXF1aXJlZCBwcm9ncmFtICdtYWtlZGVwZW5kJyBub3QgYXZhaWxhYmxlClNL SVA6IHQvZGVwY29tcC1tYWtlZGVwZW5kLnRhcCAtIHJlcXVpcmVkIHByb2dyYW0gJ21ha2Vk ZXBlbmQnIG5vdCBhdmFpbGFibGUKClNLSVA6IHQvZGVwY29tcC1tc3ZjbXN5cwo9PT09PT09 PT09PT09PT09PT09PT09PT0KCmRlcGNvbXAtbXN2Y21zeXM6IHJ1bm5pbmcgY2wgLT8KLi90 L2RlcGNvbXAtbXN2Y21zeXMudGFwOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQKMS4uMCAjIFNL SVAgTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlClNLSVA6IHQvZGVw Y29tcC1tc3ZjbXN5cy50YXAgLSBNaWNyb3NvZnQgQyBjb21waWxlciAnY2wnIG5vdCBhdmFp bGFibGUKClNLSVA6IHQvZGVwY29tcC1tc3Zpc3VhbGNwcAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT0KCmRlcGNvbXAtbXN2aXN1YWxjcHA6IHJ1bm5pbmcgY2wgLT8KLi90L2RlcGNv bXAtbXN2aXN1YWxjcHAudGFwOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQKMS4uMCAjIFNLSVAg TWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlClNLSVA6IHQvZGVwY29t cC1tc3Zpc3VhbGNwcC50YXAgLSBNaWNyb3NvZnQgQyBjb21waWxlciAnY2wnIG5vdCBhdmFp bGFibGUKCg== --------------ED252BFAF98DFFB3BA89DBBE-- From unknown Tue Jun 17 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#40192: Please report to bug-automake@gnu.org References: Resent-From: Karl Berry Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Mon, 23 Mar 2020 22:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40192 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: hubert@viarouge.net Cc: 40192@debbugs.gnu.org Received: via spool by 40192-submit@debbugs.gnu.org id=B40192.15850041996712 (code B ref 40192); Mon, 23 Mar 2020 22:57:01 +0000 Received: (at 40192) by debbugs.gnu.org; 23 Mar 2020 22:56:39 +0000 Received: from localhost ([127.0.0.1]:53674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGVzq-0001kC-NN for submit@debbugs.gnu.org; Mon, 23 Mar 2020 18:56:38 -0400 Received: from freefriends.org ([96.88.95.60]:36122) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGVzo-0001k1-NG for 40192@debbugs.gnu.org; Mon, 23 Mar 2020 18:56:37 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 02NMuYkL018866 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 23 Mar 2020 16:56:35 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 02NMuY8K018865; Mon, 23 Mar 2020 16:56:34 -0600 Date: Mon, 23 Mar 2020 16:56:34 -0600 Message-Id: <202003232256.02NMuY8K018865@freefriends.org> From: Karl Berry In-Reply-To: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) FAIL: t/tags-lisp-space.sh ... test-init.sh: etags: not found Thanks for the report. Yeah, have to have etags (or maybe just a link to /bin/true suffices? not sure) for the test to succeed at the moment. Didn't realized that. Will put in a safeguard soon, but any new release is probably a ways off. --best, karl. From unknown Tue Jun 17 01:43:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#40192: Please report to bug-automake@gnu.org References: Resent-From: Karl Berry Original-Sender: "Debbugs-submit" Resent-CC: bug-automake@gnu.org Resent-Date: Wed, 25 Mar 2020 01:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40192 X-GNU-PR-Package: automake X-GNU-PR-Keywords: To: hubert@viarouge.net Cc: 40192@debbugs.gnu.org Received: via spool by 40192-submit@debbugs.gnu.org id=B40192.158509997423199 (code B ref 40192); Wed, 25 Mar 2020 01:33:02 +0000 Received: (at 40192) by debbugs.gnu.org; 25 Mar 2020 01:32:54 +0000 Received: from localhost ([127.0.0.1]:55788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGuub-000622-SS for submit@debbugs.gnu.org; Tue, 24 Mar 2020 21:32:54 -0400 Received: from freefriends.org ([96.88.95.60]:49062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGuuZ-00061f-Fj; Tue, 24 Mar 2020 21:32:51 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 02P1Wo9s005833 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 24 Mar 2020 19:32:50 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 02P1WnDH005832; Tue, 24 Mar 2020 19:32:49 -0600 Date: Tue, 24 Mar 2020 19:32:49 -0600 Message-Id: <202003250132.02P1WnDH005832@freefriends.org> From: Karl Berry In-Reply-To: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) I believe all that's needed is to set required=etags in t/tags-lisp-space.sh. Sorry for my dumb mistake. Committed this: --- a/t/tags-lisp-space.sh +++ b/t/tags-lisp-space.sh @@ -18,7 +18,7 @@ # if there are CONFIG_HEADERS. # See automake bug#38139. -required='' +required=etags . test-init.sh # some AC_CONFIG_FILES header is needed to trigger the bug. From unknown Tue Jun 17 01:43:35 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: hubert@viarouge.net Subject: bug#40192: closed (Re: bug#40192: Please report to bug-automake@gnu.org) Message-ID: References: <202003250132.02P1WnDH005832@freefriends.org> X-Gnu-PR-Message: they-closed 40192 X-Gnu-PR-Package: automake Reply-To: 40192@debbugs.gnu.org Date: Wed, 25 Mar 2020 01:33:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1585099983-23260-1" This is a multi-part message in MIME format... ------------=_1585099983-23260-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #40192: Please report to bug-automake@gnu.org which was filed against the automake package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 40192@debbugs.gnu.org. --=20 40192: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D40192 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1585099983-23260-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 40192-done) by debbugs.gnu.org; 25 Mar 2020 01:32:54 +0000 Received: from localhost ([127.0.0.1]:55786 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGuub-000620-LV for submit@debbugs.gnu.org; Tue, 24 Mar 2020 21:32:53 -0400 Received: from freefriends.org ([96.88.95.60]:49062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGuuZ-00061f-Fj; Tue, 24 Mar 2020 21:32:51 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 02P1Wo9s005833 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 24 Mar 2020 19:32:50 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 02P1WnDH005832; Tue, 24 Mar 2020 19:32:49 -0600 Date: Tue, 24 Mar 2020 19:32:49 -0600 Message-Id: <202003250132.02P1WnDH005832@freefriends.org> From: Karl Berry To: hubert@viarouge.net Subject: Re: bug#40192: Please report to bug-automake@gnu.org In-Reply-To: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 40192-done Cc: 40192@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) I believe all that's needed is to set required=etags in t/tags-lisp-space.sh. Sorry for my dumb mistake. Committed this: --- a/t/tags-lisp-space.sh +++ b/t/tags-lisp-space.sh @@ -18,7 +18,7 @@ # if there are CONFIG_HEADERS. # See automake bug#38139. -required='' +required=etags . test-init.sh # some AC_CONFIG_FILES header is needed to trigger the bug. ------------=_1585099983-23260-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 Mar 2020 05:11:23 +0000 Received: from localhost ([127.0.0.1]:51358 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGFMx-0007pe-Jn for submit@debbugs.gnu.org; Mon, 23 Mar 2020 01:11:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:36095) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jGDtu-0004qZ-W5 for submit@debbugs.gnu.org; Sun, 22 Mar 2020 23:37:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52951) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGDtj-0000Vg-4t for bug-automake@gnu.org; Sun, 22 Mar 2020 23:37:17 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_NONE, TIME_LIMIT_EXCEEDED,URIBL_BLOCKED autolearn=unavailable version=3.3.2 Received: from s2.neomailbox.net ([5.148.176.60]:41672) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jGDtO-0004AT-4z for bug-automake@gnu.org; Sun, 22 Mar 2020 23:37:06 -0400 To: bug-automake@gnu.org From: Hubert VIAROUGE Subject: Please report to bug-automake@gnu.org Message-ID: Date: Mon, 23 Mar 2020 04:36:39 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ED252BFAF98DFFB3BA89DBBE" Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: OpenBSD 4.x-5.x [fuzzy] X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 23 Mar 2020 01:11:21 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: hubert@viarouge.net Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------ED252BFAF98DFFB3BA89DBBE Content-Type: multipart/alternative; boundary="------------C5A868FE7C9BA9B2094A9F95" --------------C5A868FE7C9BA9B2094A9F95 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit ./configure CC=gcc9 CFLAGS="-march=znver1 -mtune=znver1 -O3" CXX=g++9 CXXFLAGS="-march=znver1 -mtune=znver1 -O3" make make check ... FAIL: t/tags-lisp-space.sh ... ============================================================================ Testsuite summary for GNU Automake 1.16.2 ============================================================================ # TOTAL: 2915 # PASS:  2793 # SKIP:  81 # XFAIL: 40 # FAIL:  1 # XPASS: 0 # ERROR: 0 ============================================================================ See ./test-suite.log Please report to bug-automake@gnu.org ============================================================================ --------------C5A868FE7C9BA9B2094A9F95 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit


./configure CC=gcc9 CFLAGS="-march=znver1 -mtune=znver1 -O3" CXX=g++9 CXXFLAGS="-march=znver1 -mtune=znver1 -O3"

make

make check

...

FAIL: t/tags-lisp-space.sh

...

============================================================================

Testsuite summary for GNU Automake 1.16.2
============================================================================
# TOTAL: 2915
# PASS:  2793
# SKIP:  81
# XFAIL: 40
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to bug-automake@gnu.org
============================================================================

--------------C5A868FE7C9BA9B2094A9F95-- --------------ED252BFAF98DFFB3BA89DBBE Content-Type: text/x-log; name="test-suite.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-suite.log" PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHTlUgQXV0 b21ha2UgMS4xNi4yOiAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCiMgVE9UQUw6IDI5MTUKIyBQQVNTOiAgMjc5MwojIFNL SVA6ICA4MQojIFhGQUlMOiA0MAojIEZBSUw6ICAxCiMgWFBBU1M6IDAKIyBFUlJPUjogMAoK Li4gY29udGVudHM6OiA6ZGVwdGg6IDIKClNLSVA6IHQvZ2V0LXN5c2NvbmYKPT09PT09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2dldC1zeXNjb25mLmRpcgorIHN0 PTAKKyB0ZXN0IC1kIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvLmdp dAorIHRlc3QgLWYgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9DaGFu Z2VMb2cKKyBhd2sgCiAgICBCRUdJTiB7IGZpcnN0ID0gMSB9CiAgICAoZmlyc3QgPT0gMSkg eyBwcmludDsgZmlyc3QgPSAwOyBuZXh0OyB9CiAgICAvXlteXHRdLyB7IGV4aXQoMCk7IH0K ICAgIHsgcHJpbnQgfQogICAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L0NoYW5nZUxvZwoyMDIwLTAzLTE2ICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0BmYi5jb20+ CgoJdmVyc2lvbiAxLjE2LjIKCgkqIGNvbmZpZ3VyZS5hYyAoQUNfSU5JVCk6IEJ1bXAgdmVy c2lvbiBudW1iZXIgdG8gMS4xNi4yLgoJKiBtNC9hbXZlcnNpb24ubTQ6IExpa2V3aXNlIChh dXRvLXVwZGF0ZWQgYnkgIm1ha2UgYm9vdHN0cmFwIikuCgkqIE5FV1M6IFJlY29yZCByZWxl YXNlIHZlcnNpb24uCgorIC91c3IvYmluL3BlcmwgLVYKU3VtbWFyeSBvZiBteSBwZXJsNSAo cmV2aXNpb24gNSB2ZXJzaW9uIDI0IHN1YnZlcnNpb24gMSkgY29uZmlndXJhdGlvbjoKICAg CiAgUGxhdGZvcm06CiAgICBvc25hbWU9bGludXgsIG9zdmVycz0zLjE2LjAsIGFyY2huYW1l PXg4Nl82NC1saW51eC1nbnUtdGhyZWFkLW11bHRpCiAgICB1bmFtZT0nbGludXggbG9jYWxo b3N0IDMuMTYuMCAjMSBzbXAgZGViaWFuIDMuMTYuMCB4ODZfNjQgZ251bGludXggJwogICAg Y29uZmlnX2FyZ3M9Jy1EdXNldGhyZWFkcyAtRHVzZWxhcmdlZmlsZXMgLURjYz14ODZfNjQt bGludXgtZ251LWdjYyAtRGNwcD14ODZfNjQtbGludXgtZ251LWNwcCAtRGxkPXg4Nl82NC1s aW51eC1nbnUtZ2NjIC1EY2NmbGFncz0tRERFQklBTiAtV2RhdGUtdGltZSAtRF9GT1JUSUZZ X1NPVVJDRT0yIC1nIC1PMiAtZmRlYnVnLXByZWZpeC1tYXA9L2J1aWxkL3BlcmwtbUJsa0Iw L3BlcmwtNS4yNC4xPS4gLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1XZm9ybWF0IC1XZXJy b3I9Zm9ybWF0LXNlY3VyaXR5IC1EbGRmbGFncz0gLVdsLC16LHJlbHJvIC1EbGRkbGZsYWdz PS1zaGFyZWQgLVdsLC16LHJlbHJvIC1EY2NjZGxmbGFncz0tZlBJQyAtRGFyY2huYW1lPXg4 Nl82NC1saW51eC1nbnUgLURwcmVmaXg9L3VzciAtRHByaXZsaWI9L3Vzci9zaGFyZS9wZXJs LzUuMjQgLURhcmNobGliPS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvcGVybC81LjI0IC1E dmVuZG9ycHJlZml4PS91c3IgLUR2ZW5kb3JsaWI9L3Vzci9zaGFyZS9wZXJsNSAtRHZlbmRv cmFyY2g9L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsNS81LjI0IC1Ec2l0ZXByZWZp eD0vdXNyL2xvY2FsIC1Ec2l0ZWxpYj0vdXNyL2xvY2FsL3NoYXJlL3BlcmwvNS4yNC4xIC1E c2l0ZWFyY2g9L3Vzci9sb2NhbC9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsLzUuMjQuMSAt RG1hbjFkaXI9L3Vzci9zaGFyZS9tYW4vbWFuMSAtRG1hbjNkaXI9L3Vzci9zaGFyZS9tYW4v bWFuMyAtRHNpdGVtYW4xZGlyPS91c3IvbG9jYWwvbWFuL21hbjEgLURzaXRlbWFuM2Rpcj0v dXNyL2xvY2FsL21hbi9tYW4zIC1EdXNlc2l0ZWN1c3RvbWl6ZSAtRHVzZTY0Yml0aW50IC1E bWFuMWV4dD0xIC1EbWFuM2V4dD0zcGVybCAtRHBhZ2VyPS91c3IvYmluL3NlbnNpYmxlLXBh Z2VyIC1VYWZzIC1VZF9jc2ggLVVkX3VhbGFybSAtVXVzZXNmaW8gLVV1c2VubSAtVWlfbGli dXRpbCAtVXZlcnNpb25vbmx5IC1EREVCVUdHSU5HPS1nIC1Eb3B0aW1pemU9LU8yIC1kRXMg LUR1c2VzaHJwbGliIC1EbGlicGVybD1saWJwZXJsLnNvLjUuMjQuMScKICAgIGhpbnQ9cmVj b21tZW5kZWQsIHVzZXBvc2l4PXRydWUsIGRfc2lnYWN0aW9uPWRlZmluZQogICAgdXNlaXRo cmVhZHM9ZGVmaW5lLCB1c2VtdWx0aXBsaWNpdHk9ZGVmaW5lCiAgICB1c2U2NGJpdGludD1k ZWZpbmUsIHVzZTY0Yml0YWxsPWRlZmluZSwgdXNlbG9uZ2RvdWJsZT11bmRlZgogICAgdXNl bXltYWxsb2M9biwgYmluY29tcGF0NTAwNT11bmRlZgogIENvbXBpbGVyOgogICAgY2M9J3g4 Nl82NC1saW51eC1nbnUtZ2NjJywgY2NmbGFncyA9Jy1EX1JFRU5UUkFOVCAtRF9HTlVfU09V UkNFIC1EREVCSUFOIC1md3JhcHYgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRT PTY0JywKICAgIG9wdGltaXplPSctTzIgLWcnLAogICAgY3BwZmxhZ3M9Jy1EX1JFRU5UUkFO VCAtRF9HTlVfU09VUkNFIC1EREVCSUFOIC1md3JhcHYgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUnCiAgICBjY3ZlcnNpb249JycsIGdjY3ZlcnNp b249JzYuMy4wIDIwMTcwNTE2JywgZ2Njb3NhbmR2ZXJzPScnCiAgICBpbnRzaXplPTQsIGxv bmdzaXplPTgsIHB0cnNpemU9OCwgZG91Ymxlc2l6ZT04LCBieXRlb3JkZXI9MTIzNDU2Nzgs IGRvdWJsZWtpbmQ9MwogICAgZF9sb25nbG9uZz1kZWZpbmUsIGxvbmdsb25nc2l6ZT04LCBk X2xvbmdkYmw9ZGVmaW5lLCBsb25nZGJsc2l6ZT0xNiwgbG9uZ2RibGtpbmQ9MwogICAgaXZ0 eXBlPSdsb25nJywgaXZzaXplPTgsIG52dHlwZT0nZG91YmxlJywgbnZzaXplPTgsIE9mZl90 PSdvZmZfdCcsIGxzZWVrc2l6ZT04CiAgICBhbGlnbmJ5dGVzPTgsIHByb3RvdHlwZT1kZWZp bmUKICBMaW5rZXIgYW5kIExpYnJhcmllczoKICAgIGxkPSd4ODZfNjQtbGludXgtZ251LWdj YycsIGxkZmxhZ3MgPScgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1ML3Vzci9sb2NhbC9s aWInCiAgICBsaWJwdGg9L3Vzci9sb2NhbC9saWIgL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51 eC1nbnUvNi9pbmNsdWRlLWZpeGVkIC91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251IC91 c3IvbGliIC9saWIveDg2XzY0LWxpbnV4LWdudSAvbGliLy4uL2xpYiAvdXNyL2xpYi94ODZf NjQtbGludXgtZ251IC91c3IvbGliLy4uL2xpYiAvbGliCiAgICBsaWJzPS1sZ2RibSAtbGdk Ym1fY29tcGF0IC1sZGIgLWxkbCAtbG0gLWxwdGhyZWFkIC1sYyAtbGNyeXB0CiAgICBwZXJs bGlicz0tbGRsIC1sbSAtbHB0aHJlYWQgLWxjIC1sY3J5cHQKICAgIGxpYmM9bGliYy0yLjI0 LnNvLCBzbz1zbywgdXNlc2hycGxpYj10cnVlLCBsaWJwZXJsPWxpYnBlcmwuc28uNS4yNAog ICAgZ251bGliY192ZXJzaW9uPScyLjI0JwogIER5bmFtaWMgTGlua2luZzoKICAgIGRsc3Jj PWRsX2Rsb3Blbi54cywgZGxleHQ9c28sIGRfZGxzeW11bj11bmRlZiwgY2NkbGZsYWdzPSct V2wsLUUnCiAgICBjY2NkbGZsYWdzPSctZlBJQycsIGxkZGxmbGFncz0nLXNoYXJlZCAtTC91 c3IvbG9jYWwvbGliIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZycKCgpDaGFyYWN0ZXJpc3Rp Y3Mgb2YgdGhpcyBiaW5hcnkgKGZyb20gbGlicGVybCk6IAogIENvbXBpbGUtdGltZSBvcHRp b25zOiBIQVNfVElNRVMgTVVMVElQTElDSVRZIFBFUkxJT19MQVlFUlMKICAgICAgICAgICAg ICAgICAgICAgICAgUEVSTF9DT1BZX09OX1dSSVRFIFBFUkxfRE9OVF9DUkVBVEVfR1ZTVgog ICAgICAgICAgICAgICAgICAgICAgICBQRVJMX0hBU0hfRlVOQ19PTkVfQVRfQV9USU1FX0hB UkQKICAgICAgICAgICAgICAgICAgICAgICAgUEVSTF9JTVBMSUNJVF9DT05URVhUIFBFUkxf TUFMTE9DX1dSQVAKICAgICAgICAgICAgICAgICAgICAgICAgUEVSTF9QUkVTRVJWRV9JVlVW IFVTRV82NF9CSVRfQUxMIFVTRV82NF9CSVRfSU5UCiAgICAgICAgICAgICAgICAgICAgICAg IFVTRV9JVEhSRUFEUyBVU0VfTEFSR0VfRklMRVMgVVNFX0xPQ0FMRQogICAgICAgICAgICAg ICAgICAgICAgICBVU0VfTE9DQUxFX0NPTExBVEUgVVNFX0xPQ0FMRV9DVFlQRQogICAgICAg ICAgICAgICAgICAgICAgICBVU0VfTE9DQUxFX05VTUVSSUMgVVNFX0xPQ0FMRV9USU1FIFVT RV9QRVJMSU8KICAgICAgICAgICAgICAgICAgICAgICAgVVNFX1BFUkxfQVRPRiBVU0VfUkVF TlRSQU5UX0FQSSBVU0VfU0lURUNVU1RPTUlaRQogIExvY2FsbHkgYXBwbGllZCBwYXRjaGVz OgoJREVCUEtHOmRlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzIC0gUHJvdmlkZSBhIHNlbnNp YmxlIElOU1RBTExESVJTIGRlZmF1bHQgZm9yIG1vZHVsZXMgaW5zdGFsbGVkIGZyb20gQ1BB Ti4KCURFQlBLRzpkZWJpYW4vZGJfZmlsZV92ZXIgLSBodHRwczovL2J1Z3MuZGViaWFuLm9y Zy8zNDAwNDcgUmVtb3ZlIG92ZXJseSByZXN0cmljdGl2ZSBEQl9GaWxlIHZlcnNpb24gY2hl Y2suCglERUJQS0c6ZGViaWFuL2RvY19pbmZvIC0gUmVwbGFjZSBnZW5lcmljIG1hbigxKSBp bnN0cnVjdGlvbnMgd2l0aCBEZWJpYW4tc3BlY2lmaWMgaW5mb3JtYXRpb24uCglERUJQS0c6 ZGViaWFuL2VuYzJ4c19pbmMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8yOTAzMzYgVHdl YWsgZW5jMnhzIHRvIGZvbGxvdyBzeW1saW5rcyBhbmQgaWdub3JlIG1pc3NpbmcgQElOQyBk aXJlY3Rvcmllcy4KCURFQlBLRzpkZWJpYW4vZXJybm9fdmVyIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvMzQzMzUxIFJlbW92ZSBFcnJubyB2ZXJzaW9uIGNoZWNrIGR1ZSB0byB1cGdy YWRlIHByb2JsZW1zIHdpdGggbG9uZy1ydW5uaW5nIHByb2Nlc3Nlcy4KCURFQlBLRzpkZWJp YW4vbGlicGVybF9lbWJlZF9kb2MgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xODY3Nzgg Tm90ZSB0aGF0IGxpYnBlcmwtZGV2IHBhY2thZ2UgaXMgcmVxdWlyZWQgZm9yIGVtYmVkZGVk IGxpbmtpbmcKCURFQlBLRzpmaXhlcy9yZXNwZWN0X3VtYXNrIC0gUmVzcGVjdCB1bWFzayBk dXJpbmcgaW5zdGFsbGF0aW9uCglERUJQS0c6ZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycyAt IFNldCB1bWFzayBhcHByb3Byb2F0ZWx5IGZvciBzaXRlIGluc3RhbGwgZGlyZWN0b3JpZXMK CURFQlBLRzpkZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aCAtIEVVOk1NOiBzZXQg bG9jYXRpb24gb2YgbGlicGVybC5hIHVuZGVyIC91c3IvbGliCglERUJQS0c6ZGViaWFuL25v X3BhY2tsaXN0X3Blcmxsb2NhbCAtIERvbid0IGluc3RhbGwgLnBhY2tsaXN0IG9yIHBlcmxs b2NhbC5wb2QgZm9yIHBlcmwgb3IgdmVuZG9yCglERUJQS0c6ZGViaWFuL2Zha2Vyb290IC0g UG9zdHBvbmUgTERfTElCUkFSWV9QQVRIIGV2YWx1YXRpb24gdG8gdGhlIGJpbmFyeSB0YXJn ZXRzLgoJREVCUEtHOmRlYmlhbi9pbnN0bW9kc2hfZG9jIC0gRGViaWFuIHBvbGljeSBkb2Vz bid0IGluc3RhbGwgLnBhY2tsaXN0IGZpbGVzIGZvciBjb3JlIG9yIHZlbmRvci4KCURFQlBL RzpkZWJpYW4vbGRfcnVuX3BhdGggLSBSZW1vdmUgc3RhbmRhcmQgbGlicyBmcm9tIExEX1JV Tl9QQVRIIGFzIHBlciBEZWJpYW4gcG9saWN5LgoJREVCUEtHOmRlYmlhbi9saWJuZXRfY29u ZmlnX3BhdGggLSBTZXQgbG9jYXRpb24gb2YgbGlibmV0LmNmZyB0byAvZXRjL3BlcmwvTmV0 IGFzIC91c3IgbWF5IG5vdCBiZSB3cml0YWJsZS4KCURFQlBLRzpkZWJpYW4vbW9kX3BhdGhz IC0gVHdlYWsgQElOQyBvcmRlcmluZyBmb3IgRGViaWFuCglERUJQS0c6ZGViaWFuL3BydW5l X2xpYnMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xMjgzNTUgUHJ1bmUgdGhlIGxpc3Qg b2YgbGlicmFyaWVzIHdhbnRlZCB0byB3aGF0IHdlIGFjdHVhbGx5IG5lZWQuCglERUJQS0c6 Zml4ZXMvbmV0X3NtdHBfZG9jcyAtIFtydC5jcGFuLm9yZyAjMzYwMzhdIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzEwMDE5NSBEb2N1bWVudCB0aGUgTmV0OjpTTVRQICdQb3J0JyBvcHRp b24KCURFQlBLRzpkZWJpYW4vcGVybGl2cCAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUx MDg5NSBNYWtlIHBlcmxpdnAgc2tpcCBpbmNsdWRlIGRpcmVjdG9yaWVzIGluIC91c3IvbG9j YWwKCURFQlBLRzpkZWJpYW4vZGVwcmVjYXRlLXdpdGgtYXB0IC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvNzQ3NjI4IFBvaW50IHVzZXJzIHRvIERlYmlhbiBwYWNrYWdlcyBvZiBkZXBy ZWNhdGVkIGNvcmUgbW9kdWxlcwoJREVCUEtHOmRlYmlhbi9zcXVlbGNoLWxvY2FsZS13YXJu aW5ncyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2NCBTcXVlbGNoIGxvY2FsZSB3 YXJuaW5ncyBpbiBEZWJpYW4gcGFja2FnZSBtYWludGFpbmVyIHNjcmlwdHMKCURFQlBLRzpk ZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMgLSBTa2lwIHRlc3RzIHNwZWNpZmljIHRv IHRoZSB1cHN0cmVhbSBHaXQgcmVwb3NpdG9yeQoJREVCUEtHOmRlYmlhbi9wYXRjaGxldmVs IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNTY3NDg5IExpc3QgcGFja2FnZWQgcGF0Y2hl cyBmb3IgNS4yNC4xLTMrZGViOXU2IGluIHBhdGNobGV2ZWwuaAoJREVCUEtHOmRlYmlhbi9z a2lwLWtmcmVlYnNkLWNyYXNoIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNjI4NDkzIFtw ZXJsICM5NjI3Ml0gU2tpcCBhIGNyYXNoaW5nIHRlc3QgY2FzZSBpbiB0L29wL3RocmVhZHMu dCBvbiBHTlUva0ZyZWVCU0QKCURFQlBLRzpmaXhlcy9kb2N1bWVudF9tYWtlbWFrZXJfY2Nm bGFncyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzYyODUyMiBbcnQuY3Bhbi5vcmcgIzY4 NjEzXSBEb2N1bWVudCB0aGF0IENDRkxBR1Mgc2hvdWxkIGluY2x1ZGUgJENvbmZpZ3tjY2Zs YWdzfQoJREVCUEtHOmRlYmlhbi9maW5kX2h0bWwydGV4dCAtIGh0dHBzOi8vYnVncy5kZWJp YW4ub3JnLzY0MDQ3OSBDb25maWd1cmUgQ1BBTjo6RGlzdHJpYnV0aW9uIHdpdGggY29ycmVj dCBuYW1lIG9mIGh0bWwydGV4dAoJREVCUEtHOmRlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwt ZW11bGF0b3IucGF0Y2ggLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy82Njg0OTAgSW52b2tl IHgtdGVybWluYWwtZW11bGF0b3IgcmF0aGVyIHRoYW4geHRlcm0gaW4gcGVybDVkYi5wbAoJ REVCUEtHOmRlYmlhbi9jcGFuLW1pc3Npbmctc2l0ZS1kaXJzIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvNjg4ODQyIEZpeCBDUEFOOjpGaXJzdFRpbWUgZGVmYXVsdHMgd2l0aCBub25l eGlzdGluZyBzaXRlIGRpcnMgaWYgYSBwYXJlbnQgaXMgd3JpdGFibGUKCURFQlBLRzpmaXhl cy9tZW1vaXplX3N0b3JhYmxlX25zdG9yZSAtIFtydC5jcGFuLm9yZyAjNzc3OTBdIGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnLzU4NzY1MCBNZW1vaXplOjpTdG9yYWJsZTogcmVzcGVjdCAn bnN0b3JlJyBvcHRpb24gbm90IHJlc3BlY3RlZAoJREVCUEtHOmRlYmlhbi9yZWdlbi1za2lw IC0gU2tpcCBhIHJlZ2VuZXJhdGlvbiBjaGVjayBpbiB1bnJlbGF0ZWQgZ2l0IHJlcG9zaXRv cmllcwoJREVCUEtHOmRlYmlhbi9tYWtlbWFrZXItcGFzdGhydSAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzc1ODQ3MSBQYXNzIExEIHNldHRpbmdzIHRocm91Z2ggdG8gc3ViZGlyZWN0 b3JpZXMKCURFQlBLRzpkZWJpYW4vbWFrZW1ha2VyLW1hbmV4dCAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzI0NzM3MCBNYWtlIEVVOjpNYWtlTWFrZXIgaG9ub3VyIE1BTm5FWFQgc2V0 dGluZ3MgaW4gZ2VuZXJhdGVkIG1hbnBhZ2UgaGVhZGVycwoJREVCUEtHOmRlYmlhbi9kZXZl bC1wcHBvcnQtcmVwcm9kdWNpYmlsaXR5IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODAx NTIzIFNvcnQgdGhlIGxpc3Qgb2YgWFMgY29kZSBmaWxlcyB3aGVuIGdlbmVyYXRpbmcgUmVh bFBQUG9ydC54cwoJREVCUEtHOmRlYmlhbi9lbmNvZGUtdW5pY29kZS1ib20tZG9jIC0gaHR0 cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk4NzI3IERvY3VtZW50IERlYmlhbiBiYWNrcG9ydCBv ZiBFbmNvZGU6OlVuaWNvZGUgZml4CglERUJQS0c6ZGViaWFuL2tmcmVlYnNkLXNvZnR1cGRh dGVzIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk2Nzk4IFdvcmsgYXJvdW5kIERlYmlh biBCdWcjNzk2Nzk4CglERUJQS0c6Zml4ZXMvYXV0b2RpZS1zY29wZSAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzc5ODA5NiBGaXggYSBzY29waW5nIGlzc3VlIHdpdGggIm5vIGF1dG9k aWUiIGFuZCB0aGUgInN5c3RlbSIgc3ViCglERUJQS0c6Zml4ZXMvY3Jvc3Njb21waWxlLW5v LXRhcmdldGhvc3QgLSBbMjM2OTVjMF0gW3BlcmwgIzEyNzIzNF0gRml4IHRoZSBDb25maWd1 cmUgZXNjYXBlIHdpdGggdXNlY3Jvc3Njb21waWxlIGJ1dCBubyB0YXJnZXRob3N0CglERUJQ S0c6Zml4ZXMvbWVtb2l6ZS1wb2QgLSBbcnQuY3Bhbi5vcmcgIzg5NDQxXSBGaXggUE9EIGVy cm9ycyBpbiBNZW1vaXplCglERUJQS0c6Zml4ZXMvb2stcG9kIC0gQWRkZWQgZW5jb2Rpbmcg Zm9yIHBvZC4KCURFQlBLRzpkZWJpYW4vaHVyZC1zb2Z0dXBkYXRlcyAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzgyMjczNSBGaXggdC9vcC9zdGF0LnQgZmFpbHVyZXMgb24gaHVyZAoJ REVCUEtHOmZpeGVzL25udHBfZG9jcyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUxOTYy IE5ldDo6Tk5UUDogQ29ycmVjdCBpbm5kL25ucnBkIGNvbmZ1c2lvbiBpbiByZWxhdGlvbiB0 byBSZWFkZXIgb3B0aW9uCglERUJQS0c6Zml4ZXMvbWF0aF9jb21wbGV4X2RvY19ncmVhdF9j aXJjbGUgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy82OTc1NjcgW3J0LmNwYW4ub3JnICMx MTQxMDRdIE1hdGg6OlRyaWc6IGNsYXJpZnkgZGVmaW5pdGlvbiBvZiBncmVhdF9jaXJjbGVf bWlkcG9pbnQKCURFQlBLRzpmaXhlcy9tYXRoX2NvbXBsZXhfZG9jX3NlZV9hbHNvIC0gaHR0 cHM6Ly9idWdzLmRlYmlhbi5vcmcvNjk3NTY4IFtydC5jcGFuLm9yZyAjMTE0MTA1XSBNYXRo OjpUcmlnOiBhZGQgbWlzc2luZyBTRUUgQUxTTwoJREVCUEtHOmZpeGVzL21hdGhfY29tcGxl eF9kb2NfYW5nbGVfdW5pdHMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy83MzE1MDUgW3J0 LmNwYW4ub3JnICMxMTQxMDZdIE1hdGg6OlRyaWc6IGRvY3VtZW50IGFuZ2xlIHVuaXRzCglE RUJQS0c6Zml4ZXMvY3Bhbl93ZWJfbGluayAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzM2 NzI5MSBDUEFOOiBBZGQgbGluayB0byBtYWluIENQQU4gd2ViIHNpdGUKCURFQlBLRzpmaXhl cy90aW1lX3BpZWNlX2RvYyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzgxNzkyNSBUaW1l OjpQaWVjZTogSW1wcm92ZSBkb2N1bWVudGF0aW9uIGZvciBhZGRfbW9udGhzIGFuZCBhZGRf eWVhcnMKCURFQlBLRzpmaXhlcy9wZXJsYnVnLXJlZmFjdG9yIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvODIyNDYzIFtwZXJsICMxMjgwMjBdIHBlcmxidWc6IFJlZmFjdG9yIGR1cGxp Y2F0ZWQgZmlsZSByZWFkaW5nIGNvZGUKCURFQlBLRzpmaXhlcy9wZXJsYnVnLWxpbmV3cmFw IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODIyNDYzIFtwZXJsICMxMjgwMjBdIHBlcmxi dWc6IHdyYXAgb3Zlcmx5IGxvbmcgbGluZXMKCURFQlBLRzpmaXhlcy9odXJkX3NpZ2FjdGlv biAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzgyNTAxNiBbZDU0ZjRlZF0gZXh0L1BPU0lY L3Qvc2lnYWN0aW9uLnQ6IFNraXAgdWlkIGFuZCBwaWQgdGVzdHMgb24gR05VL0h1cmQKCURF QlBLRzpmaXhlcy9odXJkX2hpbnRzIC0gWzQ2OTQzMDFdIGh0dHBzOi8vYnVncy5kZWJpYW4u b3JnLzgyNTAyMCBbcGVybCAjMTI4Mjc5XSBNb2RpZnkgaGludHMgZm9yIEh1cmQgcGVyIERl YmlhbiB0aWNrZXQgODI1MDIwLgoJREVCUEtHOmZpeGVzL2V4dHV0aWxzLXBhcnNleHMtcmVw cm9kdWNpYmlsaXR5IC0gW3BlcmwgIzEyODUxN10gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODI5Mjk2IE1ha2UgdGhlIG91dHB1dCBvZiBFeHRVdGlsczo6UGFyc2VYUyByZXByb2R1Y2li bGUKCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9zaXRlY3VzdG9taXplLWluLWV0YyAt IExvb2sgZm9yIHNpdGVjdXN0b21pemUucGwgaW4gL2V0Yy9wZXJsIHJhdGhlciB0aGFuIHNp dGVsaWIgb24gRGViaWFuIHN5c3RlbXMKCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC90 ZXN0LXN1aXRlLXdpdGhvdXQtZG90IC0gW3BlcmwgIzEyNzgxMF0gUGF0Y2ggdW5pdCB0ZXN0 cyB0byBleHBsaWNpdGx5IGluc2VydCAiLiIgaW50byBASU5DIHdoZW4gbmVlZGVkLgoJREVC UEtHOmRlYmlhbi9DVkUtMjAxNi0xMjM4L2V1bW0td2l0aG91dC1kb3QgLSBbcGVybCAjMTI3 ODEwXSBBZGQgUEVSTF9VU0VfVU5TQUZFX0lOQyBzdXBwb3J0IHRvIEVVOjpNTSBmb3IgZm9y dGlmeV9pbmMgc3VwcG9ydC4KCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9jcGFuLXdp dGhvdXQtZG90IC0gW3BlcmwgIzEyNzgxMF0gU2V0IFBFUkxfVVNFX1VOU0FGRV9JTkMgZm9y IGNwYW4gdXNhZ2UKCURFQlBLRzpkZWJpYW4vZG9jdW1lbnRfaW5jX3JlbW92YWwgLSBEb2N1 bWVudCBpbiBwZXJsdmFyIHRoYXQgd2UgcmVtb3ZlICcuJyBmcm9tIEBJTkMgYnkgZGVmYXVs dAoJREVCUEtHOmZpeGVzL2V4dHV0aWxzX21ha2VtYWtlcl9yZXByb2R1Y2libGUgLSBodHRw czovL2J1Z3MuZGViaWFuLm9yZy84MzU4MTUgaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODM0 MTkwIE1ha2UgcGVybGxvY2FsLnBvZCBmaWxlcyByZXByb2R1Y2libGUKCURFQlBLRzpkZWJp YW4vQ1ZFLTIwMTYtMTIzOC9yZW1vdmUtaW5jLXRlc3QgLSBSZW1vdmUgdGVzdCBmb3IgJy4n IGluIEBJTkMgYXMgaXQgbWlnaHQgbm90IGJlCglERUJQS0c6Zml4ZXMvZmlsZV9wYXRoX2h1 cmRfZXJybm8gLSBGaWxlLVBhdGg6IEZpeCB0ZXN0IGZhaWx1cmUgaW4gSHVyZCBkdWUgdG8g aGFyZC1jb2RlZCBFTk9FTlQKCURFQlBLRzpkZWJpYW4vaHBwYV9vcF9vcHRpbWl6ZV93b3Jr YXJvdW5kIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODM4NjEzIFRlbXBvcmFyaWx5IGxv d2VyIHRoZSBvcHRpbWl6YXRpb24gb2Ygb3AuYyBvbiBocHBhIGR1ZSB0byBnY2MtNiBwcm9i bGVtcwoJREVCUEtHOmZpeGVzL3Rlc3QtYnVpbGRlci13YXJuaW5nIC0gaHR0cHM6Ly9idWdz LmRlYmlhbi5vcmcvODQwOTY4IFNpbGVuY2UgYSAndXNlZCBvbmx5IG9uY2UnIHdhcm5pbmcg aW4gVGVzdDo6QnVpbGRlcgoJREVCUEtHOmZpeGVzL2xvbmdkYmxpbmYtcmFuZG9tbmVzcyAt IFtkZDY4ODUzXSBbcGVybCAjMTMwMTMzXSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NDQ3 NTIgQ29uZmlndXJlOiBmaXggZ2FyYmFnZSBmaWx0ZXJpbmcgd2l0aCA4MC1iaXQgbG9uZyBk b3VibGVzCglERUJQS0c6ZGViaWFuL2luc3RhbGxtYW4tdXRmOCAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzg0MDIxMSBHZW5lcmF0ZSBtYW4gcGFnZXMgd2l0aCBVVEYtOCBjaGFyYWN0 ZXJzCglERUJQS0c6Zml4ZXMvbGlzdF9hc3NpZ25fbGVhayAtIFsxMDUwNzIzXSBbcGVybCAj MTMwNzY2XSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NTUwNjQgYXZvaWQgYSBsZWFrIGlu IGxpc3QgYXNzaWduIGZyb20vdG8gbWFnaWMgdmFsdWVzCglERUJQS0c6Zml4ZXMvcGVybGZ1 bmNfaW5jX2RvYyAtIFthMDNlOWY4XSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84Mzk1MzYg W3BlcmwgIzEzMDgzMl0gRG9jdW1lbnRhdGlvbiBmaXhlcyBmb3IgJy4nIHBvc3NpYmx5IG5v IGxvbmdlciBiZWluZyBpbiBASU5DCglERUJQS0c6Zml4ZXMvZmlsZV9wYXRoX2NobW9kX3Jh Y2UgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NjM4NzAgW3J0LmNwYW4ub3JnICMxMjE5 NTFdIFByZXZlbnQgZGlyZWN0b3J5IGNobW9kIHJhY2UgYXR0YWNrLgoJREVCUEtHOmZpeGVz L2V4dHV0aWxzX2ZpbGVfcGF0aF9jb21wYXQgLSBDb3JyZWN0IHRoZSBvcmRlciBvZiB0ZXN0 cyBvZiBjaG1vZCgpLiAoIzI5NCkKCURFQlBLRzpkZWJpYW4vY3VzdG9taXplZCAtIFVwZGF0 ZSBjdXN0b21pemVkLmRhdCBmb3IgZmlsZXMgcGF0Y2hlZCBpbiBEZWJpYW4KCURFQlBLRzpm aXhlcy9nZXRvcHQtbG9uZy0xIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODU1NTMyIFty dC5jcGFuLm9yZyAjMTE0OTk5XSBGaXggYnVnIFJUIzExNDk5OQoJREVCUEtHOmZpeGVzL2dl dG9wdC1sb25nLTIgLSBbcnQuY3Bhbi5vcmcgIzEyMDMwMF0gV2l0aGRyYXcgcGFydCBvZiBj b21taXQgNWQ5OTQ3ZmI0NDUzMjdjNzI5OWQ4YmViMDA5ZDYwOWJjNzAwNjZjMCwgd2hpY2gg dHJpZXMgdG8gaW1wbGVtZW50IG1vcmUgR05VIGdldG9wdF9sb25nIGNhbXBhdGliaWxpdHku IEdOVQoJREVCUEtHOmZpeGVzL2dldG9wdC1sb25nLTMgLSBwcm92aWRlIGEgZGVmYXVsdCB2 YWx1ZSBmb3Igb3B0aW9uYWwgYXJndW1lbnRzCglERUJQS0c6Zml4ZXMvZ2V0b3B0LWxvbmct NCAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg2NDU0NCBbcnQuY3Bhbi5vcmcgIzEyMjA2 OF0gRml4IGlzc3VlICMxMjIwNjguCglERUJQS0c6Zml4ZXMvZmJtLWluc3RyLWNyYXNoIC0g W2JiMTUyYTRdIFtwZXJsICMxMzE1NzVdIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg2NDc4 MiBkb24ndCBjYWxsIFBlcmxfZmJtX2luc3RyKCkgd2l0aCBuZWdhdGl2ZSBsZW5ndGgKCURF QlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9iYXNlLXBtLWFtZW5kcy1wdDIgLSBbMWFmYTI4 OV0gTGltaXQgZG90bGVzcy1JTkMgZWZmZWN0IG9uIGJhc2UucG0gd2l0aCBndWFyZDoKCURF QlBLRzpmaXhlcy9DVkUtMjAxNy0xMjgzNyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg3 NTU5NiBbcGVybCAjMTMxNTgyXSBbZjdlNTQxN10gcmVnY29tcCBbcGVybCAjMTMxNTgyXQoJ REVCUEtHOmZpeGVzL0NWRS0yMDE3LTEyODgzIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODc1NTk3IFtwZXJsICMxMzE1OThdIFs0MGIzY2RhXSBQQVRDSDogW3BlcmwgIzEzMTU5OF0K CURFQlBLRzpmaXhlcy9DVkUtMjAxOC02Nzk3IC0gW3BlcmwgIzEzMjIyN10gKHBlcmwgIzEz MjIyNykgcmVzdGFydCBhIG5vZGUgaWYgd2UgY2hhbmdlIHRvIHVuaSBydWxlcyB3aXRoaW4g dGhlIG5vZGUgYW5kIGVuY291bnRlciBhIHNoYXJwIFMKCURFQlBLRzpmaXhlcy9DVkUtMjAx OC02Nzk4L3B0MSAtIFtwZXJsICMxMzIwNjNdIEhlYXAgYnVmZmVyIG92ZXJmbG93CglERUJQ S0c6Zml4ZXMvQ1ZFLTIwMTgtNjc5OC9wdDIgLSBbcGVybCAjMTMyMDYzXSB2NS4yNC4zOiBm aXggVFJJRV9SRUFEX0NIQVIgYW5kIERFQ0xfVFJJRV9UWVBFIHRvIGFjY291bnQgZm9yIG5v bi11dGY4IHRhcmdldAoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTY3OTgvcHQzIC0gW3Blcmwg IzEzMjA2M10gKHBlcmwgIzEzMjA2Mykgd2Ugc2hvdWxkIG5vIGxvbmdlciB3YXJuIGZvciB0 aGlzIGNvZGUKCURFQlBLRzpmaXhlcy9DVkUtMjAxOC02OTEzIC0gW3BlcmwgIzEzMTg0NF0g KHBlcmwgIzEzMTg0NCkgZml4IHZhcmlvdXMgc3BhY2UgY2FsY3VsYXRpb24gaXNzdWVzIGlu IHBwX3BhY2suYwoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTEyMDE1LUFyY2hpdmUtVGFyLWRp cmVjdG9yeS10cmF2ZXJzYWwgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy85MDA4MzQgW3J0 LmNwYW4ub3JnICMxMjU1MjNdIFJlbW92ZSBleGlzdGluZyBmaWxlcyBiZWZvcmUgb3Zlcndy aXRpbmcgdGhlbQoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTE4MzExIC0gUGVybF9teV9zZXRl bnYoKTsgaGFuZGxlIGludGVnZXIgd3JhcAoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTE4MzEy IC0gZm9yIDUuMjYgbWFpbnQKCURFQlBLRzpmaXhlcy9DVkUtMjAxOC0xODMxMyAtIHJlZ2Nv bXAuYzogQ29udmVydCBzb21lIHN0cmNociB0byBtZW1jaHIKCURFQlBLRzpmaXhlcy9DVkUt MjAxOC0xODMxNCAtIGZpeCAjMTMxNjQ5IC0gZXh0ZW5kZWQgY2hhcmNsYXNzIGNhbiB0cmln Z2VyIGFzc2VydAoJREVCUEtHOmZpeGVzL3RpbWUtbG9jYWwtMjAyMCAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzkxNTIwOSBbcnQuY3Bhbi5vcmcgIzEyNDc4N10gRml4IFRpbWU6Okxv Y2FsIHRlc3RzCiAgQnVpbHQgdW5kZXIgbGludXgKICBDb21waWxlZCBhdCBKYW4gMjUgMjAy MCAxNzo1NDo1NAogICVFTlY6CiAgICBQRVJMNUxJQj0iL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi9saWIvOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvbGliLyIKICBASU5DOgogICAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi9saWIvCiAgICAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2xpYi8KICAgIC9ldGMvcGVybAogICAgL3Vzci9sb2NhbC9saWIveDg2XzY0LWxpbnV4LWdu dS9wZXJsLzUuMjQuMQogICAgL3Vzci9sb2NhbC9zaGFyZS9wZXJsLzUuMjQuMQogICAgL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsNS81LjI0CiAgICAvdXNyL3NoYXJlL3Blcmw1 CiAgICAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3BlcmwvNS4yNAogICAgL3Vzci9zaGFy ZS9wZXJsLzUuMjQKICAgIC91c3IvbG9jYWwvbGliL3NpdGVfcGVybAogICAgL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9wZXJsLWJhc2UKKyAvdXNyL2Jpbi9wZXJsIC1lIHVzZSBUQVA6 OlBhcnNlcjsgcHJpbnQgJFRBUDo6UGFyc2VyOjpWRVJTSU9OLCAiXG4iCjMuMzZfMDEKKyBs ZXggLS12ZXJzaW9uCmxleCAyLjYuMQorIGxleCAtLWhlbHAKVXNhZ2U6IGxleCBbT1BUSU9O U10gW0ZJTEVdLi4uCkdlbmVyYXRlcyBwcm9ncmFtcyB0aGF0IHBlcmZvcm0gcGF0dGVybi1t YXRjaGluZyBvbiB0ZXh0LgoKVGFibGUgQ29tcHJlc3Npb246CiAgLUNhLCAtLWFsaWduICAg ICAgdHJhZGUgb2ZmIGxhcmdlciB0YWJsZXMgZm9yIGJldHRlciBtZW1vcnkgYWxpZ25tZW50 CiAgLUNlLCAtLWVjcyAgICAgICAgY29uc3RydWN0IGVxdWl2YWxlbmNlIGNsYXNzZXMKICAt Q2YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1c2UgLWYgcmVwcmVz ZW50YXRpb24KICAtQ0YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1 c2UgLUYgcmVwcmVzZW50YXRpb24KICAtQ20sIC0tbWV0YS1lY3MgICBjb25zdHJ1Y3QgbWV0 YS1lcXVpdmFsZW5jZSBjbGFzc2VzCiAgLUNyLCAtLXJlYWQgICAgICAgdXNlIHJlYWQoKSBp bnN0ZWFkIG9mIHN0ZGlvIGZvciBzY2FubmVyIGlucHV0CiAgLWYsIC0tZnVsbCAgICAgICAg Z2VuZXJhdGUgZmFzdCwgbGFyZ2Ugc2Nhbm5lci4gU2FtZSBhcyAtQ2ZyCiAgLUYsIC0tZmFz dCAgICAgICAgdXNlIGFsdGVybmF0ZSB0YWJsZSByZXByZXNlbnRhdGlvbi4gU2FtZSBhcyAt Q0ZyCiAgLUNlbSAgICAgICAgICAgICAgZGVmYXVsdCBjb21wcmVzc2lvbiAoc2FtZSBhcyAt LWVjcyAtLW1ldGEtZWNzKQoKRGVidWdnaW5nOgogIC1kLCAtLWRlYnVnICAgICAgICAgICAg IGVuYWJsZSBkZWJ1ZyBtb2RlIGluIHNjYW5uZXIKICAtYiwgLS1iYWNrdXAgICAgICAgICAg ICB3cml0ZSBiYWNraW5nLXVwIGluZm9ybWF0aW9uIHRvIGxleC5iYWNrdXAKICAtcCwgLS1w ZXJmLXJlcG9ydCAgICAgICB3cml0ZSBwZXJmb3JtYW5jZSByZXBvcnQgdG8gc3RkZXJyCiAg LXMsIC0tbm9kZWZhdWx0ICAgICAgICAgc3VwcHJlc3MgZGVmYXVsdCBydWxlIHRvIEVDSE8g dW5tYXRjaGVkIHRleHQKICAtVCwgLS10cmFjZSAgICAgICAgICAgICBsZXggc2hvdWxkIHJ1 biBpbiB0cmFjZSBtb2RlCiAgLXcsIC0tbm93YXJuICAgICAgICAgICAgZG8gbm90IGdlbmVy YXRlIHdhcm5pbmdzCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgd3JpdGUgc3VtbWFyeSBv ZiBzY2FubmVyIHN0YXRpc3RpY3MgdG8gc3Rkb3V0CiAgICAgIC0taGV4ICAgICAgICAgICAg ICAgdXNlIGhleGFkZWNpbWFsIG51bWJlcnMgaW5zdGVhZCBvZiBvY3RhbCBpbiBkZWJ1ZyBv dXRwdXRzCgpGaWxlczoKICAtbywgLS1vdXRmaWxlPUZJTEUgICAgICBzcGVjaWZ5IG91dHB1 dCBmaWxlbmFtZQogIC1TLCAtLXNrZWw9RklMRSAgICAgICAgIHNwZWNpZnkgc2tlbGV0b24g ZmlsZQogIC10LCAtLXN0ZG91dCAgICAgICAgICAgIHdyaXRlIHNjYW5uZXIgb24gc3Rkb3V0 IGluc3RlYWQgb2YgbGV4Lnl5LmMKICAgICAgLS15eWNsYXNzPU5BTUUgICAgICBuYW1lIG9m IEMrKyBjbGFzcwogICAgICAtLWhlYWRlci1maWxlPUZJTEUgICBjcmVhdGUgYSBDIGhlYWRl ciBmaWxlIGluIGFkZGl0aW9uIHRvIHRoZSBzY2FubmVyCiAgICAgIC0tdGFibGVzLWZpbGVb PUZJTEVdIHdyaXRlIHRhYmxlcyB0byBGSUxFCgpTY2FubmVyIGJlaGF2aW9yOgogIC03LCAt LTdiaXQgICAgICAgICAgICAgIGdlbmVyYXRlIDctYml0IHNjYW5uZXIKICAtOCwgLS04Yml0 ICAgICAgICAgICAgICBnZW5lcmF0ZSA4LWJpdCBzY2FubmVyCiAgLUIsIC0tYmF0Y2ggICAg ICAgICAgICAgZ2VuZXJhdGUgYmF0Y2ggc2Nhbm5lciAob3Bwb3NpdGUgb2YgLUkpCiAgLWks IC0tY2FzZS1pbnNlbnNpdGl2ZSAgaWdub3JlIGNhc2UgaW4gcGF0dGVybnMKICAtbCwgLS1s ZXgtY29tcGF0ICAgICAgICBtYXhpbWFsIGNvbXBhdGliaWxpdHkgd2l0aCBvcmlnaW5hbCBs ZXgKICAtWCwgLS1wb3NpeC1jb21wYXQgICAgICBtYXhpbWFsIGNvbXBhdGliaWxpdHkgd2l0 aCBQT1NJWCBsZXgKICAtSSwgLS1pbnRlcmFjdGl2ZSAgICAgICBnZW5lcmF0ZSBpbnRlcmFj dGl2ZSBzY2FubmVyIChvcHBvc2l0ZSBvZiAtQikKICAgICAgLS15eWxpbmVubyAgICAgICAg ICB0cmFjayBsaW5lIGNvdW50IGluIHl5bGluZW5vCgpHZW5lcmF0ZWQgY29kZToKICAtKywg IC0tYysrICAgICAgICAgICAgICAgZ2VuZXJhdGUgQysrIHNjYW5uZXIgY2xhc3MKICAtRG1h Y3JvWz1kZWZuXSAgICAgICAgICAgI2RlZmluZSBtYWNybyBkZWZuICAoZGVmYXVsdCBkZWZu IGlzICcxJykKICAtTCwgIC0tbm9saW5lICAgICAgICAgICAgc3VwcHJlc3MgI2xpbmUgZGly ZWN0aXZlcyBpbiBzY2FubmVyCiAgLVAsICAtLXByZWZpeD1TVFJJTkcgICAgIHVzZSBTVFJJ TkcgYXMgcHJlZml4IGluc3RlYWQgb2YgInl5IgogIC1SLCAgLS1yZWVudHJhbnQgICAgICAg ICBnZW5lcmF0ZSBhIHJlZW50cmFudCBDIHNjYW5uZXIKICAgICAgIC0tYmlzb24tYnJpZGdl ICAgICAgc2Nhbm5lciBmb3IgYmlzb24gcHVyZSBwYXJzZXIuCiAgICAgICAtLWJpc29uLWxv Y2F0aW9ucyAgIGluY2x1ZGUgeXlsbG9jIHN1cHBvcnQuCiAgICAgICAtLXN0ZGluaXQgICAg ICAgICAgIGluaXRpYWxpemUgeXlpbi95eW91dCB0byBzdGRpbi9zdGRvdXQKICAgICAgIC0t bm9hbnNpLWRlZmluaXRpb25zIG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9ucwogICAg ICAgLS1ub2Fuc2ktcHJvdG90eXBlcyAgZW1wdHkgcGFyYW1ldGVyIGxpc3QgaW4gcHJvdG90 eXBlcwogICAgICAgLS1ub3VuaXN0ZCAgICAgICAgICBkbyBub3QgaW5jbHVkZSA8dW5pc3Rk Lmg+CiAgICAgICAtLW5vRlVOQ1RJT04gICAgICAgIGRvIG5vdCBnZW5lcmF0ZSBhIHBhcnRp Y3VsYXIgRlVOQ1RJT04KCk1pc2NlbGxhbmVvdXM6CiAgLWMgICAgICAgICAgICAgICAgICAg ICAgZG8tbm90aGluZyBQT1NJWCBvcHRpb24KICAtbiAgICAgICAgICAgICAgICAgICAgICBk by1ub3RoaW5nIFBPU0lYIG9wdGlvbgogIC0/CiAgLWgsIC0taGVscCAgICAgICAgICAgICAg cHJvZHVjZSB0aGlzIGhlbHAgbWVzc2FnZQogIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHJl cG9ydCBsZXggdmVyc2lvbgorIHlhY2MgLS12ZXJzaW9uCmJpc29uIChHTlUgQmlzb24pIDMu NS4zCsOJY3JpdCBwYXIgUm9iZXJ0IENvcmJldHQgZXQgUmljaGFyZCBTdGFsbG1hbi4KCkNv cHlyaWdodCDCqSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpDZSBsb2dp Y2llbCBlc3QgbGlicmU7IHZvaXIgbGVzIHNvdXJjZXMgcG91ciBsZXMgY29uZGl0aW9ucyBk ZQpyZXByb2R1Y3Rpb24uIEFVQ1VORSBnYXJhbnRpZSBuJ2VzdCBkb25uw6llOyB0YW50IHBv dXIgZGVzIHJhaXNvbnMKQ09NTUVSQ0lBTEVTIHF1ZSBwb3VyIFLDiVBPTkRSRSDDgCBVTiBC RVNPSU4gUEFSVElDVUxJRVIuCisgeWFjYyAtLWhlbHAKVXNhZ2U6IC91c3IvbG9jYWwvYmlu L2Jpc29uIFtPUFRJT05dLi4uIEZJQ0hJRVIKR8OpbsOpcmF0aW9uIGQndW4gYW5hbHlzZXVy IExSIGTDqXRlcm1pbmlzdGUgb3IgZCd1biBMUiBnw6luw6lyYWxpc8OpIChHTFIpIGVtcGxv eWFudApMQUxSKDEpLCBJRUxSKDEpIG91IGRlcyB0YWJsZXMgZCdhbmFseXNldXIgTFIoMSkg Y2Fub25pcXVlLgoKTGVzIHBhcmFtw6h0cmVzIHJlcXVpcyBwb3VyIGxlcyBvcHRpb25zIGxv bmd1ZXMgc29udCDDqWdhbGVtZW50IHJlcXVpcyBwb3VyIGxlcyBvcHRpb25zIGNvdXJ0ZXMu CkxhIG3Dqm1lIGNob3NlIGVzdCB2cmFpZSBwb3VyIGxlcyBwYXJhbcOodHJlcyBvcHRpb25u ZWxzLgoKTW9kZXMgZCd1dGlsaXNhdGlvbjoKICAtaCwgLS1oZWxwICAgICAgICAgICAgICAg ICBhZmZpY2hlciBsJ2FpZGUtbcOpbW9pcmUgZXQgdGVybWluZXIKICAtViwgLS12ZXJzaW9u ICAgICAgICAgICAgICBhZmZpY2hlciBsZSBub20gZXQgbGEgdmVyc2lvbiBkdSBsb2dpY2ll bCBldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1pbmVyCiAgICAgIC0tcHJp bnQtbG9jYWxlZGlyICAgICAgYWZmaWNoZXIgbGUgcsOpcGVydG9pcmUgY29udGVuYW50IGxl cyBkb25uw6llcyBhdmVjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZMOpcGVuZGFu Y2UgZGVzIGxvY2FsZXMgZXQgdGVybWluZXIKICAgICAgLS1wcmludC1kYXRhZGlyICAgICAg ICBhZmZpY2hlciBsZSByw6lwZXJ0b2lyZSBjb250ZW5hbnQgbGVzIHNxdWVsZXR0ZXMgZXQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYU0xUIGV0IHRlcm1pbmVyCiAgLXUsIC0t dXBkYXRlICAgICAgICAgICAgICAgYXBwbGlxdWVyIGxlcyBjb3JyZWN0aWZzIGF1IGZpY2hp ZXIgZGUgZ3JhbW1haXJlIHNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0 IHRlcm1pbmVyCiAgLWYsIC0tZmVhdHVyZVs9Rk9OQ1RJT05TXSAgYWN0aXZlciBkZXMgZm9u Y3Rpb25uYWxpdMOpcyBkaXZlcnNlcwoKRk9OQ1RJT05TIGVzdCB1bmUgbGlzdGUgZGUgbW90 cyBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlcyBwb3V2YW50IGNvbnRlbmlywqA6CiAgY2Fy ZXQsIGRpYWdub3N0aWNzLXNob3ctY2FyZXQKICAgICAgICAgICAgICAgICAgICBtb250cmVy IGxlcyBlcnJldXJzIGF2ZWMgZGVzIGN1cnNldXJzCiAgZml4aXQsIGRpYWdub3N0aWNzLXBh cnNlYWJsZS1maXhpdHMKICAgICAgICAgICAgICAgICAgICBtb250cmVyIGxlcyBjb3JyZWN0 aWZzIHNvdXMgZm9ybWUgbWFjaGluZQogIHN5bnRheC1vbmx5ICAgICAgIG5lIGfDqW7DqXJl ciBhdWN1biBmaWNoaWVyCiAgYWxsICAgICAgICAgICAgICAgdG91cyBjaS1kZXNzdXMKICBu b25lICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGNpLWRlc3N1cwoKRGlhZ25vc3Rp cXVlc8KgOgogIC1XLCAtLXdhcm5pbmdzWz1DQVTDiUdPUklFXSByYXBwb3J0ZXIgbGVzIGF2 ZXJ0aXNzZW1lbnRzIGRhbnMgQ0FUw4lHT1JJRQogICAgICAtLWNvbG9yWz1RVUFORF0gICAg ICAgIHF1YW5kIGNvbG9yaXNlciBsZXMgZGlhZ25vc3RpcXVlcwogICAgICAtLXN0eWxlPUZJ Q0hJRVIgICAgICAgIHNww6ljaWZpZSBsZSBGSUNISUVSIENTUyBwb3VyIGxhIGNvbG9yaXNh dGlvbiBkZXMgZGlhZ25vc3RpcXVlcwoKTGVzIGNhdMOpZ29yaWVzIGQnYXZlcnRpc3NlbWVu dHMgaW5jbHVlbnTCoDoKICBjb25mbGljdHMtc3IgICAgICBjb25mbGl0cyBTL1IgKGFjdGl2 w6kgcGFyIGTDqWZhdXQpCiAgY29uZmxpY3RzLXJyICAgICAgY29uZmxpdHMgUi9SIChhY3Rp dsOpIHBhciBkw6lmYXV0KQogIGRhbmdsaW5nLWFsaWFzICAgIGwnYWxpYXMgY2hhw65uZSBu J2VzdCBwYXMgYXR0YWNow6kgw6AgdW4gc3ltYm9sZQogIGRlcHJlY2F0ZWQgICAgICAgIGNv bnN0cnVjdGlvbiBvYnNvbMOodGUKICBlbXB0eS1ydWxlICAgICAgICByw6hnbGUgdmlkZSBz YW5zICVlbXB0eQogIG1pZHJ1bGUtdmFsdWVzICAgIHZhbGV1cnMgZGUgcsOoZ2xlIGludGVy bcOpZGlhaXJlIG5vbiBkw6lmaW5pZXMgb3UgaW51dGlsaXPDqWVzCiAgcHJlY2VkZW5jZSAg ICAgICAgcHJpb3JpdMOpIGV0IGFzc29jaWF0aXZpdMOpIGludXRpbGVzCiAgeWFjYyAgICAg ICAgICAgICAgaW5jb21wYXRpYmlsaXTDqXMgYXZlYyBQT1NJWCBZYWNjCiAgb3RoZXIgICAg ICAgICAgICAgdG91cyBsZXMgYXV0cmVzIGF2ZXJ0aXNzZW1lbnRzIChhY3RpdsOpIHBhciBk w6lmYXV0KQogIGFsbCAgICAgICAgICAgICAgIHRvdXMgbGVzIGF2ZXJ0aXNzZW1lbnRzIHNh dWYgwqvCoGRhbmdsaW5nLWFsaWFzwqDCuyBldCDCq8KgeWFjY8KgwrsKICBuby1DQVRFR09S WSAgICAgICBkw6lzYWN0aXZlciBsZXMgYXZlcnRpc3NlbWVudHMgZGFucyBDQVRFR09SSUUK ICBub25lICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGxlcyBhdmVydGlzc2VtZW50 cwogIGVycm9yWz1DQVRFR09SWV0gIHRyYWl0ZXIgbGVzIGF2ZXJ0aXNzZW1lbnRzIGNvbW1l IGRlcyBlcnJldXJzCgpRVUFORCBwZXV0IHByZW5kcmUgbCd1bmUgZGVzIHZhbGV1cnMgc3Vp dmFudGVzwqA6CiAgYWx3YXlzLCB5ZXMgIGNvbG9yaXNlciBsYSBzb3J0aWUKICBuZXZlciwg bm8gICAgbmUgcGFzIGNvbG9yaXNlciBsYSBzb3J0aWUKICBhdXRvLCB0dHkgICAgY29sb3Jp c2VyIHNpIGxlIHDDqXJpcGjDqXJpcXVlIGRlIHNvcnRpZSBlc3QgdW4gdHR5CgpSw6lnbGFn ZXMgZGUgbCdhbmFseXNldXI6CiAgLUwsIC0tbGFuZ3VhZ2U9TEFOR0FHRSAgICAgICAgICAg aW5kaXF1ZXIgbGUgbGFuZ2FnZSBkZSBwcm9ncmFtbWF0aW9uIGRlIHNvcnRpZQogIC1TLCAt LXNrZWxldG9uPUZJQ0hJRVIgICAgICAgICAgIHV0aWxpc2VyIGxlIEZJQ0hJRVIgc3F1ZWxl dHRlCiAgLXQsIC0tZGVidWcgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlciBsZSBtb2Rl IGRlIHN1aXZpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpcXVl IMOgIMKrwqAtRHBhcnNlLnRyYWNlwqDCuwogICAgICAtLWxvY2F0aW9ucyAgICAgICAgICAg ICAgICAgIHBlcm1ldHRyZSBsZSBjYWxjdWwgZGVzIGxvY2FsaXNhdGlvbnMKICAtRCwgLS1k ZWZpbmU9Tk9NWz1WQUxFVVJdICAgICAgICBzaW1pbGFpcmUgw6AgwqvCoCVkZWZpbmUgTk9N ICJWQUxFVVIiwqDCuwogIC1GLCAtLWZvcmNlLWRlZmluZT1OT01bPVZBTEVVUl0gIG91dHJl cGFzc2UgwqvCoCVkZWZpbmUgTk9NICJWQUxFVVIiwqDCuwogIC1wLCAtLW5hbWUtcHJlZml4 PVBSw4lGSVhFICAgICAgICBhY2NvbGVyIGxlIFBSw4lGSVhFIGF1eCBzeW1ib2xlcyBleHRl cm5lcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmR1IG9ic29sw6h0 ZSBwYXIgwqvCoC1EYXBpLnByZWZpeD1QUsOJRklYRcKgwrsKICAtbCwgLS1uby1saW5lcyAg ICAgICAgICAgICAgICAgICBuZSBwYXMgZ8OpbsOpcmVyIGxlcyBkaXJlY3RpdmVzIMKrwqAj bGluZcKgwrsKICAtaywgLS10b2tlbi10YWJsZSAgICAgICAgICAgICAgICBpbmNsdXJlIGxh IHRhYmxlIGRlcyBub21zIGRlIGpldG9ucwogIC15LCAtLXlhY2MgICAgICAgICAgICAgICAg ICAgICAgIMOpbXVsZXIgWWFjYyBlbiBtb2RlIFBPU0lYCgpGaWNoaWVycyBkZSBzb3J0aWXC oDoKICAgICAgLS1kZWZpbmVzWz1GSUNISUVSXSAgICBwcm9kdWlyZSB1biBmaWNoaWVyIGQn ZW4tdMOqdGUKICAtZCAgICAgICAgICAgICAgICAgICAgICAgICBpZGVtIG1haXMgc2FucyBz cMOpY2lmaWVyIGxlIEZJQ0hJRVIgKHBvdXIgbGUgWWFjYyBQT1NJWCkKICAtciwgLS1yZXBv cnQ9Q0hPU0VTICAgICAgICBnw6luw6lyZXIgbGVzIGTDqXRhaWxzIGNvbmNlcm5hbnQgbCdh dXRvbWF0ZQogICAgICAtLXJlcG9ydC1maWxlPUZJQ0hJRVIgIMOpY3JpcmUgbGUgcmFwcG9y dCBkYW5zIGxlIEZJQ0hJRVIKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBpZGVudGlx dWUgw6AgwqvCoC0tcmVwb3J0PXN0YXRlwqDCuwogIC1iLCAtLWZpbGUtcHJlZml4PVBSw4lG SVhFICB1dGlsaXNlciBsZSBQUsOJRklYRSBwb3VyIGxlIGZpY2hpZXIgZGUgc29ydGllCiAg LW8sIC0tb3V0cHV0PUZJQ0hJRVIgICAgICAgcHJvZHVpcmUgbGEgc29ydGllIGRhbnMgbGUg RklDSElFUgogIC1nLCAtLWdyYXBoWz1GSUNISUVSXSAgICAgIHByb2R1aXJlIGF1c3NpIHVu IGdyYXBoZSBkZSBsJ2F1dG9tYXRlCiAgLXgsIC0teG1sWz1GSUNISUVSXSAgICAgICAgcHJv ZHVpcmUgdW4gcmFwcG9ydCBYTUwgZGUgbCdhdXRvbWF0ZQoKQ0hPU0VTIGVzdCB1bmUgbGlz dGUgZGUgbW90cyBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlcyBwb3V2YW50IGNvbnRlbmly wqA6CiAgc3RhdGVzICAgICAgZMOpY3JpcmUgbGVzIMOpdGF0cwogIGl0ZW1zZXRzICAgIGNv bXBsw6l0ZXIgbGVzIGVuc2VtYmxlcyBkJ8OpbMOpbWVudHMgZHUgY8WTdXIgYXZlYyBsZXVy cyBmZXJtZXR1cmVzCiAgbG9va2FoZWFkcyAgZXhwbGljaXRlbWVudCBhc3NvY2llciBsZXMg amV0b25zIGxvb2thaGVhZCBhdXggw6lsw6ltZW50cwogIHNvbHZlZCAgICAgIGTDqWNyaXJl IGxhIHNvbHV0aW9uIGF1eCBjb25mbGl0cyBwYXIgZMOpY2FsYWdlL3LDqWR1Y3Rpb24KICBh bGwgICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgaW5mb3JtYXRpb25zIGNpLWRlc3N1cwog IG5vbmUgICAgICAgIGTDqXNhY3RpdmVyIGxlIHJhcHBvcnQKClJhcHBvcnRleiB0b3V0ZXMg YW5vbWFsaWVzIMOgIDxidWctYmlzb25AZ251Lm9yZz4uCnBhZ2UgZCdhY2N1ZWlsIGRlIEdO VSBCaXNvbjogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYmlzb24vPi4KQWlkZSBn w6luw6lyaXF1ZSBzdXIgbCd1dGlsaXNhdGlvbiBkZXMgbG9naWNpZWxzIEdOVTogPGh0dHA6 Ly93d3cuZ251Lm9yZy9oZWxwL2dldGhlbHAuZnIuaHRtbD4uClNpZ25hbGV6IGxlcyBlcnJl dXJzIGRlIHRyYWR1Y3Rpb25zIMOgIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90 ZWFtL2ZyLmh0bWw+LgpQb3VyIGxhIGRvY3VtZW50YXRpb24gY29tcGzDqHRlLCBleMOpY3V0 ZXo6IGluZm8gYmlzb24uCisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvY29uZmlnLmxvZwpUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1 Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQpydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVn Z2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgoKSXQgd2FzIGNyZWF0ZWQgYnkg R05VIEF1dG9tYWtlIGNvbmZpZ3VyZSAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkg R05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3 YXMKCiAgJCAuL2NvbmZpZ3VyZSBDQz1nY2M5ICdDRkxBR1M9LW1hcmNoPXpudmVyMSAtbXR1 bmU9em52ZXIxIC1PMycgQ1hYPWcrKzkgJ0NYWEZMQUdTPS1tYXJjaD16bnZlcjEgLW10dW5l PXpudmVyMSAtTzMnCgojIyAtLS0tLS0tLS0gIyMKIyMgUGxhdGZvcm0uICMjCiMjIC0tLS0t LS0tLSAjIwoKaG9zdG5hbWUgPSB6ZW5kZXYxCnVuYW1lIC1tID0geDg2XzY0CnVuYW1lIC1y ID0gNS42LjAtcmM2cnl6ZW4KdW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICMyIFNNUCBN b24gTWFyIDE2IDAxOjQzOjIyIENFVCAyMDIwCgovdXNyL2Jpbi91bmFtZSAtcCA9IHVua25v d24KL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAgICAg ID0gdW5rbm93bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZl eC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93 bgovYmluL21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAg ICAgID0gdW5rbm93bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDog L2hvbWUvaHYvYmluLwpQQVRIOiAvdXNyL2xvY2FsL2Jpbi8KUEFUSDogL3Vzci9iaW4vClBB VEg6IC9iaW4vClBBVEg6IC9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVy Mi4yL2Jpbi8KUEFUSDogL2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1x My11cGRhdGUvYmluLwpQQVRIOiAvb3B0L1NFR0dFUi9KTGluay8KCgojIyAtLS0tLS0tLS0t LSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjIw NDg6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzCmNv bmZpZ3VyZToyMDY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjA4MjogY2hlY2tpbmcgYnVp bGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjIwOTc6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4 LWdudQpjb25maWd1cmU6MjExNzogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1 cmU6MjEzMTogcmVzdWx0OiB4ODZfNjQtcGMtbGludXgtZ251CmNvbmZpZ3VyZToyMTg0OiBj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZToyMjU3OiBy ZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMKY29uZmlndXJlOjIyNjg6IGNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQpjb25maWd1cmU6MjMyMzogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjI0ODQ6IGNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAt cApjb25maWd1cmU6MjUyODogcmVzdWx0OiAvYmluL21rZGlyIC1wCmNvbmZpZ3VyZToyNTM1 OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6MjU1NjogZm91bmQgL3Vzci9sb2NhbC9i aW4vZ2F3awpjb25maWd1cmU6MjU2NzogcmVzdWx0OiBnYXdrCmNvbmZpZ3VyZToyNTc4OiBj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZToyNjAxOiByZXN1 bHQ6IHllcwpjb25maWd1cmU6Mjc1NDogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpj b25maWd1cmU6Mjc1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3Njg6IGNoZWNraW5nIGZv ciBwZXJsCmNvbmZpZ3VyZToyNzkxOiBmb3VuZCAvdXNyL2Jpbi9wZXJsCmNvbmZpZ3VyZToy ODAzOiByZXN1bHQ6IC91c3IvYmluL3BlcmwKY29uZmlndXJlOjI4MTU6IC91c3IvYmluL3Bl cmwgLS12ZXJzaW9uCgpUaGlzIGlzIHBlcmwgNSwgdmVyc2lvbiAyNCwgc3VidmVyc2lvbiAx ICh2NS4yNC4xKSBidWlsdCBmb3IgeDg2XzY0LWxpbnV4LWdudS10aHJlYWQtbXVsdGkKKHdp dGggODYgcmVnaXN0ZXJlZCBwYXRjaGVzLCBzZWUgcGVybCAtViBmb3IgbW9yZSBkZXRhaWwp CgpDb3B5cmlnaHQgMTk4Ny0yMDE3LCBMYXJyeSBXYWxsCgpQZXJsIG1heSBiZSBjb3BpZWQg b25seSB1bmRlciB0aGUgdGVybXMgb2YgZWl0aGVyIHRoZSBBcnRpc3RpYyBMaWNlbnNlIG9y IHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgd2hpY2ggbWF5IGJlIGZvdW5kIGlu IHRoZSBQZXJsIDUgc291cmNlIGtpdC4KCkNvbXBsZXRlIGRvY3VtZW50YXRpb24gZm9yIFBl cmwsIGluY2x1ZGluZyBGQVEgbGlzdHMsIHNob3VsZCBiZSBmb3VuZCBvbgp0aGlzIHN5c3Rl bSB1c2luZyAibWFuIHBlcmwiIG9yICJwZXJsZG9jIHBlcmwiLiAgSWYgeW91IGhhdmUgYWNj ZXNzIHRvIHRoZQpJbnRlcm5ldCwgcG9pbnQgeW91ciBicm93c2VyIGF0IGh0dHA6Ly93d3cu cGVybC5vcmcvLCB0aGUgUGVybCBIb21lIFBhZ2UuCgpjb25maWd1cmU6MjgxODogJD8gPSAw CmNvbmZpZ3VyZToyODMwOiBjaGVja2luZyBmb3IgdGV4CmNvbmZpZ3VyZToyODUxOiBmb3Vu ZCAvdXNyL2Jpbi90ZXgKY29uZmlndXJlOjI4NjI6IHJlc3VsdDogdGV4CmNvbmZpZ3VyZToy ODczOiB0ZXggLS12ZXJzaW9uIDwvZGV2L251bGwKVGVYIDMuMTQxNTkyNjUgKFRlWCBMaXZl IDIwMTYvRGViaWFuKQprcGF0aHNlYSB2ZXJzaW9uIDYuMi4yCkNvcHlyaWdodCAyMDE2IEQu RS4gS251dGguClRoZXJlIGlzIE5PIHdhcnJhbnR5LiAgUmVkaXN0cmlidXRpb24gb2YgdGhp cyBzb2Z0d2FyZSBpcwpjb3ZlcmVkIGJ5IHRoZSB0ZXJtcyBvZiBib3RoIHRoZSBUZVggY29w eXJpZ2h0IGFuZAp0aGUgTGVzc2VyIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgpGb3Ig bW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVzZSBtYXR0ZXJzLCBzZWUgdGhlIGZpbGUKbmFt ZWQgQ09QWUlORyBhbmQgdGhlIFRlWCBzb3VyY2UuClByaW1hcnkgYXV0aG9yIG9mIFRlWDog RC5FLiBLbnV0aC4KY29uZmlndXJlOjI4NzY6ICQ/ID0gMApjb25maWd1cmU6Mjg5NDogY2hl Y2tpbmcgZm9yIHlhY2MKY29uZmlndXJlOjI5MTU6IGZvdW5kIC91c3IvbG9jYWwvYmluL3lh Y2MKY29uZmlndXJlOjI5MjY6IHJlc3VsdDogeWFjYwpjb25maWd1cmU6Mjk0MjogY2hlY2tp bmcgZm9yIGxleApjb25maWd1cmU6Mjk2MzogZm91bmQgL3Vzci9iaW4vbGV4CmNvbmZpZ3Vy ZToyOTc0OiByZXN1bHQ6IGxleApjb25maWd1cmU6Mjk5NTogY2hlY2tpbmcgd2hldGhlciBh dXRvY29uZiBpcyBpbnN0YWxsZWQKY29uZmlndXJlOjMwMDE6IGF1dG9jb25mIC0tdmVyc2lv bgphdXRvY29uZiAoR05VIEF1dG9jb25mKSAyLjY5CkNvcHlyaWdodCAoQykgMjAxMiBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2MysvQXV0b2NvbmY6IEdO VSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyCjxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwu aHRtbD4sIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9leGNlcHRpb25zLmh0bWw+ClRoaXMg aXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmli dXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQg YnkgbGF3LgoKV3JpdHRlbiBieSBEYXZpZCBKLiBNYWNLZW56aWUgYW5kIEFraW0gRGVtYWls bGUuCmNvbmZpZ3VyZTozMDA0OiAkPyA9IDAKY29uZmlndXJlOjMwMTI6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTozMDE5OiBjaGVja2luZyB3aGV0aGVyIGF1dG9jb25mIHdvcmtzCmNvbmZp Z3VyZTozMDI3OiBjZCBjb25mdGVzdCAmJiBhdXRvY29uZiAtbyAvZGV2L251bGwgY29uZnRl c3QuYWMKY29uZmlndXJlOjMwMzA6ICQ/ID0gMApjb25maWd1cmU6MzAzOTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjMwNDY6IGNoZWNraW5nIHdoZXRoZXIgYXV0b2NvbmYgaXMgcmVjZW50 IGVub3VnaApjb25maWd1cmU6MzA1NDogY2QgY29uZnRlc3QgJiYgYXV0b2NvbmYgLW8gL2Rl di9udWxsIGNvbmZ0ZXN0LmFjCmNvbmZpZ3VyZTozMDU3OiAkPyA9IDAKY29uZmlndXJlOjMw NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDczOiBjaGVja2luZyB3aGV0aGVyIGxuIHdv cmtzCmNvbmZpZ3VyZTozMDk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzExMjogY2hlY2tp bmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZToz MTc2OiByZXN1bHQ6IC9iaW4vZ3JlcApjb25maWd1cmU6MzE4MTogY2hlY2tpbmcgZm9yIGVn cmVwCmNvbmZpZ3VyZTozMjQ5OiByZXN1bHQ6IC9iaW4vZ3JlcCAtRQpjb25maWd1cmU6MzI1 NDogY2hlY2tpbmcgZm9yIGZncmVwCmNvbmZpZ3VyZTozMzIyOiByZXN1bHQ6IC9iaW4vZ3Jl cCAtRgpjb25maWd1cmU6MzM2NTogd2lsbCBub3cgbG9vayBmb3IgYSBzdHVyZHkgUE9TSVgg c2hlbGwsIGZvciBvdXIgdGVzdHN1aXRlCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3Ig c2gKY29uZmlndXJlOjM0MjY6IGZvdW5kIC9iaW4vc2gKY29uZmlndXJlOjM0Mzg6IHJlc3Vs dDogL2Jpbi9zaApjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIHNoNQpjb25maWd1cmU6 MzQ0MTogcmVzdWx0OiBubwpjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIGRhc2gKY29u ZmlndXJlOjM0MjY6IGZvdW5kIC9iaW4vZGFzaApjb25maWd1cmU6MzQzODogcmVzdWx0OiAv YmluL2Rhc2gKY29uZmlndXJlOjM0MDM6IGNoZWNraW5nIGZvciBhc2gKY29uZmlndXJlOjM0 MjY6IGZvdW5kIC9iaW4vYXNoCmNvbmZpZ3VyZTozNDM4OiByZXN1bHQ6IC9iaW4vYXNoCmNv bmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgYmFzaApjb25maWd1cmU6MzQyNjogZm91bmQg L3Vzci9sb2NhbC9iaW4vYmFzaApjb25maWd1cmU6MzQzODogcmVzdWx0OiAvdXNyL2xvY2Fs L2Jpbi9iYXNoCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgenNoCmNvbmZpZ3VyZToz NDI2OiBmb3VuZCAvdXNyL2Jpbi96c2gKY29uZmlndXJlOjM0Mzg6IHJlc3VsdDogL3Vzci9i aW4venNoCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3Iga3NoCmNvbmZpZ3VyZTozNDQx OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgcGRrc2gKY29uZmln dXJlOjM0NDE6IHJlc3VsdDogbm8KY29uZmlndXJlOjM0NjI6IGNoZWNraW5nIHdoZXRoZXIg L2Jpbi9zaCBzdXBwb3J0cyAkKGNtZCkKY29uZmlndXJlOjM0NzI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozNDgyOiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3VwcG9ydHMgJCgoZXhw cikpCmNvbmZpZ3VyZTozNDkyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzUwMjogY2hlY2tp bmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRzICR7I3Zhcn0KY29uZmlndXJlOjM1MTU6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTozNTI1OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3Vw cG9ydHMgJHt2YXIjZ2xvYn0gYW5kICR7dmFyJWdsb2J9CmNvbmZpZ3VyZTozNTM5OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MzU0OTogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIHByZXNl cnZlcyBleGl0IHRyYXBzIHdpdGggInNldCAtZSIKY29uZmlndXJlOjM1NTk6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZTozNTY5OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggY2FuIGRlZmlu ZSBleGl0IHRyYXBzIGluIGEgc2hlbGwgZnVuY3Rpb24KY29uZmlndXJlOjM1Nzk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTozNTg5OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggY29ycnVw dHMgc3RkZXJyIHdpdGggInNldCAteCIKY29uZmlndXJlOjM2MDM6IHJlc3VsdDogbm8KY29u ZmlndXJlOjM2MTE6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBjYW4gcmV0dXJuIGVhcmx5 IGZyb20gImRvdC1zb3VyY2VkIiBmaWxlcwpjb25maWd1cmU6MzYyMTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjM2MzM6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBzdXBwb3J0cyBhbGlh cyBuYW1lZCBsaWtlIHNoZWxsIGJ1aWx0aW5zCgpjb25maWd1cmU6MzY0MzogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjM2NTM6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBzdXBwb3J0cyAi dGVzdCAtZSIKY29uZmlndXJlOjM2NjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNjgxOiBz aGVsbCAvYmluL3NoIGlzIGdvb2QgZW5vdWdoLCBzdG9wIGxvb2tpbmcKY29uZmlndXJlOjM2 OTg6IHdpbGwgdXNlIC9iaW4vc2ggYXMgdGhlIHRlc3RzdWl0ZSBzaGVsbApjb25maWd1cmU6 MzcyMjogd2lsbCBub3cgbG9vayBmb3IgZ2VuZXJpYyBjb21waWxlcnMKY29uZmlndXJlOjM4 NTA6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjM4NTk6IGdj YzkgLS12ZXJzaW9uID4mNQpnY2M5IChHQ0MpIDkuMy4wCkNvcHlyaWdodCAoQykgMjAxOSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBz ZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2Fy cmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6Mzg3MDogJD8gPSAwCmNvbmZpZ3VyZToz ODU5OiBnY2M5IC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVjcy4KQ09MTEVDVF9HQ0M9Z2Nj OQpDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbG9jYWwvZ2NjOS9saWJleGVjL2djYy94ODZf NjQtcGMtbGludXgtZ251LzkuMy4wL2x0by13cmFwcGVyClRhcmdldDogeDg2XzY0LXBjLWxp bnV4LWdudQpDb25maWd1cmVkIHdpdGg6IC4uLy4uL2djYy05LjMuMC9jb25maWd1cmUgQ0ZM QUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyBDWFhGTEFHUz0nLW1hcmNo PXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycgLS1wcmVmaXg9L3Vzci9sb2NhbC9nY2M5IC0t ZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxsdG8gLS13aXRoLWNwdT16bnZlcjEgLS13aXRoLXR1 bmU9em52ZXIxIC0td2l0aC1mcG1hdGg9YXZ4IC0tZW5hYmxlLW5scyAtLXdpdGgtZGlhZ25v c3RpY3MtY29sb3I9YWx3YXlzIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCAtLXdpdGgtbGlu a2VyLWhhc2gtc3R5bGU9Ym90aCAtLWVuYWJsZS1vZmZsb2FkLXRhcmdldHM9aHNhIC0tZGlz YWJsZS1tdWx0aWxpYiAtLXdpdGgtYnVpbGQtY29uZmlnPWJvb3RzdHJhcC1sdG8KVGhyZWFk IG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA5LjMuMCAoR0NDKSAKY29uZmlndXJlOjM4NzA6 ICQ/ID0gMApjb25maWd1cmU6Mzg1OTogZ2NjOSAtViA+JjUKG1swMW0bW0tnY2M5OhtbbRtb SyAbWzAxOzMxbRtbS2Vycm9yOiAbW20bW0t1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9w dGlvbiAnG1swMW0bW0stVhtbbRtbSycKG1swMW0bW0tnY2M5OhtbbRtbSyAbWzAxOzMxbRtb S2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5h dGVkLgpjb25maWd1cmU6Mzg3MDogJD8gPSAxCmNvbmZpZ3VyZTozODU5OiBnY2M5IC1xdmVy c2lvbiA+JjUKG1swMW0bW0tnY2M5OhtbbRtbSyAbWzAxOzMxbRtbS2Vycm9yOiAbW20bW0t1 bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnG1swMW0bW0stcXZlcnNpb24bW20b W0snOyBkaWQgeW91IG1lYW4gJxtbMDFtG1tLLS12ZXJzaW9uG1ttG1tLJz8KG1swMW0bW0tn Y2M5OhtbbRtbSyAbWzAxOzMxbRtbS2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1dCBmaWxl cwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6Mzg3MDogJD8gPSAxCmNvbmZp Z3VyZTozODU5OiBnY2M5IC12ZXJzaW9uID4mNQobWzAxbRtbS2djYzk6G1ttG1tLIBtbMDE7 MzFtG1tLZXJyb3I6IBtbbRtbS3VucmVjb2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uICcb WzAxbRtbSy12ZXJzaW9uG1ttG1tLJwobWzAxbRtbS2djYzk6G1ttG1tLIBtbMDE7MzFtG1tL ZmF0YWwgZXJyb3I6IBtbbRtbS25vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZTozODcwOiAkPyA9IDEKY29uZmlndXJlOjM4OTA6IGNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjM5MTI6IGdjYzkgLW1hcmNo PXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6 MzkxNjogJD8gPSAwCmNvbmZpZ3VyZTozOTY4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzk3 MTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNv bmZpZ3VyZTozOTczOiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTozOTc5OiBjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozOTg2OiBnY2M5IC1vIGNvbmZ0 ZXN0IC1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgICBjb25mdGVzdC5jICA+JjUK Y29uZmlndXJlOjM5OTA6ICQ/ID0gMApjb25maWd1cmU6NDAxNTogcmVzdWx0OiAKY29uZmln dXJlOjQwMzc6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25m aWd1cmU6NDA0NzogZ2NjOSAtbyBjb25mdGVzdCAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZl cjEgLU8zICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo0MDUxOiAkPyA9IDAKY29uZmln dXJlOjQwNTg6IC4vY29uZnRlc3QKY29uZmlndXJlOjQwNjI6ICQ/ID0gMApjb25maWd1cmU6 NDA4MDogcmVzdWx0OiBubwpjb25maWd1cmU6NDA4NTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMKY29uZmlndXJlOjQxMDg6IGdjYzkgLWMgLW1hcmNoPXpudmVyMSAt bXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQxMTI6ICQ/ID0g MApjb25maWd1cmU6NDEzNjogcmVzdWx0OiBvCmNvbmZpZ3VyZTo0MTQwOiBjaGVja2luZyB3 aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQwpjb25maWd1cmU6NDE2MDogZ2Nj OSAtYyAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zICBjb25mdGVzdC5jID4mNQpj b25maWd1cmU6NDE2MDogJD8gPSAwCmNvbmZpZ3VyZTo0MTcwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6NDE3OTogY2hlY2tpbmcgd2hldGhlciBnY2M5IGFjY2VwdHMgLWcKY29uZmlndXJl OjQyMDA6IGdjYzkgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjAwOiAkPyA9 IDAKY29uZmlndXJlOjQyNDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjYxOiBjaGVja2lu ZyBmb3IgZ2NjOSBvcHRpb24gdG8gZW5hYmxlIEMxMSBmZWF0dXJlcwpjb25maWd1cmU6NDQ2 NTogZ2NjOSAgLWMgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjQ0NjU6ICQ/ID0gMApjb25maWd1cmU6NDQ4MDogcmVzdWx0OiBu b25lIG5lZWRlZApjb25maWd1cmU6NDc5OTogY2hlY2tpbmcgd2hldGhlciBnY2M5IHVuZGVy c3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlcgpjb25maWd1cmU6NDgyMjogZ2NjOSAtYyBjb25m dGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vCmNvbmZpZ3VyZTo0ODI1OiAkPyA9IDAKY29uZmlndXJl OjQ4MjI6IGdjYzkgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubwpjb25maWd1cmU6NDgy NTogJD8gPSAwCmNvbmZpZ3VyZTo0ODM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTAyNTog Y2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo1MDM0OiBnKys5 IC0tdmVyc2lvbiA+JjUKZysrOSAoR0NDKSA5LjMuMApDb3B5cmlnaHQgKEMpIDIwMTkgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2Vl IHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJh bnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLgoKY29uZmlndXJlOjUwNDU6ICQ/ID0gMApjb25maWd1cmU6NTAz NDogZysrOSAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWcrKzkK Q09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xvY2FsL2djYzkvbGliZXhlYy9nY2MveDg2XzY0 LXBjLWxpbnV4LWdudS85LjMuMC9sdG8td3JhcHBlcgpUYXJnZXQ6IHg4Nl82NC1wYy1saW51 eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAuLi8uLi9nY2MtOS4zLjAvY29uZmlndXJlIENGTEFH Uz0nLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycgQ1hYRkxBR1M9Jy1tYXJjaD16 bnZlcjEgLW10dW5lPXpudmVyMSAtTzMnIC0tcHJlZml4PS91c3IvbG9jYWwvZ2NjOSAtLWVu YWJsZS1sYW5ndWFnZXM9YyxjKyssbHRvIC0td2l0aC1jcHU9em52ZXIxIC0td2l0aC10dW5l PXpudmVyMSAtLXdpdGgtZnBtYXRoPWF2eCAtLWVuYWJsZS1ubHMgLS13aXRoLWRpYWdub3N0 aWNzLWNvbG9yPWFsd2F5cyAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgLS13aXRoLWxpbmtl ci1oYXNoLXN0eWxlPWJvdGggLS1lbmFibGUtb2ZmbG9hZC10YXJnZXRzPWhzYSAtLWRpc2Fi bGUtbXVsdGlsaWIgLS13aXRoLWJ1aWxkLWNvbmZpZz1ib290c3RyYXAtbHRvClRocmVhZCBt b2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gOS4zLjAgKEdDQykgCmNvbmZpZ3VyZTo1MDQ1OiAk PyA9IDAKY29uZmlndXJlOjUwMzQ6IGcrKzkgLVYgPiY1ChtbMDFtG1tLZysrOTobW20bW0sg G1swMTszMW0bW0tlcnJvcjogG1ttG1tLdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRp b24gJxtbMDFtG1tLLVYbW20bW0snChtbMDFtG1tLZysrOTobW20bW0sgG1swMTszMW0bW0tm YXRhbCBlcnJvcjogG1ttG1tLbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRl ZC4KY29uZmlndXJlOjUwNDU6ICQ/ID0gMQpjb25maWd1cmU6NTAzNDogZysrOSAtcXZlcnNp b24gPiY1ChtbMDFtG1tLZysrOTobW20bW0sgG1swMTszMW0bW0tlcnJvcjogG1ttG1tLdW5y ZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJxtbMDFtG1tLLXF2ZXJzaW9uG1ttG1tL JzsgZGlkIHlvdSBtZWFuICcbWzAxbRtbSy0tdmVyc2lvbhtbbRtbSyc/ChtbMDFtG1tLZysr OTobW20bW0sgG1swMTszMW0bW0tmYXRhbCBlcnJvcjogG1ttG1tLbm8gaW5wdXQgZmlsZXMK Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjUwNDU6ICQ/ID0gMQpjb25maWd1 cmU6NTA2NTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHdvcmtzCmNvbmZp Z3VyZTo1MDg3OiBnKys5IC1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgICBjb25m dGVzdC5jcHAgID4mNQpjb25maWd1cmU6NTA5MTogJD8gPSAwCmNvbmZpZ3VyZTo1MTQzOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NTE0NjogY2hlY2tpbmcgZm9yIEMrKyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUKY29uZmlndXJlOjUxNDg6IHJlc3VsdDogYS5vdXQK Y29uZmlndXJlOjUxNTQ6IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29u ZmlndXJlOjUxNjE6IGcrKzkgLW8gY29uZnRlc3QgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52 ZXIxIC1PMyAgIGNvbmZ0ZXN0LmNwcCAgPiY1CmNvbmZpZ3VyZTo1MTY1OiAkPyA9IDAKY29u ZmlndXJlOjUxOTA6IHJlc3VsdDogCmNvbmZpZ3VyZTo1MjEyOiBjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjUyMjI6IGcrKzkgLW8gY29uZnRl c3QgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgIGNvbmZ0ZXN0LmNwcCAgPiY1 CmNvbmZpZ3VyZTo1MjI2OiAkPyA9IDAKY29uZmlndXJlOjUyMzM6IC4vY29uZnRlc3QKY29u ZmlndXJlOjUyMzc6ICQ/ID0gMApjb25maWd1cmU6NTI1NTogcmVzdWx0OiBubwpjb25maWd1 cmU6NTI2MDogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJl OjUyODM6IGcrKzkgLWMgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRl c3QuY3BwID4mNQpjb25maWd1cmU6NTI4NzogJD8gPSAwCmNvbmZpZ3VyZTo1MzExOiByZXN1 bHQ6IG8KY29uZmlndXJlOjUzMTU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1 cHBvcnRzIEdOVSBDKysKY29uZmlndXJlOjUzMzU6IGcrKzkgLWMgLW1hcmNoPXpudmVyMSAt bXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6NTMzNTogJD8g PSAwCmNvbmZpZ3VyZTo1MzQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM1NDogY2hlY2tp bmcgd2hldGhlciBnKys5IGFjY2VwdHMgLWcKY29uZmlndXJlOjUzNzU6IGcrKzkgLWMgLWcg IGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjUzNzU6ICQ/ID0gMApjb25maWd1cmU6NTQx OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU0MzY6IGNoZWNraW5nIGZvciBnKys5IG9wdGlv biB0byBlbmFibGUgQysrMTEgZmVhdHVyZXMKY29uZmlndXJlOjU2NzM6IGcrKzkgIC1jIC1t YXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmln dXJlOjU2NzM6ICQ/ID0gMApjb25maWd1cmU6NTY4ODogcmVzdWx0OiBub25lIG5lZWRlZApj b25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIHhsZjk1CmNvbmZpZ3VyZTo1OTkzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZjk1CmNvbmZpZ3VyZTo1OTkz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZm9ydApjb25maWd1 cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGlmb3J0 CmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBm b3IgaWZjCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVj a2luZyBmb3IgZWZjCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4 OiBjaGVja2luZyBmb3IgcGdmb3J0cmFuCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgcGdmOTUKY29uZmlndXJlOjU5OTM6IHJlc3Vs dDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBsZjk1CmNvbmZpZ3VyZTo1OTkz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZnRuCmNvbmZpZ3Vy ZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgbmFnZm9y CmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBm b3IgeGxmOTAKY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNo ZWNraW5nIGZvciBmOTAKY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5 NTg6IGNoZWNraW5nIGZvciBhcm1mbGFuZwpjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpj b25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGZsYW5nCmNvbmZpZ3VyZTo1OTkzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgcGdmOTAKY29uZmlndXJlOjU5 OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBwZ2hwZgpjb25m aWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGVw Y2Y5MApjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tp bmcgZm9yIGc5NQpjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODog Y2hlY2tpbmcgZm9yIGdmb3J0cmFuCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo2MDE2OiBjaGVja2luZyBmb3IgRm9ydHJhbiBjb21waWxlciB2ZXJzaW9uCmNvbmZp Z3VyZTo2MDI1OiAgLS12ZXJzaW9uID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLS12ZXJz aW9uOiBub3QgZm91bmQKY29uZmlndXJlOjYwMzY6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2MDI1 OiAgLXYgPiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtdjogbm90IGZvdW5kCmNvbmZpZ3Vy ZTo2MDM2OiAkPyA9IDEyNwpjb25maWd1cmU6NjAyNTogIC1WID4mNQouL2NvbmZpZ3VyZTog MTogZXZhbDogLVY6IG5vdCBmb3VuZApjb25maWd1cmU6NjAzNjogJD8gPSAxMjcKY29uZmln dXJlOjYwMjU6ICAtcXZlcnNpb24gPiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtcXZlcnNp b246IG5vdCBmb3VuZApjb25maWd1cmU6NjAzNjogJD8gPSAxMjcKY29uZmlndXJlOjYwNTE6 IGNoZWNraW5nIHdoZXRoZXIgdGhlIEZvcnRyYW4gY29tcGlsZXIgd29ya3MKY29uZmlndXJl OjYwNzM6ICAgICBjb25mdGVzdC5mICA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IGNvbmZ0 ZXN0LmY6IG5vdCBmb3VuZApjb25maWd1cmU6NjA3NzogJD8gPSAxMjcKY29uZmlndXJlOjYx MTc6IHJlc3VsdDogbm8KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAg cHJvZ3JhbSBtYWluCnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZTo2MTIzOiBXQVJOSU5HOiBG b3J0cmFuIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKY29uZmlndXJlOjYz Nzc6IHRlc3RzIHJlcXVpcmluZyB0aGUgRm9ydHJhbiBjb21waWxlciB3aWxsIGJlIHNraXBw ZWQKY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciB4bGYKY29uZmlndXJlOjY0OTg6IHJl c3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBmNzcKY29uZmlndXJlOjY0 OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBmcnQKY29uZmln dXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBwZ2Y3 Nwpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcg Zm9yIGNmNzcKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNo ZWNraW5nIGZvciBmb3J0NzcKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJl OjY0NjM6IGNoZWNraW5nIGZvciBmbDMyCmNvbmZpZ3VyZTo2NDk4OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo2NDYzOiBjaGVja2luZyBmb3IgYWY3Nwpjb25maWd1cmU6NjQ5ODogcmVzdWx0 OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIGc3Nwpjb25maWd1cmU6NjQ5ODog cmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIGFybWZsYW5nCmNvbmZp Z3VyZTo2NDk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NDYzOiBjaGVja2luZyBmb3IgZmxh bmcKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5n IGZvciBnZm9ydHJhbgpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjUy MTogY2hlY2tpbmcgZm9yIEZvcnRyYW4gNzcgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6 NjUzMDogIC0tdmVyc2lvbiA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IC0tdmVyc2lvbjog bm90IGZvdW5kCmNvbmZpZ3VyZTo2NTQxOiAkPyA9IDEyNwpjb25maWd1cmU6NjUzMDogIC12 ID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLXY6IG5vdCBmb3VuZApjb25maWd1cmU6NjU0 MTogJD8gPSAxMjcKY29uZmlndXJlOjY1MzA6ICAtViA+JjUKLi9jb25maWd1cmU6IDE6IGV2 YWw6IC1WOiBub3QgZm91bmQKY29uZmlndXJlOjY1NDE6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2 NTMwOiAgLXF2ZXJzaW9uID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLXF2ZXJzaW9uOiBu b3QgZm91bmQKY29uZmlndXJlOjY1NDE6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2NTU2OiBjaGVj a2luZyB3aGV0aGVyIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3VyZTo2 NTc4OiAgICBjb25mdGVzdC5mICA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IGNvbmZ0ZXN0 LmY6IG5vdCBmb3VuZApjb25maWd1cmU6NjU4MjogJD8gPSAxMjcKY29uZmlndXJlOjY2MjI6 IHJlc3VsdDogbm8KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAgcHJv Z3JhbSBtYWluCnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZTo2NjI4OiBXQVJOSU5HOiBGb3J0 cmFuIDc3IGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKY29uZmlndXJlOjY4 ODI6IHRlc3RzIHJlcXVpcmluZyB0aGUgRm9ydHJhbiA3NyBjb21waWxlciB3aWxsIGJlIHNr aXBwZWQKY29uZmlndXJlOjY5MTU6IHdpbGwgbm93IGxvb2sgZm9yIEdOVSBjb21waWxlcnMK Y29uZmlndXJlOjY5MjI6IGdjYzkgaXMgYWxyZWFkeSBhIEdOVSBDIGNvbXBpbGVyCmNvbmZp Z3VyZTo3MDM4OiBnY2M5IC0tdmVyc2lvbiAmJiBnY2M5IC12CmdjYzkgKEdDQykgOS4zLjAK Q29weXJpZ2h0IChDKSAyMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlz IGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlv bnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KClVzaW5nIGJ1aWx0LWlu IHNwZWNzLgpDT0xMRUNUX0dDQz1nY2M5CkNPTExFQ1RfTFRPX1dSQVBQRVI9L3Vzci9sb2Nh bC9nY2M5L2xpYmV4ZWMvZ2NjL3g4Nl82NC1wYy1saW51eC1nbnUvOS4zLjAvbHRvLXdyYXBw ZXIKVGFyZ2V0OiB4ODZfNjQtcGMtbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vLi4v Z2NjLTkuMy4wL2NvbmZpZ3VyZSBDRkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVy MSAtTzMnIENYWEZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyAtLXBy ZWZpeD0vdXNyL2xvY2FsL2djYzkgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGx0byAtLXdp dGgtY3B1PXpudmVyMSAtLXdpdGgtdHVuZT16bnZlcjEgLS13aXRoLWZwbWF0aD1hdnggLS1l bmFibGUtbmxzIC0td2l0aC1kaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLS1lbmFibGUtbGlu a2VyLWJ1aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1ib3RoIC0tZW5hYmxlLW9m ZmxvYWQtdGFyZ2V0cz1oc2EgLS1kaXNhYmxlLW11bHRpbGliIC0td2l0aC1idWlsZC1jb25m aWc9Ym9vdHN0cmFwLWx0bwpUaHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDkuMy4w IChHQ0MpIApjb25maWd1cmU6NzA0MTogJD8gPSAwCmNvbmZpZ3VyZTo3MDU3OiBnKys5IGlz IGFscmVhZHkgYSBHTlUgQysrIGNvbXBpbGVyCmNvbmZpZ3VyZTo3MTc0OiBnKys5IC0tdmVy c2lvbiAmJiBnKys5IC12CmcrKzkgKEdDQykgOS4zLjAKQ29weXJpZ2h0IChDKSAyMDE5IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNl ZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJy YW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4KClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1n Kys5CkNPTExFQ1RfTFRPX1dSQVBQRVI9L3Vzci9sb2NhbC9nY2M5L2xpYmV4ZWMvZ2NjL3g4 Nl82NC1wYy1saW51eC1nbnUvOS4zLjAvbHRvLXdyYXBwZXIKVGFyZ2V0OiB4ODZfNjQtcGMt bGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vLi4vZ2NjLTkuMy4wL2NvbmZpZ3VyZSBD RkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMnIENYWEZMQUdTPSctbWFy Y2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyAtLXByZWZpeD0vdXNyL2xvY2FsL2djYzkg LS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGx0byAtLXdpdGgtY3B1PXpudmVyMSAtLXdpdGgt dHVuZT16bnZlcjEgLS13aXRoLWZwbWF0aD1hdnggLS1lbmFibGUtbmxzIC0td2l0aC1kaWFn bm9zdGljcy1jb2xvcj1hbHdheXMgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0td2l0aC1s aW5rZXItaGFzaC1zdHlsZT1ib3RoIC0tZW5hYmxlLW9mZmxvYWQtdGFyZ2V0cz1oc2EgLS1k aXNhYmxlLW11bHRpbGliIC0td2l0aC1idWlsZC1jb25maWc9Ym9vdHN0cmFwLWx0bwpUaHJl YWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDkuMy4wIChHQ0MpIApjb25maWd1cmU6NzE3 NzogJD8gPSAwCmNvbmZpZ3VyZTo3MjUyOiBjaGVja2luZyBmb3IgZ2ZvcnRyYW4KY29uZmln dXJlOjcyODc6IHJlc3VsdDogbm8KY29uZmlndXJlOjczODg6IGNoZWNraW5nIGZvciBnNzcK Y29uZmlndXJlOjc0MjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjczODg6IGNoZWNraW5nIGZv ciBnZm9ydHJhbgpjb25maWd1cmU6NzQyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NzUxODog Y2hlY2tpbmcgZm9yIGdjagpjb25maWd1cmU6NzU1MzogcmVzdWx0OiBubwpjb25maWd1cmU6 Nzc1NDogY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlCmNvbmZpZ3VyZTo3NzYwOiByZXN1bHQ6IGRvbmUKY29uZmlndXJlOjc3NzU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g IyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0 dXMgMS4xNi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LjIw NC05OGQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAg ICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJ R19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gemVuZGV2MQoKY29uZmln LnN0YXR1czo4NTY4OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOjg1Njg6IGNy ZWF0aW5nIHByZS1pbnN0LWVudgoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBDYWNoZSB2 YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X0FNX1RFU1RfUlVO TkVSX1NIRUxMPScvYmluL3NoJwphY19jdl9idWlsZD0neDg2XzY0LXBjLWxpbnV4LWdudScK YWNfY3ZfY19jb21waWxlcl9nbnU9J3llcycKYWNfY3ZfY3h4X2NvbXBpbGVyX2dudT0neWVz JwphY19jdl9lbnZfQU1fVEVTVF9SVU5ORVJfU0hFTExfc2V0PScnCmFjX2N2X2Vudl9BTV9U RVNUX1JVTk5FUl9TSEVMTF92YWx1ZT0nJwphY19jdl9lbnZfQ0NDX3NldD0nJwphY19jdl9l bnZfQ0NDX3ZhbHVlPScnCmFjX2N2X2Vudl9DQ19zZXQ9J3NldCcKYWNfY3ZfZW52X0NDX3Zh bHVlPSdnY2M5JwphY19jdl9lbnZfQ0ZMQUdTX3NldD0nc2V0JwphY19jdl9lbnZfQ0ZMQUdT X3ZhbHVlPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwphY19jdl9lbnZfQ1BQ RkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfQ1hY RkxBR1Nfc2V0PSdzZXQnCmFjX2N2X2Vudl9DWFhGTEFHU192YWx1ZT0nLW1hcmNoPXpudmVy MSAtbXR1bmU9em52ZXIxIC1PMycKYWNfY3ZfZW52X0NYWF9zZXQ9J3NldCcKYWNfY3ZfZW52 X0NYWF92YWx1ZT0nZysrOScKYWNfY3ZfZW52X0Y3N19zZXQ9JycKYWNfY3ZfZW52X0Y3N192 YWx1ZT0nJwphY19jdl9lbnZfRkNGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0ZDRkxBR1NfdmFs dWU9JycKYWNfY3ZfZW52X0ZDX3NldD0nJwphY19jdl9lbnZfRkNfdmFsdWU9JycKYWNfY3Zf ZW52X0ZGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0ZGTEFHU192YWx1ZT0nJwphY19jdl9lbnZf R05VX0NDX3NldD0nJwphY19jdl9lbnZfR05VX0NDX3ZhbHVlPScnCmFjX2N2X2Vudl9HTlVf Q0ZMQUdTX3NldD0nJwphY19jdl9lbnZfR05VX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZf R05VX0NYWEZMQUdTX3NldD0nJwphY19jdl9lbnZfR05VX0NYWEZMQUdTX3ZhbHVlPScnCmFj X2N2X2Vudl9HTlVfQ1hYX3NldD0nJwphY19jdl9lbnZfR05VX0NYWF92YWx1ZT0nJwphY19j dl9lbnZfR05VX0Y3N19zZXQ9JycKYWNfY3ZfZW52X0dOVV9GNzdfdmFsdWU9JycKYWNfY3Zf ZW52X0dOVV9GQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfR05VX0ZDRkxBR1NfdmFsdWU9JycK YWNfY3ZfZW52X0dOVV9GQ19zZXQ9JycKYWNfY3ZfZW52X0dOVV9GQ192YWx1ZT0nJwphY19j dl9lbnZfR05VX0ZGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dOVV9GRkxBR1NfdmFsdWU9JycK YWNfY3ZfZW52X0dOVV9HQ0pGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dOVV9HQ0pGTEFHU192 YWx1ZT0nJwphY19jdl9lbnZfR05VX0dDSl9zZXQ9JycKYWNfY3ZfZW52X0dOVV9HQ0pfdmFs dWU9JycKYWNfY3ZfZW52X0xERkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVl PScnCmFjX2N2X2Vudl9MSUJTX3NldD0nJwphY19jdl9lbnZfTElCU192YWx1ZT0nJwphY19j dl9lbnZfYnVpbGRfYWxpYXNfc2V0PScnCmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0n JwphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFs dWU9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X3RhcmdldF9h bGlhc192YWx1ZT0nJwphY19jdl9ob3N0PSd4ODZfNjQtcGMtbGludXgtZ251JwphY19jdl9w YXRoX0VHUkVQPScvYmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfRkdSRVA9Jy9iaW4vZ3JlcCAt RicKYWNfY3ZfcGF0aF9HUkVQPScvYmluL2dyZXAnCmFjX2N2X3BhdGhfUEVSTD0nL3Vzci9i aW4vcGVybCcKYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9pbnN0YWxsIC1jJwphY19j dl9wYXRoX21rZGlyPScvYmluL21rZGlyJwphY19jdl9wcm9nX0FXSz0nZ2F3aycKYWNfY3Zf cHJvZ19MRVg9J2xleCcKYWNfY3ZfcHJvZ19URVg9J3RleCcKYWNfY3ZfcHJvZ19ZQUNDPSd5 YWNjJwphY19jdl9wcm9nX2NjX2MxMT0nJwphY19jdl9wcm9nX2NjX2c9J3llcycKYWNfY3Zf cHJvZ19jY19zdGRjPScnCmFjX2N2X3Byb2dfY3h4X2N4eDExPScnCmFjX2N2X3Byb2dfY3h4 X2N4eDk4PScnCmFjX2N2X3Byb2dfY3h4X2c9J3llcycKYWNfY3ZfcHJvZ19jeHhfc3RkY3h4 PScnCmFjX2N2X3Byb2dfbWFrZV9tYWtlX3NldD0neWVzJwphbV9jdl9hdXRvY29uZl9pbnN0 YWxsZWQ9J3llcycKYW1fY3ZfYXV0b2NvbmZfdmVyc2lvbj0neWVzJwphbV9jdl9hdXRvY29u Zl93b3Jrcz0neWVzJwphbV9jdl9tYWtlX3N1cHBvcnRfbmVzdGVkX3ZhcmlhYmxlcz0neWVz JwphbV9jdl9wcm9nX2NjX2Nfbz0neWVzJwphbV9jdl9wcm9nX2xuPSdsbicKCiMjIC0tLS0t LS0tLS0tLS0tLS0tICMjCiMjIE91dHB1dCB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0t LS0tLS0tICMjCgpBQ0xPQ0FMPSciL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi9wcmUtaW5zdC1lbnYiIGFjbG9jYWwtMS4xNicKQU1UQVI9JyQke1RBUi10YXJ9JwpB TV9CQUNLU0xBU0g9J1wnCkFNX0RFRkFVTFRfVj0nJChBTV9ERUZBVUxUX1ZFUkJPU0lUWSkn CkFNX0RFRkFVTFRfVkVSQk9TSVRZPScwJwpBTV9URVNUX1JVTk5FUl9TSEVMTD0nL2Jpbi9z aCcKQU1fVj0nJChWKScKQVBJVkVSU0lPTj0nMS4xNicKQVVUT0NPTkY9JyR7U0hFTEx9IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL21pc3NpbmcgYXV0b2Nv bmYnCkFVVE9IRUFERVI9JyR7U0hFTEx9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvbGliL21pc3NpbmcgYXV0b2hlYWRlcicKQVVUT01BS0U9JyIvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3ByZS1pbnN0LWVudiIgYXV0b21ha2UtMS4x NicKQVdLPSdnYXdrJwpDQz0nZ2NjOScKQ0ZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16 bnZlcjEgLU8zJwpDUFBGTEFHUz0nJwpDWFg9J2crKzknCkNYWEZMQUdTPSctbWFyY2g9em52 ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwpDWUdQQVRIX1c9J2VjaG8nCkRFRlM9Jy1EUEFDS0FH RV9OQU1FPVwiR05VXCBBdXRvbWFrZVwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiYXV0b21ha2Vc IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMTYuMlwiIC1EUEFDS0FHRV9TVFJJTkc9XCJHTlVc IEF1dG9tYWtlXCAxLjE2LjJcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWF1dG9tYWtl QGdudS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9hdXRvbWFrZS9cIicKRUNIT19DPScnCkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0n L2Jpbi9ncmVwIC1FJwpFWEVFWFQ9J1VOS05PV04nCkY3Nz0nZmFsc2UnCkZDPSdmYWxzZScK RkNGTEFHUz0nJwpGRkxBR1M9JycKRkdSRVA9Jy9iaW4vZ3JlcCAtRicKR05VX0NDPSdnY2M5 JwpHTlVfQ0ZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwpHTlVfQ1hY PSdnKys5JwpHTlVfQ1hYRkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMn CkdOVV9GNzc9J2ZhbHNlJwpHTlVfRkM9J2ZhbHNlJwpHTlVfRkNGTEFHUz0nJwpHTlVfRkZM QUdTPScnCkdOVV9HQ0o9J2ZhbHNlJwpHTlVfR0NKRkxBR1M9JycKR1JFUD0nL2Jpbi9ncmVw JwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX1BST0dSQU09JyR7 SU5TVEFMTH0nCklOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JwpJTlNUQUxMX1NUUklQX1BS T0dSQU09JyQoaW5zdGFsbF9zaCkgLWMgLXMnCkxERkxBR1M9JycKTEVYPSdsZXgnCkxJQk9C SlM9JycKTElCUz0nJwpMTj0nbG4nCkxOX1M9J2xuIC1zJwpMVExJQk9CSlM9JycKTUFLRUlO Rk89JyR7U0hFTEx9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGli L21pc3NpbmcgbWFrZWluZm8nCk1LRElSX1A9Jy9iaW4vbWtkaXIgLXAnCk1PRElGSUNBVElP Tl9ERUxBWT0nMicKT0JKRVhUPSdVTktOT1dOJwpQQUNLQUdFPSdhdXRvbWFrZScKUEFDS0FH RV9CVUdSRVBPUlQ9J2J1Zy1hdXRvbWFrZUBnbnUub3JnJwpQQUNLQUdFX05BTUU9J0dOVSBB dXRvbWFrZScKUEFDS0FHRV9TVFJJTkc9J0dOVSBBdXRvbWFrZSAxLjE2LjInClBBQ0tBR0Vf VEFSTkFNRT0nYXV0b21ha2UnClBBQ0tBR0VfVVJMPSdodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2F1dG9tYWtlLycKUEFDS0FHRV9WRVJTSU9OPScxLjE2LjInClBBVEhfU0VQQVJB VE9SPSc6JwpQRVJMPScvdXNyL2Jpbi9wZXJsJwpSRUxFQVNFX1lFQVI9JzIwMjAnClNFVF9N QUtFPScnClNIRUxMPScvYmluL3NoJwpTVFJJUD0nJwpURVg9J3RleCcKVkVSU0lPTj0nMS4x Ni4yJwpZQUNDPSd5YWNjJwphY19jdF9DQz0nJwphY19jdF9DWFg9JycKYWNfY3RfRjc3PScn CmFjX2N0X0ZDPScnCmFjX2N0X0dOVV9DQz0nJwphY19jdF9HTlVfQ1hYPScnCmFjX2N0X0dO VV9GNzc9JycKYWNfY3RfR05VX0ZDPScnCmFjX2N0X0dOVV9HQ0o9JycKYW1fQVVUT0NPTkY9 J2F1dG9jb25mJwphbV9BVVRPSEVBREVSPSdhdXRvaGVhZGVyJwphbV9BVVRPTTRURT0nYXV0 b200dGUnCmFtX0FVVE9SRUNPTkY9J2F1dG9yZWNvbmYnCmFtX0FVVE9VUERBVEU9J2F1dG91 cGRhdGUnCmFtX19FWEVFWFRfRkFMU0U9JyMnCmFtX19FWEVFWFRfVFJVRT0nJwphbV9faXNy Yz0nJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFtX190YXI9JyQke1RBUi10YXJ9IGNob2YgLSAi JCR0YXJkaXIiJwphbV9fdW50YXI9JyQke1RBUi10YXJ9IHhmIC0nCmFtX2NhbmRpZGF0ZV9z aD0nJwphbWRpcj0nJHtwa2d2ZGF0YWRpcn0vYW0nCmF1dG9tYWtlX2FjZGlyPScke2RhdGFk aXJ9L2FjbG9jYWwtMS4xNicKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSd4 ODZfNjQtcGMtbGludXgtZ251JwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J3g4Nl82NCcK YnVpbGRfb3M9J2xpbnV4LWdudScKYnVpbGRfdmVuZG9yPSdwYycKZGF0YWRpcj0nJHtkYXRh cm9vdGRpcn0nCmRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCmRvY2Rpcj0nJHtkYXRh cm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfScKZHZpZGlyPScke2RvY2Rpcn0nCmV4 ZWNfcHJlZml4PScke3ByZWZpeH0nCmhvc3Q9J3g4Nl82NC1wYy1saW51eC1nbnUnCmhvc3Rf YWxpYXM9JycKaG9zdF9jcHU9J3g4Nl82NCcKaG9zdF9vcz0nbGludXgtZ251Jwpob3N0X3Zl bmRvcj0ncGMnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2lu Y2x1ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmluc3RhbGxfc2g9JyR7U0hF TEx9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2luc3RhbGwt c2gnCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJl Zml4fS9saWJleGVjJwpsb2NhbGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxz dGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicKbWFuZGlyPScke2RhdGFyb290ZGlyfS9tYW4nCm1r ZGlyX3A9JyQoTUtESVJfUCknCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKcGRmZGly PScke2RvY2Rpcn0nCnBrZ3ZkYXRhZGlyPScke2RhdGFkaXJ9L2F1dG9tYWtlLTEuMTYnCnBy ZWZpeD0nL3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJwpwc2Rp cj0nJHtkb2NkaXJ9JwpyZXF1aXJlZF9hdXRvY29uZl92ZXJzaW9uPScyLjY1JwpydW5zdGF0 ZWRpcj0nJHtsb2NhbHN0YXRlZGlyfS9ydW4nCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3Ni aW4nCnNjcmlwdGRpcj0nJHtwa2d2ZGF0YWRpcn0nCnNoYXJlZHN0YXRlZGlyPScke3ByZWZp eH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwpzeXN0ZW1fYWNkaXI9JyR7ZGF0 YWRpcn0vYWNsb2NhbCcKdGFyZ2V0X2FsaWFzPScnCgojIyAtLS0tLS0tLS0tLSAjIwojIyBj b25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMuaCAqLwojZGVm aW5lIFBBQ0tBR0VfTkFNRSAiR05VIEF1dG9tYWtlIgojZGVmaW5lIFBBQ0tBR0VfVEFSTkFN RSAiYXV0b21ha2UiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjE2LjIiCiNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBBdXRvbWFrZSAxLjE2LjIiCiNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1hdXRvbWFrZUBnbnUub3JnIgojZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9tYWtlLyIKCmNvbmZpZ3VyZTogZXhp dCAwCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0 YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBl eHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdh cwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9u IGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURF UlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAu L2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21h a2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1 dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAg Q09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktT ICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxl PS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5p bmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhp cyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2 LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYu ICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAg Q09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1B TkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMK IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBi eSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0 ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQg bGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAg Q09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5z dGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t ICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmln LnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIu NjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJ TEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAg Q09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHpl bmRldjEKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmln LnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdh cyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNo IHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0 aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hF QURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAg JCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIHplbmRldjEKCgojIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0 b21ha2UgY29uZmlnLnN0YXR1cyAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05V IEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMK CiAgQ09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJ TktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1m aWxlPS0KCm9uIHplbmRldjEKCisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvYmluL2FjbG9jYWwtMS4xNgojIS91c3IvYmluL3BlcmwgLXcKIyBhY2xvY2Fs IC0gY3JlYXRlIGFjbG9jYWwubTQgYnkgc2Nhbm5pbmcgY29uZmlndXJlLmFjICAgICAgLSot IHBlcmwgLSotCiMgR2VuZXJhdGVkIGZyb20gYmluL2FjbG9jYWwuaW47IGRvIG5vdCBlZGl0 IGJ5IGhhbmQuCiMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCgojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91 ciBvcHRpb24pCiMgYW55IGxhdGVyIHZlcnNpb24uCgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKIyBXcml0dGVuIGJ5IFRv bSBUcm9tZXkgPHRyb21leUByZWRoYXQuY29tPiwgYW5kCiMgQWxleGFuZHJlIER1cmV0LUx1 dHogPGFkbEBnbnUub3JnPi4KCkJFR0lOCnsKICB1bnNoaWZ0IChASU5DLCAnL3Vzci9sb2Nh bC9zaGFyZS9hdXRvbWFrZS0xLjE2JykKICAgIHVubGVzcyAkRU5We0FVVE9NQUtFX1VOSU5T VEFMTEVEfTsKfQoKdXNlIHN0cmljdDsKCnVzZSBBdXRvbWFrZTo6Q29uZmlnOwp1c2UgQXV0 b21ha2U6OkdlbmVyYWw7CnVzZSBBdXRvbWFrZTo6Q29uZmlndXJlX2FjOwp1c2UgQXV0b21h a2U6OkNoYW5uZWxzOwp1c2UgQXV0b21ha2U6OkNoYW5uZWxEZWZzOwp1c2UgQXV0b21ha2U6 OlhGaWxlOwp1c2UgQXV0b21ha2U6OkZpbGVVdGlsczsKdXNlIEZpbGU6OkJhc2VuYW1lOwp1 c2UgRmlsZTo6UGF0aCAoKTsKCiMgU29tZSBnbG9iYWxzLgoKIyBTdXBwb3J0IEFDX0NPTkZJ R19NQUNST19ESVJTIGFsc28gd2l0aCBvbGRlciBhdXRvY29uZi4KIyBGSVhNRTogVG8gYmUg cmVtb3ZlZCBpbiBBdXRvbWFrZSAyLjAsIG9uY2Ugd2UgY2FuIGFzc3VtZSBhdXRvY29uZgoj ICAgICAgICAyLjcwIG9yIGxhdGVyLgojIEZJWE1FOiBrZWVwIGluIHN5bmMgd2l0aCAnaW50 ZXJuYWwvYWMtY29uZmlnLW1hY3JvLWRpcnMubTQnLgpteSAkYWNfY29uZmlnX21hY3JvX2Rp cnNfZmFsbGJhY2sgPQogICdtNF9pZm5kZWYoW0FDX0NPTkZJR19NQUNST19ESVJTXSwgWycg LgogICAgJ200X2RlZnVuKFtfQU1fQ09ORklHX01BQ1JPX0RJUlNdLCBbXSknIC4KICAgICdt NF9kZWZ1bihbQUNfQ09ORklHX01BQ1JPX0RJUlNdLCBbX0FNX0NPTkZJR19NQUNST19ESVJT KCRAKV0pJyAuCiAgJ10pJzsKCiMgV2UgZG8gbm90IG9wZXJhdGUgaW4gdGhyZWFkZWQgbW9k ZS4KJHBlcmxfdGhyZWFkcyA9IDA7CgojIEluY2x1ZGUgcGF0aHMgZm9yIHNlYXJjaGluZyBt YWNyb3MuICBXZSBzZWFyY2ggbWFjcm9zIGluIHRoaXMgb3JkZXI6CiMgdXNlci1zdXBwbGll ZCBkaXJlY3RvcmllcyBmaXJzdCwgdGhlbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhl CiMgYXV0b21ha2UgbWFjcm9zLCBhbmQgZmluYWxseSB0aGUgc3lzdGVtLXdpZGUgZGlyZWN0 b3JpZXMgZm9yCiMgdGhpcmQtcGFydHkgbWFjcm9zLgojIEB1c2VyX2luY2x1ZGVzIGNhbiBi ZSBhdWdtZW50ZWQgd2l0aCAtSSBvciBBQ19DT05GSUdfTUFDUk9fRElSUy4KIyBAYXV0b21h a2VfaW5jbHVkZXMgY2FuIGJlIHJlc2V0IHdpdGggdGhlICctLWF1dG9tYWtlLWFjZGlyJyBv cHRpb24uCiMgQHN5c3RlbV9pbmNsdWRlcyBjYW4gYmUgYXVnbWVudGVkIHdpdGggdGhlICdk aXJsaXN0JyBmaWxlIG9yIHRoZQojIEFDTE9DQUxfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJs ZSwgYW5kIHJlc2V0IHdpdGggdGhlICctLXN5c3RlbS1hY2RpcicKIyBvcHRpb24uCm15IEB1 c2VyX2luY2x1ZGVzID0gKCk7Cm15IEBhdXRvbWFrZV9pbmNsdWRlcyA9ICgnL3Vzci9sb2Nh bC9zaGFyZS9hY2xvY2FsLScgLiAkQVBJVkVSU0lPTik7Cm15IEBzeXN0ZW1faW5jbHVkZXMg PSAoJy91c3IvbG9jYWwvc2hhcmUvYWNsb2NhbCcpOwoKIyBXaGV0aGVyIHdlIHNob3VsZCBj b3B5IE00IGZpbGUgaW4gJHVzZXJfaW5jbHVkZXNbMF0uCm15ICRpbnN0YWxsID0gMDsKCiMg LS1kaWZmCm15IEBkaWZmX2NvbW1hbmQ7CgojIC0tZHJ5LXJ1bgpteSAkZHJ5X3J1biA9IDA7 CgojIGNvbmZpZ3VyZS5hYyBvciBjb25maWd1cmUuaW4uCm15ICRjb25maWd1cmVfYWM7Cgoj IE91dHB1dCBmaWxlIG5hbWUuCm15ICRvdXRwdXRfZmlsZSA9ICdhY2xvY2FsLm00JzsKCiMg T3B0aW9uIC0tZm9yY2UuCm15ICRmb3JjZV9vdXRwdXQgPSAwOwoKIyBNb2RpZmljYXRpb24g dGltZSBvZiB0aGUgeW91bmdlc3QgZGVwZW5kZW5jeS4KbXkgJGdyZWF0ZXN0X210aW1lID0g MDsKCiMgV2hpY2ggbWFjcm9zIGhhdmUgYmVlbiBzZWVuLgpteSAlbWFjcm9fc2VlbiA9ICgp OwoKIyBSZW1lbWJlciB0aGUgb3JkZXIgaW50byB3aGljaCB3ZSBzY2FubmVkIHRoZSBmaWxl cy4KIyBJdCdzIGltcG9ydGFudCB0byBvdXRwdXQgdGhlIGNvbnRlbnRzIG9mIGFjbG9jYWwu bTQgaW4gdGhlIG9wcG9zaXRlIG9yZGVyLgojIChEZWZpbml0aW9ucyBpbiBmaXJzdCBmaWxl cyB3ZSBoYXZlIHNjYW5uZWQgc2hvdWxkIG92ZXJyaWRlIHRob3NlIGZyb20KIyBsYXRlciBm aWxlcy4gIFNvIHRoZXkgbXVzdCBhcHBlYXIgbGFzdCBpbiB0aGUgb3V0cHV0LikKbXkgQGZp bGVfb3JkZXIgPSAoKTsKCiMgTWFwIG1hY3JvIG5hbWVzIHRvIGZpbGUgbmFtZXMuCm15ICVt YXAgPSAoKTsKCiMgRGl0dG8sIGJ1dCByZWNvcmRzIHRoZSBsYXN0IGRlZmluaXRpb24gb2Yg ZWFjaCBtYWNybyBhcyByZXR1cm5lZCBieSAtLXRyYWNlLgpteSAlbWFwX3RyYWNlZF9kZWZz ID0gKCk7CgojIE1hcCBiYXNlbmFtZXMgdG8gbWFjcm8gbmFtZXMuCm15ICVpbnZtYXAgPSAo KTsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gZmlsZSBjb250ZW50cy4KbXkgJWZpbGVfY29udGVu dHMgPSAoKTsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gZmlsZSB0eXBlcy4KbXkgJWZpbGVfdHlw ZSA9ICgpOwp1c2UgY29uc3RhbnQgRlRfVVNFUiA9PiAxOwp1c2UgY29uc3RhbnQgRlRfQVVU T01BS0UgPT4gMjsKdXNlIGNvbnN0YW50IEZUX1NZU1RFTSA9PiAzOwoKIyBNYXAgZmlsZSBu YW1lcyB0byBpbmNsdWRlZCBmaWxlcyAodHJhbnNpdGl2ZWx5IGNsb3NlZCkuCm15ICVmaWxl X2luY2x1ZGVzID0gKCk7CgojIEZpbGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGFkZGVk LgpteSAlZmlsZV9hZGRlZCA9ICgpOwoKIyBGaWxlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVu IHNjYW5uZWQuCm15ICVzY2FubmVkX2NvbmZpZ3VyZV9kZXAgPSAoKTsKCiMgU2VyaWFsIG51 bWJlcnMsIGZvciBmaWxlcyB0aGF0IGhhdmUgb25lLgojIFRoZSBrZXkgaXMgdGhlIGJhc2Vu YW1lIG9mIHRoZSBmaWxlLAojIHRoZSB2YWx1ZSBpcyB0aGUgc2VyaWFsIG51bWJlciByZXBy ZXNlbnRlZCBhcyBhIGxpc3QuCm15ICVzZXJpYWwgPSAoKTsKCiMgTWF0Y2hlcyBhIG1hY3Jv IGRlZmluaXRpb24uCiMgICBBQ19ERUZVTihbbWFjcm9uYW1lXSwgLi4uKQojIG9yCiMgICBB Q19ERUZVTihtYWNyb25hbWUsIC4uLikKIyBXaGVuIG1hY3JvbmFtZSBpcyAnWyctcXVvdGVk ICwgd2UgYWNjZXB0IGFueSBjaGFyYWN0ZXIgaW4gdGhlIG5hbWUsCiMgZXhjZXB0ICddJy4g IE90aGVyd2lzZSBtYWNyb25hbWUgc3RvcHMgb24gdGhlIGZpcnN0ICddJywgJywnLCAnKScs CiMgb3IgJ1xuJyBlbmNvdW50ZXJlZC4KbXkgJGFjX2RlZnVuX3J4ID0KICAiKD86QVVfQUxJ QVN8QVtDVV1fREVGVU58QUNfREVGVU5fT05DRSlcXCgoPzpcXFsoW15dXSspXFxdfChbXl0s KVxuXSspKSI7CgojIE1hdGNoZXMgYW4gQUNfUkVRVUlSRSBsaW5lLgpteSAkYWNfcmVxdWly ZV9yeCA9ICJBQ19SRVFVSVJFXFwoKD86XFxbKFteXV0rKVxcXXwoW15dLClcbl0rKSlcXCki OwoKIyBNYXRjaGVzIGFuIG00X2luY2x1ZGUgbGluZS4KbXkgJG00X2luY2x1ZGVfcnggPSAi KG00X3xtNF9zfHMpaW5jbHVkZVxcKCg/OlxcWyhbXl1dKylcXF18KFteXSwpXG5dKykpXFwp IjsKCiMgTWF0Y2ggYSBzZXJpYWwgbnVtYmVyLgpteSAkc2VyaWFsX2xpbmVfcnggPSAnXiNc cypzZXJpYWxccysoXFMqKSc7Cm15ICRzZXJpYWxfbnVtYmVyX3J4ID0gJ15cZCsoPzpcLlxk KykqJCc7CgojIEF1dG9jb25mIHZlcnNpb24uICBUaGlzIHZhcmlhYmxlIGlzIHNldCBieSAn dHJhY2VfdXNlZF9tYWNyb3MnLgpteSAkYWNfdmVyc2lvbjsKCiMgVXNlciBkaXJlY3Rvcnkg Y29udGFpbmluZyBleHRyYSBtNCBmaWxlcyBmb3IgbWFjcm9zIGRlZmluaXRpb24sCiMgYXMg ZXh0cmFjdGVkIGZyb20gY2FsbHMgdG8gdGhlIG1hY3JvIEFDX0NPTkZJR19NQUNST19ESVJT LgojIFRoaXMgdmFyaWFibGUgaXMgdXBkYXRlZCBieSAndHJhY2VfdXNlZF9tYWNyb3MnLgpt eSBAYWNfY29uZmlnX21hY3JvX2RpcnM7CgojIElmIHNldCwgbmFtZXMgYSB0ZW1wb3Jhcnkg ZmlsZSB0aGF0IG11c3QgYmUgZXJhc2VkIG9uIGFibm9ybWFsIGV4aXQuCm15ICRlcmFzZV9t ZTsKCiMgQ29uc3RhbnRzIGZvciB0aGUgJEVSUl9MRVZFTCBwYXJhbWV0ZXIgb2YgdGhlICdz Y2FuX200X2RpcnMnIGZ1bmN0aW9uLgp1c2UgY29uc3RhbnQgU0NBTl9NNF9ESVJTX1NJTEVO VCA9PiAwOwp1c2UgY29uc3RhbnQgU0NBTl9NNF9ESVJTX1dBUk4gPT4gMTsKdXNlIGNvbnN0 YW50IFNDQU5fTTRfRElSU19FUlJPUiA9PiAyOwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBQcm90b3R5cGVz IGZvciBhbGwgc3Vicm91dGluZXMuCgpzdWIgYWRkX2ZpbGUgKCQpOwpzdWIgYWRkX21hY3Jv ICgkKTsKc3ViIGNoZWNrX2FjaW5jbHVkZSAoKTsKc3ViIGluc3RhbGxfZmlsZSAoJCQpOwpz dWIgbGlzdF9jb21wYXJlIChcQFxAKTsKc3ViIHBhcnNlX0FDTE9DQUxfUEFUSCAoKTsKc3Vi IHBhcnNlX2FyZ3VtZW50cyAoKTsKc3ViIHJlc2V0X21hcHMgKCk7CnN1YiBzY2FuX2NvbmZp Z3VyZSAoKTsKc3ViIHNjYW5fY29uZmlndXJlX2RlcCAoJCk7CnN1YiBzY2FuX2ZpbGUgKCQk JCk7CnN1YiBzY2FuX200X2RpcnMgKCQkQCk7CnN1YiBzY2FuX200X2ZpbGVzICgpOwpzdWIg c3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICglKTsKc3ViIHRyYWNlX3VzZWRfbWFjcm9zICgp OwpzdWIgdW5saW5rX3RtcCAoOyQpOwpzdWIgdXNhZ2UgKCQpOwpzdWIgdmVyc2lvbiAoKTsK c3ViIHdyaXRlX2FjbG9jYWwgKCRAKTsKc3ViIHhta2Rpcl9wICgkKTsKCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiMgRXJhc2UgdGVtcG9yYXJ5IGZpbGUgRVJBU0VfTUUuICBIYW5kbGUgc2lnbmFscy4Kc3Vi IHVubGlua190bXAgKDskKQp7CiAgbXkgKCRzaWcpID0gQF87CgogIGlmICgkc2lnKQogICAg ewogICAgICB2ZXJiICJjYXVnaHQgU0lHJHNpZywgYmFpbGluZyBvdXQiOwogICAgfQogIGlm IChkZWZpbmVkICRlcmFzZV9tZSAmJiAtZSAkZXJhc2VfbWUgJiYgIXVubGluayAoJGVyYXNl X21lKSkKICAgIHsKICAgICAgZmF0YWwgImNvdWxkIG5vdCByZW1vdmUgJyRlcmFzZV9tZSc6 ICQhIjsKICAgIH0KICB1bmRlZiAkZXJhc2VfbWU7CgogICMgcmVyYWlzZSBkZWZhdWx0IGhh bmRsZXIuCiAgaWYgKCRzaWcpCiAgICB7CiAgICAgICRTSUd7JHNpZ30gPSAnREVGQVVMVCc7 CiAgICAgIGtpbGwgJHNpZyA9PiAkJDsKICAgIH0KfQoKJFNJR3snSU5UJ30gPSAkU0lHeydU RVJNJ30gPSAkU0lHeydRVUlUJ30gPSAkU0lHeydIVVAnfSA9ICd1bmxpbmtfdG1wJzsKRU5E IHsgdW5saW5rX3RtcCB9CgpzdWIgeG1rZGlyX3AgKCQpCnsKICBteSAkZGlyID0gc2hpZnQ7 CiAgbG9jYWwgJEAgPSB1bmRlZjsKICByZXR1cm4KICAgIGlmIC1kICRkaXIgb3IgZXZhbCB7 IEZpbGU6OlBhdGg6Om1rcGF0aCAkZGlyIH07CiAgY2hvbXAgJEA7CiAgJEAgPX4gcy9ccyth dFxzLipcYmxpbmVcc1xkKy4qJC8vOwogIGZhdGFsICJjb3VsZCBub3QgY3JlYXRlIGRpcmVj dG9yeSAnJGRpcic6ICRAIjsKfQoKIyBDaGVjayBtYWNyb3MgaW4gYWNpbmNsdWRlLm00LiAg SWYgb25lIGlzIG5vdCB1c2VkLCB3YXJuLgpzdWIgY2hlY2tfYWNpbmNsdWRlICgpCnsKICBm b3JlYWNoIG15ICRrZXkgKGtleXMgJW1hcCkKICAgIHsKICAgICAgIyBGSVhNRTogc2hvdWxk IHByaW50IGxpbmUgbnVtYmVyIG9mIGFjaW5jbHVkZS5tNC4KICAgICAgbXNnICgnc3ludGF4 JywgIm1hY3JvICcka2V5JyBkZWZpbmVkIGluIGFjaW5jbHVkZS5tNCBidXQgbmV2ZXIgdXNl ZCIpCglpZiAkbWFweyRrZXl9IGVxICdhY2luY2x1ZGUubTQnICYmICEgZXhpc3RzICRtYWNy b19zZWVueyRrZXl9OwogICAgfQp9CgpzdWIgcmVzZXRfbWFwcyAoKQp7CiAgJGdyZWF0ZXN0 X210aW1lID0gMDsKICAlbWFjcm9fc2VlbiA9ICgpOwogIEBmaWxlX29yZGVyID0gKCk7CiAg JW1hcCA9ICgpOwogICVtYXBfdHJhY2VkX2RlZnMgPSAoKTsKICAlZmlsZV9jb250ZW50cyA9 ICgpOwogICVmaWxlX3R5cGUgPSAoKTsKICAlZmlsZV9pbmNsdWRlcyA9ICgpOwogICVmaWxl X2FkZGVkID0gKCk7CiAgJXNjYW5uZWRfY29uZmlndXJlX2RlcCA9ICgpOwogICVpbnZtYXAg PSAoKTsKICAlc2VyaWFsID0gKCk7CiAgdW5kZWYgJnNlYXJjaDsKfQoKIyBpbnN0YWxsX2Zp bGUgKCRTUkMsICRERVNURElSKQpzdWIgaW5zdGFsbF9maWxlICgkJCkKewogIG15ICgkc3Jj LCAkZGVzdGRpcikgPSBAXzsKICBteSAkZGVzdCA9ICRkZXN0ZGlyIC4gIi8iIC4gYmFzZW5h bWUgKCRzcmMpOwogIG15ICRkaWZmX2Rlc3Q7CgogIHZlcmIgImluc3RhbGxpbmcgJHNyYyB0 byAkZGVzdCI7CgogIGlmICgkZm9yY2Vfb3V0cHV0CiAgICAgIHx8ICFleGlzdHMgJGZpbGVf Y29udGVudHN7JGRlc3R9CiAgICAgIHx8ICRmaWxlX2NvbnRlbnRzeyRzcmN9IG5lICRmaWxl X2NvbnRlbnRzeyRkZXN0fSkKICAgIHsKICAgICAgaWYgKC1lICRkZXN0KQoJewoJICBtc2cg J25vdGUnLCAib3ZlcndyaXRpbmcgJyRkZXN0JyB3aXRoICckc3JjJyI7CgkgICRkaWZmX2Rl c3QgPSAkZGVzdDsKCX0KICAgICAgZWxzZQoJewoJICBtc2cgJ25vdGUnLCAiaW5zdGFsbGlu ZyAnJGRlc3QnIGZyb20gJyRzcmMnIjsKCX0KCiAgICAgIGlmIChAZGlmZl9jb21tYW5kKQoJ ewoJICBpZiAoISBkZWZpbmVkICRkaWZmX2Rlc3QpCgkgICAgewoJICAgICAgIyAkZGVzdCBk b2VzIG5vdCBleGlzdC4gIFdlIGNyZWF0ZSBhbiBlbXB0eSBvbmUganVzdCB0bwoJICAgICAg IyBydW4gZGlmZiwgYW5kIHdlIGVyYXNlIGl0IGFmdGVyd2FyZC4gIFVzaW5nIHRoZSByZWFs CgkgICAgICAjIHRoZSBkZXN0aW5hdGlvbiBmaWxlIChyYXRoZXIgdGhhbiBhIHRlbXBvcmFy eSBmaWxlKSBpcwoJICAgICAgIyBnb29kIHdoZW4gZGlmZiBpcyBydW4gd2l0aCBvcHRpb25z IHRoYXQgZGlzcGxheSB0aGUKCSAgICAgICMgZmlsZSBuYW1lLgoJICAgICAgIwoJICAgICAg IyBJZiBjcmVhdGluZyAkZGVzdCBmYWlscywgZmFsbCBiYWNrIHRvIC9kZXYvbnVsbC4gIEF0 CgkgICAgICAjIGxlYXN0IG9uZSBkaWZmIGltcGxlbWVudGF0aW9uIChUcnU2NCdzKSBjYW5u b3QgZGVhbAoJICAgICAgIyB3aXRoIC9kZXYvbnVsbC4gIEhvd2V2ZXIgd29ya2luZyBhcm91 bmQgdGhpcyBpcyBub3QKCSAgICAgICMgd29ydGggdGhlIHRyb3VibGUgc2luY2Ugbm9ib2R5 IHJ1biBhY2xvY2FsIG9uIGEKCSAgICAgICMgcmVhZC1vbmx5IHRyZWUgYW55d2F5LgoJICAg ICAgJGVyYXNlX21lID0gJGRlc3Q7CgkgICAgICBteSAkZiA9IG5ldyBJTzo6RmlsZSAiPiAk ZGVzdCI7CgkgICAgICBpZiAoISBkZWZpbmVkICRmKQoJCXsKCQkgIHVuZGVmICRlcmFzZV9t ZTsKCQkgICRkaWZmX2Rlc3QgPSAnL2Rldi9udWxsJzsKCQl9CgkgICAgICBlbHNlCgkJewoJ CSAgJGRpZmZfZGVzdCA9ICRkZXN0OwoJCSAgJGYtPmNsb3NlOwoJCX0KCSAgICB9CgkgIG15 IEBjbWQgPSAoQGRpZmZfY29tbWFuZCwgJGRpZmZfZGVzdCwgJHNyYyk7CgkgICQhID0gMDsK CSAgdmVyYiAicnVubmluZzogQGNtZCI7CgkgIG15ICRyZXMgPSBzeXN0ZW0gKEBjbWQpOwoJ ICBBdXRvbWFrZTo6RmlsZVV0aWxzOjpoYW5kbGVfZXhlY19lcnJvcnMgIkBjbWQiLCAxCgkg ICAgaWYgJHJlczsKCSAgdW5saW5rX3RtcDsKCX0KICAgICAgZWxzaWYgKCEkZHJ5X3J1bikK CXsKICAgICAgICAgIHhta2Rpcl9wICgkZGVzdGRpcik7CgkgIHhzeXN0ZW0gKCdjcCcsICRz cmMsICRkZXN0KTsKCX0KICAgIH0KfQoKIyBDb21wYXJlIHR3byBsaXN0cyBvZiBudW1iZXJz LgpzdWIgbGlzdF9jb21wYXJlIChcQFxAKQp7CiAgbXkgQGwgPSBAeyRfWzBdfTsKICBteSBA ciA9IEB7JF9bMV19OwogIHdoaWxlICgxKQogICAgewogICAgICBpZiAoMCA9PSBAbCkKCXsK CSAgcmV0dXJuICgwID09IEByKSA/IDAgOiAtMTsKCX0KICAgICAgZWxzaWYgKDAgPT0gQHIp Cgl7CgkgIHJldHVybiAxOwoJfQogICAgICBlbHNpZiAoJGxbMF0gPCAkclswXSkKCXsKCSAg cmV0dXJuIC0xOwoJfQogICAgICBlbHNpZiAoJGxbMF0gPiAkclswXSkKCXsKCSAgcmV0dXJu IDE7Cgl9CiAgICAgIHNoaWZ0IEBsOwogICAgICBzaGlmdCBAcjsKICAgIH0KfQoKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwoKIyBzY2FuX200X2RpcnMoJFRZUEUsICRFUlJfTEVWRUwsIEBESVJTKQojIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU2NhbiBhbGwg TTQgZmlsZXMgaW5zdGFsbGVkIGluIEBESVJTIGZvciBuZXcgbWFjcm8gZGVmaW5pdGlvbnMu CiMgUmVnaXN0ZXIgZWFjaCBmaWxlIGFzIG9mIHR5cGUgJFRZUEUgKG9uZSBvZiB0aGUgRlRf KiBjb25zdGFudHMpLgojIElmIGEgZGlyZWN0b3J5IGluIEBESVJTIGNhbm5vdCBiZSByZWFk OgojICAtIGZhaWwgaGFyZCAgICAgICAgICAgICAgICBpZiAkRVJSX0xFVkVMID09IFNDQU5f TTRfRElSU19FUlJPUgojICAtIGp1c3QgcHJpbnQgYSB3YXJuaW5nICAgICBpZiAkRVJSX0xF VkVMID09IFNDQU5fTTRfRElSU19XQQojICAtIGNvbnRpbnVlIHNpbGVudGx5ICAgICAgICBp ZiAkRVJSX0xFVkVMID09IFNDQU5fTTRfRElSU19TSUxFTlQKc3ViIHNjYW5fbTRfZGlycyAo JCRAKQp7CiAgbXkgKCR0eXBlLCAkZXJyX2xldmVsLCBAZGlybGlzdCkgPSBAXzsKCiAgZm9y ZWFjaCBteSAkbTRkaXIgKEBkaXJsaXN0KQogICAgewogICAgICBpZiAoISBvcGVuZGlyIChE SVIsICRtNGRpcikpCgl7CgkgICMgVE9ETzogbWF5YmUgYXZvaWQgY29tcGxhaW5pbmcgb25s eSBpZiBlcnJubyA9PSBFTk9ORU5UPwogICAgICAgICAgbXkgJG1lc3NhZ2UgPSAiY291bGRu J3Qgb3BlbiBkaXJlY3RvcnkgJyRtNGRpcic6ICQhIjsKCiAgICAgICAgICBpZiAoJGVycl9s ZXZlbCA9PSBTQ0FOX000X0RJUlNfRVJST1IpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICBmYXRhbCAkbWVzc2FnZTsKICAgICAgICAgICAgfQogICAgICAgICAgZWxzaWYgKCRlcnJf bGV2ZWwgPT0gU0NBTl9NNF9ESVJTX1dBUk4pCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICBtc2cgKCd1bnN1cHBvcnRlZCcsICRtZXNzYWdlKTsKICAgICAgICAgICAgICBuZXh0Owog ICAgICAgICAgICB9CiAgICAgICAgICBlbHNpZiAoJGVycl9sZXZlbCA9PSBTQ0FOX000X0RJ UlNfU0lMRU5UKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgbmV4dDsgIyBTaWxlbnRs eSBpZ25vcmUuCiAgICAgICAgICAgIH0KICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewog ICAgICAgICAgICAgICBwcm9nX2Vycm9yICJpbnZhbGlkIFwkZXJyX2xldmVsIHZhbHVlICck ZXJyX2xldmVsJyI7CiAgICAgICAgICAgIH0KCX0KCiAgICAgICMgV2UgcmV2ZXJzZSB0aGUg ZGlyZWN0b3J5IGNvbnRlbnRzIHNvIHRoYXQgZm9vMi5tNCBnZXRzCiAgICAgICMgdXNlZCBp biBwcmVmZXJlbmNlIHRvIGZvbzEubTQuCiAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKHJldmVy c2Ugc29ydCBncmVwICghIC9eXC4vLCByZWFkZGlyIChESVIpKSkKCXsKCSAgIyBPbmx5IGV4 YW1pbmUgLm00IGZpbGVzLgoJICBuZXh0IHVubGVzcyAkZmlsZSA9fiAvXC5tNCQvOwoKCSAg IyBTa2lwIHNvbWUgZmlsZXMgd2hlbiBydW5uaW5nIG91dCBvZiBzcmNkaXIuCgkgIG5leHQg aWYgJGZpbGUgZXEgJ2FjbG9jYWwubTQnOwoKCSAgbXkgJGZ1bGxmaWxlID0gRmlsZTo6U3Bl Yy0+Y2Fub25wYXRoICgiJG00ZGlyLyRmaWxlIik7CgkgIHNjYW5fZmlsZSAoJHR5cGUsICRm dWxsZmlsZSwgJ2FjbG9jYWwnKTsKCX0KICAgICAgY2xvc2VkaXIgKERJUik7CiAgICB9Cn0K CiMgU2NhbiBhbGwgdGhlIGluc3RhbGxlZCBtNCBmaWxlcyBhbmQgY29uc3RydWN0IGEgbWFw LgpzdWIgc2Nhbl9tNF9maWxlcyAoKQp7CiAgIyBGaXJzdCwgc2NhbiBjb25maWd1cmUuYWMu ICBJdCBtYXkgY29udGFpbiBtYWNybyBkZWZpbml0aW9ucywKICAjIG9yIG1heSBpbmNsdWRl IG90aGVyIGZpbGVzIHRoYXQgZGVmaW5lIG1hY3Jvcy4KICBzY2FuX2ZpbGUgKEZUX1VTRVIs ICRjb25maWd1cmVfYWMsICdhY2xvY2FsJyk7CgogICMgVGhlbiwgc2NhbiBhY2luY2x1ZGUu bTQgaWYgaXQgZXhpc3RzLgogIGlmICgtZiAnYWNpbmNsdWRlLm00JykKICAgIHsKICAgICAg c2Nhbl9maWxlIChGVF9VU0VSLCAnYWNpbmNsdWRlLm00JywgJ2FjbG9jYWwnKTsKICAgIH0K CiAgIyBGaW5hbGx5LCBzY2FuIGFsbCBmaWxlcyBpbiBvdXIgc2VhcmNoIHBhdGhzLgoKICBp ZiAoQHVzZXJfaW5jbHVkZXMpCiAgICB7CiAgICAgICMgRG9uJ3QgZXhwbG9yZSB0aGUgc2Ft ZSBkaXJlY3RvcnkgbXVsdGlwbGUgdGltZXMuICBUaGlzIGlzIGhlcmUgbm90CiAgICAgICMg b25seSBmb3Igc3BlZWR1cCBwdXJwb3Nlcy4gIFdlIG5lZWQgdGhpcyB3aGVuIHRoZSB1c2Vy IGhhcyBlLmcuCiAgICAgICMgc3BlY2lmaWVkICdBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNCcg YW5kIGhhcyBhbHNvIHNldAogICAgICAjIEFDX0NPTkZJR19NQUNST19ESVJbU10oW200XSkg aW4gY29uZmlndXJlLmFjLiAgVGhpcyBtYWtlcyB0aGUgJ200JwogICAgICAjIGRpcmVjdG9y eSB0byBvY2N1ciB0d2ljZSBoZXJlIGFuZCBmYWlsIG9uIHRoZSBzZWNvbmQgY2FsbCB0bwog ICAgICAjIHNjYW5fbTRfZGlycyhbbTRdKSB3aGVuIHRoZSAnbTQnIGRpcmVjdG9yeSBkb2Vz bid0IGV4aXN0LgogICAgICAjIFRPRE86IFNob3VsZG4ndCB0aGVyZSBiZSByYXRoZXIgYSBj aGVjayBpbiBzY2FuX200X2RpcnMgZm9yCiAgICAgICMgICAgICAgQHVzZXJfaW5jbHVkZXNb MF0/CiAgICAgIEB1c2VyX2luY2x1ZGVzID0gdW5pcSBAdXNlcl9pbmNsdWRlczsKCiAgICAg ICMgRG9uJ3QgY29tcGxhaW4gaWYgdGhlIGZpcnN0IHVzZXIgZGlyZWN0b3J5IGRvZXNuJ3Qg ZXhpc3QsIGluIGNhc2UKICAgICAgIyB3ZSBuZWVkIHRvIGNyZWF0ZSBpdCBsYXRlciAoY2Fu IGhhcHBlbiBpZiAnLS1pbnN0YWxsJyB3YXMgZ2l2ZW4pLgogICAgICBzY2FuX200X2RpcnMg KEZUX1VTRVIsCiAgICAgICAgICAgICAgICAgICAgJGluc3RhbGwgPyBTQ0FOX000X0RJUlNf U0lMRU5UIDogU0NBTl9NNF9ESVJTX1dBUk4sCiAgICAgICAgICAgICAgICAgICAgJHVzZXJf aW5jbHVkZXNbMF0pOwogICAgICBzY2FuX200X2RpcnMgKEZUX1VTRVIsCiAgICAgICAgICAg ICAgICAgICAgU0NBTl9NNF9ESVJTX0VSUk9SLAoJCSAgICBAdXNlcl9pbmNsdWRlc1sxLi4k I3VzZXJfaW5jbHVkZXNdKTsKICAgIH0KICBzY2FuX200X2RpcnMgKEZUX0FVVE9NQUtFLCBT Q0FOX000X0RJUlNfRVJST1IsIEBhdXRvbWFrZV9pbmNsdWRlcyk7CiAgc2Nhbl9tNF9kaXJz IChGVF9TWVNURU0sIFNDQU5fTTRfRElSU19FUlJPUiwgQHN5c3RlbV9pbmNsdWRlcyk7Cgog ICMgQ29uc3RydWN0IGEgbmV3IGZ1bmN0aW9uIHRoYXQgZG9lcyB0aGUgc2VhcmNoaW5nLiAg V2UgdXNlIGEKICAjIGZ1bmN0aW9uIChpbnN0ZWFkIG9mIGp1c3QgZXZhbHVhdGluZyAkc2Vh cmNoIGluIHRoZSBsb29wKSBzbyB0aGF0CiAgIyAiZGllIiBpcyBjb3JyZWN0bHkgYW5kIGVh c2lseSBwcm9wYWdhdGVkIGlmIHJ1bi4KICBteSAkc2VhcmNoID0gInN1YiBzZWFyY2gge1xu bXkgXCRmb3VuZCA9IDA7XG4iOwogIGZvcmVhY2ggbXkgJGtleSAocmV2ZXJzZSBzb3J0IGtl eXMgJW1hcCkKICAgIHsKICAgICAgJHNlYXJjaCAuPSAoJ2lmICgvXGJcUScgLiAka2V5IC4g J1xFKD8hXHcpLykgeyBhZGRfbWFjcm8gKCInIC4gJGtleQoJCSAgLiAnIik7ICRmb3VuZCA9 IDE7IH0nIC4gIlxuIik7CiAgICB9CiAgJHNlYXJjaCAuPSAicmV0dXJuIFwkZm91bmQ7XG59 O1xuIjsKICBldmFsICRzZWFyY2g7CiAgcHJvZ19lcnJvciAiJEBcbiBzZWFyY2ggaXMgJHNl YXJjaCIgaWYgJEA7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgQWRkIGEgbWFjcm8gdG8gdGhlIG91dHB1 dC4Kc3ViIGFkZF9tYWNybyAoJCkKewogIG15ICgkbWFjcm8pID0gQF87CgogICMgSWdub3Jl IHVua25vd24gcmVxdWlyZWQgbWFjcm9zLiAgRWl0aGVyIHRoZXkgYXJlIG5vdCByZWFsbHkK ICAjIG5lZWRlZCAoZS5nLiwgYSBjb25kaXRpb25hbCBBQ19SRVFVSVJFKSwgaW4gd2hpY2gg Y2FzZSBhY2xvY2FsCiAgIyBzaG91bGQgYmUgcXVpZXQsIG9yIHRoZXkgYXJlIG5lZWRlZCBh bmQgQXV0b2NvbmYgaXRzZWxmIHdpbGwKICAjIGNvbXBsYWluIHdoZW4gd2UgdHJhY2UgZm9y IG1hY3JvIHVzYWdlIGxhdGVyLgogIHJldHVybiB1bmxlc3MgZGVmaW5lZCAkbWFweyRtYWNy b307CgogIHZlcmIgInNhdyBtYWNybyAkbWFjcm8iOwogICRtYWNyb19zZWVueyRtYWNyb30g PSAxOwogIGFkZF9maWxlICgkbWFweyRtYWNyb30pOwp9CgojIHNjYW5fY29uZmlndXJlX2Rl cCAoJGZpbGUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTY2FuIGEgY29uZmln dXJlIGRlcGVuZGVuY3kgKGNvbmZpZ3VyZS5hYywgb3Igc2VwYXJhdGUgbTQgZmlsZXMpCiMg Zm9yIHVzZXMgb2Yga25vd24gbWFjcm9zIGFuZCBBQ19SRVFVSVJFcyBvZiBwb3NzaWJseSB1 bmtub3duIG1hY3Jvcy4KIyBSZWN1cnNpdmVseSBzY2FuIG00X2luY2x1ZGVkIGZpbGVzLgpz dWIgc2Nhbl9jb25maWd1cmVfZGVwICgkKQp7CiAgbXkgKCRmaWxlKSA9IEBfOwogICMgRG8g bm90IHNjYW4gYSBmaWxlIHR3aWNlLgogIHJldHVybiAoKQogICAgaWYgZXhpc3RzICRzY2Fu bmVkX2NvbmZpZ3VyZV9kZXB7JGZpbGV9OwogICRzY2FubmVkX2NvbmZpZ3VyZV9kZXB7JGZp bGV9ID0gMTsKCiAgbXkgJG10aW1lID0gbXRpbWUgJGZpbGU7CiAgJGdyZWF0ZXN0X210aW1l ID0gJG10aW1lIGlmICRncmVhdGVzdF9tdGltZSA8ICRtdGltZTsKCiAgbXkgJGNvbnRlbnRz ID0gZXhpc3RzICRmaWxlX2NvbnRlbnRzeyRmaWxlfSA/CiAgICAkZmlsZV9jb250ZW50c3sk ZmlsZX0gOiBjb250ZW50cyAkZmlsZTsKCiAgbXkgJGxpbmUgPSAwOwogIG15IEBybGlzdCA9 ICgpOwogIG15IEBpbGlzdCA9ICgpOwogIGZvcmVhY2ggKHNwbGl0ICgiXG4iLCAkY29udGVu dHMpKQogICAgewogICAgICArKyRsaW5lOwogICAgICAjIFJlbW92ZSBjb21tZW50cyBmcm9t IGN1cnJlbnQgbGluZS4KICAgICAgcy9cYmRubFxiLiokLy87CiAgICAgIHMvXCMuKiQvLzsK ICAgICAgIyBBdm9pZCBydW5uaW5nIGFsbCB0aGUgZm9sbG93aW5nIHJlZ2V4ZXMgb24gd2hp dGUgbGluZXMuCiAgICAgIG5leHQgaWYgL15ccyokLzsKCiAgICAgIHdoaWxlICgvJG00X2lu Y2x1ZGVfcngvZ28pCgl7CgkgIG15ICRpZmlsZSA9ICQyIHx8ICQzOwoJICAjIFNraXAgbWlz c2luZyAnc2luY2x1ZGUnZCBmaWxlcy4KCSAgbmV4dCBpZiAkMSBuZSAnbTRfJyAmJiAhIC1m ICRpZmlsZTsKCSAgcHVzaCBAaWxpc3QsICRpZmlsZTsKCX0KCiAgICAgIHdoaWxlICgvJGFj X3JlcXVpcmVfcngvZ28pCgl7CgkgIHB1c2ggKEBybGlzdCwgJDEgfHwgJDIpOwoJfQoKICAg ICAgIyBUaGUgc2VhcmNoIGZ1bmN0aW9uIGlzIGNvbnN0cnVjdGVkIGR5bmFtaWNhbGx5IGJ5 CiAgICAgICMgc2Nhbl9tNF9maWxlcy4gIFRoZSBsYXN0IHBhcmVudGhldGljYWwgbWF0Y2gg bWFrZXMgc3VyZSB3ZQogICAgICAjIGRvbid0IG1hdGNoIHRoaW5ncyB0aGF0IGxvb2sgbGlr ZSBtYWNybyBhc3NpZ25tZW50cyBvcgogICAgICAjIEFDX1NVQlNUcy4KICAgICAgaWYgKCEg JnNlYXJjaCAmJiAvKF58XHMrKShBTV9bQS1aMC05X10rKSgkfFteXF1cKT1BLVowLTlfXSkv KQoJewoJICAjIE1hY3JvIG5vdCBmb3VuZCwgYnV0IEFNXyBwcmVmaXggZm91bmQuCgkgICMg TWFrZSB0aGlzIGp1c3QgYSB3YXJuaW5nLCBiZWNhdXNlIHdlIGRvIG5vdCBrbm93IHdoZXRo ZXIKCSAgIyB0aGUgbWFjcm8gaXMgYWN0dWFsbHkgdXNlZCAoaXQgY291bGQgYmUgY2FsbGVk IGNvbmRpdGlvbmFsbHkpLgoJICBtc2cgKCd1bnN1cHBvcnRlZCcsICIkZmlsZTokbGluZSIs CgkgICAgICAgIm1hY3JvICckMicgbm90IGZvdW5kIGluIGxpYnJhcnkiKTsKCX0KICAgIH0K CiAgYWRkX21hY3JvICgkXykgZm9yZWFjaCAoQHJsaXN0KTsKICBzY2FuX2NvbmZpZ3VyZV9k ZXAgKCRfKSBmb3JlYWNoIEBpbGlzdDsKfQoKIyBhZGRfZmlsZSAoJEZJTEUpCiMgLS0tLS0t LS0tLS0tLS0tLQojIEFkZCAkRklMRSB0byBvdXRwdXQuCnN1YiBhZGRfZmlsZSAoJCkKewog IG15ICgkZmlsZSkgPSBAXzsKCiAgIyBPbmx5IGFkZCBhIGZpbGUgb25jZS4KICByZXR1cm4g aWYgKCRmaWxlX2FkZGVkeyRmaWxlfSk7CiAgJGZpbGVfYWRkZWR7JGZpbGV9ID0gMTsKCiAg c2Nhbl9jb25maWd1cmVfZGVwICRmaWxlOwp9CgojIFBvaW50IHRvIHRoZSBkb2N1bWVudGF0 aW9uIGZvciB1bmRlcnF1b3RlZCBBQ19ERUZVTiBvbmx5IG9uY2UuCm15ICR1bmRlcnF1b3Rl ZF9tYW51YWxfb25jZSA9IDA7CgojIHNjYW5fZmlsZSAoJFRZUEUsICRGSUxFLCAkV0hFUkUp CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTY2FuIGEgc2luZ2xlIE00 IGZpbGUgKCRGSUxFKSwgYW5kIGFsbCBmaWxlcyBpdCBpbmNsdWRlcy4KIyBSZXR1cm4gdGhl IGxpc3Qgb2YgaW5jbHVkZWQgZmlsZXMuCiMgJFRZUEUgaXMgb25lIG9mIEZUX1VTRVIsIEZU X0FVVE9NQUtFLCBvciBGVF9TWVNURU0sIGRlcGVuZGluZwojIG9uIHdoZXJlIHRoZSBmaWxl IGNvbWVzIGZyb20uCiMgJFdIRVJFIGlzIHRoZSBsb2NhdGlvbiB0byB1c2UgaW4gdGhlIGRp YWdub3N0aWMgaWYgdGhlIGZpbGUKIyBkb2VzIG5vdCBleGlzdC4Kc3ViIHNjYW5fZmlsZSAo JCQkKQp7CiAgbXkgKCR0eXBlLCAkZmlsZSwgJHdoZXJlKSA9IEBfOwogIG15ICRiYXNlbmFt ZSA9IGJhc2VuYW1lICRmaWxlOwoKICAjIERvIG5vdCBzY2FuIHRoZSBzYW1lIGZpbGUgdHdp Y2UuCiAgcmV0dXJuIEB7JGZpbGVfaW5jbHVkZXN7JGZpbGV9fSBpZiBleGlzdHMgJGZpbGVf aW5jbHVkZXN7JGZpbGV9OwogICMgUHJldmVudCBwb3RlbnRpYWwgaW5maW5pdGUgcmVjdXJz aW9uIChpZiB0d28gZmlsZXMgaW5jbHVkZSBlYWNoIG90aGVyKS4KICByZXR1cm4gKCkgaWYg ZXhpc3RzICRmaWxlX2NvbnRlbnRzeyRmaWxlfTsKCiAgdW5zaGlmdCBAZmlsZV9vcmRlciwg JGZpbGU7CgogICRmaWxlX3R5cGV7JGZpbGV9ID0gJHR5cGU7CgogIGZhdGFsICIkd2hlcmU6 IGZpbGUgJyRmaWxlJyBkb2VzIG5vdCBleGlzdCIgaWYgISAtZSAkZmlsZTsKCiAgbXkgJGZo ID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAkZmlsZTsKICBteSAkY29udGVudHMgPSAnJzsKICBt eSBAaW5jX2ZpbGVzID0gKCk7CiAgbXkgJWluY19saW5lcyA9ICgpOwoKICBteSAkZGVmdW5f c2VlbiA9IDA7CiAgbXkgJHNlcmlhbF9zZWVuID0gMDsKICBteSAkc2VyaWFsX29sZGVyID0g MDsKCiAgd2hpbGUgKCRfID0gJGZoLT5nZXRsaW5lKQogICAgewogICAgICAjIElnbm9yZSAn IyMnIGxpbmVzLgogICAgICBuZXh0IGlmIC9eIyMvOwoKICAgICAgJGNvbnRlbnRzIC49ICRf OwogICAgICBteSAkbGluZSA9ICRfOwoKICAgICAgaWYgKCRsaW5lID1+IC8kc2VyaWFsX2xp bmVfcngvZ28pCgl7CgkgIG15ICRudW1iZXIgPSAkMTsKCSAgaWYgKCRudW1iZXIgIX4gLyRz ZXJpYWxfbnVtYmVyX3J4L2dvKQoJICAgIHsKCSAgICAgIG1zZyAoJ3N5bnRheCcsICIkZmls ZTokLiIsCgkJICAgImlsbC1mb3JtZWQgc2VyaWFsIG51bWJlciAnJG51bWJlcicsICIKCQkg ICAuICJleHBlY3RpbmcgYSB2ZXJzaW9uIHN0cmluZyB3aXRoIG9ubHkgZGlnaXRzIGFuZCBk b3RzIik7CgkgICAgfQoJICBlbHNpZiAoJGRlZnVuX3NlZW4pCgkgICAgewoJICAgICAgIyBh Y2xvY2FsIHJlbW92ZXMgYWxsIGRlZmluaXRpb25zIGZyb20gTTQgZmlsZSB3aXRoIHRoZQoJ ICAgICAgIyBzYW1lIGJhc2VuYW1lIGlmIGEgZ3JlYXRlciBzZXJpYWwgbnVtYmVyIGlzIGZv dW5kLgoJICAgICAgIyBFbmNvdW50ZXJpbmcgYSBzZXJpYWwgYWZ0ZXIgc29tZSBtYWNyb3Mg d2lsbCB1bmRlZmluZQoJICAgICAgIyB0aGVzZSBtYWNyb3MuLi4KCSAgICAgIG1zZyAoJ3N5 bnRheCcsICIkZmlsZTokLiIsCgkJICAgJ3RoZSBzZXJpYWwgbnVtYmVyIG11c3QgYXBwZWFy IGJlZm9yZSBhbnkgbWFjcm8gZGVmaW5pdGlvbicpOwoJICAgIH0KCSAgIyBXZSByZWFsbHkg Y2FyZSBhYm91dCBzZXJpYWxzIG9ubHkgZm9yIG5vbi1hdXRvbWFrZSBtYWNyb3MKCSAgIyBh bmQgd2hlbiAtLWluc3RhbGwgaXMgdXNlZC4gIEJ1dCB0aGUgYWJvdmUgZGlhZ25vc3RpY3Mg YXJlCgkgICMgbWFkZSByZWdhcmRsZXNzIG9mIHRoaXMsIGJlY2F1c2Ugbm90IHVzaW5nIC0t aW5zdGFsbCBpcwoJICAjIG5vdCBhIHJlYXNvbiBub3QgdGhlIGZpeCBtYWNybyBmaWxlcy4K CSAgZWxzaWYgKCRpbnN0YWxsICYmICR0eXBlICE9IEZUX0FVVE9NQUtFKQoJICAgIHsKCSAg ICAgICRzZXJpYWxfc2VlbiA9IDE7CgkgICAgICBteSBAbmV3ID0gc3BsaXQgKC9cLi8sICRu dW1iZXIpOwoKCSAgICAgIHZlcmIgIiRmaWxlOiQuOiBzZXJpYWwgJG51bWJlciI7CgoJICAg ICAgaWYgKCFleGlzdHMgJHNlcmlhbHskYmFzZW5hbWV9CgkJICB8fCBsaXN0X2NvbXBhcmUg KEBuZXcsIEB7JHNlcmlhbHskYmFzZW5hbWV9fSkgPiAwKQoJCXsKCQkgICMgRGVsZXRlIGFu eSBkZWZpbml0aW9uIHdlIGtuZXcgZnJvbSB0aGUgb2xkIG1hY3JvLgoJCSAgZm9yZWFjaCBt eSAkZGVmIChAeyRpbnZtYXB7JGJhc2VuYW1lfX0pCgkJICAgIHsKCQkgICAgICB2ZXJiICIk ZmlsZTokLjogaWdub3JpbmcgcHJldmlvdXMgZGVmaW5pdGlvbiBvZiAkZGVmIjsKCQkgICAg ICBkZWxldGUgJG1hcHskZGVmfTsKCQkgICAgfQoJCSAgJGludm1hcHskYmFzZW5hbWV9ID0g W107CgkJICAkc2VyaWFseyRiYXNlbmFtZX0gPSBcQG5ldzsKCQl9CgkgICAgICBlbHNlCgkJ ewoJCSAgJHNlcmlhbF9vbGRlciA9IDE7CgkJfQoJICAgIH0KCX0KCiAgICAgICMgUmVtb3Zl IGNvbW1lbnRzIGZyb20gY3VycmVudCBsaW5lLgogICAgICAjIERvIG5vdCBkbyBpdCBlYXJs aWVyLCBiZWNhdXNlIHRoZSBzZXJpYWwgbGluZSBpcyBhIGNvbW1lbnQuCiAgICAgICRsaW5l ID1+IHMvXGJkbmxcYi4qJC8vOwogICAgICAkbGluZSA9fiBzL1wjLiokLy87CgogICAgICB3 aGlsZSAoJGxpbmUgPX4gLyRhY19kZWZ1bl9yeC9nbykKCXsKCSAgJGRlZnVuX3NlZW4gPSAx OwoJICBpZiAoISBkZWZpbmVkICQxKQoJICAgIHsKCSAgICAgIG1zZyAoJ3N5bnRheCcsICIk ZmlsZTokLiIsICJ1bmRlcnF1b3RlZCBkZWZpbml0aW9uIG9mICQyIgoJCSAgIC4gIlxuICBy dW4gaW5mbyBBdXRvbWFrZSAnRXh0ZW5kaW5nIGFjbG9jYWwnXG4iCgkJICAgLiAiICBvciBz ZWUgaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS9tYW51YWwvIgoJCSAg IC4gImF1dG9tYWtlLmh0bWwjRXh0ZW5kaW5nLWFjbG9jYWwiKQoJCXVubGVzcyAkdW5kZXJx dW90ZWRfbWFudWFsX29uY2U7CgkgICAgICAkdW5kZXJxdW90ZWRfbWFudWFsX29uY2UgPSAx OwoJICAgIH0KCgkgICMgSWYgdGhpcyBtYWNybyBkb2VzIG5vdCBoYXZlIGEgc2VyaWFsIGFu ZCB3ZSBoYXZlIGFscmVhZHkKCSAgIyBzZWVuIGEgbWFjcm8gd2l0aCB0aGUgc2FtZSBiYXNl bmFtZSBlYXJsaWVyLCB3ZSBzaG91bGQKCSAgIyBpZ25vcmUgdGhlIG1hY3JvIChkb24ndCBl eGl0IGltbWVkaWF0ZWx5IHNvIHdlIGNhbiBzdGlsbAoJICAjIGRpYWdub3NlIGxhdGVyICNz ZXJpYWwgbnVtYmVycyBhbmQgdW5kZXJxdW90ZWQgbWFjcm9zKS4KCSAgJHNlcmlhbF9vbGRl ciB8fD0gKCR0eXBlICE9IEZUX0FVVE9NQUtFCgkJCSAgICAgJiYgISRzZXJpYWxfc2VlbiAm JiBleGlzdHMgJHNlcmlhbHskYmFzZW5hbWV9KTsKCgkgIG15ICRtYWNybyA9ICQxIHx8ICQy OwoJICBpZiAoISRzZXJpYWxfb2xkZXIgJiYgIWRlZmluZWQgJG1hcHskbWFjcm99KQoJICAg IHsKCSAgICAgIHZlcmIgImZvdW5kIG1hY3JvICRtYWNybyBpbiAkZmlsZTogJC4iOwoJICAg ICAgJG1hcHskbWFjcm99ID0gJGZpbGU7CgkgICAgICBwdXNoIEB7JGludm1hcHskYmFzZW5h bWV9fSwgJG1hY3JvOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICMgTm90ZTogd2Ug dXNlZCB0byBnaXZlIGFuIGVycm9yIGhlcmUgaWYgd2Ugc2F3IGEKCSAgICAgICMgZHVwbGlj YXRlZCBtYWNyby4gIEhvd2V2ZXIsIHRoaXMgdHVybnMgb3V0IHRvIGJlCgkgICAgICAjIGV4 dHJlbWVseSB1bnBvcHVsYXIuICBJdCBjYXVzZXMgYWN0dWFsIHByb2JsZW1zIHdoaWNoCgkg ICAgICAjIGFyZSBoYXJkIHRvIHdvcmsgYXJvdW5kLCBlc3BlY2lhbGx5IHdoZW4geW91IG11 c3QKCSAgICAgICMgbWl4LWFuZC1tYXRjaCB0b29sIHZlcnNpb25zLgoJICAgICAgdmVyYiAi aWdub3JpbmcgbWFjcm8gJG1hY3JvIGluICRmaWxlOiAkLiI7CgkgICAgfQoJfQoKICAgICAg d2hpbGUgKCRsaW5lID1+IC8kbTRfaW5jbHVkZV9yeC9nbykKCXsKCSAgbXkgJGlmaWxlID0g JDIgfHwgJDM7CgkgICMgU2tpcCBtaXNzaW5nICdzaW5jbHVkZSdkIGZpbGVzLgoJICBuZXh0 IGlmICQxIG5lICdtNF8nICYmICEgLWYgJGlmaWxlOwoJICBwdXNoIChAaW5jX2ZpbGVzLCAk aWZpbGUpOwoJICAkaW5jX2xpbmVzeyRpZmlsZX0gPSAkLjsKCX0KICAgIH0KCiAgIyBJZ25v cmUgYW55IGZpbGUgdGhhdCBoYXMgYW4gb2xkIHNlcmlhbCAob3Igbm8gc2VyaWFsIGlmIHdl IGtub3cKICAjIGFub3RoZXIgb25lIHdpdGggYSBzZXJpYWwpLgogIHJldHVybiAoKQogICAg aWYgKCRzZXJpYWxfb2xkZXIgfHwKCSgkdHlwZSAhPSBGVF9BVVRPTUFLRSAmJiAhJHNlcmlh bF9zZWVuICYmIGV4aXN0cyAkc2VyaWFseyRiYXNlbmFtZX0pKTsKCiAgJGZpbGVfY29udGVu dHN7JGZpbGV9ID0gJGNvbnRlbnRzOwoKICAjIEZvciBzb21lIHJlYXNvbiBJIGRvbid0IHVu ZGVyc3RhbmQsIGl0IGRvZXMgbm90IHdvcmsKICAjIHRvIGRvICJtYXAgeyBzY2FuX2ZpbGUg KCRfLCAuLi4pIH0gQGluY19maWxlcyIgYmVsb3cuCiAgIyBXaXRoIFBlcmwgNS44LjIgaXQg dW5kZWZpbmVzIEBpbmNfZmlsZXMuCiAgbXkgQGNvcHkgPSBAaW5jX2ZpbGVzOwogIG15IEBh bGxfaW5jX2ZpbGVzID0gKEBpbmNfZmlsZXMsCgkJICAgICAgIG1hcCB7IHNjYW5fZmlsZSAo JHR5cGUsICRfLAoJCQkJCSIkZmlsZTokaW5jX2xpbmVzeyRffSIpIH0gQGNvcHkpOwogICRm aWxlX2luY2x1ZGVzeyRmaWxlfSA9IFxAYWxsX2luY19maWxlczsKICByZXR1cm4gQGFsbF9p bmNfZmlsZXM7Cn0KCiMgc3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICglRklMRVMpCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRWFjaCBrZXkgaW4gJUZJTEVTIGlz IGEgZmlsZSB0aGF0IG11c3QgYmUgcHJlc2VudCBpbiB0aGUgb3V0cHV0LgojIEhvd2V2ZXIg c29tZSBvZiB0aGVzZSBmaWxlcyBtaWdodCBhbHJlYWR5IGluY2x1ZGUgb3RoZXIgZmlsZXMg aW4gJUZJTEVTLAojIHNvIHRoZXJlIGlzIG5vIHBvaW50IGluIGluY2x1ZGluZyB0aGVtIGFu b3RoZXIgdGltZS4KIyBUaGlzIHJlbW92ZXMgaXRlbXMgb2YgJUZJTEVTIHdoaWNoIGFyZSBh bHJlYWR5IGluY2x1ZGVkIGJ5IGFub3RoZXIgZmlsZS4Kc3ViIHN0cmlwX3JlZHVuZGFudF9p bmNsdWRlcyAoJSkKewogIG15ICVmaWxlcyA9IEBfOwoKICAjIEFsd2F5cyBpbmNsdWRlIGFj aW5jbHVkZS5tNCwgZXZlbiBpZiBpdCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgdXNlZC4KICAk ZmlsZXN7J2FjaW5jbHVkZS5tNCd9ID0gMSBpZiAtZiAnYWNpbmNsdWRlLm00JzsKICAjIEZp bGUgaW5jbHVkZWQgYnkgJGNvbmZpZ3VyZV9hYyBhcmUgcmVkdW5kYW50LgogICRmaWxlc3sk Y29uZmlndXJlX2FjfSA9IDE7CgogICMgRmlsZXMgYXQgdGhlIGVuZCBvZiBAZmlsZV9vcmRl ciBzaG91bGQgb3ZlcnJpZGUgdGhvc2UgYXQgdGhlIGJlZ2lubmluZywKICAjIHNvIGl0IGlz IGltcG9ydGFudCB0byBwcmVzZXJ2ZSB0aGVzZSB0cmFpbGluZyBmaWxlcy4gIFdlIGNhbiBy ZW1vdmUKICAjIGEgZmlsZSBBIGlmIGl0IGlzIGdvaW5nIHRvIGJlIG91dHB1dCBiZWZvcmUg YSBmaWxlIEIgdGhhdCBpbmNsdWRlcwogICMgZmlsZSBBLCBub3QgdGhlIGNvbnZlcnNlLgog IGZvcmVhY2ggbXkgJGZpbGUgKHJldmVyc2UgQGZpbGVfb3JkZXIpCiAgICB7CiAgICAgIG5l eHQgdW5sZXNzIGV4aXN0cyAkZmlsZXN7JGZpbGV9OwogICAgICBmb3JlYWNoIG15ICRpZmls ZSAoQHskZmlsZV9pbmNsdWRlc3skZmlsZX19KQoJewoJICBuZXh0IHVubGVzcyBleGlzdHMg JGZpbGVzeyRpZmlsZX07CgkgIGRlbGV0ZSAkZmlsZXN7JGlmaWxlfTsKCSAgdmVyYiAiJGlm aWxlIGlzIGFscmVhZHkgaW5jbHVkZWQgYnkgJGZpbGUiOwoJfQogICAgfQoKICAjIGNvbmZp Z3VyZS5hYyBpcyBpbXBsaWNpdGx5IGluY2x1ZGVkLgogIGRlbGV0ZSAkZmlsZXN7JGNvbmZp Z3VyZV9hY307CgogIHJldHVybiAlZmlsZXM7Cn0KCnN1YiB0cmFjZV91c2VkX21hY3JvcyAo KQp7CiAgbXkgJWZpbGVzID0gbWFwIHsgJG1hcHskX30gPT4gMSB9IGtleXMgJW1hY3JvX3Nl ZW47CiAgJWZpbGVzID0gc3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICVmaWxlczsKCiAgIyBX aGVuIEFDX0NPTkZJR19NQUNST19ESVJTIGlzIHVzZWQsIGF2b2lkIHBvc3NpYmxlIHNwdXJp b3VzIHdhcm5pbmdzCiAgIyBmcm9tIGF1dG9tNHRlIGFib3V0IG1hY3JvcyBiZWluZyAibTRf cmVxdWlyZSdkIGJ1dCBub3QgbTRfZGVmdW4nZCI7CiAgIyBmb3IgbW9yZSBiYWNrZ3JvdW5k LCBzZWU6CiAgIyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9jb25m LXBhdGNoZXMvMjAxMi0xMS9tc2cwMDAwNC5odG1sCiAgIyBhcyB3ZWxsIGFzIGF1dG9jb25m IGNvbW1pdCAndjIuNjktNDQtZzFlZDA1NDgnLCAid2FybjogYWxsb3cgYWNsb2NhbAogICMg dG8gc2lsZW5jZSBtNF9yZXF1aXJlIHdhcm5pbmdzIi4KICBteSAkZWFybHlfbTRfY29kZSAu PSAibTRfZGVmaW5lKFttNF9yZXF1aXJlX3NpbGVudF9wcm9iZV0sIFstXSkiOwoKICBteSAk dHJhY2VzID0gKCRFTlZ7QVVUT000VEV9IHx8ICdhdXRvbTR0ZScpOwogICR0cmFjZXMgLj0g IiAtLWxhbmd1YWdlIEF1dG9jb25mLXdpdGhvdXQtYWNsb2NhbC1tNCAiOwogICR0cmFjZXMg PSAiZWNobyAnJGVhcmx5X200X2NvZGUnIHwgJHRyYWNlcyAtICI7CgogICMgU3VwcG9ydCBB Q19DT05GSUdfTUFDUk9fRElSUyBhbHNvIHdpdGggb2xkZXIgYXV0b2NvbmYuCiAgIyBOb3Rl IHRoYXQgd2UgY2FuJ3QgdXNlICckYWNfY29uZmlnX21hY3JvX2RpcnNfZmFsbGJhY2snIGhl cmUsIGJlY2F1c2UKICAjIGEgYnVnIGluIG9wdGlvbiBwYXJzaW5nIGNvZGUgb2YgYXV0b200 dGUgMi42OCBhbmQgZWFybGllciB3aWxsIGNhdXNlCiAgIyBpdCB0byByZWFkIHN0YW5kYXJk IGlucHV0IGxhc3QsIGV2ZW4gaWYgdGhlICItIiBhcmd1bWVudCBpcyBzcGVjaWZpZWQKICAj IGVhcmx5LgogICMgRklYTUU6IFRvIGJlIHJlbW92ZWQgaW4gQXV0b21ha2UgMi4wLCBvbmNl IHdlIGNhbiBhc3N1bWUgYXV0b2NvbmYKICAjICAgICAgICAyLjcwIG9yIGxhdGVyLgogICR0 cmFjZXMgLj0gIiRhdXRvbWFrZV9pbmNsdWRlc1swXS9pbnRlcm5hbC9hYy1jb25maWctbWFj cm8tZGlycy5tNCAiOwoKICAjIEFsbCBjYW5kaWRhdGUgZmlsZXMuCiAgJHRyYWNlcyAuPSBq b2luICgnICcsCgkJICAgKG1hcCB7ICInJF8nIiB9CgkJICAgIChncmVwIHsgZXhpc3RzICRm aWxlc3skX30gfSBAZmlsZV9vcmRlcikpKSAuICIgIjsKCiAgIyBBbGwgY2FuZGlkYXRlIG1h Y3Jvcy4KICAkdHJhY2VzIC49IGpvaW4gKCcgJywKCQkgICAobWFwIHsgIi0tdHJhY2U9JyRf OlwkZjo6XCRuOjpcJHs6On0lJyIgfQoJCSAgICAoJ0FDX0RFRlVOJywKCQkgICAgICdBQ19E RUZVTl9PTkNFJywKCQkgICAgICdBVV9ERUZVTicsCgkJICAgICAnX0FNX0FVVE9DT05GX1ZF UlNJT04nLAoJCSAgICAgJ0FDX0NPTkZJR19NQUNST19ESVJfVFJBQ0UnLAogICAgICAgICAg ICAgICAgICAgICAjIEZJWE1FOiBUcmFjaW5nIHRoZSBuZXh0IHR3byBtYWNyb3MgaXMgYSBo YWNrIGZvcgogICAgICAgICAgICAgICAgICAgICAjIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRl ciBhdXRvY29uZi4gIFJlbW92ZSB0aGlzIGluCiAgICAgICAgICAgICAgICAgICAgICMgQXV0 b21ha2UgMi4wLCB3aGVuIHdlIGNhbiBhc3N1bWUgQXV0b2NvbmYgMi43MCBvcgogICAgICAg ICAgICAgICAgICAgICAjIGxhdGVyLgoJCSAgICAgJ0FDX0NPTkZJR19NQUNST19ESVInLAoJ CSAgICAgJ19BTV9DT05GSUdfTUFDUk9fRElSUycpKSwKCQkgICAjIERvIG5vdCB0cmFjZSAk MSBmb3IgYWxsIG90aGVyIG1hY3JvcyBhcyB3ZSBkbwoJCSAgICMgbm90IG5lZWQgaXQgYW5k IGl0IG1pZ2h0IGNvbnRhaW5zIGhhcm1mdWwKCQkgICAjIGNoYXJhY3RlcnMgKGxpa2UgbmV3 bGluZXMpLgoJCSAgIChtYXAgeyAiLS10cmFjZT0nJF86XCRmOjpcJG4nIiB9IChrZXlzICVt YWNyb19zZWVuKSkpOwoKICB2ZXJiICJydW5uaW5nICR0cmFjZXMgJGNvbmZpZ3VyZV9hYyI7 CgogIG15ICR0cmFjZWZoID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAoIiR0cmFjZXMgJGNvbmZp Z3VyZV9hYyB8Iik7CgogIEBhY19jb25maWdfbWFjcm9fZGlycyA9ICgpOwoKICBteSAldHJh Y2VkID0gKCk7CgogIHdoaWxlICgkXyA9ICR0cmFjZWZoLT5nZXRsaW5lKQogICAgewogICAg ICBjaG9tcDsKICAgICAgbXkgKCRmaWxlLCAkbWFjcm8sICRhcmcxKSA9IHNwbGl0ICgvOjov KTsKCiAgICAgICR0cmFjZWR7JG1hY3JvfSA9IDEgaWYgZXhpc3RzICRtYWNyb19zZWVueyRt YWNyb307CgogICAgICBpZiAoJG1hY3JvIGVxICdBQ19ERUZVTicgfHwgJG1hY3JvIGVxICdB Q19ERUZVTl9PTkNFJwogICAgICAgICAgICB8fCAkbWFjcm8gZXEgJ0FVX0RFRlVOJykKICAg ICAgICB7CiAgICAgICAgICAkbWFwX3RyYWNlZF9kZWZzeyRhcmcxfSA9ICRmaWxlOwogICAg ICAgIH0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnX0FNX0FVVE9DT05GX1ZFUlNJT04nKQog ICAgICAgIHsKICAgICAgICAgICRhY192ZXJzaW9uID0gJGFyZzE7CiAgICAgICAgfQogICAg ICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DT05GSUdfTUFDUk9fRElSX1RSQUNFJykKICAgICAg ICB7CiAgICAgICAgICBwdXNoIEBhY19jb25maWdfbWFjcm9fZGlycywgJGFyZzE7CiAgICAg ICAgfQogICAgICAjIEZJWE1FOiBXZSBzdGlsbCBuZWVkIHRvIHRyYWNlIEFDX0NPTkZJR19N QUNST19ESVIKICAgICAgIyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIGF1dG9jb25m LiAgUmVtb3ZlIHRoaXMKICAgICAgIyBvbmNlIHdlIGNhbiBhc3N1bWUgQXV0b2NvbmYgMi43 MCBvciBsYXRlci4KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklHX01BQ1JPX0RJ UicpCiAgICAgICAgewogICAgICAgICAgQGFjX2NvbmZpZ19tYWNyb19kaXJzID0gKCRhcmcx KTsKICAgICAgICB9CiAgICAgICMgRklYTUU6VGhpcyBpcyBhbiBoYWNrIGZvciBjb21wYXRp YmlsaXR5IHdpdGggb2xkZXIgYXV0b2NvbmYuCiAgICAgICMgUmVtb3ZlIHRoaXMgb25jZSB3 ZSBjYW4gYXNzdW1lIEF1dG9jb25mIDIuNzAgb3IgbGF0ZXIuCiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ19BTV9DT05GSUdfTUFDUk9fRElSUycpCiAgICAgICAgewogICAgICAgICAgICMg RW1wdHkgbGVhZGluZy90cmFpbGluZyBmaWVsZHMgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3Bs aXQsCiAgICAgICAgICAgIyBoZW5jZSB0aGUgZ3JlcCBpcyByZWFsbHkgbmVlZGVkLgogICAg ICAgICAgIHB1c2ggQGFjX2NvbmZpZ19tYWNyb19kaXJzLCBncmVwICgvLi8sIChzcGxpdCAv XHMrLywgJGFyZzEpKTsKICAgICAgICB9CiAgICB9CgogICMgRklYTUU6IGluIEF1dG9jb25m ID49IDIuNzAsIEFDX0NPTkZJR19NQUNST19ESVIgY2FsbHMKICAjIEFDX0NPTkZJR19NQUNS T19ESVJfVFJBQ0UgYmVoaW5kIHRoZSBzY2VuZXMsIHdoaWNoIGNvdWxkCiAgIyBsZWF2ZSB1 bndhbnRlZCBkdXBsaWNhdGVzIGluIEBhY19jb25maWdfbWFjcm9fZGlycy4KICAjIFJlbW92 ZSB0aGlzIGluIEF1dG9tYWtlIDIuMCwgd2hlbiB3ZSdsbCBzdG9wIHRyYWNpbmcKICAjIEFD X0NPTkZJR19NQUNST19ESVIgZXhwbGljaXRseS4KICBAYWNfY29uZmlnX21hY3JvX2RpcnMg PSB1bmlxIEBhY19jb25maWdfbWFjcm9fZGlyczsKCiAgJHRyYWNlZmgtPmNsb3NlOwoKICBy ZXR1cm4gJXRyYWNlZDsKfQoKc3ViIHNjYW5fY29uZmlndXJlICgpCnsKICAjIE1ha2Ugc3Vy ZSB3ZSBpbmNsdWRlIGFjaW5jbHVkZS5tNCBpZiBpdCBleGlzdHMuCiAgaWYgKC1mICdhY2lu Y2x1ZGUubTQnKQogICAgewogICAgICBhZGRfZmlsZSAoJ2FjaW5jbHVkZS5tNCcpOwogICAg fQogIHNjYW5fY29uZmlndXJlX2RlcCAoJGNvbmZpZ3VyZV9hYyk7Cn0KCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiMgV3JpdGUgb3V0cHV0LgojIFJldHVybiAwIGlmZiBzb21lIGZpbGVzIHdlcmUgaW5zdGFs bGVkIGxvY2FsbHkuCnN1YiB3cml0ZV9hY2xvY2FsICgkQCkKewogIG15ICgkb3V0cHV0X2Zp bGUsIEBtYWNyb3MpID0gQF87CiAgbXkgJG91dHB1dCA9ICcnOwoKICBteSAlZmlsZXMgPSAo KTsKICAjIEdldCB0aGUgbGlzdCBvZiBmaWxlcyBjb250YWluaW5nIGRlZmluaXRpb25zIGZv ciB0aGUgbWFjcm9zIHVzZWQuCiAgIyAoRmlsdGVyIG91dCB1bnVzZWQgbWFjcm8gZGVmaW5p dGlvbnMgd2l0aCAkbWFwX3RyYWNlZF9kZWZzLiAgVGhpcwogICMgY2FuIGhhcHBlbiB3aGVu IGFuIEF1dG9jb25mIG1hY3JvIGlzIGNvbmRpdGlvbmFsbHkgZGVmaW5lZDoKICAjIGFjbG9j YWwgc2VlcyB0aGUgcG90ZW50aWFsIGRlZmluaXRpb24sIGJ1dCB0aGlzIGRlZmluaXRpb24g aXMKICAjIGFjdHVhbGx5IG5ldmVyIHByb2Nlc3NlZCBhbmQgdGhlIEF1dG9jb25mIGltcGxl bWVudGF0aW9uIGlzIHVzZWQKICAjIGluc3RlYWQuKQogIGZvciBteSAkbSAoQG1hY3JvcykK ICAgIHsKICAgICAgJGZpbGVzeyRtYXB7JG19fSA9IDEKCWlmIChleGlzdHMgJG1hcF90cmFj ZWRfZGVmc3skbX0KCSAgICAmJiAkbWFweyRtfSBlcSAkbWFwX3RyYWNlZF9kZWZzeyRtfSk7 CiAgICB9CiAgIyBEbyBub3QgZXhwbGljaXRseSBpbmNsdWRlIGEgZmlsZSB0aGF0IGlzIGFs cmVhZHkgaW5kaXJlY3RseSBpbmNsdWRlZC4KICAlZmlsZXMgPSBzdHJpcF9yZWR1bmRhbnRf aW5jbHVkZXMgJWZpbGVzOwoKICBteSAkaW5zdGFsbGVkID0gMDsKCiAgZm9yIG15ICRmaWxl IChncmVwIHsgZXhpc3RzICRmaWxlc3skX30gfSBAZmlsZV9vcmRlcikKICAgIHsKICAgICAg IyBDaGVjayB0aGUgdGltZSBzdGFtcCBvZiB0aGlzIGZpbGUsIGFuZCBvZiBhbGwgZmlsZXMg aXQgaW5jbHVkZXMuCiAgICAgIGZvciBteSAkaWZpbGUgKCRmaWxlLCBAeyRmaWxlX2luY2x1 ZGVzeyRmaWxlfX0pCgl7CgkgIG15ICRtdGltZSA9IG10aW1lICRpZmlsZTsKCSAgJGdyZWF0 ZXN0X210aW1lID0gJG10aW1lIGlmICRncmVhdGVzdF9tdGltZSA8ICRtdGltZTsKCX0KCiAg ICAgICMgSWYgdGhlIGZpbGUgdG8gYWRkIGxvb2tzIGxpa2Ugb3V0c2lkZSB0aGUgcHJvamVj dCwgY29weSBpdAogICAgICAjIHRvIHRoZSBvdXRwdXQuICBUaGUgcmVnZXggY2F0Y2hlcyBm aWxlbmFtZXMgc3RhcnRpbmcgd2l0aAogICAgICAjIHRoaW5ncyBsaWtlICcvJywgJ1wnLCBv ciAnYzpcJy4KICAgICAgaWYgKCRmaWxlX3R5cGV7JGZpbGV9ICE9IEZUX1VTRVIKCSAgfHwg JGZpbGUgPX4gbSxeKD86XHc6KT9bXFwvXSwpCgl7CgkgIGlmICghJGluc3RhbGwgfHwgJGZp bGVfdHlwZXskZmlsZX0gIT0gRlRfU1lTVEVNKQoJICAgIHsKCSAgICAgICMgQ29weSB0aGUg ZmlsZSBpbnRvIGFjbG9jYWwubTQuCgkgICAgICAkb3V0cHV0IC49ICRmaWxlX2NvbnRlbnRz eyRmaWxlfSAuICJcbiI7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgIyBJbnN0YWxs IHRoZSBmaWxlIChhbmQgYW55IGZpbGUgaXQgaW5jbHVkZXMpLgoJICAgICAgbXkgJGRlc3Q7 CgkgICAgICBmb3IgbXkgJGlmaWxlIChAeyRmaWxlX2luY2x1ZGVzeyRmaWxlfX0sICRmaWxl KQoJCXsKCQkgIGluc3RhbGxfZmlsZSAoJGlmaWxlLCAkdXNlcl9pbmNsdWRlc1swXSk7CgkJ fQoJICAgICAgJGluc3RhbGxlZCA9IDE7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgICMg T3RoZXJ3aXNlLCBzaW1wbHkgaW5jbHVkZSB0aGUgZmlsZS4KCSAgJG91dHB1dCAuPSAibTRf aW5jbHVkZShbJGZpbGVdKVxuIjsKCX0KICAgIH0KCiAgaWYgKCRpbnN0YWxsZWQpCiAgICB7 CiAgICAgIHZlcmIgInJ1bm5pbmcgYWNsb2NhbCBhbmV3LCBiZWNhdXNlIHNvbWUgZmlsZXMg d2VyZSBpbnN0YWxsZWQgbG9jYWxseSI7CiAgICAgIHJldHVybiAwOwogICAgfQoKICAjIE5v dGhpbmcgdG8gb3V0cHV0PyEKICAjIEZJWE1FOiBTaG91bGRuJ3Qgd2UgZGlhZ25vc2UgdGhp cz8KICByZXR1cm4gMSBpZiAhIGxlbmd0aCAoJG91dHB1dCk7CgogIGlmICgkYWNfdmVyc2lv bikKICAgIHsKICAgICAgIyBEbyBub3QgdXNlICIkb3V0cHV0X2ZpbGUiIGhlcmUgZm9yIHRo ZSBzYW1lIHJlYXNvbiB3ZSBkbyBub3QKICAgICAgIyB1c2UgaXQgaW4gdGhlIGhlYWRlciBi ZWxvdy4gIGF1dG9tNHRlIHdpbGwgb3V0cHV0IHRoZSBuYW1lIG9mCiAgICAgICMgdGhlIGZp bGUgaW4gdGhlIGRpYWdub3N0aWMgYW55d2F5LgogICAgICAkb3V0cHV0ID0gIm00X2lmbmRl ZihbQUNfQVVUT0NPTkZfVkVSU0lPTl0sCiAgW200X2NvcHkoW200X1BBQ0tBR0VfVkVSU0lP Tl0sIFtBQ19BVVRPQ09ORl9WRVJTSU9OXSldKWRubAptNF9pZihtNF9kZWZuKFtBQ19BVVRP Q09ORl9WRVJTSU9OXSksIFskYWNfdmVyc2lvbl0sLApbbTRfd2FybmluZyhbdGhpcyBmaWxl IHdhcyBnZW5lcmF0ZWQgZm9yIGF1dG9jb25mICRhY192ZXJzaW9uLgpZb3UgaGF2ZSBhbm90 aGVyIHZlcnNpb24gb2YgYXV0b2NvbmYuICBJdCBtYXkgd29yaywgYnV0IGlzIG5vdCBndWFy YW50ZWVkIHRvLgpJZiB5b3UgaGF2ZSBwcm9ibGVtcywgeW91IG1heSBuZWVkIHRvIHJlZ2Vu ZXJhdGUgdGhlIGJ1aWxkIHN5c3RlbSBlbnRpcmVseS4KVG8gZG8gc28sIHVzZSB0aGUgcHJv Y2VkdXJlIGRvY3VtZW50ZWQgYnkgdGhlIHBhY2thZ2UsIHR5cGljYWxseSAnYXV0b3JlY29u ZicuXSldKQoKJG91dHB1dCI7CiAgICB9CgogICMgV2UgdXNlZCB0byBwcmludCAiIyAkb3V0 cHV0X2ZpbGUgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZXRjLiIgIEJ1dAogICMgdGhpcyBj cmVhdGVzIHNwdXJpb3VzIGRpZmZlcmVuY2VzIHdoZW4gdXNpbmcgYXV0b3JlY29uZi4gIEF1 dG9yZWNvbmYKICAjIGNyZWF0ZXMgYWNsb2NhbC5tNHQgYW5kIHRoZW4gcmVuYW1lIGl0IHRv IGFjbG9jYWwubTQsIGJ1dCB0aGUKICAjIHJlYnVpbGQgcnVsZXMgZ2VuZXJhdGVkIGJ5IEF1 dG9tYWtlIGNyZWF0ZSBhY2xvY2FsLm00IGRpcmVjdGx5IC0tCiAgIyB0aGlzIHdvdWxkIGdp dmVzIHR3byB3YXlzIHRvIGdldCB0aGUgc2FtZSBmaWxlLCB3aXRoIGEgZGlmZmVyZW50CiAg IyBuYW1lIGluIHRoZSBoZWFkZXIuCiAgJG91dHB1dCA9ICIjIGdlbmVyYXRlZCBhdXRvbWF0 aWNhbGx5IGJ5IGFjbG9jYWwgJFZFUlNJT04gLSotIEF1dG9jb25mIC0qLQoKIyBDb3B5cmln aHQgKEMpIDE5OTYtJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KCiMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24KIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBk aXN0cmlidXRlIGl0LAojIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25n IGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXc7IHdpdGhv dXQKIyBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBCiMgUEFSVElDVUxBUiBQVVJQT1NFLgoKJGFjX2NvbmZpZ19tYWNyb19k aXJzX2ZhbGxiYWNrCiRvdXRwdXQiOwoKICAjIFdlIHRyeSBub3QgdG8gdXBkYXRlICRvdXRw dXRfZmlsZSB1bmxlc3MgbmVjZXNzYXJ5LCBiZWNhdXNlCiAgIyBkb2luZyBzbyBpbnZhbGlk YXRlIEF1dG9tNHRlJ3MgY2FjaGUgYW5kIHRoZXJlZm9yZSBzbG93cyBkb3duCiAgIyB0b29s cyBjYWxsZWQgYWZ0ZXIgYWNsb2NhbC4KICAjCiAgIyBXZSBuZWVkIHRvIG92ZXJ3cml0ZSAk b3V0cHV0X2ZpbGUgaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zLgogICMgICAqIFRoZSAt LWZvcmNlIG9wdGlvbiBpcyBpbiB1c2UuCiAgIyAgICogT25lIG9mIHRoZSBkZXBlbmRlbmNp ZXMgaXMgeW91bmdlci4KICAjICAgICAoTm90IHVwZGF0aW5nICRvdXRwdXRfZmlsZSBpbiB0 aGlzIHNpdHVhdGlvbiB3b3VsZCBjYXVzZQogICMgICAgIG1ha2UgdG8gY2FsbCBhY2xvY2Fs IGluIGxvb3AuKQogICMgICAqIFRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBmaWxlIGFy ZSBkaWZmZXJlbnQgZnJvbSB3aGF0CiAgIyAgICAgd2UgaGF2ZSBjb21wdXRlZC4KICBpZiAo ISRmb3JjZV9vdXRwdXQKICAgICAgJiYgJGdyZWF0ZXN0X210aW1lIDwgbXRpbWUgKCRvdXRw dXRfZmlsZSkKICAgICAgJiYgJG91dHB1dCBlcSBjb250ZW50cyAoJG91dHB1dF9maWxlKSkK ICAgIHsKICAgICAgdmVyYiAiJG91dHB1dF9maWxlIHVuY2hhbmdlZCI7CiAgICAgIHJldHVy biAxOwogICAgfQoKICB2ZXJiICJ3cml0aW5nICRvdXRwdXRfZmlsZSI7CgogIGlmICghJGRy eV9ydW4pCiAgICB7CiAgICAgIGlmICgtZSAkb3V0cHV0X2ZpbGUgJiYgIXVubGluayAkb3V0 cHV0X2ZpbGUpCiAgICAgICAgewoJICBmYXRhbCAiY291bGQgbm90IHJlbW92ZSAnJG91dHB1 dF9maWxlJzogJCEiOwoJfQogICAgICBteSAkb3V0ID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAi PiAkb3V0cHV0X2ZpbGUiOwogICAgICBwcmludCAkb3V0ICRvdXRwdXQ7CiAgICB9CiAgcmV0 dXJuIDE7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgUHJpbnQgdXNhZ2UgYW5kIGV4aXQuCnN1YiB1c2Fn ZSAoJCkKewogIG15ICgkc3RhdHVzKSA9IEBfOwoKICBwcmludCA8PCdFT0YnOwpVc2FnZTog YWNsb2NhbCBbT1BUSU9OXS4uLgoKR2VuZXJhdGUgJ2FjbG9jYWwubTQnIGJ5IHNjYW5uaW5n ICdjb25maWd1cmUuYWMnIG9yICdjb25maWd1cmUuaW4nCgpPcHRpb25zOgogICAgICAtLWF1 dG9tYWtlLWFjZGlyPURJUiAgZGlyZWN0b3J5IGhvbGRpbmcgYXV0b21ha2UtcHJvdmlkZWQg bTQgZmlsZXMKICAgICAgLS1zeXN0ZW0tYWNkaXI9RElSICAgIGRpcmVjdG9yeSBob2xkaW5n IHRoaXJkLXBhcnR5IHN5c3RlbS13aWRlIGZpbGVzCiAgICAgIC0tZGlmZls9Q09NTUFORF0g ICAgICBydW4gQ09NTUFORCBbZGlmZiAtdV0gb24gTTQgZmlsZXMgdGhhdCB3b3VsZCBiZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCAoaW1wbGllcyAtLWluc3RhbGwg YW5kIC0tZHJ5LXJ1bikKICAgICAgLS1kcnktcnVuICAgICAgICAgICAgIHByZXRlbmQgdG8s IGJ1dCBkbyBub3QgYWN0dWFsbHkgdXBkYXRlIGFueSBmaWxlCiAgICAgIC0tZm9yY2UgICAg ICAgICAgICAgICBhbHdheXMgdXBkYXRlIG91dHB1dCBmaWxlCiAgICAgIC0taGVscCAgICAg ICAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAogIC1JIERJUiAgICAgICAg ICAgICAgICAgICAgYWRkIGRpcmVjdG9yeSB0byBzZWFyY2ggbGlzdCBmb3IgLm00IGZpbGVz CiAgICAgIC0taW5zdGFsbCAgICAgICAgICAgICBjb3B5IHRoaXJkLXBhcnR5IGZpbGVzIHRv IHRoZSBmaXJzdCAtSSBkaXJlY3RvcnkKICAgICAgLS1vdXRwdXQ9RklMRSAgICAgICAgIHB1 dCBvdXRwdXQgaW4gRklMRSAoZGVmYXVsdCBhY2xvY2FsLm00KQogICAgICAtLXByaW50LWFj LWRpciAgICAgICAgcHJpbnQgbmFtZSBvZiBkaXJlY3RvcnkgaG9sZGluZyBzeXN0ZW0td2lk ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlyZC1wYXJ0eSBtNCBmaWxlcywg dGhlbiBleGl0CiAgICAgIC0tdmVyYm9zZSAgICAgICAgICAgICBkb24ndCBiZSBzaWxlbnQK ICAgICAgLS12ZXJzaW9uICAgICAgICAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVu IGV4aXQKICAtVywgLS13YXJuaW5ncz1DQVRFR09SWSAgIHJlcG9ydCB0aGUgd2FybmluZ3Mg ZmFsbGluZyBpbiBDQVRFR09SWQoKV2FybmluZyBjYXRlZ29yaWVzIGluY2x1ZGU6CiAgc3lu dGF4ICAgICAgICBkdWJpb3VzIHN5bnRhY3RpYyBjb25zdHJ1Y3RzIChkZWZhdWx0KQogIHVu c3VwcG9ydGVkICAgdW5rbm93biBtYWNyb3MgKGRlZmF1bHQpCiAgYWxsICAgICAgICAgICBh bGwgdGhlIHdhcm5pbmdzIChkZWZhdWx0KQogIG5vLUNBVEVHT1JZICAgdHVybiBvZmYgd2Fy bmluZ3MgaW4gQ0FURUdPUlkKICBub25lICAgICAgICAgIHR1cm4gb2ZmIGFsbCB0aGUgd2Fy bmluZ3MKICBlcnJvciAgICAgICAgIHRyZWF0IHdhcm5pbmdzIGFzIGVycm9ycwoKUmVwb3J0 IGJ1Z3MgdG8gPGJ1Zy1hdXRvbWFrZUBnbnUub3JnPi4KR05VIEF1dG9tYWtlIGhvbWUgcGFn ZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b21ha2UvPi4KR2VuZXJhbCBo ZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+ LgpFT0YKICBleGl0ICRzdGF0dXM7Cn0KCiMgUHJpbnQgdmVyc2lvbiBhbmQgZXhpdC4Kc3Vi IHZlcnNpb24gKCkKewogIHByaW50IDw8RU9GOwphY2xvY2FsIChHTlUgJFBBQ0tBR0UpICRW RVJTSU9OCkNvcHlyaWdodCAoQykgJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVy IDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sPgpUaGlzIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4K VGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4K CldyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJvbWV5XEByZWRoYXQuY29tPgogICAgICAgYW5k IEFsZXhhbmRyZSBEdXJldC1MdXR6IDxhZGxcQGdudS5vcmc+LgpFT0YKICBleGl0IDA7Cn0K CiMgUGFyc2UgY29tbWFuZCBsaW5lLgpzdWIgcGFyc2VfYXJndW1lbnRzICgpCnsKICBteSAk cHJpbnRfYW5kX2V4aXQgPSAwOwogIG15ICRkaWZmX2NvbW1hbmQ7CgogIG15ICVjbGlfb3B0 aW9ucyA9CiAgICAoCiAgICAgJ2hlbHAnCQk9PiBzdWIgeyB1c2FnZSgwKTsgfSwKICAgICAn dmVyc2lvbicJCT0+IFwmdmVyc2lvbiwKICAgICAnc3lzdGVtLWFjZGlyPXMnCT0+IHN1YiB7 IHNoaWZ0OyBAc3lzdGVtX2luY2x1ZGVzID0gQF87IH0sCiAgICAgJ2F1dG9tYWtlLWFjZGly PXMnCT0+IHN1YiB7IHNoaWZ0OyBAYXV0b21ha2VfaW5jbHVkZXMgPSBAXzsgfSwKICAgICAn ZGlmZjpzJwkJPT4gXCRkaWZmX2NvbW1hbmQsCiAgICAgJ2RyeS1ydW4nCQk9PiBcJGRyeV9y dW4sCiAgICAgJ2ZvcmNlJwkJPT4gXCRmb3JjZV9vdXRwdXQsCiAgICAgJ0k9cycJCT0+IFxA dXNlcl9pbmNsdWRlcywKICAgICAnaW5zdGFsbCcgICAgICAgICAgPT4gXCRpbnN0YWxsLAog ICAgICdvdXRwdXQ9cycJCT0+IFwkb3V0cHV0X2ZpbGUsCiAgICAgJ3ByaW50LWFjLWRpcicg ICAgID0+IFwkcHJpbnRfYW5kX2V4aXQsCiAgICAgJ3ZlcmJvc2UnCQk9PiBzdWIgeyBzZXR1 cF9jaGFubmVsICd2ZXJiJywgc2lsZW50ID0+IDA7IH0sCiAgICAgJ1d8d2FybmluZ3M9cycg ICAgID0+IFwmcGFyc2Vfd2FybmluZ3MsCiAgICAgKTsKCiAgdXNlIEF1dG9tYWtlOjpHZXRv cHQgKCk7CiAgQXV0b21ha2U6OkdldG9wdDo6cGFyc2Vfb3B0aW9ucyAlY2xpX29wdGlvbnM7 CgogIGlmIChAQVJHViA+IDApCiAgICB7CiAgICAgIGZhdGFsICgibm9uLW9wdGlvbiBhcmd1 bWVudHMgYXJlIG5vdCBhY2NlcHRlZDogJyRBUkdWWzBdJy5cbiIKICAgICAgICAgICAgIC4g IlRyeSAnJDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iKTsKICAgIH0KCiAgaWYg KCRwcmludF9hbmRfZXhpdCkKICAgIHsKICAgICAgcHJpbnQgIkBzeXN0ZW1faW5jbHVkZXNc biI7CiAgICAgIGV4aXQgMDsKICAgIH0KCiAgaWYgKGRlZmluZWQgJGRpZmZfY29tbWFuZCkK ICAgIHsKICAgICAgJGRpZmZfY29tbWFuZCA9ICdkaWZmIC11JyBpZiAkZGlmZl9jb21tYW5k IGVxICcnOwogICAgICBAZGlmZl9jb21tYW5kID0gc3BsaXQgKCcgJywgJGRpZmZfY29tbWFu ZCk7CiAgICAgICRpbnN0YWxsID0gMTsKICAgICAgJGRyeV9ydW4gPSAxOwogICAgfQoKICAj IEZpbmFsbHksIGFkZHMgYW55IGRpcmVjdG9yeSBsaXN0ZWQgaW4gdGhlICdkaXJsaXN0JyBm aWxlLgogIGlmIChAc3lzdGVtX2luY2x1ZGVzICYmIG9wZW4gKERJUkxJU1QsICIkc3lzdGVt X2luY2x1ZGVzWzBdL2Rpcmxpc3QiKSkKICAgIHsKICAgICAgd2hpbGUgKDxESVJMSVNUPikK ICAgICAgICB7CiAgICAgICAgICAjIElnbm9yZSAnIycgbGluZXMuCiAgICAgICAgICBuZXh0 IGlmIC9eIy87CiAgICAgICAgICAjIHN0cmlwIG9mZiBuZXdsaW5lcyBhbmQgZW5kLW9mLWxp bmUgY29tbWVudHMKICAgICAgICAgIHMvXHMqXCMuKiQvLzsKICAgICAgICAgIGNob21wOwog ICAgICAgICAgZm9yZWFjaCBteSAkZGlyIChnbG9iKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgcHVzaCAoQHN5c3RlbV9pbmNsdWRlcywgJGRpcikgaWYgLWQgJGRpcjsKICAgICAg ICAgICAgfQogICAgICAgIH0KICAgICAgY2xvc2UgKERJUkxJU1QpOwogICAgfQp9CgojIEFk ZCBhbnkgZGlyZWN0b3J5IGxpc3RlZCBpbiB0aGUgJ0FDTE9DQUxfUEFUSCcgZW52aXJvbm1l bnQgdmFyaWFibGUKIyB0byB0aGUgbGlzdCBvZiBzeXN0ZW0gaW5jbHVkZSBkaXJlY3Rvcmll cy4Kc3ViIHBhcnNlX0FDTE9DQUxfUEFUSCAoKQp7CiAgcmV0dXJuIGlmIG5vdCBkZWZpbmVk ICRFTlZ7IkFDTE9DQUxfUEFUSCJ9OwogICMgRGlyZWN0b3JpZXMgaW4gQUNMT0NBTF9QQVRI IHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBzeXN0ZW0KICAjIGRpcmVjdG9yaWVzLCBz byB3ZSB1c2UgdW5zaGlmdC4gIEhvd2V2ZXIsIGRpcmVjdG9yaWVzIHRoYXQKICAjIGNvbWUg Zmlyc3QgaW4gQUNMT0NBTF9QQVRIIHRha2UgcHJlY2VkZW5jZSBvdmVyIGRpcmVjdG9yaWVz CiAgIyBjb21pbmcgbGF0ZXIsIHdoaWNoIGlzIHdoeSB0aGUgcmVzdWx0IG9mIHNwbGl0IGlz IHJldmVyc2VkLgogIGZvcmVhY2ggbXkgJGRpciAocmV2ZXJzZSBzcGxpdCAvOi8sICRFTlZ7 IkFDTE9DQUxfUEFUSCJ9KQogICAgewogICAgICB1bnNoaWZ0IChAc3lzdGVtX2luY2x1ZGVz LCAkZGlyKSBpZiAkZGlyIG5lICcnICYmIC1kICRkaXI7CiAgICB9Cn0KCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CiMgRG9uJ3QgcmVmZXIgdG8gaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzIGZyb20gdGhlIGJ1 aWxkIGVudmlyb25tZW50CmlmIChleGlzdHMgJEVOVnsiQVVUT01BS0VfVU5JTlNUQUxMRUQi fSkKICB7CiAgICBAYXV0b21ha2VfaW5jbHVkZXMgPSAoKTsKICAgIEBzeXN0ZW1faW5jbHVk ZXMgPSAoKTsKICB9CgpAYXV0b21ha2VfaW5jbHVkZXMgPSAoJEVOVnsiQUNMT0NBTF9BVVRP TUFLRV9ESVIifSkKICBpZiAoZXhpc3RzICRFTlZ7IkFDTE9DQUxfQVVUT01BS0VfRElSIn0p OwoKcGFyc2VfV0FSTklOR1M7CQkgICAgIyBQYXJzZSB0aGUgV0FSTklOR1MgZW52aXJvbm1l bnQgdmFyaWFibGUuCnBhcnNlX2FyZ3VtZW50czsKcGFyc2VfQUNMT0NBTF9QQVRIOwokY29u ZmlndXJlX2FjID0gcmVxdWlyZV9jb25maWd1cmVfYWM7CgojIFdlIG1heSBoYXZlIHRvIHJl cnVuIGFjbG9jYWwgaWYgc29tZSBmaWxlIGhhdmUgYmVlbiBpbnN0YWxsZWQsIGJ1dAojIGl0 IHNob3VsZCBub3QgaGFwcGVuIG1vcmUgdGhhbiBvbmNlLiAgVGhlIHJlYXNvbiB3ZSBtdXN0 IHJ1biBhZ2FpbgojIGlzIHRoYXQgb25jZSB0aGUgZmlsZSBoYXMgYmVlbiBtb3ZlZCBmcm9t IC91c3Ivc2hhcmUvYWNsb2NhbC8gdG8gdGhlCiMgbG9jYWwgbTQvIGRpcmVjdG9yeSBpdCBh cHBlYXJzIGF0IGEgbmV3IHBsYWNlIGluIHRoZSBzZWFyY2ggcGF0aCwKIyBoZW5jZSBpdCBz aG91bGQgYmUgb3V0cHV0IGF0IGEgZGlmZmVyZW50IHBvc2l0aW9uIGluIGFjbG9jYWwubTQu ICBJZgojIHdlIGRpZCBub3QgcmVydW4gYWNsb2NhbCwgdGhlIG5leHQgcnVuIG9mIGFjbG9j YWwgd291bGQgcHJvZHVjZSBhCiMgZGlmZmVyZW50IGFjbG9jYWwubTQuCm15ICRsb29wID0g MDsKbXkgJHJlcnVuX2R1ZV90b19tYWNyb2RpciA9IDA7CndoaWxlICgxKQogIHsKICAgICsr JGxvb3A7CiAgICBwcm9nX2Vycm9yICJ0b28gbWFueSBsb29wcyIgaWYgJGxvb3AgPiAyICsg JHJlcnVuX2R1ZV90b19tYWNyb2RpcjsKCiAgICByZXNldF9tYXBzOwogICAgc2Nhbl9tNF9m aWxlczsKICAgIHNjYW5fY29uZmlndXJlOwogICAgbGFzdCBpZiAkZXhpdF9jb2RlOwogICAg bXkgJW1hY3JvX3RyYWNlZCA9IHRyYWNlX3VzZWRfbWFjcm9zOwoKICAgIGlmICghJHJlcnVu X2R1ZV90b19tYWNyb2RpciAmJiBAYWNfY29uZmlnX21hY3JvX2RpcnMpCiAgICAgIHsKICAg ICAgICAjIFRoZSBkaXJlY3Rvcnkgc3BlY2lmaWVkIGluIGNhbGxzIHRvIHRoZSBBQ19DT05G SUdfTUFDUk9fRElSUwogICAgICAgICMgbTQgbWFjcm8gKGlmIGFueSkgbXVzdCBnbyBhZnRl ciB0aGUgdXNlciBpbmNsdWRlcyBzcGVjaWZpZWQKICAgICAgICAjIGV4cGxpY2l0bHkgd2l0 aCB0aGUgJy1JJyBvcHRpb24uCiAgICAgICAgcHVzaCBAdXNlcl9pbmNsdWRlcywgQGFjX2Nv bmZpZ19tYWNyb19kaXJzOwogICAgICAgICMgV2UgbWlnaHQgaGF2ZSB0byBzY2FuIHNvbWUg bmV3IGRpcmVjdG9yeSBvZiAubTQgZmlsZXMuCiAgICAgICAgJHJlcnVuX2R1ZV90b19tYWNy b2RpcisrOwogICAgICAgIG5leHQ7CiAgICAgIH0KCiAgICBpZiAoJGluc3RhbGwgJiYgIUB1 c2VyX2luY2x1ZGVzKQogICAgICB7CiAgICAgICAgZmF0YWwgImluc3RhbGxhdGlvbiBvZiB0 aGlyZC1wYXJ0eSBtYWNyb3MgaW1wb3NzaWJsZSB3aXRob3V0ICIgLgogICAgICAgICAgICAg ICItSSBvcHRpb25zIG5vciBBQ19DT05GSUdfTUFDUk9fRElSeyxTfSBtNCBtYWNybyhzKSI7 CiAgICAgIH0KCiAgICBsYXN0IGlmIHdyaXRlX2FjbG9jYWwgKCRvdXRwdXRfZmlsZSwga2V5 cyAlbWFjcm9fdHJhY2VkKTsKICAgIGxhc3QgaWYgJGRyeV9ydW47CiAgfQpjaGVja19hY2lu Y2x1ZGU7CgpleGl0ICRleGl0X2NvZGU7CisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvYmluL2F1dG9tYWtlLTEuMTYKIyEvdXNyL2Jpbi9wZXJsIC13CiMg YXV0b21ha2UgLSBjcmVhdGUgTWFrZWZpbGUuaW4gZnJvbSBNYWtlZmlsZS5hbSAgICAgICAg ICAgIC0qLSBwZXJsIC0qLQojIEdlbmVyYXRlZCBmcm9tIGJpbi9hdXRvbWFrZS5pbjsgZG8g bm90IGVkaXQgYnkgaGFuZC4KIyBDb3B5cmlnaHQgKEMpIDE5OTQtMjAyMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9y IChhdCB5b3VyIG9wdGlvbikKIyBhbnkgbGF0ZXIgdmVyc2lvbi4KCiMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCgojIE9yaWdp bmFsbHkgd3JpdHRlbiBieSBEYXZpZCBNYWNrZW56aWUgPGRqbUBnbnUuYWkubWl0LmVkdT4u CiMgUGVybCByZWltcGxlbWVudGF0aW9uIGJ5IFRvbSBUcm9tZXkgPHRyb21leUByZWRoYXQu Y29tPiwgYW5kCiMgQWxleGFuZHJlIER1cmV0LUx1dHogPGFkbEBnbnUub3JnPi4KCnBhY2th Z2UgQXV0b21ha2U7Cgp1c2Ugc3RyaWN0OwoKQkVHSU4KewogIHVuc2hpZnQgKEBJTkMsICcv dXNyL2xvY2FsL3NoYXJlL2F1dG9tYWtlLTEuMTYnKQogICAgdW5sZXNzICRFTlZ7QVVUT01B S0VfVU5JTlNUQUxMRUR9OwoKICAjIE92ZXJyaWRlIFNIRUxMLiAgVGhpcyBpcyByZXF1aXJl ZCBvbiBESkdQUCBzbyB0aGF0IHN5c3RlbSgpIHVzZXMKICAjIGJhc2gsIG5vdCBDT01NQU5E LkNPTSB3aGljaCBkb2Vzbid0IHF1b3RlIGFyZ3VtZW50cyBwcm9wZXJseS4KICAjIE90aGVy IHN5c3RlbXMgYXJlbid0IGV4cGVjdGVkIHRvIHVzZSAkU0hFTEwgd2hlbiBBdXRvbWFrZQog ICMgcnVucywgYnV0IGl0IHNob3VsZCBiZSBzYWZlIHRvIGRyb3AgdGhlICJpZiBESkdQUCIg Z3VhcmQgaWYKICAjIGl0IHR1cm5zIHVwIG90aGVyIHN5c3RlbXMgbmVlZCB0aGUgc2FtZSB0 aGluZy4gIEFmdGVyIGFsbCwKICAjIGlmIFNIRUxMIGlzIHVzZWQsIC4vY29uZmlndXJlJ3Mg U0hFTEwgaXMgYWx3YXlzIGJldHRlciB0aGFuCiAgIyB0aGUgdXNlcidzIFNIRUxMICh3aGlj aCBtYXkgYmUgc29tZXRoaW5nIGxpa2UgdGNzaCkuCiAgJEVOVnsnU0hFTEwnfSA9ICcvYmlu L3NoJyBpZiBleGlzdHMgJEVOVnsnREpESVInfTsKfQoKdXNlIEF1dG9tYWtlOjpDb25maWc7 CkJFR0lOCnsKICBpZiAoJHBlcmxfdGhyZWFkcykKICAgIHsKICAgICAgcmVxdWlyZSB0aHJl YWRzOwogICAgICBpbXBvcnQgdGhyZWFkczsKICAgICAgcmVxdWlyZSBUaHJlYWQ6OlF1ZXVl OwogICAgICBpbXBvcnQgVGhyZWFkOjpRdWV1ZTsKICAgIH0KfQp1c2UgQXV0b21ha2U6Okdl bmVyYWw7CnVzZSBBdXRvbWFrZTo6WEZpbGU7CnVzZSBBdXRvbWFrZTo6Q2hhbm5lbHM7CnVz ZSBBdXRvbWFrZTo6Q2hhbm5lbERlZnM7CnVzZSBBdXRvbWFrZTo6Q29uZmlndXJlX2FjOwp1 c2UgQXV0b21ha2U6OkZpbGVVdGlsczsKdXNlIEF1dG9tYWtlOjpMb2NhdGlvbjsKdXNlIEF1 dG9tYWtlOjpDb25kaXRpb24gcXcvVFJVRSBGQUxTRS87CnVzZSBBdXRvbWFrZTo6RGlzakNv bmRpdGlvbnM7CnVzZSBBdXRvbWFrZTo6T3B0aW9uczsKdXNlIEF1dG9tYWtlOjpWYXJpYWJs ZTsKdXNlIEF1dG9tYWtlOjpWYXJEZWY7CnVzZSBBdXRvbWFrZTo6UnVsZTsKdXNlIEF1dG9t YWtlOjpSdWxlRGVmOwp1c2UgQXV0b21ha2U6OldyYXAgJ21ha2VmaWxlX3dyYXAnOwp1c2Ug QXV0b21ha2U6Okxhbmd1YWdlOwp1c2UgRmlsZTo6QmFzZW5hbWU7CnVzZSBGaWxlOjpTcGVj Owp1c2UgQ2FycDsKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFN1YnJvdXRp bmUgcHJvdG90eXBlcy4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpzdWIg YXBwZW5kX2V4ZWV4dCAoJiQpOwpzdWIgY2hlY2tfZ25pdHNfc3RhbmRhcmRzICgpOwpzdWIg Y2hlY2tfZ251X3N0YW5kYXJkcyAoKTsKc3ViIGNoZWNrX3RyYWlsaW5nX3NsYXNoICgkXCQp OwpzdWIgY2hlY2tfdHlwb3MgKCk7CnN1YiBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRcQCQk KTsKc3ViIGRlZmluZV9zdGFuZGFyZF92YXJpYWJsZXMgKCk7CnN1YiBkZWZpbmVfdmVyYm9z ZV9saWJ0b29sICgpOwpzdWIgZGVmaW5lX3ZlcmJvc2VfdGV4aW5mbyAoKTsKc3ViIGRvX2No ZWNrX21lcmdlX3RhcmdldCAoKTsKc3ViIGdldF9udW1iZXJfb2ZfdGhyZWFkcyAoKTsKc3Vi IGhhbmRsZV9jb21waWxlICgpOwpzdWIgaGFuZGxlX2RhdGEgKCk7CnN1YiBoYW5kbGVfZGlz dCAoKTsKc3ViIGhhbmRsZV9lbWFjc19saXNwICgpOwpzdWIgaGFuZGxlX2ZhY3RvcmVkX2Rl cGVuZGVuY2llcyAoKTsKc3ViIGhhbmRsZV9mb290ZXIgKCk7CnN1YiBoYW5kbGVfZ2V0dGV4 dCAoKTsKc3ViIGhhbmRsZV9oZWFkZXJzICgpOwpzdWIgaGFuZGxlX2luc3RhbGwgKCk7CnN1 YiBoYW5kbGVfamF2YSAoKTsKc3ViIGhhbmRsZV9sYW5ndWFnZXMgKCk7CnN1YiBoYW5kbGVf bGlicmFyaWVzICgpOwpzdWIgaGFuZGxlX2xpYnRvb2wgKCk7CnN1YiBoYW5kbGVfbHRsaWJy YXJpZXMgKCk7CnN1YiBoYW5kbGVfbWFrZWZpbGVzX3NlcmlhbCAoKTsKc3ViIGhhbmRsZV9t YW5fcGFnZXMgKCk7CnN1YiBoYW5kbGVfbWlub3Jfb3B0aW9ucyAoKTsKc3ViIGhhbmRsZV9v cHRpb25zICgpOwpzdWIgaGFuZGxlX3Byb2dyYW1zICgpOwpzdWIgaGFuZGxlX3B5dGhvbiAo KTsKc3ViIGhhbmRsZV9zY3JpcHRzICgpOwpzdWIgaGFuZGxlX3NpbGVudCAoKTsKc3ViIGhh bmRsZV9zdWJkaXJzICgpOwpzdWIgaGFuZGxlX3RhZ3MgKCk7CnN1YiBoYW5kbGVfdGFyZ2V0 cyAoKTsKc3ViIGhhbmRsZV90ZXN0cyAoKTsKc3ViIGhhbmRsZV90ZXN0c19kZWphZ251ICgp OwpzdWIgaGFuZGxlX3RleGluZm8gKCk7CnN1YiBoYW5kbGVfdXNlcl9yZWN1cnNpb24gKCk7 CnN1YiBpbml0aWFsaXplX3Blcl9pbnB1dCAoKTsKc3ViIGxhbmdfbGV4X2ZpbmlzaCAoKTsK c3ViIGxhbmdfc3ViX29iaiAoKTsKc3ViIGxhbmdfdmFsYV9maW5pc2ggKCk7CnN1YiBsYW5n X3lhY2NfZmluaXNoICgpOwpzdWIgbG9jYXRlX2F1eF9kaXIgKCk7CnN1YiBwYXJzZV9hcmd1 bWVudHMgKCk7CnN1YiBzY2FuX2FjbG9jYWxfbTQgKCk7CnN1YiBzY2FuX2F1dG9jb25mX2Zp bGVzICgpOwpzdWIgc2lsZW50X2ZsYWcgKCk7CnN1YiB0cmFuc2Zvcm0gKCRcJSk7CnN1YiB0 cmFuc2Zvcm1fdG9rZW4gKCRcJSQpOwpzdWIgdXNhZ2UgKCk7CnN1YiB2ZXJzaW9uICgpOwpz dWIgeWFjY19sZXhfZmluaXNoX2hlbHBlciAoKTsKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENv bnN0YW50cy4gICMjCiMjIC0tLS0tLS0tLS0tICMjCgojIFNvbWUgcmVndWxhciBleHByZXNz aW9ucy4gIE9uZSByZWFzb24gdG8gcHV0IHRoZW0gaGVyZSBpcyB0aGF0IGl0CiMgbWFrZXMg aW5kZW50YXRpb24gd29yayBiZXR0ZXIgaW4gRW1hY3MuCgojIFdyaXRpbmcgc2luZ2xlZC1x dW90ZWQtJC10ZXJtaW5hdGVkIHJlZ2V4ZXMgaXMgYSBwYWluIGJlY2F1c2UKIyBwZXJsLW1v ZGUgdGhpbmtzIG9mICQnIGFzIHRoZSAkeyd9IHZhcmlhYmxlIChpbnN0ZWFkIG9mIGEgJCBm b2xsb3dlZAojIGJ5IGEgY2xvc2luZyBxdW90ZS4gIExldHRpbmcgcGVybC1tb2RlIHRoaW5r IHRoZSBxdW90ZSBpcyBub3QgY2xvc2VkCiMgbGVhZHMgdG8gYWxsIHNvcnQgb2YgbWlzaW5k ZW50YXRpb25zLiAgT24gdGhlIG90aGVyIGhhbmQsIGRlZmluaW5nCiMgcmVnZXhlcyBhcyBk b3VibGUtcXVvdGVkIHN0cmluZ3MgaXMgZmFyIGxlc3MgcmVhZGFibGUuICBTbyB1c3VhbGx5 CiMgd2Ugd2lsbCB3cml0ZToKIwojICAkUkVHRVggPSAnXnJlZ2V4X3ZhbHVlJyAuICJcJCI7 CgpteSAkSUdOT1JFX1BBVFRFUk4gPSAnXlxzKiMjKFteI1xuXS4qKT9cbic7Cm15ICRXSElU RV9QQVRURVJOID0gJ15ccyonIC4gIlwkIjsKbXkgJENPTU1FTlRfUEFUVEVSTiA9ICdeIyc7 Cm15ICRUQVJHRVRfUEFUVEVSTj0nWyRhLXpBLVowLTlfLkAlXVstLmEtekEtWjAtOV8oKXt9 LyQrQCVdKic7CiMgQSBydWxlIGhhcyB0aHJlZSBwYXJ0czogYSBsaXN0IG9mIHRhcmdldHMs IGEgbGlzdCBvZiBkZXBlbmRlbmNpZXMsCiMgYW5kIG9wdGlvbmFsbHkgYWN0aW9ucy4KbXkg JFJVTEVfUEFUVEVSTiA9CiAgIl4oJFRBUkdFVF9QQVRURVJOKD86KD86XFxcXFxufFxccykr JFRBUkdFVF9QQVRURVJOKSopICo6KFtePV0uKnwpXCQiOwoKIyBPbmx5IHJlY29nbml6ZSBs ZWFkaW5nIHNwYWNlcywgbm90IGxlYWRpbmcgdGFicy4gIElmIHdlIHJlY29nbml6ZQojIGxl YWRpbmcgdGFicyBoZXJlIHRoZW4gd2UgbmVlZCB0byBtYWtlIHRoZSByZWFkZXIgc21hcnRl ciwgYmVjYXVzZQojIG90aGVyd2lzZSBpdCB3aWxsIHRoaW5rIHJ1bGVzIGxpa2UgJ2Zvbz1i YXI7IFwnIGFyZSBlcnJvcnMuCm15ICRBU1NJR05NRU5UX1BBVFRFUk4gPSAnXiAqKFteIFx0 PTorXSopXHMqKFs6K10/KT1ccyooLiopJyAuICJcJCI7CiMgVGhpcyBwYXR0ZXJuIHJlY29n bml6ZXMgYSBHbml0cyB2ZXJzaW9uIGlkIGFuZCBzZXRzICQxIGlmIHRoZQojIHJlbGVhc2Ug aXMgYW4gYWxwaGEgcmVsZWFzZS4gIFdlIGFsc28gYWxsb3cgYSBzdWZmaXggd2hpY2ggY2Fu IGJlCiMgdXNlZCB0byBleHRlbmQgdGhlIHZlcnNpb24gbnVtYmVyIHdpdGggYSAiZm9yayIg aWRlbnRpZmllci4KbXkgJEdOSVRTX1ZFUlNJT05fUEFUVEVSTiA9ICdcZCtcLlxkKyhbYS16 XXxcLlxkKyk/KC1bQS1aYS16MC05XSspPyc7CgpteSAkSUZfUEFUVEVSTiA9ICdeaWZccyso IT8pXHMqKFtBLVphLXpdW0EtWmEtejAtOV9dKilccyooPzojLiopPycgLiAiXCQiOwpteSAk RUxTRV9QQVRURVJOID0KICAnXmVsc2UoPzpccysoIT8pXHMqKFtBLVphLXpdW0EtWmEtejAt OV9dKikpP1xzKig/OiMuKik/JyAuICJcJCI7Cm15ICRFTkRJRl9QQVRURVJOID0KICAnXmVu ZGlmKD86XHMrKCE/KVxzKihbQS1aYS16XVtBLVphLXowLTlfXSopKT9ccyooPzojLiopPycg LiAiXCQiOwpteSAkUEFUSF9QQVRURVJOID0gJyhcd3xbKy8uLV0pKyc7CiMgVGhpcyB3aWxs IHBhc3MgdGhyb3VnaCBhbnl0aGluZyBub3Qgb2YgdGhlIHByZXNjcmliZWQgZm9ybS4KbXkg JElOQ0xVREVfUEFUVEVSTiA9ICgnXmluY2x1ZGVccysnCgkJICAgICAgIC4gJygoXCRcKHRv cF9zcmNkaXJcKS8nIC4gJFBBVEhfUEFUVEVSTiAuICcpJwoJCSAgICAgICAuICd8KFwkXChz cmNkaXJcKS8nIC4gJFBBVEhfUEFUVEVSTiAuICcpJwoJCSAgICAgICAuICd8KFteL1wkXScg LiAkUEFUSF9QQVRURVJOIC4gJykpXHMqKCMuKik/JyAuICJcJCIpOwoKIyBEaXJlY3Rvcmll cyBpbnN0YWxsZWQgZHVyaW5nICdpbnN0YWxsLWV4ZWMnIHBoYXNlLgpteSAkRVhFQ19ESVJf UEFUVEVSTiA9CiAgJ14oPzpiaW58c2JpbnxsaWJleGVjfHN5c2NvbmZ8bG9jYWxzdGF0ZXxs aWJ8cGtnbGlifC4qZXhlYy4qKScgLiAiXCQiOwoKIyBWYWx1ZXMgZm9yIEFDX0NBTk9OSUNB TF8qCnVzZSBjb25zdGFudCBBQ19DQU5PTklDQUxfQlVJTEQgID0+IDE7CnVzZSBjb25zdGFu dCBBQ19DQU5PTklDQUxfSE9TVCAgID0+IDI7CnVzZSBjb25zdGFudCBBQ19DQU5PTklDQUxf VEFSR0VUID0+IDM7CgojIFZhbHVlcyBpbmRpY2F0aW5nIHdoZW4gc29tZXRoaW5nIHNob3Vs ZCBiZSBjbGVhbmVkLgp1c2UgY29uc3RhbnQgTU9TVExZX0NMRUFOICAgICA9PiAwOwp1c2Ug Y29uc3RhbnQgQ0xFQU4gICAgICAgICAgICA9PiAxOwp1c2UgY29uc3RhbnQgRElTVF9DTEVB TiAgICAgICA9PiAyOwp1c2UgY29uc3RhbnQgTUFJTlRBSU5FUl9DTEVBTiA9PiAzOwoKIyBM aWJ0b29sIGZpbGVzLgpteSBAbGlidG9vbF9maWxlcyA9IHF3KGx0bWFpbi5zaCBjb25maWcu Z3Vlc3MgY29uZmlnLnN1Yik7CiMgbHRjb25maWcgYXBwZWFycyBoZXJlIGZvciBjb21wYXRp YmlsaXR5IHdpdGggb2xkIHZlcnNpb25zIG9mIGxpYnRvb2wuCm15IEBsaWJ0b29sX3NvbWV0 aW1lcyA9IHF3KGx0Y29uZmlnIGx0Y2YtYy5zaCBsdGNmLWN4eC5zaCBsdGNmLWdjai5zaCk7 CgojIENvbW1vbmx5IGZvdW5kIGZpbGVzIHdlIGxvb2sgZm9yIGFuZCBhdXRvbWF0aWNhbGx5 IGluY2x1ZGUgaW4KIyBESVNURklMRVMuCm15IEBjb21tb25fZmlsZXMgPQogICAgKHF3KEFC T1VULUdOVSBBQk9VVC1OTFMgQVVUSE9SUyBCQUNLTE9HIENPUFlJTkcgQ09QWUlORy5ET0Mg Q09QWUlORy5MSUIKCUNPUFlJTkcuTEVTU0VSIENoYW5nZUxvZyBJTlNUQUxMIE5FV1MgUkVB RE1FIFRIQU5LUyBUT0RPCglhci1saWIgY29tcGlsZSBjb25maWcuZ3Vlc3MgY29uZmlnLnJw YXRoCgljb25maWcuc3ViIGRlcGNvbXAgaW5zdGFsbC1zaCBsaWJ2ZXJzaW9uLmluIG1kYXRl LXNoCgltaXNzaW5nIG1raW5zdGFsbGRpcnMgcHktY29tcGlsZSB0ZXhpbmZvLnRleCB5bHdy YXApLAogICAgIEBsaWJ0b29sX2ZpbGVzLCBAbGlidG9vbF9zb21ldGltZXMpOwoKIyBDb21t b25seSB1c2VkIGZpbGVzIHdlIGF1dG8taW5jbHVkZSwgYnV0IG9ubHkgc29tZXRpbWVzLiAg VGhpcyBsaXN0CiMgaXMgdXNlZCBmb3IgdGhlIC0taGVscCBvdXRwdXQgb25seS4KbXkgQGNv bW1vbl9zb21ldGltZXMgPQogIHF3KGFjbG9jYWwubTQgYWNjb25maWcuaCBjb25maWcuaC50 b3AgY29uZmlnLmguYm90IGNvbmZpZ3VyZQogICAgIGNvbmZpZ3VyZS5hYyBjb25maWd1cmUu aW4gc3RhbXAtdnRpKTsKCiMgU3RhbmRhcmQgZGlyZWN0b3JpZXMgZnJvbSB0aGUgR05VIENv ZGluZyBTdGFuZGFyZHMsIGFuZCBhZGRpdGlvbmFsCiMgcGtnKiBkaXJlY3RvcmllcyBmcm9t IEF1dG9tYWtlLiAgU3RvcmVkIGluIGEgaGFzaCBmb3IgZmFzdCBtZW1iZXIgY2hlY2suCm15 ICVzdGFuZGFyZF9wcmVmaXggPQogICAgbWFwIHsgJF8gPT4gMSB9IChxdyhiaW4gZGF0YSBk YXRhcm9vdCBkb2MgZHZpIGV4ZWMgaHRtbCBpbmNsdWRlIGluZm8KCQkJbGliIGxpYmV4ZWMg bGlzcCBsb2NhbGUgbG9jYWxzdGF0ZSBtYW4gbWFuMSBtYW4yCgkJCW1hbjMgbWFuNCBtYW41 IG1hbjYgbWFuNyBtYW44IG1hbjkgb2xkaW5jbHVkZSBwZGYKCQkJcGtnZGF0YSBwa2dpbmNs dWRlIHBrZ2xpYiBwa2dsaWJleGVjIHBzIHNiaW4KCQkJc2hhcmVkc3RhdGUgc3lzY29uZikp OwoKIyBDb3B5cmlnaHQgb24gZ2VuZXJhdGVkIE1ha2VmaWxlLmlucy4KbXkgJGdlbl9jb3B5 cmlnaHQgPSAiXAojIENvcHlyaWdodCAoQykgMTk5NC0kUkVMRUFTRV9ZRUFSIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGlzIE1ha2VmaWxlLmluIGlzIGZyZWUgc29m dHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KIyBnaXZlcyB1bmxpbWl0ZWQg cGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAojIHdpdGggb3Igd2l0 aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZl ZC4KCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZLCB0byB0aGUgZXh0 ZW50IHBlcm1pdHRlZCBieSBsYXc7IHdpdGhvdXQKIyBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBCiMgUEFSVElDVUxBUiBQ VVJQT1NFLgoiOwoKIyBUaGVzZSBjb25zdGFudHMgYXJlIHJldHVybmVkIGJ5IHRoZSBsYW5n XypfcmV3cml0ZSBmdW5jdGlvbnMuCiMgTEFOR19TVUJESVIgbWVhbnMgdGhhdCB0aGUgcmVz dWx0aW5nIG9iamVjdCBmaWxlIHNob3VsZCBiZSBpbiBhCiMgc3ViZGlyIGlmIHRoZSBzb3Vy Y2UgZmlsZSBpcy4gIEluIHRoaXMgY2FzZSB0aGUgZmlsZSBuYW1lIGNhbm5vdAojIGhhdmUg Jy4uJyBjb21wb25lbnRzLgp1c2UgY29uc3RhbnQgTEFOR19JR05PUkUgID0+IDA7CnVzZSBj b25zdGFudCBMQU5HX1BST0NFU1MgPT4gMTsKdXNlIGNvbnN0YW50IExBTkdfU1VCRElSICA9 PiAyOwoKIyBUaGVzZSBhcmUgdXNlZCB3aGVuIGtlZXBpbmcgdHJhY2sgb2Ygd2hldGhlciBh biBvYmplY3QgY2FuIGJlIGJ1aWx0CiMgYnkgdHdvIGRpZmZlcmVudCBwYXRocy4KdXNlIGNv bnN0YW50IENPTVBJTEVfTElCVE9PTCAgPT4gMTsKdXNlIGNvbnN0YW50IENPTVBJTEVfT1JE SU5BUlkgPT4gMjsKCiMgV2UgY2FuJ3QgYWx3YXlzIGFzc29jaWF0ZSBhIGxvY2F0aW9uIHRv IGEgdmFyaWFibGUgb3IgYSBydWxlLAojIHdoZW4gaXQncyBkZWZpbmVkIGJ5IEF1dG9tYWtl LiAgV2UgdXNlIElOVEVSTkFMIGluIHRoaXMgY2FzZS4KdXNlIGNvbnN0YW50IElOVEVSTkFM ID0+IG5ldyBBdXRvbWFrZTo6TG9jYXRpb247CgojIFNlcmlhbGl6YXRpb24ga2V5cyBmb3Ig bWVzc2FnZSBxdWV1ZXMuCnVzZSBjb25zdGFudCBRVUVVRV9NRVNTQUdFICAgPT4gIm1zZyI7 CnVzZSBjb25zdGFudCBRVUVVRV9DT05GX0ZJTEUgPT4gImNvbmYgZmlsZSI7CnVzZSBjb25z dGFudCBRVUVVRV9MT0NBVElPTiAgPT4gImxvY2F0aW9uIjsKdXNlIGNvbnN0YW50IFFVRVVF X1NUUklORyAgICA9PiAic3RyaW5nIjsKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gIyMKIyMgVmFyaWFibGVzIHJlbGF0ZWQgdG8gdGhlIG9wdGlvbnMuICAjIwoj IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgojIFRSVUUgaWYgd2Ug c2hvdWxkIGFsd2F5cyBnZW5lcmF0ZSBNYWtlZmlsZS5pbi4KbXkgJGZvcmNlX2dlbmVyYXRp b24gPSAxOwoKIyBGcm9tIHRoZSBQZXJsIG1hbnVhbC4KbXkgJHN5bWxpbmtfZXhpc3RzID0g KGV2YWwgJ3N5bWxpbmsgKCIiLCAiIik7JywgJEAgZXEgJycpOwoKIyBUUlVFIGlmIG1pc3Np bmcgc3RhbmRhcmQgZmlsZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbXkgJGFkZF9taXNzaW5n ID0gMDsKCiMgVFJVRSBpZiB3ZSBzaG91bGQgY29weSBtaXNzaW5nIGZpbGVzOyBvdGhlcndp c2Ugc3ltbGluayBpZiBwb3NzaWJsZS4KbXkgJGNvcHlfbWlzc2luZyA9IDA7CgojIFRSVUUg aWYgd2Ugc2hvdWxkIGFsd2F5cyB1cGRhdGUgZmlsZXMgdGhhdCB3ZSBrbm93IGFib3V0Lgpt eSAkZm9yY2VfbWlzc2luZyA9IDA7CgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAjIwojIyBWYXJpYWJsZXMgZmlsbGVkIGR1cmluZyBmaWxlcyBzY2Fu bmluZy4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g IyMKCiMgTmFtZSBvZiB0aGUgY29uZmlndXJlLmFjIGZpbGUuCm15ICRjb25maWd1cmVfYWM7 CgojIEZpbGVzIGZvdW5kIGJ5IHNjYW5uaW5nIGNvbmZpZ3VyZS5hYyBmb3IgTElCT0JKUy4K bXkgJWxpYnNvdXJjZXMgPSAoKTsKCiMgTmFtZXMgdXNlZCBpbiBBQ19DT05GSUdfSEVBREVS UyBjYWxsLgpteSBAY29uZmlnX2hlYWRlcnMgPSAoKTsKCiMgTmFtZXMgdXNlZCBpbiBBQ19D T05GSUdfTElOS1MgY2FsbC4KbXkgQGNvbmZpZ19saW5rcyA9ICgpOwoKIyBMaXN0IG9mIE1h a2VmaWxlLmFtJ3MgdG8gcHJvY2VzcywgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgb3V0cHV0 cy4KbXkgQGlucHV0X2ZpbGVzID0gKCk7Cm15ICVvdXRwdXRfZmlsZXMgPSAoKTsKCiMgQ29t cGxldGUgbGlzdCBvZiBNYWtlZmlsZS5hbSdzIHRoYXQgZXhpc3QuCm15IEBjb25maWd1cmVf aW5wdXRfZmlsZXMgPSAoKTsKCiMgTGlzdCBvZiBmaWxlcyBpbiBBQ19DT05GSUdfRklMRVMv QUNfT1VUUFVUIHdpdGhvdXQgTWFrZWZpbGUuYW0ncywKIyBhbmQgdGhlaXIgb3V0cHV0cy4K bXkgQG90aGVyX2lucHV0X2ZpbGVzID0gKCk7CiMgV2hlcmUgZWFjaCBBQ19DT05GSUdfRklM RVMvQUNfT1VUUFVUL0FDX0NPTkZJR19MSU5LL0FDX0NPTkZJR19IRUFERVJTCiMgYXBwZWFy cy4gIFRoZSBrZXlzIGFyZSB0aGUgZmlsZXMgY3JlYXRlZCBieSB0aGVzZSBtYWNyb3MuCm15 ICVhY19jb25maWdfZmlsZXNfbG9jYXRpb24gPSAoKTsKIyBUaGUgY29uZGl0aW9uIHVuZGVy IHdoaWNoIEFDX0NPTkZJR19GT09TIGFwcGVhcnMuCm15ICVhY19jb25maWdfZmlsZXNfY29u ZGl0aW9uID0gKCk7CgojIERpcmVjdG9yeSB0byBzZWFyY2ggZm9yIGNvbmZpZ3VyZS1yZXF1 aXJlZCBmaWxlcy4gIFRoaXMKIyB3aWxsIGJlIGNvbXB1dGVkIGJ5IGxvY2F0ZV9hdXhfZGly KCkgYW5kIGNhbiBiZSBzZXQgdXNpbmcKIyBBQ19DT05GSUdfQVVYX0RJUiBpbiBjb25maWd1 cmUuYWMuCiMgJENPTkZJR19BVVhfRElSIGlzIHRoZSAncmF3JyBkaXJlY3RvcnksIHZhbGlk IG9ubHkgaW4gdGhlIHNvdXJjZS10cmVlLgpteSAkY29uZmlnX2F1eF9kaXIgPSAnJzsKbXkg JGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMgPSAwOwojICRBTV9DT05GSUdf QVVYX0RJUiBpcyBwcmVmaXhlZCB3aXRoICQodG9wX3NyY2RpciksIHNvIGl0IGNhbiBiZSB1 c2VkCiMgaW4gTWFrZWZpbGVzLgpteSAkYW1fY29uZmlnX2F1eF9kaXIgPSAnJzsKCiMgRGly ZWN0b3J5IHRvIHNlYXJjaCBmb3IgQUNfTElCU09VUkNFIGZpbGVzLCBhcyBzZXQgYnkgQUNf Q09ORklHX0xJQk9CSl9ESVIKIyBpbiBjb25maWd1cmUuYWMuCm15ICRjb25maWdfbGlib2Jq X2RpciA9ICcnOwoKIyBXaGV0aGVyIEFNX0dOVV9HRVRURVhUIGhhcyBiZWVuIHNlZW4gaW4g Y29uZmlndXJlLmFjLgpteSAkc2Vlbl9nZXR0ZXh0ID0gMDsKIyBXaGV0aGVyIEFNX0dOVV9H RVRURVhUKFtleHRlcm5hbF0pIGlzIHVzZWQuCm15ICRzZWVuX2dldHRleHRfZXh0ZXJuYWwg PSAwOwojIFdoZXJlIEFNX0dOVV9HRVRURVhUIGFwcGVhcnMuCm15ICRhY19nZXR0ZXh0X2xv Y2F0aW9uOwojIFdoZXRoZXIgQU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVIgaGFzIGJlZW4g c2Vlbi4KbXkgJHNlZW5fZ2V0dGV4dF9pbnRsID0gMDsKCiMgVGhlIGFyZ3VtZW50cyBvZiB0 aGUgQU1fRVhUUkFfUkVDVVJTSVZFX1RBUkdFVFMgY2FsbCAoaWYgYW55KS4KbXkgQGV4dHJh X3JlY3Vyc2l2ZV90YXJnZXRzID0gKCk7CgojIExpc3RzIG9mIHRhZ3Mgc3VwcG9ydGVkIGJ5 IExpYnRvb2wuCm15ICVsaWJ0b29sX3RhZ3MgPSAoKTsKIyAxIGlmIExpYnRvb2wgdXNlcyBM VF9TVVBQT1JURURfVEFHLiAgSWYgaXQgZG9lcywgdGhlbiBpdCBhbHNvCiMgdXNlcyBBQ19S RVFVSVJFX0FVWF9GSUxFLgpteSAkbGlidG9vbF9uZXdfYXBpID0gMDsKCiMgTW9zdCBpbXBv cnRhbnQgQUNfQ0FOT05JQ0FMXyogbWFjcm8gc2VlbiBzbyBmYXIuCm15ICRzZWVuX2Nhbm9u aWNhbCA9IDA7CgojIFdoZXJlIEFNX01BSU5UQUlORVJfTU9ERSBhcHBlYXJzLgpteSAkc2Vl bl9tYWludF9tb2RlOwoKIyBBY3R1YWwgdmVyc2lvbiB3ZSd2ZSBzZWVuLgpteSAkcGFja2Fn ZV92ZXJzaW9uID0gJyc7CgojIFdoZXJlIHZlcnNpb24gaXMgZGVmaW5lZC4KbXkgJHBhY2th Z2VfdmVyc2lvbl9sb2NhdGlvbjsKCiMgVFJVRSBpZiB3ZSd2ZSBzZWVuIEFNX1BST0dfQVIK bXkgJHNlZW5fYXIgPSAwOwoKIyBMb2NhdGlvbiBvZiBBQ19SRVFVSVJFX0FVWF9GSUxFIGNh bGxzLCBpbmRleGVkIGJ5IHRoZWlyIGFyZ3VtZW50LgpteSAlcmVxdWlyZWRfYXV4X2ZpbGUg PSAoKTsKCiMgV2hlcmUgQU1fSU5JVF9BVVRPTUFLRSBpcyBjYWxsZWQuCm15ICRzZWVuX2lu aXRfYXV0b21ha2UgPSAwOwoKIyBUUlVFIGlmIHdlJ3ZlIHNlZW4gQU1fQVVUT01BS0VfVkVS U0lPTi4KbXkgJHNlZW5fYXV0b21ha2VfdmVyc2lvbiA9IDA7CgojIEhhc2ggdGFibGUgb2Yg ZGlzY292ZXJlZCBjb25maWd1cmUgc3Vic3RpdHV0aW9ucy4gIEtleXMgYXJlIG5hbWVzLAoj IHZhbHVlcyBhcmUgJ0ZJTEU6TElORScgc3RyaW5ncyB3aGljaCBhcmUgdXNlZCBieSBlcnJv ciBtZXNzYWdlCiMgZ2VuZXJhdGlvbi4KbXkgJWNvbmZpZ3VyZV92YXJzID0gKCk7CgojIEln bm9yZWQgY29uZmlndXJlIHN1YnN0aXR1dGlvbnMgKGkuZS4sIHZhcmlhYmxlcyBub3QgdG8g YmUgb3V0cHV0IGluCiMgTWFrZWZpbGUuaW4pCm15ICVpZ25vcmVkX2NvbmZpZ3VyZV92YXJz ID0gKCk7CgojIEZpbGVzIGluY2x1ZGVkIGJ5ICRjb25maWd1cmVfYWMuCm15IEBjb25maWd1 cmVfZGVwcyA9ICgpOwoKIyBHcmVhdGVzdCB0aW1lc3RhbXAgb2YgY29uZmlndXJlJ3MgZGVw ZW5kZW5jaWVzLgpteSAkY29uZmlndXJlX2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0gMDsK CiMgSGFzaCB0YWJsZSBvZiBBTV9DT05ESVRJT05BTCB2YXJpYWJsZXMgc2VlbiBpbiBjb25m aWd1cmUuCm15ICVjb25maWd1cmVfY29uZCA9ICgpOwoKIyBUaGlzIG1hcHMgZXh0ZW5zaW9u cyBvbnRvIGxhbmd1YWdlIG5hbWVzLgpteSAlZXh0ZW5zaW9uX21hcCA9ICgpOwoKIyBMaXN0 IG9mIHRoZSBESVNUX0NPTU1PTiBmaWxlcyB3ZSBkaXNjb3ZlcmVkIHdoaWxlIHJlYWRpbmcK IyBjb25maWd1cmUuYWMuCm15IEBjb25maWd1cmVfZGlzdF9jb21tb24gPSAoKTsKCiMgVGhp cyBtYXBzIGxhbmd1YWdlcyBuYW1lcyBvbnRvIG9iamVjdHMuCm15ICVsYW5ndWFnZXMgPSAo KTsKIyBNYXBzIGVhY2ggbGlua2VyIHZhcmlhYmxlIG9udG8gYSBsYW5ndWFnZSBvYmplY3Qu Cm15ICVsaW5rX2xhbmd1YWdlcyA9ICgpOwoKIyBtYXBzIGV4dGVuc2lvbnMgdG8gbmVlZGVk IHNvdXJjZSBmbGFncy4KbXkgJXNvdXJjZWZsYWdzID0gKCk7CgojIExpc3Qgb2YgdGFyZ2V0 cyB3ZSBtdXN0IGFsd2F5cyBvdXRwdXQuCiMgRklYTUU6IENvbXBsZXRlLCBhbmQgcmVtb3Zl IGZhbHNlbHkgcmVxdWlyZWQgdGFyZ2V0cy4KbXkgJXJlcXVpcmVkX3RhcmdldHMgPQogICgK ICAgJ2FsbCcgICAgICAgICAgPT4gMSwKICAgJ2R2aScJICA9PiAxLAogICAncGRmJwkgID0+ IDEsCiAgICdwcycJCSAgPT4gMSwKICAgJ2luZm8nCSAgPT4gMSwKICAgJ2luc3RhbGwtaW5m bycgPT4gMSwKICAgJ2luc3RhbGwnICAgICAgPT4gMSwKICAgJ2luc3RhbGwtZGF0YScgPT4g MSwKICAgJ2luc3RhbGwtZXhlYycgPT4gMSwKICAgJ3VuaW5zdGFsbCcgICAgPT4gMSwKCiAg ICMgRklYTUU6IE5vdCByZXF1aXJlZCwgdGVtcG9yYXJ5IGhhY2tzLgogICAjIFdlbGwsIGFj dHVhbGx5IHRoZXkgYXJlIHNvcnQgb2YgcmVxdWlyZWQ6IHRoZSAtcmVjdXJzaXZlCiAgICMg dGFyZ2V0cyB3aWxsIHJ1biB0aGVtIGFueXdheS4uLgogICAnaHRtbC1hbScgICAgICAgICA9 PiAxLAogICAnZHZpLWFtJyAgICAgICAgICA9PiAxLAogICAncGRmLWFtJyAgICAgICAgICA9 PiAxLAogICAncHMtYW0nICAgICAgICAgICA9PiAxLAogICAnaW5mby1hbScgICAgICAgICA9 PiAxLAogICAnaW5zdGFsbC1kYXRhLWFtJyA9PiAxLAogICAnaW5zdGFsbC1leGVjLWFtJyA9 PiAxLAogICAnaW5zdGFsbC1odG1sLWFtJyA9PiAxLAogICAnaW5zdGFsbC1kdmktYW0nICA9 PiAxLAogICAnaW5zdGFsbC1wZGYtYW0nICA9PiAxLAogICAnaW5zdGFsbC1wcy1hbScgICA9 PiAxLAogICAnaW5zdGFsbC1pbmZvLWFtJyA9PiAxLAogICAnaW5zdGFsbGNoZWNrLWFtJyA9 PiAxLAogICAndW5pbnN0YWxsLWFtJyAgICA9PiAxLAogICAndGFncy1hbScgICAgICAgICA9 PiAxLAogICAnY3RhZ3MtYW0nICAgICAgICA9PiAxLAogICAnY3Njb3BlbGlzdC1hbScgICA9 PiAxLAogICAnaW5zdGFsbC1tYW4nICAgICA9PiAxLAogICk7CgojIFF1ZXVlIHRvIHB1c2gg cmVxdWlyZV9jb25mX2ZpbGUgcmVxdWlyZW1lbnRzIHRvLgpteSAkcmVxdWlyZWRfY29uZl9m aWxlX3F1ZXVlOwoKIyBUaGUgbmFtZSBvZiB0aGUgTWFrZWZpbGUgY3VycmVudGx5IGJlaW5n IHByb2Nlc3NlZC4KbXkgJGFtX2ZpbGUgPSAnQlVHJzsKCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBWYXJpYWJsZXMg cmVzZXQgYnkgJmluaXRpYWxpemVfcGVyX2lucHV0LiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgojIFJlbGF0aXZlIGRpciBvZiB0aGUg b3V0cHV0IG1ha2VmaWxlLgpteSAkcmVsYXRpdmVfZGlyOwoKIyBHcmVhdGVzdCB0aW1lc3Rh bXAgb2YgdGhlIG91dHB1dCdzIGRlcGVuZGVuY2llcyAoZXhjbHVkaW5nCiMgY29uZmlndXJl J3MgZGVwZW5kZW5jaWVzKS4KbXkgJG91dHB1dF9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsK CiMgVGhlc2UgdmFyaWFibGVzIGFyZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBlYWNoIE1ha2Vm aWxlLmluLgojIFRoZXkgaG9sZCB0aGUgTWFrZWZpbGUuaW4gdW50aWwgaXQgaXMgcmVhZHkg dG8gYmUgcHJpbnRlZC4KbXkgJG91dHB1dF92YXJzOwpteSAkb3V0cHV0X2FsbDsKbXkgJG91 dHB1dF9oZWFkZXI7Cm15ICRvdXRwdXRfcnVsZXM7Cm15ICRvdXRwdXRfdHJhaWxlcjsKCiMg VGhpcyBpcyB0aGUgY29uZGl0aW9uYWwgc3RhY2ssIHVwZGF0ZWQgb24gaWYvZWxzZS9lbmRp ZiwgYW5kCiMgdXNlZCB0byBidWlsZCBDb25kaXRpb24gb2JqZWN0cy4KbXkgQGNvbmRfc3Rh Y2s7CgojIFRoaXMgaG9sZHMgdGhlIHNldCBvZiBpbmNsdWRlZCBmaWxlcy4KbXkgQGluY2x1 ZGVfc3RhY2s7CgojIExpc3Qgb2YgZGVwZW5kZW5jaWVzIGZvciB0aGUgb2J2aW91cyB0YXJn ZXRzLgpteSBAYWxsOwpteSBAY2hlY2s7Cm15IEBjaGVja190ZXN0czsKCiMgS2V5cyBpbiB0 aGlzIGhhc2ggdGFibGUgYXJlIGZpbGVzIHRvIGRlbGV0ZS4gIFRoZSBhc3NvY2lhdGVkCiMg dmFsdWUgdGVsbHMgd2hlbiB0aGlzIHNob3VsZCBoYXBwZW4gKE1PU1RMWV9DTEVBTiwgRElT VF9DTEVBTiwgZXRjLikKbXkgJWNsZWFuX2ZpbGVzOwoKIyBLZXlzIGluIHRoaXMgaGFzaCB0 YWJsZSBhcmUgb2JqZWN0IGZpbGVzIG9yIG90aGVyIGZpbGVzIGluCiMgc3ViZGlyZWN0b3Jp ZXMgd2hpY2ggbmVlZCB0byBiZSByZW1vdmVkLiAgVGhpcyBvbmx5IGhvbGRzIGZpbGVzCiMg d2hpY2ggYXJlIGNyZWF0ZWQgYnkgY29tcGlsYXRpb25zLiAgVGhlIHZhbHVlIGluIHRoZSBo YXNoIGluZGljYXRlcwojIHdoZW4gdGhlIGZpbGUgc2hvdWxkIGJlIHJlbW92ZWQuCm15ICVj b21waWxlX2NsZWFuX2ZpbGVzOwoKIyBLZXlzIGluIHRoaXMgaGFzaCB0YWJsZSBhcmUgZGly ZWN0b3JpZXMgd2hlcmUgd2UgZXhwZWN0IHRvIGJ1aWxkIGEKIyBsaWJ0b29sIG9iamVjdC4g IFdlIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRlY2lkZSB3aGF0IGRpcmVjdG9yaWVzCiMg dG8gZGVsZXRlLgpteSAlbGlidG9vbF9jbGVhbl9kaXJlY3RvcmllczsKCiMgVmFsdWUgb2Yg JChTT1VSQ0VTKSwgdXNlZCBieSB0YWdzLmFtLgpteSBAc291cmNlczsKIyBTb3VyY2VzIHdo aWNoIGdvIGluIHRoZSBkaXN0cmlidXRpb24uCm15IEBkaXN0X3NvdXJjZXM7CgojIFRoaXMg aGFzaCBtYXBzIG9iamVjdCBmaWxlIG5hbWVzIG9udG8gdGhlaXIgY29ycmVzcG9uZGluZyBz b3VyY2UKIyBmaWxlIG5hbWVzLiAgVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB0aGF0IGVhY2gg b2JqZWN0IGlzIGNyZWF0ZWQKIyBieSBhIHNpbmdsZSBzb3VyY2UgZmlsZS4KbXkgJW9iamVj dF9tYXA7CgojIFRoaXMgaGFzaCBtYXBzIG9iamVjdCBmaWxlIG5hbWVzIG9udG8gYW4gaW50 ZWdlciB2YWx1ZSByZXByZXNlbnRpbmcKIyB3aGV0aGVyIHRoaXMgb2JqZWN0IGhhcyBiZWVu IGJ1aWx0IHZpYSBvcmRpbmFyeSBjb21waWxhdGlvbiBvcgojIGxpYnRvb2wgY29tcGlsYXRp b24gKHRoZSBDT01QSUxFXyogY29uc3RhbnRzKS4KbXkgJW9iamVjdF9jb21waWxhdGlvbl9t YXA7CgoKIyBUaGlzIGtlZXBzIHRyYWNrIG9mIHRoZSBkaXJlY3RvcmllcyBmb3Igd2hpY2gg d2UndmUgYWxyZWFkeQojIGNyZWF0ZWQgZGlyc3RhbXAgY29kZS4gIEtleXMgYXJlIGRpcmVj dG9yaWVzLCB2YWx1ZXMgYXJlIHN0YW1wIGZpbGVzLgojIFNldmVyYWwga2V5cyBjYW4gc2hh cmUgdGhlIHNhbWUgc3RhbXAgZmlsZXMgaWYgdGhleSBhcmUgZXF1aXZhbGVudAojIChhcyBh cmUgJy4vL2ZvbycgYW5kICdmb28nKS4KbXkgJWRpcmVjdG9yeV9tYXA7CgojIEFsbCAuUCBm aWxlcy4KbXkgJWRlcF9maWxlczsKCiMgVGhpcyBpcyBhIGxpc3Qgb2YgYWxsIHRhcmdldHMg dG8gcnVuIGR1cmluZyAibWFrZSBkaXN0Ii4KbXkgQGRpc3RfdGFyZ2V0czsKCiMgTGlzdCBv ZiBhbGwgcHJvZ3JhbXMsIGxpYnJhcmllcyBhbmQgbHRsaWJyYXJpZXMgYXMgcmV0dXJuZWQK IyBieSBhbV9pbnN0YWxsX3ZhcgpteSBAcHJvZ2xpc3Q7Cm15IEBsaWJsaXN0OwpteSBAbHRs aWJsaXN0OwojIEJsYWNrbGlzdCBvZiB0YXJnZXRzIChhcyBjYW5vbmljYWwgYmFzZSBuYW1l KSBmb3Igd2hpY2ggb2JqZWN0IGZpbGUgbmFtZXMKIyBtYXkgbm90IGJlIGF1dG9tYXRpY2Fs bHkgc2hvcnRlbmVkCm15IEBkdXBfc2hvcnRuYW1lczsKCiMgS2VlcCB0cmFjayBvZiBhbGwg cHJvZ3JhbXMgZGVjbGFyZWQgaW4gdGhpcyBNYWtlZmlsZSwgd2l0aG91dAojICQoRVhFRVhU KS4gIEBzdWJzdGl0dXRpb25zQCBhcmUgbm90IGxpc3RlZC4KbXkgJWtub3duX3Byb2dyYW1z OwpteSAla25vd25fbGlicmFyaWVzOwoKIyBUaGlzIGtlZXBzIHRyYWNrIG9mIHdoaWNoIGV4 dGVuc2lvbnMgd2UndmUgc2VlbiAodGhhdCB3ZSBjYXJlCiMgYWJvdXQpLgpteSAlZXh0ZW5z aW9uX3NlZW47CgojIFRoaXMgaXMgcmFuZG9tIHNjcmF0Y2ggc3BhY2UgZm9yIHRoZSBsYW5n dWFnZSBmaW5pc2ggZnVuY3Rpb25zLgojIERvbid0IHJhbmRvbWx5IG92ZXJ3cml0ZSBpdDsg ZXhhbWluZSBvdGhlciB1c2VzIG9mIGtleXMgZmlyc3QuCm15ICVsYW5ndWFnZV9zY3JhdGNo OwoKIyBXZSBrZWVwIHRyYWNrIG9mIHdoaWNoIG9iamVjdHMgbmVlZCBzcGVjaWFsIChwZXIt ZXhlY3V0YWJsZSkKIyBoYW5kbGluZyBvbiBhIHBlci1sYW5ndWFnZSBiYXNpcy4KbXkgJWxh bmdfc3BlY2lmaWNfZmlsZXM7CgojIExpc3Qgb2YgZGlzdHJpYnV0ZWQgZmlsZXMgdG8gYmUg cHV0IGluIERJU1RfQ09NTU9OLgpteSBAZGlzdF9jb21tb247CgojIFRoaXMgaXMgc2V0IHdo ZW4gJ2hhbmRsZV9kaXN0JyBoYXMgZmluaXNoZWQuICBPbmNlIHRoaXMgaGFwcGVucywKIyB3 ZSBzaG91bGQgbm8gbG9uZ2VyIHB1c2ggb24gZGlzdF9jb21tb24uCm15ICRoYW5kbGVfZGlz dF9ydW47CgojIFVzZWQgdG8gc3RvcmUgYSBzZXQgb2YgbGlua2VycyBuZWVkZWQgdG8gZ2Vu ZXJhdGUgdGhlIHNvdXJjZXMgY3VycmVudGx5CiMgdW5kZXIgY29uc2lkZXJhdGlvbi4KbXkg JWxpbmtlcnNfdXNlZDsKCiMgVHJ1ZSBpZiB3ZSBuZWVkICdMSU5LJyBkZWZpbmVkLiAgVGhp cyBpcyBhIGhhY2suCm15ICRuZWVkX2xpbms7CgojIERvZXMgdGhlIGdlbmVyYXRlZCBNYWtl ZmlsZSBoYXZlIHRvIGJ1aWxkIHNvbWUgY29tcGlsZWQgb2JqZWN0CiMgKGZvciBiaW5hcnkg cHJvZ3JhbXMsIG9yIHBsYWluIG9yIGxpYnRvb2wgbGlicmFyaWVzKT8KbXkgJG11c3RfaGFu ZGxlX2NvbXBpbGVkX29iamVjdHM7CgojIFJlY29yZCBlYWNoIGZpbGUgcHJvY2Vzc2VkIGJ5 IG1ha2VfcGFyYWdyYXBocy4KbXkgJXRyYW5zZm9ybWVkX2ZpbGVzOwoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBWYXJpYWJsZXMgbm90IHJlc2V0IGJ5ICZpbml0aWFsaXplX3Blcl9pbnB1dC4gICMjCiMj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMg Q2FjaGUgZWFjaCBmaWxlIHByb2Nlc3NlZCBieSBtYWtlX3BhcmFncmFwaHMuCiMgKFRoaXMg aXMgZGlmZmVyZW50IGZyb20gJXRyYW5zZm9ybWVkX2ZpbGVzIGJlY2F1c2UKIyAldHJhbnNm b3JtZWRfZmlsZXMgaXMgcmVzZXQgZm9yIGVhY2ggZmlsZSB3aGlsZSAlYW1fZmlsZV9jYWNo ZQojIGl0IGdsb2JhbCB0byB0aGUgcnVuLikKbXkgJWFtX2ZpbGVfY2FjaGU7CgojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCgojIHZhcl9TVUZGSVhFU190cmlnZ2VyICgkVFlQRSwgJFZBTFVFKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgaXMgY2FsbGVkIGJ5IEF1dG9t YWtlOjpWYXJpYWJsZTo6ZGVmaW5lKCkgd2hlbiBTVUZGSVhFUwojIGlzIGRlZmluZWQgKCRU WVBFIGVxICcnKSBvciBhcHBlbmRlZCAoJFRZUEUgZXEgJysnKS4KIyBUaGUgd29yayBoZXJl IG5lZWRzIHRvIGJlIHBlcmZvcm1lZCBhcyBhIHNpZGUtZWZmZWN0IG9mIHRoZQojIG1hY3Jv X2RlZmluZSgpIGNhbGwgYmVjYXVzZSBTVUZGSVhFUyBkZWZpbml0aW9ucyBpbXBhY3QKIyBv biAkS05PV05fRVhURU5TSU9OU19QQVRURVJOIHdoaWNoIGlzIHVzZWQgdXNlZCB3aGVuIHBh cnNpbmcKIyB0aGUgaW5wdXQgYW0gZmlsZS4Kc3ViIHZhcl9TVUZGSVhFU190cmlnZ2VyCnsK ICAgIG15ICgkdHlwZSwgJHZhbHVlKSA9IEBfOwogICAgYWNjZXB0X2V4dGVuc2lvbnMgKHNw bGl0ICgnICcsICR2YWx1ZSkpOwp9CkF1dG9tYWtlOjpWYXJpYWJsZTo6aG9vayAoJ1NVRkZJ WEVTJywgXCZ2YXJfU1VGRklYRVNfdHJpZ2dlcik7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyBpbml0aWFs aXplX3Blcl9pbnB1dCAoKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgKFJlKS1Jbml0 aWFsaXplIHBlci1NYWtlZmlsZS5hbSB2YXJpYWJsZXMuCnN1YiBpbml0aWFsaXplX3Blcl9p bnB1dCAoKQp7CiAgICByZXNldF9sb2NhbF9kdXBsaWNhdGVzICgpOwoKICAgICRyZWxhdGl2 ZV9kaXIgPSB1bmRlZjsKCiAgICAkb3V0cHV0X2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0g MDsKCiAgICAkb3V0cHV0X3ZhcnMgPSAnJzsKICAgICRvdXRwdXRfYWxsID0gJyc7CiAgICAk b3V0cHV0X2hlYWRlciA9ICcnOwogICAgJG91dHB1dF9ydWxlcyA9ICcnOwogICAgJG91dHB1 dF90cmFpbGVyID0gJyc7CgogICAgQXV0b21ha2U6Ok9wdGlvbnM6OnJlc2V0OwogICAgQXV0 b21ha2U6OlZhcmlhYmxlOjpyZXNldDsKICAgIEF1dG9tYWtlOjpSdWxlOjpyZXNldDsKCiAg ICBAY29uZF9zdGFjayA9ICgpOwoKICAgIEBpbmNsdWRlX3N0YWNrID0gKCk7CgogICAgQGFs bCA9ICgpOwogICAgQGNoZWNrID0gKCk7CiAgICBAY2hlY2tfdGVzdHMgPSAoKTsKCiAgICAl Y2xlYW5fZmlsZXMgPSAoKTsKICAgICVjb21waWxlX2NsZWFuX2ZpbGVzID0gKCk7CgogICAg IyBXZSBhbHdheXMgaW5jbHVkZSAnLicuICBUaGlzIGlzbid0IHN0cmljdGx5IGNvcnJlY3Qu CiAgICAlbGlidG9vbF9jbGVhbl9kaXJlY3RvcmllcyA9ICgnLicgPT4gMSk7CgogICAgQHNv dXJjZXMgPSAoKTsKICAgIEBkaXN0X3NvdXJjZXMgPSAoKTsKCiAgICAlb2JqZWN0X21hcCA9 ICgpOwogICAgJW9iamVjdF9jb21waWxhdGlvbl9tYXAgPSAoKTsKCiAgICAlZGlyZWN0b3J5 X21hcCA9ICgpOwoKICAgICVkZXBfZmlsZXMgPSAoKTsKCiAgICBAZGlzdF90YXJnZXRzID0g KCk7CgogICAgQGRpc3RfY29tbW9uID0gKCk7CiAgICAkaGFuZGxlX2Rpc3RfcnVuID0gMDsK CiAgICBAcHJvZ2xpc3QgPSAoKTsKICAgIEBsaWJsaXN0ID0gKCk7CiAgICBAbHRsaWJsaXN0 ID0gKCk7CiAgICBAZHVwX3Nob3J0bmFtZXMgPSAoKTsKCiAgICAla25vd25fcHJvZ3JhbXMg PSAoKTsKICAgICVrbm93bl9saWJyYXJpZXMgPSAoKTsKCiAgICAlZXh0ZW5zaW9uX3NlZW4g PSAoKTsKCiAgICAlbGFuZ3VhZ2Vfc2NyYXRjaCA9ICgpOwoKICAgICVsYW5nX3NwZWNpZmlj X2ZpbGVzID0gKCk7CgogICAgJG5lZWRfbGluayA9IDA7CgogICAgJG11c3RfaGFuZGxlX2Nv bXBpbGVkX29iamVjdHMgPSAwOwoKICAgICV0cmFuc2Zvcm1lZF9maWxlcyA9ICgpOwp9CgoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBJbml0aWFsaXplIG91ciBsaXN0IG9mIGxhbmd1YWdlcyB0aGF0IGFy ZSBpbnRlcm5hbGx5IHN1cHBvcnRlZC4KCm15IEBjcHBsaWtlX2ZsYWdzID0KICBxd3sKICAg ICQoREVGUykKICAgICQoREVGQVVMVF9JTkNMVURFUykKICAgICQoSU5DTFVERVMpCiAgICAk KEFNX0NQUEZMQUdTKQogICAgJChDUFBGTEFHUykKICB9OwoKIyBDLgpyZWdpc3Rlcl9sYW5n dWFnZSAoJ25hbWUnID0+ICdjJywKCQkgICAnTmFtZScgPT4gJ0MnLAoJCSAgICdjb25maWdf dmFycycgPT4gWydDQyddLAoJCSAgICdhdXRvZGVwJyA9PiAnJywKCQkgICAnZmxhZ3MnID0+ IFsnQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdDQycsCgkJICAgJ2Nv bXBpbGVyJyA9PiAnQ09NUElMRScsCgkJICAgJ2NvbXBpbGUnID0+ICJcJChDQykgQGNwcGxp a2VfZmxhZ3MgXCQoQU1fQ0ZMQUdTKSBcJChDRkxBR1MpIiwKCQkgICAnbGRlcicgPT4gJ0ND TEQnLAoJCSAgICdsZCcgPT4gJyQoQ0MpJywKCQkgICAnbGlua2VyJyA9PiAnTElOSycsCgkJ ICAgJ2xpbmsnID0+ICckKENDTEQpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZM QUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJ CSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdDQycs CgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLmMnXSk7CgojIEMrKy4KcmVnaXN0ZXJfbGFuZ3Vh Z2UgKCduYW1lJyA9PiAnY3h4JywKCQkgICAnTmFtZScgPT4gJ0MrKycsCgkJICAgJ2NvbmZp Z192YXJzJyA9PiBbJ0NYWCddLAoJCSAgICdsaW5rZXInID0+ICdDWFhMSU5LJywKCQkgICAn bGluaycgPT4gJyQoQ1hYTEQpICQoQU1fQ1hYRkxBR1MpICQoQ1hYRkxBR1MpICQoQU1fTERG TEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2F1dG9kZXAnID0+ICdDWFgnLAoJCSAg ICdmbGFncycgPT4gWydDWFhGTEFHUycsICdDUFBGTEFHUyddLAoJCSAgICdjb21waWxlJyA9 PiAiXCQoQ1hYKSBAY3BwbGlrZV9mbGFncyBcJChBTV9DWFhGTEFHUykgXCQoQ1hYRkxBR1Mp IiwKCQkgICAnY2NlcicgPT4gJ0NYWCcsCgkJICAgJ2NvbXBpbGVyJyA9PiAnQ1hYQ09NUElM RScsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkgICAnb3V0cHV0X2ZsYWcnID0+ ICctbycsCgkJICAgJ2xpYnRvb2xfdGFnJyA9PiAnQ1hYJywKCQkgICAnbGRlcicgPT4gJ0NY WExEJywKCQkgICAnbGQnID0+ICckKENYWCknLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAgICdl eHRlbnNpb25zJyA9PiBbJy5jKysnLCAnLmNjJywgJy5jcHAnLCAnLmN4eCcsICcuQyddKTsK CiMgT2JqZWN0aXZlIEMuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ29iamMnLAoJ CSAgICdOYW1lJyA9PiAnT2JqZWN0aXZlIEMnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydP QkpDJ10sCgkJICAgJ2xpbmtlcicgPT4gJ09CSkNMSU5LJywKCQkgICAnbGluaycgPT4gJyQo T0JKQ0xEKSAkKEFNX09CSkNGTEFHUykgJChPQkpDRkxBR1MpICQoQU1fTERGTEFHUykgJChM REZMQUdTKSAtbyAkQCcsCgkJICAgJ2F1dG9kZXAnID0+ICdPQkpDJywKCQkgICAnZmxhZ3Mn ID0+IFsnT0JKQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NvbXBpbGUnID0+ICJcJChP QkpDKSBAY3BwbGlrZV9mbGFncyBcJChBTV9PQkpDRkxBR1MpIFwkKE9CSkNGTEFHUykiLAoJ CSAgICdjY2VyJyA9PiAnT0JKQycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnT0JKQ0NPTVBJTEUn LAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAn LW8nLAoJCSAgICdsZGVyJyA9PiAnT0JKQ0xEJywKCQkgICAnbGQnID0+ICckKE9CSkMpJywK CQkgICAncHVyZScgPT4gMSwKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycubSddKTsKCiMgT2Jq ZWN0aXZlIEMrKy4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnb2JqY3h4JywKCQkg ICAnTmFtZScgPT4gJ09iamVjdGl2ZSBDKysnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydP QkpDWFgnXSwKCQkgICAnbGlua2VyJyA9PiAnT0JKQ1hYTElOSycsCgkJICAgJ2xpbmsnID0+ ICckKE9CSkNYWExEKSAkKEFNX09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAkKEFNX0xE RkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdhdXRvZGVwJyA9PiAnT0JKQ1hYJywK CQkgICAnZmxhZ3MnID0+IFsnT0JKQ1hYRkxBR1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY29t cGlsZScgPT4gIlwkKE9CSkNYWCkgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fT0JKQ1hYRkxBR1Mp IFwkKE9CSkNYWEZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdPQkpDWFgnLAoJCSAgICdjb21w aWxlcicgPT4gJ09CSkNYWENPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycs CgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsZGVyJyA9PiAnT0JKQ1hYTEQn LAoJCSAgICdsZCcgPT4gJyQoT0JKQ1hYKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4 dGVuc2lvbnMnID0+IFsnLm1tJ10pOwoKIyBVbmlmaWVkIFBhcmFsbGVsIEMuCnJlZ2lzdGVy X2xhbmd1YWdlICgnbmFtZScgPT4gJ3VwYycsCgkJICAgJ05hbWUnID0+ICdVbmlmaWVkIFBh cmFsbGVsIEMnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydVUEMnXSwKCQkgICAnbGlua2Vy JyA9PiAnVVBDTElOSycsCgkJICAgJ2xpbmsnID0+ICckKFVQQ0xEKSAkKEFNX1VQQ0ZMQUdT KSAkKFVQQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdh dXRvZGVwJyA9PiAnVVBDJywKCQkgICAnZmxhZ3MnID0+IFsnVVBDRkxBR1MnLCAnQ1BQRkxB R1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKFVQQykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1f VVBDRkxBR1MpIFwkKFVQQ0ZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdVUEMnLAoJCSAgICdj b21waWxlcicgPT4gJ1VQQ0NPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycs CgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsZGVyJyA9PiAnVVBDTEQnLAoJ CSAgICdsZCcgPT4gJyQoVVBDKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lv bnMnID0+IFsnLnVwYyddKTsKCiMgSGVhZGVycy4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1l JyA9PiAnaGVhZGVyJywKCQkgICAnTmFtZScgPT4gJ0hlYWRlcicsCgkJICAgJ2V4dGVuc2lv bnMnID0+IFsnLmgnLCAnLkgnLCAnLmh4eCcsICcuaCsrJywgJy5oaCcsCgkJCQkgICAgJy5o cHAnLCAnLmluYyddLAoJCSAgICMgTm8gb3V0cHV0LgoJCSAgICdvdXRwdXRfZXh0ZW5zaW9u cycgPT4gc3ViIHsgcmV0dXJuICgpIH0sCgkJICAgIyBOb3RoaW5nIHRvIGRvLgoJCSAgICdf ZmluaXNoJyA9PiBzdWIgeyB9KTsKCiMgVmFsYQpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUn ID0+ICd2YWxhJywKCQkgICAnTmFtZScgPT4gJ1ZhbGEnLAoJCSAgICdjb25maWdfdmFycycg PT4gWydWQUxBQyddLAoJCSAgICdmbGFncycgPT4gW10sCgkJICAgJ2NvbXBpbGUnID0+ICck KFZBTEFDKSAkKEFNX1ZBTEFGTEFHUykgJChWQUxBRkxBR1MpJywKCQkgICAnY2NlcicgPT4g J1ZBTEFDJywKCQkgICAnY29tcGlsZXInID0+ICdWQUxBQ09NUElMRScsCgkJICAgJ2V4dGVu c2lvbnMnID0+IFsnLnZhbGEnXSwKCQkgICAnb3V0cHV0X2V4dGVuc2lvbnMnID0+IHN1YiB7 IChteSAkZXh0ID0gJF9bMF0pID1+IHMvdmFsYSQvYy87CgkJCQkJCXJldHVybiAoJGV4dCwp IH0sCgkJICAgJ3J1bGVfZmlsZScgPT4gJ3ZhbGEnLAoJCSAgICdfZmluaXNoJyA9PiBcJmxh bmdfdmFsYV9maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX3ZhbGFfdGFy Z2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVjaWZpYycgPT4gMSk7CgojIFlhY2MgKEMgJiBD KyspLgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICd5YWNjJywKCQkgICAnTmFtZScg PT4gJ1lhY2MnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydZQUNDJ10sCgkJICAgJ2ZsYWdz JyA9PiBbJ1lGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAnJChZQUNDKSAkKEFNX1lGTEFH UykgJChZRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ1lBQ0MnLAoJCSAgICdjb21waWxlcicg PT4gJ1lBQ0NDT01QSUxFJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycueSddLAoJCSAgICdv dXRwdXRfZXh0ZW5zaW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIveS9j LzsKCQkJCQkJcmV0dXJuICgkZXh0LCkgfSwKCQkgICAncnVsZV9maWxlJyA9PiAneWFjYycs CgkJICAgJ19maW5pc2gnID0+IFwmbGFuZ195YWNjX2ZpbmlzaCwKCQkgICAnX3RhcmdldF9o b29rJyA9PiBcJmxhbmdfeWFjY190YXJnZXRfaG9vaywKCQkgICAnbm9kaXN0X3NwZWNpZmlj JyA9PiAxKTsKcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAneWFjY3h4JywKCQkgICAn TmFtZScgPT4gJ1lhY2MgKEMrKyknLAoJCSAgICdjb25maWdfdmFycycgPT4gWydZQUNDJ10s CgkJICAgJ3J1bGVfZmlsZScgPT4gJ3lhY2MnLAoJCSAgICdmbGFncycgPT4gWydZRkxBR1Mn XSwKCQkgICAnY2NlcicgPT4gJ1lBQ0MnLAoJCSAgICdjb21waWxlcicgPT4gJ1lBQ0NDT01Q SUxFJywKCQkgICAnY29tcGlsZScgPT4gJyQoWUFDQykgJChBTV9ZRkxBR1MpICQoWUZMQUdT KScsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnkrKycsICcueXknLCAnLnl4eCcsICcueXBw J10sCgkJICAgJ291dHB1dF9leHRlbnNpb25zJyA9PiBzdWIgeyAobXkgJGV4dCA9ICRfWzBd KSA9fiB0ci95L2MvOwoJCQkJCQlyZXR1cm4gKCRleHQsKSB9LAoJCSAgICdfZmluaXNoJyA9 PiBcJmxhbmdfeWFjY19maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX3lh Y2NfdGFyZ2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVjaWZpYycgPT4gMSk7CgojIExleCAo QyAmIEMrKykuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ2xleCcsCgkJICAgJ05h bWUnID0+ICdMZXgnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydMRVgnXSwKCQkgICAncnVs ZV9maWxlJyA9PiAnbGV4JywKCQkgICAnZmxhZ3MnID0+IFsnTEZMQUdTJ10sCgkJICAgJ2Nv bXBpbGUnID0+ICckKExFWCkgJChBTV9MRkxBR1MpICQoTEZMQUdTKScsCgkJICAgJ2NjZXIn ID0+ICdMRVgnLAoJCSAgICdjb21waWxlcicgPT4gJ0xFWENPTVBJTEUnLAoJCSAgICdleHRl bnNpb25zJyA9PiBbJy5sJ10sCgkJICAgJ291dHB1dF9leHRlbnNpb25zJyA9PiBzdWIgeyAo bXkgJGV4dCA9ICRfWzBdKSA9fiB0ci9sL2MvOwoJCQkJCQlyZXR1cm4gKCRleHQsKSB9LAoJ CSAgICdfZmluaXNoJyA9PiBcJmxhbmdfbGV4X2ZpbmlzaCwKCQkgICAnX3RhcmdldF9ob29r JyA9PiBcJmxhbmdfbGV4X3RhcmdldF9ob29rLAoJCSAgICdub2Rpc3Rfc3BlY2lmaWMnID0+ IDEpOwpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICdsZXh4eCcsCgkJICAgJ05hbWUn ID0+ICdMZXggKEMrKyknLAoJCSAgICdjb25maWdfdmFycycgPT4gWydMRVgnXSwKCQkgICAn cnVsZV9maWxlJyA9PiAnbGV4JywKCQkgICAnZmxhZ3MnID0+IFsnTEZMQUdTJ10sCgkJICAg J2NvbXBpbGUnID0+ICckKExFWCkgJChBTV9MRkxBR1MpICQoTEZMQUdTKScsCgkJICAgJ2Nj ZXInID0+ICdMRVgnLAoJCSAgICdjb21waWxlcicgPT4gJ0xFWENPTVBJTEUnLAoJCSAgICdl eHRlbnNpb25zJyA9PiBbJy5sKysnLCAnLmxsJywgJy5seHgnLCAnLmxwcCddLAoJCSAgICdv dXRwdXRfZXh0ZW5zaW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIvbC9j LzsKCQkJCQkJcmV0dXJuICgkZXh0LCkgfSwKCQkgICAnX2ZpbmlzaCcgPT4gXCZsYW5nX2xl eF9maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX2xleF90YXJnZXRfaG9v aywKCQkgICAnbm9kaXN0X3NwZWNpZmljJyA9PiAxKTsKCiMgQXNzZW1ibGVyLgpyZWdpc3Rl cl9sYW5ndWFnZSAoJ25hbWUnID0+ICdhc20nLAoJCSAgICdOYW1lJyA9PiAnQXNzZW1ibGVy JywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnQ0NBUycsICdDQ0FTRkxBR1MnXSwKCgkJICAg J2ZsYWdzJyA9PiBbJ0NDQVNGTEFHUyddLAoJCSAgICMgVXNlcnMgY2FuIHNldCBBTV9DQ0FT RkxBR1MgdG8gaW5jbHVkZSBERUZTLCBJTkNMVURFUywKCQkgICAjIG9yIGFueXRoaW5nIGVs c2UgcmVxdWlyZWQuICBUaGV5IGNhbiBhbHNvIHNldCBDQ0FTLgoJCSAgICMgT3Igc2ltcGx5 IHVzZSBQcmVwcm9jZXNzZWQgQXNzZW1ibGVyLgoJCSAgICdjb21waWxlJyA9PiAnJChDQ0FT KSAkKEFNX0NDQVNGTEFHUykgJChDQ0FTRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0NDQVMn LAoJCSAgICdjb21waWxlcicgPT4gJ0NDQVNDT01QSUxFJywKCQkgICAnY29tcGlsZV9mbGFn JyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnZXh0ZW5zaW9u cycgPT4gWycucyddKTsKCiMgUHJlcHJvY2Vzc2VkIEFzc2VtYmxlci4KcmVnaXN0ZXJfbGFu Z3VhZ2UgKCduYW1lJyA9PiAnY3BwYXNtJywKCQkgICAnTmFtZScgPT4gJ1ByZXByb2Nlc3Nl ZCBBc3NlbWJsZXInLAoJCSAgICdjb25maWdfdmFycycgPT4gWydDQ0FTJywgJ0NDQVNGTEFH UyddLAoKCQkgICAnYXV0b2RlcCcgPT4gJ0NDQVMnLAoJCSAgICdmbGFncycgPT4gWydDQ0FT RkxBR1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKENDQVMpIEBjcHBs aWtlX2ZsYWdzIFwkKEFNX0NDQVNGTEFHUykgXCQoQ0NBU0ZMQUdTKSIsCgkJICAgJ2NjZXIn ID0+ICdDUFBBUycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnQ1BQQVNDT01QSUxFJywKICAgICAg ICAgICAgICAgICAgICdsaWJ0b29sX3RhZycgPT4gJ0NDJywKCQkgICAnY29tcGlsZV9mbGFn JyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnZXh0ZW5zaW9u cycgPT4gWycuUycsICcuc3gnXSk7CgojIEZvcnRyYW4gNzcKcmVnaXN0ZXJfbGFuZ3VhZ2Ug KCduYW1lJyA9PiAnZjc3JywKCQkgICAnTmFtZScgPT4gJ0ZvcnRyYW4gNzcnLAoJCSAgICdj b25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlua2VyJyA9PiAnRjc3TElOSycsCgkJ ICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpICQoQU1fTERG TEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ0ZGTEFHUyddLAoJ CSAgICdjb21waWxlJyA9PiAnJChGNzcpICQoQU1fRkZMQUdTKSAkKEZGTEFHUyknLAoJCSAg ICdjY2VyJyA9PiAnRjc3JywKCQkgICAnY29tcGlsZXInID0+ICdGNzdDT01QSUxFJywKCQkg ICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywK CQkgICAnbGlidG9vbF90YWcnID0+ICdGNzcnLAoJCSAgICdsZGVyJyA9PiAnRjc3TEQnLAoJ CSAgICdsZCcgPT4gJyQoRjc3KScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lv bnMnID0+IFsnLmYnLCAnLmZvciddKTsKCiMgRm9ydHJhbgpyZWdpc3Rlcl9sYW5ndWFnZSAo J25hbWUnID0+ICdmYycsCgkJICAgJ05hbWUnID0+ICdGb3J0cmFuJywKCQkgICAnY29uZmln X3ZhcnMnID0+IFsnRkMnXSwKCQkgICAnbGlua2VyJyA9PiAnRkNMSU5LJywKCQkgICAnbGlu aycgPT4gJyQoRkNMRCkgJChBTV9GQ0ZMQUdTKSAkKEZDRkxBR1MpICQoQU1fTERGTEFHUykg JChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ0ZDRkxBR1MnXSwKCQkgICAn Y29tcGlsZScgPT4gJyQoRkMpICQoQU1fRkNGTEFHUykgJChGQ0ZMQUdTKScsCgkJICAgJ2Nj ZXInID0+ICdGQycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnRkNDT01QSUxFJywKCQkgICAnY29t cGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAn bGlidG9vbF90YWcnID0+ICdGQycsCgkJICAgJ2xkZXInID0+ICdGQ0xEJywKCQkgICAnbGQn ID0+ICckKEZDKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsn LmY5MCcsICcuZjk1JywgJy5mMDMnLCAnLmYwOCddKTsKCiMgUHJlcHJvY2Vzc2VkIEZvcnRy YW4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAncHBmYycsCgkJICAgJ05hbWUnID0+ ICdQcmVwcm9jZXNzZWQgRm9ydHJhbicsCgkJICAgJ2NvbmZpZ192YXJzJyA9PiBbJ0ZDJ10s CgkJICAgJ2xpbmtlcicgPT4gJ0ZDTElOSycsCgkJICAgJ2xpbmsnID0+ICckKEZDTEQpICQo QU1fRkNGTEFHUykgJChGQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAn LAoJCSAgICdsZGVyJyA9PiAnRkNMRCcsCgkJICAgJ2xkJyA9PiAnJChGQyknLAoJCSAgICdm bGFncycgPT4gWydGQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdQUEZD JywKCQkgICAnY29tcGlsZXInID0+ICdQUEZDQ09NUElMRScsCgkJICAgJ2NvbXBpbGUnID0+ ICJcJChGQykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fRkNGTEFHUykgXCQoRkNGTEFHUykiLAoJ CSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8n LAoJCSAgICdsaWJ0b29sX3RhZycgPT4gJ0ZDJywKCQkgICAncHVyZScgPT4gMSwKCQkgICAn ZXh0ZW5zaW9ucycgPT4gWycuRjkwJywnLkY5NScsICcuRjAzJywgJy5GMDgnXSk7CgojIFBy ZXByb2Nlc3NlZCBGb3J0cmFuIDc3CiMKIyBUaGUgY3VycmVudCBzdXBwb3J0IGZvciBwcmVw cm9jZXNzaW5nIEZvcnRyYW4gNzcganVzdCBpbnZvbHZlcwojIHBhc3NpbmcgIiQoREVGUykg JChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKQojICQoQ1BQ RkxBR1MpIiBhcyBhZGRpdGlvbmFsIGZsYWdzIHRvIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVy LCBzaW5jZQojIHRoaXMgaXMgaG93IEdOVSBNYWtlIGRvZXMgaXQ7IHNlZSB0aGUgIkdOVSBN YWtlIE1hbnVhbCwgRWRpdGlvbiAwLjUxCiMgZm9yICdtYWtlJyBWZXJzaW9uIDMuNzYgQmV0 YSIgKHNwZWNpZmljYWxseSwgZnJvbSBpbmZvIGZpbGUKIyAnKG1ha2UpQ2F0YWxvZ3VlIG9m IFJ1bGVzJykuCiMKIyBBIGJldHRlciBhcHByb2FjaCB3b3VsZCBiZSB0byB3cml0ZSBhbiBB dXRvY29uZiB0ZXN0CiMgKGkuZS4gQUNfUFJPR19GUFApIGZvciBhIEZvcnRyYW4gNzcgcHJl cHJvY2Vzc29yLCBiZWNhdXNlIG5vdCBhbGwKIyBGb3J0cmFuIDc3IGNvbXBpbGVycyBrbm93 IGhvdyB0byBkbyBwcmVwcm9jZXNzaW5nLiAgVGhlIEF1dG9jb25mCiMgbWFjcm8gQUNfUFJP R19GUFAgc2hvdWxkIHRlc3QgdGhlIEZvcnRyYW4gNzcgY29tcGlsZXIgZmlyc3QgZm9yCiMg cHJlcHJvY2Vzc2luZyBjYXBhYmlsaXRpZXMsIGFuZCB0aGVuIGZhbGwgYmFjayBvbiBjcHAg KGlmIGNwcCB3ZXJlCiMgYXZhaWxhYmxlKS4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9 PiAncHBmNzcnLAoJCSAgICdOYW1lJyA9PiAnUHJlcHJvY2Vzc2VkIEZvcnRyYW4gNzcnLAoJ CSAgICdjb25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlua2VyJyA9PiAnRjc3TElO SycsCgkJICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpICQo QU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2xkZXInID0+ICdGNzdMRCcs CgkJICAgJ2xkJyA9PiAnJChGNzcpJywKCQkgICAnZmxhZ3MnID0+IFsnRkZMQUdTJywgJ0NQ UEZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdQUEY3NycsCgkJICAgJ2NvbXBpbGVyJyA9PiAn UFBGNzdDT01QSUxFJywKCQkgICAnY29tcGlsZScgPT4gIlwkKEY3NykgQGNwcGxpa2VfZmxh Z3MgXCQoQU1fRkZMQUdTKSBcJChGRkxBR1MpIiwKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAn LWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ ICdGNzcnLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5GJ10p OwoKIyBSYXRmb3IuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ3JhdGZvcicsCgkJ ICAgJ05hbWUnID0+ICdSYXRmb3InLAoJCSAgICdjb25maWdfdmFycycgPT4gWydGNzcnXSwK CQkgICAnbGlua2VyJyA9PiAnRjc3TElOSycsCgkJICAgJ2xpbmsnID0+ICckKEY3N0xEKSAk KEFNX0ZGTEFHUykgJChGRkxBR1MpICQoQU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcs CgkJICAgJ2xkZXInID0+ICdGNzdMRCcsCgkJICAgJ2xkJyA9PiAnJChGNzcpJywKCQkgICAn ZmxhZ3MnID0+IFsnUkZMQUdTJywgJ0ZGTEFHUyddLAoJCSAgICMgRklYTUUgYWxzbyBGRkxB R1MuCgkJICAgJ2NvbXBpbGUnID0+ICckKEY3NykgJChBTV9GRkxBR1MpICQoRkZMQUdTKSAk KEFNX1JGTEFHUykgJChSRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0Y3NycsCgkJICAgJ2Nv bXBpbGVyJyA9PiAnUkNPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJ ICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsaWJ0b29sX3RhZycgPT4gJ0Y3Nycs CgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnInXSk7CgojIEph dmEgdmlhIGdjai4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnamF2YScsCgkJICAg J05hbWUnID0+ICdKYXZhJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnR0NKJ10sCgkJICAg J2xpbmtlcicgPT4gJ0dDSkxJTksnLAoJCSAgICdsaW5rJyA9PiAnJChHQ0pMRCkgJChBTV9H Q0pGTEFHUykgJChHQ0pGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRAJywK CQkgICAnYXV0b2RlcCcgPT4gJ0dDSicsCgkJICAgJ2ZsYWdzJyA9PiBbJ0dDSkZMQUdTJ10s CgkJICAgJ2NvbXBpbGUnID0+ICckKEdDSikgJChBTV9HQ0pGTEFHUykgJChHQ0pGTEFHUykn LAoJCSAgICdjY2VyJyA9PiAnR0NKJywKCQkgICAnY29tcGlsZXInID0+ICdHQ0pDT01QSUxF JywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4g Jy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdHQ0onLAoJCSAgICdsZGVyJyA9PiAnR0NK TEQnLAoJCSAgICdsZCcgPT4gJyQoR0NKKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4 dGVuc2lvbnMnID0+IFsnLmphdmEnLCAnLmNsYXNzJywgJy56aXAnLCAnLmphciddKTsKCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKCiMgRXJyb3IgcmVwb3J0aW5nIGZ1bmN0aW9ucy4KCiMgZXJyX2FtICgkTUVT U0FHRSwgWyVPUFRJT05TXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFVu Y2F0ZWdvcml6ZWQgZXJyb3JzIGFib3V0IHRoZSBjdXJyZW50IE1ha2VmaWxlLmFtLgpzdWIg ZXJyX2FtCnsKICBtc2dfYW0gKCdlcnJvcicsIEBfKTsKfQoKIyBlcnJfYWMgKCRNRVNTQUdF LCBbJU9QVElPTlNdKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVW5jYXRl Z29yaXplZCBlcnJvcnMgYWJvdXQgY29uZmlndXJlLmFjLgpzdWIgZXJyX2FjCnsKICBtc2df YWMgKCdlcnJvcicsIEBfKTsKfQoKIyBtc2dfYW0gKCRDSEFOTkVMLCAkTUVTU0FHRSwgWyVP UFRJT05TXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBN ZXNzYWdlcyBhYm91dCBhYm91dCB0aGUgY3VycmVudCBNYWtlZmlsZS5hbS4Kc3ViIG1zZ19h bQp7CiAgbXkgKCRjaGFubmVsLCAkbXNnLCAlb3B0cykgPSBAXzsKICBtc2cgJGNoYW5uZWws ICIke2FtX2ZpbGV9LmFtIiwgJG1zZywgJW9wdHM7Cn0KCiMgbXNnX2FjICgkQ0hBTk5FTCwg JE1FU1NBR0UsIFslT1BUSU9OU10pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgTWVzc2FnZXMgYWJvdXQgYWJvdXQgY29uZmlndXJlLmFjLgpzdWIgbXNn X2FjCnsKICBteSAoJGNoYW5uZWwsICRtc2csICVvcHRzKSA9IEBfOwogIG1zZyAkY2hhbm5l bCwgJGNvbmZpZ3VyZV9hYywgJG1zZywgJW9wdHM7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgc3Vic3Qg KCRURVhUKQojIC0tLS0tLS0tLS0tLS0KIyBSZXR1cm4gYSBjb25maWd1cmUtc3R5bGUgc3Vi c3RpdHV0aW9uIHVzaW5nIHRoZSBpbmRpY2F0ZWQgdGV4dC4KIyBXZSBkbyB0aGlzIHRvIGF2 b2lkIGhhdmluZyB0aGUgc3Vic3RpdHV0aW9ucyBkaXJlY3RseSBpbiBhdXRvbWFrZS5pbjsK IyB3aGVuIHdlIGRvIHRoYXQgdGhleSBhcmUgc29tZXRpbWVzIHJlbW92ZWQgYW5kIHRoaXMg Y2F1c2VzIGNvbmZ1c2lvbgojIGFuZCBidWdzLgpzdWIgc3Vic3QKewogICAgbXkgKCR0ZXh0 KSA9IEBfOwogICAgcmV0dXJuICdAJyAuICR0ZXh0IC4gJ0AnOwp9CgojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoK IyAkQkFDS1BBVEgKIyBiYWNrbmFtZSAoJFJFTERJUikKIyAtLS0tLS0tLS0tLS0tLS0tLS0t CiMgSWYgSSAiY2QgJFJFTERJUiIsIHRoZW4gdG8gY29tZSBiYWNrLCBJIHNob3VsZCAiY2Qg JEJBQ0tQQVRIIi4KIyBGb3IgaW5zdGFuY2UgJ3NyYy9mb28nID0+ICcuLi8uLicuCiMgV29y a3Mgd2l0aCBub24gc3RyaWN0bHkgaW5jcmVhc2luZyBwYXRocywgaS5lLiwgJ3NyYy8uLi9s aWInID0+ICcuLicuCnN1YiBiYWNrbmFtZQp7CiAgICBteSAoJGZpbGUpID0gQF87CiAgICBt eSBAcmVzOwogICAgZm9yZWFjaCAoc3BsaXQgKC9cLy8sICRmaWxlKSkKICAgIHsKCW5leHQg aWYgJF8gZXEgJy4nIHx8ICRfIGVxICcnOwoJaWYgKCRfIGVxICcuLicpCgl7CgkgICAgcG9w IEByZXMKCSAgICAgIG9yIHByb2dfZXJyb3IgKCJ0cnlpbmcgdG8gcmV2ZXJzZSBwYXRoICck ZmlsZScgcG9pbnRpbmcgb3V0c2lkZSB0cmVlIik7Cgl9CgllbHNlCgl7CgkgICAgcHVzaCAo QHJlcywgJy4uJyk7Cgl9CiAgICB9CiAgICByZXR1cm4gam9pbiAoJy8nLCBAcmVzKSB8fCAn Lic7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKCiMgU2lsZW50IHJ1bGVzIGhhbmRsaW5nIGZ1bmN0aW9ucy4K CiMgdmVyYm9zZV92YXIgKE5BTUUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhlIHB1Ymxp YyB2YXJpYWJsZSBzdGVtIHVzZWQgdG8gaW1wbGVtZW50IHNpbGVudCBydWxlcy4Kc3ViIHZl cmJvc2VfdmFyCnsKICAgIG15ICgkbmFtZSkgPSBAXzsKICAgIHJldHVybiAnQU1fVl8nIC4g JG5hbWU7Cn0KCiMgdmVyYm9zZV9wcml2YXRlX3ZhciAoTkFNRSkKIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQojIFRoZSBuYW1pbmcgcG9saWN5IGZvciB0aGUgcHJpdmF0ZSB2YXJp YWJsZXMgZm9yIHNpbGVudCBydWxlcy4Kc3ViIHZlcmJvc2VfcHJpdmF0ZV92YXIKewogICAg bXkgKCRuYW1lKSA9IEBfOwogICAgcmV0dXJuICdhbV9fdl8nIC4gJG5hbWU7Cn0KCiMgZGVm aW5lX3ZlcmJvc2VfdmFyIChOQU1FLCBWQUwtSUYtU0lMRU5ULCBbVkFMLUlGLVZFUkJPU0Vd KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIyBGb3IgIHNpbGVudCBydWxlcywgc2V0dXAgVkFSIGFuZCBkaXNwYXRjaGVy LCB0byBleHBhbmQgdG8KIyBWQUwtSUYtU0lMRU5UIGlmIHNpbGVudCwgdG8gVkFMLUlGLVZF UkJPU0UgKGRlZmF1bHRpbmcgdG8KIyBlbXB0eSkgaWYgbm90LgpzdWIgZGVmaW5lX3ZlcmJv c2VfdmFyCnsKICAgIG15ICgkbmFtZSwgJHNpbGVudF92YWwsICR2ZXJib3NlX3ZhbCkgPSBA XzsKICAgICR2ZXJib3NlX3ZhbCA9ICcnIHVubGVzcyBkZWZpbmVkICR2ZXJib3NlX3ZhbDsK ICAgIG15ICR2YXIgPSB2ZXJib3NlX3ZhciAoJG5hbWUpOwogICAgbXkgJHB2YXIgPSB2ZXJi b3NlX3ByaXZhdGVfdmFyICgkbmFtZSk7CiAgICBteSAkc2lsZW50X3ZhciA9ICRwdmFyIC4g J18wJzsKICAgIG15ICR2ZXJib3NlX3ZhciA9ICRwdmFyIC4gJ18xJzsKICAgICMgRm9yIHR5 cGljYWwgJ21ha2UncywgJ2NvbmZpZ3VyZScgcmVwbGFjZXMgQU1fViAoaW5zaWRlIEBAKSB3 aXRoICQoVikKICAgICMgYW5kIEFNX0RFRkFVTFRfViAoaW5zaWRlIEBAKSB3aXRoICQoQU1f REVGQVVMVF9WRVJCT1NJVFkpLgogICAgIyBGb3Igc3RyaWN0IFBPU0lYIDIwMDggJ21ha2Un cywgaXQgcmVwbGFjZXMgdGhlbSB3aXRoIDAgb3IgMSBpbnN0ZWFkLgogICAgIyBTZWUgQU1f U0lMRU5UX1JVTEVTIGluIG00L3NpbGVudC5tNC4KICAgIGRlZmluZV92YXJpYWJsZSAoJHZh ciwgJyQoJyAuICRwdmFyIC4gJ19AJy4nQU1fVicuJ0ApJywgSU5URVJOQUwpOwogICAgZGVm aW5lX3ZhcmlhYmxlICgkcHZhciAuICdfJywgJyQoJyAuICRwdmFyIC4gJ19AJy4nQU1fREVG QVVMVF9WJy4nQCknLAogICAgICAgICAgICAgICAgICAgICBJTlRFUk5BTCk7CiAgICBBdXRv bWFrZTo6VmFyaWFibGU6OmRlZmluZSAoJHNpbGVudF92YXIsIFZBUl9BVVRPTUFLRSwgJycs IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNpbGVudF92YWwsICcn LCBJTlRFUk5BTCwgVkFSX0FTSVMpCiAgICAgIGlmICghIHZhcmRlZiAoJHNpbGVudF92YXIs IFRSVUUpKTsKICAgIEF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5lICgkdmVyYm9zZV92YXIs IFZBUl9BVVRPTUFLRSwgJycsIFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJHZlcmJvc2VfdmFsLCAnJywgSU5URVJOQUwsIFZBUl9BU0lTKQogICAgICBpZiAoISB2 YXJkZWYgKCR2ZXJib3NlX3ZhciwgVFJVRSkpOwp9CgojIHZlcmJvc2VfZmxhZyAoTkFNRSkK IyAtLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29udGVudHMgb2YgJyVWRVJCT1NFJScgdmFyaWFi bGUgdG8gZXhwYW5kIGJlZm9yZSBydWxlIGNvbW1hbmQuCnN1YiB2ZXJib3NlX2ZsYWcKewog ICAgbXkgKCRuYW1lKSA9IEBfOwogICAgcmV0dXJuICckKCcgLiB2ZXJib3NlX3ZhciAoJG5h bWUpIC4gJyknOwp9CgpzdWIgdmVyYm9zZV9ub2RlcF9mbGFnCnsKICAgIG15ICgkbmFtZSkg PSBAXzsKICAgIHJldHVybiAnJCgnIC4gdmVyYm9zZV92YXIgKCRuYW1lKSAuIHN1YnN0ICgn YW1fX25vZGVwJykgLiAnKSc7Cn0KCiMgc2lsZW50X2ZsYWcKIyAtLS0tLS0tLS0tLQojIENv bnRlbnRzIG9mICVTSUxFTlQlOiB2YXJpYWJsZSB0byBleHBhbmQgdG8gJ0AnIHdoZW4gc2ls ZW50LgpzdWIgc2lsZW50X2ZsYWcgKCkKewogICAgcmV0dXJuIHZlcmJvc2VfZmxhZyAoJ2F0 Jyk7Cn0KCiMgZGVmaW5lX3ZlcmJvc2VfdGFndmFyIChOQU1FKQojIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIyBFbmdhZ2UgdGhlIG5lZWRlZCBzaWxlbnQgcnVsZXMgbWFjaGlu ZXJ5IGZvciB0YWcgTkFNRS4Kc3ViIGRlZmluZV92ZXJib3NlX3RhZ3Zhcgp7CiAgICBteSAo JG5hbWUpID0gQF87CiAgICBkZWZpbmVfdmVyYm9zZV92YXIgKCRuYW1lLCAnQGVjaG8gIiAg Jy4gJG5hbWUgLiAnICcgeCAoOCAtIGxlbmd0aCAoJG5hbWUpKSAuICciICRAOycpOwp9Cgoj IEVuZ2FnZSB0aGUgbmVlZGVkIHNpbGVudCBydWxlcyBtYWNoaW5lcnkgZm9yIGFzc29ydGVk IHRleGluZm8gY29tbWFuZHMuCnN1YiBkZWZpbmVfdmVyYm9zZV90ZXhpbmZvICgpCnsKICBt eSBAdGFndmFycyA9ICgnRFZJUFMnLCAnTUFLRUlORk8nLCAnSU5GT0hUTUwnLCAnVEVYSTJE VkknLCAnVEVYSTJQREYnKTsKICBmb3JlYWNoIG15ICR0YWcgKEB0YWd2YXJzKQogICAgewog ICAgICBkZWZpbmVfdmVyYm9zZV90YWd2YXIoJHRhZyk7CiAgICB9CiAgZGVmaW5lX3ZlcmJv c2VfdmFyKCd0ZXhpbmZvJywgJy1xJyk7CiAgZGVmaW5lX3ZlcmJvc2VfdmFyKCd0ZXhpZGV2 bnVsbCcsICc+IC9kZXYvbnVsbCcpOwp9CgojIEVuZ2FnZSB0aGUgbmVlZGVkIHNpbGVudCBy dWxlcyBtYWNoaW5lcnkgZm9yICdsaWJ0b29sIC0tc2lsZW50Jy4Kc3ViIGRlZmluZV92ZXJi b3NlX2xpYnRvb2wgKCkKewogICAgZGVmaW5lX3ZlcmJvc2VfdmFyICgnbHQnLCAnLS1zaWxl bnQnKTsKICAgIHJldHVybiB2ZXJib3NlX2ZsYWcgKCdsdCcpOwp9CgpzdWIgaGFuZGxlX3Np bGVudCAoKQp7CiAgICAjIERlZmluZSAiJChBTV9WX1ApIiwgZXhwYW5kaW5nIHRvIGEgc2hl bGwgY29uZGl0aW9uYWwgdGhhdCBjYW4gYmUKICAgICMgdXNlZCBpbiBtYWtlIHJlY2lwZXMg dG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgYXJlIGJlaW5nIHJ1biBpbgogICAgIyBzaWxlbnQg bW9kZSBvciBub3QuICBUaGUgY2hvaWNlIG9mIHRoZSBuYW1lIGRlcml2ZXMgZnJvbSB0aGUg TElTUAogICAgIyBjb252ZW50aW9uIG9mIGFwcGVuZGluZyB0aGUgbGV0dGVyICdQJyB0byBk ZW5vdGUgYSBwcmVkaWNhdGUgKHNlZQogICAgIyBhbHNvICJ0aGUgJy1QJyBjb252ZW50aW9u IiBpbiB0aGUgSmFyZ29uIEZpbGUpOyB3ZSBkbyBzbyBmb3IgbGFjawogICAgIyBvZiBhIGJl dHRlciBjb252ZW50aW9uLgogICAgZGVmaW5lX3ZlcmJvc2VfdmFyICgnUCcsICdmYWxzZScs ICc6Jyk7CiAgICAjICpBbHdheXMqIHByb3ZpZGUgdGhlIHVzZXIgd2l0aCAnJChBTV9WX0dF TiknLCB1bmNvbmRpdGlvbmFsbHkuCiAgICBkZWZpbmVfdmVyYm9zZV90YWd2YXIgKCdHRU4n KTsKICAgIGRlZmluZV92ZXJib3NlX3ZhciAoJ2F0JywgJ0AnKTsKfQoKCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK CgojIEhhbmRsZSBBVVRPTUFLRV9PUFRJT05TIHZhcmlhYmxlLiAgUmV0dXJuIDAgb24gZXJy b3IsIDEgb3RoZXJ3aXNlLgpzdWIgaGFuZGxlX29wdGlvbnMgKCkKewogIG15ICR2YXIgPSB2 YXIgKCdBVVRPTUFLRV9PUFRJT05TJyk7CiAgaWYgKCR2YXIpCiAgICB7CiAgICAgIGlmICgk dmFyLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCgl7CgkgIG1zZ192YXIgKCd1bnN1cHBv cnRlZCcsICR2YXIsCgkJICAgIidBVVRPTUFLRV9PUFRJT05TJyBjYW5ub3QgaGF2ZSBjb25k aXRpb25hbCBjb250ZW50cyIpOwoJfQogICAgICBteSBAb3B0aW9ucyA9IG1hcCB7IHsgb3B0 aW9uID0+ICRfLT5bMV0sIHdoZXJlID0+ICRfLT5bMF0gfSB9CgkJCSR2YXItPnZhbHVlX2Fz X2xpc3RfcmVjdXJzaXZlIChjb25kX2ZpbHRlciA9PiBUUlVFLAoJCQkJCQkgICAgICAgbG9j YXRpb24gPT4gMSk7CiAgICAgIHJldHVybiAwIHVubGVzcyBwcm9jZXNzX29wdGlvbl9saXN0 IChAb3B0aW9ucyk7CiAgICB9CgogIGlmICgkc3RyaWN0bmVzcyA9PSBHTklUUykKICAgIHsK ICAgICAgc2V0X29wdGlvbiAoJ3JlYWRtZS1hbHBoYScsIElOVEVSTkFMKTsKICAgICAgc2V0 X29wdGlvbiAoJ3N0ZC1vcHRpb25zJywgSU5URVJOQUwpOwogICAgICBzZXRfb3B0aW9uICgn Y2hlY2stbmV3cycsIElOVEVSTkFMKTsKICAgIH0KCiAgcmV0dXJuIDE7Cn0KCiMgc2hhZG93 X3VuY29uZGl0aW9uYWxseSAoJHZhcm5hbWUsICR3aGVyZSkKIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiBhICQodmFyaWFibGUpIHRoYXQg Y29udGFpbnMgYWxsIHBvc3NpYmxlIHZhbHVlcwojICR2YXJuYW1lIGNhbiB0YWtlLgojIElm IHRoZSBWQVIgd2Fzbid0IGRlZmluZWQgY29uZGl0aW9uYWxseSwgcmV0dXJuICQoVkFSKS4K IyBPdGhlcndpc2Ugd2UgY3JlYXRlIGFuIGFtX19WQVJfRElTVCB2YXJpYWJsZSB3aGljaCBj b250YWlucwojIGFsbCBwb3NzaWJsZSB2YWx1ZXMsIGFuZCByZXR1cm4gJChhbV9fVkFSX0RJ U1QpLgpzdWIgc2hhZG93X3VuY29uZGl0aW9uYWxseQp7CiAgbXkgKCR2YXJuYW1lLCAkd2hl cmUpID0gQF87CiAgbXkgJHZhciA9IHZhciAkdmFybmFtZTsKICBpZiAoJHZhci0+aGFzX2Nv bmRpdGlvbmFsX2NvbnRlbnRzKQogICAgewogICAgICAkdmFybmFtZSA9ICJhbV9fJHt2YXJu YW1lfV9ESVNUIjsKICAgICAgbXkgQGZpbGVzID0gdW5pcSAoJHZhci0+dmFsdWVfYXNfbGlz dF9yZWN1cnNpdmUpOwogICAgICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgkdmFybmFtZSwg VFJVRSwgJHdoZXJlLCBAZmlsZXMpOwogICAgfQogIHJldHVybiAiXCQoJHZhcm5hbWUpIgp9 CgojIGNoZWNrX3VzZXJfdmFyaWFibGVzIChATElTVCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgTWFrZSBzdXJlIGVhY2ggdmFyaWFibGUgVkFSIGluIEBMSVNUIGRvZXMg bm90IGV4aXN0LCBzdWdnZXN0IHVzaW5nIEFNX1ZBUgojIG90aGVyd2lzZS4Kc3ViIGNoZWNr X3VzZXJfdmFyaWFibGVzCnsKICBteSBAZG9udF9vdmVycmlkZSA9IEBfOwogIGZvcmVhY2gg bXkgJGZsYWcgKEBkb250X292ZXJyaWRlKQogICAgewogICAgICBteSAkdmFyID0gdmFyICRm bGFnOwogICAgICBpZiAoJHZhcikKCXsKCSAgZm9yIG15ICRjb25kICgkdmFyLT5jb25kaXRp b25zLT5jb25kcykKCSAgICB7CgkgICAgICBpZiAoJHZhci0+cmRlZiAoJGNvbmQpLT5vd25l ciA9PSBWQVJfTUFLRUZJTEUpCgkJewoJCSAgbXNnX2NvbmRfdmFyICgnZ251JywgJGNvbmQs ICRmbGFnLAoJCQkJIickZmxhZycgaXMgYSB1c2VyIHZhcmlhYmxlLCAiCgkJCQkuICJ5b3Ug c2hvdWxkIG5vdCBvdmVycmlkZSBpdDtcbiIKCQkJCS4gInVzZSAnQU1fJGZsYWcnIGluc3Rl YWQiKTsKCQl9CgkgICAgfQoJfQogICAgfQp9CgojIENhbGwgZmluaXNoIGZ1bmN0aW9uIGZv ciBlYWNoIGxhbmd1YWdlIHRoYXQgd2FzIHVzZWQuCnN1YiBoYW5kbGVfbGFuZ3VhZ2VzICgp CnsKICAgIGlmICghIG9wdGlvbiAnbm8tZGVwZW5kZW5jaWVzJykKICAgICAgewogICAgICAg ICMgSW5jbHVkZSBhdXRvLWRlcCBjb2RlLiAgRG9uJ3QgaW5jbHVkZSBpdCBpZiBERVBfRklM RVMgd291bGQKICAgICAgICAjIGJlIGVtcHR5LgogICAgICAgIGlmIChrZXlzICVleHRlbnNp b25fc2VlbiAmJiBrZXlzICVkZXBfZmlsZXMpCiAgICAgICAgICB7CiAgICAgICAgICAgIG15 IEBkZXBfZmlsZXMgPSBzb3J0IGtleXMgJWRlcF9maWxlczsKICAgICAgICAgICAgIyBTZXQg bG9jYXRpb24gb2YgZGVwY29tcC4KICAgICAgICAgICAgZGVmaW5lX3ZhcmlhYmxlICgnZGVw Y29tcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlwkKFNIRUxMKSAkYW1fY29u ZmlnX2F1eF9kaXIvZGVwY29tcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5U RVJOQUwpOwogICAgICAgICAgICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fbWF5YmVfcmVtYWtl X2RlcGZpbGVzJywgJ2RlcGZpbGVzJywgSU5URVJOQUwpOwogICAgICAgICAgICBkZWZpbmVf dmFyaWFibGUgKCdhbV9fZGVwZmlsZXNfcmVtYWRlJywgIkBkZXBfZmlsZXMiLCBJTlRFUk5B TCk7CiAgICAgICAgICAgICRvdXRwdXRfcnVsZXMgLj0gIlxuIjsKICAgICAgICAgICAgbXkg QGRpc3Rfcm1zOwogICAgICAgICAgICBmb3JlYWNoIG15ICRkZXBmaWxlIChAZGVwX2ZpbGVz KQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHB1c2ggQGRpc3Rfcm1zLCAiXHQt cm0gLWYgJGRlcGZpbGUiOwogICAgICAgICAgICAgICAgIyBHZW5lcmF0ZSBlYWNoICdpbmNs dWRlJyBkaXJlY3RpdmUgaW5kaXZpZHVhbGx5LiAgU2V2ZXJhbAogICAgICAgICAgICAgICAg IyBtYWtlIGltcGxlbWVudGF0aW9ucyAoSVJJWCA2LCBTb2xhcmlzIDEwLCBGcmVlQlNEIDgp IHdpbGwKICAgICAgICAgICAgICAgICMgZmFpbCB0byBwcm9wZXJseSBpbmNsdWRlIHNldmVy YWwgZmlsZXMgcmVzdWx0aW5nIGZyb20gYQogICAgICAgICAgICAgICAgIyB2YXJpYWJsZSBl eHBhbnNpb24uIEp1c3QgR2VuZXJhdGluZyBtYW55IHNlcGFyYXRlIGluY2x1ZGVzCiAgICAg ICAgICAgICAgICAjIHNlZW1zIHRodXMgc2FmZXN0LgogICAgICAgICAgICAgICAgJG91dHB1 dF9ydWxlcyAuPSBzdWJzdCAoJ0FNREVQX1RSVUUnKSAuCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN1YnN0ICgnYW1fX2luY2x1ZGUnKSAuCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIgIiAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN1YnN0KCdhbV9fcXVvdGUnKSAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICRkZXBmaWxlIC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3QoJ2Ft X19xdW90ZScpIC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiIC4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiMgYW0tLWluY2x1ZGUtbWFya2VyXG4i OwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJlcXVpcmVfY29uZl9maWxlICgiJGFt X2ZpbGUuYW0iLCBGT1JFSUdOLCAnZGVwY29tcCcpOwoKICAgICAgICAgICAgJG91dHB1dF9y dWxlcyAuPSBmaWxlX2NvbnRlbnRzICgKICAgICAgICAgICAgICAgICdkZXBlbmQnLCBuZXcg QXV0b21ha2U6OkxvY2F0aW9uLAogICAgICAgICAgICAgICAgJ0RJU1RSTVMnID0+IGpvaW4g KCJcbiIsIEBkaXN0X3JtcykpOwogICAgICAgICAgfQogICAgICB9CiAgICBlbHNlCiAgICAg IHsKICAgICAgICBkZWZpbmVfdmFyaWFibGUgKCdkZXBjb21wJywgJycsIElOVEVSTkFMKTsK ICAgICAgICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVzJywg JycsIElOVEVSTkFMKTsKICAgICAgfQoKICAgIG15ICVkb25lOwoKICAgICMgSXMgdGhlIEMg bGlua2VyIG5lZWRlZD8KICAgIG15ICRuZWVkc19jID0gMDsKICAgIGZvcmVhY2ggbXkgJGV4 dCAoc29ydCBrZXlzICVleHRlbnNpb25fc2VlbikKICAgIHsKCW5leHQgdW5sZXNzICRleHRl bnNpb25fbWFweyRleHR9OwoKCW15ICRsYW5nID0gJGxhbmd1YWdlc3skZXh0ZW5zaW9uX21h cHskZXh0fX07CgoJbXkgJHJ1bGVfZmlsZSA9ICRsYW5nLT5ydWxlX2ZpbGUgfHwgJ2RlcGVu ZDInOwoKCSMgR2V0IGluZm9ybWF0aW9uIG9uICRMQU5HLgoJbXkgJHBmeCA9ICRsYW5nLT5h dXRvZGVwOwoJbXkgJGZwZnggPSAoJHBmeCBlcSAnJykgPyAnQ0MnIDogJHBmeDsKCglteSAo JEFNREVQLCAkRkFTVERFUCkgPQoJICAob3B0aW9uICduby1kZXBlbmRlbmNpZXMnIHx8ICRs YW5nLT5hdXRvZGVwIGVxICdubycpCgkgID8gKCdGQUxTRScsICdGQUxTRScpIDogKCdBTURF UCcsICJhbV9fZmFzdGRlcCRmcGZ4Iik7CgoJbXkgJHZlcmJvc2UgPSB2ZXJib3NlX2ZsYWcg KCRsYW5nLT5jY2VyIHx8ICdHRU4nKTsKCW15ICR2ZXJib3NlX25vZGVwID0gKCRBTURFUCBl cSAnRkFMU0UnKQoJICA/ICR2ZXJib3NlIDogdmVyYm9zZV9ub2RlcF9mbGFnICgkbGFuZy0+ Y2NlciB8fCAnR0VOJyk7CglteSAkc2lsZW50ID0gc2lsZW50X2ZsYWcgKCk7CgoJbXkgJXRy YW5zZm9ybSA9ICgnRVhUJyAgICAgPT4gJGV4dCwKCQkJICdQRlgnICAgICA9PiAkcGZ4LAoJ CQkgJ0ZQRlgnICAgID0+ICRmcGZ4LAoJCQkgJ0FNREVQJyAgID0+ICRBTURFUCwKCQkJICdG QVNUREVQJyA9PiAkRkFTVERFUCwKCQkJICctYycgICAgICA9PiAkbGFuZy0+Y29tcGlsZV9m bGFnIHx8ICcnLAoJCQkgIyBUaGVzZSBhcmUgbm90IHVzZWQsIGJ1dCB0aGV5IG5lZWQgdG8g YmUgZGVmaW5lZAoJCQkgIyBzbyB0cmFuc2Zvcm0oKSBkbyBub3QgY29tcGxhaW4uCgkJCSBT VUJESVJPQkogICAgID0+IDAsCgkJCSAnREVSSVZFRC1FWFQnID0+ICdCVUcnLAoJCQkgRElT VF9TT1VSQ0UgICA9PiAxLAoJCQkgVkVSQk9TRSAgID0+ICR2ZXJib3NlLAoJCQkgJ1ZFUkJP U0UtTk9ERVAnID0+ICR2ZXJib3NlX25vZGVwLAoJCQkgU0lMRU5UICAgID0+ICRzaWxlbnQs CgkJCSk7CgoJIyBHZW5lcmF0ZSB0aGUgYXBwcm9wcmlhdGUgcnVsZXMgZm9yIHRoaXMgZXh0 ZW5zaW9uLgoJaWYgKCgoISBvcHRpb24gJ25vLWRlcGVuZGVuY2llcycpICYmICRsYW5nLT5h dXRvZGVwIG5lICdubycpCgkgICAgfHwgZGVmaW5lZCAkbGFuZy0+Y29tcGlsZSkKCXsKCSAg ICAjIENvbXB1dGUgYSBwb3NzaWJsZSBkZXJpdmVkIGV4dGVuc2lvbi4KCSAgICAjIFRoaXMg aXMgbm90IHVzZWQgYnkgZGVwZW5kMi5hbS4KCSAgICBteSAkZGVyX2V4dCA9ICgkbGFuZy0+ b3V0cHV0X2V4dGVuc2lvbnMtPigkZXh0KSlbMF07CgoJICAgICMgV2hlbiB3ZSBvdXRwdXQg YW4gaW5mZXJlbmNlIHJ1bGUgbGlrZSAnLmMubzonIHdlCgkgICAgIyBoYXZlIHR3byBjYXNl cyB0byBjb25zaWRlcjogZWl0aGVyIHN1YmRpci1vYmplY3RzCgkgICAgIyBpcyB1c2VkLCBv ciBpdCBpcyBub3QuCgkgICAgIwoJICAgICMgSW4gdGhlIGxhdHRlciBjYXNlIHRoZSBydWxl IGlzIHVzZWQgdG8gYnVpbGQgb2JqZWN0cwoJICAgICMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0 b3J5LCBhbmQgZGVwZW5kZW5jaWVzIGFsd2F5cwoJICAgICMgZ28gaW50byAnLi8kKERFUERJ UikvJy4gIFdlIGNhbiBoYXJkLWNvZGUgdGhpcyB2YWx1ZS4KCSAgICAjCgkgICAgIyBJbiB0 aGUgZm9ybWVyIGNhc2UgdGhlIHJ1bGUgY2FuIGJlIHVzZWQgdG8gYnVpbGQKCSAgICAjIG9i amVjdHMgaW4gc3ViLWRpcmVjdG9yaWVzIHRvby4gIERlcGVuZGVuY2llcyBzaG91bGQKCSAg ICAjIGdvIGludG8gdGhlIGFwcHJvcHJpYXRlIHN1Yi1kaXJlY3RvcmllcywgZS5nLiwKCSAg ICAjICdzdWIvJChERVBESVIpLycuICBUaGUgdmFsdWUgb2YgdGhpcyBkaXJlY3RvcnkKCSAg ICAjIG5lZWRzIHRvIGJlIGNvbXB1dGVkIG9uLXRoZS1mbHkuCgkgICAgIwoJICAgICMgREVQ QkFTRSBob2xkcyB0aGUgbmFtZSBvZiB0aGlzIGRpcmVjdG9yeSwgcGx1cyB0aGUKCSAgICAj IGJhc2VuYW1lIHBhcnQgb2YgdGhlIG9iamVjdCBmaWxlIChleHRlbnNpb25zIFBvLCBUUG8s CgkgICAgIyBQbG8sIFRQbG8gd2lsbCBiZSBhZGRlZCBsYXRlciBhcyBhcHByb3ByaWF0ZSku ICBJdCBpcwoJICAgICMgZWl0aGVyIGhhcmRjb2RlZCwgb3IgYSBzaGVsbCB2YXJpYWJsZSAo JyRkZXBiYXNlJykgdGhhdAoJICAgICMgd2lsbCBiZSBjb21wdXRlZCBieSB0aGUgcnVsZS4K CSAgICBteSAkZGVwYmFzZSA9CgkgICAgICBvcHRpb24gKCdzdWJkaXItb2JqZWN0cycpID8g JyQkZGVwYmFzZScgOiAnJChERVBESVIpLyQqJzsKCSAgICAkb3V0cHV0X3J1bGVzIC49Cgkg ICAgICBmaWxlX2NvbnRlbnRzICgkcnVsZV9maWxlLAoJCQkgICAgIG5ldyBBdXRvbWFrZTo6 TG9jYXRpb24sCgkJCSAgICAgJXRyYW5zZm9ybSwKCQkJICAgICBHRU5FUklDICAgPT4gMSwK CgkJCSAgICAgJ0RFUklWRUQtRVhUJyA9PiAkZGVyX2V4dCwKCgkJCSAgICAgREVQQkFTRSAg ID0+ICRkZXBiYXNlLAoJCQkgICAgIEJBU0UgICAgICA9PiAnJConLAoJCQkgICAgIFNPVVJD RSAgICA9PiAnJDwnLAoJCQkgICAgIFNPVVJDRUZMQUcgPT4gJHNvdXJjZWZsYWdzeyRleHR9 IHx8ICcnLAoJCQkgICAgIE9CSiAgICAgICA9PiAnJEAnLAoJCQkgICAgIE9CSk9CSiAgICA9 PiAnJEAnLAoJCQkgICAgIExUT0JKICAgICA9PiAnJEAnLAoKCQkJICAgICBDT01QSUxFICAg PT4gJyQoJyAuICRsYW5nLT5jb21waWxlciAuICcpJywKCQkJICAgICBMVENPTVBJTEUgPT4g JyQoTFQnIC4gJGxhbmctPmNvbXBpbGVyIC4gJyknLAoJCQkgICAgIC1vICAgICAgICA9PiAk bGFuZy0+b3V0cHV0X2ZsYWcsCgkJCSAgICAgU1VCRElST0JKID0+ICEhIG9wdGlvbiAnc3Vi ZGlyLW9iamVjdHMnKTsKCX0KCgkjIE5vdyBpbmNsdWRlIGNvZGUgZm9yIGVhY2ggc3BlY2lh bGx5IGhhbmRsZWQgb2JqZWN0IHdpdGggdGhpcwoJIyBsYW5ndWFnZS4KCW15ICVzZWVuX2Zp bGVzID0gKCk7Cglmb3JlYWNoIG15ICRmaWxlIChAeyRsYW5nX3NwZWNpZmljX2ZpbGVzeyRs YW5nLT5uYW1lfX0pCgl7CgkgICAgbXkgKCRkZXJpdmVkLCAkc291cmNlLCAkb2JqLCAkbXll eHQsICRzcmNleHQsICVmaWxlX3RyYW5zZm9ybSkgPSBAJGZpbGU7CgoJICAgICMgV2UgbWln aHQgc2VlIGEgZ2l2ZW4gb2JqZWN0IHR3aWNlLCBmb3IgaW5zdGFuY2UgaWYgaXQgaXMKCSAg ICAjIHVzZWQgdW5kZXIgZGlmZmVyZW50IGNvbmRpdGlvbnMuCgkgICAgbmV4dCBpZiBkZWZp bmVkICRzZWVuX2ZpbGVzeyRvYmp9OwoJICAgICRzZWVuX2ZpbGVzeyRvYmp9ID0gMTsKCgkg ICAgcHJvZ19lcnJvciAoImZvdW5kICIgLiAkbGFuZy0+bmFtZSAuCgkJCSIgaW4gaGFuZGxl X2xhbmd1YWdlcywgYnV0IGNvbXBpbGVyIG5vdCBkZWZpbmVkIikKCSAgICAgIHVubGVzcyBk ZWZpbmVkICRsYW5nLT5jb21waWxlOwoKCSAgICBteSAkb2JqX2NvbXBpbGUgPSAkbGFuZy0+ Y29tcGlsZTsKCgkgICAgIyBSZXdyaXRlIGVhY2ggb2NjdXJyZW5jZSBvZiAnQU1fJGZsYWcn IGluIHRoZSBjb21waWxlCgkgICAgIyBydWxlIGludG8gJyR7ZGVyaXZlZH1fJGZsYWcnIGlm IGl0IGV4aXN0cy4KCSAgICBmb3IgbXkgJGZsYWcgKEB7JGxhbmctPmZsYWdzfSkKCSAgICAg IHsKCQlteSAkdmFsID0gIiR7ZGVyaXZlZH1fJGZsYWciOwoJCSRvYmpfY29tcGlsZSA9fiBz L1woQU1fJGZsYWdcKS9cKCR2YWxcKS8KCQkgIGlmIHNldF9zZWVuICgkdmFsKTsKCSAgICAg IH0KCgkgICAgbXkgJGxpYnRvb2xfdGFnID0gJyc7CgkgICAgaWYgKCRsYW5nLT5saWJ0b29s X3RhZyAmJiBleGlzdHMgJGxpYnRvb2xfdGFnc3skbGFuZy0+bGlidG9vbF90YWd9KQoJICAg ICAgewoJCSRsaWJ0b29sX3RhZyA9ICctLXRhZz0nIC4gJGxhbmctPmxpYnRvb2xfdGFnIC4g JyAnCgkgICAgICB9CgoJICAgIG15ICRwdGx0ZmxhZ3MgPSAiJHtkZXJpdmVkfV9MSUJUT09M RkxBR1MiOwoJICAgICRwdGx0ZmxhZ3MgPSAnQU1fTElCVE9PTEZMQUdTJyB1bmxlc3Mgc2V0 X3NlZW4gJHB0bHRmbGFnczsKCgkgICAgbXkgJGx0dmVyYm9zZSA9IGRlZmluZV92ZXJib3Nl X2xpYnRvb2wgKCk7CgkgICAgbXkgJG9ial9sdGNvbXBpbGUgPQoJICAgICAgIlwkKExJQlRP T0wpICRsdHZlcmJvc2UgJGxpYnRvb2xfdGFnXCQoJHB0bHRmbGFncykgXCQoTElCVE9PTEZM QUdTKSAiCgkgICAgICAuICItLW1vZGU9Y29tcGlsZSAkb2JqX2NvbXBpbGUiOwoKCSAgICAj IFdlIF9uZWVkXyAnLW8nIGZvciBwZXIgb2JqZWN0IHJ1bGVzLgoJICAgIG15ICRvdXRwdXRf ZmxhZyA9ICRsYW5nLT5vdXRwdXRfZmxhZyB8fCAnLW8nOwoKCSAgICBteSAkZGVwYmFzZSA9 IGRpcm5hbWUgKCRvYmopOwoJICAgICRkZXBiYXNlID0gJycKCQlpZiAkZGVwYmFzZSBlcSAn Lic7CgkgICAgJGRlcGJhc2UgLj0gJy8nCgkJdW5sZXNzICRkZXBiYXNlIGVxICcnOwoJICAg ICRkZXBiYXNlIC49ICckKERFUERJUikvJyAuIGJhc2VuYW1lICgkb2JqKTsKCgkgICAgJG91 dHB1dF9ydWxlcyAuPQoJICAgICAgZmlsZV9jb250ZW50cyAoJHJ1bGVfZmlsZSwKCQkJICAg ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkgICAgICV0cmFuc2Zvcm0sCgkJCSAgICAg R0VORVJJQyAgID0+IDAsCgoJCQkgICAgIERFUEJBU0UgICA9PiAkZGVwYmFzZSwKCQkJICAg ICBCQVNFICAgICAgPT4gJG9iaiwKCQkJICAgICBTT1VSQ0UgICAgPT4gJHNvdXJjZSwKCQkJ ICAgICBTT1VSQ0VGTEFHID0+ICRzb3VyY2VmbGFnc3skc3JjZXh0fSB8fCAnJywKCQkJICAg ICAjIFVzZSAkbXlleHQgYW5kIG5vdCAnLm8nIGhlcmUsIGluIGNhc2UKCQkJICAgICAjIHdl IGFyZSBhY3R1YWxseSBidWlsZGluZyBhIG5ldyBzb3VyY2UKCQkJICAgICAjIGZpbGUgLS0g ZS5nLiB2aWEgeWFjYy4KCQkJICAgICBPQkogICAgICAgPT4gIiRvYmokbXlleHQiLAoJCQkg ICAgIE9CSk9CSiAgICA9PiAiJG9iai5vYmoiLAoJCQkgICAgIExUT0JKICAgICA9PiAiJG9i ai5sbyIsCgoJCQkgICAgIFZFUkJPU0UgICA9PiAkdmVyYm9zZSwKCQkJICAgICAnVkVSQk9T RS1OT0RFUCcgID0+ICR2ZXJib3NlX25vZGVwLAoJCQkgICAgIFNJTEVOVCAgICA9PiAkc2ls ZW50LAoJCQkgICAgIENPTVBJTEUgICA9PiAkb2JqX2NvbXBpbGUsCgkJCSAgICAgTFRDT01Q SUxFID0+ICRvYmpfbHRjb21waWxlLAoJCQkgICAgIC1vICAgICAgICA9PiAkb3V0cHV0X2Zs YWcsCgkJCSAgICAgJWZpbGVfdHJhbnNmb3JtKTsKCX0KCgkjIFRoZSByZXN0IG9mIHRoZSBs b29wIGlzIGRvbmUgb25jZSBwZXIgbGFuZ3VhZ2UuCgluZXh0IGlmIGRlZmluZWQgJGRvbmV7 JGxhbmd9OwoJJGRvbmV7JGxhbmd9ID0gMTsKCgkjIExvYWQgdGhlIGxhbmd1YWdlIGRlcGVu ZGVudCBNYWtlZmlsZSBjaHVua3MuCglteSAlbGFuZyA9IG1hcCB7IHVjICgkXykgPT4gMCB9 IGtleXMgJWxhbmd1YWdlczsKCSRsYW5ne3VjICgkbGFuZy0+bmFtZSl9ID0gMTsKCSRvdXRw dXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2xhbmctY29tcGlsZScsCgkJCQkJbmV3IEF1 dG9tYWtlOjpMb2NhdGlvbiwKCQkJCQkldHJhbnNmb3JtLCAlbGFuZyk7CgoJIyBJZiB0aGUg c291cmNlIHRvIGEgcHJvZ3JhbSBjb25zaXN0cyBlbnRpcmVseSBvZiBjb2RlIGZyb20gYQoJ IyAncHVyZScgbGFuZ3VhZ2UsIGZvciBpbnN0YW5jZSBDKysgb3IgRm9ydHJhbiA3NywgdGhl biB3ZQoJIyBkb24ndCBuZWVkIHRoZSBDIGNvbXBpbGVyIGNvZGUuICBIb3dldmVyIGlmIHdl IHJ1biBpbnRvCgkjIHNvbWV0aGluZyB1bnVzdWFsIHRoZW4gd2UgZG8gZ2VuZXJhdGUgdGhl IEMgY29kZS4gIFRoZXJlIGFyZQoJIyBwcm9iYWJseSBjb3JuZXIgY2FzZXMgaGVyZSB0aGF0 IGRvIG5vdCB3b3JrIHByb3Blcmx5LgoJIyBQZW9wbGUgbGlua2luZyBKYXZhIGNvZGUgdG8g Rm9ydHJhbiBjb2RlIGRlc2VydmUgcGFpbi4KCSRuZWVkc19jIHx8PSAhICRsYW5nLT5wdXJl OwoKCWRlZmluZV9jb21waWxlcl92YXJpYWJsZSAoJGxhbmcpCgkgIGlmICgkbGFuZy0+Y29t cGlsZSk7CgoJZGVmaW5lX2xpbmtlcl92YXJpYWJsZSAoJGxhbmcpCgkgIGlmICgkbGFuZy0+ bGluayk7CgoJcmVxdWlyZV92YXJpYWJsZXMgKCIkYW1fZmlsZS5hbSIsICRsYW5nLT5OYW1l IC4gIiBzb3VyY2Ugc2VlbiIsCgkJCSAgIFRSVUUsIEB7JGxhbmctPmNvbmZpZ192YXJzfSk7 CgoJIyBDYWxsIHRoZSBmaW5pc2hlci4KCSRsYW5nLT5maW5pc2g7CgoJIyBGbGFncyBsaXN0 ZWQgaW4gJy0+ZmxhZ3MnIGFyZSB1c2VyIHZhcmlhYmxlcyAocGVyIEdOVSBTdGFuZGFyZHMp LAoJIyB0aGV5IHNob3VsZCBub3QgYmUgb3ZlcnJpZGRlbiBpbiB0aGUgTWFrZWZpbGUuLi4K CW15IEBkb250X292ZXJyaWRlID0gQHskbGFuZy0+ZmxhZ3N9OwoJIyAuLi4gYW5kIHNvIGlz IExERkxBR1MuCglwdXNoIEBkb250X292ZXJyaWRlLCAnTERGTEFHUycgaWYgJGxhbmctPmxp bms7CgoJY2hlY2tfdXNlcl92YXJpYWJsZXMgQGRvbnRfb3ZlcnJpZGU7CiAgICB9CgogICAg IyBJZiB0aGUgcHJvamVjdCBpcyBlbnRpcmVseSBDKysgb3IgZW50aXJlbHkgRm9ydHJhbiA3 NyAoaS5lLiwgMQogICAgIyBzdWZmaXggcnVsZSB3YXMgbGVhcm5lZCksIGRvbid0IGJvdGhl ciB3aXRoIHRoZSBDIHN0dWZmLiAgQnV0IGlmCiAgICAjIGFueXRoaW5nIGVsc2UgY3JlZXBz IGluLCB0aGVuIHVzZSBpdC4KICAgIG15IEBsYW5ndWFnZXNfc2VlbiA9IG1hcCB7ICRsYW5n dWFnZXN7JGV4dGVuc2lvbl9tYXB7JF99fS0+bmFtZSB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGtleXMgJWV4dGVuc2lvbl9zZWVuKTsKICAgIEBsYW5ndWFnZXNfc2VlbiA9 IHVuaXEgKEBsYW5ndWFnZXNfc2Vlbik7CiAgICAkbmVlZHNfYyA9IDEgaWYgQGxhbmd1YWdl c19zZWVuID4gMTsKICAgIGlmICgkbmVlZF9saW5rIHx8ICRuZWVkc19jKQogICAgICB7Cglk ZWZpbmVfY29tcGlsZXJfdmFyaWFibGUgKCRsYW5ndWFnZXN7J2MnfSkKCSAgdW5sZXNzIGRl ZmluZWQgJGRvbmV7JGxhbmd1YWdlc3snYyd9fTsKCWRlZmluZV9saW5rZXJfdmFyaWFibGUg KCRsYW5ndWFnZXN7J2MnfSk7CiAgICAgIH0KfQoKCiMgYXBwZW5kX2V4ZWV4dCB7IFBSRURJ Q0FURSB9ICRNQUNSTwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBB cHBlbmQgJChFWEVFWFQpIHRvIGVhY2ggZmlsZW5hbWUgaW4gJEYgYXBwZWFyaW5nIGluIHRo ZSBNYWtlZmlsZQojIHZhcmlhYmxlICRNQUNSTyBpZiAmUFJFRElDQVRFKCRGKSBpcyB0cnVl LiAgQHN1YnN0aXR1dGlvbnNAIGFyZQojIGlnbm9yZWQuCiMKIyBUaGlzIGlzIHR5cGljYWxs eSB1c2VkIG9uIGFsbCBmaWxlbmFtZXMgb2YgKl9QUk9HUkFNUywgYW5kIGZpbGVuYW1lcwoj IG9mIFRFU1RTIHRoYXQgYXJlIHByb2dyYW1zLgpzdWIgYXBwZW5kX2V4ZWV4dCAoJiQpCnsK ICBteSAoJHByZWQsICRtYWNybykgPSBAXzsKCiAgdHJhbnNmb3JtX3ZhcmlhYmxlX3JlY3Vy c2l2ZWx5CiAgICAoJG1hY3JvLCAkbWFjcm8sICdhbV9fRVhFRVhUJywgMCwgSU5URVJOQUws CiAgICAgc3ViIHsKICAgICAgIG15ICgkc3VidmFyLCAkdmFsLCAkY29uZCwgJGZ1bGxfY29u ZCkgPSBAXzsKICAgICAgICMgQXBwZW5kICQoRVhFRVhUKSB1bmxlc3MgdGhlIHVzZXIgZGlk IGl0IGFscmVhZHksIG9yIGl0J3MgYQogICAgICAgIyBAc3Vic3RpdHV0aW9uQC4KICAgICAg ICR2YWwgLj0gJyQoRVhFRVhUKScKCSBpZiAkdmFsICF+IC8oPzpcJFwoRVhFRVhUXCkkfF5b QF1cdytbQF0kKS8gJiYgJiRwcmVkICgkdmFsKTsKICAgICAgIHJldHVybiAkdmFsOwogICAg IH0pOwp9CgoKIyBDaGVjayB0byBtYWtlIHN1cmUgYSBzb3VyY2UgZGVmaW5lZCBpbiBMSUJP QkpTIGlzIG5vdCBleHBsaWNpdGx5CiMgbWVudGlvbmVkLiAgVGhpcyBpcyBhIHNlcGFyYXRl IGZ1bmN0aW9uIChhcyBvcHBvc2VkIHRvIGJlaW5nIGlubGluZWQKIyBpbiBoYW5kbGVfc291 cmNlX3RyYW5zZm9ybSkgYmVjYXVzZSBpdCBpc24ndCBhbHdheXMgYXBwcm9wcmlhdGUgdG8K IyBkbyB0aGlzIGNoZWNrLgpzdWIgY2hlY2tfbGlib2Jqc19zb3VyY2VzCnsKICBteSAoJG9u ZV9maWxlLCAkdW54Zm9ybWVkKSA9IEBfOwoKICBmb3JlYWNoIG15ICRwcmVmaXggKCcnLCAn RVhUUkFfJywgJ2Rpc3RfJywgJ25vZGlzdF8nLAoJCSAgICAgICdkaXN0X0VYVFJBXycsICdu b2Rpc3RfRVhUUkFfJykKICAgIHsKICAgICAgbXkgQGZpbGVzOwogICAgICBteSAkdmFybmFt ZSA9ICRwcmVmaXggLiAkb25lX2ZpbGUgLiAnX1NPVVJDRVMnOwogICAgICBteSAkdmFyID0g dmFyICgkdmFybmFtZSk7CiAgICAgIGlmICgkdmFyKQoJewoJICBAZmlsZXMgPSAkdmFyLT52 YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZTsKCX0KICAgICAgZWxzaWYgKCRwcmVmaXggZXEgJycp Cgl7CgkgIEBmaWxlcyA9ICgkdW54Zm9ybWVkIC4gJy5jJyk7Cgl9CiAgICAgIGVsc2UKCXsK CSAgbmV4dDsKCX0KCiAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxlcykKCXsKCSAgZXJy X3ZhciAoJHByZWZpeCAuICRvbmVfZmlsZSAuICdfU09VUkNFUycsCgkJICAgImF1dG9tYXRp Y2FsbHkgZGlzY292ZXJlZCBmaWxlICckZmlsZScgc2hvdWxkIG5vdCIgLgoJCSAgICIgYmUg ZXhwbGljaXRseSBtZW50aW9uZWQiKQoJICAgIGlmIGRlZmluZWQgJGxpYnNvdXJjZXN7JGZp bGV9OwoJfQogICAgfQp9CgoKIyBAT0JKRUNUUwojIGhhbmRsZV9zaW5nbGVfdHJhbnNmb3Jt ICgkVkFSLCAkVE9QUEFSRU5ULCAkREVSSVZFRCwgJE9CSiwgJEZJTEUsICVUUkFOU0ZPUk0p CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEb2VzIG11Y2ggb2YgdGhlIGFjdHVhbCB3 b3JrIGZvciBoYW5kbGVfc291cmNlX3RyYW5zZm9ybS4KIyBBcmd1bWVudHMgYXJlOgojICAg JFZBUiBpcyB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdGhhdCB0aGUgc291cmNlIGZpbGVu YW1lcyBjb21lIGZyb20KIyAgICRUT1BQQVJFTlQgaXMgdGhlIG5hbWUgb2YgdGhlIF9TT1VS Q0VTIHZhcmlhYmxlIHdoaWNoIGlzIGJlaW5nIHByb2Nlc3NlZAojICAgJERFUklWRUQgaXMg dGhlIG5hbWUgb2YgcmVzdWx0aW5nIGV4ZWN1dGFibGUgb3IgbGlicmFyeQojICAgJE9CSiBp cyB0aGUgb2JqZWN0IGV4dGVuc2lvbiAoZS5nLiwgJy5sbycpCiMgICAkRklMRSB0aGUgc291 cmNlIGZpbGUgdG8gdHJhbnNmb3JtCiMgICAlVFJBTlNGT1JNIGNvbnRhaW5zIGV4dHJhcyBh cmd1bWVudHMgdG8gcGFzcyB0byBmaWxlX2NvbnRlbnRzCiMgICAgIHdoZW4gcHJvZHVjaW5n IGV4cGxpY2l0IHJ1bGVzCiMgUmVzdWx0IGlzIGEgbGlzdCBvZiB0aGUgbmFtZXMgb2Ygb2Jq ZWN0cwojICVsaW5rZXJzX3VzZWQgd2lsbCBiZSB1cGRhdGVkIHdpdGggYW55IGxpbmtlcnMg bmVlZGVkCnN1YiBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybQp7CiAgICBteSAoJHZhciwgJHRv cHBhcmVudCwgJGRlcml2ZWQsICRvYmosICRfZmlsZSwgJXRyYW5zZm9ybSkgPSBAXzsKICAg IG15IEBmaWxlcyA9ICgkX2ZpbGUpOwogICAgbXkgQHJlc3VsdCA9ICgpOwoKICAgICMgVHVy biBzb3VyY2VzIGludG8gb2JqZWN0cy4gIFdlIHVzZSBhIHdoaWxlIGxvb3AgbGlrZSB0aGlz CiAgICAjIGJlY2F1c2Ugd2UgbWlnaHQgYWRkIHRvIEBmaWxlcyBpbiB0aGUgbG9vcC4KICAg IHdoaWxlIChzY2FsYXIgQGZpbGVzID4gMCkKICAgIHsKCSRfID0gc2hpZnQgQGZpbGVzOwoK CSMgQ29uZmlndXJlIHN1YnN0aXR1dGlvbnMgaW4gX1NPVVJDRVMgdmFyaWFibGVzIGFyZSBl cnJvcnMuCglpZiAoL15cQC4qXEAkLykKCXsKCSAgbXkgJHBhcmVudF9tc2cgPSAnJzsKCSAg JHBhcmVudF9tc2cgPSAiXG5hbmQgaXMgcmVmZXJyZWQgdG8gZnJvbSAnJHRvcHBhcmVudCci CgkgICAgaWYgJHRvcHBhcmVudCBuZSAkdmFyLT5uYW1lOwoJICBlcnJfdmFyICgkdmFyLAoJ CSAgICInIiAuICR2YXItPm5hbWUgLiAiJyBpbmNsdWRlcyBjb25maWd1cmUgc3Vic3RpdHV0 aW9uICckXyciCgkJICAgLiAkcGFyZW50X21zZyAuICI7XG5jb25maWd1cmUgIiAuCgkJICAg InN1YnN0aXR1dGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIF9TT1VSQ0VTIHZhcmlhYmxlcyIp OwoJICBuZXh0OwoJfQoKCSMgSWYgdGhlIHNvdXJjZSBmaWxlIGlzIGluIGEgc3ViZGlyZWN0 b3J5IHRoZW4gdGhlICcubycgaXMgcHV0CgkjIGludG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5 LCB1bmxlc3MgdGhlIHN1YmRpci1vYmplY3RzIG9wdGlvbgoJIyBpcyBpbiBlZmZlY3QuCgoJ IyBTcGxpdCBmaWxlIG5hbWUgaW50byBiYXNlIGFuZCBleHRlbnNpb24uCgluZXh0IGlmICEg L14oPzooLiopXC8pPyhbXlwvXSopKCRLTk9XTl9FWFRFTlNJT05TX1BBVFRFUk4pJC87Cglt eSAkZnVsbCA9ICRfOwoJbXkgJGRpcmVjdG9yeSA9ICQxIHx8ICcnOwoJbXkgJGJhc2UgPSAk MjsKCW15ICRleHRlbnNpb24gPSAkMzsKCgkjIFdlIG11c3QgZ2VuZXJhdGUgYSBydWxlIGZv ciB0aGUgb2JqZWN0IGlmIGl0IHJlcXVpcmVzIGl0cyBvd24gZmxhZ3MuCglteSAkcmVuYW1l ZCA9IDA7CglteSAoJGxpbmtlciwgJG9iamVjdCk7CgogICAgICAgICMgVGhpcyByZWNvcmRz IHdoZXRoZXIgd2UndmUgc2VlbiBhIGRlcml2ZWQgc291cmNlIGZpbGUgKGUuZy4sIHlhY2MK ICAgICAgICAjIG9yIGxleCBvdXRwdXQpLgogICAgICAgIG15ICRkZXJpdmVkX3NvdXJjZTsK CgkjIFRoaXMgaG9sZHMgdGhlICdhZ2dyZWdhdGUgY29udGV4dCcgb2YgdGhlIGZpbGUgd2Ug YXJlCgkjIGN1cnJlbnRseSBleGFtaW5pbmcuICBJZiB0aGUgZmlsZSBpcyBjb21waWxlZCB3 aXRoCgkjIHBlci1vYmplY3QgZmxhZ3MsIHRoZW4gaXQgd2lsbCBiZSB0aGUgbmFtZSBvZiB0 aGUgb2JqZWN0LgoJIyBPdGhlcndpc2UgaXQgd2lsbCBiZSAnQU0nLiAgVGhpcyBpcyB1c2Vk IGJ5IHRoZSB0YXJnZXQgaG9vawoJIyBsYW5ndWFnZSBmdW5jdGlvbi4KCW15ICRhZ2dyZWdh dGUgPSAnQU0nOwoKCSRleHRlbnNpb24gPSBkZXJpdmVfc3VmZml4ICgkZXh0ZW5zaW9uLCAk b2JqKTsKCW15ICRsYW5nOwoJaWYgKCRleHRlbnNpb25fbWFweyRleHRlbnNpb259ICYmCgkg ICAgKCRsYW5nID0gJGxhbmd1YWdlc3skZXh0ZW5zaW9uX21hcHskZXh0ZW5zaW9ufX0pKQoJ ewoJICAgICMgRm91bmQgdGhlIGxhbmd1YWdlLCBzbyBzZWUgd2hhdCBpdCBzYXlzLgoJICAg IHNhd19leHRlbnNpb24gKCRleHRlbnNpb24pOwoKCSAgICAjIERvIHdlIGhhdmUgcGVyLWV4 ZWN1dGFibGUgZmxhZ3MgZm9yIHRoaXMgZXhlY3V0YWJsZT8KCSAgICBteSAkaGF2ZV9wZXJf ZXhlY19mbGFncyA9IDA7CgkgICAgbXkgQHBlZmxhZ3MgPSBAeyRsYW5nLT5mbGFnc307Cgkg ICAgcHVzaCBAcGVmbGFncywgJ0xJQlRPT0xGTEFHUycgaWYgJG9iaiBlcSAnLmxvJzsKCSAg ICBmb3JlYWNoIG15ICRmbGFnIChAcGVmbGFncykKCSAgICAgIHsKCQlpZiAoc2V0X3NlZW4g KCIke2Rlcml2ZWR9XyRmbGFnIikpCgkJICB7CgkJICAgICRoYXZlX3Blcl9leGVjX2ZsYWdz ID0gMTsKCQkgICAgbGFzdDsKCQkgIH0KCSAgICAgIH0KCgkgICAgIyBOb3RlOiBjb21wdXRl ZCBzdWJyIGNhbGwuICBUaGUgbGFuZ3VhZ2UgcmV3cml0ZSBmdW5jdGlvbgoJICAgICMgc2hv dWxkIHJldHVybiBvbmUgb2YgdGhlIExBTkdfKiBjb25zdGFudHMuICBJdCBjb3VsZAoJICAg ICMgYWxzbyByZXR1cm4gYSBsaXN0IHdob3NlIGZpcnN0IHZhbHVlIGlzIHN1Y2ggYSBjb25z dGFudAoJICAgICMgYW5kIHdob3NlIHNlY29uZCB2YWx1ZSBpcyBhIG5ldyBzb3VyY2UgZXh0 ZW5zaW9uIHdoaWNoCgkgICAgIyBzaG91bGQgYmUgYXBwbGllZC4gIFRoaXMgbWVhbnMgdGhp cyBwYXJ0aWN1bGFyIGxhbmd1YWdlCgkgICAgIyBnZW5lcmF0ZXMgYW5vdGhlciBzb3VyY2Ug ZmlsZSB3aGljaCB3ZSBtdXN0IHRoZW4gcHJvY2VzcwoJICAgICMgZnVydGhlci4KCSAgICBt eSAkc3ViciA9IFwmeydsYW5nXycgLiAkbGFuZy0+bmFtZSAuICdfcmV3cml0ZSd9OwoJICAg IGRlZmluZWQgJiRzdWJyIG9yICRzdWJyID0gXCZsYW5nX3N1Yl9vYmo7CgkgICAgbXkgKCRy LCAkc291cmNlX2V4dGVuc2lvbikKCQk9ICYkc3ViciAoJGRpcmVjdG9yeSwgJGJhc2UsICRl eHRlbnNpb24sCgkJCSAgJG9iaiwgJGhhdmVfcGVyX2V4ZWNfZmxhZ3MsICR2YXIpOwoJICAg ICMgU2tpcCB0aGlzIGVudHJ5IGlmIHdlIHdlcmUgYXNrZWQgbm90IHRvIHByb2Nlc3MgaXQu CgkgICAgbmV4dCBpZiAkciA9PSBMQU5HX0lHTk9SRTsKCgkgICAgIyBOb3cgZXh0cmFjdCBs aW5rZXIgYW5kIG90aGVyIGluZm8uCgkgICAgJGxpbmtlciA9ICRsYW5nLT5saW5rZXI7Cgog ICAgICAgICAgICBteSAkdGhpc19vYmpfZXh0OwogICAgICAgICAgICBpZiAoZGVmaW5lZCAk c291cmNlX2V4dGVuc2lvbikKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhp c19vYmpfZXh0ID0gJHNvdXJjZV9leHRlbnNpb247CiAgICAgICAgICAgICAgICAkZGVyaXZl ZF9zb3VyY2UgPSAxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICR0aGlzX29ial9leHQgPSAkb2JqOwogICAgICAg ICAgICAgICAgJGRlcml2ZWRfc291cmNlID0gMDsKICAgICAgICAgICAgICAgICMgRG9uJ3Qg ZXZlciBwbGFjZSBidWlsdCBvYmplY3QgZmlsZXMgaW4gJChzcmNkaXIpLAogICAgICAgICAg ICAgICAgIyBldmVuIHdoZW4gc291cmNlcyBhcmUgc3BlY2lmaWVkIGV4cGxpY2l0bHkgYXMg KHNheSkKICAgICAgICAgICAgICAgICMgJyQoc3JjZGlyKS9mb28uYycgb3IgJyQodG9wX3Ny Y2RpcikvZm9vLmMnLgogICAgICAgICAgICAgICAgIyBTZWUgYXV0b21ha2UgYnVnIzEzOTI4 LgogICAgICAgICAgICAgICAgbXkgQGQgPSBzcGxpdCAnLycsICRkaXJlY3Rvcnk7CiAgICAg ICAgICAgICAgICBpZiAoQGQgPiAwICYmIG9wdGlvbiAnc3ViZGlyLW9iamVjdHMnKQogICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbXkgJGQgPSAkZFswXTsKICAg ICAgICAgICAgICAgICAgICBpZiAoJGQgZXEgJyQoc3JjZGlyKScgb3IgJGQgZXEgJyR7c3Jj ZGlyfScpCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IHNoaWZ0IEBkOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IGVsc2lmICgkZCBlcSAnJCh0b3Bfc3JjZGlyKScgb3IgJGQgZXEgJyR7dG9wX3NyY2Rpcn0n KQogICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAkZFsw XSA9ICckKHRvcF9idWlsZGRpciknOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICRkaXJlY3RvcnkgPSBqb2luICcvJywgQGQ7CiAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICRvYmplY3QgPSAkYmFzZSAuICR0 aGlzX29ial9leHQ7CgoJICAgIGlmICgkaGF2ZV9wZXJfZXhlY19mbGFncykKCSAgICB7CgkJ IyBXZSBoYXZlIGEgcGVyLWV4ZWN1dGFibGUgZmxhZyBpbiBlZmZlY3QgZm9yIHRoaXMKCQkj IG9iamVjdC4gIEluIHRoaXMgY2FzZSB3ZSByZXdyaXRlIHRoZSBvYmplY3QncwoJCSMgbmFt ZSB0byBlbnN1cmUgaXQgaXMgdW5pcXVlLgoKICAgICAgICAgICAgICAgICMgV2UgY2hvb3Nl IHRoZSBuYW1lICdERVJJVkVEX09CSkVDVCcgdG8gZW5zdXJlICgxKSB1bmlxdWVuZXNzLAog ICAgICAgICAgICAgICAgIyBhbmQgKDIpIGNvbnRpbnVpdHkgYmV0d2VlbiBpbnZvY2F0aW9u cy4gIEhvd2V2ZXIsIHRoaXMgd2lsbAogICAgICAgICAgICAgICAgIyByZXN1bHQgaW4gYSBu YW1lIHRoYXQgaXMgdG9vIGxvbmcgZm9yIGxvc2luZyBzeXN0ZW1zLCBpbiBzb21lCiAgICAg ICAgICAgICAgICAjIHNpdHVhdGlvbnMuICBTbyB3ZSBhdHRlbXB0IHRvIHNob3J0ZW4gYXV0 b21hdGljYWxseSB1bmRlcgogICAgICAgICAgICAgICAgIyBzdWJkaXItb2JqZWN0cywgYW5k IHByb3ZpZGUgX1NIT1JUTkFNRSB0byBvdmVycmlkZSBhcyBhIGxhc3QKICAgICAgICAgICAg ICAgICMgcmVzb3J0LiAgSWYgc3ViZGlyLW9iamVjdCBpcyBpbiBlZmZlY3QsIGl0J3MgdXN1 YWxseQogICAgICAgICAgICAgICAgIyB1bm5lY2Vzc2FyeSB0byB1c2UgdGhlIGNvbXBsZXRl ICdERVJJVkVEX09CSkVDVCcgKHRoYXQgaXMKICAgICAgICAgICAgICAgICMgb2Z0ZW4gdGhl IHJlc3VsdCBmcm9tICVjYW5vbl9yZWxkaXIlLyVDJSB1c2FnZSkgc2luY2Ugb2JqZWN0cwog ICAgICAgICAgICAgICAgIyBhcmUgcGxhY2VkIG5leHQgdG8gdGhlaXIgc291cmNlIGZpbGUu ICBHZW5lcmFsbHksIHRoaXMgbWVhbnMKICAgICAgICAgICAgICAgICMgaXQgaXMgYWxyZWFk eSB1bmlxdWUgd2l0aGluIHRoYXQgZGlyZWN0b3J5IChzZWUgYmVsb3cgZm9yIGFuCiAgICAg ICAgICAgICAgICAjIGV4Y2VwdGlvbikuICBUaHVzLCB3ZSB0cnkgdG8gYXZvaWQgdW5uZWNl c3NhcmlseSBsb25nIGZpbGUKICAgICAgICAgICAgICAgICMgbmFtZXMgYnkgc3RyaXBwaW5n IHRoZSBkaXJlY3RvcnkgY29tcG9uZW50cyBvZgogICAgICAgICAgICAgICAgIyAnREVSSVZF RF9PQkpFQ1QnLiAgVGhpcyBhbGxvd3MgYXZvaWRpbmcgZXhwbGljaXQgX1NIT1JUTkFNRQog ICAgICAgICAgICAgICAgIyB1c2FnZSBpbiBtYW55IGNhc2VzLiAgRVhDRVBUSU9OOiBJZiB0 d28gKG9yIG1vcmUpIHRhcmdldHMgaW4KICAgICAgICAgICAgICAgICMgZGlmZmVyZW50IGRp cmVjdG9yaWVzIGJ1dCB3aXRoIHRoZSBzYW1lIGJhc2UgbmFtZSAoYWZ0ZXIKICAgICAgICAg ICAgICAgICMgY2Fub25pY2FsaXphdGlvbiksIHVzaW5nIHRhcmdldC1zcGVjaWZpYyBGTEFH UywgbGluayB0aGUgc2FtZQogICAgICAgICAgICAgICAgIyBvYmplY3QsIHRoZW4gdGhpcyBs b2dpYyBjbGFzaGVzLiAgVGh1cywgd2UgZG9uJ3Qgc3RyaXAgaWYKICAgICAgICAgICAgICAg ICMgdGhpcyBpcyBkZXRlY3RlZC4KICAgICAgICAgICAgICAgIG15ICRkbmFtZSA9ICRkZXJp dmVkOwogICAgICAgICAgICAgICAgaWYgKCRkaXJlY3RvcnkgbmUgJycKICAgICAgICAgICAg ICAgICAgICAmJiBvcHRpb24gJ3N1YmRpci1vYmplY3RzJwogICAgICAgICAgICAgICAgICAg ICYmIG5vbmUgeyAkZG5hbWUgPX4gLyRfWzBdJC8gfSBAZHVwX3Nob3J0bmFtZXMpCiAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAjIEF0IHRoaXMgcG9pbnQsIHdl IGRvbid0IGNsZWFyIGluZm9ybWF0aW9uIGFib3V0IHdoYXQKICAgICAgICAgICAgICAgICAg ICAjIHBhcnRzIG9mICRkZXJpdmVkIGFyZSB0cnVseSBmaWxlIG5hbWUgY29tcG9uZW50cy4g IFdlIGNhbgogICAgICAgICAgICAgICAgICAgICMgZGV0ZXJtaW5lIHRoYXQgYnkgY29tcGFy aW5nIGFnYWluc3QgdGhlIGNhbm9uaWNhbGl6YXRpb24KICAgICAgICAgICAgICAgICAgICAj IG9mICRkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgbXkgJGRpciA9ICRkaXJlY3Rv cnkgLiAiLyI7CiAgICAgICAgICAgICAgICAgICAgbXkgJGNkaXIgPSBjYW5vbmljYWxpemUg KCRkaXIpOwogICAgICAgICAgICAgICAgICAgIG15ICRkaXJfbGVuID0gbGVuZ3RoICgkZGly KTsKICAgICAgICAgICAgICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBvbmx5IHN0cmlwIGZ1bGwg ZmlsZSBuYW1lIGNvbXBvbmVudHMuICBUaGlzCiAgICAgICAgICAgICAgICAgICAgIyBpcyBk b25lIGJ5IHJlcGVhdGVkbHkgdHJ5aW5nIHRvIGZpbmQgY2RpciBhdCB0aGUKICAgICAgICAg ICAgICAgICAgICAjIGJlZ2lubmluZy4gIEVhY2ggaXRlcmF0aW9uIHJlbW92ZXMgb25lIGZp bGUgbmFtZQogICAgICAgICAgICAgICAgICAgICMgY29tcG9uZW50IGZyb20gdGhlIGVuZCBv ZiBjZGlyLgogICAgICAgICAgICAgICAgICAgIHdoaWxlICgkZGlyX2xlbiA+IDAgJiYgaW5k ZXggKCRkZXJpdmVkLCAkY2RpcikgIT0gMCkKICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgIyBFdmVudHVhbGx5ICRkaXJfbGVuIGJlY29tZXMgMC4K ICAgICAgICAgICAgICAgICAgICAgICAgJGRpcl9sZW4gPSByaW5kZXggKCRkaXIsICIvIiwg JGRpcl9sZW4gLSAyKSArIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICRjZGlyID0gc3Vi c3RyICgkY2RpciwgMCwgJGRpcl9sZW4pOwogICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICRkbmFtZSA9IHN1YnN0ciAoJGRlcml2ZWQsICRkaXJfbGVuKTsK ICAgICAgICAgICAgICAgICAgfQoJCW15ICR2YXIgPSB2YXIgKCRkZXJpdmVkIC4gJ19TSE9S VE5BTUUnKTsKCQlpZiAoJHZhcikKCQl7CgkJICAgICMgRklYTUU6IHNob3VsZCB1c2UgdGhl IHNhbWUgQ29uZGl0aW9uIGFzCgkJICAgICMgdGhlIF9TT1VSQ0VTIHZhcmlhYmxlLiAgQnV0 IHRoaXMgaXMgcmVhbGx5CgkJICAgICMgc2lsbHkgb3ZlcmtpbGwgLS0gbm9ib2R5IHNob3Vs ZCBoYXZlCgkJICAgICMgY29uZGl0aW9uYWwgc2hvcnRuYW1lcy4KCQkgICAgJGRuYW1lID0g JHZhci0+dmFyaWFibGVfdmFsdWU7CgkJfQoJCSRvYmplY3QgPSAkZG5hbWUgLiAnLScgLiAk b2JqZWN0OwoKCQlwcm9nX2Vycm9yICgkbGFuZy0+bmFtZSAuICIgZmxhZ3MgZGVmaW5lZCB3 aXRob3V0IGNvbXBpbGVyIikKCQkgIGlmICEgZGVmaW5lZCAkbGFuZy0+Y29tcGlsZTsKCgkJ JHJlbmFtZWQgPSAxOwoJICAgIH0KCgkgICAgIyBJZiByZXdyaXRlIHNhaWQgaXQgd2FzIG9r LCBwdXQgdGhlIG9iamVjdCBpbnRvIGEgc3ViZGlyLgoJICAgIGlmICgkZGlyZWN0b3J5IG5l ICcnKQoJICAgIHsKICAgICAgICAgICAgICBpZiAoJHIgPT0gTEFOR19TVUJESVIpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICRvYmplY3QgPSAkZGlyZWN0b3J5IC4g Jy8nIC4gJG9iamVjdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICMgU2luY2UgdGhlIG5leHQgbWFq b3IgdmVyc2lvbiBvZiBhdXRvbWFrZSAoMi4wKSB3aWxsCiAgICAgICAgICAgICAgICAgICMg bWFrZSB0aGUgYmVoYXZpb3VyIHNvIGZhciBvbmx5IGFjdGl2YXRlZCB3aXRoIHRoZQogICAg ICAgICAgICAgICAgICAjICdzdWJkaXItb2JqZWN0JyBvcHRpb24gbWFuZGF0b3J5LCBpdCdz IGJldHRlciBpZiB3ZQogICAgICAgICAgICAgICAgICAjIHN0YXJ0IHdhcm5pbmcgdXNlcnMg bm90IHVzaW5nIHRoYXQgb3B0aW9uLgogICAgICAgICAgICAgICAgICAjIEFzIHN1Z2dlc3Rl ZCBieSBQZXRlciBKb2hhbnNzb24sIHdlIHN0cml2ZSB0byBhdm9pZAogICAgICAgICAgICAg ICAgICAjIHRoZSB3YXJuaW5nIHdoZW4gaXQgd291bGQgYmUgaXJyZWxldmFudCwgaS5lLiwg aWYKICAgICAgICAgICAgICAgICAgIyBhbGwgc291cmNlIGZpbGVzIHNpdCBpbiAiY3VycmVu dCIgZGlyZWN0b3J5LgogICAgICAgICAgICAgICAgICBtc2dfdmFyICd1bnN1cHBvcnRlZCcs ICR2YXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSBmaWxlICckZnVsbCcg aXMgaW4gYSBzdWJkaXJlY3RvcnksIgogICAgICAgICAgICAgICAgICAgICAgICAgIC4gIlxu YnV0IG9wdGlvbiAnc3ViZGlyLW9iamVjdHMnIGlzIGRpc2FibGVkIjsKICAgICAgICAgICAg ICAgICAgbXNnICd1bnN1cHBvcnRlZCcsIElOVEVSTkFMLCA8PCdFT0YnLCB1bmlxX3Njb3Bl ID0+IFVTX0dMT0JBTDsKcG9zc2libGUgZm9yd2FyZC1pbmNvbXBhdGliaWxpdHkuCkF0IGxl YXN0IGEgc291cmNlIGZpbGUgaXMgaW4gYSBzdWJkaXJlY3RvcnksIGJ1dCB0aGUgJ3N1YmRp ci1vYmplY3RzJwphdXRvbWFrZSBvcHRpb24gaGFzbid0IGJlZW4gZW5hYmxlZC4gIEZvciBu b3csIHRoZSBjb3JyZXNwb25kaW5nIG91dHB1dApvYmplY3QgZmlsZShzKSB3aWxsIGJlIHBs YWNlZCBpbiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4gIEhvd2V2ZXIsCnRoaXMgYmVoYXZp b3VyIHdpbGwgY2hhbmdlIGluIGZ1dHVyZSBBdXRvbWFrZSB2ZXJzaW9uczogdGhleSB3aWxs CnVuY29uZGl0aW9uYWxseSBjYXVzZSBvYmplY3QgZmlsZXMgdG8gYmUgcGxhY2VkIGluIHRo ZSBzYW1lIHN1YmRpcmVjdG9yeQpvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2VzLgpZb3Ug YXJlIGFkdmlzZWQgdG8gc3RhcnQgdXNpbmcgJ3N1YmRpci1vYmplY3RzJyBvcHRpb24gdGhy b3VnaG91dCB5b3VyCnByb2plY3QsIHRvIGF2b2lkIGZ1dHVyZSBpbmNvbXBhdGliaWxpdGll cy4KRU9GCiAgICAgICAgICAgICAgICB9CgkgICAgfQoKCSAgICAjIElmIHRoZSBvYmplY3Qg ZmlsZSBoYXMgYmVlbiByZW5hbWVkIChiZWNhdXNlIHBlci10YXJnZXQKCSAgICAjIGZsYWdz IGFyZSB1c2VkKSB3ZSBjYW5ub3QgY29tcGlsZSB0aGUgZmlsZSB3aXRoIGFuCgkgICAgIyBp bmZlcmVuY2UgcnVsZTogd2UgbmVlZCBhbiBleHBsaWNpdCBydWxlLgoJICAgICMKCSAgICAj IElmIHRoZSBzb3VyY2UgaXMgaW4gYSBzdWJkaXJlY3RvcnkgYW5kIHRoZSBvYmplY3QgaXMg aW4KCSAgICAjIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgd2UgYWxzbyBuZWVkIGFuIGV4cGxp Y2l0IHJ1bGUuCgkgICAgIwoJICAgICMgSWYgYm90aCBzb3VyY2UgYW5kIG9iamVjdCBmaWxl cyBhcmUgaW4gYSBzdWJkaXJlY3RvcnkKCSAgICAjICh0aGlzIGhhcHBlbnMgd2hlbiB0aGUg c3ViZGlyLW9iamVjdHMgb3B0aW9uIGlzIHVzZWQpLAoJICAgICMgdGhlbiB0aGUgaW5mZXJl bmNlIHdpbGwgd29yay4KCSAgICAjCgkgICAgIyBUaGUgbGF0dGVyIGNhc2UgZGVzZXJ2ZXMg YSBoaXN0b3JpY2FsIG5vdGUuICBXaGVuIHRoZQoJICAgICMgc3ViZGlyLW9iamVjdHMgb3B0 aW9uIHdhcyBhZGRlZCBvbiAxOTk5LTA0LTExIGl0IHdhcwoJICAgICMgdGhvdWdodCB0aGF0 IGluZmVyZW5jZXMgcnVsZXMgd291bGQgd29yayBmb3IKCSAgICAjIHN1YmRpcmVjdG9yeSBv YmplY3RzIHRvby4gIExhdGVyLCBvbiAxOTk5LTExLTIyLAoJICAgICMgYXV0b21ha2Ugd2Fz IGNoYW5nZWQgdG8gb3V0cHV0IGV4cGxpY2l0IHJ1bGVzIGV2ZW4gZm9yCgkgICAgIyBzdWJk aXItb2JqZWN0cy4gIE5vYm9keSByZW1lbWJlcnMgd2h5LCBidXQgdGhpcyBvY2N1cnJlZAoJ ICAgICMgc29vbiBhZnRlciB0aGUgbWVyZ2Ugb2YgdGhlIHVzZXItZGVwLWdlbi1icmFuY2gg c28gaXQKCSAgICAjIG1pZ2h0IGJlIHJlbGF0ZWQuICBJbiBsYXRlIDIwMDMgcGVvcGxlIGNv bXBsYWluZWQgYWJvdXQKCSAgICAjIHRoZSBzaXplIG9mIHRoZSBnZW5lcmF0ZWQgTWFrZWZp bGUuaW5zIChsaWJnY2osIHdpdGgKCSAgICAjIDIyMDArIHN1YmRpciBvYmplY3RzIHdhcyBy ZXBvcnRlZCB0byBoYXZlIGEgOU1CCgkgICAgIyBNYWtlZmlsZSksIHNvIHdlIG5vdyByZWx5 IG9uIGluZmVyZW5jZSBydWxlcyBhZ2Fpbi4KCSAgICAjIE1heWJlIHdlJ2xsIHJ1biBhY3Jv c3MgdGhlIHNhbWUgaXNzdWUgYXMgaW4gdGhlIHBhc3QsCgkgICAgIyBidXQgYXQgbGVhc3Qg dGhpcyB0aW1lIHdlIGNhbiBkb2N1bWVudCBpdC4gIEhvd2V2ZXIgc2luY2UKCSAgICAjIGRl cGVuZGVuY3kgdHJhY2tpbmcgaGFzIGV2b2x2ZWQgaXQgaXMgcG9zc2libGUgdGhhdAoJICAg ICMgb3VyIG9sZCBwcm9ibGVtIG5vIGxvbmdlciBleGlzdHMuCgkgICAgIyBVc2luZyBpbmZl cmVuY2UgcnVsZXMgZm9yIHN1YmRpci1vYmplY3RzIGhhcyBiZWVuIHRlc3RlZAoJICAgICMg d2l0aCBHTlUgbWFrZSwgU29sYXJpcyBtYWtlLCBVbHRyaXggbWFrZSwgQlNEIG1ha2UsCgkg ICAgIyBIUC1VWCBtYWtlLCBhbmQgT1NGMSBtYWtlIHN1Y2Nlc3NmdWxseS4KCSAgICBpZiAo JHJlbmFtZWQKCQl8fCAoJGRpcmVjdG9yeSBuZSAnJyAmJiAhIG9wdGlvbiAnc3ViZGlyLW9i amVjdHMnKQoJCSMgV2UgbXVzdCBhbHNvIHVzZSBzcGVjaWZpYyBydWxlcyBmb3IgYSBub2Rp c3RfIHNvdXJjZQoJCSMgaWYgaXRzIGxhbmd1YWdlIHJlcXVlc3RzIGl0LgoJCXx8ICgkbGFu Zy0+bm9kaXN0X3NwZWNpZmljICYmICEgJHRyYW5zZm9ybXsnRElTVF9TT1VSQ0UnfSkpCgkg ICAgewoJCW15ICRvYmpfc2Fuc19leHQgPSBzdWJzdHIgKCRvYmplY3QsIDAsCgkJCQkJICAg LSBsZW5ndGggKCR0aGlzX29ial9leHQpKTsKCQlteSAkZnVsbF9hbnNpOwoJCWlmICgkZGly ZWN0b3J5IG5lICcnKQoJICAgICAgICAgIHsKCQkJJGZ1bGxfYW5zaSA9ICRkaXJlY3Rvcnkg LiAnLycgLiAkYmFzZSAuICRleHRlbnNpb247CgkgICAgICAgICAgfQoJCWVsc2UKCSAgICAg ICAgICB7CgkJCSRmdWxsX2Fuc2kgPSAkYmFzZSAuICRleHRlbnNpb247CgkgICAgICAgICAg fQoKCQlteSBAc3BlY2lmaWNzID0gKCRmdWxsX2Fuc2ksICRvYmpfc2Fuc19leHQsCgkJCQkg IyBPbmx5IHVzZSAkdGhpc19vYmpfZXh0IGluIHRoZSBkZXJpdmVkCgkJCQkgIyBzb3VyY2Ug Y2FzZSBiZWNhdXNlIGluIHRoZSBvdGhlciBjYXNlIHdlCgkJCQkgIyAqZG9uJ3QqIHdhbnQg JChPQkpFWFQpIHRvIGFwcGVhciBoZXJlLgoJCQkJICgkZGVyaXZlZF9zb3VyY2UgPyAkdGhp c19vYmpfZXh0IDogJy5vJyksCgkJCQkgJGV4dGVuc2lvbik7CgoJCSMgSWYgd2UgcmVuYW1l ZCB0aGUgb2JqZWN0IHRoZW4gd2Ugd2FudCB0byB1c2UgdGhlCgkJIyBwZXItZXhlY3V0YWJs ZSBmbGFnIG5hbWUuICBCdXQgaWYgdGhpcyBpcyBzaW1wbHkgYQoJCSMgc3ViZGlyIGJ1aWxk IHRoZW4gd2Ugc3RpbGwgd2FudCB0byB1c2UgdGhlIEFNXyBmbGFnCgkJIyBuYW1lLgoJCWlm ICgkcmVuYW1lZCkKCQkgIHsKCQkgICAgdW5zaGlmdCBAc3BlY2lmaWNzLCAkZGVyaXZlZDsK CQkgICAgJGFnZ3JlZ2F0ZSA9ICRkZXJpdmVkOwoJCSAgfQoJCWVsc2UKCQkgIHsKCQkgICAg dW5zaGlmdCBAc3BlY2lmaWNzLCAnQU0nOwoJCSAgfQoKCQkjIEVhY2ggaXRlbSBvbiB0aGlz IGxpc3QgaXMgYSByZWZlcmVuY2UgdG8gYSBsaXN0IGNvbnNpc3RpbmcKCQkjIG9mIGZvdXIg dmFsdWVzIGZvbGxvd2VkIGJ5IGFkZGl0aW9uYWwgdHJhbnNmb3JtIGZsYWdzIGZvcgoJCSMg ZmlsZV9jb250ZW50cy4gIFRoZSBmb3VyIHZhbHVlcyBhcmUgdGhlIGRlcml2ZWQgZmxhZyBw cmVmaXgKCQkjIChlLmcuIGZvciAnZm9vX0NGTEFHUycsIGl0IGlzICdmb28nKSwgdGhlIG5h bWUgb2YgdGhlCgkJIyBzb3VyY2UgZmlsZSwgdGhlIGJhc2UgbmFtZSBvZiB0aGUgb3V0cHV0 IGZpbGUsIGFuZAoJCSMgdGhlIGV4dGVuc2lvbiBmb3IgdGhlIG9iamVjdCBmaWxlLgoJCXB1 c2ggKEB7JGxhbmdfc3BlY2lmaWNfZmlsZXN7JGxhbmctPm5hbWV9fSwKCQkgICAgICBbQHNw ZWNpZmljcywgJXRyYW5zZm9ybV0pOwoJICAgIH0KCX0KCWVsc2lmICgkZXh0ZW5zaW9uIGVx ICRvYmopCgl7CgkgICAgIyBUaGlzIGlzIHByb2JhYmx5IHRoZSByZXN1bHQgb2YgYSBkaXJl Y3Qgc3VmZml4IHJ1bGUuCgkgICAgIyBJbiB0aGlzIGNhc2Ugd2UganVzdCBhY2NlcHQgdGhl IHJld3JpdGUuCgkgICAgJG9iamVjdCA9ICIkYmFzZSRleHRlbnNpb24iOwoJICAgICRvYmpl Y3QgPSAiJGRpcmVjdG9yeS8kb2JqZWN0IiBpZiAkZGlyZWN0b3J5IG5lICcnOwoJICAgICRs aW5rZXIgPSAnJzsKCX0KCWVsc2UKCXsKCSAgICAjIE5vIGVycm9yIG1lc3NhZ2UgaGVyZS4g IFVzZWQgdG8gaGF2ZSBvbmUsIGJ1dCBpdCB3YXMKCSAgICAjIHZlcnkgdW5wb3B1bGFyLgoJ ICAgICMgRklYTUU6IHdlIGNvdWxkIHBvdGVudGlhbGx5IGRvIG1vcmUgcHJvY2Vzc2luZyBo ZXJlLAoJICAgICMgcGVyaGFwcyB0cmVhdGluZyB0aGUgbmV3IGV4dGVuc2lvbiBhcyB0aG91 Z2ggaXQgd2VyZSBhCgkgICAgIyBuZXcgc291cmNlIGV4dGVuc2lvbiAoYXMgYWJvdmUpLiAg VGhpcyB3b3VsZCByZXF1aXJlCgkgICAgIyBtb3JlIHJlc3RydWN0dXJpbmcgdGhhbiBpcyBh cHByb3ByaWF0ZSByaWdodCBub3cuCgkgICAgbmV4dDsKCX0KCgllcnJfYW0gIm9iamVjdCAn JG9iamVjdCcgY3JlYXRlZCBieSAnJGZ1bGwnIGFuZCAnJG9iamVjdF9tYXB7JG9iamVjdH0n IgoJICBpZiAoZGVmaW5lZCAkb2JqZWN0X21hcHskb2JqZWN0fQoJICAgICAgJiYgJG9iamVj dF9tYXB7JG9iamVjdH0gbmUgJGZ1bGwpOwoKCW15ICRjb21wX3ZhbCA9ICgoJG9iamVjdCA9 fiAvXC5sbyQvKQoJCQk/IENPTVBJTEVfTElCVE9PTCA6IENPTVBJTEVfT1JESU5BUlkpOwoJ KG15ICRjb21wX29iaiA9ICRvYmplY3QpID1+IHMvXC5sbyQvLlwkKE9CSkVYVCkvOwoJaWYg KGRlZmluZWQgJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNvbXBfb2JqfQoJICAgICYmICRv YmplY3RfY29tcGlsYXRpb25fbWFweyRjb21wX29ian0gIT0gMAoJICAgICMgT25seSBzZWUg dGhlIGVycm9yIG9uY2UuCgkgICAgJiYgKCRvYmplY3RfY29tcGlsYXRpb25fbWFweyRjb21w X29ian0KCQkhPSAoQ09NUElMRV9MSUJUT09MIHwgQ09NUElMRV9PUkRJTkFSWSkpCgkgICAg JiYgJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNvbXBfb2JqfSAhPSAkY29tcF92YWwpCgkg IHsKCSAgICBlcnJfYW0gIm9iamVjdCAnJGNvbXBfb2JqJyBjcmVhdGVkIGJvdGggd2l0aCBs aWJ0b29sIGFuZCB3aXRob3V0IjsKCSAgfQoJJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNv bXBfb2JqfSB8PSAkY29tcF92YWw7CgoJaWYgKGRlZmluZWQgJGxhbmcpCgl7CgkgICAgIyBM ZXQgdGhlIGxhbmd1YWdlIGRvIHNvbWUgc3BlY2lhbCBtYWdpYyBpZiByZXF1aXJlZC4KCSAg ICAkbGFuZy0+dGFyZ2V0X2hvb2sgKCRhZ2dyZWdhdGUsICRvYmplY3QsICRmdWxsLCAldHJh bnNmb3JtKTsKCX0KCglpZiAoJGRlcml2ZWRfc291cmNlKQoJICB7CgkgICAgcHJvZ19lcnJv ciAoJGxhbmctPm5hbWUgLiAiIGhhcyBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZyIp CgkgICAgICBpZiAkbGFuZy0+YXV0b2RlcCBuZSAnbm8nOwoJICAgICMgTWFrZSBzdXJlIHRo aXMgbmV3IHNvdXJjZSBmaWxlIGlzIGhhbmRsZWQgbmV4dC4gIFRoYXQgd2lsbAoJICAgICMg bWFrZSBpdCBhcHBlYXIgdG8gYmUgYXQgdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBsaXN0LgoJ ICAgIHVuc2hpZnQgKEBmaWxlcywgJG9iamVjdCk7CgkgICAgIyBEaXN0cmlidXRlIGRlcml2 ZWQgc291cmNlcyB1bmxlc3MgdGhlIHNvdXJjZSB0aGV5IGFyZQoJICAgICMgZGVyaXZlZCBm cm9tIGlzIG5vdC4KCSAgICBwdXNoX2Rpc3RfY29tbW9uICgkb2JqZWN0KQoJICAgICAgdW5s ZXNzICgkdG9wcGFyZW50ID1+IC9eKD86bm9iYXNlXyk/bm9kaXN0Xy8pOwoJICAgIG5leHQ7 CgkgIH0KCgkkbGlua2Vyc191c2VkeyRsaW5rZXJ9ID0gMTsKCglwdXNoIChAcmVzdWx0LCAk b2JqZWN0KTsKCglpZiAoISBkZWZpbmVkICRvYmplY3RfbWFweyRvYmplY3R9KQoJewoJICAg IG15IEBkZXBfbGlzdCA9ICgpOwoJICAgICRvYmplY3RfbWFweyRvYmplY3R9ID0gJGZ1bGw7 CgoJICAgICMgSWYgcmVzdWx0aW5nIG9iamVjdCBpcyBpbiBzdWJkaXIsIHdlIG5lZWQgdG8g bWFrZQoJICAgICMgc3VyZSB0aGUgc3ViZGlyIGV4aXN0cyBhdCBidWlsZCB0aW1lLgoJICAg IGlmICgkb2JqZWN0ID1+IC9cLy8pCgkgICAgewoJCSMgRklYTUU6IGNoZWNrIHRoYXQgJERJ UkVDVE9SWSBpcyBzb21ld2hlcmUgaW4gdGhlCgkJIyBwcm9qZWN0CgoJCSMgRm9yIEphdmEs IHRoZSB3YXkgd2UncmUgaGFuZGxpbmcgaXQgcmlnaHQgbm93LCBhCgkJIyAnLi4nIGNvbXBv bmVudCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgkJaWYgKCRsYW5nICYmICRsYW5nLT5uYW1lIGVx ICdqYXZhJyAmJiAkb2JqZWN0ID1+IC8oXC98XilcLlwuXC8vKQoJCSAgewoJCSAgICBlcnJf YW0gIickZnVsbCcgc2hvdWxkIG5vdCBjb250YWluIGEgJy4uJyBjb21wb25lbnQiOwoJCSAg fQoKICAgICAgICAgICAgICAgICMgTWFrZSBzdXJlICphbGwqIG9iamVjdHMgZmlsZXMgaW4g dGhlIHN1YmRpcmVjdG9yeSBhcmUKICAgICAgICAgICAgICAgICMgcmVtb3ZlZCBieSAibWFr ZSBtb3N0bHljbGVhbiIuICBOb3Qgb25seSB0aGlzIGlzIG1vcmUKICAgICAgICAgICAgICAg ICMgZWZmaWNpZW50IHRoYW4gbGlzdGluZyB0aGUgb2JqZWN0IGZpbGVzIHRvIGJlIHJlbW92 ZWQKICAgICAgICAgICAgICAgICMgaW5kaXZpZHVhbGx5ICh3aGljaCB3b3VsZCBjYXVzZSBh biAncm0nIGludm9jYXRpb24gZm9yCiAgICAgICAgICAgICAgICAjIGVhY2ggb2YgdGhlbSAt LSB2ZXJ5IGluZWZmaWNpZW50LCBzZWUgYnVnIzEwNjk3KSwgaXQKICAgICAgICAgICAgICAg ICMgd291bGQgYWxzbyBsZWF2ZSBzdGFsZSBvYmplY3QgZmlsZXMgaW4gdGhlIHN1YmRpcmVj dG9yeQogICAgICAgICAgICAgICAgIyB3aGVuZXZlciBhIHNvdXJjZSBmaWxlIHRoZXJlIGlz IHJlbW92ZWQgb3IgcmVuYW1lZC4KICAgICAgICAgICAgICAgICRjb21waWxlX2NsZWFuX2Zp bGVzeyIkZGlyZWN0b3J5LyouXCQoT0JKRVhUKSJ9ID0gTU9TVExZX0NMRUFOOwogICAgICAg ICAgICAgICAgaWYgKCRvYmplY3QgPX4gL1wubG8kLykKICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICMgSWYgd2UgaGF2ZSBhIGxpYnRvb2wgb2JqZWN0LCB0aGVu IHdlIGFsc28gbXVzdCByZW1vdmUKICAgICAgICAgICAgICAgICAgICAjIGFueSAnLmxvJyBv YmplY3RzIGluIGl0cyBzYW1lIHN1YmRpcmVjdG9yeS4KICAgICAgICAgICAgICAgICAgICAk Y29tcGlsZV9jbGVhbl9maWxlc3siJGRpcmVjdG9yeS8qLmxvIn0gPSBNT1NUTFlfQ0xFQU47 CiAgICAgICAgICAgICAgICAgICAgIyBSZW1lbWJlciB0byBjbGVhbnVwIC5saWJzLyBpbiB0 aGlzIGRpcmVjdG9yeS4KICAgICAgICAgICAgICAgICAgICAkbGlidG9vbF9jbGVhbl9kaXJl Y3Rvcmllc3skZGlyZWN0b3J5fSA9IDE7CiAgICAgICAgICAgICAgICAgIH0KCgkJcHVzaCAo QGRlcF9saXN0LCByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeSAoJGRpcmVjdG9yeSkpOwoKCQkj IElmIHdlJ3JlIGdlbmVyYXRpbmcgZGVwZW5kZW5jaWVzLCB3ZSBhbHNvIHdhbnQKCQkjIHRv IG1ha2Ugc3VyZSB0aGF0IHRoZSBhcHByb3ByaWF0ZSBzdWJkaXIgb2YgdGhlCgkJIyAuZGVw cyBkaXJlY3RvcnkgaXMgY3JlYXRlZC4KCQlwdXNoIChAZGVwX2xpc3QsCgkJICAgICAgcmVx dWlyZV9idWlsZF9kaXJlY3RvcnkgKCRkaXJlY3RvcnkgLiAnLyQoREVQRElSKScpKQoJCSAg dW5sZXNzIG9wdGlvbiAnbm8tZGVwZW5kZW5jaWVzJzsKCSAgICB9CgoJICAgIHByZXR0eV9w cmludF9ydWxlICgkb2JqZWN0IC4gJzonLCAiXHQiLCBAZGVwX2xpc3QpCgkJaWYgc2NhbGFy IEBkZXBfbGlzdCA+IDA7Cgl9CgoJIyBUcmFuc2Zvcm0gLm8gb3IgJG8gZmlsZSBpbnRvIC5Q IGZpbGUgKGZvciBhdXRvbWF0aWMKCSMgZGVwZW5kZW5jeSBjb2RlKS4KICAgICAgICAjIFBy b3Blcmx5IGZsYXR0ZW4gbXVsdGlwbGUgYWRqYWNlbnQgc2xhc2hlcywgYXMgU29sYXJpcyAx MCBtYWtlCiAgICAgICAgIyBtaWdodCBmYWlsIG92ZXIgdGhlbSBpbiBhbiBpbmNsdWRlIHN0 YXRlbWVudC4KICAgICAgICAjIExlYWRpbmcgZG91YmxlIHNsYXNoZXMgbWF5IGJlIHNwZWNp YWwsIGFzIHBlciBQb3NpeCwgc28gZGVhbAogICAgICAgICMgd2l0aCB0aGVtIGNhcmVmdWxs eS4KICAgICAgICBpZiAoJGxhbmcgJiYgJGxhbmctPmF1dG9kZXAgbmUgJ25vJykKICAgICAg ICB7CiAgICAgICAgICAgIG15ICRkZXBmaWxlID0gJG9iamVjdDsKICAgICAgICAgICAgJGRl cGZpbGUgPX4gcy9cLihbXi5dKikkLy5QJDEvOwogICAgICAgICAgICAkZGVwZmlsZSA9fiBz L1wkXChPQkpFWFRcKSQvby87CiAgICAgICAgICAgIG15ICRtYXliZV9leHRyYV9sZWFkaW5n X3NsYXNoID0gJyc7CiAgICAgICAgICAgICRtYXliZV9leHRyYV9sZWFkaW5nX3NsYXNoID0g Jy8nIGlmICRkZXBmaWxlID1+IG0sXi8vW14vXSw7CiAgICAgICAgICAgICRkZXBmaWxlID1+ IHMsLyssLyxnOwogICAgICAgICAgICBteSAkYmFzZW5hbWUgPSBiYXNlbmFtZSAoJGRlcGZp bGUpOwogICAgICAgICAgICAjIFRoaXMgbWlnaHQgbWFrZSAkZGlybmFtZSBlbXB0eSwgYnV0 IHdlIGFjY291bnQgZm9yIHRoYXQgYmVsb3cuCiAgICAgICAgICAgIChteSAkZGlybmFtZSA9 IGRpcm5hbWUgKCRkZXBmaWxlKSkgPX4gcy9cLyokLy87CiAgICAgICAgICAgICRkaXJuYW1l ID0gJG1heWJlX2V4dHJhX2xlYWRpbmdfc2xhc2ggLiAkZGlybmFtZTsKICAgICAgICAgICAg JGRlcF9maWxlc3skZGlybmFtZSAuICcvJChERVBESVIpLycgLiAkYmFzZW5hbWV9ID0gMTsK ICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIEByZXN1bHQ7Cn0KCgojICRMSU5LRVIKIyBk ZWZpbmVfb2JqZWN0c19mcm9tX3NvdXJjZXMgKCRWQVIsICRPQkpWQVIsICROT0RFRklORSwg JE9ORV9GSUxFLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE9CSiwgJFBBUkVO VCwgJFRPUFBBUkVOVCwgJFdIRVJFLCAlVFJBTlNGT1JNKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQojIERlZmluZSBhbiBfT0JKRUNUUyB2YXJpYWJsZSBmb3IgYSBfU09VUkNFUyB2YXJp YWJsZSAob3Igc3VidmFyaWFibGUpCiMKIyBBcmd1bWVudHMgYXJlOgojICAgJFZBUiBpcyB0 aGUgbmFtZSBvZiB0aGUgX1NPVVJDRVMgdmFyaWFibGUKIyAgICRPQkpWQVIgaXMgdGhlIG5h bWUgb2YgdGhlIF9PQkpFQ1RTIHZhcmlhYmxlIGlmIGtub3duIChvdGhlcndpc2UKIyAgICAg aXQgd2lsbCBiZSBnZW5lcmF0ZWQgYW5kIHJldHVybmVkKS4KIyAgICROT0RFRklORSBpcyBh IGJvb2xlYW46IGlmIHRydWUsICRPQkpWQVIgd2lsbCBub3QgYmUgZGVmaW5lZCAoYnV0CiMg ICAgIHdvcmsgZG9uZSB0byBkZXRlcm1pbmUgdGhlIGxpbmtlciB3aWxsIGJlKS4KIyAgICRP TkVfRklMRSBpcyB0aGUgY2Fub25pY2FsICh0cmFuc2Zvcm1lZCkgbmFtZSBvZiBvYmplY3Qg dG8gYnVpbGQKIyAgICRPQkogaXMgdGhlIG9iamVjdCBleHRlbnNpb24gKGkuZS4gZWl0aGVy ICcubycgb3IgJy5sbycpLgojICAgJFRPUFBBUkVOVCBpcyB0aGUgX1NPVVJDRVMgdmFyaWFi bGUgYmVpbmcgcHJvY2Vzc2VkLgojICAgJFdIRVJFIGNvbnRleHQgaW50byB3aGljaCB0aGlz IGRlZmluaXRpb24gaXMgZG9uZQojICAgJVRSQU5TRk9STSBleHRyYSBhcmd1bWVudHMgdG8g cGFzcyB0byBmaWxlX2NvbnRlbnRzIHdoZW4gcHJvZHVjaW5nCiMgICAgIHJ1bGVzCiMKIyBS ZXN1bHQgaXMgYSBwYWlyICgkTElOS0VSLCAkT0JKVkFSKToKIyAgICAkTElOS0VSIGlzIGEg Ym9vbGVhbiwgdHJ1ZSBpZiBhIGxpbmtlciBpcyBuZWVkZWQgdG8gZGVhbCB3aXRoIHRoZSBv YmplY3RzCnN1YiBkZWZpbmVfb2JqZWN0c19mcm9tX3NvdXJjZXMKewogIG15ICgkdmFyLCAk b2JqdmFyLCAkbm9kZWZpbmUsICRvbmVfZmlsZSwKICAgICAgJG9iaiwgJHRvcHBhcmVudCwg JHdoZXJlLCAldHJhbnNmb3JtKSA9IEBfOwoKICBteSAkbmVlZGxpbmtlciA9ICIiOwoKICB0 cmFuc2Zvcm1fdmFyaWFibGVfcmVjdXJzaXZlbHkKICAgICgkdmFyLCAkb2JqdmFyLCAnYW1f X29iamVjdHMnLCAkbm9kZWZpbmUsICR3aGVyZSwKICAgICAjIFRoZSB0cmFuc2Zvcm0gY29k ZSB0byBydW4gb24gZWFjaCBmaWxlbmFtZS4KICAgICBzdWIgewogICAgICAgbXkgKCRzdWJ2 YXIsICR2YWwsICRjb25kLCAkZnVsbF9jb25kKSA9IEBfOwogICAgICAgbXkgQHRyYW5zID0g aGFuZGxlX3NpbmdsZV90cmFuc2Zvcm0gKCRzdWJ2YXIsICR0b3BwYXJlbnQsCgkJCQkJICAg ICRvbmVfZmlsZSwgJG9iaiwgJHZhbCwKCQkJCQkgICAgJXRyYW5zZm9ybSk7CiAgICAgICAk bmVlZGxpbmtlciA9ICJ0cnVlIiBpZiBAdHJhbnM7CiAgICAgICByZXR1cm4gQHRyYW5zOwog ICAgIH0pOwoKICByZXR1cm4gJG5lZWRsaW5rZXI7Cn0KCgojIGhhbmRsZV9zb3VyY2VfdHJh bnNmb3JtICgkQ0FOT05fVEFSR0VULCAkVEFSR0VULCAkT0JKRVhULCAkV0hFUkUsICVUUkFO U0ZPUk0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBIYW5kbGUgU09VUkNFLT5PQkpF Q1QgdHJhbnNmb3JtIGZvciBvbmUgcHJvZ3JhbSBvciBsaWJyYXJ5LgojIEFyZ3VtZW50cyBh cmU6CiMgICBjYW5vbmljYWwgKHRyYW5zZm9ybWVkKSBuYW1lIG9mIHRhcmdldCB0byBidWls ZAojICAgYWN0dWFsIHRhcmdldCBvZiBvYmplY3QgdG8gYnVpbGQKIyAgIG9iamVjdCBleHRl bnNpb24gKGkuZS4sIGVpdGhlciAnLm8nIG9yICckbycpCiMgICBsb2NhdGlvbiBvZiB0aGUg c291cmNlIHZhcmlhYmxlCiMgICBleHRyYSBhcmd1bWVudHMgdG8gcGFzcyB0byBmaWxlX2Nv bnRlbnRzIHdoZW4gcHJvZHVjaW5nIHJ1bGVzCiMgUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBs aW5rZXIgdmFyaWFibGUgdGhhdCBtdXN0IGJlIHVzZWQuCiMgRW1wdHkgcmV0dXJuIG1lYW5z IGp1c3QgdXNlICdMSU5LJy4Kc3ViIGhhbmRsZV9zb3VyY2VfdHJhbnNmb3JtCnsKICAgICMg b25lX2ZpbGUgaXMgY2Fub25pY2FsIG5hbWUuICB1bnhmb3JtZWQgaXMgZ2l2ZW4gbmFtZS4g IG9iaiBpcwogICAgIyBvYmplY3QgZXh0ZW5zaW9uLgogICAgbXkgKCRvbmVfZmlsZSwgJHVu eGZvcm1lZCwgJG9iaiwgJHdoZXJlLCAldHJhbnNmb3JtKSA9IEBfOwoKICAgIG15ICRsaW5r ZXIgPSAnJzsKCiAgICAjIE5vIHBvaW50IGluIGNvbnRpbnVpbmcgaWYgX09CSkVDVFMgaXMg ZGVmaW5lZC4KICAgIHJldHVybiBpZiByZWplY3RfdmFyICgkb25lX2ZpbGUgLiAnX09CSkVD VFMnLAoJCQkgICRvbmVfZmlsZSAuICdfT0JKRUNUUyBzaG91bGQgbm90IGJlIGRlZmluZWQn KTsKCiAgICBteSAldXNlZF9wZnggPSAoKTsKICAgIG15ICRuZWVkbGlua2VyOwogICAgJWxp bmtlcnNfdXNlZCA9ICgpOwogICAgZm9yZWFjaCBteSAkcHJlZml4ICgnJywgJ0VYVFJBXycs ICdkaXN0XycsICdub2Rpc3RfJywKCQkJJ2Rpc3RfRVhUUkFfJywgJ25vZGlzdF9FWFRSQV8n KQogICAgewoJbXkgJHZhcm5hbWUgPSAkcHJlZml4IC4gJG9uZV9maWxlIC4gIl9TT1VSQ0VT IjsKCW15ICR2YXIgPSB2YXIgJHZhcm5hbWU7CgluZXh0IHVubGVzcyAkdmFyOwoKCSMgV2Ug YXJlIGdvaW5nIHRvIGRlZmluZSBfT0JKRUNUUyB2YXJpYWJsZXMgdXNpbmcgdGhlIHByZWZp eC4KCSMgVGhlbiB3ZSBnbG9tIHRoZW0gYWxsIHRvZ2V0aGVyLiAgU28gd2UgY2FuJ3QgdXNl IHRoZSBudWxsCgkjIHByZWZpeCBoZXJlIGFzIHdlIG5lZWQgaXQgbGF0ZXIuCglteSAkeHBm eCA9ICgkcHJlZml4IGVxICcnKSA/ICdhbV8nIDogJHByZWZpeDsKCgkjIEtlZXAgdHJhY2sg b2Ygd2hpY2ggcHJlZml4ZXMgd2Ugc2F3LgoJJHVzZWRfcGZ4eyR4cGZ4fSA9IDEKCSAgdW5s ZXNzICRwcmVmaXggPX4gL0VYVFJBXy87CgoJcHVzaCBAc291cmNlcywgIlwkKCR2YXJuYW1l KSI7CglwdXNoIEBkaXN0X3NvdXJjZXMsIHNoYWRvd191bmNvbmRpdGlvbmFsbHkgKCR2YXJu YW1lLCAkd2hlcmUpCgkgIHVubGVzcyAob3B0aW9uICgnbm8tZGlzdCcpIHx8ICRwcmVmaXgg PX4gL15ub2Rpc3RfLyk7CgoJJG5lZWRsaW5rZXIgfD0KCSAgICBkZWZpbmVfb2JqZWN0c19m cm9tX3NvdXJjZXMgKCR2YXJuYW1lLAoJCQkJCSAkeHBmeCAuICRvbmVfZmlsZSAuICdfT0JK RUNUUycsCgkJCQkJICEhKCRwcmVmaXggPX4gL0VYVFJBXy8pLAoJCQkJCSAkb25lX2ZpbGUs ICRvYmosICR2YXJuYW1lLCAkd2hlcmUsCgkJCQkJIERJU1RfU09VUkNFID0+ICgkcHJlZml4 ICF+IC9ebm9kaXN0Xy8pLAoJCQkJCSAldHJhbnNmb3JtKTsKICAgIH0KICAgIGlmICgkbmVl ZGxpbmtlcikKICAgIHsKCSRsaW5rZXIgfHw9IHJlc29sdmVfbGlua2VyICglbGlua2Vyc191 c2VkKTsKICAgIH0KCiAgICBteSBAa2V5cyA9IHNvcnQga2V5cyAldXNlZF9wZng7CiAgICBp ZiAoc2NhbGFyIEBrZXlzID09IDApCiAgICB7CgkjIFRoZSBkZWZhdWx0IHNvdXJjZSBmb3Ig bGliZm9vLmxhIGlzIGxpYmZvby5jLCBidXQgZm9yCgkjIGJhY2t3YXJkIGNvbXBhdGliaWxp dHkgd2UgZmlyc3QgbG9vayBhdCBsaWJmb29fbGEuYywKCSMgaWYgbm8gZGVmYXVsdCBzb3Vy Y2Ugc3VmZml4IGlzIGdpdmVuLgoJbXkgJG9sZF9kZWZhdWx0X3NvdXJjZSA9ICIkb25lX2Zp bGUuYyI7CglteSAkZXh0X3ZhciA9IHZhciAoJ0FNX0RFRkFVTFRfU09VUkNFX0VYVCcpOwoJ bXkgJGRlZmF1bHRfc291cmNlX2V4dCA9ICRleHRfdmFyID8gdmFyaWFibGVfdmFsdWUgKCRl eHRfdmFyKSA6ICcuYyc7Cgltc2dfdmFyICgndW5zdXBwb3J0ZWQnLCAkZXh0X3ZhciwgJGV4 dF92YXItPm5hbWUgLiAiIGNhbiBhc3N1bWUgYXQgbW9zdCBvbmUgdmFsdWUiKQoJICBpZiAk ZGVmYXVsdF9zb3VyY2VfZXh0ID1+IC9bXHQgXS87CgkobXkgJGRlZmF1bHRfc291cmNlID0g JHVueGZvcm1lZCkgPX4gcywoXC5bXi4vXFxdKik/JCwkZGVmYXVsdF9zb3VyY2VfZXh0LDsK CSMgVE9ETzogUmVtb3ZlIHRoaXMgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBoYWNrIGluIEF1 dG9tYWtlIDIuMC4KCWlmICgkb2xkX2RlZmF1bHRfc291cmNlIG5lICRkZWZhdWx0X3NvdXJj ZQoJICAgICYmICEkZXh0X3ZhcgoJICAgICYmIChydWxlICRvbGRfZGVmYXVsdF9zb3VyY2UK CQl8fCBydWxlICckKHNyY2RpcikvJyAuICRvbGRfZGVmYXVsdF9zb3VyY2UKCQl8fCBydWxl ICcke3NyY2Rpcn0vJyAuICRvbGRfZGVmYXVsdF9zb3VyY2UKCQl8fCAtZiAkb2xkX2RlZmF1 bHRfc291cmNlKSkKCSAgewoJICAgIG15ICRsb2MgPSAkd2hlcmUtPmNsb25lOwoJICAgICRs b2MtPnBvcF9jb250ZXh0OwoJICAgIG1zZyAoJ29ic29sZXRlJywgJGxvYywKCQkgInRoZSBk ZWZhdWx0IHNvdXJjZSBmb3IgJyR1bnhmb3JtZWQnIGhhcyBiZWVuIGNoYW5nZWQgIgoJCSAu ICJ0byAnJGRlZmF1bHRfc291cmNlJy5cbihVc2luZyAnJG9sZF9kZWZhdWx0X3NvdXJjZScg Zm9yICIKCQkgLiAiYmFja3dhcmQgY29tcGF0aWJpbGl0eS4pIik7CgkgICAgJGRlZmF1bHRf c291cmNlID0gJG9sZF9kZWZhdWx0X3NvdXJjZTsKCSAgfQoJIyBJZiBhIHJ1bGUgZXhpc3Rz IHRvIGJ1aWxkIHRoaXMgc291cmNlIHdpdGggYSAkKHNyY2RpcikKCSMgcHJlZml4LCB1c2Ug dGhhdCBwcmVmaXggaW4gb3VyIHZhcmlhYmxlcyB0b28uICBUaGlzIGlzIGZvcgoJIyB0aGUg c2FrZSBvZiBCU0QgTWFrZS4KCWlmIChydWxlICckKHNyY2RpcikvJyAuICRkZWZhdWx0X3Nv dXJjZQoJICAgIHx8IHJ1bGUgJyR7c3JjZGlyfS8nIC4gJGRlZmF1bHRfc291cmNlKQoJICB7 CgkgICAgJGRlZmF1bHRfc291cmNlID0gJyQoc3JjZGlyKS8nIC4gJGRlZmF1bHRfc291cmNl OwoJICB9CgoJZGVmaW5lX3ZhcmlhYmxlICgkb25lX2ZpbGUgLiAiX1NPVVJDRVMiLCAkZGVm YXVsdF9zb3VyY2UsICR3aGVyZSk7CglwdXNoIChAc291cmNlcywgJGRlZmF1bHRfc291cmNl KTsKCXB1c2ggKEBkaXN0X3NvdXJjZXMsICRkZWZhdWx0X3NvdXJjZSk7CgoJJWxpbmtlcnNf dXNlZCA9ICgpOwoJbXkgKEByZXN1bHQpID0KCSAgaGFuZGxlX3NpbmdsZV90cmFuc2Zvcm0g KCRvbmVfZmlsZSAuICdfU09VUkNFUycsCgkJCQkgICAkb25lX2ZpbGUgLiAnX1NPVVJDRVMn LAoJCQkJICAgJG9uZV9maWxlLCAkb2JqLAoJCQkJICAgJGRlZmF1bHRfc291cmNlLCAldHJh bnNmb3JtKTsKCSRsaW5rZXIgfHw9IHJlc29sdmVfbGlua2VyICglbGlua2Vyc191c2VkKTsK CWRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRvbmVfZmlsZSAuICdfT0JKRUNUUycsIFRSVUUs ICR3aGVyZSwgQHJlc3VsdCk7CiAgICB9CiAgICBlbHNlCiAgICB7CglAa2V5cyA9IG1hcCB7 ICckKCcgLiAkXyAuICRvbmVfZmlsZSAuICdfT0JKRUNUUyknIH0gQGtleXM7CglkZWZpbmVf cHJldHR5X3ZhcmlhYmxlICgkb25lX2ZpbGUgLiAnX09CSkVDVFMnLCBUUlVFLCAkd2hlcmUs IEBrZXlzKTsKICAgIH0KCiAgICAjIElmIHdlIHdhbnQgdG8gdXNlICdMSU5LJyB3ZSBtdXN0 IG1ha2Ugc3VyZSBpdCBpcyBkZWZpbmVkLgogICAgaWYgKCRsaW5rZXIgZXEgJycpCiAgICB7 CgkkbmVlZF9saW5rID0gMTsKICAgIH0KCiAgICByZXR1cm4gJGxpbmtlcjsKfQoKCiMgaGFu ZGxlX2xpYl9vYmplY3RzICgkWE5BTUUsICRWQVIpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiMgU3BlY2lhbC1jYXNlIEFMTE9DQSBhbmQgTElCT0JKUyBzdWJzdGl0 dXRpb25zIGluIF9MREFERCBvciBfTElCQUREIHZhcmlhYmxlcy4KIyBBbHNvLCBnZW5lcmF0 ZSBfREVQRU5ERU5DSUVTIHZhcmlhYmxlIGlmIGFwcHJvcHJpYXRlLgojIEFyZ3VtZW50cyBh cmU6CiMgICB0cmFuc2Zvcm1lZCBuYW1lIG9mIG9iamVjdCBiZWluZyBidWlsdCwgb3IgZW1w dHkgc3RyaW5nIGlmIG5vIG9iamVjdAojICAgbmFtZSBvZiBfTERBREQvX0xJQkFERC10eXBl IHZhcmlhYmxlIHRvIGV4YW1pbmUKIyBSZXR1cm5zIDEgaWYgTElCT0JKUyBzZWVuLCAwIG90 aGVyd2lzZS4Kc3ViIGhhbmRsZV9saWJfb2JqZWN0cwp7CiAgbXkgKCR4bmFtZSwgJHZhcm5h bWUpID0gQF87CgogIG15ICR2YXIgPSB2YXIgKCR2YXJuYW1lKTsKICBwcm9nX2Vycm9yICIn JHZhcm5hbWUnIHVuZGVmaW5lZCIKICAgIHVubGVzcyAkdmFyOwogIHByb2dfZXJyb3IgInVu ZXhwZWN0ZWQgdmFyaWFibGUgbmFtZSAnJHZhcm5hbWUnIgogICAgdW5sZXNzICR2YXJuYW1l ID1+IC9eKC4qKSg/OkxJQnxMRClBREQkLzsKICBteSAkcHJlZml4ID0gJDEgfHwgJ0FNXyc7 CgogIG15ICRzZWVuX2xpYm9ianMgPSAwOwogIG15ICRmbGFndmFyID0gMDsKCiAgdHJhbnNm b3JtX3ZhcmlhYmxlX3JlY3Vyc2l2ZWx5CiAgICAoJHZhcm5hbWUsICR4bmFtZSAuICdfREVQ RU5ERU5DSUVTJywgJ2FtX19ERVBFTkRFTkNJRVMnLAogICAgICEgJHhuYW1lLCBJTlRFUk5B TCwKICAgICAjIFRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uLCBydW4gb24gZWFjaCBmaWxlbmFt ZS4KICAgICBzdWIgewogICAgICAgbXkgKCRzdWJ2YXIsICR2YWwsICRjb25kLCAkZnVsbF9j b25kKSA9IEBfOwoKICAgICAgIGlmICgkdmFsID1+IC9eLS8pCgkgewoJICAgIyBTa2lwIC1s Zm9vIGFuZCAtTGRpciBzaWxlbnRseTsgdGhlc2UgYXJlIGV4cGxpY2l0bHkgYWxsb3dlZC4K CSAgIGlmICgkdmFsICF+IC9eLVtsTF0vICYmCgkgICAgICAgIyBTa2lwIC1kbG9wZW4gYW5k IC1kbHByZW9wZW47IHRoZXNlIGFyZSBleHBsaWNpdGx5IGFsbG93ZWQKCSAgICAgICAjIGZv ciBMaWJ0b29sIGxpYnJhcmllcyBvciBwcm9ncmFtcy4gIChBY3R1YWxseSB3ZSBhcmUgYSBi aXQKCSAgICAgICAjIGxheCBoZXJlIHNpbmNlIHRoaXMgY29kZSBhbHNvIGFwcGxpZXMgdG8g bm9uLWxpYnRvb2wKCSAgICAgICAjIGxpYnJhcmllcyBvciBwcm9ncmFtcywgZm9yIHdoaWNo IC1kbG9wZW4gYW5kIC1kbG9wcmVvcGVuCgkgICAgICAgIyBhcmUgcHVyZSBub25zZW5zZS4g IERpYWdub3NpbmcgdGhpcyBkb2Vzbid0IHNlZW0gdmVyeQoJICAgICAgICMgaW1wb3J0YW50 OiB0aGUgZGV2ZWxvcGVyIHdpbGwgcXVpY2tseSBnZXQgY29tcGxhaW50cyBmcm9tCgkgICAg ICAgIyB0aGUgbGlua2VyLikKCSAgICAgICAkdmFsICF+IC9eLWRsKD86cHJlKT9vcGVuJC8g JiYKCSAgICAgICAjIE9ubHkgZ2V0IHRoaXMgZXJyb3Igb25jZS4KCSAgICAgICAhICRmbGFn dmFyKQoJICAgICB7CgkgICAgICAgJGZsYWd2YXIgPSAxOwoJICAgICAgICMgRklYTUU6IHNo b3VsZCBkaXNwbGF5IGEgc3RhY2sgb2YgbmVzdGVkIHZhcmlhYmxlcwoJICAgICAgICMgYXMg Y29udGV4dCB3aGVuICR2YXIgIT0gJHN1YnZhci4KCSAgICAgICBlcnJfdmFyICgkdmFyLCAi bGlua2VyIGZsYWdzIHN1Y2ggYXMgJyR2YWwnIGJlbG9uZyBpbiAiCgkJCS4gIicke3ByZWZp eH1MREZMQUdTJyIpOwoJICAgICB9CgkgICByZXR1cm4gKCk7CgkgfQogICAgICAgZWxzaWYg KCR2YWwgIX4gL15cQC4qXEAkLykKCSB7CgkgICAjIEFzc3VtZSB3ZSBoYXZlIGEgZmlsZSBv ZiBzb21lIHNvcnQsIGFuZCBvdXRwdXQgaXQgaW50byB0aGUKCSAgICMgZGVwZW5kZW5jeSB2 YXJpYWJsZS4gIEF1dG9jb25mIHN1YnN0aXR1dGlvbnMgYXJlIG5vdCBvdXRwdXQ7CgkgICAj IHJhcmVseSBpcyBhIG5ldyBkZXBlbmRlbmN5IHN1YnN0aXR1dGVkIGludG8gZS5nLiBmb29f TERBREQKCSAgICMgLS0gYnV0IGJhZCB0aGluZ3MgKGUuZy4gLWxYMTEpIGFyZSByb3V0aW5l bHkgc3Vic3RpdHV0ZWQuCgkgICAjIE5vdGUgdGhhdCBMSUJPQkpTIGFuZCBBTExPQ0EgYXJl IGV4Y2VwdGlvbnMgdG8gdGhpcyBydWxlLAoJICAgIyBhbmQgaGFuZGxlZCBzcGVjaWFsbHkg YmVsb3cuCgkgICByZXR1cm4gJHZhbDsKCSB9CiAgICAgICBlbHNpZiAoJHZhbCA9fiAvXlxA KExUKT9MSUJPQkpTXEAkLykKCSB7CgkgICBoYW5kbGVfTElCT0JKUyAoJHN1YnZhciwgJGNv bmQsICQxKTsKCSAgICRzZWVuX2xpYm9ianMgPSAxOwoJICAgcmV0dXJuICR2YWw7CgkgfQog ICAgICAgZWxzaWYgKCR2YWwgPX4gL15cQChMVCk/QUxMT0NBXEAkLykKCSB7CgkgICBoYW5k bGVfQUxMT0NBICgkc3VidmFyLCAkY29uZCwgJDEpOwoJICAgcmV0dXJuICR2YWw7CgkgfQog ICAgICAgZWxzZQoJIHsKCSAgIHJldHVybiAoKTsKCSB9CiAgICAgfSk7CgogIHJldHVybiAk c2Vlbl9saWJvYmpzOwp9CgojIGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQSAoJFZBUiwgJEJB U0UpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbml0 aW9ucyBjb21tb24gdG8gTElCT0JKUyBhbmQgQUxMT0NBLgojIFZBUiBzaG91bGQgYmUgb25l IG9mIExJQk9CSlMsIExUTElCT0JKUywgQUxMT0NBLCBvciBMVEFMTE9DQS4KIyBCQVNFIHNo b3VsZCBiZSBvbmUgYmFzZSBmaWxlIG5hbWUgZnJvbSBBQ19MSUJTT1VSQ0UsIG9yIGFsbG9j YS4Kc3ViIGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQQp7CiAgbXkgKCR2YXIsICRiYXNlKSA9 IEBfOwoKICBteSAkZGlyID0gJyc7CgogICMgSWYgTElCT0JKUyBmaWxlcyBtdXN0IGJlIGJ1 aWx0IGluIGFub3RoZXIgZGlyZWN0b3J5IHdlIGhhdmUKICAjIHRvIGRlZmluZSBMSUJPQkpE SVIgYW5kIGVuc3VyZSB0aGUgZmlsZXMgZ2V0IGNsZWFuZWQuCiAgIyBPdGhlcndpc2UgTElC T0JKRElSIGNhbiBiZSBsZWZ0IHVuZGVmaW5lZCwgYW5kIHRoZSBjbGVhbmluZwogICMgaXMg YWNoaWV2ZWQgYnkgJ3JtIC1mICouJChPQkpFWFQpJyBpbiBjb21waWxlLmFtLgogIGlmICgk Y29uZmlnX2xpYm9ial9kaXIKICAgICAgJiYgJHJlbGF0aXZlX2RpciBuZSAkY29uZmlnX2xp Ym9ial9kaXIpCiAgICB7CiAgICAgIGlmIChvcHRpb24gJ3N1YmRpci1vYmplY3RzJykKCXsK CSAgIyBJbiB0aGUgdG9wLWxldmVsIE1ha2VmaWxlIHdlIGRvIG5vdCB1c2UgJCh0b3BfYnVp bGRkaXIpLCBiZWNhdXNlCgkgICMgd2UgYXJlIGFscmVhZHkgdGhlcmUsIGFuZCBzaW5jZSB0 aGUgdGFyZ2V0cyBhcmUgYnVpbHQgd2l0aG91dAoJICAjIGEgJCh0b3BfYnVpbGRkaXIpLCBp dCBoZWxwcyBCU0QgTWFrZSB0byBtYXRjaCB0aGVtIHdpdGgKCSAgIyBkZXBlbmRlbmNpZXMu CgkgICRkaXIgPSAiJGNvbmZpZ19saWJvYmpfZGlyLyIKCSAgICBpZiAkY29uZmlnX2xpYm9i al9kaXIgbmUgJy4nOwoJICAkZGlyID0gYmFja25hbWUgKCRyZWxhdGl2ZV9kaXIpIC4gIi8k ZGlyIgoJICAgIGlmICRyZWxhdGl2ZV9kaXIgbmUgJy4nOwoJICBkZWZpbmVfdmFyaWFibGUg KCdMSUJPQkpESVInLCAiJGRpciIsIElOVEVSTkFMKTsKCSAgaWYgKCRkaXIgJiYgIWRlZmlu ZWQgJGNsZWFuX2ZpbGVzeyIkZGlyJGJhc2UuXCQoT0JKRVhUKSJ9KQoJICAgIHsKCSAgICAg IG15ICRkaXJzdGFtcCA9IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5ICgkZGlyKTsKCSAgICAg ICRvdXRwdXRfcnVsZXMgLj0gIiRkaXIkYmFzZS5cJChPQkpFWFQpOiAkZGlyc3RhbXBcbiI7 CgkgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkZGlyJGJhc2UubG86ICRkaXJzdGFtcFxuIgoJ CWlmICgkdmFyID1+IC9eTFQvKTsKCSAgICB9CgkgICMgbGlidG9vbCBtaWdodCBjcmVhdGUg LiQoT0JKRVhUKSBhcyBhIHNpZGUtZWZmZWN0IG9mIHVzaW5nCgkgICMgTFRMSUJPQkpTIG9y IExUQUxMT0NBLgoJICAkY2xlYW5fZmlsZXN7IiRkaXIkYmFzZS5cJChPQkpFWFQpIn0gPSBN T1NUTFlfQ0xFQU47CgkgICRjbGVhbl9maWxlc3siJGRpciRiYXNlLmxvIn0gPSBNT1NUTFlf Q0xFQU4KCSAgICBpZiAoJHZhciA9fiAvXkxULyk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgZXJy b3IgKCInXCQoJHZhciknIGNhbm5vdCBiZSB1c2VkIG91dHNpZGUgJyRjb25maWdfbGlib2Jq X2RpcicgaWYiCgkJIC4gIiAnc3ViZGlyLW9iamVjdHMnIGlzIG5vdCBzZXQiKTsKCX0KICAg IH0KCiAgcmV0dXJuICRkaXI7Cn0KCnN1YiBoYW5kbGVfTElCT0JKUwp7CiAgbXkgKCR2YXIs ICRjb25kLCAkbHQpID0gQF87CiAgbXkgJG15b2JqZXh0ID0gJGx0ID8gJ2xvJyA6ICdvJzsK ICAkbHQgfHw9ICcnOwoKICAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCJcQCR7bHR9TElC T0JKU1xAIHVzZWQiLCAkbHQgLiAnTElCT0JKUycpCiAgICBpZiAhIGtleXMgJWxpYnNvdXJj ZXM7CgogIGZvcmVhY2ggbXkgJGl0ZXIgKGtleXMgJWxpYnNvdXJjZXMpCiAgICB7CiAgICAg IG15ICRkaXIgPSAnJzsKICAgICAgaWYgKCRpdGVyID1+IC9eKC4qKShcLltjbHldKSQvKQoJ ewoJICBzYXdfZXh0ZW5zaW9uICgkMik7CgkgIHNhd19leHRlbnNpb24gKCcuYycpOwoJICAk ZGlyID0gaGFuZGxlX0xJQk9CSlNfb3JfQUxMT0NBICgiJHtsdH1MSUJPQkpTIiwgJDEpOwoJ fQoKICAgICAgaWYgKCRpdGVyID1+IC9cLmgkLykKCXsKCSAgcmVxdWlyZV9saWJzb3VyY2Vf d2l0aF9tYWNybyAoJGNvbmQsICR2YXIsIEZPUkVJR04sICRpdGVyKTsKCX0KICAgICAgZWxz aWYgKCRpdGVyIG5lICdhbGxvY2EuYycpCgl7CgkgIG15ICRyZXdyaXRlID0gJGl0ZXI7Cgkg ICRyZXdyaXRlID1+IHMvXC5jJC8uUCRteW9iamV4dC87CgkgICRkZXBfZmlsZXN7JGRpciAu ICckKERFUERJUikvJyAuICRyZXdyaXRlfSA9IDE7CgkgICRyZXdyaXRlID0gIl4iIC4gcXVv dGVtZXRhICgkaXRlcikgLiAiXCQiOwoJICAjIE9ubHkgcmVxdWlyZSB0aGUgZmlsZSBpZiBp dCBpcyBub3QgYSBidWlsdCBzb3VyY2UuCgkgIG15ICRicyA9IHZhciAoJ0JVSUxUX1NPVVJD RVMnKTsKCSAgaWYgKCEgJGJzIHx8ICEgZ3JlcCAoLyRyZXdyaXRlLywgJGJzLT52YWx1ZV9h c19saXN0X3JlY3Vyc2l2ZSkpCgkgICAgewoJICAgICAgcmVxdWlyZV9saWJzb3VyY2Vfd2l0 aF9tYWNybyAoJGNvbmQsICR2YXIsIEZPUkVJR04sICRpdGVyKTsKCSAgICB9Cgl9CiAgICB9 Cn0KCnN1YiBoYW5kbGVfQUxMT0NBCnsKICBteSAoJHZhciwgJGNvbmQsICRsdCkgPSBAXzsK ICBteSAkbXlvYmpleHQgPSAkbHQgPyAnbG8nIDogJ28nOwogICRsdCB8fD0gJyc7CiAgbXkg JGRpciA9IGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQSAoIiR7bHR9QUxMT0NBIiwgImFsbG9j YSIpOwoKICAkZGlyIGVxICcnIGFuZCAkZGlyID0gJy4vJzsKICAkdmFyLT5yZXF1aXJlc192 YXJpYWJsZXMgKCJcQCR7bHR9QUxMT0NBXEAgdXNlZCIsICRsdCAuICdBTExPQ0EnKTsKICAk ZGVwX2ZpbGVzeyRkaXIgLiAnJChERVBESVIpL2FsbG9jYS5QJyAuICRteW9iamV4dH0gPSAx OwogIHJlcXVpcmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRjb25kLCAkdmFyLCBGT1JFSUdO LCAnYWxsb2NhLmMnKTsKICBzYXdfZXh0ZW5zaW9uICgnLmMnKTsKfQoKIyBDYW5vbmljYWxp emUgdGhlIGlucHV0IHBhcmFtZXRlci4Kc3ViIGNhbm9uaWNhbGl6ZQp7CiAgICBteSAoJHN0 cmluZykgPSBAXzsKICAgICRzdHJpbmcgPX4gdHIvQS1aYS16MC05X1xAL18vYzsKICAgIHJl dHVybiAkc3RyaW5nOwp9CgojIENhbm9uaWNhbGl6ZSBhIG5hbWUsIGFuZCBjaGVjayB0byBt YWtlIHN1cmUgdGhlIG5vbi1jYW5vbmljYWwgbmFtZQojIGlzIG5ldmVyIHVzZWQuICBSZXR1 cm5zIGNhbm9uaWNhbCBuYW1lLiAgQXJndW1lbnRzIGFyZSBuYW1lIGFuZCBhCiMgbGlzdCBv ZiBzdWZmaXhlcyB0byBjaGVjayBmb3IuCnN1YiBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcK ewogIG15ICgkbmFtZSwgQHN1ZmZpeGVzKSA9IEBfOwoKICBteSAkeG5hbWUgPSBjYW5vbmlj YWxpemUgKCRuYW1lKTsKICBpZiAoJHhuYW1lIG5lICRuYW1lKQogICAgewogICAgICBmb3Jl YWNoIG15ICR4dCAoQHN1ZmZpeGVzKQoJewoJICByZWplY3RfdmFyICgiJG5hbWUkeHQiLCAi dXNlICckeG5hbWUkeHQnLCBub3QgJyRuYW1lJHh0JyIpOwoJfQogICAgfQoKICByZXR1cm4g JHhuYW1lOwp9CgojIFNldCB1cCB0aGUgY29tcGlsZSBzdWl0ZS4Kc3ViIGhhbmRsZV9jb21w aWxlICgpCnsKICAgcmV0dXJuIGlmICEgJG11c3RfaGFuZGxlX2NvbXBpbGVkX29iamVjdHM7 CgogICAgIyBCb2lsZXJwbGF0ZS4KICAgIG15ICRkZWZhdWx0X2luY2x1ZGVzID0gJyc7CiAg ICBpZiAoISBvcHRpb24gJ25vc3RkaW5jJykKICAgICAgewoJbXkgQGluY3MgPSAoJy1JLics IHN1YnN0ICgnYW1fX2lzcmMnKSk7CgoJbXkgJHZhciA9IHZhciAnQ09ORklHX0hFQURFUic7 CglpZiAoJHZhcikKCSAgewoJICAgIGZvcmVhY2ggbXkgJGhkciAoc3BsaXQgKCcgJywgJHZh ci0+dmFyaWFibGVfdmFsdWUpKQoJICAgICAgewoJCXB1c2ggQGluY3MsICctSScgLiBkaXJu YW1lICgkaGRyKTsKCSAgICAgIH0KCSAgfQoJIyBXZSB3YW50ICctSS4gLUkkKHNyY2Rpcikn LCBidXQgdGhlIGxhdHRlciAtSSBpcyByZWR1bmRhbnQKCSMgYW5kIHVuYWVzdGhldGljIGlu IG5vbi1WUEFUSCBidWlsZHMuICBXZSB1c2UgYC1JLkBhbV9faXNyY0BgCgkjIGluc3RlYWQu ICBJdCB3aWxsIGJlIHJlcGxhY2VkIGJ5ICctSS4nIG9yICctSS4gLUkkKHNyY2RpciknLgoJ IyBJdGVtcyBpbiBDT05GSUdfSEVBREVSIGFyZSBuZXZlciBpbiAkKHNyY2Rpcikgc28gaXQg aXMgc2FmZQoJIyB0byBqdXN0IHB1dCBAYW1fX2lzcmNAIHJpZ2h0IGFmdGVyICctSS4nLCB3 aXRob3V0IGEgc3BhY2UuCgkoJGRlZmF1bHRfaW5jbHVkZXMgPSAnICcgLiB1bmlxIChAaW5j cykpID1+IHMvIEAvQC87CiAgICAgIH0KCiAgICBteSAoQG1vc3RseV9ybXMsIEBkaXN0X3Jt cyk7CiAgICBmb3JlYWNoIG15ICRpdGVtIChzb3J0IGtleXMgJWNvbXBpbGVfY2xlYW5fZmls ZXMpCiAgICB7CglpZiAoJGNvbXBpbGVfY2xlYW5fZmlsZXN7JGl0ZW19ID09IE1PU1RMWV9D TEVBTikKCXsKCSAgICBwdXNoIChAbW9zdGx5X3JtcywgIlx0LXJtIC1mICRpdGVtIik7Cgl9 CgllbHNpZiAoJGNvbXBpbGVfY2xlYW5fZmlsZXN7JGl0ZW19ID09IERJU1RfQ0xFQU4pCgl7 CgkgICAgcHVzaCAoQGRpc3Rfcm1zLCAiXHQtcm0gLWYgJGl0ZW0iKTsKCX0KCWVsc2UKCXsK CSAgcHJvZ19lcnJvciAnaW52YWxpZCBlbnRyeSBpbiAlY29tcGlsZV9jbGVhbl9maWxlcyc7 Cgl9CiAgICB9CgogICAgbXkgKCRjb21zLCAkdmFycywgJHJ1bGVzKSA9CiAgICAgIGZpbGVf Y29udGVudHNfaW50ZXJuYWwgKDEsICIkbGliZGlyL2FtL2NvbXBpbGUuYW0iLAoJCQkgICAg ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkgICAgICAnREVGQVVMVF9JTkNMVURFUycg PT4gJGRlZmF1bHRfaW5jbHVkZXMsCgkJCSAgICAgICdNT1NUTFlSTVMnID0+IGpvaW4gKCJc biIsIEBtb3N0bHlfcm1zKSwKCQkJICAgICAgJ0RJU1RSTVMnID0+IGpvaW4gKCJcbiIsIEBk aXN0X3JtcykpOwogICAgJG91dHB1dF92YXJzIC49ICR2YXJzOwogICAgJG91dHB1dF9ydWxl cyAuPSAiJGNvbXMkcnVsZXMiOwp9CgojIEhhbmRsZSBsaWJ0b29sIHJ1bGVzLgpzdWIgaGFu ZGxlX2xpYnRvb2wgKCkKewogIHJldHVybiB1bmxlc3MgdmFyICgnTElCVE9PTCcpOwoKICAj IExpYnRvb2wgcmVxdWlyZXMgc29tZSBmaWxlcywgYnV0IG9ubHkgYXQgdG9wIGxldmVsLgog ICMgKFN0YXJ0aW5nIHdpdGggTGlidG9vbCAyLjAgd2UgZG8gbm90IGhhdmUgdG8gYm90aGVy LiAgVGhlc2UKICAjIHJlcXVpcmVtZW50cyBhcmUgZG9uZSB3aXRoIEFDX1JFUVVJUkVfQVVY X0ZJTEUuKQogIHJlcXVpcmVfY29uZl9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdMSUJUT09M JywgRk9SRUlHTiwgQGxpYnRvb2xfZmlsZXMpCiAgICBpZiAkcmVsYXRpdmVfZGlyIGVxICcu JyAmJiAhICRsaWJ0b29sX25ld19hcGk7CgogIG15IEBsaWJ0b29sX3JtczsKICBmb3JlYWNo IG15ICRpdGVtIChzb3J0IGtleXMgJWxpYnRvb2xfY2xlYW5fZGlyZWN0b3JpZXMpCiAgICB7 CiAgICAgIG15ICRkaXIgPSAoJGl0ZW0gZXEgJy4nKSA/ICcnIDogIiRpdGVtLyI7CiAgICAg ICMgLmxpYnMgaXMgZm9yIFVuaXgsIF9saWJzIGZvciBET1MuCiAgICAgIHB1c2ggKEBsaWJ0 b29sX3JtcywgIlx0LXJtIC1yZiAke2Rpcn0ubGlicyAke2Rpcn1fbGlicyIpOwogICAgfQoK ICBjaGVja191c2VyX3ZhcmlhYmxlcyAnTElCVE9PTEZMQUdTJzsKCiAgIyBPdXRwdXQgdGhl IGxpYnRvb2wgY29tcGlsYXRpb24gcnVsZXMuCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2Nv bnRlbnRzICgnbGlidG9vbCcsCgkJCQkgIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24sCgkJCQkg ICBMVFJNUyA9PiBqb2luICgiXG4iLCBAbGlidG9vbF9ybXMpKTsKfQoKIyBDaGVjayBmb3Ig ZHVwbGljYXRlIHRhcmdldHMKc3ViIGhhbmRsZV90YXJnZXRzICgpCnsKICBteSAlc2VlbiA9 ICgpOwogIG15IEBkdXBzID0gKCk7CiAgQHByb2dsaXN0ID0gYW1faW5zdGFsbF92YXIgKCdw cm9ncycsICdQUk9HUkFNUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaW4n LCAnc2JpbicsICdsaWJleGVjJywgJ3BrZ2xpYmV4ZWMnLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbm9pbnN0JywgJ2NoZWNrJyk7CiAgQGxpYmxpc3QgPSBhbV9pbnN0YWxs X3ZhciAoJ2xpYnMnLCAnTElCUkFSSUVTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbGliJywgJ3BrZ2xpYicsICdub2luc3QnLCAnY2hlY2snKTsKICBAbHRsaWJsaXN0ID0g YW1faW5zdGFsbF92YXIgKCdsdGxpYicsICdMVExJQlJBUklFUycsCgkJCSAgICAgICAnbm9p bnN0JywgJ2xpYicsICdwa2dsaWInLCAnY2hlY2snKTsKCiAgIyBSZWNvcmQgZHVwbGljYXRp b25zIHRoYXQgbWF5IGFyaXNlIGFmdGVyIGNhbm9uaWNhbGl6YXRpb24gb2YgdGhlCiAgIyBi YXNlIG5hbWVzLCBpbiBvcmRlciB0byBwcmV2ZW50IG9iamVjdCBmaWxlIGNsYXNoZXMgaW4g dGhlIHByZXNlbmNlCiAgIyBvZiB0YXJnZXQtc3BlY2lmaWMgKkZMQUdTCiAgbXkgQHRhcmdl dGxpc3QgPSAoQHByb2dsaXN0LCBAbGlibGlzdCwgQGx0bGlibGlzdCk7CiAgZm9yZWFjaCBt eSAkcGFpciAoQHRhcmdldGxpc3QpCiAgICB7CiAgICAgIG15ICRiYXNlID0gY2Fub25pY2Fs aXplIChiYXNlbmFtZSAoQCRwYWlyWzFdKSk7CiAgICAgIHB1c2ggKEBkdXBfc2hvcnRuYW1l cywgJGJhc2UpIGlmICgkc2VlbnskYmFzZX0pOwogICAgICAkc2VlbnskYmFzZX0gPSAkYmFz ZTsKICAgIH0KfQoKc3ViIGhhbmRsZV9wcm9ncmFtcyAoKQp7CiAgcmV0dXJuIGlmICEgQHBy b2dsaXN0OwogICRtdXN0X2hhbmRsZV9jb21waWxlZF9vYmplY3RzID0gMTsKCiAgbXkgJHNl ZW5fZ2xvYmFsX2xpYm9ianMgPQogICAgdmFyICgnTERBREQnKSAmJiBoYW5kbGVfbGliX29i amVjdHMgKCcnLCAnTERBREQnKTsKCiAgZm9yZWFjaCBteSAkcGFpciAoQHByb2dsaXN0KQog ICAgewogICAgICBteSAoJHdoZXJlLCAkb25lX2ZpbGUpID0gQCRwYWlyOwoKICAgICAgbXkg JHNlZW5fbGlib2JqcyA9IDA7CiAgICAgIG15ICRvYmogPSAnLiQoT0JKRVhUKSc7CgogICAg ICAka25vd25fcHJvZ3JhbXN7JG9uZV9maWxlfSA9ICR3aGVyZTsKCiAgICAgICMgQ2Fub25p Y2FsaXplIG5hbWVzIGFuZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgogICAgICBteSAkeG5h bWUgPSBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcgKCRvbmVfZmlsZSwgJ19MREFERCcsICdf TERGTEFHUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J19TT1VSQ0VTJywgJ19PQkpFQ1RTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnX0RFUEVOREVOQ0lFUycpOwoKICAgICAgJHdoZXJlLT5wdXNoX2Nv bnRleHQgKCJ3aGlsZSBwcm9jZXNzaW5nIHByb2dyYW0gJyRvbmVfZmlsZSciKTsKICAgICAg JHdoZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoKICAgICAgbXkgJGxpbmtlciA9IGhhbmRs ZV9zb3VyY2VfdHJhbnNmb3JtICgkeG5hbWUsICRvbmVfZmlsZSwgJG9iaiwgJHdoZXJlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PTkxJQlRPT0wg PT4gMSwgTElCVE9PTCA9PiAwKTsKCiAgICAgIGlmICh2YXIgKCR4bmFtZSAuICJfTERBREQi KSkKCXsKCSAgJHNlZW5fbGlib2JqcyA9IGhhbmRsZV9saWJfb2JqZWN0cyAoJHhuYW1lLCAk eG5hbWUgLiAnX0xEQUREJyk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgIyBVc2VyIGRpZG4ndCBk ZWZpbmUgcHJvZ19MREFERCBvdmVycmlkZS4gIFNvIGRvIGl0LgoJICBkZWZpbmVfdmFyaWFi bGUgKCR4bmFtZSAuICdfTERBREQnLCAnJChMREFERCknLCAkd2hlcmUpOwoKCSAgIyBUaGlz IGRvZXMgYSBiaXQgdG9vIG11Y2ggd29yay4gIEJ1dCB3ZSBuZWVkIGl0IHRvCgkgICMgZ2Vu ZXJhdGUgX0RFUEVOREVOQ0lFUyB3aGVuIGFwcHJvcHJpYXRlLgoJICBpZiAodmFyICgnTERB REQnKSkKCSAgICB7CgkgICAgICAkc2Vlbl9saWJvYmpzID0gaGFuZGxlX2xpYl9vYmplY3Rz ICgkeG5hbWUsICdMREFERCcpOwoJICAgIH0KCX0KCiAgICAgIHJlamVjdF92YXIgKCR4bmFt ZSAuICdfTElCQUREJywKCQkgICJ1c2UgJyR7eG5hbWV9X0xEQUREJywgbm90ICcke3huYW1l fV9MSUJBREQnIik7CgogICAgICBzZXRfc2VlbiAoJHhuYW1lIC4gJ19ERVBFTkRFTkNJRVMn KTsKICAgICAgc2V0X3NlZW4gKCdFWFRSQV8nIC4gJHhuYW1lIC4gJ19ERVBFTkRFTkNJRVMn KTsKICAgICAgc2V0X3NlZW4gKCR4bmFtZSAuICdfTERGTEFHUycpOwoKICAgICAgIyBEZXRl cm1pbmUgcHJvZ3JhbSB0byB1c2UgZm9yIGxpbmsuCiAgICAgIG15KCR4bGluaywgJHZsaW5r KSA9IGRlZmluZV9wZXJfdGFyZ2V0X2xpbmtlcl92YXJpYWJsZSAoJGxpbmtlciwgJHhuYW1l KTsKICAgICAgJHZsaW5rID0gdmVyYm9zZV9mbGFnICgkdmxpbmsgfHwgJ0dFTicpOwoKICAg ICAgIyBJZiB0aGUgcmVzdWx0aW5nIHByb2dyYW0gbGllcyBpbiBhIHN1YmRpcmVjdG9yeSwK ICAgICAgIyBlbnN1cmUgdGhhdCB0aGUgZGlyZWN0b3J5IGV4aXN0cyBiZWZvcmUgd2UgbmVl ZCBpdC4KICAgICAgbXkgJGRpcnN0YW1wID0gcmVxdWlyZV9idWlsZF9kaXJlY3RvcnlfbWF5 YmUgKCRvbmVfZmlsZSk7CgogICAgICAkbGlidG9vbF9jbGVhbl9kaXJlY3Rvcmllc3tkaXJu YW1lICgkb25lX2ZpbGUpfSA9IDE7CgogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29u dGVudHMgKCdwcm9ncmFtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAkd2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPR1JB TSAgPT4gJG9uZV9maWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFhQUk9HUkFNID0+ICR4bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBYTElOSyAgICA9PiAkeGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVkVSQk9TRSAgPT4gJHZsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIERJUlNUQU1QID0+ICRkaXJzdGFtcCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFWEVFWFQgICA9PiAnJChFWEVFWFQpJyk7CgogICAgICBp ZiAoJHNlZW5fbGlib2JqcyB8fCAkc2Vlbl9nbG9iYWxfbGlib2JqcykKCXsKCSAgaWYgKHZh ciAoJHhuYW1lIC4gJ19MREFERCcpKQoJICAgIHsKCSAgICAgIGNoZWNrX2xpYm9ianNfc291 cmNlcyAoJHhuYW1lLCAkeG5hbWUgLiAnX0xEQUREJyk7CgkgICAgfQoJICBlbHNpZiAodmFy ICgnTERBREQnKSkKCSAgICB7CgkgICAgICBjaGVja19saWJvYmpzX3NvdXJjZXMgKCR4bmFt ZSwgJ0xEQUREJyk7CgkgICAgfQoJfQogICAgfQp9CgoKc3ViIGhhbmRsZV9saWJyYXJpZXMg KCkKewogIHJldHVybiBpZiAhIEBsaWJsaXN0OwogICRtdXN0X2hhbmRsZV9jb21waWxlZF9v YmplY3RzID0gMTsKCiAgbXkgQHByZWZpeCA9IGFtX3ByaW1hcnlfcHJlZml4ZXMgKCdMSUJS QVJJRVMnLCAwLCAnbGliJywgJ3BrZ2xpYicsCgkJCQkgICAgJ25vaW5zdCcsICdjaGVjaycp OwoKICBpZiAoQHByZWZpeCkKICAgIHsKICAgICAgbXkgJHZhciA9IHJ2YXIgKCRwcmVmaXhb MF0gLiAnX0xJQlJBUklFUycpOwogICAgICAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCds aWJyYXJ5IHVzZWQnLCAnUkFOTElCJyk7CiAgICB9CgogIGRlZmluZV92YXJpYWJsZSAoJ0FS JywgJ2FyJywgSU5URVJOQUwpOwogIGRlZmluZV92YXJpYWJsZSAoJ0FSRkxBR1MnLCAnY3J1 JywgSU5URVJOQUwpOwogIGRlZmluZV92ZXJib3NlX3RhZ3ZhciAoJ0FSJyk7CgogIGZvcmVh Y2ggbXkgJHBhaXIgKEBsaWJsaXN0KQogICAgewogICAgICBteSAoJHdoZXJlLCAkb25lbGli KSA9IEAkcGFpcjsKCiAgICAgIG15ICRzZWVuX2xpYm9ianMgPSAwOwogICAgICAjIENoZWNr IHRoYXQgdGhlIGxpYnJhcnkgZml0cyB0aGUgc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24u CiAgICAgIG15ICRibiA9IGJhc2VuYW1lICgkb25lbGliKTsKICAgICAgaWYgKCRibiAhfiAv XmxpYi4qXC5hJC8pCgl7CgkgICRibiA9fiBzL14oPzpsaWIpPyguKj8pKD86XC5bXi5dKik/ JC9saWIkMS5hLzsKCSAgbXkgJHN1Z2dlc3Rpb24gPSBkaXJuYW1lICgkb25lbGliKSAuICIv JGJuIjsKCSAgJHN1Z2dlc3Rpb24gPX4gc3xeXC4vfHxnOwoJICBtc2cgKCdlcnJvci1nbnUv d2FybicsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWInIGlzIG5vdCBhIHN0YW5kYXJkIGxp YnJhcnkgbmFtZVxuIgoJICAgICAgIC4gImRpZCB5b3UgbWVhbiAnJHN1Z2dlc3Rpb24nPyIp Cgl9CgogICAgICAoJGtub3duX2xpYnJhcmllc3skb25lbGlifSA9ICRibikgPX4gcy9cLmEk Ly87CgogICAgICAkd2hlcmUtPnB1c2hfY29udGV4dCAoIndoaWxlIHByb2Nlc3NpbmcgbGli cmFyeSAnJG9uZWxpYiciKTsKICAgICAgJHdoZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoK ICAgICAgbXkgJG9iaiA9ICcuJChPQkpFWFQpJzsKCiAgICAgICMgQ2Fub25pY2FsaXplIG5h bWVzIGFuZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgogICAgICBteSAkeGxpYiA9IGNoZWNr X2Nhbm9uaWNhbF9zcGVsbGluZyAoJG9uZWxpYiwgJ19MSUJBREQnLCAnX1NPVVJDRVMnLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19PQkpFQ1RTJywg J19ERVBFTkRFTkNJRVMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ19BUicpOwoKICAgICAgaWYgKCEgdmFyICgkeGxpYiAuICdfQVInKSkKCXsKCSAg ZGVmaW5lX3ZhcmlhYmxlICgkeGxpYiAuICdfQVInLCAnJChBUikgJChBUkZMQUdTKScsICR3 aGVyZSk7Cgl9CgogICAgICAjIEdlbmVyYXRlIHN1cHBvcnQgZm9yIGNvbmRpdGlvbmFsIG9i amVjdCBpbmNsdXNpb24gaW4KICAgICAgIyBsaWJyYXJpZXMuCiAgICAgIGlmICh2YXIgKCR4 bGliIC4gJ19MSUJBREQnKSkKCXsKCSAgaWYgKGhhbmRsZV9saWJfb2JqZWN0cyAoJHhsaWIs ICR4bGliIC4gJ19MSUJBREQnKSkKCSAgICB7CgkgICAgICAkc2Vlbl9saWJvYmpzID0gMTsK CSAgICB9Cgl9CiAgICAgIGVsc2UKCXsKCSAgZGVmaW5lX3ZhcmlhYmxlICgkeGxpYiAuICJf TElCQUREIiwgJycsICR3aGVyZSk7Cgl9CgogICAgICByZWplY3RfdmFyICgkeGxpYiAuICdf TERBREQnLAoJCSAgInVzZSAnJHt4bGlifV9MSUJBREQnLCBub3QgJyR7eGxpYn1fTERBREQn Iik7CgogICAgICAjIE1ha2Ugc3VyZSB3ZSBhdCBsb29rIGF0IHRoaXMuCiAgICAgIHNldF9z ZWVuICgkeGxpYiAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9zZWVuICgnRVhUUkFf JyAuICR4bGliIC4gJ19ERVBFTkRFTkNJRVMnKTsKCiAgICAgIGhhbmRsZV9zb3VyY2VfdHJh bnNmb3JtICgkeGxpYiwgJG9uZWxpYiwgJG9iaiwgJHdoZXJlLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTk9OTElCVE9PTCA9PiAxLCBMSUJUT09MID0+IDApOwoKICAgICAg IyBJZiB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgbGllcyBpbiBhIHN1YmRpcmVjdG9yeSwKICAg ICAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rvcnkgd2lsbCBleGlzdC4KICAgICAgbXkgJGRp cnN0YW1wID0gcmVxdWlyZV9idWlsZF9kaXJlY3RvcnlfbWF5YmUgKCRvbmVsaWIpOwogICAg ICBteSAkdmVyYm9zZSA9IHZlcmJvc2VfZmxhZyAoJ0FSJyk7CiAgICAgIG15ICRzaWxlbnQg PSBzaWxlbnRfZmxhZyAoKTsKCiAgICAgICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50 cyAoJ2xpYnJhcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAk d2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUkJPU0Ug ID0+ICR2ZXJib3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT SUxFTlQgICA9PiAkc2lsZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMSUJSQVJZICA9PiAkb25lbGliLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBYTElCUkFSWSA9PiAkeGxpYiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRElSU1RBTVAgPT4gJGRpcnN0YW1wKTsKCiAgICAgIGlmICgkc2Vl bl9saWJvYmpzKQoJewoJICBpZiAodmFyICgkeGxpYiAuICdfTElCQUREJykpCgkgICAgewoJ ICAgICAgY2hlY2tfbGlib2Jqc19zb3VyY2VzICgkeGxpYiwgJHhsaWIgLiAnX0xJQkFERCcp OwoJICAgIH0KCX0KCiAgICAgIGlmICghICRzZWVuX2FyKQoJewoJICBtc2cgKCdleHRyYS1w b3J0YWJpbGl0eScsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWInOiBsaW5raW5nIGxpYnJh cmllcyB1c2luZyBhIG5vbi1QT1NJWFxuIgoJICAgICAgIC4gImFyY2hpdmVyIHJlcXVpcmVz ICdBTV9QUk9HX0FSJyBpbiAnJGNvbmZpZ3VyZV9hYyciKQoJfQogICAgfQp9CgoKc3ViIGhh bmRsZV9sdGxpYnJhcmllcyAoKQp7CiAgcmV0dXJuIGlmICEgQGx0bGlibGlzdDsKICAkbXVz dF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0cyA9IDE7CgogIG15IEBwcmVmaXggPSBhbV9wcmlt YXJ5X3ByZWZpeGVzICgnTFRMSUJSQVJJRVMnLCAwLCAnbGliJywgJ3BrZ2xpYicsCgkJCQkg ICAgJ25vaW5zdCcsICdjaGVjaycpOwoKICBpZiAoQHByZWZpeCkKICAgIHsKICAgICAgbXkg JHZhciA9IHJ2YXIgKCRwcmVmaXhbMF0gLiAnX0xUTElCUkFSSUVTJyk7CiAgICAgICR2YXIt PnJlcXVpcmVzX3ZhcmlhYmxlcyAoJ0xpYnRvb2wgbGlicmFyeSB1c2VkJywgJ0xJQlRPT0wn KTsKICAgIH0KCiAgbXkgJWluc3RkaXJzID0gKCk7CiAgbXkgJWluc3RzdWJkaXJzID0gKCk7 CiAgbXkgJWluc3Rjb25kcyA9ICgpOwogIG15ICVsaWJsb2NhdGlvbnMgPSAoKTsJIyBMb2Nh dGlvbiAoaW4gTWFrZWZpbGUuYW0pIG9mIGVhY2ggbGlicmFyeS4KCiAgZm9yZWFjaCBteSAk a2V5IChAcHJlZml4KQogICAgewogICAgICAjIEdldCB0aGUgaW5zdGFsbGF0aW9uIGRpcmVj dG9yeSBvZiBlYWNoIGxpYnJhcnkuCiAgICAgIG15ICRkaXIgPSAka2V5OwogICAgICBteSAk c3RyaXBfc3ViZGlyID0gMTsKICAgICAgaWYgKCRkaXIgPX4gL15ub2Jhc2VfLykKICAgICAg ICB7CgkgICRkaXIgPX4gcy9ebm9iYXNlXy8vOwoJICAkc3RyaXBfc3ViZGlyID0gMDsKCX0K ICAgICAgbXkgJHZhciA9IHJ2YXIgKCRrZXkgLiAnX0xUTElCUkFSSUVTJyk7CgogICAgICAj IFdlIHJlamVjdCBsaWJyYXJpZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBpbiBzZXZlcmFsIHBs YWNlcwogICAgICAjIGluIHRoZSBzYW1lIGNvbmRpdGlvbiwgYmVjYXVzZSB3ZSBjYW4gb25s eSBzcGVjaWZ5IG9uZQogICAgICAjICctcnBhdGgnIG9wdGlvbi4KICAgICAgJHZhci0+dHJh dmVyc2VfcmVjdXJzaXZlbHkKCShzdWIKCSB7CgkgICBteSAoJHZhciwgJHZhbCwgJGNvbmQs ICRmdWxsX2NvbmQpID0gQF87CgkgICBteSAkaGNvbmQgPSAkZnVsbF9jb25kLT5odW1hbjsK CSAgIG15ICR3aGVyZSA9ICR2YXItPnJkZWYgKCRjb25kKS0+bG9jYXRpb247CgkgICBteSAk bGRpciA9ICcnOwoJICAgJGxkaXIgPSAnLycgLiBkaXJuYW1lICgkdmFsKQoJICAgICBpZiAo ISRzdHJpcF9zdWJkaXIpOwoJICAgIyBBIGxpYnJhcnkgY2Fubm90IGJlIGluc3RhbGxlZCBp biBkaWZmZXJlbnQgZGlyZWN0b3JpZXMKCSAgICMgaW4gb3ZlcmxhcHBpbmcgY29uZGl0aW9u cy4KCSAgIGlmIChleGlzdHMgJGluc3Rjb25kc3skdmFsfSkKCSAgICAgewoJICAgICAgIG15 ICgkbXNnLCAkYWNvbmQpID0KCQkgJGluc3Rjb25kc3skdmFsfS0+YW1iaWd1b3VzX3AgKCR2 YWwsICRmdWxsX2NvbmQpOwoKCSAgICAgICBpZiAoJG1zZykKCQkgewoJCSAgIGVycm9yICgk d2hlcmUsICRtc2csIHBhcnRpYWwgPT4gMSk7CgkJICAgbXkgJGRpcnR4dCA9ICJpbnN0YWxs ZWQgIiAuICgkc3RyaXBfc3ViZGlyID8gImluIiA6ICJiZWxvdyIpIC4gIiAnJGRpciciOwoJ CSAgICRkaXJ0eHQgPSAiYnVpbHQgZm9yICckZGlyJyIKCQkgICAgIGlmICRkaXIgZXEgJ0VY VFJBJyB8fCAkZGlyIGVxICdub2luc3QnIHx8ICRkaXIgZXEgJ2NoZWNrJzsKCQkgICBteSAk ZGlyY29uZCA9CgkJICAgICAkZnVsbF9jb25kLT50cnVlID8gIiIgOiAiIGluIGNvbmRpdGlv biAkaGNvbmQiOwoKCQkgICBlcnJvciAoJHdoZXJlLCAiJyR2YWwnIHNob3VsZCBiZSAkZGly dHh0JGRpcmNvbmQgLi4uIiwKCQkJICBwYXJ0aWFsID0+IDEpOwoKCQkgICBteSAkaGFjb25k ID0gJGFjb25kLT5odW1hbjsKCQkgICBteSAkYWRpciA9ICRpbnN0ZGlyc3skdmFsfXskYWNv bmR9OwoJCSAgIG15ICRhZGlydHh0ID0gImluc3RhbGxlZCBpbiAnJGFkaXInIjsKCQkgICAk YWRpcnR4dCA9ICJidWlsdCBmb3IgJyRhZGlyJyIKCQkgICAgIGlmICgkYWRpciBlcSAnRVhU UkEnIHx8ICRhZGlyIGVxICdub2luc3QnCgkJCSB8fCAkYWRpciBlcSAnY2hlY2snKTsKCQkg ICBteSAkYWRpcmNvbmQgPSAkYWNvbmQtPnRydWUgPyAiIiA6ICIgaW4gY29uZGl0aW9uICRo YWNvbmQiOwoKCQkgICBteSAkb25seW9uZSA9ICgkZGlyIG5lICRhZGlyKSA/CgkJICAgICAo IlxuTGlidG9vbCBsaWJyYXJpZXMgY2FuIGJlIGJ1aWx0IGZvciBvbmx5IG9uZSAiCgkJICAg ICAgLiAiZGVzdGluYXRpb24iKSA6ICIiOwoKCQkgICBlcnJvciAoJGxpYmxvY2F0aW9uc3sk dmFsfXskYWNvbmR9LAoJCQkgICIuLi4gYW5kIHNob3VsZCBhbHNvIGJlICRhZGlydHh0JGFk aXJjb25kLiRvbmx5b25lIik7CgkJICAgcmV0dXJuOwoJCSB9CgkgICAgIH0KCSAgIGVsc2UK CSAgICAgewoJICAgICAgICRpbnN0Y29uZHN7JHZhbH0gPSBuZXcgQXV0b21ha2U6OkRpc2pD b25kaXRpb25zOwoJICAgICB9CgkgICAkaW5zdGRpcnN7JHZhbH17JGZ1bGxfY29uZH0gPSAk ZGlyOwoJICAgJGluc3RzdWJkaXJzeyR2YWx9eyRmdWxsX2NvbmR9ID0gJGxkaXI7CgkgICAk bGlibG9jYXRpb25zeyR2YWx9eyRmdWxsX2NvbmR9ID0gJHdoZXJlOwoJICAgJGluc3Rjb25k c3skdmFsfSA9ICRpbnN0Y29uZHN7JHZhbH0tPm1lcmdlICgkZnVsbF9jb25kKTsKCSB9LAoJ IHN1YgoJIHsKCSAgIHJldHVybiAoKTsKCSB9LAoJIHNraXBfYWNfc3Vic3QgPT4gMSk7CiAg ICB9CgogIGZvcmVhY2ggbXkgJHBhaXIgKEBsdGxpYmxpc3QpCiAgICB7CiAgICAgIG15ICgk d2hlcmUsICRvbmVsaWIpID0gQCRwYWlyOwoKICAgICAgbXkgJHNlZW5fbGlib2JqcyA9IDA7 CiAgICAgIG15ICRvYmogPSAnLmxvJzsKCiAgICAgICMgQ2Fub25pY2FsaXplIG5hbWVzIGFu ZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgogICAgICBteSAkeGxpYiA9IGNoZWNrX2Nhbm9u aWNhbF9zcGVsbGluZyAoJG9uZWxpYiwgJ19MSUJBREQnLCAnX0xERkxBR1MnLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19TT1VSQ0VTJywgJ19PQkpF Q1RTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfREVQ RU5ERU5DSUVTJyk7CgogICAgICAjIENoZWNrIHRoYXQgdGhlIGxpYnJhcnkgZml0cyB0aGUg c3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24uCiAgICAgIG15ICRsaWJuYW1lX3J4ID0gJ15s aWIuKlwubGEnOwogICAgICBteSAkbGR2YXIgPSB2YXIgKCIke3hsaWJ9X0xERkxBR1MiKSB8 fCB2YXIgKCdBTV9MREZMQUdTJyk7CiAgICAgIG15ICRsZHZhcjIgPSB2YXIgKCdMREZMQUdT Jyk7CiAgICAgIGlmICgoJGxkdmFyICYmIGdyZXAgKC8tbW9kdWxlLywgJGxkdmFyLT52YWx1 ZV9hc19saXN0X3JlY3Vyc2l2ZSkpCgkgIHx8ICgkbGR2YXIyICYmIGdyZXAgKC8tbW9kdWxl LywgJGxkdmFyMi0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKSkKCXsKCSAgIyBSZWxheCBu YW1lIGNoZWNraW5nIGZvciBsaWJ0b29sIG1vZHVsZXMuCgkgICRsaWJuYW1lX3J4ID0gJ1wu bGEnOwoJfQoKICAgICAgbXkgJGJuID0gYmFzZW5hbWUgKCRvbmVsaWIpOwogICAgICBpZiAo JGJuICF+IC8kbGlibmFtZV9yeCQvKQoJewoJICBteSAkdHlwZSA9ICdsaWJyYXJ5JzsKCSAg aWYgKCRsaWJuYW1lX3J4IGVxICdcLmxhJykKCSAgICB7CgkgICAgICAkYm4gPX4gcy9eKGxp YnwpKC4qPykoPzpcLlteLl0qKT8kLyQxJDIubGEvOwoJICAgICAgJHR5cGUgPSAnbW9kdWxl JzsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkYm4gPX4gcy9eKD86bGliKT8oLio/ KSg/OlwuW14uXSopPyQvbGliJDEubGEvOwoJICAgIH0KCSAgbXkgJHN1Z2dlc3Rpb24gPSBk aXJuYW1lICgkb25lbGliKSAuICIvJGJuIjsKCSAgJHN1Z2dlc3Rpb24gPX4gc3xeXC4vfHxn OwoJICBtc2cgKCdlcnJvci1nbnUvd2FybicsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWIn IGlzIG5vdCBhIHN0YW5kYXJkIGxpYnRvb2wgJHR5cGUgbmFtZVxuIgoJICAgICAgIC4gImRp ZCB5b3UgbWVhbiAnJHN1Z2dlc3Rpb24nPyIpCgl9CgogICAgICAoJGtub3duX2xpYnJhcmll c3skb25lbGlifSA9ICRibikgPX4gcy9cLmxhJC8vOwoKICAgICAgJHdoZXJlLT5wdXNoX2Nv bnRleHQgKCJ3aGlsZSBwcm9jZXNzaW5nIExpYnRvb2wgbGlicmFyeSAnJG9uZWxpYiciKTsK ICAgICAgJHdoZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoKICAgICAgIyBNYWtlIHN1cmUg d2UgbG9vayBhdCB0aGVzZS4KICAgICAgc2V0X3NlZW4gKCR4bGliIC4gJ19MREZMQUdTJyk7 CiAgICAgIHNldF9zZWVuICgkeGxpYiAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9z ZWVuICgnRVhUUkFfJyAuICR4bGliIC4gJ19ERVBFTkRFTkNJRVMnKTsKCiAgICAgICMgR2Vu ZXJhdGUgc3VwcG9ydCBmb3IgY29uZGl0aW9uYWwgb2JqZWN0IGluY2x1c2lvbiBpbgogICAg ICAjIGxpYnJhcmllcy4KICAgICAgaWYgKHZhciAoJHhsaWIgLiAnX0xJQkFERCcpKQoJewoJ ICBpZiAoaGFuZGxlX2xpYl9vYmplY3RzICgkeGxpYiwgJHhsaWIgLiAnX0xJQkFERCcpKQoJ ICAgIHsKCSAgICAgICRzZWVuX2xpYm9ianMgPSAxOwoJICAgIH0KCX0KICAgICAgZWxzZQoJ ewoJICBkZWZpbmVfdmFyaWFibGUgKCR4bGliIC4gIl9MSUJBREQiLCAnJywgJHdoZXJlKTsK CX0KCiAgICAgIHJlamVjdF92YXIgKCIke3hsaWJ9X0xEQUREIiwKCQkgICJ1c2UgJyR7eGxp Yn1fTElCQUREJywgbm90ICcke3hsaWJ9X0xEQUREJyIpOwoKCiAgICAgIG15ICRsaW5rZXIg PSBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJHhsaWIsICRvbmVsaWIsICRvYmosICR3aGVy ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT05MSUJU T09MID0+IDAsIExJQlRPT0wgPT4gMSk7CgogICAgICAjIERldGVybWluZSBwcm9ncmFtIHRv IHVzZSBmb3IgbGluay4KICAgICAgbXkoJHhsaW5rLCAkdmxpbmspID0gZGVmaW5lX3Blcl90 YXJnZXRfbGlua2VyX3ZhcmlhYmxlICgkbGlua2VyLCAkeGxpYik7CiAgICAgICR2bGluayA9 IHZlcmJvc2VfZmxhZyAoJHZsaW5rIHx8ICdHRU4nKTsKCiAgICAgIG15ICRycGF0aHZhciA9 ICJhbV8ke3hsaWJ9X3JwYXRoIjsKICAgICAgbXkgJHJwYXRoID0gIlwkKCRycGF0aHZhciki OwogICAgICBmb3JlYWNoIG15ICRyY29uZCAoJGluc3Rjb25kc3skb25lbGlifS0+Y29uZHMp Cgl7CgkgIG15ICR2YWw7CgkgIGlmICgkaW5zdGRpcnN7JG9uZWxpYn17JHJjb25kfSBlcSAn RVhUUkEnCgkgICAgICB8fCAkaW5zdGRpcnN7JG9uZWxpYn17JHJjb25kfSBlcSAnbm9pbnN0 JwoJICAgICAgfHwgJGluc3RkaXJzeyRvbmVsaWJ9eyRyY29uZH0gZXEgJ2NoZWNrJykKCSAg ICB7CgkgICAgICAjIEl0J3MgYW4gRVhUUkFfIGxpYnJhcnksIHNvIHdlIGNhbid0IHNwZWNp ZnkgLXJwYXRoLAoJICAgICAgIyBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlcmUgdGhlIGxp YnJhcnkgd2lsbCBlbmQgdXAuCgkgICAgICAjIFRoZSB1c2VyIHByb2JhYmx5IGtub3dzLCBi dXQgZ2VuZXJhbGx5IHNwZWFraW5nIGF1dG9tYWtlCgkgICAgICAjIGRvZXNuJ3QgLS0gYW5k IGluIGZhY3QgY29uZmlndXJlIGNvdWxkIGRlY2lkZQoJICAgICAgIyBkeW5hbWljYWxseSBi ZXR3ZWVuIHR3byBkaWZmZXJlbnQgbG9jYXRpb25zLgoJICAgICAgJHZhbCA9ICcnOwoJICAg IH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR2YWwgPSAoJy1ycGF0aCAkKCcgLiAkaW5zdGRp cnN7JG9uZWxpYn17JHJjb25kfSAuICdkaXIpJyk7CgkgICAgICAkdmFsIC49ICRpbnN0c3Vi ZGlyc3skb25lbGlifXskcmNvbmR9CgkgICAgICAgIGlmIGRlZmluZWQgJGluc3RzdWJkaXJz eyRvbmVsaWJ9eyRyY29uZH07CgkgICAgfQoJICBpZiAoJHJjb25kLT50cnVlKQoJICAgIHsK CSAgICAgICMgSWYgJHJjb25kIGlzIHRydWUgdGhlcmUgaXMgb25seSBvbmUgY29uZGl0aW9u IGFuZAoJICAgICAgIyB0aGVyZSBpcyBubyBwb2ludCBkZWZpbmluZyBhbiBoZWxwZXIgdmFy aWFibGUuCgkgICAgICAkcnBhdGggPSAkdmFsOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAg ICAgIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRycGF0aHZhciwgJHJjb25kLCBJTlRFUk5B TCwgJHZhbCk7CgkgICAgfQoJfQoKICAgICAgIyBJZiB0aGUgcmVzdWx0aW5nIGxpYnJhcnkg bGllcyBpbiBhIHN1YmRpcmVjdG9yeSwKICAgICAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rv cnkgd2lsbCBleGlzdC4KICAgICAgbXkgJGRpcnN0YW1wID0gcmVxdWlyZV9idWlsZF9kaXJl Y3RvcnlfbWF5YmUgKCRvbmVsaWIpOwoKICAgICAgIyBSZW1lbWJlciB0byBjbGVhbnVwIC5s aWJzLyBpbiB0aGlzIGRpcmVjdG9yeS4KICAgICAgbXkgJGRpcm5hbWUgPSBkaXJuYW1lICRv bmVsaWI7CiAgICAgICRsaWJ0b29sX2NsZWFuX2RpcmVjdG9yaWVzeyRkaXJuYW1lfSA9IDE7 CgogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdsdGxpYnJhcnknLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVExJQlJBUlkgID0+ICRvbmVsaWIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWExUTElCUkFSWSA9PiAkeGxp YiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSUEFUSCAgICAgID0+ ICRycGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTElOSyAg ICAgID0+ICR4bGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW RVJCT1NFICAgID0+ICR2bGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBESVJTVEFNUCAgID0+ICRkaXJzdGFtcCk7CiAgICAgIGlmICgkc2Vlbl9saWJvYmpz KQoJewoJICBpZiAodmFyICgkeGxpYiAuICdfTElCQUREJykpCgkgICAgewoJICAgICAgY2hl Y2tfbGlib2Jqc19zb3VyY2VzICgkeGxpYiwgJHhsaWIgLiAnX0xJQkFERCcpOwoJICAgIH0K CX0KCiAgICAgIGlmICghICRzZWVuX2FyKQoJewoJICBtc2cgKCdleHRyYS1wb3J0YWJpbGl0 eScsICR3aGVyZSwKCSAgICAgICAiJyRvbmVsaWInOiBsaW5raW5nIGxpYnRvb2wgbGlicmFy aWVzIHVzaW5nIGEgbm9uLVBPU0lYXG4iCgkgICAgICAgLiAiYXJjaGl2ZXIgcmVxdWlyZXMg J0FNX1BST0dfQVInIGluICckY29uZmlndXJlX2FjJyIpCgl9CiAgICB9Cn0KCiMgU2VlIGlm IGFueSBfU09VUkNFUyB2YXJpYWJsZSB3ZXJlIG1pc3NwZWxsZWQuCnN1YiBjaGVja190eXBv cyAoKQp7CiAgIyBJdCBpcyBvayBpZiB0aGUgdXNlciBzZXRzIHRoaXMgcGFydGljdWxhciB2 YXJpYWJsZS4KICBzZXRfc2VlbiAnQU1fTERGTEFHUyc7CgogIGZvcmVhY2ggbXkgJHByaW1h cnkgKCdTT1VSQ0VTJywgJ0xJQkFERCcsICdMREFERCcsICdMREZMQUdTJywgJ0RFUEVOREVO Q0lFUycpCiAgICB7CiAgICAgIGZvcmVhY2ggbXkgJHZhciAodmFyaWFibGVzICRwcmltYXJ5 KQoJewoJICBteSAkdmFybmFtZSA9ICR2YXItPm5hbWU7CgkgICMgQSBjb25maWd1cmUgdmFy aWFibGUgaXMgYWx3YXlzIGxlZ2l0aW1hdGUuCgkgIG5leHQgaWYgZXhpc3RzICRjb25maWd1 cmVfdmFyc3skdmFybmFtZX07CgoJICBmb3IgbXkgJGNvbmQgKCR2YXItPmNvbmRpdGlvbnMt PmNvbmRzKQoJICAgIHsKCSAgICAgICR2YXJuYW1lID1+IC9eKD86RVhUUkFfKT8oPzpub2Jh c2VfKT8oPzpkaXN0X3xub2Rpc3RfKT8oLiopX1tbOmFsbnVtOl1dKyQvOwoJICAgICAgbXNn X3ZhciAoJ3N5bnRheCcsICR2YXIsICJ2YXJpYWJsZSAnJHZhcm5hbWUnIGlzIGRlZmluZWQg YnV0IG5vIgoJCSAgICAgICAuICIgcHJvZ3JhbSBvclxubGlicmFyeSBoYXMgJyQxJyBhcyBj YW5vbmljYWwgbmFtZSIKCQkgICAgICAgLiAiIChwb3NzaWJsZSB0eXBvKSIpCgkJdW5sZXNz ICR2YXItPnJkZWYgKCRjb25kKS0+c2VlbjsKCSAgICB9Cgl9CiAgICB9Cn0KCgpzdWIgaGFu ZGxlX3NjcmlwdHMgKCkKewogICAgIyBOT1RFIHdlIG5vIGxvbmdlciBhdXRvbWF0aWNhbGx5 IGNsZWFuIFNDUklQVFMsIGJlY2F1c2UgaXQgaXMKICAgICMgdXNlZnVsIHRvIHNvbWV0aW1l cyBkaXN0cmlidXRlIHNjcmlwdHMgdmVyYmF0aW0uICBUaGlzIGhhcHBlbnMKICAgICMgZS5n LiBpbiBBdXRvbWFrZSBpdHNlbGYuCiAgICBhbV9pbnN0YWxsX3ZhciAoJy1jYW5kaXN0Jywg J3NjcmlwdHMnLCAnU0NSSVBUUycsCiAgICAgICAgICAgICAgICAgICAgJ2JpbicsICdzYmlu JywgJ2xpYmV4ZWMnLCAncGtnbGliZXhlYycsICdwa2dkYXRhJywKICAgICAgICAgICAgICAg ICAgICAnbm9pbnN0JywgJ2NoZWNrJyk7Cn0KCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gIyMKIyMgSGFuZGxpbmcgVGV4aW5mbyBmaWxlcy4gICMjCiMjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIwoKIyAoJE9VVEZJTEUsICRWRklMRSkKIyBzY2FuX3RleGluZm9fZmls ZSAoJEZJTEVOQU1FKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgJE9VVEZJ TEUgICAgIC0gbmFtZSBvZiB0aGUgaW5mbyBmaWxlIHByb2R1Y2VkIGJ5ICRGSUxFTkFNRS4K IyAkVkZJTEUgICAgICAgLSBuYW1lIG9mIHRoZSB2ZXJzaW9uLnRleGkgZmlsZSB1c2VkICh1 bmRlZiBpZiBub25lKS4Kc3ViIHNjYW5fdGV4aW5mb19maWxlCnsKICBteSAoJGZpbGVuYW1l KSA9IEBfOwoKICBteSAkdGV4aSA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgIjwgJGZpbGVuYW1l IjsKICB2ZXJiICJyZWFkaW5nICRmaWxlbmFtZSI7CgogIG15ICgkb3V0ZmlsZSwgJHZmaWxl KTsKICB3aGlsZSAoJF8gPSAkdGV4aS0+Z2V0bGluZSkKICAgIHsKICAgICAgaWYgKC9eXEBz ZXRmaWxlbmFtZSArKFxTKykvKQoJewoJICAjIEhvbm9yIG9ubHkgdGhlIGZpcnN0IEBzZXRm aWxlbmFtZS4gIChJdCdzIHBvc3NpYmxlIHRvIGhhdmUKCSAgIyBtb3JlIG9jY3VycmVuY2Vz IGxhdGVyIGlmIHRoZSBtYW51YWwgc2hvd3MgZXhhbXBsZXMgb2YgaG93CgkgICMgdG8gdXNl IEBzZXRmaWxlbmFtZS4uLikKCSAgbmV4dCBpZiAkb3V0ZmlsZTsKCgkgICRvdXRmaWxlID0g JDE7CgkgIGlmIChpbmRleCAoJG91dGZpbGUsICcuJykgPCAwKQoJICAgIHsKCSAgICAgIG1z ZyAnb2Jzb2xldGUnLCAiJGZpbGVuYW1lOiQuIiwKCSAgICAgICAgICAidXNlIG9mIHN1ZmZp eC1sZXNzIGluZm8gZmlsZXMgaXMgZGlzY291cmFnZWQiCgkgICAgfQoJICBlbHNpZiAoJG91 dGZpbGUgIX4gL1wuaW5mbyQvKQoJICAgIHsKCSAgICAgIGVycm9yICgiJGZpbGVuYW1lOiQu IiwKCQkgICAgICJvdXRwdXQgJyRvdXRmaWxlJyBoYXMgdW5yZWNvZ25pemVkIGV4dGVuc2lv biIpOwoJICAgICAgcmV0dXJuOwoJICAgIH0KCX0KICAgICAgIyBBICJ2ZXJzaW9uLnRleGki IGZpbGUgaXMgYWN0dWFsbHkgYW55IGZpbGUgd2hvc2UgbmFtZSBtYXRjaGVzCiAgICAgICMg InZlcnMqLnRleGkiLgogICAgICBlbHNpZiAoL15cQGluY2x1ZGVccysodmVyc1teLl0qXC50 ZXhpKVxzKiQvKQoJewoJICAkdmZpbGUgPSAkMTsKCX0KICAgIH0KCiAgaWYgKCEgJG91dGZp bGUpCiAgICB7CiAgICAgICMgUmVwbGFjZSBhIC50ZXhpIGV4dGVuc2lvbiB3aXRoIC5pbmZv CiAgICAgICRvdXRmaWxlID0gYmFzZW5hbWUoJGZpbGVuYW1lKTsKICAgICAgJG91dGZpbGUg PX4gcy9cLlteLl0rJC8vOwogICAgICAkb3V0ZmlsZSAuPSAnLmluZm8nOwogICAgfQoKICBy ZXR1cm4gKCRvdXRmaWxlLCAkdmZpbGUpOwp9CgoKIyAoJERJUlNUQU1QLCBAQ0xFQU5fRklM RVMpCiMgb3V0cHV0X3RleGluZm9fYnVpbGRfcnVsZXMgKCRTT1VSQ0UsICRERVNULCAkSU5T UkMsIEBERVBFTkRFTkNJRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU09VUkNFIC0gdGhlIHNvdXJj ZSBUZXhpbmZvIGZpbGUKIyBERVNUIC0gdGhlIGRlc3RpbmF0aW9uIEluZm8gZmlsZQojIElO U1JDIC0gd2hldGhlciBERVNUIHNob3VsZCBiZSBidWlsdCBpbiB0aGUgc291cmNlIHRyZWUK IyBERVBFTkRFTkNJRVMgLSBrbm93biBkZXBlbmRlbmNpZXMKc3ViIG91dHB1dF90ZXhpbmZv X2J1aWxkX3J1bGVzCnsKICBteSAoJHNvdXJjZSwgJGRlc3QsICRpbnNyYywgQGRlcHMpID0g QF87CgogICMgU3BsaXQgJ2EudGV4aScgaW50byAnYScgYW5kICcudGV4aScuCiAgbXkgKCRz cGZ4LCAkc3NmeCkgPSAoJHNvdXJjZSA9fiAvXiguKj8pKFwuW14uXSopPyQvKTsKICBteSAo JGRwZngsICRkc2Z4KSA9ICgkZGVzdCA9fiAvXiguKj8pKFwuW14uXSopPyQvKTsKCiAgJHNz ZnggfHw9ICIiOwogICRkc2Z4IHx8PSAiIjsKCiAgIyBXZSBjYW4gb3V0cHV0IHR3byBraW5k cyBvZiBydWxlczogdGhlICJnZW5lcmljIiBydWxlcyB1c2UgTWFrZQogICMgc3VmZml4IHJ1 bGVzIGFuZCBhcmUgYXBwcm9wcmlhdGUgd2hlbiAkc291cmNlIGFuZCAkZGVzdCBkbyBub3Qg bGllCiAgIyBpbiBhIHN1Yi1kaXJlY3Rvcnk7IHRoZSAic3BlY2lmaWMiIHJ1bGVzIGFyZSBu ZWVkZWQgaW4gdGhlIG90aGVyCiAgIyBjYXNlLgogICMKICAjIFRoZSBmb3JtZXIgYXJlIG91 dHB1dCBvbmx5IG9uY2UgKHRoaXMgaXMgbm90IHJlYWxseSBhcHBhcmVudCBoZXJlLAogICMg YnV0IGp1c3QgcmVtZW1iZXIgdGhhdCBzb21lIGxvZ2ljIGRlZXBlciBpbiBBdXRvbWFrZSB3 aWxsIG5vdAogICMgb3V0cHV0IHRoZSBzYW1lIHJ1bGUgdHdpY2UpOyB3aGlsZSB0aGUgbGF0 ZXIgbmVlZCB0byBiZSBvdXRwdXQgZm9yCiAgIyBlYWNoIFRleGluZm8gc291cmNlLgogIG15 ICRnZW5lcmljOwogIG15ICRtYWtlaW5mb2ZsYWdzOwogIG15ICRzZGlyID0gZGlybmFtZSAk c291cmNlOwogIGlmICgkc2RpciBlcSAnLicgJiYgZGlybmFtZSAoJGRlc3QpIGVxICcuJykK ICAgIHsKICAgICAgJGdlbmVyaWMgPSAxOwogICAgICAkbWFrZWluZm9mbGFncyA9ICctSSAk KHNyY2RpciknOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJGdlbmVyaWMgPSAwOwogICAg ICAkbWFrZWluZm9mbGFncyA9ICItSSAkc2RpciAtSSBcJChzcmNkaXIpLyRzZGlyIjsKICAg IH0KCiAgIyBBIGRpcmVjdG9yeSBjYW4gY29udGFpbiB0d28ga2luZHMgb2YgaW5mbyBmaWxl czogc29tZSBidWlsdCBpbiB0aGUKICAjIHNvdXJjZSB0cmVlLCBhbmQgc29tZSBidWlsdCBp biB0aGUgYnVpbGQgdHJlZS4gIFRoZSBydWxlcyBhcmUKICAjIGRpZmZlcmVudCBpbiBlYWNo IGNhc2UuICBIb3dldmVyIHdlIGNhbm5vdCBvdXRwdXQgdHdvIGRpZmZlcmVudAogICMgc2V0 IG9mIGdlbmVyaWMgcnVsZXMuICBCZWNhdXNlIGluLXNvdXJjZSBidWlsZHMgYXJlIG1vcmUg dXN1YWwsIHdlCiAgIyB1c2UgZ2VuZXJpYyBydWxlcyBpbiB0aGlzIGNhc2UgYW5kIGZhbGwg YmFjayB0byAic3BlY2lmaWMiIHJ1bGVzCiAgIyBmb3IgYnVpbGQtZGlyIGJ1aWxkcy4gIChJ dCBzaG91bGQgbm90IGJlIGEgcHJvYmxlbSB0byBpbnZlcnQgdGhpcwogICMgaWYgbmVlZGVk LikKICAkZ2VuZXJpYyA9IDAgdW5sZXNzICRpbnNyYzsKCiAgIyBXZSBjYW5ub3QgdXNlIGEg c3VmZml4IHJ1bGUgdG8gYnVpbGQgaW5mbyBmaWxlcyB3aXRoIGFuIGVtcHR5CiAgIyBleHRl bnNpb24uICBPdGhlcndpc2Ugd2Ugd291bGQgb3V0cHV0IGEgc2luZ2xlIHN1ZmZpeCBpbmZl cmVuY2UKICAjIHJ1bGUsIHdpdGggc2VwYXJhdGUgZGVwZW5kZW5jaWVzLCBhcyBpbgogICMK ICAjICAgIC50ZXhpOgogICMgICAgICAgICAgICAgJChNQUtFSU5GTykgLi4uCiAgIyAgICBm b28uaW5mbzogZm9vLnRleGkKICAjCiAgIyB3aGljaCBjb25mdXNlIFNvbGFyaXMgbWFrZS4g IChTZWUgdGhlIEF1dG9jb25mIG1hbnVhbCBmb3IKICAjIGRldGFpbHMuKSAgVGhlcmVmb3Jl IHdlIHVzZSBhIHNwZWNpZmljIHJ1bGUgaW4gdGhpcyBjYXNlLiAgVGhpcwogICMgYXBwbGll cyB0byBpbmZvIGZpbGVzIG9ubHkgKGR2aSBhbmQgcGRmIGZpbGVzIGFsd2F5cyBoYXZlIGFu CiAgIyBleHRlbnNpb24pLgogIG15ICRnZW5lcmljX2luZm8gPSAoJGdlbmVyaWMgJiYgJGRz ZngpID8gMSA6IDA7CgogICMgSWYgdGhlIHJlc3VsdGluZyBmaWxlIGxpZXMgaW4gYSBzdWJk aXJlY3RvcnksCiAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rvcnkgd2lsbCBleGlzdC4KICBt eSAkZGlyc3RhbXAgPSByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeV9tYXliZSAoJGRlc3QpOwoK ICBteSAkZGlwZnggPSAoJGluc3JjID8gJyQoc3JjZGlyKS8nIDogJycpIC4gJGRwZng7Cgog ICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ3RleGlidWlsZCcsCgkJCQkgIG5l dyBBdXRvbWFrZTo6TG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBTV9WX01BS0VJTkZPICAgID0+IHZlcmJvc2VfZmxhZygnTUFLRUlORk8nKSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFNX1ZfVEVYSTJEVkkgICAgPT4gdmVyYm9z ZV9mbGFnKCdURVhJMkRWSScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QU1fVl9URVhJMlBERiAgICA9PiB2ZXJib3NlX2ZsYWcoJ1RFWEkyUERGJyksCgkJCQkgIERF UFMgICAgICAgICAgICAgPT4gIkBkZXBzIiwKCQkJCSAgREVTVF9QUkVGSVggICAgICA9PiAk ZHBmeCwKCQkJCSAgREVTVF9JTkZPX1BSRUZJWCA9PiAkZGlwZngsCgkJCQkgIERFU1RfU1VG RklYICAgICAgPT4gJGRzZngsCgkJCQkgIERJUlNUQU1QICAgICAgICAgPT4gJGRpcnN0YW1w LAoJCQkJICBHRU5FUklDICAgICAgICAgID0+ICRnZW5lcmljLAoJCQkJICBHRU5FUklDX0lO Rk8gICAgID0+ICRnZW5lcmljX2luZm8sCgkJCQkgIElOU1JDCQkgICA9PiAkaW5zcmMsCgkJ CQkgIE1BS0VJTkZPRkxBR1MgICAgPT4gJG1ha2VpbmZvZmxhZ3MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTSUxFTlQgICAgICAgICAgID0+IHNpbGVudF9mbGFnKCks CgkJCQkgIFNPVVJDRSAgICAgICAgICAgPT4gKCRnZW5lcmljCgkJCQkJCSAgICAgICA/ICck PCcgOiAkc291cmNlKSwKCQkJCSAgU09VUkNFX0lORk8gICAgICA9PiAoJGdlbmVyaWNfaW5m bwoJCQkJCQkgICAgICAgPyAnJDwnIDogJHNvdXJjZSksCgkJCQkgIFNPVVJDRV9SRUFMICAg ICAgPT4gJHNvdXJjZSwKCQkJCSAgU09VUkNFX1NVRkZJWCAgICA9PiAkc3NmeCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFWElRVUlFVCAgICAgICAgPT4gdmVyYm9z ZV9mbGFnKCd0ZXhpbmZvJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU RVhJREVWTlVMTCAgICAgID0+IHZlcmJvc2VfZmxhZygndGV4aWRldm51bGwnKSwKCQkJCSAg KTsKICByZXR1cm4gKCRkaXJzdGFtcCwgIiRkcGZ4LmR2aSIsICIkZHBmeC5wZGYiLCAiJGRw ZngucHMiLCAiJGRwZnguaHRtbCIpOwp9CgoKIyAoJE1PU1RMWUNMRUFOLCAkVEVYSUNMRUFO LCAkTUFJTlRDTEVBTikKIyBoYW5kbGVfdGV4aW5mb19oZWxwZXIgKCRpbmZvX3RleGluZm9z KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSGFuZGxlIGFs bCBUZXhpbmZvIHNvdXJjZTsgaGVscGVyIGZvciAnaGFuZGxlX3RleGluZm8nLgpzdWIgaGFu ZGxlX3RleGluZm9faGVscGVyCnsKICBteSAoJGluZm9fdGV4aW5mb3MpID0gQF87CiAgbXkg KEBpbmZvYmFzZSwgQGluZm9fZGVwc19saXN0LCBAdGV4aV9kZXBzKTsKICBteSAldmVyc2lv bnM7CiAgbXkgJGRvbmUgPSAwOwogIG15IChAbW9zdGx5X2NsZWFucywgQHRleGlfY2xlYW5z LCBAbWFpbnRfY2xlYW5zKSA9ICgnJywgJycsICcnKTsKCiAgIyBCdWlsZCBhIHJlZ2V4IG1h dGNoaW5nIHVzZXItY2xlYW5lZCBmaWxlcy4KICBteSAkZCA9IHZhciAnRElTVENMRUFORklM RVMnOwogIG15ICRjID0gdmFyICdDTEVBTkZJTEVTJzsKICBteSBAZiA9ICgpOwogIHB1c2gg QGYsICRkLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhwYW5kID0+IDEpIGlm ICRkOwogIHB1c2ggQGYsICRjLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhw YW5kID0+IDEpIGlmICRjOwogIEBmID0gbWFwIHsgc3xbXkEtWmEtel8wLTkqXFtcXVwtXXxc XCQmfGc7IHN8XCp8W14vXSp8ZzsgJF87IH0gQGY7CiAgbXkgJHVzZXJfY2xlYW5lZF9maWxl cyA9ICdeKD86JyAuIGpvaW4gKCd8JywgQGYpIC4gJykkJzsKCiAgZm9yZWFjaCBteSAkdGV4 aQogICAgICAoJGluZm9fdGV4aW5mb3MtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlIChpbm5l cl9leHBhbmQgPT4gMSkpCiAgICB7CiAgICAgIG15ICRpbmZvYmFzZSA9ICR0ZXhpOwogICAg ICBpZiAoJGluZm9iYXNlID1+IHMvXC50ZXhpJC8vKQogICAgICAgIHsKICAgICAgICAgIDE7 ICMgTm90aGluZyBtb3JlIHRvIGRvLgogICAgICAgIH0KICAgICAgZWxzaWYgKCRpbmZvYmFz ZSA9fiBzL1wuKHR4aXx0ZXhpbmZvKSQvLykKICAgICAgICB7CgkgIG1zZ192YXIgJ29ic29s ZXRlJywgJGluZm9fdGV4aW5mb3MsCgkgICAgICAgICAgInN1ZmZpeCAnLiQxJyBmb3IgVGV4 aW5mbyBmaWxlcyBpcyBkaXNjb3VyYWdlZDsiIC4KICAgICAgICAgICAgICAgICAgIiB1c2Ug Jy50ZXhpJyBpbnN0ZWFkIjsKICAgICAgICB9CiAgICAgIGVsc2UKCXsKCSAgIyBGSVhNRTog cmVwb3J0IGxpbmUgbnVtYmVyLgoJICBlcnJfYW0gInRleGluZm8gZmlsZSAnJHRleGknIGhh cyB1bnJlY29nbml6ZWQgZXh0ZW5zaW9uIjsKCSAgbmV4dDsKCX0KCiAgICAgIHB1c2ggQGlu Zm9iYXNlLCAkaW5mb2Jhc2U7CgogICAgICAjIElmICd2ZXJzaW9uLnRleGknIGlzIHJlZmVy ZW5jZWQgYnkgaW5wdXQgZmlsZSwgdGhlbiBpbmNsdWRlCiAgICAgICMgYXV0b21hdGljIHZl cnNpb25pbmcgY2FwYWJpbGl0eS4KICAgICAgbXkgKCRvdXRfZmlsZSwgJHZ0ZXhpKSA9Cglz Y2FuX3RleGluZm9fZmlsZSAoIiRyZWxhdGl2ZV9kaXIvJHRleGkiKQoJb3IgbmV4dDsKICAg ICAgIyBEaXJlY3Rvcnkgb2YgYXV4aWxpYXJ5IGZpbGVzIGFuZCBidWlsZCBieS1wcm9kdWN0 cyB1c2VkIGJ5IHRleGkyZHZpCiAgICAgICMgYW5kIHRleGkycGRmLgogICAgICBwdXNoIEBt b3N0bHlfY2xlYW5zLCAiJGluZm9iYXNlLnQyZCI7CiAgICAgIHB1c2ggQG1vc3RseV9jbGVh bnMsICIkaW5mb2Jhc2UudDJwIjsKCiAgICAgICMgSWYgdGhlIFRleGluZm8gc291cmNlIGlz IGluIGEgc3ViZGlyZWN0b3J5LCBjcmVhdGUgdGhlCiAgICAgICMgcmVzdWx0aW5nIGluZm8g aW4gdGhpcyBzdWJkaXJlY3RvcnkuICBJZiBpdCBpcyBpbiB0aGUgY3VycmVudAogICAgICAj IGRpcmVjdG9yeSwgdHJ5IGhhcmQgdG8gbm90IHByZWZpeCAiLi8iIGJlY2F1c2UgaXQgYnJl YWtzIHRoZQogICAgICAjIGdlbmVyaWMgcnVsZXMuCiAgICAgIG15ICRvdXRkaXIgPSBkaXJu YW1lICgkdGV4aSkgLiAnLyc7CiAgICAgICRvdXRkaXIgPSAiIiBpZiAkb3V0ZGlyIGVxICcu Lyc7CiAgICAgICRvdXRfZmlsZSA9ICAkb3V0ZGlyIC4gJG91dF9maWxlOwoKICAgICAgIyBV bnRpbCBBdXRvbWFrZSAxLjYuMywgLmluZm8gZmlsZXMgd2VyZSBidWlsdCBpbiB0aGUKICAg ICAgIyBzb3VyY2UgdHJlZS4gIFRoaXMgd2FzIGFuIG9ic3RhY2xlIHRvIHRoZSBzdXBwb3J0 IG9mCiAgICAgICMgbm9uLWRpc3RyaWJ1dGVkIC5pbmZvIGZpbGVzLCBhbmQgbm9uLWRpc3Ry aWJ1dGVkIC50ZXhpCiAgICAgICMgZmlsZXMuCiAgICAgICMKICAgICAgIyAqIE5vbi1kaXN0 cmlidXRlZCAudGV4aSBmaWxlcyBpcyBpbXBvcnRhbnQgaW4gc29tZSBwYWNrYWdlcwogICAg ICAjICAgd2hlcmUgLnRleGkgZmlsZXMgYXJlIGJ1aWx0IGF0IG1ha2UgdGltZSwgcHJvYmFi bHkgdXNpbmcKICAgICAgIyAgIG90aGVyIGJpbmFyaWVzIGJ1aWx0IGluIHRoZSBwYWNrYWdl IGl0c2VsZiwgbWF5YmUgdXNpbmcKICAgICAgIyAgIHRvb2xzIG9yIGluZm9ybWF0aW9uIGZv dW5kIG9uIHRoZSBidWlsZCBob3N0LiAgQmVjYXVzZQogICAgICAjICAgdGhlc2UgZmlsZXMg YXJlIG5vdCBkaXN0cmlidXRlZCB0aGV5IGFyZSBhbHdheXMgcmVidWlsdAogICAgICAjICAg YXQgbWFrZSB0aW1lOyB0aGV5IHNob3VsZCB0aGVyZWZvcmUgbm90IGxpZSBpbiB0aGUgc291 cmNlCiAgICAgICMgICBkaXJlY3RvcnkuICBPbmUgcGxhbiB3YXMgdG8gc3VwcG9ydCB0aGlz IHVzaW5nCiAgICAgICMgICBub2Rpc3RfaW5mb19URVhJTkZPUyBvciBzb21ldGhpbmcgc2lt aWxhci4gIChEb2luZyB0aGlzCiAgICAgICMgICByZXF1aXJlcyBzb21lIHNhbml0eSBjaGVj a3MuICBGb3IgaW5zdGFuY2UgQXV0b21ha2Ugc2hvdWxkCiAgICAgICMgICBub3QgYWxsb3c6 CiAgICAgICMgICAgICBkaXN0X2luZm9fVEVYSU5GT1MgPSBmb28udGV4aQogICAgICAjICAg ICAgbm9kaXN0X2Zvb19URVhJTkZPUyA9IGluY2x1ZGVkLnRleGkKICAgICAgIyAgIGJlY2F1 c2UgYSBkaXN0cmlidXRlZCBmaWxlIHNob3VsZCBuZXZlciBkZXBlbmQgb24gYQogICAgICAj ICAgbm9uLWRpc3RyaWJ1dGVkIGZpbGUuKQogICAgICAjCiAgICAgICMgKiBJZiAudGV4aSBm aWxlcyBhcmUgbm90IGRpc3RyaWJ1dGVkLCB0aGVuIC5pbmZvIGZpbGVzIHNob3VsZAogICAg ICAjICAgbm90IGJlIGRpc3RyaWJ1dGVkIGVpdGhlci4gIFRoZXJlIGFyZSBhbHNvIGNhc2Vz IHdoZXJlIG9uZQogICAgICAjICAgd2FudHMgdG8gZGlzdHJpYnV0ZSAudGV4aSBmaWxlcywg YnV0IGRvZXMgbm90IHdhbnQgdG8KICAgICAgIyAgIGRpc3RyaWJ1dGUgdGhlIC5pbmZvIGZp bGVzLiAgRm9yIGluc3RhbmNlIHRoZSBUZXhpbmZvIHBhY2thZ2UKICAgICAgIyAgIGRpc3Ry aWJ1dGVzIHRoZSB0b29sIHVzZWQgdG8gYnVpbGQgdGhlc2UgZmlsZXM7IGl0IHdvdWxkCiAg ICAgICMgICBiZSBhIHdhc3RlIG9mIHNwYWNlIHRvIGRpc3RyaWJ1dGUgdGhlbS4gIEl0J3Mg bm90IGNsZWFyCiAgICAgICMgICB3aGljaCBzeW50YXggd2Ugc2hvdWxkIHVzZSB0byBpbmRp Y2F0ZSB0aGF0IC5pbmZvIGZpbGVzIHNob3VsZAogICAgICAjICAgbm90IGJlIGRpc3RyaWJ1 dGVkLiAgQWtpbSBEZW1haWxsZSBzdWdnZXN0ZWQgdGhhdCBldmVudHVhbGx5CiAgICAgICMg ICB3ZSBzd2l0Y2ggdG8gYSBuZXcgc3ludGF4OgogICAgICAjICAgfCAgTWF5YmUgd2Ugc2hv dWxkIHRha2Ugc29tZSBpbnNwaXJhdGlvbiBmcm9tIHdoYXQncyBhbHJlYWR5CiAgICAgICMg ICB8ICBkb25lIGluIHRoZSByZXN0IG9mIEF1dG9tYWtlLiAgTWF5YmUgdGhlcmUgaXMgdG9v IG11Y2gKICAgICAgIyAgIHwgIHN5bnRhY3RpYyBzdWdhciBoZXJlLCBhbmQgeW91IHdhbnQK ICAgICAgIyAgIHwgICAgIG5vZGlzdF9JTkZPID0gYmFyLmluZm8KICAgICAgIyAgIHwgICAg IGRpc3RfYmFyX2luZm9fU09VUkNFUyA9IGJhci50ZXhpCiAgICAgICMgICB8ICAgICBiYXJf dGV4aV9ERVBFTkRFTkNJRVMgPSBmb28udGV4aQogICAgICAjICAgfCAgd2l0aCBhIGJpdCBv ZiBtYWdpYyB0byBoYXZlIGJhci5pbmZvIHJlcHJlc2VudCB0aGUgd2hvbGUKICAgICAgIyAg IHwgIGJhcippbmZvIHNldC4gIFRoYXQncyBhIGxvdCBtb3JlIHZlcmJvc2UgdGhhdCB0aGUg Y3VycmVudAogICAgICAjICAgfCAgc2l0dWF0aW9uLCBidXQgaXQgaXMgIyBub3QgbmV3LCBo ZW5jZSB0aGUgdXNlciBoYXMgbGVzcwogICAgICAjICAgfCAgdG8gbGVhcm4uCiAgICAgICMJ ICB8CiAgICAgICMgICB8ICBCdXQgdGhlcmUgaXMgc3RpbGwgdG9vIG11Y2ggcm9vbSBmb3Ig bWVhbmluZ2xlc3Mgc3BlY3M6CiAgICAgICMgICB8ICAgICBub2Rpc3RfSU5GTyA9IGJhci5p bmZvCiAgICAgICMgICB8ICAgICBkaXN0X2Jhcl9pbmZvX1NPVVJDRVMgPSBiYXIudGV4aQog ICAgICAjICAgfCAgICAgZGlzdF9QUyA9IGJhci5wcyBzb21ldGhpbmctd3JpdHRlbi1ieS1o YW5kLnBzCiAgICAgICMgICB8ICAgICBub2Rpc3RfYmFyX3BzX1NPVVJDRVMgPSBiYXIudGV4 aQogICAgICAjICAgfCAgICAgYmFyX3RleGlfREVQRU5ERU5DSUVTID0gZm9vLnRleGkKICAg ICAgIyAgIHwgIGhlcmUgYmFyLnRleGkgaXMgZGlzdF8gaW4gbGluZSAyLCBhbmQgbm9kaXN0 XyBpbiA0LgogICAgICAjCiAgICAgICMgQmFjayB0byB0aGUgcG9pbnQsIGl0IHNob3VsZCBi ZSBjbGVhciB0aGF0IGluIG9yZGVyIHRvIHN1cHBvcnQKICAgICAgIyBub24tZGlzdHJpYnV0 ZWQgLmluZm8gZmlsZXMsIHdlIG5lZWQgdG8gYnVpbGQgdGhlbSBpbiB0aGUKICAgICAgIyBi dWlsZCB0cmVlLCBub3QgaW4gdGhlIHNvdXJjZSB0cmVlIChub24tZGlzdHJpYnV0ZWQgLnRl eGkKICAgICAgIyBmaWxlcyBhcmUgbGVzcyBvZiBhIHByb2JsZW0sIGJlY2F1c2Ugd2UgZG8g bm90IG91dHB1dCBidWlsZAogICAgICAjIHJ1bGVzIGZvciB0aGVtKS4gIEluIEF1dG9tYWtl IDEuNyAuaW5mbyBidWlsZCBydWxlcyBoYXZlIGJlZW4KICAgICAgIyBsYXJnZWx5IGNsZWFu ZWQgdXAgc28gdGhhdCAuaW5mbyBmaWxlcyBnZXQgYWx3YXlzIGJ1aWxkIGluIHRoZQogICAg ICAjIGJ1aWxkIHRyZWUsIGV2ZW4gd2hlbiBkaXN0cmlidXRlZC4gIFRoZSBpZGVhIHdhcyB0 aGF0CiAgICAgICMgICAoMSkgaWYgZHVyaW5nIGEgVlBBVEggYnVpbGQgdGhlIC5pbmZvIGZp bGUgd2FzIGZvdW5kIHRvIGJlCiAgICAgICMgICAgICAgYWJzZW50IG9yIG91dC1vZi1kYXRl IChpbiB0aGUgc291cmNlIHRyZWUgb3IgaW4gdGhlCiAgICAgICMgICAgICAgYnVpbGQgdHJl ZSksIE1ha2Ugd291bGQgcmVidWlsZCBpdCBpbiB0aGUgYnVpbGQgdHJlZS4KICAgICAgIyAg ICAgICBJZiBhbiB1cC10by1kYXRlIHNvdXJjZS10cmVlIG9mIHRoZSAuaW5mbyBmaWxlIGV4 aXN0ZWQsCiAgICAgICMgICAgICAgbWFrZSB3b3VsZCBub3QgcmVidWlsZCBpdCBpbiB0aGUg YnVpbGQgdHJlZS4KICAgICAgIyAgICgyKSBoYXZpbmcgdHdvIGNvcGllcyBvZiAuaW5mbyBm aWxlcywgb25lIGluIHRoZSBzb3VyY2UgdHJlZQogICAgICAjICAgICAgIGFuZCBvbmUgKG5l d2VyKSBpbiB0aGUgYnVpbGQgdHJlZSBpcyBub3QgYSBwcm9ibGVtCiAgICAgICMgICAgICAg YmVjYXVzZSAnbWFrZSBkaXN0JyBhbHdheXMgcGljayBmaWxlcyBpbiB0aGUgYnVpbGQgdHJl ZQogICAgICAjICAgICAgIGZpcnN0LgogICAgICAjIEhvd2V2ZXIgaXQgdHVybmVkIG91dCB0 aGUgYmUgYSBiYWQgaWRlYSBmb3Igc2V2ZXJhbCByZWFzb25zOgogICAgICAjICAgKiBUcnU2 NCwgT3BlbkJTRCwgYW5kIEZyZWVCU0QgKG5vdCBOZXRCU0QpIE1ha2UgZG8gbm90IGJlaGF2 ZQogICAgICAjICAgICBsaWtlIEdOVSBNYWtlIG9uIHBvaW50ICgxKSBhYm92ZS4gIFRoZXNl IGltcGxlbWVudGF0aW9ucwogICAgICAjICAgICBvZiBNYWtlIHdvdWxkIGFsd2F5cyByZWJ1 aWxkIC5pbmZvIGZpbGVzIGluIHRoZSBidWlsZAogICAgICAjICAgICB0cmVlLCBldmVuIGlm IHN1Y2ggZmlsZXMgd2VyZSB1cCB0byBkYXRlIGluIHRoZSBzb3VyY2UKICAgICAgIyAgICAg dHJlZS4gIENvbnNlcXVlbnRseSwgaXQgd2FzIGltcG9zc2libGUgdG8gcGVyZm9ybSBhIFZQ QVRICiAgICAgICMgICAgIGJ1aWxkIG9mIGEgcGFja2FnZSBjb250YWluaW5nIFRleGluZm8g ZmlsZXMgdXNpbmcgdGhlc2UKICAgICAgIyAgICAgTWFrZSBpbXBsZW1lbnRhdGlvbnMuCiAg ICAgICMgICAgIChSZWZlciB0byB0aGUgQXV0b2NvbmYgTWFudWFsLCBzZWN0aW9uICJMaW1p dGF0aW9uIG9mCiAgICAgICMgICAgIE1ha2UiLCBwYXJhZ3JhcGggIlZQQVRIIiwgaXRlbSAi dGFyZ2V0IGxvb2t1cCIsIGZvcgogICAgICAjICAgICBhbiBhY2NvdW50IG9mIHRoZSBkaWZm ZXJlbmNlcyBiZXR3ZWVuIHRoZXNlCiAgICAgICMgICAgIGltcGxlbWVudGF0aW9ucy4pCiAg ICAgICMgICAqIFRoZSBHTlUgQ29kaW5nIFN0YW5kYXJkcyByZXF1aXJlIHRoZXNlIGZpbGVz IHRvIGJlIGJ1aWx0CiAgICAgICMgICAgIGluIHRoZSBzb3VyY2UtdHJlZSAod2hlbiB0aGV5 IGFyZSBkaXN0cmlidXRlZCwgdGhhdCBpcykuCiAgICAgICMgICAqIEtlZXBpbmcgYSBmcmVz aGVyIGNvcHkgb2YgZGlzdHJpYnV0ZWQgZmlsZXMgaW4gdGhlCiAgICAgICMgICAgIGJ1aWxk IHRyZWUgY2FuIGJlIGFubm95aW5nIGR1cmluZyBkZXZlbG9wbWVudCBiZWNhdXNlCiAgICAg ICMgICAgIC0gaWYgdGhlIGZpbGVzIGlzIGtlcHQgdW5kZXIgQ1ZTLCB5b3UgcmVhbGx5IHdh bnQgaXQKICAgICAgIyAgICAgICB0byBiZSB1cGRhdGVkIGluIHRoZSBzb3VyY2UgdHJlZQog ICAgICAjICAgICAtIGl0IGlzIGNvbmZ1c2luZyB0aGF0ICdtYWtlIGRpc3RjbGVhbicgZG9l cyBub3QgZXJhc2UKICAgICAgIyAgICAgICBhbGwgZmlsZXMgaW4gdGhlIGJ1aWxkIHRyZWUu CiAgICAgICMKICAgICAgIyBDb25zZXF1ZW50bHksIHN0YXJ0aW5nIHdpdGggQXV0b21ha2Ug MS44LCAuaW5mbyBmaWxlcyBhcmUKICAgICAgIyBidWlsdCBpbiB0aGUgc291cmNlIHRyZWUg YWdhaW4uICBCZWNhdXNlIHdlIHN0aWxsIHBsYW4gdG8KICAgICAgIyBzdXBwb3J0IG5vbi1k aXN0cmlidXRlZCAuaW5mbyBmaWxlcyBhdCBzb21lIHBvaW50LCB3ZQogICAgICAjIGhhdmUg YSBzaW5nbGUgdmFyaWFibGUgKCRJTlNSQykgdGhhdCBjb250cm9scyB3aGV0aGVyCiAgICAg ICMgdGhlIGN1cnJlbnQgLmluZm8gZmlsZSBtdXN0IGJlIGJ1aWx0IGluIHRoZSBzb3VyY2Ug dHJlZQogICAgICAjIG9yIGluIHRoZSBidWlsZCB0cmVlLiAgQWN0dWFsbHkgdGhpcyB2YXJp YWJsZSBpcyBzd2l0Y2hlZAogICAgICAjIG9mZiBpbiB0d28gY2FzZXM6CiAgICAgICMgICgx KSBGb3IgJy5pbmZvJyBmaWxlcyB0aGF0IGFwcGVhciB0byBiZSBjbGVhbmVkOyB0aGlzIGlz IGZvcgogICAgICAjICAgICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHBhY2thZ2Ug c3VjaCBhcyBUZXhpbmZvLAogICAgICAjICAgICAgd2hpY2ggZG8gdGhpbmdzIGxpa2UKICAg ICAgIyAgICAgICAgaW5mb19URVhJTkZPUyA9IHRleGluZm8udHhpIGluZm8tc3RuZC50ZXhp IGluZm8udGV4aQogICAgICAjICAgICAgICBESVNUQ0xFQU5GSUxFUyA9IHRleGluZm8gdGV4 aW5mby0qIGluZm8qLmluZm8qCiAgICAgICMgICAgICAgICMgRG8gbm90IGNyZWF0ZSBpbmZv IGZpbGVzIGZvciBkaXN0cmlidXRpb24uCiAgICAgICMgICAgICAgIGRpc3QtaW5mbzoKICAg ICAgIyAgICAgIGluIG9yZGVyIG5vdCB0byBkaXN0cmlidXRlIC5pbmZvIGZpbGVzLgogICAg ICAjICAoMikgV2hlbiB0aGUgdW5kb2N1bWVudGVkIG9wdGlvbiAnaW5mby1pbi1idWlsZGRp cicgaXMgZ2l2ZW4uCiAgICAgICMgICAgICBUaGlzIGlzIGRvbmUgdG8gYWxsb3cgdGhlIGRl dmVsb3BlcnMgb2YgR0NDLCBHREIsIEdOVQogICAgICAjICAgICAgYmludXRpbHMgYW5kIHRo ZSBHTlUgYmZkIGxpYnJhcnkgdG8gZm9yY2UgdGhlICcuaW5mbycgZmlsZXMKICAgICAgIyAg ICAgIHRvIGJlIGdlbmVyYXRlZCBpbiB0aGUgYnVpbGRkaXIgcmF0aGVyIHRoYW4gdGhlIHNy Y2RpciwgYXMKICAgICAgIyAgICAgIHdhcyBvbmNlIGRvbmUgd2hlbiB0aGUgKG5vdyByZW1v dmVkKSAnY3lnbnVzJyBvcHRpb24gd2FzCiAgICAgICMgICAgICBnaXZlbi4gIFNlZSBhdXRv bWFrZSBidWcjMTEwMzQgZm9yIG1vcmUgZGlzY3Vzc2lvbi4KICAgICAgbXkgJGluc3JjID0g MTsKICAgICAgbXkgJHNvdXRkaXIgPSAnJChzcmNkaXIpLycgLiAkb3V0ZGlyOwoKICAgICAg aWYgKG9wdGlvbiAnaW5mby1pbi1idWlsZGRpcicpCiAgICAgICAgewogICAgICAgICAgJGlu c3JjID0gMDsKICAgICAgICB9CiAgICAgIGVsc2lmICgkb3V0X2ZpbGUgPX4gJHVzZXJfY2xl YW5lZF9maWxlcykKICAgICAgICB7CiAgICAgICAgICAkaW5zcmMgPSAwOwogICAgICAgICAg bXNnICdvYnNvbGV0ZScsICIkYW1fZmlsZS5hbSIsIDw8RU9GOwpPb3BzIQogICAgSXQgYXBw ZWFycyB0aGlzIGZpbGUgKG9yIGZpbGVzIGluY2x1ZGVkIGJ5IGl0KSBhcmUgdHJpZ2dlcmlu ZwogICAgYW4gdW5kb2N1bWVudGVkLCBzb29uLXRvLWJlLXJlbW92ZWQgYXV0b21ha2UgaGFj ay4KICAgIEZ1dHVyZSBhdXRvbWFrZSB2ZXJzaW9ucyB3aWxsIG5vIGxvbmdlciBwbGFjZSBp biB0aGUgYnVpbGRkaXIKICAgIChyYXRoZXIgdGhhbiBpbiB0aGUgc3JjZGlyKSB0aGUgZ2Vu ZXJhdGVkICcuaW5mbycgZmlsZXMgdGhhdAogICAgYXBwZWFyIHRvIGJlIGNsZWFuZWQsIGJ5 IGUuZy4gYmVpbmcgbGlzdGVkIGluIENMRUFORklMRVMgb3IKICAgIERJU1RDTEVBTkZJTEVT LgogICAgSWYgeW91IHdhbnQgeW91ciAnLmluZm8nIGZpbGVzIHRvIGJlIHBsYWNlZCBpbiB0 aGUgYnVpbGRkaXIKICAgIHJhdGhlciB0aGFuIGluIHRoZSBzcmNkaXIsIHlvdSBoYXZlIHRv IHVzZSB0aGUgc2hpbnkgbmV3CiAgICAnaW5mby1pbi1idWlsZGRpcicgYXV0b21ha2Ugb3B0 aW9uLgpFT0YKICAgICAgICB9CgogICAgICAkb3V0ZGlyID0gJHNvdXRkaXIgaWYgJGluc3Jj OwoKICAgICAgIyBJZiB1c2VyIHNwZWNpZmllZCBmaWxlX1RFWElORk9TLCB0aGVuIHVzZSB0 aGF0IGFzIGV4cGxpY2l0CiAgICAgICMgZGVwZW5kZW5jeSBsaXN0LgogICAgICBAdGV4aV9k ZXBzID0gKCk7CiAgICAgIHB1c2ggKEB0ZXhpX2RlcHMsICIke3NvdXRkaXJ9JHt2dGV4aX0i KSBpZiAkdnRleGk7CgogICAgICBteSAkY2Fub25pY2FsID0gY2Fub25pY2FsaXplICgkaW5m b2Jhc2UpOwogICAgICBpZiAodmFyICgkY2Fub25pY2FsIC4gIl9URVhJTkZPUyIpKQoJewoJ ICBwdXNoIChAdGV4aV9kZXBzLCAnJCgnIC4gJGNhbm9uaWNhbCAuICdfVEVYSU5GT1MpJyk7 CgkgIHB1c2hfZGlzdF9jb21tb24gKCckKCcgLiAkY2Fub25pY2FsIC4gJ19URVhJTkZPUykn KTsKCX0KCiAgICAgIG15ICgkZGlyc3RhbXAsIEBjZmlsZXMpID0KCW91dHB1dF90ZXhpbmZv X2J1aWxkX3J1bGVzICgkdGV4aSwgJG91dF9maWxlLCAkaW5zcmMsIEB0ZXhpX2RlcHMpOwog ICAgICBwdXNoIChAdGV4aV9jbGVhbnMsIEBjZmlsZXMpOwoKICAgICAgcHVzaCAoQGluZm9f ZGVwc19saXN0LCAkb3V0X2ZpbGUpOwoKICAgICAgIyBJZiBhIHZlcnMqLnRleGkgZmlsZSBp cyBuZWVkZWQsIGVtaXQgdGhlIHJ1bGUuCiAgICAgIGlmICgkdnRleGkpCgl7CgkgIGVycl9h bSAoIickdnRleGknLCBpbmNsdWRlZCBpbiAnJHRleGknLCAiCgkJICAuICJhbHNvIGluY2x1 ZGVkIGluICckdmVyc2lvbnN7JHZ0ZXhpfSciKQoJICAgIGlmIGRlZmluZWQgJHZlcnNpb25z eyR2dGV4aX07CgkgICR2ZXJzaW9uc3skdnRleGl9ID0gJHRleGk7CgoJICAjIFdlIG51bWJl ciB0aGUgc3RhbXAtdnRpIGZpbGVzLiAgVGhpcyBpcyBkb2FibGUgc2luY2UgdGhlCgkgICMg YWN0dWFsIG5hbWVzIGRvbid0IG1hdHRlciBtdWNoLiAgV2Ugb25seSBudW1iZXIgc3RhcnRp bmcKCSAgIyB3aXRoIHRoZSBzZWNvbmQgb25lLCBzbyB0aGF0IHRoZSBjb21tb24gY2FzZSBs b29rcyBuaWNlLgoJICBteSAkdnRpID0gKCRkb25lID8gJGRvbmUgOiAndnRpJyk7CgkgICsr JGRvbmU7CgoJICAjIFRoaXMgaXMgdWdseSwgYnV0IGl0IGlzIG91ciBoaXN0b3JpY2FsIHBy YWN0aWNlLgoJICBpZiAoJGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMpCgkg ICAgewoJICAgICAgcmVxdWlyZV9jb25mX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2luZm9f VEVYSU5GT1MnLCBGT1JFSUdOLAoJCQkJCSAgICAnbWRhdGUtc2gnKTsKCSAgICB9CgkgIGVs c2UKCSAgICB7CgkgICAgICByZXF1aXJlX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2luZm9f VEVYSU5GT1MnLAoJCQkJICAgICAgIEZPUkVJR04sICdtZGF0ZS1zaCcpOwoJICAgIH0KCgkg IG15ICRjb25mX2RpcjsKCSAgaWYgKCRjb25maWdfYXV4X2Rpcl9zZXRfaW5fY29uZmlndXJl X2FjKQoJICAgIHsKCSAgICAgICRjb25mX2RpciA9ICIkYW1fY29uZmlnX2F1eF9kaXIvIjsK CSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkY29uZl9kaXIgPSAnJChzcmNkaXIpLyc7 CgkgICAgfQoJICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCd0ZXhpLXZlcnMn LAoJCQkJCSAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCQkgIFRFWEkgICAgID0+ICR0 ZXhpLAoJCQkJCSAgVlRJICAgICAgPT4gJHZ0aSwKCQkJCQkgIFNUQU1QVlRJID0+ICIke3Nv dXRkaXJ9c3RhbXAtJHZ0aSIsCgkJCQkJICBWVEVYSSAgICA9PiAiJHNvdXRkaXIkdnRleGki LAoJCQkJCSAgTURESVIgICAgPT4gJGNvbmZfZGlyLAoJCQkJCSAgRElSU1RBTVAgPT4gJGRp cnN0YW1wKTsKCX0KICAgIH0KCiAgIyBIYW5kbGUgbG9jYXRpb24gb2YgdGV4aW5mby50ZXgu CiAgbXkgJG5lZWRfdGV4aV9maWxlID0gMDsKICBteSAkdGV4aW5mb2RpcjsKICBpZiAodmFy ICgnVEVYSU5GT19URVgnKSkKICAgIHsKICAgICAgIyBUaGUgdXNlciBkZWZpbmVkIFRFWElO Rk9fVEVYIHNvIGFzc3VtZSBoZSBrbm93cyB3aGF0IGhlIGlzCiAgICAgICMgZG9pbmcuCiAg ICAgICR0ZXhpbmZvZGlyID0gKCckKHNyY2RpcikvJwoJCSAgICAgLiBkaXJuYW1lICh2YXJp YWJsZV92YWx1ZSAoJ1RFWElORk9fVEVYJykpKTsKICAgIH0KICBlbHNpZiAoJGNvbmZpZ19h dXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMpCiAgICB7CiAgICAgICR0ZXhpbmZvZGlyID0g JGFtX2NvbmZpZ19hdXhfZGlyOwogICAgICBkZWZpbmVfdmFyaWFibGUgKCdURVhJTkZPX1RF WCcsICIkdGV4aW5mb2Rpci90ZXhpbmZvLnRleCIsIElOVEVSTkFMKTsKICAgICAgJG5lZWRf dGV4aV9maWxlID0gMjsgIyBzbyB0aGF0IHdlIHJlcXVpcmVfY29uZl9maWxlIGxhdGVyCiAg ICB9CiAgZWxzZQogICAgewogICAgICAkdGV4aW5mb2RpciA9ICckKHNyY2RpciknOwogICAg ICAkbmVlZF90ZXhpX2ZpbGUgPSAxOwogICAgfQogIGRlZmluZV92YXJpYWJsZSAoJ2FtX19U RVhJTkZPX1RFWF9ESVInLCAkdGV4aW5mb2RpciwgSU5URVJOQUwpOwoKICBwdXNoIChAZGlz dF90YXJnZXRzLCAnZGlzdC1pbmZvJyk7CgogIGlmICghIG9wdGlvbiAnbm8taW5zdGFsbGlu Zm8nKQogICAgewogICAgICAjIE1ha2Ugc3VyZSBkb2N1bWVudGF0aW9uIGlzIG1hZGUgYW5k IGluc3RhbGxlZCBmaXJzdC4gIFVzZQogICAgICAjICQoSU5GT19ERVBTKSwgbm90ICdpbmZv JywgYmVjYXVzZSBvdGhlcndpc2UgcmVjdXJzaXZlIG1ha2VzCiAgICAgICMgZ2V0IHJ1biB0 d2ljZSBkdXJpbmcgIm1ha2UgYWxsIi4KICAgICAgdW5zaGlmdCAoQGFsbCwgJyQoSU5GT19E RVBTKScpOwogICAgfQoKICBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCJEVklTIiwgQGluZm9i YXNlLCAnZHZpJywgSU5URVJOQUwpOwogIGRlZmluZV9maWxlc192YXJpYWJsZSAoIlBERlMi LCBAaW5mb2Jhc2UsICdwZGYnLCBJTlRFUk5BTCk7CiAgZGVmaW5lX2ZpbGVzX3ZhcmlhYmxl ICgiUFNTIiwgQGluZm9iYXNlLCAncHMnLCBJTlRFUk5BTCk7CiAgZGVmaW5lX2ZpbGVzX3Zh cmlhYmxlICgiSFRNTFMiLCBAaW5mb2Jhc2UsICdodG1sJywgSU5URVJOQUwpOwoKICAjIFRo aXMgbmV4dCBpc24ndCBzdHJpY3RseSBuZWVkZWQgbm93IC0tIHRoZSBwbGFjZXMgdGhhdCBs b29rIGhlcmUKICAjIGNvdWxkIGVhc2lseSBiZSBjaGFuZ2VkIHRvIGxvb2sgaW4gaW5mb19U RVhJTkZPUy4gIEJ1dCB0aGlzIGlzCiAgIyBwcm9iYWJseSBiZXR0ZXIsIGluIGNhc2Ugbm9p bnN0X1RFWElORk9TIGlzIGV2ZXIgc3VwcG9ydGVkLgogIGRlZmluZV92YXJpYWJsZSAoIlRF WElORk9TIiwgdmFyaWFibGVfdmFsdWUgKCdpbmZvX1RFWElORk9TJyksIElOVEVSTkFMKTsK CiAgIyBEbyBzb21lIGVycm9yIGNoZWNraW5nLiAgTm90ZSB0aGF0IHRoaXMgZmlsZSBpcyBu b3QgcmVxdWlyZWQKICAjIHdoZW4gaW4gQ3lnbnVzIG1vZGU7IGluc3RlYWQgd2UgZGVmaW5l ZCBURVhJTkZPX1RFWCBleHBsaWNpdGx5CiAgIyB1cCBhYm92ZS4KICBpZiAoJG5lZWRfdGV4 aV9maWxlICYmICEgb3B0aW9uICduby10ZXhpbmZvLnRleCcpCiAgICB7CiAgICAgIGlmICgk bmVlZF90ZXhpX2ZpbGUgPiAxKQoJewoJICByZXF1aXJlX2NvbmZfZmlsZV93aXRoX21hY3Jv IChUUlVFLCAnaW5mb19URVhJTkZPUycsIEZPUkVJR04sCgkJCQkJJ3RleGluZm8udGV4Jyk7 Cgl9CiAgICAgIGVsc2UKCXsKCSAgcmVxdWlyZV9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdp bmZvX1RFWElORk9TJywgRk9SRUlHTiwKCQkJCSAgICd0ZXhpbmZvLnRleCcpOwoJfQogICAg fQoKICByZXR1cm4gKG1ha2VmaWxlX3dyYXAgKCIiLCAiXHQgICIsIEBtb3N0bHlfY2xlYW5z KSwKCSAgbWFrZWZpbGVfd3JhcCAoIiIsICJcdCAgIiwgQHRleGlfY2xlYW5zKSwKCSAgbWFr ZWZpbGVfd3JhcCAoIiIsICJcdCAgIiwgQG1haW50X2NsZWFucykpOwp9CgoKc3ViIGhhbmRs ZV90ZXhpbmZvICgpCnsKICByZWplY3RfdmFyICdURVhJTkZPUycsICInVEVYSU5GT1MnIGlz IGFuIGFuYWNocm9uaXNtOyB1c2UgJ2luZm9fVEVYSU5GT1MnIjsKICAjIEZJWE1FOiBJIHRo aW5rIHRoaXMgaXMgYW4gb2Jzb2xldGUgZnV0dXJlIGZlYXR1cmUgbmFtZS4KICByZWplY3Rf dmFyICdodG1sX1RFWElORk9TJywgIkhUTUwgZ2VuZXJhdGlvbiBub3QgeWV0IHN1cHBvcnRl ZCI7CgogIG15ICRpbmZvX3RleGluZm9zID0gdmFyICgnaW5mb19URVhJTkZPUycpOwogIG15 ICgkbW9zdGx5Y2xlYW4sICRjbGVhbiwgJG1haW50Y2xlYW4pID0gKCcnLCAnJywgJycpOwog IGlmICgkaW5mb190ZXhpbmZvcykKICAgIHsKICAgICAgZGVmaW5lX3ZlcmJvc2VfdGV4aW5m bzsKICAgICAgKCRtb3N0bHljbGVhbiwgJGNsZWFuLCAkbWFpbnRjbGVhbikgPSBoYW5kbGVf dGV4aW5mb19oZWxwZXIgKCRpbmZvX3RleGluZm9zKTsKICAgICAgY2hvbXAgJG1vc3RseWNs ZWFuOwogICAgICBjaG9tcCAkY2xlYW47CiAgICAgIGNob21wICRtYWludGNsZWFuOwogICAg fQoKICAkb3V0cHV0X3J1bGVzIC49ICBmaWxlX2NvbnRlbnRzICgndGV4aW5mb3MnLAoJCQkJ ICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBTV9WX0RWSVBTICAgID0+IHZlcmJvc2VfZmxhZygnRFZJUFMnKSwKCQkJCSAg IE1PU1RMWUNMRUFOICAgPT4gJG1vc3RseWNsZWFuLAoJCQkJICAgVEVYSUNMRUFOICAgICA9 PiAkY2xlYW4sCgkJCQkgICBNQUlOVENMRUFOICAgID0+ICRtYWludGNsZWFuLAoJCQkJICAg J0xPQ0FMLVRFWElTJyA9PiAhISRpbmZvX3RleGluZm9zLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRFWElRVUlFVCAgICAgPT4gdmVyYm9zZV9mbGFnKCd0ZXhpbmZv JykpOwp9CgoKc3ViIGhhbmRsZV9tYW5fcGFnZXMgKCkKewogIHJlamVjdF92YXIgJ01BTlMn LCAiJ01BTlMnIGlzIGFuIGFuYWNocm9uaXNtOyB1c2UgJ21hbl9NQU5TJyI7CgogICMgRmlu ZCBhbGwgdGhlIHNlY3Rpb25zIGluIHVzZS4gIFdlIGRvIHRoaXMgYnkgZmlyc3QgbG9va2lu ZyBmb3IKICAjICJzdGFuZGFyZCIgc2VjdGlvbnMsIGFuZCB0aGVuIGxvb2tpbmcgZm9yIGFu eSBhZGRpdGlvbmFsCiAgIyBzZWN0aW9ucyB1c2VkIGluIG1hbl9NQU5TLgogIG15ICglc2Vj dGlvbnMsICVub3RyYW5zX3NlY3Rpb25zLCAldHJhbnNfc2VjdGlvbnMsCiAgICAgICVub3Ry YW5zX3ZhcnMsICV0cmFuc192YXJzLCAlbm90cmFuc19zZWN0X3ZhcnMsICV0cmFuc19zZWN0 X3ZhcnMpOwogICMgV2UgaGFuZGxlIG5vZGlzdF8gZm9yIHVuaWZvcm1pdHkuICBtYW4gcGFn ZXMgYXJlbid0IGRpc3RyaWJ1dGVkCiAgIyBieSBkZWZhdWx0IHNvIGl0IGlzbid0IGFjdHVh bGx5IHZlcnkgaW1wb3J0YW50LgogIGZvcmVhY2ggbXkgJG5wZnggKCcnLCAnbm90cmFuc18n KQogICAgewogICAgICBmb3JlYWNoIG15ICRwZnggKCcnLCAnZGlzdF8nLCAnbm9kaXN0Xycp Cgl7CgkgICMgQWRkIG1vcmUgc2VjdGlvbnMgYXMgbmVlZGVkLgoJICBmb3JlYWNoIG15ICRz ZWN0aW9uICgnMCcuLic5JywgJ24nLCAnbCcpCgkgICAgewoJICAgICAgbXkgJHZhcm5hbWUg PSAkbnBmeCAuICRwZnggLiAnbWFuJyAuICRzZWN0aW9uIC4gJ19NQU5TJzsKCSAgICAgIGlm ICh2YXIgKCR2YXJuYW1lKSkKCQl7CgkJICAkc2VjdGlvbnN7JHNlY3Rpb259ID0gMTsKCQkg ICR2YXJuYW1lID0gJyQoJyAuICR2YXJuYW1lIC4gJyknOwoJCSAgaWYgKCRucGZ4IGVxICdu b3RyYW5zXycpCgkJICAgIHsKCQkgICAgICAkbm90cmFuc19zZWN0aW9uc3skc2VjdGlvbn0g PSAxOwoJCSAgICAgICRub3RyYW5zX3NlY3RfdmFyc3skdmFybmFtZX0gPSAxOwoJCSAgICB9 CgkJICBlbHNlCgkJICAgIHsKCQkgICAgICAkdHJhbnNfc2VjdGlvbnN7JHNlY3Rpb259ID0g MTsKCQkgICAgICAkdHJhbnNfc2VjdF92YXJzeyR2YXJuYW1lfSA9IDE7CgkJICAgIH0KCgkJ ICBwdXNoX2Rpc3RfY29tbW9uICgkdmFybmFtZSkKCQkgICAgaWYgJHBmeCBlcSAnZGlzdF8n OwoJCX0KCSAgICB9CgoJICBteSAkdmFybmFtZSA9ICRucGZ4IC4gJHBmeCAuICdtYW5fTUFO Uyc7CgkgIG15ICR2YXIgPSB2YXIgKCR2YXJuYW1lKTsKCSAgaWYgKCR2YXIpCgkgICAgewoJ ICAgICAgZm9yZWFjaCAoJHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpCgkJewoJCSAg IyBBIHBhZ2UgbGlrZSAnZm9vLjFjJyBnb2VzIGludG8gbWFuMWRpci4KCQkgIGlmICgvXC4o WzAtOWEtel0pKFthLXpdKikkLykKCQkgICAgewoJCSAgICAgICRzZWN0aW9uc3skMX0gPSAx OwoJCSAgICAgIGlmICgkbnBmeCBlcSAnbm90cmFuc18nKQoJCQl7CgkJCSAgJG5vdHJhbnNf c2VjdGlvbnN7JDF9ID0gMTsKCQkJfQoJCSAgICAgIGVsc2UKCQkJewoJCQkgICR0cmFuc19z ZWN0aW9uc3skMX0gPSAxOwoJCQl9CgkJICAgIH0KCQl9CgoJICAgICAgJHZhcm5hbWUgPSAn JCgnIC4gJHZhcm5hbWUgLiAnKSc7CgkgICAgICBpZiAoJG5wZnggZXEgJ25vdHJhbnNfJykK CQl7CgkJICAkbm90cmFuc192YXJzeyR2YXJuYW1lfSA9IDE7CgkJfQoJICAgICAgZWxzZQoJ CXsKCQkgICR0cmFuc192YXJzeyR2YXJuYW1lfSA9IDE7CgkJfQoJICAgICAgcHVzaF9kaXN0 X2NvbW1vbiAoJHZhcm5hbWUpCgkJaWYgJHBmeCBlcSAnZGlzdF8nOwoJICAgIH0KCX0KICAg IH0KCiAgcmV0dXJuIHVubGVzcyAlc2VjdGlvbnM7CgogIG15IEB1bnNvcnRlZF9kZXBzOwoK ICAjIEJ1aWxkIHNlY3Rpb24gaW5kZXBlbmRlbnQgdmFyaWFibGVzLgogIG15ICRoYXZlX25v dHJhbnMgPSAlbm90cmFuc192YXJzOwogIG15IEBub3RyYW5zX2xpc3QgPSBzb3J0IGtleXMg JW5vdHJhbnNfdmFyczsKICBteSAkaGF2ZV90cmFucyA9ICV0cmFuc192YXJzOwogIG15IEB0 cmFuc19saXN0ID0gc29ydCBrZXlzICV0cmFuc192YXJzOwoKICAjIE5vdyBmb3IgZWFjaCBz ZWN0aW9uLCBnZW5lcmF0ZSBhbiBpbnN0YWxsIGFuZCB1bmluc3RhbGwgcnVsZS4KICAjIFNv cnQgc2VjdGlvbnMgc28gb3V0cHV0IGlzIGRldGVybWluaXN0aWMuCiAgZm9yZWFjaCBteSAk c2VjdGlvbiAoc29ydCBrZXlzICVzZWN0aW9ucykKICAgIHsKICAgICAgIyBCdWlsZCBzZWN0 aW9uIGRlcGVuZGVudCB2YXJpYWJsZXMuCiAgICAgIG15ICRub3RyYW5zX21hbnMgPSAkaGF2 ZV9ub3RyYW5zIHx8IGV4aXN0cyAkbm90cmFuc19zZWN0aW9uc3skc2VjdGlvbn07CiAgICAg IG15ICR0cmFuc19tYW5zID0gJGhhdmVfdHJhbnMgfHwgZXhpc3RzICR0cmFuc19zZWN0aW9u c3skc2VjdGlvbn07CiAgICAgIG15ICglbm90cmFuc190aGlzX3NlY3QsICV0cmFuc190aGlz X3NlY3QpOwogICAgICBteSAkZXhwciA9ICdtYW4nIC4gJHNlY3Rpb24gLiAnX01BTlMnOwog ICAgICBmb3JlYWNoIG15ICR2YXJuYW1lIChrZXlzICVub3RyYW5zX3NlY3RfdmFycykKCXsK CSAgaWYgKCR2YXJuYW1lID1+IC8kZXhwci8pCgkgICAgewoJICAgICAgJG5vdHJhbnNfdGhp c19zZWN0eyR2YXJuYW1lfSA9IDE7CgkgICAgfQoJfQogICAgICBmb3JlYWNoIG15ICR2YXJu YW1lIChrZXlzICV0cmFuc19zZWN0X3ZhcnMpCgl7CgkgIGlmICgkdmFybmFtZSA9fiAvJGV4 cHIvKQoJICAgIHsKCSAgICAgICR0cmFuc190aGlzX3NlY3R7JHZhcm5hbWV9ID0gMTsKCSAg ICB9Cgl9CiAgICAgIG15IEBub3RyYW5zX3NlY3RfbGlzdCA9IHNvcnQga2V5cyAlbm90cmFu c190aGlzX3NlY3Q7CiAgICAgIG15IEB0cmFuc19zZWN0X2xpc3QgPSBzb3J0IGtleXMgJXRy YW5zX3RoaXNfc2VjdDsKICAgICAgQHVuc29ydGVkX2RlcHMgPSAoa2V5cyAlbm90cmFuc192 YXJzLCBrZXlzICV0cmFuc192YXJzLAogICAgICAgICAgICAgICAgICAgICAgICBrZXlzICVu b3RyYW5zX3RoaXNfc2VjdCwga2V5cyAldHJhbnNfdGhpc19zZWN0KTsKICAgICAgbXkgQGRl cHMgPSBzb3J0IEB1bnNvcnRlZF9kZXBzOwogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVf Y29udGVudHMgKCdtYW5zJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNFQ1RJT04gICAgICAgICAgID0+ICRzZWN0aW9uLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERFUFMgICAgICAgICAgICAgID0+ICJAZGVwcyIs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9UUkFOU19NQU5TICAg ICAgPT4gJG5vdHJhbnNfbWFucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOT1RSQU5TX1NFQ1RfTElTVCA9PiAiQG5vdHJhbnNfc2VjdF9saXN0IiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQVZFX05PVFJBTlMgICAgICA9PiAk aGF2ZV9ub3RyYW5zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5P VFJBTlNfTElTVCAgICAgID0+ICJAbm90cmFuc19saXN0IiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUUkFOU19NQU5TICAgICAgICA9PiAkdHJhbnNfbWFucywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFOU19TRUNUX0xJU1Qg ICA9PiAiQHRyYW5zX3NlY3RfbGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSEFWRV9UUkFOUyAgICAgICAgPT4gJGhhdmVfdHJhbnMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBTlNfTElTVCAgICAgICAgPT4gIkB0cmFu c19saXN0Iik7CiAgICB9CgogIEB1bnNvcnRlZF9kZXBzICA9IChrZXlzICVub3RyYW5zX3Zh cnMsIGtleXMgJXRyYW5zX3ZhcnMsCiAgICAgICAgICAgICAgICAgICAgIGtleXMgJW5vdHJh bnNfc2VjdF92YXJzLCBrZXlzICV0cmFuc19zZWN0X3ZhcnMpOwogIG15IEBtYW5zID0gc29y dCBAdW5zb3J0ZWRfZGVwczsKICAkb3V0cHV0X3ZhcnMgLj0gZmlsZV9jb250ZW50cyAoJ21h bnMtdmFycycsCgkJCQkgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCSBNQU5TID0+ICJA bWFucyIpOwoKICBwdXNoIChAYWxsLCAnJChNQU5TKScpCiAgICB1bmxlc3Mgb3B0aW9uICdu by1pbnN0YWxsbWFuJzsKfQoKCnN1YiBoYW5kbGVfZGF0YSAoKQp7CiAgICBhbV9pbnN0YWxs X3ZhciAoJy1ub2V4dHJhJywgJy1jYW5kaXN0JywgJ2RhdGEnLCAnREFUQScsCiAgICAgICAg ICAgICAgICAgICAgJ2RhdGEnLCAnZGF0YXJvb3QnLCAnZG9jJywgJ2R2aScsICdodG1sJywg J3BkZicsCiAgICAgICAgICAgICAgICAgICAgJ3BzJywgJ3N5c2NvbmYnLCAnc2hhcmVkc3Rh dGUnLCAnbG9jYWxzdGF0ZScsCiAgICAgICAgICAgICAgICAgICAgJ3BrZ2RhdGEnLCAnbGlz cCcsICdub2luc3QnLCAnY2hlY2snKTsKfQoKCnN1YiBoYW5kbGVfdGFncyAoKQp7CiAgICBt eSBAY29uZmlnOwogICAgZm9yZWFjaCBteSAkc3BlYyAoQGNvbmZpZ19oZWFkZXJzKQogICAg ICB7CiAgICAgICAgbXkgKCRvdXQsIEBpbnMpID0gc3BsaXRfY29uZmlnX2ZpbGVfc3BlYyAo JHNwZWMpOwoJZm9yZWFjaCBteSAkaW4gKEBpbnMpCgkgIHsKICAgICAgICAgICAgIyBJZiB0 aGUgY29uZmlnIGhlYWRlciBzb3VyY2UgaXMgaW4gdGhpcyBkaXJlY3RvcnksCgkgICAgIyBy ZXF1aXJlIGl0LgoJICAgIHB1c2ggQGNvbmZpZywgYmFzZW5hbWUgKCRpbikKICAgICAgICAg ICAgICBpZiAkcmVsYXRpdmVfZGlyIGVxIGRpcm5hbWUgKCRpbik7CgkgICB9CiAgICAgIH0K CiAgICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fdGFnZ2VkX2ZpbGVzJywKICAgICAgICAgICAg ICAgICAgICAgJyQoSEVBREVSUykgJChTT1VSQ0VTKSAkKFRBR1NfRklMRVMpICQoTElTUCkn CiAgICAgICAgICAgICAgICAgICAgIC4gIiBAY29uZmlnIiwgSU5URVJOQUwpOwoKICAgIGlm IChydmFyKCdhbV9fdGFnZ2VkX2ZpbGVzJyktPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlCiAg ICAgICAgICB8fCB2YXIgKCdFVEFHU19BUkdTJykgfHwgdmFyICgnU1VCRElSUycpKQogICAg ICB7Cgkkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCd0YWdzJywgbmV3IEF1dG9t YWtlOjpMb2NhdGlvbik7CglzZXRfc2VlbiAnVEFHU19ERVBFTkRFTkNJRVMnOwogICAgICB9 CiAgICBlbHNlCiAgICAgIHsKICAgICAgICByZWplY3RfdmFyICgnVEFHU19ERVBFTkRFTkNJ RVMnLAoJCSAgICAiaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIGRlZmluZSAnVEFHU19ERVBF TkRFTkNJRVMnIgoJCSAgICAuICIgd2l0aG91dFxuc291cmNlcyBvciAnRVRBR1NfQVJHUyci KTsKCSMgRXZlcnkgTWFrZWZpbGUgbXVzdCBkZWZpbmUgc29tZSBzb3J0IG9mIFRBR1MgcnVs ZS4KCSMgT3RoZXJ3aXNlLCBpdCB3b3VsZCBiZSBwb3NzaWJsZSBmb3IgYSB0b3AtbGV2ZWwg Im1ha2UgVEFHUyIKCSMgdG8gZmFpbCBiZWNhdXNlIHNvbWUgc3ViZGlyZWN0b3J5IGZhaWxl ZC4gIERpdHRvIGN0YWdzIGFuZAogICAgICAgICMgY3Njb3BlLgogICAgICAgICRvdXRwdXRf cnVsZXMgLj0KICAgICAgICAgICJ0YWdzIFRBR1M6XG5cbiIgLgogICAgICAgICAgImN0YWdz IENUQUdTOlxuXG4iIC4KICAgICAgICAgICJjc2NvcGUgY3Njb3BlbGlzdDpcblxuIjsKICAg ICAgfQp9CgoKIyB1c2VyX3Bob255X3J1bGUgKCROQU1FKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiMgUmV0dXJuIGZhbHNlIGlmIHJ1bGUgJE5BTUUgZG9lcyBub3QgZXhpc3QuICBP dGhlcndpc2UsCiMgZGVjbGFyZSBpdCBhcyBwaG9ueSwgY29tcGxldGUgaXRzIGRlZmluaXRp b24gKGluIGNhc2UgaXQgaXMKIyBjb25kaXRpb25hbCksIGFuZCByZXR1cm4gaXRzIEF1dG9t YWtlOjpSdWxlIGluc3RhbmNlLgpzdWIgdXNlcl9waG9ueV9ydWxlCnsKICBteSAoJG5hbWUp ID0gQF87CiAgbXkgJHJ1bGUgPSBydWxlICRuYW1lOwogIGlmICgkcnVsZSkKICAgIHsKICAg ICAgZGVwZW5kICgnLlBIT05ZJywgJG5hbWUpOwogICAgICAjIERlZmluZSAkTkFNRSBpbiBh bGwgY29uZGl0aW9uIHdoZXJlIGl0IGlzIG5vdCBhbHJlYWR5IGRlZmluZWQsCiAgICAgICMg c28gdGhhdCBpdCBpcyBhbHdheXMgT0sgdG8gZGVwZW5kIG9uICROQU1FLgogICAgICBmb3Ig bXkgJGMgKCRydWxlLT5ub3RfYWx3YXlzX2RlZmluZWRfaW5fY29uZCAoVFJVRSktPmNvbmRz KQoJewoJICBBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgkbmFtZSwgJ2ludGVybmFsJywgUlVM RV9BVVRPTUFLRSwKCQkJCSAgJGMsIElOVEVSTkFMKTsKCSAgJG91dHB1dF9ydWxlcyAuPSAk Yy0+c3Vic3Rfc3RyaW5nIC4gIiRuYW1lOlxuIjsKCX0KICAgIH0KICByZXR1cm4gJHJ1bGU7 Cn0KCgojIEhhbmRsZSAnZGlzdCcgdGFyZ2V0LgpzdWIgaGFuZGxlX2Rpc3QgKCkKewogICMg U3Vic3RpdHV0aW9ucyBmb3IgZGlzdGRpci5hbQogIG15ICV0cmFuc2Zvcm07CgogICMgRGVm aW5lIERJU1RfU1VCRElSUy4gIFRoaXMgbXVzdCBhbHdheXMgYmUgZG9uZSwgcmVnYXJkbGVz cyBvZiB0aGUKICAjIG5vLWRpc3Qgc2V0dGluZzogdGFyZ2V0IGxpa2UgJ2Rpc3RjbGVhbicg b3IgJ21haW50YWluZXItY2xlYW4nIHVzZSBpdC4KICBteSAkc3ViZGlycyA9IHZhciAoJ1NV QkRJUlMnKTsKICBpZiAoJHN1YmRpcnMpCiAgICB7CiAgICAgICMgSWYgU1VCRElSUyBpcyBj b25kaXRpb25hbGx5IGRlZmluZWQsIHRoZW4gc2V0IERJU1RfU1VCRElSUwogICAgICAjIHRv IGFsbCBwb3NzaWJsZSBkaXJlY3RvcmllcywgYW5kIHVzZSBpdC4gIElmIERJU1RfU1VCRElS UyBpcwogICAgICAjIGRlZmluZWQsIGp1c3QgdXNlIGl0LgoKICAgICAgIyBOb3RlIHRoYXQg d2UgY2hlY2sgRElTVF9TVUJESVJTIGZpcnN0IG9uIHB1cnBvc2UsIHNvIHRoYXQKICAgICAg IyB3ZSBkb24ndCBjYWxsIGhhc19jb25kaXRpb25hbF9jb250ZW50cyBmb3Igbm93IHJlYXNv bi4KICAgICAgIyAoSW4gdGhlIHBhc3Qgb25lIHByb2plY3QgdXNlZCBzbyBtYW55IGNvbmRp dGlvbmFsIHN1YmRpcmVjdG9yaWVzCiAgICAgICMgdGhhdCBjYWxsaW5nIGhhc19jb25kaXRp b25hbF9jb250ZW50cyBvbiBTVUJESVJTIGNhdXNlZAogICAgICAjIGF1dG9tYWtlIHRvIGdy b3cgdG8gMTUwTWIgLS0gdGhpcyBzaG91bGQgbm90IGhhcHBlbiB3aXRoCiAgICAgICMgdGhl IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgaGFzX2NvbmRpdGlvbmFsX2NvbnRlbnRzLAog ICAgICAjIGJ1dCBpdCdzIG1vcmUgZWZmaWNpZW50IHRvIGF2b2lkIHRoZSBjYWxsIGFueXdh eS4pCiAgICAgIGlmICh2YXIgKCdESVNUX1NVQkRJUlMnKSkKCXsKCX0KICAgICAgZWxzaWYg KCRzdWJkaXJzLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCgl7CgkgIGRlZmluZV9wcmV0 dHlfdmFyaWFibGUKCSAgICAoJ0RJU1RfU1VCRElSUycsIFRSVUUsIElOVEVSTkFMLAoJICAg ICB1bmlxICgkc3ViZGlycy0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKTsKCX0KICAgICAg ZWxzZQoJewoJICAjIFdlIGFsd2F5cyBkZWZpbmUgdGhpcyBiZWNhdXNlIHRoYXQgaXMgd2hh dCAnZGlzdGNsZWFuJwoJICAjIHdhbnRzLgoJICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgn RElTVF9TVUJESVJTJywgVFJVRSwgSU5URVJOQUwsCgkJCQkgICckKFNVQkRJUlMpJyk7Cgl9 CiAgICB9CgogICMgVGhlIHJlbWFpbmluZyBkZWZpbml0aW9ucyBhcmUgb25seSByZXF1aXJl ZCB3aGVuIGEgZGlzdCB0YXJnZXQgaXMgdXNlZC4KICByZXR1cm4gaWYgb3B0aW9uICduby1k aXN0JzsKCiAgIyBBdCBsZWFzdCBvbmUgb2YgdGhlIGFyY2hpdmUgZm9ybWF0cyBtdXN0IGJl IGVuYWJsZWQuCiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQogICAgewogICAgICBteSAk YXJjaGl2ZV9kZWZpbmVkID0gb3B0aW9uICduby1kaXN0LWd6aXAnID8gMCA6IDE7CiAgICAg ICRhcmNoaXZlX2RlZmluZWQgfHw9CglncmVwIHsgb3B0aW9uICJkaXN0LSRfIiB9IHF3KHNo YXIgemlwIHRhclogYnppcDIgbHppcCB4eiB6c3RkKTsKICAgICAgZXJyb3IgKG9wdGlvbiAn bm8tZGlzdC1nemlwJywKCSAgICAgIm5vLWRpc3QtZ3ppcCBzcGVjaWZpZWQgYnV0IG5vIGRp c3QtKiBzcGVjaWZpZWQsXG4iCgkgICAgIC4gImF0IGxlYXN0IG9uZSBhcmNoaXZlIGZvcm1h dCBtdXN0IGJlIGVuYWJsZWQiKQoJdW5sZXNzICRhcmNoaXZlX2RlZmluZWQ7CiAgICB9Cgog ICMgTG9vayBmb3IgY29tbW9uIGZpbGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIGRp c3RyaWJ1dGlvbi4KICAjIElmIHRoZSBhdXggZGlyIGlzIHNldCwgYW5kIGl0IGRvZXMgbm90 IGhhdmUgYSBNYWtlZmlsZS5hbSwgdGhlbgogICMgd2UgY2hlY2sgZm9yIHRoZXNlIGZpbGVz IHRoZXJlIGFzIHdlbGwuCiAgbXkgJGNoZWNrX2F1eCA9IDA7CiAgaWYgKCRyZWxhdGl2ZV9k aXIgZXEgJy4nCiAgICAgICYmICRjb25maWdfYXV4X2Rpcl9zZXRfaW5fY29uZmlndXJlX2Fj KQogICAgewogICAgICBpZiAoISBpc19tYWtlX2RpciAoJGNvbmZpZ19hdXhfZGlyKSkKCXsK CSAgJGNoZWNrX2F1eCA9IDE7Cgl9CiAgICB9CiAgZm9yZWFjaCBteSAkY2ZpbGUgKEBjb21t b25fZmlsZXMpCiAgICB7CiAgICAgIGlmIChkaXJfaGFzX2Nhc2VfbWF0Y2hpbmdfZmlsZSAo JHJlbGF0aXZlX2RpciwgJGNmaWxlKQoJICAjIFRoZSBmaWxlIG1pZ2h0IGJlIGFic2VudCwg YnV0IGlmIGl0IGNhbiBiZSBidWlsdCBpdCdzIG9rLgoJICB8fCBydWxlICRjZmlsZSkKCXsK CSAgcHVzaF9kaXN0X2NvbW1vbiAoJGNmaWxlKTsKCX0KCiAgICAgICMgRG9uJ3QgdXNlICdl bHNpZicgaGVyZSBiZWNhdXNlIGEgZmlsZSBtaWdodCBtZWFuaW5nZnVsbHkKICAgICAgIyBh cHBlYXIgaW4gYm90aCBkaXJlY3Rvcmllcy4KICAgICAgaWYgKCRjaGVja19hdXggJiYgZGly X2hhc19jYXNlX21hdGNoaW5nX2ZpbGUgKCRjb25maWdfYXV4X2RpciwgJGNmaWxlKSkKCXsK CSAgcHVzaF9kaXN0X2NvbW1vbiAoIiRjb25maWdfYXV4X2Rpci8kY2ZpbGUiKQoJfQogICAg fQoKICAjIFdlIG1pZ2h0IGNvcHkgZWxlbWVudHMgZnJvbSBAY29uZmlndXJlX2Rpc3RfY29t bW9uIHRvCiAgIyBAZGlzdF9jb21tb24gaWYgd2UgdGhpbmsgd2UgbmVlZCB0by4gIElmIHRo ZSBmaWxlIGFwcGVhcnMgaW4gb3VyCiAgIyBkaXJlY3RvcnksIHdlIHdvdWxkIGhhdmUgZGlz Y292ZXJlZCBpdCBhbHJlYWR5LCBzbyB3ZSBkb24ndAogICMgY2hlY2sgdGhhdC4gIEJ1dCBp ZiB0aGUgZmlsZSBpcyBpbiBhIHN1YmRpciB3aXRob3V0IGEgTWFrZWZpbGUsCiAgIyB3ZSB3 YW50IHRvIGRpc3RyaWJ1dGUgaXQgaGVyZSBpZiB3ZSBhcmUgZG9pbmcgJy4nLiAgVWdseSEK ICAjIEFsc28sIGluIHNvbWUgY29ybmVyIGNhc2VzLCBpdCdzIHBvc3NpYmxlIHRoYXQgdGhl IGZvbGxvd2luZyBjb2RlCiAgIyB3aWxsIGNhdXNlIHRoZSBzYW1lIGZpbGUgdG8gYXBwZWFy IGluIHRoZSAkKERJU1RfQ09NTU9OKSB2YXJpYWJsZXMKICAjIG9mIHR3byBkaXN0aW5jdCBN YWtlZmlsZXM7IGJ1dCB0aGlzIGlzIG5vdCBhIHByb2JsZW0sIHNpbmNlIHRoZQogICMgJ2Rp c3RkaXInIHRhcmdldCBpbiAnbGliL2FtL2Rpc3RkaXIuYW0nIGNhbiBkZWFsIHdpdGggdGhl IHNhbWUKICAjIGZpbGUgYmVpbmcgZGlzdHJpYnV0ZWQgbXVsdGlwbGUgdGltZXMuCiAgIyBT ZWUgYWxzbyBhdXRvbWFrZSBidWcjOTY1MS4KICBpZiAoJHJlbGF0aXZlX2RpciBlcSAnLicp CiAgICB7CiAgICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBjb25maWd1cmVfZGlzdF9jb21tb24p Cgl7CgkgIG15ICRkaXIgPSBkaXJuYW1lICgkZmlsZSk7CgkgIHB1c2hfZGlzdF9jb21tb24g KCRmaWxlKQoJICAgIGlmICgkZGlyIGVxICcuJyB8fCAhIGlzX21ha2VfZGlyICgkZGlyKSk7 Cgl9CiAgICAgIEBjb25maWd1cmVfZGlzdF9jb21tb24gPSAoKTsKICAgIH0KCiAgIyAkKGFt X19ESVNUX0NPTU1PTik6IGZpbGVzIHRvIGJlIGRpc3RyaWJ1dGVkIGF1dG9tYXRpY2FsbHku ICBXaWxsIGJlCiAgIyBhcHBlbmRlZCB0byAkKERJU1RfQ09NTU9OKSBpbiB0aGUgZ2VuZXJh dGVkIE1ha2VmaWxlLgogICMgVXNlICdzb3J0JyBzbyB0aGF0IHRoZSBleHBhbnNpb24gb2Yg JChESVNUX0NPTU1PTikgaW4gdGhlIGdlbmVyYXRlZAogICMgTWFrZWZpbGUgaXMgZGV0ZXJt aW5pc3RpYywgaW4gZmFjZSBvZiBtNCBhbmQvb3IgcGVybCByYW5kb21pemF0aW9ucwogICMg KHNlZSBhdXRvbWFrZSBidWcjMTc5MDgpLgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdh bV9fRElTVF9DT01NT04nLCBUUlVFLCBJTlRFUk5BTCwKICAgICAgICAgICAgICAgICAgICAg ICAgICB1bmlxIChzb3J0IEBkaXN0X2NvbW1vbikpOwoKICAjIE5vdyB0aGF0IHdlJ3ZlIHBy b2Nlc3NlZCBAZGlzdF9jb21tb24sIGRpc2FsbG93IGZ1cnRoZXIgYXR0ZW1wdHMKICAjIHRv IG1vZGlmeSBpdC4KICAkaGFuZGxlX2Rpc3RfcnVuID0gMTsKCiAgJHRyYW5zZm9ybXsnRElT VENIRUNLLUhPT0snfSA9ICEhIHJ1bGUgJ2Rpc3RjaGVjay1ob29rJzsKICAkdHJhbnNmb3Jt eydHRVRURVhUJ30gPSAkc2Vlbl9nZXR0ZXh0ICYmICEkc2Vlbl9nZXR0ZXh0X2V4dGVybmFs OwoKICAjIElmIHRoZSB0YXJnZXQgJ2Rpc3QtaG9vaycgZXhpc3RzLCBtYWtlIHN1cmUgaXQg aXMgcnVuLiAgVGhpcwogICMgYWxsb3dzIHVzZXJzIHRvIGRvIHJhbmRvbSB3ZWlyZCB0aGlu Z3MgdG8gdGhlIGRpc3RyaWJ1dGlvbgogICMgYmVmb3JlIGl0IGlzIHBhY2thZ2VkIHVwLgog IHB1c2ggKEBkaXN0X3RhcmdldHMsICdkaXN0LWhvb2snKQogICAgaWYgdXNlcl9waG9ueV9y dWxlICdkaXN0LWhvb2snOwogICR0cmFuc2Zvcm17J0RJU1QtVEFSR0VUUyd9ID0gam9pbiAo JyAnLCBAZGlzdF90YXJnZXRzKTsKCiAgbXkgJGZsbSA9IG9wdGlvbiAoJ2ZpbGVuYW1lLWxl bmd0aC1tYXgnKTsKICBteSAkZmlsZW5hbWVfZmlsdGVyID0gJGZsbSA/ICcuJyB4ICRmbG0t PlsxXSA6ICcnOwoKICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdkaXN0ZGly JywKCQkJCSAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCSAgJXRyYW5zZm9ybSwKCQkJ CSAgRklMRU5BTUVfRklMVEVSID0+ICRmaWxlbmFtZV9maWx0ZXIpOwp9CgoKIyBjaGVja19k aXJlY3RvcnkgKCROQU1FLCAkV0hFUkUgWywgJFJFTEFUSVZFX0RJUiA9ICIuIl0pCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IEVuc3VyZSAkTkFNRSBpcyBhIGRpcmVjdG9yeSAoaW4gJFJFTEFUSVZFX0RJUiksIGFuZCB0 aGF0IGl0IHVzZXMgYSBzYW5lCiMgbmFtZS4gIFVzZSAkV0hFUkUgYXMgYSBsb2NhdGlvbiBp biB0aGUgZGlhZ25vc3RpYywgaWYgYW55LgpzdWIgY2hlY2tfZGlyZWN0b3J5CnsKICBteSAo JGRpciwgJHdoZXJlLCAkcmVsZGlyKSA9IEBfOwogICRyZWxkaXIgPSAnLicgdW5sZXNzIGRl ZmluZWQgJHJlbGRpcjsKCiAgZXJyb3IgJHdoZXJlLCAicmVxdWlyZWQgZGlyZWN0b3J5ICRy ZWxkaXIvJGRpciBkb2VzIG5vdCBleGlzdCIKICAgIHVubGVzcyAtZCAiJHJlbGRpci8kZGly IjsKCiAgIyBJZiBhbiAnb2JqLycgZGlyZWN0b3J5IGV4aXN0cywgQlNEIG1ha2Ugd2lsbCBl bnRlciBpdCBiZWZvcmUKICAjIHJlYWRpbmcgJ01ha2VmaWxlJy4gIEhlbmNlIHRoZSAnTWFr ZWZpbGUnIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeQogICMgd2lsbCBub3QgYmUgcmVhZC4K ICAjCiAgIyAgJSBjYXQgTWFrZWZpbGUKICAjICBhbGw6CiAgIyAgICAgICAgICBlY2hvIEhl bGxvCiAgIyAgJSBjYXQgb2JqL01ha2VmaWxlCiAgIyAgYWxsOgogICMgICAgICAgICAgZWNo byBXb3JsZAogICMgICUgbWFrZSAgICAgICMgR05VIG1ha2UKICAjICBlY2hvIEhlbGxvCiAg IyAgSGVsbG8KICAjICAlIHBtYWtlICAgICAjIEJTRCBtYWtlCiAgIyAgZWNobyBXb3JsZAog ICMgIFdvcmxkCiAgbXNnICgncG9ydGFiaWxpdHknLCAkd2hlcmUsCiAgICAgICAibmFtaW5n IGEgc3ViZGlyZWN0b3J5ICdvYmonIGNhdXNlcyB0cm91YmxlcyB3aXRoIEJTRCBtYWtlIikK ICAgIGlmICRkaXIgZXEgJ29iaic7CgogICMgJ2F1eCcgaXMgcHJvYmFibHkgdGhlIG1vc3Qg aW1wb3J0YW50IG9mIHRoZSBmb2xsb3dpbmcgZm9yYmlkZGVuIG5hbWUsCiAgIyBzaW5jZSBp dCdzIHRlbXB0aW5nIHRvIHVzZSBpdCBhcyBhbiBBQ19DT05GSUdfQVVYX0RJUi4KICBtc2cg KCdwb3J0YWJpbGl0eScsICR3aGVyZSwKICAgICAgICJuYW1lICckZGlyJyBpcyByZXNlcnZl ZCBvbiBXMzIgYW5kIERPUyBwbGF0Zm9ybXMiKQogICAgaWYgZ3JlcCAoL15cUSRkaXJcRSQv aSwgcXcvYXV4IGxwdDEgbHB0MiBscHQzIGNvbTEgY29tMiBjb20zIGNvbTQgY29uIHBybi8p Owp9CgojIGNoZWNrX2RpcmVjdG9yaWVzX2luX3ZhciAoJFZBUklBQkxFKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlY3Vyc2l2ZWx5IGNoZWNrIGFsbCBp dGVtcyBpbiB2YXJpYWJsZXMgJFZBUklBQkxFIGFzIGRpcmVjdG9yaWVzCnN1YiBjaGVja19k aXJlY3Rvcmllc19pbl92YXIKewogIG15ICgkdmFyKSA9IEBfOwogICR2YXItPnRyYXZlcnNl X3JlY3Vyc2l2ZWx5CiAgICAoc3ViCiAgICAgewogICAgICAgbXkgKCR2YXIsICR2YWwsICRj b25kLCAkZnVsbF9jb25kKSA9IEBfOwogICAgICAgY2hlY2tfZGlyZWN0b3J5ICgkdmFsLCAk dmFyLT5yZGVmICgkY29uZCktPmxvY2F0aW9uLCAkcmVsYXRpdmVfZGlyKTsKICAgICAgIHJl dHVybiAoKTsKICAgICB9LAogICAgIHVuZGVmLAogICAgIHNraXBfYWNfc3Vic3QgPT4gMSk7 Cn0KCgpzdWIgaGFuZGxlX3N1YmRpcnMgKCkKewogIG15ICRzdWJkaXJzID0gdmFyICgnU1VC RElSUycpOwogIHJldHVybgogICAgdW5sZXNzICRzdWJkaXJzOwoKICBjaGVja19kaXJlY3Rv cmllc19pbl92YXIgJHN1YmRpcnM7CgogIG15ICRkc3ViZGlycyA9IHZhciAoJ0RJU1RfU1VC RElSUycpOwogIGNoZWNrX2RpcmVjdG9yaWVzX2luX3ZhciAkZHN1YmRpcnMKICAgIGlmICRk c3ViZGlyczsKCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnc3ViZGlycycs IG5ldyBBdXRvbWFrZTo6TG9jYXRpb24pOwogIHJ2YXIgKCdSRUNVUlNJVkVfVEFSR0VUUycp LT5yZGVmIChUUlVFKS0+eydwcmV0dHknfSA9IFZBUl9TT1JURUQ7ICMgR3Jvc3MhCn0KCgoj ICgkUkVHRU4sIEBERVBFTkRFTkNJRVMpCiMgc2Nhbl9hY2xvY2FsX200CiMgLS0tLS0tLS0t LS0tLS0tCiMgSWYgYWNsb2NhbC5tNCBjcmVhdGlvbiBpcyBhdXRvbWF0ZWQsIHJldHVybiB0 aGUgbGlzdCBvZiBpdHMgZGVwZW5kZW5jaWVzLgpzdWIgc2Nhbl9hY2xvY2FsX200ICgpCnsK ICBteSAkcmVnZW5fYWNsb2NhbCA9IDA7CgogIHNldF9zZWVuICdDT05GSUdfU1RBVFVTX0RF UEVOREVOQ0lFUyc7CiAgc2V0X3NlZW4gJ0NPTkZJR1VSRV9ERVBFTkRFTkNJRVMnOwoKICBp ZiAoLWYgJ2FjbG9jYWwubTQnKQogICAgewogICAgICBkZWZpbmVfdmFyaWFibGUgKCJBQ0xP Q0FMX000IiwgJyQodG9wX3NyY2RpcikvYWNsb2NhbC5tNCcsIElOVEVSTkFMKTsKCiAgICAg IG15ICRhY2xvY2FsID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAiPCBhY2xvY2FsLm00IjsKICAg ICAgbXkgJGxpbmUgPSAkYWNsb2NhbC0+Z2V0bGluZTsKICAgICAgJHJlZ2VuX2FjbG9jYWwg PSAkbGluZSA9fiAnZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgYWNsb2NhbCc7CiAgICB9 CgogIG15IEBhY19kZXBzID0gKCk7CgogIGlmIChzZXRfc2VlbiAoJ0FDTE9DQUxfTTRfU09V UkNFUycpKQogICAgewogICAgICBwdXNoIChAYWNfZGVwcywgJyQoQUNMT0NBTF9NNF9TT1VS Q0VTKScpOwogICAgICBtc2dfdmFyICgnb2Jzb2xldGUnLCAnQUNMT0NBTF9NNF9TT1VSQ0VT JywKCSAgICAgICAiJ0FDTE9DQUxfTTRfU09VUkNFUycgaXMgb2Jzb2xldGUuXG4iCgkgICAg ICAgLiAiSXQgc2hvdWxkIGJlIHNhZmUgdG8gc2ltcGx5IHJlbW92ZSBpdCIpOwogICAgfQoK ICAjIE5vdGUgdGhhdCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0aGF0IGFjbG9jYWwubTQgZG9l c24ndCBleGlzdCBidXQKICAjIHNob3VsZCBiZSBhdXRvLWdlbmVyYXRlZC4gIFRoaXMgY2Fz ZSBwcm9iYWJseSBpc24ndCB2ZXJ5CiAgIyBpbXBvcnRhbnQuCgogIHJldHVybiAoJHJlZ2Vu X2FjbG9jYWwsIEBhY19kZXBzKTsKfQoKCiMgSGVscGVyIGZ1bmN0aW9uIGZvciAnc3Vic3Rp dHV0ZV9hY19zdWJzdF92YXJpYWJsZXMnLgpzdWIgc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJp YWJsZXNfd29ya2VyCnsKICBteSAoJHRva2VuKSA9IEBfOwogIHJldHVybiAiXEAkdG9rZW5c QCIgaWYgdmFyICR0b2tlbjsKICByZXR1cm4gIlwkeyR0b2tlblx9IjsKfQoKIyBzdWJzdGl0 dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcyAoJFRFWFQpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQojIFJlcGxhY2UgYW55IG9jY3VycmVuY2Ugb2YgJHtGT099IGlu ICRURVhUIGJ5IEBGT09AIGlmIEZPTyBpcyBhbiBBQ19TVUJTVAojIHZhcmlhYmxlLgpzdWIg c3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMKewogIG15ICgkdGV4dCkgPSBAXzsKICAk dGV4dCA9fiBzL1wkW3tdKFteIFx0PTore31dKyl9L3N1YnN0aXR1dGVfYWNfc3Vic3RfdmFy aWFibGVzX3dvcmtlciAoJDEpL2dlOwogIHJldHVybiAkdGV4dDsKfQoKIyBAREVQRU5ERU5D SUVTCiMgcHJlcGVuZF9zcmNkaXIgKEBJTlBVVFMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiMgUHJlcGVuZCAkKHNyY2Rpcikgb3IgJCh0b3Bfc3JjZGlyKSB0byBhbGwgQElOUFVU Uy4gIFRoZSBpZGVhIGlzIHRoYXQKIyBpZiBhbiBpbnB1dCBmaWxlIGhhcyBhIGRpcmVjdG9y eSBwYXJ0IHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50CiMgZGlyZWN0b3J5LCB0aGVuIHRoZSBk aXJlY3RvcnkgcGFydCBpcyBzaW1wbHkgcmVwbGFjZWQgYnkgJChzcmNkaXIpLgojIEJ1dCBp ZiB0aGUgZGlyZWN0b3J5IHBhcnQgaXMgZGlmZmVyZW50LCB0aGVuICQodG9wX3NyY2Rpcikg aXMKIyBwcmVwZW5kZWQuCnN1YiBwcmVwZW5kX3NyY2Rpcgp7CiAgbXkgKEBpbnB1dHMpID0g QF87CiAgbXkgQG5ld2lucHV0czsKCiAgZm9yZWFjaCBteSAkc2luZ2xlIChAaW5wdXRzKQog ICAgewogICAgICBpZiAoZGlybmFtZSAoJHNpbmdsZSkgZXEgJHJlbGF0aXZlX2RpcikKCXsK CSAgcHVzaCAoQG5ld2lucHV0cywgJyQoc3JjZGlyKS8nIC4gYmFzZW5hbWUgKCRzaW5nbGUp KTsKCX0KICAgICAgZWxzZQoJewoJICBwdXNoIChAbmV3aW5wdXRzLCAnJCh0b3Bfc3JjZGly KS8nIC4gJHNpbmdsZSk7Cgl9CiAgICB9CiAgcmV0dXJuIEBuZXdpbnB1dHM7Cn0KCiMgQERF UEVOREVOQ0lFUwojIHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5kZW5jaWVzICgkT1VUUFVU LCBASU5QVVRTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIENvbXB1dGUgYSBsaXN0IG9mIGRlcGVuZGVuY2llcyBhcHByb3ByaWF0 ZSBmb3IgdGhlIHJlYnVpbGQKIyBydWxlIG9mCiMgICBBQ19DT05GSUdfRklMRVMoJE9VVFBV VDokSU5QVVRbMF06JElOUFVUU1sxXTouLi4pCiMgQWxzbyBkaXN0cmlidXRlICRJTlBVVHMg d2hpY2ggYXJlIG5vdCBidWlsdCBieSBhbm90aGVyIEFDX0NPTkZJR19GT09zLgpzdWIgcmV3 cml0ZV9pbnB1dHNfaW50b19kZXBlbmRlbmNpZXMKewogIG15ICgkZmlsZSwgQGlucHV0cykg PSBAXzsKICBteSBAcmVzID0gKCk7CgogIGZvciBteSAkaSAoQGlucHV0cykKICAgIHsKICAg ICAgIyBXZSBjYW5ub3QgY3JlYXRlIGRlcGVuZGVuY2llcyBvbiBzaGVsbCB2YXJpYWJsZXMu CiAgICAgIG5leHQgaWYgKHN1YnN0aXR1dGVfYWNfc3Vic3RfdmFyaWFibGVzICRpKSA9fiAv XCQvOwoKICAgICAgaWYgKGV4aXN0cyAkYWNfY29uZmlnX2ZpbGVzX2xvY2F0aW9ueyRpfSAm JiAkaSBuZSAkZmlsZSkKCXsKCSAgbXkgJGRpID0gZGlybmFtZSAkaTsKCSAgaWYgKCRkaSBl cSAkcmVsYXRpdmVfZGlyKQoJICAgIHsKCSAgICAgICRpID0gYmFzZW5hbWUgJGk7CgkgICAg fQoJICAjIEluIHRoZSB0b3AtbGV2ZWwgTWFrZWZpbGUgd2UgZG8gbm90IHVzZSAkKHRvcF9i dWlsZGRpciksIGJlY2F1c2UKCSAgIyB3ZSBhcmUgYWxyZWFkeSB0aGVyZSwgYW5kIHNpbmNl IHRoZSB0YXJnZXRzIGFyZSBidWlsdCB3aXRob3V0CgkgICMgYSAkKHRvcF9idWlsZGRpciks IGl0IGhlbHBzIEJTRCBNYWtlIHRvIG1hdGNoIHRoZW0gd2l0aAoJICAjIGRlcGVuZGVuY2ll cy4KCSAgZWxzaWYgKCRyZWxhdGl2ZV9kaXIgbmUgJy4nKQoJICAgIHsKCSAgICAgICRpID0g JyQodG9wX2J1aWxkZGlyKS8nIC4gJGk7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgIG1z ZyAoJ2Vycm9yJywgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZmlsZX0sCgkgICAgICAg InJlcXVpcmVkIGZpbGUgJyRpJyBub3QgZm91bmQiKQoJICAgIHVubGVzcyAkaSA9fiAvXCQv IHx8IGV4aXN0cyAkb3V0cHV0X2ZpbGVzeyRpfSB8fCAtZiAkaTsKCSAgKCRpKSA9IHByZXBl bmRfc3JjZGlyICgkaSk7CgkgIHB1c2hfZGlzdF9jb21tb24gKCRpKTsKCX0KICAgICAgcHVz aCBAcmVzLCAkaTsKICAgIH0KICByZXR1cm4gQHJlczsKfQoKCgojIGhhbmRsZV9jb25maWd1 cmUgKCRNQUtFRklMRV9BTSwgJE1BS0VGSUxFX0lOLCAkTUFLRUZJTEUsIEBJTlBVVFMpCiMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBIYW5kbGUgcmVtYWtpbmcgYW5kIGNvbmZpZ3VyZSBzdHVmZi4KIyBX ZSBuZWVkIHRoZSBuYW1lIG9mIHRoZSBpbnB1dCBmaWxlLCB0byBkbyBwcm9wZXIgcmVtYWtp bmcgcnVsZXMuCnN1YiBoYW5kbGVfY29uZmlndXJlCnsKICBteSAoJG1ha2VmaWxlX2FtLCAk bWFrZWZpbGVfaW4sICRtYWtlZmlsZSwgQGlucHV0cykgPSBAXzsKCiAgcHJvZ19lcnJvciAn ZW1wdHkgQGlucHV0cycKICAgIHVubGVzcyBAaW5wdXRzOwoKICBteSAoJHJlbF9tYWtlZmls ZV9hbSwgJHJlbF9tYWtlZmlsZV9pbikgPSBwcmVwZW5kX3NyY2RpciAoJG1ha2VmaWxlX2Ft LAoJCQkJCQkJICAgICRtYWtlZmlsZV9pbik7CiAgbXkgJHJlbF9tYWtlZmlsZSA9IGJhc2Vu YW1lICRtYWtlZmlsZTsKCiAgbXkgJGNvbG9uX2luZmlsZSA9ICc6JyAuIGpvaW4gKCc6Jywg QGlucHV0cyk7CiAgJGNvbG9uX2luZmlsZSA9ICcnIGlmICRjb2xvbl9pbmZpbGUgZXEgIjok bWFrZWZpbGUuaW4iOwogIG15IEByZXdyaXR0ZW4gPSByZXdyaXRlX2lucHV0c19pbnRvX2Rl cGVuZGVuY2llcyAoJG1ha2VmaWxlLCBAaW5wdXRzKTsKICBteSAoJHJlZ2VuX2FjbG9jYWxf bTQsIEBhY2xvY2FsX200X2RlcHMpID0gc2Nhbl9hY2xvY2FsX200OwogIGRlZmluZV9wcmV0 dHlfdmFyaWFibGUgKCdhbV9fYWNsb2NhbF9tNF9kZXBzJywgVFJVRSwgSU5URVJOQUwsCgkJ CSAgQGNvbmZpZ3VyZV9kZXBzLCBAYWNsb2NhbF9tNF9kZXBzLAoJCQkgICckKHRvcF9zcmNk aXIpLycgLiAkY29uZmlndXJlX2FjKTsKICBteSBAY29uZmlndXJlZGVwcyA9ICgnJChhbV9f YWNsb2NhbF9tNF9kZXBzKScsICckKENPTkZJR1VSRV9ERVBFTkRFTkNJRVMpJyk7CiAgcHVz aCBAY29uZmlndXJlZGVwcywgJyQoQUNMT0NBTF9NNCknIGlmIC1mICdhY2xvY2FsLm00JzsK ICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnYW1fX2NvbmZpZ3VyZV9kZXBzJywgVFJVRSwg SU5URVJOQUwsCgkJCSAgQGNvbmZpZ3VyZWRlcHMpOwoKICBteSAkYXV0b21ha2Vfb3B0aW9u cyA9ICctLScgLiAkc3RyaWN0bmVzc19uYW1lIC4KCQkJIChnbG9iYWxfb3B0aW9uICduby1k ZXBlbmRlbmNpZXMnID8gJyAtLWlnbm9yZS1kZXBzJyA6ICcnKTsKCiAgJG91dHB1dF9ydWxl cyAuPSBmaWxlX2NvbnRlbnRzCiAgICAoJ2NvbmZpZ3VyZScsCiAgICAgbmV3IEF1dG9tYWtl OjpMb2NhdGlvbiwKICAgICBNQUtFRklMRSAgICAgICAgICAgICAgPT4gJHJlbF9tYWtlZmls ZSwKICAgICAnTUFLRUZJTEUtREVQUycgICAgICAgPT4gIkByZXdyaXR0ZW4iLAogICAgICdD T05GSUctTUFLRUZJTEUnICAgICA9PiAoJHJlbGF0aXZlX2RpciBlcSAnLicpID8gJyRAJyA6 ICckKHN1YmRpcikvJEAnLAogICAgICdNQUtFRklMRS1JTicgICAgICAgICA9PiAkcmVsX21h a2VmaWxlX2luLAogICAgICdIQVZFLU1BS0VGSUxFLUlOLURFUFMnID0+IChAaW5jbHVkZV9z dGFjayA+IDApLAogICAgICdNQUtFRklMRS1JTi1ERVBTJyAgICA9PiAiQGluY2x1ZGVfc3Rh Y2siLAogICAgICdNQUtFRklMRS1BTScgICAgICAgICA9PiAkcmVsX21ha2VmaWxlX2FtLAog ICAgICdBVVRPTUFLRS1PUFRJT05TJyAgICA9PiAkYXV0b21ha2Vfb3B0aW9ucywKICAgICAn TUFLRUZJTEUtQU0tU09VUkNFUycgPT4gIiRtYWtlZmlsZSRjb2xvbl9pbmZpbGUiLAogICAg ICdSRUdFTi1BQ0xPQ0FMLU00JyAgICA9PiAkcmVnZW5fYWNsb2NhbF9tNCwKICAgICBWRVJC T1NFICAgICAgICAgICAgICAgPT4gdmVyYm9zZV9mbGFnICgnR0VOJykpOwoKICBpZiAoJHJl bGF0aXZlX2RpciBlcSAnLicpCiAgICB7CiAgICAgIHB1c2hfZGlzdF9jb21tb24gKCdhY2Nv bmZpZy5oJykKCWlmIC1mICdhY2NvbmZpZy5oJzsKICAgIH0KCiAgIyBJZiB3ZSBoYXZlIGEg Y29uZmlndXJlIGhlYWRlciwgcmVxdWlyZSBpdC4KICBteSAkaGRyX2luZGV4ID0gMDsKICBt eSBAZGlzdGNsZWFuX2NvbmZpZzsKICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2hlYWRl cnMpCiAgICB7CiAgICAgICRoZHJfaW5kZXggKz0gMTsKICAgICAgIyAkQ09ORklHX0hfUEFU SDogY29uZmlnLmggZnJvbSB0b3AgbGV2ZWwuCiAgICAgIG15ICgkY29uZmlnX2hfcGF0aCwg QGlucykgPSBzcGxpdF9jb25maWdfZmlsZV9zcGVjICgkc3BlYyk7CiAgICAgIG15ICRjb25m aWdfaF9kaXIgPSBkaXJuYW1lICgkY29uZmlnX2hfcGF0aCk7CgogICAgICAjIElmIHRoZSBo ZWFkZXIgaXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdlIHdhbnQgdG8gYnVpbGQKICAg ICAgIyB0aGUgaGVhZGVyIGhlcmUuICBPdGhlcndpc2UsIGlmIHdlJ3JlIGF0IHRoZSB0b3Bt b3N0CiAgICAgICMgZGlyZWN0b3J5IGFuZCB0aGUgaGVhZGVyJ3MgZGlyZWN0b3J5IGRvZXNu J3QgaGF2ZSBhCiAgICAgICMgTWFrZWZpbGUsIHRoZW4gd2UgYWxzbyB3YW50IHRvIGJ1aWxk IHRoZSBoZWFkZXIuCiAgICAgIGlmICgkcmVsYXRpdmVfZGlyIGVxICRjb25maWdfaF9kaXIK CSAgfHwgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRjb25maWdf aF9kaXIpKSkKCXsKCSAgbXkgKCRjbl9zYW5zX2RpciwgJHN0YW1wX2Rpcik7CgkgIGlmICgk cmVsYXRpdmVfZGlyIGVxICRjb25maWdfaF9kaXIpCgkgICAgewoJICAgICAgJGNuX3NhbnNf ZGlyID0gYmFzZW5hbWUgKCRjb25maWdfaF9wYXRoKTsKCSAgICAgICRzdGFtcF9kaXIgPSAn JzsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkY25fc2Fuc19kaXIgPSAkY29uZmln X2hfcGF0aDsKCSAgICAgIGlmICgkY29uZmlnX2hfZGlyIGVxICcuJykKCQl7CgkJICAkc3Rh bXBfZGlyID0gJyc7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRzdGFtcF9kaXIgPSAkY29u ZmlnX2hfZGlyIC4gJy8nOwoJCX0KCSAgICB9CgoJICAjIFRoaXMgd2lsbCBhbHNvIGRpc3Ry aWJ1dGUgYWxsIGlucHV0cy4KCSAgQGlucyA9IHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5k ZW5jaWVzICgkY29uZmlnX2hfcGF0aCwgQGlucyk7CgoJICAjIENhbm5vdCBkZWZpbmUgcmVi dWlsZCBydWxlcyBmb3IgZmlsZW5hbWVzIHdpdGggc2hlbGwgdmFyaWFibGVzLgoJICBuZXh0 IGlmIChzdWJzdGl0dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcyAkY29uZmlnX2hfcGF0aCkgPX4g L1wkLzsKCgkgICMgSGVhZGVyIGRlZmluZWQgaW4gdGhpcyBkaXJlY3RvcnkuCgkgIG15IEBm aWxlczsKCSAgaWYgKC1mICRjb25maWdfaF9wYXRoIC4gJy50b3AnKQoJICAgIHsKCSAgICAg IHB1c2ggKEBmaWxlcywgIiRjbl9zYW5zX2Rpci50b3AiKTsKCSAgICB9CgkgIGlmICgtZiAk Y29uZmlnX2hfcGF0aCAuICcuYm90JykKCSAgICB7CgkgICAgICBwdXNoIChAZmlsZXMsICIk Y25fc2Fuc19kaXIuYm90Iik7CgkgICAgfQoKCSAgcHVzaF9kaXN0X2NvbW1vbiAoQGZpbGVz KTsKCgkgICMgRm9yIG5vdywgYWNjb25maWcuaCBjYW4gb25seSBhcHBlYXIgaW4gdGhlIHRv cCBzcmNkaXIuCgkgIGlmICgtZiAnYWNjb25maWcuaCcpCgkgICAgewoJICAgICAgcHVzaCAo QGZpbGVzLCAnJCh0b3Bfc3JjZGlyKS9hY2NvbmZpZy5oJyk7CgkgICAgfQoKCSAgbXkgJHN0 YW1wID0gIiR7c3RhbXBfZGlyfXN0YW1wLWgke2hkcl9pbmRleH0iOwoJICAkb3V0cHV0X3J1 bGVzIC49CgkgICAgZmlsZV9jb250ZW50cyAoJ3JlbWFrZS1oZHInLAoJCQkgICBuZXcgQXV0 b21ha2U6OkxvY2F0aW9uLAoJCQkgICBGSUxFUyAgICAgICAgICAgID0+ICJAZmlsZXMiLAoJ CQkgICAnRklSU1QtSERSJyAgICAgID0+ICgkaGRyX2luZGV4ID09IDEpLAoJCQkgICBDT05G SUdfSCAgICAgICAgID0+ICRjbl9zYW5zX2RpciwKCQkJICAgQ09ORklHX0hJTiAgICAgICA9 PiAkaW5zWzBdLAoJCQkgICBDT05GSUdfSF9ERVBTICAgID0+ICJAaW5zIiwKCQkJICAgQ09O RklHX0hfUEFUSCAgICA9PiAkY29uZmlnX2hfcGF0aCwKCQkJICAgU1RBTVAgICAgICAgICAg ICA9PiAiJHN0YW1wIik7CgoJICBwdXNoIEBkaXN0Y2xlYW5fY29uZmlnLCAkY25fc2Fuc19k aXIsICRzdGFtcDsKCX0KICAgIH0KCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRz ICgnY2xlYW4taGRyJywKCQkJCSAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJCSAgRklM RVMgPT4gIkBkaXN0Y2xlYW5fY29uZmlnIikKICAgIGlmIEBkaXN0Y2xlYW5fY29uZmlnOwoK ICAjIERpc3RyaWJ1dGUgYW5kIGRlZmluZSBta2luc3RhbGxkaXJzIG9ubHkgaWYgaXQgaXMg YWxyZWFkeSBwcmVzZW50CiAgIyBpbiB0aGUgcGFja2FnZSwgZm9yIGJhY2t3YXJkIGNvbXBh dGliaWxpdHkgKHNvbWUgcGVvcGxlIG1heSBzdGlsbAogICMgdXNlICQobWtpbnN0YWxsZGly cykpLgogICMgVE9ETzogc3RhcnQgd2FybmluZyBhYm91dCB0aGlzIGluIEF1dG9tYWtlIDEu MTQsIGFuZCBoYXZlCiAgIyBUT0RPOiBBdXRvbWFrZSAyLjAgZHJvcCBpdCAoYW5kIHRoZSBt a2luc3RhbGxkaXJzIHNjcmlwdAogICMgVE9ETzogYXMgd2VsbCkuCiAgbXkgJG1raWRwYXRo ID0gIiRjb25maWdfYXV4X2Rpci9ta2luc3RhbGxkaXJzIjsKICBpZiAoLWYgJG1raWRwYXRo KQogICAgewogICAgICAjIFVzZSByZXF1aXJlX2ZpbGUgc28gdGhhdCBhbnkgZXhpc3Rpbmcg c2NyaXB0IGdldHMgdXBkYXRlZAogICAgICAjIGJ5IC0tZm9yY2UtbWlzc2luZy4KICAgICAg cmVxdWlyZV9jb25mX2ZpbGUgKCRta2lkcGF0aCwgRk9SRUlHTiwgJ21raW5zdGFsbGRpcnMn KTsKICAgICAgZGVmaW5lX3ZhcmlhYmxlICgnbWtpbnN0YWxsZGlycycsCgkJICAgICAgICJc JChTSEVMTCkgJGFtX2NvbmZpZ19hdXhfZGlyL21raW5zdGFsbGRpcnMiLCBJTlRFUk5BTCk7 CiAgICB9CiAgZWxzZQogICAgewogICAgICAjIFVzZSAkKGluc3RhbGxfc2gpLCBub3QgJChN S0RJUl9QKSBiZWNhdXNlIHRoZSBsYXR0ZXIgcmVxdWlyZXMKICAgICAgIyBhdCBsZWFzdCBv bmUgYXJndW1lbnQsIGFuZCAkKG1raW5zdGFsbGRpcnMpIHVzZWQgdG8gd29yawogICAgICAj IGV2ZW4gd2l0aG91dCBhcmd1bWVudHMgKGUuZy4gJChta2luc3RhbGxkaXJzKSAkKGNvbmRp dGlvbmFsX2RpcikpLgogICAgICBkZWZpbmVfdmFyaWFibGUgKCdta2luc3RhbGxkaXJzJywg JyQoaW5zdGFsbF9zaCkgLWQnLCBJTlRFUk5BTCk7CiAgICB9CgogIHJlamVjdF92YXIgKCdD T05GSUdfSEVBREVSJywKCSAgICAgICInQ09ORklHX0hFQURFUicgaXMgYW4gYW5hY2hyb25p c207IG5vdyBkZXRlcm1pbmVkICIKCSAgICAgIC4gImF1dG9tYXRpY2FsbHlcbmZyb20gJyRj b25maWd1cmVfYWMnIik7CgogIG15IEBjb25maWdfaDsKICBmb3JlYWNoIG15ICRzcGVjIChA Y29uZmlnX2hlYWRlcnMpCiAgICB7CiAgICAgIG15ICgkb3V0LCBAaW5zKSA9IHNwbGl0X2Nv bmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKICAgICAgIyBHZW5lcmF0ZSBDT05GSUdfSEVBREVS IGRlZmluZS4KICAgICAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgZGlybmFtZSAoJG91dCkpCgl7 CgkgIHB1c2ggQGNvbmZpZ19oLCBiYXNlbmFtZSAoJG91dCk7Cgl9CiAgICAgIGVsc2UKCXsK CSAgcHVzaCBAY29uZmlnX2gsICJcJCh0b3BfYnVpbGRkaXIpLyRvdXQiOwoJfQogICAgfQog IGRlZmluZV92YXJpYWJsZSAoIkNPTkZJR19IRUFERVIiLCAiQGNvbmZpZ19oIiwgSU5URVJO QUwpCiAgICBpZiBAY29uZmlnX2g7CgogICMgTm93IGxvb2sgZm9yIG90aGVyIGZpbGVzIGlu IHRoaXMgZGlyZWN0b3J5IHdoaWNoIG11c3QgYmUgcmVtYWRlCiAgIyBieSBjb25maWcuc3Rh dHVzLCBhbmQgZ2VuZXJhdGUgcnVsZXMgZm9yIHRoZW0uCiAgbXkgQGFjdHVhbF9vdGhlcl9m aWxlcyA9ICgpOwogICMgVGhlc2UgZ2V0IGNsZWFuZWQgb25seSBpbiBhIFZQQVRIIGJ1aWxk LgogIG15IEBhY3R1YWxfb3RoZXJfdnBhdGhfZmlsZXMgPSAoKTsKICBmb3JlYWNoIG15ICRs ZmlsZSAoQG90aGVyX2lucHV0X2ZpbGVzKQogICAgewogICAgICBteSAkZmlsZTsKICAgICAg bXkgQGlucHV0czsKICAgICAgaWYgKCRsZmlsZSA9fiAvXihbXjpdKik6KC4qKSQvKQoJewoJ ICAjIFRoaXMgaXMgdGhlICI6IiBzeW50YXggb2YgQUNfT1VUUFVULgoJICAkZmlsZSA9ICQx OwoJICBAaW5wdXRzID0gc3BsaXQgKCc6JywgJDIpOwoJfQogICAgICBlbHNlCgl7CgkgICMg Tm9ybWFsIHVzYWdlLgoJICAkZmlsZSA9ICRsZmlsZTsKCSAgQGlucHV0cyA9ICRmaWxlIC4g Jy5pbic7Cgl9CgogICAgICAjIEF1dG9tYWtlIGZpbGVzIHNob3VsZCBub3QgYmUgc3RvcmVk IGluIGhlcmUsIGJ1dCBpbiAlTUFLRV9MSVNULgogICAgICBwcm9nX2Vycm9yICgiJGxmaWxl IGluIFxAb3RoZXJfaW5wdXRfZmlsZXNcbiIKCQkgIC4gIlxAb3RoZXJfaW5wdXRfZmlsZXMg PSAoQG90aGVyX2lucHV0X2ZpbGVzKSIpCglpZiAtZiAkZmlsZSAuICcuYW0nOwoKICAgICAg bXkgJGxvY2FsID0gYmFzZW5hbWUgKCRmaWxlKTsKCiAgICAgICMgV2Ugc2tpcCBmaWxlcyB0 aGF0IGFyZW4ndCBpbiB0aGlzIGRpcmVjdG9yeS4gIEhvd2V2ZXIsIGlmCiAgICAgICMgdGhl IGZpbGUncyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2VmaWxlLCBhbmQgd2UgYXJl CiAgICAgICMgY3VycmVudGx5IGRvaW5nICcuJywgdGhlbiB3ZSBjcmVhdGUgYSBydWxlIHRv IHJlYnVpbGQgdGhlCiAgICAgICMgZmlsZSBpbiB0aGUgc3ViZGlyLgogICAgICBteSAkZmQg PSBkaXJuYW1lICgkZmlsZSk7CiAgICAgIGlmICgkZmQgbmUgJHJlbGF0aXZlX2RpcikKCXsK CSAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpCgkg ICAgewoJICAgICAgJGxvY2FsID0gJGZpbGU7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAg ICAgbmV4dDsKCSAgICB9Cgl9CgogICAgICBteSBAcmV3cml0dGVuX2lucHV0cyA9IHJld3Jp dGVfaW5wdXRzX2ludG9fZGVwZW5kZW5jaWVzICgkZmlsZSwgQGlucHV0cyk7CgogICAgICAj IENhbm5vdCBvdXRwdXQgcnVsZXMgZm9yIHNoZWxsIHZhcmlhYmxlcy4KICAgICAgbmV4dCBp ZiAoc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMgJGxvY2FsKSA9fiAvXCQvOwoKICAg ICAgbXkgJGNvbmRzdHIgPSAnJzsKICAgICAgbXkgJGNvbmQgPSAkYWNfY29uZmlnX2ZpbGVz X2NvbmRpdGlvbnskbGZpbGV9OwogICAgICBpZiAoZGVmaW5lZCAkY29uZCkKICAgICAgICB7 CgkgICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgQXV0b21ha2U6OlJ1bGU6 OmRlZmluZSAoJGxvY2FsLCAkY29uZmlndXJlX2FjLCBSVUxFX0FVVE9NQUtFLCAkY29uZCwK CQkJCSAgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZmlsZX0pOwogICAgICAgIH0KICAg ICAgJG91dHB1dF9ydWxlcyAuPSAoJGNvbmRzdHIgLiAkbG9jYWwgLiAnOiAnCgkJCS4gJyQo dG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICcKCQkJLiAiQHJld3JpdHRlbl9pbnB1dHNc biIKCQkJLiAkY29uZHN0ciAuICJcdCIKCQkJLiAnY2QgJCh0b3BfYnVpbGRkaXIpICYmICcK CQkJLiAnJChTSEVMTCkgLi9jb25maWcuc3RhdHVzICcKCQkJLiAoJHJlbGF0aXZlX2RpciBl cSAnLicgPyAnJyA6ICckKHN1YmRpcikvJykKCQkJLiAnJEAnCgkJCS4gIlxuIik7CiAgICAg IHB1c2ggKEBhY3R1YWxfb3RoZXJfZmlsZXMsICRsb2NhbCk7CiAgICB9CgogICMgRm9yIGxp bmtzIHdlIHNob3VsZCBjbGVhbiBkZXN0aW5hdGlvbnMgYW5kIGRpc3RyaWJ1dGUgc291cmNl cy4KICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2xpbmtzKQogICAgewogICAgICBteSAo JGxpbmssICRmaWxlKSA9IHNwbGl0IC86LywgJHNwZWM7CiAgICAgICMgU29tZSBwZW9wbGUg ZG8gQUNfQ09ORklHX0xJTktTKCRjb21wdXRlZCkuICBXZSBvbmx5IGhhbmRsZQogICAgICAj IHRoZSBERVNUOlNSQyBmb3JtLgogICAgICBuZXh0IHVubGVzcyAkZmlsZTsKICAgICAgbXkg JHdoZXJlID0gJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskbGlua307CgogICAgICAjIFNr aXAgZGVzdGluYXRpb25zIHRoYXQgY29udGFpbiBzaGVsbCB2YXJpYWJsZXMuCiAgICAgIGlm ICgoc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMgJGxpbmspICF+IC9cJC8pCgl7Cgkg ICMgV2Ugc2tpcCBsaW5rcyB0aGF0IGFyZW4ndCBpbiB0aGlzIGRpcmVjdG9yeS4gIEhvd2V2 ZXIsIGlmCgkgICMgdGhlIGxpbmsncyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2Vm aWxlLCBhbmQgd2UgYXJlCgkgICMgY3VycmVudGx5IGRvaW5nICcuJywgdGhlbiB3ZSBhZGQg dGhlIGxpbmsgdG8gQ09ORklHX0NMRUFOX0ZJTEVTCgkgICMgaW4gJy4ncyBNYWtlZmlsZS5p bi4KCSAgbXkgJGxvY2FsID0gYmFzZW5hbWUgKCRsaW5rKTsKCSAgbXkgJGZkID0gZGlybmFt ZSAoJGxpbmspOwoJICBpZiAoJGZkIG5lICRyZWxhdGl2ZV9kaXIpCgkgICAgewoJICAgICAg aWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpCgkJewoJ CSAgJGxvY2FsID0gJGxpbms7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRsb2NhbCA9IHVu ZGVmOwoJCX0KCSAgICB9CgkgIGlmICgkZmlsZSBuZSAkbGluaykKCSAgICB7CgkgICAgICBw dXNoIEBhY3R1YWxfb3RoZXJfZmlsZXMsICRsb2NhbCBpZiAkbG9jYWw7CgkgICAgfQoJICBl bHNlCgkgICAgewoJICAgICAgcHVzaCBAYWN0dWFsX290aGVyX3ZwYXRoX2ZpbGVzLCAkbG9j YWwgaWYgJGxvY2FsOwoJICAgIH0KCX0KCiAgICAgICMgRG8gbm90IHByb2Nlc3Mgc291cmNl cyB0aGF0IGNvbnRhaW4gc2hlbGwgdmFyaWFibGVzLgogICAgICBpZiAoKHN1YnN0aXR1dGVf YWNfc3Vic3RfdmFyaWFibGVzICRmaWxlKSAhfiAvXCQvKQoJewoJICBteSAkZmQgPSBkaXJu YW1lICgkZmlsZSk7CgoJICAjIFdlIGRpc3RyaWJ1dGUgZmlsZXMgdGhhdCBhcmUgaW4gdGhp cyBkaXJlY3RvcnkuCgkgICMgQXQgdGhlIHRvcC1sZXZlbCAoJy4nKSB3ZSBhbHNvIGRpc3Ry aWJ1dGUgZmlsZXMgd2hvc2UKCSAgIyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2Vm aWxlLgoJICBpZiAoKCRmZCBlcSAkcmVsYXRpdmVfZGlyKQoJICAgICAgfHwgKCRyZWxhdGl2 ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpKQoJICAgIHsKCSAgICAgICMg VGhlIGZvbGxvd2luZyB3aWxsIGRpc3RyaWJ1dGUgJGZpbGUgYXMgYSBzaWRlLWVmZmVjdCB3 aGVuCgkgICAgICAjIGl0IGlzIGFwcHJvcHJpYXRlIChpLmUuLCB3aGVuICRmaWxlIGlzIG5v dCBhbHJlYWR5IGFuIG91dHB1dCkuCgkgICAgICAjIFdlIGRvIG5vdCBuZWVkIHRoZSByZXN1 bHQsIGp1c3QgdGhlIHNpZGUtZWZmZWN0LgoJICAgICAgcmV3cml0ZV9pbnB1dHNfaW50b19k ZXBlbmRlbmNpZXMgKCRsaW5rLCAkZmlsZSk7CgkgICAgfQoJfQogICAgfQoKICAjIFRoZXNl IGZpbGVzIGdldCByZW1vdmVkIGJ5ICJtYWtlIGRpc3RjbGVhbiIuCiAgZGVmaW5lX3ByZXR0 eV92YXJpYWJsZSAoJ0NPTkZJR19DTEVBTl9GSUxFUycsIFRSVUUsIElOVEVSTkFMLAoJCQkg IEBhY3R1YWxfb3RoZXJfZmlsZXMpOwogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdDT05G SUdfQ0xFQU5fVlBBVEhfRklMRVMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBAYWN0dWFsX290 aGVyX3ZwYXRoX2ZpbGVzKTsKfQoKc3ViIGhhbmRsZV9oZWFkZXJzICgpCnsKICAgIG15IEBy ID0gYW1faW5zdGFsbF92YXIgKCctZGVmYXVsdGRpc3QnLCAnaGVhZGVyJywgJ0hFQURFUlMn LCAnaW5jbHVkZScsCgkJCSAgICAnb2xkaW5jbHVkZScsICdwa2dpbmNsdWRlJywKCQkJICAg ICdub2luc3QnLCAnY2hlY2snKTsKICAgIGZvcmVhY2ggKEByKQogICAgewogICAgICBuZXh0 IHVubGVzcyAkXy0+WzFdID1+IC9cLi4qJC87CiAgICAgIHNhd19leHRlbnNpb24gKCQmKTsK ICAgIH0KfQoKc3ViIGhhbmRsZV9nZXR0ZXh0ICgpCnsKICByZXR1cm4gaWYgISAkc2Vlbl9n ZXR0ZXh0IHx8ICRyZWxhdGl2ZV9kaXIgbmUgJy4nOwoKICBteSAkc3ViZGlycyA9IHZhciAn U1VCRElSUyc7CgogIGlmICghICRzdWJkaXJzKQogICAgewogICAgICBlcnJfYWMgIkFNX0dO VV9HRVRURVhUIHVzZWQgYnV0IFNVQkRJUlMgbm90IGRlZmluZWQiOwogICAgICByZXR1cm47 CiAgICB9CgogICMgUGVyZm9ybSBzb21lIHNhbml0eSBjaGVja3MgdG8gaGVscCB1c2VycyBn ZXQgdGhlIHJpZ2h0IHNldHVwLgogICMgV2UgZGlzYWJsZSB0aGVzZSB0ZXN0cyB3aGVuIHBv LyBkb2Vzbid0IGV4aXN0IGluIG9yZGVyIG5vdCB0byBkaXNhbGxvdwogICMgdW51c3VhbCBn ZXR0ZXh0IHNldHVwcy4KICAjCiAgIyBCcnVubyBIYWlibGU6CiAgIyB8IFRoZSBpZGVhIGlz OgogICMgfAogICMgfCAgMSkgSWYgYSBwYWNrYWdlIGRvZXNuJ3QgaGF2ZSBhIGRpcmVjdG9y eSBwby8gYXQgdG9wIGxldmVsLCBpdAogICMgfCAgICAgd2lsbCBsaWtlbHkgaGF2ZSBtdWx0 aXBsZSBwby8gZGlyZWN0b3JpZXMgaW4gc3VicGFja2FnZXMuCiAgIyB8CiAgIyB8ICAyKSBJ dCBpcyB1c2VmdWwgdG8gd2FybiBmb3IgdGhlIGFic2VuY2Ugb2YgaW50bC8gaWYgQU1fR05V X0dFVFRFWFQKICAjIHwgICAgIGlzIHVzZWQgd2l0aG91dCAnZXh0ZXJuYWwnLiBJdCBpcyBh bHNvIHVzZWZ1bCB0byB3YXJuIGZvciB0aGUKICAjIHwgICAgIHByZXNlbmNlIG9mIGludGwv IGlmIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pIGlzIHVzZWQuIEJvdGgKICAjIHwgICAg IHdhcm5pbmdzIGFwcGx5IG9ubHkgdG8gdGhlIHVzdWFsIGxheW91dCBvZiBwYWNrYWdlcywg dGhlcmVmb3JlCiAgIyB8ICAgICB0aGV5IHNob3VsZCBib3RoIGJlIGRpc2FibGVkIGlmIG5v IHBvLyBkaXJlY3RvcnkgaXMgZm91bmQgYXQKICAjIHwgICAgIHRvcCBsZXZlbC4KCiAgaWYg KC1kICdwbycpCiAgICB7CiAgICAgIG15IEBzdWJkaXJzID0gJHN1YmRpcnMtPnZhbHVlX2Fz X2xpc3RfcmVjdXJzaXZlOwoKICAgICAgbXNnX3ZhciAoJ3N5bnRheCcsICRzdWJkaXJzLAoJ ICAgICAgICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCAncG8nIG5vdCBpbiBTVUJESVJTIikK CWlmICEgZ3JlcCAoJF8gZXEgJ3BvJywgQHN1YmRpcnMpOwoKICAgICAgIyBpbnRsLyBpcyBu b3QgcmVxdWlyZWQgd2hlbiBBTV9HTlVfR0VUVEVYVCBpcyBjYWxsZWQgd2l0aCB0aGUKICAg ICAgIyAnZXh0ZXJuYWwnIG9wdGlvbiBhbmQgQU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVIg aXMgbm90IGNhbGxlZC4KICAgICAgbXNnX3ZhciAoJ3N5bnRheCcsICRzdWJkaXJzLAoJICAg ICAgICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCAnaW50bCcgbm90IGluIFNVQkRJUlMiKQoJ aWYgKCEgKCRzZWVuX2dldHRleHRfZXh0ZXJuYWwgJiYgISAkc2Vlbl9nZXR0ZXh0X2ludGwp CgkgICAgJiYgISBncmVwICgkXyBlcSAnaW50bCcsIEBzdWJkaXJzKSk7CgogICAgICAjIGlu dGwvIHNob3VsZCBub3QgYmUgdXNlZCB3aXRoIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0p LCBleGNlcHQKICAgICAgIyBpZiBBTV9HTlVfR0VUVEVYVF9JTlRMX1NVQkRJUiBpcyBjYWxs ZWQuCiAgICAgIG1zZ192YXIgKCdzeW50YXgnLCAkc3ViZGlycywKCSAgICAgICAiJ2ludGwn IHNob3VsZCBub3QgYmUgaW4gU1VCRElSUyB3aGVuICIKCSAgICAgICAuICJBTV9HTlVfR0VU VEVYVChbZXh0ZXJuYWxdKSBpcyB1c2VkIikKCWlmICgkc2Vlbl9nZXR0ZXh0X2V4dGVybmFs ICYmICEgJHNlZW5fZ2V0dGV4dF9pbnRsCgkgICAgJiYgZ3JlcCAoJF8gZXEgJ2ludGwnLCBA c3ViZGlycykpOwogICAgfQoKICByZXF1aXJlX2ZpbGUgKCRhY19nZXR0ZXh0X2xvY2F0aW9u LCBHTlUsICdBQk9VVC1OTFMnKTsKfQoKIyBFbWl0IG1ha2VmaWxlIGZvb3Rlci4Kc3ViIGhh bmRsZV9mb290ZXIgKCkKewogICAgcmVqZWN0X3J1bGUgKCcuU1VGRklYRVMnLAoJCSAidXNl IHZhcmlhYmxlICdTVUZGSVhFUycsIG5vdCB0YXJnZXQgJy5TVUZGSVhFUyciKTsKCiAgICAj IE5vdGU6IEFJWCA0LjEgL2Jpbi9tYWtlIHdpbGwgZmFpbCBpZiBhbnkgc3VmZml4IHJ1bGUg YXBwZWFycwogICAgIyBiZWZvcmUgLlNVRkZJWEVTLiAgU28gd2UgbWFrZSBzdXJlIHRoYXQg LlNVRkZJWEVTIGFwcGVhcnMgYmVmb3JlCiAgICAjIGFueXRoaW5nIGVsc2UsIGJ5IHN0aWNr aW5nIGl0IHJpZ2h0IGFmdGVyIHRoZSBkZWZhdWx0OiB0YXJnZXQuCiAgICAkb3V0cHV0X2hl YWRlciAuPSAiLlNVRkZJWEVTOlxuIjsKICAgIG15ICRzdWZmaXhlcyA9IHZhciAnU1VGRklY RVMnOwogICAgbXkgQHN1ZmZpeGVzID0gQXV0b21ha2U6OlJ1bGU6OnN1ZmZpeGVzOwogICAg aWYgKEBzdWZmaXhlcyB8fCAkc3VmZml4ZXMpCiAgICB7CgkjIE1ha2Ugc3VyZSBTVUZGSVhF UyBoYXMgdW5pcXVlIGVsZW1lbnRzLiAgU29ydCB0aGVtIHRvIGVuc3VyZQoJIyB0aGUgb3V0 cHV0IHJlbWFpbnMgY29uc2lzdGVudC4gIEhvd2V2ZXIsICQoU1VGRklYRVMpIGlzCgkjIGFs d2F5cyBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpc3QsIHVuc29ydGVkLiAgVGhpcyBpcyBkb25l CgkjIGJlY2F1c2UgbWFrZSB3aWxsIGNob29zZSBydWxlcyBkZXBlbmRpbmcgb24gdGhlIG9y ZGVyaW5nIG9mCgkjIHN1ZmZpeGVzLCBhbmQgdGhpcyBsZXRzIHRoZSB1c2VyIGhhdmUgc29t ZSBjb250cm9sLiAgUHVzaAoJIyBhY3R1YWwgc3VmZml4ZXMsIGFuZCBub3QgJChTVUZGSVhF UykuICBTb21lIHZlcnNpb25zIG9mIG1ha2UKCSMgZG8gbm90IGxpa2UgdmFyaWFibGUgc3Vi c3RpdHV0aW9ucyBvbiB0aGUgLlNVRkZJWEVTIGxpbmUuCglteSBAdXNlcl9zdWZmaXhlcyA9 ICgkc3VmZml4ZXMKCQkJICAgICA/ICRzdWZmaXhlcy0+dmFsdWVfYXNfbGlzdF9yZWN1cnNp dmUgOiAoKSk7CgoJbXkgJXN1ZmZpeGVzID0gbWFwIHsgJF8gPT4gMSB9IEBzdWZmaXhlczsK CWRlbGV0ZSBAc3VmZml4ZXN7QHVzZXJfc3VmZml4ZXN9OwoKCSRvdXRwdXRfaGVhZGVyIC49 ICgiLlNVRkZJWEVTOiAiCgkJCSAgIC4gam9pbiAoJyAnLCBAdXNlcl9zdWZmaXhlcywgc29y dCBrZXlzICVzdWZmaXhlcykKCQkJICAgLiAiXG4iKTsKICAgIH0KCiAgICAkb3V0cHV0X3Ry YWlsZXIgLj0gZmlsZV9jb250ZW50cyAoJ2Zvb3RlcicsIG5ldyBBdXRvbWFrZTo6TG9jYXRp b24pOwp9CgoKIyBHZW5lcmF0ZSAnbWFrZSBpbnN0YWxsJyBydWxlcy4Kc3ViIGhhbmRsZV9p bnN0YWxsICgpCnsKICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMKICAgICgnaW5z dGFsbCcsCiAgICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICBtYXliZV9CVUlMVF9T T1VSQ0VTID0+IChzZXRfc2VlbiAoJ0JVSUxUX1NPVVJDRVMnKQoJCQkgICAgID8gKCIgXCQo QlVJTFRfU09VUkNFUylcbiIKCQkJCS4gIlx0XCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSIp CgkJCSAgICAgOiAnJyksCiAgICAgJ2luc3RhbGxkaXJzLWxvY2FsJyA9PiAodXNlcl9waG9u eV9ydWxlICgnaW5zdGFsbGRpcnMtbG9jYWwnKQoJCQkgICAgID8gJyBpbnN0YWxsZGlycy1s b2NhbCcgOiAnJyksCiAgICAgYW1fX2luc3RhbGxkaXJzID0+IHZhcmlhYmxlX3ZhbHVlICgn YW1fX2luc3RhbGxkaXJzJykgfHwgJycpOwp9CgoKIyBoYW5kbGVfYWxsICgkTUFLRUZJTEUp CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERlYWwgd2l0aCAnYWxsJyBhbmQgJ2FsbC1h bScuCnN1YiBoYW5kbGVfYWxsCnsKICAgIG15ICgkbWFrZWZpbGUpID0gQF87CgogICAgIyBP dXRwdXQgJ2FsbC1hbScuCgogICAgIyBQdXQgdGhpcyBhdCB0aGUgYmVnaW5uaW5nIGZvciB0 aGUgc2FrZSBvZiBub24tR05VIG1ha2VzLiAgVGhpcwogICAgIyBpcyBzdGlsbCB3cm9uZyBp ZiB0aGVzZSBtYWtlcyBjYW4gcnVuIHBhcmFsbGVsIGpvYnMuICBCdXQgaXQgaXMKICAgICMg cmlnaHQgZW5vdWdoLgogICAgdW5zaGlmdCAoQGFsbCwgYmFzZW5hbWUgKCRtYWtlZmlsZSkp OwoKICAgIGZvcmVhY2ggbXkgJHNwZWMgKEBjb25maWdfaGVhZGVycykKICAgICAgewoJbXkg KCRvdXQsIEBpbnMpID0gc3BsaXRfY29uZmlnX2ZpbGVfc3BlYyAoJHNwZWMpOwoJcHVzaCAo QGFsbCwgYmFzZW5hbWUgKCRvdXQpKQoJICBpZiBkaXJuYW1lICgkb3V0KSBlcSAkcmVsYXRp dmVfZGlyOwogICAgICB9CgogICAgIyBJbnN0YWxsICdhbGwnIGhvb2tzLgogICAgcHVzaCAo QGFsbCwgImFsbC1sb2NhbCIpCiAgICAgIGlmIHVzZXJfcGhvbnlfcnVsZSAiYWxsLWxvY2Fs IjsKCiAgICBwcmV0dHlfcHJpbnRfcnVsZSAoImFsbC1hbToiLCAiXHRcdCIsIEBhbGwpOwog ICAgZGVwZW5kICgnLlBIT05ZJywgJ2FsbC1hbScsICdhbGwnKTsKCgogICAgIyBPdXRwdXQg J2FsbCcuCgogICAgbXkgQGxvY2FsX2hlYWRlcnMgPSAoKTsKICAgIHB1c2ggQGxvY2FsX2hl YWRlcnMsICckKEJVSUxUX1NPVVJDRVMpJwogICAgICBpZiB2YXIgKCdCVUlMVF9TT1VSQ0VT Jyk7CiAgICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2hlYWRlcnMpCiAgICAgIHsKCW15 ICgkb3V0LCBAaW5zKSA9IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKCXB1c2gg QGxvY2FsX2hlYWRlcnMsIGJhc2VuYW1lICgkb3V0KQoJICBpZiBkaXJuYW1lICgkb3V0KSBl cSAkcmVsYXRpdmVfZGlyOwogICAgICB9CgogICAgaWYgKEBsb2NhbF9oZWFkZXJzKQogICAg ICB7CgkjIFdlIG5lZWQgdG8gbWFrZSBzdXJlIGNvbmZpZy5oIGlzIGJ1aWx0IGJlZm9yZSB3 ZSByZWN1cnNlLgoJIyBXZSBhbHNvIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgYnVpbHQgc291 cmNlcyBhcmUgYnVpbHQKCSMgYmVmb3JlIGFueSBvcmRpbmFyeSAnYWxsJyB0YXJnZXRzIGFy ZSBydW4uICBXZSBjYW4ndCBkbyB0aGlzCgkjIGJ5IGNoYW5naW5nIHRoZSBvcmRlciBvZiBk ZXBlbmRlbmNpZXMgdG8gdGhlICJhbGwiIGJlY2F1c2UKCSMgdGhhdCBicmVha3Mgd2hlbiB1 c2luZyBwYXJhbGxlbCBtYWtlcy4gIEluc3RlYWQgd2UgaGFuZGxlCgkjIHRoaW5ncyBleHBs aWNpdGx5LgoJJG91dHB1dF9hbGwgLj0gKCJhbGw6IEBsb2NhbF9oZWFkZXJzIgoJCQkuICJc blx0IgoJCQkuICckKE1BS0UpICQoQU1fTUFLRUZMQUdTKSAnCgkJCS4gKHZhciAoJ1NVQkRJ UlMnKSA/ICdhbGwtcmVjdXJzaXZlJyA6ICdhbGwtYW0nKQoJCQkuICJcblxuIik7CiAgICAg ICAgZGVwZW5kICgnLk1BS0UnLCAnYWxsJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJ JG91dHB1dF9hbGwgLj0gImFsbDogIiAuICh2YXIgKCdTVUJESVJTJykKCQkJCSAgPyAnYWxs LXJlY3Vyc2l2ZScgOiAnYWxsLWFtJykgLiAiXG5cbiI7CiAgICAgIH0KfQoKIyBHZW5lcmF0 ZSBoZWxwZXIgdGFyZ2V0cyBmb3IgdXNlci1kZWZpbmVkIHJlY3Vyc2l2ZSB0YXJnZXRzLCB3 aGVyZSBuZWVkZWQuCnN1YiBoYW5kbGVfdXNlcl9yZWN1cnNpb24gKCkKewogIHJldHVybiB1 bmxlc3MgQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzOwoKICBkZWZpbmVfcHJldHR5X3Zhcmlh YmxlICgnYW1fX2V4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzJywgVFJVRSwgSU5URVJOQUwsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFwIHsgIiRfLXJlY3Vyc2l2ZSIgfSBAZXh0cmFf cmVjdXJzaXZlX3RhcmdldHMpOwogIG15ICRhdXggPSB2YXIgKCdTVUJESVJTJykgPyAncmVj dXJzaXZlJyA6ICdhbSc7CiAgZm9yZWFjaCBteSAkdGFyZ2V0IChAZXh0cmFfcmVjdXJzaXZl X3RhcmdldHMpCiAgICB7CiAgICAgICMgVGhpcyBhbGxvd3MgdGhlIGRlZmF1bHQgdGFyZ2V0 J3MgcnVsZXMgdG8gYmUgb3ZlcnJpZGRlbiBpbgogICAgICAjIE1ha2VmaWxlLmFtLgogICAg ICB1c2VyX3Bob255X3J1bGUgKCR0YXJnZXQpOwogICAgICBkZXBlbmQgKCIkdGFyZ2V0Iiwg IiR0YXJnZXQtJGF1eCIpOwogICAgICBkZXBlbmQgKCIkdGFyZ2V0LWFtIiwgIiR0YXJnZXQt bG9jYWwiKTsKICAgICAgIyBFdmVyeSB1c2VyLWRlZmluZWQgcmVjdXJzaXZlIHRhcmdldCAn Zm9vJyAqbXVzdCogaGF2ZSBhIHZhbGlkCiAgICAgICMgYXNzb2NpYXRlZCAnZm9vLWxvY2Fs JyBydWxlOyB3ZSBkZWZpbmUgaXQgYXMgYW4gZW1wdHkgcnVsZSBieQogICAgICAjIGRlZmF1 bHQsIHNvIHRoYXQgdGhlIHVzZXIgY2FuIHRyYW5zcGFyZW50bHkgZXh0ZW5kIGl0IGluIGhp cwogICAgICAjIG93biBNYWtlZmlsZS5hbS4KICAgICAgcHJldHR5X3ByaW50X3J1bGUgKCIk dGFyZ2V0LWxvY2FsOiIsICcnLCAnJyk7CiAgICAgICMgJHRhcmdldC1yZWN1cnNpdmUgbWln aHQgYXMgd2VsbCBiZSB1bmRlZmluZWQsIHNvIGRvIG5vdCBhZGQKICAgICAgIyBpdCBoZXJl OyBpdCdzIHRha2VuIGNhcmUgb2YgaW4gc3ViZGlycy5hbSBhbnl3YXkuCiAgICAgIGRlcGVu ZCAoIi5QSE9OWSIsICIkdGFyZ2V0LWFtIiwgIiR0YXJnZXQtbG9jYWwiKTsKICAgIH0KfQoK CiMgSGFuZGxlIGNoZWNrIG1lcmdlIHRhcmdldCBzcGVjaWFsbHkuCnN1YiBkb19jaGVja19t ZXJnZV90YXJnZXQgKCkKewogICMgSW5jbHVkZSB1c2VyLWRlZmluZWQgbG9jYWwgZm9ybSBv ZiB0YXJnZXQuCiAgcHVzaCBAY2hlY2tfdGVzdHMsICdjaGVjay1sb2NhbCcKICAgIGlmIHVz ZXJfcGhvbnlfcnVsZSAnY2hlY2stbG9jYWwnOwoKICAjIFRoZSBjaGVjayB0YXJnZXQgbXVz dCBkZXBlbmQgb24gdGhlIGxvY2FsIGVxdWl2YWxlbnQgb2YKICAjICdhbGwnLCB0byBlbnN1 cmUgYWxsIHRoZSBwcmltYXJ5IHRhcmdldHMgYXJlIGJ1aWx0LiAgVGhlbiBpdAogICMgbXVz dCBidWlsZCB0aGUgbG9jYWwgY2hlY2sgcnVsZXMuCiAgJG91dHB1dF9ydWxlcyAuPSAiY2hl Y2stYW06IGFsbC1hbVxuIjsKICBpZiAoQGNoZWNrKQogICAgewogICAgICBwcmV0dHlfcHJp bnRfcnVsZSAoIlx0XCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSIsICJcdCAgIiwgQGNoZWNr KTsKICAgICAgZGVwZW5kICgnLk1BS0UnLCAnY2hlY2stYW0nKTsKICAgIH0KCiAgaWYgKEBj aGVja190ZXN0cykKICAgIHsKICAgICAgcHJldHR5X3ByaW50X3J1bGUgKCJcdFwkKE1BS0Up IFwkKEFNX01BS0VGTEFHUykiLCAiXHQgICIsCgkJCSBAY2hlY2tfdGVzdHMpOwogICAgICBk ZXBlbmQgKCcuTUFLRScsICdjaGVjay1hbScpOwogICAgfQoKICBkZXBlbmQgJy5QSE9OWScs ICdjaGVjaycsICdjaGVjay1hbSc7CiAgIyBIYW5kbGUgcmVjdXJzaW9uLiAgV2UgaGF2ZSB0 byBob25vciBCVUlMVF9TT1VSQ0VTIGxpa2UgZm9yICdhbGw6Jy4KICAkb3V0cHV0X3J1bGVz IC49ICgiY2hlY2s6ICIKCQkgICAgLiAodmFyICgnQlVJTFRfU09VUkNFUycpCgkJICAgICAg ID8gIlwkKEJVSUxUX1NPVVJDRVMpXG5cdFwkKE1BS0UpIFwkKEFNX01BS0VGTEFHUykgIgoJ CSAgICAgICA6ICcnKQoJCSAgICAuICh2YXIgKCdTVUJESVJTJykgPyAnY2hlY2stcmVjdXJz aXZlJyA6ICdjaGVjay1hbScpCgkJICAgIC4gIlxuIik7CiAgZGVwZW5kICgnLk1BS0UnLCAn Y2hlY2snKQogICAgaWYgdmFyICgnQlVJTFRfU09VUkNFUycpOwp9CgojIEhhbmRsZSBhbGwg J2NsZWFuJyB0YXJnZXRzLgpzdWIgaGFuZGxlX2NsZWFuCnsKICBteSAoJG1ha2VmaWxlKSA9 IEBfOwoKICAjIENsZWFuIHRoZSBmaWxlcyBsaXN0ZWQgaW4gdXNlciB2YXJpYWJsZXMgaWYg dGhleSBleGlzdC4KICAkY2xlYW5fZmlsZXN7JyQoTU9TVExZQ0xFQU5GSUxFUyknfSA9IE1P U1RMWV9DTEVBTgogICAgaWYgdmFyICgnTU9TVExZQ0xFQU5GSUxFUycpOwogICRjbGVhbl9m aWxlc3snJChDTEVBTkZJTEVTKSd9ID0gQ0xFQU4KICAgIGlmIHZhciAoJ0NMRUFORklMRVMn KTsKICAkY2xlYW5fZmlsZXN7JyQoRElTVENMRUFORklMRVMpJ30gPSBESVNUX0NMRUFOCiAg ICBpZiB2YXIgKCdESVNUQ0xFQU5GSUxFUycpOwogICRjbGVhbl9maWxlc3snJChNQUlOVEFJ TkVSQ0xFQU5GSUxFUyknfSA9IE1BSU5UQUlORVJfQ0xFQU4KICAgIGlmIHZhciAoJ01BSU5U QUlORVJDTEVBTkZJTEVTJyk7CgogICMgQnVpbHQgc291cmNlcyBhcmUgYXV0b21hdGljYWxs eSByZW1vdmVkIGJ5IG1haW50YWluZXItY2xlYW4uCiAgJGNsZWFuX2ZpbGVzeyckKEJVSUxU X1NPVVJDRVMpJ30gPSBNQUlOVEFJTkVSX0NMRUFOCiAgICBpZiB2YXIgKCdCVUlMVF9TT1VS Q0VTJyk7CgogICMgQ29tcHV0ZSBhIGxpc3Qgb2YgInJtInMgdG8gcnVuIGZvciBlYWNoIHRh cmdldC4KICBteSAlcm1zID0gKE1PU1RMWV9DTEVBTiwgW10sCgkgICAgIENMRUFOLCBbXSwK CSAgICAgRElTVF9DTEVBTiwgW10sCgkgICAgIE1BSU5UQUlORVJfQ0xFQU4sIFtdKTsKCiAg Zm9yZWFjaCBteSAkZmlsZSAoa2V5cyAlY2xlYW5fZmlsZXMpCiAgICB7CiAgICAgIG15ICR3 aGVuID0gJGNsZWFuX2ZpbGVzeyRmaWxlfTsKICAgICAgcHJvZ19lcnJvciAnaW52YWxpZCBl bnRyeSBpbiAlY2xlYW5fZmlsZXMnCgl1bmxlc3MgZXhpc3RzICRybXN7JHdoZW59OwoKICAg ICAgbXkgJHJtID0gInJtIC1mICRmaWxlIjsKICAgICAgIyBJZiBmaWxlIGlzIGEgdmFyaWFi bGUsIG1ha2Ugc3VyZSB3aGVuIGRvbid0IGNhbGwgJ3JtIC1mJyB3aXRob3V0IGFyZ3MuCiAg ICAgICRybSA9InRlc3QgLXogXCIkZmlsZVwiIHx8ICRybSIKCWlmICgkZmlsZSA9fiAvXlxz KlwkKFwoLipcKXxcey4qXH0pXHMqJC8pOwoKICAgICAgcHVzaCBAeyRybXN7JHdoZW59fSwg Ilx0LSRybVxuIjsKICAgIH0KCiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzCiAg ICAoJ2NsZWFuJywKICAgICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAogICAgIE1PU1RMWUNM RUFOX1JNUyAgICAgID0+IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3smTU9TVExZX0NMRUFOfX0p LAogICAgIENMRUFOX1JNUyAgICAgICAgICAgID0+IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3sm Q0xFQU59fSksCiAgICAgRElTVENMRUFOX1JNUyAgICAgICAgPT4gam9pbiAoJycsIHNvcnQg QHskcm1zeyZESVNUX0NMRUFOfX0pLAogICAgIE1BSU5UQUlORVJfQ0xFQU5fUk1TID0+IGpv aW4gKCcnLCBzb3J0IEB7JHJtc3smTUFJTlRBSU5FUl9DTEVBTn19KSwKICAgICBNQUtFRklM RSAgICAgICAgICAgICA9PiBiYXNlbmFtZSAkbWFrZWZpbGUsCiAgICAgKTsKfQoKCiMgU3Vi cm91dGluZSBmb3IgaGFuZGxlX2ZhY3RvcmVkX2RlcGVuZGVuY2llcygpIHRvIGxldCAnLlBI T05ZJyBhbmQKIyBvdGhlciAnLlRBUkdFVFMnIGJlIGxhc3QuICBUaGlzIGlzIG1lYW50IHRv IGJlIHVzZWQgYXMgYSBjb21wYXJpc29uCiMgc3Vicm91dGluZSBwYXNzZWQgdG8gdGhlIHNv cnQgYnVpbHQtaW50LgpzdWIgdGFyZ2V0X2NtcAp7CiAgcmV0dXJuIDAgaWYgJGEgZXEgJGI7 CgogIG15ICRhMSA9IHN1YnN0ciAoJGEsIDAsIDEpOwogIG15ICRiMSA9IHN1YnN0ciAoJGIs IDAsIDEpOwogIGlmICgkYTEgbmUgJGIxKQogICAgewogICAgICByZXR1cm4gLTEgaWYgJGIx IGVxICcuJzsKICAgICAgcmV0dXJuIDEgaWYgJGExIGVxICcuJzsKICAgIH0KICByZXR1cm4g JGEgY21wICRiOwp9CgoKIyBIYW5kbGUgZXZlcnl0aGluZyByZWxhdGVkIHRvIGdhdGhlcmVk IHRhcmdldHMuCnN1YiBoYW5kbGVfZmFjdG9yZWRfZGVwZW5kZW5jaWVzICgpCnsKICAjIFJl amVjdCBiYWQgaG9va3MuCiAgZm9yZWFjaCBteSAkdXRhcmcgKCd1bmluc3RhbGwtZGF0YS1s b2NhbCcsICd1bmluc3RhbGwtZGF0YS1ob29rJywKCQkgICAgICd1bmluc3RhbGwtZXhlYy1s b2NhbCcsICd1bmluc3RhbGwtZXhlYy1ob29rJywKCQkgICAgICd1bmluc3RhbGwtZHZpLWxv Y2FsJywKCQkgICAgICd1bmluc3RhbGwtaHRtbC1sb2NhbCcsCgkJICAgICAndW5pbnN0YWxs LWluZm8tbG9jYWwnLAoJCSAgICAgJ3VuaW5zdGFsbC1wZGYtbG9jYWwnLAoJCSAgICAgJ3Vu aW5zdGFsbC1wcy1sb2NhbCcpCiAgICB7CiAgICAgIG15ICR4ID0gJHV0YXJnOwogICAgICAk eCA9fiBzLy0uKi0vLS87CiAgICAgIHJlamVjdF9ydWxlICgkdXRhcmcsICJ1c2UgJyR4Jywg bm90ICckdXRhcmcnIik7CiAgICB9CgogIHJlamVjdF9ydWxlICgnaW5zdGFsbC1sb2NhbCcs CgkgICAgICAgInVzZSAnaW5zdGFsbC1kYXRhLWxvY2FsJyBvciAnaW5zdGFsbC1leGVjLWxv Y2FsJywgIgoJICAgICAgIC4gIm5vdCAnaW5zdGFsbC1sb2NhbCciKTsKCiAgcmVqZWN0X3J1 bGUgKCdpbnN0YWxsLWhvb2snLAoJICAgICAgICJ1c2UgJ2luc3RhbGwtZGF0YS1ob29rJyBv ciAnaW5zdGFsbC1leGVjLWhvb2snLCAiCgkgICAgICAgLiAibm90ICdpbnN0YWxsLWhvb2sn Iik7CgogICMgSW5zdGFsbCB0aGUgLWxvY2FsIGhvb2tzLgogIGZvcmVhY2ggKGtleXMgJWRl cGVuZGVuY2llcykKICAgIHsKICAgICAgIyBIb29rcyBhcmUgaW5zdGFsbGVkIG9uIHRoZSAt YW0gdGFyZ2V0cy4KICAgICAgcy8tYW0kLy8gb3IgbmV4dDsKICAgICAgZGVwZW5kICgiJF8t YW0iLCAiJF8tbG9jYWwiKQoJaWYgdXNlcl9waG9ueV9ydWxlICIkXy1sb2NhbCI7CiAgICB9 CgogICMgSW5zdGFsbCB0aGUgLWhvb2sgaG9va3MuCiAgIyBGSVhNRTogV2h5IG5vdCBiZSBh cyBsaWJlcmFsIGFzIHdlIGFyZSB3aXRoIC1sb2NhbCBob29rcz8KICBmb3JlYWNoICgnaW5z dGFsbC1leGVjJywgJ2luc3RhbGwtZGF0YScsICd1bmluc3RhbGwnKQogICAgewogICAgICBp ZiAodXNlcl9waG9ueV9ydWxlICIkXy1ob29rIikKCXsKCSAgZGVwZW5kICgnLk1BS0UnLCAi JF8tYW0iKTsKCSAgcmVnaXN0ZXJfYWN0aW9uKCIkXy1hbSIsCgkJCSAgKCJcdFxAXCQoTk9S TUFMX0lOU1RBTEwpXG4iCgkJCSAgIC4gIlx0XCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSAk Xy1ob29rIikpOwoJfQogICAgfQoKICAjIEFsbCB0aGUgcmVxdWlyZWQgdGFyZ2V0cyBhcmUg cGhvbnkuCiAgZGVwZW5kICgnLlBIT05ZJywga2V5cyAlcmVxdWlyZWRfdGFyZ2V0cyk7Cgog ICMgQWN0dWFsbHkgb3V0cHV0IGdhdGhlcmVkIHRhcmdldHMuCiAgZm9yZWFjaCAoc29ydCB0 YXJnZXRfY21wIGtleXMgJWRlcGVuZGVuY2llcykKICAgIHsKICAgICAgIyBJZiB0aGVyZSBp cyBub3RoaW5nIGFib3V0IHRoaXMgZ3V5LCBza2lwIGl0LgogICAgICBuZXh0Cgl1bmxlc3Mg KEB7JGRlcGVuZGVuY2llc3skX319CgkJfHwgJGFjdGlvbnN7JF99CgkJfHwgJHJlcXVpcmVk X3RhcmdldHN7JF99KTsKCiAgICAgICMgRGVmaW5lIGdhdGhlcmVkIHRhcmdldHMgaW4gdW5k ZWZpbmVkIGNvbmRpdGlvbnMuCiAgICAgICMgRklYTUU6IFJpZ2h0IG5vdyB3ZSBtdXN0IGhh bmRsZSAuUEhPTlkgYXMgYW4gZXhjZXB0aW9uLAogICAgICAjIGJlY2F1c2UgcGVvcGxlIHdy aXRlIHRoaW5ncyBsaWtlCiAgICAgICMgICAgLlBIT05ZOiBteXBob255dGFyZ2V0CiAgICAg ICMgdG8gYXBwZW5kIGRlcGVuZGVuY2llcy4gIFRoaXMgd291bGQgbm90IHdvcmsgaWYgQXV0 b21ha2UKICAgICAgIyByZWZyYWluZWQgZnJvbSBkZWZpbmluZyBpdHMgb3duIC5QSE9OWSB0 YXJnZXQgYXMgaXQgZG9lcwogICAgICAjIHdpdGggb3RoZXIgb3ZlcnJpZGRlbiB0YXJnZXRz LgogICAgICAjIExpa2V3aXNlIGZvciAnLk1BS0UnIGFuZCAnLlBSRUNJT1VTJy4KICAgICAg bXkgQHVuZGVmaW5lZF9jb25kcyA9IChUUlVFLCk7CiAgICAgIGlmICgkXyBuZSAnLlBIT05Z JyAmJiAkXyBuZSAnLk1BS0UnICYmICRfIG5lICcuUFJFQ0lPVVMnKQoJewoJICBAdW5kZWZp bmVkX2NvbmRzID0KCSAgICBBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgkXywgJ2ludGVybmFs JywKCQkJCSAgICBSVUxFX0FVVE9NQUtFLCBUUlVFLCBJTlRFUk5BTCk7Cgl9CiAgICAgIG15 IEB1bmlxX2RlcHMgPSB1bmlxIChzb3J0IEB7JGRlcGVuZGVuY2llc3skX319KTsKICAgICAg Zm9yZWFjaCBteSAkY29uZCAoQHVuZGVmaW5lZF9jb25kcykKCXsKCSAgbXkgJGNvbmRzdHIg PSAkY29uZC0+c3Vic3Rfc3RyaW5nOwoJICBwcmV0dHlfcHJpbnRfcnVsZSAoIiRjb25kc3Ry JF86IiwgIiRjb25kc3RyXHQiLCBAdW5pcV9kZXBzKTsKCSAgJG91dHB1dF9ydWxlcyAuPSAk YWN0aW9uc3skX30gaWYgZGVmaW5lZCAkYWN0aW9uc3skX307CgkgICRvdXRwdXRfcnVsZXMg Lj0gIlxuIjsKCX0KICAgIH0KfQoKCnN1YiBoYW5kbGVfdGVzdHNfZGVqYWdudSAoKQp7CiAg ICBwdXNoIChAY2hlY2tfdGVzdHMsICdjaGVjay1ERUpBR05VJyk7CiAgICAkb3V0cHV0X3J1 bGVzIC49IGZpbGVfY29udGVudHMgKCdkZWphZ251JywgbmV3IEF1dG9tYWtlOjpMb2NhdGlv bik7Cn0KCiMgaGFuZGxlX3Blcl9zdWZmaXhfdGVzdCAoJFRFU1RfU1VGRklYLCBbJVRSQU5T Rk9STV0pCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCnN1YiBoYW5kbGVfcGVyX3N1ZmZpeF90ZXN0CnsKICBteSAoJHRlc3Rfc3VmZml4 LCAldHJhbnNmb3JtKSA9IEBfOwogIG15ICgkcGZ4LCAkZ2VuZXJpYywgJGFtX2V4ZWV4dCk7 CiAgaWYgKCR0ZXN0X3N1ZmZpeCBlcSAnJykKICAgIHsKICAgICAgJHBmeCA9ICcnOwogICAg ICAkZ2VuZXJpYyA9IDA7CiAgICAgICRhbV9leGVleHQgPSAnRkFMU0UnOwogICAgfQogIGVs c2UKICAgIHsKICAgICAgcHJvZ19lcnJvciAoInRlc3Qgc3VmZml4ICckdGVzdF9zdWZmaXgn IGxhY2tzIGxlYWRpbmcgZG90IikKICAgICAgICB1bmxlc3MgJHRlc3Rfc3VmZml4ID1+IG0v XlwuKC4qKS87CiAgICAgICRwZnggPSB1YyAoJDEpIC4gJ18nOwogICAgICAkZ2VuZXJpYyA9 IDE7CiAgICAgICRhbV9leGVleHQgPSBleGlzdHMgJGNvbmZpZ3VyZV92YXJzeydFWEVFWFQn fSA/ICdhbV9fRVhFRVhUJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOiAnRkFMU0UnOwogICAgfQogICMgVGhlICJ0ZXN0IGRyaXZlciIg cHJvZ3JhbSwgZGVwdXRlZCB0byBoYW5kbGUgdGVzdHMgcHJvdG9jb2wgdXNlZCBieQogICMg dGVzdCBzY3JpcHRzLiAgQnkgZGVmYXVsdCwgaXQncyBhc3N1bWVkIHRoYXQgbm8gcHJvdG9j b2wgaXMgdXNlZCwgc28KICAjIHdlIGZhbGwgYmFjayB0byB0aGUgb2xkIGJlaGF2aW91ciwg aW1wbGVtZW50ZWQgYnkgdGhlICd0ZXN0LWRyaXZlcicKICAjIGF1eGlsaWFyeSBzY3JpcHQu CiAgaWYgKCEgdmFyICIke3BmeH1MT0dfRFJJVkVSIikKICAgIHsKICAgICAgcmVxdWlyZV9j b25mX2ZpbGUgKCJwYXJhbGxlbC10ZXN0cyIsIEZPUkVJR04sICd0ZXN0LWRyaXZlcicpOwog ICAgICBkZWZpbmVfdmFyaWFibGUgKCIke3BmeH1MT0dfRFJJVkVSIiwKICAgICAgICAgICAg ICAgICAgICAgICAiXCQoU0hFTEwpICRhbV9jb25maWdfYXV4X2Rpci90ZXN0LWRyaXZlciIs CiAgICAgICAgICAgICAgICAgICAgICAgSU5URVJOQUwpOwogICAgfQogIG15ICRkcml2ZXIg PSAnJCgnIC4gJHBmeCAuICdMT0dfRFJJVkVSKSc7CiAgbXkgJGRyaXZlcl9mbGFncyA9ICck KEFNXycgLiAkcGZ4IC4gJ0xPR19EUklWRVJfRkxBR1MpJwogICAgICAgICAgICAgICAgICAg ICAgIC4gJyAkKCcgLiAkcGZ4IC4gJ0xPR19EUklWRVJfRkxBR1MpJzsKICBteSAkY29tcGls ZSA9ICIke3BmeH1MT0dfQ09NUElMRSI7CiAgZGVmaW5lX3ZhcmlhYmxlICgkY29tcGlsZSwK ICAgICAgICAgICAgICAgICAgICckKCcgLiAkcGZ4IC4gJ0xPR19DT01QSUxFUiknCiAgICAg ICAgICAgICAgICAgICAgICAuICcgJChBTV8nIC4gICRwZnggLiAnTE9HX0ZMQUdTKScKICAg ICAgICAgICAgICAgICAgICAgIC4gJyAkKCcgLiAkcGZ4IC4gJ0xPR19GTEFHUyknLAogICAg ICAgICAgICAgICAgICAgICBJTlRFUk5BTCk7CiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2Nv bnRlbnRzICgnY2hlY2syJywgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHRU5FUklDID0+ICRnZW5lcmljLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERSSVZFUiA9PiAkZHJpdmVyLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERSSVZFUl9GTEFHUyA9PiAkZHJpdmVyX2ZsYWdz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTVBJTEUgPT4gJyQoJyAu ICRjb21waWxlIC4gJyknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVY VCA9PiAkdGVzdF9zdWZmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YW1fX0VYRUVYVCA9PiAkYW1fZXhlZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICV0cmFuc2Zvcm0pOwp9CgojIGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uICgkRVhU KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiB0cnVlIGlmICRF WFQgY2FuIGFwcGVhciBpbiAkKFRFU1RfRVhURU5TSU9OUyksIHJldHVybiBmYWxzZQojIG90 aGVyd2lzZS4Kc3ViIGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uCnsKICBteSAkZXh0ID0gc2hp ZnQ7CiAgcmV0dXJuIDEKICAgIGlmICgkZXh0ID1+IC9eXC5bYS16QS1aX11bYS16QS1aMC05 X10qJC8pOwogIHJldHVybiAxCiAgICBpZiAoZXhpc3RzICRjb25maWd1cmVfdmFyc3snRVhF RVhUJ30gJiYgJGV4dCBlcSBzdWJzdCAoJ0VYRUVYVCcpKTsKICByZXR1cm4gMDsKfQoKCnN1 YiBoYW5kbGVfdGVzdHMgKCkKewogIGlmIChvcHRpb24gJ2RlamFnbnUnKQogICAgewogICAg ICBoYW5kbGVfdGVzdHNfZGVqYWdudTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIGZvcmVh Y2ggbXkgJGMgKCdERUpBVE9PTCcsICdSVU5URVNUJywgJ1JVTlRFU1RGTEFHUycpCgl7Cgkg IHJlamVjdF92YXIgKCRjLCAiJyRjJyBkZWZpbmVkIGJ1dCAnZGVqYWdudScgbm90IGluICIK CQkgICAgICAuICInQVVUT01BS0VfT1BUSU9OUyciKTsKCX0KICAgIH0KCiAgaWYgKHZhciAo J1RFU1RTJykpCiAgICB7CiAgICAgIHB1c2ggKEBjaGVja190ZXN0cywgJ2NoZWNrLVRFU1RT Jyk7CiAgICAgIG15ICRjaGVja19kZXBzID0gIkBjaGVjayI7CiAgICAgICRvdXRwdXRfcnVs ZXMgLj0gZmlsZV9jb250ZW50cyAoJ2NoZWNrJywgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVJJQUxfVEVTVFMgPT4g ISEgb3B0aW9uICdzZXJpYWwtdGVzdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENIRUNLX0RFUFMgPT4gJGNoZWNrX2RlcHMpOwoKICAgICAgIyBUZXN0cyB0 aGF0IGFyZSBrbm93biBwcm9ncmFtcyBzaG91bGQgaGF2ZSAkKEVYRUVYVCkgYXBwZW5kZWQu CiAgICAgICMgRm9yIG1hdGNoaW5nIHB1cnBvc2VzLCB3ZSBuZWVkIHRvIGFkanVzdCBYRkFJ TF9URVNUUyBhcyB3ZWxsLgogICAgICBhcHBlbmRfZXhlZXh0IHsgZXhpc3RzICRrbm93bl9w cm9ncmFtc3skX1swXX0gfSAnVEVTVFMnOwogICAgICBhcHBlbmRfZXhlZXh0IHsgZXhpc3Rz ICRrbm93bl9wcm9ncmFtc3skX1swXX0gfSAnWEZBSUxfVEVTVFMnCglpZiAodmFyICgnWEZB SUxfVEVTVFMnKSk7CgogICAgICBpZiAoISBvcHRpb24gJ3NlcmlhbC10ZXN0cycpCiAgICAg ICAgewoJICBkZWZpbmVfdmFyaWFibGUgKCdURVNUX1NVSVRFX0xPRycsICd0ZXN0LXN1aXRl LmxvZycsIElOVEVSTkFMKTsKCSAgbXkgJHN1ZmYgPSAnLnRlc3QnOwoJICBteSAkYXRfZXhl ZXh0ID0gJyc7CgkgIG15ICRoYW5kbGVfZXhlZXh0ID0gZXhpc3RzICRjb25maWd1cmVfdmFy c3snRVhFRVhUJ307CgkgIGlmICgkaGFuZGxlX2V4ZWV4dCkKCSAgICB7CgkgICAgICAkYXRf ZXhlZXh0ID0gc3Vic3QgKCdFWEVFWFQnKTsKCSAgICAgICRzdWZmID0gJGF0X2V4ZWV4dCAg LiAnICcgLiAkc3VmZjsKCSAgICB9CiAgICAgICAgICBpZiAoISB2YXIgJ1RFU1RfRVhURU5T SU9OUycpCiAgICAgICAgICAgIHsKCSAgICAgIGRlZmluZV92YXJpYWJsZSAoJ1RFU1RfRVhU RU5TSU9OUycsICRzdWZmLCBJTlRFUk5BTCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIG15 ICR2YXIgPSB2YXIgJ1RFU1RfRVhURU5TSU9OUyc7CiAgICAgICAgICAjIEN1cnJlbnRseSwg d2UgYXJlIG5vdCBhYmxlIHRvIGRlYWwgd2l0aCBjb25kaXRpb25hbCBjb250ZW50cwogICAg ICAgICAgIyBpbiBURVNUX0VYVEVOU0lPTlMuCiAgICAgICAgICBpZiAoJHZhci0+aGFzX2Nv bmRpdGlvbmFsX2NvbnRlbnRzKQogICAgICAgICAgIHsKCSAgICAgbXNnX3ZhciAndW5zdXBw b3J0ZWQnLCAkdmFyLAogICAgICAgICAgICAgICAgICAgICAiJ1RFU1RfRVhURU5TSU9OUycg Y2Fubm90IGhhdmUgY29uZGl0aW9uYWwgY29udGVudHMiOwogICAgICAgICAgIH0KCSAgbXkg QHRlc3Rfc3VmZml4ZXMgPSAkdmFyLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZTsKICAgICAg ICAgIGlmICgobXkgQGludmFsaWRfdGVzdF9zdWZmaXhlcyA9CiAgICAgICAgICAgICAgICAg IGdyZXAgeyAhaXNfdmFsaWRfdGVzdF9leHRlbnNpb24gJF8gfSBAdGVzdF9zdWZmaXhlcykg PiAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgZXJyb3IgJHZhci0+cmRlZiAoVFJV RSktPmxvY2F0aW9uLAogICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIHRlc3QgZXh0ZW5z aW9uczogQGludmFsaWRfdGVzdF9zdWZmaXhlcyI7CiAgICAgICAgICAgIH0KICAgICAgICAg IEB0ZXN0X3N1ZmZpeGVzID0gZ3JlcCB7IGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uICRfIH0g QHRlc3Rfc3VmZml4ZXM7CgkgIGlmICgkaGFuZGxlX2V4ZWV4dCkKCSAgICB7CgkgICAgICB1 bnNoaWZ0IChAdGVzdF9zdWZmaXhlcywgJGF0X2V4ZWV4dCkKCSAgICAgICAgdW5sZXNzICR0 ZXN0X3N1ZmZpeGVzWzBdIGVxICRhdF9leGVleHQ7CgkgICAgfQoJICB1bnNoaWZ0IChAdGVz dF9zdWZmaXhlcywgJycpOwoKCSAgdHJhbnNmb3JtX3ZhcmlhYmxlX3JlY3Vyc2l2ZWx5Cgkg ICAgKCdURVNUUycsICdURVNUX0xPR1MnLCAnYW1fX3Rlc3Rsb2dzJywgMSwgSU5URVJOQUws CgkgICAgICBzdWIgewoJICAgICAgICBteSAoJHN1YnZhciwgJHZhbCwgJGNvbmQsICRmdWxs X2NvbmQpID0gQF87CgkJbXkgJG9iaiA9ICR2YWw7CgkJcmV0dXJuICRvYmoKCQkgIGlmICR2 YWwgPX4gL15cQC4qXEAkLzsKCQkkb2JqID1+IHMvXCRcKEVYRUVYVFwpJC8vbzsKCgkJaWYg KCR2YWwgPX4gLyhcJFwoKHRvcF8pP3NyY2RpclwpKVwvL28pCgkJICB7CgkJICAgIG1zZyAo J2Vycm9yJywgJHN1YnZhci0+cmRlZiAoJGNvbmQpLT5sb2NhdGlvbiwKCQkJICJ1c2luZyAn JDEnIGluIFRFU1RTIGlzIGN1cnJlbnRseSBicm9rZW46ICckdmFsJyIpOwoJCSAgfQoKCQlm b3JlYWNoIG15ICR0ZXN0X3N1ZmZpeCAoQHRlc3Rfc3VmZml4ZXMpCgkJICB7CgkJICAgIG5l eHQKCQkgICAgICBpZiAkdGVzdF9zdWZmaXggZXEgJGF0X2V4ZWV4dCB8fCAkdGVzdF9zdWZm aXggZXEgJyc7CgkJICAgIHJldHVybiBzdWJzdHIgKCRvYmosIDAsIGxlbmd0aCAoJG9iaikg LSBsZW5ndGggKCR0ZXN0X3N1ZmZpeCkpIC4gJy5sb2cnCgkJICAgICAgaWYgc3Vic3RyICgk b2JqLCAtIGxlbmd0aCAoJHRlc3Rfc3VmZml4KSkgZXEgJHRlc3Rfc3VmZml4OwoJCSAgfQoJ CW15ICRiYXNlID0gJG9iajsKCQkkb2JqIC49ICcubG9nJzsKICAgICAgICAgICAgICAgIGhh bmRsZV9wZXJfc3VmZml4X3Rlc3QgKCcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT0JKID0+ICRvYmosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCQVNFID0+ICRiYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU09VUkNFID0+ICR2YWwpOwoJICAgICAgICByZXR1cm4gJG9iajsKCSAg ICAgIH0pOwoKCSAgbXkgJG5oZWxwZXI9MTsKCSAgbXkgJHByZXYgPSAnVEVTVFMnOwoJICBt eSAkcG9zdCA9ICcnOwoJICBteSAkbGFzdF9zdWZmaXggPSAkdGVzdF9zdWZmaXhlc1skI3Rl c3Rfc3VmZml4ZXNdOwoJICBteSAkY3VyID0gJyc7CgkgIGZvcmVhY2ggbXkgJHRlc3Rfc3Vm Zml4IChAdGVzdF9zdWZmaXhlcykKCSAgICB7CgkgICAgICBpZiAoJHRlc3Rfc3VmZml4IGVx ICRsYXN0X3N1ZmZpeCkKCSAgICAgICAgewoJCSAgJGN1ciA9ICdURVNUX0xPR1MnOwoJCX0K CSAgICAgIGVsc2UKCSAgICAgICAgewoJCSAgJGN1ciA9ICdhbV9fdGVzdF9sb2dzJyAuICRu aGVscGVyOwoJCX0KCSAgICAgIGRlZmluZV92YXJpYWJsZSAoJGN1ciwKCQknJCgnIC4gJHBy ZXYgLiAnOicgLiAkdGVzdF9zdWZmaXggLiAkcG9zdCAuICc9LmxvZyknLCBJTlRFUk5BTCk7 CgkgICAgICAkcG9zdCA9ICcubG9nJzsKCSAgICAgICRwcmV2ID0gJGN1cjsKCSAgICAgICRu aGVscGVyKys7CgkgICAgICBpZiAoJHRlc3Rfc3VmZml4IG5lICRhdF9leGVleHQgJiYgJHRl c3Rfc3VmZml4IG5lICcnKQoJICAgICAgICB7CiAgICAgICAgICAgICAgICAgIGhhbmRsZV9w ZXJfc3VmZml4X3Rlc3QgKCR0ZXN0X3N1ZmZpeCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT0JKID0+ICcnLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCQVNFID0+ICckKicsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNPVVJDRSA9PiAnJDwnKTsKCSAgICAgICAgfQoJICAgIH0K CSAgJGNsZWFuX2ZpbGVzeyckKFRFU1RfTE9HUyknfSA9IE1PU1RMWV9DTEVBTjsKCSAgJGNs ZWFuX2ZpbGVzeyckKFRFU1RfTE9HUzoubG9nPS50cnMpJ30gPSBNT1NUTFlfQ0xFQU47Cgkg ICRjbGVhbl9maWxlc3snJChURVNUX1NVSVRFX0xPRyknfSA9IE1PU1RMWV9DTEVBTjsKCX0K ICAgIH0KfQoKc3ViIGhhbmRsZV9lbWFjc19saXNwICgpCnsKICBteSBAZWxmaWxlcyA9IGFt X2luc3RhbGxfdmFyICgnLWNhbmRpc3QnLCAnbGlzcCcsICdMSVNQJywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbGlzcCcsICdub2luc3QnKTsKCiAgcmV0dXJuIGlmICEg QGVsZmlsZXM7CgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9fRUxGSUxFUycsIFRS VUUsIElOVEVSTkFMLAoJCQkgIG1hcCB7ICRfLT5bMV0gfSBAZWxmaWxlcyk7CiAgZGVmaW5l X3ByZXR0eV92YXJpYWJsZSAoJ2FtX19FTENGSUxFUycsIFRSVUUsIElOVEVSTkFMLAoJCQkg ICckKGFtX19FTEZJTEVTOi5lbD0uZWxjKScpOwogICMgVGhpcyBvbmUgY2FuIGJlIG92ZXJy aWRkZW4gYnkgdXNlcnMuCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ0VMQ0ZJTEVTJywg VFJVRSwgSU5URVJOQUwsICckKExJU1A6LmVsPS5lbGMpJyk7CgogIHB1c2ggQGFsbCwgJyQo RUxDRklMRVMpJzsKCiAgcmVxdWlyZV92YXJpYWJsZXMgKCRlbGZpbGVzWzBdWzBdLCAiRW1h Y3MgTGlzcCBzb3VyY2VzIHNlZW4iLCBUUlVFLAoJCSAgICAgJ0VNQUNTJywgJ2xpc3BkaXIn KTsKfQoKc3ViIGhhbmRsZV9weXRob24gKCkKewogIG15IEBweWZpbGVzID0gYW1faW5zdGFs bF92YXIgKCctZGVmYXVsdGRpc3QnLCAncHl0aG9uJywgJ1BZVEhPTicsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ25vaW5zdCcpOwogIHJldHVybiBpZiAhIEBweWZpbGVz OwoKICByZXF1aXJlX3ZhcmlhYmxlcyAoJHB5ZmlsZXNbMF1bMF0sICJQeXRob24gc291cmNl cyBzZWVuIiwgVFJVRSwgJ1BZVEhPTicpOwogIHJlcXVpcmVfY29uZl9maWxlICgkcHlmaWxl c1swXVswXSwgRk9SRUlHTiwgJ3B5LWNvbXBpbGUnKTsKICBkZWZpbmVfdmFyaWFibGUgKCdw eV9jb21waWxlJywgIiRhbV9jb25maWdfYXV4X2Rpci9weS1jb21waWxlIiwgSU5URVJOQUwp Owp9CgpzdWIgaGFuZGxlX2phdmEgKCkKewogICAgbXkgQHNvdXJjZWxpc3QgPSBhbV9pbnN0 YWxsX3ZhciAoJy1jYW5kaXN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdqYXZhJywgJ0pBVkEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ25vaW5zdCcsICdjaGVjaycpOwogICAgcmV0dXJuIGlmICEgQHNvdXJjZWxpc3Q7Cgog ICAgbXkgQHByZWZpeGVzID0gYW1fcHJpbWFyeV9wcmVmaXhlcyAoJ0pBVkEnLCAxLAoJCQkJ ICAgICAgICAnbm9pbnN0JywgJ2NoZWNrJyk7CgogICAgbXkgJGRpcjsKICAgIG15IEBqYXZh X3NvdXJjZXMgPSAoKTsKICAgIGZvcmVhY2ggbXkgJHByZWZpeCAoQHByZWZpeGVzKQogICAg ICB7CiAgICAgICAgKG15ICRjdXJzID0gJHByZWZpeCkgPX4gcy9eKD86bm9iYXNlXyk/KD86 ZGlzdF98bm9kaXN0Xyk/Ly87CgoJbmV4dAoJICBpZiAkY3VycyBlcSAnRVhUUkEnOwoKICAg ICAgICBwdXNoIEBqYXZhX3NvdXJjZXMsICckKCcgLiAkcHJlZml4IC4gJ19KQVZBJyAuICcp JzsKCglpZiAoZGVmaW5lZCAkZGlyKQoJICB7CgkgICAgZXJyX3ZhciAiJHtjdXJzfV9KQVZB IiwgIm11bHRpcGxlIF9KQVZBIHByaW1hcmllcyBpbiB1c2UiCgkgICAgIHVubGVzcyAkY3Vy cyBlcSAkZGlyOwoJICB9CgoJJGRpciA9ICRjdXJzOwogICAgICB9CgogICAgZGVmaW5lX3By ZXR0eV92YXJpYWJsZSAoJ2FtX19qYXZhX3NvdXJjZXMnLCBUUlVFLCBJTlRFUk5BTCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJAamF2YV9zb3VyY2VzIik7CgogICAgaWYgKCRk aXIgZXEgJ2NoZWNrJykKICAgICAgewogICAgICAgIHB1c2ggKEBjaGVjaywgImNsYXNzJGRp ci5zdGFtcCIpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKICAgICAgICBwdXNoIChAYWxs LCAiY2xhc3MkZGlyLnN0YW1wIik7CiAgICAgIH0KfQoKCnN1YiBoYW5kbGVfbWlub3Jfb3B0 aW9ucyAoKQp7CiAgaWYgKG9wdGlvbiAncmVhZG1lLWFscGhhJykKICAgIHsKICAgICAgaWYg KCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQoJewoJICBpZiAoJHBhY2thZ2VfdmVyc2lvbiAhfiAv XiRHTklUU19WRVJTSU9OX1BBVFRFUk4kLykKCSAgICB7CgkgICAgICBtc2cgKCdlcnJvci1n bml0cycsICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24sCgkJICAgInZlcnNpb24gJyRwYWNr YWdlX3ZlcnNpb24nIGRvZXNuJ3QgZm9sbG93ICIgLgoJCSAgICJHbml0cyBzdGFuZGFyZHMi KTsKCSAgICB9CgkgIGlmIChkZWZpbmVkICQxICYmIC1mICdSRUFETUUtYWxwaGEnKQoJICAg IHsKCSAgICAgICMgVGhpcyBtZWFucyB3ZSBoYXZlIGFuIGFscGhhIHJlbGVhc2UuICBTZWUK CSAgICAgICMgR05JVFNfVkVSU0lPTl9QQVRURVJOIGZvciBkZXRhaWxzLgoJICAgICAgcHVz aF9kaXN0X2NvbW1vbiAoJ1JFQURNRS1hbHBoYScpOwoJICAgIH0KCX0KICAgIH0KfQoKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwoKIyAoJE9VVFBVVCwgQElOUFVUUykKIyBzcGxpdF9jb25maWdfZmlsZV9zcGVj ICgkU1BFQykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWNvZGUgdGhl IEF1dG9jb25mIHN5bnRheCBmb3IgY29uZmlnIGZpbGVzIChmaWxlcywgaGVhZGVycywgbGlu a3MKIyBldGMuKS4Kc3ViIHNwbGl0X2NvbmZpZ19maWxlX3NwZWMKewogIG15ICgkc3BlYykg PSBAXzsKICBteSAoJG91dHB1dCwgQGlucHV0cykgPSBzcGxpdCAoLzovLCAkc3BlYyk7Cgog IHB1c2ggQGlucHV0cywgIiRvdXRwdXQuaW4iCiAgICB1bmxlc3MgQGlucHV0czsKCiAgcmV0 dXJuICgkb3V0cHV0LCBAaW5wdXRzKTsKfQoKIyAkaW5wdXQKIyBsb2NhdGVfYW0gKEBQT1NT SUJMRV9TT1VSQ0VTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQUNfQ09O RklHX0ZJTEVTIGFsbG93IHNwZWNpZmljYXRpb25zIHN1Y2ggYXMgTWFrZWZpbGU6dG9wLmlu Om1pZC5pbjpib3QuaW4KIyBUaGlzIGZ1bmN0aW9ucyByZXR1cm5zIHRoZSBmaXJzdCAqLmlu IGZpbGUgZm9yIHdoaWNoIGEgKi5hbSBleGlzdHMuCiMgSXQgcmV0dXJucyB1bmRlZiBvdGhl cndpc2UuCnN1YiBsb2NhdGVfYW0KewogIG15IChAcmVzdCkgPSBAXzsKICBteSAkaW5wdXQ7 CiAgZm9yZWFjaCBteSAkZmlsZSAoQHJlc3QpCiAgICB7CiAgICAgIGlmICgoJGZpbGUgPX4g L14oLiopXC5pbiQvKSAmJiAtZiAiJDEuYW0iKQoJewoJICAkaW5wdXQgPSAkZmlsZTsKCSAg bGFzdDsKCX0KICAgIH0KICByZXR1cm4gJGlucHV0Owp9CgpteSAlbWFrZV9saXN0OwoKIyBz Y2FuX2F1dG9jb25mX2NvbmZpZ19maWxlcyAoJFdIRVJFLCAkQ09ORklHLUZJTEVTKQojIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU3R1 ZHkgJENPTkZJRy1GSUxFUyB3aGljaCBpcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gQUNfQ09O RklHX0ZJTEVTCiMgKG9yIEFDX09VVFBVVCkuCnN1YiBzY2FuX2F1dG9jb25mX2NvbmZpZ19m aWxlcwp7CiAgbXkgKCR3aGVyZSwgJGNvbmZpZ19maWxlcykgPSBAXzsKCiAgIyBMb29rIGF0 IHBvdGVudGlhbCBNYWtlZmlsZS5hbSdzLgogIGZvcmVhY2ggKHNwbGl0ICcgJywgJGNvbmZp Z19maWxlcykKICAgIHsKICAgICAgIyBNdXN0IHNraXAgZW1wdHkgc3RyaW5nIGZvciBQZXJs IDQuCiAgICAgIG5leHQgaWYgJF8gZXEgIlxcIiB8fCAkXyBlcSAnJzsKCiAgICAgICMgSGFu ZGxlICRsb2NhbDokaW5wdXQgc3ludGF4LgogICAgICBteSAoJGxvY2FsLCBAcmVzdCkgPSBz cGxpdCAoLzovKTsKICAgICAgQHJlc3QgPSAoIiRsb2NhbC5pbiIsKSB1bmxlc3MgQHJlc3Q7 CiAgICAgICMgS2VlcCBpbiBzeW5jIHdpdGggdGVzdCAnY29uZmZpbGUtbGVhZGluZy1kb3Qu c2gnLgogICAgICBtc2cgKCd1bnN1cHBvcnRlZCcsICR3aGVyZSwKICAgICAgICAgICAib21p dCBsZWFkaW5nICcuLycgZnJvbSBjb25maWcgZmlsZSBuYW1lcyBzdWNoIGFzICckbG9jYWwn OyIKICAgICAgICAgICAuICJcbnJlbWFrZSBydWxlcyBtaWdodCBiZSBzdWJ0bHkgYnJva2Vu IG90aGVyd2lzZSIpCiAgICAgICAgaWYgKCRsb2NhbCA9fiAvXlwuXC8vKTsKICAgICAgbXkg JGlucHV0ID0gbG9jYXRlX2FtIEByZXN0OwogICAgICBpZiAoJGlucHV0KQoJewoJICAjIFdl IGhhdmUgYSBmaWxlIHRoYXQgYXV0b21ha2Ugc2hvdWxkIGdlbmVyYXRlLgoJICAkbWFrZV9s aXN0eyRpbnB1dH0gPSBqb2luICgnOicsICgkbG9jYWwsIEByZXN0KSk7Cgl9CiAgICAgIGVs c2UKCXsKCSAgIyBXZSBoYXZlIGEgZmlsZSB0aGF0IGF1dG9tYWtlIHNob3VsZCBjYXVzZSB0 byBiZQoJICAjIHJlYnVpbHQsIGJ1dCBzaG91bGRuJ3QgZ2VuZXJhdGUgaXRzZWxmLgoJICBw dXNoIChAb3RoZXJfaW5wdXRfZmlsZXMsICRfKTsKCX0KICAgICAgJGFjX2NvbmZpZ19maWxl c19sb2NhdGlvbnskbG9jYWx9ID0gJHdoZXJlOwogICAgICAkYWNfY29uZmlnX2ZpbGVzX2Nv bmRpdGlvbnskbG9jYWx9ID0KICAgICAgICBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNv bmRfc3RhY2spCiAgICAgICAgICBpZiAoQGNvbmRfc3RhY2spOwogICAgfQp9CgoKc3ViIHNj YW5fYXV0b2NvbmZfdHJhY2VzCnsKICBteSAoJGZpbGVuYW1lKSA9IEBfOwoKICAjIE1hY3Jv cyB0byB0cmFjZSwgd2l0aCB0aGVpciBtaW5pbWFsIG51bWJlciBvZiBhcmd1bWVudHMuCiAg IwogICMgSU1QT1JUQU5UOiBJZiB5b3UgYWRkIGEgbWFjcm8gaGVyZSwgeW91IHNob3VsZCBh bHNvIGFkZCB0aGlzIG1hY3JvCiAgIyA9PT09PT09PT0gIHRvIEF1dG9tYWtlLXByZXNlbGVj dGlvbiBpbiBhdXRvY29uZi9saWIvYXV0b200dGUuaW4uCiAgbXkgJXRyYWNlZCA9ICgKCQlB Q19DQU5PTklDQUxfQlVJTEQgPT4gMCwKCQlBQ19DQU5PTklDQUxfSE9TVCA9PiAwLAoJCUFD X0NBTk9OSUNBTF9UQVJHRVQgPT4gMCwKCQlBQ19DT05GSUdfQVVYX0RJUiA9PiAxLAoJCUFD X0NPTkZJR19GSUxFUyA9PiAxLAoJCUFDX0NPTkZJR19IRUFERVJTID0+IDEsCgkJQUNfQ09O RklHX0xJQk9CSl9ESVIgPT4gMSwKCQlBQ19DT05GSUdfTElOS1MgPT4gMSwKCQlBQ19GQ19T UkNFWFQgPT4gMSwKCQlBQ19JTklUID0+IDAsCgkJQUNfTElCU09VUkNFID0+IDEsCgkJQUNf UkVRVUlSRV9BVVhfRklMRSA9PiAxLAoJCUFDX1NVQlNUX1RSQUNFID0+IDEsCgkJQU1fQVVU T01BS0VfVkVSU0lPTiA9PiAxLAogICAgICAgICAgICAgICAgQU1fUFJPR19NS0RJUl9QID0+ IDAsCgkJQU1fQ09ORElUSU9OQUwgPT4gMiwKCQlBTV9FWFRSQV9SRUNVUlNJVkVfVEFSR0VU UyA9PiAxLAoJCUFNX0dOVV9HRVRURVhUID0+IDAsCgkJQU1fR05VX0dFVFRFWFRfSU5UTF9T VUJESVIgPT4gMCwKCQlBTV9JTklUX0FVVE9NQUtFID0+IDAsCgkJQU1fTUFJTlRBSU5FUl9N T0RFID0+IDAsCgkJQU1fUFJPR19BUiA9PiAwLAoJCV9BTV9TVUJTVF9OT1RNQUtFID0+IDEs CgkJX0FNX0NPTkRfSUYgPT4gMSwKCQlfQU1fQ09ORF9FTFNFID0+IDEsCgkJX0FNX0NPTkRf RU5ESUYgPT4gMSwKCQlMVF9TVVBQT1JURURfVEFHID0+IDEsCgkJX0xUX0FDX1RBR0NPTkZJ RyA9PiAwLAoJCW00X2luY2x1ZGUgPT4gMSwKCQltNF9zaW5jbHVkZSA9PiAxLAoJCXNpbmNs dWRlID0+IDEsCgkgICAgICApOwoKICBteSAkdHJhY2VzID0gKCRFTlZ7QVVUT0NPTkZ9IHx8 ICdhdXRvY29uZicpIC4gIiAiOwoKICAjIFVzZSBhIHNlcGFyYXRvciB1bmxpa2VseSB0byBi ZSB1c2VkLCBub3QgJzonLCB0aGUgZGVmYXVsdCwgd2hpY2gKICAjIGhhcyBhIHByZWNpc2Ug bWVhbmluZyBmb3IgQUNfQ09ORklHX0ZJTEVTIGFuZCBzbyBvbi4KICAkdHJhY2VzIC49IGpv aW4gKCcgJywKCQkgICBtYXAgeyAiLS10cmFjZT0kXyIgLiAnOlwkZjpcJGw6OlwkZDo6XCRu OjpcJHs6On0lJyB9CgkJICAgKGtleXMgJXRyYWNlZCkpOwoKICBteSAkdHJhY2VmaCA9IG5l dyBBdXRvbWFrZTo6WEZpbGUgKCIkdHJhY2VzICRmaWxlbmFtZSB8Iik7CiAgdmVyYiAicmVh ZGluZyAkdHJhY2VzIjsKCiAgQGNvbmRfc3RhY2sgPSAoKTsKICBteSAkd2hlcmU7CgogIHdo aWxlICgkXyA9ICR0cmFjZWZoLT5nZXRsaW5lKQogICAgewogICAgICBjaG9tcDsKICAgICAg bXkgKCRoZXJlLCAkZGVwdGgsIEBhcmdzKSA9IHNwbGl0ICgvOjovKTsKICAgICAgJHdoZXJl ID0gbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiAkaGVyZTsKICAgICAgbXkgJG1hY3JvID0gJGFy Z3NbMF07CgogICAgICBwcm9nX2Vycm9yICgidW5yZXF1ZXN0ZWQgdHJhY2UgJyRtYWNybyci KQoJdW5sZXNzIGV4aXN0cyAkdHJhY2VkeyRtYWNyb307CgogICAgICAjIFNraXAgYW5kIGRp YWdub3NlIG1hbGZvcm1lZCBjYWxscy4KICAgICAgaWYgKCQjYXJncyA8ICR0cmFjZWR7JG1h Y3JvfSkKCXsKCSAgbXNnICgnc3ludGF4JywgJHdoZXJlLCAibm90IGVub3VnaCBhcmd1bWVu dHMgZm9yICRtYWNybyIpOwoJICBuZXh0OwoJfQoKICAgICAgIyBBbHBoYWJldGljYWwgb3Jk ZXJpbmcgcGxlYXNlLgogICAgICBpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfQlVJTEQn KQoJewoJICBpZiAoJHNlZW5fY2Fub25pY2FsIDw9IEFDX0NBTk9OSUNBTF9CVUlMRCkKCSAg ICB7CgkgICAgICAkc2Vlbl9jYW5vbmljYWwgPSBBQ19DQU5PTklDQUxfQlVJTEQ7CgkgICAg fQoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfSE9TVCcpCgl7Cgkg IGlmICgkc2Vlbl9jYW5vbmljYWwgPD0gQUNfQ0FOT05JQ0FMX0hPU1QpCgkgICAgewoJICAg ICAgJHNlZW5fY2Fub25pY2FsID0gQUNfQ0FOT05JQ0FMX0hPU1Q7CgkgICAgfQoJfQogICAg ICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfVEFSR0VUJykKCXsKCSAgJHNlZW5f Y2Fub25pY2FsID0gQUNfQ0FOT05JQ0FMX1RBUkdFVDsKCX0KICAgICAgZWxzaWYgKCRtYWNy byBlcSAnQUNfQ09ORklHX0FVWF9ESVInKQoJewoJICBpZiAoJHNlZW5faW5pdF9hdXRvbWFr ZSkKCSAgICB7CgkgICAgICBlcnJvciAoJHdoZXJlLCAiQUNfQ09ORklHX0FVWF9ESVIgbXVz dCBiZSBjYWxsZWQgYmVmb3JlICIKCQkgICAgIC4gIkFNX0lOSVRfQVVUT01BS0UgLi4uIiwg cGFydGlhbCA9PiAxKTsKCSAgICAgIGVycm9yICgkc2Vlbl9pbml0X2F1dG9tYWtlLCAiLi4u IEFNX0lOSVRfQVVUT01BS0UgY2FsbGVkIGhlcmUiKTsKCSAgICB9CgkgICRjb25maWdfYXV4 X2RpciA9ICRhcmdzWzFdOwoJICAkY29uZmlnX2F1eF9kaXJfc2V0X2luX2NvbmZpZ3VyZV9h YyA9IDE7CgkgIGNoZWNrX2RpcmVjdG9yeSAoJGNvbmZpZ19hdXhfZGlyLCAkd2hlcmUpOwoJ fQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DT05GSUdfRklMRVMnKQoJewoJICAjIExv b2sgYXQgcG90ZW50aWFsIE1ha2VmaWxlLmFtJ3MuCgkgIHNjYW5fYXV0b2NvbmZfY29uZmln X2ZpbGVzICgkd2hlcmUsICRhcmdzWzFdKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAn QUNfQ09ORklHX0hFQURFUlMnKQoJewoJICBmb3JlYWNoIG15ICRzcGVjIChzcGxpdCAoJyAn LCAkYXJnc1sxXSkpCgkgICAgewoJICAgICAgbXkgKCRkZXN0LCBAc3JjKSA9IHNwbGl0ICgn OicsICRzcGVjKTsKCSAgICAgICRhY19jb25maWdfZmlsZXNfbG9jYXRpb257JGRlc3R9ID0g JHdoZXJlOwoJICAgICAgcHVzaCBAY29uZmlnX2hlYWRlcnMsICRzcGVjOwoJICAgIH0KCX0K ICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklHX0xJQk9CSl9ESVInKQoJewoJICAk Y29uZmlnX2xpYm9ial9kaXIgPSAkYXJnc1sxXTsKCSAgY2hlY2tfZGlyZWN0b3J5ICgkY29u ZmlnX2xpYm9ial9kaXIsICR3aGVyZSk7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FD X0NPTkZJR19MSU5LUycpCgl7CgkgIGZvcmVhY2ggbXkgJHNwZWMgKHNwbGl0ICgnICcsICRh cmdzWzFdKSkKCSAgICB7CgkgICAgICBteSAoJGRlc3QsICRzcmMpID0gc3BsaXQgKCc6Jywg JHNwZWMpOwoJICAgICAgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZGVzdH0gPSAkd2hl cmU7CgkgICAgICBwdXNoIEBjb25maWdfbGlua3MsICRzcGVjOwoJICAgIH0KCX0KICAgICAg ZWxzaWYgKCRtYWNybyBlcSAnQUNfRkNfU1JDRVhUJykKCXsKCSAgbXkgJHN1ZmZpeCA9ICRh cmdzWzFdOwoJICAjIFRoZXNlIGZsYWdzIGFyZSB1c2VkIGFzICVTT1VSQ0VGTEFHJSBpbiBk ZXBlbmQyLmFtLAoJICAjIHdoZXJlIHRoZSB0cmFpbGluZyBzcGFjZSBpcyBpbXBvcnRhbnQu CgkgICRzb3VyY2VmbGFnc3snLicgLiAkc3VmZml4fSA9ICckKEZDRkxBR1NfJyAuICRzdWZm aXggLiAnKSAnCgkgICAgaWYgKCRzdWZmaXggZXEgJ2Y5MCcgfHwgJHN1ZmZpeCBlcSAnZjk1 JyB8fCAkc3VmZml4IGVxICdmMDMnIHx8ICRzdWZmaXggZXEgJ2YwOCcpOwoJfQogICAgICBl bHNpZiAoJG1hY3JvIGVxICdBQ19JTklUJykKCXsKCSAgaWYgKGRlZmluZWQgJGFyZ3NbMl0p CgkgICAgewoJICAgICAgJHBhY2thZ2VfdmVyc2lvbiA9ICRhcmdzWzJdOwoJICAgICAgJHBh Y2thZ2VfdmVyc2lvbl9sb2NhdGlvbiA9ICR3aGVyZTsKCSAgICB9Cgl9CiAgICAgIGVsc2lm ICgkbWFjcm8gZXEgJ0FDX0xJQlNPVVJDRScpCgl7CgkgICRsaWJzb3VyY2VzeyRhcmdzWzFd fSA9ICRoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19SRVFVSVJFX0FVWF9G SUxFJykKCXsKCSAgIyBPbmx5IHJlbWVtYmVyIHRoZSBmaXJzdCB0aW1lIGEgZmlsZSBpcyBy ZXF1aXJlZC4KCSAgJHJlcXVpcmVkX2F1eF9maWxleyRhcmdzWzFdfSA9ICR3aGVyZQoJICAg IHVubGVzcyBleGlzdHMgJHJlcXVpcmVkX2F1eF9maWxleyRhcmdzWzFdfTsKCX0KICAgICAg ZWxzaWYgKCRtYWNybyBlcSAnQUNfU1VCU1RfVFJBQ0UnKQoJewoJICAjIEp1c3QgY2hlY2sg Zm9yIGFscGhhbnVtZXJpYyBpbiBBQ19TVUJTVF9UUkFDRS4gIElmIHlvdSBkbwoJICAjIEFD X1NVQlNUKDUpLCB0aGVuIHRvbyBiYWQuCgkgICRjb25maWd1cmVfdmFyc3skYXJnc1sxXX0g PSAkd2hlcmUKCSAgICBpZiAkYXJnc1sxXSA9fiAvXlx3KyQvOwoJfQogICAgICBlbHNpZiAo JG1hY3JvIGVxICdBTV9BVVRPTUFLRV9WRVJTSU9OJykKCXsKCSAgZXJyb3IgKCR3aGVyZSwK CQkgInZlcnNpb24gbWlzbWF0Y2guICBUaGlzIGlzIEF1dG9tYWtlICRWRVJTSU9OLFxuIiAu CgkJICJidXQgdGhlIGRlZmluaXRpb24gdXNlZCBieSB0aGlzIEFNX0lOSVRfQVVUT01BS0Vc biIgLgoJCSAiY29tZXMgZnJvbSBBdXRvbWFrZSAkYXJnc1sxXS4gIFlvdSBzaG91bGQgcmVj cmVhdGVcbiIgLgoJCSAiYWNsb2NhbC5tNCB3aXRoIGFjbG9jYWwgYW5kIHJ1biBhdXRvbWFr ZSBhZ2Fpbi5cbiIsCgkJICMgJD8gPSA2MyBpcyB1c2VkIHRvIGluZGljYXRlIHZlcnNpb24g bWlzbWF0Y2ggdG8gbWlzc2luZy4KCQkgZXhpdF9jb2RlID0+IDYzKQoJICAgIGlmICRWRVJT SU9OIG5lICRhcmdzWzFdOwoKCSAgJHNlZW5fYXV0b21ha2VfdmVyc2lvbiA9IDE7Cgl9CiAg ICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FNX1BST0dfTUtESVJfUCcpCgl7CgkgIG1zZyAnb2Jz b2xldGUnLCAkd2hlcmUsIDw8J0VPRic7ClRoZSAnQU1fUFJPR19NS0RJUl9QJyBtYWNybyBp cyBkZXByZWNhdGVkLCBhbmQgaXRzIHVzZSBpcyBkaXNjb3VyYWdlZC4KWW91IHNob3VsZCB1 c2UgdGhlIEF1dG9jb25mLXByb3ZpZGVkICdBQ19QUk9HX01LRElSX1AnIG1hY3JvIGluc3Rl YWQsCmFuZCB1c2UgJyQoTUtESVJfUCknIGluc3RlYWQgb2YgJyQobWtkaXJfcCknaW4geW91 ciBNYWtlZmlsZS5hbSBmaWxlcy4KRU9GCgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FN X0NPTkRJVElPTkFMJykKCXsKCSAgJGNvbmZpZ3VyZV9jb25keyRhcmdzWzFdfSA9ICR3aGVy ZTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fRVhUUkFfUkVDVVJTSVZFX1RBUkdF VFMnKQoJewogICAgICAgICAgIyBFbXB0eSBsZWFkaW5nL3RyYWlsaW5nIGZpZWxkcyBtaWdo dCBiZSBwcm9kdWNlZCBieSBzcGxpdCwKICAgICAgICAgICMgaGVuY2UgdGhlIGdyZXAgaXMg cmVhbGx5IG5lZWRlZC4KICAgICAgICAgIHB1c2ggQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRz LAogICAgICAgICAgICAgICBncmVwICgvLi8sIChzcGxpdCAvXHMrLywgJGFyZ3NbMV0pKTsK CX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fR05VX0dFVFRFWFQnKQoJewoJICAkc2Vl bl9nZXR0ZXh0ID0gJHdoZXJlOwoJICAkYWNfZ2V0dGV4dF9sb2NhdGlvbiA9ICR3aGVyZTsK CSAgJHNlZW5fZ2V0dGV4dF9leHRlcm5hbCA9IGdyZXAgKCRfIGVxICdleHRlcm5hbCcsIEBh cmdzKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fR05VX0dFVFRFWFRfSU5UTF9T VUJESVInKQoJewoJICAkc2Vlbl9nZXR0ZXh0X2ludGwgPSAkd2hlcmU7Cgl9CiAgICAgIGVs c2lmICgkbWFjcm8gZXEgJ0FNX0lOSVRfQVVUT01BS0UnKQoJewoJICAkc2Vlbl9pbml0X2F1 dG9tYWtlID0gJHdoZXJlOwoJICBpZiAoZGVmaW5lZCAkYXJnc1syXSkKCSAgICB7CiAgICAg ICAgICAgICAgbXNnICdvYnNvbGV0ZScsICR3aGVyZSwgPDwnRU9GJzsKQU1fSU5JVF9BVVRP TUFLRTogdHdvLSBhbmQgdGhyZWUtYXJndW1lbnRzIGZvcm1zIGFyZSBkZXByZWNhdGVkLiAg Rm9yIG1vcmUgaW5mbywgc2VlOgpodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9t YWtlL21hbnVhbC9hdXRvbWFrZS5odG1sI01vZGVybml6ZS1BTV8wMDVmSU5JVF8wMDVmQVVU T01BS0UtaW52b2NhdGlvbgpFT0YKCSAgICAgICRwYWNrYWdlX3ZlcnNpb24gPSAkYXJnc1sy XTsKCSAgICAgICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24gPSAkd2hlcmU7CgkgICAgfQoJ ICBlbHNpZiAoZGVmaW5lZCAkYXJnc1sxXSkKCSAgICB7CgkgICAgICBteSBAb3B0cyA9IHNw bGl0ICgnICcsICRhcmdzWzFdKTsKCSAgICAgIEBvcHRzID0gbWFwIHsgeyBvcHRpb24gPT4g JF8sIHdoZXJlID0+ICR3aGVyZSB9IH0gQG9wdHM7CgkgICAgICBleGl0ICRleGl0X2NvZGUg dW5sZXNzIHByb2Nlc3NfZ2xvYmFsX29wdGlvbl9saXN0IChAb3B0cyk7CgkgICAgfQoJfQog ICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9NQUlOVEFJTkVSX01PREUnKQoJewoJICAkc2Vl bl9tYWludF9tb2RlID0gJHdoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9Q Uk9HX0FSJykKCXsKCSAgJHNlZW5fYXIgPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ19BTV9DT05EX0lGJykKICAgICAgICB7CgkgIGNvbmRfc3RhY2tfaWYgKCcnLCAk YXJnc1sxXSwgJHdoZXJlKTsKCSAgZXJyb3IgKCR3aGVyZSwgIm1pc3NpbmcgbTQgcXVvdGlu ZywgbWFjcm8gZGVwdGggJGRlcHRoIikKCSAgICBpZiAoJGRlcHRoICE9IDEpOwoJfQogICAg ICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORF9FTFNFJykKICAgICAgICB7CgkgIGNvbmRf c3RhY2tfZWxzZSAoJyEnLCAkYXJnc1sxXSwgJHdoZXJlKTsKCSAgZXJyb3IgKCR3aGVyZSwg Im1pc3NpbmcgbTQgcXVvdGluZywgbWFjcm8gZGVwdGggJGRlcHRoIikKCSAgICBpZiAoJGRl cHRoICE9IDEpOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORF9FTkRJRicp CiAgICAgICAgewoJICBjb25kX3N0YWNrX2VuZGlmICh1bmRlZiwgdW5kZWYsICR3aGVyZSk7 CgkgIGVycm9yICgkd2hlcmUsICJtaXNzaW5nIG00IHF1b3RpbmcsIG1hY3JvIGRlcHRoICRk ZXB0aCIpCgkgICAgaWYgKCRkZXB0aCAhPSAxKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBl cSAnX0FNX1NVQlNUX05PVE1BS0UnKQoJewoJICAkaWdub3JlZF9jb25maWd1cmVfdmFyc3sk YXJnc1sxXX0gPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ200X2luY2x1 ZGUnCgkgICAgIHx8ICRtYWNybyBlcSAnbTRfc2luY2x1ZGUnCgkgICAgIHx8ICRtYWNybyBl cSAnc2luY2x1ZGUnKQoJewoJICAjIFNraXAgbWlzc2luZyAnc2luY2x1ZGUnZCBmaWxlcy4K CSAgbmV4dCBpZiAkbWFjcm8gbmUgJ200X2luY2x1ZGUnICYmICEgLWYgJGFyZ3NbMV07CgoJ ICAjIFNvbWUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgQXV0b2NvbmYgZG9uJ3QgdXNlCgkgICMg ZnJvemVuIGZpbGVzLiAgQ29uc2VxdWVudGx5IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBzZWUg YWxsCgkgICMgbTRfaW5jbHVkZSdzIHBlcmZvcm1lZCBkdXJpbmcgQXV0b2NvbmYncyBzdGFy dHVwLgoJICAjIE9idmlvdXNseSB3ZSBkb24ndCB3YW50IHRvIGRpc3RyaWJ1dGUgQXV0b2Nv bmYncyBmaWxlcwoJICAjIHNvIHdlIHNraXAgYWJzb2x1dGUgZmlsZW5hbWVzIGhlcmUuCgkg IHB1c2ggQGNvbmZpZ3VyZV9kZXBzLCAnJCh0b3Bfc3JjZGlyKS8nIC4gJGFyZ3NbMV0KCSAg ICB1bmxlc3MgJGhlcmUgPX4gbSxeKD86XHc6KT9bXFwvXSw7CgkgICMgS2VlcCB0cmFjayBv ZiB0aGUgZ3JlYXRlc3QgdGltZXN0YW1wLgoJICBpZiAoLWUgJGFyZ3NbMV0pCgkgICAgewoJ ICAgICAgbXkgJG10aW1lID0gbXRpbWUgJGFyZ3NbMV07CgkgICAgICAkY29uZmlndXJlX2Rl cHNfZ3JlYXRlc3RfdGltZXN0YW1wID0gJG10aW1lCgkJaWYgJG10aW1lID4gJGNvbmZpZ3Vy ZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsKCSAgICB9Cgl9CiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ0xUX1NVUFBPUlRFRF9UQUcnKQoJewoJICAkbGlidG9vbF90YWdzeyRhcmdzWzFd fSA9IDE7CgkgICRsaWJ0b29sX25ld19hcGkgPSAxOwoJfQogICAgICBlbHNpZiAoJG1hY3Jv IGVxICdfTFRfQUNfVEFHQ09ORklHJykKCXsKCSAgIyBfTFRfQUNfVEFHQ09ORklHIGlzIGFu IG9sZCBtYWNybyBwcmVzZW50IGluIExpYnRvb2wgMS41LgoJICAjIFdlIHVzZSBpdCB0byBk ZXRlY3Qgd2hldGhlciB0YWdzIGFyZSBzdXBwb3J0ZWQuICBPdXIKCSAgIyBwcmVmZXJyZWQg aW50ZXJmYWNlIGlzIExUX1NVUFBPUlRFRF9UQUcsIGJ1dCBpdCB3YXMKCSAgIyBpbnRyb2R1 Y2VkIGluIExpYnRvb2wgMS42LgoJICBpZiAoMCA9PSBrZXlzICVsaWJ0b29sX3RhZ3MpCgkg ICAgewoJICAgICAgIyBIYXJkY29kZSB0aGUgdGFncyBzdXBwb3J0ZWQgYnkgTGlidG9vbCAx LjUuCgkgICAgICAlbGlidG9vbF90YWdzID0gKENDID0+IDEsIENYWCA9PiAxLCBHQ0ogPT4g MSwgRjc3ID0+IDEpOwoJICAgIH0KCX0KICAgIH0KCiAgZXJyb3IgKCR3aGVyZSwgImNvbmRp dGlvbiBzdGFjayBub3QgcHJvcGVybHkgY2xvc2VkIikKICAgIGlmIChAY29uZF9zdGFjayk7 CgogICR0cmFjZWZoLT5jbG9zZTsKfQoKCiMgQ2hlY2sgd2hldGhlciB3ZSB1c2UgJ2NvbmZp Z3VyZS5hYycgb3IgJ2NvbmZpZ3VyZS5pbicuCiMgU2NhbiBpdCAoYW5kIHBvc3NpYmx5ICdh Y2xvY2FsLm00JykgZm9yIGludGVyZXN0aW5nIHRoaW5ncy4KIyBXZSBtdXN0IHNjYW4gYWNs b2NhbC5tNCBiZWNhdXNlIHRoZXJlIG1pZ2h0IGJlIEFDX1NVQlNUcyBhbmQgc3VjaCB0aGVy ZS4Kc3ViIHNjYW5fYXV0b2NvbmZfZmlsZXMgKCkKewogICMgUmVpbml0aWFsaXplIGxpYnNv dXJjZXMgaGVyZS4gIFRoaXMgaXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeSwKICAjIHNpbmNlIHdl IGN1cnJlbnRseSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgY29uZmlndXJlLmFjLiAgQnV0 CiAgIyB0aGF0IHdvbid0IGFsd2F5cyBiZSB0aGUgY2FzZS4KICAlbGlic291cmNlcyA9ICgp OwoKICAjIEtlZXAgdHJhY2sgb2YgdGhlIHlvdW5nZXN0IGNvbmZpZ3VyZSBkZXBlbmRlbmN5 LgogICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPSBtdGltZSAkY29uZmln dXJlX2FjOwogIGlmICgtZSAnYWNsb2NhbC5tNCcpCiAgICB7CiAgICAgIG15ICRtdGltZSA9 IG10aW1lICdhY2xvY2FsLm00JzsKICAgICAgJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0X3Rp bWVzdGFtcCA9ICRtdGltZQoJaWYgJG10aW1lID4gJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0 X3RpbWVzdGFtcDsKICAgIH0KCiAgc2Nhbl9hdXRvY29uZl90cmFjZXMgKCRjb25maWd1cmVf YWMpOwoKICBAY29uZmlndXJlX2lucHV0X2ZpbGVzID0gc29ydCBrZXlzICVtYWtlX2xpc3Q7 CiAgIyBTZXQgaW5wdXQgYW5kIG91dHB1dCBmaWxlcyBpZiBub3Qgc3BlY2lmaWVkIGJ5IHVz ZXIuCiAgaWYgKCEgQGlucHV0X2ZpbGVzKQogICAgewogICAgICBAaW5wdXRfZmlsZXMgPSBA Y29uZmlndXJlX2lucHV0X2ZpbGVzOwogICAgICAlb3V0cHV0X2ZpbGVzID0gJW1ha2VfbGlz dDsKICAgIH0KCgogIGlmICghICRzZWVuX2luaXRfYXV0b21ha2UpCiAgICB7CiAgICAgIGVy cl9hYyAoIm5vIHByb3BlciBpbnZvY2F0aW9uIG9mIEFNX0lOSVRfQVVUT01BS0Ugd2FzIGZv dW5kLlxuWW91ICIKCSAgICAgIC4gInNob3VsZCB2ZXJpZnkgdGhhdCAkY29uZmlndXJlX2Fj IGludm9rZXMgQU1fSU5JVF9BVVRPTUFLRSwiCgkgICAgICAuICJcbnRoYXQgYWNsb2NhbC5t NCBpcyBwcmVzZW50IGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LFxuIgoJICAgICAgLiAi YW5kIHRoYXQgYWNsb2NhbC5tNCB3YXMgcmVjZW50bHkgcmVnZW5lcmF0ZWQgIgoJICAgICAg LiAiKHVzaW5nIGFjbG9jYWwpIik7CiAgICB9CiAgZWxzZQogICAgewogICAgICBpZiAoISAk c2Vlbl9hdXRvbWFrZV92ZXJzaW9uKQoJewoJICBpZiAoLWYgJ2FjbG9jYWwubTQnKQoJICAg IHsKCSAgICAgIGVycm9yICgkc2Vlbl9pbml0X2F1dG9tYWtlLAoJCSAgICAgInlvdXIgaW1w bGVtZW50YXRpb24gb2YgQU1fSU5JVF9BVVRPTUFLRSBjb21lcyBmcm9tICIgLgoJCSAgICAg ImFuXG5vbGQgQXV0b21ha2UgdmVyc2lvbi4gIFlvdSBzaG91bGQgcmVjcmVhdGUgIiAuCgkJ ICAgICAiYWNsb2NhbC5tNFxud2l0aCBhY2xvY2FsIGFuZCBydW4gYXV0b21ha2UgYWdhaW4i LAoJCSAgICAgIyAkPyA9IDYzIGlzIHVzZWQgdG8gaW5kaWNhdGUgdmVyc2lvbiBtaXNtYXRj aCB0byBtaXNzaW5nLgoJCSAgICAgZXhpdF9jb2RlID0+IDYzKTsKCSAgICB9CgkgIGVsc2UK CSAgICB7CgkgICAgICBlcnJvciAoJHNlZW5faW5pdF9hdXRvbWFrZSwKCQkgICAgICJubyBw cm9wZXIgaW1wbGVtZW50YXRpb24gb2YgQU1fSU5JVF9BVVRPTUFLRSB3YXMgIiAuCgkJICAg ICAiZm91bmQsXG5wcm9iYWJseSBiZWNhdXNlIGFjbG9jYWwubTQgaXMgbWlzc2luZy5cbiIg LgoJCSAgICAgIllvdSBzaG91bGQgcnVuIGFjbG9jYWwgdG8gY3JlYXRlIHRoaXMgZmlsZSwg dGhlblxuIiAuCgkJICAgICAicnVuIGF1dG9tYWtlIGFnYWluIik7CgkgICAgfQoJfQogICAg fQoKICBsb2NhdGVfYXV4X2RpciAoKTsKCiAgIyBMb29rIGZvciBzb21lIGZpbGVzIHdlIG5l ZWQuICBBbHdheXMgY2hlY2sgZm9yIHRoZXNlLiAgVGhpcwogICMgY2hlY2sgbXVzdCBiZSBk b25lIGZvciBldmVyeSBydW4sIGV2ZW4gdGhvc2Ugd2hlcmUgd2UgYXJlIG9ubHkKICAjIGxv b2tpbmcgYXQgYSBzdWJkaXIgTWFrZWZpbGUuICBXZSBtdXN0IHNldCByZWxhdGl2ZV9kaXIg Zm9yCiAgIyBwdXNoX3JlcXVpcmVkX2ZpbGUgdG8gd29yay4KICAjIFNvcnQgdGhlIGZpbGVz IGZvciBzdGFibGUgdmVyYm9zZSBvdXRwdXQuCiAgJHJlbGF0aXZlX2RpciA9ICcuJzsKICBm b3JlYWNoIG15ICRmaWxlIChzb3J0IGtleXMgJXJlcXVpcmVkX2F1eF9maWxlKQogICAgewog ICAgICByZXF1aXJlX2NvbmZfZmlsZSAoJHJlcXVpcmVkX2F1eF9maWxleyRmaWxlfS0+Z2V0 LCBGT1JFSUdOLCAkZmlsZSkKICAgIH0KICBlcnJfYW0gIidpbnN0YWxsLnNoJyBpcyBhbiBh bmFjaHJvbmlzbTsgdXNlICdpbnN0YWxsLXNoJyBpbnN0ZWFkIgogICAgaWYgLWYgJGNvbmZp Z19hdXhfZGlyIC4gJy9pbnN0YWxsLnNoJzsKCiAgIyBQcmVzZXJ2ZSBkaXN0X2NvbW1vbiBm b3IgbGF0ZXIuCiAgQGNvbmZpZ3VyZV9kaXN0X2NvbW1vbiA9IEBkaXN0X2NvbW1vbjsKfQoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBEbyBhbnkgZXh0cmEgY2hlY2tpbmcgZm9yIEdOVSBzdGFuZGFyZHMu CnN1YiBjaGVja19nbnVfc3RhbmRhcmRzICgpCnsKICBpZiAoJHJlbGF0aXZlX2RpciBlcSAn LicpCiAgICB7CiAgICAgICMgSW4gdG9wIGxldmVsIChvciBvbmx5KSBkaXJlY3RvcnkuCiAg ICAgIHJlcXVpcmVfZmlsZSAoIiRhbV9maWxlLmFtIiwgR05VLAoJCSAgICBxdy9JTlNUQUxM IE5FV1MgUkVBRE1FIEFVVEhPUlMgQ2hhbmdlTG9nLyk7CgogICAgICAjIEFjY2VwdCBvbmUg b2YgdGhlc2UgdGhyZWUgbGljZW5zZXM7IGRlZmF1bHQgdG8gQ09QWUlORy4KICAgICAgIyBN YWtlIHN1cmUgd2UgZG8gbm90IG92ZXJ3cml0ZSBhbiBleGlzdGluZyBsaWNlbnNlLgogICAg ICBteSAkbGljZW5zZTsKICAgICAgZm9yZWFjaCAocXcgL0NPUFlJTkcgQ09QWUlORy5MSUIg Q09QWUlORy5MRVNTRVIvKQoJewoJICBpZiAoLWYgJF8pCgkgICAgewoJICAgICAgJGxpY2Vu c2UgPSAkXzsKCSAgICAgIGxhc3Q7CgkgICAgfQoJfQogICAgICByZXF1aXJlX2ZpbGUgKCIk YW1fZmlsZS5hbSIsIEdOVSwgJ0NPUFlJTkcnKQoJdW5sZXNzICRsaWNlbnNlOwogICAgfQoK ICBmb3IgbXkgJG9wdCAoJ25vLWluc3RhbGxtYW4nLCAnbm8taW5zdGFsbGluZm8nKQogICAg ewogICAgICBtc2cgKCdlcnJvci1nbnUnLCBvcHRpb24gJG9wdCwKCSAgICJvcHRpb24gJyRv cHQnIGRpc2FsbG93ZWQgYnkgR05VIHN0YW5kYXJkcyIpCglpZiBvcHRpb24gJG9wdDsKICAg IH0KfQoKIyBEbyBhbnkgZXh0cmEgY2hlY2tpbmcgZm9yIEdOSVRTIHN0YW5kYXJkcy4Kc3Vi IGNoZWNrX2duaXRzX3N0YW5kYXJkcyAoKQp7CiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4n KQogICAgewogICAgICAjIEluIHRvcCBsZXZlbCAob3Igb25seSkgZGlyZWN0b3J5LgogICAg ICByZXF1aXJlX2ZpbGUgKCIkYW1fZmlsZS5hbSIsIEdOSVRTLCAnVEhBTktTJyk7CiAgICB9 Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKIwojIEZ1bmN0aW9ucyB0byBoYW5kbGUgZmlsZXMgb2YgZWFjaCBs YW5ndWFnZS4KCiMgRWFjaCAnbGFuZ19YX3Jld3JpdGUoJERJUkVDVE9SWSwgJEJBU0UsICRF WFQpJyBmdW5jdGlvbiBmb2xsb3dzIGEKIyBzaW1wbGUgZm9ybXVsYTogUmV0dXJuIHZhbHVl IGlzIExBTkdfU1VCRElSIGlmIHRoZSByZXN1bHRpbmcgb2JqZWN0CiMgZmlsZSBzaG91bGQg YmUgaW4gYSBzdWJkaXIgaWYgdGhlIHNvdXJjZSBmaWxlIGlzLCBMQU5HX1BST0NFU1MgaWYK IyBmaWxlIGlzIHRvIGJlIGRlYWx0IHdpdGgsIExBTkdfSUdOT1JFIG90aGVyd2lzZS4KCiMg TXVjaCBvZiB0aGUgYWN0dWFsIHByb2Nlc3NpbmcgaXMgaGFuZGxlZCBpbgojIGhhbmRsZV9z aW5nbGVfdHJhbnNmb3JtLiAgVGhlc2UgZnVuY3Rpb25zIGV4aXN0IHNvIHRoYXQKIyBhdXhp bGlhcnkgaW5mb3JtYXRpb24gY2FuIGJlIHJlY29yZGVkIGZvciBhIGxhdGVyIGNsZWFudXAg cGFzcy4KIyBOb3RlIHRoYXQgdGhlIGNhbGxzIHRvIHRoZXNlIGZ1bmN0aW9ucyBhcmUgY29t cHV0ZWQsIHNvIGRvbid0IGJvdGhlcgojIHNlYXJjaGluZyBmb3IgdGhlaXIgcHJlY2lzZSBu YW1lcyBpbiB0aGUgc291cmNlLgoKIyBUaGlzIGlzIGp1c3QgYSBjb252ZW5pZW5jZSBmdW5j dGlvbiB0aGF0IGNhbiBiZSB1c2VkIHRvIGRldGVybWluZQojIHdoZW4gYSBzdWJkaXIgb2Jq ZWN0IHNob3VsZCBiZSB1c2VkLgpzdWIgbGFuZ19zdWJfb2JqICgpCnsKICAgIHJldHVybiBv cHRpb24gJ3N1YmRpci1vYmplY3RzJyA/IExBTkdfU1VCRElSIDogTEFOR19QUk9DRVNTOwp9 CgojIFJld3JpdGUgYSBzaW5nbGUgaGVhZGVyIGZpbGUuCnN1YiBsYW5nX2hlYWRlcl9yZXdy aXRlCnsKICAgICMgSGVhZGVyIGZpbGVzIGFyZSBzaW1wbHkgaWdub3JlZC4KICAgIHJldHVy biBMQU5HX0lHTk9SRTsKfQoKIyBSZXdyaXRlIGEgc2luZ2xlIFZhbGEgc291cmNlIGZpbGUu CnN1YiBsYW5nX3ZhbGFfcmV3cml0ZQp7CiAgICBteSAoJGRpcmVjdG9yeSwgJGJhc2UsICRl eHQpID0gQF87CgogICAgKG15ICRuZXdleHQgPSAkZXh0KSA9fiBzL3ZhbGEkL2MvOwogICAg cmV0dXJuIChMQU5HX1NVQkRJUiwgJG5ld2V4dCk7Cn0KCiMgUmV3cml0ZSBhIHNpbmdsZSB5 YWNjL3lhY2MrKyBmaWxlLgpzdWIgbGFuZ195YWNjX3Jld3JpdGUKewogICAgbXkgKCRkaXJl Y3RvcnksICRiYXNlLCAkZXh0KSA9IEBfOwoKICAgIG15ICRyID0gbGFuZ19zdWJfb2JqOwog ICAgKG15ICRuZXdleHQgPSAkZXh0KSA9fiB0ci95L2MvOwogICAgcmV0dXJuICgkciwgJG5l d2V4dCk7Cn0Kc3ViIGxhbmdfeWFjY3h4X3Jld3JpdGUgeyBsYW5nX3lhY2NfcmV3cml0ZSAo QF8pOyB9OwoKIyBSZXdyaXRlIGEgc2luZ2xlIGxleC9sZXgrKyBmaWxlLgpzdWIgbGFuZ19s ZXhfcmV3cml0ZQp7CiAgICBteSAoJGRpcmVjdG9yeSwgJGJhc2UsICRleHQpID0gQF87Cgog ICAgbXkgJHIgPSBsYW5nX3N1Yl9vYmo7CiAgICAobXkgJG5ld2V4dCA9ICRleHQpID1+IHRy L2wvYy87CiAgICByZXR1cm4gKCRyLCAkbmV3ZXh0KTsKfQpzdWIgbGFuZ19sZXh4eF9yZXdy aXRlIHsgbGFuZ19sZXhfcmV3cml0ZSAoQF8pOyB9OwoKIyBSZXdyaXRlIGEgc2luZ2xlIEph dmEgZmlsZS4Kc3ViIGxhbmdfamF2YV9yZXdyaXRlCnsKICAgIHJldHVybiBMQU5HX1NVQkRJ UjsKfQoKIyBUaGUgbGFuZ19YX2ZpbmlzaCBmdW5jdGlvbnMgYXJlIGNhbGxlZCBhZnRlciBh bGwgc291cmNlIGZpbGUKIyBwcm9jZXNzaW5nIGlzIGRvbmUuICBFYWNoIHNob3VsZCBoYW5k bGUgZGVmaW5pbmcgcnVsZXMgZm9yIHRoZQojIGxhbmd1YWdlLCBldGMuICBBIGZpbmlzaCBm dW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBpZiBhIHNvdXJjZSBmaWxlIG9mCiMgdGhlIGFwcHJv cHJpYXRlIHR5cGUgaGFzIGJlZW4gc2Vlbi4KCnN1YiBsYW5nX3ZhbGFfZmluaXNoX3Rhcmdl dAp7CiAgbXkgKCRzZWxmLCAkbmFtZSkgPSBAXzsKCiAgbXkgJGRlcml2ZWQgPSBjYW5vbmlj YWxpemUgKCRuYW1lKTsKICBteSAkdmFyID0gdmFyICIke2Rlcml2ZWR9X1NPVVJDRVMiOwog IHJldHVybiB1bmxlc3MgJHZhcjsKCiAgbXkgQHZhbGFfc291cmNlcyA9IGdyZXAgeyAvXC4o dmFsYXx2YXBpKSQvIH0gKCR2YXItPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKTsKCiAgIyBG b3IgYXV0b21ha2UgYnVnIzExMjI5LgogIHJldHVybiB1bmxlc3MgQHZhbGFfc291cmNlczsK CiAgZm9yZWFjaCBteSAkdmFsYV9maWxlIChAdmFsYV9zb3VyY2VzKQogICAgewogICAgICBt eSAkY19maWxlID0gJHZhbGFfZmlsZTsKICAgICAgaWYgKCRjX2ZpbGUgPX4gcy8oLiopXC52 YWxhJC8kMS5jLykKICAgICAgICB7CiAgICAgICAgICAkY19maWxlID0gIlwkKHNyY2Rpcikv JGNfZmlsZSI7CiAgICAgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkY19maWxlOiBcJChzcmNk aXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcFxuIgogICAgICAgICAgICAuICJcdFxAaWYgdGVz dCAtZiBcJEA7IHRoZW4gOjsgZWxzZSBybSAtZiBcJChzcmNkaXIpLyR7ZGVyaXZlZH1fdmFs YS5zdGFtcDsgZmlcbiIKICAgICAgICAgICAgLiAiXHRcQGlmIHRlc3QgLWYgXCRAOyB0aGVu IDo7IGVsc2UgXFxcbiIKICAgICAgICAgICAgLiAiXHQgIFwkKE1BS0UpIFwkKEFNX01BS0VG TEFHUykgXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IFxcXG4iCiAgICAgICAg ICAgIC4gIlx0ZmlcbiI7CgkgICRjbGVhbl9maWxlc3skY19maWxlfSA9IE1BSU5UQUlORVJf Q0xFQU47CiAgICAgICAgfQogICAgfQoKICAjIEFkZCByZWJ1aWxkIHJ1bGVzIGZvciBnZW5l cmF0ZWQgaGVhZGVyIGFuZCB2YXBpIGZpbGVzCiAgbXkgJGZsYWdzID0gdmFyICgkZGVyaXZl ZCAuICdfVkFMQUZMQUdTJyk7CiAgaWYgKCRmbGFncykKICAgIHsKICAgICAgbXkgJGxhc3Rm bGFnID0gJyc7CiAgICAgIGZvcmVhY2ggbXkgJGZsYWcgKCRmbGFncy0+dmFsdWVfYXNfbGlz dF9yZWN1cnNpdmUpCgl7CgkgIGlmIChncmVwICgvJGxhc3RmbGFnLywgKCctSCcsICctaCcs ICctLWhlYWRlcicsICctLWludGVybmFsLWhlYWRlcicsCgkgICAgICAgICAgICAgICAgICAg ICAgICAgICctLXZhcGknLCAnLS1pbnRlcm5hbC12YXBpJywgJy0tZ2lyJykpKQoJICAgIHsK CSAgICAgIG15ICRoZWFkZXJmaWxlID0gIlwkKHNyY2RpcikvJGZsYWciOwoJICAgICAgJG91 dHB1dF9ydWxlcyAuPSAiJGhlYWRlcmZpbGU6IFwkKHNyY2RpcikvJHtkZXJpdmVkfV92YWxh LnN0YW1wXG4iCgkJLiAiXHRcQGlmIHRlc3QgLWYgXCRAOyB0aGVuIDo7IGVsc2Ugcm0gLWYg XCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IGZpXG4iCgkJLiAiXHRcQGlmIHRl c3QgLWYgXCRAOyB0aGVuIDo7IGVsc2UgXFxcbiIKCQkuICJcdCAgXCQoTUFLRSkgXCQoQU1f TUFLRUZMQUdTKSBcJChzcmNkaXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcDsgXFxcbiIKCQku ICJcdGZpXG4iOwoKCSAgICAgICMgdmFsYWMgaXMgbm90IHVzZWQgd2hlbiBidWlsZGluZyBm cm9tIGRpc3QgdGFyYmFsbHMKCSAgICAgICMgZGlzdHJpYnV0ZSB0aGUgZ2VuZXJhdGVkIGZp bGVzCgkgICAgICBwdXNoX2Rpc3RfY29tbW9uICgkaGVhZGVyZmlsZSk7CgkgICAgICAkY2xl YW5fZmlsZXN7JGhlYWRlcmZpbGV9ID0gTUFJTlRBSU5FUl9DTEVBTjsKCSAgICB9CgkgICRs YXN0ZmxhZyA9ICRmbGFnOwoJfQogICAgfQoKICBteSAkY29tcGlsZSA9ICRzZWxmLT5jb21w aWxlOwoKICAjIFJld3JpdGUgZWFjaCBvY2N1cnJlbmNlIG9mICdBTV9WQUxBRkxBR1MnIGlu IHRoZSBjb21waWxlCiAgIyBydWxlIGludG8gJyR7ZGVyaXZlZH1fVkFMQUZMQUdTJyBpZiBp dCBleGlzdHMuCiAgbXkgJHZhbCA9ICIke2Rlcml2ZWR9X1ZBTEFGTEFHUyI7CiAgJGNvbXBp bGUgPX4gcy9cKEFNX1ZBTEFGTEFHU1wpL1woJHZhbFwpLwogICAgaWYgc2V0X3NlZW4gKCR2 YWwpOwoKICAjIFZBTEFGTEFHUyBpcyBhIHVzZXIgdmFyaWFibGUgKHBlciBHTlUgU3RhbmRh cmRzKSwKICAjIGl0IHNob3VsZCBub3QgYmUgb3ZlcnJpZGRlbiBpbiB0aGUgTWFrZWZpbGUu Li4KICBjaGVja191c2VyX3ZhcmlhYmxlcyAnVkFMQUZMQUdTJzsKCiAgbXkgJGRpcm5hbWUg PSBkaXJuYW1lICgkbmFtZSk7CgogICMgT25seSBnZW5lcmF0ZSBDIGNvZGUsIGRvIG5vdCBy dW4gQyBjb21waWxlcgogICRjb21waWxlIC49ICIgLUMiOwoKICBteSAkdmVyYm9zZSA9IHZl cmJvc2VfZmxhZyAoJ1ZBTEFDJyk7CiAgbXkgJHNpbGVudCA9IHNpbGVudF9mbGFnICgpOwog IG15ICRzdGFtcGZpbGUgPSAiXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXAiOwoK ICAkb3V0cHV0X3J1bGVzIC49CiAgICAiXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3Rh bXA6IEB2YWxhX3NvdXJjZXNcbiIuCiMgU2luY2UgdGhlIEMgZmlsZXMgZ2VuZXJhdGVkIGZy b20gdGhlIHZhbGEgc291cmNlcyBkZXBlbmQgb24gdGhlCiMgJHtkZXJpdmVkfV92YWxhLnN0 YW1wIGZpbGUsIHdlIG11c3QgZW5zdXJlIGl0cyB0aW1lc3RhbXAgaXMgb2xkZXIgdGhhbgoj IHRob3NlIG9mIHRoZSBDIGZpbGVzIGdlbmVyYXRlZCBieSB0aGUgdmFsYWMgaW52b2NhdGlv biBiZWxvdyAodGhpcyBpcwojIGVzcGVjaWFsbHkgaW1wb3J0YW50IG9uIHN5c3RlbXMgd2l0 aCBzdWItc2Vjb25kIHRpbWVzdGFtcCByZXNvbHV0aW9uKS4KIyBUaHVzIHdlIG5lZWQgdG8g Y3JlYXRlIHRoZSBzdGFtcCBmaWxlICpiZWZvcmUqIGludm9raW5nIHZhbGFjLCBhbmQgdG8K IyBtb3ZlIGl0IHRvIGl0cyBmaW5hbCBsb2NhdGlvbiBvbmx5IGFmdGVyIHZhbGFjIGhhcyBi ZWVuIGludm9rZWQuCiAgICAiXHQke3NpbGVudH1ybSAtZiBcJFxAICYmIGVjaG8gc3RhbXAg PiBcJFxALXRcbiIuCiAgICAiXHQke3ZlcmJvc2V9XCQoYW1fX2NkKSBcJChzcmNkaXIpICYm ICRjb21waWxlIEB2YWxhX3NvdXJjZXNcbiIuCiAgICAiXHQke3NpbGVudH1tdiAtZiBcJFxA LXQgXCRcQFxuIjsKCiAgcHVzaF9kaXN0X2NvbW1vbiAoJHN0YW1wZmlsZSk7CgogICRjbGVh bl9maWxlc3skc3RhbXBmaWxlfSA9IE1BSU5UQUlORVJfQ0xFQU47Cn0KCiMgQWRkIG91dHB1 dCBydWxlcyB0byBpbnZva2UgdmFsYWMgYW5kIGNyZWF0ZSBzdGFtcCBmaWxlIGFzIGEgd2l0 bmVzcwojIHRvIGhhbmRsZSBtdWx0aXBsZSBvdXRwdXRzLiBUaGlzIGZ1bmN0aW9uIGlzIGNh bGxlZCBhZnRlciBhbGwgc291cmNlCiMgZmlsZSBwcm9jZXNzaW5nIGlzIGRvbmUuCnN1YiBs YW5nX3ZhbGFfZmluaXNoICgpCnsKICBteSAoJHNlbGYpID0gQF87CgogIGZvcmVhY2ggbXkg JHByb2cgKGtleXMgJWtub3duX3Byb2dyYW1zKQogICAgewogICAgICBsYW5nX3ZhbGFfZmlu aXNoX3RhcmdldCAoJHNlbGYsICRwcm9nKTsKICAgIH0KCiAgd2hpbGUgKG15ICgkbmFtZSkg PSBlYWNoICVrbm93bl9saWJyYXJpZXMpCiAgICB7CiAgICAgIGxhbmdfdmFsYV9maW5pc2hf dGFyZ2V0ICgkc2VsZiwgJG5hbWUpOwogICAgfQp9CgojIFRoZSBidWlsdCAuYyBmaWxlcyBz aG91bGQgYmUgY2xlYW5lZCBvbmx5IG9uIG1haW50YWluZXItY2xlYW4KIyBhcyB0aGUgLmMg ZmlsZXMgYXJlIGRpc3RyaWJ1dGVkLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmb3IgZWFj aAojIC52YWxhIHNvdXJjZSBmaWxlLgpzdWIgbGFuZ192YWxhX3RhcmdldF9ob29rCnsKICBt eSAoJHNlbGYsICRhZ2dyZWdhdGUsICRvdXRwdXQsICRpbnB1dCwgJXRyYW5zZm9ybSkgPSBA XzsKCiAgJGNsZWFuX2ZpbGVzeyRvdXRwdXR9ID0gTUFJTlRBSU5FUl9DTEVBTjsKfQoKIyBU aGlzIGlzIGEgeWFjYyBoZWxwZXIgd2hpY2ggaXMgY2FsbGVkIHdoZW5ldmVyIHdlIGhhdmUg ZGVjaWRlZCB0bwojIGNvbXBpbGUgYSB5YWNjIGZpbGUuCnN1YiBsYW5nX3lhY2NfdGFyZ2V0 X2hvb2sKewogICAgbXkgKCRzZWxmLCAkYWdncmVnYXRlLCAkb3V0cHV0LCAkaW5wdXQsICV0 cmFuc2Zvcm0pID0gQF87CgogICAgIyBJZiBzb21lIHJlbGV2YW50ICpZRkxBR1MgdmFyaWFi bGUgY29udGFpbnMgdGhlICctZCcgZmxhZywgd2UnbGwKICAgICMgaGF2ZSB0byB0byBnZW5l cmF0ZSBzcGVjaWFsIGNvZGUuCiAgICBteSAkeWZsYWdzX2NvbnRhaW5zX21pbnVzX2QgPSAw OwoKICAgIGZvcmVhY2ggbXkgJHBmeCAoIiIsICIke2FnZ3JlZ2F0ZX1fIikKICAgICAgewoJ bXkgJHlmbGFnc3ZhciA9IHZhciAoIiR7cGZ4fVlGTEFHUyIpOwoJbmV4dCB1bmxlc3MgJHlm bGFnc3ZhcjsKCSMgV2UgY2Fubm90IHdvcmsgcmVsaWFibHkgd2l0aCBjb25kaXRpb25hbGx5 LWRlZmluZWQgWUZMQUdTLgoJaWYgKCR5ZmxhZ3N2YXItPmhhc19jb25kaXRpb25hbF9jb250 ZW50cykKCSAgewoJICAgIG1zZ192YXIgKCd1bnN1cHBvcnRlZCcsICR5ZmxhZ3N2YXIsCgkg ICAgICAgICAgICAgIicke3BmeH1ZRkxBR1MnIGNhbm5vdCBoYXZlIGNvbmRpdGlvbmFsIGNv bnRlbnRzIik7CgkgIH0KCWVsc2UKCSAgewoJICAgICR5ZmxhZ3NfY29udGFpbnNfbWludXNf ZCA9IDEKCSAgICAgIGlmIGdyZXAgKC9eLWQkLywgJHlmbGFnc3Zhci0+dmFsdWVfYXNfbGlz dF9yZWN1cnNpdmUpOwoJICB9CiAgICAgIH0KCiAgICBpZiAoJHlmbGFnc19jb250YWluc19t aW51c19kKQogICAgICB7CgkjIEZvdW5kIGEgJy1kJyB0aGF0IGFwcGxpZXMgdG8gdGhlIGNv bXBpbGF0aW9uIG9mIHRoaXMgZmlsZS4KCSMgQWRkIGEgZGVwZW5kZW5jeSBmb3IgdGhlIGdl bmVyYXRlZCBoZWFkZXIgZmlsZSwgYW5kIGFycmFuZ2UKCSMgZm9yIHRoYXQgZmlsZSB0byBi ZSBpbmNsdWRlZCBpbiB0aGUgZGlzdHJpYnV0aW9uLgoKCSMgVGhlIGV4dGVuc2lvbiBvZiB0 aGUgb3V0cHV0IGZpbGUgKGUuZy4sICcuYycgb3IgJy5jeHgnKS4KCSMgV2UnbGwgbmVlZCBp dCB0byBjb21wdXRlIHRoZSBuYW1lIG9mIHRoZSBnZW5lcmF0ZWQgaGVhZGVyIGZpbGUuCgko bXkgJG91dHB1dF9leHQgPSBiYXNlbmFtZSAoJG91dHB1dCkpID1+IHMvLiooXC5bXi5dKykk LyQxLzsKCgkjIFdlIGtub3cgdGhhdCBhIHlhY2MgaW5wdXQgc2hvdWxkIGJlIHR1cm5lZCBp bnRvIGVpdGhlciBhIEMgb3IKCSMgQysrIG91dHB1dCBmaWxlLiAgV2UgZGVwZW5kIG9uIHRo aXMgZmFjdCAoaGVyZSBhbmQgaW4geWFjYy5hbSksCgkjIHNvIGNoZWNrIHRoYXQgaXQgcmVh bGx5IGhvbGRzLgoJbXkgJGxhbmcgPSAkbGFuZ3VhZ2VzeyRleHRlbnNpb25fbWFweyRvdXRw dXRfZXh0fX07Cglwcm9nX2Vycm9yICJpbnZhbGlkIG91dHB1dCBuYW1lICckb3V0cHV0JyBm b3IgeWFjYyBmaWxlICckaW5wdXQnIgoJICBpZiAoISRsYW5nIHx8ICgkbGFuZy0+bmFtZSBu ZSAnYycgJiYgJGxhbmctPm5hbWUgbmUgJ2N4eCcpKTsKCgkobXkgJGhlYWRlcl9leHQgPSAk b3V0cHV0X2V4dCkgPX4gcy9jL2gvZzsKICAgICAgICAjIFF1b3RlICRvdXRwdXRfZXh0IGlu IHRoZSByZWdleHAsIHNvIHRoYXQgZG90cyBpbiBpdCBhcmUgdGFrZW4KICAgICAgICAjIGFz IGxpdGVyYWwgZG90cywgbm90IGFzIG1ldGFjaGFyYWN0ZXJzLgoJKG15ICRoZWFkZXIgPSAk b3V0cHV0KSA9fiBzL1xRJG91dHB1dF9leHRcRSQvJGhlYWRlcl9leHQvOwoKCWZvcmVhY2gg bXkgJGNvbmQgKEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCR7aGVhZGVyfSwgJ2ludGVybmFs JywKCQkJCQkJICBSVUxFX0FVVE9NQUtFLCBUUlVFLAoJCQkJCQkgIElOVEVSTkFMKSkKCSAg ewoJICAgIG15ICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgICAkb3V0cHV0 X3J1bGVzIC49CgkgICAgICAiJGNvbmRzdHIke2hlYWRlcn06ICRvdXRwdXRcbiIKCSAgICAg ICMgUmVjb3ZlciBmcm9tIHJlbW92YWwgb2YgJGhlYWRlcgoJICAgICAgLiAiJGNvbmRzdHJc dFxAaWYgdGVzdCAhIC1mIFwkQDsgdGhlbiBybSAtZiAkb3V0cHV0OyBlbHNlIDo7IGZpXG4i CgkgICAgICAuICIkY29uZHN0clx0XEBpZiB0ZXN0ICEgLWYgXCRAOyB0aGVuIFwkKE1BS0Up IFwkKEFNX01BS0VGTEFHUykgJG91dHB1dDsgZWxzZSA6OyBmaVxuIjsKCSAgfQoJIyBEaXN0 cmlidXRlIHRoZSBnZW5lcmF0ZWQgZmlsZSwgdW5sZXNzIGl0cyAueSBzb3VyY2Ugd2FzCgkj IGxpc3RlZCBpbiBhIG5vZGlzdF8gdmFyaWFibGUuICAoaGFuZGxlX3NvdXJjZV90cmFuc2Zv cm0oKQoJIyB3aWxsIHNldCBESVNUX1NPVVJDRS4pCglwdXNoX2Rpc3RfY29tbW9uICgkaGVh ZGVyKQoJICBpZiAkdHJhbnNmb3JteydESVNUX1NPVVJDRSd9OwoKCSMgVGhlIEdOVSBydWxl cyBzYXkgdGhhdCB5YWNjL2xleCBvdXRwdXQgZmlsZXMgc2hvdWxkIGJlIHJlbW92ZWQKCSMg YnkgbWFpbnRhaW5lci1jbGVhbi4gIEhvd2V2ZXIsIGlmIHRoZSBmaWxlcyBhcmUgbm90IGRp c3RyaWJ1dGVkLAoJIyB0aGVuIHdlIHdhbnQgdG8gcmVtb3ZlIHRoZW0gd2l0aCAibWFrZSBj bGVhbiI7IG90aGVyd2lzZSwKCSMgIm1ha2UgZGlzdGNoZWNrIiB3aWxsIGZhaWwuCgkkY2xl YW5fZmlsZXN7JGhlYWRlcn0gPSAkdHJhbnNmb3JteydESVNUX1NPVVJDRSd9ID8gTUFJTlRB SU5FUl9DTEVBTiA6IENMRUFOOwogICAgICB9CiAgICAjIFNlZSB0aGUgY29tbWVudCBhYm92 ZSBmb3IgJEhFQURFUi4KICAgICRjbGVhbl9maWxlc3skb3V0cHV0fSA9ICR0cmFuc2Zvcm17 J0RJU1RfU09VUkNFJ30gPyBNQUlOVEFJTkVSX0NMRUFOIDogQ0xFQU47Cn0KCiMgVGhpcyBp cyBhIGxleCBoZWxwZXIgd2hpY2ggaXMgY2FsbGVkIHdoZW5ldmVyIHdlIGhhdmUgZGVjaWRl ZCB0bwojIGNvbXBpbGUgYSBsZXggZmlsZS4Kc3ViIGxhbmdfbGV4X3RhcmdldF9ob29rCnsK ICAgIG15ICgkc2VsZiwgJGFnZ3JlZ2F0ZSwgJG91dHB1dCwgJGlucHV0LCAldHJhbnNmb3Jt KSA9IEBfOwogICAgIyBUaGUgR05VIHJ1bGVzIHNheSB0aGF0IHlhY2MvbGV4IG91dHB1dCBm aWxlcyBzaG91bGQgYmUgcmVtb3ZlZAogICAgIyBieSBtYWludGFpbmVyLWNsZWFuLiAgSG93 ZXZlciwgaWYgdGhlIGZpbGVzIGFyZSBub3QgZGlzdHJpYnV0ZWQsCiAgICAjIHRoZW4gd2Ug d2FudCB0byByZW1vdmUgdGhlbSB3aXRoICJtYWtlIGNsZWFuIjsgb3RoZXJ3aXNlLAogICAg IyAibWFrZSBkaXN0Y2hlY2siIHdpbGwgZmFpbC4KICAgICRjbGVhbl9maWxlc3skb3V0cHV0 fSA9ICR0cmFuc2Zvcm17J0RJU1RfU09VUkNFJ30gPyBNQUlOVEFJTkVSX0NMRUFOIDogQ0xF QU47Cn0KCiMgVGhpcyBpcyBhIGhlbHBlciBmb3IgYm90aCBsZXggYW5kIHlhY2MuCnN1YiB5 YWNjX2xleF9maW5pc2hfaGVscGVyICgpCnsKICByZXR1cm4gaWYgZGVmaW5lZCAkbGFuZ3Vh Z2Vfc2NyYXRjaHsnbGV4LXlhY2MtZG9uZSd9OwogICRsYW5ndWFnZV9zY3JhdGNoeydsZXgt eWFjYy1kb25lJ30gPSAxOwoKICAjIEZJWE1FOiBmb3Igbm93LCBubyBsaW5lIG51bWJlci4K ICByZXF1aXJlX2NvbmZfZmlsZSAoJGNvbmZpZ3VyZV9hYywgRk9SRUlHTiwgJ3lsd3JhcCcp OwogIGRlZmluZV92YXJpYWJsZSAoJ1lMV1JBUCcsICIkYW1fY29uZmlnX2F1eF9kaXIveWx3 cmFwIiwgSU5URVJOQUwpOwp9CgpzdWIgbGFuZ195YWNjX2ZpbmlzaCAoKQp7CiAgcmV0dXJu IGlmIGRlZmluZWQgJGxhbmd1YWdlX3NjcmF0Y2h7J3lhY2MtZG9uZSd9OwogICRsYW5ndWFn ZV9zY3JhdGNoeyd5YWNjLWRvbmUnfSA9IDE7CgogIHJlamVjdF92YXIgJ1lBQ0NGTEFHUycs ICInWUFDQ0ZMQUdTJyBvYnNvbGV0ZTsgdXNlICdZRkxBR1MnIGluc3RlYWQiOwoKICB5YWNj X2xleF9maW5pc2hfaGVscGVyOwp9CgoKc3ViIGxhbmdfbGV4X2ZpbmlzaCAoKQp7CiAgcmV0 dXJuIGlmIGRlZmluZWQgJGxhbmd1YWdlX3NjcmF0Y2h7J2xleC1kb25lJ307CiAgJGxhbmd1 YWdlX3NjcmF0Y2h7J2xleC1kb25lJ30gPSAxOwoKICB5YWNjX2xleF9maW5pc2hfaGVscGVy Owp9CgoKIyBHaXZlbiBhIGhhc2ggdGFibGUgb2YgbGlua2VyIG5hbWVzLCBwaWNrIHRoZSBu YW1lIHRoYXQgaGFzIHRoZSBtb3N0CiMgcHJlY2VkZW5jZS4gIFRoaXMgaXMgbGFtZSwgYnV0 IHNvbWV0aGluZyBoYXMgdG8gaGF2ZSBnbG9iYWwKIyBrbm93bGVkZ2UgaW4gb3JkZXIgdG8g ZWxpbWluYXRlIHRoZSBjb25mbGljdC4gIEFkZCBtb3JlIGxpbmtlcnMgYXMKIyByZXF1aXJl ZC4Kc3ViIHJlc29sdmVfbGlua2VyCnsKICAgIG15ICglbGlua2VycykgPSBAXzsKCiAgICBm b3JlYWNoIG15ICRsIChxdyhHQ0pMSU5LIE9CSkNYWExJTksgQ1hYTElOSyBGNzdMSU5LIEZD TElOSyBPQkpDTElOSyBVUENMSU5LKSkKICAgIHsKCXJldHVybiAkbCBpZiBkZWZpbmVkICRs aW5rZXJzeyRsfTsKICAgIH0KICAgIHJldHVybiAnTElOSyc7Cn0KCiMgQ2FsbGVkIHRvIGlu ZGljYXRlIHRoYXQgYW4gZXh0ZW5zaW9uIHdhcyB1c2VkLgpzdWIgc2F3X2V4dGVuc2lvbgp7 CiAgICBteSAoJGV4dCkgPSBAXzsKICAgICRleHRlbnNpb25fc2VlbnskZXh0fSA9IDE7Cn0K CiMgcmVnaXN0ZXJfbGFuZ3VhZ2UgKCVBVFRSSUJVVEUpCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiMgUmVnaXN0ZXIgYSBzaW5nbGUgbGFuZ3VhZ2UuCiMgRWFjaCAlQVRU UklCVVRFIGlzIG9mIHRoZSBmb3JtIEFUVFJJQlVURSA9PiBWQUxVRS4Kc3ViIHJlZ2lzdGVy X2xhbmd1YWdlCnsKICBteSAoJW9wdGlvbikgPSBAXzsKCiAgIyBTZXQgdGhlIGRlZmF1bHRz LgogICRvcHRpb257J2F1dG9kZXAnfSA9ICdubycKICAgIHVubGVzcyBkZWZpbmVkICRvcHRp b257J2F1dG9kZXAnfTsKICAkb3B0aW9ueydsaW5rZXInfSA9ICcnCiAgICB1bmxlc3MgZGVm aW5lZCAkb3B0aW9ueydsaW5rZXInfTsKICAkb3B0aW9ueydmbGFncyd9ID0gW10KICAgIHVu bGVzcyBkZWZpbmVkICRvcHRpb257J2ZsYWdzJ307CiAgJG9wdGlvbnsnb3V0cHV0X2V4dGVu c2lvbnMnfSA9IHN1YiB7IHJldHVybiAoICcuJChPQkpFWFQpJywgJy5sbycgKSB9CiAgICB1 bmxlc3MgZGVmaW5lZCAkb3B0aW9ueydvdXRwdXRfZXh0ZW5zaW9ucyd9OwogICRvcHRpb257 J25vZGlzdF9zcGVjaWZpYyd9ID0gMAogICAgdW5sZXNzIGRlZmluZWQgJG9wdGlvbnsnbm9k aXN0X3NwZWNpZmljJ307CgogIG15ICRsYW5nID0gbmV3IEF1dG9tYWtlOjpMYW5ndWFnZSAo JW9wdGlvbik7CgogICMgRmlsbCBpbmRleGVzLgogICRleHRlbnNpb25fbWFweyRffSA9ICRs YW5nLT5uYW1lIGZvcmVhY2ggQHskbGFuZy0+ZXh0ZW5zaW9uc307CiAgJGxhbmd1YWdlc3sk bGFuZy0+bmFtZX0gPSAkbGFuZzsKICBteSAkbGluayA9ICRsYW5nLT5saW5rZXI7CiAgaWYg KCRsaW5rKQogICAgewogICAgICBpZiAoZXhpc3RzICRsaW5rX2xhbmd1YWdlc3skbGlua30p Cgl7CgkgIHByb2dfZXJyb3IgKCInJGxpbmsnIGhhcyBkaWZmZXJlbnQgZGVmaW5pdGlvbnMg aW4gIgoJCSAgICAgIC4gJGxhbmctPm5hbWUgLiAiIGFuZCAiIC4gJGxpbmtfbGFuZ3VhZ2Vz eyRsaW5rfS0+bmFtZSkKCSAgICBpZiAkbGFuZy0+bGluayBuZSAkbGlua19sYW5ndWFnZXN7 JGxpbmt9LT5saW5rOwoJfQogICAgICBlbHNlCgl7CgkgICRsaW5rX2xhbmd1YWdlc3skbGlu a30gPSAkbGFuZzsKCX0KICAgIH0KCiAgIyBVcGRhdGUgdGhlIHBhdHRlcm4gb2Yga25vd24g ZXh0ZW5zaW9ucy4KICBhY2NlcHRfZXh0ZW5zaW9ucyAoQHskbGFuZy0+ZXh0ZW5zaW9uc30p OwoKICAjIFVwZGF0ZSB0aGUgc3VmZml4IHJ1bGVzIG1hcC4KICBmb3JlYWNoIG15ICRzdWZm aXggKEB7JGxhbmctPmV4dGVuc2lvbnN9KQogICAgewogICAgICBmb3JlYWNoIG15ICRkZXN0 ICgkbGFuZy0+b3V0cHV0X2V4dGVuc2lvbnMtPigkc3VmZml4KSkKCXsKCSAgcmVnaXN0ZXJf c3VmZml4X3J1bGUgKElOVEVSTkFMLCAkc3VmZml4LCAkZGVzdCk7Cgl9CiAgICB9Cn0KCiMg ZGVyaXZlX3N1ZmZpeCAoJEVYVCwgJE9CSikKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBmaW5kIGEgcGF0aCBmcm9tIGEgdXNlci1z cGVjaWZpZWQgc3VmZml4ICRFWFQKIyB0byAkT0JKIG9yIHRvIHNvbWUgb3RoZXIgc3VmZml4 IHdlIHJlY29nbml6ZSBpbnRlcm5hbGx5LCBlLmcuICdjYycuCnN1YiBkZXJpdmVfc3VmZml4 CnsKICBteSAoJHNvdXJjZV9leHQsICRvYmopID0gQF87CgogIHdoaWxlICghJGV4dGVuc2lv bl9tYXB7JHNvdXJjZV9leHR9ICYmICRzb3VyY2VfZXh0IG5lICRvYmopCiAgICB7CiAgICAg IG15ICRuZXdfc291cmNlX2V4dCA9IG5leHRfaW5fc3VmZml4X2NoYWluICgkc291cmNlX2V4 dCwgJG9iaik7CiAgICAgIGxhc3QgaWYgbm90IGRlZmluZWQgJG5ld19zb3VyY2VfZXh0Owog ICAgICAkc291cmNlX2V4dCA9ICRuZXdfc291cmNlX2V4dDsKICAgIH0KCiAgcmV0dXJuICRz b3VyY2VfZXh0Owp9CgoKIyBQcmV0dHktcHJpbnQgc29tZXRoaW5nIGFuZCBhcHBlbmQgdG8g JyRvdXRwdXRfcnVsZXMnLgpzdWIgcHJldHR5X3ByaW50X3J1bGUKewogICAgJG91dHB1dF9y dWxlcyAuPSBtYWtlZmlsZV93cmFwIChzaGlmdCwgc2hpZnQsIEBfKTsKfQoKCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBIYW5kbGlu ZyB0aGUgY29uZGl0aW9uYWwgc3RhY2suICAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIwoKCiMgJFNUUklORwojIG1ha2VfY29uZGl0aW9uYWxfc3RyaW5nICgk TkVHQVRFLCAkQ09ORCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCnN1YiBtYWtlX2NvbmRpdGlvbmFsX3N0cmluZwp7CiAgbXkgKCRuZWdhdGUsICRjb25k KSA9IEBfOwogICRjb25kID0gIiR7Y29uZH1fVFJVRSIKICAgIHVubGVzcyAkY29uZCA9fiAv XlRSVUV8RkFMU0UkLzsKICAkY29uZCA9IEF1dG9tYWtlOjpDb25kaXRpb246OmNvbmRpdGlv bmFsX25lZ2F0ZSAoJGNvbmQpCiAgICBpZiAkbmVnYXRlOwogIHJldHVybiAkY29uZDsKfQoK Cm15ICVfYW1fbWFjcm9fZm9yX2NvbmQgPQogICgKICBBTURFUCA9PiAib25lIG9mIHRoZSBj b21waWxlciB0ZXN0c1xuIgoJICAgLiAiICAgIEFDX1BST0dfQ0MsIEFDX1BST0dfQ1hYLCBB Q19QUk9HX09CSkMsIEFDX1BST0dfT0JKQ1hYLFxuIgoJICAgLiAiICAgIEFNX1BST0dfQVMs IEFNX1BST0dfR0NKLCBBTV9QUk9HX1VQQyIsCiAgYW1fX2Zhc3RkZXBDQyA9PiAnQUNfUFJP R19DQycsCiAgYW1fX2Zhc3RkZXBDQ0FTID0+ICdBTV9QUk9HX0FTJywKICBhbV9fZmFzdGRl cENYWCA9PiAnQUNfUFJPR19DWFgnLAogIGFtX19mYXN0ZGVwR0NKID0+ICdBTV9QUk9HX0dD SicsCiAgYW1fX2Zhc3RkZXBPQkpDID0+ICdBQ19QUk9HX09CSkMnLAogIGFtX19mYXN0ZGVw T0JKQ1hYID0+ICdBQ19QUk9HX09CSkNYWCcsCiAgYW1fX2Zhc3RkZXBVUEMgPT4gJ0FNX1BS T0dfVVBDJwogICk7CgojICRDT05ECiMgY29uZF9zdGFja19pZiAoJE5FR0FURSwgJENPTkQs ICRXSEVSRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIg Y29uZF9zdGFja19pZgp7CiAgbXkgKCRuZWdhdGUsICRjb25kLCAkd2hlcmUpID0gQF87Cgog IGlmICghICRjb25maWd1cmVfY29uZHskY29uZH0gJiYgJGNvbmQgIX4gL15UUlVFfEZBTFNF JC8pCiAgICB7CiAgICAgIG15ICR0ZXh0ID0gIiRjb25kIGRvZXMgbm90IGFwcGVhciBpbiBB TV9DT05ESVRJT05BTCI7CiAgICAgIG15ICRzY29wZSA9IFVTX0xPQ0FMOwogICAgICBpZiAo ZXhpc3RzICRfYW1fbWFjcm9fZm9yX2NvbmR7JGNvbmR9KQoJewoJICBteSAkbWFjID0gJF9h bV9tYWNyb19mb3JfY29uZHskY29uZH07CgkgICR0ZXh0IC49ICJcbiAgVGhlIHVzdWFsIHdh eSB0byBkZWZpbmUgJyRjb25kJyBpcyB0byBhZGQgIjsKCSAgJHRleHQgLj0gKCRtYWMgPX4g LyAvKSA/ICRtYWMgOiAiJyRtYWMnIjsKCSAgJHRleHQgLj0gIlxuICB0byAnJGNvbmZpZ3Vy ZV9hYycgYW5kIHJ1biAnYWNsb2NhbCcgYW5kICdhdXRvY29uZicgYWdhaW4iOwoJICAjIFRo ZXNlIHdhcm5pbmdzIGFwcGVhciBpbiBBdXRvbWFrZSBmaWxlcyAoZGVwZW5kMi5hbSksCgkg ICMgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBkaXNwbGF5IHRoZW0gbW9yZSB0aGFuIG9uY2U6 CgkgICRzY29wZSA9IFVTX0dMT0JBTDsKCX0KICAgICAgZXJyb3IgJHdoZXJlLCAkdGV4dCwg dW5pcV9zY29wZSA9PiAkc2NvcGU7CiAgICB9CgogIHB1c2ggKEBjb25kX3N0YWNrLCBtYWtl X2NvbmRpdGlvbmFsX3N0cmluZyAoJG5lZ2F0ZSwgJGNvbmQpKTsKCiAgcmV0dXJuIG5ldyBB dXRvbWFrZTo6Q29uZGl0aW9uIChAY29uZF9zdGFjayk7Cn0KCgojICRDT05ECiMgY29uZF9z dGFja19lbHNlICgkTkVHQVRFLCAkQ09ORCwgJFdIRVJFKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGNvbmRfc3RhY2tfZWxzZQp7CiAgbXkgKCRu ZWdhdGUsICRjb25kLCAkd2hlcmUpID0gQF87CgogIGlmICghIEBjb25kX3N0YWNrKQogICAg ewogICAgICBlcnJvciAkd2hlcmUsICJlbHNlIHdpdGhvdXQgaWYiOwogICAgICByZXR1cm4g RkFMU0U7CiAgICB9CgogICRjb25kX3N0YWNrWyQjY29uZF9zdGFja10gPQogICAgQXV0b21h a2U6OkNvbmRpdGlvbjo6Y29uZGl0aW9uYWxfbmVnYXRlICgkY29uZF9zdGFja1skI2NvbmRf c3RhY2tdKTsKCiAgIyBJZiAkQ09ORCBpcyBnaXZlbiwgY2hlY2sgYWdhaW5zdCBpdC4KICBp ZiAoZGVmaW5lZCAkY29uZCkKICAgIHsKICAgICAgJGNvbmQgPSBtYWtlX2NvbmRpdGlvbmFs X3N0cmluZyAoJG5lZ2F0ZSwgJGNvbmQpOwoKICAgICAgZXJyb3IgKCR3aGVyZSwgImVsc2Ug cmVtaW5kZXIgKCRuZWdhdGUkY29uZCkgaW5jb21wYXRpYmxlIHdpdGggIgoJICAgICAuICJj dXJyZW50IGNvbmRpdGlvbmFsOiAkY29uZF9zdGFja1skI2NvbmRfc3RhY2tdIikKCWlmICRj b25kX3N0YWNrWyQjY29uZF9zdGFja10gbmUgJGNvbmQ7CiAgICB9CgogIHJldHVybiBuZXcg QXV0b21ha2U6OkNvbmRpdGlvbiAoQGNvbmRfc3RhY2spOwp9CgoKIyAkQ09ORAojIGNvbmRf c3RhY2tfZW5kaWYgKCRORUdBVEUsICRDT05ELCAkV0hFUkUpCiMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGNvbmRfc3RhY2tfZW5kaWYKewogIG15 ICgkbmVnYXRlLCAkY29uZCwgJHdoZXJlKSA9IEBfOwogIG15ICRvbGRfY29uZDsKCiAgaWYg KCEgQGNvbmRfc3RhY2spCiAgICB7CiAgICAgIGVycm9yICR3aGVyZSwgImVuZGlmIHdpdGhv dXQgaWYiOwogICAgICByZXR1cm4gVFJVRTsKICAgIH0KCiAgIyBJZiAkQ09ORCBpcyBnaXZl biwgY2hlY2sgYWdhaW5zdCBpdC4KICBpZiAoZGVmaW5lZCAkY29uZCkKICAgIHsKICAgICAg JGNvbmQgPSBtYWtlX2NvbmRpdGlvbmFsX3N0cmluZyAoJG5lZ2F0ZSwgJGNvbmQpOwoKICAg ICAgZXJyb3IgKCR3aGVyZSwgImVuZGlmIHJlbWluZGVyICgkbmVnYXRlJGNvbmQpIGluY29t cGF0aWJsZSB3aXRoICIKCSAgICAgLiAiY3VycmVudCBjb25kaXRpb25hbDogJGNvbmRfc3Rh Y2tbJCNjb25kX3N0YWNrXSIpCglpZiAkY29uZF9zdGFja1skI2NvbmRfc3RhY2tdIG5lICRj b25kOwogICAgfQoKICBwb3AgQGNvbmRfc3RhY2s7CgogIHJldHVybiBuZXcgQXV0b21ha2U6 OkNvbmRpdGlvbiAoQGNvbmRfc3RhY2spOwp9CgoKCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tICMjCiMjIEhhbmRsaW5nIHRoZSB2YXJpYWJsZXMuICAjIwojIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gIyMKCgojIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRWQVIsICRD T05ELCAkV0hFUkUsIEBWQUxVRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTGlrZSBkZWZpbmVfdmFyaWFibGUsIGJ1dCB0aGUg dmFsdWUgaXMgYSBsaXN0LCBhbmQgdGhlIHZhcmlhYmxlIG1heQojIGJlIGRlZmluZWQgY29u ZGl0aW9uYWxseS4gIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIGNvbmRpdGlvbgojIHVu ZGVyIHdoaWNoIHRoZSB2YWx1ZSBzaG91bGQgYmUgZGVmaW5lZDsgdGhpcyBzaG91bGQgYmUg dGhlIGVtcHR5CiMgc3RyaW5nIHRvIGRlZmluZSB0aGUgdmFyaWFibGUgdW5jb25kaXRpb25h bGx5LiAgVGhlIHRoaXJkIGFyZ3VtZW50CiMgaXMgYSBsaXN0IGhvbGRpbmcgdGhlIHZhbHVl cyB0byB1c2UgZm9yIHRoZSB2YXJpYWJsZS4gIFRoZSB2YWx1ZSBpcwojIHByZXR0eSBwcmlu dGVkIGluIHRoZSBvdXRwdXQgZmlsZS4Kc3ViIGRlZmluZV9wcmV0dHlfdmFyaWFibGUKewog ICAgbXkgKCR2YXIsICRjb25kLCAkd2hlcmUsIEB2YWx1ZSkgPSBAXzsKCiAgICBpZiAoISB2 YXJkZWYgKCR2YXIsICRjb25kKSkKICAgIHsKCUF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5l ICgkdmFyLCBWQVJfQVVUT01BS0UsICcnLCAkY29uZCwgIkB2YWx1ZSIsCgkJCQkgICAgJycs ICR3aGVyZSwgVkFSX1BSRVRUWSk7CglydmFyICgkdmFyKS0+cmRlZiAoJGNvbmQpLT5zZXRf c2VlbjsKICAgIH0KfQoKCiMgZGVmaW5lX3ZhcmlhYmxlICgkVkFSLCAkVkFMVUUsICRXSEVS RSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERlZmluZSBh IG5ldyBBdXRvbWFrZSBNYWtlZmlsZSB2YXJpYWJsZSBWQVIgdG8gVkFMVUUsIGJ1dCBvbmx5 IGlmCiMgbm90IGFscmVhZHkgZGVmaW5lZC4Kc3ViIGRlZmluZV92YXJpYWJsZQp7CiAgICBt eSAoJHZhciwgJHZhbHVlLCAkd2hlcmUpID0gQF87CiAgICBkZWZpbmVfcHJldHR5X3Zhcmlh YmxlICgkdmFyLCBUUlVFLCAkd2hlcmUsICR2YWx1ZSk7Cn0KCgojIGRlZmluZV9maWxlc192 YXJpYWJsZSAoJFZBUiwgXEBCQVNFTkFNRSwgJEVYVEVOU0lPTiwgJFdIRVJFKQojIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIERlZmluZSB0aGUgJFZBUiB3aGljaCBjb250ZW50IGlzIHRoZSBsaXN0IG9mIGZpbGUg bmFtZXMgY29tcG9zZWQgb2YKIyBhIEBCQVNFTkFNRSBhbmQgdGhlICRFWFRFTlNJT04uCnN1 YiBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRcQCQkKQp7CiAgbXkgKCR2YXIsICRiYXNlbmFt ZSwgJGV4dGVuc2lvbiwgJHdoZXJlKSA9IEBfOwogIGRlZmluZV92YXJpYWJsZSAoJHZhciwK CQkgICBqb2luICgnICcsIG1hcCB7ICIkXy4kZXh0ZW5zaW9uIiB9IEAkYmFzZW5hbWUpLAoJ CSAgICR3aGVyZSk7Cn0KCgojIExpa2UgZGVmaW5lX3ZhcmlhYmxlLCBidXQgZGVmaW5lIGEg dmFyaWFibGUgdG8gYmUgdGhlIGNvbmZpZ3VyZQojIHN1YnN0aXR1dGlvbiBieSB0aGUgc2Ft ZSBuYW1lLgpzdWIgZGVmaW5lX2NvbmZpZ3VyZV92YXJpYWJsZQp7CiAgbXkgKCR2YXIpID0g QF87CiAgIyBTb21lIHZhcmlhYmxlcyB3ZSBkbyBub3Qgd2FudCB0byBvdXRwdXQuICBGb3Ig aW5zdGFuY2UgaXQKICAjIHdvdWxkIGJlIGEgYmFkIGlkZWEgdG8gb3V0cHV0IGBVID0gQFVA YCB3aGVuIGBAVUBgIGNhbiBiZQogICMgc3Vic3RpdHV0ZWQgYXMgYFxgLgogIG15ICRwcmV0 dHkgPSBleGlzdHMgJGlnbm9yZWRfY29uZmlndXJlX3ZhcnN7JHZhcn0gPyBWQVJfU0lMRU5U IDogVkFSX0FTSVM7CiAgQXV0b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUgKCR2YXIsIFZBUl9D T05GSUdVUkUsICcnLCBUUlVFLCBzdWJzdCAoJHZhciksCgkJCSAgICAgICcnLCAkY29uZmln dXJlX3ZhcnN7JHZhcn0sICRwcmV0dHkpOwp9CgoKIyBkZWZpbmVfY29tcGlsZXJfdmFyaWFi bGUgKCRMQU5HKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVmaW5l IGEgY29tcGlsZXIgdmFyaWFibGUuICBXZSBhbHNvIGhhbmRsZSBkZWZpbmluZyB0aGUgJ0xU JwojIHZlcnNpb24gb2YgdGhlIGNvbW1hbmQgd2hlbiB1c2luZyBsaWJ0b29sLgpzdWIgZGVm aW5lX2NvbXBpbGVyX3ZhcmlhYmxlCnsKICAgIG15ICgkbGFuZykgPSBAXzsKCiAgICBteSAo JHZhciwgJHZhbHVlKSA9ICgkbGFuZy0+Y29tcGlsZXIsICRsYW5nLT5jb21waWxlKTsKICAg IG15ICRsaWJ0b29sX3RhZyA9ICcnOwogICAgJGxpYnRvb2xfdGFnID0gJy0tdGFnPScgLiAk bGFuZy0+bGlidG9vbF90YWcgLiAnICcKICAgICAgaWYgJGxhbmctPmxpYnRvb2xfdGFnICYm IGV4aXN0cyAkbGlidG9vbF90YWdzeyRsYW5nLT5saWJ0b29sX3RhZ307CiAgICBkZWZpbmVf dmFyaWFibGUgKCR2YXIsICR2YWx1ZSwgSU5URVJOQUwpOwogICAgaWYgKHZhciAoJ0xJQlRP T0wnKSkKICAgICAgewoJbXkgJHZlcmJvc2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgp OwoJZGVmaW5lX3ZhcmlhYmxlICgiTFQkdmFyIiwKICAgICAgICAgICAgICAgICAgICAgICAg ICJcJChMSUJUT09MKSAkdmVyYm9zZSAkbGlidG9vbF90YWdcJChBTV9MSUJUT09MRkxBR1Mp IgogICAgICAgICAgICAgICAgICAgICAgICAgLiAiIFwkKExJQlRPT0xGTEFHUykgLS1tb2Rl PWNvbXBpbGUgJHZhbHVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIElOVEVSTkFMKTsK ICAgICAgfQogICAgZGVmaW5lX3ZlcmJvc2VfdGFndmFyICgkbGFuZy0+Y2NlciB8fCAnR0VO Jyk7Cn0KCgpzdWIgZGVmaW5lX2xpbmtlcl92YXJpYWJsZQp7CiAgICBteSAoJGxhbmcpID0g QF87CgogICAgbXkgJGxpYnRvb2xfdGFnID0gJyc7CiAgICAkbGlidG9vbF90YWcgPSAnLS10 YWc9JyAuICRsYW5nLT5saWJ0b29sX3RhZyAuICcgJwogICAgICBpZiAkbGFuZy0+bGlidG9v bF90YWcgJiYgZXhpc3RzICRsaWJ0b29sX3RhZ3N7JGxhbmctPmxpYnRvb2xfdGFnfTsKICAg ICMgQ0NMRCA9ICQoQ0MpLgogICAgZGVmaW5lX3ZhcmlhYmxlICgkbGFuZy0+bGRlciwgJGxh bmctPmxkLCBJTlRFUk5BTCk7CiAgICAjIENDTElOSyA9ICQoQ0NMRCkgYmxhaCBibGFoLi4u CiAgICBteSAkbGluayA9ICcnOwogICAgaWYgKHZhciAoJ0xJQlRPT0wnKSkKICAgICAgewoJ bXkgJHZlcmJvc2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgpOwoJJGxpbmsgPSAiXCQo TElCVE9PTCkgJHZlcmJvc2UgJGxpYnRvb2xfdGFnXCQoQU1fTElCVE9PTEZMQUdTKSAiCgkJ LiAiXCQoTElCVE9PTEZMQUdTKSAtLW1vZGU9bGluayAiOwogICAgICB9CiAgICBkZWZpbmVf dmFyaWFibGUgKCRsYW5nLT5saW5rZXIsICRsaW5rIC4gJGxhbmctPmxpbmssIElOVEVSTkFM KTsKICAgIGRlZmluZV92YXJpYWJsZSAoJGxhbmctPmNvbXBpbGVyLCAkbGFuZywgSU5URVJO QUwpOwogICAgZGVmaW5lX3ZlcmJvc2VfdGFndmFyICgkbGFuZy0+bGRlciB8fCAnR0VOJyk7 Cn0KCnN1YiBkZWZpbmVfcGVyX3RhcmdldF9saW5rZXJfdmFyaWFibGUKewogIG15ICgkbGlu a2VyLCAkdGFyZ2V0KSA9IEBfOwoKICAjIElmIHRoZSB1c2VyIHdyb3RlIGEgY3VzdG9tIGxp bmsgY29tbWFuZCwgd2UgZG9uJ3QgZGVmaW5lIG91cnMuCiAgcmV0dXJuICIke3RhcmdldH1f TElOSyIKICAgIGlmIHNldF9zZWVuICIke3RhcmdldH1fTElOSyI7CgogIG15ICR4bGluayA9 ICRsaW5rZXIgPyAkbGlua2VyIDogJ0xJTksnOwoKICBteSAkbGFuZyA9ICRsaW5rX2xhbmd1 YWdlc3skeGxpbmt9OwogIHByb2dfZXJyb3IgIlVua25vd24gbGFuZ3VhZ2UgZm9yIGxpbmtl ciB2YXJpYWJsZSAnJHhsaW5rJyIKICAgIHVubGVzcyAkbGFuZzsKCiAgbXkgJGxpbmtfY29t bWFuZCA9ICRsYW5nLT5saW5rOwogIGlmICh2YXIgJ0xJQlRPT0wnKQogICAgewogICAgICBt eSAkbGlidG9vbF90YWcgPSAnJzsKICAgICAgJGxpYnRvb2xfdGFnID0gJy0tdGFnPScgLiAk bGFuZy0+bGlidG9vbF90YWcgLiAnICcKCWlmICRsYW5nLT5saWJ0b29sX3RhZyAmJiBleGlz dHMgJGxpYnRvb2xfdGFnc3skbGFuZy0+bGlidG9vbF90YWd9OwoKICAgICAgbXkgJHZlcmJv c2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgpOwogICAgICAkbGlua19jb21tYW5kID0K CSJcJChMSUJUT09MKSAkdmVyYm9zZSAkbGlidG9vbF90YWdcJChBTV9MSUJUT09MRkxBR1Mp IFwkKExJQlRPT0xGTEFHUykgIgoJLiAiLS1tb2RlPWxpbmsgIiAuICRsaW5rX2NvbW1hbmQ7 CiAgICB9CgogICMgUmV3cml0ZSBlYWNoIG9jY3VycmVuY2Ugb2YgJ0FNXyRmbGFnJyBpbiB0 aGUgbGluawogICMgY29tbWFuZCBpbnRvICcke2Rlcml2ZWR9XyRmbGFnJyBpZiBpdCBleGlz dHMuCiAgbXkgJG9yaWdfY29tbWFuZCA9ICRsaW5rX2NvbW1hbmQ7CiAgbXkgQGZsYWdzID0g KEB7JGxhbmctPmZsYWdzfSwgJ0xERkxBR1MnKTsKICBwdXNoIEBmbGFncywgJ0xJQlRPT0xG TEFHUycgaWYgdmFyICdMSUJUT09MJzsKICBmb3IgbXkgJGZsYWcgKEBmbGFncykKICAgIHsK ICAgICAgbXkgJHZhbCA9ICIke3RhcmdldH1fJGZsYWciOwogICAgICAkbGlua19jb21tYW5k ID1+IHMvXChBTV8kZmxhZ1wpL1woJHZhbFwpLwoJaWYgc2V0X3NlZW4gKCR2YWwpOwogICAg fQoKICAjIElmIHRoZSBjb21wdXRlZCBjb21tYW5kIGlzIHRoZSBzYW1lIGFzIHRoZSBnZW5l cmljIGNvbW1hbmQsIHVzZQogICMgdGhlIGNvbW1hbmQgbGlua2VyIHZhcmlhYmxlLgogIHJl dHVybiAoJGxhbmctPmxpbmtlciwgJGxhbmctPmxkZXIpCiAgICBpZiAkbGlua19jb21tYW5k IGVxICRvcmlnX2NvbW1hbmQ7CgogIGRlZmluZV92YXJpYWJsZSAoIiR7dGFyZ2V0fV9MSU5L IiwgJGxpbmtfY29tbWFuZCwgSU5URVJOQUwpOwogIHJldHVybiAoIiR7dGFyZ2V0fV9MSU5L IiwgJGxhbmctPmxkZXIpOwp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIGNoZWNrX3RyYWlsaW5nX3NsYXNo ICgkV0hFUkUsICRMSU5FKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIFJldHVybiAxIGlmZiAkTElORSBlbmRzIHdpdGggYSBzbGFzaC4KIyBNaWdodCBtb2Rp ZnkgJExJTkUuCnN1YiBjaGVja190cmFpbGluZ19zbGFzaCAoJFwkKQp7CiAgbXkgKCR3aGVy ZSwgJGxpbmUpID0gQF87CgogICMgSWdub3JlICcjIycgbGluZXMuCiAgcmV0dXJuIDAgaWYg JCRsaW5lID1+IC8kSUdOT1JFX1BBVFRFUk4vbzsKCiAgIyBDYXRjaCBhbmQgZml4IGEgY29t bW9uIGVycm9yLgogIG1zZyAic3ludGF4IiwgJHdoZXJlLCAid2hpdGVzcGFjZSBmb2xsb3dp bmcgdHJhaWxpbmcgYmFja3NsYXNoIgogICAgaWYgJCRsaW5lID1+IHMvXFxccytcbiQvXFxc bi87CgogIHJldHVybiAkJGxpbmUgPX4gL1xcJC87Cn0KCgojIHJlYWRfYW1fZmlsZSAoJEFN RklMRSwgJFdIRVJFLCAkUkVMRElSKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIFJlYWQgJEFNRklMRSBmaWxlIG5hbWUgd2hpY2ggaXMgbG9jYXRlZCBp biAkUkVMRElSLCBhbmQgc2V0IHVwCiMgZ2xvYmFsIHZhcmlhYmxlcyByZXNldHRlZCBieSAn JmdlbmVyYXRlX21ha2VmaWxlJy4gIFNpbXVsdGFuZW91c2x5CiMgY29weSBsaW5lcyBmcm9t ICRBTUZJTEUgaW50byAnJG91dHB1dF90cmFpbGVyJywgb3IgZGVmaW5lIHZhcmlhYmxlcwoj IGFzIGFwcHJvcHJpYXRlLgojCiMgTk9URTogV2UgcHV0IHJ1bGVzIGluIHRoZSB0cmFpbGVy IHNlY3Rpb24uICBXZSB3YW50IHVzZXIgcnVsZXMgdG8KIyBjb21lIGFmdGVyIG91ciBnZW5l cmF0ZWQgc3R1ZmYuCnN1YiByZWFkX2FtX2ZpbGUKewogICAgbXkgKCRhbWZpbGUsICR3aGVy ZSwgJHJlbGRpcikgPSBAXzsKICAgIG15ICRjYW5vbl9yZWxkaXIgPSAmY2Fub25pY2FsaXpl ICgkcmVsZGlyKTsKCiAgICBteSAkYW1fZmlsZSA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgKCI8 ICRhbWZpbGUiKTsKICAgIHZlcmIgInJlYWRpbmcgJGFtZmlsZSI7CgogICAgIyBLZWVwIHRy YWNrIG9mIHRoZSB5b3VuZ2VzdCBvdXRwdXQgZGVwZW5kZW5jeS4KICAgIG15ICRtdGltZSA9 IG10aW1lICRhbWZpbGU7CiAgICAkb3V0cHV0X2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0g JG10aW1lCiAgICAgIGlmICRtdGltZSA+ICRvdXRwdXRfZGVwc19ncmVhdGVzdF90aW1lc3Rh bXA7CgogICAgbXkgJHNwYWNpbmcgPSAnJzsKICAgIG15ICRjb21tZW50ID0gJyc7CiAgICBt eSAkYmxhbmsgPSAwOwogICAgbXkgJHNhd19iayA9IDA7CiAgICBteSAkdmFyX2xvb2sgPSBW QVJfQVNJUzsKCiAgICB1c2UgY29uc3RhbnQgSU5fVkFSX0RFRiA9PiAwOwogICAgdXNlIGNv bnN0YW50IElOX1JVTEVfREVGID0+IDE7CiAgICB1c2UgY29uc3RhbnQgSU5fQ09NTUVOVCA9 PiAyOwogICAgbXkgJHByZXZfc3RhdGUgPSBJTl9SVUxFX0RFRjsKCiAgICB3aGlsZSAoJF8g PSAkYW1fZmlsZS0+Z2V0bGluZSkKICAgIHsKCSR3aGVyZS0+c2V0ICgiJGFtZmlsZTokLiIp OwoJaWYgKC8kSUdOT1JFX1BBVFRFUk4vbykKCXsKCSAgICAjIE1lcmVseSBkZWxldGUgY29t bWVudHMgYmVnaW5uaW5nIHdpdGggdHdvIGhhc2hlcy4KCX0KCWVsc2lmICgvJFdISVRFX1BB VFRFUk4vbykKCXsKCSAgICBlcnJvciAkd2hlcmUsICJibGFuayBsaW5lIGZvbGxvd2luZyB0 cmFpbGluZyBiYWNrc2xhc2giCgkgICAgICBpZiAkc2F3X2JrOwoJICAgICMgU3RpY2sgYSBz aW5nbGUgd2hpdGUgbGluZSBiZWZvcmUgdGhlIGluY29taW5nIG1hY3JvIG9yIHJ1bGUuCgkg ICAgJHNwYWNpbmcgPSAiXG4iOwoJICAgICRibGFuayA9IDE7CgkgICAgIyBGbHVzaCBhbGwg Y29tbWVudHMgc2VlbiBzbyBmYXIuCgkgICAgaWYgKCRjb21tZW50IG5lICcnKQoJICAgIHsK CQkkb3V0cHV0X3ZhcnMgLj0gJGNvbW1lbnQ7CgkJJGNvbW1lbnQgPSAnJzsKCSAgICB9Cgl9 CgllbHNpZiAoLyRDT01NRU5UX1BBVFRFUk4vbykKCXsKCSAgICAjIFN0aWNrIGNvbW1lbnRz IGJlZm9yZSB0aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4gIE1ha2UKCSAgICAjIHN1cmUg YSBibGFuayBsaW5lIHByZWNlZGVzIHRoZSBmaXJzdCBibG9jayBvZiBjb21tZW50cy4KCSAg ICAkc3BhY2luZyA9ICJcbiIgdW5sZXNzICRibGFuazsKCSAgICAkYmxhbmsgPSAxOwoJICAg ICRjb21tZW50IC49ICRzcGFjaW5nIC4gJF87CgkgICAgJHNwYWNpbmcgPSAnJzsKCSAgICAk cHJldl9zdGF0ZSA9IElOX0NPTU1FTlQ7Cgl9CgllbHNlCgl7CgkgICAgbGFzdDsKCX0KCSRz YXdfYmsgPSBjaGVja190cmFpbGluZ19zbGFzaCAoJHdoZXJlLCAkXyk7CiAgICB9CgogICAg IyBXZSBzYXZlIHRoZSBjb25kaXRpb25hbCBzdGFjayBvbiBlbnRyeSwgYW5kIHRoZW4gY2hl Y2sgdG8gbWFrZQogICAgIyBzdXJlIGl0IGlzIHRoZSBzYW1lIG9uIGV4aXQuICBUaGlzIGxl dHMgdXMgY29uZGl0aW9uYWxseSBpbmNsdWRlCiAgICAjIG90aGVyIGZpbGVzLgogICAgbXkg QHNhdmVkX2NvbmRfc3RhY2sgPSBAY29uZF9zdGFjazsKICAgIG15ICRjb25kID0gbmV3IEF1 dG9tYWtlOjpDb25kaXRpb24gKEBjb25kX3N0YWNrKTsKCiAgICBteSAkbGFzdF92YXJfbmFt ZSA9ICcnOwogICAgbXkgJGxhc3RfdmFyX3R5cGUgPSAnJzsKICAgIG15ICRsYXN0X3Zhcl92 YWx1ZSA9ICcnOwogICAgbXkgJGxhc3Rfd2hlcmU7CiAgICAjIEZJWE1FOiBzaG91bGRuJ3Qg dXNlICRfIGluIHRoaXMgbG9vcDsgaXQgaXMgdG9vIGJpZy4KICAgIHdoaWxlICgkXykKICAg IHsKCSR3aGVyZS0+c2V0ICgiJGFtZmlsZTokLiIpOwoKCSMgTWFrZSBzdXJlIHRoZSBsaW5l IGlzIFxuLXRlcm1pbmF0ZWQuCgljaG9tcDsKCSRfIC49ICJcbiI7CgoJIyBEb24ndCBsb29r IGF0IE1BSU5UQUlORVJfTU9ERV9UUlVFIGhlcmUuICBUaGF0IHNob3VsZG4ndCBiZQoJIyB1 c2VkIGJ5IHVzZXJzLiAgQE1BSU5UQCBpcyBhbiBhbmFjaHJvbmlzbSBub3cuCgkkXyA9fiBz L1xATUFJTlRcQC8vZwoJICAgIHVubGVzcyAkc2Vlbl9tYWludF9tb2RlOwoKCW15ICRuZXdf c2F3X2JrID0gY2hlY2tfdHJhaWxpbmdfc2xhc2ggKCR3aGVyZSwgJF8pOwoKCWlmICgkcmVs ZGlyIGVxICcuJykKCSAgewoJICAgICMgSWYgcHJlc2VudCwgZWF0IHRoZSBmb2xsb3dpbmcg J18nIG9yICcvJywgY29udmVydGluZwoJICAgICMgIiVyZWxkaXIlL2ZvbyIgYW5kICIlY2Fu b25fcmVsZGlyJV9mb28iIGludG8gcGxhaW4gImZvbyIKCSAgICAjIHdoZW4gJHJlbGRpciBp cyAnLicuCgkgICAgJF8gPX4gcywlKER8cmVsZGlyKSUvLCxnOwoJICAgICRfID1+IHMsJShD fGNhbm9uX3JlbGRpciklXywsZzsKCSAgfQoJJF8gPX4gcy8lKER8cmVsZGlyKSUvJHtyZWxk aXJ9L2c7CgkkXyA9fiBzLyUoQ3xjYW5vbl9yZWxkaXIpJS8ke2Nhbm9uX3JlbGRpcn0vZzsK CglpZiAoLyRJR05PUkVfUEFUVEVSTi9vKQoJewoJICAgICMgTWVyZWx5IGRlbGV0ZSBjb21t ZW50cyBiZWdpbm5pbmcgd2l0aCB0d28gaGFzaGVzLgoKCSAgICAjIEtlZXAgYW55IGJhY2tz bGFzaCBmcm9tIHRoZSBwcmV2aW91cyBsaW5lLgoJICAgICRuZXdfc2F3X2JrID0gJHNhd19i azsKCX0KCWVsc2lmICgvJFdISVRFX1BBVFRFUk4vbykKCXsKCSAgICAjIFN0aWNrIGEgc2lu Z2xlIHdoaXRlIGxpbmUgYmVmb3JlIHRoZSBpbmNvbWluZyBtYWNybyBvciBydWxlLgoJICAg ICRzcGFjaW5nID0gIlxuIjsKCSAgICBlcnJvciAkd2hlcmUsICJibGFuayBsaW5lIGZvbGxv d2luZyB0cmFpbGluZyBiYWNrc2xhc2giCgkgICAgICBpZiAkc2F3X2JrOwoJfQoJZWxzaWYg KC8kQ09NTUVOVF9QQVRURVJOL28pCgl7CgkgICAgZXJyb3IgJHdoZXJlLCAiY29tbWVudCBm b2xsb3dpbmcgdHJhaWxpbmcgYmFja3NsYXNoIgoJICAgICAgaWYgJHNhd19iayAmJiAkcHJl dl9zdGF0ZSAhPSBJTl9DT01NRU5UOwoKCSAgICAjIFN0aWNrIGNvbW1lbnRzIGJlZm9yZSB0 aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAkY29tbWVudCAuPSAkc3BhY2luZyAu ICRfOwoJICAgICRzcGFjaW5nID0gJyc7CgkgICAgJHByZXZfc3RhdGUgPSBJTl9DT01NRU5U OwoJfQoJZWxzaWYgKCRzYXdfYmspCgl7CgkgICAgaWYgKCRwcmV2X3N0YXRlID09IElOX1JV TEVfREVGKQoJICAgIHsKCSAgICAgIG15ICRjb25kID0gbmV3IEF1dG9tYWtlOjpDb25kaXRp b24gQGNvbmRfc3RhY2s7CgkgICAgICAkb3V0cHV0X3RyYWlsZXIgLj0gJGNvbmQtPnN1YnN0 X3N0cmluZzsKCSAgICAgICRvdXRwdXRfdHJhaWxlciAuPSAkXzsKCSAgICB9CgkgICAgZWxz aWYgKCRwcmV2X3N0YXRlID09IElOX0NPTU1FTlQpCgkgICAgewoJCSMgSWYgdGhlIGxpbmUg ZG9lc24ndCBzdGFydCB3aXRoIGEgJyMnLCBhZGQgaXQuCgkJIyBXZSBkbyB0aGlzIGJlY2F1 c2UgYSBjb250aW51ZWQgY29tbWVudCBsaWtlCgkJIyAgICMgQSA9IGZvbyBcCgkJIyAgICAg ICAgIGJhciBcCgkJIyAgICAgICAgIGJhegoJCSMgaXMgbm90IHBvcnRhYmxlLiAgQlNEIG1h a2UgZG9lc24ndCBob25vcgoJCSMgZXNjYXBlZCBuZXdsaW5lcyBpbiBjb21tZW50cy4KCQlz L14jPy8jLzsKCQkkY29tbWVudCAuPSAkc3BhY2luZyAuICRfOwoJICAgIH0KCSAgICBlbHNl ICMgJHByZXZfc3RhdGUgPT0gSU5fVkFSX0RFRgoJICAgIHsKCSAgICAgICRsYXN0X3Zhcl92 YWx1ZSAuPSAnICcKCQl1bmxlc3MgJGxhc3RfdmFyX3ZhbHVlID1+IC9ccyQvOwoJICAgICAg JGxhc3RfdmFyX3ZhbHVlIC49ICRfOwoKCSAgICAgIGlmICghL1xcJC8pCgkJewoJCSAgQXV0 b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUgKCRsYXN0X3Zhcl9uYW1lLCBWQVJfTUFLRUZJTEUs CgkJCQkJICAgICAgJGxhc3RfdmFyX3R5cGUsICRjb25kLAoJCQkJCSAgICAgICRsYXN0X3Zh cl92YWx1ZSwgJGNvbW1lbnQsCgkJCQkJICAgICAgJGxhc3Rfd2hlcmUsIFZBUl9BU0lTKQoJ CSAgICBpZiAkY29uZCAhPSBGQUxTRTsKCQkgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsK CQl9CgkgICAgfQoJfQoKCWVsc2lmICgvJElGX1BBVFRFUk4vbykKCSAgewoJICAgICRjb25k ID0gY29uZF9zdGFja19pZiAoJDEsICQyLCAkd2hlcmUpOwoJICB9CgllbHNpZiAoLyRFTFNF X1BBVFRFUk4vbykKCSAgewoJICAgICRjb25kID0gY29uZF9zdGFja19lbHNlICgkMSwgJDIs ICR3aGVyZSk7CgkgIH0KCWVsc2lmICgvJEVORElGX1BBVFRFUk4vbykKCSAgewoJICAgICRj b25kID0gY29uZF9zdGFja19lbmRpZiAoJDEsICQyLCAkd2hlcmUpOwoJICB9CgoJZWxzaWYg KC8kUlVMRV9QQVRURVJOL28pCgl7CgkgICAgIyBGb3VuZCBhIHJ1bGUuCgkgICAgJHByZXZf c3RhdGUgPSBJTl9SVUxFX0RFRjsKCgkgICAgIyBGb3Igbm93IHdlIGhhdmUgdG8gb3V0cHV0 IGFsbCBkZWZpbml0aW9ucyBvZiB1c2VyIHJ1bGVzCgkgICAgIyBhbmQgY2FuJ3QgZGlhZ25v c2UgZHVwbGljYXRlcyAoc2VlIHRoZSBjb21tZW50IGluCgkgICAgIyBBdXRvbWFrZTo6UnVs ZTo6ZGVmaW5lKS4gU28gd2UgZ28gb24gYW5kIGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlLgoJ ICAgIEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCQxLCAkYW1maWxlLCBSVUxFX1VTRVIsICRj b25kLCAkd2hlcmUpOwoKCSAgICBjaGVja192YXJpYWJsZV9leHBhbnNpb25zICgkXywgJHdo ZXJlKTsKCgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRjb21tZW50IC4gJHNwYWNpbmc7Cgkg ICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiBAY29uZF9zdGFjazsKCSAg ICAkb3V0cHV0X3RyYWlsZXIgLj0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgICAkb3V0cHV0 X3RyYWlsZXIgLj0gJF87CgkgICAgJGNvbW1lbnQgPSAkc3BhY2luZyA9ICcnOwoJfQoJZWxz aWYgKC8kQVNTSUdOTUVOVF9QQVRURVJOL28pCgl7CgkgICAgIyBGb3VuZCBhIG1hY3JvIGRl ZmluaXRpb24uCgkgICAgJHByZXZfc3RhdGUgPSBJTl9WQVJfREVGOwoJICAgICRsYXN0X3Zh cl9uYW1lID0gJDE7CgkgICAgJGxhc3RfdmFyX3R5cGUgPSAkMjsKCSAgICAkbGFzdF92YXJf dmFsdWUgPSAkMzsKCSAgICAkbGFzdF93aGVyZSA9ICR3aGVyZS0+Y2xvbmU7CgkgICAgaWYg KCQzIG5lICcnICYmIHN1YnN0ciAoJDMsIC0xKSBlcSAiXFwiKQoJICAgICAgewoJCSMgV2Ug cHJlc2VydmUgdGhlICdcJyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgbG9uZyBsaW5lcwoJCSMg dGhhdCBhcmUgZ2VuZXJhdGVkIHdpbGwgYmUgdHJ1bmNhdGVkIGJ5IGJyb2tlbgoJCSMgJ3Nl ZCdzLgoJCSRsYXN0X3Zhcl92YWx1ZSA9ICQzIC4gIlxuIjsKCSAgICAgIH0KCSAgICAjIE5v cm1hbGx5IHdlIHRyeSB0byBvdXRwdXQgdmFyaWFibGUgZGVmaW5pdGlvbnMgaW4gdGhlCgkg ICAgIyBzYW1lIGZvcm1hdCB0aGV5IHdlcmUgaW5wdXQuICBIb3dldmVyLCBQT1NJWCBjb21w bGlhbnQKCSAgICAjIHN5c3RlbXMgYXJlIG5vdCByZXF1aXJlZCB0byBzdXBwb3J0IGxpbmVz IGxvbmdlciB0aGFuCgkgICAgIyAyMDQ4IGJ5dGVzIChtb3N0IG5vdGFibHksIHNvbWUgc2Vk IGltcGxlbWVudGF0aW9uIGFyZQoJICAgICMgbGltaXRlZCB0byA0MDAwIGJ5dGVzLCBhbmQg c2VkIGlzIHVzZWQgYnkgY29uZmlnLnN0YXR1cwoJICAgICMgdG8gcmV3cml0ZSBNYWtlZmls ZS5pbiBpbnRvIE1ha2VmaWxlKS4gIE1vcmVvdmVyIG5vYm9keQoJICAgICMgd291bGQgcmVh bGx5IHdyaXRlIHN1Y2ggbG9uZyBsaW5lcyBieSBoYW5kIHNpbmNlIGl0IGlzCgkgICAgIyBo YXJkbHkgbWFpbnRhaW5hYmxlLiAgU28gaWYgYSBsaW5lIGlzIGxvbmdlciB0aGF0IDEwMDAK CSAgICAjIGJ5dGVzIChhbiBhcmJpdHJhcnkgbGltaXQpLCBhc3N1bWUgaXQgaGFzIGJlZW4K CSAgICAjIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHNvbWUgdG9vbHMsIGFuZCBmbGF0 dGVuIHRoZQoJICAgICMgdmFyaWFibGUgZGVmaW5pdGlvbi4gIE90aGVyd2lzZSwga2VlcCB0 aGUgdmFyaWFibGUgYXMgaXQKCSAgICAjIGFzIGJlZW4gaW5wdXQuCgkgICAgJHZhcl9sb29r ID0gVkFSX1BSRVRUWSBpZiBsZW5ndGggKCRsYXN0X3Zhcl92YWx1ZSkgPj0gMTAwMDsKCgkg ICAgaWYgKCEvXFwkLykKCSAgICAgIHsKCQlBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSAo JGxhc3RfdmFyX25hbWUsIFZBUl9NQUtFRklMRSwKCQkJCQkgICAgJGxhc3RfdmFyX3R5cGUs ICRjb25kLAoJCQkJCSAgICAkbGFzdF92YXJfdmFsdWUsICRjb21tZW50LAoJCQkJCSAgICAk bGFzdF93aGVyZSwgJHZhcl9sb29rKQoJCSAgaWYgJGNvbmQgIT0gRkFMU0U7CgkJJGNvbW1l bnQgPSAkc3BhY2luZyA9ICcnOwoJCSR2YXJfbG9vayA9IFZBUl9BU0lTOwoJICAgICAgfQoJ fQoJZWxzaWYgKC8kSU5DTFVERV9QQVRURVJOL28pCgl7CgkgICAgbXkgJHBhdGggPSAkMTsK CgkgICAgaWYgKCRwYXRoID1+IHMvXlwkXCh0b3Bfc3JjZGlyXClcLy8vKQoJICAgICAgewoJ CXB1c2ggKEBpbmNsdWRlX3N0YWNrLCAiXCRcKHRvcF9zcmNkaXJcKS8kcGF0aCIpOwoJCSMg RGlzdHJpYnV0ZSBhbnkgaW5jbHVkZWQgZmlsZS4KCgkJIyBBbHdheXMgdXNlIHRoZSAkKHRv cF9zcmNkaXIpIHByZWZpeCBpbiBESVNUX0NPTU1PTiwKCQkjIG90aGVyd2lzZSBPU0YgbWFr ZSB3aWxsIGltcGxpY2l0bHkgY29weSB0aGUgaW5jbHVkZWQKCQkjIGZpbGUgaW4gdGhlIGJ1 aWxkIHRyZWUgZHVyaW5nICJtYWtlIGRpc3RkaXIiIHRvIHNhdGlzZnkKCQkjIHRoZSBkZXBl bmRlbmN5LgoJCSMgKHN1YmRpci1hbS1jb25kLnNoIGFuZCBzdWJkaXItYWMtY29uZC5zaCB3 aWxsIGZhaWwpCgkJcHVzaF9kaXN0X2NvbW1vbiAoIlwkXCh0b3Bfc3JjZGlyXCkvJHBhdGgi KTsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJHBhdGggPX4gcy9cJFwoc3JjZGly XClcLy8vOwoJCXB1c2ggKEBpbmNsdWRlX3N0YWNrLCAiXCRcKHNyY2RpclwpLyRwYXRoIik7 CgkJIyBBbHdheXMgdXNlIHRoZSAkKHNyY2RpcikgcHJlZml4IGluIERJU1RfQ09NTU9OLAoJ CSMgb3RoZXJ3aXNlIE9TRiBtYWtlIHdpbGwgaW1wbGljaXRseSBjb3B5IHRoZSBpbmNsdWRl ZAoJCSMgZmlsZSBpbiB0aGUgYnVpbGQgdHJlZSBkdXJpbmcgIm1ha2UgZGlzdGRpciIgdG8g c2F0aXNmeQoJCSMgdGhlIGRlcGVuZGVuY3kuCgkJIyAoc3ViZGlyLWFtLWNvbmQuc2ggYW5k IHN1YmRpci1hYy1jb25kLnNoIHdpbGwgZmFpbCkKCQlwdXNoX2Rpc3RfY29tbW9uICgiXCRc KHNyY2RpclwpLyRwYXRoIik7CgkJJHBhdGggPSAkcmVsYXRpdmVfZGlyIC4gIi8iIC4gJHBh dGggaWYgJHJlbGF0aXZlX2RpciBuZSAnLic7CgkgICAgICB9CgkgICAgbXkgJG5ld19yZWxk aXIgPSBGaWxlOjpTcGVjLT5hYnMycmVsICgkcGF0aCwgJHJlbGF0aXZlX2Rpcik7CgkgICAg JG5ld19yZWxkaXIgPSAnLicgaWYgJG5ld19yZWxkaXIgIX4gcywvW14vXSokLCw7CgkgICAg JHdoZXJlLT5wdXNoX2NvbnRleHQgKCInJHBhdGgnIGluY2x1ZGVkIGZyb20gaGVyZSIpOwoJ ICAgIHJlYWRfYW1fZmlsZSAoJHBhdGgsICR3aGVyZSwgJG5ld19yZWxkaXIpOwoJICAgICR3 aGVyZS0+cG9wX2NvbnRleHQ7Cgl9CgllbHNlCgl7CgkgICAgIyBUaGlzIGlzbid0IGFuIGVy cm9yOyBpdCBpcyBwcm9iYWJseSBhIGNvbnRpbnVlZCBydWxlLgoJICAgICMgSW4gZmFjdCwg dGhpcyBpcyB3aGF0IHdlIGFzc3VtZS4KCSAgICAkcHJldl9zdGF0ZSA9IElOX1JVTEVfREVG OwoJICAgIGNoZWNrX3ZhcmlhYmxlX2V4cGFuc2lvbnMgKCRfLCAkd2hlcmUpOwoJICAgICRv dXRwdXRfdHJhaWxlciAuPSAkY29tbWVudCAuICRzcGFjaW5nOwoJICAgIG15ICRjb25kID0g bmV3IEF1dG9tYWtlOjpDb25kaXRpb24gQGNvbmRfc3RhY2s7CgkgICAgJG91dHB1dF90cmFp bGVyIC49ICRjb25kLT5zdWJzdF9zdHJpbmc7CgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRf OwoJICAgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCSAgICBlcnJvciAkd2hlcmUsICIn IycgY29tbWVudCBhdCBzdGFydCBvZiBydWxlIGlzIHVucG9ydGFibGUiCgkgICAgICBpZiAk XyA9fiAvXlx0XHMqXCMvOwoJfQoKCSRzYXdfYmsgPSAkbmV3X3Nhd19iazsKCSRfID0gJGFt X2ZpbGUtPmdldGxpbmU7CiAgICB9CgogICAgJG91dHB1dF90cmFpbGVyIC49ICRjb21tZW50 OwoKICAgIGVycm9yICgkd2hlcmUsICJ0cmFpbGluZyBiYWNrc2xhc2ggb24gbGFzdCBsaW5l IikKICAgICAgaWYgJHNhd19iazsKCiAgICBlcnJvciAoJHdoZXJlLCAoQGNvbmRfc3RhY2sg PyAidW50ZXJtaW5hdGVkIGNvbmRpdGlvbmFsczogQGNvbmRfc3RhY2siCgkJICAgIDogInRv byBtYW55IGNvbmRpdGlvbmFscyBjbG9zZWQgaW4gaW5jbHVkZSBmaWxlIikpCiAgICAgIGlm ICJAc2F2ZWRfY29uZF9zdGFjayIgbmUgIkBjb25kX3N0YWNrIjsKfQoKCiMgQSBoZWxwZXIg Zm9yIHJlYWRfbWFpbl9hbV9maWxlIHdoaWNoIGluaXRpYWxpemVzIGNvbmZpZ3VyZSB2YXJp YWJsZXMKIyBhbmQgdmFyaWFibGVzIGZyb20gaGVhZGVyLXZhcnMuYW0uCnN1YiBkZWZpbmVf c3RhbmRhcmRfdmFyaWFibGVzICgpCnsKICBteSAkc2F2ZWRfb3V0cHV0X3ZhcnMgPSAkb3V0 cHV0X3ZhcnM7CiAgbXkgKCRjb21tZW50cywgdW5kZWYsICRydWxlcykgPQogICAgZmlsZV9j b250ZW50c19pbnRlcm5hbCAoMSwgIiRsaWJkaXIvYW0vaGVhZGVyLXZhcnMuYW0iLAoJCQkg ICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbik7CgogIGZvcmVhY2ggbXkgJHZhciAoc29ydCBr ZXlzICVjb25maWd1cmVfdmFycykKICAgIHsKICAgICAgZGVmaW5lX2NvbmZpZ3VyZV92YXJp YWJsZSAoJHZhcik7CiAgICB9CgogICRvdXRwdXRfdmFycyAuPSAkY29tbWVudHMgLiAkcnVs ZXM7Cn0KCgojIHJlYWRfbWFpbl9hbV9maWxlICgkTUFLRUZJTEVfQU0sICRNQUtFRklMRV9J TikKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1 YiByZWFkX21haW5fYW1fZmlsZQp7CiAgICBteSAoJGFtZmlsZSwgJGluZmlsZSkgPSBAXzsK CiAgICAjIFRoaXMgc3VwcG9ydHMgdGhlIHN0cmFuZ2UgdmFyaWFibGUgdHJpY2tzIHdlIGFy ZSBhYm91dCB0byBwbGF5LgogICAgcHJvZ19lcnJvciAoInZhcmlhYmxlIGRlZmluZWQgYmVm b3JlIHJlYWRfbWFpbl9hbV9maWxlXG4iIC4gdmFyaWFibGVzX2R1bXAgKCkpCiAgICAgIGlm IChzY2FsYXIgKHZhcmlhYmxlcykgPiAwKTsKCiAgICAjIEdlbmVyYXRlIGNvcHlyaWdodCBo ZWFkZXIgZm9yIGdlbmVyYXRlZCBNYWtlZmlsZS5pbi4KICAgICMgV2UgZG8gZGlzY2FyZCB0 aGUgb3V0cHV0IG9mIHByZWRlZmluZWQgdmFyaWFibGVzLCBoYW5kbGVkIGJlbG93LgogICAg JG91dHB1dF92YXJzID0gKCIjICIgLiBiYXNlbmFtZSAoJGluZmlsZSkgLiAiIGdlbmVyYXRl ZCBieSBhdXRvbWFrZSAiCgkJICAgLiAkVkVSU0lPTiAuICIgZnJvbSAiIC4gYmFzZW5hbWUg KCRhbWZpbGUpIC4gIi5cbiIpOwogICAgJG91dHB1dF92YXJzIC49ICcjICcgLiBzdWJzdCAo J2NvbmZpZ3VyZV9pbnB1dCcpIC4gIlxuIjsKICAgICRvdXRwdXRfdmFycyAuPSAkZ2VuX2Nv cHlyaWdodDsKCiAgICAjIFdlIHdhbnQgdG8gcHJlZGVmaW5lIGFzIG1hbnkgdmFyaWFibGVz IGFzIHBvc3NpYmxlLiAgVGhpcyBsZXRzCiAgICAjIHRoZSB1c2VyIHNldCB0aGVtIHdpdGgg Jys9JyBpbiBNYWtlZmlsZS5hbS4KICAgIGRlZmluZV9zdGFuZGFyZF92YXJpYWJsZXM7Cgog ICAgIyBSZWFkIHVzZXIgZmlsZSwgd2hpY2ggbWlnaHQgb3ZlcnJpZGUgc29tZSBvZiBvdXIg dmFsdWVzLgogICAgcmVhZF9hbV9maWxlICgkYW1maWxlLCBuZXcgQXV0b21ha2U6OkxvY2F0 aW9uLCAnLicpOwp9CgoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgJFNUUklORwojIGZsYXR0ZW4gKCRPUklH SU5BTF9TVFJJTkcpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGZsYXR0ZW4K ewogICRfID0gc2hpZnQ7CgogIHMvXFxcbi8vc29tZzsKICBzL1xzKy8gL2c7CiAgcy9eIC8v OwogIHMvICQvLzsKCiAgcmV0dXJuICRfOwp9CgoKIyB0cmFuc2Zvcm1fdG9rZW4gKCRUT0tF TiwgXCVQQUlSUywgJEtFWSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIyBSZXR1cm4gdGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gJEtFWSBpbiAlUEFJUlMs IGFzIHVzZWQgb24gJFRPS0VOCiMgKHdoaWNoIHNob3VsZCBiZSA/S0VZPyBvciBhbnkgb2Yg dGhlIHNwZWNpYWwgJSUgcmVxdWVzdHMpLi4Kc3ViIHRyYW5zZm9ybV90b2tlbiAoJFwlJCkK ewogIG15ICgkdG9rZW4sICR0cmFuc2Zvcm0sICRrZXkpID0gQF87CiAgbXkgJHJlcyA9ICR0 cmFuc2Zvcm0tPnska2V5fTsKICBwcm9nX2Vycm9yICJVbmtub3duIGtleSAnJGtleScgaW4g JyR0b2tlbiciIHVubGVzcyBkZWZpbmVkICRyZXM7CiAgcmV0dXJuICRyZXM7Cn0KCgojIHRy YW5zZm9ybSAoJFRPS0VOLCBcJVBBSVJTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIElmICgkVE9LRU4sICRWQUwpIGlzIGluICVQQUlSUzoKIyAgIC0gcmVwbGFjZXMgJUtF WSUgd2l0aCAkVkFMLAojICAgLSBlbmFibGVzL2Rpc2FibGVzID9LRVk/IGFuZCA/IUtFWT8s CiMgICAtIHJlcGxhY2VzICU/S0VZJSB3aXRoIFRSVUUgb3IgRkFMU0UuCnN1YiB0cmFuc2Zv cm0gKCRcJSkKewogIG15ICgkdG9rZW4sICR0cmFuc2Zvcm0pID0gQF87CgogICMgJUtFWSUu CiAgIyBNdXN0IGJlIGJlZm9yZSB0aGUgZm9sbG93aW5nIHBhdHRlcm4gdG8gZXhjbHVkZSB0 aGUgY2FzZQogICMgd2hlbiB0aGVyZSBpcyBuZWl0aGVyIElGVFJVRSBub3IgSUZGQUxTRS4K ICBpZiAoJHRva2VuID1+IC9eJShbXHdcLV0rKSUkLykKICAgIHsKICAgICAgcmV0dXJuIHRy YW5zZm9ybV90b2tlbiAoJHRva2VuLCAlJHRyYW5zZm9ybSwgJDEpOwogICAgfQogICMgJT9L RVklLgogIGVsc2lmICgkdG9rZW4gPX4gL14lXD8oW1x3XC1dKyklJC8pCiAgICB7CiAgICAg IHJldHVybiB0cmFuc2Zvcm1fdG9rZW4gKCR0b2tlbiwgJSR0cmFuc2Zvcm0sICQxKSA/ICdU UlVFJyA6ICdGQUxTRSc7CiAgICB9CiAgIyA/S0VZPyBhbmQgPyFLRVk/LgogIGVsc2lmICgk dG9rZW4gPX4gL14gXD8gKCE/KSAoW1x3XC1dKykgXD8gJC94KQogICAgewogICAgICBteSAk bmVnID0gKCQxIGVxICchJykgPyAxIDogMDsKICAgICAgbXkgJHZhbCA9IHRyYW5zZm9ybV90 b2tlbiAoJHRva2VuLCAlJHRyYW5zZm9ybSwgJDIpOwogICAgICByZXR1cm4gKCEhJHZhbCA9 PSAkbmVnKSA/ICcjIyUnIDogJyc7CiAgICB9CiAgZWxzZQogICAgewogICAgICBwcm9nX2Vy cm9yICJVbmtub3duIHJlcXVlc3QgZm9ybWF0OiAkdG9rZW4iOwogICAgfQp9CgojICRURVhU CiMgcHJlcHJvY2Vzc19maWxlICgkTUFLRUZJTEUsIFslVFJBTlNGT1JNXSkKIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvYWQgYSAkTUFLRUZJTEUs IGFwcGx5IHRoZSAlVFJBTlNGT1JNLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuCiMgTm8gZXh0 cmEgcGFyc2luZyBvciBwb3N0LXByb2Nlc3NpbmcgaXMgZG9uZSAoaS5lLiwgcmVjb2duaXRp b24gb2YKIyBydWxlcyBkZWNsYXJhdGlvbiBvciBvZiBtYWtlIHZhcmlhYmxlcyBkZWZpbml0 aW9ucykuCnN1YiBwcmVwcm9jZXNzX2ZpbGUKewogIG15ICgkZmlsZSwgJXRyYW5zZm9ybSkg PSBAXzsKCiAgIyBDb21wbGV0ZSAldHJhbnNmb3JtIHdpdGggZ2xvYmFsIG9wdGlvbnMuCiAg IyBOb3RlIHRoYXQgJXRyYW5zZm9ybSBnb2VzIGxhc3QsIHNvIGl0IG92ZXJyaWRlcyBnbG9i YWwgb3B0aW9ucy4KICAldHJhbnNmb3JtID0gKCAnTUFJTlRBSU5FUi1NT0RFJwoJCSA9PiAk c2Vlbl9tYWludF9tb2RlID8gc3Vic3QgKCdNQUlOVEFJTkVSX01PREVfVFJVRScpIDogJycs CgoJCSAnWFonICAgICAgICAgID0+ICEhIG9wdGlvbiAnZGlzdC14eicsCgkJICdMWklQJyAg ICAgICAgPT4gISEgb3B0aW9uICdkaXN0LWx6aXAnLAoJCSAnQlpJUDInICAgICAgID0+ICEh IG9wdGlvbiAnZGlzdC1iemlwMicsCgkJICdDT01QUkVTUycgICAgPT4gISEgb3B0aW9uICdk aXN0LXRhclonLAoJCSAnR1pJUCcgICAgICAgID0+ICAhIG9wdGlvbiAnbm8tZGlzdC1nemlw JywKCQkgJ1NIQVInICAgICAgICA9PiAhISBvcHRpb24gJ2Rpc3Qtc2hhcicsCgkJICdaSVAn ICAgICAgICAgPT4gISEgb3B0aW9uICdkaXN0LXppcCcsCgkJICdaU1REJyAgICAgICAgPT4g ISEgb3B0aW9uICdkaXN0LXpzdGQnLAoKCQkgJ0lOU1RBTEwtSU5GTycgPT4gICEgb3B0aW9u ICduby1pbnN0YWxsaW5mbycsCgkJICdJTlNUQUxMLU1BTicgID0+ICAhIG9wdGlvbiAnbm8t aW5zdGFsbG1hbicsCgkJICdDSy1ORVdTJyAgICAgID0+ICEhIG9wdGlvbiAnY2hlY2stbmV3 cycsCgoJCSAnU1VCRElSUycgICAgICA9PiAhISB2YXIgKCdTVUJESVJTJyksCgkJICdUT1BE SVJfUCcgICAgID0+ICRyZWxhdGl2ZV9kaXIgZXEgJy4nLAoKCQkgJ0JVSUxEJyAgICA9PiAo JHNlZW5fY2Fub25pY2FsID49IEFDX0NBTk9OSUNBTF9CVUlMRCksCgkJICdIT1NUJyAgICAg PT4gKCRzZWVuX2Nhbm9uaWNhbCA+PSBBQ19DQU5PTklDQUxfSE9TVCksCgkJICdUQVJHRVQn ICAgPT4gKCRzZWVuX2Nhbm9uaWNhbCA+PSBBQ19DQU5PTklDQUxfVEFSR0VUKSwKCgkJICdM SUJUT09MJyAgICAgID0+ICEhIHZhciAoJ0xJQlRPT0wnKSwKCQkgJ05PTkxJQlRPT0wnICAg PT4gMSwKCQkldHJhbnNmb3JtKTsKCiAgaWYgKCEgZGVmaW5lZCAoJF8gPSAkYW1fZmlsZV9j YWNoZXskZmlsZX0pKQogICAgewogICAgICB2ZXJiICJyZWFkaW5nICRmaWxlIjsKICAgICAg IyBTd2FsbG93IHRoZSB3aG9sZSBmaWxlLgogICAgICBteSAkZmNfZmlsZSA9IG5ldyBBdXRv bWFrZTo6WEZpbGUgIjwgJGZpbGUiOwogICAgICBteSAkc2F2ZWRfZG9sbGFyX3NsYXNoID0g JC87CiAgICAgIHVuZGVmICQvOwogICAgICAkXyA9ICRmY19maWxlLT5nZXRsaW5lOwogICAg ICAkLyA9ICRzYXZlZF9kb2xsYXJfc2xhc2g7CiAgICAgICRmY19maWxlLT5jbG9zZTsKICAg ICAgIyBSZW1vdmUgIyMtY29tbWVudHMuCiAgICAgICMgQmVzaWRlcyB3ZSBkb24ndCBuZWVk IG1vcmUgdGhhbiB0d28gY29uc2VjdXRpdmUgbmV3LWxpbmVzLgogICAgICBzLyg/OiRJR05P UkVfUEFUVEVSTnwoPzw9XG5cbilcbispLy9nb207CiAgICAgICMgUmVtZW1iZXIgdGhlIGNv bnRlbnRzIG9mIHRoZSBqdXN0LXJlYWQgZmlsZS4KICAgICAgJGFtX2ZpbGVfY2FjaGV7JGZp bGV9ID0gJF87CiAgICB9CgogICMgU3Vic3RpdHV0ZSBBdXRvbWFrZSB0ZW1wbGF0ZSB0b2tl bnMuCiAgcy8oPzogJSBcPz8gW1x3XC1dKyAlCiAgICAgIHwgXD8gIT8gW1x3XC1dKyBcPwog ICAgKS90cmFuc2Zvcm0oJCYsICV0cmFuc2Zvcm0pL2dleDsKICAjIHRyYW5zZm9ybSgpIG1h eSBoYXZlIGFkZGVkIHNvbWUgIyMlLWNvbW1lbnRzIHRvIHN0cmlwLgogICMgKHdlIHVzZSAn IyMlJyBpbnN0ZWFkIG9mICcjIycgc28gd2UgY2FuIGRpc3Rpbmd1aXNoICMjJSMjJSMjJSBm cm9tCiAgIyAjIyMjIyMjIGFuZCBkbyBub3QgcmVtb3ZlIHRoZSBsYXR0ZXIuKQogIHMvXlsg XHRdKig/OiMjJSkrLipcbi8vZ207CgogIHJldHVybiAkXzsKfQoKCiMgQFBBUkFHUkFQSFMK IyBtYWtlX3BhcmFncmFwaHMgKCRNQUtFRklMRSwgWyVUUkFOU0ZPUk1dKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTG9hZCBhICRNQUtFRklMRSwg YXBwbHkgdGhlICVUUkFOU0ZPUk0sIGFuZCByZXR1cm4gaXQgYXMgYSBsaXN0IG9mCiMgcGFy YWdyYXBocy4Kc3ViIG1ha2VfcGFyYWdyYXBocwp7CiAgbXkgKCRmaWxlLCAldHJhbnNmb3Jt KSA9IEBfOwogICR0cmFuc2Zvcm17RklSU1R9ID0gISR0cmFuc2Zvcm1lZF9maWxlc3skZmls ZX07CiAgJHRyYW5zZm9ybWVkX2ZpbGVzeyRmaWxlfSA9IDE7CgogIG15IEBsaW5lcyA9IHNw bGl0IC8oPzwhXFwpXG4vLCBwcmVwcm9jZXNzX2ZpbGUgKCRmaWxlLCAldHJhbnNmb3JtKTsK ICBteSBAcmVzOwoKICB3aGlsZSAoZGVmaW5lZCAoJF8gPSBzaGlmdCBAbGluZXMpKQogICAg ewogICAgICBteSAkcGFyYWdyYXBoID0gJF87CiAgICAgICMgSWYgd2UgYXJlIGEgcnVsZSwg ZWF0IGFzIGxvbmcgYXMgd2Ugc3RhcnQgd2l0aCBhIHRhYi4KICAgICAgaWYgKC8kUlVMRV9Q QVRURVJOL3NtbykKCXsKCSAgd2hpbGUgKGRlZmluZWQgKCRfID0gc2hpZnQgQGxpbmVzKSAm JiAkXyA9fiAvXlx0LykKCSAgICB7CgkgICAgICAkcGFyYWdyYXBoIC49ICJcbiRfIjsKCSAg ICB9CgkgIHVuc2hpZnQgKEBsaW5lcywgJF8pOwoJfQoKICAgICAgIyBJZiB3ZSBhcmUgYSBj b21tZW50cywgZWF0IGFzIG11Y2ggY29tbWVudHMgYXMgeW91IGNhbi4KICAgICAgZWxzaWYg KC8kQ09NTUVOVF9QQVRURVJOL3NtbykKCXsKCSAgd2hpbGUgKGRlZmluZWQgKCRfID0gc2hp ZnQgQGxpbmVzKQoJCSAmJiAkXyA9fiAvJENPTU1FTlRfUEFUVEVSTi9zbW8pCgkgICAgewoJ ICAgICAgJHBhcmFncmFwaCAuPSAiXG4kXyI7CgkgICAgfQoJICB1bnNoaWZ0IChAbGluZXMs ICRfKTsKCX0KCiAgICAgIHB1c2ggQHJlcywgJHBhcmFncmFwaDsKICAgIH0KCiAgcmV0dXJu IEByZXM7Cn0KCgoKIyAoJENPTU1FTlQsICRWQVJJQUJMRVMsICRSVUxFUykKIyBmaWxlX2Nv bnRlbnRzX2ludGVybmFsICgkSVNfQU0sICRGSUxFLCAkV0hFUkUsIFslVFJBTlNGT1JNXSkK IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIyBSZXR1cm4gY29udGVudHMgb2YgYSBmaWxlIGZyb20gJGxpYmRpci9hbSwg YXV0b21hdGljYWxseSBza2lwcGluZwojIG1hY3JvcyBvciBydWxlcyB3aGljaCBhcmUgYWxy ZWFkeSBrbm93bi4gJElTX0FNIGlmZiB0aGUgY2FsbGVyIGlzCiMgcmVhZGluZyBhbiBBdXRv bWFrZSBmaWxlIChhcyBvcHBvc2VkIHRvIHRoZSB1c2VyJ3MgTWFrZWZpbGUuYW0pLgpzdWIg ZmlsZV9jb250ZW50c19pbnRlcm5hbAp7CiAgICBteSAoJGlzX2FtLCAkZmlsZSwgJHdoZXJl LCAldHJhbnNmb3JtKSA9IEBfOwoKICAgICR3aGVyZS0+c2V0ICgkZmlsZSk7CgogICAgbXkg JHJlc3VsdF92YXJzID0gJyc7CiAgICBteSAkcmVzdWx0X3J1bGVzID0gJyc7CiAgICBteSAk Y29tbWVudCA9ICcnOwogICAgbXkgJHNwYWNpbmcgPSAnJzsKCiAgICAjIFRoZSBmb2xsb3dp bmcgZmxhZ3MgYXJlIHVzZWQgdG8gdHJhY2sgcnVsZXMgc3Bhbm5pbmcgYWNyb3NzCiAgICAj IG11bHRpcGxlIHBhcmFncmFwaHMuCiAgICBteSAkaXNfcnVsZSA9IDA7CQkjIDEgaWYgd2Ug YXJlIHByb2Nlc3NpbmcgYSBydWxlLgogICAgbXkgJGRpc2NhcmRfcnVsZSA9IDA7CSMgMSBp ZiB0aGUgY3VycmVudCBydWxlIHNob3VsZCBub3QgYmUgb3V0cHV0LgoKICAgICMgV2Ugc2F2 ZSB0aGUgY29uZGl0aW9uYWwgc3RhY2sgb24gZW50cnksIGFuZCB0aGVuIGNoZWNrIHRvIG1h a2UKICAgICMgc3VyZSBpdCBpcyB0aGUgc2FtZSBvbiBleGl0LiAgVGhpcyBsZXRzIHVzIGNv bmRpdGlvbmFsbHkgaW5jbHVkZQogICAgIyBvdGhlciBmaWxlcy4KICAgIG15IEBzYXZlZF9j b25kX3N0YWNrID0gQGNvbmRfc3RhY2s7CiAgICBteSAkY29uZCA9IG5ldyBBdXRvbWFrZTo6 Q29uZGl0aW9uIChAY29uZF9zdGFjayk7CgogICAgZm9yZWFjaCAobWFrZV9wYXJhZ3JhcGhz ICgkZmlsZSwgJXRyYW5zZm9ybSkpCiAgICB7CgkjIEZJWE1FOiBubyBsaW5lIG51bWJlciBh dmFpbGFibGUuCgkkd2hlcmUtPnNldCAoJGZpbGUpOwoKCSMgU2FuaXR5IGNoZWNrcy4KCWVy cm9yICR3aGVyZSwgImJsYW5rIGxpbmUgZm9sbG93aW5nIHRyYWlsaW5nIGJhY2tzbGFzaDpc biRfIgoJICBpZiAvXFwkLzsKCWVycm9yICR3aGVyZSwgImNvbW1lbnQgZm9sbG93aW5nIHRy YWlsaW5nIGJhY2tzbGFzaDpcbiRfIgoJICBpZiAvXFwjLzsKCglpZiAoL14kLykKCXsKCSAg ICAkaXNfcnVsZSA9IDA7CgkgICAgIyBTdGljayBlbXB0eSBsaW5lIGJlZm9yZSB0aGUgaW5j b21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAkc3BhY2luZyA9ICJcbiI7Cgl9CgllbHNpZiAo LyRDT01NRU5UX1BBVFRFUk4vbXNvKQoJewoJICAgICRpc19ydWxlID0gMDsKCSAgICAjIFN0 aWNrIGNvbW1lbnRzIGJlZm9yZSB0aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAk Y29tbWVudCA9ICIkX1xuIjsKCX0KCgkjIEhhbmRsZSBpbmNsdXNpb24gb2Ygb3RoZXIgZmls ZXMuCgllbHNpZiAoLyRJTkNMVURFX1BBVFRFUk4vbykKCXsKCSAgICBpZiAoJGNvbmQgIT0g RkFMU0UpCgkgICAgICB7CgkJbXkgJGZpbGUgPSAoJGlzX2FtID8gIiRsaWJkaXIvYW0vIiA6 ICcnKSAuICQxOwoJCSR3aGVyZS0+cHVzaF9jb250ZXh0ICgiJyRmaWxlJyBpbmNsdWRlZCBm cm9tIGhlcmUiKTsKCQkjIE4tYXJ5ICcuPScgZmFpbHMuCgkJbXkgKCRjb20sICR2YXJzLCAk cnVsZXMpCgkJICA9IGZpbGVfY29udGVudHNfaW50ZXJuYWwgKCRpc19hbSwgJGZpbGUsICR3 aGVyZSwgJXRyYW5zZm9ybSk7CgkJJHdoZXJlLT5wb3BfY29udGV4dDsKCQkkY29tbWVudCAu PSAkY29tOwoJCSRyZXN1bHRfdmFycyAuPSAkdmFyczsKCQkkcmVzdWx0X3J1bGVzIC49ICRy dWxlczsKCSAgICAgIH0KCX0KCgkjIEhhbmRsaW5nIHRoZSBjb25kaXRpb25hbHMuCgllbHNp ZiAoLyRJRl9QQVRURVJOL28pCgkgIHsKCSAgICAkY29uZCA9IGNvbmRfc3RhY2tfaWYgKCQx LCAkMiwgJGZpbGUpOwoJICB9CgllbHNpZiAoLyRFTFNFX1BBVFRFUk4vbykKCSAgewoJICAg ICRjb25kID0gY29uZF9zdGFja19lbHNlICgkMSwgJDIsICRmaWxlKTsKCSAgfQoJZWxzaWYg KC8kRU5ESUZfUEFUVEVSTi9vKQoJICB7CgkgICAgJGNvbmQgPSBjb25kX3N0YWNrX2VuZGlm ICgkMSwgJDIsICRmaWxlKTsKCSAgfQoKCSMgSGFuZGxpbmcgcnVsZXMuCgllbHNpZiAoLyRS VUxFX1BBVFRFUk4vbXNvKQoJewoJICAkaXNfcnVsZSA9IDE7CgkgICRkaXNjYXJkX3J1bGUg PSAwOwoJICAjIFNlcGFyYXRlIHJlbGF0aW9uc2hpcCBmcm9tIG9wdGlvbmFsIGFjdGlvbnM6 IHRoZSBmaXJzdAoJICAjIGBuZXctbGluZSB0YWIiIG5vdCBwcmVjZWRlZCBieSBiYWNrc2xh c2ggKGNvbnRpbnVhdGlvbgoJICAjIGxpbmUpLgoJICBteSAkcGFyYWdyYXBoID0gJF87Cgkg IC9eKC4qPykoPzooPzwhXFwpXG4oXHQuKikpPyQvczsKCSAgbXkgKCRyZWxhdGlvbnNoaXAs ICRhY3Rpb25zKSA9ICgkMSwgJDIgfHwgJycpOwoKCSAgIyBTZXBhcmF0ZSB0YXJnZXRzIGZy b20gZGVwZW5kZW5jaWVzOiB0aGUgZmlyc3QgY29sb24uCgkgICRyZWxhdGlvbnNoaXAgPX4g L14oW146XStcUyspICo6ICooLiopJC9zb207CgkgIG15ICgkdGFyZ2V0cywgJGRlcGVuZGVu Y2llcykgPSAoJDEsICQyKTsKCSAgIyBSZW1vdmUgdGhlIGVzY2FwZWQgbmV3IGxpbmVzLgoJ ICAjIEkgZG9uJ3Qga25vdyB3aHksIGJ1dCBJIGhhdmUgdG8gdXNlIGEgdG1wICRmbGF0X2Rl cHMuCgkgIG15ICRmbGF0X2RlcHMgPSBmbGF0dGVuICgkZGVwZW5kZW5jaWVzKTsKCSAgbXkg QGRlcHMgPSBzcGxpdCAoJyAnLCAkZmxhdF9kZXBzKTsKCgkgIGZvcmVhY2ggKHNwbGl0ICgn ICcsICR0YXJnZXRzKSkKCSAgICB7CgkgICAgICAjIEZJWE1FOiAxLiBXZSBhcmUgbm90IHJv YnVzdCB0byBwZW9wbGUgZGVmaW5pbmcgc2V2ZXJhbCB0YXJnZXRzCgkgICAgICAjIGF0IG9u Y2UsIG9ubHkgc29tZSBvZiB0aGVtIGJlaW5nIGluICVkZXBlbmRlbmNpZXMuICBUaGUKCSAg ICAgICMgYWN0aW9ucyBmcm9tIHRoZSB0YXJnZXRzIGluICVkZXBlbmRlbmNpZXMgYXJlIHVz dWFsbHkgZ2VuZXJhdGVkCgkgICAgICAjIGZyb20gdGhlIGNvbnRlbnQgb2YgJWFjdGlvbnMs IGJ1dCBpZiBzb21lIHRhcmdldHMgaW4gJHRhcmdldHMKCSAgICAgICMgYXJlIG5vdCBpbiAl ZGVwZW5kZW5jaWVzIHRoZSBFTFNFIGJyYW5jaCB3aWxsIG91dHB1dAoJICAgICAgIyBhIHJ1 bGUgZm9yIGFsbCAkdGFyZ2V0cyAoaS5lLiB0aGUgdGFyZ2V0cyB3aGljaCBhcmUgYm90aAoJ ICAgICAgIyBpbiAlZGVwZW5kZW5jaWVzIGFuZCAkdGFyZ2V0cyB3aWxsIGhhdmUgdHdvIHJ1 bGVzKS4KCgkgICAgICAjIEZJWE1FOiAyLiBUaGUgbG9naWMgaGVyZSBpcyBub3QgYWJsZSB0 byBvdXRwdXQgYQoJICAgICAgIyBtdWx0aS1wYXJhZ3JhcGggcnVsZSBzZXZlcmFsIHRpbWUg KGUuZy4gZm9yIGVhY2ggY29uZGl0aW9uCgkgICAgICAjIGl0IGlzIGRlZmluZWQgZm9yKSBi ZWNhdXNlIGl0IG9ubHkga25vd3MgdGhlIGZpcnN0IHBhcmFncmFwaC4KCgkgICAgICAjIEZJ WE1FOiAzLiBXZSBhcmUgbm90IHJvYnVzdCB0byBwZW9wbGUgZGVmaW5pbmcgYSBzdWJzZXQK CSAgICAgICMgb2YgYSBwcmV2aW91c2x5IGRlZmluZWQgIm11bHRpcGxlLXRhcmdldCIgcnVs ZS4gIEUuZy4KCSAgICAgICMgJ2ZvbzonIGFmdGVyICdmb28gYmFyOicuCgoJICAgICAgIyBP dXRwdXQgb25seSBpZiBub3QgaW4gRkFMU0UuCgkgICAgICBpZiAoZGVmaW5lZCAkZGVwZW5k ZW5jaWVzeyRffSAmJiAkY29uZCAhPSBGQUxTRSkKCQl7CgkJICBkZXBlbmQgKCRfLCBAZGVw cyk7CgkJICByZWdpc3Rlcl9hY3Rpb24gKCRfLCAkYWN0aW9ucyk7CgkJfQoJICAgICAgZWxz ZQoJCXsKCQkgICMgRnJlZS1sYW5jZSBkZXBlbmRlbmN5LiAgT3V0cHV0IHRoZSBydWxlIGZv ciBhbGwgdGhlCgkJICAjIHRhcmdldHMgaW5zdGVhZCBvZiBvbmUgYnkgb25lLgoJCSAgbXkg QHVuZGVmaW5lZF9jb25kcyA9CgkJICAgIEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCR0YXJn ZXRzLCAkZmlsZSwKCQkJCQkgICAgJGlzX2FtID8gUlVMRV9BVVRPTUFLRSA6IFJVTEVfVVNF UiwKCQkJCQkgICAgJGNvbmQsICR3aGVyZSk7CgkJICBmb3IgbXkgJHVuZGVmaW5lZF9jb25k IChAdW5kZWZpbmVkX2NvbmRzKQoJCSAgICB7CgkJICAgICAgbXkgJGNvbmRwYXJhZ3JhcGgg PSAkcGFyYWdyYXBoOwoJCSAgICAgICRjb25kcGFyYWdyYXBoID1+IHMvXi8kdW5kZWZpbmVk X2NvbmQtPnN1YnN0X3N0cmluZy9nbWU7CgkJICAgICAgJHJlc3VsdF9ydWxlcyAuPSAiJHNw YWNpbmckY29tbWVudCRjb25kcGFyYWdyYXBoXG4iOwoJCSAgICB9CgkJICBpZiAoc2NhbGFy IEB1bmRlZmluZWRfY29uZHMgPT0gMCkKCQkgICAgewoJCSAgICAgICMgUmVtZW1iZXIgdG8g ZGlzY2FyZCBuZXh0IHBhcmFncmFwaHMKCQkgICAgICAjIGlmIHRoZXkgYmVsb25nIHRvIHRo aXMgcnVsZS4KCQkgICAgICAjIChidXQgc2VlIGFsc28gRklYTUU6ICMyIGFib3ZlLikKCQkg ICAgICAkZGlzY2FyZF9ydWxlID0gMTsKCQkgICAgfQoJCSAgJGNvbW1lbnQgPSAkc3BhY2lu ZyA9ICcnOwoJCSAgbGFzdDsKCQl9CgkgICAgfQoJfQoKCWVsc2lmICgvJEFTU0lHTk1FTlRf UEFUVEVSTi9tc28pCgl7CgkgICAgbXkgKCR2YXIsICR0eXBlLCAkdmFsKSA9ICgkMSwgJDIs ICQzKTsKCSAgICBlcnJvciAkd2hlcmUsICJ2YXJpYWJsZSAnJHZhcicgd2l0aCB0cmFpbGlu ZyBiYWNrc2xhc2giCgkgICAgICBpZiAvXFwkLzsKCgkgICAgJGlzX3J1bGUgPSAwOwoKCSAg ICBBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSAoJHZhciwKCQkJCQkkaXNfYW0gPyBWQVJf QVVUT01BS0UgOiBWQVJfTUFLRUZJTEUsCgkJCQkJJHR5cGUsICRjb25kLCAkdmFsLCAkY29t bWVudCwgJHdoZXJlLAoJCQkJCVZBUl9BU0lTKQoJICAgICAgaWYgJGNvbmQgIT0gRkFMU0U7 CgoJICAgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCX0KCWVsc2UKCXsKCSAgICAjIFRo aXMgaXNuJ3QgYW4gZXJyb3I7IGl0IGlzIHByb2JhYmx5IHNvbWUgdG9rZW5zIHdoaWNoCgkg ICAgIyBjb25maWd1cmUgaXMgc3VwcG9zZWQgdG8gcmVwbGFjZSwgc3VjaCBhcyAnQFNFVC1N QUtFQCcsCgkgICAgIyBvciBzb21lIHBhcnQgb2YgYSBydWxlIGN1dCBieSBhbiBpZi9lbmRp Zi4KCSAgICBpZiAoISAkY29uZC0+ZmFsc2UgJiYgISAoJGlzX3J1bGUgJiYgJGRpc2NhcmRf cnVsZSkpCgkgICAgICB7CgkJcy9eLyRjb25kLT5zdWJzdF9zdHJpbmcvZ21lOwoJCSRyZXN1 bHRfcnVsZXMgLj0gIiRzcGFjaW5nJGNvbW1lbnQkX1xuIjsKCSAgICAgIH0KCSAgICAkY29t bWVudCA9ICRzcGFjaW5nID0gJyc7Cgl9CiAgICB9CgogICAgZXJyb3IgKCR3aGVyZSwgQGNv bmRfc3RhY2sgPwoJICAgInVudGVybWluYXRlZCBjb25kaXRpb25hbHM6IEBjb25kX3N0YWNr IiA6CgkgICAidG9vIG1hbnkgY29uZGl0aW9uYWxzIGNsb3NlZCBpbiBpbmNsdWRlIGZpbGUi KQogICAgICBpZiAiQHNhdmVkX2NvbmRfc3RhY2siIG5lICJAY29uZF9zdGFjayI7CgogICAg cmV0dXJuICgkY29tbWVudCwgJHJlc3VsdF92YXJzLCAkcmVzdWx0X3J1bGVzKTsKfQoKCiMg JENPTlRFTlRTCiMgZmlsZV9jb250ZW50cyAoJEJBU0VOQU1FLCAkV0hFUkUsIFslVFJBTlNG T1JNXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojIFJldHVybiBjb250ZW50cyBvZiBhIGZpbGUgZnJvbSAkbGliZGlyL2FtLCBhdXRvbWF0 aWNhbGx5IHNraXBwaW5nCiMgbWFjcm9zIG9yIHJ1bGVzIHdoaWNoIGFyZSBhbHJlYWR5IGtu b3duLgpzdWIgZmlsZV9jb250ZW50cwp7CiAgICBteSAoJGJhc2VuYW1lLCAkd2hlcmUsICV0 cmFuc2Zvcm0pID0gQF87CiAgICBteSAoJGNvbW1lbnRzLCAkdmFyaWFibGVzLCAkcnVsZXMp ID0KICAgICAgZmlsZV9jb250ZW50c19pbnRlcm5hbCAoMSwgIiRsaWJkaXIvYW0vJGJhc2Vu YW1lLmFtIiwgJHdoZXJlLAoJCQkgICAgICAldHJhbnNmb3JtKTsKICAgIHJldHVybiAiJGNv bW1lbnRzJHZhcmlhYmxlcyRydWxlcyI7Cn0KCgojIEBQUkVGSVgKIyBhbV9wcmltYXJ5X3By ZWZpeGVzICgkUFJJTUFSWSwgJENBTl9ESVNULCBAUFJFRklYRVMpCiMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpbmQgYWxsIHZh cmlhYmxlIHByZWZpeGVzIHRoYXQgYXJlIHVzZWQgZm9yIGluc3RhbGwgZGlyZWN0b3JpZXMu ICBBCiMgcHJlZml4ICd6YXInIHF1YWxpZmllcyBpZmY6CiMKIyAqICd6YXJkaXInIGlzIGEg dmFyaWFibGUuCiMgKiAnemFyX1BSSU1BUlknIGlzIGEgdmFyaWFibGUuCiMKIyBBcyBhIHNp ZGUgZWZmZWN0LCBpdCBsb29rcyBmb3IgbWlzc3BlbGxpbmdzLiAgSXQgaXMgYW4gZXJyb3Ig dG8gaGF2ZQojIGEgdmFyaWFibGUgZW5kaW5nIGluIGEgInJlc2VydmVkIiBzdWZmaXggd2hv c2UgcHJlZml4IGlzIHVua25vd24sIGUuZy4KIyAiYm5pX1BST0dSQU1TIi4gIEhvd2V2ZXIs IHVudXN1YWwgcHJlZml4ZXMgYXJlIGFsbG93ZWQgaWYgYSB2YXJpYWJsZQojIG9mIHRoZSBz YW1lIG5hbWUgKHdpdGggImRpciIgYXBwZW5kZWQpIGV4aXN0cy4gIEZvciBpbnN0YW5jZSwg aWYgdGhlCiMgdmFyaWFibGUgInphcmRpciIgaXMgZGVmaW5lZCwgdGhlbiAiemFyX1BST0dS QU1TIiBiZWNvbWVzIHZhbGlkLgojIFRoaXMgaXMgdG8gcHJvdmlkZSBhIGxpdHRsZSBleHRy YSBmbGV4aWJpbGl0eSBpbiB0aG9zZSBjYXNlcyB3aGljaAojIG5lZWQgaXQuCnN1YiBhbV9w cmltYXJ5X3ByZWZpeGVzCnsKICBteSAoJHByaW1hcnksICRjYW5fZGlzdCwgQHByZWZpeGVz KSA9IEBfOwoKICBsb2NhbCAkXzsKICBteSAldmFsaWQgPSBtYXAgeyAkXyA9PiAwIH0gQHBy ZWZpeGVzOwogICR2YWxpZHsnRVhUUkEnfSA9IDA7CiAgZm9yZWFjaCBteSAkdmFyICh2YXJp YWJsZXMgJHByaW1hcnkpCiAgICB7CiAgICAgICMgQXV0b21ha2UgaXMgYWxsb3dlZCB0byBk ZWZpbmUgdmFyaWFibGVzIHRoYXQgbG9vayBsaWtlIHByaW1hcmllcwogICAgICAjIGJ1dCB3 aGljaCBhcmVuJ3QuICBFLmcuIElOU1RBTExfc2hfREFUQS4KICAgICAgIyBBdXRvY29uZiBj YW4gYWxzbyBkZWZpbmUgdmFyaWFibGVzIGxpa2UgSU5TVEFMTF9EQVRBLCBzbwogICAgICAj IGlnbm9yZSBhbGwgY29uZmlndXJlIHZhcmlhYmxlcyAoYXQgbGVhc3QgdGhvc2Ugd2hpY2gg YXJlIG5vdAogICAgICAjIHJlZGVmaW5lZCBpbiBNYWtlZmlsZS5hbSkuCiAgICAgICMgRklY TUU6IFdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdCB0aGVzZSB2YXJpYWJsZXMgYXJlIG5vdAog ICAgICAjIGNvbmRpdGlvbmFsbHkgZGVmaW5lZCAob3IgZWxzZSBhZGp1c3QgdGhlIGNvbmRp dGlvbiBiZWxvdykuCiAgICAgIG15ICRkZWYgPSAkdmFyLT5kZWYgKFRSVUUpOwogICAgICBu ZXh0IGlmICRkZWYgJiYgJGRlZi0+b3duZXIgIT0gVkFSX01BS0VGSUxFOwoKICAgICAgbXkg JHZhcm5hbWUgPSAkdmFyLT5uYW1lOwoKICAgICAgaWYgKCR2YXJuYW1lID1+IC9eKG5vYmFz ZV8pPyhkaXN0X3xub2Rpc3RfKT8oLiopX1tbOmFsbnVtOl1dKyQvKQoJewoJICBteSAoJGJh c2UsICRkaXN0LCAkWCkgPSAoJDEgfHwgJycsICQyIHx8ICcnLCAkMyB8fCAnJyk7CgkgIGlm ICgkZGlzdCBuZSAnJyAmJiAhICRjYW5fZGlzdCkKCSAgICB7CgkgICAgICBlcnJfdmFyICgk dmFyLAoJCSAgICAgICAiaW52YWxpZCB2YXJpYWJsZSAnJHZhcm5hbWUnOiAnZGlzdCcgaXMg Zm9yYmlkZGVuIik7CgkgICAgfQoJICAjIFN0YW5kYXJkIGRpcmVjdG9yaWVzIG11c3QgYmUg ZXhwbGljaXRseSBhbGxvd2VkLgoJICBlbHNpZiAoISBkZWZpbmVkICR2YWxpZHskWH0gJiYg ZXhpc3RzICRzdGFuZGFyZF9wcmVmaXh7JFh9KQoJICAgIHsKCSAgICAgIGVycl92YXIgKCR2 YXIsCgkJICAgICAgICInJHtYfWRpcicgaXMgbm90IGEgbGVnaXRpbWF0ZSBkaXJlY3Rvcnkg IiAuCgkJICAgICAgICJmb3IgJyRwcmltYXJ5JyIpOwoJICAgIH0KCSAgIyBBIG5vdCBleHBs aWNpdGx5IHZhbGlkIGRpcmVjdG9yeSBpcyBhbGxvd2VkIGlmIFhkaXIgaXMgZGVmaW5lZC4K CSAgZWxzaWYgKCEgZGVmaW5lZCAkdmFsaWR7JFh9ICYmCgkJICR2YXItPnJlcXVpcmVzX3Zh cmlhYmxlcyAoIickdmFybmFtZScgaXMgdXNlZCIsICIke1h9ZGlyIikpCgkgICAgewoJICAg ICAgIyBOb3RoaW5nIHRvIGRvLiAgQW55IGVycm9yIG1lc3NhZ2UgaGFzIGJlZW4gb3V0cHV0 CgkgICAgICAjIGJ5ICR2YXItPnJlcXVpcmVzX3ZhcmlhYmxlcy4KCSAgICB9CgkgIGVsc2UK CSAgICB7CgkgICAgICAjIEVuc3VyZSBhbGwgZXh0ZW5kZWQgcHJlZml4ZXMgYXJlIGFjdHVh bGx5IHVzZWQuCgkgICAgICAkdmFsaWR7IiRiYXNlJGRpc3QkWCJ9ID0gMTsKCSAgICB9Cgl9 CiAgICAgIGVsc2UKCXsKCSAgcHJvZ19lcnJvciAidW5leHBlY3RlZCB2YXJpYWJsZSBuYW1l OiAkdmFybmFtZSI7Cgl9CiAgICB9CgogICMgUmV0dXJuIG9ubHkgdGhvc2Ugd2hpY2ggYXJl IGFjdHVhbGx5IGRlZmluZWQuCiAgcmV0dXJuIHNvcnQgZ3JlcCB7IHZhciAoJF8gLiAnXycg LiAkcHJpbWFyeSkgfSBrZXlzICV2YWxpZDsKfQoKCiMgYW1faW5zdGFsbF92YXIgKC1PUFRJ T04uLi4sIGZpbGUsIEhPVywgd2hlcmUuLi4pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBIYW5kbGUgJ3doZXJlX0hPVycgdmFyaWFi bGUgbWFnaWMuICBEb2VzIGFsbCBsb29rdXBzLCBnZW5lcmF0ZXMKIyBpbnN0YWxsIGNvZGUs IGFuZCBwb3NzaWJseSBnZW5lcmF0ZXMgY29kZSB0byBkZWZpbmUgdGhlIHByaW1hcnkKIyB2 YXJpYWJsZS4gIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUgbmFtZSBvZiB0aGUgLmFtIGZp bGUgdG8gbXVuZ2UsCiMgdGhlIHNlY29uZCBhcmd1bWVudCBpcyB0aGUgcHJpbWFyeSB2YXJp YWJsZSAoZS5nLiBIRUFERVJTKSwgYW5kIGFsbAojIHN1YnNlcXVlbnQgYXJndW1lbnRzIGFy ZSBwb3NzaWJsZSBpbnN0YWxsYXRpb24gbG9jYXRpb25zLgojCiMgUmV0dXJucyBsaXN0IG9m IFskbG9jYXRpb24sICR2YWx1ZV0gcGFpcnMsIHdoZXJlCiMgJHZhbHVlJ3MgYXJlIHRoZSB2 YWx1ZXMgaW4gYWxsIHdoZXJlX0hPVyB2YXJpYWJsZSwgYW5kICRsb2NhdGlvbgojIHRoZXJl IGFzc29jaWF0ZWQgbG9jYXRpb24gKHRoZSBwbGFjZSBoZXJlIHRoZWlyIHBhcmVudCB2YXJp YWJsZXMgd2VyZQojIGRlZmluZWQpLgojCiMgRklYTUU6IHRoaXMgc2hvdWxkIGJlIHJld3Jp dHRlbiB0byBiZSBjbGVhbmVyLiAgSXQgc2hvdWxkIGJlIGJyb2tlbgojIHVwIGludG8gbXVs dGlwbGUgZnVuY3Rpb25zLgojCnN1YiBhbV9pbnN0YWxsX3Zhcgp7CiAgbXkgKEBhcmdzKSA9 IEBfOwoKICBteSAkZG9fcmVxdWlyZSA9IDE7CiAgbXkgJGNhbl9kaXN0ID0gMDsKICBteSAk ZGVmYXVsdF9kaXN0ID0gMDsKICB3aGlsZSAoQGFyZ3MpCiAgICB7CiAgICAgIGlmICgkYXJn c1swXSBlcSAnLW5vZXh0cmEnKQoJewoJICAkZG9fcmVxdWlyZSA9IDA7Cgl9CiAgICAgIGVs c2lmICgkYXJnc1swXSBlcSAnLWNhbmRpc3QnKQoJewoJICAkY2FuX2Rpc3QgPSAxOwoJfQog ICAgICBlbHNpZiAoJGFyZ3NbMF0gZXEgJy1kZWZhdWx0ZGlzdCcpCgl7CgkgICRkZWZhdWx0 X2Rpc3QgPSAxOwoJICAkY2FuX2Rpc3QgPSAxOwoJfQogICAgICBlbHNpZiAoJGFyZ3NbMF0g IX4gL14tLykKCXsKCSAgbGFzdDsKCX0KICAgICAgc2hpZnQgKEBhcmdzKTsKICAgIH0KCiAg bXkgKCRmaWxlLCAkcHJpbWFyeSwgQHByZWZpeCkgPSBAYXJnczsKCiAgIyBOb3cgdGhhdCBj b25maWd1cmUgc3Vic3RpdHV0aW9ucyBhcmUgYWxsb3dlZCBpbiB3aGVyZV9IT1cKICAjIHZh cmlhYmxlcywgaXQgaXMgYW4gZXJyb3IgdG8gYWN0dWFsbHkgZGVmaW5lIHRoZSBwcmltYXJ5 LiAgV2UKICAjIGFsbG93ICdKQVZBJywgYXMgaXQgaXMgY3VzdG9tYXJpbHkgdXNlZCB0byBt ZWFuIHRoZSBKYXZhCiAgIyBpbnRlcnByZXRlci4gIFRoaXMgaXMgYnV0IG9uZSBvZiBzZXZl cmFsIEphdmEgaGFja3MuICBTaW1pbGFybHksCiAgIyAnUFlUSE9OJyBpcyBjdXN0b21hcmls eSB1c2VkIHRvIG1lYW4gdGhlIFB5dGhvbiBpbnRlcnByZXRlci4KICByZWplY3RfdmFyICRw cmltYXJ5LCAiJyRwcmltYXJ5JyBpcyBhbiBhbmFjaHJvbmlzbSIKICAgIHVubGVzcyAkcHJp bWFyeSBlcSAnSkFWQScgfHwgJHByaW1hcnkgZXEgJ1BZVEhPTic7CgogICMgR2V0IHRoZSBw cmVmaXhlcyB3aGljaCBhcmUgdmFsaWQgYW5kIGFjdHVhbGx5IHVzZWQuCiAgQHByZWZpeCA9 IGFtX3ByaW1hcnlfcHJlZml4ZXMgKCRwcmltYXJ5LCAkY2FuX2Rpc3QsIEBwcmVmaXgpOwoK ICAjIElmIGEgcHJpbWFyeSBpbmNsdWRlcyBhIGNvbmZpZ3VyZSBzdWJzdGl0dXRpb24sIHRo ZW4gdGhlIEVYVFJBXwogICMgZm9ybSBpcyByZXF1aXJlZC4gIE90aGVyd2lzZSB3ZSBjYW4n dCBwcm9wZXJseSBkbyBvdXIgam9iLgogIG15ICRyZXF1aXJlX2V4dHJhOwoKICBteSBAdXNl ZCA9ICgpOwogIG15IEByZXN1bHQgPSAoKTsKCiAgZm9yZWFjaCBteSAkWCAoQHByZWZpeCkK ICAgIHsKICAgICAgbXkgJG5vZGlyX25hbWUgPSAkWDsKICAgICAgbXkgJG9uZV9uYW1lID0g JFggLiAnXycgLiAkcHJpbWFyeTsKICAgICAgbXkgJG9uZV92YXIgPSB2YXIgJG9uZV9uYW1l OwoKICAgICAgbXkgJHN0cmlwX3N1YmRpciA9IDE7CiAgICAgICMgSWYgc3ViZGlyIHByZWZp eCBzaG91bGQgYmUgcHJlc2VydmVkLCBkbyBzby4KICAgICAgaWYgKCRub2Rpcl9uYW1lID1+ IC9ebm9iYXNlXy8pCgl7CgkgICRzdHJpcF9zdWJkaXIgPSAwOwoJICAkbm9kaXJfbmFtZSA9 fiBzL15ub2Jhc2VfLy87Cgl9CgogICAgICAjIElmIGZpbGVzIHNob3VsZCBiZSBkaXN0cmli dXRlZCwgZG8gc28uCiAgICAgIG15ICRkaXN0X3AgPSAwOwogICAgICBpZiAoJGNhbl9kaXN0 KQoJewoJICAkZGlzdF9wID0gKCgkZGVmYXVsdF9kaXN0ICYmICRub2Rpcl9uYW1lICF+IC9e bm9kaXN0Xy8pCgkJICAgICB8fCAoISAkZGVmYXVsdF9kaXN0ICYmICRub2Rpcl9uYW1lID1+ IC9eZGlzdF8vKSk7CgkgICRub2Rpcl9uYW1lID1+IHMvXihkaXN0fG5vZGlzdClfLy87Cgl9 CgoKICAgICAgIyBVc2UgdGhlIGxvY2F0aW9uIG9mIHRoZSBjdXJyZW50bHkgcHJvY2Vzc2Vk IHZhcmlhYmxlLgogICAgICAjIFdlIGFyZSBub3QgcHJvY2Vzc2luZyBhIHBhcnRpY3VsYXIg Y29uZGl0aW9uLCBzbyBwaWNrIHRoZSBmaXJzdAogICAgICAjIGF2YWlsYWJsZS4KICAgICAg bXkgJHRtcGNvbmQgPSAkb25lX3Zhci0+Y29uZGl0aW9ucy0+b25lX2NvbmQ7CiAgICAgIG15 ICR3aGVyZSA9ICRvbmVfdmFyLT5yZGVmICgkdG1wY29uZCktPmxvY2F0aW9uLT5jbG9uZTsK CiAgICAgICMgQXBwZW5kIGFjdHVhbCBjb250ZW50cyBvZiB3aGVyZV9QUklNQVJZIHZhcmlh YmxlIHRvCiAgICAgICMgQHJlc3VsdCwgc2tpcHBpbmcgQHN1YnN0aXR1dGlvbnNALgogICAg ICBmb3JlYWNoIG15ICRsb2N2YWxzICgkb25lX3Zhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNp dmUgKGxvY2F0aW9uID0+IDEpKQoJewoJICBteSAoJGxvYywgJHZhbHVlKSA9IEAkbG9jdmFs czsKCSAgIyBTa2lwIGNvbmZpZ3VyZSBzdWJzdGl0dXRpb25zLgoJICBpZiAoJHZhbHVlID1+ IC9eXEAuKlxAJC8pCgkgICAgewoJICAgICAgaWYgKCRub2Rpcl9uYW1lIGVxICdFWFRSQScp CgkJewoJCSAgZXJyb3IgKCR3aGVyZSwKCQkJICInJG9uZV9uYW1lJyBjb250YWlucyBjb25m aWd1cmUgc3Vic3RpdHV0aW9uLCAiCgkJCSAuICJidXQgc2hvdWxkbid0Iik7CgkJfQoJICAg ICAgIyBDaGVjayBoZXJlIHRvIG1ha2Ugc3VyZSB2YXJpYWJsZXMgZGVmaW5lZCBpbgoJICAg ICAgIyBjb25maWd1cmUuYWMgZG8gbm90IGltcGx5IHRoYXQgRVhUUkFfUFJJTUFSWQoJICAg ICAgIyBtdXN0IGJlIGRlZmluZWQuCgkgICAgICBlbHNpZiAoISBkZWZpbmVkICRjb25maWd1 cmVfdmFyc3skb25lX25hbWV9KQoJCXsKCQkgICRyZXF1aXJlX2V4dHJhID0gJG9uZV9uYW1l CgkJICAgIGlmICRkb19yZXF1aXJlOwoJCX0KCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAg ICAjIFN0cmlwIGFueSAkKEVYRUVYVCkgc3VmZml4IHRoZSB1c2VyIG1pZ2h0IGhhdmUgYWRk ZWQsCiAgICAgICAgICAgICAgIyBvciB0aGlzIHdpbGwgY29uZnVzZSBoYW5kbGVfc291cmNl X3RyYW5zZm9ybSgpIGFuZAogICAgICAgICAgICAgICMgY2hlY2tfY2Fub25pY2FsX3NwZWxs aW5nKCkuCgkgICAgICAjIFdlJ2xsIGFkZCAkKEVYRUVYVCkgYmFjayBsYXRlciBhbnl3YXku CgkgICAgICAjIERvIGl0IGhlcmUgcmF0aGVyIHRoYW4gaW4gaGFuZGxlX3Byb2dyYW1zIHNv IHRoZQogICAgICAgICAgICAgICMgdW5pcXVpZnlpbmcgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1 bmN0aW9uIHdvcmtzLgoJICAgICAgJHskbG9jdmFsc31bMV0gPX4gcy9cJFwoRVhFRVhUXCkk Ly8KCSAgICAgICAgaWYgJHByaW1hcnkgZXEgJ1BST0dSQU1TJzsKCgkgICAgICBwdXNoIChA cmVzdWx0LCAkbG9jdmFscyk7CgkgICAgfQoJfQogICAgICAjIEEgYmxhdGFudCBoYWNrOiB3 ZSByZXdyaXRlIGVhY2ggX1BST0dSQU1TIHByaW1hcnkgdG8gaW5jbHVkZQogICAgICAjIEVY RUVYVC4KICAgICAgYXBwZW5kX2V4ZWV4dCB7IDEgfSAkb25lX25hbWUKCWlmICRwcmltYXJ5 IGVxICdQUk9HUkFNUyc7CiAgICAgICMgIkVYVFJBIiBzaG91bGRuJ3QgYmUgdXNlZCB3aGVu IGdlbmVyYXRpbmcgY2xlYW4gdGFyZ2V0cywKICAgICAgIyBhbGwsIG9yIGluc3RhbGwgdGFy Z2V0cy4gIFdlIHVzZWQgdG8gd2FybiBpZiBFWFRSQV9GT08gd2FzCiAgICAgICMgZGVmaW5l ZCB1c2VsZXNzbHksIGJ1dCB0aGlzIHdhcyBhbm5veWluZy4KICAgICAgbmV4dAoJaWYgJG5v ZGlyX25hbWUgZXEgJ0VYVFJBJzsKCiAgICAgIGlmICgkbm9kaXJfbmFtZSBlcSAnY2hlY2sn KQoJewoJICBwdXNoIChAY2hlY2ssICckKCcgLiAkb25lX25hbWUgLiAnKScpOwoJfQogICAg ICBlbHNlCgl7CgkgIHB1c2ggKEB1c2VkLCAnJCgnIC4gJG9uZV9uYW1lIC4gJyknKTsKCX0K CiAgICAgICMgSXMgdGhpcyB0byBiZSBpbnN0YWxsZWQ/CiAgICAgIG15ICRpbnN0YWxsX3Ag PSAkbm9kaXJfbmFtZSBuZSAnbm9pbnN0JyAmJiAkbm9kaXJfbmFtZSBuZSAnY2hlY2snOwoK ICAgICAgIyBJZiBzbywgd2l0aCBpbnN0YWxsLWV4ZWM/IChvciBpbnN0YWxsLWRhdGE/KS4K ICAgICAgbXkgJGV4ZWNfcCA9ICgkbm9kaXJfbmFtZSA9fiAvJEVYRUNfRElSX1BBVFRFUk4v byk7CgogICAgICBteSAkY2hlY2tfb3B0aW9uc19wID0gJGluc3RhbGxfcCAmJiAhISBvcHRp b24gJ3N0ZC1vcHRpb25zJzsKCiAgICAgICMgVXNlIHRoZSBsb2NhdGlvbiBvZiB0aGUgY3Vy cmVudGx5IHByb2Nlc3NlZCB2YXJpYWJsZSBhcyBjb250ZXh0LgogICAgICAkd2hlcmUtPnB1 c2hfY29udGV4dCAoIndoaWxlIHByb2Nlc3NpbmcgJyRvbmVfbmFtZSciKTsKCiAgICAgICMg VGhlIHZhcmlhYmxlIGNvbnRhaW5pbmcgYWxsIGZpbGVzIHRvIGRpc3RyaWJ1dGUuCiAgICAg IG15ICRkaXN0dmFyID0gIlwkKCRvbmVfbmFtZSkiOwogICAgICAkZGlzdHZhciA9IHNoYWRv d191bmNvbmRpdGlvbmFsbHkgKCRvbmVfbmFtZSwgJHdoZXJlKQoJaWYgKCRkaXN0X3AgJiYg JG9uZV92YXItPmhhc19jb25kaXRpb25hbF9jb250ZW50cyk7CgogICAgICAjIFNpbmd1bGFy IGZvcm0gb2YgJFBSSU1BUlkuCiAgICAgIChteSAkb25lX3ByaW1hcnkgPSAkcHJpbWFyeSkg PX4gcy9TJC8vOwogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCRmaWxl LCAkd2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJJTUFS WSAgICAgPT4gJHByaW1hcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT05FX1BSSU1BUlkgPT4gJG9uZV9wcmltYXJ5LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERJUiAgICAgICAgID0+ICRYLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5ESVIgICAgICAgID0+ICRub2Rpcl9uYW1lLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJBU0UgICAgICAgID0+ICRzdHJpcF9z dWJkaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhFQyAgICAg ICAgPT4gJGV4ZWNfcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ TlNUQUxMICAgICA9PiAkaW5zdGFsbF9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERJU1QgICAgICAgID0+ICRkaXN0X3AsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRElTVFZBUiAgICAgPT4gJGRpc3R2YXIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NLLU9QVFMnICAgPT4gJGNoZWNrX29wdGlv bnNfcCk7CiAgICB9CgogICMgVGhlIEpBVkEgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgbmFt ZSBvZiB0aGUgSmF2YSBpbnRlcnByZXRlci4KICAjIFRoZSBQWVRIT04gdmFyaWFibGUgaXMg dXNlZCBhcyB0aGUgbmFtZSBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyLgogIGlmIChAdXNl ZCAmJiAkcHJpbWFyeSBuZSAnSkFWQScgJiYgJHByaW1hcnkgbmUgJ1BZVEhPTicpCiAgICB7 CiAgICAgICMgRGVmaW5lIGl0LgogICAgICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgkcHJp bWFyeSwgVFJVRSwgSU5URVJOQUwsIEB1c2VkKTsKICAgICAgJG91dHB1dF92YXJzIC49ICJc biI7CiAgICB9CgogIGVycl92YXIgKCRyZXF1aXJlX2V4dHJhLAoJICAgIickcmVxdWlyZV9l eHRyYScgY29udGFpbnMgY29uZmlndXJlIHN1YnN0aXR1dGlvbixcbiIKCSAgIC4gImJ1dCAn RVhUUkFfJHByaW1hcnknIG5vdCBkZWZpbmVkIikKICAgIGlmICgkcmVxdWlyZV9leHRyYSAm JiAhIHZhciAoJ0VYVFJBXycgLiAkcHJpbWFyeSkpOwoKICAjIFB1c2ggaGVyZSBiZWNhdXNl IFBSSU1BUlkgbWlnaHQgYmUgY29uZmlndXJlIHRpbWUgZGV0ZXJtaW5lZC4KICBwdXNoIChA YWxsLCAnJCgnIC4gJHByaW1hcnkgLiAnKScpCiAgICBpZiBAdXNlZCAmJiAkcHJpbWFyeSBu ZSAnSkFWQScgJiYgJHByaW1hcnkgbmUgJ1BZVEhPTic7CgogICMgTWFrZSB0aGUgcmVzdWx0 IHVuaXF1ZS4gIFRoaXMgbGV0cyB0aGUgdXNlciB1c2UgY29uZGl0aW9uYWxzIGluCiAgIyBh IG5hdHVyYWwgd2F5LCBidXQgc3RpbGwgbGV0cyB1cyBwcm9ncmFtIGxhemlseSAtLSB3ZSBk b24ndCBoYXZlCiAgIyB0byB3b3JyeSBhYm91dCBoYW5kbGluZyBhIHBhcnRpY3VsYXIgb2Jq ZWN0IG1vcmUgdGhhbiBvbmNlLgogICMgV2Ugd2lsbCBrZWVwIG9ubHkgb25lIGxvY2F0aW9u IHBlciBvYmplY3QuCiAgbXkgJXJlc3VsdCA9ICgpOwogIGZvciBteSAkcGFpciAoQHJlc3Vs dCkKICAgIHsKICAgICAgbXkgKCRsb2MsICR2YWwpID0gQCRwYWlyOwogICAgICAkcmVzdWx0 eyR2YWx9ID0gJGxvYzsKICAgIH0KICBteSBAbCA9IHNvcnQga2V5cyAlcmVzdWx0OwogIHJl dHVybiBtYXAgeyBbJHJlc3VsdHskX30tPmNsb25lLCAkX10gfSBAbDsKfQoKCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCiMgRWFjaCBrZXkgaW4gdGhpcyBoYXNoIGlzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5 IGhvbGRpbmcgYQojIE1ha2VmaWxlLmluLiAgVGhlc2UgdmFyaWFibGVzIGFyZSBsb2NhbCB0 byAnaXNfbWFrZV9kaXInLgpteSAlbWFrZV9kaXJzID0gKCk7Cm15ICRtYWtlX2RpcnNfc2V0 ID0gMDsKCiMgaXNfbWFrZV9kaXIgKCRESVJFQ1RPUlkpCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCnN1YiBpc19tYWtlX2Rpcgp7CiAgICBteSAoJGRpcikgPSBAXzsKICAgIGlmICgh ICRtYWtlX2RpcnNfc2V0KQogICAgewoJZm9yZWFjaCBteSAkaXRlciAoQGNvbmZpZ3VyZV9p bnB1dF9maWxlcykKCXsKCSAgICAkbWFrZV9kaXJze2Rpcm5hbWUgKCRpdGVyKX0gPSAxOwoJ fQoJIyBXZSBhbHNvIHdhbnQgdG8gbm90aWNlIE1ha2VmaWxlLmluJ3MuCglmb3JlYWNoIG15 ICRpdGVyIChAb3RoZXJfaW5wdXRfZmlsZXMpCgl7CgkgICAgaWYgKCRpdGVyID1+IC9NYWtl ZmlsZVwuaW4kLykKCSAgICB7CgkJJG1ha2VfZGlyc3tkaXJuYW1lICgkaXRlcil9ID0gMTsK CSAgICB9Cgl9CgkkbWFrZV9kaXJzX3NldCA9IDE7CiAgICB9CiAgICByZXR1cm4gZGVmaW5l ZCAkbWFrZV9kaXJzeyRkaXJ9Owp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEZpbmQgdGhlIGF1eCBkaXIu ICBUaGlzIHNob3VsZCBtYXRjaCB0aGUgYWxnb3JpdGhtIHVzZWQgYnkKIyAuL2NvbmZpZ3Vy ZS4gKFNlZSB0aGUgQXV0b2NvbmYgZG9jdW1lbnRhdGlvbiBmb3IgZm9yCiMgQUNfQ09ORklH X0FVWF9ESVIuKQpzdWIgbG9jYXRlX2F1eF9kaXIgKCkKewogIGlmICghICRjb25maWdfYXV4 X2Rpcl9zZXRfaW5fY29uZmlndXJlX2FjKQogICAgewogICAgICAjIFRoZSBkZWZhdWx0IGF1 eGlsaWFyeSBkaXJlY3RvcnkgaXMgdGhlIGZpcnN0CiAgICAgICMgb2YgLiwgLi4sIG9yIC4u Ly4uIHRoYXQgY29udGFpbnMgaW5zdGFsbC1zaC4KICAgICAgIyBBc3N1bWUgLiBpZiBpbnN0 YWxsLXNoIGRvZXNuJ3QgZXhpc3QgeWV0LgogICAgICBmb3IgbXkgJGRpciAocXcgKC4gLi4g Li4vLi4pKQoJewoJICBpZiAoLWYgIiRkaXIvaW5zdGFsbC1zaCIpCgkgICAgewoJICAgICAg JGNvbmZpZ19hdXhfZGlyID0gJGRpcjsKCSAgICAgIGxhc3Q7CgkgICAgfQoJfQogICAgICAk Y29uZmlnX2F1eF9kaXIgPSAnLicgdW5sZXNzICRjb25maWdfYXV4X2RpcjsKICAgIH0KICAj IEF2b2lkIHVuc2lnaHRseSAnLy4ncy4KICAkYW1fY29uZmlnX2F1eF9kaXIgPQogICAgJyQo dG9wX3NyY2RpciknIC4gKCRjb25maWdfYXV4X2RpciBlcSAnLicgPyAiIiA6ICIvJGNvbmZp Z19hdXhfZGlyIik7CiAgJGFtX2NvbmZpZ19hdXhfZGlyID1+IHMsLyokLCw7Cn0KCgojIHB1 c2hfcmVxdWlyZWRfZmlsZSAoJERJUiwgJEZJTEUsICRGVUxMRklMRSkKIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHVzaCB0aGUgZ2l2ZW4gZmls ZSBvbnRvIERJU1RfQ09NTU9OLgpzdWIgcHVzaF9yZXF1aXJlZF9maWxlCnsKICBteSAoJGRp ciwgJGZpbGUsICRmdWxsZmlsZSkgPSBAXzsKCiAgIyBJZiB0aGUgZmlsZSB0byBiZSBkaXN0 cmlidXRlZCBpcyBpbiB0aGUgc2FtZSBkaXJlY3Rvcnkgb2YgdGhlCiAgIyBjdXJyZW50bHkg cHJvY2Vzc2VkIE1ha2VmaWxlLmFtLCB0aGVuIHdlIHdhbnQgdG8gZGlzdHJpYnV0ZSBpdAog ICMgZnJvbSB0aGlzIHNhbWUgTWFrZWZpbGUuYW0uCiAgaWYgKCRkaXIgZXEgJHJlbGF0aXZl X2RpcikKICAgIHsKICAgICAgcHVzaF9kaXN0X2NvbW1vbiAoJGZpbGUpOwogICAgfQogICMg VGhpcyBpcyBuZWVkZWQgdG8gYWxsb3cgYSBjb25zdHJ1Y3QgaW4gYSBub24tdG9wLWxldmVs IE1ha2VmaWxlLmFtCiAgIyB0byByZXF1aXJlIGEgZmlsZSBpbiB0aGUgYnVpbGQtYXV4IGRp cmVjdG9yeSAoc2VlIGF0IGxlYXN0IHRoZSB0ZXN0CiAgIyBzY3JpcHQgJ3Rlc3QtZHJpdmVy LWlzLWRpc3RyaWJ1dGVkLnNoJykuICBUaGlzIGlzIHJlbGF0ZWQgdG8gdGhlCiAgIyBhdXRv bWFrZSBidWcjOTU0Ni4gIE5vdGUgdGhhdCB0aGUgdXNlIG9mICRjb25maWdfYXV4X2RpciBp bnN0ZWFkCiAgIyBvZiAkYW1fY29uZmlnX2F1eF9kaXIgaGVyZSBpcyBkZWxpYmVyYXRlIGFu ZCBuZWNlc3NhcnkuCiAgZWxzaWYgKCRkaXIgZXEgJGNvbmZpZ19hdXhfZGlyKQogICAgewog ICAgICBwdXNoX2Rpc3RfY29tbW9uICgiJGFtX2NvbmZpZ19hdXhfZGlyLyRmaWxlIik7CiAg ICB9CiAgIyBGSVhNRTogYW5vdGhlciBzcGFjaWFsIGNhc2UsIGZvciBBQ19MSUJPQkovQUNf TElCU09VUkNFIHN1cHBvcnQuCiAgIyBXZSBwcm9iYWJseSBuZWVkIHNvbWUgcmVmYWN0b3Jp bmcgb2YgdGhpcyBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlcnMsCiAgIyB0byBoYXZlIGEgbW9y ZSBleHBsaWNpdCBhbmQgc3lzdGVtYXRpYyBoYW5kbGluZyBvZiBhbGwgdGhlIHNwZWNpYWwK ICAjIGNhc2VzOyBidXQsIHNpbmNlIHRoZXJlIGFyZSBvbmx5IHR3byBvZiB0aGVtLCB0aGlz IGlzIGxvdy1wcmlvcml0eQogICMgQVRNLgogIGVsc2lmICgkY29uZmlnX2xpYm9ial9kaXIg JiYgJGRpciBlcSAkY29uZmlnX2xpYm9ial9kaXIpCiAgICB7CiAgICAgICMgQXZvaWQgdW5z aWdodGx5ICcvLidzLgogICAgICBteSAkYW1fY29uZmlnX2xpYm9ial9kaXIgPQogICAgICAg ICckKHRvcF9zcmNkaXIpJyAuCiAgICAgICAgKCRjb25maWdfbGlib2JqX2RpciBlcSAnLicg PyAiIiA6ICIvJGNvbmZpZ19saWJvYmpfZGlyIik7CiAgICAgICRhbV9jb25maWdfbGlib2Jq X2RpciA9fiBzfC8qJHx8OwogICAgICBwdXNoX2Rpc3RfY29tbW9uICgiJGFtX2NvbmZpZ19s aWJvYmpfZGlyLyRmaWxlIik7CiAgICB9CiAgZWxzaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4n ICYmICEgaXNfbWFrZV9kaXIgKCRkaXIpKQogICAgewogICAgICAjIElmIHdlIGFyZSBkb2lu ZyB0aGUgdG9wbW9zdCBkaXJlY3RvcnksIGFuZCB0aGUgZmlsZSBpcyBpbiBhCiAgICAgICMg c3ViZGlyIHdoaWNoIGRvZXMgbm90IGhhdmUgYSBNYWtlZmlsZSwgdGhlbiB3ZSBkaXN0cmli dXRlIGl0CiAgICAgICMgaGVyZS4KCiAgICAgICMgSWYgYSByZXF1aXJlZCBmaWxlIGlzIGFi b3ZlIHRoZSBzb3VyY2UgdHJlZSwgaXQgaXMgaW1wb3J0YW50CiAgICAgICMgdG8gcHJlZml4 IGl0IHdpdGggJyQoc3JjZGlyKScgc28gdGhhdCBubyBWUEFUSCBzZWFyY2ggaXMKICAgICAg IyBwZXJmb3JtZWQuICBPdGhlcndpc2UgcHJvYmxlbXMgb2NjdXIgd2l0aCBNYWtlIGltcGxl bWVudGF0aW9ucwogICAgICAjIHRoYXQgcmV3cml0ZSBhbmQgc2ltcGxpZnkgcnVsZXMgd2hv c2UgZGVwZW5kZW5jaWVzIGFyZSBmb3VuZCBpbiBhCiAgICAgICMgVlBBVEggbG9jYXRpb24u ICBIZXJlIGlzIGFuIGV4YW1wbGUgd2l0aCBPU0YxL1RydTY0IE1ha2UuCiAgICAgICMKICAg ICAgIyAgICUgY2F0IE1ha2VmaWxlCiAgICAgICMgICBWUEFUSCA9IHN1YgogICAgICAjICAg ZGlzdGRpcjogLi4vYQogICAgICAjCSAgICAgICAgICBlY2hvIC4uL2EKICAgICAgIyAgICUg bHMKICAgICAgIyAgIE1ha2VmaWxlIGEKICAgICAgIyAgICUgbWFrZQogICAgICAjICAgZWNo byBhCiAgICAgICMgICBhCiAgICAgICMKICAgICAgIyBEZXBlbmRlbmN5ICcuLi9hJyB3YXMg Zm91bmQgaW4gJ3N1Yi8uLi9hJywgYnV0IHRoaXMgbWFrZQogICAgICAjIGltcGxlbWVudGF0 aW9uIHNpbXBsaWZpZWQgaXQgYXMgJ2EnLiAgKE5vdGUgdGhhdCB0aGUgc3ViLwogICAgICAj IGRpcmVjdG9yeSBkb2VzIG5vdCBldmVuIGV4aXN0LikKICAgICAgIwogICAgICAjIFRoaXMg a2luZCBvZiBWUEFUSCByZXdyaXRpbmcgc2VlbXMgaGFyZCB0byBjYW5jZWwuICBUaGUKICAg ICAgIyBkaXN0ZGlyLmFtIGhhY2sgYWdhaW5zdCBWUEFUSCByZXdyaXRpbmcgd29ya3Mgb25s eSB3aGVuIG5vCiAgICAgICMgc2ltcGxpZmljYXRpb24gaXMgZG9uZSwgaS5lLiwgZm9yIGRl cGVuZGVuY2llcyB3aGljaCBhcmUgaW4KICAgICAgIyBzdWJkaXJlY3Rvcmllcywgbm90IGlu IGVuY2xvc2luZyBkaXJlY3Rvcmllcy4gIEhlbmNlLCBpbgogICAgICAjIHRoZSBsYXR0ZXIg Y2FzZSB3ZSB1c2UgYSBmdWxsIHBhdGggdG8gbWFrZSBzdXJlIG5vIFZQQVRICiAgICAgICMg c2VhcmNoIG9jY3Vycy4KICAgICAgJGZ1bGxmaWxlID0gJyQoc3JjZGlyKS8nIC4gJGZ1bGxm aWxlCglpZiAkZGlyID1+IG0sXlwuXC4oPzokfC8pLDsKCiAgICAgIHB1c2hfZGlzdF9jb21t b24gKCRmdWxsZmlsZSk7CiAgICB9CiAgZWxzZQogICAgewogICAgICBwcm9nX2Vycm9yICJh IE1ha2VmaWxlIGluIHJlbGF0aXZlIGRpcmVjdG9yeSAkcmVsYXRpdmVfZGlyICIgLgogICAg ICAgICAgICAgICAgICJjYW4ndCBhZGQgZmlsZXMgaW4gZGlyZWN0b3J5ICRkaXIgdG8gRElT VF9DT01NT04iOwogICAgfQp9CgoKIyBJZiBhIGZpbGUgbmFtZSBhcHBlYXJzIGFzIGEga2V5 IGluIHRoaXMgaGFzaCwgdGhlbiBpdCBoYXMgYWxyZWFkeQojIGJlZW4gY2hlY2tlZCBmb3Iu ICBUaGlzIGFsbG93cyB1cyBub3QgdG8gcmVwb3J0IHRoZSBzYW1lIGVycm9yIG1vcmUKIyB0 aGFuIG9uY2UuCm15ICVyZXF1aXJlZF9maWxlX25vdF9mb3VuZCA9ICgpOwoKIyByZXF1aXJl ZF9maWxlX2NoZWNrX29yX2NvcHkgKCRXSEVSRSwgJERJUkVDVE9SWSwgJEZJTEUpCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IFZlcmlmeSB0aGF0IHRoZSBmaWxlIG11c3QgZXhpc3QgaW4gJERJUkVDVE9SWSwgb3IgaW5z dGFsbCBpdC4Kc3ViIHJlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29weQp7CiAgbXkgKCR3aGVy ZSwgJGRpciwgJGZpbGUpID0gQF87CgogIG15ICRmdWxsZmlsZSA9ICIkZGlyLyRmaWxlIjsK ICBteSAkZm91bmRfaXQgPSAwOwogIG15ICRkYW5nbGluZ19zeW0gPSAwOwoKICBpZiAoLWwg JGZ1bGxmaWxlICYmICEgLWYgJGZ1bGxmaWxlKQogICAgewogICAgICAkZGFuZ2xpbmdfc3lt ID0gMTsKICAgIH0KICBlbHNpZiAoZGlyX2hhc19jYXNlX21hdGNoaW5nX2ZpbGUgKCRkaXIs ICRmaWxlKSkKICAgIHsKICAgICAgJGZvdW5kX2l0ID0gMTsKICAgIH0KCiAgIyAnLS1mb3Jj ZS1taXNzaW5nJyBvbmx5IGhhcyBhbiBlZmZlY3QgaWYgJy0tYWRkLW1pc3NpbmcnIGlzCiAg IyBzcGVjaWZpZWQuCiAgcmV0dXJuCiAgICBpZiAkZm91bmRfaXQgJiYgKCEgJGFkZF9taXNz aW5nIHx8ICEgJGZvcmNlX21pc3NpbmcpOwoKICAjIElmIHdlJ3ZlIGFscmVhZHkgbG9va2Vk IGZvciBpdCwgd2UncmUgZG9uZS4gIFlvdSBtaWdodCB3b25kZXIgd2h5IHdlCiAgIyBkb24n dCBkbyB0aGlzIGJlZm9yZSBzZWFyY2hpbmcgZm9yIHRoZSBmaWxlLiAgSWYgd2UgZG8gdGhh dCwgdGhlbgogICMgc29tZXRoaW5nIGxpa2UgQUNfT1VUUFVUKFtzdWJkaXIvZm9vIGZvb10p IHdpbGwgZmFpbCB0byBwdXQgJ2Zvby5pbicKICAjIGludG8gJChESVNUX0NPTU1PTikuCiAg aWYgKCEgJGZvdW5kX2l0KQogICAgewogICAgICByZXR1cm4gaWYgZGVmaW5lZCAkcmVxdWly ZWRfZmlsZV9ub3RfZm91bmR7JGZ1bGxmaWxlfTsKICAgICAgJHJlcXVpcmVkX2ZpbGVfbm90 X2ZvdW5keyRmdWxsZmlsZX0gPSAxOwogICAgfQogIGlmICgkZGFuZ2xpbmdfc3ltICYmICRh ZGRfbWlzc2luZykKICAgIHsKICAgICAgdW5saW5rICgkZnVsbGZpbGUpOwogICAgfQoKICBt eSAkdHJhaWxlciA9ICcnOwogIG15ICR0cmFpbGVyMiA9ICcnOwogIG15ICRzdXBwcmVzcyA9 IDA7CgogICMgT25seSBpbnN0YWxsIG1pc3NpbmcgZmlsZXMgYWNjb3JkaW5nIHRvIG91ciBk ZXNpcmVkCiAgIyBzdHJpY3RuZXNzIGxldmVsLgogIG15ICRtZXNzYWdlID0gInJlcXVpcmVk IGZpbGUgJyRmdWxsZmlsZScgbm90IGZvdW5kIjsKICBpZiAoJGFkZF9taXNzaW5nKQogICAg ewogICAgICBpZiAoLWYgIiRsaWJkaXIvJGZpbGUiKQogICAgICAgIHsKICAgICAgICAgICRz dXBwcmVzcyA9IDE7CgogICAgICAgICAgIyBJbnN0YWxsIHRoZSBtaXNzaW5nIGZpbGUuICBT eW1saW5rIGlmIHdlCiAgICAgICAgICAjIGNhbiwgY29weSBpZiB3ZSBtdXN0LiAgTm90ZTog ZGVsZXRlIHRoZSBmaWxlCiAgICAgICAgICAjIGZpcnN0LCBpbiBjYXNlIGl0IGlzIGEgZGFu Z2xpbmcgc3ltbGluay4KICAgICAgICAgICRtZXNzYWdlID0gImluc3RhbGxpbmcgJyRmdWxs ZmlsZSciOwoKICAgICAgICAgICMgVGhlIGxpY2Vuc2UgZmlsZSBzaG91bGQgbm90IGJlIHZv bGF0aWxlLgogICAgICAgICAgaWYgKCRmaWxlIGVxICJDT1BZSU5HIikKICAgICAgICAgICAg ewogICAgICAgICAgICAgICRtZXNzYWdlIC49ICIgdXNpbmcgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgdjMgZmlsZSI7CiAgICAgICAgICAgICAgJHRyYWlsZXIyID0gIlxuICAgIENv bnNpZGVyIGFkZGluZyB0aGUgQ09QWUlORyBmaWxlIgogICAgICAgICAgICAgICAgICAgICAg ICAuICIgdG8gdGhlIHZlcnNpb24gY29udHJvbCBzeXN0ZW0iCiAgICAgICAgICAgICAgICAg ICAgICAgIC4gIlxuICAgIGZvciB5b3VyIGNvZGUsIHRvIGF2b2lkIHF1ZXN0aW9ucyIKICAg ICAgICAgICAgICAgICAgICAgICAgLiAiIGFib3V0IHdoaWNoIGxpY2Vuc2UgeW91ciBwcm9q ZWN0IHVzZXMiOwogICAgICAgICAgICB9CgogICAgICAgICAgIyBXaW5kb3dzIFBlcmwgd2ls bCBoYW5nIGlmIHdlIHRyeSB0byBkZWxldGUgYQogICAgICAgICAgIyBmaWxlIHRoYXQgZG9l c24ndCBleGlzdC4KICAgICAgICAgIHVubGluayAoJGZ1bGxmaWxlKSBpZiAtZiAkZnVsbGZp bGU7CiAgICAgICAgICBpZiAoJHN5bWxpbmtfZXhpc3RzICYmICEgJGNvcHlfbWlzc2luZykK ICAgICAgICAgICAgewogICAgICAgICAgICAgIGlmICghIHN5bWxpbmsgKCIkbGliZGlyLyRm aWxlIiwgJGZ1bGxmaWxlKQogICAgICAgICAgICAgICAgICB8fCAhIC1lICRmdWxsZmlsZSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgJHN1cHByZXNzID0gMDsKICAg ICAgICAgICAgICAgICAgJHRyYWlsZXIgPSAiOyBlcnJvciB3aGlsZSBtYWtpbmcgbGluazog JCEiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICBlbHNpZiAo c3lzdGVtICgnY3AnLCAiJGxpYmRpci8kZmlsZSIsICRmdWxsZmlsZSkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAkc3VwcHJlc3MgPSAwOwogICAgICAgICAgICAgICR0cmFpbGVy ID0gIlxuICAgIGVycm9yIHdoaWxlIGNvcHlpbmciOwogICAgICAgICAgICB9CiAgICAgICAg ICBzZXRfZGlyX2NhY2hlX2ZpbGUgKCRkaXIsICRmaWxlKTsKICAgICAgICB9CiAgICB9CiAg ZWxzZQogICAgewogICAgICAkdHJhaWxlciA9ICJcbiAgJ2F1dG9tYWtlIC0tYWRkLW1pc3Np bmcnIGNhbiBpbnN0YWxsICckZmlsZSciCiAgICAgICAgaWYgLWYgIiRsaWJkaXIvJGZpbGUi OwogICAgfQoKICAjIElmIC0tZm9yY2UtbWlzc2luZyB3YXMgc3BlY2lmaWVkLCBhbmQgd2Ug aGF2ZQogICMgYWN0dWFsbHkgZm91bmQgdGhlIGZpbGUsIHRoZW4gZG8gbm90aGluZy4KICBy ZXR1cm4KICAgIGlmICRmb3VuZF9pdCAmJiAkZm9yY2VfbWlzc2luZzsKCiAgIyBJZiB3ZSBj b3VsZG4ndCBpbnN0YWxsIHRoZSBmaWxlLCBidXQgaXQgaXMgYSB0YXJnZXQgaW4KICAjIHRo ZSBNYWtlZmlsZSwgZG9uJ3QgcHJpbnQgYW55dGhpbmcuICBUaGlzIGFsbG93cyBmaWxlcwog ICMgbGlrZSBSRUFETUUsIEFVVEhPUlMsIG9yIFRIQU5LUyB0byBiZSBnZW5lcmF0ZWQuCiAg cmV0dXJuCiAgICBpZiAhJHN1cHByZXNzICYmIHJ1bGUgJGZpbGU7CgogIG1zZyAoJHN1cHBy ZXNzID8gJ25vdGUnIDogJ2Vycm9yJywgJHdoZXJlLCAiJG1lc3NhZ2UkdHJhaWxlciR0cmFp bGVyMiIpOwp9CgoKIyByZXF1aXJlX2ZpbGVfaW50ZXJuYWwgKCRXSEVSRSwgJE1ZU1RSSUNU LCAkRElSRUNUT1JZLCAkUVVFVUUsIEBGSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBWZXJp ZnkgdGhhdCB0aGUgZmlsZSBtdXN0IGV4aXN0IGluICRESVJFQ1RPUlksIG9yIGluc3RhbGwg aXQuCiMgJE1ZU1RSSUNUIGlzIHRoZSBzdHJpY3RuZXNzIGxldmVsIGF0IHdoaWNoIHRoaXMg ZmlsZSBiZWNvbWVzIHJlcXVpcmVkLgojIFdvcmtlciB0aHJlYWRzIG1heSBxdWV1ZSB1cCB0 aGUgYWN0aW9uIHRvIGJlIHNlcmlhbGl6ZWQgYnkgdGhlIG1hc3RlciwKIyBpZiAkUVVFVUUg aXMgdHJ1ZQpzdWIgcmVxdWlyZV9maWxlX2ludGVybmFsCnsKICBteSAoJHdoZXJlLCAkbXlz dHJpY3QsICRkaXIsICRxdWV1ZSwgQGZpbGVzKSA9IEBfOwoKICByZXR1cm4KICAgIHVubGVz cyAkc3RyaWN0bmVzcyA+PSAkbXlzdHJpY3Q7CgogIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxl cykKICAgIHsKICAgICAgcHVzaF9yZXF1aXJlZF9maWxlICgkZGlyLCAkZmlsZSwgIiRkaXIv JGZpbGUiKTsKICAgICAgaWYgKCRxdWV1ZSkKICAgICAgICB7CiAgICAgICAgICBxdWV1ZV9y ZXF1aXJlZF9maWxlX2NoZWNrX29yX2NvcHkgKCRyZXF1aXJlZF9jb25mX2ZpbGVfcXVldWUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFVRVVFX0NP TkZfRklMRSwgJHJlbGF0aXZlX2RpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJHdoZXJlLCAkbXlzdHJpY3QsIEBmaWxlcyk7CiAgICAgICAgfQog ICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgcmVxdWlyZWRfZmlsZV9jaGVja19vcl9j b3B5ICgkd2hlcmUsICRkaXIsICRmaWxlKTsKICAgICAgICB9CiAgICB9Cn0KCiMgcmVxdWly ZV9maWxlICgkV0hFUkUsICRNWVNUUklDVCwgQEZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfZmlsZQp7CiAgICBteSAoJHdo ZXJlLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAgIHJlcXVpcmVfZmlsZV9pbnRlcm5h bCAoJHdoZXJlLCAkbXlzdHJpY3QsICRyZWxhdGl2ZV9kaXIsIDAsIEBmaWxlcyk7Cn0KCiMg cmVxdWlyZV9maWxlX3dpdGhfbWFjcm8gKCRDT05ELCAkTUFDUk8sICRNWVNUUklDVCwgQEZJ TEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfZmlsZV93aXRoX21hY3JvCnsKICAgIG15ICgkY29u ZCwgJG1hY3JvLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAgICRtYWNybyA9IHJ2YXIg KCRtYWNybykgdW5sZXNzIHJlZiAkbWFjcm87CiAgICByZXF1aXJlX2ZpbGUgKCRtYWNyby0+ cmRlZiAoJGNvbmQpLT5sb2NhdGlvbiwgJG15c3RyaWN0LCBAZmlsZXMpOwp9CgojIHJlcXVp cmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRDT05ELCAkTUFDUk8sICRNWVNUUklDVCwgQEZJ TEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQojIFJlcXVpcmUgYW4gQUNfTElCU09VUkNFZCBmaWxlLiAgSWYg QUNfQ09ORklHX0xJQk9CSl9ESVIgd2FzIGNhbGxlZCwgaXQKIyBtdXN0IGJlIGluIHRoYXQg ZGlyZWN0b3J5LiAgT3RoZXJ3aXNlIGV4cGVjdCBpdCBpbiB0aGUgY3VycmVudCBkaXJlY3Rv cnkuCnN1YiByZXF1aXJlX2xpYnNvdXJjZV93aXRoX21hY3JvCnsKICAgIG15ICgkY29uZCwg JG1hY3JvLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAgICRtYWNybyA9IHJ2YXIgKCRt YWNybykgdW5sZXNzIHJlZiAkbWFjcm87CiAgICBpZiAoJGNvbmZpZ19saWJvYmpfZGlyKQog ICAgICB7CglyZXF1aXJlX2ZpbGVfaW50ZXJuYWwgKCRtYWNyby0+cmRlZiAoJGNvbmQpLT5s b2NhdGlvbiwgJG15c3RyaWN0LAoJCQkgICAgICAgJGNvbmZpZ19saWJvYmpfZGlyLCAwLCBA ZmlsZXMpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXJlcXVpcmVfZmlsZSAoJG1hY3Jv LT5yZGVmICgkY29uZCktPmxvY2F0aW9uLCAkbXlzdHJpY3QsIEBmaWxlcyk7CiAgICAgIH0K fQoKIyBxdWV1ZV9yZXF1aXJlZF9maWxlX2NoZWNrX29yX2NvcHkgKCRRVUVVRSwgJEtFWSwg JERJUiwgJFdIRVJFLAojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJE1Z U1RSSUNULCBARklMRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIHF1ZXVlX3JlcXVpcmVkX2ZpbGVfY2hl Y2tfb3JfY29weQp7CiAgICBteSAoJHF1ZXVlLCAka2V5LCAkZGlyLCAkd2hlcmUsICRteXN0 cmljdCwgQGZpbGVzKSA9IEBfOwogICAgbXkgQHNlcmlhbF9sb2M7CiAgICBpZiAocmVmICR3 aGVyZSkKICAgICAgewogICAgICAgIEBzZXJpYWxfbG9jID0gKFFVRVVFX0xPQ0FUSU9OLCAk d2hlcmUtPnNlcmlhbGl6ZSAoKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewogICAgICAg IEBzZXJpYWxfbG9jID0gKFFVRVVFX1NUUklORywgJHdoZXJlKTsKICAgICAgfQogICAgJHF1 ZXVlLT5lbnF1ZXVlICgka2V5LCAkZGlyLCBAc2VyaWFsX2xvYywgJG15c3RyaWN0LCAwICsg QGZpbGVzLCBAZmlsZXMpOwp9CgojIHJlcXVpcmVfcXVldWVkX2ZpbGVfY2hlY2tfb3JfY29w eSAoJFFVRVVFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpzdWIgcmVxdWlyZV9xdWV1ZWRfZmlsZV9jaGVja19vcl9jb3B5CnsKICAgIG15ICgkcXVl dWUpID0gQF87CiAgICBteSAkd2hlcmU7CiAgICBteSAkZGlyID0gJHF1ZXVlLT5kZXF1ZXVl ICgpOwogICAgbXkgJGxvY19rZXkgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICBpZiAoJGxv Y19rZXkgZXEgUVVFVUVfTE9DQVRJT04pCiAgICAgIHsKCSR3aGVyZSA9IEF1dG9tYWtlOjpM b2NhdGlvbjo6ZGVzZXJpYWxpemUgKCRxdWV1ZSk7CiAgICAgIH0KICAgIGVsc2lmICgkbG9j X2tleSBlcSBRVUVVRV9TVFJJTkcpCiAgICAgIHsKCSR3aGVyZSA9ICRxdWV1ZS0+ZGVxdWV1 ZSAoKTsKICAgICAgfQogICAgZWxzZQogICAgICB7Cglwcm9nX2Vycm9yICJ1bmV4cGVjdGVk IGtleSAkbG9jX2tleSI7CiAgICAgIH0KICAgIG15ICRteXN0cmljdCA9ICRxdWV1ZS0+ZGVx dWV1ZSAoKTsKICAgIG15ICRuZmlsZXMgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICBteSBA ZmlsZXM7CiAgICBwdXNoIEBmaWxlcywgJHF1ZXVlLT5kZXF1ZXVlICgpCiAgICAgIGZvcmVh Y2ggKDEgLi4gJG5maWxlcyk7CiAgICByZXR1cm4KICAgICAgdW5sZXNzICRzdHJpY3RuZXNz ID49ICRteXN0cmljdDsKICAgIGZvcmVhY2ggbXkgJGZpbGUgKEBmaWxlcykKICAgICAgewog ICAgICAgIHJlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29weSAoJHdoZXJlLCAkY29uZmlnX2F1 eF9kaXIsICRmaWxlKTsKICAgICAgfQp9CgojIHJlcXVpcmVfY29uZl9maWxlICgkV0hFUkUs ICRNWVNUUklDVCwgQEZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQojIExvb2tzIGluIGNvbmZpZ3VyYXRpb24gcGF0aCwgYXMgc3BlY2lm aWVkIGJ5IEFDX0NPTkZJR19BVVhfRElSLgpzdWIgcmVxdWlyZV9jb25mX2ZpbGUKewogICAg bXkgKCR3aGVyZSwgJG15c3RyaWN0LCBAZmlsZXMpID0gQF87CiAgICBteSAkcXVldWUgPSBk ZWZpbmVkICRyZXF1aXJlZF9jb25mX2ZpbGVfcXVldWUgPyAxIDogMDsKICAgIHJlcXVpcmVf ZmlsZV9pbnRlcm5hbCAoJHdoZXJlLCAkbXlzdHJpY3QsICRjb25maWdfYXV4X2RpciwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXVlLCBAZmlsZXMpOwp9CgoKIyByZXF1aXJl X2NvbmZfZmlsZV93aXRoX21hY3JvICgkQ09ORCwgJE1BQ1JPLCAkTVlTVFJJQ1QsIEBGSUxF UykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfY29uZl9maWxlX3dpdGhfbWFjcm8KewogICAg bXkgKCRjb25kLCAkbWFjcm8sICRteXN0cmljdCwgQGZpbGVzKSA9IEBfOwogICAgcmVxdWly ZV9jb25mX2ZpbGUgKHJ2YXIgKCRtYWNybyktPnJkZWYgKCRjb25kKS0+bG9jYXRpb24sCgkJ ICAgICAgICRteXN0cmljdCwgQGZpbGVzKTsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyByZXF1aXJlX2J1 aWxkX2RpcmVjdG9yeSAoJERJUkVDVE9SWSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBFbWl0IHJ1bGVzIHRvIGNyZWF0ZSAkRElSRUNUT1JZIGlmIG5lZWRl ZCwgYW5kIHJldHVybgojIHRoZSBmaWxlIHRoYXQgYW55IHRhcmdldCByZXF1aXJpbmcgdGhp cyBkaXJlY3Rvcnkgc2hvdWxkIGJlIG1hZGUKIyBkZXBlbmRlbnQgdXBvbi4KIyBXZSBkb24n dCB3YW50IHRvIGVtaXQgdGhlIHJ1bGUgdHdpY2UsIGFuZCB3YW50IHRvIHJldXNlIGl0CiMg Zm9yIGRpcmVjdG9yaWVzIHdpdGggZXF1aXZhbGVudCBuYW1lcyAoZS5nLiwgJ2Zvby9iYXIn IGFuZCAnLi9mb28vL2JhcicpLgpzdWIgcmVxdWlyZV9idWlsZF9kaXJlY3RvcnkKewogIG15 ICRkaXJlY3RvcnkgPSBzaGlmdDsKCiAgcmV0dXJuICRkaXJlY3RvcnlfbWFweyRkaXJlY3Rv cnl9IGlmIGV4aXN0cyAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fTsKCiAgbXkgJGNkaXIg PSBGaWxlOjpTcGVjLT5jYW5vbnBhdGggKCRkaXJlY3RvcnkpOwoKICBpZiAoZXhpc3RzICRk aXJlY3RvcnlfbWFweyRjZGlyfSkKICAgIHsKICAgICAgbXkgJHN0YW1wID0gJGRpcmVjdG9y eV9tYXB7JGNkaXJ9OwogICAgICAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fSA9ICRzdGFt cDsKICAgICAgcmV0dXJuICRzdGFtcDsKICAgIH0KCiAgbXkgJGRpcnN0YW1wID0gIiRjZGly L1wkKGFtX19kaXJzdGFtcCkiOwoKICAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fSA9ICRk aXJzdGFtcDsKICAkZGlyZWN0b3J5X21hcHskY2Rpcn0gPSAkZGlyc3RhbXA7CgogICMgU2V0 IGEgdmFyaWFibGUgZm9yIHRoZSBkaXJzdGFtcCBiYXNlbmFtZS4KICBkZWZpbmVfcHJldHR5 X3ZhcmlhYmxlICgnYW1fX2RpcnN0YW1wJywgVFJVRSwgSU5URVJOQUwsCgkJCSAgJyQoYW1f X2xlYWRpbmdfZG90KWRpcnN0YW1wJyk7CgogICMgRGlyZWN0b3J5IG11c3QgYmUgcmVtb3Zl ZCBieSAnbWFrZSBkaXN0Y2xlYW4nLgogICRjbGVhbl9maWxlc3skZGlyc3RhbXB9ID0gRElT VF9DTEVBTjsKCiAgJG91dHB1dF9ydWxlcyAuPSAoIiRkaXJzdGFtcDpcbiIKCQkgICAgLiAi XHRcQFwkKE1LRElSX1ApICRkaXJlY3RvcnlcbiIKCQkgICAgLiAiXHRcQDogPiAkZGlyc3Rh bXBcbiIpOwoKICByZXR1cm4gJGRpcnN0YW1wOwp9CgojIHJlcXVpcmVfYnVpbGRfZGlyZWN0 b3J5X21heWJlICgkRklMRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiMgSWYgJEZJTEUgbGllcyBpbiBhIHN1YmRpcmVjdG9yeSwgZW1pdCBhIHJ1bGUgdG8g Y3JlYXRlIHRoaXMKIyBkaXJlY3RvcnkgYW5kIHJldHVybiB0aGUgZmlsZSB0aGF0ICRGSUxF IHNob3VsZCBiZSBtYWRlCiMgZGVwZW5kZW50IHVwb24uICBPdGhlcndpc2UsIGp1c3QgcmV0 dXJuIHRoZSBlbXB0eSBzdHJpbmcuCnN1YiByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeV9tYXli ZQp7CiAgICBteSAkZmlsZSA9IHNoaWZ0OwogICAgbXkgJGRpcmVjdG9yeSA9IGRpcm5hbWUg KCRmaWxlKTsKCiAgICBpZiAoJGRpcmVjdG9yeSBuZSAnLicpCiAgICB7CglyZXR1cm4gcmVx dWlyZV9idWlsZF9kaXJlY3RvcnkgKCRkaXJlY3RvcnkpOwogICAgfQogICAgZWxzZQogICAg ewoJcmV0dXJuICcnOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFB1c2ggYSBsaXN0IG9mIGZp bGVzIG9udG8gJ0BkaXN0X2NvbW1vbicuCnN1YiBwdXNoX2Rpc3RfY29tbW9uCnsKICBwcm9n X2Vycm9yICJwdXNoX2Rpc3RfY29tbW9uIHJ1biBhZnRlciBoYW5kbGVfZGlzdCIKICAgIGlm ICRoYW5kbGVfZGlzdF9ydW47CiAgcHVzaCBAZGlzdF9jb21tb24sIEBfOwp9CgoKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwoKIyBnZW5lcmF0ZV9tYWtlZmlsZSAoJE1BS0VGSUxFX0FNLCAkTUFLRUZJTEVfSU4p CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEdl bmVyYXRlIGEgTWFrZWZpbGUuaW4gZ2l2ZW4gdGhlIG5hbWUgb2YgdGhlIGNvcnJlc3BvbmRp bmcgTWFrZWZpbGUgYW5kCiMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgb3V0cHV0IGJ5IGNvbmZp Zy5zdGF0dXMuCnN1YiBnZW5lcmF0ZV9tYWtlZmlsZQp7CiAgbXkgKCRtYWtlZmlsZV9hbSwg JG1ha2VmaWxlX2luKSA9IEBfOwoKICAjIFJlc2V0IGFsbCB0aGUgTWFrZWZpbGUuYW0gcmVs YXRlZCB2YXJpYWJsZXMuCiAgaW5pdGlhbGl6ZV9wZXJfaW5wdXQ7CgogICMgQVVUT01BS0Vf T1BUSU9OUyBjYW4gY29udGFpbnMgLVcgZmxhZ3MgdG8gZGlzYWJsZSBvciBlbmFibGUKICAj IHdhcm5pbmdzIGZvciB0aGlzIGZpbGUuICBTbyBob2xkIGFueSB3YXJuaW5nIGlzc3VlZCBi ZWZvcmUKICAjIHdlIGhhdmUgcHJvY2Vzc2VkIEFVVE9NQUtFX09QVElPTlMuCiAgYnVmZmVy X21lc3NhZ2VzICgnd2FybmluZycpOwoKICAjICRPVVRQVVQgaXMgZW5jb2RlZC4gIElmIGl0 IGNvbnRhaW5zIGEgIjoiIHRoZW4gdGhlIGZpcnN0IGVsZW1lbnQKICAjIGlzIHRoZSByZWFs IG91dHB1dCBmaWxlLCBhbmQgYWxsIHJlbWFpbmluZyBlbGVtZW50cyBhcmUgaW5wdXQKICAj IGZpbGVzLiAgV2UgZG9uJ3Qgc2NhbiBvciBvdGhlcndpc2UgZGVhbCB3aXRoIHRoZXNlIGlu cHV0IGZpbGVzLAogICMgb3RoZXIgdGhhbiB0byBtYXJrIHRoZW0gYXMgZGVwZW5kZW5jaWVz LiAgU2VlIHRoZSBzdWJyb3V0aW5lCiAgIyAnc2Nhbl9hdXRvY29uZl9maWxlcycgZm9yIGRl dGFpbHMuCiAgbXkgKCRtYWtlZmlsZSwgQGlucHV0cykgPSBzcGxpdCAoLzovLCAkb3V0cHV0 X2ZpbGVzeyRtYWtlZmlsZV9pbn0pOwoKICAkcmVsYXRpdmVfZGlyID0gZGlybmFtZSAoJG1h a2VmaWxlKTsKCiAgcmVhZF9tYWluX2FtX2ZpbGUgKCRtYWtlZmlsZV9hbSwgJG1ha2VmaWxl X2luKTsKICBpZiAobm90IGhhbmRsZV9vcHRpb25zKQogICAgewogICAgICAjIFByb2Nlc3Mg YnVmZmVyZWQgd2FybmluZ3MuCiAgICAgIGZsdXNoX21lc3NhZ2VzOwogICAgICAjIEZhdGFs IGVycm9yLiAgSnVzdCByZXR1cm4sIHNvIHdlIGNhbiBjb250aW51ZSB3aXRoIG5leHQgZmls ZS4KICAgICAgcmV0dXJuOwogICAgfQogICMgUHJvY2VzcyBidWZmZXJlZCB3YXJuaW5ncy4K ICBmbHVzaF9tZXNzYWdlczsKCiAgIyBUaGVyZSBhcmUgYSBmZXcgaW5zdGFsbC1yZWxhdGVk IHZhcmlhYmxlcyB0aGF0IHlvdSBzaG91bGQgbm90IGRlZmluZS4KICBmb3JlYWNoIG15ICR2 YXIgKCdQUkVfSU5TVEFMTCcsICdQT1NUX0lOU1RBTEwnLCAnTk9STUFMX0lOU1RBTEwnKQog ICAgewogICAgICBteSAkdiA9IHZhciAkdmFyOwogICAgICBpZiAoJHYpCgl7CgkgIG15ICRk ZWYgPSAkdi0+ZGVmIChUUlVFKTsKCSAgcHJvZ19lcnJvciAiJHZhciBub3QgZGVmaW5lZCBp biBjb25kaXRpb24gVFJVRSIKCSAgICB1bmxlc3MgJGRlZjsKCSAgcmVqZWN0X3ZhciAkdmFy LCAiJyR2YXInIHNob3VsZCBub3QgYmUgZGVmaW5lZCIKCSAgICBpZiAkZGVmLT5vd25lciAh PSBWQVJfQVVUT01BS0U7Cgl9CiAgICB9CgogICMgQ2F0Y2ggc29tZSBvYnNvbGV0ZSB2YXJp YWJsZXMuCiAgbXNnX3ZhciAoJ29ic29sZXRlJywgJ0lOQ0xVREVTJywKCSAgICInSU5DTFVE RVMnIGlzIHRoZSBvbGQgbmFtZSBmb3IgJ0FNX0NQUEZMQUdTJyAob3IgJypfQ1BQRkxBR1Mn KSIpCiAgICBpZiB2YXIgKCdJTkNMVURFUycpOwoKICAjIE11c3QgZG8gdGhpcyBhZnRlciBy ZWFkaW5nIC5hbSBmaWxlLgogIGRlZmluZV92YXJpYWJsZSAoJ3N1YmRpcicsICRyZWxhdGl2 ZV9kaXIsIElOVEVSTkFMKTsKCiAgIyBJZiBESVNUX1NVQkRJUlMgaXMgZGVmaW5lZCwgbWFr ZSBzdXJlIFNVQkRJUlMgaXMsIHNvIHRoYXQKICAjIHJlY3Vyc2l2ZSBydWxlcyBhcmUgZW5h YmxlZC4KICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnU1VCRElSUycsIFRSVUUsIElOVEVS TkFMLCAnJykKICAgIGlmIHZhciAnRElTVF9TVUJESVJTJyAmJiAhIHZhciAnU1VCRElSUyc7 CgogICMgQ2hlY2sgZmlyc3QsIGJlY2F1c2Ugd2UgbWlnaHQgbW9kaWZ5IHNvbWUgc3RhdGUu CiAgY2hlY2tfZ251X3N0YW5kYXJkczsKICBjaGVja19nbml0c19zdGFuZGFyZHM7CgogIGhh bmRsZV9jb25maWd1cmUgKCRtYWtlZmlsZV9hbSwgJG1ha2VmaWxlX2luLCAkbWFrZWZpbGUs IEBpbnB1dHMpOwogIGhhbmRsZV9nZXR0ZXh0OwoKICBoYW5kbGVfdGFyZ2V0czsKICBoYW5k bGVfbGlicmFyaWVzOwogIGhhbmRsZV9sdGxpYnJhcmllczsKICBoYW5kbGVfcHJvZ3JhbXM7 CiAgaGFuZGxlX3NjcmlwdHM7CgogIGhhbmRsZV9zaWxlbnQ7CgogICMgVGhlc2UgbXVzdCBi ZSBydW4gYWZ0ZXIgYWxsIHRoZSBzb3VyY2VzIGFyZSBzY2FubmVkLiAgVGhleSB1c2UKICAj IHZhcmlhYmxlcyBkZWZpbmVkIGJ5IGhhbmRsZV9saWJyYXJpZXMoKSwgaGFuZGxlX2x0bGli cmFyaWVzKCksCiAgIyBvciBoYW5kbGVfcHJvZ3JhbXMoKS4KICBoYW5kbGVfY29tcGlsZTsK ICBoYW5kbGVfbGFuZ3VhZ2VzOwogIGhhbmRsZV9saWJ0b29sOwoKICAjIFZhcmlhYmxlcyB1 c2VkIGJ5IGRpc3RkaXIuYW0gYW5kIHRhZ3MuYW0uCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJs ZSAoJ1NPVVJDRVMnLCBUUlVFLCBJTlRFUk5BTCwgQHNvdXJjZXMpOwogIGlmICghIG9wdGlv biAnbm8tZGlzdCcpCiAgICB7CiAgICAgIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdESVNU X1NPVVJDRVMnLCBUUlVFLCBJTlRFUk5BTCwgQGRpc3Rfc291cmNlcyk7CiAgICB9CgogIGhh bmRsZV90ZXhpbmZvOwogIGhhbmRsZV9lbWFjc19saXNwOwogIGhhbmRsZV9weXRob247CiAg aGFuZGxlX2phdmE7CiAgaGFuZGxlX21hbl9wYWdlczsKICBoYW5kbGVfZGF0YTsKICBoYW5k bGVfaGVhZGVyczsKICBoYW5kbGVfc3ViZGlyczsKICBoYW5kbGVfdXNlcl9yZWN1cnNpb247 CiAgaGFuZGxlX3RhZ3M7CiAgaGFuZGxlX21pbm9yX29wdGlvbnM7CiAgIyBNdXN0IGNvbWUg YWZ0ZXIgaGFuZGxlX3Byb2dyYW1zIHNvIHRoYXQgJWtub3duX3Byb2dyYW1zIGlzIHVwLXRv LWRhdGUuCiAgaGFuZGxlX3Rlc3RzOwoKICAjIFRoaXMgbXVzdCBjb21lIGFmdGVyIG1vc3Qg b3RoZXIgcnVsZXMuCiAgaGFuZGxlX2Rpc3Q7CgogIGhhbmRsZV9mb290ZXI7CiAgZG9fY2hl Y2tfbWVyZ2VfdGFyZ2V0OwogIGhhbmRsZV9hbGwgKCRtYWtlZmlsZSk7CgogICMgRklYTUU6 IEdyb3NzIQogIGlmICh2YXIgKCdsaWJfTFRMSUJSQVJJRVMnKSAmJiB2YXIgKCdiaW5fUFJP R1JBTVMnKSkKICAgIHsKICAgICAgJG91dHB1dF9ydWxlcyAuPSAiaW5zdGFsbC1iaW5QUk9H UkFNUzogaW5zdGFsbC1saWJMVExJQlJBUklFU1xuXG4iOwogICAgfQogIGlmICh2YXIgKCdu b2Jhc2VfbGliX0xUTElCUkFSSUVTJykgJiYgdmFyICgnYmluX1BST0dSQU1TJykpCiAgICB7 CiAgICAgICRvdXRwdXRfcnVsZXMgLj0gImluc3RhbGwtYmluUFJPR1JBTVM6IGluc3RhbGwt bm9iYXNlX2xpYkxUTElCUkFSSUVTXG5cbiI7CiAgICB9CgogIGhhbmRsZV9pbnN0YWxsOwog IGhhbmRsZV9jbGVhbiAoJG1ha2VmaWxlKTsKICBoYW5kbGVfZmFjdG9yZWRfZGVwZW5kZW5j aWVzOwoKICAjIENvbWVzIGxhc3QsIGJlY2F1c2UgYWxsIHRoZSBhYm92ZSBwcm9jZWR1cmVz IG1heSBoYXZlCiAgIyBkZWZpbmVkIG9yIG92ZXJyaWRkZW4gdmFyaWFibGVzLgogICRvdXRw dXRfdmFycyAuPSBvdXRwdXRfdmFyaWFibGVzOwoKICBjaGVja190eXBvczsKCiAgaWYgKCRl eGl0X2NvZGUgIT0gMCkKICAgIHsKICAgICAgdmVyYiAibm90IHdyaXRpbmcgJG1ha2VmaWxl X2luIGJlY2F1c2Ugb2YgZWFybGllciBlcnJvcnMiOwogICAgICByZXR1cm47CiAgICB9Cgog IG15ICRhbV9yZWxhdGl2ZV9kaXIgPSBkaXJuYW1lICgkbWFrZWZpbGVfYW0pOwogIG1rZGly ICgkYW1fcmVsYXRpdmVfZGlyLCAwNzU1KSBpZiAhIC1kICRhbV9yZWxhdGl2ZV9kaXI7Cgog ICMgV2UgbWFrZSBzdXJlIHRoYXQgJ2FsbDonIGlzIHRoZSBmaXJzdCB0YXJnZXQuCiAgbXkg JG91dHB1dCA9CiAgICAiJG91dHB1dF92YXJzJG91dHB1dF9hbGwkb3V0cHV0X2hlYWRlciRv dXRwdXRfcnVsZXMkb3V0cHV0X3RyYWlsZXIiOwoKICAjIERlY2lkZSB3aGV0aGVyIHdlIG11 c3QgdXBkYXRlIHRoZSBvdXRwdXQgZmlsZSBvciBub3QuCiAgIyBXZSBoYXZlIHRvIHVwZGF0 ZSBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnMuCiAgIyAgKiAkZm9yY2VfZ2VuZXJhdGlv biBpcyBzZXQuCiAgIyAgKiBhbnkgb2YgdGhlIG91dHB1dCBkZXBlbmRlbmNpZXMgaXMgeW91 bmdlciB0aGFuIHRoZSBvdXRwdXQKICAjICAqIHRoZSBjb250ZW50cyBvZiB0aGUgb3V0cHV0 IGlzIGRpZmZlcmVudCAodGhpcyBjYW4gaGFwcGVuCiAgIyAgICBpZiB0aGUgcHJvamVjdCBo YXMgYmVlbiBwb3B1bGF0ZWQgd2l0aCBhIGZpbGUgbGlzdGVkIGluCiAgIyAgICBAY29tbW9u X2ZpbGVzIHNpbmNlIHRoZSBsYXN0IHJ1bikuCiAgIyBPdXRwdXQncyBkZXBlbmRlbmNpZXMg YXJlIHNwbGl0IGluIHR3byBzZXRzOgogICMgICogZGVwZW5kZW5jaWVzIHdoaWNoIGFyZSBh bHNvIGNvbmZpZ3VyZSBkZXBlbmRlbmNpZXMKICAjICAgIFRoZXNlIGRvIG5vdCBjaGFuZ2Ug YmV0d2VlbiBlYWNoIE1ha2VmaWxlLmFtCiAgIyAgKiBvdGhlciBkZXBlbmRlbmNpZXMsIHNw ZWNpZmljIHRvIHRoZSBNYWtlZmlsZS5hbSBiZWluZyBwcm9jZXNzZWQKICAjICAgIChzdWNo IGFzIHRoZSBNYWtlZmlsZS5hbSBpdHNlbGYsIG9yIGFueSBNYWtlZmlsZSBmcmFnbWVudAog ICMgICAgaXQgaW5jbHVkZXMpLgogIG15ICR0aW1lc3RhbXAgPSBtdGltZSAkbWFrZWZpbGVf aW47CiAgaWYgKCEgJGZvcmNlX2dlbmVyYXRpb24KICAgICAgJiYgJGNvbmZpZ3VyZV9kZXBz X2dyZWF0ZXN0X3RpbWVzdGFtcCA8ICR0aW1lc3RhbXAKICAgICAgJiYgJG91dHB1dF9kZXBz X2dyZWF0ZXN0X3RpbWVzdGFtcCA8ICR0aW1lc3RhbXAKICAgICAgJiYgJG91dHB1dCBlcSBj b250ZW50cyAoJG1ha2VmaWxlX2luKSkKICAgIHsKICAgICAgdmVyYiAiJG1ha2VmaWxlX2lu IHVuY2hhbmdlZCI7CiAgICAgICMgTm8gbmVlZCB0byB1cGRhdGUuCiAgICAgIHJldHVybjsK ICAgIH0KCiAgaWYgKC1lICRtYWtlZmlsZV9pbikKICAgIHsKICAgICAgdW5saW5rICgkbWFr ZWZpbGVfaW4pCglvciBmYXRhbCAiY2Fubm90IHJlbW92ZSAkbWFrZWZpbGVfaW46ICQhIjsK ICAgIH0KCiAgbXkgJGdtX2ZpbGUgPSBuZXcgQXV0b21ha2U6OlhGaWxlICI+ICRtYWtlZmls ZV9pbiI7CiAgdmVyYiAiY3JlYXRpbmcgJG1ha2VmaWxlX2luIjsKICBwcmludCAkZ21fZmls ZSAkb3V0cHV0Owp9CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMgSGVscGVyIGZ1bmN0aW9uIGZvciB1c2Fn ZSgpLgpzdWIgcHJpbnRfYXV0b2Rpc3RfZmlsZXMKewogIG15IEBsY29tbSA9IHVuaXEgKHNv cnQgQF8pOwoKICBteSBAZm91cjsKICBmb3JtYXQgVVNBR0VfRk9STUFUID0KICBAPDw8PDw8 PDw8PDw8PDw8PCAgIEA8PDw8PDw8PDw8PDw8PDw8ICAgQDw8PDw8PDw8PDw8PDw8PDwgICBA PDw8PDw8PDw8PDw8PDw8PAogICRmb3VyWzBdLCAgICAgICAgICAgJGZvdXJbMV0sICAgICAg ICAgICAkZm91clsyXSwgICAgICAgICAgICRmb3VyWzNdCi4KICBsb2NhbCAkfiA9ICJVU0FH RV9GT1JNQVQiOwoKICBteSAkY29scyA9IDQ7CiAgbXkgJHJvd3MgPSBpbnQoQGxjb21tIC8g JGNvbHMpOwogIG15ICRyZXN0ID0gQGxjb21tICUgJGNvbHM7CgogIGlmICgkcmVzdCkKICAg IHsKICAgICAgJHJvd3MrKzsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICRyZXN0ID0gJGNv bHM7CiAgICB9CgogIGZvciAobXkgJHkgPSAwOyAkeSA8ICRyb3dzOyAkeSsrKQogICAgewog ICAgICBAZm91ciA9ICgiIiwgIiIsICIiLCAiIik7CiAgICAgIGZvciAobXkgJHggPSAwOyAk eCA8ICRjb2xzOyAkeCsrKQogICAgICAgIHsKICAgICAgICAgIGxhc3QgaWYgJHkgKyAxID09 ICRyb3dzICYmICR4ID09ICRyZXN0OwoKICAgICAgICAgIG15ICRpZHggPSAoKCR4ID4gJHJl c3QpCiAgICAgICAgICAgICAgID8gICgkcm93cyAqICRyZXN0ICsgKCRyb3dzIC0gMSkgKiAo JHggLSAkcmVzdCkpCiAgICAgICAgICAgICAgIDogKCRyb3dzICogJHgpKTsKCiAgICAgICAg ICAkaWR4ICs9ICR5OwogICAgICAgICAgJGZvdXJbJHhdID0gJGxjb21tWyRpZHhdOwogICAg ICAgIH0KICAgICAgd3JpdGU7CiAgICB9Cn0KCgpzdWIgdXNhZ2UgKCkKewogICAgcHJpbnQg IlVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbTWFrZWZpbGVdLi4uCgpHZW5lcmF0ZSBNYWtlZmls ZS5pbiBmb3IgY29uZmlndXJlIGZyb20gTWFrZWZpbGUuYW0uCgpPcGVyYXRpb24gbW9kZXM6 CiAgICAgIC0taGVscCAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0 CiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVu IGV4aXQKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZWx5IGxpc3QgZmlsZXMg cHJvY2Vzc2VkCiAgICAgIC0tbm8tZm9yY2UgICAgICAgICAgIG9ubHkgdXBkYXRlIE1ha2Vm aWxlLmluJ3MgdGhhdCBhcmUgb3V0IG9mIGRhdGUKICAtVywgLS13YXJuaW5ncz1DQVRFR09S WSAgcmVwb3J0IHRoZSB3YXJuaW5ncyBmYWxsaW5nIGluIENBVEVHT1JZCgpEZXBlbmRlbmN5 IHRyYWNraW5nOgogIC1pLCAtLWlnbm9yZS1kZXBzICAgICAgZGlzYWJsZSBkZXBlbmRlbmN5 IHRyYWNraW5nIGNvZGUKICAgICAgLS1pbmNsdWRlLWRlcHMgICAgIGVuYWJsZSBkZXBlbmRl bmN5IHRyYWNraW5nIGNvZGUKCkZsYXZvcnM6CiAgICAgIC0tZm9yZWlnbiAgICAgICAgICBz ZXQgc3RyaWN0bmVzcyB0byBmb3JlaWduCiAgICAgIC0tZ25pdHMgICAgICAgICAgICBzZXQg c3RyaWN0bmVzcyB0byBnbml0cwogICAgICAtLWdudSAgICAgICAgICAgICAgc2V0IHN0cmlj dG5lc3MgdG8gZ251CgpMaWJyYXJ5IGZpbGVzOgogIC1hLCAtLWFkZC1taXNzaW5nICAgICAg YWRkIG1pc3Npbmcgc3RhbmRhcmQgZmlsZXMgdG8gcGFja2FnZQogICAgICAtLWxpYmRpcj1E SVIgICAgICAgc2V0IGRpcmVjdG9yeSBzdG9yaW5nIGxpYnJhcnkgZmlsZXMKICAgICAgLS1w cmludC1saWJkaXIgICAgIHByaW50IGRpcmVjdG9yeSBzdG9yaW5nIGxpYnJhcnkgZmlsZXMK ICAtYywgLS1jb3B5ICAgICAgICAgICAgIHdpdGggLWEsIGNvcHkgbWlzc2luZyBmaWxlcyAo ZGVmYXVsdCBpcyBzeW1saW5rKQogIC1mLCAtLWZvcmNlLW1pc3NpbmcgICAgZm9yY2UgdXBk YXRlIG9mIHN0YW5kYXJkIGZpbGVzCgoiOwogICAgQXV0b21ha2U6OkNoYW5uZWxEZWZzOjp1 c2FnZTsKCiAgICBwcmludCAiXG5GaWxlcyBhdXRvbWF0aWNhbGx5IGRpc3RyaWJ1dGVkIGlm IGZvdW5kICIgLgogICAgICAgICAgIihhbHdheXMpOlxuIjsKICAgIHByaW50X2F1dG9kaXN0 X2ZpbGVzIEBjb21tb25fZmlsZXM7CiAgICBwcmludCAiXG5GaWxlcyBhdXRvbWF0aWNhbGx5 IGRpc3RyaWJ1dGVkIGlmIGZvdW5kICIgLgogICAgICAgICAgIih1bmRlciBjZXJ0YWluIGNv bmRpdGlvbnMpOlxuIjsKICAgIHByaW50X2F1dG9kaXN0X2ZpbGVzIEBjb21tb25fc29tZXRp bWVzOwoKICAgIHByaW50ICcKUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1hdXRvbWFrZUBnbnUub3Jn Pi4KR05VIEF1dG9tYWtlIGhvbWUgcGFnZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvYXV0b21ha2UvPi4KR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHBz Oi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+LgonOwoKICAgICMgLS1oZWxwIGFsd2F5cyByZXR1 cm5zIDAgcGVyIEdOVSBzdGFuZGFyZHMuCiAgICBleGl0IDA7Cn0KCgpzdWIgdmVyc2lvbiAo KQp7CiAgcHJpbnQgPDxFT0Y7CmF1dG9tYWtlIChHTlUgJFBBQ0tBR0UpICRWRVJTSU9OCkNv cHlyaWdodCAoQykgJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwczov L2dudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6 IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMg Tk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KCldyaXR0ZW4g YnkgVG9tIFRyb21leSA8dHJvbWV5XEByZWRoYXQuY29tPgogICAgICAgYW5kIEFsZXhhbmRy ZSBEdXJldC1MdXR6IDxhZGxcQGdudS5vcmc+LgpFT0YKICAjIC0tdmVyc2lvbiBhbHdheXMg cmV0dXJucyAwIHBlciBHTlUgc3RhbmRhcmRzLgogIGV4aXQgMDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK IyBQYXJzZSBjb21tYW5kIGxpbmUuCnN1YiBwYXJzZV9hcmd1bWVudHMgKCkKewogIG15ICRz dHJpY3QgPSAnZ251JzsKICBteSAkaWdub3JlX2RlcHMgPSAwOwogIG15IEB3YXJuaW5ncyA9 ICgpOwoKICBteSAlY2xpX29wdGlvbnMgPQogICAgKAogICAgICd2ZXJzaW9uJyA9PiBcJnZl cnNpb24sCiAgICAgJ2hlbHAnICAgID0+IFwmdXNhZ2UsCiAgICAgJ2xpYmRpcj1zJwk9PiBc JGxpYmRpciwKICAgICAncHJpbnQtbGliZGlyJyAgICAgPT4gc3ViIHsgcHJpbnQgIiRsaWJk aXJcbiI7IGV4aXQgMDsgfSwKICAgICAnZ251JwkJPT4gc3ViIHsgJHN0cmljdCA9ICdnbnUn OyB9LAogICAgICdnbml0cycJCT0+IHN1YiB7ICRzdHJpY3QgPSAnZ25pdHMnOyB9LAogICAg ICdmb3JlaWduJwkJPT4gc3ViIHsgJHN0cmljdCA9ICdmb3JlaWduJzsgfSwKICAgICAnaW5j bHVkZS1kZXBzJwk9PiBzdWIgeyAkaWdub3JlX2RlcHMgPSAwOyB9LAogICAgICdpfGlnbm9y ZS1kZXBzJwk9PiBzdWIgeyAkaWdub3JlX2RlcHMgPSAxOyB9LAogICAgICduby1mb3JjZScJ PT4gc3ViIHsgJGZvcmNlX2dlbmVyYXRpb24gPSAwOyB9LAogICAgICdmfGZvcmNlLW1pc3Np bmcnICA9PiBcJGZvcmNlX21pc3NpbmcsCiAgICAgJ2F8YWRkLW1pc3NpbmcnCT0+IFwkYWRk X21pc3NpbmcsCiAgICAgJ2N8Y29weScJCT0+IFwkY29weV9taXNzaW5nLAogICAgICd2fHZl cmJvc2UnCT0+IHN1YiB7IHNldHVwX2NoYW5uZWwgJ3ZlcmInLCBzaWxlbnQgPT4gMDsgfSwK ICAgICAnV3x3YXJuaW5ncz1zJyAgICAgPT4gXEB3YXJuaW5ncywKICAgICApOwoKICB1c2Ug QXV0b21ha2U6OkdldG9wdCAoKTsKICBBdXRvbWFrZTo6R2V0b3B0OjpwYXJzZV9vcHRpb25z ICVjbGlfb3B0aW9uczsKCiAgc2V0X3N0cmljdG5lc3MgKCRzdHJpY3QpOwogIG15ICRjbGlf d2hlcmUgPSBuZXcgQXV0b21ha2U6OkxvY2F0aW9uOwogIHNldF9nbG9iYWxfb3B0aW9uICgn bm8tZGVwZW5kZW5jaWVzJywgJGNsaV93aGVyZSkgaWYgJGlnbm9yZV9kZXBzOwogIGZvciBt eSAkd2FybmluZyAoQHdhcm5pbmdzKQogICAgewogICAgICBwYXJzZV93YXJuaW5ncyAoJy1X JywgJHdhcm5pbmcpOwogICAgfQoKICByZXR1cm4gdW5sZXNzIEBBUkdWOwoKICBteSAkZXJy c3BlYyA9IDA7CiAgZm9yZWFjaCBteSAkYXJnIChAQVJHVikKICAgIHsKICAgICAgZmF0YWwg KCJlbXB0eSBhcmd1bWVudFxuVHJ5ICckMCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9u IikKCWlmICgkYXJnIGVxICcnKTsKCiAgICAgICMgSGFuZGxlICRsb2NhbDokaW5wdXQgc3lu dGF4LgogICAgICBteSAoJGxvY2FsLCBAcmVzdCkgPSBzcGxpdCAoLzovLCAkYXJnKTsKICAg ICAgQHJlc3QgPSAoIiRsb2NhbC5pbiIsKSB1bmxlc3MgQHJlc3Q7CiAgICAgIG15ICRpbnB1 dCA9IGxvY2F0ZV9hbSBAcmVzdDsKICAgICAgaWYgKCRpbnB1dCkKCXsKCSAgcHVzaCBAaW5w dXRfZmlsZXMsICRpbnB1dDsKCSAgJG91dHB1dF9maWxlc3skaW5wdXR9ID0gam9pbiAoJzon LCAoJGxvY2FsLCBAcmVzdCkpOwoJfQogICAgICBlbHNlCgl7CgkgIGVycm9yICJubyBBdXRv bWFrZSBpbnB1dCBmaWxlIGZvdW5kIGZvciAnJGFyZyciOwoJICAkZXJyc3BlYyA9IDE7Cgl9 CiAgICB9CiAgZmF0YWwgIm5vIGlucHV0IGZpbGUgZm91bmQgYW1vbmcgc3VwcGxpZWQgYXJn dW1lbnRzIgogICAgaWYgJGVycnNwZWMgJiYgISBAaW5wdXRfZmlsZXM7Cn0KCgojIGhhbmRs ZV9tYWtlZmlsZSAoJE1BS0VGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpz dWIgaGFuZGxlX21ha2VmaWxlCnsKICBteSAoJGZpbGUpID0gIEBfOwogICgkYW1fZmlsZSA9 ICRmaWxlKSA9fiBzL1wuaW4kLy87CiAgaWYgKCEgLWYgKCRhbV9maWxlIC4gJy5hbScpKQog ICAgewogICAgICBlcnJvciAiJyRhbV9maWxlLmFtJyBkb2VzIG5vdCBleGlzdCI7CiAgICB9 CiAgZWxzZQogICAgewogICAgICAjIEFueSB3YXJuaW5nIHNldHRpbmcgbm93IGxvY2FsIHRv IHRoaXMgTWFrZWZpbGUuYW0uCiAgICAgIGR1cF9jaGFubmVsX3NldHVwOwoKICAgICAgZ2Vu ZXJhdGVfbWFrZWZpbGUgKCRhbV9maWxlIC4gJy5hbScsICRmaWxlKTsKCiAgICAgICMgQmFj ayBvdXQgYW55IHdhcm5pbmcgc2V0dGluZy4KICAgICAgZHJvcF9jaGFubmVsX3NldHVwOwog ICAgfQp9CgojIERlYWwgd2l0aCBhbGwgbWFrZWZpbGVzLCB3aXRob3V0IHRocmVhZHMuCnN1 YiBoYW5kbGVfbWFrZWZpbGVzX3NlcmlhbCAoKQp7CiAgZm9yZWFjaCBteSAkZmlsZSAoQGlu cHV0X2ZpbGVzKQogICAgewogICAgICBoYW5kbGVfbWFrZWZpbGUgKCRmaWxlKTsKICAgIH0K fQoKIyBMb2dpYyBmb3IgZGVjaWRpbmcgaG93IG1hbnkgd29ya2VyIHRocmVhZHMgdG8gdXNl LgpzdWIgZ2V0X251bWJlcl9vZl90aHJlYWRzICgpCnsKICBteSAkbnRocmVhZHMgPSAkRU5W eydBVVRPTUFLRV9KT0JTJ30gfHwgMDsKCiAgJG50aHJlYWRzID0gMAogICAgdW5sZXNzICRu dGhyZWFkcyA9fiAvXlswLTldKyQvOwoKICAjIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byB1 c2UgbW9yZSB0aHJlYWRzIHRoYW4gbWFrZWZpbGVzLAogIG15ICRtYXhfdGhyZWFkcyA9IEBp bnB1dF9maWxlczsKCiAgaWYgKCRudGhyZWFkcyA+ICRtYXhfdGhyZWFkcykKICAgIHsKICAg ICAgJG50aHJlYWRzID0gJG1heF90aHJlYWRzOwogICAgfQogIHJldHVybiAkbnRocmVhZHM7 Cn0KCiMgaGFuZGxlX21ha2VmaWxlc190aHJlYWRlZCAoJE5USFJFQURTKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWFsIHdpdGggYWxsIG1ha2VmaWxl cywgdXNpbmcgdGhyZWFkcy4gIFRoZSBnZW5lcmFsIHN0cmF0ZWd5IGlzIHRvCiMgc3Bhd24g TlRIUkVBRFMgd29ya2VyIHRocmVhZHMsIGRpc3BhdGNoIG1ha2VmaWxlcyB0byB0aGVtLCBh bmQgbGV0IHRoZQojIHdvcmtlciB0aHJlYWRzIHB1c2ggYmFjayBldmVyeXRoaW5nIHRoYXQg bmVlZHMgc2VyaWFsaXphdGlvbjoKIyAqIHdhcm5pbmcgYW5kIChub3JtYWwpIGVycm9yIG1l c3NhZ2VzLCBmb3Igc3RhYmxlIHN0ZGVyciBvdXRwdXQKIyAgIG9yZGVyIGFuZCBjb250ZW50 IChhdm9pZGluZyBkdXBsaWNhdGVzLCBmb3IgZXhhbXBsZSksCiMgKiByYWNlcyB3aGVuIGlu c3RhbGxpbmcgYXV4IGZpbGVzIChhbmQgcmVzcGVjdGl2ZSBtZXNzYWdlcyksCiMgKiByYWNl cyB3aGVuIGNvbGxlY3RpbmcgYXV4IGZpbGVzIGZvciBkaXN0cmlidXRpb24uCiMKIyBUaGUg bGF0dGVyIHJlcXVpcmVzIHRoYXQgdGhlIG1ha2VmaWxlIHRoYXQgZGVhbHMgd2l0aCB0aGUg YXV4IGRpcgojIGZpbGVzIGJlIGhhbmRsZWQgbGFzdCwgZG9uZSBieSB0aGUgbWFzdGVyIHRo cmVhZC4Kc3ViIGhhbmRsZV9tYWtlZmlsZXNfdGhyZWFkZWQKewogIG15ICgkbnRocmVhZHMp ID0gQF87CgogICMgVGhlIGZpbGUgcXVldWUgZGlzdHJpYnV0ZXMgYWxsIG1ha2VmaWxlcywg dGhlIG1lc3NhZ2UgcXVldWVzCiAgIyBjb2xsZWN0IGFsbCBzZXJpYWxpemF0aW9ucyBuZWVk ZWQgZm9yIHJlc3BlY3RpdmUgZmlsZXMuCiAgbXkgJGZpbGVfcXVldWUgPSBUaHJlYWQ6OlF1 ZXVlLT5uZXc7CiAgbXkgJW1zZ19xdWV1ZXM7CiAgZm9yZWFjaCBteSAkZmlsZSAoQGlucHV0 X2ZpbGVzKQogICAgewogICAgICAkbXNnX3F1ZXVlc3skZmlsZX0gPSBUaHJlYWQ6OlF1ZXVl LT5uZXc7CiAgICB9CgogIHZlcmIgInNwYXduaW5nICRudGhyZWFkcyB3b3JrZXIgdGhyZWFk cyI7CiAgbXkgQHRocmVhZHMgPSAoMSAuLiAkbnRocmVhZHMpOwogIGZvcmVhY2ggbXkgJHQg KEB0aHJlYWRzKQogICAgewogICAgICAkdCA9IHRocmVhZHMtPm5ldyAoc3ViCgl7CgkgIHdo aWxlIChteSAkZmlsZSA9ICRmaWxlX3F1ZXVlLT5kZXF1ZXVlKQoJICAgIHsKCSAgICAgIHZl cmIgImhhbmRsaW5nICRmaWxlIjsKCSAgICAgIG15ICRxdWV1ZSA9ICRtc2dfcXVldWVzeyRm aWxlfTsKCSAgICAgIHNldHVwX2NoYW5uZWxfcXVldWUgKCRxdWV1ZSwgUVVFVUVfTUVTU0FH RSk7CgkgICAgICAkcmVxdWlyZWRfY29uZl9maWxlX3F1ZXVlID0gJHF1ZXVlOwoJICAgICAg aGFuZGxlX21ha2VmaWxlICgkZmlsZSk7CgkgICAgICAkcXVldWUtPmVucXVldWUgKHVuZGVm KTsKCSAgICAgIHNldHVwX2NoYW5uZWxfcXVldWUgKHVuZGVmLCB1bmRlZik7CgkgICAgICAk cmVxdWlyZWRfY29uZl9maWxlX3F1ZXVlID0gdW5kZWY7CgkgICAgfQoJICByZXR1cm4gJGV4 aXRfY29kZTsKCX0pOwogICAgfQoKICAjIFF1ZXVlIGFsbCBtYWtlZmlsZXMuCiAgdmVyYiAi cXVldWluZyAiIC4gQGlucHV0X2ZpbGVzIC4gIiBpbnB1dCBmaWxlcyI7CiAgJGZpbGVfcXVl dWUtPmVucXVldWUgKEBpbnB1dF9maWxlcywgKHVuZGVmKSB4IEB0aHJlYWRzKTsKCiAgIyBD b2xsZWN0IGFuZCBwcm9jZXNzIHNlcmlhbGl6YXRpb25zLgogIGZvcmVhY2ggbXkgJGZpbGUg KEBpbnB1dF9maWxlcykKICAgIHsKICAgICAgdmVyYiAiZGVxdWV1aW5nIG1lc3NhZ2VzIGZv ciAiIC4gJGZpbGU7CiAgICAgIHJlc2V0X2xvY2FsX2R1cGxpY2F0ZXMgKCk7CiAgICAgIG15 ICRxdWV1ZSA9ICRtc2dfcXVldWVzeyRmaWxlfTsKICAgICAgd2hpbGUgKG15ICRrZXkgPSAk cXVldWUtPmRlcXVldWUpCgl7CgkgIGlmICgka2V5IGVxIFFVRVVFX01FU1NBR0UpCgkgICAg ewoJICAgICAgcG9wX2NoYW5uZWxfcXVldWUgKCRxdWV1ZSk7CgkgICAgfQoJICBlbHNpZiAo JGtleSBlcSBRVUVVRV9DT05GX0ZJTEUpCgkgICAgewoJICAgICAgcmVxdWlyZV9xdWV1ZWRf ZmlsZV9jaGVja19vcl9jb3B5ICgkcXVldWUpOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAg ICAgIHByb2dfZXJyb3IgInVuZXhwZWN0ZWQga2V5ICRrZXkiOwoJICAgIH0KCX0KICAgIH0K CiAgZm9yZWFjaCBteSAkdCAoQHRocmVhZHMpCiAgICB7CiAgICAgIG15IEBleGl0X3RocmVh ZCA9ICR0LT5qb2luOwogICAgICAkZXhpdF9jb2RlID0gJGV4aXRfdGhyZWFkWzBdCglpZiAo JGV4aXRfdGhyZWFkWzBdID4gJGV4aXRfY29kZSk7CiAgICB9Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMg UGFyc2UgdGhlIFdBUk5JTkdTIGVudmlyb25tZW50IHZhcmlhYmxlLgpwYXJzZV9XQVJOSU5H UzsKCiMgUGFyc2UgY29tbWFuZCBsaW5lLgpwYXJzZV9hcmd1bWVudHM7CgokY29uZmlndXJl X2FjID0gcmVxdWlyZV9jb25maWd1cmVfYWM7CgojIERvIGNvbmZpZ3VyZS5hYyBzY2FuIG9u bHkgb25jZS4Kc2Nhbl9hdXRvY29uZl9maWxlczsKCmlmICghIEBpbnB1dF9maWxlcykKICB7 CiAgICBteSAkbXNnID0gJyc7CiAgICAkbXNnID0gIlxuRGlkIHlvdSBmb3JnZXQgQUNfQ09O RklHX0ZJTEVTKFtNYWtlZmlsZV0pIGluICRjb25maWd1cmVfYWM/IgogICAgICBpZiAtZiAn TWFrZWZpbGUuYW0nOwogICAgZmF0YWwgKCJubyAnTWFrZWZpbGUuYW0nIGZvdW5kIGZvciBh bnkgY29uZmlndXJlIG91dHB1dCRtc2ciKTsKICB9CgpteSAkbnRocmVhZHMgPSBnZXRfbnVt YmVyX29mX3RocmVhZHMgKCk7CgppZiAoJHBlcmxfdGhyZWFkcyAmJiAkbnRocmVhZHMgPj0g MSkKICB7CiAgICBoYW5kbGVfbWFrZWZpbGVzX3RocmVhZGVkICgkbnRocmVhZHMpOwogIH0K ZWxzZQogIHsKICAgIGhhbmRsZV9tYWtlZmlsZXNfc2VyaWFsICgpOwogIH0KCmV4aXQgJGV4 aXRfY29kZTsKKyB0ZXN0IDAgLWVxIDAKKyBfYW1fZXhpdCA3NworIHNldCArZQorIHRlc3Qg NzcgPSA3NworIGFtX190ZXN0X3NraXBwZWQ9eWVzCisgZXhpdCA3NworIGV4aXQgNzcKKyBh bV9leGl0X3RyYXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0 IDc3IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDAKKyBzZXQgK3gKU0tJUCB0L2dldC1zeXNjb25mLnNoIChleGl0IHN0YXR1czog NzcpCgpYRkFJTDogdC9wbS9Db25kMgo9PT09PT09PT09PT09PT09PQoKJ0F1dG9tYWtlOjpD b25kaXRpb249SEFTSCgweDU1ZWIyZDhhOGUzMCknIGlzIGEgcmVmZXJlbmNlLCBleHBlY3Rl ZCBhIHN0cmluZyBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2xp Yi9BdXRvbWFrZS9Db25kaXRpb24ucG0gbGluZSAxODguCglBdXRvbWFrZTo6Q29uZGl0aW9u OjpuZXcoIkF1dG9tYWtlOjpDb25kaXRpb24iLCBBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0go MHg1NWViMmQ4YThlMzApKSBjYWxsZWQgYXQgLi90L3BtL0NvbmQyLnBsIGxpbmUgMjIKWEZB SUwgdC9wbS9Db25kMi5wbCAoZXhpdCBzdGF0dXM6IDI1NSkKClhGQUlMOiB0L3BtL0NvbmQz Cj09PT09PT09PT09PT09PT09CgonQXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4NTViNTAw YjJlODMwKScgZG9lcyBub3QgbG9vayBsaWtlIGEgY29uZGl0aW9uIGF0IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL0NvbmRpdGlvbi5wbSBs aW5lIDE5MC4KCUF1dG9tYWtlOjpDb25kaXRpb246Om5ldygiQXV0b21ha2U6OkNvbmRpdGlv biIsICJBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0goMHg1NWI1MDBiMmU4MzApIikgY2FsbGVk IGF0IC4vdC9wbS9Db25kMy5wbCBsaW5lIDIyClhGQUlMIHQvcG0vQ29uZDMucGwgKGV4aXQg c3RhdHVzOiAyNTUpCgpYRkFJTDogdC9wbS9EaXNqQ29uMgo9PT09PT09PT09PT09PT09PT09 PQoKJ0F1dG9tYWtlOjpEaXNqQ29uZGl0aW9ucz1IQVNIKDB4NTYwMTFkOTQ1ODQ4KScgaXNu J3QgYW4gQXV0b21ha2U6OkNvbmRpdGlvbiBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9EaXNqQ29uZGl0aW9ucy5wbSBsaW5lIDE1MS4K CUF1dG9tYWtlOjpEaXNqQ29uZGl0aW9uczo6bmV3KCJBdXRvbWFrZTo6RGlzakNvbmRpdGlv bnMiLCBBdXRvbWFrZTo6RGlzakNvbmRpdGlvbnM9SEFTSCgweDU2MDExZDk0NTg0OCkpIGNh bGxlZCBhdCAuL3QvcG0vRGlzakNvbjIucGwgbGluZSAyNApYRkFJTCB0L3BtL0Rpc2pDb24y LnBsIChleGl0IHN0YXR1czogMjU1KQoKWEZBSUw6IHQvcG0vRGlzakNvbjMKPT09PT09PT09 PT09PT09PT09PT0KCidBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0goMHg1NTlkM2Q5Njk4MzAp JyBpc24ndCBhIHJlZmVyZW5jZSBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL2xpYi9BdXRvbWFrZS9EaXNqQ29uZGl0aW9ucy5wbSBsaW5lIDE1MC4KCUF1dG9t YWtlOjpEaXNqQ29uZGl0aW9uczo6bmV3KCJBdXRvbWFrZTo6RGlzakNvbmRpdGlvbnMiLCAi QXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4NTU5ZDNkOTY5ODMwKSIpIGNhbGxlZCBhdCAu L3QvcG0vRGlzakNvbjMucGwgbGluZSAyMwpYRkFJTCB0L3BtL0Rpc2pDb24zLnBsIChleGl0 IHN0YXR1czogMjU1KQoKWEZBSUw6IHQvcG0vVmVyc2lvbjIKPT09PT09PT09PT09PT09PT09 PT0KClZlcnNpb24yLnBsOiBlcnJvcjogdmVyc2lvbiBpcyBpbmNvcnJlY3Q6IApWZXJzaW9u Mi5wbDogUGxlYXNlIGNvbnRhY3QgPGJ1Zy1hdXRvbWFrZUBnbnUub3JnPi4KIGF0IC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL0NoYW5uZWxz LnBtIGxpbmUgNjYyLgoJQXV0b21ha2U6OkNoYW5uZWxzOjptc2coImF1dG9tYWtlIiwgIiIs ICJ2ZXJzaW9uIGlzIGluY29ycmVjdDogIikgY2FsbGVkIGF0IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL0NoYW5uZWxEZWZzLnBtIGxpbmUg MjEyCglBdXRvbWFrZTo6Q2hhbm5lbERlZnM6OnByb2dfZXJyb3IoInZlcnNpb24gaXMgaW5j b3JyZWN0OiAiKSBjYWxsZWQgYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi9saWIvQXV0b21ha2UvVmVyc2lvbi5wbSBsaW5lIDEyNgoJQXV0b21ha2U6OlZlcnNp b246OmNoZWNrKCIiLCAiMS4yLjMiKSBjYWxsZWQgYXQgLi90L3BtL1ZlcnNpb24yLnBsIGxp bmUgMjAKWEZBSUwgdC9wbS9WZXJzaW9uMi5wbCAoZXhpdCBzdGF0dXM6IDI1NSkKClhGQUlM OiB0L3BtL1ZlcnNpb24zCj09PT09PT09PT09PT09PT09PT09CgpWZXJzaW9uMy5wbDogZXJy b3I6IHJlcXVpcmVkIHZlcnNpb24gaXMgaW5jb3JyZWN0OiAKVmVyc2lvbjMucGw6IFBsZWFz ZSBjb250YWN0IDxidWctYXV0b21ha2VAZ251Lm9yZz4uCiBhdCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9DaGFubmVscy5wbSBsaW5lIDY2 Mi4KCUF1dG9tYWtlOjpDaGFubmVsczo6bXNnKCJhdXRvbWFrZSIsICIiLCAicmVxdWlyZWQg dmVyc2lvbiBpcyBpbmNvcnJlY3Q6ICIpIGNhbGxlZCBhdCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9DaGFubmVsRGVmcy5wbSBsaW5lIDIx MgoJQXV0b21ha2U6OkNoYW5uZWxEZWZzOjpwcm9nX2Vycm9yKCJyZXF1aXJlZCB2ZXJzaW9u IGlzIGluY29ycmVjdDogIikgY2FsbGVkIGF0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL1ZlcnNpb24ucG0gbGluZSAxMzEKCUF1dG9tYWtl OjpWZXJzaW9uOjpjaGVjaygiMS4yLjMiLCAiIikgY2FsbGVkIGF0IC4vdC9wbS9WZXJzaW9u My5wbCBsaW5lIDIwClhGQUlMIHQvcG0vVmVyc2lvbjMucGwgKGV4aXQgc3RhdHVzOiAyNTUp CgpQQVNTOiB0L2luc3RzcGMKPT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFs bGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2Jp bjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUv aHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VH R0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpcgorIGFsbF90ZXN0X25hbWVzX2xpc3Q9CisgYnVpbGRkaXJfeGZhaWxz PQorIGRlc3RkaXJfeGZhaWxzPQorIGJzPQgKKyBjcj0NCisgZmY9DAorIGh0PQkKKyBsZj0K CisgZGVmPWRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcKKyBkZWZpbmVfcHJvYmxlbWF0aWNf c3RyaW5nIHNxdW90ZSAnIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgdHN0PXNxdW90 ZQorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19zcXVvdGU9JDEKKyBpbnN0c3BjX19zcXVvdGU9 JworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlCisgaXNfaW5fbGlzdCBm YWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWJ1 aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3RlCisg aXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBp dGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0g c3F1b3RlCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBkcXVvdGUgIiBmYWlsLWJ1aWxk ZGlyIGZhaWwtZGVzdGRpcgorIHRzdD1kcXVvdGUKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f ZHF1b3RlPSQxCisgaW5zdHNwY19fZHF1b3RlPSIKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1i dWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJl dHVybiAwCisgYnVpbGRkaXJfeGZhaWxzPSBzcXVvdGUgZHF1b3RlCisgaXNfaW5fbGlzdCBm YWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVz dGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90 ZQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYnF1b3RlIGAgZmFpbC1idWlsZGRpciBm YWlsLWRlc3RkaXIKKyB0c3Q9YnF1b3RlCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2JxdW90 ZT0kMQorIGluc3RzcGNfX2JxdW90ZT1gCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0 PSBzcXVvdGUgZHF1b3RlIGJxdW90ZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWls LWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg cmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1 b3RlIGRxdW90ZSBicXVvdGUKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHNoYXJwICMg ZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9c2hhcnAKKyBzaGlmdAorIGV2YWwg aW5zdHNwY19fc2hhcnA9JDEKKyBpbnN0c3BjX19zaGFycD0jCisgc2hpZnQKKyBhbGxfdGVz dF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycAorIGlzX2luX2xpc3Qg ZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1i dWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWls ZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJu IDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAKKyBkZWZp bmVfcHJvYmxlbWF0aWNfc3RyaW5nIGRvbGxhciAkIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0 ZGlyCisgdHN0PWRvbGxhcgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19kb2xsYXI9JDEKKyBp bnN0c3BjX19kb2xsYXI9JAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGly IGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hp ZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBm YWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBk ZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyCisgZGVm aW5lX3Byb2JsZW1hdGljX3N0cmluZyBiYW5nICEKKyB0c3Q9YmFuZworIHNoaWZ0CisgZXZh bCBpbnN0c3BjX19iYW5nPSQxCisgaW5zdHNwY19fYmFuZz0hCisgc2hpZnQKKyBhbGxfdGVz dF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZwor IGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0 ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYnNs YXNoIFwgZmFpbC1idWlsZGRpcgorIHRzdD1ic2xhc2gKKyBzaGlmdAorIGV2YWwgaW5zdHNw Y19fYnNsYXNoPSQxCisgaW5zdHNwY19fYnNsYXNoPVwKKyBzaGlmdAorIGFsbF90ZXN0X25h bWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWls LWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaAorIGlzX2luX2xpc3QgZmFpbC1k ZXN0ZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFtcGVyc2FuZCAmIGZhaWwtYnVp bGRkaXIKKyB0c3Q9YW1wZXJzYW5kCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2FtcGVyc2Fu ZD0kMQorIGluc3RzcGNfX2FtcGVyc2FuZD0mCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19s aXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1w ZXJzYW5kCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVt PWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAwCisgYnVpbGRkaXJfeGZhaWxzPSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZAorIGlz X2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtZGVzdGRp cgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHBlcmNl bnQgJQorIHRzdD1wZXJjZW50Cisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3BlcmNlbnQ9JDEK KyBpbnN0c3BjX19wZXJjZW50PSUKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQg cGVyY2VudAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRp cgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19z dHJpbmcgbGVmdHBhciAoCisgdHN0PWxlZnRwYXIKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f bGVmdHBhcj0kMQorIGluc3RzcGNfX2xlZnRwYXI9KAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFt ZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNo IGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIK KyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBm YWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBk ZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHJpZ2h0cGFyICkKKyB0c3Q9cmlnaHRwYXIKKyBz aGlmdAorIGV2YWwgaW5zdHNwY19fcmlnaHRwYXI9JDEKKyBpbnN0c3BjX19yaWdodHBhcj0p Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz aGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdo dHBhcgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgor IHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJp bmcgcGlwZSB8CisgdHN0PXBpcGUKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcGlwZT0kMQor IGluc3RzcGNfX3BpcGU9fAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgor IGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZh aWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRl ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgY2FyZXQgXgorIHRzdD1jYXJldAorIHNoaWZ0Cisg ZXZhbCBpbnN0c3BjX19jYXJldD0kMQorIGluc3RzcGNfX2NhcmV0PV4KKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBz aGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n IHRpbGRlIH4KKyB0c3Q9dGlsZGUKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fdGlsZGU9JDEK KyBpbnN0c3BjX190aWxkZT1+Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlCisgaXNfaW5fbGlzdCBm YWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQor IGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAor IHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBxbWFyayA/CisgdHN0PXFt YXJrCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3FtYXJrPSQxCisgaW5zdHNwY19fcW1hcms9 PworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmln aHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyaworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRp cgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0 IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQor IGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc3RhciAqCisgdHN0PXN0YXIKKyBzaGlmdAor IGV2YWwgaW5zdHNwY19fc3Rhcj0kMQorIGluc3RzcGNfX3N0YXI9KgorIHNoaWZ0CisgYWxs X3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJh bmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJl dCB0aWxkZSBxbWFyayBzdGFyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1m YWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0 ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBwbHVzICsKKyB0c3Q9cGx1cworIHNoaWZ0CisgZXZhbCBpbnN0 c3BjX19wbHVzPSQxCisgaW5zdHNwY19fcGx1cz0rCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1l c19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2gg YW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFt YXJrIHN0YXIgcGx1cworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1i dWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgor IGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVt YXRpY19zdHJpbmcgbWludXMgLQorIHRzdD1taW51cworIHNoaWZ0CisgZXZhbCBpbnN0c3Bj X19taW51cz0kMQorIGluc3RzcGNfX21pbnVzPS0KKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h cmsgc3RhciBwbHVzIG1pbnVzCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1m YWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0 ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBjb21tYSAsCisgdHN0PWNvbW1hCisgc2hpZnQKKyBldmFsIGlu c3RzcGNfX2NvbW1hPSQxCisgaW5zdHNwY19fY29tbWE9LAorIHNoaWZ0CisgYWxsX3Rlc3Rf bmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNs YXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk ZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlz dCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGNvbG9uIDoKKyB0c3Q9Y29sb24KKyBzaGlm dAorIGV2YWwgaW5zdHNwY19fY29sb249JDEKKyBpbnN0c3BjX19jb2xvbj06Cisgc2hpZnQK KyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBl IGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbgorIGlzX2lu X2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisg c2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc2VtaWNvbCA7 CisgdHN0PXNlbWljb2wKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fc2VtaWNvbD0kMQorIGlu c3RzcGNfX3NlbWljb2w9OworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMg bWludXMgY29tbWEgY29sb24gc2VtaWNvbAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgor IGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZh aWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRl ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZXF1YWwgPQorIHRzdD1lcXVhbAorIHNoaWZ0Cisg ZXZhbCBpbnN0c3BjX19lcXVhbD0kMQorIGluc3RzcGNfX2VxdWFsPT0KKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1 YWwKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBz aGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n IGxlc3MgPAorIHRzdD1sZXNzCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2xlc3M9JDEKKyBp bnN0c3BjX19sZXNzPTwKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2Vu dCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1p bnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcworIGlzX2luX2xpc3QgZmFpbC1i dWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1 cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbW9yZSA+CisgdHN0PW1vcmUKKyBz aGlmdAorIGV2YWwgaW5zdHNwY19fbW9yZT0kMQorIGluc3RzcGNfX21vcmU9PgorIHNoaWZ0 CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlw ZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNv bCBlcXVhbCBsZXNzIG1vcmUKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZh aWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3Rk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJv YmxlbWF0aWNfc3RyaW5nIGF0IEAKKyB0c3Q9YXQKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f YXQ9JDEKKyBpbnN0c3BjX19hdD1ACisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5k IHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIg cGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdAorIGlz X2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbHFicmFj ayBbCisgdHN0PWxxYnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fbHFicmFjaz0kMQor IGluc3RzcGNfX2xxYnJhY2s9WworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBw ZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBs dXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFj aworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1k ZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcg cnFicmFjayBdCisgdHN0PXJxYnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcnFicmFj az0kMQorIGluc3RzcGNfX3JxYnJhY2s9XQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlz dD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVy c2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBz dGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQg bHFicmFjayBycWJyYWNrCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWls LWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly CisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2Js ZW1hdGljX3N0cmluZyBsY2JyYWNrIHsKKyB0c3Q9bGNicmFjaworIHNoaWZ0CisgZXZhbCBp bnN0c3BjX19sY2JyYWNrPSQxCisgaW5zdHNwY19fbGNicmFjaz17Cisgc2hpZnQKKyBhbGxf dGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFu ZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0 IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFs IGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjaworIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBp c19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBy ZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcmNicmFjayB9CisgdHN0PXJj YnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcmNicmFjaz0kMQorIGluc3RzcGNfX3Jj YnJhY2s9fQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29t bWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxj YnJhY2sgcmNicmFjaworIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1i dWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgor IGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVt YXRpY19zdHJpbmcgc3BhY2UgIAorIHRzdD1zcGFjZQorIHNoaWZ0CisgZXZhbCBpbnN0c3Bj X19zcGFjZT0kMQorIGluc3RzcGNfX3NwYWNlPSAKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h cmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3Jl IGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UKKyBpc19pbl9saXN0 IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAx CisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHRhYiAJCisgdHN0PXRh YgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX190YWI9JDEKKyBpbnN0c3BjX190YWI9CQorIHNo aWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIg cGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2Vt aWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFj ayBzcGFjZSB0YWIKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVp bGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBp dGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIGxpbmVmZWVkIAogZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9 bGluZWZlZWQKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fbGluZWZlZWQ9JDEKKyBpbnN0c3Bj X19saW5lZmVlZD0KCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQg bGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51 cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJh Y2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZAorIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWls ZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkCisgZGVmaW5lX3Byb2Js ZW1hdGljX3N0cmluZyBiYWNrc3BhY2UgCAorIHRzdD1iYWNrc3BhY2UKKyBzaGlmdAorIGV2 YWwgaW5zdHNwY19fYmFja3NwYWNlPSQxCisgaW5zdHNwY19fYmFja3NwYWNlPQgKKyBzaGlm dAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBp cGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWlj b2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sg c3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRp cgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0 IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQor IGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZm9ybWZlZWQgDAorIHRzdD1mb3JtZmVlZAor IHNoaWZ0CisgZXZhbCBpbnN0c3BjX19mb3JtZmVlZD0kMQorIGluc3RzcGNfX2Zvcm1mZWVk PQwKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJp Z2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNv bG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNr IHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZAorIGlzX2lu X2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisg c2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgY2FycmlhZ2Vy ZXQgDQorIHRzdD1jYXJyaWFnZXJldAorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19jYXJyaWFn ZXJldD0kMQorIGluc3RzcGNfX2NhcnJpYWdlcmV0PQ0KKyBzaGlmdAorIGFsbF90ZXN0X25h bWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUg cW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBt b3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVm ZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldAorIGlzX2luX2xpc3QgZmFpbC1i dWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1 cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcXVhZHJpZ3JhcGgwIEAmdEAgZmFp bC1idWlsZGRpcgorIHRzdD1xdWFkcmlncmFwaDAKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f cXVhZHJpZ3JhcGgwPSQxCisgaW5zdHNwY19fcXVhZHJpZ3JhcGgwPUAmdEAKKyBzaGlmdAor IGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUg Y2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wg ZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3Bh Y2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmln cmFwaDAKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpcgorIGl0ZW09 ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVm ZWVkIHF1YWRyaWdyYXBoMAorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJv YmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoMSBAPDpACisgdHN0PXF1YWRyaWdyYXBoMQor IHNoaWZ0CisgZXZhbCBpbnN0c3BjX19xdWFkcmlncmFwaDE9JDEKKyBpbnN0c3BjX19xdWFk cmlncmFwaDE9QDw6QAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50 IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWlu dXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJy YWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1m ZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEKKyBpc19pbl9saXN0 IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAx CisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoMiBA Oj5ACisgdHN0PXF1YWRyaWdyYXBoMgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19xdWFkcmln cmFwaDI9JDEKKyBpbnN0c3BjX19xdWFkcmlncmFwaDI9QDo+QAorIHNoaWZ0CisgYWxsX3Rl c3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcg YnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0 aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBs ZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIg bGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBx dWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisg aXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFp bC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVm aW5lX3Byb2JsZW1hdGljX3N0cmluZyBxdWFkcmlncmFwaDMgQFN8QAorIHRzdD1xdWFkcmln cmFwaDMKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcXVhZHJpZ3JhcGgzPSQxCisgaW5zdHNw Y19fcXVhZHJpZ3JhcGgzPUBTfEAKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQg cGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBw bHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJh Y2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFj ZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRy aWdyYXBoMiBxdWFkcmlncmFwaDMKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVt PWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRl c3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVf cHJvYmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoNCBAJTpACisgdHN0PXF1YWRyaWdyYXBo NAorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19xdWFkcmlncmFwaDQ9JDEKKyBpbnN0c3BjX19x dWFkcmlncmFwaDQ9QCU6QAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMg bWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBy cWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZv cm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3Jh cGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlz dCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFfYiBhIGIKKyB0c3Q9YV9iCisgc2hpZnQK KyBldmFsIGluc3RzcGNfX2FfYj0kMQorIGluc3RzcGNfX2FfYj1hIGIKKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1 YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2Ug dGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFw aDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0 IGFfYgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgor IHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFp bC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJp bmcgYV9fYiBhICBiCisgdHN0PWFfX2IKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fYV9fYj0k MQorIGluc3RzcGNfX2FfX2I9YSAgYgorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0g c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2Fu ZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFy IHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFi cmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3Nw YWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVh ZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2IKKyBpc19pbl9s aXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVy biAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFfbGZfYiBhCmIg ZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9YV9sZl9iCisgc2hpZnQKKyBldmFs IGluc3RzcGNfX2FfbGZfYj0kMQorIGluc3RzcGNfX2FfbGZfYj1hCmIKKyBzaGlmdAorIGFs bF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2Fy ZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1 YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2Ug dGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFw aDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0 IGFfYiBhX19iIGFfbGZfYgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxk ZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJu IDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09 ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGRlc3RkaXJfeGZhaWxzPSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgZGVmaW5l X3Byb2JsZW1hdGljX3N0cmluZyBkb3Rkb3Rkb3QgLi4uCisgdHN0PWRvdGRvdGRvdAorIHNo aWZ0CisgZXZhbCBpbnN0c3BjX19kb3Rkb3Rkb3Q9JDEKKyBpbnN0c3BjX19kb3Rkb3Rkb3Q9 Li4uCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciBy aWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBj b2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFj ayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2Fycmlh Z2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3Jh cGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90CisgaXNfaW5fbGlz dCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4g MQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlm dAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBkb3Nkcml2ZSBhOgor IHRzdD1kb3Nkcml2ZQorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19kb3Nkcml2ZT0kMQorIGlu c3RzcGNfX2Rvc2RyaXZlPWE6Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1 cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNr IHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2Ug Zm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmln cmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90 ZG90IGRvc2RyaXZlCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1 aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisg aXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1h dGljX3N0cmluZyBtaXNjZ2xvYjEgP1thLXpdKgorIHRzdD1taXNjZ2xvYjEKKyBzaGlmdAor IGV2YWwgaW5zdHNwY19fbWlzY2dsb2IxPSQxCisgaW5zdHNwY19fbWlzY2dsb2IxPT9bYS16 XSoKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJp Z2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNv bG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNr IHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFn ZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFw aDMgcXVhZHJpZ3JhcGg0IGFfYiBhX19iIGFfbGZfYiBkb3Rkb3Rkb3QgZG9zZHJpdmUgbWlz Y2dsb2IxCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1m YWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0 cmluZyBtaXNjZ2xvYjIgLio/WzAtOV0KKyB0c3Q9bWlzY2dsb2IyCisgc2hpZnQKKyBldmFs IGluc3RzcGNfX21pc2NnbG9iMj0kMQorIGluc3RzcGNfX21pc2NnbG9iMj0uKj9bMC05XQor IHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRw YXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24g c2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNi cmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0 IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBx dWFkcmlncmFwaDQgYV9iIGFfX2IgYV9sZl9iIGRvdGRvdGRvdCBkb3Nkcml2ZSBtaXNjZ2xv YjEgbWlzY2dsb2IyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1 aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisg aXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgdW5zZXQgZGVmCisgdGVz dCAwIC1ndCAwCisgdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBh ciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBz ZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2Jy YWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQg cXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1 YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90IGRvc2RyaXZlIG1pc2NnbG9i MSBtaXNjZ2xvYjIKKyBwbGFuXyA5NAorIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgor IHRlc3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHg5NCA9IHh1bmtub3duCisgdGVzdCB4OTQg PSB4bGF0ZXIKKyB0ZXN0IHg5NCA9IHhsYXp5CisgdGVzdCB4OTQgPSB4bm93CisgdGVzdCA5 NCAtZ2UgMAorIHBsYW5uZWRfPTk0CisgZWNobyAxLi45NAoxLi45NAorIHB3ZAorIG9jd2Q9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisg Y3JlYXRlX2lucHV0X2RhdGEKKyBta2RpciBzdWIKKyB1bmluZGVudAorIHRlc3QgeCA9IHgK KyBwcmludGYgJXNcbiAKICAvXiQvYiAgICAgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHRv IGRvIGZvciBlbXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAgICAgIyBHZXQg eDxpbmRlbnQ+IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAgICAgICAg ICAgIyBObyBwcmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAgICAg ICAgICAgICAgICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRl cm4gc3BhY2UuCiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50 PiBpbiBwYXR0ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzog eDxpbmRlbnQ+IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAg ICAgICAgICAgICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3Bh Y2UsIGFuZAogIGggICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRv IGhvbGQgc3BhY2UuCiAgcy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGlu ZGVudD4gaW4gcGF0dGVybiBzcGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAg ICMgZXhjaGFuZ2Ugd2l0aCB0aGUgYWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAg cy9eeFwoLipcKVxuXDEvLyAgICAgICAgICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJv bSA8bGluZT4uCiAgcy9eeC4qXG4vLyAgICAgICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4g d2hlbiB0aGVyZSBpcyBubyBsZWFkaW5nIDxpbmRlbnQ+LgoKKyBzZWQgLWUgcy8gICojIC4q Ly8KKyBzZWRfdW5pbmRlbnRfcHJvZz0KICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAg cy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154 XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewog ICAgZwogICAgcy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwog IHgKICBzL154XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIDoKKyA6CisgOgorIDoKKyA6 CisgOgorIHVuaW5kZW50CisgdGVzdCB4CiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAg IHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9e eFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4Cisgc2VkIAogIC9eJC9iCiAgeAogIC9e JC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEvCiAgfQogIEcKICBoCiAgcy9cbi4q JC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154Lipcbi8vCisgdW5pbmRlbnQKKyB0 ZXN0IHgKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChbCSBdKlwpLioveFwx LwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwpXG5cMS8vCiAgcy9e eC4qXG4vLyA9IHgKKyBzZWQgCiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwo WwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipc KVxuXDEvLwogIHMvXnguKlxuLy8KKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25m CisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQpjb25maWd1cmUu YWM6NTogaW5zdGFsbGluZyAnLi9hci1saWInCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX3NxdW90ZX0KKyB0ZXN0X3N0cmluZz0nCisgdGVzdCB4JyA9IHgKKyBta2RpciAuLycK KyBidWlsZD0uLycKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZQorIGNkIC4vJworIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLyctcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29s dXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPXNx dW90ZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc3F1b3RlCisgaXNf aW5fbGlzdCBzcXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09c3F1b3Rl Cisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3Rh bmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFu ZGluZyBsaW1pdGF0aW9uIC0tIHNxdW90ZSBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sg MSAtIHNxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u ClhGQUlMOiB0L2luc3RzcGMudGFwIDEgLSBzcXVvdGUgaW4gYnVpbGRkaXIgIyBUT0RPIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBvaworIDog Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtc3F1b3RlCisg ZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcXVvdGUvJworIG1rZGlyIGJ1aWxkLXNxdW90ZQorIGNkIGJ1aWxkLXNxdW90 ZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyctcHJlZml4CmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2Mg dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImlu c3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIg Y3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJyBmaWxlPS4vJyBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1zcXVvdGXCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8n LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3Rl LycvJy1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4 L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8n LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUv Jy8nLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUv Jy8nLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90 ZS8nLyctcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYnVpbGQtc3F1b3RlwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLy4vJy1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKbWFrZTogKioqIFtNYWtlZmlsZToxMTQ1OiB0ZXN0LWlu c3RdIEVycm9yIDEKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPXNxdW90ZSBpbiBkZXN0ZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHNxdW90ZQorIGlzX2luX2xpc3Qgc3F1b3RlIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXNxdW90ZQorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1s b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBzcXVvdGUgaW4gZGVzdGRpcgorIHNldCAreApu b3Qgb2sgMiAtIHNxdW90ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0 YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgMiAtIHNxdW90ZSBpbiBkZXN0ZGlyICMgVE9E TyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9 JHtpbnN0c3BjX19kcXVvdGV9CisgdGVzdF9zdHJpbmc9IgorIHRlc3QgeCIgPSB4CisgbWtk aXIgLi8iCisgYnVpbGQ9Li8iCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kcXVvdGUKKyBjZCAuLyIKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4IC8iLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29t cGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6IHVuc2Fm ZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlw dGlvbj1kcXVvdGUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGRxdW90 ZQorIGlzX2luX2xpc3QgZHF1b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVt PWRxdW90ZQorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1s b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBkcXVvdGUgaW4gYnVpbGRkaXIKKyBzZXQgK3gK bm90IG9rIDMgLSBkcXVvdGUgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCAzIC0gZHF1b3RlIGluIGJ1aWxkZGlyICMg VE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0g b2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWRx dW90ZQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZHF1b3RlLyIKKyBta2RpciBidWlsZC1kcXVvdGUKKyBjZCBidWls ZC1kcXVvdGUKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8iLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZHF1b3RlLyIgZmlsZT0u LyIgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYnVpbGQtZHF1b3RlwqDCuwovYmluL2Jhc2g6IC1jOiBsaWduZSAyMzogZmluIGRl IGZpY2hpZXIgKEVPRikgcHLDqW1hdHVyw6llIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGR1IMKr ICIgwrsgY29ycmVzcG9uZGFudAovYmluL2Jhc2g6IC1jOiBsaWduZSAyNjogZXJyZXVyIGRl IHN5bnRheGUgOiBmaW4gZGUgZmljaGllciBwcsOpbWF0dXLDqWUKbWFrZVsxXTogKioqIFtN YWtlZmlsZTo1NjM6IGluc3RhbGwtZGlzdF9mb29leGVjU0NSSVBUU10gRXJyb3IgMQptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWRxdW90ZcKgwrsKbWFr ZTogKioqIFtNYWtlZmlsZToxMDAyOiBpbnN0YWxsLWFtXSBFcnJvciAyCisgcj1ub3Qgb2sK KyBkZXNjcmlwdGlvbj1kcXVvdGUgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBkcXVvdGUKKyBpc19pbl9saXN0IGRxdW90ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1kcXVvdGUKKyBzaGlmdAorIHJldHVy biAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24g LS0gZHF1b3RlIGluIGRlc3RkaXIKKyBzZXQgK3gKbm90IG9rIDQgLSBkcXVvdGUgaW4gZGVz dGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMu dGFwIDQgLSBkcXVvdGUgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYnF1b3RlfQorIHRl c3Rfc3RyaW5nPWAKKyB0ZXN0IHhgID0geAorIG1rZGlyIC4vYAorIGJ1aWxkPS4vYAorIGRl c3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYnF1b3RlCisgY2QgLi9gCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv YC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJl Y3RvcnkgbmFtZQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249YnF1b3RlIGluIGJ1aWxkZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBicXVvdGUKKyBpc19pbl9saXN0IGJxdW90ZSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5l ZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1icXVvdGUKKyBzaGlmdAorIHJldHVy biAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24g LS0gYnF1b3RlIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm5vdCBvayA1IC0gYnF1b3RlIGluIGJ1 aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNw Yy50YXAgNSAtIGJxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1icXVvdGUKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJxdW90ZS9g CisgbWtkaXIgYnVpbGQtYnF1b3RlCisgY2QgYnVpbGQtYnF1b3RlCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvYC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBh bmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0 aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1n IC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNl LmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJxdW90ZS9gIGZpbGU9Li9gIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWJxdW90ZcKgwrsK L2Jpbi9iYXNoOiAtYzogbGlnbmUgMjM6IGZpbiBkZSBmaWNoaWVyIChFT0YpIHByw6ltYXR1 csOpZSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkdSDCqyBgIMK7IGNvcnJlc3BvbmRhbnQKL2Jp bi9iYXNoOiAtYzogbGlnbmUgMjY6IGVycmV1ciBkZSBzeW50YXhlIDogZmluIGRlIGZpY2hp ZXIgcHLDqW1hdHVyw6llCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NTYzOiBpbnN0YWxsLWRp c3RfZm9vZXhlY1NDUklQVFNdIEVycm9yIDEKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1icXVvdGXCoMK7Cm1ha2U6ICoqKiBbTWFrZWZpbGU6MTAwMjog aW5zdGFsbC1hbV0gRXJyb3IgMgorIHI9bm90IG9rCisgZGVzY3JpcHRpb249YnF1b3RlIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYnF1b3RlCisgaXNfaW5fbGlzdCBi cXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZf YgorIGl0ZW09YnF1b3RlCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisg cmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRP RE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGJxdW90ZSBpbiBkZXN0ZGlyCisg c2V0ICt4Cm5vdCBvayA2IC0gYnF1b3RlIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRp bmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA2IC0gYnF1b3RlIGluIGRlc3Rk aXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qg b2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0 X3N0cmluZz0ke2luc3RzcGNfX3NoYXJwfQorIHRlc3Rfc3RyaW5nPSMKKyB0ZXN0IHgjID0g eAorIG1rZGlyIC4vIworIGJ1aWxkPS4vIworIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAKKyBjZCAuLyMKKyBy PW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8jLXByZWZpeApjaGVja2luZyBmb3IgYSBC U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6 IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBk ZXNjcmlwdGlvbj1zaGFycCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQg c2hhcnAKKyBpc19pbl9saXN0IHNoYXJwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBp dGVtPXNoYXJwCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29u PWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIg bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIHNoYXJwIGluIGJ1aWxkZGlyCisgc2V0ICt4 Cm5vdCBvayA3IC0gc2hhcnAgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA3IC0gc2hhcnAgaW4gYnVpbGRkaXIgIyBU T0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBv aworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtc2hh cnAKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNoYXJwLyMKKyBta2RpciBidWlsZC1zaGFycAorIGNkIGJ1aWxkLXNo YXJwCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvIy1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMgZmlsZT0uLyMgbWFr ZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv YnVpbGQtc2hhcnDCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8v Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMv L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z aGFycC8jLy9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2hhcnAvIy8vZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNoYXJwLyMvL2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFy cC8jLy9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNo YXJwLyMvL2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zaGFycC8jLy9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zaGFycC8jLy9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2Zvby9zdWInCm1ha2Vb MV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc2hhcnDCoMK7CnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc2hhcnAvIy8uLyMtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCm1ha2U6ICoq KiBbTWFrZWZpbGU6MTE0NTogdGVzdC1pbnN0XSBFcnJvciAxCisgcj1ub3Qgb2sKKyBkZXNj cmlwdGlvbj1zaGFycCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHNoYXJw CisgaXNfaW5fbGlzdCBzaGFycCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg bGluZWZlZWQgYV9sZl9iCisgaXRlbT1zaGFycAorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJl Y3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRf IG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBzaGFycCBp biBkZXN0ZGlyCisgc2V0ICt4Cm5vdCBvayA4IC0gc2hhcnAgaW4gZGVzdGRpciAjIFRPRE8g bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDggLSBzaGFy cCBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19kb2xsYXJ9CisgdGVzdF9zdHJpbmc9JAor IHRlc3QgeCQgPSB4CisgbWtkaXIgLi8kCisgYnVpbGQ9Li8kCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIK KyBjZCAuLyQKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8kLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZp Z3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisg cj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1kb2xsYXIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90 b19mYWlsIGJ1aWxkIGRvbGxhcgorIGlzX2luX2xpc3QgZG9sbGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdy YXBoMCBhX2xmX2IKKyBpdGVtPWRvbGxhcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3Rp dmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5v dCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBkb2xsYXIgaW4g YnVpbGRkaXIKKyBzZXQgK3gKbm90IG9rIDkgLSBkb2xsYXIgaW4gYnVpbGRkaXIgIyBUT0RP IGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA5IC0gZG9s bGFyIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1l LgorIGJ1aWxkPWJ1aWxkLWRvbGxhcgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQKKyBta2RpciBidWls ZC1kb2xsYXIKKyBjZCBidWlsZC1kb2xsYXIKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJl Zml4IC8kLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRp cmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1Q IC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3Vi L2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9s aWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9sbGFyLyQgZmlsZT0uLyQgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG9sbGFywqDCuwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b2xsYXIvJC9wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv bGxhci8kL3ByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG9sbGFyLyQvcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1Yi8nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWIvJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViJwptYWtlWzFd wqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWRvbGxhcsKgwrsKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb2xsYXIvJC8uLyQtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCm1ha2U6ICoq KiBbTWFrZWZpbGU6MTE0NTogdGVzdC1pbnN0XSBFcnJvciAxCisgcj1ub3Qgb2sKKyBkZXNj cmlwdGlvbj1kb2xsYXIgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBkb2xs YXIKKyBpc19pbl9saXN0IGRvbGxhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1kb2xsYXIKKyBzaGlmdAorIHJldHVybiAwCisg ZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVz dWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gZG9s bGFyIGluIGRlc3RkaXIKKyBzZXQgK3gKbm90IG9rIDEwIC0gZG9sbGFyIGluIGRlc3RkaXIg IyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCAx MCAtIGRvbGxhciBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg c2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19iYW5nfQorIHRlc3Rfc3Ry aW5nPSEKKyB0ZXN0IHghID0geAorIG1rZGlyIC4vIQorIGJ1aWxkPS4vIQorIGRlc3Q9L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZworIGNkIC4vIQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyEtcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv bXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg d2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHll cyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRl cmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nIGZpbGU9 Li8hIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLyHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28v c3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n LyEtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvIcKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv Li8hLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEt cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9m b28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8u LyEtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRp b249YmFuZyBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgYmFuZworIGlz X2luX2xpc3QgYmFuZyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNo IGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1iYW5nCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIGJhbmcgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMTEgLSBiYW5nIGluIGJ1 aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMTEgLSBiYW5nIGluIGJ1aWxkZGlyCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJu IDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8hIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyB0ZXN0IDIgLWd0IDAK KyBjaG1vZCAtUiB1K3J3eCAuLyEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZworIHJtIC1yZiAuLyEgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZworIF9h bV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLyEKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQt YmFuZworIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisgbWtkaXIgYnVpbGQtYmFuZworIGNkIGJ1aWxkLWJh bmcKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8hLXByZWZpeApjaGVja2luZyBm b3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hl Y2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2lu ZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5n IGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMu Li4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQg b3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1 dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4g bm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9u IHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHls ZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBm b3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFy CmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3Jl YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxs CmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJp bnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c IlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAg ICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1j IC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMv c291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1n IC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFy IGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAt ZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hIGZpbGU9Li8hIG1ha2Ug dGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLWJhbmfCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4 L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS8hLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YW5nLyEvIS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS8hLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h LyEtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtYmFuZ8KgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9ub2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLyEvLi8hLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8h Ly4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4v IS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vc3Vi L25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZy8hLy4vIS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv IS8uLyEtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249YmFuZyBpbiBkZXN0 ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGJhbmcKKyBpc19pbl9saXN0IGJhbmcgc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09 YmFuZworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgIC1yICAtLSBiYW5nIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMTIgLSBiYW5n IGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAxMiAtIGJhbmcgaW4gZGVzdGRpcgor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJl dHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWJhbmcgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisg dGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggYnVpbGQtYmFuZyAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEKKyBy bSAtcmYgYnVpbGQtYmFuZyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtYmFuZworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3Bj X19ic2xhc2h9CisgdGVzdF9zdHJpbmc9XAorIHRlc3QgeFwgPSB4CisgbWtkaXIgLi9cCisg YnVpbGQ9Li9cCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gKKyBjZCAuL1wKKyByPW9rCisgLi4vY29uZmln dXJlIC0tcHJlZml4IC9cLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0 ZSB3b3JraW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1ic2xh c2ggaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJzbGFzaAorIGlzX2lu X2xpc3QgYnNsYXNoIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWJzbGFzaAor IHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5k aW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRp bmcgbGltaXRhdGlvbiAtLSBic2xhc2ggaW4gYnVpbGRkaXIKKyBzZXQgK3gKbm90IG9rIDEz IC0gYnNsYXNoIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K WEZBSUw6IHQvaW5zdHNwYy50YXAgMTMgLSBic2xhc2ggaW4gYnVpbGRkaXIgIyBUT0RPIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBvaworIDog Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtYnNsYXNoCisg ZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ic2xhc2gvXAorIG1rZGlyIGJ1aWxkLWJzbGFzaAorIGNkIGJ1aWxkLWJzbGFz aAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL1wtcHJlZml4CmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2Mg dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImlu c3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIg Y3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXCBmaWxlPS4vXCBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1ic2xhc2jCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9c LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo L1wvXC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4 L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9c LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gv XC9cLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gv XC9cLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFz aC9cL1wtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYnVpbGQtYnNsYXNowqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vbm9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJz bGFzaC9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo L1wvLi9cLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1w cmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28v c3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1ic2xhc2ggaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBic2xhc2gKKyBpc19pbl9saXN0IGJzbGFzaCBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1ic2xhc2gKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gYnNsYXNoIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMTQgLSBic2xhc2ggaW4gZGVz dGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDE0IC0gYnNsYXNoIGluIGRlc3RkaXIKKyBjZCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1ic2xhc2ggL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wKKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1ic2xhc2ggL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wK KyBybSAtcmYgYnVpbGQtYnNsYXNoIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLWJzbGFzaAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmlu Zz0ke2luc3RzcGNfX2FtcGVyc2FuZH0KKyB0ZXN0X3N0cmluZz0mCisgdGVzdCB4JiA9IHgK KyBta2RpciAuLyYKKyBidWlsZD0uLyYKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZAorIGNkIC4vJgor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyYtcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJv cjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvawor IGRlc2NyaXB0aW9uPWFtcGVyc2FuZCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwg YnVpbGQgYW1wZXJzYW5kCisgaXNfaW5fbGlzdCBhbXBlcnNhbmQgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09YW1wZXJzYW5kCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVj dGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8g bm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGFtcGVyc2Fu ZCBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sgMTUgLSBhbXBlcnNhbmQgaW4gYnVpbGRk aXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRh cCAxNSAtIGFtcGVyc2FuZCBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1hbXBlcnNhbmQKKyBkZXN0PS9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVy c2FuZC8mCisgbWtkaXIgYnVpbGQtYW1wZXJzYW5kCisgY2QgYnVpbGQtYW1wZXJzYW5kCisg cj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvJi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBp bGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1 dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNo ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBh Y2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRl cnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNo ZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFy Li4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVj a2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25m aWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2Mg LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNw Y1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAt RFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1n IC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBz b3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJj ZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIg ICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUg c3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3Vi L2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBz dWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mIGZpbGU9Li8mIG1ha2Ug dGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLWFtcGVyc2FuZMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVy c2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5h ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8m LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFt cGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8m LyYtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl LnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVy c2FuZC8mLyYtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWIvJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu ZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu ZC8mLyYtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBl cnNhbmQvJi8mLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1hbXBlcnNhbmTCoMK7 CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1w ZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQv Ji8uLyYtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJz YW5kLyYvLi8mLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJz YW5kLyYvLi8mLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFtcGVyc2Fu ZCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGFtcGVyc2FuZAorIGlzX2lu X2xpc3QgYW1wZXJzYW5kIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPWFtcGVyc2FuZAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBhbXBlcnNhbmQgaW4g ZGVzdGRpcgorIHNldCAreApvayAxNiAtIGFtcGVyc2FuZCBpbiBkZXN0ZGlyClBBU1M6IHQv aW5zdHNwYy50YXAgMTYgLSBhbXBlcnNhbmQgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfIGJ1aWxkLWFtcGVyc2FuZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJgorIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWFtcGVyc2FuZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQv JgorIHJtIC1yZiBidWlsZC1hbXBlcnNhbmQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtYW1wZXJzYW5kCisgdGVzdCAtZSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNh bmQvJgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcGVyY2VudH0KKyB0ZXN0X3N0cmluZz0lCisg dGVzdCB4JSA9IHgKKyBta2RpciAuLyUKKyBidWlsZD0uLyUKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQK KyBjZCAuLyUKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8lLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudCBmaWxlPS4v JSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8lwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj ZW50LyUtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyXCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu dC8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8u LyUtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvLi8lLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXBlcmNlbnQgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIHBlcmNlbnQKKyBpc19pbl9saXN0IHBlcmNlbnQgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09cGVyY2VudAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBwZXJjZW50IGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDE3IC0gcGVyY2VudCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDE3IC0gcGVyY2VudCBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9r Cisgcm1fcmZfIC4vJSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50CisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggLi8lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBlcmNlbnQKKyBybSAtcmYgLi8lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgLi8lCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50CisgcmV0dXJuIDAK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXBlcmNl bnQKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBlcmNlbnQvJQorIG1rZGlyIGJ1aWxkLXBlcmNlbnQKKyBjZCBidWls ZC1wZXJjZW50Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvJS1wcmVmaXgKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0 aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBN YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh c2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJSBmaWxl PS4vJSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1wZXJjZW50wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8l LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUv JS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS8lLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv JS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS8lLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv JS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu dC8lLyUtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8lLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28v c3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXBlcmNl bnTCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8l Ly4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4v JS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vc3Vi L2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPXBlcmNlbnQgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBwZXJjZW50CisgaXNfaW5fbGlzdCBwZXJjZW50IHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXBlcmNlbnQKKyBz aGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICAtciAgLS0gcGVyY2VudCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDE4IC0gcGVyY2VudCBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMTggLSBwZXJjZW50IGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1wZXJjZW50IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXBlcmNlbnQgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8lCisgcm0gLXJmIGJ1aWxkLXBlcmNlbnQgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXBlcmNlbnQKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fbGVmdHBhcn0KKyB0ZXN0X3N0cmluZz0oCisg dGVzdCB4KCA9IHgKKyBta2RpciAuLygKKyBidWlsZD0uLygKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIK KyBjZCAuLygKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8oLXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhciBmaWxlPS4v KCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8owqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0 cGFyLygtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVm dHBhci8oLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyjCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh ci8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8u LygtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvLi8oLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPWxlZnRwYXIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIGxlZnRwYXIKKyBpc19pbl9saXN0IGxlZnRwYXIgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09bGVmdHBhcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBsZWZ0cGFyIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDE5IC0gbGVmdHBhciBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDE5IC0gbGVmdHBhciBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9r Cisgcm1fcmZfIC4vKCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggLi8oIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlZnRwYXIKKyBybSAtcmYgLi8oIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgLi8oCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgcmV0dXJuIDAK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxlZnRw YXIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlZnRwYXIvKAorIG1rZGlyIGJ1aWxkLWxlZnRwYXIKKyBjZCBidWls ZC1sZWZ0cGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKC1wcmVmaXgKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0 aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBN YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh c2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKCBmaWxl PS4vKCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1sZWZ0cGFywqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8o LygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygv KC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC8oLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv KC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv KC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh ci8oLygtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28v c3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxlZnRw YXLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVm dHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8o Ly4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4v KC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vc3Vi L2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPWxlZnRwYXIgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBsZWZ0cGFyCisgaXNfaW5fbGlzdCBsZWZ0cGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxlZnRwYXIKKyBz aGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICAtciAgLS0gbGVmdHBhciBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDIwIC0gbGVmdHBhciBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjAgLSBsZWZ0cGFyIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sZWZ0cGFyIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxlZnRwYXIgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oCisgcm0gLXJmIGJ1aWxkLWxlZnRwYXIgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWxlZnRwYXIKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcmlnaHRwYXJ9CisgdGVzdF9zdHJpbmc9KQor IHRlc3QgeCkgPSB4CisgbWtkaXIgLi8pCisgYnVpbGQ9Li8pCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh cgorIGNkIC4vKQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyktcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisg bWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJj ZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAg CmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhciBmaWxl PS4vKSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci8pwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LyktcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9m b28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zv by9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIv bGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv KS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv KS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLynCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL25vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJp Z2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvLi8pLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy Ly4vKS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXBy ZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4 L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl LmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbGlibm9iYXNlLmEn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXJpZ2h0cGFyIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWls ZCByaWdodHBhcgorIGlzX2luX2xpc3QgcmlnaHRwYXIgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cmlnaHRwYXIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcmlnaHRwYXIgaW4gYnVpbGRkaXIK KyBzZXQgK3gKb2sgMjEgLSByaWdodHBhciBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDIxIC0gcmlnaHRwYXIgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyAuLykgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3 eCAuLykgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmlnaHRwYXIKKyBybSAtcmYgLi8pIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCisgX2FtX3JtcmZf c3RhdHVzPTAKKyB0ZXN0IC1lIC4vKQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtcmln aHRwYXIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykKKyBta2RpciBidWlsZC1yaWdodHBhcgorIGNk IGJ1aWxkLXJpZ2h0cGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKS1wcmVm aXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4g eWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0 aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi L2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LykgZmlsZT0uLykgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvYnVpbGQtcmlnaHRwYXLCoMK7CiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLyktcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8pLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWIvJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p LyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLykt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLykt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24g cXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcmlnaHRwYXLCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0 cGFyLykvLi8pLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pLy4vKS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykv Li8pLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p Ly4vKS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4v KS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2xpYm5v YmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXJpZ2h0cGFyIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19m YWlsIGRlc3QgcmlnaHRwYXIKKyBpc19pbl9saXN0IHJpZ2h0cGFyIHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXJpZ2h0cGFyCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIHJpZ2h0cGFyIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMjIgLSByaWdodHBh ciBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjIgLSByaWdodHBhciBpbiBkZXN0 ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtcmlnaHRwYXIgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXJpZ2h0 cGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLykKKyBybSAtcmYgYnVpbGQtcmlnaHRwYXIgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv KQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1yaWdodHBhcgorIHRlc3Qg LWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcmlnaHRwYXIvKQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVk IHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcGlwZX0KKyB0ZXN0X3N0 cmluZz18CisgdGVzdCB4fCA9IHgKKyBta2RpciAuL3wKKyBidWlsZD0uL3wKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUKKyBjZCAuL3wKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC98LXByZWZp eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGly IC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3Rl ZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5 ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2Nj MwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50 ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9z b3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJj ZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl Lm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIv bGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp YmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZSBmaWxl PS4vfCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci98wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9v L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlw ZS98LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL3zCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl Ly4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98 LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgv Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv Li98LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPXBpcGUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHBpcGUKKyBp c19pbl9saXN0IHBpcGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09cGlwZQor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBwaXBlIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDIzIC0gcGlwZSBpbiBi dWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDIzIC0gcGlwZSBpbiBidWlsZGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vfCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCisgdGVzdCAyIC1ndCAw CisgY2htb2QgLVIgdStyd3ggLi98IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUKKyBybSAtcmYgLi98IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi98CisgdGVzdCAtZSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCisgcmV0 dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxk LXBpcGUKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBpcGUvfAorIG1rZGlyIGJ1aWxkLXBpcGUKKyBjZCBidWlsZC1w aXBlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfC1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfCBmaWxlPS4vfCBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1waXBlwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZp eC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wvfC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGlwZS98L3wtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98 LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wvfC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC98LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2J1aWxkLXBpcGXCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv fC8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8u L3wtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1waXBlL3wvLi98LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl L3wvLi98LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXBpcGUgaW4gZGVz dGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwaXBlCisgaXNfaW5fbGlzdCBwaXBlIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXBpcGUKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gcGlwZSBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDI0IC0gcGlw ZSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjQgLSBwaXBlIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1waXBlIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfAor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXBpcGUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Cisg cm0gLXJmIGJ1aWxkLXBpcGUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIGJ1aWxkLXBpcGUKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfAorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNw Y19fY2FyZXR9CisgdGVzdF9zdHJpbmc9XgorIHRlc3QgeF4gPSB4CisgbWtkaXIgLi9eCisg YnVpbGQ9Li9eCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldAorIGNkIC4vXgorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggL14tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJldCBmaWxlPS4vXiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9ewqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvbycg JiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWIvJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC9eLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNl ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC9eLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0 L14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQvXi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL17C oMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8u L14tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14t cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgv Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC8uL14tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9zdWIv bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbGlibm9i YXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWNhcmV0IGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWls ZCBjYXJldAorIGlzX2luX2xpc3QgY2FyZXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgor IGl0ZW09Y2FyZXQKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0K KyByZXN1bHRfIG9rIC1EICAtciAgLS0gY2FyZXQgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sg MjUgLSBjYXJldCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDI1IC0gY2FyZXQg aW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL14gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuL14gL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQKKyBybSAt cmYgLi9eIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vXgorIHRl c3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FyZXQKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBz ZXQgLWUuCisgYnVpbGQ9YnVpbGQtY2FyZXQKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14KKyBta2RpciBi dWlsZC1jYXJldAorIGNkIGJ1aWxkLWNhcmV0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXBy ZWZpeCAvXi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14gZmlsZT0uL14gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtY2FyZXTCoMK7CiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi9eLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e L14tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eL14tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNl ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14v Xi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28v c3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi9eLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi9eLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nICYm IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9e LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9z dWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJl dC9eL14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQvXi9eLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv Xi9eLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e L14tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtY2FyZXTCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcmV0L14vLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJldC9eLy4vXi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e Ly4vXi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPWNhcmV0IGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgY2FyZXQKKyBp c19pbl9saXN0IGNhcmV0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPWNhcmV0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNhcmV0IGluIGRlc3RkaXIK KyBzZXQgK3gKb2sgMjYgLSBjYXJldCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAg MjYgLSBjYXJldCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g YnVpbGQtY2FyZXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4 IGJ1aWxkLWNhcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcmV0L14KKyBybSAtcmYgYnVpbGQtY2FyZXQgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv XgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1jYXJldAorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY2FyZXQvXgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fdGlsZGV9CisgdGVzdF9zdHJpbmc9 fgorIHRlc3QgeH4gPSB4CisgbWtkaXIgLi9+CisgYnVpbGQ9Li9+CisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxk ZQorIGNkIC4vfgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL34tcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisg bWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJj ZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAg CmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZSBmaWxlPS4v fiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9+wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVm aXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl L34tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nICYmIHJh bmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1Yi8nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL37CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUv Li9+LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1w cmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNl LmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvLi9+LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4v fi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9ub2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvLi9+LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGls ZGUvLi9+LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXRpbGRlIGluIGJ1 aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCB0aWxkZQorIGlzX2luX2xpc3QgdGls ZGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09dGlsZGUKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g dGlsZGUgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMjcgLSB0aWxkZSBpbiBidWlsZGRpcgpQ QVNTOiB0L2luc3RzcGMudGFwIDI3IC0gdGlsZGUgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1f a2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRl c3Qgb2sgPSBvaworIHJtX3JmXyAuL34gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyB0ZXN0IDIgLWd0IDAKKyBjaG1v ZCAtUiB1K3J3eCAuL34gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyBybSAtcmYgLi9+IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vfgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtdGls ZGUKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlL34KKyBta2RpciBidWlsZC10aWxkZQorIGNkIGJ1aWxkLXRp bGRlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfi1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34gZmlsZT0uL34gbWFr ZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv YnVpbGQtdGlsZGXCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+ LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycgJiYgcmFubGli IGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwg LWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vfi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10aWxkZS9+L34tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvby9zdWInCm1ha2Vb MV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtdGlsZGXCoMK7CnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4v fi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+ LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28v c3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL25v YmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vLi9+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4v fi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4v fi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXRpbGRlIGluIGRlc3RkaXIKKyBl eHBlY3RlZF90b19mYWlsIGRlc3QgdGlsZGUKKyBpc19pbl9saXN0IHRpbGRlIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXRpbGRl Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBv ayAtRCAgLXIgIC0tIHRpbGRlIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMjggLSB0aWxkZSBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjggLSB0aWxkZSBpbiBkZXN0ZGlyCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtdGlsZGUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfgor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXRpbGRlIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34K KyBybSAtcmYgYnVpbGQtdGlsZGUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfgorIF9hbV9ybXJmX3N0YXR1cz0wCisg dGVzdCAtZSBidWlsZC10aWxkZQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfgorIHJldHVybiAwCisg OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7 aW5zdHNwY19fcW1hcmt9CisgdGVzdF9zdHJpbmc9PworIHRlc3QgeD8gPSB4CisgbWtkaXIg Li8/CisgYnVpbGQ9Li8/CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyaworIGNkIC4vPworIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggLz8tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAt ZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2Uu YQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz ZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xbWFyayBmaWxlPS4vPyBtYWtlIHRlc3QtaW5zdAptYWtlWzFd wqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8/wqDCuwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/ LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsv Py1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWIv JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWInCiAoIGNk ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8/LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv bm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8/LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLz/CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL25vYmFz ZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8uLz8tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1w cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbm9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsv Li8/LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zv by9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28v bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXFtYXJrIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFp bCBidWlsZCBxbWFyaworIGlzX2luX2xpc3QgcW1hcmsgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cW1hcmsKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJl YXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcW1hcmsgaW4gYnVpbGRkaXIKKyBzZXQg K3gKb2sgMjkgLSBxbWFyayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDI5IC0g cW1hcmsgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLz8g L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLz8gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsK KyBybSAtcmYgLi8/IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXFtYXJrCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4v PworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcW1hcmsKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1 c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtcW1hcmsKKyBkZXN0PS9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8KKyBt a2RpciBidWlsZC1xbWFyaworIGNkIGJ1aWxkLXFtYXJrCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvPy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAg IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy dSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBE RVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLz8gZmlsZT0uLz8gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcW1hcmvCoMK7CiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Lz8tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFt YXJrLz8vPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZp eC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8v Py1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy8/LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9m b28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy8/LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4 L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsv Py8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPy8/LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/ LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Lz8tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvYnVpbGQtcW1hcmvCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8u Lz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXFtYXJrIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcW1h cmsKKyBpc19pbl9saXN0IHFtYXJrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXFtYXJrCisgc2hpZnQKKyByZXR1cm4gMQorIGRp cmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHFtYXJrIGluIGRl c3RkaXIKKyBzZXQgK3gKb2sgMzAgLSBxbWFyayBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNw Yy50YXAgMzAgLSBxbWFyayBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBy bV9yZl8gYnVpbGQtcW1hcmsgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1S IHUrcnd4IGJ1aWxkLXFtYXJrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8KKyBybSAtcmYgYnVpbGQtcW1hcmsgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cW1hcmsvPworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1xbWFyaworIHRl c3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcW1hcmsvPworIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVk IHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fc3Rhcn0KKyB0ZXN0X3N0 cmluZz0qCisgdGVzdCB4KiA9IHgKKyBta2RpciAuLyoKKyBidWlsZD0uLyoKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIKKyBjZCAuLyoKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8qLXByZWZp eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGly IC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3Rl ZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv ciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5n IHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5 ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2Nj MwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50 ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5k cworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf VEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FH RV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBc IiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9z b3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJj ZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl Lm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIv bGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp YmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3RhciBmaWxl PS4vKiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci8qwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9v L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rh ci8qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLyrCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy Ly4vKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8q LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgv Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Li8qLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPXN0YXIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHN0YXIKKyBp c19pbl9saXN0IHN0YXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09c3Rhcgor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBzdGFyIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDMxIC0gc3RhciBpbiBi dWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDMxIC0gc3RhciBpbiBidWlsZGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vKiAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgdGVzdCAyIC1ndCAw CisgY2htb2QgLVIgdStyd3ggLi8qIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIKKyBybSAtcmYgLi8qIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8qCisgdGVzdCAtZSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgcmV0 dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxk LXN0YXIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXN0YXIvKgorIG1rZGlyIGJ1aWxkLXN0YXIKKyBjZCBidWlsZC1z dGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKi1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKiBmaWxlPS4vKiBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1zdGFywqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZp eC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyovKi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3Rhci8qLyotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8q LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyovKi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki8qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2J1aWxkLXN0YXLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Ki8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8u LyotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIvKi8uLyotcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy LyovLi8qLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXN0YXIgaW4gZGVz dGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBzdGFyCisgaXNfaW5fbGlzdCBzdGFyIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PXN0YXIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gc3RhciBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDMyIC0gc3Rh ciBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzIgLSBzdGFyIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1zdGFyIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKgor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXN0YXIgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qCisg cm0gLXJmIGJ1aWxkLXN0YXIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIGJ1aWxkLXN0YXIKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKgorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNw Y19fcGx1c30KKyB0ZXN0X3N0cmluZz0rCisgdGVzdCB4KyA9IHgKKyBta2RpciAuLysKKyBi dWlsZD0uLysKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMKKyBjZCAuLysKKyByPW9rCisgLi4vY29uZmlndXJl IC0tcHJlZml4IC8rLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERF U1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cyBmaWxlPS4vKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8rwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKy1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9u b2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv Ky1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3Vi LycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wbHVzLystcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1YicKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1 aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyLyvCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8r LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVm aXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBsdXMvLi8rLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPXBsdXMgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19m YWlsIGJ1aWxkIHBsdXMKKyBpc19pbl9saXN0IHBsdXMgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cGx1cworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBwbHVzIGluIGJ1aWxkZGlyCisgc2V0ICt4 Cm9rIDMzIC0gcGx1cyBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDMzIC0gcGx1 cyBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vKyAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w bHVzCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8rIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMKKyBybSAt cmYgLi8rIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8rCisgdGVz dCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0 IC1lLgorIGJ1aWxkPWJ1aWxkLXBsdXMKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKworIG1rZGlyIGJ1aWxk LXBsdXMKKyBjZCBidWlsZC1wbHVzCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv Ky1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3Rp dmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj Li4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYg LmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl IHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g LWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKyBmaWxlPS4vKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMg bGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9idWlsZC1wbHVzwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLystcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXBy ZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLyst cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwg LWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv Ky8rLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysv Ky1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1 aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXBsdXPCoMK7CnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysv Li8rLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r Ly4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9saWJub2Jhc2UuYScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPXBsdXMgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwbHVzCisg aXNfaW5fbGlzdCBwbHVzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPXBsdXMKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcGx1cyBpbiBkZXN0ZGlyCisg c2V0ICt4Cm9rIDM0IC0gcGx1cyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzQg LSBwbHVzIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWls ZC1wbHVzIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxk LXBsdXMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rCisgcm0gLXJmIGJ1aWxkLXBsdXMgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXBsdXMKKyB0ZXN0IC1lIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKwor IHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRl c3Rfc3RyaW5nPSR7aW5zdHNwY19fbWludXN9CisgdGVzdF9zdHJpbmc9LQorIHRlc3QgeC0g PSB4CisgbWtkaXIgLi8tCisgYnVpbGQ9Li8tCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cworIGNkIC4vLQor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLy0tcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cyBmaWxlPS4vLSBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8twqDCuwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKICggY2QgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taW51cy8tLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zv by9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv bm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyLy3CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL25v YmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4v LS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8u Ly0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8t LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZp eC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPW1pbnVzIGluIGJ1aWxkZGlyCisgZXhw ZWN0ZWRfdG9fZmFpbCBidWlsZCBtaW51cworIGlzX2luX2xpc3QgbWludXMgc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVh ZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bWludXMKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbWludXMgaW4gYnVp bGRkaXIKKyBzZXQgK3gKb2sgMzUgLSBtaW51cyBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDM1IC0gbWludXMgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyAuLy0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAu Ly0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMKKyBybSAtcmYgLi8tIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIC4vLQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMKKyByZXR1cm4gMAorIDogRm9yIHNo ZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtbWludXMKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0KKyBta2RpciBidWlsZC1taW51cworIGNkIGJ1aWxkLW1pbnVzCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRo ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5k cyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBm b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAt TVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2Uu byAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Qbwpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBz dWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xp YmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v YmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli bm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0gZmlsZT0uLy0gbWFrZSB0ZXN0LWluc3QK bWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWludXPC oMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9p bnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlu dXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8t LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS8tLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51 cy8tLy0tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0vLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0t cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVp dHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWludXPCoMK7CnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlu dXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS8uLy0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1w cmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28v bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vc3ViL25vYmFzZS5z aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0vLi8tLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8t LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9v L3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPW1pbnVzIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19m YWlsIGRlc3QgbWludXMKKyBpc19pbl9saXN0IG1pbnVzIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPW1pbnVzCisgc2hpZnQKKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0t IG1pbnVzIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMzYgLSBtaW51cyBpbiBkZXN0ZGlyClBB U1M6IHQvaW5zdHNwYy50YXAgMzYgLSBtaW51cyBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtbWludXMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQorIHRlc3QgMiAtZ3Qg MAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLW1pbnVzIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0KKyBybSAtcmYgYnVp bGQtbWludXMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWludXMvLQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWls ZC1taW51cworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxz IHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY29t bWF9CisgdGVzdF9zdHJpbmc9LAorIHRlc3QgeCwgPSB4CisgbWtkaXIgLi8sCisgYnVpbGQ9 Li8sCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jb21tYQorIGNkIC4vLAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggLywtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwu Li4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBn Y2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNo ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg QyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBu ZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0 aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUg ZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJj aGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5s aWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRl cGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdS RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1E VkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYg LWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBz dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2Uu byAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3Vi L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJ Uj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb21tYSBmaWxlPS4vLCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJl IGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8swqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1w cmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1w cmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9m b28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyzCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4 L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu c2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8u LywtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbGlibm9iYXNlLmEn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPWNvbW1hIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBjb21t YQorIGlzX2luX2xpc3QgY29tbWEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 Y29tbWEKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gY29tbWEgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMzcgLSBj b21tYSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDM3IC0gY29tbWEgaW4gYnVp bGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLywgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEKKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLywgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEKKyBybSAtcmYgLi8s IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbW1hCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vLAorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29tbWEKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgYnVpbGQ9YnVpbGQtY29tbWEKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKKyBta2RpciBidWlsZC1j b21tYQorIGNkIGJ1aWxkLWNvbW1hCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv LC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3Rp dmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj Li4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYg LmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl IHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g LWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywgZmlsZT0uLywgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtY29tbWHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC8sLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJl Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLywtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8sLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViLycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nICYmIHJhbmxp YiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2Zvby9zdWIvJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8s LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJl Zml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVp bGQtY29tbWHCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9ub2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1h LywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s Ly4vLC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zv by9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbm9i YXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWNv bW1hIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgY29tbWEKKyBpc19pbl9s aXN0IGNvbW1hIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBh X2xmX2IKKyBpdGVtPWNvbW1hCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNvbW1hIGluIGRlc3RkaXIKKyBzZXQg K3gKb2sgMzggLSBjb21tYSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzggLSBj b21tYSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQt Y29tbWEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxk LWNvbW1hIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbW1hLywKKyBybSAtcmYgYnVpbGQtY29tbWEgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLAorIF9h bV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1jb21tYQorIHRlc3QgLWUgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29t bWEvLAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBl dmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY29sb259CisgdGVzdF9zdHJpbmc9OgorIHRl c3QgeDogPSB4CisgbWtkaXIgLi86CisgY2QgLi86CisgYnVpbGQ9Li86CisgZGVzdD0vaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b2xvbgorIGNkIC4vOgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLzotcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv bXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg d2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHll cyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRl cmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbiBmaWxl PS4vOiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci86wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zv bycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1w cmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v Oi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bG9uLzotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nICYm IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1Yi8n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28vc3ViJwptYWtlWzFd wqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLzrCoMK7CnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29s b24vLi86LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4v Oi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29sb24vLi86LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u Ly4vOi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZp eC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9u b2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29sb24vLi86LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWNvbG9uIGlu IGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBjb2xvbgorIGlzX2luX2xpc3Qg Y29sb24gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09Y29sb24KKyBzaGlmdAor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAg LS0gY29sb24gaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgMzkgLSBjb2xvbiBpbiBidWlsZGRp cgpQQVNTOiB0L2luc3RzcGMudGFwIDM5IC0gY29sb24gaW4gYnVpbGRkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyB0ZXN0IDIgLWd0IDAKKyBj aG1vZCAtUiB1K3J3eCAuLzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyBybSAtcmYgLi86IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uCisgX2Ft X3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vOgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQt Y29sb24KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLzoKKyBta2RpciBidWlsZC1jb2xvbgorIGNkIGJ1aWxk LWNvbG9uCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvOi1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzogZmlsZT0uLzog bWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtY29sb27CoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzov Oi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v Oi86LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zv bycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3Rh bGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWInCm1h a2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtY29sb27CoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzov Li86LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1w cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86LXByZWZpeC9m b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9v L25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzovLi86LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovLi86LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 Ly4vOi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 Ly4vOi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86 LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWNvbG9uIGluIGRlc3RkaXIK KyBleHBlY3RlZF90b19mYWlsIGRlc3QgY29sb24KKyBpc19pbl9saXN0IGNvbG9uIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWNv bG9uCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0 XyBvayAtRCAgLXIgIC0tIGNvbG9uIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNDAgLSBjb2xv biBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNDAgLSBjb2xvbiBpbiBkZXN0ZGly CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtY29sb24gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v OgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWNvbG9uIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u LzoKKyBybSAtcmYgYnVpbGQtY29sb24gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOgorIF9hbV9ybXJmX3N0YXR1cz0w CisgdGVzdCAtZSBidWlsZC1jb2xvbgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOgorIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5n PSR7aW5zdHNwY19fc2VtaWNvbH0KKyB0ZXN0X3N0cmluZz07CisgdGVzdCB4OyA9IHgKKyBt a2RpciAuLzsKKyBidWlsZD0uLzsKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wKKyBjZCAuLzsKKyByPW9r CisgLi4vY29uZmlndXJlIC0tcHJlZml4IC87LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg d29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZp bGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg Z2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2Vw dCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3Rh bmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tp bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4g YXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5n IGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFy ZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9j b25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAx LjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD S0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8y IC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJj ZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBv CmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1v IHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIv bGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGli bm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbCBmaWxlPS4vOyBtYWtlIHRlc3QtaW5z dAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci87wqDCuwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1w cmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1p Y29sLzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVm aXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXBy ZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNl bWljb2wvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzst cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzstcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv bC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWlj b2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSBy w6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyLzvCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNlbWljb2wvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z ZW1pY29sLy4vOy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s Ly4vOy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPXNlbWljb2wgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHNlbWlj b2wKKyBpc19pbl9saXN0IHNlbWljb2wgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s bGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0 ZW09c2VtaWNvbAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQor IHJlc3VsdF8gb2sgLUQgIC1yICAtLSBzZW1pY29sIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9r IDQxIC0gc2VtaWNvbCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQxIC0gc2Vt aWNvbCBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vOyAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi87IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWlj b2wKKyBybSAtcmYgLi87IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgLi87CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMg d2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXNlbWljb2wKKyBkZXN0PS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNl bWljb2wvOworIG1rZGlyIGJ1aWxkLXNlbWljb2wKKyBjZCBidWlsZC1zZW1pY29sCisgcj1v aworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvOy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0 YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4u IGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2lu ZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1P MiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3Vy Y2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAt byBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3Vi L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp Ym5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOyBmaWxlPS4vOyBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1z ZW1pY29swqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv Oy87LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Lzst cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87 LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycgJiYg cmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsv Oy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2Zv by9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87 LzstcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv Oy87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbC87LzstcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXNlbWljb2zCoMK7CnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzsvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv bC87Ly4vOy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87 Ly4vOy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzst cHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzst cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL25v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPXNlbWljb2wgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBzZW1p Y29sCisgaXNfaW5fbGlzdCBzZW1pY29sIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXNlbWljb2wKKyBzaGlmdAorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gc2VtaWNv bCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDQyIC0gc2VtaWNvbCBpbiBkZXN0ZGlyClBBU1M6 IHQvaW5zdHNwYy50YXAgNDIgLSBzZW1pY29sIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyBidWlsZC1zZW1pY29sIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOworIHRlc3QgMiAt Z3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXNlbWljb2wgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Cisgcm0g LXJmIGJ1aWxkLXNlbWljb2wgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIGJ1aWxkLXNlbWljb2wKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOworIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5n PSR7aW5zdHNwY19fZXF1YWx9CisgdGVzdF9zdHJpbmc9PQorIHRlc3QgeD0gPSB4CisgbWtk aXIgLi89CisgYnVpbGQ9Li89CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbAorIGNkIC4vPQorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLz0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBu YW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMg LWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1U IHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8g Li4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2Nj ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJi YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jh c2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5v YmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbCBmaWxlPS4vPSBtYWtlIHRlc3QtaW5zdAptYWtl WzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci89wqDCuwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJl Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh bC89LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWInCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz dWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC89LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLz3CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4v PS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28v bm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvLi89LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4 L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPWVxdWFsIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9f ZmFpbCBidWlsZCBlcXVhbAorIGlzX2luX2xpc3QgZXF1YWwgc3F1b3RlIGRxdW90ZSBicXVv dGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgw IGFfbGZfYgorIGl0ZW09ZXF1YWwKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gZXF1YWwgaW4gYnVpbGRkaXIKKyBz ZXQgK3gKb2sgNDMgLSBlcXVhbCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQz IC0gZXF1YWwgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAu Lz0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLz0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwKKyBybSAtcmYgLi89IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1l IC4vPQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRo IGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtZXF1YWwKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0K KyBta2RpciBidWlsZC1lcXVhbAorIGNkIGJ1aWxkLWVxdWFsCisgcj1vaworIC4uL2NvbmZp Z3VyZSAtLXByZWZpeCAvPS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQg LW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUg aW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5n IHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNl Lm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl IHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy IGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEK KyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0gZmlsZT0uLz0gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKg OiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZXF1YWzCoMK7CiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Lz0tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXBy ZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Lz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZp eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS89LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwvPS89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0v PS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89 Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS89LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Lz0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLD qXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvYnVpbGQtZXF1YWzCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJl Zml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vbm9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89 LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2xpYm5vYmFz ZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWVxdWFsIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3Qg ZXF1YWwKKyBpc19pbl9saXN0IGVxdWFsIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWVxdWFsCisgc2hpZnQKKyByZXR1cm4gMQor IGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGVxdWFsIGlu IGRlc3RkaXIKKyBzZXQgK3gKb2sgNDQgLSBlcXVhbCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgNDQgLSBlcXVhbCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtZXF1YWwgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPQorIHRlc3QgMiAtZ3QgMAorIGNobW9k IC1SIHUrcnd4IGJ1aWxkLWVxdWFsIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0KKyBybSAtcmYgYnVpbGQtZXF1YWwg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZXF1YWwvPQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1lcXVhbAor IHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZXF1YWwvPQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fbGVzc30KKyB0ZXN0 X3N0cmluZz08CisgdGVzdCB4PCA9IHgKKyBta2RpciAuLzwKKyBidWlsZD0uLzwKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MKKyBjZCAuLzwKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC88LXBy ZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtl IHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5l c3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Ig c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4u LiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4g Z2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikg aW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t YW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVw cy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3Nv dXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291 cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBz dWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcyBm aWxlPS4vPCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci88wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9v JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi L2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVzcy88LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLzzCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9i YXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv Li88LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL25vYmFzZS5z aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvLi88LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPWxlc3MgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGxlc3MK KyBpc19pbl9saXN0IGxlc3Mgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJz bGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bGVz cworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgIC1yICAtLSBsZXNzIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDQ1IC0gbGVzcyBp biBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ1IC0gbGVzcyBpbiBidWlsZGRpcgor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJl dHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vPCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisgdGVzdCAyIC1n dCAwCisgY2htb2QgLVIgdStyd3ggLi88IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MKKyBybSAtcmYgLi88IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MK KyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi88CisgdGVzdCAtZSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLWxlc3MKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPAorIG1rZGlyIGJ1aWxkLWxlc3MKKyBjZCBidWls ZC1sZXNzCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvPC1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPCBmaWxlPS4vPCBt YWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9idWlsZC1sZXNzwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXBy ZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGli YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwv PC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVzcy88LzwtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC88LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 LzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88 LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC88LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2J1aWxkLWxlc3PCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28v bm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvPC8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC8uLzwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLzwvLi88LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWxlc3MgaW4g ZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBsZXNzCisgaXNfaW5fbGlzdCBsZXNz IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBp dGVtPWxlc3MKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyBy ZXN1bHRfIG9rIC1EICAtciAgLS0gbGVzcyBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDQ2IC0g bGVzcyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNDYgLSBsZXNzIGluIGRlc3Rk aXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sZXNzIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxlc3MgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 Cisgcm0gLXJmIGJ1aWxkLWxlc3MgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIGJ1aWxkLWxlc3MKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPAorIHJldHVybiAwCisgOiBG b3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5z dHNwY19fbW9yZX0KKyB0ZXN0X3N0cmluZz0+CisgdGVzdCB4PiA9IHgKKyBta2RpciAuLz4K KyBidWlsZD0uLz4KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUKKyBjZCAuLz4KKyByPW9rCisgLi4vY29uZmln dXJlIC0tcHJlZml4IC8+LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBt a2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBn Y2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0 aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4u IG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAt byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBp bmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVz CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1 dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1c Imluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVS U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3Rz cGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2Uu byAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJj ZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8y ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug c291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIg Y3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQor IERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZSBmaWxlPS4vPiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8+wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVm aXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1v cmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28v c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLz7CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4t cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUv Li8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1w cmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNl Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1w cmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVm aXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPW1vcmUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90 b19mYWlsIGJ1aWxkIG1vcmUKKyBpc19pbl9saXN0IG1vcmUgc3F1b3RlIGRxdW90ZSBicXVv dGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgw IGFfbGZfYgorIGl0ZW09bW9yZQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBtb3JlIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDQ3IC0gbW9yZSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ3IC0g bW9yZSBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vPiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1tb3JlCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8+IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUKKyBy bSAtcmYgLi8+IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8+Cisg dGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg c2V0IC1lLgorIGJ1aWxkPWJ1aWxkLW1vcmUKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPgorIG1rZGlyIGJ1 aWxkLW1vcmUKKyBjZCBidWlsZC1tb3JlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvPi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4g L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0 IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJl Y3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg Z2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZl ciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpj aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJT SU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAt TUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9i YXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAK cm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGli bm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPiBmaWxlPS4vPiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRh bnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1tb3JlwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+Lz4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4v Pi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+ LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+ Lz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1v cmUvPi8+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3Jl Lz4vPi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLW1vcmXCoMK7CnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3Jl Lz4vLi8+LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1w cmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28v c3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL25v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9y ZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4v Pi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vc3ViL2xpYm5v YmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPW1vcmUgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBtb3Jl CisgaXNfaW5fbGlzdCBtb3JlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBs aW5lZmVlZCBhX2xmX2IKKyBpdGVtPW1vcmUKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0 aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbW9yZSBpbiBkZXN0ZGly Cisgc2V0ICt4Cm9rIDQ4IC0gbW9yZSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAg NDggLSBtb3JlIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBi dWlsZC1tb3JlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1 aWxkLW1vcmUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Cisgcm0gLXJmIGJ1aWxkLW1vcmUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+CisgX2Ft X3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLW1vcmUKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUv PgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFs IHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYXR9CisgdGVzdF9zdHJpbmc9QAorIHRlc3QgeEAg PSB4CisgbWtkaXIgLi9ACisgYnVpbGQ9Li9ACisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdAorIGNkIC4vQAorIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0AtcHJlZml4CmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJz dGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAt TzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291 cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1 Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdCBmaWxlPS4vQCBtYWtlIHRlc3QtaW5zdApt YWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9AwqDCuwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQv QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQv QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0At cHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1w cmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViJwpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL0DCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9v L2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRh dCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9A LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9zdWIv bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbGlibm9iYXNl LmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2Ny aXB0aW9uPWF0IGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBhdAorIGlz X2luX2xpc3QgYXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBh bXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YXQKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gYXQgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNDkgLSBhdCBpbiBidWlsZGRpcgpQ QVNTOiB0L2luc3RzcGMudGFwIDQ5IC0gYXQgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyAuL0AgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCAuL0AgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYXQKKyBybSAtcmYgLi9AIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0CisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIC4vQAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtYXQKKyBkZXN0PS9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AK KyBta2RpciBidWlsZC1hdAorIGNkIGJ1aWxkLWF0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvQC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AgZmlsZT0uL0AgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYXTCoMK7CiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hdC9AL0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC9ALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv bycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZp eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv by9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0At cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hdC9AL0AtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYXTCoMK7CnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8u L0AtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h dC9ALy4vQC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9z dWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h dC9ALy4vQC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9A Ly4vQC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWF0IGluIGRlc3RkaXIKKyBleHBl Y3RlZF90b19mYWlsIGRlc3QgYXQKKyBpc19pbl9saXN0IGF0IHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWF0Cisgc2hpZnQKKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0t IGF0IGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNTAgLSBhdCBpbiBkZXN0ZGlyClBBU1M6IHQv aW5zdHNwYy50YXAgNTAgLSBhdCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUr cnd4IGJ1aWxkLWF0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWF0L0AKKyBybSAtcmYgYnVpbGQtYXQgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQAorIF9hbV9y bXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1hdAorIHRlc3QgLWUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQAorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fbHFicmFja30KKyB0ZXN0X3N0cmluZz1bCisgdGVzdCB4WyA9 IHgKKyBta2RpciAuL1sKKyBidWlsZD0uL1sKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sKKyBjZCAuL1sK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9bLXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjayBmaWxlPS4vWyBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9bwqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh Y2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL1vCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8u L1stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPWxxYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IGxxYnJhY2sKKyBpc19pbl9saXN0IGxxYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09bHFicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBscWJyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDUxIC0gbHFicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDUx IC0gbHFicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vWyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9bIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxxYnJhY2sKKyBybSAtcmYgLi9bIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi9bCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxxYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxxYnJhY2svWworIG1rZGlyIGJ1aWxkLWxxYnJhY2sKKyBjZCBidWlsZC1scWJyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvWy1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWyBmaWxlPS4vWyBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1scWJyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy9bLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9b LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9b LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh Y2svWy9bLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay9bL1stcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9b L1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy9bLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxxYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay9bLy4vWy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy8uL1stcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv Wy8uL1stcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4v Wy1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWxxYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBscWJyYWNrCisgaXNfaW5fbGlzdCBscWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxxYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g bHFicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDUyIC0gbHFicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTIgLSBscWJyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1scWJyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWworIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxxYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9b Cisgcm0gLXJmIGJ1aWxkLWxxYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bCisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLWxxYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWworIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fcnFicmFja30KKyB0ZXN0X3N0cmluZz1dCisgdGVzdCB4XSA9 IHgKKyBta2RpciAuL10KKyBidWlsZD0uL10KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sKKyBjZCAuL10K KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9dLXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjayBmaWxlPS4vXSBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9dwqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh Y2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy YWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL13CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8u L10tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXJxYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IHJxYnJhY2sKKyBpc19pbl9saXN0IHJxYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09cnFicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBycWJyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDUzIC0gcnFicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDUz IC0gcnFicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vXSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9dIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJxYnJhY2sKKyBybSAtcmYgLi9dIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi9dCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXJxYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJxYnJhY2svXQorIG1rZGlyIGJ1aWxkLXJxYnJhY2sKKyBjZCBidWlsZC1ycWJyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvXS1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXSBmaWxlPS4vXSBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1ycWJyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJx YnJhY2svXS9dLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9d LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9d LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh Y2svXS9dLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy YWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay9dL10tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d L10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJx YnJhY2svXS9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS9dLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXJxYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10vLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay9dLy4vXS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS8uL10tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv XS8uL10tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4v XS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPXJxYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBycWJyYWNrCisgaXNfaW5fbGlzdCBycWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXJxYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g cnFicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDU0IC0gcnFicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTQgLSBycWJyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1ycWJyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXQorIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXJxYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d Cisgcm0gLXJmIGJ1aWxkLXJxYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dCisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLXJxYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXQorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fbGNicmFja30KKyB0ZXN0X3N0cmluZz17CisgdGVzdCB4eyA9 IHgKKyBta2RpciAuL3sKKyBidWlsZD0uL3sKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sKKyBjZCAuL3sK KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC97LXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjayBmaWxlPS4veyBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci97wqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJh Y2svey1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sY2JyYWNrL3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2Jy YWNrL3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxjYnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL3vCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8u L3stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPWxjYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IGxjYnJhY2sKKyBpc19pbl9saXN0IGxjYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09bGNicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBsY2JyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDU1IC0gbGNicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU1 IC0gbGNicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4veyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi97IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxjYnJhY2sKKyBybSAtcmYgLi97IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi97CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxjYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxjYnJhY2sveworIG1rZGlyIGJ1aWxkLWxjYnJhY2sKKyBjZCBidWlsZC1sY2JyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvey1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveyBmaWxlPS4veyBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1sY2JyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svey97LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97 LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97 LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJh Y2svey97LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2Jy YWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay97L3stcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97 L3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svey97LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGNicmFjay97L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey97LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxjYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGNicmFjay97Ly4vey1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay97Ly4vey1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey8uL3stcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sv ey8uL3stcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4v ey1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWxjYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBsY2JyYWNrCisgaXNfaW5fbGlzdCBsY2JyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWxjYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g bGNicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDU2IC0gbGNicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTYgLSBsY2JyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1sY2JyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveworIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWxjYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97 Cisgcm0gLXJmIGJ1aWxkLWxjYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97CisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLWxjYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveworIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fcmNicmFja30KKyB0ZXN0X3N0cmluZz19CisgdGVzdCB4fSA9 IHgKKyBta2RpciAuL30KKyBidWlsZD0uL30KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sKKyBjZCAuL30K KyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC99LXByZWZpeApjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0 cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8K Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv IGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVu ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3Ig YXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNo ZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdj YyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0 c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291 cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1P MiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy dSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBz dWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjayBmaWxlPS4vfSBtYWtlIHRl c3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci99wqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5z dGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJh Y2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yY2JyYWNrL30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrL30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJjYnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL33CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8u L30tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jh c2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXJjYnJhY2sgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxk IHJjYnJhY2sKKyBpc19pbl9saXN0IHJjYnJhY2sgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09cmNicmFjaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSByY2JyYWNrIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDU3IC0gcmNicmFjayBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU3 IC0gcmNicmFjayBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vfSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi99IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJjYnJhY2sKKyBybSAtcmYgLi99IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi99CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXJjYnJhY2sKKyBkZXN0 PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJjYnJhY2svfQorIG1rZGlyIGJ1aWxkLXJjYnJhY2sKKyBjZCBidWlsZC1yY2JyYWNr Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfS1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfSBmaWxlPS4vfSBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1yY2JyYWNrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJj YnJhY2svfS99LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99 LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99 LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJh Y2svfS99LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay99L30tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99 L30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJj YnJhY2svfS99LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjay99L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS99LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXJjYnJhY2vCoMK7CnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30vLi99LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay99Ly4vfS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS8uL30tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2sv fS8uL30tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4v fS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgv Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPXJjYnJhY2sgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCByY2JyYWNrCisgaXNfaW5fbGlzdCByY2JyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXJjYnJhY2sKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g cmNicmFjayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDU4IC0gcmNicmFjayBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNTggLSByY2JyYWNrIGluIGRlc3RkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1yY2JyYWNrIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfQorIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXJjYnJhY2sgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99 Cisgcm0gLXJmIGJ1aWxkLXJjYnJhY2sgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99CisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLXJjYnJhY2sKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfQorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rf c3RyaW5nPSR7aW5zdHNwY19fc3BhY2V9CisgdGVzdF9zdHJpbmc9IAorIHRlc3QgeCAgPSB4 CisgbWtkaXIgLi8gCisgYnVpbGQ9Li8gCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZQorIGNkIC4vIAorIHI9 b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJz dGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAt TzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291 cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1 Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZSBmaWxlPS4vICBtYWtlIHRlc3QtaW5z dAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8gwqDCuwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zcGFjZS8gLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1Yi8nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4 L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9z dWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSBy w6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyLyDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL25vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLy4vIC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAt cHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9m b28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXNwYWNlIGluIGJ1aWxkZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBidWlsZCBzcGFjZQorIGlzX2luX2xpc3Qgc3BhY2Ugc3F1b3RlIGRxdW90 ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJp Z3JhcGgwIGFfbGZfYgorIGl0ZW09c3BhY2UKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0 aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gc3BhY2UgaW4gYnVpbGRk aXIKKyBzZXQgK3gKb2sgNTkgLSBzcGFjZSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDU5IC0gc3BhY2UgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyAuLyAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLyAg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UKKyBybSAtcmYgLi8gIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIC4vIAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtc3BhY2UKKyBkZXN0PS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLyAKKyBta2RpciBidWlsZC1zcGFjZQorIGNkIGJ1aWxkLXNwYWNlCisgcj1vaworIC4u L2NvbmZpZ3VyZSAtLXByZWZpeCAvIC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAgZmlsZT0uLyAgbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3BhY2XCoMK7 CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2Uv IC8gLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh c2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8g LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8g LyAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLyAvIC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z cGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVm aXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3BhY2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRl IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3BhY2XCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2Uv IC8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8u LyAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVm aXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3BhY2UvIC8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAvLi8gLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXBy ZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPXNwYWNlIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWls IGRlc3Qgc3BhY2UKKyBpc19pbl9saXN0IHNwYWNlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXNwYWNlCisgc2hpZnQKKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHNw YWNlIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNjAgLSBzcGFjZSBpbiBkZXN0ZGlyClBBU1M6 IHQvaW5zdHNwYy50YXAgNjAgLSBzcGFjZSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gYnVpbGQtc3BhY2UgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIAorIHRlc3QgMiAtZ3QgMAor IGNobW9kIC1SIHUrcnd4IGJ1aWxkLXNwYWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAKKyBybSAtcmYgYnVpbGQt c3BhY2UgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3BhY2UvIAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1z cGFjZQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdp dGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fdGFifQor IHRlc3Rfc3RyaW5nPQkKKyB0ZXN0IHgJID0geAorIG1rZGlyIC4vCQorIGJ1aWxkPS4vCQor IGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGFiCisgY2QgLi8JCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv CS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp bGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj aGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3Rp dmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj Li4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAo YXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj a2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg Y29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYg LmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVw cy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl IHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g LWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9i YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh YiBmaWxlPS4vCSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci8JwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh Yi8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1 Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3Vi JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGFiLwktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8J LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVm aXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28vc3ViJwpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLwnCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIv Li8JLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYi8uLwktcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8u LwktcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgv Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvLi8JLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJlZml4 L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vbGli YmFzZS5hJworIGRlc2NyaXB0aW9uPXRhYiBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgYnVpbGQgdGFiCisgaXNfaW5fbGlzdCB0YWIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09dGFiCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249 CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHRhYiBpbiBidWlsZGRpcgorIHNldCAreApvayA2 MSAtIHRhYiBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDYxIC0gdGFiIGluIGJ1 aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8JIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYgorIHRl c3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vCSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIKKyBybSAtcmYgLi8JIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLwkKKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh YgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWls ZD1idWlsZC10YWIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JCisgbWtkaXIgYnVpbGQtdGFiCisgY2QgYnVp bGQtdGFiCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvCS1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JIGZpbGU9Li8JIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLXRhYsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9m b28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwkt cHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8J LwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 YWIvCS8JLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vJyAm JiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwkt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWIv JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vL3N1YicKbWFrZVsx XcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC10YWLCoMK7CnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYi8JLy4vCS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4v CS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zv by9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zvby9u b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkv Li8JLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJl Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9u PXRhYiBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHRhYgorIGlzX2luX2xp c3QgdGFiIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xm X2IKKyBpdGVtPXRhYgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29u PQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSB0YWIgaW4gZGVzdGRpcgorIHNldCAreApvayA2 MiAtIHRhYiBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNjIgLSB0YWIgaW4gZGVz dGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXRhYiAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIv CQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXRhYiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCQor IHJtIC1yZiBidWlsZC10YWIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtdGFiCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCQorIHJldHVybiAwCisgOiBGb3Igc2hl bGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19f bGluZWZlZWR9CisgdGVzdF9zdHJpbmc9CgorIHRlc3QgeAogPSB4CisgbWtkaXIgLi8KCisg YnVpbGQ9Li8KCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1saW5lZmVlZAorIGNkIC4vCgorIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLwotcHJlZml4CmNvbmZpZ3VyZTogZXJyb3I6IHB3ZCBkb2VzIG5v dCByZXBvcnQgbmFtZSBvZiB3b3JraW5nIGRpcmVjdG9yeQorIHI9bm90IG9rCisgZGVzY3Jp cHRpb249bGluZWZlZWQgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGxp bmVmZWVkCisgaXNfaW5fbGlzdCBsaW5lZmVlZCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9i CisgaXRlbT1saW5lZmVlZAorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETwor IHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBU T0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBsaW5lZmVlZCBpbiBidWlsZGRp cgorIHNldCAreApub3Qgb2sgNjMgLSBsaW5lZmVlZCBpbiBidWlsZGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDYzIC0gbGluZWZl ZWQgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5v dCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAx CisgdGVzdCBub3Qgb2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgYnVpbGQ9YnVpbGQtbGluZWZlZWQKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxpbmVmZWVkLwoKKyBta2RpciBi dWlsZC1saW5lZmVlZAorIGNkIGJ1aWxkLWxpbmVmZWVkCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvCi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czogZXJyb3I6IGluIGAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbGlu ZWZlZWQnOgpjb25maWcuc3RhdHVzOiBlcnJvcjogU29tZXRoaW5nIHdlbnQgd3JvbmcgYm9v dHN0cmFwcGluZyBtYWtlZmlsZSBmcmFnbWVudHMKICAgIGZvciBhdXRvbWF0aWMgZGVwZW5k ZW5jeSB0cmFja2luZy4gIElmIEdOVSBtYWtlIHdhcyBub3QgdXNlZCwgY29uc2lkZXIKICAg IHJlLXJ1bm5pbmcgdGhlIGNvbmZpZ3VyZSBzY3JpcHQgd2l0aCBNQUtFPSJnbWFrZSIgKG9y IHdoYXRldmVyIGlzCiAgICBuZWNlc3NhcnkpLiAgWW91IGNhbiBhbHNvIHRyeSByZS1ydW5u aW5nIGNvbmZpZ3VyZSB3aXRoIHRoZQogICAgJy0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNr aW5nJyBvcHRpb24gdG8gYXQgbGVhc3QgYmUgYWJsZSB0byBidWlsZAogICAgdGhlIHBhY2th Z2UgKGFsYmVpdCB3aXRob3V0IHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRy YWNraW5nKS4KU2VlIGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzCisgcj1ub3Qgb2sK KyBkZXNjcmlwdGlvbj1saW5lZmVlZCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBk ZXN0IGxpbmVmZWVkCisgaXNfaW5fbGlzdCBsaW5lZmVlZCBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1saW5lZmVlZAorIHNoaWZ0 CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbiAtLSBsaW5lZmVlZCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm5vdCBvayA2NCAtIGxp bmVmZWVkIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJ TDogdC9pbnN0c3BjLnRhcCA2NCAtIGxpbmVmZWVkIGluIGRlc3RkaXIgIyBUT0RPIGxvbmct c3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBvaworIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX2JhY2tzcGFjZX0KKyB0ZXN0X3N0cmluZz0ICisgdGVzdCB4CCA9IHgKKyBta2RpciAu LwgKKyBidWlsZD0uLwgKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZQorIGNkIC4vCAorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLwgtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBu YW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMg LWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1U IHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8g Li4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2Nj ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJi YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jh c2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5v YmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UgZmlsZT0uLwggbWFrZSB0ZXN0LWluc3QK bWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvCMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3Nw YWNlLwgtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci8IwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh Y2tzcGFjZS8uLwgtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl Ly4vCC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1iYWNrc3BhY2UgaW4gYnVpbGRkaXIK KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJhY2tzcGFjZQorIGlzX2luX2xpc3QgYmFja3Nw YWNlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5k IGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWJhY2tzcGFjZQorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBiYWNrc3BhY2UgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNjUgLSBiYWNrc3BhY2Ug aW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA2NSAtIGJhY2tzcGFjZSBpbiBidWls ZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vCCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UK KyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuLwggL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlCisgcm0g LXJmIC4vCCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8I CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRo IGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtYmFja3NwYWNlCisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvCAorIG1rZGlyIGJ1aWxkLWJhY2tzcGFjZQorIGNkIGJ1aWxkLWJhY2tzcGFjZQor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLwgtcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCCBmaWxlPS4vCCBtYWtl IHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1iYWNrc3BhY2XCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8I LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgv CC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhY2tzcGFjZS8ILwgtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i YXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2Uv CC8ILXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvCC8ILXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvCC8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFj a3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2Zvby9zdWInCm1h a2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYmFja3NwYWNlwqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFja3NwYWNlLwgvLi8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh Y2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgvLi8ILXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tz cGFjZS8ILy4vCC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tz cGFjZS8ILy4vCC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1iYWNrc3Bh Y2UgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBiYWNrc3BhY2UKKyBpc19p bl9saXN0IGJhY2tzcGFjZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1iYWNrc3BhY2UKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gYmFja3NwYWNlIGlu IGRlc3RkaXIKKyBzZXQgK3gKb2sgNjYgLSBiYWNrc3BhY2UgaW4gZGVzdGRpcgpQQVNTOiB0 L2luc3RzcGMudGFwIDY2IC0gYmFja3NwYWNlIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2Vl cGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qg b2sgPSBvaworIHJtX3JmXyBidWlsZC1iYWNrc3BhY2UgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgKKyB0ZXN0 IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1iYWNrc3BhY2UgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgKKyBybSAtcmYgYnVpbGQtYmFja3NwYWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ICisgX2FtX3JtcmZf c3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWJhY2tzcGFjZQorIHRlc3QgLWUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3Nw YWNlLwgKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisg ZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2Zvcm1mZWVkfQorIHRlc3Rfc3RyaW5nPQwK KyB0ZXN0IHgMID0geAorIG1rZGlyIC4vDAorIGJ1aWxkPS4vDAorIGRlc3Q9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQKKyBjZCAuLwwKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8MLXByZWZpeApj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1w CmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2 YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVy IGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4 IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w aWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn Y2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMg KEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpj aGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJm YWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQg Z2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZp Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5n IE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9T VFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5U cG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8g IApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJh c2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQgZmls ZT0uLwwgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvDMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgv Zm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi L2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWIvJwogIC91 c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8MwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9ub2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1m b3JtZmVlZC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLy4vDC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8uLwwtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBk ZXNjcmlwdGlvbj1mb3JtZmVlZCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVp bGQgZm9ybWZlZWQKKyBpc19pbl9saXN0IGZvcm1mZWVkIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBh X2xmX2IKKyBpdGVtPWZvcm1mZWVkCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGZvcm1mZWVkIGluIGJ1aWxkZGly Cisgc2V0ICt4Cm9rIDY3IC0gZm9ybWZlZWQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3Bj LnRhcCA2NyAtIGZvcm1mZWVkIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gLi8MIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggLi8MIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWZvcm1mZWVkCisgcm0gLXJmIC4vDCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZAorIF9hbV9ybXJm X3N0YXR1cz0wCisgdGVzdCAtZSAuLwwKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkCisgcmV0dXJu IDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWZv cm1mZWVkCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MCisgbWtkaXIgYnVpbGQtZm9ybWZlZWQKKyBj ZCBidWlsZC1mb3JtZmVlZAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLwwtcHJl Zml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4v aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu Li4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVz dGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcg d2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29t cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBz dWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4u LiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tp bmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4u IHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBn Y2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBp bnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcg dGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUK Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h bmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL QUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAt RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEu MFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBz L3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291 cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3Vy Y2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1 Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5h IHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MIGZpbGU9Li8MIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2J1aWxkLWZvcm1mZWVkwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogKCBjZCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8MLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5v YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQv DC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8M LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8M LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWZvcm1mZWVkwqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3Jt ZmVlZC8MLy4vDC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDC8uLwwtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8M Ly4vDC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQv DC8uLwwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8u LwwtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXBy ZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9zdWIvbGli bm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1mb3JtZmVlZCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9f ZmFpbCBkZXN0IGZvcm1mZWVkCisgaXNfaW5fbGlzdCBmb3JtZmVlZCBzcXVvdGUgZHF1b3Rl IGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1mb3JtZmVlZAor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBmb3JtZmVlZCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDY4IC0gZm9ybWZl ZWQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDY4IC0gZm9ybWZlZWQgaW4gZGVz dGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWZvcm1mZWVkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1mb3Jt ZmVlZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MCisgcm0gLXJmIGJ1aWxkLWZvcm1mZWVkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVk LwwKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtZm9ybWZlZWQKKyB0ZXN0 IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWZvcm1mZWVkLwwKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3Rl ZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NhcnJpYWdlcmV0fQor IHRlc3Rfc3RyaW5nPQ0KKyB0ZXN0IHgNID0geAorIG1rZGlyIC4vDQorIGJ1aWxkPS4vDQor IGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FycmlhZ2VyZXQKKyBjZCAuLw0KKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC8NLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FycmlhZ2VyZXQgZmlsZT0uLw0gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvDcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAoIGNk ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJyAmJiBy YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4 L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvDS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJl dC8NLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9z dWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1w cmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8N wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9ub2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9iYXNlLmgnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FycmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvLi8NLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jYXJy aWFnZXJldCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgY2FycmlhZ2Vy ZXQKKyBpc19pbl9saXN0IGNhcnJpYWdlcmV0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IK KyBpdGVtPWNhcnJpYWdlcmV0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNhcnJpYWdlcmV0IGluIGJ1aWxkZGly Cisgc2V0ICt4Cm9rIDY5IC0gY2FycmlhZ2VyZXQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0 c3BjLnRhcCA2OSAtIGNhcnJpYWdlcmV0IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gLi8NIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0CisgdGVzdCAyIC1ndCAwCisgY2ht b2QgLVIgdStyd3ggLi8NIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Cisgcm0gLXJmIC4vDSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFn ZXJldAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLw0KKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1l LgorIGJ1aWxkPWJ1aWxkLWNhcnJpYWdlcmV0CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NCisg bWtkaXIgYnVpbGQtY2FycmlhZ2VyZXQKKyBjZCBidWlsZC1jYXJyaWFnZXJldAorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggLw0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3 b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIg LU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNl Lm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8K Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8g c3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9s aWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJu b2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp Ym5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NIGZpbGU9Li8NIG1ha2UgdGVz dC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxk LWNhcnJpYWdlcmV0wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0vDS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvDS8NLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Lw0vDS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2Vy ZXQvDS8NLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0v DS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2Vy ZXQvDS8NLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWNhcnJpYWdlcmV0wqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vc3ViL25vYmFz ZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vbm9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNl LmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9u b2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vc3Vi L25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL25v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jYXJyaWFnZXJldCBpbiBkZXN0ZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBkZXN0IGNhcnJpYWdlcmV0CisgaXNfaW5fbGlzdCBjYXJyaWFnZXJldCBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRl bT1jYXJyaWFnZXJldAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29u PQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBjYXJyaWFnZXJldCBpbiBkZXN0ZGlyCisgc2V0 ICt4Cm9rIDcwIC0gY2FycmlhZ2VyZXQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFw IDcwIC0gY2FycmlhZ2VyZXQgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisg cm1fcmZfIGJ1aWxkLWNhcnJpYWdlcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0KKyB0ZXN0IDIgLWd0 IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1jYXJyaWFnZXJldCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8N Cisgcm0gLXJmIGJ1aWxkLWNhcnJpYWdlcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0KKyBfYW1fcm1y Zl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtY2FycmlhZ2VyZXQKKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0KKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQg LWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3F1YWRyaWdyYXBoMH0KKyB0ZXN0 X3N0cmluZz1AJnRACisgdGVzdCB4QCZ0QCA9IHgKKyBta2RpciAuL0AmdEAKKyBidWlsZD0u L0AmdEAKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMAorIGNkIC4vQCZ0QAorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggL0AmdEAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZl IGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvaworIGRlc2NyaXB0 aW9uPXF1YWRyaWdyYXBoMCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQg cXVhZHJpZ3JhcGgwCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDAgc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgwCisgc2hpZnQKKyByZXR1cm4gMAorIGRp cmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3Vs dF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIHF1YWRy aWdyYXBoMCBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sgNzEgLSBxdWFkcmlncmFwaDAg aW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9p bnN0c3BjLnRhcCA3MSAtIHF1YWRyaWdyYXBoMCBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1z dGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDAK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRACisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGgw CisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgwCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvQCZ0QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMC9AJnRAIGZpbGU9Li9AJnRAIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBo MMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0 QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAt cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0Am dEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0Am dEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWls ZC1xdWFkcmlncmFwaDDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9A JnRALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAv Li9AJnRALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgwL0AmdEAvLi9AJnRALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRALXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRALXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRA LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMCBpbiBk ZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoMAorIGlzX2luX2xp c3QgcXVhZHJpZ3JhcGgwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMAorIHNoaWZ0CisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFw aDAgaW4gZGVzdGRpcgorIHNldCAreApvayA3MiAtIHF1YWRyaWdyYXBoMCBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNzIgLSBxdWFkcmlncmFwaDAgaW4gZGVzdGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRyaWdyYXBoMCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDAvQCZ0QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1 YWRyaWdyYXBoMCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QAorIHJtIC1yZiBidWlsZC1xdWFkcmln cmFwaDAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtcXVhZHJpZ3JhcGgwCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QAor IHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRl c3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGgxfQorIHRlc3Rfc3RyaW5nPUA8OkAK KyB0ZXN0IHhAPDpAID0geAorIG1rZGlyIC4vQDw6QAorIGNkIC4vQDw6QAorIGJ1aWxkPS4v QDw6QAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxCisgY2QgLi9APDpACisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvQDw6QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMSBmaWxlPS4vQDw6QCBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9APDpAwqDC uwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEv QDw6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx L0A8OkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MS9APDpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL0A8OkDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx Ly4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvLi9APDpALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Un CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vYmFzZScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9saWJu b2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpALXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMSBpbiBidWlsZGRpcgorIGV4 cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJpZ3JhcGgxCisgaXNfaW5fbGlzdCBxdWFkcmln cmFwaDEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgxCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIHF1YWRyaWdyYXBoMSBpbiBidWlsZGRpcgorIHNldCAreApvayA3MyAtIHF1 YWRyaWdyYXBoMSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDczIC0gcXVhZHJp Z3JhcGgxIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9A PDpAIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4v QDw6QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEKKyBybSAtcmYgLi9APDpAIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMQor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL0A8OkAKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4K KyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDEKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA CisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGgxCisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgxCisg cj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQDw6QC1wcmVmaXgKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91 dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh Ymxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0 byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1 bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUp CmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9y IGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApn Y2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJc IiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv dXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAt TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBj cnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg c3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAIGZpbGU9 Li9APDpAIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lw ZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoMcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC9APDpALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zv by9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9A PDpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpA LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8 OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8 OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8 OkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi L25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBx dWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDHCoMK7CnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL25v YmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8uL0A8OkAtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8uL0A8OkAt cHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9A PDpALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8u L0A8OkAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRl c2NyaXB0aW9uPXF1YWRyaWdyYXBoMSBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBk ZXN0IHF1YWRyaWdyYXBoMQorIGlzX2luX2xpc3QgcXVhZHJpZ3JhcGgxIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdy YXBoMQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3Vs dF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDEgaW4gZGVzdGRpcgorIHNldCAreApvayA3 NCAtIHF1YWRyaWdyYXBoMSBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNzQgLSBx dWFkcmlncmFwaDEgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IGJ1aWxkLXF1YWRyaWdyYXBoMSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QAorIHRlc3QgMiAtZ3Qg MAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1YWRyaWdyYXBoMSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEv QDw6QAorIHJtIC1yZiBidWlsZC1xdWFkcmlncmFwaDEgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAK KyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtcXVhZHJpZ3JhcGgxCisgdGVz dCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdp dGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJp Z3JhcGgyfQorIHRlc3Rfc3RyaW5nPUA6PkAKKyB0ZXN0IHhAOj5AID0geAorIG1rZGlyIC4v QDo+QAorIGNkIC4vQDo+QAorIGJ1aWxkPS4vQDo+QAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy CisgY2QgLi9AOj5ACisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQDo+QC1wcmVm aXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4g eWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0 aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi L2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMiBmaWxlPS4vQDo+QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRh bnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9AOj5AwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJyAmJiByYW5saWIg bGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy L0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5A LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVm aXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28v c3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL0A6PkDCoMK7 CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgv Zm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVm aXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6 PkAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4v QDo+QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4v QDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy Ly4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIv Li9AOj5ALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9A Oj5ALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi8uL0A6PkAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1 YWRyaWdyYXBoMiBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJp Z3JhcGgyCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDIgc3F1b3RlIGRxdW90ZSBicXVvdGUg c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFf bGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgyCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHF1YWRyaWdyYXBoMiBpbiBi dWlsZGRpcgorIHNldCAreApvayA3NSAtIHF1YWRyaWdyYXBoMiBpbiBidWlsZGRpcgpQQVNT OiB0L2luc3RzcGMudGFwIDc1IC0gcXVhZHJpZ3JhcGgyIGluIGJ1aWxkZGlyCisgY2QgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90 IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEK KyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9AOj5AIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vQDo+QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIKKyBybSAt cmYgLi9AOj5AIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAt ZSAuL0A6PkAKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDIK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ACisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGgy CisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvQDo+QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMi9AOj5AIGZpbGU9Li9AOj5AIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBo MsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+ QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAt cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6 PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6 PkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo Mi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWls ZC1xdWFkcmlncmFwaDLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9A Oj5ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo Mi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAv Li9AOj5ALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo Mi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5ALXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5ALXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5A LXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMiBpbiBk ZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoMgorIGlzX2luX2xp c3QgcXVhZHJpZ3JhcGgyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5l ZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMgorIHNoaWZ0CisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFw aDIgaW4gZGVzdGRpcgorIHNldCAreApvayA3NiAtIHF1YWRyaWdyYXBoMiBpbiBkZXN0ZGly ClBBU1M6IHQvaW5zdHNwYy50YXAgNzYgLSBxdWFkcmlncmFwaDIgaW4gZGVzdGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRyaWdyYXBoMiAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvQDo+QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1 YWRyaWdyYXBoMiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QAorIHJtIC1yZiBidWlsZC1xdWFkcmln cmFwaDIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtcXVhZHJpZ3JhcGgyCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QAor IHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRl c3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGgzfQorIHRlc3Rfc3RyaW5nPUBTfEAK KyB0ZXN0IHhAU3xAID0geAorIG1rZGlyIC4vQFN8QAorIGJ1aWxkPS4vQFN8QAorIGRlc3Q9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzCisgY2QgLi9AU3xACisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXBy ZWZpeCAvQFN8QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMyBmaWxlPS4vQFN8QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFd wqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9AU3xAwqDCuwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xALXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4 L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL0BTfEDCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xA LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8 QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xA LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz Ly4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzLy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy8uL0BTfEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoMyBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgYnVpbGQgcXVhZHJpZ3JhcGgzCisgaXNfaW5fbGlzdCBxdWFkcmlncmFwaDMgc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQg cXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09cXVhZHJpZ3JhcGgzCisgc2hpZnQKKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHF1 YWRyaWdyYXBoMyBpbiBidWlsZGRpcgorIHNldCAreApvayA3NyAtIHF1YWRyaWdyYXBoMyBp biBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDc3IC0gcXVhZHJpZ3JhcGgzIGluIGJ1 aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9AU3xAIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vQFN8QCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMKKyBybSAtcmYgLi9AU3xAIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMworIF9hbV9ybXJmX3N0 YXR1cz0wCisgdGVzdCAtZSAuL0BTfEAKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMworIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWls ZC1xdWFkcmlncmFwaDMKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xACisgbWtkaXIgYnVp bGQtcXVhZHJpZ3JhcGgzCisgY2QgYnVpbGQtcXVhZHJpZ3JhcGgzCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvQFN8QC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAIGZpbGU9Li9AU3xAIG1ha2Ug dGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLXF1YWRyaWdyYXBoM8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xAL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9A U3xALXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZp eC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8 QC9AU3xALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9m b28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJyAm JiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz L0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDPCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJl Zml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4v QFN8QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9u b2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9m b28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4 L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAv Li9AU3xALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1 YWRyaWdyYXBoMyBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdy YXBoMworIGlzX2luX2xpc3QgcXVhZHJpZ3JhcGgzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMworIHNoaWZ0 CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBxdWFkcmlncmFwaDMgaW4gZGVzdGRpcgorIHNldCAreApvayA3OCAtIHF1YWRyaWdy YXBoMyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNzggLSBxdWFkcmlncmFwaDMg aW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRy aWdyYXBoMyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1S IHUrcnd4IGJ1aWxkLXF1YWRyaWdyYXBoMyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QAorIHJtIC1y ZiBidWlsZC1xdWFkcmlncmFwaDMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtcXVhZHJpZ3JhcGgzCisgdGVzdCAtZSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMvQFN8QAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNl dCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcXVhZHJpZ3JhcGg0fQorIHRl c3Rfc3RyaW5nPUAlOkAKKyB0ZXN0IHhAJTpAID0geAorIG1rZGlyIC4vQCU6QAorIGNkIC4v QCU6QAorIGJ1aWxkPS4vQCU6QAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0CisgY2QgLi9AJTpA Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQCU6QC1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNCBmaWxlPS4v QCU6QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9AJTpAwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo NC9AJTpALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo NC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6 QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zvby9zdWIv JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0Al OkAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0Al OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoNC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv QCU6QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL0AlOkDCoMK7CnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL25vYmFzZS5k YXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9zdWIv bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zv by9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgv Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZp eC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9m b28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAt cHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9A JTpALXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoNCBp biBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcXVhZHJpZ3JhcGg0CisgaXNf aW5fbGlzdCBxdWFkcmlncmFwaDQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09 cXVhZHJpZ3JhcGg0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249 CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHF1YWRyaWdyYXBoNCBpbiBidWlsZGRpcgorIHNl dCAreApvayA3OSAtIHF1YWRyaWdyYXBoNCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDc5IC0gcXVhZHJpZ3JhcGg0IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0g b2sKKyBybV9yZl8gLi9AJTpAIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNAorIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IC4vQCU6QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQKKyBybSAtcmYgLi9AJTpAIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoNAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL0AlOkAKKyB0 ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoNAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1xdWFkcmlncmFwaDQKKyBkZXN0PS9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpACisgbWtkaXIgYnVpbGQtcXVhZHJpZ3JhcGg0CisgY2QgYnVpbGQt cXVhZHJpZ3JhcGg0Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvQCU6QC1wcmVm aXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1 ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg Y29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4g eWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdj YzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0 aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpj b25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu ZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tB R0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJj ZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi L2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoNC9AJTpAIGZpbGU9Li9AJTpAIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50 cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXF1YWRyaWdyYXBoNMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0Al OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0Al OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9v JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA L0AlOkAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9z dWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0 L0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAt cHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9A JTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9A JTpALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFw aDTCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6 QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpA Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQv QCU6QC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6 QC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAv Li9AJTpALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28vbGlibm9iYXNl LmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28v bGliYmFzZS5hJworIGRlc2NyaXB0aW9uPXF1YWRyaWdyYXBoNCBpbiBkZXN0ZGlyCisgZXhw ZWN0ZWRfdG9fZmFpbCBkZXN0IHF1YWRyaWdyYXBoNAorIGlzX2luX2xpc3QgcXVhZHJpZ3Jh cGg0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IK KyBpdGVtPXF1YWRyaWdyYXBoNAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDQgaW4gZGVzdGRp cgorIHNldCAreApvayA4MCAtIHF1YWRyaWdyYXBoNCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgODAgLSBxdWFkcmlncmFwaDQgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfIGJ1aWxkLXF1YWRyaWdyYXBoNCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6 QAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLXF1YWRyaWdyYXBoNCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QAorIHJtIC1yZiBidWlsZC1xdWFkcmlncmFwaDQgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGg0L0AlOkAKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtcXVh ZHJpZ3JhcGg0CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QAorIHJldHVybiAwCisg OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7 aW5zdHNwY19fYV9ifQorIHRlc3Rfc3RyaW5nPWEgYgorIHRlc3QgeGEgYiA9IHgKKyBta2Rp ciAuL2EgYgorIGJ1aWxkPS4vYSBiCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IKKyBjZCAuL2EgYgorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2EgYi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0 YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4u IGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2lu ZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1P MiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3Vy Y2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAt byBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3Vi L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp Ym5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYiBmaWxlPS4vYSBiIG1ha2UgdGVzdC1pbnN0 Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2EgYsKgwrsKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2Iv YSBiLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9iL2EgYi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28v c3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5v YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9hIGLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9m b28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL25v YmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2Eg Yi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9h IGItcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBi LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZp eC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFfYiBpbiBidWlsZGRpcgorIGV4cGVj dGVkX3RvX2ZhaWwgYnVpbGQgYV9iCisgaXNfaW5fbGlzdCBhX2Igc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh cGgwIGFfbGZfYgorIGl0ZW09YV9iCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGFfYiBpbiBidWlsZGRpcgorIHNl dCAreApvayA4MSAtIGFfYiBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDgxIC0g YV9iIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9hIGIg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9iCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9hIGIgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iCisg cm0gLXJmIC4vYSBiIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL2Eg YgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0 ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWFfYgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYgorIG1rZGly IGJ1aWxkLWFfYgorIGNkIGJ1aWxkLWFfYgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVm aXggL2EgYi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JF UE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURW RVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5v ICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIv bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElS PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGIgZmlsZT0uL2EgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1hX2LCoMK7CiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9h IGIvYSBiLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25v YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9h IGIvYSBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9h IGItcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtYV9iwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zv by9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuZGF0 Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf Yi9hIGIvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8u L2EgYi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXBy ZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1hX2IgaW4gZGVzdGRpcgorIGV4cGVj dGVkX3RvX2ZhaWwgZGVzdCBhX2IKKyBpc19pbl9saXN0IGFfYiBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hX2IKKyBzaGlmdAor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAg LS0gYV9iIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgODIgLSBhX2IgaW4gZGVzdGRpcgpQQVNT OiB0L2luc3RzcGMudGFwIDgyIC0gYV9iIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyBidWlsZC1hX2IgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYgorIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IGJ1aWxkLWFfYiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiCisgcm0gLXJmIGJ1aWxkLWFfYiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWFfYgorIHRl c3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9iL2EgYgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVk IHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYV9fYn0KKyB0ZXN0X3N0 cmluZz1hICBiCisgdGVzdCB4YSAgYiA9IHgKKyBta2RpciAuL2EgIGIKKyBidWlsZD0uL2Eg IGIKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IKKyBjZCAuL2EgIGIKKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC9hICBiLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERF U1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9fYiBmaWxlPS4vYSAgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9hICBiwqDCuwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf X2IvYSAgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YV9fYi9hICBiLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1 Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJyAmJiBy YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28vc3Vi LycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2Iv YSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2EgIGLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9zdWIvbm9i YXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X19iLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvLi9h ICBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAg Yi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVm aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9z dWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbm9iYXNl Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvLi9hICBiLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFfX2Ig aW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGFfX2IKKyBpc19pbl9saXN0 IGFfX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YV9fYgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSBhX19iIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDgzIC0gYV9fYiBpbiBidWlsZGRpcgpQ QVNTOiB0L2luc3RzcGMudGFwIDgzIC0gYV9fYiBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVz dCBvayA9IG9rCisgcm1fcmZfIC4vYSAgYiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisgdGVzdCAyIC1ndCAwCisgY2ht b2QgLVIgdStyd3ggLi9hICBiIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IKKyBybSAtcmYgLi9hICBiIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi9hICBiCisgdGVzdCAtZSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLWFfX2IKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgorIG1rZGlyIGJ1aWxkLWFfX2IKKyBjZCBi dWlsZC1hX19iCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvYSAgYi1wcmVmaXgK Y2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAt cApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQg dmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0 aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxl ciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3 aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVz IChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVy ZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0 IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25m aWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGlu ZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIg LUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291 cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu VHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xp YmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJi YXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYiBm aWxlPS4vYSAgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9idWlsZC1hX19iwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiL2EgIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAgL3Vzci9iaW4v aW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9h ICBiLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19i L2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2Eg IGItcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIv YSAgYi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBi LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWFfX2LCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19i L2EgIGIvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIv Li9hICBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAg Yi8uL2EgIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2Iv YSAgYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi Ly4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi Ly4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9h ICBiLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9hICBiLXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2Eg IGItcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9h ICBiLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWFfX2IgaW4gZGVzdGRp cgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBhX19iCisgaXNfaW5fbGlzdCBhX19iIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWFf X2IKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gYV9fYiBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDg0IC0gYV9fYiBp biBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgODQgLSBhX19iIGluIGRlc3RkaXIKKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIK KyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1 cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1hX19iIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgor IHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWFfX2IgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBi Cisgcm0gLXJmIGJ1aWxkLWFfX2IgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLWFfX2IKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgorIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5n PSR7aW5zdHNwY19fYV9sZl9ifQorIHRlc3Rfc3RyaW5nPWEKYgorIHRlc3QgeGEKYiA9IHgK KyBta2RpciAuL2EKYgorIGJ1aWxkPS4vYQpiCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2xmX2IKKyBjZCAuL2EK YgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2EKYi1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBjb25maWd1cmU6 IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQorIHI9bm90 IG9rCisgZGVzY3JpcHRpb249YV9sZl9iIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFp bCBidWlsZCBhX2xmX2IKKyBpc19pbl9saXN0IGFfbGZfYiBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1hX2xmX2IKKyBzaGlmdAorIHJldHVybiAwCisgZGlyZWN0aXZlPVRP RE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVzdWx0XyBub3Qgb2sg LUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gYV9sZl9iIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm5vdCBvayA4NSAtIGFfbGZfYiBpbiBidWlsZGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDg1IC0gYV9sZl9i IGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IGJ1aWxkPWJ1aWxkLWFfbGZfYgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9sZl9iL2EKYgorIG1rZGlyIGJ1aWxk LWFfbGZfYgorIGNkIGJ1aWxkLWFfbGZfYgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVm aXggL2EKYi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdj YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2Jq ZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBD IGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5l ZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBk aXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg b2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1 cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw ZmlsZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czogZXJyb3I6IGluIGAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYV9sZl9iJzoK Y29uZmlnLnN0YXR1czogZXJyb3I6IFNvbWV0aGluZyB3ZW50IHdyb25nIGJvb3RzdHJhcHBp bmcgbWFrZWZpbGUgZnJhZ21lbnRzCiAgICBmb3IgYXV0b21hdGljIGRlcGVuZGVuY3kgdHJh Y2tpbmcuICBJZiBHTlUgbWFrZSB3YXMgbm90IHVzZWQsIGNvbnNpZGVyCiAgICByZS1ydW5u aW5nIHRoZSBjb25maWd1cmUgc2NyaXB0IHdpdGggTUFLRT0iZ21ha2UiIChvciB3aGF0ZXZl ciBpcwogICAgbmVjZXNzYXJ5KS4gIFlvdSBjYW4gYWxzbyB0cnkgcmUtcnVubmluZyBjb25m aWd1cmUgd2l0aCB0aGUKICAgICctLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZycgb3B0 aW9uIHRvIGF0IGxlYXN0IGJlIGFibGUgdG8gYnVpbGQKICAgIHRoZSBwYWNrYWdlIChhbGJl aXQgd2l0aG91dCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZyku ClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIHI9bm90IG9rCisgZGVzY3Jp cHRpb249YV9sZl9iIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYV9sZl9i CisgaXNfaW5fbGlzdCBhX2xmX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09YV9sZl9iCisgc2hpZnQKKyByZXR1cm4gMAorIGRp cmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3Vs dF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGFfbGZf YiBpbiBkZXN0ZGlyCisgc2V0ICt4Cm5vdCBvayA4NiAtIGFfbGZfYiBpbiBkZXN0ZGlyICMg VE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgODYg LSBhX2xmX2IgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNl dCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZG90ZG90ZG90fQorIHRlc3Rf c3RyaW5nPS4uLgorIHRlc3QgeC4uLiA9IHgKKyBta2RpciAuLy4uLgorIGJ1aWxkPS4vLi4u CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QKKyBjZCAuLy4uLgorIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggLy4uLi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAg IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy dSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBE RVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdCBmaWxlPS4vLi4uIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3C oDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLy4uLsKgwrsKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vJwogIC91 c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3Qv Li4uLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRv dGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4t cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4 L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90 Ly4uLi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8uLi7CoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28v c3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jh c2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9ub2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0 aW9uPWRvdGRvdGRvdCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgZG90 ZG90ZG90CisgaXNfaW5fbGlzdCBkb3Rkb3Rkb3Qgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09ZG90ZG90ZG90Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGRvdGRvdGRvdCBpbiBidWlsZGRpcgor IHNldCAreApvayA4NyAtIGRvdGRvdGRvdCBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDg3IC0gZG90ZG90ZG90IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gLi8uLi4gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90CisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIg dStyd3ggLi8uLi4gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Cisgcm0gLXJmIC4vLi4uIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdAor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLy4uLgorIHRlc3QgLWUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1 aWxkPWJ1aWxkLWRvdGRvdGRvdAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLgorIG1rZGlyIGJ1 aWxkLWRvdGRvdGRvdAorIGNkIGJ1aWxkLWRvdGRvdGRvdAorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggLy4uLi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQg LW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUg aW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVu Y3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5n IHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0 c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNl Lm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1P MiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl IHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBz b3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy IGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEK KyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4gZmlsZT0uLy4uLiBtYWtlIHRlc3QtaW5zdApt YWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1kb3Rkb3Rk b3TCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLi4vLi4uLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLy4uLi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24g cXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG90ZG90ZG90wqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0 Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9ub2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9m b28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4 L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4 L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJl Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVm aXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgv Zm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4u LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8u Ly4uLi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1kb3Rkb3Rkb3QgaW4g ZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBkb3Rkb3Rkb3QKKyBpc19pbl9saXN0 IGRvdGRvdGRvdCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQg YV9sZl9iCisgaXRlbT1kb3Rkb3Rkb3QKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gZG90ZG90ZG90IGluIGRlc3Rk aXIKKyBzZXQgK3gKb2sgODggLSBkb3Rkb3Rkb3QgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDg4IC0gZG90ZG90ZG90IGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190 ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBv aworIHJtX3JmXyBidWlsZC1kb3Rkb3Rkb3QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLgorIHRlc3QgMiAt Z3QgMAorIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWRvdGRvdGRvdCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4u Cisgcm0gLXJmIGJ1aWxkLWRvdGRvdGRvdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uCisgX2FtX3JtcmZf c3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWRvdGRvdGRvdAorIHRlc3QgLWUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90 ZG90Ly4uLgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4K KyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZG9zZHJpdmV9CisgdGVzdF9zdHJpbmc9 YToKKyB0ZXN0IHhhOiA9IHgKKyBta2RpciAuL2E6CisgY2QgLi9hOgorIGJ1aWxkPS4vYToK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlCisgY2QgLi9hOgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggL2E6LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG9zZHJpdmUgZmlsZT0uL2E6IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24g ZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2E6wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS9hOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZS9hOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz dWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9z ZHJpdmUvYTotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgv Zm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2E6 wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9zdWIvbm9iYXNl LmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlLy4vYTotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4v YTotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTot cHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgv Zm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL3N1Yi9s aWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vbGli bm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1kb3Nkcml2ZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgYnVpbGQgZG9zZHJpdmUKKyBpc19pbl9saXN0IGRvc2RyaXZlIHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRy aWdyYXBoMCBhX2xmX2IKKyBpdGVtPWRvc2RyaXZlCisgc2hpZnQKKyByZXR1cm4gMQorIGRp cmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGRvc2RyaXZlIGlu IGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDg5IC0gZG9zZHJpdmUgaW4gYnVpbGRkaXIKUEFTUzog dC9pbnN0c3BjLnRhcCA4OSAtIGRvc2RyaXZlIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0 IG9rID0gb2sKKyBybV9yZl8gLi9hOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZQorIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IC4vYTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUKKyBybSAtcmYgLi9hOiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL2E6CisgdGVzdCAtZSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBi dWlsZD1idWlsZC1kb3Nkcml2ZQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYToKKyBta2RpciBidWls ZC1kb3Nkcml2ZQorIGNkIGJ1aWxkLWRvc2RyaXZlCisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvYTotcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Nkcml2ZS9hOiBmaWxlPS4vYTogbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKg OiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG9zZHJpdmXCoMK7CiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTov YTotcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nICYm IHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTot cHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZS9hOi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTot cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9m b28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9z ZHJpdmUvYTovYTotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYTovYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6 LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4v aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZS9hOi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTot cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25v YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zvby9z dWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG9zZHJp dmXCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL2Jhc2Uu aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL2Jhc2Uu ZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9ub2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9saWJub2Jhc2UuYScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vbGliYmFzZS5hJwor IGRlc2NyaXB0aW9uPWRvc2RyaXZlIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRl c3QgZG9zZHJpdmUKKyBpc19pbl9saXN0IGRvc2RyaXZlIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWRvc2RyaXZlCisgc2hpZnQK KyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIg IC0tIGRvc2RyaXZlIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgOTAgLSBkb3Nkcml2ZSBpbiBk ZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgOTAgLSBkb3Nkcml2ZSBpbiBkZXN0ZGlyCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtZG9zZHJpdmUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYToKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1kb3Nkcml2ZSAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Nkcml2ZS9hOgorIHJtIC1yZiBidWlsZC1kb3Nkcml2ZSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOgor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1kb3Nkcml2ZQorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvYToKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBz ZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21pc2NnbG9iMX0KKyB0ZXN0 X3N0cmluZz0/W2Etel0qCisgdGVzdCB4P1thLXpdKiA9IHgKKyBta2RpciAuLz9bYS16XSoK KyBidWlsZD0uLz9bYS16XSoKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMQorIGNkIC4vP1thLXpdKgor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLz9bYS16XSotcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBh bGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEgZmlsZT0uLz9b YS16XSogbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvP1thLXpdKsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Et el0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9z dWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9b YS16XSotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28v c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/ W2Etel0qLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/ W2Etel0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Ix Lz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8/W2Etel0qwqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9u b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9m b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSot cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSot cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16 XSotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpd Ki1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1w cmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/ W2Etel0qLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Ix Ly4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xv YjEgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIG1pc2NnbG9iMQorIGlz X2luX2xpc3QgbWlzY2dsb2IxIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi c2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1p c2NnbG9iMQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJl c3VsdF8gb2sgLUQgIC1yICAtLSBtaXNjZ2xvYjEgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sg OTEgLSBtaXNjZ2xvYjEgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA5MSAtIG1p c2NnbG9iMSBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4v P1thLXpdKiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjEKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAu Lz9bYS16XSogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxCisgcm0gLXJmIC4vP1thLXpdKiAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEK KyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8/W2Etel0qCisgdGVzdCAtZSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjEKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgYnVpbGQ9YnVpbGQtbWlzY2dsb2IxCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKgor IG1rZGlyIGJ1aWxkLW1pc2NnbG9iMQorIGNkIGJ1aWxkLW1pc2NnbG9iMQorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggLz9bYS16XSotcHJlZml4CmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxl ciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMu Li4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNj ZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJz dGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tp bmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAu L2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1E UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQ QUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAt TzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291 cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2Uu UG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAg LW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1 Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s aWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKiBmaWxlPS4vP1th LXpdKiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1taXNjZ2xvYjHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Ix Lz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/ W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0q LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycgJiYgcmFu bGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEv P1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/ W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8/W2Etel0qLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1th LXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSov P1thLXpdKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zv by9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWlz Y2dsb2IxwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki8uLz9bYS16XSotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28v bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSot cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8u Lz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXBy ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1th LXpdKi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSov Li8/W2Etel0qLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xvYjEgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBtaXNjZ2xvYjEKKyBpc19pbl9saXN0IG1pc2NnbG9iMSBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1taXNjZ2xv YjEKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gbWlzY2dsb2IxIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgOTIgLSBt aXNjZ2xvYjEgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDkyIC0gbWlzY2dsb2Ix IGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1taXNj Z2xvYjEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSoKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCBidWlsZC1taXNjZ2xvYjEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSoKKyBybSAtcmYgYnVp bGQtbWlzY2dsb2IxIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLW1pc2NnbG9iMQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16 XSoKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZh bCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21pc2NnbG9iMn0KKyB0ZXN0X3N0cmluZz0uKj9b MC05XQorIHRlc3QgeC4qP1swLTldID0geAorIG1rZGlyIC4vLio/WzAtOV0KKyBidWlsZD0u Ly4qP1swLTldCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIKKyBjZCAuLy4qP1swLTldCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLio/WzAtOV0tcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIgZmlsZT0uLy4qP1swLTld IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyLy4qP1swLTldwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgv Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p c2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9v L3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJyAmJiByYW5s aWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4q P1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAt OV0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi L25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4q P1swLTldLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLy4qP1swLTldwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTld LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4q P1swLTldLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvbGli bm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zv by9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xvYjIgaW4gYnVpbGRkaXIK KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIG1pc2NnbG9iMgorIGlzX2luX2xpc3QgbWlzY2ds b2IyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5k IGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMgorIHNoaWZ0 CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBtaXNjZ2xvYjIgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgOTMgLSBtaXNjZ2xvYjIg aW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA5MyAtIG1pc2NnbG9iMiBpbiBidWls ZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vLio/WzAtOV0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8uKj9bMC05XSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIKKyBybSAtcmYgLi8uKj9bMC05XSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIKKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgLi8uKj9bMC05XQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLW1pc2NnbG9iMgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldCisgbWtkaXIgYnVp bGQtbWlzY2dsb2IyCisgY2QgYnVpbGQtbWlzY2dsb2IyCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvLio/WzAtOV0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAt ZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2Uu YQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz ZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0gZmlsZT0uLy4qP1swLTldIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLW1pc2NnbG9iMsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgv Zm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Iy Ly4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1sw LTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAt OV0tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1 Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/ WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9b MC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTld Ly4qP1swLTldLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1taXNjZ2xvYjLC oMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4 L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0 Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9b MC05XS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9b MC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9v L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/WzAtOV0t cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05 XS8uLy4qP1swLTldLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu YScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uLy4q P1swLTldLXByZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPW1pc2NnbG9iMiBp biBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IG1pc2NnbG9iMgorIGlzX2luX2xp c3QgbWlzY2dsb2IyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVl ZCBhX2xmX2IKKyBpdGVtPW1pc2NnbG9iMgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3Rp dmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBtaXNjZ2xvYjIgaW4gZGVz dGRpcgorIHNldCAreApvayA5NCAtIG1pc2NnbG9iMiBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgOTQgLSBtaXNjZ2xvYjIgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9 IG9rCisgcm1fcmZfIGJ1aWxkLW1pc2NnbG9iMiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0KKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1taXNjZ2xvYjIgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4qP1swLTldCisgcm0gLXJmIGJ1aWxkLW1pc2NnbG9iMiAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/ WzAtOV0KKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtbWlzY2dsb2IyCisg dGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0KKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgOgorIGFtX2V4aXRfdHJhcCAwCisgZXhpdF9zdGF0 dXM9MAorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIKKyB0ZXN0IHRhcCA9IHRhcAorIHRlc3QgOTQgPSBsYXRlcgorIHRlc3QgMCAtZXEgMAor IHRlc3QgNzcgLWVxIDk0Cisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpcgo9PT09 PT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRl c3QgUHJvdG9jb2w6IHRhcApQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4 Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NU TTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFy bS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBw d2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFj cm9kaXIuZGlyCisgcGxhbl8gNworIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRl c3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHg3ID0geHVua25vd24KKyB0ZXN0IHg3ID0geGxh dGVyCisgdGVzdCB4NyA9IHhsYXp5CisgdGVzdCB4NyA9IHhub3cKKyB0ZXN0IDcgLWdlIDAK KyBwbGFubmVkXz03CisgZWNobyAxLi43CjEuLjcKKyBwd2QKKyBvY3dkPS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRpcgorIHVu c2V0IEFDTE9DQUxfUEFUSAorIHRjb3VudD0wCisgcj1pbnZhbGlkCisgZGVzY3JpcHRpb249 CisgZGlyZWN0aXZlPQorIHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25v cmVkCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJ UiBpcyBob25vcmVkCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUiBp cyBob25vcmVkCisgc2hpZnQKKyB0Y291bnQ9MQorIHRlc3QgMSAtZ3QgMAorIG1rZGlyIDEu ZAorIGNkIDEuZAorIGNhdAorIG1rZGlyIG1hY3JvLWRpcgorIGVjaG8gQUNfREVGVU4oW01Z X0ZPT10sIFs6Om15Ojpmb286Ol0pCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dy ZXAgLUYgbTRfaW5jbHVkZShbbWFjcm8tZGlyL2Zvby5tNF0pIGFjbG9jYWwubTQKbTRfaW5j bHVkZShbbWFjcm8tZGlyL2Zvby5tNF0pCisgYXV0b2NvbmYKKyBub3QgL2Jpbi9ncmVwIC1G IE1ZX0ZPTyBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYgTVlfRk9PIGNvbmZpZ3VyZQorIC9i aW4vZ3JlcCAtRiA6Om15Ojpmb286OiBjb25maWd1cmUKOjpteTo6Zm9vOjoKKyB0ZXN0X2Vu ZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25vcmVkCisgY2QgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXIuZGly CisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25vcmVkCisg c2V0ICt4Cm9rIDEgLSBBQ19DT05GSUdfTUFDUk9fRElSIGlzIGhvbm9yZWQKUEFTUzogdC9h Y2xvY2FsLW1hY3JvZGlyLnRhcCAxIC0gQUNfQ09ORklHX01BQ1JPX0RJUiBpcyBob25vcmVk CisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMS5kCisgcj1pbnZhbGlkIGRp cmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElS KFtmb29dKSBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIHRlc3QgLW4gCisgcj1vawor IGRlc2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGludGVyYWN0aW9uIHdp dGggLS1pbnN0YWxsCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUihb Zm9vXSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKKyBzaGlmdAorIHRjb3VudD0yCisg dGVzdCAyIC1ndCAwCisgbWtkaXIgMi5kCisgY2QgMi5kCisgY2F0CisgbWtkaXIgc3lzLWRp ciB0aGUtZGlyCisgZWNobyBBQ19ERUZVTihbVEhFX01BQ1JPXSwgWzpdKQorIHRlc3QgISAt ciB0aGUtZGlyL215Lm00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLS1pbnN0YWxsIC0tc3lz dGVtLWFjZGlyIC4vc3lzLWRpcgphY2xvY2FsLTEuMTY6IGluc3RhbGxpbmcgJ3RoZS1kaXIv bXkubTQnIGZyb20gJ3N5cy1kaXIvbXkubTQnCisgZGlmZiBzeXMtZGlyL215Lm00IHRoZS1k aXIvbXkubTQKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUihbZm9v XSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2Rpci5kaXIKKyByZXN1bHRfIG9r IC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSKFtmb29dKSBpbnRlcmFjdGlvbiB3aXRoIC0t aW5zdGFsbAorIHNldCAreApvayAyIC0gQUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkgaW50 ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlyLnRhcCAy IC0gQUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3Rh bGwKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAyLmQKKyByPWludmFsaWQg ZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luICctSScgb3B0aW9uIHdpbnMg b3ZlciBBQ19DT05GSUdfTUFDUk9fRElSCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRp b249Jy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NPTkZJR19NQUNST19ESVIKKyBkaXJlY3Rp dmU9CisgZWNobyAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUgor IHNoaWZ0CisgdGNvdW50PTMKKyB0ZXN0IDMgLWd0IDAKKyBta2RpciAzLmQKKyBjZCAzLmQK KyBjYXQKKyBta2RpciBkaXIxIGRpcjIKKyBlY2hvIEFDX0RFRlVOKFtNWV9GT09dLCBbOjpr bzo6a286Ol0pCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6b2s6Om9rOjpdKQorIGFj bG9jYWwtMS4xNiAtV2Vycm9yIC1JIGRpcjIKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMi8yLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIyLzIubTRdKQorIG5vdCAv YmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMS8xLm00XSkgYWNsb2NhbC5tNAorIC9iaW4v Z3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIxLzEubTRdKSBhY2xvY2FsLm00CisgYXV0b2NvbmYK KyBub3QgL2Jpbi9ncmVwIC1GIDo6a286OmtvOjogY29uZmlndXJlCisgL2Jpbi9ncmVwIC1G IDo6a286OmtvOjogY29uZmlndXJlCisgL2Jpbi9ncmVwIC1GIDo6b2s6Om9rOjogY29uZmln dXJlCjo6b2s6Om9rOjoKKyB0ZXN0X2VuZAorIHRlc3QgLXogJy1JJyBvcHRpb24gd2lucyBv dmVyIEFDX0NPTkZJR19NQUNST19ESVIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2Rpci5kaXIKKyByZXN1bHRfIG9rIC1EICAt LSAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUgorIHNldCAreApv ayAzIC0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NPTkZJR19NQUNST19ESVIKUEFTUzog dC9hY2xvY2FsLW1hY3JvZGlyLnRhcCAzIC0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NP TkZJR19NQUNST19ESVIKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAzLmQK KyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NP TkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdmb28nCisgdGVz dCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkg Y2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19DT05G SUdfTUFDUk9fRElSKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9vJworIHNoaWZ0 CisgdGNvdW50PTQKKyB0ZXN0IDQgLWd0IDAKKyBta2RpciA0LmQKKyBjZCA0LmQKKyBjYXQK KyBta2RpciBhY2RpcgorIGVjaG8gQUNfREVGVU4oW01ZX01BQ1JPXSwgWzpdKQorIHRlc3Qg ISAtZCBmb28KKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtLWluc3RhbGwgLS1zeXN0ZW0tYWNk aXIgLi9hY2RpcgphY2xvY2FsLTEuMTY6IGluc3RhbGxpbmcgJ2Zvby9iYXIubTQnIGZyb20g J2FjZGlyL2Jhci5tNCcKKyBkaWZmIGFjZGlyL2Jhci5tNCBmb28vYmFyLm00CisgdGVzdF9l bmQKKyB0ZXN0IC16IEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGly ZWN0b3J5ICdmb28nCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2FjbG9jYWwtbWFjcm9kaXIuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklH X01BQ1JPX0RJUihbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBzZXQgK3gK b2sgNCAtIEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5 ICdmb28nClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpci50YXAgNCAtIEFDX0NPTkZJR19NQUNS T19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdmb28nCisgdGVzdCAteiAKKyB0 ZXN0IG9rID0gb2sKKyBybSAtcmYgNC5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3Jp cHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3RlbnRd KSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlw dGlvbj1BQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1X dW5zdXBwb3J0ZWQKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19DT05GSUdfTUFDUk9fRElSKFtu b24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyBzaGlmdAorIHRjb3Vu dD01CisgdGVzdCA1IC1ndCAwCisgbWtkaXIgNS5kCisgY2QgNS5kCisgY2F0CisgYWNsb2Nh bC0xLjE2IC1XZXJyb3IgLVduby1lcnJvcgorIGNhdCBzdGRlcnIKYWNsb2NhbC0xLjE2OiB3 YXJuaW5nOiBjb3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnbm9uLWV4aXN0ZW50JzogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQorIGdyZXAgY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25v bi1leGlzdGVudCcgc3RkZXJyCmFjbG9jYWwtMS4xNjogd2FybmluZzogY291bGRuJ3Qgb3Bl biBkaXJlY3RvcnkgJ25vbi1leGlzdGVudCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK KyB0ZXN0IC1mIGFjbG9jYWwubTQKKyBybSAtcmYgYWNsb2NhbC5tNCBhdXRvbTR0ZS5jYWNo ZQorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC1XZXJyb3IgLVduby11bnN1cHBvcnRlZAorIHRl c3QgLWYgYWNsb2NhbC5tNAorIHRlc3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9f RElSKFtub24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2Rpci5k aXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3Rl bnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyBzZXQgK3gKb2sgNSAtIEFDX0NPTkZJ R19NQUNST19ESVIoW25vbi1leGlzdGVudF0pIHdhcm5zIHdpdGggLVd1bnN1cHBvcnRlZApQ QVNTOiB0L2FjbG9jYWwtbWFjcm9kaXIudGFwIDUgLSBBQ19DT05GSUdfTUFDUk9fRElSKFtu b24tZXhpc3RlbnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKKyB0ZXN0IC16IAorIHRl c3Qgb2sgPSBvaworIHJtIC1yZiA1LmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlw dGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0pIGFu ZCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyB0ZXN0IC1uIAorIHI9b2sKKyBk ZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSKFtub3QtZXhpc3RdKSBhbmQgQUNMT0NB TF9BTUZMQUdTID0gLUkgbm90LWV4aXN0CisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklH X01BQ1JPX0RJUihbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1l eGlzdAorIHNoaWZ0CisgdGNvdW50PTYKKyB0ZXN0IDYgLWd0IDAKKyBta2RpciA2LmQKKyBj ZCA2LmQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV25vLWVycm9yCisg Y2F0IHN0ZGVycgphY2xvY2FsLTEuMTY6IHdhcm5pbmc6IGNvdWxkbid0IG9wZW4gZGlyZWN0 b3J5ICdub3QtZXhpc3QnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgZ3JlcCAtYyBj b3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnbm90LWV4aXN0JyBzdGRlcnIKKyB0ZXN0IDEgLWVx IDEKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUihbbm90LWV4aXN0 XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlzdAorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRpcgorIHJl c3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0pIGFuZCBB Q0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyBzZXQgK3gKb2sgNiAtIEFDX0NPTkZJ R19NQUNST19ESVIoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBub3Qt ZXhpc3QKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlyLnRhcCA2IC0gQUNfQ09ORklHX01BQ1JP X0RJUihbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlzdAor IHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDYuZAorIHI9aW52YWxpZCBkaXJl Y3RpdmU9IGRlc2NyaXB0aW9uPQorIGVjaG8gQUNfSU5JVCBBQ19DT05GSUdfTUFDUk9fRElS UworIGF1dG9jb25mIC1vL2Rldi9udWxsIC0KL2Rldi9udWxsOjE2NzE6IGVycm9yOiBwb3Nz aWJseSB1bmRlZmluZWQgbWFjcm86IEFDX0NPTkZJR19NQUNST19ESVJTCiAgICAgIElmIHRo aXMgdG9rZW4gYW5kIG90aGVycyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHVzZSBtNF9wYXR0 ZXJuX2FsbG93LgogICAgICBTZWUgdGhlIEF1dG9jb25mIGRvY3VtZW50YXRpb24uCisgc2tp cF8gLXIgYXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMgbm90IGRl ZmluZWQpCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIGF1dG9jb25mIGlzIHRvbyBvbGQgKEFD X0NPTkZJR19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQorIHNldCAreApvayA3ICMgU0tJUCBh dXRvY29uZiBpcyB0b28gb2xkIChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5lZCkK U0tJUDogdC9hY2xvY2FsLW1hY3JvZGlyLnRhcCA3ICMgU0tJUCBhdXRvY29uZiBpcyB0b28g b2xkIChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5lZCkKKyA6CisgYW1fZXhpdF90 cmFwIDAKKyBleGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCA3ID0gbGF0ZXIK KyB0ZXN0IDAgLWVxIDAKKyB0ZXN0IDYgLWVxIDcKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKUEFTUzogdC9hY2xvY2Fs LW1hY3JvZGlycwo9PT09PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46 L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hv bWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQv U0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyBwbGFuXyAxNQorIHRlc3QgMSAtZXEgMAor IHRlc3QgMSAtZ2UgMgorIHRlc3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHgxNSA9IHh1bmtu b3duCisgdGVzdCB4MTUgPSB4bGF0ZXIKKyB0ZXN0IHgxNSA9IHhsYXp5CisgdGVzdCB4MTUg PSB4bm93CisgdGVzdCAxNSAtZ2UgMAorIHBsYW5uZWRfPTE1CisgZWNobyAxLi4xNQoxLi4x NQorIHB3ZAorIG9jd2Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHVuc2V0IEFDTE9DQUxfUEFUSAorIHRjb3VudD0w Cisgcj1pbnZhbGlkCisgZGVzY3JpcHRpb249CisgZGlyZWN0aXZlPQorIHRlc3RfYmVnaW4g QUNfQ09ORklHX01BQ1JPX0RJUlMgaXMgaG9ub3JlZAorIHRlc3QgLW4gCisgcj1vaworIGRl c2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJTIGlzIGhvbm9yZWQKKyBkaXJlY3RpdmU9 CisgZWNobyBBQ19DT05GSUdfTUFDUk9fRElSUyBpcyBob25vcmVkCisgc2hpZnQKKyB0Y291 bnQ9MQorIHRlc3QgMSAtZ3QgMAorIG1rZGlyIDEuZAorIGNkIDEuZAorIGNhdAorIG1rZGly IG1hY3JvLWRpcgorIGVjaG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om15Ojpmb286Ol0pCisg YWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbbWFjcm8t ZGlyL2Zvby5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbbWFjcm8tZGlyL2Zvby5tNF0p CisgYXV0b2NvbmYKKyBub3QgL2Jpbi9ncmVwIC1GIE1ZX0ZPTyBjb25maWd1cmUKKyAvYmlu L2dyZXAgLUYgTVlfRk9PIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Om15Ojpmb286OiBj b25maWd1cmUKOjpteTo6Zm9vOjoKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01B Q1JPX0RJUlMgaXMgaG9ub3JlZAorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBB Q19DT05GSUdfTUFDUk9fRElSUyBpcyBob25vcmVkCisgc2V0ICt4Cm9rIDEgLSBBQ19DT05G SUdfTUFDUk9fRElSUyBpcyBob25vcmVkClBBU1M6IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFw IDEgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBpcyBob25vcmVkCisgdGVzdCAteiAKKyB0ZXN0 IG9rID0gb2sKKyBybSAtcmYgMS5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRp b249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGFyZ3VtZW50 cworIHRlc3QgLW4gCisgcj1vaworIGRlc2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJT IHNldmVyYWwgYXJndW1lbnRzCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JP X0RJUlMgc2V2ZXJhbCBhcmd1bWVudHMKKyBzaGlmdAorIHRjb3VudD0yCisgdGVzdCAyIC1n dCAwCisgbWtkaXIgMi5kCisgY2QgMi5kCisgY2F0CisgdGhyZWVfZGlyc19jaGVjaworIG1r ZGlyIGRpcjEgZGlyMiBkaXIzCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6bXk6OmZv bzo6XSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVJdLCBbISFteSEhYmFyISFdKQorIGVjaG8g QUNfREVGVU4oW01ZX0JBWl0sIFs9PW15PT1iYXo9PV0pCisgYWNsb2NhbC0xLjE2IC1XZXJy b3IKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMS9mb28ubTRdKSBhY2xvY2FsLm00 Cm00X2luY2x1ZGUoW2RpcjEvZm9vLm00XSkKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMi96YXAubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkKKyAv YmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMy8wLm00XSkgYWNsb2NhbC5tNAptNF9pbmNs dWRlKFtkaXIzLzAubTRdKQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRSBNWV8oRk9P fEJBUnxCQVopIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxCQVopIGNv bmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Om15Ojpmb286OiBjb25maWd1cmUKOjpteTo6Zm9v OjoKKyAvYmluL2dyZXAgLUYgISFteSEhYmFyISEgY29uZmlndXJlCiEhbXkhIWJhciEhCisg L2Jpbi9ncmVwIC1GID09bXk9PWJhej09IGNvbmZpZ3VyZQo9PW15PT1iYXo9PQorIHRlc3Rf ZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGFyZ3VtZW50cwor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1h Y3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyBz ZXZlcmFsIGFyZ3VtZW50cworIHNldCAreApvayAyIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMg c2V2ZXJhbCBhcmd1bWVudHMKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMiAtIEFD X0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgYXJndW1lbnRzCisgdGVzdCAteiAKKyB0ZXN0 IG9rID0gb2sKKyBybSAtcmYgMi5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRp b249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisg dGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJUlMgc2V2 ZXJhbCBjYWxscworIGRpcmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTIHNl dmVyYWwgY2FsbHMKKyBzaGlmdAorIHRjb3VudD0zCisgdGVzdCAzIC1ndCAwCisgbWtkaXIg My5kCisgY2QgMy5kCisgY2F0CisgdGhyZWVfZGlyc19jaGVjaworIG1rZGlyIGRpcjEgZGly MiBkaXIzCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6bXk6OmZvbzo6XSkKKyBlY2hv IEFDX0RFRlVOKFtNWV9CQVJdLCBbISFteSEhYmFyISFdKQorIGVjaG8gQUNfREVGVU4oW01Z X0JBWl0sIFs9PW15PT1iYXo9PV0pCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dy ZXAgLUYgbTRfaW5jbHVkZShbZGlyMS9mb28ubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1ZGUo W2RpcjEvZm9vLm00XSkKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMi96YXAubTRd KSBhY2xvY2FsLm00Cm00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkKKyAvYmluL2dyZXAgLUYg bTRfaW5jbHVkZShbZGlyMy8wLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIzLzAu bTRdKQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxCQVopIGNv bmZpZ3VyZQorIC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxCQVopIGNvbmZpZ3VyZQorIC9i aW4vZ3JlcCAtRiA6Om15Ojpmb286OiBjb25maWd1cmUKOjpteTo6Zm9vOjoKKyAvYmluL2dy ZXAgLUYgISFteSEhYmFyISEgY29uZmlndXJlCiEhbXkhIWJhciEhCisgL2Jpbi9ncmVwIC1G ID09bXk9PWJhej09IGNvbmZpZ3VyZQo9PW15PT1iYXo9PQorIHRlc3RfZW5kCisgdGVzdCAt eiBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHJl c3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgY2FsbHMKKyBz ZXQgK3gKb2sgMyAtIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgY2FsbHMKUEFTUzog dC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMyAtIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVy YWwgY2FsbHMKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAzLmQKKyByPWlu dmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19N QUNST19ESVJTIGV4dHJhIHdoaXRlc3BhY2UKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlw dGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNwYWNlCisgZGlyZWN0aXZl PQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQorIHNoaWZ0 CisgdGNvdW50PTQKKyB0ZXN0IDQgLWd0IDAKKyBta2RpciA0LmQKKyBjZCA0LmQKKyBic2xh c2g9XAorIGNhdAorIHRocmVlX2RpcnNfY2hlY2sKKyBta2RpciBkaXIxIGRpcjIgZGlyMwor IGVjaG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om15Ojpmb286Ol0pCisgZWNobyBBQ19ERUZV TihbTVlfQkFSXSwgWyEhbXkhIWJhciEhXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVpdLCBb PT1teT09YmF6PT1dKQorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgL2Jpbi9ncmVwIC1GIG00 X2luY2x1ZGUoW2RpcjEvZm9vLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL2Zv by5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkgYWNsb2Nh bC5tNAptNF9pbmNsdWRlKFtkaXIyL3phcC5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1 ZGUoW2RpcjMvMC5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMy8wLm00XSkKKyBh dXRvY29uZgorIG5vdCAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUK KyAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAvYmluL2dyZXAg LUYgOjpteTo6Zm9vOjogY29uZmlndXJlCjo6bXk6OmZvbzo6CisgL2Jpbi9ncmVwIC1GICEh bXkhIWJhciEhIGNvbmZpZ3VyZQohIW15ISFiYXIhIQorIC9iaW4vZ3JlcCAtRiA9PW15PT1i YXo9PSBjb25maWd1cmUKPT1teT09YmF6PT0KKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09O RklHX01BQ1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRf IG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNwYWNlCisgc2V0 ICt4Cm9rIDQgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNwYWNlClBBU1M6 IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFwIDQgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRy YSB3aGl0ZXNwYWNlCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgNC5kCisg cj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05G SUdfTUFDUk9fRElSUyBwcmVjZWRlbmNlCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRp b249QUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQorIGRpcmVjdGl2ZT0KKyBlY2hv IEFDX0NPTkZJR19NQUNST19ESVJTIHByZWNlZGVuY2UKKyBzaGlmdAorIHRjb3VudD01Cisg dGVzdCA1IC1ndCAwCisgbWtkaXIgNS5kCisgY2QgNS5kCisgY2F0CisgbWtkaXIgZGlyMSBk aXIyIGRpcjMKKyBlY2hvIEFDX0RFRlVOKFtNWV9GT09dLCBbT0stRm9vXSkKKyBlY2hvIEFD X0RFRlVOKFtNWV9GT09dLCBbS08tRm9vXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVJdLCBb T0stQmFyXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVJdLCBbS08tQmFyXSkKKyBlY2hvIEFD X0RFRlVOKFtNWV9CQVpdLCBbT0stQmF6XSkKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIC9i aW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIxL2IubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1 ZGUoW2RpcjEvYi5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvMS5tNF0p IGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMi8xLm00XSkKKyAvYmluL2dyZXAgLUYgbTRf aW5jbHVkZShbZGlyMy94Lm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIzL3gubTRd KQorIC9iaW4vZ3JlcCAtRiAtYyBtNF9pbmNsdWRlKFtkaXIxIGFjbG9jYWwubTQKKyB0ZXN0 IDEgLWVxIDEKKyAvYmluL2dyZXAgLUYgLWMgbTRfaW5jbHVkZShbZGlyMiBhY2xvY2FsLm00 CisgdGVzdCAxIC1lcSAxCisgL2Jpbi9ncmVwIC1GIC1jIG00X2luY2x1ZGUoW2RpcjMgYWNs b2NhbC5tNAorIHRlc3QgMSAtZXEgMQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRSBN WV8oRk9PfEJBUnxCQVopIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRSBNWV8oRk9PfEJBUnxC QVopIGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiBPSy1Gb28gY29uZmlndXJlCk9LLUZvbwor IC9iaW4vZ3JlcCAtRiBPSy1CYXIgY29uZmlndXJlCk9LLUJhcgorIC9iaW4vZ3JlcCAtRiBP Sy1CYXogY29uZmlndXJlCk9LLUJhegorIG5vdCAvYmluL2dyZXAgLUYgS08tIGNvbmZpZ3Vy ZQorIC9iaW4vZ3JlcCAtRiBLTy0gY29uZmlndXJlCisgdGVzdF9lbmQKKyB0ZXN0IC16IEFD X0NPTkZJR19NQUNST19ESVJTIHByZWNlZGVuY2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBv ayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQorIHNldCAreApvayA1 IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQpQQVNTOiB0L2FjbG9jYWwtbWFj cm9kaXJzLnRhcCA1IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5jZQorIHRlc3Qg LXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDUuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9 IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUlMgaW50ZXJh Y3Rpb24gd2l0aCAtLWluc3RhbGwKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1B Q19DT05GSUdfTUFDUk9fRElSUyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIGRpcmVj dGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTIGludGVyYWN0aW9uIHdpdGggLS1p bnN0YWxsCisgc2hpZnQKKyB0Y291bnQ9NgorIHRlc3QgNiAtZ3QgMAorIG1rZGlyIDYuZAor IGNkIDYuZAorIGNhdAorIG1rZGlyIHN5cy1kaXIgdGhlLWRpcgorIGVjaG8gQUNfREVGVU4o W1RIRV9NQUNST10sIFs6XSkKKyB0ZXN0ICEgLXIgdGhlLWRpci9teS5tNAorIGFjbG9jYWwt MS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5c3RlbS1hY2RpciAuL3N5cy1kaXIKYWNsb2Nh bC0xLjE2OiBpbnN0YWxsaW5nICd0aGUtZGlyL215Lm00JyBmcm9tICdzeXMtZGlyL215Lm00 JworIGRpZmYgc3lzLWRpci9teS5tNCB0aGUtZGlyL215Lm00CisgdGVzdF9lbmQKKyB0ZXN0 IC16IEFDX0NPTkZJR19NQUNST19ESVJTIGludGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwtbWFj cm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVJTIGlu dGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisgc2V0ICt4Cm9rIDYgLSBBQ19DT05GSUdfTUFD Uk9fRElSUyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbApQQVNTOiB0L2FjbG9jYWwtbWFj cm9kaXJzLnRhcCA2IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgaW50ZXJhY3Rpb24gd2l0aCAt LWluc3RhbGwKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiA2LmQKKyByPWlu dmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIHNldmVyYWwgQUNf Q09ORklHX01BQ1JPX0RJUlMgYXJndW1lbnRzIGFuZCAtLWluc3RhbGwKKyB0ZXN0IC1uIAor IHI9b2sKKyBkZXNjcmlwdGlvbj1zZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFyZ3Vt ZW50cyBhbmQgLS1pbnN0YWxsCisgZGlyZWN0aXZlPQorIGVjaG8gc2V2ZXJhbCBBQ19DT05G SUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAorIHNoaWZ0CisgdGNvdW50 PTcKKyB0ZXN0IDcgLWd0IDAKKyBta2RpciA3LmQKKyBjZCA3LmQKKyBjYXQKKyB0d29fZGly c19pbnN0YWxsX2NoZWNrCisgbWtkaXIgc3lzLWRpciBkaXIxIGRpcjIKKyBlY2hvIEFDX0RF RlVOKFtUSEVfTUFDUk9dLCBbOl0pCisgZWNobyBBQ19ERUZVTihbQVhfRk9PXSwgWzpdKQor IHRlc3QgISAtciBkaXIxL215Lm00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLS1pbnN0YWxs IC0tc3lzdGVtLWFjZGlyIC4vc3lzLWRpcgphY2xvY2FsLTEuMTY6IGluc3RhbGxpbmcgJ2Rp cjEvbXkubTQnIGZyb20gJ3N5cy1kaXIvbXkubTQnCisgZGlmZiBzeXMtZGlyL215Lm00IGRp cjEvbXkubTQKKyB0ZXN0ICEgLWUgZGlyMi9teS5tNAorIC9iaW4vZ3JlcCAtRiBtNF9pbmNs dWRlKFtkaXIxL215Lm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL215Lm00XSkK KyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMi96YXAubTRdKSBhY2xvY2FsLm00Cm00 X2luY2x1ZGUoW2RpcjIvemFwLm00XSkKKyB0ZXN0X2VuZAorIHRlc3QgLXogc2V2ZXJhbCBB Q19DT05GSUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAorIGNkIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5k aXIKKyByZXN1bHRfIG9rIC1EICAtLSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFy Z3VtZW50cyBhbmQgLS1pbnN0YWxsCisgc2V0ICt4Cm9rIDcgLSBzZXZlcmFsIEFDX0NPTkZJ R19NQUNST19ESVJTIGFyZ3VtZW50cyBhbmQgLS1pbnN0YWxsClBBU1M6IHQvYWNsb2NhbC1t YWNyb2RpcnMudGFwIDcgLSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFyZ3VtZW50 cyBhbmQgLS1pbnN0YWxsCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgNy5k Cisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBzZXZl cmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNhbGxzIGFuZCAtLWluc3RhbGwKKyB0ZXN0IC1u IAorIHI9b2sKKyBkZXNjcmlwdGlvbj1zZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNh bGxzIGFuZCAtLWluc3RhbGwKKyBkaXJlY3RpdmU9CisgZWNobyBzZXZlcmFsIEFDX0NPTkZJ R19NQUNST19ESVJTIGNhbGxzIGFuZCAtLWluc3RhbGwKKyBzaGlmdAorIHRjb3VudD04Cisg dGVzdCA4IC1ndCAwCisgbWtkaXIgOC5kCisgY2QgOC5kCisgY2F0CisgdHdvX2RpcnNfaW5z dGFsbF9jaGVjaworIG1rZGlyIHN5cy1kaXIgZGlyMSBkaXIyCisgZWNobyBBQ19ERUZVTihb VEhFX01BQ1JPXSwgWzpdKQorIGVjaG8gQUNfREVGVU4oW0FYX0ZPT10sIFs6XSkKKyB0ZXN0 ICEgLXIgZGlyMS9teS5tNAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5 c3RlbS1hY2RpciAuL3N5cy1kaXIKYWNsb2NhbC0xLjE2OiBpbnN0YWxsaW5nICdkaXIxL215 Lm00JyBmcm9tICdzeXMtZGlyL215Lm00JworIGRpZmYgc3lzLWRpci9teS5tNCBkaXIxL215 Lm00CisgdGVzdCAhIC1lIGRpcjIvbXkubTQKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMS9teS5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMS9teS5tNF0pCisgL2Jp bi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkgYWNsb2NhbC5tNAptNF9pbmNs dWRlKFtkaXIyL3phcC5tNF0pCisgdGVzdF9lbmQKKyB0ZXN0IC16IHNldmVyYWwgQUNfQ09O RklHX01BQ1JPX0RJUlMgY2FsbHMgYW5kIC0taW5zdGFsbAorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1 bHRfIG9rIC1EICAtLSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNhbGxzIGFuZCAt LWluc3RhbGwKKyBzZXQgK3gKb2sgOCAtIHNldmVyYWwgQUNfQ09ORklHX01BQ1JPX0RJUlMg Y2FsbHMgYW5kIC0taW5zdGFsbApQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCA4IC0g c2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBjYWxscyBhbmQgLS1pbnN0YWxsCisgdGVz dCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgOC5kCisgcj1pbnZhbGlkIGRpcmVjdGl2 ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNf Q09ORklHX01BQ1JPX0RJUlMKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj0nLUkn IG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBkaXJlY3RpdmU9Cisg ZWNobyAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBzaGlm dAorIHRjb3VudD05CisgdGVzdCA5IC1ndCAwCisgbWtkaXIgOS5kCisgY2QgOS5kCisgY2F0 CisgbWtkaXIgZGlyMSBkaXIyCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6a286Omtv OjpdKQorIGVjaG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om9rOjpvazo6XSkKKyBhY2xvY2Fs LTEuMTYgLVdlcnJvciAtSSBkaXIyCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIv Mi5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMi8yLm00XSkKKyBub3QgL2Jpbi9n cmVwIC1GIG00X2luY2x1ZGUoW2RpcjEvMS5tNF0pIGFjbG9jYWwubTQKKyAvYmluL2dyZXAg LUYgbTRfaW5jbHVkZShbZGlyMS8xLm00XSkgYWNsb2NhbC5tNAorIGF1dG9jb25mCisgbm90 IC9iaW4vZ3JlcCAtRiA6OmtvOjprbzo6IGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Omtv Ojprbzo6IGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6Om9rOjpvazo6IGNvbmZpZ3VyZQo6 Om9rOjpvazo6CisgdGVzdF9lbmQKKyB0ZXN0IC16ICctSScgb3B0aW9uIHdpbnMgb3ZlciBB Q19DT05GSUdfTUFDUk9fRElSUworIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSAn LUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBzZXQgK3gKb2sg OSAtICctSScgb3B0aW9uIHdpbnMgb3ZlciBBQ19DT05GSUdfTUFDUk9fRElSUwpQQVNTOiB0 L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCA5IC0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NP TkZJR19NQUNST19ESVJTCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgOS5k Cisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19D T05GSUdfTUFDUk9fRElSUyhbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyB0 ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyhbZm9v XSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19D T05GSUdfTUFDUk9fRElSUyhbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBz aGlmdAorIHRjb3VudD0xMAorIHRlc3QgMTAgLWd0IDAKKyBta2RpciAxMC5kCisgY2QgMTAu ZAorIGNhdAorIG1rZGlyIGFjZGlyCisgZWNobyBBQ19ERUZVTihbTVlfTUFDUk9dLCBbOl0p CisgdGVzdCAhIC1kIGZvbworIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5 c3RlbS1hY2RpciAuL2FjZGlyCmFjbG9jYWwtMS4xNjogaW5zdGFsbGluZyAnZm9vL2Jhci5t NCcgZnJvbSAnYWNkaXIvYmFyLm00JworIGRpZmYgYWNkaXIvYmFyLm00IGZvby9iYXIubTQK KyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMoW2Zvb10pIGNhbiBj cmVhdGUgZGlyZWN0b3J5ICdmb28nCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0t IEFDX0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9v JworIHNldCAreApvayAxMCAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3Jl YXRlIGRpcmVjdG9yeSAnZm9vJwpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxMCAt IEFDX0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9v JworIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDEwLmQKKyByPWludmFsaWQg ZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19NQUNST19E SVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMSkKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNj cmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2FybnMgKDEp CisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1leGlzdGVu dF0pIHdhcm5zICgxKQorIHNoaWZ0CisgdGNvdW50PTExCisgdGVzdCAxMSAtZ3QgMAorIG1r ZGlyIDExLmQKKyBjZCAxMS5kCisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLVduby1l cnJvcgorIGNhdCBzdGRlcnIKYWNsb2NhbC0xLjE2OiB3YXJuaW5nOiBjb3VsZG4ndCBvcGVu IGRpcmVjdG9yeSAnbm9uLWV4aXN0ZW50JzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQor IGdyZXAgY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25vbi1leGlzdGVudCcgc3RkZXJyCmFj bG9jYWwtMS4xNjogd2FybmluZzogY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25vbi1leGlz dGVudCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyB0ZXN0IC1mIGFjbG9jYWwubTQK KyBybSAtcmYgYWNsb2NhbC5tNCBhdXRvbTR0ZS5jYWNoZQorIGFjbG9jYWwtMS4xNiAtV2Vy cm9yIC1XZXJyb3IgLVduby11bnN1cHBvcnRlZAorIHRlc3QgLWYgYWNsb2NhbC5tNAorIHRl c3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkg d2FybnMgKDEpCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2FjbG9jYWwtbWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19N QUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMSkKKyBzZXQgK3gKb2sgMTEgLSBB Q19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2FybnMgKDEpClBBU1M6IHQv YWNsb2NhbC1tYWNyb2RpcnMudGFwIDExIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1l eGlzdGVudF0pIHdhcm5zICgxKQorIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJm IDExLmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2lu IEFDX0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMikKKyB0ZXN0 IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4 aXN0ZW50XSkgd2FybnMgKDIpCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JP X0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgyKQorIHNoaWZ0CisgdGNvdW50PTEyCisg dGVzdCAxMiAtZ3QgMAorIG1rZGlyIDEyLmQKKyBjZCAxMi5kCisgY2F0CisgbWtkaXIgZGly LW9rCisgbm90IGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgY2F0IHN0ZGVycgorIGFjbG9jYWwt MS4xNiAtV2Vycm9yCmFjbG9jYWwtMS4xNjogZXJyb3I6IGNvdWxkbid0IG9wZW4gZGlyZWN0 b3J5ICdkaXIta28nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgZ3JlcCBjb3VsZG4n dCBvcGVuIGRpcmVjdG9yeSAnZGlyLWtvJyBzdGRlcnIKYWNsb2NhbC0xLjE2OiBlcnJvcjog Y291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ2Rpci1rbyc6IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKKyBub3QgZ3JlcCBkaXItb2sgc3RkZXJyCisgZ3JlcCBkaXItb2sgc3RkZXJyCisg dGVzdCAhIC1lIGFjbG9jYWwubTQKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01B Q1JPX0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgyKQorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1 bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2Fy bnMgKDIpCisgc2V0ICt4Cm9rIDEyIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1leGlz dGVudF0pIHdhcm5zICgyKQpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxMiAtIEFD X0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMikKKyB0ZXN0IC16 IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAxMi5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0g ZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyhbZXhpc3Rl bnQgbm9uLWV4aXN0ZW50XSkgZXJyb3JzIG91dAorIHRlc3QgLW4gCisgcj1vaworIGRlc2Ny aXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJTKFtleGlzdGVudCBub24tZXhpc3RlbnRdKSBl cnJvcnMgb3V0CisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4 aXN0ZW50IG5vbi1leGlzdGVudF0pIGVycm9ycyBvdXQKKyBzaGlmdAorIHRjb3VudD0xMwor IHRlc3QgMTMgLWd0IDAKKyBta2RpciAxMy5kCisgY2QgMTMuZAorIGNhdAorIG1rZGlyIGRp ci1vaworIG5vdCBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV25vbmUgLS1pbnN0YWxsCisgY2F0 IHN0ZGVycgorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC1Xbm9uZSAtLWluc3RhbGwKYWNsb2Nh bC0xLjE2OiBlcnJvcjogY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ2Rpci1rbyc6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyBncmVwIGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICdk aXIta28nIHN0ZGVycgphY2xvY2FsLTEuMTY6IGVycm9yOiBjb3VsZG4ndCBvcGVuIGRpcmVj dG9yeSAnZGlyLWtvJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorIHRlc3QgISAtZSBk aXIta28KKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4aXN0 ZW50IG5vbi1leGlzdGVudF0pIGVycm9ycyBvdXQKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBv ayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4aXN0ZW50IG5vbi1leGlzdGVudF0p IGVycm9ycyBvdXQKKyBzZXQgK3gKb2sgMTMgLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbZXhp c3RlbnQgbm9uLWV4aXN0ZW50XSkgZXJyb3JzIG91dApQQVNTOiB0L2FjbG9jYWwtbWFjcm9k aXJzLnRhcCAxMyAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtleGlzdGVudCBub24tZXhpc3Rl bnRdKSBlcnJvcnMgb3V0CisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMTMu ZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNf Q09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxBR1MgPSAt SSBub3QtZXhpc3QKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdf TUFDUk9fRElSUyhbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1l eGlzdAorIGRpcmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTKFtub3QtZXhp c3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0Cisgc2hpZnQKKyB0Y291 bnQ9MTQKKyB0ZXN0IDE0IC1ndCAwCisgbWtkaXIgMTQuZAorIGNkIDE0LmQKKyBjYXQKKyBj YXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV25vLWVycm9yCisgY2F0IHN0ZGVycgphY2xv Y2FsLTEuMTY6IHdhcm5pbmc6IGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICdub3QtZXhpc3Qn OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgZ3JlcCAtYyBjb3VsZG4ndCBvcGVuIGRp cmVjdG9yeSAnbm90LWV4aXN0JyBzdGRlcnIKKyB0ZXN0IDEgLWVxIDEKKyB0ZXN0X2VuZAor IHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FM X0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAg LS0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxB R1MgPSAtSSBub3QtZXhpc3QKKyBzZXQgK3gKb2sgMTQgLSBBQ19DT05GSUdfTUFDUk9fRElS Uyhbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlzdApQQVNT OiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxNCAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtu b3QtZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0CisgdGVzdCAt eiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMTQuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9 IGRlc2NyaXB0aW9uPQorIGVjaG8gQUNfSU5JVCBBQ19DT05GSUdfTUFDUk9fRElSUworIGF1 dG9jb25mIC1vL2Rldi9udWxsIC0KL2Rldi9udWxsOjE2NzE6IGVycm9yOiBwb3NzaWJseSB1 bmRlZmluZWQgbWFjcm86IEFDX0NPTkZJR19NQUNST19ESVJTCiAgICAgIElmIHRoaXMgdG9r ZW4gYW5kIG90aGVycyBhcmUgbGVnaXRpbWF0ZSwgcGxlYXNlIHVzZSBtNF9wYXR0ZXJuX2Fs bG93LgogICAgICBTZWUgdGhlIEF1dG9jb25mIGRvY3VtZW50YXRpb24uCisgc2tpcF8gLXIg YXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMgbm90IGRlZmluZWQp CisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIGF1dG9jb25mIGlzIHRvbyBvbGQgKEFDX0NPTkZJ R19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQorIHNldCAreApvayAxNSAjIFNLSVAgYXV0b2Nv bmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMgbm90IGRlZmluZWQpClNLSVA6 IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFwIDE1ICMgU0tJUCBhdXRvY29uZiBpcyB0b28gb2xk IChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5lZCkKKyA6CisgYW1fZXhpdF90cmFw IDAKKyBleGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCAxNSA9IGxhdGVyCisg dGVzdCAwIC1lcSAwCisgdGVzdCAxNCAtZXEgMTUKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKWEZBSUw6IHQvYWxsCj09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FsbC5kaXIKKyB0YXJnZXRzPWFs bCBpbnN0YWxsLWV4ZWMgaW5zdGFsbC1kYXRhIHVuaW5zdGFsbAorIGVjaG8gYWxsIGluc3Rh bGwtZXhlYyBpbnN0YWxsLWRhdGEgdW5pbnN0YWxsOgorIHNlZCAtZSBzL1sgOl0vLWxvY2Fs Ji9nCisgY2F0IE1ha2VmaWxlLmFtCmFsbC1sb2NhbCBpbnN0YWxsLWV4ZWMtbG9jYWwgaW5z dGFsbC1kYXRhLWxvY2FsIHVuaW5zdGFsbC1sb2NhbDoKKyBhY2xvY2FsLTEuMTYgLVdlcnJv cgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBncmVwIGFsbC1s b2NhbCBNYWtlZmlsZS5pbgphbGwtbG9jYWwgaW5zdGFsbC1leGVjLWxvY2FsIGluc3RhbGwt ZGF0YS1sb2NhbCB1bmluc3RhbGwtbG9jYWw6CisgZ3JlcCBhbGwtYW06LiphbGwtbG9jYWwg TWFrZWZpbGUuaW4KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25l ID0gdGFwCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9hbGwuc2ggKGV4aXQgc3Rh dHVzOiAxKQoKU0tJUDogdC9hbWhlbGxvLWNyb3NzLWNvbXBpbGUKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KCmFtaGVsbG8tY3Jvc3MtY29tcGlsZTogcnVubmluZyBpNTg2LW1p bmd3MzJtc3ZjLWdjYyAtLXZlcnNpb24KLi90L2FtaGVsbG8tY3Jvc3MtY29tcGlsZS5zaDog OTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBpNTg2LW1pbmd3MzJtc3ZjLWdjYzogbm90IGZvdW5kClNLSVAgdC9hbWhlbGxv LWNyb3NzLWNvbXBpbGUuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvYXItbGliNWEK PT09PT09PT09PT09PT09PQoKYXItbGliNWE6IHJ1bm5pbmcgbGliIC1vdXQ6ZGVmc3Rlc3Qu bGliCi4vdC9hci1saWI1YS5zaDogODczOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBsaWI6IG5vdCBmb3VuZApTS0lQIHQvYXIt bGliNWEuc2ggKGV4aXQgc3RhdHVzOiA3NykKClBBU1M6IHQvYXV4ZGlyLWNvbXB1dGVkCj09 PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpU ZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9T VE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1h cm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisg cHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hdXhkaXItY29t cHV0ZWQuZGlyCisgcGxhbl8gMworIHRlc3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRl c3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0IHgzID0geHVua25vd24KKyB0ZXN0IHgzID0geGxh dGVyCisgdGVzdCB4MyA9IHhsYXp5CisgdGVzdCB4MyA9IHhub3cKKyB0ZXN0IDMgLWdlIDAK KyBwbGFubmVkXz0zCisgZWNobyAxLi4zCjEuLjMKKyBjYXQKKyA6CisgY29tbWFuZF9va18g YWNsb2NhbCBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIHRhcF9kaXJlY3RpdmVfPSB0YXBfcmVh c29uXz0KKyB0ZXN0IDMgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPWFjbG9jYWwKKyBzaGlm dAorIHRlc3QgMiAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhY2xvY2FsLTEu MTYgLVdlcnJvcgorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBhY2xvY2FsCisgc2V0ICt4Cm9r IDEgLSBhY2xvY2FsClBBU1M6IHQvYXV4ZGlyLWNvbXB1dGVkLnRhcCAxIC0gYWNsb2NhbAor IGNvbW1hbmRfb2tfIGF1dG9tYWtlIC1hIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKKyB0YXBf ZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCAxMCAtZ3QgMAorIHRhcF9kZXNjcmlw dGlvbl89YXV0b21ha2UgLWEKKyBzaGlmdAorIHRlc3QgOSAtZ3QgMAorIHRhcF9kaXJlY3Rp dmVfPVRPRE8KKyBzaGlmdAorIHNoaWZ0CisgdGVzdCA3IC1ndCAwCisgdGFwX3JlYXNvbl89 bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgc2hpZnQKKyBzaGlmdAorIHRlc3QgNSAtZ3Qg MAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5hYzoyOiBlcnJvcjogcmVxdWlyZWQgZGlyZWN0 b3J5IC4vJGZvbyBkb2VzIG5vdCBleGlzdApjb25maWd1cmUuYWM6MzogZXJyb3I6IGluc3Rh bGxpbmcgJyRmb28vaW5zdGFsbC1zaCc7IGVycm9yIHdoaWxlIG1ha2luZyBsaW5rOiBObyBz dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZS5hYzozOiBlcnJvcjogaW5zdGFsbGlu ZyAnJGZvby9taXNzaW5nJzsgZXJyb3Igd2hpbGUgbWFraW5nIGxpbms6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKKyB0YXBfcmVzdWx0Xz1ub3Qgb2sKKyByZXN1bHRfIG5vdCBvayAt RCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBhdXRvbWFrZSAtYQorIHNl dCAreApub3Qgb2sgMiAtIGF1dG9tYWtlIC1hICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0 YXRpb24KWEZBSUw6IHQvYXV4ZGlyLWNvbXB1dGVkLnRhcCAyIC0gYXV0b21ha2UgLWEgIyBU T0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNvbW1hbmRfb2tfIGF1dG9tYWtlIC1E IFRPRE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIGF1dG9tYWtlLTEuMTYgLS1mb3Jl aWduIC1XZXJyb3IgLVdhbGwKKyB0YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVz dCA5IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9uXz1hdXRvbWFrZQorIHNoaWZ0CisgdGVzdCA4 IC1ndCAwCisgdGFwX2RpcmVjdGl2ZV89VE9ETworIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0IDYg LWd0IDAKKyB0YXBfcmVhc29uXz1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBzaGlmdAor IHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgYnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIGF1dG9t YWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKY29uZmlndXJlLmFjOjI6IGVycm9y OiByZXF1aXJlZCBkaXJlY3RvcnkgLi8kZm9vIGRvZXMgbm90IGV4aXN0CmNvbmZpZ3VyZS5h YzozOiBlcnJvcjogcmVxdWlyZWQgZmlsZSAnJGZvby9pbnN0YWxsLXNoJyBub3QgZm91bmQK Y29uZmlndXJlLmFjOjM6ICAgJ2F1dG9tYWtlIC0tYWRkLW1pc3NpbmcnIGNhbiBpbnN0YWxs ICdpbnN0YWxsLXNoJwpjb25maWd1cmUuYWM6MzogZXJyb3I6IHJlcXVpcmVkIGZpbGUgJyRm b28vbWlzc2luZycgbm90IGZvdW5kCmNvbmZpZ3VyZS5hYzozOiAgICdhdXRvbWFrZSAtLWFk ZC1taXNzaW5nJyBjYW4gaW5zdGFsbCAnbWlzc2luZycKKyB0YXBfcmVzdWx0Xz1ub3Qgb2sK KyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAt LSBhdXRvbWFrZQorIHNldCAreApub3Qgb2sgMyAtIGF1dG9tYWtlICMgVE9ETyBsb25nLXN0 YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvYXV4ZGlyLWNvbXB1dGVkLnRhcCAzIC0gYXV0 b21ha2UgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIDoKKyBhbV9leGl0X3Ry YXAgMAorIGV4aXRfc3RhdHVzPTAKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCB0YXAgPSB0YXAKKyB0ZXN0IDMgPSBsYXRlcgor IHRlc3QgMCAtZXEgMAorIHRlc3QgMSAtZXEgMworIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4CgpYRkFJTDogdC9hdXhkaXIt cHIxOTMxMQo9PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmlu Oi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9o di9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdH RVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F1eGRpci1wcjE5MzExLmRpcgorIGNhdAorIDoKKyBta2RpciBidWlsZC1hdXgKKyBhY2xv Y2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdh bGwgLWEKY29uZmlndXJlLmFjOjI6IGluc3RhbGxpbmcgJ2J1aWxkLWF1eC9jb21waWxlJwpj b25maWd1cmUuYWM6NDogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2luc3RhbGwtc2gnCmNvbmZp Z3VyZS5hYzo0OiBpbnN0YWxsaW5nICdidWlsZC1hdXgvbWlzc2luZycKKyBhdXRvY29uZgor IHRlc3QgLWYgYnVpbGQtYXV4L2NvbXBpbGUKKyB0ZXN0IC1mIGJ1aWxkLWF1eC9pbnN0YWxs LXNoCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2M5CmNoZWNraW5nIHdo ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj b21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g bwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjOSBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjOSBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY29uZmln dXJlOiBlcnJvcjogY2Fubm90IGZpbmQgaW5zdGFsbC1zaCwgaW5zdGFsbC5zaCwgb3Igc2h0 b29sIGluICIuIiAiLi8uLiIgIi4vLi4vLi4iCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0 YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9 eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQv YXV4ZGlyLXByMTkzMTEuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC9jb21waWxlNAo9 PT09PT09PT09PT09PT09Cgpjb21waWxlNDogcnVubmluZyBjbCAtPwouL3QvY29tcGlsZTQu c2g6IDc3OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogY2w6IG5vdCBmb3VuZApTS0lQIHQvY29tcGlsZTQuc2ggKGV4aXQgc3Rh dHVzOiA3NykKClNLSVA6IHQvY29tcGlsZTUKPT09PT09PT09PT09PT09PQoKUnVubmluZyBm cm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jpbjov dXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4y L2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9i aW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2NvbXBpbGU1LmRpcgorIGdldF9zaGVsbF9zY3JpcHQgY29tcGlsZQor IGFtX3NvdXJjZT1jb21waWxlIGFtX3RhcmdldD1jb21waWxlCisgdGVzdCAhIC1mIGNvbXBp bGUKKyBybSAtZiBjb21waWxlCisgdGVzdCB4ID0geHllcworIGNwIC1mIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2NvbXBpbGUgY29tcGlsZQorIHNlZCAx MHEgY29tcGlsZQojISAvYmluL3NoCiMgV3JhcHBlciBmb3IgY29tcGlsZXJzIHdoaWNoIGRv IG5vdCB1bmRlcnN0YW5kICctYyAtbycuCgpzY3JpcHR2ZXJzaW9uPTIwMTgtMDMtMDcuMDM7 ICMgVVRDCgojIENvcHlyaWdodCAoQykgMTk5OS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgojIFdyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJvbWV5QGN5Z251cy5jb20+ LgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIHVuc2V0IGFtX3Rhcmdl dCBhbV9zb3VyY2UKKyBjYXQKKyBjaG1vZCAreCAuL2NsCisgY2F0CisgOgorIGNhdAorIGFj bG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWln biAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5hYzo0OiBpbnN0YWxsaW5nICcuL2NvbmZp Zy5ndWVzcycKY29uZmlndXJlLmFjOjQ6IGluc3RhbGxpbmcgJy4vY29uZmlnLnN1YicKKyAu L2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91 c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAv YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBl Li4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4 ODZfNjQtcGMtbGludXgtZ251CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBu ZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25m aWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIGNoZWNrX2hvc3QKKyAuIC4vY2hlY2tfaG9zdAorIHNraXBfIHRhcmdl dCBPUyBpcyBub3QgTWluR1cKKyB3YXJuXyBjb21waWxlNTogc2tpcHBlZCB0ZXN0OiB0YXJn ZXQgT1MgaXMgbm90IE1pbkdXCisgZWNobyBjb21waWxlNTogc2tpcHBlZCB0ZXN0OiB0YXJn ZXQgT1MgaXMgbm90IE1pbkdXCisgX2FtX2V4aXQgNzcKKyBzZXQgK2UKKyB0ZXN0IDc3ID0g NzcKKyBhbV9fdGVzdF9za2lwcGVkPXllcworIGV4aXQgNzcKKyBleGl0IDc3CisgYW1fZXhp dF90cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAt ZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAwCisgc2V0ICt4ClNLSVAgdC9jb21waWxlNS5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJ UDogdC9jb21waWxlNwo9PT09PT09PT09PT09PT09Cgpjb21waWxlNzogcnVubmluZyBpY2wg LT8KLi90L2NvbXBpbGU3LnNoOiA3OTA6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGljbDogbm90IGZvdW5kClNLSVAgdC9jb21w aWxlNy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKWEZBSUw6IHQvY29uZDE3Cj09PT09PT09PT09 PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9u ZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1 YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0y MDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NvbmQxNy5kaXIKKyBjYXQKKyBjYXQKKyBh Y2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3Ig LVdhbGwgLWEKTWFrZWZpbGUuYW06IGVycm9yOiBvYmplY3QgJ2Zvby4kKE9CSkVYVCknIGNy ZWF0ZWQgYnkgJ2Zvby5jYycgYW5kICdmb28uYycKKyBhbV9leGl0X3RyYXAgMQorIGV4aXRf c3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGly cz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwg dC9jb25kMTcuc2ggKGV4aXQgc3RhdHVzOiAxKQoKUEFTUzogdC9jc2NvcGUKPT09PT09PT09 PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IHRh cApQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1 YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0y MDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIKKyBwbGFuXyAxOAorIHRl c3QgMSAtZXEgMAorIHRlc3QgMSAtZ2UgMgorIHRlc3QgeG5vbmUgIT0geG5vbmUKKyB0ZXN0 IHgxOCA9IHh1bmtub3duCisgdGVzdCB4MTggPSB4bGF0ZXIKKyB0ZXN0IHgxOCA9IHhsYXp5 CisgdGVzdCB4MTggPSB4bm93CisgdGVzdCAxOCAtZ2UgMAorIHBsYW5uZWRfPTE4CisgZWNo byAxLi4xOAoxLi4xOAorIHB3ZAorIG9jd2Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2NzY29wZS5kaXIKKyBjYXQKKyBta2RpciBzdWIgc3ViL3N1YnN1Ygor IGNhdAorIGNhdAorIGVjaG8gaW50IGZvb19mdW5jICgpIHsgcmV0dXJuIDA7IH0KKyBlY2hv IGludCBtYWluICgpIHsgcmV0dXJuIDA7IH0KKyBjYXQKKyA6CisgZWNobyBpbnQgbWFpbiAo KSB7IHJldHVybiAwOyB9CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1 dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWkgLWEKKyBjc2NvcGUgLXEg LS12ZXJzaW9uCi4vdC9jc2NvcGUudGFwOiA3MjogLi90L2NzY29wZS50YXA6IGNzY29wZTog bm90IGZvdW5kCisgaGF2ZV9jc2NvcGU9bm8KKyB1c2luZ19nbWFrZQorIG1ha2UgLS12ZXJz aW9uIC12CisgZ3JlcCBHTlUKR05VIE1ha2UgNC4yLjEKTGljZW5jZSBHUEx2MyvCoDogR05V IEdQTCB2ZXJzaW9uIDMgb3UgdWx0w6lyaWV1cmUgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2Vz L2dwbC5odG1sPgorIGFtX191c2luZ19nbWFrZT15ZXMKKyByZXR1cm4gMAorIGNkIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyCisgcGZ4PXJl bGF0aXZlIFZQQVRICisgbWtkaXIgYnVpbGQKKyBjZCBidWlsZAorIG15X2NvbmZpZ3VyZSAu LgorIGNvbW1hbmRfb2tfIFtyZWxhdGl2ZSBWUEFUSF0gY29uZmlndXJlIC4uL2NvbmZpZ3Vy ZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRpcj0vd2hvL2NhcmVzCisgdGFwX2RpcmVjdGl2ZV89 IHRhcF9yZWFzb25fPQorIHRlc3QgNCAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89W3JlbGF0 aXZlIFZQQVRIXSBjb25maWd1cmUKKyBzaGlmdAorIHRlc3QgMyAtZ3QgMAorIGJyZWFrCisg dGFwX3Jlc3VsdF89b2sKKyAuLi9jb25maWd1cmUgRU1BQ1M9bm8gLS13aXRoLWxpc3BkaXI9 L3doby9jYXJlcwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91 c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAv YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBlbWFjcy4uLiBubwpj aGVja2luZyB3aGVyZSAuZWxjIGZpbGVzIHNob3VsZCBnby4uLiAvd2hvL2NhcmVzCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6 IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIHN1Yi9NYWtlZmls ZQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBbcmVsYXRpdmUgVlBBVEhdIGNvbmZpZ3VyZQor IHNldCAreApvayAxIC0gW3JlbGF0aXZlIFZQQVRIXSBjb25maWd1cmUKUEFTUzogdC9jc2Nv cGUudGFwIDEgLSBbcmVsYXRpdmUgVlBBVEhdIGNvbmZpZ3VyZQorIHRlc3RfY3Njb3BlCisg cj1vaworIG1ha2UgLW4gY3Njb3BlCnJtIC1mIGNzY29wZS5maWxlcwpmYWlsPTsgXAppZiAo dGFyZ2V0X29wdGlvbj1rOyBjYXNlICR7dGFyZ2V0X29wdGlvbi19IGluID8pIDs7ICopIGVj aG8gImFtX19tYWtlX3J1bm5pbmdfd2l0aF9vcHRpb246IGludGVybmFsIGVycm9yOiBpbnZh bGlkIiAidGFyZ2V0IG9wdGlvbiAnJHt0YXJnZXRfb3B0aW9uLX0nIHNwZWNpZmllZCIgPiYy OyBleGl0IDE7OyBlc2FjOyBoYXNfb3B0PW5vOyBzYW5lX21ha2VmbGFncz0kTUFLRUZMQUdT OyBpZiB7IGlmIHRlc3QgLXogJzAnOyB0aGVuIGZhbHNlOyBlbGlmIHRlc3QgLW4gJ3g4Nl82 NC1wYy1saW51eC1nbnUnOyB0aGVuIHRydWU7IGVsaWYgdGVzdCAtbiAnNC4yLjEnICYmIHRl c3QgLW4gJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUu ZGlyL2J1aWxkJzsgdGhlbiB0cnVlOyBlbHNlIGZhbHNlOyBmaTsgfTsgdGhlbiBzYW5lX21h a2VmbGFncz0kTUZMQUdTOyBlbHNlIGNhc2UgJE1BS0VGTEFHUyBpbiAqXFxbXCBcCV0qKSBi cz1cXDsgc2FuZV9tYWtlZmxhZ3M9YHByaW50ZiAnJXNcbicgIiRNQUtFRkxBR1MiIHwgc2Vk ICJzLyRicyRic1skYnMgJGJzCV0qLy9nImA7OyBlc2FjOyBmaTsgc2tpcF9uZXh0PW5vOyBz dHJpcF90cmFpbG9wdCAoKSB7IGZsZz1gcHJpbnRmICclc1xuJyAiJGZsZyIgfCBzZWQgInMv JDEuKiQvLyJgOyB9OyBmb3IgZmxnIGluICRzYW5lX21ha2VmbGFnczsgZG8gdGVzdCAkc2tp cF9uZXh0ID0geWVzICYmIHsgc2tpcF9uZXh0PW5vOyBjb250aW51ZTsgfTsgY2FzZSAkZmxn IGluICo9KnwtLSopIGNvbnRpbnVlOzsgLSpJKSBzdHJpcF90cmFpbG9wdCAnSSc7IHNraXBf bmV4dD15ZXM7OyAtKkk/Kikgc3RyaXBfdHJhaWxvcHQgJ0knOzsgLSpPKSBzdHJpcF90cmFp bG9wdCAnTyc7IHNraXBfbmV4dD15ZXM7OyAtKk8/Kikgc3RyaXBfdHJhaWxvcHQgJ08nOzsg LSpsKSBzdHJpcF90cmFpbG9wdCAnbCc7IHNraXBfbmV4dD15ZXM7OyAtKmw/Kikgc3RyaXBf dHJhaWxvcHQgJ2wnOzsgLVtkRURtXSkgc2tpcF9uZXh0PXllczs7IC1bSlRdKSBza2lwX25l eHQ9eWVzOzsgZXNhYzsgY2FzZSAkZmxnIGluICokdGFyZ2V0X29wdGlvbiopIGhhc19vcHQ9 eWVzOyBicmVhazs7IGVzYWM7IGRvbmU7IHRlc3QgJGhhc19vcHQgPSB5ZXMpOyB0aGVuIFwK ICBmYWlsY29tPSdmYWlsPXllcyc7IFwKZWxzZSBcCiAgZmFpbGNvbT0nZXhpdCAxJzsgXApm aTsgXApkb3Rfc2Vlbj1ubzsgXAp0YXJnZXQ9YGVjaG8gY3Njb3BlbGlzdC1yZWN1cnNpdmUg fCBzZWQgcy8tcmVjdXJzaXZlLy9gOyBcCmNhc2UgImNzY29wZWxpc3QtcmVjdXJzaXZlIiBp biBcCiAgZGlzdGNsZWFuLSogfCBtYWludGFpbmVyLWNsZWFuLSopIGxpc3Q9J3N1YicgOzsg XAogICopIGxpc3Q9J3N1YicgOzsgXAplc2FjOyBcCmZvciBzdWJkaXIgaW4gJGxpc3Q7IGRv IFwKICBlY2hvICJNYWtpbmcgJHRhcmdldCBpbiAkc3ViZGlyIjsgXAogIGlmIHRlc3QgIiRz dWJkaXIiID0gIi4iOyB0aGVuIFwKICAgIGRvdF9zZWVuPXllczsgXAogICAgbG9jYWxfdGFy Z2V0PSIkdGFyZ2V0LWFtIjsgXAogIGVsc2UgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFyZ2V0 IjsgXAogIGZpOyBcCiAgKENEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRzdWJk aXIgJiYgbWFrZSAgJGxvY2FsX3RhcmdldCkgXAogIHx8IGV2YWwgJGZhaWxjb207IFwKZG9u ZTsgXAppZiB0ZXN0ICIkZG90X3NlZW4iID0gIm5vIjsgdGhlbiBcCiAgbWFrZSAgIiR0YXJn ZXQtYW0iIHx8IGV4aXQgMTsgXApmaTsgdGVzdCAteiAiJGZhaWwiCk1ha2luZyBjc2NvcGVs aXN0IGluIHN1YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1 aWxkL3N1YsKgwrsKL2Jpbi9ta2RpciAtcCBzdWJzdWIKZWNobyAnaW50IGdlbmVyYXRlZF9z dWJzdWIgKCkgeyByZXR1cm4gMDsgfScgPiBzdWJzdWIvZ2VuLmMKbGlzdD0nIHN1YnN1Yi9k aXN0LmMgc3Vic3ViL2dlbi5jICAnOyBcCmNhc2UgIi4uLy4uL3N1YiIgaW4gXAogIFtcXC9d KiB8ID86W1xcL10qKSBzZGlyPSIuLi8uLi9zdWIiIDs7IFwKICAqKSBzZGlyPXN1Yi8uLi8u Li9zdWIgOzsgXAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAi JGkiOyB0aGVuIFwKICAgIGVjaG8gInN1Yi8kaSI7IFwKICBlbHNlIFwKICAgIGVjaG8gIiRz ZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZC9zdWLCoMK7Cm1ha2VbMV3CoDogb24g ZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGTCoMK7Cmxpc3Q9JyBmb28uYyBiYXIu Y3BwIGJhei5mOTAgIGZvby5lbCc7IFwKY2FzZSAiLi4iIGluIFwKICBbXFwvXSogfCA/Oltc XC9dKikgc2Rpcj0iLi4iIDs7IFwKICAqKSBzZGlyPS4vLi4gOzsgXAplc2FjOyBcCmZvciBp IGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gIi4v JGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25lID4+ IC4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9i dWlsZMKgwrsKdGVzdCAhIC1zIGNzY29wZS5maWxlcyBcCiAgfHwgY3Njb3BlIC1iIC1xICAg LWkgY3Njb3BlLmZpbGVzIAorIHJlc3VsdF8gb2sgW3JlbGF0aXZlIFZQQVRIXSBtYWtlIC1u IGNzY29wZQorIHNldCAreApvayAyIC0gW3JlbGF0aXZlIFZQQVRIXSBtYWtlIC1uIGNzY29w ZQpQQVNTOiB0L2NzY29wZS50YXAgMiAtIFtyZWxhdGl2ZSBWUEFUSF0gbWFrZSAtbiBjc2Nv cGUKKyB0ZXN0IG5vID0gbm8KKyB0b3VjaCBjc2NvcGUuZmlsZXMgY3Njb3BlLm91dCBjc2Nv cGUuaW4ub3V0IGNzY29wZS5wby5vdXQKKyBza2lwX3Jvd18gMyAtciBubyBwcm9wZXIgY3Nj b3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2tpcF9jb3VudF89MworIHNoaWZ0Cisgc2VxXyAz Cisgc2VxX2ZpcnN0PTEgc2VxX2luY3I9MSBzZXFfbGFzdD0zCisgaT0xCisgdGVzdCAxIC1s ZSAzCisgZWNobyAxCisgaT0yCisgdGVzdCAyIC1sZSAzCisgZWNobyAyCisgaT0zCisgdGVz dCAzIC1sZSAzCisgZWNobyAzCisgaT00CisgdGVzdCA0IC1sZSAzCisgc2tpcF8gLXIgbm8g cHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHJlc3VsdF8gb2sgLUQgU0tJUCAt ciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2V0ICt4Cm9rIDMgIyBT S0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDogdC9jc2NvcGUu dGFwIDMgIyBTS0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBza2lw XyAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAt RCBTS0lQIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gK b2sgNCAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0 L2NzY29wZS50YXAgNCAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJs ZQorIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1 bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHNldCAreApvayA1ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxl ClNLSVA6IHQvY3Njb3BlLnRhcCA1ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0g YXZhaWxhYmxlCisgcmV0dXJuIDAKKyB0ZXN0X2NsZWFudXAKKyByPW9rCisgdGVzdCAtZiBj b25maWd1cmUKKyBtYWtlIGRpc3RjbGVhbmNoZWNrCk1ha2luZyBkaXN0Y2xlYW4gaW4gc3Vi Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQvc3ViwqDC uwp0ZXN0IC16ICJiYXIiIHx8IHJtIC1mIGJhcgp0ZXN0IC16ICJzdWJzdWIvZ2VuLmMiIHx8 IHJtIC1mIHN1YnN1Yi9nZW4uYwpybSAtZiAqLgpybSAtZiBzdWJzdWIvKi4Kcm0gLWYgKi50 YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAiLi4vLi4vc3ViIiB8fCB0ZXN0 IC16ICIiIHx8IHJtIC1mIApybSAtZiBzdWJzdWIvLmRpcnN0YW1wCnJtIC1mIFRBR1MgSUQg R1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRIIHRhZ3MKcm0gLWYgTWFrZWZpbGUKbWFrZVsxXcKg OiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkL3N1YsKgwrsKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZMKgwrsKdGVzdCAteiAiZm9vIiB8 fCBybSAtZiBmb28Kcm0gLWYgZm9vLmVsYwpybSAtZiAqLgpybSAtZiAqLnRhYi5jCnRlc3Qg LXogIiIgfHwgcm0gLWYgCnRlc3QgLiA9ICIuLiIgfHwgdGVzdCAteiAiIiB8fCBybSAtZiAK cm0gLWYgVEFHUyBJRCBHVEFHUyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAtZiBjc2Nv cGUub3V0IGNzY29wZS5pbi5vdXQgY3Njb3BlLnBvLm91dCBjc2NvcGUuZmlsZXMKbWFrZVsx XcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkwqDCuwpybSAtZiBjb25maWcu c3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3VyZS5saW5lbm8gY29uZmln LnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKKyB0ZXN0ICEgLWUgY3Njb3BlLmZpbGVz CisgdGVzdCAhIC1lIGNzY29wZS5vdXQKKyB0ZXN0ICEgLWUgY3Njb3BlLmluLm91dAorIHRl c3QgISAtZSBjc2NvcGUucG8ub3V0CisgcmVzdWx0XyBvayBbcmVsYXRpdmUgVlBBVEhdIG1h a2UgZGlzdGNoZWNrCisgc2V0ICt4Cm9rIDYgLSBbcmVsYXRpdmUgVlBBVEhdIG1ha2UgZGlz dGNoZWNrClBBU1M6IHQvY3Njb3BlLnRhcCA2IC0gW3JlbGF0aXZlIFZQQVRIXSBtYWtlIGRp c3RjaGVjaworIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9j c2NvcGUuZGlyCisgcGZ4PWFic29sdXRlIFZQQVRICisgbWtkaXIgYnVpbGQyCisgY2QgYnVp bGQyCisgbXlfY29uZmlndXJlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9jc2NvcGUuZGlyCisgY29tbWFuZF9va18gW2Fic29sdXRlIFZQQVRIXSBjb25maWd1 cmUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIv Y29uZmlndXJlIEVNQUNTPW5vIC0td2l0aC1saXNwZGlyPS93aG8vY2FyZXMKKyB0YXBfZGly ZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCA0IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9u Xz1bYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQorIHNoaWZ0CisgdGVzdCAzIC1ndCAwCisg YnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2NvbmZpZ3VyZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRp cj0vd2hvL2NhcmVzCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGVtYWNzLi4uIG5v CmNoZWNraW5nIHdoZXJlIC5lbGMgZmlsZXMgc2hvdWxkIGdvLi4uIC93aG8vY2FyZXMKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgc3ViL01ha2Vm aWxlCisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJl Cisgc2V0ICt4Cm9rIDcgLSBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQpQQVNTOiB0L2Nz Y29wZS50YXAgNyAtIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlCisgdGVzdF9jc2NvcGUK KyByPW9rCisgbWFrZSAtbiBjc2NvcGUKcm0gLWYgY3Njb3BlLmZpbGVzCmZhaWw9OyBcCmlm ICh0YXJnZXRfb3B0aW9uPWs7IGNhc2UgJHt0YXJnZXRfb3B0aW9uLX0gaW4gPykgOzsgKikg ZWNobyAiYW1fX21ha2VfcnVubmluZ193aXRoX29wdGlvbjogaW50ZXJuYWwgZXJyb3I6IGlu dmFsaWQiICJ0YXJnZXQgb3B0aW9uICcke3RhcmdldF9vcHRpb24tfScgc3BlY2lmaWVkIiA+ JjI7IGV4aXQgMTs7IGVzYWM7IGhhc19vcHQ9bm87IHNhbmVfbWFrZWZsYWdzPSRNQUtFRkxB R1M7IGlmIHsgaWYgdGVzdCAteiAnMCc7IHRoZW4gZmFsc2U7IGVsaWYgdGVzdCAtbiAneDg2 XzY0LXBjLWxpbnV4LWdudSc7IHRoZW4gdHJ1ZTsgZWxpZiB0ZXN0IC1uICc0LjIuMScgJiYg dGVzdCAtbiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29w ZS5kaXIvYnVpbGQyJzsgdGhlbiB0cnVlOyBlbHNlIGZhbHNlOyBmaTsgfTsgdGhlbiBzYW5l X21ha2VmbGFncz0kTUZMQUdTOyBlbHNlIGNhc2UgJE1BS0VGTEFHUyBpbiAqXFxbXCBcCV0q KSBicz1cXDsgc2FuZV9tYWtlZmxhZ3M9YHByaW50ZiAnJXNcbicgIiRNQUtFRkxBR1MiIHwg c2VkICJzLyRicyRic1skYnMgJGJzCV0qLy9nImA7OyBlc2FjOyBmaTsgc2tpcF9uZXh0PW5v OyBzdHJpcF90cmFpbG9wdCAoKSB7IGZsZz1gcHJpbnRmICclc1xuJyAiJGZsZyIgfCBzZWQg InMvJDEuKiQvLyJgOyB9OyBmb3IgZmxnIGluICRzYW5lX21ha2VmbGFnczsgZG8gdGVzdCAk c2tpcF9uZXh0ID0geWVzICYmIHsgc2tpcF9uZXh0PW5vOyBjb250aW51ZTsgfTsgY2FzZSAk ZmxnIGluICo9KnwtLSopIGNvbnRpbnVlOzsgLSpJKSBzdHJpcF90cmFpbG9wdCAnSSc7IHNr aXBfbmV4dD15ZXM7OyAtKkk/Kikgc3RyaXBfdHJhaWxvcHQgJ0knOzsgLSpPKSBzdHJpcF90 cmFpbG9wdCAnTyc7IHNraXBfbmV4dD15ZXM7OyAtKk8/Kikgc3RyaXBfdHJhaWxvcHQgJ08n OzsgLSpsKSBzdHJpcF90cmFpbG9wdCAnbCc7IHNraXBfbmV4dD15ZXM7OyAtKmw/Kikgc3Ry aXBfdHJhaWxvcHQgJ2wnOzsgLVtkRURtXSkgc2tpcF9uZXh0PXllczs7IC1bSlRdKSBza2lw X25leHQ9eWVzOzsgZXNhYzsgY2FzZSAkZmxnIGluICokdGFyZ2V0X29wdGlvbiopIGhhc19v cHQ9eWVzOyBicmVhazs7IGVzYWM7IGRvbmU7IHRlc3QgJGhhc19vcHQgPSB5ZXMpOyB0aGVu IFwKICBmYWlsY29tPSdmYWlsPXllcyc7IFwKZWxzZSBcCiAgZmFpbGNvbT0nZXhpdCAxJzsg XApmaTsgXApkb3Rfc2Vlbj1ubzsgXAp0YXJnZXQ9YGVjaG8gY3Njb3BlbGlzdC1yZWN1cnNp dmUgfCBzZWQgcy8tcmVjdXJzaXZlLy9gOyBcCmNhc2UgImNzY29wZWxpc3QtcmVjdXJzaXZl IiBpbiBcCiAgZGlzdGNsZWFuLSogfCBtYWludGFpbmVyLWNsZWFuLSopIGxpc3Q9J3N1Yicg OzsgXAogICopIGxpc3Q9J3N1YicgOzsgXAplc2FjOyBcCmZvciBzdWJkaXIgaW4gJGxpc3Q7 IGRvIFwKICBlY2hvICJNYWtpbmcgJHRhcmdldCBpbiAkc3ViZGlyIjsgXAogIGlmIHRlc3Qg IiRzdWJkaXIiID0gIi4iOyB0aGVuIFwKICAgIGRvdF9zZWVuPXllczsgXAogICAgbG9jYWxf dGFyZ2V0PSIkdGFyZ2V0LWFtIjsgXAogIGVsc2UgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFy Z2V0IjsgXAogIGZpOyBcCiAgKENEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRz dWJkaXIgJiYgbWFrZSAgJGxvY2FsX3RhcmdldCkgXAogIHx8IGV2YWwgJGZhaWxjb207IFwK ZG9uZTsgXAppZiB0ZXN0ICIkZG90X3NlZW4iID0gIm5vIjsgdGhlbiBcCiAgbWFrZSAgIiR0 YXJnZXQtYW0iIHx8IGV4aXQgMTsgXApmaTsgdGVzdCAteiAiJGZhaWwiCk1ha2luZyBjc2Nv cGVsaXN0IGluIHN1YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGly L2J1aWxkMi9zdWLCoMK7Ci9iaW4vbWtkaXIgLXAgc3Vic3ViCmVjaG8gJ2ludCBnZW5lcmF0 ZWRfc3Vic3ViICgpIHsgcmV0dXJuIDA7IH0nID4gc3Vic3ViL2dlbi5jCmxpc3Q9JyBzdWJz dWIvZGlzdC5jIHN1YnN1Yi9nZW4uYyAgJzsgXApjYXNlICIvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9zdWIiIGluIFwKICBbXFwvXSogfCA/ OltcXC9dKikgc2Rpcj0iL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2NzY29wZS5kaXIvc3ViIiA7OyBcCiAgKikgc2Rpcj1zdWIvL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvc3ViIDs7IFwKZXNhYzsgXApmb3Ig aSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3QgLWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICJz dWIvJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25l ID4+IC4uL2NzY29wZS5maWxlcwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5k aXIvYnVpbGQyL3N1YsKgwrsKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3Bl LmRpci9idWlsZDLCoMK7Cmxpc3Q9JyBmb28uYyBiYXIuY3BwIGJhei5mOTAgIGZvby5lbCc7 IFwKY2FzZSAiL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29w ZS5kaXIiIGluIFwKICBbXFwvXSogfCA/OltcXC9dKikgc2Rpcj0iL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIiIDs7IFwKICAqKSBzZGlyPS4v L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIgOzsg XAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVu IFwKICAgIGVjaG8gIi4vJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwK ICBmaTsgXApkb25lID4+IC4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvY3Njb3BlLmRpci9idWlsZDLCoMK7CnRlc3QgISAtcyBjc2NvcGUuZmlsZXMgXAogIHx8 IGNzY29wZSAtYiAtcSAgIC1pIGNzY29wZS5maWxlcyAKKyByZXN1bHRfIG9rIFthYnNvbHV0 ZSBWUEFUSF0gbWFrZSAtbiBjc2NvcGUKKyBzZXQgK3gKb2sgOCAtIFthYnNvbHV0ZSBWUEFU SF0gbWFrZSAtbiBjc2NvcGUKUEFTUzogdC9jc2NvcGUudGFwIDggLSBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgLW4gY3Njb3BlCisgdGVzdCBubyA9IG5vCisgdG91Y2ggY3Njb3BlLmZpbGVz IGNzY29wZS5vdXQgY3Njb3BlLmluLm91dCBjc2NvcGUucG8ub3V0Cisgc2tpcF9yb3dfIDMg LXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNraXBfY291bnRfPTMK KyBzaGlmdAorIHNlcV8gMworIHNlcV9maXJzdD0xIHNlcV9pbmNyPTEgc2VxX2xhc3Q9Mwor IGk9MQorIHRlc3QgMSAtbGUgMworIGVjaG8gMQorIGk9MgorIHRlc3QgMiAtbGUgMworIGVj aG8gMgorIGk9MworIHRlc3QgMyAtbGUgMworIGVjaG8gMworIGk9NAorIHRlc3QgNCAtbGUg MworIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1 bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHNldCAreApvayA5ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxl ClNLSVA6IHQvY3Njb3BlLnRhcCA5ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0g YXZhaWxhYmxlCisgc2tpcF8gLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJs ZQorIHJlc3VsdF8gb2sgLUQgU0tJUCAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZh aWxhYmxlCisgc2V0ICt4Cm9rIDEwICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0g YXZhaWxhYmxlClNLSVA6IHQvY3Njb3BlLnRhcCAxMCAjIFNLSVAgbm8gcHJvcGVyIGNzY29w ZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3Jh bSBhdmFpbGFibGUKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBw cm9ncmFtIGF2YWlsYWJsZQorIHNldCAreApvayAxMSAjIFNLSVAgbm8gcHJvcGVyIGNzY29w ZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0L2NzY29wZS50YXAgMTEgIyBTS0lQIG5vIHBy b3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXR1cm4gMAorIHRlc3RfY2xlYW51 cAorIHI9b2sKKyB0ZXN0IC1mIGNvbmZpZ3VyZQorIG1ha2UgZGlzdGNsZWFuY2hlY2sKTWFr aW5nIGRpc3RjbGVhbiBpbiBzdWIKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Nj b3BlLmRpci9idWlsZDIvc3ViwqDCuwp0ZXN0IC16ICJiYXIiIHx8IHJtIC1mIGJhcgp0ZXN0 IC16ICJzdWJzdWIvZ2VuLmMiIHx8IHJtIC1mIHN1YnN1Yi9nZW4uYwpybSAtZiAqLgpybSAt ZiBzdWJzdWIvKi4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4g PSAiL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIv c3ViIiB8fCB0ZXN0IC16ICIiIHx8IHJtIC1mIApybSAtZiBzdWJzdWIvLmRpcnN0YW1wCnJt IC1mIFRBR1MgSUQgR1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRIIHRhZ3MKcm0gLWYgTWFrZWZp bGUKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkMi9zdWLCoMK7 Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQywqDCuwp0 ZXN0IC16ICJmb28iIHx8IHJtIC1mIGZvbwpybSAtZiBmb28uZWxjCnJtIC1mICouCnJtIC1m ICoudGFiLmMKdGVzdCAteiAiIiB8fCBybSAtZiAKdGVzdCAuID0gIi9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyIiB8fCB0ZXN0IC16ICIiIHx8 IHJtIC1mIApybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBHU1lNUyBHUEFUSCB0YWdzCnJt IC1mIGNzY29wZS5vdXQgY3Njb3BlLmluLm91dCBjc2NvcGUucG8ub3V0IGNzY29wZS5maWxl cwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQywqDCuwpybSAt ZiBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3VyZS5saW5l bm8gY29uZmlnLnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKKyB0ZXN0ICEgLWUgY3Nj b3BlLmZpbGVzCisgdGVzdCAhIC1lIGNzY29wZS5vdXQKKyB0ZXN0ICEgLWUgY3Njb3BlLmlu Lm91dAorIHRlc3QgISAtZSBjc2NvcGUucG8ub3V0CisgcmVzdWx0XyBvayBbYWJzb2x1dGUg VlBBVEhdIG1ha2UgZGlzdGNoZWNrCisgc2V0ICt4Cm9rIDEyIC0gW2Fic29sdXRlIFZQQVRI XSBtYWtlIGRpc3RjaGVjawpQQVNTOiB0L2NzY29wZS50YXAgMTIgLSBbYWJzb2x1dGUgVlBB VEhdIG1ha2UgZGlzdGNoZWNrCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2NzY29wZS5kaXIKKyBwZng9aW4tdHJlZSBidWlsZAorIG15X2NvbmZpZ3Vy ZSAuCisgY29tbWFuZF9va18gW2luLXRyZWUgYnVpbGRdIGNvbmZpZ3VyZSAuL2NvbmZpZ3Vy ZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRpcj0vd2hvL2NhcmVzCisgdGFwX2RpcmVjdGl2ZV89 IHRhcF9yZWFzb25fPQorIHRlc3QgNCAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89W2luLXRy ZWUgYnVpbGRdIGNvbmZpZ3VyZQorIHNoaWZ0CisgdGVzdCAzIC1ndCAwCisgYnJlYWsKKyB0 YXBfcmVzdWx0Xz1vaworIC4vY29uZmlndXJlIEVNQUNTPW5vIC0td2l0aC1saXNwZGlyPS93 aG8vY2FyZXMKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jp bi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZW1hY3MuLi4gbm8KY2hl Y2tpbmcgd2hlcmUgLmVsYyBmaWxlcyBzaG91bGQgZ28uLi4gL3doby9jYXJlcwpjaGVja2lu ZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9u ZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBzdWIvTWFrZWZpbGUK KyByZXN1bHRfIG9rIC1EICAtciAgLS0gW2luLXRyZWUgYnVpbGRdIGNvbmZpZ3VyZQorIHNl dCAreApvayAxMyAtIFtpbi10cmVlIGJ1aWxkXSBjb25maWd1cmUKUEFTUzogdC9jc2NvcGUu dGFwIDEzIC0gW2luLXRyZWUgYnVpbGRdIGNvbmZpZ3VyZQorIHRlc3RfY3Njb3BlCisgcj1v aworIG1ha2UgLW4gY3Njb3BlCnJtIC1mIGNzY29wZS5maWxlcwpmYWlsPTsgXAppZiAodGFy Z2V0X29wdGlvbj1rOyBjYXNlICR7dGFyZ2V0X29wdGlvbi19IGluID8pIDs7ICopIGVjaG8g ImFtX19tYWtlX3J1bm5pbmdfd2l0aF9vcHRpb246IGludGVybmFsIGVycm9yOiBpbnZhbGlk IiAidGFyZ2V0IG9wdGlvbiAnJHt0YXJnZXRfb3B0aW9uLX0nIHNwZWNpZmllZCIgPiYyOyBl eGl0IDE7OyBlc2FjOyBoYXNfb3B0PW5vOyBzYW5lX21ha2VmbGFncz0kTUFLRUZMQUdTOyBp ZiB7IGlmIHRlc3QgLXogJzAnOyB0aGVuIGZhbHNlOyBlbGlmIHRlc3QgLW4gJ3g4Nl82NC1w Yy1saW51eC1nbnUnOyB0aGVuIHRydWU7IGVsaWYgdGVzdCAtbiAnNC4yLjEnICYmIHRlc3Qg LW4gJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGly JzsgdGhlbiB0cnVlOyBlbHNlIGZhbHNlOyBmaTsgfTsgdGhlbiBzYW5lX21ha2VmbGFncz0k TUZMQUdTOyBlbHNlIGNhc2UgJE1BS0VGTEFHUyBpbiAqXFxbXCBcCV0qKSBicz1cXDsgc2Fu ZV9tYWtlZmxhZ3M9YHByaW50ZiAnJXNcbicgIiRNQUtFRkxBR1MiIHwgc2VkICJzLyRicyRi c1skYnMgJGJzCV0qLy9nImA7OyBlc2FjOyBmaTsgc2tpcF9uZXh0PW5vOyBzdHJpcF90cmFp bG9wdCAoKSB7IGZsZz1gcHJpbnRmICclc1xuJyAiJGZsZyIgfCBzZWQgInMvJDEuKiQvLyJg OyB9OyBmb3IgZmxnIGluICRzYW5lX21ha2VmbGFnczsgZG8gdGVzdCAkc2tpcF9uZXh0ID0g eWVzICYmIHsgc2tpcF9uZXh0PW5vOyBjb250aW51ZTsgfTsgY2FzZSAkZmxnIGluICo9Knwt LSopIGNvbnRpbnVlOzsgLSpJKSBzdHJpcF90cmFpbG9wdCAnSSc7IHNraXBfbmV4dD15ZXM7 OyAtKkk/Kikgc3RyaXBfdHJhaWxvcHQgJ0knOzsgLSpPKSBzdHJpcF90cmFpbG9wdCAnTyc7 IHNraXBfbmV4dD15ZXM7OyAtKk8/Kikgc3RyaXBfdHJhaWxvcHQgJ08nOzsgLSpsKSBzdHJp cF90cmFpbG9wdCAnbCc7IHNraXBfbmV4dD15ZXM7OyAtKmw/Kikgc3RyaXBfdHJhaWxvcHQg J2wnOzsgLVtkRURtXSkgc2tpcF9uZXh0PXllczs7IC1bSlRdKSBza2lwX25leHQ9eWVzOzsg ZXNhYzsgY2FzZSAkZmxnIGluICokdGFyZ2V0X29wdGlvbiopIGhhc19vcHQ9eWVzOyBicmVh azs7IGVzYWM7IGRvbmU7IHRlc3QgJGhhc19vcHQgPSB5ZXMpOyB0aGVuIFwKICBmYWlsY29t PSdmYWlsPXllcyc7IFwKZWxzZSBcCiAgZmFpbGNvbT0nZXhpdCAxJzsgXApmaTsgXApkb3Rf c2Vlbj1ubzsgXAp0YXJnZXQ9YGVjaG8gY3Njb3BlbGlzdC1yZWN1cnNpdmUgfCBzZWQgcy8t cmVjdXJzaXZlLy9gOyBcCmNhc2UgImNzY29wZWxpc3QtcmVjdXJzaXZlIiBpbiBcCiAgZGlz dGNsZWFuLSogfCBtYWludGFpbmVyLWNsZWFuLSopIGxpc3Q9J3N1YicgOzsgXAogICopIGxp c3Q9J3N1YicgOzsgXAplc2FjOyBcCmZvciBzdWJkaXIgaW4gJGxpc3Q7IGRvIFwKICBlY2hv ICJNYWtpbmcgJHRhcmdldCBpbiAkc3ViZGlyIjsgXAogIGlmIHRlc3QgIiRzdWJkaXIiID0g Ii4iOyB0aGVuIFwKICAgIGRvdF9zZWVuPXllczsgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFy Z2V0LWFtIjsgXAogIGVsc2UgXAogICAgbG9jYWxfdGFyZ2V0PSIkdGFyZ2V0IjsgXAogIGZp OyBcCiAgKENEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkICRzdWJkaXIgJiYgbWFr ZSAgJGxvY2FsX3RhcmdldCkgXAogIHx8IGV2YWwgJGZhaWxjb207IFwKZG9uZTsgXAppZiB0 ZXN0ICIkZG90X3NlZW4iID0gIm5vIjsgdGhlbiBcCiAgbWFrZSAgIiR0YXJnZXQtYW0iIHx8 IGV4aXQgMTsgXApmaTsgdGVzdCAteiAiJGZhaWwiCk1ha2luZyBjc2NvcGVsaXN0IGluIHN1 YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL3N1YsKgwrsKL2Jp bi9ta2RpciAtcCBzdWJzdWIKZWNobyAnaW50IGdlbmVyYXRlZF9zdWJzdWIgKCkgeyByZXR1 cm4gMDsgfScgPiBzdWJzdWIvZ2VuLmMKbGlzdD0nIHN1YnN1Yi9kaXN0LmMgc3Vic3ViL2dl bi5jICAnOyBcCmNhc2UgIi4iIGluIFwKICBbXFwvXSogfCA/OltcXC9dKikgc2Rpcj0iLiIg OzsgXAogICopIHNkaXI9c3ViLy4gOzsgXAplc2FjOyBcCmZvciBpIGluICRsaXN0OyBkbyBc CiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gInN1Yi8kaSI7IFwKICBlbHNl IFwKICAgIGVjaG8gIiRzZGlyLyRpIjsgXAogIGZpOyBcCmRvbmUgPj4gLi4vY3Njb3BlLmZp bGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9zdWLCoMK7Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXLCoMK7Cmxpc3Q9JyBmb28uYyBi YXIuY3BwIGJhei5mOTAgIGZvby5lbCc7IFwKY2FzZSAiLiIgaW4gXAogIFtcXC9dKiB8ID86 W1xcL10qKSBzZGlyPSIuIiA7OyBcCiAgKikgc2Rpcj0uLy4gOzsgXAplc2FjOyBcCmZvciBp IGluICRsaXN0OyBkbyBcCiAgaWYgdGVzdCAtZiAiJGkiOyB0aGVuIFwKICAgIGVjaG8gIi4v JGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25lID4+ IC4vY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpcsKg wrsKdGVzdCAhIC1zIGNzY29wZS5maWxlcyBcCiAgfHwgY3Njb3BlIC1iIC1xICAgLWkgY3Nj b3BlLmZpbGVzIAorIHJlc3VsdF8gb2sgW2luLXRyZWUgYnVpbGRdIG1ha2UgLW4gY3Njb3Bl Cisgc2V0ICt4Cm9rIDE0IC0gW2luLXRyZWUgYnVpbGRdIG1ha2UgLW4gY3Njb3BlClBBU1M6 IHQvY3Njb3BlLnRhcCAxNCAtIFtpbi10cmVlIGJ1aWxkXSBtYWtlIC1uIGNzY29wZQorIHRl c3Qgbm8gPSBubworIHRvdWNoIGNzY29wZS5maWxlcyBjc2NvcGUub3V0IGNzY29wZS5pbi5v dXQgY3Njb3BlLnBvLm91dAorIHNraXBfcm93XyAzIC1yIG5vIHByb3BlciBjc2NvcGUgcHJv Z3JhbSBhdmFpbGFibGUKKyBza2lwX2NvdW50Xz0zCisgc2hpZnQKKyBzZXFfIDMKKyBzZXFf Zmlyc3Q9MSBzZXFfaW5jcj0xIHNlcV9sYXN0PTMKKyBpPTEKKyB0ZXN0IDEgLWxlIDMKKyBl Y2hvIDEKKyBpPTIKKyB0ZXN0IDIgLWxlIDMKKyBlY2hvIDIKKyBpPTMKKyB0ZXN0IDMgLWxl IDMKKyBlY2hvIDMKKyBpPTQKKyB0ZXN0IDQgLWxlIDMKKyBza2lwXyAtciBubyBwcm9wZXIg Y3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIG5vIHBy b3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gKb2sgMTUgIyBTS0lQIG5v IHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDogdC9jc2NvcGUudGFwIDE1 ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2tpcF8gLXIg bm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHJlc3VsdF8gb2sgLUQgU0tJ UCAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2V0ICt4Cm9rIDE2 ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlClNLSVA6IHQvY3Nj b3BlLnRhcCAxNiAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1bHRf IG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNl dCAreApvayAxNyAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpT S0lQOiB0L2NzY29wZS50YXAgMTcgIyBTS0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBh dmFpbGFibGUKKyByZXR1cm4gMAorIHRlc3RfY2xlYW51cAorIHI9b2sKKyB0ZXN0IC1mIGNv bmZpZ3VyZQorIG1ha2UgZGlzdGNsZWFuCk1ha2luZyBkaXN0Y2xlYW4gaW4gc3ViCm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvc3ViwqDCuwp0ZXN0IC16ICJi YXIiIHx8IHJtIC1mIGJhcgp0ZXN0IC16ICJzdWJzdWIvZ2VuLmMiIHx8IHJtIC1mIHN1YnN1 Yi9nZW4uYwpybSAtZiAqLgpybSAtZiBzdWJzdWIvKi4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16 ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAiLiIgfHwgdGVzdCAteiAiIiB8fCBybSAtZiAKcm0g LWYgc3Vic3ViLy5kaXJzdGFtcApybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBHU1lNUyBH UEFUSCB0YWdzCnJtIC1mIE1ha2VmaWxlCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Nj b3BlLmRpci9zdWLCoMK7Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5k aXLCoMK7CnRlc3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mIGZvby5lbGMKcm0gLWYg Ki4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAiLiIgfHwg dGVzdCAteiAiIiB8fCBybSAtZiAKcm0gLWYgVEFHUyBJRCBHVEFHUyBHUlRBR1MgR1NZTVMg R1BBVEggdGFncwpybSAtZiBjc2NvcGUub3V0IGNzY29wZS5pbi5vdXQgY3Njb3BlLnBvLm91 dCBjc2NvcGUuZmlsZXMKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlywqDC uwpybSAtZiBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3Vy ZS5saW5lbm8gY29uZmlnLnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKKyB0ZXN0ICEg LWUgY3Njb3BlLmZpbGVzCisgdGVzdCAhIC1lIGNzY29wZS5vdXQKKyB0ZXN0ICEgLWUgY3Nj b3BlLmluLm91dAorIHRlc3QgISAtZSBjc2NvcGUucG8ub3V0CisgcmVzdWx0XyBvayBbaW4t dHJlZSBidWlsZF0gbWFrZSBkaXN0Y2hlY2sKKyBzZXQgK3gKb2sgMTggLSBbaW4tdHJlZSBi dWlsZF0gbWFrZSBkaXN0Y2hlY2sKUEFTUzogdC9jc2NvcGUudGFwIDE4IC0gW2luLXRyZWUg YnVpbGRdIG1ha2UgZGlzdGNoZWNrCisgOgorIGFtX2V4aXRfdHJhcCAwCisgZXhpdF9zdGF0 dXM9MAorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIKKyB0ZXN0IHRhcCA9IHRhcAorIHRlc3QgMTggPSBsYXRlcgorIHRlc3QgMCAtZXEgMAor IHRlc3QgOSAtZXEgMTgKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyByZXR1cm4gMAorIHNldCAreAoKU0tJUDogdC9jc2NvcGUzCj09PT09PT09PT09PT09 PQoKY3Njb3BlMzogcnVubmluZyBjc2NvcGUgLS12ZXJzaW9uCi4vdC9jc2NvcGUzLnNoOiA5 OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWlu aXQuc2g6IGNzY29wZTogbm90IGZvdW5kClNLSVAgdC9jc2NvcGUzLnNoIChleGl0IHN0YXR1 czogNzcpCgpTS0lQOiB0L2Rpc3QtdGFyWgo9PT09PT09PT09PT09PT09PQoKUnVubmluZyBm cm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jpbjov dXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4y L2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9i aW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2Rpc3QtdGFyWi5kaXIKKyBlY2hvIGFhYWFhYWFhYWFhYWFhYWFhYWFh YQorIGVjaG8gYWFhYWFhYWFhYWFhYWFhYWFhYWFhCisgZWNobyBhYWFhYWFhYWFhYWFhYWFh YWFhYWEKKyBlY2hvIGFhYWFhYWFhYWFhYWFhYWFhYWFhYQorIGVjaG8gYWFhYWFhYWFhYWFh YWFhYWFhYWFhCisgZWNobyBhYWFhYWFhYWFhYWFhYWFhYWFhYWEKKyBlY2hvIGFhYWFhYWFh YWFhYWFhYWFhYWFhYQorIGVjaG8gYWFhYWFhYWFhYWFhYWFhYWFhYWFhCisgY29tcHJlc3Mg LWMKLi90L2Rpc3QtdGFyWi5zaDogMzE6IC4vdC9kaXN0LXRhclouc2g6IGNvbXByZXNzOiBu b3QgZm91bmQKKyBza2lwXyBjYW5ub3QgZmluZCBhIHdvcmtpbmcgJ2NvbXByZXNzJyBwcm9n cmFtCisgd2Fybl8gZGlzdC10YXJaOiBza2lwcGVkIHRlc3Q6IGNhbm5vdCBmaW5kIGEgd29y a2luZyAnY29tcHJlc3MnIHByb2dyYW0KKyBlY2hvIGRpc3QtdGFyWjogc2tpcHBlZCB0ZXN0 OiBjYW5ub3QgZmluZCBhIHdvcmtpbmcgJ2NvbXByZXNzJyBwcm9ncmFtCisgX2FtX2V4aXQg NzcKKyBzZXQgK2UKKyB0ZXN0IDc3ID0gNzcKKyBhbV9fdGVzdF9za2lwcGVkPXllcworIGV4 aXQgNzcKKyBleGl0IDc3CisgYW1fZXhpdF90cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBz ZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVz dCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1f a2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClNLSVAgdC9kaXN0LXRhclou c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZGlzdC1zaGFyCj09PT09PT09PT09PT09 PT09CgpkaXN0LXNoYXI6IHJ1bm5pbmcgc2hhciAtLXZlcnNpb24KLi90L2Rpc3Qtc2hhci5z aDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiBzaGFyOiBub3QgZm91bmQKU0tJUCB0L2Rpc3Qtc2hhci5zaCAoZXhpdCBz dGF0dXM6IDc3KQoKWEZBSUw6IHQvZGlzdC1wcjEwOTc2NQo9PT09PT09PT09PT09PT09PT09 PT09CgpkaXN0LXByMTA5NzY1OiBydW5uaW5nIGJ6aXAyIC0taGVscApiemlwMiwgYSBibG9j ay1zb3J0aW5nIGZpbGUgY29tcHJlc3Nvci4gIFZlcnNpb24gMS4wLjgsIDEzLUp1bC0yMDE5 LgoKICAgdXNhZ2U6IGJ6aXAyIFtmbGFncyBhbmQgaW5wdXQgZmlsZXMgaW4gYW55IG9yZGVy XQoKICAgLWggLS1oZWxwICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UKICAgLWQgLS1k ZWNvbXByZXNzICAgICBmb3JjZSBkZWNvbXByZXNzaW9uCiAgIC16IC0tY29tcHJlc3MgICAg ICAgZm9yY2UgY29tcHJlc3Npb24KICAgLWsgLS1rZWVwICAgICAgICAgICBrZWVwIChkb24n dCBkZWxldGUpIGlucHV0IGZpbGVzCiAgIC1mIC0tZm9yY2UgICAgICAgICAgb3ZlcndyaXRl IGV4aXN0aW5nIG91dHB1dCBmaWxlcwogICAtdCAtLXRlc3QgICAgICAgICAgIHRlc3QgY29t cHJlc3NlZCBmaWxlIGludGVncml0eQogICAtYyAtLXN0ZG91dCAgICAgICAgIG91dHB1dCB0 byBzdGFuZGFyZCBvdXQKICAgLXEgLS1xdWlldCAgICAgICAgICBzdXBwcmVzcyBub25jcml0 aWNhbCBlcnJvciBtZXNzYWdlcwogICAtdiAtLXZlcmJvc2UgICAgICAgIGJlIHZlcmJvc2Ug KGEgMm5kIC12IGdpdmVzIG1vcmUpCiAgIC1MIC0tbGljZW5zZSAgICAgICAgZGlzcGxheSBz b2Z0d2FyZSB2ZXJzaW9uICYgbGljZW5zZQogICAtViAtLXZlcnNpb24gICAgICAgIGRpc3Bs YXkgc29mdHdhcmUgdmVyc2lvbiAmIGxpY2Vuc2UKICAgLXMgLS1zbWFsbCAgICAgICAgICB1 c2UgbGVzcyBtZW1vcnkgKGF0IG1vc3QgMjUwMGspCiAgIC0xIC4uIC05ICAgICAgICAgICAg c2V0IGJsb2NrIHNpemUgdG8gMTAwayAuLiA5MDBrCiAgIC0tZmFzdCAgICAgICAgICAgICAg YWxpYXMgZm9yIC0xCiAgIC0tYmVzdCAgICAgICAgICAgICAgYWxpYXMgZm9yIC05CgogICBJ ZiBpbnZva2VkIGFzIGBiemlwMicsIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGNvbXByZXNzLgog ICAgICAgICAgICAgIGFzIGBidW56aXAyJywgIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGRlY29t cHJlc3MuCiAgICAgICAgICAgICAgYXMgYGJ6Y2F0JywgZGVmYXVsdCBhY3Rpb24gaXMgdG8g ZGVjb21wcmVzcyB0byBzdGRvdXQuCgogICBJZiBubyBmaWxlIG5hbWVzIGFyZSBnaXZlbiwg YnppcDIgY29tcHJlc3NlcyBvciBkZWNvbXByZXNzZXMKICAgZnJvbSBzdGFuZGFyZCBpbnB1 dCB0byBzdGFuZGFyZCBvdXRwdXQuICBZb3UgY2FuIGNvbWJpbmUKICAgc2hvcnQgZmxhZ3Ms IHNvIGAtdiAtNCcgbWVhbnMgdGhlIHNhbWUgYXMgLXY0IG9yIC00diwgJmMuCgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZGlzdC1wcjEwOTc2NS5kaXIKKyBlY2hvIEFDX09VVFBVVAorIDoK KyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNiAtLWZv cmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGRpc3QtZ3ppcCBkaXN0LWJ6aXAyCm1ha2Ug IGRpc3RkaXItYW0KbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvZGlzdC1wcjEwOTc2 NS5kaXLCoMK7CmlmIHRlc3QgLWQgImRpc3QtcHIxMDk3NjUtMS4wIjsgdGhlbiBmaW5kICJk aXN0LXByMTA5NzY1LTEuMCIgLXR5cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3 IHt9ICc7JyAmJiBybSAtcmYgImRpc3QtcHIxMDk3NjUtMS4wIiB8fCB7IHNsZWVwIDUgJiYg cm0gLXJmICJkaXN0LXByMTA5NzY1LTEuMCI7IH07IGVsc2UgOjsgZmkKdGVzdCAtZCAiZGlz dC1wcjEwOTc2NS0xLjAiIHx8IG1rZGlyICJkaXN0LXByMTA5NzY1LTEuMCIKdGVzdCAtbiAi IiBcCnx8IGZpbmQgImRpc3QtcHIxMDk3NjUtMS4wIiAtdHlwZSBkICEgLXBlcm0gLTc1NSBc CgktZXhlYyBjaG1vZCB1K3J3eCxnbytyeCB7fSBcOyAtbyBcCiAgISAtdHlwZSBkICEgLXBl cm0gLTQ0NCAtbGlua3MgMSAtZXhlYyBjaG1vZCBhK3Ige30gXDsgLW8gXAogICEgLXR5cGUg ZCAhIC1wZXJtIC00MDAgLWV4ZWMgY2htb2QgYStyIHt9IFw7IC1vIFwKICAhIC10eXBlIGQg ISAtcGVybSAtNDQ0IC1leGVjIC9iaW4vYmFzaCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZGlzdC1wcjEwOTc2NS5kaXIvaW5zdGFsbC1zaCAtYyAtbSBhK3Ig e30ge30gXDsgXAp8fCBjaG1vZCAtUiBhK3IgImRpc3QtcHIxMDk3NjUtMS4wIgptYWtlWzFd wqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2Rpc3QtcHIxMDk3NjUuZGlywqDCuwp0YXJkaXI9ZGlzdC1w cjEwOTc2NS0xLjAgJiYgJHtUQVItdGFyfSBjaG9mIC0gIiR0YXJkaXIiIHwgZXZhbCBHWklQ PSBnemlwIC0tYmVzdCAtYyA+ZGlzdC1wcjEwOTc2NS0xLjAudGFyLmd6CmlmIHRlc3QgLWQg ImRpc3QtcHIxMDk3NjUtMS4wIjsgdGhlbiBmaW5kICJkaXN0LXByMTA5NzY1LTEuMCIgLXR5 cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3IHt9ICc7JyAmJiBybSAtcmYgImRp c3QtcHIxMDk3NjUtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0gLXJmICJkaXN0LXByMTA5NzY1 LTEuMCI7IH07IGVsc2UgOjsgZmkKdGFyZGlyPWRpc3QtcHIxMDk3NjUtMS4wICYmICR7VEFS LXRhcn0gY2hvZiAtICIkdGFyZGlyIiB8IEJaSVAyPSR7QlpJUDItLTl9IGJ6aXAyIC1jID5k aXN0LXByMTA5NzY1LTEuMC50YXIuYnoyCnRhcjogZGlzdC1wcjEwOTc2NS0xLjAgOiBzdGF0 IGltcG9zc2libGU6IEF1Y3VuIGZpY2hpZXIgb3UgZG9zc2llciBkZSBjZSB0eXBlCnRhcjog QXJyw6p0IGF2ZWMgY29kZSBkJ8OpY2hlYyDDoCBjYXVzZSBkZXMgZXJyZXVycyBwcsOpY8Op ZGVudGVzCmlmIHRlc3QgLWQgImRpc3QtcHIxMDk3NjUtMS4wIjsgdGhlbiBmaW5kICJkaXN0 LXByMTA5NzY1LTEuMCIgLXR5cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3IHt9 ICc7JyAmJiBybSAtcmYgImRpc3QtcHIxMDk3NjUtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0g LXJmICJkaXN0LXByMTA5NzY1LTEuMCI7IH07IGVsc2UgOjsgZmkKKyBnemlwIC1kYyBkaXN0 LXByMTA5NzY1LTEuMC50YXIuZ3oKKyB0YXIgdGYgLQorIGNhdCBvbmUKZGlzdC1wcjEwOTc2 NS0xLjAvCmRpc3QtcHIxMDk3NjUtMS4wL2FjbG9jYWwubTQKZGlzdC1wcjEwOTc2NS0xLjAv aW5zdGFsbC1zaApkaXN0LXByMTA5NzY1LTEuMC9taXNzaW5nCmRpc3QtcHIxMDk3NjUtMS4w L2NvbmZpZ3VyZQpkaXN0LXByMTA5NzY1LTEuMC9kZXBjb21wCmRpc3QtcHIxMDk3NjUtMS4w L2NvbXBpbGUKZGlzdC1wcjEwOTc2NS0xLjAvY29uZmlndXJlLmFjCmRpc3QtcHIxMDk3NjUt MS4wL01ha2VmaWxlLmluCmRpc3QtcHIxMDk3NjUtMS4wL01ha2VmaWxlLmFtCisgYnppcDIg LWRjIGRpc3QtcHIxMDk3NjUtMS4wLnRhci5negorIHRhciB0ZiAtCmJ6aXAyOiBkaXN0LXBy MTA5NzY1LTEuMC50YXIuZ3ogaXMgbm90IGEgYnppcDIgZmlsZS4KdGFyOiBDZWNpIG5lIHJl c3NlbWJsZSBwYXMgw6AgdW5lIGFyY2hpdmUgZGUgdHlwZSDCqyB0YXIgwrsKdGFyOiBBcnLD qnQgYXZlYyBjb2RlIGQnw6ljaGVjIMOgIGNhdXNlIGRlcyBlcnJldXJzIHByw6ljw6lkZW50 ZXMKKyBjYXQgdHdvCisgX2FtX2V4aXQgMQorIHNldCArZQorIHRlc3QgNzcgPSAxCisgZXhp dCAxCisgZXhpdCAxCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtl CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9u ZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvZGlzdC1wcjEwOTc2NS5z aCAoZXhpdCBzdGF0dXM6IDEpCgpTS0lQOiB0L2Rpc3RjaGVjay1wcjEwNDcwCj09PT09PT09 PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3Qg UHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDov aG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0z MkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0t bm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdk Ci9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9kaXN0Y2hlY2stcHIx MDQ3MC5kaXIKKyBta2RpciBmb28uZAorIHNsZWVwIDEKKyBzaCAtYyBjZCBmb28uZCAmJiBz bGVlcCAnNCcKKyBybSAtcmYgZm9vLmQKKyBza2lwXyBzeXN0ZW0gaXMgYWJsZSB0byByZW1v dmUgImluIHVzZSIgZGlyZWN0b3JpZXMKKyB3YXJuXyBkaXN0Y2hlY2stcHIxMDQ3MDogc2tp cHBlZCB0ZXN0OiBzeXN0ZW0gaXMgYWJsZSB0byByZW1vdmUgImluIHVzZSIgZGlyZWN0b3Jp ZXMKKyBlY2hvIGRpc3RjaGVjay1wcjEwNDcwOiBza2lwcGVkIHRlc3Q6IHN5c3RlbSBpcyBh YmxlIHRvIHJlbW92ZSAiaW4gdXNlIiBkaXJlY3RvcmllcworIF9hbV9leGl0IDc3Cisgc2V0 ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBleGl0IDc3Cisg ZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9 IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvZGlzdGNoZWNrLXByMTA0NzAu c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZm9ydDIKPT09PT09PT09PT09PQoKU0tJ UCB0L2ZvcnQyLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2ZvcnQ0Cj09PT09PT09 PT09PT0KClNLSVAgdC9mb3J0NC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9mb3J0 NQo9PT09PT09PT09PT09Cgpmb3J0NTogcnVubmluZyBsaWJ0b29saXplIC0tdmVyc2lvbgps aWJ0b29saXplIChHTlUgbGlidG9vbCkgMi40LjYKV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdo YW4gPGdhcnlAZ251Lm9yZz4sIDIwMDMKCkNvcHlyaWdodCAoQykgMjAxNSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNv dXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8Kd2FycmFudHk7IG5v dCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuClNLSVAgdC9mb3J0NS5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9n Y2o0Cj09PT09PT09PT09PQoKU0tJUCB0L2djajQuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNL SVA6IHQvZ2NqNgo9PT09PT09PT09PT0KClNLSVAgdC9nY2o2LnNoIChleGl0IHN0YXR1czog NzcpCgpTS0lQOiB0L2dldHRleHQtYmFzaWNzCj09PT09PT09PT09PT09PT09PT09PT0KCmdl dHRleHQtYmFzaWNzOiBydW5uaW5nIGdldHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBn ZXR0ZXh0LXJ1bnRpbWUpIDAuMjAKQ29weXJpZ2h0IChDKSAxOTk1LTIwMTkgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24g MyBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0 ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5 IGxhdy4Kw4ljcml0IHBhciBVbHJpY2ggRHJlcHBlci4KU0tJUCB0L2dldHRleHQtYmFzaWNz LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2dldHRleHQtY29uZmlnLXJwYXRoCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmdldHRleHQtY29uZmlnLXJwYXRoOiBydW5u aW5nIGdldHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAu MjAKQ29weXJpZ2h0IChDKSAxOTk1LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6 Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8g V0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBV bHJpY2ggRHJlcHBlci4KU0tJUCB0L2dldHRleHQtY29uZmlnLXJwYXRoLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L2dldHRleHQtZXh0ZXJuYWwtcHIzMzgKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgpnZXR0ZXh0LWV4dGVybmFsLXByMzM4OiBydW5uaW5nIGdl dHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAuMjAKQ29w eXJpZ2h0IChDKSAxOTk1LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxp Y2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUu b3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUg ZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFO VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2gg RHJlcHBlci4KU0tJUCB0L2dldHRleHQtZXh0ZXJuYWwtcHIzMzguc2ggKGV4aXQgc3RhdHVz OiA3NykKClNLSVA6IHQvZ2V0dGV4dC1pbnRsLXN1YmRpcgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT0KCmdldHRleHQtaW50bC1zdWJkaXI6IHJ1bm5pbmcgZ2V0dGV4dCAtLXZlcnNp b24KZ2V0dGV4dCAoR05VIGdldHRleHQtcnVudGltZSkgMC4yMApDb3B5cmlnaHQgKEMpIDE5 OTUtMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6 IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMv Z3BsLmh0bWw+ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5n ZSBhbmQgcmVkaXN0cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4 dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgrDiWNyaXQgcGFyIFVscmljaCBEcmVwcGVyLgpTS0lQ IHQvZ2V0dGV4dC1pbnRsLXN1YmRpci5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9n ZXR0ZXh0LXByMzgxCj09PT09PT09PT09PT09PT09PT09PQoKZ2V0dGV4dC1wcjM4MTogcnVu bmluZyBnZXR0ZXh0IC0tdmVyc2lvbgpnZXR0ZXh0IChHTlUgZ2V0dGV4dC1ydW50aW1lKSAw LjIwCkNvcHlyaWdodCAoQykgMTk5NS0yMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHBz Oi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5 b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5P IFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCsOJY3JpdCBwYXIg VWxyaWNoIERyZXBwZXIuClNLSVAgdC9nZXR0ZXh0LXByMzgxLnNoIChleGl0IHN0YXR1czog NzcpCgpYRkFJTDogdC9pbnN0ZGlyLWNvbmQyCj09PT09PT09PT09PT09PT09PT09PT0KClJ1 bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2Nh bC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3Jh bW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11 cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0ZGlyLWNvbmQyLmRpcgorIGNhdAorIDoKKyA6Cisg Y2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsCisgYXV0b2NvbmYKKyBwd2QKKyAuL2NvbmZpZ3VyZSAtLXByZWZpeD0v aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdGRpci1jb25kMi5k aXIvaW5zdApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3Iv YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmlu L21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFr ZSBpbnN0YWxsZGlycwpmb3IgZGlyIGluICIvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdGRpci1jb25kMi5kaXIvaW5zdC9saWJleGVjL2luc3RkaXItY29u ZDIiICIvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdGRpci1j b25kMi5kaXIvaW5zdC9zaGFyZS9pbnN0ZGlyLWNvbmQyIjsgZG8gXAogIHRlc3QgLXogIiRk aXIiIHx8IC9iaW4vbWtkaXIgLXAgIiRkaXIiOyBcCmRvbmUKKyB0ZXN0ICEgLWUgaW5zdAor IGZpbmQgaW5zdAppbnN0Cmluc3Qvc2hhcmUKaW5zdC9zaGFyZS9pbnN0ZGlyLWNvbmQyCmlu c3QvbGliZXhlYwppbnN0L2xpYmV4ZWMvaW5zdGRpci1jb25kMgorIF9hbV9leGl0IDEKKyBz ZXQgK2UKKyB0ZXN0IDc3ID0gMQorIGV4aXQgMQorIGV4aXQgMQorIGFtX2V4aXRfdHJhcCAx CisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVxIDAKKyBrZWVw X3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAr eApYRkFJTCB0L2luc3RkaXItY29uZDIuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC9p bnN0ZGlyLWxpc3AKPT09PT09PT09PT09PT09PT09PT0KCmluc3RkaXItbGlzcDogcnVubmlu ZyBlbWFjcyAtLXZlcnNpb24KLi90L2luc3RkaXItbGlzcC5zaDogOTkzOiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczog bm90IGZvdW5kClNLSVAgdC9pbnN0ZGlyLWxpc3Auc2ggKGV4aXQgc3RhdHVzOiA3NykKClhG QUlMOiB0L2phdmEtbm9iYXNlCj09PT09PT09PT09PT09PT09PT09CgpqYXZhLW5vYmFzZTog cnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscApqYXZhYyAxLjguMF8yNDIKVXNhZ2U6IGph dmFjIDxvcHRpb25zPiA8c291cmNlIGZpbGVzPgp3aGVyZSBwb3NzaWJsZSBvcHRpb25zIGlu Y2x1ZGU6CiAgLWcgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGUgYWxsIGRlYnVn Z2luZyBpbmZvCiAgLWc6bm9uZSAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGUgbm8gZGVi dWdnaW5nIGluZm8KICAtZzp7bGluZXMsdmFycyxzb3VyY2V9ICAgICBHZW5lcmF0ZSBvbmx5 IHNvbWUgZGVidWdnaW5nIGluZm8KICAtbm93YXJuICAgICAgICAgICAgICAgICAgICBHZW5l cmF0ZSBubyB3YXJuaW5ncwogIC12ZXJib3NlICAgICAgICAgICAgICAgICAgIE91dHB1dCBt ZXNzYWdlcyBhYm91dCB3aGF0IHRoZSBjb21waWxlciBpcyBkb2luZwogIC1kZXByZWNhdGlv biAgICAgICAgICAgICAgIE91dHB1dCBzb3VyY2UgbG9jYXRpb25zIHdoZXJlIGRlcHJlY2F0 ZWQgQVBJcyBhcmUgdXNlZAogIC1jbGFzc3BhdGggPHBhdGg+ICAgICAgICAgIFNwZWNpZnkg d2hlcmUgdG8gZmluZCB1c2VyIGNsYXNzIGZpbGVzIGFuZCBhbm5vdGF0aW9uIHByb2Nlc3Nv cnMKICAtY3AgPHBhdGg+ICAgICAgICAgICAgICAgICBTcGVjaWZ5IHdoZXJlIHRvIGZpbmQg dXNlciBjbGFzcyBmaWxlcyBhbmQgYW5ub3RhdGlvbiBwcm9jZXNzb3JzCiAgLXNvdXJjZXBh dGggPHBhdGg+ICAgICAgICAgU3BlY2lmeSB3aGVyZSB0byBmaW5kIGlucHV0IHNvdXJjZSBm aWxlcwogIC1ib290Y2xhc3NwYXRoIDxwYXRoPiAgICAgIE92ZXJyaWRlIGxvY2F0aW9uIG9m IGJvb3RzdHJhcCBjbGFzcyBmaWxlcwogIC1leHRkaXJzIDxkaXJzPiAgICAgICAgICAgIE92 ZXJyaWRlIGxvY2F0aW9uIG9mIGluc3RhbGxlZCBleHRlbnNpb25zCiAgLWVuZG9yc2VkZGly cyA8ZGlycz4gICAgICAgT3ZlcnJpZGUgbG9jYXRpb24gb2YgZW5kb3JzZWQgc3RhbmRhcmRz IHBhdGgKICAtcHJvYzp7bm9uZSxvbmx5fSAgICAgICAgICBDb250cm9sIHdoZXRoZXIgYW5u b3RhdGlvbiBwcm9jZXNzaW5nIGFuZC9vciBjb21waWxhdGlvbiBpcyBkb25lLgogIC1wcm9j ZXNzb3IgPGNsYXNzMT5bLDxjbGFzczI+LDxjbGFzczM+Li4uXSBOYW1lcyBvZiB0aGUgYW5u b3RhdGlvbiBwcm9jZXNzb3JzIHRvIHJ1bjsgYnlwYXNzZXMgZGVmYXVsdCBkaXNjb3Zlcnkg cHJvY2VzcwogIC1wcm9jZXNzb3JwYXRoIDxwYXRoPiAgICAgIFNwZWNpZnkgd2hlcmUgdG8g ZmluZCBhbm5vdGF0aW9uIHByb2Nlc3NvcnMKICAtcGFyYW1ldGVycyAgICAgICAgICAgICAg ICBHZW5lcmF0ZSBtZXRhZGF0YSBmb3IgcmVmbGVjdGlvbiBvbiBtZXRob2QgcGFyYW1ldGVy cwogIC1kIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIFNwZWNpZnkgd2hlcmUgdG8gcGxhY2Ug Z2VuZXJhdGVkIGNsYXNzIGZpbGVzCiAgLXMgPGRpcmVjdG9yeT4gICAgICAgICAgICAgU3Bl Y2lmeSB3aGVyZSB0byBwbGFjZSBnZW5lcmF0ZWQgc291cmNlIGZpbGVzCiAgLWggPGRpcmVj dG9yeT4gICAgICAgICAgICAgU3BlY2lmeSB3aGVyZSB0byBwbGFjZSBnZW5lcmF0ZWQgbmF0 aXZlIGhlYWRlciBmaWxlcwogIC1pbXBsaWNpdDp7bm9uZSxjbGFzc30gICAgIFNwZWNpZnkg d2hldGhlciBvciBub3QgdG8gZ2VuZXJhdGUgY2xhc3MgZmlsZXMgZm9yIGltcGxpY2l0bHkg cmVmZXJlbmNlZCBmaWxlcwogIC1lbmNvZGluZyA8ZW5jb2Rpbmc+ICAgICAgIFNwZWNpZnkg Y2hhcmFjdGVyIGVuY29kaW5nIHVzZWQgYnkgc291cmNlIGZpbGVzCiAgLXNvdXJjZSA8cmVs ZWFzZT4gICAgICAgICAgUHJvdmlkZSBzb3VyY2UgY29tcGF0aWJpbGl0eSB3aXRoIHNwZWNp ZmllZCByZWxlYXNlCiAgLXRhcmdldCA8cmVsZWFzZT4gICAgICAgICAgR2VuZXJhdGUgY2xh c3MgZmlsZXMgZm9yIHNwZWNpZmljIFZNIHZlcnNpb24KICAtcHJvZmlsZSA8cHJvZmlsZT4g ICAgICAgICBDaGVjayB0aGF0IEFQSSB1c2VkIGlzIGF2YWlsYWJsZSBpbiB0aGUgc3BlY2lm aWVkIHByb2ZpbGUKICAtdmVyc2lvbiAgICAgICAgICAgICAgICAgICBWZXJzaW9uIGluZm9y bWF0aW9uCiAgLWhlbHAgICAgICAgICAgICAgICAgICAgICAgUHJpbnQgYSBzeW5vcHNpcyBv ZiBzdGFuZGFyZCBvcHRpb25zCiAgLUFrZXlbPXZhbHVlXSAgICAgICAgICAgICAgT3B0aW9u cyB0byBwYXNzIHRvIGFubm90YXRpb24gcHJvY2Vzc29ycwogIC1YICAgICAgICAgICAgICAg ICAgICAgICAgIFByaW50IGEgc3lub3BzaXMgb2Ygbm9uc3RhbmRhcmQgb3B0aW9ucwogIC1K PGZsYWc+ICAgICAgICAgICAgICAgICAgIFBhc3MgPGZsYWc+IGRpcmVjdGx5IHRvIHRoZSBy dW50aW1lIHN5c3RlbQogIC1XZXJyb3IgICAgICAgICAgICAgICAgICAgIFRlcm1pbmF0ZSBj b21waWxhdGlvbiBpZiB3YXJuaW5ncyBvY2N1cgogIEA8ZmlsZW5hbWU+ICAgICAgICAgICAg ICAgIFJlYWQgb3B0aW9ucyBhbmQgZmlsZW5hbWVzIGZyb20gZmlsZQoKUnVubmluZyBmcm9t IGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNy L2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2Jp bjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46 L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2phdmEtbm9iYXNlLmRpcgorIGNhdAorIGNhdAorIG1rZGlyIHN1YiBzdWIv c3Vic3ViCisgZWNobyBjbGFzcyBGb28ge30KKyBlY2hvIGNsYXNzIEJhciB7fQorIGFjbG9j YWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsCisgcHdkCisgLi9jb25maWd1cmUgLS1wcmVmaXg9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9iYXNlLmRpci9faW5zdApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0 aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3Rh dHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFrZSBjaGVjawpybSAt ZiBzdWIyL0Jhei5qYXZhIHN1YjIvQmF6LmphdmEtdAp0ZXN0IC1kIHN1YjIgfHwgbWtkaXIg c3ViMgplY2hvICdjbGFzcyBCYXoge30nID4gc3ViMi9CYXouamF2YS10CmNobW9kIGEtdyBz dWIyL0Jhei5qYXZhLXQgJiYgbXYgLWYgc3ViMi9CYXouamF2YS10IHN1YjIvQmF6LmphdmEK Q0xBU1NQQVRIPS46Li8uJHtDTEFTU1BBVEg6KyI6JENMQVNTUEFUSCJ9IGphdmFjIC1kIC4g ICAgc3ViL0Jhci5qYXZhIHN1Yi9zdWJzdWIvRm9vLmphdmEgc3ViMi9CYXouamF2YQplY2hv IHRpbWVzdGFtcCA+IGNsYXNzamF2YS5zdGFtcAorIG1ha2UgaW5zdGFsbAptYWtlWzFdwqA6 IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXLCoMK7Cm1ha2VbMV06IHJpZW4g w6AgZmFpcmUgcG91ciDCq8KgaW5zdGFsbC1leGVjLWFtwqDCuy4KIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5k aXIvX2luc3Qvc2hhcmUvamF2YScKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IEJhci5j bGFzcyBCYXouY2xhc3MgRm9vLmNsYXNzICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEvJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEt bm9iYXNlLmRpci9faW5zdC9zaGFyZS9qYXZhJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgQmFyLmNsYXNzIEJhei5jbGFzcyBGb28uY2xhc3MgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIvX2luc3Qvc2hhcmUvamF2YS8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEnCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCBCYXIuY2xhc3MgQmF6LmNsYXNzIEZvby5jbGFzcyAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9iYXNlLmRpci9faW5zdC9zaGFy ZS9qYXZhLycKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXLCoMK7 CisgbWFrZSB0ZXN0LWluc3RhbGwKZmluZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0IDs6IEZvciBkZWJ1Z2dpbmcuCi9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIv X2luc3QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9i YXNlLmRpci9faW5zdC9zaGFyZQovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvamF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEKL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2phdmEtbm9iYXNlLmRpci9faW5zdC9zaGFyZS9q YXZhL0Jhci5jbGFzcwovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv amF2YS1ub2Jhc2UuZGlyL19pbnN0L3NoYXJlL2phdmEvQmF6LmNsYXNzCi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIvX2luc3Qvc2hh cmUvamF2YS9Gb28uY2xhc3MKdGVzdCAgIC1mIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9qYXZhLW5vYmFzZS5kaXIvX2luc3Qvc2hhcmUvamF2YS9zdWIvc3Vi c3ViL0Zvby5jbGFzcwptYWtlOiAqKiogW01ha2VmaWxlOjY0MzogdGVzdC1pbnN0YWxsXSBF cnJvciAxCisgYW1fZXhpdF90cmFwIDIKKyBleGl0X3N0YXR1cz0yCisgc2V0ICtlCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRh cAorIHRlc3QgMiAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvamF2YS1ub2Jhc2Uuc2ggKGV4aXQg c3RhdHVzOiAyKQoKWEZBSUw6IHQvbGV4LXN1Ym9iai1ub2RlcAo9PT09PT09PT09PT09PT09 PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29s OiBub25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jp bjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYv YmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NU TTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFi aS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvbGV4LXN1Ym9iai1ub2RlcC5kaXIK KyBjYXQKKyBjYXQKKyBta2RpciBzdWIxIHN1YjIKKyBjYXQKKyBjcCBzdWIxL3MxLmwgc3Vi Mi9zMi5sCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEu MTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKY29uZmlndXJlLmFjOiBpbnN0YWxsaW5n ICcuL3lsd3JhcCcKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisgLi4vY29uZmlndXJlIC0t ZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2M5CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjOSBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjOSBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2M5IHVuZGVyc3RhbmRz IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2M5Li4uIG5vbmUKY2hlY2tpbmcgZm9yIGZsZXguLi4g bGV4CmNoZWNraW5nIGxleCBvdXRwdXQgZmlsZSByb290Li4uIGxleC55eQpjaGVja2luZyBs ZXggbGlicmFyeS4uLiAtbGZsCmNoZWNraW5nIHdoZXRoZXIgeXl0ZXh0IGlzIGEgcG9pbnRl ci4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBzdWIxL3MxLmMKL2Jpbi9iYXNoIC4uL3ls d3JhcCAuLi9zdWIxL3MxLmwgbGV4Lnl5LmMgc3ViMS9zMS5jIC0tIGxleCAgCi4uL3lsd3Jh cDogbGlnbmUgMjA2OiAuLi9zdWIxL3MxLmM6IEF1Y3VuIGZpY2hpZXIgb3UgZG9zc2llciBk ZSBjZSB0eXBlCm1ha2U6ICoqKiBbTWFrZWZpbGU6NDQwOiBzdWIxL3MxLmNdIEVycm9yIDEK KyBhbV9leGl0X3RyYXAgMgorIGV4aXRfc3RhdHVzPTIKKyBzZXQgK2UKKyBjZCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVz dCAyIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9sZXgtc3Vib2JqLW5vZGVwLnNoIChleGl0IHN0 YXR1czogMikKClNLSVA6IHQvbGlzcDMKPT09PT09PT09PT09PQoKbGlzcDM6IHJ1bm5pbmcg ZW1hY3MgLS12ZXJzaW9uCi4vdC9saXNwMy5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZvdW5k ClNLSVAgdC9saXNwMy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwNAo9PT09 PT09PT09PT09CgpsaXNwNDogcnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3A0LnNo OiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0 LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3A0LnNoIChleGl0IHN0YXR1 czogNzcpCgpTS0lQOiB0L2xpc3A1Cj09PT09PT09PT09PT0KCmxpc3A1OiBydW5uaW5nIGVt YWNzIC0tdmVyc2lvbgouL3QvbGlzcDUuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApT S0lQIHQvbGlzcDUuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcDYKPT09PT09 PT09PT09PQoKbGlzcDY6IHJ1bm5pbmcgZW1hY3MgLS12ZXJzaW9uCi4vdC9saXNwNi5zaDog OTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBlbWFjczogbm90IGZvdW5kClNLSVAgdC9saXNwNi5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9saXNwOAo9PT09PT09PT09PT09CgpsaXNwODogZGV0ZXJtaW5lIHdo ZXRoZXIgbWFrZSBpcyBHTlUgbWFrZQpHTlUgTWFrZSA0LjIuMQpMaWNlbmNlIEdQTHYzK8Kg OiBHTlUgR1BMIHZlcnNpb24gMyBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGlj ZW5zZXMvZ3BsLmh0bWw+Cmxpc3A4OiBydW5uaW5nIGVtYWNzIC0tdmVyc2lvbgouL3QvbGlz cDguc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4 L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcDguc2ggKGV4aXQg c3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1yZWFkb25seS1zcmNkaXIKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PQoKbGlzcC1yZWFkb25seS1zcmNkaXI6IHJ1bm5pbmcgZW1hY3Mg LS12ZXJzaW9uCi4vdC9saXNwLXJlYWRvbmx5LXNyY2Rpci5zaDogOTkzOiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczog bm90IGZvdW5kClNLSVAgdC9saXNwLXJlYWRvbmx5LXNyY2Rpci5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9saXNwLWxvYWRwYXRoCj09PT09PT09PT09PT09PT09PT09PQoKbGlz cC1sb2FkcGF0aDogcnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3AtbG9hZHBhdGgu c2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcC1sb2FkcGF0aC5zaCAo ZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwLXN1YmRpcgo9PT09PT09PT09PT09PT09 PT09CgpsaXNwLXN1YmRpcjogcnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3Atc3Vi ZGlyLnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3Atc3ViZGlyLnNo IChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2xpc3Atc3ViZGlyMgo9PT09PT09PT09PT09 PT09PT09PQoKbGlzcC1zdWJkaXIyOiBydW5uaW5nIGVtYWNzIC0tdmVyc2lvbgouL3QvbGlz cC1zdWJkaXIyLnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3Atc3Vi ZGlyMi5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwLXN1YmRpci1taXgKPT09 PT09PT09PT09PT09PT09PT09PT0KCmxpc3Atc3ViZGlyLW1peDogcnVubmluZyBlbWFjcyAt LXZlcnNpb24KLi90L2xpc3Atc3ViZGlyLW1peC5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZv dW5kClNLSVAgdC9saXNwLXN1YmRpci1taXguc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6 IHQvbGlzcGRyeQo9PT09PT09PT09PT09PT0KCmxpc3Bkcnk6IHJ1bm5pbmcgZW1hY3MgLS12 ZXJzaW9uCi4vdC9saXNwZHJ5LnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0 L2xpc3Bkcnkuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1wcjExODA2Cj09 PT09PT09PT09PT09PT09PT09CgpsaXNwLXByMTE4MDY6IHJ1bm5pbmcgZW1hY3MgLS12ZXJz aW9uCi4vdC9saXNwLXByMTE4MDYuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQ IHQvbGlzcC1wcjExODA2LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L21hbjYKPT09 PT09PT09PT09CgptYW42OiBydW5uaW5nIGhlbHAybWFuIC0tdmVyc2lvbgouL3QvbWFuNi5z aDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiBoZWxwMm1hbjogbm90IGZvdW5kClNLSVAgdC9tYW42LnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L29iamMtbWluaWRlbW8KPT09PT09PT09PT09PT09PT09PT09 CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBB VEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3Iv bG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVBy b2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTkt cTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1taW5pZGVtby5kaXIKKyBjYXQKKyBjYXQK KyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIDogV2UgaGF2ZSBhIG1vZGVy biBlbm91Z2ggYXV0b2NvbmYsIGdvIGFoZWFkLgorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisg YXV0b2NvbmYKKyBhdXRvaGVhZGVyCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJv ciAtV2FsbCAtLWFkZC1taXNzaW5nCnBhcmFsbGVsLXRlc3RzOiBpbnN0YWxsaW5nICcuL3Rl c3QtZHJpdmVyJworIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgT2JqZWN0aXZlIEMgY29tcGlsZXIg d29ya3MuLi4gbm8KY29uZmlndXJlOiBlcnJvcjogaW4gYC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9vYmpjLW1pbmlkZW1vLmRpcic6CmNvbmZpZ3VyZTogZXJy b3I6IE9iamVjdGl2ZSBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKU2Vl IGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzCisgYW1fZXhpdF90cmFwIDc3CisgZXhp dF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVz dGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClNL SVAgdC9vYmpjLW1pbmlkZW1vLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L29iamMt ZmxhZ3MKPT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBu bwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUv aHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9n Y2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGlu aworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1m bGFncy5kaXIKKyBjYXQKKyBjYXQKKyB1bmluZGVudAorIHRlc3QgeCA9IHgKKyBwcmludGYg JXNcbiAKICAvXiQvYiAgICAgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHRvIGRvIGZvciBl bXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAgICAgIyBHZXQgeDxpbmRlbnQ+ IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAgICAgICAgICAgIyBObyBw cmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAgICAgICAgICAgICAg ICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRlcm4gc3BhY2Uu CiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50PiBpbiBwYXR0 ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzogeDxpbmRlbnQ+ IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAgICAgICAgICAg ICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3BhY2UsIGFuZAog IGggICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRvIGhvbGQgc3Bh Y2UuCiAgcy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGluZGVudD4gaW4g cGF0dGVybiBzcGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMgZXhjaGFu Z2Ugd2l0aCB0aGUgYWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAgcy9eeFwoLipc KVxuXDEvLyAgICAgICAgICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJvbSA8bGluZT4u CiAgcy9eeC4qXG4vLyAgICAgICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4gd2hlbiB0aGVy ZSBpcyBubyBsZWFkaW5nIDxpbmRlbnQ+LgoKKyBzZWQgLWUgcy8gICojIC4qLy8KKyBzZWRf dW5pbmRlbnRfcHJvZz0KICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChbCSBd KlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwpXG5c MS8vCiAgcy9eeC4qXG4vLworIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAg cy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154 XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIHVuaW5kZW50CisgdGVzdCB4CiAgL14kL2IK ICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgK ICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4Cisg c2VkIAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEv CiAgfQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154 Lipcbi8vCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEu MTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKKyAvYmluL2dyZXAgLUYgT0JKQ0ZMQUdT IE1ha2VmaWxlLmluCmZvbzRfTElOSyA9ICQoT0JKQ0xEKSAkKGZvbzRfT0JKQ0ZMQUdTKSAk KE9CSkNGTEFHUykgJChBTV9MREZMQUdTKSBcCgkkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdT KSAkKEFNX09CSkNGTEFHUykgJChPQkpDRkxBR1MpCk9CSkNMSU5LID0gJChPQkpDTEQpICQo QU1fT0JKQ0ZMQUdTKSAkKE9CSkNGTEFHUykgJChBTV9MREZMQUdTKSBcCk9CSkNGTEFHUyA9 IEBPQkpDRkxBR1NACkFNX09CSkNGTEFHUyA9IC1EVkFMVUU9MiAtREVSUk9SPTEKZm9vNF9P QkpDRkxBR1MgPSAtRFZBTFVFPTQgLURFUlJPUj0xCkBhbV9fZmFzdGRlcE9CSkNfVFJVRUAJ JChBTV9WX09CSkMpJChPQkpDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNM VURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNGTEFHUykgJChP QkpDRkxBR1MpIC1NVCBmb280LWZvbzQubyAtTUQgLU1QIC1NRiAkKERFUERJUikvZm9vNC1m b280LlRwbyAtYyAtbyBmb280LWZvbzQubyBgdGVzdCAtZiAnZm9vNC5tJyB8fCBlY2hvICck KHNyY2RpcikvJ2Bmb280Lm0KQGFtX19mYXN0ZGVwT0JKQ19GQUxTRUAJJChBTV9WX09CSkNA YW1fX25vZGVwQCkkKE9CSkMpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xV REVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGZvbzRfT0JKQ0ZMQUdTKSAkKE9C SkNGTEFHUykgLWMgLW8gZm9vNC1mb280Lm8gYHRlc3QgLWYgJ2ZvbzQubScgfHwgZWNobyAn JChzcmNkaXIpLydgZm9vNC5tCkBhbV9fZmFzdGRlcE9CSkNfVFJVRUAJJChBTV9WX09CSkMp JChPQkpDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9D UFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNGTEFHUykgJChPQkpDRkxBR1MpIC1N VCBmb280LWZvbzQub2JqIC1NRCAtTVAgLU1GICQoREVQRElSKS9mb280LWZvbzQuVHBvIC1j IC1vIGZvbzQtZm9vNC5vYmogYGlmIHRlc3QgLWYgJ2ZvbzQubSc7IHRoZW4gJChDWUdQQVRI X1cpICdmb280Lm0nOyBlbHNlICQoQ1lHUEFUSF9XKSAnJChzcmNkaXIpL2ZvbzQubSc7IGZp YApAYW1fX2Zhc3RkZXBPQkpDX0ZBTFNFQAkkKEFNX1ZfT0JKQ0BhbV9fbm9kZXBAKSQoT0JK QykgJChERUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxB R1MpICQoQ1BQRkxBR1MpICQoZm9vNF9PQkpDRkxBR1MpICQoT0JKQ0ZMQUdTKSAtYyAtbyBm b280LWZvbzQub2JqIGBpZiB0ZXN0IC1mICdmb280Lm0nOyB0aGVuICQoQ1lHUEFUSF9XKSAn Zm9vNC5tJzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9mb280Lm0nOyBmaWAKKyBn cmVwIFwkKE9CSkNGTEFHUykuKlwkKEFNX09CSkNGTEFHUykgTWFrZWZpbGUuaW4KKyBncmVw IFwkKE9CSkNGTEFHUykuKlwkKGZvby4qX09CSkNGTEFHUykgTWFrZWZpbGUuaW4KKyBncmVw IFwkKGZvby4qX09CSkNGTEFHUykuKlwkKEFNX09CSkNGTEFHUykgTWFrZWZpbGUuaW4KKyAu L2NvbmZpZ3VyZSBPQkpDRkxBR1M9LVVFUlJPUgpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQt c2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdh d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2ZSBDIGNvbXBp bGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1mbGFncy5kaXInOgpjb25maWd1cmU6IGVy cm9yOiBPYmplY3RpdmUgQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNl ZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJhcCA3NworIGV4 aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rl c3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApT S0lQIHQvb2JqYy1mbGFncy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9vYmpjLWRl cHMKPT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRl c3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9T VE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1h cm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisg cHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9vYmpjLWRlcHMu ZGlyCisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJy b3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwg LS1hZGQtbWlzc2luZworIC4vY29uZmlndXJlIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tp bmcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9p bnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4u LiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2Rp ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz ZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0 ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3 aGV0aGVyIHRoZSBPYmplY3RpdmUgQyBjb21waWxlciB3b3Jrcy4uLiBubwpjb25maWd1cmU6 IGVycm9yOiBpbiBgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29i amMtZGVwcy5kaXInOgpjb25maWd1cmU6IGVycm9yOiBPYmplY3RpdmUgQyBjb21waWxlciBj YW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0 YWlscworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRh cAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvb2JqYy1kZXBzLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L29iamN4eC1taW5pZGVtbwo9PT09PT09PT09PT09PT09PT09 PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9u ZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jpbjov dXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1 YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0y MDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4eC1taW5pZGVtby5kaXIKKyBjYXQK KyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisg YXV0b2hlYWRlcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1h ZGQtbWlzc2luZwpwYXJhbGxlbC10ZXN0czogaW5zdGFsbGluZyAnLi90ZXN0LWRyaXZlcicK KyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnKysuLi4gZysr CmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2ZSBDKysgY29tcGlsZXIgd29ya3MuLi4g bm8KY29uZmlndXJlOiBlcnJvcjogaW4gYC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9vYmpjeHgtbWluaWRlbW8uZGlyJzoKY29uZmlndXJlOiBlcnJvcjogT2Jq ZWN0aXZlIEMrKyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzClNlZSBgY29u ZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3Rh dHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJz PXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQv b2JqY3h4LW1pbmlkZW1vLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L29iamN4eC1m bGFncwo9PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazog bm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21l L2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0v Z2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxp bmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4 eC1mbGFncy5kaXIKKyBjYXQKKyBjYXQKKyB1bmluZGVudAorIHRlc3QgeCA9IHgKKyBwcmlu dGYgJXNcbiAKICAvXiQvYiAgICAgICAgICAgICAgICAgICAgIyBOb3RoaW5nIHRvIGRvIGZv ciBlbXB0eSBsaW5lcy4KICB4ICAgICAgICAgICAgICAgICAgICAgICAgIyBHZXQgeDxpbmRl bnQ+IGludG8gcGF0dGVybiBzcGFjZS4KICAvXiQveyAgICAgICAgICAgICAgICAgICAgIyBO byBwcmlvciB4PGluZGVudD4sIGdvIHByZXBhcmUgaXQuCiAgICBnICAgICAgICAgICAgICAg ICAgICAgICMgQ29weSB0aGlzIDFzdCBub24tYmxhbmsgbGluZSBpbnRvIHBhdHRlcm4gc3Bh Y2UuCiAgICBzL15cKFsJIF0qXCkuKi94XDEvICAgIyBQcmVwYXJlIHg8aW5kZW50PiBpbiBw YXR0ZXJuIHNwYWNlLgogIH0gICAgICAgICAgICAgICAgICAgICAgICAjIE5vdzogeDxpbmRl bnQ+IGluIHBhdHRlcm4gYW5kIDxsaW5lPiBpbiBob2xkLgogIEcgICAgICAgICAgICAgICAg ICAgICAgICAjIEJ1aWxkIHg8aW5kZW50PlxuPGxpbmU+IGluIHBhdHRlcm4gc3BhY2UsIGFu ZAogIGggICAgICAgICAgICAgICAgICAgICAgICAjIGR1cGxpY2F0ZSBpdCBpbnRvIGhvbGQg c3BhY2UuCiAgcy9cbi4qJC8vICAgICAgICAgICAgICAgICMgUmVzdG9yZSB4PGluZGVudD4g aW4gcGF0dGVybiBzcGFjZSwgYW5kCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMgZXhj aGFuZ2Ugd2l0aCB0aGUgYWJvdmUgZHVwbGljYXRlIGluIGhvbGQgc3BhY2UuCiAgcy9eeFwo LipcKVxuXDEvLyAgICAgICAgICMgUmVtb3ZlIGxlYWRpbmcgPGluZGVudD4gZnJvbSA8bGlu ZT4uCiAgcy9eeC4qXG4vLyAgICAgICAgICAgICAgICMgUmVzdG9yZSA8bGluZT4gd2hlbiB0 aGVyZSBpcyBubyBsZWFkaW5nIDxpbmRlbnQ+LgoKKyBzZWQgLWUgcy8gICojIC4qLy8KKyBz ZWRfdW5pbmRlbnRfcHJvZz0KICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChb CSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwp XG5cMS8vCiAgcy9eeC4qXG4vLworIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwog ICAgcy9eXChbCSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBz L154XCguKlwpXG5cMS8vCiAgcy9eeC4qXG4vLworIHVuaW5kZW50CisgdGVzdCB4CiAgL14k L2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwog IGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4 Cisgc2VkIAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94 XDEvCiAgfQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBz L154Lipcbi8vCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtl LTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKKyAvYmluL2dyZXAgLUYgT0JKQ1hY RkxBR1MgTWFrZWZpbGUuaW4KZm9vNF9MSU5LID0gJChPQkpDWFhMRCkgJChmb280X09CSkNY WEZMQUdTKSAkKE9CSkNYWEZMQUdTKSBcCgkkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAk KEFNX09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKQpPQkpDWFhMSU5LID0gJChPQkpDWFhM RCkgJChBTV9PQkpDWFhGTEFHUykgJChPQkpDWFhGTEFHUykgXApPQkpDWFhGTEFHUyA9IEBP QkpDWFhGTEFHU0AKQU1fT0JKQ1hYRkxBR1MgPSAtRFZBTFVFPTIgLURFUlJPUj0xCmZvbzRf T0JKQ1hYRkxBR1MgPSAtRFZBTFVFPTQgLURFUlJPUj0xCkBhbV9fZmFzdGRlcE9CSkNYWF9U UlVFQAkkKEFNX1ZfT0JKQ1hYKSQoT0JKQ1hYKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURF UykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNY WEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAtTVQgZm9vNC1mb280Lm8gLU1EIC1NUCAtTUYgJChE RVBESVIpL2ZvbzQtZm9vNC5UcG8gLWMgLW8gZm9vNC1mb280Lm8gYHRlc3QgLWYgJ2ZvbzQu bW0nIHx8IGVjaG8gJyQoc3JjZGlyKS8nYGZvbzQubW0KQGFtX19mYXN0ZGVwT0JKQ1hYX0ZB TFNFQAkkKEFNX1ZfT0JKQ1hYQGFtX19ub2RlcEApJChPQkpDWFgpICQoREVGUykgJChERUZB VUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAk KGZvbzRfT0JKQ1hYRkxBR1MpICQoT0JKQ1hYRkxBR1MpIC1jIC1vIGZvbzQtZm9vNC5vIGB0 ZXN0IC1mICdmb280Lm1tJyB8fCBlY2hvICckKHNyY2RpcikvJ2Bmb280Lm1tCkBhbV9fZmFz dGRlcE9CSkNYWF9UUlVFQAkkKEFNX1ZfT0JKQ1hYKSQoT0JKQ1hYKSAkKERFRlMpICQoREVG QVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykg JChmb280X09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAtTVQgZm9vNC1mb280Lm9iaiAt TUQgLU1QIC1NRiAkKERFUERJUikvZm9vNC1mb280LlRwbyAtYyAtbyBmb280LWZvbzQub2Jq IGBpZiB0ZXN0IC1mICdmb280Lm1tJzsgdGhlbiAkKENZR1BBVEhfVykgJ2ZvbzQubW0nOyBl bHNlICQoQ1lHUEFUSF9XKSAnJChzcmNkaXIpL2ZvbzQubW0nOyBmaWAKQGFtX19mYXN0ZGVw T0JKQ1hYX0ZBTFNFQAkkKEFNX1ZfT0JKQ1hYQGFtX19ub2RlcEApJChPQkpDWFgpICQoREVG UykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKSAkKENQ UEZMQUdTKSAkKGZvbzRfT0JKQ1hYRkxBR1MpICQoT0JKQ1hYRkxBR1MpIC1jIC1vIGZvbzQt Zm9vNC5vYmogYGlmIHRlc3QgLWYgJ2ZvbzQubW0nOyB0aGVuICQoQ1lHUEFUSF9XKSAnZm9v NC5tbSc7IGVsc2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvZm9vNC5tbSc7IGZpYAorIGdy ZXAgXCQoT0JKQ1hYRkxBR1MpLipcJChBTV9PQkpDWFhGTEFHUykgTWFrZWZpbGUuaW4KKyBn cmVwIFwkKE9CSkNYWEZMQUdTKS4qXCQoZm9vLipfT0JKQ1hYRkxBR1MpIE1ha2VmaWxlLmlu CisgZ3JlcCBcJChmb28uKl9PQkpDWFhGTEFHUykuKlwkKEFNX09CSkNYWEZMQUdTKSBNYWtl ZmlsZS5pbgorIC4vY29uZmlndXJlIE9CSkNYWEZMQUdTPS1VRVJST1IKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZysrLi4uIGcrKwpjaGVja2luZyB3aGV0aGVyIHRoZSBPYmpl Y3RpdmUgQysrIGNvbXBpbGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqY3h4LWZsYWdzLmRp cic6CmNvbmZpZ3VyZTogZXJyb3I6IE9iamVjdGl2ZSBDKysgY29tcGlsZXIgY2Fubm90IGNy ZWF0ZSBleGVjdXRhYmxlcwpTZWUgYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMKKyBh bV9leGl0X3RyYXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0 IDc3IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg cmV0dXJuIDAKKyBzZXQgK3gKU0tJUCB0L29iamN4eC1mbGFncy5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9vYmpjeHgtZGVwcwo9PT09PT09PT09PT09PT09PT09CgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3Qvb2JqY3h4LWRlcHMuZGlyCisgY2F0CisgY2F0CisgY2F0CisgY2F0 CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEu MTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZworIC4vY29uZmlndXJl IC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZysrLi4uIGcrKwpjaGVja2luZyB3aGV0aGVyIHRoZSBPYmplY3RpdmUgQysrIGNv bXBpbGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqY3h4LWRlcHMuZGlyJzoKY29uZmlndXJl OiBlcnJvcjogT2JqZWN0aXZlIEMrKyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFi bGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJhcCA3 NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNl dCAreApTS0lQIHQvb2JqY3h4LWRlcHMuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQv b2JqYy1tZWdhZGVtbwo9PT09PT09PT09PT09PT09PT09PT0KCm9iamMtbWVnYWRlbW86IHJ1 bm5pbmcgbGlidG9vbGl6ZSAtLXZlcnNpb24KbGlidG9vbGl6ZSAoR05VIGxpYnRvb2wpIDIu NC42CldyaXR0ZW4gYnkgR2FyeSBWLiBWYXVnaGFuIDxnYXJ5QGdudS5vcmc+LCAyMDAzCgpD b3B5cmlnaHQgKEMpIDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMg aXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9u cy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgpSdW5uaW5nIGZyb20gaW5z dGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmlu Oi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9o b21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0 L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3Qvb2JqYy1tZWdhZGVtby5kaXIKKyBjYXQKKyBjYXQKKyBsaWJ0b29saXplCmxpYnRv b2xpemU6IHB1dHRpbmcgYXV4aWxpYXJ5IGZpbGVzIGluIEFDX0NPTkZJR19BVVhfRElSLCAn YnVpbGQtYXV4Jy4KbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdidWlsZC1hdXgvbHRtYWlu LnNoJwpsaWJ0b29saXplOiBwdXR0aW5nIG1hY3JvcyBpbiBBQ19DT05GSUdfTUFDUk9fRElS UywgJ200Jy4KbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdtNC9saWJ0b29sLm00JwpsaWJ0 b29saXplOiBsaW5raW5nIGZpbGUgJ200L2x0b3B0aW9ucy5tNCcKbGlidG9vbGl6ZTogbGlu a2luZyBmaWxlICdtNC9sdHN1Z2FyLm00JwpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgJ200 L2x0dmVyc2lvbi5tNCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdtNC9sdH5vYnNvbGV0 ZS5tNCcKbGlidG9vbGl6ZTogQ29uc2lkZXIgYWRkaW5nICctSSBtNCcgdG8gQUNMT0NBTF9B TUZMQUdTIGluIE1ha2VmaWxlLmFtLgorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2hl YWRlcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2Fs bCAtLWFkZC1taXNzaW5nCmNvbmZpZ3VyZS5hYzo5OiBpbnN0YWxsaW5nICdidWlsZC1hdXgv YXItbGliJwpjb25maWd1cmUuYWM6OTogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2NvbXBpbGUn CmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2NvbmZpZy5ndWVzcycK Y29uZmlndXJlLmFjOjEwOiBpbnN0YWxsaW5nICdidWlsZC1hdXgvY29uZmlnLnN1YicKY29u ZmlndXJlLmFjOjc6IGluc3RhbGxpbmcgJ2J1aWxkLWF1eC9pbnN0YWxsLXNoJwpjb25maWd1 cmUuYWM6NzogaW5zdGFsbGluZyAnYnVpbGQtYXV4L21pc3NpbmcnCk1ha2VmaWxlLmFtOiBp bnN0YWxsaW5nICdidWlsZC1hdXgvZGVwY29tcCcKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQK KyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyBjYXQKKyAuL2NvbmZpZ3VyZQpjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1wYy1saW51eC1n bnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251CmNo ZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzLi4uIHByaW50ZgpjaGVja2luZyBmb3IgYSBz ZWQgdGhhdCBkb2VzIG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gL2Jpbi9zZWQKY2hlY2tpbmcg Zm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lLi4uIC9iaW4vZ3JlcApj aGVja2luZyBmb3IgZWdyZXAuLi4gL2Jpbi9ncmVwIC1FCmNoZWNraW5nIGZvciBmZ3JlcC4u LiAvYmluL2dyZXAgLUYKY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgZ2NjLi4uIC91c3IvbG9j YWwveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQKY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAo L3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCkgaXMgR05VIGxkLi4uIHll cwpjaGVja2luZyBmb3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSku Li4gL3Vzci9sb2NhbC9iaW4vbm0gLUIKY2hlY2tpbmcgdGhlIG5hbWUgbGlzdGVyICgvdXNy L2xvY2FsL2Jpbi9ubSAtQikgaW50ZXJmYWNlLi4uIEJTRCBubQpjaGVja2luZyB3aGV0aGVy IGxuIC1zIHdvcmtzLi4uIHllcwpjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29t bWFuZCBsaW5lIGFyZ3VtZW50cy4uLiAxNTcyODY0CmNoZWNraW5nIGhvdyB0byBjb252ZXJ0 IHg4Nl82NC1wYy1saW51eC1nbnUgZmlsZSBuYW1lcyB0byB4ODZfNjQtcGMtbGludXgtZ251 IGZvcm1hdC4uLiBmdW5jX2NvbnZlcnRfZmlsZV9ub29wCmNoZWNraW5nIGhvdyB0byBjb252 ZXJ0IHg4Nl82NC1wYy1saW51eC1nbnUgZmlsZSBuYW1lcyB0byB0b29sY2hhaW4gZm9ybWF0 Li4uIGZ1bmNfY29udmVydF9maWxlX25vb3AKY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwveDg2 XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMu Li4gLXIKY2hlY2tpbmcgZm9yIG9iamR1bXAuLi4gb2JqZHVtcApjaGVja2luZyBob3cgdG8g cmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMuLi4gcGFzc19hbGwKY2hlY2tpbmcgZm9y IGRsbHRvb2wuLi4gbm8KY2hlY2tpbmcgaG93IHRvIGFzc29jaWF0ZSBydW50aW1lIGFuZCBs aW5rIGxpYnJhcmllcy4uLiBwcmludGYgJXNcbgpjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJ TEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJpcC4uLiBzdHJpcApjaGVja2luZyBm b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyBjb21tYW5kIHRvIHBhcnNlIC91c3IvbG9j YWwvYmluL25tIC1CIG91dHB1dCBmcm9tIGdjYyBvYmplY3QuLi4gb2sKY2hlY2tpbmcgZm9y IHN5c3Jvb3QuLi4gbm8KY2hlY2tpbmcgZm9yIGEgd29ya2luZyBkZC4uLiAvYmluL2RkCmNo ZWNraW5nIGhvdyB0byB0cnVuY2F0ZSBiaW5hcnkgcGlwZXMuLi4gL2Jpbi9kZCBicz00MDk2 IGNvdW50PTEKY2hlY2tpbmcgZm9yIG10Li4uIG10CmNoZWNraW5nIGlmIG10IGlzIGEgbWFu aWZlc3QgdG9vbC4uLiBubwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nv ci4uLiBnY2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4geWVzCmNo ZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN5cy9zdGF0Lmgu Li4geWVzCmNoZWNraW5nIGZvciBzdGRsaWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmlu Zy5oLi4uIHllcwpjaGVja2luZyBmb3IgbWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBz dHJpbmdzLmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpjaGVja2lu ZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlzdGQuaC4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGRsZmNuLmguLi4geWVzCmNoZWNraW5nIGZvciBvYmpkaXIuLi4gLmxpYnMK Y2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4g bm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMgLURQ SUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1mUElDIC1EUElDIHdvcmtzLi4uIHllcwpj aGVja2luZyBpZiBnY2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgaWYgZ2NjIHN1cHBvcnRzIC1jIC1vIGZpbGUuby4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2Nj IHN1cHBvcnRzIC1jIC1vIGZpbGUuby4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgd2hldGhl ciB0aGUgZ2NjIGxpbmtlciAoL3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9s ZCAtbSBlbGZfeDg2XzY0KSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4uLi4gbm8K Y2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIEdOVS9MaW51eCBs ZC5zbwpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dy YW1zLi4uIGltbWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMg aXMgcG9zc2libGUuLi4geWVzCmNoZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVk IGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGli cmFyaWVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJp ZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gKGNhY2hlZCkgZ2NjCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiAoY2FjaGVkKSB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tp bmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gKGNhY2hlZCkgbm9uZSBu ZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0 aGVyLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiAoY2FjaGVkKSBnY2MzCmNoZWNraW5nIGZvciBnKysuLi4gZysrCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQysrIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIGcrKyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGcrKy4uLiBnY2MzCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMrKyBwcmVwcm9jZXNz b3IuLi4gZysrIC1FCmNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGcrKy4uLiAvdXNyL2xvY2Fs L3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIC1tIGVsZl94ODZfNjQKY2hlY2tpbmcgaWYg dGhlIGxpbmtlciAoL3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCAtbSBl bGZfeDg2XzY0KSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGcrKyBs aW5rZXIgKC91c3IvbG9jYWwveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgLW0gZWxmX3g4 Nl82NCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGcr KyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMgLURQSUMKY2hlY2tpbmcgaWYgZysr IFBJQyBmbGFnIC1mUElDIC1EUElDIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnKysgc3Rh dGljIGZsYWcgLXN0YXRpYyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgZysrIHN1cHBvcnRz IC1jIC1vIGZpbGUuby4uLiB5ZXMKY2hlY2tpbmcgaWYgZysrIHN1cHBvcnRzIC1jIC1vIGZp bGUuby4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgZysrIGxpbmtlciAo L3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCAtbSBlbGZfeDg2XzY0KSBz dXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpjaGVja2luZyBkeW5hbWljIGxpbmtl ciBjaGFyYWN0ZXJpc3RpY3MuLi4gKGNhY2hlZCkgR05VL0xpbnV4IGxkLnNvCmNoZWNraW5n IGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRp YXRlCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgT2JqZWN0aXZlIEMgY29tcGlsZXIuLi4gbm8KY2hlY2tpbmcgd2hldGhl ciBnY2MgYWNjZXB0cyAtZy4uLiBubwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj Yy4uLiBnY2MzCmNoZWNraW5nIGZvciBnKysuLi4gZysrCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgT2JqZWN0aXZlIEMrKyBjb21waWxlci4uLiBubwpjaGVja2lu ZyB3aGV0aGVyIGcrKyBhY2NlcHRzIC1nLi4uIG5vCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZysrLi4uIGdjYzMKY2hlY2tpbmcgd2hldGhlciB0aGUgT2JqZWN0aXZlIEMgY29t cGlsZXIgcmVhbGx5IHdvcmtzLi4uIG5vCmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2 ZSBDKysgY29tcGlsZXIgcmVhbGx5IHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGNv dWxkbid0IGZpbmQgYSB3b3JraW5nIE9iamVjdGl2ZSBDIGNvbXBpbGVyCisgYW1fZXhpdF90 cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEg MAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAw Cisgc2V0ICt4ClNLSVAgdC9vYmpjLW1lZ2FkZW1vLnNoIChleGl0IHN0YXR1czogNzcpCgpY RkFJTDogdC9vYmpleHQtcHIxMDEyOAo9PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmlu ZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jp bjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVy Mi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0 ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L29iamV4dC1wcjEwMTI4LmRpcgorIGVjaG8gQUNfT1VUUFVUCisg Y2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAt V2Vycm9yIC1XYWxsCisgYXV0b2NvbmYKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBC U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBn YXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVz CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFrZSB0ZXN0CmlzICA9PSBmb28uZmFzbApt YWtlOiAqKiogW01ha2VmaWxlOjY3NTogdGVzdF0gRXJyb3IgMQorIGFtX2V4aXRfdHJhcCAy CisgZXhpdF9zdGF0dXM9MgorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDIgLWVxIDAKKyBrZWVw X3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAr eApYRkFJTCB0L29iamV4dC1wcjEwMTI4LnNoIChleGl0IHN0YXR1czogMikKClhGQUlMOiB0 L292ZXJyaWRlLWNvbmRpdGlvbmFsLTIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQ QVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNy L2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQ cm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5 LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L292ZXJyaWRlLWNvbmRpdGlvbmFsLTIuZGlyCisg Y2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBBVVRPTUFLRV9mYWlscworIEFV VE9NQUtFX3J1biAtZSAxCisgYW1fX2Rlc2M9CisgYW1fX2V4cF9yYz0wCisgdGVzdCAyIC1n dCAwCisgYW1fX2V4cF9yYz0xCisgc2hpZnQKKyBzaGlmdAorIHRlc3QgMCAtZ3QgMAorIGFt X19nb3RfcmM9MAorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBj YXQgc3RkZXJyCisgY2F0IHN0ZG91dAorIHRlc3Qgbm9uZSA9IG5vbmUKKyB0ZXN0IDAgLWVx IDEKKyBfYW1fZXhpdCAxCisgc2V0ICtlCisgdGVzdCA3NyA9IDEKKyBleGl0IDEKKyBleGl0 IDEKKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisg dGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9vdmVycmlkZS1jb25kaXRpb25hbC0yLnNo IChleGl0IHN0YXR1czogMSkKClhGQUlMOiB0L292ZXJyaWRlLWNvbmRpdGlvbmFsLXByMTM5 NDAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9t IGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNy L2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2Jp bjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46 L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L292ZXJyaWRlLWNvbmRpdGlvbmFsLXByMTM5NDAuZGlyCisgY2F0CisgY2F0 CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vy cm9yIC1XYWxsIC1hCmF1dG9tYWtlLTEuMTY6IHdhcm5pbmdzIGFyZSB0cmVhdGVkIGFzIGVy cm9ycwpNYWtlZmlsZS5hbTo4OiB3YXJuaW5nOiBhbGwtbG9jYWwgd2FzIGFscmVhZHkgZGVm aW5lZCBpbiBjb25kaXRpb24gRk9PLCB3aGljaCBpcyBpbmNsdWRlZCBpbiBjb25kaXRpb24g VFJVRSAuLi4KTWFrZWZpbGUuYW06NTogLi4uICdhbGwtbG9jYWwnIHByZXZpb3VzbHkgZGVm aW5lZCBoZXJlCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9 IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvb3ZlcnJpZGUtY29uZGl0aW9u YWwtcHIxMzk0MC5zaCAoZXhpdCBzdGF0dXM6IDEpCgpYRkFJTDogdC9yZW1ha2UtYW0tcHIx MDExMQo9PT09PT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmlu Oi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9o di9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdH RVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L3JlbWFrZS1hbS1wcjEwMTExLmRpcgorIGNhdAorIDoKKyBjYXQKKyBhY2xvY2FsLTEuMTYg LVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAt V2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5l cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJl OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr ZWZpbGUKKyBtYWtlIGRpc3RkaXIKbWFrZSAgZGlzdGRpci1hbQptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9yZW1ha2UtYW0tcHIxMDExMS5kaXLCoMK7CmlmIHRlc3QgLWQgInJl bWFrZS1hbS1wcjEwMTExLTEuMCI7IHRoZW4gZmluZCAicmVtYWtlLWFtLXByMTAxMTEtMS4w IiAtdHlwZSBkICEgLXBlcm0gLTIwMCAtZXhlYyBjaG1vZCB1K3cge30gJzsnICYmIHJtIC1y ZiAicmVtYWtlLWFtLXByMTAxMTEtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0gLXJmICJyZW1h a2UtYW0tcHIxMDExMS0xLjAiOyB9OyBlbHNlIDo7IGZpCnRlc3QgLWQgInJlbWFrZS1hbS1w cjEwMTExLTEuMCIgfHwgbWtkaXIgInJlbWFrZS1hbS1wcjEwMTExLTEuMCIKdGVzdCAtbiAi IiBcCnx8IGZpbmQgInJlbWFrZS1hbS1wcjEwMTExLTEuMCIgLXR5cGUgZCAhIC1wZXJtIC03 NTUgXAoJLWV4ZWMgY2htb2QgdStyd3gsZ28rcngge30gXDsgLW8gXAogICEgLXR5cGUgZCAh IC1wZXJtIC00NDQgLWxpbmtzIDEgLWV4ZWMgY2htb2QgYStyIHt9IFw7IC1vIFwKICAhIC10 eXBlIGQgISAtcGVybSAtNDAwIC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCiAgISAtdHlw ZSBkICEgLXBlcm0gLTQ0NCAtZXhlYyAvYmluL2Jhc2ggL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS1hbS1wcjEwMTExLmRpci9pbnN0YWxsLXNoIC1j IC1tIGErciB7fSB7fSBcOyBcCnx8IGNobW9kIC1SIGErciAicmVtYWtlLWFtLXByMTAxMTEt MS4wIgptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS1hbS1wcjEwMTExLmRpcsKg wrsKKyBjZCByZW1ha2UtYW0tcHIxMDExMS0xLjAKKyBta2RpciBidWlsZAorIGNkIGJ1aWxk CisgLi4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwu Li4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKKyBybSAtZiAuLi9mb29iYXIuYW0KKyBtYWtlCm1ha2U6IHJpZW4gw6AgZmFpcmUgcG91 ciDCq8KgYWxswqDCuy4KKyBncmVwID0gZm9vYmFyIHdhcyBoZXJlID0gLi4vTWFrZWZpbGUu aW4KKyBhbV9leGl0X3RyYXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisg dGVzdCAxIC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDAKKyBzZXQgK3gKWEZBSUwgdC9yZW1ha2UtYW0tcHIxMDExMS5zaCAoZXhp dCBzdGF0dXM6IDEpCgpYRkFJTDogdC9yZW1ha2UtbTQtcHIxMDExMQo9PT09PT09PT09PT09 PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90 b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21l L2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3Vi ZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25l LWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS1tNC1wcjEwMTEx LmRpcgorIGNhdAorIDoKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25m CisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJl CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGRpc3Rk aXIKbWFrZSAgZGlzdGRpci1hbQptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1h a2UtbTQtcHIxMDExMS5kaXLCoMK7CmlmIHRlc3QgLWQgInJlbWFrZS1tNC1wcjEwMTExLTEu MCI7IHRoZW4gZmluZCAicmVtYWtlLW00LXByMTAxMTEtMS4wIiAtdHlwZSBkICEgLXBlcm0g LTIwMCAtZXhlYyBjaG1vZCB1K3cge30gJzsnICYmIHJtIC1yZiAicmVtYWtlLW00LXByMTAx MTEtMS4wIiB8fCB7IHNsZWVwIDUgJiYgcm0gLXJmICJyZW1ha2UtbTQtcHIxMDExMS0xLjAi OyB9OyBlbHNlIDo7IGZpCnRlc3QgLWQgInJlbWFrZS1tNC1wcjEwMTExLTEuMCIgfHwgbWtk aXIgInJlbWFrZS1tNC1wcjEwMTExLTEuMCIKdGVzdCAtbiAiIiBcCnx8IGZpbmQgInJlbWFr ZS1tNC1wcjEwMTExLTEuMCIgLXR5cGUgZCAhIC1wZXJtIC03NTUgXAoJLWV4ZWMgY2htb2Qg dStyd3gsZ28rcngge30gXDsgLW8gXAogICEgLXR5cGUgZCAhIC1wZXJtIC00NDQgLWxpbmtz IDEgLWV4ZWMgY2htb2QgYStyIHt9IFw7IC1vIFwKICAhIC10eXBlIGQgISAtcGVybSAtNDAw IC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCiAgISAtdHlwZSBkICEgLXBlcm0gLTQ0NCAt ZXhlYyAvYmluL2Jhc2ggL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L3JlbWFrZS1tNC1wcjEwMTExLmRpci9pbnN0YWxsLXNoIC1jIC1tIGErciB7fSB7fSBcOyBc Cnx8IGNobW9kIC1SIGErciAicmVtYWtlLW00LXByMTAxMTEtMS4wIgptYWtlWzFdwqA6IG9u IHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L3JlbWFrZS1tNC1wcjEwMTExLmRpcsKgwrsKKyBjZCByZW1ha2UtbTQt cHIxMDExMS0xLjAKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisgLi4vY29uZmlndXJlCmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBybSAtZiAuLi9mb29i YXIubTQKKyBtYWtlCm1ha2U6IHJpZW4gw6AgZmFpcmUgcG91ciDCq8KgYWxswqDCuy4KKyBn cmVwIDogZm9vYmFyIHdhcyBoZXJlIDogLi4vY29uZmlndXJlCisgYW1fZXhpdF90cmFwIDEK KyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBf dGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4 ClhGQUlMIHQvcmVtYWtlLW00LXByMTAxMTEuc2ggKGV4aXQgc3RhdHVzOiAxKQoKWEZBSUw6 IHQvcmVtYWtlLXRpbWluZy1idWctcHI4MzY1Cj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDog bm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2Jp bjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0z MkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmkt OC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3JlbWFrZS10aW1pbmctYnVnLXByODM2 NS5kaXIKKyBzdGF0IC9kZXYvbnVsbAogIEZpY2hpZXLCoDogL2Rldi9udWxsCiAgIFRhaWxs ZcKgOiAwICAgICAgICAgCUJsb2NzwqA6IDAgICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5 NiAgIGZpY2hpZXIgc3DDqWNpYWwgZGUgY2FyYWN0w6hyZXMKUMOpcmlwaMOpcmlxdWXCoDog NmgvNmQJSW7Fk3VkwqA6IDIwNTEgICAgICAgIExpZW5zwqA6IDEgICAgIFR5cGUgZGUgcMOp cmlwaC7CoDogMSwzCkFjY8Ooc8KgOiAoMDY2Ni9jcnctcnctcnctKSAgVUlEwqA6ICggICAg MC8gICAgcm9vdCkgICBHSUTCoDogKCAgICAwLyAgICByb290KQogQWNjw6hzwqA6IDIwMjAt MDMtMjIgMTg6MjI6MjMuMDY5OTk5OTkxICswMTAwCk1vZGlmLsKgOiAyMDIwLTAzLTIyIDE4 OjIyOjIzLjA2OTk5OTk5MSArMDEwMApDaGFuZ3TCoDogMjAyMC0wMy0yMiAxODoyMjoyMy4w Njk5OTk5OTEgKzAxMDAKICBDcsOpw6nCoDogLQorIHN0YXQ9c3RhdAorIGNhdAorIDoKKyBh Y2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3Ig LVdhbGwKKyBhdXRvY29uZgorIC4vY29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIE1ha2VmaWxlCm1ha2U6IMKrwqBNYWtlZmlsZcKg wrsgZXN0IMOgIGpvdXIuCisgL2Jpbi9ncmVwIC1FIEZPT0JBUnx6YXJkb3ogTWFrZWZpbGUK KyBlY2hvIEFDX1NVQlNUKFtGT09CQVJdKQorIHN0YXQgY29uZmlnLnN0YXR1cyBNYWtlZmls ZSBjb25maWd1cmUuYWMKICBGaWNoaWVywqA6IGNvbmZpZy5zdGF0dXMKICAgVGFpbGxlwqA6 IDI1NzU0ICAgICAJQmxvY3PCoDogNTYgICAgICAgICBCbG9jcyBkJ0UvU8KgOiA0MDk2ICAg ZmljaGllcgpQw6lyaXBow6lyaXF1ZcKgOiA4MzFoLzIwOTdkCUluxZN1ZMKgOiAzMDIxMTIx ICAgICBMaWVuc8KgOiAxCkFjY8Ooc8KgOiAoMDc1NS8tcnd4ci14ci14KSAgVUlEwqA6ICgg MTAwMC8gICAgICBodikgICBHSUTCoDogKCAxMDAwLyAgICAgIGh2KQogQWNjw6hzwqA6IDIw MjAtMDMtMjMgMDQ6MDc6MzQuNjcxNTQyMDk2ICswMTAwCk1vZGlmLsKgOiAyMDIwLTAzLTIz IDA0OjA3OjM0LjY5MTU0MTk2MiArMDEwMApDaGFuZ3TCoDogMjAyMC0wMy0yMyAwNDowNzoz NC42OTE1NDE5NjIgKzAxMDAKICBDcsOpw6nCoDogLQogIEZpY2hpZXLCoDogTWFrZWZpbGUK ICAgVGFpbGxlwqA6IDE3OTc5ICAgICAJQmxvY3PCoDogNDAgICAgICAgICBCbG9jcyBkJ0Uv U8KgOiA0MDk2ICAgZmljaGllcgpQw6lyaXBow6lyaXF1ZcKgOiA4MzFoLzIwOTdkCUluxZN1 ZMKgOiAzMjc4OTUyICAgICBMaWVuc8KgOiAxCkFjY8Ooc8KgOiAoMDY0NC8tcnctci0tci0t KSAgVUlEwqA6ICggMTAwMC8gICAgICBodikgICBHSUTCoDogKCAxMDAwLyAgICAgIGh2KQog QWNjw6hzwqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzQuNzIxNTQxNzYxICswMTAwCk1vZGlmLsKg OiAyMDIwLTAzLTIzIDA0OjA3OjM0LjcyMTU0MTc2MSArMDEwMApDaGFuZ3TCoDogMjAyMC0w My0yMyAwNDowNzozNC43MjE1NDE3NjEgKzAxMDAKICBDcsOpw6nCoDogLQogIEZpY2hpZXLC oDogY29uZmlndXJlLmFjCiAgIFRhaWxsZcKgOiAxMzEgICAgICAgCUJsb2NzwqA6IDggICAg ICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXCoDog ODMxaC8yMDk3ZAlJbsWTdWTCoDogMzAyMDU5MCAgICAgTGllbnPCoDogMQpBY2PDqHPCoDog KDA2NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6ICgg MTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIwLTAzLTIzIDA0OjA3OjMzLjAwMTU1MzIz OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAwNDowNzozNC43NDE1NDE2MjggKzAxMDAK Q2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzQuNzQxNTQxNjI4ICswMTAwCiAgQ3LDqcOp wqA6IC0KKyBzbGVlcCAyCisgdG91Y2ggY29uZmlnLnN0YXR1cworIHRvdWNoIC1yIGNvbmZp Zy5zdGF0dXMgY29uZmlnLnN0YXR1cyBNYWtlZmlsZSBjb25maWd1cmUuYWMKKyBzdGF0IGNv bmZpZy5zdGF0dXMgTWFrZWZpbGUgY29uZmlndXJlLmFjCiAgRmljaGllcsKgOiBjb25maWcu c3RhdHVzCiAgIFRhaWxsZcKgOiAyNTc1NCAgICAgCUJsb2NzwqA6IDU2ICAgICAgICAgQmxv Y3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3 ZAlJbsWTdWTCoDogMzAyMTEyMSAgICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA3NTUvLXJ3 eHIteHIteCkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAg ICBodikKIEFjY8Ooc8KgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEwMApN b2RpZi7CoDogMjAyMC0wMy0yMyAwNDowNzozNi43NDE1MjgyNzkgKzAxMDAKQ2hhbmd0wqA6 IDIwMjAtMDMtMjMgMDQ6MDc6MzYuNzQxNTI4Mjc5ICswMTAwCiAgQ3LDqcOpwqA6IC0KICBG aWNoaWVywqA6IE1ha2VmaWxlCiAgIFRhaWxsZcKgOiAxNzk3OSAgICAgCUJsb2NzwqA6IDQw ICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXC oDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzI3ODk1MiAgICAgTGllbnPCoDogMQpBY2PDqHPC oDogKDA2NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6 ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUy ODI3OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAwNDowNzozNi43NDE1MjgyNzkgKzAx MDAKQ2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzYuNzQxNTI4Mjc5ICswMTAwCiAgQ3LD qcOpwqA6IC0KICBGaWNoaWVywqA6IGNvbmZpZ3VyZS5hYwogICBUYWlsbGXCoDogMTMxICAg ICAgIAlCbG9jc8KgOiA4ICAgICAgICAgIEJsb2NzIGQnRS9TwqA6IDQwOTYgICBmaWNoaWVy ClDDqXJpcGjDqXJpcXVlwqA6IDgzMWgvMjA5N2QJSW7Fk3VkwqA6IDMwMjA1OTAgICAgIExp ZW5zwqA6IDEKQWNjw6hzwqA6ICgwNjQ0Ly1ydy1yLS1yLS0pICBVSUTCoDogKCAxMDAwLyAg ICAgIGh2KSAgIEdJRMKgOiAoIDEwMDAvICAgICAgaHYpCiBBY2PDqHPCoDogMjAyMC0wMy0y MyAwNDowNzozNi43NDE1MjgyNzkgKzAxMDAKTW9kaWYuwqA6IDIwMjAtMDMtMjMgMDQ6MDc6 MzYuNzQxNTI4Mjc5ICswMTAwCkNoYW5ndMKgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUy ODI3OSArMDEwMAogIENyw6nDqcKgOiAtCisgY2F0CisgY2F0CisgY2F0CisgY2htb2QgYSt4 IGFjbG9jYWwtd3JhcCBhdXRvbWFrZS13cmFwIGF1dG9jb25mLXdyYXAKKyBydW5fbWFrZSBN YWtlZmlsZSBBQ0xPQ0FMPS4vYWNsb2NhbC13cmFwIEFVVE9NQUtFPS4vYXV0b21ha2Utd3Jh cCBBVVRPQ09ORj0uL2F1dG9jb25mLXdyYXAKKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRvdXQ9 bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRlcnI9bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9z dGRhbGw9bm8KKyBhbV9fbWFrZV9mbGFncz0KKyBhbV9fbWFrZV9yY19leHA9MAorIGFtX21h a2VfcmM9MAorIHRlc3QgNCAtZ3QgMAorIGJyZWFrCisgdXNpbmdfZ21ha2UKKyBtYWtlIC0t dmVyc2lvbiAtdgorIGdyZXAgR05VCkdOVSBNYWtlIDQuMi4xCkxpY2VuY2UgR1BMdjMrwqA6 IEdOVSBHUEwgdmVyc2lvbiAzIG91IHVsdMOpcmlldXJlIDxodHRwOi8vZ251Lm9yZy9saWNl bnNlcy9ncGwuaHRtbD4KKyBhbV9fdXNpbmdfZ21ha2U9eWVzCisgcmV0dXJuIDAKKyA6Cisg dGVzdCB4ICE9IHgKKyA6IGV4ZWMgbWFrZSBNYWtlZmlsZSBBQ0xPQ0FMPS4vYWNsb2NhbC13 cmFwIEFVVE9NQUtFPS4vYXV0b21ha2Utd3JhcCBBVVRPQ09ORj0uL2F1dG9jb25mLXdyYXAK KyBzZXQgK3gKQ0RQQVRIPSIke1pTSF9WRVJTSU9OKy59OiIgJiYgY2QgLiAmJiAuL2FjbG9j YWwtd3JhcCAKKyBBVVRPQ09ORj1hdXRvY29uZgorIGV4cG9ydCBBVVRPQ09ORgorIGFjbG9j YWwtMS4xNiAtV2Vycm9yCisgdG91Y2ggLXIgY29uZmlnLnN0YXR1cyBhY2xvY2FsLm00Cisg c3RhdCBhY2xvY2FsLm00CiAgRmljaGllcsKgOiBhY2xvY2FsLm00CiAgIFRhaWxsZcKgOiAy NzMxNiAgICAgCUJsb2NzwqA6IDU2ICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZp Y2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzAyMDY4MCAg ICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA2NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEw MDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIw LTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAw NDowNzozNi43NDE1MjgyNzkgKzAxMDAKQ2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzYu OTExNTI3MTQzICswMTAwCiAgQ3LDqcOpwqA6IC0KIGNkIC4gJiYgLi9hdXRvbWFrZS13cmFw IC0tZm9yZWlnbgorIEFVVE9DT05GPWF1dG9jb25mCisgZXhwb3J0IEFVVE9DT05GCisgYXV0 b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtLWZvcmVpZ24KKyB0b3VjaCAt ciBjb25maWcuc3RhdHVzIE1ha2VmaWxlLmluCisgc3RhdCBNYWtlZmlsZS5pbgogIEZpY2hp ZXLCoDogTWFrZWZpbGUuaW4KICAgVGFpbGxlwqA6IDE3MDMxICAgICAJQmxvY3PCoDogNDAg ICAgICAgICBCbG9jcyBkJ0UvU8KgOiA0MDk2ICAgZmljaGllcgpQw6lyaXBow6lyaXF1ZcKg OiA4MzFoLzIwOTdkCUluxZN1ZMKgOiAzMDIwNzI1ICAgICBMaWVuc8KgOiAxCkFjY8Ooc8Kg OiAoMDY0NC8tcnctci0tci0tKSAgVUlEwqA6ICggMTAwMC8gICAgICBodikgICBHSUTCoDog KCAxMDAwLyAgICAgIGh2KQogQWNjw6hzwqA6IDIwMjAtMDMtMjMgMDQ6MDc6MzYuNzQxNTI4 Mjc5ICswMTAwCk1vZGlmLsKgOiAyMDIwLTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEw MApDaGFuZ3TCoDogMjAyMC0wMy0yMyAwNDowNzozNy4xODE1MjUzNDEgKzAxMDAKICBDcsOp w6nCoDogLQpDRFBBVEg9IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBjZCAuICYmIC4vYXV0b2Nv bmYtd3JhcAorIGF1dG9jb25mCisgdG91Y2ggLXIgY29uZmlnLnN0YXR1cyBjb25maWd1cmUK KyBzdGF0IGNvbmZpZ3VyZQogIEZpY2hpZXLCoDogY29uZmlndXJlCiAgIFRhaWxsZcKgOiAx MDQ4MTkgICAgCUJsb2NzwqA6IDIwOCAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZp Y2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzAyNTcyNSAg ICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA3NTUvLXJ3eHIteHIteCkgIFVJRMKgOiAoIDEw MDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIw LTAzLTIzIDA0OjA3OjM2Ljc0MTUyODI3OSArMDEwMApNb2RpZi7CoDogMjAyMC0wMy0yMyAw NDowNzozNi43NDE1MjgyNzkgKzAxMDAKQ2hhbmd0wqA6IDIwMjAtMDMtMjMgMDQ6MDc6Mzcu MzAxNTI0NTM5ICswMTAwCiAgQ3LDqcOpwqA6IC0KbWFrZTogwqvCoE1ha2VmaWxlwqDCuyBl c3Qgw6Agam91ci4KKyB0ZXN0IDAgLWVxIDI1MworIHRlc3Qgbm8gPSB5ZXMKKyB0ZXN0IG5v ID0geWVzCisgdGVzdCBubyA9IHllcworIHRlc3QgMCAtZ2UgMAorIHRlc3QgMCAtbGUgMjU1 CisgdGVzdCAwIC1lcSAwCisgZ3JlcCBeRk9PQkFSID0gTWFrZWZpbGUuaW4KRk9PQkFSID0g QEZPT0JBUkAKKyBncmVwIF5GT09CQVIgKj0gKnphcmRveiAqJCBNYWtlZmlsZQorIGFtX2V4 aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVx IDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MAorIHNldCAreApYRkFJTCB0L3JlbWFrZS10aW1pbmctYnVnLXByODM2NS5zaCAoZXhpdCBz dGF0dXM6IDEpCgpTS0lQOiB0L3NpbGVudC1mNzcKPT09PT09PT09PT09PT09PT09CgpTS0lQ IHQvc2lsZW50LWY3Ny5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9zaWxlbnQtZjkw Cj09PT09PT09PT09PT09PT09PQoKU0tJUCB0L3NpbGVudC1mOTAuc2ggKGV4aXQgc3RhdHVz OiA3NykKClNLSVA6IHQvc2lsZW50LW1hbnktbGFuZ3VhZ2VzCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CgpTS0lQIHQvc2lsZW50LW1hbnktbGFuZ3VhZ2VzLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L3N1YmRpci1jb25kLWdldHRleHQKPT09PT09PT09PT09PT09 PT09PT09PT09PT09CgpzdWJkaXItY29uZC1nZXR0ZXh0OiBydW5uaW5nIGdldHRleHQgLS12 ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAuMjAKQ29weXJpZ2h0IChD KSAxOTk1LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BM djMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vu c2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBj aGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRo ZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2ggRHJlcHBlci4K U0tJUCB0L3N1YmRpci1jb25kLWdldHRleHQuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6 IHQvc3Vib2JqLXByMTM5MjgtbW9yZS1sYW5ncwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KClNLSVAgdC9zdWJvYmotcHIxMzkyOC1tb3JlLWxhbmdzLnNoIChleGl0IHN0 YXR1czogNzcpCgpQQVNTOiB0L3RhcC1iYWQtcHJvZwo9PT09PT09PT09PT09PT09PT09PQoK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogdGFwClBBVEgg PSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9j YWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dy YW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMt dXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRpcgorIGZldGNoX3RhcF9kcml2 ZXIKKyBBTV9UQVBfQVdLPWdhd2sKKyBleHBvcnQgQU1fVEFQX0FXSworIGdldF9zaGVsbF9z Y3JpcHQgdGFwLWRyaXZlci5zaCB0YXAtZHJpdmVyCisgYW1fc291cmNlPXRhcC1kcml2ZXIu c2ggYW1fdGFyZ2V0PXRhcC1kcml2ZXIKKyB0ZXN0ICEgLWYgdGFwLWRyaXZlcgorIHRlc3Qg eCA9IHh5ZXMKKyBjcCAtZiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2xpYi90YXAtZHJpdmVyLnNoIHRhcC1kcml2ZXIKKyBzZWQgMTBxIHRhcC1kcml2ZXIKIyEg L2Jpbi9zaAojIENvcHlyaWdodCAoQykgMjAxMS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3Vy IG9wdGlvbikKIyBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgdW5zZXQgYW1fdGFyZ2V0IGFtX3NvdXJjZQorIHBsYW5fIDYKKyB0ZXN0IDEgLWVxIDAK KyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHhub25lICE9IHhub25lCisgdGVzdCB4NiA9IHh1bmtu b3duCisgdGVzdCB4NiA9IHhsYXRlcgorIHRlc3QgeDYgPSB4bGF6eQorIHRlc3QgeDYgPSB4 bm93CisgdGVzdCA2IC1nZSAwCisgcGxhbm5lZF89NgorIGVjaG8gMS4uNgoxLi42CisgY2F0 CisgY2F0CisgY2F0CisgY3Agbm9leGVjLnRlc3Qgbm9yZWFkLnRlc3QKKyBjaG1vZCBhLXIg bm9yZWFkLnRlc3QKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21h a2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBjb21tYW5kX29rXyAibWFrZSBj aGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cyBydW5fbWFrZSAtTyAtZSBGQUlM IGNoZWNrCisgdGFwX2RpcmVjdGl2ZV89IHRhcF9yZWFzb25fPQorIHRlc3QgNiAtZ3QgMAor IHRhcF9kZXNjcmlwdGlvbl89Im1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBz dGF0dXMKKyBzaGlmdAorIHRlc3QgNSAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sK KyBydW5fbWFrZSAtTyAtZSBGQUlMIGNoZWNrCisgYW1fX21ha2VfcmVkaXJlY3Rfc3Rkb3V0 PW5vCisgYW1fX21ha2VfcmVkaXJlY3Rfc3RkZXJyPW5vCisgYW1fX21ha2VfcmVkaXJlY3Rf c3RkYWxsPW5vCisgYW1fX21ha2VfZmxhZ3M9CisgYW1fX21ha2VfcmNfZXhwPTAKKyBhbV9t YWtlX3JjPTAKKyB0ZXN0IDQgLWd0IDAKKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRvdXQ9eWVz Cisgc2hpZnQKKyB0ZXN0IDMgLWd0IDAKKyBhbV9fbWFrZV9yY19leHA9RkFJTAorIHNoaWZ0 Cisgc2hpZnQKKyB0ZXN0IDEgLWd0IDAKKyBicmVhaworIHVzaW5nX2dtYWtlCisgbWFrZSAt LXZlcnNpb24gLXYKKyBncmVwIEdOVQpHTlUgTWFrZSA0LjIuMQpMaWNlbmNlIEdQTHYzK8Kg OiBHTlUgR1BMIHZlcnNpb24gMyBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGlj ZW5zZXMvZ3BsLmh0bWw+CisgYW1fX3VzaW5nX2dtYWtlPXllcworIHJldHVybiAwCisgOgor IHRlc3QgeCAhPSB4CisgOiBleGVjIG1ha2UgY2hlY2sKKyBzZXQgK3gKbWFrZVsyXTogKioq IFtNYWtlZmlsZTo0NzU6IHRlc3Qtc3VpdGUubG9nXSBFcnJvciAxCm1ha2VbMV06ICoqKiBb TWFrZWZpbGU6NTgzOiBjaGVjay1URVNUU10gRXJyb3IgMgptYWtlOiAqKiogW01ha2VmaWxl Ojc4MTogY2hlY2stYW1dIEVycm9yIDIKKyBhbV9tYWtlX3JjPTIKKyB0ZXN0IDIgLWVxIDI1 MworIHRlc3Qgbm8gPSB5ZXMKKyB0ZXN0IHllcyA9IHllcworIGNhdCBzdGRvdXQKbWFrZSAg Y2hlY2stVEVTVFMKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9n LmRpcsKgwrsKbWFrZVsyXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRp csKgwrsKRVJST1I6IG5vbmUudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub25l LnRlc3QgLSBleGl0ZWQgd2l0aCBzdGF0dXMgMTI3IChjb21tYW5kIG5vdCBmb3VuZD8pCkVS Uk9SOiBub3JlYWQudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub3JlYWQudGVz dCAtIGV4aXRlZCB3aXRoIHN0YXR1cyAxMjYKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2lu ZyB0ZXN0IHBsYW4KRVJST1I6IG5vZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEy Ngo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClRlc3RzdWl0ZSBzdW1tYXJ5IGZvciB0YXAtYmFk LXByb2cgMS4wCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBUT1RBTDogNgojIFBBU1M6ICAw CiMgU0tJUDogIDAKIyBYRkFJTDogMAojIEZBSUw6ICAwCiMgWFBBU1M6IDAKIyBFUlJPUjog Ngo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ClNlZSAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KbWFrZVsyXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC90YXAtYmFkLXByb2cu ZGlywqDCuwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3RhcC1iYWQtcHJvZy5kaXLCoMK7 CisgdGVzdCBubyA9IHllcworIHRlc3QgMiAtZ3QgMAorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cworIHNldCAreApv ayAxIC0gIm1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBzdGF0dXMKUEFTUzog dC90YXAtYmFkLXByb2cudGFwIDEgLSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBl eGl0IHN0YXR1cworIGNvbW1hbmRfb2tfIG5vbi1leGlzdGVudCB0ZXN0IGlzIHJlcG9ydGVk IGdyZXAgXkVSUk9SOiBub25lXC50ZXN0IHN0ZG91dAorIHRhcF9kaXJlY3RpdmVfPSB0YXBf cmVhc29uXz0KKyB0ZXN0IDQgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPW5vbi1leGlzdGVu dCB0ZXN0IGlzIHJlcG9ydGVkCisgc2hpZnQKKyB0ZXN0IDMgLWd0IDAKKyBicmVhaworIHRh cF9yZXN1bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vbmVcLnRlc3Qgc3Rkb3V0CkVSUk9SOiBu b25lLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9uZS50ZXN0IC0gZXhpdGVk IHdpdGggc3RhdHVzIDEyNyAoY29tbWFuZCBub3QgZm91bmQ/KQorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIHNldCAreApvayAyIC0g bm9uLWV4aXN0ZW50IHRlc3QgaXMgcmVwb3J0ZWQKUEFTUzogdC90YXAtYmFkLXByb2cudGFw IDIgLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9bm9uLWV4ZWN1dGFi bGUgdGVzdCBpcyByZXBvcnRlZAorIC4vbm9leGVjLnRlc3QKLi90L3RhcC1iYWQtcHJvZy50 YXA6IDYyOiAuL3QvdGFwLWJhZC1wcm9nLnRhcDogLi9ub2V4ZWMudGVzdDogUGVybWlzc2lv biBkZW5pZWQKKyBjb21tYW5kX29rXyBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVk IC0tIGdyZXAgXkVSUk9SOiBub2V4ZWNcLnRlc3Qgc3Rkb3V0CisgdGFwX2RpcmVjdGl2ZV89 IHRhcF9yZWFzb25fPQorIHRlc3QgNSAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89bm9uLWV4 ZWN1dGFibGUgdGVzdCBpcyByZXBvcnRlZAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgc2hp ZnQKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vZXhlY1wudGVz dCBzdGRvdXQKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6 IG5vZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkCisgc2V0ICt4Cm9rIDMg LSBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkClBBU1M6IHQvdGFwLWJhZC1wcm9n LnRhcCAzIC0gbm9uLWV4ZWN1dGFibGUgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9bm9uLXJl YWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQKKyB0ZXN0IC1yIG5vcmVhZC50ZXN0CisgY29tbWFu ZF9va18gbm9uLXJlYWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQgLS0gZ3JlcCBeRVJST1I6IG5v cmVhZFwudGVzdCBzdGRvdXQKKyB0YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVz dCA1IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9uXz1ub24tcmVhZGFibGUgdGVzdCBpcyByZXBv cnRlZAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgc2hpZnQKKyBicmVhaworIHRhcF9yZXN1 bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vcmVhZFwudGVzdCBzdGRvdXQKRVJST1I6IG5vcmVh ZC50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVk IHdpdGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBub24tcmVhZGFibGUg dGVzdCBpcyByZXBvcnRlZAorIHNldCAreApvayA0IC0gbm9uLXJlYWRhYmxlIHRlc3QgaXMg cmVwb3J0ZWQKUEFTUzogdC90YXAtYmFkLXByb2cudGFwIDQgLSBub24tcmVhZGFibGUgdGVz dCBpcyByZXBvcnRlZAorIGNvbW1hbmRfb2tfIG5vIHNwdXJpb3VzICJtaXNzaW5nIHBsYW4i IG1lc3NhZ2UgLUQgVE9ETyAtLSBub3QgZ3JlcCBtaXNzaW5nLiogcGxhbiBzdGRvdXQKKyB0 YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCA4IC1ndCAwCisgdGFwX2Rlc2Ny aXB0aW9uXz1ubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdlCisgc2hpZnQKKyB0 ZXN0IDcgLWd0IDAKKyB0YXBfZGlyZWN0aXZlXz1UT0RPCisgc2hpZnQKKyBzaGlmdAorIHRl c3QgNSAtZ3QgMAorIHNoaWZ0CisgYnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIG5vdCBncmVw IG1pc3NpbmcuKiBwbGFuIHN0ZG91dAorIGdyZXAgbWlzc2luZy4qIHBsYW4gc3Rkb3V0CkVS Uk9SOiBub25lLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9yZWFkLnRlc3Qg LSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3QgLSBtaXNzaW5nIHRlc3Qg cGxhbgorIHRhcF9yZXN1bHRfPW5vdCBvaworIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIg IC0tIG5vIHNwdXJpb3VzICJtaXNzaW5nIHBsYW4iIG1lc3NhZ2UKKyBzZXQgK3gKbm90IG9r IDUgLSBubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdlICMgVE9ETwpYRkFJTDog dC90YXAtYmFkLXByb2cudGFwIDUgLSBubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNz YWdlICMgVE9ETworIGNvbW1hbmRfb2tfIG5vIHNwdXJpb3VzIHJlc3VsdHMgLUQgVE9ETyAt ciBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIgY291bnRfdGVzdF9yZXN1bHRzIHRvdGFsPTMg cGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMKKyB0YXBfZGly ZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCAxMyAtZ3QgMAorIHRhcF9kZXNjcmlwdGlv bl89bm8gc3B1cmlvdXMgcmVzdWx0cworIHNoaWZ0CisgdGVzdCAxMiAtZ3QgMAorIHRhcF9k aXJlY3RpdmVfPVRPRE8KKyBzaGlmdAorIHNoaWZ0CisgdGVzdCAxMCAtZ3QgMAorIHRhcF9y ZWFzb25fPXN0aWxsIGdldCAibWlzc2luZyBwbGFuIgorIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0 IDggLWd0IDAKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgY291bnRfdGVzdF9yZXN1bHRz IHRvdGFsPTMgcGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMK KyB0b3RhbD1FUlIgcGFzcz1FUlIgZmFpbD1FUlIgeHBhc3M9RVJSIHhmYWlsPUVSUiBza2lw PUVSUiBlcnJvcj1FUlIKKyBldmFsIHRvdGFsPTMgcGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhm YWlsPTAgc2tpcD0wIGVycm9yPTMKKyB0b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4 ZmFpbD0wIHNraXA9MCBlcnJvcj0zCisgL2Jpbi9ncmVwIC1FIC1pICh0b3RhbHx4P3Bhc3N8 eD9mYWlsfHNraXB8ZXJyb3IpIHN0ZG91dApFUlJPUjogbm9uZS50ZXN0IC0gbWlzc2luZyB0 ZXN0IHBsYW4KRVJST1I6IG5vbmUudGVzdCAtIGV4aXRlZCB3aXRoIHN0YXR1cyAxMjcgKGNv bW1hbmQgbm90IGZvdW5kPykKRVJST1I6IG5vcmVhZC50ZXN0IC0gbWlzc2luZyB0ZXN0IHBs YW4KRVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgpFUlJPUjog bm9leGVjLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3QgLSBl eGl0ZWQgd2l0aCBzdGF0dXMgMTI2CiMgVE9UQUw6IDYKIyBQQVNTOiAgMAojIFNLSVA6ICAw CiMgWEZBSUw6IDAKIyBGQUlMOiAgMAojIFhQQVNTOiAwCiMgRVJST1I6IDYKKyByYz0wCisg c2V0ICtlCisgZ3JlcCAtYyBeUEFTUzogc3Rkb3V0CisgdGVzdCAwIC1lcSAwCisgZ3JlcCAt YyBeWEZBSUw6IHN0ZG91dAorIHRlc3QgMCAtZXEgMAorIGdyZXAgLWMgXlNLSVA6IHN0ZG91 dAorIHRlc3QgMCAtZXEgMAorIGdyZXAgLWMgXkZBSUw6IHN0ZG91dAorIHRlc3QgMCAtZXEg MAorIGdyZXAgLWMgXlhQQVNTOiBzdGRvdXQKKyB0ZXN0IDAgLWVxIDAKKyBncmVwIC1jIF5F UlJPUjogc3Rkb3V0CisgdGVzdCA2IC1lcSAzCisgcmM9MQorIGdyZXAgXiMgVE9UQUw6ICAq MyQgc3Rkb3V0CisgcmM9MQorIGdyZXAgXiMgUEFTUzogICowJCBzdGRvdXQKIyBQQVNTOiAg MAorIGdyZXAgXiMgWEZBSUw6ICAqMCQgc3Rkb3V0CiMgWEZBSUw6IDAKKyBncmVwIF4jIFNL SVA6ICAqMCQgc3Rkb3V0CiMgU0tJUDogIDAKKyBncmVwIF4jIEZBSUw6ICAqMCQgc3Rkb3V0 CiMgRkFJTDogIDAKKyBncmVwIF4jIFhQQVNTOiAgKjAkIHN0ZG91dAojIFhQQVNTOiAwCisg Z3JlcCBeIyBFUlJPUjogICozJCBzdGRvdXQKKyByYz0xCisgdGVzdCAxIC1lcSAwCisgdGFw X3Jlc3VsdF89bm90IG9rCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBzdGlsbCBnZXQg Im1pc3NpbmcgcGxhbiIgLS0gbm8gc3B1cmlvdXMgcmVzdWx0cworIHNldCAreApub3Qgb2sg NiAtIG5vIHNwdXJpb3VzIHJlc3VsdHMgIyBUT0RPIHN0aWxsIGdldCAibWlzc2luZyBwbGFu IgpYRkFJTDogdC90YXAtYmFkLXByb2cudGFwIDYgLSBubyBzcHVyaW91cyByZXN1bHRzICMg VE9ETyBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIKKyA6CisgYW1fZXhpdF90cmFwIDAKKyBl eGl0X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCA2ID0gbGF0ZXIKKyB0ZXN0IDAg LWVxIDAKKyB0ZXN0IDQgLWVxIDYKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKU0tJUDogdC90YWdzdWIKPT09PT09PT09 PT09PT0KCnRhZ3N1YjogcnVubmluZyBldGFncyAtLXZlcnNpb24gLW8gL2Rldi9udWxsCi4v dC90YWdzdWIuc2g6IDc5OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2F4L3Rlc3QtaW5pdC5zaDogZXRhZ3M6IG5vdCBmb3VuZApTS0lQIHQvdGFnc3ViLnNo IChleGl0IHN0YXR1czogNzcpCgpGQUlMOiB0L3RhZ3MtbGlzcC1zcGFjZQo9PT09PT09PT09 PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90 b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21l L2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3Vi ZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25l LWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3RhZ3MtbGlzcC1zcGFjZS5k aXIKKyBjYXQKKyBjYXQKKyB0b3VjaCBjb25maWcuaC5pbgorIHRvdWNoIHRoZS1hbXRlc3Qt bW9kZS5lbAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0x LjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9y IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNr aW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBm b3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4u IHllcwpjaGVja2luZyBmb3IgZW1hY3MuLi4gbm8KY2hlY2tpbmcgZm9yIHhlbWFjcy4uLiBu bwpjaGVja2luZyB3aGVyZSAuZWxjIGZpbGVzIHNob3VsZCBnby4uLiAke2RhdGFkaXJ9L2Vt YWNzL3NpdGUtbGlzcApjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBjb25maWcuaAorIHJ1bl9tYWtlIC1PIC1FIHRhZ3MKKyBhbV9fbWFrZV9yZWRp cmVjdF9zdGRvdXQ9bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRlcnI9bm8KKyBhbV9fbWFr ZV9yZWRpcmVjdF9zdGRhbGw9bm8KKyBhbV9fbWFrZV9mbGFncz0KKyBhbV9fbWFrZV9yY19l eHA9MAorIGFtX21ha2VfcmM9MAorIHRlc3QgMyAtZ3QgMAorIGFtX19tYWtlX3JlZGlyZWN0 X3N0ZG91dD15ZXMKKyBzaGlmdAorIHRlc3QgMiAtZ3QgMAorIGFtX19tYWtlX3JlZGlyZWN0 X3N0ZGVycj15ZXMKKyBzaGlmdAorIHRlc3QgMSAtZ3QgMAorIGJyZWFrCisgdXNpbmdfZ21h a2UKKyBtYWtlIC0tdmVyc2lvbiAtdgorIGdyZXAgR05VCkdOVSBNYWtlIDQuMi4xCkxpY2Vu Y2UgR1BMdjMrwqA6IEdOVSBHUEwgdmVyc2lvbiAzIG91IHVsdMOpcmlldXJlIDxodHRwOi8v Z251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KKyBhbV9fdXNpbmdfZ21ha2U9eWVzCisgcmV0 dXJuIDAKKyA6CisgdGVzdCB4ICE9IHgKKyA6IGV4ZWMgbWFrZSB0YWdzCisgc2V0ICt4Cisg YW1fbWFrZV9yYz0yCisgdGVzdCAyIC1lcSAyNTMKKyB0ZXN0IG5vID0geWVzCisgdGVzdCB5 ZXMgPSB5ZXMKKyBjYXQgc3Rkb3V0CihDRFBBVEg9IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBj ZCAuICYmIC9iaW4vYmFzaCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvdGFncy1saXNwLXNwYWNlLmRpci9taXNzaW5nIGF1dG9oZWFkZXIpCnJtIC1mIHN0YW1w LWgxCnRvdWNoIGNvbmZpZy5oLmluCnNldCB4OyBcCmhlcmU9YHB3ZGA7IFwKbGlzdD0nICAg dGhlLWFtdGVzdC1tb2RlLmVsIGNvbmZpZy5oLmluJzsgdW5pcXVlPWBmb3IgaSBpbiAkbGlz dDsgZG8gaWYgdGVzdCAtZiAiJGkiOyB0aGVuIGVjaG8gJGk7IGVsc2UgZWNobyAuLyRpOyBm aTsgZG9uZSB8IGdhd2sgJyBCRUdJTiB7IG5vbmVtcHR5ID0gMDsgfSB7IGl0ZW1zWyQwXSA9 IDE7IG5vbmVtcHR5ID0gMTsgfSBFTkQgeyBpZiAobm9uZW1wdHkpIHsgZm9yIChpIGluIGl0 ZW1zKSBwcmludCBpOyB9OyB9ICdgOyBcCnNoaWZ0OyBcCmlmIHRlc3QgLXogIiQqJHVuaXF1 ZSI7IHRoZW4gOjsgZWxzZSBcCiAgdGVzdCAtbiAiJHVuaXF1ZSIgfHwgdW5pcXVlPSRlbXB0 eV9maXg7IFwKICBpZiB0ZXN0ICQjIC1ndCAwOyB0aGVuIFwKICAgIGV0YWdzICAgIFwKICAg ICAgIiRAIiAkdW5pcXVlOyBcCiAgZWxzZSBcCiAgICBldGFncyAgICBcCiAgICAgICR1bmlx dWU7IFwKICBmaTsgXApmaQorIHRlc3QgeWVzID0geWVzCisgY2F0IHN0ZGVycgovYmluL2Jh c2g6IGxpZ25lIDExOiBldGFncyA6IGNvbW1hbmRlIGludHJvdXZhYmxlCm1ha2U6ICoqKiBb TWFrZWZpbGU6Mzg0OiB0YWdzLWFtXSBFcnJvciAxMjcKKyB0ZXN0IDAgLWdlIDAKKyB0ZXN0 IDAgLWxlIDI1NQorIHRlc3QgMiAtZXEgMAorIHJldHVybiAxCisgYW1fZXhpdF90cmFwIDEK KyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBf dGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4 CkZBSUwgdC90YWdzLWxpc3Atc3BhY2Uuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC90 YWdzLXByMTIzNzIKPT09PT09PT09PT09PT09PT09PT0KCnRhZ3MtcHIxMjM3MjogcnVubmlu ZyBldGFncyAtLXZlcnNpb24gLW8gL2Rldi9udWxsCi4vdC90YWdzLXByMTIzNzIuc2g6IDc5 OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5p dC5zaDogZXRhZ3M6IG5vdCBmb3VuZApTS0lQIHQvdGFncy1wcjEyMzcyLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L3VwYwo9PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3Rh bGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2Jpbjov YmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9t ZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9T RUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L3VwYy5kaXIKKyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgor IGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBhdXRvY29uZgorIC4v Y29uZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vz ci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9i aW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj Yy4uLiBnY2MzCmNoZWNraW5nIGZvciB1cGNjLi4uIG5vCmNoZWNraW5nIGZvciB1cGMuLi4g bm8KY29uZmlndXJlOiBlcnJvcjogbm8gVW5pZmllZCBQYXJhbGxlbCBDIGNvbXBpbGVyIHdh cyBmb3VuZAorIF9hbV9leGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rl c3Rfc2tpcHBlZD15ZXMKKyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3Nwor IGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVw X3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAr eApTS0lQIHQvdXBjLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3VwYzMKPT09PT09 PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBu b25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jpbjov aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmlu Oi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMy Q3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04 LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdXBjMy5kaXIKKyBjYXQKKyBjYXQKKyBj YXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYg LS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBhdXRvY29uZgorIC4vY29uZmlndXJlCmNoZWNr aW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAt YwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo ZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlh Ymxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2Yg ZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGlu Zy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhl ciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05V IHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNr aW5nIGZvciB1cGNjLi4uIG5vCmNoZWNraW5nIGZvciB1cGMuLi4gbm8KY29uZmlndXJlOiBl cnJvcjogbm8gVW5pZmllZCBQYXJhbGxlbCBDIGNvbXBpbGVyIHdhcyBmb3VuZAorIF9hbV9l eGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMK KyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3 Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgor IHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvdXBjMy5z aCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLWhlYWRlcnMKPT09PT09PT09PT09 PT09PT09PT0KCnZhbGEtaGVhZGVyczogcnVubmluZyBwa2ctY29uZmlnIC0tdmVyc2lvbgow LjI5CnZhbGEtaGVhZGVyczogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtaGVh ZGVycy5zaDogOTc1OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv YXgvdGVzdC1pbml0LnNoOiB2YWxhYzogbm90IGZvdW5kClNLSVAgdC92YWxhLWhlYWRlcnMu c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvdmFsYS1saWJzCj09PT09PT09PT09PT09 PT09Cgp2YWxhLWxpYnM6IHJ1bm5pbmcgdmFsYWMgLS12ZXJzaW9uCi4vdC92YWxhLWxpYnMu c2g6IDk3NTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogdmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1saWJzLnNoIChleGl0 IHN0YXR1czogNzcpCgpTS0lQOiB0L3ZhbGEtbWl4Cj09PT09PT09PT09PT09PT0KCnZhbGEt bWl4OiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL3QvdmFsYS1taXguc2g6IDk3NTogL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDog dmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1taXguc2ggKGV4aXQgc3RhdHVzOiA3NykK ClNLSVA6IHQvdmFsYS1taXgyCj09PT09PT09PT09PT09PT09Cgp2YWxhLW1peDI6IHJ1bm5p bmcgdmFsYWMgLS12ZXJzaW9uCi4vdC92YWxhLW1peDIuc2g6IDk3NTogL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFsYWM6IG5v dCBmb3VuZApTS0lQIHQvdmFsYS1taXgyLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0 L3ZhbGEtbm9uLXJlY3Vyc2l2ZS1zZXR1cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQoKdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwOiBydW5uaW5nIHBrZy1jb25maWcgLS12 ZXJzaW9uCjAuMjkKdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwOiBydW5uaW5nIHZhbGFjIC0t dmVyc2lvbgouL3QvdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwLnNoOiA5NzU6IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IHZhbGFj OiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtbm9uLXJlY3Vyc2l2ZS1zZXR1cC5zaCAoZXhpdCBz dGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLXBhcmFsbGVsCj09PT09PT09PT09PT09PT09PT09 PQoKdmFsYS1wYXJhbGxlbDogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcGFy YWxsZWwuc2g6IDk3NTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F4L3Rlc3QtaW5pdC5zaDogdmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1wYXJhbGxl bC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLXBlci10YXJnZXQtZmxhZ3MK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnZhbGEtcGVyLXRhcmdldC1mbGFnczog cnVubmluZyBwa2ctY29uZmlnIC0tdmVyc2lvbgowLjI5CnZhbGEtcGVyLXRhcmdldC1mbGFn czogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcGVyLXRhcmdldC1mbGFncy5z aDogOTc1OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiB2YWxhYzogbm90IGZvdW5kClNLSVAgdC92YWxhLXBlci10YXJnZXQtZmxh Z3Muc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvdmFsYS1yZWN1cnNpdmUtc2V0dXAK PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKdmFsYS1yZWN1cnNpdmUtc2V0dXA6IHJ1 bm5pbmcgcGtnLWNvbmZpZyAtLXZlcnNpb24KMC4yOQp2YWxhLXJlY3Vyc2l2ZS1zZXR1cDog cnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcmVjdXJzaXZlLXNldHVwLnNoOiA5 NzU6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWlu aXQuc2g6IHZhbGFjOiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtcmVjdXJzaXZlLXNldHVwLnNo IChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3ZhbGEtdmFwaQo9PT09PT09PT09PT09PT09 PQoKdmFsYS12YXBpOiBydW5uaW5nIHBrZy1jb25maWcgLS12ZXJzaW9uCjAuMjkKdmFsYS12 YXBpOiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL3QvdmFsYS12YXBpLnNoOiA5NzU6IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6 IHZhbGFjOiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtdmFwaS5zaCAoZXhpdCBzdGF0dXM6IDc3 KQoKU0tJUDogdC92YWxhLXZwYXRoCj09PT09PT09PT09PT09PT09PQoKdmFsYS12cGF0aDog cnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtdnBhdGguc2g6IDk3NTogL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFs YWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS12cGF0aC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoK U0tJUDogdC9nZXR0ZXh0LW1hY3Jvcwo9PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZ2V0dGV4dC1tYWNyb3MuZGlyCisgZWNobyAjIEF1dG9tYXRpY2Fs bHkgZ2VuZXJhdGVkIGJ5IGdldHRleHQtbWFjcm9zLgorIGVjaG8gOgorIGVjaG8gQUNMT0NB TF9BTUZMQUdTID0gLUkgbTQKKyBleHRyYWN0X3Byb2dyYW1fdmVyc2lvbiBhdXRvcG9pbnQK KyBhdXRvcG9pbnQgLS12ZXJzaW9uCisgc2VkIDFxKyAKL3Vzci9iaW4vcGVybCAtbmUgLyhc ZCg/OlwuXGQrKSspLyBhbmQgcHJpbnQgIiQxXG4iCisgYXV0b3BvaW50X3ZlcnNpb249MC4y MAorIHRlc3QgLW4gMC4yMAorIGNhdAorIGF1dG9wb2ludCAtLWZvcmNlCmF1dG9wb2ludDog KioqIEFNX0dOVV9HRVRURVhUIHdpdGhvdXQgJ2V4dGVybmFsJyBhcmd1bWVudCBpcyBubyBs b25nZXIgc3VwcG9ydGVkIGluIHZlcnNpb24gMC4yMAphdXRvcG9pbnQ6ICoqKiBTdG9wLgor IHJtIC1yZiBtNAorIG1rZGlyIG00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLVduby1zeW50 YXggLUkgbTQgLS1pbnN0YWxsCmFjbG9jYWwtMS4xNjogd2FybmluZ3MgYXJlIHRyZWF0ZWQg YXMgZXJyb3JzCmNvbmZpZ3VyZS5hYzo0OiB3YXJuaW5nOiBtYWNybyAnQU1fR05VX0dFVFRF WFQnIG5vdCBmb3VuZCBpbiBsaWJyYXJ5CmNvbmZpZ3VyZS5hYzo1OiB3YXJuaW5nOiBtYWNy byAnQU1fR05VX0dFVFRFWFRfVkVSU0lPTicgbm90IGZvdW5kIGluIGxpYnJhcnkKKyBlY2hv IHNraXBfYWxsXyAiY291bGRuJ3QgZmluZCBvciBnZXQgZ2V0dGV4dCBtYWNyb3MiCisgY2F0 CisgLiAuL2dldC5zaAorIDoKKyBza2lwX2FsbF8gY291bGRuJ3QgZmluZCBvciBnZXQgZ2V0 dGV4dCBtYWNyb3MKKyBza2lwXyBjb3VsZG4ndCBmaW5kIG9yIGdldCBnZXR0ZXh0IG1hY3Jv cworIHdhcm5fIGdldHRleHQtbWFjcm9zOiBza2lwcGVkIHRlc3Q6IGNvdWxkbid0IGZpbmQg b3IgZ2V0IGdldHRleHQgbWFjcm9zCisgZWNobyBnZXR0ZXh0LW1hY3Jvczogc2tpcHBlZCB0 ZXN0OiBjb3VsZG4ndCBmaW5kIG9yIGdldCBnZXR0ZXh0IG1hY3JvcworIF9hbV9leGl0IDc3 Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBleGl0 IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0 ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qg bm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvZ2V0dGV4dC1tYWNy b3Muc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvY29tcGlsZTQtdwo9PT09PT09PT09 PT09PT09PT0KCi4vdC9jb21waWxlNC13LnNoOiB3aWxsIHNvdXJjZSAuL3QvY29tcGlsZTQu c2gKY29tcGlsZTQtdzogcnVubmluZyBjbCAtPwouL3QvY29tcGlsZTQtdy5zaDogNzc5OiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNo OiBjbDogbm90IGZvdW5kClNLSVAgdC9jb21waWxlNC13LnNoIChleGl0IHN0YXR1czogNzcp CgpTS0lQOiB0L2NvbXBpbGU1LXcKPT09PT09PT09PT09PT09PT09CgouL3QvY29tcGlsZTUt dy5zaDogd2lsbCBzb3VyY2UgLi90L2NvbXBpbGU1LnNoClJ1bm5pbmcgZnJvbSBpbnN0YWxs Y2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2Jp bjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUv aHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VH R0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9jb21waWxlNS13LmRpcgorIGdldF9zaGVsbF9zY3JpcHQgY29tcGlsZQorIGFtX3NvdXJj ZT1jb21waWxlIGFtX3RhcmdldD1jb21waWxlCisgdGVzdCAhIC1mIGNvbXBpbGUKKyBybSAt ZiBjb21waWxlCisgdGVzdCB4eWVzID0geHllcworIHNlZCAxc3wjIS4qfCMhIC9iaW4vc2h8 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2NvbXBpbGUKKyBj aG1vZCBhK3ggY29tcGlsZQorIHNlZCAxMHEgY29tcGlsZQojISAvYmluL3NoCiMgV3JhcHBl ciBmb3IgY29tcGlsZXJzIHdoaWNoIGRvIG5vdCB1bmRlcnN0YW5kICctYyAtbycuCgpzY3Jp cHR2ZXJzaW9uPTIwMTgtMDMtMDcuMDM7ICMgVVRDCgojIENvcHlyaWdodCAoQykgMTk5OS0y MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFdyaXR0ZW4gYnkgVG9tIFRy b21leSA8dHJvbWV5QGN5Z251cy5jb20+LgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorIHVuc2V0IGFtX3RhcmdldCBhbV9zb3VyY2UKKyBjYXQKKyBjaG1vZCAreCAu L2NsCisgY2F0CisgOgorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYK KyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5h Yzo0OiBpbnN0YWxsaW5nICcuL2NvbmZpZy5ndWVzcycKY29uZmlndXJlLmFjOjQ6IGluc3Rh bGxpbmcgJy4vY29uZmlnLnN1YicKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo ZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hlY2tp bmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251CmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIGNoZWNrX2hvc3QKKyAuIC4v Y2hlY2tfaG9zdAorIHNraXBfIHRhcmdldCBPUyBpcyBub3QgTWluR1cKKyB3YXJuXyBjb21w aWxlNS13OiBza2lwcGVkIHRlc3Q6IHRhcmdldCBPUyBpcyBub3QgTWluR1cKKyBlY2hvIGNv bXBpbGU1LXc6IHNraXBwZWQgdGVzdDogdGFyZ2V0IE9TIGlzIG5vdCBNaW5HVworIF9hbV9l eGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMK KyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3 Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgor IHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvY29tcGls ZTUtdy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9jb21waWxlNy13Cj09PT09PT09 PT09PT09PT09PQoKLi90L2NvbXBpbGU3LXcuc2g6IHdpbGwgc291cmNlIC4vdC9jb21waWxl Ny5zaApjb21waWxlNy13OiBydW5uaW5nIGljbCAtPwouL3QvY29tcGlsZTctdy5zaDogNzkw OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0 LnNoOiBpY2w6IG5vdCBmb3VuZApTS0lQIHQvY29tcGlsZTctdy5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9kZXBjb21wLWx0LW1ha2VkZXBlbmQKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KCmRlcGNvbXAtbHQtbWFrZWRlcGVuZDogcnVubmluZyBtYWtlZGVwZW5k IC1mLQouL3QvZGVwY29tcC1sdC1tYWtlZGVwZW5kLnRhcDogODc4OiAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBtYWtlZGVwZW5k OiBub3QgZm91bmQKMS4uMCAjIFNLSVAgcmVxdWlyZWQgcHJvZ3JhbSAnbWFrZWRlcGVuZCcg bm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbWFrZWRlcGVuZC50YXAgLSByZXF1 aXJlZCBwcm9ncmFtICdtYWtlZGVwZW5kJyBub3QgYXZhaWxhYmxlCgpTS0lQOiB0L2RlcGNv bXAtbHQtbXN2Y21zeXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09CgpkZXBjb21wLWx0 LW1zdmNtc3lzOiBydW5uaW5nIGNsIC0/Ci4vdC9kZXBjb21wLWx0LW1zdmNtc3lzLnRhcDog Nzc5OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBjbDogbm90IGZvdW5kCjEuLjAgIyBTS0lQIE1pY3Jvc29mdCBDIGNvbXBpbGVy ICdjbCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbXN2Y21zeXMudGFwIC0g TWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlCgpTS0lQOiB0L2RlcGNv bXAtbHQtbXN2aXN1YWxjcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpkZXBj b21wLWx0LW1zdmlzdWFsY3BwOiBydW5uaW5nIGNsIC0/Ci4vdC9kZXBjb21wLWx0LW1zdmlz dWFsY3BwLnRhcDogNzc5OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXgvdGVzdC1pbml0LnNoOiBjbDogbm90IGZvdW5kCjEuLjAgIyBTS0lQIE1pY3Jvc29m dCBDIGNvbXBpbGVyICdjbCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbXN2 aXN1YWxjcHAudGFwIC0gTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxl CgpTS0lQOiB0L2RlcGNvbXAtbWFrZWRlcGVuZAo9PT09PT09PT09PT09PT09PT09PT09PT09 PQoKZGVwY29tcC1tYWtlZGVwZW5kOiBydW5uaW5nIG1ha2VkZXBlbmQgLWYtCi4vdC9kZXBj b21wLW1ha2VkZXBlbmQudGFwOiA4Nzg6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IG1ha2VkZXBlbmQ6IG5vdCBmb3VuZAoxLi4w ICMgU0tJUCByZXF1aXJlZCBwcm9ncmFtICdtYWtlZGVwZW5kJyBub3QgYXZhaWxhYmxlClNL SVA6IHQvZGVwY29tcC1tYWtlZGVwZW5kLnRhcCAtIHJlcXVpcmVkIHByb2dyYW0gJ21ha2Vk ZXBlbmQnIG5vdCBhdmFpbGFibGUKClNLSVA6IHQvZGVwY29tcC1tc3ZjbXN5cwo9PT09PT09 PT09PT09PT09PT09PT09PT0KCmRlcGNvbXAtbXN2Y21zeXM6IHJ1bm5pbmcgY2wgLT8KLi90 L2RlcGNvbXAtbXN2Y21zeXMudGFwOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQKMS4uMCAjIFNL SVAgTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlClNLSVA6IHQvZGVw Y29tcC1tc3ZjbXN5cy50YXAgLSBNaWNyb3NvZnQgQyBjb21waWxlciAnY2wnIG5vdCBhdmFp bGFibGUKClNLSVA6IHQvZGVwY29tcC1tc3Zpc3VhbGNwcAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT0KCmRlcGNvbXAtbXN2aXN1YWxjcHA6IHJ1bm5pbmcgY2wgLT8KLi90L2RlcGNv bXAtbXN2aXN1YWxjcHAudGFwOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQKMS4uMCAjIFNLSVAg TWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlClNLSVA6IHQvZGVwY29t cC1tc3Zpc3VhbGNwcC50YXAgLSBNaWNyb3NvZnQgQyBjb21waWxlciAnY2wnIG5vdCBhdmFp bGFibGUKCg== --------------ED252BFAF98DFFB3BA89DBBE-- ------------=_1585099983-23260-1--