From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0973AC001DE for ; Sat, 5 Aug 2023 07:38:30 +0000 (UTC) Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by mx.groups.io with SMTP id smtpd.web10.2139.1691221106760872211 for ; Sat, 05 Aug 2023 00:38:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@moto-timo.dev header.s=gm1 header.b=ZjawyjsT; spf=pass (domain: moto-timo.dev, ip: 217.70.183.195, mailfrom: auh@moto-timo.dev) Received: by mail.gandi.net (Postfix) with ESMTPSA id 671BC60008 for ; Sat, 5 Aug 2023 07:38:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=moto-timo.dev; s=gm1; t=1691221104; h=from:from:reply-to:subject:subject:to:to:cc:mime-version:mime-version: content-type:content-type; bh=xReJb82nymLVIbiV85o+vcILGsFKoeLlzS1AbwqOLUo=; b=ZjawyjsTUx7rK8r21wPhBbatHxKwJsgBewMjvrmvflMOHWw1ObbGFIZVFbOytEvMAPHPwU UdWlwnHLdW7j593SouT+sbgnSIV/v7H6QEa2ykjz9u7g0ln4jULCPv2s6BQ+AWHGBEi5Ga FY6Z2U/JVdFlbt++YLJH4cu3t2XhAWDdupWPn0HJeNO/VbAiO4WltcGc3RhtUiq34GoTLX eUnrQY3PDgL+3v7ob5mPrHo51ZG3e6Qbq7o0BxCtjlRtj7sPWYryFxS0yn62PqrNEHnNyX pkcuX89eMYIVvgjjmXMbi1VyNdaxxFvSai/aASTxsZFSZNlLqg0Je9cMHWeXDA== Content-Type: multipart/mixed; boundary="===============7076379965885076310==" MIME-Version: 1.0 From: auh@moto-timo.dev To: openembedded-devel@lists.openembedded.org Subject: [AUH] python3-behave: upgrading to 6 FAILED X-GND-Sasl: auh@moto-timo.dev List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 05 Aug 2023 07:38:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/104236 Message-Id: <20230805073830.0973AC001DE@smtp.lore.kernel.org> Date: Sat, 5 Aug 2023 07:38:30 +0000 (UTC) --===============7076379965885076310== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 SGVsbG8sCgp0aGlzIGVtYWlsIGlzIGEgbm90aWZpY2F0aW9uIGZyb20gdGhlIEF1dG8gVXBncmFk ZSBIZWxwZXIKdGhhdCB0aGUgYXV0b21hdGljIGF0dGVtcHQgdG8gdXBncmFkZSB0aGUgcmVjaXBl ICpweXRob24zLWJlaGF2ZSogdG8gKjYqIGhhcyBGYWlsZWQoZG9fY29tcGlsZSkuCgpEZXRhaWxl ZCBlcnJvciBpbmZvcm1hdGlvbjoKCmRvX2NvbXBpbGUgZmFpbGVkCgoKCk5leHQgc3RlcHM6CiAg ICAtIGFwcGx5IHRoZSBwYXRjaDogZ2l0IGFtIDAwMDEtcHl0aG9uMy1iZWhhdmUtdXBncmFkZS0x LjIuNi1naXQ5NTIwMTE5Mzc2MDQ2YWVmZjczOC5wYXRjaAogICAgLSBjaGVjayB0aGUgY2hhbmdl cyB0byB1cHN0cmVhbSBwYXRjaGVzIGFuZCBzdW1tYXJpemUgdGhlbSBpbiB0aGUgY29tbWl0IG1l c3NhZ2UsCiAgICAtIGNvbXBpbGUgYW4gaW1hZ2UgdGhhdCBjb250YWlucyB0aGUgcGFja2FnZQog ICAgLSBwZXJmb3JtIHNvbWUgYmFzaWMgc2FuaXR5IHRlc3RzCiAgICAtIGFtZW5kIHRoZSBwYXRj aCBhbmQgc2lnbiBpdCBvZmY6IGdpdCBjb21taXQgLXMgLS1yZXNldC1hdXRob3IgLS1hbWVuZAog ICAgLSBzZW5kIGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBtYWlsaW5nIGxpc3QKCkFsdGVybmF0aXZl bHksIGlmIHlvdSBiZWxpZXZlIHRoZSByZWNpcGUgc2hvdWxkIG5vdCBiZSB1cGdyYWRlZCBhdCB0 aGlzIHRpbWUsCnlvdSBjYW4gZmlsbCBSRUNJUEVfTk9fVVBEQVRFX1JFQVNPTiBpbiByZXNwZWN0 aXZlIHJlY2lwZSBmaWxlIHNvIHRoYXQKYXV0b21hdGljIHVwZ3JhZGVzIHdvdWxkIG5vIGxvbmdl ciBiZSBhdHRlbXB0ZWQuCgpQbGVhc2UgcmV2aWV3IHRoZSBhdHRhY2hlZCBmaWxlcyBmb3IgZnVy dGhlciBpbmZvcm1hdGlvbiBhbmQgYnVpbGQvdXBkYXRlIGZhaWx1cmVzLgpBbnkgcHJvYmxlbSBw bGVhc2UgZmlsZSBhIGJ1ZyBhdCBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvZW50 ZXJfYnVnLmNnaT9wcm9kdWN0PUF1dG9tYXRlZCUyMFVwZGF0ZSUyMEhhbmRsZXIKClJlZ2FyZHMs ClRoZSBVcGdyYWRlIEhlbHBlcgoKLS0gPjggLS0KRnJvbSBiNDhkM2QxNGRiMWE0ZjBjNzRjNjUz MmU0ZDI3MmI2Y2IyZTYwZTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBVcGdyYWRl IEhlbHBlciA8YXVoQG1vdG8tdGltby5kZXY+CkRhdGU6IEZyaSwgNCBBdWcgMjAyMyAyMToyNDoy MSAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbjMtYmVoYXZlOiB1cGdyYWRlCiAxLjIuNitn aXQ5NTIwMTE5Mzc2MDQ2YWVmZjczODA0YjVmMWVhMDVkODdhNjNmMzcwIC0+IDYKCi0tLQogLi4u aW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNoIHwgICAyMiArCiAuLi4v MDAwMi1VUERBVEUtRklYRUQtNzI1LnBhdGNoICAgICAgICAgICAgICAgfCAgIDIxICsKIC4uLlNU LXRvLXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRjaCB8ICAgNjAgKwogLi4udGVy LWNvdW50cy1jb21wdXRhdGlvbi13aGVuLVJ1bGVzLWFyLnBhdGNoIHwgIDM0MiArCiAuLi5wcmlu dF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2ggfCAgIDYwICsKIC4uLnItQWRk LWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZvci1SdWxlcy5wYXRjaCB8ICAzOTUgKwogLi4uTVAtVkVS U0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYwLnBhdGNoIHwgICA2NyArCiAuLi4vMDAwOC1D b3JyZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcucGF0Y2ggfCAgIDQxICsKIC4uLnVyZS5ydW5f aXRlbXMtcHJvY2Vzc2luZy13aXRoLVJ1bGUtcy5wYXRjaCB8ICAgNTggKwogLi4uLXNwaGlueC1p bnRsLXN1cHBvcnQtZm9yLVJFQURUSEVET0NTLnBhdGNoIHwgICA1OCArCiAuLi5lbnQtcGFja2Fn ZS12ZXJzaW9ucy1pbi1yZXF1aXJlbWVudHMucGF0Y2ggfCAgIDgxICsKIC4uLi8wMDEyLWRvY3Mt Y29uZi5weS10d2Vha3MucGF0Y2ggICAgICAgICAgICB8ICAgMzAgKwogLi4ubGxlZC1hZnRlcl9y dWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNoIHwgICAzMCArCiAuLi5kLWhpbnRzLW9uLUdo ZXJraW4tdjYtZ3JhbW1hci1pc3N1ZXMucGF0Y2ggfCAgIDQ1ICsKIC4uLi8wMDE1LVJFQURNRS1S ZVNULXR3ZWFrcy5wYXRjaCAgICAgICAgICAgICB8ICAgMTggKwogLi4uMDE2LUV4YW1wbGUtdXNp bmctR2hlcmtpbi12Ni1ncmFtbWFyLnBhdGNoIHwgIDIyOCArCiAuLi4vMDAxNy1QUkVQQVJFLVB5 dGhvbi0zLjgtc3VwcG9ydC5wYXRjaCAgICAgfCAgIDM5ICsKIC4uLngtbG9nZ2luZy5Gb3JtYXR0 ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaCB8ICAgMjIgKwogLi4uYXJpbHktbW92ZS1weTM4LWRl di10by1mcm9udC1idWlsZC1mLnBhdGNoIHwgICAyOCArCiAuLi5Ud2Vha3MtZm9yLWZhc3Rlci1i dWlsZHMtdGVtcG9yYXJpbHkucGF0Y2ggfCAgIDM1ICsKIC4uLjgtbG9nZ2luZy5Gb3JtYXR0ZXIu dmFsaWRhdGUtcHJvYmxlbS5wYXRjaCB8ICAgNDcgKwogLi4ub24tMy44LWFzeW5jaW8uY29yb3V0 aW5lLWlzLWRlcHJlY2F0LnBhdGNoIHwgICA0MiArCiAuLi4vMDAyMy1VUERBVEUtQWRkLTc1NS1p bmZvLnBhdGNoICAgICAgICAgICAgfCAgIDI0ICsKIC4uLnRlZC10by1kb2NzdHJpbmctZXhhbXBs ZS1hbmQtd2VpcmQtYi5wYXRjaCB8ICAgMjUgKwogLi4ucGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1y ZWdleC1wYXR0ZXJuLnBhdGNoIHwgICAyOSArCiAuLi5OVVAtTW92ZS1kZXByZWNhdGVkLXRhZy1t YXRjaGVyLWNsYXMucGF0Y2ggfCAxMDIwICsrKwogLi4uL3B5dGhvbjMtYmVoYXZlLzAwMjctQ29t bWVudC10d2Vha3MucGF0Y2ggIHwgICAzMCArCiAuLi4tcmVsYXRlZC10by1pbnZhbGlkLWVzY2Fw ZXMtaW4tcmVnZXgucGF0Y2ggfCAgIDc5ICsKIC4uLm91bGQtbm90LWJyZWFrLWNvbmZpZ3VyZWQt cmVydW4tc2V0dC5wYXRjaCB8ICAgNzMgKwogLi4ubGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1l bmFibGUtdmlhLnBhdGNoIHwgICAzNiArCiAuLi5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4 YW1wbGVzLXQucGF0Y2ggfCAgIDI3ICsKIC4uLi8wMDMyLUFkZC1pbmZvLW9uLW1lcmdlZC1wdWxs LTU4OC5wYXRjaCAgICB8ICAgMjEgKwogLi4uMy1Ud2Vhay10ZXN0cy1yZXF1aXJlZC1ieS1weXRl c3QtNS4wLnBhdGNoIHwgICA5NyArCiAuLi5zdC1pbnN0ZWFkLW9mLW5vc2UtdG8tcmVtb3ZlLW5v c2UuaW0ucGF0Y2ggfCAgMTgwICsKIC4uLlktbm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVyLXdh cm5pbi5wYXRjaCB8IDE4MTUgKysrKwogLi4uMDAzNi1GSVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRl c3QtcnVuLnBhdGNoIHwgICAyMiArCiAuLi5vbi1BZGQtc3VwcG9ydC1mb3ItU2NlbmFyaW8tY29u dGFpbmUucGF0Y2ggfCAgNjUyICsrCiAuLi50aW9uLWZvci1TZWxlY3QtYnktbG9jYXRpb24tZm9y LVNjZW4ucGF0Y2ggfCAgIDU4ICsKIC4uLi8wMDM5LXRlc3RzLUZpeC13YXJuaW5ncy1mb3ItcHl0 aG9uMy5wYXRjaCB8ICAgNTAgKwogLi4uYWctZXhwcmVzc2lvbnMtMS4xLjItdG8tZml4LXdhcm5p bmdzLnBhdGNoIHwgICA1NSArCiAuLi5FTlQtU3VwcG9ydC1lbW9qaXMtaW4tZmVhdHVyZS1maWxl cy0ucGF0Y2ggfCAgIDkxICsKIC4uLnZhbGlkLWVzY2FwZS1jaGFyLWluLXJlZ2V4LXctcHl0aG9u My5wYXRjaCB8ICAyNTAgKwogLi4uMy1FeGFtcGxlLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tNzU2 LnBhdGNoIHwgIDMzNSArCiAuLi5YLXB5dGhvbjMuOC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIu cGF0Y2ggfCAgNDg5ICsKIC4uLi8wMDQ1LVVQREFURS1NYXJrLWlzc3VlLTc1NS1hcy1maXhlZC5w YXRjaCB8ICAgNDYgKwogLi4uREFURS1DdWN1bWJlci1naGVya2luLWxhbmd1YWdlcy5qc29uLnBh dGNoIHwgICA1NyArCiAuLi51bGUta2V5d29yZC10cmFuc2xhdGlvbi1pbi1wb3J0dWd1ZXMucGF0 Y2ggfCAgMjAyICsKIC4uLi1nZW5lcmF0ZS1mcm9tLWdoZXJraW4tbGFuZ3VhZ2VzLmpzby5wYXRj aCB8ICAxNDEgKwogLi4ubWluZy10by1maXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kLnBhdGNo IHwgIDMyMiArCiAuLi41MC1FWEFNUExFLUNsZWFudXAtR2hlcmtpbi12Ni1SRUFETUUucGF0Y2gg fCAgIDY0ICsKIC4uLmZvci1mZWF0dXJlLmJhY2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaCB8 IDE1MTAgKysrCiAuLi4tQWRkLXN1cHBvcnQtZm9yLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2gg fCAgMjY5ICsKIC4uLi8wMDUzLVVzZS1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoICAgICAgICB8 ICAxOTYgKwogLi4uMDA1NC1DTEVBTlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRzLnBhdGNoIHwg MzkzNyArKysrKysrKwogLi4uMDA1NS1DTEVBTlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRzLnBh dGNoIHwgIDczNiArKwogLi4ucmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBh dGNoIHwgIDE1NSArCiAuLi4tYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0 Y2ggfCAgIDcyICsKIC4uLi8wMDU4LVVUSUwtRm9ybWF0dGluZy10d2Vha3MucGF0Y2ggICAgICAg ICB8ICAgMjIgKwogLi4uZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNo IHwgICAyMyArCiAuLi4vMDA2MC1BZGRlZC1pc3N1ZS11bml0LXRlc3QucGF0Y2ggICAgICAgICAg fCAgIDYyICsKIC4uLmUtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaCB8 ICAgNjAgKwogLi4uc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXItVW5pY29kZUVycm9yLnBhdGNoIHwg ICA4MyArCiAuLi5lbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggfCAg IDc0ICsKIC4uLmVuYXJpb091dGxpbmUuRXhhbXBsZXMtd2l0aG91dC10YWJsZS5wYXRjaCB8ICAg MjEgKwogLi4uLzAwNjUtTmliYmxlLVRyYXZpc0NJLXRvLXdha2UtdXAucGF0Y2ggICAgIHwgICAy MSArCiAuLi4vMDA2Ni1Ud2Vhay1weXRlc3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2ggfCAgIDM3 ICsKIC4uLmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1KVW5pdC1YTUwtZGlhbC5wYXRjaCB8ICAgMzcg KwogLi4uZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoIHwgICA1NiAr CiAuLi5BVEUtZGVwZW5kZW5jaWVzLXBhdGgucHktcGF0aC1weXRlc3QucGF0Y2ggfCAgMTQxICsK IC4uLmVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaCB8ICAgMjUgKwog Li4uLUFkZC1Db250ZXh0TW9kZS1lbnVtLXJlbGF0ZWQtdG8tNzk3LnBhdGNoIHwgIDIxNiArCiAu Li4vMDA3Mi1DbGVhbnVwLWNvbW1lbnRzLnBhdGNoICAgICAgICAgICAgICAgfCAgIDIyICsKIC4u LnBoaW54LWJ1aWxkLXByb2JsZW0tYXN5bmNfc3RlcHMzeC5weS5wYXRjaCB8ICAgMjkgKwogLi4u LXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoIHwgIDE4NSArCiAuLi5z c2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2ggfCAgIDQwICsKIC4uLk1Q LVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcuZGV2MS5wYXRjaCB8ICAgNjUgKwogLi4ubGVh bnVwcy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoIHwgIDIyMyArCiAuLi55LW5h bWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQtdG8ucGF0Y2ggfCAgIDgyICsKIC4uLm5jZS1w cm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5wYXRjaCB8ICAgMzQgKwogLi4uQVBJLWRl c2NyaXB0aW9uLWZvci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoIHwgIDE5NSArCiAuLi4wMDgxLUZJ WC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2ggfCAgIDIyICsKIC4uLmVtZW50LUNv bnRleHQuYWRkX2NsZWFudXAtd2l0aC1sYXllci5wYXRjaCB8ICAyOTUgKwogLi4uOC4wLXBhcnNl LXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoIHwgICAzNyArCiAuLi5EdXBsaWNhdGVk LXN0ZXBzLUFtYmlndW91c1N0ZXBFcnJvcnMucGF0Y2ggfCAgIDM0ICsKIC4uLi8wMDg1LUFkZC1y ZW5vdmF0ZS5qc29uLnBhdGNoICAgICAgICAgICAgICB8ICAgMjEgKwogLi4uMDg2LVBSUEVQQVJF LVJFTk9WQVRFLVdpdGgtYWRhcHRpb25zLnBhdGNoIHwgIDE3NSArCiAuLi4vMDA4Ny1QaW4tZGVw ZW5kZW5jaWVzLnBhdGNoICAgICAgICAgICAgICAgfCAgIDM2ICsKIC4uLnRlLUV4dGVuZC1waXAt cmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaCB8ICAgMzEgKwogLi4uSU4tUkVRVUlSRU1FTlRT LUV4dGVuZC10by1hbGwtcGxhY2VzLnBhdGNoIHwgICA5MiArCiAuLi5fY2xlYW51cC1yZXBsYWNl cy1fdGFza2xldF9jbGVhbnVwLXIucGF0Y2ggfCA4MTE2ICsrKysrKysrKysrKysrKysrCiAuLi5u Z2UtY29kZS1ibG9ja3MtZnJvbS1iYXNoLXRvLWNvbnNvbGUucGF0Y2ggfCAgIDM2ICsKIC4uLi8w MDkyLUZpeC10eXBvLWluLXR1dG9yaWFsLnBhdGNoICAgICAgICAgICB8ICAgMjQgKwogLi4ubnRz LVVzZS1QeUhhbWNyZXN0LTIuMC1mb3ItcHl0aG9uMi43LnBhdGNoIHwgICA4MCArCiAuLi4vMDA5 NC1VUERBVEUtUFItODc3LXdhcy1tZXJnZWQucGF0Y2ggICAgICAgfCAgIDIxICsKIC4uLi8wMDk1 LWNhcGl0YWxpemluZy1zdGVwcy5wYXRjaCAgICAgICAgICAgICB8ICAgMjggKwogLi4uZGV2ZWxv cC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNoIHwgICA1NiArCiAuLi5haW5zdC1Q b3dlclBDLUNQVS1zdXBwb3J0LVRyYXZpcy04NjcucGF0Y2ggfCAgIDIyICsKIC4uLjA5OC1BZGQt Q29udGV4dC5hdHRhY2gtZG9jcy1hbmQtdGVzdC5wYXRjaCB8ICAxMzIgKwogLi4uLzAwOTktQWRk LUNvbnRyaWJ1dGluZy1jaGFwdGVyLnBhdGNoICAgICAgIHwgIDEyNSArCiAuLi5hcHQtVG94LXRh cmdldC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0Y2ggfCAgIDM0ICsKIC4uLnRpb24tSFRNTC1m b3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRjaCB8ICAgODMgKwogLi4ubGUtaGlnaGxpZ2h0 aW5nLWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNoIHwgICAyMiArCiAuLi5vY3MtZml4LXNpbXBs ZS10eXBvLXR1b3JpYWwtdHV0b3JpYWwucGF0Y2ggfCAgIDUyICsKIC4uLnQtZm9yLXB5dGhvbjMu OS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaCB8ICAyMjcgKwogLi4uLzAxMDUtUFJFRkVSLXB5 dGhvbjMtZnJvbS1ub3ctb24ucGF0Y2ggICAgIHwgICAxOSArCiAuLi4vMDEwNi1SRU1PVkUtaW52 b2tlLXNjcmlwdHMucGF0Y2ggICAgICAgICAgfCAgIDQxICsKIC4uLlgtRGVwcmVjYXRlZC13YXJu aW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaCB8ICAxMjQgKwogLi4ubGVtcy1pbi12aXJ0dWFsZW52 cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoIHwgICAxOCArCiAuLi4vMDEwOS1GSVgtQWN0aXZlLXRh Zy1sb2dpYy5wYXRjaCAgICAgICAgICAgfCAgODc1ICsrCiAuLi4vMDExMC1GSVgtVGVzdHMtdy1t b3JlLmZlYXR1cmVzLnBhdGNoICAgICAgfCAgIDU2ICsKIC4uLkZJWC1Tb21lLXJlZ3Jlc3Npb25z LXdpdGgtUHl0aG9uLTMuOS5wYXRjaCB8ICA3NDEgKysKIC4uLi8wMTEyLWRvY3MtVXBkYXRlLW5l dy1hbmQtbm90ZXdvcnRoeS5wYXRjaCB8ICAgODQgKwogLi4uZWxwZXItZnVuY3Rpb24tdG8tcHJp bnQtdGhlLWN1cnJlbnQtLnBhdGNoIHwgIDI3OCArCiAuLi5raW4tbGFuZ3VhZ2VzLmpzb24tZnJv bS1jdWN1bWJlci1yZXAucGF0Y2ggfCAgNTQxICsrCiAuLi5URS1DSEFOR0VTLVJlbGF0ZWQtdG8t UFItODk1LWFuZC04MjcucGF0Y2ggfCAgIDIyICsKIC4uLnItcHl0aG9uLTIuNy1idWlsZHMtbW9j ay00LjAtb25seS1mby5wYXRjaCB8ICAgMzkgKwogLi4uLXRvLXVzZS1hLWN1c3RvbS1ydW5uZXIt aW4tdGhlLWJlaGF2LnBhdGNoIHwgIDEyNiArCiAuLi5sbG93LWZvcmNpbmctY29sb3Itd2l0aC1j b2xvci1hbHdheXMucGF0Y2ggfCAgIDU5ICsKIC4uLmxvci13aXRoLW5vLXZhbHVlLWZvbGxvd2Vk LWJ5LXBvc2FyZy5wYXRjaCB8ICAgNDMgKwogLi4uLzAxMjAtQWRkLUJFSEFWRV9DT0xPUi1lbnYt dmFyLnBhdGNoICAgICAgIHwgICAzMSArCiAuLi4xMjEtZml4LW1hbGZvcm1lZC10YWJsZS1yb3dz LXdhcm5pbmcucGF0Y2ggfCAgIDMzICsKIC4uLi05NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11 c2VfMnRvMy5wYXRjaCB8ICAgNDIgKwogLi4uLzAxMjMtQWRkLWluZm8tZm9yLWZpeGVkLWlzc3Vl LTk1NS5wYXRjaCAgIHwgICAyMSArCiAuLi4vcHl0aG9uL3B5dGhvbjMtYmVoYXZlXzEuMi42LmJi ICAgICAgICAgICAgfCAgMTI5ICstCiAxMjQgZmlsZXMgY2hhbmdlZCwgMjk4MDggaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2VuYXJp b091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29weWluZy1kZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDAyLVVQREFURS1GSVhFRC03MjUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAzLUFERC1URVNULXRv LXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDQt RklYLVN1bW1hcnlSZXBvcnRlci1jb3VudHMtY29tcHV0YXRpb24td2hlbi1SdWxlcy1hci5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMDUtU3VtbWFyeVJlcG9ydGVyLnByaW50X3N1bW1hcnktU2ltcGxp ZnktaWYtUnVsZXMtYXJlLS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDYtRm9ybWF0dGVyLUFkZC1i YXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVsZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBt ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA3LUJV TVAtVkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYwLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAwOC1Db3JyZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDA5LUZJWC1mZWF0dXJlLnJ1bl9pdGVtcy1wcm9jZXNzaW5nLXdpdGgtUnVsZS1zLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAxMC1kb2NzLURpc2FibGUtc3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVB RFRIRURPQ1MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDExLUNsZWFudXAtRGVwZW5kZW50LXBhY2th Z2UtdmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMi1kb2Nz LWNvbmYucHktdHdlYWtzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgtTWlzc3BlbGxlZC1h ZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNC1B ZGQtaGludHMtb24tR2hlcmtpbi12Ni1ncmFtbWFyLWlzc3Vlcy5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMTUtUkVBRE1FLVJlU1QtdHdlYWtzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNi1FeGFtcGxl LXVzaW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTctUFJFUEFS RS1QeXRob24tMy44LXN1cHBvcnQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE4LXB5My44LVRyeS10 by1maXgtbG9nZ2luZy5Gb3JtYXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMTktdHJhdmlzLmNpLVRlbXBvcmFyaWx5LW1vdmUtcHkzOC1kZXYtdG8tZnJvbnQtYnVp bGQtZi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1mb3ItZmFzdGVy LWJ1aWxkcy10ZW1wb3JhcmlseS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjEtRklYLXB5My44LWxv Z2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIy LVBSRVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDIzLVVQREFURS1BZGQtNzU1LWluZm8ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdl aXJkLWIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI1LUZJWC1pbnZhbGlkLWVzY2FwZS1zZXF1ZW5j ZS13YXJuaW5ncy13LXJlZ2V4LXBhdHRlcm4ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI2LURFUFJF Q0FUSU5HLUNMRUFOVVAtTW92ZS1kZXByZWNhdGVkLXRhZy1tYXRjaGVyLWNsYXMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQtdHdlYWtzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOC1G SVgtd2FybmluZ3MtcmVsYXRlZC10by1pbnZhbGlkLWVzY2FwZXMtaW4tcmVnZXgucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ctc2hvdWxkLW5vdC1icmVhay1jb25maWd1cmVk LXJlcnVuLXNldHQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMwLUFkZC1mZWF0dXJlLXctcnVsZXMt YW5kLWZhaWxpbmctc2NlbmFyaW9zLWVuYWJsZS12aWEucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMx LWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDMyLUFkZC1pbmZvLW9uLW1lcmdlZC1wdWxsLTU4OC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMzMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5VUC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10 by1yZW1vdmUtbm9zZS5pbS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVO Q1ktbm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVyLXdhcm5pbi5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0LWZvci1TY2VuYXJpby1jb250YWlu ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzgtZG9jcy1BZGQtZGVzY3JpcHRpb24tZm9yLVNlbGVj dC1ieS1sb2NhdGlvbi1mb3ItU2Nlbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzktdGVzdHMtRml4 LXdhcm5pbmdzLWZvci1weXRob24zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MC1Vc2UtY3VjdW1i ZXItdGFnLWV4cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJuaW5ncy5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNDEtTUVOVElPTi1FTkhBTkNFTUVOVC1TdXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJlLWZp bGVzLS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDItRklYLUludmFsaWQtZXNjYXBlLWNoYXItaW4t cmVnZXgtdy1weXRob24zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0My1FeGFtcGxlLXJlbGF0ZWQt dG8tcXVlc3Rpb24taW4tNzU2LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0NC1GSVgtcHl0aG9uMy44 LXJlZ3Jlc3Npb25zLW9uLUNJLXNlcnZlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDUtVVBEQVRF LU1hcmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ni1VUERBVEUt Q3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDct Z2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3JkLXRyYW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNDgtVHdlYWtzLXRvLXVwZGF0ZS1nZW5lcmF0ZS1mcm9tLWdoZXJr aW4tbGFuZ3VhZ2VzLmpzby5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDktRVhBTVBMRS1Ud2Vhay1u YW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwNTAtRVhBTVBMRS1DbGVhbnVwLUdoZXJraW4tdjYtUkVBRE1FLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA1MS1JbXByb3ZlLXN1cHBvcnQtZm9yLWZlYXR1cmUuYmFja2dyb3VuZC1pbmhlcml0YW5j ZS1mLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Mi1BZGQtc3VwcG9ydC1mb3ItcnVudGltZS1jb25z dHJhaW50cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTMtVXNlLXJ1bnRpbWUtY29uc3RyYWludHMu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDU1LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDU2LW1vcmUuZmVhdHVyZXMtUGVyZm9ybS1tb3JlLUdoZXJr aW4tdjYtY2hlY2tzLWFuZC1ydW4ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU3LVVUSUwtQ29ycmVj dC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDU4LVVUSUwtRm9ybWF0dGluZy10d2Vha3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU5 LUZpeGVkLWEtYnVnLXdoZXJlLXVzZV9maXh0dXJlX2J5X3RhZy1kaWRuLXQtcmV0dXJuLXQucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDYwLUFkZGVkLWlzc3VlLXVuaXQtdGVzdC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNjItQ0hFQ0stSXNzdWUtNzY2LVByZXR0eUZvcm1hdHRlci1Vbmlj b2RlRXJyb3IucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYzLUZJWC1pc3N1ZS03NzItU2NlbmFyaW9P dXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBt ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY0LUZJ WC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDY1LU5pYmJsZS1UcmF2aXNDSS10by13YWtlLXVwLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA2Ni1Ud2Vhay1weXRlc3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDY3LVR3ZWFrLXB5dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQt WE1MLWRpYWwucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY4LUFkZC1iYXNpYy1mZWF0dXJlLXRlc3Qt Zm9yLXdpbGRjYXJkLXBhdHRlcm4tbWF0Y2hpbmcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBt ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY5LVVQ REFURS1kZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRoLXB5dGVzdC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFj ay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5VUC1BZGQtQ29udGV4dE1vZGUtZW51bS1y ZWxhdGVkLXRvLTc5Ny5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzItQ2xlYW51cC1jb21tZW50cy5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzMtRklYLXNwaGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0 ZXBzM3gucHkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc0LWRvY3MtUmVuYW1lLXBhZ2UtcGFyc2Vf ZXhwcmVzc2lvbnMtd2FzLXBhcnNlX2J1aWx0aW4ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBt ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc1LWRv Y3MtcGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDc2LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYyLXdhcy0xLjIuNy5kZXYx LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVya2luLXBhcnNlci1DbGVhbnVwcy1yZWxhdGVk LXRvLXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3OC1DbGFyaWZ5LXNl bGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA3OS1GSVgtQ3Jvc3MtcmVmZXJlbmNlLXByb2JsZW0tY29weS1wYXN0ZS1pbi1SdWxl LWNsYXNzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MC1ET0NTLVVwZGF0ZS1BUEktZGVzY3JpcHRp b24tZm9yLVJ1bm5lci1PcGVyYXRpb24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgxLUZJWC1ET0NT LVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgyLWlzc3VlLTc0 MC1FbmhhbmNlbWVudC1Db250ZXh0LmFkZF9jbGVhbnVwLXdpdGgtbGF5ZXIucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDgzLVVQREFURS1wYXJzZS0xLjE4LjAtcGFyc2UtdmVyc2lvbnMtMS4xNi4wLS4t MS4xNy54LWgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg0LVJFTEFURUQtVE8tRHVwbGljYXRlZC1z dGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4NS1BZGQtcmVu b3ZhdGUuanNvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODYtUFJQRVBBUkUtUkVOT1ZBVEUtV2l0 aC1hZGFwdGlvbnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg3LVBpbi1kZXBlbmRlbmNpZXMucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDg4LXJlbm92YXRlLUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZp bGUtbGlzdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODktUElOLVJFUVVJUkVNRU5UUy1FeHRlbmQt dG8tYWxsLXBsYWNlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTAtdGFza3MtQWRkLWludm9rZV9j bGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2NsZWFudXAtci5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw OTEtRG9jcy1jaGFuZ2UtY29kZS1ibG9ja3MtZnJvbS1iYXNoLXRvLWNvbnNvbGUucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDkyLUZpeC10eXBvLWluLXR1dG9yaWFsLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA5My1weS5yZXF1aXJlbWVudHMtVXNlLVB5SGFtY3Jlc3QtMi4wLWZvci1weXRob24yLjcucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDk0LVVQREFURS1QUi04Nzctd2FzLW1lcmdlZC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwOTUtY2FwaXRhbGl6aW5nLXN0ZXBzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5 Ni1GSVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFnYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1U cmF2aXMtODY3LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5OC1BZGQtQ29udGV4dC5hdHRhY2gtZG9j cy1hbmQtdGVzdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFw dGVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMC1BZGFwdC1Ub3gtdGFyZ2V0LWZvci1idWlsZGlu Zy10aGUtZG9jcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDEtTWVudGlvbi1IVE1MLWZvcm1hdHRl ci1pbi1kb2N1bWVudGF0aW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMi1Vc2UtY29uc29sZS1o aWdobGlnaHRpbmctZm9yLXBpcC1pbnN0YWxsLWRvY3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAz LWRvY3MtZml4LXNpbXBsZS10eXBvLXR1b3JpYWwtdHV0b3JpYWwucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTA0LUFkZC1zdXBwb3J0LWZvci1weXRob24zLjktYnktdXNpbmctYWN0aXZlLXRhZ3MucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMTA1LVBSRUZFUi1weXRob24zLWZyb20tbm93LW9uLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDEwNi1SRU1PVkUtaW52b2tlLXNjcmlwdHMucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTA3LUZJWC1EZXByZWNhdGVkLXdhcm5pbmdzLWZvci1QeXRob24tMy54LnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEwOC1GSVgtUHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2 ZTRjbWQwLXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTAtRklYLVRlc3RzLXctbW9yZS5mZWF0dXJlcy5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAxMTEtRklYLVNvbWUtcmVncmVzc2lvbnMtd2l0aC1QeXRob24tMy45LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5vdGV3b3J0aHkucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMTEzLUFkZC1kaWFnbm9zdGljLWhlbHBlci1mdW5jdGlvbi10by1w cmludC10aGUtY3VycmVudC0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE0LVVQREFURS1pMThuLWdo ZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTE2LUZJWC1DSS1UUkFWSVMtRm9yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2st NC4wLW9ubHktZm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE3LUFkZHMtdGhlLWFiaWxpdHktdG8t dXNlLWEtY3VzdG9tLXJ1bm5lci1pbi10aGUtYmVoYXYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4 LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTE5LUFsbG93LWNvbG9yLXdpdGgtbm8tdmFsdWUtZm9sbG93ZWQtYnktcG9zYXJnLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDEyMC1BZGQtQkVIQVZFX0NPTE9SLWVudi12YXIucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93cy13YXJuaW5nLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEyMi1GSVgtOTU1LXNldHVwLVJlbW92ZS1hdHRyaWJ1dGUtdXNlXzJ0bzMucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMTIzLUFkZC1pbmZvLWZvci1maXhlZC1pc3N1ZS05NTUucGF0Y2gK CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2VuYXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29w eWluZy1kZXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2VuYXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3Qt Y29weWluZy1kZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5i NTViMTZjODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2VuYXJpb091dGxpbmVCdWls ZGVyLXdhcy1ub3QtY29weWluZy1kZXMucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSBlMWY5 ZTc2ZGIyMjRmMDhkMjBmZTU3ZDJhMjU5YzQzMGRjMzk2NzBmIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBNb24sIDExIE1hciAyMDE5IDIyOjM3OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJ WEVTICM3MjU6IFNjZW5hcmlvT3V0bGluZUJ1aWxkZXIgd2FzIG5vdCBjb3B5aW5nCisgZGVzY3Jp cHRpb24gdG8gY3JlYXRlZCBTY2VuYXJpby4KKworLS0tCisgYmVoYXZlL21vZGVsLnB5IHwgMSAr CisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9iZWhhdmUv bW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkKK2luZGV4IDRhZDRiOWQuLjlkZDY4ZmQgMTAwNjQ0 CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9tb2RlbC5weQorQEAgLTExOTYs NiArMTE5Niw3IEBAIGNsYXNzIFNjZW5hcmlvT3V0bGluZUJ1aWxkZXIob2JqZWN0KToKKyAgICAg ICAgICAgICAgICAgc2NlbmFyaW8uZmVhdHVyZSA9IHNjZW5hcmlvX291dGxpbmUuZmVhdHVyZQor ICAgICAgICAgICAgICAgICBzY2VuYXJpby5wYXJlbnQgPSBzY2VuYXJpb19vdXRsaW5lCisgICAg ICAgICAgICAgICAgIHNjZW5hcmlvLmJhY2tncm91bmQgPSBzY2VuYXJpb19vdXRsaW5lLmJhY2tn cm91bmQKKysgICAgICAgICAgICAgICAgc2NlbmFyaW8uZGVzY3JpcHRpb24gPSBzY2VuYXJpb19v dXRsaW5lLmRlc2NyaXB0aW9uCisgICAgICAgICAgICAgICAgIHNjZW5hcmlvLl9yb3cgPSByb3cg ICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKyAgICAgICAgICAgICAgICAg c2NlbmFyaW9zLmFwcGVuZChzY2VuYXJpbykKKyAgICAgICAgIHJldHVybiBzY2VuYXJpb3MKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjFkOWRkYzZjYQotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIDI1 ODA4NzdlNmMzZTQxMzJiOWZlODVjZmQxMTc1OTZlY2JlOWEyZjAgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IE1vbiwgMTEgTWFyIDIwMTkgMjI6NDA6MTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0g VVBEQVRFOiBGSVhFRCAjNzI1CisKKy0tLQorIENIQU5HRVMucnN0IHwgMSArCisgMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5H RVMucnN0CitpbmRleCBjMTE4NDBmLi5kNmU5NmFmIDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QK KysrKyBiL0NIQU5HRVMucnN0CitAQCAtMzIsNiArMzIsNyBAQCBFTkhBTkNFTUVOVFM6CisgCisg RklYRUQ6CisgCisrKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxp bmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAj NzEzOiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24ndCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92 aWRlZCBieTogZGdvdSkKKyAqIHB1bGwgICM2NTc6IEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGlt ZW91dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2UgZXhjZXB0aW9ucyAocHJvdmlkZWQgYnk6IEFM U2Nod2FsbSkKKyAqIGlzc3VlICM2MzE6IFNjZW5hcmlvT3V0bGluZSB2YXJpYWJsZXMgbm90IHBv c3NpYmxlIGluIHRhYmxlIGhlYWRpbmdzIChwcm92aWRlZCBieTogbXNjaG5lbGxlLCBwdWxsICM2 NDIpCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDAzLUFERC1URVNULXRvLXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhl ZC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMDMtQURELVRFU1QtdG8tdmVyaWZ5LXRoYXQtaXNzdWUtNzI1LWlzLWZpeGVkLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOTUyMWNiMDkyCi0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAwMy1BREQtVEVTVC10by12ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMtZml4ZWQucGF0 Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA0NzZjYTIwMjYwNDQ5NTEwZTljMTViM2Q4YjhlOWUx ZDMwZjljMGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDExIE1hciAyMDE5IDIzOjA4 OjAwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFERCBURVNUIHRvIHZlcmlmeSB0aGF0IGlzc3Vl ICM3MjUgaXMgZml4ZWQuCisKKy0tLQorIHRlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDcyNS5weSB8 IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwg NDQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9pc3N1ZXMvdGVzdF9p c3N1ZTA3MjUucHkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDcyNS5w eSBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDcyNS5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAuLjc0NzlmNTkKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL2lzc3Vl cy90ZXN0X2lzc3VlMDcyNS5weQorQEAgLTAsMCArMSw0NCBAQAorKyMgLSotIGNvZGluZzogVVRG LTggLSotCisrIiIiCisraHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvaXNzdWVzLzcy NQorKworK0FOQUxZU0lTOgorKy0tLS0tLS0tLS0KKysKKytTY2VuYXJpb091dGxpbmVCdWlsZGVy IGRpZCBub3QgY29weSBTY2VuYXJpb091dGxpbmUuZGVzY3JpcHRpb24KKyt0byB0aGUgU2NlbmFy aW9zIHRoYXQgd2VyZSBjcmVhdGVkIGZyb20gdGhlIFNjZW5hcmlvT3V0bGluZS4KKysiIiIKKysK Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24K Kytmcm9tIGJlaGF2ZS5wYXJzZXIgaW1wb3J0IHBhcnNlX2ZlYXR1cmUKKysKKysKKytkZWYgdGVz dF9pc3N1ZSgpOgorKyAgICAiIiJWZXJpZmllcyB0aGF0IGlzc3VlICM3MjUgaXMgZml4ZWQuIiIi CisrICAgIHRleHQgPSB1JycnCisrRmVhdHVyZTogU2NlbmFyaW9PdXRsaW5lIHdpdGggZGVzY3Jp cHRpb24KKysKKysgIFNjZW5hcmlvIE91dGxpbmU6IFNPXzEKKysgICAgRGVzY3JpcHRpb24gbGlu ZSAxIGZvciBTY2VuYXJpb091dGxpbmUuCisrICAgIERlc2NyaXB0aW9uIGxpbmUgMiBmb3IgU2Nl bmFyaW9PdXRsaW5lLgorKworKyAgICBHaXZlbiBhIHN0ZXAgd2l0aCAiPG5hbWU+IgorKyAgICAK KysgICAgRXhhbXBsZXM6CisrICAgICAgfCBuYW1lICB8CisrICAgICAgfCBBbGljZSB8CisrICAg ICAgfCBCb2IgICB8CisrJycnLmxzdHJpcCgpCisrICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJl KHRleHQpCisrICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJpb3MpID09IDEKKysgICAgc2Nl bmFyaW9fb3V0bGluZV8xID0gZmVhdHVyZS5zY2VuYXJpb3NbMF0KKysgICAgYXNzZXJ0IGxlbihz Y2VuYXJpb19vdXRsaW5lXzEuc2NlbmFyaW9zKSA9PSAyCisrICAgICMgLS0gSElOVDogTGFzdCBs aW5lIHRyaWdnZXJzIGJ1aWxkaW5nIG9mIHRoZSBTY2VuYXJpb3MgZnJvbSBTY2VuYXJpb091dGxp bmUuCisrCisrICAgIGV4cGVjdGVkX2Rlc2NyaXB0aW9uID0gWworKyAgICAgICAgIkRlc2NyaXB0 aW9uIGxpbmUgMSBmb3IgU2NlbmFyaW9PdXRsaW5lLiIsCisrICAgICAgICAiRGVzY3JpcHRpb24g bGluZSAyIGZvciBTY2VuYXJpb091dGxpbmUuIiwKKysgICAgXQorKyAgICBhc3NlcnQgc2NlbmFy aW9fb3V0bGluZV8xLmRlc2NyaXB0aW9uID09IGV4cGVjdGVkX2Rlc2NyaXB0aW9uCisrICAgIGFz c2VydCBzY2VuYXJpb19vdXRsaW5lXzEuc2NlbmFyaW9zWzBdLmRlc2NyaXB0aW9uID09IGV4cGVj dGVkX2Rlc2NyaXB0aW9uCisrICAgIGFzc2VydCBzY2VuYXJpb19vdXRsaW5lXzEuc2NlbmFyaW9z WzFdLmRlc2NyaXB0aW9uID09IGV4cGVjdGVkX2Rlc2NyaXB0aW9uCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA0LUZJWC1T dW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2ggYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA0LUZJ WC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iMThkNTAyMjkKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDA0LUZJWC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1dGF0aW9uLXdoZW4tUnVs ZXMtYXIucGF0Y2gKQEAgLTAsMCArMSwzNDIgQEAKK0Zyb20gZTdjMjRjM2M5YWQ3ODljMTc2OGI5 ZDU5YTI4ZTdmZmM5ZWZiMmQwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMyBNYXIg MjAxOSAwODoyOTowMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IFN1bW1hcnlSZXBvcnRl ciBjb3VudHMgY29tcHV0YXRpb24gd2hlbiBSdWxlcyBhcmUgdXNlZC4KKworLS0tCisgYmVoYXZl L21vZGVsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM5ICsrKy0tLQorIGJl aGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5ICAgICAgICAgICAgICAgICAgICB8IDExNCArKysrKysr KysrKysrKy0tLS0KKyAuLi4vdW5pdC97cmVwb3J0ZXJzID0+IHJlcG9ydGVyfS9fX2luaXRfXy5w eSAgfCAgIDAKKyAuLi4ve3JlcG9ydGVycyA9PiByZXBvcnRlcn0vdGVzdF9zdW1tYXJ5LnB5ICAg fCAgIDQgKworIDQgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9u cygtKQorIHJlbmFtZSB0ZXN0cy91bml0L3tyZXBvcnRlcnMgPT4gcmVwb3J0ZXJ9L19faW5pdF9f LnB5ICgxMDAlKQorIHJlbmFtZSB0ZXN0cy91bml0L3tyZXBvcnRlcnMgPT4gcmVwb3J0ZXJ9L3Rl c3Rfc3VtbWFyeS5weSAoOTklKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIvYmVo YXZlL21vZGVsLnB5CitpbmRleCA5ZGQ2OGZkLi42MjM4MzEzIDEwMDY0NAorLS0tIGEvYmVoYXZl L21vZGVsLnB5CisrKysgYi9iZWhhdmUvbW9kZWwucHkKK0BAIC0xNDQsMTggKzE0NCwxOCBAQCBj bGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUp OgorICAgICAgICAgc2VsZi5ob29rX2ZhaWxlZCA9IEZhbHNlCisgICAgICAgICBzZWxmLnJ1bl9z dGFydHRpbWUgPSAwCisgICAgICAgICBzZWxmLnJ1bl9lbmR0aW1lID0gMAorLSAgICAgICAgZm9y IHNjZW5hcmlvIGluIHNlbGYuc2NlbmFyaW9zOgorLSAgICAgICAgICAgIHNjZW5hcmlvLnJlc2V0 KCkKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBzZWxmLnJ1bl9pdGVtczoKKysgICAgICAgICAg ICBydW5faXRlbS5yZXNldCgpCisgCisgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKy0gICAgICAg IHJldHVybiBpdGVyKHNlbGYuc2NlbmFyaW9zKQorKyAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5y dW5faXRlbXMpCisgCisgICAgIGRlZiBhZGRfc2NlbmFyaW8oc2VsZiwgc2NlbmFyaW8pOgorICAg ICAgICAgZmVhdHVyZSA9IGdldGF0dHIoc2VsZiwgImZlYXR1cmUiLCBOb25lKQorICAgICAgICAg aWYgaXNpbnN0YW5jZShzZWxmLCBGZWF0dXJlKToKKyAgICAgICAgICAgICBmZWF0dXJlID0gc2Vs ZgorIAorLSAgICAgICAgc2NlbmFyaW8ucGFyZW50ID0gc2VsZiAgICAgICMgWFhYLU5FVworKyAg ICAgICAgc2NlbmFyaW8ucGFyZW50ID0gc2VsZgorICAgICAgICAgc2NlbmFyaW8uZmVhdHVyZSA9 IGZlYXR1cmUKKyAgICAgICAgIHNjZW5hcmlvLmJhY2tncm91bmQgPSBzZWxmLmJhY2tncm91bmQK KyAgICAgICAgIHNlbGYuc2NlbmFyaW9zLmFwcGVuZChzY2VuYXJpbykKK0BAIC0xNzQsMTcgKzE3 NCwxNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJl cGxheWFibGUpOgorIAorICAgICAgICAgc2tpcHBlZCA9IFRydWUKKyAgICAgICAgIHBhc3NlZF9j b3VudCA9IDAKKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBzZWxmLnNjZW5hcmlvczoKKy0gICAg ICAgICAgICBzY2VuYXJpb19zdGF0dXMgPSBzY2VuYXJpby5zdGF0dXMKKy0gICAgICAgICAgICBp ZiBzY2VuYXJpb19zdGF0dXMgPT0gU3RhdHVzLmZhaWxlZDoKKysgICAgICAgIGZvciBydW5faXRl bSBpbiBzZWxmLnJ1bl9pdGVtczoKKysgICAgICAgICAgICBydW5faXRlbV9zdGF0dXMgPSBydW5f aXRlbS5zdGF0dXMKKysgICAgICAgICAgICBpZiBydW5faXRlbV9zdGF0dXMgPT0gU3RhdHVzLmZh aWxlZDoKKyAgICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy5mYWlsZWQKKy0gICAgICAgICAg ICBlbGlmIHNjZW5hcmlvX3N0YXR1cyA9PSBTdGF0dXMudW50ZXN0ZWQ6CisrICAgICAgICAgICAg ZWxpZiBydW5faXRlbV9zdGF0dXMgPT0gU3RhdHVzLnVudGVzdGVkOgorICAgICAgICAgICAgICAg ICBpZiBwYXNzZWRfY291bnQgPiAwOgorICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1 cy5mYWlsZWQgICMgQUJPUlRFRDogU29tZSBwYXNzZWQsIG5vdyB1bnRlc3RlZC4KKyAgICAgICAg ICAgICAgICAgcmV0dXJuIFN0YXR1cy51bnRlc3RlZAorLSAgICAgICAgICAgIGlmIHNjZW5hcmlv X3N0YXR1cyAhPSBTdGF0dXMuc2tpcHBlZDoKKysgICAgICAgICAgICBpZiBydW5faXRlbV9zdGF0 dXMgIT0gU3RhdHVzLnNraXBwZWQ6CisgICAgICAgICAgICAgICAgIHNraXBwZWQgPSBGYWxzZQor LSAgICAgICAgICAgIGlmIHNjZW5hcmlvX3N0YXR1cyA9PSBTdGF0dXMucGFzc2VkOgorKyAgICAg ICAgICAgIGlmIHJ1bl9pdGVtX3N0YXR1cyA9PSBTdGF0dXMucGFzc2VkOgorICAgICAgICAgICAg ICAgICBwYXNzZWRfY291bnQgKz0gMQorIAorICAgICAgICAgaWYgc2tpcHBlZDoKK0BAIC0yMTcs MTQgKzIxNywxOSBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1l bnQsIFJlcGxheWFibGUpOgorICAgICAgICAgIiIiCisgICAgICAgICAjIFRPRE86IEJldHRlciB1 c2Ugc2VsZi5ydW5faXRlbXMKKyAgICAgICAgIGFsbF9zY2VuYXJpb3MgPSBbXQorLSAgICAgICAg Zm9yIHNjZW5hcmlvIGluIHNlbGYuc2NlbmFyaW9zOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFu Y2Uoc2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSk6CistICAgICAgICAgICAgICAgIHNjZW5hcmlv X291dGxpbmUgPSBzY2VuYXJpbworKyAgICAgICAgIyBmb3Igc2NlbmFyaW8gaW4gc2VsZi5zY2Vu YXJpb3M6CisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRlbXM6CisrICAgICAg ICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgUnVsZSk6CisrICAgICAgICAgICAgICAgIHJ1 bGUgPSBydW5faXRlbQorKyAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVuZChydWxl LndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9d2l0aF9vdXRsaW5lcykpCisrICAgICAgICAg ICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW9PdXRsaW5lKToKKysgICAgICAgICAg ICAgICAgc2NlbmFyaW9fb3V0bGluZSA9IHJ1bl9pdGVtCisgICAgICAgICAgICAgICAgIGlmIHdp dGhfb3V0bGluZXM6CisgICAgICAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChz Y2VuYXJpb19vdXRsaW5lKQorICAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVuZChz Y2VuYXJpb19vdXRsaW5lLnNjZW5hcmlvcykKKyAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAg ICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChzY2VuYXJpbykKKysgICAgICAgICAgICAgICAg YXNzZXJ0IGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKQorKyAgICAgICAgICAgICAgICBh bGxfc2NlbmFyaW9zLmFwcGVuZChydW5faXRlbSkKKyAgICAgICAgIHJldHVybiBhbGxfc2NlbmFy aW9zCisgCisgICAgIGRlZiBzaG91bGRfcnVuKHNlbGYsIGNvbmZpZz1Ob25lKToKK0BAIC0yODUs OSArMjkwLDkgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50 LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIHNlbGYuY2xlYXJfc3RhdHVzKCkKKyAgICAgICAgIHNl bGYuc2hvdWxkX3NraXAgPSBUcnVlCisgICAgICAgICBzZWxmLnNraXBfcmVhc29uID0gcmVhc29u CistICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2VsZi5zY2VuYXJpb3M6CistICAgICAgICAgICAg c2NlbmFyaW8uc2tpcChyZWFzb24sIHJlcXVpcmVfbm90X2V4ZWN1dGVkKQorLSAgICAgICAgaWYg bm90IHNlbGYuc2NlbmFyaW9zOgorKyAgICAgICAgZm9yIHJ1bl9pdGVtIGluIHNlbGYucnVuX2l0 ZW1zOgorKyAgICAgICAgICAgIHJ1bl9pdGVtLnNraXAocmVhc29uLCByZXF1aXJlX25vdF9leGVj dXRlZCkKKysgICAgICAgIGlmIG5vdCBzZWxmLnJ1bl9pdGVtczoKKyAgICAgICAgICAgICAjIC0t IFNQRUNJQUwgQ0FTRTogRmVhdHVyZSB3aXRob3V0IHNjZW5hcmlvcworICAgICAgICAgICAgIHNl bGYuc2V0X3N0YXR1cyhTdGF0dXMuc2tpcHBlZCkKKyAgICAgICAgIGFzc2VydCBzZWxmLnN0YXR1 cyBpbiBzZWxmLmZpbmFsX3N0YXR1cyAjPCBza2lwcGVkLCBmYWlsZWQgb3IgcGFzc2VkLgorZGlm ZiAtLWdpdCBhL2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5IGIvYmVoYXZlL3JlcG9ydGVyL3N1 bW1hcnkucHkKK2luZGV4IGM4MmRhYTEuLjJjY2RjOGYgMTAwNjQ0CistLS0gYS9iZWhhdmUvcmVw b3J0ZXIvc3VtbWFyeS5weQorKysrIGIvYmVoYXZlL3JlcG9ydGVyL3N1bW1hcnkucHkKK0BAIC02 LDI1ICs2LDUyIEBAIFByb3ZpZGVzIGEgc3VtbWFyeSBhZnRlciBlYWNoIHRlc3QgcnVuLgorIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZpc2lvbiwgcHJpbnRfZnVu Y3Rpb24KKyBpbXBvcnQgc3lzCisgZnJvbSB0aW1lIGltcG9ydCB0aW1lIGFzIHRpbWVfbm93Cist ZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFNjZW5hcmlvT3V0bGluZQorK2Zyb20gYmVoYXZlLm1v ZGVsIGltcG9ydCBSdWxlLCBTY2VuYXJpb091dGxpbmUgICMgTUFZQkU6IFNjZW5hcmlvCisgZnJv bSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3RhdHVzCisgZnJvbSBiZWhhdmUucmVwb3J0ZXIu YmFzZSBpbXBvcnQgUmVwb3J0ZXIKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQg U3RyZWFtT3BlbmVyCisgCisgCistIyAtLSBESVNBQkxFRDogb3B0aW9uYWxfc3RlcHMgPSAoJ3Vu dGVzdGVkJywgJ3VuZGVmaW5lZCcpCistb3B0aW9uYWxfc3RlcHMgPSAoU3RhdHVzLnVudGVzdGVk LCkgIyBNQVlCRTogU3RhdHVzLnVuZGVmaW5lZAorLXN0YXR1c19vcmRlciA9IChTdGF0dXMucGFz c2VkLCBTdGF0dXMuZmFpbGVkLCBTdGF0dXMuc2tpcHBlZCwKKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorKyMgQ09OU1RBTlRTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyAtLSBESVNBQkxFRDog T1BUSU9OQUxfU1RFUFMgPSAoJ3VudGVzdGVkJywgJ3VuZGVmaW5lZCcpCisrT1BUSU9OQUxfU1RF UFMgPSAoU3RhdHVzLnVudGVzdGVkLCkgIyBNQVlCRTogU3RhdHVzLnVuZGVmaW5lZAorK1NUQVRV U19PUkRFUiA9IChTdGF0dXMucGFzc2VkLCBTdGF0dXMuZmFpbGVkLCBTdGF0dXMuc2tpcHBlZCwK KyAgICAgICAgICAgICAgICAgU3RhdHVzLnVuZGVmaW5lZCwgU3RhdHVzLnVudGVzdGVkKQorIAor IAorLWRlZiBmb3JtYXRfc3VtbWFyeShzdGF0ZW1lbnRfdHlwZSwgc3VtbWFyeSk6CisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysjIFVUSUxJVFkgRlVOQ1RJT05TOgorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrZGVmIHBsdXJhbGl6ZSh3b3JkLCBjb3VudD0xLCBzdWZmaXg9InMiKToKKysgICAgaWYg Y291bnQgPT0gMToKKysgICAgICAgIHJldHVybiB3b3JkCisrICAgICMgLS0gT1RIRVJXSVNFOgor KyAgICByZXR1cm4gInswfXsxfSIuZm9ybWF0KHdvcmQsIHN1ZmZpeCkKKysKKysKKytkZWYgY29t cHV0ZV9zdW1tYXJ5X3N1bShzdW1tYXJ5KToKKysgICAgIiIiQ29tcHV0ZSBzdW0gb2YgYWxsIHN1 bW1hcnkgY291bnRzIChleGNlcHQ6IGFsbCkKKysKKysgICAgOnBhcmFtIHN1bW1hcnk6IFN1bW1h cnkgY291bnRzIChhcyBkaWN0KS4KKysgICAgOnJldHVybjogU3VtIG9mIGFsbCBjb3VudHMgKGFz IGludGVnZXIpLgorKyAgICAiIiIKKysgICAgY291bnRzX3N1bSA9IDAKKysgICAgZm9yIG5hbWUs IGNvdW50IGluIHN1bW1hcnkuaXRlbXMoKToKKysgICAgICAgIGlmIG5hbWUgPT0gImFsbCI6Cisr ICAgICAgICAgICAgY29udGludWUgICAgIyBJR05PUkUgSVQuCisrICAgICAgICBjb3VudHNfc3Vt ICs9IGNvdW50CisrICAgIHJldHVybiBjb3VudHNfc3VtCisrCisrCisrZGVmIGZvcm1hdF9zdW1t YXJ5MChzdGF0ZW1lbnRfdHlwZSwgc3VtbWFyeSk6CisgICAgIHBhcnRzID0gW10KKy0gICAgZm9y IHN0YXR1cyBpbiBzdGF0dXNfb3JkZXI6CisrICAgIGZvciBzdGF0dXMgaW4gU1RBVFVTX09SREVS OgorICAgICAgICAgaWYgc3RhdHVzLm5hbWUgbm90IGluIHN1bW1hcnk6CisgICAgICAgICAgICAg Y29udGludWUKKyAgICAgICAgIGNvdW50cyA9IHN1bW1hcnlbc3RhdHVzLm5hbWVdCistICAgICAg ICBpZiBzdGF0dXMgaW4gb3B0aW9uYWxfc3RlcHMgYW5kIGNvdW50cyA9PSAwOgorKyAgICAgICAg aWYgc3RhdHVzIGluIE9QVElPTkFMX1NURVBTIGFuZCBjb3VudHMgPT0gMDoKKyAgICAgICAgICAg ICAjIC0tIFNIT1ctT05MWTogRm9yIHJlbGV2YW50IGNvdW50cywgc3VwcHJlc3M6IHVudGVzdGVk IGl0ZW1zLCBldGMuCisgICAgICAgICAgICAgY29udGludWUKKyAKK0BAIC00MCwxMSArNjcsMjMg QEAgZGVmIGZvcm1hdF9zdW1tYXJ5KHN0YXRlbWVudF90eXBlLCBzdW1tYXJ5KToKKyAgICAgcmV0 dXJuICIsICIuam9pbihwYXJ0cykgKyAiXG4iCisgCisgCistZGVmIHBsdXJhbGl6ZSh3b3JkLCBj b3VudD0xLCBzdWZmaXg9InMiKToKKy0gICAgaWYgY291bnQgPT0gMToKKy0gICAgICAgIHJldHVy biB3b3JkCistICAgICMgLS0gT1RIRVJXSVNFOgorLSAgICByZXR1cm4gInswfXsxfSIuZm9ybWF0 KHdvcmQsIHN1ZmZpeCkKKytkZWYgZm9ybWF0X3N1bW1hcnkoc3RhdGVtZW50X3R5cGUsIHN1bW1h cnkpOgorKyAgICBwYXJ0cyA9IFtdCisrICAgIGZvciBzdGF0dXMgaW4gU1RBVFVTX09SREVSOgor KyAgICAgICAgaWYgc3RhdHVzLm5hbWUgbm90IGluIHN1bW1hcnk6CisrICAgICAgICAgICAgY29u dGludWUKKysgICAgICAgIGNvdW50cyA9IHN1bW1hcnlbc3RhdHVzLm5hbWVdCisrICAgICAgICBp ZiBzdGF0dXMgaW4gT1BUSU9OQUxfU1RFUFMgYW5kIGNvdW50cyA9PSAwOgorKyAgICAgICAgICAg ICMgLS0gU0hPVy1PTkxZOiBGb3IgcmVsZXZhbnQgY291bnRzLCBzdXBwcmVzczogdW50ZXN0ZWQg aXRlbXMsIGV0Yy4KKysgICAgICAgICAgICBjb250aW51ZQorKworKyAgICAgICAgbmFtZSA9IHN0 YXR1cy5uYW1lCisrICAgICAgICBpZiBzdGF0dXMubmFtZSA9PSAicGFzc2VkIjoKKysgICAgICAg ICAgICBzdGF0ZW1lbnQgPSBwbHVyYWxpemUoc3RhdGVtZW50X3R5cGUsIGNvdW50cykKKysgICAg ICAgICAgICBuYW1lID0gdSIlcyBwYXNzZWQiICUgc3RhdGVtZW50CisrICAgICAgICBwYXJ0ID0g dSIlZCAlcyIgJSAoY291bnRzLCBuYW1lKQorKyAgICAgICAgcGFydHMuYXBwZW5kKHBhcnQpCisr ICAgIHJldHVybiAiLCAiLmpvaW4ocGFydHMpICsgIlxuIgorIAorIAorICMgLS0gUFJFUEFSRUQ6 CitAQCAtNjAsMTggKzk5LDE2IEBAIGRlZiBmb3JtYXRfc3VtbWFyeTIoc3RhdGVtZW50X3R5cGUs IHN1bW1hcnksIGVuZD0iXG4iKToKKyAgICAgOnJldHVybjoKKyAgICAgIiIiCisgICAgIHBhcnRz ID0gW10KKy0gICAgY291bnRzX3N1bSA9IDAKKy0gICAgZm9yIHN0YXR1cyBpbiBzdGF0dXNfb3Jk ZXI6CisrICAgIGZvciBzdGF0dXMgaW4gU1RBVFVTX09SREVSOgorICAgICAgICAgaWYgc3RhdHVz Lm5hbWUgbm90IGluIHN1bW1hcnk6CisgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgIGNv dW50cyA9IHN1bW1hcnlbc3RhdHVzLm5hbWVdCistICAgICAgICBpZiBzdGF0dXMgaW4gb3B0aW9u YWxfc3RlcHMgYW5kIGNvdW50cyA9PSAwOgorKyAgICAgICAgaWYgc3RhdHVzIGluIE9QVElPTkFM X1NURVBTIGFuZCBjb3VudHMgPT0gMDoKKyAgICAgICAgICAgICAjIC0tIFNIT1ctT05MWTogRm9y IHJlbGV2YW50IGNvdW50cywgc3VwcHJlc3M6IHVudGVzdGVkIGl0ZW1zLCBldGMuCisgICAgICAg ICAgICAgY29udGludWUKKy0KKy0gICAgICAgIGNvdW50c19zdW0gKz0gY291bnRzCisgICAgICAg ICBwYXJ0cy5hcHBlbmQoKHN0YXR1cy5uYW1lLCBjb3VudHMpKQorIAorKyAgICBjb3VudHNfc3Vt ID0gc3VtbWFyeVsiYWxsIl0KKyAgICAgc3RhdGVtZW50ID0gcGx1cmFsaXplKHN0YXRlbWVudF90 eXBlLCBzdW0pCisgICAgIHBhcnRzX3RleHQgPSAiLCAiLmpvaW4oWyJ7MH06IHsxfSIuZm9ybWF0 KG5hbWUsIHZhbHVlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbmFtZSwgdmFs dWUgaW4gcGFydHNdKQorQEAgLTc5LDYgKzExNiw5IEBAIGRlZiBmb3JtYXRfc3VtbWFyeTIoc3Rh dGVtZW50X3R5cGUsIHN1bW1hcnksIGVuZD0iXG4iKToKKyAgICAgICAgIGNvdW50PWNvdW50c19z dW0sIHN0YXRlbWVudD1zdGF0ZW1lbnQsIHBhcnRzPXBhcnRzX3RleHQsIGVuZD1lbmQpCisgCisg CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFJFUE9SVEVSUzoKKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIGNsYXNzIFN1bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6CisgICAgIHNob3dfZmFpbGVk X3NjZW5hcmlvcyA9IFRydWUKKyAgICAgb3V0cHV0X3N0cmVhbV9uYW1lID0gInN0ZG91dCIKK0BA IC04OCw2ICsxMjgsNyBAQCBjbGFzcyBTdW1tYXJ5UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAg ICAgc3RyZWFtID0gZ2V0YXR0cihzeXMsIHNlbGYub3V0cHV0X3N0cmVhbV9uYW1lLCBzeXMuc3Rk ZXJyKQorICAgICAgICAgc2VsZi5zdHJlYW0gPSBTdHJlYW1PcGVuZXIuZW5zdXJlX3N0cmVhbV93 aXRoX2VuY29kZXIoc3RyZWFtKQorICAgICAgICAgc3VtbWFyeV96ZXJvX2RhdGEgPSB7CisrICAg ICAgICAgICAgImFsbCI6IDAsCisgICAgICAgICAgICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAwLAor ICAgICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFtZTogMCwKKyAgICAgICAgICAgICBTdGF0dXMu c2tpcHBlZC5uYW1lOiAwLAorQEAgLTEyMiwxMCArMTYzLDIyIEBAIGNsYXNzIFN1bW1hcnlSZXBv cnRlcihSZXBvcnRlcik6CisgICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2VsZi5mYWlsZWRfc2Nl bmFyaW9zOgorICAgICAgICAgICAgIHN0cmVhbS53cml0ZSh1IiAgJXMgICVzXG4iICUgKHNjZW5h cmlvLmxvY2F0aW9uLCBzY2VuYXJpby5uYW1lKSkKKyAKKysgICAgZGVmIGNvbXB1dGVfc3VtbWFy eV9zdW1zKHNlbGYpOgorKyAgICAgICAgIiIiKFJlKUNvbXB1dGUgc3VtbWFyeSBzdW0gb2YgYWxs IGNvdW50cyAoZXhjZXB0OiBhbGwpLiIiIgorKyAgICAgICAgc3VtbWFyaWVzID0gWworKyAgICAg ICAgICAgIHNlbGYuZmVhdHVyZV9zdW1tYXJ5LAorKyAgICAgICAgICAgIHNlbGYucnVsZV9zdW1t YXJ5LAorKyAgICAgICAgICAgIHNlbGYuc2NlbmFyaW9fc3VtbWFyeSwKKysgICAgICAgICAgICBz ZWxmLnN0ZXBfc3VtbWFyeQorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHN1bW1hcnkgaW4gc3Vt bWFyaWVzOgorKyAgICAgICAgICAgIHN1bW1hcnlbImFsbCJdID0gY29tcHV0ZV9zdW1tYXJ5X3N1 bShzdW1tYXJ5KQorKworICAgICBkZWYgcHJpbnRfc3VtbWFyeShzZWxmLCBzdHJlYW09Tm9uZSwg d2l0aF9kdXJhdGlvbj1UcnVlKToKKyAgICAgICAgIGlmIHN0cmVhbSBpcyBOb25lOgorICAgICAg ICAgICAgIHN0cmVhbSA9IHNlbGYuc3RyZWFtCisgCisrICAgICAgICBzZWxmLmNvbXB1dGVfc3Vt bWFyeV9zdW1zKCkKKyAgICAgICAgIHN0cmVhbS53cml0ZShmb3JtYXRfc3VtbWFyeSgiZmVhdHVy ZSIsIHNlbGYuZmVhdHVyZV9zdW1tYXJ5KSkKKyAgICAgICAgIHJ1bGVzX3N1bW1hcnkgPSBmb3Jt YXRfc3VtbWFyeSgicnVsZSIsIHNlbGYucnVsZV9zdW1tYXJ5KQorICAgICAgICAgaWYgc2VsZi5z aG93X3J1bGVzIGFuZCBub3QgcnVsZXNfc3VtbWFyeS5zdHJpcCgpLnN0YXJ0c3dpdGgoIjAiKToK K0BAIC0xNDUsMTMgKzE5OCw3IEBAIGNsYXNzIFN1bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6Cisg ICAgICAgICAgICAgIyAtLSBESVNDT1ZFUjogVEVTVC1SVU4gc3RhcnRlZC4KKyAgICAgICAgICAg ICBzZWxmLnRlc3RydW5fc3RhcnRlZCgpCisgCistICAgICAgICBzZWxmLmZlYXR1cmVfc3VtbWFy eVtmZWF0dXJlLnN0YXR1cy5uYW1lXSArPSAxCistICAgICAgICBzZWxmLmR1cmF0aW9uICs9IGZl YXR1cmUuZHVyYXRpb24KKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlOgorLSAgICAg ICAgICAgIGlmIGlzaW5zdGFuY2Uoc2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSk6CistICAgICAg ICAgICAgICAgIHNlbGYucHJvY2Vzc19zY2VuYXJpb19vdXRsaW5lKHNjZW5hcmlvKQorLSAgICAg ICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19zY2VuYXJpbyhzY2Vu YXJpbykKKysgICAgICAgIHNlbGYucHJvY2Vzc19mZWF0dXJlKGZlYXR1cmUpCisgCisgICAgIGRl ZiBlbmQoc2VsZik6CisgICAgICAgICBzZWxmLnRlc3RydW5fZmluaXNoZWQoKQorQEAgLTE2NCw2 ICsyMTEsMjUgQEAgY2xhc3MgU3VtbWFyeVJlcG9ydGVyKFJlcG9ydGVyKToKKyAgICAgICAgICMg LS0gU0hPVyBTVU1NQVJZIENPVU5UUzoKKyAgICAgICAgIHNlbGYucHJpbnRfc3VtbWFyeSgpCisg CisrICAgIGRlZiBwcm9jZXNzX3J1bl9pdGVtc19mb3Ioc2VsZiwgcGFyZW50KToKKysgICAgICAg IGZvciBydW5faXRlbSBpbiBwYXJlbnQ6CisrICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5f aXRlbSwgUnVsZSk6CisrICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19ydWxlKHJ1bl9pdGVt KQorKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW9PdXRsaW5l KToKKysgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzX3NjZW5hcmlvX291dGxpbmUocnVuX2l0 ZW0pCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgIyBhc3NlcnQgaXNpbnN0 YW5jZShydW5faXRlbSwgU2NlbmFyaW8pCisrICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19z Y2VuYXJpbyhydW5faXRlbSkKKysKKysgICAgZGVmIHByb2Nlc3NfZmVhdHVyZShzZWxmLCBmZWF0 dXJlKToKKysgICAgICAgIHNlbGYuZHVyYXRpb24gKz0gZmVhdHVyZS5kdXJhdGlvbgorKyAgICAg ICAgc2VsZi5mZWF0dXJlX3N1bW1hcnlbZmVhdHVyZS5zdGF0dXMubmFtZV0gKz0gMQorKyAgICAg ICAgc2VsZi5wcm9jZXNzX3J1bl9pdGVtc19mb3IoZmVhdHVyZSkKKysKKysgICAgZGVmIHByb2Nl c3NfcnVsZShzZWxmLCBydWxlKToKKysgICAgICAgIHNlbGYucnVsZV9zdW1tYXJ5W3J1bGUuc3Rh dHVzLm5hbWVdICs9IDEKKysgICAgICAgIHNlbGYucHJvY2Vzc19ydW5faXRlbXNfZm9yKHJ1bGUp CisrCisgICAgIGRlZiBwcm9jZXNzX3NjZW5hcmlvKHNlbGYsIHNjZW5hcmlvKToKKyAgICAgICAg IGlmIHNjZW5hcmlvLnN0YXR1cyA9PSBTdGF0dXMuZmFpbGVkOgorICAgICAgICAgICAgIHNlbGYu ZmFpbGVkX3NjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW8pCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5p dC9yZXBvcnRlcnMvX19pbml0X18ucHkgYi90ZXN0cy91bml0L3JlcG9ydGVyL19faW5pdF9fLnB5 CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIHRlc3RzL3VuaXQvcmVwb3J0ZXJz L19faW5pdF9fLnB5CityZW5hbWUgdG8gdGVzdHMvdW5pdC9yZXBvcnRlci9fX2luaXRfXy5weQor ZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvcmVwb3J0ZXJzL3Rlc3Rfc3VtbWFyeS5weSBiL3Rlc3Rz L3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitzaW1pbGFyaXR5IGluZGV4IDk5JQorcmVu YW1lIGZyb20gdGVzdHMvdW5pdC9yZXBvcnRlcnMvdGVzdF9zdW1tYXJ5LnB5CityZW5hbWUgdG8g dGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkKK2luZGV4IDAyMTU0ZGIuLjk3YWRi YjUgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3JlcG9ydGVycy90ZXN0X3N1bW1hcnkucHkKKysr KyBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitAQCAtMTIwLDYgKzEyMCw3 IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgIHJlcG9ydGVy LmVuZCgpCisgCisgICAgICAgICBleHBlY3RlZCA9IHsKKysgICAgICAgICAgICAiYWxsIjogNSwK KyAgICAgICAgICAgICBTdGF0dXMucGFzc2VkLm5hbWU6IDIsCisgICAgICAgICAgICAgU3RhdHVz LmZhaWxlZC5uYW1lOiAxLAorICAgICAgICAgICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDEsCitA QCAtMTU2LDYgKzE1Nyw3IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAg ICAgICAgIHJlcG9ydGVyLmVuZCgpCisgCisgICAgICAgICBleHBlY3RlZCA9IHsKKysgICAgICAg ICAgICAiYWxsIjogNSwKKyAgICAgICAgICAgICBTdGF0dXMucGFzc2VkLm5hbWU6IDEsCisgICAg ICAgICAgICAgU3RhdHVzLmZhaWxlZC5uYW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1cy5za2lw cGVkLm5hbWU6IDEsCitAQCAtMjAxLDYgKzIwMyw3IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0 ZXIob2JqZWN0KToKKyAgICAgICAgIHJlcG9ydGVyLmVuZCgpCisgCisgICAgICAgICBleHBlY3Rl ZCA9IHsKKysgICAgICAgICAgICAiYWxsIjogNywKKyAgICAgICAgICAgICBTdGF0dXMucGFzc2Vk Lm5hbWU6IDIsCisgICAgICAgICAgICAgU3RhdHVzLmZhaWxlZC5uYW1lOiAzLAorICAgICAgICAg ICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDIsCitAQCAtMjQxLDYgKzI0NCw3IEBAIGNsYXNzIFRl c3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgIHJlcG9ydGVyLmVuZCgpCisgCisg ICAgICAgICBleHBlY3RlZCA9IHsKKysgICAgICAgICAgICAiYWxsIjogNSwKKyAgICAgICAgICAg ICBTdGF0dXMucGFzc2VkLm5hbWU6IDIsCisgICAgICAgICAgICAgU3RhdHVzLmZhaWxlZC5uYW1l OiAxLAorICAgICAgICAgICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDEsCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA1LVN1 bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA1 LVN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xYjQzNDY2ODUKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDA1LVN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1 bGVzLWFyZS0ucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA4MmJhNzM3NjVjZTU0NGRkM2Zh MTk4MzQyMjJhMDE0OThiYzZmZTZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDEzIE1h ciAyMDE5IDA4OjQxOjM3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFN1bW1hcnlSZXBvcnRlci5w cmludF9zdW1tYXJ5OiBTaW1wbGlmeSBpZiBSdWxlcyBhcmUgdXNlZC4KKworLS0tCisgYmVoYXZl L3JlcG9ydGVyL3N1bW1hcnkucHkgICAgICAgICAgfCA3ICsrKystLS0KKyB0ZXN0cy91bml0L3Jl cG9ydGVyL3Rlc3Rfc3VtbWFyeS5weSB8IDYgKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvcmVwb3J0 ZXIvc3VtbWFyeS5weSBiL2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CitpbmRleCAyY2NkYzhm Li4wOTI4NWVhIDEwMDY0NAorLS0tIGEvYmVoYXZlL3JlcG9ydGVyL3N1bW1hcnkucHkKKysrKyBi L2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CitAQCAtMTc5LDExICsxNzksMTIgQEAgY2xhc3Mg U3VtbWFyeVJlcG9ydGVyKFJlcG9ydGVyKToKKyAgICAgICAgICAgICBzdHJlYW0gPSBzZWxmLnN0 cmVhbQorIAorICAgICAgICAgc2VsZi5jb21wdXRlX3N1bW1hcnlfc3VtcygpCisrICAgICAgICBo YXNfcnVsZXMgPSAoc2VsZi5ydWxlX3N1bW1hcnlbImFsbCJdID4gMCkKKysKKyAgICAgICAgIHN0 cmVhbS53cml0ZShmb3JtYXRfc3VtbWFyeSgiZmVhdHVyZSIsIHNlbGYuZmVhdHVyZV9zdW1tYXJ5 KSkKKy0gICAgICAgIHJ1bGVzX3N1bW1hcnkgPSBmb3JtYXRfc3VtbWFyeSgicnVsZSIsIHNlbGYu cnVsZV9zdW1tYXJ5KQorLSAgICAgICAgaWYgc2VsZi5zaG93X3J1bGVzIGFuZCBub3QgcnVsZXNf c3VtbWFyeS5zdHJpcCgpLnN0YXJ0c3dpdGgoIjAiKToKKysgICAgICAgIGlmIHNlbGYuc2hvd19y dWxlcyBhbmQgaGFzX3J1bGVzOgorICAgICAgICAgICAgICMgLS0gSElOVDogU2hvdyBvbmx5IHJ1 bGVzLCBpZiBhbnkgZXhpc3RzLgorLSAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHJ1bGVz X3N1bW1hcnkpCisrICAgICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnko InJ1bGUiLCBzZWxmLnJ1bGVfc3VtbWFyeSkpCisgICAgICAgICBzdHJlYW0ud3JpdGUoZm9ybWF0 X3N1bW1hcnkoInNjZW5hcmlvIiwgc2VsZi5zY2VuYXJpb19zdW1tYXJ5KSkKKyAgICAgICAgIHN0 cmVhbS53cml0ZShmb3JtYXRfc3VtbWFyeSgic3RlcCIsIHNlbGYuc3RlcF9zdW1tYXJ5KSkKKyAK K2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weSBiL3Rlc3Rz L3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitpbmRleCA5N2FkYmI1Li5kNGU4NWI1IDEw MDY0NAorLS0tIGEvdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkKKysrKyBiL3Rl c3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitAQCAtMTY0LDcgKzE2NCw3IEBAIGNs YXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgICAgICBTdGF0dXMudW50 ZXN0ZWQubmFtZTogMSwKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHNjZW5hcmlvX2luZGV4ID0g MgorKyAgICAgICAgc2NlbmFyaW9faW5kZXggPSAxICAjIC0tIEhJTlQ6IEluZGV4IGZvciBzY2Vu YXJpb3MgaWYgbm8gUnVsZXMgYXJlIHVzZWQuCisgICAgICAgICBleHBlY3RlZF9wYXJ0cyA9ICgi c2NlbmFyaW8iLCBleHBlY3RlZCkKKyAgICAgICAgIGFzc2VydCBmb3JtYXRfc3VtbWFyeS5jYWxs X2FyZ3NfbGlzdFtzY2VuYXJpb19pbmRleF1bMF0gPT0gZXhwZWN0ZWRfcGFydHMKKyAKK0BAIC0y MDksNyArMjA5LDcgQEAgY2xhc3MgVGVzdFN1bW1hcnlSZXBvcnRlcihvYmplY3QpOgorICAgICAg ICAgICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDIsCisgICAgICAgICAgICAgU3RhdHVzLnVudGVz dGVkLm5hbWU6IDAsCisgICAgICAgICB9CistICAgICAgICBzY2VuYXJpb19pbmRleCA9IDIKKysg ICAgICAgIHNjZW5hcmlvX2luZGV4ID0gMSAgIyAtLSBISU5UOiBJbmRleCBmb3Igc2NlbmFyaW9z IGlmIG5vIFJ1bGVzIGFyZSB1c2VkLgorICAgICAgICAgZXhwZWN0ZWRfcGFydHMgPSAoInNjZW5h cmlvIiwgZXhwZWN0ZWQpCisgICAgICAgICBhc3NlcnQgZm9ybWF0X3N1bW1hcnkuY2FsbF9hcmdz X2xpc3Rbc2NlbmFyaW9faW5kZXhdWzBdID09IGV4cGVjdGVkX3BhcnRzCisgCitAQCAtMjUyLDYg KzI1Miw2IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgICAg ICBTdGF0dXMudW5kZWZpbmVkLm5hbWU6IDEsCisgICAgICAgICB9CisgCistICAgICAgICBzdGVw X2luZGV4ID0gMworKyAgICAgICAgc3RlcF9pbmRleCA9IDIgICMgSElOVDogSW5kZXggZm9yIHN0 ZXBzIGlmIG5vdCBydWxlcyBhcmUgdXNlZC4KKyAgICAgICAgIGV4cGVjdGVkX3BhcnRzID0gKCJz dGVwIiwgZXhwZWN0ZWQpCisgICAgICAgICBhc3NlcnQgZm9ybWF0X3N1bW1hcnkuY2FsbF9hcmdz X2xpc3Rbc3RlcF9pbmRleF1bMF0gPT0gZXhwZWN0ZWRfcGFydHMKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDYtRm9ybWF0 dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVsZXMucGF0Y2ggYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA2LUZvcm1hdHRlci1B ZGQtYmFzaWMtc3VwcG9ydC1vdXRwdXQtZm9yLVJ1bGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uYWQzMWQ4YTZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNi1Gb3JtYXR0 ZXItQWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZvci1SdWxlcy5wYXRjaApAQCAtMCwwICsxLDM5 NSBAQAorRnJvbSBlN2NhNWY5ZTYzYzBmMzVhYTllZTE3ZmI0ZDJiOGUwZGYwOTEyYmNmIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDEzIE1hciAyMDE5IDIzOjA4OjE5ICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdIEZvcm1hdHRlcjogQWRkIGJhc2ljIHN1cHBvcnQvb3V0cHV0IGZvciBSdWxl cy4KKworLS0tCisgYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5ICAgICB8IDE4ICsrKysrLS0tLS0t CisgYmVoYXZlL2Zvcm1hdHRlci9wbGFpbi5weSAgICB8IDYzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5ICAgfCAzMyArKysr KysrKysrKysrKystLS0tCisgYmVoYXZlL2Zvcm1hdHRlci9wcm9ncmVzcy5weSB8IDE4ICsrKysr KysrKystCisgYmVoYXZlL21vZGVsLnB5ICAgICAgICAgICAgICB8IDE0ICsrKystLS0tCisgNSBm aWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkgYi9iZWhhdmUvZm9ybWF0dGVyL2Jhc2Uu cHkKK2luZGV4IGY3MjY4ZmEuLmE4YjlmN2MgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVy L2Jhc2UucHkKKysrKyBiL2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weQorQEAgLTEyOSwxNSArMTI5 LDYgQEAgY2xhc3MgRm9ybWF0dGVyKG9iamVjdCk6CisgICAgICAgICAiIiIKKyAgICAgICAgIHBh c3MKKyAKKy0gICAgZGVmIGJhY2tncm91bmQoc2VsZiwgYmFja2dyb3VuZCk6CistICAgICAgICAi IiJDYWxsZWQgd2hlbiBhIChGZWF0dXJlKSBCYWNrZ3JvdW5kIGlzIHByb3ZpZGVkLgorLSAgICAg ICAgQ2FsbGVkIGFmdGVyIDptZXRob2Q6YGZlYXR1cmUoKWAgaXMgY2FsbGVkLgorLSAgICAgICAg Q2FsbGVkIGJlZm9yZSBwcm9jZXNzaW5nIGFueSBzY2VuYXJpb3Mgb3Igc2NlbmFyaW8gb3V0bGlu ZXMuCistCistICAgICAgICA6cGFyYW0gYmFja2dyb3VuZDogIEJhY2tncm91bmQgb2JqZWN0IChh cyA6Y2xhc3M6YGJlaGF2ZS5tb2RlbC5CYWNrZ3JvdW5kYCkKKy0gICAgICAgICIiIgorLSAgICAg ICAgcGFzcworLQorICAgICBkZWYgcnVsZShzZWxmLCBydWxlKToKKyAgICAgICAgICIiIkNhbGxl ZCBiZWZvcmUgYSBydWxlIGlzIGV4ZWN1dGVkLgorIAorQEAgLTE1Myw2ICsxNDQsMTUgQEAgY2xh c3MgRm9ybWF0dGVyKG9iamVjdCk6CisgICAgICMgICAgICIiIgorICAgICAjICAgICBwYXNzCisg CisrICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorKyAgICAgICAgIiIiQ2Fs bGVkIHdoZW4gYSAoRmVhdHVyZSkgQmFja2dyb3VuZCBpcyBwcm92aWRlZC4KKysgICAgICAgIENh bGxlZCBhZnRlciA6bWV0aG9kOmBmZWF0dXJlKClgIGlzIGNhbGxlZC4KKysgICAgICAgIENhbGxl ZCBiZWZvcmUgcHJvY2Vzc2luZyBhbnkgc2NlbmFyaW9zIG9yIHNjZW5hcmlvIG91dGxpbmVzLgor KworKyAgICAgICAgOnBhcmFtIGJhY2tncm91bmQ6ICBCYWNrZ3JvdW5kIG9iamVjdCAoYXMgOmNs YXNzOmBiZWhhdmUubW9kZWwuQmFja2dyb3VuZGApCisrICAgICAgICAiIiIKKysgICAgICAgIHBh c3MKKysKKyAgICAgZGVmIHNjZW5hcmlvKHNlbGYsIHNjZW5hcmlvKToKKyAgICAgICAgICIiIkNh bGxlZCBiZWZvcmUgYSBzY2VuYXJpbyBpcyBleGVjdXRlZCAob3IgU2NlbmFyaW9PdXRsaW5lIHNj ZW5hcmlvcykuCisgCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9wbGFpbi5weSBiL2Jl aGF2ZS9mb3JtYXR0ZXIvcGxhaW4ucHkKK2luZGV4IDlmMWY4MzMuLmU3MjA4MjkgMTAwNjQ0Cist LS0gYS9iZWhhdmUvZm9ybWF0dGVyL3BsYWluLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0dGVyL3Bs YWluLnB5CitAQCAtMjMsNiArMjMsOCBAQCBjbGFzcyBQbGFpbkZvcm1hdHRlcihGb3JtYXR0ZXIp OgorIAorICAgICBTSE9XX01VTFRJX0xJTkUgPSBUcnVlCisgICAgIFNIT1dfVEFHUyA9IEZhbHNl CisrICAgIFNIT1dfUlVMRVMgPSBUcnVlCisrICAgIFNIT1dfQkFDS0dST1VORFMgPSBUcnVlCisg ICAgIFNIT1dfQUxJR05FRF9LRVlXT1JEUyA9IEZhbHNlCisgICAgIERFRkFVTFRfSU5ERU5UX1NJ WkUgPSAyCisgICAgIFJBSVNFX09VVFBVVF9FUlJPUlMgPSBUcnVlCitAQCAtMzUsNiArMzcsNyBA QCBjbGFzcyBQbGFpbkZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgc2VsZi5zaG93X2Fs aWduZWRfa2V5d29yZHMgPSBzZWxmLlNIT1dfQUxJR05FRF9LRVlXT1JEUworICAgICAgICAgc2Vs Zi5zaG93X3RhZ3MgPSBzZWxmLlNIT1dfVEFHUworICAgICAgICAgc2VsZi5pbmRlbnRfc2l6ZSA9 IHNlbGYuREVGQVVMVF9JTkRFTlRfU0laRQorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBO b25lCisgICAgICAgICAjIC0tIEVOU1VSRTogT3V0cHV0IHN0cmVhbSBpcyBvcGVuLgorICAgICAg ICAgc2VsZi5zdHJlYW0gPSBzZWxmLm9wZW4oKQorICAgICAgICAgc2VsZi5wcmludGVyID0gTW9k ZWxQcmludGVyKHNlbGYuc3RyZWFtKQorQEAgLTQ5LDYgKzUyLDEwIEBAIGNsYXNzIFBsYWluRm9y bWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICAgICAgICAgIG9mZnNldCA9IDIKKyAgICAgICAg ICAgICBpbmRlbnRhdGlvbiA9IG1ha2VfaW5kZW50YXRpb24oMyAqIHNlbGYuaW5kZW50X3NpemUg KyBvZmZzZXQpCisgICAgICAgICAgICAgc2VsZi5fbXVsdGlsaW5lX2luZGVudGF0aW9uID0gaW5k ZW50YXRpb24KKysKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAg IGluZGVudF9leHRyYSA9IG1ha2VfaW5kZW50YXRpb24oc2VsZi5pbmRlbnRfc2l6ZSkKKysgICAg ICAgICAgICByZXR1cm4gc2VsZi5fbXVsdGlsaW5lX2luZGVudGF0aW9uICsgaW5kZW50X2V4dHJh CisgICAgICAgICByZXR1cm4gc2VsZi5fbXVsdGlsaW5lX2luZGVudGF0aW9uCisgCisgICAgIGRl ZiByZXNldF9zdGVwcyhzZWxmKToKK0BAIC02MCwzNyArNjcsNjkgQEAgY2xhc3MgUGxhaW5Gb3Jt YXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgICAgICB0ZXh0ID0gIiBAIi5qb2luKHRhZ3MpCisg ICAgICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlc0Alc1xuIiAlIChpbmRlbnQsIHRleHQp KQorIAorKyAgICBkZWYgd3JpdGVfZW50aXR5KHNlbGYsIGVudGl0eSwgaW5kZW50PSIiLCBoYXNf dGFncz1UcnVlKToKKysgICAgICAgIGlmIGhhc190YWdzOgorKyAgICAgICAgICAgIHNlbGYud3Jp dGVfdGFncyhlbnRpdHkudGFncywgaW5kZW50KQorKyAgICAgICAgdGV4dCA9IHUiJXMlczogJXNc biIgJSAoaW5kZW50LCBlbnRpdHkua2V5d29yZCwgZW50aXR5Lm5hbWUpCisrICAgICAgICBzZWxm LnN0cmVhbS53cml0ZSh0ZXh0KQorKworICAgICAjIC0tIElNUExFTUVOVC1JTlRFUkZBQ0UgRk9S OiBGb3JtYXR0ZXIKKyAgICAgZGVmIGZlYXR1cmUoc2VsZiwgZmVhdHVyZSk6CisrICAgICAgICBz ZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKyAgICAgICAgIHNlbGYucmVzZXRfc3RlcHMoKQorLSAg ICAgICAgc2VsZi53cml0ZV90YWdzKGZlYXR1cmUudGFncykKKy0gICAgICAgIHNlbGYuc3RyZWFt LndyaXRlKHUiJXM6ICVzXG4iICUgKGZlYXR1cmUua2V5d29yZCwgZmVhdHVyZS5uYW1lKSkKKysg ICAgICAgIHNlbGYud3JpdGVfZW50aXR5KGZlYXR1cmUpCisrICAgICAgICAjIHNlbGYud3JpdGVf dGFncyhmZWF0dXJlLnRhZ3MpCisrICAgICAgICAjIHNlbGYuc3RyZWFtLndyaXRlKHUiJXM6ICVz XG4iICUgKGZlYXR1cmUua2V5d29yZCwgZmVhdHVyZS5uYW1lKSkKKyAKKy0gICAgZGVmIGJhY2tn cm91bmQoc2VsZiwgYmFja2dyb3VuZCk6CisrICAgIGRlZiBydWxlKHNlbGYsIHJ1bGUpOgorKyAg ICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBydWxlCisgICAgICAgICBzZWxmLnJlc2V0X3N0ZXBz KCkKKyAgICAgICAgIGluZGVudCA9IG1ha2VfaW5kZW50YXRpb24oc2VsZi5pbmRlbnRfc2l6ZSkK Ky0gICAgICAgIHRleHQgPSB1IiVzJXM6ICVzXG4iICUgKGluZGVudCwgYmFja2dyb3VuZC5rZXl3 b3JkLCBiYWNrZ3JvdW5kLm5hbWUpCistICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh0ZXh0KQor KyAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSJcbiIpCisrICAgICAgICBzZWxmLndyaXRlX2Vu dGl0eShydWxlLCBpbmRlbnQpCisrICAgICAgICAjIHNlbGYuc3RyZWFtLndyaXRlKHUiJXMlczog JXNcbiIgJSAoaW5kZW50LCBydWxlLmtleXdvcmQsIHJ1bGUubmFtZSkpCisrCisrICAgIGRlZiBi YWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorKyAgICAgICAgc2VsZi5yZXNldF9zdGVwcygp CisrICAgICAgICBpZiBub3Qgc2VsZi5TSE9XX0JBQ0tHUk9VTkRTOgorKyAgICAgICAgICAgIHJl dHVybgorKworKyAgICAgICAgaW5kZW50X2V4dHJhID0gMAorKyAgICAgICAgaWYgc2VsZi5jdXJy ZW50X3J1bGU6CisrICAgICAgICAgICAgaW5kZW50X2V4dHJhID0gc2VsZi5pbmRlbnRfc2l6ZQor KworKyAgICAgICAgaW5kZW50ID0gbWFrZV9pbmRlbnRhdGlvbihzZWxmLmluZGVudF9zaXplICsg aW5kZW50X2V4dHJhKQorKyAgICAgICAgc2VsZi53cml0ZV9lbnRpdHkoYmFja2dyb3VuZCwgaW5k ZW50LCBoYXNfdGFncz1GYWxzZSkKKysgICAgICAgICMgdGV4dCA9IHUiJXMlczogJXNcbiIgJSAo aW5kZW50LCBiYWNrZ3JvdW5kLmtleXdvcmQsIGJhY2tncm91bmQubmFtZSkKKysgICAgICAgICMg c2VsZi5zdHJlYW0ud3JpdGUodGV4dCkKKyAKKyAgICAgZGVmIHNjZW5hcmlvKHNlbGYsIHNjZW5h cmlvKToKKysgICAgICAgIGluZGVudF9leHRyYSA9IDAKKysgICAgICAgIGlmIHNlbGYuY3VycmVu dF9ydWxlOgorKyAgICAgICAgICAgIGluZGVudF9leHRyYSA9IHNlbGYuaW5kZW50X3NpemUKKysK KyAgICAgICAgIHNlbGYucmVzZXRfc3RlcHMoKQorICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUo dSJcbiIpCistICAgICAgICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKHNlbGYuaW5kZW50X3Np emUpCistICAgICAgICB0ZXh0ID0gdSIlcyVzOiAlc1xuIiAlIChpbmRlbnQsIHNjZW5hcmlvLmtl eXdvcmQsIHNjZW5hcmlvLm5hbWUpCistICAgICAgICBzZWxmLndyaXRlX3RhZ3Moc2NlbmFyaW8u dGFncywgaW5kZW50KQorLSAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodGV4dCkKKysgICAgICAg IGluZGVudCA9IG1ha2VfaW5kZW50YXRpb24oc2VsZi5pbmRlbnRfc2l6ZSArIGluZGVudF9leHRy YSkKKysgICAgICAgIHNlbGYud3JpdGVfZW50aXR5KHNjZW5hcmlvLCBpbmRlbnQpCisrICAgICAg ICAjIHRleHQgPSB1IiVzJXM6ICVzXG4iICUgKGluZGVudCwgc2NlbmFyaW8ua2V5d29yZCwgc2Nl bmFyaW8ubmFtZSkKKysgICAgICAgICMgc2VsZi53cml0ZV90YWdzKHNjZW5hcmlvLnRhZ3MsIGlu ZGVudCkKKysgICAgICAgICMgc2VsZi5zdHJlYW0ud3JpdGUodGV4dCkKKyAKKyAgICAgZGVmIHN0 ZXAoc2VsZiwgc3RlcCk6CisgICAgICAgICBzZWxmLnN0ZXBzLmFwcGVuZChzdGVwKQorIAorICAg ICBkZWYgcmVzdWx0KHNlbGYsIHN0ZXApOgorLSAgICAgICAgIiIiCistICAgICAgICBQcm9jZXNz IHRoZSByZXN1bHQgb2YgYSBzdGVwIChhZnRlciBzdGVwIGV4ZWN1dGlvbikuCisrICAgICAgICAi IiJQcm9jZXNzIHRoZSByZXN1bHQgb2YgYSBzdGVwIChhZnRlciBzdGVwIGV4ZWN1dGlvbikuCisg CisgICAgICAgICA6cGFyYW0gc3RlcDogICBTdGVwIG9iamVjdCB3aXRoIHJlc3VsdCB0byBwcm9j ZXNzLgorICAgICAgICAgIiIiCisrICAgICAgICBpbmRlbnRfZXh0cmEgPSAwCisrICAgICAgICBp ZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAgICAgICBpbmRlbnRfZXh0cmEgPSBzZWxmLmlu ZGVudF9zaXplCisrCisgICAgICAgICBzdGVwID0gc2VsZi5zdGVwcy5wb3AoMCkKKy0gICAgICAg IGluZGVudCA9IG1ha2VfaW5kZW50YXRpb24oMiAqIHNlbGYuaW5kZW50X3NpemUpCisrICAgICAg ICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKDIgKiBzZWxmLmluZGVudF9zaXplICsgaW5kZW50 X2V4dHJhKQorICAgICAgICAgaWYgc2VsZi5zaG93X2FsaWduZWRfa2V5d29yZHM6CisgICAgICAg ICAgICAgIyAtLSBSSUdIVC1BTElHTiBLRVlXT1JEUyAobWF4LiBrZXl3b3JkIHdpZHRoOiA2KToK KyAgICAgICAgICAgICB0ZXh0ID0gdSIlcyU2cyAlcyAuLi4gIiAlIChpbmRlbnQsIHN0ZXAua2V5 d29yZCwgc3RlcC5uYW1lKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5 IGIvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKK2luZGV4IGI2ZjBlYWMuLjc5NGUxZDcgMTAw NjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weQorKysrIGIvYmVoYXZlL2Zvcm1h dHRlci9wcmV0dHkucHkKK0BAIC02LDcgKzYsNyBAQCBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYW5z aV9lc2NhcGVzIGltcG9ydCBlc2NhcGVzLCB1cAorIGZyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNl IGltcG9ydCBGb3JtYXR0ZXIKKyBmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMK KyBmcm9tIGJlaGF2ZS5tb2RlbF9kZXNjcmliZSBpbXBvcnQgZXNjYXBlX2NlbGwsIGVzY2FwZV90 cmlwbGVfcXVvdGVzCistZnJvbSBiZWhhdmUudGV4dHV0aWwgaW1wb3J0IGluZGVudCwgdGV4dCBh cyBfdGV4dAorK2Zyb20gYmVoYXZlLnRleHR1dGlsIGltcG9ydCBpbmRlbnQsIG1ha2VfaW5kZW50 YXRpb24sIHRleHQgYXMgX3RleHQKKyBpbXBvcnQgc2l4CisgZnJvbSBzaXgubW92ZXMgaW1wb3J0 IHJhbmdlLCB6aXAKKyAKK0BAIC04Niw2ICs4Niw3IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihG b3JtYXR0ZXIpOgorIAorICAgICBkZWYgcmVzZXQoc2VsZik6CisgICAgICAgICAjIC0tIFVOVVNF RDogc2VsZi50YWdfc3RhdGVtZW50ID0gTm9uZQorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUg PSBOb25lCisgICAgICAgICBzZWxmLnN0ZXBzID0gW10KKyAgICAgICAgIHNlbGYuX3VyaSA9IE5v bmUKKyAgICAgICAgIHNlbGYuX21hdGNoID0gTm9uZQorQEAgLTk5LDcgKzEwMCw5IEBAIGNsYXNz IFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorIAorICAgICBkZWYgZmVhdHVyZShzZWxmLCBm ZWF0dXJlKToKKyAgICAgICAgICNzZWxmLnByaW50X2NvbW1lbnRzKGZlYXR1cmUuY29tbWVudHMs ICcnKQorLSAgICAgICAgc2VsZi5wcmludF90YWdzKGZlYXR1cmUudGFncywgJycpCisrICAgICAg ICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKysgICAgICAgIHByZWZpeCA9ICIiCisrICAgICAg ICBzZWxmLnByaW50X3RhZ3MoZmVhdHVyZS50YWdzLCBwcmVmaXgpCisgICAgICAgICBzZWxmLnN0 cmVhbS53cml0ZSh1IiVzOiAlcyIgJSAoZmVhdHVyZS5rZXl3b3JkLCBmZWF0dXJlLm5hbWUpKQor ICAgICAgICAgaWYgc2VsZi5zaG93X3NvdXJjZToKKyAgICAgICAgICAgICAjIHB5bGludDogZGlz YWJsZT1yZWRlZmluZWQtYnVpbHRpbgorQEAgLTEwOSw2ICsxMTIsMTEgQEAgY2xhc3MgUHJldHR5 Rm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICBzZWxmLnByaW50X2Rlc2NyaXB0aW9uKGZl YXR1cmUuZGVzY3JpcHRpb24sICIgICIsIEZhbHNlKQorICAgICAgICAgc2VsZi5zdHJlYW0uZmx1 c2goKQorIAorKyAgICBkZWYgcnVsZShzZWxmLCBydWxlKToKKysgICAgICAgIHNlbGYucmVwbGF5 KCkKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gcnVsZQorKyAgICAgICAgc2VsZi5zdGF0 ZW1lbnQgPSBydWxlCisrCisgICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgor ICAgICAgICAgc2VsZi5yZXBsYXkoKQorICAgICAgICAgc2VsZi5zdGF0ZW1lbnQgPSBiYWNrZ3Jv dW5kCitAQCAtMTc2LDYgKzE4NCwxMCBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVy KToKKyAgICAgICAgIHNlbGYuc3RyZWFtLmZsdXNoKCkKKyAKKyAgICAgZGVmIHRhYmxlKHNlbGYs IHRhYmxlKToKKysgICAgICAgIHByZWZpeCA9IHUiICAgICAgIgorKyAgICAgICAgaWYgc2VsZi5j dXJyZW50X3J1bGU6CisrICAgICAgICAgICAgcHJlZml4ICs9IHUiICAiCisrCisgICAgICAgICBj ZWxsX2xlbmd0aHMgPSBbXQorICAgICAgICAgYWxsX3Jvd3MgPSBbdGFibGUuaGVhZGluZ3NdICsg dGFibGUucm93cworICAgICAgICAgZm9yIHJvdyBpbiBhbGxfcm93czoKK0BAIC0xODksNyArMjAx LDcgQEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICBmb3IgaSwg cm93IGluIGVudW1lcmF0ZShhbGxfcm93cyk6CisgICAgICAgICAgICAgI2ZvciBjb21tZW50IGlu IHJvdy5jb21tZW50czoKKyAgICAgICAgICAgICAjICAgIHNlbGYuc3RyZWFtLndyaXRlKCIgICAg ICAlc1xuIiAlIGNvbW1lbnQudmFsdWUpCistICAgICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUo IiAgICAgIHwiKQorKyAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiJXN8IiAlIHByZWZp eCkKKyAgICAgICAgICAgICBmb3IgaiwgKGNlbGwsIG1heF9sZW5ndGgpIGluIGVudW1lcmF0ZSh6 aXAocm93LCBtYXhfbGVuZ3RocykpOgorICAgICAgICAgICAgICAgICBzZWxmLnN0cmVhbS53cml0 ZSgiICIpCisgICAgICAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHNlbGYuY29sb3IoY2Vs bCwgTm9uZSwgaikpCitAQCAtMjAyLDYgKzIxNCw4IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihG b3JtYXR0ZXIpOgorICAgICAgICAgI3NlbGYuc3RyZWFtLndyaXRlKCcgICAgICAiIiInICsgZG9j X3N0cmluZy5jb250ZW50X3R5cGUgKyAnXG4nKQorICAgICAgICAgZG9jX3N0cmluZyA9IF90ZXh0 KGRvY19zdHJpbmcpCisgICAgICAgICBwcmVmaXggPSB1IiAgICAgICIKKysgICAgICAgIGlmIHNl bGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIHByZWZpeCArPSB1IiAgIgorICAgICAgICAg c2VsZi5zdHJlYW0ud3JpdGUodSclcyIiIlxuJyAlIHByZWZpeCkKKyAgICAgICAgIGRvY19zdHJp bmcgPSBlc2NhcGVfdHJpcGxlX3F1b3RlcyhpbmRlbnQoZG9jX3N0cmluZywgcHJlZml4KSkKKyAg ICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKGRvY19zdHJpbmcpCitAQCAtMjUxLDEyICsyNjUsMTYg QEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICBpZiBzZWxmLnN0 YXRlbWVudCBpcyBOb25lOgorICAgICAgICAgICAgIHJldHVybgorIAorKyAgICAgICAgcHJlZml4 ID0gdSIgICIKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlIGFuZCBzZWxmLnN0YXRlbWVu dC50eXBlICE9ICJydWxlIjoKKysgICAgICAgICAgICBwcmVmaXggKz0gcHJlZml4CisrCisgICAg ICAgICBzZWxmLmNhbGN1bGF0ZV9sb2NhdGlvbl9pbmRlbnRhdGlvbnMoKQorICAgICAgICAgc2Vs Zi5zdHJlYW0ud3JpdGUodSJcbiIpCisgICAgICAgICAjc2VsZi5wcmludF9jb21tZW50cyhzZWxm LnN0YXRlbWVudC5jb21tZW50cywgIiAgIikKKyAgICAgICAgIGlmIGhhc2F0dHIoc2VsZi5zdGF0 ZW1lbnQsICJ0YWdzIik6CistICAgICAgICAgICAgc2VsZi5wcmludF90YWdzKHNlbGYuc3RhdGVt ZW50LnRhZ3MsIHUiICAiKQorLSAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIgICVzOiAlcyAi ICUgKHNlbGYuc3RhdGVtZW50LmtleXdvcmQsCisrICAgICAgICAgICAgc2VsZi5wcmludF90YWdz KHNlbGYuc3RhdGVtZW50LnRhZ3MsIHByZWZpeCkKKysgICAgICAgIHNlbGYuc3RyZWFtLndyaXRl KHUiJXMlczogJXMgIiAlIChwcmVmaXgsIHNlbGYuc3RhdGVtZW50LmtleXdvcmQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZW1lbnQubmFtZSkp CisgCisgICAgICAgICBsb2NhdGlvbiA9IHNlbGYuaW5kZW50ZWRfdGV4dChzaXgudGV4dF90eXBl KHNlbGYuc3RhdGVtZW50LmxvY2F0aW9uKSwgVHJ1ZSkKK0BAIC0yNzksOCArMjk3LDExIEBAIGNs YXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgdGV4dF9mb3JtYXQgPSBz ZWxmLmZvcm1hdChzdGF0dXMubmFtZSkKKyAgICAgICAgIGFyZ19mb3JtYXQgPSBzZWxmLmFyZ19m b3JtYXQoc3RhdHVzLm5hbWUpCisgCisrICAgICAgICBwcmVmaXggPSB1IiAgICAiCisrICAgICAg ICBpZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAgICAgICBwcmVmaXggKz0gdSIgICIKKyAg ICAgICAgICNzZWxmLnByaW50X2NvbW1lbnRzKHN0ZXAuY29tbWVudHMsICIgICAgIikKKy0gICAg ICAgIHNlbGYuc3RyZWFtLndyaXRlKCIgICAgIikKKysgICAgICAgIHNlbGYuc3RyZWFtLndyaXRl KHByZWZpeCkKKyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHRleHRfZm9ybWF0LnRleHQoc3Rl cC5rZXl3b3JkICsgIiAiKSkKKyAgICAgICAgIGxpbmVfbGVuZ3RoID0gNSArIGxlbihzdGVwLmtl eXdvcmQpCisgCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9wcm9ncmVzcy5weSBiL2Jl aGF2ZS9mb3JtYXR0ZXIvcHJvZ3Jlc3MucHkKK2luZGV4IDZkOGFkZjYuLjNiNDcxZWQgMTAwNjQ0 CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3Byb2dyZXNzLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0 dGVyL3Byb2dyZXNzLnB5CitAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBQcm9ncmVzc0Zvcm1hdHRl ckJhc2UoRm9ybWF0dGVyKToKKyAgICAgICAgIHNlbGYuc3RlcHMgPSBbXQorICAgICAgICAgc2Vs Zi5mYWlsdXJlcyA9IFtdCisgICAgICAgICBzZWxmLmN1cnJlbnRfZmVhdHVyZSA9IE5vbmUKKysg ICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9uZQorICAgICAgICAgc2VsZi5jdXJyZW50X3Nj ZW5hcmlvID0gTm9uZQorICAgICAgICAgc2VsZi5zaG93X3RpbWluZ3MgPSBjb25maWcuc2hvd190 aW1pbmdzIGFuZCBzZWxmLnNob3dfdGltaW5ncworIAorQEAgLTUwLDE0ICs1MSwxOSBAQCBjbGFz cyBQcm9ncmVzc0Zvcm1hdHRlckJhc2UoRm9ybWF0dGVyKToKKyAgICAgICAgIHNlbGYuc3RlcHMg PSBbXQorICAgICAgICAgc2VsZi5mYWlsdXJlcyA9IFtdCisgICAgICAgICBzZWxmLmN1cnJlbnRf ZmVhdHVyZSA9IE5vbmUKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9uZQorICAgICAg ICAgc2VsZi5jdXJyZW50X3NjZW5hcmlvID0gTm9uZQorIAorICAgICAjIC0tIEZPUk1BVFRFUiBB UEk6CisgICAgIGRlZiBmZWF0dXJlKHNlbGYsIGZlYXR1cmUpOgorKyAgICAgICAgc2VsZi5jdXJy ZW50X3J1bGUgPSBOb25lCisgICAgICAgICBzZWxmLmN1cnJlbnRfZmVhdHVyZSA9IGZlYXR1cmUK KyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKCIlcyAgIiAlIHNpeC50ZXh0X3R5cGUoZmVhdHVy ZS5maWxlbmFtZSkpCisgICAgICAgICBzZWxmLnN0cmVhbS5mbHVzaCgpCisgCisrICAgIGRlZiBy dWxlKHNlbGYsIHJ1bGUpOgorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBydWxlCisrCisg ICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorICAgICAgICAgcGFzcworIAor QEAgLTIxOSw5ICsyMjUsMTYgQEAgY2xhc3MgU2NlbmFyaW9TdGVwUHJvZ3Jlc3NGb3JtYXR0ZXIo U3RlcFByb2dyZXNzRm9ybWF0dGVyKToKKyAKKyAgICAgIyAtLSBGT1JNQVRURVIgQVBJOgorICAg ICBkZWYgZmVhdHVyZShzZWxmLCBmZWF0dXJlKToKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxl ID0gTm9uZQorICAgICAgICAgc2VsZi5jdXJyZW50X2ZlYXR1cmUgPSBmZWF0dXJlCisgICAgICAg ICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzICAgICMgJXMiICUgKGZlYXR1cmUubmFtZSwgZmVhdHVy ZS5maWxlbmFtZSkpCisgCisrICAgIGRlZiBydWxlKHNlbGYsIHJ1bGUpOgorKyAgICAgICAgc2Vs Zi5jdXJyZW50X3J1bGUgPSBydWxlCisrICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IlxuXG4g ICVzOiAlcyAgICAjICVzIiAlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAocnVsZS5rZXl3 b3JkLCBydWxlLm5hbWUsIHJ1bGUubG9jYXRpb24pKQorKyAgICAgICAgc2VsZi5zdHJlYW0uZmx1 c2goKQorKworICAgICBkZWYgc2NlbmFyaW8oc2VsZiwgc2NlbmFyaW8pOgorICAgICAgICAgIiIi UHJvY2VzcyB0aGUgbmV4dCBzY2VuYXJpby4iIiIKKyAgICAgICAgICMgLS0gTEFTVCBTQ0VOQVJJ TzogUmVwb3J0IGZhaWx1cmVzIChpZiBhbnkpLgorQEAgLTIzMSw5ICsyNDQsMTIgQEAgY2xhc3Mg U2NlbmFyaW9TdGVwUHJvZ3Jlc3NGb3JtYXR0ZXIoU3RlcFByb2dyZXNzRm9ybWF0dGVyKToKKyAg ICAgICAgIGFzc2VydCBub3Qgc2VsZi5mYWlsdXJlcworICAgICAgICAgc2VsZi5jdXJyZW50X3Nj ZW5hcmlvID0gc2NlbmFyaW8KKyAgICAgICAgIHNjZW5hcmlvX25hbWUgPSBzY2VuYXJpby5uYW1l CisrICAgICAgICBwcmVmaXggPSBzZWxmLnNjZW5hcmlvX3ByZWZpeAorKyAgICAgICAgaWYgc2Vs Zi5jdXJyZW50X3J1bGU6CisrICAgICAgICAgICAgcHJlZml4ICs9IHUiICAiCisgICAgICAgICBp ZiBzY2VuYXJpb19uYW1lOgorICAgICAgICAgICAgIHNjZW5hcmlvX25hbWUgKz0gIiAiCistICAg ICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzJXMgIiAlIChzZWxmLnNjZW5hcmlvX3ByZWZpeCwg c2NlbmFyaW9fbmFtZSkpCisrICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzJXMgIiAlIChw cmVmaXgsIHNjZW5hcmlvX25hbWUpKQorICAgICAgICAgc2VsZi5zdHJlYW0uZmx1c2goKQorIAor ICAgICAjIC0tIERJU0FCTEVEOgorZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2 ZS9tb2RlbC5weQoraW5kZXggNjIzODMxMy4uMzA4NDg1MCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9t b2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5CitAQCAtMzE4LDEwICszMTgsMTAgQEAgY2xh c3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToK KyAgICAgICAgIHJ1bm5lci5jb250ZXh0LnRhZ3MgPSBzZXQoc2VsZi50YWdzKQorIAorICAgICAg ICAgc2tpcF9lbnRpdHlfdW50ZXN0ZWQgPSBydW5uZXIuYWJvcnRlZAorLSAgICAgICAgcnVuX2Vu dGl0eSA9IHNlbGYuc2hvdWxkX3J1bihydW5uZXIuY29uZmlnKQorKyAgICAgICAgc2hvdWxkX3J1 bl9lbnRpdHkgPSBzZWxmLnNob3VsZF9ydW4ocnVubmVyLmNvbmZpZykKKyAgICAgICAgIGZhaWxl ZF9jb3VudCA9IDAKKyAgICAgICAgIGhvb2tzX2NhbGxlZCA9IEZhbHNlCistICAgICAgICBpZiBu b3QgcnVubmVyLmNvbmZpZy5kcnlfcnVuIGFuZCBydW5fZW50aXR5OgorKyAgICAgICAgaWYgbm90 IHJ1bm5lci5jb25maWcuZHJ5X3J1biBhbmQgc2hvdWxkX3J1bl9lbnRpdHk6CisgICAgICAgICAg ICAgaG9va3NfY2FsbGVkID0gVHJ1ZQorICAgICAgICAgICAgIGZvciB0YWcgaW4gc2VsZi50YWdz OgorICAgICAgICAgICAgICAgICBydW5uZXIucnVuX2hvb2soImJlZm9yZV90YWciLCBydW5uZXIu Y29udGV4dCwgdGFnKQorQEAgLTMzMiwxMCArMzMyLDEwIEBAIGNsYXNzIFNjZW5hcmlvQ29udGFp bmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgIyAt LSBSRS1FVkFMVUFURSBTSE9VTEQtUlVOIFNUQVRFOgorICAgICAgICAgICAgICMgSG9vayBtYXkg Y2FsbCBlbnRpdHkubWFya19za2lwcGVkKCkgdG8gZXhjbHVkZSBpdC4KKyAgICAgICAgICAgICBz a2lwX2VudGl0eV91bnRlc3RlZCA9IHNlbGYuaG9va19mYWlsZWQgb3IgcnVubmVyLmFib3J0ZWQK Ky0gICAgICAgICAgICBydW5fZW50aXR5ID0gc2VsZi5zaG91bGRfcnVuKCkKKysgICAgICAgICAg ICBzaG91bGRfcnVuX2VudGl0eSA9IHNlbGYuc2hvdWxkX3J1bigpCisgCisgICAgICAgICAjIHJ1 biB0aGlzIGVudGl0eSBpZiB0aGUgdGFncyBzYXkgc28gb3IgYW55IG9uZSBvZiBpdHMgc2NlbmFy aW9zCistICAgICAgICBpZiBydW5fZW50aXR5IG9yIHJ1bm5lci5jb25maWcuc2hvd19za2lwcGVk OgorKyAgICAgICAgaWYgc2hvdWxkX3J1bl9lbnRpdHkgb3IgcnVubmVyLmNvbmZpZy5zaG93X3Nr aXBwZWQ6CisgICAgICAgICAgICAgZm9yIGZvcm1hdHRlciBpbiBydW5uZXIuZm9ybWF0dGVyczoK KyAgICAgICAgICAgICAgICAgZm9ybWF0dGVyX2NhbGxiYWNrID0gZ2V0YXR0cihmb3JtYXR0ZXIs IGVudGl0eV9uYW1lLCBOb25lKQorICAgICAgICAgICAgICAgICBpZiBmb3JtYXR0ZXJfY2FsbGJh Y2s6CitAQCAtMzYzLDcgKzM2Myw3IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0 YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgYnJl YWsKKyAKKyAgICAgICAgIHNlbGYuY2xlYXJfc3RhdHVzKCkgICMgLS0gRU5GT1JDRTogY29tcHV0 ZV9zdGF0dXMoKSBhZnRlciBydW4uCistICAgICAgICBpZiBub3Qgc2VsZi5ydW5faXRlbXMgYW5k IG5vdCBydW5fZW50aXR5OgorKyAgICAgICAgaWYgbm90IHNlbGYucnVuX2l0ZW1zIGFuZCBub3Qg c2hvdWxkX3J1bl9lbnRpdHk6CisgICAgICAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IEZlYXR1 cmUgd2l0aG91dCBzY2VuYXJpb3MKKyAgICAgICAgICAgICBzZWxmLnNldF9zdGF0dXMoU3RhdHVz LnNraXBwZWQpCisgCitAQCAtMzgyLDcgKzM4Miw3IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVy KFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgIyAtLSBD TEVBTlVQLUVSUk9SOgorICAgICAgICAgICAgIHNlbGYuc2V0X3N0YXR1cyhTdGF0dXMuZmFpbGVk KQorIAorLSAgICAgICAgaWYgcnVuX2VudGl0eSBvciBydW5uZXIuY29uZmlnLnNob3dfc2tpcHBl ZDoKKysgICAgICAgIGlmIHNob3VsZF9ydW5fZW50aXR5IG9yIHJ1bm5lci5jb25maWcuc2hvd19z a2lwcGVkOgorICAgICAgICAgICAgIGNhbGxiYWNrX25hbWUgPSAiezB9X2ZpbmlzaGVkIi5mb3Jt YXQoZW50aXR5X25hbWUpCisgICAgICAgICAgICAgaWYgZW50aXR5X25hbWUgPT0gImZlYXR1cmUi OgorICAgICAgICAgICAgICAgICBjYWxsYmFja19uYW1lID0gImVvZiIKK0BAIC02MDgsNyArNjA4 LDYgQEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6CisgICAgIC4uIHZlcnNpb25hZGRl ZDo6IDEuMi43CisgICAgIC4uIF9gZmVhdHVyZWA6IGdoZXJraW4uaHRtbCNydWxlCisgICAgICIi IgorLQorICAgICB0eXBlID0gInJ1bGUiCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxl bmFtZSwgbGluZSwga2V5d29yZCwgbmFtZSwgdGFncz1Ob25lLAorQEAgLTYyNSw3ICs2MjQsNiBA QCBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFpbmVyKToKKyAgICAgICAgICAgICAoc2VsZi5uYW1l LCBsZW4oc2VsZi5zY2VuYXJpb3MpKQorIAorIAorLQorIGNsYXNzIEJhY2tncm91bmQoQmFzaWNT dGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAiIiJBIGBiYWNrZ3JvdW5kYF8gcGFyc2VkIGZy b20gYSAqZmVhdHVyZSBmaWxlKi4KKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDctQlVNUC1WRVJTSU9OLTEuMi43LmRl djEtd2FzLTEuMi43LmRldjAucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDA3LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIu Ny5kZXYwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmU3Yjhj NDNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAwNy1CVU1QLVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcu ZGV2MC5wYXRjaApAQCAtMCwwICsxLDY3IEBACitGcm9tIGExODgxZmE1ZTRkOWZlMjQ5M2I5YWQ1 OGM4NTc4MDBkZWM1OThiZDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lz IDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTMgTWFyIDIw MTkgMjM6MTE6NTAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQlVNUC1WRVJTSU9OOiAxLjIuNy5k ZXYxICh3YXM6IDEuMi43LmRldjApCisKKy0tLQorIC5idW1wdmVyc2lvbi5jZmcgICB8IDIgKy0K KyBWRVJTSU9OLnR4dCAgICAgICAgfCAyICstCisgYmVoYXZlL19faW5pdF9fLnB5IHwgMiArLQor IHB5dGVzdC5pbmkgICAgICAgICB8IDIgKy0KKyBzZXR1cC5weSAgICAgICAgICAgfCAyICstCisg NSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS8uYnVtcHZlcnNpb24uY2ZnIGIvLmJ1bXB2ZXJzaW9uLmNmZworaW5kZXggZjM4N2Q0 My4uYWM5MTNjMiAxMDA2NDQKKy0tLSBhLy5idW1wdmVyc2lvbi5jZmcKKysrKyBiLy5idW1wdmVy c2lvbi5jZmcKK0BAIC0xLDUgKzEsNSBAQAorIFtidW1wdmVyc2lvbl0KKy1jdXJyZW50X3ZlcnNp b24gPSAxLjIuNy5kZXYwCisrY3VycmVudF92ZXJzaW9uID0gMS4yLjcuZGV2MQorIGZpbGVzID0g YmVoYXZlL19faW5pdF9fLnB5IHNldHVwLnB5IFZFUlNJT04udHh0IHB5dGVzdC5pbmkgLmJ1bXB2 ZXJzaW9uLmNmZworIHBhcnNlID0gKD9QPG1ham9yPlxkKylcLig/UDxtaW5vcj5cZCspXC4oP1A8 cGF0Y2g+XGQrKSg/UDxkcm9wPlx3KikKKyBzZXJpYWxpemUgPSB7bWFqb3J9LnttaW5vcn0ue3Bh dGNofXtkcm9wfQorZGlmZiAtLWdpdCBhL1ZFUlNJT04udHh0IGIvVkVSU0lPTi50eHQKK2luZGV4 IDRlNjNlZWYuLmMwZWYzNmIgMTAwNjQ0CistLS0gYS9WRVJTSU9OLnR4dAorKysrIGIvVkVSU0lP Ti50eHQKK0BAIC0xICsxIEBACistMS4yLjcuZGV2MAorKzEuMi43LmRldjEKK2RpZmYgLS1naXQg YS9iZWhhdmUvX19pbml0X18ucHkgYi9iZWhhdmUvX19pbml0X18ucHkKK2luZGV4IDg4ODgzNTUu LjMxZTRlNTUgMTAwNjQ0CistLS0gYS9iZWhhdmUvX19pbml0X18ucHkKKysrKyBiL2JlaGF2ZS9f X2luaXRfXy5weQorQEAgLTI5LDQgKzI5LDQgQEAgX19hbGxfXyA9IFsKKyAgICAgIyAtLSBERVBS RUNBVElORzoKKyAgICAgInN0ZXBfbWF0Y2hlciIKKyBdCistX192ZXJzaW9uX18gPSAiMS4yLjcu ZGV2MCIKKytfX3ZlcnNpb25fXyA9ICIxLjIuNy5kZXYxIgorZGlmZiAtLWdpdCBhL3B5dGVzdC5p bmkgYi9weXRlc3QuaW5pCitpbmRleCA3MGUxMGNkLi4xN2FkMzg4IDEwMDY0NAorLS0tIGEvcHl0 ZXN0LmluaQorKysrIGIvcHl0ZXN0LmluaQorQEAgLTIwLDcgKzIwLDcgQEAgbWludmVyc2lvbiAg ICA9IDIuOAorIHRlc3RwYXRocyAgICAgPSB0ZXN0IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRl c3RfKi5weQorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUK Ky0gICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2MAorKyAgICAtLW1ldGFk YXRhIFBBQ0tBR0VfVkVSU0lPTiAxLjIuNy5kZXYxCisgICAgIC0taHRtbD1idWlsZC90ZXN0aW5n L3JlcG9ydC5odG1sIC0tc2VsZi1jb250YWluZWQtaHRtbAorICAgICAtLWp1bml0LXhtbD1idWls ZC90ZXN0aW5nL3JlcG9ydC54bWwKKyBtYXJrZXJzID0KK2RpZmYgLS1naXQgYS9zZXR1cC5weSBi L3NldHVwLnB5CitpbmRleCBjYjNiMzM4Li5jNWFmMjYyIDEwMDY0NAorLS0tIGEvc2V0dXAucHkK KysrKyBiL3NldHVwLnB5CitAQCAtNTUsNyArNTUsNyBAQCBkZWYgZmluZF9wYWNrYWdlc19ieV9y b290X3BhY2thZ2Uod2hlcmUpOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzZXR1cCgKKyAg ICAgbmFtZT0iYmVoYXZlIiwKKy0gICAgdmVyc2lvbj0iMS4yLjcuZGV2MCIsCisrICAgIHZlcnNp b249IjEuMi43LmRldjEiLAorICAgICBkZXNjcmlwdGlvbj0iYmVoYXZlIGlzIGJlaGF2aW91ci1k cml2ZW4gZGV2ZWxvcG1lbnQsIFB5dGhvbiBzdHlsZSIsCisgICAgIGxvbmdfZGVzY3JpcHRpb249 ZGVzY3JpcHRpb24sCisgICAgIGF1dGhvcj0iSmVucyBFbmdlbCwgQmVubm8gUmljZSBhbmQgUmlj aGFyZCBKb25lcyIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDA4LUNvcnJlY3QtZXhhbXBsZXMtYW5kLWRvY3N0cmluZy5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uODE3OTg3OWFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOC1Db3Jy ZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBm ZjIzZGFkYjMyMzg5NTE4OTcyZjc3NzZkOGU3ZWEzZmU5MTAyMjU2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5IDIyOjE0OjU0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hd IENvcnJlY3QgZXhhbXBsZXMgYW5kIGRvY3N0cmluZworCistLS0KKyBiZWhhdmUvY29udHJpYi9z Y2VuYXJpb19hdXRvcmV0cnkucHkgfCAyICstCisgYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5ICAg ICAgICAgICAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9jb250cmliL3NjZW5hcmlvX2F1dG9y ZXRyeS5weSBiL2JlaGF2ZS9jb250cmliL3NjZW5hcmlvX2F1dG9yZXRyeS5weQoraW5kZXggMmI3 Zjk0Zi4uMjU5MmQxMCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9jb250cmliL3NjZW5hcmlvX2F1dG9y ZXRyeS5weQorKysrIGIvYmVoYXZlL2NvbnRyaWIvc2NlbmFyaW9fYXV0b3JldHJ5LnB5CitAQCAt MjQsNyArMjQsNyBAQCBFWEFNUExFOgorICAgICBmcm9tIGJlaGF2ZS5jb250cmliLnNjZW5hcmlv X2F1dG9yZXRyeSBpbXBvcnQgcGF0Y2hfc2NlbmFyaW9fd2l0aF9hdXRvcmV0cnkKKyAKKyAgICAg ZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpOgorLSAgICAgICAgZm9yIHNjZW5h cmlvIGluIGZlYXR1cmUuc2NlbmFyaW9zOgorKyAgICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1 cmUud2Fsa19zY2VuYXJpb3MoKToKKyAgICAgICAgICAgICBpZiAiYXV0b3JldHJ5IiBpbiBzY2Vu YXJpby5lZmZlY3RpdmVfdGFnczoKKyAgICAgICAgICAgICAgICAgcGF0Y2hfc2NlbmFyaW9fd2l0 aF9hdXRvcmV0cnkoc2NlbmFyaW8sIG1heF9hdHRlbXB0cz0yKQorIAorZGlmZiAtLWdpdCBhL2Jl aGF2ZS9mb3JtYXR0ZXIvYmFzZS5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weQoraW5kZXgg YThiOWY3Yy4uN2Y1OWFkNCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weQor KysrIGIvYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5CitAQCAtNzQsMTEgKzc0LDEyIEBAIGNsYXNz IEZvcm1hdHRlcihvYmplY3QpOgorIAorICAgICBQcm9jZXNzaW5nIExvZ2ljIChzaW1wbGlmaWVk LCB3aXRob3V0IFNjZW5hcmlvT3V0bGluZSBhbmQgc2tpcCBsb2dpYyk6OgorIAorKyAgICAgICAg IyAtLSBISU5UOiBSdWxlIHByb2Nlc3NpbmcgaXMgbWlzc2luZy4KKyAgICAgICAgIGZvciBmZWF0 dXJlIGluIHJ1bm5lci5mZWF0dXJlczoKKyAgICAgICAgICAgICBmb3JtYXR0ZXIgPSBtYWtlX2Zv cm1hdHRlcnMoLi4uKQorICAgICAgICAgICAgIGZvcm1hdHRlci51cmkoZmVhdHVyZS5maWxlbmFt ZSkKKyAgICAgICAgICAgICBmb3JtYXR0ZXIuZmVhdHVyZShmZWF0dXJlKQorLSAgICAgICAgICAg IGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlLnNjZW5hcmlvczoKKysgICAgICAgICAgICBmb3Igc2Nl bmFyaW8gaW4gZmVhdHVyZS53YWxrX3NjZW5hcmlvcygpOgorICAgICAgICAgICAgICAgICBmb3Jt YXR0ZXIuc2NlbmFyaW8oc2NlbmFyaW8pCisgICAgICAgICAgICAgICAgIGZvciBzdGVwIGluIHNj ZW5hcmlvLmFsbF9zdGVwczoKKyAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlci5zdGVwKHN0 ZXApCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDA5LUZJWC1mZWF0dXJlLnJ1bl9pdGVtcy1wcm9jZXNzaW5nLXdpdGgtUnVs ZS1zLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAwOS1GSVgtZmVhdHVyZS5ydW5faXRlbXMtcHJvY2Vzc2luZy13aXRoLVJ1bGUtcy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjczOWRiMGZjMwotLS0g L2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMDktRklYLWZlYXR1cmUucnVuX2l0ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxl LXMucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorRnJvbSAzNmRiNjI2NDU1NWMxYjRhOWU3MDczMzNj ZjJhODVlZmJiMjdmZGQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5 IDIyOjE1OjM0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogZmVhdHVyZS5ydW5faXRlbXMg cHJvY2Vzc2luZyB3aXRoIFJ1bGUocykuCisKKy0tLQorIGJlaGF2ZS9yZXBvcnRlci9qdW5pdC5w eSB8IDI0ICsrKysrKysrKysrKysrKystLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNl cnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3JlcG9ydGVy L2p1bml0LnB5IGIvYmVoYXZlL3JlcG9ydGVyL2p1bml0LnB5CitpbmRleCA0OGUxNDExLi45MDE4 Mzk5IDEwMDY0NAorLS0tIGEvYmVoYXZlL3JlcG9ydGVyL2p1bml0LnB5CisrKysgYi9iZWhhdmUv cmVwb3J0ZXIvanVuaXQucHkKK0BAIC03NSw3ICs3NSw3IEBAIGltcG9ydCBjb2RlY3MKKyBmcm9t IHhtbC5ldHJlZSBpbXBvcnQgRWxlbWVudFRyZWUKKyBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRl dGltZQorIGZyb20gYmVoYXZlLnJlcG9ydGVyLmJhc2UgaW1wb3J0IFJlcG9ydGVyCistZnJvbSBi ZWhhdmUubW9kZWwgaW1wb3J0IFNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUsIFN0ZXAKKytmcm9t IGJlaGF2ZS5tb2RlbCBpbXBvcnQgUnVsZSwgU2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSwgU3Rl cAorIGZyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0IFN0YXR1cworIGZyb20gYmVoYXZlLmZv cm1hdHRlciBpbXBvcnQgYW5zaV9lc2NhcGVzCisgZnJvbSBiZWhhdmUubW9kZWxfZGVzY3JpYmUg aW1wb3J0IE1vZGVsRGVzY3JpcHRvcgorQEAgLTIzNiwxMyArMjM2LDggQEAgY2xhc3MgSlVuaXRS ZXBvcnRlcihSZXBvcnRlcik6CisgICAgICAgICBmZWF0dXJlX25hbWUgPSBmZWF0dXJlLm5hbWUg b3IgZmVhdHVyZV9maWxlbmFtZQorICAgICAgICAgc3VpdGUuc2V0KHUnbmFtZScsIHUnJXMuJXMn ICUgKGNsYXNzbmFtZSwgZmVhdHVyZV9uYW1lKSkKKyAKKy0gICAgICAgICMgLS0gQlVJTEQtVEVT VENBU0VTOiBGcm9tIHNjZW5hcmlvcworLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1cmU6 CistICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lKToK Ky0gICAgICAgICAgICAgICAgc2NlbmFyaW9fb3V0bGluZSA9IHNjZW5hcmlvCistICAgICAgICAg ICAgICAgIHNlbGYuX3Byb2Nlc3Nfc2NlbmFyaW9fb3V0bGluZShzY2VuYXJpb19vdXRsaW5lLCBy ZXBvcnQpCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgc2VsZi5fcHJvY2Vz c19zY2VuYXJpbyhzY2VuYXJpbywgcmVwb3J0KQorKyAgICAgICAgIyAtLSBCVUlMRC1URVNUQ0FT RVM6IEZyb20gcnVuX2l0ZW1zIChhbmQgc2NlbmFyaW9zKQorKyAgICAgICAgc2VsZi5fcHJvY2Vz c19ydW5faXRlbXNfZm9yKGZlYXR1cmUsIHJlcG9ydCkKKyAKKyAgICAgICAgICMgLS0gQUREIFRF U1RDQVNFUyB0byB0ZXN0c3VpdGU6CisgICAgICAgICBmb3IgdGVzdGNhc2UgaW4gcmVwb3J0LnRl c3RjYXNlczoKK0BAIC00NTcsNiArNDUyLDE5IEBAIGNsYXNzIEpVbml0UmVwb3J0ZXIoUmVwb3J0 ZXIpOgorICAgICAgICAgaWYgc2NlbmFyaW8uc3RhdHVzICE9IFN0YXR1cy5za2lwcGVkIG9yIHNl bGYuc2hvd19za2lwcGVkOgorICAgICAgICAgICAgIHJlcG9ydC50ZXN0Y2FzZXMuYXBwZW5kKGNh c2UpCisgCisrICAgIGRlZiBfcHJvY2Vzc19ydW5faXRlbXNfZm9yKHNlbGYsIHBhcmVudCwgcmVw b3J0KToKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBwYXJlbnQucnVuX2l0ZW1zOgorKyAgICAg ICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFJ1bGUpOgorKyAgICAgICAgICAgICAgICBz ZWxmLl9wcm9jZXNzX3J1bGUocnVuX2l0ZW0sIHJlcG9ydCkKKysgICAgICAgICAgICBlbGlmIGlz aW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisrICAgICAgICAgICAgICAgIHNl bGYuX3Byb2Nlc3Nfc2NlbmFyaW9fb3V0bGluZShydW5faXRlbSwgcmVwb3J0KQorKyAgICAgICAg ICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJ1bl9pdGVtLCBT Y2VuYXJpbykKKysgICAgICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc19zY2VuYXJpbyhydW5faXRl bSwgcmVwb3J0KQorKworKyAgICBkZWYgX3Byb2Nlc3NfcnVsZShzZWxmLCBydWxlLCByZXBvcnQp OgorKyAgICAgICAgc2VsZi5fcHJvY2Vzc19ydW5faXRlbXNfZm9yKHJ1bGUsIHJlcG9ydCkKKysK KyAgICAgZGVmIF9wcm9jZXNzX3NjZW5hcmlvX291dGxpbmUoc2VsZiwgc2NlbmFyaW9fb3V0bGlu ZSwgcmVwb3J0KToKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNjZW5hcmlvX291dGxpbmUs IFNjZW5hcmlvT3V0bGluZSkKKyAgICAgICAgIGZvciBzY2VuYXJpbyBpbiBzY2VuYXJpb19vdXRs aW5lOgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAxMC1kb2NzLURpc2FibGUtc3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVB RFRIRURPQ1MucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDEwLWRvY3MtRGlzYWJsZS1zcGhpbngtaW50bC1zdXBwb3J0LWZvci1SRUFE VEhFRE9DUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQwZGQ5 MjI1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTAtZG9jcy1EaXNhYmxlLXNwaGlueC1pbnRsLXN1cHBvcnQt Zm9yLVJFQURUSEVET0NTLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gZjIwNDIzMjY0NGZk Y2E4NDEyOTJmNjE4YTc4YzU2MDVjYzViOWFjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3Vu LCAyNiBNYXkgMjAxOSAxNDo0MDozOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBkb2NzOiBEaXNh YmxlIHNwaGlueC1pbnRsIHN1cHBvcnQgZm9yIFJFQURUSEVET0NTLgorCistLS0KKyBkb2NzL2Nv bmYucHkgfCAxNyArKysrKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9jb25mLnB5IGIvZG9j cy9jb25mLnB5CitpbmRleCBkMzhkYjdhLi5mOWRmYjZhIDEwMDY0NAorLS0tIGEvZG9jcy9jb25m LnB5CisrKysgYi9kb2NzL2NvbmYucHkKK0BAIC0zLDYgKzMsNyBAQAorICMgU1BISU5YIENPTkZJ R1VSQVRJT046IGJlaGF2ZSBkb2N1bWVudGF0aW9uIGJ1aWxkIGNvbmZpZ3VyYXRpb24gZmlsZQor ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50 X2Z1bmN0aW9uCisgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQgc3lzCisgaW1wb3J0IGltcG9ydGxp YgorQEAgLTEzLDYgKzE0LDEzIEBAIGltcG9ydCBpbXBvcnRsaWIKKyAjIGRvY3VtZW50YXRpb24g cm9vdCwgdXNlIG9zLnBhdGguYWJzcGF0aCB0byBtYWtlIGl0IGFic29sdXRlLCBsaWtlIHNob3du IGhlcmUuCisgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgiLi4iKSkKKyAKKysj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgREVURUNUIEJVSUxEIENPTlRFWFQKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorK09OX1JFQURUSEVET0NTID0gb3MuZW52aXJvbi5nZXQoIlJFQURU SEVET0NTIiwgTm9uZSkgPT0gIlRydWUiCisrVVNFX1NQSElOWF9JTlRFUk5BVElPTkFMID0gbm90 IE9OX1JFQURUSEVET0NTCisrCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEVYVEVO U0lPTlMgQ09ORklHVVJBVElPTgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtODIsOCAr OTAsMTAgQEAgbWFzdGVyX2RvYyA9ICJpbmRleCIKKyAjIC0tIE1VTFRJLUxBTkdVQUdFIFNVUFBP UlQ6IGVuLCAuLi4KKyAjIFNFRTogaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L3NwaGlueC1pbnRs LworICMgU0VFOiBodHRwczovL2dpdGh1Yi5jb20vc3BoaW54LWRvYy9zcGhpbngtaW50bC8KKy1s b2NhbGVfZGlycyA9IFsibG9jYWxlLyJdICAgIyBwYXRoIGlzIGV4YW1wbGUgYnV0IHJlY29tbWVu ZGVkLgorLWdldHRleHRfY29tcGFjdCA9IEZhbHNlICAgICAjIG9wdGlvbmFsLgorK2lmIFVTRV9T UEhJTlhfSU5URVJOQVRJT05BTDoKKysgICAgbG9jYWxlX2RpcnMgPSBbImxvY2FsZS8iXSAgICMg cGF0aCBpcyBleGFtcGxlIGJ1dCByZWNvbW1lbmRlZC4KKysgICAgZ2V0dGV4dF9jb21wYWN0ID0g RmFsc2UgICAgICMgb3B0aW9uYWwuCisrICAgIHByaW50KCJVU0UgU1BISU5YLUlOVEw6IGxvY2Fs ZV9kaXJzPSVzIiAlICIsIi5qb2luKGxvY2FsZV9kaXJzKSkKKyAKKyAjIFNURVBTOgorICMgICBt YWtlIGdldHRleHQKK0BAIC0xNTUsOCArMTY1LDcgQEAgdG9kb19pbmNsdWRlX3RvZG9zID0gRmFs c2UKKyBodG1sX3RoZW1lID0gImtyIgorIGh0bWxfdGhlbWUgPSAiYm9vdHN0cmFwIgorIAorLW9u X3J0ZCA9IG9zLmVudmlyb24uZ2V0KCJSRUFEVEhFRE9DUyIsIE5vbmUpID09ICJUcnVlIgorLWlm IG9uX3J0ZDoKKytpZiBPTl9SRUFEVEhFRE9DUzoKKyAgICAgaHRtbF90aGVtZSA9ICJkZWZhdWx0 IgorIAorIGlmIGh0bWxfdGhlbWUgPT0gImJvb3RzdHJhcCI6CmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDExLUNsZWFudXAt RGVwZW5kZW50LXBhY2thZ2UtdmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMS1DbGVhbnVw LURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25zLWluLXJlcXVpcmVtZW50cy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmJkODAxNTE5MAotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw MTEtQ2xlYW51cC1EZXBlbmRlbnQtcGFja2FnZS12ZXJzaW9ucy1pbi1yZXF1aXJlbWVudHMucGF0 Y2gKQEAgLTAsMCArMSw4MSBAQAorRnJvbSBmNTk5MjhhNWVmNzc1N2I5YTYzOTRkMzMwMDU5NzNj MGJmYThiNmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDE4IEFwciAyMDE5IDE5OjAy OjQzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENsZWFudXA6IERlcGVuZGVudCBwYWNrYWdlIHZl cnNpb25zIGluIHJlcXVpcmVtZW50cy4KKworLS0tCisgcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4 dCAgIHwgMiArLQorIHB5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCB8IDQgKystLQorIHB5LnJl cXVpcmVtZW50cy90ZXN0aW5nLnR4dCB8IDIgKy0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAg ICAgfCA2ICsrKy0tLQorIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCBiL3B5LnJl cXVpcmVtZW50cy9iYXNpYy50eHQKK2luZGV4IDllZWJjYWQuLjNiNzFiZmIgMTAwNjQ0CistLS0g YS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvYmFzaWMu dHh0CitAQCAtMTEsNyArMTEsNyBAQAorIGN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEu MQorIHBhcnNlID49IDEuOC4yCisgcGFyc2VfdHlwZSA+PSAwLjQuMgorLXNpeCA+PSAxLjExLjAK KytzaXggPj0gMS4xMi4wCisgCisgdHJhY2ViYWNrMjsgIHB5dGhvbl92ZXJzaW9uIDwgJzMuMCcK KyBjb250ZXh0bGliMiAgICAgIyBNQVlCRTogcHl0aG9uX3ZlcnNpb24gPCAnMy41JworZGlmZiAt LWdpdCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZl bG9wLnR4dAoraW5kZXggYzU1ZDNjZC4uM2RlZWRjNyAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVt ZW50cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAt NSw4ICs1LDggQEAKKyAjIC0tIEJVSUxELVRPT0w6CisgIyBQUkVQQVJFIFVTQUdFOiBpbnZva2UK KyAjIEFMUkVBRFk6IHNpeCA+PSAxLjExLjAKKy1pbnZva2UgPj0gMC4yMS4wCistcGF0aC5weSA+ PSAxMC4xCisraW52b2tlID49IDEuMi4wCisrcGF0aC5weSA+PSAxMS41LjAKKyBwYXRobGliOyAg ICBweXRob25fdmVyc2lvbiA8PSAnMy40JworIHB5Y21kCisgCitkaWZmIC0tZ2l0IGEvcHkucmVx dWlyZW1lbnRzL3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitpbmRl eCA1ODc2ZTI5Li4zODA2ZDM5IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL3Rlc3Rpbmcu dHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK0BAIC0xMiw0ICsxMiw0IEBA IFB5SGFtY3Jlc3QgPj0gMS45CisgCisgIyAtLSBORUVERUQ6IEJ5IHNvbWUgdGVzdHMgKGFzIHBy b29mIG9mIGNvbmNlcHQpCisgIyBOT1RFOiBwYXRoLnB5LTEwLjEgaXMgcmVxdWlyZWQgZm9yIHB5 dGhvbjIuNgorLXBhdGgucHkgPj0gMTAuMQorK3BhdGgucHkgPj0gMTEuNS4wCitkaWZmIC0tZ2l0 IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggYzVhZjI2Mi4uYWM3YmRkZiAxMDA2NDQKKy0t LSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTc5LDcgKzc5LDcgQEAgc2V0dXAoCisg ICAgICAgICAiY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4xIiwKKyAgICAgICAgICJw YXJzZSA+PSAxLjguMiIsCisgICAgICAgICAicGFyc2VfdHlwZSA+PSAwLjQuMiIsCistICAgICAg ICAic2l4ID49IDEuMTEuMCIsCisrICAgICAgICAic2l4ID49IDEuMTIuMCIsCisgICAgICAgICAi dHJhY2ViYWNrMjsgcHl0aG9uX3ZlcnNpb24gPCAnMy4wJyIsCisgICAgICAgICAiZW51bTM0OyBw eXRob25fdmVyc2lvbiA8ICczLjQnIiwKKyAgICAgICAgICMgLS0gUFJFUEFSRUQ6CitAQCAtOTMs NyArOTMsNyBAQCBzZXR1cCgKKyAgICAgICAgICJub3NlID49IDEuMyIsCisgICAgICAgICAibW9j ayA+PSAxLjEiLAorICAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS44IiwKKy0gICAgICAgICJwYXRo LnB5ID49IDEwLjEiCisrICAgICAgICAicGF0aC5weSA+PSAxMS41LjAiCisgICAgIF0sCisgICAg IGNtZGNsYXNzID0geworICAgICAgICAgImJlaGF2ZV90ZXN0IjogYmVoYXZlX3Rlc3QsCitAQCAt MTEwLDcgKzExMCw3IEBAIHNldHVwKAorICAgICAgICAgICAgICJweXRlc3QtY292IiwKKyAgICAg ICAgICAgICAidG94IiwKKyAgICAgICAgICAgICAiaW52b2tlID49IDEuMi4wIiwKKy0gICAgICAg ICAgICAicGF0aC5weSA+PSAxMC4xIiwKKysgICAgICAgICAgICAicGF0aC5weSA+PSAxMS41LjAi LAorICAgICAgICAgICAgICJweWNtZCIsCisgICAgICAgICAgICAgInBhdGhsaWI7IHB5dGhvbl92 ZXJzaW9uIDw9ICczLjQnIiwKKyAgICAgICAgICAgICAibW9kZXJuaXplID49IDAuNSIsCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iZThmZWQ2YjAKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAor RnJvbSBlMjY2NmRiODM3Y2FiNDQyNDk4NGM0NDU0ODNmYzZmYTMwZGMwYWNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBTdW4sIDI2IE1heSAyMDE5IDE0OjU1OjIwICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIGRvY3M6IGNvbmYucHkgdHdlYWtzLgorCistLS0KKyBkb2NzL2NvbmYucHkgfCAzICst LQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2RvY3MvY29uZi5weQoraW5kZXggZjlkZmI2YS4uZjdj MmMyNCAxMDA2NDQKKy0tLSBhL2RvY3MvY29uZi5weQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAt MTgsNyArMTgsNyBAQCBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5hYnNwYXRoKCIuLiIpKQor ICMgREVURUNUIEJVSUxEIENPTlRFWFQKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIE9OX1JF QURUSEVET0NTID0gb3MuZW52aXJvbi5nZXQoIlJFQURUSEVET0NTIiwgTm9uZSkgPT0gIlRydWUi CistVVNFX1NQSElOWF9JTlRFUk5BVElPTkFMID0gbm90IE9OX1JFQURUSEVET0NTCisrVVNFX1NQ SElOWF9JTlRFUk5BVElPTkFMID0gVHJ1ZQorIAorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CitAQCAtMTY0LDcgKzE2NCw2IEBAIHRvZG9faW5jbHVkZV90b2RvcyA9IEZhbHNlCisgIyBhIGxp c3Qgb2YgYnVpbHRpbiB0aGVtZXMuCisgaHRtbF90aGVtZSA9ICJrciIKKyBodG1sX3RoZW1lID0g ImJvb3RzdHJhcCIKKy0KKyBpZiBPTl9SRUFEVEhFRE9DUzoKKyAgICAgaHRtbF90aGVtZSA9ICJk ZWZhdWx0IgorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgtTWlzc3BlbGxlZC1hZnRlcl9ydWxlLWhvb2std2Fz LWFmdGVyX2FmdGVyLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgtTWlzc3BlbGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFm dGVyX2FmdGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWYw MzhkMzkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgtTWlzc3BlbGxlZC1hZnRlcl9ydWxlLWhvb2st d2FzLWFmdGVyX2FmdGVyLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gMDdmN2ZiNTNiOGFk ZWRiZWY3M2ZlOGQxNTVmYWZjY2I1OWI1ZGY5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0 LCA4IEp1biAyMDE5IDIwOjExOjIzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogTWlzc3Bl bGxlZCBhZnRlcl9ydWxlIGhvb2sgKHdhczogYWZ0ZXJfYWZ0ZXIpCisKKy0tLQorIGRvY3MvY29u dGV4dF9hdHRyaWJ1dGVzLnJzdCB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9jb250ZXh0X2F0dHJpYnV0 ZXMucnN0IGIvZG9jcy9jb250ZXh0X2F0dHJpYnV0ZXMucnN0CitpbmRleCBhNDgxN2QxLi4xNjM2 NjRiIDEwMDY0NAorLS0tIGEvZG9jcy9jb250ZXh0X2F0dHJpYnV0ZXMucnN0CisrKysgYi9kb2Nz L2NvbnRleHRfYXR0cmlidXRlcy5yc3QKK0BAIC0yMyw2ICsyMyw3IEBAIGNvbmZpZyAgICAgICAg ICB0ZXN0IHJ1biAgOmNsYXNzOmB+YmVoYXZlLmNvbmZpZ3VyYXRpb24uQ29uZmlndXJhdGlvbmAg IENvbmZpZ3VyCisgYWJvcnRlZCAgICAgICAgIHRlc3QgcnVuICBib29sICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0IHRvIHRydWUgaWYgdGVzdCBydW4gaXMgYWJv cnRlZCBieSB0aGUgdXNlci4KKyBmYWlsZWQgICAgICAgICAgdGVzdCBydW4gIGJvb2wgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgdG8gdHJ1ZSBpZiBhIHN0ZXAg ZmFpbHMuCisgZmVhdHVyZSAgICAgICAgIGZlYXR1cmUgICA6Y2xhc3M6YH5iZWhhdmUubW9kZWwu RmVhdHVyZWAgICAgICAgICAgICAgICAgQ3VycmVudCBmZWF0dXJlLgorK3J1bGUgICAgICAgICAg ICBydWxlICAgICAgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLkZlYXR1cmVgICAgICAgICAgICAgICAg IEN1cnJlbnQgcnVsZS4KKyB0YWdzICAgICAgICAgICAgZmVhdHVyZSwgIGxpc3Q8OmNsYXNzOmB+ YmVoYXZlLm1vZGVsLlRhZ2A+ICAgICAgICAgICAgICBFZmZlY3RpdmUgdGFncyBvZiBjdXJyZW50 IGZlYXR1cmUsIHJ1bGUsIHNjZW5hcmlvLCBzY2VuYXJpbyBvdXRsaW5lLgorICAgICAgICAgICAg ICAgICBydWxlLAorICAgICAgICAgICAgICAgICBzY2VuYXJpbworQEAgLTYyLDcgKzYzLDcgQEAg SG9vayAgICA6ZnVuYzpgYWZ0ZXJfdGFnc2AgICAgICAgICAgZmVhdHVyZSwgcnVsZSBvciBzY2Vu YXJpbworIEhvb2sgICAgOmZ1bmM6YGJlZm9yZV9mZWF0dXJlYCAgICAgIGZlYXR1cmUKKyBIb29r ICAgIDpmdW5jOmBhZnRlcl9mZWF0dXJlYCAgICAgICBmZWF0dXJlCisgSG9vayAgICA6ZnVuYzpg YmVmb3JlX3J1bGVgICAgICAgICAgcnVsZQorLUhvb2sgICAgOmZ1bmM6YGFmdGVyX2FmdGVyYCAg ICAgICAgIHJ1bGUKKytIb29rICAgIDpmdW5jOmBhZnRlcl9ydWxlYCAgICAgICAgICBydWxlCisg SG9vayAgICA6ZnVuYzpgYmVmb3JlX3NjZW5hcmlvYCAgICAgc2NlbmFyaW8KKyBIb29rICAgIDpm dW5jOmBhZnRlcl9zY2VuYXJpb2AgICAgICBzY2VuYXJpbworIEhvb2sgICAgOmZ1bmM6YGJlZm9y ZV9zdGVwYCAgICAgICAgIHNjZW5hcmlvCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE0LUFkZC1oaW50cy1vbi1HaGVya2lu LXY2LWdyYW1tYXItaXNzdWVzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNC1BZGQtaGludHMtb24tR2hlcmtpbi12Ni1ncmFtbWFy LWlzc3Vlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjI0Njg3 YmM4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTQtQWRkLWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1hci1p c3N1ZXMucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSBhNDE5ODUwOGM1NzAxZjUxMzI0Mjc4 Yjc0YjVmNzVjNTNjZDViYjg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDggSnVuIDIw MTkgMjA6MTI6MjMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGhpbnRzIG9uIEdoZXJraW4g djYgZ3JhbW1hciBpc3N1ZXMuCisKKy0tLQorIGRvY3MvY29uZi5weSAgICAgICAgICAgICAgICAg ICAgICAgfCA0ICsrKy0KKyBkb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IHwgOCAr KysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQorCitkaWZmIC0tZ2l0IGEvZG9jcy9jb25mLnB5IGIvZG9jcy9jb25mLnB5CitpbmRleCBmN2My YzI0Li5lNTVmYjIxIDEwMDY0NAorLS0tIGEvZG9jcy9jb25mLnB5CisrKysgYi9kb2NzL2NvbmYu cHkKK0BAIC01NCw5ICs1NCwxMSBAQCBmb3Igb3B0aW9uYWxfbW9kdWxlX25hbWUgaW4gb3B0aW9u YWxfZXh0ZW5zaW9uczoKKyBleHRsaW5rcyA9IHsKKyAgICAgInB5cGkiOiAoImh0dHBzOi8vcHlw aS5vcmcvcHJvamVjdC8lcyIsICIiKSwKKyAgICAgImdpdGh1YiI6ICgiaHR0cHM6Ly9naXRodWIu Y29tLyVzIiwgImdpdGh1YjovIiksCistICAgICJpc3N1ZSI6ICAoImh0dHBzOi8vZ2l0aHViLmNv bS9iZWhhdmUvYmVoYXZlL2lzc3VlLyVzIiwgImlzc3VlICMiKSwKKysgICAgImlzc3VlIjogICgi aHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvaXNzdWVzLyVzIiwgImlzc3VlICMiKSwK KyAgICAgInlvdXR1YmUiOiAoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9JXMiLCAi eW91dHViZTp2aWRlbz0iKSwKKyAgICAgImJlaGF2ZSI6ICgiaHR0cHM6Ly9naXRodWIuY29tL2Jl aGF2ZS9iZWhhdmUiLCBOb25lKSwKKysgICAgImN1Y3VtYmVyIjogKCJodHRwczovL2dpdGh1Yi5j b20vY3VjdW1iZXIvY3VjdW1iZXIvIiwgTm9uZSksCisrICAgICJjdWN1bWJlci5pc3N1ZSI6ICgi aHR0cHM6Ly9naXRodWIuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyL2lzc3Vlcy8lcyIsICJpc3N1ZSAj IiksCisgfQorIAorIGludGVyc3BoaW54X21hcHBpbmcgPSB7CitkaWZmIC0tZ2l0IGEvZG9jcy9u ZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdCBiL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3Yx LjIuNy5yc3QKK2luZGV4IDQ1MWVkOGMuLjgwZDk1NzYgMTAwNjQ0CistLS0gYS9kb2NzL25ld19h bmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CisrKysgYi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92 MS4yLjcucnN0CitAQCAtOTIsNSArOTIsMTMgQEAgT3ZlcnZpZXcgb2YgdGhlIGBFeGFtcGxlIE1h cHBpbmdgXyBjb25jZXB0czoKKyAgICAgKiBodHRwczovL2xpc2FjcmlzcGluLmNvbS8yMDE2LzA2 LzAyL2V4cGVyaW1lbnQtZXhhbXBsZS1tYXBwaW5nLworICAgICAqIGh0dHBzOi8vdG9ieXRoZXRl c3RlcmJsb2cud29yZHByZXNzLmNvbS8yMDE2LzA1LzI1L2hvdy10by1kby1leGFtcGxlLW1hcHBp bmcvCisgCisrLi4gaGludDo6ICoqR2hlcmtpbiB2NiBHcmFtbWFyIElzc3VlcyoqCisrCisrICAg ICogOmN1Y3VtYmVyLmlzc3VlOmA2MzJgOiBSdWxlIHRhZ3MgYXJlIGN1cnJlbnRseSBvbmx5IHN1 cHBvcnRlZCBpbiBgYmVoYXZlYC4KKysgICAgICBUaGUgQ3VjdW1iZXIgR2hlcmtpbiB2NiBncmFt bWFyIGN1cnJlbnRseSBsYWNrcyB0aGlzIGZ1bmN0aW9uYWxpdHkuCisrCisrICAgICogOmN1Y3Vt YmVyLmlzc3VlOmA1OTBgOiBSdWxlIEJhY2tncm91bmQ6CisrICAgICAgQSBwcm9wb3NhbCBpcyBw ZW5kaW5nIHRvIHJlbW92ZSBSdWxlIEJhY2tncm91bmRzIGFnYWluCisrCisgCisgLi4gaW5jbHVk ZTo6IF9jb250ZW50LnRhZ19leHByZXNzaW9uc192Mi5yc3QKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTUtUkVBRE1FLVJl U1QtdHdlYWtzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAxNS1SRUFETUUtUmVTVC10d2Vha3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hMWIwNzNjY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE1LVJFQURN RS1SZVNULXR3ZWFrcy5wYXRjaApAQCAtMCwwICsxLDE4IEBACitGcm9tIDE5OTBhMzYzMGNiNmI1 ZmJlYTNhZWE2OTEzMTQ0NTY0MjEwNTU1MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwg OCBKdW4gMjAxOSAyMDoxMzowOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBSRUFETUU6IFJlU1Qg dHdlYWtzCisKKy0tLQorIGV0Yy9naGVya2luL1JFQURNRS5yc3QgfCAxICsKKyAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2V0Yy9naGVya2luL1JFQURNRS5y c3QgYi9ldGMvZ2hlcmtpbi9SRUFETUUucnN0CitpbmRleCBhZDNjZWRiLi43ZWMyMTA4IDEwMDY0 NAorLS0tIGEvZXRjL2doZXJraW4vUkVBRE1FLnJzdAorKysrIGIvZXRjL2doZXJraW4vUkVBRE1F LnJzdAorQEAgLTEsMyArMSw0IEBACisgU09VUkNFOgorKworICogaHR0cHM6Ly9naXRodWIuY29t L2N1Y3VtYmVyL2N1Y3VtYmVyL2Jsb2IvbWFzdGVyL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMu anNvbgorICogaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N1Y3VtYmVyL2N1Y3Vt YmVyL21hc3Rlci9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTYtRXhh bXBsZS11c2luZy1HaGVya2luLXY2LWdyYW1tYXIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE2LUV4YW1wbGUtdXNpbmctR2hlcmtp bi12Ni1ncmFtbWFyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u NWNmMTg4YjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNi1FeGFtcGxlLXVzaW5nLUdoZXJraW4tdjYtZ3Jh bW1hci5wYXRjaApAQCAtMCwwICsxLDIyOCBAQAorRnJvbSBjN2FjNDAyMzIxMmMwMTkzOTM5ZDMw NDZjOTg4ZDU4YTJhMTNmYzc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDggSnVuIDIw MTkgMjA6MTY6MDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRXhhbXBsZSB1c2luZyBHaGVya2lu IHY2IGdyYW1tYXIuCisKKy0tLQorIGV4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdCAgICAg ICAgICAgICAgICB8IDE4ICsrKysrKysrCisgZXhhbXBsZXMvZ2hlcmtpbl92Ni9iZWhhdmUuaW5p ICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKworIGV4YW1wbGVzL2doZXJr aW5fdjYvZmVhdHVyZXMvcnVsZV8xLmZlYXR1cmUgICB8IDQyICsrKysrKysrKysrKysrKysrKysK KyBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlICAgfCA0MiArKysr KysrKysrKysrKysrKysrCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkgICAg ICAgICAgIHwgMjEgKysrKysrKysrKworIC4uLi9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3Bl cnNvbl9zdGVwcy5weSB8ICA3ICsrKysKKyA2IGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25z KCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdAor IGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9naGVya2luX3Y2L2JlaGF2ZS5pbmkKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzEuZmVhdHVy ZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVf Mi5mZWF0dXJlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVy ZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9n aGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNvbl9zdGVwcy5weQorCitkaWZmIC0tZ2l0IGEv ZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0IGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFE TUUucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNTgxOTlkZAorLS0t IC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0CitAQCAtMCww ICsxLDE4IEBACisrR2hlcmtpbiB2NiBFeGFtcGxlcworKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisr CisrCisrU0NSQVRDSFBBRDogUHJvYmxlbXMKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworKy0g U3VtbWFyeVJlcG9ydGVyOiBTaG93cyB3cm9uZyBjb3VudHMgd2hlbiBSdWxlcyBhcmUgcHJlc2Vu dDo6CisrCisrICAgIC4uLgorKyAgICAwIGZlYXR1cmVzIHBhc3NlZCwgMCBmYWlsZWQsIDEgc2tp cHBlZCBYWFgKKysgICAgMyBydWxlcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAg NSBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAgIDEzIHN0ZXBzIHBh c3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1bmRlZmluZWQKKysKKysKKystIEZvcm1hdHRl cnM6IFByZXR0eUZvcm1hdHRlciwgUGxhaW5Gb3JtYXR0ZXIgKGF0IGxlYXN0KSBuZWVkIFJ1bGUg c3VwcG9ydAorKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvYmVoYXZlLmluaSBi L2V4YW1wbGVzL2doZXJraW5fdjYvYmVoYXZlLmluaQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAuLjQ1YzBmMGQKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJr aW5fdjYvYmVoYXZlLmluaQorQEAgLTAsMCArMSw0MiBAQAorKyMgPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKysjIEJFSEFWRSBDT05GSUdVUkFUSU9OCisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMg RklMRTogLmJlaGF2ZXJjLCBiZWhhdmUuaW5pLCBzZXR1cC5jZmcsIHRveC5pbmkKKysjCisrIyBT RUUgQUxTTzoKKysjICAqIGh0dHA6Ly9wYWNrYWdlcy5weXRob24ub3JnL2JlaGF2ZS9iZWhhdmUu aHRtbCNjb25maWd1cmF0aW9uLWZpbGVzCisrIyAgKiBodHRwczovL2dpdGh1Yi5jb20vYmVoYXZl L2JlaGF2ZQorKyMgICogaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL2JlaGF2ZS8KKysjID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CisrCisrW2JlaGF2ZV0KKytkZWZhdWx0X3RhZ3MgPSBub3QgKEB4 ZmFpbCBvciBAbm90X2ltcGxlbWVudGVkKQorK3Nob3dfc2tpcHBlZCA9IGZhbHNlCisrZm9ybWF0 ICAgPSByZXJ1bgorKyAgICBwcm9ncmVzczMKKytvdXRmaWxlcyA9IHJlcnVuLnR4dAorKyAgICBy ZXBvcnRzL3JlcG9ydF9wcm9ncmVzczMudHh0CisranVuaXQgPSB0cnVlCisrbG9nZ2luZ19sZXZl bCA9IElORk8KKysjIGxvZ2dpbmdfZm9ybWF0ID0gTE9HLiUobGV2ZWxuYW1lKS04cyAgJShuYW1l KS0xMHM6ICUobWVzc2FnZSlzCisrIyBsb2dnaW5nX2Zvcm1hdCA9IExPRy4lKGxldmVsbmFtZSkt OHMgICUoYXNjdGltZSlzICAlKG5hbWUpLTEwczogJShtZXNzYWdlKXMKKysKKysjIC0tIEFMTFVS RS1GT1JNQVRURVIgUkVRVUlSRVM6CisrIyBicmV3IGluc3RhbGwgYWxsdXJlCisrIyBwaXAgaW5z dGFsbCBhbGx1cmUtYmVoYXZlCisrIyBBTExVUkVfUkVQT1JUU19ESVI9YWxsdXJlLnJlcG9ydHMK KysjIGJlaGF2ZSAtZiBhbGx1cmUgLW8gJEFMTFVSRV9SRVBPUlRTX0RJUiAuLi4KKysjIGFsbHVy ZSBzZXJ2ZSAkQUxMVVJFX1JFUE9SVFNfRElSCisrIworKyMgU0VFIEFMU086CisrIyAqIGh0dHBz Oi8vZ2l0aHViLmNvbS9hbGx1cmUtZnJhbWV3b3JrL2FsbHVyZTIKKysjICogaHR0cHM6Ly9naXRo dWIuY29tL2FsbHVyZS1mcmFtZXdvcmsvYWxsdXJlLXB5dGhvbgorK1tiZWhhdmUuZm9ybWF0dGVy c10KKythbGx1cmUgPSBhbGx1cmVfYmVoYXZlLmZvcm1hdHRlcjpBbGx1cmVGb3JtYXR0ZXIKKysK KysjIFBSRVBBUkVEOgorKyMgIFtiZWhhdmVdCisrIyAgZm9ybWF0ID0gLi4uIG1pc3Npbmdfc3Rl cHMgLi4uCisrIyAgb3V0cHV0ID0gLi4uIGZlYXR1cmVzL3N0ZXBzL21pc3Npbmdfc3RlcHMucHkg Li4uCisrIyAgW2JlaGF2ZS5mb3JtYXR0ZXJzXQorKyMgIG1pc3Npbmdfc3RlcHMgPSBiZWhhdmUu Y29udHJpYi5mb3JtYXR0ZXJfbWlzc2luZ19zdGVwczpNaXNzaW5nU3RlcHNGb3JtYXR0ZXIKK2Rp ZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMS5mZWF0dXJlIGIv ZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzEuZmVhdHVyZQorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmE4MDJlMTkKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4 YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8xLmZlYXR1cmUKK0BAIC0wLDAgKzEsNDIg QEAKKytGZWF0dXJlOiBHaGVya2luIHY2IEV4YW1wbGUgLS0gd2l0aCBSdWxlcworKyAgRmVhdHVy ZSBkZXNjcmlwdGlvbiBsaW5lIDEuCisrCisrICBCYWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91 bmQKKysgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgUnVsZTogUjEg KHdpdGggUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBSdWxlIFIxIGRlc2NyaXB0aW9uIGxpbmUgMS4K KysKKysgICAgQmFja2dyb3VuZDogUjEuQmFja2dyb3VuZAorKyAgICAgIEdpdmVuIHJ1bGUgUjEg YmFja2dyb3VuZCBzdGVwXzEKKysgICAgICBXaGVuICBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8y CisrCisrICAgIEV4YW1wbGU6IFIxLlNjZW5hcmlvXzEKKysgICAgICBXaGVuIHJ1bGUgUjEgc2Nl bmFyaW9fMSBzdGVwXzEKKysgICAgICBUaGVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzIKKysK KysgICAgRXhhbXBsZTogUjEuU2NlbmFyaW9fMgorKyAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFy aW9fMiBzdGVwXzEKKysgICAgICBUaGVuICBydWxlIFIxIHNjZW5hcmlvXzIgc3RlcF8yCisrCisr ICBSdWxlOiBSMiAod2l0aG91dCBSdWxlLkJhY2tncm91bmQpCisrICAgIFJ1bGUgUjIgZGVzY3Jp cHRpb24gbGluZSAxLgorKworKyAgICBFeGFtcGxlOiBSMi5TY2VuYXJpb18xCisrICAgICAgV2hl biBydWxlIFIyIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgVGhlbiBydWxlIFIyIHNjZW5hcmlv XzEgc3RlcF8yCisrCisrCisrICBSdWxlOiBSMyAod2l0aCBlbXB0eSBSdWxlLkJhY2tncm91bmQp CisrICAgIFJ1bGUgUjMgZGVzY3JpcHRpb24gbGluZSAxLgorKyAgICBSdWxlIFIzIGRlc2NyaXB0 aW9uIGxpbmUgMi4KKysKKysgICAgQmFja2dyb3VuZDogUjMuRW1wdHlCYWNrZ3JvdW5kCisrCisr ICAgIFNjZW5hcmlvIFRlbXBsYXRlOiBSMy5TY2VuYXJpbworKyAgICAgIEdpdmVuIGEgcGVyc29u IG5hbWVkICI8bmFtZT4iCisrCisrICAgICAgRXhhbXBsZXM6CisrICAgICAgICB8IG5hbWUgIHwK KysgICAgICAgIHwgQWxpY2UgfAorKyAgICAgICAgfCBCb2IgICB8CitkaWZmIC0tZ2l0IGEvZXhh bXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZSBiL2V4YW1wbGVzL2doZXJr aW5fdjYvZmVhdHVyZXMvcnVsZV8yLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi5hODAyZTE5CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVya2lu X3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCitAQCAtMCwwICsxLDQyIEBACisrRmVhdHVyZTog R2hlcmtpbiB2NiBFeGFtcGxlIC0tIHdpdGggUnVsZXMKKysgIEZlYXR1cmUgZGVzY3JpcHRpb24g bGluZSAxLgorKworKyAgQmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisrICAgIEdpdmVu IGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysKKysgIFJ1bGU6IFIxICh3aXRoIFJ1bGUuQmFj a2dyb3VuZCkKKysgICAgUnVsZSBSMSBkZXNjcmlwdGlvbiBsaW5lIDEuCisrCisrICAgIEJhY2tn cm91bmQ6IFIxLkJhY2tncm91bmQKKysgICAgICBHaXZlbiBydWxlIFIxIGJhY2tncm91bmQgc3Rl cF8xCisrICAgICAgV2hlbiAgcnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMgorKworKyAgICBFeGFt cGxlOiBSMS5TY2VuYXJpb18xCisrICAgICAgV2hlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8x CisrICAgICAgVGhlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8yCisrCisrICAgIEV4YW1wbGU6 IFIxLlNjZW5hcmlvXzIKKysgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzIgc3RlcF8xCisr ICAgICAgVGhlbiAgcnVsZSBSMSBzY2VuYXJpb18yIHN0ZXBfMgorKworKyAgUnVsZTogUjIgKHdp dGhvdXQgUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBSdWxlIFIyIGRlc2NyaXB0aW9uIGxpbmUgMS4K KysKKysgICAgRXhhbXBsZTogUjIuU2NlbmFyaW9fMQorKyAgICAgIFdoZW4gcnVsZSBSMiBzY2Vu YXJpb18xIHN0ZXBfMQorKyAgICAgIFRoZW4gcnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMgorKwor KworKyAgUnVsZTogUjMgKHdpdGggZW1wdHkgUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBSdWxlIFIz IGRlc2NyaXB0aW9uIGxpbmUgMS4KKysgICAgUnVsZSBSMyBkZXNjcmlwdGlvbiBsaW5lIDIuCisr CisrICAgIEJhY2tncm91bmQ6IFIzLkVtcHR5QmFja2dyb3VuZAorKworKyAgICBTY2VuYXJpbyBU ZW1wbGF0ZTogUjMuU2NlbmFyaW8KKysgICAgICBHaXZlbiBhIHBlcnNvbiBuYW1lZCAiPG5hbWU+ IgorKworKyAgICAgIEV4YW1wbGVzOgorKyAgICAgICAgfCBuYW1lICB8CisrICAgICAgICB8IEFs aWNlIHwKKysgICAgICAgIHwgQm9iICAgfAorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5f djYvZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5weSBiL2V4YW1wbGVzL2doZXJraW5fdjYv ZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAuLmY0ODIyZjMKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJr aW5fdjYvZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5weQorQEAgLTAsMCArMSwyMSBAQAor KyMgLSotIGNvZGluZzogVVRGLTggLSotCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0 ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisrZnJvbSBiZWhhdmUgaW1wb3J0IHN0ZXAKKysKKysK KytAc3RlcCh1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwX3tzdGVwX2lkOmR9JykKKytkZWYgc3Rl cF9ydWxlX2JhY2tncm91bmQoY3R4LCBzdGVwX2lkKToKKysgICAgcHJpbnQoImZlYXR1cmUgYmFj a2dyb3VuZCBzdGVwX3swfSIuZm9ybWF0KHN0ZXBfaWQpKQorKworKworK0BzdGVwKHUncnVsZSB7 cnVsZV9pZDp3fSBiYWNrZ3JvdW5kIHN0ZXBfe3N0ZXBfaWQ6ZH0nKQorK2RlZiBzdGVwX3J1bGVf YmFja2dyb3VuZChjdHgsIHJ1bGVfaWQsIHN0ZXBfaWQpOgorKyAgICBwcmludCgicnVsZSB7MH0g YmFja2dyb3VuZCBzdGVwX3sxfSIuZm9ybWF0KHJ1bGVfaWQsIHN0ZXBfaWQpKQorKworKworK0Bz dGVwKHUncnVsZSB7cnVsZV9pZDp3fSBzY2VuYXJpb197c2NlbmFyaW9faWQ6ZH0gc3RlcF97c3Rl cF9pZDpkfScpCisrZGVmIHN0ZXBfcnVsZV9zY2VuYXJpbyhjdHgsIHJ1bGVfaWQsIHNjZW5hcmlv X2lkLCBzdGVwX2lkKToKKysgICAgcHJpbnQoInJ1bGUgezB9IHNjZW5hcmlvX3sxfSBzdGVwX3sy fSIuZm9ybWF0KAorKyAgICAgICAgcnVsZV9pZCwgc2NlbmFyaW9faWQsIHN0ZXBfaWQpKQorKwor KworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvcGVyc29u X3N0ZXBzLnB5IGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wZXJzb25fc3Rl cHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43MTRhYzAxCistLS0g L2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNv bl9zdGVwcy5weQorQEAgLTAsMCArMSw3IEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKytm cm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4KKysKKysKKytAZ2l2ZW4odSdhIHBlcnNvbiBuYW1lZCAi e25hbWV9IicpCisrZGVmIHN0ZXBfZ2l2ZW5fcGVyc29uX3dpdGhfbmFtZShjdHgsIG5hbWUpOgor KyAgICBwYXNzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDE3LVBSRVBBUkUtUHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNy1Q UkVQQVJFLVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmYwODE2MjRlOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTctUFJFUEFSRS1QeXRob24t My44LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSBkZWJmOGRjZjU1ZTdiZDFh ZDZkMThjODMyYWNjMzIyNDMxNDk3MTQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDgg SnVuIDIwMTkgMjA6Mzk6NDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUFJFUEFSRTogUHl0aG9u LTMuOCBzdXBwb3J0CisKKy0tLQorIC50cmF2aXMueW1sIHwgOCArKysrKy0tLQorIDEgZmlsZSBj aGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS8u dHJhdmlzLnltbCBiLy50cmF2aXMueW1sCitpbmRleCA3MDE1Yjg4Li5kOGYyNDQzIDEwMDY0NAor LS0tIGEvLnRyYXZpcy55bWwKKysrKyBiLy50cmF2aXMueW1sCitAQCAtMSwxMiArMSwxNCBAQAor IGxhbmd1YWdlOiBweXRob24KKyBzdWRvOiBmYWxzZQorK2Rpc3Q6IHhlbmlhbCAgICMgcmVxdWly ZWQgZm9yIFB5dGhvbiA+PSAzLjcKKyBweXRob246CistICAtICIzLjYiCisrICAtICIzLjciCisg ICAtICIyLjciCisrICAtICIzLjYiCisgICAtICIzLjUiCisgICAtICJweXB5IgorICAgLSAicHlw eTMiCistICAtICIzLjctZGV2IgorKyAgLSAiMy44LWRldiIKKyAKKyAjIC0tIERJU0FCTEVEOgor ICMgIC0gIm5pZ2h0bHkiCitAQCAtMTksNyArMjEsNyBAQCBweXRob246CisgIyAtLSBURVNULUJB TExPTjogQ2hlY2sgaWYgUHl0aG9uIDMuNiBpcyBhY3R1YWxseSBQeXRob24gMy41LjEgb3IgbmV3 ZXIKKyBtYXRyaXg6CisgICBhbGxvd19mYWlsdXJlczoKKy0gICAgLSBweXRob246ICIzLjctZGV2 IgorKyAgICAtIHB5dGhvbjogIjMuOC1kZXYiCisgICAgIC0gcHl0aG9uOiAibmlnaHRseSIKKyAK KyBjYWNoZToKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMTgtcHkzLjgtVHJ5LXRvLWZpeC1sb2dnaW5nLkZvcm1hdHRlci12 YWxpZGF0ZS1wcm9ibGVtLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAxOC1weTMuOC1UcnktdG8tZml4LWxvZ2dpbmcuRm9ybWF0dGVy LXZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi45ODJiYmY2NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE4LXB5My44LVRyeS10by1maXgtbG9nZ2lu Zy5Gb3JtYXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9t IDE0NDEzMTczNWZlNThjMDJmYmU4ZmY1MWY5NzE1YzIzMDExOWM3OWQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxMzoxNzoxMCArMDIwMAorU3ViamVjdDogW1BBVENI XSBweTMuODogVHJ5IHRvIGZpeCBsb2dnaW5nLkZvcm1hdHRlciB2YWxpZGF0ZSBwcm9ibGVtCisK Ky0tLQorIHRlc3RzL3VuaXQvdGVzdF9jYXB0dXJlLnB5IHwgMiArKworIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9jYXB0dXJl LnB5IGIvdGVzdHMvdW5pdC90ZXN0X2NhcHR1cmUucHkKK2luZGV4IGFjMjY1NWUuLmQ5YTNmM2Eg MTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfY2FwdHVyZS5weQorKysrIGIvdGVzdHMvdW5p dC90ZXN0X2NhcHR1cmUucHkKK0BAIC0yMCw2ICsyMCw4IEBAIGRlZiBjcmVhdGVfY2FwdHVyZV9j b250cm9sbGVyKGNvbmZpZz1Ob25lKToKKyAgICAgICAgIGNvbmZpZy5sb2dfY2FwdHVyZSA9IFRy dWUKKyAgICAgICAgIGNvbmZpZy5sb2dnaW5nX2ZpbHRlciA9IE5vbmUKKyAgICAgICAgIGNvbmZp Zy5sb2dnaW5nX2xldmVsID0gIklORk8iCisrICAgICAgICBjb25maWcubG9nZ2luZ19mb3JtYXQg PSAiJShsZXZlbG5hbWUpczolKG5hbWUpczolKG1lc3NhZ2UpcyIKKysgICAgICAgIGNvbmZpZy5s b2dnaW5nX2RhdGVmbXQgPSBOb25lCisgICAgIHJldHVybiBDYXB0dXJlQ29udHJvbGxlcihjb25m aWcpCisgCisgZGVmIHNldHVwX2NhcHR1cmVfY29udHJvbGxlcihjYXB0dXJlX2NvbnRyb2xsZXIs IGNvbnRleHQ9Tm9uZSk6CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE5LXRyYXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5 MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE5LXRyYXZpcy5jaS1UZW1wb3JhcmlseS1tb3Zl LXB5MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi5jN2VjMzRiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE5LXRyYXZpcy5jaS1UZW1w b3JhcmlseS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2gKQEAgLTAsMCArMSwy OCBAQAorRnJvbSBlNTc5ZTA3NThjMTM1MGY0ZDIzNjk4N2M1OTJiZTk0MTA3YzJjOGEyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6MTk6NTggKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gdHJhdmlzLmNpOiBUZW1wb3JhcmlseSBtb3ZlIHB5MzgtZGV2IHRvIGZyb250 IChidWlsZCBmaXJzdCkuCisKKy0tLQorIC50cmF2aXMueW1sIHwgMiArLQorIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZp cy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggZDhmMjQ0My4uMzViY2U4YyAxMDA2NDQKKy0tLSBh Ly50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTIsMTMgKzIsMTMgQEAgbGFuZ3Vh Z2U6IHB5dGhvbgorIHN1ZG86IGZhbHNlCisgZGlzdDogeGVuaWFsICAgIyByZXF1aXJlZCBmb3Ig UHl0aG9uID49IDMuNworIHB5dGhvbjoKKysgIC0gIjMuOC1kZXYiCisgICAtICIzLjciCisgICAt ICIyLjciCisgICAtICIzLjYiCisgICAtICIzLjUiCisgICAtICJweXB5IgorICAgLSAicHlweTMi CistICAtICIzLjgtZGV2IgorIAorICMgLS0gRElTQUJMRUQ6CisgIyAgLSAibmlnaHRseSIKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1mb3ItZmFzdGVyLWJ1aWxkcy10ZW1wb3JhcmlseS5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1mb3ItZmFzdGVyLWJ1aWxkcy10ZW1wb3JhcmlseS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjRhOTA3NTQ2YQotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1mb3ItZmFzdGVyLWJ1aWxkcy10ZW1wb3Jhcmls eS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDZmNDI0ZWQ0MGM1MDllMDA3YmY3Y2I4ZDU2 ZTY1ODZlZGY1NThlN2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxq ZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAx MzoyNjoxOSArMDIwMAorU3ViamVjdDogW1BBVENIXSB0cmF2aXMuY2k6IFR3ZWFrcyBmb3IgZmFz dGVyIGJ1aWxkcyAodGVtcG9yYXJpbHkpLgorCistLS0KKyAudHJhdmlzLnltbCB8IDEyICsrKysr Ky0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CisKK2RpZmYgLS1naXQgYS8udHJhdmlzLnltbCBiLy50cmF2aXMueW1sCitpbmRleCAzNWJjZThj Li5mYmMzNTIwIDEwMDY0NAorLS0tIGEvLnRyYXZpcy55bWwKKysrKyBiLy50cmF2aXMueW1sCitA QCAtNSwxNSArNSwxNSBAQCBweXRob246CisgICAtICIzLjgtZGV2IgorICAgLSAiMy43IgorICAg LSAiMi43IgorLSAgLSAiMy42IgorLSAgLSAiMy41IgorLSAgLSAicHlweSIKKy0gIC0gInB5cHkz IgorKworKyMgLS0gRElTQUJMRS1URU1QT1JBUklMWTogRW5zdXJlIGZhc3RlciBidWlsZHMKKysj ICAtICIzLjYiCisrIyAgLSAiMy41IgorKyMgIC0gInB5cHkiCisrIyAgLSAicHlweTMiCisgCisg IyAtLSBESVNBQkxFRDoKKyAjICAtICJuaWdodGx5IgorLSMgIC0gIjMuNCIKKy0jICAtICIzLjMi CisgIworICMgTk9XIFNVUFBPUlRFRDogIjMuNSIgPT4gcHl0aG9uIDMuNS4yICg+PSAzLjUuMSkK KyAjIE5PVEU6IG5pZ2h0bHkgPSAzLjctZGV2CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIxLUZJWC1weTMuOC1sb2dnaW5n LkZvcm1hdHRlci52YWxpZGF0ZS1wcm9ibGVtLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMS1GSVgtcHkzLjgtbG9nZ2luZy5Gb3Jt YXR0ZXIudmFsaWRhdGUtcHJvYmxlbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjQ0ZTM3Y2I1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjEtRklYLXB5My44LWxvZ2dpbmcu Rm9ybWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA5 NGQxNTJkODZhZDQyMzc4YTkwZGZjMTBkNjE0Zjk1ZDlhNGVlZmI3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6NDI6MjAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g RklYIHB5My44OiBsb2dnaW5nLkZvcm1hdHRlci52YWxpZGF0ZSgpIHByb2JsZW0uCisKKy0tLQor IHRlc3QvdGVzdF9ydW5uZXIucHkgfCA2ICsrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2Vy dGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9ydW5uZXIucHkgYi90ZXN0L3Rlc3Rf cnVubmVyLnB5CitpbmRleCA1N2M5NDQ1Li42NjQ3MjgzIDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0 X3J1bm5lci5weQorKysrIGIvdGVzdC90ZXN0X3J1bm5lci5weQorQEAgLTI4Niw2ICsyODYsNyBA QCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBlcV8oInRo aW5nIiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCisgICAgICAgICBkZWwgc2VsZi5jb250ZXh0LnRo aW5nCisgCisrCisgY2xhc3MgRXhhbXBsZVN0ZXBzKG9iamVjdCk6CisgICAgIHRleHQgPSBOb25l CisgICAgIHRhYmxlID0gTm9uZQorQEAgLTMyMCw2ICszMjEsNyBAQCBjbGFzcyBFeGFtcGxlU3Rl cHMob2JqZWN0KToKKyAgICAgICAgIGZvciBrZXl3b3JkLCBwYXR0ZXJuLCBmdW5jIGluIHN0ZXBf ZGVmaW5pdGlvbnM6CisgICAgICAgICAgICAgc3RlcF9yZWdpc3RyeS5hZGRfc3RlcF9kZWZpbml0 aW9uKGtleXdvcmQsIHBhdHRlcm4sIGZ1bmMpCisgCisrCisgY2xhc3MgVGVzdENvbnRleHRfRXhl Y3V0ZVN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgIiIiCisgICAgIFRlc3QgdGhlIGJl aGF2ZS5ydW5uZXIuQ29udGV4dC5leGVjdXRlX3N0ZXBzKCkgZnVuY3Rpb25hbGl0eS4KK0BAIC0z NDEsNiArMzQzLDggQEAgY2xhc3MgVGVzdENvbnRleHRfRXhlY3V0ZVN0ZXBzKHVuaXR0ZXN0LlRl c3RDYXNlKToKKyAgICAgICAgIHJ1bm5lcl8uY29uZmlnLnN0ZG91dF9jYXB0dXJlID0gRmFsc2UK KyAgICAgICAgIHJ1bm5lcl8uY29uZmlnLnN0ZGVycl9jYXB0dXJlID0gRmFsc2UKKyAgICAgICAg IHJ1bm5lcl8uY29uZmlnLmxvZ19jYXB0dXJlID0gRmFsc2UKKysgICAgICAgIHJ1bm5lcl8uY29u ZmlnLmxvZ2dpbmdfZm9ybWF0ID0gTm9uZQorKyAgICAgICAgcnVubmVyXy5jb25maWcubG9nZ2lu Z19kYXRlZm10ID0gTm9uZQorICAgICAgICAgcnVubmVyXy5zdGVwX3JlZ2lzdHJ5ID0gc2VsZi5z dGVwX3JlZ2lzdHJ5CisgCisgICAgICAgICBzZWxmLmNvbnRleHQgPSBydW5uZXIuQ29udGV4dChy dW5uZXJfKQorQEAgLTY1OCw2ICs2NjIsOCBAQCBjbGFzcyBUZXN0UnVuV2l0aFBhdGhzKHVuaXR0 ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHNlbGYuY29uZmlnLmxvZ2dpbmdfZmlsdGVyID0gTm9u ZQorICAgICAgICAgc2VsZi5jb25maWcub3V0cHV0cyA9IFtNb2NrKCksIFN0cmVhbU9wZW5lcihz dHJlYW09c3lzLnN0ZG91dCldCisgICAgICAgICBzZWxmLmNvbmZpZy5mb3JtYXQgPSBbInBsYWlu IiwgInByb2dyZXNzIl0KKysgICAgICAgIHNlbGYuY29uZmlnLmxvZ2dpbmdfZm9ybWF0ID0gTm9u ZQorKyAgICAgICAgc2VsZi5jb25maWcubG9nZ2luZ19kYXRlZm10ID0gTm9uZQorICAgICAgICAg c2VsZi5ydW5uZXIgPSBydW5uZXIuUnVubmVyKHNlbGYuY29uZmlnKQorICAgICAgICAgc2VsZi5s b2FkX2hvb2tzID0gc2VsZi5ydW5uZXIubG9hZF9ob29rcyA9IE1vY2soKQorICAgICAgICAgc2Vs Zi5sb2FkX3N0ZXBfZGVmaW5pdGlvbnMgPSBzZWxmLnJ1bm5lci5sb2FkX3N0ZXBfZGVmaW5pdGlv bnMgPSBNb2NrKCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjItUFJFUEFSRS1GT1ItUHl0aG9uLTMuOC1hc3luY2lvLmNv cm91dGluZS1pcy1kZXByZWNhdC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjItUFJFUEFSRS1GT1ItUHl0aG9uLTMuOC1hc3luY2lv LmNvcm91dGluZS1pcy1kZXByZWNhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLmEyYjNlMWU4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjItUFJFUEFSRS1GT1ItUHl0aG9u LTMuOC1hc3luY2lvLmNvcm91dGluZS1pcy1kZXByZWNhdC5wYXRjaApAQCAtMCwwICsxLDQyIEBA CitGcm9tIGM1Yzg2MjNiYWZhODczM2NmY2QyMjc5MjJlOTM3MTNjZjMxN2FjMjIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxMzo1ODoyMiArMDIwMAorU3ViamVjdDog W1BBVENIXSBQUkVQQVJFIEZPUjogUHl0aG9uIDMuOCwgQGFzeW5jaW8uY29yb3V0aW5lIGlzIGRl cHJlY2F0ZWQKKyBzaW5jZSBweTM4LgorCistLS0KKyB0ZXN0cy9hcGkvX3Rlc3RfYXN5bmNfc3Rl cDM0LnB5IHwgOSArKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0ZXAz NC5weSBiL3Rlc3RzL2FwaS9fdGVzdF9hc3luY19zdGVwMzQucHkKK2luZGV4IDgyNDJiZTcuLjFj MGMzMWYgMTAwNjQ0CistLS0gYS90ZXN0cy9hcGkvX3Rlc3RfYXN5bmNfc3RlcDM0LnB5CisrKysg Yi90ZXN0cy9hcGkvX3Rlc3RfYXN5bmNfc3RlcDM0LnB5CitAQCAtMzcsMTMgKzM3LDE2IEBAIGZy b20gLnRlc3Rpbmdfc3VwcG9ydF9hc3luYyBpbXBvcnQgQXN5bmNTdGVwVGhlb3J5CisgIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICMgVEVTVCBNQVJLRVJTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIERFUFJFQ0FURUQ6IEBhc3luY2lvLmNvcm91dGluZSBkZWNvcmF0b3IgKHNpbmNlOiBQ eXRob24gPj0gMy44KQorIF9weXRob25fdmVyc2lvbiA9IGZsb2F0KCIlcy4lcyIgJSBzeXMudmVy c2lvbl9pbmZvWzoyXSkKKy1weTM0X29yX25ld2VyID0gcHl0ZXN0Lm1hcmsuc2tpcGlmKF9weXRo b25fdmVyc2lvbiA8IDMuNCwgcmVhc29uPSJOZWVkcyBQeXRob24gPj0gMy40IikKKytyZXF1aXJl c19weTM0X3RvX3B5MzcgPSBweXRlc3QubWFyay5za2lwaWYobm90ICgzLjQgPD0gX3B5dGhvbl92 ZXJzaW9uIDwgMy44KSwKKysgICAgcmVhc29uPSJTdXBwb3J0ZWQgb25seSBmb3IgcHl0aG9uLnZl cnNpb25zOiAzLjQgLi4gMy43IChpbmNsdXNpdmUpIikKKysKKyAKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgIyBURVNUU1VJVEU6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLUBweTM0X29y X25ld2VyCisrQHJlcXVpcmVzX3B5MzRfdG9fcHkzNworIGNsYXNzIFRlc3RBc3luY1N0ZXBEZWNv cmF0b3JQeTM0KG9iamVjdCk6CisgCisgICAgIGRlZiB0ZXN0X3N0ZXBfZGVjb3JhdG9yX2FzeW5j X3J1bl91bnRpbF9jb21wbGV0ZTIoc2VsZik6CitAQCAtMTI4LDcgKzEzMSw3IEBAIGNsYXNzIFRl c3RBc3luY0NvbnRleHQob2JqZWN0KToKKyAgICAgICAgIGFzc2VydCBhc3luY19jb250ZXh0Lmxv b3AgaXMgbG9vcDAKKyAKKyAKKy1AcHkzNF9vcl9uZXdlcgorK0ByZXF1aXJlc19weTM0X3RvX3B5 MzcKKyBjbGFzcyBUZXN0QXN5bmNTdGVwUnVuUHkzNChvYmplY3QpOgorICAgICAiIiJFbnN1cmUg dGhhdCBleGVjdXRpb24gb2YgYXN5bmMtc3RlcHMgd29ya3MgYXMgZXhwZWN0ZWQuIiIiCisgCmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDIzLVVQREFURS1BZGQtNzU1LWluZm8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIzLVVQREFURS1BZGQtNzU1LWluZm8u cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45ZmQ5OGIwN2IKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDIzLVVQREFURS1BZGQtNzU1LWluZm8ucGF0Y2gKQEAgLTAsMCArMSwyNCBA QAorRnJvbSA3MzMzMGJhYjY4NjQ3MDQ5MjlkOWFlZWY0MWU4YjhkM2Q1OWQ1NzM4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTQ6MDY6MTQgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSF0gVVBEQVRFOiBBZGQgIzc1NSBpbmZvCisKKy0tLQorIENIQU5HRVMucnN0IHwgNCAr KysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ0hB TkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggZDZlOTZhZi4uYTkxZTIyYSAxMDA2NDQKKy0t LSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTMwLDYgKzMwLDEwIEBAIEVO SEFOQ0VNRU5UUzoKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5k IHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwg IzY4MCkKKyAKKyAKKytQQVJUSUFMTFkgRklYRUQ6CisrCisrKiBpc3N1ZSAjNzU1OiBGYWlsdXJl cyB3aXRoIFB5dGhvbiAzLjggKHN1Ym1pdHRlZCBieTogaHJvbmNvaykKKysKKyBGSVhFRDoKKyAK KyAqIGlzc3VlICM3MjU6IFNjZW5hcmlvIE91dGxpbmUgZGVzY3JpcHRpb24gbGluZXMgc2VlbSB0 byBiZSBpZ25vcmVkIChzdWJtaXR0ZWQgYnk6IG5pendpeikKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjQtRklYLVdBUk5J TkctUmVsYXRlZC10by1kb2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQtYi5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjQtRklYLVdB Uk5JTkctUmVsYXRlZC10by1kb2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQtYi5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmJjMWEyMTMxNgotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMjQtRklYLVdBUk5JTkctUmVsYXRlZC10by1kb2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQt Yi5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGNjMDIzNjAwMjk2YzJiNmZiODcxMWU0ODc4 ZDIwZWM2OTUzNGQ0NzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxq ZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAx NDoyNzoyMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVgtV0FSTklORzogUmVsYXRlZCB0byBk b2NzdHJpbmctZXhhbXBsZSBhbmQgd2VpcmQgYmFja3NsYXNoCisgdXNhZ2UuCisKKy0tLQorIGJl aGF2ZS9tYXRjaGVycy5weSB8IDQgKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9tYXRjaGVycy5weSBiL2Jl aGF2ZS9tYXRjaGVycy5weQoraW5kZXggYzg5NmY1Mi4uMGZlZTBjNyAxMDA2NDQKKy0tLSBhL2Jl aGF2ZS9tYXRjaGVycy5weQorKysrIGIvYmVoYXZlL21hdGNoZXJzLnB5CitAQCAtMjYxLDkgKzI2 MSw3IEBAIGNsYXNzIENGUGFyc2VNYXRjaGVyKFBhcnNlTWF0Y2hlcik6CisgCisgCisgZGVmIHJl Z2lzdGVyX3R5cGUoKiprdyk6CistICAgICMgcHlsaW50OiBkaXNhYmxlPWFub21hbG91cy1iYWNr c2xhc2gtaW4tc3RyaW5nCistICAgICMgUkVRVUlSRUQtQlk6IGNvZGUgZXhhbXBsZQorLSAgICAi IiJSZWdpc3RlcnMgYSBjdXN0b20gdHlwZSB0aGF0IHdpbGwgYmUgYXZhaWxhYmxlIHRvICJwYXJz ZSIKKysgICAgciIiIlJlZ2lzdGVycyBhIGN1c3RvbSB0eXBlIHRoYXQgd2lsbCBiZSBhdmFpbGFi bGUgdG8gInBhcnNlIgorICAgICBmb3IgdHlwZSBjb252ZXJzaW9uIGR1cmluZyBzdGVwIG1hdGNo aW5nLgorIAorICAgICBDb252ZXJ0ZXJzIHNob3VsZCBiZSBzdXBwbGllZCBhcyBgYG5hbWU9Y2Fs bGFibGVgYCBhcmd1bWVudHMgKG9yIGFzIGRpY3QpLgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNS1GSVgtaW52YWxpZC1l c2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNS1GSVgtaW52YWxp ZC1lc2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTljYTNhZGVhCi0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAy NS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBh dGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZTY5ODI0OWU3MmMzM2QyOTY0ZWFhZGYzOWVmNGEy NzJiNTRkNzRkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDE0OjM3 OjQxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogaW52YWxpZCBlc2NhcGUgc2VxdWVuY2Ug d2FybmluZ3MgKHcvIHJlZ2V4IHBhdHRlcm5zKS4KKworLS0tCisgdGVzdHMvdW5pdC90ZXN0X2Jl aGF2ZTRjbWRfY29tbWFuZF9zaGVsbF9wcm9jLnB5IHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3Vu aXQvdGVzdF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJvYy5weSBiL3Rlc3RzL3VuaXQvdGVz dF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJvYy5weQoraW5kZXggYWFlNWU5Zi4uYzQ1YWIz YiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxf cHJvYy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2JlaGF2ZTRjbWRfY29tbWFuZF9zaGVsbF9w cm9jLnB5CitAQCAtMSw1ICsxLDUgQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorLSIiIgor K3IiIiIKKyAKKyBSZWd1bGFyIGV4cHJlc3Npb25zIGZvciB3aW5wYXRoOgorIGh0dHA6Ly9yZWdl eGxpYi5jb20vU2VhcmNoLmFzcHg/az1maWxlK25hbWUKK0BAIC02MSw3ICs2MSw3IEBAIGxpbmVf cHJvY2Vzc29yX2lvZXJyb3JzID0gWworIAorIGxpbmVfcHJvY2Vzc29yX3RyYWNlYmFjayA9IFsK KyAgICAgRXhjZXB0aW9uV2l0aFBhdGhOb3JtYWxpemVyKAorLSAgICAgICAgJ15ccypGaWxlICIo P1A8cGF0aD4uKikiLCBsaW5lIFxkKywgaW4gJywKKysgICAgICAgIHInXlxzKkZpbGUgIig/UDxw YXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAorICAgICAgICAgJyAgRmlsZSAiJyksCisgICAgIEJl aGF2ZVdpbkNvbW1hbmRPdXRwdXRQcm9jZXNzb3IubGluZV9wcm9jZXNzb3JzWzRdLAorIF0KZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMjYtREVQUkVDQVRJTkctQ0xFQU5VUC1Nb3ZlLWRlcHJlY2F0ZWQtdGFnLW1hdGNoZXIt Y2xhcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMjYtREVQUkVDQVRJTkctQ0xFQU5VUC1Nb3ZlLWRlcHJlY2F0ZWQtdGFnLW1hdGNo ZXItY2xhcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjNmNzNk MGU2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjYtREVQUkVDQVRJTkctQ0xFQU5VUC1Nb3ZlLWRlcHJlY2F0 ZWQtdGFnLW1hdGNoZXItY2xhcy5wYXRjaApAQCAtMCwwICsxLDEwMjAgQEAKK0Zyb20gMDBhYTE0 ZGNlNmI2N2U4MTVhYTYyNzA1MDZmZjVkM2ZmMmQ1NGI0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0 ZTogU3VuLCA5IEp1biAyMDE5IDE2OjA0OjQzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIERFUFJF Q0FUSU5HLUNMRUFOVVA6IE1vdmUgZGVwcmVjYXRlZCB0YWcgbWF0Y2hlciBjbGFzc2VzCisKKy0g YmVoYXZlLnRhZ19tYXRjaGVyLk9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyCistIGJlaGF2ZS50 YWdfbWF0Y2hlci5Pbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorCit0byAiYmVoYXZlLmF0 dGljLnRhZ19tYXRjaGVyIi4KK01vdmUgcmVsYXRlZCB1bml0IHRlc3RzIHRvICJ0ZXN0cy5hdHRp Yy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkiLgorLS0tCisgYmVoYXZlL2F0dGljL19faW5pdF9f LnB5ICAgICAgICAgICAgIHwgICAwCisgYmVoYXZlL2F0dGljL3RhZ19tYXRjaGVyLnB5ICAgICAg ICAgIHwgMTgxICsrKysrKysrKysrKysrKysrCisgYmVoYXZlL3RhZ19tYXRjaGVyLnB5ICAgICAg ICAgICAgICAgIHwgMTg5ICstLS0tLS0tLS0tLS0tLS0tLQorIHRlc3RzLmF0dGljL19faW5pdF9f LnB5ICAgICAgICAgICAgICB8ICAgMAorIHRlc3RzLmF0dGljL3VuaXQvX19pbml0X18ucHkgICAg ICAgICB8ICAgMAorIHRlc3RzLmF0dGljL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSB8IDI4MCAr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyB0ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIu cHkgICAgICAgfCAyNzkgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyA3IGZpbGVzIGNoYW5n ZWQsIDQ3MCBpbnNlcnRpb25zKCspLCA0NTkgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGJlaGF2ZS9hdHRpYy9fX2luaXRfXy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUv YXR0aWMvdGFnX21hdGNoZXIucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMuYXR0aWMvX19p bml0X18ucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMuYXR0aWMvdW5pdC9fX2luaXRfXy5w eQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIu cHkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9hdHRpYy9fX2luaXRfXy5weSBiL2JlaGF2ZS9hdHRp Yy9fX2luaXRfXy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU2OWRl MjkKK2RpZmYgLS1naXQgYS9iZWhhdmUvYXR0aWMvdGFnX21hdGNoZXIucHkgYi9iZWhhdmUvYXR0 aWMvdGFnX21hdGNoZXIucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5m MDdkY2JmCistLS0gL2Rldi9udWxsCisrKysgYi9iZWhhdmUvYXR0aWMvdGFnX21hdGNoZXIucHkK K0BAIC0wLDAgKzEsMTgxIEBACisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgUFJPVE9UWVBJ TkcgQ0xBU1NFUzogU2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkCisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorKworK2ltcG9ydCB3YXJuaW5ncworK2Zyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9y dCBUYWdNYXRjaGVyCisrCisrCisrY2xhc3MgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoVGFn TWF0Y2hlcik6CisrICAgICIiIgorKyAgICBQcm92aWRlcyBhIHRhZyBtYXRjaGVyIHRoYXQgYWxs b3dzIHRvIGRldGVybWluZSBpZiBmZWF0dXJlL3NjZW5hcmlvCisrICAgIHNob3VsZCBydW4gb3Ig c2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIHJ1bi1zZXQgKGF0IHJ1bnRpbWUpLgorKworKyAg ICAuLiBkZXByZWNhdGVkOjogVXNlIDpjbGFzczpgQWN0aXZlVGFnTWF0Y2hlcmAgaW5zdGVhZC4K KysKKysgICAgRVhBTVBMRToKKysgICAgLS0tLS0tLS0KKysKKysgICAgUnVuIHNvbWUgc2NlbmFy aW9zIG9ubHkgd2hlbiBydW50aW1lIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysKKysgICAgICAqIFJ1 biBzY2VuYXJpbyBBbGljZSBvbmx5IG9uIFdpbmRvd3MgT1MKKysgICAgICAqIFJ1biBzY2VuYXJp byBCb2Igb25seSBvbiBNQUNPU1gKKysKKysgICAgLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKysK KysgICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvYWxpY2UuZmVhdHVyZQorKyAgICAgICAgIyBU QUcgU0NIRU1BOiBAb25seS53aXRoX3tjYXRlZ29yeX09e2N1cnJlbnRfdmFsdWV9CisrICAgICAg ICBGZWF0dXJlOgorKworKyAgICAgICAgICBAb25seS53aXRoX29zPXdpbjMyCisrICAgICAgICAg IFNjZW5hcmlvOiBBbGljZSAoUnVuIG9ubHkgb24gV2luZG93cykKKysgICAgICAgICAgICBHaXZl biBJIGRvIHNvbWV0aGluZworKyAgICAgICAgICAgIC4uLgorKworKyAgICAgICAgICBAb25seS53 aXRoX29zPWRhcndpbgorKyAgICAgICAgICBTY2VuYXJpbzogQm9iIChSdW4gb25seSBvbiBNQUNP U1gpCisrICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcgZWxzZQorKyAgICAgICAgICAg IC4uLgorKworKworKyAgICAuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgICAgICAjIC0t IEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrICAgICAgICBmcm9tIGJlaGF2ZS50YWdf bWF0Y2hlciBpbXBvcnQgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAgICAgIGltcG9y dCBzeXMKKysKKysgICAgICAgICMgLS0gTUFUQ0hFUyBUQUdTOiBAb25seS53aXRoX3tjYXRlZ29y eX09KiA9IEBvbmx5LndpdGhfb3M9KgorKyAgICAgICAgYWN0aXZlX3RhZ19tYXRjaGVyID0gT25s eVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoIm9zIiwgc3lzLnBsYXRmb3JtKQorKworKyAgICAgICAg ZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisrICAgICAgICAgICAgaWYg YWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZl X3RhZ3MpOgorKyAgICAgICAgICAgICAgICBzY2VuYXJpby5za2lwKCkgICAjPCBMQVRFLUVYQ0xV REUgZnJvbSBydW4tc2V0LgorKyAgICAiIiIKKysgICAgdGFnX3ByZWZpeCA9ICJvbmx5LndpdGhf IgorKyAgICB2YWx1ZV9zZXBhcmF0b3IgPSAiPSIKKysKKysgICAgZGVmIF9faW5pdF9fKHNlbGYs IGNhdGVnb3J5LCB2YWx1ZSwgdGFnX3ByZWZpeD1Ob25lLCB2YWx1ZV9zZXA9Tm9uZSk6CisrICAg ICAgICB3YXJuaW5ncy53YXJuKCJVc2UgQWN0aXZlVGFnTWF0Y2hlciBpbnN0ZWFkLiIsIERlcHJl Y2F0aW9uV2FybmluZykKKysgICAgICAgIHN1cGVyKE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVy LCBzZWxmKS5fX2luaXRfXygpCisrICAgICAgICBzZWxmLmFjdGl2ZV90YWcgPSBzZWxmLm1ha2Vf Y2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB2YWx1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFnX3ByZWZpeCwgdmFsdWVfc2VwKQorKyAgICAgICAg c2VsZi5jYXRlZ29yeV90YWdfcHJlZml4ID0gc2VsZi5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29y eSwgTm9uZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFnX3ByZWZpeCwgdmFsdWVfc2VwKQorKworKyAgICBkZWYgc2hvdWxkX2V4 Y2x1ZGVfd2l0aChzZWxmLCB0YWdzKToKKysgICAgICAgIGNhdGVnb3J5X3RhZ3MgPSBzZWxmLnNl bGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpCisrICAgICAgICBpZiBjYXRlZ29yeV90YWdzIGFuZCBz ZWxmLmFjdGl2ZV90YWcgbm90IGluIGNhdGVnb3J5X3RhZ3M6CisrICAgICAgICAgICAgcmV0dXJu IFRydWUKKysgICAgICAgICMgLS0gT1RIRVJXSVNFOiBmZWF0dXJlL3NjZW5hcmlvIHdpdGggdGhl c2VzIHRhZ3Mgc2hvdWxkIHJ1bi4KKysgICAgICAgIHJldHVybiBGYWxzZQorKworKyAgICBkZWYg c2VsZWN0X2NhdGVnb3J5X3RhZ3Moc2VsZiwgdGFncyk6CisrICAgICAgICByZXR1cm4gW3RhZyAg Zm9yIHRhZyBpbiB0YWdzCisrICAgICAgICAgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKHNlbGYu Y2F0ZWdvcnlfdGFnX3ByZWZpeCldCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFr ZV9jYXRlZ29yeV90YWcoY2xzLCBjYXRlZ29yeSwgdmFsdWU9Tm9uZSwgdGFnX3ByZWZpeD1Ob25l LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVfc2VwPU5vbmUpOgorKyAgICAgICAg aWYgdGFnX3ByZWZpeCBpcyBOb25lOgorKyAgICAgICAgICAgIHRhZ19wcmVmaXggPSBjbHMudGFn X3ByZWZpeAorKyAgICAgICAgaWYgdmFsdWVfc2VwIGlzIE5vbmU6CisrICAgICAgICAgICAgdmFs dWVfc2VwID0gY2xzLnZhbHVlX3NlcGFyYXRvcgorKyAgICAgICAgdmFsdWUgPSB2YWx1ZSBvciAi IgorKyAgICAgICAgcmV0dXJuICIlcyVzJXMlcyIgJSAodGFnX3ByZWZpeCwgY2F0ZWdvcnksIHZh bHVlX3NlcCwgdmFsdWUpCisrCisrCisrY2xhc3MgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNo ZXIoVGFnTWF0Y2hlcik6CisrICAgICIiIgorKyAgICBQcm92aWRlcyBhIHRhZyBtYXRjaGVyIHRo YXQgbWF0Y2hlcyBhbnkgY2F0ZWdvcnkgdGhhdCBmb2xsb3dzIHRoZQorKyAgICAiQG9ubHkud2l0 aF8iIHRhZyBzY2hlbWEgYW5kIGRldGVybWluZXMgaWYgaXQgc2hvdWxkIHJ1biBvcgorKyAgICBz aG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUgcnVuLXNldCAoYXQgcnVudGltZSkuCisrCisrICAg IFRBRyBTQ0hFTUE6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisrCisrICAgIC4uIHNl ZWFsc286OiBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorKyAgICAuLiBkZXByZWNhdGVkOjog VXNlIDpjbGFzczpgQWN0aXZlVGFnTWF0Y2hlcmAgaW5zdGVhZC4KKysKKysgICAgRVhBTVBMRToK KysgICAgLS0tLS0tLS0KKysKKysgICAgUnVuIHNvbWUgc2NlbmFyaW9zIG9ubHkgd2hlbiBydW50 aW1lIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysKKysgICAgICAqIFJ1biBzY2VuYXJpbyBBbGljZSBv bmx5IG9uIFdpbmRvd3MgT1MKKysgICAgICAqIFJ1biBzY2VuYXJpbyBCb2Igb25seSB3aXRoIGJy b3dzZXIgQ2hyb21lCisrCisrICAgIC4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisrICAgICAg ICAjIC0tIEZJTEU6IGZlYXR1cmVzL2FsaWNlLmZlYXR1cmUKKysgICAgICAgICMgVEFHIFNDSEVN QTogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PXtjdXJyZW50X3ZhbHVlfQorKyAgICAgICAgRmVhdHVy ZToKKysKKysgICAgICAgICAgQG9ubHkud2l0aF9vcz13aW4zMgorKyAgICAgICAgICBTY2VuYXJp bzogQWxpY2UgKFJ1biBvbmx5IG9uIFdpbmRvd3MpCisrICAgICAgICAgICAgR2l2ZW4gSSBkbyBz b21ldGhpbmcKKysgICAgICAgICAgICAuLi4KKysKKysgICAgICAgICAgQG9ubHkud2l0aF9icm93 c2VyPWNocm9tZQorKyAgICAgICAgICBTY2VuYXJpbzogQm9iIChSdW4gb25seSB3aXRoIFdlYi1C cm93c2VyIENocm9tZSkKKysgICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGluZyBlbHNlCisr ICAgICAgICAgICAgLi4uCisrCisrCisrICAgIC4uIGNvZGUtYmxvY2s6OiBweXRob24KKysKKysg ICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysgICAgICAgIGZyb20g YmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgor KyAgICAgICAgaW1wb3J0IHN5cworKworKyAgICAgICAgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBA b25seS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorKyAgICAgICAgIyBOT1RFOiBhY3RpdmVfdGFn X3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGN1cnJlbnQgY2F0ZWdvcnkgdmFsdWVzLgorKyAgICAg ICAgYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKysgICAgICAgICAgICAiYnJvd3NlciI6 IG9zLmVudmlyb24uZ2V0KCJCRUhBVkVfQlJPV1NFUiIsICJjaHJvbWUiKSwKKysgICAgICAgICAg ICAib3MiOiAgICAgIHN5cy5wbGF0Zm9ybSwKKysgICAgICAgIH0KKysgICAgICAgIGFjdGl2ZV90 YWdfbWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFs dWVfcHJvdmlkZXIpCisrCisrICAgICAgICBkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNj ZW5hcmlvKToKKysgICAgICAgICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisrICAgICAgICAgICAgICAgIHNjZW5h cmlvLnNraXAoKSAgICM8IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQuCisrICAgICIiIgorKwor KyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWVfcHJvdmlkZXIsIHRhZ19wcmVmaXg9Tm9uZSwg dmFsdWVfc2VwPU5vbmUpOgorKyAgICAgICAgd2FybmluZ3Mud2FybigiVXNlIEFjdGl2ZVRhZ01h dGNoZXIgaW5zdGVhZC4iLCBEZXByZWNhdGlvbldhcm5pbmcpCisrICAgICAgICBzdXBlcihPbmx5 V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlciwgc2VsZikuX19pbml0X18oKQorKyAgICAgICAgaWYg dmFsdWVfc2VwIGlzIE5vbmU6CisrICAgICAgICAgICAgdmFsdWVfc2VwID0gT25seVdpdGhDYXRl Z29yeVRhZ01hdGNoZXIudmFsdWVfc2VwYXJhdG9yCisrICAgICAgICBzZWxmLnZhbHVlX3Byb3Zp ZGVyID0gdmFsdWVfcHJvdmlkZXIKKysgICAgICAgIHNlbGYudGFnX3ByZWZpeCA9IHRhZ19wcmVm aXggb3IgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIudGFnX3ByZWZpeAorKyAgICAgICAgc2Vs Zi52YWx1ZV9zZXBhcmF0b3IgPSB2YWx1ZV9zZXAKKysKKysgICAgZGVmIHNob3VsZF9leGNsdWRl X3dpdGgoc2VsZiwgdGFncyk6CisrICAgICAgICBleGNsdWRlX2RlY2lzaW9uX21hcCA9IHt9Cisr ICAgICAgICBmb3IgY2F0ZWdvcnlfdGFnIGluIHNlbGYuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFn cyk6CisrICAgICAgICAgICAgY2F0ZWdvcnksIHZhbHVlID0gc2VsZi5wYXJzZV9jYXRlZ29yeV90 YWcoY2F0ZWdvcnlfdGFnKQorKyAgICAgICAgICAgIGFjdGl2ZV92YWx1ZSA9IHNlbGYudmFsdWVf cHJvdmlkZXIuZ2V0KGNhdGVnb3J5LCBOb25lKQorKyAgICAgICAgICAgIGlmIGFjdGl2ZV92YWx1 ZSBpcyBOb25lOgorKyAgICAgICAgICAgICAgICAjIC0tIENBU0U6IFVua25vd24gY2F0ZWdvcnks IGlnbm9yZSBpdC4KKysgICAgICAgICAgICAgICAgY29udGludWUKKysgICAgICAgICAgICBlbGlm IGFjdGl2ZV92YWx1ZSA9PSB2YWx1ZToKKysgICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBBY3Rp dmUgY2F0ZWdvcnkgdmFsdWUgc2VsZWN0ZWQsIGRlY2lzaW9uIHNob3VsZCBydW4uCisrICAgICAg ICAgICAgICAgIGV4Y2x1ZGVfZGVjaXNpb25fbWFwW2NhdGVnb3J5XSA9IEZhbHNlCisrICAgICAg ICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBJbmFjdGl2ZSBjYXRlZ29y eSB2YWx1ZSBzZWxlY3RlZCwgbWF5IGV4Y2x1ZGUgaXQuCisrICAgICAgICAgICAgICAgIGlmIGNh dGVnb3J5IG5vdCBpbiBleGNsdWRlX2RlY2lzaW9uX21hcDoKKysgICAgICAgICAgICAgICAgICAg IGV4Y2x1ZGVfZGVjaXNpb25fbWFwW2NhdGVnb3J5XSA9IFRydWUKKysgICAgICAgIHJldHVybiBh bnkoZXhjbHVkZV9kZWNpc2lvbl9tYXAudmFsdWVzKCkpCisrCisrICAgIGRlZiBzZWxlY3RfY2F0 ZWdvcnlfdGFncyhzZWxmLCB0YWdzKToKKysgICAgICAgIHJldHVybiBbdGFnICBmb3IgdGFnIGlu IHRhZ3MKKysgICAgICAgICAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoc2VsZi50YWdfcHJlZml4 KV0KKysKKysgICAgZGVmIHBhcnNlX2NhdGVnb3J5X3RhZyhzZWxmLCB0YWcpOgorKyAgICAgICAg YXNzZXJ0IHRhZyBhbmQgdGFnLnN0YXJ0c3dpdGgoc2VsZi50YWdfcHJlZml4KQorKyAgICAgICAg Y2F0ZWdvcnlfdmFsdWUgPSB0YWdbbGVuKHNlbGYudGFnX3ByZWZpeCk6XQorKyAgICAgICAgaWYg c2VsZi52YWx1ZV9zZXBhcmF0b3IgaW4gY2F0ZWdvcnlfdmFsdWU6CisrICAgICAgICAgICAgY2F0 ZWdvcnksIHZhbHVlID0gY2F0ZWdvcnlfdmFsdWUuc3BsaXQoc2VsZi52YWx1ZV9zZXBhcmF0b3Is IDEpCisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICMgLS0gT09QUzogVEFHIFNDSEVNQSBG T1JNQVQgTUlTTUFUQ0gKKysgICAgICAgICAgICBjYXRlZ29yeSA9IGNhdGVnb3J5X3ZhbHVlCisr ICAgICAgICAgICAgdmFsdWUgPSBOb25lCisrICAgICAgICByZXR1cm4gY2F0ZWdvcnksIHZhbHVl CitkaWZmIC0tZ2l0IGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5IGIvYmVoYXZlL3RhZ19tYXRjaGVy LnB5CitpbmRleCBmMWY5NTViLi41ZjlkY2UwIDEwMDY0NAorLS0tIGEvYmVoYXZlL3RhZ19tYXRj aGVyLnB5CisrKysgYi9iZWhhdmUvdGFnX21hdGNoZXIucHkKK0BAIC0xLDkgKzEsMTIgQEAKKy0j IC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisr Q29udGFpbnMgY2xhc3NlcyBhbmQgZnVuY3Rpb25hbGl0eSB0byBwcm92aWRlIGEgc2tpcC1pZiBs b2dpYyBiYXNlZCBvbiB0YWdzCisraW4gZmVhdHVyZSBmaWxlcy4KKysiIiIKKyAKKyBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGltcG9ydCByZQorIGltcG9ydCBvcGVy YXRvcgorLWltcG9ydCB3YXJuaW5ncworIGltcG9ydCBzaXgKKyAKKyAKK0BAIC0zNCwxMCArMzcs MTAgQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgIiIiUHJvdmlk ZXMgYW4gYWN0aXZlIHRhZyBtYXRjaGVyIGZvciBtYW55IGNhdGVnb3JpZXMuCisgCisgICAgIFRB RyBTQ0hFTUE6CistICAgICAgKiBhY3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKy0gICAg ICAqIG5vdF9hY3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAqIHVzZS53aXRo X3tjYXRlZ29yeX09e3ZhbHVlfQorICAgICAgICogbm90LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9 CisrICAgICAgKiBhY3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKysgICAgICAqIG5vdF9h Y3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAqIG9ubHkud2l0aF97Y2F0ZWdv cnl9PXt2YWx1ZX0gICAgICAgIChOT1RFOiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSkKKyAK KyAgICAgVEFHIExPR0lDCitAQCAtMjg1LDE4MSArMjg4LDMgQEAgZGVmIHNldHVwX2FjdGl2ZV90 YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVzLCBkYXRhKToKKyAgICAgZm9yIGNhdGVnb3J5IGlu IGxpc3QoYWN0aXZlX3RhZ192YWx1ZXMua2V5cygpKToKKyAgICAgICAgIGlmIGNhdGVnb3J5IGlu IGRhdGE6CisgICAgICAgICAgICAgYWN0aXZlX3RhZ192YWx1ZXNbY2F0ZWdvcnldID0gZGF0YVtj YXRlZ29yeV0KKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQUk9UT1RZUElORyBD TEFTU0VTOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1jbGFzcyBPbmx5V2l0aENhdGVnb3J5 VGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKy0gICAgIiIiCistICAgIFByb3ZpZGVzIGEgdGFnIG1h dGNoZXIgdGhhdCBhbGxvd3MgdG8gZGV0ZXJtaW5lIGlmIGZlYXR1cmUvc2NlbmFyaW8KKy0gICAg c2hvdWxkIHJ1biBvciBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUgcnVuLXNldCAoYXQgcnVu dGltZSkuCistCistICAgIC4uIGRlcHJlY2F0ZWQ6OiBVc2UgOmNsYXNzOmBBY3RpdmVUYWdNYXRj aGVyYCBpbnN0ZWFkLgorLQorLSAgICBFWEFNUExFOgorLSAgICAtLS0tLS0tLQorLQorLSAgICBS dW4gc29tZSBzY2VuYXJpb3Mgb25seSB3aGVuIHJ1bnRpbWUgY29uZGl0aW9ucyBhcmUgbWV0Ogor LQorLSAgICAgICogUnVuIHNjZW5hcmlvIEFsaWNlIG9ubHkgb24gV2luZG93cyBPUworLSAgICAg ICogUnVuIHNjZW5hcmlvIEJvYiBvbmx5IG9uIE1BQ09TWAorLQorLSAgICAuLiBjb2RlLWJsb2Nr OjogZ2hlcmtpbgorLQorLSAgICAgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9hbGljZS5mZWF0dXJl CistICAgICAgICAjIFRBRyBTQ0hFTUE6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT17Y3VycmVudF92 YWx1ZX0KKy0gICAgICAgIEZlYXR1cmU6CistCistICAgICAgICAgIEBvbmx5LndpdGhfb3M9d2lu MzIKKy0gICAgICAgICAgU2NlbmFyaW86IEFsaWNlIChSdW4gb25seSBvbiBXaW5kb3dzKQorLSAg ICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5nCistICAgICAgICAgICAgLi4uCistCistICAg ICAgICAgIEBvbmx5LndpdGhfb3M9ZGFyd2luCistICAgICAgICAgIFNjZW5hcmlvOiBCb2IgKFJ1 biBvbmx5IG9uIE1BQ09TWCkKKy0gICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGluZyBlbHNl CistICAgICAgICAgICAgLi4uCistCistCistICAgIC4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0K Ky0gICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKy0gICAgICAgIGZy b20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgor LSAgICAgICAgaW1wb3J0IHN5cworLQorLSAgICAgICAgIyAtLSBNQVRDSEVTIFRBR1M6IEBvbmx5 LndpdGhfe2NhdGVnb3J5fT0qID0gQG9ubHkud2l0aF9vcz0qCistICAgICAgICBhY3RpdmVfdGFn X21hdGNoZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcigib3MiLCBzeXMucGxhdGZvcm0p CistCistICAgICAgICBkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKy0g ICAgICAgICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2Vu YXJpby5lZmZlY3RpdmVfdGFncyk6CistICAgICAgICAgICAgICAgIHNjZW5hcmlvLnNraXAoKSAg ICM8IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQuCistICAgICIiIgorLSAgICB0YWdfcHJlZml4 ID0gIm9ubHkud2l0aF8iCistICAgIHZhbHVlX3NlcGFyYXRvciA9ICI9IgorLQorLSAgICBkZWYg X19pbml0X18oc2VsZiwgY2F0ZWdvcnksIHZhbHVlLCB0YWdfcHJlZml4PU5vbmUsIHZhbHVlX3Nl cD1Ob25lKToKKy0gICAgICAgIHdhcm5pbmdzLndhcm4oIlVzZSBBY3RpdmVUYWdNYXRjaGVyIGlu c3RlYWQuIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorLSAgICAgICAgc3VwZXIoT25seVdpdGhDYXRl Z29yeVRhZ01hdGNoZXIsIHNlbGYpLl9faW5pdF9fKCkKKy0gICAgICAgIHNlbGYuYWN0aXZlX3Rh ZyA9IHNlbGYubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIHZhbHVlLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdfcHJlZml4LCB2YWx1ZV9z ZXApCistICAgICAgICBzZWxmLmNhdGVnb3J5X3RhZ19wcmVmaXggPSBzZWxmLm1ha2VfY2F0ZWdv cnlfdGFnKGNhdGVnb3J5LCBOb25lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdfcHJlZml4LCB2YWx1ZV9zZXApCistCistICAg IGRlZiBzaG91bGRfZXhjbHVkZV93aXRoKHNlbGYsIHRhZ3MpOgorLSAgICAgICAgY2F0ZWdvcnlf dGFncyA9IHNlbGYuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncykKKy0gICAgICAgIGlmIGNhdGVn b3J5X3RhZ3MgYW5kIHNlbGYuYWN0aXZlX3RhZyBub3QgaW4gY2F0ZWdvcnlfdGFnczoKKy0gICAg ICAgICAgICByZXR1cm4gVHJ1ZQorLSAgICAgICAgIyAtLSBPVEhFUldJU0U6IGZlYXR1cmUvc2Nl bmFyaW8gd2l0aCB0aGVzZXMgdGFncyBzaG91bGQgcnVuLgorLSAgICAgICAgcmV0dXJuIEZhbHNl CistCistICAgIGRlZiBzZWxlY3RfY2F0ZWdvcnlfdGFncyhzZWxmLCB0YWdzKToKKy0gICAgICAg IHJldHVybiBbdGFnICBmb3IgdGFnIGluIHRhZ3MKKy0gICAgICAgICAgICAgICAgaWYgdGFnLnN0 YXJ0c3dpdGgoc2VsZi5jYXRlZ29yeV90YWdfcHJlZml4KV0KKy0KKy0gICAgQGNsYXNzbWV0aG9k CistICAgIGRlZiBtYWtlX2NhdGVnb3J5X3RhZyhjbHMsIGNhdGVnb3J5LCB2YWx1ZT1Ob25lLCB0 YWdfcHJlZml4PU5vbmUsCistICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9zZXA9Tm9u ZSk6CistICAgICAgICBpZiB0YWdfcHJlZml4IGlzIE5vbmU6CistICAgICAgICAgICAgdGFnX3By ZWZpeCA9IGNscy50YWdfcHJlZml4CistICAgICAgICBpZiB2YWx1ZV9zZXAgaXMgTm9uZToKKy0g ICAgICAgICAgICB2YWx1ZV9zZXAgPSBjbHMudmFsdWVfc2VwYXJhdG9yCistICAgICAgICB2YWx1 ZSA9IHZhbHVlIG9yICIiCistICAgICAgICByZXR1cm4gIiVzJXMlcyVzIiAlICh0YWdfcHJlZml4 LCBjYXRlZ29yeSwgdmFsdWVfc2VwLCB2YWx1ZSkKKy0KKy0KKy1jbGFzcyBPbmx5V2l0aEFueUNh dGVnb3J5VGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKy0gICAgIiIiCistICAgIFByb3ZpZGVzIGEg dGFnIG1hdGNoZXIgdGhhdCBtYXRjaGVzIGFueSBjYXRlZ29yeSB0aGF0IGZvbGxvd3MgdGhlCist ICAgICJAb25seS53aXRoXyIgdGFnIHNjaGVtYSBhbmQgZGV0ZXJtaW5lcyBpZiBpdCBzaG91bGQg cnVuIG9yCistICAgIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRoZSBydW4tc2V0IChhdCBydW50 aW1lKS4KKy0KKy0gICAgVEFHIFNDSEVNQTogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0K Ky0KKy0gICAgLi4gc2VlYWxzbzo6IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyCistICAgIC4u IGRlcHJlY2F0ZWQ6OiBVc2UgOmNsYXNzOmBBY3RpdmVUYWdNYXRjaGVyYCBpbnN0ZWFkLgorLQor LSAgICBFWEFNUExFOgorLSAgICAtLS0tLS0tLQorLQorLSAgICBSdW4gc29tZSBzY2VuYXJpb3Mg b25seSB3aGVuIHJ1bnRpbWUgY29uZGl0aW9ucyBhcmUgbWV0OgorLQorLSAgICAgICogUnVuIHNj ZW5hcmlvIEFsaWNlIG9ubHkgb24gV2luZG93cyBPUworLSAgICAgICogUnVuIHNjZW5hcmlvIEJv YiBvbmx5IHdpdGggYnJvd3NlciBDaHJvbWUKKy0KKy0gICAgLi4gY29kZS1ibG9jazo6IGdoZXJr aW4KKy0KKy0gICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvYWxpY2UuZmVhdHVyZQorLSAgICAg ICAgIyBUQUcgU0NIRU1BOiBAb25seS53aXRoX3tjYXRlZ29yeX09e2N1cnJlbnRfdmFsdWV9Cist ICAgICAgICBGZWF0dXJlOgorLQorLSAgICAgICAgICBAb25seS53aXRoX29zPXdpbjMyCistICAg ICAgICAgIFNjZW5hcmlvOiBBbGljZSAoUnVuIG9ubHkgb24gV2luZG93cykKKy0gICAgICAgICAg ICBHaXZlbiBJIGRvIHNvbWV0aGluZworLSAgICAgICAgICAgIC4uLgorLQorLSAgICAgICAgICBA b25seS53aXRoX2Jyb3dzZXI9Y2hyb21lCistICAgICAgICAgIFNjZW5hcmlvOiBCb2IgKFJ1biBv bmx5IHdpdGggV2ViLUJyb3dzZXIgQ2hyb21lKQorLSAgICAgICAgICAgIEdpdmVuIEkgZG8gc29t ZXRoaW5nIGVsc2UKKy0gICAgICAgICAgICAuLi4KKy0KKy0KKy0gICAgLi4gY29kZS1ibG9jazo6 IHB5dGhvbgorLQorLSAgICAgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQor LSAgICAgICAgZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IE9ubHlXaXRoQW55Q2F0ZWdv cnlUYWdNYXRjaGVyCistICAgICAgICBpbXBvcnQgc3lzCistCistICAgICAgICAjIC0tIE1BVENI RVMgQU5ZIFRBR1M6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CistICAgICAgICAjIE5P VEU6IGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgcHJvdmlkZXMgY3VycmVudCBjYXRlZ29yeSB2 YWx1ZXMuCistICAgICAgICBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworLSAgICAgICAg ICAgICJicm93c2VyIjogb3MuZW52aXJvbi5nZXQoIkJFSEFWRV9CUk9XU0VSIiwgImNocm9tZSIp LAorLSAgICAgICAgICAgICJvcyI6ICAgICAgc3lzLnBsYXRmb3JtLAorLSAgICAgICAgfQorLSAg ICAgICAgYWN0aXZlX3RhZ19tYXRjaGVyID0gT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIo YWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKy0KKy0gICAgICAgIGRlZiBiZWZvcmVfc2NlbmFy aW8oY29udGV4dCwgc2NlbmFyaW8pOgorLSAgICAgICAgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hl ci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToKKy0gICAgICAg ICAgICAgICAgc2NlbmFyaW8uc2tpcCgpICAgIzwgTEFURS1FWENMVURFIGZyb20gcnVuLXNldC4K Ky0gICAgIiIiCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZV9wcm92aWRlciwgdGFn X3ByZWZpeD1Ob25lLCB2YWx1ZV9zZXA9Tm9uZSk6CistICAgICAgICB3YXJuaW5ncy53YXJuKCJV c2UgQWN0aXZlVGFnTWF0Y2hlciBpbnN0ZWFkLiIsIERlcHJlY2F0aW9uV2FybmluZykKKy0gICAg ICAgIHN1cGVyKE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyLCBzZWxmKS5fX2luaXRfXygp CistICAgICAgICBpZiB2YWx1ZV9zZXAgaXMgTm9uZToKKy0gICAgICAgICAgICB2YWx1ZV9zZXAg PSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci52YWx1ZV9zZXBhcmF0b3IKKy0gICAgICAgIHNl bGYudmFsdWVfcHJvdmlkZXIgPSB2YWx1ZV9wcm92aWRlcgorLSAgICAgICAgc2VsZi50YWdfcHJl Zml4ID0gdGFnX3ByZWZpeCBvciBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci50YWdfcHJlZml4 CistICAgICAgICBzZWxmLnZhbHVlX3NlcGFyYXRvciA9IHZhbHVlX3NlcAorLQorLSAgICBkZWYg c2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmLCB0YWdzKToKKy0gICAgICAgIGV4Y2x1ZGVfZGVjaXNp b25fbWFwID0ge30KKy0gICAgICAgIGZvciBjYXRlZ29yeV90YWcgaW4gc2VsZi5zZWxlY3RfY2F0 ZWdvcnlfdGFncyh0YWdzKToKKy0gICAgICAgICAgICBjYXRlZ29yeSwgdmFsdWUgPSBzZWxmLnBh cnNlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeV90YWcpCistICAgICAgICAgICAgYWN0aXZlX3ZhbHVl ID0gc2VsZi52YWx1ZV9wcm92aWRlci5nZXQoY2F0ZWdvcnksIE5vbmUpCistICAgICAgICAgICAg aWYgYWN0aXZlX3ZhbHVlIGlzIE5vbmU6CistICAgICAgICAgICAgICAgICMgLS0gQ0FTRTogVW5r bm93biBjYXRlZ29yeSwgaWdub3JlIGl0LgorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLSAg ICAgICAgICAgIGVsaWYgYWN0aXZlX3ZhbHVlID09IHZhbHVlOgorLSAgICAgICAgICAgICAgICAj IC0tIENBU0U6IEFjdGl2ZSBjYXRlZ29yeSB2YWx1ZSBzZWxlY3RlZCwgZGVjaXNpb24gc2hvdWxk IHJ1bi4KKy0gICAgICAgICAgICAgICAgZXhjbHVkZV9kZWNpc2lvbl9tYXBbY2F0ZWdvcnldID0g RmFsc2UKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAjIC0tIENBU0U6IElu YWN0aXZlIGNhdGVnb3J5IHZhbHVlIHNlbGVjdGVkLCBtYXkgZXhjbHVkZSBpdC4KKy0gICAgICAg ICAgICAgICAgaWYgY2F0ZWdvcnkgbm90IGluIGV4Y2x1ZGVfZGVjaXNpb25fbWFwOgorLSAgICAg ICAgICAgICAgICAgICAgZXhjbHVkZV9kZWNpc2lvbl9tYXBbY2F0ZWdvcnldID0gVHJ1ZQorLSAg ICAgICAgcmV0dXJuIGFueShleGNsdWRlX2RlY2lzaW9uX21hcC52YWx1ZXMoKSkKKy0KKy0gICAg ZGVmIHNlbGVjdF9jYXRlZ29yeV90YWdzKHNlbGYsIHRhZ3MpOgorLSAgICAgICAgcmV0dXJuIFt0 YWcgIGZvciB0YWcgaW4gdGFncworLSAgICAgICAgICAgICAgICBpZiB0YWcuc3RhcnRzd2l0aChz ZWxmLnRhZ19wcmVmaXgpXQorLQorLSAgICBkZWYgcGFyc2VfY2F0ZWdvcnlfdGFnKHNlbGYsIHRh Zyk6CistICAgICAgICBhc3NlcnQgdGFnIGFuZCB0YWcuc3RhcnRzd2l0aChzZWxmLnRhZ19wcmVm aXgpCistICAgICAgICBjYXRlZ29yeV92YWx1ZSA9IHRhZ1tsZW4oc2VsZi50YWdfcHJlZml4KTpd CistICAgICAgICBpZiBzZWxmLnZhbHVlX3NlcGFyYXRvciBpbiBjYXRlZ29yeV92YWx1ZToKKy0g ICAgICAgICAgICBjYXRlZ29yeSwgdmFsdWUgPSBjYXRlZ29yeV92YWx1ZS5zcGxpdChzZWxmLnZh bHVlX3NlcGFyYXRvciwgMSkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgIyAtLSBPT1BT OiBUQUcgU0NIRU1BIEZPUk1BVCBNSVNNQVRDSAorLSAgICAgICAgICAgIGNhdGVnb3J5ID0gY2F0 ZWdvcnlfdmFsdWUKKy0gICAgICAgICAgICB2YWx1ZSA9IE5vbmUKKy0gICAgICAgIHJldHVybiBj YXRlZ29yeSwgdmFsdWUKK2RpZmYgLS1naXQgYS90ZXN0cy5hdHRpYy9fX2luaXRfXy5weSBiL3Rl c3RzLmF0dGljL19faW5pdF9fLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MC4uZTY5ZGUyOQorZGlmZiAtLWdpdCBhL3Rlc3RzLmF0dGljL3VuaXQvX19pbml0X18ucHkgYi90 ZXN0cy5hdHRpYy91bml0L19faW5pdF9fLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMC4uZTY5ZGUyOQorZGlmZiAtLWdpdCBhL3Rlc3RzLmF0dGljL3VuaXQvdGVzdF90YWdf bWF0Y2hlci5weSBiL3Rlc3RzLmF0dGljL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmQ3NjdmYTcKKy0tLSAvZGV2L251bGwKKysr KyBiL3Rlc3RzLmF0dGljL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQorQEAgLTAsMCArMSwyODAg QEAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBQUk9UT1RZUElORyBDTEFTU0VTIChkZXBy ZWNhdGluZykgLS0gU2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKysKKytpbXBvcnQgd2FybmluZ3MKKytmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2Fz ZQorK2Zyb20gYmVoYXZlLmF0dGljLnRhZ19tYXRjaGVyIGltcG9ydCBcCisrICAgIE9ubHlXaXRo Q2F0ZWdvcnlUYWdNYXRjaGVyLCAgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKysKKysK KytjbGFzcyBUZXN0T25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoVGVzdENhc2UpOgorKyAgICBU YWdNYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKysKKysgICAgZGVmIHNldFVw KHNlbGYpOgorKyAgICAgICAgY2F0ZWdvcnkgPSAieHh4IgorKyAgICAgICAgd2l0aCB3YXJuaW5n cy5jYXRjaF93YXJuaW5ncygpOgorKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigi aWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorKyAgICAgICAgICAgIHNlbGYudGFnX21hdGNo ZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcihjYXRlZ29yeSwgImFsaWNlIikKKysgICAg ICAgIHNlbGYuZW5hYmxlZF90YWcgPSBzZWxmLlRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWco Y2F0ZWdvcnksICJhbGljZSIpCisrICAgICAgICBzZWxmLnNpbWlsYXJfdGFnID0gc2VsZi5UYWdN YXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UyIikKKysgICAgICAgIHNl bGYub3RoZXJfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5 LCAib3RoZXIiKQorKyAgICAgICAgc2VsZi5jYXRlZ29yeSA9IGNhdGVnb3J5CisrCisrICAgIGRl ZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9lbmFibGVkX3Rh ZyhzZWxmKToKKysgICAgICAgIHRhZ3MgPSBbIHNlbGYuZW5hYmxlZF90YWcgXQorKyAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93 aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5z X2ZhbHNlX3dpdGhfZW5hYmxlZF90YWdfYW5kX21vcmUoc2VsZik6CisrICAgICAgICB0ZXN0X3Bh dHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJf dGFnIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAgICAgICAgIChbIHNlbGYub3RoZXJfdGFnLCBz ZWxmLmVuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIs IHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxl IiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5z OgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIu c2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9l eGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToKKysgICAgICAg IHRhZ3MgPSBbIHNlbGYub3RoZXJfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1 ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBk ZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWdf YW5kX21vcmUoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAg IChbIHNlbGYub3RoZXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAg ICAoWyAiZm9vIiwgc2VsZi5vdGhlcl90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAg ICAoWyAiZm9vIiwgc2VsZi5vdGhlcl90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysg ICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAg ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRh Z3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93 aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxmKToKKysgICAgICAgIHRhZ3Mg PSBbIHNlbGYuc2ltaWxhcl90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0 ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21v cmUoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHNl bGYuc2ltaWxhcl90YWcsICJmb28iIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAgICAgICAgIChb ICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnIF0sICJjYXNlOiBsYXN0IiksCisrICAgICAgICAgICAg KFsgImZvbyIsIHNlbGYuc2ltaWxhcl90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysg ICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAg ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRh Z3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93 aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhvdXRfY2F0ZWdvcnlfdGFnKHNlbGYpOgorKyAgICAgICAg dGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBdLCAgICAgICAgICAgImNhc2U6IE5v IHRhZ3MiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgImNhc2U6IE9uZSB0YWciKSwK KysgICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgImNhc2U6IFR3byB0YWdzIiksCisrICAg ICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFn cz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9f bmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmKToKKysgICAgICAgIHRl c3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICAgICAgICAgImNh c2U6IE5vIHRhZ3MiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAgICAiY2Fz ZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgImJhciIg XSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29yeSB0YWdzIiksCisrICAgICAgICAgICAgKFsg c2VsZi5lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRhZyIpLAorKyAgICAgICAgICAg IChbIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFnIF0sICAiY2FzZTogZW5hYmxlZCBh bmQgb3RoZXIgdGFnIiksCisrICAgICAgICAgICAgKFsgc2VsZi5lbmFibGVkX3RhZywgImZvbyIg XSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWciKSwKKysgICAgICAgICAgICAoWyBzZWxm Lm90aGVyX3RhZyBdLCAgICAgICAgICAgICJjYXNlOiBvdGhlciB0YWciKSwKKysgICAgICAgICAg ICAoWyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRh ZyIpLAorKyAgICAgICAgICAgIChbIHNlbGYuc2ltaWxhcl90YWcgXSwgICAgICAgICAgImNhc2U6 IHNpbWlsYXIgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYuc2ltaWxhcl90YWcg XSwgICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIpLAorKyAgICAgICAgXQorKyAgICAgICAg Zm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICByZXN1bHQxID0g c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykKKysgICAgICAgICAgICByZXN1 bHQyID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVz IiAlIChjYXNlLCB0YWdzKSkKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1 bHQxLCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYg dGVzdF9tYWtlX2NhdGVnb3J5X3RhZ19fcmV0dXJuc19jYXRlZ29yeV90YWdfcHJlZml4X3dpdGhv dXRfdmFsdWUoc2VsZik6CisrICAgICAgICBjYXRlZ29yeSA9ICJ4eHgiCisrICAgICAgICB0YWcx ID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnkp CisrICAgICAgICB0YWcyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29y eV90YWcoY2F0ZWdvcnksIE5vbmUpCisrICAgICAgICB0YWczID0gT25seVdpdGhDYXRlZ29yeVRh Z01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIHZhbHVlPU5vbmUpCisrICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzEpCisrICAgICAgICBzZWxm LmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzIpCisrICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzMpCisrICAgICAgICBzZWxmLmFzc2VydFRydWUo dGFnMS5zdGFydHN3aXRoKE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLnRhZ19wcmVmaXgpKQor KworKyAgICBkZWYgdGVzdF9tYWtlX2NhdGVnb3J5X3RhZ19fcmV0dXJuc19jYXRlZ29yeV90YWdf d2l0aF92YWx1ZShzZWxmKToKKysgICAgICAgIGNhdGVnb3J5ID0gInh4eCIKKysgICAgICAgIHRh ZzEgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29y eSwgImFsaWNlIikKKysgICAgICAgIHRhZzIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5t YWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImJvYiIpCisrICAgICAgICBzZWxmLmFzc2VydEVx dWFsKCJvbmx5LndpdGhfeHh4PWFsaWNlIiwgdGFnMSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoIm9ubHkud2l0aF94eHg9Ym9iIiwgdGFnMikKKysKKysgICAgZGVmIHRlc3RfbWFrZV9jYXRl Z29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3dpdGhfdGFnX3ByZWZpeChzZWxmKToKKysg ICAgICAgIG15X3RhZ19wcmVmaXggPSAiT05MWV9XSVRILiIKKysgICAgICAgIGNhdGVnb3J5ID0g Inh4eCIKKysgICAgICAgIFRhZ01hdGNoZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgor KyAgICAgICAgdGFnMCA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIHRh Z19wcmVmaXg9bXlfdGFnX3ByZWZpeCkKKysgICAgICAgIHRhZzEgPSBUYWdNYXRjaGVyLm1ha2Vf Y2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UiLCBteV90YWdfcHJlZml4KQorKyAgICAgICAg dGFnMiA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJib2IiLCB0YWdf cHJlZml4PW15X3RhZ19wcmVmaXgpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJ VEgueHh4PSIsIHRhZzApCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4 PWFsaWNlIiwgdGFnMSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIk9OTFlfV0lUSC54eHg9 Ym9iIiwgdGFnMikKKysgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0YWcxLnN0YXJ0c3dpdGgobXlf dGFnX3ByZWZpeCkpCisrCisrICAgIGRlZiB0ZXN0X2N0b3JfX3dpdGhfdGFnX3ByZWZpeChzZWxm KToKKysgICAgICAgIHRhZ19wcmVmaXggPSAiT05MWV9XSVRILiIKKysgICAgICAgIHRhZ19tYXRj aGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoInh4eCIsICJhbGljZSIsIHRhZ19wcmVm aXgpCisrCisrICAgICAgICB0YWdzID0gWyJmb28iLCAiT05MWV9XSVRILnh4eD1mb28iLCAib25s eS53aXRoX3h4eD1iYXIiLCAiYmFyIl0KKysgICAgICAgIGFjdHVhbF90YWdzID0gdGFnX21hdGNo ZXIuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncykKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo WyJPTkxZX1dJVEgueHh4PWZvbyJdLCBhY3R1YWxfdGFncykKKysKKysKKytjbGFzcyBUcmFpdHM0 T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIob2JqZWN0KToKKysgICAgIiIiVGVzdCBkYXRh IGZvciBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlci4iIiIKKysKKysgICAgVGFnTWF0Y2hl cjAgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorKyAgICBUYWdNYXRjaGVyID0gT25seVdp dGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAgY2F0ZWdvcnkxX2VuYWJsZWRfdGFnID0gVGFn TWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIpCisrICAgIGNhdGVnb3J5 MV9zaW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxp Y2UyIikKKysgICAgY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0 ZWdvcnlfdGFnKCJmb28iLCAiYm9iIikKKysgICAgY2F0ZWdvcnkyX2VuYWJsZWRfdGFnID0gVGFn TWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0IiKQorKyAgICBjYXRlZ29yeTJf c2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiYmFyIiwgIkJPQjIi KQorKyAgICBjYXRlZ29yeTJfZGlzYWJsZWRfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29y eV90YWcoImJhciIsICJDSEFSTFkiKQorKyAgICB1bmtub3duX2NhdGVnb3J5X3RhZyA9IFRhZ01h dGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJVTktOT1dOIiwgIm9uZSIpCisrCisrCisrY2xhc3Mg VGVzdE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKFRlc3RDYXNlKToKKysgICAgVGFnTWF0 Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCisrICAgIHRyYWl0cyA9IFRyYWl0 czRPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorKworKyAgICBkZWYgc2V0VXAoc2VsZik6 CisrICAgICAgICB2YWx1ZV9wcm92aWRlciA9IHsKKysgICAgICAgICAgICAiZm9vIjogImFsaWNl IiwKKysgICAgICAgICAgICAiYmFyIjogIkJPQiIsCisrICAgICAgICB9CisrICAgICAgICB3aXRo IHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisrICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxl ZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCisrICAgICAgICAgICAgc2VsZi50 YWdfbWF0Y2hlciA9IHNlbGYuVGFnTWF0Y2hlcih2YWx1ZV9wcm92aWRlcikKKysKKysgICAgIyBk ZWYgdGVzdF9kZXByZWNhdGluZ193YXJuaW5nX2lzX2lzc3VlZChzZWxmKToKKysgICAgIyAgICAg dmFsdWVfcHJvdmlkZXIgPSB7ImZvbyI6ICJhbGljZSJ9CisrICAgICMgICAgIHdpdGggd2Fybmlu Z3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHJlY29yZGVyOgorKyAgICAjICAgICAg ICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiLCBEZXByZWNhdGlvbldhcm5pbmcpCisr ICAgICMgICAgICAgICB0YWdfbWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVy KHZhbHVlX3Byb3ZpZGVyKQorKyAgICAjICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVj b3JkZXIpLCAxKQorKyAgICAjICAgICAgICAgbGFzdF93YXJuaW5nID0gcmVjb3JkZXJbLTFdCisr ICAgICMgICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyhsYXN0X3dhcm5pbmcuY2F0ZWdvcnksIERl cHJlY2F0aW9uV2FybmluZykKKysgICAgIyAgICAgICAgIGFzc2VydCAiZGVwcmVjYXRlZCIgaW4g c3RyKGxhc3Rfd2FybmluZy5tZXNzYWdlKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVk ZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWcoc2VsZik6CisrICAgICAgICB0 cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGFnczEgPSBbIHRyYWl0cy5jYXRlZ29yeTFf ZW5hYmxlZF90YWcgXQorKyAgICAgICAgdGFnczIgPSBbIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxl ZF90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hl ci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MxKSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo RmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMikpCisrCisr ICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9lbmFi bGVkX3RhZ19hbmRfbW9yZShzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisr ICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29y eTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICJjYXNlOiBm aXJzdCIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0IiksCisrICAgICAgICAg ICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29y eTFfZGlzYWJsZWRfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisr ICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAo Y2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVy bnNfdHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJh aXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdCisr ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9f cmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAg ICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iIF0sICJjYXNlOiBmaXJz dCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3Rh ZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdv cnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQor KyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAo Y2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVy bnNfdHJ1ZV93aXRoX3NpbWlsYXJfdGFnKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50 cmFpdHMKKysgICAgICAgIHRhZ3MgPSBbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXQor KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhf X3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21vcmUoc2VsZik6CisrICAgICAgICB0cmFp dHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAg ICAoWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3Qi KSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBd LCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkx X3NpbWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAg ICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRh Z3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNl LCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19m YWxzZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxmKToKKysgICAgICAgIHRlc3RfcGF0dGVybnMg PSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCisrICAg ICAgICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNlOiBPbmUgdGFnIiksCisrICAgICAgICAgICAg KFsgImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28gdGFncyIpLAorKyAgICAgICAgXQorKyAgICAg ICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFz c2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFn cyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2Us IHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2Zh bHNlX3dpdGhfdW5rbm93bl9jYXRlZ29yeV90YWcoc2VsZik6CisrICAgICAgICAiIiJUYWdzIGZy b20gdW5rbm93biBjYXRlZ29yaWVzLCBub3Qgc3VwcG9ydGVkIGJ5IHZhbHVlX3Byb3ZpZGVyLAor KyAgICAgICAgc2hvdWxkIG5vdCBiZSBleGNsdWRlZC4KKysgICAgICAgICIiIgorKyAgICAgICAg dHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRhZ3MgPSBbIHRyYWl0cy51bmtub3duX2Nh dGVnb3J5X3RhZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfVU5LTk9X Tj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcpCisrICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKE5vbmUsIHNlbGYudGFnX21hdGNoZXIudmFsdWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dO IikpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNo b3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRl X3dpdGhfX2NvbWJpbmF0aW9uc19vZl8yX2NhdGVnb3JpZXMoc2VsZik6CisrICAgICAgICB0cmFp dHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAg ICAoImNhc2UgMDA6IDIgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAg ICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlz YWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIDAxOiBkaXNhYmxlZCBhbmQgZW5hYmxl ZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAg ICAgICgiY2FzZSAxMDogZW5hYmxlZCBhbmQgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUs CisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNh dGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICAgICAoImNhc2UgMTE6IDIgZW5hYmxl ZCBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIC0tIFNIT1VMRC1SVU4KKysgICAgICAgICAgICAg WyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRf dGFnXSksCisrICAgICAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IFdpdGggdW5rbm93biBjYXRl Z29yeQorKyAgICAgICAgICAgICgiY2FzZSAweDogZGlzYWJsZWQgYW5kIHVua25vd24gY2F0ZWdv cnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxl ZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZ10pLAorKyAgICAgICAgICAgICgiY2Fz ZSAxeDogZW5hYmxlZCBhbmQgdW5rbm93biBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIFNIT1VM RC1SVU4KKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFp dHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciBjYXNl LCBleHBlY3RlZCwgdGFncyBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIGFjdHVhbF9y ZXN1bHQgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAg ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBhY3R1YWxfcmVzdWx0LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysK KysgICAgZGVmIHRlc3Rfc2hvdWxkX3J1bl93aXRoX19uZWdhdGVzX3Jlc3VsdF9vZl9zaG91bGRf ZXhjbHVkZV93aXRoKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAg ICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICAgICAg ICAgImNhc2U6IE5vIHRhZ3MiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAg ICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwg ImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29yeSB0YWdzIiksCisrICAgICAgICAg ICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRh ZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0 cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICAiY2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFn IiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgImZvbyIg XSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgICAgICAgICAgICJjYXNlOiBvdGhlciB0YWci KSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyIg XSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0 cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAgICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiks CisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwg ICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9y IHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICByZXN1bHQxID0gc2Vs Zi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykKKysgICAgICAgICAgICByZXN1bHQy ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAl IChjYXNlLCB0YWdzKSkKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQx LCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorZGlmZiAtLWdpdCBhL3Rl c3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hl ci5weQoraW5kZXggYzVkMjI2Ni4uYTA0YzFkNCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVz dF90YWdfbWF0Y2hlci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5CitA QCAtOCwxMiArOCwxMyBAQCBVbml0IHRlc3RzIGZvciBhY3RpdmUgdGFnLW1hdGNoZXIgKG1vZDpg YmVoYXZlLnRhZ19tYXRjaGVyYCkuCisgIiIiCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBh YnNvbHV0ZV9pbXBvcnQKKy1mcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgKgorIGZyb20g bW9jayBpbXBvcnQgTW9jaworIGZyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlCisgaW1wb3J0 IHdhcm5pbmdzCisgaW1wb3J0IHB5dGVzdAorIAorK2Zyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGlt cG9ydCAqCisrCisgCisgY2xhc3MgVHJhaXRzNEFjdGl2ZVRhZ01hdGNoZXIob2JqZWN0KToKKyAg ICAgVGFnTWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIKK0BAIC00NjAsMjc5ICs0NjEsMyBAQCBj bGFzcyBUZXN0Q29tcG9zaXRlVGFnTWF0Y2hlcihUZXN0Q2FzZSk6CisgICAgICAgICAgICAgYWN0 dWFsX3RydWVfY291bnQgPSBzZWxmLmNvdW50X3RhZ19tYXRjaGVyX3dpdGhfcmVzdWx0KAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3RhZ19tYXRjaGVyLnRhZ19t YXRjaGVycywgdGFncywgVHJ1ZSkKKyAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGFj dHVhbF90cnVlX2NvdW50KQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBST1RP VFlQSU5HIENMQVNTRVMgKGRlcHJlY2F0aW5nKQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1j bGFzcyBUZXN0T25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoVGVzdENhc2UpOgorLSAgICBUYWdN YXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKy0KKy0gICAgZGVmIHNldFVwKHNl bGYpOgorLSAgICAgICAgY2F0ZWdvcnkgPSAieHh4IgorLSAgICAgICAgd2l0aCB3YXJuaW5ncy5j YXRjaF93YXJuaW5ncygpOgorLSAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdu b3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorLSAgICAgICAgICAgIHNlbGYudGFnX21hdGNoZXIg PSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcihjYXRlZ29yeSwgImFsaWNlIikKKy0gICAgICAg IHNlbGYuZW5hYmxlZF90YWcgPSBzZWxmLlRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0 ZWdvcnksICJhbGljZSIpCistICAgICAgICBzZWxmLnNpbWlsYXJfdGFnID0gc2VsZi5UYWdNYXRj aGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UyIikKKy0gICAgICAgIHNlbGYu b3RoZXJfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAi b3RoZXIiKQorLSAgICAgICAgc2VsZi5jYXRlZ29yeSA9IGNhdGVnb3J5CistCistICAgIGRlZiB0 ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZyhz ZWxmKToKKy0gICAgICAgIHRhZ3MgPSBbIHNlbGYuZW5hYmxlZF90YWcgXQorLSAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRo KHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2Zh bHNlX3dpdGhfZW5hYmxlZF90YWdfYW5kX21vcmUoc2VsZik6CistICAgICAgICB0ZXN0X3BhdHRl cm5zID0gWworLSAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFn IF0sICJjYXNlOiBmaXJzdCIpLAorLSAgICAgICAgICAgIChbIHNlbGYub3RoZXJfdGFnLCBzZWxm LmVuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0IiksCistICAgICAgICAgICAgKFsgImZvbyIsIHNl bGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiks CistICAgICAgICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgor LSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hv dWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIl czogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNs dWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToKKy0gICAgICAgIHRh Z3MgPSBbIHNlbGYub3RoZXJfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwg c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYg dGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWdfYW5k X21vcmUoc2VsZik6CistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChb IHNlbGYub3RoZXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAo WyAiZm9vIiwgc2VsZi5vdGhlcl90YWcgXSwgImNhc2U6IGxhc3QiKSwKKy0gICAgICAgICAgICAo WyAiZm9vIiwgc2VsZi5vdGhlcl90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKy0gICAg ICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CistICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9 JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRo X19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxmKToKKy0gICAgICAgIHRhZ3MgPSBb IHNlbGYuc2ltaWxhcl90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxm LnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistCistICAgIGRlZiB0ZXN0 X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21vcmUo c2VsZik6CistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIHNlbGYu c2ltaWxhcl90YWcsICJmb28iIF0sICJjYXNlOiBmaXJzdCIpLAorLSAgICAgICAgICAgIChbICJm b28iLCBzZWxmLnNpbWlsYXJfdGFnIF0sICJjYXNlOiBsYXN0IiksCistICAgICAgICAgICAgKFsg ImZvbyIsIHNlbGYuc2ltaWxhcl90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKy0gICAg ICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CistICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9 JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRo X19yZXR1cm5zX2ZhbHNlX3dpdGhvdXRfY2F0ZWdvcnlfdGFnKHNlbGYpOgorLSAgICAgICAgdGVz dF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyBdLCAgICAgICAgICAgImNhc2U6IE5vIHRh Z3MiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgImNhc2U6IE9uZSB0YWciKSwKKy0g ICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgImNhc2U6IFR3byB0YWdzIiksCistICAgICAg ICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0l cyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9fbmVn YXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmKToKKy0gICAgICAgIHRlc3Rf cGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICAgICAgICAgImNhc2U6 IE5vIHRhZ3MiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAgICAiY2FzZTog T25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwg ICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29yeSB0YWdzIiksCistICAgICAgICAgICAgKFsgc2Vs Zi5lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRhZyIpLAorLSAgICAgICAgICAgIChb IHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFnIF0sICAiY2FzZTogZW5hYmxlZCBhbmQg b3RoZXIgdGFnIiksCistICAgICAgICAgICAgKFsgc2VsZi5lbmFibGVkX3RhZywgImZvbyIgXSwg ICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWciKSwKKy0gICAgICAgICAgICAoWyBzZWxmLm90 aGVyX3RhZyBdLCAgICAgICAgICAgICJjYXNlOiBvdGhlciB0YWciKSwKKy0gICAgICAgICAgICAo WyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIp LAorLSAgICAgICAgICAgIChbIHNlbGYuc2ltaWxhcl90YWcgXSwgICAgICAgICAgImNhc2U6IHNp bWlsYXIgdGFnIiksCistICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYuc2ltaWxhcl90YWcgXSwg ICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9y IHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICByZXN1bHQxID0gc2Vs Zi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykKKy0gICAgICAgICAgICByZXN1bHQy ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCistICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAl IChjYXNlLCB0YWdzKSkKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQx LCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVz dF9tYWtlX2NhdGVnb3J5X3RhZ19fcmV0dXJuc19jYXRlZ29yeV90YWdfcHJlZml4X3dpdGhvdXRf dmFsdWUoc2VsZik6CistICAgICAgICBjYXRlZ29yeSA9ICJ4eHgiCistICAgICAgICB0YWcxID0g T25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnkpCist ICAgICAgICB0YWcyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90 YWcoY2F0ZWdvcnksIE5vbmUpCistICAgICAgICB0YWczID0gT25seVdpdGhDYXRlZ29yeVRhZ01h dGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIHZhbHVlPU5vbmUpCistICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzEpCistICAgICAgICBzZWxmLmFz c2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzIpCistICAgICAgICBzZWxmLmFzc2VydEVx dWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzMpCistICAgICAgICBzZWxmLmFzc2VydFRydWUodGFn MS5zdGFydHN3aXRoKE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLnRhZ19wcmVmaXgpKQorLQor LSAgICBkZWYgdGVzdF9tYWtlX2NhdGVnb3J5X3RhZ19fcmV0dXJuc19jYXRlZ29yeV90YWdfd2l0 aF92YWx1ZShzZWxmKToKKy0gICAgICAgIGNhdGVnb3J5ID0gInh4eCIKKy0gICAgICAgIHRhZzEg PSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwg ImFsaWNlIikKKy0gICAgICAgIHRhZzIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5tYWtl X2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImJvYiIpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFs KCJvbmx5LndpdGhfeHh4PWFsaWNlIiwgdGFnMSkKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo Im9ubHkud2l0aF94eHg9Ym9iIiwgdGFnMikKKy0KKy0gICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29y eV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3dpdGhfdGFnX3ByZWZpeChzZWxmKToKKy0gICAg ICAgIG15X3RhZ19wcmVmaXggPSAiT05MWV9XSVRILiIKKy0gICAgICAgIGNhdGVnb3J5ID0gInh4 eCIKKy0gICAgICAgIFRhZ01hdGNoZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorLSAg ICAgICAgdGFnMCA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIHRhZ19w cmVmaXg9bXlfdGFnX3ByZWZpeCkKKy0gICAgICAgIHRhZzEgPSBUYWdNYXRjaGVyLm1ha2VfY2F0 ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UiLCBteV90YWdfcHJlZml4KQorLSAgICAgICAgdGFn MiA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJib2IiLCB0YWdfcHJl Zml4PW15X3RhZ19wcmVmaXgpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgu eHh4PSIsIHRhZzApCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PWFs aWNlIiwgdGFnMSkKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIk9OTFlfV0lUSC54eHg9Ym9i IiwgdGFnMikKKy0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0YWcxLnN0YXJ0c3dpdGgobXlfdGFn X3ByZWZpeCkpCistCistICAgIGRlZiB0ZXN0X2N0b3JfX3dpdGhfdGFnX3ByZWZpeChzZWxmKToK Ky0gICAgICAgIHRhZ19wcmVmaXggPSAiT05MWV9XSVRILiIKKy0gICAgICAgIHRhZ19tYXRjaGVy ID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoInh4eCIsICJhbGljZSIsIHRhZ19wcmVmaXgp CistCistICAgICAgICB0YWdzID0gWyJmb28iLCAiT05MWV9XSVRILnh4eD1mb28iLCAib25seS53 aXRoX3h4eD1iYXIiLCAiYmFyIl0KKy0gICAgICAgIGFjdHVhbF90YWdzID0gdGFnX21hdGNoZXIu c2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncykKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWyJP TkxZX1dJVEgueHh4PWZvbyJdLCBhY3R1YWxfdGFncykKKy0KKy0KKy1jbGFzcyBUcmFpdHM0T25s eVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIob2JqZWN0KToKKy0gICAgIiIiVGVzdCBkYXRhIGZv ciBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlci4iIiIKKy0KKy0gICAgVGFnTWF0Y2hlcjAg PSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICBUYWdNYXRjaGVyID0gT25seVdpdGhB bnlDYXRlZ29yeVRhZ01hdGNoZXIKKy0gICAgY2F0ZWdvcnkxX2VuYWJsZWRfdGFnID0gVGFnTWF0 Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIpCistICAgIGNhdGVnb3J5MV9z aW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2Uy IikKKy0gICAgY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdv cnlfdGFnKCJmb28iLCAiYm9iIikKKy0gICAgY2F0ZWdvcnkyX2VuYWJsZWRfdGFnID0gVGFnTWF0 Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0IiKQorLSAgICBjYXRlZ29yeTJfc2lt aWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiYmFyIiwgIkJPQjIiKQor LSAgICBjYXRlZ29yeTJfZGlzYWJsZWRfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90 YWcoImJhciIsICJDSEFSTFkiKQorLSAgICB1bmtub3duX2NhdGVnb3J5X3RhZyA9IFRhZ01hdGNo ZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJVTktOT1dOIiwgIm9uZSIpCistCistCistY2xhc3MgVGVz dE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKFRlc3RDYXNlKToKKy0gICAgVGFnTWF0Y2hl ciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCistICAgIHRyYWl0cyA9IFRyYWl0czRP bmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorLQorLSAgICBkZWYgc2V0VXAoc2VsZik6Cist ICAgICAgICB2YWx1ZV9wcm92aWRlciA9IHsKKy0gICAgICAgICAgICAiZm9vIjogImFsaWNlIiwK Ky0gICAgICAgICAgICAiYmFyIjogIkJPQiIsCistICAgICAgICB9CistICAgICAgICB3aXRoIHdh cm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CistICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmls dGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCistICAgICAgICAgICAgc2VsZi50YWdf bWF0Y2hlciA9IHNlbGYuVGFnTWF0Y2hlcih2YWx1ZV9wcm92aWRlcikKKy0KKy0gICAgIyBkZWYg dGVzdF9kZXByZWNhdGluZ193YXJuaW5nX2lzX2lzc3VlZChzZWxmKToKKy0gICAgIyAgICAgdmFs dWVfcHJvdmlkZXIgPSB7ImZvbyI6ICJhbGljZSJ9CistICAgICMgICAgIHdpdGggd2FybmluZ3Mu Y2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHJlY29yZGVyOgorLSAgICAjICAgICAgICAg d2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiLCBEZXByZWNhdGlvbldhcm5pbmcpCistICAg ICMgICAgICAgICB0YWdfbWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKHZh bHVlX3Byb3ZpZGVyKQorLSAgICAjICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVjb3Jk ZXIpLCAxKQorLSAgICAjICAgICAgICAgbGFzdF93YXJuaW5nID0gcmVjb3JkZXJbLTFdCistICAg ICMgICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyhsYXN0X3dhcm5pbmcuY2F0ZWdvcnksIERlcHJl Y2F0aW9uV2FybmluZykKKy0gICAgIyAgICAgICAgIGFzc2VydCAiZGVwcmVjYXRlZCIgaW4gc3Ry KGxhc3Rfd2FybmluZy5tZXNzYWdlKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93 aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWcoc2VsZik6CistICAgICAgICB0cmFp dHMgPSBzZWxmLnRyYWl0cworLSAgICAgICAgdGFnczEgPSBbIHRyYWl0cy5jYXRlZ29yeTFfZW5h YmxlZF90YWcgXQorLSAgICAgICAgdGFnczIgPSBbIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90 YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5z aG91bGRfZXhjbHVkZV93aXRoKHRhZ3MxKSkKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFs c2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMikpCistCistICAg IGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9lbmFibGVk X3RhZ19hbmRfbW9yZShzZWxmKToKKy0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAg ICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFf ZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICJjYXNlOiBmaXJz dCIpLAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFp dHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0IiksCistICAgICAgICAgICAg KFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFf ZGlzYWJsZWRfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCistICAgICAgICBdCistICAg ICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0 YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2Fz ZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNf dHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToKKy0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRz CistICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdCistICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0 dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2FuZF9tb3JlKHNlbGYpOgorLSAgICAgICAgdHJhaXRz ID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAg KFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iIF0sICJjYXNlOiBmaXJzdCIp LAorLSAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBd LCAiY2FzZTogbGFzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorLSAgICAgICAgXQorLSAg ICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxm LmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0 YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2Fz ZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNf dHJ1ZV93aXRoX3NpbWlsYXJfdGFnKHNlbGYpOgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFp dHMKKy0gICAgICAgIHRhZ3MgPSBbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXQorLSAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3Jl dHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21vcmUoc2VsZik6CistICAgICAgICB0cmFpdHMg PSBzZWxmLnRyYWl0cworLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAo WyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwK Ky0gICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAi Y2FzZTogbGFzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX3Np bWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCistICAgICAgICBdCistICAgICAg ICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3Mp LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0 YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxz ZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxmKToKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBb CistICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCistICAgICAg ICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNlOiBPbmUgdGFnIiksCistICAgICAgICAgICAgKFsg ImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28gdGFncyIpLAorLSAgICAgICAgXQorLSAgICAgICAg Zm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyks CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRh Z3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNl X3dpdGhfdW5rbm93bl9jYXRlZ29yeV90YWcoc2VsZik6CistICAgICAgICAiIiJUYWdzIGZyb20g dW5rbm93biBjYXRlZ29yaWVzLCBub3Qgc3VwcG9ydGVkIGJ5IHZhbHVlX3Byb3ZpZGVyLAorLSAg ICAgICAgc2hvdWxkIG5vdCBiZSBleGNsdWRlZC4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRhZ3MgPSBbIHRyYWl0cy51bmtub3duX2NhdGVn b3J5X3RhZyBdCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfVU5LTk9XTj1v bmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcpCistICAgICAgICBzZWxmLmFzc2VydEVx dWFsKE5vbmUsIHNlbGYudGFnX21hdGNoZXIudmFsdWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dOIikp CistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3Vs ZF9leGNsdWRlX3dpdGgodGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dp dGhfX2NvbWJpbmF0aW9uc19vZl8yX2NhdGVnb3JpZXMoc2VsZik6CistICAgICAgICB0cmFpdHMg PSBzZWxmLnRyYWl0cworLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAo ImNhc2UgMDA6IDIgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCistICAgICAgICAgICAg IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJs ZWRfdGFnXSksCistICAgICAgICAgICAgKCJjYXNlIDAxOiBkaXNhYmxlZCBhbmQgZW5hYmxlZCBj YXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKy0gICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rp c2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorLSAgICAgICAgICAg ICgiY2FzZSAxMDogZW5hYmxlZCBhbmQgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCist ICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVn b3J5Ml9kaXNhYmxlZF90YWddKSwKKy0gICAgICAgICAgICAoImNhc2UgMTE6IDIgZW5hYmxlZCBj YXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIC0tIFNIT1VMRC1SVU4KKy0gICAgICAgICAgICAgWyB0 cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFn XSksCistICAgICAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IFdpdGggdW5rbm93biBjYXRlZ29y eQorLSAgICAgICAgICAgICgiY2FzZSAweDogZGlzYWJsZWQgYW5kIHVua25vd24gY2F0ZWdvcnkg dGFncyIsIFRydWUsCistICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90 YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZ10pLAorLSAgICAgICAgICAgICgiY2FzZSAx eDogZW5hYmxlZCBhbmQgdW5rbm93biBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIFNIT1VMRC1S VU4KKy0gICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMu dW5rbm93bl9jYXRlZ29yeV90YWddKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciBjYXNlLCBl eHBlY3RlZCwgdGFncyBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIGFjdHVhbF9yZXN1 bHQgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKy0gICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBhY3R1YWxfcmVzdWx0LAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0g ICAgZGVmIHRlc3Rfc2hvdWxkX3J1bl93aXRoX19uZWdhdGVzX3Jlc3VsdF9vZl9zaG91bGRfZXhj bHVkZV93aXRoKHNlbGYpOgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAg IHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICAgICAgICAg ImNhc2U6IE5vIHRhZ3MiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAgICAi Y2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgImJh ciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29yeSB0YWdzIiksCistICAgICAgICAgICAg KFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRhZyIp LAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5j YXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICAiY2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFnIiks CistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgImZvbyIgXSwg ICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWciKSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgICAgICAgICAgICJjYXNlOiBvdGhlciB0YWciKSwK Ky0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyIgXSwg ICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIpLAorLSAgICAgICAgICAgIChbIHRyYWl0cy5j YXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAgICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiksCist ICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAi Y2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRh Z3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICByZXN1bHQxID0gc2VsZi50 YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykKKy0gICAgICAgICAgICByZXN1bHQyID0g c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCistICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChj YXNlLCB0YWdzKSkKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQxLCBy ZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQpkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNy1Db21t ZW50LXR3ZWFrcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMjctQ29tbWVudC10d2Vha3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi5hYTVmNWY1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQt dHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gYTA2ZTRjYTVkNDE3NjBkMjQ2NmRi ZDUyMWExMjA1N2NhZWZiY2E4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAy MDE5IDE5OjI0OjE0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENvbW1lbnQgdHdlYWtzCisKKy0t LQorIGJlaGF2ZS9ydW5uZXIucHkgfCA3ICsrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyLnB5 IGIvYmVoYXZlL3J1bm5lci5weQoraW5kZXggZjBmMDc3YS4uZjIwOWNiMCAxMDA2NDQKKy0tLSBh L2JlaGF2ZS9ydW5uZXIucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXIucHkKK0BAIC0xNjcsMTAgKzE2 NywxNSBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgICAgICBzZWxmLl9yZWNvcmQgPSB7 fQorICAgICAgICAgc2VsZi5fb3JpZ2luID0ge30KKyAgICAgICAgIHNlbGYuX21vZGUgPSBzZWxm LkJFSEFWRQorKworKyAgICAgICAgIyAtLSBNT0RFTCBFTlRJVFkgUkVGRVJFTkNFUy9TVVBQT1JU OgorICAgICAgICAgc2VsZi5mZWF0dXJlID0gTm9uZQorLSAgICAgICAgIyAtLSBSRUNIRUNLOiBJ ZiBuZWVkZWQKKysgICAgICAgICMgRElTQUJMRUQ6IHNlbGYucnVsZSA9IE5vbmUKKysgICAgICAg ICMgRElTQUJMRUQ6IHNlbGYuc2NlbmFyaW8gPSBOb25lCisgICAgICAgICBzZWxmLnRleHQgPSBO b25lCisgICAgICAgICBzZWxmLnRhYmxlID0gTm9uZQorKworKyAgICAgICAgIyAtLSBSVU5USU1F IFNVUFBPUlQ6CisgICAgICAgICBzZWxmLnN0ZG91dF9jYXB0dXJlID0gTm9uZQorICAgICAgICAg c2VsZi5zdGRlcnJfY2FwdHVyZSA9IE5vbmUKKyAgICAgICAgIHNlbGYubG9nX2NhcHR1cmUgPSBO b25lCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDI4LUZJWC13YXJuaW5ncy1yZWxhdGVkLXRvLWludmFsaWQtZXNjYXBlcy1p bi1yZWdleC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMjgtRklYLXdhcm5pbmdzLXJlbGF0ZWQtdG8taW52YWxpZC1lc2NhcGVzLWlu LXJlZ2V4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZmY5YzY2 ODgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAyOC1GSVgtd2FybmluZ3MtcmVsYXRlZC10by1pbnZhbGlkLWVz Y2FwZXMtaW4tcmVnZXgucGF0Y2gKQEAgLTAsMCArMSw3OSBAQAorRnJvbSA3ZWFiNDljZjk1N2Uw YWNiMzc0Y2Y4NDdiMmEyOWQ0ZWE2ZjRhOTg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4s IDkgSnVuIDIwMTkgMTk6MzI6MTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYIHdhcm5pbmdz IHJlbGF0ZWQgdG8gaW52YWxpZCBlc2NhcGVzIGluIHJlZ2V4LgorCistLS0KKyBiZWhhdmU0Y21k MC9jb21tYW5kX3NoZWxsX3Byb2MucHkgICAgICAgICAgIHwgIDMgKystCisgZmVhdHVyZXMvc3Rl cHMvYmVoYXZlX3NlbGVjdF9maWxlc19zdGVwcy5weSB8IDI0ICsrKysrKysrKysrKystLS0tLS0t LQorIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9iZWhhdmU0Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkgYi9iZWhhdmU0 Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkKK2luZGV4IDA3ZjFjODQuLjAzY2E1NWEgMTAwNzU1 CistLS0gYS9iZWhhdmU0Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkKKysrKyBiL2JlaGF2ZTRj bWQwL2NvbW1hbmRfc2hlbGxfcHJvYy5weQorQEAgLTI1MSw2ICsyNTEsNyBAQCBjbGFzcyBCZWhh dmVXaW5Db21tYW5kT3V0cHV0UHJvY2Vzc29yKExpbmVDb21tYW5kT3V0cHV0UHJvY2Vzc29yKToK KyAgICAgICAgICAgICAiTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeTogJyg/UDxwYXRoPi4qKSci LAorICAgICAgICAgICAgICJbRXJybm8gMl0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeToiKSwg ICMgSU9FcnJvcgorICAgICAgICAgRXhjZXB0aW9uV2l0aFBhdGhOb3JtYWxpemVyKAorLSAgICAg ICAgICAgICdeXHMqRmlsZSAiKD9QPHBhdGg+LiopIiwgbGluZSBcZCssIGluICcsCisrICAgICAg ICAgICAgIyBXQVM6ICdeXHMqRmlsZSAiKD9QPHBhdGg+LiopIiwgbGluZSBcZCssIGluICcsCisr ICAgICAgICAgICAgcideXHMqRmlsZSAiKD9QPHBhdGg+LiopIiwgbGluZSBcZCssIGluICcsCisg ICAgICAgICAgICAgJ0ZpbGUgIicpLAorICAgICBdCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3Rl cHMvYmVoYXZlX3NlbGVjdF9maWxlc19zdGVwcy5weSBiL2ZlYXR1cmVzL3N0ZXBzL2JlaGF2ZV9z ZWxlY3RfZmlsZXNfc3RlcHMucHkKK2luZGV4IDQzMTY3NGUuLjBkMmNkMmUgMTAwNjQ0CistLS0g YS9mZWF0dXJlcy9zdGVwcy9iZWhhdmVfc2VsZWN0X2ZpbGVzX3N0ZXBzLnB5CisrKysgYi9mZWF0 dXJlcy9zdGVwcy9iZWhhdmVfc2VsZWN0X2ZpbGVzX3N0ZXBzLnB5CitAQCAtMSwyOSArMSwzNCBA QAorICMgLSotIGNvZGluZzogdXRmLTggLSotCistIiIiCisrIyBET0NTVFJJTkctTkVFRFMtUkVH RVgtU1RSSU5HLVBSRUZJWDogRHVlIHRvIGV4YW1wbGUgdy8gd2lsZGNhcmQgcGF0dGVybi4KKyty JycnCisgUHJvdmlkZXMgc3RlcCBkZWZpbml0aW9ucyB0aGF0IHRlc3QgaG93IHRoZSBiZWhhdmUg cnVubmVyIHNlbGVjdHMgZmVhdHVyZSBmaWxlcy4KKyAKKyBFWEFNUExFOgorKworKy4uIGNvZGUt YmxvY2s6OiBnaGVya2luCisrCisgICAgIEdpdmVuIGJlaGF2ZSBoYXMgdGhlIGZvbGxvd2luZyBm ZWF0dXJlIGZpbGVzZXQ6CistICAgICAgJycnCisrICAgICAgIiIiCisgICAgICAgZmVhdHVyZXMv YWxpY2UuZmVhdHVyZQorICAgICAgIGZlYXR1cmVzL2JvYi5mZWF0dXJlCisgICAgICAgZmVhdHVy ZXMvYmFyYmkuZmVhdHVyZQorLSAgICAgICcnJworKyAgICAgICIiIgorICAgICBXaGVuIGJlaGF2 ZSBpbmNsdWRlcyBmZWF0dXJlIGZpbGVzIHdpdGggImZlYXR1cmVzL2EuKlwuZmVhdHVyZSIKKyAg ICAgQW5kICBiZWhhdmUgZXhjbHVkZXMgZmVhdHVyZSBmaWxlcyB3aXRoICJmZWF0dXJlcy9iLipc LmZlYXR1cmUiCisgICAgIFRoZW4gdGhlIGZvbGxvd2luZyBmZWF0dXJlIGZpbGVzIGFyZSBzZWxl Y3RlZDoKKy0gICAgICAnJycKKysgICAgICAiIiIKKyAgICAgICBmZWF0dXJlcy9hbGljZS5mZWF0 dXJlCistICAgICAgJycnCistIiIiCisrICAgICAgIiIiCisrJycnCisgCisgZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy1mcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4sIHdo ZW4sIHRoZW4KKy1mcm9tIGJlaGF2ZS5ydW5uZXJfdXRpbCBpbXBvcnQgRmVhdHVyZUxpc3RQYXJz ZXIKKy1mcm9tIGhhbWNyZXN0IGltcG9ydCBhc3NlcnRfdGhhdCwgZXF1YWxfdG8KKyBmcm9tIGNv cHkgaW1wb3J0IGNvcHkKKyBpbXBvcnQgcmUKKyBpbXBvcnQgc2l4CisrZnJvbSBoYW1jcmVzdCBp bXBvcnQgYXNzZXJ0X3RoYXQsIGVxdWFsX3RvCisrZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB3 aGVuLCB0aGVuCisrZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IEZlYXR1cmVMaXN0UGFy c2VyCisrCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgU1RFUCBVVElMUzoKK0BAIC00 Nyw2ICs1Miw3IEBAIGNsYXNzIEJhc2ljQmVoYXZlUnVubmVyKG9iamVjdCk6CisgIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICMgU1RFUCBERUZJTklUSU9OUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrIyBweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCisgQGdpdmVuKCdiZWhhdmUgaGFz IHRoZSBmb2xsb3dpbmcgZmVhdHVyZSBmaWxlc2V0JykKKyBkZWYgc3RlcF9naXZlbl9iZWhhdmVf aGFzX2ZlYXR1cmVfZmlsZXNldChjb250ZXh0KToKKyAgICAgYXNzZXJ0IGNvbnRleHQudGV4dCBp cyBub3QgTm9uZSwgIlJFUVVJUkU6IHRleHQiCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ctc2hv dWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJlcnVuLXNldHQucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ct c2hvdWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJlcnVuLXNldHQucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4yOTYwZTdiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI5LVN0 ZXBzLWNhdGFsb2ctc2hvdWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJlcnVuLXNldHQucGF0Y2gK QEAgLTAsMCArMSw3MyBAQAorRnJvbSBhNDMxNDM5MDBkYmM2MGJkZGFkMTI1ZTBjYWIzZTJhM2Ni ZGI2NDQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRWR2aW4gTGluZ2UgPGVkdmlu LmxpbmdlQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMzEgSnVsIDIwMTcgMTc6MDU6MTggKzAyMDAK K1N1YmplY3Q6IFtQQVRDSF0gU3RlcHMtY2F0YWxvZyBzaG91bGQgbm90IGJyZWFrIGNvbmZpZ3Vy ZWQgcmVydW4gc2V0dGluZ3MKKworLS0tCisgYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgICAgICAg ICAgICAgICAgICB8ICA1ICsrKystCisgZmVhdHVyZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUg ICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCisgZmVhdHVyZXMvZm9ybWF0dGVyLnN0ZXBz X2NhdGFsb2cuZmVhdHVyZSB8IDEzICsrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDM0 IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9jb25m aWd1cmF0aW9uLnB5IGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK2luZGV4IDQ5YjFkZmYuLjg2 MWY4OWYgMTAwNjQ0CistLS0gYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorKysrIGIvYmVoYXZl L2NvbmZpZ3VyYXRpb24ucHkKK0BAIC02MDEsNyArNjAxLDEwIEBAIGNsYXNzIENvbmZpZ3VyYXRp b24ob2JqZWN0KToKKyAgICAgICAgIGlmIHNlbGYuc3RlcHNfY2F0YWxvZzoKKyAgICAgICAgICAg ICAjIC0tIFNIT1cgU1RFUC1DQVRBTE9HOiBBcyBzdGVwIHN1bW1hcnkuCisgICAgICAgICAgICAg c2VsZi5kZWZhdWx0X2Zvcm1hdCA9ICJzdGVwcy5jYXRhbG9nIgorLSAgICAgICAgICAgIHNlbGYu Zm9ybWF0ID0gWyJzdGVwcy5jYXRhbG9nIl0KKysgICAgICAgICAgICBpZiBzZWxmLmZvcm1hdDoK KysgICAgICAgICAgICAgICAgc2VsZi5mb3JtYXQuYXBwZW5kKCJzdGVwcy5jYXRhbG9nIikKKysg ICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBzZWxmLmZvcm1hdCA9IFsic3RlcHMu Y2F0YWxvZyJdCisgICAgICAgICAgICAgc2VsZi5kcnlfcnVuID0gVHJ1ZQorICAgICAgICAgICAg IHNlbGYuc3VtbWFyeSA9IEZhbHNlCisgICAgICAgICAgICAgc2VsZi5zaG93X3NraXBwZWQgPSBG YWxzZQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJlIGIvZmVh dHVyZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUKK2luZGV4IDFlNjQ1ZjEuLmI5ZDdlMWIgMTAw NjQ0CistLS0gYS9mZWF0dXJlcy9mb3JtYXR0ZXIucmVydW4uZmVhdHVyZQorKysrIGIvZmVhdHVy ZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUKK0BAIC0yOTQsMyArMjk0LDIwIEBAIEZlYXR1cmU6 IFJlcnVuIEZvcm1hdHRlcgorICAgICAgICAgICAgIGZlYXR1cmVzL2JvYi5mZWF0dXJlOjEzCisg ICAgICAgICAgICAgIiIiCisgICAgICAgICBBbmQgbm90ZSB0aGF0ICJ0aGUgc2Vjb25kIFJlcnVu Rm9ybWF0dGVyIG92ZXJ3cml0ZXMgdGhlIG91dHB1dCBvZiB0aGUgZmlyc3Qgb25lIgorKworKyAg ICBAd2l0aC5iZWhhdmVfY29uZmlnZmlsZQorKyAgICBTY2VuYXJpbzogUmVydW5Gb3JtYXR0ZXIg d2l0aCBzdGVwcy1jYXRhbG9nCisrICAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImJlaGF2ZS5p bmkiIHdpdGg6CisrICAgICAgICAgICAgIiIiCisrICAgICAgICAgICAgW2JlaGF2ZV0KKysgICAg ICAgICAgICBmb3JtYXQgICA9IHJlcnVuCisrICAgICAgICAgICAgb3V0ZmlsZXMgPSByZXJ1bi50 eHQKKysgICAgICAgICAgICAiIiIKKysgICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLXN0ZXBz LWNhdGFsb2cgZmVhdHVyZXMvIgorKworKyAgICAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRo OgorKyAgICAgICAgICAgICIiIgorKyAgICAgICAgICAgIEdpdmVuIGEgc3RlcCBwYXNzZXMKKysg ICAgICAgICAgICAiIiIKKysgICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgInJlcnVuLnR4dCIgZG9l cyBub3QgZXhpc3QKKysKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9mb3JtYXR0ZXIuc3RlcHNfY2F0 YWxvZy5mZWF0dXJlIGIvZmVhdHVyZXMvZm9ybWF0dGVyLnN0ZXBzX2NhdGFsb2cuZmVhdHVyZQor aW5kZXggMDk1OTFiZi4uOTM2ZDdmNCAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL2Zvcm1hdHRlci5z dGVwc19jYXRhbG9nLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL2Zvcm1hdHRlci5zdGVwc19jYXRh bG9nLmZlYXR1cmUKK0BAIC05OCwzICs5OCwxNiBAQCBGZWF0dXJlOiBTdGVwcyBDYXRhbG9nIEZv cm1hdHRlcgorICAgICAgICAgICAiIiIKKyAgICAgICAgIEJ1dCBub3RlIHRoYXQgInRoZSBzdGVw IGRlZmluaXRpb25zIGFyZSBvcmRlcmVkIGJ5IHN0ZXAgdHlwZSIKKyAgICAgICAgIEFuZCBub3Rl IHRoYXQgIidXaGVuIEkgdmlzaXQge3BlcnNvbn0nIGhhcyBubyBkb2Mtc3RyaW5nIgorKworKwor KyAgICBTY2VuYXJpbzogU3RlcHMgY2F0YWxvZyBmb3JtYXR0ZXIgaXMgdXNlZCBmb3Igb3V0cHV0 IGV2ZW4gd2hlbiBvdGhlciBmb3JtYXR0ZXIgaXMgc3BlY2lmaWVkCisrICAgICAgICBXaGVuIEkg cnVuICJiZWhhdmUgLS1zdGVwcy1jYXRhbG9nIC1mIHBsYWluIGZlYXR1cmVzLyIKKysgICAgICAg IFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAgICAgIiIiCisrICAgICAgICAgIEdp dmVuIHtwZXJzb259IGxpdmVzIGluIHtjaXR5fQorKyAgICAgICAgICAgICAgU2V0dXAgdGhlIGRh dGEgd2hlcmUgYSBwZXJzb24gbGl2ZXMgYW5kIHN0b3JlIGluIHRoZSBkYXRhYmFzZS4KKysKKysg ICAgICAgICAgICAgIDpwYXJhbSBwZXJzb246ICBQZXJzb24ncyBuYW1lIChhcyBzdHJpbmcpLgor KyAgICAgICAgICAgICAgOnBhcmFtIGNpdHk6ICAgIENpdHkgd2hlcmUgdGhlIHBlcnNvbiBsaXZl cyAoYXMgc3RyaW5nKS4KKysgICAgICAgICAgIiIiCisrCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMwLUFkZC1mZWF0dXJl LXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9zLWVuYWJsZS12aWEucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMwLUFkZC1mZWF0 dXJlLXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9zLWVuYWJsZS12aWEucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xODViNGFkM2UKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDMwLUFkZC1mZWF0dXJlLXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9zLWVuYWJsZS12aWEu cGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA3Y2YwM2UzMzc5YjZhZDMxMzM3OGFlMWEwZjAy ZGI5MWFjNGVmMTc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVu aXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEgSnVsIDIwMTkgMjI6 MDc6MTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGZlYXR1cmUgdy8gcnVsZXMgYW5kIGZh aWxpbmcgc2NlbmFyaW9zIChlbmFibGUgdmlhCisgdGFncz1mYWlsIG9yIHRhZ3M9eGZhaWwpLgor CistLS0KKyAuLi4vZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlX2ZhaWxzLmZlYXR1cmUgICAgfCAx OSArKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKykK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlX2Zh aWxzLmZlYXR1cmUKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMv cnVsZV9mYWlscy5mZWF0dXJlIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlX2Zh aWxzLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43ZTM4NzJl CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVf ZmFpbHMuZmVhdHVyZQorQEAgLTAsMCArMSwxOSBAQAorK0BmYWlsCisrRmVhdHVyZTogV2l0aCBS dWxlKHMpIGFuZCBGYWlsaW5nIFNjZW5hcmlvKHMpCisrCisrICBISU5UOiBDb250YWlucyBmYWls aW5nIHNjZW5hcmlvcyAoYnkgaW50ZW50aW9uKS4KKysKKysgIEB4ZmFpbAorKyAgU2NlbmFyaW86 IEYwIC0tIEZhaWxzCisrICAgIFdoZW4gc29tZSBzdGVwIGZhaWxzCisrCisrICBSdWxlOiBGYWls cyBpbiBTY2VuYXJpbyBGMgorKworKyAgICBTY2VuYXJpbzogRjEKKysgICAgICBHaXZlbiBhIHN0 ZXAgcGFzc2VzCisrCisrICAgIEB4ZmFpbAorKyAgICBTY2VuYXJpbzogRjIgLS0gRmFpbHMKKysg ICAgICBHaXZlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgV2hlbiBhIHN0ZXAgZmFpbHMK KysgICAgICBUaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzEtZXhhbXBsZXMtZ2hl cmtpbl92Ni1Ud2Vhay1TY2VuYXJpb091dGxpbmUtRXhhbXBsZXMtdC5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzEtZXhhbXBsZXMt Z2hlcmtpbl92Ni1Ud2Vhay1TY2VuYXJpb091dGxpbmUtRXhhbXBsZXMtdC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI0NjYxMDJmMQotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw MzEtZXhhbXBsZXMtZ2hlcmtpbl92Ni1Ud2Vhay1TY2VuYXJpb091dGxpbmUtRXhhbXBsZXMtdC5w YXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDMxMThiNzNhMzNlZGJlMTc5NWVjYTFmNDI4MDY4 OTQ0OGVjYjY5YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMSBKdWwgMjAxOSAyMjox MToxMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBleGFtcGxlcy9naGVya2luX3Y2OiBUd2VhayBT Y2VuYXJpb091dGxpbmUgRXhhbXBsZXMgdGl0bGVzLgorCistLS0KKyBleGFtcGxlcy9naGVya2lu X3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlIHwgNyArKysrKystCisgMSBmaWxlIGNoYW5nZWQs IDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMv Z2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZSBiL2V4YW1wbGVzL2doZXJraW5fdjYv ZmVhdHVyZXMvcnVsZV8yLmZlYXR1cmUKK2luZGV4IGE4MDJlMTkuLjhiOGJiMDQgMTAwNjQ0Cist LS0gYS9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCisrKysgYi9l eGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCitAQCAtMzYsNyArMzYs MTIgQEAgRmVhdHVyZTogR2hlcmtpbiB2NiBFeGFtcGxlIC0tIHdpdGggUnVsZXMKKyAgICAgU2Nl bmFyaW8gVGVtcGxhdGU6IFIzLlNjZW5hcmlvCisgICAgICAgR2l2ZW4gYSBwZXJzb24gbmFtZWQg IjxuYW1lPiIKKyAKKy0gICAgICBFeGFtcGxlczoKKysgICAgICBFeGFtcGxlczogUjMuRTEKKyAg ICAgICAgIHwgbmFtZSAgfAorICAgICAgICAgfCBBbGljZSB8CisgICAgICAgICB8IEJvYiAgIHwK KysKKysgICAgICBFeGFtcGxlczogUjMuRTIKKysgICAgICAgIHwgbmFtZSAgfAorKyAgICAgICAg fCBDaGFybHkgfAorKyAgICAgICAgfCBEb3JvICAgfApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMi1BZGQtaW5mby1vbi1t ZXJnZWQtcHVsbC01ODgucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDMyLUFkZC1pbmZvLW9uLW1lcmdlZC1wdWxsLTU4OC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI1NzNjNjEzYwotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMzItQWRkLWluZm8tb24tbWVyZ2VkLXB1bGwtNTg4LnBhdGNoCkBAIC0wLDAgKzEsMjEg QEAKK0Zyb20gZTYzN2UxOGQxZDUzYmY5YjcyNWQ2NDUwNGVmNDhhNDc1ZTlmNGI5OCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogTW9uLCAxIEp1bCAyMDE5IDA4OjA2OjQzICswMjAwCitTdWJqZWN0 OiBbUEFUQ0hdIEFkZCBpbmZvIG9uIG1lcmdlZCBwdWxsICM1ODgKKworLS0tCisgQ0hBTkdFUy5y c3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBh L0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGE5MWUyMmEuLjNkODA1YjMgMTAwNjQ0 CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0zNiw2ICszNiw3IEBA IFBBUlRJQUxMWSBGSVhFRDoKKyAKKyBGSVhFRDoKKyAKKysqIHB1bGwgICM1ODg6IFN0ZXBzLWNh dGFsb2cgYXJndW1lbnQgc2hvdWxkIG5vdCBicmVhayBjb25maWd1cmVkIHJlcnVuIHNldHRpbmdz IChwcm92aWRlZCBieTogTGVnbzMpCisgKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRl c2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXop CisgKiBpc3N1ZSAjNzEzOiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24ndCBzdXBwb3J0IGRlc2Ny aXB0aW9uIChwcm92aWRlZCBieTogZGdvdSkKKyAqIHB1bGwgICM2NTc6IEFsbG93IGFzeW5jIHN0 ZXBzIHdpdGggdGltZW91dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2UgZXhjZXB0aW9ucyAocHJv dmlkZWQgYnk6IEFMU2Nod2FsbSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnkt cHl0ZXN0LTUuMC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMzMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmE3OGYyNGFkNAotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMzMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRjaApAQCAt MCwwICsxLDk3IEBACitGcm9tIDU4YzlhYmFhZWNiMTk0ZDI2N2M3NmE5MWRmZjdhYjIwODJiNDc5 MWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJz Lm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IEZyaSwgNSBKdWwgMjAxOSAwODoyNzo0NCArMDIw MAorU3ViamVjdDogW1BBVENIXSBUd2VhayB0ZXN0cywgcmVxdWlyZWQgYnkgcHl0ZXN0ID49IDUu MC4gV2l0aCBweXRlc3QucmFpc2VzCisgdXNlIHN0cihlLnZhbHVlKSBpbnN0ZWFkIG9mIHN0cihl KSBpbiBzb21lIGNhc2VzLgorCistLS0KKyB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgucHkg ICAgICB8ICAyICstCisgdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkgfCAgMiAr LQorIHRlc3RzL3VuaXQvdGVzdF90ZXh0dXRpbC5weSAgICAgICAgIHwgMjQgKysrKysrKysrKysr KysrLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxMSBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5weSBi L3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5weQoraW5kZXggMTg1M2FkNi4uZjY2ZjZkMyAx MDA2NDQKKy0tLSBhL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5weQorKysrIGIvdGVzdHMv aXNzdWVzL3Rlc3RfaXNzdWUwNDU4LnB5CitAQCAtNDgsNyArNDgsNyBAQCBkZWYgdGVzdF9pc3N1 ZShleGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UpOgorICAgICAgICAgcmFpc2VfZXhjZXB0aW9uKGV4 Y2VwdGlvbl9jbGFzcywgbWVzc2FnZSkKKyAKKyAgICAgIyAtLSBTSE9VTEQgTk9UIFJBSVNFIEVY Q0VQVElPTiBIRVJFOgorLSAgICB0ZXh0ID0gX3RleHQoZSkKKysgICAgdGV4dCA9IF90ZXh0KGUu dmFsdWUpCisgICAgICMgLS0gRElBR05PU1RJQ1M6CisgICAgIHByaW50KHUidGV4dCIrIHRleHQp CisgICAgIHByaW50KHUiZXhjZXB0aW9uOiAlcyIgJSBlKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Vu aXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xl YW51cHMucHkKK2luZGV4IGIwZThhZTYuLmJmMGFiNTAgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0 L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRf Y2xlYW51cHMucHkKK0BAIC0xNTMsNyArMTUzLDcgQEAgY2xhc3MgVGVzdENvbnRleHRDbGVhbnVw KG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQXNzZXJ0aW9uRXJyb3IpIGFz IGU6CisgICAgICAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0KToKKyAg ICAgICAgICAgICAgICAgY29udGV4dC5hZGRfY2xlYW51cChub25fY2FsbGFibGUpCistICAgICAg ICBhc3NlcnQgIlJFUVVJUkVTOiBjYWxsYWJsZShjbGVhbnVwX2Z1bmMpIiBpbiBzdHIoZSkKKysg ICAgICAgIGFzc2VydCAiUkVRVUlSRVM6IGNhbGxhYmxlKGNsZWFudXBfZnVuYykiIGluIHN0cihl LnZhbHVlKQorIAorICAgICBkZWYgdGVzdF9vbl9jbGVhbnVwX2Vycm9yX19wcmludHNfZXJyb3Jf YnlfZGVmYXVsdChzZWxmLCBjYXBzeXMpOgorICAgICAgICAgZGVmIGJhZF9jbGVhbnVwX2Z1bmMo KToKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkgYi90ZXN0cy91bml0 L3Rlc3RfdGV4dHV0aWwucHkKK2luZGV4IGY3ZjY0MmMuLmUwNWU5YWQgMTAwNjQ0CistLS0gYS90 ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF90ZXh0dXRp bC5weQorQEAgLTIxNCw5ICsyMTQsMTEgQEAgY2xhc3MgVGVzdE9iamVjdFRvVGV4dENvbnZlcnNp b24ob2JqZWN0KToKKyAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhBc3NlcnRpb25FcnJvcikg YXMgZToKKyAgICAgICAgICAgICBhc3NlcnQgRmFsc2UsIG1lc3NhZ2UKKyAKKy0gICAgICAgIHRl eHQyID0gdGV4dChlKQorLSAgICAgICAgZXhwZWN0ZWQgPSB1IkFzc2VydGlvbkVycm9yOiAlcyIg JSBtZXNzYWdlCistICAgICAgICBhc3NlcnQgdGV4dDIuZW5kc3dpdGgoZXhwZWN0ZWQpCisrICAg ICAgICAjIC0tIEZPUjogcHl0ZXN0IDwgNS4wCisrICAgICAgICAjIGV4cGVjdGVkID0gdSJBc3Nl cnRpb25FcnJvcjogJXMiICUgbWVzc2FnZQorKyAgICAgICAgdGV4dDIgPSB0ZXh0KGUudmFsdWUp CisrICAgICAgICBhc3NlcnQgdSJBc3NlcnRpb25FcnJvciIgaW4gdGV4dChlKQorKyAgICAgICAg YXNzZXJ0IG1lc3NhZ2UgaW4gdGV4dDIsICJPT1BTOiB0ZXh0PSVyIiAlIHRleHQyCisgCisgICAg IEByZXF1aXJlc19weXRob24yCisgICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgibWVzc2Fn ZSIsIFsKK0BAIC0yMzYsMTAgKzIzOCwxMSBAQCBjbGFzcyBUZXN0T2JqZWN0VG9UZXh0Q29udmVy c2lvbihvYmplY3QpOgorICAgICAgICAgICAgICAgICBhc3NlcnQgZXhwZWN0ZWRfZGVjb2RlX2Vy cm9yIGluIHN0cih1bmlfZXJyb3IpCisgICAgICAgICAgICAgICAgIGFzc2VydCBGYWxzZSwgYnl0 ZXNfbWVzc2FnZS5kZWNvZGUoc2VsZi5FTkNPRElORykKKyAKKysgICAgICAgICMgLS0gRk9SOiBw eXRlc3QgPCA1LjAKKysgICAgICAgICMgZXhwZWN0ZWQgPSB1IkFzc2VydGlvbkVycm9yOiAlcyIg JSBtZXNzYWdlCisgICAgICAgICBwcmludCgiZGVjb2RlX2Vycm9yX29jY3VyZWQoYXNjaWkpPSVz IiAlIGRlY29kZV9lcnJvcl9vY2N1cmVkKQorLSAgICAgICAgdGV4dDIgPSB0ZXh0KGUpCistICAg ICAgICBleHBlY3RlZCA9IHUiQXNzZXJ0aW9uRXJyb3I6ICVzIiAlIG1lc3NhZ2UKKy0gICAgICAg IGFzc2VydCB0ZXh0Mi5lbmRzd2l0aChleHBlY3RlZCkKKysgICAgICAgIHRleHQyID0gdGV4dChl LnZhbHVlKQorKyAgICAgICAgYXNzZXJ0IG1lc3NhZ2UgaW4gdGV4dDIsICJPT1BTOiB0ZXh0PSVy IiAlIHRleHQyCisgCisgICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZXhjZXB0aW9uX2Ns YXNzLCBtZXNzYWdlIiwgWworICAgICAgICAgKEFzc2VydGlvbkVycm9yLCB1IsOEcmdlcm5pcyIp LAorQEAgLTI1MSwxMCArMjU0LDEzIEBAIGNsYXNzIFRlc3RPYmplY3RUb1RleHRDb252ZXJzaW9u KG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoZXhjZXB0aW9uX2NsYXNzKSBh cyBlOgorICAgICAgICAgICAgIHJhaXNlIGV4Y2VwdGlvbl9jbGFzcyhtZXNzYWdlKQorIAorLSAg ICAgICAgdGV4dDIgPSB0ZXh0KGUpCisrICAgICAgICAjIC0tIEZPUjogcHl0ZXN0IDwgNS4wCisr ICAgICAgICAjIGV4cGVjdGVkID0gdSJBc3NlcnRpb25FcnJvcjogJXMiICUgbWVzc2FnZQorKyAg ICAgICAgdGV4dDIgPSB0ZXh0KGUudmFsdWUpCisgICAgICAgICBleHBlY3RlZCA9IHUiJXM6ICVz IiAlIChleGNlcHRpb25fY2xhc3MuX19uYW1lX18sIG1lc3NhZ2UpCisgICAgICAgICBhc3NlcnQg aXNpbnN0YW5jZSh0ZXh0Miwgc2l4LnRleHRfdHlwZSkKKy0gICAgICAgIGFzc2VydCB0ZXh0Mi5l bmRzd2l0aChleHBlY3RlZCkKKysgICAgICAgIGFzc2VydCBleGNlcHRpb25fY2xhc3MuX19uYW1l X18gaW4gc3RyKGUpCisrICAgICAgICBhc3NlcnQgbWVzc2FnZSBpbiB0ZXh0MiwgIk9PUFM6IHRl eHQ9JXIiICUgdGV4dDIKKyAKKyAgICAgQHJlcXVpcmVzX3B5dGhvbjIKKyAgICAgQHB5dGVzdC5t YXJrLnBhcmFtZXRyaXplKCJleGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UiLCBbCitAQCAtMjY4LDcg KzI3NCw3IEBAIGNsYXNzIFRlc3RPYmplY3RUb1RleHRDb252ZXJzaW9uKG9iamVjdCk6CisgICAg ICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoZXhjZXB0aW9uX2NsYXNzKSBhcyBlOgorICAgICAgICAg ICAgIHJhaXNlIGV4Y2VwdGlvbl9jbGFzcyhieXRlc19tZXNzYWdlKQorIAorLSAgICAgICAgdGV4 dDIgPSB0ZXh0KGUpCisrICAgICAgICB0ZXh0MiA9IHRleHQoZS52YWx1ZSkKKyAgICAgICAgIHVu aWNvZGVfbWVzc2FnZSA9IGJ5dGVzX21lc3NhZ2UuZGVjb2RlKHNlbGYuRU5DT0RJTkcpCisgICAg ICAgICBleHBlY3RlZCA9IHUiJXM6ICVzIiAlIChleGNlcHRpb25fY2xhc3MuX19uYW1lX18sIHVu aWNvZGVfbWVzc2FnZSkKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHRleHQyLCBzaXgudGV4 dF90eXBlKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAzNC1DTEVBTlVQLVVzZS1weXRlc3QtaW5zdGVhZC1vZi1ub3NlLXRv LXJlbW92ZS1ub3NlLmltLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAzNC1DTEVBTlVQLVVzZS1weXRlc3QtaW5zdGVhZC1vZi1ub3Nl LXRvLXJlbW92ZS1ub3NlLmltLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZTYzMDk1ZGZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNC1DTEVBTlVQLVVzZS1weXRlc3QtaW5z dGVhZC1vZi1ub3NlLXRvLXJlbW92ZS1ub3NlLmltLnBhdGNoCkBAIC0wLDAgKzEsMTgwIEBACitG cm9tIDdkNmY4ODNjODY5MTg3ZTI0ZjVhNzUzMjMzYzZjOWRlNGY4MjgzMDIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IEZyaSwgNSBKdWwgMjAxOSAwODo0NTo1MSArMDIwMAorU3ViamVjdDogW1BB VENIXSBDTEVBTlVQOiBVc2UgcHl0ZXN0IGluc3RlYWQgb2Ygbm9zZSB0byByZW1vdmUgbm9zZS5p bXBvcnRlcgorIERlcHJlY2F0aW9uV2FybmluZy4KKworLS0tCisgdGVzdHMvdW5pdC90ZXN0X2lt cG9ydGVyLnB5IHwgMTYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEg ZmlsZSBjaGFuZ2VkLCAxNjMgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0 cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9p bXBvcnRlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weQorbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAuLmYzZjRlMmMKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3Rz L3VuaXQvdGVzdF9pbXBvcnRlci5weQorQEAgLTAsMCArMSwxNjMgQEAKKysjIC0qLSBjb2Rpbmc6 IHV0Zi04IC0qLQorKyIiIgorK1Rlc3RzIGZvciBiZWhhdmUuaW1wb3J0aW5nLgorK1RoZSBtb2R1 bGUgcHJvdmlkZXMgYSBsYXp5LWxvYWRpbmcvaW1wb3J0aW5nIG1lY2hhbmlzbS4KKysiIiIKKysK Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2ltcG9ydCBweXRlc3QK Kytmcm9tIGJlaGF2ZS5pbXBvcnRlciBpbXBvcnQgTGF6eU9iamVjdCwgTGF6eURpY3QsIGxvYWRf bW9kdWxlLCBwYXJzZV9zY29wZWRfbmFtZQorK2Zyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGlt cG9ydCBGb3JtYXR0ZXIKKytpbXBvcnQgc3lzCisraW1wb3J0IHR5cGVzCisrIyBpbXBvcnQgdW5p dHRlc3QKKysKKysKKytjbGFzcyBUZXN0VGhlb3J5KG9iamVjdCk6CisrICAgICIiIk1hcmtlciBm b3IgdGVzdC10aGVvcnkgY2xhc3NlcyBhcyBzeW50YWN0aWMgc3VnYXIuIiIiCisrICAgIHBhc3MK KysKKysKKytjbGFzcyBJbXBvcnRNb2R1bGVUaGVvcnkoVGVzdFRoZW9yeSk6CisrICAgICIiIgor KyAgICBQcm92aWRlcyBhIHRlc3QgdGhlb3J5IGZvciBpbXBvcnRpbmcgbW9kdWxlcy4KKysgICAg IiIiCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgZW5zdXJlX21vZHVsZV9pc19ub3Rf aW1wb3J0ZWQoY2xzLCBtb2R1bGVfbmFtZSk6CisrICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBz eXMubW9kdWxlczoKKysgICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbbW9kdWxlX25hbWVdCisr ICAgICAgICBjbHMuYXNzZXJ0X21vZHVsZV9pc19ub3RfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisr CisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIGFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQo bW9kdWxlX25hbWUpOgorKyAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXMuZ2V0KG1vZHVsZV9u YW1lLCBOb25lKQorKyAgICAgICAgYXNzZXJ0IG1vZHVsZV9uYW1lIGluIHN5cy5tb2R1bGVzCisr ICAgICAgICBhc3NlcnQgbW9kdWxlIGlzIG5vdCBOb25lCisrCisrICAgIEBzdGF0aWNtZXRob2QK KysgICAgZGVmIGFzc2VydF9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKG1vZHVsZV9uYW1lKToKKysg ICAgICAgIGFzc2VydCBtb2R1bGVfbmFtZSBub3QgaW4gc3lzLm1vZHVsZXMKKysKKysgICAgQHN0 YXRpY21ldGhvZAorKyAgICBkZWYgYXNzZXJ0X21vZHVsZV93aXRoX25hbWUobW9kdWxlLCBuYW1l KToKKysgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG1vZHVsZSwgdHlwZXMuTW9kdWxlVHlwZSkK KysgICAgICAgIGFzc2VydCBtb2R1bGUuX19uYW1lX18gPT0gbmFtZQorKworKworK2NsYXNzIFRl c3RMb2FkTW9kdWxlKG9iamVjdCk6CisrICAgIHRoZW9yeSA9IEltcG9ydE1vZHVsZVRoZW9yeQor KworKyAgICBkZWYgdGVzdF9sb2FkX21vZHVsZV9fc2hvdWxkX2ZhaWxfZm9yX3Vua25vd25fbW9k dWxlKHNlbGYpOgorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEltcG9ydEVycm9yKSBhcyBl OgorKyAgICAgICAgICAgIGxvYWRfbW9kdWxlKCJfX3Vua25vd25fbW9kdWxlX18iKQorKyAgICAg ICAgIyBPTEQ6IGFzc2VydF9yYWlzZXMoSW1wb3J0RXJyb3IsIGxvYWRfbW9kdWxlLCAiX191bmtu b3duX21vZHVsZV9fIikKKysKKysgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9zdWNj ZWVkX2Zvcl9hbHJlYWR5X2ltcG9ydGVkX21vZHVsZShzZWxmKToKKysgICAgICAgIG1vZHVsZV9u YW1lID0gImJlaGF2ZS5pbXBvcnRlciIKKysgICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1 bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisrCisrICAgICAgICBtb2R1bGUgPSBsb2FkX21v ZHVsZShtb2R1bGVfbmFtZSkKKysgICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfd2l0 aF9uYW1lKG1vZHVsZSwgbW9kdWxlX25hbWUpCisrICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRf bW9kdWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorKworKyAgICBkZWYgdGVzdF9sb2FkX21v ZHVsZV9fc2hvdWxkX3N1Y2NlZWRfZm9yX2V4aXN0aW5nX21vZHVsZShzZWxmKToKKysgICAgICAg IG1vZHVsZV9uYW1lID0gInRlc3QuX2ltcG9ydGVyX2NhbmRpZGF0ZSIKKysgICAgICAgIHNlbGYu dGhlb3J5LmVuc3VyZV9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorKworKyAg ICAgICAgbW9kdWxlID0gbG9hZF9tb2R1bGUobW9kdWxlX25hbWUpCisrICAgICAgICBzZWxmLnRo ZW9yeS5hc3NlcnRfbW9kdWxlX3dpdGhfbmFtZShtb2R1bGUsIG1vZHVsZV9uYW1lKQorKyAgICAg ICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKysK KysKKytjbGFzcyBUZXN0TGF6eU9iamVjdChvYmplY3QpOgorKworKyAgICBkZWYgdGVzdF9nZXRf X3Nob3VsZF9zdWNjZWVkX2Zvcl9rbm93bl9vYmplY3Qoc2VsZik6CisrICAgICAgICBsYXp5ID0g TGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyIiwgIkxhenlPYmplY3QiKQorKyAgICAgICAgdmFs dWUgPSBsYXp5LmdldCgpCisrICAgICAgICBhc3NlcnQgdmFsdWUgaXMgTGF6eU9iamVjdAorKwor KyAgICAgICAgbGF6eTIgPSBMYXp5T2JqZWN0KCJiZWhhdmUuaW1wb3J0ZXI6TGF6eU9iamVjdCIp CisrICAgICAgICB2YWx1ZTIgPSBsYXp5Mi5nZXQoKQorKyAgICAgICAgYXNzZXJ0IHZhbHVlMiBp cyBMYXp5T2JqZWN0CisrCisrICAgICAgICBsYXp5MyA9IExhenlPYmplY3QoImJlaGF2ZS5mb3Jt YXR0ZXIuc3RlcHMiLCAiU3RlcHNGb3JtYXR0ZXIiKQorKyAgICAgICAgdmFsdWUzID0gbGF6eTMu Z2V0KCkKKysgICAgICAgIGFzc2VydCBpc3N1YmNsYXNzKHZhbHVlMywgRm9ybWF0dGVyKQorKwor KyAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX21vZHVsZShzZWxmKToK KysgICAgICAgIGxhenkgPSBMYXp5T2JqZWN0KCJfX3Vua25vd25fbW9kdWxlX18iLCAieHh4IikK KysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhJbXBvcnRFcnJvcik6CisrICAgICAgICAgICAg bGF6eS5nZXQoKQorKworKyAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3du X29iamVjdF9pbl9tb2R1bGUoc2VsZik6CisrICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgidGVz dC5faW1wb3J0ZXJfY2FuZGlkYXRlIiwgInh4eCIpCisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlz ZXMoSW1wb3J0RXJyb3IpOgorKyAgICAgICAgICAgIGxhenkuZ2V0KCkKKysKKysKKytjbGFzcyBM YXp5RGljdFRoZW9yeShUZXN0VGhlb3J5KToKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBk ZWYgc2FmZV9nZXRpdGVtKGRhdGEsIGtleSk6CisrICAgICAgICByZXR1cm4gZGljdC5fX2dldGl0 ZW1fXyhkYXRhLCBrZXkpCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgYXNzZXJ0X2l0 ZW1faXNfbGF6eShjbHMsIGRhdGEsIGtleSk6CisrICAgICAgICB2YWx1ZSA9IGNscy5zYWZlX2dl dGl0ZW0oZGF0YSwga2V5KQorKyAgICAgICAgY2xzLmFzc2VydF9pc19sYXp5X29iamVjdCh2YWx1 ZSkKKysKKysgICAgQGNsYXNzbWV0aG9kCisrICAgIGRlZiBhc3NlcnRfaXRlbV9pc19ub3RfbGF6 eShjbHMsIGRhdGEsIGtleSk6CisrICAgICAgICB2YWx1ZSA9IGNscy5zYWZlX2dldGl0ZW0oZGF0 YSwga2V5KQorKyAgICAgICAgY2xzLmFzc2VydF9pc19ub3RfbGF6eV9vYmplY3QodmFsdWUpCisr CisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIGFzc2VydF9pc19sYXp5X29iamVjdChvYmop OgorKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uob2JqLCBMYXp5T2JqZWN0KQorKworKyAgICBA c3RhdGljbWV0aG9kCisrICAgIGRlZiBhc3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KG9iaik6Cisr ICAgICAgICBhc3NlcnQgbm90IGlzaW5zdGFuY2Uob2JqLCBMYXp5T2JqZWN0KQorKworKworK2Ns YXNzIFRlc3RMYXp5RGljdChvYmplY3QpOgorKyAgICB0aGVvcnkgPSBMYXp5RGljdFRoZW9yeQor KworKyAgICBkZWYgdGVzdF91bmtub3duX2l0ZW1fYWNjZXNzX19zaG91bGRfcmFpc2Vfa2V5ZXJy b3Ioc2VsZik6CisrICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogNDJ9KQor KyAgICAgICAgaXRlbV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQorKyAgICAg ICAgd2l0aCBweXRlc3QucmFpc2VzKEtleUVycm9yKToKKysgICAgICAgICAgICBpdGVtX2FjY2Vz cygidW5rbm93biIpCisrCisrICAgIGRlZiB0ZXN0X3BsYWluX2l0ZW1fYWNjZXNzX19zaG91bGRf c3VjY2VlZChzZWxmKToKKysgICAgICAgIHRoZW9yeSA9IExhenlEaWN0VGhlb3J5CisrICAgICAg ICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogNDJ9KQorKyAgICAgICAgdGhlb3J5LmFz c2VydF9pdGVtX2lzX25vdF9sYXp5KGxhenlfZGljdCwgImFsaWNlIikKKysKKysgICAgICAgIHZh bHVlID0gbGF6eV9kaWN0WyJhbGljZSJdCisrICAgICAgICBhc3NlcnQgdmFsdWUgPT0gNDIKKysK KysgICAgZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vzc19fc2hvdWxkX2xvYWRfb2JqZWN0KHNlbGYp OgorKyAgICAgICAgSW1wb3J0TW9kdWxlVGhlb3J5LmVuc3VyZV9tb2R1bGVfaXNfbm90X2ltcG9y dGVkKCJpbnNwZWN0IikKKysgICAgICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsiYWxpY2UiOiBM YXp5T2JqZWN0KCJpbnNwZWN0OmlzbW9kdWxlIil9KQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNz ZXJ0X2l0ZW1faXNfbGF6eShsYXp5X2RpY3QsICJhbGljZSIpCisrICAgICAgICBzZWxmLnRoZW9y eS5hc3NlcnRfaXRlbV9pc19sYXp5KGxhenlfZGljdCwgImFsaWNlIikKKysKKysgICAgICAgIHZh bHVlID0gbGF6eV9kaWN0WyJhbGljZSJdCisrICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfaXNf bm90X2xhenlfb2JqZWN0KHZhbHVlKQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2l0ZW1f aXNfbm90X2xhenkobGF6eV9kaWN0LCAiYWxpY2UiKQorKworKyAgICBkZWYgdGVzdF9sYXp5X2l0 ZW1fYWNjZXNzX19zaG91bGRfZmFpbF93aXRoX3Vua25vd25fbW9kdWxlKHNlbGYpOgorKyAgICAg ICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJib2IiOiBMYXp5T2JqZWN0KCJfX3Vua25vd25fbW9k dWxlX18iLCAieHh4Iil9KQorKyAgICAgICAgaXRlbV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5 X2RpY3Rba2V5XQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEltcG9ydEVycm9yKToKKysg ICAgICAgICAgICBpdGVtX2FjY2VzcygiYm9iIikKKysKKysgICAgZGVmIHRlc3RfbGF6eV9pdGVt X2FjY2Vzc19fc2hvdWxkX2ZhaWxfd2l0aF91bmtub3duX29iamVjdChzZWxmKToKKysgICAgICAg IGxhenlfZGljdCA9IExhenlEaWN0KHsKKysgICAgICAgICAgICAiYm9iIjogTGF6eU9iamVjdCgi YmVoYXZlLmltcG9ydGVyIiwgIlhVbmtub3duIikKKysgICAgICAgIH0pCisrICAgICAgICBpdGVt X2FjY2VzcyA9IGxhbWJkYSBrZXk6IGxhenlfZGljdFtrZXldCisrICAgICAgICB3aXRoIHB5dGVz dC5yYWlzZXMoSW1wb3J0RXJyb3IpOgorKyAgICAgICAgICAgIGl0ZW1fYWNjZXNzKCJib2IiKQpk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAzNS1SRU1PVkUtREVQRU5ERU5DWS1ub3NlLXRvLWF2b2lkLW5vc2UuaW1wb3J0ZXIt d2FybmluLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAzNS1SRU1PVkUtREVQRU5ERU5DWS1ub3NlLXRvLWF2b2lkLW5vc2UuaW1wb3J0 ZXItd2FybmluLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTYz YTg0M2U4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNS1SRU1PVkUtREVQRU5ERU5DWS1ub3NlLXRvLWF2b2lk LW5vc2UuaW1wb3J0ZXItd2FybmluLnBhdGNoCkBAIC0wLDAgKzEsMTgxNSBAQAorRnJvbSA4NDlk ODhmM2ZlNDUzNzcwODZhNTg5NWEzY2M2NzM0YmQ5ZTUyZTNlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBTYXQsIDYgSnVsIDIwMTkgMDk6MTA6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUkVN T1ZFLURFUEVOREVOQ1k6IG5vc2UgKHRvIGF2b2lkIG5vc2UuaW1wb3J0ZXIgd2FybmluZ3MpCisK K1JlcGxhY2Ugbm9zZSB0ZXN0LWZyYW1ld29yayBmdW5jdGlvbmFsaXR5IHcvIHB5dGVzdC4KK01v dmUgdGVzdC8qLnB5ID0+IHRlc3RzL3VuaXQvKi5weQorLS0tCisgTUFOSUZFU1QuaW4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyIC0KKyBjb25mdGVzdC5weSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKysKKyBpbnZva2UueWFtbCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKworIHB5LnJlcXVpcmVtZW50cy9jaS50 b3gudHh0ICAgICAgICAgICAgICAgICAgICB8ICAgOSArCisgcHkucmVxdWlyZW1lbnRzL2NpLnRy YXZpcy50eHQgICAgICAgICAgICAgICAgIHwgICAxIC0KKyBweS5yZXF1aXJlbWVudHMvZGV2ZWxv cC50eHQgICAgICAgICAgICAgICAgICAgfCAgIDEgLQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5n LnR4dCAgICAgICAgICAgICAgICAgICB8ICAgMyArLQorIHB5dGVzdC5pbmkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgNyArLQorIHNldHVwLnB5ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArLQorIHRhc2tzL3Rlc3QucHkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIHRlc3QvX19pbml0X18ucHkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMAorIHRlc3QvdGVzdF9pbXBvcnRlci5weSAgICAg ICAgICAgICAgICAgICAgICAgICB8IDE1MSAtLS0tLS0tLS0tLS0tCisge3Rlc3QgPT4gdGVzdHMv dW5pdH0vX2ltcG9ydGVyX2NhbmRpZGF0ZS5weSAgIHwgICAwCisgdGVzdHMvdW5pdC9yZXBvcnRl ci90ZXN0X3N1bW1hcnkucHkgICAgICAgICAgIHwgICAyIC0KKyAuLi4vdGVzdF90YWdfZXhwcmVz c2lvbl92MV9wYXJ0MS5weSAgICAgICAgICAgfCAgMTcgKy0KKyAuLi4vdGVzdF90YWdfZXhwcmVz c2lvbl92MV9wYXJ0Mi5weSAgICAgICAgICAgfCAgMTggKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0 fS90ZXN0X2Fuc2lfZXNjYXBlcy5weSAgICAgfCAgMTQgKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0 fS90ZXN0X2NvbmZpZ3VyYXRpb24ucHkgICAgfCAgNzUgKysrLS0tCisge3Rlc3QgPT4gdGVzdHMv dW5pdH0vdGVzdF9mb3JtYXR0ZXIucHkgICAgICAgIHwgIDE1ICstCisgLi4uL3VuaXR9L3Rlc3Rf Zm9ybWF0dGVyX3Byb2dyZXNzLnB5ICAgICAgICAgIHwgICA3ICsKKyB7dGVzdCA9PiB0ZXN0cy91 bml0fS90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weSAgfCAgMTIgKy0KKyB7dGVzdCA9PiB0ZXN0cy91 bml0fS90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5ICAgfCAgIDkgKworIHRlc3RzL3VuaXQvdGVzdF9p bXBvcnRlci5weSAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIHt0ZXN0ID0+IHRlc3RzL3Vu aXR9L3Rlc3RfbG9nX2NhcHR1cmUucHkgICAgICB8ICAgOSArLQorIHt0ZXN0ID0+IHRlc3RzL3Vu aXR9L3Rlc3RfbWF0Y2hlcnMucHkgICAgICAgICB8ICAyNCArLQorIHRlc3RzL3VuaXQvdGVzdF9w YXJzZXIucHkgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCisge3Rlc3QgPT4gdGVzdHMvdW5p dH0vdGVzdF9ydW5uZXIucHkgICAgICAgICAgIHwgMjEzICsrKysrKysrKystLS0tLS0tLQorIHt0 ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3Rfc3RlcF9yZWdpc3RyeS5weSAgICB8ICAgNSArLQorIHRl c3RzL3VuaXQvdGVzdF90ZXh0dXRpbC5weSAgICAgICAgICAgICAgICAgICB8ICAxMiArLQorIHRv eC5pbmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxOSArLQorIDMw IGZpbGVzIGNoYW5nZWQsIDI4MyBpbnNlcnRpb25zKCspLCAzNjkgZGVsZXRpb25zKC0pCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IHB5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CisgZGVsZXRlIG1vZGUg MTAwNjQ0IHRlc3QvX19pbml0X18ucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGVzdC90ZXN0X2lt cG9ydGVyLnB5CisgcmVuYW1lIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L19pbXBvcnRlcl9jYW5kaWRh dGUucHkgKDEwMCUpCisgcmVuYW1lIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfYW5zaV9lc2Nh cGVzLnB5ICg4NCUpCisgcmVuYW1lIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfY29uZmlndXJh dGlvbi5weSAoNzIlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRl ci5weSAoOTQlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlcl9w cm9ncmVzcy5weSAoOTklKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1h dHRlcl9yZXJ1bi5weSAoOTQlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zv cm1hdHRlcl90YWdzLnB5ICg5OSUpCisgcmVuYW1lIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3Rf bG9nX2NhcHR1cmUucHkgKDg3JSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9t YXRjaGVycy5weSAoOTMlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X3J1bm5l ci5weSAoODIlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X3N0ZXBfcmVnaXN0 cnkucHkgKDk1JSkKKworZGlmZiAtLWdpdCBhL01BTklGRVNULmluIGIvTUFOSUZFU1QuaW4KK2lu ZGV4IDQ5Y2I3YzYuLjYwYzI2MDEgMTAwNjQ0CistLS0gYS9NQU5JRkVTVC5pbgorKysrIGIvTUFO SUZFU1QuaW4KK0BAIC0zMyw1ICszMywzIEBAIHJlY3Vyc2l2ZS1pbmNsdWRlIHB5LnJlcXVpcmVt ZW50cyAgKi50eHQKKyAKKyBwcnVuZSAudG94CisgcHJ1bmUgLnZlbnYqCistcHJ1bmUgcGF2ZXJf ZXh0CistZXhjbHVkZSBwYXZlbWVudC5weQorZGlmZiAtLWdpdCBhL2NvbmZ0ZXN0LnB5IGIvY29u ZnRlc3QucHkKK2luZGV4IDdiM2E4ODMuLjcxYTNiZDAgMTAwNjQ0CistLS0gYS9jb25mdGVzdC5w eQorKysrIGIvY29uZnRlc3QucHkKK0BAIC0xMCw2ICsxMCwxMCBAQCBBZGQgcHJvamVjdC1zcGVj aWZpYyBpbmZvcm1hdGlvbi4KKyBpbXBvcnQgYmVoYXZlCisgaW1wb3J0IHB5dGVzdAorIAorKwor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBQWVRFU1QgRklYVFVSRVM6CisrIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBAcHl0ZXN0LmZpeHR1cmUoYXV0b3VzZT1UcnVlKQorIGRlZiBfYW5ub3RhdGVf ZW52aXJvbm1lbnQocmVxdWVzdCk6CisgICAgICIiIkFkZCBwcm9qZWN0LXNwZWNpZmljIGluZm9y bWF0aW9uIHRvIHRlc3QtcnVuIGVudmlyb25tZW50OgorQEAgLTI1LDMgKzI5LDEyIEBAIGRlZiBf YW5ub3RhdGVfZW52aXJvbm1lbnQocmVxdWVzdCk6CisgICAgICAgICBiZWhhdmVfdmVyc2lvbiA9 IGJlaGF2ZS5fX3ZlcnNpb25fXworICAgICAgICAgZW52aXJvbm1lbnQuYXBwZW5kKCgiYmVoYXZl IiwgYmVoYXZlX3ZlcnNpb24pKQorIAorK19weXRlc3RfdmVyc2lvbiA9IHB5dGVzdC5fX3ZlcnNp b25fXworK2lmIF9weXRlc3RfdmVyc2lvbiA+PSAiNS4wIjoKKysgICAgIyAtLSBTVVBQT1JURUQg U0lOQ0U6IHB5dGVzdCA1LjAKKysgICAgQHB5dGVzdC5maXh0dXJlKHNjb3BlPSJzZXNzaW9uIiwg YXV0b3VzZT1UcnVlKQorKyAgICBkZWYgbG9nX2dsb2JhbF9lbnZfZmFjdHMocmVjb3JkX3Rlc3Rz dWl0ZV9wcm9wZXJ0eSk6CisrICAgICAgICAjIFNFRTogaHR0cHM6Ly9kb2NzLnB5dGVzdC5vcmcv ZW4vbGF0ZXN0L3VzYWdlLmh0bWwKKysgICAgICAgIGJlaGF2ZV92ZXJzaW9uID0gYmVoYXZlLl9f dmVyc2lvbl9fCisrICAgICAgICByZWNvcmRfdGVzdHN1aXRlX3Byb3BlcnR5KCJCRUhBVkVfVkVS U0lPTiIsIGJlaGF2ZV92ZXJzaW9uKQorKworZGlmZiAtLWdpdCBhL2ludm9rZS55YW1sIGIvaW52 b2tlLnlhbWwKK2luZGV4IDRmMjEzMjguLjNlOTNjZmMgMTAwNjQ0CistLS0gYS9pbnZva2UueWFt bAorKysrIGIvaW52b2tlLnlhbWwKK0BAIC0yMyw2ICsyMyw3IEBAIHNwaGlueDoKKyAgICAgbGFu Z3VhZ2VzOgorICAgICAgIC0gZGUKKyAgICAgICAjIFBSRVBBUkVEOiAtIHpoLUNOCisrCisgY2xl YW51cDoKKyAgICAgZXh0cmFfZGlyZWN0b3JpZXM6CisgICAgICAgLSAiYnVpbGQiCitkaWZmIC0t Z2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94 LnR4dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjZiM2IzYWUKKy0tLSAv ZGV2L251bGwKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CitAQCAtMCwwICsxLDkg QEAKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjIEJFSEFWRTogUFlUSE9OIFBBQ0tBR0UgUkVR VUlSRU1FTlRTOiBjaS50b3gudHh0CisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrcHl0ZXN0 ID49IDQuMgorK3B5dGVzdC1odG1sID49IDEuMTkuMAorK21vY2sgPj0gMi4wCisrUHlIYW1jcmVz dCA+PSAxLjkKKytwYXRoLnB5ID49IDEwLjEKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv Y2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitpbmRleCAxY2Mw MjM5Li43M2Q2NWY2IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQK KysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitAQCAtMSw1ICsxLDQgQEAKKyBt b2NrCistbm9zZQorIFB5SGFtY3Jlc3QgPj0gMS45CisgcHl0ZXN0ID49IDMuMAorIHB5dGVzdC1o dG1sID49IDEuMTkuMAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCBi L3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAoraW5kZXggM2RlZWRjNy4uZDgyMzM4OSAxMDA2 NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVxdWlyZW1l bnRzL2RldmVsb3AudHh0CitAQCAtMTQsNyArMTQsNiBAQCBweWNtZAorIGJ1bXB2ZXJzaW9uID49 IDAuNC4wCisgCisgIyAtLSBERVZFTE9QTUVOVCBTVVBQT1JUOgorLSMgUFJFUEFSRUQ6IG5vc2Ut Y292ID49IDEuNAorIHRveCAgID49IDEuOC4xCisgY292ZXJhZ2UgPj0gNC4yCisgcHl0ZXN0LWNv dgorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVt ZW50cy90ZXN0aW5nLnR4dAoraW5kZXggMzgwNmQzOS4uYTQxODczOSAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL3Rlc3Rpbmcu dHh0CitAQCAtNCw5ICs0LDggQEAKKyAKKyAjIC0tIFRFU1RJTkc6IFVuaXQgdGVzdHMgYW5kIGJl aGF2ZSBzZWxmLXRlc3RzLgorICMgUFJFUEFSRUQtRlVUVVJFOiBiZWhhdmU0Y21kMCwgYmVoYXZl NGNtZAorLXB5dGVzdCA+PSAzLjAKKytweXRlc3QgPj0gNC4yCisgcHl0ZXN0LWh0bWwgPj0gMS4x OS4wCistbm9zZSAgPj0gMS4zCisgbW9jayAgPj0gMi4wCisgUHlIYW1jcmVzdCA+PSAxLjkKKyAK K2RpZmYgLS1naXQgYS9weXRlc3QuaW5pIGIvcHl0ZXN0LmluaQoraW5kZXggMTdhZDM4OC4uYTY4 NjU5NiAxMDA2NDQKKy0tLSBhL3B5dGVzdC5pbmkKKysrKyBiL3B5dGVzdC5pbmkKK0BAIC0xNiw4 ICsxNiw4IEBACisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCisgW3B5dGVzdF0KKy1taW52ZXJz aW9uICAgID0gMi44CistdGVzdHBhdGhzICAgICA9IHRlc3QgdGVzdHMKKyttaW52ZXJzaW9uICAg ID0gNC4yCisrdGVzdHBhdGhzICAgICA9IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRlc3RfKi5w eQorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKKyAgICAg LS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2MQorQEAgLTI2LDYgKzI2LDcgQEAg YWRkb3B0cyA9IC0tbWV0YWRhdGEgUEFDS0FHRV9VTkRFUl9URVNUIGJlaGF2ZQorIG1hcmtlcnMg PQorICAgICBzbW9rZQorICAgICBzbG93CisrCisgIyAtLSBCQUNLV0FSRCBDT01QQVRJQklMSVRZ OiBweXRlc3QgPCAyLjgKKy1ub3JlY3Vyc2VkaXJzID0gLmdpdCAudG94IGJ1aWxkIGRpc3QgcHku cmVxdWlyZW1lbnRzIHRtcCogX1dPUktTUEFDRQorKyMgbm9yZWN1cnNlZGlycyA9IC5naXQgLnRv eCBidWlsZCBkaXN0IHB5LnJlcXVpcmVtZW50cyB0bXAqIF9XT1JLU1BBQ0UKKyAKK2RpZmYgLS1n aXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBhYzdiZGRmLi45Yzc1NjBkIDEwMDY0NAor LS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtODYsMTMgKzg2LDExIEBAIHNldHVw KAorICAgICAgICAgIndpbl91bmljb2RlX2NvbnNvbGU7IHB5dGhvbl92ZXJzaW9uIDwgJzMuNici LAorICAgICAgICAgImNvbG9yYW1hIiwKKyAgICAgXSwKKy0gICAgdGVzdF9zdWl0ZT0ibm9zZS5j b2xsZWN0b3IiLAorICAgICB0ZXN0c19yZXF1aXJlPVsKKy0gICAgICAgICJweXRlc3QgPj0gMy4w IiwKKysgICAgICAgICJweXRlc3QgPj0gNC4yIiwKKyAgICAgICAgICJweXRlc3QtaHRtbCA+PSAx LjE5LjAiLAorLSAgICAgICAgIm5vc2UgPj0gMS4zIiwKKyAgICAgICAgICJtb2NrID49IDEuMSIs CistICAgICAgICAiUHlIYW1jcmVzdCA+PSAxLjgiLAorKyAgICAgICAgIlB5SGFtY3Jlc3QgPj0g MS45IiwKKyAgICAgICAgICJwYXRoLnB5ID49IDExLjUuMCIKKyAgICAgXSwKKyAgICAgY21kY2xh c3MgPSB7CitAQCAtMTA1LDcgKzEwMyw3IEBAIHNldHVwKAorICAgICAgICAgXSwKKyAgICAgICAg ICJkZXZlbG9wIjogWworICAgICAgICAgICAgICJjb3ZlcmFnZSIsCistICAgICAgICAgICAgInB5 dGVzdCA+PSAzLjAiLAorKyAgICAgICAgICAgICJweXRlc3QgPj0gNC4yIiwKKyAgICAgICAgICAg ICAicHl0ZXN0LWh0bWwgPj0gMS4xOS4wIiwKKyAgICAgICAgICAgICAicHl0ZXN0LWNvdiIsCisg ICAgICAgICAgICAgInRveCIsCitkaWZmIC0tZ2l0IGEvdGFza3MvdGVzdC5weSBiL3Rhc2tzL3Rl c3QucHkKK2luZGV4IDA2ZWIxNzUuLmJmYTJkODAgMTAwNjQ0CistLS0gYS90YXNrcy90ZXN0LnB5 CisrKysgYi90YXNrcy90ZXN0LnB5CitAQCAtMTcyLDcgKzE3Miw3IEBAIG5hbWVzcGFjZS5jb25m aWd1cmUoeworICAgICAgICAgfSwKKyAgICAgfSwKKyAgICAgInB5dGVzdCI6IHsKKy0gICAgICAg ICJzY29wZXMiOiAgIFsidGVzdCIsICJ0ZXN0cyJdLAorKyAgICAgICAgInNjb3BlcyI6ICAgWyJ0 ZXN0cyJdLAorICAgICAgICAgImFyZ3MiOiAgICIiLAorICAgICAgICAgIm9wdGlvbnMiOiAiIiwg ICMgLS0gTk9URTogIE92ZXJpZGUgaW4gY29uZmlnZmlsZSAiaW52b2tlLnlhbWwiCisgICAgIH0s CitkaWZmIC0tZ2l0IGEvdGVzdC9fX2luaXRfXy5weSBiL3Rlc3QvX19pbml0X18ucHkKK2RlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZTY5ZGUyOS4uMDAwMDAwMAorZGlmZiAtLWdpdCBh L3Rlc3QvdGVzdF9pbXBvcnRlci5weSBiL3Rlc3QvdGVzdF9pbXBvcnRlci5weQorZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCBiYWNhMjFhLi4wMDAwMDAwCistLS0gYS90ZXN0L3Rlc3Rf aW1wb3J0ZXIucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDE1MSArMCwwIEBACistIyAtKi0gY29k aW5nOiB1dGYtOCAtKi0KKy0iIiIKKy1UZXN0cyBmb3IgYmVoYXZlLmltcG9ydGluZy4KKy1UaGUg bW9kdWxlIHByb3ZpZGVzIGEgbGF6eS1sb2FkaW5nL2ltcG9ydGluZyBtZWNoYW5pc20uCistIiIi CistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy1mcm9tIGJlaGF2 ZS5pbXBvcnRlciBpbXBvcnQgTGF6eU9iamVjdCwgTGF6eURpY3QsIGxvYWRfbW9kdWxlLCBwYXJz ZV9zY29wZWRfbmFtZQorLWZyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBGb3JtYXR0 ZXIKKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0IGVxXywgYXNzZXJ0X3JhaXNlcworLWltcG9ydCBz eXMKKy1pbXBvcnQgdHlwZXMKKy0jIGltcG9ydCB1bml0dGVzdAorLQorLQorLWNsYXNzIFRlc3RU aGVvcnkob2JqZWN0KTogcGFzcworLWNsYXNzIEltcG9ydE1vZHVsZVRoZW9yeShUZXN0VGhlb3J5 KToKKy0gICAgIiIiCistICAgIFByb3ZpZGVzIGEgdGVzdCB0aGVvcnkgZm9yIGltcG9ydGluZyBt b2R1bGVzLgorLSAgICAiIiIKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBlbnN1cmVf bW9kdWxlX2lzX25vdF9pbXBvcnRlZChjbHMsIG1vZHVsZV9uYW1lKToKKy0gICAgICAgIGlmIG1v ZHVsZV9uYW1lIGluIHN5cy5tb2R1bGVzOgorLSAgICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1tt b2R1bGVfbmFtZV0KKy0gICAgICAgIGNscy5hc3NlcnRfbW9kdWxlX2lzX25vdF9pbXBvcnRlZCht b2R1bGVfbmFtZSkKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAgICBkZWYgYXNzZXJ0X21vZHVs ZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSk6CistICAgICAgICBtb2R1bGUgPSBzeXMubW9kdWxl cy5nZXQobW9kdWxlX25hbWUsIE5vbmUpCistICAgICAgICBhc3NlcnQgbW9kdWxlX25hbWUgaW4g c3lzLm1vZHVsZXMKKy0gICAgICAgIGFzc2VydCBtb2R1bGUgaXMgbm90IE5vbmUKKy0KKy0gICAg QHN0YXRpY21ldGhvZAorLSAgICBkZWYgYXNzZXJ0X21vZHVsZV9pc19ub3RfaW1wb3J0ZWQobW9k dWxlX25hbWUpOgorLSAgICAgICAgYXNzZXJ0IG1vZHVsZV9uYW1lIG5vdCBpbiBzeXMubW9kdWxl cworLQorLSAgICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBhc3NlcnRfbW9kdWxlX3dpdGhfbmFt ZShtb2R1bGUsIG5hbWUpOgorLSAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UobW9kdWxlLCB0eXBl cy5Nb2R1bGVUeXBlKQorLSAgICAgICAgZXFfKG1vZHVsZS5fX25hbWVfXywgbmFtZSkKKy0KKy0K Ky1jbGFzcyBUZXN0TG9hZE1vZHVsZShvYmplY3QpOgorLSAgICB0aGVvcnkgPSBJbXBvcnRNb2R1 bGVUaGVvcnkKKy0KKy0gICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9mYWlsX2Zvcl91 bmtub3duX21vZHVsZShzZWxmKToKKy0gICAgICAgIGFzc2VydF9yYWlzZXMoSW1wb3J0RXJyb3Is IGxvYWRfbW9kdWxlLCAiX191bmtub3duX21vZHVsZV9fIikKKy0KKy0gICAgZGVmIHRlc3RfbG9h ZF9tb2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9hbHJlYWR5X2ltcG9ydGVkX21vZHVsZShzZWxm KToKKy0gICAgICAgIG1vZHVsZV9uYW1lID0gImJlaGF2ZS5pbXBvcnRlciIKKy0gICAgICAgIHNl bGYudGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCistCistICAg ICAgICBtb2R1bGUgPSBsb2FkX21vZHVsZShtb2R1bGVfbmFtZSkKKy0gICAgICAgIHNlbGYudGhl b3J5LmFzc2VydF9tb2R1bGVfd2l0aF9uYW1lKG1vZHVsZSwgbW9kdWxlX25hbWUpCistICAgICAg ICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorLQor LSAgICBkZWYgdGVzdF9sb2FkX21vZHVsZV9fc2hvdWxkX3N1Y2NlZWRfZm9yX2V4aXN0aW5nX21v ZHVsZShzZWxmKToKKy0gICAgICAgIG1vZHVsZV9uYW1lID0gInRlc3QuX2ltcG9ydGVyX2NhbmRp ZGF0ZSIKKy0gICAgICAgIHNlbGYudGhlb3J5LmVuc3VyZV9tb2R1bGVfaXNfbm90X2ltcG9ydGVk KG1vZHVsZV9uYW1lKQorLQorLSAgICAgICAgbW9kdWxlID0gbG9hZF9tb2R1bGUobW9kdWxlX25h bWUpCistICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX3dpdGhfbmFtZShtb2R1bGUs IG1vZHVsZV9uYW1lKQorLSAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9pc19pbXBv cnRlZChtb2R1bGVfbmFtZSkKKy0KKy1jbGFzcyBUZXN0TGF6eU9iamVjdChvYmplY3QpOgorLQor LSAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9zdWNjZWVkX2Zvcl9rbm93bl9vYmplY3Qoc2VsZik6 CistICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyIiwgIkxhenlPYmpl Y3QiKQorLSAgICAgICAgdmFsdWUgPSBsYXp5LmdldCgpCistICAgICAgICBhc3NlcnQgdmFsdWUg aXMgTGF6eU9iamVjdAorLQorLSAgICAgICAgbGF6eTIgPSBMYXp5T2JqZWN0KCJiZWhhdmUuaW1w b3J0ZXI6TGF6eU9iamVjdCIpCistICAgICAgICB2YWx1ZTIgPSBsYXp5Mi5nZXQoKQorLSAgICAg ICAgYXNzZXJ0IHZhbHVlMiBpcyBMYXp5T2JqZWN0CistCistICAgICAgICBsYXp5MyA9IExhenlP YmplY3QoImJlaGF2ZS5mb3JtYXR0ZXIuc3RlcHMiLCAiU3RlcHNGb3JtYXR0ZXIiKQorLSAgICAg ICAgdmFsdWUzID0gbGF6eTMuZ2V0KCkKKy0gICAgICAgIGFzc2VydCBpc3N1YmNsYXNzKHZhbHVl MywgRm9ybWF0dGVyKQorLQorLSAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9mYWlsX2Zvcl91bmtu b3duX21vZHVsZShzZWxmKToKKy0gICAgICAgIGxhenkgPSBMYXp5T2JqZWN0KCJfX3Vua25vd25f bW9kdWxlX18iLCAieHh4IikKKy0gICAgICAgIGFzc2VydF9yYWlzZXMoSW1wb3J0RXJyb3IsIGxh enkuZ2V0KQorLQorLSAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX29i amVjdF9pbl9tb2R1bGUoc2VsZik6CistICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgidGVzdC5f aW1wb3J0ZXJfY2FuZGlkYXRlIiwgInh4eCIpCistICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9y dEVycm9yLCBsYXp5LmdldCkKKy0KKy0KKy1jbGFzcyBMYXp5RGljdFRoZW9yeShUZXN0VGhlb3J5 KToKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAgICBkZWYgc2FmZV9nZXRpdGVtKGRhdGEsIGtl eSk6CistICAgICAgICByZXR1cm4gZGljdC5fX2dldGl0ZW1fXyhkYXRhLCBrZXkpCistCistICAg IEBjbGFzc21ldGhvZAorLSAgICBkZWYgYXNzZXJ0X2l0ZW1faXNfbGF6eShjbHMsIGRhdGEsIGtl eSk6CistICAgICAgICB2YWx1ZSA9IGNscy5zYWZlX2dldGl0ZW0oZGF0YSwga2V5KQorLSAgICAg ICAgY2xzLmFzc2VydF9pc19sYXp5X29iamVjdCh2YWx1ZSkKKy0KKy0gICAgQGNsYXNzbWV0aG9k CistICAgIGRlZiBhc3NlcnRfaXRlbV9pc19ub3RfbGF6eShjbHMsIGRhdGEsIGtleSk6CistICAg ICAgICB2YWx1ZSA9IGNscy5zYWZlX2dldGl0ZW0oZGF0YSwga2V5KQorLSAgICAgICAgY2xzLmFz c2VydF9pc19ub3RfbGF6eV9vYmplY3QodmFsdWUpCistCistICAgIEBzdGF0aWNtZXRob2QKKy0g ICAgZGVmIGFzc2VydF9pc19sYXp5X29iamVjdChvYmopOgorLSAgICAgICAgYXNzZXJ0IGlzaW5z dGFuY2Uob2JqLCBMYXp5T2JqZWN0KQorLQorLSAgICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBh c3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KG9iaik6CistICAgICAgICBhc3NlcnQgbm90IGlzaW5z dGFuY2Uob2JqLCBMYXp5T2JqZWN0KQorLQorLQorLWNsYXNzIFRlc3RMYXp5RGljdChvYmplY3Qp OgorLSAgICB0aGVvcnkgPSBMYXp5RGljdFRoZW9yeQorLQorLSAgICBkZWYgdGVzdF91bmtub3du X2l0ZW1fYWNjZXNzX19zaG91bGRfcmFpc2Vfa2V5ZXJyb3Ioc2VsZik6CistICAgICAgICBsYXp5 X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogNDJ9KQorLSAgICAgICAgaXRlbV9hY2Nlc3MgPSBs YW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQorLSAgICAgICAgYXNzZXJ0X3JhaXNlcyhLZXlFcnJv ciwgaXRlbV9hY2Nlc3MsICJ1bmtub3duIikKKy0KKy0gICAgZGVmIHRlc3RfcGxhaW5faXRlbV9h Y2Nlc3NfX3Nob3VsZF9zdWNjZWVkKHNlbGYpOgorLSAgICAgICAgdGhlb3J5ID0gTGF6eURpY3RU aGVvcnkKKy0gICAgICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsiYWxpY2UiOiA0Mn0pCistICAg ICAgICB0aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbm90X2xhenkobGF6eV9kaWN0LCAiYWxpY2UiKQor LQorLSAgICAgICAgdmFsdWUgPSBsYXp5X2RpY3RbImFsaWNlIl0KKy0gICAgICAgIGVxXyh2YWx1 ZSwgNDIpCistCistICAgIGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nlc3NfX3Nob3VsZF9sb2FkX29i amVjdChzZWxmKToKKy0gICAgICAgIEltcG9ydE1vZHVsZVRoZW9yeS5lbnN1cmVfbW9kdWxlX2lz X25vdF9pbXBvcnRlZCgiaW5zcGVjdCIpCistICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7 ImFsaWNlIjogTGF6eU9iamVjdCgiaW5zcGVjdDppc21vZHVsZSIpfSkKKy0gICAgICAgIHNlbGYu dGhlb3J5LmFzc2VydF9pdGVtX2lzX2xhenkobGF6eV9kaWN0LCAiYWxpY2UiKQorLSAgICAgICAg c2VsZi50aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbGF6eShsYXp5X2RpY3QsICJhbGljZSIpCistCist ICAgICAgICB2YWx1ZSA9IGxhenlfZGljdFsiYWxpY2UiXQorLSAgICAgICAgc2VsZi50aGVvcnku YXNzZXJ0X2lzX25vdF9sYXp5X29iamVjdCh2YWx1ZSkKKy0gICAgICAgIHNlbGYudGhlb3J5LmFz c2VydF9pdGVtX2lzX25vdF9sYXp5KGxhenlfZGljdCwgImFsaWNlIikKKy0KKy0gICAgZGVmIHRl c3RfbGF6eV9pdGVtX2FjY2Vzc19fc2hvdWxkX2ZhaWxfd2l0aF91bmtub3duX21vZHVsZShzZWxm KToKKy0gICAgICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsiYm9iIjogTGF6eU9iamVjdCgiX191 bmtub3duX21vZHVsZV9fIiwgInh4eCIpfSkKKy0gICAgICAgIGl0ZW1fYWNjZXNzID0gbGFtYmRh IGtleTogbGF6eV9kaWN0W2tleV0KKy0gICAgICAgIGFzc2VydF9yYWlzZXMoSW1wb3J0RXJyb3Is IGl0ZW1fYWNjZXNzLCAiYm9iIikKKy0KKy0gICAgZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vzc19f c2hvdWxkX2ZhaWxfd2l0aF91bmtub3duX29iamVjdChzZWxmKToKKy0gICAgICAgIGxhenlfZGlj dCA9IExhenlEaWN0KHsKKy0gICAgICAgICAgICAiYm9iIjogTGF6eU9iamVjdCgiYmVoYXZlLmlt cG9ydGVyIiwgIlhVbmtub3duIikKKy0gICAgICAgIH0pCistICAgICAgICBpdGVtX2FjY2VzcyA9 IGxhbWJkYSBrZXk6IGxhenlfZGljdFtrZXldCistICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9y dEVycm9yLCBpdGVtX2FjY2VzcywgImJvYiIpCitkaWZmIC0tZ2l0IGEvdGVzdC9faW1wb3J0ZXJf Y2FuZGlkYXRlLnB5IGIvdGVzdHMvdW5pdC9faW1wb3J0ZXJfY2FuZGlkYXRlLnB5CitzaW1pbGFy aXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIHRlc3QvX2ltcG9ydGVyX2NhbmRpZGF0ZS5weQor cmVuYW1lIHRvIHRlc3RzL3VuaXQvX2ltcG9ydGVyX2NhbmRpZGF0ZS5weQorZGlmZiAtLWdpdCBh L3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5IGIvdGVzdHMvdW5pdC9yZXBvcnRl ci90ZXN0X3N1bW1hcnkucHkKK2luZGV4IGQ0ZTg1YjUuLjZiOTQ3YmQgMTAwNjQ0CistLS0gYS90 ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weQorKysrIGIvdGVzdHMvdW5pdC9yZXBv cnRlci90ZXN0X3N1bW1hcnkucHkKK0BAIC00LDggKzQsNiBAQCBmcm9tIF9fZnV0dXJlX18gaW1w b3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24KKyBpbXBvcnQgc3lzCisgaW1wb3J0IHB5dGVz dAorIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKy0jIE5PVC1ORUVERUQ6IGZyb20gbm9z ZS50b29scyBpbXBvcnQgKgorLQorIGZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBTY2VuYXJpb091 dGxpbmUsIFNjZW5hcmlvCisgZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3RhdHVzCisg ZnJvbSBiZWhhdmUucmVwb3J0ZXIuc3VtbWFyeSBpbXBvcnQgU3VtbWFyeVJlcG9ydGVyLCBmb3Jt YXRfc3VtbWFyeQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90 YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weSBiL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVz dF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weQoraW5kZXggNjE5YzcxMC4uNTZmYjg1ZCAxMDA2 NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92 MV9wYXJ0MS5weQorKysrIGIvdGVzdHMvdW5pdC90YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHBy ZXNzaW9uX3YxX3BhcnQxLnB5CitAQCAtMiw3ICsyLDcgQEAKKyAKKyBmcm9tIF9fZnV0dXJlX18g aW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGZyb20gYmVoYXZlLnRhZ19leHByZXNzaW9uIGltcG9y dCBUYWdFeHByZXNzaW9uCistZnJvbSBub3NlIGltcG9ydCB0b29scworK2ltcG9ydCBweXRlc3QK KyBpbXBvcnQgdW5pdHRlc3QKKyAKKyAKK0BAIC00NzYsMzEgKzQ3NiwzNCBAQCBjbGFzcyBUZXN0 VGFnRXhwcmVzc2lvbkZvbzNPck5vdEJhcjRBbmRaYXA1KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAg ICAgICAgIHNlbGYuZSA9IFRhZ0V4cHJlc3Npb24oWydmb286MywtYmFyJywgJ3phcDo1J10pCisg CisgICAgIGRlZiB0ZXN0X3Nob3VsZF9jb3VudF90YWdzX2Zvcl9wb3NpdGl2ZV90YWdzKHNlbGYp OgorLSAgICAgICAgdG9vbHMuZXFfKHNlbGYuZS5saW1pdHMsIHsnZm9vJzogMywgJ3phcCc6IDV9 KQorKyAgICAgICAgYXNzZXJ0IHNlbGYuZS5saW1pdHMgPT0geydmb28nOiAzLCAnemFwJzogNX0K KyAKKyAgICAgZGVmIHRlc3Rfc2hvdWxkX21hdGNoX2Zvb196YXAoc2VsZik6CisgICAgICAgICBh c3NlcnQgc2VsZi5lLmNoZWNrKFsnZm9vJywgJ3phcCddKQorIAorKworIGNsYXNzIFRlc3RUYWdF eHByZXNzaW9uUGFyc2luZyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIGRlZiBzZXRVcChzZWxm KToKKyAgICAgICAgIHNlbGYuZSA9IFRhZ0V4cHJlc3Npb24oWycgZm9vOjMgLCAtYmFyICcsICcg emFwOjUgJ10pCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9oYXZlX2xpbWl0cyhzZWxmKToKKy0g ICAgICAgIHRvb2xzLmVxXyhzZWxmLmUubGltaXRzLCB7J3phcCc6IDUsICdmb28nOiAzfSkKKysg ICAgICAgIGFzc2VydCBzZWxmLmUubGltaXRzID09IHsnemFwJzogNSwgJ2Zvbyc6IDN9CisrCisg CisgY2xhc3MgVGVzdFRhZ0V4cHJlc3Npb25UYWdMaW1pdHModW5pdHRlc3QuVGVzdENhc2UpOgor ICAgICBkZWYgdGVzdF9zaG91bGRfYmVfY291bnRlZF9mb3JfbmVnYXRpdmVfdGFncyhzZWxmKToK KyAgICAgICAgIGUgPSBUYWdFeHByZXNzaW9uKFsnLXRvZG86MyddKQorLSAgICAgICAgdG9vbHMu ZXFfKGUubGltaXRzLCB7J3RvZG8nOiAzfSkKKysgICAgICAgIGFzc2VydCBlLmxpbWl0cyA9PSB7 J3RvZG8nOiAzfQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfYmVfY291bnRlZF9mb3JfcG9zaXRp dmVfdGFncyhzZWxmKToKKyAgICAgICAgIGUgPSBUYWdFeHByZXNzaW9uKFsndG9kbzozJ10pCist ICAgICAgICB0b29scy5lcV8oZS5saW1pdHMsIHsndG9kbyc6IDN9KQorKyAgICAgICAgYXNzZXJ0 IGUubGltaXRzID09IHsndG9kbyc6IDN9CisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9yYWlzZV9h bl9lcnJvcl9mb3JfaW5jb25zaXN0ZW50X2xpbWl0cyhzZWxmKToKKy0gICAgICAgIHRvb2xzLmFz c2VydF9yYWlzZXMoRXhjZXB0aW9uLCBUYWdFeHByZXNzaW9uLCBbJ3RvZG86MycsICctdG9kbzo0 J10pCisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoRXhjZXB0aW9uKToKKysgICAgICAgICAg ICBfID0gVGFnRXhwcmVzc2lvbihbJ3RvZG86MycsICctdG9kbzo0J10pCisgCisgICAgIGRlZiB0 ZXN0X3Nob3VsZF9hbGxvd19kdXBsaWNhdGVfY29uc2lzdGVudF9saW1pdHMoc2VsZik6CisgICAg ICAgICBlID0gVGFnRXhwcmVzc2lvbihbJ3RvZG86MycsICctdG9kbzozJ10pCistICAgICAgICB0 b29scy5lcV8oZS5saW1pdHMsIHsndG9kbyc6IDN9KQorKyAgICAgICAgYXNzZXJ0IGUubGltaXRz ID09IHsndG9kbyc6IDN9CisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90YWdfZXhwcmVzc2lv bi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3BhcnQyLnB5IGIvdGVzdHMvdW5pdC90YWdfZXhwcmVz c2lvbi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3BhcnQyLnB5CitpbmRleCA2OTAyMzViLi5jZjYx OWRhIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHBy ZXNzaW9uX3YxX3BhcnQyLnB5CisrKysgYi90ZXN0cy91bml0L3RhZ19leHByZXNzaW9uL3Rlc3Rf dGFnX2V4cHJlc3Npb25fdjFfcGFydDIucHkKK0BAIC02LDEwICs2LDExIEBAIFJFUVVJUkVTOiBQ eXRob24gPj0gMi42LCBiZWNhdXNlIGl0ZXJ0b29scy5jb21iaW5hdGlvbnMoKSBpcyB1c2VkLgor ICIiIgorIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistZnJvbSBi ZWhhdmUudGFnX2V4cHJlc3Npb24gaW1wb3J0IFRhZ0V4cHJlc3Npb24KKy1mcm9tIG5vc2UgaW1w b3J0IHRvb2xzCisgaW1wb3J0IGl0ZXJ0b29scworIGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5n ZQorK2ltcG9ydCBweXRlc3QKKytmcm9tIGJlaGF2ZS50YWdfZXhwcmVzc2lvbiBpbXBvcnQgVGFn RXhwcmVzc2lvbgorKworIAorIGhhc19jb21iaW5hdGlvbnMgPSBoYXNhdHRyKGl0ZXJ0b29scywg ImNvbWJpbmF0aW9ucyIpCisgaWYgaGFzX2NvbWJpbmF0aW9uczoKK0BAIC0zMSw2ICszMiw3IEBA IGlmIGhhc19jb21iaW5hdGlvbnM6CisgICAgICAgICAgICAgcmV0dXJuICJAIiArICIgQCIuam9p bih0YWdzKQorICAgICAgICAgcmV0dXJuIE5PX1RBR1MKKyAKKysKKyAgICAgVGVzdENhc2UgPSBv YmplY3QKKyAgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICMgVEVTVDogYWxsX2NvbWJp bmF0aW9ucygpIHRlc3QgaGVscGVyCitAQCAtNDUsOCArNDcsOCBAQCBpZiBoYXNfY29tYmluYXRp b25zOgorICAgICAgICAgICAgICAgICAoJ0BvbmUnLCAnQHR3bycpLAorICAgICAgICAgICAgIF0K KyAgICAgICAgICAgICBhY3R1YWwgPSBhbGxfY29tYmluYXRpb25zKGl0ZW1zKQorLSAgICAgICAg ICAgIHRvb2xzLmVxXyhhY3R1YWwsIGV4cGVjdGVkKQorLSAgICAgICAgICAgIHRvb2xzLmVxXyhs ZW4oYWN0dWFsKSwgNCkKKysgICAgICAgICAgICBhc3NlcnQgYWN0dWFsID09IGV4cGVjdGVkCisr ICAgICAgICAgICAgYXNzZXJ0IGxlbihhY3R1YWwpID09IDQKKyAKKyAgICAgICAgIGRlZiB0ZXN0 X2FsbF9jb21iaW5hdGlvbnNfd2l0aF8zdmFsdWVzKHNlbGYpOgorICAgICAgICAgICAgIGl0ZW1z ID0gIkBvbmUgQHR3byBAdGhyZWUiLnNwbGl0KCkKK0BAIC02MSw4ICs2Myw4IEBAIGlmIGhhc19j b21iaW5hdGlvbnM6CisgICAgICAgICAgICAgICAgICgnQG9uZScsICdAdHdvJywgJ0B0aHJlZScp LAorICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICBhY3R1YWwgPSBhbGxfY29tYmluYXRpb25z KGl0ZW1zKQorLSAgICAgICAgICAgIHRvb2xzLmVxXyhhY3R1YWwsIGV4cGVjdGVkKQorLSAgICAg ICAgICAgIHRvb2xzLmVxXyhsZW4oYWN0dWFsKSwgOCkKKysgICAgICAgICAgICBhc3NlcnQgYWN0 dWFsID09IGV4cGVjdGVkCisrICAgICAgICAgICAgYXNzZXJ0IGxlbihhY3R1YWwpID09IDgKKyAK KyAKKyAgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtNzQsMTMgKzc2LDEzIEBAIGlmIGhh c19jb21iaW5hdGlvbnM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGFnX2NvbWJpbmF0aW9ucywgZXhwZWN0ZWQpOgorICAgICAgICAgICAgIG1hdGNoZWQgPSBb IG1ha2VfdGFnc19saW5lKGMpIGZvciBjIGluIHRhZ19jb21iaW5hdGlvbnMKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIHRhZ19leHByZXNzaW9uLmNoZWNrKGMpIF0KKy0gICAg ICAgICAgICB0b29scy5lcV8obWF0Y2hlZCwgZXhwZWN0ZWQpCisrICAgICAgICAgICAgYXNzZXJ0 IG1hdGNoZWQgPT0gZXhwZWN0ZWQKKyAKKyAgICAgICAgIGRlZiBhc3NlcnRfdGFnX2V4cHJlc3Np b25fbWlzbWF0Y2hlcyhzZWxmLCB0YWdfZXhwcmVzc2lvbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ19jb21iaW5hdGlvbnMsIGV4cGVjdGVkKToKKyAg ICAgICAgICAgICBtaXNtYXRjaGVkID0gWyBtYWtlX3RhZ3NfbGluZShjKSBmb3IgYyBpbiB0YWdf Y29tYmluYXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgdGFn X2V4cHJlc3Npb24uY2hlY2soYykgXQorLSAgICAgICAgICAgIHRvb2xzLmVxXyhtaXNtYXRjaGVk LCBleHBlY3RlZCkKKysgICAgICAgICAgICBhc3NlcnQgbWlzbWF0Y2hlZCA9PSBleHBlY3RlZAor IAorIAorICAgICBjbGFzcyBUZXN0VGFnRXhwcmVzc2lvbldpdGgxVGVybShUYWdFeHByZXNzaW9u VGVzdENhc2UpOgorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9hbnNpX2VzY2FwZXMucHkgYi90ZXN0 cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5CitzaW1pbGFyaXR5IGluZGV4IDg0JQorcmVuYW1l IGZyb20gdGVzdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVz dF9hbnNpX2VzY2FwZXMucHkKK2luZGV4IDc3NTY0ZmQuLjk2OWYzYTkgMTAwNjQ0CistLS0gYS90 ZXN0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2Nh cGVzLnB5CitAQCAtNyw3ICs3LDcgQEAKKyAjICAgVzA2MjEgICBSZWRlZmluaW5nIG5hbWUgLi4u IGZyb20gb3V0ZXIgc2NvcGUKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2lt cG9ydAorLWZyb20gbm9zZSBpbXBvcnQgdG9vbHMKKytpbXBvcnQgcHl0ZXN0CisgZnJvbSBiZWhh dmUuZm9ybWF0dGVyIGltcG9ydCBhbnNpX2VzY2FwZXMKKyBpbXBvcnQgdW5pdHRlc3QKKyBmcm9t IHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKK0BAIC00NCwzMCArNDQsMzAgQEAgY2xhc3MgU3RyaXBF c2NhcGVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9y ZXR1cm5fc2FtZV90ZXh0X3dpdGhvdXRfZXNjYXBlcyhzZWxmKToKKyAgICAgICAgIGZvciB0ZXh0 IGluIHNlbGYuVEVYVFM6CistICAgICAgICAgICAgdG9vbHMuZXFfKHRleHQsIGFuc2lfZXNjYXBl cy5zdHJpcF9lc2NhcGVzKHRleHQpKQorKyAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lf ZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1 cm5fZW1wdHlfc3RyaW5nX2Zvcl9hbnlfYW5zaV9lc2NhcGUoc2VsZik6CisgICAgICAgICAjIFhY WC1KRS1DSEVDSy1QWTIzOiBJZiBsaXN0KCkgaXMgcmVhbGx5IG5lZWRlZC4KKyAgICAgICAgIGZv ciB0ZXh0IGluIGxpc3QoYW5zaV9lc2NhcGVzLmNvbG9ycy52YWx1ZXMoKSk6CistICAgICAgICAg ICAgdG9vbHMuZXFfKCIiLCBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KSkKKysgICAg ICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKyAg ICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5zaV9lc2NhcGVzLmVzY2FwZXMudmFsdWVzKCkpOgor LSAgICAgICAgICAgIHRvb2xzLmVxXygiIiwgYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4 dCkpCisrICAgICAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVz KHRleHQpCisgCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9jb2xvcl9lc2NhcGVzX2Zy b21fdGV4dChzZWxmKToKKyAgICAgICAgIGZvciB0ZXh0IGluIHNlbGYuVEVYVFM6CisgICAgICAg ICAgICAgY29sb3JlZF90ZXh0ID0gc2VsZi5jb2xvcml6ZV90ZXh0KHRleHQsIHNlbGYuQUxMX0NP TE9SUykKKy0gICAgICAgICAgICB0b29scy5lcV8odGV4dCwgYW5zaV9lc2NhcGVzLnN0cmlwX2Vz Y2FwZXMoY29sb3JlZF90ZXh0KSkKKysgICAgICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2Vz Y2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCisgICAgICAgICAgICAgc2VsZi5hc3Nl cnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQpCisgCisgICAgICAgICAgICAgZm9yIGNvbG9y IGluIHNlbGYuQUxMX0NPTE9SUzoKKyAgICAgICAgICAgICAgICAgY29sb3JlZF90ZXh0ID0gc2Vs Zi5jb2xvcml6ZSh0ZXh0LCBjb2xvcikKKy0gICAgICAgICAgICAgICAgdG9vbHMuZXFfKHRleHQs IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkpCisrICAgICAgICAgICAg ICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4 dCkKKyAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3Rl eHQpCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9jdXJzb3JfdXBfZXNjYXBlc19mcm9t X3RleHQoc2VsZik6CisgICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRTOgorICAgICAgICAg ICAgIGZvciBjdXJzb3JfdXAgaW4gc2VsZi5DVVJTT1JfVVBTOgorICAgICAgICAgICAgICAgICBj b2xvcmVkX3RleHQgPSBjdXJzb3JfdXAgKyB0ZXh0ICsgYW5zaV9lc2NhcGVzLmVzY2FwZXNbInJl c2V0Il0KKy0gICAgICAgICAgICAgICAgdG9vbHMuZXFfKHRleHQsIGFuc2lfZXNjYXBlcy5zdHJp cF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkpCisrICAgICAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09 IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKyAgICAgICAgICAgICAg ICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQpCitkaWZmIC0tZ2l0IGEv dGVzdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkgYi90ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlv bi5weQorc2ltaWxhcml0eSBpbmRleCA3MiUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9jb25maWd1 cmF0aW9uLnB5CityZW5hbWUgdG8gdGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKK2lu ZGV4IGU2ODI4ZTMuLmM5NmNmNjMgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfY29uZmlndXJhdGlv bi5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKK0BAIC0yLDcgKzIs NyBAQCBpbXBvcnQgb3MucGF0aAorIGltcG9ydCBzeXMKKyBpbXBvcnQgdGVtcGZpbGUKKyBpbXBv cnQgc2l4CistZnJvbSBub3NlLnRvb2xzIGltcG9ydCAqCisraW1wb3J0IHB5dGVzdAorIGZyb20g YmVoYXZlIGltcG9ydCBjb25maWd1cmF0aW9uCisgZnJvbSBiZWhhdmUuY29uZmlndXJhdGlvbiBp bXBvcnQgQ29uZmlndXJhdGlvbiwgVXNlckRhdGEKKyBmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0 Q2FzZQorQEAgLTM2LDYgKzM2LDcgQEAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoIndpbiIp OgorICAgICAgICAgUk9PVERJUl9QUkVGSVhfREVGQVVMVCA9IFJPT1RESVJfUFJFRklYX0RFRkFV TFQubG93ZXIoKQorICAgICBST09URElSX1BSRUZJWCA9IG9zLmVudmlyb24uZ2V0KCJCRUhBVkVf Uk9PVERJUl9QUkVGSVgiLCBST09URElSX1BSRUZJWF9ERUZBVUxUKQorIAorKworIGNsYXNzIFRl c3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgCisgICAgIGRlZiB0ZXN0X3JlYWRfZmlsZShzZWxm KToKK0BAIC00NiwxOSArNDcsMTkgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb24ob2JqZWN0KToK KyAKKyAgICAgICAgICMgLS0gV0lORE9XUy1SRVFVSVJFUzogbm9ybXBhdGgKKyAgICAgICAgIGQg PSBjb25maWd1cmF0aW9uLnJlYWRfY29uZmlndXJhdGlvbih0bikKKy0gICAgICAgIGVxXyhkWyJv dXRmaWxlcyJdLCBbCisrICAgICAgICBhc3NlcnQgZFsib3V0ZmlsZXMiXSA9PVsKKyAgICAgICAg ICAgICBvcy5wYXRoLm5vcm1wYXRoKFJPT1RESVJfUFJFRklYICsgIi9hYnNvbHV0ZS9wYXRoMSIp LAorICAgICAgICAgICAgIG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKHRuZGlyLCAicmVs YXRpdmUvcGF0aDIiKSksCistICAgICAgICBdKQorLSAgICAgICAgZXFfKGRbInBhdGhzIl0sIFsK KysgICAgICAgIF0KKysgICAgICAgIGFzc2VydCBkWyJwYXRocyJdID09IFsKKyAgICAgICAgICAg ICBvcy5wYXRoLm5vcm1wYXRoKFJPT1RESVJfUFJFRklYICsgIi9hYnNvbHV0ZS9wYXRoMyIpLAor ICAgICAgICAgICAgIG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKHRuZGlyLCAicmVsYXRp dmUvcGF0aDQiKSksCistICAgICAgICAgICAgXSkKKy0gICAgICAgIGVxXyhkWyJmb3JtYXQiXSwg WyJwcmV0dHkiLCAidGFnLWNvdW50ZXIiXSkKKy0gICAgICAgIGVxXyhkWyJkZWZhdWx0X3RhZ3Mi XSwgWyJAZm9vLH5AYmFyIiwgIkB6YXAiXSkKKy0gICAgICAgIGVxXyhkWyJzdGRvdXRfY2FwdHVy ZSJdLCBGYWxzZSkKKy0gICAgICAgIG9rXygiYm9ndXMiIG5vdCBpbiBkKQorLSAgICAgICAgZXFf KGRbInVzZXJkYXRhIl0sIHsiZm9vIjogImJhciIsICJhbnN3ZXIiOiAiNDIifSkKKysgICAgICAg ICAgICBdCisrICAgICAgICBhc3NlcnQgZFsiZm9ybWF0Il0gPT0gWyJwcmV0dHkiLCAidGFnLWNv dW50ZXIiXQorKyAgICAgICAgYXNzZXJ0IGRbImRlZmF1bHRfdGFncyJdID09IFsiQGZvbyx+QGJh ciIsICJAemFwIl0KKysgICAgICAgIGFzc2VydCBkWyJzdGRvdXRfY2FwdHVyZSJdID09IEZhbHNl CisrICAgICAgICBhc3NlcnQgImJvZ3VzIiBub3QgaW4gZAorKyAgICAgICAgYXNzZXJ0IGRbInVz ZXJkYXRhIl0gPT0geyJmb28iOiAiYmFyIiwgImFuc3dlciI6ICI0MiJ9CisgCisgICAgIGRlZiBl bnN1cmVfc3RhZ2VfZW52aXJvbm1lbnRfaXNfbm90X3NldChzZWxmKToKKyAgICAgICAgIGlmICJC RUhBVkVfU1RBR0UiIGluIG9zLmVudmlyb246CitAQCAtNjksMjYgKzcwLDI2IEBAIGNsYXNzIFRl c3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgICAgICAgICBzZWxmLmVuc3VyZV9zdGFnZV9lbnZp cm9ubWVudF9pc19ub3Rfc2V0KCkKKyAgICAgICAgIGFzc2VydCAiQkVIQVZFX1NUQUdFIiBub3Qg aW4gb3MuZW52aXJvbgorICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbigiIikKKy0gICAg ICAgIGVxXygic3RlcHMiLCBjb25maWcuc3RlcHNfZGlyKQorLSAgICAgICAgZXFfKCJlbnZpcm9u bWVudC5weSIsIGNvbmZpZy5lbnZpcm9ubWVudF9maWxlKQorKyAgICAgICAgYXNzZXJ0ICJzdGVw cyIgPT0gY29uZmlnLnN0ZXBzX2RpcgorKyAgICAgICAgYXNzZXJ0ICJlbnZpcm9ubWVudC5weSIg PT0gY29uZmlnLmVudmlyb25tZW50X2ZpbGUKKyAKKyAgICAgZGVmIHRlc3Rfc2V0dGluZ3Nfd2l0 aF9zdGFnZShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oWyItLXN0YWdl PVNUQUdFMSJdKQorLSAgICAgICAgZXFfKCJTVEFHRTFfc3RlcHMiLCBjb25maWcuc3RlcHNfZGly KQorLSAgICAgICAgZXFfKCJTVEFHRTFfZW52aXJvbm1lbnQucHkiLCBjb25maWcuZW52aXJvbm1l bnRfZmlsZSkKKysgICAgICAgIGFzc2VydCAiU1RBR0UxX3N0ZXBzIiA9PSBjb25maWcuc3RlcHNf ZGlyCisrICAgICAgICBhc3NlcnQgIlNUQUdFMV9lbnZpcm9ubWVudC5weSIgPT0gY29uZmlnLmVu dmlyb25tZW50X2ZpbGUKKyAKKyAgICAgZGVmIHRlc3Rfc2V0dGluZ3Nfd2l0aF9zdGFnZV9hbmRf ZW52dmFyKHNlbGYpOgorICAgICAgICAgb3MuZW52aXJvblsiQkVIQVZFX1NUQUdFIl0gPSAiU1RB R0UyIgorICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbihbIi0tc3RhZ2U9U1RBR0UxIl0p CistICAgICAgICBlcV8oIlNUQUdFMV9zdGVwcyIsIGNvbmZpZy5zdGVwc19kaXIpCistICAgICAg ICBlcV8oIlNUQUdFMV9lbnZpcm9ubWVudC5weSIsIGNvbmZpZy5lbnZpcm9ubWVudF9maWxlKQor KyAgICAgICAgYXNzZXJ0ICJTVEFHRTFfc3RlcHMiID09IGNvbmZpZy5zdGVwc19kaXIKKysgICAg ICAgIGFzc2VydCAiU1RBR0UxX2Vudmlyb25tZW50LnB5IiA9PSBjb25maWcuZW52aXJvbm1lbnRf ZmlsZQorICAgICAgICAgZGVsIG9zLmVudmlyb25bIkJFSEFWRV9TVEFHRSJdCisgCisgICAgIGRl ZiB0ZXN0X3NldHRpbmdzX3dpdGhfc3RhZ2VfZnJvbV9lbnZ2YXIoc2VsZik6CisgICAgICAgICBv cy5lbnZpcm9uWyJCRUhBVkVfU1RBR0UiXSA9ICJTVEFHRTIiCisgICAgICAgICBjb25maWcgPSBD b25maWd1cmF0aW9uKCIiKQorLSAgICAgICAgZXFfKCJTVEFHRTJfc3RlcHMiLCBjb25maWcuc3Rl cHNfZGlyKQorLSAgICAgICAgZXFfKCJTVEFHRTJfZW52aXJvbm1lbnQucHkiLCBjb25maWcuZW52 aXJvbm1lbnRfZmlsZSkKKysgICAgICAgIGFzc2VydCAiU1RBR0UyX3N0ZXBzIiA9PSBjb25maWcu c3RlcHNfZGlyCisrICAgICAgICBhc3NlcnQgIlNUQUdFMl9lbnZpcm9ubWVudC5weSIgPT0gY29u ZmlnLmVudmlyb25tZW50X2ZpbGUKKyAgICAgICAgIGRlbCBvcy5lbnZpcm9uWyJCRUhBVkVfU1RB R0UiXQorIAorIAorQEAgLTEwMSwzMyArMTAyLDMzIEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9u VXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAgICAgICItLWRlZmluZT1iYXI9YmFyX3ZhbHVl IiwKKyAgICAgICAgICAgICAiLS1kZWZpbmUiLCAiYmF6PUJBWl9WQUxVRSIsCisgICAgICAgICBd KQorLSAgICAgICAgZXFfKCJmb29fdmFsdWUiLCBjb25maWcudXNlcmRhdGFbImZvbyJdKQorLSAg ICAgICAgZXFfKCJiYXJfdmFsdWUiLCBjb25maWcudXNlcmRhdGFbImJhciJdKQorLSAgICAgICAg ZXFfKCJCQVpfVkFMVUUiLCBjb25maWcudXNlcmRhdGFbImJheiJdKQorKyAgICAgICAgYXNzZXJ0 ICJmb29fdmFsdWUiID09IGNvbmZpZy51c2VyZGF0YVsiZm9vIl0KKysgICAgICAgIGFzc2VydCAi YmFyX3ZhbHVlIiA9PSBjb25maWcudXNlcmRhdGFbImJhciJdCisrICAgICAgICBhc3NlcnQgIkJB Wl9WQUxVRSIgPT0gY29uZmlnLnVzZXJkYXRhWyJiYXoiXQorIAorICAgICBkZWYgdGVzdF9jbWRs aW5lX2RlZmluZXNfb3ZlcnJpZGVfY29uZmlnZmlsZShzZWxmKToKKyAgICAgICAgIHVzZXJkYXRh X2luaXQgPSB7ImZvbyI6ICJYWFgiLCAiYmFyIjogIlpaWiIsICJiYXoiOiA0Mn0KKyAgICAgICAg IGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oCisgICAgICAgICAgICAgICAgICAgICAiLUQgZm9vPWZv b192YWx1ZSAtLWRlZmluZSBiYXI9MTIzIiwKKyAgICAgICAgICAgICAgICAgICAgIGxvYWRfY29u ZmlnPUZhbHNlLCB1c2VyZGF0YT11c2VyZGF0YV9pbml0KQorLSAgICAgICAgZXFfKCJmb29fdmFs dWUiLCBjb25maWcudXNlcmRhdGFbImZvbyJdKQorLSAgICAgICAgZXFfKCIxMjMiLCBjb25maWcu dXNlcmRhdGFbImJhciJdKQorLSAgICAgICAgZXFfKDQyLCBjb25maWcudXNlcmRhdGFbImJheiJd KQorKyAgICAgICAgYXNzZXJ0ICJmb29fdmFsdWUiID09IGNvbmZpZy51c2VyZGF0YVsiZm9vIl0K KysgICAgICAgIGFzc2VydCAiMTIzIiA9PSBjb25maWcudXNlcmRhdGFbImJhciJdCisrICAgICAg ICBhc3NlcnQgNDIgPT0gY29uZmlnLnVzZXJkYXRhWyJiYXoiXQorIAorICAgICBkZWYgdGVzdF9j bWRsaW5lX2RlZmluZXNfd2l0aG91dF92YWx1ZV9hcmVfdHJ1ZShzZWxmKToKKyAgICAgICAgIGNv bmZpZyA9IENvbmZpZ3VyYXRpb24oIi1EIGZvbyAtLWRlZmluZSBiYXIgLURiYXoiKQorLSAgICAg ICAgZXFfKCJ0cnVlIiwgY29uZmlnLnVzZXJkYXRhWyJmb28iXSkKKy0gICAgICAgIGVxXygidHJ1 ZSIsIGNvbmZpZy51c2VyZGF0YVsiYmFyIl0pCistICAgICAgICBlcV8oInRydWUiLCBjb25maWcu dXNlcmRhdGFbImJheiJdKQorLSAgICAgICAgZXFfKFRydWUsIGNvbmZpZy51c2VyZGF0YS5nZXRi b29sKCJmb28iKSkKKysgICAgICAgIGFzc2VydCAidHJ1ZSIgPT0gY29uZmlnLnVzZXJkYXRhWyJm b28iXQorKyAgICAgICAgYXNzZXJ0ICJ0cnVlIiA9PSBjb25maWcudXNlcmRhdGFbImJhciJdCisr ICAgICAgICBhc3NlcnQgInRydWUiID09IGNvbmZpZy51c2VyZGF0YVsiYmF6Il0KKysgICAgICAg IGFzc2VydCBUcnVlID09IGNvbmZpZy51c2VyZGF0YS5nZXRib29sKCJmb28iKQorIAorICAgICBk ZWYgdGVzdF9jbWRsaW5lX2RlZmluZXNfd2l0aF9lbXB0eV92YWx1ZShzZWxmKToKKyAgICAgICAg IGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIi1EIGZvbz0iKQorLSAgICAgICAgZXFfKCIiLCBjb25m aWcudXNlcmRhdGFbImZvbyJdKQorKyAgICAgICAgYXNzZXJ0ICIiID09IGNvbmZpZy51c2VyZGF0 YVsiZm9vIl0KKyAKKyAgICAgZGVmIHRlc3RfY21kbGluZV9kZWZpbmVzX3dpdGhfYXNzaWduX2No YXJhY3Rlcl9hc192YWx1ZShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24o Ii1EIGZvbz1iYXI9YmF6IikKKy0gICAgICAgIGVxXygiYmFyPWJheiIsIGNvbmZpZy51c2VyZGF0 YVsiZm9vIl0pCisrICAgICAgICBhc3NlcnQgImJhcj1iYXoiID09IGNvbmZpZy51c2VyZGF0YVsi Zm9vIl0KKyAKKyAgICAgZGVmIHRlc3RfY21kbGluZV9kZWZpbmVzX193aXRoX3F1b3RlZF9uYW1l X3ZhbHVlX3BhaXIoc2VsZik6CisgICAgICAgICBjbWRsaW5lcyA9IFsKK0BAIC0xMzYsNyArMTM3 LDcgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25Vc2VyRGF0YShUZXN0Q2FzZSk6CisgICAgICAg ICBdCisgICAgICAgICBmb3IgY21kbGluZSBpbiBjbWRsaW5lczoKKyAgICAgICAgICAgICBjb25m aWcgPSBDb25maWd1cmF0aW9uKGNtZGxpbmUsIGxvYWRfY29uZmlnPUZhbHNlKQorLSAgICAgICAg ICAgIGVxXyhjb25maWcudXNlcmRhdGEsIGRpY3QocGVyc29uPSJBbGljZSBhbmQgQm9iIikpCisr ICAgICAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YSA9PSBkaWN0KHBlcnNvbj0iQWxpY2Ug YW5kIEJvYiIpCisgCisgICAgIGRlZiB0ZXN0X2NtZGxpbmVfZGVmaW5lc19fd2l0aF9xdW90ZWRf dmFsdWUoc2VsZik6CisgICAgICAgICBjbWRsaW5lcyA9IFsKK0BAIC0xNDUsNyArMTQ2LDcgQEAg Y2xhc3MgVGVzdENvbmZpZ3VyYXRpb25Vc2VyRGF0YShUZXN0Q2FzZSk6CisgICAgICAgICBdCisg ICAgICAgICBmb3IgY21kbGluZSBpbiBjbWRsaW5lczoKKyAgICAgICAgICAgICBjb25maWcgPSBD b25maWd1cmF0aW9uKGNtZGxpbmUsIGxvYWRfY29uZmlnPUZhbHNlKQorLSAgICAgICAgICAgIGVx Xyhjb25maWcudXNlcmRhdGEsIGRpY3QocGVyc29uPSJBbGljZSBhbmQgQm9iIikpCisrICAgICAg ICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YSA9PSBkaWN0KHBlcnNvbj0iQWxpY2UgYW5kIEJv YiIpCisgCisgICAgIGRlZiB0ZXN0X3NldHVwX3VzZXJkYXRhKHNlbGYpOgorICAgICAgICAgY29u ZmlnID0gQ29uZmlndXJhdGlvbigiIiwgbG9hZF9jb25maWc9RmFsc2UpCitAQCAtMTU0LDcgKzE1 NSw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAg ICAgY29uZmlnLnNldHVwX3VzZXJkYXRhKCkKKyAKKyAgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBk aWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVyc29uMj0iQ2hhcmx5IikKKy0gICAgICAgIGVxXyhjb25m aWcudXNlcmRhdGEsIGV4cGVjdGVkX2RhdGEpCisrICAgICAgICBhc3NlcnQgY29uZmlnLnVzZXJk YXRhID09IGV4cGVjdGVkX2RhdGEKKyAKKyAgICAgZGVmIHRlc3RfdXBkYXRlX3VzZXJkYXRhX193 aXRoX2NtZGxpbmVfZGVmaW5lcyhzZWxmKToKKyAgICAgICAgICMgLS0gTk9URTogY21kbGluZSBk ZWZpbmVzIGFyZSByZWFwcGxpZWQuCitAQCAtMTYzLDggKzE2NCw4IEBAIGNsYXNzIFRlc3RDb25m aWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAgY29uZmlnLnVwZGF0ZV91c2Vy ZGF0YShkaWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVyc29uMj0iQm9iIikpCisgCisgICAgICAgICBl eHBlY3RlZF9kYXRhID0gZGljdChwZXJzb24xPSJBbGljZSIsIHBlcnNvbjI9IkJlYSIsIHBlcnNv bjM9IkNoYXJseSIpCistICAgICAgICBlcV8oY29uZmlnLnVzZXJkYXRhLCBleHBlY3RlZF9kYXRh KQorLSAgICAgICAgZXFfKGNvbmZpZy51c2VyZGF0YV9kZWZpbmVzLCBbKCJwZXJzb24yIiwgIkJl YSIpXSkKKysgICAgICAgIGFzc2VydCBjb25maWcudXNlcmRhdGEgPT0gZXhwZWN0ZWRfZGF0YQor KyAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YV9kZWZpbmVzID09IFsoInBlcnNvbjIiLCAi QmVhIildCisgCisgICAgIGRlZiB0ZXN0X3VwZGF0ZV91c2VyZGF0YV9fd2l0aG91dF9jbWRsaW5l X2RlZmluZXMoc2VsZik6CisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKCIiLCBsb2Fk X2NvbmZpZz1GYWxzZSkKK0BAIC0xNzIsNSArMTczLDUgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRp b25Vc2VyRGF0YShUZXN0Q2FzZSk6CisgICAgICAgICBjb25maWcudXBkYXRlX3VzZXJkYXRhKGRp Y3QocGVyc29uMT0iQWxpY2UiLCBwZXJzb24yPSJCb2IiKSkKKyAKKyAgICAgICAgIGV4cGVjdGVk X2RhdGEgPSBkaWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVyc29uMj0iQm9iIiwgcGVyc29uMz0iQ2hh cmx5IikKKy0gICAgICAgIGVxXyhjb25maWcudXNlcmRhdGEsIGV4cGVjdGVkX2RhdGEpCistICAg ICAgICBzZWxmLmFzc2VydEZhbHNlKGNvbmZpZy51c2VyZGF0YV9kZWZpbmVzKQorKyAgICAgICAg YXNzZXJ0IGNvbmZpZy51c2VyZGF0YSA9PSBleHBlY3RlZF9kYXRhCisrICAgICAgICBhc3NlcnQg Y29uZmlnLnVzZXJkYXRhX2RlZmluZXMgaXMgTm9uZQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9m b3JtYXR0ZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyLnB5CitzaW1pbGFyaXR5IGlu ZGV4IDk0JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X2Zvcm1hdHRlci5weQorcmVuYW1lIHRvIHRl c3RzL3VuaXQvdGVzdF9mb3JtYXR0ZXIucHkKK2luZGV4IDQyZTVmMGQuLmMxYTA5NDUgMTAwNjQ0 CistLS0gYS90ZXN0L3Rlc3RfZm9ybWF0dGVyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfZm9y bWF0dGVyLnB5CitAQCAtNiw5ICs2LDggQEAgaW1wb3J0IHN5cworIGltcG9ydCB0ZW1wZmlsZQor IGltcG9ydCB1bml0dGVzdAorIGltcG9ydCBzaXgKKytpbXBvcnQgcHl0ZXN0CisgZnJvbSBtb2Nr IGltcG9ydCBNb2NrLCBwYXRjaAorLWZyb20gbm9zZS50b29scyBpbXBvcnQgKiAgICAjIHB5bGlu dDogZGlzYWJsZT13aWxkY2FyZC1pbXBvcnQsIHVudXNlZC13aWxkY2FyZC1pbXBvcnQKKy0KKyBm cm9tIGJlaGF2ZS5mb3JtYXR0ZXIuX3JlZ2lzdHJ5IGltcG9ydCBtYWtlX2Zvcm1hdHRlcnMKKyBm cm9tIGJlaGF2ZS5mb3JtYXR0ZXIgaW1wb3J0IHByZXR0eQorIGZyb20gYmVoYXZlLmZvcm1hdHRl ci5iYXNlIGltcG9ydCBTdHJlYW1PcGVuZXIKK0BAIC0zNSw3ICszNCw3IEBAIGNsYXNzIFRlc3RH ZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgcGxhdGZvcm0gPSBz eXMucGxhdGZvcm0KKyAgICAgICAgIHN5cy5wbGF0Zm9ybSA9ICJ3aW5kb3dzIgorIAorLSAgICAg ICAgZXFfKHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpLCAoODAsIDI0KSkKKysgICAgICAgIGFz c2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUoKSA9PSAoODAsIDI0KQorIAorICAgICAgICAg c3lzLnBsYXRmb3JtID0gcGxhdGZvcm0KKyAKK0BAIC00Niw3ICs0NSw3IEBAIGNsYXNzIFRlc3RH ZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgZXhjZXB0IEltcG9y dEVycm9yOgorICAgICAgICAgICAgIHBhc3MKKyAKKy0gICAgICAgIGVxXyhwcmV0dHkuZ2V0X3Rl cm1pbmFsX3NpemUoKSwgKDgwLCAyNCkpCisrICAgICAgICBhc3NlcnQgcHJldHR5LmdldF90ZXJt aW5hbF9zaXplKCkgPT0gKDgwLCAyNCkKKyAKKyAgICAgZGVmIHRlc3RfZXhjZXB0aW9uX2luX2lv Y3RsKHNlbGYpOgorICAgICAgICAgdHJ5OgorQEAgLTU5LDcgKzU4LDcgQEAgY2xhc3MgVGVzdEdl dFRlcm1pbmFsU2l6ZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgCisgICAgICAgICBzZWxmLmlvY3Rs LnNpZGVfZWZmZWN0ID0gcmFpc2VyCisgCistICAgICAgICBlcV8ocHJldHR5LmdldF90ZXJtaW5h bF9zaXplKCksICg4MCwgMjQpKQorKyAgICAgICAgYXNzZXJ0IHByZXR0eS5nZXRfdGVybWluYWxf c2l6ZSgpID09ICg4MCwgMjQpCisgICAgICAgICBzZWxmLmlvY3RsLmFzc2VydF9jYWxsZWRfd2l0 aCgwLCB0ZXJtaW9zLlRJT0NHV0lOU1osIHNlbGYuemVyb19zdHJ1Y3QpCisgCisgICAgIGRlZiB0 ZXN0X2hhcHB5X3BhdGgoc2VsZik6CitAQCAtNzAsNyArNjksNyBAQCBjbGFzcyBUZXN0R2V0VGVy bWluYWxTaXplKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAKKyAgICAgICAgIHNlbGYuaW9jdGwucmV0 dXJuX3ZhbHVlID0gc3RydWN0LnBhY2soIkhISEgiLCAxNywgMjMsIDUsIDUpCisgCistICAgICAg ICBlcV8ocHJldHR5LmdldF90ZXJtaW5hbF9zaXplKCksICgyMywgMTcpKQorKyAgICAgICAgYXNz ZXJ0IHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpID09ICgyMywgMTcpCisgICAgICAgICBzZWxm LmlvY3RsLmFzc2VydF9jYWxsZWRfd2l0aCgwLCB0ZXJtaW9zLlRJT0NHV0lOU1osIHNlbGYuemVy b19zdHJ1Y3QpCisgCisgICAgIGRlZiB0ZXN0X3plcm9fc2l6ZV9mYWxsYmFjayhzZWxmKToKK0BA IC04MSw3ICs4MCw3IEBAIGNsYXNzIFRlc3RHZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENh c2UpOgorIAorICAgICAgICAgc2VsZi5pb2N0bC5yZXR1cm5fdmFsdWUgPSBzZWxmLnplcm9fc3Ry dWN0CisgCistICAgICAgICBlcV8ocHJldHR5LmdldF90ZXJtaW5hbF9zaXplKCksICg4MCwgMjQp KQorKyAgICAgICAgYXNzZXJ0IHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpID09ICg4MCwgMjQp CisgICAgICAgICBzZWxmLmlvY3RsLmFzc2VydF9jYWxsZWRfd2l0aCgwLCB0ZXJtaW9zLlRJT0NH V0lOU1osIHNlbGYuemVyb19zdHJ1Y3QpCisgCisgCitAQCAtMjA0LDcgKzIwMyw3IEBAIGNsYXNz IFRlc3RUYWdzQ291bnQoRm9ybWF0dGVyVGVzdHMpOgorICAgICAgICAgcC5mZWF0dXJlKGYpCisg ICAgICAgICBwLnNjZW5hcmlvKHMpCisgCistICAgICAgICBlcV8ocC50YWdfY291bnRzLCB7Imhh bSI6IFtmLCBzXSwgInNwYW0iOiBbZl0sICJmb28iOiBbc119KQorKyAgICAgICAgYXNzZXJ0IHAu dGFnX2NvdW50cyA9PSB7ImhhbSI6IFtmLCBzXSwgInNwYW0iOiBbZl0sICJmb28iOiBbc119Cisg CisgCisgY2xhc3MgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdHMoRm9ybWF0dGVyVGVzdHMpOgorZGlm ZiAtLWdpdCBhL3Rlc3QvdGVzdF9mb3JtYXR0ZXJfcHJvZ3Jlc3MucHkgYi90ZXN0cy91bml0L3Rl c3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5CitzaW1pbGFyaXR5IGluZGV4IDk5JQorcmVuYW1lIGZy b20gdGVzdC90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQv dGVzdF9mb3JtYXR0ZXJfcHJvZ3Jlc3MucHkKK2luZGV4IDI5YzhlNjguLjE5Y2RmNjQgMTAwNjQ0 CistLS0gYS90ZXN0L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5CisrKysgYi90ZXN0cy91bml0 L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5CitAQCAtOSw2ICs5LDcgQEAgZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9tIC50ZXN0X2Zvcm1hdHRlciBpbXBvcnQg Rm9ybWF0dGVyVGVzdHMgYXMgRm9ybWF0dGVyVGVzdAorIGZyb20gLnRlc3RfZm9ybWF0dGVyIGlt cG9ydCBNdWx0aXBsZUZvcm1hdHRlcnNUZXN0cyBhcyBNdWx0aXBsZUZvcm1hdHRlcnNUZXN0Cisg CisrCisgY2xhc3MgVGVzdFNjZW5hcmlvUHJvZ3Jlc3NGb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6 CisgICAgIGZvcm1hdHRlcl9uYW1lID0gInByb2dyZXNzIgorIAorQEAgLTIwLDIwICsyMSwyNiBA QCBjbGFzcyBUZXN0U3RlcFByb2dyZXNzRm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorIGNsYXNz IFRlc3RQcmV0dHlBbmRTY2VuYXJpb1Byb2dyZXNzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgor ICAgICBmb3JtYXR0ZXJzID0gWydwcmV0dHknLCAncHJvZ3Jlc3MnXQorIAorKworIGNsYXNzIFRl c3RQbGFpbkFuZFNjZW5hcmlvUHJvZ3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAg IGZvcm1hdHRlcnMgPSBbJ3BsYWluJywgJ3Byb2dyZXNzJ10KKyAKKysKKyBjbGFzcyBUZXN0SlNP TkFuZFNjZW5hcmlvUHJvZ3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1h dHRlcnMgPSBbJ2pzb24nLCAncHJvZ3Jlc3MnXQorIAorKworIGNsYXNzIFRlc3RQcmV0dHlBbmRT dGVwUHJvZ3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBb J3ByZXR0eScsICdwcm9ncmVzczInXQorIAorKworIGNsYXNzIFRlc3RQbGFpbkFuZFN0ZXBQcm9n cmVzcyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsncGxhaW4n LCAncHJvZ3Jlc3MyJ10KKyAKKysKKyBjbGFzcyBUZXN0SlNPTkFuZFN0ZXBQcm9ncmVzcyhNdWx0 aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsnanNvbicsICdwcm9ncmVz czInXQorIAorKworIGNsYXNzIFRlc3RTY2VuYXJpb1Byb2dyZXNzQW5kU3RlcFByb2dyZXNzKE11 bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWydwcm9ncmVzcycsICdw cm9ncmVzczInXQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkgYi90 ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5CitzaW1pbGFyaXR5IGluZGV4IDk0JQor cmVuYW1lIGZyb20gdGVzdC90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weQorcmVuYW1lIHRvIHRlc3Rz L3VuaXQvdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkKK2luZGV4IDYzNTdmOTIuLjE1NDU4OGYgMTAw NjQ0CistLS0gYS90ZXN0L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5CisrKysgYi90ZXN0cy91bml0 L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5CitAQCAtOCw3ICs4LDcgQEAgZnJvbSBfX2Z1dHVyZV9f IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBT dGF0dXMKKyBmcm9tIC50ZXN0X2Zvcm1hdHRlciBpbXBvcnQgRm9ybWF0dGVyVGVzdHMgYXMgRm9y bWF0dGVyVGVzdCwgX3RmCisgZnJvbSAudGVzdF9mb3JtYXR0ZXIgaW1wb3J0IE11bHRpcGxlRm9y bWF0dGVyc1Rlc3RzIGFzIE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QKKy1mcm9tIG5vc2UudG9vbHMg aW1wb3J0ICoKKysKKyAKKyBjbGFzcyBUZXN0UmVydW5Gb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6 CisgICAgIGZvcm1hdHRlcl9uYW1lID0gInJlcnVuIgorQEAgLTI2LDcgKzI2LDcgQEAgY2xhc3Mg VGVzdFJlcnVuRm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorICAgICAgICAgICAgIHAuc2NlbmFy aW8oc2NlbmFyaW8pCisgICAgICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvLnN0YXR1cyA9PSBTdGF0 dXMucGFzc2VkCisgICAgICAgICBwLmVvZigpCistICAgICAgICBlcV8oW10sIHAuZmFpbGVkX3Nj ZW5hcmlvcykKKysgICAgICAgIGFzc2VydCBbXSA9PSBwLmZhaWxlZF9zY2VuYXJpb3MKKyAgICAg ICAgICMgLS0gRU1JVCBSRVBPUlQ6CisgICAgICAgICBwLmNsb3NlKCkKKyAKK0BAIC00OSw3ICs0 OSw3IEBAIGNsYXNzIFRlc3RSZXJ1bkZvcm1hdHRlcihGb3JtYXR0ZXJUZXN0KToKKyAgICAgICAg IGFzc2VydCBzY2VuYXJpb3NbMF0uc3RhdHVzID09IFN0YXR1cy5wYXNzZWQKKyAgICAgICAgIGFz c2VydCBzY2VuYXJpb3NbMV0uc3RhdHVzID09IFN0YXR1cy5mYWlsZWQKKyAgICAgICAgIHAuZW9m KCkKKy0gICAgICAgIGVxXyhbIGZhaWxpbmdfc2NlbmFyaW8gXSwgcC5mYWlsZWRfc2NlbmFyaW9z KQorKyAgICAgICAgYXNzZXJ0IFsgZmFpbGluZ19zY2VuYXJpbyBdID09IHAuZmFpbGVkX3NjZW5h cmlvcworICAgICAgICAgIyAtLSBFTUlUIFJFUE9SVDoKKyAgICAgICAgIHAuY2xvc2UoKQorIAor QEAgLTc2LDcgKzc2LDcgQEAgY2xhc3MgVGVzdFJlcnVuRm9ybWF0dGVyKEZvcm1hdHRlclRlc3Qp OgorICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvc1sxXS5zdGF0dXMgPT0gU3RhdHVzLnBhc3NlZAor ICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvc1syXS5zdGF0dXMgPT0gU3RhdHVzLmZhaWxlZAorICAg ICAgICAgcC5lb2YoKQorLSAgICAgICAgZXFfKFsgZmFpbGluZ19zY2VuYXJpbzEsIGZhaWxpbmdf c2NlbmFyaW8yIF0sIHAuZmFpbGVkX3NjZW5hcmlvcykKKysgICAgICAgIGFzc2VydCBbIGZhaWxp bmdfc2NlbmFyaW8xLCBmYWlsaW5nX3NjZW5hcmlvMiBdID09IHAuZmFpbGVkX3NjZW5hcmlvcwor ICAgICAgICAgIyAtLSBFTUlUIFJFUE9SVDoKKyAgICAgICAgIHAuY2xvc2UoKQorIAorQEAgLTg0 LDE0ICs4NCwxOCBAQCBjbGFzcyBUZXN0UmVydW5Gb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6Cisg Y2xhc3MgVGVzdFJlcnVuQW5kUHJldHR5Rm9ybWF0dGVycyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0 KToKKyAgICAgZm9ybWF0dGVycyA9IFsicmVydW4iLCAicHJldHR5Il0KKyAKKysKKyBjbGFzcyBU ZXN0UmVydW5BbmRQbGFpbkZvcm1hdHRlcnMoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAg IGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInBsYWluIl0KKyAKKysKKyBjbGFzcyBUZXN0UmVydW5B bmRTY2VuYXJpb1Byb2dyZXNzRm9ybWF0dGVycyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAg ICAgZm9ybWF0dGVycyA9IFsicmVydW4iLCAicHJvZ3Jlc3MiXQorIAorKworIGNsYXNzIFRlc3RS ZXJ1bkFuZFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcnMoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6Cisg ICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInByb2dyZXNzMiJdCisgCisrCisgY2xhc3MgVGVz dFJlcnVuQW5kSnNvbkZvcm1hdHRlcihNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9y bWF0dGVycyA9IFsicmVydW4iLCAianNvbiJdCitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0X2Zvcm1h dHRlcl90YWdzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5CitzaW1pbGFy aXR5IGluZGV4IDk5JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5City ZW5hbWUgdG8gdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5CitpbmRleCA1MTI1ZDUx Li45Zjk1Mzc0IDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5CisrKysg Yi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3RhZ3MucHkKK0BAIC05LDEyICs5LDE0IEBAIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgZnJvbSAudGVzdF9mb3JtYXR0 ZXIgaW1wb3J0IEZvcm1hdHRlclRlc3RzIGFzIEZvcm1hdHRlclRlc3QKKyBmcm9tIC50ZXN0X2Zv cm1hdHRlciBpbXBvcnQgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdHMgYXMgTXVsdGlwbGVGb3JtYXR0 ZXJzVGVzdAorIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEZPUk1BVFRFUiBURVNU UzogV2l0aCBUYWdDb3VudEZvcm1hdHRlcgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjbGFz cyBUZXN0VGFnc0NvdW50Rm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorICAgICBmb3JtYXR0ZXJf bmFtZSA9ICJ0YWdzIgorIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEZPUk1BVFRF UiBURVNUUzogV2l0aCBUYWdMb2NhdGlvbkZvcm1hdHRlcgorICMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KK0BAIC0yOCwxMiArMzAsMTUgQEAgY2xhc3MgVGVzdFRhZ3NMb2NhdGlvbkZvcm1hdHRlcihG b3JtYXR0ZXJUZXN0KToKKyBjbGFzcyBUZXN0UHJldHR5QW5kVGFnc0NvdW50KE11bHRpcGxlRm9y bWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJwcmV0dHkiLCAidGFncyJdCisgCisr CisgY2xhc3MgVGVzdFBsYWluQW5kVGFnc0NvdW50KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgor ICAgICBmb3JtYXR0ZXJzID0gWyJwbGFpbiIsICJ0YWdzIl0KKyAKKysKKyBjbGFzcyBUZXN0SlNP TkFuZFRhZ3NDb3VudChNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9 IFsianNvbiIsICJ0YWdzIl0KKyAKKysKKyBjbGFzcyBUZXN0UmVydW5BbmRUYWdzQ291bnQoTXVs dGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInRhZ3Mi XQorIAorQEAgLTQ0LDE0ICs0OSwxOCBAQCBjbGFzcyBUZXN0UmVydW5BbmRUYWdzQ291bnQoTXVs dGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgY2xhc3MgVGVzdFByZXR0eUFuZFRhZ3NMb2NhdGlvbihN dWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicHJldHR5IiwgInRh Z3MubG9jYXRpb24iXQorIAorKworIGNsYXNzIFRlc3RQbGFpbkFuZFRhZ3NMb2NhdGlvbihNdWx0 aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicGxhaW4iLCAidGFncy5s b2NhdGlvbiJdCisgCisrCisgY2xhc3MgVGVzdEpTT05BbmRUYWdzTG9jYXRpb24oTXVsdGlwbGVG b3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbImpzb24iLCAidGFncy5sb2NhdGlv biJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVuQW5kVGFnc0xvY2F0aW9uKE11bHRpcGxlRm9ybWF0 dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJyZXJ1biIsICJ0YWdzLmxvY2F0aW9uIl0K KyAKKysKKyBjbGFzcyBUZXN0VGFnc0NvdW50QW5kVGFnc0xvY2F0aW9uKE11bHRpcGxlRm9ybWF0 dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJ0YWdzIiwgInRhZ3MubG9jYXRpb24iXQor ZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weSBiL3Rlc3RzL3VuaXQvdGVz dF9pbXBvcnRlci5weQoraW5kZXggZjNmNGUyYy4uMDU1YjlmYiAxMDA2NDQKKy0tLSBhL3Rlc3Rz L3VuaXQvdGVzdF9pbXBvcnRlci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2ltcG9ydGVyLnB5 CitAQCAtNjIsNyArNjIsNyBAQCBjbGFzcyBUZXN0TG9hZE1vZHVsZShvYmplY3QpOgorICAgICAg ICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKyAK KyAgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9leGlzdGluZ19t b2R1bGUoc2VsZik6CistICAgICAgICBtb2R1bGVfbmFtZSA9ICJ0ZXN0Ll9pbXBvcnRlcl9jYW5k aWRhdGUiCisrICAgICAgICBtb2R1bGVfbmFtZSA9ICJ0ZXN0cy51bml0Ll9pbXBvcnRlcl9jYW5k aWRhdGUiCisgICAgICAgICBzZWxmLnRoZW9yeS5lbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRl ZChtb2R1bGVfbmFtZSkKKyAKKyAgICAgICAgIG1vZHVsZSA9IGxvYWRfbW9kdWxlKG1vZHVsZV9u YW1lKQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9sb2dfY2FwdHVyZS5weSBiL3Rlc3RzL3VuaXQv dGVzdF9sb2dfY2FwdHVyZS5weQorc2ltaWxhcml0eSBpbmRleCA4NyUKK3JlbmFtZSBmcm9tIHRl c3QvdGVzdF9sb2dfY2FwdHVyZS5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9sb2dfY2Fw dHVyZS5weQoraW5kZXggYmZkYmVkNy4uYmYxODc0YyAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVzdF9s b2dfY2FwdHVyZS5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2xvZ19jYXB0dXJlLnB5CitAQCAt MSwxMSArMSwxMCBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3 aXRoX3N0YXRlbWVudAorLQorLWZyb20gbm9zZS50b29scyBpbXBvcnQgKgorK2ltcG9ydCBweXRl c3QKKyBmcm9tIG1vY2sgaW1wb3J0IHBhdGNoCistCisgZnJvbSBiZWhhdmUubG9nX2NhcHR1cmUg aW1wb3J0IExvZ2dpbmdDYXB0dXJlCisgZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlCisgCisr CisgY2xhc3MgVGVzdExvZ0NhcHR1cmUob2JqZWN0KToKKyAgICAgZGVmIHRlc3RfZ2V0X3ZhbHVl X3JldHVybnNfYWxsX2xvZ19yZWNvcmRzKHNlbGYpOgorICAgICAgICAgY2xhc3MgRmFrZUNvbmZp ZyhvYmplY3QpOgorQEAgLTIzLDcgKzIyLDcgQEAgY2xhc3MgVGVzdExvZ0NhcHR1cmUob2JqZWN0 KToKKyAgICAgICAgICAgICBmb3JtYXQucmV0dXJuX3ZhbHVlID0gJ2ZvbycKKyAgICAgICAgICAg ICBleHBlY3RlZCA9ICdcbicuam9pbihbJ2ZvbyddICogbGVuKGZha2VfcmVjb3JkcykpCisgCist ICAgICAgICAgICAgZXFfKGhhbmRsZXIuZ2V0dmFsdWUoKSwgZXhwZWN0ZWQpCisrICAgICAgICAg ICAgYXNzZXJ0IGhhbmRsZXIuZ2V0dmFsdWUoKSA9PSBleHBlY3RlZAorIAorICAgICAgICAgICAg IGNhbGxzID0gW2FyZ3NbMF1bMF0gZm9yIGFyZ3MgaW4gZm9ybWF0LmNhbGxfYXJnc19saXN0XQor LSAgICAgICAgICAgIGVxXyhjYWxscywgZmFrZV9yZWNvcmRzKQorKyAgICAgICAgICAgIGFzc2Vy dCBjYWxscyA9PSBmYWtlX3JlY29yZHMKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfbWF0Y2hlcnMu cHkgYi90ZXN0cy91bml0L3Rlc3RfbWF0Y2hlcnMucHkKK3NpbWlsYXJpdHkgaW5kZXggOTMlCity ZW5hbWUgZnJvbSB0ZXN0L3Rlc3RfbWF0Y2hlcnMucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rl c3RfbWF0Y2hlcnMucHkKK2luZGV4IGJmZTA0ZmMuLjgxNTU4MWMgMTAwNjQ0CistLS0gYS90ZXN0 L3Rlc3RfbWF0Y2hlcnMucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9tYXRjaGVycy5weQorQEAg LTEsNyArMSw3IEBACisgIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKyBmcm9tIF9fZnV0dXJlX18g aW1wb3J0IGFic29sdXRlX2ltcG9ydCwgd2l0aF9zdGF0ZW1lbnQKKytpbXBvcnQgcHl0ZXN0Cisg ZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBwYXRjaAorLWZyb20gbm9zZS50b29scyBpbXBvcnQgKiAg IyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1wb3J0LCB1bnVzZWQtd2lsZGNhcmQtaW1wb3J0 CisgaW1wb3J0IHBhcnNlCisgZnJvbSBiZWhhdmUubWF0Y2hlcnMgaW1wb3J0IE1hdGNoLCBNYXRj aGVyLCBQYXJzZU1hdGNoZXIsIFJlZ2V4TWF0Y2hlciwgXAorICAgICBTaW1wbGlmaWVkUmVnZXhN YXRjaGVyLCBDdWN1bWJlclJlZ2V4TWF0Y2hlcgorQEAgLTgwLDcgKzgwLDcgQEAgY2xhc3MgVGVz dFBhcnNlTWF0Y2hlcihvYmplY3QpOgorICAgICAgICAgICAgIGFzc2VydCBtLmZ1bmMgaXMgZnVu YworICAgICAgICAgICAgIGFyZ3MgPSBtLmFyZ3VtZW50cworICAgICAgICAgICAgIGhhdmUgPSBb KGEuc3RhcnQsIGEuZW5kLCBhLm9yaWdpbmFsLCBhLnZhbHVlLCBhLm5hbWUpIGZvciBhIGluIGFy Z3NdCistICAgICAgICAgICAgZXFfKGhhdmUsIGV4cGVjdGVkKQorKyAgICAgICAgICAgIGFzc2Vy dCBoYXZlID09IGV4cGVjdGVkCisgCisgICAgIGRlZiB0ZXN0X25hbWVkX2FyZ3VtZW50cyhzZWxm KToKKyAgICAgICAgIHRleHQgPSAiaGFzIGEge3N0cmluZ30sIGFuIHtpbnRlZ2VyOmR9IGFuZCBh IHtkZWNpbWFsOmZ9IgorQEAgLTg5LDExICs4OSwxMSBAQCBjbGFzcyBUZXN0UGFyc2VNYXRjaGVy KG9iamVjdCk6CisgCisgICAgICAgICBtID0gbWF0Y2hlci5tYXRjaCgiaGFzIGEgZm9vLCBhbiAx MSBhbmQgYSAzLjE0MTU5IikKKyAgICAgICAgIG0ucnVuKGNvbnRleHQpCistICAgICAgICBlcV8o c2VsZi5yZWNvcmRlZF9hcmdzLCAoKGNvbnRleHQsKSwgeworKyAgICAgICAgYXNzZXJ0IHNlbGYu cmVjb3JkZWRfYXJncywgKChjb250ZXh0LCkgPT0geworICAgICAgICAgICAgICdzdHJpbmcnOiAn Zm9vJywKKyAgICAgICAgICAgICAnaW50ZWdlcic6IDExLAorICAgICAgICAgICAgICdkZWNpbWFs JzogMy4xNDE1OQorLSAgICAgICAgfSkpCisrICAgICAgICB9KQorIAorICAgICBkZWYgdGVzdF9w b3NpdGlvbmFsX2FyZ3VtZW50cyhzZWxmKToKKyAgICAgICAgIHRleHQgPSAiaGFzIGEge30sIGFu IHs6ZH0gYW5kIGEgezpmfSIKK0BAIC0xMDIsNyArMTAyLDcgQEAgY2xhc3MgVGVzdFBhcnNlTWF0 Y2hlcihvYmplY3QpOgorIAorICAgICAgICAgbSA9IG1hdGNoZXIubWF0Y2goImhhcyBhIGZvbywg YW4gMTEgYW5kIGEgMy4xNDE1OSIpCisgICAgICAgICBtLnJ1bihjb250ZXh0KQorLSAgICAgICAg ZXFfKHNlbGYucmVjb3JkZWRfYXJncywgKChjb250ZXh0LCAnZm9vJywgMTEsIDMuMTQxNTkpLCB7 fSkpCisrICAgICAgICBhc3NlcnQgc2VsZi5yZWNvcmRlZF9hcmdzID09ICgoY29udGV4dCwgJ2Zv bycsIDExLCAzLjE0MTU5KSwge30pCisgCisgY2xhc3MgVGVzdFJlZ2V4TWF0Y2hlcihvYmplY3Qp OgorICAgICAjIHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUsIG5vLXNlbGYtdXNlCitAQCAt MTUxLDcgKzE1MSw3IEBAIGNsYXNzIFRlc3RSZWdleE1hdGNoZXIob2JqZWN0KToKKyAgICAgICAg IGFzc2VydCBtLmZ1bmMgaXMgZnVuYworICAgICAgICAgYXJncyA9IG0uYXJndW1lbnRzCisgICAg ICAgICBoYXZlID0gWyhhLnN0YXJ0LCBhLmVuZCwgYS5vcmlnaW5hbCwgYS52YWx1ZSwgYS5uYW1l KSBmb3IgYSBpbiBhcmdzXQorLSAgICAgICAgZXFfKGhhdmUsIGV4cGVjdGVkKQorKyAgICAgICAg YXNzZXJ0IGhhdmUgPT0gZXhwZWN0ZWQKKyAKKyAKKyAKK0BAIC0xNzksMTcgKzE3OSwxNyBAQCBj bGFzcyBUZXN0U2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihUZXN0UmVnZXhNYXRjaGVyKToKKyAgICAg ICAgIGFzc2VydCBpc2luc3RhbmNlKG1hdGNoZWQxLCBNYXRjaCkKKyAgICAgICAgIGFzc2VydCBp c2luc3RhbmNlKG1hdGNoZWQyLCBNYXRjaCkKKyAKKy0gICAgQHJhaXNlcyhBc3NlcnRpb25FcnJv cikKKyAgICAgZGVmIHRlc3Rfc3RlcF9zaG91bGRfbm90X3VzZV9yZWdleF9iZWdpbl9tYXJrZXIo c2VsZik6CistICAgICAgICBTaW1wbGlmaWVkUmVnZXhNYXRjaGVyKE5vbmUsICJeSSBkbyBzb21l dGhpbmciKQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEFzc2VydGlvbkVycm9yKToKKysg ICAgICAgICAgICBTaW1wbGlmaWVkUmVnZXhNYXRjaGVyKE5vbmUsICJeSSBkbyBzb21ldGhpbmci KQorIAorLSAgICBAcmFpc2VzKEFzc2VydGlvbkVycm9yKQorICAgICBkZWYgdGVzdF9zdGVwX3No b3VsZF9ub3RfdXNlX3JlZ2V4X2VuZF9tYXJrZXIoc2VsZik6CistICAgICAgICBTaW1wbGlmaWVk UmVnZXhNYXRjaGVyKE5vbmUsICJJIGRvIHNvbWV0aGluZyQiKQorKyAgICAgICAgd2l0aCBweXRl c3QucmFpc2VzKEFzc2VydGlvbkVycm9yKToKKysgICAgICAgICAgICBTaW1wbGlmaWVkUmVnZXhN YXRjaGVyKE5vbmUsICJJIGRvIHNvbWV0aGluZyQiKQorIAorLSAgICBAcmFpc2VzKEFzc2VydGlv bkVycm9yKQorICAgICBkZWYgdGVzdF9zdGVwX3Nob3VsZF9ub3RfdXNlX3JlZ2V4X2JlZ2luX2Fu ZF9lbmRfbWFya2VyKHNlbGYpOgorLSAgICAgICAgU2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihOb25l LCAiXkkgZG8gc29tZXRoaW5nJCIpCisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQXNzZXJ0 aW9uRXJyb3IpOgorKyAgICAgICAgICAgIFNpbXBsaWZpZWRSZWdleE1hdGNoZXIoTm9uZSwgIl5J IGRvIHNvbWV0aGluZyQiKQorIAorIAorIGNsYXNzIFRlc3RDdWN1bWJlclJlZ2V4TWF0Y2hlcihU ZXN0UmVnZXhNYXRjaGVyKToKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5 IGIvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weQoraW5kZXggNTYwM2E0Yi4uZWNiYjFiZiAxMDA2 NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVz dF9wYXJzZXIucHkKK0BAIC03LDcgKzcsNiBAQCBVbml0IHRlc3RzIGZvciBHaGVya2luIHBhcnNl cjogOm1vZDpgYmVoYXZlLnBhcnNlcmAuCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0 ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHB5dGVzdAorIGZyb20gYmVoYXZlIGlt cG9ydCBpMThuLCBtb2RlbCwgcGFyc2VyCistIyBOT1QtTkVFREVEOiBmcm9tIG5vc2UudG9vbHMg aW1wb3J0ICoKKyAKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBhL3Rlc3Qv dGVzdF9ydW5uZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitzaW1pbGFyaXR5IGlu ZGV4IDgyJQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X3J1bm5lci5weQorcmVuYW1lIHRvIHRlc3Rz L3VuaXQvdGVzdF9ydW5uZXIucHkKK2luZGV4IDY2NDcyODMuLjAzMGRmZmEgMTAwNjQ0CistLS0g YS90ZXN0L3Rlc3RfcnVubmVyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitA QCAtMTEsMTAgKzExLDggQEAgaW1wb3J0IHRlbXBmaWxlCisgaW1wb3J0IHVuaXR0ZXN0CisgaW1w b3J0IHNpeAorIGZyb20gc2l4IGltcG9ydCBTdHJpbmdJTworLQorK2ltcG9ydCBweXRlc3QKKyBm cm9tIG1vY2sgaW1wb3J0IE1vY2ssIHBhdGNoCistZnJvbSBub3NlLnRvb2xzIGltcG9ydCAqICAj IHB5bGludDogZGlzYWJsZT13aWxkY2FyZC1pbXBvcnQsIHVudXNlZC13aWxkY2FyZC1pbXBvcnQK Ky0KKyBmcm9tIGJlaGF2ZSBpbXBvcnQgcnVubmVyX3V0aWwKKyBmcm9tIGJlaGF2ZS5tb2RlbCBp bXBvcnQgVGFibGUKKyBmcm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCBTdGVwUmVnaXN0 cnkKK0BAIC0zOSwzMSArMzcsMzEgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENh c2UpOgorICAgICBkZWYgdGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9kZShz ZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogTm8gZXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAg ICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorLSAgICAgICAgZXFfKHNl bGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29u dGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVz ZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUs IHJ1bm5lci5Db250ZXh0LlVTRVIpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5f bW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRo aW5nID0gInN0dWZmIgorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9t b2RlKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUK KyAKKyAgICAgZGVmIHRlc3RfdXNlcl9tb2RlX3NoYWxsX3Jlc3RvcmVfYmVoYXZlX21vZGVfaWZf YXNzZXJ0X2ZhaWxzKHNlbGYpOgorICAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRl eHQuQkVIQVZFCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUp CisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorICAg ICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJf bW9kZSgpOgorLSAgICAgICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIu Q29udGV4dC5VU0VSKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2Rl ID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKyAgICAgICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCAi WEZBSUwiCisgICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6CistICAgICAgICAgICAgZXFf KHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZXJf bW9kZV9zaGFsbF9yZXN0b3JlX2JlaGF2ZV9tb2RlX2lmX2V4Y2VwdGlvbl9pc19yYWlzZWQoc2Vs Zik6CisgICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKy0gICAg ICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgIGFzc2Vy dCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgICAgICAgICB0cnk6CisgICAg ICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAg ICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIHJ1bm5lci5Db250ZXh0LlVTRVIpCisr ICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRl eHQuVVNFUgorICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlhGQUlMIikKKyAg ICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CistICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4 dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQu X21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZV93aXRoX3VzZXJfbW9k ZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUoc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6 IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCitAQCAtNzEsOSArNjksOSBAQCBjbGFzcyBUZXN0Q29u dGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIu Q29udGV4dC5CRUhBVkUKKyAgICAgICAgIHNlbGYuY29udGV4dC5fbW9kZSA9IGluaXRpYWxfbW9k ZQorICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAg ICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgcnVubmVyLkNvbnRleHQuVVNFUikKKysg ICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVT RVIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCistICAgICAgICBl cV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICBhc3NlcnQgc2Vs Zi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0 aF91c2VyX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlX3dpdGhfZXJyb3Ioc2VsZik6 CisgICAgICAgICAjIC0tIENBU0U6IEV4Y2VwdGlvbiBpcyByYWlzZWQuCitAQCAtODIsMTAgKzgw LDEwIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHNl bGYuY29udGV4dC5fbW9kZSA9IGluaXRpYWxfbW9kZQorICAgICAgICAgdHJ5OgorICAgICAgICAg ICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAg ICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5VU0VSKQorKyAgICAg ICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVT RVIKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJYRkFJTCIpCisgICAgICAg ICBleGNlcHQgUnVudGltZUVycm9yOgorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21v ZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2Rl ID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9kZV9f c2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUoc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IE5v IGV4Y2VwdGlvbiBpcyByYWlzZWQuCitAQCAtOTMsOSArOTEsOSBAQCBjbGFzcyBUZXN0Q29udGV4 dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29u dGV4dC5VU0VSCisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAg ICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAgICAg ICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIHJ1bm5lci5Db250ZXh0LkJFSEFWRSkKKysg ICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LkJF SEFWRQorICAgICAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKy0gICAgICAg IGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZV93 aXRoX2JlaGF2ZV9tb2RlX19zaGFsbF9yZXN0b3JlX2luaXRpYWxfbW9kZV93aXRoX2Vycm9yKHNl bGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBFeGNlcHRpb24gaXMgcmFpc2VkLgorQEAgLTEwNCwy MiArMTAyLDIyIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAg ICAgIHNlbGYuY29udGV4dC5fbW9kZSA9IGluaXRpYWxfbW9kZQorICAgICAgICAgdHJ5OgorICAg ICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAg ICAgICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5CRUhB VkUpCisrICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVy LkNvbnRleHQuQkVIQVZFCisgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiWEZB SUwiKQorICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKy0gICAgICAgICAgICBlcV8oc2Vs Zi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYu Y29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfY29udGV4dF9j b250YWlucyhzZWxmKToKKy0gICAgICAgIGVxXygidGhpbmciIGluIHNlbGYuY29udGV4dCwgRmFs c2UpCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBub3QgaW4gc2VsZi5jb250ZXh0CisgICAgICAg ICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCistICAgICAgICBlcV8oInRoaW5nIiBpbiBz ZWxmLmNvbnRleHQsIFRydWUpCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBpbiBzZWxmLmNvbnRl eHQKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCistICAgICAgICBlcV8oInRoaW5nIiBp biBzZWxmLmNvbnRleHQsIFRydWUpCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBpbiBzZWxmLmNv bnRleHQKKyAKKyAgICAgZGVmIHRlc3RfYXR0cmlidXRlX3NldF9hdF91cHBlcl9sZXZlbF92aXNp YmxlX2F0X2xvd2VyX2xldmVsKHNlbGYpOgorICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0g InN0dWZmIgorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wdXNoKCkKKy0gICAgICAgIGVxXyhzZWxm LmNvbnRleHQudGhpbmcsICJzdHVmZiIpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRo aW5nID09ICJzdHVmZiIKKyAKKyAgICAgZGVmIHRlc3RfYXR0cmlidXRlX3NldF9hdF9sb3dlcl9s ZXZlbF9ub3RfdmlzaWJsZV9hdF91cHBlcl9sZXZlbChzZWxmKToKKyAgICAgICAgIHNlbGYuY29u dGV4dC5fcHVzaCgpCitAQCAtMTMwLDE2ICsxMjgsMTYgQEAgY2xhc3MgVGVzdENvbnRleHQodW5p dHRlc3QuVGVzdENhc2UpOgorICAgICBkZWYgdGVzdF9hdHRyaWJ1dGVzX3NldF9hdF91cHBlcl9s ZXZlbF92aXNpYmxlX2F0X2xvd2VyX2xldmVsKHNlbGYpOgorICAgICAgICAgc2VsZi5jb250ZXh0 LnRoaW5nID0gInN0dWZmIgorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wdXNoKCkKKy0gICAgICAg IGVxXyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVmZiIpCisrICAgICAgICBhc3NlcnQgc2VsZi5j b250ZXh0LnRoaW5nID09ICJzdHVmZiIKKyAgICAgICAgIHNlbGYuY29udGV4dC5vdGhlcl90aGlu ZyA9ICJtb3JlIHN0dWZmIgorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wdXNoKCkKKy0gICAgICAg IGVxXyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVmZiIpCistICAgICAgICBlcV8oc2VsZi5jb250 ZXh0Lm90aGVyX3RoaW5nLCAibW9yZSBzdHVmZiIpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0LnRoaW5nID09ICJzdHVmZiIKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQub3RoZXJf dGhpbmcgPT0gIm1vcmUgc3R1ZmYiCisgICAgICAgICBzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcg PSAid29tYmF0cyIKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCistICAgICAgICBlcV8o c2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5v dGhlcl90aGluZywgIm1vcmUgc3R1ZmYiKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC50aGly ZF90aGluZywgIndvbWJhdHMiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9 PSAic3R1ZmYiCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nID09ICJt b3JlIHN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGlyZF90aGluZyA9PSAi d29tYmF0cyIKKyAKKyAgICAgZGVmIHRlc3RfYXR0cmlidXRlc19zZXRfYXRfbG93ZXJfbGV2ZWxf bm90X3Zpc2libGVfYXRfdXBwZXJfbGV2ZWwoc2VsZik6CisgICAgICAgICBzZWxmLmNvbnRleHQu dGhpbmcgPSAic3R1ZmYiCitAQCAtMTQ5LDE3ICsxNDcsMTcgQEAgY2xhc3MgVGVzdENvbnRleHQo dW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wdXNoKCkKKyAg ICAgICAgIHNlbGYuY29udGV4dC50aGlyZF90aGluZyA9ICJ3b21iYXRzIgorLSAgICAgICAgZXFf KHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQu b3RoZXJfdGhpbmcsICJtb3JlIHN0dWZmIikKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhp cmRfdGhpbmcsICJ3b21iYXRzIikKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGhpbmcg PT0gInN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5vdGhlcl90aGluZyA9PSAi bW9yZSBzdHVmZiIKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcgPT0g IndvbWJhdHMiCisgCisgICAgICAgICBzZWxmLmNvbnRleHQuX3BvcCgpCistICAgICAgICBlcV8o c2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5v dGhlcl90aGluZywgIm1vcmUgc3R1ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50 aGluZyA9PSAic3R1ZmYiCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5n ID09ICJtb3JlIHN0dWZmIgorICAgICAgICAgYXNzZXJ0IGdldGF0dHIoc2VsZi5jb250ZXh0LCAi dGhpcmRfdGhpbmciLCBOb25lKSBpcyBOb25lLCAiJXMgaXMgbm90IE5vbmUiICUgc2VsZi5jb250 ZXh0LnRoaXJkX3RoaW5nCisgCisgICAgICAgICBzZWxmLmNvbnRleHQuX3BvcCgpCistICAgICAg ICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYu Y29udGV4dC50aGluZyA9PSAic3R1ZmYiCisgICAgICAgICBhc3NlcnQgZ2V0YXR0cihzZWxmLmNv bnRleHQsICJvdGhlcl90aGluZyIsIE5vbmUpIGlzIE5vbmUsICIlcyBpcyBub3QgTm9uZSIgJSBz ZWxmLmNvbnRleHQub3RoZXJfdGhpbmcKKyAgICAgICAgIGFzc2VydCBnZXRhdHRyKHNlbGYuY29u dGV4dCwgInRoaXJkX3RoaW5nIiwgTm9uZSkgaXMgTm9uZSwgIiVzIGlzIG5vdCBOb25lIiAlIHNl bGYuY29udGV4dC50aGlyZF90aGluZworIAorQEAgLTI3MCwyMSArMjY4LDIyIEBAIGNsYXNzIFRl c3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIGFzc2VydCBmaWxlbmFtZSBp biBpbmZvLCAiJXIgbm90IGluICVyIiAlIChmaWxlbmFtZSwgaW5mbykKKyAKKyAgICAgZGVmIHRl c3RfY29udGV4dF9kZWxldGFibGUoc2VsZik6CistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxm LmNvbnRleHQsIEZhbHNlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIgbm90IGluIHNlbGYuY29u dGV4dAorICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorLSAgICAgICAgZXFf KCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBUcnVlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIg aW4gc2VsZi5jb250ZXh0CisgICAgICAgICBkZWwgc2VsZi5jb250ZXh0LnRoaW5nCistICAgICAg ICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIEZhbHNlKQorKyAgICAgICAgYXNzZXJ0ICJ0 aGluZyIgbm90IGluIHNlbGYuY29udGV4dAorIAorLSAgICBAcmFpc2VzKEF0dHJpYnV0ZUVycm9y KQorKyAgICAjIE9MRDogQHJhaXNlcyhBdHRyaWJ1dGVFcnJvcikKKyAgICAgZGVmIHRlc3RfY29u dGV4dF9kZWxldGFibGVfcmFpc2VzKHNlbGYpOgorICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9 cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBG YWxzZSkKKysgICAgICAgIGFzc2VydCAidGhpbmciIG5vdCBpbiBzZWxmLmNvbnRleHQKKyAgICAg ICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKy0gICAgICAgIGVxXygidGhpbmciIGlu IHNlbGYuY29udGV4dCwgVHJ1ZSkKKysgICAgICAgIGFzc2VydCAidGhpbmciIGluIHNlbGYuY29u dGV4dAorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wdXNoKCkKKy0gICAgICAgIGVxXygidGhpbmci IGluIHNlbGYuY29udGV4dCwgVHJ1ZSkKKy0gICAgICAgIGRlbCBzZWxmLmNvbnRleHQudGhpbmcK KysgICAgICAgIGFzc2VydCAidGhpbmciIGluIHNlbGYuY29udGV4dAorKyAgICAgICAgd2l0aCBw eXRlc3QucmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKysgICAgICAgICAgICBkZWwgc2VsZi5jb250 ZXh0LnRoaW5nCisgCisgCisgY2xhc3MgRXhhbXBsZVN0ZXBzKG9iamVjdCk6CitAQCAtMzYyLDcg KzM2MSw3IEBAIFRoZW4gYSBzdGVwIHBhc3NlcworICIiIi5sc3RyaXAoKQorICAgICAgICAgd2l0 aCBwYXRjaCgiYmVoYXZlLnN0ZXBfcmVnaXN0cnkucmVnaXN0cnkiLCBzZWxmLnN0ZXBfcmVnaXN0 cnkpOgorICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRv YykKKy0gICAgICAgICAgICBlcV8ocmVzdWx0LCBUcnVlKQorKyAgICAgICAgICAgIGFzc2VydCBy ZXN1bHQgaXMgVHJ1ZQorIAorICAgICBkZWYgdGVzdF9leGVjdXRlX3N0ZXBzX3dpdGhfZmFpbGlu Z19zdGVwKHNlbGYpOgorICAgICAgICAgZG9jID0gdSIiIgorQEAgLTM3NCw3ICszNzMsNyBAQCBU aGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHJl c3VsdCA9IHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKyAgICAgICAgICAgICBleGNl cHQgQXNzZXJ0aW9uRXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAgb2tfKCJGQUlMRUQgU1VC LVNURVA6IFdoZW4gYSBzdGVwIGZhaWxzIiBpbiBfdGV4dChlKSkKKysgICAgICAgICAgICAgICAg YXNzZXJ0ICJGQUlMRUQgU1VCLVNURVA6IFdoZW4gYSBzdGVwIGZhaWxzIiBpbiBfdGV4dChlKQor IAorICAgICBkZWYgdGVzdF9leGVjdXRlX3N0ZXBzX3dpdGhfdW5kZWZpbmVkX3N0ZXAoc2VsZik6 CisgICAgICAgICBkb2MgPSB1IiIiCitAQCAtMzg2LDcgKzM4NSw3IEBAIFRoZW4gYSBzdGVwIHBh c3NlcworICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5j b250ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorICAgICAgICAgICAgIGV4Y2VwdCBBc3NlcnRpb25F cnJvciBhcyBlOgorLSAgICAgICAgICAgICAgICBva18oIlVOREVGSU5FRCBTVUItU1RFUDogV2hl biBhIHN0ZXAgaXMgdW5kZWZpbmVkIiBpbiBfdGV4dChlKSkKKysgICAgICAgICAgICAgICAgYXNz ZXJ0ICJVTkRFRklORUQgU1VCLVNURVA6IFdoZW4gYSBzdGVwIGlzIHVuZGVmaW5lZCIgaW4gX3Rl eHQoZSkKKyAKKyAgICAgZGVmIHRlc3RfZXhlY3V0ZV9zdGVwc193aXRoX3RleHQoc2VsZik6Cisg ICAgICAgICBkb2MgPSB1JycnCitAQCAtNDAxLDggKzQwMCw4IEBAIFRoZW4gYSBzdGVwIHBhc3Nl cworICAgICAgICAgd2l0aCBwYXRjaCgiYmVoYXZlLnN0ZXBfcmVnaXN0cnkucmVnaXN0cnkiLCBz ZWxmLnN0ZXBfcmVnaXN0cnkpOgorICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYuY29udGV4dC5l eGVjdXRlX3N0ZXBzKGRvYykKKyAgICAgICAgICAgICBleHBlY3RlZF90ZXh0ID0gIkxvcmVtIGlw c3VtXG5JcHN1bSBsb3JlbSIKKy0gICAgICAgICAgICBlcV8ocmVzdWx0LCBUcnVlKQorLSAgICAg ICAgICAgIGVxXyhleHBlY3RlZF90ZXh0LCBFeGFtcGxlU3RlcHMudGV4dCkKKysgICAgICAgICAg ICBhc3NlcnQgcmVzdWx0IGlzIFRydWUKKysgICAgICAgICAgICBhc3NlcnQgZXhwZWN0ZWRfdGV4 dCA9PSBFeGFtcGxlU3RlcHMudGV4dAorIAorICAgICBkZWYgdGVzdF9leGVjdXRlX3N0ZXBzX3dp dGhfdGFibGUoc2VsZik6CisgICAgICAgICBkb2MgPSB1IiIiCitAQCAtNDE5LDggKzQxOCw4IEBA IFRoZW4gYSBzdGVwIHBhc3NlcworICAgICAgICAgICAgICAgICAgICAgW3UiQWxpY2UiLCB1IjEy Il0sCisgICAgICAgICAgICAgICAgICAgICBbdSJCb2IiLCAgIHUiMjMiXSwKKyAgICAgICAgICAg ICBdKQorLSAgICAgICAgICAgIGVxXyhyZXN1bHQsIFRydWUpCistICAgICAgICAgICAgZXFfKGV4 cGVjdGVkX3RhYmxlLCBFeGFtcGxlU3RlcHMudGFibGUpCisrICAgICAgICAgICAgYXNzZXJ0IHJl c3VsdCBpcyBUcnVlCisrICAgICAgICAgICAgYXNzZXJ0IGV4cGVjdGVkX3RhYmxlID09IEV4YW1w bGVTdGVwcy50YWJsZQorIAorICAgICBkZWYgdGVzdF9jb250ZXh0X3RhYmxlX2lzX3Jlc3RvcmVk X2FmdGVyX2V4ZWN1dGVfc3RlcHNfd2l0aG91dF90YWJsZShzZWxmKToKKyAgICAgICAgIGRvYyA9 IHUiIiIKK0BAIC00MzEsNyArNDMwLDcgQEAgVGhlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAg ICAgb3JpZ2luYWxfdGFibGUgPSAiPE9SSUdJTkFMX1RBQkxFPiIKKyAgICAgICAgICAgICBzZWxm LmNvbnRleHQudGFibGUgPSBvcmlnaW5hbF90YWJsZQorICAgICAgICAgICAgIHNlbGYuY29udGV4 dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRhYmxl LCBvcmlnaW5hbF90YWJsZSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRhYmxl ID09IG9yaWdpbmFsX3RhYmxlCisgCisgICAgIGRlZiB0ZXN0X2NvbnRleHRfdGFibGVfaXNfcmVz dG9yZWRfYWZ0ZXJfZXhlY3V0ZV9zdGVwc193aXRoX3RhYmxlKHNlbGYpOgorICAgICAgICAgZG9j ID0gdSIiIgorQEAgLTQ0NSw3ICs0NDQsNyBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAg ICAgICBvcmlnaW5hbF90YWJsZSA9ICI8T1JJR0lOQUxfVEFCTEU+IgorICAgICAgICAgICAgIHNl bGYuY29udGV4dC50YWJsZSA9IG9yaWdpbmFsX3RhYmxlCisgICAgICAgICAgICAgc2VsZi5jb250 ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGFi bGUsIG9yaWdpbmFsX3RhYmxlKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGFi bGUgPT0gb3JpZ2luYWxfdGFibGUKKyAKKyAgICAgZGVmIHRlc3RfY29udGV4dF90ZXh0X2lzX3Jl c3RvcmVkX2FmdGVyX2V4ZWN1dGVfc3RlcHNfd2l0aG91dF90ZXh0KHNlbGYpOgorICAgICAgICAg ZG9jID0gdSIiIgorQEAgLTQ1Niw3ICs0NTUsNyBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAg ICAgICAgICBvcmlnaW5hbF90ZXh0ID0gIjxPUklHSU5BTF9URVhUPiIKKyAgICAgICAgICAgICBz ZWxmLmNvbnRleHQudGV4dCA9IG9yaWdpbmFsX3RleHQKKyAgICAgICAgICAgICBzZWxmLmNvbnRl eHQuZXhlY3V0ZV9zdGVwcyhkb2MpCistICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC50ZXh0 LCBvcmlnaW5hbF90ZXh0KQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGV4dCA9 PSBvcmlnaW5hbF90ZXh0CisgCisgICAgIGRlZiB0ZXN0X2NvbnRleHRfdGV4dF9pc19yZXN0b3Jl ZF9hZnRlcl9leGVjdXRlX3N0ZXBzX3dpdGhfdGV4dChzZWxmKToKKyAgICAgICAgIGRvYyA9IHUn JycKK0BAIC00NzEsMTAgKzQ3MCwxMCBAQCBXaGVuIGEgc3RlcCB3aXRoIHRleHQ6CisgICAgICAg ICAgICAgb3JpZ2luYWxfdGV4dCA9ICI8T1JJR0lOQUxfVEVYVD4iCisgICAgICAgICAgICAgc2Vs Zi5jb250ZXh0LnRleHQgPSBvcmlnaW5hbF90ZXh0CisgICAgICAgICAgICAgc2VsZi5jb250ZXh0 LmV4ZWN1dGVfc3RlcHMoZG9jKQorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGV4dCwg b3JpZ2luYWxfdGV4dCkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRleHQgPT0g b3JpZ2luYWxfdGV4dAorIAorIAorLSAgICBAcmFpc2VzKFZhbHVlRXJyb3IpCisrICAgICMgT0xE OiBAcmFpc2VzKFZhbHVlRXJyb3IpCisgICAgIGRlZiB0ZXN0X2V4ZWN1dGVfc3RlcHNfc2hvdWxk X2ZhaWxfd2hlbl9jYWxsZWRfd2l0aG91dF9mZWF0dXJlKHNlbGYpOgorICAgICAgICAgZG9jID0g dSIiIgorIEdpdmVuIGEgcGFzc2VzCitAQCAtNDgyLDcgKzQ4MSw4IEBAIFRoZW4gYSBzdGVwIHBh c3NlcworICIiIi5sc3RyaXAoKQorICAgICAgICAgd2l0aCBwYXRjaCgiYmVoYXZlLnN0ZXBfcmVn aXN0cnkucmVnaXN0cnkiLCBzZWxmLnN0ZXBfcmVnaXN0cnkpOgorICAgICAgICAgICAgIHNlbGYu Y29udGV4dC5mZWF0dXJlID0gTm9uZQorLSAgICAgICAgICAgIHNlbGYuY29udGV4dC5leGVjdXRl X3N0ZXBzKGRvYykKKysgICAgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvcik6 CisrICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKyAKKyAK KyBkZWYgY3JlYXRlX21vY2tfY29uZmlnKCk6CitAQCAtNTg4LDExICs1ODgsMTEgQEAgY2xhc3Mg VGVzdFJ1bm5lcihvYmplY3QpOgorICAgICAgICAgci5zZXR1cF9jYXB0dXJlKCkKKyAgICAgICAg IHIuc3RhcnRfY2FwdHVyZSgpCisgCistICAgICAgICBlcV8oc3lzLnN0ZG91dCwgci5jYXB0dXJl X2NvbnRyb2xsZXIuc3Rkb3V0X2NhcHR1cmUpCisrICAgICAgICBhc3NlcnQgc3lzLnN0ZG91dCA9 PSByLmNhcHR1cmVfY29udHJvbGxlci5zdGRvdXRfY2FwdHVyZQorIAorICAgICAgICAgci5zdG9w X2NhcHR1cmUoKQorIAorLSAgICAgICAgZXFfKHN5cy5zdGRvdXQsIG5ld19zdGRvdXQpCisrICAg ICAgICBhc3NlcnQgc3lzLnN0ZG91dCA9PSBuZXdfc3Rkb3V0CisgCisgICAgICAgICBzeXMuc3Rk b3V0ID0gb2xkX3N0ZG91dAorIAorQEAgLTYwNSwxMSArNjA1LDExIEBAIGNsYXNzIFRlc3RSdW5u ZXIob2JqZWN0KToKKyAKKyAgICAgICAgIHIuc3RhcnRfY2FwdHVyZSgpCisgCistICAgICAgICBl cV8oc3lzLnN0ZG91dCwgb2xkX3N0ZG91dCkKKysgICAgICAgIGFzc2VydCBzeXMuc3Rkb3V0ID09 IG9sZF9zdGRvdXQKKyAKKyAgICAgICAgIHIuc3RvcF9jYXB0dXJlKCkKKyAKKy0gICAgICAgIGVx XyhzeXMuc3Rkb3V0LCBvbGRfc3Rkb3V0KQorKyAgICAgICAgYXNzZXJ0IHN5cy5zdGRvdXQgPT0g b2xkX3N0ZG91dAorIAorICAgICBkZWYgdGVzdF90ZWFyZG93bl9jYXB0dXJlX3JlbW92ZXNfbG9n X3RhcChzZWxmKToKKyAgICAgICAgIHIgPSBydW5uZXIuUnVubmVyKE1vY2soKSkKK0BAIC02MzMs NyArNjMzLDcgQEAgY2xhc3MgVGVzdFJ1bm5lcihvYmplY3QpOgorICAgICAgICAgIyBweWxpbnQ6 IGRpc2FibGU9dG9vLW1hbnktZm9ybWF0LWFyZ3MKKyAgICAgICAgIGFzc2VydCAic3BhbSIgaW4g bCwgJyJzcGFtIiB2YXJpYWJsZSBub3Qgc2V0IGluIGxvY2FscyAoJXIpJyAlIChnLCBsKQorICAg ICAgICAgIyBweWxpbnQ6IGVuYWJsZT10b28tbWFueS1mb3JtYXQtYXJncworLSAgICAgICAgZXFf KGxbInNwYW0iXSwgZm4pCisrICAgICAgICBhc3NlcnQgbFsic3BhbSJdID09IGZuCisgCisgICAg IGRlZiB0ZXN0X3J1bl9yZXR1cm5zX3RydWVfaWZfZXZlcnl0aGluZ19wYXNzZWQoc2VsZik6Cisg ICAgICAgICByID0gcnVubmVyLlJ1bm5lcihNb2NrKCkpCitAQCAtNjk0LDExICs2OTQsMTEgQEAg Y2xhc3MgVGVzdFJ1bldpdGhQYXRocyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxm LnJ1bm5lci5jb250ZXh0ID0gTW9jaygpCisgICAgICAgICBzZWxmLnJ1bm5lci5ydW5fd2l0aF9w YXRocygpCisgCistICAgICAgICBlcV8oc2VsZi5ydW5faG9vay5jYWxsX2FyZ3NfbGlzdCwgWwor KyAgICAgICAgYXNzZXJ0IHNlbGYucnVuX2hvb2suY2FsbF9hcmdzX2xpc3QgPT0gWworICAgICAg ICAgICAgICgoKSwge30pLAorICAgICAgICAgICAgICgoImJlZm9yZV9hbGwiLCBzZWxmLnJ1bm5l ci5jb250ZXh0KSwge30pLAorICAgICAgICAgICAgICgoImFmdGVyX2FsbCIsIHNlbGYucnVubmVy LmNvbnRleHQpLCB7fSksCistICAgICAgICBdKQorKyAgICAgICAgXQorIAorICAgICBAcGF0Y2go ImJlaGF2ZS5wYXJzZXIucGFyc2VfZmlsZSIpCisgICAgIEBwYXRjaCgib3MucGF0aC5hYnNwYXRo IikKK0BAIC03MjQsOCArNzI0LDggQEAgY2xhc3MgVGVzdFJ1bldpdGhQYXRocyh1bml0dGVzdC5U ZXN0Q2FzZSk6CisgCisgICAgICAgICBleHBlY3RlZF9wYXJzZV9maWxlX2FyZ3MgPSBcCisgICAg ICAgICAgICAgWygoeC51cHBlcigpLCksIHsibGFuZ3VhZ2UiOiAiZnJpdHoifSkgZm9yIHggaW4g ZmVhdHVyZV9sb2NhdGlvbnNdCistICAgICAgICBlcV8ocGFyc2VfZmlsZS5jYWxsX2FyZ3NfbGlz dCwgZXhwZWN0ZWRfcGFyc2VfZmlsZV9hcmdzKQorLSAgICAgICAgZXFfKHNlbGYucnVubmVyLmZl YXR1cmVzLCBbZmVhdHVyZV0gKiAzKQorKyAgICAgICAgYXNzZXJ0IHBhcnNlX2ZpbGUuY2FsbF9h cmdzX2xpc3QgPT0gZXhwZWN0ZWRfcGFyc2VfZmlsZV9hcmdzCisrICAgICAgICBhc3NlcnQgc2Vs Zi5ydW5uZXIuZmVhdHVyZXMgPT0gW2ZlYXR1cmVdICogMworIAorIAorIGNsYXNzIEZzTW9jayhv YmplY3QpOgorQEAgLTgyOSw5ICs4MjksMTIgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rvcnko b2JqZWN0KToKKyAKKyAgICAgICAgICMgd2lsbCBsb29rIGZvciBhICJmZWF0dXJlcyIgZGlyZWN0 b3J5IGFuZCBub3QgZmluZCBvbmUKKyAgICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6 CistICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykK KysgICAgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQ29uZmlnRXJyb3IpOgorKyAgICAgICAg ICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNl cyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykK KysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJl cyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscworKyAgICAgICAgIyBva18oKCJpc2RpciIsIG9zLnBh dGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisgCisg ICAgIGRlZiB0ZXN0X2RlZmF1bHRfcGF0aF9ub19mZWF0dXJlcyhzZWxmKToKKyAgICAgICAgIGNv bmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtODQyLDcgKzg0NSw5IEBAIGNsYXNzIFRl c3RGZWF0dXJlRGlyZWN0b3J5KG9iamVjdCk6CisgICAgICAgICBmcyA9IEZzTW9jaygiZmVhdHVy ZXMvc3RlcHMvIikKKyAgICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6CisgICAgICAg ICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndhbGspOgorLSAgICAgICAgICAgICAgICBh c3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorKyAgICAgICAgICAgICAg ICB3aXRoIHB5dGVzdC5yYWlzZXMoQ29uZmlnRXJyb3IpOgorKyAgICAgICAgICAgICAgICAgICAg ci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAgICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKENv bmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorIAorICAgICBkZWYgdGVzdF9kZWZhdWx0X3BhdGgo c2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTg1Nyw3 ICs4NjIsNyBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgorICAgICAgICAg ICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorICAgICAgICAgICAgICAgICAgICAgci5zZXR1 cF9wYXRocygpCisgCistICAgICAgICBlcV8oci5iYXNlX2Rpciwgb3MucGF0aC5hYnNwYXRoKCJm ZWF0dXJlcyIpKQorKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9kaXIgPT0gb3MucGF0aC5hYnNwYXRo KCJmZWF0dXJlcyIpCisgCisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZmlsZShzZWxm KToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtODcyLDEwICs4 NzcsMTIgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rvcnkob2JqZWN0KToKKyAgICAgICAgICAg ICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAgICAgICAgICAgIHdpdGgg ci5wYXRoX21hbmFnZXI6CisgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKy0g ICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJzdGVwcyIpKSBpbiBm cy5jYWxscykKKy0gICAgICAgIG9rXygoImlzZmlsZSIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAi Zm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9z LnBhdGguam9pbihmcy5iYXNlLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgIGFzc2Vy dCAoImlzZmlsZSIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMu Y2FsbHMKKysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNl LCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNmaWxlIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJmb28uZmVhdHVyZSIpKSBpbiBmcy5jYWxscykKKyAKKy0g ICAgICAgIGVxXyhyLmJhc2VfZGlyLCBmcy5iYXNlKQorKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9k aXIgPT0gZnMuYmFzZQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2ZpbGVfbm9f c3RlcHMoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAg LTg4OCw3ICs4OTUsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgorICAg ICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZzKToKKyAgICAgICAgICAgICB3aXRoIHBhdGNo KCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFn ZXI6CistICAgICAgICAgICAgICAgICAgICBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNl dHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZp Z0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAg ICAgICAgICAgICAgICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVw X3BhdGhzKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2RpcmVjdG9yeShzZWxm KToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtOTAzLDkgKzkx MiwxMCBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgorICAgICAgICAgICAg ICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9w YXRocygpCisgCistICAgICAgICBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAi c3BhbSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKysgICAgICAgIGFzc2VydCAoImlzZGlyIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJzcGFtIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAg ICAgICAjIE9MRCBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIsICJz dGVwcyIpKSBpbiBmcy5jYWxscykKKyAKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBvcy5wYXRo LmpvaW4oZnMuYmFzZSwgInNwYW0iKSkKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGlyID09IG9z LnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIpCisgCisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX2Zl YXR1cmVfZGlyZWN0b3J5X25vX3N0ZXBzKHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRl X21vY2tfY29uZmlnKCkKK0BAIC05MTcsOSArOTI3LDEyIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGly ZWN0b3J5KG9iamVjdCk6CisgCisgICAgICAgICB3aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMpOgor ICAgICAgICAgICAgIHdpdGggcGF0Y2goIm9zLndhbGsiLCBmcy53YWxrKToKKy0gICAgICAgICAg ICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAg ICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAg ICAgICAgIHIuc2V0dXBfcGF0aHMoKQorKyAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3Jh aXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKy0gICAgICAgIG9rXygoImlzZGly Iiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJzcGFtIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQor KyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAi c3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBh dGguam9pbihmcy5iYXNlLCAic3BhbSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKyAKKyAgICAg ZGVmIHRlc3Rfc3VwcGxpZWRfZmVhdHVyZV9kaXJlY3RvcnlfbWlzc2luZyhzZWxmKToKKyAgICAg ICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtOTMxLDcgKzk0NCw5IEBAIGNs YXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5KG9iamVjdCk6CisgCisgICAgICAgICB3aXRoIHBhdGNo KCJvcy5wYXRoIiwgZnMpOgorICAgICAgICAgICAgIHdpdGggcGF0Y2goIm9zLndhbGsiLCBmcy53 YWxrKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1 cF9wYXRocykKKysgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9y KToKKysgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorKyAgICAgICAgICAgICAg ICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKyAK KyBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToKK0BAIC05NTUsNyAr OTcwLDcgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6CisgICAg ICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CisgICAgICAgICAgICAgICAgICAgICBy LnNldHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBvcy5wYXRoLmFic3Bh dGgoImZlYXR1cmVzIikpCisrICAgICAgICBhc3NlcnQgci5iYXNlX2RpciA9PSBvcy5wYXRoLmFi c3BhdGgoImZlYXR1cmVzIikKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfcm9vdF9kaXJlY3Rv cnkoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTk3 NSw4ICs5OTAsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToK KyAgICAgICAgICAgICAgICAgd2l0aCByLnBhdGhfbWFuYWdlcjoKKyAgICAgICAgICAgICAgICAg ICAgIHIuc2V0dXBfcGF0aHMoKQorIAorLSAgICAgICAgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpv aW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorLSAgICAgICAg ZXFfKHIuYmFzZV9kaXIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiKSkKKysgICAg ICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMi LCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBh dGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAg ICAgIGFzc2VydCByLmJhc2VfZGlyID09IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMi KQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9yb290X2RpcmVjdG9yeV9ub19zdGVwcyhzZWxm KToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtOTkzLDEwICsx MDA5LDEzIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAg ICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZzKToKKyAgICAgICAgICAgICB3aXRoIHBhdGNo KCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFn ZXI6CistICAgICAgICAgICAgICAgICAgICBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNl dHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZp Z0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAg ICAgICAgICAgICAgICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVw X3BhdGhzKQorIAorLSAgICAgICAgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwg ImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorLSAgICAgICAgZXFfKHIuYmFzZV9k aXIsIE5vbmUpCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMu YmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0 ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGlu IGZzLmNhbGxzCisrICAgICAgICBhc3NlcnQgci5iYXNlX2RpciBpcyBOb25lCisgCisgCisgICAg IGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZmlsZShzZWxmKToKK0BAIC0xMDE4LDkgKzEwMzcs MTEgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6CisgICAgICAg ICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CisgICAgICAgICAgICAgICAgICAgICByLnNl dHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJh c2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSAgaW4gZnMuY2FsbHMpCistICAgICAgICBva18oKCJp c2ZpbGUiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgImdyb3VwMSIsICJmb28u ZmVhdHVyZSIpKSBpbiBmcy5jYWxscykKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBmcy5qb2lu KGZzLmJhc2UsICJmZWF0dXJlcyIpKQorKyAgICAgICAgIyBPTEQ6IG9rXygoImlzZGlyIiwgb3Mu cGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSAgaW4gZnMuY2FsbHMpCisr ICAgICAgICAjIE9MRDogb2tfKCgiaXNmaWxlIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0 dXJlcyIsICJncm91cDEiLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBh c3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMi KSkgIGluIGZzLmNhbGxzCisrICAgICAgICBhc3NlcnQgKCJpc2ZpbGUiLCBvcy5wYXRoLmpvaW4o ZnMuYmFzZSwgImZlYXR1cmVzIiwgImdyb3VwMSIsICJmb28uZmVhdHVyZSIpKSBpbiBmcy5jYWxs cworKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9kaXIgPT0gZnMuam9pbihmcy5iYXNlLCAiZmVhdHVy ZXMiKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2ZpbGVfbm9fc3RlcHMoc2Vs Zik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTEwMzcsNyAr MTA1OCw5IEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAg ICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZzKToKKyAgICAgICAgICAgICB3aXRoIHBhdGNo KCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFn ZXI6CistICAgICAgICAgICAgICAgICAgICBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNl dHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZp Z0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAg ICAgICAgICAgICAgICAgICMgT0xEIGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBf cGF0aHMpCisgCisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZGlyZWN0b3J5KHNlbGYp OgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC0xMDU3LDggKzEw ODAsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAgICAg ICAgICAgICAgICAgd2l0aCByLnBhdGhfbWFuYWdlcjoKKyAgICAgICAgICAgICAgICAgICAgIHIu c2V0dXBfcGF0aHMoKQorIAorLSAgICAgICAgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMu YmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorLSAgICAgICAgZXFfKHIu YmFzZV9kaXIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiKSkKKysgICAgICAgICMg T0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3Rl cHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9p bihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgIGFz c2VydCByLmJhc2VfZGlyID09IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiKQorIAor IAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2RpcmVjdG9yeV9ub19zdGVwcyhzZWxm KToKK0BAIC0xMDc1LDYgKzEwOTksOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91 dDIob2JqZWN0KToKKyAKKyAgICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6CisgICAg ICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndhbGspOgorLSAgICAgICAgICAgICAg ICBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorKyAgICAgICAgICAg ICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQ29uZmlnRXJyb3IpOgorKyAgICAgICAgICAgICAgICAg ICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAgICAgICMgT0xEOiBhc3NlcnRfcmFpc2Vz KENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorIAorLSAgICAgICAgb2tfKCgiaXNkaXIiLCBv cy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQor KyAgICAgICAgIyBPTEQ6IG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0 dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKysgICAgICAgIGFzc2VydCAoImlzZGlyIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscwor ZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5IGIvdGVzdHMvdW5pdC90ZXN0 X3N0ZXBfcmVnaXN0cnkucHkKK3NpbWlsYXJpdHkgaW5kZXggOTUlCityZW5hbWUgZnJvbSB0ZXN0 L3Rlc3Rfc3RlcF9yZWdpc3RyeS5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9zdGVwX3Jl Z2lzdHJ5LnB5CitpbmRleCBmNWI1YTRkLi42Zjg1NzI5IDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0 X3N0ZXBfcmVnaXN0cnkucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5 CitAQCAtMiw3ICsyLDYgQEAKKyAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtd2lsZGNhcmQtaW1w b3J0CisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHdpdGhfc3RhdGVt ZW50CisgZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBwYXRjaAorLWZyb20gbm9zZS50b29scyBpbXBv cnQgKiAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1wb3J0CisgZnJvbSBzaXgu bW92ZXMgaW1wb3J0IHJhbmdlICAgICAjIHB5bGludDogZGlzYWJsZT1yZWRlZmluZWQtYnVpbHRp bgorIGZyb20gYmVoYXZlIGltcG9ydCBzdGVwX3JlZ2lzdHJ5CisgCitAQCAtMjYsNyArMjUsNyBA QCBjbGFzcyBUZXN0U3RlcFJlZ2lzdHJ5KG9iamVjdCk6CisgCisgICAgICAgICAgICAgICAgIHJl Z2lzdHJ5LmFkZF9zdGVwX2RlZmluaXRpb24oc3RlcF90eXBlLnVwcGVyKCksIHBhdHRlcm4sIGZ1 bmMpCisgICAgICAgICAgICAgICAgIGdldF9tYXRjaGVyLmFzc2VydF9jYWxsZWRfd2l0aChmdW5j LCBwYXR0ZXJuKQorLSAgICAgICAgICAgICAgICBlcV8obCwgW21hZ2ljX29iamVjdF0pCisrICAg ICAgICAgICAgICAgIGFzc2VydCBsID09IFttYWdpY19vYmplY3RdCisgCisgICAgIGRlZiB0ZXN0 X2ZpbmRfbWF0Y2hfd2l0aF9zcGVjaWZpY19zdGVwX3R5cGVfYWxzb19zZWFyY2hlc19nZW5lcmlj KHNlbGYpOgorICAgICAgICAgcmVnaXN0cnkgPSBzdGVwX3JlZ2lzdHJ5LlN0ZXBSZWdpc3RyeSgp CitAQCAtODAsNyArNzksNyBAQCBjbGFzcyBUZXN0U3RlcFJlZ2lzdHJ5KG9iamVjdCk6CisgCisg ICAgICAgICBhc3NlcnQgcmVnaXN0cnkuZmluZF9tYXRjaChzdGVwKSBpcyBtYWdpY19vYmplY3QK KyAgICAgICAgIGZvciBtb2NrIGluIHN0ZXBfZGVmc1s2Ol06CistICAgICAgICAgICAgZXFfKG1v Y2subWF0Y2guY2FsbF9jb3VudCwgMCkKKysgICAgICAgICAgICBhc3NlcnQgbW9jay5tYXRjaC5j YWxsX2NvdW50ID09IDAKKyAKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZwor ICAgICBAcGF0Y2gub2JqZWN0KHN0ZXBfcmVnaXN0cnkucmVnaXN0cnksICdhZGRfc3RlcF9kZWZp bml0aW9uJykKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkgYi90ZXN0 cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKK2luZGV4IGUwNWU5YWQuLjNmZmFiM2MgMTAwNjQ0Cist LS0gYS90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF90 ZXh0dXRpbC5weQorQEAgLTksNiArOSwxMCBAQCBpbXBvcnQgcHl0ZXN0CisgaW1wb3J0IGNvZGVj cworIGltcG9ydCBzaXgKKyAKKysKKytweXRlc3RfdmVyc2lvbiA9IHB5dGVzdC5fX3ZlcnNpb25f XworKworKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRFU1QgU1VQUE9SVDoKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMjYzLDYgKzI2Nyw3IEBAIGNsYXNzIFRlc3RPYmplY3RU b1RleHRDb252ZXJzaW9uKG9iamVjdCk6CisgICAgICAgICBhc3NlcnQgbWVzc2FnZSBpbiB0ZXh0 MiwgIk9PUFM6IHRleHQ9JXIiICUgdGV4dDIKKyAKKyAgICAgQHJlcXVpcmVzX3B5dGhvbjIKKysg ICAgQHB5dGVzdC5tYXJrLnNraXBpZihweXRlc3RfdmVyc2lvbiA+PSAiNS4wIiwgcmVhc29uPSJG YWlscyB3aXRoIHB5dGVzdCA1LjAiKQorICAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImV4 Y2VwdGlvbl9jbGFzcywgbWVzc2FnZSIsIFsKKyAgICAgICAgIChBc3NlcnRpb25FcnJvciwgdSLD hHJnZXJuaXMiKSwKKyAgICAgICAgIChSdW50aW1lRXJyb3IsIHUiw5xiZXJtw7x0aWciKSwKK0BA IC0yNzQsMTAgKzI3OSwxNSBAQCBjbGFzcyBUZXN0T2JqZWN0VG9UZXh0Q29udmVyc2lvbihvYmpl Y3QpOgorICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKGV4Y2VwdGlvbl9jbGFzcykgYXMgZToK KyAgICAgICAgICAgICByYWlzZSBleGNlcHRpb25fY2xhc3MoYnl0ZXNfbWVzc2FnZSkKKyAKKy0g ICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVlKQorKyAgICAgICAgIyAtLSBSRVFVSVJFUzogcHl0 ZXN0IDwgNS4wCisrICAgICAgICAjIEhJTlQ6IHB5dGVzdCA+PSA1LjAgbmVlZHM6IHRleHQoZS52 YWx1ZSkKKysgICAgICAgICMgTkVXOiAgdGV4dDIgPSB0ZXh0KGUudmFsdWUpICAgIyBDYXVzZXMg cHJvYmxlbXMgdy8gZGVjb2RpbmcgYW5kIGNvbXBhcmlzb24uCisrICAgICAgICBhc3NlcnQgaXNp bnN0YW5jZShlLnZhbHVlLCBFeGNlcHRpb24pCisrICAgICAgICB0ZXh0MiA9IHRleHQoZSkKKyAg ICAgICAgIHVuaWNvZGVfbWVzc2FnZSA9IGJ5dGVzX21lc3NhZ2UuZGVjb2RlKHNlbGYuRU5DT0RJ TkcpCisgICAgICAgICBleHBlY3RlZCA9IHUiJXM6ICVzIiAlIChleGNlcHRpb25fY2xhc3MuX19u YW1lX18sIHVuaWNvZGVfbWVzc2FnZSkKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHRleHQy LCBzaXgudGV4dF90eXBlKQorKyAgICAgICAgYXNzZXJ0IHVuaWNvZGVfbWVzc2FnZSBpbiB0ZXh0 MgorICAgICAgICAgYXNzZXJ0IHRleHQyLmVuZHN3aXRoKGV4cGVjdGVkKQorICAgICAgICAgIyAt LSBESUFHTk9TVElDUzoKKyAgICAgICAgIHByaW50KHUidGV4dDI6ICIrIHRleHQyKQorZGlmZiAt LWdpdCBhL3RveC5pbmkgYi90b3guaW5pCitpbmRleCAzOTJiYjM5Li5kMmZiY2UyIDEwMDY0NAor LS0tIGEvdG94LmluaQorKysrIGIvdG94LmluaQorQEAgLTY3LDE3ICs2NywxMSBAQCBkZXBzPQor IGluc3RhbGxfY29tbWFuZCA9IHBpcCBpbnN0YWxsIC1VIHtvcHRzfSB7cGFja2FnZXN9CisgY2hh bmdlZGlyID0ge3RveGluaWRpcn0KKyBjb21tYW5kcz0KKy0gICAgcHl0ZXN0IHtwb3NhcmdzOnRl c3QgdGVzdHN9CisrICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0c30KKyAgICAgYmVoYXZlIC0tZm9y bWF0PXByb2dyZXNzIHtwb3NhcmdzOmZlYXR1cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJv Z3Jlc3Mge3Bvc2FyZ3M6dG9vbHMvdGVzdC1mZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0 PXByb2dyZXNzIHtwb3NhcmdzOmlzc3VlLmZlYXR1cmVzfQorLWRlcHM9CistICAgIHB5dGVzdD49 My4wCistICAgIHB5dGVzdC1odG1sID49IDEuMTkuMAorLSAgICBub3NlPj0xLjMKKy0gICAgbW9j az49Mi4wCistICAgIFB5SGFtY3Jlc3Q+PTEuOQorLSAgICBwYXRoLnB5ID49IDEwLjEKKytkZXBz PSAtciB7dG94aW5pZGlyfS9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorIHNldGVudiA9Cisg ICAgICBQWVRIT05QQVRIID0ge3RveGluaWRpcn0KKyAKK0BAIC05NywxMyArOTEsMTIgQEAgY2hh bmdlZGlyID0ge2VudmRpcn0KKyBjb21tYW5kcz0KKyAgICAgYmVoYXZlIC0tdmVyc2lvbgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL2JlaGF2ZTRjbWQwIC4K Ky0gICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi90ZXN0IC4KKyAg ICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi90ZXN0cyAuCisgICAg IHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vZmVhdHVyZXMgLgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL3Rvb2xzICAuCisgICAg IHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vaXNzdWUuZmVhdHVyZXMg LgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHkgLi4vLi4vYmVoYXZlLmluaSAu CistICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0IHRlc3RzfQorKyAgICBweXRlc3Qge3Bvc2FyZ3M6 dGVzdHN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczpmZWF0dXJlc30K KyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOnRvb2xzL3Rlc3QtZmVhdHVy ZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczppc3N1ZS5mZWF0dXJl c30KK0BAIC0xMTksMTggKzExMiwxNiBAQCBjaGFuZ2VkaXIgPSB7ZW52ZGlyfQorIGNvbW1hbmRz PQorICAgICBiZWhhdmUgLS12ZXJzaW9uCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkg Y29weXRyZWUgLi4vLi4vYmVoYXZlNGNtZDAgLgorLSAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21k LnB5IGNvcHl0cmVlIC4uLy4uL3Rlc3QgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5 IGNvcHl0cmVlIC4uLy4uL3Rlc3RzIC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBj b3B5dHJlZSAuLi8uLi9mZWF0dXJlcyAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkg Y29weXRyZWUgLi4vLi4vdG9vbHMgIC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBj b3B5dHJlZSAuLi8uLi9pc3N1ZS5mZWF0dXJlcyAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hj bWQucHkgY29weSAuLi8uLi9iZWhhdmUuaW5pIC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNt ZC5weSAydG8zIC13IC1uIC0tbm8tZGlmZnMgYmVoYXZlNGNtZDAKKy0gICAge3RveGluaWRpcn0v YmluL3RveGNtZC5weSAydG8zIC13IC1uIC0tbm8tZGlmZnMgdGVzdAorICAgICB7dG94aW5pZGly fS9iaW4vdG94Y21kLnB5IDJ0bzMgLXcgLW4gLS1uby1kaWZmcyB0b29scworICAgICB7dG94aW5p ZGlyfS9iaW4vdG94Y21kLnB5IDJ0bzMgLXcgLW4gLS1uby1kaWZmcyBmZWF0dXJlcworICAgICB7 dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IDJ0bzMgLXcgLW4gLS1uby1kaWZmcyBpc3N1ZS5mZWF0 dXJlcworLSAgICBweXRlc3Qge3Bvc2FyZ3M6dGVzdCB0ZXN0c30KKysgICAgcHl0ZXN0IHtwb3Nh cmdzOnRlc3RzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6ZmVhdHVy ZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczp0b29scy90ZXN0LWZl YXR1cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6aXNzdWUuZmVh dHVyZXN9CitAQCAtMTQ4LDcgKzEzOSw3IEBAIHNldGVudiA9CisgW3Rlc3RlbnY6ankyN10KKyBi YXNlcHl0aG9uPSBqeXRob24KKyBjb21tYW5kcz0KKy0gICAgcHl0ZXN0IHtwb3NhcmdzOnRlc3Qg dGVzdHN9CisrICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0c30KKyAgICAgYmVoYXZlIC0tZm9ybWF0 PXByb2dyZXNzIHtwb3NhcmdzOmZlYXR1cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jl c3Mge3Bvc2FyZ3M6dG9vbHMvdGVzdC1mZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXBy b2dyZXNzIHtwb3NhcmdzOmlzc3VlLmZlYXR1cmVzfQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNi1GSVgtUmVtb3ZlLXRl c3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNi1GSVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVu LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZGU3NjUwMDFjCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAzNi1GSVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoCkBA IC0wLDAgKzEsMjIgQEAKK0Zyb20gYjAyYzNlZTY3ZTMxZDY2NjBkMjUyYmY1OWRkMGIzNjkzZjBj MmEwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA2IEp1bCAyMDE5IDA5OjE3OjU0ICsw MjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogUmVtb3ZlIHRlc3QvIGZyb20gcHl0ZXN0IHJ1bi4K KworLS0tCisgLnRyYXZpcy55bWwgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS8udHJhdmlzLnltbCBiLy50cmF2aXMu eW1sCitpbmRleCBmYmMzNTIwLi5jNjAyN2UwIDEwMDY0NAorLS0tIGEvLnRyYXZpcy55bWwKKysr KyBiLy50cmF2aXMueW1sCitAQCAtMzUsNyArMzUsNyBAQCBpbnN0YWxsOgorIAorIHNjcmlwdDoK KyAgIC0gcHl0aG9uIC0tdmVyc2lvbgorLSAgLSBweXRlc3QgdGVzdCB0ZXN0cworKyAgLSBweXRl c3QgdGVzdHMKKyAgIC0gYmVoYXZlIC1mIHByb2dyZXNzIC0tanVuaXQgZmVhdHVyZXMvCisgICAt IGJlaGF2ZSAtZiBwcm9ncmVzcyAtLWp1bml0IHRvb2xzL3Rlc3QtZmVhdHVyZXMvCisgICAtIGJl aGF2ZSAtZiBwcm9ncmVzcyAtLWp1bml0IGlzc3VlLmZlYXR1cmVzLwpkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNy1TZWxl Y3QtYnktbG9jYXRpb24tQWRkLXN1cHBvcnQtZm9yLVNjZW5hcmlvLWNvbnRhaW5lLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNy1T ZWxlY3QtYnktbG9jYXRpb24tQWRkLXN1cHBvcnQtZm9yLVNjZW5hcmlvLWNvbnRhaW5lLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmJlZmFhMGJiCi0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAzNy1TZWxlY3QtYnktbG9jYXRpb24tQWRkLXN1cHBvcnQtZm9yLVNjZW5hcmlvLWNv bnRhaW5lLnBhdGNoCkBAIC0wLDAgKzEsNjUyIEBACitGcm9tIDBmZjJhZjIzN2M5Y2ZlYjhkZWQ5 MDEzNDUxYmJkYzA5ODM3OGU2NDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwg MjAxOSAwOTo1MDo0NiArMDIwMAorU3ViamVjdDogW1BBVENIXSBTZWxlY3QtYnktbG9jYXRpb246 IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVyIgorIChGZWF0dXJlLCBSdWxlLCBT Y2VuYXJpb091dGxpbmUpIChyZWxhdGVkIHRvOiAjMzkxKQorCistLS0KKyBDSEFOR0VTLnJzdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBiZWhhdmUvbW9kZWwu cHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDkgKysrLS0KKyBiZWhhdmUvcnVu bmVyX3V0aWwucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAxODYgKysrKysrKysrKysrKysr KystCisgLi4uLnNlbGVjdF9zY2VuYXJpb3NfYnlfZmlsZV9sb2NhdGlvbi5mZWF0dXJlIHwgIDI3 ICsrLQorIHB5dGVzdC5pbmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg MiArLQorIHRlc3RzL3VuaXQvdGVzdF9ydW5uZXJfdXRpbC5weSAgICAgICAgICAgICAgICB8IDE3 NSArKysrKysrKysrKysrKysrCisgNiBmaWxlcyBjaGFuZ2VkLCA0MTYgaW5zZXJ0aW9ucygrKSwg MjUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3VuaXQvdGVzdF9ydW5u ZXJfdXRpbC5weQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5k ZXggM2Q4MDViMy4uMDFiZDFiZCAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFO R0VTLnJzdAorQEAgLTI4LDcgKzI4LDcgQEAgRU5IQU5DRU1FTlRTOgorICogVXNlIGBjdWN1bWJl ci10YWctZXhwcmVzc2lvbnNgXyB3aXRoIHRhZy1tYXRjaGluZyBleHRlbnNpb24gKHN1cGVyY2Vl ZHM6IG9sZC1zdHlsZSB0YWctZXhwcmVzc2lvbnMpCisgKiBpc3N1ZSAjNjc4OiBTY2VuYXJpbyBP dXRsaW5lOiBTdXBwb3J0IHRhZ3Mgd2l0aCBjb21tYXMgYW5kIHNlbWljb2xvbnMgKHByb3ZpZGVk IGJ5OiBsYXdubW93ZXJsYXR0ZSwgcHVsbCAjNjc5KQorICogaXNzdWUgIzY3NTogRmVhdHVyZSBm aWxlcyBjYW5ub3QgYmUgZm91bmQgd2l0aGluIHN5bWxpbmsgZGlyZWN0b3JpZXMgKHByb3ZpZGVk IGJ5OiBzbWFkbmVzcywgcHVsbCAjNjgwKQorLQorKyogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQg c3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5lciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlv T3V0bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCisgCisgUEFSVElBTExZIEZJWEVEOgorIAorZGlm ZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5kZXggMzA4NDg1 MC4uN2ZjNTM0YSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21v ZGVsLnB5CitAQCAtNTUsMTEgKzU1LDExIEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0Fu ZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgIC4uIGF0dHJpYnV0ZTo6IGtleXdv cmQKKyAKKyAgICAgICAgVGhpcyBpcyB0aGUga2V5d29yZCBhcyBzZWVuIGluIHRoZSAqZmVhdHVy ZSBmaWxlKi4gSW4gRW5nbGlzaCB0aGlzIHdpbGwKKy0gICAgICAgYmUgIkZlYXR1cmUiLgorKyAg ICAgICBiZSAiRmVhdHVyZSIgb3IgIlJ1bGUiLgorIAorICAgICAuLiBhdHRyaWJ1dGU6OiBuYW1l CisgCistICAgICAgIFRoZSBuYW1lIG9mIHRoZSBmZWF0dXJlICh0aGUgdGV4dCBhZnRlciAiRmVh dHVyZSIuKQorKyAgICAgICBUaGUgbmFtZSAob3IgdGl0bGUpIG9mIHRoZSBtb2RlbCBlbnRpdHkg KHRoZSB0ZXh0IGFmdGVyIHRoZSBrZXl3b3JkLikKKyAKKyAgICAgLi4gYXR0cmlidXRlOjogZGVz Y3JpcHRpb24KKyAKK0BAIC05MywxMiArOTMsMTYgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIo VGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAKKyAgICAgICAgU3RhdHVzLnVu dGVzdGVkCisgICAgICAgICAgVGhlIGZlYXR1cmUgd2FzIGhhcyBub3QgYmVlbiBjb21wbGV0ZWx5 IHRlc3RlZCB5ZXQuCisrCisgICAgICAgIFN0YXR1cy5za2lwcGVkCistICAgICAgICAgT25lIG9y IG1vcmUgc3RlcHMgb2YgdGhpcyBmZWF0dXJlIHdhcyBwYXNzZWQgb3ZlciBkdXJpbmcgdGVzdGlu Zy4KKysgICAgICAgICBUaGUgZXhlY3V0aW9uIG9mIHRoaXMgbW9kZWwgZW50aXR5IChmZWF0dXJl IG9yIHJ1bGUpCisrICAgICAgICAgc2hvdWxkIGJlIC8gd2FzIHNraXBwZWQgKGV4Y2x1ZGVkIGZy b20gdGhlIHRlc3QgcnVuKS4KKysKKyAgICAgICAgU3RhdHVzLnBhc3NlZAorLSAgICAgICAgIFRo ZSBmZWF0dXJlIHdhcyB0ZXN0ZWQgc3VjY2Vzc2Z1bGx5LgorKyAgICAgICAgIFRoZSBtb2RlbCBl bnRpdHkgKGZlYXR1cmUgb3IgcnVsZSkgd2FzIHRlc3RlZCBzdWNjZXNzZnVsbHkuCisrCisgICAg ICAgIFN0YXR1cy5mYWlsZWQKKy0gICAgICAgICBPbmUgb3IgbW9yZSBzdGVwcyBvZiB0aGlzIGZl YXR1cmUgZmFpbGVkLgorKyAgICAgICAgIE9uZSBvciBtb3JlIHJ1biBpdGVtcyBvZiB0aGlzIG1v ZGVsIGVudGl0eSBmYWlsZWQuCisgCisgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMS4yLjYK KyAgICAgICAgICAgICBVc2UgU3RhdHVzIGVudW0gY2xhc3MgKHdhczogc3RyaW5nKS4KK0BAIC0x NDcsNiArMTUxLDExIEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRl bWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRl bXM6CisgICAgICAgICAgICAgcnVuX2l0ZW0ucmVzZXQoKQorIAorKyAgICBkZWYgX3NldHVwX2Nv bnRleHRfZm9yX3J1bihzZWxmLCBjb250ZXh0KToKKysgICAgICAgICIiIlNldHVwL0luaXQgcnVu bmVyIGNvbnRleHQgZm9yIHJ1bi4iIiIKKysgICAgICAgICMgLS0gT1ZFUlJJRERFTjogQnkgZGVy aXZlZCBjbGFzc2VzLgorKyAgICAgICAgcGFzcworKworICAgICBkZWYgX19pdGVyX18oc2VsZik6 CisgICAgICAgICByZXR1cm4gaXRlcihzZWxmLnJ1bl9pdGVtcykKKyAKK0BAIC0yMDQsNyArMjEz LDcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBs YXlhYmxlKToKKyAgICAgICAgICMgZmVhdHVyZV9kdXJhdGlvbiA9IHNlbGYucnVuX2VuZHRpbWUg LSBzZWxmLnJ1bl9zdGFydHRpbWUKKyAgICAgICAgIHJldHVybiBmZWF0dXJlX2R1cmF0aW9uCisg CistICAgIGRlZiB3YWxrX3NjZW5hcmlvcyhzZWxmLCB3aXRoX291dGxpbmVzPUZhbHNlKToKKysg ICAgZGVmIHdhbGtfc2NlbmFyaW9zKHNlbGYsIHdpdGhfb3V0bGluZXM9RmFsc2UsIHdpdGhfcnVs ZXM9RmFsc2UpOgorICAgICAgICAgIiIiUHJvdmlkZXMgYSBmbGF0IGxpc3Qgb2YgYWxsIHNjZW5h cmlvcyBvZiB0aGlzIFNjZW5hcmlvQ29udGFpbmVyLgorICAgICAgICAgQSBTY2VuYXJpb091dGxp bmUgZWxlbWVudCBhZGRzIGl0cyBzY2VuYXJpb3MgdG8gdGhpcyBsaXN0LgorICAgICAgICAgQnV0 IHRoZSBTY2VuYXJpb091dGxpbmUgZWxlbWVudCBpdHNlbGYgaXMgb25seSBhZGRlZCB3aGVuIHNw ZWNpZmllZC4KK0BAIC0yMTUsMjAgKzIyNCwyMCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihU YWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgOnBhcmFtIHdpdGhf b3V0bGluZXM6IElmIFNjZW5hcmlvT3V0bGluZSBpdGVtcyBzaG91bGQgYmUgYWRkZWQsIHRvby4K KyAgICAgICAgIDpyZXR1cm46IExpc3Qgb2YgYWxsIHNjZW5hcmlvcyBvZiB0aGlzIGZlYXR1cmUu CisgICAgICAgICAiIiIKKy0gICAgICAgICMgVE9ETzogQmV0dGVyIHVzZSBzZWxmLnJ1bl9pdGVt cworICAgICAgICAgYWxsX3NjZW5hcmlvcyA9IFtdCistICAgICAgICAjIGZvciBzY2VuYXJpbyBp biBzZWxmLnNjZW5hcmlvczoKKyAgICAgICAgIGZvciBydW5faXRlbSBpbiBzZWxmLnJ1bl9pdGVt czoKKyAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBSdWxlKToKKyAgICAgICAg ICAgICAgICAgcnVsZSA9IHJ1bl9pdGVtCisrICAgICAgICAgICAgICAgIGlmIHdpdGhfcnVsZXM6 CisrICAgICAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChydWxlKQorICAgICAg ICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVuZChydWxlLndhbGtfc2NlbmFyaW9zKHdpdGhf b3V0bGluZXM9d2l0aF9vdXRsaW5lcykpCistICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5f aXRlbSwgU2NlbmFyaW9PdXRsaW5lKToKKysgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVu X2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisgICAgICAgICAgICAgICAgIHNjZW5hcmlvX291dGxp bmUgPSBydW5faXRlbQorICAgICAgICAgICAgICAgICBpZiB3aXRoX291dGxpbmVzOgorICAgICAg ICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW9fb3V0bGluZSkKKyAg ICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQoc2NlbmFyaW9fb3V0bGluZS5zY2Vu YXJpb3MpCisgICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5z dGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0 YW5jZShydW5faXRlbSwgU2NlbmFyaW8pLCAiT09QUzogJXIiICUgcnVuX2l0ZW0KKyAgICAgICAg ICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQocnVuX2l0ZW0pCisgICAgICAgICByZXR1cm4g YWxsX3NjZW5hcmlvcworIAorQEAgLTI3NCw5ICsyODMsOSBAQCBjbGFzcyBTY2VuYXJpb0NvbnRh aW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgYXNzZXJ0 IHNlbGYuc3RhdHVzID09IFN0YXR1cy5za2lwcGVkIG9yIHNlbGYuaG9va19mYWlsZWQKKyAKKyAg ICAgZGVmIHNraXAoc2VsZiwgcmVhc29uPU5vbmUsIHJlcXVpcmVfbm90X2V4ZWN1dGVkPUZhbHNl KToKKy0gICAgICAgICIiIlNraXAgZXhlY3V0aW5nIHRoaXMgZmVhdHVyZSBvciB0aGUgcmVtYWlu aW5nIHBhcnRzIG9mIGl0LgorLSAgICAgICAgTm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBtYXkgYmUg YWxyZWFkeSBwYXJ0bHkgZXhlY3V0ZWQKKy0gICAgICAgIHdoZW4gdGhpcyBmdW5jdGlvbiBpcyBj YWxsZWQuCisrICAgICAgICAiIiJTa2lwIGV4ZWN1dGluZyB0aGlzIG1vZGVsIGVudGl0eSBvciB0 aGUgcmVtYWluaW5nIHBhcnRzIG9mIGl0LgorKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgbW9kZWwg ZW50aXR5IChmZWF0dXJlIG9yIHJ1bGUpIG1heSBiZSBhbHJlYWR5IHBhcnRseQorKyAgICAgICAg ZXhlY3V0ZWQgd2hlbiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZC4KKyAKKyAgICAgICAgIDpwYXJh bSByZWFzb246ICBPcHRpb25hbCByZWFzb24gd2h5IGZlYXR1cmUgc2hvdWxkIGJlIHNraXBwZWQg KGFzIHN0cmluZykuCisgICAgICAgICA6cGFyYW0gcmVxdWlyZV9ub3RfZXhlY3V0ZWQ6IE9wdGlv bmFsLCByZXF1aXJlcyB0aGF0IGZlYXR1cmUgaXMgbm90CitAQCAtMzE0LDggKzMyMyw4IEBAIGNs YXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6 CisgICAgICAgICBob29rX2FmdGVyX2VudGl0eSA9ICJhZnRlcl97MH0iLmZvcm1hdChlbnRpdHlf bmFtZSkKKyAKKyAgICAgICAgIHJ1bm5lci5jb250ZXh0Ll9wdXNoKGxheWVyX25hbWU9ZW50aXR5 X25hbWUpICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAg cnVubmVyLmNvbnRleHQuZmVhdHVyZSA9IHNlbGYKKyAgICAgICAgIHJ1bm5lci5jb250ZXh0LnRh Z3MgPSBzZXQoc2VsZi50YWdzKQorKyAgICAgICAgc2VsZi5fc2V0dXBfY29udGV4dF9mb3JfcnVu KHJ1bm5lci5jb250ZXh0KQorIAorICAgICAgICAgc2tpcF9lbnRpdHlfdW50ZXN0ZWQgPSBydW5u ZXIuYWJvcnRlZAorICAgICAgICAgc2hvdWxkX3J1bl9lbnRpdHkgPSBzZWxmLnNob3VsZF9ydW4o cnVubmVyLmNvbmZpZykKK0BAIC00OTcsNiArNTA2LDkgQEAgY2xhc3MgRmVhdHVyZShTY2VuYXJp b0NvbnRhaW5lcik6CisgICAgICAgICAgICAgKHNlbGYubmFtZSwgbGVuKHNlbGYucnVuX2l0ZW1z KSwKKyAgICAgICAgICAgICAgbGVuKHNlbGYucnVsZXMpLCBsZW4oc2VsZi5zY2VuYXJpb3MpKQor IAorKyAgICBkZWYgX3NldHVwX2NvbnRleHRfZm9yX3J1bihzZWxmLCBjb250ZXh0KToKKysgICAg ICAgIGNvbnRleHQuZmVhdHVyZSA9IHNlbGYKKysKKyAgICAgZGVmIGFkZF9ydWxlKHNlbGYsIHJ1 bGUpOgorICAgICAgICAgIiIiQWRkIGEgcnVsZSB0byB0aGlzIGZlYXR1cmUuIiIiCisgICAgICAg ICBmZWF0dXJlID0gc2VsZgorQEAgLTYxOSw2ICs2MzEsOSBAQCBjbGFzcyBSdWxlKFNjZW5hcmlv Q29udGFpbmVyKToKKyAgICAgICAgIHNlbGYucGFyZW50ID0gcGFyZW50CisgICAgICAgICBzZWxm LmZlYXR1cmUgPSBwYXJlbnQKKyAKKysgICAgZGVmIF9zZXR1cF9jb250ZXh0X2Zvcl9ydW4oc2Vs ZiwgY29udGV4dCk6CisrICAgICAgICBjb250ZXh0LnJ1bGUgPSBzZWxmCisrCisgICAgIGRlZiBf X3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVybiAnPFJ1bGUgIiVzIjogJWQgc2NlbmFyaW8o cyk+JyAlIFwKKyAgICAgICAgICAgICAoc2VsZi5uYW1lLCBsZW4oc2VsZi5zY2VuYXJpb3MpKQor QEAgLTY2NCw2ICs2NzksMTAgQEAgY2xhc3MgQmFja2dyb3VuZChCYXNpY1N0YXRlbWVudCwgUmVw bGF5YWJsZSk6CisgCisgICAgIC4uIF9gYmFja2dyb3VuZGA6IGdoZXJraW4uaHRtbCNiYWNrZ3Jv dW5kcworICAgICAiIiIKKysgICAgIyBUT0RPOiBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlCisrICAg ICMgUnVsZS5iYWNrZ3JvdW5kIHNob3VsZCBpbmhlcml0IGl0cyBGZWF0dXJlLmJhY2tncm91bmQg c3RlcHMgKGlmIGF2YWlsYWJsZSkKKysgICAgIyBSdWxlLmJhY2tncm91bmQgPSBGZWF0dXJlLmJh Y2tncm91bmQgaWZmIG5vdCBSdWxlLmJhY2tncm91bmQgZXhpc3RzIChBTFJFQURZLVNPTFZFRCkK KysgICAgIyBSdWxlIG1heSBvdmVycmlkZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlz bQorICAgICB0eXBlID0gImJhY2tncm91bmQiCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBm aWxlbmFtZSwgbGluZSwga2V5d29yZCwgbmFtZSwgc3RlcHM9Tm9uZSwgZGVzY3JpcHRpb249Tm9u ZSk6CitAQCAtNzk2LDcgKzgxNSw3IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRl bWVudCwgUmVwbGF5YWJsZSk6CisgCisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgYmFja2dyb3Vu ZF9zdGVwcyhzZWxmKToKKy0gICAgICAgICIiIlByb3ZpZGUgYmFja2dyb3VuZCBzdGVwcyBpZiBm ZWF0dXJlIGhhcyBhIGJhY2tncm91bmQuCisrICAgICAgICAiIiJQcm92aWRlIGJhY2tncm91bmQg c3RlcHMgaWYgZmVhdHVyZS9ydWxlIGhhcyBhIGJhY2tncm91bmQuCisgICAgICAgICBMYXp5IGlu aXQgdGhhdCBjb3BpZXMgdGhlIGJhY2tncm91bmQgc3RlcHMuCisgCisgICAgICAgICBOb3RlIHRo YXQgYSBjb3B5IG9mIHRoZSBiYWNrZ3JvdW5kIHN0ZXBzIGlzIG5lZWRlZCB0byBlbnN1cmUKK2Rp ZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyX3V0aWwucHkgYi9iZWhhdmUvcnVubmVyX3V0aWwucHkK K2luZGV4IDIyMTBmNzguLjdlMDgwN2YgMTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVyX3V0aWwu cHkKKysrKyBiL2JlaGF2ZS9ydW5uZXJfdXRpbC5weQorQEAgLTU4LDYgKzU4LDEwMCBAQCBjbGFz cyBGaWxlTG9jYXRpb25QYXJzZXIob2JqZWN0KToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg IyBDTEFTU0VTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytmcm9tIGNvbGxlY3Rpb25zIGlt cG9ydCBPcmRlcmVkRGljdAorK2Zyb20gLm1vZGVsIGltcG9ydCBGZWF0dXJlLCBSdWxlLCBTY2Vu YXJpb091dGxpbmUsIFNjZW5hcmlvCisrCisrCisrY2xhc3MgRmVhdHVyZUxpbmVEYXRhYmFzZShv YmplY3QpOgorKyAgICAiIiJIZWxwZXIgY2xhc3MgdGhhdCBzdXBwb3J0cyBzZWxlY3QtYnktbG9j YXRpb24gbWVjaGFuaXNtIChGaWxlTG9jYXRpb24pCisrICAgIHdpdGhpbiBhIGZlYXR1cmUgZmls ZSBieSBzdG9yaW5nIHRoZSBmZWF0dXJlIGxpbmUgbnVtYmVycyBmb3IgZWFjaCBlbnRpdHkuCisr CisrICAgIFJFU1BPTlNJQklMSVRZKHMpOgorKworKyAgICAqIENhbiB1c2UgdGhlIGxpbmUgbnVt YmVyIHRvIHNlbGVjdCB0aGUgYmVzdCBtYXRjaGluZyBlbnRpdHkocykgaW4gYSBmZWF0dXJlCisr ICAgICogSW1wbGVtZW50cyB0aGUgc2VsZWN0LWJ5LWxvY2F0aW9uIG1lY2hhbmlzbSBmb3IgZWFj aCBlbnRpdHkgaW4gdGhlIGZlYXR1cmUKKysgICAgIiIiCisrCisrICAgIGRlZiBfX2luaXRfXyhz ZWxmLCBlbnRpdHk9Tm9uZSwgbGluZV9kYXRhPU5vbmUpOgorKyAgICAgICAgaWYgZW50aXR5IGFu ZCBub3QgbGluZV9kYXRhOgorKyAgICAgICAgICAgIGxpbmVfZGF0YSA9IHNlbGYubWFrZV9saW5l X2RhdGFfZm9yKGVudGl0eSkKKysgICAgICAgIHNlbGYuZW50aXR5ID0gZW50aXR5CisrICAgICAg ICBzZWxmLmRhdGEgPSBPcmRlcmVkRGljdChsaW5lX2RhdGEgb3IgW10pCisrICAgICAgICBzZWxm Ll9saW5lX251bWJlcnMgPSBOb25lCisrICAgICAgICBzZWxmLl9saW5lX2VudGl0aWVzID0gTm9u ZQorKworKyAgICBkZWYgc2VsZWN0X3J1bl9pdGVtX2J5X2xpbmUoc2VsZiwgbGluZSk6CisrICAg ICAgICAiIiJTZWxlY3Qgb25lIHJ1bi1pdGVtcyBieSB1c2luZyB0aGUgbGluZSBudW1iZXIuCisr CisrICAgICAgICAqIEV4YWN0IG1hdGNoIHJldHVybnMgcnVuLXRpbWUgZW50aXR5IChGZWF0dXJl LCBSdWxlLCBTY2VuYXJpb091dGxpbmUsIFNjZW5hcmlvKQorKyAgICAgICAgKiBBbnkgb3RoZXIg bGluZSBpbiBiZXR3ZWVuIHVzZXMgdGhlIHByZWRlY2Vzc29yIGVudGl0eQorKworKyAgICAgICAg OnBhcmFtIGxpbmU6IExpbmUgbnVtYmVyIGluIEZlYXR1cmUgZmlsZSAoYXMgaW50KQorKyAgICAg ICAgOnJldHVybjogU2VsZWN0ZWQgcnVuLWl0ZW0gb2JqZWN0LgorKyAgICAgICAgIiIiCisrICAg ICAgICBydW5faXRlbSA9IHNlbGYuZGF0YS5nZXQobGluZSwgTm9uZSkKKysgICAgICAgIGlmIHJ1 bl9pdGVtIGlzIE5vbmU6CisrICAgICAgICAgICAgIyAtLSBDQVNFOiBCRVNULU1BVENIIGluIG9y ZGVyZWQgbGluZSBkYXRhYmFzZQorKyAgICAgICAgICAgIGlmIHNlbGYuX2xpbmVfbnVtYmVycyBp cyBOb25lOgorKyAgICAgICAgICAgICAgICBzZWxmLl9saW5lX251bWJlcnMgPSBsaXN0KHNlbGYu ZGF0YS5rZXlzKCkpCisrICAgICAgICAgICAgICAgIHNlbGYuX2xpbmVfZW50aXRpZXMgPSBsaXN0 KHNlbGYuZGF0YS52YWx1ZXMoKSkKKysKKysgICAgICAgICAgICBwb3MgPSBiaXNlY3Qoc2VsZi5f bGluZV9udW1iZXJzLCBsaW5lKSAtIDEKKysgICAgICAgICAgICBpZiBwb3MgPCAwOgorKyAgICAg ICAgICAgICAgICBwb3MgPSAwCisrICAgICAgICAgICAgcnVuX2l0ZW0gPSBzZWxmLl9saW5lX2Vu dGl0aWVzW3Bvc10KKysgICAgICAgIHJldHVybiBydW5faXRlbQorKworKyAgICBkZWYgc2VsZWN0 X3NjZW5hcmlvc19ieV9saW5lKHNlbGYsIGxpbmUpOgorKyAgICAgICAgIiIiU2VsZWN0IG9uZSBv ciBtb3JlIHNjZW5hcmlvcyBieSB1c2luZyB0aGUgbGluZSBudW1iZXIuCisrCisrICAgICAgICAq IGxpbmUgPSAwOiBTZWxlY3RzIGFsbCBzY2VuYXJpb3MgaW4gdGhlIEZlYXR1cmUgZmlsZQorKyAg ICAgICAgKiBGZWF0dXJlIC8gUnVsZSAvIFNjZW5hcmlvT3V0bGluZS5sb2NhdGlvbi5saW5lIHNl bGVjdHMgaXRzIHNjZW5hcmlvcworKyAgICAgICAgKiBTY2VuYXJpby5sb2NhdGlvbi5saW5lIHNl bGVjdHMgdGhlIFNjZW5hcmlvCisrICAgICAgICAqIEFueSBvdGhlciBsaW5lcyB1c2UgdGhlIHBy ZWRlY2Vzc29yIGVudGl0eSAoYW5kIGl0cyBzY2VuYXJpb3MpCisrCisrICAgICAgICA6cGFyYW0g bGluZTogTGluZSBudW1iZXIgaW4gRmVhdHVyZSBmaWxlIChhcyBpbnQpCisrICAgICAgICA6cmV0 dXJuOiBMaXN0IG9mIHNlbGVjdGVkIHNjZW5hcmlvcworKyAgICAgICAgIiIiCisrICAgICAgICBy dW5faXRlbSA9IHNlbGYuc2VsZWN0X3J1bl9pdGVtX2J5X2xpbmUobGluZSkKKysgICAgICAgIHNj ZW5hcmlvcyA9IFtdCisrICAgICAgICBpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBGZWF0dXJlKToK KysgICAgICAgICAgICBzY2VuYXJpb3MgPSBsaXN0KHJ1bl9pdGVtLndhbGtfc2NlbmFyaW9zKCkp CisrICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFJ1bGUpOgorKyAgICAgICAgICAg IHNjZW5hcmlvcyA9IGxpc3QocnVuX2l0ZW0ud2Fsa19zY2VuYXJpb3MoKSkKKysgICAgICAgIGVs aWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW9PdXRsaW5lKToKKysgICAgICAgICAgICBz Y2VuYXJpb3MgPSBsaXN0KHJ1bl9pdGVtLnNjZW5hcmlvcykKKysgICAgICAgIGVsaWYgaXNpbnN0 YW5jZShydW5faXRlbSwgU2NlbmFyaW8pOgorKyAgICAgICAgICAgIHNjZW5hcmlvcyA9IFtydW5f aXRlbV0KKysgICAgICAgIHJldHVybiBzY2VuYXJpb3MKKysKKysgICAgQGNsYXNzbWV0aG9kCisr ICAgIGRlZiBtYWtlX2xpbmVfZGF0YV9mb3IoY2xzLCBlbnRpdHkpOgorKyAgICAgICAgbGluZV9k YXRhID0gW10KKysgICAgICAgIHJ1bl9pdGVtcyA9IFtdCisrICAgICAgICBpZiBpc2luc3RhbmNl KGVudGl0eSwgRmVhdHVyZSk6CisrICAgICAgICAgICAgbGluZV9kYXRhLmFwcGVuZCgoMCwgZW50 aXR5KSkKKysgICAgICAgICAgICBydW5faXRlbXMgPSBlbnRpdHkucnVuX2l0ZW1zCisrICAgICAg ICBlbGlmIGlzaW5zdGFuY2UoZW50aXR5LCBSdWxlKToKKysgICAgICAgICAgICBydW5faXRlbXMg PSBlbnRpdHkucnVuX2l0ZW1zCisrICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZW50aXR5LCBTY2Vu YXJpb091dGxpbmUpOgorKyAgICAgICAgICAgIHJ1bl9pdGVtcyA9IGVudGl0eS5zY2VuYXJpb3MK KysKKysgICAgICAgIGxpbmVfZGF0YS5hcHBlbmQoKGVudGl0eS5sb2NhdGlvbi5saW5lLCBlbnRp dHkpKQorKyAgICAgICAgZm9yIHJ1bl9pdGVtIGluIHJ1bl9pdGVtczoKKysgICAgICAgICAgICBs aW5lX2RhdGEuZXh0ZW5kKGNscy5tYWtlX2xpbmVfZGF0YV9mb3IocnVuX2l0ZW0pKQorKyAgICAg ICAgIyAtLSBNQVlCRToKKysgICAgICAgICMgaWYgaXNpbnN0YW5jZShlbnRpdHksIFNjZW5hcmlv T3V0bGluZSkgYW5kIHJ1bl9pdGVtczoKKysgICAgICAgICMgICAgICMgLS0gU1BFQ0lBTCBDQVNF OiBMaW5lcyBhZnRlciBsYXN0IEV4YW1wbGVzIHJvdyA9PiBVc2UgU2NlbmFyaW9PdXRsaW5lCisr ICAgICAgICAjICAgICBsaW5lX2RhdGEuYXBwZW5kKChydW5faXRlbXNbLTFdLmxvY2F0aW9uLmxp bmUgKyAxLCBlbnRpdHkpKQorKyAgICAgICAgcmV0dXJuIHNvcnRlZChsaW5lX2RhdGEpCisrCisr ICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFrZShjbHMsIGVudGl0eSk6CisrICAgICAgICBy ZXR1cm4gY2xzKGVudGl0eSwgY2xzLm1ha2VfbGluZV9kYXRhX2ZvcihlbnRpdHkpKQorKworKwor KworIGNsYXNzIEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVjdG9yKG9iamVjdCk6CisgICAg ICIiIgorICAgICBDb2xsZWN0cyBGaWxlTG9jYXRpb24gb2JqZWN0cyBmb3IgYSBmZWF0dXJlLgor QEAgLTIwMCw2ICsyOTQsOTQgQEAgY2xhc3MgRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0 b3Iob2JqZWN0KToKKyAgICAgICAgIHJldHVybiBzZWxmLmZlYXR1cmUKKyAKKyAKKytjbGFzcyBG ZWF0dXJlU2NlbmFyaW9Mb2NhdGlvbkNvbGxlY3RvcjEoRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25D b2xsZWN0b3IpOgorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBzZWxlY3Rfc2NlbmFy aW9fbGluZV9mb3IobGluZSwgc2NlbmFyaW9fbGluZXMpOgorKyAgICAgICAgIiIiCisrICAgICAg ICBTZWxlY3Qgc2NlbmFyaW8gbGluZSBmb3IgYW55IGdpdmVuIGxpbmUuCisrCisrICAgICAgICBB TEdPUklUSE06IHNjZW5hcmlvLmxpbmUgPD0gbGluZSA8IG5leHRfc2NlbmFyaW8ubGluZQorKwor KyAgICAgICAgOnBhcmFtIGxpbmU6ICBBIGxpbmUgbnVtYmVyIGluIHRoZSBmaWxlIChhcyBudW1i ZXIpLgorKyAgICAgICAgOnBhcmFtIHNjZW5hcmlvX2xpbmVzOiBTb3J0ZWQgbGlzdCBvZiBzY2Vu YXJpbyBsaW5lcy4KKysgICAgICAgIDpyZXR1cm46IFNjZW5hcmlvLmxpbmUgKGZpcnN0IGxpbmUp IGZvciB0aGUgZ2l2ZW4gbGluZS4KKysgICAgICAgICIiIgorKyAgICAgICAgaWYgbm90IHNjZW5h cmlvX2xpbmVzOgorKyAgICAgICAgICAgIHJldHVybiAwICAgICMgLS0gU2VsZWN0IGFsbCBzY2Vu YXJpb3MuCisrICAgICAgICBwb3MgPSBiaXNlY3Qoc2NlbmFyaW9fbGluZXMsIGxpbmUpIC0gMQor KyAgICAgICAgaWYgcG9zIDwgMDoKKysgICAgICAgICAgICBwb3MgPSAwCisrICAgICAgICByZXR1 cm4gc2NlbmFyaW9fbGluZXNbcG9zXQorKworKyAgICBkZWYgZGlzY292ZXJfc2VsZWN0ZWRfc2Nl bmFyaW9zKHNlbGYsIHN0cmljdD1GYWxzZSk6CisrICAgICAgICAiIiIKKysgICAgICAgIERpc2Nv dmVycyBzZWxlY3RlZCBzY2VuYXJpb3MgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGZpbGUgbG9jYXRp b25zLgorKyAgICAgICAgSW4gYWRkaXRpb246CisrICAgICAgICAgICogZGlzY292ZXIgYWxsIHNj ZW5hcmlvcworKyAgICAgICAgICAqIGF1dG8tY29ycmVjdCBCQUQgTElORS1OVU1CRVJTCisrCisr ICAgICAgICA6cGFyYW0gc3RyaWN0OiAgSWYgdHJ1ZSwgcmFpc2VzIGV4Y2VwdGlvbiBpZiBmaWxl IGxvY2F0aW9uIGlzIGludmFsaWQuCisrICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIHNlbGVjdGVk IHNjZW5hcmlvcyBvZiB0aGlzIGZlYXR1cmUgKGFzIHNldCkuCisrICAgICAgICA6cmFpc2VzIElu dmFsaWRGaWxlTG9jYXRpb25FcnJvcjoKKysgICAgICAgICAgICBJZiBmaWxlIGxvY2F0aW9uIGlz IG5vIGV4YWN0bHkgY29ycmVjdCBhbmQgc3RyaWN0IGlzIHRydWUuCisrICAgICAgICAiIiIKKysg ICAgICAgIGFzc2VydCBzZWxmLmZlYXR1cmUKKysgICAgICAgIGlmIG5vdCBzZWxmLmFsbF9zY2Vu YXJpb3M6CisrICAgICAgICAgICAgc2VsZi5hbGxfc2NlbmFyaW9zID0gc2VsZi5mZWF0dXJlLndh bGtfc2NlbmFyaW9zKCkKKysKKysgICAgICAgICMgLS0gU1RFUDogQ2hlY2sgaWYgbGluZXMgYXJl IGNvcnJlY3QuCisrICAgICAgICBleGlzdGluZ19saW5lcyA9IFtzY2VuYXJpby5saW5lIGZvciBz Y2VuYXJpbyBpbiBzZWxmLmFsbF9zY2VuYXJpb3NdCisrICAgICAgICBzZWxlY3RlZF9saW5lcyA9 IGxpc3Qoc2VsZi5zY2VuYXJpb19saW5lcykKKysgICAgICAgIGZvciBsaW5lIGluIHNlbGVjdGVk X2xpbmVzOgorKyAgICAgICAgICAgIG5ld19saW5lID0gc2VsZi5zZWxlY3Rfc2NlbmFyaW9fbGlu ZV9mb3IobGluZSwgZXhpc3RpbmdfbGluZXMpCisrICAgICAgICAgICAgaWYgbmV3X2xpbmUgIT0g bGluZToKKysgICAgICAgICAgICAgICAgIyAtLSBBVVRPLUNPUlJFQ1QgQkFELUxJTkU6CisrICAg ICAgICAgICAgICAgIHNlbGYuc2NlbmFyaW9fbGluZXMucmVtb3ZlKGxpbmUpCisrICAgICAgICAg ICAgICAgIHNlbGYuc2NlbmFyaW9fbGluZXMuYWRkKG5ld19saW5lKQorKyAgICAgICAgICAgICAg ICBpZiBzdHJpY3Q6CisrICAgICAgICAgICAgICAgICAgICBtc2cgPSAiU2NlbmFyaW8gbG9jYXRp b24gJy4uLjolZCcgc2hvdWxkIGJlOiAnJXM6JWQnIiAlIFwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgIChsaW5lLCBzZWxmLmZpbGVuYW1lLCBuZXdfbGluZSkKKysgICAgICAgICAgICAgICAg ICAgIHJhaXNlIEludmFsaWRGaWxlTG9jYXRpb25FcnJvcihtc2cpCisrCisrICAgICAgICAjIC0t IFNURVA6IERldGVybWluZSBzZWxlY3RlZCBzY2VuYXJpb3MgYW5kIHN0b3JlIHRoZW0uCisrICAg ICAgICBzY2VuYXJpb19saW5lcyA9IHNldChzZWxmLnNjZW5hcmlvX2xpbmVzKQorKyAgICAgICAg c2VsZWN0ZWRfc2NlbmFyaW9zID0gc2V0KCkKKysgICAgICAgIGZvciBzY2VuYXJpbyBpbiBzZWxm LmFsbF9zY2VuYXJpb3M6CisrICAgICAgICAgICAgaWYgc2NlbmFyaW8ubGluZSBpbiBzY2VuYXJp b19saW5lczoKKysgICAgICAgICAgICAgICAgc2VsZWN0ZWRfc2NlbmFyaW9zLmFkZChzY2VuYXJp bykKKysgICAgICAgICAgICAgICAgc2NlbmFyaW9fbGluZXMucmVtb3ZlKHNjZW5hcmlvLmxpbmUp CisrICAgICAgICAjIC0tIENIRUNLIEFMTCBBUkUgUkVTT0xWRUQ6CisrICAgICAgICBhc3NlcnQg bm90IHNjZW5hcmlvX2xpbmVzCisrICAgICAgICByZXR1cm4gc2VsZWN0ZWRfc2NlbmFyaW9zCisr CisrCisrY2xhc3MgRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0b3IyKEZlYXR1cmVTY2Vu YXJpb0xvY2F0aW9uQ29sbGVjdG9yKToKKysKKysgICAgZGVmIGRpc2NvdmVyX3NlbGVjdGVkX3Nj ZW5hcmlvcyhzZWxmLCBzdHJpY3Q9RmFsc2UpOgorKyAgICAgICAgIiIiRGlzY292ZXJzIHNlbGVj dGVkIHNjZW5hcmlvcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZmlsZSBsb2NhdGlvbnMuCisrICAg ICAgICBJbiBhZGRpdGlvbjoKKysgICAgICAgICAgKiBkaXNjb3ZlciBhbGwgc2NlbmFyaW9zCisr ICAgICAgICAgICogYXV0by1jb3JyZWN0IEJBRCBMSU5FLU5VTUJFUlMKKysKKysgICAgICAgIDpw YXJhbSBzdHJpY3Q6ICBJZiB0cnVlLCByYWlzZXMgZXhjZXB0aW9uIGlmIGZpbGUgbG9jYXRpb24g aXMgaW52YWxpZC4KKysgICAgICAgIDpyZXR1cm46IExpc3Qgb2Ygc2VsZWN0ZWQgc2NlbmFyaW9z IG9mIHRoaXMgZmVhdHVyZSAoYXMgc2V0KS4KKysgICAgICAgIDpyYWlzZXMgSW52YWxpZEZpbGVM b2NhdGlvbkVycm9yOgorKyAgICAgICAgICAgIElmIGZpbGUgbG9jYXRpb24gaXMgbm8gZXhhY3Rs eSBjb3JyZWN0IGFuZCBzdHJpY3QgaXMgdHJ1ZS4KKysgICAgICAgICIiIgorKyAgICAgICAgYXNz ZXJ0IHNlbGYuZmVhdHVyZQorKyAgICAgICAgaWYgbm90IHNlbGYuYWxsX3NjZW5hcmlvczoKKysg ICAgICAgICAgICBzZWxmLmFsbF9zY2VuYXJpb3MgPSBzZWxmLmZlYXR1cmUud2Fsa19zY2VuYXJp b3MoKQorKworKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFr ZShzZWxmLmZlYXR1cmUpCisrICAgICAgICBzZWxlY3RlZF9saW5lcyA9IGxpc3Qoc2VsZi5zY2Vu YXJpb19saW5lcykKKysgICAgICAgIHNlbGVjdGVkX3NjZW5hcmlvcyA9IHNldCgpCisrICAgICAg ICBmb3IgbGluZSBpbiBzZWxlY3RlZF9saW5lczoKKysgICAgICAgICAgICBtb3JlX3NjZW5hcmlv cyA9IGxpbmVfZGF0YWJhc2Uuc2VsZWN0X3NjZW5hcmlvc19ieV9saW5lKGxpbmUpCisrICAgICAg ICAgICAgc2VsZWN0ZWRfc2NlbmFyaW9zLnVwZGF0ZShtb3JlX3NjZW5hcmlvcykKKysgICAgICAg IHJldHVybiBzZWxlY3RlZF9zY2VuYXJpb3MKKysKKysKKyBjbGFzcyBGZWF0dXJlTGlzdFBhcnNl cihvYmplY3QpOgorICAgICAiIiIKKyAgICAgUmVhZCB0ZXh0dWFsIGZpbGUsIGFsYSAnQGZlYXR1 cmVzLnR4dCcuIFRoaXMgZmlsZSBjb250YWluczoKK0BAIC0zMDQsNyArNDg2LDcgQEAgZGVmIHBh cnNlX2ZlYXR1cmVzKGZlYXR1cmVfZmlsZXMsIGxhbmd1YWdlPU5vbmUpOgorICAgICA6cGFyYW0g bGFuZ3VhZ2U6ICAgICAgRGVmYXVsdCBsYW5ndWFnZSB0byB1c2UuCisgICAgIDpyZXR1cm46IExp c3Qgb2YgZmVhdHVyZSBvYmplY3RzLgorICAgICAiIiIKKy0gICAgc2NlbmFyaW9fY29sbGVjdG9y ID0gRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0b3IoKQorKyAgICBzY2VuYXJpb19jb2xs ZWN0b3IgPSBGZWF0dXJlU2NlbmFyaW9Mb2NhdGlvbkNvbGxlY3RvcjIoKQorICAgICBmZWF0dXJl cyA9IFtdCisgICAgIGZvciBsb2NhdGlvbiBpbiBmZWF0dXJlX2ZpbGVzOgorICAgICAgICAgaWYg bm90IGlzaW5zdGFuY2UobG9jYXRpb24sIEZpbGVMb2NhdGlvbik6CitAQCAtMzE1LDcgKzQ5Nyw3 IEBAIGRlZiBwYXJzZV9mZWF0dXJlcyhmZWF0dXJlX2ZpbGVzLCBsYW5ndWFnZT1Ob25lKToKKyAg ICAgICAgICAgICBzY2VuYXJpb19jb2xsZWN0b3IuYWRkX2xvY2F0aW9uKGxvY2F0aW9uKQorICAg ICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICBlbGlmIHNjZW5hcmlvX2NvbGxlY3Rvci5mZWF0 dXJlOgorLSAgICAgICAgICAgICMgLS0gQUREIENVUlJFTlQgRkVBVFVSRTogQXMgY29sbGVjdGlv biBvZiBzY2VuYXJpb3MuCisrICAgICAgICAgICAgIyAtLSBORVcgRkVBVFVSRSBERVRFQ1RFRDog QWRkIGN1cnJlbnQgZmVhdHVyZS4KKyAgICAgICAgICAgICBjdXJyZW50X2ZlYXR1cmUgPSBzY2Vu YXJpb19jb2xsZWN0b3IuYnVpbGRfZmVhdHVyZSgpCisgICAgICAgICAgICAgZmVhdHVyZXMuYXBw ZW5kKGN1cnJlbnRfZmVhdHVyZSkKKyAgICAgICAgICAgICBzY2VuYXJpb19jb2xsZWN0b3IuY2xl YXIoKQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3J1bm5lci5zZWxlY3Rfc2NlbmFyaW9zX2J5X2Zp bGVfbG9jYXRpb24uZmVhdHVyZSBiL2ZlYXR1cmVzL3J1bm5lci5zZWxlY3Rfc2NlbmFyaW9zX2J5 X2ZpbGVfbG9jYXRpb24uZmVhdHVyZQoraW5kZXggZjYwYzQzZi4uNjllMjNmZSAxMDA2NDQKKy0t LSBhL2ZlYXR1cmVzL3J1bm5lci5zZWxlY3Rfc2NlbmFyaW9zX2J5X2ZpbGVfbG9jYXRpb24uZmVh dHVyZQorKysrIGIvZmVhdHVyZXMvcnVubmVyLnNlbGVjdF9zY2VuYXJpb3NfYnlfZmlsZV9sb2Nh dGlvbi5mZWF0dXJlCitAQCAtMTMsMTUgKzEzLDI4IEBAIEZlYXR1cmU6IFNlbGVjdCBTY2VuYXJp b3MgYnkgRmlsZSBMb2NhdGlvbgorICAgICAuICAgKiBBIGZpbGUgbG9jYXRpb24gd2l0aCBmaWxl bmFtZSBidXQgd2l0aG91dCBsaW5lIG51bWJlcgorICAgICAuICAgICByZWZlcnMgdG8gdGhlIGNv bXBsZXRlIGZpbGUKKyAgICAgLiAgICogQSBmaWxlIGxvY2F0aW9uIHdpdGggbGluZSBudW1iZXIg MCAoemVybykgcmVmZXJzIHRvIHRoZSBjb21wbGV0ZSBmaWxlCisrICAgIC4gICAqIEEgZmlsZSBs b2NhdGlvbiB3aXRoaW4gYSBzY2VuYXJpbyBjb250YWluZXIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5h cmlvT3V0bGluZSksCisrICAgIC4gICAgIHRoYXQgZG9lcyBub3QgcmVmZXIgdG8gdGhlIGZpbGUg bG9jYXRpb24gd2l0aGluIGEgc2NlbmFyaW8sCisrICAgIC4gICAgIHNlbGVjdHMgYWxsIHNjZW5h cmlvcyBvZiB0aGlzIHNjZW5hcmlvIGNvbnRhaW5lci4KKyAgICAgLgorICAgICAuIFNQRUNJRklD QVRJT046IFNjZW5hcmlvIHNlbGVjdGlvbiBieSBmaWxlIGxvY2F0aW9ucworICAgICAuICAgKiBz Y2VuYXJpby5saW5lID09IGZpbGVfbG9jYXRpb24ubGluZSBzZWxlY3RzIHNjZW5hcmlvIChwcmVm ZXJyZWQgbWV0aG9kKS4KKyAgICAgLiAgICogQW55IGxpbmUgbnVtYmVyIGluIHRoZSBmb2xsb3dp bmcgcmFuZ2UgaXMgYWNjZXB0YWJsZToKKy0gICAgLiAgICAgICAgc2NlbmFyaW8ubGluZSA8PSBm aWxlX2xvY2F0aW9uLmxpbmUgPCBuZXh0X3NjZW5hcmlvLmxpbmUKKy0gICAgLiAgICogVGhlIGZp cnN0IHNjZW5hcmlvIGlzIHNlbGVjdGVkLAorLSAgICAuICAgICBpZiB0aGUgZmlsZSBsb2NhdGlv biBsaW5lIG51bWJlciBpcyBsZXNzIHRoYW4gZmlyc3Qgc2NlbmFyaW8ubGluZS4KKysgICAgLiAg ICAgICAgc2NlbmFyaW8ubGluZSA8PSBmaWxlX2xvY2F0aW9uLmxpbmUgPCBuZXh0X2VudGl0eS5s aW5lIChtYXliZTogc2NlbmFyaW8pCisrICAgIC4gICAqIElmIHRoZSBmaWxlIGxvY2F0aW9uIGxp bmUgbnVtYmVyIGlzIGxlc3MgdGhhbiBmaXJzdCBzY2VuYXJpby5saW5lLAorKyAgICAuICAgICB0 aGUgcHJlY2VlZGluZyBzY2VuYXJpbyBjb250YWluZXIgKEZlYXR1cmUgb3IgUnVsZSkgaXMgc2Vs ZWN0ZWQuCisgICAgIC4gICAqIFRoZSBsYXN0IHNjZW5hcmlvIGlzIHNlbGVjdGVkLAorICAgICAu ICAgICBpZiB0aGUgZmlsZSBsb2NhdGlvbiBsaW5lIG51bWJlciBpcyBncmVhdGVyIHRoYW4gdGhl IGxpbmVzIGluIHRoZSBmaWxlLgorKyAgICAuICAgKiBGb3IgU2NlbmFyaW9PdXRsaW5lLnNjZW5h cmlvczoKKysgICAgLiAgICAgICAgIHNjZW5hcmlvLmxpbmUgPT0gU2NlbmFyaW9PdXRsaW5lLmV4 YW1wbGVzW3hdLnJvdy5saW5lCisrICAgIC4gICAgIFRoZSBsaW5lIG51bWJlciBvZiB0aGUgRXhh bXBsZXMgcm93IHRoYXQgY3JlYXRlZCB0aGUgc2NlbmFyaW8gaXMgYXNzaWduZWQgdG8gaXQuCisr ICAgIC4KKysgICAgLiBTUEVDSUZJQ0FUSU9OOiAiU2NlbmFyaW8gY29udGFpbmVyIiBzZWxlY3Rp b24gYnkgZmlsZSBsb2NhdGlvbnMKKysgICAgLiAgICogU2NlbmFyaW8gY29udGFpbmVycyBhcmU6 IEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZQorKyAgICAuICAgKiBBIGZpbGUgbG9jYXRp b24gdGhhdCBwb2ludHMgaW50byB0aGUgbWF0Y2hpbmcgcmFuZ2Ugb2YgYSBzY2VuYXJpbyBjb250 YWluZXIsCisrICAgIC4gICAgIHNlbGVjdHMgYWxsIHNjZW5hcmlvcyAvIHJ1bi1pdGVtcyB3aXRo aW4gdGhpcyBzY2VuYXJpbyBjb250YWluZXIuCisrICAgIC4gICAqIEFueSBsaW5lIG51bWJlciBp biB0aGUgZm9sbG93aW5nIHJhbmdlIHNlbGVjdHMgdGhlIHNjZW5hcmlvIGNvbnRhaW5lcjoKKysg ICAgLiAgICAgICAgZW50aXR5LmxpbmUgPD0gZmlsZV9sb2NhdGlvbi5saW5lIDwgbmV4dF9lbnRp dHkubGluZSAobWF5YmU6IGNoaWxkKQorICAgICAuCisgICAgIC4gU1BFQ0lGSUNBVElPTjogUnVu bmVyIHdpdGggc2NlbmFyaW8gbG9jYXRpb25zIChmaWxlIGxvY2F0aW9ucykKKyAgICAgLiAgICog QWRqYWNlbnQgZmlsZSBsb2NhdGlvbnMgYXJlIG1lcmdlZCBpZiB0aGV5IHJlZmVyIHRvIHRoZSBz YW1lIGZpbGUsIGxpa2U6CitAQCAtMTYyLDIyICsxNzUsMjQgQEAgRmVhdHVyZTogU2VsZWN0IFNj ZW5hcmlvcyBieSBGaWxlIExvY2F0aW9uCisgICAgICAgICAgICAgIiIiCisgCisgICAgIEBmaWxl X2xvY2F0aW9uLnNlbGVjdF9maXJzdAorLSAgICBTY2VuYXJpbzogU2VsZWN0IGZpcnN0IHNjZW5h cmlvIGlmIGxpbmUgbnVtYmVyIGlzIHNtYWxsZXIgdGhhbiBmaXJzdCBzY2VuYXJpbyBsaW5lCisr ICAgIFNjZW5hcmlvOiBTZWxlY3QgYWxsIHNjZW5hcmlvcyBpZiBsaW5lIG51bWJlciBpcyBzbWFs bGVyIHRoYW4gZmlyc3Qgc2NlbmFyaW8gbGluZQorIAorICAgICAgIENBU0U6IDAgPCBmaWxlX2xv Y2F0aW9uLmxpbmUgPCBmaXJzdF9zY2VuYXJpby5saW5lCisrICAgICAgSElOVDogQW55IGxpbmUg bnVtYmVyIG91dHNpZGUgb2YgYSBzY2VuYXJpbyBtYXkgcG9pbnQgaW50byBhICJzY2VuYXJpbyBj b250YWluZXIiLgorKyAgICAgICAgICAgIEluIHRoaXMgY2FzZSwgYWxsIHRoZSBzY2VuYXJpb3Mg b2YgdGhlIHNjZW5hcmlvIGNvbnRhaW5lciBhcmUgc2VsZWN0ZWQuCisgCisgICAgICAgICBXaGVu IEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1kcnktcnVuIC0tbm8tc2tpcHBlZCBmZWF0dXJlcy9h bGljZS5mZWF0dXJlOjEiCisgICAgICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisgICAg ICAgICAgICAgIiIiCisgICAgICAgICAgICAgMCBmZWF0dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAw IHNraXBwZWQsIDEgdW50ZXN0ZWQKKy0gICAgICAgICAgICAwIHNjZW5hcmlvcyBwYXNzZWQsIDAg ZmFpbGVkLCAxIHNraXBwZWQsIDEgdW50ZXN0ZWQKKysgICAgICAgICAgICAwIHNjZW5hcmlvcyBw YXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDIgdW50ZXN0ZWQKKyAgICAgICAgICAgICAiIiIK KyAgICAgICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisgICAgICAg ICAgICAgIiIiCisgICAgICAgICAgICAgRmVhdHVyZTogQWxpY2UKKyAgICAgICAgICAgICAgIFNj ZW5hcmlvOiBBbGljZSBGaXJzdAorICAgICAgICAgICAgICIiIgorLSAgICAgICAgQnV0IHRoZSBj b21tYW5kIG91dHB1dCBzaG91bGQgbm90IGNvbnRhaW46CisrICAgICAgICBCdXQgdGhlIGNvbW1h bmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorICAgICAgICAgICAgICIiIgorICAgICAgICAgICAg IFNjZW5hcmlvOiBBbGljZSBMYXN0CisgICAgICAgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvcHl0 ZXN0LmluaSBiL3B5dGVzdC5pbmkKK2luZGV4IGE2ODY1OTYuLmZmMmE4YTIgMTAwNjQ0CistLS0g YS9weXRlc3QuaW5pCisrKysgYi9weXRlc3QuaW5pCitAQCAtMTYsNyArMTYsNyBAQAorICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorIAorIFtweXRlc3RdCistbWludmVyc2lvbiAgICA9IDQuMgorK21p bnZlcnNpb24gICAgPSAyLjgKKyB0ZXN0cGF0aHMgICAgID0gdGVzdHMKKyBweXRob25fZmlsZXMg ID0gdGVzdF8qLnB5CisgYWRkb3B0cyA9IC0tbWV0YWRhdGEgUEFDS0FHRV9VTkRFUl9URVNUIGJl aGF2ZQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXJfdXRpbC5weSBiL3Rlc3Rz L3VuaXQvdGVzdF9ydW5uZXJfdXRpbC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAuLmI1MDE5YjgKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5u ZXJfdXRpbC5weQorQEAgLTAsMCArMSwxNzUgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQor KworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlv bgorK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0CisrZnJvbSBiZWhhdmUucnVu bmVyX3V0aWwgaW1wb3J0IEZlYXR1cmVMaW5lRGF0YWJhc2UKKytmcm9tIGJlaGF2ZS5wYXJzZXIg aW1wb3J0IHBhcnNlX2ZlYXR1cmUKKytmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgRmVhdHVyZSwg UnVsZSwgU2NlbmFyaW9PdXRsaW5lLCBTY2VuYXJpbywgQmFja2dyb3VuZAorK2ltcG9ydCBweXRl c3QKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEVTVCBEQVRB OiBGZWF0dXJlTGluZURhdGFiYXNlCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KytmZWF0dXJlX3RleHQxID0gdSIiIgorKyAgICBGZWF0dXJlOiBBbGljZQorKyAgICAgICAgQmFj a2dyb3VuZDogQWxpY2UuQmFja2dyb3VuZAorKyAgICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQg c3RlcCBwYXNzZXMKKysgICAgICAgICAgCisrICAgICAgICBTY2VuYXJpbzogQTEKKysgICAgICAg ICAgR2l2ZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3NlcworKworKyAgICAgICAgU2NlbmFyaW86IEEy CisrICAgICAgICAgIEdpdmVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMKKysgICAgICAgICAgV2hl biBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAgICIiIgorKworK2ZlYXR1cmVfdGV4dF93aXRo X3NjZW5hcmlvX291dGxpbmUgPSB1IiIiCisrICAgIEZlYXR1cmU6IEJvYgorKyAgICAKKysgICAg ICAgIFNjZW5hcmlvIE91dGxpbmU6IEJvYi5TT18yXzxyb3cuaWQ+CisrICAgICAgICAgIEdpdmVu IGEgcGVyc29uIHdpdGggbmFtZSAiPE5hbWU+IgorKyAgICAgICAgICBUaGVuIHRoZSBwZXJzb24g aXMgYm9ybiBpbiA8QmlydGh5ZWFyPgorKyAgICAgICAgCisrICAgICAgICAgIEV4YW1wbGVzOgor KyAgICAgICAgICAgIHwgTmFtZSAgfCBCaXJ0aHllYXIgfAorKyAgICAgICAgICAgIHwgQWxpY2Ug fCAgMTk5MCAgICAgfAorKyAgICAgICAgICAgIHwgQm9iICAgfCAgMTk5MSAgICAgfAorKyAgICAg ICAgICAgIAorKyAgICAgICAgU2NlbmFyaW86IEJvYi5TMworKyAgICAgICAgICBHaXZlbiBhIHNj ZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIFdoZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3Nl cworKyAgICAiIiIKKysKKytmZWF0dXJlX3RleHRfd2l0aF9ydWxlID0gdSIiIgorKyAgICBGZWF0 dXJlOiBDaGFybHkKKysgICAgICAgIEJhY2tncm91bmQ6IENoYXJseS5CYWNrZ3JvdW5kCisrICAg ICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwIHBhc3NlcworKworKyAgICAgICAgU2NlbmFy aW86IEMxCisrICAgICAgICAgIEdpdmVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMKKysKKysgICAg ICAgIFJ1bGU6IENoYXJseS5SdWxlXzEKKysKKysgICAgICAgICAgU2NlbmFyaW86IFJ1bGVfMS5D MgorKyAgICAgICAgICAgIEdpdmVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMKKysgICAgICAgICAg ICBXaGVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMKKysgICAgIiIiCisrCisrZmVhdHVyZV9maWxl X21hcCA9IHsKKysgICAgImJhc2ljLmZlYXR1cmUiOiBmZWF0dXJlX3RleHQxLAorKyAgICAic2Nl bmFyaW9fb3V0bGluZS5mZWF0dXJlIjogZmVhdHVyZV90ZXh0X3dpdGhfc2NlbmFyaW9fb3V0bGlu ZSwKKysgICAgInJ1bGUuZmVhdHVyZSI6IGZlYXR1cmVfdGV4dF93aXRoX3J1bGUsCisrfQorKwor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBURVNUIFNVSVRFIEZPUjogRmVh dHVyZUxpbmVEYXRhYmFzZQorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xh c3MgVGVzdEZlYXR1cmVMaW5lRGF0YWJhc2Uob2JqZWN0KToKKysgICAgZGVmIHRlc3RfbWFrZShz ZWxmKToKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKGZlYXR1cmVfdGV4dDEuc3Ry aXAoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lPSJmZWF0dXJl cy9BbGljZS5mZWF0dXJlIikKKysgICAgICAgIHNjZW5hcmlvXzAgPSBmZWF0dXJlLnNjZW5hcmlv c1swXQorKyAgICAgICAgc2NlbmFyaW9fMSA9IGZlYXR1cmUuc2NlbmFyaW9zWzFdCisrCisrICAg ICAgICBsaW5lX2RhdGFiYXNlID0gRmVhdHVyZUxpbmVEYXRhYmFzZS5tYWtlKGZlYXR1cmUpCisr ICAgICAgICBleHBlY3RlZCA9IE9yZGVyZWREaWN0KFsKKysgICAgICAgICAgICAoMCwgZmVhdHVy ZSksCisrICAgICAgICAgICAgKGZlYXR1cmUubG9jYXRpb24ubGluZSwgZmVhdHVyZSksCisrICAg ICAgICAgICAgKHNjZW5hcmlvXzAubGluZSwgc2NlbmFyaW9fMCksCisrICAgICAgICAgICAgKHNj ZW5hcmlvXzEubGluZSwgc2NlbmFyaW9fMSksCisrICAgICAgICBdKQorKyAgICAgICAgYXNzZXJ0 IGxpbmVfZGF0YWJhc2UuZGF0YSA9PSBleHBlY3RlZAorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUu bG9jYXRpb24ubGluZSA9PSAxCisrCisrICAgIGRlZiB0ZXN0X21ha2VfX3dpdGhfc2NlbmFyaW9f b3V0bGluZShzZWxmKToKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKGZlYXR1cmVf dGV4dF93aXRoX3NjZW5hcmlvX291dGxpbmUuc3RyaXAoKSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZpbGVuYW1lPSJmZWF0dXJlcy9Cb2IuZmVhdHVyZSIpCisrICAgICAgICBz Y2VuYXJpb3MgPSBmZWF0dXJlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSkKKysg ICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBzY2VuYXJpb3NbMF0KKysgICAgICAgIGFzc2VydCBz Y2VuYXJpb19vdXRsaW5lIGlzIGZlYXR1cmUucnVuX2l0ZW1zWzBdCisrICAgICAgICBzY2VuYXJp b18xID0gc2NlbmFyaW9zWzFdCisrICAgICAgICBzY2VuYXJpb18yID0gc2NlbmFyaW9zWzJdCisr ICAgICAgICBzY2VuYXJpb18zID0gc2NlbmFyaW9zWzNdCisrCisrICAgICAgICBsaW5lX2RhdGFi YXNlID0gRmVhdHVyZUxpbmVEYXRhYmFzZS5tYWtlKGZlYXR1cmUpCisrICAgICAgICBleHBlY3Rl ZCA9IE9yZGVyZWREaWN0KFsKKysgICAgICAgICAgICAoMCwgZmVhdHVyZSksCisrICAgICAgICAg ICAgKGZlYXR1cmUubG9jYXRpb24ubGluZSwgZmVhdHVyZSksCisrICAgICAgICAgICAgKHNjZW5h cmlvX291dGxpbmUubGluZSwgc2NlbmFyaW9fb3V0bGluZSksCisrICAgICAgICAgICAgKHNjZW5h cmlvXzEubGluZSwgc2NlbmFyaW9fMSksCisrICAgICAgICAgICAgKHNjZW5hcmlvXzIubGluZSwg c2NlbmFyaW9fMiksCisrICAgICAgICAgICAgKHNjZW5hcmlvXzMubGluZSwgc2NlbmFyaW9fMyks CisrICAgICAgICBdKQorKyAgICAgICAgYXNzZXJ0IGxpbmVfZGF0YWJhc2UuZGF0YSA9PSBleHBl Y3RlZAorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubG9jYXRpb24ubGluZSA8IHNjZW5hcmlvX291 dGxpbmUubG9jYXRpb24ubGluZQorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvX291dGxpbmUubG9j YXRpb24ubGluZSA8IHNjZW5hcmlvXzEubG9jYXRpb24ubGluZQorKyAgICAgICAgYXNzZXJ0IHNj ZW5hcmlvXzEubG9jYXRpb24ubGluZSA8IHNjZW5hcmlvXzIubG9jYXRpb24ubGluZQorKyAgICAg ICAgYXNzZXJ0IHNjZW5hcmlvXzIubG9jYXRpb24ubGluZSA8IHNjZW5hcmlvXzMubG9jYXRpb24u bGluZQorKworKworKyAgICBkZWYgdGVzdF9zZWxlY3RfcnVuX2l0ZW1zX2J5X2xpbmVfX2ZlYXR1 cmVfbGluZV9zZWxlY3RzX2ZlYXR1cmUoc2VsZik6CisrICAgICAgICBmZWF0dXJlID0gcGFyc2Vf ZmVhdHVyZShmZWF0dXJlX3RleHQxLCBmaWxlbmFtZT0iZmVhdHVyZXMvQWxpY2UuZmVhdHVyZSIp CisrICAgICAgICBsaW5lX2RhdGFiYXNlID0gRmVhdHVyZUxpbmVEYXRhYmFzZS5tYWtlKGZlYXR1 cmUpCisrICAgICAgICBzZWxlY3RlZCA9IGxpbmVfZGF0YWJhc2Uuc2VsZWN0X3J1bl9pdGVtX2J5 X2xpbmUoZmVhdHVyZS5sb2NhdGlvbi5saW5lKQorKyAgICAgICAgYXNzZXJ0IHNlbGVjdGVkIGlz IGZlYXR1cmUKKysgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNlbGVjdGVkLCBGZWF0dXJlKQor KworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImZpbGVuYW1lIiwgWworKyAgICAgICAg ImJhc2ljLmZlYXR1cmUiLCAic2NlbmFyaW9fb3V0bGluZS5mZWF0dXJlIiwgInJ1bGUuZmVhdHVy ZSIKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfc2VsZWN0X3J1bl9pdGVtc19ieV9saW5lX19lbnRp dHlfbGluZV9zZWxlY3RzX2VudGl0eShzZWxmLCBmaWxlbmFtZSk6CisrICAgICAgICBmZWF0dXJl X3RleHQgPSBmZWF0dXJlX2ZpbGVfbWFwW2ZpbGVuYW1lXQorKyAgICAgICAgZmVhdHVyZSA9IHBh cnNlX2ZlYXR1cmUoZmVhdHVyZV90ZXh0LCBmaWxlbmFtZT1maWxlbmFtZSkKKysgICAgICAgIGxp bmVfZGF0YWJhc2UgPSBGZWF0dXJlTGluZURhdGFiYXNlLm1ha2UoZmVhdHVyZSkKKysgICAgICAg IGxhc3RfbGluZSA9IDAKKysgICAgICAgIGFsbF9ydW5faXRlbXMgPSBmZWF0dXJlLndhbGtfc2Nl bmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSwgd2l0aF9ydWxlcz1UcnVlKQorKyAgICAgICAgZm9y IHJ1bl9pdGVtIGluIGFsbF9ydW5faXRlbXM6CisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaW5l X2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9ieV9saW5lKHJ1bl9pdGVtLmxvY2F0aW9uLmxpbmUp CisrICAgICAgICAgICAgYXNzZXJ0IHNlbGVjdGVkIGlzIHJ1bl9pdGVtCisrICAgICAgICAgICAg YXNzZXJ0IGxhc3RfbGluZSA8IHNlbGVjdGVkLmxvY2F0aW9uLmxpbmUKKysgICAgICAgICAgICBs YXN0X2xpbmUgPSBydW5faXRlbS5sb2NhdGlvbi5saW5lCisrCisrICAgIEBweXRlc3QubWFyay5w YXJhbWV0cml6ZSgiZmlsZW5hbWUiLCBbCisrICAgICAgICAiYmFzaWMuZmVhdHVyZSIsICJzY2Vu YXJpb19vdXRsaW5lLmZlYXR1cmUiLCAicnVsZS5mZWF0dXJlIgorKyAgICBdKQorKyAgICBkZWYg dGVzdF9zZWxlY3RfcnVuX2l0ZW1zX2J5X2xpbmVfX2xpbmVfYmVmb3JlX2VudGl0eV9zZWxlY3Rz X2xhc3RfZW50aXR5KHNlbGYsIGZpbGVuYW1lKToKKysgICAgICAgIGZlYXR1cmVfdGV4dCA9IGZl YXR1cmVfZmlsZV9tYXBbZmlsZW5hbWVdCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVy ZShmZWF0dXJlX3RleHQsIGZpbGVuYW1lPWZpbGVuYW1lKQorKyAgICAgICAgbGluZV9kYXRhYmFz ZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0dXJlKQorKyAgICAgICAgYWxsX3J1bl9p dGVtcyA9IGZlYXR1cmUud2Fsa19zY2VuYXJpb3Mod2l0aF9vdXRsaW5lcz1UcnVlLCB3aXRoX3J1 bGVzPVRydWUpCisrICAgICAgICBsYXN0X3J1bl9pdGVtID0gZmVhdHVyZQorKyAgICAgICAgZm9y IHJ1bl9pdGVtIGluIGFsbF9ydW5faXRlbXM6CisrICAgICAgICAgICAgcHJlZGVjZXNzb3JfbGlu ZSA9IHJ1bl9pdGVtLmxvY2F0aW9uLmxpbmUgLSAxCisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBs aW5lX2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9ieV9saW5lKHByZWRlY2Vzc29yX2xpbmUpCisr ICAgICAgICAgICAgYXNzZXJ0IHNlbGVjdGVkIGlzIGxhc3RfcnVuX2l0ZW0KKysgICAgICAgICAg ICBhc3NlcnQgc2VsZWN0ZWQgaXMgbm90IHJ1bl9pdGVtCisrICAgICAgICAgICAgbGFzdF9ydW5f aXRlbSA9IHJ1bl9pdGVtCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZmlsZW5h bWUiLCBbCisrICAgICAgICAiYmFzaWMuZmVhdHVyZSIsICJzY2VuYXJpb19vdXRsaW5lLmZlYXR1 cmUiLCAicnVsZS5mZWF0dXJlIgorKyAgICBdKQorKyAgICBkZWYgdGVzdF9zZWxlY3RfcnVuX2l0 ZW1zX2J5X2xpbmVfX2xpbmVfYWZ0ZXJfZW50aXR5X3NlbGVjdHNfZW50aXR5KHNlbGYsIGZpbGVu YW1lKToKKysgICAgICAgICMgLS0gSElOVDogSW4gbW9zdCBjYXNlcworKyAgICAgICAgIyBFWENF UFQ6CisrICAgICAgICAjICAgKiBTY2VuYXJpb3Mgb2YgU2NlbmFyaW9PdXRsaW5lOiBzY2VuYXJp by5saW5lID09IFNPLmV4YW1wbGVzLnJvdy5saW5lCisrICAgICAgICAjICAgKiBFbXB0eSBlbnRp dHkgd2l0aG91dCBzdGVwcyBpcyBkaXJlY3RseSBmb2xsb3dlZCBieSBvdGhlciBlbnRpdHkKKysg ICAgICAgIGZlYXR1cmVfdGV4dCA9IGZlYXR1cmVfZmlsZV9tYXBbZmlsZW5hbWVdCisrICAgICAg ICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0dXJlX3RleHQsIGZpbGVuYW1lPWZpbGVuYW1l KQorKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0 dXJlKQorKyAgICAgICAgYWxsX3J1bl9pdGVtcyA9IGZlYXR1cmUud2Fsa19zY2VuYXJpb3Mod2l0 aF9vdXRsaW5lcz1UcnVlLCB3aXRoX3J1bGVzPVRydWUpCisrICAgICAgICBmaWxlX2VuZF9saW5l ID0gYWxsX3J1bl9pdGVtc1stMV0ubG9jYXRpb24ubGluZSArIDEwMDAKKysgICAgICAgIGZvciBp bmRleCwgcnVuX2l0ZW0gaW4gZW51bWVyYXRlKGFsbF9ydW5faXRlbXMpOgorKyAgICAgICAgICAg IG5leHRfbGluZSA9IHJ1bl9pdGVtLmxvY2F0aW9uLmxpbmUgKyAxCisrICAgICAgICAgICAgbmV4 dF9lbnRpdHlfbGluZSA9IGZpbGVfZW5kX2xpbmUKKysgICAgICAgICAgICBpZiBpbmRleCsxIDwg bGVuKGFsbF9ydW5faXRlbXMpOgorKyAgICAgICAgICAgICAgICBuZXh0X2VudGl0eSA9IGFsbF9y dW5faXRlbXNbaW5kZXgrMV0KKysgICAgICAgICAgICAgICAgbmV4dF9lbnRpdHlfbGluZSA9IG5l eHRfZW50aXR5LmxpbmUKKysgICAgICAgICAgICBpZiBuZXh0X2xpbmUgPj0gbmV4dF9lbnRpdHlf bGluZToKKysgICAgICAgICAgICAgICAgIyAtLSBFWENMVURFOiBTY2VuYXJpb3MgaW4gYSBTY2Vu YXJpb091dGxpbmUKKysgICAgICAgICAgICAgICAgcHJpbnQoIkVYQ0xVREVEOiAlczogJXMgKGxp bmU9JXMpIiAlCisrICAgICAgICAgICAgICAgICAgICAgIChydW5faXRlbS5rZXl3b3JkLCBydW5f aXRlbS5uYW1lLCBydW5faXRlbS5saW5lKSkKKysgICAgICAgICAgICAgICAgY29udGludWUKKysK KysgICAgICAgICAgICBzZWxlY3RlZCA9IGxpbmVfZGF0YWJhc2Uuc2VsZWN0X3J1bl9pdGVtX2J5 X2xpbmUobmV4dF9saW5lKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxlY3RlZCBpcyBydW5faXRl bQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAzOC1kb2NzLUFkZC1kZXNjcmlwdGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9u LWZvci1TY2VuLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAzOC1kb2NzLUFkZC1kZXNjcmlwdGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0 aW9uLWZvci1TY2VuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u MDUwOWFjZTZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzOC1kb2NzLUFkZC1kZXNjcmlwdGlvbi1mb3ItU2Vs ZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2VuLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gMmU1 MzJiM2UwYTBiZGM2OTIwMWNmNDgyZWFlYTgwMWY2M2JjZjYyNiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogU2F0LCA2IEp1bCAyMDE5IDEwOjUwOjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRv Y3M6IEFkZCBkZXNjcmlwdGlvbiBmb3IgIlNlbGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8K KyBDb250YWluZXJzIgorCistLS0KKyBkb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0 IHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDMz IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3Yx LjIuNy5yc3QgYi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CitpbmRleCA4MGQ5 NTc2Li5mZjFjZDFmIDEwMDY0NAorLS0tIGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43 LnJzdAorKysrIGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorQEAgLTcsNiAr Nyw3IEBAIFN1bW1hcnk6CisgKiBVc2UvU3VwcG9ydCA6cHlwaTpgY3VjdW1iZXItdGFnLWV4cHJl c3Npb25zYCAoc3VwZXJjZWVkOiBvbGQtc3R5bGUgdGFnLWV4cHJlc3Npb25zKQorICogOnB5cGk6 YGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2AgYXJlIGV4dGVuZGVkIGJ5ICJ0YWctbWF0Y2hpbmci CisgICB0byBtYXRjaCBwYXJ0aWFsIHRhZyBuYW1lcywgbGlrZTogYGBAZm9vLipgYAorKyogYFNl bGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8gQ29udGFpbmVyc2BfIChGZWF0dXJlLCBSdWxl LCBTY2VuYXJpb091dGxpbmUpCisgCisgLi4gX2BFeGFtcGxlIE1hcHBpbmdgOiBodHRwczovL2N1 Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1tYXBwaW5nLWludHJvZHVjdGlvbi8KKyAuLiBfYEV4YW1w bGUgTWFwcGluZyBXZWJpbmFyYDogaHR0cHM6Ly9jdWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFw cGluZy13ZWJpbmFyLworQEAgLTEwMiwzICsxMDMsMzUgQEAgT3ZlcnZpZXcgb2YgdGhlIGBFeGFt cGxlIE1hcHBpbmdgXyBjb25jZXB0czoKKyAKKyAKKyAuLiBpbmNsdWRlOjogX2NvbnRlbnQudGFn X2V4cHJlc3Npb25zX3YyLnJzdAorKworKworK1NlbGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFy aW8gQ29udGFpbmVycworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytJbiB0aGUgcGFzdCwg aXQgd2FzIGFscmVhZHkgcG9zc2libGUgdG8gc2NlbmFyaW8ocykgYnkgdXNpbmcgaXRzICoqZmls ZS1sb2NhdGlvbioqLgorKworK0EgKipmaWxlLWxvY2F0aW9uKiogaGFzIHRoZSBzY2hlbWE6IGBg PEZJTEVOQU1FPjo8TElORV9OVU1CRVI+YGAuCisrRXhhbXBsZTogYGBmZWF0dXJlcy9hbGljZS5m ZWF0dXJlOjEyYGAKKysocmVmZXJzIHRvIGBgbGluZSAxMmBgIGluIGBgZmVhdHVyZXMvYWxpY2Uu ZmVhdHVyZWBgIGZpbGUpLgorKworK1J1bGVzIHRvIHNlbGVjdCAqKlNjZW5hcmlvcyoqIGJ5IHVz aW5nIHRoZSBmaWxlLWxvY2F0aW9uOgorKworKyogKipTY2VuYXJpbzoqKiBVc2UgYSBmaWxlLWxv Y2F0aW9uIHRoYXQgcG9pbnRzIHRvIHRoZSBrZXl3b3JkL3RpdGxlIG9yIGl0cyBzdGVwcworKyAg KHVudGlsIG5leHQgU2NlbmFyaW8vRW50aXR5IHN0YXJ0cykuCisrCisrKiAqKlNjZW5hcmlvIG9m IGEgU2NlbmFyaW9PdXRsaW5lOioqCisrICBVc2UgdGhlIGZpbGUtbG9jYXRpb24gb2YgaXRzIEV4 YW1wbGVzIHJvdy4KKysKKytOb3cgeW91IGNhbiBzZWxlY3QgYWxsIGVudGl0aWVzIG9mIGEgKipT Y2VuYXJpbyBDb250YWluZXIqKiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKToKKysK KysqICoqRmVhdHVyZToqKgorKyAgVXNlIGZpbGUtbG9jYXRpb24gYmVmb3JlIGZpcnN0IGNvbnRh aW5lZCBlbnRpdHkvU2NlbmFyaW8gc3RhcnRzLgorKworKyogKipSdWxlOioqCisrICBVc2UgZmls ZS1sb2NhdGlvbiBmcm9tIGtleXdvcmQvdGl0bGUgbGluZSB0byBsaW5lIGJlZm9yZSBpdHMgZmly c3QgU2NlbmFyaW8vQmFja2dyb3VuZC4KKysKKysqICoqU2NlbmFyaW9PdXRsaW5lOioqCisrICBV c2UgZmlsZS1sb2NhdGlvbiBmcm9tIGtleXdvcmQvdGl0bGUgbGluZSB0byBsaW5lIGJlZm9yZSBp dHMgRXhhbXBsZXMgcm93cy4KKysKKytBIGZpbGUtbG9jYXRpb24gaW50byBhICoqU2NlbmFyaW8g Q29udGFpbmVyKiogc2VsZWN0cyBhbGwgaXRzIGVudGl0aWVzCisrKFNjZW5hcmlvcywgLi4uKS4K ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMzktdGVzdHMtRml4LXdhcm5pbmdzLWZvci1weXRob24zLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzOS10ZXN0cy1G aXgtd2FybmluZ3MtZm9yLXB5dGhvbjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi42MDgzMzEyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM5LXRlc3RzLUZpeC13YXJuaW5n cy1mb3ItcHl0aG9uMy5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIDZkYjFmOGEwZmUxNjBl MjYwMWNjOTAwOTgyZWQ1Mjk4ZmI3OGQzZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwg NiBKdWwgMjAxOSAxMzozNTo1MSArMDIwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0czogRml4IHdh cm5pbmdzIGZvciBweXRob24zLgorCistLS0KKyB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTAzMzYu cHkgfCAgMSArCisgdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weSAgICAgIHwgMTEgKysrKysrKy0t LS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDMzNi5weSBiL3Rlc3RzL2lzc3Vl cy90ZXN0X2lzc3VlMDMzNi5weQoraW5kZXggZWI0YzNmZC4uMDkyMDFhZSAxMDA2NDQKKy0tLSBh L3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDMzNi5weQorKysrIGIvdGVzdHMvaXNzdWVzL3Rlc3Rf aXNzdWUwMzM2LnB5CitAQCAtNTIsNiArNTIsNyBAQCBBc3NlcnRpb25FcnJvcgorICAgICAgICAg ICAgIGFzc2VydCBmaWxlX2xpbmVfdGV4dCBpbiB0ZXh0MgorIAorICAgICAjIEByZXF1aXJlX3B5 dGhvbjIKKysgICAgQHB5dGVzdC5tYXJrLmZpbHRlcndhcm5pbmdzKCJpZ25vcmU6aW52YWxpZCBl c2NhcGUgc2VxdWVuY2UiKQorICAgICBkZWYgdGVzdF9fcHJvYmxlbV9leGlzdHNfd2l0aF9wcm9i bGVtYXRpY19lbmNvZGluZyhzZWxmKToKKyAgICAgICAgICIiIlRlc3QgZW5zdXJlcyB0aGF0IHBy b2JsZW0gZXhpc3RzIHdpdGggZW5jb2Rpbmc9dW5pY29kZS1lc2NhcGUiIiIKKyAgICAgICAgICMg LS0gTk9URTogRXhwbGljaXQgdXNlIG9mIHByb2JsZW1hdGljIGVuY29kaW5nCitkaWZmIC0tZ2l0 IGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkK K2luZGV4IGVjYmIxYmYuLjAxMDA2ZjkgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcGFy c2VyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5CitAQCAtNTY0LDE2ICs1NjQs MTkgQEAgRmVhdHVyZTogU3R1ZmYKKyAgICAgICAgICAgICAoJ3RoZW4nLCAnVGhlbicsICdzdHVm ZiBpcyBpbiBidWNrZXRzJywgTm9uZSwgTm9uZSksCisgICAgICAgICBdKQorIAorKyAgICBAcHl0 ZXN0Lm1hcmsuZmlsdGVyd2FybmluZ3MoImlnbm9yZTppbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSIp CisgICAgIGRlZiB0ZXN0X3BhcnNlc19mZWF0dXJlX3dpdGhfdGFibGVfYW5kX2VzY2FwZWRfcGlw ZV9pbl9jZWxsX3ZhbHVlcyhzZWxmKToKKysgICAgICAgICMgLS0gSElOVCBweTM3OiBEZXByZWNh dGlvbldhcm5pbmc6IGludmFsaWQgZXNjYXBlIHNlcXVlbmNlICdcfCcKKysgICAgICAgICMgVVNF OiBEb3VibGUgZXNjYXBlZC1iYWNrc2xhc2hlcy4KKyAgICAgICAgIGRvYyA9IHUnJycKKyBGZWF0 dXJlOgorICAgU2NlbmFyaW86CisgICAgIEdpdmVuIHdlIGhhdmUgc3BlY2lhbCBjZWxsIHZhbHVl czoKKyAgICAgICB8IG5hbWUgICB8IHZhbHVlICAgIHwKKy0gICAgICB8IGFsaWNlICB8IG9uZVx8 dHdvIHwKKy0gICAgICB8IGJvYiAgICB8XHxvbmUgICAgIHwKKy0gICAgICB8IGNoYXJseSB8ICAg ICBvbmVcfHwKKy0gICAgICB8IGRvcm8gICB8IG9uZVx8dHdvXHx0aHJlZVx8Zm91ciB8CisrICAg ICAgfCBhbGljZSAgfCBvbmVcXHx0d28gfAorKyAgICAgIHwgYm9iICAgIHxcXHxvbmUgICAgIHwK KysgICAgICB8IGNoYXJseSB8ICAgICBvbmVcXHx8CisrICAgICAgfCBkb3JvICAgfCBvbmVcXHx0 d29cXHx0aHJlZVxcfGZvdXIgfAorICcnJy5sc3RyaXAoKQorICAgICAgICAgZmVhdHVyZSA9IHBh cnNlci5wYXJzZV9mZWF0dXJlKGRvYykKKyAgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2Vu YXJpb3MpID09IDEKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDAtVXNlLWN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucy0xLjEu Mi10by1maXgtd2FybmluZ3MucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDQwLVVzZS1jdWN1bWJlci10YWctZXhwcmVzc2lvbnMtMS4x LjItdG8tZml4LXdhcm5pbmdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZGNmZmM5MDVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MC1Vc2UtY3VjdW1iZXItdGFnLWV4cHJl c3Npb25zLTEuMS4yLXRvLWZpeC13YXJuaW5ncy5wYXRjaApAQCAtMCwwICsxLDU1IEBACitGcm9t IDA2OGRiMzMxM2I3ZGIyNmI1M2M2NTIwMzNhZjJmMWYyYmM1Y2VkNjUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAxMzozNjo1OSArMDIwMAorU3ViamVjdDogW1BBVENI XSBVc2UgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zIDEuMS4yICh0byBmaXggd2FybmluZ3MpLgor CitweS5yZXF1aXJlbWVudHM6IEFkZCB0d2luZSwgYnVtcDJ2ZXJzaW9uCistLS0KKyBweS5yZXF1 aXJlbWVudHMvYmFzaWMudHh0ICAgfCAyICstCisgcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0 IHwgNiArKysrKy0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgfCAyICstCisgMyBmaWxl cyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAor aW5kZXggM2I3MWJmYi4uYWQ1YjlhNiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9iYXNp Yy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKK0BAIC04LDcgKzgsNyBAQAor ICMgICogaHR0cDovL3d3dy5waXAtaW5zdGFsbGVyLm9yZy8KKyAjID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKyAKKy1jdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjEKKytjdWN1bWJlci10YWct ZXhwcmVzc2lvbnMgPj0gMS4xLjIKKyBwYXJzZSA+PSAxLjguMgorIHBhcnNlX3R5cGUgPj0gMC40 LjIKKyBzaXggPj0gMS4xMi4wCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3Au dHh0IGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitpbmRleCBkODIzMzg5Li5hMTZkN2Jm IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CisrKysgYi9weS5yZXF1 aXJlbWVudHMvZGV2ZWxvcC50eHQKK0BAIC0xMSw3ICsxMSwxMSBAQCBwYXRobGliOyAgICBweXRo b25fdmVyc2lvbiA8PSAnMy40JworIHB5Y21kCisgCisgIyAtLSBDT05GSUdVUkFUSU9OIE1BTkFH RU1FTlQgKGhlbHBlcnMpOgorLWJ1bXB2ZXJzaW9uID49IDAuNC4wCisrIyBGT1JNRVI6IGJ1bXB2 ZXJzaW9uID49IDAuNC4wCisrYnVtcDJ2ZXJzaW9uID49IDAuNS42CisrCisrIyAtLSBSRUxFQVNF IE1BTkFHRU1FTlQ6IFB1c2ggcGFja2FnZSB0byBweXBpLgorK3R3aW5lID49IDEuMTMuMAorIAor ICMgLS0gREVWRUxPUE1FTlQgU1VQUE9SVDoKKyB0b3ggICA+PSAxLjguMQorZGlmZiAtLWdpdCBh L3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IDljNzU2MGQuLmNlYTQzOTIgMTAwNjQ0CistLS0g YS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC03Niw3ICs3Niw3IEBAIHNldHVwKAorICAg ICAjIFNVUFBPUlQ6IHB5dGhvbjIuNywgcHl0aG9uMy4zIChvciBoaWdoZXIpCisgICAgIHB5dGhv bl9yZXF1aXJlcz0iPj0yLjcsICE9My4wLiosICE9My4xLiosICE9My4yLioiLAorICAgICBpbnN0 YWxsX3JlcXVpcmVzPVsKKy0gICAgICAgICJjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4x LjEiLAorKyAgICAgICAgImN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMiIsCisgICAg ICAgICAicGFyc2UgPj0gMS44LjIiLAorICAgICAgICAgInBhcnNlX3R5cGUgPj0gMC40LjIiLAor ICAgICAgICAgInNpeCA+PSAxLjEyLjAiLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MS1NRU5USU9OLUVOSEFOQ0VNRU5U LVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmlsZXMtLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MS1NRU5USU9OLUVOSEFOQ0VN RU5ULVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmlsZXMtLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTVhNjAwOTdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MS1NRU5U SU9OLUVOSEFOQ0VNRU5ULVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmlsZXMtLnBhdGNoCkBA IC0wLDAgKzEsOTEgQEAKK0Zyb20gZGQ2Yjc5YWE3MTYwNjIwYTJhMTk1MzM5ZGYzZjI5M2VhNWE3 MWJmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA2IEp1bCAyMDE5IDE0OjE4OjE2ICsw MjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1FTlRJT04gRU5IQU5DRU1FTlQ6IFN1cHBvcnQgZW1vamlz IGluIGZlYXR1cmUgZmlsZXMgYW5kCisgc3RlcHMuCisKKy0tLQorIENIQU5HRVMucnN0ICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMyArKy0KKyBkb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4y LjcucnN0IHwgMTcgKysrKysrKysrKysrKysrKysKKyBmZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1 cmUgICAgICAgIHwgIDcgKysrKysrKworIGZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMu cHkgfCAxMCArKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGZlYXR1cmVzL2kxOG5fZW1vamkuZmVh dHVyZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBmZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBz LnB5CisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCAwMWJk MWJkLi5kMTY1Mjc1IDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0 CitAQCAtMjQsOCArMjQsOSBAQCBHT0FMUzoKKyBFTkhBTkNFTUVOVFM6CisgCisgKiBBZGQgc3Vw cG9ydCBmb3IgR2hlcmtpbiB2NiBncmFtbWFyIGFuZCBzeW50YXggaW4gYGAqLmZlYXR1cmVgYCBm aWxlcworLSogVXNlIGN1Y3VtYmVyICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBub3cgKHNpbXBs aWZ5OiBHaGVya2luIHY2IGFsaWFzZXMsIGxhbmd1YWdlIHVzYWdlKQorICogVXNlIGBjdWN1bWJl ci10YWctZXhwcmVzc2lvbnNgXyB3aXRoIHRhZy1tYXRjaGluZyBleHRlbnNpb24gKHN1cGVyY2Vl ZHM6IG9sZC1zdHlsZSB0YWctZXhwcmVzc2lvbnMpCisrKiBVc2UgY3VjdW1iZXIgImdoZXJraW4t bGFuZ3VhZ2VzLmpzb24iIG5vdyAoc2ltcGxpZnk6IEdoZXJraW4gdjYgYWxpYXNlcywgbGFuZ3Vh Z2UgdXNhZ2UpCisrKiBTdXBwb3J0IGVtb2ppcyBpbiBgYCouZmVhdHVyZWBgIGZpbGVzIGFuZCBz dGVwcworICogaXNzdWUgIzY3ODogU2NlbmFyaW8gT3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGgg Y29tbWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRlZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwg IzY3OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhp biBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkK KyAqIFNlbGVjdC1ieS1sb2NhdGlvbjogQWRkIHN1cHBvcnQgZm9yICJTY2VuYXJpbyBjb250YWlu ZXIiIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpIChyZWxhdGVkIHRvOiAjMzkxKQor ZGlmZiAtLWdpdCBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QgYi9kb2NzL25l d19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CitpbmRleCBmZjFjZDFmLi5iNzI0MmY3IDEwMDY0 NAorLS0tIGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorKysrIGIvZG9jcy9u ZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorQEAgLTgsNiArOCw3IEBAIFN1bW1hcnk6Cisg KiA6cHlwaTpgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zYCBhcmUgZXh0ZW5kZWQgYnkgInRhZy1t YXRjaGluZyIKKyAgIHRvIG1hdGNoIHBhcnRpYWwgdGFnIG5hbWVzLCBsaWtlOiBgYEBmb28uKmBg CisgKiBgU2VsZWN0LWJ5LWxvY2F0aW9uIGZvciBTY2VuYXJpbyBDb250YWluZXJzYF8gKEZlYXR1 cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkKKysqIGBTdXBwb3J0IGZvciBlbW9qaXMgaW4gZmVh dHVyZSBmaWxlcyBhbmQgc3RlcHNgXworIAorIC4uIF9gRXhhbXBsZSBNYXBwaW5nYDogaHR0cHM6 Ly9jdWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFwcGluZy1pbnRyb2R1Y3Rpb24vCisgLi4gX2BF eGFtcGxlIE1hcHBpbmcgV2ViaW5hcmA6IGh0dHBzOi8vY3VjdW1iZXIuaW8vYmxvZy9leGFtcGxl LW1hcHBpbmctd2ViaW5hci8KK0BAIC0xMzUsMyArMTM2LDE5IEBAIE5vdyB5b3UgY2FuIHNlbGVj dCBhbGwgZW50aXRpZXMgb2YgYSAqKlNjZW5hcmlvIENvbnRhaW5lcioqIChGZWF0dXJlLCBSdWxl LCBTY2VuCisgCisgQSBmaWxlLWxvY2F0aW9uIGludG8gYSAqKlNjZW5hcmlvIENvbnRhaW5lcioq IHNlbGVjdHMgYWxsIGl0cyBlbnRpdGllcworIChTY2VuYXJpb3MsIC4uLikuCisrCisrCisrU3Vw cG9ydCBmb3IgRW1vamlzIGluIEZlYXR1cmUgRmlsZXMgYW5kIFN0ZXBzCisrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKworKyogRW1vamlzIGNhbiBub3cgYmUgdXNlZCBpbiBgYCouZmVhdHVyZWBg IGZpbGVzLgorKyogRW1vamlzIGNhbiBub3cgYmUgdXNlZCBpbiBzdGVwIGRlZmluaXRpb25zLgor KyogWW91IGNhbiBub3cgdXNlIGBgbGFuZ3VhZ2U9ZW1vamkgKGVtKWBgIGluIGBgKi5mZWF0dXJl YGAgZmlsZXMgOy0pCisrCisrLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9mZWF0dXJlcy9pMThuX2Vt b2ppLmZlYXR1cmUKKysgICAgOnByZXBlbmQ6ICAjIC0tIEZJTEU6IGZlYXR1cmVzL2kxOG5fZW1v amkuZmVhdHVyZQorKyAgICA6bGFuZ3VhZ2U6IGdoZXJraW4KKysKKysuLiBsaXRlcmFsaW5jbHVk ZTo6IC4uL2ZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkKKysgICAgOnByZXBlbmQ6 ICAjIC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkKKysgICAgOmxh bmd1YWdlOiBweXRob24KK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUg Yi9mZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi5kYjIzYWMyCistLS0gL2Rldi9udWxsCisrKysgYi9mZWF0dXJlcy9pMThuX2Vt b2ppLmZlYXR1cmUKK0BAIC0wLDAgKzEsNyBAQAorKyMgbGFuZ3VhZ2U6IGVtCisrIyBTT1VSQ0U6 IGh0dHBzOi8vZ2l0aHViLmNvbS9jdWN1bWJlci9jdWN1bWJlci9ibG9iL21hc3Rlci9naGVya2lu L3Rlc3RkYXRhL2dvb2QvaTE4bl9lbW9qaS5mZWF0dXJlCisrCisr8J+Tmjog8J+ZiPCfmYnwn5mK CisrCisrICDwn5OVOiDwn5KDCisrICAgIPCfmJDwn464CitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMv c3RlcHMvaTE4bl9lbW9qaV9zdGVwcy5weSBiL2ZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3Rl cHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zODFkMmJiCistLS0g L2Rldi9udWxsCisrKysgYi9mZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CitAQCAt MCwwICsxLDEwIEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysjIE5FRURFRC1CWTogZmVh dHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlCisrCisrZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuCisr CisrQGdpdmVuKHUn8J+OuCcpCisrZGVmIHN0ZXBfaW1wbChjb250ZXh0KToKKysgICAgIiIiU3Rl cCBpbXBsZW1lbnRhdGlvbiBleGFtcGxlIHdpdGggZW1vamkocykuIiIiCisrICAgIHBhc3MKKysK ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNDItRklYLUludmFsaWQtZXNjYXBlLWNoYXItaW4tcmVnZXgtdy1weXRob24zLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA0Mi1GSVgtSW52YWxpZC1lc2NhcGUtY2hhci1pbi1yZWdleC13LXB5dGhvbjMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zMmRkZDk2ZjUKLS0tIC9kZXYvbnVs bAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDQyLUZJWC1JbnZhbGlkLWVzY2FwZS1jaGFyLWluLXJlZ2V4LXctcHl0aG9uMy5wYXRjaApA QCAtMCwwICsxLDI1MCBAQAorRnJvbSAxZTgxMGQxMWFmY2ZiMTA1MGY0NGJlOTgzY2YwY2FjYTUw NTIzOGU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMTk6MDY6MTEg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBJbnZhbGlkIGVzY2FwZSBjaGFyIChpbiByZWdl eCkgdy8gcHl0aG9uMy4KKworLS0tCisgYmVoYXZlL2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMucHkg fCAgNTMgKysrKysrKystLS0tCisgdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weSAgfCAx NDQgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTIy IGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Zv cm1hdHRlci9hbnNpX2VzY2FwZXMucHkgYi9iZWhhdmUvZm9ybWF0dGVyL2Fuc2lfZXNjYXBlcy5w eQoraW5kZXggNmM5M2U2Yy4uM2VjODRkYiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9mb3JtYXR0ZXIv YW5zaV9lc2NhcGVzLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0dGVyL2Fuc2lfZXNjYXBlcy5weQor QEAgLTcsNiArNyw5IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cisg aW1wb3J0IG9zCisgaW1wb3J0IHJlCisgCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PRFVM RSBEQVRBCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjb2xvcnMgPSB7CisgICAgICJibGFjayI6 ICAgICAgICB1Ilx4MWJbMzBtIiwKKyAgICAgInJlZCI6ICAgICAgICAgIHUiXHgxYlszMW0iLAor QEAgLTM4LDI3ICs0MSw0OCBAQCBlc2NhcGVzID0geworICAgICAidXAiOiAgICAgICAgICAgdSJc eDFiWzFBIiwKKyB9CisgCistaWYgIkdIRVJLSU5fQ09MT1JTIiBpbiBvcy5lbnZpcm9uOgorLSAg ICBuZXdfYWxpYXNlcyA9IFtwLnNwbGl0KCI9IikgZm9yIHAgaW4gb3MuZW52aXJvblsiR0hFUktJ Tl9DT0xPUlMiXS5zcGxpdCgiOiIpXQorLSAgICBhbGlhc2VzLnVwZGF0ZShkaWN0KG5ld19hbGlh c2VzKSkKKyAKKy1mb3IgYWxpYXMgaW4gYWxpYXNlczoKKy0gICAgZXNjYXBlc1thbGlhc10gPSAi Ii5qb2luKFtjb2xvcnNbY10gZm9yIGMgaW4gYWxpYXNlc1thbGlhc10uc3BsaXQoIiwiKV0pCist ICAgIGFyZ19hbGlhcyA9IGFsaWFzICsgIl9hcmciCistICAgIGFyZ19zZXEgPSBhbGlhc2VzLmdl dChhcmdfYWxpYXMsIGFsaWFzZXNbYWxpYXNdICsgIixib2xkIikKKy0gICAgZXNjYXBlc1thcmdf YWxpYXNdID0gIiIuam9pbihbY29sb3JzW2NdIGZvciBjIGluIGFyZ19zZXEuc3BsaXQoIiwiKV0p CisrIyAtLSBORUVERUQtRk9SOiBzdHJpcF9lc2NhcGVzKCksIC4uLgorK19BTlNJX0VTQ0FQRV9Q QVRURVJOID0gcmUuY29tcGlsZSh1Ilx4MWJcXFtcXGQrW21BXSIsIHJlLlVOSUNPREUpCisgCisg CistIyBweWxpbnQ6IGRpc2FibGU9YW5vbWFsb3VzLWJhY2tzbGFzaC1pbi1zdHJpbmcKKysKKysj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTU9EVUxFIFNFVFVQCisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKytkZWYgX3NldHVwX21vZHVsZSgpOgorKyAgICAiIiJTZXR1cCB0aGUgcmVtYWluaW5nIEFO U0kgY29sb3IgYWxpYXNlcyBhbmQgQU5TSSBlc2NhcGUgc2VxdWVuY2VzLgorKworKyAgICAuLiBu b3RlOjogTWF5IG1vZGlmeS9leHRlbmQgdGhlIG1vZHVsZSBhdHRyaWJ1dGVzOgorKworKyAgICAg ICAgKiA6YXR0cjpgYWxpYXNlc2AKKysgICAgICAgICogOmF0dHI6YGVzY2FwZXNgCisrICAgICIi IgorKyAgICAjIE1BWUJFOiBnbG9iYWwgYWxpYXNlcywgZXNjYXBlcworKyAgICBpZiAiR0hFUktJ Tl9DT0xPUlMiIGluIG9zLmVudmlyb246CisrICAgICAgICBuZXdfYWxpYXNlcyA9IFtwLnNwbGl0 KCI9IikgZm9yIHAgaW4gb3MuZW52aXJvblsiR0hFUktJTl9DT0xPUlMiXS5zcGxpdCgiOiIpXQor KyAgICAgICAgYWxpYXNlcy51cGRhdGUoZGljdChuZXdfYWxpYXNlcykpCisrCisrICAgIGZvciBh bGlhcyBpbiBhbGlhc2VzOgorKyAgICAgICAgZXNjYXBlc1thbGlhc10gPSAiIi5qb2luKFtjb2xv cnNbY10gZm9yIGMgaW4gYWxpYXNlc1thbGlhc10uc3BsaXQoIiwiKV0pCisrICAgICAgICBhcmdf YWxpYXMgPSBhbGlhcyArICJfYXJnIgorKyAgICAgICAgYXJnX3NlcSA9IGFsaWFzZXMuZ2V0KGFy Z19hbGlhcywgYWxpYXNlc1thbGlhc10gKyAiLGJvbGQiKQorKyAgICAgICAgZXNjYXBlc1thcmdf YWxpYXNdID0gIiIuam9pbihbY29sb3JzW2NdIGZvciBjIGluIGFyZ19zZXEuc3BsaXQoIiwiKV0p CisrCisrCisrIyAtLSBPTkNFOiBEdXJpbmcgbW9kdWxlLWltcG9ydC4KKytfc2V0dXBfbW9kdWxl KCkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgRlVOQ1RJT05TOgorKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgZGVmIHVwKG4pOgorICAgICByZXR1cm4gdSJceDFiWyVkQSIgJSBuCisg CisgCistX0FOU0lfRVNDQVBFX1BBVFRFUk4gPSByZS5jb21waWxlKHUiXHgxYlxbXGQrW21BXSIs IHJlLlVOSUNPREUpCistIyBweWxpbnQ6IGVuYWJsZT1hbm9tYWxvdXMtYmFja3NsYXNoLWluLXN0 cmluZworIGRlZiBzdHJpcF9lc2NhcGVzKHRleHQpOgorLSAgICAiIiIKKy0gICAgUmVtb3ZlcyBB TlNJIGVzY2FwZSBzZXF1ZW5jZXMgZnJvbSB0ZXh0IChpZiBhbnkgYXJlIGNvbnRhaW5lZCkuCisr ICAgICIiIlJlbW92ZXMgQU5TSSBlc2NhcGUgc2VxdWVuY2VzIGZyb20gdGV4dCAoaWYgYW55IGFy ZSBjb250YWluZWQpLgorIAorICAgICA6cGFyYW0gdGV4dDogVGV4dCB0aGF0IG1heSBvciBtYXkg bm90IGNvbnRhaW4gQU5TSSBlc2NhcGUgc2VxdWVuY2VzLgorICAgICA6cmV0dXJuOiBUZXh0IHdp dGhvdXQgQU5TSSBlc2NhcGUgc2VxdWVuY2VzLgorQEAgLTY3LDggKzkxLDcgQEAgZGVmIHN0cmlw X2VzY2FwZXModGV4dCk6CisgCisgCisgZGVmIHVzZV9hbnNpX2VzY2FwZV9jb2xvcmJvbGRfY29t cG9zaXRlcygpOiAgICAgIyBwcmFnbWE6IG5vIGNvdmVyCistICAgICIiIgorLSAgICBQYXRjaCBm b3IgInNwaGlueGNvbnRyaWItYW5zaSIgdG8gcHJvY2VzcyB0aGUgZm9sbG93aW5nIEFOU0kgZXNj YXBlcworKyAgICAiIiJQYXRjaCBmb3IgInNwaGlueGNvbnRyaWItYW5zaSIgdG8gcHJvY2VzcyB0 aGUgZm9sbG93aW5nIEFOU0kgZXNjYXBlcworICAgICBjb3JyZWN0bHkgKHNldC1jb2xvciBzZXQt Ym9sZCBzZXF1ZW5jZXMpOgorIAorICAgICAgICAgRVNDW3tjb2xvcn1tRVNDWzFtICA9PiBFU0Nb e2NvbG9yfTsxbQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkg Yi90ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5CitpbmRleCA5NjlmM2E5Li40ZmI3OGMy IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorKysrIGIvdGVz dHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorQEAgLTksNjUgKzksODkgQEAKKyBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGltcG9ydCBweXRlc3QKKyBmcm9tIGJl aGF2ZS5mb3JtYXR0ZXIgaW1wb3J0IGFuc2lfZXNjYXBlcworLWltcG9ydCB1bml0dGVzdAorIGZy b20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZQorIAorLWNsYXNzIFN0cmlwRXNjYXBlc1Rlc3QodW5p dHRlc3QuVGVzdENhc2UpOgorLSAgICBBTExfQ09MT1JTID0gbGlzdChhbnNpX2VzY2FwZXMuY29s b3JzLmtleXMoKSkKKy0gICAgQ1VSU09SX1VQUyA9IFsgYW5zaV9lc2NhcGVzLnVwKGNvdW50KSAg Zm9yIGNvdW50IGluIHJhbmdlKDEwKSBdCistICAgIFRFWFRTID0gWworLSAgICAgICAgdSJsb3Jl bSBpcHN1bSIsCistICAgICAgICB1IkFsaWNlXG5Cb2JcbkNoYXJseVxuRGVubmlzIiwKKy0gICAg XQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGNvbG9yaXplKGNscywgdGV4dCwgY29s b3IpOgorLSAgICAgICAgY29sb3JfZXNjYXBlID0gIiIKKy0gICAgICAgIGlmIGNvbG9yOgorLSAg ICAgICAgICAgIGNvbG9yX2VzY2FwZSA9IGFuc2lfZXNjYXBlcy5jb2xvcnNbY29sb3JdCistICAg ICAgICByZXR1cm4gY29sb3JfZXNjYXBlICsgdGV4dCArIGFuc2lfZXNjYXBlcy5lc2NhcGVzWyJy ZXNldCJdCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgY29sb3JpemVfdGV4dChjbHMs IHRleHQsIGNvbG9ycz1Ob25lKToKKy0gICAgICAgIGlmIG5vdCBjb2xvcnM6CistICAgICAgICAg ICAgY29sb3JzID0gW10KKy0gICAgICAgIGNvbG9yc19zaXplID0gbGVuKGNvbG9ycykKKy0gICAg ICAgIGNvbG9yX2luZGV4ID0gMAorLSAgICAgICAgY29sb3JlZF9jaGFycyA9IFtdCistICAgICAg ICBmb3IgY2hhciBpbiB0ZXh0OgorLSAgICAgICAgICAgIGNvbG9yID0gY29sb3JzW2NvbG9yX2lu ZGV4XQorLSAgICAgICAgICAgIGNvbG9yZWRfY2hhcnMuYXBwZW5kKGNscy5jb2xvcml6ZShjaGFy LCBjb2xvcikpCistICAgICAgICAgICAgY29sb3JfaW5kZXggKz0gMQorLSAgICAgICAgICAgIGlm IGNvbG9yX2luZGV4ID49IGNvbG9yc19zaXplOgorLSAgICAgICAgICAgICAgICBjb2xvcl9pbmRl eCA9IDAKKy0gICAgICAgIHJldHVybiAiIi5qb2luKGNvbG9yZWRfY2hhcnMpCistCistICAgIGRl ZiB0ZXN0X3Nob3VsZF9yZXR1cm5fc2FtZV90ZXh0X3dpdGhvdXRfZXNjYXBlcyhzZWxmKToKKy0g ICAgICAgIGZvciB0ZXh0IGluIHNlbGYuVEVYVFM6CistICAgICAgICAgICAgYXNzZXJ0IHRleHQg PT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKy0KKy0gICAgZGVmIHRlc3Rfc2hv dWxkX3JldHVybl9lbXB0eV9zdHJpbmdfZm9yX2FueV9hbnNpX2VzY2FwZShzZWxmKToKKy0gICAg ICAgICMgWFhYLUpFLUNIRUNLLVBZMjM6IElmIGxpc3QoKSBpcyByZWFsbHkgbmVlZGVkLgorLSAg ICAgICAgZm9yIHRleHQgaW4gbGlzdChhbnNpX2VzY2FwZXMuY29sb3JzLnZhbHVlcygpKToKKy0g ICAgICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkK Ky0gICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5zaV9lc2NhcGVzLmVzY2FwZXMudmFsdWVzKCkp OgorLSAgICAgICAgICAgIGFzc2VydCAiIiA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0 ZXh0KQorLQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfY29sb3JfZXNjYXBlc19mcm9t X3RleHQoc2VsZik6CistICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRTOgorLSAgICAgICAg ICAgIGNvbG9yZWRfdGV4dCA9IHNlbGYuY29sb3JpemVfdGV4dCh0ZXh0LCBzZWxmLkFMTF9DT0xP UlMpCistICAgICAgICAgICAgYXNzZXJ0IHRleHQgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2Fw ZXMoY29sb3JlZF90ZXh0KQorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwg Y29sb3JlZF90ZXh0KQorLQorLSAgICAgICAgICAgIGZvciBjb2xvciBpbiBzZWxmLkFMTF9DT0xP UlM6CistICAgICAgICAgICAgICAgIGNvbG9yZWRfdGV4dCA9IHNlbGYuY29sb3JpemUodGV4dCwg Y29sb3IpCistICAgICAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJp cF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKy0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RF cXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9j dXJzb3JfdXBfZXNjYXBlc19mcm9tX3RleHQoc2VsZik6CistICAgICAgICBmb3IgdGV4dCBpbiBz ZWxmLlRFWFRTOgorLSAgICAgICAgICAgIGZvciBjdXJzb3JfdXAgaW4gc2VsZi5DVVJTT1JfVVBT OgorLSAgICAgICAgICAgICAgICBjb2xvcmVkX3RleHQgPSBjdXJzb3JfdXAgKyB0ZXh0ICsgYW5z aV9lc2NhcGVzLmVzY2FwZXNbInJlc2V0Il0KKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHRleHQg PT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90ZXh0KQorLSAgICAgICAgICAg ICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHRleHQsIGNvbG9yZWRfdGV4dCkKKysKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrIyBURVNUIFNVUFBPUlQgYW5kIFRFU1QgREFUQQorKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKytURVhUUyA9IFsKKysgICAgdSJsb3JlbSBpcHN1bSIsCisrICAgIHUiQWxpY2Ug YW5kIEJvYiIsCisrICAgIHUiQWxpY2VcbkJvYiIsCisrXQorK0FMTF9DT0xPUlMgPSBsaXN0KGFu c2lfZXNjYXBlcy5jb2xvcnMua2V5cygpKQorK0NVUlNPUl9VUFMgPSBbYW5zaV9lc2NhcGVzLnVw KGNvdW50KSBmb3IgY291bnQgaW4gcmFuZ2UoMTApXQorKworKworK2RlZiBjb2xvcml6ZSh0ZXh0 LCBjb2xvcik6CisrICAgIGNvbG9yX2VzY2FwZSA9ICIiCisrICAgIGlmIGNvbG9yOgorKyAgICAg ICAgY29sb3JfZXNjYXBlID0gYW5zaV9lc2NhcGVzLmNvbG9yc1tjb2xvcl0KKysgICAgcmV0dXJu IGNvbG9yX2VzY2FwZSArIHRleHQgKyBhbnNpX2VzY2FwZXMuZXNjYXBlc1sicmVzZXQiXQorKwor KworK2RlZiBjb2xvcml6ZV90ZXh0KHRleHQsIGNvbG9ycz1Ob25lKToKKysgICAgaWYgbm90IGNv bG9yczoKKysgICAgICAgIGNvbG9ycyA9IFtdCisrICAgIGNvbG9yc19zaXplID0gbGVuKGNvbG9y cykKKysgICAgY29sb3JfaW5kZXggPSAwCisrICAgIGNvbG9yZWRfY2hhcnMgPSBbXQorKyAgICBm b3IgY2hhciBpbiB0ZXh0OgorKyAgICAgICAgY29sb3IgPSBjb2xvcnNbY29sb3JfaW5kZXhdCisr ICAgICAgICBjb2xvcmVkX2NoYXJzLmFwcGVuZChjb2xvcml6ZShjaGFyLCBjb2xvcikpCisrICAg ICAgICBjb2xvcl9pbmRleCArPSAxCisrICAgICAgICBpZiBjb2xvcl9pbmRleCA+PSBjb2xvcnNf c2l6ZToKKysgICAgICAgICAgICBjb2xvcl9pbmRleCA9IDAKKysgICAgcmV0dXJuICIiLmpvaW4o Y29sb3JlZF9jaGFycykKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBURVNUIFNVSVRF CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiB0ZXN0X21vZHVsZV9zZXR1cCgpOgorKyAgICAi IiJFbnN1cmUgdGhhdCB0aGUgbW9kdWxlIHNldHVwIChhbGlhc2VzLCBlc2NhcGVzKSBvY2N1cmVk LiIiIgorKyAgICAjIGNvbG9yc19jb3VudCA9IGxlbihhbnNpX2VzY2FwZXMuY29sb3JzKQorKyAg ICBhbGlhc2VzX2NvdW50ID0gbGVuKGFuc2lfZXNjYXBlcy5hbGlhc2VzKQorKyAgICBlc2NhcGVz X2NvdW50ID0gbGVuKGFuc2lfZXNjYXBlcy5lc2NhcGVzKQorKyAgICBhc3NlcnQgZXNjYXBlc19j b3VudCA+PSAoMiArIGFsaWFzZXNfY291bnQgKyBhbGlhc2VzX2NvdW50KQorKworKworK2NsYXNz IFRlc3RTdHJpcEVzY2FwZXMob2JqZWN0KToKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRy aXplKCJ0ZXh0IiwgVEVYVFMpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fc2FtZV90ZXh0 X3dpdGhvdXRfZXNjYXBlcyhzZWxmLCB0ZXh0KToKKysgICAgICAgIGFzc2VydCB0ZXh0ID09IGFu c2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJh bWV0cml6ZSgidGV4dCIsIGFuc2lfZXNjYXBlcy5jb2xvcnMudmFsdWVzKCkpCisrICAgIGRlZiB0 ZXN0X3Nob3VsZF9yZXR1cm5fZW1wdHlfc3RyaW5nX2Zvcl9hbnlfYW5zaV9lc2NhcGVfY29sb3Io c2VsZiwgdGV4dCk6CisrICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2Vz Y2FwZXModGV4dCkKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0IiwgYW5z aV9lc2NhcGVzLmVzY2FwZXMudmFsdWVzKCkpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5f ZW1wdHlfc3RyaW5nX2Zvcl9hbnlfYW5zaV9lc2NhcGUoc2VsZiwgdGV4dCk6CisrICAgICAgICBh c3NlcnQgIiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKysKKysgICAgQHB5 dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0IiwgVEVYVFMpCisrICAgIGRlZiB0ZXN0X3Nob3Vs ZF9zdHJpcF9jb2xvcl9lc2NhcGVzX2Zyb21fYWxsX2NvbG9yZWRfdGV4dChzZWxmLCB0ZXh0KToK KysgICAgICAgIGNvbG9yZWRfdGV4dCA9IGNvbG9yaXplX3RleHQodGV4dCwgQUxMX0NPTE9SUykK KysgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9y ZWRfdGV4dCkKKysgICAgICAgIGFzc2VydCB0ZXh0ICE9IGNvbG9yZWRfdGV4dAorKworKyAgICBA cHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoInRleHQiLCBURVhUUykKKysgICAgQHB5dGVzdC5tYXJr LnBhcmFtZXRyaXplKCJjb2xvciIsIEFMTF9DT0xPUlMpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9z dHJpcF9jb2xvcl9lc2NhcGVzX2Zyb21fdGV4dChzZWxmLCB0ZXh0LCBjb2xvcik6CisrICAgICAg ICBjb2xvcmVkX3RleHQgPSBjb2xvcml6ZSh0ZXh0LCBjb2xvcikKKysgICAgICAgIGFzc2VydCB0 ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKysgICAgICAg IGFzc2VydCB0ZXh0ICE9IGNvbG9yZWRfdGV4dAorKworKyAgICAgICAgY29sb3JlZF90ZXh0MiA9 IGNvbG9yaXplKHRleHQsIGNvbG9yKSArIHRleHQKKysgICAgICAgIHRleHQyID0gdGV4dCArIHRl eHQKKysgICAgICAgIGFzc2VydCB0ZXh0MiA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhj b2xvcmVkX3RleHQyKQorKyAgICAgICAgYXNzZXJ0IHRleHQyICE9IGNvbG9yZWRfdGV4dDIKKysK KysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0IiwgVEVYVFMpCisrICAgIEBweXRl c3QubWFyay5wYXJhbWV0cml6ZSgiY3Vyc29yX3VwIiwgQ1VSU09SX1VQUykKKysgICAgZGVmIHRl c3Rfc2hvdWxkX3N0cmlwX2N1cnNvcl91cF9lc2NhcGVzX2Zyb21fdGV4dChzZWxmLCB0ZXh0LCBj dXJzb3JfdXApOgorKyAgICAgICAgY29sb3JlZF90ZXh0ID0gY3Vyc29yX3VwICsgdGV4dCArIGFu c2lfZXNjYXBlcy5lc2NhcGVzWyJyZXNldCJdCisrICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNp X2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCisrICAgICAgICBhc3NlcnQgdGV4 dCAhPSBjb2xvcmVkX3RleHQKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9u LWluLTc1Ni5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjFjNTE5YTBiMQotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaApAQCAtMCww ICsxLDMzNSBAQAorRnJvbSBiNDJiYmVmNWY0NWVlM2U4MDk0N2Y3NzI1OTJiMzFkOGJiYjY1Mjhj IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5u b3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMTk6MTU6NDQgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSF0gRXhhbXBsZSByZWxhdGVkIHRvIHF1ZXN0aW9uIGluICM3NTYKKwor LS0tCisgLi4uL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0ICAgIHwgMTE2 ICsrKysrKysrKysrKysrKysrKworIC4uLi9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkg ICAgICAgICAgICB8ICAgMAorIC4uLi9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dy b3VuZC5weSB8ICA4MCArKysrKysrKysrKysKKyAuLi4vZmVhdHVyZXMvZW52aXJvbm1lbnQucHkg ICAgICAgICAgICAgICAgICAgfCAgMzUgKysrKysrCisgLi4uL2ZlYXR1cmVzL2V4YW1wbGUuZmVh dHVyZSAgICAgICAgICAgICAgICAgIHwgIDE4ICsrKworIC4uLi9mZWF0dXJlcy9zdGVwcy9iYXNp Y19zdGVwcy5weSAgICAgICAgICAgICB8ICAxMyArKworIC4uLi9mZWF0dXJlcy9zdGVwcy91c2Vf c3RlcGxpYl9iZWhhdmU0Y21kLnB5ICB8ICAxMiArKworIDcgZmlsZXMgY2hhbmdlZCwgMjc0IGlu c2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlk ZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4 dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQv YmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmly b25tZW50LnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVf YmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQg ZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2lj X3N0ZXBzLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVf YmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5CisKK2Rp ZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1FLnJz dCBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uOWMxNTBjYworLS0tIC9kZXYvbnVsbAor KysrIGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKK0BA IC0wLDAgKzEsMTE2IEBACisrRVhBTVBMRTogT3ZlcnJpZGUgLyBEaXNhYmxlIEJhY2tncm91bmQg SW5oZXJpdGFuY2UgTWVjaGFuaXNtIGZvciBTY2VuYXJpbworKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKysKKys6UkVMQVRFRC1UTzogIzc1NgorKworK1RoaXMgZXhhbXBsZSBzaG93cyBob3cgdGhl IEJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGluIEdoZXJraW4KKytjYW4gYmUgZGlz YWJsZWQgaW4gYGBiZWhhdmVgYC4KKysKKytQYXJ0cyBvZiB0aGUgcmVjaXBlOgorKworKyogZmVh dHVyZXMvZXhhbXBsZS5mZWF0dXJlIChGZWF0dXJlIGZpbGUgYXMgZXhhbXBsZSkKKysqIGZlYXR1 cmVzL2Vudmlyb25tZW50LnB5IChnbHVlIGNvZGUgYW5kIGhvb2tzIGZvciBmaXh0dXJlLXRhZyAv IGZpeHR1cmUpCisrKiBiZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSAo Zml4dHVyZSBpbXBsZW1lbnRhdGlvbiwgd29ya2hvcnNlKQorKworKworKy4uIHdhcm5pbmc6OiBC RVdBUkU6IFRoaXMgc2hvd3MgeW91IGhvdyBjYW4gZG8gaXQsIG5vdCB0aGF0IHlvdSBzaG91bGQg ZG8gaXQKKysKKysgICAgQkVUVEVSOgorKworKyAgICAqIFVzZSBSdWxlcyB0byBncm91cCBTY2Vu YXJpb3MsIGVhY2ggd2l0aCBpdHMgb3duIEJhY2tncm91bmQgKGluIEdoZXJraW4gdjYpCisrICAg ICogU3BsaXQgRmVhdHVyZSBhc3BlY3RzIGludG8gbXVsdGlwbGUgZmVhdHVyZSBmaWxlcyAoaWYg bmVlZGVkKQorKyAgICAqIC4uLiAoc2VlIGlzc3VlICM3NTYgYWJvdmUpCisrCisrCisrRXhwbGFu YXRpb24KKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytFeGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUg YSBiZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRoZQorK2JhY2tncm91bmQgaW5oZXJpdGFuY2Ug bWVjaGFuaXNtIGJ5IHVzaW5nIGEgZml4dHVyZSAvIGZpeHR1cmUtdGFnLgorK1RoZSBmaXh0dXJl LXRhZyAiQGl4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCIgbWFya3MgdGhlCisrbG9j YXRpb24gaW4gR2hlcmtpbiAod2hpY2ggU2NlbmFyaW8pIHdoZXJlIHRoZSBmaXh0dXJlIHNob3Vs ZCBiZSB1c2VkCisrCisrLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKysKKysgICAgIyAtLSBGSUxF OiBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKysgICAgRmVhdHVyZTogU2hvdyBob3cgQGZpeHR1 cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQgaXMgdXNlZAorKworKyAgICAgICAgQmFja2dy b3VuZDoKKysgICAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAKKysKKysgICAgICAgIFNj ZW5hcmlvOiBBbGljZQorKyAgICAgICAgICBXaGVuIGEgc3RlcCBwYXNzZXMKKysgICAgICAgICAg QW5kIG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysg ICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQKKysgICAgICAgIFNjZW5h cmlvOiBCb2IKKysgICAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAK KysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3Rl IHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrV2hlbiB0 aGUgZmVhdHVyZSBpcyBleGVjdXRlZCwgeW91IHNlZSB0aGF0OgorKworKyogRmlyc3QgU2NlbmFy aW8gIkFsaWNlIjogQmFja2dyb3VuZCBzdGVwcyBhcmUgaW5oZXJpdGVkIGFuZCBleGVjdXRlZCBm aXJzdC4KKysqIFNlY29uZCBTY2VuYXJpbyAiQm9iIjogTm8gQmFja2dyb3VuZCBzdGVwIGlzIGV4 ZWN1dGVkLgorKworKy4uIGNvZGUtYmxvY2s6OiBzaAorKworKyAgICAkIC4uLy4uL2Jpbi9iZWhh dmUgLWYgcGxhaW4gZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IE92ZXJy aWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlv cworKyAgICAgIEJhY2tncm91bmQ6CisrCisrICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAg ICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAgV2hl biBhIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKysgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tn cm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4uLiBwYXNzZWQKKysgICAgRklYVFVSRS1I SU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiBCb2IKKysKKysgICAgICBTY2VuYXJpbzogQm9i CisrICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cCAuLi4gcGFzc2Vk CisrICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAg QW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIgLi4u IHBhc3NlZAorKworKyAgICAxIGZlYXR1cmUgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisr ICAgIDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICA2IHN0ZXBz IHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1bmRlZmluZWQKKysKKysKKytUaGUgZW52 aXJvbm1lbnQgZmlsZSBwcm92aWRlcyB0aGUgZ2x1ZSBjb2RlIHRoYXQgdGhlIGZpeHR1cmUgaXMg Y2FsbGVkOgorKworKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKysKKysgICAgIyAtLSBGSUxFOiBm ZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKyAgICBmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVy cmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZAorKyAgICBm cm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCB1c2VfZml4dHVyZV9ieV90YWcKKysKKysgICAgIyAt LSBGSVhUVVJFIFJFR0lTVFJZOgorKyAgICBmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAgICAgICAg ImZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNr Z3JvdW5kLAorKyAgICB9CisrCisrICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAgIyBI T09LUzoKKysgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyAgICBkZWYgYmVmb3JlX3RhZyhj b250ZXh0LCB0YWcpOgorKyAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6Cisr ICAgICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1 cmVfcmVnaXN0cnkpCisrCisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAjIC0t IEZJTEU6IGJlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5IChmaXh0dXJl IGltcGxlbWVudGF0aW9uKQorKyAgICBmcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQorKworKyAg ICBAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIikKKysg ICAgZGVmIGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kKGN0eCk6CisrICAgICAgICAjIC0tIFNF VFVQLVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFy aW9zIG9ubHkpLgorKyAgICAgICAgY3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbworKyAg ICAgICAgaWYgY3VycmVudF9zY2VuYXJpbzoKKysgICAgICAgICAgICBiZWhhdmVfZGlzYWJsZV9i YWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhjdXJyZW50X3NjZW5hcmlvKQorKwor KyAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrICAgICMgQkVIQVZFIFVUSUxJVFk6CisrICAg ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAgZGVmIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91 bmRfaW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNjZW5hcmlvKToKKysgICAgICAgIHByaW50KCJG SVhUVVJFLUhJTlQ6IERJU0FCTEUtQkFDS0dST1VORCBGT1I6ICVzIiAlIHNjZW5hcmlvLm5hbWUp CisrICAgICAgICBzY2VuYXJpby5iYWNrZ3JvdW5kID0gTm9uZQorZGlmZiAtLWdpdCBhL2V4YW1w bGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0 X18ucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1 cmVfbGliL19faW5pdF9fLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4u ZTY5ZGUyOQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3Vu ZC9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSBiL2V4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFj a2dyb3VuZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjZjNTcyY2YK Ky0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3Vu ZC9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weQorQEAgLTAsMCArMSw4 MCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyBSRUxBVEVELVRPOiAjNzU2CisrIiIi CisrRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJs ZSB0aGUKKytiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KKysKKysuLiBjb2RlLWJs b2NrOjogZ2hlcmtpbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVy ZQorKyAgICBGZWF0dXJlOiBTaG93IGhvdyBAZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dy b3VuZCBpcyB1c2VkCisrCisrICAgICAgICBCYWNrZ3JvdW5kOgorKyAgICAgICAgICBHaXZlbiBh IGJhY2tncm91bmQgc3RlcAorKworKyAgICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgICAg IFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5k IHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIgorKworKyAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm92 ZXJpZGVfYmFja2dyb3VuZAorKyAgICAgICAgU2NlbmFyaW86IEJvYgorKyAgICAgICAgICBHaXZl biBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAorKyAgICAgICAgICBXaGVuIGFub3RoZXIg c3RlcCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQ UyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAg ICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysgICAgZnJvbSBiZWhhdmVfZml4 dHVyZV9saWIub3ZlcnJpZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJyaWRlX2JhY2tn cm91bmQKKysgICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFn CisrCisrICAgICMgLS0gRklYVFVSRSBSRUdJU1RSWToKKysgICAgZml4dHVyZV9yZWdpc3RyeSA9 IHsKKysgICAgICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVf b3ZlcnJpZGVfYmFja2dyb3VuZCwKKysgICAgfQorKworKyAgICBkZWYgYmVmb3JlX3RhZyhjb250 ZXh0LCB0YWcpOgorKyAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CisrICAg ICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVf cmVnaXN0cnkpCisrCisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p bXBvcnQsIHByaW50X2Z1bmN0aW9uCisrZnJvbSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUKKysKKysK KysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBCRUhBVkUgRklYVFVSRVM6CisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorK0BmaXh0dXJlKG5hbWU9ImZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2Jh Y2tncm91bmQiKQorK2RlZiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZChjdHgpOgorKyAgICAi IiJPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBpbmhlcmludGFuY2UgbWVjaGFuaXNtLgorKyAgICBJ ZiBhIEZlYXR1cmUgLyBSdWxlIEJhY2tncm91bmQgZXhpc3RzIGluIGEgRmVhdHVyZSwKKysgICAg YWxsIGNvbnRhaW5lZCBTY2VuYXJpb3MgaW5oZXJpdCB0aGUgQmFja2dyb3VuZCdzIHN0ZXBzLgor KworKyAgICBUaGlzIGZpeHR1cmUgZGlzYWJsZXMgdGhpcyBtZWNoYW5pc20uCisrICAgIFRoZSB0 YWdnZWQgR2hlcmtpbiBlbGVtZW50IHdpbGwgbm8gbG9uZ2VyIGluaGVyaXQgdGhlIGJhY2tncm91 bmQgc3RlcHMuCisrCisrICAgIDpwYXJhbSBjdHg6IENvbnRleHQgb2JqZWN0IHRvIHVzZSAoZHVy aW5nIGEgdGVzdCBydW4pLgorKyAgICAiIiIKKysgICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERp c2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4KKysgICAg Y3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbworKyAgICBpZiBjdXJyZW50X3NjZW5hcmlv OgorKyAgICAgICAgYmVoYXZlX2Rpc2FibGVfYmFja2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2Nl bmFyaW8oY3VycmVudF9zY2VuYXJpbykKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBCRUhBVkUgVVRJTElUWToKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIGJlaGF2ZV9k aXNhYmxlX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNjZW5hcmlvKToKKysg ICAgcHJpbnQoIkZJWFRVUkUtSElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogJXMiICUgc2Nl bmFyaW8ubmFtZSkKKysgICAgc2NlbmFyaW8uYmFja2dyb3VuZCA9IE5vbmUKKysgICAgIyBzY2Vu YXJpby5fYmFja2dyb3VuZF9zdGVwcyA9IFtdCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorKyMgTU9EVUxFIFNQRUNJRklDOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytmaXh0dXJl X3JlZ2lzdHJ5ID0geworKyAgICAiZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kIjog YmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCisrfQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1w bGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjdhNGI3MzUKKy0tLSAvZGV2L251 bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9l bnZpcm9ubWVudC5weQorQEAgLTAsMCArMSwzNSBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSot CisrIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorK2ltcG9ydCBvcy5wYXRoCisr aW1wb3J0IHN5cworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFBZVEhPTiBQQVRIIFNF VFVQOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9f ZmlsZV9fKQorK1RPUEEgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKEhFUkUsICIuLiIp KQorKworK2RlZiBzZXR1cF9weXRob25fcGF0aCgpOgorKyAgICBzeXMucGF0aC5pbnNlcnQoMCwg VE9QQSkKKysKKytzZXR1cF9weXRob25fcGF0aCgpCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorKyMgTk9STUFMIFBBUlQ6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2Zyb20gYmVoYXZl X2ZpeHR1cmVfbGliLm92ZXJyaWRlX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9vdmVycmlkZV9i YWNrZ3JvdW5kCisrZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFn CisrCisrIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorK2ZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAg ICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFj a2dyb3VuZCwKKyt9CisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgSE9PS1M6Cisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiBiZWZvcmVfdGFnKGNvbnRleHQsIHRhZyk6Cisr ICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorKyAgICAgICAgcmV0dXJuIHVzZV9m aXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCisrCitkaWZmIC0t Z2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1w bGUuZmVhdHVyZSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJl cy9leGFtcGxlLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi41 ZGRkODc0CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2Jh Y2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCitAQCAtMCwwICsxLDE4IEBACisrRmVh dHVyZTogT3ZlcnJpZGUgdGhlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGluIHNv bWUgU2NlbmFyaW9zCisrCisrICAuIEJFV0FSRToKKysgIC4gICBUaGlzIGlzIG9ubHkgYW4gZXhh bXBsZSBob3cgdGhpcyBjYW4gYmUgZG9uZSAoUFJPT0YtT0YtQ09OQ0VQVCkuCisrICAuICAgVGhp cyBpcyBub3QgYW4gZXhhbXBsZSB0aGF0IHlvdSBzaG91bGQgZG8gdGhpcyAhISEKKysKKysgICAg QmFja2dyb3VuZDoKKysgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMKKysKKysg ICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAgQW5k IG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysgICAg QGZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZAorKyAgICBTY2VuYXJpbzogQm9iCisr ICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKysgICAgICBXaGVuIGFu b3RoZXIgc3RlcCBwYXNzZXMKKysgICAgICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNU RVBTIGFyZSBleGVjdXRlZCBoZXJlIgorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3Zl cnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weSBiL2V4YW1wbGVz L2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5w eQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjM0ZjIxMDcKKy0tLSAvZGV2 L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJl cy9zdGVwcy9iYXNpY19zdGVwcy5weQorQEAgLTAsMCArMSwxMyBAQAorK2Zyb20gYmVoYXZlIGlt cG9ydCBnaXZlbiwgc3RlcAorKworKyMgQHN0ZXAodSd7d29yZH0gc3RlcCBwYXNzZXMnKQorKyMg ZGVmIHN0ZXBfcGFzc2VzX3dpdGhfd29yZChjb250ZXh0LCB3b3JkKToKKysjICAgICBwYXNzCisr CisrQHN0ZXAodSd7d29yZH0gYmFja2dyb3VuZCBzdGVwIHBhc3NlcycpCisrZGVmIHN0ZXBfYmFj a2dyb3VuZF9zdGVwX3Bhc3Nlcyhjb250ZXh0LCB3b3JkKToKKysgICAgcGFzcworKworK0BnaXZl bih1J0kgbmVlZCB7d29yZH0gc2NlbmFyaW8gc2V0dXAnKQorK2RlZiBzdGVwX2dpdmVuX2lfbmVl ZF9zY2VuYXJpb19zZXR1cChjb250ZXh0LCB3b3JkKToKKysgICAgcGFzcworZGlmZiAtLWdpdCBh L2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vf c3RlcGxpYl9iZWhhdmU0Y21kLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3Jv dW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iYzMyYTMyCistLS0gL2Rldi9udWxsCisrKysgYi9l eGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0 ZXBsaWJfYmVoYXZlNGNtZC5weQorQEAgLTAsMCArMSwxMiBAQAorKyMgLSotIGNvZGluZzogdXRm LTggLSotCisrIiIiCisrVXNlIGJlaGF2ZTRjbWQwIHN0ZXAgbGlicmFyeSAocHJlZGVjZXNzb3Ig b2YgYmVoYXZlNGNtZCkuCisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0 ZV9pbXBvcnQKKysKKysjIC0tIFJFR0lTVEVSLVNURVBTIEZST00gU1RFUC1MSUJSQVJZOgorKyMg aW1wb3J0IGJlaGF2ZTRjbWQwLl9fYWxsX3N0ZXBzX18KKysjIGltcG9ydCBiZWhhdmU0Y21kMC5m YWlsaW5nX3N0ZXBzCisraW1wb3J0IGJlaGF2ZTRjbWQwLnBhc3Npbmdfc3RlcHMKKytpbXBvcnQg YmVoYXZlNGNtZDAubm90ZV9zdGVwcwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0NC1GSVgtcHl0aG9uMy44LXJlZ3Jlc3Np b25zLW9uLUNJLXNlcnZlci5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDQtRklYLXB5dGhvbjMuOC1yZWdyZXNzaW9ucy1vbi1DSS1z ZXJ2ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hMzk2Nzll N2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDQ0LUZJWC1weXRob24zLjgtcmVncmVzc2lvbnMtb24tQ0ktc2Vy dmVyLnBhdGNoCkBAIC0wLDAgKzEsNDg5IEBACitGcm9tIDdlZWUzMWVjNTczYjI5NjBjOWEzMDEz YzBlZTcwYzI3OTUzMzhhNzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lz IDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgNyBKdWwgMjAx OSAxMjo0MzoxOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IHB5dGhvbjMuOCByZWdyZXNz aW9ucyBvbiBDSSBzZXJ2ZXIKKworSXNzdWVzIHcvIHB5dGhvbjMuODoKKyogVHJhY2ViYWNrOiBM aW5lIG51bWJlcnMgb2Ygc3RlcCBmdW5jdGlvbnMgZGlmZmVyICgrMSkKKyogSlVuaXQgWE1MOiBB dHRyaWJ1dGUgb3JkZXJpbmcgb2YgWE1MIGVsZW1lbnQgZGlmZmVycyAoaW4gb3V0cHV0KQorLS0t CisgYmVoYXZlLmluaSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstCisgZmVhdHVy ZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAgICAgICB8IDE0ICsrKysrKworIGZlYXR1cmVzL3N0 ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUgfCAyMCArKysrLS0tLQorIGlzc3VlLmZlYXR1cmVz L2Vudmlyb25tZW50LnB5ICAgICAgICAgfCAzOCArKysrKysrKysrKystLS0KKyBpc3N1ZS5mZWF0 dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSAgICAgIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysr CisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUgICAgICB8IDcwICsrKysrKysrKysr KysrKysrKysrKysrKysrKworIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlICAgICAg fCA0OSArKysrKysrKysrKysrKysrKysrCisgdG94LmluaSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCisgOCBmaWxlcyBjaGFuZ2VkLCAyNDIgaW5zZXJ0aW9ucygrKSwgMTgg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUuaW5pIGIvYmVoYXZlLmluaQoraW5k ZXggNDVjMGYwZC4uOTUyMjQwZCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS5pbmkKKysrKyBiL2JlaGF2 ZS5pbmkKK0BAIC0xNSw4ICsxNSw5IEBAIHNob3dfc2tpcHBlZCA9IGZhbHNlCisgZm9ybWF0ICAg PSByZXJ1bgorICAgICBwcm9ncmVzczMKKyBvdXRmaWxlcyA9IHJlcnVuLnR4dAorLSAgICByZXBv cnRzL3JlcG9ydF9wcm9ncmVzczMudHh0CisrICAgIGJ1aWxkL2JlaGF2ZS5yZXBvcnRzL3JlcG9y dF9wcm9ncmVzczMudHh0CisganVuaXQgPSB0cnVlCisranVuaXRfZGlyZWN0b3J5ID0gYnVpbGQv YmVoYXZlLnJlcG9ydHMKKyBsb2dnaW5nX2xldmVsID0gSU5GTworICMgbG9nZ2luZ19mb3JtYXQg PSBMT0cuJShsZXZlbG5hbWUpLThzICAlKG5hbWUpLTEwczogJShtZXNzYWdlKXMKKyAjIGxvZ2dp bmdfZm9ybWF0ID0gTE9HLiUobGV2ZWxuYW1lKS04cyAgJShhc2N0aW1lKXMgICUobmFtZSktMTBz OiAlKG1lc3NhZ2UpcworZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvZmVh dHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDQ3NDRlODkuLjM3NjllZTQgMTAwNjQ0CistLS0g YS9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysrIGIvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkK K0BAIC0xLDUgKzEsNyBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyBGSUxFOiBmZWF0 dXJlcy9lbnZpcm9uZW1udC5weQorIAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBB Y3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworIGZyb20gYmVoYXZlNGNt ZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNz b3JzNGJlaGF2ZQorIGltcG9ydCBwbGF0Zm9ybQorQEAgLTIwLDYgKzIyLDE1IEBAIGFjdGl2ZV90 YWdfdmFsdWVfcHJvdmlkZXIgPSB7CisgfQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRh Z01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKysKKytkZWYgcHJpbnRfYWN0 aXZlX3RhZ3Nfc3VtbWFyeSgpOgorKyAgICBhY3RpdmVfdGFnX2RhdGEgPSBhY3RpdmVfdGFnX3Zh bHVlX3Byb3ZpZGVyCisrICAgIHByaW50KCJBQ1RJVkUtVEFHIFNVTU1BUlk6IikKKysgICAgcHJp bnQoInVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoInB5 dGhvbi52ZXJzaW9uIikpCisrICAgICMgcHJpbnQoInVzZS53aXRoX29zPSVzIiAlIGFjdGl2ZV90 YWdfZGF0YS5nZXQoIm9zIikpCisrICAgIHByaW50KCkKKysKKysKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgIyBIT09LUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMzAsMTEgKzQx LDE0IEBAIGRlZiBiZWZvcmVfYWxsKGNvbnRleHQpOgorICAgICBzZXR1cF9weXRob25fcGF0aCgp CisgICAgIHNldHVwX2NvbnRleHRfd2l0aF9nbG9iYWxfcGFyYW1zX3Rlc3QoY29udGV4dCkKKyAg ICAgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZSgpCisrICAgIHByaW50X2Fj dGl2ZV90YWdzX3N1bW1hcnkoKQorKworIAorIGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBm ZWF0dXJlKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgo ZmVhdHVyZS50YWdzKToKKyAgICAgICAgIGZlYXR1cmUuc2tpcChyZWFzb249YWN0aXZlX3RhZ19t YXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorKworIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4 dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVf d2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lwKHJl YXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEvZmVh dHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZSBiL2ZlYXR1cmVzL3N0ZXAuZHVwbGlj YXRlZF9zdGVwLmZlYXR1cmUKK2luZGV4IDU5ODg4YjAuLjM5NmNjYTIgMTAwNjQ0CistLS0gYS9m ZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9zdGVw LmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCitAQCAtMzIsMTEgKzMyLDExIEBAIEZlYXR1cmU6IER1 cGxpY2F0ZWQgU3RlcCBEZWZpbml0aW9ucworICAgICAgICAgQW1iaWd1b3VzU3RlcDogQGdpdmVu KCdJIGNhbGwgQWxpY2UnKSBoYXMgYWxyZWFkeSBiZWVuIGRlZmluZWQgaW4KKyAgICAgICAgIGV4 aXN0aW5nIHN0ZXAgQGdpdmVuKCdJIGNhbGwgQWxpY2UnKSBhdCBmZWF0dXJlcy9zdGVwcy9hbGlj ZV9zdGVwcy5weTozCisgICAgICAgICAiIiIKKy0gICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBz aG91bGQgY29udGFpbjoKKy0gICAgICAgICIiIgorLSAgICAgICAgRmlsZSAiZmVhdHVyZXMvc3Rl cHMvYWxpY2Vfc3RlcHMucHkiLCBsaW5lIDcsIGluIDxtb2R1bGU+CistICAgICAgICBAZ2l2ZW4o dSdJIGNhbGwgQWxpY2UnKQorLSAgICAgICAgIiIiCisrICAgICMgLS0gRElTQUJMRUQ6IFB5dGhv biAzLjggdHJhY2ViYWNrIGxpbmUgbnVtYmVycyBkaWZmZXIgdy8gZGVjb3JhdG9ycyAoKzEpLgor KyAgICAjIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisrICAgICMgICAg IiIiCisrICAgICMgICAgRmlsZSAiZmVhdHVyZXMvc3RlcHMvYWxpY2Vfc3RlcHMucHkiLCBsaW5l IDcsIGluIDxtb2R1bGU+CisrICAgICMgICAgIiIiCisgCisgCisgICBTY2VuYXJpbzogRHVwbGlj YXRlZCBTdGVwIERlZmluaXRpb24gaW4gYW5vdGhlciBGaWxlCitAQCAtNzAsMTEgKzcwLDExIEBA IEZlYXR1cmU6IER1cGxpY2F0ZWQgU3RlcCBEZWZpbml0aW9ucworICAgICAgICAgQW1iaWd1b3Vz U3RlcDogQGdpdmVuKCdJIGNhbGwgQm9iJykgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGluCisg ICAgICAgICBleGlzdGluZyBzdGVwIEBnaXZlbignSSBjYWxsIEJvYicpIGF0IGZlYXR1cmVzL3N0 ZXBzL2JvYjFfc3RlcHMucHk6MworICAgICAgICAgIiIiCistICAgIEFuZCB0aGUgY29tbWFuZCBv dXRwdXQgc2hvdWxkIGNvbnRhaW46CistICAgICAgICAiIiIKKy0gICAgICAgIEZpbGUgImZlYXR1 cmVzL3N0ZXBzL2JvYjJfc3RlcHMucHkiLCBsaW5lIDMsIGluIDxtb2R1bGU+CistICAgICAgICBA Z2l2ZW4oJ0kgY2FsbCBCb2InKQorLSAgICAgICAgIiIiCisrICAgICMgLS0gRElTQUJMRUQ6IFB5 dGhvbiAzLjggdHJhY2ViYWNrIGxpbmUgbnVtYmVycyBkaWZmZXIgdy8gZGVjb3JhdG9ycyAoKzEp LgorKyAgICAjIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisrICAgICMg ICAgIiIiCisrICAgICMgICAgRmlsZSAiZmVhdHVyZXMvc3RlcHMvYm9iMl9zdGVwcy5weSIsIGxp bmUgMywgaW4gPG1vZHVsZT4KKysgICAgIyAgICAiIiIKKyAKKyAgIEB4ZmFpbAorICAgU2NlbmFy aW86IER1cGxpY2F0ZWQgU2FtZSBTdGVwIERlZmluaXRpb24gdmlhIGltcG9ydCBmcm9tIGFub3Ro ZXIgRmlsZQorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvaXNz dWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDJkZmVjNzUuLjdlNDhlZTAgMTAwNjQ0 CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysrIGIvaXNzdWUuZmVhdHVy ZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xLDUgKzEsNSBAQAorICMgLSotIGNvZGluZzogVVRGLTgg LSotCistIyBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKyMgRklMRTogaXNzdWUuZmVh dHVyZXMvZW52aXJvbmVtbnQucHkKKyAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtYXJndW1lbnQK KyAiIiIKKyBGdW5jdGlvbmFsaXR5OgorQEAgLTcsMTcgKzcsMjAgQEAgRnVuY3Rpb25hbGl0eToK KyAgICogYWN0aXZlIHRhZ3MKKyAiIiIKKyAKKy1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50 X2Z1bmN0aW9uCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHBy aW50X2Z1bmN0aW9uCisgaW1wb3J0IHN5cworIGltcG9ydCBwbGF0Zm9ybQorIGltcG9ydCBvcy5w YXRoCisgaW1wb3J0IHNpeAorIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVU YWdNYXRjaGVyCisgZnJvbSBiZWhhdmU0Y21kMC5zZXR1cF9jb21tYW5kX3NoZWxsIGltcG9ydCBz ZXR1cF9jb21tYW5kX3NoZWxsX3Byb2Nlc3NvcnM0YmVoYXZlCistIyBQUkVQQVJFRDoKKy0jIGZy b20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworKyMg UFJFUEFSRUQ6IGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBzZXR1cF9hY3RpdmVfdGFn X3ZhbHVlcworIAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBURVNUIFNVUFBPUlQ6IEZv ciBBY3RpdmUgVGFncworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZGVmIHJlcXVpcmVfdG9vbCh0 b29sX25hbWUpOgorICAgICAiIiJDaGVjayBpZiBhIHRvb2wgKGFuIGV4ZWN1dGFibGUgcHJvZ3Jh bSkgaXMgcHJvdmlkZWQgb24gdGhpcyBwbGF0Zm9ybS4KKyAKK0BAIC00NSwxMiArNDgsMTQgQEAg ZGVmIHJlcXVpcmVfdG9vbCh0b29sX25hbWUpOgorICAgICAjIHByaW50KCJUT09MLU5PVC1GT1VO RDogJXMiICUgdG9vbF9uYW1lKQorICAgICByZXR1cm4gRmFsc2UKKyAKKysKKyBkZWYgYXNfYm9v bF9zdHJpbmcodmFsdWUpOgorICAgICBpZiBib29sKHZhbHVlKToKKyAgICAgICAgIHJldHVybiAi eWVzIgorICAgICBlbHNlOgorICAgICAgICAgcmV0dXJuICJubyIKKyAKKysKKyBkZWYgZGlzY292 ZXJfY2lfc2VydmVyKCk6CisgICAgICMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQorICAg ICBjaV9zZXJ2ZXIgPSAibm9uZSIKK0BAIC02NywxMiArNzIsMTcgQEAgZGVmIGRpc2NvdmVyX2Np X3NlcnZlcigpOgorICAgICByZXR1cm4gY2lfc2VydmVyCisgCisgCisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKysjIEJFSEFWRSBTVVBQT1JUOiBBY3RpdmUgVGFncworKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9 CisgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZh bHVlcyBmb3IgYWN0aXZlIHRhZ3MuCisrcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZl cnNpb25faW5mb1s6Ml0KKyBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworICAgICAicGxh dGZvcm0iOiBzeXMucGxhdGZvcm0sCisgICAgICJweXRob24yIjogc3RyKHNpeC5QWTIpLmxvd2Vy KCksCisgICAgICJweXRob24zIjogc3RyKHNpeC5QWTMpLmxvd2VyKCksCisrICAgICJweXRob24u dmVyc2lvbiI6IHB5dGhvbl92ZXJzaW9uLAorICAgICAjIC0tIHB5dGhvbi5pbXBsZW1lbnRhdGlv bjogY3B5dGhvbiwgcHlweSwganl0aG9uLCBpcm9ucHl0aG9uCisgICAgICJweXRob24uaW1wbGVt ZW50YXRpb24iOiBwbGF0Zm9ybS5weXRob25faW1wbGVtZW50YXRpb24oKS5sb3dlcigpLAorICAg ICAicHlweSI6ICAgIHN0cigiX19weXB5X18iIGluIHN5cy5tb2R1bGVzKS5sb3dlcigpLAorQEAg LTgyLDE3ICs5MiwzMyBAQCBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworIH0KKyBhY3Rp dmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlk ZXIpCisgCisrCisrZGVmIHByaW50X2FjdGl2ZV90YWdzX3N1bW1hcnkoKToKKysgICAgYWN0aXZl X3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcgorKyAgICBwcmludCgiQUNUSVZF LVRBRyBTVU1NQVJZOiIpCisrICAgIHByaW50KCJ1c2Uud2l0aF9weXRob24udmVyc2lvbj0lcyIg JSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJweXRob24udmVyc2lvbiIpKQorKyAgICAjIHByaW50KCJ1 c2Uud2l0aF9wbGF0Zm9ybT0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJwbGF0Zm9ybSIpKQor KyAgICAjIHByaW50KCJ1c2Uud2l0aF9vcz0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJvcyIp KQorKyAgICBwcmludCgpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEJFSEFWRSBI T09LUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRlZiBiZWZvcmVfYWxsKGNvbnRleHQpOgor ICAgICAjIC0tIFNFVFVQIEFDVElWRS1UQUcgTUFUQ0hFUiAod2l0aCB1c2VyZGF0YSk6CisgICAg ICMgVVNFOiBiZWhhdmUgLUQgYnJvd3Nlcj1zYWZhcmkgLi4uCistICAgICMgTk9ULU5FRURFRDog c2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwKKy0gICAg IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbmZpZy51c2Vy ZGF0YSkKKysgICAgIyBOT1QtTkVFREVEOgorKyAgICAjIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVz KGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIGNvbnRleHQuY29uZmlnLnVzZXJkYXRhKQorICAg ICBzZXR1cF9jb21tYW5kX3NoZWxsX3Byb2Nlc3NvcnM0YmVoYXZlKCkKKysgICAgcHJpbnRfYWN0 aXZlX3RhZ3Nfc3VtbWFyeSgpCisrCisgCisgZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZl YXR1cmUpOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChm ZWF0dXJlLnRhZ3MpOgorICAgICAgICAgZmVhdHVyZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21h dGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCisrCisgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0 LCBzY2VuYXJpbyk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93 aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToKKyAgICAgICAgIHNjZW5hcmlvLnNraXAocmVh c29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKK2RpZmYgLS1naXQgYS9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5m ZWF0dXJlCitpbmRleCBkYzFlYmU3Li44MWNiNmUyIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVy ZXMvaXNzdWUwMzMwLmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0 dXJlCitAQCAtNzAsNiArNzAsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5h cmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworICAgICBBbmQg bm90ZSB0aGF0ICJib2IuZmVhdHVyZSBpcyBza2lwcGVkIgorIAorIAorKyAgQG5vdC53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBm ZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJi ZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCBAYWxpY2VfYW5kX2JvYi5mZWF0 dXJlc2V0IgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtODMsNiArODQsMjMg QEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGlu IGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAgICAgICA8dGVzdHN1aXRlIGVycm9ycz0iMCIg ZmFpbHVyZXM9IjAiIG5hbWU9ImJvYi5Cb2IiIHNraXBwZWQ9IjEiIHRlc3RzPSIxIiB0aW1lPSIw LjAiPgorICAgICAgICIiIgorIAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAg U2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0 aCAtLXNob3ctc2tpcHBlZAorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFn MSAtLXNob3ctc2tpcHBlZCBAYWxpY2VfYW5kX2JvYi5mZWF0dXJlc2V0IgorKyAgICBUaGVuIGl0 IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgMSBmZWF0dXJlIHBhc3NlZCwg MCBmYWlsZWQsIDEgc2tpcHBlZAorKyAgICAgICIiIgorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJ0 ZXN0X3Jlc3VsdHMvVEVTVFMtYWxpY2UueG1sIiBleGlzdHMKKysgICAgQW5kIGEgZmlsZSBuYW1l ZCAidGVzdF9yZXN1bHRzL1RFU1RTLWJvYi54bWwiIGV4aXN0cworKyAgICBBbmQgdGhlIGZpbGUg InRlc3RfcmVzdWx0cy9URVNUUy1ib2IueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAiIiIK KysgICAgICA8dGVzdHN1aXRlIG5hbWU9ImJvYi5Cb2IiIHRlc3RzPSIxIiBlcnJvcnM9IjAiIGZh aWx1cmVzPSIwIiBza2lwcGVkPSIxIiB0aW1lPSIwLjAiPgorKyAgICAgICIiIgorKyAgICAgICMg LS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAgICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjAi IGZhaWx1cmVzPSIwIiBuYW1lPSJib2IuQm9iIiBza2lwcGVkPSIxIiB0ZXN0cz0iMSIgdGltZT0i MC4wIj4KKysKKysgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIFNjZW5hcmlvOiBK dW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291 bnRlZCB3aXRoIC0tbm8tc2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAt dCBAdGFnMSAtLW5vLXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BA IC0xMDIsNyArMTIwLDMwIEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9z IGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgICAgICAgIiIiCisg ICAgIEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMgdGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNo YXJseS5mZWF0dXJlIgorIAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgU2Nl bmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNob3du IG5vciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVkCisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSAt LWp1bml0IC10IEB0YWcxIC0tbm8tc2tpcHBlZCIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3 aXRoOgorKyAgICAgICIiIgorKyAgICAgIDIgZmVhdHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwgMSBz a2lwcGVkCisrICAgICAgMiBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwgMiBza2lwcGVkCisr ICAgICAgIiIiCisrICAgIEFuZCBhIGZpbGUgbmFtZWQgInRlc3RfcmVzdWx0cy9URVNUUy1hbGlj ZS54bWwiIGV4aXN0cworKyAgICBBbmQgYSBmaWxlIG5hbWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMt Y2hhcmx5LnhtbCIgZXhpc3RzCisrICAgIEFuZCB0aGUgZmlsZSAidGVzdF9yZXN1bHRzL1RFU1RT LWNoYXJseS54bWwiIHNob3VsZCBjb250YWluOgorKyAgICAgICIiIgorKyAgICAgIDx0ZXN0c3Vp dGUgbmFtZT0iY2hhcmx5LkNoYXJseSIgdGVzdHM9IjEiIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAi IHNraXBwZWQ9IjAiCisrICAgICAgIiIiCisrICAgICAgIyAtLSBISU5UIEZPUjogUHl0aG9uIDwg My44CisrICAgICAgIyA8dGVzdHN1aXRlIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAiIG5hbWU9ImNo YXJseS5DaGFybHkiIHNraXBwZWQ9IjAiIHRlc3RzPSIxIgorKyAgICBBbmQgdGhlIGZpbGUgInRl c3RfcmVzdWx0cy9URVNUUy1jaGFybHkueG1sIiBzaG91bGQgbm90IGNvbnRhaW46CisrICAgICAg IiIiCisrICAgICAgPHRlc3RjYXNlIGNsYXNzbmFtZT0iY2hhcmx5LkNoYXJseSIgbmFtZT0iQ2hh cmx5MiIKKysgICAgICAiIiIKKysgICAgQW5kIG5vdGUgdGhhdCAiQ2hhcmx5MiBpcyB0aGUgc2tp cHBlZCBzY2VuYXJpb24gaW4gY2hhcmx5LmZlYXR1cmUiCisrCisgCisrICBAbm90LndpdGhfcHl0 aG9uLnZlcnNpb249My44CisgICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNj ZW5hcmlvIGlzIHNob3duIGFuZCBjb3VudGVkIHdpdGggLS1zaG93LXNraXBwZWQKKyAgICAgV2hl biBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQiCisgICAgIFRo ZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC0xMjIsMyArMTYzLDI2IEBAIEZlYXR1cmU6IElz c3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRz IHdoZW4gLS1uby1zCisgICAgICAgIiIiCisgICAgIEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMg dGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNoYXJseS5mZWF0dXJlIgorIAorKworKyAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tp cHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisr ICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgor KyAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgMiBmZWF0 dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAxIHNraXBwZWQKKysgICAgICAyIHNjZW5hcmlvcyBwYXNz ZWQsIDAgZmFpbGVkLCAyIHNraXBwZWQKKysgICAgICAiIiIKKysgICAgQW5kIGEgZmlsZSBuYW1l ZCAidGVzdF9yZXN1bHRzL1RFU1RTLWFsaWNlLnhtbCIgZXhpc3RzCisrICAgIEFuZCBhIGZpbGUg bmFtZWQgInRlc3RfcmVzdWx0cy9URVNUUy1jaGFybHkueG1sIiBleGlzdHMKKysgICAgQW5kIHRo ZSBmaWxlICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hhcmx5LnhtbCIgc2hvdWxkIGNvbnRhaW46Cisr ICAgICAgIiIiCisrICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJjaGFybHkuQ2hhcmx5IiB0ZXN0cz0i MiIgZXJyb3JzPSIwIiBmYWlsdXJlcz0iMCIgc2tpcHBlZD0iMSIKKysgICAgICAiIiIKKysgICAg ICAjIEhJTlQ6IFB5dGhvbiA8IDMuOAorKyAgICAgICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjAiIGZh aWx1cmVzPSIwIiBuYW1lPSJjaGFybHkuQ2hhcmx5IiBza2lwcGVkPSIxIiB0ZXN0cz0iMiIKKysg ICAgQW5kIHRoZSBmaWxlICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hhcmx5LnhtbCIgc2hvdWxkIGNv bnRhaW46CisrICAgICAgIiIiCisrICAgICAgPHRlc3RjYXNlIGNsYXNzbmFtZT0iY2hhcmx5LkNo YXJseSIgbmFtZT0iQ2hhcmx5MiIgc3RhdHVzPSJza2lwcGVkIgorKyAgICAgICIiIgorKyAgICBB bmQgbm90ZSB0aGF0ICJDaGFybHkyIGlzIHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBjaGFybHku ZmVhdHVyZSIKKysKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVy ZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitpbmRleCBhMmVkODkyLi45MDFi ZGVjIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUKKysrKyBi L2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitAQCAtNTgsNiArNTgsNyBAQCBGZWF0 dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5p dFJlcG9ydGVyCisgICAgICAgICBiZWhhdmUucmVwb3J0ZXIuanVuaXQuc2hvd19ob3N0bmFtZSA9 IEZhbHNlCisgICAgICAgICAiIiIKKyAKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorICAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBiZWZvcmVfc2NlbmFyaW8oKQorICAgICAg IFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2JlZm9yZV9zY2Vu YXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgor QEAgLTg2LDYgKzg3LDQwIEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJp byBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAgICAgICBBbmQgbm90ZSB0aGF0ICJ0 aGUgdHJhY2ViYWNrIGlzIGNvbnRhaW5lZCBpbiB0aGUgWE1MIGVsZW1lbnQgPGVycm9yLz4iCisg CisgCisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgU2NlbmFyaW86IEhv b2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkKKysgICAgICBXaGVuIEkgcnVuICJiZWhhdmUg LWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJl IgorKyAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAg ICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAxIGZhaWxlZCwgMCBza2lwcGVkCisrICAgICAgICAiIiIK KysgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorKyAgICAgICAg IiIiCisrICAgICAgICBIT09LLUVSUk9SIGluIGJlZm9yZV9zY2VuYXJpbzogUnVudGltZUVycm9y OiBPT1BTCisrICAgICAgICAiIiIKKysgICAgICBBbmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMt YmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIi IgorKyAgICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJiZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5BbGlj ZSIgdGVzdHM9IjEiIGVycm9ycz0iMSIgZmFpbHVyZXM9IjAiIHNraXBwZWQ9IjAiCisrICAgICAg ICAiIiIKKysgICAgICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAgICAgIyA8 dGVzdHN1aXRlIGVycm9ycz0iMSIgZmFpbHVyZXM9IjAiIG5hbWU9ImJlZm9yZV9zY2VuYXJpb19m YWlsdXJlLkFsaWNlIiBza2lwcGVkPSIwIiB0ZXN0cz0iMSIKKysgICAgICBBbmQgdGhlIGZpbGUg InJlcG9ydHMvVEVTVFMtYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFp bjoKKysgICAgICAgICIiIgorKyAgICAgICAgPGVycm9yIHR5cGU9IlJ1bnRpbWVFcnJvciIgbWVz c2FnZT0iSE9PSy1FUlJPUiBpbiBiZWZvcmVfc2NlbmFyaW86IFJ1bnRpbWVFcnJvcjogT09QUyI+ CisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAg ICAgICAgIyA8ZXJyb3IgbWVzc2FnZT0iSE9PSy1FUlJPUiBpbiBiZWZvcmVfc2NlbmFyaW86IFJ1 bnRpbWVFcnJvcjogT09QUyIgdHlwZT0iUnVudGltZUVycm9yIj4KKysgICAgICBBbmQgdGhlIGZp bGUgInJlcG9ydHMvVEVTVFMtYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUueG1sIiBzaG91bGQgY29u dGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgRmlsZSAiZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkiLCBsaW5lIDYsIGluIGJlZm9yZV9zY2VuYXJpbworKyAgICAgICAgICBjYXVzZV9ob29rX2Zh aWx1cmUoKQorKyAgICAgICAgRmlsZSAiZmVhdHVyZXMvZW52aXJvbm1lbnQucHkiLCBsaW5lIDIs IGluIGNhdXNlX2hvb2tfZmFpbHVyZQorKyAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIk9P UFMiKQorKyAgICAgICAgIiIiCisrICAgICAgQW5kIG5vdGUgdGhhdCAidGhlIHRyYWNlYmFjayBp cyBjb250YWluZWQgaW4gdGhlIFhNTCBlbGVtZW50IDxlcnJvci8+IgorKworKworKyAgICBAbm90 LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFm dGVyX3NjZW5hcmlvKCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5p dCBmZWF0dXJlcy9hZnRlcl9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBp dCBzaG91bGQgZmFpbCB3aXRoOgorQEAgLTExNCwzICsxNDksMzggQEAgRmVhdHVyZTogSXNzdWUg IzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgor ICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIk9PUFMiKQorICAgICAgICAgIiIiCisgICAg ICAgQW5kIG5vdGUgdGhhdCAidGhlIHRyYWNlYmFjayBpcyBjb250YWluZWQgaW4gdGhlIFhNTCBl bGVtZW50IDxlcnJvci8+IgorKworKworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisrICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkKKysgICAgICBX aGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9hZnRlcl9zY2VuYXJp b19mYWlsdXJlLmZlYXR1cmUiCisrICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorKyAg ICAgICAgIiIiCisrICAgICAgICAwIHNjZW5hcmlvcyBwYXNzZWQsIDEgZmFpbGVkLCAwIHNraXBw ZWQKKysgICAgICAgICIiIgorKyAgICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNv bnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgICAgU2NlbmFyaW86IEIxCisrICAgICAgICAg ICAgR2l2ZW4gYW5vdGhlciBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCisrICAgICAgICBIT09LLUVS Uk9SIGluIGFmdGVyX3NjZW5hcmlvOiBSdW50aW1lRXJyb3I6IE9PUFMKKysgICAgICAgICIiIgor KyAgICAgIEFuZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1hZnRlcl9zY2VuYXJpb19mYWlsdXJl LnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIDx0ZXN0c3VpdGUg bmFtZT0iYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5Cb2IiIHRlc3RzPSIxIiBlcnJvcnM9IjEiIGZh aWx1cmVzPSIwIiBza2lwcGVkPSIwIgorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQg Rk9SOiBQeXRob24gPCAzLjgKKysgICAgICAgICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjEiIGZhaWx1 cmVzPSIwIiBuYW1lPSJhZnRlcl9zY2VuYXJpb19mYWlsdXJlLkJvYiIgc2tpcHBlZD0iMCIgdGVz dHM9IjEiCisrICAgICAgQW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWFmdGVyX3NjZW5hcmlv X2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgPGVy cm9yIHR5cGU9IlJ1bnRpbWVFcnJvciIgbWVzc2FnZT0iSE9PSy1FUlJPUiBpbiBhZnRlcl9zY2Vu YXJpbzogUnVudGltZUVycm9yOiBPT1BTIj4KKysgICAgICAgICIiIgorKyAgICAgICAgIyAtLSBI SU5UIEZPUjogUHl0aG9uIDwgMy44CisrICAgICAgICAjIDxlcnJvciBtZXNzYWdlPSJIT09LLUVS Uk9SIGluIGFmdGVyX3NjZW5hcmlvOiBSdW50aW1lRXJyb3I6IE9PUFMiIHR5cGU9IlJ1bnRpbWVF cnJvciI+CisrICAgICAgQW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWFmdGVyX3NjZW5hcmlv X2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgRmls ZSAiZmVhdHVyZXMvZW52aXJvbm1lbnQucHkiLCBsaW5lIDEwLCBpbiBhZnRlcl9zY2VuYXJpbwor KyAgICAgICAgICBjYXVzZV9ob29rX2ZhaWx1cmUoKQorKyAgICAgICAgRmlsZSAiZmVhdHVyZXMv ZW52aXJvbm1lbnQucHkiLCBsaW5lIDIsIGluIGNhdXNlX2hvb2tfZmFpbHVyZQorKyAgICAgICAg ICByYWlzZSBSdW50aW1lRXJyb3IoIk9PUFMiKQorKyAgICAgICAgIiIiCisrICAgICAgQW5kIG5v dGUgdGhhdCAidGhlIHRyYWNlYmFjayBpcyBjb250YWluZWQgaW4gdGhlIFhNTCBlbGVtZW50IDxl cnJvci8+IgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlIGIv aXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK2luZGV4IGY4MDY0MGUuLjQ2Zjk2ZTkg MTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQorKysrIGIvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK0BAIC0yNCw2ICsyNCw3IEBAIEZlYXR1cmU6 IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBY TUwgcmVwb3J0cworICAgICAgICAgIiIiCisgCisgCisrICAgIEBub3Qud2l0aF9weXRob24udmVy c2lvbj0zLjgKKyAgICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFzc2VydGF0aW9uIGluIGEgSlVu aXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMx LmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC00NCw2ICs0NSwzMSBAQCBGZWF0dXJl OiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQg WE1MIHJlcG9ydHMKKyAgICAgICAgIDxmYWlsdXJlIG1lc3NhZ2U9IkZBSUxFRDogTXkgbmFtZSBp cyAmcXVvdDtBbGljZSZxdW90OyIKKyAgICAgICAgICIiIgorIAorKyAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My44CisrICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBp biBhIEpVbml0IFhNTCByZXBvcnQKKysgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVz L2ZhaWxzMS5mZWF0dXJlIiB3aXRoOgorKyAgICAgICAgIiIiCisrICAgICAgICBGZWF0dXJlOgor KyAgICAgICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAgICAgICAgICBHaXZlbiBhIHN0ZXAgZmFp bHMgd2l0aCBtZXNzYWdlOgorKyAgICAgICAgICAgICAgJycnCisrICAgICAgICAgICAgICBNeSBu YW1lIGlzICJBbGljZSIKKysgICAgICAgICAgICAgICcnJworKyAgICAgICAgIiIiCisrICAgICAg V2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUiCisrICAg ICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorKyAgICAgICAgIiIiCisrICAgICAgICAwIHNj ZW5hcmlvcyBwYXNzZWQsIDEgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgICAgICIiIgorKyAgICAg IEFuZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1mYWlsczEueG1sIiBzaG91bGQgY29udGFpbjoK KysgICAgICAgICIiIgorKyAgICAgICAgPGZhaWx1cmUgdHlwZT0iQXNzZXJ0aW9uRXJyb3IiIG1l c3NhZ2U9IkZBSUxFRDogTXkgbmFtZSBpcyAmcXVvdDtBbGljZSZxdW90OyI+CisrICAgICAgICAi IiIKKysgICAgICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAgICAgIyA8ZmFp bHVyZSBtZXNzYWdlPSJGQUlMRUQ6IE15IG5hbWUgaXMgJnF1b3Q7QWxpY2UmcXVvdDsiCisrCisr CisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgU2NlbmFyaW86IFVzZSBl eGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVk ICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTYzLDMg Kzg5LDI2IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBt ZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworICAgICAgICAgIiIiCisgICAgICAgICA8ZXJy b3IgbWVzc2FnZT0iTXkgbmFtZSBpcyAmcXVvdDtCb2ImcXVvdDsgYW5kICZsdDtoZXJlJmd0OyBJ IGFtIgorICAgICAgICAgIiIiCisrCisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgK KysgICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAg ICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIgd2l0aDoKKysg ICAgICAgICIiIgorKyAgICAgICAgRmVhdHVyZToKKysgICAgICAgICAgU2NlbmFyaW86IEJvYgor KyAgICAgICAgICAgIEdpdmVuIGEgc3RlcCBmYWlscyB3aXRoIGVycm9yIGFuZCBtZXNzYWdlOgor KyAgICAgICAgICAgICAgJycnCisrICAgICAgICAgICAgICBNeSBuYW1lIGlzICJCb2IiIGFuZCA8 aGVyZT4gSSBhbQorKyAgICAgICAgICAgICAgJycnCisrICAgICAgICAiIiIKKysgICAgICBXaGVu IEkgcnVuICJiZWhhdmUgLS1qdW5pdCBmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIKKysgICAgICBU aGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisrICAgICAgICAiIiIKKysgICAgICAgIDAgc2NlbmFy aW9zIHBhc3NlZCwgMSBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAgICAgIiIiCisrICAgICAgQW5k IHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWZhaWxzMi54bWwiIHNob3VsZCBjb250YWluOgorKyAg ICAgICAgIiIiCisrICAgICAgICA8ZXJyb3IgdHlwZT0iUnVudGltZUVycm9yIiBtZXNzYWdlPSJN eSBuYW1lIGlzICZxdW90O0JvYiZxdW90OyBhbmQgJmx0O2hlcmUmZ3Q7IEkgYW0iPgorKyAgICAg ICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysgICAgICAgICMg PGVycm9yIG1lc3NhZ2U9Ik15IG5hbWUgaXMgJnF1b3Q7Qm9iJnF1b3Q7IGFuZCAmbHQ7aGVyZSZn dDsgSSBhbSIKK2RpZmYgLS1naXQgYS90b3guaW5pIGIvdG94LmluaQoraW5kZXggZDJmYmNlMi4u YjgyNTkyMSAxMDA2NDQKKy0tLSBhL3RveC5pbmkKKysrKyBiL3RveC5pbmkKK0BAIC0yOCw3ICsy OCw3IEBACisgCisgW3RveF0KKyBtaW52ZXJzaW9uICAgPSAyLjMKKy1lbnZsaXN0ICAgICAgPSBw eTI3LCBweTM3LCBweTM2LCBweTM1LCBweTM0LCBweTMzLCBweXB5LCBkb2NzCisrZW52bGlzdCAg ICAgID0gcHkyNywgcHkzNywgcHkzOCwgcHkzNiwgcHkzNSwgcHlweSwgZG9jcworIHNraXBfbWlz c2luZ19pbnRlcnByZXRlcnMgPSBUcnVlCisgc2l0ZXBhY2thZ2VzID0gRmFsc2UKKyBpbmRleHNl cnZlciA9CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDQ1LVVQREFURS1NYXJrLWlzc3VlLTc1NS1hcy1maXhlZC5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDUt VVBEQVRFLU1hcmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uMTkxMzc1YzJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0NS1VUERBVEUtTWFy ay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSA3MTM2Yjk1 NWZhOGZkY2ZkMmU2NmZjMTBkODg3NWZhYmY1MDM0ZDNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRl OiBTdW4sIDcgSnVsIDIwMTkgMTI6NTk6NTcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRF OiBNYXJrIGlzc3VlICM3NTUgYXMgZml4ZWQuCisKKy0tLQorIENIQU5HRVMucnN0IHwgMTEgKysr Ky0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggZDE2NTI3 NS4uMzEyY2JiYSAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAor QEAgLTI3LDI4ICsyNywyNSBAQCBFTkhBTkNFTUVOVFM6CisgKiBVc2UgYGN1Y3VtYmVyLXRhZy1l eHByZXNzaW9uc2BfIHdpdGggdGFnLW1hdGNoaW5nIGV4dGVuc2lvbiAoc3VwZXJjZWVkczogb2xk LXN0eWxlIHRhZy1leHByZXNzaW9ucykKKyAqIFVzZSBjdWN1bWJlciAiZ2hlcmtpbi1sYW5ndWFn ZXMuanNvbiIgbm93IChzaW1wbGlmeTogR2hlcmtpbiB2NiBhbGlhc2VzLCBsYW5ndWFnZSB1c2Fn ZSkKKyAqIFN1cHBvcnQgZW1vamlzIGluIGBgKi5mZWF0dXJlYGAgZmlsZXMgYW5kIHN0ZXBzCisr KiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVy IiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKyAq IGlzc3VlICM2Nzg6IFNjZW5hcmlvIE91dGxpbmU6IFN1cHBvcnQgdGFncyB3aXRoIGNvbW1hcyBh bmQgc2VtaWNvbG9ucyAocHJvdmlkZWQgYnk6IGxhd25tb3dlcmxhdHRlLCBwdWxsICM2NzkpCisg KiBpc3N1ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3VuZCB3aXRoaW4gc3ltbGlu ayBkaXJlY3RvcmllcyAocHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxsICM2ODApCistKiBTZWxl Y3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVyIiAoRmVh dHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKy0KKy1QQVJU SUFMTFkgRklYRUQ6CistCistKiBpc3N1ZSAjNzU1OiBGYWlsdXJlcyB3aXRoIFB5dGhvbiAzLjgg KHN1Ym1pdHRlZCBieTogaHJvbmNvaykKKyAKKyBGSVhFRDoKKyAKKy0qIHB1bGwgICM1ODg6IFN0 ZXBzLWNhdGFsb2cgYXJndW1lbnQgc2hvdWxkIG5vdCBicmVhayBjb25maWd1cmVkIHJlcnVuIHNl dHRpbmdzIChwcm92aWRlZCBieTogTGVnbzMpCisrKiBpc3N1ZSAjNzU1OiBGYWlsdXJlcyB3aXRo IFB5dGhvbiAzLjggKHN1Ym1pdHRlZCBieTogaHJvbmNvaykKKyAqIGlzc3VlICM3MjU6IFNjZW5h cmlvIE91dGxpbmUgZGVzY3JpcHRpb24gbGluZXMgc2VlbSB0byBiZSBpZ25vcmVkIChzdWJtaXR0 ZWQgYnk6IG5pendpeikKKyAqIGlzc3VlICM3MTM6IEJhY2tncm91bmQgc2VjdGlvbiBkb2Vzbid0 IHN1cHBvcnQgZGVzY3JpcHRpb24gKHByb3ZpZGVkIGJ5OiBkZ291KQorICogcHVsbCAgIzY1Nzog QWxsb3cgYXN5bmMgc3RlcHMgd2l0aCB0aW1lb3V0cyB0byBmYWlsIHdoZW4gdGhleSByYWlzZSBl eGNlcHRpb25zIChwcm92aWRlZCBieTogQUxTY2h3YWxtKQorICogaXNzdWUgIzYzMTogU2NlbmFy aW9PdXRsaW5lIHZhcmlhYmxlcyBub3QgcG9zc2libGUgaW4gdGFibGUgaGVhZGluZ3MgKHByb3Zp ZGVkIGJ5OiBtc2NobmVsbGUsIHB1bGwgIzY0MikKKyAqIGlzc3VlICM2MTk6IENvbnRleHQgX19n ZXRhdHRyX18gc2hvdWxkIHJhaXNlIEF0dHJpYnV0ZUVycm9yIGluc3RlYWQgb2YgS2V5RXJyb3Ig KHN1Ym1pdHRlZCBieTogYW54b2RpbykKKysqIHB1bGwgICM1ODg6IFN0ZXBzLWNhdGFsb2cgYXJn dW1lbnQgc2hvdWxkIG5vdCBicmVhayBjb25maWd1cmVkIHJlcnVuIHNldHRpbmdzIChwcm92aWRl ZCBieTogTGVnbzMpCisgCisgTUlOT1I6CisgCisrKiBwdWxsICAjNjYwOiBGaXggbWlub3IgdHlw b3MgKHByb3ZpZGVkIGJ5OiBycnVldGgpCisgKiBwdWxsICAjNjU1OiBVc2UgcHl0ZXN0IGluc3Rl YWQgb2YgcHkudGVzdCBwZXIgdXBzdHJlYW0gcmVjb21tZW5kYXRpb24gKHByb3ZpZGVkIGJ5OiBz Y29wKQorICogaXNzdWUgIzY1NDogdG94LmluaTogcHlwaS5weXRob24ub3JnIC0+IHB5cGkub3Jn IChzdWJtaXR0ZWQgYnk6IHByYWR5dW5zZykKKy0qIHB1bGwgICM2NjA6IEZpeCBtaW5vciB0eXBv cyAocHJvdmlkZWQgYnk6IHJydWV0aCkKKyAKKyBET0NVTUVOVEFUSU9OOgorIApkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0 Ni1VUERBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDYtVVBEQVRFLUN1 Y3VtYmVyLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi43YjA3ZTRhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ2LVVQREFURS1DdWN1 bWJlci1naGVya2luLWxhbmd1YWdlcy5qc29uLnBhdGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20g ODA2MzJmMmY0OGM1OGE2OTY3Mzk5MTk5MTA0MWY3MTkyZjcwODk4YiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogU3VuLCA3IEp1bCAyMDE5IDIzOjM1OjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IFVQREFURTogQ3VjdW1iZXIgZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorCistLS0KKyBiZWhhdmUv aTE4bi5weSAgICAgICAgICAgICAgICAgICAgIHwgNSArKysrLQorIGV0Yy9naGVya2luL2doZXJr aW4tbGFuZ3VhZ2VzLmpzb24gfCA2ICsrKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2kxOG4ucHkgYi9i ZWhhdmUvaTE4bi5weQoraW5kZXggOWViOWFhYi4uNzIxYzRjMyAxMDA2NDQKKy0tLSBhL2JlaGF2 ZS9pMThuLnB5CisrKysgYi9iZWhhdmUvaTE4bi5weQorQEAgLTM4Miw2ICszODIsOSBAQCBsYW5n dWFnZXMgPSBcCisgICAgICAgICAnZmVhdHVyZSc6IFsnRm9uY3Rpb25uYWxpdMOpJ10sCisgICAg ICAgICAnZ2l2ZW4nOiBbJyogJywKKyAgICAgICAgICAgICAgICAgICAnU29pdCAnLAorKyAgICAg ICAgICAgICAgICAgICdTYWNoYW50IHF1ZSAnLAorKyAgICAgICAgICAgICAgICAgICJTYWNoYW50 IHF1JyIsCisrICAgICAgICAgICAgICAgICAgJ1NhY2hhbnQgJywKKyAgICAgICAgICAgICAgICAg ICAnRXRhbnQgZG9ubsOpIHF1ZSAnLAorICAgICAgICAgICAgICAgICAgICJFdGFudCBkb25uw6kg cXUnIiwKKyAgICAgICAgICAgICAgICAgICAnRXRhbnQgZG9ubsOpICcsCitAQCAtMzk5LDcgKzQw Miw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdydWxlJzogWydSw6hnbGUnXSwKKyAgICAg ICAgICdzY2VuYXJpbyc6IFsnRXhlbXBsZScsICdTY8OpbmFyaW8nXSwKKyAgICAgICAgICdzY2Vu YXJpb19vdXRsaW5lJzogWydQbGFuIGR1IHNjw6luYXJpbycsICdQbGFuIGR1IFNjw6luYXJpbydd LAorLSAgICAgICAgJ3RoZW4nOiBbJyogJywgJ0Fsb3JzICddLAorKyAgICAgICAgJ3RoZW4nOiBb JyogJywgJ0Fsb3JzICcsICdEb25jICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ1F1YW5k ICcsICdMb3JzcXVlICcsICJMb3JzcXUnIl19LAorICAnZ2EnOiB7J2FuZCc6IFsnKiAnLCAnQWd1 cyddLAorICAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0PDumxyYSddLAorZGlmZiAtLWdpdCBhL2V0 Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gYi9ldGMvZ2hlcmtpbi9naGVya2luLWxh bmd1YWdlcy5qc29uCitpbmRleCBiMDhlMGY1Li45MTNjZmFjIDEwMDY0NAorLS0tIGEvZXRjL2do ZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorKysrIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1s YW5ndWFnZXMuanNvbgorQEAgLTEyNTYsNiArMTI1Niw5IEBACisgICAgICJnaXZlbiI6IFsKKyAg ICAgICAiKiAiLAorICAgICAgICJTb2l0ICIsCisrICAgICAgIlNhY2hhbnQgcXVlICIsCisrICAg ICAgIlNhY2hhbnQgcXUnIiwKKysgICAgICAiU2FjaGFudCAiLAorICAgICAgICJFdGFudCBkb25u w6kgcXVlICIsCisgICAgICAgIkV0YW50IGRvbm7DqSBxdSciLAorICAgICAgICJFdGFudCBkb25u w6kgIiwKK0BAIC0xMjg0LDcgKzEyODcsOCBAQAorICAgICBdLAorICAgICAidGhlbiI6IFsKKyAg ICAgICAiKiAiLAorLSAgICAgICJBbG9ycyAiCisrICAgICAgIkFsb3JzICIsCisrICAgICAgIkRv bmMgIgorICAgICBdLAorICAgICAid2hlbiI6IFsKKyAgICAgICAiKiAiLApkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ny1n aGVya2luLUFkZGluZy1SdWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0 Ny1naGVya2luLUFkZGluZy1SdWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMGFhODkzMTEwCi0tLSAv ZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA0Ny1naGVya2luLUFkZGluZy1SdWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4t cG9ydHVndWVzLnBhdGNoCkBAIC0wLDAgKzEsMjAyIEBACitGcm9tIGU1N2YwOGQ0MzUwMGVmMTEy MDBmMjMwZWM2YzBhNTFmNzUxODNmYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBq ZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgOCBK dWwgMjAxOSAwMDozODoyNiArMDIwMAorU3ViamVjdDogW1BBVENIXSBnaGVya2luOiBBZGRpbmcg UnVsZSBrZXl3b3JkIHRyYW5zbGF0aW9uIGluIHBvcnR1Z3Vlc2UgYW5kCisgc3BhbmlzaCB0byBn aGVya2luLWxhbmd1YWdlcy5qc29uCisKKyogSW50ZWdyYXRlIGNoYW5nZXMgYmFzZWQgb24gbWVy Z2VkIGN1Y3VtYmVyIHB1bGwtcmVxdWVzdCAjNjIxCisqIFVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFn ZXMuanNvbiIKKyogVXBkYXRlICJiZWhhdmUvaTE4bi5weSIgKGdlbmVyYXRlZCBmcm9tOiBnaGVy a2luLWxhbmd1YWdlcy5qc29uKQorCitSRUxBVEVELVRPOiBwdWxsICM3NTEgKHNhbWU7IHVzaW5n IHRoZSBvZmZpY2lhbCB3YXkpCistLS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDEgKworIGJlaGF2ZS9maXh0dXJlLnB5ICAgICAgICAgICAgICAgICAgfCAgMSAtCisg YmVoYXZlL2kxOG4ucHkgICAgICAgICAgICAgICAgICAgICB8ICA0ICstLQorIGV0Yy9naGVya2lu L2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gfCAgNCArLS0KKyBpbnZva2UueWFtbCAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKysrCisgdGFza3MvX19pbml0X18ucHkgICAgICAgICAgICAgICAg ICB8ICAzICsrCisgdGFza3MvZGV2ZWxvcC5weSAgICAgICAgICAgICAgICAgICB8IDU4ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKworIHRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQgICAg ICAgICAgfCAgMyArKworIDggZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGFza3MvZGV2ZWxvcC5weQorCitkaWZmIC0t Z2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggMzEyY2JiYS4uMTVhNGVmOSAx MDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTQzLDYgKzQz LDcgQEAgRklYRUQ6CisgCisgTUlOT1I6CisgCisrKiBwdWxsICAjNzUxOiBnaGVya2luOiBBZGRp bmcgUnVsZSBrZXl3b3JkIHRyYW5zbGF0aW9uIGluIHBvcnR1Z3Vlc2UgYW5kIHNwYW5pc2ggdG8g Z2hlcmtpbi1sYW5ndWFnZXMuanNvbiAocHJvdmlkZWQgYnk6IGR1bm9zc2F1cm8pCisgKiBwdWxs ICAjNjYwOiBGaXggbWlub3IgdHlwb3MgKHByb3ZpZGVkIGJ5OiBycnVldGgpCisgKiBwdWxsICAj NjU1OiBVc2UgcHl0ZXN0IGluc3RlYWQgb2YgcHkudGVzdCBwZXIgdXBzdHJlYW0gcmVjb21tZW5k YXRpb24gKHByb3ZpZGVkIGJ5OiBzY29wKQorICogaXNzdWUgIzY1NDogdG94LmluaTogcHlwaS5w eXRob24ub3JnIC0+IHB5cGkub3JnIChzdWJtaXR0ZWQgYnk6IHByYWR5dW5zZykKK2RpZmYgLS1n aXQgYS9iZWhhdmUvZml4dHVyZS5weSBiL2JlaGF2ZS9maXh0dXJlLnB5CitpbmRleCAyMTA5M2Iw Li4zYTlmMWJjIDEwMDY0NAorLS0tIGEvYmVoYXZlL2ZpeHR1cmUucHkKKysrKyBiL2JlaGF2ZS9m aXh0dXJlLnB5CitAQCAtMzQ4LDcgKzM0OCw2IEBAIGRlZiB1c2VfY29tcG9zaXRlX2ZpeHR1cmVf d2l0aChjb250ZXh0LCBmaXh0dXJlX2Z1bmNzX3dpdGhfcGFyYW1zKToKKyAgICAgcmV0dXJuIGNv bXBvc2l0ZV9maXh0dXJlCisgCisgCistCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBE RUNPUkFUT1JTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBhL2JlaGF2 ZS9pMThuLnB5IGIvYmVoYXZlL2kxOG4ucHkKK2luZGV4IDcyMWM0YzMuLjI3ODFhZmUgMTAwNjQ0 CistLS0gYS9iZWhhdmUvaTE4bi5weQorKysrIGIvYmVoYXZlL2kxOG4ucHkKK0BAIC0zMzEsNyAr MzMxLDcgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ2dpdmVuJzogWycqICcsICdEYWRvICcs ICdEYWRhICcsICdEYWRvcyAnLCAnRGFkYXMgJ10sCisgICAgICAgICAnbmFtZSc6ICdTcGFuaXNo JywKKyAgICAgICAgICduYXRpdmUnOiAnZXNwYcOxb2wnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1 bGUnXSwKKysgICAgICAgICdydWxlJzogWydSZWdsYSddLAorICAgICAgICAgJ3NjZW5hcmlvJzog WydFamVtcGxvJywgJ0VzY2VuYXJpbyddLAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBb J0VzcXVlbWEgZGVsIGVzY2VuYXJpbyddLAorICAgICAgICAgJ3RoZW4nOiBbJyogJywgJ0VudG9u Y2VzICddLAorQEAgLTc2Miw3ICs3NjIsNyBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAnZ2l2 ZW4nOiBbJyogJywgJ0RhZG8gJywgJ0RhZGEgJywgJ0RhZG9zICcsICdEYWRhcyAnXSwKKyAgICAg ICAgICduYW1lJzogJ1BvcnR1Z3Vlc2UnLAorICAgICAgICAgJ25hdGl2ZSc6ICdwb3J0dWd1w6pz JywKKy0gICAgICAgICdydWxlJzogWydSdWxlJ10sCisrICAgICAgICAncnVsZSc6IFsnUmVncmEn XSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnRXhlbXBsbycsICdDZW7DoXJpbycsICdDZW5hcmlv J10sCisgICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnRXNxdWVtYSBkbyBDZW7DoXJpbycs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXNxdWVtYSBkbyBDZW5hcmlvJywKK2Rp ZmYgLS1naXQgYS9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIGIvZXRjL2doZXJr aW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgoraW5kZXggOTEzY2ZhYy4uMjljYmNhMSAxMDA2NDQK Ky0tLSBhL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KKysrKyBiL2V0Yy9naGVy a2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KK0BAIC0xMDg0LDcgKzEwODQsNyBAQAorICAgICAi bmFtZSI6ICJTcGFuaXNoIiwKKyAgICAgIm5hdGl2ZSI6ICJlc3Bhw7FvbCIsCisgICAgICJydWxl IjogWworLSAgICAgICJSdWxlIgorKyAgICAgICJSZWdsYSIKKyAgICAgXSwKKyAgICAgInNjZW5h cmlvIjogWworICAgICAgICJFamVtcGxvIiwKK0BAIC0yNTUzLDcgKzI1NTMsNyBAQAorICAgICAi bmFtZSI6ICJQb3J0dWd1ZXNlIiwKKyAgICAgIm5hdGl2ZSI6ICJwb3J0dWd1w6pzIiwKKyAgICAg InJ1bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAgICAgIlJlZ3JhIgorICAgICBdLAorICAgICAi c2NlbmFyaW8iOiBbCisgICAgICAgIkV4ZW1wbG8iLAorZGlmZiAtLWdpdCBhL2ludm9rZS55YW1s IGIvaW52b2tlLnlhbWwKK2luZGV4IDNlOTNjZmMuLmQ2ZjE0MWMgMTAwNjQ0CistLS0gYS9pbnZv a2UueWFtbAorKysrIGIvaW52b2tlLnlhbWwKK0BAIC0zOCw2ICszOCwxMCBAQCBjbGVhbnVwOgor ICAgICAgIC0gIl9fV09SS0RJUl9fIgorICAgICAgIC0gcmVwb3J0cworIAorKyAgICBleHRyYV9m aWxlczoKKysgICAgICAtICJldGMvZ2hlcmtpbi9naGVya2luKi5qc29uLlNBVkVEIgorKyAgICAg IC0gImV0Yy9naGVya2luL2kxOG4ucHkiCisrCisgY2xlYW51cF9hbGw6CisgICAgIGV4dHJhX2Rp cmVjdG9yaWVzOgorICAgICAgIC0gLmh5cG90aGVzaXMKK2RpZmYgLS1naXQgYS90YXNrcy9fX2lu aXRfXy5weSBiL3Rhc2tzL19faW5pdF9fLnB5CitpbmRleCA5NjlhOTRhLi5hNTcyNDY1IDEwMDY0 NAorLS0tIGEvdGFza3MvX19pbml0X18ucHkKKysrKyBiL3Rhc2tzL19faW5pdF9fLnB5CitAQCAt MzksNiArMzksOCBAQCBmcm9tIC4gaW1wb3J0IF90YXNrbGV0X2NsZWFudXAgYXMgY2xlYW51cAor IGZyb20gLiBpbXBvcnQgZG9jcworIGZyb20gLiBpbXBvcnQgdGVzdAorIGZyb20gLiBpbXBvcnQg cmVsZWFzZQorK2Zyb20gLiBpbXBvcnQgZGV2ZWxvcAorKworIAorICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAjIFRBU0tTOgorQEAgLTU2LDYgKzU4LDcgQEAgbmFtZXNwYWNlLmFkZF9jb2xsZWN0 aW9uKENvbGxlY3Rpb24uZnJvbV9tb2R1bGUoY2xlYW51cCksIG5hbWU9ImNsZWFudXAiKQorIG5h bWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGRvY3MpKQorIG5h bWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKHRlc3QpKQorIG5h bWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKHJlbGVhc2UpKQor K25hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGRldmVsb3Ap KQorIGNsZWFudXAuY2xlYW51cF90YXNrcy5hZGRfdGFzayhjbGVhbnVwLmNsZWFuX3B5dGhvbikK KyAKKyBjbGVhbnVwLmNsZWFudXBfdGFza3MuYWRkX3Rhc2soY2xlYW51cC5jbGVhbl9weXRob24p CitkaWZmIC0tZ2l0IGEvdGFza3MvZGV2ZWxvcC5weSBiL3Rhc2tzL2RldmVsb3AucHkKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iMDhkZjBlCistLS0gL2Rldi9udWxsCisr KysgYi90YXNrcy9kZXZlbG9wLnB5CitAQCAtMCwwICsxLDU4IEBACisrIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKysiIiIKKytEZXZlbG9wbWVudCB0YXNrcworKyIiIgorKworK2Zyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zyb20gaW52b2tl IGltcG9ydCBDb2xsZWN0aW9uLCB0YXNrCisrZnJvbSBpbnZva2UudXRpbCBpbXBvcnQgY2QKKytm cm9tIHBhdGggaW1wb3J0IFBhdGgKKytpbXBvcnQgcmVxdWVzdHMKKysKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrIyBDT05TVEFOVFM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK0dIRVJL SU5fTEFOR1VBR0VTX1VSTCA9ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vY3Vj dW1iZXIvY3VjdW1iZXIvbWFzdGVyL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIKKysK KysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUQVNLUzoKKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrQHRhc2sobmFtZT0idXBkYXRlX2doZXJraW4iKSAjIFRPTy1MT05HUzogYWxpYXNl cz1bInVwZGF0ZV9naGVya2luX2xhbmd1YWdlcyJdKQorK2RlZiB1cGRhdGVfZ2hlcmtpbl9sYW5n dWFnZXMoY3R4KToKKysgICAgIiIiVXBkYXRlICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBmaWxl IGZyb20gY3VjdW1iZXItcmVwby4iIiIKKysgICAgd2l0aCBjZCgiZXRjL2doZXJraW4iKToKKysg ICAgICAgICMgLS0gQkFDS1VQLUZJTEU6CisrICAgICAgICBnaGVya2luX2xhbmd1YWdlc19maWxl ID0gUGF0aCgiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIpCisrICAgICAgICBnaGVya2luX2xhbmd1 YWdlc19maWxlLmNvcHkoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24uU0FWRUQiKQorKworKyAgICAg ICAgcHJpbnQoJ0Rvd25sb2FkaW5nICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBmcm9tIGdpdGh1 YjpjdWN1bWJlciAuLi4nKQorKyAgICAgICAgZG93bmxvYWRfcmVxdWVzdCA9IHJlcXVlc3RzLmdl dChHSEVSS0lOX0xBTkdVQUdFU19VUkwpCisrICAgICAgICBnaGVya2luX2xhbmd1YWdlc19uZXdm aWxlID0gUGF0aCgiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5ORVciKQorKyAgICAgICAgYXNzZXJ0 IGRvd25sb2FkX3JlcXVlc3Qub2sKKysgICAgICAgIHByaW50KCdEb3dubG9hZCBmaW5pc2hlZDog T0sgKHNpemU9ezB9KScuZm9ybWF0KGxlbihkb3dubG9hZF9yZXF1ZXN0LmNvbnRlbnQpKSkKKysg ICAgICAgIHdpdGggb3BlbihnaGVya2luX2xhbmd1YWdlc19uZXdmaWxlLCAid2IiKSBhcyBmOgor KyAgICAgICAgICAgIGYud3JpdGUoZG93bmxvYWRfcmVxdWVzdC5jb250ZW50KQorKyAgICAgICAg Z2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZS5yZW5hbWUoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24i KQorKworKyAgICAgICAgcHJpbnQoJ0dlbmVyYXRpbmcgImkxOG4ucHkiIC4uLicpCisrICAgICAg ICBjdHgucnVuKCIuL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkiKQorKworKworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIFRBU0sgSEVMUEVSUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrZGVmIHByaW50X3BhY2thZ2VzKHBhY2thZ2VzKToKKysgICAgcHJpbnQoIlBBQ0tBR0VT WyVkXToiICUgbGVuKHBhY2thZ2VzKSkKKysgICAgZm9yIHBhY2thZ2UgaW4gcGFja2FnZXM6Cisr ICAgICAgICBwYWNrYWdlX3NpemUgPSBwYWNrYWdlLnN0YXQoKS5zdF9zaXplCisrICAgICAgICBw YWNrYWdlX3RpbWUgPSBwYWNrYWdlLnN0YXQoKS5zdF9tdGltZQorKyAgICAgICAgcHJpbnQoIiAg LSAlcyAgKHNpemU9JXMpIiAlIChwYWNrYWdlLCBwYWNrYWdlX3NpemUpKQorKworKworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIFRBU0sgQ09ORklHVVJBVElPTjoKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrbmFtZXNwYWNlID0gQ29sbGVjdGlvbigpCisrbmFtZXNwYWNlLmFkZF90YXNr KHVwZGF0ZV9naGVya2luX2xhbmd1YWdlcykKKytuYW1lc3BhY2UuY29uZmlndXJlKHt9KQorZGlm ZiAtLWdpdCBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQgYi90YXNrcy9weS5yZXF1aXJlbWVu dHMudHh0CitpbmRleCBlNzcyZDVlLi5hNzdkM2JjIDEwMDY0NAorLS0tIGEvdGFza3MvcHkucmVx dWlyZW1lbnRzLnR4dAorKysrIGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTE2LDMg KzE2LDYgQEAgc2l4ID49IDEuMTIuMAorICMgLS0gUFlUSE9OMiBCQUNLUE9SVFM6CisgcGF0aGxp YjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBiYWNrcG9ydHMuc2h1dGlsX3doaWNoOyBw eXRob25fdmVyc2lvbiA8PSAnMy4zJworKworKyMgLS0gU0VDVElPTjogZGV2ZWxvcAorK3JlcXVl c3RzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10by11cGRhdGUtZ2VuZXJhdGUtZnJvbS1naGVya2luLWxh bmd1YWdlcy5qc28ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10by11cGRhdGUtZ2VuZXJhdGUtZnJvbS1naGVya2lu LWxhbmd1YWdlcy5qc28ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li4wNzQzOWUwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10by11cGRhdGUtZ2VuZXJhdGUt ZnJvbS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0Y2gKQEAgLTAsMCArMSwxNDEgQEAKK0Zyb20g OTU4M2MyZmE5MGU5NThjYWZmNTFiM2I3Y2E4YzE3NjQ2ODEyM2ZkOSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogTW9uLCA4IEp1bCAyMDE5IDAxOjA3OjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IFR3ZWFrcyB0byB1cGRhdGUvZ2VuZXJhdGUgZnJvbSBnaGVya2luLWxhbmd1YWdlcy5qc29uCisK Ky0tLQorIGV0Yy9naGVya2luL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkgfCAxNiArKysr KysrLS0tLQorIHRhc2tzL2RldmVsb3AucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAzNCAr KysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMo KyksIDIzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXRjL2doZXJraW4vY29udmVydF9n aGVya2luLWxhbmd1YWdlcy5weSBiL2V0Yy9naGVya2luL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFn ZXMucHkKK2luZGV4IDE4MDNjYTYuLjllZjliMGMgMTAwNzU1CistLS0gYS9ldGMvZ2hlcmtpbi9j b252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5CisrKysgYi9ldGMvZ2hlcmtpbi9jb252ZXJ0X2do ZXJraW4tbGFuZ3VhZ2VzLnB5CitAQCAtNjgsNyArNjgsNyBAQCBkZWYgeWFtbF9ub3JtYWxpemUo ZGF0YSk6CisgICAgIHJldHVybiBkYXRhCisgCisgCistZGVmIGRhdGFfbm9ybWFsaXplKGRhdGEp OgorK2RlZiBkYXRhX25vcm1hbGl6ZShkYXRhLCB2ZXJib3NlPUZhbHNlKToKKyAgICAgIiIiTm9y bWFsaXplICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBkYXRhIGludG8gaW50ZXJuYWwgZm9ybWF0 LAorICAgICBuZWVkZWQgYnkgYmVoYXZlLiIKKyAKK0BAIC03Niw3ICs3Niw4IEBAIGRlZiBkYXRh X25vcm1hbGl6ZShkYXRhKToKKyAgICAgOnJldHVybjogTm9ybWFsaXplZCBkYXRhIChhcyBkaWN0 aW9uYXJ5KS4KKyAgICAgIiIiCisgICAgIGZvciBsYW5ndWFnZSBpbiBkYXRhOgorLSAgICAgICAg cHJpbnQoIkxhbmd1YWdlOiAlcyAuLi4iICUgbGFuZ3VhZ2UpCisrICAgICAgICBpZiB2ZXJib3Nl OgorKyAgICAgICAgICAgIHByaW50KCJMYW5ndWFnZTogJXMgLi4uIiAlIGxhbmd1YWdlKQorICAg ICAgICAgIyAtLSBTVEVQOiBOb3JtYWxpemUgYXR0cmlidXRlICJzY2VuYXJpb091dGxpbmUiID0+ ICJzY2VuYXJpb19vdXRsaW5lIgorICAgICAgICAgbGFuZ19rZXl3b3JkcyA9IGRhdGFbbGFuZ3Vh Z2VdCisgICAgICAgICBsYW5nX2tleXdvcmRzW3Uic2NlbmFyaW9fb3V0bGluZSJdID0gbGFuZ19r ZXl3b3Jkc1t1InNjZW5hcmlvT3V0bGluZSJdCitAQCAtMTA3LDcgKzEwOCw3IEBAIGRlZiBkYXRh X25vcm1hbGl6ZShkYXRhKToKKyAKKyAKKyBkZWYgZ2hlcmtpbl9sYW5ndWFnZXNfdG9fcHl0aG9u X21vZHVsZShnaGVya2luX2xhbmd1YWdlc19wYXRoLCBvdXRwdXRfZmlsZT1Ob25lLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nPU5vbmUpOgorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nPU5vbmUsIHZlcmJvc2U9 RmFsc2UpOgorICAgICAiIiJXb3JraG9yc2UuCisgICAgIFBlcmZvcm1zIHRoZSBjb252ZXJzaW9u IGZyb20gImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIHRvICJpMThuLnB5Ii4KKyAgICAgV3JpdGVz IG91dHB1dCB0byBmaWxlIG9yIGNvbnNvbGUgKHN0ZG91dCkuCitAQCAtMTE1LDYgKzExNiw3IEBA IGRlZiBnaGVya2luX2xhbmd1YWdlc190b19weXRob25fbW9kdWxlKGdoZXJraW5fbGFuZ3VhZ2Vz X3BhdGgsIG91dHB1dF9maWxlPU5vbmUsCisgICAgIDpwYXJhbSBnaGVya2luX2xhbmd1YWdlc19w YXRoOiBGaWxlIHBhdGggZm9yIEpTT04gZmlsZS4KKyAgICAgOnBhcmFtIG91dHB1dF9maWxlOiAg ICAgT3V0cHV0IGZpbGVuYW1lIChvciBTVERPVVQgZm9yOiBOb25lLCAic3Rkb3V0IiwgIi0iKQor ICAgICA6cGFyYW0gZW5jb2Rpbmc6ICAgICAgICBPcHRpb25hbCBvdXRwdXQgZW5jb2RpbmcgdG8g dXNlIChkZWZhdWx0OiBVVEYtOCkuCisrICAgIDpwYXJhbSB2ZXJib3NlOiAgICAgICAgIEVuYWJs ZSB2ZXJib3NlIG1vZGUgKGFzIGJvb2w7IG9wdGlvbmFsKS4KKyAgICAgIiIiCisgICAgIGlmIGVu Y29kaW5nIGlzIE5vbmU6CisgICAgICAgICBlbmNvZGluZyA9ICJVVEYtOCIKK0BAIC0xMjIsNyAr MTI0LDcgQEAgZGVmIGdoZXJraW5fbGFuZ3VhZ2VzX3RvX3B5dGhvbl9tb2R1bGUoZ2hlcmtpbl9s YW5ndWFnZXNfcGF0aCwgb3V0cHV0X2ZpbGU9Tm9uZSwKKyAgICAgIyAtLSBTVEVQIDE6IExvYWQg SlNPTiBkYXRhLgorICAgICBqc29uX2VuY29kaW5nID0gIlVURi04IgorICAgICBsYW5ndWFnZXMg PSBqc29uLmxvYWQob3BlbihnaGVya2luX2xhbmd1YWdlc19wYXRoLCBlbmNvZGluZz1qc29uX2Vu Y29kaW5nKSkKKy0gICAgbGFuZ3VhZ2VzID0gZGF0YV9ub3JtYWxpemUobGFuZ3VhZ2VzKQorKyAg ICBsYW5ndWFnZXMgPSBkYXRhX25vcm1hbGl6ZShsYW5ndWFnZXMsIHZlcmJvc2U9dmVyYm9zZSkK KyAgICAgIyBsYW5ndWFnZXMgPSB5YW1sX25vcm1hbGl6ZShsYW5ndWFnZXMpCisgCisgICAgICMg LS0gU1RFUCAyOiBHZW5lcmF0ZSBweXRob24gbW9kdWxlIHdpdGggaTE4biBkYXRhLgorQEAgLTE3 OCw2ICsxODAsOSBAQCBkZWYgbWFpbihhcmdzPU5vbmUpOgorICAgICBwYXJzZXIuYWRkX2FyZ3Vt ZW50KCItZSIsICItLWVuY29kaW5nIiwgZGVzdD0iZW5jb2RpbmciLAorICAgICAgICAgICAgICAg ICAgICAgICAgIGRlZmF1bHQ9IlVURi04IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw PSJPdXRwdXQgZW5jb2RpbmcuIikKKysgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS12ZXJib3Nl IiwgZGVzdD0idmVyYm9zZSIsIGRlZmF1bHQ9RmFsc2UsCisrICAgICAgICAgICAgICAgICAgICAg ICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKysgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJF bmFibGUgdmVyYm9zZSBtb2RlLiIpCisgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIm91dHB1dF9m aWxlIiwgZGVmYXVsdD0iaTE4bi5weSIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgICAgICAgaGVs cD0iRmlsZW5hbWUgb2YgUHl0aG9uIEkxOE4gbW9kdWxlIChhcyBvdXRwdXQpLiIpCisgICAgIHBh cnNlci5hZGRfYXJndW1lbnQoIi0tdmVyc2lvbiIsIGFjdGlvbj0idmVyc2lvbiIsIHZlcnNpb249 X192ZXJzaW9uX18pCitAQCAtMTkxLDcgKzE5Niw4IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSk6Cisg ICAgIHRyeToKKyAgICAgICAgIHByaW50KCJXcml0aW5nICVzIC4uIiAlIG9wdGlvbnMub3V0cHV0 X2ZpbGUpCisgICAgICAgICBnaGVya2luX2xhbmd1YWdlc190b19weXRob25fbW9kdWxlKG9wdGlv bnMuanNvbl9maWxlLCBvcHRpb25zLm91dHB1dF9maWxlLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz1vcHRpb25zLmVuY29kaW5nKQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz1vcHRpb25zLmVu Y29kaW5nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJi b3NlPW9wdGlvbnMudmVyYm9zZSkKKyAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAg ICAgbWVzc2FnZSA9ICIlczogJXMiICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBlKQorICAgICAg ICAgc3lzLmV4aXQobWVzc2FnZSkKK2RpZmYgLS1naXQgYS90YXNrcy9kZXZlbG9wLnB5IGIvdGFz a3MvZGV2ZWxvcC5weQoraW5kZXggYjA4ZGYwZS4uOWEyMTM2MyAxMDA2NDQKKy0tLSBhL3Rhc2tz L2RldmVsb3AucHkKKysrKyBiL3Rhc2tzL2RldmVsb3AucHkKK0BAIC0xOCw5ICsxOCwxNSBAQCBH SEVSS0lOX0xBTkdVQUdFU19VUkwgPSAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29t L2N1Y3VtYmVyL2N1Y3VtYmVyL21hcworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRBU0tT OgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1AdGFzayhuYW1lPSJ1cGRhdGVfZ2hlcmtpbiIp ICMgVE9PLUxPTkdTOiBhbGlhc2VzPVsidXBkYXRlX2doZXJraW5fbGFuZ3VhZ2VzIl0pCistZGVm IHVwZGF0ZV9naGVya2luX2xhbmd1YWdlcyhjdHgpOgorLSAgICAiIiJVcGRhdGUgImdoZXJraW4t bGFuZ3VhZ2VzLmpzb24iIGZpbGUgZnJvbSBjdWN1bWJlci1yZXBvLiIiIgorK0B0YXNrCisrZGVm IHVwZGF0ZV9naGVya2luKGN0eCwgZHJ5X3J1bj1GYWxzZSk6CisrICAgICIiIlVwZGF0ZSAiZ2hl cmtpbi1sYW5ndWFnZXMuanNvbiIgZmlsZSBmcm9tIGN1Y3VtYmVyLXJlcG8uCisrCisrICAgICog RG93bmxvYWQgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZyb20gY3VjdW1iZXIgcmVwbworKyAg ICAqIFVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIKKysgICAgKiBHZW5lcmF0ZSAiaTE4 bi5weSIgZmlsZSBmcm9tICJnaGVya2luLWxhbmd1YWdlcy5qc29uIgorKyAgICAqIFVwZGF0ZSAi YmVoYXZlL2kxOG4ucHkiIGZpbGUgKG9wdGlvbmFsOyBub3QgaW4gZHJ5LXJ1biBtb2RlKQorKyAg ICAiIiIKKyAgICAgd2l0aCBjZCgiZXRjL2doZXJraW4iKToKKyAgICAgICAgICMgLS0gQkFDS1VQ LUZJTEU6CisgICAgICAgICBnaGVya2luX2xhbmd1YWdlc19maWxlID0gUGF0aCgiZ2hlcmtpbi1s YW5ndWFnZXMuanNvbiIpCitAQCAtMjgsMzEgKzM0LDIzIEBAIGRlZiB1cGRhdGVfZ2hlcmtpbl9s YW5ndWFnZXMoY3R4KToKKyAKKyAgICAgICAgIHByaW50KCdEb3dubG9hZGluZyAiZ2hlcmtpbi1s YW5ndWFnZXMuanNvbiIgZnJvbSBnaXRodWI6Y3VjdW1iZXIgLi4uJykKKyAgICAgICAgIGRvd25s b2FkX3JlcXVlc3QgPSByZXF1ZXN0cy5nZXQoR0hFUktJTl9MQU5HVUFHRVNfVVJMKQorLSAgICAg ICAgZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZSA9IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2VzLmpz b24uTkVXIikKKyAgICAgICAgIGFzc2VydCBkb3dubG9hZF9yZXF1ZXN0Lm9rCisgICAgICAgICBw cmludCgnRG93bmxvYWQgZmluaXNoZWQ6IE9LIChzaXplPXswfSknLmZvcm1hdChsZW4oZG93bmxv YWRfcmVxdWVzdC5jb250ZW50KSkpCistICAgICAgICB3aXRoIG9wZW4oZ2hlcmtpbl9sYW5ndWFn ZXNfbmV3ZmlsZSwgIndiIikgYXMgZjoKKysgICAgICAgIHdpdGggb3BlbihnaGVya2luX2xhbmd1 YWdlc19maWxlLCAid2IiKSBhcyBmOgorICAgICAgICAgICAgIGYud3JpdGUoZG93bmxvYWRfcmVx dWVzdC5jb250ZW50KQorLSAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZS5yZW5hbWUo ImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iKQorIAorICAgICAgICAgcHJpbnQoJ0dlbmVyYXRpbmcg ImkxOG4ucHkiIC4uLicpCisgICAgICAgICBjdHgucnVuKCIuL2NvbnZlcnRfZ2hlcmtpbi1sYW5n dWFnZXMucHkiKQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFRBU0sgSEVMUEVS UzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistZGVmIHByaW50X3BhY2thZ2VzKHBhY2thZ2Vz KToKKy0gICAgcHJpbnQoIlBBQ0tBR0VTWyVkXToiICUgbGVuKHBhY2thZ2VzKSkKKy0gICAgZm9y IHBhY2thZ2UgaW4gcGFja2FnZXM6CistICAgICAgICBwYWNrYWdlX3NpemUgPSBwYWNrYWdlLnN0 YXQoKS5zdF9zaXplCistICAgICAgICBwYWNrYWdlX3RpbWUgPSBwYWNrYWdlLnN0YXQoKS5zdF9t dGltZQorLSAgICAgICAgcHJpbnQoIiAgLSAlcyAgKHNpemU9JXMpIiAlIChwYWNrYWdlLCBwYWNr YWdlX3NpemUpKQorKyAgICAgICAgY3R4LnJ1bigiZGlmZiBpMThuLnB5IC4uLy4uL2JlaGF2ZS9p MThuLnB5IikKKysgICAgICAgIGlmIG5vdCBkcnlfcnVuOgorKyAgICAgICAgICAgIHByaW50KCJV cGRhdGluZyBiZWhhdmUvaTE4bi5weSAuLi4iKQorKyAgICAgICAgICAgIFBhdGgoImkxOG4ucHki KS5tb3ZlKCIuLi8uLi9iZWhhdmUvaTE4bi5weSIpCisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICMgVEFTSyBDT05GSUdVUkFUSU9OOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysj IFRPTy1MT05HOiBhbGlhc2VzPVsidXBkYXRlX2doZXJraW5fbGFuZ3VhZ2VzIl0pCisgbmFtZXNw YWNlID0gQ29sbGVjdGlvbigpCistbmFtZXNwYWNlLmFkZF90YXNrKHVwZGF0ZV9naGVya2luX2xh bmd1YWdlcykKKytuYW1lc3BhY2UuYWRkX3Rhc2sodXBkYXRlX2doZXJraW4pCisgbmFtZXNwYWNl LmNvbmZpZ3VyZSh7fSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDktRVhBTVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4dHVy ZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDktRVhBTVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4 dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmE4ZTY1YTIxNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDktRVhBTVBMRS1Ud2Vhay1u YW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaApAQCAtMCwwICsxLDMy MiBAQAorRnJvbSBhMzA2OWMxZTk4ODVjNDI4NDQyN2Q1ZDk2MDM5Y2Q3NTkyYTI3NTQ4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDkgSnVsIDIwMTkgMDg6MTA6MjYgKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gRVhBTVBMRTogVHdlYWsgbmFtaW5nIHRvIEBmaXh0dXJlLmJlaGF2ZS5ub19i YWNrZ3JvdW5kICh3YXM6CisgLm92ZXJyaWRlX2JhY2tncm91bmQpCisKKy0tLQorIGV4YW1wbGVz L2ZpeHR1cmUubm9fYmFja2dyb3VuZC9SRUFETUUucnN0ICAgICB8IDExMCArKysrKysrKysrKysr KysrKysKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5ICAgICAgICAgICAgfCAg IDAKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL25vX2JhY2tncm91bmQucHkgICAgICAgfCAgNzIg KysrKysrKysrKysrCisgLi4uL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAgICAg ICAgIHwgIDM1ICsrKysrKworIC4uLi9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUgICAgICAgICAg ICAgICAgICB8ICAxOCArKysKKyAuLi4vZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgICAg ICAgICAgICAgfCAgMTMgKysrCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2 ZTRjbWQucHkgIHwgIDEyICsrCisgNyBmaWxlcyBjaGFuZ2VkLCAyNjAgaW5zZXJ0aW9ucygrKQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1F LnJzdAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQv YmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1w bGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3Vu ZC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQv ZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4 dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFz aWNfc3RlcHMucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNr Z3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkKKworZGlmZiAt LWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9SRUFETUUucnN0IGIvZXhhbXBs ZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL1JFQURNRS5yc3QKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwLi40MjQzZjEwCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9m aXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1FLnJzdAorQEAgLTAsMCArMSwxMTAgQEAKKytFWEFN UExFOiBEaXNhYmxlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGZvciBTY2VuYXJp bworKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKys6UkVMQVRFRC1UTzogIzc1NgorKworK1Ro aXMgZXhhbXBsZSBzaG93cyBob3cgdGhlIEJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNt IGluIEdoZXJraW4KKytjYW4gYmUgZGlzYWJsZWQgaW4gYGBiZWhhdmVgYC4KKysKKytQYXJ0cyBv ZiB0aGUgcmVjaXBlOgorKworKyogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlIChGZWF0dXJlIGZp bGUgYXMgZXhhbXBsZSkKKysqIGZlYXR1cmVzL2Vudmlyb25tZW50LnB5IChnbHVlIGNvZGUgYW5k IGhvb2tzIGZvciBmaXh0dXJlLXRhZyAvIGZpeHR1cmUpCisrKiBiZWhhdmVfZml4dHVyZV9saWIv bm9fYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBsZW1lbnRhdGlvbiwgd29ya2hvcnNlKQorKwor KworKy4uIHdhcm5pbmc6OiBCRVdBUkU6IFRoaXMgc2hvd3MgeW91IGhvdyBjYW4gZG8gaXQsIG5v dCB0aGF0IHlvdSBzaG91bGQgZG8gaXQKKysKKysgICAgQkVUVEVSOgorKworKyAgICAqIFVzZSBS dWxlcyB0byBncm91cCBTY2VuYXJpb3MsIGVhY2ggd2l0aCBpdHMgb3duIEJhY2tncm91bmQgKGlu IEdoZXJraW4gdjYpCisrICAgICogU3BsaXQgRmVhdHVyZSBhc3BlY3RzIGludG8gbXVsdGlwbGUg ZmVhdHVyZSBmaWxlcyAoaWYgbmVlZGVkKQorKyAgICAqIC4uLiAoc2VlIGlzc3VlICM3NTYgYWJv dmUpCisrCisrCisrRXhwbGFuYXRpb24KKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytFeGFtcGxlIGNv ZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRoZQorK2JhY2tn cm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGJ5IHVzaW5nIGEgZml4dHVyZSAvIGZpeHR1cmUt dGFnLgorK1RoZSBmaXh0dXJlLXRhZyAiQGZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQiIG1h cmtzIHRoZQorK2xvY2F0aW9uIGluIEdoZXJraW4gKHdoaWNoIFNjZW5hcmlvKSB3aGVyZSB0aGUg Zml4dHVyZSBzaG91bGQgYmUgdXNlZAorKworKy4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisr ICAgICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IFNo b3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIGlzIHVzZWQKKysKKysgICAgICAg IEJhY2tncm91bmQ6CisrICAgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwCisrCisrICAg ICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCisrICAg ICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUi CisrCisrICAgICAgICBAZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZAorKyAgICAgICAgU2Nl bmFyaW86IEJvYgorKyAgICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1 cAorKyAgICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5v dGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKytXaGVu IHRoZSBmZWF0dXJlIGlzIGV4ZWN1dGVkLCB5b3Ugc2VlIHRoYXQ6CisrCisrKiBGaXJzdCBTY2Vu YXJpbyAiQWxpY2UiOiBCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBpbmhlcml0ZWQgYW5kIGV4ZWN1dGVk IGZpcnN0LgorKyogU2Vjb25kIFNjZW5hcmlvICJCb2IiOiBObyBCYWNrZ3JvdW5kIHN0ZXAgaXMg ZXhlY3V0ZWQuCisrCisrLi4gY29kZS1ibG9jazo6IHNoCisrCisrICAgICQgLi4vLi4vYmluL2Jl aGF2ZSAtZiBwbGFpbiBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKysgICAgRmVhdHVyZTogT3Zl cnJpZGUgdGhlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGluIHNvbWUgU2NlbmFy aW9zCisrICAgICAgQmFja2dyb3VuZDoKKysKKysgICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAg ICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCisrICAgICAgICBX aGVuIGEgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAgQW5kIG5vdGUgdGhhdCAiQmFj a2dyb3VuZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVyZSIgLi4uIHBhc3NlZAorKyAgICBGSVhUVVJF LUhJTlQ6IERJU0FCTEUtQkFDS0dST1VORCBGT1I6IEJvYgorKworKyAgICAgIFNjZW5hcmlvOiBC b2IKKysgICAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwIC4uLiBwYXNz ZWQKKysgICAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCisrICAgICAg ICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIiAu Li4gcGFzc2VkCisrCisrICAgIDEgZmVhdHVyZSBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQK KysgICAgMiBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAgIDYgc3Rl cHMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkLCAwIHVuZGVmaW5lZAorKworKworK1RoZSBl bnZpcm9ubWVudCBmaWxlIHByb3ZpZGVzIHRoZSBnbHVlIGNvZGUgdGhhdCB0aGUgZml4dHVyZSBp cyBjYWxsZWQ6CisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6 IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrICAgIGZyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm5v X2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9ub19iYWNrZ3JvdW5kCisrICAgIGZyb20gYmVoYXZl LmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3RhZworKworKyAgICAjIC0tIEZJWFRVUkUg UkVHSVNUUlk6CisrICAgIGZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAgICAgICAiZml4dHVyZS5i ZWhhdmUubm9fYmFja2dyb3VuZCI6IGJlaGF2ZV9ub19iYWNrZ3JvdW5kLAorKyAgICB9CisrCisr ICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAgIyBIT09LUzoKKysgICAgIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyAgICBkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICAg ICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CisrICAgICAgICAgICAgcmV0dXJuIHVz ZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCisrCisrCisr Li4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6IGJlaGF2ZV9maXh0dXJl X2xpYi9ub19iYWNrZ3JvdW5kLnB5IChmaXh0dXJlIGltcGxlbWVudGF0aW9uKQorKyAgICBmcm9t IGJlaGF2ZSBpbXBvcnQgZml4dHVyZQorKworKyAgICBAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJl aGF2ZS5ub19iYWNrZ3JvdW5kIikKKysgICAgZGVmIGJlaGF2ZV9ub19iYWNrZ3JvdW5kKGN0eCk6 CisrICAgICAgICAjIC0tIFNFVFVQLVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVy aXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgorKyAgICAgICAgY3VycmVudF9zY2VuYXJpbyA9 IGN0eC5zY2VuYXJpbworKyAgICAgICAgaWYgY3VycmVudF9zY2VuYXJpbzoKKysgICAgICAgICAg ICBwcmludCgiRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBjdXJy ZW50X3NjZW5hcmlvLm5hbWUpCisrICAgICAgICAgICAgY3VycmVudF9zY2VuYXJpby51c2VfYmFj a2dyb3VuZCA9IEZhbHNlCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3Jv dW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weSBiL2V4YW1wbGVzL2ZpeHR1cmUubm9f YmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lNjlkZTI5CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4 dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5IGIv ZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9ub19iYWNr Z3JvdW5kLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNDdiZDBiNQor LS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2 ZV9maXh0dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5CitAQCAtMCwwICsxLDcyIEBACisrIyAtKi0g Y29kaW5nOiBVVEYtOCAtKi0KKysjIFJFTEFURUQtVE86ICM3NTYKKysiIiIKKytFeGFtcGxlIGNv ZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRoZQorK2JhY2tn cm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgorKworKy4uIGNvZGUtYmxvY2s6OiBnaGVya2lu CisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisrICAgIEZlYXR1 cmU6IFNob3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIGlzIHVzZWQK KysKKysgICAgICAgIEJhY2tncm91bmQ6CisrICAgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBz dGVwCisrCisrICAgICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAgICAgICAgV2hlbiBhIHN0ZXAg cGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4 ZWN1dGVkIGhlcmUiCisrCisrICAgICAgICBAZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZAor KyAgICAgICAgU2NlbmFyaW86IEJvYgorKyAgICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBz Y2VuYXJpbyBzZXR1cAorKyAgICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKKysgICAg ICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVy ZSIKKysKKysuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgICMgLS0gRklMRTogZmVhdHVy ZXMvZW52aXJvbm1lbnQucHkKKysgICAgZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3ZlcnJpZGVf YmFja2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQKKysgICAgZnJvbSBi ZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCisrCisrICAgICMgLS0gRklY VFVSRSBSRUdJU1RSWToKKysgICAgZml4dHVyZV9yZWdpc3RyeSA9IHsKKysgICAgICAgICJmaXh0 dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCisr ICAgIH0KKysKKysgICAgZGVmIGJlZm9yZV90YWcoY29udGV4dCwgdGFnKToKKysgICAgICAgIGlm IHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorKyAgICAgICAgICAgIHJldHVybiB1c2VfZml4 dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworKyIiIgorKwor K2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgor K2Zyb20gYmVoYXZlIGltcG9ydCBmaXh0dXJlCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorKyMgQkVIQVZFIEZJWFRVUkVTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytAZml4dHVy ZShuYW1lPSJmaXh0dXJlLmJlaGF2ZS5vbm9fYmFja2dyb3VuZCIpCisrZGVmIGJlaGF2ZV9ub19i YWNrZ3JvdW5kKGN0eCk6CisrICAgICIiIk92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIGluaGVyaW50 YW5jZSBtZWNoYW5pc20uCisrICAgIElmIGEgRmVhdHVyZSAvIFJ1bGUgQmFja2dyb3VuZCBleGlz dHMgaW4gYSBGZWF0dXJlLAorKyAgICBhbGwgY29udGFpbmVkIFNjZW5hcmlvcyBpbmhlcml0IHRo ZSBCYWNrZ3JvdW5kJ3Mgc3RlcHMuCisrCisrICAgIFRoaXMgZml4dHVyZSBkaXNhYmxlcyB0aGlz IG1lY2hhbmlzbS4KKysgICAgVGhlIHRhZ2dlZCBHaGVya2luIGVsZW1lbnQgd2lsbCBubyBsb25n ZXIgaW5oZXJpdCB0aGUgYmFja2dyb3VuZCBzdGVwcy4KKysKKysgICAgOnBhcmFtIGN0eDogQ29u dGV4dCBvYmplY3QgdG8gdXNlIChkdXJpbmcgYSB0ZXN0IHJ1bikuCisrICAgICIiIgorKyAgICAj IC0tIFNFVFVQLVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIChmb3Ig c2NlbmFyaW9zIG9ubHkpLgorKyAgICBjdXJyZW50X3NjZW5hcmlvID0gY3R4LnNjZW5hcmlvCisr ICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86CisrICAgICAgICBwcmludCgiRklYVFVSRS1ISU5UOiBE SVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBjdXJyZW50X3NjZW5hcmlvLm5hbWUpCisrICAg ICAgICBjdXJyZW50X3NjZW5hcmlvLnVzZV9iYWNrZ3JvdW5kID0gRmFsc2UKKysKKysKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RVTEUgU1BFQ0lGSUM6CisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorK2ZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAgICJmaXh0dXJlLmJlaGF2ZS5ub19i YWNrZ3JvdW5kIjogYmVoYXZlX25vX2JhY2tncm91bmQsCisrfQorZGlmZiAtLWdpdCBhL2V4YW1w bGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1w bGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjE4ODU3YjkKKy0tLSAvZGV2L251bGwKKysr KyBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5w eQorQEAgLTAsMCArMSwzNSBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyAtLSBGSUxF OiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorK2ltcG9ydCBvcy5wYXRoCisraW1wb3J0IHN5cwor KworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFBZVEhPTiBQQVRIIFNFVFVQOgorKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKytIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorK1RP UEEgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKEhFUkUsICIuLiIpKQorKworK2RlZiBz ZXR1cF9weXRob25fcGF0aCgpOgorKyAgICBzeXMucGF0aC5pbnNlcnQoMCwgVE9QQSkKKysKKytz ZXR1cF9weXRob25fcGF0aCgpCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTk9STUFM IFBBUlQ6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2Zyb20gYmVoYXZlX2ZpeHR1cmVfbGli Lm5vX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9ub19iYWNrZ3JvdW5kCisrZnJvbSBiZWhhdmUu Zml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCisrCisrIyAtLSBGSVhUVVJFIFJFR0lT VFJZOgorK2ZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAgICJmaXh0dXJlLmJlaGF2ZS5ub19iYWNr Z3JvdW5kIjogYmVoYXZlX25vX2JhY2tncm91bmQsCisrfQorKworKworKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKysjIEhPT0tTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgYmVmb3Jl X3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICBpZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToK KysgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJl X3JlZ2lzdHJ5KQorKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3Vu ZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91 bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMC4uMjAyNTcxNgorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5u b19iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorQEAgLTAsMCArMSwxOCBAQAor K0ZlYXR1cmU6IERpc2FibGUgdGhlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGlu IHNvbWUgU2NlbmFyaW9zCisrCisrICAuIEJFV0FSRToKKysgIC4gICBUaGlzIGlzIG9ubHkgYW4g ZXhhbXBsZSBob3cgdGhpcyBjYW4gYmUgZG9uZSAoUFJPT0YtT0YtQ09OQ0VQVCkuCisrICAuICAg VGhpcyBpcyBub3QgYW4gZXhhbXBsZSB0aGF0IHlvdSBzaG91bGQgZG8gdGhpcyAhISEKKysKKysg ICAgQmFja2dyb3VuZDoKKysgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMKKysK KysgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAg QW5kIG5vdGUgdGhhdCAiQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysg ICAgQGZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQKKysgICAgU2NlbmFyaW86IEJvYgorKyAg ICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCisrICAgICAgV2hlbiBhbm90 aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQ UyBhcmUgZXhlY3V0ZWQgaGVyZSIKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2Jh Y2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgYi9leGFtcGxlcy9maXh0dXJl Lm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zNGYyMTA3CistLS0gL2Rldi9udWxsCisrKysgYi9l eGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMu cHkKK0BAIC0wLDAgKzEsMTMgQEAKKytmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4sIHN0ZXAKKysK KysjIEBzdGVwKHUne3dvcmR9IHN0ZXAgcGFzc2VzJykKKysjIGRlZiBzdGVwX3Bhc3Nlc193aXRo X3dvcmQoY29udGV4dCwgd29yZCk6CisrIyAgICAgcGFzcworKworK0BzdGVwKHUne3dvcmR9IGJh Y2tncm91bmQgc3RlcCBwYXNzZXMnKQorK2RlZiBzdGVwX2JhY2tncm91bmRfc3RlcF9wYXNzZXMo Y29udGV4dCwgd29yZCk6CisrICAgIHBhc3MKKysKKytAZ2l2ZW4odSdJIG5lZWQge3dvcmR9IHNj ZW5hcmlvIHNldHVwJykKKytkZWYgc3RlcF9naXZlbl9pX25lZWRfc2NlbmFyaW9fc2V0dXAoY29u dGV4dCwgd29yZCk6CisrICAgIHBhc3MKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5v X2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weSBiL2V4 YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9i ZWhhdmU0Y21kLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYmMzMmEz MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2Zl YXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkKK0BAIC0wLDAgKzEsMTIgQEAK KysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyIiIgorK1VzZSBiZWhhdmU0Y21kMCBzdGVwIGxp YnJhcnkgKHByZWRlY2Vzc29yIG9mIGJlaGF2ZTRjbWQpLgorKyIiIgorKworK2Zyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrCisrIyAtLSBSRUdJU1RFUi1TVEVQUyBGUk9N IFNURVAtTElCUkFSWToKKysjIGltcG9ydCBiZWhhdmU0Y21kMC5fX2FsbF9zdGVwc19fCisrIyBp bXBvcnQgYmVoYXZlNGNtZDAuZmFpbGluZ19zdGVwcworK2ltcG9ydCBiZWhhdmU0Y21kMC5wYXNz aW5nX3N0ZXBzCisraW1wb3J0IGJlaGF2ZTRjbWQwLm5vdGVfc3RlcHMKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTAtRVhB TVBMRS1DbGVhbnVwLUdoZXJraW4tdjYtUkVBRE1FLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1MC1FWEFNUExFLUNsZWFudXAtR2hl cmtpbi12Ni1SRUFETUUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li41MDZhM2FjNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUwLUVYQU1QTEUtQ2xlYW51cC1HaGVya2luLXY2 LVJFQURNRS5wYXRjaApAQCAtMCwwICsxLDY0IEBACitGcm9tIGJiOTdmY2E5OTBlMzNkMjgwZjlj ZWQ5ZGEzMWUyMjc0YTk1YjY3NjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgOSBKdWwg MjAxOSAwODoyMDoyNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBFWEFNUExFOiBDbGVhbnVwIEdo ZXJraW4gdjYgUkVBRE1FCisKKy0tLQorIGV4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdCAg ICAgICAgICAgICAgICB8IDIzICsrKysrKysrKysrLS0tLS0tLS0KKyAuLi4vZmVhdHVyZXMvc3Rl cHMvcGFzc2luZ19zdGVwcy5weSAgICAgICAgICAgfCAxMSArKysrKysrKysKKyAyIGZpbGVzIGNo YW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weQor CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0IGIvZXhhbXBsZXMv Z2hlcmtpbl92Ni9SRUFETUUucnN0CitpbmRleCA1ODE5OWRkLi45OWFmMWM1IDEwMDY0NAorLS0t IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0CisrKysgYi9leGFtcGxlcy9naGVya2lu X3Y2L1JFQURNRS5yc3QKK0BAIC0yLDE3ICsyLDIyIEBAIEdoZXJraW4gdjYgRXhhbXBsZXMKKyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorIAorIAorLVNDUkFUQ0hQQUQ6IFByb2JsZW1zCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKytQcm92aWRlcyBleGFtcGxlKHMpIG9mIEdoZXJraW4gdjYgYWRkaXRp b25zOgorIAorLS0gU3VtbWFyeVJlcG9ydGVyOiBTaG93cyB3cm9uZyBjb3VudHMgd2hlbiBSdWxl cyBhcmUgcHJlc2VudDo6CisrKiBSdWxlIGNvbmNlcHQKKysqIE5ldyBhbGlhc2VzIGZvciBHaGVy a2luIGtleXdvcmRzIChTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lKQorIAorLSAgICAuLi4KKy0g ICAgMCBmZWF0dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAxIHNraXBwZWQgWFhYCistICAgIDMgcnVs ZXMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCistICAgIDUgc2NlbmFyaW9zIHBhc3NlZCwg MCBmYWlsZWQsIDAgc2tpcHBlZAorLSAgICAxMyBzdGVwcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNr aXBwZWQsIDAgdW5kZWZpbmVkCisrUnVsZSBmdW5jdGlvbmFsaXR5OgorIAorKyogQSBSdWxlIGlz IGEgc2NlbmFyaW8gY29udGFpbmVyIHNpbWlsYXIgdG8gYSBGZWF0dXJlCisrKiBBIEZlYXR1cmUg bWF5IGNvbnRhaW4gbWFueSBSdWxlcworKyogQSBSdWxlIG1heSBub3QgY29udGFpbiBvdGhlciBS dWxlcworKyogQSBSdWxlIG1heSBjb250YWluIGEgQmFja2dyb3VuZCAoYW5kIGluaGVyaXRzIGl0 cyBGZWF0dXJlIEJhY2tncm91bmQpCisrKiBBIFJ1bGUgaW5oZXJpdHMgaXRzIEZlYXR1cmUgQmFj a2dyb3VuZCBpZiBpdCBoYXMgbm8gQmFja2dyb3VuZAorKyogQSBSdWxlIG1heSBjb250YWluIG1h bnkgU2NlbmFyaW9zIGFuZC9vciBTY2VuYXJpb091dGxpbmVzCisrKiBBIFJ1bGUgbWF5IGhhdmUg dGFncworIAorLS0gRm9ybWF0dGVyczogUHJldHR5Rm9ybWF0dGVyLCBQbGFpbkZvcm1hdHRlciAo YXQgbGVhc3QpIG5lZWQgUnVsZSBzdXBwb3J0CisrTmV3IGtleXdvcmQgYWxpYXNlczoKKyAKKysq ICJTY2VuYXJpbyBUZW1wbGF0ZSIgZm9yICJTY2VuYXJpbyBPdXRsaW5lIgorKyogIkV4YW1wbGUi IGZvciAiU2NlbmFyaW8iCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJl cy9zdGVwcy9wYXNzaW5nX3N0ZXBzLnB5IGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9z dGVwcy9wYXNzaW5nX3N0ZXBzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MC4uMjcxNGNiMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0 dXJlcy9zdGVwcy9wYXNzaW5nX3N0ZXBzLnB5CitAQCAtMCwwICsxLDExIEBACisrIyAtKi0gY29k aW5nOiBVVEYtOCAtKi0KKysKKytmcm9tIGJlaGF2ZSBpbXBvcnQgc3RlcAorKworK0BzdGVwKHUn e3dvcmR9IHN0ZXAgcGFzc2VzJykKKytkZWYgc3RlcF9wYXNzZXMoY3R4LCB3b3JkKToKKysgICAg cGFzcworKworK0BzdGVwKHUne3dvcmR9IHN0ZXAgZmFpbHMnKQorK2RlZiBzdGVwX2ZhaWxzKGN0 eCwgd29yZCk6CisrICAgIGFzc2VydCBGYWxzZSwgIlhGQUlMLVNURVA6IHswfSBzdGVwIGZhaWxz Ii5mb3JtYXQod29yZCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTEtSW1wcm92ZS1zdXBwb3J0LWZvci1mZWF0dXJlLmJh Y2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTEtSW1wcm92ZS1zdXBwb3J0LWZvci1mZWF0dXJl LmJhY2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmYxYTZiMzlmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTEtSW1wcm92ZS1zdXBwb3J0 LWZvci1mZWF0dXJlLmJhY2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaApAQCAtMCwwICsxLDE1 MTAgQEAKK0Zyb20gZmNjMWJhOWU1NmYwZGQ0YjBkMmVhNzIzOTVjNWNjNWViYjRhYmQwMSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMCBKdWwgMjAxOSAyMjozODoxMyArMDIwMAorU3Vi amVjdDogW1BBVENIXSBJbXByb3ZlIHN1cHBvcnQgZm9yIGZlYXR1cmUuYmFja2dyb3VuZCBpbmhl cml0YW5jZSBmb3IKKyBydWxlLmJhY2tncm91bmQuCisKKy0tLQorIC5naXRpZ25vcmUgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArCisgYmVoYXZlL21vZGVsLnB5ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjMwICsrKysrKysrKystLQorIGJlaGF2ZS9w YXJzZXIucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOSArLQorIC4uLi9maXh0 dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1FLnJzdCAgICB8IDExNiAtLS0tLS0KKyAuLi4v YmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5ICAgICAgICAgICAgfCAgIDAKKyAuLi4vYmVo YXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgfCAgODAgLS0tLS0KKyAuLi4v ZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAgICAgICAgICAgfCAgMzUgLS0KKyAuLi4v ZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlICAgICAgICAgICAgICAgICAgfCAgMTggLQorIC4uLi9m ZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weSAgICAgICAgICAgICB8ICAxMyAtCisgLi4uL2Zl YXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkgIHwgIDEyIC0KKyBzZXR1cC5w eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKworIHRlc3RzL3Vu aXQvdGVzdF9tb2RlbC5weSAgICAgICAgICAgICAgICAgICAgICB8IDExNyArLS0tLS0KKyB0ZXN0 cy91bml0L3Rlc3RfbW9kZWwyLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgIDQgLQorIHRlc3Rz L3VuaXQvdGVzdF9tb2RlbF9jb3JlLnB5ICAgICAgICAgICAgICAgICB8IDExNiArKysrKy0KKyB0 ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkgICAgICAgICAgfCAzMzkgKysrKysr KysrKysrKysrKystCisgMTUgZmlsZXMgY2hhbmdlZCwgNjQ1IGluc2VydGlvbnMoKyksIDQ0OCBk ZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlk ZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKKyBkZWxldGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4 dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQor IGRlbGV0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQv YmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkKKyBkZWxldGUgbW9kZSAx MDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmly b25tZW50LnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVf YmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKyBkZWxldGUgbW9kZSAxMDA2NDQg ZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2lj X3N0ZXBzLnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVf YmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5CisKK2Rp ZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQoraW5kZXggNjE5NmE2ZC4uOWM1YzMz ZCAxMDA2NDQKKy0tLSBhLy5naXRpZ25vcmUKKysrKyBiLy5naXRpZ25vcmUKK0BAIC03LDYgKzcs OSBAQCBidWlsZC8KKyBkaXN0LworIF9fcHljYWNoZV9fLworIF9fV09SS0RJUl9fLworK19fKi8K KytfXyoudHh0CisrX18qLnJzdAorIF9idWlsZC8KKyBfV09SS1NQQUNFLworIHJlcG9ydHMvCitk aWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIvYmVoYXZlL21vZGVsLnB5CitpbmRleCA3ZmM1 MzRhLi42OWYzOGFiIDEwMDY0NAorLS0tIGEvYmVoYXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUv bW9kZWwucHkKK0BAIC0yOSw2ICsyOSwzNiBAQCBlbHNlOgorICAgICBpbXBvcnQgdHJhY2ViYWNr CisgCisgCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PREVMIFVUSUxJVElFUzoKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorK2RlZiByZXNldF9zdGVwcyhzdGVwcyk6CisrICAgIGZvciBzdGVw IGluIHN0ZXBzOgorKyAgICAgICAgc3RlcC5yZXNldCgpCisrICAgIHJldHVybiBzdGVwcworKwor KworK2RlZiBjb3B5X3N0ZXBzKHN0ZXBzKToKKysgICAgIiIiQ29weSBzdGVwczsgbmVlZGVkIGlm IHN0ZXBzIHNob3VsZCBiZSB1c2VkIGluIG11bHRpcGxlIHJ1biBjb250ZXh0cy4KKysKKysgICAg OnBhcmFtIHN0ZXBzOiAgICAgICBMaXN0IG9mIHN0ZXBzIHRvIGNvcHkuCisrICAgIDpyZXR1cm46 IExpc3Qgb2YgY29waWVkIHN0ZXBzLgorKyAgICAiIiIKKysgICAgcmV0dXJuIFtjb3B5LmNvcHko c3RlcCkgZm9yIHN0ZXAgaW4gc3RlcHNdCisrCisrCisrZGVmIGNvcHlfYW5kX3Jlc2V0X3N0ZXBz KHN0ZXBzKToKKysgICAgIiIiQ29weSBzdGVwcyBhbmQgcmVzZXQgZWFjaCBzdGVwIChzdGF0dXMs IGR1cmF0aW9uLCBldGMuKQorKworKyAgICA6cGFyYW0gc3RlcHM6ICAgICAgIExpc3Qgb2Ygc3Rl cHMgdG8gY29weS4KKysgICAgOnJldHVybjogTGlzdCBvZiBjb3BpZWQgc3RlcHMuCisrICAgICIi IgorKyAgICByZXR1cm4gcmVzZXRfc3RlcHMoY29weV9zdGVwcyhzdGVwcykpCisrCisrCisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PREVMIENMQVNTRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxh eWFibGUpOgorICAgICAiIiJBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBtb2RlbCBlbGVtZW50cwor ICAgICB0aGF0IGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOgorQEAgLTE5OCw4ICsy MjgsOCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJl cGxheWFibGUpOgorIAorICAgICAgICAgaWYgc2tpcHBlZDoKKyAgICAgICAgICAgICByZXR1cm4g U3RhdHVzLnNraXBwZWQKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuIFN0YXR1 cy5wYXNzZWQKKysgICAgICAgICMgLS0gT1RIRVJXSVNFOgorKyAgICAgICAgcmV0dXJuIFN0YXR1 cy5wYXNzZWQKKyAKKyAgICAgQHByb3BlcnR5CisgICAgIGRlZiBkdXJhdGlvbihzZWxmKToKK0BA IC0yMzAsNyArMjYwLDggQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3Rh dGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICAgICAgICAgcnVsZSA9IHJ1bl9pdGVtCisg ICAgICAgICAgICAgICAgIGlmIHdpdGhfcnVsZXM6CisgICAgICAgICAgICAgICAgICAgICBhbGxf c2NlbmFyaW9zLmFwcGVuZChydWxlKQorLSAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4 dGVuZChydWxlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9d2l0aF9vdXRsaW5lcykpCisr ICAgICAgICAgICAgICAgIHNjZW5hcmlvcyA9IHJ1bGUud2Fsa19zY2VuYXJpb3Mod2l0aF9vdXRs aW5lcz13aXRoX291dGxpbmVzKQorKyAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVu ZChzY2VuYXJpb3MpCisgICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2Vu YXJpb091dGxpbmUpOgorICAgICAgICAgICAgICAgICBzY2VuYXJpb19vdXRsaW5lID0gcnVuX2l0 ZW0KKyAgICAgICAgICAgICAgICAgaWYgd2l0aF9vdXRsaW5lczoKK0BAIC0yNDEsNiArMjcyLDE2 IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5 YWJsZSk6CisgICAgICAgICAgICAgICAgIGFsbF9zY2VuYXJpb3MuYXBwZW5kKHJ1bl9pdGVtKQor ICAgICAgICAgcmV0dXJuIGFsbF9zY2VuYXJpb3MKKyAKKysgICAgZGVmIGl0ZXJfc2NlbmFyaW9z KHNlbGYpOgorKyAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi53YWxrX3NjZW5hcmlvcygpKQorKwor KyAgICBkZWYgaXRlcl9zY2VuYXJpb19vdXRsaW5lcyhzZWxmKToKKysgICAgICAgIHJldHVybiBp dGVyKFt4IGZvciB4IGluIHNlbGYud2Fsa19zY2VuYXJpb3Mod2l0aF9vdXRsaW5lcz1UcnVlKQor KyAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoeCwgU2NlbmFyaW9PdXRsaW5lKV0p CisrCisrICAgIGRlZiBpdGVyX3J1bGVzKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIGl0ZXIoW3gg Zm9yIHggaW4gc2VsZi5ydW5faXRlbXMgaWYgaXNpbnN0YW5jZSh4LCBSdWxlKV0pCisrCisgICAg IGRlZiBzaG91bGRfcnVuKHNlbGYsIGNvbmZpZz1Ob25lKToKKyAgICAgICAgICIiIgorICAgICAg ICAgRGV0ZXJtaW5lcyBpZiB0aGlzIEZlYXR1cmUgKGFuZCBpdHMgc2NlbmFyaW9zKSBzaG91bGQg cnVuLgorQEAgLTMxMiw3ICszNTMsNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRT dGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgOnBhcmFtIHJ1bm5lcjogIFJ1 bm5lciB0byB1c2UuCisgICAgICAgICA6cmV0dXJuOiBUcnVlLCBpZiB0ZXN0LXJ1biBmYWlsZWQu CisgICAgICAgICAiIiIKKy0gICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWJyYW5j aGVzCisrICAgICAgICAjIHB5bGludDogZGlzYWJsZT10b28tbWFueS1icmFuY2hlcywgdG9vLW1h bnktbG9jYWxzLCB0b28tbWFueS1zdGF0ZW1lbnRzCisgICAgICAgICAjIE1BWUJFOiBzZWxmLnJl c2V0KCkKKyAgICAgICAgIHNlbGYuY2xlYXJfc3RhdHVzKCkKKyAgICAgICAgIHNlbGYuaG9va19m YWlsZWQgPSBGYWxzZQorQEAgLTM4Nyw3ICs0MjgsNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5l cihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgIyAtLSBQRVJG T1JNIENPTlRFWFQgQ0xFQU5VUDogTWF5IHJhaXNlIGNsZWFudXAgZXJyb3JzLgorICAgICAgICAg dHJ5OgorICAgICAgICAgICAgIHJ1bm5lci5jb250ZXh0Ll9wb3AoKSAgICAgICAjIHB5bGludDog ZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorKyAg ICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogICAgICAgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1i cm9hZC1leGNlcHQKKyAgICAgICAgICAgICAjIC0tIENMRUFOVVAtRVJST1I6CisgICAgICAgICAg ICAgc2VsZi5zZXRfc3RhdHVzKFN0YXR1cy5mYWlsZWQpCisgCitAQCAtNTA5LDE2ICs1NTAsMjgg QEAgY2xhc3MgRmVhdHVyZShTY2VuYXJpb0NvbnRhaW5lcik6CisgICAgIGRlZiBfc2V0dXBfY29u dGV4dF9mb3JfcnVuKHNlbGYsIGNvbnRleHQpOgorICAgICAgICAgY29udGV4dC5mZWF0dXJlID0g c2VsZgorIAorKyAgICBkZWYgYWRkX2JhY2tncm91bmQoc2VsZiwgYmFja2dyb3VuZCk6CisrICAg ICAgICBzZWxmLmJhY2tncm91bmQgPSBiYWNrZ3JvdW5kCisrICAgICAgICBzZWxmLmJhY2tncm91 bmQucGFyZW50ID0gc2VsZgorKworICAgICBkZWYgYWRkX3J1bGUoc2VsZiwgcnVsZSk6CistICAg ICAgICAiIiJBZGQgYSBydWxlIHRvIHRoaXMgZmVhdHVyZS4iIiIKKysgICAgICAgICIiIkFkZCBh IHJ1bGUgdG8gdGhpcyBmZWF0dXJlIChzdXBwb3J0ZWQgaW46IEdoZXJraW4gdjYpLgorKworKyAg ICAgICAgLi4gdmVyc2lvbmFkZGVkOiAxLjIuNworKyAgICAgICAgIiIiCisgICAgICAgICBmZWF0 dXJlID0gc2VsZgorICAgICAgICAgcnVsZS5wYXJlbnQgPSBmZWF0dXJlCisgICAgICAgICBydWxl LmZlYXR1cmUgPSBmZWF0dXJlCistICAgICAgICBpZiBub3QgcnVsZS5iYWNrZ3JvdW5kOgorLSAg ICAgICAgICAgICMgLS0gTUFZQkU6IEluaGVyaXQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlmIHRoZSBy dWxlIGhhcyBubyBiYWNrZ3JvdW5kLgorLSAgICAgICAgICAgIHJ1bGUuYmFja2dyb3VuZCA9IHNl bGYuYmFja2dyb3VuZAorICAgICAgICAgc2VsZi5ydWxlcy5hcHBlbmQocnVsZSkKKyAgICAgICAg IHNlbGYucnVuX2l0ZW1zLmFwcGVuZChydWxlKQorKyAgICAgICAgaWYgc2VsZi5iYWNrZ3JvdW5k OgorKyAgICAgICAgICAgICMgLS0gRU5TVVJFOiBSdWxlIGluaGVyaXRzIGZlYXR1cmUuYmFja2dy b3VuZC4KKysgICAgICAgICAgICBpZiBub3QgcnVsZS5iYWNrZ3JvdW5kOgorKyAgICAgICAgICAg ICAgICAjIC0tIEVOU1VSRTogUnVsZSBoYXMgYSBkZWZhdWx0IGJhY2tncm91bmQuCisrICAgICAg ICAgICAgICAgICMgTmVjZXNzYXJ5IHRvIGluaGVyaXQgZmVhdHVyZS5iYWNrZ3JvdW5kIChvciBk aXNhYmxlIGl0KS4KKysgICAgICAgICAgICAgICAgcnVsZV9kZWZhdWx0X2JhY2tncm91bmQgPSBC YWNrZ3JvdW5kKHJ1bGUuZmlsZW5hbWUsIHJ1bGUubGluZSkKKysgICAgICAgICAgICAgICAgcnVs ZS5hZGRfYmFja2dyb3VuZChydWxlX2RlZmF1bHRfYmFja2dyb3VuZCkKKysgICAgICAgICAgICBy dWxlLmJhY2tncm91bmQuaW5oZXJpdGVkX2JhY2tncm91bmQgPSBzZWxmLmJhY2tncm91bmQKKyAK KyAKKyBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFpbmVyKToKK0BAIC02MzAsNiArNjgzLDcgQEAg Y2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkZXNjcmlwdGlvbiwgc2NlbmFyaW9zLCBiYWNrZ3JvdW5kKQorICAgICAgICAg c2VsZi5wYXJlbnQgPSBwYXJlbnQKKyAgICAgICAgIHNlbGYuZmVhdHVyZSA9IHBhcmVudAorKyAg ICAgICAgc2VsZi5fdXNlX2JhY2tncm91bmRfaW5oZXJpdGFuY2UgPSBUcnVlCisgCisgICAgIGRl ZiBfc2V0dXBfY29udGV4dF9mb3JfcnVuKHNlbGYsIGNvbnRleHQpOgorICAgICAgICAgY29udGV4 dC5ydWxlID0gc2VsZgorQEAgLTYzOCwxMCArNjkyLDQzIEBAIGNsYXNzIFJ1bGUoU2NlbmFyaW9D b250YWluZXIpOgorICAgICAgICAgcmV0dXJuICc8UnVsZSAiJXMiOiAlZCBzY2VuYXJpbyhzKT4n ICUgXAorICAgICAgICAgICAgIChzZWxmLm5hbWUsIGxlbihzZWxmLnNjZW5hcmlvcykpCisgCisr ICAgIGRlZiBhZGRfYmFja2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kLCBpbmhlcml0ZWQ9Tm9uZSk6 CisrICAgICAgICBpZiBpbmhlcml0ZWQgaXMgTm9uZToKKysgICAgICAgICAgICBmZWF0dXJlID0g c2VsZi5mZWF0dXJlIG9yIHNlbGYucGFyZW50CisrICAgICAgICAgICAgaW5oZXJpdGVkID0gZmVh dHVyZS5iYWNrZ3JvdW5kCisrCisrICAgICAgICBzZWxmLmJhY2tncm91bmQgPSBiYWNrZ3JvdW5k CisrICAgICAgICBzZWxmLmJhY2tncm91bmQuaW5oZXJpdGVkX2JhY2tncm91bmQgPSBpbmhlcml0 ZWQKKysgICAgICAgIHNlbGYuYmFja2dyb3VuZC51c2VfaW5oZXJpdGFuY2UgPSBzZWxmLnVzZV9i YWNrZ3JvdW5kX2luaGVyaXRhbmNlCisrICAgICAgICBzZWxmLmJhY2tncm91bmQucGFyZW50ID0g c2VsZgorKyAgICAgICAgIyAtLSBFTlNVUkU6IE5vcm1hbGx5IGJhY2tncm91bmQgaXMgYWRkZWQg YmVmb3JlIHNjZW5hcmlvcy4KKysgICAgICAgIGZvciBzY2VuYXJpbyBpbiBzZWxmLndhbGtfc2Nl bmFyaW9zKCk6CisrICAgICAgICAgICAgc2NlbmFyaW8uYmFja2dyb3VuZCA9IHNlbGYuYmFja2dy b3VuZAorKworKyAgICBAcHJvcGVydHkKKysgICAgZGVmIHVzZV9iYWNrZ3JvdW5kX2luaGVyaXRh bmNlKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYuX3VzZV9iYWNrZ3JvdW5kX2luaGVyaXRh bmNlCisrCisrICAgIEB1c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZS5zZXR0ZXIKKysgICAgZGVm IHVzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlKHNlbGYsIHZhbHVlKToKKysgICAgICAgIHNlbGYu X3VzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlID0gdmFsdWUKKysgICAgICAgIGlmIHNlbGYuYmFj a2dyb3VuZDoKKysgICAgICAgICAgICBzZWxmLmJhY2tncm91bmQudXNlX2luaGVyaXRhbmNlID0g dmFsdWUKKysKKyAKKyBjbGFzcyBCYWNrZ3JvdW5kKEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxl KToKKyAgICAgIiIiQSBgYmFja2dyb3VuZGBfIHBhcnNlZCBmcm9tIGEgKmZlYXR1cmUgZmlsZSou CisgCisrICAgIEJlaGF2aW91cjoKKysKKysgICAgKiBFYWNoIHNjZW5hcmlvIG9mIGEgc2NlbmFy aW8gY29udGFpbmVyIChGZWF0dXJlLCBSdWxlKQorKyAgICAgIGluaGVyaXRzIHRoZSBCYWNrZ3Jv dW5kIG9mIGl0cyBzY2VuYXJpbyBjb250YWluZXIKKysgICAgKiBCYWNrZ3JvdW5kIHN0ZXBzIGlu IGEgc2NlbmFyaW8gYXJlIGV4ZWN1dGVkIGJlZm9yZSBzY2VuYXJpbyBzdGVwcworKyAgICAqIFJ1 bGUgQmFja2dyb3VuZCBpbmhlcml0cyB0aGUgRmVhdHVyZSBCYWNrZ3JvdW5kIChvdXRlciBiYWNr Z3JvdW5kKSBpZiBhbnkKKysgICAgKiBJbmhlcml0ZWQgQmFja2dyb3VuZCBzdGVwcyBhcmUgdXNl ZC9leGVjdXRlZCBmaXJzdAorKyAgICAqIE9wdGlvbmFsbHksIGJhY2tncm91bmQgaW5oZXJpdGFu Y2UgY2FuIGJlIGRpc2FibGVkCisrICAgICAgKG5vcm1hbGx5OiBieSB1c2luZyBhIGZpeHR1cmUv Zml4dHVyZS10YWcpCisrCisgICAgIFRoZSBhdHRyaWJ1dGVzIGFyZToKKyAKKyAgICAgLi4gYXR0 cmlidXRlOjoga2V5d29yZAorQEAgLTY3OSwyMyArNzY2LDY1IEBAIGNsYXNzIEJhY2tncm91bmQo QmFzaWNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICAuLiBfYGJhY2tncm91bmRgOiBn aGVya2luLmh0bWwjYmFja2dyb3VuZHMKKyAgICAgIiIiCistICAgICMgVE9ETzogQmFja2dyb3Vu ZCBpbmhlcml0YW5jZQorLSAgICAjIFJ1bGUuYmFja2dyb3VuZCBzaG91bGQgaW5oZXJpdCBpdHMg RmVhdHVyZS5iYWNrZ3JvdW5kIHN0ZXBzIChpZiBhdmFpbGFibGUpCistICAgICMgUnVsZS5iYWNr Z3JvdW5kID0gRmVhdHVyZS5iYWNrZ3JvdW5kIGlmZiBub3QgUnVsZS5iYWNrZ3JvdW5kIGV4aXN0 cyAoQUxSRUFEWS1TT0xWRUQpCistICAgICMgUnVsZSBtYXkgb3ZlcnJpZGUgYmFja2dyb3VuZCBp bmhlcml0YW5jZSBtZWNoYW5pc20KKyAgICAgdHlwZSA9ICJiYWNrZ3JvdW5kIgorIAorLSAgICBk ZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGxpbmUsIGtleXdvcmQsIG5hbWUsIHN0ZXBzPU5v bmUsIGRlc2NyaXB0aW9uPU5vbmUpOgorKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUs IGxpbmUsIGtleXdvcmQ9dSJCYWNrZ3JvdW5kIiwgbmFtZT11IiIsCisrICAgICAgICAgICAgICAg ICBzdGVwcz1Ob25lLCBkZXNjcmlwdGlvbj1Ob25lKToKKyAgICAgICAgIHN1cGVyKEJhY2tncm91 bmQsIHNlbGYpLl9faW5pdF9fKGZpbGVuYW1lLCBsaW5lLCBrZXl3b3JkLCBuYW1lKQorICAgICAg ICAgc2VsZi5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uIG9yIFtdCisgICAgICAgICBzZWxmLnN0 ZXBzID0gc3RlcHMgb3IgW10KKysgICAgICAgIHNlbGYuaW5oZXJpdGVkX2JhY2tncm91bmQgPSBO b25lCisrICAgICAgICBzZWxmLl9pbmhlcml0ZWRfc3RlcHMgPSBOb25lCisrICAgICAgICBzZWxm Ll91c2VfaW5oZXJpdGFuY2UgPSBUcnVlCisgCistICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKy0g ICAgICAgIHJldHVybiAnPEJhY2tncm91bmQgIiVzIj4nICUgc2VsZi5uYW1lCisrICAgIEBwcm9w ZXJ0eQorKyAgICBkZWYgdXNlX2luaGVyaXRhbmNlKHNlbGYpOgorKyAgICAgICAgIiIiSW5kaWNh dGVzIGlmIHRoaXMgQmFja2dyb3VuZCBzaG91bGQgaW5oZXJpdCBmcm9tIGFuIG91dGVyIEJhY2tn cm91bmQuCisrICAgICAgICBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBpcyBlbmFi bGVkIChwZXIgZGVmYXVsdCkuCisrICAgICAgICBPcHRpb25hbGx5LCB0aGlzIG1lY2hhbmlzbSBj YW4gYmUgZGlzYWJsZWQgKG9yIG92ZXJyaWRkZW4pLgorIAorLSAgICBkZWYgX19pdGVyX18oc2Vs Zik6CisrICAgICAgICA6cmV0dXJuOiBDdXJyZW50IGJhY2tncm91bmQgaW5oZXJpdGFuY2Ugc3Rh dGUgKGFzIGJvb2wpLgorKworKyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAg ICAgICIiIgorKyAgICAgICAgcmV0dXJuIHNlbGYuX3VzZV9pbmhlcml0YW5jZQorKworKyAgICBA dXNlX2luaGVyaXRhbmNlLnNldHRlcgorKyAgICBkZWYgdXNlX2luaGVyaXRhbmNlKHNlbGYsIHZh bHVlKToKKysgICAgICAgICIiIkVuYWJsZS9kaXNhYmxlIGJhY2tncm91bmQgaW5oZXJpdGFuY2Ug bWVjaGFuaXNtIGZvciB0aGlzIEJhY2tncm91bmQuCisrCisrICAgICAgICA6cGFyYW0gdmFsdWU6 ICAgTmV3IHZhbHVlIChhcyBib29sKS4KKysKKysgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEu Mi43CisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0gRU5TVVJFOiBpbmhlcml0ZWRfc3RlcHMg YXJlIHJlaW5pdGlhbGl6ZWQgKGxhdGVyKS4KKysgICAgICAgIHNlbGYuX3VzZV9pbmhlcml0YW5j ZSA9IGJvb2wodmFsdWUpCisrICAgICAgICBzZWxmLl9pbmhlcml0ZWRfc3RlcHMgPSBOb25lCisr CisrICAgIEBwcm9wZXJ0eQorKyAgICBkZWYgaW5oZXJpdGVkX3N0ZXBzKHNlbGYpOgorKyAgICAg ICAgIyB2ZXJzaW9uYWRkZWQ6OiAxLjIuNworKyAgICAgICAgaWYgc2VsZi5faW5oZXJpdGVkX3N0 ZXBzIGlzIE5vbmU6CisrICAgICAgICAgICAgIyAtLSBMQVpZLUlOSVQ6IFN1cHBvcnQgZW5hYmxl L2Rpc2FibGUgdGhlIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KKysgICAgICAgICAgICBzdGVwcyA9 IFtdCisrICAgICAgICAgICAgaWYgc2VsZi5pbmhlcml0ZWRfYmFja2dyb3VuZCBhbmQgc2VsZi5f dXNlX2luaGVyaXRhbmNlOgorKyAgICAgICAgICAgICAgICBzdGVwcyA9IGNvcHlfYW5kX3Jlc2V0 X3N0ZXBzKHNlbGYuaW5oZXJpdGVkX2JhY2tncm91bmQuc3RlcHMpCisrICAgICAgICAgICAgc2Vs Zi5faW5oZXJpdGVkX3N0ZXBzID0gc3RlcHMKKysgICAgICAgIHJldHVybiBzZWxmLl9pbmhlcml0 ZWRfc3RlcHMKKysKKysgICAgZGVmIGl0ZXJfc3RlcHMoc2VsZik6CisrICAgICAgICAiIiJSZXR1 cm5zIGl0ZXJhdG9yIHRvIGFsbCBzdGVwcywgaW5jbHVkaW5nIGluaGVyaXRlZCBzdGVwcyAoaWYg YW55KS4KKysKKysgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICAgICAiIiIK KysgICAgICAgIGlmIHNlbGYuaW5oZXJpdGVkX3N0ZXBzOgorKyAgICAgICAgICAgIHJldHVybiBp dGVydG9vbHMuY2hhaW4oc2VsZi5pbmhlcml0ZWRfc3RlcHMsIHNlbGYuc3RlcHMpCisgICAgICAg ICByZXR1cm4gaXRlcihzZWxmLnN0ZXBzKQorIAorKyAgICBAcHJvcGVydHkKKysgICAgZGVmIGFs bF9zdGVwcyhzZWxmKToKKysgICAgICAgIHJldHVybiBzZWxmLml0ZXJfc3RlcHMoKQorKworICAg ICBAcHJvcGVydHkKKyAgICAgZGVmIGR1cmF0aW9uKHNlbGYpOgorICAgICAgICAgZHVyYXRpb24g PSAwCitAQCAtNzAzLDYgKzgzMiwxMiBAQCBjbGFzcyBCYWNrZ3JvdW5kKEJhc2ljU3RhdGVtZW50 LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICAgICBkdXJhdGlvbiArPSBzdGVwLmR1cmF0aW9uCisg ICAgICAgICByZXR1cm4gZHVyYXRpb24KKyAKKysgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorKyAg ICAgICAgcmV0dXJuICc8QmFja2dyb3VuZCAiJXMiPicgJSBzZWxmLm5hbWUKKysKKysgICAgZGVm IF9faXRlcl9fKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYuaXRlcl9zdGVwcygpCisrCisg CisgY2xhc3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAg ICAgIiIiQSBgc2NlbmFyaW9gXyBwYXJzZWQgZnJvbSBhICpmZWF0dXJlIGZpbGUqLgorQEAgLTc5 OSw2ICs5MzQsNyBAQCBjbGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxh eWFibGUpOgorICAgICAgICAgc2VsZi5mZWF0dXJlID0gTm9uZSAgIyBSRUZFUi1UTzogb3duZXI9 RmVhdHVyZQorICAgICAgICAgc2VsZi5ob29rX2ZhaWxlZCA9IEZhbHNlCisgICAgICAgICBzZWxm Ll9iYWNrZ3JvdW5kX3N0ZXBzID0gTm9uZQorKyAgICAgICAgc2VsZi5fdXNlX2JhY2tncm91bmQg PSBUcnVlCisgICAgICAgICBzZWxmLl9yb3cgPSBOb25lCisgICAgICAgICBzZWxmLndhc19kcnlf cnVuID0gRmFsc2UKKyAKK0BAIC04MTMsNiArOTQ5LDI3IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0Fu ZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBmb3Igc3RlcCBpbiBzZWxm LmFsbF9zdGVwczoKKyAgICAgICAgICAgICBzdGVwLnJlc2V0KCkKKyAKKysgICAgQHByb3BlcnR5 CisrICAgIGRlZiB1c2VfYmFja2dyb3VuZChzZWxmKToKKysgICAgICAgICIiIkluZGljYXRlcyBp ZiB0aGUgYmFja2dyb3VuZCBpcy93b3VsZCBiZSB1c2VkIChpZiBhbnkgZXhpc3RzKS4KKysgICAg ICAgIE5PVEU6IFRoZSBCYWNrZ3JvdW5kIChzdGVwcykgYXJlIG5vcm1hbGx5IHVzZWQuCisrCisr ICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjIuNworKyAgICAgICAgIiIiCisrICAgICAgICBy ZXR1cm4gc2VsZi5fdXNlX2JhY2tncm91bmQKKysKKysgICAgQHVzZV9iYWNrZ3JvdW5kLnNldHRl cgorKyAgICBkZWYgdXNlX2JhY2tncm91bmQoc2VsZiwgdmFsdWUpOgorKyAgICAgICAgIiIiRW5h YmxlL2Rpc2FibGUgdGhlIHVzYWdlIG9mIHRoZSBiYWNrZ3JvdW5kIChzdGVwcykuCisrCisrICAg ICAgICA6cGFyYW0gdmFsdWU6ICBOZXcgdmFsdWUgKGFzIGJvb2wpLgorKworKyAgICAgICAgLi4g dmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgICAgICIiIgorKyAgICAgICAgIyAtLSBFTlNVUkU6 IGJhY2tncm91bmRfc3RlcHMgYXJlIHJlaW5pdGlhbGl6ZWQuCisrICAgICAgICBzZWxmLl91c2Vf YmFja2dyb3VuZCA9IHZhbHVlCisrICAgICAgICBzZWxmLl9iYWNrZ3JvdW5kX3N0ZXBzID0gTm9u ZQorKworICAgICBAcHJvcGVydHkKKyAgICAgZGVmIGJhY2tncm91bmRfc3RlcHMoc2VsZik6Cisg ICAgICAgICAiIiJQcm92aWRlIGJhY2tncm91bmQgc3RlcHMgaWYgZmVhdHVyZS9ydWxlIGhhcyBh IGJhY2tncm91bmQuCitAQCAtODI4LDI0ICs5ODUsMjkgQEAgY2xhc3MgU2NlbmFyaW8oVGFnQW5k U3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICAgICAjIEVhY2ggc2NlbmFy aW8gbmVlZHMgb3duIGJhY2tncm91bmQuc3RlcHMuCisgICAgICAgICAgICAgIyBPdGhlcndpc2Us IGJhY2tncm91bmQgc3RlcCBzdGF0dXMgb2YgdGhlIGxhc3QtcnVuIHNjZW5hcmlvIGlzIHVzZWQu CisgICAgICAgICAgICAgc3RlcHMgPSBbXQorLSAgICAgICAgICAgIGlmIHNlbGYuYmFja2dyb3Vu ZDoKKy0gICAgICAgICAgICAgICAgc3RlcHMgPSBbY29weS5jb3B5KHN0ZXApIGZvciBzdGVwIGlu IHNlbGYuYmFja2dyb3VuZC5zdGVwc10KKysgICAgICAgICAgICBpZiBzZWxmLmJhY2tncm91bmQg YW5kIHNlbGYudXNlX2JhY2tncm91bmQ6CisrICAgICAgICAgICAgICAgIHN0ZXBzID0gY29weV9h bmRfcmVzZXRfc3RlcHMoc2VsZi5iYWNrZ3JvdW5kLmFsbF9zdGVwcykKKyAgICAgICAgICAgICBz ZWxmLl9iYWNrZ3JvdW5kX3N0ZXBzID0gc3RlcHMKKyAgICAgICAgIHJldHVybiBzZWxmLl9iYWNr Z3JvdW5kX3N0ZXBzCisgCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgYWxsX3N0ZXBzKHNlbGYp OgorLSAgICAgICAgIiIiUmV0dXJucyBpdGVyYXRvciB0byBhbGwgc3RlcHMsIGluY2x1ZGluZyBi YWNrZ3JvdW5kIHN0ZXBzIGlmIGFueS4iIiIKKysgICAgZGVmIGl0ZXJfc3RlcHMoc2VsZik6Cisr ICAgICAgICAiIiJSZXR1cm5zIGl0ZXJhdG9yIHRvIGFsbCBzdGVwcywgaW5jbHVkaW5nIGJhY2tn cm91bmQgc3RlcHMgaWYgYW55LgorKworKyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcK KysgICAgICAgICIiIgorICAgICAgICAgaWYgc2VsZi5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lOgor ICAgICAgICAgICAgIHJldHVybiBpdGVydG9vbHMuY2hhaW4oc2VsZi5iYWNrZ3JvdW5kX3N0ZXBz LCBzZWxmLnN0ZXBzKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByZXR1cm4gaXRlcihz ZWxmLnN0ZXBzKQorKyAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5zdGVwcykKKysKKysgICAgQHBy b3BlcnR5CisrICAgIGRlZiBhbGxfc3RlcHMoc2VsZik6CisrICAgICAgICByZXR1cm4gc2VsZi5p dGVyX3N0ZXBzKCkKKyAKKyAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICAgcmV0dXJu ICc8U2NlbmFyaW8gIiVzIj4nICUgc2VsZi5uYW1lCisgCisgICAgIGRlZiBfX2l0ZXJfXyhzZWxm KToKKy0gICAgICAgIHJldHVybiBzZWxmLmFsbF9zdGVwcworKyAgICAgICAgcmV0dXJuIHNlbGYu aXRlcl9zdGVwcygpCisgCisgICAgIGRlZiBjb21wdXRlX3N0YXR1cyhzZWxmKToKKyAgICAgICAg ICIiIkNvbXB1dGUgdGhlIHN0YXR1cyBvZiB0aGUgc2NlbmFyaW8gZnJvbSBpdHMgc3RlcHMKK0BA IC04NjIsOSArMTAyNCw4IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwg UmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAgICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogSW4g ZHJ5LXJ1biB3aXRoIHVuZGVmaW5lZC1zdGVwIGRpc2NvdmVyeQorICAgICAgICAgICAgICAgICAg ICAgIyAgICBVbmRlZmluZWQgc3RlcHMgc2hvdWxkIG5vdCBjYXVzZSBmYWlsZWQgc2NlbmFyaW8u CisgICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3RhdHVzLnVudGVzdGVkCistICAgICAgICAg ICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgICAgICAjIC0tIE5PUk1BTExZOiBVbmRlZmlu ZWQgc3RlcHMgY2F1c2UgZmFpbGVkIHNjZW5hcmlvLgorLSAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIFN0YXR1cy5mYWlsZWQKKysgICAgICAgICAgICAgICAgIyAtLSBOT1JNQUxMWTogVW5kZWZp bmVkIHN0ZXBzIGNhdXNlIGZhaWxlZCBzY2VuYXJpby4KKysgICAgICAgICAgICAgICAgcmV0dXJu IFN0YXR1cy5mYWlsZWQKKyAgICAgICAgICAgICBlbGlmIHN0ZXAuc3RhdHVzICE9IFN0YXR1cy5w YXNzZWQ6CisgICAgICAgICAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcK KyAgICAgICAgICAgICAgICAgYXNzZXJ0IHN0ZXAuc3RhdHVzIGluIChTdGF0dXMuZmFpbGVkLCBT dGF0dXMuc2tpcHBlZCwgU3RhdHVzLnVudGVzdGVkKQorQEAgLTEwMjksNyArMTE5MCw2IEBAIGNs YXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAg ICAgICAgICAgICAgICAjIEJVVDogRGV0ZWN0IGFsbCByZW1haW5pbmcgdW5kZWZpbmVkIHN0ZXBz LgorICAgICAgICAgICAgICAgICAgICAgc3RlcC5zdGF0dXMgPSBTdGF0dXMuc2tpcHBlZAorICAg ICAgICAgICAgICAgICAgICAgaWYgZHJ5X3J1bl9zY2VuYXJpbzoKKy0gICAgICAgICAgICAgICAg ICAgICAgICAjIHB5bGludDogZGlzYWJsZT1yZWRlZmluZWQtdmFyaWFibGUtdHlwZQorICAgICAg ICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RhdHVzLnVudGVzdGVkCisgICAgICAg ICAgICAgICAgICAgICBmb3VuZF9zdGVwX21hdGNoID0gcnVubmVyLnN0ZXBfcmVnaXN0cnkuZmlu ZF9tYXRjaChzdGVwKQorICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGZvdW5kX3N0ZXBfbWF0 Y2g6CitAQCAtMTA2Nyw3ICsxMjI3LDcgQEAgY2xhc3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVzU3Rh dGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICMgLS0gUEVSRk9STSBDT05URVhULUNMRUFO VVA6IE1heSByYWlzZSBjbGVhbnVwIGVycm9ycy4KKyAgICAgICAgIHRyeToKKyAgICAgICAgICAg ICBydW5uZXIuY29udGV4dC5fcG9wKCkgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVk LWFjY2VzcworLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKysgICAgICAgIGV4Y2VwdCBFeGNl cHRpb246ICAgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9YnJvYWQtZXhjZXB0CisgICAg ICAgICAgICAgc2VsZi5zZXRfc3RhdHVzKFN0YXR1cy5mYWlsZWQpCisgICAgICAgICAgICAgZmFp bGVkID0gVHJ1ZQorIAorQEAgLTExNzYsOSArMTMzNiw5IEBAIGNsYXNzIFNjZW5hcmlvT3V0bGlu ZUJ1aWxkZXIob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSB1Ijwlcz4i ICUgbmFtZQorICAgICAgICAgICAgICAgICBmb3IgaSwgY2VsbCBpbiBlbnVtZXJhdGUobmV3X3N0 ZXAudGFibGUuaGVhZGluZ3MpOgorICAgICAgICAgICAgICAgICAgICAgbmV3X3N0ZXAudGFibGUu aGVhZGluZ3NbaV0gPSBjZWxsLnJlcGxhY2UocGxhY2Vob2xkZXIsIHZhbHVlKQorLSAgICAgICAg ICAgICAgICBmb3Igcm93IGluIG5ld19zdGVwLnRhYmxlOgorLSAgICAgICAgICAgICAgICAgICAg Zm9yIGksIGNlbGwgaW4gZW51bWVyYXRlKHJvdy5jZWxscyk6CistICAgICAgICAgICAgICAgICAg ICAgICAgcm93LmNlbGxzW2ldID0gY2VsbC5yZXBsYWNlKHBsYWNlaG9sZGVyLCB2YWx1ZSkKKysg ICAgICAgICAgICAgICAgZm9yIHN0ZXBfcm93IGluIG5ld19zdGVwLnRhYmxlOgorKyAgICAgICAg ICAgICAgICAgICAgZm9yIGksIGNlbGwgaW4gZW51bWVyYXRlKHN0ZXBfcm93LmNlbGxzKToKKysg ICAgICAgICAgICAgICAgICAgICAgICBzdGVwX3Jvdy5jZWxsc1tpXSA9IGNlbGwucmVwbGFjZShw bGFjZWhvbGRlciwgdmFsdWUpCisgICAgICAgICByZXR1cm4gbmV3X3N0ZXAKKyAKKyAgICAgZGVm IGJ1aWxkX3NjZW5hcmlvcyhzZWxmLCBzY2VuYXJpb19vdXRsaW5lKToKK0BAIC0xNjQwLDcgKzE4 MDAsNiBAQCBjbGFzcyBTdGVwKEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAg ICAgICAgICAgbWF0Y2gucnVuKHJ1bm5lci5jb250ZXh0KQorICAgICAgICAgICAgICAgICBpZiBz ZWxmLnN0YXR1cyA9PSBTdGF0dXMudW50ZXN0ZWQ6CisgICAgICAgICAgICAgICAgICAgICAjIC0t IE5PVEU6IEV4ZWN1dGVkIHN0ZXAgbWF5IGhhdmUgc2tpcHBlZCBzY2VuYXJpbyBhbmQgaXRzZWxm LgorLSAgICAgICAgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLXZhcmlh YmxlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdHVzID0gU3RhdHVzLnBhc3Nl ZAorICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdCBhcyBlOgorICAgICAgICAg ICAgICAgICBydW5uZXIuYWJvcnRlZCA9IFRydWUKK0BAIC0xODE1LDggKzE5NzQsNyBAQCBjbGFz cyBUYWJsZShSZXBsYXlhYmxlKToKKyAgICAgICAgICIiIgorICAgICAgICAgaWYgc2VsZi5oYXNf Y29sdW1uKGNvbHVtbl9uYW1lKToKKyAgICAgICAgICAgICByZXR1cm4gc2VsZi5nZXRfY29sdW1u X2luZGV4KGNvbHVtbl9uYW1lKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByZXR1cm4g c2VsZi5hZGRfY29sdW1uKGNvbHVtbl9uYW1lKQorKyAgICAgICAgcmV0dXJuIHNlbGYuYWRkX2Nv bHVtbihjb2x1bW5fbmFtZSkKKyAKKyAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICAg cmV0dXJuICI8VGFibGU6ICVkeCVkPiIgJSAobGVuKHNlbGYuaGVhZGluZ3MpLCBsZW4oc2VsZi5y b3dzKSkKK2RpZmYgLS1naXQgYS9iZWhhdmUvcGFyc2VyLnB5IGIvYmVoYXZlL3BhcnNlci5weQor aW5kZXggOTkzYzlkYy4uNTIwZjY3OCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9wYXJzZXIucHkKKysr KyBiL2JlaGF2ZS9wYXJzZXIucHkKK0BAIC0yNDksNyArMjQ5LDYgQEAgY2xhc3MgUGFyc2VyKG9i amVjdCk6CisgICAgICAgICBzZWxmLnJ1bGUgPSBydWxlCisgICAgICAgICBzZWxmLnNjZW5hcmlv X2NvbnRhaW5lciA9IHJ1bGUKKyAgICAgICAgIHNlbGYuc3RhdGVtZW50ID0gcnVsZQorLSAgICAg ICAgIyBNQVlCRTogc2VsZi5iYWNrZ3JvdW5kID0gTm9uZQorICAgICAgICAgc2VsZi5mZWF0dXJl LmFkZF9ydWxlKHNlbGYuc3RhdGVtZW50KQorICAgICAgICAgIyAtLSBSRVNFVCBTVEFURToKKyAg ICAgICAgIHNlbGYudGFncyA9IFtdCitAQCAtMjU4LDExICsyNTcsMTUgQEAgY2xhc3MgUGFyc2Vy KG9iamVjdCk6CisgICAgICAgICBpZiBzZWxmLnRhZ3M6CisgICAgICAgICAgICAgbXNnID0gdSJC YWNrZ3JvdW5kIHN1cHBvcnRzIG5vIHRhZ3M6IEAlcyIgJSAodSIgQCIuam9pbihzZWxmLnRhZ3Mp KQorICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKG1zZywgc2VsZi5saW5lLCBzZWxmLmZp bGVuYW1lLCBsaW5lKQorKyAgICAgICAgZWxpZiBzZWxmLnNjZW5hcmlvX2NvbnRhaW5lciBhbmQg c2VsZi5zY2VuYXJpb19jb250YWluZXIuYmFja2dyb3VuZDoKKysgICAgICAgICAgICBpZiBzZWxm LnNjZW5hcmlvX2NvbnRhaW5lci5iYWNrZ3JvdW5kLnN0ZXBzOgorKyAgICAgICAgICAgICAgICAj IC0tIEhJTlQ6IFJ1bGUgbWF5IGhhdmUgZGVmYXVsdCBiYWNrZ3JvdW5kIHcvbyBzdGVwcy4KKysg ICAgICAgICAgICAgICAgbXNnID0gdSJTZWNvbmQgQmFja2dyb3VuZCAoY2FuIGhhdmUgb25seSBv bmUpIgorKyAgICAgICAgICAgICAgICByYWlzZSBQYXJzZXJFcnJvcihtc2csIHNlbGYubGluZSwg c2VsZi5maWxlbmFtZSwgbGluZSkKKyAgICAgICAgIG5hbWUgPSBsaW5lW2xlbihrZXl3b3JkKSAr IDE6XS5zdHJpcCgpCisgICAgICAgICBiYWNrZ3JvdW5kID0gbW9kZWwuQmFja2dyb3VuZChzZWxm LmZpbGVuYW1lLCBzZWxmLmxpbmUsIGtleXdvcmQsIG5hbWUpCisrICAgICAgICBzZWxmLnNjZW5h cmlvX2NvbnRhaW5lci5hZGRfYmFja2dyb3VuZChiYWNrZ3JvdW5kKQorICAgICAgICAgc2VsZi5z dGF0ZW1lbnQgPSBiYWNrZ3JvdW5kCistICAgICAgICBzZWxmLnNjZW5hcmlvX2NvbnRhaW5lci5i YWNrZ3JvdW5kID0gYmFja2dyb3VuZAorLSAgICAgICAgIyBPTEQ6IHNlbGYuZmVhdHVyZS5iYWNr Z3JvdW5kID0gc2VsZi5zdGF0ZW1lbnQKKyAKKyAgICAgZGVmIF9idWlsZF9zY2VuYXJpb19zdGF0 ZW1lbnQoc2VsZiwga2V5d29yZCwgbGluZSk6CisgICAgICAgICBuYW1lID0gbGluZVtsZW4oa2V5 d29yZCkgKyAxOl0uc3RyaXAoKQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9SRUFETUUucnN0IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNr Z3JvdW5kL1JFQURNRS5yc3QKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggOWMxNTBj Yy4uMDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JF QURNRS5yc3QKKysrKyAvZGV2L251bGwKK0BAIC0xLDExNiArMCwwIEBACistRVhBTVBMRTogT3Zl cnJpZGUgLyBEaXNhYmxlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGZvciBTY2Vu YXJpbworLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy06UkVMQVRFRC1UTzogIzc1NgorLQor LVRoaXMgZXhhbXBsZSBzaG93cyBob3cgdGhlIEJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFu aXNtIGluIEdoZXJraW4KKy1jYW4gYmUgZGlzYWJsZWQgaW4gYGBiZWhhdmVgYC4KKy0KKy1QYXJ0 cyBvZiB0aGUgcmVjaXBlOgorLQorLSogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlIChGZWF0dXJl IGZpbGUgYXMgZXhhbXBsZSkKKy0qIGZlYXR1cmVzL2Vudmlyb25tZW50LnB5IChnbHVlIGNvZGUg YW5kIGhvb2tzIGZvciBmaXh0dXJlLXRhZyAvIGZpeHR1cmUpCistKiBiZWhhdmVfZml4dHVyZV9s aWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBsZW1lbnRhdGlvbiwgd29ya2hv cnNlKQorLQorLQorLS4uIHdhcm5pbmc6OiBCRVdBUkU6IFRoaXMgc2hvd3MgeW91IGhvdyBjYW4g ZG8gaXQsIG5vdCB0aGF0IHlvdSBzaG91bGQgZG8gaXQKKy0KKy0gICAgQkVUVEVSOgorLQorLSAg ICAqIFVzZSBSdWxlcyB0byBncm91cCBTY2VuYXJpb3MsIGVhY2ggd2l0aCBpdHMgb3duIEJhY2tn cm91bmQgKGluIEdoZXJraW4gdjYpCistICAgICogU3BsaXQgRmVhdHVyZSBhc3BlY3RzIGludG8g bXVsdGlwbGUgZmVhdHVyZSBmaWxlcyAoaWYgbmVlZGVkKQorLSAgICAqIC4uLiAoc2VlIGlzc3Vl ICM3NTYgYWJvdmUpCistCistCistRXhwbGFuYXRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0KKy1F eGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRo ZQorLWJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGJ5IHVzaW5nIGEgZml4dHVyZSAv IGZpeHR1cmUtdGFnLgorLVRoZSBmaXh0dXJlLXRhZyAiQGl4dHVyZS5iZWhhdmUub3ZlcnJpZGVf YmFja2dyb3VuZCIgbWFya3MgdGhlCistbG9jYXRpb24gaW4gR2hlcmtpbiAod2hpY2ggU2NlbmFy aW8pIHdoZXJlIHRoZSBmaXh0dXJlIHNob3VsZCBiZSB1c2VkCistCistLi4gY29kZS1ibG9jazo6 IGdoZXJraW4KKy0KKy0gICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKy0g ICAgRmVhdHVyZTogU2hvdyBob3cgQGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQg aXMgdXNlZAorLQorLSAgICAgICAgQmFja2dyb3VuZDoKKy0gICAgICAgICAgR2l2ZW4gYSBiYWNr Z3JvdW5kIHN0ZXAKKy0KKy0gICAgICAgIFNjZW5hcmlvOiBBbGljZQorLSAgICAgICAgICBXaGVu IGEgc3RlcCBwYXNzZXMKKy0gICAgICAgICAgQW5kIG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVw cyBhcmUgZXhlY3V0ZWQgaGVyZSIKKy0KKy0gICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRl X2JhY2tncm91bmQKKy0gICAgICAgIFNjZW5hcmlvOiBCb2IKKy0gICAgICAgICAgR2l2ZW4gSSBu ZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKy0gICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAg cGFzc2VzCistICAgICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJl IGV4ZWN1dGVkIGhlcmUiCistCistV2hlbiB0aGUgZmVhdHVyZSBpcyBleGVjdXRlZCwgeW91IHNl ZSB0aGF0OgorLQorLSogRmlyc3QgU2NlbmFyaW8gIkFsaWNlIjogQmFja2dyb3VuZCBzdGVwcyBh cmUgaW5oZXJpdGVkIGFuZCBleGVjdXRlZCBmaXJzdC4KKy0qIFNlY29uZCBTY2VuYXJpbyAiQm9i IjogTm8gQmFja2dyb3VuZCBzdGVwIGlzIGV4ZWN1dGVkLgorLQorLS4uIGNvZGUtYmxvY2s6OiBz aAorLQorLSAgICAkIC4uLy4uL2Jpbi9iZWhhdmUgLWYgcGxhaW4gZmVhdHVyZXMvZXhhbXBsZS5m ZWF0dXJlCistICAgIEZlYXR1cmU6IE92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNl IE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcworLSAgICAgIEJhY2tncm91bmQ6CistCistICAg ICAgU2NlbmFyaW86IEFsaWNlCistICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNz ZXMgLi4uIHBhc3NlZAorLSAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKy0g ICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUi IC4uLiBwYXNzZWQKKy0gICAgRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiBC b2IKKy0KKy0gICAgICBTY2VuYXJpbzogQm9iCistICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhl ciBzY2VuYXJpbyBzZXR1cCAuLi4gcGFzc2VkCistICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBw YXNzZXMgLi4uIHBhc3NlZAorLSAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBT VEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIgLi4uIHBhc3NlZAorLQorLSAgICAxIGZlYXR1cmUgcGFz c2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCistICAgIDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWls ZWQsIDAgc2tpcHBlZAorLSAgICA2IHN0ZXBzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwg MCB1bmRlZmluZWQKKy0KKy0KKy1UaGUgZW52aXJvbm1lbnQgZmlsZSBwcm92aWRlcyB0aGUgZ2x1 ZSBjb2RlIHRoYXQgdGhlIGZpeHR1cmUgaXMgY2FsbGVkOgorLQorLS4uIGNvZGUtYmxvY2s6OiBw eXRob24KKy0KKy0gICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorLSAgICBm cm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVf b3ZlcnJpZGVfYmFja2dyb3VuZAorLSAgICBmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCB1c2Vf Zml4dHVyZV9ieV90YWcKKy0KKy0gICAgIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorLSAgICBmaXh0 dXJlX3JlZ2lzdHJ5ID0geworLSAgICAgICAgImZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dy b3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAorLSAgICB9CistCistICAgICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgIyBIT09LUzoKKy0gICAgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorLSAgICBkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorLSAgICAgICAgaWYgdGFn LnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CistICAgICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJl X2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCistCistCistLi4gY29kZS1i bG9jazo6IHB5dGhvbgorLQorLSAgICAjIC0tIEZJTEU6IGJlaGF2ZV9maXh0dXJlX2xpYi9vdmVy cmlkZV9iYWNrZ3JvdW5kLnB5IChmaXh0dXJlIGltcGxlbWVudGF0aW9uKQorLSAgICBmcm9tIGJl aGF2ZSBpbXBvcnQgZml4dHVyZQorLQorLSAgICBAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2 ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIikKKy0gICAgZGVmIGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3Jv dW5kKGN0eCk6CistICAgICAgICAjIC0tIFNFVFVQLVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3Jv dW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgorLSAgICAgICAgY3VycmVudF9z Y2VuYXJpbyA9IGN0eC5zY2VuYXJpbworLSAgICAgICAgaWYgY3VycmVudF9zY2VuYXJpbzoKKy0g ICAgICAgICAgICBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2Vu YXJpbyhjdXJyZW50X3NjZW5hcmlvKQorLQorLSAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist ICAgICMgQkVIQVZFIFVUSUxJVFk6CistICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAg ZGVmIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNj ZW5hcmlvKToKKy0gICAgICAgIHByaW50KCJGSVhUVVJFLUhJTlQ6IERJU0FCTEUtQkFDS0dST1VO RCBGT1I6ICVzIiAlIHNjZW5hcmlvLm5hbWUpCistICAgICAgICBzY2VuYXJpby5iYWNrZ3JvdW5k ID0gTm9uZQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3Vu ZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJy aWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5CitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IGU2OWRlMjkuLjAwMDAwMDAKK2RpZmYgLS1naXQgYS9leGFt cGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJy aWRlX2JhY2tncm91bmQucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQv YmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkKK2RlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggNmM1NzJjZi4uMDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4dHVy ZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3Jv dW5kLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSw4MCArMCwwIEBACistIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKy0jIFJFTEFURUQtVE86ICM3NTYKKy0iIiIKKy1FeGFtcGxlIGNvZGUgaG93IHRv IHByb3ZpZGUgYSBiZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRoZQorLWJhY2tncm91bmQgaW5o ZXJpdGFuY2UgbWVjaGFuaXNtLgorLQorLS4uIGNvZGUtYmxvY2s6OiBnaGVya2luCistCistICAg ICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCistICAgIEZlYXR1cmU6IFNob3cg aG93IEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIGlzIHVzZWQKKy0KKy0gICAg ICAgIEJhY2tncm91bmQ6CistICAgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwCistCist ICAgICAgICBTY2VuYXJpbzogQWxpY2UKKy0gICAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCist ICAgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhl cmUiCistCistICAgICAgICBAZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kCistICAg ICAgICBTY2VuYXJpbzogQm9iCistICAgICAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5h cmlvIHNldHVwCistICAgICAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBhc3NlcworLSAgICAgICAg ICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIgor LQorLS4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0KKy0gICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9l bnZpcm9ubWVudC5weQorLSAgICBmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNr Z3JvdW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZAorLSAgICBmcm9tIGJlaGF2 ZS5maXh0dXJlIGltcG9ydCB1c2VfZml4dHVyZV9ieV90YWcKKy0KKy0gICAgIyAtLSBGSVhUVVJF IFJFR0lTVFJZOgorLSAgICBmaXh0dXJlX3JlZ2lzdHJ5ID0geworLSAgICAgICAgImZpeHR1cmUu YmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAor LSAgICB9CistCistICAgIGRlZiBiZWZvcmVfdGFnKGNvbnRleHQsIHRhZyk6CistICAgICAgICBp ZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToKKy0gICAgICAgICAgICByZXR1cm4gdXNlX2Zp eHR1cmVfYnlfdGFnKHRhZywgY29udGV4dCwgZml4dHVyZV9yZWdpc3RyeSkKKy0KKy0iIiIKKy0K Ky1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24K Ky1mcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKy0jIEJFSEFWRSBGSVhUVVJFUzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistQGZpeHR1 cmUobmFtZT0iZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCIpCistZGVmIGJlaGF2 ZV9vdmVycmlkZV9iYWNrZ3JvdW5kKGN0eCk6CistICAgICIiIk92ZXJyaWRlIHRoZSBCYWNrZ3Jv dW5kIGluaGVyaW50YW5jZSBtZWNoYW5pc20uCistICAgIElmIGEgRmVhdHVyZSAvIFJ1bGUgQmFj a2dyb3VuZCBleGlzdHMgaW4gYSBGZWF0dXJlLAorLSAgICBhbGwgY29udGFpbmVkIFNjZW5hcmlv cyBpbmhlcml0IHRoZSBCYWNrZ3JvdW5kJ3Mgc3RlcHMuCistCistICAgIFRoaXMgZml4dHVyZSBk aXNhYmxlcyB0aGlzIG1lY2hhbmlzbS4KKy0gICAgVGhlIHRhZ2dlZCBHaGVya2luIGVsZW1lbnQg d2lsbCBubyBsb25nZXIgaW5oZXJpdCB0aGUgYmFja2dyb3VuZCBzdGVwcy4KKy0KKy0gICAgOnBh cmFtIGN0eDogQ29udGV4dCBvYmplY3QgdG8gdXNlIChkdXJpbmcgYSB0ZXN0IHJ1bikuCistICAg ICIiIgorLSAgICAjIC0tIFNFVFVQLVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVy aXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgorLSAgICBjdXJyZW50X3NjZW5hcmlvID0gY3R4 LnNjZW5hcmlvCistICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86CistICAgICAgICBiZWhhdmVfZGlz YWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhjdXJyZW50X3NjZW5hcmlv KQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEJFSEFWRSBVVElMSVRZOgorLSMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYgYmVoYXZlX2Rpc2FibGVfYmFja2dyb3VuZF9pbmhl cml0YW5jZV9mb3Jfc2NlbmFyaW8oc2NlbmFyaW8pOgorLSAgICBwcmludCgiRklYVFVSRS1ISU5U OiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBzY2VuYXJpby5uYW1lKQorLSAgICBzY2Vu YXJpby5iYWNrZ3JvdW5kID0gTm9uZQorLSAgICAjIHNjZW5hcmlvLl9iYWNrZ3JvdW5kX3N0ZXBz ID0gW10KKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBNT0RVTEUgU1BFQ0lGSUM6 CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWZpeHR1cmVfcmVnaXN0cnkgPSB7CistICAgICJm aXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dy b3VuZCwKKy19CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3Jv dW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9i YWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDdhNGI3MzUuLjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysrIC9kZXYvbnVsbAorQEAg LTEsMzUgKzAsMCBAQAorLSMgLSotIGNvZGluZzogVVRGLTggLSotCistIyAtLSBGSUxFOiBmZWF0 dXJlcy9lbnZpcm9ubWVudC5weQorLWltcG9ydCBvcy5wYXRoCistaW1wb3J0IHN5cworLQorLSMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBZVEhPTiBQQVRIIFNFVFVQOgorLSMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKy1IRVJFID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorLVRPUEEgPSBv cy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKEhFUkUsICIuLiIpKQorLQorLWRlZiBzZXR1cF9w eXRob25fcGF0aCgpOgorLSAgICBzeXMucGF0aC5pbnNlcnQoMCwgVE9QQSkKKy0KKy1zZXR1cF9w eXRob25fcGF0aCgpCistCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTk9STUFMIFBBUlQ6 CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWZyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm92ZXJy aWRlX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kCistZnJvbSBi ZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCistCistIyAtLSBGSVhUVVJF IFJFR0lTVFJZOgorLWZpeHR1cmVfcmVnaXN0cnkgPSB7CistICAgICJmaXh0dXJlLmJlaGF2ZS5v dmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKy19CistCist CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgSE9PS1M6CistIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorLWRlZiBiZWZvcmVfdGFnKGNvbnRleHQsIHRhZyk6CistICAgIGlmIHRhZy5zdGFydHN3 aXRoKCJmaXh0dXJlLiIpOgorLSAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcs IGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCistCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4 dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSBiL2V4YW1w bGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUK K2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNWRkZDg3NC4uMDAwMDAwMAorLS0tIGEv ZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVh dHVyZQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTggKzAsMCBAQAorLUZlYXR1cmU6IE92ZXJyaWRl IHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcwor LQorLSAgLiBCRVdBUkU6CistICAuICAgVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUgaG93IHRoaXMg Y2FuIGJlIGRvbmUgKFBST09GLU9GLUNPTkNFUFQpLgorLSAgLiAgIFRoaXMgaXMgbm90IGFuIGV4 YW1wbGUgdGhhdCB5b3Ugc2hvdWxkIGRvIHRoaXMgISEhCistCistICAgIEJhY2tncm91bmQ6Cist ICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzCistCistICAgIFNjZW5hcmlvOiBB bGljZQorLSAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworLSAgICAgIEFuZCBub3RlIHRoYXQgIkJh Y2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCistCistICAgIEBmaXh0dXJlLmJlaGF2 ZS5vdmVyaWRlX2JhY2tncm91bmQKKy0gICAgU2NlbmFyaW86IEJvYgorLSAgICAgIEdpdmVuIEkg bmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCistICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFz c2VzCistICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0 ZWQgaGVyZSIKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJy aWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKK2RlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMzRmMjEwNy4uMDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4 dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5Cisr KysgL2Rldi9udWxsCitAQCAtMSwxMyArMCwwIEBACistZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVu LCBzdGVwCistCistIyBAc3RlcCh1J3t3b3JkfSBzdGVwIHBhc3NlcycpCistIyBkZWYgc3RlcF9w YXNzZXNfd2l0aF93b3JkKGNvbnRleHQsIHdvcmQpOgorLSMgICAgIHBhc3MKKy0KKy1Ac3RlcCh1 J3t3b3JkfSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzJykKKy1kZWYgc3RlcF9iYWNrZ3JvdW5kX3N0 ZXBfcGFzc2VzKGNvbnRleHQsIHdvcmQpOgorLSAgICBwYXNzCistCistQGdpdmVuKHUnSSBuZWVk IHt3b3JkfSBzY2VuYXJpbyBzZXR1cCcpCistZGVmIHN0ZXBfZ2l2ZW5faV9uZWVkX3NjZW5hcmlv X3NldHVwKGNvbnRleHQsIHdvcmQpOgorLSAgICBwYXNzCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMv Zml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2Jl aGF2ZTRjbWQucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVy ZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCBiYzMyYTMyLi4wMDAwMDAwCistLS0gYS9leGFtcGxlcy9maXh0dXJlLm92ZXJy aWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQor KysrIC9kZXYvbnVsbAorQEAgLTEsMTIgKzAsMCBAQAorLSMgLSotIGNvZGluZzogdXRmLTggLSot CistIiIiCistVXNlIGJlaGF2ZTRjbWQwIHN0ZXAgbGlicmFyeSAocHJlZGVjZXNzb3Igb2YgYmVo YXZlNGNtZCkuCistIiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv cnQKKy0KKy0jIC0tIFJFR0lTVEVSLVNURVBTIEZST00gU1RFUC1MSUJSQVJZOgorLSMgaW1wb3J0 IGJlaGF2ZTRjbWQwLl9fYWxsX3N0ZXBzX18KKy0jIGltcG9ydCBiZWhhdmU0Y21kMC5mYWlsaW5n X3N0ZXBzCistaW1wb3J0IGJlaGF2ZTRjbWQwLnBhc3Npbmdfc3RlcHMKKy1pbXBvcnQgYmVoYXZl NGNtZDAubm90ZV9zdGVwcworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4 IGNlYTQzOTIuLjhkZTNlYzAgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkK K0BAIC0xMzEsNiArMTMxLDcgQEAgc2V0dXAoCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3Vh Z2UgOjogUHl0aG9uIDo6IDMuNSIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjog UHl0aG9uIDo6IDMuNiIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9u IDo6IDMuNyIsCisrICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMu OCIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVu dGF0aW9uIDo6IENQeXRob24iLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5 dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBKeXRob24iLAorICAgICAgICAgIlByb2dyYW1taW5n IExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBQeVB5IiwKK2RpZmYgLS1n aXQgYS90ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkgYi90ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkK K2luZGV4IGMxZmM0MjQuLjIxZDZjMjcgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfbW9k ZWwucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9tb2RlbC5weQorQEAgLTgsNyArOCw3IEBAIGZy b20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKyBpbXBvcnQgc2l4CisgZnJvbSBzaXgubW92ZXMg aW1wb3J0IHJhbmdlICAgICAjIHB5bGludDogZGlzYWJsZT1yZWRlZmluZWQtYnVpbHRpbgorIGZy b20gc2l4Lm1vdmVzIGltcG9ydCB6aXAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVk LWJ1aWx0aW4KKy1mcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBGaWxlTG9jYXRpb24sIFN0 YXR1cworK2Zyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0IFN0YXR1cworIGZyb20gYmVoYXZl Lm1vZGVsIGltcG9ydCBGZWF0dXJlLCBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lLCBTdGVwCisg ZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFRhYmxlLCBSb3cKKyBmcm9tIGJlaGF2ZS5tYXRjaGVy cyBpbXBvcnQgTm9NYXRjaAorQEAgLTIwLDE5ICsyMCwxMiBAQCBmcm9tIGJlaGF2ZSBpbXBvcnQg c3RlcF9yZWdpc3RyeQorIAorIGlmIHNpeC5QWTI6CisgICAgICMgcHlsaW50OiBkaXNhYmxlPXVu dXNlZC1pbXBvcnQKKy0gICAgaW1wb3J0IHRyYWNlYmFjazIgYXMgdHJhY2ViYWNrCisgICAgIHRy YWNlYmFja19tb2RuYW1lID0gInRyYWNlYmFjazIiCisgZWxzZToKKyAgICAgIyBweWxpbnQ6IGRp c2FibGU9dW51c2VkLWltcG9ydAorLSAgICBpbXBvcnQgdHJhY2ViYWNrCisgICAgIHRyYWNlYmFj a19tb2RuYW1lID0gInRyYWNlYmFjayIKKyAKKyAKKy0KKy0jIC0tIENPTlZFTklFTkNFLUFMSUFT OgorLV90ZXh0ID0gc2l4LnRleHRfdHlwZQorLQorLQorIGNsYXNzIFRlc3RGZWF0dXJlUnVuKHVu aXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCisg CitAQCAtNzY5LDExMSArNzYyLDMgQEAgY2xhc3MgVGVzdE1vZGVsUm93KHVuaXR0ZXN0LlRlc3RD YXNlKToKKyAgICAgICAgIGFzc2VydCBkYXRhMVsibmFtZSJdID09IHUiQWxpY2UiCisgICAgICAg ICBhc3NlcnQgZGF0YTFbInNleCJdID09IHUiZmVtYWxlIgorICAgICAgICAgYXNzZXJ0IGRhdGEx WyJhZ2UiXSA9PSB1IjEyIgorLQorLQorLWNsYXNzIFRlc3RGaWxlTG9jYXRpb24odW5pdHRlc3Qu VGVzdENhc2UpOgorLSAgICAjIHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKKy0gICAgb3Jk ZXJlZF9sb2NhdGlvbnMxID0gWworLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGlj ZS5mZWF0dXJlIiwgMSksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZl YXR1cmUiLCA1KSwKKy0gICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVy ZSIsIDEwKSwKKy0gICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIs IDExKSwKKy0gICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEw MCksCistICAgIF0KKy0gICAgb3JkZXJlZF9sb2NhdGlvbnMyID0gWworLSAgICAgICAgRmlsZUxv Y2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMSksCistICAgICAgICBGaWxlTG9jYXRp b24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxMCksCistICAgICAgICBGaWxlTG9jYXRpb24o ImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgNSksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1 cmVzL2NoYXJseS5mZWF0dXJlIiwgTm9uZSksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1 cmVzL2NoYXJseS5mZWF0dXJlIiwgMCksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVz L2NoYXJseS5mZWF0dXJlIiwgMTAwKSwKKy0gICAgXQorLSAgICBzYW1lX2xvY2F0aW9ucyA9IFsK Ky0gICAgICAgIChGaWxlTG9jYXRpb24oImFsaWNlLmZlYXR1cmUiKSwKKy0gICAgICAgICBGaWxl TG9jYXRpb24oImFsaWNlLmZlYXR1cmUiLCBOb25lKSwKKy0gICAgICAgICksCistICAgICAgICAo RmlsZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwgMTApLAorLSAgICAgICAgIEZpbGVMb2NhdGlv bigiYWxpY2UuZmVhdHVyZSIsIDEwKSwKKy0gICAgICAgICksCistICAgICAgICAoRmlsZUxvY2F0 aW9uKCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDExKSwKKy0gICAgICAgICBGaWxlTG9jYXRpb24o ImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgMTEpLAorLSAgICAgICAgKSwKKy0gICAgXQorLQorLSAg ICBkZWYgdGVzdF9jb21wYXJlX2VxdWFsKHNlbGYpOgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFs dWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CistICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA9 PSB2YWx1ZTIKKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9lcXVhbF93aXRoX3N0cmluZyhzZWxm KToKKy0gICAgICAgIGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKy0g ICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24gPT0gbG9jYXRpb24uZmlsZW5hbWUKKy0gICAgICAg ICAgICBhc3NlcnQgbG9jYXRpb24uZmlsZW5hbWUgPT0gbG9jYXRpb24KKy0KKy0gICAgZGVmIHRl c3RfY29tcGFyZV9ub3RfZXF1YWwoc2VsZik6CistICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIg aW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKy0gICAgICAgICAgICBhc3NlcnQgbm90KHZhbHVlMSAh PSB2YWx1ZTIpICAgICMgcHlsaW50OiBkaXNhYmxlPXVubmVlZGVkLW5vdCwgc3VwZXJmbHVvdXMt cGFyZW5zCistCistICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRp b25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2YWx1ZTEs IHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAgICAg ICAgYXNzZXJ0IHZhbHVlMSAhPSB2YWx1ZTIKKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9sZXNz X3RoYW4oc2VsZik6CistICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9j YXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2YWx1 ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAg ICAgICAgYXNzZXJ0IHZhbHVlMSA8IHZhbHVlMiwgIkZBSUxFRDogJXMgPCAlcyIgJSAoX3RleHQo dmFsdWUxKSwgX3RleHQodmFsdWUyKSkKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAh PSB2YWx1ZTIKKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX3RoYW5fd2l0aF9zdHJpbmco c2VsZik6CistICAgICAgICBsb2NhdGlvbnMgPSBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMgorLSAg ICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0p OgorLSAgICAgICAgICAgIGlmIHZhbHVlMS5maWxlbmFtZSA9PSB2YWx1ZTIuZmlsZW5hbWU6Cist ICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8IHZh bHVlMi5maWxlbmFtZSwgXAorLSAgICAgICAgICAgICAgICAgICAiRkFJTEVEOiAlcyA8ICVzIiAl IChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIuZmlsZW5hbWUpKQorLSAgICAgICAgICAgIGFz c2VydCB2YWx1ZTEuZmlsZW5hbWUgPCB2YWx1ZTIsIFwKKy0gICAgICAgICAgICAgICAgICAgIkZB SUxFRDogJXMgPCAlcyIgJSAoX3RleHQodmFsdWUxLmZpbGVuYW1lKSwgX3RleHQodmFsdWUyKSkK Ky0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9ncmVhdGVyX3RoYW4oc2VsZik6CistICAgICAgICBm b3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xv Y2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRp b25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiA+IHZh bHVlMSwgIkZBSUxFRDogJXMgPiAlcyIgJSAoX3RleHQodmFsdWUyKSwgX3RleHQodmFsdWUxKSkK Ky0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiAhPSB2YWx1ZTEKKy0KKy0gICAgZGVmIHRl c3RfY29tcGFyZV9sZXNzX29yX2VxdWFsKHNlbGYpOgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFs dWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CistICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8 PSB2YWx1ZTIsICJGQUlMRUQ6ICVzIDw9ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1 ZTIpKQorLSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPT0gdmFsdWUyCistCistICAgICAgICBm b3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xv Y2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRp b25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8PSB2 YWx1ZTIsICJGQUlMRUQ6ICVzIDw9ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIp KQorLSAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUxICE9IHZhbHVlMgorLQorLSAgICBkZWYg dGVzdF9jb21wYXJlX2dyZWF0ZXJfb3JfZXF1YWwoc2VsZik6CistICAgICAgICBmb3IgdmFsdWUx LCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKy0gICAgICAgICAgICBhc3NlcnQgdmFs dWUyID49IHZhbHVlMSwgIkZBSUxFRDogJXMgPj0gJXMiICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0 KHZhbHVlMSkpCistICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiA9PSB2YWx1ZTEKKy0KKy0gICAg ICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVy ZWRfbG9jYXRpb25zMl06CistICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChs b2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorLSAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUy ID49IHZhbHVlMSwgIkZBSUxFRDogJXMgPj0gJXMiICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0KHZh bHVlMSkpCistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgIT0gdmFsdWUxCistCistICAg IGRlZiB0ZXN0X2ZpbGVuYW1lX3Nob3VsZF9iZV9zYW1lX2FzX3NlbGYoc2VsZik6CistICAgICAg ICBmb3IgbG9jYXRpb24gaW4gc2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6CistICAgICAgICAgICAg YXNzZXJ0IGxvY2F0aW9uID09IGxvY2F0aW9uLmZpbGVuYW1lCistICAgICAgICAgICAgYXNzZXJ0 IGxvY2F0aW9uLmZpbGVuYW1lID09IGxvY2F0aW9uCistCistICAgIGRlZiB0ZXN0X3N0cmluZ19j b252ZXJzaW9uKHNlbGYpOgorLSAgICAgICAgZm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJlZF9s b2NhdGlvbnMyOgorLSAgICAgICAgICAgIGV4cGVjdGVkID0gdSIlczolcyIgJSAobG9jYXRpb24u ZmlsZW5hbWUsIGxvY2F0aW9uLmxpbmUpCistICAgICAgICAgICAgaWYgbG9jYXRpb24ubGluZSBp cyBOb25lOgorLSAgICAgICAgICAgICAgICBleHBlY3RlZCA9IGxvY2F0aW9uLmZpbGVuYW1lCist ICAgICAgICAgICAgYXNzZXJ0IHNpeC50ZXh0X3R5cGUobG9jYXRpb24pID09IGV4cGVjdGVkCist CistICAgIGRlZiB0ZXN0X3JlcHJfY29udmVyc2lvbihzZWxmKToKKy0gICAgICAgIGZvciBsb2Nh dGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKy0gICAgICAgICAgICBleHBlY3RlZCA9 IHUnPEZpbGVMb2NhdGlvbjogZmlsZW5hbWU9IiVzIiwgbGluZT0lcz4nICUgXAorLSAgICAgICAg ICAgICAgICAgICAgICAgKGxvY2F0aW9uLmZpbGVuYW1lLCBsb2NhdGlvbi5saW5lKQorLSAgICAg ICAgICAgIGFjdHVhbCA9IHJlcHIobG9jYXRpb24pCistICAgICAgICAgICAgYXNzZXJ0IGFjdHVh bCA9PSBleHBlY3RlZCwgIkZBSUxFRDogJXMgPT0gJXMiICUgKGFjdHVhbCwgZXhwZWN0ZWQpCitk aWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X21vZGVsMi5weSBiL3Rlc3RzL3VuaXQvdGVzdF9t b2RlbDIucHkKK2luZGV4IDc4ODRiOTAuLmE4NmI4MGUgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0 L3Rlc3RfbW9kZWwyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfbW9kZWwyLnB5CitAQCAtMzUs MTAgKzM1LDYgQEAgZGVmIHN0ZXBfdG9fdGV4dChzdGVwLCBpbmRlbnRhdGlvbj0iICAgICIpOgor ICAgICByZXR1cm4gc3RlcF90ZXh0LnJzdHJpcCgpCisgCisgCistIyAtLSBQWVRFU1QgTUFSS0VS Uy9BTk5PVEFUSU9OUzoKKy1ub3RfaW1wbGVtZW50ZWRfeWV0ID0gcHl0ZXN0Lm1hcmsuc2tpcCgi Tk9ULUlNUExFTUVOVEVELVlFVCIpCistCistCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBU RVNUIFNVSVRFOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Vu aXQvdGVzdF9tb2RlbF9jb3JlLnB5IGIvdGVzdHMvdW5pdC90ZXN0X21vZGVsX2NvcmUucHkKK2lu ZGV4IGI1ZjIwYzQuLjNjYjVlZmEgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfbW9kZWxf Y29yZS5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X21vZGVsX2NvcmUucHkKK0BAIC00LDEwICs0 LDE2IEBACisgIiIiCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgor LWZyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0IFN0YXR1cworK2ltcG9ydCBzaXgKKytmcm9t IGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMsIEZpbGVMb2NhdGlvbgorIGltcG9ydCBw eXRlc3QKKyAKKyAKKysjIC0tIENPTlZFTklFTkNFLUFMSUFTOgorK190ZXh0ID0gc2l4LnRleHRf dHlwZQorKworKworKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRFU1RTOgorICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KK0BAIC01NCwzICs2MCwxMTEgQEAgY2xhc3MgVGVzdFN0YXR1cyhv YmplY3QpOgorICAgICBkZWYgdGVzdF9mcm9tX25hbWVfX3dpdGhfdW5rbm93bl9uYW1lX3JhaXNl c19sb29rdXBlcnJvcihzZWxmLCB1bmtub3duX25hbWUpOgorICAgICAgICAgd2l0aCBweXRlc3Qu cmFpc2VzKExvb2t1cEVycm9yKToKKyAgICAgICAgICAgICBTdGF0dXMuZnJvbV9uYW1lKHVua25v d25fbmFtZSkKKysKKysKKytjbGFzcyBUZXN0RmlsZUxvY2F0aW9uKG9iamVjdCk6CisrICAgICMg cHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQorKyAgICBvcmRlcmVkX2xvY2F0aW9uczEgPSBb CisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxKSwKKysg ICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDUpLAorKyAgICAg ICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMTApLAorKyAgICAgICAg RmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMTEpLAorKyAgICAgICAgRmls ZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMTAwKSwKKysgICAgXQorKyAgICBv cmRlcmVkX2xvY2F0aW9uczIgPSBbCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2Fs aWNlLmZlYXR1cmUiLCAxKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2Uu ZmVhdHVyZSIsIDEwKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYm9iLmZlYXR1 cmUiLCA1KSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvY2hhcmx5LmZlYXR1cmUi LCBOb25lKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvY2hhcmx5LmZlYXR1cmUi LCAwKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvY2hhcmx5LmZlYXR1cmUiLCAx MDApLAorKyAgICBdCisrICAgIHNhbWVfbG9jYXRpb25zID0gWworKyAgICAgICAgKEZpbGVMb2Nh dGlvbigiYWxpY2UuZmVhdHVyZSIpLAorKyAgICAgICAgIEZpbGVMb2NhdGlvbigiYWxpY2UuZmVh dHVyZSIsIE5vbmUpLAorKyAgICAgICAgKSwKKysgICAgICAgIChGaWxlTG9jYXRpb24oImFsaWNl LmZlYXR1cmUiLCAxMCksCisrICAgICAgICAgRmlsZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwg MTApLAorKyAgICAgICAgKSwKKysgICAgICAgIChGaWxlTG9jYXRpb24oImZlYXR1cmVzL2JvYi5m ZWF0dXJlIiwgMTEpLAorKyAgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYm9iLmZlYXR1 cmUiLCAxMSksCisrICAgICAgICApLAorKyAgICBdCisrCisrICAgIGRlZiB0ZXN0X2NvbXBhcmVf ZXF1YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xv Y2F0aW9uczoKKysgICAgICAgICAgICBhc3NlcnQgdmFsdWUxID09IHZhbHVlMgorKworKyAgICBk ZWYgdGVzdF9jb21wYXJlX2VxdWFsX3dpdGhfc3RyaW5nKHNlbGYpOgorKyAgICAgICAgZm9yIGxv Y2F0aW9uIGluIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyOgorKyAgICAgICAgICAgIGFzc2VydCBs b2NhdGlvbiA9PSBsb2NhdGlvbi5maWxlbmFtZQorKyAgICAgICAgICAgIGFzc2VydCBsb2NhdGlv bi5maWxlbmFtZSA9PSBsb2NhdGlvbgorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX25vdF9lcXVh bChzZWxmKToKKysgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRp b25zOgorKyAgICAgICAgICAgIGFzc2VydCBub3QodmFsdWUxICE9IHZhbHVlMikgICAgIyBweWxp bnQ6IGRpc2FibGU9dW5uZWVkZWQtbm90LCBzdXBlcmZsdW91cy1wYXJlbnMKKysKKysgICAgICAg IGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRf bG9jYXRpb25zMl06CisrICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2Nh dGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUxICE9 IHZhbHVlMgorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2xlc3NfdGhhbihzZWxmKToKKysgICAg ICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVy ZWRfbG9jYXRpb25zMl06CisrICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChs b2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUx IDwgdmFsdWUyLCAiRkFJTEVEOiAlcyA8ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1 ZTIpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUxICE9IHZhbHVlMgorKworKyAgICBk ZWYgdGVzdF9jb21wYXJlX2xlc3NfdGhhbl93aXRoX3N0cmluZyhzZWxmKToKKysgICAgICAgIGxv Y2F0aW9ucyA9IHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyCisrICAgICAgICBmb3IgdmFsdWUxLCB2 YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25zWzE6XSk6CisrICAgICAgICAgICAgaWYg dmFsdWUxLmZpbGVuYW1lID09IHZhbHVlMi5maWxlbmFtZToKKysgICAgICAgICAgICAgICAgY29u dGludWUKKysgICAgICAgICAgICBhc3NlcnQgdmFsdWUxIDwgdmFsdWUyLmZpbGVuYW1lLCBcCisr ICAgICAgICAgICAgICAgICAgICJGQUlMRUQ6ICVzIDwgJXMiICUgKF90ZXh0KHZhbHVlMSksIF90 ZXh0KHZhbHVlMi5maWxlbmFtZSkpCisrICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMS5maWxlbmFt ZSA8IHZhbHVlMiwgXAorKyAgICAgICAgICAgICAgICAgICAiRkFJTEVEOiAlcyA8ICVzIiAlIChf dGV4dCh2YWx1ZTEuZmlsZW5hbWUpLCBfdGV4dCh2YWx1ZTIpKQorKworKyAgICBkZWYgdGVzdF9j b21wYXJlX2dyZWF0ZXJfdGhhbihzZWxmKToKKysgICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3Nl bGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAg ICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0p OgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUyID4gdmFsdWUxLCAiRkFJTEVEOiAlcyA+ ICVzIiAlIChfdGV4dCh2YWx1ZTIpLCBfdGV4dCh2YWx1ZTEpKQorKyAgICAgICAgICAgICAgICBh c3NlcnQgdmFsdWUyICE9IHZhbHVlMQorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2xlc3Nfb3Jf ZXF1YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xv Y2F0aW9uczoKKysgICAgICAgICAgICBhc3NlcnQgdmFsdWUxIDw9IHZhbHVlMiwgIkZBSUxFRDog JXMgPD0gJXMiICUgKF90ZXh0KHZhbHVlMSksIF90ZXh0KHZhbHVlMikpCisrICAgICAgICAgICAg YXNzZXJ0IHZhbHVlMSA9PSB2YWx1ZTIKKysKKysgICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3Nl bGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAg ICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0p OgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUxIDw9IHZhbHVlMiwgIkZBSUxFRDogJXMg PD0gJXMiICUgKF90ZXh0KHZhbHVlMSksIF90ZXh0KHZhbHVlMikpCisrICAgICAgICAgICAgICAg IGFzc2VydCB2YWx1ZTEgIT0gdmFsdWUyCisrCisrICAgIGRlZiB0ZXN0X2NvbXBhcmVfZ3JlYXRl cl9vcl9lcXVhbChzZWxmKToKKysgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiBzZWxmLnNh bWVfbG9jYXRpb25zOgorKyAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgPj0gdmFsdWUxLCAiRkFJ TEVEOiAlcyA+PSAlcyIgJSAoX3RleHQodmFsdWUyKSwgX3RleHQodmFsdWUxKSkKKysgICAgICAg ICAgICBhc3NlcnQgdmFsdWUyID09IHZhbHVlMQorKworKyAgICAgICAgZm9yIGxvY2F0aW9ucyBp biBbc2VsZi5vcmRlcmVkX2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyXToKKysg ICAgICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25z WzE6XSk6CisrICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgPj0gdmFsdWUxLCAiRkFJTEVE OiAlcyA+PSAlcyIgJSAoX3RleHQodmFsdWUyKSwgX3RleHQodmFsdWUxKSkKKysgICAgICAgICAg ICAgICAgYXNzZXJ0IHZhbHVlMiAhPSB2YWx1ZTEKKysKKysgICAgZGVmIHRlc3RfZmlsZW5hbWVf c2hvdWxkX2JlX3NhbWVfYXNfc2VsZihzZWxmKToKKysgICAgICAgIGZvciBsb2NhdGlvbiBpbiBz ZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKysgICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24gPT0g bG9jYXRpb24uZmlsZW5hbWUKKysgICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24uZmlsZW5hbWUg PT0gbG9jYXRpb24KKysKKysgICAgZGVmIHRlc3Rfc3RyaW5nX2NvbnZlcnNpb24oc2VsZik6Cisr ICAgICAgICBmb3IgbG9jYXRpb24gaW4gc2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6CisrICAgICAg ICAgICAgZXhwZWN0ZWQgPSB1IiVzOiVzIiAlIChsb2NhdGlvbi5maWxlbmFtZSwgbG9jYXRpb24u bGluZSkKKysgICAgICAgICAgICBpZiBsb2NhdGlvbi5saW5lIGlzIE5vbmU6CisrICAgICAgICAg ICAgICAgIGV4cGVjdGVkID0gbG9jYXRpb24uZmlsZW5hbWUKKysgICAgICAgICAgICBhc3NlcnQg c2l4LnRleHRfdHlwZShsb2NhdGlvbikgPT0gZXhwZWN0ZWQKKysKKysgICAgZGVmIHRlc3RfcmVw cl9jb252ZXJzaW9uKHNlbGYpOgorKyAgICAgICAgZm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJl ZF9sb2NhdGlvbnMyOgorKyAgICAgICAgICAgIGV4cGVjdGVkID0gdSc8RmlsZUxvY2F0aW9uOiBm aWxlbmFtZT0iJXMiLCBsaW5lPSVzPicgJSBcCisrICAgICAgICAgICAgICAgICAgICAgICAobG9j YXRpb24uZmlsZW5hbWUsIGxvY2F0aW9uLmxpbmUpCisrICAgICAgICAgICAgYWN0dWFsID0gcmVw cihsb2NhdGlvbikKKysgICAgICAgICAgICBhc3NlcnQgYWN0dWFsID09IGV4cGVjdGVkLCAiRkFJ TEVEOiAlcyA9PSAlcyIgJSAoYWN0dWFsLCBleHBlY3RlZCkKK2RpZmYgLS1naXQgYS90ZXN0cy91 bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkgYi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2do ZXJraW5fdjYucHkKK2luZGV4IDk5MWE1N2QuLjQzZTNkNDEgMTAwNjQ0CistLS0gYS90ZXN0cy91 bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9wYXJz ZXJfZ2hlcmtpbl92Ni5weQorQEAgLTIyNyw3ICsyMjcsOSBAQCBGZWF0dXJlOiBXaXRoIFJ1bGUK KyAgICAgICAgIGFzc2VydCBydWxlMS5kZXNjcmlwdGlvbiA9PSBbXQorICAgICAgICAgYXNzZXJ0 IHJ1bGUxLnRhZ3MgPT0gW10KKyAgICAgICAgIGFzc2VydCBsZW4ocnVsZTEuc2NlbmFyaW9zKSA9 PSAxCistICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tncm91 bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tn cm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9 PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBsaXN0KHJ1bGUxLmJh Y2tncm91bmQuYWxsX3N0ZXBzKSA9PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKyAgICAgICAg IGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxLnNjZW5hcmlvc1swXS5hbGxfc3RlcHMsIFsKKyAg ICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwIDEi LCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICJmZWF0dXJlIGJh Y2tncm91bmQgc3RlcCAyIiwgTm9uZSwgTm9uZSksCitAQCAtMjM1LDcgKzIzNyw3IEBAIEZlYXR1 cmU6IFdpdGggUnVsZQorICAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgInNjZW5hcmlvIHN0 ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKy0gICAgZGVmIHRlc3RfcGFyc2Vz X3J1bGVfd2l0aF9iYWNrZ3JvdW5kX3Nob3VsZF9ub3RfaW5oZXJpdF9mZWF0dXJlX2JhY2tncm91 bmQoc2VsZik6CisrICAgIGRlZiB0ZXN0X3BhcnNlc19ydWxlX3dpdGhfYmFja2dyb3VuZF9pbmhl cml0c19mZWF0dXJlX2JhY2tncm91bmQoc2VsZik6CisgICAgICAgICAiIiJJZiBhIFJ1bGUgaGFz IG5vIEJhY2tncm91bmQsCisgICAgICAgICBpdCBpbmhlcml0cyB0aGUgRmVhdHVyZSdzIEJhY2tn cm91bmQgKGlmIG9uZSBleGlzdHMpLgorICAgICAgICAgIiIiCitAQCAtMjY5LDEzICsyNzEsMTUg QEAgRmVhdHVyZTogV2l0aCBSdWxlCisgICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBp cyBub3QgTm9uZQorICAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IGZlYXR1 cmUuYmFja2dyb3VuZAorICAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTEuc2NlbmFy aW9zWzBdLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAiZmVh dHVyZSBiYWNrZ3JvdW5kIHN0ZXAgMSIsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hl biIsICAiV2hlbiIsICAiZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAor ICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAicnVsZSBiYWNrZ3JvdW5kIHN0ZXAgMSIs IE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgInJ1bGUgYmFja2dy b3VuZCBzdGVwIDIiLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4i LCAgInJ1bGUgYmFja2dyb3VuZCBzdGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgICAo ImdpdmVuIiwgIkdpdmVuIiwgInNjZW5hcmlvIHN0ZXAgMSIsIE5vbmUsIE5vbmUpLAorLSAgICAg ICAgICAgICgid2hlbiIsICJXaGVuIiwgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAor KyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAic2NlbmFyaW8gc3RlcCAyIiwgTm9uZSwg Tm9uZSksCisgICAgICAgICBdKQorIAorLSAgICBkZWYgdGVzdF9wYXJzZXNfcnVsZV93aXRoX2Vt cHR5X2JhY2tncm91bmRfcHJldmVudHNfaW5oZXJpdGluZ19mZWF0dXJlX2JhY2tncm91bmQoc2Vs Zik6CisrICAgIGRlZiB0ZXN0X3BhcnNlc19ydWxlX3dpdGhfZW1wdHlfYmFja2dyb3VuZF9pbmhl cml0c19mZWF0dXJlX2JhY2tncm91bmQoc2VsZik6CisgICAgICAgICAiIiJBIFJ1bGUgaGFzIGVt cHR5IEJhY2tncm91bmQgKHdpdGhvdXQgYW55IHN0ZXBzKSBwcmV2ZW50cyB0aGF0CisgICAgICAg ICBGZWF0dXJlIEJhY2tncm91bmQgaXMgaW5oZXJpdGVkIChpZiBvbmUgZXhpc3RzKS4KKyAgICAg ICAgICIiIgorQEAgLTMwOCw4ICszMTIsMTAgQEAgRmVhdHVyZTogV2l0aCBSdWxlCisgICAgICAg ICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgZmVhdHVyZS5iYWNrZ3JvdW5kCisgICAg ICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC5uYW1lID09ICJSdWxlX1IzQy5FbXB0eV9CYWNr Z3JvdW5kIgorICAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTEuc2NlbmFyaW9zWzBd LmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAiZmVhdHVyZSBi YWNrZ3JvdW5kIHN0ZXAgMSIsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAi V2hlbiIsICAiZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAg ICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAic2NlbmFyaW8gc3RlcCAxIiwgTm9uZSwgTm9uZSks CistICAgICAgICAgICAgKCJ3aGVuIiwgIldoZW4iLCAic2NlbmFyaW8gc3RlcCAyIiwgTm9uZSwg Tm9uZSksCisrICAgICAgICAgICAgKCJ3aGVuIiwgICJXaGVuIiwgInNjZW5hcmlvIHN0ZXAgMiIs IE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKyAgICAgZGVmIHRlc3RfcGFyc2VzX3J1bGVf d2l0aF9zY2VuYXJpbyhzZWxmKToKK0BAIC01NTgsNiArNTY0LDcgQEAgRmVhdHVyZTogV2l0aCBS dWxlCisgICAgICAgICAgICAgKCJ3aGVuIiwgIldoZW4iLCAnc3RlcCB1c2VzICIyIicsIE5vbmUs IE5vbmUpLAorICAgICAgICAgXSkKKyAKKysgICAgIyBAY2hlY2suZHVwbGljYXRlZAorICAgICBk ZWYgdGVzdF9wYXJzZV9iYWNrZ3JvdW5kX3NjZW5hcmlvX2FuZF9ydWxlcyhzZWxmKToKKyAgICAg ICAgICIiIkhJTlQ6IFNvbWUgU2NlbmFyaW9zIG1heSBleGlzdCBiZWZvcmUgdGhlIGZpcnN0IFJ1 bGUuIiIiCisgICAgICAgICB0ZXh0ID0gdScnJworQEAgLTYwNiwxMCArNjEzLDEwIEBAIEZlYXR1 cmU6IFdpdGggU2NlbmFyaW9zIGFuZCBSdWxlcworICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS50 YWdzID09IFtdCisgICAgICAgICBhc3NlcnQgc2NlbmFyaW8xLmRlc2NyaXB0aW9uID09IFtdCisg ICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhzY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCistICAg ICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywg Tm9uZSwgTm9uZSksCistICAgICAgICAgICAgKCJ3aGVuIiwgIldoZW4iLCAgICdmZWF0dXJlIGJh Y2tncm91bmQgc3RlcF8yJywgTm9uZSwgTm9uZSksCistICAgICAgICAgICAgKCJnaXZlbiIsICJH aXZlbiIsICdzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgi d2hlbiIsICJXaGVuIiwgICAnc2NlbmFyaW9fMSBzdGVwXzInLCBOb25lLCBOb25lKSwKKysgICAg ICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEn LCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJ3aGVuIiwgdSJXaGVuIiwgICB1J2ZlYXR1 cmUgYmFja2dyb3VuZCBzdGVwXzInLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZl biIsIHUiR2l2ZW4iLCB1J3NjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAg ICAgICAgKHUid2hlbiIsIHUiV2hlbiIsICAgdSdzY2VuYXJpb18xIHN0ZXBfMicsIE5vbmUsIE5v bmUpLAorICAgICAgICAgXSkKKyAKKyAgICAgICAgIGFzc2VydCBydWxlMS5uYW1lID09ICJSMSIK K0BAIC02MjMsOSArNjMwLDExIEBAIEZlYXR1cmU6IFdpdGggU2NlbmFyaW9zIGFuZCBSdWxlcwor ICAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5wYXJlbnQgaXMgcnVsZTEKKyAgICAgICAg IGFzc2VydCBydWxlMV9zY2VuYXJpbzEuZmVhdHVyZSBpcyBmZWF0dXJlCisgICAgICAgICBhc3Nl cnRfY29tcGFyZV9zdGVwcyhydWxlMV9zY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAg ICAgKCJnaXZlbiIsICJHaXZlbiIsICdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwg Tm9uZSksCisrICAgICAgICAgICAgKCJ3aGVuIiwgICJXaGVuIiwgICdmZWF0dXJlIGJhY2tncm91 bmQgc3RlcF8yJywgTm9uZSwgTm9uZSksCisgICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIs ICdydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisgICAgICAgICAgICAg KCJnaXZlbiIsICJHaXZlbiIsICdydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9u ZSksCistICAgICAgICAgICAgKCJ3aGVuIiwgIldoZW4iLCAgICdydWxlIFIxIHNjZW5hcmlvXzEg c3RlcF8yJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKCJ3aGVuIiwgICJXaGVuIiwgICdy dWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8yJywgTm9uZSwgTm9uZSksCisgICAgICAgICBdKQorIAor ICAgICAgICAgYXNzZXJ0IHJ1bGUyLm5hbWUgPT0gIlIyIgorQEAgLTYzMywxNiArNjQyLDMxOCBA QCBGZWF0dXJlOiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMKKyAgICAgICAgIGFzc2VydCBydWxl Mi5mZWF0dXJlIGlzIGZlYXR1cmUKKyAgICAgICAgIGFzc2VydCBydWxlMi5kZXNjcmlwdGlvbiA9 PSBbXQorICAgICAgICAgYXNzZXJ0IHJ1bGUyLnRhZ3MgPT0gW10KKy0gICAgICAgIGFzc2VydCBy dWxlMi5iYWNrZ3JvdW5kIGlzIGZlYXR1cmUuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1 bGUyLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0 IGxpc3QocnVsZTIuYmFja2dyb3VuZC5pbmhlcml0ZWRfc3RlcHMpID09IGxpc3QoZmVhdHVyZS5i YWNrZ3JvdW5kLnN0ZXBzKQorKyAgICAgICAgYXNzZXJ0IGxpc3QocnVsZTIuYmFja2dyb3VuZC5h bGxfc3RlcHMpID09IGxpc3QoZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzKQorICAgICAgICAgYXNz ZXJ0IGxlbihydWxlMi5zY2VuYXJpb3MpID09IDEKKyAgICAgICAgIGFzc2VydCBydWxlMl9zY2Vu YXJpbzEubmFtZSA9PSAiUjIuU2NlbmFyaW9fMSIKKyAgICAgICAgIGFzc2VydCBydWxlMl9zY2Vu YXJpbzEucGFyZW50IGlzIHJ1bGUyCisgICAgICAgICBhc3NlcnQgcnVsZTJfc2NlbmFyaW8xLmZl YXR1cmUgaXMgZmVhdHVyZQorICAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTJfc2Nl bmFyaW8xLmFsbF9zdGVwcywgWworICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAnZmVh dHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hl biIsICJXaGVuIiwgICAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAor KyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBf MicsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAncnVsZSBS MiBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIs ICJXaGVuIiwgICAncnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorKyAg ICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAncnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMics IE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KyMgVEVTVCBTVUlURTogVmVyaWZ5IEZlYXR1cmUgQmFja2dyb3VuZCB0byBSdWxlIEJhY2tncm91 bmQgSW5oZXJpdGFuY2UKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2NsYXNzIFRlc3RQYXJzZXI0 QmFja2dyb3VuZChvYmplY3QpOgorKyAgICAiIiJWZXJpZnkgZmVhdHVyZS5iYWNrZ3JvdW5kIHRv IHJ1bGUuYmFja2dyb3VuZCBpbmhlcml0YW5jZSwgZXRjLiIiIgorKworKyAgICBkZWYgdGVzdF9w YXJzZV9fbm9ydWxlX3NjZW5hcmlvc191c2VfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAg ICAgICAgIiIiQUZGRUNURUQ6IFNjZW5hcmlvcyBvdXRzaWRlIG9mIHJ1bGVzIChiZWZvcmUgZmly c3QgcnVsZSkuIiIiCisrICAgICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6 IFdpdGggU2NlbmFyaW9zIGFuZCBSdWxlcworKyAgICAgICAgICAgIAorKyAgICAgICAgICAgICAg QmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgIEdpdmVuIGZl YXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysgICAgICAgICAgICAKKysgICAgICAgICAgICAgIFNj ZW5hcmlvOiBTY2VuYXJpb18xCisrICAgICAgICAgICAgICAgIEdpdmVuIHNjZW5hcmlvXzEgc3Rl cF8xCisrICAgICAgICAgICAgCisrICAgICAgICAgICAgICBSdWxlOiBSMQorKyAgICAgICAgICAg ICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9fMQorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1 bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAgICAgICAnJycubHN0cmlwKCkKKysgICAg ICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQpCisrICAgICAgICBhc3NlcnQgZmVhdHVy ZS5uYW1lID09ICJXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMiCisrICAgICAgICBhc3NlcnQgZmVh dHVyZS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUu c2NlbmFyaW9zKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVsZXMpID09IDEK KysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDIKKysKKysgICAgICAg IHNjZW5hcmlvMSA9IGZlYXR1cmUuc2NlbmFyaW9zWzBdCisrICAgICAgICBydWxlMSA9IGZlYXR1 cmUucnVsZXNbMF0KKysgICAgICAgIGFzc2VydCBmZWF0dXJlLnJ1bl9pdGVtcyA9PSBbc2NlbmFy aW8xLCBydWxlMV0KKysKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEubmFtZSA9PSAiU2NlbmFy aW9fMSIKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJh Y2tncm91bmQKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBm ZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHNj ZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1 J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAo dSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3NjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCisr ICAgICAgICBdKQorKworKyAgICBkZWYgdGVzdF9wYXJzZV9fbm9ydWxlX3NjZW5hcmlvc193aXRo X2Rpc2FibGVkX2JhY2tncm91bmQoc2VsZik6CisrICAgICAgICAiIiJBRkZFQ1RFRDogU2NlbmFy aW9zIG91dHNpZGUgb2YgcnVsZXMgKGJlZm9yZSBmaXJzdCBydWxlKS4iIiIKKysgICAgICAgIHRl eHQgPSB1JycnCisrICAgICAgICAgICAgRmVhdHVyZTogU2NlbmFyaW8gd2l0aCBkaXNhYmxlZCBi YWNrZ3JvdW5kCisrICAgICAgICAgICAgCisrICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0 dXJlLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5k IHN0ZXBfMQorKyAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgQGZpeHR1cmUuYmVoYXZlLmRp c2FibGVfYmFja2dyb3VuZAorKyAgICAgICAgICAgICAgU2NlbmFyaW86IFNjZW5hcmlvXzEKKysg ICAgICAgICAgICAgICAgR2l2ZW4gc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAgICAgICAKKysg ICAgICAgICAgICAgIFNjZW5hcmlvOiBTY2VuYXJpb18yCisrICAgICAgICAgICAgICAgIEdpdmVu IHNjZW5hcmlvXzIgc3RlcF8xCisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBm ZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFt ZSA9PSAiU2NlbmFyaW8gd2l0aCBkaXNhYmxlZCBiYWNrZ3JvdW5kIgorKyAgICAgICAgYXNzZXJ0 IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0 dXJlLnNjZW5hcmlvcykgPT0gMgorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bl9pdGVt cykgPT0gMgorKworKyAgICAgICAgc2NlbmFyaW8xID0gZmVhdHVyZS5zY2VuYXJpb3NbMF0KKysg ICAgICAgIHNjZW5hcmlvMiA9IGZlYXR1cmUuc2NlbmFyaW9zWzFdCisrICAgICAgICBhc3NlcnQg ZmVhdHVyZS5ydW5faXRlbXMgPT0gW3NjZW5hcmlvMSwgc2NlbmFyaW8yXQorKworKyAgICAgICAg c2NlbmFyaW8xLnVzZV9iYWNrZ3JvdW5kID0gRmFsc2UgICAgIyAtLSBGSVhUVVJFLUVGRkVDVCAo c2ltdWxhdGVkKQorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS5uYW1lID09ICJTY2VuYXJpb18x IgorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIGZlYXR1cmUuYmFja2dy b3VuZAorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzICE9IGZlYXR1 cmUuYmFja2dyb3VuZC5zdGVwcworKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS5iYWNrZ3JvdW5k X3N0ZXBzID09IFtdCisrICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhzY2VuYXJpbzEuYWxs X3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJpb18x IHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAgICAgICMgLS0gRU5T VVJFOiBEaXNhYmxpbmcgb2YgYmFja2dyb3VuZCBoYXMgbm8gZWZmZWN0IG9uIG90aGVyIHNjZW5h cmlvcy4KKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzIubmFtZSA9PSAiU2NlbmFyaW9fMiIKKysg ICAgICAgIGFzc2VydCBzY2VuYXJpbzIuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tncm91bmQK KysgICAgICAgIGFzc2VydCBzY2VuYXJpbzIuYmFja2dyb3VuZF9zdGVwcyA9PSBmZWF0dXJlLmJh Y2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHNjZW5hcmlvMi5h bGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J2ZlYXR1cmUg YmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIs IHUiR2l2ZW4iLCB1J3NjZW5hcmlvXzIgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICBd KQorKworKyAgICBkZWYgdGVzdF9wYXJzZV9fcnVsZV9zY2VuYXJpb3NfaW5oZXJpdF9mZWF0dXJl X2JhY2tncm91bmRfd2l0aG91dF9ydWxlX2JhY2tncm91bmQoc2VsZik6CisrICAgICAgICB0ZXh0 ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6IFdpdGggQmFja2dyb3VuZCBhbmQgUnVsZQor KyAgICAKKysgICAgICAgICAgICAgIEJhY2tncm91bmQ6IEZlYXR1cmUuQmFja2dyb3VuZAorKyAg ICAgICAgICAgICAgICBHaXZlbiBmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xCisrICAgIAorKyAg ICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAgU2NlbmFyaW86IFIxLlNjZW5h cmlvXzEKKysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8x CisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVh dHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiV2l0aCBCYWNrZ3Jv dW5kIGFuZCBSdWxlIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3Qg Tm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMAorKyAgICAg ICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZl YXR1cmUucnVuX2l0ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNb MF0KKysgICAgICAgIHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1swXQorKyAgICAg ICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0KKysKKysgICAgICAgIGFzc2Vy dCBydWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEuU2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2Vy dCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgIyBhc3Nl cnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAor KyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IGZlYXR1 cmUuYmFja2dyb3VuZC5zdGVwcworKyAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTFf c2NlbmFyaW8xLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIs IHUnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAg ICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUncnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUs IE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX3J1bGVfc2NlbmFy aW9zX2luaGVyaXRfZmVhdHVyZV9iYWNrZ3JvdW5kX3dpdGhfcnVsZV9iYWNrZ3JvdW5kKHNlbGYp OgorKyAgICAgICAgdGV4dCA9IHUnJycKKysgICAgICAgICAgICBGZWF0dXJlOiBXaXRoIEZlYXR1 cmUuQmFja2dyb3VuZCBhbmQgUnVsZS5CYWNrZ3JvdW5kCisrCisrICAgICAgICAgICAgICBCYWNr Z3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVy ZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAg ICAgICAgICAgQmFja2dyb3VuZDogUjEuQmFja2dyb3VuZAorKyAgICAgICAgICAgICAgICAgIEdp dmVuIHJ1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEKKysgICAgICAgICAgICAgICAgCisrICAgICAg ICAgICAgICAgIFNjZW5hcmlvOiBSMS5TY2VuYXJpb18xCisrICAgICAgICAgICAgICAgICAgR2l2 ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgICAgICAgICcnJy5sc3RyaXAoKQor KyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBm ZWF0dXJlLm5hbWUgPT0gIldpdGggRmVhdHVyZS5CYWNrZ3JvdW5kIGFuZCBSdWxlLkJhY2tncm91 bmQiCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAg ICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAwCisrICAgICAgICBhc3NlcnQg bGVuKGZlYXR1cmUucnVsZXMpID09IDEKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5f aXRlbXMpID09IDEKKysKKysgICAgICAgIHJ1bGUxID0gZmVhdHVyZS5ydWxlc1swXQorKyAgICAg ICAgcnVsZTFfc2NlbmFyaW8xID0gcnVsZTEuc2NlbmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQg ZmVhdHVyZS5ydW5faXRlbXMgPT0gW3J1bGUxXQorKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJh Y2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlz IG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5k LmluaGVyaXRlZF9zdGVwcyA9PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFz c2VydCBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0ZXBzKSAhPSBmZWF0dXJlLmJhY2tncm91 bmQuc3RlcHMKKysKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEu U2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBp cyBydWxlMS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tn cm91bmRfc3RlcHMgPT0gbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVwcykKKysgICAgICAg IGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAg ICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEn LCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUg UjEgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZl biIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwK KysgICAgICAgIF0pCisrCisrICAgIGRlZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5hcmlvc193aXRo X3J1bGVfYmFja2dyb3VuZF93aGVuX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfaXNfZGlzYWJsZWQo c2VsZik6CisrICAgICAgICAjIC0tIEhJTlQ6IEJhY2tncm91bmQgaW5oZXJpdGFuY2UgaXMgZW5h YmxlZCAoYnkgZGVmYXVsdCkuCisrICAgICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZl YXR1cmU6IFdpdGggRmVhdHVyZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIGRpc2FibGVkCisrCisr ICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgICAgICAg ICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAgICAgICAg QGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQKKysgICAgICAgICAgICAgIFJ1bGU6 IFIxCisrICAgICAgICAgICAgICAgIEJhY2tncm91bmQ6IFIxLkJhY2tncm91bmQKKysgICAgICAg ICAgICAgICAgICBHaXZlbiBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xCisrCisrICAgICAgICAg ICAgICAgIFNjZW5hcmlvOiBSMS5TY2VuYXJpb18xCisrICAgICAgICAgICAgICAgICAgR2l2ZW4g cnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgICAgICAgICcnJy5sc3RyaXAoKQorKyAg ICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBmZWF0 dXJlLm5hbWUgPT0gIldpdGggRmVhdHVyZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIGRpc2FibGVk IgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAg ICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMAorKyAgICAgICAgYXNzZXJ0IGxl bihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0 ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAg IHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1swXQorKyAgICAgICAgYXNzZXJ0IGZl YXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0KKysKKysgICAgICAgIHJ1bGUxLnVzZV9iYWNrZ3Jv dW5kX2luaGVyaXRhbmNlID0gRmFsc2UgICMgRklYVFVSRS1FRkZFQ1QgKHNpbXVsYXRlZCkKKysg ICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAgICBhc3Nl cnQgcnVsZTEuYmFja2dyb3VuZC51c2VfaW5oZXJpdGFuY2UgaXMgRmFsc2UKKysgICAgICAgIGFz c2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAg IGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9PSBbXQorKyAgICAgICAg YXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQuaW5oZXJpdGVkX3N0ZXBzICE9IGZlYXR1cmUuYmFja2dy b3VuZC5zdGVwcworKyAgICAgICAgYXNzZXJ0IGxpc3QocnVsZTEuYmFja2dyb3VuZC5hbGxfc3Rl cHMpICE9IGZlYXR1cmUuYmFja2dyb3VuZC5zdGVwcworKworKyAgICAgICAgYXNzZXJ0IHJ1bGUx X3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2VuYXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHJ1bGUx X3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIHJ1bGUxLmJhY2tncm91bmQKKysgICAgICAgIGFzc2Vy dCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBydWxlMS5iYWNrZ3JvdW5kLnN0 ZXBzCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0g bGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVwcykKKysgICAgICAgIGFzc2VydF9jb21wYXJl X3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZl biIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwK KysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBz dGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAgIGRlZiB0ZXN0X3BhcnNl X19ydWxlX3NjZW5hcmlvc193aXRob3V0X3J1bGVfYmFja2dyb3VuZF93aGVuX2JhY2tncm91bmRf aW5oZXJpdGFuY2VfaXNfZGlzYWJsZWRfd2l0aG91dChzZWxmKToKKysgICAgICAgICMgLS0gSElO VDogQmFja2dyb3VuZCBpbmhlcml0YW5jZSBpcyBlbmFibGVkIChieSBkZWZhdWx0KS4KKysgICAg ICAgIHRleHQgPSB1JycnCisrICAgICAgICAgICAgRmVhdHVyZTogV2l0aCBGZWF0dXJlIEJhY2tn cm91bmQgSW5oZXJpdGFuY2UgZGlzYWJsZWQKKysKKysgICAgICAgICAgICAgIEJhY2tncm91bmQ6 IEZlYXR1cmUuQmFja2dyb3VuZAorKyAgICAgICAgICAgICAgICBHaXZlbiBmZWF0dXJlIGJhY2tn cm91bmQgc3RlcF8xCisrCisrICAgICAgICAgICAgICBAZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVf YmFja2dyb3VuZAorKyAgICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAgU2Nl bmFyaW86IFIxLlNjZW5hcmlvXzEKKysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIHNj ZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0 dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9 PSAiV2l0aCBGZWF0dXJlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgZGlzYWJsZWQiCisrICAgICAg ICBhc3NlcnQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAgICBhc3NlcnQg bGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAwCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUu cnVsZXMpID09IDEKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDEK KysKKysgICAgICAgIHJ1bGUxID0gZmVhdHVyZS5ydWxlc1swXQorKyAgICAgICAgcnVsZTFfc2Nl bmFyaW8xID0gcnVsZTEuc2NlbmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5f aXRlbXMgPT0gW3J1bGUxXQorKworKyAgICAgICAgcnVsZTEudXNlX2JhY2tncm91bmRfaW5oZXJp dGFuY2UgPSBGYWxzZSAgIyBGSVhUVVJFLUVGRkVDVCAoc2ltdWxhdGVkKQorKyAgICAgICAgYXNz ZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgIGFzc2VydCBydWxlMS5i YWNrZ3JvdW5kLnVzZV9pbmhlcml0YW5jZSBpcyBGYWxzZQorKyAgICAgICAgYXNzZXJ0IHJ1bGUx LmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1 bGUxLmJhY2tncm91bmQuaW5oZXJpdGVkX3N0ZXBzID09IFtdCisrCisrICAgICAgICBhc3NlcnQg cnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIxLlNjZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQg cnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgcnVsZTEuYmFja2dyb3VuZAorKyAgICAgICAg YXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IHJ1bGUxLmJhY2tncm91 bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVw cyA9PSBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0ZXBzKQorKyAgICAgICAgYXNzZXJ0X2Nv bXBhcmVfc3RlcHMocnVsZTFfc2NlbmFyaW8xLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICh1 ImdpdmVuIiwgdSJHaXZlbiIsIHUncnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5v bmUpLAorKyAgICAgICAgXSkKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX3J1bGVfc2NlbmFyaW9z X3dpdGhvdXRfZmVhdHVyZV9iYWNrZ3JvdW5kX2FuZF93aXRoX3J1bGVfYmFja2dyb3VuZChzZWxm KToKKysgICAgICAgIHRleHQgPSB1JycnCisrICAgICAgICAgICAgRmVhdHVyZTogV2l0aG91dCBG ZWF0dXJlLkJhY2tncm91bmQgYW5kIHdpdGggUnVsZS5CYWNrZ3JvdW5kCisrCisrICAgICAgICAg ICAgICBSdWxlOiBSMQorKyAgICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBSMS5CYWNrZ3JvdW5k CisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMQorKwor KyAgICAgICAgICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9fMQorKyAgICAgICAgICAgICAg ICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAgICAgICAnJycubHN0 cmlwKCkKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQpCisrICAgICAgICBh c3NlcnQgZmVhdHVyZS5uYW1lID09ICJXaXRob3V0IEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgd2l0 aCBSdWxlLkJhY2tncm91bmQiCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlz IE5vbmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJpb3MpID09IDAKKysgICAg ICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydWxlcykgPT0gMQorKyAgICAgICAgYXNzZXJ0IGxlbihm ZWF0dXJlLnJ1bl9pdGVtcykgPT0gMQorKworKyAgICAgICAgcnVsZTEgPSBmZWF0dXJlLnJ1bGVz WzBdCisrICAgICAgICBydWxlMV9zY2VuYXJpbzEgPSBydWxlMS5zY2VuYXJpb3NbMF0KKysgICAg ICAgIGFzc2VydCBmZWF0dXJlLnJ1bl9pdGVtcyA9PSBbcnVsZTFdCisrCisrICAgICAgICBhc3Nl cnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJh Y2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUx LmJhY2tncm91bmQuaW5oZXJpdGVkX3N0ZXBzID09IFtdCisrCisrICAgICAgICBhc3NlcnQgcnVs ZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIxLlNjZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQgcnVs ZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgcnVsZTEuYmFja2dyb3VuZAorKyAgICAgICAgYXNz ZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IHJ1bGUxLmJhY2tncm91bmQu c3RlcHMKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9 PSBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0ZXBzKQorKyAgICAgICAgYXNzZXJ0X2NvbXBh cmVfc3RlcHMocnVsZTFfc2NlbmFyaW8xLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICh1Imdp dmVuIiwgdSJHaXZlbiIsIHUncnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUp LAorKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUncnVsZSBSMSBzY2VuYXJpb18x IHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAgZGVmIHRlc3RfcGFy c2VfX3J1bGVfc2NlbmFyaW9zX3dpdGhvdXRfZmVhdHVyZV9hbmRfcnVsZV9iYWNrZ3JvdW5kKHNl bGYpOgorKyAgICAgICAgdGV4dCA9IHUnJycKKysgICAgICAgICAgICBGZWF0dXJlOiBXaXRob3V0 IEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgUnVsZS5CYWNrZ3JvdW5kCisrCisrICAgICAgICAgICAg ICBSdWxlOiBSMQorKyAgICAgICAgICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9fMQorKyAg ICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAg ICAgICAnJycubHN0cmlwKCkKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQp CisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5uYW1lID09ICJXaXRob3V0IEZlYXR1cmUuQmFja2dy b3VuZCBhbmQgUnVsZS5CYWNrZ3JvdW5kIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dy b3VuZCBpcyBOb25lCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAw CisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVsZXMpID09IDEKKysgICAgICAgIGFzc2Vy dCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDEKKysKKysgICAgICAgIHJ1bGUxID0gZmVhdHVy ZS5ydWxlc1swXQorKyAgICAgICAgcnVsZTFfc2NlbmFyaW8xID0gcnVsZTEuc2NlbmFyaW9zWzBd CisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMgPT0gW3J1bGUxXQorKworKyAgICAg ICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgTm9uZQorKworKyAgICAgICAgYXNzZXJ0IHJ1 bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2VuYXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHJ1 bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIE5vbmUKKysgICAgICAgIGFzc2VydCBydWxlMV9z Y2VuYXJpbzEuYmFja2dyb3VuZCBpcyBydWxlMS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQg cnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gW10KKysgICAgICAgIGFzc2VydF9j b21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAo dSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBO b25lKSwKKyAgICAgICAgIF0pCisgCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUyLUFkZC1zdXBwb3J0LWZvci1ydW50 aW1lLWNvbnN0cmFpbnRzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA1Mi1BZGQtc3VwcG9ydC1mb3ItcnVudGltZS1jb25zdHJhaW50 cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmNiOGZmOTllYgot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNTItQWRkLXN1cHBvcnQtZm9yLXJ1bnRpbWUtY29uc3RyYWludHMucGF0 Y2gKQEAgLTAsMCArMSwyNjkgQEAKK0Zyb20gMDhlMjAyOGQ0MjcxOTgyODlkN2M5NGUxNGU4NGE5 MTAzNGJjNTQzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzox ODowMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBBZGQgc3VwcG9ydCBmb3IgcnVudGltZSBjb25z dHJhaW50cy4KKworLS0tCisgLmJ1bXB2ZXJzaW9uLmNmZyAgICAgICAgICAgICAgICAgfCAgMiAr LQorIGJlaGF2ZS9fX2luaXRfXy5weSAgICAgICAgICAgICAgIHwgIDIgKy0KKyBiZWhhdmUvX19t YWluX18ucHkgICAgICAgICAgICAgICB8IDEzICsrKysrLS0tLQorIGJlaGF2ZS9hcGkvcnVudGlt ZV9jb25zdHJhaW50LnB5IHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBi ZWhhdmUvY29uZmlndXJhdGlvbi5weSAgICAgICAgICB8ICA0IC0tLQorIGJlaGF2ZS9leGNlcHRp b24ucHkgICAgICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGJl aGF2ZS9ydW5uZXIucHkgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBiZWhhdmUvcnVubmVyX3V0 aWwucHkgICAgICAgICAgICB8IDE3ICsrLS0tLS0tLS0tLQorIGJlaGF2ZS92ZXJzaW9uLnB5ICAg ICAgICAgICAgICAgIHwgIDIgKysKKyB0ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5ICAgICAgICB8 ICAyICstCisgMTAgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9u cygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5w eQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUvZXhjZXB0aW9uLnB5CisgY3JlYXRlIG1vZGUg MTAwNjQ0IGJlaGF2ZS92ZXJzaW9uLnB5CisKK2RpZmYgLS1naXQgYS8uYnVtcHZlcnNpb24uY2Zn IGIvLmJ1bXB2ZXJzaW9uLmNmZworaW5kZXggYWM5MTNjMi4uYTVkM2QyZiAxMDA2NDQKKy0tLSBh Ly5idW1wdmVyc2lvbi5jZmcKKysrKyBiLy5idW1wdmVyc2lvbi5jZmcKK0BAIC0xLDYgKzEsNiBA QAorIFtidW1wdmVyc2lvbl0KKyBjdXJyZW50X3ZlcnNpb24gPSAxLjIuNy5kZXYxCistZmlsZXMg PSBiZWhhdmUvX19pbml0X18ucHkgc2V0dXAucHkgVkVSU0lPTi50eHQgcHl0ZXN0LmluaSAuYnVt cHZlcnNpb24uY2ZnCisrZmlsZXMgPSBiZWhhdmUvdmVyc2lvbi5weSBzZXR1cC5weSBWRVJTSU9O LnR4dCBweXRlc3QuaW5pIC5idW1wdmVyc2lvbi5jZmcKKyBwYXJzZSA9ICg/UDxtYWpvcj5cZCsp XC4oP1A8bWlub3I+XGQrKVwuKD9QPHBhdGNoPlxkKykoP1A8ZHJvcD5cdyopCisgc2VyaWFsaXpl ID0ge21ham9yfS57bWlub3J9LntwYXRjaH17ZHJvcH0KKyBjb21taXQgPSBGYWxzZQorZGlmZiAt LWdpdCBhL2JlaGF2ZS9fX2luaXRfXy5weSBiL2JlaGF2ZS9fX2luaXRfXy5weQoraW5kZXggMzFl NGU1NS4uNTNhNTMzNyAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9fX2luaXRfXy5weQorKysrIGIvYmVo YXZlL19faW5pdF9fLnB5CitAQCAtMjAsNiArMjAsNyBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0 IGFic29sdXRlX2ltcG9ydAorIGZyb20gYmVoYXZlLnN0ZXBfcmVnaXN0cnkgaW1wb3J0ICogICAg ICAjIHB5bGludDogZGlzYWJsZT13aWxkY2FyZC1pbXBvcnQKKyBmcm9tIGJlaGF2ZS5tYXRjaGVy cyBpbXBvcnQgdXNlX3N0ZXBfbWF0Y2hlciwgc3RlcF9tYXRjaGVyLCByZWdpc3Rlcl90eXBlCisg ZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgZml4dHVyZSwgdXNlX2ZpeHR1cmUKKytmcm9tIGJl aGF2ZS52ZXJzaW9uIGltcG9ydCBWRVJTSU9OIGFzIF9fdmVyc2lvbl9fCisgCisgIyBweWxpbnQ6 IGRpc2FibGU9dW5kZWZpbmVkLWFsbC12YXJpYWJsZQorIF9fYWxsX18gPSBbCitAQCAtMjksNCAr MzAsMyBAQCBfX2FsbF9fID0gWworICAgICAjIC0tIERFUFJFQ0FUSU5HOgorICAgICAic3RlcF9t YXRjaGVyIgorIF0KKy1fX3ZlcnNpb25fXyA9ICIxLjIuNy5kZXYxIgorZGlmZiAtLWdpdCBhL2Jl aGF2ZS9fX21haW5fXy5weSBiL2JlaGF2ZS9fX21haW5fXy5weQoraW5kZXggYzM0MGIyNS4uM2Nh ZTM2ZCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9fX21haW5fXy5weQorKysrIGIvYmVoYXZlL19fbWFp bl9fLnB5CitAQCAtNCwxMiArNCwxMyBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl X2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBpbXBvcnQgY29kZWNzCisgaW1wb3J0IHN5cworIGlt cG9ydCBzaXgKKy1mcm9tIGJlaGF2ZSBpbXBvcnQgX192ZXJzaW9uX18KKy1mcm9tIGJlaGF2ZS5j b25maWd1cmF0aW9uIGltcG9ydCBDb25maWd1cmF0aW9uLCBDb25maWdFcnJvcgorK2Zyb20gYmVo YXZlLnZlcnNpb24gaW1wb3J0IFZFUlNJT04gYXMgQkVIQVZFX1ZFUlNJT04KKytmcm9tIGJlaGF2 ZS5jb25maWd1cmF0aW9uIGltcG9ydCBDb25maWd1cmF0aW9uCisrZnJvbSBiZWhhdmUuZXhjZXB0 aW9uIGltcG9ydCBDb25zdHJhaW50RXJyb3IsIENvbmZpZ0Vycm9yLCBcCisrICAgIEZpbGVOb3RG b3VuZEVycm9yLCBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3IsIEludmFsaWRGaWxlbmFtZUVycm9y CisgZnJvbSBiZWhhdmUucGFyc2VyIGltcG9ydCBQYXJzZXJFcnJvcgorIGZyb20gYmVoYXZlLnJ1 bm5lciBpbXBvcnQgUnVubmVyCistZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IHByaW50 X3VuZGVmaW5lZF9zdGVwX3NuaXBwZXRzLCByZXNldF9ydW50aW1lLCBcCistICAgIEludmFsaWRG aWxlTG9jYXRpb25FcnJvciwgSW52YWxpZEZpbGVuYW1lRXJyb3IsIEZpbGVOb3RGb3VuZEVycm9y CisrZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IHByaW50X3VuZGVmaW5lZF9zdGVwX3Nu aXBwZXRzLCByZXNldF9ydW50aW1lCisgZnJvbSBiZWhhdmUudGV4dHV0aWwgaW1wb3J0IGNvbXB1 dGVfd29yZHNfbWF4c2l6ZSwgdGV4dCBhcyBfdGV4dAorIAorIAorQEAgLTYyLDcgKzYzLDcgQEAg ZGVmIHJ1bl9iZWhhdmUoY29uZmlnLCBydW5uZXJfY2xhc3M9Tm9uZSk6CisgICAgICAgICBydW5u ZXJfY2xhc3MgPSBSdW5uZXIKKyAKKyAgICAgaWYgY29uZmlnLnZlcnNpb246CistICAgICAgICBw cmludCgiYmVoYXZlICIgKyBfX3ZlcnNpb25fXykKKysgICAgICAgIHByaW50KCJiZWhhdmUgIiAr IEJFSEFWRV9WRVJTSU9OKQorICAgICAgICAgcmV0dXJuIDAKKyAKKyAgICAgaWYgY29uZmlnLnRh Z3NfaGVscDoKK0BAIC0xMTAsNiArMTExLDggQEAgZGVmIHJ1bl9iZWhhdmUoY29uZmlnLCBydW5u ZXJfY2xhc3M9Tm9uZSk6CisgICAgICAgICBwcmludCh1IkludmFsaWRGaWxlTG9jYXRpb25FcnJv cjogJXMiICUgZSkKKyAgICAgZXhjZXB0IEludmFsaWRGaWxlbmFtZUVycm9yIGFzIGU6CisgICAg ICAgICBwcmludCh1IkludmFsaWRGaWxlbmFtZUVycm9yOiAlcyIgJSBlKQorKyAgICBleGNlcHQg Q29uc3RyYWludEVycm9yIGFzIGU6CisrICAgICAgICBwcmludCh1IkNvbnN0cmFpbnRFcnJvcjog JXMiICUgZSkKKyAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgIyAtLSBESUFH Tk9TVElDUzoKKyAgICAgICAgIHRleHQgPSBfdGV4dChlKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9h cGkvcnVudGltZV9jb25zdHJhaW50LnB5IGIvYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zMTBlNTI5CistLS0gL2Rl di9udWxsCisrKysgYi9iZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weQorQEAgLTAsMCAr MSw0NSBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisrU2ltcGxpZmllcyB0byBz cGVjaWZ5IHJ1bnRpbWUgY29uc3RyYWludHMgaW4KKysKKysqIGZlYXR1cmVzL2Vudmlyb25tZW50 LnB5IGZpbGUKKysqIGZlYXR1cmVzL3N0ZXBzLyoucHkiIGZpbGVzCisrIiIiCisrCisrZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKytmcm9tIGJlaGF2ZS5leGNlcHRpb24g aW1wb3J0IENvbnN0cmFpbnRFcnJvcgorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBV VElMSVRZIEZVTkNUSU9OUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiByZXF1aXJlX21p bl9weXRob25fdmVyc2lvbihtaW5pbWFsX3ZlcnNpb24pOgorKyAgICAiIiJTaW1wbGlmaWVzIHRv IHNwZWNpZnkgdGhlIG1pbmltYWwgcHl0aG9uIHZlcnNpb24gdGhhdCBpcyByZXF1aXJlZC4KKysK KysgICAgOnBhcmFtIG1pbmltYWxfdmVyc2lvbjogTWluaW11bSB2ZXJzaW9uIChhcyBzdHJpbmcs IHR1cGxlKQorKyAgICA6cmFpc2VzOiBiZWhhdmUuZXhjZXB0aW9uLkNvbnN0cmFpbnRFcnJvcgor KyAgICAiIiIKKysgICAgaW1wb3J0IHNpeAorKyAgICBpbXBvcnQgc3lzCisrICAgIHB5dGhvbl92 ZXJzaW9uID0gc3lzLnZlcnNpb25faW5mbworKyAgICBpZiBpc2luc3RhbmNlKG1pbmltYWxfdmVy c2lvbiwgc2l4LnN0cmluZ190eXBlcyk6CisrICAgICAgICBweXRob25fdmVyc2lvbiA9ICIlcy4l cyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorKyAgICBlbGlmIG5vdCBpc2luc3RhbmNlKG1pbmlt YWxfdmVyc2lvbiwgdHVwbGUpOgorKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJzdHJpbmcgb3Ig dHVwbGUgKHdhczogJXMpIiAlIHR5cGUobWluaW1hbF92ZXJzaW9uKSkKKysKKysgICAgaWYgcHl0 aG9uX3ZlcnNpb24gPCBtaW5pbWFsX3ZlcnNpb246CisrICAgICAgICByYWlzZSBDb25zdHJhaW50 RXJyb3IoInB5dGhvbiA+PSAlcyBleHBlY3RlZCAod2FzOiAlcykiICUgXAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChtaW5pbWFsX3ZlcnNpb24sIHB5dGhvbl92ZXJzaW9uKSkKKysK KysKKytkZWYgcmVxdWlyZV9taW5fYmVoYXZlX3ZlcnNpb24obWluaW1hbF92ZXJzaW9uKToKKysg ICAgIiIiU2ltcGxpZmllcyB0byBzcGVjaWZ5IHRoZSBtaW5pbWFsIGJlaGF2ZSB2ZXJzaW9uIHRo YXQgaXMgcmVxdWlyZWQuCisrCisrICAgIDpwYXJhbSBtaW5pbWFsX3ZlcnNpb246IE1pbmltdW0g dmVyc2lvbiAoYXMgc3RyaW5nLCB0dXBsZSkKKysgICAgOnJhaXNlczogYmVoYXZlLmV4Y2VwdGlv bi5Db25zdHJhaW50RXJyb3IKKysgICAgIiIiCisrICAgICMgLS0gU0lNUExJU1RJQyBJTVBMRU1F TlRBVElPTjoKKysgICAgZnJvbSBiZWhhdmUudmVyc2lvbiBpbXBvcnQgVkVSU0lPTiBhcyBiZWhh dmVfdmVyc2lvbgorKyAgICBpZiBiZWhhdmVfdmVyc2lvbiA8IG1pbmltYWxfdmVyc2lvbjoKKysg ICAgICAgIHJhaXNlIENvbnN0cmFpbnRFcnJvcigiYmVoYXZlID49ICVzIGV4cGVjdGVkICh3YXM6 ICVzKSIgJSBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbmltYWxfdmVyc2lv biwgYmVoYXZlX3ZlcnNpb24pKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5 IGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK2luZGV4IDg2MWY4OWYuLmJkOGIwMzkgMTAwNjQ0 CistLS0gYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorKysrIGIvYmVoYXZlL2NvbmZpZ3VyYXRp b24ucHkKK0BAIC02MiwxMCArNjIsNiBAQCBjbGFzcyBMb2dMZXZlbChvYmplY3QpOgorICAgICAg ICAgcmV0dXJuIGxvZ2dpbmcuZ2V0TGV2ZWxOYW1lKGxldmVsKQorIAorIAorLWNsYXNzIENvbmZp Z0Vycm9yKEV4Y2VwdGlvbik6CistICAgIHBhc3MKKy0KKy0KKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgIyBDT05GSUdVUkFUSU9OIFNDSEVNQToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitk aWZmIC0tZ2l0IGEvYmVoYXZlL2V4Y2VwdGlvbi5weSBiL2JlaGF2ZS9leGNlcHRpb24ucHkKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iYTIxMjA2CistLS0gL2Rldi9udWxs CisrKysgYi9iZWhhdmUvZXhjZXB0aW9uLnB5CitAQCAtMCwwICsxLDQwIEBACisrIyAtKi0gY29k aW5nOiBVVEYtOCAtKi0KKysiIiIKKytCZWhhdmUgZXhjZXB0aW9uIGNsYXNzZXMuCisrCisrLi4g dmVyc2lvbmFkZGVkOjogMS4yLjcKKysiIiIKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KyMgRVhDRVBUSU9OL0VSUk9SIENMQVNTRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytjbGFz cyBDb25zdHJhaW50RXJyb3IoUnVudGltZUVycm9yKToKKysgICAgIiIiVXNlZCBpZiBhIGNvbnN0 cmFpbnQvcHJlY29uZGl0aW9uIGlzIG5vdCBmdWxmaWxsZWQgYXQgcnVudGltZS4KKysKKysgICAg Li4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgIiIiCisrCisrCisrY2xhc3MgQ29uZmlnRXJy b3IoRXhjZXB0aW9uKToKKysgICAgIiIiVXNlZCBpZiB0aGUgY29uZmlndXJhdGlvbiBpcyAocGFy dGlhbGx5KSBpbnZhbGlkLiIiIgorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBFWENF UFRJT04vRVJST1IgQ0xBU1NFUzogUmVsYXRlZCB0byBGaWxlIEhhbmRsaW5nCisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKytjbGFzcyBGaWxlTm90Rm91bmRFcnJvcihMb29rdXBFcnJvcik6CisrICAg ICIiIlVzZWQgaWYgYSBzcGVjaWZpZWQgZmlsZSB3YXMgbm90IGZvdW5kLiIiIgorKworKworK2Ns YXNzIEludmFsaWRGaWxlTG9jYXRpb25FcnJvcihMb29rdXBFcnJvcik6CisrICAgICIiIlVzZWQg aWYgYSA6Y2xhc3M6YGJlaGF2ZS5tb2RlbF9jb3JlLkZpbGVMb2NhdGlvbmAgaXMgaW52YWxpZC4K KysgICAgVGhpcyBvY2N1cnMgaWYgdGhlIGZpbGUgbG9jYXRpb24gaXMgbm8gZXhhY3RseSBjb3Jy ZWN0IGFuZAorKyAgICBzdHJpY3QgY2hlY2tpbmcgaXMgZW5hYmxlZC4KKysgICAgIiIiCisrCisr CisrY2xhc3MgSW52YWxpZEZpbGVuYW1lRXJyb3IoVmFsdWVFcnJvcik6CisrICAgICIiIlVzZWQg aWYgYSBmaWxlbmFtZSBkb2VzIG5vdCBoYXZlIHRoZSBleHBlY3RlZCBmaWxlIGV4dGVuc2lvbiwg ZXRjLiIiIgorKworKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVu bmVyLnB5CitpbmRleCBmMjA5Y2IwLi5jYmVkYjVhIDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5l ci5weQorKysrIGIvYmVoYXZlL3J1bm5lci5weQorQEAgLTE1LDcgKzE1LDcgQEAgaW1wb3J0IHNp eAorIAorIGZyb20gYmVoYXZlLl90eXBlcyBpbXBvcnQgRXhjZXB0aW9uVXRpbAorIGZyb20gYmVo YXZlLmNhcHR1cmUgaW1wb3J0IENhcHR1cmVDb250cm9sbGVyCistZnJvbSBiZWhhdmUuY29uZmln dXJhdGlvbiBpbXBvcnQgQ29uZmlnRXJyb3IKKytmcm9tIGJlaGF2ZS5leGNlcHRpb24gaW1wb3J0 IENvbmZpZ0Vycm9yCisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyLl9yZWdpc3RyeSBpbXBvcnQgbWFr ZV9mb3JtYXR0ZXJzCisgZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IFwKKyAgICAgY29s bGVjdF9mZWF0dXJlX2xvY2F0aW9ucywgcGFyc2VfZmVhdHVyZXMsIFwKK2RpZmYgLS1naXQgYS9i ZWhhdmUvcnVubmVyX3V0aWwucHkgYi9iZWhhdmUvcnVubmVyX3V0aWwucHkKK2luZGV4IDdlMDgw N2YuLjgwYjk5YTAgMTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVyX3V0aWwucHkKKysrKyBiL2Jl aGF2ZS9ydW5uZXJfdXRpbC5weQorQEAgLTExLDI2ICsxMSwxMyBAQCBpbXBvcnQgcmUKKyBpbXBv cnQgc3lzCisgZnJvbSBzaXggaW1wb3J0IHN0cmluZ190eXBlcworIGZyb20gYmVoYXZlIGltcG9y dCBwYXJzZXIKKytmcm9tIGJlaGF2ZS5leGNlcHRpb24gaW1wb3J0IFwKKysgICAgRmlsZU5vdEZv dW5kRXJyb3IsIEludmFsaWRGaWxlTG9jYXRpb25FcnJvciwgSW52YWxpZEZpbGVuYW1lRXJyb3IK KyBmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBGaWxlTG9jYXRpb24KKyBmcm9tIGJlaGF2 ZS50ZXh0dXRpbCBpbXBvcnQgZW5zdXJlX3N0cmVhbV93aXRoX2VuY29kZXIKKyAjIExBWlk6IGZy b20gYmVoYXZlLnN0ZXBfcmVnaXN0cnkgaW1wb3J0IHNldHVwX3N0ZXBfZGVjb3JhdG9ycworIAor IAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEVYQ0VQVElPTlM6CistIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorLWNsYXNzIEZpbGVOb3RGb3VuZEVycm9yKExvb2t1cEVycm9yKToKKy0gICAg cGFzcworLQorLQorLWNsYXNzIEludmFsaWRGaWxlTG9jYXRpb25FcnJvcihMb29rdXBFcnJvcik6 CistICAgIHBhc3MKKy0KKy0KKy1jbGFzcyBJbnZhbGlkRmlsZW5hbWVFcnJvcihWYWx1ZUVycm9y KToKKy0gICAgcGFzcworLQorLQorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIENMQVNTOiBG aWxlTG9jYXRpb25QYXJzZXIKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkaWZmIC0tZ2l0IGEv YmVoYXZlL3ZlcnNpb24ucHkgYi9iZWhhdmUvdmVyc2lvbi5weQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAuLmIxOWNiNWUKKy0tLSAvZGV2L251bGwKKysrKyBiL2JlaGF2ZS92 ZXJzaW9uLnB5CitAQCAtMCwwICsxLDIgQEAKKysjIC0tIEJFSEFWRS1WRVJTSU9OOgorK1ZFUlNJ T04gPSAiMS4yLjcuZGV2MSIKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5 IGIvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weQoraW5kZXggMDMwZGZmYS4uZjBkMDNjZCAxMDA2 NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVz dF9ydW5uZXIucHkKK0BAIC0xNyw3ICsxNyw3IEBAIGZyb20gYmVoYXZlIGltcG9ydCBydW5uZXJf dXRpbAorIGZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBUYWJsZQorIGZyb20gYmVoYXZlLnN0ZXBf cmVnaXN0cnkgaW1wb3J0IFN0ZXBSZWdpc3RyeQorIGZyb20gYmVoYXZlIGltcG9ydCBwYXJzZXIs IHJ1bm5lcgorLWZyb20gYmVoYXZlLmNvbmZpZ3VyYXRpb24gaW1wb3J0IENvbmZpZ0Vycm9yCisr ZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBDb25maWdFcnJvcgorIGZyb20gYmVoYXZlLmZv cm1hdHRlci5iYXNlIGltcG9ydCBTdHJlYW1PcGVuZXIKKyAKKyAKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTMtVXNlLXJ1 bnRpbWUtY29uc3RyYWludHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDUzLVVzZS1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNDhlM2U2OTg1Ci0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA1My1Vc2UtcnVudGltZS1jb25zdHJhaW50cy5wYXRjaApAQCAtMCwwICsxLDE5NiBAQAor RnJvbSA1YjQyMzIxY2ZlOTVkMjllMmQ1NWVjOGYyNDk1YmUwN2I0MTczY2EwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBTYXQsIDEzIEp1bCAyMDE5IDEzOjE5OjEzICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIFVzZSBydW50aW1lIGNvbnN0cmFpbnRzCisKKy0tLQorIC4uLi9mZWF0dXJlcy9hc3lu Y19kaXNwYXRjaC5mZWF0dXJlICAgICAgICAgICB8ICAyICsrCisgLi4uL2FzeW5jX3N0ZXAvZmVh dHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUgICAgIHwgIDIgKysKKyBleGFtcGxlcy9hc3luY19zdGVw L2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgfCAxMyArKysrKysrKysKKyAuLi4ve2FzeW5jX3N0 ZXBzMzQucHkgPT4gX2FzeW5jX3N0ZXBzMzQucHl9ICAgfCAgNiArKystCisgLi4uL3thc3luY19z dGVwczM1LnB5ID0+IF9hc3luY19zdGVwczM1LnB5fSAgIHwgIDMgKy0KKyAuLi4vZmVhdHVyZXMv c3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkgICAgfCAyOSArKysrKysrKysrKysrKystLS0t CisgLi4uL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkgIHwgMTIgKysr KysrKysKKyA3IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0p CisgcmVuYW1lIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMve2FzeW5jX3N0ZXBz MzQucHkgPT4gX2FzeW5jX3N0ZXBzMzQucHl9ICg1OCUpCisgcmVuYW1lIGV4YW1wbGVzL2FzeW5j X3N0ZXAvZmVhdHVyZXMvc3RlcHMve2FzeW5jX3N0ZXBzMzUucHkgPT4gX2FzeW5jX3N0ZXBzMzUu cHl9ICg5NSUpCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVy ZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQoraW5kZXggNDE2ZDNkMS4uMThlOTg2OSAx MDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2gu ZmVhdHVyZQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19kaXNwYXRj aC5mZWF0dXJlCitAQCAtMSw2ICsxLDggQEAKKyBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40 CisgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjYKKytAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CisrQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOAorIEZlYXR1cmU6CisgICBTY2VuYXJpbzoKKyAgICAgR2l2ZW4gSSBkaXNwYXRj aCBhbiBhc3luYy1jYWxsIHdpdGggcGFyYW0gIkFsaWNlIgorZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUgYi9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlCitpbmRleCA5ZjUwNmI0Li4yOWI4ZmE3IDEw MDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVy ZQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQor QEAgLTEsNiArMSw4IEBACisgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjUKKyBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworK0B1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgK KyBGZWF0dXJlOgorICAgU2NlbmFyaW86CisgICAgIEdpdmVuIGFuIGFzeW5jLXN0ZXAgd2FpdHMg MC4zIHNlY29uZHMKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vu dmlyb25tZW50LnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5w eQoraW5kZXggOWQ0MzAyYi4uMDJjNGQ5MiAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVh dHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xLDggKzEsMTggQEAKKyAjIC0qLSBjb2Rpbmc6IFVU Ri04IC0qLQorIAorIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRj aGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworK2Zyb20gYmVoYXZlLmFwaS5ydW50aW1lX2Nv bnN0cmFpbnQgaW1wb3J0IHJlcXVpcmVfbWluX3B5dGhvbl92ZXJzaW9uCisgaW1wb3J0IHN5cwor IAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFJFUVVJUkU6IHB5dGhvbiA+PSAzLjQKKysj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrcmVxdWlyZV9taW5fcHl0aG9uX3ZlcnNpb24oIjMuNCIp CisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgU1VQUE9SVDogQWN0aXZlLXRhZ3MK KysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNlLndp dGhfe2NhdGVnb3J5fT17dmFsdWV9CisgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVy IHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3IgYWN0aXZlIHRhZ3MuCisgcHl0aG9uX3ZlcnNp b24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KK0BAIC0xMSw2ICsyMSw3IEBAIGFj dGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSB7CisgfQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFj dGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKysKKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgIyBIT09LUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAt MTgsMTAgKzI5LDEyIEBAIGRlZiBiZWZvcmVfYWxsKGNvbnRleHQpOgorICAgICAjIC0tIFNFVFVQ IEFDVElWRS1UQUcgTUFUQ0hFUiAod2l0aCB1c2VyZGF0YSk6CisgICAgIHNldHVwX2FjdGl2ZV90 YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIGNvbnRleHQuY29uZmlnLnVzZXJk YXRhKQorIAorKworIGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKToKKyAgICAg aWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoZmVhdHVyZS50YWdzKToK KyAgICAgICAgIGZlYXR1cmUuc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVf cmVhc29uKQorIAorKworIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgor ICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5l ZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFn X21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3Rl cC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM0LnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9m ZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5weQorc2ltaWxhcml0eSBpbmRleCA1OCUKK3Jl bmFtZSBmcm9tIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMz NC5weQorcmVuYW1lIHRvIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5j X3N0ZXBzMzQucHkKK2luZGV4IGM0OTYyYWIuLjU1NjUwMGYgMTAwNjQ0CistLS0gYS9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzQucHkKKysrKyBiL2V4YW1w bGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkKK0BAIC0xLDgg KzEsMTIgQEAKKy0jIC0tIFJFUVVJUkVTOiBQeXRob24gPj0gMy40CisrIyAtLSBSRVFVSVJFUzog UHl0aG9uID49IDMuNCBhbmQgUHl0aG9uIDwgMy44CisrIyBISU5UOiBEZWNvcmF0b3IgQGFzeW5j aW8uY29yb3V0aW5lIGlzIHByb2hpYml0ZWQgaW4gcHl0aG9uIDMuOAorKyMgVVNFOiAgQXN5bmMg Z2VuZXJhdG9yL2Nvcm91dGluZSBpbnN0ZWFkLgorKworIGZyb20gYmVoYXZlIGltcG9ydCBzdGVw CisgZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAgaW1wb3J0IGFzeW5jX3J1bl91bnRpbF9jb21w bGV0ZQorIGltcG9ydCBhc3luY2lvCisgCisrIyAtLSBVU0FCTEUgRk9SOiAiMy40IiA8PSBweXRo b25fdmVyc2lvbiA8ICIzLjgiCisgQHN0ZXAoJ2FuIGFzeW5jLXN0ZXAgd2FpdHMge2R1cmF0aW9u OmZ9IHNlY29uZHMnKQorIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUKKyBAYXN5bmNpby5jb3Jv dXRpbmUKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2Fz eW5jX3N0ZXBzMzUucHkgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3lu Y19zdGVwczM1LnB5CitzaW1pbGFyaXR5IGluZGV4IDk1JQorcmVuYW1lIGZyb20gZXhhbXBsZXMv YXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM1LnB5CityZW5hbWUgdG8gZXhh bXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNS5weQoraW5kZXgg MDE4ZDVlZi4uZWRjYmUwZSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVy ZXMvc3RlcHMvYXN5bmNfc3RlcHMzNS5weQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0 dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNS5weQorQEAgLTEsNCArMSw1IEBACisgIyAtLSBSRVFV SVJFUzogUHl0aG9uID49IDMuNQorKworIGZyb20gYmVoYXZlIGltcG9ydCBzdGVwCisgZnJvbSBi ZWhhdmUuYXBpLmFzeW5jX3N0ZXAgaW1wb3J0IGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZQorIGlt cG9ydCBhc3luY2lvCitAQCAtNiw1ICs3LDUgQEAgaW1wb3J0IGFzeW5jaW8KKyBAc3RlcCgnYW4g YXN5bmMtc3RlcCB3YWl0cyB7ZHVyYXRpb246Zn0gc2Vjb25kcycpCisgQGFzeW5jX3J1bl91bnRp bF9jb21wbGV0ZQorIGFzeW5jIGRlZiBzdGVwX2FzeW5jX3N0ZXBfd2FpdHNfc2Vjb25kc19weTM1 KGNvbnRleHQsIGR1cmF0aW9uKToKKy0gICAgIiIiU2ltcGxlIGV4YW1wbGUgb2YgYSBjb3JvdXRp bmUgYXMgYXN5bmMtc3RlcCAoaW4gUHl0aG9uIDMuNSkiIiIKKysgICAgIiIiU2ltcGxlIGV4YW1w bGUgb2YgYSBjb3JvdXRpbmUgYXMgYXN5bmMtc3RlcCAoaW4gUHl0aG9uIDMuNSBvciBuZXdlciki IiIKKyAgICAgYXdhaXQgYXN5bmNpby5zbGVlcChkdXJhdGlvbikKK2RpZmYgLS1naXQgYS9leGFt cGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5IGIv ZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5w eQoraW5kZXggYjliNmUxNS4uMjIyZTU0ZCAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKKysrKyBiL2V4YW1wbGVz L2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKK0BAIC0x LDIxICsxLDM4IEBACisgIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0jIFJFUVVJUkVTOiBQeXRo b24gPj0gMy41CisrIyBSRVFVSVJFUzogUHl0aG9uID49IDMuNC8zLjUKKytpbXBvcnQgc3lzCisg ZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB0aGVuLCBzdGVwCistZnJvbSBiZWhhdmUuYXBpLmFz eW5jX3N0ZXAgaW1wb3J0IHVzZV9vcl9jcmVhdGVfYXN5bmNfY29udGV4dCwgQXN5bmNDb250ZXh0 CisrZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAgaW1wb3J0IHVzZV9vcl9jcmVhdGVfYXN5bmNf Y29udGV4dAorIGZyb20gaGFtY3Jlc3QgaW1wb3J0IGFzc2VydF90aGF0LCBlcXVhbF90bywgZW1w dHkKKyBpbXBvcnQgYXN5bmNpbworIAorLUBhc3luY2lvLmNvcm91dGluZQorLWRlZiBhc3luY19m dW5jKHBhcmFtKToKKy0gICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVwKDAuMikKKy0gICAgcmV0 dXJuIHN0cihwYXJhbSkudXBwZXIoKQorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBBU1lO QyBFWEFNUExFIEZVTkNUSU9OOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrcHl0aG9uX3ZlcnNp b24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKytpZiBweXRob25fdmVyc2lvbiA+ PSAiMy41IjoKKysgICAgYXN5bmMgZGVmIGFzeW5jX2Z1bmMocGFyYW0pOgorKyAgICAgICAgYXdh aXQgYXN5bmNpby5zbGVlcCgwLjIpCisrICAgICAgICByZXR1cm4gc3RyKHBhcmFtKS51cHBlcigp CisrZWxzZToKKysgICAgIyAtLSBISU5UOiBEZWNvcmF0b3IgQGFzeW5jaW8uY29yb3V0aW5lIGlz IHByb2hpYml0ZWQgaW4gcHl0aG9uIDMuOAorKyAgICBAYXN5bmNpby5jb3JvdXRpbmUKKysgICAg ZGVmIGFzeW5jX2Z1bmMocGFyYW0pOgorKyAgICAgICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVw KDAuMikKKysgICAgICAgIHJldHVybiBzdHIocGFyYW0pLnVwcGVyKCkKKysKKysKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgU1RFUFM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBAZ2l2ZW4o J0kgZGlzcGF0Y2ggYW4gYXN5bmMtY2FsbCB3aXRoIHBhcmFtICJ7cGFyYW19IicpCisgZGVmIHN0 ZXBfZGlzcGF0Y2hfYXN5bmNfY2FsbChjb250ZXh0LCBwYXJhbSk6CisgICAgIGFzeW5jX2NvbnRl eHQgPSB1c2Vfb3JfY3JlYXRlX2FzeW5jX2NvbnRleHQoY29udGV4dCwgImFzeW5jX2NvbnRleHQx IikKKyAgICAgdGFzayA9IGFzeW5jX2NvbnRleHQubG9vcC5jcmVhdGVfdGFzayhhc3luY19mdW5j KHBhcmFtKSkKKyAgICAgYXN5bmNfY29udGV4dC50YXNrcy5hcHBlbmQodGFzaykKKyAKKysKKyBA dGhlbigndGhlIGNvbGxlY3RlZCByZXN1bHQgb2YgdGhlIGFzeW5jLWNhbGxzIGlzICJ7ZXhwZWN0 ZWR9IicpCisgZGVmIHN0ZXBfY29sbGVjdGVkX2FzeW5jX2NhbGxfcmVzdWx0X2lzKGNvbnRleHQs IGV4cGVjdGVkKToKKyAgICAgYXN5bmNfY29udGV4dCA9IGNvbnRleHQuYXN5bmNfY29udGV4dDEK K2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0 ZXBzLnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwcy5w eQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmRjMDNjNzIKKy0tLSAvZGV2 L251bGwKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3Rl cHMucHkKK0BAIC0wLDAgKzEsMTIgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgUkVR VUlSRVM6IFB5dGhvbiA+PSAzLjQvMy41CisrIiIiUHl0aG9uIGltcG9ydC1iYXJyaWVyIGZvciBw eXRob24yIG9yIHB5dGhvbiA8IDMuNC4iIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFi c29sdXRlX2ltcG9ydAorK2ltcG9ydCBzeXMKKysKKytweXRob25fdmVyc2lvbiA9ICIlcy4lcyIg JSBzeXMudmVyc2lvbl9pbmZvWzoyXQorK2lmIHB5dGhvbl92ZXJzaW9uID49ICIzLjUiOgorKyAg ICBpbXBvcnQgX2FzeW5jX3N0ZXBzMzUKKytlbGlmIHB5dGhvbl92ZXJzaW9uID09ICIzLjQiOgor KyAgICBpbXBvcnQgX2FzeW5jX3N0ZXBzMzQKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVw cmVjYXRlZC1wYXJ0cy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjZiYzU1ODA4YQotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaApAQCAtMCww ICsxLDM5MzcgQEAKK0Zyb20gNzg4MTA4NTA5YWRkNGE3NGM0Mzk2MzZkYzgwZjJjMDhhYjVlNzNm NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMu bm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzoyMDozOCArMDIw MAorU3ViamVjdDogW1BBVENIXSBDTEVBTlVQOiBSZW1vdmUgZGVwcmVjYXRlZCBwYXJ0cy4KKwor LS0tCisgLmF0dGljL2NvbnZlcnRfaTE4bl95YW1sLnB5IHwgICA3NyArCisgLmF0dGljL2kxOG4u eW1sICAgICAgICAgICAgIHwgIDYzNSArKysrKysrCisgYmluL2doZXJraW4tbGFuZ3VhZ2VzLmpz b24gIHwgMzE5MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDMgZmlsZXMg Y2hhbmdlZCwgNzEyIGluc2VydGlvbnMoKyksIDMxOTMgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1v ZGUgMTAwNzU1IC5hdHRpYy9jb252ZXJ0X2kxOG5feWFtbC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCAuYXR0aWMvaTE4bi55bWwKKyBkZWxldGUgbW9kZSAxMDA2NDQgYmluL2doZXJraW4tbGFuZ3Vh Z2VzLmpzb24KKworZGlmZiAtLWdpdCBhLy5hdHRpYy9jb252ZXJ0X2kxOG5feWFtbC5weSBiLy5h dHRpYy9jb252ZXJ0X2kxOG5feWFtbC5weQorbmV3IGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IDAw MDAwMDAuLmQ2YTY3MTMKKy0tLSAvZGV2L251bGwKKysrKyBiLy5hdHRpYy9jb252ZXJ0X2kxOG5f eWFtbC5weQorQEAgLTAsMCArMSw3NyBAQAorKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorKyMgLSot IGNvZGluZzogVVRGLTggLSotCisrIyBVU0FHRTogY29udmVydF9pMThuX3lhbWwucHkgWy0tZGF0 YT1pMThuLnltbF0gYmVoYXZlL2kxOG4ucHkKKysiIiIKKytHZW5lcmF0ZXMgSTE4TiBweXRob24g bW9kdWxlIGJhc2VkIG9uIFlBTUwgZGVzY3JpcHRpb24gKGkxOG4ueW1sKS4KKysKKytSRVFVSVJF UzoKKysgICogYXJncGFyc2UKKysgICogc2l4CisrICAqIFB5WUFNTAorKyIiIgorKworK2Zyb20g X19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2ltcG9y dCBhcmdwYXJzZQorK2ltcG9ydCBvcy5wYXRoCisraW1wb3J0IHNpeAorK2ltcG9ydCBzeXMKKytp bXBvcnQgcHByaW50CisraW1wb3J0IHlhbWwKKysKKytIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9f ZmlsZV9fKQorK05BTUUgPSBvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKQorK19fdmVyc2lvbl9f ID0gIjEuMCIKKysKKytkZWYgeWFtbF9ub3JtYWxpemUoZGF0YSk6CisrICAgIGZvciBwYXJ0IGlu IGRhdGE6CisrICAgICAgICBrZXl3b3JkcyA9IGRhdGFbcGFydF0KKysgICAgICAgIGZvciBrIGlu IGtleXdvcmRzOgorKyAgICAgICAgICAgIHYgPSBrZXl3b3Jkc1trXQorKyAgICAgICAgICAgICMg Ymxvb2R5IFlBTUwgcGFyc2VyIHJldHVybnMgYSBtaXh0dXJlIG9mIHVuaWNvZGUgYW5kIHN0cgor KyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHYsIHNpeC50ZXh0X3R5cGUpOgorKyAgICAg ICAgICAgICAgICB2ID0gdi5kZWNvZGUoIlVURi04IikKKysgICAgICAgICAgICBrZXl3b3Jkc1tr XSA9IHYuc3BsaXQoInwiKQorKyAgICByZXR1cm4gZGF0YQorKworK2RlZiBtYWluKGFyZ3M9Tm9u ZSk6CisrICAgIGlmIGFyZ3MgaXMgTm9uZToKKysgICAgICAgIGFyZ3MgPSBzeXMuYXJndlsxOl0K KysgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIocHJvZz1OQU1FLAorKyAgICAg ICAgICAgICAgICBkZXNjcmlwdGlvbj0iR2VuZXJhdGUgcHl0aG9uIG1vZHVsZSBpMThuIGZyb20g WUFNTCBiYXNlZCBkYXRhIikKKysgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLWQiLCAiLS1kYXRh IiwgZGVzdD0ieWFtbF9maWxlIiwKKysgICAgICAgICAgICAgICAgZGVmYXVsdD1vcy5wYXRoLmpv aW4oSEVSRSwgImkxOG4ueW1sIiksCisrICAgICAgICAgICAgICAgIGhlbHA9IlBhdGggdG8gaTE4 bi55bWwgZmlsZSAoWUFNTCBmaWxlKS4iKQorKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCJvdXRw dXRfZmlsZSIsIGRlZmF1bHQ9InN0ZG91dCIsCisrICAgICAgICAgICAgICAgIGhlbHA9IkZpbGVu YW1lIG9mIFB5dGhvbiBJMThOIG1vZHVsZSAoYXMgb3V0cHV0KS4iKQorKyAgICBwYXJzZXIuYWRk X2FyZ3VtZW50KCItLXZlcnNpb24iLCBhY3Rpb249InZlcnNpb24iLCB2ZXJzaW9uPV9fdmVyc2lv bl9fKQorKworKyAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2FyZ3MoYXJncykKKysgICAgaWYg bm90IG9zLnBhdGguaXNmaWxlKG9wdGlvbnMueWFtbF9maWxlKToKKysgICAgICAgIHBhcnNlci5l cnJvcigiWUFNTCBmaWxlIG5vdCBmb3VuZDogJXMiICUgb3B0aW9ucy55YW1sX2ZpbGUpCisrCisr ICAgICMgLS0gU1RFUCAxOiBMb2FkIFlBTUwgZGF0YS4KKysgICAgbGFuZ3VhZ2VzID0geWFtbC5s b2FkKG9wZW4ob3B0aW9ucy55YW1sX2ZpbGUpKQorKyAgICBsYW5ndWFnZXMgPSB5YW1sX25vcm1h bGl6ZShsYW5ndWFnZXMpCisrCisrICAgICMgLS0gU1RFUCAyOiBHZW5lcmF0ZSBweXRob24gbW9k dWxlIHdpdGggaTE4biBkYXRhLgorKyAgICBjb250ZW50cyA9IHUiIiIjIC0qLSBjb2Rpbmc6IFVU Ri04IC0qLQorKyMgLS0gRklMRSBHRU5FUkFURUQgQlk6IGNvbnZlcnRfaTE4bl95YW1sLnB5IHdp dGggaTE4bi55bWwKKysjIHB5bGludDogZGlzYWJsZT1saW5lLXRvby1sb25nCisrCisrbGFuZ3Vh Z2VzID0gXFwKKysiIiIKKysgICAgaWYgb3B0aW9ucy5vdXRwdXRfZmlsZSBpbiAoIi0iLCAic3Rk b3V0Iik6CisrICAgICAgICBpMThuX3B5ID0gc3lzLnN0ZG91dAorKyAgICAgICAgc2hvdWxkX2Ns b3NlID0gRmFsc2UKKysgICAgZWxzZToKKysgICAgICAgIGkxOG5fcHkgPSBvcGVuKG9wdGlvbnMu b3V0cHV0X2ZpbGUsICJ3IikKKysgICAgICAgIHNob3VsZF9jbG9zZSA9IFRydWUKKysgICAgaTE4 bl9weS53cml0ZShjb250ZW50cy5lbmNvZGUoIlVURi04IikpCisrICAgIGkxOG5fcHkud3JpdGUo cHByaW50LnBmb3JtYXQobGFuZ3VhZ2VzKS5lbmNvZGUoIlVURi04IikpCisrICAgIGkxOG5fcHku d3JpdGUodSJcbiIpCisrICAgIGlmIHNob3VsZF9jbG9zZToKKysgICAgICAgIGkxOG5fcHkuY2xv c2UoKQorKyAgICByZXR1cm4gMAorKworK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisrICAg IHN5cy5leGl0KG1haW4oKSkKK2RpZmYgLS1naXQgYS8uYXR0aWMvaTE4bi55bWwgYi8uYXR0aWMv aTE4bi55bWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi44MjM0NWE0Cist LS0gL2Rldi9udWxsCisrKysgYi8uYXR0aWMvaTE4bi55bWwKK0BAIC0wLDAgKzEsNjM1IEBACisr IyBlbmNvZGluZzogVVRGLTgKKysjCisrIyBXZSB1c2UgSVNPIDYzOS0xIChsYW5ndWFnZSkgYW5k IElTTyAzMTY2IGFscGhhLTIgKHJlZ2lvbiAtIGlmIGFwcGxpY2FibGUpOgorKyMgaHR0cDovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX0lTT182MzktMV9jb2RlcworKyMgaHR0cDovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9JU09fMzE2Ni0xCisrIworKyMgSWYgeW91IHdhbnQgc2V2ZXJh bCBhbGlhc2VzIGZvciBhIGtleXdvcmQsIGp1c3Qgc2VwYXJhdGUgdGhlbQorKyMgd2l0aCBhIHwg Y2hhcmFjdGVyLiBUaGUgKiBpcyBhIHN0ZXAga2V5d29yZCBhbGlhcyBmb3IgYWxsIHRyYW5zbGF0 aW9ucy4KKysjCisrIyBJZiB5b3UgZG8gKm5vdCogd2FudCBhIHRyYWlsaW5nIHNwYWNlIGFmdGVy IGEga2V5d29yZCwgZW5kIGl0IHdpdGggYSA8IGNoYXJhY3Rlci4KKysjIChTZWUgQ2hpbmVzZSBm b3IgZXhhbXBsZXMpLgorKyMKKysjIFRoaXMgZmlsZSBjb3B5cmlnaHQgKGMpIDIwMDktMjAxMSBN aWtlIFNhc3NhaywgR3JlZ29yeSBIbmF0aXVrLCBBc2xhayBIZWxsZXPDuHkKKysjCisrIyBQZXJt aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv YnRhaW5pbmcKKysjIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3Vt ZW50YXRpb24gZmlsZXMgKHRoZQorKyMgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3 YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKyMgd2l0aG91dCBsaW1pdGF0aW9u IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKyMgZGlz dHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwg YW5kIHRvCisrIyBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNo ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKysjIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKysj CisrIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj ZSBzaGFsbCBiZQorKyMgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0 aW9ucyBvZiB0aGUgU29mdHdhcmUuCisrIworKyMgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJB UyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisrIyBFWFBSRVNTIE9SIElNUExJ RUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKysjIE1F UkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisrIyBO T05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdI VCBIT0xERVJTIEJFCisrIyBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBM SUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OCisrIyBPRiBDT05UUkFDVCwgVE9SVCBPUiBP VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04KKysjIFdJVEgg VEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJF LgorKworKyJlbiI6CisrICBuYW1lOiBFbmdsaXNoCisrICBuYXRpdmU6IEVuZ2xpc2gKKysgIGZl YXR1cmU6IEZlYXR1cmUKKysgIGJhY2tncm91bmQ6IEJhY2tncm91bmQKKysgIHNjZW5hcmlvOiBT Y2VuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFyaW8gT3V0bGluZXxTY2VuYXJpbyBU ZW1wbGF0ZQorKyAgZXhhbXBsZXM6IEV4YW1wbGVzfFNjZW5hcmlvcworKyAgZ2l2ZW46ICIqfEdp dmVuIgorKyAgd2hlbjogIip8V2hlbiIKKysgIHRoZW46ICIqfFRoZW4iCisrICBhbmQ6ICIqfEFu ZCIKKysgIGJ1dDogIip8QnV0IgorKworKyMgUGxlYXNlIGtlZXAgdGhlIGdyYW1tYXJzIGluIGFs cGhhYmV0aWNhbCBvcmRlciBieSBuYW1lIGZyb20gaGVyZSBhbmQgZG93bi4KKysKKysiYXIiOgor KyAgbmFtZTogQXJhYmljCisrICBuYXRpdmU6INin2YTYudix2KjZitipCisrICBmZWF0dXJlOiDY rtin2LXZitipCisrICBiYWNrZ3JvdW5kOiDYp9mE2K7ZhNmB2YrYqQorKyAgc2NlbmFyaW86INiz 2YrZhtin2LHZitmICisrICBzY2VuYXJpb19vdXRsaW5lOiDYs9mK2YbYp9ix2YrZiCDZhdiu2LfY tworKyAgZXhhbXBsZXM6INin2YXYq9mE2KkKKysgIGdpdmVuOiAiKnzYqNmB2LHYtiIKKysgIHdo ZW46ICIqfNmF2KrZiXzYudmG2K/ZhdinIgorKyAgdGhlbjogIip82KfYsNin2Yt82KvZhSIKKysg IGFuZDogIip82YgiCisrICBidXQ6ICIqfNmE2YPZhiIKKysiYmciOgorKyAgbmFtZTogQnVsZ2Fy aWFuCisrICBuYXRpdmU6INCx0YrQu9Cz0LDRgNGB0LrQuAorKyAgZmVhdHVyZTog0KTRg9C90LrR htC40L7QvdCw0LvQvdC+0YHRggorKyAgYmFja2dyb3VuZDog0J/RgNC10LTQuNGB0YLQvtGA0LjR jworKyAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC40LkKKysgIHNjZW5hcmlvX291dGxpbmU6INCg 0LDQvNC60LAg0L3QsCDRgdGG0LXQvdCw0YDQuNC5CisrICBleGFtcGxlczog0J/RgNC40LzQtdGA 0LgKKysgIGdpdmVuOiAiKnzQlNCw0LTQtdC90L4iCisrICB3aGVuOiAiKnzQmtC+0LPQsNGC0L4i CisrICB0aGVuOiAiKnzQotC+IgorKyAgYW5kOiAiKnzQmCIKKysgIGJ1dDogIip80J3QviIKKysi Y2EiOgorKyAgbmFtZTogQ2F0YWxhbgorKyAgbmF0aXZlOiBjYXRhbMOgCisrICBiYWNrZ3JvdW5k OiBSZXJlZm9uc3xBbnRlY2VkZW50cworKyAgZmVhdHVyZTogQ2FyYWN0ZXLDrXN0aWNhfEZ1bmNp b25hbGl0YXQKKysgIHNjZW5hcmlvOiBFc2NlbmFyaQorKyAgc2NlbmFyaW9fb3V0bGluZTogRXNx dWVtYSBkZSBsJ2VzY2VuYXJpCisrICBleGFtcGxlczogRXhlbXBsZXMKKysgIGdpdmVuOiAiKnxE b25hdHxEb25hZGF8QXTDqHN8QXRlc2EiCisrICB3aGVuOiAiKnxRdWFuIgorKyAgdGhlbjogIip8 QWxlc2hvcmVzfENhbCIKKysgIGFuZDogIip8SSIKKysgIGJ1dDogIip8UGVyw7IiCisrImN5LUdC IjoKKysgIG5hbWU6IFdlbHNoCisrICBuYXRpdmU6IEN5bXJhZWcKKysgIGJhY2tncm91bmQ6IENl Zm5kaXIKKysgIGZlYXR1cmU6IEFyd2VkZAorKyAgc2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2Vu YXJpb19vdXRsaW5lOiBTY2VuYXJpbyBBbWxpbmVsbG9sCisrICBleGFtcGxlczogRW5naHJlaWZm dGlhdQorKyAgZ2l2ZW46ICIqfEFucmhlZ2VkaWcgYSIKKysgIHdoZW46ICIqfFByeWQiCisrICB0 aGVuOiAiKnxZbmEiCisrICBhbmQ6ICIqfEEiCisrICBidXQ6ICIqfE9uZCIKKysiY3MiOgorKyAg bmFtZTogQ3plY2gKKysgIG5hdGl2ZTogxIxlc2t5CisrICBmZWF0dXJlOiBQb8W+YWRhdmVrCisr ICBiYWNrZ3JvdW5kOiBQb3phZMOtfEtvbnRleHQKKysgIHNjZW5hcmlvOiBTY8OpbsOhxZkKKysg IHNjZW5hcmlvX291dGxpbmU6IE7DocSNcnQgU2PDqW7DocWZZXxPc25vdmEgc2PDqW7DocWZZQor KyAgZXhhbXBsZXM6IFDFmcOta2xhZHkKKysgIGdpdmVuOiAiKnxQb2t1ZHxaYSBwxZllZHBva2xh ZHUiCisrICB3aGVuOiAiKnxLZHnFviIKKysgIHRoZW46ICIqfFBhayIKKysgIGFuZDogIip8QXxB IHRha8OpIgorKyAgYnV0OiAiKnxBbGUiCisrImRhIjoKKysgIG5hbWU6IERhbmlzaAorKyAgbmF0 aXZlOiBkYW5zaworKyAgZmVhdHVyZTogRWdlbnNrYWIKKysgIGJhY2tncm91bmQ6IEJhZ2dydW5k CisrICBzY2VuYXJpbzogU2NlbmFyaWUKKysgIHNjZW5hcmlvX291dGxpbmU6IEFic3RyYWt0IFNj ZW5hcmlvCisrICBleGFtcGxlczogRWtzZW1wbGVyCisrICBnaXZlbjogIip8R2l2ZXQiCisrICB3 aGVuOiAiKnxOw6VyIgorKyAgdGhlbjogIip8U8OlIgorKyAgYW5kOiAiKnxPZyIKKysgIGJ1dDog Iip8TWVuIgorKyJkZSI6CisrICBuYW1lOiBHZXJtYW4KKysgIG5hdGl2ZTogRGV1dHNjaAorKyAg ZmVhdHVyZTogRnVua3Rpb25hbGl0w6R0CisrICBiYWNrZ3JvdW5kOiBHcnVuZGxhZ2UKKysgIHNj ZW5hcmlvOiBTemVuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTogU3plbmFyaW9ncnVuZHJpc3MK KysgIGV4YW1wbGVzOiBCZWlzcGllbGUKKysgIGdpdmVuOiAiKnxBbmdlbm9tbWVufEdlZ2ViZW4g c2VpIgorKyAgd2hlbjogIip8V2VubiIKKysgIHRoZW46ICIqfERhbm4iCisrICBhbmQ6ICIqfFVu ZCIKKysgIGJ1dDogIip8QWJlciIKKysiZW4tYXUiOgorKyAgbmFtZTogQXVzdHJhbGlhbgorKyAg bmF0aXZlOiBBdXN0cmFsaWFuCisrICBmZWF0dXJlOiBDcmlrZXkKKysgIGJhY2tncm91bmQ6IEJh Y2tncm91bmQKKysgIHNjZW5hcmlvOiBNYXRlCisrICBzY2VuYXJpb19vdXRsaW5lOiBCbG9rZXMK KysgIGV4YW1wbGVzOiBDb2JiZXIKKysgIGdpdmVuOiAiKnxZYSBrbm93IGhvdyIKKysgIHdoZW46 ICIqfFdoZW4iCisrICB0aGVuOiAiKnxZYSBnb3R0YSIKKysgIGFuZDogIip8TiIKKysgIGJ1dDog Iip8Q2VwdCIKKysiZW4tbG9sIjoKKysgIG5hbWU6IExPTENBVAorKyAgbmF0aXZlOiBMT0xDQVQK KysgIGZlYXR1cmU6IE9IIEhBSQorKyAgYmFja2dyb3VuZDogQjQKKysgIHNjZW5hcmlvOiBNSVNI VU4KKysgIHNjZW5hcmlvX291dGxpbmU6IE1JU0hVTiBTUlNMWQorKyAgZXhhbXBsZXM6IEVYQU1Q TFoKKysgIGdpdmVuOiAiKnxJIENBTiBIQVoiCisrICB3aGVuOiAiKnxXRU4iCisrICB0aGVuOiAi KnxERU4iCisrICBhbmQ6ICIqfEFOIgorKyAgYnV0OiAiKnxCVVQiCisrImVuLXBpcmF0ZSI6Cisr ICBuYW1lOiBQaXJhdGUKKysgIG5hdGl2ZTogUGlyYXRlCisrICBmZWF0dXJlOiBBaG95IG1hdGV5 IQorKyAgYmFja2dyb3VuZDogWW8taG8taG8KKysgIHNjZW5hcmlvOiBIZWF2ZSB0bworKyAgc2Nl bmFyaW9fb3V0bGluZTogU2hpdmVyIG1lIHRpbWJlcnMKKysgIGV4YW1wbGVzOiBEZWFkIG1lbiB0 ZWxsIG5vIHRhbGVzCisrICBnaXZlbjogIip8R2FuZ3dheSEiCisrICB3aGVuOiAiKnxCbGltZXkh IgorKyAgdGhlbjogIip8TGV0IGdvIGFuZCBoYXVsIgorKyAgYW5kOiAiKnxBeWUiCisrICBidXQ6 ICIqfEF2YXN0ISIKKysiZW4tU2NvdXNlIjoKKysgIG5hbWU6IFNjb3VzZQorKyAgbmF0aXZlOiBT Y291c2UKKysgIGZlYXR1cmU6IEZlYXR1cmUKKysgIGJhY2tncm91bmQ6ICJEaXMgaXMgd2hhdCB3 ZW50IGRvd24iCisrICBzY2VuYXJpbzogIlRoZSB0aGluZyBvZiBpdCBpcyIKKysgIHNjZW5hcmlv X291dGxpbmU6ICJXaGFycmltZWFuIGlzIgorKyAgZXhhbXBsZXM6IEV4YW1wbGVzCisrICBnaXZl bjogIip8R2l2dW58WW91c2Uga25vdyB3aGVuIHlvdXNlIGdvdCIKKysgIHdoZW46ICIqfFd1bnxZ b3VzZSBrbm93IGxpa2Ugd2hlbiIKKysgIHRoZW46ICIqfER1bnxEZW4geW91c2UgZ290dGEiCisr ICBhbmQ6ICIqfEFuIgorKyAgYnV0OiAiKnxCdWgiCisrImVuLXR4IjoKKysgIG5hbWU6IFRleGFu CisrICBuYXRpdmU6IFRleGFuCisrICBmZWF0dXJlOiBGZWF0dXJlCisrICBiYWNrZ3JvdW5kOiBC YWNrZ3JvdW5kCisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IEFs bCB5J2FsbAorKyAgZXhhbXBsZXM6IEV4YW1wbGVzCisrICBnaXZlbjogIip8R2l2ZW4geSdhbGwi CisrICB3aGVuOiAiKnxXaGVuIHknYWxsIgorKyAgdGhlbjogIip8VGhlbiB5J2FsbCIKKysgIGFu ZDogIip8QW5kIHknYWxsIgorKyAgYnV0OiAiKnxCdXQgeSdhbGwiCisrImVvIjoKKysgIG5hbWU6 IEVzcGVyYW50bworKyAgbmF0aXZlOiBFc3BlcmFudG8KKysgIGZlYXR1cmU6IFRyYWp0bworKyAg YmFja2dyb3VuZDogRm9ubworKyAgc2NlbmFyaW86IFNjZW5hcm8KKysgIHNjZW5hcmlvX291dGxp bmU6IEtvbnR1cm8gZGUgbGEgc2NlbmFybworKyAgZXhhbXBsZXM6IEVremVtcGxvagorKyAgZ2l2 ZW46ICIqfERvbml0YcS1byIKKysgIHdoZW46ICIqfFNlIgorKyAgdGhlbjogIip8RG8iCisrICBh bmQ6ICIqfEthaiIKKysgIGJ1dDogIip8U2VkIgorKyJlcyI6CisrICBuYW1lOiBTcGFuaXNoCisr ICBuYXRpdmU6IGVzcGHDsW9sCisrICBiYWNrZ3JvdW5kOiBBbnRlY2VkZW50ZXMKKysgIGZlYXR1 cmU6IENhcmFjdGVyw61zdGljYQorKyAgc2NlbmFyaW86IEVzY2VuYXJpbworKyAgc2NlbmFyaW9f b3V0bGluZTogRXNxdWVtYSBkZWwgZXNjZW5hcmlvCisrICBleGFtcGxlczogRWplbXBsb3MKKysg IGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8RGFkYXMiCisrICB3aGVuOiAiKnxDdWFuZG8iCisr ICB0aGVuOiAiKnxFbnRvbmNlcyIKKysgIGFuZDogIip8WSIKKysgIGJ1dDogIip8UGVybyIKKysi ZXQiOgorKyAgbmFtZTogRXN0b25pYW4KKysgIG5hdGl2ZTogZWVzdGkga2VlbAorKyAgZmVhdHVy ZTogT21hZHVzCisrICBiYWNrZ3JvdW5kOiBUYXVzdAorKyAgc2NlbmFyaW86IFN0c2VuYWFyaXVt CisrICBzY2VuYXJpb19vdXRsaW5lOiBSYWFtc3RzZW5hYXJpdW0KKysgIGV4YW1wbGVzOiBKdWh0 dW1pZAorKyAgZ2l2ZW46ICIqfEVlbGRhZGVzIgorKyAgd2hlbjogIip8S3VpIgorKyAgdGhlbjog Iip8U2lpcyIKKysgIGFuZDogIip8SmEiCisrICBidXQ6ICIqfEt1aWQiCisrImZpIjoKKysgIG5h bWU6IEZpbm5pc2gKKysgIG5hdGl2ZTogc3VvbWkKKysgIGZlYXR1cmU6IE9taW5haXN1dXMKKysg IGJhY2tncm91bmQ6IFRhdXN0YQorKyAgc2NlbmFyaW86IFRhcGF1cworKyAgc2NlbmFyaW9fb3V0 bGluZTogVGFwYXVzYWloaW8KKysgIGV4YW1wbGVzOiBUYXBhdWtzZXQKKysgIGdpdmVuOiAiKnxP bGV0ZXRhYW4iCisrICB3aGVuOiAiKnxLdW4iCisrICB0aGVuOiAiKnxOaWluIgorKyAgYW5kOiAi KnxKYSIKKysgIGJ1dDogIip8TXV0dGEiCisrImZyIjoKKysgIG5hbWU6IEZyZW5jaAorKyAgbmF0 aXZlOiBmcmFuw6dhaXMKKysgIGZlYXR1cmU6IEZvbmN0aW9ubmFsaXTDqQorKyAgYmFja2dyb3Vu ZDogQ29udGV4dGUKKysgIHNjZW5hcmlvOiBTY8OpbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6 IFBsYW4gZHUgc2PDqW5hcmlvfFBsYW4gZHUgU2PDqW5hcmlvCisrICBleGFtcGxlczogRXhlbXBs ZXMKKysgIGdpdmVuOiAiKnxTb2l0fEV0YW50IGRvbm7DqXxFdGFudCBkb25uw6llfEV0YW50IGRv bm7DqXN8RXRhbnQgZG9ubsOpZXN8w4l0YW50IGRvbm7DqXzDiXRhbnQgZG9ubsOpZXzDiXRhbnQg ZG9ubsOpc3zDiXRhbnQgZG9ubsOpZXMiCisrICB3aGVuOiAiKnxRdWFuZHxMb3JzcXVlfExvcnNx dSc8IgorKyAgdGhlbjogIip8QWxvcnMiCisrICBhbmQ6ICIqfEV0IgorKyAgYnV0OiAiKnxNYWlz IgorKyJnbCI6CisrICBuYW1lOiBHYWxpY2lhbgorKyAgbmF0aXZlOiBnYWxlZ28KKysgIGZlYXR1 cmU6IENhcmFjdGVyw61zdGljYQorKyAgYmFja2dyb3VuZDogQ29udGV4dG8KKysgIHNjZW5hcmlv OiBFc2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6ICJFc2Jvem8gZG8gZXNjZW5hcmlvIgor KyAgZXhhbXBsZXM6IEV4ZW1wbG9zCisrICBnaXZlbjogIip8RGFkb3xEYWRhfERhZG9zfERhZGFz IgorKyAgd2hlbjogIip8Q2FuZG8iCisrICB0aGVuOiAiKnxFbnTDs258TG9nbyIKKysgIGFuZDog Iip8RSIKKysgIGJ1dDogIip8TWFpc3xQZXJvIgorKworKyJoZSI6CisrICBuYW1lOiBIZWJyZXcK KysgIG5hdGl2ZTog16LXkdeo15nXqgorKyAgZmVhdHVyZTog16rXm9eV16DXlAorKyAgYmFja2dy b3VuZDog16jXp9eiCisrICBzY2VuYXJpbzog16rXqNeX15nXqQorKyAgc2NlbmFyaW9fb3V0bGlu ZTog16rXkdeg15nXqiDXqteo15fXmdepCisrICBleGFtcGxlczog15PXldeS157XkNeV16oKKysg IGdpdmVuOiAiKnzXkdeU15nXoNeq158iCisrICB3aGVuOiAiKnzXm9eQ16nXqCIKKysgIHRoZW46 ICIqfNeQ15Z815DXlteZIgorKyAgYW5kOiAiKnzXldeS150iCisrICBidXQ6ICIqfNeQ15HXnCIK KysiaHIiOgorKyAgbmFtZTogQ3JvYXRpYW4KKysgIG5hdGl2ZTogaHJ2YXRza2kKKysgIGZlYXR1 cmU6IE9zb2JpbmF8TW9ndcSHbm9zdHxNb2d1Y25vc3QKKysgIGJhY2tncm91bmQ6IFBvemFkaW5h CisrICBzY2VuYXJpbzogU2NlbmFyaWoKKysgIHNjZW5hcmlvX291dGxpbmU6IFNraWNhfEtvbmNl cHQKKysgIGV4YW1wbGVzOiBQcmltamVyaXxTY2VuYXJpamkKKysgIGdpdmVuOiAiKnxaYWRhbnxa YWRhbml8WmFkYW5vIgorKyAgd2hlbjogIip8S2FkYXxLYWQiCisrICB0aGVuOiAiKnxPbmRhIgor KyAgYW5kOiAiKnxJIgorKyAgYnV0OiAiKnxBbGkiCisrImh1IjoKKysgIG5hbWU6IEh1bmdhcmlh bgorKyAgbmF0aXZlOiBtYWd5YXIKKysgIGZlYXR1cmU6IEplbGxlbXrFkQorKyAgYmFja2dyb3Vu ZDogSMOhdHTDqXIKKysgIHNjZW5hcmlvOiBGb3JnYXTDs2vDtm55dgorKyAgc2NlbmFyaW9fb3V0 bGluZTogRm9yZ2F0w7Nrw7ZueXYgdsOhemxhdAorKyAgZXhhbXBsZXM6IFDDqWxkw6FrCisrICBn aXZlbjogIip8QW1lbm55aWJlbnxBZG90dCIKKysgIHdoZW46ICIqfE1hamR8SGF8QW1pa29yIgor KyAgdGhlbjogIip8QWtrb3IiCisrICBhbmQ6ICIqfMOJcyIKKysgIGJ1dDogIip8RGUiCisrImlk IjoKKysgIG5hbWU6IEluZG9uZXNpYW4KKysgIG5hdGl2ZTogQmFoYXNhIEluZG9uZXNpYQorKyAg ZmVhdHVyZTogRml0dXIKKysgIGJhY2tncm91bmQ6IERhc2FyCisrICBzY2VuYXJpbzogU2tlbmFy aW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNrZW5hcmlvIGtvbnNlcAorKyAgZXhhbXBsZXM6IENv bnRvaAorKyAgZ2l2ZW46ICIqfERlbmdhbiIKKysgIHdoZW46ICIqfEtldGlrYSIKKysgIHRoZW46 ICIqfE1ha2EiCisrICBhbmQ6ICIqfERhbiIKKysgIGJ1dDogIip8VGFwaSIKKysiaXMiOgorKyAg bmFtZTogSWNlbGFuZGljCisrICBuYXRpdmU6IMONc2xlbnNrYQorKyAgZmVhdHVyZTogRWlnaW5s ZWlraQorKyAgYmFja2dyb3VuZDogQmFrZ3J1bm51cgorKyAgc2NlbmFyaW86IEF0YnVyw7BhcsOh cworKyAgc2NlbmFyaW9fb3V0bGluZTogTMO9c2luZyBBdGJ1csOwYXLDoXNhcnxMw71zaW5nIETD pm1hCisrICBleGFtcGxlczogRMOmbWl8QXRidXLDsGFyw6FzaXIKKysgIGdpdmVuOiAiKnxFZiIK KysgIHdoZW46ICIqfMOeZWdhciIKKysgIHRoZW46ICIqfMOew6EiCisrICBhbmQ6ICIqfE9nIgor KyAgYnV0OiAiKnxFbiIKKysiaXQiOgorKyAgbmFtZTogSXRhbGlhbgorKyAgbmF0aXZlOiBpdGFs aWFubworKyAgZmVhdHVyZTogRnVuemlvbmFsaXTDoAorKyAgYmFja2dyb3VuZDogQ29udGVzdG8K KysgIHNjZW5hcmlvOiBTY2VuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTogU2NoZW1hIGRlbGxv IHNjZW5hcmlvCisrICBleGFtcGxlczogRXNlbXBpCisrICBnaXZlbjogIip8RGF0b3xEYXRhfERh dGl8RGF0ZSIKKysgIHdoZW46ICIqfFF1YW5kbyIKKysgIHRoZW46ICIqfEFsbG9yYSIKKysgIGFu ZDogIip8RSIKKysgIGJ1dDogIip8TWEiCisrImphIjoKKysgIG5hbWU6IEphcGFuZXNlCisrICBu YXRpdmU6IOaXpeacrOiqngorKyAgZmVhdHVyZTog44OV44Kj44O844OB44OjfOapn+iDvQorKyAg YmFja2dyb3VuZDog6IOM5pmvCisrICBzY2VuYXJpbzog44K344OK44Oq44KqCisrICBzY2VuYXJp b19vdXRsaW5lOiDjgrfjg4rjg6rjgqrjgqLjgqbjg4jjg6njgqTjg7N844K344OK44Oq44Kq44OG 44Oz44OX44Os44O844OIfOODhuODs+ODl+ODrHzjgrfjg4rjg6rjgqrjg4bjg7Pjg5fjg6wKKysg IGV4YW1wbGVzOiDkvot844K144Oz44OX44OrCisrICBnaXZlbjogIip85YmN5o+QPCIKKysgIHdo ZW46ICIqfOOCguOBlzwiCisrICB0aGVuOiAiKnzjgarjgonjgbA8IgorKyAgYW5kOiAiKnzjgYvj gaQ8IgorKyAgYnV0OiAiKnzjgZfjgYvjgZc8fOS9huOBlzx844Gf44Gg44GXPCIKKysia28iOgor KyAgbmFtZTogS29yZWFuCisrICBuYXRpdmU6IO2VnOq1reyWtAorKyAgYmFja2dyb3VuZDog67Cw 6rK9CisrICBmZWF0dXJlOiDquLDriqUKKysgIHNjZW5hcmlvOiDsi5zrgpjrpqzsmKQKKysgIHNj ZW5hcmlvX291dGxpbmU6IOyLnOuCmOumrOyYpCDqsJzsmpQKKysgIGV4YW1wbGVzOiDsmIgKKysg IGdpdmVuOiAiKnzsobDqsbQ8fOuovOyggDwiCisrICB3aGVuOiAiKnzrp4zsnbw8fOunjOyVvTwi CisrICB0aGVuOiAiKnzqt7jrn6zrqbQ8IgorKyAgYW5kOiAiKnzqt7jrpqzqs6A8IgorKyAgYnV0 OiAiKnztlZjsp4Drp4w8fOuLqDwiCisrImx0IjoKKysgIG5hbWU6IExpdGh1YW5pYW4KKysgIG5h dGl2ZTogbGlldHV2acWzIGthbGJhCisrICBmZWF0dXJlOiBTYXZ5YsSXCisrICBiYWNrZ3JvdW5k OiBLb250ZWtzdGFzCisrICBzY2VuYXJpbzogU2NlbmFyaWp1cworKyAgc2NlbmFyaW9fb3V0bGlu ZTogU2NlbmFyaWphdXMgxaFhYmxvbmFzCisrICBleGFtcGxlczogUGF2eXpkxb5pYWl8U2NlbmFy aWphaXxWYXJpYW50YWkKKysgIGdpdmVuOiAiKnxEdW90YSIKKysgIHdoZW46ICIqfEthaSIKKysg IHRoZW46ICIqfFRhZGEiCisrICBhbmQ6ICIqfElyIgorKyAgYnV0OiAiKnxCZXQiCisrImx1IjoK KysgIG5hbWU6IEx1eGVtYnVyZ2lzaAorKyAgbmF0aXZlOiBMw6t0emVidWVyZ2VzY2gKKysgIGZl YXR1cmU6IEZ1bmt0aW9uYWxpdMOpaXQKKysgIGJhY2tncm91bmQ6IEhhbm5lcmdyb25kCisrICBz Y2VuYXJpbzogU3plbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFBsYW5nIHZ1bSBTemVuYXJp bworKyAgZXhhbXBsZXM6IEJlaXNwaWxsZXIKKysgIGdpdmVuOiAiKnx1Z2Vob2xsIgorKyAgd2hl bjogIip8d2FubiIKKysgIHRoZW46ICIqfGRhbm4iCisrICBhbmQ6ICIqfGFufGEiCisrICBidXQ6 ICIqfGF3ZXJ8bcOkIgorKyJsdiI6CisrICBuYW1lOiBMYXR2aWFuCisrICBuYXRpdmU6IGxhdHZp ZcWhdQorKyAgZmVhdHVyZTogRnVua2Npb25hbGl0xIF0ZXxGxKvEjWEKKysgIGJhY2tncm91bmQ6 IEtvbnRla3N0c3xTaXR1xIFjaWphCisrICBzY2VuYXJpbzogU2NlbsSBcmlqcworKyAgc2NlbmFy aW9fb3V0bGluZTogU2NlbsSBcmlqcyBwxJNjIHBhcmF1Z2EKKysgIGV4YW1wbGVzOiBQaWVtxJNy aXxQYXJhdWdzCisrICBnaXZlbjogIip8S2FkIgorKyAgd2hlbjogIip8SmEiCisrICB0aGVuOiAi KnxUYWQiCisrICBhbmQ6ICIqfFVuIgorKyAgYnV0OiAiKnxCZXQiCisrIm5sIjoKKysgIG5hbWU6 IER1dGNoCisrICBuYXRpdmU6IE5lZGVybGFuZHMKKysgIGZlYXR1cmU6IEZ1bmN0aW9uYWxpdGVp dAorKyAgYmFja2dyb3VuZDogQWNodGVyZ3JvbmQKKysgIHNjZW5hcmlvOiBTY2VuYXJpbworKyAg c2NlbmFyaW9fb3V0bGluZTogQWJzdHJhY3QgU2NlbmFyaW8KKysgIGV4YW1wbGVzOiBWb29yYmVl bGRlbgorKyAgZ2l2ZW46ICIqfEdlZ2V2ZW58U3RlbCIKKysgIHdoZW46ICIqfEFscyIKKysgIHRo ZW46ICIqfERhbiIKKysgIGFuZDogIip8RW4iCisrICBidXQ6ICIqfE1hYXIiCisrIm5vIjoKKysg IG5hbWU6IE5vcndlZ2lhbgorKyAgbmF0aXZlOiBub3JzaworKyAgZmVhdHVyZTogRWdlbnNrYXAK KysgIGJhY2tncm91bmQ6IEJha2dydW5uCisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5h cmlvX291dGxpbmU6IFNjZW5hcmlvbWFsfEFic3RyYWt0IFNjZW5hcmlvCisrICBleGFtcGxlczog RWtzZW1wbGVyCisrICBnaXZlbjogIip8R2l0dCIKKysgIHdoZW46ICIqfE7DpXIiCisrICB0aGVu OiAiKnxTw6UiCisrICBhbmQ6ICIqfE9nIgorKyAgYnV0OiAiKnxNZW4iCisrInBsIjoKKysgIG5h bWU6IFBvbGlzaAorKyAgbmF0aXZlOiBwb2xza2kKKysgIGZlYXR1cmU6IFfFgmHFm2Npd2/Fm8SH CisrICBiYWNrZ3JvdW5kOiBaYcWCb8W8ZW5pYQorKyAgc2NlbmFyaW86IFNjZW5hcml1c3oKKysg IHNjZW5hcmlvX291dGxpbmU6IFN6YWJsb24gc2NlbmFyaXVzemEKKysgIGV4YW1wbGVzOiBQcnp5 a8WCYWR5CisrICBnaXZlbjogIip8WmFrxYJhZGFqxIVjfE1hasSFYyIKKysgIHdoZW46ICIqfEpl xbxlbGl8SmXFm2xpIgorKyAgdGhlbjogIip8V3RlZHkiCisrICBhbmQ6ICIqfE9yYXp8SSIKKysg IGJ1dDogIip8QWxlIgorKyJwdCI6CisrICBuYW1lOiBQb3J0dWd1ZXNlCisrICBuYXRpdmU6IHBv cnR1Z3XDqnMKKysgIGJhY2tncm91bmQ6IENvbnRleHRvCisrICBmZWF0dXJlOiBGdW5jaW9uYWxp ZGFkZQorKyAgc2NlbmFyaW86IENlbsOhcmlvfENlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6 IEVzcXVlbWEgZG8gQ2Vuw6FyaW98RXNxdWVtYSBkbyBDZW5hcmlvCisrICBleGFtcGxlczogRXhl bXBsb3MKKysgIGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8RGFkYXMiCisrICB3aGVuOiAiKnxR dWFuZG8iCisrICB0aGVuOiAiKnxFbnTDo298RW50YW8iCisrICBhbmQ6ICIqfEUiCisrICBidXQ6 ICIqfE1hcyIKKysicm8iOgorKyAgbmFtZTogUm9tYW5pYW4KKysgIG5hdGl2ZTogcm9tw6JuxIMK KysgIGJhY2tncm91bmQ6IENvbnRleHQKKysgIGZlYXR1cmU6IEZ1bmN0aW9uYWxpdGF0ZXxGdW5j yJtpb25hbGl0YXRlfEZ1bmPFo2lvbmFsaXRhdGUKKysgIHNjZW5hcmlvOiBTY2VuYXJpdQorKyAg c2NlbmFyaW9fb3V0bGluZTogU3RydWN0dXJhIHNjZW5hcml1fFN0cnVjdHVyxIMgc2NlbmFyaXUK KysgIGV4YW1wbGVzOiBFeGVtcGxlCisrICBnaXZlbjogIip8RGF0ZSBmaWluZHxEYXQgZmlpbmR8 RGF0aSBmaWluZHxEYcibaSBmaWluZHxEYcWjaSBmaWluZCIKKysgIHdoZW46ICIqfENhbmR8Q8Oi bmQiCisrICB0aGVuOiAiKnxBdHVuY2kiCisrICBhbmQ6ICIqfFNpfMiYaXzFnmkiCisrICBidXQ6 ICIqfERhciIKKysicnUiOgorKyAgbmFtZTogUnVzc2lhbgorKyAgbmF0aXZlOiDRgNGD0YHRgdC6 0LjQuQorKyAgZmVhdHVyZTog0KTRg9C90LrRhtC40Y980KTRg9C90LrRhtC40L7QvdCw0Lt80KHQ stC+0LnRgdGC0LLQvgorKyAgYmFja2dyb3VuZDog0J/RgNC10LTRi9GB0YLQvtGA0LjRj3zQmtC+ 0L3RgtC10LrRgdGCCisrICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQorKyAgc2NlbmFyaW9f b3V0bGluZTog0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC40Y8KKysgIGV4YW1wbGVz OiDQn9GA0LjQvNC10YDRiworKyAgZ2l2ZW46ICIqfNCU0L7Qv9GD0YHRgtC40Lx80JTQsNC90L58 0J/Rg9GB0YLRjCIKKysgIHdoZW46ICIqfNCV0YHQu9C4fNCa0L7Qs9C00LAiCisrICB0aGVuOiAi KnzQotC+fNCi0L7Qs9C00LAiCisrICBhbmQ6ICIqfNCYfNCaINGC0L7QvNGDINC20LUiCisrICBi dXQ6ICIqfNCd0L580JAiCisrInN2IjoKKysgIG5hbWU6IFN3ZWRpc2gKKysgIG5hdGl2ZTogU3Zl bnNrYQorKyAgZmVhdHVyZTogRWdlbnNrYXAKKysgIGJhY2tncm91bmQ6IEJha2dydW5kCisrICBz Y2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IEFic3RyYWt0IFNjZW5hcmlv fFNjZW5hcmlvbWFsbAorKyAgZXhhbXBsZXM6IEV4ZW1wZWwKKysgIGdpdmVuOiAiKnxHaXZldCIK KysgIHdoZW46ICIqfE7DpHIiCisrICB0aGVuOiAiKnxTw6UiCisrICBhbmQ6ICIqfE9jaCIKKysg IGJ1dDogIip8TWVuIgorKyJzayI6CisrICBuYW1lOiBTbG92YWsKKysgIG5hdGl2ZTogU2xvdmVu c2t5CisrICBmZWF0dXJlOiBQb8W+aWFkYXZrYQorKyAgYmFja2dyb3VuZDogUG96YWRpZQorKyAg c2NlbmFyaW86IFNjZW7DoXIKKysgIHNjZW5hcmlvX291dGxpbmU6IE7DocSNcnQgU2NlbsOhcnUK KysgIGV4YW1wbGVzOiBQcsOta2xhZHkKKysgIGdpdmVuOiAiKnxQb2tpYcS+IgorKyAgd2hlbjog Iip8S2XEjyIKKysgIHRoZW46ICIqfFRhayIKKysgIGFuZDogIip8QSIKKysgIGJ1dDogIip8QWxl IgorKyJzci1MYXRuIjoKKysgIG5hbWU6IFNlcmJpYW4gKExhdGluKQorKyAgbmF0aXZlOiBTcnBz a2kgKExhdGluaWNhKQorKyAgZmVhdHVyZTogRnVua2Npb25hbG5vc3R8TW9ndcSHbm9zdHxNb2d1 Y25vc3R8T3NvYmluYQorKyAgYmFja2dyb3VuZDogS29udGVrc3R8T3Nub3ZhfFBvemFkaW5hCisr ICBzY2VuYXJpbzogU2NlbmFyaW98UHJpbWVyCisrICBzY2VuYXJpb19vdXRsaW5lOiBTdHJ1a3R1 cmEgc2NlbmFyaWphfFNraWNhfEtvbmNlcHQKKysgIGV4YW1wbGVzOiBQcmltZXJpfFNjZW5hcmlq aQorKyAgZ2l2ZW46ICIqfFphZGF0b3xaYWRhdGV8WmF0YXRpIgorKyAgd2hlbjogIip8S2FkYXxL YWQiCisrICB0aGVuOiAiKnxPbmRhIgorKyAgYW5kOiAiKnxJIgorKyAgYnV0OiAiKnxBbGkiCisr InNyLUN5cmwiOgorKyAgbmFtZTogU2VyYmlhbgorKyAgbmF0aXZlOiDQodGA0L/RgdC60LgKKysg IGZlYXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB0YJ80JzQvtCz0YPRm9C90L7RgdGC fNCe0YHQvtCx0LjQvdCwCisrICBiYWNrZ3JvdW5kOiDQmtC+0L3RgtC10LrRgdGCfNCe0YHQvdC+ 0LLQsHzQn9C+0LfQsNC00LjQvdCwCisrICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQvnzQn9GA 0LjQvNC10YAKKysgIHNjZW5hcmlvX291dGxpbmU6INCh0YLRgNGD0LrRgtGD0YDQsCDRgdGG0LXQ vdCw0YDQuNGY0LB80KHQutC40YbQsHzQmtC+0L3RhtC10L/RggorKyAgZXhhbXBsZXM6INCf0YDQ uNC80LXRgNC4fNCh0YbQtdC90LDRgNC40ZjQuAorKyAgZ2l2ZW46ICIqfNCX0LDQtNCw0YLQvnzQ l9Cw0LTQsNGC0LV80JfQsNC00LDRgtC4IgorKyAgd2hlbjogIip80JrQsNC00LB80JrQsNC0Igor KyAgdGhlbjogIip80J7QvdC00LAiCisrICBhbmQ6ICIqfNCYIgorKyAgYnV0OiAiKnzQkNC70Lgi CisrInRyIjoKKysgIG5hbWU6IFR1cmtpc2gKKysgIG5hdGl2ZTogVMO8cmvDp2UKKysgIGZlYXR1 cmU6IMOWemVsbGlrCisrICBiYWNrZ3JvdW5kOiBHZcOnbWnFnworKyAgc2NlbmFyaW86IFNlbmFy eW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNlbmFyeW8gdGFzbGHEn8SxCisrICBleGFtcGxlczog w5ZybmVrbGVyCisrICBnaXZlbjogIip8RGl5ZWxpbSBraSIKKysgIHdoZW46ICIqfEXEn2VyIGtp IgorKyAgdGhlbjogIip8TyB6YW1hbiIKKysgIGFuZDogIip8VmUiCisrICBidXQ6ICIqfEZha2F0 fEFtYSIKKysidWsiOgorKyAgbmFtZTogVWtyYWluaWFuCisrICBuYXRpdmU6INCj0LrRgNCw0ZfQ vdGB0YzQutCwCisrICBmZWF0dXJlOiDQpNGD0L3QutGG0ZbQvtC90LDQuworKyAgYmFja2dyb3Vu ZDog0J/QtdGA0LXQtNGD0LzQvtCy0LAKKysgIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDRltC5Cisr ICBzY2VuYXJpb19vdXRsaW5lOiDQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0ZbRjgor KyAgZXhhbXBsZXM6INCf0YDQuNC60LvQsNC00LgKKysgIGdpdmVuOiAiKnzQn9GA0LjQv9GD0YHR gtC40LzQvnzQn9GA0LjQv9GD0YHRgtC40LzQviwg0YnQvnzQndC10YXQsNC5fNCU0LDQvdC+Igor KyAgd2hlbjogIip80K/QutGJ0L580JrQvtC70LgiCisrICB0aGVuOiAiKnzQotC+fNCi0L7QtNGW IgorKyAgYW5kOiAiKnzQhnzQkCDRgtCw0LrQvtC2fNCi0LAiCisrICBidXQ6ICIqfNCQ0LvQtSIK KysidXoiOgorKyAgbmFtZTogVXpiZWsKKysgIG5hdGl2ZTog0KPQt9Cx0LXQutGH0LAKKysgIGZl YXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC7CisrICBiYWNrZ3JvdW5kOiDQotCw0YDQuNGFCisr ICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQorKyAgc2NlbmFyaW9fb3V0bGluZTog0KHRhtC1 0L3QsNGA0LjQuSDRgdGC0YDRg9C60YLRg9GA0LDRgdC4CisrICBleGFtcGxlczog0JzQuNGB0L7Q u9C70LDRgAorKyAgZ2l2ZW46ICIqfNCQ0LPQsNGAIgorKyAgd2hlbjogIip80JDQs9Cw0YAiCisr ICB0aGVuOiAiKnzQo9C90LTQsCIKKysgIGFuZDogIip80JLQsCIKKysgIGJ1dDogIip80JvQtdC6 0LjQvXzQkdC40YDQvtC6fNCQ0LzQvNC+IgorKyJ2aSI6CisrICBuYW1lOiBWaWV0bmFtZXNlCisr ICBuYXRpdmU6IFRp4bq/bmcgVmnhu4d0CisrICBmZWF0dXJlOiBUw61uaCBuxINuZworKyAgYmFj a2dyb3VuZDogQuG7kWkgY+G6o25oCisrICBzY2VuYXJpbzogVMOsbmggaHXhu5FuZ3xL4buLY2gg YuG6o24KKysgIHNjZW5hcmlvX291dGxpbmU6IEtodW5nIHTDrG5oIGh14buRbmd8S2h1bmcga+G7 i2NoIGLhuqNuCisrICBleGFtcGxlczogROG7ryBsaeG7h3UKKysgIGdpdmVuOiAiKnxCaeG6v3R8 Q2hvIgorKyAgd2hlbjogIip8S2hpIgorKyAgdGhlbjogIip8VGjDrCIKKysgIGFuZDogIip8VsOg IgorKyAgYnV0OiAiKnxOaMawbmciCisrInpoLUNOIjoKKysgIG5hbWU6IENoaW5lc2Ugc2ltcGxp ZmllZAorKyAgbmF0aXZlOiDnroDkvZPkuK3mlocKKysgIGZlYXR1cmU6IOWKn+iDvQorKyAgYmFj a2dyb3VuZDog6IOM5pmvCisrICBzY2VuYXJpbzog5Zy65pmvCisrICBzY2VuYXJpb19vdXRsaW5l OiDlnLrmma/lpKfnurIKKysgIGV4YW1wbGVzOiDkvovlrZAKKysgIGdpdmVuOiAiKnzlgYflpoI8 IgorKyAgd2hlbjogIip85b2TPCIKKysgIHRoZW46ICIqfOmCo+S5iDwiCisrICBhbmQ6ICIqfOiA jOS4lDwiCisrICBidXQ6ICIqfOS9huaYrzwiCisrInpoLVRXIjoKKysgIG5hbWU6IENoaW5lc2Ug dHJhZGl0aW9uYWwKKysgIG5hdGl2ZTog57mB6auU5Lit5paHCisrICBmZWF0dXJlOiDlip/og70K KysgIGJhY2tncm91bmQ6IOiDjOaZrworKyAgc2NlbmFyaW86IOWgtOaZr3zliofmnKwKKysgIHNj ZW5hcmlvX291dGxpbmU6IOWgtOaZr+Wkp+e2sXzliofmnKzlpKfntrEKKysgIGV4YW1wbGVzOiDk vovlrZAKKysgIGdpdmVuOiAiKnzlgYfoqK08IgorKyAgd2hlbjogIip855W2PCIKKysgIHRoZW46 ICIqfOmCo+m6vDwiCisrICBhbmQ6ICIqfOiAjOS4lDx85Lim5LiUPCIKKysgIGJ1dDogIip85L2G 5pivPCIKK2RpZmYgLS1naXQgYS9iaW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiBiL2Jpbi9naGVy a2luLWxhbmd1YWdlcy5qc29uCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGQyZDVl OTMuLjAwMDAwMDAKKy0tLSBhL2Jpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCisrKysgL2Rldi9u dWxsCitAQCAtMSwzMTkzICswLDAgQEAKKy17CistICAiYWYiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiRW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsK Ky0gICAgICAiQWd0ZXJncm9uZCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJNYWFyICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJW b29yYmVlbGRlIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua3NpZSIs CistICAgICAgIkJlc2lnaGVpZCBCZWhvZWZ0ZSIsCistICAgICAgIlZlcm1vw6siCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJHZWdld2UgIgorLSAgICBd LAorLSAgICAibmFtZSI6ICJBZnJpa2FhbnMiLAorLSAgICAibmF0aXZlIjogIkFmcmlrYWFucyIs CistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2l0dWFzaWUiCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNpdHVhc2llIFVpdGVlbnNldHRpbmciCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhbiAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIldhbm5lZXIgIgorLSAgICBd CistICB9LAorLSAgImFtIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg ItS11b4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi1L/VuNW21b/V pdaE1b3VvyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLU stWh1bXWgSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi1ZXWgNWr1bbV odWv1bbVpdaAIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi1ZbVuNaC1bbV r9aB1avVuNW21aHVrNW41oLVqdW11bjWgtW2IiwKKy0gICAgICAi1YDVodW/1a/VuNaC1anVtdW4 1oLVtiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItS0 1avWgdW41oLWhCAiCistICAgIF0sCistICAgICJuYW1lIjogIkFybWVuaWFuIiwKKy0gICAgIm5h dGl2ZSI6ICLVsNWh1bXVpdaA1aXVtiIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi1Y3W gdWl1bbVodaAIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLV jdaB1aXVttWh1oDVqyDVr9Wh1bzVuNaC1oHVvtWh1oHWhNWoIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLUsdW61aEgIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLUtdWp1aUgIiwKKy0gICAgICAi1LXWgNWiICIK Ky0gICAgXQorLSAgfSwKKy0gICJhciI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLZiCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLYp9mE 2K7ZhNmB2YrYqSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLZhNmD2YYgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItin2YXYq9mE 2KkiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLYrtin2LXZitipIgorLSAg ICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2KjZgdix2LYgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJBcmFiaWMiLAorLSAgICAibmF0aXZlIjogItin2YTYudix 2KjZitipIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLYs9mK2YbYp9ix2YrZiCIKKy0g ICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi2LPZitmG2KfYsdmK2Ygg 2YXYrti32LciCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg Itin2LDYp9mLICIsCistICAgICAgItir2YUgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLZhdiq2YkgIiwKKy0gICAgICAi2LnZhtiv2YXYpyAiCistICAg IF0KKy0gIH0sCistICAiYXN0IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgIlkgIiwKKy0gICAgICAiWWEgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0g ICAgICAiQW50ZWNlZGVudGVzIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIlBlcnUgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkV4 ZW1wbG9zIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiQ2FyYXV0ZXLDrXN0 aWNhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRMOh dSAiLAorLSAgICAgICJEYWRhICIsCistICAgICAgIkRhb3MgIiwKKy0gICAgICAiRGFlcyAiCist ICAgIF0sCistICAgICJuYW1lIjogIkFzdHVyaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJhc3R1cmlh bnUiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIkNhc3UiCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkVzYm96dSBkZWwgY2FzdSIKKy0gICAgXSwKKy0g ICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRW50w7NzICIKKy0gICAgXSwKKy0g ICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQ3VhbmRvICIKKy0gICAgXQorLSAg fSwKKy0gICJheiI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJWyZkg IiwKKy0gICAgICAiSMmZbSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAg ICJLZcOnbWnFnyIsCistICAgICAgIktvbnRla3N0IgorLSAgICBdLAorLSAgICAiYnV0IjogWwor LSAgICAgICIqICIsCistICAgICAgIkFtbWEgIiwKKy0gICAgICAiQW5jYXEgIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIk7DvG11bsmZbMmZciIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIsOWesmZbGxpayIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIlR1dGFxIGtpICIsCistICAgICAgIlZlcmlsaXIgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJBemVyYmFpamFuaSIsCistICAgICJuYXRpdmUiOiAiQXrJ mXJiYXljYW5jYSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU3NlbmFyaSIKKy0gICAg XSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU3NlbmFyaW5pbiBzdHJ1a3R1 cnUiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk8gaGFs ZGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLGj2fJ mXIgIiwKKy0gICAgICAiTsmZIHZheHQga2kgIgorLSAgICBdCistICB9LAorLSAgImJnIjogewor LSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCYICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgItCf0YDQtdC00LjRgdGC0L7RgNC40Y8iCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0J3QviAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi0J/RgNC40LzQtdGA0LgiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQu9C90L7RgdGCIgorLSAg ICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JTQsNC00LXQvdC+ ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQnVsZ2FyaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLQ sdGK0LvQs9Cw0YDRgdC60LgiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItCh0YbQtdC9 0LDRgNC40LkiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItCg 0LDQvNC60LAg0L3QsCDRgdGG0LXQvdCw0YDQuNC5IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLQotC+ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi0JrQvtCz0LDRgtC+ICIKKy0gICAgXQorLSAgfSwKKy0gICJi bSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYW4gIgorLSAgICBd LAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiTGF0YXIgQmVsYWthbmciCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGV0YXBpICIsCistICAgICAg IlRhcGkgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkNvbnRvaCIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmdzaSIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRpYmVyaSAiLAorLSAgICAgICJCYWdp ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiTWFsYXkiLAorLSAgICAibmF0aXZlIjogIkJhaGFz YSBNZWxheXUiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNlbmFyaW8iLAorLSAgICAg ICJTaXR1YXNpIiwKKy0gICAgICAiS2VhZGFhbiIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0 bGluZSI6IFsKKy0gICAgICAiS2VyYW5na2EgU2VuYXJpbyIsCistICAgICAgIktlcmFuZ2thIFNp dHVhc2kiLAorLSAgICAgICJLZXJhbmdrYSBLZWFkYWFuIiwKKy0gICAgICAiR2FyaXMgUGFuZHVh biBTZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJNYWthICIsCistICAgICAgIktlbXVkaWFuICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiQXBhYmlsYSAiCistICAgIF0KKy0gIH0sCistICAiYnMiOiB7 CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSSAiLAorLSAgICAgICJBICIK Ky0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIlBvemFkaW5hIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFsaSAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJpbWplcmkiCistICAgIF0sCistICAgICJmZWF0 dXJlIjogWworLSAgICAgICJLYXJha3RlcmlzdGlrYSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkRhdG8gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJC b3NuaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJCb3NhbnNraSIsCistICAgICJzY2VuYXJpbyI6IFsK Ky0gICAgICAiU2NlbmFyaWp1IiwKKy0gICAgICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNjZW5hcmlqdS1vYnJpcyIsCistICAgICAgIlNj ZW5hcmlvLW91dGxpbmUiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIlphdGltICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiS2FkYSAiCistICAgIF0KKy0gIH0sCistICAiY2EiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiSSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICJSZXJlZm9ucyIsCistICAgICAgIkFudGVjZWRlbnRzIgorLSAgICBdLAorLSAgICAi YnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIlBlcsOyICIKKy0gICAgXSwKKy0gICAgImV4 YW1wbGVzIjogWworLSAgICAgICJFeGVtcGxlcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgIkNhcmFjdGVyw61zdGljYSIsCistICAgICAgIkZ1bmNpb25hbGl0YXQiCistICAg IF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEb25hdCAiLAorLSAg ICAgICJEb25hZGEgIiwKKy0gICAgICAiQXTDqHMgIiwKKy0gICAgICAiQXRlc2EgIgorLSAgICBd LAorLSAgICAibmFtZSI6ICJDYXRhbGFuIiwKKy0gICAgIm5hdGl2ZSI6ICJjYXRhbMOgIiwKKy0g ICAgInNjZW5hcmlvIjogWworLSAgICAgICJFc2NlbmFyaSIKKy0gICAgXSwKKy0gICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKy0gICAgICAiRXNxdWVtYSBkZSBsJ2VzY2VuYXJpIgorLSAgICBdLAor LSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbGVzaG9yZXMgIiwKKy0gICAg ICAiQ2FsICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi UXVhbiAiCistICAgIF0KKy0gIH0sCistICAiY3MiOiB7CistICAgICJhbmQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiQSB0YWvDqSAiLAorLSAgICAgICJBICIKKy0gICAgXSwKKy0gICAgImJh Y2tncm91bmQiOiBbCistICAgICAgIlBvemFkw60iLAorLSAgICAgICJLb250ZXh0IgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFsZSAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUMWZw61rbGFkeSIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIlBvxb5hZGF2ZWsiCistICAgIF0sCistICAgICJnaXZlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJQb2t1ZCAiLAorLSAgICAgICJaYSBwxZllZHBva2xhZHUg IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJDemVjaCIsCistICAgICJuYXRpdmUiOiAixIxlc2t5 IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY8OpbsOhxZkiCistICAgIF0sCistICAg ICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIk7DocSNcnQgU2PDqW7DocWZZSIsCistICAg ICAgIk9zbm92YSBzY8OpbsOhxZllIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJQYWsgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJLZHnFviAiCistICAgIF0KKy0gIH0sCistICAiY3ktR0IiOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQSAiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICJDZWZuZGlyIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAg ICIqICIsCistICAgICAgIk9uZCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAg ICAiRW5naHJlaWZmdGlhdSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkFy d2VkZCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFu cmhlZ2VkaWcgYSAiCistICAgIF0sCistICAgICJuYW1lIjogIldlbHNoIiwKKy0gICAgIm5hdGl2 ZSI6ICJDeW1yYWVnIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpbyIKKy0g ICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU2NlbmFyaW8gQW1saW5l bGxvbCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiWW5h ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiUHJ5ZCAi CistICAgIF0KKy0gIH0sCistICAiZGEiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiT2cgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQmFn Z3J1bmQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWVu ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFa3NlbXBsZXIiCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJFZ2Vuc2thYiIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkdpdmV0ICIKKy0gICAgXSwKKy0gICAg Im5hbWUiOiAiRGFuaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJkYW5zayIsCistICAgICJzY2VuYXJp byI6IFsKKy0gICAgICAiU2NlbmFyaWUiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIkFic3RyYWt0IFNjZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJTw6UgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJOw6VyICIKKy0gICAgXQorLSAgfSwKKy0gICJkZSI6IHsKKy0g ICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJVbmQgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAiR3J1bmRsYWdlIgorLSAgICBdLAorLSAgICAiYnV0Ijog WworLSAgICAgICIqICIsCistICAgICAgIkFiZXIgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMi OiBbCistICAgICAgIkJlaXNwaWVsZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIkZ1bmt0aW9uYWxpdMOkdCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkFuZ2Vub21tZW4gIiwKKy0gICAgICAiR2VnZWJlbiBzZWkgIiwKKy0gICAg ICAiR2VnZWJlbiBzZWllbiAiCistICAgIF0sCistICAgICJuYW1lIjogIkdlcm1hbiIsCistICAg ICJuYXRpdmUiOiAiRGV1dHNjaCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU3plbmFy aW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlN6ZW5hcmlv Z3J1bmRyaXNzIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJEYW5uICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi V2VubiAiCistICAgIF0KKy0gIH0sCistICAiZWwiOiB7CistICAgICJhbmQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAizprOsc65ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCist ICAgICAgIs6lz4DPjM6yzrHOuM+Bzr8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAizpHOu867zqwgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCist ICAgICAgIs6gzrHPgc6xzrTOtc6vzrPOvM6xz4TOsSIsCistICAgICAgIs6jzrXOvc6sz4HOuc6x IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAizpTPhc69zrHPhM+Mz4TOt8+E zrEiLAorLSAgICAgICLOm861zrnPhM6/z4XPgc6zzq/OsSIKKy0gICAgXSwKKy0gICAgImdpdmVu IjogWworLSAgICAgICIqICIsCistICAgICAgIs6UzrXOtM6/zrzOrc69zr/PhSAiCistICAgIF0s CistICAgICJuYW1lIjogIkdyZWVrIiwKKy0gICAgIm5hdGl2ZSI6ICLOlc67zrvOt869zrnOus6s IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLOo861zr3OrM+BzrnOvyIKKy0gICAgXSwK Ky0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAizqDOtc+BzrnOs8+BzrHPhs6uIM6j zrXOvc6xz4HOr86/z4UiLAorLSAgICAgICLOoM61z4HOr86zz4HOsc68zrzOsSDOo861zr3Osc+B zq/Ov8+FIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLO pM+Mz4TOtSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg Is6Mz4TOsc69ICIKKy0gICAgXQorLSAgfSwKKy0gICJlbSI6IHsKKy0gICAgImFuZCI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLwn5iCIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsK Ky0gICAgICAi8J+SpCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLwn5iUIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIvCfk5MiCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLwn5OaIgorLSAgICBdLAorLSAgICAi Z2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi8J+YkCIKKy0gICAgXSwKKy0gICAgIm5h bWUiOiAiRW1vamkiLAorLSAgICAibmF0aXZlIjogIvCfmIAiLAorLSAgICAic2NlbmFyaW8iOiBb CistICAgICAgIvCfk5UiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAg ICAgIvCfk5YiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IvCfmY8iCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIvCf jqwiCistICAgIF0KKy0gIH0sCistICAiZW4iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAiQW5kICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAg IkJhY2tncm91bmQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiQnV0ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFeGFtcGxlcyIs CistICAgICAgIlNjZW5hcmlvcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAg IkZlYXR1cmUiLAorLSAgICAgICJCdXNpbmVzcyBOZWVkIiwKKy0gICAgICAiQWJpbGl0eSIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkdpdmVuICIKKy0g ICAgXSwKKy0gICAgIm5hbWUiOiAiRW5nbGlzaCIsCistICAgICJuYXRpdmUiOiAiRW5nbGlzaCIs CistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNjZW5hcmlvIE91dGxpbmUiLAorLSAgICAgICJT Y2VuYXJpbyBUZW1wbGF0ZSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiVGhlbiAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIldoZW4gIgorLSAgICBdCistICB9LAorLSAgImVuLVNjb3VzZSI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbiAiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICJEaXMgaXMgd2hhdCB3ZW50IGRvd24iCistICAgIF0sCistICAgICJi dXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQnVoICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICJFeGFtcGxlcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCist ICAgICAgIkZlYXR1cmUiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJHaXZ1biAiLAorLSAgICAgICJZb3VzZSBrbm93IHdoZW4geW91c2UgZ290ICIKKy0g ICAgXSwKKy0gICAgIm5hbWUiOiAiU2NvdXNlIiwKKy0gICAgIm5hdGl2ZSI6ICJTY291c2UiLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlRoZSB0aGluZyBvZiBpdCBpcyIKKy0gICAgXSwK Ky0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiV2hhcnJpbWVhbiBpcyIKKy0gICAg XSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRHVuICIsCistICAgICAg IkRlbiB5b3VzZSBnb3R0YSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIld1biAiLAorLSAgICAgICJZb3VzZSBrbm93IGxpa2Ugd2hlbiAiCistICAgIF0K Ky0gIH0sCistICAiZW4tYXUiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiVG9vIHJpZ2h0ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkZp cnN0IG9mZiIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJZ ZWFoIG5haCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiWW91J2xsIHdh bm5hIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiUHJldHR5IG11Y2giCist ICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJZJ2tub3cgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJBdXN0cmFsaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJBdXN0 cmFsaWFuIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJBd3d3LCBsb29rIG1hdGUiCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlJlY2tvbiBpdCdzIGxp a2UiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkJ1dCBh dCB0aGUgZW5kIG9mIHRoZSBkYXkgSSByZWNrb24gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJJdCdzIGp1c3QgdW5iZWxpZXZhYmxlICIKKy0gICAgXQor LSAgfSwKKy0gICJlbi1sb2wiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiQU4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQjQiCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQlVUICIKKy0gICAgXSwK Ky0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFWEFNUExaIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAiT0ggSEFJIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiSSBDQU4gSEFaICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiTE9M Q0FUIiwKKy0gICAgIm5hdGl2ZSI6ICJMT0xDQVQiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIk1JU0hVTiIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi TUlTSFVOIFNSU0xZIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJERU4gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJXRU4gIgorLSAgICBdCistICB9LAorLSAgImVuLW9sZCI6IHsKKy0gICAgImFuZCI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJPbmQgIiwKKy0gICAgICAiNyAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJBZXIiLAorLSAgICAgICLDhnIiCistICAgIF0sCistICAg ICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWMgIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgIlNlIHRoZSIsCistICAgICAgIlNlIMO+ZSIsCistICAgICAgIlNl IMOwZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkh3YWV0IiwKKy0gICAg ICAiSHfDpnQiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJUaHVyaCAiLAorLSAgICAgICLDnnVyaCAiLAorLSAgICAgICLDkHVyaCAiCistICAgIF0sCist ICAgICJuYW1lIjogIk9sZCBFbmdsaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJFbmdsaXNjIiwKKy0g ICAgInNjZW5hcmlvIjogWworLSAgICAgICJTd2EiCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgIlN3YSBod2FlciBzd2EiLAorLSAgICAgICJTd2EgaHfDpnIgc3dh IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUaGEgIiwK Ky0gICAgICAiw55hICIsCistICAgICAgIsOQYSAiLAorLSAgICAgICJUaGEgdGhlICIsCistICAg ICAgIsOeYSDDvmUgIiwKKy0gICAgICAiw5BhIMOwZSAiCistICAgIF0sCistICAgICJ3aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIlRoYSAiLAorLSAgICAgICLDnmEgIiwKKy0gICAgICAi w5BhICIKKy0gICAgXQorLSAgfSwKKy0gICJlbi1waXJhdGUiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiQXllICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIllvLWhvLWhvIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIkF2YXN0ISAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi RGVhZCBtZW4gdGVsbCBubyB0YWxlcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIkFob3kgbWF0ZXkhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiR2FuZ3dheSEgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJQaXJhdGUiLAorLSAg ICAibmF0aXZlIjogIlBpcmF0ZSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiSGVhdmUg dG8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNoaXZlciBt ZSB0aW1iZXJzIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJMZXQgZ28gYW5kIGhhdWwgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJCbGltZXkhICIKKy0gICAgXQorLSAgfSwKKy0gICJlbyI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLYWogIgorLSAgICBdLAorLSAgICAiYmFja2dy b3VuZCI6IFsKKy0gICAgICAiRm9ubyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJTZWQgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAg IkVremVtcGxvaiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlRyYWp0byIK Ky0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRvbml0YcS1 byAiLAorLSAgICAgICJLb21lbmNlICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiRXNwZXJhbnRv IiwKKy0gICAgIm5hdGl2ZSI6ICJFc3BlcmFudG8iLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIlNjZW5hcm8iLAorLSAgICAgICJLYXpvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRs aW5lIjogWworLSAgICAgICJLb250dXJvIGRlIGxhIHNjZW5hcm8iLAorLSAgICAgICJTa2l6byIs CistICAgICAgIkthem8tc2tpem8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkRvICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiU2UgIgorLSAgICBdCistICB9LAorLSAgImVzIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIlkgIiwKKy0gICAgICAiRSAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJBbnRlY2VkZW50ZXMiCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiUGVybyAiCistICAgIF0sCistICAgICJleGFtcGxl cyI6IFsKKy0gICAgICAiRWplbXBsb3MiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJDYXJhY3RlcsOtc3RpY2EiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJEYWRvICIsCistICAgICAgIkRhZGEgIiwKKy0gICAgICAiRGFkb3MgIiwK Ky0gICAgICAiRGFkYXMgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJTcGFuaXNoIiwKKy0gICAg Im5hdGl2ZSI6ICJlc3Bhw7FvbCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiRXNjZW5h cmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJFc3F1ZW1h IGRlbCBlc2NlbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkVudG9uY2VzICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiQ3VhbmRvICIKKy0gICAgXQorLSAgfSwKKy0gICJldCI6IHsKKy0gICAgImFuZCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJKYSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICJUYXVzdCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJLdWlkICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJK dWh0dW1pZCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIk9tYWR1cyIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkVlbGRhZGVzICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiRXN0b25pYW4iLAorLSAgICAibmF0aXZlIjogImVlc3Rp IGtlZWwiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlN0c2VuYWFyaXVtIgorLSAgICBd LAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJSYWFtc3RzZW5hYXJpdW0iCist ICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlNpaXMgIgorLSAg ICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLdWkgIgorLSAgICBd CistICB9LAorLSAgImZhIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg ItmIICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItiy2YXbjNmG2Yci CistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2KfZhdinICIK Ky0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLZhtmF2YjZhtmHINmH2KciCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLZiNmQ24zamNqv24wiCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLYqNinINmB2LHYtiAiCist ICAgIF0sCistICAgICJuYW1lIjogIlBlcnNpYW4iLAorLSAgICAibmF0aXZlIjogItmB2KfYsdiz 24wiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItiz2YbYp9ix24zZiCIKKy0gICAgXSwK Ky0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi2KfZhNqv2YjbjCDYs9mG2KfYsduM 2YgiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItii2Yba r9in2YcgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZ h9mG2q/Yp9mF24wgIgorLSAgICBdCistICB9LAorLSAgImZpIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIkphICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIlRhdXN0YSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJNdXR0YSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiVGFw YXVrc2V0IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiT21pbmFpc3V1cyIK Ky0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk9sZXRldGFh biAiCistICAgIF0sCistICAgICJuYW1lIjogIkZpbm5pc2giLAorLSAgICAibmF0aXZlIjogInN1 b21pIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJUYXBhdXMiCistICAgIF0sCistICAg ICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlRhcGF1c2FpaGlvIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJOaWluICIKKy0gICAgXSwKKy0gICAg IndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS3VuICIKKy0gICAgXQorLSAgfSwKKy0g ICJmciI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFdCBxdWUgIiwK Ky0gICAgICAiRXQgcXUnIiwKKy0gICAgICAiRXQgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAiQ29udGV4dGUiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiTWFpcyBxdWUgIiwKKy0gICAgICAiTWFpcyBxdSciLAorLSAgICAgICJN YWlzICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFeGVtcGxlcyIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZvbmN0aW9ubmFsaXTDqSIKKy0gICAg XSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlNvaXQgIiwKKy0gICAg ICAiRXRhbnQgZG9ubsOpIHF1ZSAiLAorLSAgICAgICJFdGFudCBkb25uw6kgcXUnIiwKKy0gICAg ICAiRXRhbnQgZG9ubsOpICIsCistICAgICAgIkV0YW50IGRvbm7DqWUgIiwKKy0gICAgICAiRXRh bnQgZG9ubsOpcyAiLAorLSAgICAgICJFdGFudCBkb25uw6llcyAiLAorLSAgICAgICLDiXRhbnQg ZG9ubsOpIHF1ZSAiLAorLSAgICAgICLDiXRhbnQgZG9ubsOpIHF1JyIsCistICAgICAgIsOJdGFu dCBkb25uw6kgIiwKKy0gICAgICAiw4l0YW50IGRvbm7DqWUgIiwKKy0gICAgICAiw4l0YW50IGRv bm7DqXMgIiwKKy0gICAgICAiw4l0YW50IGRvbm7DqWVzICIKKy0gICAgXSwKKy0gICAgIm5hbWUi OiAiRnJlbmNoIiwKKy0gICAgIm5hdGl2ZSI6ICJmcmFuw6dhaXMiLAorLSAgICAic2NlbmFyaW8i OiBbCistICAgICAgIlNjw6luYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6 IFsKKy0gICAgICAiUGxhbiBkdSBzY8OpbmFyaW8iLAorLSAgICAgICJQbGFuIGR1IFNjw6luYXJp byIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWxvcnMg IgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJRdWFuZCAi LAorLSAgICAgICJMb3JzcXVlICIsCistICAgICAgIkxvcnNxdSciCistICAgIF0KKy0gIH0sCist ICAiZ2EiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWd1cyIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkPDumxyYSIKKy0gICAgXSwKKy0g ICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBY2giCistICAgIF0sCistICAgICJl eGFtcGxlcyI6IFsKKy0gICAgICAiU2FtcGxhw60iCistICAgIF0sCistICAgICJmZWF0dXJlIjog WworLSAgICAgICJHbsOpIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiQ3VpciBpIGdjw6FzIGdvIiwKKy0gICAgICAiQ3VpciBpIGdjw6FzIG5hY2giLAor LSAgICAgICJDdWlyIGkgZ2PDoXMgZ3VyIiwKKy0gICAgICAiQ3VpciBpIGdjw6FzIG7DoXIiCist ICAgIF0sCistICAgICJuYW1lIjogIklyaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJHYWVpbGdlIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJDw6FzIgorLSAgICBdLAorLSAgICAic2NlbmFy aW9PdXRsaW5lIjogWworLSAgICAgICJDw6FzIEFjaG9tYWlyIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbnNpbiIKKy0gICAgXSwKKy0gICAgIndoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAiTnVhaXIgYSIsCistICAgICAgIk51YWlyIG5hY2gi LAorLSAgICAgICJOdWFpciBiYSIsCistICAgICAgIk51YWlyIG7DoXIiCistICAgIF0KKy0gIH0s CistICAiZ2oiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KqF4Kqo 4KuHICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuCqrOCrh+CqleCq l+CrjeCqsOCqvuCqieCqqOCrjeCqoSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICLgqqrgqqMgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAg ICAgIuCqieCqpuCqvuCqueCqsOCqo+CriyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCist ICAgICAgIuCqsuCqleCrjeCqt+CqoyIsCistICAgICAgIuCqteCrjeCqr+CqvuCqquCqvuCqsCDg qpzgqrDgq4LgqrAiLAorLSAgICAgICLgqpXgq43gqrfgqq7gqqTgqr4iCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgqobgqqrgq4fgqrIg4Kqb4KuHICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiR3VqYXJhdGkiLAorLSAgICAibmF0aXZlIjogIuCql+Cr geCqnOCqsOCqvuCqpOCrgCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi4Kq44KuN4Kql 4Kq/4Kqk4Kq/IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLg qqrgqrDgqr/gqqbgq43gqqbgqrbgq43gqq8g4Kqw4KuC4Kqq4Kqw4KuH4KqW4Kq+IiwKKy0gICAg ICAi4Kqq4Kqw4Kq/4Kqm4KuN4Kqm4Kq24KuN4KqvIOCqouCqvuCqguCqmuCriyIKKy0gICAgXSwK Ky0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4Kqq4Kqb4KuAICIKKy0gICAg XSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KqV4KuN4Kqv4Kq+4Kqw 4KuHICIKKy0gICAgXQorLSAgfSwKKy0gICJnbCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJFICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAg IkNvbnRleHRvIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAg Ik1haXMgIiwKKy0gICAgICAiUGVybyAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0g ICAgICAiRXhlbXBsb3MiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJDYXJh Y3RlcsOtc3RpY2EiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJEYWRvICIsCistICAgICAgIkRhZGEgIiwKKy0gICAgICAiRGFkb3MgIiwKKy0gICAgICAi RGFkYXMgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJHYWxpY2lhbiIsCistICAgICJuYXRpdmUi OiAiZ2FsZWdvIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJFc2NlbmFyaW8iCistICAg IF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkVzYm96byBkbyBlc2NlbmFy aW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkVudMOz biAiLAorLSAgICAgICJMb2dvICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiQ2FuZG8gIgorLSAgICBdCistICB9LAorLSAgImhlIjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgIteV15LXnSAiCistICAgIF0sCistICAgICJiYWNr Z3JvdW5kIjogWworLSAgICAgICLXqNen16IiCistICAgIF0sCistICAgICJidXQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi15DXkdecICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICLXk9eV15LXnteQ15XXqiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIteq15vXldeg15QiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLXkdeU15nXoNeq158gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJIZWJyZXciLAor LSAgICAibmF0aXZlIjogItei15HXqNeZ16oiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg Iteq16jXl9eZ16kiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg Iteq15HXoNeZ16og16rXqNeX15nXqSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAi15DXliAiLAorLSAgICAgICLXkNeW15kgIgorLSAgICBdLAorLSAgICAi d2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLXm9eQ16nXqCAiCistICAgIF0KKy0gIH0s CistICAiaGkiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KSU4KSw ICIsCistICAgICAgIuCkpOCkpeCkviAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICLgpKrgpYPgpLfgpY3gpKDgpK3gpYLgpK7gpL8iCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KSq4KSwICIsCistICAgICAgIuCkquCksOCkqOCl jeCkpOClgSAiLAorLSAgICAgICLgpJXgpL/gpKjgpY3gpKTgpYEgIgorLSAgICBdLAorLSAgICAi ZXhhbXBsZXMiOiBbCistICAgICAgIuCkieCkpuCkvuCkueCksOCkoyIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIuCksOClguCkqiDgpLLgpYfgpJYiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgpIXgpJfgpLAgIiwKKy0gICAgICAi 4KSv4KSm4KS/ICIsCistICAgICAgIuCkmuClguCkguCkleCkvyAiCistICAgIF0sCistICAgICJu YW1lIjogIkhpbmRpIiwKKy0gICAgIm5hdGl2ZSI6ICLgpLngpL/gpILgpKbgpYAiLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgIuCkquCksOCkv+CkpuClg+CktuCljeCkryIKKy0gICAgXSwK Ky0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi4KSq4KSw4KS/4KSm4KWD4KS24KWN 4KSvIOCksOClguCkquCksOClh+CkluCkviIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi4KSk4KSsICIsCistICAgICAgIuCkpOCkpuCkviAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCknOCkrCAiLAorLSAgICAg ICLgpJXgpKbgpL4gIgorLSAgICBdCistICB9LAorLSAgImhyIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIkkgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsK Ky0gICAgICAiUG96YWRpbmEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiQWxpICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJQcmlt amVyaSIsCistICAgICAgIlNjZW5hcmlqaSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCist ICAgICAgIk9zb2JpbmEiLAorLSAgICAgICJNb2d1xIdub3N0IiwKKy0gICAgICAiTW9ndWNub3N0 IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiWmFkYW4g IiwKKy0gICAgICAiWmFkYW5pICIsCistICAgICAgIlphZGFubyAiCistICAgIF0sCistICAgICJu YW1lIjogIkNyb2F0aWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJocnZhdHNraSIsCistICAgICJzY2Vu YXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaWoiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxp bmUiOiBbCistICAgICAgIlNraWNhIiwKKy0gICAgICAiS29uY2VwdCIKKy0gICAgXSwKKy0gICAg InRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiT25kYSAiCistICAgIF0sCistICAgICJ3 aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkthZGEgIiwKKy0gICAgICAiS2FkICIKKy0g ICAgXQorLSAgfSwKKy0gICJodCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJBayAiLAorLSAgICAgICJFcGkgIiwKKy0gICAgICAiRSAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJLb250w6hrcyIsCistICAgICAgIklzdG9yaWsiCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWVuICIKKy0gICAgXSwK Ky0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFZ3phbnAiCistICAgIF0sCistICAgICJmZWF0 dXJlIjogWworLSAgICAgICJLYXJha3RlcmlzdGlrIiwKKy0gICAgICAiTWFrIiwKKy0gICAgICAi Rm9ua3N5b25hbGl0ZSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIlNpcG96ZSAiLAorLSAgICAgICJTaXBvemUga2UgIiwKKy0gICAgICAiU2lwb3plIEtl ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ3Jlb2xlIiwKKy0gICAgIm5hdGl2ZSI6ICJrcmV5 w7JsIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTZW5hcnlvIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJQbGFuIHNlbmFyeW8iLAorLSAgICAgICJQ bGFuIFNlbmFyeW8iLAorLSAgICAgICJTZW5hcnlvIGRlc2tyaXBzeW9uIiwKKy0gICAgICAiU2Vu YXJ5byBEZXNrcmlwc3lvbiIsCistICAgICAgIkR5YWdyYW0gc2VuYXJ5byIsCistICAgICAgIkR5 YWdyYW0gU2VuYXJ5byIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiTMOoIHNhIGEgIiwKKy0gICAgICAiTGUgc2EgYSAiCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIkzDqCAiLAorLSAgICAgICJMZSAiCistICAgIF0K Ky0gIH0sCistICAiaHUiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi w4lzICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkjDoXR0w6lyIgor LSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkRlICIKKy0gICAg XSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJQw6lsZMOhayIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIkplbGxlbXrFkSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkFtZW5ueWliZW4gIiwKKy0gICAgICAiQWRvdHQgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJIdW5nYXJpYW4iLAorLSAgICAibmF0aXZlIjogIm1hZ3lh ciIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiRm9yZ2F0w7Nrw7ZueXYiCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkZvcmdhdMOza8O2bnl2IHbDoXps YXQiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFra29y ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWFqZCAi LAorLSAgICAgICJIYSAiLAorLSAgICAgICJBbWlrb3IgIgorLSAgICBdCistICB9LAorLSAgImlk IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhbiAiCistICAgIF0s CistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJEYXNhciIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUYXBpICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICJDb250b2giCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJGaXR1ciIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkRlbmdhbiAiCistICAgIF0sCistICAgICJuYW1lIjogIkluZG9uZXNpYW4iLAorLSAgICAi bmF0aXZlIjogIkJhaGFzYSBJbmRvbmVzaWEiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg IlNrZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJT a2VuYXJpbyBrb25zZXAiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIk1ha2EgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJLZXRpa2EgIgorLSAgICBdCistICB9LAorLSAgImlzIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIk9nICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIkJha2dydW5udXIiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAiRW4gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkTD pm1pIiwKKy0gICAgICAiQXRidXLDsGFyw6FzaXIiCistICAgIF0sCistICAgICJmZWF0dXJlIjog WworLSAgICAgICJFaWdpbmxlaWtpIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiRWYgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJJY2VsYW5kaWMiLAor LSAgICAibmF0aXZlIjogIsONc2xlbnNrYSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi QXRidXLDsGFyw6FzIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJMw71zaW5nIEF0YnVyw7BhcsOhc2FyIiwKKy0gICAgICAiTMO9c2luZyBEw6ZtYSIKKy0gICAg XSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiw57DoSAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIsOeZWdhciAiCistICAgIF0K Ky0gIH0sCistICAiaXQiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi RSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJDb250ZXN0byIKKy0g ICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYSAiCistICAgIF0s CistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXNlbXBpIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAiRnVuemlvbmFsaXTDoCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkRhdG8gIiwKKy0gICAgICAiRGF0YSAiLAorLSAgICAg ICJEYXRpICIsCistICAgICAgIkRhdGUgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJJdGFsaWFu IiwKKy0gICAgIm5hdGl2ZSI6ICJpdGFsaWFubyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg IlNjaGVtYSBkZWxsbyBzY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiQWxsb3JhICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiUXVhbmRvICIKKy0gICAgXQorLSAgfSwKKy0gICJqYSI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLjgYvjgaQiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICLog4zmma8iCistICAgIF0sCistICAgICJidXQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi44GX44GL44GXIiwKKy0gICAgICAi5L2G44GXIiwKKy0gICAg ICAi44Gf44Gg44GXIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuS+iyIs CistICAgICAgIuOCteODs+ODl+ODqyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIuODleOCo+ODvOODgeODoyIsCistICAgICAgIuapn+iDvSIKKy0gICAgXSwKKy0gICAgImdp dmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuWJjeaPkCIKKy0gICAgXSwKKy0gICAgIm5h bWUiOiAiSmFwYW5lc2UiLAorLSAgICAibmF0aXZlIjogIuaXpeacrOiqniIsCistICAgICJzY2Vu YXJpbyI6IFsKKy0gICAgICAi44K344OK44Oq44KqIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICLjgrfjg4rjg6rjgqrjgqLjgqbjg4jjg6njgqTjg7MiLAorLSAg ICAgICLjgrfjg4rjg6rjgqrjg4bjg7Pjg5fjg6zjg7zjg4giLAorLSAgICAgICLjg4bjg7Pjg5fj g6wiLAorLSAgICAgICLjgrfjg4rjg6rjgqrjg4bjg7Pjg5fjg6wiCistICAgIF0sCistICAgICJ0 aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuOBquOCieOBsCIKKy0gICAgXSwKKy0gICAg IndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi44KC44GXIgorLSAgICBdCistICB9LAor LSAgImp2IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkxhbiAiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJEYXNhciIKKy0gICAgXSwKKy0g ICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUYXBpICIsCistICAgICAgIk5hbmdp bmcgIiwKKy0gICAgICAiQW5hbmdpbmcgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCist ICAgICAgIkNvbnRvIiwKKy0gICAgICAiQ29udG9uZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUi OiBbCistICAgICAgIkZpdHVyIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiTmFsaWthICIsCistICAgICAgIk5hbGlrYW5pbmcgIgorLSAgICBdLAorLSAg ICAibmFtZSI6ICJKYXZhbmVzZSIsCistICAgICJuYXRpdmUiOiAiQmFzYSBKYXdhIiwKKy0gICAg InNjZW5hcmlvIjogWworLSAgICAgICJTa2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlv T3V0bGluZSI6IFsKKy0gICAgICAiS29uc2VwIHNrZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJOanVrICIsCistICAgICAgIkJhbmp1ciAiCist ICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk1hbmF3YSAiLAor LSAgICAgICJNZW5hd2EgIgorLSAgICBdCistICB9LAorLSAgImthIjogeworLSAgICAiYW5kIjog WworLSAgICAgICIqICIsCistICAgICAgIuGDk+GDkCIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgIuGDmeGDneGDnOGDouGDlOGDpeGDoeGDouGDmCIKKy0gICAgXSwKKy0g ICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLhg5vhg5Dhg5LCreGDoOGDkOGDmyIK Ky0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLhg5vhg5Dhg5Lhg5Dhg5rhg5jh g5fhg5Thg5Hhg5giCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLhg5fhg5Xh g5jhg6Hhg5Thg5Hhg5AiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLhg5vhg53hg6rhg5Thg5vhg6Phg5rhg5giCistICAgIF0sCistICAgICJuYW1lIjog Ikdlb3JnaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLhg6Xhg5Dhg6Dhg5fhg5Xhg5Thg5rhg5giLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuGDoeGDquGDlOGDnOGDkOGDoOGDmOGDoSIKKy0g ICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi4YOh4YOq4YOU4YOc4YOQ 4YOg4YOY4YOhIOGDnOGDmOGDm+GDo+GDqOGDmCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi4YOb4YOQ4YOo4YOY4YOcIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLhg6Dhg53hg5Phg5Thg6Hhg5Dhg6oiCistICAg IF0KKy0gIH0sCistICAia24iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi4LKu4LKk4LON4LKk4LOBICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAg ICAgIuCyueCyv+CyqOCzjeCyqOCzhuCysuCzhiIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLgsobgsqbgsrDgs4YgIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIuCyieCypuCyvuCyueCysOCyo+CzhuCyl+Cys+CzgSIKKy0gICAgXSwK Ky0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuCyueCzhuCymuCzjeCymuCysyIKKy0gICAgXSwK Ky0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCyqOCyv+CzleCyoeCyv+Cy piAiCistICAgIF0sCistICAgICJuYW1lIjogIkthbm5hZGEiLAorLSAgICAibmF0aXZlIjogIuCy leCyqOCzjeCyqOCyoSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi4LKV4LKl4LK+4LK4 4LK+4LKw4LK+4LKC4LK2IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAg ICAgICLgsrXgsr/gsrXgsrDgsqPgs4YiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIuCyqOCyguCypOCysCAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIuCyuOCzjeCypeCyv+CypOCyv+Cyr+CyqOCzjeCyqOCzgSAi CistICAgIF0KKy0gIH0sCistICAia28iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi6re466as6rOgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAg ICAi67Cw6rK9IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAg Iu2VmOyngOunjCIsCistICAgICAgIuuLqCIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICLsmIgiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLquLDriqUi CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLsobDqsbQi LAorLSAgICAgICLrqLzsoIAiCistICAgIF0sCistICAgICJuYW1lIjogIktvcmVhbiIsCistICAg ICJuYXRpdmUiOiAi7ZWc6rWt7Ja0IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLsi5zr gpjrpqzsmKQiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuyL nOuCmOumrOyYpCDqsJzsmpQiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuq3uOufrOuptCIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAi66eM7J28IiwKKy0gICAgICAi66eM7JW9IgorLSAgICBdCistICB9LAorLSAg Imx0IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIklyICIKKy0gICAg XSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIktvbnRla3N0YXMiCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQmV0ICIKKy0gICAgXSwKKy0gICAg ImV4YW1wbGVzIjogWworLSAgICAgICJQYXZ5emTFvmlhaSIsCistICAgICAgIlNjZW5hcmlqYWki LAorLSAgICAgICJWYXJpYW50YWkiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAg ICJTYXZ5YsSXIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiRHVvdGEgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJMaXRodWFuaWFuIiwKKy0gICAgIm5h dGl2ZSI6ICJsaWV0dXZpxbMga2FsYmEiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNj ZW5hcmlqdXMiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNj ZW5hcmlqYXVzIMWhYWJsb25hcyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiVGFkYSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkthaSAiCistICAgIF0KKy0gIH0sCistICAibHUiOiB7CistICAgICJhbmQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAiYW4gIiwKKy0gICAgICAiYSAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJIYW5uZXJncm9uZCIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJhd2VyICIsCistICAgICAgIm3DpCAiCistICAg IF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiQmVpc3BpbGxlciIKKy0gICAgXSwKKy0g ICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmt0aW9uYWxpdMOpaXQiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJ1Z2Vob2xsICIKKy0gICAgXSwKKy0g ICAgIm5hbWUiOiAiTHV4ZW1idXJnaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJMw6t0emVidWVyZ2Vz Y2giLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlN6ZW5hcmlvIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJQbGFuZyB2dW0gU3plbmFyaW8iCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgImRhbm4gIgorLSAgICBd LAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJ3YW5uICIKKy0gICAgXQor LSAgfSwKKy0gICJsdiI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJV biAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJLb250ZWtzdHMiLAor LSAgICAgICJTaXR1xIFjaWphIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIkJldCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUGll bcSTcmkiLAorLSAgICAgICJQYXJhdWdzIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0g ICAgICAiRnVua2Npb25hbGl0xIF0ZSIsCistICAgICAgIkbEq8SNYSIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkthZCAiCistICAgIF0sCistICAgICJu YW1lIjogIkxhdHZpYW4iLAorLSAgICAibmF0aXZlIjogImxhdHZpZcWhdSIsCistICAgICJzY2Vu YXJpbyI6IFsKKy0gICAgICAiU2NlbsSBcmlqcyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0 bGluZSI6IFsKKy0gICAgICAiU2NlbsSBcmlqcyBwxJNjIHBhcmF1Z2EiCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRhZCAiCistICAgIF0sCistICAgICJ3 aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkphICIKKy0gICAgXQorLSAgfSwKKy0gICJt ay1DeXJsIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCYICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItCa0L7QvdGC0LXQutGB0YIiLAor LSAgICAgICLQodC+0LTRgNC20LjQvdCwIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAg ICIqICIsCistICAgICAgItCd0L4gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAg ICAgItCf0YDQuNC80LXRgNC4IiwKKy0gICAgICAi0KHRhtC10L3QsNGA0LjRmNCwIgorLSAgICBd LAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHR giIsCistICAgICAgItCR0LjQt9C90LjRgSDQv9C+0YLRgNC10LHQsCIsCistICAgICAgItCc0L7Q ttC90L7RgdGCIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi0JTQsNC00LXQvdC+ICIsCistICAgICAgItCU0LDQtNC10L3QsCAiCistICAgIF0sCistICAg ICJuYW1lIjogIk1hY2Vkb25pYW4iLAorLSAgICAibmF0aXZlIjogItCc0LDQutC10LTQvtC90YHQ utC4IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQvdCw0YDQuNC+IiwKKy0g ICAgICAi0J3QsCDQv9GA0LjQvNC10YAiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgItCf0YDQtdCz0LvQtdC0INC90LAg0YHRhtC10L3QsNGA0LjRmNCwIiwKKy0g ICAgICAi0KHQutC40YbQsCIsCistICAgICAgItCa0L7QvdGG0LXQv9GCIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQotC+0LPQsNGIICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JrQvtCz0LAgIgorLSAgICBd CistICB9LAorLSAgIm1rLUxhdG4iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiSSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJLb250ZWtz dCIsCistICAgICAgIlNvZHJ6aGluYSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJObyAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi UHJpbWVyaSIsCistICAgICAgIlNjZW5hcmlhIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsK Ky0gICAgICAiRnVua2Npb25hbG5vc3QiLAorLSAgICAgICJCaXpuaXMgcG90cmViYSIsCistICAg ICAgIk1vemhub3N0IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiRGFkZW5vICIsCistICAgICAgIkRhZGVuYSAiCistICAgIF0sCistICAgICJuYW1lIjog Ik1hY2Vkb25pYW4gKExhdGluKSIsCistICAgICJuYXRpdmUiOiAiTWFrZWRvbnNraSAoTGF0aW5p Y2EpIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpbyIsCistICAgICAgIk5h IHByaW1lciIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiUHJl Z2xlZCBuYSBzY2VuYXJpamEiLAorLSAgICAgICJTa2ljYSIsCistICAgICAgIktvbmNlcHQiCist ICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRvZ2FzaCAiCist ICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIktvZ2EgIgorLSAg ICBdCistICB9LAorLSAgIm1uIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgItCc06nQvSAiLAorLSAgICAgICLQotGN0LPRjdGN0LQgIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAi0JDQs9GD0YPQu9Cz0LAiCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JPRjdGF0LTRjdGNICIsCistICAgICAgItCl0LDR gNC40L0gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCi0YPRhdCw0LnQ u9Cx0LDQuyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgItCk0YPQvdC60YYi LAorLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQuyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgItOo0LPTqdCz0LTRgdOp0L0g0L3RjCAiLAorLSAgICAg ICLQkNC90YUgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJNb25nb2xpYW4iLAorLSAgICAibmF0 aXZlIjogItC80L7QvdCz0L7QuyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC1 0L3QsNGAIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQodGG 0LXQvdCw0YDRi9C9INGC06nQu9Op0LLQu9Op0LPTqdOpIgorLSAgICBdLAorLSAgICAidGhlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQotGN0LPRjdGF0Y3QtCAiLAorLSAgICAgICLSrtKv 0L3QuNC5INC00LDRgNCw0LAgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLQpdGN0YDRjdCyICIKKy0gICAgXQorLSAgfSwKKy0gICJubCI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFbiAiCistICAgIF0sCistICAgICJiYWNr Z3JvdW5kIjogWworLSAgICAgICJBY2h0ZXJncm9uZCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJNYWFyICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjog WworLSAgICAgICJWb29yYmVlbGRlbiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIkZ1bmN0aW9uYWxpdGVpdCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkdlZ2V2ZW4gIiwKKy0gICAgICAiU3RlbCAiCistICAgIF0sCistICAgICJu YW1lIjogIkR1dGNoIiwKKy0gICAgIm5hdGl2ZSI6ICJOZWRlcmxhbmRzIiwKKy0gICAgInNjZW5h cmlvIjogWworLSAgICAgICJTY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGlu ZSI6IFsKKy0gICAgICAiQWJzdHJhY3QgU2NlbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkRhbiAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIkFscyAiLAorLSAgICAgICJXYW5uZWVyICIKKy0gICAgXQor LSAgfSwKKy0gICJubyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJP ZyAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJCYWtncnVubiIKKy0g ICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNZW4gIgorLSAgICBd LAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkVrc2VtcGxlciIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIkVnZW5za2FwIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAiR2l0dCAiCistICAgIF0sCistICAgICJuYW1lIjogIk5v cndlZ2lhbiIsCistICAgICJuYXRpdmUiOiAibm9yc2siLAorLSAgICAic2NlbmFyaW8iOiBbCist ICAgICAgIlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAg ICAgICJTY2VuYXJpb21hbCIsCistICAgICAgIkFic3RyYWt0IFNjZW5hcmlvIgorLSAgICBdLAor LSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTw6UgIgorLSAgICBdLAorLSAg ICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJOw6VyICIKKy0gICAgXQorLSAgfSwK Ky0gICJwYSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgqIXgqKTg qYcgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi4Kiq4Ki/4Kib4KmL 4KiV4KmcIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIuCo quCosCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi4KiJ4Kim4Ki+4Ki5 4Kiw4Kio4Ki+4KiCIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi4KiW4Ki+ 4Ki44KmA4KiF4KikIiwKKy0gICAgICAi4Kiu4KmB4Ki54Ki+4KiC4Kim4Kiw4Ki+IiwKKy0gICAg ICAi4Kio4KiV4Ki2IOCoqOCpgeCoueCovuCosCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIuConOCph+ColeCosCAiLAorLSAgICAgICLgqJzgqL/gqLXg qYfgqIIg4KiV4Ki/ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiUGFuamFiaSIsCistICAgICJu YXRpdmUiOiAi4Kiq4Kmw4Kic4Ki+4Kis4KmAIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICLgqKrgqJ/gqJXgqKXgqL4iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIuCoquCon+ColeCopeCoviDgqKLgqL7gqILgqJrgqL4iLAorLSAgICAgICLgqKrgqJ/g qJXgqKXgqL4g4Kiw4KmC4KiqIOCosOCph+ColuCoviIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAi4Kik4KimICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAi4Kic4Kim4KmL4KiCICIKKy0gICAgXQorLSAgfSwKKy0g ICJwbCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPcmF6ICIsCist ICAgICAgIkkgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiWmHFgm/F vGVuaWEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWxl ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJQcnp5a8WCYWR5IgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiV8WCYcWbY2l3b8WbxIciLAorLSAgICAg ICJGdW5rY2phIiwKKy0gICAgICAiQXNwZWt0IiwKKy0gICAgICAiUG90cnplYmEgYml6bmVzb3dh IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiWmFrxYJh ZGFqxIVjICIsCistICAgICAgIk1hasSFYyAiLAorLSAgICAgICJaYWvFgmFkYWrEhWMsIMW8ZSAi CistICAgIF0sCistICAgICJuYW1lIjogIlBvbGlzaCIsCistICAgICJuYXRpdmUiOiAicG9sc2tp IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpdXN6IgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTemFibG9uIHNjZW5hcml1c3phIgorLSAg ICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJXdGVkeSAiCistICAg IF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkplxbxlbGkgIiwKKy0g ICAgICAiSmXFm2xpICIsCistICAgICAgIkdkeSAiLAorLSAgICAgICJLaWVkeSAiCistICAgIF0K Ky0gIH0sCistICAicHQiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi RSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJDb250ZXh0byIsCist ICAgICAgIkNlbsOhcmlvIGRlIEZ1bmRvIiwKKy0gICAgICAiQ2VuYXJpbyBkZSBGdW5kbyIsCist ICAgICAgIkZ1bmRvIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAg ICAgIk1hcyAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBsb3Mi LAorLSAgICAgICJDZW7DoXJpb3MiLAorLSAgICAgICJDZW5hcmlvcyIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmNpb25hbGlkYWRlIiwKKy0gICAgICAiQ2FyYWN0ZXLD rXN0aWNhIiwKKy0gICAgICAiQ2FyYWN0ZXJpc3RpY2EiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYWRvICIsCistICAgICAgIkRhZGEgIiwKKy0gICAg ICAiRGFkb3MgIiwKKy0gICAgICAiRGFkYXMgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJQb3J0 dWd1ZXNlIiwKKy0gICAgIm5hdGl2ZSI6ICJwb3J0dWd1w6pzIiwKKy0gICAgInNjZW5hcmlvIjog WworLSAgICAgICJDZW7DoXJpbyIsCistICAgICAgIkNlbmFyaW8iCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkVzcXVlbWEgZG8gQ2Vuw6FyaW8iLAorLSAgICAg ICJFc3F1ZW1hIGRvIENlbmFyaW8iLAorLSAgICAgICJEZWxpbmVhw6fDo28gZG8gQ2Vuw6FyaW8i LAorLSAgICAgICJEZWxpbmVhY2FvIGRvIENlbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkVudMOjbyAiLAorLSAgICAgICJFbnRhbyAiCistICAg IF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlF1YW5kbyAiCistICAg IF0KKy0gIH0sCistICAicm8iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiU2kgIiwKKy0gICAgICAiyJhpICIsCistICAgICAgIsWeaSAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJDb250ZXh0IgorLSAgICBdLAorLSAgICAiYnV0IjogWwor LSAgICAgICIqICIsCistICAgICAgIkRhciAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAiRXhlbXBsZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1 bmN0aW9uYWxpdGF0ZSIsCistICAgICAgIkZ1bmPIm2lvbmFsaXRhdGUiLAorLSAgICAgICJGdW5j xaNpb25hbGl0YXRlIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiRGF0ZSBmaWluZCAiLAorLSAgICAgICJEYXQgZmlpbmQgIiwKKy0gICAgICAiRGF0xIMg ZmlpbmQiLAorLSAgICAgICJEYXRpIGZpaW5kICIsCistICAgICAgIkRhyJtpIGZpaW5kICIsCist ICAgICAgIkRhxaNpIGZpaW5kICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiUm9tYW5pYW4iLAor LSAgICAibmF0aXZlIjogInJvbcOibsSDIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJT Y2VuYXJpdSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU3Ry dWN0dXJhIHNjZW5hcml1IiwKKy0gICAgICAiU3RydWN0dXLEgyBzY2VuYXJpdSIKKy0gICAgXSwK Ky0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQXR1bmNpICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQ2FuZCAiLAorLSAgICAgICJD w6JuZCAiCistICAgIF0KKy0gIH0sCistICAicnUiOiB7CistICAgICJhbmQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAi0JggIiwKKy0gICAgICAi0Jog0YLQvtC80YMg0LbQtSAiLAorLSAgICAg ICLQotCw0LrQttC1ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItCf 0YDQtdC00YvRgdGC0L7RgNC40Y8iLAorLSAgICAgICLQmtC+0L3RgtC10LrRgdGCIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItCd0L4gIiwKKy0gICAgICAi 0JAgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCf0YDQuNC80LXRgNGL IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0KTRg9C90LrRhtC40Y8iLAor LSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQu9GM0L3QvtGB0YLRjCIsCistICAgICAgItCk0YPQ vdC60YbQuNC+0L3QsNC7IiwKKy0gICAgICAi0KHQstC+0LnRgdGC0LLQviIKKy0gICAgXSwKKy0g ICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCU0L7Qv9GD0YHRgtC40LwgIiwK Ky0gICAgICAi0JTQsNC90L4gIiwKKy0gICAgICAi0J/Rg9GB0YLRjCAiLAorLSAgICAgICLQldGB 0LvQuCAiCistICAgIF0sCistICAgICJuYW1lIjogIlJ1c3NpYW4iLAorLSAgICAibmF0aXZlIjog ItGA0YPRgdGB0LrQuNC5IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQvdCw 0YDQuNC5IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQodGC 0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0LjRjyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAi0KLQviAiLAorLSAgICAgICLQl9Cw0YLQtdC8ICIsCist ICAgICAgItCi0L7Qs9C00LAgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLQmtC+0LPQtNCwICIKKy0gICAgXQorLSAgfSwKKy0gICJzayI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBICIsCistICAgICAgIkEgdGllxb4gIiwK Ky0gICAgICAiQSB0YWt0aWXFviAiLAorLSAgICAgICJBIHrDoXJvdmXFiCAiCistICAgIF0sCist ICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJQb3phZGllIgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgIkFsZSAiCistICAgIF0sCistICAgICJleGFtcGxl cyI6IFsKKy0gICAgICAiUHLDrWtsYWR5IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0g ICAgICAiUG/FvmlhZGF2a2EiLAorLSAgICAgICJGdW5rY2lhIiwKKy0gICAgICAiVmxhc3Rub3PF pSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlBva2lh xL4gIiwKKy0gICAgICAiWmEgcHJlZHBva2xhZHUgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJT bG92YWsiLAorLSAgICAibmF0aXZlIjogIlNsb3ZlbnNreSIsCistICAgICJzY2VuYXJpbyI6IFsK Ky0gICAgICAiU2NlbsOhciIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAiTsOhxI1ydCBTY2Vuw6FydSIsCistICAgICAgIk7DocSNcnQgU2NlbsOhcmEiLAorLSAg ICAgICJPc25vdmEgU2NlbsOhcmEiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIlRhayAiLAorLSAgICAgICJQb3RvbSAiCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIktlxI8gIiwKKy0gICAgICAiQWsgIgorLSAgICBd CistICB9LAorLSAgInNsIjogeworLSAgICAiYW5kIjogWworLSAgICAgICJJbiAiLAorLSAgICAg ICJUZXIgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiS29udGVrc3Qi LAorLSAgICAgICJPc25vdmEiLAorLSAgICAgICJPemFkamUiCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIlRvZGEgIiwKKy0gICAgICAiQW1wYWsgIiwKKy0gICAgICAiVmVuZGFyICIK Ky0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJQcmltZXJpIiwKKy0gICAgICAi U2NlbmFyaWppIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua2Npb25h bG5vc3QiLAorLSAgICAgICJGdW5rY2lqYSIsCistICAgICAgIk1vxb5ub3N0aSIsCistICAgICAg Ik1vem5vc3RpIiwKKy0gICAgICAiTGFzdG5vc3QiLAorLSAgICAgICJabmHEjWlsbm9zdCIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICJEYW5vICIsCistICAgICAgIlBvZGFubyAi LAorLSAgICAgICJaYXJhZGkgIiwKKy0gICAgICAiUHJpdnpldG8gIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJTbG92ZW5pYW4iLAorLSAgICAibmF0aXZlIjogIlNsb3ZlbnNraSIsCistICAgICJz Y2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaWoiLAorLSAgICAgICJQcmltZXIiCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlN0cnVrdHVyYSBzY2VuYXJpamEi LAorLSAgICAgICJTa2ljYSIsCistICAgICAgIktvbmNlcHQiLAorLSAgICAgICJPcmlzIHNjZW5h cmlqYSIsCistICAgICAgIk9zbnV0ZWsiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICJOYXRvICIsCistICAgICAgIlBvdGVtICIsCistICAgICAgIlRha3JhdCAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICJLbyAiLAorLSAgICAgICJDZSAiLAorLSAgICAgICLEjGUg IiwKKy0gICAgICAiS2FkYXIgIgorLSAgICBdCistICB9LAorLSAgInNyLUN5cmwiOiB7CistICAg ICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JggIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAi0JrQvtC90YLQtdC60YHRgiIsCistICAgICAgItCe0YHQvdC+ 0LLQsCIsCistICAgICAgItCf0L7Qt9Cw0LTQuNC90LAiCistICAgIF0sCistICAgICJidXQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAi0JDQu9C4ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVz IjogWworLSAgICAgICLQn9GA0LjQvNC10YDQuCIsCistICAgICAgItCh0YbQtdC90LDRgNC40ZjQ uCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgItCk0YPQvdC60YbQuNC+0L3Q sNC70L3QvtGB0YIiLAorLSAgICAgICLQnNC+0LPRg9Gb0L3QvtGB0YIiLAorLSAgICAgICLQntGB 0L7QsdC40L3QsCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgItCX0LAg0LTQsNGC0L4gIiwKKy0gICAgICAi0JfQsCDQtNCw0YLQtSAiLAorLSAgICAgICLQ l9CwINC00LDRgtC4ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU2VyYmlhbiIsCistICAgICJu YXRpdmUiOiAi0KHRgNC/0YHQutC4IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLQodGG 0LXQvdCw0YDQuNC+IiwKKy0gICAgICAi0J/RgNC40LzQtdGAIgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA 0LjRmNCwIiwKKy0gICAgICAi0KHQutC40YbQsCIsCistICAgICAgItCa0L7QvdGG0LXQv9GCIgor LSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQntC90LTQsCAi CistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCa0LDQtNCw ICIsCistICAgICAgItCa0LDQtCAiCistICAgIF0KKy0gIH0sCistICAic3ItTGF0biI6IHsKKy0g ICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJJICIKKy0gICAgXSwKKy0gICAgImJh Y2tncm91bmQiOiBbCistICAgICAgIktvbnRla3N0IiwKKy0gICAgICAiT3Nub3ZhIiwKKy0gICAg ICAiUG96YWRpbmEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiQWxpICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJQcmltZXJpIiwK Ky0gICAgICAiU2NlbmFyaWppIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi RnVua2Npb25hbG5vc3QiLAorLSAgICAgICJNb2d1xIdub3N0IiwKKy0gICAgICAiTW9ndWNub3N0 IiwKKy0gICAgICAiT3NvYmluYSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIlphIGRhdG8gIiwKKy0gICAgICAiWmEgZGF0ZSAiLAorLSAgICAgICJaYSBk YXRpICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU2VyYmlhbiAoTGF0aW4pIiwKKy0gICAgIm5h dGl2ZSI6ICJTcnBza2kgKExhdGluaWNhKSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi U2NlbmFyaW8iLAorLSAgICAgICJQcmltZXIiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxp bmUiOiBbCistICAgICAgIlN0cnVrdHVyYSBzY2VuYXJpamEiLAorLSAgICAgICJTa2ljYSIsCist ICAgICAgIktvbmNlcHQiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIk9uZGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJLYWRhICIsCistICAgICAgIkthZCAiCistICAgIF0KKy0gIH0sCistICAic3YiOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiT2NoICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgIkJha2dydW5kIgorLSAgICBdLAorLSAgICAiYnV0Ijog WworLSAgICAgICIqICIsCistICAgICAgIk1lbiAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6 IFsKKy0gICAgICAiRXhlbXBlbCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAg IkVnZW5za2FwIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiR2l2ZXQgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJTd2VkaXNoIiwKKy0gICAgIm5hdGl2 ZSI6ICJTdmVuc2thIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpbyIKKy0g ICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiQWJzdHJha3QgU2NlbmFy aW8iLAorLSAgICAgICJTY2VuYXJpb21hbGwiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIlPDpSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIk7DpHIgIgorLSAgICBdCistICB9LAorLSAgInRhIjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuCuruCvh+CusuCvgeCuruCvjSAgIiwKKy0g ICAgICAi4K6u4K6x4K+N4K6x4K+B4K6u4K+NICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQi OiBbCistICAgICAgIuCuquCuv+CuqeCvjeCuqeCuo+CuvyIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgrobgrqngrr7grrLgr40gICIKKy0gICAgXSwKKy0g ICAgImV4YW1wbGVzIjogWworLSAgICAgICLgro7grp/gr4HgrqTgr43grqTgr4HgrpXgr43grpXg rr7grp/gr43grp/gr4HgrpXgrrPgr40iLAorLSAgICAgICLgrpXgrr7grp/gr43grprgrr/grpXg rrPgr40iLAorLSAgICAgICIg4K6o4K6/4K6y4K+I4K6u4K+I4K6V4K6z4K6/4K6y4K+NIgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi4K6F4K6u4K+N4K6a4K6u4K+NIiwKKy0g ICAgICAi4K614K6j4K6/4K6VIOCupOCvh+CuteCviCIsCistICAgICAgIuCupOCuv+CuseCuqeCv jSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCuleCv huCuvuCun+CvgeCuleCvjeCuleCuquCvjeCuquCun+CvjeCunyAiCistICAgIF0sCistICAgICJu YW1lIjogIlRhbWlsIiwKKy0gICAgIm5hdGl2ZSI6ICLgrqTgrq7grr/grrTgr40iLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgIuCuleCuvuCun+CvjeCumuCuvyIKKy0gICAgXSwKKy0gICAg InNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi4K6V4K6+4K6f4K+N4K6a4K6/IOCumuCvgeCu sOCvgeCuleCvjeCuleCuruCvjSIsCistICAgICAgIuCuleCuvuCun+CvjeCumuCuvyDgrrXgrr7g rrDgr43grqrgr43grqrgr4HgrrDgr4EiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIuCuheCuquCvjeCuquCvhuCuvuCutOCvgeCupOCvgSAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCujuCuquCvjeCuquCvh+Cu vuCupOCvgSAiCistICAgIF0KKy0gIH0sCistICAidGgiOiB7CistICAgICJhbmQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi4LmB4Lil4LiwICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQi OiBbCistICAgICAgIuC5geC4meC4p+C4hOC4tOC4lCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLguYHguJXguYggIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIuC4iuC4uOC4lOC4guC4reC4h+C4leC4seC4p+C4reC4ouC5iOC4suC4 hyIsCistICAgICAgIuC4iuC4uOC4lOC4guC4reC4h+C5gOC4q+C4leC4uOC4geC4suC4o+C4k+C5 jCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuC5guC4hOC4o+C4h+C4q+C4 peC4seC4gSIsCistICAgICAgIuC4hOC4p+C4suC4oeC4leC5ieC4reC4h+C4geC4suC4o+C4l+C4 suC4h+C4mOC4uOC4o+C4geC4tOC4iCIsCistICAgICAgIuC4hOC4p+C4suC4oeC4quC4suC4oeC4 suC4o+C4liIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAg IuC4geC4s+C4q+C4meC4lOC5g+C4q+C5iSAiCistICAgIF0sCistICAgICJuYW1lIjogIlRoYWki LAorLSAgICAibmF0aXZlIjogIuC5hOC4l+C4oiIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAi4LmA4Lir4LiV4Li44LiB4Liy4Lij4LiT4LmMIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICLguKrguKPguLjguJvguYDguKvguJXguLjguIHguLLguKPguJPg uYwiLAorLSAgICAgICLguYLguITguKPguIfguKrguKPguYnguLLguIfguILguK3guIfguYDguKvg uJXguLjguIHguLLguKPguJPguYwiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIuC4lOC4seC4h+C4meC4seC5ieC4mSAiCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIuC5gOC4oeC4t+C5iOC4rSAiCistICAgIF0KKy0g IH0sCistICAidGwiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LCu 4LCw4LC/4LCv4LGBICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuCw qOCxh+CwquCwpeCxjeCwr+CwgiIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLgsJXgsL7gsKjgsL8gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCist ICAgICAgIuCwieCwpuCwvuCwueCwsOCwo+CwsuCxgSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUi OiBbCistICAgICAgIuCwl+CxgeCwo+CwruCxgSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIuCwmuCxhuCwquCxjeCwquCwrOCwoeCwv+CwqOCwpuCwvyAi CistICAgIF0sCistICAgICJuYW1lIjogIlRlbHVndSIsCistICAgICJuYXRpdmUiOiAi4LCk4LGG 4LCy4LGB4LCX4LGBIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLgsLjgsKjgsY3gsKjg sL/gsLXgsYfgsLbgsIIiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAg ICAgIuCwleCwpeCwqOCwgiIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi4LCF4LCq4LGN4LCq4LGB4LCh4LGBICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAi4LCIIOCwquCwsOCwv+CwuOCxjeCwpeCwv+CwpOCwv+Cw suCxiyAiCistICAgIF0KKy0gIH0sCistICAidGxoIjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgIidlaiAiLAorLSAgICAgICJsYXRsaCAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJtbyciCistICAgIF0sCistICAgICJidXQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiJ2FjaCAiLAorLSAgICAgICInYSAiCistICAgIF0sCistICAgICJl eGFtcGxlcyI6IFsKKy0gICAgICAiZ2hhbnRvSCIsCistICAgICAgImx1dG1leSIKKy0gICAgXSwK Ky0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlFhcCIsCistICAgICAgIlF1J21lSCAndXQiLAor LSAgICAgICJwZXJib2doIiwKKy0gICAgICAicG9RYm9naCBtYWxqYSciLAorLSAgICAgICJsYUgi CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJnaHUnIG5v Ymx1JyAiLAorLSAgICAgICJEYUggZ2h1JyBiZWpsdScgIgorLSAgICBdLAorLSAgICAibmFtZSI6 ICJLbGluZ29uIiwKKy0gICAgIm5hdGl2ZSI6ICJ0bGhJbmdhbiIsCistICAgICJzY2VuYXJpbyI6 IFsKKy0gICAgICAibHV0IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAg ICAgICJsdXQgY2hvdm5hdGxoIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJ2YWogIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJxYVNESScgIgorLSAgICBdCistICB9LAorLSAgInRyIjogeworLSAgICAiYW5kIjog WworLSAgICAgICIqICIsCistICAgICAgIlZlICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQi OiBbCistICAgICAgIkdlw6dtacWfIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIq ICIsCistICAgICAgIkZha2F0ICIsCistICAgICAgIkFtYSAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiw5ZybmVrbGVyIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsK Ky0gICAgICAiw5Z6ZWxsaWsiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJEaXllbGltIGtpICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiVHVya2lzaCIs CistICAgICJuYXRpdmUiOiAiVMO8cmvDp2UiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg IlNlbmFyeW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNl bmFyeW8gdGFzbGHEn8SxIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJPIHphbWFuICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiRcSfZXIga2kgIgorLSAgICBdCistICB9LAorLSAgInR0IjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgItK605nQvCAiLAorLSAgICAgICLQktOZICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItCa0LXRgNC10YgiCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JvTmdC60LjQvSAiLAorLSAg ICAgICLTmNC80LzQsCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi0q7R gNC905nQutC705nRgCIsCistICAgICAgItCc0LjRgdCw0LvQu9Cw0YAiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICLQnNOp0LzQutC40L3Qu9C10LoiLAorLSAgICAgICLSrtC3 0LXQvdGH05nQu9C10LrQu9C10LvQtdC6IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi05jQudGC0LjQuiAiCistICAgIF0sCistICAgICJuYW1lIjogIlRh dGFyIiwKKy0gICAgIm5hdGl2ZSI6ICLQotCw0YLQsNGA0YfQsCIsCistICAgICJzY2VuYXJpbyI6 IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0LjQuSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0 bGluZSI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0LjQudC90YvSoyDRgtOp0LfQtdC70LXRiNC1 IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQndOZ0YLQ uNKX05nQtNOZICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi05jQs9OZ0YAgIgorLSAgICBdCistICB9LAorLSAgInVrIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgItCGICIsCistICAgICAgItCQINGC0LDQutC+0LYgIiwKKy0g ICAgICAi0KLQsCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQn9C1 0YDQtdC00YPQvNC+0LLQsCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLQkNC70LUgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCf 0YDQuNC60LvQsNC00LgiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD 0L3QutGG0ZbQvtC90LDQuyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIs CistICAgICAgItCf0YDQuNC/0YPRgdGC0LjQvNC+ICIsCistICAgICAgItCf0YDQuNC/0YPRgdGC 0LjQvNC+LCDRidC+ICIsCistICAgICAgItCd0LXRhdCw0LkgIiwKKy0gICAgICAi0JTQsNC90L4g IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJVa3JhaW5pYW4iLAorLSAgICAibmF0aXZlIjogItCj 0LrRgNCw0ZfQvdGB0YzQutCwIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQ vdCw0YDRltC5IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQ odGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0ZbRjiIKKy0gICAgXSwKKy0gICAgInRoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLQviAiLAorLSAgICAgICLQotC+0LTRliAiCist ICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCv0LrRidC+ICIs CistICAgICAgItCa0L7Qu9C4ICIKKy0gICAgXQorLSAgfSwKKy0gICJ1ciI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLYp9mI2LEgIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAi2b7YsyDZhdmG2LjYsSIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZhNuM2qnZhiAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAi2YXYq9in2YTbjNq6IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6 IFsKKy0gICAgICAi2LXZhNin2K3bjNiqIiwKKy0gICAgICAi2qnYp9ix2YjYqNin2LEg2qnbjCDY ttix2YjYsdiqIiwKKy0gICAgICAi2K7YtdmI2LXbjNiqIgorLSAgICBdLAorLSAgICAiZ2l2ZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAi2Kfar9ixICIsCistICAgICAgItio2KfZhNmB2LHY tiAiLAorLSAgICAgICLZgdix2LYg2qnbjNinICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiVXJk dSIsCistICAgICJuYXRpdmUiOiAi2KfYsdiv2YgiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgItmF2YbYuNix2YbYp9mF24EiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBb CistICAgICAgItmF2YbYuNixINmG2KfZhduSINqp2Kcg2K7Yp9qp24EiCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItm+2r7YsSAiLAorLSAgICAgICLYqtio ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2KzYqCAi CistICAgIF0KKy0gIH0sCistICAidXoiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi0JLQsCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQ otCw0YDQuNGFIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAg ItCb0LXQutC40L0gIiwKKy0gICAgICAi0JHQuNGA0L7QuiAiLAorLSAgICAgICLQkNC80LzQviAi CistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi0JzQuNGB0L7Qu9C70LDRgCIK Ky0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgItCk0YPQvdC60YbQuNC+0L3QsNC7 IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JDQs9Cw 0YAgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJVemJlayIsCistICAgICJuYXRpdmUiOiAi0KPQ t9Cx0LXQutGH0LAiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItCh0YbQtdC90LDRgNC4 0LkiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItCh0YbQtdC9 0LDRgNC40Lkg0YHRgtGA0YPQutGC0YPRgNCw0YHQuCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAi0KPQvdC00LAgIgorLSAgICBdLAorLSAgICAid2hlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQkNCz0LDRgCAiCistICAgIF0KKy0gIH0sCistICAi dmkiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVsOgICIKKy0gICAg XSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkLhu5FpIGPhuqNuaCIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJOaMawbmcgIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkThu68gbGnhu4d1IgorLSAgICBdLAorLSAgICAi ZmVhdHVyZSI6IFsKKy0gICAgICAiVMOtbmggbsSDbmciCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJCaeG6v3QgIiwKKy0gICAgICAiQ2hvICIKKy0gICAg XSwKKy0gICAgIm5hbWUiOiAiVmlldG5hbWVzZSIsCistICAgICJuYXRpdmUiOiAiVGnhur9uZyBW aeG7h3QiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlTDrG5oIGh14buRbmciLAorLSAg ICAgICJL4buLY2ggYuG6o24iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIktodW5nIHTDrG5oIGh14buRbmciLAorLSAgICAgICJLaHVuZyBr4buLY2ggYuG6o24i CistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRow6wgIgor LSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLaGkgIgorLSAg ICBdCistICB9LAorLSAgInpoLUNOIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCist ICAgICAgIuiAjOS4lCIsCistICAgICAgIuW5tuS4lCIsCistICAgICAgIuWQjOaXtiIKKy0gICAg XSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuiDjOaZryIKKy0gICAgXSwKKy0gICAg ImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLkvYbmmK8iCistICAgIF0sCistICAgICJl eGFtcGxlcyI6IFsKKy0gICAgICAi5L6L5a2QIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsK Ky0gICAgICAi5Yqf6IO9IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi5YGH5aaCIiwKKy0gICAgICAi5YGH6K6+IiwKKy0gICAgICAi5YGH5a6aIgorLSAg ICBdLAorLSAgICAibmFtZSI6ICJDaGluZXNlIHNpbXBsaWZpZWQiLAorLSAgICAibmF0aXZlIjog IueugOS9k+S4reaWhyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi5Zy65pmvIiwKKy0g ICAgICAi5Ymn5pysIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICLlnLrmma/lpKfnurIiLAorLSAgICAgICLliafmnKzlpKfnurIiCistICAgIF0sCistICAgICJ0 aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIumCo+S5iCIKKy0gICAgXSwKKy0gICAgIndo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi5b2TIgorLSAgICBdCistICB9LAorLSAgInpo LVRXIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuiAjOS4lCIsCist ICAgICAgIuS4puS4lCIsCistICAgICAgIuWQjOaZgiIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgIuiDjOaZryIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICLkvYbmmK8iCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAg ICAi5L6L5a2QIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi5Yqf6IO9Igor LSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi5YGH5aaCIiwK Ky0gICAgICAi5YGH6KitIiwKKy0gICAgICAi5YGH5a6aIgorLSAgICBdLAorLSAgICAibmFtZSI6 ICJDaGluZXNlIHRyYWRpdGlvbmFsIiwKKy0gICAgIm5hdGl2ZSI6ICLnuYHpq5TkuK3mlociLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuWgtOaZryIsCistICAgICAgIuWKh+acrCIKKy0g ICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi5aC05pmv5aSn57axIiwK Ky0gICAgICAi5YqH5pys5aSn57axIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICLpgqPpurwiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIueVtiIKKy0gICAgXQorLSAgfQorLX0KZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTUtQ0xFQU5VUC1S ZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTUtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1w YXJ0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmNhZTkyODll YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNTUtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRj aApAQCAtMCwwICsxLDczNiBAQAorRnJvbSA1MGY4MTg1MmFkZjBlZmEyNDkwZGJhYTk1Y2RlODcz MjI5OGExYTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDEzIEp1bCAyMDE5IDEzOjIx OjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENMRUFOVVA6IFJlbW92ZSBkZXByZWNhdGVkIHBh cnRzLgorCistLS0KKyBiaW4vY29udmVydF9pMThuX3lhbWwucHkgfCAgNzcgLS0tLS0KKyBiaW4v aTE4bi55bWwgICAgICAgICAgICAgfCA2MzUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3MTIgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1v ZGUgMTAwNzU1IGJpbi9jb252ZXJ0X2kxOG5feWFtbC5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBi aW4vaTE4bi55bWwKKworZGlmZiAtLWdpdCBhL2Jpbi9jb252ZXJ0X2kxOG5feWFtbC5weSBiL2Jp bi9jb252ZXJ0X2kxOG5feWFtbC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCBk NmE2NzEzLi4wMDAwMDAwCistLS0gYS9iaW4vY29udmVydF9pMThuX3lhbWwucHkKKysrKyAvZGV2 L251bGwKK0BAIC0xLDc3ICswLDAgQEAKKy0jIS91c3IvYmluL2VudiBweXRob24KKy0jIC0qLSBj b2Rpbmc6IFVURi04IC0qLQorLSMgVVNBR0U6IGNvbnZlcnRfaTE4bl95YW1sLnB5IFstLWRhdGE9 aTE4bi55bWxdIGJlaGF2ZS9pMThuLnB5CistIiIiCistR2VuZXJhdGVzIEkxOE4gcHl0aG9uIG1v ZHVsZSBiYXNlZCBvbiBZQU1MIGRlc2NyaXB0aW9uIChpMThuLnltbCkuCistCistUkVRVUlSRVM6 CistICAqIGFyZ3BhcnNlCistICAqIHNpeAorLSAgKiBQeVlBTUwKKy0iIiIKKy0KKy1mcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKy1pbXBvcnQg YXJncGFyc2UKKy1pbXBvcnQgb3MucGF0aAorLWltcG9ydCBzaXgKKy1pbXBvcnQgc3lzCistaW1w b3J0IHBwcmludAorLWltcG9ydCB5YW1sCistCistSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2Zp bGVfXykKKy1OQU1FID0gb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykKKy1fX3ZlcnNpb25fXyA9 ICIxLjAiCistCistZGVmIHlhbWxfbm9ybWFsaXplKGRhdGEpOgorLSAgICBmb3IgcGFydCBpbiBk YXRhOgorLSAgICAgICAga2V5d29yZHMgPSBkYXRhW3BhcnRdCistICAgICAgICBmb3IgayBpbiBr ZXl3b3JkczoKKy0gICAgICAgICAgICB2ID0ga2V5d29yZHNba10KKy0gICAgICAgICAgICAjIGJs b29keSBZQU1MIHBhcnNlciByZXR1cm5zIGEgbWl4dHVyZSBvZiB1bmljb2RlIGFuZCBzdHIKKy0g ICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2LCBzaXgudGV4dF90eXBlKToKKy0gICAgICAg ICAgICAgICAgdiA9IHYuZGVjb2RlKCJVVEYtOCIpCistICAgICAgICAgICAga2V5d29yZHNba10g PSB2LnNwbGl0KCJ8IikKKy0gICAgcmV0dXJuIGRhdGEKKy0KKy1kZWYgbWFpbihhcmdzPU5vbmUp OgorLSAgICBpZiBhcmdzIGlzIE5vbmU6CistICAgICAgICBhcmdzID0gc3lzLmFyZ3ZbMTpdCist ICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKHByb2c9TkFNRSwKKy0gICAgICAg ICAgICAgICAgZGVzY3JpcHRpb249IkdlbmVyYXRlIHB5dGhvbiBtb2R1bGUgaTE4biBmcm9tIFlB TUwgYmFzZWQgZGF0YSIpCistICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi1kIiwgIi0tZGF0YSIs IGRlc3Q9InlhbWxfZmlsZSIsCistICAgICAgICAgICAgICAgIGRlZmF1bHQ9b3MucGF0aC5qb2lu KEhFUkUsICJpMThuLnltbCIpLAorLSAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGkxOG4u eW1sIGZpbGUgKFlBTUwgZmlsZSkuIikKKy0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgib3V0cHV0 X2ZpbGUiLCBkZWZhdWx0PSJzdGRvdXQiLAorLSAgICAgICAgICAgICAgICBoZWxwPSJGaWxlbmFt ZSBvZiBQeXRob24gSTE4TiBtb2R1bGUgKGFzIG91dHB1dCkuIikKKy0gICAgcGFyc2VyLmFkZF9h cmd1bWVudCgiLS12ZXJzaW9uIiwgYWN0aW9uPSJ2ZXJzaW9uIiwgdmVyc2lvbj1fX3ZlcnNpb25f XykKKy0KKy0gICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKGFyZ3MpCistICAgIGlmIG5v dCBvcy5wYXRoLmlzZmlsZShvcHRpb25zLnlhbWxfZmlsZSk6CistICAgICAgICBwYXJzZXIuZXJy b3IoIllBTUwgZmlsZSBub3QgZm91bmQ6ICVzIiAlIG9wdGlvbnMueWFtbF9maWxlKQorLQorLSAg ICAjIC0tIFNURVAgMTogTG9hZCBZQU1MIGRhdGEuCistICAgIGxhbmd1YWdlcyA9IHlhbWwubG9h ZChvcGVuKG9wdGlvbnMueWFtbF9maWxlKSkKKy0gICAgbGFuZ3VhZ2VzID0geWFtbF9ub3JtYWxp emUobGFuZ3VhZ2VzKQorLQorLSAgICAjIC0tIFNURVAgMjogR2VuZXJhdGUgcHl0aG9uIG1vZHVs ZSB3aXRoIGkxOG4gZGF0YS4KKy0gICAgY29udGVudHMgPSB1IiIiIyAtKi0gY29kaW5nOiBVVEYt OCAtKi0KKy0jIC0tIEZJTEUgR0VORVJBVEVEIEJZOiBjb252ZXJ0X2kxOG5feWFtbC5weSB3aXRo IGkxOG4ueW1sCistIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworLQorLWxhbmd1YWdl cyA9IFxcCistIiIiCistICAgIGlmIG9wdGlvbnMub3V0cHV0X2ZpbGUgaW4gKCItIiwgInN0ZG91 dCIpOgorLSAgICAgICAgaTE4bl9weSA9IHN5cy5zdGRvdXQKKy0gICAgICAgIHNob3VsZF9jbG9z ZSA9IEZhbHNlCistICAgIGVsc2U6CistICAgICAgICBpMThuX3B5ID0gb3BlbihvcHRpb25zLm91 dHB1dF9maWxlLCAidyIpCistICAgICAgICBzaG91bGRfY2xvc2UgPSBUcnVlCistICAgIGkxOG5f cHkud3JpdGUoY29udGVudHMuZW5jb2RlKCJVVEYtOCIpKQorLSAgICBpMThuX3B5LndyaXRlKHBw cmludC5wZm9ybWF0KGxhbmd1YWdlcykuZW5jb2RlKCJVVEYtOCIpKQorLSAgICBpMThuX3B5Lndy aXRlKHUiXG4iKQorLSAgICBpZiBzaG91bGRfY2xvc2U6CistICAgICAgICBpMThuX3B5LmNsb3Nl KCkKKy0gICAgcmV0dXJuIDAKKy0KKy1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorLSAgICBz eXMuZXhpdChtYWluKCkpCitkaWZmIC0tZ2l0IGEvYmluL2kxOG4ueW1sIGIvYmluL2kxOG4ueW1s CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDgyMzQ1YTQuLjAwMDAwMDAKKy0tLSBh L2Jpbi9pMThuLnltbAorKysrIC9kZXYvbnVsbAorQEAgLTEsNjM1ICswLDAgQEAKKy0jIGVuY29k aW5nOiBVVEYtOAorLSMKKy0jIFdlIHVzZSBJU08gNjM5LTEgKGxhbmd1YWdlKSBhbmQgSVNPIDMx NjYgYWxwaGEtMiAocmVnaW9uIC0gaWYgYXBwbGljYWJsZSk6CistIyBodHRwOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL0xpc3Rfb2ZfSVNPXzYzOS0xX2NvZGVzCistIyBodHRwOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL0lTT18zMTY2LTEKKy0jCistIyBJZiB5b3Ugd2FudCBzZXZlcmFsIGFsaWFz ZXMgZm9yIGEga2V5d29yZCwganVzdCBzZXBhcmF0ZSB0aGVtCistIyB3aXRoIGEgfCBjaGFyYWN0 ZXIuIFRoZSAqIGlzIGEgc3RlcCBrZXl3b3JkIGFsaWFzIGZvciBhbGwgdHJhbnNsYXRpb25zLgor LSMKKy0jIElmIHlvdSBkbyAqbm90KiB3YW50IGEgdHJhaWxpbmcgc3BhY2UgYWZ0ZXIgYSBrZXl3 b3JkLCBlbmQgaXQgd2l0aCBhIDwgY2hhcmFjdGVyLgorLSMgKFNlZSBDaGluZXNlIGZvciBleGFt cGxlcykuCistIworLSMgVGhpcyBmaWxlIGNvcHlyaWdodCAoYykgMjAwOS0yMDExIE1pa2UgU2Fz c2FrLCBHcmVnb3J5IEhuYXRpdWssIEFzbGFrIEhlbGxlc8O4eQorLSMKKy0jIFBlcm1pc3Npb24g aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu ZworLSMgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv biBmaWxlcyAodGhlCistIyAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0 aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCistIyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJp Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCistIyBkaXN0cmlidXRl LCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8K Ky0jIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBk byBzbywgc3ViamVjdCB0bworLSMgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorLSMKKy0jIFRo ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs IGJlCistIyBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m IHRoZSBTb2Z0d2FyZS4KKy0jCistIyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKy0jIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorLSMgTUVSQ0hBTlRB QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKKy0jIE5PTklORlJJ TkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF UlMgQkUKKy0jIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04KKy0jIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lT RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTgorLSMgV0lUSCBUSEUgU09G VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCistCist ImVuIjoKKy0gIG5hbWU6IEVuZ2xpc2gKKy0gIG5hdGl2ZTogRW5nbGlzaAorLSAgZmVhdHVyZTog RmVhdHVyZQorLSAgYmFja2dyb3VuZDogQmFja2dyb3VuZAorLSAgc2NlbmFyaW86IFNjZW5hcmlv CistICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuYXJpbyBPdXRsaW5lfFNjZW5hcmlvIFRlbXBsYXRl CistICBleGFtcGxlczogRXhhbXBsZXN8U2NlbmFyaW9zCistICBnaXZlbjogIip8R2l2ZW4iCist ICB3aGVuOiAiKnxXaGVuIgorLSAgdGhlbjogIip8VGhlbiIKKy0gIGFuZDogIip8QW5kIgorLSAg YnV0OiAiKnxCdXQiCistCistIyBQbGVhc2Uga2VlcCB0aGUgZ3JhbW1hcnMgaW4gYWxwaGFiZXRp Y2FsIG9yZGVyIGJ5IG5hbWUgZnJvbSBoZXJlIGFuZCBkb3duLgorLQorLSJhciI6CistICBuYW1l OiBBcmFiaWMKKy0gIG5hdGl2ZTog2KfZhNi52LHYqNmK2KkKKy0gIGZlYXR1cmU6INiu2KfYtdmK 2KkKKy0gIGJhY2tncm91bmQ6INin2YTYrtmE2YHZitipCistICBzY2VuYXJpbzog2LPZitmG2KfY sdmK2YgKKy0gIHNjZW5hcmlvX291dGxpbmU6INiz2YrZhtin2LHZitmIINmF2K7Yt9i3CistICBl eGFtcGxlczog2KfZhdir2YTYqQorLSAgZ2l2ZW46ICIqfNio2YHYsdi2IgorLSAgd2hlbjogIip8 2YXYqtmJfNi52YbYr9mF2KciCistICB0aGVuOiAiKnzYp9iw2KfZi3zYq9mFIgorLSAgYW5kOiAi KnzZiCIKKy0gIGJ1dDogIip82YTZg9mGIgorLSJiZyI6CistICBuYW1lOiBCdWxnYXJpYW4KKy0g IG5hdGl2ZTog0LHRitC70LPQsNGA0YHQutC4CistICBmZWF0dXJlOiDQpNGD0L3QutGG0LjQvtC9 0LDQu9C90L7RgdGCCistICBiYWNrZ3JvdW5kOiDQn9GA0LXQtNC40YHRgtC+0YDQuNGPCistICBz Y2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQorLSAgc2NlbmFyaW9fb3V0bGluZTog0KDQsNC80LrQ sCDQvdCwINGB0YbQtdC90LDRgNC40LkKKy0gIGV4YW1wbGVzOiDQn9GA0LjQvNC10YDQuAorLSAg Z2l2ZW46ICIqfNCU0LDQtNC10L3QviIKKy0gIHdoZW46ICIqfNCa0L7Qs9Cw0YLQviIKKy0gIHRo ZW46ICIqfNCi0L4iCistICBhbmQ6ICIqfNCYIgorLSAgYnV0OiAiKnzQndC+IgorLSJjYSI6Cist ICBuYW1lOiBDYXRhbGFuCistICBuYXRpdmU6IGNhdGFsw6AKKy0gIGJhY2tncm91bmQ6IFJlcmVm b25zfEFudGVjZWRlbnRzCistICBmZWF0dXJlOiBDYXJhY3RlcsOtc3RpY2F8RnVuY2lvbmFsaXRh dAorLSAgc2NlbmFyaW86IEVzY2VuYXJpCistICBzY2VuYXJpb19vdXRsaW5lOiBFc3F1ZW1hIGRl IGwnZXNjZW5hcmkKKy0gIGV4YW1wbGVzOiBFeGVtcGxlcworLSAgZ2l2ZW46ICIqfERvbmF0fERv bmFkYXxBdMOoc3xBdGVzYSIKKy0gIHdoZW46ICIqfFF1YW4iCistICB0aGVuOiAiKnxBbGVzaG9y ZXN8Q2FsIgorLSAgYW5kOiAiKnxJIgorLSAgYnV0OiAiKnxQZXLDsiIKKy0iY3ktR0IiOgorLSAg bmFtZTogV2Vsc2gKKy0gIG5hdGl2ZTogQ3ltcmFlZworLSAgYmFja2dyb3VuZDogQ2VmbmRpcgor LSAgZmVhdHVyZTogQXJ3ZWRkCistICBzY2VuYXJpbzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291 dGxpbmU6IFNjZW5hcmlvIEFtbGluZWxsb2wKKy0gIGV4YW1wbGVzOiBFbmdocmVpZmZ0aWF1Cist ICBnaXZlbjogIip8QW5yaGVnZWRpZyBhIgorLSAgd2hlbjogIip8UHJ5ZCIKKy0gIHRoZW46ICIq fFluYSIKKy0gIGFuZDogIip8QSIKKy0gIGJ1dDogIip8T25kIgorLSJjcyI6CistICBuYW1lOiBD emVjaAorLSAgbmF0aXZlOiDEjGVza3kKKy0gIGZlYXR1cmU6IFBvxb5hZGF2ZWsKKy0gIGJhY2tn cm91bmQ6IFBvemFkw618S29udGV4dAorLSAgc2NlbmFyaW86IFNjw6luw6HFmQorLSAgc2NlbmFy aW9fb3V0bGluZTogTsOhxI1ydCBTY8OpbsOhxZllfE9zbm92YSBzY8OpbsOhxZllCistICBleGFt cGxlczogUMWZw61rbGFkeQorLSAgZ2l2ZW46ICIqfFBva3VkfFphIHDFmWVkcG9rbGFkdSIKKy0g IHdoZW46ICIqfEtkecW+IgorLSAgdGhlbjogIip8UGFrIgorLSAgYW5kOiAiKnxBfEEgdGFrw6ki CistICBidXQ6ICIqfEFsZSIKKy0iZGEiOgorLSAgbmFtZTogRGFuaXNoCistICBuYXRpdmU6IGRh bnNrCistICBmZWF0dXJlOiBFZ2Vuc2thYgorLSAgYmFja2dyb3VuZDogQmFnZ3J1bmQKKy0gIHNj ZW5hcmlvOiBTY2VuYXJpZQorLSAgc2NlbmFyaW9fb3V0bGluZTogQWJzdHJha3QgU2NlbmFyaW8K Ky0gIGV4YW1wbGVzOiBFa3NlbXBsZXIKKy0gIGdpdmVuOiAiKnxHaXZldCIKKy0gIHdoZW46ICIq fE7DpXIiCistICB0aGVuOiAiKnxTw6UiCistICBhbmQ6ICIqfE9nIgorLSAgYnV0OiAiKnxNZW4i CistImRlIjoKKy0gIG5hbWU6IEdlcm1hbgorLSAgbmF0aXZlOiBEZXV0c2NoCistICBmZWF0dXJl OiBGdW5rdGlvbmFsaXTDpHQKKy0gIGJhY2tncm91bmQ6IEdydW5kbGFnZQorLSAgc2NlbmFyaW86 IFN6ZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5lOiBTemVuYXJpb2dydW5kcmlzcworLSAgZXhh bXBsZXM6IEJlaXNwaWVsZQorLSAgZ2l2ZW46ICIqfEFuZ2Vub21tZW58R2VnZWJlbiBzZWkiCist ICB3aGVuOiAiKnxXZW5uIgorLSAgdGhlbjogIip8RGFubiIKKy0gIGFuZDogIip8VW5kIgorLSAg YnV0OiAiKnxBYmVyIgorLSJlbi1hdSI6CistICBuYW1lOiBBdXN0cmFsaWFuCistICBuYXRpdmU6 IEF1c3RyYWxpYW4KKy0gIGZlYXR1cmU6IENyaWtleQorLSAgYmFja2dyb3VuZDogQmFja2dyb3Vu ZAorLSAgc2NlbmFyaW86IE1hdGUKKy0gIHNjZW5hcmlvX291dGxpbmU6IEJsb2tlcworLSAgZXhh bXBsZXM6IENvYmJlcgorLSAgZ2l2ZW46ICIqfFlhIGtub3cgaG93IgorLSAgd2hlbjogIip8V2hl biIKKy0gIHRoZW46ICIqfFlhIGdvdHRhIgorLSAgYW5kOiAiKnxOIgorLSAgYnV0OiAiKnxDZXB0 IgorLSJlbi1sb2wiOgorLSAgbmFtZTogTE9MQ0FUCistICBuYXRpdmU6IExPTENBVAorLSAgZmVh dHVyZTogT0ggSEFJCistICBiYWNrZ3JvdW5kOiBCNAorLSAgc2NlbmFyaW86IE1JU0hVTgorLSAg c2NlbmFyaW9fb3V0bGluZTogTUlTSFVOIFNSU0xZCistICBleGFtcGxlczogRVhBTVBMWgorLSAg Z2l2ZW46ICIqfEkgQ0FOIEhBWiIKKy0gIHdoZW46ICIqfFdFTiIKKy0gIHRoZW46ICIqfERFTiIK Ky0gIGFuZDogIip8QU4iCistICBidXQ6ICIqfEJVVCIKKy0iZW4tcGlyYXRlIjoKKy0gIG5hbWU6 IFBpcmF0ZQorLSAgbmF0aXZlOiBQaXJhdGUKKy0gIGZlYXR1cmU6IEFob3kgbWF0ZXkhCistICBi YWNrZ3JvdW5kOiBZby1oby1obworLSAgc2NlbmFyaW86IEhlYXZlIHRvCistICBzY2VuYXJpb19v dXRsaW5lOiBTaGl2ZXIgbWUgdGltYmVycworLSAgZXhhbXBsZXM6IERlYWQgbWVuIHRlbGwgbm8g dGFsZXMKKy0gIGdpdmVuOiAiKnxHYW5nd2F5ISIKKy0gIHdoZW46ICIqfEJsaW1leSEiCistICB0 aGVuOiAiKnxMZXQgZ28gYW5kIGhhdWwiCistICBhbmQ6ICIqfEF5ZSIKKy0gIGJ1dDogIip8QXZh c3QhIgorLSJlbi1TY291c2UiOgorLSAgbmFtZTogU2NvdXNlCistICBuYXRpdmU6IFNjb3VzZQor LSAgZmVhdHVyZTogRmVhdHVyZQorLSAgYmFja2dyb3VuZDogIkRpcyBpcyB3aGF0IHdlbnQgZG93 biIKKy0gIHNjZW5hcmlvOiAiVGhlIHRoaW5nIG9mIGl0IGlzIgorLSAgc2NlbmFyaW9fb3V0bGlu ZTogIldoYXJyaW1lYW4gaXMiCistICBleGFtcGxlczogRXhhbXBsZXMKKy0gIGdpdmVuOiAiKnxH aXZ1bnxZb3VzZSBrbm93IHdoZW4geW91c2UgZ290IgorLSAgd2hlbjogIip8V3VufFlvdXNlIGtu b3cgbGlrZSB3aGVuIgorLSAgdGhlbjogIip8RHVufERlbiB5b3VzZSBnb3R0YSIKKy0gIGFuZDog Iip8QW4iCistICBidXQ6ICIqfEJ1aCIKKy0iZW4tdHgiOgorLSAgbmFtZTogVGV4YW4KKy0gIG5h dGl2ZTogVGV4YW4KKy0gIGZlYXR1cmU6IEZlYXR1cmUKKy0gIGJhY2tncm91bmQ6IEJhY2tncm91 bmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogQWxsIHknYWxs CistICBleGFtcGxlczogRXhhbXBsZXMKKy0gIGdpdmVuOiAiKnxHaXZlbiB5J2FsbCIKKy0gIHdo ZW46ICIqfFdoZW4geSdhbGwiCistICB0aGVuOiAiKnxUaGVuIHknYWxsIgorLSAgYW5kOiAiKnxB bmQgeSdhbGwiCistICBidXQ6ICIqfEJ1dCB5J2FsbCIKKy0iZW8iOgorLSAgbmFtZTogRXNwZXJh bnRvCistICBuYXRpdmU6IEVzcGVyYW50bworLSAgZmVhdHVyZTogVHJhanRvCistICBiYWNrZ3Jv dW5kOiBGb25vCistICBzY2VuYXJpbzogU2NlbmFybworLSAgc2NlbmFyaW9fb3V0bGluZTogS29u dHVybyBkZSBsYSBzY2VuYXJvCistICBleGFtcGxlczogRWt6ZW1wbG9qCistICBnaXZlbjogIip8 RG9uaXRhxLVvIgorLSAgd2hlbjogIip8U2UiCistICB0aGVuOiAiKnxEbyIKKy0gIGFuZDogIip8 S2FqIgorLSAgYnV0OiAiKnxTZWQiCistImVzIjoKKy0gIG5hbWU6IFNwYW5pc2gKKy0gIG5hdGl2 ZTogZXNwYcOxb2wKKy0gIGJhY2tncm91bmQ6IEFudGVjZWRlbnRlcworLSAgZmVhdHVyZTogQ2Fy YWN0ZXLDrXN0aWNhCistICBzY2VuYXJpbzogRXNjZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5l OiBFc3F1ZW1hIGRlbCBlc2NlbmFyaW8KKy0gIGV4YW1wbGVzOiBFamVtcGxvcworLSAgZ2l2ZW46 ICIqfERhZG98RGFkYXxEYWRvc3xEYWRhcyIKKy0gIHdoZW46ICIqfEN1YW5kbyIKKy0gIHRoZW46 ICIqfEVudG9uY2VzIgorLSAgYW5kOiAiKnxZIgorLSAgYnV0OiAiKnxQZXJvIgorLSJldCI6Cist ICBuYW1lOiBFc3RvbmlhbgorLSAgbmF0aXZlOiBlZXN0aSBrZWVsCistICBmZWF0dXJlOiBPbWFk dXMKKy0gIGJhY2tncm91bmQ6IFRhdXN0CistICBzY2VuYXJpbzogU3RzZW5hYXJpdW0KKy0gIHNj ZW5hcmlvX291dGxpbmU6IFJhYW1zdHNlbmFhcml1bQorLSAgZXhhbXBsZXM6IEp1aHR1bWlkCist ICBnaXZlbjogIip8RWVsZGFkZXMiCistICB3aGVuOiAiKnxLdWkiCistICB0aGVuOiAiKnxTaWlz IgorLSAgYW5kOiAiKnxKYSIKKy0gIGJ1dDogIip8S3VpZCIKKy0iZmkiOgorLSAgbmFtZTogRmlu bmlzaAorLSAgbmF0aXZlOiBzdW9taQorLSAgZmVhdHVyZTogT21pbmFpc3V1cworLSAgYmFja2dy b3VuZDogVGF1c3RhCistICBzY2VuYXJpbzogVGFwYXVzCistICBzY2VuYXJpb19vdXRsaW5lOiBU YXBhdXNhaWhpbworLSAgZXhhbXBsZXM6IFRhcGF1a3NldAorLSAgZ2l2ZW46ICIqfE9sZXRldGFh biIKKy0gIHdoZW46ICIqfEt1biIKKy0gIHRoZW46ICIqfE5paW4iCistICBhbmQ6ICIqfEphIgor LSAgYnV0OiAiKnxNdXR0YSIKKy0iZnIiOgorLSAgbmFtZTogRnJlbmNoCistICBuYXRpdmU6IGZy YW7Dp2FpcworLSAgZmVhdHVyZTogRm9uY3Rpb25uYWxpdMOpCistICBiYWNrZ3JvdW5kOiBDb250 ZXh0ZQorLSAgc2NlbmFyaW86IFNjw6luYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogUGxhbiBk dSBzY8OpbmFyaW98UGxhbiBkdSBTY8OpbmFyaW8KKy0gIGV4YW1wbGVzOiBFeGVtcGxlcworLSAg Z2l2ZW46ICIqfFNvaXR8RXRhbnQgZG9ubsOpfEV0YW50IGRvbm7DqWV8RXRhbnQgZG9ubsOpc3xF dGFudCBkb25uw6llc3zDiXRhbnQgZG9ubsOpfMOJdGFudCBkb25uw6llfMOJdGFudCBkb25uw6lz fMOJdGFudCBkb25uw6llcyIKKy0gIHdoZW46ICIqfFF1YW5kfExvcnNxdWV8TG9yc3F1JzwiCist ICB0aGVuOiAiKnxBbG9ycyIKKy0gIGFuZDogIip8RXQiCistICBidXQ6ICIqfE1haXMiCistImds IjoKKy0gIG5hbWU6IEdhbGljaWFuCistICBuYXRpdmU6IGdhbGVnbworLSAgZmVhdHVyZTogQ2Fy YWN0ZXLDrXN0aWNhCistICBiYWNrZ3JvdW5kOiBDb250ZXh0bworLSAgc2NlbmFyaW86IEVzY2Vu YXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogIkVzYm96byBkbyBlc2NlbmFyaW8iCistICBleGFt cGxlczogRXhlbXBsb3MKKy0gIGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8RGFkYXMiCistICB3 aGVuOiAiKnxDYW5kbyIKKy0gIHRoZW46ICIqfEVudMOzbnxMb2dvIgorLSAgYW5kOiAiKnxFIgor LSAgYnV0OiAiKnxNYWlzfFBlcm8iCistCistImhlIjoKKy0gIG5hbWU6IEhlYnJldworLSAgbmF0 aXZlOiDXoteR16jXmdeqCistICBmZWF0dXJlOiDXqteb15XXoNeUCistICBiYWNrZ3JvdW5kOiDX qNen16IKKy0gIHNjZW5hcmlvOiDXqteo15fXmdepCistICBzY2VuYXJpb19vdXRsaW5lOiDXqteR 16DXmdeqINeq16jXl9eZ16kKKy0gIGV4YW1wbGVzOiDXk9eV15LXnteQ15XXqgorLSAgZ2l2ZW46 ICIqfNeR15TXmdeg16rXnyIKKy0gIHdoZW46ICIqfNeb15DXqdeoIgorLSAgdGhlbjogIip815DX lnzXkNeW15kiCistICBhbmQ6ICIqfNeV15LXnSIKKy0gIGJ1dDogIip815DXkdecIgorLSJociI6 CistICBuYW1lOiBDcm9hdGlhbgorLSAgbmF0aXZlOiBocnZhdHNraQorLSAgZmVhdHVyZTogT3Nv YmluYXxNb2d1xIdub3N0fE1vZ3Vjbm9zdAorLSAgYmFja2dyb3VuZDogUG96YWRpbmEKKy0gIHNj ZW5hcmlvOiBTY2VuYXJpagorLSAgc2NlbmFyaW9fb3V0bGluZTogU2tpY2F8S29uY2VwdAorLSAg ZXhhbXBsZXM6IFByaW1qZXJpfFNjZW5hcmlqaQorLSAgZ2l2ZW46ICIqfFphZGFufFphZGFuaXxa YWRhbm8iCistICB3aGVuOiAiKnxLYWRhfEthZCIKKy0gIHRoZW46ICIqfE9uZGEiCistICBhbmQ6 ICIqfEkiCistICBidXQ6ICIqfEFsaSIKKy0iaHUiOgorLSAgbmFtZTogSHVuZ2FyaWFuCistICBu YXRpdmU6IG1hZ3lhcgorLSAgZmVhdHVyZTogSmVsbGVtesWRCistICBiYWNrZ3JvdW5kOiBIw6F0 dMOpcgorLSAgc2NlbmFyaW86IEZvcmdhdMOza8O2bnl2CistICBzY2VuYXJpb19vdXRsaW5lOiBG b3JnYXTDs2vDtm55diB2w6F6bGF0CistICBleGFtcGxlczogUMOpbGTDoWsKKy0gIGdpdmVuOiAi KnxBbWVubnlpYmVufEFkb3R0IgorLSAgd2hlbjogIip8TWFqZHxIYXxBbWlrb3IiCistICB0aGVu OiAiKnxBa2tvciIKKy0gIGFuZDogIip8w4lzIgorLSAgYnV0OiAiKnxEZSIKKy0iaWQiOgorLSAg bmFtZTogSW5kb25lc2lhbgorLSAgbmF0aXZlOiBCYWhhc2EgSW5kb25lc2lhCistICBmZWF0dXJl OiBGaXR1cgorLSAgYmFja2dyb3VuZDogRGFzYXIKKy0gIHNjZW5hcmlvOiBTa2VuYXJpbworLSAg c2NlbmFyaW9fb3V0bGluZTogU2tlbmFyaW8ga29uc2VwCistICBleGFtcGxlczogQ29udG9oCist ICBnaXZlbjogIip8RGVuZ2FuIgorLSAgd2hlbjogIip8S2V0aWthIgorLSAgdGhlbjogIip8TWFr YSIKKy0gIGFuZDogIip8RGFuIgorLSAgYnV0OiAiKnxUYXBpIgorLSJpcyI6CistICBuYW1lOiBJ Y2VsYW5kaWMKKy0gIG5hdGl2ZTogw41zbGVuc2thCistICBmZWF0dXJlOiBFaWdpbmxlaWtpCist ICBiYWNrZ3JvdW5kOiBCYWtncnVubnVyCistICBzY2VuYXJpbzogQXRidXLDsGFyw6FzCistICBz Y2VuYXJpb19vdXRsaW5lOiBMw71zaW5nIEF0YnVyw7BhcsOhc2FyfEzDvXNpbmcgRMOmbWEKKy0g IGV4YW1wbGVzOiBEw6ZtaXxBdGJ1csOwYXLDoXNpcgorLSAgZ2l2ZW46ICIqfEVmIgorLSAgd2hl bjogIip8w55lZ2FyIgorLSAgdGhlbjogIip8w57DoSIKKy0gIGFuZDogIip8T2ciCistICBidXQ6 ICIqfEVuIgorLSJpdCI6CistICBuYW1lOiBJdGFsaWFuCistICBuYXRpdmU6IGl0YWxpYW5vCist ICBmZWF0dXJlOiBGdW56aW9uYWxpdMOgCistICBiYWNrZ3JvdW5kOiBDb250ZXN0bworLSAgc2Nl bmFyaW86IFNjZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5lOiBTY2hlbWEgZGVsbG8gc2NlbmFy aW8KKy0gIGV4YW1wbGVzOiBFc2VtcGkKKy0gIGdpdmVuOiAiKnxEYXRvfERhdGF8RGF0aXxEYXRl IgorLSAgd2hlbjogIip8UXVhbmRvIgorLSAgdGhlbjogIip8QWxsb3JhIgorLSAgYW5kOiAiKnxF IgorLSAgYnV0OiAiKnxNYSIKKy0iamEiOgorLSAgbmFtZTogSmFwYW5lc2UKKy0gIG5hdGl2ZTog 5pel5pys6KqeCistICBmZWF0dXJlOiDjg5XjgqPjg7zjg4Hjg6N85qmf6IO9CistICBiYWNrZ3Jv dW5kOiDog4zmma8KKy0gIHNjZW5hcmlvOiDjgrfjg4rjg6rjgqoKKy0gIHNjZW5hcmlvX291dGxp bmU6IOOCt+ODiuODquOCquOCouOCpuODiOODqeOCpOODs3zjgrfjg4rjg6rjgqrjg4bjg7Pjg5fj g6zjg7zjg4h844OG44Oz44OX44OsfOOCt+ODiuODquOCquODhuODs+ODl+ODrAorLSAgZXhhbXBs ZXM6IOS+i3zjgrXjg7Pjg5fjg6sKKy0gIGdpdmVuOiAiKnzliY3mj5A8IgorLSAgd2hlbjogIip8 44KC44GXPCIKKy0gIHRoZW46ICIqfOOBquOCieOBsDwiCistICBhbmQ6ICIqfOOBi+OBpDwiCist ICBidXQ6ICIqfOOBl+OBi+OBlzx85L2G44GXPHzjgZ/jgaDjgZc8IgorLSJrbyI6CistICBuYW1l OiBLb3JlYW4KKy0gIG5hdGl2ZTog7ZWc6rWt7Ja0CistICBiYWNrZ3JvdW5kOiDrsLDqsr0KKy0g IGZlYXR1cmU6IOq4sOuKpQorLSAgc2NlbmFyaW86IOyLnOuCmOumrOyYpAorLSAgc2NlbmFyaW9f b3V0bGluZTog7Iuc64KY66as7JikIOqwnOyalAorLSAgZXhhbXBsZXM6IOyYiAorLSAgZ2l2ZW46 ICIqfOyhsOqxtDx866i87KCAPCIKKy0gIHdoZW46ICIqfOunjOydvDx866eM7JW9PCIKKy0gIHRo ZW46ICIqfOq3uOufrOuptDwiCistICBhbmQ6ICIqfOq3uOumrOqzoDwiCistICBidXQ6ICIqfO2V mOyngOunjDx864uoPCIKKy0ibHQiOgorLSAgbmFtZTogTGl0aHVhbmlhbgorLSAgbmF0aXZlOiBs aWV0dXZpxbMga2FsYmEKKy0gIGZlYXR1cmU6IFNhdnlixJcKKy0gIGJhY2tncm91bmQ6IEtvbnRl a3N0YXMKKy0gIHNjZW5hcmlvOiBTY2VuYXJpanVzCistICBzY2VuYXJpb19vdXRsaW5lOiBTY2Vu YXJpamF1cyDFoWFibG9uYXMKKy0gIGV4YW1wbGVzOiBQYXZ5emTFvmlhaXxTY2VuYXJpamFpfFZh cmlhbnRhaQorLSAgZ2l2ZW46ICIqfER1b3RhIgorLSAgd2hlbjogIip8S2FpIgorLSAgdGhlbjog Iip8VGFkYSIKKy0gIGFuZDogIip8SXIiCistICBidXQ6ICIqfEJldCIKKy0ibHUiOgorLSAgbmFt ZTogTHV4ZW1idXJnaXNoCistICBuYXRpdmU6IEzDq3R6ZWJ1ZXJnZXNjaAorLSAgZmVhdHVyZTog RnVua3Rpb25hbGl0w6lpdAorLSAgYmFja2dyb3VuZDogSGFubmVyZ3JvbmQKKy0gIHNjZW5hcmlv OiBTemVuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogUGxhbmcgdnVtIFN6ZW5hcmlvCistICBl eGFtcGxlczogQmVpc3BpbGxlcgorLSAgZ2l2ZW46ICIqfHVnZWhvbGwiCistICB3aGVuOiAiKnx3 YW5uIgorLSAgdGhlbjogIip8ZGFubiIKKy0gIGFuZDogIip8YW58YSIKKy0gIGJ1dDogIip8YXdl cnxtw6QiCistImx2IjoKKy0gIG5hbWU6IExhdHZpYW4KKy0gIG5hdGl2ZTogbGF0dmllxaF1Cist ICBmZWF0dXJlOiBGdW5rY2lvbmFsaXTEgXRlfEbEq8SNYQorLSAgYmFja2dyb3VuZDogS29udGVr c3RzfFNpdHXEgWNpamEKKy0gIHNjZW5hcmlvOiBTY2VuxIFyaWpzCistICBzY2VuYXJpb19vdXRs aW5lOiBTY2VuxIFyaWpzIHDEk2MgcGFyYXVnYQorLSAgZXhhbXBsZXM6IFBpZW3Ek3JpfFBhcmF1 Z3MKKy0gIGdpdmVuOiAiKnxLYWQiCistICB3aGVuOiAiKnxKYSIKKy0gIHRoZW46ICIqfFRhZCIK Ky0gIGFuZDogIip8VW4iCistICBidXQ6ICIqfEJldCIKKy0ibmwiOgorLSAgbmFtZTogRHV0Y2gK Ky0gIG5hdGl2ZTogTmVkZXJsYW5kcworLSAgZmVhdHVyZTogRnVuY3Rpb25hbGl0ZWl0CistICBi YWNrZ3JvdW5kOiBBY2h0ZXJncm9uZAorLSAgc2NlbmFyaW86IFNjZW5hcmlvCistICBzY2VuYXJp b19vdXRsaW5lOiBBYnN0cmFjdCBTY2VuYXJpbworLSAgZXhhbXBsZXM6IFZvb3JiZWVsZGVuCist ICBnaXZlbjogIip8R2VnZXZlbnxTdGVsIgorLSAgd2hlbjogIip8QWxzIgorLSAgdGhlbjogIip8 RGFuIgorLSAgYW5kOiAiKnxFbiIKKy0gIGJ1dDogIip8TWFhciIKKy0ibm8iOgorLSAgbmFtZTog Tm9yd2VnaWFuCistICBuYXRpdmU6IG5vcnNrCistICBmZWF0dXJlOiBFZ2Vuc2thcAorLSAgYmFj a2dyb3VuZDogQmFrZ3J1bm4KKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0 bGluZTogU2NlbmFyaW9tYWx8QWJzdHJha3QgU2NlbmFyaW8KKy0gIGV4YW1wbGVzOiBFa3NlbXBs ZXIKKy0gIGdpdmVuOiAiKnxHaXR0IgorLSAgd2hlbjogIip8TsOlciIKKy0gIHRoZW46ICIqfFPD pSIKKy0gIGFuZDogIip8T2ciCistICBidXQ6ICIqfE1lbiIKKy0icGwiOgorLSAgbmFtZTogUG9s aXNoCistICBuYXRpdmU6IHBvbHNraQorLSAgZmVhdHVyZTogV8WCYcWbY2l3b8WbxIcKKy0gIGJh Y2tncm91bmQ6IFphxYJvxbxlbmlhCistICBzY2VuYXJpbzogU2NlbmFyaXVzegorLSAgc2NlbmFy aW9fb3V0bGluZTogU3phYmxvbiBzY2VuYXJpdXN6YQorLSAgZXhhbXBsZXM6IFByenlrxYJhZHkK Ky0gIGdpdmVuOiAiKnxaYWvFgmFkYWrEhWN8TWFqxIVjIgorLSAgd2hlbjogIip8SmXFvGVsaXxK ZcWbbGkiCistICB0aGVuOiAiKnxXdGVkeSIKKy0gIGFuZDogIip8T3JhenxJIgorLSAgYnV0OiAi KnxBbGUiCistInB0IjoKKy0gIG5hbWU6IFBvcnR1Z3Vlc2UKKy0gIG5hdGl2ZTogcG9ydHVndcOq cworLSAgYmFja2dyb3VuZDogQ29udGV4dG8KKy0gIGZlYXR1cmU6IEZ1bmNpb25hbGlkYWRlCist ICBzY2VuYXJpbzogQ2Vuw6FyaW98Q2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogRXNxdWVt YSBkbyBDZW7DoXJpb3xFc3F1ZW1hIGRvIENlbmFyaW8KKy0gIGV4YW1wbGVzOiBFeGVtcGxvcwor LSAgZ2l2ZW46ICIqfERhZG98RGFkYXxEYWRvc3xEYWRhcyIKKy0gIHdoZW46ICIqfFF1YW5kbyIK Ky0gIHRoZW46ICIqfEVudMOjb3xFbnRhbyIKKy0gIGFuZDogIip8RSIKKy0gIGJ1dDogIip8TWFz IgorLSJybyI6CistICBuYW1lOiBSb21hbmlhbgorLSAgbmF0aXZlOiByb23Dom7EgworLSAgYmFj a2dyb3VuZDogQ29udGV4dAorLSAgZmVhdHVyZTogRnVuY3Rpb25hbGl0YXRlfEZ1bmPIm2lvbmFs aXRhdGV8RnVuY8WjaW9uYWxpdGF0ZQorLSAgc2NlbmFyaW86IFNjZW5hcml1CistICBzY2VuYXJp b19vdXRsaW5lOiBTdHJ1Y3R1cmEgc2NlbmFyaXV8U3RydWN0dXLEgyBzY2VuYXJpdQorLSAgZXhh bXBsZXM6IEV4ZW1wbGUKKy0gIGdpdmVuOiAiKnxEYXRlIGZpaW5kfERhdCBmaWluZHxEYXRpIGZp aW5kfERhyJtpIGZpaW5kfERhxaNpIGZpaW5kIgorLSAgd2hlbjogIip8Q2FuZHxDw6JuZCIKKy0g IHRoZW46ICIqfEF0dW5jaSIKKy0gIGFuZDogIip8U2l8yJhpfMWeaSIKKy0gIGJ1dDogIip8RGFy IgorLSJydSI6CistICBuYW1lOiBSdXNzaWFuCistICBuYXRpdmU6INGA0YPRgdGB0LrQuNC5Cist ICBmZWF0dXJlOiDQpNGD0L3QutGG0LjRj3zQpNGD0L3QutGG0LjQvtC90LDQu3zQodCy0L7QudGB 0YLQstC+CistICBiYWNrZ3JvdW5kOiDQn9GA0LXQtNGL0YHRgtC+0YDQuNGPfNCa0L7QvdGC0LXQ utGB0YIKKy0gIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDQuNC5CistICBzY2VuYXJpb19vdXRsaW5l OiDQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0LjRjworLSAgZXhhbXBsZXM6INCf0YDQ uNC80LXRgNGLCistICBnaXZlbjogIip80JTQvtC/0YPRgdGC0LjQvHzQlNCw0L3QvnzQn9GD0YHR gtGMIgorLSAgd2hlbjogIip80JXRgdC70Lh80JrQvtCz0LTQsCIKKy0gIHRoZW46ICIqfNCi0L58 0KLQvtCz0LTQsCIKKy0gIGFuZDogIip80Jh80Jog0YLQvtC80YMg0LbQtSIKKy0gIGJ1dDogIip8 0J3QvnzQkCIKKy0ic3YiOgorLSAgbmFtZTogU3dlZGlzaAorLSAgbmF0aXZlOiBTdmVuc2thCist ICBmZWF0dXJlOiBFZ2Vuc2thcAorLSAgYmFja2dyb3VuZDogQmFrZ3J1bmQKKy0gIHNjZW5hcmlv OiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogQWJzdHJha3QgU2NlbmFyaW98U2NlbmFy aW9tYWxsCistICBleGFtcGxlczogRXhlbXBlbAorLSAgZ2l2ZW46ICIqfEdpdmV0IgorLSAgd2hl bjogIip8TsOkciIKKy0gIHRoZW46ICIqfFPDpSIKKy0gIGFuZDogIip8T2NoIgorLSAgYnV0OiAi KnxNZW4iCistInNrIjoKKy0gIG5hbWU6IFNsb3ZhaworLSAgbmF0aXZlOiBTbG92ZW5za3kKKy0g IGZlYXR1cmU6IFBvxb5pYWRhdmthCistICBiYWNrZ3JvdW5kOiBQb3phZGllCistICBzY2VuYXJp bzogU2NlbsOhcgorLSAgc2NlbmFyaW9fb3V0bGluZTogTsOhxI1ydCBTY2Vuw6FydQorLSAgZXhh bXBsZXM6IFByw61rbGFkeQorLSAgZ2l2ZW46ICIqfFBva2lhxL4iCistICB3aGVuOiAiKnxLZcSP IgorLSAgdGhlbjogIip8VGFrIgorLSAgYW5kOiAiKnxBIgorLSAgYnV0OiAiKnxBbGUiCistInNy LUxhdG4iOgorLSAgbmFtZTogU2VyYmlhbiAoTGF0aW4pCistICBuYXRpdmU6IFNycHNraSAoTGF0 aW5pY2EpCistICBmZWF0dXJlOiBGdW5rY2lvbmFsbm9zdHxNb2d1xIdub3N0fE1vZ3Vjbm9zdHxP c29iaW5hCistICBiYWNrZ3JvdW5kOiBLb250ZWtzdHxPc25vdmF8UG96YWRpbmEKKy0gIHNjZW5h cmlvOiBTY2VuYXJpb3xQcmltZXIKKy0gIHNjZW5hcmlvX291dGxpbmU6IFN0cnVrdHVyYSBzY2Vu YXJpamF8U2tpY2F8S29uY2VwdAorLSAgZXhhbXBsZXM6IFByaW1lcml8U2NlbmFyaWppCistICBn aXZlbjogIip8WmFkYXRvfFphZGF0ZXxaYXRhdGkiCistICB3aGVuOiAiKnxLYWRhfEthZCIKKy0g IHRoZW46ICIqfE9uZGEiCistICBhbmQ6ICIqfEkiCistICBidXQ6ICIqfEFsaSIKKy0ic3ItQ3ly bCI6CistICBuYW1lOiBTZXJiaWFuCistICBuYXRpdmU6INCh0YDQv9GB0LrQuAorLSAgZmVhdHVy ZTog0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHRgnzQnNC+0LPRg9Gb0L3QvtGB0YJ80J7RgdC+ 0LHQuNC90LAKKy0gIGJhY2tncm91bmQ6INCa0L7QvdGC0LXQutGB0YJ80J7RgdC90L7QstCwfNCf 0L7Qt9Cw0LTQuNC90LAKKy0gIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDQuNC+fNCf0YDQuNC80LXR gAorLSAgc2NlbmFyaW9fb3V0bGluZTog0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC4 0ZjQsHzQodC60LjRhtCwfNCa0L7QvdGG0LXQv9GCCistICBleGFtcGxlczog0J/RgNC40LzQtdGA 0Lh80KHRhtC10L3QsNGA0LjRmNC4CistICBnaXZlbjogIip80JfQsNC00LDRgtC+fNCX0LDQtNCw 0YLQtXzQl9Cw0LTQsNGC0LgiCistICB3aGVuOiAiKnzQmtCw0LTQsHzQmtCw0LQiCistICB0aGVu OiAiKnzQntC90LTQsCIKKy0gIGFuZDogIip80JgiCistICBidXQ6ICIqfNCQ0LvQuCIKKy0idHIi OgorLSAgbmFtZTogVHVya2lzaAorLSAgbmF0aXZlOiBUw7xya8OnZQorLSAgZmVhdHVyZTogw5Z6 ZWxsaWsKKy0gIGJhY2tncm91bmQ6IEdlw6dtacWfCistICBzY2VuYXJpbzogU2VuYXJ5bworLSAg c2NlbmFyaW9fb3V0bGluZTogU2VuYXJ5byB0YXNsYcSfxLEKKy0gIGV4YW1wbGVzOiDDlnJuZWts ZXIKKy0gIGdpdmVuOiAiKnxEaXllbGltIGtpIgorLSAgd2hlbjogIip8RcSfZXIga2kiCistICB0 aGVuOiAiKnxPIHphbWFuIgorLSAgYW5kOiAiKnxWZSIKKy0gIGJ1dDogIip8RmFrYXR8QW1hIgor LSJ1ayI6CistICBuYW1lOiBVa3JhaW5pYW4KKy0gIG5hdGl2ZTog0KPQutGA0LDRl9C90YHRjNC6 0LAKKy0gIGZlYXR1cmU6INCk0YPQvdC60YbRltC+0L3QsNC7CistICBiYWNrZ3JvdW5kOiDQn9C1 0YDQtdC00YPQvNC+0LLQsAorLSAgc2NlbmFyaW86INCh0YbQtdC90LDRgNGW0LkKKy0gIHNjZW5h cmlvX291dGxpbmU6INCh0YLRgNGD0LrRgtGD0YDQsCDRgdGG0LXQvdCw0YDRltGOCistICBleGFt cGxlczog0J/RgNC40LrQu9Cw0LTQuAorLSAgZ2l2ZW46ICIqfNCf0YDQuNC/0YPRgdGC0LjQvNC+ fNCf0YDQuNC/0YPRgdGC0LjQvNC+LCDRidC+fNCd0LXRhdCw0Ll80JTQsNC90L4iCistICB3aGVu OiAiKnzQr9C60YnQvnzQmtC+0LvQuCIKKy0gIHRoZW46ICIqfNCi0L580KLQvtC00ZYiCistICBh bmQ6ICIqfNCGfNCQINGC0LDQutC+0LZ80KLQsCIKKy0gIGJ1dDogIip80JDQu9C1IgorLSJ1eiI6 CistICBuYW1lOiBVemJlaworLSAgbmF0aXZlOiDQo9C30LHQtdC60YfQsAorLSAgZmVhdHVyZTog 0KTRg9C90LrRhtC40L7QvdCw0LsKKy0gIGJhY2tncm91bmQ6INCi0LDRgNC40YUKKy0gIHNjZW5h cmlvOiDQodGG0LXQvdCw0YDQuNC5CistICBzY2VuYXJpb19vdXRsaW5lOiDQodGG0LXQvdCw0YDQ uNC5INGB0YLRgNGD0LrRgtGD0YDQsNGB0LgKKy0gIGV4YW1wbGVzOiDQnNC40YHQvtC70LvQsNGA CistICBnaXZlbjogIip80JDQs9Cw0YAiCistICB3aGVuOiAiKnzQkNCz0LDRgCIKKy0gIHRoZW46 ICIqfNCj0L3QtNCwIgorLSAgYW5kOiAiKnzQktCwIgorLSAgYnV0OiAiKnzQm9C10LrQuNC9fNCR 0LjRgNC+0Lp80JDQvNC80L4iCistInZpIjoKKy0gIG5hbWU6IFZpZXRuYW1lc2UKKy0gIG5hdGl2 ZTogVGnhur9uZyBWaeG7h3QKKy0gIGZlYXR1cmU6IFTDrW5oIG7Eg25nCistICBiYWNrZ3JvdW5k OiBC4buRaSBj4bqjbmgKKy0gIHNjZW5hcmlvOiBUw6xuaCBodeG7kW5nfEvhu4tjaCBi4bqjbgor LSAgc2NlbmFyaW9fb3V0bGluZTogS2h1bmcgdMOsbmggaHXhu5FuZ3xLaHVuZyBr4buLY2ggYuG6 o24KKy0gIGV4YW1wbGVzOiBE4buvIGxp4buHdQorLSAgZ2l2ZW46ICIqfEJp4bq/dHxDaG8iCist ICB3aGVuOiAiKnxLaGkiCistICB0aGVuOiAiKnxUaMOsIgorLSAgYW5kOiAiKnxWw6AiCistICBi dXQ6ICIqfE5oxrBuZyIKKy0iemgtQ04iOgorLSAgbmFtZTogQ2hpbmVzZSBzaW1wbGlmaWVkCist ICBuYXRpdmU6IOeugOS9k+S4reaWhworLSAgZmVhdHVyZTog5Yqf6IO9CistICBiYWNrZ3JvdW5k OiDog4zmma8KKy0gIHNjZW5hcmlvOiDlnLrmma8KKy0gIHNjZW5hcmlvX291dGxpbmU6IOWcuuaZ r+Wkp+e6sgorLSAgZXhhbXBsZXM6IOS+i+WtkAorLSAgZ2l2ZW46ICIqfOWBh+WmgjwiCistICB3 aGVuOiAiKnzlvZM8IgorLSAgdGhlbjogIip86YKj5LmIPCIKKy0gIGFuZDogIip86ICM5LiUPCIK Ky0gIGJ1dDogIip85L2G5pivPCIKKy0iemgtVFciOgorLSAgbmFtZTogQ2hpbmVzZSB0cmFkaXRp b25hbAorLSAgbmF0aXZlOiDnuYHpq5TkuK3mlocKKy0gIGZlYXR1cmU6IOWKn+iDvQorLSAgYmFj a2dyb3VuZDog6IOM5pmvCistICBzY2VuYXJpbzog5aC05pmvfOWKh+acrAorLSAgc2NlbmFyaW9f b3V0bGluZTog5aC05pmv5aSn57axfOWKh+acrOWkp+e2sQorLSAgZXhhbXBsZXM6IOS+i+WtkAor LSAgZ2l2ZW46ICIqfOWBh+iorTwiCistICB3aGVuOiAiKnznlbY8IgorLSAgdGhlbjogIip86YKj 6bq8PCIKKy0gIGFuZDogIip86ICM5LiUPHzkuKbkuJQ8IgorLSAgYnV0OiAiKnzkvYbmmK88Igpk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA1Ni1tb3JlLmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1h bmQtcnVuLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA1Ni1tb3JlLmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNr cy1hbmQtcnVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWJk MjVmZmRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ni1tb3JlLmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVy a2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoCkBAIC0wLDAgKzEsMTU1IEBACitGcm9tIGQxNzY2 MjJkZGU0YjdmNThjODkyYTAxY2I5MzM4MTc3ZTkzODM2NmIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0Rh dGU6IFNhdCwgMTMgSnVsIDIwMTkgMTM6MjI6MjEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbW9y ZS5mZWF0dXJlczogUGVyZm9ybSBtb3JlIEdoZXJraW4gdjYgY2hlY2tzIGFuZCBydW4KKyBleGFt cGxlcy4KKworLS0tCisgaW52b2tlLnlhbWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTAgKystLS0KKyBtb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAg ICAgICAgfCAyOCArKysrKysrKysrKysrCisgLi4uL2Zvcm1hdHRlci5qc29uLnZhbGlkYXRlX291 dHB1dC5mZWF0dXJlICAgIHwgMjIgKysrKysrKysrLQorIG1vcmUuZmVhdHVyZXMvcnVuX2V4YW1w bGVzLmZlYXR1cmUgICAgICAgICAgICB8IDQxICsrKysrKysrKysrKysrKysrKysKKyA0IGZpbGVz IGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUg MTAwNjQ0IG1vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQg bW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVhdHVyZQorCitkaWZmIC0tZ2l0IGEvaW52b2tl LnlhbWwgYi9pbnZva2UueWFtbAoraW5kZXggZDZmMTQxYy4uYTMyMzQ1ZSAxMDA2NDQKKy0tLSBh L2ludm9rZS55YW1sCisrKysgYi9pbnZva2UueWFtbAorQEAgLTI0LDEzICsyNCw2IEBAIHNwaGlu eDoKKyAgICAgICAtIGRlCisgICAgICAgIyBQUkVQQVJFRDogLSB6aC1DTgorIAorLWNsZWFudXA6 CistICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorLSAgICAgIC0gImJ1aWxkIgorLSAgICAgIC0gImRp c3QiCistICAgICAgLSAiX19XT1JLRElSX18iCistICAgICAgLSByZXBvcnRzCistCisgY2xlYW51 cDoKKyAgICAgZXh0cmFfZGlyZWN0b3JpZXM6CisgICAgICAgLSAiYnVpbGQiCitAQCAtNDcsNiAr NDAsOSBAQCBjbGVhbnVwX2FsbDoKKyAgICAgICAtIC5oeXBvdGhlc2lzCisgICAgICAgLSAucHl0 ZXN0X2NhY2hlCisgCisrICAgIGV4dHJhX2ZpbGVzOgorKyAgICAgIC0gIioqL3Rlc3RydW4qLmpz b24iCisrCisgYmVoYXZlX3Rlc3Q6CisgICAgIHNjb3BlczoKKyAgICAgICAtIGZlYXR1cmVzCitk aWZmIC0tZ2l0IGEvbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL21vcmUuZmVhdHVyZXMv ZW52aXJvbm1lbnQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi45ZDQz MDJiCistLS0gL2Rldi9udWxsCisrKysgYi9tb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitA QCAtMCwwICsxLDI4IEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysKKytmcm9tIGJlaGF2 ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192 YWx1ZXMKKytpbXBvcnQgc3lzCisrCisrIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNlLndpdGhf e2NhdGVnb3J5fT17dmFsdWV9CisrIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHBy b3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3IgYWN0aXZlIHRhZ3MuCisrcHl0aG9uX3ZlcnNpb24g PSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKythY3RpdmVfdGFnX3ZhbHVlX3Byb3Zp ZGVyID0geworKyAgICAicHl0aG9uLnZlcnNpb24iOiBweXRob25fdmVyc2lvbiwKKyt9CisrYWN0 aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3Zp ZGVyKQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEhPT0tTOgorKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKytkZWYgYmVmb3JlX2FsbChjb250ZXh0KToKKysgICAgIyAtLSBTRVRVUCBB Q1RJVkUtVEFHIE1BVENIRVIgKHdpdGggdXNlcmRhdGEpOgorKyAgICBzZXR1cF9hY3RpdmVfdGFn X3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBjb250ZXh0LmNvbmZpZy51c2VyZGF0 YSkKKysKKytkZWYgYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSk6CisrICAgIGlmIGFj dGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKGZlYXR1cmUudGFncyk6CisrICAg ICAgICBmZWF0dXJlLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNv bikKKysKKytkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKysgICAgaWYg YWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZl X3RhZ3MpOgorKyAgICAgICAgc2NlbmFyaW8uc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVy LmV4Y2x1ZGVfcmVhc29uKQorKworZGlmZiAtLWdpdCBhL21vcmUuZmVhdHVyZXMvZm9ybWF0dGVy Lmpzb24udmFsaWRhdGVfb3V0cHV0LmZlYXR1cmUgYi9tb3JlLmZlYXR1cmVzL2Zvcm1hdHRlci5q c29uLnZhbGlkYXRlX291dHB1dC5mZWF0dXJlCitpbmRleCBhNWY4YWI2Li4zMTU1MGQ1IDEwMDY0 NAorLS0tIGEvbW9yZS5mZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi52YWxpZGF0ZV9vdXRwdXQuZmVh dHVyZQorKysrIGIvbW9yZS5mZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi52YWxpZGF0ZV9vdXRwdXQu ZmVhdHVyZQorQEAgLTM0LDQgKzM0LDI0IEBAIEZlYXR1cmU6IFZhbGlkYXRlIEpTT04gRm9ybWF0 dGVyIE91dHB1dAorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisgICAgICAgICAiIiIK KyAgICAgICAgIHZhbGlkYXRlOiB0ZXN0cnVuMy5qc29uIC4uLiBPSworLSAgICAgICAgIiIiCitc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKysgICAgICAgICIiIgorKworKyAgQGdoZXJraW5f djYKKysgIFNjZW5hcmlvOiBWYWxpZGF0ZSBKU09OIG91dHB1dCBmcm9tIGV4YW1wbGUvZ2hlcmtp bl92Ni8gdGVzdCBydW4KKysgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMv Z2hlcmtpbl92NiIgYXMgd29ya2luZyBkaXJlY3RvcnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZl IC1mIGpzb24gLW8gdGVzdHJ1bl9naGVya2luNl8xLmpzb24gZmVhdHVyZXMvIgorKyAgICBXaGVu IEkgcnVuICIuLi8uLi9iaW4vanNvbnNjaGVtYV92YWxpZGF0ZS5weSB0ZXN0cnVuX2doZXJraW42 XzEuanNvbiIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICAgIiIiCisr ICAgICAgICB2YWxpZGF0ZTogdGVzdHJ1bl9naGVya2luNl8xLmpzb24gLi4uIE9LCisrICAgICAg ICAiIiIKKysKKysgIEBnaGVya2luX3Y2CisrICBTY2VuYXJpbzogVmFsaWRhdGUgSlNPTiBvdXRw dXQgZnJvbSBleGFtcGxlL2doZXJraW5fdjYvIHRlc3QgcnVuIChjYXNlOiBwYXJ0bHkgZmFpbGlu ZykKKysgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMvZ2hlcmtpbl92NiIg YXMgd29ya2luZyBkaXJlY3RvcnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tdGFncz1mYWls IC1mIGpzb24gLW8gdGVzdHJ1bl9naGVya2luNl8yLmpzb24gZmVhdHVyZXMvIgorKyAgICBXaGVu IEkgcnVuICIuLi8uLi9iaW4vanNvbnNjaGVtYV92YWxpZGF0ZS5weSB0ZXN0cnVuX2doZXJraW42 XzIuanNvbiIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICAgIiIiCisr ICAgICAgICB2YWxpZGF0ZTogdGVzdHJ1bl9naGVya2luNl8yLmpzb24gLi4uIE9LCisrICAgICAg ICAiIiIKK2RpZmYgLS1naXQgYS9tb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlIGIv bW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAuLjQ3Nzg4NjYKKy0tLSAvZGV2L251bGwKKysrKyBiL21vcmUuZmVhdHVy ZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKK0BAIC0wLDAgKzEsNDEgQEAKKytGZWF0dXJlOiBFbnN1 cmUgdGhhdCBhbGwgZXhhbXBsZXMgYXJlIHVzYWJsZQorKworKyAgU2NlbmFyaW8gT3V0bGluZTog VXNlIDxleGFtcGxlX2Rpcj4KKysgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAiPGV4YW1w bGVfZGlyPiIgYXMgd29ya2luZyBkaXJlY3RvcnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIDxi ZWhhdmVfY21kbGluZT4iCisrICAgIFRoZW4gaXQgc2hvdWxkIDxvdXRjb21lPgorKworKyAgICBF eGFtcGxlczoKKysgICAgICB8IGV4YW1wbGVfZGlyICAgICAgICAgfCBiZWhhdmVfY21kbGluZSAg ICAgICAgfCBvdXRjb21lIHwKKysgICAgICB8IGV4YW1wbGVzL2Vudl92YXJzICAgfCBmZWF0dXJl cy8gICAgICAgICAgICAgfCBwYXNzICAgIHwKKysgICAgICB8IGV4YW1wbGVzL2ZpeHR1cmUubm9f YmFja2dyb3VuZCB8IGZlYXR1cmVzLyAgfCBwYXNzICAgIHwKKysgICAgICB8IGV4YW1wbGVzL2do ZXJraW5fdjYgfCBmZWF0dXJlcy8gICAgICAgICAgICAgfCBwYXNzICAgIHwKKysKKysKKysgIFNj ZW5hcmlvOiBleGFtcGxlcy9naGVya2luX3Y2IC0tIEB4ZmFpbCBwYXJ0cworKyAgICBHaXZlbiBJ IHVzZSB0aGUgZGlyZWN0b3J5ICJleGFtcGxlcy9naGVya2luX3Y2IiBhcyB3b3JraW5nIGRpcmVj dG9yeQorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS10YWdzPWZhaWwgZmVhdHVyZXMvIgorKyAg ICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgMCBmZWF0dXJl cyBwYXNzZWQsIDEgZmFpbGVkLCAyIHNraXBwZWQKKysgICAgICAwIHJ1bGVzIHBhc3NlZCwgMSBm YWlsZWQsIDYgc2tpcHBlZAorKyAgICAgIDEgc2NlbmFyaW8gcGFzc2VkLCAyIGZhaWxlZCwgMTIg c2tpcHBlZAorKyAgICAgIDIgc3RlcHMgcGFzc2VkLCAyIGZhaWxlZCwgMzkgc2tpcHBlZCwgMCB1 bmRlZmluZWQKKysgICAgICAiIiIKKysgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQg Y29udGFpbjoKKysgICAgICAiIiIKKysgICAgICBGYWlsaW5nIHNjZW5hcmlvczoKKysgICAgICAg IGZlYXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZTo3ICBGMCAtLSBGYWlscworKyAgICAgICAgZmVh dHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlOjE2ICBGMiAtLSBGYWlscworKyAgICAgICIiIgorKwor KworKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorKyAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuNQorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNworKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAg U2NlbmFyaW86IGV4YW1wbGVzL2FzeW5jX3N0ZXAgKG5lZWRzOiBweTM0IG9yIG5ld2VyKQorKyAg ICBHaXZlbiBJIHVzZSB0aGUgZGlyZWN0b3J5ICJleGFtcGxlcy9hc3luY19zdGVwIiBhcyB3b3Jr aW5nIGRpcmVjdG9yeQorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgZmVhdHVyZXMvIgorKyAgICBU aGVuIGl0IHNob3VsZCBwYXNzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU3LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5dGhv bi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU3LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5 dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi5lZjA1ZjMzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU3LVVUSUwtQ29ycmVj dC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0Y2gKQEAgLTAsMCAr MSw3MiBAQAorRnJvbSA4MGUxNDM4ZGU1YmIzNGI3ZjZhZmE4NTI0Yjg1ZmVhM2YxNDM4OWM5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDEzIEp1bCAyMDE5IDEzOjM5OjQ5ICswMjAwCitT dWJqZWN0OiBbUEFUQ0hdIFVUSUw6IENvcnJlY3QgVVJMIGFuZCBweXRob24gbW9kdWxlIChvbGQg d2FzIGJyb2tlbiwgbm8KKyBsb25nZXIgZXhpc3RzKS4KKworLS0tCisgYmluL2JlaGF2ZTJjdWN1 bWJlcl9qc29uLnB5IHwgMTkgKysrKysrKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAx MiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmluL2JlaGF2 ZTJjdWN1bWJlcl9qc29uLnB5IGIvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5CitpbmRleCA3 MzhlNDQ0Li41NDEwNjFlIDEwMDc1NQorLS0tIGEvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5 CisrKysgYi9iaW4vYmVoYXZlMmN1Y3VtYmVyX2pzb24ucHkKK0BAIC0zLDkgKzMsMTAgQEAKKyAj IENPTlZFUlQ6IGJlaGF2ZSBKU09OIGRpYWxlY3QgdG8gY3VjdW1iZXIgSlNPTiBkaWFsZWN0Cisg IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorICMgU1RBVFVTOiBfX1BST1RPVFlQRV9fCistIyBSRVFV SVJFUzogUHl0aG9uID49IDIuNgorLSMgUkVRVUlSRVM6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhh bGZpbmMvYjJjLworLSMgU0VFOiBodHRwczovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9pc3N1 ZXMvMjY3I2lzc3VlY29tbWVudC0yNDk2MDcxOTEKKysjIFJFUVVJUkVTOiBQeXRob24gPj0gMi43 CisrIyBSRVFVSVJFUzogaHR0cHM6Ly9naXRodWIuY29tL2JlaGFsZi1vc3MvYmVoYXZlMmN1Y3Vt YmVyCisrIyBTRUU6CisrIyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlL2lzc3Vl cy8yNjcjaXNzdWVjb21tZW50LTI1MTc0NjU2NQorICMgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAi IiIKKyBDb252ZXJ0IGEgZmlsZSB3aXRoIGJlaGF2ZSBKU09OIGRhdGEgaW50byBhIGZpbGUgd2l0 aCBjdWN1bWJlciBKU09OIGRhdGEuCitAQCAtMTcsMTUgKzE4LDE2IEBAIGltcG9ydCBqc29uCisg aW1wb3J0IHN5cworIGltcG9ydCBvcy5wYXRoCisgdHJ5OgorLSAgICBpbXBvcnQgYjJjCisrICAg IGltcG9ydCBiZWhhdmUyY3VjdW1iZXIKKyBleGNlcHQgSW1wb3J0RXJyb3I6CistICAgIHByaW50 KCJSRVFVSVJFOiBodHRwczovL2dpdGh1Yi5jb20vYmVoYWxmaW5jL2IyYy8gIChub3QgaW5zdGFs bGVkIHlldCkiKQorLSAgICBwcmludCgiSU5TVEFMTDogcGlwIGluc3RhbGwgYjJjIikKKysgICAg cHJpbnQoIlJFUVVJUkU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJjdWN1 bWJlciAobm90IGluc3RhbGxlZCB5ZXQpIikKKysgICAgcHJpbnQoIklOU1RBTEw6IHBpcCBpbnN0 YWxsIGJlaGF2ZTJjdWN1bWJlciIpCisgICAgIHN5cy5leGl0KDIpCisgCisgCisgTkFNRSA9IG9z LnBhdGguYmFzZW5hbWUoX19maWxlX18pCisgCisrCisgZGVmIGNvbnZlcnRfYmVoYXZlX3RvX2N1 Y3VtYmVyX2pzb24oYmVoYXZlX2ZpbGVuYW1lLCBjdWN1bWJlcl9maWxlbmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz0iVVRGLTgiLCBwcmV0dHk9VHJ1 ZSk6CisgICAgICIiIkNvbnZlcnQgYmVoYXZlIEpTT04gZGlhbGVjdCBpbnRvIGN1Y3VtYmVyIEpT T04gZGlhbGVjdC4KK0BAIC0zOSwxMiArNDEsMTQgQEAgZGVmIGNvbnZlcnRfYmVoYXZlX3RvX2N1 Y3VtYmVyX2pzb24oYmVoYXZlX2ZpbGVuYW1lLCBjdWN1bWJlcl9maWxlbmFtZSwKKyAKKyAgICAg d2l0aCBvcGVuKGJlaGF2ZV9maWxlbmFtZSwgInIiKSBhcyBiZWhhdmVfanNvbjoKKyAgICAgICAg IHdpdGggb3BlbihjdWN1bWJlcl9maWxlbmFtZSwgIncrIikgYXMgb3V0cHV0X2ZpbGU6CistICAg ICAgICAgICAgY3VjdW1iZXJfanNvbiA9IGIyYy5jb252ZXJ0KGpzb24ubG9hZChiZWhhdmVfanNv biwgZW5jb2RpbmcpKQorKyAgICAgICAgICAgIGJlaGF2ZV9qc29uID0ganNvbi5sb2FkKGJlaGF2 ZV9qc29uLCBlbmNvZGluZykKKysgICAgICAgICAgICBjdWN1bWJlcl9qc29uID0gYmVoYXZlMmN1 Y3VtYmVyLmNvbnZlcnQoYmVoYXZlX2pzb24pCisgICAgICAgICAgICAgIyBjdWN1bWJlcl90ZXh0 ID0ganNvbi5kdW1wcyhjdWN1bWJlcl9qc29uLCAqKmR1bXBfa3dhcmdzKQorICAgICAgICAgICAg ICMgb3V0cHV0X2ZpbGUud3JpdGUoY3VjdW1iZXJfdGV4dCkKKyAgICAgICAgICAgICBqc29uLmR1 bXAoY3VjdW1iZXJfanNvbiwgb3V0cHV0X2ZpbGUsICoqZHVtcF9rd2FyZ3MpCisgICAgIHJldHVy biAwCisgCisrCisgZGVmIG1haW4oYXJncz1Ob25lKToKKyAgICAgIiIiTWFpbiBmdW5jdGlvbiB0 byBydW4gdGhlIHNjcmlwdC4iIiIKKyAgICAgaWYgYXJncyBpcyBOb25lOgorQEAgLTU4LDYgKzYy LDcgQEAgZGVmIG1haW4oYXJncz1Ob25lKToKKyAgICAgY3VjdW1iZXJfZmlsZW5hbWUgPSBhcmdz WzFdCisgICAgIHJldHVybiBjb252ZXJ0X2JlaGF2ZV90b19jdWN1bWJlcl9qc29uKGJlaGF2ZV9m aWxlbmFtZSwgY3VjdW1iZXJfZmlsZW5hbWUpCisgCisrCisgIyAtLSBBVVRPLU1BSU46CisgaWYg X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICAgc3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1 OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2E5ZGUwOWY3Ci0tLSAv ZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA1OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEsMjIg QEAKK0Zyb20gNDRhMGMwNzhiZWNmMWMyMDM4M2Y2ZjRjYjI1NjNkZDljYWJkMDEwOCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzo0MDo0NiArMDIwMAorU3ViamVj dDogW1BBVENIXSBVVElMOiBGb3JtYXR0aW5nIHR3ZWFrcy4KKworLS0tCisgYmluL2JlaGF2ZTJj dWN1bWJlcl9qc29uLnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5 IGIvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5CitpbmRleCA1NDEwNjFlLi44OTNhNWVmIDEw MDc1NQorLS0tIGEvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5CisrKysgYi9iaW4vYmVoYXZl MmN1Y3VtYmVyX2pzb24ucHkKK0BAIC0yMCw3ICsyMCw3IEBAIGltcG9ydCBvcy5wYXRoCisgdHJ5 OgorICAgICBpbXBvcnQgYmVoYXZlMmN1Y3VtYmVyCisgZXhjZXB0IEltcG9ydEVycm9yOgorLSAg ICBwcmludCgiUkVRVUlSRTogaHR0cHM6Ly9naXRodWIuY29tL2JlaGFsZi1vc3MvYmVoYXZlMmN1 Y3VtYmVyIChub3QgaW5zdGFsbGVkIHlldCkiKQorKyAgICBwcmludCgiUkVRVUlSRTogaHR0cHM6 Ly9naXRodWIuY29tL2JlaGFsZi1vc3MvYmVoYXZlMmN1Y3VtYmVyIikKKyAgICAgcHJpbnQoIklO U1RBTEw6IHBpcCBpbnN0YWxsIGJlaGF2ZTJjdWN1bWJlciIpCisgICAgIHN5cy5leGl0KDIpCisg CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDU5LUZpeGVkLWEtYnVnLXdoZXJlLXVzZV9maXh0dXJlX2J5X3RhZy1kaWRuLXQt cmV0dXJuLXQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDU5LUZpeGVkLWEtYnVnLXdoZXJlLXVzZV9maXh0dXJlX2J5X3RhZy1kaWRu LXQtcmV0dXJuLXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44 ODU3YjFjYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU5LUZpeGVkLWEtYnVnLXdoZXJlLXVzZV9maXh0dXJl X2J5X3RhZy1kaWRuLXQtcmV0dXJuLXQucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorRnJvbSAyMDA4 OTIzMjFkMjgwZTU5MDQyOGM0NmI1MjRjMmMyZjIyYWYwYmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogSm9uLVBpZXJyZSBHZW50aWwgPGpnZW50aWxAc2ViaXN0YXIubmV0PgorRGF0 ZTogVGh1LCAxIEF1ZyAyMDE5IDExOjIxOjM2IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeGVk IGEgYnVnIHdoZXJlIHVzZV9maXh0dXJlX2J5X3RhZyBkaWRuJ3QgcmV0dXJuIHRoZSBhY3R1YWwK KyBmaXh0dXJlIGlmIHRoZSByZWdpc3RyeSBlbnRyeSB3YXMganVzdCBhIGRpcmVjdCBmdW5jdGlv bi4KKworLS0tCisgYmVoYXZlL2ZpeHR1cmUucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvZml4dHVy ZS5weSBiL2JlaGF2ZS9maXh0dXJlLnB5CitpbmRleCAzYTlmMWJjLi41MWUxOGJmIDEwMDY0NAor LS0tIGEvYmVoYXZlL2ZpeHR1cmUucHkKKysrKyBiL2JlaGF2ZS9maXh0dXJlLnB5CitAQCAtMjcy LDcgKzI3Miw3IEBAIGRlZiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJl X3JlZ2lzdHJ5KToKKyAKKyAgICAgaWYgY2FsbGFibGUoZml4dHVyZV9kYXRhKToKKyAgICAgICAg IGZpeHR1cmVfZnVuYyA9IGZpeHR1cmVfZGF0YQorLSAgICAgICAgdXNlX2ZpeHR1cmUoZml4dHVy ZV9mdW5jLCBjb250ZXh0KQorKyAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlKGZpeHR1cmVfZnVu YywgY29udGV4dCkKKyAgICAgZWxpZiBpc2luc3RhbmNlKGZpeHR1cmVfZGF0YSwgKHR1cGxlLCBs aXN0KSk6CisgICAgICAgICBhc3NlcnQgbGVuKGZpeHR1cmVfZGF0YSkgPT0gMworICAgICAgICAg Zml4dHVyZV9mdW5jLCBmaXh0dXJlX2FyZ3MsIGZpeHR1cmVfa3dhcmdzID0gZml4dHVyZV9kYXRh CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDYwLUFkZGVkLWlzc3VlLXVuaXQtdGVzdC5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjAtQWRkZWQtaXNzdWUtdW5p dC10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDM0YWMw NWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA2MC1BZGRlZC1pc3N1ZS11bml0LXRlc3QucGF0Y2gKQEAgLTAs MCArMSw2MiBAQAorRnJvbSBhNWU1MjI2ZjQ0Mzk1ZDRlODg5ODczYzVlMzlhMjAzMjIxNjZlMmM5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uLVBpZXJyZSBHZW50aWwgPGpnZW50 aWxAc2ViaXN0YXIubmV0PgorRGF0ZTogVGh1LCAxIEF1ZyAyMDE5IDExOjQ4OjA4IC0wNTAwCitT dWJqZWN0OiBbUEFUQ0hdIEFkZGVkIGlzc3VlIHVuaXQgdGVzdAorCistLS0KKyB0ZXN0cy9pc3N1 ZXMvdGVzdF9pc3N1ZTA3NjcucHkgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCisgMSBmaWxlIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5CisKK2RpZmYgLS1naXQgYS90ZXN0cy9p c3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4xZGUzNTg5CistLS0gL2Rldi9u dWxsCisrKysgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkKK0BAIC0wLDAgKzEsNDYg QEAKKysiIiIKKytodHRwczovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9pc3N1ZXMvNzY3Cisr CisrV2hlbiB0cnlpbmcgdG8gZG8gc29tZXRoaW5nIGxpa2U6OgorKworKyAgICBmaXh0dXJlX3Jl Z2lzdHJ5ID0geydmaXh0dXJlLmZvbyc6IGZvb19maXh0dXJlfQorKyAgICBmID0gdXNlX2ZpeHR1 cmVfYnlfdGFnKCdmaXh0dXJlLmZvbycsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCisrCisr QmVoYXZlIHJldHVybnMgbm90aGluZy4gOjoKKysKKysgICAgcmVwcihmKQorKyAgICAnTm9uZScK KysKKytUaGlzIHNlZW1zIHRvIGJlIGFuIG92ZXJzaWdodC4KKysiIiIKKysKKytmcm9tIG1vY2sg aW1wb3J0IE1vY2sKKysKKytkZWYgdGVzdF9pc3N1ZV83NjdfdXNlX2ZlYXR1cmVfYnlfdGFnX2hh c19ub19yZXR1cm4oKToKKysgICAgIiIiVmVyaWZpZXMgdGhhdCBpc3N1ZSAjNzY3IGlzIGZpeGVk LiIiIgorKyAgICBmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCBmaXh0dXJlLCB1c2VfZml4dHVy ZV9ieV90YWcKKysgICAgZnJvbSBiZWhhdmUucnVubmVyIGltcG9ydCBDb250ZXh0CisrCisrICAg IEBmaXh0dXJlKG5hbWU9J2ZpeHR1cmUuZm9vJykKKysgICAgZGVmIGZvb19maXh0dXJlKGNvbnRl eHQsICphcmdzLCAqKmt3YXJncyk6CisrICAgICAgICBjb250ZXh0LmZvbyA9ICdmb28nCisrICAg ICAgICByZXR1cm4gY29udGV4dC5mb28KKysKKysgICAgIyAtLSBTQ0hFTUEgMTogZml4dHVyZV9m dW5jCisrICAgIGZpeHR1cmVfcmVnaXN0cnkxID0geworKyAgICAgICAgImZpeHR1cmUuZm9vIjog Zm9vX2ZpeHR1cmUKKysgICAgfQorKyAgICAjIC0tIFNDSEVNQSAyOiBmaXh0dXJlX2Z1bmMsIGZp eHR1cmVfYXJncywgZml4dHVyZV9rd2FyZ3MKKysgICAgZml4dHVyZV9yZWdpc3RyeTIgPSB7Cisr ICAgICAgICAiZml4dHVyZS5mb28iOiAoZm9vX2ZpeHR1cmUsICgpLCB7fSkKKysgICAgfQorKwor KyAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICBmMSA9IHVzZV9maXh0 dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MSkKKysg ICAgYXNzZXJ0IGYxID09ICdmb28nCisrICAgIGFzc2VydCBjb250ZXh0LmZvbyBpcyBmMQorKwor KyAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICBmMiA9IHVzZV9maXh0 dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MikKKysg ICAgYXNzZXJ0IGYyID09ICdmb28nCisrICAgIGFzc2VydCBjb250ZXh0LmZvbyBpcyBmMgpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA2MS1NZXJnZS1wdWxsLXJlcXVlc3QtNzY3LXdpdGgtbWlub3ItdHdlYWtzLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MS1N ZXJnZS1wdWxsLXJlcXVlc3QtNzY3LXdpdGgtbWlub3ItdHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNzY1NDlkYmY4Ci0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MS1N ZXJnZS1wdWxsLXJlcXVlc3QtNzY3LXdpdGgtbWlub3ItdHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEs NjAgQEAKK0Zyb20gZmRhNDg4NmZlZjViYWYyOGE3YjAwYWE2YjlmMWRkYjk0Y2U2M2ZjMyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA3IEF1ZyAyMDE5IDIzOjE0OjU5ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0hdIE1lcmdlIHB1bGwtcmVxdWVzdCAjNzY3IHdpdGggbWlub3IgdHdlYWtzLiBG SVg6CisgdXNlX2ZpeHR1cmVfYnlfdGFnIGRpZG4ndCByZXR1cm4gdGhlIGFjdHVhbCBmaXh0dXJl IGluIGFsbCBjYXNlcy4KKworLS0tCisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAgICAgICAgIHwg IDEgKworIHRlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDc2Ny5weSB8IDE3ICsrKysrKysrKy0tLS0t LS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggMTVhNGVmOS4u N2E5MTYzZiAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAg LTQzLDYgKzQzLDcgQEAgRklYRUQ6CisgCisgTUlOT1I6CisgCisrKiBwdWxsICAjNzY3OiBGSVg6 IHVzZV9maXh0dXJlX2J5X3RhZyBkaWRuJ3QgcmV0dXJuIHRoZSBhY3R1YWwgZml4dHVyZSBpbiBh bGwgY2FzZXMgKHByb3ZpZGVkIGJ5OiBqZ2VudGlsKQorICogcHVsbCAgIzc1MTogZ2hlcmtpbjog QWRkaW5nIFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBwb3J0dWd1ZXNlIGFuZCBzcGFuaXNo IHRvIGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24gKHByb3ZpZGVkIGJ5OiBkdW5vc3NhdXJvKQorICog cHVsbCAgIzY2MDogRml4IG1pbm9yIHR5cG9zIChwcm92aWRlZCBieTogcnJ1ZXRoKQorICogcHVs bCAgIzY1NTogVXNlIHB5dGVzdCBpbnN0ZWFkIG9mIHB5LnRlc3QgcGVyIHVwc3RyZWFtIHJlY29t bWVuZGF0aW9uIChwcm92aWRlZCBieTogc2NvcCkKK2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMv dGVzdF9pc3N1ZTA3NjcucHkgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkKK2luZGV4 IDFkZTM1ODkuLjQwMWRiZDAgMTAwNjQ0CistLS0gYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3 NjcucHkKKysrKyBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDc2Ny5weQorQEAgLTE1LDExICsx NSwxMiBAQCBUaGlzIHNlZW1zIHRvIGJlIGFuIG92ZXJzaWdodC4KKyAiIiIKKyAKKyBmcm9tIG1v Y2sgaW1wb3J0IE1vY2sKKytmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCBmaXh0dXJlLCB1c2Vf Zml4dHVyZV9ieV90YWcKKytmcm9tIGJlaGF2ZS5ydW5uZXIgaW1wb3J0IENvbnRleHQKKysKKyAK KyBkZWYgdGVzdF9pc3N1ZV83NjdfdXNlX2ZlYXR1cmVfYnlfdGFnX2hhc19ub19yZXR1cm4oKToK KyAgICAgIiIiVmVyaWZpZXMgdGhhdCBpc3N1ZSAjNzY3IGlzIGZpeGVkLiIiIgorLSAgICBmcm9t IGJlaGF2ZS5maXh0dXJlIGltcG9ydCBmaXh0dXJlLCB1c2VfZml4dHVyZV9ieV90YWcKKy0gICAg ZnJvbSBiZWhhdmUucnVubmVyIGltcG9ydCBDb250ZXh0CisgCisgICAgIEBmaXh0dXJlKG5hbWU9 J2ZpeHR1cmUuZm9vJykKKyAgICAgZGVmIGZvb19maXh0dXJlKGNvbnRleHQsICphcmdzLCAqKmt3 YXJncyk6CitAQCAtMzYsMTEgKzM3LDExIEBAIGRlZiB0ZXN0X2lzc3VlXzc2N191c2VfZmVhdHVy ZV9ieV90YWdfaGFzX25vX3JldHVybigpOgorICAgICB9CisgCisgICAgIGNvbnRleHQgPSBDb250 ZXh0KHJ1bm5lcj1Nb2NrKCkpCistICAgIGYxID0gdXNlX2ZpeHR1cmVfYnlfdGFnKCdmaXh0dXJl LmZvbycsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkxKQorLSAgICBhc3NlcnQgZjEgPT0gJ2Zv bycKKy0gICAgYXNzZXJ0IGNvbnRleHQuZm9vIGlzIGYxCisrICAgIGZpeHR1cmUxID0gdXNlX2Zp eHR1cmVfYnlfdGFnKCJmaXh0dXJlLmZvbyIsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkxKQor KyAgICBhc3NlcnQgZml4dHVyZTEgPT0gImZvbyIKKysgICAgYXNzZXJ0IGNvbnRleHQuZm9vIGlz IGZpeHR1cmUxCisgCisgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCistICAg IGYyID0gdXNlX2ZpeHR1cmVfYnlfdGFnKCdmaXh0dXJlLmZvbycsIGNvbnRleHQsIGZpeHR1cmVf cmVnaXN0cnkyKQorLSAgICBhc3NlcnQgZjIgPT0gJ2ZvbycKKy0gICAgYXNzZXJ0IGNvbnRleHQu Zm9vIGlzIGYyCisrICAgIGZpeHR1cmUyID0gdXNlX2ZpeHR1cmVfYnlfdGFnKCJmaXh0dXJlLmZv byIsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkyKQorKyAgICBhc3NlcnQgZml4dHVyZTIgPT0g ImZvbyIKKysgICAgYXNzZXJ0IGNvbnRleHQuZm9vIGlzIGZpeHR1cmUyCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYyLUNI RUNLLUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXItVW5pY29kZUVycm9yLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Mi1DSEVDSy1J c3N1ZS03NjYtUHJldHR5Rm9ybWF0dGVyLVVuaWNvZGVFcnJvci5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjY5OTQzM2U3YgotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjItQ0hF Q0stSXNzdWUtNzY2LVByZXR0eUZvcm1hdHRlci1Vbmljb2RlRXJyb3IucGF0Y2gKQEAgLTAsMCAr MSw4MyBAQAorRnJvbSA3MGNhMzdkMzk3YWFjOTlhMDlhZjRkNGQzMmVhMGFlYmFlMjgxNWQzIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDcgQXVnIDIwMTkgMjM6NTU6MDUgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gQ0hFQ0s6IElzc3VlICM3NjYgLS0gUHJldHR5Rm9ybWF0dGVyOiBVbmlj b2RlRXJyb3IKKworLS0tCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzY2LmZlYXR1cmUgICAgICAg IHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKworIGlzc3VlLmZlYXR1cmVzL3N0ZXBzL2lz c3VlMDc2Nl9zdGVwcy5weSB8IDEyICsrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2Vy dGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzY2LmZl YXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgaXNzdWUuZmVhdHVyZXMvc3RlcHMvaXNzdWUwNzY2 X3N0ZXBzLnB5CisKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NjYuZmVhdHVy ZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDc2Ni5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMC4uOTRkNDRkOAorLS0tIC9kZXYvbnVsbAorKysrIGIvaXNzdWUuZmVh dHVyZXMvaXNzdWUwNzY2LmZlYXR1cmUKK0BAIC0wLDAgKzEsNDcgQEAKKytAaXNzdWUKKytAbm90 X3JlcHJvZHVjaWJsZQorK0ZlYXR1cmU6IElzc3VlICM3NjYgLS0gVW5pY29kZUVuY29kZUVycm9y IGluIFByZXR0eUZvcm1hdHRlcgorKworKyAgRXhwbG9yZSB0aGUgZGVzY3JpYmVkIHByb2JsZW0u CisrCisrICBTY2VuYXJpbyBPdXRsaW5lOgorKyAgICBHaXZlbiBhIHN0ZXAgd2l0aCBuYW1lPSI8 bmFtZT4iCisrCisrICAgIEV4YW1wbGVzOgorKyAgICAgIHzCoG5hbWUgfCB2YWx1ZSB8IGNvbW1l bnQgfAorKyAgICAgIHwg8J+YhCAgIHwgMTIzICAgfCBVc2UgZW1vdGljb24gKHNtaWxleSkgaW4g YSB0YWJsZSB8CisrCisrICBTY2VuYXJpbzoKKysgICAgR2l2ZW4gYSBzdGVwIHdpdGggdGFibGUg ZGF0YToKKysgICAgICB8wqBuYW1lIHwgdmFsdWUgfCBjb21tZW50IHwKKysgICAgICB8IPCfmIQg ICB8IDEyMyAgIHwgVXNlIGVtb3RpY29uIChzbWlsZXkpIGluIGEgdGFibGUgfAorKworKyAgU2Nl bmFyaW86IEV4cGxvcmUgcHJvYmxlbSBieSB1c2luZyB0aGUgcHJldHR5IGZvcm1hdHRlcgorKyAg ICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJm ZWF0dXJlcy9zeW5kcm9tZV83NjYuZmVhdHVyZSIgd2l0aDoKKysgICAgICAiIiIKKysgICAgICBG ZWF0dXJlOiBBbGljZQorKyAgICAgICAgU2NlbmFyaW8gT3V0bGluZToKKysgICAgICAgICAgR2l2 ZW4gYSBzdGVwIHdpdGggbmFtZT0iPG5hbWU+IgorKworKyAgICAgICAgICBFeGFtcGxlczoKKysg ICAgICAgICAgICB8wqBuYW1lIHwgdmFsdWUgfCBjb21tZW50IHwKKysgICAgICAgICAgICB8IPCf mIQgICB8IDEyMyAgIHwgVXNlIGVtb3RpY29uIChzbWlsZXkpIGluIGEgdGFibGUgfAorKyAgICAg ICIiIgorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9pc3N1ZTc2Nl9zdGVw cy5weSIgd2l0aDoKKysgICAgICAiIiIKKysgICAgICBmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4K KysKKysgICAgICBAZ2l2ZW4odSdhIHN0ZXAgd2l0aCBuYW1lPSJ7bmFtZX0iJykKKysgICAgICBk ZWYgc3RlcF93aXRoX3RhYmxlX2RhdGEoY3R4LCBuYW1lKToKKysgICAgICAgICAgcGFzcworKyAg ICAgICIiIgorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcHJldHR5IGZlYXR1cmVzL3N5bmRy b21lXzc2Ni5mZWF0dXJlIgorKyAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAg IiIiCisrICAgICAgMSBmZWF0dXJlIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAg IDEgc2NlbmFyaW8gcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAgICAgMSBzdGVwIHBh c3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1bmRlZmluZQorKyAgICAgICIiIgorKyAgICBB bmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBub3QgY29udGFpbiAiVW5pY29kZUVuY29kZUVy cm9yIgorKyAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBub3QgY29udGFpbiAiVHJh Y2ViYWNrIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2Nl9zdGVw cy5weSBiL2lzc3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2Nl9zdGVwcy5weQorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjMzZWQzMTcKKy0tLSAvZGV2L251bGwKKysrKyBi L2lzc3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2Nl9zdGVwcy5weQorQEAgLTAsMCArMSwxMiBA QAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBw cmludF9mdW5jdGlvbgorK2Zyb20gYmVoYXZlIGltcG9ydCBnaXZlbgorKworK0BnaXZlbih1J2Eg c3RlcCB3aXRoIHRhYmxlIGRhdGEnKQorK2RlZiBzdGVwX3dpdGhfdGFibGVfZGF0YShjdHgpOgor KyAgICBhc3NlcnQgY3R4LnRhYmxlIGlzIG5vdCBOb25lLCAiUkVRVUlSRTogc3RlcC50YWJsZSIK KysKKytAZ2l2ZW4odSdhIHN0ZXAgd2l0aCBuYW1lPSJ7bmFtZX0iJykKKytkZWYgc3RlcF93aXRo X3RhYmxlX2RhdGEoY3R4LCBuYW1lKToKKysgICAgcHJpbnQodSJuYW1lOiB7fSIuZm9ybWF0KG5h bWUpKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA2My1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13 aXRob3V0LXRhYmxlLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA2My1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxl cy13aXRob3V0LXRhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uNTY4Yzc4NzIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2My1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0 bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20g NWRmYjliMWM1ZTk3YjVlMWVlNTEwZjhkZmVlZmUwZGM4NTliMzRmMCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogU3VuLCAyMiBTZXAgMjAxOSAxODowODoyMiArMDIwMAorU3ViamVjdDogW1BBVENI XSBGSVggaXNzdWUgIzc3MjogU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzIHdpdGhvdXQgdGFibGUu CisKKy0tLQorIGJlaGF2ZS9tb2RlbC5weSAgICAgICAgICAgICAgICAgIHwgIDggKysrKysrKy0K KyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NzIuZmVhdHVyZSB8IDMxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzcyLmZl YXR1cmUKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQor aW5kZXggNjlmMzhhYi4uZjQ2ZDJjMiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysr IGIvYmVoYXZlL21vZGVsLnB5CitAQCAtMTAsNyArMTAsNyBAQCBUaGlzIG1vZHVsZSBwcm92aWRl cyB0aGUgbW9kZWwgZWxlbWVudCBjbGFzcyB0aGF0IHJlcHJlc2VudCBhIGJlaGF2ZSBtb2RlbDoK KyAqIC4uLgorICIiIgorIAorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0 LCB3aXRoX3N0YXRlbWVudAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0 LCB3aXRoX3N0YXRlbWVudCwgcHJpbnRfZnVuY3Rpb24KKyBpbXBvcnQgY29weQorIGltcG9ydCBk aWZmbGliCisgaW1wb3J0IGxvZ2dpbmcKK0BAIC0xMzU1LDYgKzEzNTUsMTIgQEAgY2xhc3MgU2Nl bmFyaW9PdXRsaW5lQnVpbGRlcihvYmplY3QpOgorICAgICAgICAgICAgIGV4YW1wbGUuaW5kZXgg PSBleGFtcGxlX2luZGV4KzEKKyAgICAgICAgICAgICBwYXJhbXNbImV4YW1wbGVzLm5hbWUiXSA9 IGV4YW1wbGUubmFtZQorICAgICAgICAgICAgIHBhcmFtc1siZXhhbXBsZXMuaW5kZXgiXSA9IF90 ZXh0KGV4YW1wbGUuaW5kZXgpCisrICAgICAgICAgICAgaWYgbm90IGV4YW1wbGUudGFibGU6Cisr ICAgICAgICAgICAgICAgICMgLS0gU1lORFJPTUU6IEV4YW1wbGVzIGtleXdvcmQgd2l0aG91dCB0 YWJsZQorKyAgICAgICAgICAgICAgICBwcmludCgiRVJST1I6IFNjZW5hcmlvT3V0bGluZS5FeGFt cGxlczogSGFzIE5PLVRBQkxFIHN5bmRyb21lICh7MH0pIlwKKysgICAgICAgICAgICAgICAgICAg ICAgLmZvcm1hdChleGFtcGxlLmxvY2F0aW9uKSkKKysgICAgICAgICAgICAgICAgY29udGludWUK KysKKyAgICAgICAgICAgICBmb3Igcm93X2luZGV4LCByb3cgaW4gZW51bWVyYXRlKGV4YW1wbGUu dGFibGUpOgorICAgICAgICAgICAgICAgICByb3cuaW5kZXggPSByb3dfaW5kZXgrMQorICAgICAg ICAgICAgICAgICByb3cuaWQgPSAiJWQuJWQiICUgKGV4YW1wbGUuaW5kZXgsIHJvdy5pbmRleCkK K2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NzIuZmVhdHVyZSBiL2lzc3VlLmZl YXR1cmVzL2lzc3VlMDc3Mi5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMC4uZWJhMGVhNQorLS0tIC9kZXYvbnVsbAorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUw NzcyLmZlYXR1cmUKK0BAIC0wLDAgKzEsMzEgQEAKKytAaXNzdWUKKytGZWF0dXJlOiBJc3N1ZSAj NzcyIC0tIFN5bmRyb21lOiBTY2VuYXJpb091dGxpbmUgd2l0aCBFeGFtcGxlcyBrZXl3b3JkIHcv byBUYWJsZQorKworKworKworKyAgQmFja2dyb3VuZDogU2V0dXAKKysgICAgR2l2ZW4gYSBuZXcg d29ya2luZyBkaXJlY3RvcnkKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3luZHJv bWVfNzcyLmZlYXR1cmUiIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgRmVhdHVyZTogRXhhbXBs ZXMgd2l0aG91dCB0YWJsZQorKworKyAgICAgICAgU2NlbmFyaW8gT3V0bGluZToKKysgICAgICAg ICAgR2l2ZW4gYSBzdGVwIHBhc3NlcworKyAgICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNz ZXMKKysKKysgICAgICAgICAgRXhhbXBsZXM6IFdpdGhvdXQgdGFibGUKKysgICAgICAiIiIKKysg ICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBfbGlicmFyeS5weSIg d2l0aDoKKysgICAgICAiIiIKKysgICAgICAjIC0tIFJFVVNFIFNURVBTOgorKyAgICAgIGltcG9y dCBiZWhhdmU0Y21kMC5wYXNzaW5nX3N0ZXBzCisrICAgICAgIiIiCisrCisrICBTY2VuYXJpbzog VXNlIFNjZW5hcmlvT3V0bGluZSB3aXRoIEV4YW1wbGVzIGtleXdvcmQgd2l0aG91dCB0YWJsZQor KyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gZmVhdHVyZXMvc3luZHJvbWVfNzcyLmZl YXR1cmUiCisrICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAiIiIKKysgICAg ICBGZWF0dXJlOiBFeGFtcGxlcyB3aXRob3V0IHRhYmxlCisrICAgICAgRVJST1I6IFNjZW5hcmlv T3V0bGluZS5FeGFtcGxlczogSGFzIE5PLVRBQkxFIHN5bmRyb21lIChmZWF0dXJlcy9zeW5kcm9t ZV83NzIuZmVhdHVyZTo3KQorKyAgICAgICIiIgorKyAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0 IHNob3VsZCBub3QgY29udGFpbiAiUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUiCmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY0 LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDY0LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41YTQ4NzVjM2IKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDY0LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdp dGhvdXQtdGFibGUucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSBiOTc2YmZkY2ZiYTdiZmRj N2Y1ZGY3Njk0YjYzYTliN2JmNjgzYTRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDIy IFNlcCAyMDE5IDE4OjA5OjUwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWCBpc3N1ZSAjNzcy OiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0aG91dCB0YWJsZS4KKworLS0tCisgQ0hBTkdF Uy5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdp dCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IDdhOTE2M2YuLmJhNGRhYWQgMTAw NjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0zMyw2ICszMyw3 IEBAIEVOSEFOQ0VNRU5UUzoKKyAKKyBGSVhFRDoKKyAKKysqIGlzc3VlICM3NzI6IFNjZW5hcmlv T3V0bGluZS5FeGFtcGxlcyB3aXRob3V0IHRhYmxlIChzdWJtaXR0ZWQgYnk6IFRoZS1RQS1HZWVr KQorICogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6 IGhyb25jb2spCisgKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxp bmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAj NzEzOiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24ndCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92 aWRlZCBieTogZGdvdSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjUtTmliYmxlLVRyYXZpc0NJLXRvLXdha2UtdXAucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDY1LU5pYmJsZS1UcmF2aXNDSS10by13YWtlLXVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uYTIwZTdkOGFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NS1OaWJibGUtVHJh dmlzQ0ktdG8td2FrZS11cC5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIDc3MTU5Y2MzYmUx Y2VmMzUwMjE5OWM4YWNjY2U3NDc5Y2ZlZTNjM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdl ZCwgMTEgRGVjIDIwMTkgMDg6MjM6MDggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTmliYmxlIFRy YXZpc0NJIHRvIHdha2UgdXAuCisKKy0tLQorIC50cmF2aXMueW1sIHwgMSArCisgMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS8udHJhdmlzLnltbCBiLy50cmF2 aXMueW1sCitpbmRleCBjNjAyN2UwLi43ODFhNjEwIDEwMDY0NAorLS0tIGEvLnRyYXZpcy55bWwK KysrKyBiLy50cmF2aXMueW1sCitAQCAtNiw2ICs2LDcgQEAgcHl0aG9uOgorICAgLSAiMy43Igor ICAgLSAiMi43IgorIAorKworICMgLS0gRElTQUJMRS1URU1QT1JBUklMWTogRW5zdXJlIGZhc3Rl ciBidWlsZHMKKyAjICAtICIzLjYiCisgIyAgLSAiMy41IgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Ni1Ud2Vhay1weXRl c3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY2LVR3ZWFrLXB5dGVzdC12ZXJzaW9uLXNlbGVjdGlv bi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmMyMmE3NGI2MQot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjYtVHdlYWstcHl0ZXN0LXZlcnNpb24tc2VsZWN0aW9uLnBhdGNoCkBA IC0wLDAgKzEsMzcgQEAKK0Zyb20gMzRkNTIxNWMyNmU2YWRiNzRjOTRmNTNiNWI0MzQzZWE4ZDIw YzQxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMSBEZWMgMjAxOSAwODozMDoxMSAr MDEwMAorU3ViamVjdDogW1BBVENIXSBUd2VhayBweXRlc3QgdmVyc2lvbiBzZWxlY3Rpb24KKwor LS0tCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgfCAzICsrLQorIHNldHVwLnB5ICAg ICAgICAgICAgICAgICAgICAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50 cmF2aXMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK2luZGV4IDczZDY1ZjYu LjVmMzE4MDIgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorKysr IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK0BAIC0xLDYgKzEsNyBAQAorIG1vY2sK KyBQeUhhbWNyZXN0ID49IDEuOQorLXB5dGVzdCA+PSAzLjAKKytweXRlc3QgPCAgNS4wOyBweXRo b25fdmVyc2lvbiA8ICAnMy4wJworK3B5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICcz LjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisgCisgIyAtLSBORUVERUQ6IEJ5IHNvbWUgdGVz dHMgKGFzIHByb29mIG9mIGNvbmNlcHQpCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5w eQoraW5kZXggOGRlM2VjMC4uNzVkNjg0NyAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9z ZXR1cC5weQorQEAgLTg3LDcgKzg3LDggQEAgc2V0dXAoCisgICAgICAgICAiY29sb3JhbWEiLAor ICAgICBdLAorICAgICB0ZXN0c19yZXF1aXJlPVsKKy0gICAgICAgICJweXRlc3QgPj0gNC4yIiwK KysgICAgICAgICJweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJyIsICMgPj0g NC4yCisrICAgICAgICAicHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCciLAor ICAgICAgICAgInB5dGVzdC1odG1sID49IDEuMTkuMCIsCisgICAgICAgICAibW9jayA+PSAxLjEi LAorICAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS45IiwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjctVHdlYWstcHl0ZXN0 LWNvbmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1KVW5pdC1YTUwtZGlhbC5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjctVHdlYWstcHl0 ZXN0LWNvbmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1KVW5pdC1YTUwtZGlhbC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjg0Mjc5ODM4NwotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NjctVHdlYWstcHl0ZXN0LWNvbmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1KVW5pdC1YTUwtZGlhbC5w YXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDBhMTRiYjhmNTEyMDJjZTEwMzEyMTFlNjQ4NDE5 MjdlODQxOGVhYWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTEgRGVjIDIwMTkgMDg6 Mzc6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVHdlYWsgcHl0ZXN0IGNvbmZpZ3VyYXRpb24g dG8gc2lsZW5jZSBKVW5pdCBYTUwgZGlhbGVjdAorIHdhcm5pbmcuCisKKy0tLQorIHB5dGVzdC5p bmkgfCA3ICsrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCisKK2RpZmYgLS1naXQgYS9weXRlc3QuaW5pIGIvcHl0ZXN0LmluaQoraW5kZXggZmYy YThhMi4uMjI4Mjc5YyAxMDA2NDQKKy0tLSBhL3B5dGVzdC5pbmkKKysrKyBiL3B5dGVzdC5pbmkK K0BAIC0xNiw5ICsxNiwxMCBAQAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIFtweXRlc3Rd CistbWludmVyc2lvbiAgICA9IDIuOAorK21pbnZlcnNpb24gICAgPSA0LjIKKyB0ZXN0cGF0aHMg ICAgID0gdGVzdHMKKyBweXRob25fZmlsZXMgID0gdGVzdF8qLnB5CisranVuaXRfZmFtaWx5ID0g eHVuaXQyCisgYWRkb3B0cyA9IC0tbWV0YWRhdGEgUEFDS0FHRV9VTkRFUl9URVNUIGJlaGF2ZQor ICAgICAtLW1ldGFkYXRhIFBBQ0tBR0VfVkVSU0lPTiAxLjIuNy5kZXYxCisgICAgIC0taHRtbD1i dWlsZC90ZXN0aW5nL3JlcG9ydC5odG1sIC0tc2VsZi1jb250YWluZWQtaHRtbAorQEAgLTI3LDYg KzI4LDEwIEBAIG1hcmtlcnMgPQorICAgICBzbW9rZQorICAgICBzbG93CisgCisrIyAtLSBQUkVQ QVJFRDoKKysjIGZpbHRlcndhcm5pbmdzID0KKysjICAgIGlnbm9yZTouKmludmFsaWQgZXNjYXBl IHNlcXVlbmNlLio6RGVwcmVjYXRpb25XYXJuaW5nCisrCisgIyAtLSBCQUNLV0FSRCBDT01QQVRJ QklMSVRZOiBweXRlc3QgPCAyLjgKKyAjIG5vcmVjdXJzZWRpcnMgPSAuZ2l0IC50b3ggYnVpbGQg ZGlzdCBweS5yZXF1aXJlbWVudHMgdG1wKiBfV09SS1NQQUNFCisgCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY4LUFkZC1i YXNpYy1mZWF0dXJlLXRlc3QtZm9yLXdpbGRjYXJkLXBhdHRlcm4tbWF0Y2hpbmcucGF0Y2ggYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY4LUFk ZC1iYXNpYy1mZWF0dXJlLXRlc3QtZm9yLXdpbGRjYXJkLXBhdHRlcm4tbWF0Y2hpbmcucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lZjUxMDAwMGEKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDY4LUFkZC1iYXNpYy1mZWF0dXJlLXRlc3QtZm9yLXdpbGRjYXJkLXBhdHRlcm4tbWF0 Y2hpbmcucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorRnJvbSBmYzRkYTlhYTg3NzJkNWE4OWNiMGRk MzcwMmE1MzcyMmQxNDk5YWRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAy MDE5IDE1OjUwOjM3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBiYXNpYyBmZWF0dXJlLXRl c3QgZm9yIHdpbGRjYXJkIHBhdHRlcm4tbWF0Y2hpbmcgdGhhdCBpcworIHN1cHBvcnRlZCBieSBj dWN1bWJlci10YWctZXhwcmVzc2lvbnMgKHB5dGhvbi1vbmx5KS4KKworLS0tCisgLi4uL3RhZ3Mu dGFnX2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZlYXR1cmUgIHwgMzkgKysrKysrKysrKysrKysr KysrKworIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGZlYXR1cmVzL3RhZ3MudGFnX2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZlYXR1cmUKKwor ZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3RhZ3MudGFnX2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZl YXR1cmUgYi9mZWF0dXJlcy90YWdzLnRhZ19leHByZXNzaW9uX3YyLndpbGRjYXJkcy5mZWF0dXJl CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzcyYTczMQorLS0tIC9kZXYv bnVsbAorKysrIGIvZmVhdHVyZXMvdGFncy50YWdfZXhwcmVzc2lvbl92Mi53aWxkY2FyZHMuZmVh dHVyZQorQEAgLTAsMCArMSwzOSBAQAorK0ZlYXR1cmU6IFRhZyBFeHByZXNzaW9uIHYyIEV4dGVu c2lvbjogV2lsZGNhcmRzIGZvciB0YWcgbWF0Y2hpbmcKKysKKysgIEFzIGEgdGVzdGVyCisrICBJ IHdhbnQgdG8gdXNlIGEgd2lsZGNhcmQgcGF0dGVybiB0byBzZWxlY3QgdGFncyBmb2xsb3dpbmcg YSBuYW1pbmcgc2NoZW1lCisrICBTbyB0aGF0IGl0IGlzIHNpbXBsZXIgdG8gc2VsZWN0IGEgc3Vi c2V0IG9mIHNjZW5hcmlvcyBhbmQgZmVhdHVyZXMuCisrCisrICAuIFNQRUNJRklDQVRJT046IFdp bGRjYXJkcyBpbiB0YWctZXhwcmVzc2lvbnMgdjIKKysgIC4gICAqIFVzZSBmaWxlLW5hbWUgbWF0 Y2hpbmcgd2lsZGNhcmRzIChmbm1hdGNoKTogKiwgPworKyAgLiAgICogYSB0YWcgZXhwcmVzc2lv biBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbgorKyAgLiAgICogYSB0YWcgZXhwcmVzc2lvbiBzdXBw b3J0cyB0aGUgb3BlcmF0b3JzOiBhbmQsIG9yLCBub3QKKysgIC4gICAqIGEgdGFnIGV4cHJlc3Np b24gc3VwcG9ydHMgJygnIGFuZCAnKScgZm9yIGdyb3VwaW5nIGV4cHJlc3Npb25zCisrICAuCisr ICAuIEVYQU1QTEVTOgorKyAgLiAgIHwgVGFnIGV4cHJlc3Npb24gICAgICAgICAgfCBDb21tZW50 IHwKKysgIC4gICB8IEBmb28uKiAgICAgICAgICAgICAgICAgIHwgTWF0Y2hlcyBhbnkgdGFncyB0 aGF0IHN0YXJ0IHdpdGggIkBmb28uIiB8CisrICAuICAgfCBub3QgQGZvby4qICAgICAgICAgICAg ICB8IEV4Y2x1ZGVzIGFueSBlbGVtZW50IHRoYXQgaGF2ZSB0YWdzIHRoYXQgc3RhcnQgd2l0aCAi QGZvby4iIHwKKysKKysKKysgIFNjZW5hcmlvOiBTZWxlY3QgdGFncyB0aGF0IG1hdGNoIHRoZSAi QGZvby4qIiBwYXR0ZXJuCisrICAgIEdpdmVuIHRoZSB0YWcgZXhwcmVzc2lvbiAiQGZvby4qIgor KyAgICBUaGVuIHRoZSB0YWcgZXhwcmVzc2lvbiBzZWxlY3RzIGVsZW1lbnRzIHdpdGggdGFnczoK KysgICAgICAgIHwgdGFncyAgICAgICAgICB8IHNlbGVjdGVkPyB8CisrICAgICAgICB8ICAgICAg ICAgICAgICAgfCAgIG5vICAgICAgfAorKyAgICAgICAgfCBAZm9vICAgICAgICAgIHwgICBubyAg ICAgIHwKKysgICAgICAgIHwgQGZvby5vbmUgICAgICB8ICAgeWVzICAgICB8CisrICAgICAgICB8 IEBmb28udHdvICAgICAgfCAgIHllcyAgICAgfAorKyAgICAgICAgfCBAb3RoZXIgICAgICAgIHwg ICBubyAgICAgIHwKKysgICAgICAgIHwgQGZvby4zIEBvdGhlciB8ICAgeWVzICAgICB8CisrCisr ICBTY2VuYXJpbzogU2VsZWN0IHRhZ3MgdGhhdCBkbyBub3QgbWF0Y2ggdGhlICJAZm9vLioiIHBh dHRlcm4KKysgICAgR2l2ZW4gdGhlIHRhZyBleHByZXNzaW9uICJub3QgQGZvby4qIgorKyAgICBU aGVuIHRoZSB0YWcgZXhwcmVzc2lvbiBzZWxlY3RzIGVsZW1lbnRzIHdpdGggdGFnczoKKysgICAg ICAgIHwgdGFncyAgICAgICAgICB8IHNlbGVjdGVkPyB8CisrICAgICAgICB8ICAgICAgICAgICAg ICAgfCAgIHllcyAgICAgfAorKyAgICAgICAgfCBAZm9vICAgICAgICAgIHwgICB5ZXMgICAgIHwK KysgICAgICAgIHwgQGZvby5vbmUgICAgICB8ICAgbm8gICAgICB8CisrICAgICAgICB8IEBmb28u dHdvICAgICAgfCAgIG5vICAgICAgfAorKyAgICAgICAgfCBAb3RoZXIgICAgICAgIHwgICB5ZXMg ICAgIHwKKysgICAgICAgIHwgQGZvby4zIEBvdGhlciB8ICAgbm8gICAgICB8CmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY5 LVVQREFURS1kZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRoLXB5dGVzdC5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjktVVBEQVRFLWRl cGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uMmFmMTY2OTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OS1VUERBVEUtZGVw ZW5kZW5jaWVzLXBhdGgucHktcGF0aC1weXRlc3QucGF0Y2gKQEAgLTAsMCArMSwxNDEgQEAKK0Zy b20gZTYzNjExODE1NGIxMDUyNmUwNzVjMzc4M2E0MzlkNThjMWYwZTBhYyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAyMDoxMjoxNCArMDEwMAorU3ViamVjdDogW1BB VENIXSBVUERBVEU6IGRlcGVuZGVuY2llcyAocGF0aC5weSA8PT4gcGF0aCwgcHl0ZXN0LCAuLi4p CisKKy0tLQorIHB5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0ICAgIHwgIDggKysrKysrLS0KKyBw eS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCB8IDExICsrKysrKysrLS0tCisgcHkucmVxdWly ZW1lbnRzL2RldmVsb3AudHh0ICAgfCAgNSArKysrLQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5n LnR4dCAgIHwgIDcgKysrKystLQorIHNldHVwLnB5ICAgICAgICAgICAgICAgICAgICAgIHwgIDYg KysrKy0tCisgdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dCAgICAgfCAgNSArKysrLQorIDYgZmls ZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50b3gu dHh0CitpbmRleCA2YjNiM2FlLi40MDAxYmMyIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRz L2NpLnRveC50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CitAQCAtMiw4ICsy LDEyIEBACisgIyBCRUhBVkU6IFBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUzogY2kudG94LnR4 dAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLXB5dGVzdCA+PSA0LjIKKytweXRlc3QgPCAg NS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJyAjIHB5dGVzdCA+PSA0LjIKKytweXRlc3QgPj0g NS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1sID49IDEuMTkuMAorIG1v Y2sgPj0gMi4wCisgUHlIYW1jcmVzdCA+PSAxLjkKKy1wYXRoLnB5ID49IDEwLjEKKysKKysjIC0t IEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1l ZCBmb3IgcHl0aG9uMykKKytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMu NScKKytwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKK2RpZmYgLS1n aXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50 cmF2aXMudHh0CitpbmRleCA1ZjMxODAyLi5kZTQxMjBhIDEwMDY0NAorLS0tIGEvcHkucmVxdWly ZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0 CitAQCAtMSwxMiArMSwxNyBAQAorLW1vY2sKKy1QeUhhbWNyZXN0ID49IDEuOQorKyMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorKyMgUFlUSE9OIFBBQ0tBR0UgUkVRVUlSRU1FTlRTIEZPUjogYmVoYXZl IC0tIGNpLnRyYXZpcy50eHQKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyBweXRlc3QgPCAgNS4w OyBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9u ID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisrbW9jayAgPj0gMi4wCisrUHlIYW1j cmVzdCA+PSAxLjkKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2Yg Y29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42 CistcGF0aC5weSA+PSAxMC4xCisrIyBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0 YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisrcGF0aC5weSA+PSAxMS41LjA7 IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisrcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJz aW9uID49ICczLjUnCisgCisgIyAtLSBOT1RFOiBUcmF2aXMuQ0kgdHdlYWsgcmVsYXRlZCB3LyBp bnZhbGlkIGxpbmVjYWNoZTIgdGVzdHMuCisgIyAgICBUaGlzIHByb2JsZW0gZG9lcyBub3QgZXhp c3QgaWYgeW91IHVzZSBwaXAuCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3Au dHh0IGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitpbmRleCBhMTZkN2JmLi5hOTJlZTVm IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CisrKysgYi9weS5yZXF1 aXJlbWVudHMvZGV2ZWxvcC50eHQKK0BAIC02LDEwICs2LDEzIEBACisgIyBQUkVQQVJFIFVTQUdF OiBpbnZva2UKKyAjIEFMUkVBRFk6IHNpeCA+PSAxLjExLjAKKyBpbnZva2UgPj0gMS4yLjAKKy1w YXRoLnB5ID49IDExLjUuMAorIHBhdGhsaWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnCisg cHljbWQKKyAKKysjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFj a2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9u X3ZlcnNpb24gPCAgJzMuNScKKytwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0g JzMuNScKKysKKyAjIC0tIENPTkZJR1VSQVRJT04gTUFOQUdFTUVOVCAoaGVscGVycyk6CisgIyBG T1JNRVI6IGJ1bXB2ZXJzaW9uID49IDAuNC4wCisgYnVtcDJ2ZXJzaW9uID49IDAuNS42CitkaWZm IC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1lbnRzL3Rl c3RpbmcudHh0CitpbmRleCBhNDE4NzM5Li44NWIwOTA4IDEwMDY0NAorLS0tIGEvcHkucmVxdWly ZW1lbnRzL3Rlc3RpbmcudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK0BA IC00LDExICs0LDE0IEBACisgCisgIyAtLSBURVNUSU5HOiBVbml0IHRlc3RzIGFuZCBiZWhhdmUg c2VsZi10ZXN0cy4KKyAjIFBSRVBBUkVELUZVVFVSRTogYmVoYXZlNGNtZDAsIGJlaGF2ZTRjbWQK Ky1weXRlc3QgPj0gNC4yCisrcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcg IyBweXRlc3QgPj0gNC4yCisrcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcK KyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBtb2NrICA+PSAyLjAKKyBQeUhhbWNyZXN0ID49IDEu OQorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQor ICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYKKy1wYXRoLnB5 ID49IDExLjUuMAorKyMgSElOVDogcGF0aC5weSA9PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNr YWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQorK3BhdGgucHkgPj0gMTEuNS4wOyBweXRob25f dmVyc2lvbiA8ICAnMy41JworK3BhdGggPj0gMTMuMS4wOyAgICBweXRob25fdmVyc2lvbiA+PSAn My41JworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IDc1ZDY4NDcuLjJh ZmMxNDcgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC03Nyw3ICs3 Nyw3IEBAIHNldHVwKAorICAgICBweXRob25fcmVxdWlyZXM9Ij49Mi43LCAhPTMuMC4qLCAhPTMu MS4qLCAhPTMuMi4qIiwKKyAgICAgaW5zdGFsbF9yZXF1aXJlcz1bCisgICAgICAgICAiY3VjdW1i ZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4yIiwKKy0gICAgICAgICJwYXJzZSA+PSAxLjguMiIs CisrICAgICAgICAicGFyc2UgPj0gMS45LjEiLAorICAgICAgICAgInBhcnNlX3R5cGUgPj0gMC40 LjIiLAorICAgICAgICAgInNpeCA+PSAxLjEyLjAiLAorICAgICAgICAgInRyYWNlYmFjazI7IHB5 dGhvbl92ZXJzaW9uIDwgJzMuMCciLAorQEAgLTkyLDcgKzkyLDkgQEAgc2V0dXAoCisgICAgICAg ICAicHl0ZXN0LWh0bWwgPj0gMS4xOS4wIiwKKyAgICAgICAgICJtb2NrID49IDEuMSIsCisgICAg ICAgICAiUHlIYW1jcmVzdCA+PSAxLjkiLAorLSAgICAgICAgInBhdGgucHkgPj0gMTEuNS4wIgor KyAgICAgICAgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2th Z2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisrICAgICAgICAicGF0aC5weSA+PSAxMS41LjA7 IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnIiwKKysgICAgICAgICJwYXRoID49IDEzLjEuMDsgICAg cHl0aG9uX3ZlcnNpb24gPj0gJzMuNSciLAorICAgICBdLAorICAgICBjbWRjbGFzcyA9IHsKKyAg ICAgICAgICJiZWhhdmVfdGVzdCI6IGJlaGF2ZV90ZXN0LAorZGlmZiAtLWdpdCBhL3Rhc2tzL3B5 LnJlcXVpcmVtZW50cy50eHQgYi90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCBhNzdk M2JjLi44MTBmODM0IDEwMDY0NAorLS0tIGEvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorKysr IGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTksMTAgKzksMTMgQEAKKyAjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKyAKKyBpbnZva2UgPj0gMS4yLjAKKy1wYXRoLnB5ID49IDExLjUuMAor IHB5Y21kCisgc2l4ID49IDEuMTIuMAorIAorKyMgLS0gSElOVDogcGF0aC5weSA9PiBwYXRoIChw eXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQorK3BhdGgucHkg Pj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy41JworK3BhdGggPj0gMTMuMS4wOyAgICBw eXRob25fdmVyc2lvbiA+PSAnMy41JworKworICMgLS0gUFlUSE9OMiBCQUNLUE9SVFM6CisgcGF0 aGxpYjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBiYWNrcG9ydHMuc2h1dGlsX3doaWNo OyBweXRob25fdmVyc2lvbiA8PSAnMy4zJwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3MC1weXRlc3QtRGlzYWJsZS1EZXBy ZWNhdGVkV2FybmluZy1mcm9tLWRpc3R1dGlscy1wYWNrLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3MC1weXRlc3QtRGlzYWJsZS1E ZXByZWNhdGVkV2FybmluZy1mcm9tLWRpc3R1dGlscy1wYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNDY5MWQyZGRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3MC1weXRl c3QtRGlzYWJsZS1EZXByZWNhdGVkV2FybmluZy1mcm9tLWRpc3R1dGlscy1wYWNrLnBhdGNoCkBA IC0wLDAgKzEsMjUgQEAKK0Zyb20gOGUzMGJmNDE5NjA5NzE5ZWUxOTA0YjhlZmE4YWIxMjRmZDhi ODZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAyMDoxNjo0MyAr MDEwMAorU3ViamVjdDogW1BBVENIXSBweXRlc3Q6IERpc2FibGUgRGVwcmVjYXRlZFdhcm5pbmcg ZnJvbSBkaXN0dXRpbHMgcGFja2FnZS4KKworLS0tCisgcHl0ZXN0LmluaSB8IDUgKysrLS0KKyAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGEvcHl0ZXN0LmluaSBiL3B5dGVzdC5pbmkKK2luZGV4IDIyODI3OWMuLmI5ZjI4MWEgMTAw NjQ0CistLS0gYS9weXRlc3QuaW5pCisrKysgYi9weXRlc3QuaW5pCitAQCAtMjksOCArMjksOSBA QCBtYXJrZXJzID0KKyAgICAgc2xvdworIAorICMgLS0gUFJFUEFSRUQ6CistIyBmaWx0ZXJ3YXJu aW5ncyA9CistIyAgICBpZ25vcmU6LippbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS4qOkRlcHJlY2F0 aW9uV2FybmluZworK2ZpbHRlcndhcm5pbmdzID0KKysgICBpZ25vcmU6Lip0aGUgaW1wIG1vZHVs ZSBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBpbXBvcnRsaWIuKjpEZXByZWNhdGlvbldhcm5p bmcKKysjICAgaWdub3JlOi4qaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UuKjpEZXByZWNhdGlvbldh cm5pbmcKKyAKKyAjIC0tIEJBQ0tXQVJEIENPTVBBVElCSUxJVFk6IHB5dGVzdCA8IDIuOAorICMg bm9yZWN1cnNlZGlycyA9IC5naXQgLnRveCBidWlsZCBkaXN0IHB5LnJlcXVpcmVtZW50cyB0bXAq IF9XT1JLU1BBQ0UKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5VUC1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxh dGVkLXRvLTc5Ny5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5VUC1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxhdGVkLXRv LTc5Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjQyNGYwZTA0 NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5VUC1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxhdGVk LXRvLTc5Ny5wYXRjaApAQCAtMCwwICsxLDIxNiBAQAorRnJvbSA5YzFjOGE1MjhmYjczNzAwMDc0 ZTA5YzI5ZGZlYTkwNDVjNWU4OGVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERl YyAyMDE5IDIxOjIwOjE4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIENMRUFOVVA6IEFkZCBDb250 ZXh0TW9kZSBlbnVtIHJlbGF0ZWQgdG8gIzc5NworCitBZGQgQ29udGV4dE1vZGUgZW51bSB0byBj bGVhbnVwIHdlaXJkbmVzcyByZWxhdGVkIHRvIGlzc3VlICM3OTcuCitQcmUtZXhpc3RpbmcgQ29u dGV4dC5CRUhBVkUvVVNFUiBjb25zdGFudHMgb3ZlcnNoYWRvd2VkIHVzZXIgYXR0cmlidXRlcwor aW4gQ29udGV4dC5hdHRyaWJ1dGUgcmV0cmlldmFsIGNhc2UuCistLS0KKyBiZWhhdmUvcnVubmVy LnB5ICAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgdGVz dHMvdW5pdC90ZXN0X3J1bm5lci5weSB8IDI5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t CisgMiBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2JlaGF2ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVubmVyLnB5CitpbmRleCBj YmVkYjVhLi5iY2Y0YWIyIDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lci5weQorKysrIGIvYmVo YXZlL3J1bm5lci5weQorQEAgLTIxLDYgKzIxLDcgQEAgZnJvbSBiZWhhdmUucnVubmVyX3V0aWwg aW1wb3J0IFwKKyAgICAgY29sbGVjdF9mZWF0dXJlX2xvY2F0aW9ucywgcGFyc2VfZmVhdHVyZXMs IFwKKyAgICAgZXhlY19maWxlLCBsb2FkX3N0ZXBfbW9kdWxlcywgUGF0aE1hbmFnZXIKKyBmcm9t IGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCByZWdpc3RyeSBhcyB0aGVfc3RlcF9yZWdpc3Ry eQorK2Zyb20gZW51bSBpbXBvcnQgRW51bQorIAorIGlmIHNpeC5QWTI6CisgICAgICMgLS0gVVNF IFBZVEhPTjMgQkFDS1BPUlQ6IFdpdGggdW5pY29kZSB0cmFjZWJhY2sgc3VwcG9ydC4KK0BAIC00 NSw2ICs0NiwxNiBAQCBjbGFzcyBDb250ZXh0TWFza1dhcm5pbmcoVXNlcldhcm5pbmcpOgorICAg ICBwYXNzCisgCisgCisrY2xhc3MgQ29udGV4dE1vZGUoRW51bSk6CisrICAgICIiIlVzZWQgdG8g ZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvIHVzYWdlIG1vZGVzIHdoaWxlIHVzaW5nIHRoZSBj b250ZXh0OgorKworKyAgICAqIEJFSEFWRTogSW5kaWNhdGVzICJiZWhhdmUiIChpbnRlcm5hbCkg bW9kZQorKyAgICAqIFVTRVI6IEluZGljYXRlcyAidXNlciIgbW9kZSAoaW4gc3RlcHMsIGhvb2tz LCBmaXh0dXJlcywgLi4uKQorKyAgICAiIiIKKysgICAgQkVIQVZFID0gMQorKyAgICBVU0VSID0g MgorKworKworIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgIiIiSG9sZCBjb250ZXh0dWFs IGluZm9ybWF0aW9uIGR1cmluZyB0aGUgcnVubmluZyBvZiB0ZXN0cy4KKyAKK0BAIC0xNDcsOCAr MTU4LDggQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAuLiBfYGNvbmZpZ3VyYXRpb24g ZmlsZSBzZWN0aW9uIG5hbWVzYDogYmVoYXZlLmh0bWwjY29uZmlndXJhdGlvbi1maWxlcworICAg ICAiIiIKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktaW5zdGFuY2UtYXR0cmlidXRl cworLSAgICBCRUhBVkUgPSAiYmVoYXZlIgorLSAgICBVU0VSID0gInVzZXIiCisrICAgICMgQkVI QVZFID0gImJlaGF2ZSIKKysgICAgIyBVU0VSID0gInVzZXIiCisgICAgIEZBSUxfT05fQ0xFQU5V UF9FUlJPUlMgPSBUcnVlCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBydW5uZXIpOgorQEAg LTE2Niw3ICsxNzcsNyBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgICAgICBzZWxmLl9z dGFjayA9IFtkXQorICAgICAgICAgc2VsZi5fcmVjb3JkID0ge30KKyAgICAgICAgIHNlbGYuX29y aWdpbiA9IHt9CistICAgICAgICBzZWxmLl9tb2RlID0gc2VsZi5CRUhBVkUKKysgICAgICAgIHNl bGYuX21vZGUgPSBDb250ZXh0TW9kZS5CRUhBVkUKKyAKKyAgICAgICAgICMgLS0gTU9ERUwgRU5U SVRZIFJFRkVSRU5DRVMvU1VQUE9SVDoKKyAgICAgICAgIHNlbGYuZmVhdHVyZSA9IE5vbmUKK0BA IC0yNjAsMTEgKzI3MSwxMSBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgCisgICAgIGRlZiBf dXNlX3dpdGhfYmVoYXZlX21vZGUoc2VsZik6CisgICAgICAgICAiIiJQcm92aWRlcyBhIGNvbnRl eHQgbWFuYWdlciBmb3IgdXNpbmcgdGhlIGNvbnRleHQgaW4gQkVIQVZFIG1vZGUuIiIiCistICAg ICAgICByZXR1cm4gdXNlX2NvbnRleHRfd2l0aF9tb2RlKHNlbGYsIENvbnRleHQuQkVIQVZFKQor KyAgICAgICAgcmV0dXJuIHVzZV9jb250ZXh0X3dpdGhfbW9kZShzZWxmLCBDb250ZXh0TW9kZS5C RUhBVkUpCisgCisgICAgIGRlZiB1c2Vfd2l0aF91c2VyX21vZGUoc2VsZik6CisgICAgICAgICAi IiJQcm92aWRlcyBhIGNvbnRleHQgbWFuYWdlciBmb3IgdXNpbmcgdGhlIGNvbnRleHQgaW4gVVNF UiBtb2RlLiIiIgorLSAgICAgICAgcmV0dXJuIHVzZV9jb250ZXh0X3dpdGhfbW9kZShzZWxmLCBD b250ZXh0LlVTRVIpCisrICAgICAgICByZXR1cm4gdXNlX2NvbnRleHRfd2l0aF9tb2RlKHNlbGYs IENvbnRleHRNb2RlLlVTRVIpCisgCisgICAgIGRlZiB1c2VyX21vZGUoc2VsZik6CisgICAgICAg ICB3YXJuaW5ncy53YXJuKCJVc2UgJ3VzZV93aXRoX3VzZXJfbW9kZSgpJyBpbnN0ZWFkIiwKK0BA IC0yOTEsMTEgKzMwMiwxMSBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgCisgICAgIGRlZiBf ZW1pdF93YXJuaW5nKHNlbGYsIGF0dHIsIHBhcmFtcyk6CisgICAgICAgICBtc2cgPSAiIgorLSAg ICAgICAgaWYgc2VsZi5fbW9kZSBpcyBzZWxmLkJFSEFWRSBhbmQgc2VsZi5fb3JpZ2luW2F0dHJd IGlzIG5vdCBzZWxmLkJFSEFWRToKKysgICAgICAgIGlmIHNlbGYuX21vZGUgaXMgQ29udGV4dE1v ZGUuQkVIQVZFIGFuZCBzZWxmLl9vcmlnaW5bYXR0cl0gaXMgbm90IENvbnRleHRNb2RlLkJFSEFW RToKKyAgICAgICAgICAgICBtc2cgPSAiYmVoYXZlIHJ1bm5lciBpcyBtYXNraW5nIGNvbnRleHQg YXR0cmlidXRlICclKGF0dHIpcycgIiBcCisgICAgICAgICAgICAgICAgICAgIm9yaWdpbmFsbHkg c2V0IGluICUoZnVuY3Rpb24pcyAoJShmaWxlbmFtZSlzOiUobGluZSlzKSIKKy0gICAgICAgIGVs aWYgc2VsZi5fbW9kZSBpcyBzZWxmLlVTRVI6CistICAgICAgICAgICAgaWYgc2VsZi5fb3JpZ2lu W2F0dHJdIGlzIG5vdCBzZWxmLlVTRVI6CisrICAgICAgICBlbGlmIHNlbGYuX21vZGUgaXMgQ29u dGV4dE1vZGUuVVNFUjoKKysgICAgICAgICAgICBpZiBzZWxmLl9vcmlnaW5bYXR0cl0gaXMgbm90 IENvbnRleHRNb2RlLlVTRVI6CisgICAgICAgICAgICAgICAgIG1zZyA9ICJ1c2VyIGNvZGUgaXMg bWFza2luZyBjb250ZXh0IGF0dHJpYnV0ZSAnJShhdHRyKXMnICIgXAorICAgICAgICAgICAgICAg ICAgICAgICAib3JpZ2luYWxseSBzZXQgYnkgYmVoYXZlIgorICAgICAgICAgICAgIGVsaWYgc2Vs Zi5fY29uZmlnLnZlcmJvc2U6CitAQCAtNDQyLDEzICs0NTMsMTMgQEAgY2xhc3MgQ29udGV4dChv YmplY3QpOgorIAorIEBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCisgZGVmIHVzZV9jb250ZXh0 X3dpdGhfbW9kZShjb250ZXh0LCBtb2RlKToKKy0gICAgIiIiU3dpdGNoIGNvbnRleHQgdG8gQkVI QVZFIG9yIFVTRVIgbW9kZS4KKysgICAgIiIiU3dpdGNoIGNvbnRleHQgdG8gQ29udGV4dE1vZGUu QkVIQVZFIG9yIENvbnRleHRNb2RlLlVTRVIgbW9kZS4KKyAgICAgUHJvdmlkZXMgYSBjb250ZXh0 IG1hbmFnZXIgZm9yIHN3aXRjaGluZyBiZXR3ZWVuIHRoZSB0d28gY29udGV4dCBtb2Rlcy4KKyAK KyAgICAgLi4gc291cmNlY29kZTo6IHB5dGhvbgorIAorICAgICAgICAgY29udGV4dCA9IENvbnRl eHQoKQorLSAgICAgICAgd2l0aCB1c2VfY29udGV4dF93aXRoX21vZGUoY29udGV4dCwgQ29udGV4 dC5CRUhBVkUpOgorKyAgICAgICAgd2l0aCB1c2VfY29udGV4dF93aXRoX21vZGUoY29udGV4dCwg Q29udGV4dE1vZGUuQkVIQVZFKToKKyAgICAgICAgICAgICAuLi4gICAgICMgRG8gc29tZXRoaW5n CisgICAgICAgICAjIC0tIFBPU1RDT05ESVRJT046IE9yaWdpbmFsIGNvbnRleHQuX21vZGUgaXMg cmVzdG9yZWQuCisgCitAQCAtNDU2LDcgKzQ2Nyw3IEBAIGRlZiB1c2VfY29udGV4dF93aXRoX21v ZGUoY29udGV4dCwgbW9kZSk6CisgICAgIDpwYXJhbSBtb2RlOiAgICAgTW9kZSB0byBhcHBseSB0 byBjb250ZXh0IG9iamVjdC4KKyAgICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3Rl Y3RlZC1hY2Nlc3MKKy0gICAgYXNzZXJ0IG1vZGUgaW4gKENvbnRleHQuQkVIQVZFLCBDb250ZXh0 LlVTRVIpCisrICAgIGFzc2VydCBtb2RlIGluIChDb250ZXh0TW9kZS5CRUhBVkUsIENvbnRleHRN b2RlLlVTRVIpCisgICAgIGN1cnJlbnRfbW9kZSA9IGNvbnRleHQuX21vZGUKKyAgICAgdHJ5Ogor ICAgICAgICAgY29udGV4dC5fbW9kZSA9IG1vZGUKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rl c3RfcnVubmVyLnB5IGIvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weQoraW5kZXggZjBkMDNjZC4u YmVhZmY4ZiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKKysrKyBiL3Rl c3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKK0BAIC0xNyw2ICsxNyw3IEBAIGZyb20gYmVoYXZlIGlt cG9ydCBydW5uZXJfdXRpbAorIGZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBUYWJsZQorIGZyb20g YmVoYXZlLnN0ZXBfcmVnaXN0cnkgaW1wb3J0IFN0ZXBSZWdpc3RyeQorIGZyb20gYmVoYXZlIGlt cG9ydCBwYXJzZXIsIHJ1bm5lcgorK2Zyb20gYmVoYXZlLnJ1bm5lciBpbXBvcnQgQ29udGV4dE1v ZGUKKyBmcm9tIGJlaGF2ZS5leGNlcHRpb24gaW1wb3J0IENvbmZpZ0Vycm9yCisgZnJvbSBiZWhh dmUuZm9ybWF0dGVyLmJhc2UgaW1wb3J0IFN0cmVhbU9wZW5lcgorIAorQEAgLTM2LDI5ICszNywy OSBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgCisgICAgIGRlZiB0 ZXN0X3VzZXJfbW9kZV9zaGFsbF9yZXN0b3JlX2JlaGF2ZV9tb2RlKHNlbGYpOgorICAgICAgICAg IyAtLSBDQVNFOiBObyBleGNlcHRpb24gaXMgcmFpc2VkLgorLSAgICAgICAgaW5pdGlhbF9tb2Rl ID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250ZXh0 TW9kZS5CRUhBVkUKKyAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlh bF9tb2RlCisgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToK Ky0gICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0 LlVTRVIKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRN b2RlLlVTRVIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCisgICAg ICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBk ZWYgdGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9kZV9pZl9hc3NlcnRfZmFp bHMoc2VsZik6CistICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUK KysgICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRleHRNb2RlLkJFSEFWRQorICAgICAgICAgYXNz ZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAg ICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAg ICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5V U0VSCisrICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gQ29udGV4 dE1vZGUuVVNFUgorICAgICAgICAgICAgICAgICBhc3NlcnQgRmFsc2UsICJYRkFJTCIKKyAgICAg ICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJvcjoKKyAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2VyX21vZGVfc2hh bGxfcmVzdG9yZV9iZWhhdmVfbW9kZV9pZl9leGNlcHRpb25faXNfcmFpc2VkKHNlbGYpOgorLSAg ICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisrICAgICAgICBpbml0 aWFsX21vZGUgPSBDb250ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRl eHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgd2l0 aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAgICAgICAgICAgIGFz c2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAgICAgICAg ICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVTRVIKKyAg ICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJYRkFJTCIpCisgICAgICAgICBleGNl cHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUg PT0gaW5pdGlhbF9tb2RlCitAQCAtNjYsMjEgKzY3LDIxIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVu aXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRlc3RfdXNlX3dpdGhfdXNlcl9tb2RlX19zaGFs bF9yZXN0b3JlX2luaXRpYWxfbW9kZShzZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogTm8gZXhj ZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1h Y2Nlc3MKKy0gICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAg ICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZFCisgICAgICAgICBzZWxmLmNv bnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVz ZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21v ZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRl eHQuX21vZGUgPT0gQ29udGV4dE1vZGUuVVNFUgorICAgICAgICAgICAgIHNlbGYuY29udGV4dC50 aGluZyA9ICJzdHVmZiIKKyAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5p dGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZV93aXRoX3VzZXJfbW9kZV9fc2hhbGxfcmVz dG9yZV9pbml0aWFsX21vZGVfd2l0aF9lcnJvcihzZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTog RXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3Rl ZC1hY2Nlc3MKKy0gICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQor KyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZFCisgICAgICAgICBzZWxm LmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAg ICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICAg ICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisrICAg ICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gQ29udGV4dE1vZGUuVVNF UgorICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlhGQUlMIikKKyAgICAgICAg IGV4Y2VwdCBSdW50aW1lRXJyb3I6CisgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5f bW9kZSA9PSBpbml0aWFsX21vZGUKK0BAIC04OCwyMSArODksMjEgQEAgY2xhc3MgVGVzdENvbnRl eHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICBkZWYgdGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9k ZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUoc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6 IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90 ZWN0ZWQtYWNjZXNzCistICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5VU0VS CisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250ZXh0TW9kZS5VU0VSCisgICAgICAgICBzZWxm LmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0 Ll91c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRl eHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisrICAgICAgICAgICAgYXNzZXJ0IHNl bGYuY29udGV4dC5fbW9kZSA9PSBDb250ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgICAgICBzZWxm LmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCisgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9t b2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9k ZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGVfd2l0aF9lcnJvcihzZWxmKToKKyAgICAgICAg ICMgLS0gQ0FTRTogRXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAgICAgICMgcHlsaW50OiBkaXNh YmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250 ZXh0LlVTRVIKKysgICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRleHRNb2RlLlVTRVIKKyAgICAg ICAgIHNlbGYuY29udGV4dC5fbW9kZSA9IGluaXRpYWxfbW9kZQorICAgICAgICAgdHJ5OgorICAg ICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAg ICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0 LkJFSEFWRQorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENv bnRleHRNb2RlLkJFSEFWRQorICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlhG QUlMIikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisgICAgICAgICAgICAgYXNzZXJ0 IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzItQ2xlYW51cC1j b21tZW50cy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjhlMjE4NzA0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzItQ2xlYW51cC1j b21tZW50cy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDFkY2M2MDQzYWVmNTc2NGI2MDU3 YjQ2NmYyM2I5MGJhYzAwZDZkYmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTUgRGVj IDIwMTkgMjE6MjU6MDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2xlYW51cCBjb21tZW50cwor CistLS0KKyBiZWhhdmUvcnVubmVyLnB5IHwgMiAtLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lci5weSBiL2JlaGF2ZS9ydW5uZXIu cHkKK2luZGV4IGJjZjRhYjIuLjZiMjA5MzcgMTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVyLnB5 CisrKysgYi9iZWhhdmUvcnVubmVyLnB5CitAQCAtMTU4LDggKzE1OCw2IEBAIGNsYXNzIENvbnRl eHQob2JqZWN0KToKKyAgICAgLi4gX2Bjb25maWd1cmF0aW9uIGZpbGUgc2VjdGlvbiBuYW1lc2A6 IGJlaGF2ZS5odG1sI2NvbmZpZ3VyYXRpb24tZmlsZXMKKyAgICAgIiIiCisgICAgICMgcHlsaW50 OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0ZXMKKy0gICAgIyBCRUhBVkUgPSAi YmVoYXZlIgorLSAgICAjIFVTRVIgPSAidXNlciIKKyAgICAgRkFJTF9PTl9DTEVBTlVQX0VSUk9S UyA9IFRydWUKKyAKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJ1bm5lcik6CmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcz LUZJWC1zcGhpbngtYnVpbGQtcHJvYmxlbS1hc3luY19zdGVwczN4LnB5LnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3My1GSVgtc3Bo aW54LWJ1aWxkLXByb2JsZW0tYXN5bmNfc3RlcHMzeC5weS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmZlMTQwZTljZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzMtRklYLXNw aGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBzM3gucHkucGF0Y2gKQEAgLTAsMCArMSwyOSBA QAorRnJvbSA3ZjM2ZGQ4YTlhMWQ2ZmQ2N2Y4YTY3NjVjZDU2ZmNhYjliMTAyMDdmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5IDIxOjUxOjQ3ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIEZJWDogc3BoaW54LWJ1aWxkIHByb2JsZW06IGFzeW5jX3N0ZXBzM3gucHkKKwor LS0tCisgZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi42LnJzdCB8IDQgKystLQorIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjYucnN0IGIvZG9jcy9uZXdfYW5kX25vdGV3 b3J0aHlfdjEuMi42LnJzdAoraW5kZXggODQ4YzQwOS4uMmM4ZTg2NSAxMDA2NDQKKy0tLSBhL2Rv Y3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNi5yc3QKKysrKyBiL2RvY3MvbmV3X2FuZF9ub3Rl d29ydGh5X3YxLjIuNi5yc3QKK0BAIC0zMjUsMTMgKzMyNSwxMyBAQCBBIHNpbXBsZSBleGFtcGxl IGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGFzeW5jLXN0ZXBzIGlzIHNob3duIGZvcjoK KyAqIFB5dGhvbiAzLjUgd2l0aCBuZXcgYGBhc3luY2BgL2BgYXdhaXRgYCBrZXl3b3JkcworICog UHl0aG9uIDMuNCB3aXRoIGBgQGFzeW5jaW8uY29yb3V0aW5lYGAgZGVjb3JhdG9yIGFuZCBgYHlp ZWxkIGZyb21gYCBrZXl3b3JkCisgCistLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9leGFtcGxlcy9h c3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkKKysuLiBsaXRlcmFsaW5j bHVkZTo6IC4uL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBz MzUucHkKKyAgICAgOmxhbmd1YWdlOiBweXRob24KKyAgICAgOnByZXBlbmQ6CisgICAgICAgICAj IC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkKKyAKKyAKKy0uLiBsaXRl cmFsaW5jbHVkZTo6IC4uL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNf c3RlcHMzNC5weQorKy4uIGxpdGVyYWxpbmNsdWRlOjogLi4vZXhhbXBsZXMvYXN5bmNfc3RlcC9m ZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5weQorICAgICA6bGFuZ3VhZ2U6IHB5dGhvbgor ICAgICA6cHJlcGVuZDoKKyAgICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvc3RlcHMvYXN5bmNf c3RlcHMzNC5weQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Npb25z LXdhcy1wYXJzZV9idWlsdGluLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Np b25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uMjMwZGU1MTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBh cnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoCkBAIC0wLDAgKzEsMTg1IEBA CitGcm9tIDJlM2JkNzM3NzExNmU2MzI0MzA5NWY5NzdjODE2Yjg2MjQ2MjI5OTIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFN1biwgMTUgRGVjIDIwMTkgMjE6NTI6NTMgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gZG9jczogUmVuYW1lIHBhZ2UgJ3BhcnNlX2V4cHJlc3Npb25zJyAod2FzOgorIHBh cnNlX2J1aWx0aW5fdHlwZXMpIGFuZCB1cGRhdGUgdGFibGUgdG8gY3VycmVudCBwYXJzZS0xLjEy LjEKKworLS0tCisgZG9jcy9hcHBlbmRpeC5yc3QgICAgICAgICAgICB8ICAyICstCisgZG9jcy9w YXJzZV9idWlsdGluX3R5cGVzLnJzdCB8IDU5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRv Y3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0ICAgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDYwIGRlbGV0 aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL3BhcnNlX2J1aWx0aW5fdHlwZXMucnN0 CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGRvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0CisKK2RpZmYg LS1naXQgYS9kb2NzL2FwcGVuZGl4LnJzdCBiL2RvY3MvYXBwZW5kaXgucnN0CitpbmRleCA4YzBj YjA1Li43OWI1NDU1IDEwMDY0NAorLS0tIGEvZG9jcy9hcHBlbmRpeC5yc3QKKysrKyBiL2RvY3Mv YXBwZW5kaXgucnN0CitAQCAtMTEsNyArMTEsNyBAQCBBcHBlbmRpeAorIAorICAgICBmb3JtYXR0 ZXJzCisgICAgIGNvbnRleHRfYXR0cmlidXRlcworLSAgICBwYXJzZV9idWlsdGluX3R5cGVzCisr ICAgIHBhcnNlX2V4cHJlc3Npb25zCisgICAgIHJlZ3VsYXJfZXhwcmVzc2lvbnMKKyAgICAgdGVz dF9kb21haW5zCisgICAgIGJlaGF2ZV9lY29zeXN0ZW0KK2RpZmYgLS1naXQgYS9kb2NzL3BhcnNl X2J1aWx0aW5fdHlwZXMucnN0IGIvZG9jcy9wYXJzZV9idWlsdGluX3R5cGVzLnJzdAorZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAzMmUxOGVjLi4wMDAwMDAwCistLS0gYS9kb2NzL3Bh cnNlX2J1aWx0aW5fdHlwZXMucnN0CisrKysgL2Rldi9udWxsCitAQCAtMSw1OSArMCwwIEBACist Li4gX2lkLmFwcGVuZGl4LnBhcnNlX2J1aWx0aW5fdHlwZXM6CistCistUHJlZGVmaW5lZCBEYXRh IFR5cGVzIGluIGBgcGFyc2VgYAorLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLQorLTpweXBpOmBi ZWhhdmVgIHVzZXMgdGhlIDpweXBpOmBwYXJzZWAgbW9kdWxlIChpbnZlcnNlIG9mIFB5dGhvbiBg c3RyaW5nLmZvcm1hdGBfKQorLXVuZGVyIHRoZSBob29kcyB0byBwYXJzZSBwYXJhbWV0ZXJzIGlu IHN0ZXAgZGVmaW5pdGlvbnMuCistVGhpcyBsZWFkcyB0byByYXRoZXIgc2ltcGxlIGFuZCByZWFk YWJsZSBwYXJzZSBleHByZXNzaW9ucyBmb3Igc3RlcCBwYXJhbWV0ZXJzLgorLQorLS4uIGNvZGUt YmxvY2s6OiBweXRob24KKy0KKy0gICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9zdGVwcy90eXBlX3Ry YW5zZm9ybV9leGFtcGxlX3N0ZXBzLnB5CistICAgIGZyb20gYmVoYXZlIGltcG9ydCBnaXZlbgor LQorLSAgICBAZ2l2ZW4oJ0kgaGF2ZSB7bnVtYmVyOmR9IGZyaWVuZHMnKSAgIzwgQ29udmVydCAn bnVtYmVyJyBpbnRvIGludCB0eXBlLgorLSAgICBkZWYgc3RlcF9naXZlbl9pX2hhdmVfbnVtYmVy X2ZyaWVuZHMoY29udGV4dCwgbnVtYmVyKToKKy0gICAgICAgIGFzc2VydCBudW1iZXIgPiAwCist ICAgICAgICAuLi4KKy0KKy1UaGVyZWZvcmUsIHRoZSBmb2xsb3dpbmcgYGBwYXJzZSB0eXBlc2Bg IGFyZSBhbHJlYWR5IHN1cHBvcnRlZAorLWluIHN0ZXAgZGVmaW5pdGlvbnMgd2l0aG91dCByZWdp c3RyYXRpb24gb2YgYW55ICp1c2VyLWRlZmluZWQgdHlwZSo6CistCistCistPT09PT0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT0KKy1UeXBl ICBDaGFyYWN0ZXJzIE1hdGNoZWQgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dCBUeXBl CistPT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09 PT09PT09PT0KKy0gdyAgICBMZXR0ZXJzIGFuZCB1bmRlcnNjb3JlICAgICAgICAgICAgICAgICAg ICAgIHN0cgorLSBXICAgIE5vbi1sZXR0ZXIgYW5kIHVuZGVyc2NvcmUgICAgICAgICAgICAgICAg ICAgc3RyCistIHMgICAgV2hpdGVzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIKKy0gUyAgICBOb24td2hpdGVzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cgorLSBkICAgIERpZ2l0cyAoZWZmZWN0aXZlbHkgaW50ZWdlciBudW1iZXJzKSAgICAgICAg aW50CistIEQgICAgTm9uLWRpZ2l0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIKKy0gbiAgICBOdW1iZXJzIHdpdGggdGhvdXNhbmRzIHNlcGFyYXRvcnMgKCwgb3IgLikgIGlu dAorLSAlICAgIFBlcmNlbnRhZ2UgKGNvbnZlcnRlZCB0byB2YWx1ZS8xMDAuMCkgICAgICAgZmxv YXQKKy0gZiAgICBGaXhlZC1wb2ludCBudW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgIGZs b2F0CistIGUgICAgRmxvYXRpbmctcG9pbnQgbnVtYmVycyB3aXRoIGV4cG9uZW50ICAgICAgICBm bG9hdAorLSAgICAgIGUuZy4gMS4xZS0xMCwgTkFOIChhbGwgY2FzZSBpbnNlbnNpdGl2ZSkKKy0g ZyAgICBHZW5lcmFsIG51bWJlciBmb3JtYXQgKGVpdGhlciBkLCBmIG9yIGUpICAgIGZsb2F0Cist IGIgICAgQmluYXJ5IG51bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQKKy0g byAgICBPY3RhbCBudW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludAorLSB4 ICAgIEhleGFkZWNpbWFsIG51bWJlcnMgKGxvd2VyIGFuZCB1cHBlciBjYXNlKSAgaW50CistIHRp ICAgSVNPIDg2MDEgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICAgICAgICBkYXRldGltZQor LSAgICAgIGUuZy4gMTk3Mi0wMS0yMFQxMDoyMTozNloKKy0gdGUgICBSRkMyODIyIGUtbWFpbCBm b3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgIGRhdGV0aW1lCistICAgICAgZS5nLiBNb24sIDIw IEphbiAxOTcyIDEwOjIxOjM2ICsxMDAwCistIHRnICAgR2xvYmFsIChkYXkvbW9udGgpIGZvcm1h dCBkYXRlL3RpbWUgICAgICAgICBkYXRldGltZQorLSAgICAgIGUuZy4gMjAvMS8xOTcyIDEwOjIx OjM2IEFNICsxOjAwCistIHRhICAgVVMgKG1vbnRoL2RheSkgZm9ybWF0IGRhdGUvdGltZSAgICAg ICAgICAgICBkYXRldGltZQorLSAgICAgIGUuZy4gMS8yMC8xOTcyIDEwOjIxOjM2IFBNICsxMDoz MAorLSB0YyAgIGN0aW1lKCkgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICAgICAgICAgZGF0 ZXRpbWUKKy0gICAgICBlLmcuIFN1biBTZXAgMTYgMDE6MDM6NTIgMTk3MworLSB0aCAgIEhUVFAg bG9nIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBl LmcuIDIxL05vdi8yMDExOjAwOjA3OjExICswMDAwCistIHR0ICAgVGltZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lCistICAgICAgZS5nLiAxMDoyMTozNiBQTSAt NTozMAorLT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0g PT09PT09PT09PT09CistCistCistLi4gX3N0cmluZy5mb3JtYXQ6IGh0dHBzOi8vZG9jcy5weXRo b24ub3JnLzMvbGlicmFyeS9zdHJpbmcuaHRtbCNmb3JtYXQtc3RyaW5nLXN5bnRheAorZGlmZiAt LWdpdCBhL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0IGIvZG9jcy9wYXJzZV9leHByZXNzaW9u cy5yc3QKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zNmNhNTQ5CistLS0g L2Rldi9udWxsCisrKysgYi9kb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdAorQEAgLTAsMCArMSw4 NyBAQAorKy4uIF9pZC5hcHBlbmRpeC5wYXJzZV9leHByZXNzaW9uczoKKysKKys9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKytQYXJzZSBFeHByZXNzaW9ucworKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor KworKy4uIGluZGV4OjogcGFyc2UgZXhwcmVzc2lvbnMsIHJlZ2V4cAorKworK2BQYXJzZSBleHBy ZXNzaW9uc2BfIGFyZSBhIHNpbXBsaWZpZWQgZm9ybSBvZiByZWd1bGFyIGV4cHJlc3Npb25zLgor K1RoZSBhY3R1YWwgcmVndWxhciBleHByZXNzaW9uIGlzIGhpZGRlbiBiZWhpbmQgdGhlICoqdHlw ZSoqIG5hbWUgLyBoaW50LgorKworK2BQYXJzZSBleHByZXNzaW9uc2BfIGFyZSB1c2VkIGluIHN0 ZXAgZGVmaW5pdGlvbnMgYXMgYSBzaW1wbGlmaWVkIGFsdGVybmF0aXZlCisrdG8gcmVndWxhciBl eHByZXNzaW9ucy4gVGhleSBhcmUgdXNlZCBmb3IgcGFyYW1ldGVycyBhbmQgdHlwZSBjb252ZXJz aW9ucworKyh3aGljaCBhcmUgbm90IHN1cHBvcnRlZCBmb3IgcmVndWxhciBleHByZXNzaW9uIHBh dHRlcm5zKS4KKysKKysuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgICMgLS0gRklMRTog ZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5weQorKyAgICBmcm9tIGJlaGF2ZSBpbXBvcnQg d2hlbgorKworKyAgICBAd2hlbignd2UgaW1wbGVtZW50IHtudW1iZXI6ZH0gdGVzdHMnKQorKyAg ICBkZWYgc3RlcF9pbXBsKGNvbnRleHQsIG51bWJlcik6ICAjIC0tIE5PVEU6IG51bWJlciBpcyBj b252ZXJ0ZWQgaW50byBpbnRlZ2VyCisrICAgICAgICBhc3NlcnQgbnVtYmVyID4gMSBvciBudW1i ZXIgPT0gMAorKyAgICAgICAgY29udGV4dC50ZXN0c19jb3VudCA9IG51bWJlcgorKworK1RoZSBm b2xsb3dpbmcgdGFibGVzIHByb3ZpZGUgYSBvdmVydmlldyBvZiB0aGUgYHBhcnNlIGV4cHJlc3Np b25zYF8gc3ludGF4LgorK1NlZSBhbHNvIGBQeXRob24gcmVndWxhciBleHByZXNzaW9uc2BfIGRl c2NyaXB0aW9uIGluIHRoZSBQeXRob24gYHJlIG1vZHVsZWBfLgorKworKz09PT09ID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT0KKytUeXBlICBDaGFy YWN0ZXJzIE1hdGNoZWQgICAgICAgICAgICAgICAgICAgICAgICAgIE91dHB1dAorKz09PT09ID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT0KKytsICAg ICBMZXR0ZXJzIChBU0NJSSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cgorK3cgICAg IExldHRlcnMsIG51bWJlcnMgYW5kIHVuZGVyc2NvcmUgICAgICAgICAgICAgc3RyCisrVyAgICAg Tm90IGxldHRlcnMsIG51bWJlcnMgYW5kIHVuZGVyc2NvcmUgICAgICAgICBzdHIKKytzICAgICBX aGl0ZXNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cgorK1MgICAgIE5v bi13aGl0ZXNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyCisrZCAgICAgRGln aXRzIChlZmZlY3RpdmVseSBpbnRlZ2VyIG51bWJlcnMpICAgICAgICBpbnQKKytEICAgICBOb24t ZGlnaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cgorK24gICAgIE51bWJl cnMgd2l0aCB0aG91c2FuZHMgc2VwYXJhdG9ycyAoLCBvciAuKSAgaW50CisrJSAgICAgUGVyY2Vu dGFnZSAoY29udmVydGVkIHRvIHZhbHVlLzEwMC4wKSAgICAgICBmbG9hdAorK2YgICAgIEZpeGVk LXBvaW50IG51bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQKKytGICAgICBEZWNp bWFsIG51bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY2ltYWwKKytlICAgICBG bG9hdGluZy1wb2ludCBudW1iZXJzIHdpdGggZXhwb25lbnQgICAgICAgIGZsb2F0CisrICAgICAg ZS5nLiAxLjFlLTEwLCBOQU4gKGFsbCBjYXNlIGluc2Vuc2l0aXZlKQorK2cgICAgIEdlbmVyYWwg bnVtYmVyIGZvcm1hdCAoZWl0aGVyIGQsIGYgb3IgZSkgICAgZmxvYXQKKytiICAgICBCaW5hcnkg bnVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludAorK28gICAgIE9jdGFsIG51 bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50CisreCAgICAgSGV4YWRlY2lt YWwgbnVtYmVycyAobG93ZXIgYW5kIHVwcGVyIGNhc2UpICBpbnQKKyt0aSAgICBJU08gODYwMSBm b3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lCisrICAgICAgZS5nLiAx OTcyLTAxLTIwVDEwOjIxOjM2WiAoIlQiIGFuZCAiWiIKKysgICAgICBvcHRpb25hbCkKKyt0ZSAg ICBSRkMyODIyIGUtbWFpbCBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgIGRhdGV0aW1lCisr ICAgICAgZS5nLiBNb24sIDIwIEphbiAxOTcyIDEwOjIxOjM2ICsxMDAwCisrdGcgICAgR2xvYmFs IChkYXkvbW9udGgpIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICBkYXRldGltZQorKyAgICAgIGUu Zy4gMjAvMS8xOTcyIDEwOjIxOjM2IEFNICsxOjAwCisrdGEgICAgVVMgKG1vbnRoL2RheSkgZm9y bWF0IGRhdGUvdGltZSAgICAgICAgICAgICBkYXRldGltZQorKyAgICAgIGUuZy4gMS8yMC8xOTcy IDEwOjIxOjM2IFBNICsxMDozMAorK3RjICAgIGN0aW1lKCkgZm9ybWF0IGRhdGUvdGltZSAgICAg ICAgICAgICAgICAgICAgZGF0ZXRpbWUKKysgICAgICBlLmcuIFN1biBTZXAgMTYgMDE6MDM6NTIg MTk3MworK3RoICAgIEhUVFAgbG9nIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgICAgICAg ZGF0ZXRpbWUKKysgICAgICBlLmcuIDIxL05vdi8yMDExOjAwOjA3OjExICswMDAwCisrdHMgICAg TGludXggc3lzdGVtIGxvZyBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgICBkYXRldGltZQorKyAg ICAgIGUuZy4gTm92ICA5IDAzOjM3OjQ0CisrdHQgICAgVGltZSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB0aW1lCisrICAgICAgZS5nLiAxMDoyMTozNiBQTSAtNTozMAor Kz09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09 PT0KKysKKysKKys9PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrQ2FyZGluYWxpdHkgICAg ICAgICAgICBEZXNjcmlwdGlvbgorKz09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKytgYD9g YCAgICAgICAgICAgICAgICAgICBQYXR0ZXJuIHdpdGggY2FyZGluYWxpdHkgMC4uMTogb3B0aW9u YWwgcGFydCAocXVlc3Rpb24gbWFyaykuCisrYGAqYGAgICAgICAgICAgICAgICAgICAgUGF0dGVy biB3aXRoIGNhcmRpbmFsaXR5IHplcm8gb3IgbW9yZSwgMC4uIChhc3RlcmlzaykuCisrYGArYGAg ICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRoIGNhcmRpbmFsaXR5IG9uZSBvciBtb3JlLCAx Li4gKHBsdXMgc2lnbikuCisrYGB7bX1gYCAgICAgICAgICAgICAgICAgTWF0Y2hlcyBgYG1gYCBy ZXBldGl0aW9ucyBvZiBhIHBhdHRlcm4uCisrYGB7bSxufWBgICAgICAgICAgICAgICAgTWF0Y2hl cyBmcm9tIGBgbWBgIHRvIGBgbmBgIHJlcGV0aXRpb25zIG9mIGEgcGF0dGVybi4KKytgYFtBLVph LXpdK2BgICAgICAgICAgICBFWEFNUExFOiBNYXRjaGVzIG9uZSBvciBtb3JlIGFscGhhYmV0aWNh bCBjaGFyYWN0ZXJzLgorKz09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKysKKysuLiBf cGFyc2UgbW9kdWxlOiBodHRwczovL2dpdGh1Yi5jb20vcjFjaGFyZGowbjNzL3BhcnNlCisrLi4g X3N0cmluZy5mb3JtYXQ6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9zdHJpbmcu aHRtbCNmb3JtYXQtc3RyaW5nLXN5bnRheAorKworKy4uIF9yZSBtb2R1bGU6IGh0dHBzOi8vZG9j cy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5odG1sI21vZHVsZS1yZQorKy4uIF9QeXRob24gcmVn dWxhciBleHByZXNzaW9uczogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3JlLmh0 bWwjbW9kdWxlLXJlCisrLi4gX2ByZWd1bGFyIGV4cHJlc3Npb25zYDogaHR0cHM6Ly9lbi53aWtp cGVkaWEub3JnL3dpa2kvUmVndWxhcl9leHByZXNzaW9uCisrCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc1LWRvY3MtcGFy c2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc1LWRvY3Mt cGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41N2Y5NDc5MjcKLS0tIC9kZXYvbnVs bAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1 bGUucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSBjMzI3OWQzOTkwZDMzOTE5NzJlOTA2YzE4 ZDY4ODFjNmRlNDY0Njg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5 IDIyOjA4OjA1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvY3M6IHBhcnNlX2V4cHJlc3Npb24s IGFkZCBsaW5rcyB0byBwYXJzZV90eXBlIG1vZHVsZSBhbmQKKyBDYXJkaW5hbGl0eUZpZWxkIHN1 cHBvcnQuCisKKy0tLQorIGRvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0IHwgNyArKysrLS0tCisg MSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0IGIvZG9jcy9wYXJzZV9leHByZXNzaW9u cy5yc3QKK2luZGV4IDM2Y2E1NDkuLjM4MTAyMjIgMTAwNjQ0CistLS0gYS9kb2NzL3BhcnNlX2V4 cHJlc3Npb25zLnJzdAorKysrIGIvZG9jcy9wYXJzZV9leHByZXNzaW9ucy5yc3QKK0BAIC02NSw2 ICs2NSw4IEBAIHR0ICAgIFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGltZQorICAgICAgIGUuZy4gMTA6MjE6MzYgUE0gLTU6MzAKKyA9PT09PSA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09CisgCisrSWYgYHBhcnNl X3R5cGVgXyBtb2R1bGUgaXMgdXNlZCwgdGhlIGNhcmRpbmFsaXR5IG9mIGEgdHlwZSBjYW4gYmUg c3BlY2lmaWVkLCB0b28KKysoYnkgdXNpbmcgdGhlIGBDYXJkaW5hbGl0eUZpZWxkYF8gc3VwcG9y dCk6CisgCisgPT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIENhcmRpbmFsaXR5ICAgICAg ICAgICAgRGVzY3JpcHRpb24KK0BAIC03MiwxNCArNzQsMTMgQEAgQ2FyZGluYWxpdHkgICAgICAg ICAgICBEZXNjcmlwdGlvbgorIGBgP2BgICAgICAgICAgICAgICAgICAgIFBhdHRlcm4gd2l0aCBj YXJkaW5hbGl0eSAwLi4xOiBvcHRpb25hbCBwYXJ0IChxdWVzdGlvbiBtYXJrKS4KKyBgYCpgYCAg ICAgICAgICAgICAgICAgICBQYXR0ZXJuIHdpdGggY2FyZGluYWxpdHkgemVybyBvciBtb3JlLCAw Li4gKGFzdGVyaXNrKS4KKyBgYCtgYCAgICAgICAgICAgICAgICAgICBQYXR0ZXJuIHdpdGggY2Fy ZGluYWxpdHkgb25lIG9yIG1vcmUsIDEuLiAocGx1cyBzaWduKS4KKy1gYHttfWBgICAgICAgICAg ICAgICAgICBNYXRjaGVzIGBgbWBgIHJlcGV0aXRpb25zIG9mIGEgcGF0dGVybi4KKy1gYHttLG59 YGAgICAgICAgICAgICAgICBNYXRjaGVzIGZyb20gYGBtYGAgdG8gYGBuYGAgcmVwZXRpdGlvbnMg b2YgYSBwYXR0ZXJuLgorLWBgW0EtWmEtel0rYGAgICAgICAgICAgIEVYQU1QTEU6IE1hdGNoZXMg b25lIG9yIG1vcmUgYWxwaGFiZXRpY2FsIGNoYXJhY3RlcnMuCisgPT09PT09PT09PT09PT09PT09 PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorIAorIAorIC4uIF9wYXJzZSBtb2R1bGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9y MWNoYXJkajBuM3MvcGFyc2UKKysuLiBfcGFyc2VfdHlwZTogaHR0cHM6Ly9naXRodWIuY29tL2pl bmlzeXMvcGFyc2VfdHlwZQorIC4uIF9zdHJpbmcuZm9ybWF0OiBodHRwczovL2RvY3MucHl0aG9u Lm9yZy8zL2xpYnJhcnkvc3RyaW5nLmh0bWwjZm9ybWF0LXN0cmluZy1zeW50YXgKKysuLiBfQ2Fy ZGluYWxpdHlGaWVsZDogaHR0cHM6Ly9naXRodWIuY29tL2plbmlzeXMvcGFyc2VfdHlwZS9ibG9i L21hc3Rlci9SRUFETUUucnN0I2V4dGVuZGVkLXBhcnNlci13aXRoLWNhcmRpbmFsaXR5ZmllbGQt c3VwcG9ydAorIAorIC4uIF9yZSBtb2R1bGU6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGli cmFyeS9yZS5odG1sI21vZHVsZS1yZQorIC4uIF9QeXRob24gcmVndWxhciBleHByZXNzaW9uczog aHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3JlLmh0bWwjbW9kdWxlLXJlCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDc2LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYyLXdhcy0xLjIuNy5kZXYxLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ni1CVU1Q LVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcuZGV2MS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjE3ODVhOThiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzYtQlVNUC1W RVJTSU9OLTEuMi43LmRldjItd2FzLTEuMi43LmRldjEucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAor RnJvbSA3MGQ5ODMxYjUyZDBkYjFmNTBiZDMxMzcwM2QwMjcwOGM4ZGQ2M2M2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBUaHUsIDE5IERlYyAyMDE5IDEyOjMxOjQ3ICswMTAwCitTdWJqZWN0OiBb UEFUQ0hdIEJVTVAtVkVSU0lPTjogMS4yLjcuZGV2MiAod2FzOiAxLjIuNy5kZXYxKQorCistLS0K KyAuYnVtcHZlcnNpb24uY2ZnICB8IDIgKy0KKyBWRVJTSU9OLnR4dCAgICAgICB8IDIgKy0KKyBi ZWhhdmUvdmVyc2lvbi5weSB8IDIgKy0KKyBweXRlc3QuaW5pICAgICAgICB8IDIgKy0KKyBzZXR1 cC5weSAgICAgICAgICB8IDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhLy5idW1wdmVyc2lvbi5jZmcgYi8uYnVtcHZl cnNpb24uY2ZnCitpbmRleCBhNWQzZDJmLi40ZjJiYjc2IDEwMDY0NAorLS0tIGEvLmJ1bXB2ZXJz aW9uLmNmZworKysrIGIvLmJ1bXB2ZXJzaW9uLmNmZworQEAgLTEsNSArMSw1IEBACisgW2J1bXB2 ZXJzaW9uXQorLWN1cnJlbnRfdmVyc2lvbiA9IDEuMi43LmRldjEKKytjdXJyZW50X3ZlcnNpb24g PSAxLjIuNy5kZXYyCisgZmlsZXMgPSBiZWhhdmUvdmVyc2lvbi5weSBzZXR1cC5weSBWRVJTSU9O LnR4dCBweXRlc3QuaW5pIC5idW1wdmVyc2lvbi5jZmcKKyBwYXJzZSA9ICg/UDxtYWpvcj5cZCsp XC4oP1A8bWlub3I+XGQrKVwuKD9QPHBhdGNoPlxkKykoP1A8ZHJvcD5cdyopCisgc2VyaWFsaXpl ID0ge21ham9yfS57bWlub3J9LntwYXRjaH17ZHJvcH0KK2RpZmYgLS1naXQgYS9WRVJTSU9OLnR4 dCBiL1ZFUlNJT04udHh0CitpbmRleCBjMGVmMzZiLi5jNGU3NWY2IDEwMDY0NAorLS0tIGEvVkVS U0lPTi50eHQKKysrKyBiL1ZFUlNJT04udHh0CitAQCAtMSArMSBAQAorLTEuMi43LmRldjEKKysx LjIuNy5kZXYyCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3ZlcnNpb24ucHkgYi9iZWhhdmUvdmVyc2lv bi5weQoraW5kZXggYjE5Y2I1ZS4uNjdmNGE0MSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS92ZXJzaW9u LnB5CisrKysgYi9iZWhhdmUvdmVyc2lvbi5weQorQEAgLTEsMiArMSwyIEBACisgIyAtLSBCRUhB VkUtVkVSU0lPTjoKKy1WRVJTSU9OID0gIjEuMi43LmRldjEiCisrVkVSU0lPTiA9ICIxLjIuNy5k ZXYyIgorZGlmZiAtLWdpdCBhL3B5dGVzdC5pbmkgYi9weXRlc3QuaW5pCitpbmRleCBiOWYyODFh Li5kZjJhODFmIDEwMDY0NAorLS0tIGEvcHl0ZXN0LmluaQorKysrIGIvcHl0ZXN0LmluaQorQEAg LTIxLDcgKzIxLDcgQEAgdGVzdHBhdGhzICAgICA9IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRl c3RfKi5weQorIGp1bml0X2ZhbWlseSA9IHh1bml0MgorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBB Q0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKKy0gICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04g MS4yLjcuZGV2MQorKyAgICAtLW1ldGFkYXRhIFBBQ0tBR0VfVkVSU0lPTiAxLjIuNy5kZXYyCisg ICAgIC0taHRtbD1idWlsZC90ZXN0aW5nL3JlcG9ydC5odG1sIC0tc2VsZi1jb250YWluZWQtaHRt bAorICAgICAtLWp1bml0LXhtbD1idWlsZC90ZXN0aW5nL3JlcG9ydC54bWwKKyBtYXJrZXJzID0K K2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCAyYWZjMTQ3Li4yM2Y2NjU0 IDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNTUsNyArNTUsNyBA QCBkZWYgZmluZF9wYWNrYWdlc19ieV9yb290X3BhY2thZ2Uod2hlcmUpOgorICMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyBzZXR1cCgKKyAgICAgbmFtZT0iYmVoYXZlIiwKKy0gICAgdmVyc2lvbj0i MS4yLjcuZGV2MSIsCisrICAgIHZlcnNpb249IjEuMi43LmRldjIiLAorICAgICBkZXNjcmlwdGlv bj0iYmVoYXZlIGlzIGJlaGF2aW91ci1kcml2ZW4gZGV2ZWxvcG1lbnQsIFB5dGhvbiBzdHlsZSIs CisgICAgIGxvbmdfZGVzY3JpcHRpb249ZGVzY3JpcHRpb24sCisgICAgIGF1dGhvcj0iSmVucyBF bmdlbCwgQmVubm8gUmljZSBhbmQgUmljaGFyZCBKb25lcyIsCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc3LUdoZXJraW4t cGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tODAwLVAucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc3LUdoZXJr aW4tcGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tODAwLVAucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hODU2MmE1ZGUKLS0tIC9kZXYvbnVs bAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDc3LUdoZXJraW4tcGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tODAw LVAucGF0Y2gKQEAgLTAsMCArMSwyMjMgQEAKK0Zyb20gOGZhYjNlMjU1MDlkNzAzZjBlNWJmYTk5 YzJlZjdmMDY0OGQxNDRlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogRnJpLCAyMCBEZWMgMjAx OSAxNjo0NTo0NiArMDEwMAorU3ViamVjdDogW1BBVENIXSBHaGVya2luIHBhcnNlcjogQ2xlYW51 cHMgcmVsYXRlZCB0byBxdWVzdGlvbiBpbiAjODAwCisgKFBhcnNlRXJyb3IgdXNhZ2UpCisKKy0t LQorIENIQU5HRVMucnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwor IGJlaGF2ZS9wYXJzZXIucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDEgKysrKysr KysrKysrKy0tLS0tLS0KKyBmZWF0dXJlcy9iYWNrZ3JvdW5kLmZlYXR1cmUgICAgICAgICAgICAg ICAgICB8ICA0ICstCisgZmVhdHVyZXMvcGFyc2VyLmJhY2tncm91bmQuc2FkX2Nhc2VzLmZlYXR1 cmUgfCAxMCArKy0tLQorIGZlYXR1cmVzL3BhcnNlci5mZWF0dXJlLnNhZF9jYXNlcy5mZWF0dXJl ICAgIHwgIDYgKy0tCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwMTQ4LmZlYXR1cmUgICAgICAgICAg ICAgfCAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCBi YTRkYWFkLi41NjUzNDkyIDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMu cnN0CitAQCAtNDQsNiArNDQsNyBAQCBGSVhFRDoKKyAKKyBNSU5PUjoKKyAKKysqIGlzc3VlICM4 MDA6IENsZWFudXBzIHJlbGF0ZWQgdG8gR2hlcmtpbiBwYXJzZXIvUGFyc2VFcnJvciBxdWVzdGlv biAoc3VibWl0dGVkIGJ5OiBvdHN0YW50ZXBseikKKyAqIHB1bGwgICM3Njc6IEZJWDogdXNlX2Zp eHR1cmVfYnlfdGFnIGRpZG4ndCByZXR1cm4gdGhlIGFjdHVhbCBmaXh0dXJlIGluIGFsbCBjYXNl cyAocHJvdmlkZWQgYnk6IGpnZW50aWwpCisgKiBwdWxsICAjNzUxOiBnaGVya2luOiBBZGRpbmcg UnVsZSBrZXl3b3JkIHRyYW5zbGF0aW9uIGluIHBvcnR1Z3Vlc2UgYW5kIHNwYW5pc2ggdG8gZ2hl cmtpbi1sYW5ndWFnZXMuanNvbiAocHJvdmlkZWQgYnk6IGR1bm9zc2F1cm8pCisgKiBwdWxsICAj NjYwOiBGaXggbWlub3IgdHlwb3MgKHByb3ZpZGVkIGJ5OiBycnVldGgpCitkaWZmIC0tZ2l0IGEv YmVoYXZlL3BhcnNlci5weSBiL2JlaGF2ZS9wYXJzZXIucHkKK2luZGV4IDUyMGY2NzguLjU4YzY4 YmUgMTAwNjQ0CistLS0gYS9iZWhhdmUvcGFyc2VyLnB5CisrKysgYi9iZWhhdmUvcGFyc2VyLnB5 CitAQCAtMTMyLDEzICsxMzIsMjQgQEAgZGVmIHBhcnNlX3RhZ3ModGV4dCk6CisgCisgCisgY2xh c3MgUGFyc2VyRXJyb3IoRXhjZXB0aW9uKToKKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1lc3Nh Z2UsIGxpbmUsIGZpbGVuYW1lPU5vbmUsIGxpbmVfdGV4dD1Ob25lKToKKy0gICAgICAgIGlmIGxp bmU6CistICAgICAgICAgICAgbWVzc2FnZSArPSB1IiBhdCBsaW5lICVkIiAlIGxpbmUKKy0gICAg ICAgICAgICBpZiBsaW5lX3RleHQ6CistICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gdSc6ICIl cyInICUgbGluZV90ZXh0LnN0cmlwKCkKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgbWFr ZV9hbm5vdGF0ZWQobWVzc2FnZSwgbGluZV9udW1iZXIsIGxpbmVfdGV4dD1Ob25lLCByZWFzb249 Tm9uZSk6CisrICAgICAgICAiIiJNYWtlIGFubm90YXRlZCBtZXNzYWdlIGVucmljaGVkIHcvIGxp bmVfbnVtYmVyLCBsaW5lX3RleHQuIiIiCisrICAgICAgICBpZiBsaW5lX251bWJlcjoKKysgICAg ICAgICAgICBtZXNzYWdlICs9IHUiIGF0IGxpbmUgJWQiICUgbGluZV9udW1iZXIKKysgICAgICAg IGlmIGxpbmVfdGV4dDoKKysgICAgICAgICAgICBtZXNzYWdlICs9IHUnOiAiJXMiJyAlIGxpbmVf dGV4dC5zdHJpcCgpCisrICAgICAgICBpZiByZWFzb246CisrICAgICAgICAgICAgbWVzc2FnZSAr PSB1IlxuUkVBU09OOiAlcyIgJSByZWFzb24KKysgICAgICAgIHJldHVybiBtZXNzYWdlCisrCisr ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtZXNzYWdlLCBsaW5lLCBmaWxlbmFtZT1Ob25lLCBsaW5l X3RleHQ9Tm9uZSwKKysgICAgICAgICAgICAgICAgIHJlYXNvbj1Ob25lLCB1c2VfYW5ub3RhdGVk X21lc3NhZ2U9VHJ1ZSk6CisrICAgICAgICBpZiB1c2VfYW5ub3RhdGVkX21lc3NhZ2U6CisrICAg ICAgICAgICAgbWVzc2FnZSA9IHNlbGYubWFrZV9hbm5vdGF0ZWQobWVzc2FnZSwgbGluZSwgbGlu ZV90ZXh0LCByZWFzb24pCisrCisgICAgICAgICBzdXBlcihQYXJzZXJFcnJvciwgc2VsZikuX19p bml0X18obWVzc2FnZSkKKy0gICAgICAgIHNlbGYubGluZSA9IGxpbmUKKysgICAgICAgIHNlbGYu bGluZSA9IGxpbmUgICAgIyBMaW5lIG51bWJlciBvZiBwYXJzZSBmYWlsdXJlLgorICAgICAgICAg c2VsZi5saW5lX3RleHQgPSBsaW5lX3RleHQKKyAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxl bmFtZQorIAorQEAgLTM4NiwxNCArMzk3LDEzIEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAg ICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgICAgICBtc2cgPSB1IlBhcnNl ciBpbiB1bmtub3duIHN0YXRlICVzOyIgJSBzZWxmLnN0YXRlCisgICAgICAgICAgICAgcmFpc2Ug UGFyc2VyRXJyb3IobXNnLCBzZWxmLmxpbmUsIHNlbGYuZmlsZW5hbWUsIGxpbmUpCisrCisgICAg ICAgICBpZiBub3QgZnVuYyhsaW5lKToKKyAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgp CistICAgICAgICAgICAgbXNnID0gdSdcblBhcnNlciBmYWlsdXJlIGluIHN0YXRlICVzLCBhdCBs aW5lICVkOiAiJXMiXG4nICUgXAorLSAgICAgICAgICAgICAgICAgIChzZWxmLnN0YXRlLCBzZWxm LmxpbmUsIGxpbmUpCisrICAgICAgICAgICAgbXNnID0gdSdcblBhcnNlciBmYWlsdXJlIGluIHN0 YXRlPSVzJyAlIHNlbGYuc3RhdGUKKyAgICAgICAgICAgICByZWFzb24gPSBzZWxmLmFza19wYXJz ZV9mYWlsdXJlX29yYWNsZShsaW5lKQorLSAgICAgICAgICAgIGlmIHJlYXNvbjoKKy0gICAgICAg ICAgICAgICAgbXNnICs9IHUiUkVBU09OOiAlcyIgJSByZWFzb24KKy0gICAgICAgICAgICByYWlz ZSBQYXJzZXJFcnJvcihtc2csIE5vbmUsIHNlbGYuZmlsZW5hbWUpCisrICAgICAgICAgICAgcmFp c2UgUGFyc2VyRXJyb3IobXNnLCBzZWxmLmxpbmUsIHNlbGYuZmlsZW5hbWUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGluZV90ZXh0PWxpbmUsIHJlYXNvbj1yZWFzb24pCisgCisg ICAgIGRlZiBhY3Rpb25faW5pdChzZWxmLCBsaW5lKToKKyAgICAgICAgIGxpbmUgPSBsaW5lLnN0 cmlwKCkKK0BAIC02NDIsNyArNjUyLDcgQEAgY2xhc3MgUGFyc2VyKG9iamVjdCk6CisgICAgICAg ICAgICAgc2VsZi50YWJsZSA9IG1vZGVsLlRhYmxlKGNlbGxzLCBzZWxmLmxpbmUpCisgICAgICAg ICBlbHNlOgorICAgICAgICAgICAgIGlmIGxlbihjZWxscykgIT0gbGVuKHNlbGYudGFibGUuaGVh ZGluZ3MpOgorLSAgICAgICAgICAgICAgICByYWlzZSBQYXJzZXJFcnJvcih1Ik1hbGZvcm1lZCB0 YWJsZSIsIHNlbGYubGluZSkKKysgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IodSJN YWxmb3JtZWQgdGFibGUiLCBzZWxmLmxpbmUsIHNlbGYuZmlsZW5hbWUpCisgICAgICAgICAgICAg ICAgICMgTUFZQkU6IHNlbGYuZmlsZW5hbWUpCisgICAgICAgICAgICAgc2VsZi50YWJsZS5hZGRf cm93KGNlbGxzLCBzZWxmLmxpbmUpCisgICAgICAgICByZXR1cm4gVHJ1ZQorQEAgLTcwNCw4ICs3 MTQsOCBAQCBjbGFzcyBQYXJzZXIob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgYnJlYWsgICAj IC0tIENPTU1FTlQ6IFNraXAgcmVzdCBvZiBsaW5lLgorICAgICAgICAgICAgIGVsc2U6CisgICAg ICAgICAgICAgICAgICMgLS0gQkFELVRBRzogQWJvcnQgaGVyZS4KKy0gICAgICAgICAgICAgICAg cmFpc2UgUGFyc2VyRXJyb3IodSJ0YWc6ICVzIChsaW5lOiAlcykiICUgKHdvcmQsIGxpbmUpLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmUsIHNlbGYuZmlsZW5h bWUpCisrICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSB1InRhZzogJXMgKGxpbmU6ICVzKSIgJSAo d29yZCwgbGluZSkKKysgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IobWVzc2FnZSwg c2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lKQorICAgICAgICAgcmV0dXJuIHRhZ3MKKyAKKyAgICAg ZGVmIHBhcnNlX3N0ZXAoc2VsZiwgbGluZSk6CitAQCAtNzIzLDcgKzczMyw4IEBAIGNsYXNzIFBh cnNlcihvYmplY3QpOgorICAgICAgICAgICAgICAgICBzdGVwX3RleHRfYWZ0ZXJfa2V5d29yZCA9 IGxpbmVbbGVuKGt3KTpdLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgaWYgc3RlcF90eXBlIGlu ICgiYW5kIiwgImJ1dCIpOgorICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYubGFzdF9z dGVwOgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKHUiTm8gcHJl dmlvdXMgc3RlcCIsIHNlbGYubGluZSkKKysgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBQ YXJzZXJFcnJvcih1Ik5vIHByZXZpb3VzIHN0ZXAiLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYubGluZSwgc2VsZi5maWxlbmFtZSkKKyAgICAgICAgICAg ICAgICAgICAgIHN0ZXBfdHlwZSA9IHNlbGYubGFzdF9zdGVwCisgICAgICAgICAgICAgICAgIGVs c2U6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLmxhc3Rfc3RlcCA9IHN0ZXBfdHlwZQorZGlm ZiAtLWdpdCBhL2ZlYXR1cmVzL2JhY2tncm91bmQuZmVhdHVyZSBiL2ZlYXR1cmVzL2JhY2tncm91 bmQuZmVhdHVyZQoraW5kZXggYjJmNTgzMy4uNjVjNDg4MiAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVz L2JhY2tncm91bmQuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvYmFja2dyb3VuZC5mZWF0dXJlCitA QCAtMzYyLDcgKzM2Miw3IEBAIEZlYXR1cmU6IEJhY2tncm91bmQKKyAgICAgV2hlbiBJIHJ1biAi YmVoYXZlIC1mIHBsYWluIC1UIGZlYXR1cmVzL2JhY2tncm91bmRfc2FkX2V4YW1wbGUxLmZlYXR1 cmUiCisgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorLSAgICAg ICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMsIGF0IGxpbmUgNTogIkJhY2tncm91bmQ6 IEIxIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQgbGluZSA1OiAi QmFja2dyb3VuZDogQjEiCisgICAgICAgICBSRUFTT046IEJhY2tncm91bmQgbWF5IG5vdCBvY2N1 ciBhZnRlciBTY2VuYXJpby9TY2VuYXJpb091dGxpbmUuCisgICAgICAgICAiIiIKKyAKK0BAIC0z ODcsNiArMzg3LDYgQEAgRmVhdHVyZTogQmFja2dyb3VuZAorICAgICBXaGVuIEkgcnVuICJiZWhh dmUgLWYgcGxhaW4gLVQgZmVhdHVyZXMvYmFja2dyb3VuZF9zYWRfZXhhbXBsZTIuZmVhdHVyZSIK KyAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorICAgICAgICAgIiIiCistICAgICAgICBQ YXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSBzdGVwcywgYXQgbGluZSA1OiAiQmFja2dyb3VuZDogQjIg KFhGQUlMKSIKKysgICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlPXN0ZXBzIGF0IGxpbmUg NTogIkJhY2tncm91bmQ6IEIyIChYRkFJTCkiCisgICAgICAgICBSRUFTT046IEJhY2tncm91bmQg c2hvdWxkIG5vdCBiZSB1c2VkIGhlcmUuCisgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9mZWF0 dXJlcy9wYXJzZXIuYmFja2dyb3VuZC5zYWRfY2FzZXMuZmVhdHVyZSBiL2ZlYXR1cmVzL3BhcnNl ci5iYWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0dXJlCitpbmRleCAzNzk1NmFkLi5lYjIzNGFlIDEw MDY0NAorLS0tIGEvZmVhdHVyZXMvcGFyc2VyLmJhY2tncm91bmQuc2FkX2Nhc2VzLmZlYXR1cmUK KysrKyBiL2ZlYXR1cmVzL3BhcnNlci5iYWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0dXJlCitAQCAt MzcsNyArMzcsNyBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBjYXNlcyBvZiBC YWNrZ3JvdW5kIGFyZSBkZXRlY3RlZAorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aAor ICAgICAgICAgIiIiCisgICAgICAgICBGYWlsZWQgdG8gcGFyc2UgIntfX1dPUktESVJfX30vZmVh dHVyZXMvc3luZHJvbWUuYmFja2dyb3VuZF93aXRoX3RhZ3MuZmVhdHVyZSI6CistICAgICAgICBQ YXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSB0YWdnYWJsZV9zdGF0ZW1lbnQsIGF0IGxpbmUgNDogIkJh Y2tncm91bmQ6IE9vcHMuLi4iCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT10YWdn YWJsZV9zdGF0ZW1lbnQgYXQgbGluZSA0OiAiQmFja2dyb3VuZDogT29wcy4uLiIKKyAgICAgICAg IFJFQVNPTjogQmFja2dyb3VuZCBkb2VzIG5vdCBzdXBwb3J0IHRhZ3MuCisgICAgICAgICAiIiIK KyAKK0BAIC01Nyw3ICs1Nyw3IEBAIEZlYXR1cmU6IEVuc3VyZSB0aGF0IEJBRC9TQUQgVXNlIGNh c2VzIG9mIEJhY2tncm91bmQgYXJlIGRldGVjdGVkCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFp bCB3aXRoCisgICAgICAgICAiIiIKKyAgICAgICAgIEZhaWxlZCB0byBwYXJzZSAie19fV09SS0RJ Ul9ffS9mZWF0dXJlcy9zeW5kcm9tZS5iYWNrZ3JvdW5kX2FmdGVyX3NjZW5hcmlvLmZlYXR1cmUi OgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMsIGF0IGxpbmUgNjogIkJh Y2tncm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRlciBTY2VuYXJpbykiCisrICAgICAgICBQYXJz ZXIgZmFpbHVyZSBpbiBzdGF0ZT1zdGVwcyBhdCBsaW5lIDY6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0 b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8pIgorICAgICAgICAgUkVBU09OOiBCYWNrZ3JvdW5kIG1h eSBub3Qgb2NjdXIgYWZ0ZXIgU2NlbmFyaW8vU2NlbmFyaW9PdXRsaW5lLgorICAgICAgICAgIiIi CisgCitAQCAtNzcsNyArNzcsNyBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBj YXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3RlZAorICAgICAgIFdoZW4gSSBydW4gImJlaGF2 ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9zeW5kcm9tZS50YWdnZWRfYmFja2dyb3VuZF9hZnRlcl9z Y2VuYXJpby5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aAorICAgICAg ICAgIiIiCistICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSB0YWdnYWJsZV9zdGF0ZW1l bnQsIGF0IGxpbmUgNzogIkJhY2tncm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRlciBTY2VuYXJp bykiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT10YWdnYWJsZV9zdGF0ZW1lbnQg YXQgbGluZSA3OiAiQmFja2dyb3VuZDogT29wcywgdG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvKSIK KyAgICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBtYXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlv L1NjZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIiIgorIAorQEAgLTEwMCw3ICsxMDAsNyBAQCBG ZWF0dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBk ZXRlY3RlZAorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9z eW5kcm9tZS5iYWNrZ3JvdW5kX2FmdGVyX3NjZW5hcmlvX291dGxpbmUuZmVhdHVyZSIKKyAgICAg ICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGgKKyAgICAgICAgICIiIgorLSAgICAgICAgUGFyc2Vy IGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMsIGF0IGxpbmUgMTA6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0 b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8gT3V0bGluZSkiCisrICAgICAgICBQYXJzZXIgZmFpbHVy ZSBpbiBzdGF0ZT1zdGVwcyBhdCBsaW5lIDEwOiAiQmFja2dyb3VuZDogT29wcywgdG9vIGxhdGUg KGFmdGVyIFNjZW5hcmlvIE91dGxpbmUpIgorICAgICAgICAgUkVBU09OOiBCYWNrZ3JvdW5kIG1h eSBub3Qgb2NjdXIgYWZ0ZXIgU2NlbmFyaW8vU2NlbmFyaW9PdXRsaW5lLgorICAgICAgICAgIiIi CisgCitAQCAtMTI0LDYgKzEyNCw2IEBAIEZlYXR1cmU6IEVuc3VyZSB0aGF0IEJBRC9TQUQgVXNl IGNhc2VzIG9mIEJhY2tncm91bmQgYXJlIGRldGVjdGVkCisgICAgICAgV2hlbiBJIHJ1biAiYmVo YXZlIC1mIHBsYWluIC1UIGZlYXR1cmVzL3N5bmRyb21lLmJhY2tncm91bmRfYWZ0ZXJfc2NlbmFy aW9fb3V0bGluZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aAorICAg ICAgICAgIiIiCistICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSB0YWdnYWJsZV9zdGF0 ZW1lbnQsIGF0IGxpbmUgMTE6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2Nl bmFyaW8gT3V0bGluZSkiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT10YWdnYWJs ZV9zdGF0ZW1lbnQgYXQgbGluZSAxMTogIkJhY2tncm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRl ciBTY2VuYXJpbyBPdXRsaW5lKSIKKyAgICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBtYXkgbm90 IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1NjZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIiIgorZGlm ZiAtLWdpdCBhL2ZlYXR1cmVzL3BhcnNlci5mZWF0dXJlLnNhZF9jYXNlcy5mZWF0dXJlIGIvZmVh dHVyZXMvcGFyc2VyLmZlYXR1cmUuc2FkX2Nhc2VzLmZlYXR1cmUKK2luZGV4IGQ4OWQ5YjcuLjBl MTJkOWYgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9wYXJzZXIuZmVhdHVyZS5zYWRfY2FzZXMuZmVh dHVyZQorKysrIGIvZmVhdHVyZXMvcGFyc2VyLmZlYXR1cmUuc2FkX2Nhc2VzLmZlYXR1cmUKK0BA IC04NCw3ICs4NCw3IEBAIEZlYXR1cmU6IFBhcnNpbmcgYSBGZWF0dXJlIEZpbGUgd2l0aG91dCBh IEZlYXR1cmUgb3Igd2l0aCBzZXZlcmFsIEZlYXR1cmVzCisgICAgICAgVGhlbiBpdCBzaG91bGQg ZmFpbCB3aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICBGYWlsZWQgdG8gcGFyc2UgIntfX1dP UktESVJfX30vZmVhdHVyZXMvb25seV90ZXh0LmZlYXR1cmUiOgorLSAgICAgICAgUGFyc2VyIGZh aWx1cmUgaW4gc3RhdGUgaW5pdCwgYXQgbGluZSAxOiAiVGhpcyBGaWxlOiBDb250YWlucyBvbmx5 IHRleHQgd2l0aG91dCBrZXl3b3Jkcy4iCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0 ZT1pbml0IGF0IGxpbmUgMTogIlRoaXMgRmlsZTogQ29udGFpbnMgb25seSB0ZXh0IHdpdGhvdXQg a2V5d29yZHMuIgorICAgICAgICAgUkVBU09OOiBObyBmZWF0dXJlIGZvdW5kLgorICAgICAgICAg IiIiCisgCitAQCAtMTAzLDcgKzEwMyw3IEBAIEZlYXR1cmU6IFBhcnNpbmcgYSBGZWF0dXJlIEZp bGUgd2l0aG91dCBhIEZlYXR1cmUgb3Igd2l0aCBzZXZlcmFsIEZlYXR1cmVzCisgICAgICAgVGhl biBpdCBzaG91bGQgZmFpbCB3aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICBGYWlsZWQgdG8g cGFyc2UgIntfX1dPUktESVJfX30vZmVhdHVyZXMvbmFrZWRfc2NlbmFyaW9fb25seS5mZWF0dXJl IjoKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIGluaXQsIGF0IGxpbmUgMTogIlNj ZW5hcmlvOiIKKysgICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlPWluaXQgYXQgbGluZSAx OiAiU2NlbmFyaW86IgorICAgICAgICAgUkVBU09OOiBTY2VuYXJpbyBtYXkgbm90IG9jY3VyIGJl Zm9yZSBGZWF0dXJlLgorICAgICAgICAgIiIiCisgCitAQCAtMTM5LDYgKzEzOSw2IEBAIEZlYXR1 cmU6IFBhcnNpbmcgYSBGZWF0dXJlIEZpbGUgd2l0aG91dCBhIEZlYXR1cmUgb3Igd2l0aCBzZXZl cmFsIEZlYXR1cmVzCisgICAgICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAg ICAgICAgICAiIiIKKyAgICAgICAgICAgICBGYWlsZWQgdG8gcGFyc2UgIntfX1dPUktESVJfX30v ZmVhdHVyZXMvdHdvX2ZlYXR1cmVzLmZlYXR1cmUiOgorLSAgICAgICAgICAgIFBhcnNlciBmYWls dXJlIGluIHN0YXRlIHN0ZXBzLCBhdCBsaW5lIDc6ICJGZWF0dXJlOiBGMiIKKysgICAgICAgICAg ICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1zdGVwcyBhdCBsaW5lIDc6ICJGZWF0dXJlOiBGMiIK KyAgICAgICAgICAgICBSRUFTT046IE11bHRpcGxlIGZlYXR1cmVzIGluIG9uZSBmaWxlIGFyZSBu b3Qgc3VwcG9ydGVkLgorICAgICAgICAgICAgICIiIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1 cmVzL2lzc3VlMDE0OC5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMTQ4LmZlYXR1cmUK K2luZGV4IDQzODc3OTUuLjY2N2QxOTYgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1 ZTAxNDguZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMTQ4LmZlYXR1cmUKK0BA IC02Nyw3ICs2Nyw3IEBAIEZlYXR1cmU6IElzc3VlICMxNDg6IFN1YnN0ZXBzIGRvIG5vdCBmYWls CisgICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisgICAgICAgICAi IiIKKyAgICAgICAgIFBhcnNlckVycm9yOiBGYWlsZWQgdG8gcGFyc2UgPHN0cmluZz46CistICAg ICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSBzdGVwcywgYXQgbGluZSAyOiAiSSBkbyBzb21l dGhpbmcgc3R1cGlkIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQg bGluZSAyOiAiSSBkbyBzb21ldGhpbmcgc3R1cGlkIgorICAgICAgICAgIiIiCisgCisgCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDc4LUNsYXJpZnktc2VsZWN0LWJ5LW5hbWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQt dG8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDc4LUNsYXJpZnktc2VsZWN0LWJ5LW5hbWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0 ZWQtdG8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wNDc5YmFm OTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDc4LUNsYXJpZnktc2VsZWN0LWJ5LW5hbWUtdXNlcy1yZWdleC1w YXR0ZXJuLXJlbGF0ZWQtdG8ucGF0Y2gKQEAgLTAsMCArMSw4MiBAQAorRnJvbSBmNzg1ZjIwZmI4 ZDUwODdhNzA1M2Y2ZGM2NjdiZDI4MTgwYTIyMmQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBT dW4sIDkgRmViIDIwMjAgMjA6MzA6NTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2xhcmlmeSBz ZWxlY3QtYnktbmFtZSB1c2VzIHJlZ2V4IHBhdHRlcm4gKHJlbGF0ZWQgdG86IGlzc3VlCisgIzgx MCkKKworQ2xhcmlmaXkgc2VsZWN0LWJ5LW5hbWUgdXNlcyByZWdleCBwYXR0ZXJuOgorCisqIEFk YXB0IGNvbW1hbmQtbGluZSBvcHRpb24gLS1uYW1lIGhlbHAgdGV4dAorKiBVcGRhdGUgY29tbWFu ZC1saW5lIGFyZ3MgZG9jcyBmb3IgYmVoYXZlCistLS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAg ICB8ICA0ICsrKysKKyBiZWhhdmUvY29uZmlndXJhdGlvbi5weSB8IDEwICsrKysrLS0tLS0KKyBk b2NzL2JlaGF2ZS5yc3QgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQorIDMgZmlsZXMgY2hhbmdl ZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DSEFO R0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCA1NjUzNDkyLi5kMGJmNmZkIDEwMDY0NAorLS0t IGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMzEsNiArMzEsMTAgQEAgRU5I QU5DRU1FTlRTOgorICogaXNzdWUgIzY3ODogU2NlbmFyaW8gT3V0bGluZTogU3VwcG9ydCB0YWdz IHdpdGggY29tbWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRlZCBieTogbGF3bm1vd2VybGF0dGUs IHB1bGwgIzY3OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5k IHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwg IzY4MCkKKyAKKytDTEFSSUZJQ0FUSU9OOgorKworKyogaXNzdWUgIzgxMDogQ2xhcmlmeSBzZWxl Y3QtYnktbmFtZSB1c2luZyByZWdleCBwYXR0ZXJuIChzdWJtaXR0ZWQgYnk6IHh2LWNocmlzLXcp CisrCisgRklYRUQ6CisgCisgKiBpc3N1ZSAjNzcyOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMg d2l0aG91dCB0YWJsZSAoc3VibWl0dGVkIGJ5OiBUaGUtUUEtR2VlaykKK2RpZmYgLS1naXQgYS9i ZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCBi ZDhiMDM5Li42NWUyZTNlIDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysr KyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtMTY0LDExICsxNjQsMTEgQEAgb3B0aW9u cyA9IFsKKyAgICAgICAgICAgICAgICAgICBvdmVycmlkZSBhIGNvbmZpZ3VyYXRpb24gZmlsZSBz ZXR0aW5nLiIiIikpLAorIAorICAgICAoKCItbiIsICItLW5hbWUiKSwKKy0gICAgIGRpY3QoYWN0 aW9uPSJhcHBlbmQiLAorLSAgICAgICAgICBoZWxwPSIiIk9ubHkgZXhlY3V0ZSB0aGUgZmVhdHVy ZSBlbGVtZW50cyB3aGljaCBtYXRjaCBwYXJ0CistICAgICAgICAgICAgICAgICAgb2YgdGhlIGdp dmVuIG5hbWUuIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUKKy0gICAgICAgICAgICAgICAg ICB0aGFuIG9uY2UsIGl0IHdpbGwgbWF0Y2ggYWdhaW5zdCBhbGwgdGhlIGdpdmVuCistICAgICAg ICAgICAgICAgICAgbmFtZXMuIiIiKSksCisrICAgICBkaWN0KGFjdGlvbj0iYXBwZW5kIiwgbWV0 YXZhcj0iTkFNRV9QQVRURVJOIiwKKysgICAgICAgICAgaGVscD0iIiJTZWxlY3QgZmVhdHVyZSBl bGVtZW50cyAoc2NlbmFyaW9zLCAuLi4pIHRvIHJ1bgorKyAgICAgICAgICAgICAgICAgIHdoaWNo IG1hdGNoIHBhcnQgb2YgdGhlIGdpdmVuIG5hbWUgKHJlZ2V4IHBhdHRlcm4pLgorKyAgICAgICAg ICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhhbiBvbmNlLAorKyAgICAg ICAgICAgICAgICAgIGl0IHdpbGwgbWF0Y2ggYWdhaW5zdCBhbGwgdGhlIGdpdmVuIG5hbWVzLiIi IikpLAorIAorICAgICAoKCItLW5vLWNhcHR1cmUiLCksCisgICAgICBkaWN0KGFjdGlvbj0ic3Rv cmVfZmFsc2UiLCBkZXN0PSJzdGRvdXRfY2FwdHVyZSIsCitkaWZmIC0tZ2l0IGEvZG9jcy9iZWhh dmUucnN0IGIvZG9jcy9iZWhhdmUucnN0CitpbmRleCBkZmIzOTBhLi4yNWNlNTIzIDEwMDY0NAor LS0tIGEvZG9jcy9iZWhhdmUucnN0CisrKysgYi9kb2NzL2JlaGF2ZS5yc3QKK0BAIC05NSw5ICs5 NSw5IEBAIFlvdSBtYXkgc2VlIHRoZSBzYW1lIGluZm9ybWF0aW9uIHByZXNlbnRlZCBiZWxvdyBh dCBhbnkgdGltZSB1c2luZyBgYGJlaGF2ZQorIAorIC4uIG9wdGlvbjo6IC1uLCAtLW5hbWUKKyAK Ky0gICAgT25seSBleGVjdXRlIHRoZSBmZWF0dXJlIGVsZW1lbnRzIHdoaWNoIG1hdGNoIHBhcnQg b2YgdGhlIGdpdmVuIG5hbWUuCistICAgIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhh biBvbmNlLCBpdCB3aWxsIG1hdGNoIGFnYWluc3QgYWxsCistICAgIHRoZSBnaXZlbiBuYW1lcy4K KysgICAgU2VsZWN0IGZlYXR1cmUgZWxlbWVudHMgKHNjZW5hcmlvcywgLi4uKSB0byBydW4gd2hp Y2ggbWF0Y2ggcGFydCBvZgorKyAgICB0aGUgZ2l2ZW4gbmFtZSAocmVnZXggcGF0dGVybikuIElm IHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhhbgorKyAgICBvbmNlLCBpdCB3aWxsIG1hdGNo IGFnYWluc3QgYWxsIHRoZSBnaXZlbiBuYW1lcy4KKyAKKyAuLiBvcHRpb246OiAtLW5vLWNhcHR1 cmUKKyAKK0BAIC00NDksOSArNDQ5LDkgQEAgQ29uZmlndXJhdGlvbiBQYXJhbWV0ZXJzCisgCisg Li4gZGVzY3JpYmU6OiBuYW1lIDogc2VxdWVuY2U8dGV4dD4KKyAKKy0gICAgT25seSBleGVjdXRl IHRoZSBmZWF0dXJlIGVsZW1lbnRzIHdoaWNoIG1hdGNoIHBhcnQgb2YgdGhlIGdpdmVuIG5hbWUu CistICAgIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhhbiBvbmNlLCBpdCB3aWxsIG1h dGNoIGFnYWluc3QgYWxsCistICAgIHRoZSBnaXZlbiBuYW1lcy4KKysgICAgU2VsZWN0IGZlYXR1 cmUgZWxlbWVudHMgKHNjZW5hcmlvcywgLi4uKSB0byBydW4gd2hpY2ggbWF0Y2ggcGFydCBvZgor KyAgICB0aGUgZ2l2ZW4gbmFtZSAocmVnZXggcGF0dGVybikuIElmIHRoaXMgb3B0aW9uIGlzIGdp dmVuIG1vcmUgdGhhbgorKyAgICBvbmNlLCBpdCB3aWxsIG1hdGNoIGFnYWluc3QgYWxsIHRoZSBn aXZlbiBuYW1lcy4KKyAKKyAuLiBpbmRleDo6CisgICAgIHNpbmdsZTogY29uZmlndXJhdGlvbiBw YXJhbTsgc3Rkb3V0X2NhcHR1cmUKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzktRklYLUNyb3NzLXJlZmVyZW5jZS1wcm9i bGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzktRklYLUNyb3NzLXJlZmVyZW5jZS1w cm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLmQ2YTYyODMzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzktRklYLUNyb3Nz LXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5wYXRjaApAQCAtMCww ICsxLDM0IEBACitGcm9tIDUxY2QwYjcwNWQ5YTNjZGI5MGU5YjQyNTc5MWRhM2Y0YWQ0N2Q2YTQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMTMgQXByIDIwMjAgMTA6MzE6NTQgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSF0gRklYOiBDcm9zcy1yZWZlcmVuY2UgcHJvYmxlbSAoY29weStwYXN0 ZSkgaW4gUnVsZSBjbGFzcworIGRvY3N0cmluZy4KKworLS0tCisgYmVoYXZlL21vZGVsLnB5IHwg NiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIvYmVoYXZlL21vZGVsLnB5CitpbmRl eCBmNDZkMmMyLi5jYjY5ZjllIDEwMDY0NAorLS0tIGEvYmVoYXZlL21vZGVsLnB5CisrKysgYi9i ZWhhdmUvbW9kZWwucHkKK0BAIC04NCw4ICs4NCw4IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVy KFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgCisgICAgIC4uIGF0dHJpYnV0 ZTo6IGtleXdvcmQKKyAKKy0gICAgICAgVGhpcyBpcyB0aGUga2V5d29yZCBhcyBzZWVuIGluIHRo ZSAqZmVhdHVyZSBmaWxlKi4gSW4gRW5nbGlzaCB0aGlzIHdpbGwKKy0gICAgICAgYmUgIkZlYXR1 cmUiIG9yICJSdWxlIi4KKysgICAgICAgVGhpcyBpcyB0aGUga2V5d29yZCBhcyBzZWVuIGluIHRo ZSAqZmVhdHVyZSBmaWxlKi4KKysgICAgICAgSW4gRW5nbGlzaCB0aGlzIHdpbGwgYmUgIkZlYXR1 cmUiIG9yICJSdWxlIi4KKyAKKyAgICAgLi4gYXR0cmlidXRlOjogbmFtZQorIAorQEAgLTY3MSw3 ICs2NzEsNyBAQCBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFpbmVyKToKKyAKKyAKKyAgICAgLi4g dmVyc2lvbmFkZGVkOjogMS4yLjcKKy0gICAgLi4gX2BmZWF0dXJlYDogZ2hlcmtpbi5odG1sI3J1 bGUKKysgICAgLi4gX2BydWxlYDogZ2hlcmtpbi5odG1sI3J1bGUKKyAgICAgIiIiCisgICAgIHR5 cGUgPSAicnVsZSIKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODAtRE9DUy1VcGRhdGUtQVBJLWRlc2NyaXB0aW9uLWZv ci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MC1ET0NTLVVwZGF0ZS1BUEktZGVzY3JpcHRpb24tZm9y LVJ1bm5lci1PcGVyYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi5iNjgwM2YwMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgwLURPQ1MtVXBkYXRlLUFQSS1kZXNjcmlw dGlvbi1mb3ItUnVubmVyLU9wZXJhdGlvbi5wYXRjaApAQCAtMCwwICsxLDE5NSBAQAorRnJvbSA0 NTU4ZmU0YzljNzI4ZDNmN2FjYmMyY2ZkMDkxMmYwNWFmZDIyYTJkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBNb24sIDEzIEFwciAyMDIwIDEwOjMzOjQ0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IERPQ1M6IFVwZGF0ZSBBUEkgZGVzY3JpcHRpb24gZm9yICJSdW5uZXIgT3BlcmF0aW9uIi4KKwor KiBQcm92aWRlIGRlc2NyaXB0aW9uIEdoZXJraW4gZ3JhbW1hciBjb250YWlubWVudHMKKyogQWRk IGRlc2NyaXB0aW9uIGZvciBSdWxlKHMpLgorLS0tCisgZG9jcy9hcGkucnN0IHwgMTM3ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBj aGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2RvY3MvYXBpLnJzdCBiL2RvY3MvYXBpLnJzdAoraW5kZXggNWU0YjdiNC4uMzlmYTc1NSAxMDA2 NDQKKy0tLSBhL2RvY3MvYXBpLnJzdAorKysrIGIvZG9jcy9hcGkucnN0CitAQCAtMTk2LDI0ICsx OTYsMzQgQEAgRW52aXJvbm1lbnQgRmlsZSBGdW5jdGlvbnMKKyBUaGUgZW52aXJvbm1lbnQucHkg bW9kdWxlIG1heSBkZWZpbmUgY29kZSB0byBydW4gYmVmb3JlIGFuZCBhZnRlciBjZXJ0YWluCisg ZXZlbnRzIGR1cmluZyB5b3VyIHRlc3Rpbmc6CisgCistKipiZWZvcmVfc3RlcChjb250ZXh0LCBz dGVwKSwgYWZ0ZXJfc3RlcChjb250ZXh0LCBzdGVwKSoqCistICBUaGVzZSBydW4gYmVmb3JlIGFu ZCBhZnRlciBldmVyeSBzdGVwLiBUaGUgc3RlcCBwYXNzZWQgaW4gaXMgYW4gaW5zdGFuY2UKKy0g IG9mIDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5TdGVwYC4KKysqKmJlZm9yZV9hbGwoY29udGV4dCks IGFmdGVyX2FsbChjb250ZXh0KSoqCisrICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciB0aGUg d2hvbGUgc2hvb3RpbmcgbWF0Y2guCisrCisrKipiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0 dXJlKSwgYWZ0ZXJfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKSoqCisrICBUaGVzZSBydW4gYmVm b3JlIGFuZCBhZnRlciBlYWNoIGZlYXR1cmUgaXMgZXhlY3V0ZWQuCisrICBUaGUgZmVhdHVyZSBv YmplY3QsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhh dmUubW9kZWwuRmVhdHVyZWAuCisrCisrKipiZWZvcmVfcnVsZShjb250ZXh0LCBydWxlKSwgYWZ0 ZXJfcnVsZShjb250ZXh0LCBydWxlKSoqCisrICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBl YWNoIHJ1bGUgaXMgZXhlY3VyZWQuCisrICBUaGUgcnVsZSBvYmplY3QsIHRoYXQgaXMgcGFzc2Vk IGluLCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuUnVsZWAuCisgCisg KipiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pLCBhZnRlcl9zY2VuYXJpbyhjb250 ZXh0LCBzY2VuYXJpbykqKgorLSAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBzY2Vu YXJpbyBpcyBydW4uIFRoZSBzY2VuYXJpbyBwYXNzZWQgaW4gaXMgYW4KKy0gIGluc3RhbmNlIG9m IDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5TY2VuYXJpb2AuCisrICBUaGVzZSBydW4gYmVmb3JlIGFu ZCBhZnRlciBlYWNoIHNjZW5hcmlvIGlzIHJ1bi4KKysgIFRoZSBzY2VuYXJpbyBvYmplY3QsIHRo YXQgaXMgcGFzc2VkIGluLCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwu U2NlbmFyaW9gLgorIAorLSoqYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSksIGFmdGVy X2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSkqKgorLSAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0 ZXIgZWFjaCBmZWF0dXJlIGZpbGUgaXMgZXhlcmNpc2VkLiBUaGUgZmVhdHVyZQorLSAgcGFzc2Vk IGluIGlzIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5GZWF0dXJlYC4KKysq KmJlZm9yZV9zdGVwKGNvbnRleHQsIHN0ZXApLCBhZnRlcl9zdGVwKGNvbnRleHQsIHN0ZXApKioK KysgIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVyIGV2ZXJ5IHN0ZXAuCisrICBUaGUgc3RlcCBv YmplY3QsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhh dmUubW9kZWwuU3RlcGAuCisgCisgKipiZWZvcmVfdGFnKGNvbnRleHQsIHRhZyksIGFmdGVyX3Rh Zyhjb250ZXh0LCB0YWcpKioKKyAgIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVyIGEgc2VjdGlv biB0YWdnZWQgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gVGhleSBhcmUKKyAgIGludm9rZWQgZm9yIGVh Y2ggdGFnIGVuY291bnRlcmVkIGluIHRoZSBvcmRlciB0aGV5J3JlIGZvdW5kIGluIHRoZQorLSAg ZmVhdHVyZSBmaWxlLiBTZWUgIDpyZWY6YGNvbnRyb2xsaW5nIHRoaW5ncyB3aXRoIHRhZ3NgLiBU aGUgdGFnIHBhc3NlZCBpbiBpcworLSAgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1v ZGVsLlRhZ2AgYW5kIGJlY2F1c2UgaXQncyBhIHN1YmNsYXNzIG9mCistICBzdHJpbmcgeW91IGNh biBkbyBzaW1wbGUgdGVzdHMgbGlrZToKKysgIGZlYXR1cmUgZmlsZS4gU2VlICA6cmVmOmBjb250 cm9sbGluZyB0aGluZ3Mgd2l0aCB0YWdzYC4KKysKKysgIFRhZ2dhYmxlIHN0YXRlbWVudHMgYXJl OiBGZWF0dXJlLCBSdWxlLCBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lLCBFeGFtcGxlcy4KKysK KysgIFRoZSB0YWcsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6 YH5iZWhhdmUubW9kZWwuVGFnYCBhbmQKKysgIGJlY2F1c2UgaXQncyBhIHN1YmNsYXNzIG9mIHN0 cmluZyB5b3UgY2FuIGRvIHNpbXBsZSB0ZXN0cyBsaWtlOgorIAorICAgLi4gY29kZS1ibG9jazo6 IHB5dGhvbgorIAorQEAgLTIyNyw4ICsyMzcsNiBAQCBldmVudHMgZHVyaW5nIHlvdXIgdGVzdGlu ZzoKKyAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgY29udGV4dC5icm93 c2VyID0gd2ViZHJpdmVyLlBsYWluVmFuaWxsYSgpCisgCistKipiZWZvcmVfYWxsKGNvbnRleHQp LCBhZnRlcl9hbGwoY29udGV4dCkqKgorLSAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgdGhl IHdob2xlIHNob290aW5nIG1hdGNoLgorIAorIAorIFNvbWUgVXNlZnVsIEVudmlyb25tZW50IElk ZWFzCitAQCAtMzExLDQyICszMTksODcgQEAgVXNlIEZpeHR1cmVzCisgUnVubmVyIE9wZXJhdGlv bgorID09PT09PT09PT09PT09PT0KKyAKKy1HaXZlbiBhbGwgdGhlIGNvZGUgdGhhdCBjb3VsZCBi ZSBydW4gYnkgKmJlaGF2ZSosIHRoaXMgaXMgdGhlIG9yZGVyIGluCistd2hpY2ggdGhhdCBjb2Rl IGlzIGludm9rZWQgKGlmIHRoZXkgZXhpc3QuKQorK1RoZSBleGVjdXRpb24gb2YgY29kZSBpcyBi YXNlZCBvbiB0aGUgR2hlcmtpbiBkZXNjcmlwdGlvbiBpbiBgKi5mZWF0dXJlYCBmaWxlcy4KKytU aGUgZm9sbG93aW5nIHNlY3Rpb24gcHJvdmlkZXMgYSBzaG9ydCBvdmVydmlldyBvZiB0aGUgaGll cmFyY2hpY2FsIGNvbnRhaW5tZW50CisrdGhhdCBpcyBwb3NzaWJsZSBpbiB0aGUgR2hlcmtpbiBn cmFtbWVyOgorIAorIC4uIHBhcnNlZC1saXRlcmFsOjoKKyAKKy0gICAgYmVmb3JlX2FsbAorLSAg ICBmb3IgZmVhdHVyZSBpbiBhbGxfZmVhdHVyZXM6CistICAgICAgICBiZWZvcmVfZmVhdHVyZQor LSAgICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1cmUuc2NlbmFyaW9zOgorLSAgICAgICAgICAg IGJlZm9yZV9zY2VuYXJpbworLSAgICAgICAgICAgIGZvciBzdGVwIGluIHNjZW5hcmlvLnN0ZXBz OgorLSAgICAgICAgICAgICAgICBiZWZvcmVfc3RlcAorLSAgICAgICAgICAgICAgICAgICAgc3Rl cC5ydW4oKQorLSAgICAgICAgICAgICAgICBhZnRlcl9zdGVwCistICAgICAgICAgICAgYWZ0ZXJf c2NlbmFyaW8KKy0gICAgICAgIGFmdGVyX2ZlYXR1cmUKKy0gICAgYWZ0ZXJfYWxsCisrICAgICMg LS0gU0lNUExJRklFRCBHSEVSS0lOIEdSQU1NQVIgKGZvciBHaGVya2luIHY2KToKKysgICAgIyBD QVJESU5BTElUWSBERUNPUkFUT1I6ICcqJyBtZWFucyAwLi5OIChtYW55KSwgJz8nIG1lYW5zIDAu LjEgKG9wdGlvbmFsKQorKyAgICAjIEVYQU1QTEU6IEZlYXR1cmUKKysgICAgIyAgIEEgRmVhdHVy ZSBjYW4gaGF2ZSBtYW55IFRhZ3MgKGFzIFRhZ2dhYmxlU3RhdGVtZW50OiB6ZXJvIG9yIG1vcmUg dGFncyBiZWZvcmUgaXRzIGtleXdvcmQpLgorKyAgICAjICAgQSBGZWF0dXJlIGNhbiBoYXZlIGFu IG9wdGlvbmFsIEJhY2tncm91bmQuCisrICAgICMgICBBIEZlYXR1cmUgY2FuIGhhdmUgbWFueSBT Y2VuYXJpbyhzKSwgbWVhbmluZyB6ZXJvIG9yIG1vcmUgU2NlbmFyaW9zLgorKyAgICAjICAgQSBG ZWF0dXJlIGNhbiBoYXZlIG1hbnkgU2NlbmFyaW9PdXRsaW5lKHMpLgorKyAgICAjICAgQSBGZWF0 dXJlIGNhbiBoYXZlIG1hbnkgUnVsZShzKS4KKysgICAgRmVhdHVyZShUYWdnYWJsZVN0YXRlbWVu dCk6CisrICAgICAgICBCYWNrZ3JvdW5kPworKyAgICAgICAgU2NlbmFyaW8qCisrICAgICAgICBT Y2VuYXJpb091dGxpbmUqCisrICAgICAgICBSdWxlKgorKworKyAgICBCYWNrZ3JvdW5kOgorKyAg ICAgICAgU3RlcCogICAgICAgICAgICMgQmFja2dyb3VuZCBzdGVwcyBhcmUgaW5qZWN0ZWQgaW50 byBhbnkgU2NlbmFyaW8gb2YgaXRzIHNjb3BlLgorKworKyAgICBTY2VuYXJpbyhUYWdnYWJsZVN0 YXRlbWVudCk6CisrICAgICAgICBTdGVwKgorIAorLUlmIHRoZSBmZWF0dXJlIGNvbnRhaW5zIHNj ZW5hcmlvIG91dGxpbmVzIHRoZW4gdGhlcmUgaXMgYW4gYWRkaXRpb25hbCBsb29wCistb3ZlciBh bGwgdGhlIHNjZW5hcmlvcyBpbiB0aGUgb3V0bGluZSBtYWtpbmcgdGhlIHJ1bm5pbmcgbG9vayBs aWtlIHRoaXM6CisrICAgIFNjZW5hcmlvT3V0bGluZShTY2VuYXJpb1RlbXBsYXRlV2l0aFBsYWNl aG9sZGVycyk6CisrICAgICAgICBTY2VuYXJpbyogICAgICAgIyBSZW5kZXJlZCBUZW1wbGF0ZSBi eSB1c2luZyBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMucm93cyBwbGFjZWhvbGRlciB2YWx1ZXMu CisrCisrICAgIFJ1bGUoVGFnZ2FibGVTdGF0ZW1lbnQpOgorKyAgICAgICAgQmFja2dyb3VuZD8g ICAgICMgQmVoYXZlLXNwZWNpZmljIGV4dGVuc2lvbiAoYWZ0ZXIgcmVtb3ZhbCBmcm9tIGZpbmFs IEdoZXJraW4gdjYpLgorKyAgICAgICAgU2NlbmFyaW8qCisrICAgICAgICBTY2VuYXJpb091dGxp bmUqCisrCisrCisrR2l2ZW4gYWxsIHRoZSBjb2RlIHRoYXQgY291bGQgYmUgcnVuIGJ5ICpiZWhh dmUqLAorK3RoaXMgaXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoYXQgY29kZSBpcyBpbnZva2VkIChp ZiB0aGV5IGV4aXN0LikKKyAKKyAuLiBwYXJzZWQtbGl0ZXJhbDo6CisgCistICAgIGJlZm9yZV9h bGwKKysgICAgIyAtLSBQU0VVRE8tQ09ERToKKysgICAgIyBIT09LOiBiZWZvcmVfdGFnKCksIGFm dGVyX3RhZygpIGlzIGNhbGxlZCBmb3IgRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW8KKysgICAgY3R4 ID0gY3JlYXRlQ29udGV4dCgpCisrICAgIGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfYWxsKGN0 eCkKKyAgICAgZm9yIGZlYXR1cmUgaW4gYWxsX2ZlYXR1cmVzOgorLSAgICAgICAgYmVmb3JlX2Zl YXR1cmUKKy0gICAgICAgIGZvciBvdXRsaW5lIGluIGZlYXR1cmUuc2NlbmFyaW9zOgorLSAgICAg ICAgICAgIGZvciBzY2VuYXJpbyBpbiBvdXRsaW5lLnNjZW5hcmlvczoKKy0gICAgICAgICAgICAg ICAgYmVmb3JlX3NjZW5hcmlvCistICAgICAgICAgICAgICAgIGZvciBzdGVwIGluIHNjZW5hcmlv LnN0ZXBzOgorLSAgICAgICAgICAgICAgICAgICAgYmVmb3JlX3N0ZXAKKy0gICAgICAgICAgICAg ICAgICAgICAgICBzdGVwLnJ1bigpCistICAgICAgICAgICAgICAgICAgICBhZnRlcl9zdGVwCist ICAgICAgICAgICAgICAgIGFmdGVyX3NjZW5hcmlvCistICAgICAgICBhZnRlcl9mZWF0dXJlCist ICAgIGFmdGVyX2FsbAorKyAgICAgICAgZm9yIHRhZyBpbiBmZWF0dXJlLnRhZ3M6IGNhbGwtb3B0 aW9uYWwtaG9vayBiZWZvcmVfdGFnKGN0eCwgdGFnKQorKyAgICAgICAgY2FsbC1vcHRpb25hbC1o b29rIGJlZm9yZV9mZWF0dXJlKGN0eCwgZmVhdHVyZSkKKysgICAgICAgIGZvciBydW5faXRlbSBp biBmZWF0dXJlLnJ1bl9pdGVtczogICMgQ0FOIEJFOiBSdWxlLCBTY2VuYXJpbywgU2NlbmFyaW9P dXRsaW5lCisrICAgICAgICAgICAgZXhlY3V0ZV9ydW5faXRlbShjdHgsIHJ1bl9pdGVtKQorKyAg ICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGFmdGVyX2ZlYXR1cmUoY3R4LCBmZWF0dXJlKQorKyAg ICAgICAgZm9yIHRhZyBpbiBmZWF0dXJlLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl90 YWcoY3R4LCB0YWcpCisrICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9hbGwoY3R4KQorKwor KyAgICBmdW5jdGlvbiBleGVjdXRlX3J1bl9pdGVtKHJ1bl9pdGVtLCBjdHgpOgorKyAgICAgICAg aWYgcnVuX2l0ZW0gaXNhIFJ1bGU6CisrICAgICAgICAgICAgIyAtLSBDQVNFOiBSdWxlCisrICAg ICAgICAgICAgcnVsZSA9IHJ1bl9pdGVtCisrICAgICAgICAgICAgZm9yIHRhZyBpbiBydWxlLnRh Z3M6IGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfdGFnKGN0eCwgdGFnKQorKyAgICAgICAgICAg IGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfcnVsZShjdHgsIHJ1bGUpCisrICAgICAgICAgICAg Zm9yIHJ1bl9pdGVtIGluIHJ1bGUucnVuX2l0ZW1zOiAgICAgIyBDQU4gQkU6IFNjZW5hcmlvLCBT Y2VuYXJpb091dGxpbmUKKysgICAgICAgICAgICAgICAgZXhlY3V0ZV9ydW5faXRlbShydW5faXRl bSwgY3R4KQorKyAgICAgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9ydWxlKGN0eCwg cnVsZSkKKysgICAgICAgICAgICBmb3IgdGFnIGluIHJ1bGUudGFnczogY2FsbC1vcHRpb25hbC1o b29rIGFmdGVyX3RhZyhjdHgsIHRhZykKKysgICAgICAgIGVsc2UgaWYgcnVuX2l0ZW0gaXNhIFNj ZW5hcmlvT3V0bGluZToKKysgICAgICAgICAgICAjIC0tIENBU0U6IFNjZW5hcmlvT3V0bGluZQor KyAgICAgICAgICAgICMgSElOVDogQWxsIFNjZW5hcmlvcyBhcmUgYWxyZWFkeSBjcmVhdGVkIGZy b20gRXhhbXBsZShzKSByb3dzLgorKyAgICAgICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBydW5f aXRlbQorKyAgICAgICAgICAgIGZvciBzY2VuYXJpbyBpbiBzY2VuYXJpb19vdXRsaW5lLnNjZW5h cmlvczoKKysgICAgICAgICAgICAgICAgZXhlY3V0ZV9ydW5faXRlbShzY2VuYXJpbywgY3R4KQor KyAgICAgICAgZWxzZSBpZiBydW5faXRlbSBpc2EgU2NlbmFyaW86CisrICAgICAgICAgICAgIyAt LSBDQVNFOiBTY2VuYXJpbworKyAgICAgICAgICAgICMgSElOVDogQmFja2dyb3VuZCBzdGVwcyBh cmUgaW5qZWN0ZWQgYmVmb3JlIHNjZW5hcmlvIHN0ZXBzLgorKyAgICAgICAgICAgIHNjZW5hcmlv ID0gcnVuX2l0ZW0KKysgICAgICAgICAgICBmb3IgdGFnIGluIHNjZW5hcmlvLnRhZ3M6IGNhbGwt b3B0aW9uYWwtaG9vayBiZWZvcmVfdGFnKGN0eCwgdGFnKQorKyAgICAgICAgICAgIGNhbGwtb3B0 aW9uYWwtaG9vayBiZWZvcmVfc2NlbmFyaW8oY3R4LCBzY2VuYXJpbykKKysgICAgICAgICAgICBm b3Igc3RlcCBpbiBzY2VuYXJpby5zdGVwczoKKysgICAgICAgICAgICAgICAgY2FsbC1vcHRpb25h bC1ob29rIGJlZm9yZV9zdGVwKGN0eCwgc3RlcCkKKysgICAgICAgICAgICAgICAgc3RlcC5ydW4o Y3R4KQorKyAgICAgICAgICAgICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfc3RlcChjdHgs IHN0ZXApCisrICAgICAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGFmdGVyX3NjZW5hcmlvKGN0 eCwgc2NlbmFyaW8pCisrICAgICAgICAgICAgZm9yIHRhZyBpbiBzY2VuYXJpby50YWdzOiBjYWxs LW9wdGlvbmFsLWhvb2sgYWZ0ZXJfdGFnKGN0eCwgdGFnKQorIAorIAorIE1vZGVsIE9iamVjdHMK K0BAIC0zOTcsNiArNDUwLDggQEAgYmU6CisgCisgLi4gYXV0b2NsYXNzOjogYmVoYXZlLm1vZGVs LkZlYXR1cmUKKyAKKysuLiBhdXRvY2xhc3M6OiBiZWhhdmUubW9kZWwuUnVsZQorKworIC4uIGF1 dG9jbGFzczo6IGJlaGF2ZS5tb2RlbC5CYWNrZ3JvdW5kCisgCisgLi4gYXV0b2NsYXNzOjogYmVo YXZlLm1vZGVsLlNjZW5hcmlvCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25z LXR5cG8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zY2EyMDg5ZGMKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2gKQEAgLTAsMCArMSwyMiBA QAorRnJvbSA0YjkwNzU5OTZlNjJjNGU1N2VlZDkzMDQxODc5ZDc0MDMzYzgyNTc5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBNb24sIDEzIEFwciAyMDIwIDEwOjM4OjE3ICswMjAwCitTdWJqZWN0 OiBbUEFUQ0hdIEZJWCBET0NTOiBSdW5uZXIgb3BlcmF0aW9ucyB0eXBvLgorCistLS0KKyBkb2Nz L2FwaS5yc3QgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2FwaS5yc3QgYi9kb2NzL2FwaS5yc3QKK2luZGV4 IDM5ZmE3NTUuLjQ3NjNhZDYgMTAwNjQ0CistLS0gYS9kb2NzL2FwaS5yc3QKKysrKyBiL2RvY3Mv YXBpLnJzdAorQEAgLTM2Nyw3ICszNjcsNyBAQCB0aGlzIGlzIHRoZSBvcmRlciBpbiB3aGljaCB0 aGF0IGNvZGUgaXMgaW52b2tlZCAoaWYgdGhleSBleGlzdC4pCisgICAgICAgICBmb3IgdGFnIGlu IGZlYXR1cmUudGFnczogY2FsbC1vcHRpb25hbC1ob29rIGJlZm9yZV90YWcoY3R4LCB0YWcpCisg ICAgICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX2ZlYXR1cmUoY3R4LCBmZWF0dXJlKQor ICAgICAgICAgZm9yIHJ1bl9pdGVtIGluIGZlYXR1cmUucnVuX2l0ZW1zOiAgIyBDQU4gQkU6IFJ1 bGUsIFNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUKKy0gICAgICAgICAgICBleGVjdXRlX3J1bl9p dGVtKGN0eCwgcnVuX2l0ZW0pCisrICAgICAgICAgICAgZXhlY3V0ZV9ydW5faXRlbShydW5faXRl bSwgY3R4KQorICAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGFmdGVyX2ZlYXR1cmUoY3R4LCBm ZWF0dXJlKQorICAgICAgICAgZm9yIHRhZyBpbiBmZWF0dXJlLnRhZ3M6IGNhbGwtb3B0aW9uYWwt aG9vayBhZnRlcl90YWcoY3R4LCB0YWcpCisgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9h bGwoY3R4KQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xl YW51cC13aXRoLWxheWVyLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRf Y2xlYW51cC13aXRoLWxheWVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uNzlmMGM3NGUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03NDAtRW5oYW5jZW1lbnQt Q29udGV4dC5hZGRfY2xlYW51cC13aXRoLWxheWVyLnBhdGNoCkBAIC0wLDAgKzEsMjk1IEBACitG cm9tIGYzOWFjNzA3ODcyNTVjZTNhMGUyNTY3NTM1YzRiOTBmMGUxYzhlMjcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IFdlZCwgMjMgU2VwIDIwMjAgMjM6MjI6NDUgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSF0gaXNzdWUgIzc0MDogRW5oYW5jZW1lbnQ6IENvbnRleHQuYWRkX2NsZWFudXAoKSB3aXRo CisgbGF5ZXItbmFtZQorCitDb250ZXh0LmFkZF9jbGVhbnVwKCkgY2FuIGNob29zZSB3aGljaCBj bGVhbnVwIGxheWVyIHRvIHVzZSAob3V0ZXIgbGF5ZXIpLgorVGhpcyBwcm92aWRlcyB0aGUgcG9z c2liaWxpdHkgdGhhdCBhIGNsZWFudXAtZnVuY2lvbiwgcmVnaXN0ZXJlZCB3aXRoCitDb250ZXh0 LmFkZF9jbGVhbnVwKGNsZWFudXBfZnVuYywgLi4uKSB0byBiZSBjYWxsZWQgdXBvbiBsZWF2aW5n Cit0aGUgb3V0ZXIgY29udGV4dCBzdGFjayBmcmFtZXMuCisKK1N1Ym1pdHRlZCBieTogbml6d2l6 CitSZXF1ZXN0ZWQgYnk6IGRjdm1vb2xlCistLS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA3ICsrKworIGJlaGF2ZS9tb2RlbC5weSAgICAgICAgICAgICAgICAgICAg IHwgIDQgKy0KKyBiZWhhdmUvcnVubmVyLnB5ICAgICAgICAgICAgICAgICAgICB8IDQ1ICsrKysr KysrKysrKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5IHwgODYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRp b25zKCspLCAxMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hB TkdFUy5yc3QKK2luZGV4IGQwYmY2ZmQuLmQ3NTgzNjQgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJz dAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0yOCw2ICsyOCw3IEBAIEVOSEFOQ0VNRU5UUzoKKyAq IFVzZSBjdWN1bWJlciAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgbm93IChzaW1wbGlmeTogR2hl cmtpbiB2NiBhbGlhc2VzLCBsYW5ndWFnZSB1c2FnZSkKKyAqIFN1cHBvcnQgZW1vamlzIGluIGBg Ki5mZWF0dXJlYGAgZmlsZXMgYW5kIHN0ZXBzCisgKiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBz dXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVyIiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9P dXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKysqIGlzc3VlICM3NDA6IEVuaGFuY2VtZW50OiBw b3NzaWJpbGl0eSB0byBhZGQgY2xlYW51cCB0byBiZSBjYWxsZWQgdXBvbiBsZWF2aW5nIG91dGVy IGNvbnRleHQgc3RhY2sgZnJhbWVzIChzdWJtaXR0ZWQgYnk6IG5pendpeiwgZGN2bW9vbGUpCisg KiBpc3N1ZSAjNjc4OiBTY2VuYXJpbyBPdXRsaW5lOiBTdXBwb3J0IHRhZ3Mgd2l0aCBjb21tYXMg YW5kIHNlbWljb2xvbnMgKHByb3ZpZGVkIGJ5OiBsYXdubW93ZXJsYXR0ZSwgcHVsbCAjNjc5KQor ICogaXNzdWUgIzY3NTogRmVhdHVyZSBmaWxlcyBjYW5ub3QgYmUgZm91bmQgd2l0aGluIHN5bWxp bmsgZGlyZWN0b3JpZXMgKHByb3ZpZGVkIGJ5OiBzbWFkbmVzcywgcHVsbCAjNjgwKQorIAorQEAg LTY1LDYgKzY2LDEyIEBAIERPQ1VNRU5UQVRJT046CisgKiBwdWxsICAjNjg0OiBGaXggdHlwbyBp biAiaW5zdGFsbC5yc3QiIChwcm92aWRlZCBieTogbXN0cmVkKQorICogcHVsbCAgIzYyODogQ2hh bmdlZCBweXRob25ob3N0ZWQub3JnIGxpbmtzIHRvIHJlYWR0aGVkb2NzLmlvIChwcm92aWRlZCBi eTogY2hyaXNicmFrZSkKKyAKKytCUkVBS0lORyBDSEFOR0VTIChuYW1pbmcpOgorKworKyogYmVo YXZlLnJ1bm5lci5Db250ZXh0Ll9wdXNoKGxheWVyPU5vbmUpOiBXYXMgQ29udGV4dC5fcHVzaChs YXllcl9uYW1lPU5vbmUpCisrKiBiZWhhdmUucnVubmVyLnNjb3BlZF9jb250ZXh0X2xheWVyKGNv bnRleHQsIGxheWVyPU5vbmUpOgorKyAgV2FzIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQu bGF5ZXJfbmFtZT1Ob25lKQorKworIAorIC4uIF9gY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zYDog aHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L2N1Y3VtYmVyLXRhZy1leHByZXNzaW9ucy8KKyAKK2Rp ZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkKK2luZGV4IGNiNjlm OWUuLmYxZWM3MjUgMTAwNjQ0CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9t b2RlbC5weQorQEAgLTM2Myw3ICszNjMsNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdB bmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgaG9va19iZWZvcmVfZW50 aXR5ID0gImJlZm9yZV97MH0iLmZvcm1hdChlbnRpdHlfbmFtZSkKKyAgICAgICAgIGhvb2tfYWZ0 ZXJfZW50aXR5ID0gImFmdGVyX3swfSIuZm9ybWF0KGVudGl0eV9uYW1lKQorIAorLSAgICAgICAg cnVubmVyLmNvbnRleHQuX3B1c2gobGF5ZXJfbmFtZT1lbnRpdHlfbmFtZSkgICAgICAjIHB5bGlu dDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAgICAgICBydW5uZXIuY29udGV4dC5fcHVz aChsYXllcj1lbnRpdHlfbmFtZSkgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNj ZXNzCisgICAgICAgICBydW5uZXIuY29udGV4dC50YWdzID0gc2V0KHNlbGYudGFncykKKyAgICAg ICAgIHNlbGYuX3NldHVwX2NvbnRleHRfZm9yX3J1bihydW5uZXIuY29udGV4dCkKKyAKK0BAIC0x MTM2LDcgKzExMzYsNyBAQCBjbGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJl cGxheWFibGUpOgorICAgICAgICAgZHJ5X3J1bl9zY2VuYXJpbyA9IHJ1bl9zY2VuYXJpbyBhbmQg cnVubmVyLmNvbmZpZy5kcnlfcnVuCisgICAgICAgICBzZWxmLndhc19kcnlfcnVuID0gZHJ5X3J1 bl9zY2VuYXJpbworIAorLSAgICAgICAgcnVubmVyLmNvbnRleHQuX3B1c2gobGF5ZXJfbmFtZT0i c2NlbmFyaW8iKSAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKysgICAg ICAgIHJ1bm5lci5jb250ZXh0Ll9wdXNoKGxheWVyPSJzY2VuYXJpbyIpICAgICAgIyBweWxpbnQ6 IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworICAgICAgICAgcnVubmVyLmNvbnRleHQuc2NlbmFy aW8gPSBzZWxmCisgICAgICAgICBydW5uZXIuY29udGV4dC50YWdzID0gc2V0KHNlbGYuZWZmZWN0 aXZlX3RhZ3MpCisgCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lci5weSBiL2JlaGF2ZS9ydW5u ZXIucHkKK2luZGV4IDZiMjA5MzcuLmQwMWJmZjAgMTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVy LnB5CisrKysgYi9iZWhhdmUvcnVubmVyLnB5CitAQCAtMTQ1LDcgKzE0NSw3IEBAIGNsYXNzIENv bnRleHQob2JqZWN0KToKKyAgICAgdHJpZXMgdG8gb3ZlcndyaXRlIGEgdXNlci1zZXQgdmFyaWFi bGUuCisgCisgICAgIFlvdSBtYXkgdXNlIHRoZSAiaW4iIG9wZXJhdG9yIHRvIHRlc3Qgd2hldGhl ciBhIGNlcnRhaW4gdmFsdWUgaGFzIGJlZW4gc2V0CistICAgIG9uIHRoZSBjb250ZXh0LCBmb3Ig ZXhhbXBsZToKKysgICAgb24gdGhlIGNvbnRleHQsIGZvciBleGFtcGxlOjoKKyAKKyAgICAgICAg ICJmZWF0dXJlIiBpbiBjb250ZXh0CisgCitAQCAtMTU4LDYgKzE1OCw3IEBAIGNsYXNzIENvbnRl eHQob2JqZWN0KToKKyAgICAgLi4gX2Bjb25maWd1cmF0aW9uIGZpbGUgc2VjdGlvbiBuYW1lc2A6 IGJlaGF2ZS5odG1sI2NvbmZpZ3VyYXRpb24tZmlsZXMKKyAgICAgIiIiCisgICAgICMgcHlsaW50 OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0ZXMKKysgICAgTEFZRVJfTkFNRVMg PSBbInRlc3RydW4iLCAiZmVhdHVyZSIsICJydWxlIiwgInNjZW5hcmlvIl0KKyAgICAgRkFJTF9P Tl9DTEVBTlVQX0VSUk9SUyA9IFRydWUKKyAKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJ1bm5l cik6CitAQCAtMjQ1LDE2ICsyNDYsMTUgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAg ICAgICAgIGRlbCBjbGVhbnVwX2Vycm9ycyAgIyAtLSBFTlNVUkU6IFJlbGVhc2Ugb3RoZXIgZXhj ZXB0aW9uIGZyYW1lcy4KKyAgICAgICAgICAgICBzaXgucmVyYWlzZSgqZmlyc3RfY2xlYW51cF9l cnJvX2luZm8pCisgCistCistICAgIGRlZiBfcHVzaChzZWxmLCBsYXllcl9uYW1lPU5vbmUpOgor KyAgICBkZWYgX3B1c2goc2VsZiwgbGF5ZXI9Tm9uZSk6CisgICAgICAgICAiIiJQdXNoIGEgbmV3 IGxheWVyIG9uIHRoZSBjb250ZXh0IHN0YWNrLgorLSAgICAgICAgSElOVDogVXNlIGxheWVyX25h bWUgdmFsdWVzOiAic2NlbmFyaW8iLCAiZmVhdHVyZSIsICJ0ZXN0cnVuIi4KKysgICAgICAgIEhJ TlQ6IFVzZSBsYXllciB2YWx1ZXM6ICJ0ZXN0cnVuIiwgImZlYXR1cmUiLCAicnVsZSwgInNjZW5h cmlvIi4KKyAKKy0gICAgICAgIDpwYXJhbSBsYXllcl9uYW1lOiAgIExheWVyIG5hbWUgdG8gdXNl IChvciBOb25lKS4KKysgICAgICAgIDpwYXJhbSBsYXllcjogICBMYXllciBuYW1lIHRvIHVzZSAo b3IgTm9uZSkuCisgICAgICAgICAiIiIKKyAgICAgICAgIGluaXRpYWxfZGF0YSA9IHsiQGNsZWFu dXBzIjogW119CistICAgICAgICBpZiBsYXllcl9uYW1lOgorLSAgICAgICAgICAgIGluaXRpYWxf ZGF0YVsiQGxheWVyIl0gPSBsYXllcl9uYW1lCisrICAgICAgICBpZiBsYXllcjoKKysgICAgICAg ICAgICBpbml0aWFsX2RhdGFbIkBsYXllciJdID0gbGF5ZXIKKyAgICAgICAgIHNlbGYuX3N0YWNr Lmluc2VydCgwLCBpbml0aWFsX2RhdGEpCisgCisgICAgIGRlZiBfcG9wKHNlbGYpOgorQEAgLTQy Niw2ICs0MjYsMjAgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAgICAgICAgIHNlbGYu dGV4dCA9IG9yaWdpbmFsX3RleHQKKyAgICAgICAgIHJldHVybiBUcnVlCisgCisrICAgIGRlZiBf c2VsZWN0X3N0YWNrX2ZyYW1lX2J5X2xheWVyKHNlbGYsIGxheWVyKToKKysgICAgICAgICIiIlNl bGVjdCBjb250ZXh0IHN0YWNrIGZyYW1lIGJ5IGxheWVyIG5hbWUuCisrCisrICAgICAgICA6cGFy YW0gbGF5ZXI6ICAgTGF5ZXIgbmFtZSAoYXMgc3RyaW5nKS4KKysgICAgICAgIDpyZXR1cm46IFNl bGVjdGVkIGZyYW1lIG9iamVjdCAoaWYgYW55KQorKyAgICAgICAgOnJhaXNlczogTG9va3VwRXJy b3IsIGlmIGxheWVyIHdhcyBub3QgZm91bmQuCisrICAgICAgICAiIiIKKysgICAgICAgIGZvciBm cmFtZSBpbiBzZWxmLl9zdGFjazoKKysgICAgICAgICAgICBmcmFtZV9sYXllciA9IGZyYW1lLmdl dCgiQGxheWVyIiwgTm9uZSkKKysgICAgICAgICAgICBpZiBsYXllciA9PSBmcmFtZV9sYXllcjoK KysgICAgICAgICAgICAgICAgcmV0dXJuIGZyYW1lCisrICAgICAgICAjIC0tIE9PUFMsIE5PVCBG T1VORDoKKysgICAgICAgIHJhaXNlIExvb2t1cEVycm9yKCJDb250ZXh0LnN0YWNrOiBsYXllcj0l cyBub3QgZm91bmQiICUgbGF5ZXIpCisrCisgICAgIGRlZiBhZGRfY2xlYW51cChzZWxmLCBjbGVh bnVwX2Z1bmMsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAiIiJBZGRzIGEgY2xlYW51cCBm dW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIDptZXRoOmBDb250ZXh0Ll9wb3AoKWAKKyAgICAg ICAgIGlzIGNhbGxlZC4gVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlci1jbGVhbnVwcy4KK0BAIC00 MzMsMTAgKzQ0NywyMSBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgICAgICA6cGFyYW0g Y2xlYW51cF9mdW5jOiAgICBDYWxsYWJsZSBmdW5jdGlvbgorICAgICAgICAgOnBhcmFtIGFyZ3M6 ICAgICAgICAgICAgQXJncyBmb3IgY2xlYW51cF9mdW5jKCkgY2FsbCAob3B0aW9uYWwpLgorICAg ICAgICAgOnBhcmFtIGt3YXJnczogICAgICAgICAgS3dhcmdzIGZvciBjbGVhbnVwX2Z1bmMoKSBj YWxsIChvcHRpb25hbCkuCisrCisrICAgICAgICAuLiBub3RlOjogUkVTRVJWRUQgOm9iajpgbGF5 ZXJgIDogb3B0aW9uYWwtc3RyaW5nCisrCisrICAgICAgICAgICAgVGhlIGtleXdvcmQgYXJndW1l bnQgYGBsYXllcj0iTEFZRVJfTkFNRSJgYCBjYW4gdG8gYmUgdXNlZCB0bworKyAgICAgICAgICAg IGFzc2lnbiB0aGUgOm9iajpgY2xlYW51cF9mdW5jYCB0byBzcGVjaWZpYyBhIGxheWVyIG9uIHRo ZSBjb250ZXh0IHN0YWNrCisrICAgICAgICAgICAgKGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgbGF5 ZXIpLgorKworKyAgICAgICAgICAgIEtub3duIGxheWVyIG5hbWVzIGFyZTogInRlc3RydW4iLCAi ZmVhdHVyZSIsICJydWxlIiwgInNjZW5hcmlvIgorKworKyAgICAgICAgLi4gc2VlYWxzbzo6IDph dHRyOmAuQ29udGV4dC5MQVlFUl9OQU1FU2AKKyAgICAgICAgICIiIgorICAgICAgICAgIyBNQVlC RToKKyAgICAgICAgIGFzc2VydCBjYWxsYWJsZShjbGVhbnVwX2Z1bmMpLCAiUkVRVUlSRVM6IGNh bGxhYmxlKGNsZWFudXBfZnVuYykiCisgICAgICAgICBhc3NlcnQgc2VsZi5fc3RhY2sKKysgICAg ICAgIGxheWVyID0ga3dhcmdzLnBvcCgibGF5ZXIiLCBOb25lKQorICAgICAgICAgaWYgYXJncyBv ciBrd2FyZ3M6CisgICAgICAgICAgICAgZGVmIGludGVybmFsX2NsZWFudXBfZnVuYygpOgorICAg ICAgICAgICAgICAgICBjbGVhbnVwX2Z1bmMoKmFyZ3MsICoqa3dhcmdzKQorQEAgLTQ0NCw2ICs0 NjksOCBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgICAgICAgICAgaW50ZXJuYWxfY2xl YW51cF9mdW5jID0gY2xlYW51cF9mdW5jCisgCisgICAgICAgICBjdXJyZW50X2ZyYW1lID0gc2Vs Zi5fc3RhY2tbMF0KKysgICAgICAgIGlmIGxheWVyOgorKyAgICAgICAgICAgIGN1cnJlbnRfZnJh bWUgPSBzZWxmLl9zZWxlY3Rfc3RhY2tfZnJhbWVfYnlfbGF5ZXIobGF5ZXIpCisgICAgICAgICBp ZiBjbGVhbnVwX2Z1bmMgbm90IGluIGN1cnJlbnRfZnJhbWVbIkBjbGVhbnVwcyJdOgorICAgICAg ICAgICAgICMgLS0gQVZPSUQgRFVQTElDQVRFUzoKKyAgICAgICAgICAgICBjdXJyZW50X2ZyYW1l WyJAY2xlYW51cHMiXS5hcHBlbmQoaW50ZXJuYWxfY2xlYW51cF9mdW5jKQorQEAgLTQ3Nyw3ICs1 MDQsNyBAQCBkZWYgdXNlX2NvbnRleHRfd2l0aF9tb2RlKGNvbnRleHQsIG1vZGUpOgorIAorIAor IEBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCistZGVmIHNjb3BlZF9jb250ZXh0X2xheWVyKGNv bnRleHQsIGxheWVyX25hbWU9Tm9uZSk6CisrZGVmIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRl eHQsIGxheWVyPU5vbmUpOgorICAgICAiIiJQcm92aWRlcyBjb250ZXh0IG1hbmFnZXIgZm9yIGNv bnRleHQgbGF5ZXIgKHB1c2gvZG8tc29tZXRoaW5nL3BvcCBjeWNsZSkuCisgCisgICAgIC4uIGNv ZGUtYmxvY2s6OgorQEAgLTQ4Nyw3ICs1MTQsNyBAQCBkZWYgc2NvcGVkX2NvbnRleHRfbGF5ZXIo Y29udGV4dCwgbGF5ZXJfbmFtZT1Ob25lKToKKyAgICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNh YmxlPXByb3RlY3RlZC1hY2Nlc3MKKyAgICAgdHJ5OgorLSAgICAgICAgY29udGV4dC5fcHVzaChs YXllcl9uYW1lKQorKyAgICAgICAgY29udGV4dC5fcHVzaChsYXllcikKKyAgICAgICAgIHlpZWxk IGNvbnRleHQKKyAgICAgZmluYWxseToKKyAgICAgICAgIGNvbnRleHQuX3BvcCgpCitkaWZmIC0t Z2l0IGEvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkgYi90ZXN0cy91bml0L3Rl c3RfY29udGV4dF9jbGVhbnVwcy5weQoraW5kZXggYmYwYWI1MC4uYzMyYzU3MiAxMDA2NDQKKy0t LSBhL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5CisrKysgYi90ZXN0cy91bml0 L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weQorQEAgLTIzLDYgKzIzLDkgQEAgaW1wb3J0IHB5dGVz dAorIGRlZiBjbGVhbnVwX2Z1bmMoKToKKyAgICAgcGFzcworIAorK2RlZiBjbGVhbnVwX2Z1bmNf d2l0aF9hcmdzKCphcmdzLCAqKmt3YXJncyk6CisrICAgIHBhc3MKKysKKyBjbGFzcyBDbGVhbnVw RnVuY3Rpb24ob2JqZWN0KToKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWU9IkNMRUFOVVAt RlVOQyIsIGxpc3RlbmVyPU5vbmUpOgorICAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorQEAgLTQy LDcgKzQ1LDYgQEAgY2xhc3MgQ2FsbExpc3RlbmVyKG9iamVjdCk6CisgICAgICAgICBzZWxmLmNv bGxlY3RlZC5hcHBlbmQobWVzc2FnZSkKKyAKKyAKKy0KKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICMgVEVTVFM6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC0xNDUsNiArMTQ3LDI0 IEBAIGNsYXNzIFRlc3RDb250ZXh0Q2xlYW51cChvYmplY3QpOgorICAgICAgICAgbXlfY2xlYW51 cF9CMk0uYXNzZXJ0X2NhbGxlZF9vbmNlKCkKKyAgICAgICAgIG15X2NsZWFudXBfQjNNLmFzc2Vy dF9jYWxsZWRfb25jZSgpCisgCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfYXJncyhz ZWxmKToKKysgICAgICAgIG15X2NsZWFudXAgPSBNb2NrKHNwZWM9Y2xlYW51cF9mdW5jX3dpdGhf YXJncykKKysgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAg ICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQpOgorKyAgICAgICAgICAgIGNvbnRl eHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgMSwgMiwgMykKKysgICAgICAgICAgICBteV9jbGVh bnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5f cG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSwgMiwg MykKKysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0aF9hcmdzX2FuZF9rd2FyZ3Moc2Vs Zik6CisrICAgICAgICBteV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFudXBfZnVuY193aXRoX2Fy Z3MpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAg d2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0KToKKysgICAgICAgICAgICBjb250ZXh0 LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIDEsIDIsIDMsIG5hbWU9ImFsaWNlIikKKysgICAgICAg ICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAgICMgQ0FMTFMtSEVS RTogY29udGV4dC5fcG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNl X3dpdGgoMSwgMiwgMywgbmFtZT0iYWxpY2UiKQorKworICAgICBkZWYgdGVzdF9hZGRfY2xlYW51 cF9fcmVqZWN0c19ub25jYWxsYWJsZV9jbGVhbnVwX2Z1bmMoc2VsZik6CisgICAgICAgICBjbGFz cyBOb25DYWxsYWJsZShvYmplY3QpOiBwYXNzCisgICAgICAgICBub25fY2FsbGFibGUgPSBOb25D YWxsYWJsZSgpCitAQCAtMjE4LDMgKzIzOCw2NyBAQCBjbGFzcyBUZXN0Q29udGV4dENsZWFudXAo b2JqZWN0KToKKyAgICAgICAgIGFzc2VydCBjb2xsZWN0X2NsZWFudXBfZXJyb3IuY29sbGVjdGVk WzBdWzotMV0gPT0gZXhwZWN0ZWRbMF1bOi0xXQorICAgICAgICAgYXNzZXJ0IGNvbGxlY3RfY2xl YW51cF9lcnJvci5jb2xsZWN0ZWRbMV1bOi0xXSA9PSBleHBlY3RlZFsxXVs6LTFdCisgCisrCisr Y2xhc3MgVGVzdENvbnRleHRDbGVhbnVwV2l0aExheWVyKG9iamVjdCk6CisrICAgICIiIlRlc3Rz IDptZXRoOmBiZWhhdmUucnVubmVyLkNvbnRleHQuYWRkX2NsZWFudXAoKWAKKysgICAgd2l0aCBs YXllciBwYXJhbWV0ZXIuCisrCisrICAgIDptZXRoOmBjbGVhbnVwX2Z1bmMoKWAgaXMgY2FsbGVk IHdoZW4gQ29udGV4dCBsYXllciBpcyByZW1vdmVkL3BvcHBlZC4KKysgICAgIiIiCisrCisrICAg IGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfa25vd25fbGF5ZXIoc2VsZik6CisrICAgICAgICBt eV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFudXBfZnVuYykKKysgICAgICAgIGNvbnRleHQgPSBD b250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVy KGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgorKyAgICAgICAgICAgIGNvbnRleHQuYWRkX2Ns ZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9InNjZW5hcmlvIikKKysgICAgICAgICAgICBteV9jbGVh bnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5f cG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNlKCkKKysKKysgICAg ZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0aF9rbm93bl9sYXllcl9hbmRfYXJncyhzZWxmKToKKysg ICAgICAgIG15X2NsZWFudXAgPSBNb2NrKHNwZWM9Y2xlYW51cF9mdW5jX3dpdGhfYXJncykKKysg ICAgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAgICB3aXRoIHNj b3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgorKyAgICAgICAg ICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgMSwgMiwgMywgbGF5ZXI9InNjZW5h cmlvIikKKysgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAg ICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNz ZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSwgMiwgMykKKysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFu dXBfd2l0aF9rbm93bl9sYXllcl9hbmRfa3dhcmdzKHNlbGYpOgorKyAgICAgICAgbXlfY2xlYW51 cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmNfd2l0aF9hcmdzKQorKyAgICAgICAgY29udGV4dCA9 IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5 ZXIoY29udGV4dCwgbGF5ZXI9InNjZW5hcmlvIik6CisrICAgICAgICAgICAgY29udGV4dC5hZGRf Y2xlYW51cChteV9jbGVhbnVwLCBsYXllcj0ic2NlbmFyaW8iLCBuYW1lPSJhbGljZSIpCisrICAg ICAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAgICAgICAjIENBTExT LUhFUkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRf b25jZV93aXRoKG5hbWU9ImFsaWNlIikKKysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0 aF9rbm93bl9kZWVwZXJfbGF5ZXIyKHNlbGYpOgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2so c3BlYz1jbGVhbnVwX2Z1bmMpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9j aygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0i ZmVhdHVyZSIpOgorKyAgICAgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4 dCwgbGF5ZXI9InNjZW5hcmlvIik6CisrICAgICAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFu dXAobXlfY2xlYW51cCwgbGF5ZXI9ImZlYXR1cmUiKQorKyAgICAgICAgICAgIG15X2NsZWFudXAu YXNzZXJ0X25vdF9jYWxsZWQoKQorKyAgICAgICAgIyBDQUxMUy1IRVJFOiBjb250ZXh0Ll9wb3Ao KQorKyAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfY2FsbGVkX29uY2UoKQorKworKyAgICBkZWYg dGVzdF9hZGRfY2xlYW51cF93aXRoX2tub3duX2RlZXBlcl9sYXllcjMoc2VsZik6CisrICAgICAg ICBteV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFudXBfZnVuYykKKysgICAgICAgIGNvbnRleHQg PSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xh eWVyKGNvbnRleHQsIGxheWVyPSJ0ZXN0cnVuIik6CisrICAgICAgICAgICAgd2l0aCBzY29wZWRf Y29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0iZmVhdHVyZSIpOgorKyAgICAgICAgICAgICAg ICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgor KyAgICAgICAgICAgICAgICAgICAgY29udGV4dC5hZGRfY2xlYW51cChteV9jbGVhbnVwLCBsYXll cj0iZmVhdHVyZSIpCisrICAgICAgICAgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X25vdF9jYWxs ZWQoKQorKyAgICAgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNlKCkgICAgICMg TEVGVDogbGF5ZXI9ImZlYXR1cmUiCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRf b25jZSgpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfdW5rbm93bl9sYXllcl9y YWlzZXNfbG9va3VwX2Vycm9yKHNlbGYpOgorKyAgICAgICAgIiIiQ2xlYW51cCBmdW5jdGlvbiBp cyBub3QgcmVnaXN0ZXJlZCIiIgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVh bnVwX2Z1bmMpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAg ICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0KTogICAjIENBTExTLUhFUkU6 IGNvbnRleHQuX3B1c2goKQorKyAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhMb29rdXBF cnJvcikgYXMgZXJyb3I6CisrICAgICAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlf Y2xlYW51cCwgbGF5ZXI9Im90aGVyIikKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X25vdF9j YWxsZWQoKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4My1VUERBVEUtcGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEu MTYuMC0uLTEuMTcueC1oLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA4My1VUERBVEUtcGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25z LTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uOTIyMzU3ZWRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4My1VUERBVEUtcGFyc2UtMS4xOC4wLXBh cnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zy b20gYzA2ZDhhM2FiMmQxOTVjOTMzYzAzMWQ4ZDI1YmZlZTM0M2ViNmJhMiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogVHVlLCAyMCBPY3QgMjAyMCAyMjo0MDo0NiArMDIwMAorU3ViamVjdDogW1BB VENIXSBVUERBVEU6IHBhcnNlID49IDEuMTguMCAocGFyc2UgdmVyc2lvbnM6IDEuMTYuMCAuLiAx LjE3LnggaGFzCisgYSBwcm9ibGVtOyBwYXJzZSBpc3N1ZSAjMTE5LCAjMTIxKQorCistLS0KKyBw eS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IHwgMiArLQorIHNldHVwLnB5ICAgICAgICAgICAgICAg ICAgfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IGIvcHkucmVxdWly ZW1lbnRzL2Jhc2ljLnR4dAoraW5kZXggYWQ1YjlhNi4uZjk3Njc0OCAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQK K0BAIC05LDcgKzksNyBAQAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIGN1Y3VtYmVyLXRh Zy1leHByZXNzaW9ucyA+PSAxLjEuMgorLXBhcnNlID49IDEuOC4yCisrcGFyc2UgPj0gMS4xOC4w CisgcGFyc2VfdHlwZSA+PSAwLjQuMgorIHNpeCA+PSAxLjEyLjAKKyAKK2RpZmYgLS1naXQgYS9z ZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCAyM2Y2NjU0Li5mZDg5YmRhIDEwMDY0NAorLS0tIGEv c2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNzcsNyArNzcsNyBAQCBzZXR1cCgKKyAgICAg cHl0aG9uX3JlcXVpcmVzPSI+PTIuNywgIT0zLjAuKiwgIT0zLjEuKiwgIT0zLjIuKiIsCisgICAg IGluc3RhbGxfcmVxdWlyZXM9WworICAgICAgICAgImN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+ PSAxLjEuMiIsCistICAgICAgICAicGFyc2UgPj0gMS45LjEiLAorKyAgICAgICAgInBhcnNlID49 IDEuMTguMCIsCisgICAgICAgICAicGFyc2VfdHlwZSA+PSAwLjQuMiIsCisgICAgICAgICAic2l4 ID49IDEuMTIuMCIsCisgICAgICAgICAidHJhY2ViYWNrMjsgcHl0aG9uX3ZlcnNpb24gPCAnMy4w JyIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDg0LVJFTEFURUQtVE8tRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3VvdXNTdGVw RXJyb3JzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA4NC1SRUxBVEVELVRPLUR1cGxpY2F0ZWQtc3RlcHMtQW1iaWd1b3VzU3RlcEVy cm9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjVlZGE5NjJk ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwODQtUkVMQVRFRC1UTy1EdXBsaWNhdGVkLXN0ZXBzLUFtYmlndW91 c1N0ZXBFcnJvcnMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSA1Y2VmOGU4MDc0NmViNTMw MjM1NDU2Y2E0NDY1ZTkwZDEyYzQ3YWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDIg Tm92IDIwMjAgMTc6NTA6MTAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gUkVMQVRFRCBUTzogRHVw bGljYXRlZCBzdGVwcy9BbWJpZ3VvdXNTdGVwRXJyb3JzCisKKyogUmVtb3ZlIEB4ZmFpbCBmcm9t IHRoaXJkIHNjZW5hcmlvIChpdCB3b3JrZWQgYWxyZWFkeSBmb3Igc29tZSB0aW1lKS4KKyogQWRk ZWQgbW9yZSBkZXRhaWxsZWQgZGVzY3JpcHRpb24gdG8gdGhpcmQgc2NlbmFyaW8uCistLS0KKyBm ZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlIHwgMTEgKysrKysrKysrKy0KKyAx IGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZSBiL2ZlYXR1cmVzL3N0 ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUKK2luZGV4IDM5NmNjYTIuLmYyMDQzMDcgMTAwNjQ0 CistLS0gYS9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCisrKysgYi9mZWF0 dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCitAQCAtNzYsOCArNzYsMTcgQEAgRmVh dHVyZTogRHVwbGljYXRlZCBTdGVwIERlZmluaXRpb25zCisgICAgICMgICAgRmlsZSAiZmVhdHVy ZXMvc3RlcHMvYm9iMl9zdGVwcy5weSIsIGxpbmUgMywgaW4gPG1vZHVsZT4KKyAgICAgIyAgICAi IiIKKyAKKy0gIEB4ZmFpbAorKworICAgU2NlbmFyaW86IER1cGxpY2F0ZWQgU2FtZSBTdGVwIERl ZmluaXRpb24gdmlhIGltcG9ydCBmcm9tIGFub3RoZXIgRmlsZQorKworKyAgICBWRVJJRlkgVEhB VDogRHVwbGljYXRlZCBzdGVwLWRldGVjdGlvbiB3b3Jrcy4KKysgICAgRHVwbGljYXRlZCBzdGVw LXJlZ2lzdHJhdGlvbiBvY2N1cmVkIHRocm91Z2ggYSB0d2ljZSBpbXBvcnRlZCBzdGVwLW1vZHVs ZToKKysgICAgRmlyc3QgcmVnaXN0cmF0aW9uIG1heSBvY2N1cnMgYnkgc3RlcC1sb2FkaW5nIHRo ZSBzdGVwLW1vZHVsZSwKKysgICAgc2Vjb25kIHJlZ2lzdHJhdGlvbiBkdWUgdG8gaW1wb3J0IG9m IGZpcnN0IHN0ZXAtbW9kdWxlLgorKworKyAgICBUaGUgc3RlcCByZWdpc3RyeSBkZXRlY3RzIHRo YXQgdGhlIHNhbWUgc3RlcC1mdW5jdGlvbiBzaG91bGQgYmUgcmVnaXN0ZXJlZAorKyAgICBhbm90 aGVyIHRpbWUgYW5kIGlnbm9yZXMgaXQgKHN0ZXAgaXMgYWxyZWFkeSByZWdpc3RlcmVkKS4KKysK KyAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgQW5kIGEgZmlsZSBuYW1l ZCAiZmVhdHVyZXMvc3RlcHMvY2hhcmx5MV9zdGVwcy5weSIgd2l0aDoKKyAgICAgICAiIiIKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwODUtQWRkLXJlbm92YXRlLmpzb24ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg1LUFkZC1yZW5vdmF0ZS5qc29uLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNTczZTdiZGM4Ci0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA4NS1BZGQtcmVub3ZhdGUuanNvbi5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9t IGVmMjI0Yjg4ZDQ4N2ExYzk1MDk4NmYwY2Y0OTJjNzUxZWZiOTZmYTQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBSZW5vdmF0ZSBCb3QgPGJvdEByZW5vdmF0ZWFwcC5jb20+CitEYXRl OiBXZWQsIDQgTm92IDIwMjAgMDg6NDM6MzIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHJl bm92YXRlLmpzb24KKworLS0tCisgcmVub3ZhdGUuanNvbiB8IDUgKysrKysKKyAxIGZpbGUgY2hh bmdlZCwgNSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHJlbm92YXRlLmpzb24K KworZGlmZiAtLWdpdCBhL3Jlbm92YXRlLmpzb24gYi9yZW5vdmF0ZS5qc29uCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjQ1ZDhmMQorLS0tIC9kZXYvbnVsbAorKysrIGIv cmVub3ZhdGUuanNvbgorQEAgLTAsMCArMSw1IEBACisreworKyAgImV4dGVuZHMiOiBbCisrICAg ICJjb25maWc6YmFzZSIKKysgIF0KKyt9CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdp dGgtYWRhcHRpb25zLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4Ni1QUlBFUEFSRS1SRU5PVkFURS1XaXRoLWFkYXB0aW9ucy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjVlOTRiZjhmZQotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwODYtUFJQRVBBUkUtUkVOT1ZBVEUtV2l0aC1hZGFwdGlvbnMucGF0Y2gKQEAgLTAs MCArMSwxNzUgQEAKK0Zyb20gYjVhYzE5NmQ0ZDU5MTZhYWEwZDJjMWNiYmYwM2QwOGM2YTMyYTdi MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMu bm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDIwIDEwOjI4OjU5ICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIFBSUEVQQVJFLVJFTk9WQVRFOiBXaXRoIGFkYXB0aW9ucworCisq IFByb3ZpZGUgbG9jYXRpb25zL3BhdHRlcm5zIGZvciBwaXAgcmVxdWlyZW1lbnRzIGZpbGUocykK KyogTW92ZSAicmVub3ZhdGUuanNvbiIgdG8gIi5naXRodWIvIgorLS0tCisgLmdpdGh1Yi9yZW5v dmF0ZS5qc29uICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysKKyBNQU5JRkVT VC5pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KKyBpc3N1ZS5m ZWF0dXJlcy9SRUFETUUucnN0ICAgICAgICAgICAgICAgICAgICAgfCAzMiArKysrKysrKysrKysr KysrKysrCisgaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnR4dCAgICAgICAgICAgICAgICAgICAgIHwg MTcgLS0tLS0tLS0tLQorIC4uLi97cmVxdWlyZW1lbnRzLnR4dCA9PiBweS5yZXF1aXJlbWVudHMu dHh0fSB8ICA3ICsrLS0KKyBweS5yZXF1aXJlbWVudHMve1JFQURNRS50eHQgPT4gUkVBRE1FLnJz dH0gICAgfCAgMAorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCAgICAgICAgICAgICAgICAg ICB8ICA0ICsrLQorIHJlbm92YXRlLmpzb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA1IC0tLQorIDggZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRp b25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IC5naXRodWIvcmVub3ZhdGUuanNvbgorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBpc3N1ZS5mZWF0dXJlcy9SRUFETUUucnN0CisgZGVsZXRlIG1vZGUgMTAw NjQ0IGlzc3VlLmZlYXR1cmVzL1JFQURNRS50eHQKKyByZW5hbWUgaXNzdWUuZmVhdHVyZXMve3Jl cXVpcmVtZW50cy50eHQgPT4gcHkucmVxdWlyZW1lbnRzLnR4dH0gKDgyJSkKKyByZW5hbWUgcHku cmVxdWlyZW1lbnRzL3tSRUFETUUudHh0ID0+IFJFQURNRS5yc3R9ICgxMDAlKQorIGRlbGV0ZSBt b2RlIDEwMDY0NCByZW5vdmF0ZS5qc29uCisKK2RpZmYgLS1naXQgYS8uZ2l0aHViL3Jlbm92YXRl Lmpzb24gYi8uZ2l0aHViL3Jlbm92YXRlLmpzb24KK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi4zMzk5YTAwCistLS0gL2Rldi9udWxsCisrKysgYi8uZ2l0aHViL3Jlbm92YXRl Lmpzb24KK0BAIC0wLDAgKzEsMTMgQEAKKyt7CisrICAiZXh0ZW5kcyI6IFsKKysgICAgImNvbmZp ZzpiYXNlIgorKyAgXSwKKysgICJwaXBfcmVxdWlyZW1lbnRzIjogeworKyAgICAiZmlsZU1hdGNo IjogWworKyAgICAgICAgInB5LnJlcXVpcmVtZW50cy9hbGwudHh0IiwKKysgICAgICAgICJweS5y ZXF1aXJlbWVudHMvKi50eHQiLAorKyAgICAgICAgInRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQi LAorKyAgICAgICAgImlzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQiCisrICAgIF0K Kyt9CisrfQorZGlmZiAtLWdpdCBhL01BTklGRVNULmluIGIvTUFOSUZFU1QuaW4KK2luZGV4IDYw YzI2MDEuLjg0ZDIwZjQgMTAwNjQ0CistLS0gYS9NQU5JRkVTVC5pbgorKysrIGIvTUFOSUZFU1Qu aW4KK0BAIC0yOCw4ICsyOCw4IEBAIHJlY3Vyc2l2ZS1pbmNsdWRlIHRhc2tzICAgICAgICAgKi5w eSAqLnppcCAqLnR4dCAqLnJzdAorIHJlY3Vyc2l2ZS1pbmNsdWRlIHRvb2xzICAgICAgICAgKi5m ZWF0dXJlICoucHkgKi55bWwgKi5zaAorIHJlY3Vyc2l2ZS1pbmNsdWRlIGZlYXR1cmVzICAgICAg Ki5mZWF0dXJlICoucHkgKi50eHQKKyByZWN1cnNpdmUtaW5jbHVkZSBpc3N1ZS5mZWF0dXJlcyAg Ki5mZWF0dXJlICoucHkgKi50eHQKKy1yZWN1cnNpdmUtaW5jbHVkZSBtb3JlLmZlYXR1cmVzICou ZmVhdHVyZSAqLnB5ICoudHh0CistcmVjdXJzaXZlLWluY2x1ZGUgcHkucmVxdWlyZW1lbnRzICAq LnR4dAorK3JlY3Vyc2l2ZS1pbmNsdWRlIG1vcmUuZmVhdHVyZXMgKi5mZWF0dXJlICoucHkgKi50 eHQgKi5yc3QKKytyZWN1cnNpdmUtaW5jbHVkZSBweS5yZXF1aXJlbWVudHMgICoudHh0ICoucnN0 CisgCisgcHJ1bmUgLnRveAorIHBydW5lIC52ZW52KgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1 cmVzL1JFQURNRS5yc3QgYi9pc3N1ZS5mZWF0dXJlcy9SRUFETUUucnN0CituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWQxZDk4MAorLS0tIC9kZXYvbnVsbAorKysrIGIvaXNz dWUuZmVhdHVyZXMvUkVBRE1FLnJzdAorQEAgLTAsMCArMSwzMiBAQAorK2lzc3VlLmZlYXR1cmVz OgorKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKys6UmVxdWlyZXM6IFB5dGhvbiA+PSAyLjcg b3IgUHl0aG9uID49IDMuNQorKworK1RoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGJlaGF2ZSBzZWxm LXRlc3RzIHRvIGVuc3VyZSB0aGF0IGJlaGF2ZSByZWxhdGVkCisraXNzdWVzIGFyZSBmaXhlZC4K KysKKytQUk9DRURVUkU6CisrCisrICAgICogT05DRTogSW5zdGFsbCBweXRob24gcmVxdWlyZW1l bnRzICgicHkucmVxdWlyZW1lbnRzLnR4dCIpCisrICAgICogUnVuIHRoZSB0ZXN0cyB3aXRoIGJl aGF2ZQorKworKy4uIGNvZGUtYmxvY2s6OiBzaGVsbAorKworKyAgICAjIC0tIEZPUjoKKysgICAg IyBwaXA6ICBGb3IgcHl0aG9uMi43IG9yIHB5dGhvbjMgKGRlcGVuZHMgb24gcGxhdGZvcm0gYW5k L29yIHVzZXIpKQorKyAgICAjIHBpcDM6IEZvciBweXRob24zCisrICAgIHBpcCAgaW5zdGFsbCAt VSAtciBpc3N1ZS5mZWF0dXJlcy90ZXN0aW5nLnR4dAorKyAgICBwaXAzIGluc3RhbGwgLVUgLXIg aXNzdWUuZmVhdHVyZXMvdGVzdGluZy50eHQKKysKKysKKytBTFRFUk5BVElWRToKKysKKysuLiBj b2RlLWJsb2NrOjogc2hlbGwKKysKKysgICAgcGlwICBpbnN0YWxsIC1VIC1yIHB5LnJlcXVpcmVt ZW50cy90ZXN0aW5nLnR4dAorKyAgICBwaXAzIGluc3RhbGwgLVUgLXIgcHkucmVxdWlyZW1lbnRz L3Rlc3RpbmcudHh0CisrCisrLi4gY29kZS1ibG9jazo6IHNoZWxsCisrCisrICAgIGJpbi9iZWhh dmUgLWYgcHJvZ3Jlc3MgaXNzdWUuZmVhdHVyZXMvCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVy ZXMvUkVBRE1FLnR4dCBiL2lzc3VlLmZlYXR1cmVzL1JFQURNRS50eHQKK2RlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggYWY0OTlmMy4uMDAwMDAwMAorLS0tIGEvaXNzdWUuZmVhdHVyZXMv UkVBRE1FLnR4dAorKysrIC9kZXYvbnVsbAorQEAgLTEsMTcgKzAsMCBAQAorLWlzc3VlLmZlYXR1 cmVzOgorLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy06U3RhdHVzOiAgIFBSRVBBUkVEIChm aXhlcyBhcmUgYmVpbmcgYXBwbGllZCkuCistOlJlcXVpcmVzOiBQeXRob24gPj0gMi42IChkdWUg dG8gc3RlcCBpbXBsZW1lbnRhdGlvbnMpCistCistVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgYmVo YXZlIHNlbGYtdGVzdHMgdG8gZW5zdXJlIHRoYXQgYmVoYXZlIHJlbGF0ZWQKKy1pc3N1ZXMgYXJl IGZpeGVkLgorLQorLVBST0NFRFVSRToKKy0KKy0gICAgKiBPTkNFOiBJbnN0YWxsIHB5dGhvbiBy ZXF1aXJlbWVudHMgKCJyZXF1aXJlbWVudHMudHh0IikKKy0gICAgKiBSdW4gdGhlIHRlc3RzIHdp dGggYmVoYXZlCistCistOjoKKy0KKy0gICAgYmluL2JlaGF2ZSAtZiBwcm9ncmVzcyBpc3N1ZS5m ZWF0dXJlcy8KK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9yZXF1aXJlbWVudHMudHh0IGIv aXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorc2ltaWxhcml0eSBpbmRleCA4MiUK K3JlbmFtZSBmcm9tIGlzc3VlLmZlYXR1cmVzL3JlcXVpcmVtZW50cy50eHQKK3JlbmFtZSB0byBp c3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCBkMGM0YmFiLi5mMGRlZjlk IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvcmVxdWlyZW1lbnRzLnR4dAorKysrIGIvaXNz dWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTEsMTIgKzEsMTEgQEAKKyAjID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKyAjIFBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUzogRm9yIHJ1 bm5pbmcgaXNzdWUuZmVhdHVyZXMvCisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistIyBSRVFVSVJF UzogUHl0aG9uID49IDIuNQorLSMgUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjIKKysjIFJFUVVJUkVT OiBQeXRob24gPj0gMi43CisrIyBSRVFVSVJFUzogUHl0aG9uID49IDMuNQorICMgREVTQ1JJUFRJ T046CisgIyAgICBwaXAgaW5zdGFsbCAtciA8VEhJU19GSUxFPgorICMKKyAjID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKyAKKy1QeUhhbWNyZXN0ID49IDEuNgorLQorK1B5SGFtY3Jlc3QgPj0gMi4wLjIK K2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvUkVBRE1FLnR4dCBiL3B5LnJlcXVpcmVtZW50 cy9SRUFETUUucnN0CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIHB5LnJlcXVp cmVtZW50cy9SRUFETUUudHh0CityZW5hbWUgdG8gcHkucmVxdWlyZW1lbnRzL1JFQURNRS5yc3QK K2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgYi9weS5yZXF1aXJlbWVu dHMvdGVzdGluZy50eHQKK2luZGV4IDg1YjA5MDguLjVjY2RkYTggMTAwNjQ0CistLS0gYS9weS5y ZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4 dAorQEAgLTgsMTAgKzgsMTIgQEAgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMu MCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMu MCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBtb2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID49 IDEuOQorK1B5SGFtY3Jlc3QgPj0gMi4wLjIKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0 cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJl ZCBmb3IgcHl0aG9uMi42CisgIyBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxs LXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5 dGhvbl92ZXJzaW9uIDwgICczLjUnCisgcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9u ID49ICczLjUnCisrCisrLXIgLi4vaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAor ZGlmZiAtLWdpdCBhL3Jlbm92YXRlLmpzb24gYi9yZW5vdmF0ZS5qc29uCitkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IGY0NWQ4ZjEuLjAwMDAwMDAKKy0tLSBhL3Jlbm92YXRlLmpzb24K KysrKyAvZGV2L251bGwKK0BAIC0xLDUgKzAsMCBAQAorLXsKKy0gICJleHRlbmRzIjogWworLSAg ICAiY29uZmlnOmJhc2UiCistICBdCistfQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uNDM4MjU3MDZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBh dGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOGJjMzBjYzdlMzU3ODM5ZWJlMDIxMTBjN2U4ZDIw MDBmYjkyMzg0ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJlbm92YXRlIEJvdCA8 Ym90QHJlbm92YXRlYXBwLmNvbT4KK0RhdGU6IFdlZCwgNCBOb3YgMjAyMCAwOTozMjozNCArMDAw MAorU3ViamVjdDogW1BBVENIXSBQaW4gZGVwZW5kZW5jaWVzCisKKy0tLQorIGlzc3VlLmZlYXR1 cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgfCAyICstCisgdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4 dCAgICAgICAgICB8IDQgKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1l bnRzLnR4dCBiL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKK2luZGV4IGYwZGVm OWQuLjM4ZjQ1MmQgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMu dHh0CisrKysgYi9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CitAQCAtOCw0ICs4 LDQgQEAKKyAjCisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistUHlIYW1jcmVzdCA+PSAyLjAu MgorK1B5SGFtY3Jlc3Q9PTIuMC4yCitkaWZmIC0tZ2l0IGEvdGFza3MvcHkucmVxdWlyZW1lbnRz LnR4dCBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKK2luZGV4IDgxMGY4MzQuLjljODJkMTEg MTAwNjQ0CistLS0gYS90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CisrKysgYi90YXNrcy9weS5y ZXF1aXJlbWVudHMudHh0CitAQCAtOCw5ICs4LDkgQEAKKyAjICAqIGh0dHA6Ly93d3cucGlwLWlu c3RhbGxlci5vcmcvCisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistaW52b2tlID49IDEuMi4w CisraW52b2tlPT0xLjQuMQorIHB5Y21kCistc2l4ID49IDEuMTIuMAorK3NpeD09MS4xNS4wCisg CisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2Fz IHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9u IDwgICczLjUnCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDg4LXJlbm92YXRlLUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZp bGUtbGlzdC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwODgtcmVub3ZhdGUtRXh0ZW5kLXBpcC1yZXF1aXJlbWVudHMtZmlsZS1saXN0 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWY1ZjFlNmY3Ci0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA4OC1yZW5vdmF0ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1maWxlLWxp c3QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA2MTgwY2I2ODk0YThhMzc2YWU4NmU4Yjk2 MzRkYzNlMzQ5ODVlNjlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDQgTm92IDIwMjAg MTA6NTQ6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcmVub3ZhdGU6IEV4dGVuZCBwaXAgcmVx dWlyZW1lbnRzIGZpbGUgbGlzdC4KKworLS0tCisgLmdpdGh1Yi9yZW5vdmF0ZS5qc29uIHwgOSAr KysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uIGIvLmdpdGh1Yi9yZW5vdmF0 ZS5qc29uCitpbmRleCAzMzk5YTAwLi45YjcyZjc2IDEwMDY0NAorLS0tIGEvLmdpdGh1Yi9yZW5v dmF0ZS5qc29uCisrKysgYi8uZ2l0aHViL3Jlbm92YXRlLmpzb24KK0BAIC00LDEwICs0LDE1IEBA CisgICBdLAorICAgInBpcF9yZXF1aXJlbWVudHMiOiB7CisgICAgICJmaWxlTWF0Y2giOiBbCist ICAgICAgICAicHkucmVxdWlyZW1lbnRzL2FsbC50eHQiLAorICAgICAgICAgInB5LnJlcXVpcmVt ZW50cy8qLnR4dCIsCisrICAgICAgICAicHkucmVxdWlyZW1lbnRzL2FsbC50eHQiLAorKyAgICAg ICAgInB5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQiLAorKyAgICAgICAgInB5LnJlcXVpcmVtZW50 cy9kZXZlbG9wLnR4dCIsCisrICAgICAgICAicHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IiwK KysgICAgICAgICJweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCIsCisrICAgICAgICAicHkucmVx dWlyZW1lbnRzL2NpLnRyYXZpcy50eHQiLAorICAgICAgICAgInRhc2tzL3B5LnJlcXVpcmVtZW50 cy50eHQiLAorICAgICAgICAgImlzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQiCisg ICAgIF0KKy19CisrICB9CisgfQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4OS1QSU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10 by1hbGwtcGxhY2VzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4OS1QSU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10by1hbGwtcGxhY2Vz LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOWEwMTNiMmIxCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA4OS1QSU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10by1hbGwtcGxhY2VzLnBh dGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gYWYzNDZhODMyZjFlMDNmMzBkYWVhMzUzM2E4ODVk NDc0ZGQ5ZjRjYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDIwIDEwOjU0 OjQ4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFBJTiBSRVFVSVJFTUVOVFM6IEV4dGVuZCB0byBh bGwgcGxhY2VzLiBQSU5ORUQ6IGludm9rZSwgc2l4LAorIFB5SGFtY3Jlc3QKKworLS0tCisgaXNz dWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dCB8IDIgKy0KKyBweS5yZXF1aXJlbWVudHMv YmFzaWMudHh0ICAgICAgICAgIHwgMiArLQorIHB5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0ICAg ICAgICAgfCAyICstCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgICAgICB8IDIgKy0K KyBweS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQgICAgICAgIHwgNCArLS0tCisgcHkucmVxdWly ZW1lbnRzL3Rlc3RpbmcudHh0ICAgICAgICB8IDIgKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVz L3B5LnJlcXVpcmVtZW50cy50eHQgYi9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0 CitpbmRleCAzOGY0NTJkLi42ZTNjZjgzIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvcHku cmVxdWlyZW1lbnRzLnR4dAorKysrIGIvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4 dAorQEAgLTgsNCArOCw0IEBACisgIworICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLVB5SGFt Y3Jlc3Q9PTIuMC4yCisrUHlIYW1jcmVzdCA9PSAyLjAuMgorZGlmZiAtLWdpdCBhL3B5LnJlcXVp cmVtZW50cy9iYXNpYy50eHQgYi9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CitpbmRleCBmOTc2 NzQ4Li42YzY0NGUwIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAorKysr IGIvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAorQEAgLTExLDcgKzExLDcgQEAKKyBjdWN1bWJl ci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIKKyBwYXJzZSA+PSAxLjE4LjAKKyBwYXJzZV90eXBl ID49IDAuNC4yCistc2l4ID49IDEuMTIuMAorK3NpeCA9PSAxLjE1LjAKKyAKKyB0cmFjZWJhY2sy OyAgcHl0aG9uX3ZlcnNpb24gPCAnMy4wJworIGNvbnRleHRsaWIyICAgICAjIE1BWUJFOiBweXRo b25fdmVyc2lvbiA8ICczLjUnCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50 eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAoraW5kZXggNDAwMWJjMi4uMjBhZTc5MSAx MDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CisrKysgYi9weS5yZXF1aXJl bWVudHMvY2kudG94LnR4dAorQEAgLTYsNyArNiw3IEBAIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92 ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92 ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisgbW9jayA+PSAyLjAKKy1Q eUhhbWNyZXN0ID49IDEuOQorK1B5SGFtY3Jlc3QgPT0gMi4wLjIKKyAKKyAjIC0tIEhJTlQ6IHBh dGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0 aG9uMykKKyBwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKK2RpZmYg LS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9j aS50cmF2aXMudHh0CitpbmRleCBkZTQxMjBhLi5jNjk0NDVjIDEwMDY0NAorLS0tIGEvcHkucmVx dWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMu dHh0CitAQCAtNSw3ICs1LDcgQEAgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMu MCcKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1s ID49IDEuMTkuMAorIG1vY2sgID49IDIuMAorLVB5SGFtY3Jlc3QgPj0gMS45CisrUHlIYW1jcmVz dCA9PSAyLjAuMgorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBj b25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYK K2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQgYi9weS5yZXF1aXJlbWVu dHMvZGV2ZWxvcC50eHQKK2luZGV4IGE5MmVlNWYuLmU3ZGM0MTggMTAwNjQ0CistLS0gYS9weS5y ZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4 dAorQEAgLTMsOSArMyw3IEBACisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCisgIyAtLSBCVUlM RC1UT09MOgorLSMgUFJFUEFSRSBVU0FHRTogaW52b2tlCistIyBBTFJFQURZOiBzaXggPj0gMS4x MS4wCistaW52b2tlID49IDEuMi4wCisraW52b2tlID09IDEuNC4xCisgcGF0aGxpYjsgICAgcHl0 aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBweWNtZAorIAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVt ZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAoraW5kZXggNWNj ZGRhOC4uZDNiY2ExOCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAor KysrIGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitAQCAtOCw3ICs4LDcgQEAgcHl0ZXN0 IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0 ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAK KyBtb2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID49IDIuMC4yCisrUHlIYW1jcmVzdCA9PSAyLjAu MgorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQor ICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw OTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2NsZWFudXAtci5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwOTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2NsZWFudXAt ci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI5NWExMzM3Mwot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwOTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVwLXJlcGxhY2VzLV90YXNr bGV0X2NsZWFudXAtci5wYXRjaApAQCAtMCwwICsxLDgxMTYgQEAKK0Zyb20gOTJkNTlmYTg3MTE5 MmI2YjY0MTMxMTNkODVhMGZhMGY5MjRjMDBkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2Vk LCA0IE5vdiAyMDIwIDIxOjE4OjEyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHRhc2tzOiBBZGQg aW52b2tlX2NsZWFudXAgKHJlcGxhY2VzOiBfdGFza2xldF9jbGVhbnVwKSwKKyByZW1vdmUgX3Zl bmRvci8gZGlyZWN0b3J5LgorCistLS0KKyBweS5yZXF1aXJlbWVudHMvZG9jcy50eHQgIHwgICAg MyArLQorIHRhc2tzL19faW5pdF9fLnB5ICAgICAgICAgfCAgIDEwICstCisgdGFza3MvX3NldHVw LnB5ICAgICAgICAgICB8ICAgMTAgKy0KKyB0YXNrcy9fdGFza2xldF9jbGVhbnVwLnB5IHwgIDI5 NSAtLS0tLS0tCisgdGFza3MvX3ZlbmRvci9SRUFETUUucnN0ICB8ICAgMzUgLQorIHRhc2tzL192 ZW5kb3IvaW52b2tlLnppcCAgfCAgQmluIDE3MjI4MSAtPiAwIGJ5dGVzCisgdGFza3MvX3ZlbmRv ci9wYXRoLnB5ICAgICB8IDE3MjUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIHRhc2tzL192ZW5kb3IvcGF0aGxpYi5weSAgfCAxMjgwIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIHRhc2tzL192ZW5kb3Ivc2l4LnB5ICAgICAgfCAgODY4IC0tLS0tLS0tLS0tLS0t LS0tLS0KKyB0YXNrcy9kb2NzLnB5ICAgICAgICAgICAgIHwgICAzMyArLQorIHRhc2tzL2ludm9r ZV9jbGVhbnVwLnB5ICAgfCAgNDQ3ICsrKysrKysrKysKKyB0YXNrcy9weS5yZXF1aXJlbWVudHMu dHh0IHwgICAgMiArLQorIHRhc2tzL3JlbGVhc2UucHkgICAgICAgICAgfCAgICAyICstCisgdGFz a3MvdGVzdC5weSAgICAgICAgICAgICB8ICAgIDMgKy0KKyAxNCBmaWxlcyBjaGFuZ2VkLCA0OTcg aW5zZXJ0aW9ucygrKSwgNDIxNiBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFz a3MvX3Rhc2tsZXRfY2xlYW51cC5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCB0YXNrcy9fdmVuZG9y L1JFQURNRS5yc3QKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFza3MvX3ZlbmRvci9pbnZva2Uuemlw CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRhc2tzL192ZW5kb3IvcGF0aC5weQorIGRlbGV0ZSBtb2Rl IDEwMDY0NCB0YXNrcy9fdmVuZG9yL3BhdGhsaWIucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFz a3MvX3ZlbmRvci9zaXgucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGFza3MvaW52b2tlX2NsZWFu dXAucHkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9kb2NzLnR4dCBiL3B5LnJlcXVp cmVtZW50cy9kb2NzLnR4dAoraW5kZXggNjgzOWJhOS4uMTM4NGUwMCAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy9kb2NzLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0CitA QCAtMyw3ICszLDggQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAjIFJFUVVJUkVTOiBwaXAg Pj0gOC4wCisgCistU3BoaW54ID49IDEuNgorK3NwaGlueCA+PSAxLjYKKytzcGhpbngtYXV0b2J1 aWxkCisgc3BoaW54X2Jvb3RzdHJhcF90aGVtZSA+PSAwLjYuMAorIAorICMgLS0gU1VQUE9SVDog c3BoaW54LWRvYyB0cmFuc2xhdGlvbnMgKHByZXBhcmVkKQorZGlmZiAtLWdpdCBhL3Rhc2tzL19f aW5pdF9fLnB5IGIvdGFza3MvX19pbml0X18ucHkKK2luZGV4IGE1NzI0NjUuLjlhZTg5OWIgMTAw NjQ0CistLS0gYS90YXNrcy9fX2luaXRfXy5weQorKysrIGIvdGFza3MvX19pbml0X18ucHkKK0BA IC0yMCw3ICsyMCw3IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cisg ZnJvbSAuIGltcG9ydCBfc2V0dXAgICAgIyBweWxpbnQ6IGRpc2FibGU9d3JvbmctaW1wb3J0LW9y ZGVyCisgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQgc3lzCistSU5WT0tFX01JTlZFUlNJT04gPSAi MS4yLjAiCisrSU5WT0tFX01JTlZFUlNJT04gPSAiMS40LjAiCisgX3NldHVwLnNldHVwX3BhdGgo KQorIF9zZXR1cC5yZXF1aXJlX2ludm9rZV9taW52ZXJzaW9uKElOVk9LRV9NSU5WRVJTSU9OKQor IAorQEAgLTM1LDcgKzM1LDggQEAgaW1wb3J0IHN5cworIGZyb20gaW52b2tlIGltcG9ydCBDb2xs ZWN0aW9uCisgCisgIyAtLSBUQVNLLUxJQlJBUlk6CistZnJvbSAuIGltcG9ydCBfdGFza2xldF9j bGVhbnVwIGFzIGNsZWFudXAKKysjIFBSRVBBUkVEOiBpbXBvcnQgaW52b2tlX2NsZWFudXAgYXMg Y2xlYW51cAorK2Zyb20gLiBpbXBvcnQgaW52b2tlX2NsZWFudXAgYXMgY2xlYW51cAorIGZyb20g LiBpbXBvcnQgZG9jcworIGZyb20gLiBpbXBvcnQgdGVzdAorIGZyb20gLiBpbXBvcnQgcmVsZWFz ZQorQEAgLTUyLDE5ICs1MywxOCBAQCBmcm9tIC4gaW1wb3J0IGRldmVsb3AKKyAjIFRBU0sgQ09O RklHVVJBVElPTjoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbmFtZXNwYWNlID0gQ29sbGVj dGlvbigpCistIyBESVNBQkxFRDogbmFtZXNwYWNlLmFkZF90YXNrKGNsZWFuLmNsZWFuKQorLSMg RElTQUJMRUQ6IG5hbWVzcGFjZS5hZGRfdGFzayhjbGVhbi5jbGVhbl9hbGwpCisgbmFtZXNwYWNl LmFkZF9jb2xsZWN0aW9uKENvbGxlY3Rpb24uZnJvbV9tb2R1bGUoY2xlYW51cCksIG5hbWU9ImNs ZWFudXAiKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxl KGRvY3MpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxl KHRlc3QpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxl KHJlbGVhc2UpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9k dWxlKGRldmVsb3ApKQorLWNsZWFudXAuY2xlYW51cF90YXNrcy5hZGRfdGFzayhjbGVhbnVwLmNs ZWFuX3B5dGhvbikKKyAKKysjIC0tIEVOU1VSRTogcHl0aG9uIGNsZWFudXAgaXMgdXNlZCBmb3Ig dGhpcyBwcm9qZWN0LgorIGNsZWFudXAuY2xlYW51cF90YXNrcy5hZGRfdGFzayhjbGVhbnVwLmNs ZWFuX3B5dGhvbikKKyAKKyAjIC0tIElOSkVDVDogY2xlYW4gY29uZmlndXJhdGlvbiBpbnRvIHRo aXMgbmFtZXNwYWNlCisgbmFtZXNwYWNlLmNvbmZpZ3VyZShjbGVhbnVwLm5hbWVzcGFjZS5jb25m aWd1cmF0aW9uKCkpCisrbmFtZXNwYWNlLmNvbmZpZ3VyZSh0ZXN0Lm5hbWVzcGFjZS5jb25maWd1 cmF0aW9uKCkpCisgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoIndpbiIpOgorICAgICAjIC0t IE9WRVJSSURFIFNFVFRJTkdTOiBGb3IgcGxhdGZvcm09d2luMzIsIC4uLiAoV2luZG93cykKKyAg ICAgZnJvbSAuX2NvbXBhdF9zaHV0aWwgaW1wb3J0IHdoaWNoCitkaWZmIC0tZ2l0IGEvdGFza3Mv X3NldHVwLnB5IGIvdGFza3MvX3NldHVwLnB5CitpbmRleCBlZGE1Y2E5Li5lNjllYzgyIDEwMDY0 NAorLS0tIGEvdGFza3MvX3NldHVwLnB5CisrKysgYi90YXNrcy9fc2V0dXAucHkKK0BAIC0xNCw3 ICsxNCw3IEBAIGltcG9ydCBzeXMKKyBIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQor IFRBU0tTX1ZFTkRPUl9ESVIgPSBvcy5wYXRoLmpvaW4oSEVSRSwgIl92ZW5kb3IiKQorIElOVk9L RV9CVU5ETEUgPSBvcy5wYXRoLmpvaW4oVEFTS1NfVkVORE9SX0RJUiwgImludm9rZS56aXAiKQor LUlOVk9LRV9CVU5ETEVfVkVSU0lPTiA9ICIwLjEzLjAiICAgICMgcHlsaW50OiBkaXNhYmxlPWlu dmFsaWQtbmFtZQorK0lOVk9LRV9CVU5ETEVfVkVSU0lPTiA9ICIxLjQuMCIKKyAKKyBERUJVR19T WVNQQVRIID0gRmFsc2UKKyAKK0BAIC0yNSw2ICsyNSw3IEBAIERFQlVHX1NZU1BBVEggPSBGYWxz ZQorIGNsYXNzIFZlcnNpb25SZXF1aXJlbWVudEVycm9yKFN5c3RlbUV4aXQpOgorICAgICBwYXNz CisgCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgRlVOQ1RJT05TOgorICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KK0BAIC0zMiw3ICszMyw3IEBAIGRlZiBzZXR1cF9wYXRoKGludm9rZV9t aW52ZXJzaW9uPU5vbmUpOgorICAgICAiIiJTZXR1cCBweXRob24gc2VhcmNoIGFuZCBhZGQgYGBU QVNLU19WRU5ET1JfRElSYGAgKGlmIGF2YWlsYWJsZSkuIiIiCisgICAgICMgcHJpbnQoIklOVk9L RS50YXNrczogc2V0dXBfcGF0aCIpCisgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKFRBU0tTX1ZF TkRPUl9ESVIpOgorLSAgICAgICAgcHJpbnQoIlNLSVA6IFRBU0tTX1ZFTkRPUl9ESVI9JXMgaXMg bWlzc2luZyIgJSBUQVNLU19WRU5ET1JfRElSKQorKyAgICAgICAgIyBTSUxFTlQ6IHByaW50KCJT S0lQOiBUQVNLU19WRU5ET1JfRElSPSVzIGlzIG1pc3NpbmciICUgb3MucGF0aC5yZWxwYXRoKFRB U0tTX1ZFTkRPUl9ESVIpKQorICAgICAgICAgcmV0dXJuCisgICAgIGVsaWYgb3MucGF0aC5hYnNw YXRoKFRBU0tTX1ZFTkRPUl9ESVIpIGluIHN5cy5wYXRoOgorICAgICAgICAgIyAtLSBTRVRVUCBB TFJFQURZIERPTkU6CitAQCAtODYsNiArODcsNyBAQCBkZWYgcmVxdWlyZV9pbnZva2VfbWludmVy c2lvbihtaW5fdmVyc2lvbiwgdmVyYm9zZT1GYWxzZSk6CisgICAgICAgICBvcy5lbnZpcm9uWyJJ TlZPS0VfVkVSU0lPTiJdID0gaW52b2tlX3ZlcnNpb24KKyAgICAgICAgIHByaW50KCJVU0lORzog aW52b2tlLnZlcnNpb249JXMiICUgaW52b2tlX3ZlcnNpb24pCisgCisrCisgZGVmIG5lZWRfdmVu ZG9yX2J1bmRsZXMoaW52b2tlX21pbnZlcnNpb249Tm9uZSk6CisgICAgIGludm9rZV9taW52ZXJz aW9uID0gaW52b2tlX21pbnZlcnNpb24gb3IgIjAuMC4wIgorICAgICBuZWVkX3ZlbmRvcl9hbnN3 ZXJzID0gW10KK0BAIC0xMDIsNiArMTA0LDcgQEAgZGVmIG5lZWRfdmVuZG9yX2J1bmRsZXMoaW52 b2tlX21pbnZlcnNpb249Tm9uZSk6CisgICAgICMgcmV0dXJuIG5lZWRfYnVuZGxlMSBvciBuZWVk X2J1bmRsZTIKKyAgICAgcmV0dXJuIGFueShuZWVkX3ZlbmRvcl9hbnN3ZXJzKQorIAorKworIGRl ZiBuZWVkX3ZlbmRvcl9idW5kbGVfaW52b2tlKGludm9rZV9taW52ZXJzaW9uPSIwLjAuMCIpOgor ICAgICAjIC0tIFJFUVVJUkU6IGludm9rZQorICAgICB0cnk6CitAQCAtMTE2LDYgKzExOSw3IEBA IGRlZiBuZWVkX3ZlbmRvcl9idW5kbGVfaW52b2tlKGludm9rZV9taW52ZXJzaW9uPSIwLjAuMCIp OgorICAgICAgICAgbmVlZF9idW5kbGUgPSBUcnVlCisgICAgIHJldHVybiBuZWVkX2J1bmRsZQor IAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFVUSUxJVFkgRlVOQ1RJT05TOgorICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC0xMjUsMTEgKzEyOSwxMyBAQCBkZWYgc2V0dXBfcGF0 aF9mb3JfYnVuZGxlKGJ1bmRsZV9wYXRoLCBwb3M9MCk6CisgICAgICAgICByZXR1cm4gVHJ1ZQor ICAgICByZXR1cm4gRmFsc2UKKyAKKysKKyBkZWYgc3lzcGF0aF9pbnNlcnQocG9zLCBwYXRoKToK KyAgICAgaWYgcGF0aCBpbiBzeXMucGF0aDoKKyAgICAgICAgIHN5cy5wYXRoLnJlbW92ZShwYXRo KQorICAgICBzeXMucGF0aC5pbnNlcnQocG9zLCBwYXRoKQorIAorKworIGRlZiBzeXNwYXRoX2Fw cGVuZChwYXRoKToKKyAgICAgaWYgcGF0aCBpbiBzeXMucGF0aDoKKyAgICAgICAgIHN5cy5wYXRo LnJlbW92ZShwYXRoKQorZGlmZiAtLWdpdCBhL3Rhc2tzL190YXNrbGV0X2NsZWFudXAucHkgYi90 YXNrcy9fdGFza2xldF9jbGVhbnVwLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDI5OTliYzYuLjAwMDAwMDAKKy0tLSBhL3Rhc2tzL190YXNrbGV0X2NsZWFudXAucHkKKysrKyAv ZGV2L251bGwKK0BAIC0xLDI5NSArMCwwIEBACistIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0i IiIKKy1Qcm92aWRlcyBjbGVhbnVwIHRhc2tzIGZvciBpbnZva2UgYnVpbGQgc2NyaXB0cyAoYXMg Z2VuZXJpYyBpbnZva2UgdGFza2xldCkuCistU2ltcGxpZmllcyB3cml0aW5nIGNvbW1vbiwgY29t cG9zYWJsZSBhbmQgZXh0ZW5kYWJsZSBjbGVhbnVwIHRhc2tzLgorLQorLVBZVEhPTiBQQUNLQUdF IFJFUVVJUkVNRU5UUzoKKy0qIHBhdGgucHkgPj0gOC4yLjEgIChhcyBwYXRoLW9iamVjdCBhYnN0 cmFjdGlvbikKKy0qIHBhdGhsaWIgKGZvciBhbnQtbGlrZSB3aWxkY2FyZCBwYXR0ZXJuczsgc2lu Y2U6IHB5dGhvbiA+IDMuNSkKKy0qIHB5Y21kIChyZXF1aXJlZC1ieTogY2xlYW5fcHl0aG9uKCkp CistCistY2xlYW4gdGFzazogQWRkIEFkZGl0aW9uYWwgRGlyZWN0b3JpZXMgYW5kIEZpbGVzIHRv IGJlIHJlbW92ZWQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistCistQ3JlYXRlIGFuIGludm9r ZSBjb25maWd1cmF0aW9uIGZpbGUgKFlBTUwgb2YgSlNPTikgd2l0aCB0aGUgYWRkaXRpb25hbAor LWNvbmZpZ3VyYXRpb24gZGF0YToKKy0KKy0uLiBjb2RlLWJsb2NrOjogeWFtbAorLQorLSAgICAj IC0tIEZJTEU6IGludm9rZS55YW1sCistICAgICMgVVNFOiBjbGVhbi5kaXJlY3RvcmllcywgY2xl YW4uZmlsZXMgdG8gb3ZlcnJpZGUgY3VycmVudCBjb25maWd1cmF0aW9uLgorLSAgICBjbGVhbjoK Ky0gICAgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorLSAgICAgICAgICAgIC0gKiovdG1wLworLSAg ICAgICAgZXh0cmFfZmlsZXM6CistICAgICAgICAgICAgLSAqKi8qLmxvZworLSAgICAgICAgICAg IC0gKiovKi5iYWsKKy0KKy0KKy1SZWdpc3RyYXRpb24gb2YgQ2xlYW51cCBUYXNrcworLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLU90aGVyIHRhc2sgbW9kdWxlcyBvZnRlbiBo YXZlIGFuIG93biBjbGVhbnVwIHRhc2sgdG8gcmVjb3ZlciB0aGUgY2xlYW4gc3RhdGUuCistVGhl IDptZXRoOmBjbGVhbmAgdGFzaywgdGhhdCBpcyBwcm92aWRlZCBoZXJlLCBzdXBwb3J0cyB0aGUg cmVnaXN0cmF0aW9uCistb2YgYWRkaXRpb25hbCBjbGVhbnVwIHRhc2tzLiBUaGVyZWZvcmUsIHdo ZW4gdGhlIDptZXRoOmBjbGVhbmAgdGFzayBpcyBleGVjdXRlZCwKKy1hbGwgcmVnaXN0ZXJlZCBj bGVhbnVwIHRhc2tzIHdpbGwgYmUgZXhlY3V0ZWQuCistCistRVhBTVBMRTo6CistCistICAgICMg LS0gRklMRTogdGFza3MvZG9jcy5weQorLSAgICBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydAorLSAgICBmcm9tIGludm9rZSBpbXBvcnQgdGFzaywgQ29sbGVjdGlvbgorLSAg ICBmcm9tIHRhc2tsZXRfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJz CistCistICAgIEB0YXNrCistICAgIGRlZiBjbGVhbihjdHgsIGRyeV9ydW49RmFsc2UpOgorLSAg ICAgICAgIkNsZWFudXAgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24gYXJ0aWZhY3RzLiIKKy0gICAg ICAgIGNsZWFudXBfZGlycyhbImJ1aWxkL2RvY3MiXSkKKy0KKy0gICAgbmFtZXNwYWNlID0gQ29s bGVjdGlvbihjbGVhbikKKy0gICAgLi4uCistCistICAgICMgLS0gUkVHSVNURVIgQ0xFQU5VUCBU QVNLOgorLSAgICBjbGVhbnVwX3Rhc2tzLmFkZF90YXNrKGNsZWFuLCAiY2xlYW5fZG9jcyIpCist ICAgIGNsZWFudXBfdGFza3MuY29uZmlndXJlKG5hbWVzcGFjZS5jb25maWd1cmF0aW9uKCkpCist IiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1 bmN0aW9uCistaW1wb3J0IG9zLnBhdGgKKy1pbXBvcnQgc3lzCistaW1wb3J0IHBhdGhsaWIKKy1m cm9tIGludm9rZSBpbXBvcnQgdGFzaywgQ29sbGVjdGlvbgorLWZyb20gaW52b2tlLmV4ZWN1dG9y IGltcG9ydCBFeGVjdXRvcgorLWZyb20gaW52b2tlLmV4Y2VwdGlvbnMgaW1wb3J0IEV4aXQsIEZh aWx1cmUsIFVuZXhwZWN0ZWRFeGl0CistZnJvbSBwYXRoIGltcG9ydCBQYXRoCistCistCistIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ0xFQU5VUCBVVElMSVRJRVM6CistIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorLWRlZiBjbGVhbnVwX2FjY2VwdF9vbGRfY29uZmlnKGN0eCk6CistICAgIGN0 eC5jbGVhbnVwLmRpcmVjdG9yaWVzLmV4dGVuZChjdHguY2xlYW4uZGlyZWN0b3JpZXMgb3IgW10p CistICAgIGN0eC5jbGVhbnVwLmV4dHJhX2RpcmVjdG9yaWVzLmV4dGVuZChjdHguY2xlYW4uZXh0 cmFfZGlyZWN0b3JpZXMgb3IgW10pCistICAgIGN0eC5jbGVhbnVwLmZpbGVzLmV4dGVuZChjdHgu Y2xlYW4uZmlsZXMgb3IgW10pCistICAgIGN0eC5jbGVhbnVwLmV4dHJhX2ZpbGVzLmV4dGVuZChj dHguY2xlYW4uZXh0cmFfZmlsZXMgb3IgW10pCistCistICAgIGN0eC5jbGVhbnVwX2FsbC5kaXJl Y3Rvcmllcy5leHRlbmQoY3R4LmNsZWFuX2FsbC5kaXJlY3RvcmllcyBvciBbXSkKKy0gICAgY3R4 LmNsZWFudXBfYWxsLmV4dHJhX2RpcmVjdG9yaWVzLmV4dGVuZChjdHguY2xlYW5fYWxsLmV4dHJh X2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBjdHguY2xlYW51cF9hbGwuZmlsZXMuZXh0ZW5kKGN0 eC5jbGVhbl9hbGwuZmlsZXMgb3IgW10pCistICAgIGN0eC5jbGVhbnVwX2FsbC5leHRyYV9maWxl cy5leHRlbmQoY3R4LmNsZWFuX2FsbC5leHRyYV9maWxlcyBvciBbXSkKKy0KKy0KKy1kZWYgZXhl Y3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51cF90YXNrcywgZHJ5X3J1bj1GYWxzZSk6Cist ICAgICIiIkV4ZWN1dGUgc2V2ZXJhbCBjbGVhbnVwIHRhc2tzIGFzIHBhcnQgb2YgdGhlIGNsZWFu dXAuCistCistICAgIFJFUVVJUkVTOiBgYGNsZWFuKGN0eCwgZHJ5X3J1bj1GYWxzZSlgYCBzaWdu YXR1cmUgaW4gY2xlYW51cCB0YXNrcy4KKy0KKy0gICAgOnBhcmFtIGN0eDogICAgICAgICAgICAg Q29udGV4dCBvYmplY3QgZm9yIHRoZSB0YXNrcy4KKy0gICAgOnBhcmFtIGNsZWFudXBfdGFza3M6 ICAgQ29sbGVjdGlvbiBvZiBjbGVhbnVwIHRhc2tzIChhcyBDb2xsZWN0aW9uKS4KKy0gICAgOnBh cmFtIGRyeV9ydW46ICAgICAgICAgSW5kaWNhdGVzIGRyeS1ydW4gbW9kZSAoYm9vbCkKKy0gICAg IiIiCistICAgICMgcHlsaW50OiBkaXNhYmxlPXJlZGVmaW5lZC1vdXRlci1uYW1lCistICAgIGV4 ZWN1dG9yID0gRXhlY3V0b3IoY2xlYW51cF90YXNrcywgY3R4LmNvbmZpZykKKy0gICAgZmFpbHVy ZV9jb3VudCA9IDAKKy0gICAgZm9yIGNsZWFudXBfdGFzayBpbiBjbGVhbnVwX3Rhc2tzLnRhc2tz OgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHByaW50KCJDTEVBTlVQIFRBU0s6ICVzIiAl IGNsZWFudXBfdGFzaykKKy0gICAgICAgICAgICBleGVjdXRvci5leGVjdXRlKChjbGVhbnVwX3Rh c2ssIGRpY3QoZHJ5X3J1bj1kcnlfcnVuKSkpCistICAgICAgICBleGNlcHQgKEV4aXQsIEZhaWx1 cmUsIFVuZXhwZWN0ZWRFeGl0KSBhcyBlOgorLSAgICAgICAgICAgIHByaW50KCJGQUlMVVJFIGlu IENMRUFOVVAgVEFTSzogJXMgKEdSQUNFRlVMTFktSUdOT1JFRCkiICUgY2xlYW51cF90YXNrKQor LSAgICAgICAgICAgIGZhaWx1cmVfY291bnQgKz0gMQorLQorLSAgICBpZiBmYWlsdXJlX2NvdW50 OgorLSAgICAgICAgcHJpbnQoIkNMRUFOVVAgVEFTS1M6ICVkIGZhaWx1cmUocykgb2NjdXJlZCIg JSBmYWlsdXJlX2NvdW50KQorLQorLQorLWRlZiBjbGVhbnVwX2RpcnMocGF0dGVybnMsIGRyeV9y dW49RmFsc2UsIHdvcmtkaXI9Ii4iKToKKy0gICAgIiIiUmVtb3ZlIGRpcmVjdG9yaWVzIChhbmQg dGhlaXIgY29udGVudHMpIHJlY3Vyc2l2ZWx5LgorLSAgICBTa2lwcyByZW1vdmFsIGlmIGRpcmVj dG9yaWVzIGRvZXMgbm90IGV4aXN0LgorLQorLSAgICA6cGFyYW0gcGF0dGVybnM6ICAgIERpcmVj dG9yeSBuYW1lIHBhdHRlcm5zLCBsaWtlICIqKi90bXAqIiAoYXMgbGlzdCkuCistICAgIDpwYXJh bSBkcnlfcnVuOiAgICAgRHJ5LXJ1biBtb2RlIGluZGljYXRvciAoYXMgYm9vbCkuCistICAgIDpw YXJhbSB3b3JrZGlyOiAgICAgQ3VycmVudCB3b3JrIGRpcmVjdG9yeSAoZGVmYXVsdD0iLiIpCist ICAgICIiIgorLSAgICBjdXJyZW50X2RpciA9IFBhdGgod29ya2RpcikKKy0gICAgcHl0aG9uX2Jh c2VkaXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFibGUpLmRpcm5hbWUoKSkuam9pbnBhdGgoIi4u IikuYWJzcGF0aCgpCistICAgIHdhcm4yX2NvdW50ZXIgPSAwCistICAgIGZvciBkaXJfcGF0dGVy biBpbiBwYXR0ZXJuczoKKy0gICAgICAgIGZvciBkaXJlY3RvcnkgaW4gcGF0aF9nbG9iKGRpcl9w YXR0ZXJuLCBjdXJyZW50X2Rpcik6CistICAgICAgICAgICAgZGlyZWN0b3J5MiA9IGRpcmVjdG9y eS5hYnNwYXRoKCkKKy0gICAgICAgICAgICBpZiBzeXMuZXhlY3V0YWJsZS5zdGFydHN3aXRoKGRp cmVjdG9yeTIpOgorLSAgICAgICAgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1saW5lLXRvby1s b25nCistICAgICAgICAgICAgICAgIHByaW50KCJTS0lQLVNVSUNJREU6ICclcycgY29udGFpbnMg Y3VycmVudCBweXRob24gZXhlY3V0YWJsZSIgJSBkaXJlY3RvcnkpCistICAgICAgICAgICAgICAg IGNvbnRpbnVlCistICAgICAgICAgICAgZWxpZiBkaXJlY3RvcnkyLnN0YXJ0c3dpdGgocHl0aG9u X2Jhc2VkaXIpOgorLSAgICAgICAgICAgICAgICAjIC0tIFBST1RFQ1QgQ1VSUkVOVExZIFVTRUQg VklSVFVBTCBFTlZJUk9OTUVOVDoKKy0gICAgICAgICAgICAgICAgaWYgd2FybjJfY291bnRlciA8 PSA0OgorLSAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlNLSVAtU1VJQ0lERTogJyVzJyIgJSBk aXJlY3RvcnkpCistICAgICAgICAgICAgICAgIHdhcm4yX2NvdW50ZXIgKz0gMQorLSAgICAgICAg ICAgICAgICBjb250aW51ZQorLQorLSAgICAgICAgICAgIGlmIG5vdCBkaXJlY3RvcnkuaXNkaXIo KToKKy0gICAgICAgICAgICAgICAgcHJpbnQoIlJNVFJFRTogJXMgKFNLSVBQRUQ6IE5vdCBhIGRp cmVjdG9yeSkiICUgZGlyZWN0b3J5KQorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLQorLSAg ICAgICAgICAgIGlmIGRyeV9ydW46CistICAgICAgICAgICAgICAgIHByaW50KCJSTVRSRUU6ICVz IChkcnktcnVuKSIgJSBkaXJlY3RvcnkpCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAg ICAgICAgcHJpbnQoIlJNVFJFRTogJXMiICUgZGlyZWN0b3J5KQorLSAgICAgICAgICAgICAgICBk aXJlY3Rvcnkucm10cmVlX3AoKQorLQorLQorLWRlZiBjbGVhbnVwX2ZpbGVzKHBhdHRlcm5zLCBk cnlfcnVuPUZhbHNlLCB3b3JrZGlyPSIuIik6CistICAgICIiIlJlbW92ZSBmaWxlcyBvciBmaWxl cyBzZWxlY3RlZCBieSBmaWxlIHBhdHRlcm5zLgorLSAgICBTa2lwcyByZW1vdmFsIGlmIGZpbGUg ZG9lcyBub3QgZXhpc3QuCistCistICAgIDpwYXJhbSBwYXR0ZXJuczogICAgRmlsZSBwYXR0ZXJu cywgbGlrZSAiKiovKi5weWMiIChhcyBsaXN0KS4KKy0gICAgOnBhcmFtIGRyeV9ydW46ICAgICBE cnktcnVuIG1vZGUgaW5kaWNhdG9yIChhcyBib29sKS4KKy0gICAgOnBhcmFtIHdvcmtkaXI6ICAg ICBDdXJyZW50IHdvcmsgZGlyZWN0b3J5IChkZWZhdWx0PSIuIikKKy0gICAgIiIiCistICAgIGN1 cnJlbnRfZGlyID0gUGF0aCh3b3JrZGlyKQorLSAgICBweXRob25fYmFzZWRpciA9IFBhdGgoUGF0 aChzeXMuZXhlY3V0YWJsZSkuZGlybmFtZSgpKS5qb2lucGF0aCgiLi4iKS5hYnNwYXRoKCkKKy0g ICAgZXJyb3JfbWVzc2FnZSA9IE5vbmUKKy0gICAgZXJyb3JfY291bnQgPSAwCistICAgIGZvciBm aWxlX3BhdHRlcm4gaW4gcGF0dGVybnM6CistICAgICAgICBmb3IgZmlsZV8gaW4gcGF0aF9nbG9i KGZpbGVfcGF0dGVybiwgY3VycmVudF9kaXIpOgorLSAgICAgICAgICAgIGlmIGZpbGVfLmFic3Bh dGgoKS5zdGFydHN3aXRoKHB5dGhvbl9iYXNlZGlyKToKKy0gICAgICAgICAgICAgICAgIyAtLSBQ Uk9URUNUIENVUlJFTlRMWSBVU0VEIFZJUlRVQUwgRU5WSVJPTk1FTlQ6CistICAgICAgICAgICAg ICAgIGNvbnRpbnVlCistICAgICAgICAgICAgaWYgbm90IGZpbGVfLmlzZmlsZSgpOgorLSAgICAg ICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAlcyAoU0tJUFBFRDogTm90IGEgZmlsZSkiICUgZmls ZV8pCistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistCistICAgICAgICAgICAgaWYgZHJ5X3J1 bjoKKy0gICAgICAgICAgICAgICAgcHJpbnQoIlJFTU9WRTogJXMgKGRyeS1ydW4pIiAlIGZpbGVf KQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVz IiAlIGZpbGVfKQorLSAgICAgICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAgICAgICBm aWxlXy5yZW1vdmVfcCgpCistICAgICAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgor LSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICIlczogJXMiICUgKGUuX19jbGFzc19fLl9f bmFtZV9fLCBlKQorLSAgICAgICAgICAgICAgICAgICAgcHJpbnQobWVzc2FnZSArICIgYmFzZWRp cjogIisgcHl0aG9uX2Jhc2VkaXIpCistICAgICAgICAgICAgICAgICAgICBlcnJvcl9jb3VudCAr PSAxCistICAgICAgICAgICAgICAgICAgICBpZiBub3QgZXJyb3JfbWVzc2FnZToKKy0gICAgICAg ICAgICAgICAgICAgICAgICBlcnJvcl9tZXNzYWdlID0gbWVzc2FnZQorLSAgICBpZiBGYWxzZSBh bmQgZXJyb3JfbWVzc2FnZToKKy0gICAgICAgIGNsYXNzIENsZWFudXBFcnJvcihSdW50aW1lRXJy b3IpOgorLSAgICAgICAgICAgIHBhc3MKKy0gICAgICAgIHJhaXNlIENsZWFudXBFcnJvcihlcnJv cl9tZXNzYWdlKQorLQorLQorLWRlZiBwYXRoX2dsb2IocGF0dGVybiwgY3VycmVudF9kaXI9Tm9u ZSk6CistICAgICIiIlVzZSBwYXRobGliIGZvciBhbnQtbGlrZSBwYXR0ZXJucywgbGlrZTogIioq LyoucHkiCistCistICAgIDpwYXJhbSBwYXR0ZXJuOiAgICAgIEZpbGUvZGlyZWN0b3J5IHBhdHRl cm4gdG8gdXNlIChhcyBzdHJpbmcpLgorLSAgICA6cGFyYW0gY3VycmVudF9kaXI6ICBDdXJyZW50 IHdvcmtpbmcgZGlyZWN0b3J5IChhcyBQYXRoLCBwYXRobGliLlBhdGgsIHN0cikKKy0gICAgOnJl dHVybiBSZXNvbHZlZCBQYXRoIChhcyBwYXRoLlBhdGgpLgorLSAgICAiIiIKKy0gICAgaWYgbm90 IGN1cnJlbnRfZGlyOgorLSAgICAgICAgY3VycmVudF9kaXIgPSBwYXRobGliLlBhdGguY3dkKCkK Ky0gICAgZWxpZiBub3QgaXNpbnN0YW5jZShjdXJyZW50X2RpciwgcGF0aGxpYi5QYXRoKToKKy0g ICAgICAgICMgLS0gQ0FTRTogc3RyaW5nLCBwYXRoLlBhdGggKHN0cmluZy1saWtlKQorLSAgICAg ICAgY3VycmVudF9kaXIgPSBwYXRobGliLlBhdGgoc3RyKGN1cnJlbnRfZGlyKSkKKy0KKy0gICAg Zm9yIHAgaW4gY3VycmVudF9kaXIuZ2xvYihwYXR0ZXJuKToKKy0gICAgICAgIHlpZWxkIFBhdGgo c3RyKHApKQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEdFTkVSSUMgQ0xFQU5V UCBUQVNLUzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistQHRhc2sKKy1kZWYgY2xlYW4oY3R4 LCBkcnlfcnVuPUZhbHNlKToKKy0gICAgIiIiQ2xlYW51cCB0ZW1wb3JhcnkgZGlycy9maWxlcyB0 byByZWdhaW4gYSBjbGVhbiBzdGF0ZS4iIiIKKy0gICAgY2xlYW51cF9hY2NlcHRfb2xkX2NvbmZp ZyhjdHgpCistICAgIGRpcmVjdG9yaWVzID0gY3R4LmNsZWFudXAuZGlyZWN0b3JpZXMgb3IgW10K Ky0gICAgZGlyZWN0b3JpZXMuZXh0ZW5kKGN0eC5jbGVhbnVwLmV4dHJhX2RpcmVjdG9yaWVzIG9y IFtdKQorLSAgICBmaWxlcyA9IGN0eC5jbGVhbnVwLmZpbGVzIG9yIFtdCistICAgIGZpbGVzLmV4 dGVuZChjdHguY2xlYW51cC5leHRyYV9maWxlcyBvciBbXSkKKy0KKy0gICAgIyAtLSBQRVJGT1JN IENMRUFOVVA6CistICAgIGV4ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFudXBfdGFza3Ms IGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgY2xlYW51cF9kaXJzKGRpcmVjdG9yaWVzLCBkcnlfcnVu PWRyeV9ydW4pCistICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIGRyeV9ydW49ZHJ5X3J1bikKKy0K Ky0KKy1AdGFzayhuYW1lPSJhbGwiLCBhbGlhc2VzPSgiZGlzdGNsZWFuIiwpKQorLWRlZiBjbGVh bl9hbGwoY3R4LCBkcnlfcnVuPUZhbHNlKToKKy0gICAgIiIiQ2xlYW4gdXAgZXZlcnl0aGluZywg ZXZlbiB0aGUgcHJlY2lvdXMgc3R1ZmYuCistICAgIE5PVEU6IGNsZWFuIHRhc2sgaXMgZXhlY3V0 ZWQgZmlyc3QuCistICAgICIiIgorLSAgICBjbGVhbnVwX2FjY2VwdF9vbGRfY29uZmlnKGN0eCkK Ky0gICAgZGlyZWN0b3JpZXMgPSBjdHguY29uZmlnLmNsZWFudXBfYWxsLmRpcmVjdG9yaWVzIG9y IFtdCistICAgIGRpcmVjdG9yaWVzLmV4dGVuZChjdHguY29uZmlnLmNsZWFudXBfYWxsLmV4dHJh X2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBmaWxlcyA9IGN0eC5jb25maWcuY2xlYW51cF9hbGwu ZmlsZXMgb3IgW10KKy0gICAgZmlsZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51cF9hbGwuZXh0 cmFfZmlsZXMgb3IgW10pCistCistICAgICMgLS0gUEVSRk9STSBDTEVBTlVQOgorLSAgICAjIEhJ TlQ6IFJlbW92ZSBub3cgZGlyZWN0b3JpZXMsIGZpbGVzIGZpcnN0IGJlZm9yZSBjbGVhbnVwLXRh c2tzLgorLSAgICBjbGVhbnVwX2RpcnMoZGlyZWN0b3JpZXMsIGRyeV9ydW49ZHJ5X3J1bikKKy0g ICAgY2xlYW51cF9maWxlcyhmaWxlcywgZHJ5X3J1bj1kcnlfcnVuKQorLSAgICBleGVjdXRlX2Ns ZWFudXBfdGFza3MoY3R4LCBjbGVhbnVwX2FsbF90YXNrcywgZHJ5X3J1bj1kcnlfcnVuKQorLSAg ICBjbGVhbihjdHgsIGRyeV9ydW49ZHJ5X3J1bikKKy0KKy0KKy1AdGFzayhuYW1lPSJweXRob24i KQorLWRlZiBjbGVhbl9weXRob24oY3R4LCBkcnlfcnVuPUZhbHNlKToKKy0gICAgIiIiQ2xlYW51 cCBweXRob24gcmVsYXRlZCBmaWxlcy9kaXJzOiAqLnB5YywgKi5weW8sIC4uLiIiIgorLSAgICAj IE1BWUJFIE5PVDogIioqL19fcHljYWNoZV9fIgorLSAgICBjbGVhbnVwX2RpcnMoWyJidWlsZCIs ICJkaXN0IiwgIiouZWdnLWluZm8iLCAiKiovX19weWNhY2hlX18iXSwKKy0gICAgICAgICAgICAg ICAgIGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgaWYgbm90IGRyeV9ydW46CistICAgICAgICBjdHgu cnVuKCJweS5jbGVhbnVwIikKKy0gICAgY2xlYW51cF9maWxlcyhbIioqLyoucHljIiwgIioqLyou cHlvIiwgIioqLyokcHkuY2xhc3MiXSwgZHJ5X3J1bj1kcnlfcnVuKQorLQorLQorLSMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKy0jIFRBU0sgQ09ORklHVVJBVElPTjoKKy0jIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCistQ0xFQU5VUF9FTVBUWV9DT05GSUcgPSB7CistICAgICJkaXJlY3RvcmllcyI6IFtd LAorLSAgICAiZmlsZXMiOiBbXSwKKy0gICAgImV4dHJhX2RpcmVjdG9yaWVzIjogW10sCistICAg ICJleHRyYV9maWxlcyI6IFtdLAorLX0KKy1kZWYgbWFrZV9jbGVhbnVwX2NvbmZpZygqKmt3YXJn cyk6CistICAgIGNvbmZpZ19kYXRhID0gQ0xFQU5VUF9FTVBUWV9DT05GSUcuY29weSgpCistICAg IGNvbmZpZ19kYXRhLnVwZGF0ZShrd2FyZ3MpCistICAgIHJldHVybiBjb25maWdfZGF0YQorLQor LQorLW5hbWVzcGFjZSA9IENvbGxlY3Rpb24oY2xlYW5fYWxsLCBjbGVhbl9weXRob24pCistbmFt ZXNwYWNlLmFkZF90YXNrKGNsZWFuLCBkZWZhdWx0PVRydWUpCistbmFtZXNwYWNlLmNvbmZpZ3Vy ZSh7CistICAgICJjbGVhbnVwIjogbWFrZV9jbGVhbnVwX2NvbmZpZygKKy0gICAgICAgIGZpbGVz PVsiKi5iYWsiLCAiKi5sb2ciLCAiKi50bXAiLCAiKiovLkRTX1N0b3JlIiwgIioqLyoufip+Il0K Ky0gICAgKSwKKy0gICAgImNsZWFudXBfYWxsIjogbWFrZV9jbGVhbnVwX2NvbmZpZygKKy0gICAg ICAgIGRpcmVjdG9yaWVzPVsiLnZlbnYqIiwgIi50b3giLCAiZG93bmxvYWRzIiwgInRtcCJdCist ICAgICksCistICAgICMgLS0gQkFDS1dBUkQtQ09NUEFUSUJMRTogT0xELVNUWUxFCistICAgICJj bGVhbiI6ICAgICBDTEVBTlVQX0VNUFRZX0NPTkZJRy5jb3B5KCksCistICAgICJjbGVhbl9hbGwi OiBDTEVBTlVQX0VNUFRZX0NPTkZJRy5jb3B5KCksCistfSkKKy0KKy0KKy0jIC0tIEVYVEVOU0lP Ti1QT0lOVDogQ0xFQU5VUCBUQVNLUyAoY2FsbGVkIGJ5OiBjbGVhbiwgY2xlYW5fYWxsIHRhc2sp CistIyBOT1RFOiBDYW4gYmUgdXNlZCBieSBvdGhlciB0YXNrbGV0cyB0byByZWdpc3RlciBjbGVh bnVwIHRhc2tzLgorLWNsZWFudXBfdGFza3MgPSBDb2xsZWN0aW9uKCJjbGVhbnVwX3Rhc2tzIikK Ky1jbGVhbnVwX2FsbF90YXNrcyA9IENvbGxlY3Rpb24oImNsZWFudXBfYWxsX3Rhc2tzIikKKy0K Ky0jIC0tIEVYVEVORCBOT1JNQUwgQ0xFQU5VUC1UQVNLUzoKKy0jIERJU0FCTEVEOiBjbGVhbnVw X3Rhc2tzLmFkZF90YXNrKGNsZWFuX3B5dGhvbikKKy0jCistIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorLSMgRVhURU5TSU9OLVBPSU5UOiBDT05GSUdVUkFUSU9OIEhFTFBFUlM6IENhbiBiZSB1c2Vk IGZyb20gb3RoZXIgdGFzayBtb2R1bGVzCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWRlZiBj b25maWdfYWRkX2NsZWFudXBfZGlycyhkaXJlY3Rvcmllcyk6CistICAgICMgcHlsaW50OiBkaXNh YmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgdGhlX2NsZWFudXBfZGlyZWN0b3JpZXMgPSBuYW1l c3BhY2UuX2NvbmZpZ3VyYXRpb25bImNsZWFuIl1bImRpcmVjdG9yaWVzIl0KKy0gICAgdGhlX2Ns ZWFudXBfZGlyZWN0b3JpZXMuZXh0ZW5kKGRpcmVjdG9yaWVzKQorLQorLWRlZiBjb25maWdfYWRk X2NsZWFudXBfZmlsZXMoZmlsZXMpOgorLSAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQt YWNjZXNzCistICAgIHRoZV9jbGVhbnVwX2ZpbGVzID0gbmFtZXNwYWNlLl9jb25maWd1cmF0aW9u WyJjbGVhbiJdWyJmaWxlcyJdCistICAgIHRoZV9jbGVhbnVwX2ZpbGVzLmV4dGVuZChmaWxlcykK K2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL1JFQURNRS5yc3QgYi90YXNrcy9fdmVuZG9yL1JF QURNRS5yc3QKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNjhmYzA2YS4uMDAwMDAw MAorLS0tIGEvdGFza3MvX3ZlbmRvci9SRUFETUUucnN0CisrKysgL2Rldi9udWxsCitAQCAtMSwz NSArMCwwIEBACistdGFza3MvX3ZlbmRvcjogQnVuZGxlZCB2ZW5kb3IgcGFydHMgLS0gbmVlZGVk IGJ5IHRhc2tzCistPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLQorLVRoaXMgZGlyZWN0b3J5IGNv bnRhaW5zIGJ1bmRsZWQgYXJjaGl2ZXMgdGhhdCBtYXkgYmUgbmVlZGVkIHRvIHJ1biB0aGUgdGFz a3MuCistRXNwZWNpYWxseSwgaXQgY29udGFpbnMgYW4gZXhlY3V0YWJsZSAiaW52b2tlLnppcCIg YXJjaGl2ZS4KKy1UaGlzIGFyY2hpdmUgY2FuIGJlIHVzZWQgd2hlbiBpbnZva2UgaXMgbm90IGlu c3RhbGxlZC4KKy0KKy1UbyBleGVjdXRlIGludm9rZSBmcm9tIHRoZSBidW5kbGVkIFpJUCBhcmNo aXZlOjoKKy0KKy0KKy0gICAgcHl0aG9uIC1tIHRhc2tzL192ZW5kb3IvaW52b2tlLnppcCAtLWhl bHAKKy0gICAgcHl0aG9uIC1tIHRhc2tzL192ZW5kb3IvaW52b2tlLnppcCAtLXZlcnNpb24KKy0K Ky0KKy1FeGFtcGxlIGZvciBhIGxvY2FsICJiaW4vaW52b2tlIiBzY3JpcHQgaW4gYSBVTklYIGxp a2UgcGxhdGZvcm0gZW52aXJvbm1lbnQ6OgorLQorLSAgICAjIS9iaW4vYmFzaAorLSAgICAjIFJV TiBJTlZPS0U6IEZyb20gYnVuZGxlZCBaSVAgZmlsZS4KKy0KKy0gICAgSEVSRT0kKGRpcm5hbWUg JDApCistCistICAgIHB5dGhvbiAke0hFUkV9Ly4uL3Rhc2tzL192ZW5kb3IvaW52b2tlLnppcCAk KgorLQorLUV4YW1wbGUgZm9yIGEgbG9jYWwgImJpbi9pbnZva2UuY21kIiBzY3JpcHQgaW4gYSBX aW5kb3dzIGVudmlyb25tZW50OjoKKy0KKy0gICAgQGVjaG8gb2ZmCistICAgIFJFTSA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLSAgICBSRU0gUlVOIElOVk9LRTogRnJvbSBidW5kbGVkIFpJUCBmaWxlLgor LSAgICBSRU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy0gICAgc2V0bG9jYWwKKy0gICAgc2V0IEhF UkU9JX5kcDAKKy0gICAgaWYgbm90IGRlZmluZWQgUFlUSE9OICAgc2V0IFBZVEhPTj1weXRob24K Ky0KKy0gICAgJVBZVEhPTiUgJUhFUkUlLi4vdGFza3MvX3ZlbmRvci9pbnZva2UuemlwICIlKiIK K2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgYi90YXNrcy9fdmVuZG9yL2lu dm9rZS56aXAKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYmQxOTQxMjg5YjQyN2I2 Y2Q2YmVhZjE4OGM4NWRlZjU4ZWU0Y2UzMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMAorR0lUIGJpbmFyeSBwYXRjaAorbGl0ZXJhbCAwCitIY21WP2QwMDAwMQorCits aXRlcmFsIDE3MjI4MQoremNtWl59VzJ8VUZ4MyMlPndyJChDWlFIaE8rcVB9bndyJCV5K3VuV2Rt JWUlTCpTV290VDIoKCpNeWlyQUdncm5fCit6QD4wTWNrTzJTbmZWbzZUe0dZfURgdkw+TjJDJVNv d1gtc3pRJkVOaDBPbkRYUVApK01RRm4yTjBzc1ZnMFIjWDUKK3pMSF9ydHs2QiZKbiF5MlZvdWVk Qm5oX0hYZmRCeVBLPit7fHwwQUhNWEpLcE10ZnhuN0A5fUBNQEt0NWgqWj1BTAoremYzI2Vid3Jz Y1BwPyY3bTtDRkA9MmsqaDJYdmhgd2BQbzJwSShhckRyTj1hX0N6ZVJrYyZAal5IWEQhN1pRelNq Cit6b1phMnMjWnk8QTw0d2h5V2llblhFbj1TSVZiQyViT0N9blA5Z19nUDBkMFE1TUsocXhtRGIz PWk5YXFwblpobT0KK3pafGRyQW5aP3w+S091dFNBaVM5IztOaDVMeHV2VyooeSMoa2ZkUzUmRUx8 PH1yMHVQSXo5XzdMd2s4WTdTQX4+OworenVuY2YmWWduRyNSZXBCZiUjZlREcSRoVHQxK3RRU1Jh dEU1WGhgZE1zU3NhbE9ZQyo4RXdLfT1FZjF1T3ZjJE94Cit6Kz1iUT5SZiZJNmpBN0wyMGR1dGBx ZVNHfEEkdlZoRGA4VXx6WXVqKiZGdn5+JnEodjNjaD82M3BZM31FUnojODYKK3o0Y2o1ejlCe01O ZXQhT0pIQnUzfG4hRllXKz9iYFNwWkhzVGxRPjx7JkMwSnsqUHNoenhweG4mPWQ7QURoMmVOIwor ej9JT0NmQ0B3PXBfckBtYHl5UzVsaEh5b0RkeUQlSVF2NmhXP2t2dk9eakVhSzheUTIjIV5qfFVC QEMwSWUkaD1TCit6Yz1CfipUeG4yNFFVXzNLT0QtYDdpZGBOWSpkd34kLVFzYipiYWkjei1iTHxk MHRARGY+RXtNNTteJmBFNHVzJW4KK3pQJUxvZHYoPXZtb3ZkLSs8Y3Rxb2AhMnprTUNtZFReMH1O Z15sYHtuPjk9P1UwUCNlKUJCWWZQRkM3YHRoNDVgagoremEqemtiYT4tb3l1UmVycDdObWxjUUVq RyozYVJoTGskK1NiODlOOSN0K0YtM1VePnE3NVp7MC00cCU4VXNMP2BACit6IXpGVVJqSVMpTG9s Nk82YWhhJU9yYmVVS3poakhgSmx0bFU/KlpJUSswM2hqUFY9ZnJzIytWTHAqOyk2WXJ1OH4KK3o/ M1gqYDFucFIjNVVLRlJVYmswK3pSJTIjPG5zNGY5IXE7SmIqO3lpPndEeitacl9qaXtsfjNOfEoq Nz5OMHJhPgoreiYkfGwkI3tZRHl0QklxTmdgTXF4eU9ye1BjV1lEfW9mSGtfP0RTbUorX2NuR1Ql MjBIJH5edE4wekxEQjB7IzRQCit6V1l8PDdAJCZRWGJLP1drQmVOcUM2bXo2aHElLXAyZzBxI1NC akVvaTh9U2VjM0Q1UkRvbC07cWZFcTNVME9iRmEKK3pqZ2coVHdUWTRRfEphSlMrSzFaelFhQn1B SGNuZnVzWHdgVDBpOEAjbFBNWF9GSWpkdzlVMDl6U3NoISZPWVYyUgorel9yfUVIIVBMeWk2TnRx JkhsJnxodWlYSHtmRCY2OXdXVHA2MjwrX2FiYU5obiMmSSRgdTlqK1NXb1c1O1plXnFHCit6WG1s PyZLRmFTbzZfSzRQS003NTY2UiNjP3hZeEN7Z085KWFhUiFYdEo2bGAjX3ZWe2dPfDtqd1BDcCgr VDRzTF4KK3o/SmdecztCcHBhemVWQWAoMHVMN2NGNTMxYiUoO3g9eWIwb1o/TDdRckpBbStieGZY TDtOMDd+eSRra1RUd08pfAorel5vQ3ZyIUJ5XjNKbXxaNm0kbndrMntYeHhwcWtYS1Q1N0RAYmpA YXlLVHxsQFpmYih+JmhsPm09OCh+bTliQ3krCit6SWghU2ByZ1ZARThnOFZlQE01bD09Uz04OUJl OGxNZGptKGAkWHd9bkdUfUlTRnoqITVXXlY/KXdlYD9JWTMmUnkKK3o4QittTXB1JDItLWV+VUp6 KjRPd19ZXl4oa1dYYm93ckY/TS1uaWshY2lYdXY7WSphKzZ6S2xHc001YypEdnI4PgoreiQ8TjRn SWJxO3NRQHlGKSpqI2IwRVlBe1JidD5hMHxBYSRmS1RGc3NmWWR8Sj5zRVhRP2NnWXp6Rnd7WnAt R3dTCit6QEptPGhXJm98azJweyNMIW4pKnRIWSQ7YDxRcV9+cUAjajMyIzEweEt1VmhFXys0Vlh2 SkYoSVgzMXo9NEkqMTUKK3pQbmowK1ctUiZhcGR6X093RGVQbj8tZzlUNm1aZH4pfXlHYC1vXnVf M1JyQVV4U1c8Xz8lO0BPJC1tWjk+MUhQPAorelIkVTEtSSRlZCVTaDtMJTRjWn17P0lZSWpNM3ZT b3FfM0QqeWAqOGlsO0FvP0p6MDFOKz0yT2VKSmdyMSt9enJLCit6STFvS35gMS08Skh3YU0zZHVk KG05REglWnpNKzV3cHhVYHV7OT5zQ28+VyFoZmBDZV5mLS1XV28wdlhxWGA/c04KK3pNelU8fnBP VzsmNnxQZ09yfnkwTm82JWMyJURHV1VMK1d3NGttUl4kQE00RlgpJChGYHdqc0I2Zn1IfEE/JW8h TAorejNlNCh1d0kmSVF4a3dPVWpUZn1KPFdtKClyI09hbihtQGRldGAyR2VHUFZaQlR2VkVoTVJi Ymd6Jj5nQl5gSnckCit6Y0hiNTVifnMtX2VPV2VTTUBLVUglanRxUk59dUUrOGp6ZzJ4aXJ6djxX UUpaTD8/JDtidlJHQVVGenUqKk05O1gKK3pUZkxeelNGen5SekZIPEE+Y3d4JnIjfCQqN3okR1ox S2g8OFJEcllmQiRSc3I4JFpgeHhvRzV5T00ke1RmPHNtaAorekF2QUY5WGE+N3ZjbGw1QjJvMHU1 OFBOOW1gJEZCQFk2MGJROEhFJCg8NlEtfCplUDNLOF87e09qSFg5ME5zIzl9Cit6bWFteVd5YUAj VyRBPytOZjgmUklTekJSYEMoSjA9VTJ6NDhMZDhpbHoqbDB5SDNIZThrdz1SKEowZEBWVCs9SmwK K3pENmp4aUprSXd8bDg8MSpjcUFEaWh4OU1TdF4rfmNJa3lOZ0FRSkN0dHdUJGpeVFApK1pPJFVh JUVrSEBUSlRmbAorek9zdiRvRUNAfSplNTYhZ0VVeDc5R0ZMfmRjbzl9QEF+X2llUGV7YV4zZ0Jm ZVIqUVJURFhxUlBUdjJXQCE7MT5VCit6P0h8T21DQChtNmVyRGNLSHxWYmRpc3dHbHpiclRTbTR4 PFljSFQ/RSNCJTxyTGMkRHtCakh6UW14KXN0NH0/Pl4KK3pSenxHbDkpQFdxWEI3PWJFc2ZJcjZH JVJ7RThYd2ZvcE1aWXJFK0B7JClDbV9gXnQkQ191MW9fcSgySlgzUW5Qbworej1Me3gqYF95KlQt IXpsZzFGRV9aLX1UYFV7YEN2QUA2THlge0RDUjBVRSNreHY9MjhicEo7Q2UjYXw2aWZreDVwCit6 ZWpaVnZMPmoqKmMhKitYJnVsV3o/e24qZ0A/aDEjPCV5bClXaGY4c3Jnbip3PyhxP0FaRS11bURa XkV9ZGAxX3oKK3o8SGlvLSRhVmpLbWBLRkdkcEB0ZlAyYiZJSjRKNFdvNGZEczlpREhaKH5wVml7 Q0lmO1glKEc0XnA7NzlrWUUkeworektFbU9sI0l7all2VlJHQCZlIzROT0VBd2ZoYClkazR7X3x5 amk0UCl3bShJVi1aM25QZGROWSVGKzNvWm5ecHtlCit6NDtsI1QlUXk2Y05mVClSfEg+b2Y1bFZq UjhGQyp7dFJVVVdNRHlrNnlpclZfcCMkfCg5VWpUMU1kPm9eUk89ZTUKK3pwd0BnTlJsIWp9an5S KyErKn5RZ1JPa01fQDUldDQhZXJkWU16fT4tYkIwWV9kK2AwUjBiMk1TV20wZFN1JXV+MgorejVG aXJCKkppVjBZSWJKezRYQkJPPy1XNkNkOFc0NHRrPXNpKXYhNlE2RlE5X0gpWFB7WHd9KFUhO1Bt PHU0WGgqCit6SX1xJnlMKCNmI21pRzwrSXZ1NTNJaylIYz94NjBtZCNRRV97V0pBalpVWlZGPlMy ekdLcDNgdigwSm1RVlpWQGgKK3o+Y0h3UjshOXxqJktJX3I9ST5+I2A3fXN7SkNyd0hMMUd2Wl9M UHdKI3ptcWAtRUFRQSlieU83ZTJhRHBId2RwNQoreiopWi0wNTZqdUE2ajlOfilUZjxYVy0lTGs9 fFZlP1B5ODV8QzhHJFlNRDIxJjtsKHk7cFR7I3w0RGt4UEQhJVgkCit6ancldjB0TSpBbkNxNkFf bE5MNCV6e3VRQnV7RENKaEt6fjs0WHt0WkheV1l7WWZVTGxNNmErM3l+SFotWUhAaksKK3prNkcx Sz83KUFFYEBMRTUkNUw5bmpWaFdLS0dFa1EodT03UjlgVCl5VDlFPmFnUnpXR05GQ3cwO2hZZiN4 ZSNCNgorenZSZT5IMCh1Ty0wcWwqP2thYDwqKHhZY287RUlKKjZofUN+V3s9PnNoNXJ3d0NDbkQ+ QzJZJjdDflJETHBobjFPCit6VmlkJEZyQn5LYVV3PVR8elVTRDt1bVcyLXpHUFFMemtrWihZNGU2 fmNMKSNgJEFuMW0/fWlsXnhWPDNWNSQjUHcKK3o/Y308R2VnaEt+OFl1cEEmYnMlQjVTZEEqaHo8 Plk2eHslUlIxKVZvbXZ3PFhFNDI1NEpPeWspPzM4SFJONFRzcworemgqR343JipmaytYfCZuJVkl fFJaJml0K08taWtqNUpmUS1vaz92b1RXdk9hMlVSO05eTzM5Vj0pZlZ+I2xxKnNLCit6SH4oVlBZ Km9wJUpKOFJkLUtDfFF1ZDxeX1BfKEJRaz1odC1iLVpxdmJ+eExkSCFWUjZ0TnNYPyF2SVJCNTdA b2oKK3pPSSNlVjxOanh2YWxkS04yZyZfPHhMQUpyWWQxSjlVfVNXT2V5KGxFPTd9ZiU5MEBMUTJk QyF6b01vNX4+SWRUbQoreiZ6ezJhOG8pfEhBZChrKEd2aEU8ZTB6cUpKdU9OJWVZMWd3MkZ5LTw9 el56IWZPeEMkdD0/c3R2fGJ7bmFGYVdjCit6YCRgKE1nPU1mVktLJktrOGJCQHNoIUNHMHdHcj4x RFcrQjRqej9aPjAwT3N0Wj1LZTB3NWhEOUpIQVFwSVNASFcKK3pFNVI4TEZfI3dIT3p1MTB7bm15 TSY8LVVGbksodkxDQk9rbEx6bGhFNThZMUpXMFYzdkZtZ01uPnFucCpZWHlVbgorekhneDEzXmIq U1NEamgmeypZaj0tYTB9b1YyZzMtdWIlPEZebGQpdURWSn0+b3A9IU9wLS1+WSZ7dz1hMDlPX0hD Cit6NXN2clQ7RV9nPno9fGRARDlCc18jc1BOUTBuSH55ZFNTYkRUNCZQXm9fKU84X3thMGhYRi0y WDN7YzxuUmE7QEsKK3pfRiRRX2dQIV5yM3M2cHZpRFVrNXoxYlFiV0hvZX0wIWM9Z1VWKF9tcTww QzYzNj5ubismUUgxbFhkNHRLaF8tZgorekIwUlZkQzc4Y0s1REB1eVFKb3RsT00hTmlmYXohMD58 dHJfTS16dlYxVEktPSFeTll+Tk4xeClvTTMqemIzWl5OCit6RU48e0RgcVVpIyVQflpxRmIweT9L bEBiY2ZXZn12KHUtZVIlVlJiTEQ/PXNEbFZFemsjZVkxP3c5YSZWR011MTkKK3psTWZxTHk/bS1A bWJvTXIkJmZKPXNWXmxGVUlCTGolKXVCOSE8dUE/YW4zeVlAQFd4UyN3YihBUFFaVl9tP0wwTAor emlxUmchZVpuSnpnbDklWTRecFRxSXxfS2ljZCNnNytafjdgZiR0ZFBSRGtORDQ4PUZ1dXI0KWgq Xng8aWVrQCE9Cit6Z3k+TE1lWnBjWExZeVQzTWpjan1PRSkjVzdTdnRFUUgkJVhyPztSYU9iWjV7 aFIoOTVRP0VaMigqfCFsK0VMWWwKK3poKmw3V0NaelQxenUkbk1zRjhIJFg2cTNqPDhOKWh1R3Iy dnBFZmUzSzlabVVJb31GIWt3ci0pMFVEKEcmVSNPUworemNeeFJQRF5OP0QxU3taKHBEQTQmT3Ix ZHRnJlBDM1ZCaypgX2UlLTJ4O08tP15JWTN1U0IoKW5jcWZtcEE7MypjCit6SXlEY3FCZGo8fjBx SmVHek0mbjQtKVZJZGFIejUxbWJxKnlJeiU7eDY7V3YpVztMQkNrRkZIIXUmKXMmU1NmX2oKK3o2 PSRhemFne09XTGVAcXBfe2lIITVpSyhkREZ0Wn5PWkUzd3t3UUg1IXIlbTlWYyMhQVFRVlpMc0NF SEphcmlKZworel58MVZMQHl1UTVeRzl2NW4qazM5eks4bmt1PU50MGw9Z20mbD85cWRhJHZieUJf TmlBUig/P30rdk1WZVpaZUNTCit6dEx2cXZ6WjB0UWZQPCpBblVPV3A/UkAqPGlHfm8jY2lHRzR2 NGk1Km0yXiQ5Wl88YDZMMjgwIXlhZHFgaU9OenkKK3o/TXVHe2sjJGdFUmpyPy1uMWFDcmheWXpN TGBiZGJnWHJGRzJXVXdvQilWQmM/UGNmZHIpViRWbTVEdVRuT2MjZgoremhENGhyQEJrIWBJbFRN cGppQ3I2ZThuNmgpQWpsYjVKVnk1PnJqeGh7ekFsfm9PKWs7eiE4JXBWTGZOazJBd3hxCit6ZTBW a35WNkV+PmBoPylVKSpkcDZOeFliQSs7aFowYVNTTz02YH5qbnQyZTw1aDJyOE8mYH5CRzZXNFBe T29XKTQKK3paI1pEMlQzTnxHJFBLQiUpR0A5SExLVWc8PmxReFBnbURkNW1RSz5qaUkzKXNoNyhu fSUzXkIwVFhCQ3dsPjN4PgoremtYXlMxS0gzKkZlR1Y9TXhsfXZ2X2VDMD9YZGpYSHhScEk4I2Im bmVNMkkhOEZ1dD40ZGRAWU5QbVNZKCtPKnplCit6RnpERnl6UXNLUXNjWiUqdjhmZE1KJG5JcFkw WWdETDdpYnNfVlR3PUBwUnBwPzNONkdiNSZtM1hrO19sLTclQTwKK3p7IW97P0w0a2AqNyQ2azMk dnNpXzhpVitxa3RmdlBzRUxVNHJCOUpRN3dla1lvUnY+IUw0QVdNajFWdSpGbSZ8WQorenNlVTVI ZzZ4TGoqc2tNNE9sUVROYXotSng+cnlmS2ZwPjgwbjx5MnhKfnpwdl9qZ2RzenZhQWpBKVk/YzZu UUZGCit6SWQrP2Z0c2NuRnM7Vl4zJWAmYFo2MGhfcVFPaygoMD8mSGB6c0lIdDV0cipKV0ZtIzZU VGg4MWJTKWtwQVRjTTMKK3pKRV9BVHBfZTJZN0o4TX5qK0V4YkNDQVJDWWtVUHZmKXBWKERqTVhr eSU+WTc9JlZqVlMpbzVTcDFgS25jNXQwMworemhOaThxNTMoIUxtXn5PaGJQNTh4ajc8bmg0Zm5v TDRRJEY2TmJMUmg3ekxFTG1FblJrUk1pVkxeN1l3U3YrbDk4Cit6QVZ1Yztre0JKK3BJSjRlaE44 VUdwWVp8bzFAZ1dUUk0xXk8hWTYteClBUTlabWptajBtfDVoZ1d8WGAhQElKZ2MKK3pYNk1LQHZQ LVJDKVdQX3xWaC0/bHRaKU9LbFo9Z1NneDI/PF51SSopXktBU1RISkA4VC1NV1cjJXJNUWNFUDZN eworei1EZWp5Zml1NzBqVUUxJnlmS2RPKiE0fFVnRTF4UVU+e29xajFDV2xmeigmTXoyX2YpPSNI O2RTakJDRTNPQV9uCit6cld8JShYPFcpTGRXOSpNNFVqY3VuSSN3cXJEUXVwei1EIzJnZ3ladj1n SjdATkRsX2Q/MmdDZHU5ZntOemBKcS0KK3p3RUcxaXM1fXl7XmdXc1g8WiFybXkmPTVxMEJWVVkw TV5NKXFKcW51QlBiQ0Y3bFM5RldyJTVoTSsrek5NRzdFMgoremN9Ukt7KiUtVTJJeFhpRHtxWWxj dHk/YkU4PV5SQ1BzZk9VfEp1UGJmek8qQkU+Z2Q3VnopeWZZI3BMWiYqJmctCit6bSFoX25UYXJ3 VW43SUxrbm5rejZiMWw3Qz05YEoyd3NMKiFHcTBCZjlBUi1WI15xJD1VQ0VvR3pvKHdNPnFwKncK K3pAZkpQYyh7SkA+YkFnQlclSzU3QUgmVTImSz1EOWczbTJWbGVrdEV0dkstZVlNTj1gPEZCVkV0 czFWWEx7T3RNTAorekpjPjlSOzxVcURPNClkOTJEQjdxb2c1Z1coZlF6fj1GRCp4aUghb18hbjBr QnJHdH5UYD5Cc0I5NjlHJDM9YDJsCit6dndEcUhIe15lejU9cFN0P2N1I0RoOE8tRCtlVDNVJHgm akVBXmhHPTVsPHByJVI0SlRjTlM7QzQ3KmxJP19UcHwKK3opSnF7Nz0wfDsrVyhLYmApcjleT1Ir Vy1CWk5VO3pBUVpAQGo/WGZVQ3NRK3VIb3lESCVEMlQoaj0rRl4kRzlHcgorekAmUmwkeDBUNVY/ cSkhNj5fZlYoJTt2aWhyLXloSCF7fDM/SiUkUDtPfk8rKHBNZll7OGV3TWFxSUU+JDF1fTU9Cit6 TX1ZcUJAWT81WSVGengleG82c21PZkZqeVM0ZTRaJCRnb3Y7PiZORCY0YkRBOSNUfVRzZDRgPHp6 ZXI4PUxkJlEKK3ojYU9EdnBEIyoodDlhKFpXMmJGJFd4WmhpZzNAYE9NKXcqKFd8Mm9YNjR1bCM4 I3BOdzdkO2ZfP0pBYEcpKT4wPworenVtQT4zX0BZZCg2bUlHclh7M1I0JGNuPl8pfiZgWnVpZ0BV RlIzM0QqQGFkQC08MXlZKVlVVTIkNzFGaSpfMEJMCit6KCppSWdxIUBeUj1sJEBLKCRlUnJuSEt6 Xmk7NHQ8KE0hX3B1XjYxRnk4dGc1bG5uT2YmJGleX3BuR018YD1wWGQKK3ooX087YjZ7M2FXVCRx aXdHVT9PM291eW03JHBXU2FaUEhufiVwczNtJEFYPkAjKGFALWVHRW1jKm4yWkxfN2tpZgoreldm JHhuZlZHczc+MUx0PDV5Zjk+PzA0I2xVWG9BdWgjXihueFVlbl5gSm5rM0pOeGI2TDhLNlhaK3g8 XmUyVWN9Cit6cF40en5xKVpOMW96JFY0T3JaV0FhSSVsRHM4VVN1PGx+cj9jRTNtemI7ME9PaD1U QTM1c0U2SykpKTdpc3AkQiQKK3pWVH1xfUpSVC1VIzlUZiRPaVkjc1hSbE08Tjg7d1d2PlN0bGxi S2glR0V7OEMtb0VJa0BFeX1XQn1LYWVPSFBeJQorej99N2Q9P0NYQnowK15qUGNRYHExOXpzPFVu WVVkJUZIQ2xGYmRfNnkmd2B8YXlKbmhxdmU7KyVTRG81aipUIyh7Cit6THBQWWwrYHQlc0lEKEpL cEFEdDwoJUpVakR3X2dLZHo0TnJha1c2JCY/dk90RXNvMGlBbmU3d1pSb3hnZlNtJnIKK3pzdCs1 dntYRDwqd31KcjZeTUphXnI4fUdlbFglN0pjMnZ+JDhfVmdGXlV9UmxYWGsrVV90a082e0E7cjB0 M2laQAorell6cGRtN1h0WWFTNk9wWCtFNzN4dlh7Xkg7bX41ZmB3QCNUQnBraUVCN2BFVEhuTUp+ PCZ9Tkhfdmo5fG5yNGxxCit6Y3NFa2hYbEJqVHM5KF9rZ20zP3FkNjljVHk3JkV5aTRFY1l1a2cq dCZjQCFfI00kSighPyp2UiM0QU5qRHJ0KXEKK3p5N3lCcGV8QklveHwoQHk8fUYhYnZIOE50Rzsy dz1RJVdqJU14NzhSUVBWNXlyNE1haXNMK19xIyVGeVk1KzRgTworekE4eXtVTCVVbTFYVXc/QUhz bn5vOyYkRFVEbWdlLSY1SmJUTEteVUV4QHp8VXZzRigybUFJNkhvNGF+VkFlV0R1Cit6ZjJtUVlM JW5iYDxVQ2VWWW80MW8hKUl6UE5+QX55akQlMF5PUG14c18tTV97ME9+RXFWbzEtYiN1PVZfNWVn P3sKK3ora3lNQyN7NVdOcnRQfkhBWllHMihQZigmSDdiKmgwV34rRjRIVFRCVEt+cVVyMS0/RlMq QGI9MWNmN1VqfmMqbAorelpoekklMGMxc3MtTGhxPThkd29McXZGMVlyNS01YCtZP3gzdWVDVk85 fmcrJTRLbW5VOE83PGBoVz15bVgtbTU5Cit6WFotJEsmKUlkS3FaKDRaMX5OPikhZWNEQnk1blV7 Mlk9JjFXanRWOHB2YnhLPX0paXNaX2JhRyNeRmAkaEJmIVoKK3pCWWdqenhsa25FZ2g/UV9FRCs4 UCk2KnRwYz93eit2R0tlSm5OcD9eNzNwTVBaUWUhejVvKTtTPVFzPktgMT8yfAorenNUd05wYkV4 N3I3VkBHWThMXmRzMFIpM3xsQDcrYT1UeTBJRXxgbmZFSj9Yb3QoPk8lUjhVNX42VmhUPE07ZmtG Cit6VEl+JENPJVQ3azBqbStOUjg/WDJNRTRLK0crY1RgWThOMyhlMVZFJFdOZ3ImPVBIP2pBIUhV ZlQqKWZtWmpHS2QKK3piPDdDWURlKlAwUipoUExBJEJJVGx0V1RERUV6JUctNStCRjZ0Ykh8QElp TEJgb0ZOPTt9a2h6KX1DV35qdXU7RgoremFZfnh7PjJmVjE3NyRnSFluVWFmMiNKZ3hLWSheRSZg YylhS2x1S2hgRygydWU9d1FYam84ZEd7Y2J9PmdBMiRhCit6MHMtP19Gd0pWcDI/RShUanAjZCtZ YTVPKHlgMlh4JU1od1NRblk1X2VxIUF3U1RmQFEkMj0tTithVHlJSz1ENiUKK3pxcSZXP25SPmpV KitRWG1UQFZ1czFXKGoteXNFNkxyRVpDdCZaS24jNmJEX1ViZktDaD51YnNDZUxXSUJ7c2swTQor el9RX305Q0NZZ2xZZTROLSFoRUZyZUZwMmpUQjxuWUpGKDdUKDUmVVFaKmtxXlhEKC1nSEEmMVVL PzVBIWV8Pj1KCit6bmVAZmI1SkkyKUQ0KCpkMksxPyRRZ017I0ZASVhQRHQwfmErcDw1ZmdkaGE8 e2B4TW07dkVaQUNQbDtPUnJIUXIKK3pqNCUqJkF6RG5qQSR2cn55PENKKENPcXAyQ1FDOHJ5aEh7 SUtLQld1b2BrLV4oUCRhcDdNdXNQNHtVWGJrOWR7OQorekNkPiZ2UEhEOHJBSGhMVD00NHYxVm1y eDAyNF9kPSlFd3heKkRMZj9NO1ZrQmVHaUROKl92fFBsJHFWQENNM1omCit6dkpld3J3Q0RjdW8w LW1DSXpXR1JHN3I7MmF2MzxJYUZRKSZgVDxXfXxCVyVYO1JJWE1vOWVXZys0bHhNZ1FeKT4KK3oh Sj80Jjxyc2Z9OGxie214R044NyM/WitlZExrTWF6KHhufDR2IVF7PDl0RGMrOHU/cVclWWtOK0N0 WlV7UF9LTgorenZwVCpSajU4fFl3MCVfdVZXKjVnOCVxcTBKfE9rcU59X2B7RzBTQUdUYUhiSXRS Xlh4Y15rKDQ4fG5sM2gtfmdaCit6KDVYTnZNbiFKeE1JITtIayMjWHk5JHBefFB1IU0/RjZITVNz O3lkSyZTOUlvbD94ZlN2Rl4mYF5TT0pJdXs+KFIKK3pFOTVROTNRSzF5eXx+M2tmfU5vMVlAYSpX R0wxYlNteDxSPXoycnt8Z1JqUldeV3xPYTE5Q155JU9sb1dxb1MrPAorenBIemdReWs2aGk2OH5J RV9HKj8lez42PS1MVlojPlhhS2lpTDA4Rj5aTkRNTjZfLTRQbG9YM0dBRCZUQkQ4VUNUCit6Iztn UntRTUNBX3VEU2ctLVEpQ3UqdlVfQSQ2WWIrTj0objwzQGtPY1EtSEhBUzh7JiQoNn5YMGFTd35B UiMxcFEKK3pLbUc+V0QlbkVYX218eyRhYk16ISYpRE8jQCloQTVRa0ZCcyptfkp4TWxQfEZFTVkh aTshSlJ6ViglU2NMS19nSgoremRDb3lWaG1HPihgIUxnM2NzIytQeDs1WEBkMU5sdUxmYXY3OXsy MTh2c3J9NVRwYlVwP3JBSUcrZSRjLUsmTCZmCit6O1U0dDQyNVl3fnhuJmZ0bz8yJWpZenJicHI+ S1UlWTg8QCU3TjU+dyNuNk4kXjxIQEs5d3RJZ2ohSFl8aS1ZRXoKK3pXVj13T0VsSzk+MDdLeFc1 NTlzMEpCKiE+YHloKWEpX3JafUhmWSNKb3ZoUmZJR3UtQSktR35aPER1QV9xP0dHfQorek9Eb3Zo eyNMajU0ZVVSeUFtfF41ZEY/VndWOGFGZ2ZZQVp+ZmQ4TlAhYDlUbz83dGc8PT5KWShkYklESHdw YlRgCit6WnVAey1PZXJaK0dPaz45PWBLNHV2PT9fekhiKmxeWk8lJjU2Mzd0filzPjI0YEsrJVRK JF8lQEBeazx8IzN5QyUKK3phd19gUE5kcmE8OH5BY3swSCRCVThaREktYWJ3TGd6UF96PVArI3NF ZEFGMkxhKCVfWitCWWIraWwtd3hEJmFnPAoreiYkfj0ocExQZ243aDZ8WEdNZUxUb2ZBQDFaMWx8 QiVyXmU/NnxWaWg4OUoxbm5eb15IPzRJZUJ4MWFMT0lfcUEyCit6WnY4QkA7S2JXaTdKVklqTmND fVJpRzh3Zm4xc35Fcm1raSspKnliJXErWj1rdlheTSZDLXE3XzYpNGJrT3N1Sj4KK3pzNnN1OV93 ZUBlYFpgNDNKTDtzJD4/cj5vUH1GXnEycyZDZ1EwITZRYDBsRUh6aUFHQ157bUJ6KT9oPShHKk11 Ngorejxza0cpVGFuP3BWSHVQdyQhZXVzeyk5OEBBIUJuO2teNip9Q2lgVH1ObmFwNTRhOUJrJGVs SWFXbFpOLXNOMmdpCit6IWVufEZkJSghbUN8TWViSXIpMmFOTG4+JVNRajxnZHdlb0lTPWVnaE9J O2lGKENVeEFpd24yZVk/VmRiTXgpcWMKK3oramphKzVjaUs8WUBEZF9ePzUlWlVZQGE7blZDdTh1 QztnfnU+SE5OP0I8ZjRkYW1RTm4wfWdfbnxwdVZiTjA8Jgorek5veTQqVC0mRmlZT1MxaUROOyU/ bTNZK0hXLWNhPkQ2QnckRE9GdX5ZK05fcVFnSSR0LW88dUt2fXEpc2VMVGBPCit6WCg3eSNUSW5R U2czaGR9dTVqdGlwa2tDLU54bnAtIzZTfWhwe2VPemFBJmJGJUNVaGU2dEsqJipHcUtVejB7UFUK K3olNHRAfioqWDdXa0p7RkxpeGEhVlY5MmM1M2RQKkxaOFI9eD9OazhFXmM4SyspS097TyF1Y31g Kn5uQ3FIRWRyaAoreiZNcyg4UURmeSZrKG9ObygyX1ZQbXc0NmdfPXtsa2BidH15dylVfXBwO3Er VEB+Zys8RXFGNW8jd2hZaT8oUm5wCit6X3BfSU9gY3ZtM0IjR0RORigmNkZlazl1RSQxfTtDN3Bf QiRrPz03cz4pN0dfOHdOTFo7c0slKW5SVCVmdCMldHIKK3pUbWw0ZiZCYmJOa2pZTHAkbCl3KV4x RklzTj8pdjFmcW1QOVUkO3lPNkVscGRscTZ9NnFTbCR0M3tPV3o9KWt7TworelV+OG45NnFFUnp4 b2pOalV+NWozcmpmdWhiK1N4OG9UcmlWK1BSVFo7UkhkU01nbD5TT1h8VStfQk9AanFVb3BVCit6 O0tgS3BLMVcjT293blYzMlVJP2dRUGlpNkk3RStwRDNxTU5JKWA8VDtPWC1HYXVwKH0xcH50akJe c082UE9XVD4KK3pAPThjSWJAanE7KWZxUGRrN1czYXQ7RipSSzlaWWk9MjNmPzlqc0s8cUI8c2hN Z2cle1cpNzJQVj1GZCMwVT4oNgoreihEY0V7aDMkLTQoUHJNVCtWd14lQnd3fUNPMEJkU2t7VjVD Q0kwWil4WSRmN2xmX35qRCRHUjdaRm53R2d7c3Y+Cit6TGc2MW9QMHxQU259NGEzbyFZaHh1PUtF QU9jMmJ9NiFgYCpTVkhDaiZLfXJiMkgkOTlWMGhIX0tfMCt4RS04VE0KK3o4XjJ5aEBpYigjYURS V080bSg3QjNJUFhfbXlqJXpBcUVIJGlKMn5JaWIzQj9oJl5Wc1dEYXJfcShHdCZnPT9meworekA3 SmF3PDRfclNmbVVzPmJlaDk7Ym0yY0lsV3w3T0VyZjIoWUJGOV9PUjJjX3NBZlgwWH4pODlxQldr X2AjVklvCit6MCVyQ0lKanhGY2QhTj1kaSYzMUJHM3oqPytOd1FrUDJVckJObWBydiFEezhZR352 a1QjaW9ERmJhPFVOIVdXZnkKK3okU3Qpb0s7dFA1RXYldVd5bVl9X183Nn1xMiUwXlI1c1dvfmk5 KU5gKHpEQzQ3WlkzfCY8LWJxJnZ7U1Bne0FWTAorejwjOFBYajFNOHUmb21LUmpibi1yWTVjbCFj OT5HZ2x8S2VrJVNWZV9fWmUqem9uRDd6XktAJG9ncnx7QHUjdzBwCit6TUBPM3JUVFlWWnRsVT9H Z2k/aUROTTl6c25faEwpKE1mYyUyKH1RUzRAeEohVG45aUUlQ2RzSEA3cWp4eD9ebVAKK3pBaElA VjJafXMpNkEldiNXXn1hbT5QdFM5OU5UWXB3aDJPa3hgNmApKkcwcE1gSEl6R2graUxCKW0pfjJB eGZtNworendpZXZpODdOY1IyJWcoWlg9PUZuNS1ab1FXK2lUVTlvTTZ5ISM5U1pGMTJlc2xEdy15 Tj1yWmtkUnBDLUx6RjhSCit6RTk8Xl84U3tMaTtxKTFrNzVFTlcwdHRra3M/fHI3JWg5ZH5oaHs/ V0QlcVZHb1lybndDJiVqR1N7IUZTMG8xSj4KK3pxZ183N3VCTmhkSTVvbiRjaFMtcWo4X097SSs+ dCNIYktvMWRKaDJfKHlKbj1QcUd6cnhPQSteZ0gzKWBReH1ZRgorejY7e3t0JTc+cFVQVW9veHA9 Tmd7a3BfQVIwKnxafm9uOFBuUChzOUdhNFB6QmJZNzBSYlUqbVdeZiYmYkYqJTlXCit6MFBmOWNO V2Z5NzY7b1ZqQVNROHtLfGM9ZD9MSEI/UFNYUjhoaG4tWGdDOFM4VFlfWkZYKDtnej14OyFeTHdn VnoKK3pAUlgqYW0lPig4ZFJRUnZndU1Kdl9kcnhtTm83UUB6fVdTNigybEItWEgmMiNhdkN2PWcj cUpaZCRnNUItbjtyfgorelRZNCRCN3RgfiUhZmBCO05BN0VOenNPO1BZRDsrdjRzSHNGTTZZX2Nv TEFvI3lMdzMlYktXcl9NRWdHMT8zWVYtCit6cWl7R3RzVD51TyRNeFBLUjFDIVBqSndhdEFMKkF9 I2Zsa3l5TmZiNjRVRCR9YXVpbVI5YDZvPWxHSlFfJiRnR0gKK3pLfldRIVo3UEhuI3hUNlA8QTY4 V2liOEtRXlpwYHs7MjtPX3tvYmNRNEdeXkVfcj4/cHI4JjdzbnJzcUVPKUJTTQorejR8bGYoaHV9 JjJtPWk9aj1yemJ5RWB9LUNKLXU5eHRPUn4xb1RDOGkyYmp3bG45dihPRDJiNiF1bVR+UFJJcWo9 Cit6U1Z+X242ckJsJmllan0lajF8dmkkK1hfOHI2OTJSb3o0TSp3cD82U1JLYmR+dTV7ZSR5NmxA Y0RDdEBTZXVZdFAKK3owa2VTNXZfPmo0PG5KcExiQVN2RVRoc1gwNC13S05qYSkqc3tLMml1MUtD anhZQH1jfF9LMS1OXmAjLSEjPFItVworelliPCU1TF5eKE1CJUlobkhZJDI4VCtBQSY5TWRrWFlM fDNQTyF9NDMpb219K3RCSnFEP310fnt6cTE8NEFWMklLCit6VkhYVT9VR09fcFhaeT1MKXMmdzJQ NlEwe3g0WDNgcTVvKVhqe1Y1PE9afj9XX3VrfFotQW1HSmpnXmZFZXJZdXcKK3pgVjk5dUErJVNF ZGlGfmlpPE5zTGBERk1GNCQmYSZQVk8xTWkxSzhFRHdESip2eXFTdEI0Zm9eRW44Vnt5eGJybwor ejFpTCpANnV+VXtCMU49RzFZQSpyVWB+P1RKX2hXVktkMk9wPGUtP0MhVS12fUljKztyUz1xajcl I01DUWtNeWNOCit6dnpyU2BueHliZGNLSDU1KmkpeDwjPVZ2KnM5blhLdDVrZCU3Z0JmUzkyendo e05QV2ZCbFk5SVZ8aTdwSSg8a0QKK3psbFZEPmkyWk9VaHBqfCpscVdRKTVFcHhAd1IlVjxAVHEw Qj9pWndNUEReNztNQ2UxTT82IUpQT1BKJFNxe2FCbAoreiNUaTlTaUUkKHU1PEJFeDMwdVEoUn5I aH5MRF5LZkFhbU90TDg0bk1hS0l+V0d6SlAzMWUjNVBJNERFfkRzezdgCit6KjY1JGxQZjk5djY/ KyN3ME9OSkwrUTxrYWVLQjBtWDNRVXJlWVY9LUBgV05qcFVgPyVtdlRQSHw1JiMwWEAyfGYKK3ps aWpJU1ZWSDM/dF91NnZuWjdpTkgpVD1WUD10VlFXRklHazkyOytua30mbTRETypGX2t+SyZKUXRH aUNaekBzRQorekxVaTxHd0ojdmA5UyUrLUNgbDt8RmlgYSg9ZTJPaFElJkNYNlI3SSRXaFYwPDJO MjkrT3t6cFhNTDxHZElFUHEqCit6dFNPRW96Jkt9Xk0kJGxeNDdlX0VwNHMrSnYydD5kY0M+Yy1p bERjU1hHU35qYGFORXM+Y1hTfmxBRX0lTWFxUE0KK3owRj8tazFTOGUrK2FFcVBYMWttREU+LXUy ZGNyVTNpZ0BZUkpWJjFLPm1uRCVnUElYYkt4PCNLaClmbkdHPjAjbgorelNKQylJbDxAeEVtUWRQ fVNJakUxUmtlKTspc1B3YUN1UCNDeXluYjRtZUFVJiZRanhCS0NMTzlOM3l7QDl6JXQyCit6P30y TSpJI0lOb3I+b2w+VnFUb1pFRmhNJHc4WnlieGVrMW9fPmtXdGFKPlorOTtZKEBCamZgRWxmcW9g SVItJHoKK3pFMXBVNGRIaktOO3o8JVV1JEd1WjQtfGZEN0IoY2RocDgrUWhaeiRGdWw7WjQqV0M2 WVA+Ynlja2wtQFZNS2dwfAorejZjOW9mT1F1LV9ZT3hxKCFPSnh5R0Z6UHsoX1RwPHFseHJjNWli MTJDaE9pczlMaWQta3haXjAqbmRgPSRHSkkkCit6OE5RUTg2RUhNWUc2YH1AJUY5SiZqbk0lQD5j dHYxaTV9WjRuQVBOOE8pX21fPDBELVArNzFuRmQ7P3VkMH1IZCQKK3pJXzk4dyQjZSZAbTI0Tlhl NitgbE97NlVoWllGfDdzb204JE5veyZYQ2kyaiE0ISthPDdyLTA/ayp8QEcpakxDNQorejU/bzRy Z3hhI0IzPnRKQmExemFGcWskaV9tMiEyR05+I0l4U1AqM0l1YGRgMDZfdWRFOSpUOCFmaUg9QjBe ZUViCit6KSpOb2xXcTZ0fD8hZHFCJENuKUpwdGYzJGclY0FYOy1mamVBSmxaPDtlKjdkMj5DS1U4 ZGF9fmBaUjx5bEBvbUIKK3p2QTtxUWpCPURTQkdecEwwUW5JMGhEbH5Tb0pzOEc9XllJT283dnY3 VHhhPEVgfEZMPjN9Z0hxcW1kcjJqLTZiSQoremU2Nik9ZmBgaDwyJDIzI2U5eSQ/QjA2K2I9PzNf b1FKJiNeQjlBTSFOK0NaOW13aSkrNmUrZkNCP0AlMVIle3dKCit6cDdSYHwle3pOTyFheWpeaDFJ eitufFhkbUAoKyR7eGteOElKe2FlcSRnTWlgV0pOYn5HTEx6UXVFI15LSVhLRzUKK3o/NWZfVkxw YFlNZS1EalFPKHM5RUZHeUs5VDd0YDV4JGoqQ0Y3ailwRTxHMDhoZmhuNWVKPElFXldqPTJwfT9f cgoreiNBRjM/RTZkUk1kYms8VjNKMVU4bHE/YEU3VFlkNGRMS1ljK2BfXjFhUSVZRD57YjlAQFE/ c2ZATCpeT0tmVi0rCit6aFYwZGlnfl87Vjt5I0BsZE1XZFFsPDtwMUxRJTVsQ3xNYiQ1b3AxKEpt ckd2U0hIczIrSkNgN0stR0c4NmlONUoKK3pNaz9FTiEpMGhFLTg+Xnx7ZGA2NFcjNmFGTmxAKlY4 JGxrb3YwNilnLUVTYCkhbUl0JntwIXRlUSYwMGFSYipXVAorelZSdkJHYjwwZF48TnAmYVgzQzJu dT8lSF9sJkpYK2Y8dVVBN3ZtaWN2dGtQdCNzV0pRLTBAWTVoN3h1YHRrR2lNCit6dSl1ekxPTEEl aGp4eH1MKX1QKTM/b20yOVdPK1BvOSg7PVQ5RHE+Z2xjfDkwNXxxYShaV1Z9QXpGVGsxaSVTUlkK K3pON0d1KXZxTzEkSEYqP2Y5WlFTfiMxe0k/QWFzYEAhfiV5THE/aDB8NDxMfERWdm1qLVJAamd5 LXd8S0ZLRVVPTQorenIkRnJvclV+NlElZ1VZbDxwfkU+dzQwZHtsQk5IPDVQSkwmM0N1PCNFN2Am N2BXNUZiSWEoN1psJUBETzh3WlctCit6KHlyVjgyUypXJUcqdlZaPnYkZiVxMTBEMlAhWFBiP2Y4 cDRoPF8zWm9eWlQqQ3lfaDtQczVfRXhAZjQ2b14ocSMKK3otfXEoaCh3d0sxSVM1bVRAbE8hVCpX M1grU0lKSGU1eVooKzQpbWNpd1FrYT5Mbj4pYUE5SUNrX0ZVSS0xcGttRgorelhjPHk7Qz5+TTNY aXB5MHszNmoxZlRMWWdWU1NlX19mNyZRSnoxPWtqV0tSVDhXejRmSHR1fGt2NCF8dDJ9VDtFCit6 QGV0NTkqc31jM3VtU0thLXdaNEUlTkU1MzNGQGhNY0ZkfVd1R189SWlrI1k+WiU9bCREai05SnFX R1ZuTFpJfTUKK3orfHVYUVUtIXI3dHV7S25aPG0oRkdqYTQ4YHBackUpJEwlKjBCSStlVU92b3dQ dVpSNnlyWmZNdVYxOChTPXdMfgorejlIVUwjb0AmY3NlN3xaRkUycEg0cndCKUolX25RVHFXIWRg TU57OTQ8fD87WFB0SWhfbUN+OGRGWFlJJFVXMUZqCit6Zn49V2B4ZTJvIW85T2RORGl+dj5hbSFr UmJSb3JlPXp9VkMjKks7fUIwQ01vMlR3YklaJnteST00JjNRPHp7dHkKK3pBNmVhWV4ydmJNV2Jg P2k3bV40NSZUfWE4MzMwQlUkYml4M3ZWWGdPP04xU1daJH4wSmNqa2tjeDBHdUwjeU9tWAorekFE NTVnNXdRI0w/LXElPWg0KUlYeWVka08reWZAR1clan1FS2tjKXB5OUxsem10TDZyUHc4VDZ5cXE9 S19kSk5UCit6eDdzI0pvdUctKSh8eVZsWipOR0hWaWp4UHgoV0p+RnA5bUpjOW5aPlUqYDA2YkY2 eUJzY01QYjh+a2NwODV8dW8KK3okPF5MMkMmYFpFVDMjJFgrekZ1fUtWLT5ocztLNzh7OCtkbmRz PWtDVUV5MDtwc0pQN0BKWlo1NDtIUklRTH1+MAorek1jbk1Db0VlWlVoVno7VFkzIXswY21tVjhk JnZqZypXO0pMVkZVKVMmeUhvPkI+T3EqX2l6NWpTJnpwZCF1O1RjCit6azBPV0tMKXpnLWJFcm98 Xj1mbj0lPk9FS0pYd3daU2h3enNmbkhua3hUPGZvdDAtWmt2anxMO2pmTz5RS2FhYl8KK3pYOGpT IXtsSUpTPDBhOVRtKnN9eDI9MSNOOyVlIVpMLVZmZTZCcnIyU0tCR08xbXFePGFSfDJ4dG9XcGgh SHRsMAorenJAUGZ5e01qITxSVzlmMCZpMylfbj0paXs+YShDMmJHVkRZVHZ2UiFoQHlvSnk7b0t0 Zmk9YmxkXnpeJHViez1SCit6ezZYaVhFXllZbz4jPWA9OXdBRFVZN3ZYYkpUPl9EQ3khKXxNPWtI UCZrc2NNREt0RiRIMCY7JDEhT1Y2MEpDOXUKK3p4MD9NVjUxaU87JkcxWXl0Pyspe1FDZEtuPiVV UWt5YUBBSUZCPmNXdCtUdz9fP0VAdTZudWNSZ20teW4tcjMoXworektaZ2RNMTFtbiVRWk0hdzda a1J7My1gfmZ0KG5uMkolKWw7aEtMe1BkTUxWRVlBR29zUihKVWNCQUB+KyEkWX5nCit6X3I2VD93 O3h7ZV9nRTVJdD0jeipjKmRUey1uQk5jJnRyd3xoOVpvPndOQzMhMGp7dWE7Y1B4cHMyMSg0QEQ0 M2oKK3o4QWtXVW9GaW56eTA0dTZDKmhwOTImK2Rvanhlbm5tWjY3JT5QYH1XK3FNeTJOTUVXQVpX amt4UzMofS1fRmNeSQorenIhaDhuOEJjfTEpJGchJGBAZThgPjhPbHFae241PSYjUFVvT2VnSFg3 WTg7N0M1QmNKPT8rR2NCcmtfWllwVEJGCit6Xm82REtrT2J8QWJpSXc/dnJULWxwK3JiJTNPMDN2 R3NRWDZNV2BgOXl5Sno5IzR7VnFaa0s9ZSlEWUdYXmlyTFQKK3o4OUd1Wm8yRXxUZzBlcDluOGJZ KTVvci1LNlpJQFotdVhITClxNVFFREJGb0FwcE1jYll7fj95TDlOckZKRTRCSQorellZTm02bTR0 JDdjPlV8I1pvWFh4YF9kcipYRjVTaDIqV2tPS189WG4xVmM+eElOMF5vTCY9cHp2cSEkYDtZSWp3 Cit6KENjP25KTmRMfDVydGoweEpANUwhXkxQN2ZiQFEmKi1MYXp1eCgyPGhEcU58ej9+T0EhdVVG LT1hb3YhK0tzRXsKK3pqfVgtZW5xd0U1QVYhaTRyOCRsO3ZkOV9QYTxBQXVYbGsrKU17TXlQT0Ik NzVubEV6M0ImT35rSDVCUWE1PEg7fgorelQjMnRQZDZPLTQkRU8/I25oI1Qhd2k1T1Z7KFN3eD4p Y0ZwXkY1dGpHdVYtNSt2aGlfU0U5WX1odTc7Y2ptIUQqCit6Pzw3RFVEbUpXQytxMHhPTmNKVlM8 bjVOKGoqWE52cj1zVHE+UzNaRjwmTV5pK2p1PyRZamFIOXNpbXs0WlZWOXcKK3p5Yk1rMVdBZnc8 Rjh5Sj4qUzdBYUtZK0t4dz8lRWAxYWslb01TYkIwelBRYHZuMG0mJXQ8SElPdFhYcUUwVV8wSAor eiE2eGx9Zmt1QW9laGcoU0hYMkVHPE8zPj1Mcld7VFVETDZzZCRMR28oXj1nazQ5c091NWZ5UzBF eEBwPWhAdT1ZCit6dk9yenJ1SHVYYGt6ZWRBQytgekpUakNwUzFUcntqKzs2P2pXNVAyODhnclgo UGZZVXFjYm1CZzw7WFQpVkxPcSoKK3o+MytAMWArYWB7UWVVJExDZFEtbzd1MDdyZEczXk03a2RZ ZWJSYF4jc34rXkNxdERDR2lzKFgqR1Q4PjI1VD5uaAoreiFHN1prbTQ4UjxuSUIyclJ9MDhMaHI5 R0tQSG41OShrYCp2eE9OYiV4U3tSQik0ZWQyN0hjfmFLTmslYD1LSUQ7Cit6WH0rQDVtVFJhUVZ2 fHZDRHMwIyY4Wjw5Z0FKMmVwYTBlfmZfbUB5ZEZFPFlkUSNFTj5QMUtYPXw2Qm5fP0g0a0YKK3p6 ciMlTTZ+WHN0UDYkQDN7I2RMN2BuSHx3OTRSXiszNGo2VWxpcmozQnIrLWJXQ0cxfDdCd3lKZ2ty SklkaTJIcgorem9EI3UhcENgejFZJmgocyRVcSg5d0NzUEdvP1JqSUReNjBBTG4wNX1ZYShAfiFD WDhQYS07OXY/Rm54ZnRJUVBpCit6Q21wV0E/ck8kYXtTbFg8WC03aSZCQCVPdGd3dH5AY0skMTNT P2o9YnlGYzgqVlV4YWpnWGNoJDxTVUg5OG0jdmcKK3paYU55eFM2SVJAMEM2JFpOJkRFa2tmeDZQ PitIS0cwV0k5PWlRXjYkIzA2P017LT84UW5Lakt3MnR+JT5iYVBDYgorel5kelA5P2FXd2V3QWtu Qmo/Rlhwcm0oVUB5cGhzXmlUQkQxWCkqbjJZQ0Z6XlVXLSl3WE9RNGphOyhCXyVjbj5YCit6Wmgk RjByPE5pRD9CNHlZSEBYNHFZNj05RGZUKnYmJDtVRzMqV1VjK01SNUtuIThqakgmKjR1cGVxQWZF YTYwJVoKK3pYeSgxQlkwcl5kVHNTK0JBZyZuV2lAQXVPdjlJZ0s4PjA8PlZPSjdVXzJIM15TX18x a2c9KEpPT0lqPTZDKS1jKAoreipLPHReWH1yKXhTUWlUQ2lYI3smd2FvTVJNQyk3NGp6TypUT1c9 LW53cTkkRm5he0BpPDlpKTNuPmx2YERaJn4tCit6OFNZS1RXZlRENEV6c2s1dWc/NWlQRllJYmx2 TkVXdHx1VWhiSUotYGFMVyhOcWdyYnE3UHMzRFpPYDRKXnZ6UUkKK3ohOWRHdjY1Ulg5LX4yVEdr a2NWSG9DUTV6S2VVdFg5Yk9Vem4yPG9jSDBUJFU9JHk8dTQpPCg/Zy1vczJvfmNXUgorejhxcmlW ekU0Y3tnWTdMSmxWWD8kTT81Vz00I1dPfV93VGJPe1pSejtOeitAcSVPfDh+JmIwPD5mQVYkUDR2 cTN4Cit6emhONiZ1Tz0mTj55RnUtJio4fnJjMjE5OT8pWm1vbmo+JU4xa3FybCk7YnhAe3R+QGE5 NyYrViZBMEZOMWdxPlUKK3pedDc/SkxDYCoyMCNAUGh3fkM7V3F5bDNkRSo8bm5SayR4eHd3XkZl Q09qdlNmY2lhV25UM04rR2kwMy0xXldxKgorejNwaVJ9e2IyfmFrMmUlaGlyJHEraVhnMFBsX3o7 MS18TWxzK1M/QHR1TUxfYnJXRiojYFc5T04+KWk0I3NNaTdQCit6WkokRnAyV0RAeElRezcqSyNC Kj14NVBsQkN2NEY9Qko0WUNVO1JNXzNPIy1JZ3B6aWBEQnVaek9rKVlCMGMtTTsKK3o/NntaWT8j dkdAbntLbmAoNyVIfV58N0NTZGpKaWE4UkFjN0ZFY1VjSmZTYyRLdTNCO0NjVmkoRjVOa1luWTdB WQorem4jR2h3QGE0ZldpOHVQZHVLZWF3PSQ4ZHlPNC1QQj0xa0l1Jn07dWohRnowaXBDUChtbk82 UUsjMX5yankkUzJPCit6JiR1UH5MTVpaR1FIIU8kZEJjfCFJQWBXblV9aiFQeWFSPUtIQz5WK0V4 KzltJTtvdm5fPj5vTUNtZFJXeSZMdjsKK3pUUz9IM2B7NTU3IWE1PnlKcWU3JVRlP35yK0ZWUjxY Y35EJWNIaDAlTHUqVH1nb1lJTmg1UGZke0xgez0rfCQrJgorekA+JHlSP25adlU7S1B6SipEZnJN I0gpKko/aFRpdVF5UCMrfEFXblYmZ3dTMDtte0hnWEk2UTJYdV4hRXI4Q1FTCit6IyliWWAlLX13 d3J+UzdFX1V7e2U7I0QtQENqRGFxcng0Iz80QTRQZSU7aFc3I3syfV5HRWVTQG9Ed0d6KV8wRH0K K3pleVR9bFM/dTtobEE7ODZKR2s0NEojMjJyUnMrSm9xWSNubiQzUyFfVH5gd2c1NEM3I1RRRU0z XlFaNEtKWDJKWgorel9hfmQ/R2UtfH1PPDc4KXcmISgyS2lGUXlaQXV7KkVJKThqRGE0eDttYXYz TFFGSDRfZDJySGcqJXY4QFE8ezE+Cit6ZGp0WkJ1OVEkTWNMO3luTXJKUkthPFE2JiRYbko/b1hO N3d5TTZAWiRFeDt6OXV3Zzw3d3N2djIyJUNRaTZ0ZE8KK3o7Nz9OQjk4TDd3ND5MITZGZFleI0dY YHdRSjFEY2M8MVdIJGBGUFI7TUFOQS1HemFQPlRzUFFESFImWk5NfTkoQQorenQ2RGVBMS15dzlz WE9raHMlcn5HPDxKPkdRci1fa0M3dlUxUyFCZVVHPDttPC1VYU1yPTlNYlg3IShsZkolbVZECit6 NXpvVSUjTy0xfF9ranAweWt6SSg2SGR5N0Jzd2wySUBgcXROZjVzcHJQZjszaX5QbypxVV8mMks+ bmorZktxdSoKK3pkXl96bHc/NzYlZENIa3U5O2phKTNhPnJgN1pZJmB2PiNBeyU3Yj88Ry1PUSZu ZnYmcnM/NyRKUF8zaFZGdmdAKQorelQzanohTk9MYiYpPzJBSUd5Yng/YE9pcTZmQWRWR3dZZHYl VmJMKytLKVEwVzt4Slp3OypgR1RlWlV2NSN+eElZCit6UzA8VXlpMXE7OTkqflJXXityZ2M/JCRU TzU7UzdSRjNCb2hDVFZyM0tleFIhKTNIM3NfZXo+dSlaVzJNLXF7NzYKK3pFNGA/VmZEYUNzJV5j YG9ZdyhnX3hMPFkkZUt1XllFUkJqT1F1TUopJjFheTFTSmJMcnpZMm13S0p3c0JYQU5HQAoremRI bEVtPnY7MUd2QWNGb3N9Sm9HaVFqeGR6MlE2bUk9NmJHRyVZeHlaK3BpdUxramFPYX1waGlIYERy cSg5dV82Cit6UTkmVXVwSilVMDh1ZjNUb2J2QC1sWSElakNnVFFOPXY5fU1PLXpCMmxFMD0+YzYq fjBKVk5jRHo0UDFXQUxCaXoKK3pXRXA3OTgtbnN9O1BVeTF1PCZeMVBXXkRsKkorSDhjJEAkcWs0 aypBRFpSfUk/ZVFWNHgkVUZoU0Z+elhwPTYmUQorek87eHY3MT43TjtaUnZ6bmdkVD8oJnZEMDdU Qm83I09CVUZybk8yVVgjQ1lVNnl9UDZJb0AlbjYxPkRjd1g3ZXhJCit6VExudmIpTmgrVDxHUWhW Ylo+YVNXcG5KP19DcnBhX0QkJUY3bGNAckpBdDthVDgzKyRadXxvTjJTNyZ0MUNXMHsKK3pMZ2t8 MjBSUn1PMFJSeUdGOTdMbTtfbSQ0MVhBZ0xDeStVc0hnLXAmMnRUKWE0SiZ7dCRsfWhLRkgkfVp1 KG5RcworeihXZld6JDVJUF80a05XQ3E5dGdqTk5CMUFLREl1bXJ4VWRrOEVJPTBVV2dPOHZVQWVS YXgrWCttME45Pjdub0NBCit6WiVMRXRTfkB5N21Sc2RELW1VWWJwUjZhQlJ9LWRtbUVGUS12b3t1 YXV1QG5gTX1IeUQmX3A2PTs1SGglcDZrQUIKK3ppaDdyMGUmbn4ocVdZJH5pQXlhUndLe0tTPnpx XkRTfmtrVlN+O0hlZGY5M1JXbHB1V3hRVXlHaSoqSGVRY0VnNgorelB4UThnJiVGSnoqblUhKlkh ajkyO1VzMXppXmlwOGU0THo7akBMT1hIcXo1ZlNGQWRFeUE8QkVzOFBTX2BnJkspCit6YmctVzk0 LXw1JmJXfT1KYF95VXxWbTE7MTJ7YnBwPVNWRkl2Mjs8emQ9ME1zKyMqLVdTX1RyOE9LZkRNNVZl cHkKK3pyUTc2WiR8Y3ZSJX1sSjtVLUFgPzhhSW92UXJyNTxrIzRvQXpWYStfZ3FjLTRrUzI7PDxp bHZnZmoyZGlKVmJiMAorelc7MnIqPX0wWG17RTRkO1pZTF5JbV8mQzxTVWFOWjhlKlpaJnc7NldV YmZ4fTckc2NDXzRtRlM2PW9vfl5zNj84Cit6MC1+PkU0d2VVMi1QX3NWY1ZyJjZqKkZYdkRFOH56 WEM3d0RwIXJ4b0NoJipyZnBkc2tYJU1MTl8qXzVQazNZXj8KK3psV01SVnhBKD1hfEV7aTVRdmA2 dGojZGJraUNUYj00allGPUVFXlIkLS08SkRWRTxNYFpja0YwekVTK2hvbmhrRAorekYtJEdWRDRC ViFpYCRAUmx5VjR8e35qJDtzOGBaUlpAN294KTNDcjRQSUBUdXF9SD1kaTtxST09JCVKeFYqT1Ej Cit6bCQrVHxVO056bjl1KWZ2ISMhdUgtTCpHNFFwMEdFTG9JMFApPTU5PENINGhDYmhMQFYjY2V2 aTZ3YDxkeXcyNlEKK3okaT47UDVASzVtcWtMRkRofnsyI2ZuQi1NVGlRLUJxcGA4cmVgUm85Y0FE P25SWHZAIzFHfHVqJDYyQFNDJmVhfQorejh3Xz1SMld6Xz0oJnh9I0c2JXVmRShaWj01WHtJQztv N2A1OEArUSZ2LVJ5YDBnSClvWW1SZiUrPGEwfVUoK1JYCit6QjYjbVYlfChRSHZGXypMUk9VTzMx Vj5ZeTUyPUtBa2RmZ0VlelUzU0F9UyQjWWIlPl5yNDB7U0N8RDUkWi0pNiQKK3pGfkBYR1NFVUQ2 Jj1RdkBrRX1TdkY4UmJRKUxOX3w4MEdBdkFhQEU+O2dIUXQjfmIrRHpeJmYoTUc/RCgze3Y8Ygor enU4Y09DPGJzZW9eN29APGhGa3QmVXNoUG5SOXx8U0swakdzSllQVDVBPUBJdTBFfVFvRyZJN2Vh WVVmaDxPRmBwCit6Mz5eUmc0fkota14ySk0kX1coPl9KYFk4IyEqYTlKSVZqI05yd3Y8OXQlbTcz RFheblRefGd7cEU5QHNwc2wqMFoKK3pxPVMqOFAlKm54Yk1NSW11PkM/UWtpb2wlX3glYHg8P3Zp ckJLajMqZlpqcyg4Rkd9X2dTVlBAV0FQKWlwSHJQOAoreks+JCpeMGJMV2RsdylJQSV1NlVpa35Y VTd1N2lJUmdmd3VDM1RUdF9oQ2xSWXBVQm1hZElrOXVvOURnZXZYUFBxCit6ezB0TEk+Syh4dzRo SWAqYlN5X3UraUNveW84eTVhYik7Y0U0NGM3dkdGP3xNNmA+VEEtaHdwNWQzQ1A2XjBsS3QKK3pv ODNzU2hrZzdFK0cjLXJaKFA7UUZ6SiZYbnZsTD1NWHtFU1A0TTN4THImUHtnQCtXZUtyaDViKGlP RXdhckRFSAorem1XdUJfVXtnZk9JU2c7P3F+UWIjSmdJcShiMWBqbVdTbn55JFNuRWVfX2N8SHpv Rz1kRFk4bkM9I20hdDFkd1dVCit6KXBEUEk+WVckb0dITjBRXjN9QChWSlZiSmUxI0R2emxxfVdw ekpNVXNNM0p7bHpePEdrJXglemVgVlM/Jm5WM3sKK3pDTGgpTit2Rm5qPn5seXtwM218dFklZjMr Ql9feiVqRHdwflotRThgPUFhQnkzSCNiR1pVV1F8Kk5gYGhBTVhwKQorem91Kml5Knx2WDBlOGdX M2xkVUY7anRVd0whe2VMPEdwc2oyZSt6KFNDRCMxPndBPmVWSWRwdTJ7SD9Jc0tKYjNXCit6czNj ME0rUHd1QW9kazVgUzc1T3RXMypJUWsmdS1RanQ+ezttb3lnTGZwZyRhRUowU1hMTH1oQVAtPm5O cWpxZSsKK3o3b2xEQENZKlg/TEhSQCNfUE9OfntASjQmWiZsZjxGNXtBdnxIUDY2SDxnPVN2ZlFL RyRLMVk0JEhgQkwmcmRWbAoremF6TyFxdHtgMXJ5d0JgcUQkdn13TSpjSVB3QEgwd2Q7eFIhaGBg KkgrSjM3eipySmtSYzNwKHE2PT4jKTRqUHNyCit6XmRlWSVrNjVmbyU9aFpQLVErPWxZekxnZkV5 Jkl3U096eGBXRXYwS3J+X1pVUkRZXlV2QSExKzJqfHlEM15QdykKK3p3M3E7ZnpKRm0yRllGWis7 KGppIyhiKld0IV57RyhpKDdqSz5KbCpsdnhsOD1ZfElrXlFRe0dmbSt5MWI3NDgmQAorenZ1VVFa PUhJNFp7MjhXPW93PWwrbCQkeEk9UUYpbWFwIX5tNT1nI2c4VWUzXkc4cD8yNHRfVSVeKD9PRnN1 PU9iCit6Kn56JVFlc2JRITl+REtaUmc9MGlTRll7XkB2fHZFMD45all0eHZYKSNVTWIzeS0rYUhj MjE0T15eWiN5e0VEaHsKK3o1SWx1WUxBeGple0MmKlBqMFdqWjtQWlZ3YWRVJVNuTmBGbzk2ITJE Q1RZdmJYJUJRZGNVKk1rdWtWdktfOD4mOAorenV3IW07QS09QFdzakRmVClUbEkpN0U5KHlUZzxh JWBQdXNUSylWLTlTaElTdmJ0YjYpM2xnYkhLZG5EJT50dj9tCit6Mm87MTFofVchMU9iX2thRXt7 QnNEOTZgVXQwMlhDYmpIaXFyYH10VmgjRD9ySGgjbWNCR0VQanp3Wms3cXg4cGAKK3pla0JJPVpO d0Y0QndiWjd2KW01S0xfPzZtUWhCcDhHXilNTjtrSG0hKEUlYWFgaGdgNUopOWpnQ3l9UT5Rd29K WAorektCTmt6JkJEaj47RyVfWWBNUndjYmU9Py0lZ0pqeFFRWVRxQytfWUo4M2hPJiN1ITM8b1lM QlckY0JQcXZPU0FxCit6NVpJV05xSnlNPCpFRWRnZHw7S3dMYENFWF9EQ0A2OEFjO2FkUnV4dypF U2VJQ0MmVmxhVyU/aXl1NSU4PUU3aj4KK3o9bUl2QkQrdytmbDdKRno4SSRuLTw7RnFhTHpPNWox MSVAc005dCF+NT9jVm1lfjZCVHA+N2peKWBQe1gybChYaQorent+XyQxcUNeWH1FWVp4OXdyJChD WlFIaTxxOzE9X1pRSGhPK25KfSZlZjZzRHQqKlleZHlNI3Z1XzhWcVYkRDVLCit6ejQ2bHI/NVkp aUo7eyYjUF98ZHpLTnU+ZSRGKkJOU30tOVliJWQhN0YqLWtBQVNSb2BlKTJVSFBEcXBGVHclZkgK K3o0Q2IoSWYoKmtkOV5vdWo3N1QxUW9qMjI+SUh8fGA/TmFYWkszRUkmcjBrTlBuVCMoZHJ4ZT11 PkowTCRneFp7QworenlielImXjQxQ29CbFQ+O0UmZykpdGZqX3VtbzlJQloqdTx+JDJRdlR4QUsl ITt4MyZ9b3I/PyV5cnpNLWFFN290Cit6X1pIVTRgUjlWZG9QeDdidFE+YUlgVGgjVHY1QCsrbGMy MHg1U3phXkl5PlRBRUVyeExfbUJ+cSYwQHcwWkZkayUKK3pBdEREWjBtem1XKXZoN1BLb0lLNSRA LUJVMzlKKiltU3doRDkwSVZ2JE9MPiVAPEBAN0VjbFcpMWFZKkJgY3ZgZworemRaY0ViS0ZEKVdj eElgOVl1b2N5SVAkZ0soWGAxRWFZWkFqeXhmfmlSeSRCY3k4JDw/X0BSdSVJdTxqSW9FMD9UCit6 VVYkVT1objgkMDA7aldsIz9nfGEqX1FfMkNpU3owMj5Ic3crUiE3Sy1mMm54SXE3bHpDJnFDK1pX cDgjRis8R0YKK3poWD84clo5JV9qZGQ9N0NLNHtTUEhnUVpsb0FMUzxoLThrOWhyKzgrNU9sT2J0 MHVWXzgoXnY2TiYzWmhRe0dDNAorekdzdHRgNTIoNiY3VGstdDFEREsxYlolViRuNEl3UXVhPSMo VWtXNHg0WFBvKzJPOUhGQDd+aSF1e1kodnZhN3JtCit6dnJ2IVJFeEwrbUA2SV5FckZpMDdSP29T ZU1WbjBhc1M9bjA2T1IhK0dlKCgxRmNxSXE4dXxXJnwzMUpkUH10QEUKK3olQklFTTJ3fl9HUWBn RSokX1F0dEM3eVlaSDxRVm1Me2NlIXRzQFVXb29ve1drMG1vXy1sckh7UXEoaGBCMmh0Vgorejc/ TXk1NTIoeENPZSU+fFpuVVRvMypecFNie2tSJE1sb0hMcDt6MHtMViUySEpZRmA2ZWBaJH4jOEw+ QTBwN05jCit6OWwmb3ptWExiRSZPVl5WU3dqdlczRHVwaU9lcEhibkRKRjVyXk88VHg4alpEVWtw cmh5YTQqfUxPK2RfYFlwMF8KK3pWRWgyTmpJYWEzWVBefCRtX1I3QzcpVDxnMHIkWVk7ODI1OUZy aTJRaVFTTnBiSyptZj1EcUN9O2U5SkxDI19oQQoremhrRWd3KzJRPEVedyhZPWxqey1JPzZDLXhT ZmVhYDJoVW0rKEdwI0czfUN+RTxzIURqNEpxbm91ODZsJFYoQVV7Cit6IzIrcT5YYjxxdjhuWH5Q Z0xkMD5LIW5yOExzfD84JGxSaDNhOE9JTDModEh3N3U3UykkIyhSR3Q8ZG8jMUlRQkcKK3pfYWkm MTYqKzJoXyVSPGcrSGtefHdvVWAwLUxYWkU4RGM5I2ohKz5YeW0yei1ocDw+RigrNmJfKV4lcXhm KjZHSAorelNmT1FpSWFRSFVAazRkYUwtQSRFNCZzSVZgKllFNyFNbSRiek1mZl8zVG1YZjZuT2dI SWIxSV5mVH5WcSMtc2c4Cit6MFAtOFlIaDVIZT93amI5S1pFYjFWeUN9LWp+alYmKDRBPWBUZW9n TUVaKWFfY2xoaHNHPH5odlp9bjwlcz00MH4KK3pUdms3MFZBYlE0enJYMEh6KCVBT3tkcUl+YXYo NWVAZGorYkJlWEs8JU43Snl3PkdncnI2RUxaSEg+dykqNWNfTworek96QiU/eUMpeyswZGU0aHhg RVZtOFdFKV8mVEd4VXpkMTdTOUtONnxfeWZjaTdvVSUkJiE2KTxPem05fl5TNGt7Cit6Xk9uWUBy JkoydGhqIWVNPTRNMn02bSV1V01eQ1c+WVNac2s5RldpJUZrOVBRWl9PdmtveGFhVDwmTW99TUo9 azAKK3okJnFDMSp0NVVsM3dndmx0YCsqKCN5WWxnMXs7Q2lBRWBPXyFFRGQ1Sjk3dE52SztSKUZQ ZzJPOSU3fFNOZitjRgoreld4UCFeZmZWVXMyUz99V3dOOWlOTm03Q3kwS3w8YG9GR1goZDd1T0o1 OUBXeXtHZFV9JStsXi1RenpWXzRzYktCCit6al9AYnwqdipHYTlqeFU1Qk9KQzBjPVFTb1hjbihI cXs3ZHE5UUUkd259eEB6JFNgPnI0c1VQYDZpdERYUmxQIzsKK3pJMCRKYj1BZ0VeVCFraEIlRnB4 QUU3JipNXkkqc0lFcFZSTSQ8TFVPI1ZjP1U3X2ooTWlGNHNATCNqO0NESi0yMQoreiZiXiNfI0Zm NH49TGlrcW4hZmB8dShjOUtnPyVQY1IxQFZEd1BYMFomJnVZSmZaXyY3U09KP3xKQ0MhIz1tQT9+ Cit6I0pmSVIzV21MNCgmQ1IlcW9laDglfjV8KkB7MldWJWEjdV9KPyglLXNKeCFWJDVDfmBXQ0BE ZSthbX42O1lvPSoKK3pvTHg9c1MxckAhez96PXFGZHp7cTdzRHdYdTt8IURCZCo8QWI+clRTckg0 JEQxbCFnTnNxTVRUOXFoVD44dS0+TgoremdZNEdLckZPNTZ6ZW5ubWNTOGxKWX4oX3NxOzNLIT1t Y35vK2VkRTRBVWRgeGx9TjFJYzZHdD1iSXt1fDFGKlE5Cit6P3Y8MkpKJjYjP090ZUlBS2o/JEBJ OTV2K05Ye0RPPElaKzxIOEo2K0orOWYkaEVDSDhtQitFZyZpcXdFOztXNXIKK3o8WEUpeVBURGpV NX0hdnJNOEZueEdsUmNMLWRnUSNvN3NKQG0zPDFCVDlzZHkjeXoybWBNemJtRD92aXEjaHZVYQor eittSEhlaHBUaVM/Kn1RT25XRmFybj59cDFSbk5wfGpFbWVCRGI9JHBkQlVKbUQ/cWJQbFZBQEhK TE1iJHZyfH53Cit6YmRvaDNTTFJPcygxZW5GNzA0SjRSRDZPMExtdjNjWitSQTw5SGE2Z2I2JVl0 cnc1R3FwRjtmM1d0bXhjeVJUeWIKK3o9a0VRYzA3flVZcyRecX4pSlBhakBmMkR0RGdMLVJqPWhq RiN2U0lfS2whVGArMklkTFVIcktSc0RAQkg8MClCdQorejU7b3VSc1pZVUB5YGNLNV9VMjA0JE5J Q017anZ5ZGI4XldwMmVOZ3U+XyFxeCViUSZvSnpoKFckfnt9U1dhb35gCit6WFVNdkhpTzBBeEZV SU85YSN5TSpKT2xHbChQMCRjSTlXYzxoZjE/OyhjSn5OYzFlKCF2TWx1YUc0NlQoaWM4YDUKK3pl Y0dFMjwocEI0IVdeI1ZTWjBPc1M9SUFtMyU9WX1pNmV4elFQdjZFNjV2I3JZTWIlV3c+NGclJWgq aTwoTW5qeAorencrd1NNLW1fYyZgYjBZb2NvbnxfNUxscCNXcWlyPyt8TFFkam16UjZSWEd9Vy1r bEYkRCRSaz0xbW9VbyhqbUlkCit6QjQycHRrcCokd2J+MkFGMkZmSkVvX25KezxPakxgV0V+WVVp NmNgTiRsK3xhVFkwUEt3YmJ8WE95ajYpUkNuRnIKK3omRz5MM1omWFAkWWFGXlZfRUIySjFCRUF9 JWReTy0kKld6VWZxS19KKkIwaj8/dEVXITQkaG5sI2s8ZnJObWoxVgoreldYVVowajY0dTRwUXBa MnBiY0I5NWJoZ3xEd2A/aV99eXZwQzFkVkNSY0Nwa0FXWjFwQypJeyZAUjlsViU/fiZJCit6TkFJ N28jeT0hQntJKW8rQUFjbl8pcWY+NkYjbSkjT2wpMk02Vm11TT5ZOFleemVZXiNAWlBJeGIrQzBR U3xYYzAKK3puQng5PG0pa2RrRWgzQWtQezk3dVFxRUpOc0xqTzVQeXRfYElScWw8MzV4fjRIcFUx flR9QH1+Kil5alRSR2dAcQorekVuZj1pdVRyZVcqXyFvPkVuNk5zN1BsbXE+b281clN5IXY3KzhO dnZ5alkkaEtYPExrbilIKHFPVllKVUt4IXwrCit6VEdXIXVGemolelZwP29EQ3R0b3EoTV9wYTFE ZkxzWl9CT0c8KVdJaCpAfWpKdnpNOSh1WVhCNEpzem50Qmt1SXkKK3pyRGlpMWJwfVNkUUVecSox OSt+UDc9d3NXdTJ7TjVWZjgrU2pDKlRBS343b0sxfDI3S1JpdiQjKlZINzRZUDklUQoremx2SCY+ SHJTOGUwQyRAMktsNTw/ZDE1PUQ+PVkybm5GM0olKWh3eDFCQXNCfXl3UWphdDE4Kn0oOzVHMkFo NEJNCit6S3E3JkorUkk3OzJISjwtPTZsRiNib3ZQc3I8IzNfPVBeRHJ1JjcmdG4wZG5+ZmU4MElz YUR5aEN2dCV7MSE3UHMKK3pvUTRXPVUwZSZmOU8wU3VheG8xTXNYcURqbzdjbWZnWUp1dz4rKTRi d0hzZGJkKHk0PkFqUm5YSzBMZWI1ZlI7bQorenJCI3dGa1c4NnJDVVQ1MkE4bSZaWVNZM3ZtdHti bVV2R1JOMFomeygyKmlIITY4OENFUE1zPGQzaCN3ZTRpcDhnCit6biozTmJNY0Z8RXpITzYmWGY0 YH1LbVJVOFc3c1hhcGJBJms0JTF+ZGlpI15AVHZNRnwhKiVyezJLeCplcUUqbD8KK3pkOFpNRXQt PCZPa1RqbUpZU2FoM0tjJnlTSnRWUG9GSFZDQXtQYEpsZkUoPSgjQWpRK2RiYT1vZldgcUhtLXBt UQorenc9PTdrSDFhNVpoel5KYno+N0M1T0srdnBrWEY7eSU/eGRBZ1RkX2o7aTRoQG1YTSpWIW94 X3UpWGcmfSUlTXFuCit6NkE/U2VSWUpGTXRleCZ6WF9SJVZkaklYfW80NVYkdlQ/Xk8xaCh5Pkp8 b3VoajNHa3NyIUNuOG1SVlpybytsNCoKK3ope1N4QF9QSG07c0MqXmY3IUktTismcV58MnFQKlg9 fWRxX2R6MFlkP2hiVTFhSWhHaDMrVj9lX0pWQEgoNH0+WQoremVyPj1fZTl7JiF1KSg9fW45KHRV KXQoWXlaRF44bHtHNz8wT0xIMU4kS3h7bXZPbkR0ZkVSIVZ6RnR1RWkheD5rCit6RWImJDRBWHtM ZCZANFczPmQ4Z1U/WWB0SzszMjlwdHY4ZlRaRDdpQyN5Mlc7PnFHKDh4UjkqT1Apc2RvbTNEMlEK K3olb3MtblFSYG1sK3pnYHAkJjl2KVJMeGctMVViKyYkQG45WE5AJEx4cVVpQXk0eH12RVBldHxS bykoSV5iUT98VAoreklKczc9U2JKdmUmdiVvQHRJNHhpe2x7SlBvOWo9elRrbDYjMkhwRGNtZjl0 Xms8KUpaOEkyISg/P2pDOXV7LWFfCit6T09tdCl1MU1pdGsqaDJiZTJpa35aZ2c4QWNDJDdqOEI4 PG8yLX00IV9iemBPazh7OWk9e31XZ1AoRGtXVnBvaEwKK3pMJj4yP0R+QyY3eztzKXk7IT5DYU81 YVZ9eykjMjFmbWZJNWpYUUBmeGo1Zl40ZnpSRDR9dW9Lc2UwcGtQR1c/IQoreiEmRkIxKy1kPTJl NExtOWxsd2NQYVFqPCktWCkrfXNPdyNYJmNYTUVkOGc1QEduU2pvX3lsVSM8RnpkYSYpQj1xCit6 YExLeTRZQDJZeG5gKWZVJkIwQU9zQ2t+PVNscytfZ1h0ZS1vSTJsNlA+fGhvTVJ1ancrQ20/MFoq MDRnTWlFR3gKK3p7UEAxV1ZKQyRqQV5iTSFNRlorZ1MhXjNmLUJYPU5TRTI+cHdZQ280anRAfV98 QWdrZkd2NFRuTm9ybks1dHx8UQorem0lUHNmdis7XzgrN0taR0ooMlVBbXAqKmw9MDVTXkhhT0FZ SEwyTjFfYUJ8ezZNWk94ZlJKOy0xLTgxMiY8KXUmCit6eUA3eSVHfk1rdE0kOHNnYmJRWERrKDsq YyNrUFUjZDwwQytgKGlGMkxZdHBCK2x0LXpDd2tPPDd2YHYtWkg3TiYKK3pOOz05cHtwU29YeH5Q OSpGX3I9WVo8VWF6NUZvJE5TJGBjOGB0OFImKHNMUjkoMmJJQkw5e31aSHNtaTMjUyliagoremlZ SCRIRDZeLTItQ2FzOVhYbWYte1RqIyk9TSZnPmJwSlQ5Z2NneGc9KWltWGFoYU8pVFd0SUQxMXpT WioxTTJWCit6OXQxfXI/NHR3QHMrfTBfYT83X3gjd08wbGB6ZihmSSU8KTNPd0l0VktuVCRtZ14j Y15CM2t9b1ppKHJKR0FEam8KK3pkayZwTk1+S04rNyF8XjNXS2x5XnJXaVh+RkwxOTgqQj99S0ZU aXF1TXBCWnBpMXtjcVZqYTQ8WWlRVlZUWUFmYAorenF2fTRhTVR0Klp6KllCKDtsSHIjcEslcXIm VipTWUQ+KXkoRlR3U1U8TDBxamg+OHV3Y0oxcUw/VUlaWis8Q1hwCit6Yyo+YWkxXjNTakI9cypZ VU07ZzFVSXE7U1A9TnA2ZTkyN1FqNztxUlZOMiVwcFpBRkV7fX4haio3KW03Iyl8azsKK3pxdnYx Mkx7XkBoZXN1R2Z0Mk1JZjxuY2FObC1QRmR5YnVLKkEyKlolPjxuUDhGQDRtIytYIXsxOytwVSVP JGViKQorempyI2Q7MXkjQ3VlaVhYbHRfMHpkVE9MUmtne25jM3R3ZnRIWlRtN287WHJtUmZ2bWFv bUx1YGkrTUpoKm4+OzZaCit6T29edTA3Qn5ATTZDYllhQCU3TCQ8N0phZmVtdVR9bkBMOUZEZHkh XiYhVmI0IU9eYVMyOX45RXd5bz8mcV4qRTYKK3pwX0kjb3k4UFdBcGVqIURSeyRsO1NvanphOUlV Tn5lSm53SzRyJT5WNjJ1UT87U0ltfCo0LWNsNz1CbGB2UkF8aQorelMySHkjbFFAbntuTVFBNkkp TW5NQXU0WHJDcGFtMit7MnFoOFJ0Z0QpRXZLVkJqamhMeWltS2ozRFBqd2tHakZlCit6OUxrUkBD dmxUQjxNOTRBaHdfPkA5OzhDK1YtRGhHQCYlPUk+RSpMY3VVa2Q+JWVRP2E7PDtsa1NnLWF9SGhH Z3wKK3p2TXAlRjthRlZRX2xZYFI+Pno8NjFUR0N6P3lac01QY1hIbGB0X0IoQjclM3o8LWxAZy03 c1pDKUJeNGMocV40cgorejhqVz5BZFBNP2VNMzAoPU95LXs0Nm08P0czUUU7cSpiMTJ4R2RAdmlB QkBNfFF6ZURvTiFPVU1ZQX52fihxI09+Cit6LWIyVE87V1lXN1g9ckBvRVZCMTZHRE58UmVyajJk VDsjQmViMXEle2xAcHt8OVFaTUR6Kjs2QSFSK0U8eVU+SmsKK3otYlVCSjt8MlpHPk9ZUUxVNTRM VzJeWlNYMmlibCV6bjB+YV9zfn1YM2MoRTItZyZ1OzlVWnJgWCY5JiNWNUVeagoreldQNGhqazhY SDh1PHZ4N1RuJDxNaERfdEZPIWR2Ri1ia1UrNEVmZEwtejVOTShMczJnJGhNRGBIcWdQVGJmRXNt Cit6PDZ7RmU5JjNKOD1+PFc7YyF1U0BPZWEhTDYwOS0pO0Rebj96ZCRwYjFOPjVAb2xNMzxQe2Zv R0IpK0k3VEZHcEoKK3pgI3NvbHI8S08hRTR6fVhadT95eCZtdE0lT31TM3VtRURTKVJrPlI8M3FN OHlPYk8xciZ9SmBWa2oyYHVqWWdaNworeitKe3olYUlkTzRqTXJyYWcjQ3lORmVfcWBXeWdGMDYk RjgtVz5zeCVYcUM7XyRzc2B6cWx5YlZmbWpVe3VSNGdlCit6Mld7flhJSXB8PzhUNCVlJFRPKCRV Vzd9P1Nqd3RCSFpBLWkxdHFqOVp6I0RUVWJ7IWx6Xz8leD8qYlIoTWJHWT8KK3pGaGVKP2VLOzVF O0RCSzwzVEpgR1M0NVklISt8X15wWT5ORnlYVCtiJEhOVjFPeTM/bDxUUSNKdjd7SDd4JSRWYQor elRkLSg1VmdJPmhaQ1ExfDA4OT5wYDNlVkZXbmd9UFJ+K1QmK0U0VllAVSEkeTtgKUJuXjkod1Ne SVBhb2UoOGJNCit6MmN5Z25iOHJrODg3I3E+TVEwfTZqdDtrSGhldk4lWHQjJkFRfS1gaWN3MDBR a3gjcjFqP0JPWmojMyEpKVA7RmIKK3oxP20lIUgkYys4enpxOU4+WXM+dj59MzlqclpeN2ZWe1Qz UnBpREp7cCR2OSpDYHYmM0ZoRz1vV1B6R1Y2X14raQorektIcWJrXm5qYmkxM0pBQGdxP2FWSX5h ZWNHRDJsLXtDO1NHN2tCTW1UVWN8e3hWUUxEMWNLUnwxX1NLUS1kUjlBCit6NylFJjluQERjODUy d3NIJVVMI3Q5d2YhZWkjPDYqKj9aaD1tfGkrUEB4RiZnZlRwTDxrKEkyWUZidjIqdH42Xm8KK3po ak5fO0grOz4hWSR2aTVrfVZSeFk3UCNlPlF1dihzXy1eZXQ4anVfWUhjQEFoVnIyRVFJIUN4dktT XlhSSFZUMworenYkVHtqI0F6WmVMK3QwYlBfZjchX1V9Pm9hU1c7aj1tRnN+R1F9ejFvX0N5I2xy VlpYVSQ/ZTJBSGdJeW9qQzcoCit6N3FDIVgqVz1KeE9sJEFFMyp1e1pQeUljcz8wb1dIYHU1WjlA JFIqalZYJEF6IykjUW9CKXJfOzZGeW5lbnhgV1oKK3pPa1h+ZTYqfUg7b15MVVlzKDMmQ3g5cz4z JHM3RHhaYk9jRnZHQTNYdGkraDxTbjZsXz8/ITJQViRUOWZKVHlXVgoremxVNT89MVFjd2hCYnhY RVlVI3wmcUM8aGkxZXhWM3I2KUN6XnFHQTElTD55M0AkfklrRldNYHdsI2FmZntFJGc8Cit6VlJ9 bX4pdlIydml2bXBBMEN9cGpPWmZGbD5ZO2dDRD9gUUEjSSRLdWxgJlg4TyN+OyNsSGN8QGJUalZj ekpCT2AKK3opSDxORj8mIVZKeTxvYD1pNGsmfFUycWlMUk5VfjgoSj5rVmdGRE9rRmUoenkqS0dR Jl9FWiRVUitNfkZSdyF4PQoremFjTWVoNE9mWVpYc31uO3c8N0FDUV8lYng9YUpFfUx8Y291K1F9 QWZFK0FufjNOcDEtdSF4UDYzT05fUktwbms5Cit6cEYqJUNlb3g4LVQmfD5uYytII1RIY0tEN049 Wkh8THVEQCR2UkliN3t+bWBJalZ2PHBwTmBDTENMfmtHX3B4I3IKK3pyZyZrWD1gSjJvUCFJIzYw cTd3dz9CKGZpcjMzfSZQMVZLVVJRI2xIVF5lRGooUj9lKld2Z0tQSipIV0ZQdkFtOAorejU0Nl5u Qz96UDVGREA+REc5X0xfelRkci0qS303cFRNXz4yO15CUEYhNkxhZiFyYVFjQVN1VnxXWVBBWGJP XjNnCit6Sk9KVjtoRCFxeUM+Vl5OS3xAdCpHLTZNYCtNbj1ENS0jNGU+ek81ZytVfjQmRHFoUiE+ aDQ4WTdldVR5I2FHTWYKK3pNdjhiRihlYF97Vntha1F0JVFQNjBkd01iOz5jd15pSlhuNXpga3tz VmJCSEFDOFN0VCNrTnBzbHpATVRCdF5lVworejYwI3B3OVNnNSM8IytEe29zejdEQGwxQTNQb2Fp cm1FPj9XciRXUzBkNFJQTDVYYDtveVBXdTQ8UDAlSngzVjdUCit6Rks3WVZwdUFFXis2YUNeNHNv K1F5fHhKQUU1V1ZoQj9RZmRVPDZiZHZ0OGtBZ3s8MEV0K0pvZS1QSzsqPylFSSgKK3o9PTc0TStr SzQ7cEVRK0htWUtCYnAtenFOVCQ8c2pFMztjWlFMMUI2NHhZeistcWE2WngrVkJ1N1J9X2pkNjRY cworentyPHZ6e1dePzRqcm1Hfj5sYjRWZHhyVj4tJDYwOSVeVmtLPUUze212MmUmV218RTVYPDM+ T2dwNit6ViNLVVd0Cit6VDs9U0RWP2B3JiMpYXlrbClteTJ3UUJtPykzJDxlVmpHRWY0M3NMZ2I3 UG1maEtSbVUwMD1vVlZ+e2tpMHFiKCsKK3pzOTAqU3V0Rnt8QWIkY2hRPT1jbUsqWGRIVWtkKkNT MXM5WihHTXo1eHJnejBXdnFuQ3g3fnBkd256O0BeJSFPWgorej5DaU5xYSV0V28rQ0VaQz1zS1dE VVVmYE1BeSFXd3A/Rm9+T0A/eFRqUTtBI2UxTyV8bEdlUUc5Ul9gRUQ2UXdQCit6YSQrcT5yeTJh WE0pK3soN3J0dVEqMCpOVzd9fC04Nm9eUTQhT3NuaWJ3fjxnOXY/IX0oI2l1MHgrNXBTN0Z1Z3oK K3ohb1lPTDF0Xy1BMlRxLWh0T0M1Zl5iNztJJjY4M0AtV3xaKmt9UzMkdTJGNiNhRTdXTjdSKEJX ODExOHpwTFImUgorejchbzwtOzkjQD5rVnE3Z0xEM0JCaDlOPiQ5Mzh2Tz1vRX5ePDkkSHZyXlBx TEtvSklVYW1idyRjdkZqUjY3WCRgCit6eHxaSWx7cD1Va0U+SShRU1REMUwpN3Q2QXRGbW9aVVlu MWZ5NlhCXnhvOUpla1NnSHZqOT56Y1dHPjEkV1ZrY3gKK3pyY0t0WkhTNmNPJnQ1QDBATVFLbD9L KzIoJGM4TXRNTn0/UFJZNjxfZmtrRDMkVWIyKWk7RHh1MipEY0ttQlRZOworemdNWno9U1lMY1Mo N0p+Vz9jeih0IUlXclltXnlYUFFxeWZ4XiNJSDYwcGx2VFg/PnYpMDVVRypfZCpgaTEoR0lECit6 I28jS2RqNGl7Pjs3clh6SytRKkEqVH1lVFZVb0lrN3szJWpEIUM/P256dF9qI3VqdVQ1JVBeP2FJ YndGYXMwKysKK3piYS1YSDI5MyZSYDdKclcxK3x2VFAmVnVuPSopK2BkSyVIZUBNXkIqZlJzLWhC KEhuNE1POUhrZ0VqUyghWEFVQworemdvMEtDIU8+JXtsZlFqblhSZFRHKjl3YlBHJWQ2Mk0rLT1F d3dFI3BaYWZCTzRtVCUwSSg5dHRgPl47ezJeRDUkCit6VTZ+MFg0JEcmWFAjQnE2NyFiJEx1MTZ1 Z1hvRFB2U3dEX2hlMFM9QGtIcHNRZzMpZW17NlJjMUpeRnlNQV5rfWgKK3otRiRSPXVYRlA9JDVp bHI8KWtEZmxjPj1XKTFvQXdkd09ONW1fVXVhKGE9MCp1Sk5rUkokfnBLQ04pMzJlKG51ZAorejZX N0daTmBVbElKN089SCtEWH5POVdZTzxIe08+KE9WdiEtSy1kOE4qUmVkbjNUJXUhQ2I0ZU1qb29o RW5Mb345Cit6bm9GVUZKenxObCFBc3B5JkhHRnIrdn5JSkdzald9dXpuSVF6RmJAbm5vZXFlezdJ eHdEU08kbUN4eGYtRU1IJVYKK3oqd158QmxqdDcmKG0yUz9YMXcmTUVxSVMhcjA9cHdgc21rXndr PHptVGopK292X01Jb3pfPUpAamdRLWwhdntkUworeilnQU1mYjttbD5TIylqdCQhWWk+LWYtTz5e Xz1VQWxKLU0yaSM2MSlIe05pY3NOamBFdV97IVlpQUdQSWg8dn1LCit6Q2VhTm5oY3NGZFdhNnd5 KVp+bCY9TVJQRlNkMlNBJmJxTFNPOWdKYCpeSTdhRn51S3psT1gxS1dFJkBSa1E7e2QKK3p4d1o8 bntFdnw1Yj0wbHpSKVNkNGE9Y193WCl8VVBkfnV4YXlKTT51ejFBaVhIOCZraituYmEjK2wqSm0h RW5YTAorem8qQUFlU2c8dkRWK1pOQT95JHJTPHAkX09oemE3N20oWXohYGxET2omYXVYUjQ4PFdw dms+KUlyNnpLVk1AMkNDCit6KzBhZ01paFBAX3V6TiszdlV0KklzSShzJD9BS3l+bV5tLV8yWHpv KSFJZW42cT5wTlYqMmxle0FXTTJsYkooc2oKK3ojXllESkIxMilzI3s8PCpCJVk7QXdAUzRVSnJt O1NpQm9UOystNX1xN3s2PD5RR1YyRyV3YHkmRGJfT15PXyV4UAoremE+fjgmNnNLKmYzNz1NPl5X ZiFRUH44QD07dV5qPjEoOElQPHBNSk5fQ0U+aGVVY0BhOFRuSVgzaCsmaiVtP3MjCit6Ozd2ZD8+ XnhYeWh5UCo9e1NWbHpnVmxOPzkwfnk3P3IrIWdGU2dKb1pZRC05JlVUTGYrNEtCNj5gWVYzWmom OT0KK3pYU1F+KWd4fD1fIylUYGstXyk7UThYOG54OHE2SF5ReSFSc1d9Y08tcF5UKVFlVyYyQjZF ano2bENYcXBpJSZSQgoremVDWColSGRKSDFEUDY7c0dGQ1Q9aGFUNER1LUsxRnlAajZwXkZpWThD I0lnTlZ3WmBRK24rdFhMNnFvS2xnfVJjCit6JU15fnlWb3lnTDEmdElhaGdkUFJgeyV8QSRWQ0wj a0s9O19MYl90N2dCeXxLWGZ7e1Y3MmtAalN2eSlfLXFoNjgKK3p1VTg9d1dWKlEkIzJLeWc8cml7 UmUzMiFRd1pqR3wtTEdOfENZaj9RVUVFLUkpcytqdWE1SVokM3Y2PEM2XjtVQgorekVGRXtVRWAp YmtSanA/RDI2RXNzJkVgP29rYGA2Ml9wMGI9UC1xbE9CM3dMfDtfdCk1c2RDM2dfO3Z+QGQlJXZU Cit6WS1SN3kmVHsxTXhgPHhVZF9+VHVjTnBhKz5TdGVOV0pHQX1yZF4wVDwpbiFCTzY4aVkjMjBl TmJDVUFCYWM/NlAKK3pEa2c3UmViI29seDNnRnlvQ3VZZGRlMnRHWGVFJCUrR3V3fjhKUDR4K3ZL T2AxWHZDc2leMDFUSFdIZmFOazA2dgorekFFQDw+QEUlMFFFP0pTITNkKVlQIXQ/NG5IbENUOzJN SH4pPntVVks3VlhzT1lNUytrVHVQfEkpS30qRXBMQFZ9Cit6ZmNGJmlCYXtpdGVyWCU0S1dUQSpr OyhVbG1IVUNFWXhOZl9ybDFVUTU1fiE1KSQ1MmI3T201fERvM0ZkYEFNVjgKK3o1bnVZdmxJVkdJ REZ9OEtyZWxFS0hAYDlXa0EjKSMrdz02KWk8LWZQNzBTPVZGfTdeQy1DVzxCMmBfQ2s5MGxSSAor eitqek5ReHczRENYJGdYfnY4LUwyQyFSJTUxP3B0KzhCfTRaK3p7aVNJOTFZTTk+PnJIe2ZTKnYk VUVVRFBTKyo9Cit6bC1gWWQpU3xTOEwmYylpJnUrS09mTXZHcVZyISl+UTdNTjkyQ2tidUc2MDZU T2ZLaitKNzVEVkZodGReZjZmTTMKK3pAPjdoMzhObkJPNjFIbUkkRG45S1NMRVNXSUk9dmA+b1Br cTsyJDtFVEhFd0J5aTgyRWpBTTJ8R2tgbVorfGNJcAorekxsfDh6YEBvb3dBaFBjRztpbTZRbVg3 SnQ0fXctT2dGVUZeOXBnZW55SzN3QzskUUFSS2VMRj9Sd3F0WD09WUlBCit6KGxGfF42WmpjbFdk UyoyZS00M3xwc25kM2swOWw+NSY4NmhZWS1gMFIjR0BaYlVLTzRrdTkqUU89X2I2U3l1ZkQKK3ol ZUctNlB2Ml9jJTZmI2g1aDRlPyV9PnB2ZHBJaHFCY0teamE9YXJKQzV5Tk5Za1l6c2d6Ujl5OFk5 SEEkcXdhbgoremg+RExEKns7aEh1PTUrd2hsTGxQd1dJfi0yMHwjIWkjOE41cDVxOXBwM2t8Sz5C dCt5UHwmUWRzbStEbU9ZXiN7Cit6USZLNlZYTjA8ayYqTWI7RWs4ZCEqN1dxdz1gTlZOaiZra2Mr WUc8a0dtQlBCe1RgbTg/ZUc3cCMmJlJfayNidSoKK3pWPjh4WntxU1dsMWBqTXxaeXg4NWk4XyNC K0RZWSl2NkUkKHRzeTxZPUtacjY8PDxkJUp6V310SjstdVpQREtubworemJXRGZ8OylBcCRDSng2 e0xzMTR7eDs8dUJXTXVOSGRWMzl0eFdNQklubFRzZE5rJlVFZlhZNlRCM0p8YCZsJVFUCit6OGZY eVchdUR0MWBvNEJXIXJ0VGJld2hLI0BmXlomTlpPMU5pV2hffkB7TlQrNDdIRyZReENkOTc3aXxL ZzF7OUMKK3pKWkZ2JkRHKCV5eD1qXjtNNW1rKE01MG9ETSVsO0ArUD93SnpBaGpeR2Q3T19uYXFI IXFPKEVhdTxxbXUhdmVjcworelA/cl5pI0piczc9JEdwXlZAajJGZV57VS1KVFghKUl1fHZpRV4r WXxoKE5kV2ZeeWpeRj4tXmd2aiN1Umx2VGJaCit6YUBQPU5pYTVHVz5EM2FSQWFOcUNLWDJ1NyFG MUt5JHw5Rn04cTcwcD17S2R8ODFNbzM7N31zeEZJRWFMX19gLXoKK3pAcS1APT9yVWRCcEZuQkwq TD4xdG1GKmBvaGtDeHdGMylgOWVvPTtJXjVzVEtCNEZSb099KHF2JCo2fHRyXlpAMworenVQdnpp c2F3MWdafFRIUiZMU2glZihqbWNSSyZadHAtPWZGKXNzSCY7N2wtb0FeUHA4Nz9YKXszQT4/RjdQ NndQCit6Qns5azk7RmRhVmNXcC09YmRCSGtARktieyRndVRGZ2J3TjU1MTh1fGA5bTsoMXA7PWdf OT45VTk7KWUtI0ZXaWUKK3o+RWY8Qy1BaCs0c0ArN2hrKT1Kd05iIV5eXkdqWUcwMUVKa0UjKGN5 dVk2SXw4OylRR1NMNG0/e2B2QjJseXM2dQorekQpUHR0YFdRZ05eMjBCWmMyO0ZZMXJyYTVHNFhs VGhPK3l+NGpPT1lWfjhOXzhAT2Myd2Ala1BtYEdZaTVvMkgpCit6ekoxX1puYW4kPnchc1FEOVM7 RmI4U3FBSCY1e0pmO1clZTNOUjJKbkMyTiZzTDxNVV4jRDA3QkJVUHMobn1fZ0gKK3pnaCkybT0k eTtjKyVpV3FEJVpvSXNGU3g8RUhCWDZvfHtFcUtLeShrc3tWUlArVzFTJDdJSlhOcnF3YTBmQyVa NworenNXc1A7ey1eWVdFXkAhJTtmTCpaSjQwPEdNQ3dQdFVAPW4zNTlHYTZqJmlSWCZnemJtcFU1 dilwbm9mTmJWTzYjCit6Y15BY2tnVlVKRzVJT01qaU54cU5KQjFCdmYybH5EaSotZWNCQFVhZUhp NF5ydTwkfDdeQVhGNT8/Zj1qI0RCUz0KK3pnMlRPYkJmUkdGZEgwMHR7NFQ0UFpqTVNCQyF2MGYk PnJRKkZeZV97MSlQTXF2fnZTWCMhPzU2TEFxO3NrM19eSQorenRJT1JMTHVmPVk/NXhkUmZ8RDA7 T0xHRy0+dXpoWkd4YjEreHRfQXhwNlg2Y0NnS3UhdzJDSTMhM0J5MSk7cVlYCit6JHhNNFFzPlVZ YXV7Mi1gKmorWTE1ek02blVsfTs2ciMrIzUrXnhGQ1pBZXBBTHFQQndEZHgpZCtSJVVocHRyWDwK K3pzZ2ZaUThkTDw7WD53VnYxfipEMlctUVAkVXJxN1BHRDJuY29BfWlrT01UI1ZMOHR3K3tnNks+ bmEzPytGYU50bworekh1YGRRSlV8dnljVlJpVHV5OHh2KXZHOEZWdnF3ajtXJXdeUShebGgqX0Uk cCh7MzxWZ3FqNGV4VT18bShCNlFgCit6cS07dWxmOWx+IUMjIU1EMmZCfXVsa3plSSYzbj5ec2FY MWpafXRXdzFNVkBAIUg+UzRteihmcUJwaXFBWV9hfTYKK3o5NXFFYnBwWUM2Jl80LU4pQkZCK2pE TX5nKkA8e209aEF4Vl83fU5uQUNASjZtPDZ3RF5ObGheKUklJVJaKjFwTQoremI9VUAhIUxqaFd0 O2p7WmJkJUlhZnVRYUxaZ1FQUHQlZncpJFlqSGQ7Q3VFTktzSSQ2UDh2P15kRjhTeyh+RE4pCit6 MVBEYj13M15SQTI9dl5VYXp3ZnNwJCQjdXltS31rV1lnMF85Sm1GVyFsKC1iM1d8VXZIO2M7eHI9 WChSNTkzWkwKK3omfW96KyNZSCo9Nm9NZjBIQVQjY1pOdU58P1J4MFhfKndGbUh9WTtBOV5PUj91 M1U5KDdsMWBIeXMxMk13SjZIQAorekpMNTNpRXdgQENhRWIreSpDRGVNWWpCfWdWQXJsbV5OPlZz bExSM1opcllGWjxqanA2aDJ5P3d6eHA0JT1DR1oxCit6cClUamghTl9oMWliTFJTdzdNWUU9MDxS KTF2WWIzeHJKZyFJT0Nmdj1scDFrZDJtU1U/d0glVjRuOGRDZkZieEMKK3p8NzJaWT9STX1JVD0j SjQjRSFYU3tFbFN6bWt+Mm5RXmw8VFVCeWclQWVHPjl8Ml56VHhMR0dwYVVuLWtVYiE8UworenFo K3JDRiFEIWh3RD1oZDJkUVdKVXxWY0ttcGVmOGgjN1JVP2N3QTVAbXJeP0QtNFY+d1E5JGFJUzN7 KVBIN0x+Cit6R1goVGNlKkFWWT9yPiYoITAoRDxRZyY2K0FNX1hQdEErflYya3xsUCR2QUhASHJr X3ZORX1TVk5Wc0NBZ0lVbX0KK3oyZ1B5OGIlKnk4clhDfG8pNiZkUj1va2w0bCVga2V0OFZ+PEZ0 LTNsSFI9IUNJbUU+JGA8QW1POGloflhTTW5jUQorei0rMkJfcm57SFFmRn1aeDdkRCFIbzZ0aVVN dX1aWnV2THo5WmFZISVAbD5aaStibzM3VlZMYjxuVTtgQzs8UmtpCit6MlA0JW1QP3hyfFdfTlZM akV8LTRySCEtKEclc3x5VWNlNXVySDZVSDVoTmkyI1BiZ3Y/SGxCZjQyYERUMF52Y30KK3otPyRe dnImNSM2TUZhK1AkbmE9NUgrPTZxcXshblplKU9YWCNKYyUyJnxqKyYyJmV7MSpjSmhEbEg5YV4o ZU5pIworek1+ej1ZZz9+bXIrd2F7SCpoPzt7MTNyc1ZXb2N3VEB4KSV+NlltQTgwQjZlQHV1UHRe KHp+RlokR3hhP1FWXlZDCit6emYwREVaJD9EK19YZy0pR2k/Tzhwc1NxMmBuJD82KGxoV3smQjZN X1VHQl9sRWc2S2EqdktDc0UtRyZ2SVNBeWIKK3pJO0JZaW5XSz9ySEFsdjA5PjA8KDFNT3xXIzY1 O0cpe1FAJkJXdk9lX1VZISE3dUZCOGBteGZfYERnd3tvX0dyaworelNYc14hS0twbTV4N2pmdFgh U2duZkRfRCNeJH5MazMzYkk9Qj5gMElyOElaU2tVMCEyXlNIRFAwU2l6X0F8UyY7Cit6Z3RzSnZA N1FpfCp5c3heXjEtUzExd2YmMT9RbzlkdDg+Q2dabDs1cWg1eWswe0VOcmZLT1hnbEVfNWpXTkcx QSYKK3pgRU1SJCleLU5RQ2pZTXxlWGBuUyVxQTxtX3A2JDhSJWtPfFpKY2ZuRCpjPkQwfkdMQEg2 KmhEWmFgbXckYl9qSAorenFEcTQxRCNnYndrST07cHUrNnVqNm4wS35SPVNYOFlJQSl+bC1Ba1hX Y0Z3N248bGxSbTgyeDI1O0VvRWhWbHxeCit6JiZfVFY+Qlgke140QXJ1M35xRVVuKyVFODs+Y3dJ US1iOSNIZnA0WkQpe01IS1kwMW8jRmcqcCRuJGktb2Qje3sKK3p7LV43MDdmTzFtSWkqU3NsQDg5 Q3gkRkBQJTk+PEFtTG5gfkUldFM9UVdCe1V2SVMkbXJfKm9XJi0/d3NvOUVCYQoreig5VHU3b2dV dlVvfUhlfkxLKz9Te2hZMDMhbkEoNHt6UHBLbF9SVlE7cXJ+WDUmYldCdCg5TyhtMTdYayZjODJK Cit6PWJGWWtFZSo8S0tGbn17V3UjQ1pOe2I5ZSVaTjlSc144SSUjPnNacCE5X2tqRkVEbEk4cHhX OHckdjxSSG9oZ3UKK3pEJD93YUl1XiFDV3pJc1NnKT1jbEkmakNjJWA/SVpTJTU9NjszaGBeaj09 aHxsOGlCWWwpJWRGel8oKlpgfHFWXgorek97M3hTIWs+R29qfjhESGxybTF5Y3d6VzVSe09DRyNX S0EtR1IyUFIlbFRxKW1tY0NUeERmc3Z7bStMej1xZTZfCit6JiVZdkhgJFZsZ1I3T3hPK093NE9n R0NNSVk8YldtY1FtWjdgYmdCUWhLXnQ2bTNON3IyJTN+aHhDbHAtQGNtKDIKK3pIeXlQUi19Y0xO I00pSlNuS3ZqeWlSREg+VXJJRmAjfjA7aWxiQ2E7VW5BTGcpT1ZFb3VmaE0mZDxhVjd4RTZqTQor ekdCWXFMam4wY2xFTG4/dGEtSjlIZjdXNXs+Y1FZQkxQZCY7Nk9LJF9kN0FSRzRtQk9IakR7P2JO bjFgeEhNN2kpCit6PHgoMCtEYV9USDVvPGlfVXUpa2tEe3ghRWNQQGxXailANDxgcnUoQ0E3R0VS KDN7VSQrMGBJZVlHVlplM0RZIT8KK3pJbXBCRUprbiUxPDk9ZC1tQCRJVXo5WHImMzxaKHhyb1pq e2taY0RBRDFaZFFLRGlgU3Mzc3BfaWVYP1FxKCN5NQorekkjZTRHTU1RWExLcFNBaikoNjdGek8t K190RUtHZ3RjWUwmbFpqOCRrR3liQ1V5KkY5KVlMb0ppITJUSjNuQnlZCit6YV96S0xHT2k1enxH YCslWk1LMVVofnNEKEcmbSEzOGI9VTJOcWBYQzZ3PDtiPXtFfEhVJFkqRHk5fXAqb1khPlgKK3pk NGZNPz1LRkRgM2FgbShAT2lkZXdBR20lPSQtWj0+SlR6JVNiNW48RjsmRXY9dUJWc2g1ZU19Xzgt M0EzcV9MdAoremwkaXF3Y2c/JnE0Pm58WExUdEleYzh4fFopZ1A3R2JtIUYxWTV3MysmaDJ4fXBI cjI9RFB1a3B1TiQ2X3h9VkQkCit6YjJjd3pMQmBNUkg9cndvdXRnTjFhdFg2cG0paSkqPkZnUGBE ez87JHElLSE7NXZhZEMzZlItdU8tUD80cml4T2sKK3pibilHcEhTdEYySDZgUWdiKmBRUF9OODVi WFJaK0EjfmRme00tNDVQeHA9ZjZgemleVmojJiNpSD9MWnB0PGFDPgoremZgSG1XMnc+c1BnUWh0 SHBsVHtYZ0t5azhufjx9RV5HZHBNUDI9cHtZI3g9VSVnIVk7JG9oPzdpWH4keC1PRGQoCit6XzRM I3AzS2E9eCklMXNpQyMpODhVLUNHYWhVRn12KzhsRExtYldfe1g5bWQqVVV1cTA7UWZrTj9lZFJm YGFaKSUKK3pNZ3Y4VipzOVI1RE9lIXh4TU1EWVhPeEFEKVZeZV49MWU8RyVwdmF6JUttdys4cnt8 SUI9TTtlYVFOZWQkNjMrWQorelJ7IVghdGtUZlZ7Y28hZTZXZmZpMz18SSszSVQpbiQ3ZVZfKFlI Mm8xSXhkcTc7PHN7eWQ5cmxlWjI3TEgycXFMCit6cmotPlFQSVRyXm1Ec0FicitLNzJXQiQja0tQ dEF0VVUlSUtDS0A7bigtSX40YzdfflhXNyE2XiQ0d3R5RVpBd14KK3pAd0B5VTFvWjtyTSM9ekU2 eUx9WEB6O0BnZFV7RCo3SGxtfFU8ekdmTD49PT5yOXdoIzgoYEYpZUFIWlIjeG92Uworemw7NF9x M2NXVDRDTDFTbnBmb2h1XmV7bWZsX2t9NkEtSS0+LUQ4SE8ock9tTG9WZ0VebTlWfX4mS3hAP2Vi c1pWCit6UVBOP0JqMWtvflVfSCZLaXBsWm0yXj1pamVvOXwjPll0PlBVMnNle29pR0Q/R3IkbjZR NCs8dj9VNHhLO0UyVj4KK3plfDNsYSRIfjJnKHZsZVlIPSUzdj98fVUkaV47fm87PWRCUXt0WGwo NkMoZ1FLbzJrUz5KJmtjTnVJUVkmJjc3TAorejY8SEs3WWMpNU9XVEFPfU87WnghYEBZQVEhdkgk ZEhJe2Y0XmtDWmJJOzVaJElWN15HZlFTWldwT0JBc1BEJXxvCit6O0hyJGxlMWg4T3sxfU95SHZP d3hRWiRxendnNXkoVUEmWVNUUUQleTE3SSFwJT1aa1NFIXYzRyZOOUBacl85dFgKK3opMi1lMSQm X2xSXyh1Ozs/Q3Qte2B9JldaeT8tcH0/QElwYmA8RXJ6OCNwP2RJUX5jNi1hblN+ZX5zSnckMkB5 YQorelFrZj15WEJ6b0NGI2ZxVXxObEp5ZCtPZjUqYD8mRGVoNUUpWHk4QXAyek8rTGFFM3N4X3lT SSRkbjZnY2J6VU9lCit6Y3QybSlIXyV3aGh8RStLQGRIX14zWmFtQnokcX0xX0tPTkA9WFgoYFN+ b2ZPcCVJe1JSc0FPNVAkTnwyNEshIVcKK3pTS1JSJTxkUUckQkdJME5LNmFhMWpqcTRgJHQoQ3It Qj1KYzxHYThCMDVnQk4xXj1eZDE0bEMjOHghMEEoJXQ9PQorenh9I01VP0VjPSRlfVQ1UGJBdUY2 NFUxTmBUM1NAPVl0fXNVVSg5e0QwZkdmMjgtX3hPeER2dyowYmo0JUByV2NPCit6dlRTX25OcDQ+ Xkg9VkkhRCt3QTxZTm81Iz9UK087VWRQUm9zJVU8XyMxZGJSa2UxIU1Pdn17OF40UktqVWhUPSYK K3pZVDlteiVsO1RHVjhidW1SbUhvZmlIPXBTMSkhVlBZNXZ1JEArIXRndEY1PFo/Pnx5MUQwaUsw WHFJNEQqQmRAUAorejYjJn5KY3xIZ31ENXlhbFd7UytpUFE5K3FVbFF0STkjQXsqIWghdH0pcTVp IUBZPDImTFdtJDxMdm1tSypLaTReCit6ZWZTcGIrezZmJGIlOHV3e1VKaHd0eiFafVYqZFMleDlH O1ZINUltS2xka2NEaFY4XmpBU1FvWnNidEdjcWFJRzIKK3pfdiVDZm5tR0Rqe1lYPT0ldDFoJl5W ZCtxTFhEKDkkY3VuaUZAcDB5IVBVdWQqbmpwMlFCNjFRMHBeZHk7fV9BbAorenAyd1J0PWRwR2o5 Kz95KCh5KiNjZlJDUzZBSG8qRkB8aDI7aXZII2RfUE97ZXhKdGordlMjUEhnZk57N01HIUwoCit6 dmw/PUFaJVhWYDhWP0JPX0s2U0tkNVojaSZ0ZUw5bkYlJlRBTUdlaWhWfjdpOGVQS0ZNe3FnSnFM e054PUElKT8KK3pzaGg9PWxOUFM+LUF5Tit5JnFLY1MwciRBUDcxa0hRWVBKTkFpIS12a35KQVI0 dDtiVXF4JURIRTN2N3A0VTd6UgorejFxZTxOTVIyMXU+Qj1ucSM3anRkOyROM2Y1VCpydGhaK2lA UzRBVD8rZG13TXU8eWNzLTEhbnBDI3l+aHohJD5OCit6ZjkxLWUkNH5Afm5heGRjRDl5YVN0MC0l M1MpPn0xJTlFR2I2VUEtdVBHTjdJPDZCTih3dl9RN1hfTCNubDREaTUKK3poQXp7JHRibV4wSXN9 ZFBBI2ctbz8+a3lVRz5efio7PT9yM3Y8X0R9NSV8aWQydHVmKGxwaX4wZXYrXkZTX31gKQoreilo dHJLVm1hQWxrQXBlOXBlcH4rV0IoU1gtcjdpfGgmNmAwalZJYDMjQndMUlNNMEBpO0pzOVQrVDZz Y0I2dkB4Cit6c0RLfjtFNGMoJnJ+UlZqWWw+OFctUipCS3lSYD9xQlRWPGxBZUEzb0dVUD1zbCFA M3xyLXBacXwxY0x2MitGQUwKK3pmciEmQ2Nhc0syWG5gZ2dnMm1AM3swU3VrK0Q5SGczcV9+blcr eSUyeXNFUXN5RyphXmk/ND9sJWkrLXlXOWNffQorek58UXIocjU9cFk0MjhSb2UjX1p9b3AkNndj SUIwTTlfSHx2QXsoSlJlMHBQSyEtUnxfOWtqUUZQeGVEfkBNMklQCit6bTg/TkszR3htYEFzSSs4 KX54RnprPENfKylkb0MyJXEqcCpzRWZUJG1yQkc9SUgqTFclJnlJbXdgdD4zUHgjJHQKK3o0LSN2 YWl8Z3k8QHBYUmdKKFJgKT43MkA8Z0VAZ0gyQ1NDeUU9OG9ia1NafDRONVYoVSY8dF4/aT0yNFhO TVJDIQorekgpRnEyPmhCZWpVVSFmaEkxZ3NLTU52filtczJaNFQ0UClIejZBWUFfKUghcVc2ZmJA WGw5Rm1XPmlAMGchMVg2Cit6Rzh+fnFIcChuP0lRal85ZyRsWWMtPUZJckRreUdYa0wyI216eWxk VlRVemRrPU9CZUBjOEwzc1RNMWh+TzVecjwKK3pHRmUjI0o+VjktZl5jK3dwQEtZbSgrMTt0dWZe YDhOQSFFaXxMbntpPTchSnohLWZ5TUVVTlhGVjJMVng1YzQlcQoremNkZFBlI3RrLWArMUlpMVlQ ZUZZLS1APl9kd1FYR21EWC1yak5BfU0xfjQqVFBEYWtebVAocno0NDgqe09WUWJ4Cit6cytZPyoq Xz1CXntGKyhKdDZ4UDFvNnIpdFdNeEgyRHlaQllyWDUmcVJjM1gjaV5UVjdSZlF2VzA3PEx5JV47 cEYKK3pGX0kwZ21PXlYxX1VvP157dC1fTU97KSVabWVie3JnNlBqdkZWMn1fcS1BVEteISVFSFlj YG1gUCF3KXM/PTdASAorenxKI1d2WTQqQjd7SV8qIUNqdE9Le35zczRrKTc/bzNZR3VPZnRqck5B OGYxfUolMzZqbHcpITBoMGhhPyk+TWh3Cit6PzVVIysqQFIyKUpHWnxmaztGc0RgUzV1KFk+OXQt V0AmWjdCXl4mX157Zjs3WlZkSHV5aXVjZXU0T0tSVHF8NWcKK3ptUj00Rnc9PVRJQ3EwKnlPSzda ST1CTzZJdVVFVURlTWVMcHd3PHxfK3VsQUAtYVpjdzNLWHNPSFBfY1BJYXpLcQorekIlNTdMRykq RSFaPGRaTzFvIWtSd08zZ0thKn49fHMmfioxLWB4fmotZnUxU0NYKTtKTih7Tk48Tn5hal5pfn1j Cit6cjMmP2lwSWUoQTdgc3VNRXgmKnF5bEhlbHckcGokMnkrX1NCS3NHQTcmNyU4akB+NiVsV1gj LXtnQGJxc0h5dUMKK3o2TVJvZ1hOTnxBX2pZdzZaYX11R1IzazxzNU92bkZZXnx+clozUUFzK1Bh aXhxMT9Vb3MzaHdPKz0wdXZUc3VFOQorek1iPk1Uayh7ZnhBSzxUKXBuIXBjT0FoWUNuJXY9azlt QWNePlNtZmdSKEZHO2k8fCh7Qnp9RTRZcGI5TEBTJXE4Cit6RCUmS1pha3NsV1Q8UXFycn5lZ3U5 bCZjZFZuKUI2YmB+ZVg/YGt5UFNvKShCdGdLOD1kNFNAbnd9ZF5ObkcpJnQKK3pkSmo1VWJIdj9B ZC0/SHZucSRCXklaZ1V2cEpALXFWVXJxNllOZkY/LXFmcT03UDxLJG9haT9IITAjdHBCeE1WTgor ejR2U1Q+R3tpdn5reGctaVh7MnhLd3JuVTBzMmp2VEtOcV5LUUFVKlIwYEVVYjkrKSl4azFlYVZJ MGohQiFpNjZRCit6YmxTa0xxP3Z9TytpYmJNRnNnJlJKM2s7PzspWjgjYU87fmJVWislYSVrK35V YEB+KlE+ejBeKiFoZWMpZ18tXjYKK3o7M1J5WCh2VT9gJGRReFhlYT0qVDtOcGdiQ2FWJXFzPE5u WmREbHdiSjRDd2lvT1FxK0IqaWBaUF5DQH5DfEgzbgorekRhMk88SW1lWTdVMSpXOVJkRG42PU59 PVZDWW5GaWJgU19DQj96ekpZfnA3TCR7UjxjVWwoY0ZzSVd3MUkjbil5Cit6UCp7ZE9WOG4tNXQk aFpsRUhKKiE1SE9Ca1VwQE9GXz1wODNWYUMyZ24yPkBiTWpYeCZpRTYlbVckMjlwKWw7Mz4KK3oq PkdoZz1oIT5IWH1DRkZNVXp7fXlTeEUxaSFkdGBCLWJfWFNtU1ZhMUM+RWc+dFRXaXYrLVdGYzV2 dUZWfiNDVQorentaKmQtcyNoKSR2WX5xfVZaeW1NT01pbm8tbG8oYjAjV14pZ2liQ0xfUEk1I1M8 QXdGUmxJMzxUIz5SOCFBRT4kCit6cF9lJkFrUDZ4T1JpdGBUbVMrTE1WUnd1TTtkLXhRZ2xubHtn S1Z8OF5wa1Q/dUp1NGZzSFNeJnZhNExFSWZIR14KK3pMPX5NOy0zMUtHbzkoY2hBd3Z+RU5FMHoz O2ZkRHJWXitEQlJudEdROysjcGRiRjtvdEp9VztIVXRMYjZkQm5eKQoreipqPmYtVylqXng3ZUco anshMlkkbWxHSXNwI0VLKFpEYVpyTUFDQElCJitLT2huXndXRDtsfEJiPVgqdlU5TU85Cit6cWJa RT5ZfWV7LUdoYlBfNU8+SXM7cUtoOXBPSzJZRyZnZDEzRDM3NGB+Zll9VWlTa0hPI3ZkYWRsN1df KlJ7LUYKK3o5bz5HSmw7UjsoMkJMaStxYEJuJU5IaChCWkUjN3RGJFZ9NGo1UHZwNCo7RnBwbkg0 TF5QMHA/ZiZ0NkVQVTRVPAorekJ1ZFopS3tUQSEod0Y1WE9PfEBhZGZ9NjZRZiohMkplLVdJTWAx Xz9uM3l6fThGbiVHTkZpPStsZmVkSURzVXFfCit6QHA9Uj8xJU9zTVc3NDliNzNNX0kyP0o8Y0VZ UXFkUyt7QFJQNj8oNlM3S0F6UERZWlpaYDsoQkAzYDB3S1RWS2cKK3pAKzZYKGZUNnV+dDRIJipf cjgtQEZxeEo1anlSbCFENz9vPjNteGlfK20tMzQmeyVSRkZ0diV3XmdXcHA0NyskdQoremRBKXB5 VyE0RnVnZX5SbE4jNT9aPDFITEU/VmctUkNtVjQzKFckI1NgaUdfRktHZUdlQVlqamwhK0w3JVFW e2ZsCit6P3o9R0xDdmJmM3t6fjUjO15CbzF0VXlRMXpHUTdJUExsNEVDekZ8dUYtcjZoSTdseyVi dUlaTHJiRV9MTTFHOFEKK3pEMHhyVTh6KTlHP2s0MHhgN3YyeENnQ3A2YDhHPDdSQDZgYCtIU0w2 WmBXN0czK1pwLXBtZ2Ezb1VZaFNhWl9WKAorelJmZGotZ14rP1g4JlpFWEpTcCZPKTJIOUQwZW5G ZkwrU2VLYXVUfEE1eF4lbXo8aGoldnR0LUttJUMzfmhVKGt9Cit6eChWRTBaQyMlRjxFSTJxRGt8 IyQqcFZYR2pQZHs9RUdDUW1RbXV9PjFsKnkqN193emBWZzVySygtU0RkcXw9bTEKK3owPWVfKDxn ZXwqbEBhal5qfnEmY2BBRSF1ayU0YVBldnMlTyRBWEJpPjUkKSZRSjQ9WkZra0JWVjJBbzB6Oz1X WgorekowNWFQO1QkUipBWnJEVzx2XjVqRGpLI0RRYlRKZ0tycUBXUlJLUGcmKUZZJU5rdDBlWHRS VCZnc1YjVjZFWUFXCit6aDBQM3dlalVfbU5PZTBfN3xGWigwMFNCS0d8eHBfTyM9SWc7ZCFZWXBl Z301I19VTS14RnJicjlkXkEwMkxmfHAKK3pWYkxQJilYKHVHQlo/cVphOSFFKSRuTTBROH1SfExI bHRJQG5fR2QlRUdKRipqWldNR0wkP1BPV3tvM0x1Q2NeUAoremUjcF9tazFSOFdqN1RxKU1JSHQo ZWVFS09YcHYyOUMtZCVtQil+O2NiSDMlK3MkdERlSilRQCRBMW9Raj5XcG56Cit6ejVWMVlHN1Ym NmIzanslPUx4RkNZfDFPQUQ8VEJMNCVIXjJLYmBZc2ZLaHlgT0dwSnJIUmdnUVF5VGZ1JXdvb1YK K3p5PGFteGItN05WN1k7TFJnI05Ta0FtNXVCakUrekIlUk5gfXpEcGE2JUtAaWkmXkIyQE85bXp8 dk1MSktgZmczVAoreihRWCtaKU47bSQ9LX1KQSRRYH5kKWZRMFhsbCNeUXBMPVMhWik9OTZRc2pn NHVzLVBUWDNsJXd0QlVvR3h7VGJYCit6R01PdFVMVlNpb2BAWExYSmUpUzhZKSQ3WXgwcHhKOzZ9 U347ZFRKQDAxREhQTHNMITMxclUqPnI/PzNaUGxVblcKK3pGSEdJe1ckVTk1TDBUcXVwISNmbjxG NXNQSHV0P21xSlNMY21selRETlZsZUVfS0FtISp+R0hRVU55bXVIYi1aMworei1kWExZYEs0MGRH WDhwOFpDRDJ+SyM/KUE7PFE8ZjU9bFBWTGBtayhOQ1Mkb0plZSFMbitOPzFPZUxQakAqS3BuCit6 QChZeDhMIyNtOGQyZ153TmRTVFBAZUZ+dXFTVX4pTlR7JGo5Ozc+UV9NPj8kcX5BdXFWKlI1ZWdz OV5ialljX20KK3psb2t3WFYkaSZaVz8kTXBjRihkY3Y0Zk4oT3JLUCg9fWIoQiRDK18tOVpWMFps e0xjKGxMVV55dXxydGhASTIwfAorejgwciMrI0E1VCgwX2Z+ZHEtZF8wNXw4dEgra2c2ISFzRUFp TmROdjZVN2lVd2M+b15tciZxdzEre0o/aiMpU0xLCit6WTw2MEhETj9qSiNtJElpSW1TNlE2MTVt JTczcXNQXm48JGJ5TDtiOTEhQylQTnk5YF5Ia0xsP1pWPD00MW1pd28KK3paJnsybnRGVjZnSmUp Vk1rSTx3IWhTdCR7cSlZWXxGVygoPEskU0xWTnVwdSNYPWFvYl9mUTJpS1NwdVZiPzk7Vworej08 S0dgbmBRWHZTXjcka0VDZGJqVzx6aVdgZ3V6cHR2fXBNTXNeYSs9VTQpXm1ERVVwaDxSLV9fJEJn YGE8XkRXCit6bXlzUDFPNC1wMHFjajZvM2w4ayNGQmE+OVhwUUMhPXFVdGdKTiQ/UTVRdClgUX0t YjtsR1IkViEpSyM9KUFfMnEKK3o3fFhQSlpQZ1FgTDlNPHNiK2M/YWt6bmU+VSY0e1Zqa1ZydiN2 Jko9WnRwRStLdEN6UiFSeExKa3ZlK0xKeT0pUAorelFtbElHJDxkSU9BfDxKJV5adVFxYH4zY21e TCVyY2ZJKHhMbUNBZ1dXJVdpamplOXw7ODBUa2tWQDl8KE9iaTQhCit6bzdfTTsobXgqYUJoX3s7 S2VRJlc0TUVzYHZWRXZ+QTU3d2hVO1NEZSpES2BnYyU2KnlgfVghVGVjS3lkZGNNNXMKK3o4MFpg WiZiTFF3JkFWfTEoJVlWbykjPzU8NmdQZTVaWHxQOUZuZTA0M18pT29CP3F6MmJua3lOPFhJWkl1 S0QkVAoremFsTkV4QENid25UeXVYbFchalRBWDxLUyhSWUpURUklKEgjYiReNGs7cDVyQl9zUTxg MENCanFiYWMpaypULWZLCit6K2dpP2IyZ1VjOVY2e2stQW5FKkw7VndUTj0pR2dwUldMcVlxT3t7 SnlZdzdoclg8bDEqeHF+IWYoT090V1ojOEIKK3okITxyd3RSVElUZHI7K0t4QD1pViYjZSM8P0NM QDU3PGglbnlpYUQmYDIqJGMhPEBPREhAdGdOUT1yRGlyQEpqbgorekU5LWlLaXc/OCV0SE5UJSQj Z0srNiFpQXZBLXBRSm5HZGJoX0UxSWxNPiVSQklwej1LaWQ0R2RWN0tVa3NsTVJiCit6MSlDIUVJ Yjg9YmNlZikxV1FvSGQhVX5nelp6NlFwRVpfOT1ZV0BmbXlzcURFUl5EJGU1eGomMmVzZDw9SkFj MDgKK3pgUX4zaUZ0bHN+STZSa2tZN0wqJio3JGtQYy17QGc5SldQcCozZyhqeFpkbFRkJHBaKD1k NjItU2ArTEo+dUZNZAorenlsS2F1YSZzUHo0cjV2MHlAM3ptSyp5WVc4JG1ZTHtFeTVuZ1IySWIr U2UjI3pOc0B9KkkrXzhgPDtLQShPWG0+Cit6Y2ktUjhvRHNxS2hFRFlRJE93UGp2QTA8K154dmhG cjxpR0M8SypsWE94QXxIXkpMY0I8RFh2cnJEYCZJT3U+eUQKK3pzZTNqZGxSfDZsTjNqX2VmUWs1 fldJcz14a1c+cSYqb01aYyQteDgyYDRnVWhgM0x1VzlLdjgqcFdvPVFWdipFRAorelNQIWMxZ2w0 KXBEaVpHc0MrVXRAV1FMcW0+KXglQkM4KVl8bnh0Mjw4cGAxbktoYnluUkR3ezFlU3MmdzhELV9l Cit6YjN6antWI1ZmeUZrUjJDN3BeV2VmV3QhZ1JFKVRPMV4xLWV1PlpsKXFaQjNsWUpGJStOTUVg Pj5PcFUtUHc2eHYKK3o4NzkhKUNIc1hZN0FKSVdNXkYtfGIxJnBNdDRpcU1RNUJCMj5lKTR9TEQq fWV8Qmg8IUhDQSlSU2FyWVp7M0czeAoremklZ0BwRHBSZm9UIWc2KWJ7NDFtTnRuaHNfa0AqUiFV PXxfc3VZcCtNfEc0OVVDdj9aKXA5WjNxQn0wPEFWPzFDCit6UGo0dXE5O2N6YFgjNSEmVFNfS1VB S05+YTt8WXE/RT9WYDUpST1STEItcihfRyNtOFFCWVFZSXNLYGV6SXwtcisKK3o4X0JtP3JoQWE5 dD9Db2FlKCEoQnNkN29hWlA1UHVMUEBnIzBIRlBrdUlvUXd3KkxubXRYTkN5dUxLNnc9ZTNzcQor ej5SZlV7UTk0b1ZfbWNJMzM+fWs5PnRmTW5fUHZNay09MXAoY15zZ34jLWArdF9iZG5pVjFuWTdE cU1AbUZFRnNiCit6ZEB2eVAtUEw1PHBeZ2VUR2N6b21ZbXRuZGE+aHokJjlZRTBvbipwTzA9fGRV b2pqVE82T0E0MHQrTDxJKT1PSUwKK3pKSUJTNkxIJX4mPTF0VzlpPi01TiZqZWJ3YikwbXBqJjBs Typ0WUhEaSo0SnNaUUhpKHErQGghb3QlcmEmdEF7NworemUheyQlYjVfLTtGPHpPU0x4eFFtK3Ny T0lOMlhAVylfPWhzPlhsZmJTa0dAfTw8VEM2JmMoQWNHZmQ0JD9IVkBGCit6P2Ikb3kxdUJoYCUp dDI3OExGdVBjKlMqOUhkRWRebW5EZz4jPlp5QVJvWHZebGBRX1BjZl5lX3BuR1VtXk9aUnAKK3pu ZFJpPkU/KE88MSRha2ZnIXNgJkhPXkc3Z2pve1gqejgjcTskYjtENSp3JDdOM2ZCQHhGeDAlcGxJ fkxhRmcqOAorekpJdiFXUiZFZlhQPWh5JD5gPjZFMXNoSzYtY1ZwOXJTYGVEdEJQKTItI3lCMW9y bk17Zz1IdXgqMUEjIXMjVHlDCit6Y2VxeERFQi1TR1MmfVNzJn1xSnJBRlFpZGM1blprKDMlK1cl eCNqRXBmbD8/cG5yPFQwP1Q0VEVNRmpjY19kKDYKK3pRQmR8enEqM1d6U2JSP3U4MmBueWJUMXVr Nks1Kkt7NURIO2hZR0ZoKjdMZTNBeVpiOWZ+JTh5OSF0Tm05RThtZQorek9wOT5yJFY8bSEqa2di Rjc/VTAlM2pgJkFCP3xOdz0xU3FUTU93SldVaipMVS1wTHZ1bURnIUt4IUtTYEA2WC1hCit6Vkwo WUJeYyFacUpUP3NBcik+SXxwZHdzZGdAdmRWdHo8WGV5LX1ObG1uS0R9aT81Iz9aNTt7MDVfezBy eztHOzUKK3p5MWhsaEFkIStzVUp4b3dXMztgWWlKNzYhcjItd3lONzVCb2Q7cUNeKGBeJF5mT0xt VjRueSVTSlM+YUdrNkNgfQorekMldlN5amkmeipHQmpRelRxSXRKViQyRFUoKT1UWVYyK2h0dDco VmsjSz4oJUAzPDlsKUtHNHReNk1DcDMqK3RECit6QXZ+cENUUS1gQ0Vxd1JIa1BDRlhld3hPb2c1 aTlxTE5qaXhZUDNOSkhGSWVPNXImPUo9Yz41UCZmYj5tMHgxa2wKK3pmTkxKfmtESFBPZU5VSD8r JGo3dDBAMj5YaGV9RjU0eGpoeXlGMnYjUSR6YTNaS0RQWXA3bjNRU1RMTl5WSCZ8TworellrREJa Y2VGPnxESkwpRj9iUDxqQztXNEAhMC0tYjRDSS02N3dZOXM5THxpTWgoRUM+MVJ3YzQkeys3bjtx UkNnCit6Tnw+O35iPlA8Wk85IUxCYC0lNV83bGZNfTkwQFBQUHlJQkhCKklHYGg3bk1EIUp4R1VM UWtHN3B2QHhoJmAheUIKK3pxR0I5X2FyK1J5cllOeSVRMVJ6aWBnSmctQSl8dFopb0FsaXZ0Nnht bSNLPWoqSHlpSHgmOX58dmpZZ2xZKS1CPworeiU8UitvYi1FUExkazghanhxPGsodWI5MVl4cSYw QCF0fmhvRispKnYxbl9HS25RQn50VV9pZE8xa35vZ1VtISFvCit6bUB0bzAzKzRqMjh7X3dua0FJ KkdvKz1AU2xtU2k3NWNBfnNoYUJsKXpjdEFHJnwjeC16OV5yO0psI3lCckN0JDQKK3ptcFYycStz T3daXmlITVNpfXw0OzN7YGNBeUlVbE5Ufig1R2JhTzszOH08bGY3QiNUTXpufUBnT2JhPGwzTTdj ZworenFGR3ZCSm8hZEBQdFA4ITNMaUIyYV9uPz57Nm9eej4lZF5VYS15bCtYVllMV2JJZGl2KnFx fjtWSXVfV3FPSXd9Cit6YVhEaWVoejA3NjRoNm01MllxKlgrRUlKMjJ6YiZRMWsyVHBteyFfcUw7 NDhhQHYpTkohXj1RKm04PUMlUVJGcXQKK3pBJmBeV0FsdiNXKFQheE5jOXl7cCNncEphMnI+bCZD bzBoUDdJK2QoJX4wVWY0ZnY9MEI+WFdWbWl7IzZ6dSo+dAorek5qbVZ+Q0t6UVFPdVckaTslU31f KSNXSiNNYHooMlgycXc7YTAyRHsxekU0fTwmIVV8WCQ/e0pyUj5hJjcjWGF0Cit6cU14ZjNPaV81 K2ZYO2dxVHVUPXwpJEVIZGVGRlVPYkB6N3VkYztiQC1eKldRe0JMaERRKHRmPSZ4Zn58JEJqSz4K K3orfj9OVG9pcmc9JEt0bTY8JCh3Rmd4fjs0WiMtPF4yNHhLUUQhMz9mJT87Y0BJQyphdyVXd2N5 Z2ZYKGM2TEQ5XworeiojQWFWa2NfMlNKSjZ6eFhjeDMqQ1Q/U2dncy0obEd0ZUZ0YSF2KkFIcER0 IzM+RmtkMzxwfWhNOEdkMjY7X05fCit6OHBMWVpVRmo/Xj9VKWtDdk00OCZTTWctVVleTDNgITN+ S2prMD16dzFrMiZKZmd8Ync9d2tEJWRuJGdHXmZHODcKK3olVmFkT0dGQERqYEY3V1QlM2ZZUGE9 Jm9ZVy12PGklbkskJjd6fm8wZWtlMVJjQ1YpMEtNcnZNTCYlPEpOcDxRWgorenZxSDB+MnR2QFhy QHdkUD8hdVRjfEluezglMXAmMEluMmI2KWo7RVhVO0A8fnd2b3l3dEpkaDAwUT9WKWAxWGNECit6 MkopOHdFayExYyNNeHJ4b1NRK1YkKWlIZGZ+JW48UE5LRjs0MEdUeWJVbnlgSCMyRD1ubEprN2Jg bGI+UU98VE0KK3o/TWl4TzF5dnFTcFFaeDQ/I0xQMkBCM0tTITE2cDt3IytpM21Kb21KcCkjWGhB Nm5mZ0RlcHpKO2VfbE49I1RSfAorejQ8YH1+I2xJaG1hTmhScio9LXYxQmM9WH0xZ0RveWkpcz5p TlpKRHhNP3BGTTF4bEt1LUQrP1A5MGkjOHRYV3koCit6Kko+aW9KLT1OO2l1cD4tZHxQJEVacWNB T2lKUFA9ZX4wNjwyU2dkPTlOLWUoK3pAMCExKGZfLUtLekdLdCUpX24KK3pOc3t5bjt1bVRYd1NA R2Q0Tz0zXk4xT3ghMSgjcnFBSn53VVAhSX5nVT4kJSYwLU8lNWFXakhRR2d0elg1bXdaZAorem5V MGwpYTslOXpTX3daIyRJWlNqSXFJP09LRntHMzdKZmBCQ1JQczMoMig2QHM5bkdiN1h+VGM/dWAy Mmw1MUV0Cit6WHkxKn49SHtqVHd0KDdBVHwpVlEoTikqZWNRN0o1WT1EOSZsS0AySXRVcj9EVExr VDstT1loU2RoWEMoRWEzZTQKK3pDMXVQUjRKM3xBSVU4a2tlbFV2ZChHUDE3PWBTNXRTZHJyKnVX QHUld31GOyY8czlKSzhmc1YkUmFFWVUkX0VPSworeiNkM0NRbXZUeF5EWl4xNHspTGxCbGpKeDNG LWBifig3TzclKnYxKmVVZWh8Ykh8Uz0oIylFX1B3S3Z2NFErUWV0Cit6ZSYwI1Ntd3xaOVRTfClm UW1OQV4te3J7MHZ7c2J1SGs0YHw4dSRKe0FmRFcoa1R+JWd5cnk8UE4qX14kZiR1PWEKK3o7MiUz OXpgZytgJEh+ViVzJmV9MHs1bmhiMSlKKl9hXn5jdU5Md3dQaG0jNTFuJmRoU1N5aHxGR3RQd2Rh WSlWLQorelUhIUVKY3k2NW5adEojR3lDfkhTOHVaMl57S0NRKiN2eV52OHomdUp5UEVOTXJSNW0l ITNeb2EzP0JWJFFyPmtQCit6TUQ3fDlnYkFzYHdMZ2Q4SDV8P3lNOWlFdkFmMSY0dkUjTDB2ZkYx YiYqa2JGSUl4KzEyIVYmfFRRNjFQVG1DMGUKK3pGMHdwWDhHa3sjOVA4VlRefDdqViluK35fNkZy NSR3K2w5VykmbjR4RFBLUjIqP1pGO08hNVpmZWVwfmFTWXRYPgorekA1IWtEeHx9QCkhKTFSe1U1 enBvdlEzPi11UCMrc0t1a3o2KV8kfWdaditMPnErflF8cCsoSUxjU1NfXyYjWmo0Cit6dHZTR1Zz VXg2JXhfQClYNE9vfjU7PUkrTHhyVXFqT2kmKSo3YlBHRnJMZHsxKWQrfTRJMEN3QXdGSklKTjB0 Q3wKK3pfaHFNX3pRKUhSOzZ4KDdrNT07UDI0Qj9lNDlMe2BtcHQtZT5+dCF0QSFtRVZNI3VwX2Vf PjczeFoxRzY0NkMqNworejNkMmJMKy1jU3J0Jm1YMSpSTHAoI0lVXiRCMHNBX3hXSCE+LWRaK0M+ WGRZLWdOMzlnVWhXUWlgY0ZHcWRVOTd3Cit6MVcoMWhZUW8pPmEtPFRzQzlFRVVFc2w8RypTajJ+ ZUczXzkqIU04fUJ6PkpBST1vcFdVRjBjXm9hNT0zd0BEdGQKK3ptPDE0b1NWNUdjNUxLYCtfV1ph YCtHeC03cWMrOSROWThfSSM2TjBUWiNRbTtrdHZrVEZ1Pj8+ZlpmK0wqM3k9TAorejk7SkRAbEt9 WSt3WEs/OFc2OTd9bmd4KFJ0U09IJUBZdC0lTHQ1Jjs0dlFpeyFQMWNoRGZUb2pEVHAmI2YkJjJu Cit6JD9+NTQ1bWU4eUhYKmZ7QnNRXzI1Zm0zQEVxRH1KbUBIRDdjUjhOfGptb2QhJGlmXnFlPDBL PG05WVNMTzJNVzIKK3pESWgoR253bmdNM050bncwKFBgPm9qSTw5NVhMfkU8PEJLdHEwdnIhUiRJ cCp5Mn1mflMzUz0mNHxVTFd2QCE3bworensxdkVgekBCJnZFP31JSXc/O18pVS0tMkZHOyhpQUN3 bEZ+b2JoSW80IzhLQGxqUChRUVJxJTdLTT0hMzxAYTc+Cit6TiNiQTYxTGJtaHhDfWZBMTlVXiZv LTtGJFMyZU5YcFB4UGpvfnN3eVloTj90Syk/TyljOGpGUCpCZ0xhS05hJjQKK3pwbEdtckV6O3o/ bVVJVWhRR31TSVd8PSY5QX5QYSNvV3UjNVJAZ30mZ056bVNCcipjOEs9cUQ8R2BacCUlcnlLTgor enpuOUFsSFVUSj9BWW44b3hePTJuIUhuPm5qWXVSSF85Q0dVQzlXZ2I3O2JZOypramEpMTFCIX1u YUJBblZ1a14lCit6a1hHUEdRU2oyT2RacnBNV0hCRENVQD9SckZaJHs1TnN4MXwwQjE4I2xmTnhY aUdEQ2x2T3N3Xk83aCZyQmIpUFEKK3pRSn1LWnJBVld7aFdybFpaNGhOKHM9WkdtIU5AJmcrejU1 MHgoJkp7VWVsTnlUcUElKCFXckV2M0ZeU3d1dHhCSworekA4XnxsbUF4NSE0VlVhMHUxRFRqMXBq VWE3dSNHSGBhRCZPPkR5IyhsVSl9Ujc5MVk3JjVuQWFIISFGb2JKUUduCit6TDBnPHEpNHw+M2gk ZzRYeFUlNVcmPFY5d3tkRTMlcGdaK2ZRITNjOTBvRHFKQExRQE1iMzBsPkR5Jll0QEl0PEcKK3pz SihlTTloZVl8eVMyUmVLfDd3VS0za09qZVhEeEo3amQ7ZnFIMkJiJXhpU2xyX18wNHl3VyFzVUBm dSFMUVAqfAoreiVQMz5NdD90cTRpNDw0figxNyQ9WXBYQzckPXp9ejV0MkdYMUEyITlMXypJKk82 d00mQkF0bShzQClkJXBRdzRhCit6Ui1gfXN3MF9yYDxeOURpJGhOVDFlLT9HTVU8ZilkYlcqYn5V KEFoP1h0SEpSe2V5cVclQm4jPipXaSlwQ1FjJnIKK3pvQ3pLRVY+SUVga3o3S3xuRS1WYFZxamBA b2xEKExHKX1CU1Q0ekBmeSRjTHg8MXJKNyl0fCgqVkRjQmh0JGZSYgorem0mJWo7MHEyekIxTCtU dUEmQldxTSgpZkc/YDIwdVl+V2xQV3ByJmVrVEZOTDBfa1A7c0IhNFJXTmVHUShYQShSCit6N01u PnVmYnBqNSFFajc4KDhjWFFudDt8aFEmQE9HempNbVA/d1hYKz1HJmVlVHVrIytLaipZYExsflJX c253P0oKK3pmUVJuTl54Rl9VP2hsNlhoIWpJeT9UXiEmZ2hNcnBWdU8wV1M/QUo4XlQzcURtM29k OTt2WERuRjAwVEl2WDVBeworeip1V35lMFZxLUp1OG97QTROZEFsSj47JiR7Vk0zITdueWg1WlVW fWxMJEthdkZhMHsqKnkjV2RfZVlxXjBIKVF7Cit6KEh5K3tPK2drY2lmYD55Rm9CWVV6NyFLcmJB WWB0PSlFdmE8OFU0RT99KjlPRSReOXoxYHMyQHVfMGU4OFd8OzwKK3o1PXVGcDl6QW1TND1qMkxh PCt+VldXQjFmQUJPTDU1ODl9NGtIVkBCQkVuJGY8fiE4UXtUeSs8cTAzZCZteEBCegorekw0KXck PDc0MSRfKUVpTT1DQXxLa3RWYFNVWDFtfiNpV3UhNW1kLSt2bypJZVJzMFg/JWAwQmBga0k+KVIq aShLCit6RUJSQHBkWX5RUSlXYkdIanR5Qm5BfFd5X29XKz0/STlafiZvNzFmQE48Q1lSenNYTyRO cHFhOHN5ODw1eUM8MkMKK3pnS3Jjemske1ZzbnRPK1F7c3MpSSEwek8/NmxBNnAxekBaPXc/UUxn YFh0JVc0eEZMTFBKNTdFUTB7eCYlM0NpVQorek9YU2pucitNN1l5WSt6LWVlVVJDbWhRa0xIPzY9 KmliOENkejF6QmIjMTx3SD5DTVJ0JGRZXkdDMXMtYSQyWlp4Cit6QVNDUWRuKnR+LUlvMSR4Xy08 KlUzPVY0fFhDVipJfE07bElaKDRCfHlJaFleMF81QiM3PzNqKSF1RUltcV4+YnoKK3pUZ04/b14m WDEzdjZPYzh4JDBwP1ZPVHFYVTs/aDZYUGM+QCUtKkcqe15rREUhans+I2NkVFRFVT1FWWhHT2xB ZAorengpWDkrJkNFdk1OJnl7QVVQN3g3Q0l6bUolKDt1YyoqOFpUSGtXaERRcFI3QDZGcXd5Vmxg am4rc3lfQXJ1NkN0Cit6JnEtM0BFayE4Z0d3bSZuREMwKGxGVn5jPSUoO0JzLUs3JjhjQ0coLSFi eTJKV1kxQD5wM14lMXo1dn1WYVBLWT8KK3p6MTttVCQ2NGwyJlZ+IzI5KGc/ITVZUWFUZT5sJFV0 UFB3QFo1O3NyWl5ZcDgtJX5jUylpKWhCJEI/e0YpRSpgZgorenopK3k1LVM2dilsZE9vOTdCVzxI Nl9Mc3B4YWlQWHooVC0/ZkMyfCNoMyRLTjxZcjt9QWBncEBRPitofDc4Zz8mCit6d0Bjan05R0tj QGdFWSFaYyRTLWA/XkpUKzNsdD9wekd6clk4c2d7bT4mNl5wS0ZuQ2tXa2laNEh3NjxFTkshVWYK K3ppMm08WmgqWUxEI3p0OS14Q0d8cV9NenMycUdDcDtpaERDMnMlMThMWHs4ezVxQmhEcHFsSy0j IWlqfiRwRGo/TworelB9MUN3b3hXciZIN1R7KFF1P19GSENjVnFiVDhMWlZ7R1diUmZgdit0OG48 eihncFo7RS04RSsrSnw3SXZgdUpxCit6UTRzKTNCaSZIUyp7bnJmTylgQHd5a0hDJHViR1UjITt2 fXZYUnRSVzhFb2dyVjlKZEZpJH1LajY5YiphQy0yOHgKK3pEMndYLSFhcGRaYH15RiooSjtiZW9Z Mmkqa3VRbGs7OVNiQCVNOyNfUVpSb2gjY0B0cHRKcGtXPHdoIVBtSGtIcgorenFRLVBLcnF3RDgt P0MjbkxzfHN+aUtGPjlfQHg5aXhTcjZnT0xsIS1xRy1mSCg3KTJlVF9td2lVaUxzYDJefX4lCit6 Nn56KSV7QFVvV0RGb3UzSW03cD5DOyNRck1XdXhad2doR0hjfk1JdGQ5KmJDRUAxKGVkNDgkSW01 Y3kwZyhESGQKK3pFPTU4ZXFNMkMtOD9kRG1HRTheR18wd2JPeU9+WjVNODJLTFZqbyM3cXVqUWFP YU5UPD1WclViTW8+MUFCNjJJJgorelV9TX1+U1FDWHtONDg4ITxWOXkoJUJFO2RqRUp6aDMmRitX KFpsKEB2LXF0V1RXOUNNXkdFQ0NaMF9JQWkoNWtpCit6NytRb1NPO1cjIUZIaXZNeC1VcCpRdV9q QUVSQ3BRZCU9ZGFRVDhgc1VfOG5zLVFHMnxNWEwlbzJQJjFubyl6dDsKK3phPVVBciUpTyVPIyE8 KyY+d01wbE9tUX5MbS1mUDZCbCV7TnRUTXNTQXZMJWdXKUNsdE11ayErIzA4ZFFFe2krVAoremdq Z0dOeSlmMkB5Z3x2UFYxdkVLMSVpdXsjPC1wRD14MVZPMEJIKXteZVFyRGo4aD1qTV5RWU1DKmAo ayE0JTRmCit6b3xBc3dWaEYyMSVuJnp3byV+RD9vJlZaalJBTnoydDEzVWYkWUdSPVlaVmJCXmBu YXhnS0Q0cGkhMzF1czJBYXgKK3ojQHR5XkxodlchdF5SfWBYVl4hI3s/ejd7SXkyQHpzVSREfll3 cEw2U3M1Uzg3NDk/PSElJDcwbkw8Ozs8ZCYkUgorelAoYW5qTjFLdmNjdnEwQ2U0UUowP2hMQ0Ax cj5rI19qUXphOTIqaitzcXJuYD5WPW4lME00cW9HUzV7TWJoWHVYCit6aTs0dlM7TkAmX1A3MEl3 REJpSnZOTWs/fmBZU0Z2O1ZkbFckfSpUfjI7IUtFNXhpMTYwJjUraEVVWUtyX1BZRTYKK3pOZXZs RXhJKU5WQSMjVmhtbHgrMyooa2ZzWGs5UkQlPVkhJEtrS15eYlppOFQtbUZBWkspNkVsQCokNk9T ckErcQorekleQmEmbWUkaUs7fGhLV1BYfU43T0dNUX4lYll1JEAybnNqbmgqeTI1cVczY2QkX19p aDVpKlFNX0sxY0l2QnxxCit6V15nQ3glLVlgRFVvcEk0cXZPaEk2SE16V0A4aUl9K1p0fEZHP3JL U2tyJmhiRi1te2orKU50M0lhQDg7PXxzKSEKK3oodE9xfV5pJjdoUy0wMUp3VkxxOS1eYTE0KFlo clYtI09Bfj9mQFJGTW50Yl48MGRHak41MzwjWE1RNTBwOF9MVAorelVQMGJvOVcyMz05I1hWUExU dkRrcHlwaSM8ekpjdmJWYVU8KlJLMUwoazBEdjQ/U085Wip5Ukx0KEMtJCNIKU5gCit6a2l0Nz5j dzNCcUpaUT1PeGJVUE9sMSpWbU9NcXYqI3BYfDBFb21XNyNAZ3sqaEhsJnJYJjJeNStZQ2Y2MENU cj8KK3p0KG9VbDRueExPTWRvVDYrbVdUYEEjciRVUnV3S0w5Qj9UKXVMMTBteE5kU3M4czd8elZw azhJdU9LNTFxa3BsWAorekJXd0N+KDZHMz42WUp0djhAJSM8NnZiVGpsbTB6Q2U8Y0JKb3ApPV5t RndMVGJNa1dzRS1YSDd6bUFYSj15SWZPCit6TyRCeHRwVyVVezwzJWNyYGZqWWc8Tm93QlkpPXQt dVE/QVp5cXRmdzBoJW1yZXRTV09gdUhBfHY/P0lEWm9lJXYKK3paRjNZYl5PKlA5WDEhOytqWmR+ WFJVI3hgdUtHQW0tfkwxWmxZTjNVcD1xMW97dDMlNTRwalZIZF5pN2dadU5uKworekUpJCRkNnJE SVByMlU7fVMtaTlKbkxTKVA2OVl0MkxsYnV9SHNaQGtpIyl4ZGtvNEstIzUyNUB4JWJ9aDVfMk92 Cit6NzhlIVFTU3g0ZTtscD4oKCVjcWRfOGh0U0VeLS1VZ3NhUVJlYFhUMWBSIU14NUdxSWgkPXcz eClsK0grNDBINH0KK3ppOVA+Wj8rUGdAZEppTGZuXjdodDxkajs9RUwxOGNfaCZMV3pqeHVhfE07 cU04YjZ0RiZ3STJKeUBHRzhFN2chYgorekFMVkdGam9qQz41Pz1GQnwwY0dPRzY7b2I5ODhYX0F6 WV82bz5DMmphKUxPK3pBIWBCQldJUGxZZ0RXaSU/U3B6Cit6MFI4c3t2aWhOeTM7RDhBQTB+PGVZ QT0hTilaZDs3Sj1zKT5KSVlsPFZ5UkVwcmJuTGAxfEtfPUlKYiYoQSp4Mj0KK3p6dVEzdldMWkw+ Rk81ZUZ3O2BGekBnbz9aWkVfND1vanVtYmJIRnQjKitvOH1NUGg0bEdgQkJqa0RLMFRjNVphTwor enMrV3hpPUh2Z1F6M3E8aXElZGFiWXlaKWFGVyZJKSMkWHVRY1NIO0w4VEpmaDY0YWlyNDJqKXAt NUBAXm9iRTdvCit6dERiYDVNKEA0fCRmO1h3LU83X0gyPWdiLURXSSV9VUtmYWxOaldJZW5HZnQ5 cUxNWCN1IW0/c3d8VkVGeShaJHwKK3pGOFhCa25yb2hvd2Z9KHVQWjxVSE57NWx8e21OSzxLelUq R0A0Z0hmIzB3cU0lOzZ5OWVAfWxLRWozQk9aZG5qbAorenBXbmNYMncmOEhZci0+e0k2WSEpdDAy dC1QPWZUcmlOXmJ+VW5Cdj0mVU1mViRlanRwQFZeQ2wyeXJpN0J+OVMyCit6Kyp4M2xrI219cGJ2 MW9Ec3RUSDI5YFREX0txPTFPLT8lWHUoWGN5Z3FZVyZgb1Q9TzxqQHNuPmZ4WHZWWHBEQCMKK3pg QDQrQVVNSVJEKFpoeV5qdTs9JUpOI21fVzlFKDNVYnxQeHtpLUZkX3UxUWNkaWZodm5AUjt0SE9m VCk+SEsxeQorentoY3sjYVNQT35VOEZUU3k1WXFleVgpSzlyMThxbTE8SF8/KUl8VFAldERKQ0ko M3J7Z2FeWU5SVFBPXlVpWj5FCit6dDExbHdoTXtzaCZ3VHpzNWFqc14qVG50ejBHS0hlSy0rYFNo Tmx7aTAlPW1+KV43ZSpkJUk+ZUNOeURJbWFBMkIKK3pMeXY0bnl5QmE8bG1WVVI/eSYxbiYkNWdB KXRje3khK0E/dGxpbClIcGg2Zi13Sy1JdWRsdX1zU1hubEhUfkZZPworemV3elJKQj83PGZOS010 WXdDUTUhI2JqbGlZfkg+KG1eSkpkKiM4JDwzVih7OUhISHkxU1dGLXdkKiVPdFpgZTg1Cit6bm1I SyFQd25JWC0pbzt7P2FoUXVqKVdnO1BUbztpJTM7YnsmMzViZ3tGSH14eF8jODklTH4pelVVZUor KHZScyQKK3o5RkFWNGAwQSRESGZKY2lYa3opby1aYHtWNyR7dHJEQmhoWmV5TjJEIUxXVStNTWtV cU5ZT2FkTlExUzJ3bX5NbgoreiFYJF5hQkVnKihXdDU1PD5zLXdgcWx5TlBoWEo+LWZiVkNpe1pD NXNYQytfekE4aEIlRSM8cUh5PyhTdCgkeHlfCit6JHE4OCV2KF4+XkNBXnErJU9wVFV1OHcyPHZg Zm5ecjd4Mz1KRWhXKmMrWiVGJFVYYntPKzs+e3RlRDFmJiFXfkIKK3ozditLYyk+PjlMYEVtXyFT cGxRYlF1Umh0XnZQNUU+dHpQfUloNmxXJWl5N1pVVCRufk4zZ2M/K1hvd1FoMT97TQorejhjcUFF JCRmISE8ZFhEOVNCMGN1ZkcyTW5Sc3xzT0NgR3FvPDtzUmtuUSljIU8wMGQ7MWwrcig5SDIyNFNh RWdXCit6dXg+cWh1ME0qS3ghNXJDck4tLWFxbnxrMGZvNUNqcGYpfk9yMlU9OWsqPj4+VFIwISlg JU1NWXVHRE5rQHN+JCEKK3psP3EpPnVlKWZ2bn5vaD5kc2YoeSVNPzVQZ3hvJGBxRiFeayFYa0cz d24tRG9SPnFrdHIzbH5vJlRwSm8kKz9BRQorem5KU0RwLXFjeWkjN2F9UzkpJipxKDJOdkkhPyl6 QlMrRzJ+TkBSUENEQWA/dUxYcXZiSWZzIUlpJUp8KVlKTnBICit6cCtySFlLWn1KX0hJdz0+KSUr PTlaNmJ9MihMXzl+cyQ4WHEpciZOfEVFJUwpc0B2eTdUaC1GRHkrVDxGQ0QyaTAKK3pfUSkmeWNM UF4tbmx+a3V3SHcpZXVDNEpgYD97Sio9VnFqWDZ0aWhfcGBseno1d1c4cihTQ2BnbHZWTHgobj1q KAorelV+Wio5b21XQSp0fFdeVXtKIWhRYUlyfDBMemFoPHJgM2duO3RMNXg8bjNnRVBJejNqSDRe WEBBI1RQIyNCd1oyCit6WV57andvKnpQRGNqNiE+aDg4V2A3MHxlazhAU2J5X1lkUXxlWCpvfSFn Q0huUlU4O0dIdyhGUVdYIXJ7ZTtBVEYKK3pSZytCRD9DSCgpeF5yYVpLS0hzdXFyPDFQKTx8Yl85 eVRSfT9VOFU2YXchdWJPJkZVa2xYZGNaY1RGTElNVSpQWgorelFLbHFXMXN8elY2dDN6WVp8NSlh Rj1tRVlGfTtJI0lya2M/PGEkV31NezhgdWs0PXVBXjA5PjMqd1NnJmI7UUJqCit6NT1Db1RKQn4z SD5tanN8bXJRckhPeiZSP21EZmJwTTA4RWJySCVZPVA2V0lhITxxcDV3fjd7dUYpRlduPGZlLU8K K3pxODZkWnh2RE8hTkhYcD9qQ015WTNrfGBMSXcjfGdvXi1lPVBfaWM+PV9EfmdGQipRdVEmcm99 XiZ+YlI/S0JFaworemgxRTxkaEUyZU1TaXJRWGEoQiEpMXdJcFEoQkNwRXhHVGxJRzdyIXNtdzQ4 Tz0yNz9KQn48ZDFTcXUmZVZ7eD1BCit6YmdoZUlQZ3JZYGF6RjJuYWJjVGBeWGhmdWBHTlEwTCY4 bnZQdHxsa00tR0E0VUdsVnJuYE1qayk/OHQhQ3sqPHEKK3pmN2J9TnM/UmpSSCorR1A8TSh+VG44 cFlEWnM2NmZjP2ptNU9RQTd6XmxyajIxTT1aajdgczNBXjsmbyhCeiE5Vworel4lbihRZjB9elNs d0hFYDJOc3tiRnlHfkdXdkctdUZqQ2A7MUBpezBLN2g0K0E5JUhWKUxLI0JVNDxuSEpaZWJUCit6 RkszNCE4dGpgcDtKcm5EVGRMemN3Kj9nMzFfKypwdW0+S0p6S1UoMkp9bjBnS3dTV2R6V21mT0Zq dFN9P0YheHoKK3pMe1lJdWVwPUtEKnRSM2xTcTV3OXE5K2llM1R1JHklYjJgKjh+YHAwQkZ2Y3NJ fDJLR0c8ckckIzFOJSNVTmZsKQorel57cjZUT2ghYUxUSU9hOFVtUDtXMHVzdEh3JCpfKiRBPiRv UTV+MTZoeDItOT1ZQiZMeFhsYnBvaCtjcW1lKWRyCit6bGYyc15ie0E1ZVpfPzUlOGhrZDwlKV9X QmBNUUU7SnlyUkheeDI2JTU/MjhKVCo5dFBhYyZfbyN5IyZgT0IxXiMKK3opdHh4bzNSQmJqRENg ZmF0LTF5VzcpJCYlOXNNZDNgS3w7Yjk0KHF5diZ8fShJRkU1QnVnSS0yS0Q5IztzdEZ6eworekwz cUElVHhzKGdqNHgwWVVCOzEyM1kldj07eGBnY1E3ck0+d1pjOzlyVVpHNDd9dHlYaH5QKFF0S2NM bFpqQD1lCit6RzRVYX4hUExWNj51fUlsSWt5TXNFTylGRSY3JTdjVFMtZFN1NT9gVkp1big4MXVt QWxDS2M1aig3MmhtQUkwYm0KK3o5UzV0WVMoYj9qZkArdmFxelMhakFUNSpCVzJpKFE4NFhReU82 cHB8KGNYfkk5QFVhZFFeb3JNN0ElYihAc2drOworejJteUhEWGN4emVSam12ZmFPOHU1ZFkrI3sl WjxEJTthOVJ7QkVOTDJBUm5yandXeHlTMyRfPU8kRlQjUlprWEU+Cit6NUkjNmNJU3kkVz5sXjZW TUImUD1GS0BZaG1sMkh0UjZwSG1UNmlBSV87fCVwKVAySmEyazRLcDx2YS0zZjFuVTkKK3pDYCkp PFdYKC0qZD5lKD17VjU+SHAwMyVQIyo2RyZUNj1MfCVeaj5mdE00Q19BJjNDJVkyNnF4OFM2Kk9H RSVtXgorej5TejB6KzRCcG9GYl4tUl9fJm1xZlZQeyN3TjE2Vzd8RmZwUzFUak02RD1CVVRge2JO enJaeSlyNXVHKFh4YXdNCit6cV9MVV5NLTVtc0FVO0dnTHR4OGRUTDRXdWd6eCQxentVQSNFPiFV eS09UUs2dmlLKGUwYWI7dXJ3Sj48cUlAPTMKK3pzI1N6K3ZPQHppUkh6Z1EkcUlzNUZKVSFvVkpF bk9jQ2wyMl5+VnBlWjhfKTYmNVZzeTF0PSpAUmRRUDdZOyZWLQorelFAY2FwdkVRWSFHTXg8QzNR KEcqcHN2NDE1Q3ZzNk5PR1NXR3dCbyt1THtwIVVzNGZIMzNJOyZFSjwlbWw4Q31gCit6RWtUQkNL YHtsfXBCdXEoRlYtfS1rMl98PVlnVl9BekpeN19WNmE0eHtfRGUrOSlWZnBwXipTTXpjKHordmZe TVEKK3o3PEhYSUJOSXtqWnBXdlRtPSp+IT1fSTF6Mzw8OXdAd1B4PDlSY3JFT1hRQyRJPFRlYz4h YTlBSDRSU2FIQ2pDbAorekdCX0ZrZmcmYDkrdmprSWsoVzkhLSNwZypTSzgxVkZ1YzIqSF97PzU5 UyZNZVVXbUs2cUpLO2lKRHpHdUw5dmpLCit6IWFiVVUoSUIyUkB+Jn4kVkxxejFBcWpxKkBNcUQh WTxkOGwqeiEjbnBsMTl3ekd7PmJyZiNkbXY3TGQwenlzSH4KK3pxMkBvPWA7Xj9ic1J6andiKn4/ OVAkJEdHNVlXfkw4NG9HZEAlamJhOW1WXk9zS3dVazheUmJ7PnM7bzh7d0dFYAorekh4Xk1DKTtg fnNeXkZHelNhNWM9cTIoOVJVeDxIKUx2aCVBckZoTS0+JTJUQzdVZiMxJD41T3VYZT0lYyVCSExU Cit6M3s0Kkk5ez1vb2U3KykhNCFTQFlBZW8oMnt+YGdpNWN0KVY7VmxnYlBzVUZYYVB3cCEtUGlk Wns5SXt8LW93ZmAKK3pvc0RMY2hxakh3KEs9OGRrQWV8fkUkQ2VlS1FEJT9jZztrRmc+eWopY2c7 ZnBAXjY5PzN4Zig3RXxQRDd6PnlubQorel9VSC13e3NuPCN8Myt5VlZoK1pgK1Fwe0lefF5OfWo0 KnxsXlAlUlhodVomIVdYYCZ9OE59fW9iNTNrQGVMdlFwCit6a2ElS1hCdXQ5c2NMSk43YllRWnde PHhKJCRHS1JIK0BfY0AqXmxoc0s+b3lrPkR4dDxDRTdRX083WV5nSGR2SjQKK3pqSGtqY0xGa2RS LXxnSCktP0JqbEBmIWxGTVRZbjNmR0ZqbVpeZW9KYFhCRVI2PVIhLWlYWD1gdCtvNmZ3WjtteQor eklPezZ+TjBXcV5HUz1lO2peSXRxIW1ocCZna251e3c9QUB+ViR5UHVkWTR2ZCp0bkU0YlpER3Fe VU90fldPSjdTCit6YFE9YGRYcHVCfml7YTh8UzhwN3AjQnZ+bTg3WGd1ZU8+S1VIa3VsZGtDd31m aVU3e2tjY3QqfkI+Tlk4QzVZdG8KK3o+dW95cEIkZXh8MnxRc3UlTm0xYkN5RGwjWHVebXgqVVhx NTtVczVEQ2hVcUhjI308MHlNOzk5cmYzX29VSFVjbgorej1nPCV5WnNUc1JUZXdYJlZmaTAkJUU4 S0BePjY/fl5vc1kwbmxMISNze3Eke0ohZHY8ak1MM19WTGFfMD9rdUc8Cit6ajZYfWhYP1FsNEdZ ZnlNdmhlPEoqXz1YQ2pvc19fWm94dGZhOFNQNDFTJVJJPGNfcSEkUEF3MHVafnYyR2N1NlQKK3pq aSZCN2xhMjVzQFpEYjE9aWx3OFY0YjZMOHUmc35jTH1QKkVERzh6MWl3P3E3KUxqJnxDNlhpM3JU QWgqd2AkUgorekR0b0o8SG9eJSNRZWItei1iSjFjTVUmK3I1WjgzdDNjT3lPI0oySFRmTi1WRHN1 ayQtc3okLWprfng3WFYkUns7Cit6V0ZZLUhEbDNHMGB5P0NsMnJEWUIkTFVUZWpvU18rNmAjODg3 SD5gKl9iPFAhRnVtcl9gdXhHRXFHSE9DMnVEYTYKK3prKCokQl9UQUA7cEgpODB3ZU54fF97LTlp c1dkdFpgUkopVDtMRkdAO3o8SjIyWD42VFdvVTxBMmRQclJpZ1RtTworem1YLW1wKUByOXh6SXIk ZDV7YFg4NUpPT2J2RDd0bD5TcDh+TH51clklKTdwVGM/VEQ2NUAxZ0tRP1BzTDBrVTVsCit6eTNU VzIyfCRvI2xXd0clbXhzbHQtJEVNMUh9TT9NKmVjQXpMUysyUWFGZWx5WSFNektPP2MyO1NsRzt1 Vn5rdVoKK3oxPj99VHRFSlR0SyZFPzlMZ2dOX0JeZXAzSz8zI2x5cWVtQk5iUW5pN0ZzNkk/Y211 ZSNxcX5ATjErMTAwVWg7fgorejVUVVRfV09NISZ5fmA5a0wrdDc1NGh6Kl8zKlQ+Nyomdnh0USlz JiVhLSFFdXE5Jl9RPEhQa053K2s2M2swK09JCit6IyRmK2tKYF9LYFVQOHwmREZqfCl0O3NDMG18 eF5pSiQ/bkJmZipjUk5PYFltO0s/OCpeI0puIVpkJlg2enl5RGkKK3pLeiZHc0JDbSY5QG1VaSU1 LUF7Yz19dTBZKXkoR3VNb0NkU1JjalhGbzVFTGRrayNEZXBUZCV4OylNMzlaVWJwbAorejBnYnNS enNEPFRCZWhkUGJvPEMqUDkzJXAkNylKazdvJUs3MjY+WkRWTnBFV2YwQ0x1cys8X3tUIVgqLVp3 Wih6Cit6JGVjKT1aRDJxWVNPdVdwYXNgT1duZnFMbm97WjwlaUptcFllWmhSPkNtX2RjKFY7ZXx1 QUVpZVY/VnNaNHIxVHUKK3pJdm52cUJoYjQ9dHFSQ2FrdFEqYkJ5JSUzYFJRZUxCNHNoTVIxISE9 MW5RU1g7TmckYSY8MWYhNnQyTyhiK1Q4QQorenN9QHF7UEFobV9UIXdGNTd7UiZ0dHR9S3RqPWVv Q3BUZX1BemU9biN2N1ZgcFJKJU9Dbz5jNkIzI3Vic09afiY5Cit6M15+NCpVaUJOJmomcCEwZDto KGo/RTdHSChaeXQ/KWYpbT14SHBiJDhgfmpwQEFKZTE8MHFmVDhRRy12bG1JcU4KK3pwMX05dEo+ JnwrPGU9NlJAST54R0NLfTVMMV95dlhtTUU8NmEyX1F3QVglPFkkVFVoeFltKCVybzBfdGJyV09n SQoremA8cDlXbkNjal5tfXpQXlpnSntAYUdEOTxIeGteKnd3SVVIKHNLQkYrbGste0JZdDczOTIh ZUh7YEoyYikhPVZaCit6e0kocTVVWWRETXIrOGJ4fE5lU2UtUnN+T25DMDw7OFhHeXZPJXhCPT0t OSo9a0ZEQnxONWFwVWd2SDMxd20kSDUKK3pDKVJlXlIwYzk0eTtYaU5YNHlrPj95ZnVJM2c9Y3Z0 XjtjISlyTVJraDklUX0oWCl8cCk0d0VCTHwlaFVTM0ImTQorekxqPnI+QHF3Y25HZU45QXVqbiNM PXotYGpacEJQVSpHKD5TVTItdTBzLTFUIyVjPXVpMk1FdjJpYWtjQj9xNTJ1Cit6bn1Qa2klWkwp PTB1P2wxRiRyKUYzd0d3MUtBIzw9O1JWQj5tWWs+NyVhZDgrKVRJd2plPShDbk9sT2E/T15JansK K3ppaio9UDNLQ0JzbXVnaEx4eXJnISR+fCttSEpmOCskMkR5MD4mcHsha1Y0eXdGSkg3OUQzbjx1 TTZrRHZ7PjRrbworem9SXlQzaChNJjBBeiNWbjBqaVZwaCtHPncrPm55dm1ALU5LMXQkRHhxbTlv JkBpPTQ5UzJpUWpDdWZKezBiMmkxCit6b0dOOzxIIyVHbVRXQGBrUms8RkdpNGZ2O3E0Ums7e3h3 eDxKdlpWZyNjYCModXooKHowUHBTQDtoaF5kYT5sQzwKK3pFTCtWblo4OHcjJGRzalg0ZGBSeFM+ LXZ8Vn1uU2NUQzNHQ0VCJDlzMkp2TE5DVFVAWHQtPzFtcXA4Szx2I3o0cAorem9rNnF9SWJAQCpD eE82Zk5nNzNheSFgUENNTSZOa2VnIWt0QENgZ3khSn1ZOVpIT083OHxgV0khNUplUTNFdD1hCit6 YT1MaHAlOTMwc3htfHA3NVVhKENUNEJGbm83QDdkc0B0MTl1OzNTbjZ9enxrPmx+UUJGWHYkTFhx czJleFZFR3MKK3ohK09+NWIhPX54TTV2RCkhPj4mU1QpUUc7VlJyR1V2TCVrKCtEXnE5Qyt3VFRI ej1oLVpjKCR0SDZ4LWp0NUxjKgorel5sbkoobVNkbD0tPHhkcWFXKkFsODlXfmpNdFhpe1puZmZx TDc5JVl8MWBvZj4kVDxzNCQ/JXE3d35WRkl2NWczCit6O2ZkZV88bWxZeFRRNGV4clphakRuSyY2 JiZSUG9FKVdBYz0kczdSIWRjX1p7OV9yfkZqXzcwP2A9PTJ3Sik8TEsKK3oxK1pue1ViZVQyRiRA eHZmNmE7UF82YlVBbyRPKSpLQy01LTkpOU9qRy1KX2QyKE9mWWU3YjZLcDtQWTJvVFg9VAorekpZ SHFOKDZOZmUofTFMIVJQOzJSMm5MdCFqUTlOSXZQSkVMaEZKanx7RWVCKz9lKHZCPXNlb1FTJUIz WT94SCtsCit6KD5qP1QjNy0xUTcqM2EzK1Jze0E8V2NmNnI5am1gNFdRfCExSFk/bmhTan5YRigt PlV3TUtpPzllJWRzVipSYkgKK3o0WkFEVCk7ZiRQKWFzY1NRYDZRTTAkY3IjMiUrV0RIQSZCVmhs T3pfaHIwYlUteStRSGx9clM2YTdLcDNFdXooQgorenBqNkM2Z0phdjlDa0Y4YlQ4aFBVaiU7Wnw0 UXZkVFpzWm5NVGVYWWAqcmg3K0pEdysyOHo0bDJpWkZ0fDVtREx8Cit6NWw4NylYTnN5alcmbyE0 JFhGV1BJdV56RHdVQiN3OWlYOGhWb09KNCNGUjgkQWVAcTRkeClnWEMyVSktJHhOQFkKK3pVa3Ns MSpZVD5BcVN+VXB3S1RjTm41R0hMPFI9UmpAXkNFMnQhISR5WlZ8Kjc7TW9HdCEhN2g+T3FiKXtx dnJJdAoremFlPGctP2d+I2dVI0g3bGpLQk94QW9vJVh6SXwoXik1QjhFOFMmKFUhfit6MSRHMEEj VSpoT0cpQXo+fUd1eH59Cit6QE8oYmlfRyZZYjx+UihTXlgtSFAkb0RLUmpyfVg2Yno7aks+PEZ8 WSFQWTgtdmAyRis8QkBOKTt7eU0wYHNIPCgKK3pARXo4M3BUTyU8UU88YzchaXFTI3dhKmd2ejRJ M3dYND9pPXpsajB9QlpxcyMlXiUoI3VGamErWldfZHIxWnlPNgoreiQxJkpVcVg1O2VBYDdDbGAl KTVQK2B1cXEyPTBAJWlAeCt1ak56O0pHbiteUjlIQGpgbFAoYSlOKnArcyo0OzA3Cit6WGZYM2Zz XiF6NSFAUzZvSDhgWHx2RXM8S3o+ZVFjajIkXz8xa2d1RGhnK1pDSmN2PnJgJHg7dXZ2OCZvNUxh QHYKK3pLQUxXUWleV0R5cSNve0FYNj9GcnhxYS16P3MrcFZyJihgZGI/cTtvMURqeEBgIXNZZ01B Xj5IMCpnQzFRTDA9aAorek8qZjh7OW95I3g9c3dMcWAtQjtlS1IqK0Z0YzxydjhJZ2hmLTNEOU4z UzQxbEY8WHxfYE9GS3NwNCokKisleHs/Cit6V25tM0pValApJTVqdCE/VSZhaEM8PUctbldDYDM8 Y3xROSZAQllnYz5XU2BDcnI1U0lrV15acGxxVXNqJXZsITgKK3ozQEEtek4mKU9iVmxCbTEtUmF3 WSF0VEU4ei14QHJDKCZPO2M7T192R2FpKW8xbnArWiRWQzc3ankkQGBERW9yZworekdXRDdTZ0kq aWhsLXJBQXBDP0BHbiZjTDFvWTlxTkVfaShET3ZmZmw4WTghO2hvUFpjRTt2YEElO0kyOUdaYmJe Cit6TXg2R3UkLWwqJWdsfWtrSkVBJHAyNGZrcHY0SyQ9Y1k0fm91TDVNUktxbCNwWEBZP085IX5l MW1jMHs3LWdaQ1IKK3pZbnFIUVZKPlhwKyF5QmghOW42fThMI2Q3ZUtPbXZhKlczcjlUYkZRfEsy NDJiZThqVWhhcGlfbldVMmVQdE5RTworel4hc1gqTkZVdDJwaSVsNEokaEw/dnFeLSh4XjNgUyNA OEpZN0xOe1NwJlopLWFhc0Y/ND4wWF5iUWhkNEZBKypoCit6RlFeMGZwMHsmZkUwTCpLamZtWGVx Mmpaem0jPmxKXzxHKnplQlNyeCVsRD1EeDteZ1FVWjAxbkN5WGRUPzlCI2UKK3p6M2krV1JGVT9C XnRgdn1TNiM5eG1mUUYxSUF7WGooLWt2MWZGJk9+WjA3YjtPZ3VwQnpkMz5JaTBTMVBmdjx0Rwor el5xTjZfJT57SEslZ3lgMyswfVl6Kmk5VTc+RiNDNTZgKXtlV35JJW1MNGozVEhheXBXTl97azJC V3RQI0hUUntZCit6bF9nPF85LX1wQjdoJnswciNjX0A9QjBZczdFfkpQQz5NYVRIQTlFQWNfN1lH WS1aSXRCMGc4eHprSTBOKkRrQXsKK3pCPmQ1SylYKDM5QFgrVjVOJHk4ZilIVXhDb0E9SnFabz9i Yl9pYXhXVVEwI2lzZz1nZUVBJWBSOGZGb1d4RjY2Sworejw3TTBnclZRIWM8WjhSTkdvYWFyUDND RGFeaHVJfG5vJjh+KDghLVk4UDZ8UjdgQSZFbj1AWk9TXlhnRylWM1FLCit6PGI1dEl0JjkjZ1RB RFZ9RSYydyNgSTBVYmBKKzAjM3IoTTYtQXR6SWAoPUBNRigzeTt6Q0IoR15veTN1TXdtIT0KK3pv ZUAoTEdfYTJ6WEgwTnU0QG9YZFZQd299PWFQMmRvZmBDN05Bc3RBS3YoSEhLNENMPF5qQTR6I34x bC1yRTdnIworeiMqYUpSZjAxPj0xYn5NJFNeST53NV5aODVXaVp8ZEp9MkRhZz49TVQrQHc5MylJ JFQ8V1lLWCN4bjdibnNzP09CCit6eko/MGwpU3c0bEFxVmQ7ZUt0eE5TbC1KQj0zWjRha0g8Nmx4 TG1rN2Z3WWFuc3lhVkNVKz8kRWoxRlZzM3FaP3oKK3psVlIjajgqfFRDKHh6ZlBmMzJiUGAxRk91 RDc0My1jVVFZYzZRMSQ8UW1VeH1HP2ZoV2xAYGllYzJuOCZ2KVpjMAorejZ+YT8oXm91OVdKR1ZV ZGokUXxqTCtBWXstc34zWXJ6IVI+WChOZT04PSloPTR6R31BZkU0fV5GYjdtfUszezJ+Cit6Xm9D ZUc1QWpNVXU7KERuTGA3bXZHbHd+YyY1JCRDdDR4KkV4MFd6azNSY0szVWc5SkZGZTd4XmJLLV9k VypxaVMKK3o/aGtXS1JIZGlwYlg1cX1vPCpNbXluZjtUWG0qfFJJVWE0bGd9djlLalAlNUdqcy18 SD1xd3RKOGhTeXY9YE5FRworek07ZTQoUDhhe1dpU0NTbj9IWn5TcCVfKUJafWZIVmUzS0tmaWR9 ZDZJelFhYE10RVhtJm5MY2s+S3JKNXRefVlqCit6MVFIcHZAaUs+OyRucjBZSiFUTiY7Kn0wQUBZ NSYta1lxP0k+d1lTYmU+UCo2ZU54KlAkN1hwVFctUXlUZUgwTX0KK3pkUkFtaWI4XzQoQTdgUjVI WERmVlU3U0tpN0wmJkRjOVBUODIzVjB4dyFJdDUzaiNzJVhWYCooSXpXSnhSX3clPworenJsbz1h bjk8STlxVkA9RSQ9aipPVEUmZy1JJjVCPipKQzZnTlpIOV5fJUJtVzkjdzRjcT9hd0FxK2VnM19O V29MCit6cmg2e3U4X1JrTjtOKFg8OXU3ZjJaIT4qKF9CR0lhYUQ1MlNhSSt4MHUxLWtpU2J0amhA SkYqOSE+UDREeVA0aXYKK3o0QzNybnElWFluaUxtSCtvalBQIW4zfipET1RQNU5iKllhMi1vfS05 K31lbSpWZkZRUHBFcnpha3Z7VGMwaG5JcgorelpFaHFaaEZqTioraylIbEY7dC1AZCYxQmQydTBp RnkmXmhjc25fbDJNI012VDxZd29jKzRiKlJROEViSktUcF47Cit6Y3EzVThoOTxJY09uUWtATXhA d0k+RzZ0Vm4ofk83RTgqe21xVk5DM1pmWDBHUlJSdmJyeDdgVWZXRGdsTHNvSGMKK3p3eWBtQl8j YmRmPCRzcXxyb0FzNXV+Kn0tVHxhKnRIQjExWjB3ckRZbHVzQGYoe2RpYFhla0NpU1RARSlVO3Nm TAorejNpclY+RiV0eTBiQHskdT5BQntmeio0TlFCVFAhdEFnNygocEZkeVZtP2UlVFN9VnstLVd7 YFNIZGxgMC07TmlHCit6NFYhOCQxNnBkKFVOX2N5REBNTG5ualVURGA4MWM4JCpmJU4wWG5xT2le Z3dQblUrPSlfRHt6TCheQWdeSktkVyoKK3pEYGNhN3t7anQtQE9aZ3E9cE49UmpUKX1GWX1IaHso Xjwze0RPODY4YlBMcm9YaTg1aTBXRUI8clpUWSRxbyVwRQoremNUQWE/KT1JUUhuSUB2d05LR3Am MEF9eHttRz96NCUrRksoT18lUjZGWkREKTw9XmhBaTs1Sm4pNlBwOFBuRzE3Cit6YHdkSGxtV3gz OHlWZykkZkpgQH5gMn5EOykkWm8xaUJqcEVsUn5uTVRJazBFTGgmb1YpPFZZN0IhVVJ7T3dWfWEK K3pWLTRIaSVaUyM7VnNBaUpfdz9wKWItOD1kWkRJVUNHZDh4Nng5OUVvQElgQj9rIyliYihuc1BS dDw2MUdzcn51SQorenQ0JVhndnFsVmFSOSRiJFlWOU1gPSg/OTJ3KWVLYE0+eExlRHctQWQ1TVcy VUhsbXJiKHE1SXRlZT5VRmRnZSoxCit6ZCVIRllOcVVkWVhFdFQzM0lMZDhJOC1iYWs5TEpLZUAp TkQjTnluNV5fdj9vQW50Tj1kSyZpYW93eTIhdVUmblkKK3o7M0oxRVVQck45NGYkJFpwSlBiTypl VDkkeE14UlM2I0UhaTJGeDNTcjE/LSp2VGRAeWRJOEtlSDBJZSV5QytWRQorenRzQVgwMns3YHh7 elBAPndPM0QlQisoS2EhJll3cmohUn1MUjlZQ1gwTHw4PyFOWShRX1ZwP1kzITZySnckOWx8Cit6 bWwxeG1XKCF3bWk2Sng3I1k9MldufH1+PkZUfSkkWWhfYmpXNEhZclIjQ3RrQ3tOZXQ7SHNAR2VY ckpScFlWclYKK3puV0M4aWZOdEhiZS1xRE1id1E/YnhqZ1BmcGg9ckxwNChOPz5rRmZEQzJ+MHZI OGomeW9qcjZEMT5IUyhoQTI/agorejYlRE5UbW0jNHl4QSZ9WTNzQFB4N1hLUEU8UzA3bkg4cl8j YExiKXImQSs1cThfIWxqRUsxMXphdTtkeUglNE9pCit6TDtLfEx4JiU+NXlsSyN6QWkyM2Y0WiQk OGYyNlBvR3srZk5zeztpfG1OZiVJRGM5a0pwJlBXUl4zJnlyckBFSEYKK3plfE1+YW5GTFdGYD5f eSY9PzdDdWwoT2ooJWp1I0Q3JXJIYHNKYGl2ZlZmNiRyTEM9JmIjTDk0K3BNZDIpN0U3eQoremww aE5rKlJHOWJxQHY5VmklQm1kcn1Mb2FYe1FHWTRgVkx5aD5TKElQX1dwKz5TLUhqQjcmLVV4bWc+ WEx8enxRCit6QyFkZUIpRXNtWiRoMitBSHlAUVBXN2smP3YwQzZrT312bys8cXBiNS0/YF90ZEpD NXdEJDFaZyphSm49SHB+eigKK3p3cVkhJUx4T29ePFhENm16Oz9KRHBhYncrcT15K00qVkE3OzZ7 I0EheU87ZDx6fWVHTjJRMyt0e3omITlNPkdSWAorelQ9WkMydEIkS0B6V1FYcSslMTJHQlZLeyk2 UT4tc1RiYTR1eUNDK2pCPWd7K09VaFczSyEpVlJOayZUe1c1ZGhTCit6WE04fXdaWX5DRHJmM0t1 PE9MRnhhSEZCcmR8QEVEVz0mPE1XYzN5KF89Z1RrcnVyPWYoQWZwO15lTWE/YFh9ZHUKK3pvO01B RlY8ZTNoYmdSVTEpWH5WY0QkYDk8XkRaSitvJDUlS0NKTlNCOSZvel9QPWkxYmBzV3BRUTx1RzZl NW8oaworek5DcjtKXz50OSUzYHw4TiNoUFclRHclc21qSFlQO15CTzV0d2o2aCRDZz8tbjhKbXw1 UWUxPGZtcHZRUnNUd01+Cit6YkMrU2oyZn49bmF4Xms9aXR7VGA8NCopMj5MZCo0cldyYV9QKE9m biRSU0lyZXElJVlwPlQ2Pl9UUGtxe0EycmMKK3o8bD4zR2p2dmZeTzt1PGwkI3ledy1QcVhsdW5t Z19Fe3xgKzdmTHYkTE9oaS1VLTBSVGpFYGAtaC0qUGh6I1FCRworenBfX2d+NzJESWFwTlh4WVVH bDEpVUF3OShaYlIjPlBFYUpzJnFPX3FnY2Q1OUFFMEdVTDV9LUlZWVFaJih2fTd4Cit6S0BsdXJn ak1+aUc3Znc/Z29GNWNkaU8pTXdUcUFlQ1M0U29jKCtNcWt2WWVvYCZZJChVaiR3QlVjaEtrak14 Yl8KK3pjQThtMipsZnFVYmQwZnIka0w+bXAhcDZgNUohbyVweH5sfU5JPF8rWl5vb20tNTJpeSZs LSQ/R2lXJHBtfmkmNAorenN0cz1CKzA9cH1ANGFzTUtubiozQnZnb2ExSCVVNnE9e25ecWU0Zmc/ bE9XJFMoUkJLX283aHlvc0E2Zj5nY2ZjCit6Ml5YZEt4UiMtVzRFJi09SEsyY31FJUJ5Typ5MG1v O05BKlZ0TnZCUVpjUm8oV0o3LVd3VWFQSVFRWFhqZ244M24KK3pGRWRzczRARjhPPmdkPnM3Iz96 eT9IMkg1c1B1bypoR1JIRCl+ST9KR296REY+SVBJaXBhLUQ4NFkzVFQycklBQQorelElOzBHbkNS LUUtbkpjX09hXjNXRDMjUU5sbCZvTXokfkEzUlZnJF5YMSQ4aTdNbW1fbHNiZGMkcHdmMmlzMHc2 Cit6Yzh0THpvI1c+cSp+dG49ZnEkfHFxP01kWWV2dVlXck9EKFZWIT5FYSE+RE0tRmZZPUhEeG5H OWNRSll8TUNIKyYKK3pnTkcqK00jVlI/ZkZrdlV2OWUjQl9mIXJlclBoVmdmVypHQWFAMlR7WHk/ WVplNT8zaURKdnJHUGdMRilPa01FcQoremtWdDJuKGk/QS1IdWEmcm9kPk5yYTk9MnBwUXRwTzRu IzJhRSNVaFByYl4jJV5jOElSWEQoXzQoanYrVnNRNHZnCit6V2lQT19eZ0B3fnF8OT9VWWU9OyFp P0BuQz9tPGF2QiE5RTgrRVhyRXkyPjtXbF5tRn1oVDNFUHZGP2tyd3hOQmQKK3p1PCN3JUNTREFj ZnY3eXomc2tGdF4teEA/dDFiYkpaWUNCP1NfJUpyZytLNDQ7OCt8USR9JXd3V31RcGM0fFV6IQor elA3RzRjKTVsbU5SWVpsdC0yRHE9cW10bUgrZXlPKUUpbEBHOV5QblNKfjkqVityNW88PDNQWT9e ckRvdmhHYCowCit6QUdAVT1COEs/YTEpOUhfJWUzcyVBZWFgMmZKfFdkdVlhdlo7Ky1PM3F2OSpU dCl5Jkw9aURmSnVxMjdCYnNjVkEKK3pRaVY9dz5keTRtSyYyI09Ue0pAdUR4IWk1eTk+YC1UZ1I+ PCF5I3R7OH4+RHdPdjZ2Skk2JWU0NjZtRWQ5eEJWTgorekNVRkBASjJWXk4kOH0qQSRWLXZScT5l cEV1dVJoKSpadVpqISQ5RS12S052dDdgKiE9QSN3O3ZiZ3J3I1dvZTEjCit6Kis8fHByYiFea0BK YWQoQDlrNlVna2crajRZITViRF9xSGZ7QWBgS1AjSjV2cSs5KkVmcGcpNlFLcW93bkApcFoKK3o3 UGhDZSViemNzSldgfkVFcU1Bd0pZODVJRFZsTzZLVEAqO0tAZXRGcEk+dT1XT18mcWVwdjxkKT5z eElTNCV4SAorelF9Zlk2M29ZeSV2Z1VKSVdGeXZneGtvOD9KOz4kY3xMZEBKdGxOdVZEPlhlZ0FU K0B6OzJSKzRwRkgoTEhuSzI+Cit6S0hlRVJRO3U1WC0xKiU7djY1S1oraiZZemh6NEZuS2FCRVdY XllAPUlZalNJbkk0aVZCSipBSWpQQExQUn08aGsKK3p8QVFveD9lQl56PyRXO3Qman1NRFZAekMl UVEjd3FWSEZoX05MZlFQRF98d2dmYUtudFArZnZEUCFzOCNPdCFLJQorejQ/Y2lpWFJXfEVmQHh6 bUx7X3NMd2dGJV9ZTmBIOUIpbyFZMCFnWFNuRE1ZNjA5VyNvTlJMPXs7PWd+VyRUM0QyCit6UCMo UE1rNEcxbFkjMH5HUElqTiVrcD5aZ0spVjlVR0pMPyg3VmtfIXdIKkNEXnR8YnhHOF5lVUtUKGdG O3codHEKK3pCbSpHKHZnQXd5JHc1P3FgVDJtTDN3bE9sSkZEOztjczEycj13P0N+R3ZtMlBgIUI5 bTR1XzA3em1uRXImcFcyRAorenZtbjI/UmRZbXRJX2tkYCRyeGhBNlBlT3BZIX1jTEJgVVI2Zj5L NGB1ZlJqa2dwJmAtcXRmfGUkQytAbFU3WlUpCit6TD02eVBVUXYzSGBVRGtnJkM1ZldxX1FgQzlt R3FlR0NPe2BoPVItJnJZP3M7MHdNMkxPUk96emopKiV1bUs7KXoKK3p0UEMkeXRYbkVhRzVII3sk QGhjUChRZi1gSW1BYTd7bUZySHhheURIR3hsV3ZEMzhDWGEjVmdSY2ptJlU1PnQ2RQoreiNPemQ5 KjVjamNaMkMmRFVtRW5fcEw3bkdiJFpzKG09RFVoeVFUJHV7MnU1N1pLOGx4cUd5MztOUHlYfk9D VlZHCit6ez4zayVsV2d8YDRHdE1qeF4xXkNkNHJOTEpJTDw1Tl9vK3ZZeExVPCNAdW9GUm08IyF5 TUVCM0pfXmY7TEExYDsKK3p3dm8tOGpybmJ0MmchPUB4NFNWSCF1SEdLQCM7ZCZjQlp4bWNaZUQ8 dDFzNER1JiY9Jj8oezVDcllBU0VmMG8jcQorenNXWEZaODV2Z0xiV056PmBzXjAhWERibWxpNTg0 VUklISlJOWheU1FDMzQ1X1Z4UlojQW80IU1wNF9JMVBhSjQ9Cit6RnxxPzx0TiQxO0lLKjx1Qyo+ K3c1Kmc/d0p7fFdIMURyOENCb09jMTI/VjQjQTwkeGR3V09Hc0B4QDd9PT0zc3kKK3pffUVUUEZy X20xTlBHZVhGJF9KKGs8Sj0oSSlIQkJIQENjMkFycl5uSWoyYVYrbTRgWmI+Km1BWVV+SUw8KU0m ZgorejZXdjFmTEdMJmBRMHxvXkVTMmFUQUhaMkc9MjFlX1NANUlPSUxXMmVTO19wTjMkN0lecT9g UVR5Mip0ezdTKjNBCit6ZEJtd2I1e3E+ZHBCSkUlQGp7YGJpJFNVaWA2WCh+U2ZgNzlNVEtJNjxS Pj5Pd1dlNXJNYTt3MFJEWE1UOytyLVIKK3pgUGIrPlIhdj1rUE16eFJPaH5eJUgyPzUpUHI3Rk9j bypHIzM1Vmc1UDg1Mzl0cyRNYCFVeyhvOz41ckRqb2h5TAoreityeEYyQ2d5Vz5fMmdWYW40XkVm NXFHSiFSRk02NU5xcndKV1VAR2xEdHJLeCRjMmY+ITFvYjZme1JQMyh2TSQwCit6cWtZKTxNcz1I THt2WXMwREIxM0ZWM0c8V0UxNjM2OUhOPW1tP317ZTNWQVItQWQlckZRT2BEZXt1X2N1WUE7aC0K K3p3KkArV1h5Tj8zYWc/Y0xGMldPVl5aekp9KVI/cU87VWJHXkVsZi0zKXxyc3g/eUE/OW5ARVI9 bmtuZmVQPFY3eQorekJOeHx5VmRDe3c5U18tNSs/V3w2eCEyb1JHbXZVc05nQVplSkRge1lUZk48 RzJZTzdnVVFaaElWJVFTYlBpd09yCit6dVRMM31VbTtZd005bVhna1R8d2VJQTdpSHU8NmVmNikj flU+b3s+aTxoJFF8Pm09QENNOGp9aDgta2d8cFF7JiQKK3o4ZlN0Q2hzSHwwVHZ5XzF0QiVNLV5O RH10JnVIMjZkanEhYHVhZyFyRT1Ye35wJCs4SSsxU0tFPUdSbU97VD9KQQorentPQm5SPCg8KkJI fXFlMUNqQGFWRjRuM2YoTDkxWXVib0psWnYmK1Q5ZDJ8TlpiMWVSPHVrQDg4KHslVlh6PiZ4Cit6 IyoydSZGRW5QZVctTnFISXhwYHAtSE5BNjFZc0UrOVFmfjA0OTNJKGdsTD9Pcit5Xlg1eWc7UUVV d0BtUHRHcFIKK3prRTwzNFpUbHZCeWxVdGRtJVNuO0NyYihDaHcpUGwtVWNoaXo9eUlJcn5WfW5D XytmaEw+Vj8lQ2FKbERtZHpoXgoremYwTlp3dHt+eDslPWF2ODFSKVZieDZyaWVDKTRyWmBSe3BU V2g5UmNoRn45byNHQEBhJTByKWBALTMrKmYkaVNWCit6UF5FK2MjXiZmeCQjVmZSQUBnUGVyO3ZI JFhSKFVWWU1LNnolTjJ8KyUrUFM4T3teYmh7NCFCUUUyRDw+bUFVO0oKK3ppMWV+RnhtWHlmYU5W SGpFLXpTRGwpJDM4cTlveHJnVjV3clpyNVJ2PUBOIWRiPThPJHxBKHp9WTdaPTImdjB6cAorendy JChWI0t5JDdaUUhoTytxUH1uPykwR0RKP019NHVKeGAqdz1OPTI5M2dCRjNeSWVCe2Jhan1OSF9A NlB0NSRfCit6JE5aYWg/bGRxYHJFSyNCODQqZFhZYSNTTVhlS2VEQV8xNVlGaG5gPmdiN2NhazxB Q3sodkx3a2Nxajh0Z0Y0WHgKK3o+fT9YckNBd3V8WU0kZj5wJENffDA0YjdRX0VSfGE/Oy1PPTVM TzVtYktQNUojLVNyUmQ5NXtxfE1Ma2hpOE45TgoreilCJE1uMmpULSRfRG1WUyE2NTB3ST0pSWE+ NVRNfkJYNGNXcnZaRHh4dnItRmJ+UTRebSZjOyY9MDFmKXRIVH4yCit6OXZMczBKSjZwOWZ6RHst b0hGMWdVZ2RaP01tVlF1YEBEO28/dzBkYDYlNzFhbV9ecEdWJkBTNlV6fEk9Sy1ZZTQKK3pUQFAj K2A9bzRtbXE5MCRKTjZQMGgjYzlHZTFVPnB1LWckUndtSiYlK1gwIUZSMFFpM21HaEZlVDFaazlH K3RJVworemJYI1VtZ0FqM0YmeGhrd2VtP0opVnwrRyMtdUx1aHcrN0Eoc2YxTUNqejFnK3EpZzkx PFM9bl5KUVhvaUF1TlA1Cit6QF5AbnhTRSlHa2ZjSShyb2crMkRjMTRae2w2TFY7MHB2UmAhV1oh JD9YMkxEUFVOMFR0cWtfayRnIXVvJjhKNUUKK3o3K3R7QjJkMFhmYlE1WHFFSmdXTmh9cDt5ND4o Q01sSXp1MDM0bnNOYDJqZzV7TnFrT2FBLTNncWlZeyhAYzt+Qgorek5QZmlSVXwhUmE5RnNtNTNx ZUl0eTNrcFJOMDQ3SUxrMiMpOUw8NXdgMkxmVEorMVgqU3FXRFZ6VnxoIXU8Pm5BCit6YXNvOC1P OGxkfmMkT3RJV1dLZmdnUn04Pk5yODt3N3dzb1JDciVGO0NqQyZCJHBWUSoxKSFsZUNzJm1fZ3Fu bHgKK3o3I3NfOzhkK1JtcVl3KSQre0YzRUFaZkVVaF9MQjdKfmBiNHNCd25MNSs7Nz1KaVlOdm9U K09rUGd9RmRaY1dTKgorenEzWFM+MCZHUGQxcHxaTHU8WTxHdT1xNnVgPm1vI2hDczIkYCVuM2U8 ZWYjZ1hRWWBYYns4Nn13VllCdTUkKGd+Cit6ZU95THNENGFlJU9XKDRJSzwqUCZiOSR9P1FoKnUx WCpBSmUyUmgpLT9veDw8aU1gJGx7dTFCM09DeGFhZVN4ZEcKK3pXcW9ASm1NQXJBeH0oaHYoVE1U bWdjM0NpQTcrdEFOd1dgdUMrV0BlV0Y4RW5hSD5FMyR9Kz5TbkkmMV8wYGtPUgorekBTJjhNR1R0 PlJzfjB6QjQ8SiNWVSUkbnhWbWdmaD93JG17SWVWIytCdVFkTzFsS1F2dWpTMSlURXVpfEcqYihP Cit6JS1CR2JUXjdrMHpzZ3lvSGE4eTJAQ2ZLVE0/N092bnd6eTtUQTFed3dCZmR9MD1gNmtadk00 cSFyJlNvRGI5JTQKK3oxVjZIWDZWSlhxWTJ2O09ld2BDSiRJS1dyZylIeSFAUDIra3NobVR4MHFJ S0hDSmJaX0xwWSZ+aiU+PG1RPDFURworenJlR2UmVlpLNnRkM1A1NGBWQ1RHXiQmNDtTfF8/WE53 MXxBUVk5JjxSXnEyVC1JNzVAN150PGFUeVFyY0t9UVM2Cit6Qy1xI1l6fSp9LWE5Uy0rYXBrLWtJ bGxWdktRIyQ8TFRYKnxae3VHMTZ5KDhuQ2l2LUdwUk1mRCklOG5XO3I8OT4KK3phZEYmM0ZpKUFo OU5ePCoqP3cjKTYpaSE9emg9KERKfXFjJCYwYmIqMUIxJjhsRG5ZKFhQXkJUM0NVbXBpT3VnaAor eiRkbVdfeTlhbk5qZ3d4YSZ5cEljYDtGJlNTdVp5d3AxNnBNZCY1NSVFY1pVemduZShAI3h+WXN4 VUxWXkZFcT1KCit6PHN9OzFYT05qd14qPURgaGFpNUk2UCE0aDdjZ0ZYd2BvbDZyV0okQW9IVjd7 UnJRfFVxSFp3LXlgfE9QckQ4b0oKK3pCNGl4c2F7b05JJH5Pe0gqbFN0STA/RGBwdUYpWWVWSzI7 JmoxaEQhUj1KQXRgdlhuMmE+XyY7Xlh7ZVAraGVHZAorekt7eSl5YTIrVFVnfEFDbyl6Pz1MWSs9 ZFJodTM+ZVN6Xm9YVW07dENVaEIlYUB6Uk9zJnU0KyZwSzVfcDB4cXBaCit6KFppJUxxaWk/eUN4 fVoqWVFESXw+flkoZGJYS1NAU25rdCNpYn53SXF5UWsqWDBOMzkwck9ST1BNOD9kTFpeUzkKK3o3 T0BIbjdFWlZMeGF1bXtNY3A0PShJRCthPEtLT2lrNSVEPTZIUTE2eyQ1cHlnSUBAS05uRXFvO0gw Vz4+QTgqJQoreiViJUROMG9HUnZlez0xRmpuJXdAbm5CazN5XmYkczh+QVVoZ0FKb25gTiQ/Xl4k dyhPPWR9YyZEYX1ialhTakV1Cit6R20/VyRRJXB3em00ZVIkOCh7ZiR2SThwJHFoQ1YjZlpnNCpi VGVmQStiLUohR05PM1pIXk52TVBJO0YqPDNUdE8KK3pSdXQtcEkhUSslN3hHLXE+SWNCJGVwfFhk QzxhPnNERlJJcUpaU3wzc2ZsKiRuKVJAJTVGdzNSUX5CcEc2MCRzNworejlvNX0kdVApbFMja0lo eypDRipgOXQ1YHkqKTUzJXh0Klk0LWRQMExVNnoxSGI2R21COFN6V2pNS0JBMCQlUD9yCit6a1h0 Wkt0Q09uNnEjSllFTUxiRlluWX5aTEdWTl9CMVcwT0E0M3k1R2VBLWRrOF5kemJpfUx4YTstLW1Z N285WWAKK3poO3BibnNFOVclOTxZYHJgVWhvWjUte19INzI8ODtuN3xVN2R1THsoPWJAKGhlISNw ZDZHJUhSQXlgTXlHbXFWLQorendoZF5vVkwme18hNHJZfFZmXiQxS2xNez1HMTlXZ2lrezVGOH5l THE4NW8kfmdybXFmaVlSSnQzc3JlXippb313Cit6a1ZRWT5aQHYhNmR+MCF7IWdudllPUGxESDMt LTIod3VeakpaQ3BYNz9lRDU5cyspbCM1TFplI2M8MGpoU3JFRSYKK3pVWChWM0k/NmN+bHxIRS1S MC04TW1JQUVqS2FReEw/Tk5kbVRzazBBM19ZNGJMSHRIb1pRMHEpT0wzNmdwTUVhbworenc0OVJr JH5ZczNpdStkbnNeVWRBeyE0I1NkQGNFOzIqblIzPkdeO3I5YlYwcnMwe0hTby0lNTE4Wks8RWoo aU19Cit6M2lCOGROMns/MFFzRjFScThGUWQ5KSUmbGVQfUdgY0lvN3VMYF8yfWYlNXRsaGEtTjRI MlAja2lVQSE8YThXNX0KK3pIeE9wQ1g2T1NAJS1PR21AdGdxRVpCI1MyWVRsOE0+X2opN2MtTD10 WT9LJXE9UDNzelN6dko1eTBSajl5eWkyRworeihmUTdrMj8mTXIwNmFFe3N7OE4qam54aW9zXkZY YVpMK1lVYWJCRGw5ZlRsVyU1KnBCJlMzMjU4KzBmMG5NckYrCit6YnYxcVp3VEYrJGRGSCRhKmBF Mj5CNHxLMWVVU2VgNilMRyRCS3lmZi12OEpwTVNMWk45QyZ9JVI5IS1TQDwkKlAKK3ooTGo8R3tN TlJDMmxZPHsqcys7M1BBck47b34qV3kwdnQzSnI5K1I9cVJGRG0zeFAhIXFlRTd1MUZWdCY4RDVL ZgorelEyQiVUSUd1JGU7em5ZQWl9aTI0ZkwlTXpUWTRiMlkwai1VaCZDMisoe3N6ZnlnKlU1YmZf O1pEd3o2TW03cVNyCit6YzNQTEhJKm9TeCVRO3pDdSZ5NU1EU05vYD9TOHlkIXB0eDU1PDUkfHwx P1p1YiNKPiZ7JFMofWk/PGBuOT8jflcKK3o2eSNTdWJpVztoaCE2dk9OQDt3VHJhNVI8RWplKzI7 ZzUkX0ZyNEx4YCNiNWdRdHlXdSV7X0wpWUAkbzZqPG8rfgoreilGOWRGU1BDfXZjYmkhWmZePTxV WSY3SnppQmxPOVg1ND0yKH5raGQ7SHdGTE9FTyRKSmJqZncmT31FMVhHVHVRCit6M1JLUUhuciFR YCViMCV1PFhgdX1QXnNPMSFIVTJkOURzd2dzcWVKYV5INHhARlkyN3xmK1FZYkplV21zMTR+TCkK K3pqUDtHR0hNPjxNU21RfWY0ZCpRVjxWX3FAJVZIP0dTWjJBWXdoZGNaOGJHclVBVWZUYXYxI0k/ PGR+cnUlNWNyQgorelRIYjJpUytJWVhocjhXVTtIYj9JQXhZZ3hSaClMUVU8YygyMlRyc0FlS182 SkdFRXFlbztea21WdmJITShsfWZ5Cit6TFdBZykoYHEqYyptXzVETm0qMXE5NiU1V1hpfVh0UDZr PWkmYXZ+S1lwaUtkMUgjSlcmX2pUZkJWTXpMT18ye20KK3oyMUZWQjtsfXkqb09sMSlgKzBeaHd5 aXw7a2EzMkl7S3UqZHJOcWQqX3QqZUNAfEg+ZDNiUy04UmZxfUdmN2JhOAoreiNXTUtpbWlXQ3dl X14rPFhyN2x4S0tQIyE7JiVCMXxGNkxBTHlgR15gREtqaj5OaHpVYSgyV14zaHlaRGxuSz4mCit6 MWx1eyphX0tpXl8tTE87TDwyMW1oQT5oODxMP0NHKURmPm1xQCQ7RVdlfjV3YWEpc04lN1JGZV93 a0EqKkQoKzYKK3p4VHhXVHFTVjc0ODRMJUo+RGVnOyUqaH41TnlHTiRueyMyQFMpUkJ9RHJ2Xz0k QiEqd2h7eU5DRjBDbjY/dk9AcQorekc+fGZVPzZ8NHpNRDBSQmh8JCpRMTJ6JUdabGhyO0hlKEdV QzMoUT8/NlI2Z1VJZXtEdC0+UVhBNkptQW5eeHEpCit6elAlfDVES0BQbEFhR1ZNIUFsPkd4O1VT UGVCeWU1V2R7b3YwJFokcUk7dXUrbGh+YVckJjk7ZjV+IyZBSHtYSSMKK3pHMEM7ZWcreTlCdiRk amtqUyhwTGc1eX1TKzA2PzdTfl9iZkJJSWoqdjxOa1RTa0tLPnRFJXcrK21XZDIyMG1ASQorekZm bUxKM0Aha20wVnFEREpJM08qPCVzSXNpJkM4eU8/IVd3PEpwcG5IK30rZmFKPCZeQkFMMXdVUTYj SHp4PUNQCit6YHU8eVVpO2hvM15CUCt6YkJkTn4ta3BVSndvTlZAOWptOGhXSGgpZyRDdil6d1Iw NnxpZGhPWU5gQmIkIT9mTVoKK3ohNV5PfjEwbWlRcmc+SFA0NURoUTFCdkhDSElYPWohT1k5Nyto UGE/cEtwbmVzdmZ4aFk+UVo3emBnb0c/TDk8YAorei1DKTdCQX0zeENKc3h+NiktcyooZ3QxUT1B N0RTa29VRCg3V04jbyN1I2FIcT9+Zmxga0A3cmxoMXJgMThlbk5HCit6VU4/WFdAa1FJfHFGN0Rs TlNBJH1mUXRra0EmWSN4amJ8JDgzP2swTmBzWndIN3tsTnxLdG5sMEwwenowN2VJI0MKK3o/TFp6 NHI8cTRZQ15yTWlkVUdnRDxmdiN7TmtPSXVxViQ5YTBgUVI9ck5fOT1iVjQlMzgmLXZqJk1pJkV0 QEBISgorekkjQmI/SyhVVGY7MG11VjZFT0dLJWw0cSZkQ0lpZzluZyFmJnZ3X0xoSiQ+ZVB9aXVX OEUoN2smVDs5UjMzdV56Cit6YW9KO2EzK0BrLU5ePHw+bChpSUc/eFRPYi1vXjxtYyNLJU5VSGxh MGM9bFFLITI2UiExbW5IKkBrJEUtR3U2aEcKK3phLXVrRHMkY18oNzMrRUEweUYraWdJaTc9JCpL QnsxTiYkKntHV0dlbXNmOyswVDJ6ezV4Qyp7KnY4TUtuVGpVaworenZAeE9AVlh4OzVEI3N1e1J3 NjlfRXJ4TEQxNVA2UTxTVntaOHMhNVctc0s4NWxCRzc2XnRiclM4V08zbllWQ2J5Cit6dzlQaWhn Ozc0cm41bm1BTyZTVzFkSEwxajl6cTAyPyZ3RDlme0tPMW8+OWhMe0Y8S2h1bE9VZ01oZDdlK0dz fGMKK3o+KVNSPXY4eGI1WDFILUkxODU/MChrZC1eczhwP0tnaSk4Kzw/YkY5T0lZZVF1M0Q7bmI1 VTBCREc/UEApcDZtMgoreiZrd3BRRmNCTzh1PW1WZnBaVksrXk9ubTE8ZDFAQHpXVE5kKjktXjE3 KVc4P3pSY1Z7ZCZuU2Ruezx5ZiVXPjh1Cit6SiYrenVGfmV2aWkpXk11T2UlV0dVUyRecTRucjBV RUpsKikxZ3U3OT9pSjtDSm55K3twaV9kWWlTV0FhVzZBOEAKK3pPMUVIcmVJeCo7P2FYSG51NGxg bTBjXyp2OVBIMnRHZ0FwdGFpZEJ5KFZtMjlOWEZ5fTR4NVl1Klg9LSptUjlFLQoremlXYEJwZy1M YDh3Z3FEN1ExaUhhSzNjJW1Fby0qVkNiPTlgeDBKdkdhS0tBJGpmfkRqaGdNeUQtZFNDKGNmT2xH Cit6O3VPWihLS2B7RnpEQ09BLXUmS3JNPGlAT0w2cGI+KnJfc3FtVXJwQTtTazYwQUI+aWsqYzM4 JVhya2lpXn1jYSsKK3orRW03IUB+dWxZNWQpZE9vMytIX1poZyM9UX5eR3dNODV+O2teQGszVW56 d2w4KEkwfjkxXy1yb2VLVSV6Z3AleAorektJVzhqXl82cHtGNzVgQT15RWo3KjxVMnslYkxzNE9P cU0zNDRFYUckNEdHJVN6eDJhREFDSSlzXjtUTV9JcEtPCit6SmFFSSZWQkArfXdDaWFXeUQ/d0pZ N1RMODxwJis0QWV4eXw9P3JTOVZoQlM3MmUmJHYrVzElKFpHaCRDPURxTkwKK3pKXioybD0oQjJZ KmxSSkZ1Y2ZwM3hzI2tPYS19c255YUJuWiEhNWJ1QjFJP0ZKNCgjNSRQNSRwSWtYSGp4PSV0Xwor ekdwR2lGcWs/K2dKQ3FpNzNwK2s8WjJhOHZOKSotVHN2RGM9ZzliKFdXel57TDJ1QGYpTjFBPFBD fkYjR2FoV3BeCit6I2FkUSg5eXFpblRlbjVLc2xENmp6MmxQQEx1dHNjSitoQFhBSUw8NWMhcylE RT0yc2VVflR6U3A1cUlHKWdfK3gKK3pVRDt0IWQ8JnVvODRMVGpXfDN4YyE3NG8lKTA5aHBBekBD eSNDcEwzMmYrWHYhfEpScXN8WXdOVERFYThIRkU5cworel84Q3x3VU1xKlZQaV5VfVNUQkFIaHtG U2QkfWJAdHtKZkpyJFAkRXE8X01wLUJlT1V7b2pDU0xray1QUjV4S2tyCit6STs+a3k3cTMzT0hw OWtJUXF+R0t2Nyo5QVFrMllESD0mM1VzYks+SHR7Rns5Qit3N3F8M0skPHBYRSpBcjduYFUKK3pE ZzZ+VF9VZyt1WG5yZXBXfHojPm48Qy0heT49Z2dITFhlJWk5JEFfVik5SmxzWSU0NUw7WiZ7KUFN RWFTWWhwSAorel4xOzwpekBQQSp2MHkpYEdje14xYUlvREZFPlQqcmFhUCkxRkx2VjItTXEyTj8z JUxXSUpiPSFJc3cyIURVaXpfCit6P3RVKDxVWkghN2xeUEc+O0dtVj8jNG5WYHhZWSliR2lzZiE3 cWpQSkgqeVpuYClmI2gxcmJAe3BVbW9vKk0/b2gKK3o+WHtMJFVlI2Z9Nl5jNiV3diVkYGVpIW5t KlkjN2tnMGw7T2g+OWMlN1pxNVZjQCVQQHhwZSZ3OCRyRHtvPDQ0QQorejNCTUR9JVg1KGp4a0lL SGpefHdsKTBwLThQMT1jZWp4bXNpP2NIZ3JCfXdLQTM7OXlneGJkdyhSdjdnQG1xfmxiCit6I2N8 c0RibjZIZiRBM1FEZzh7QlJEfG5nYjZzPWBVYERjYF9jSktpIT10XmJkXiFsLTthdWlTRFklP0M3 ZCowQH4KK3pQMlBtYFlKTzclOypFRVIyRHBXekJecCN6R3F8Q09mOzNsKEhjemsyKjFJYkFRdGpk PiUjUHlrQGBoTWQpIUchWAoremxBVEh0JUx5V15jYVg8dytPUHh1e1p1QlVCQUx1QXs1K0YwcjdX d1lkP098aT1WTzR9MXVjKVoqQ0MqYGNBKlMqCit6P3g3cSZlX3IxPHI/az5jYzxwZUJRZVhpM3Zz PyRzdjBQP2ZZZkZrQXh2ZStpTXlnRGlKWlEjdFMtcztwMnsyTmoKK3phM3xEX1VxVHNUcFRmOzVC YyU5WWpaLUVJdnxJcjYpeVpNSkBvP31vNiFLXk11OzdMJkxyVFRedjdsXz96Q35CagoremdvbGQz dk9ZZSowb0t4NWhoeHo0K1NKOHJXam5oMTN2azEqX0ZWT1lHaENEcEdWM3BYOFNaYkhyQFdoLWIo I1RVCit6cGBnenVxXjU0JmVOfEZKalNXO2FwISlJUylsRTVVeUlIeWJrKllSfmZHR0tBUUxgPlY/ ZEhmUWJiT0RoQk0+ZmIKK3plMSQoRGdZMy1PaVJfPmJVcnU0T2pfJV56bH1iVipHaWpKMUN4Jnkx WGt2QmJAY2tsdj9eb2o2JlA3RitMMlQhZQorenFEOF5DYHB9cEY1K35+Zys4JD0tNSFKbkghU0cq ZTh3PG4pZ35GYkYhR19YQl8+Qj5ReUFqNzhJcXtYKCRwUFVTCit6JiMkdTI5cUxsdVRWP2ZaSDhh V1k5WiF3PFNNNSY5WTF5MFRyaHdMQjNgWDFRJWJmbVl0RFpMKTdCWldeaVVpcX0KK3ozMkJ5dyYj YVJheksjR0ctdSEhaDRXNkdAUVBSO2FMO0VEaVh5PylZX1JYV2B0dik/Y0J7b1AjUVMrSCNJWiYz YQoreipuJnRye2IqcF90VHBsJShuZ2o0eGFCUG0qUTNWakZMUXR5bSRkWjw5X2trVXooUXEtdHxh NndVVF9KMWFwM2dxCit6aUJTKnJTbW1hViY5V35jMTYkKChBYShZfFZYck94Z2QxT2g4dHJ4dE9N JX1gJk8tUlVtMipyRXFfKThzQkpURjgKK3o7JEdZI3tBUUhPeCpRbm1nSmsoWiRnM3hRJFJzVkJ6 Y3xDSzR+TjB1XjloYCY8eCojKWNCd2pldzkkeHluSntBQgorel9zOElzPmorcntRV0E4dl5Layp0 Q356cHRJcy0rZzhjeEVETjFnTXAqd28xWl4hamI1M0c0Vkw+aEA9S3p8ayFYCit6RVVAQ04ta0hN Vno9cColaio8LUZKQXdvbG4lTEVNT2FRSiFyJjV3Ym1odHVsP0hkVkM1OV91K3hvUzVMNTYkdncK K3pURmAwdmZqRn5YZE5XVkhVbDZJODFmJTc1Q1p1T1lFbCNxMFQwVFhiV0syRyhja3w8NWRZY1df bDM9ekB3SVk+YworekVgPD1yci0jKFl0Kl9lcG9hR1A8P0l6Sz9WVSg7Mmc0QmYzcH12JUZmfT5k SFk4cXFmR1p1VmEwZFQrcGpHbyRKCit6enpQTk5AcSp1aVRNelI9S21WPlh4NkA5KUNOMDtAIVpr R3xVSGhrPW5XRztFYHQlMUB0ZEhWRV5oZTZNYkJXS2cKK3pFc1ZnRyVVaXNgYmJAe29IdmBXTE9A eUVJSWd7akVqSyNqe0tXUGIlXm5AcHRzZks8RysjM3IqdjJSUktfWlNLMAorejR4bjZMZFQ8SSlR eU9lWXtNdEVvKlQ3P1dgIWBpKWx+OHdidSRKRlgzK3RUbUZ4WiRFIVRhJEZLNlg+ZiUlVVJyCit6 NkxYZ2c7TmBabzUkbWlPX0h9MVV4WlNROEhFRE88K18hbyt5bk92Q3hLfEY9MGZWelB2aF4hX05K UnA4akEoK3EKK3o7WmJKK2hNN2Z2S2lpKHcrfUh2TWslWXhKTHBhUX5CXnkqUlQrU0RTZmJabm14 SlFidWsoTnozNUF1Oy1qI2E0KworejFGXkBNdiN1Zjk+UyR+ZTE3TUJ0V21lREUrK3NKRFV2ekl9 KmkqKS1IJSZ7NTZVJUNCVDYzYlNafE4mVDtaMCg1Cit6MGkpMSVAYHFlaz1ZNDhRI2FDclpkS3pw OEdjQEpLNCM3YX5wPXV8bFN+NUdyRSF3dDhZfUw/SXVgVzYtVz49RnMKK3orN318PVRRM0prRlRT dUJwQGlsazVxVXp0bXM4QE5tZWZUXiRJaDFPTmpBaisjVU1KZkJlblBecX1JdmIyPVlzMQorekFZ d0gmQ0VKWTctMG5wdEhxN2JfcmhzRnluJHE4QzRPUzs9KUtuSHZMe3FBOW85QS1CU2tyeVZaaWpr Jk9SNDYpCit6b0ZAUEQhP3lBcitCN0B0YGt+eVpSTXdPRTZGMmhEKCske2ticUQkMnV8Uz9nbU14 dDBkV0VrOURndHp1dHYjTnIKK3o1KVhwX0BIYHo3cj4xdFk2ZmJPPVApKGl9Xm8ldE5AIUtePysz fGZySX1rMV9WN0M/XmxkdkQ7cypec3Zsan5+agoremFUajNzTHReYCVZVHxTUXM5PyN5O0c2cnh5 RiNQd1pmeDtScCpGdjEoY3Z+Z0xxM1NpS1BBdSlNblFpQjRzYnt8Cit6S3pNZEVjMmpzV3BsZFFN WTNmc3lZVF9ONzR2XkAkeTA9I14oeklXU3ZSSnk+bXo7NUJSSTxxMDFGN3t0bkV0TjUKK3oqdSEp Y1BDcH0rYmIlZWRae2FKPHFnNX0/QkRtZjJJc3ZfQWw3T3l7LTdgQEBZVFBRcFRES3BiZz44SHc/ PFJ+UworelF5O2Amd3VqcklrVzZjVT9nfGJQNn1iLTlxfnNqJW5MNztRRks5bV9MbkAzbEY9fkpa Ulc/akw3LTxZdWArYSY2Cit6JXk9b2U+IUpQNWlIKlRaR0o+XlZvWX5MR0ZCVFdATm5FZzstMnF6 I2tXIUN9Szt0ak87MlBXemNmaiEyYj9BfEgKK3puPFZIdTg4YCo1a31payQzaDhrazhUXzNgLXRz aClDQ0ZOSG9eUHV5TkVPPGUqN2dqP0N8eUw1PFV4NEZkeDdfcgoreiR+aUFoN3NtQ2NxRGpVRGd7 TkZVNyExRys1R1BlKDtmWShLVXh8O2JnWEN0TV85ZVlreWpod2ZgOyZEcFZQV2U7Cit6VFcxVFA4 SHstY05LcDtsKjZKZVMwSXpobW0teXlVeUk4PndPdXl6NzRlUll4JCFiVGdfUGh+b0xUfSpxb0Ay OD0KK3o9O2RMWFE5byV1KE84UFN3N0JaPGpwTkZgcihHJkZwJiFZJU4kfSo1Uy1OVjE4eUh8NGdg OWF+MTd4NHN1Q1FmSgoremVsVSFVT3Y1Nyk9cC1OKDNMKmdTPz0xczFXV3ElKkgoYnUyYkxgRGg2 KVk9Tjw3Pzh8MXlBZndDPEM8N0BfPWNYCit6bWBVT3spUkFUbDdSOGs0O29ESFhWJWNyfWpMel9z NkdTJTNte21LQGNtKip2biNRaWkoXklobFAyV3wjdX43TVUKK3p0Qzk5UjdPUUU2TSolQE9wKVd9 ZVB1MVVHSD42WFEzSCN1dVkoMHZRRmdEO2d6TXxQK0tlUUt5eT1fZEx4eW10Kgoreih5M1A4Yj9x dnkwRlVpKlBLYHl1Sk1jWn1DZEole0RscjI/UkkoVHhrWC19RUcrVGphdy1pKlohSSV2PndPMElQ Cit6bSZkTHI5fClOKEx+VnhqWU8lZClZeHxGbjtfXk1+YXFyOTcwdColSXV0UklSJDwyZDhubWUw Zz5eakUqVlVIZHMKK3p6Rzd9PCNxKGpkTiRwMnUxKFByRzRXTj5VX3NXQ24ySihzQ0lALVV0I0B8 Zn5rSnxjZXlPbU5DX2JHeCl4Q0Z+cgoremZ2eWN8SngrcXtVaF8meHd8IzlwT1kkJSNzQmA8KHxC VTRGOzFsMEFXc294Q2JARmlDKCNmZXxvK1RENDJ1RFI+Cit6SVd2PjQ/aV9qdWFyTmotMmxWMiNC PkgpfGxxJGRXRF82UClQTGxob0ZDbkNzWmZrez9UPFBYSTN8Rl8hPndDNCsKK3pJM3x2eXRBSEhW WnVhaEJUeU0xeUs3eH1SJVpubztFKGl2VzlqfERjbjl4JnE4PjkwbERDbmd2Um81SXpKViRSWgor emk5WWMhYElmOW95T152VUJpcG8lO2E5VUorZFI/VDJQaV5zZ0I7I1VTRG4yeEErNShJIUUoOyMm eG5xMVkkTjlFCit6UVhZa1AjbEBKU0JZMH5TMCVrbjxrekR2WjRhQVdUPDlEMVc/QFNOJSM1VENA XlgyM2ZLUG1hfEJEaH07TGs4JkgKK3ooKno3PD56S3tJQjxSKnlJamg1Y1FhJnRCZks1I0Erbnth blJlPjJBY2d6a3JVfHdHNXYjP3xRYjk8ey1iV3xrdAorenZyQkZSeUkpWT5HeE5KWCRIKUQ3PVVN Vz17RnBlYHsoSmM0cWZUJHFOe3xPRnh5XzVZcTNGamVwKCUxRikzS2A2Cit6cmg7LUxFOzJKXi0/ cWYpKmxMeHItQ3g1WncrUjJtWmtkKzNOd3U1QSZZO3YxIWpwRU0+N2owXnR1dEh2OUl4fjEKK3o9 OXU4WUBtIV4mSzdVQUp3PUAwZlh6SFNhRXIjUiNpbDRia1hmK3pjKEArb35RY0d+TS1SJn49RmNs YCVaX2tJQAorej9HPE5kZCRGS3JwTV5OaFVWWS1HI1hpKjNQPldsY25kd3h7bEIlRTdxRV4/VUpz WkRqOUZjbWUpcmEjIzk7YCo4Cit6S2VPOCozb1k3JD9AWDBRS0xkfnxpbDY5JFQ1T2xONH5hfGY3 TjJ1ZnlKaF99KUEjUU9rV1QhdGxqVnhAe3w+JS0KK3poYj5JciNgSytHS1NORSYzSD4+PUlBfUBe b1JkOUJpbWhJWkVnKW4xRH1PdSZsUl8xYnV6ZFRlcUskfUtFan1GJgoreldMMDRpKSRTNyVRJSZK V0F4ekt4c3gxWm85V2tSTnFPV3pXPnpsZmgpU0d1PWR0b25kN1FCaCp3Mm4pKEs1MHBeCit6SiVu N0c/aXd7bT9LUFRzeWp4dGZnPVBjSk51bk59R0JkQSUwTkI+IVoqK00zI3FkN0g1cFJacCZoYV94 PmlnPnoKK3p5RWNpSUJoTzZqaW5RKWspK2FJdk18em01P0k+eldka0BGd1JmMWdkd3l9aUYmNCtS SyshbEMqODhfa1E4a1c7RQoremxNYFMlTzRnY1RzLTh2MllNKkEyTm83R3ZnM3l6Y2Y1RnBLZ1Rs SX4rV1ozcj58R3MyQV5oPWxyQzYoYkIwYjFyCit6VzVTJXZiI0IqWk1UI2Ngc0klYytGNUdQPVE4 ZWU2JG9WVWFuSnJRIyFqYCVlSW1IVUkrUz1AWUkmUFhMaUo0MiQKK3oydXlGezNYbnJeb2FaUFg/ dUNITF5HYFFwN1ApKiRnO1NLeD5ySUclOG1DYT84WV40LUhnaHVZSzkpdVp7NjwqSworeiFEJDco UXdNZkdlRm04UlMwZXpEX2k+WXEweWc2MFgjKTEpRWx1MWRGYytfcjZHZV45KVZ7O1BtY2VUbDND K2B9Cit6YiR9V3htfWFWcGAhcHtmPE1pY1Y/WSY3eWk9Ynd7PWhNcDxlSiEydF94bjxfe0s8aUVg YSl4RFhlZ2dCdmMlSjIKK3opbGQ5dT9Bc3BBcl58Q2J1cCtOaT9+ZSl8XyR0dyNieDdUODBtRSFG UkUzU2s0S2dDIUhveVo4UGglMmFtMntjTAorelpPUGxwKXpwb3sxJmZhWStmNllGTmRxJW1IRDZo X1lBbmpwSTVVOUpyQ1BOfkpNWn5TJkNsWFB7NC1XeG4mRGAmCit6UmxLSHxTUj1oZkVTRExBTG9t WkRldjZOfWAhSHNJeGhBeXFmMSQ2YSFofUAqdElHUGwheipqWlM+NiRkO31qb28KK3oramN0QE9S TX41RT0jNCt1SVd4PlpXbWQ5WXIhN05AdTZ7cWpMO2piSk1+OVcrSXYpVzNjfGV1OUsxVVQ8b2Yo JQorejJZRTE2KDhMPm9hWSU0KnRtUUsmWUAlMVpQQUNJd0R9ODc8azlkTitATCNJZSM3O1AlMGdr b18xPjZLMDBBekJoCit6clB0djBnTWArcytgcUFXPSkkNWJ7Zmxsbi1pQnUyQiY4PWk1PW4zRjla QUFre25aYTJFZUVMYHNhRlpPJmdSbWMKK3pWQSpkd0BadzBUZUs+TD9VVzF9bT93ZUJROEN6Nnsw IXJaYTJlbXgmQURCaFNYfjg3JHB4Rj4hTCRsS2JnV2RzWAoremJeVXhPI2hXMl8xUSpAWkdvKDdf Qn1ySXw/eT95Zj5WSz4xS3Z2NipoMVVZeG1nIyM4SChodDw7aEl+N2hGYGF1Cit6VUdZMEFEUDgl cj9gUXl3bD1gano7bXo4WSl9PjE9JSoxbHZSZDZ+fHF2Z2F6RmZhX1YrYGooJmgrRT0kOWtVelUK K3pHM3RfZlFQbW1xdjlqREZ0YG1OUU5JJE9WN3hGP1dVUjhFUFhEViNxTHBXcCYtSlI3ZyZwZW10 bjZUWG9UP3BHVgorelMwdTkyeGt9JCE5NWYhWGQ5QDlBd1gpP3RPRnhKPGl9NF8yU0lxK0NZTjMj PmY8U1BnUDE7QkZlMSMrXjVWM0k8Cit6eVhBNDlrV3hwNXgxVmVVbXo7OTNWVVIrU1k8dFkkJnR9 ZUBobXJDbG1sV3N0aDBwP2dldUo8KHY2aWNuMmxjQnQKK3pBcl5MJCR9VyN0NFYzfnU4WFIwY2tl Y0dlNDlmak5iPCZwUXhqRDI9I2NoWUltNn5Na3JlPl5ucCgzOTAwZWpFJgorejs3cUtIPXk7TFNO Xjx2RGkrWVVKdT4jYlVSNkJDZXA2QCE+UV53V0otVzFlJDVtZl5tK2J8VHJhTnlQRzR1MCMtCit6 PjJYa2BQbENvVHUhenI5b25eKXxrRmpoX1E7czZMYlojd0tZMDlwRW5Ca19zdHJ2a09HKztGbTkj dTs1VUdnbkgKK3pxVFJHQEkqNXtYKVJfdXM9SVZfMCgwSVpzPXFKRFEpd144ZWckc3h9KkxaKG9a MCFte1hzRVU2JXtmKGEtUmBIbworem1Cem50YWRYfCRtSmJqMXc+fmk9UkE1dHNeNXk/SkZDTTh5 SHQ1SmxURmxwazNob2xxQmZJfCQoZm9VWnpUV1JJCit6Mmd9RjQoYnN3MiNhUjMtTlpqNFhxaTxQ ZGBhK2xERy0xakZBMyZ9MDgqNDwkRyVVaER1eHEtbFJ0SWIzYlZ6fVQKK3o3V21pJW17I0VIMnFR YjBrQ25GZGt0OUBBeEc7MHhqKkJSM2dQcWc3dW14cW5yKF9RQUw7Tm5GPChfdW4lRzRWQgorelkq Iz09ekh6dT9sbFc5Pj98KilBV3pje31aKzF5bnhte0crNmEqSWNkO0JYKypEJE1GSkdwdmlhOTdl M1VCOVBuCit6NTxmS1M5K0FEUipEJE1ee2B4eEpwQlVlIW52TTl9TyVgMGUte181KHpxSntJQ2V5 ck13T0ZAS3BPMjVqLXRUVUUKK3pOcFpVc1I2UFV7b1J5SjNJPHhZPlVubE48K2I1c09gPFY4O0Uh eVVPe2stWk9KP18jIW1nQFB1Z1cmKCV6ZWV1WAorent4cXJvbT9RUl9gRFdYXmpfIVd7I0xBT0I8 P0BweCk9NDJYM052MkRBYml0WFhkNUZ3ODljVVFGPVglZGN6aj5LCit6U01ybmhKejJQP0tLQVAj VTlzQWlzeTBHYTloSCNKaGlPQlIrQWFzQEtuK3JmVERzOzZQNUs+Uj9ZQ0dJYCooS1oKK3pOMDFl dXRKTihoP05zfHoqO0Rxc05hN1p0am5yNjRUJEg2azRye0gkbGsmN1heV1k8ZXQtN3ZBQUwoIV9v SU1tMgoreitsSzA5PWZPS0t7dGVNajxOYCZaOHFlVm9ofXVgX3hwNHxWak1USXg9RV4tVmB7a0dq KGFgQjloMUt2JE1jM3h+Cit6aU1sXyQ5JWlUaWVMVDIwanpzPnJlbUl6fG8kMipfQ3Z3dC1ZQlA/ clh4aDdNLTkyY1l0YkRBKnIpeH5TeD9Zfl8KK3peXiZpKDk4bXQlYWErZ0BAUlhUMXRSbX5iYnsm ZVF6NTR8PzJAZ3pyJD5lUj45Nk1wIWJuZS0yYiRTPWxxa3g7agorejtobylDbzE/YkFlYm57UlJ0 QGVaNDd7WiEqST1VRyRYTSoqV1RiJXJIQHMxbGpLRkZGKFZsYjdWdGNIWXd2UWh2Cit6OSFuaUlh KD53PnpofUZAZjc7eXplUUU/fWdfJnl9NjtxJmE4QHg0bmxEaklAO0okbCM7YGF2TkVmfTBMKjZS XkoKK3o5fFV2fihUT0t9VGtqQzFPUUQ+dnVXUCR9Xm49bTxHOSQzYUQpOzJVO2hHKl95a2gqXzVm OTZySE92Klg8RUNwbAorenk/RC1LcmBPe3RKLSN8a3NCVzhqbyVKUGJ8MTlSbU4mRX10cUkxTEgh UTN5QilTMmtOTWV5NE43cVBWVzwxQzFOCit6WkNqbWVXeHNVMTwrOGpZTVdIPCNNRTkjcnBWd2wk PTBNSm1rO1lBNGFMaURXTXlaV1ZVKEl3X3pfJUtSLTJHZzkKK3ppbDxvKmZ2e1Z5ezAhNiF0KEhB a3R2Z0R4UT56UDUjTyglPCVBLTN0dD1wYSRnYVFQakdtSTxZZn1US2tNaEE3RgoremVHciVsM2s2 M3slV1FPOFBHM1BgdChUPko2Uz10OHZ+PVZVTik3JihFdHo5MnNrMXFUPnYxKFkjPGxPSkNuYFc9 Cit6RWxxVjZPYU5KJEVlPXwoWGZjWHBlO241T3shZDlUND09Jk1NaypmMWBkelRSezJnIVYrWEYl YFV9TFYyU087LVgKK3p3cT5+cHdJJipEJERte2dLX1BTLXB2QjktWkp+Pl9IPWkkKlM/TmcjZU8+ OU0+NXc3ZXIrIWF6ITBTPXpUZVAwNgorek1eaTllIWJLWDArO3c+cjxwQl5acEQtTG50LU16eDR6 bmdCYjV9SENLXkV8SzU3SFl9X25kWlVqVjIqa249JVh7Cit6M2k1WDB4O1h1PSQheXZldGNVdX1S P0tnRzl4UH1xIW9nNTVPYDwydSRHNWhJKTE0UW1kOG8jXnlGUXtFKlA/ZUwKK3pPSVB2eyNsXkF8 dWdfdG9EdjA1VWZ0QkhXXm42PmJ5R0t8PGpoSCo4MXV5JS1hZS02akk1fTVTbSpLUGJmaEY/bwor eigoaTRjeykxdkJpTUd1b1U/QH01XmomNzRkbF87ST5DbT9MP3g7Vz1KZGspaHp7MkhiYUQkTjNK REpIME94PXRJCit6OSsrRXRKNShROGMmalI+dnYzKDNZRTBhU3M3YDlNcnU5QW13Rj19TzM+Oyt9 OzJ3VyNEIVAmWUdge01jJnYodW0KK3pLQz5vd3hIYU1GbjBSfSFUS1hNJUd4dFF9S2FOZnxtOWxA OXNgMTJGUjhjM3wpezB8WT1yNC0lSVpIZD5YRmtLZQoremAzOGNZJlNFezNrJmxBY2F+alckMmZK SCZFcUZVI3ErNj19P2hsYXlFcj1uZipST2hFSHBNY0F8S1h4TVV3LUAwCit6TlI7ayFPR0pSKlk1 NXN+bTNpeHR5Y0FpRyElTzg2PGE2dXgjZDc2c0g+Vz98QjdITTtNKVBlLW5Obk5aejlsM2UKK3pq Q3hVWV5LPj9IT2p9UlRjbT9FJko3UXpSS2YhSk9SWm9ycjtueyQwUE5zQVhlXmJ7RSNsYDNVYEZN a3xTMnxZbgoremhGMWcte1FtUnNKJFBQM1lHdTZseG8+TjJwSkNfej0lJCs8cEBRQ2o3eihNdXhi O0hWIUFKQm9aPTZrMTxHTG9ACit6b1hJVHp7aEUpSC1JT0tWNGdMR3hwP0pzZlNsZG5+PkspTE4j JmxWfi1qNTIrY1lPKWQhTmpZdDshQyUyaVN5fmkKK3pPQ1FgPmx7Q0lmNmI5KDsydiVLV2gpblgh PlhfJDwlNm5aKkpqMSRabXxnezhqT2dyKD8+SmIrU3BwaGheKk9rRQorenIhX3AzJFBKVW8qTCZk MCFUKWB+K25RLUZaT3FOSkJ0WVRiNE4jRzV5cDZYZU0jMVU+OXVCc052Sj19VTMlMkpZCit6KFEh SThmcHJtJDR9e0U4VjZscmBVNnRFSXRJXzxVZ1l3X0R4YHo/ezM2dmstNXR2Tj4mTTZiMXZlQih+ I0ZFMmsKK3pOcWU9T1h8ZnlFSzF8SUFYeCY/ZlVYQWxycVUkfSkmMEVoZF9GfSp2XlN1azwoZnEl aSFuWTdRdmwxKXd8Sz9iOworemN8WHEyWEpnTlpKMElZXjxoUG97cHgjX0t1blp5QDBUTkdjIWtV UD9JM0gkWHglfCZAWntVKXBkX1J1enB6QSQ7Cit6M0QhQUQ4Qj1sXyh+WkdSKkF3TVNnP3pyfFdL X0whWi1nODd2MSpXTmMpSSZ6aGd7MktfOFM4MU9GSmY3LVhRQ3YKK3o9fCNZT0xSVEVUODJqbUk2 UChZNUA9bkNuNiZ6eCp1NSlVamVGdXVjVno9VWtCfT5NWWZuKSFFVV43ZX47KFUqMgorelpsdmta SUdqWGFWZCo7OGVXUDdteUwmfDkpWGFYS2tERVR2e3dQOXZLYk13MW5QK154O20td2VzaCFrWSZj bWBzCit6a081Z2hxTT5GTE0qdUpEdTVsYWNnezNUZTdsd1pQI1J5WEdhKXN+T2NteEFAPyhOVUMt aTUlN0ByS3xnKnU4dmoKK3pqUWpsayZ0aGZRemlRPD5iWSljIURnYn5tOXs+UlNmM1JScTI5QjJo VGRadlF8QklFPys/TXw/XnBAUmtZQkgkMAorejBffHxRVE9ZP3RuQC02XypjUiZtR0VzWDJqMEZp Q2pWTWFSPEc3UyVnNGZwRiN8LXBocXQzfFpQIVNeMm5KbXVSCit6UkkkU087WkFHdzxyPlA1aTg1 eTsqTiY+e2k8WS15UipVckIjVFRGUW1FOyFIWiV7UiF2PHtaJWprMUEwcTsxd30KK3ptMlRHSGk7 UEhhQzJUaCVXb3gqS3otK2MmakRBQSYlJER7M2xrWSN0byEqTnNiP2FDNnBUUzxDTzBPb3s/WH16 WAorendwQ1Y+YCRHbGgrajNmYjlxM2BUP3BJcnhyKFlfJUhfbiNQeVUja0Z0RzY9U3ZNUT89OD4p VXMxK356Tm5xQX5MCit6RG1EbFhLUFNHdzleVXpUdjNeT309QTkrd1JsdHdwP1J2X3gtbGtUcjIy X0BPdHUwWSMpWWdnSj07LXBiJVVYUzwKK3pSa0ZueSVic25XN1NuaE5gSnR7LXp5O3BVJTlUPjl1 TlEpOS1HOX50UlZJJlRXdng+dEM0S0g2Rk5ZJjxeP1k3MAorelZ7ZXpWXl5LNExybCo4UGpLNz0p JSF0VkVlb3gyTjglPFh4Y3J1KUsmcnYwU0FLPXc+VH55OFViQS1yfUdhYWZzCit6OF9GTCtFfGl7 Y28rRFJSQ3RNKSNOWEQ/N2VmX2ZnRX45VSMwVUUmJnMldUtARjJLfG1TP2o5JmpoKHB2XjxyQzkK K3p2PSpgYU9EfTxyZ3VFbGVqPmEpTkRsITZyT0o3UXxINEpJPGlmWWNWWl5EY150bz1zZD9GeWAy Pj5pezBmTikldQoremoyfTkralhRMkxoSytYRGtaZU9aN0xZcVo8IXE/RE8+dSR2ZHdwS05vNEdL SVRSUStxJj5+Z3pSMGE0dClzTTg0Cit6dUZ0e1JKKGk9WkgocUp8U1RjSmltWXV+QXs0blpEdDBy eWckRXdRTmxzdXcqREAhOytZQDJ0fElVbCVxN0Y1ZGoKK3ozbSZiSWF6Szs3QlF2e3NWJGA2aVB2 fWA4WShZND5GVFpwKSNjbDZaZiVnYmwyRmF0WkwoWUpmeXRQKXc/VEkyfgorenJ1MU95WSs8KVZ7 MnlvSXNXXzI8aHA+SmwqfWokbj5FZHhJR29EY3MhcDVwcU97KTdMJTNEOUpIVGJDKns8LVJ9Cit6 I2AjWWI9aUNDVmZjMGxtIzh5d0dHLXY+KF4/cmRqR05xazAoX3hTbkgxczJQX0JAejN7ZkBKPzJr ZTE1XjJeWDwKK3otMWpJWGx8Vns9NjRRZmpVOERraCowQUVsPih1ZyRIY00mJm8+fGpqLUxNM2F6 JCMjfEw9LTZOOUxpRUpPRFk3aQorentyNz5qIX5lflRRZ3s8TGZaUUdfZVJNUUl5RG58dlYmd3kj SlZBKmJPSTZWKmJZbHhaMVZBRjNqaDlxYWZNU2VSCit6WGFfIXB6T3E1KmY7WUpjTVM7b2ohUFVl fChkbStWQyh4MERXKyNlSj1rMH5ZJlMmUVk7IzU0TjtwQXkxaV43NSMKK3ordlRIQ2hXYCVDV05z I0k1KjQ1SUdTX3dAVlJRPmZme1N5aSVAIUU/Qjk4Pkpre0FPWHUwMzFSbEhtaSt0V280TAorenRY YCZXVyRAfEVXIVE9eSNPfEVyZnk4eChxYlNIbGtiby00OCt7UXFYdFk9azg7S0dHVjEjNCRAam4m RU0rR2tqCit6OyE9SXlUXiQtRjF2MTxeclJIeE8tRFduLTlCZTAhQmthenZvXjM5TG4jeW0pO2Bl O0xNU319JFgyc2x9eWFBbkUKK3olR3ZJUDBhKGJgOV5qdDFuaWk9OSUwI3JaYjBlK2lPdWg0Wk9W PzhHalJUMmtgPndBUil1NiRvUzc1YDB1Xn5XQAorenJDV2ZDU3ByTD1VNiRET1V+UyN5RU8hZSVy aSN4c3NBMWJsOFhgOyFMcjJifkhkWWRrSkFrPUZ2PmNWZTwlUUBvCit6MDVXJWlnR2ZDKzMtbTNH YDJfK0lvVj87ZXRtQzQoc2pnfFlLbmN9KklTN0hVdDs5Z1FVREZgV1JsbDdRZE83JiYKK3phSWN8 UlBzezE8O2ZxPTYyY2whPWxmX2QlUXBmXzdgV291PmA4WUlDZDtpNS1IR3ZsLVVIZF4mSH0wfEJF Y3F0Ngorem5makVkWVQyLW4yZlopJTBIKlFobWByRiRQJEwqWDhuZyVtZ3NGcTJLXmNrQHQ/QEIp dCV2Q3s9WWwhKFROUV5gCit6amptWlE9QE8zKDJNVzFDZD4kIUs1YDxhbTxfdmZnezhJQGRNbEZp JGY1fHtFSyhFOWU+UXpTNSMlczFJOypIMl8KK3pARkNoTmRqRHdRMVBNcnA8S1pydXBEJGJVOD5g IzhfajFEa2BjRE1eMTRiRFFmRilxMSZNcWJOIS1GUStyREpaTgorejd9Ny18K3tRakBRJVotUVJ1 c2koOW9aNXA2WHJmdDFUNTN3NSpnMk5ycDlnQGBOenxmVUJ3anU/K1RAYUI3MSV+Cit6QGVqflVh OFdnI2YxaFR4fDR0bjJuJE5Kb1Rmc1diNjFSa0BnY3dlb0dQaFohVUxzKH5PbzBMMzVnbSZwT31f RSEKK3ptMUdWcTx0SFppKTNDTlRyeEImX1NKTFpWYm5ZWW1JTit7ZD0lWGhoSGJFbDxLKTUmblc1 bWA3SnFSMzhqeGNsSgorelN2QW4oLW1YcVg+Slp7c2dBMnh2M01yUSsmYGtsdy1LSCF3V19IPkZR TGpYcVNHbiNuTGFPa1FQeH1oJSpjNTNSCit6QWNSOzw1dkNeVUY7PXBFeUdaakcqPHxzQ3pvODlP JSZEUXdqP2g3NWQzYXNgX09qZW0lX3o5QHRmKWY1dF9ZaXwKK3pwYjczbUU5bnRfR2dqdHk0fG1N KUotU14jUVdZfEpEdkNPQVBuenJEREZsTGtvO15IQlhCVjsrdENYRSU4VHE+ZworejdyelI+cExQ RzExa05DZ1JVWnJtbGpGO3JkektscmJvLSpvVCRYa0ZmTUswN2dWOypVe2YlQmVIISN3eih7Pl9o Cit6I2lhT2lAcFlDUHM5UFRgVmljdHFFfiVoSkpSLVFhJGJyOCUqPFJzRm9oLTdFY3Y4Xk1iZjhj Yz1ecF9AMVdjZnEKK3ppU25kNFpyP352SG97JERaVUApPUpYISNwSzFwN24/d358SDl0dHk1OXZ6 MGwoPFg5cStITj58e0lYalElTHFgdQorelAqISRZRUlWa2FDbDEyU2sxJiQ5ZCN6SEs7bk44ZWsp MGhmSChINk02QjJ0M1d3fGxCIUAmfExWQyNmbl9xaDZUCit6bDZ6RTdRJVBAfFRmTippMUM0KGc9 N0pNP1hxc3ktRlNQekpXbHNoNHF1VTdLJEE9JXxsak5XR1ZkPHFMLWsybDQKK3p5O0dWRzBpenZM PipGdzs0WT0rdFJzT3RIPHV2VTtkPkFxdm4+UW5ySTllSDAyQG1BJEl+VEw8RllpKFZWRnNKcgor ejhTfUwqKGUhQyY4ZzUxdygtQXtxUDYqKX5zPDFudnZvZC1zV1FCP3QwakBnVVdaaGxJXkRgQyQh Xkolent3WHY4Cit6cVh8fF5HJV4xXlhvanUqdSVTVipfQUgjTjJlJEYmZi1VZjBpVnkrYWghTVRR UXJvLUNIUz9BWXJJPih0OUFiflMKK3o0dnFYKWt8S1hjaTEheUcoITQ3KTt2UVd7SXBIUmhQbjs/ YWt2Mj9HUiQpUGlOdT1FdHpvOH1qT2g8VDVFRTNKIworeiUjMnwyMUhQSjJaaiR5PlRmV2NIaWEm V3whK0pVbSZuN3JLdjlfZUc7dHBeUEg7ckBNdCFMOXlyej5nWEBHKjlgCit6YV99NklnU2o2WTYt UX52JCR9LUkwfXV9YCNaVkExey1iN31iTSprRzFyMyE2Mlp0O0hBcUtaSz9zLVVtbzduc1MKK3pj SXlzVylqYyZKVHVAWXQlZzVhcSNoVDxEblIqSSR1aiRpaTUrPXNpOXF0N0x2aFhuXjNnclZBQlps VF42bEV7KgorejJDU1VkRUdtQVF2aSs5TTViJk1TUzRRdlBvMXZLZVUlbygob3REYn1NR1MpQD1X OEFaSUUoejhzcil6UDdLeSZKCit6YH4hUk4kS2I3Pm91VXNSQWJBdCFCKSYhY19vOz4hNnZWS1E9 Y3xpM0BEJkJ3eXk3am5aX1V+eXRZcFFUdU5pWH4KK3pNIzZHc29TbW07ISQ3Sjl0MC0/JDlMWWA1 Q2E1KCVFdiRTUW1pWihWeyg9cntFT09jcG9yMjhQVnVkQjk1bytWWQorekFlaHc4XnNYQ3RgQ3dA V0s2SCspVFVKLW5reUhhWGpIRyReXkVNcG9SMiNJdUR8MU1+ZzVLK3YweHRBa3A2a311Cit6TDg2 TWtwJmBsOEB4dV5aej1UeT1qeStDdDBWIVplYlpjN3QoWUJgeUd9TSVXWWR+dUJPQ0VfcTwldjR6 cSEyMiYKK3ozU3tCKGpHRjZwP340QSo/JVRoNGNFeFZwWmdfWmY1MXZ7e0pye3EjTDdhYGVKPndF UkVDbn1FPXdhaiNgckhDMgorejlXI1J5NiQmKiVKaXZISEFLeUhRTTxAdyVjOH5qYTtIUjZ1ejYk MEsmVkNCIz45N0lkS3ArQTNXRn5laz52enRxCit6aUlgWk9Pek94MG9BY01xeHFLa0wzcjJCK1VT e0E+dksoSUhxJT1BNGxfdms4dmVMMiRPQmM5bFRjV0A1bzNveiYKK3pIZzVeO2U4NDMxJCkyR28h bCFKa0Z9a3ZqSFdOUytacCpPO3Y+K2J8P3NMWmxeb19lJWx3d09pbF48KkdZbmt5Ygorej80Wj4/ R1gkNjxJVHdJNXA4bWhZPCZ1Q1gjVlBNTGsjTm89Pzt7fl5qIT0/SXBHKzBvUWllKU5PSjJWdTQ1 WDZ+Cit6U2dQe29BV3RLaXp3LWRNRU5Rfj5YXmpgZGJHakxER3RRPl9VTFR5NmB1PDxyREJBS08o ZGlaZz97ST9AQj05RXEKK3p3NUN4YWtoP3p8UVooYHNGRHg5Y2BrJj5yT2V6aUlPTGk8VGdeaHlN PEtNfGZ4QHtyY3hzJiMlKkBUZWpMNnt9aQorejRXPiN6NXMoVTtANjVXNE1AYWdlXm1CSEYqMVlC R01jeH5eUExhdjxSY0FvKEl6TnxPdHoxWG53SEtpJElvS19WCit6V3A5djI0I3FgUiFWQSZYMz1H SyYzPEViKyN8VkpoTF8tYDR5N2p1Y3MjZ0tVYDtwSGhzfkV5fjFtNzdBVGBYc00KK3peQWNOYGh4 ejh2d2NKUnBkek1PSlppc2J1RktxJjwqRn1BZjx0ZnJme1NOTmdPJW4rNEcmNkFgKXFVKVZyV1Np VQoremxWOXooWm5UY2kpWChhTFI0cVBjUWt2Z2o0dXhWZUgrYUdlM3p7IUQkfW1FR1pzYE1TTlFQ NlZ7NV5gT1ZWYkM7Cit6ZnRFVjQ8Jn1mdWxzPHFQM3NiPGFyKDJXO3I2MmB2ak9RWUkrZER7JV4l LSpVWWNYM1RPfk1LZS1IWHt3JnYhcncKK3pqbz56WkxyOWg5ZCRAN3NUWlN8JEhmJHglZk5qJnUo dGdIeHRWWUZha28jaE1KeVpiTStsYWslc1goelh4aEdPLQorens7UnRXVEphcXpGeHBDTEIobjRD bGdEOXooSjlpVTRZVHpPKUFobkVJN0lzJDB5RW1zcEMoPTBpcnZ8TnFxSnlSCit6PWFhM1M8YTN4 WEBKaWAyVWxNWk4wUHZ1XzVUayQ+ekVyQGB7RmNDQUJxb0xZQXNofm90ZzJeJm0mM2wmbHJ1bk0K K3pTPiMwOWA3JnVeX2hQaVo3MSpwfShtUEBiKGZ2djQ1aCFxUTg9M3hUQz9GdD9wfn1UZ0VLKSlv b25FfElsemp6QgorekQja25taEFnbCpYRTdyamJ4Q0wxVEF+XkNZJmEyYXF8dzY+KF85SzAhPW4r UWNtV3VsVUcmQjBXS2tody15Q20kCit6c1NjO2w4blRKV2xnKDxoOHJ4cTBiWkIwaUpzQSRjY2x+ c0d1bHE7QXFGanhaTG5ze0Nwbm5rSW9sUiY4PnRsYGAKK3oqZnchWjBTdFAkN2RubXxBfmJoMSMl TCY0NUQxNntOIUFPTjNEbDY2bHNTJVhXZG1oVk9DbCRMakRwNk5XalNgRworej0+aHN9KDVLSGlr Um9VWkwyKzVjKVQqdSE+R3dfbXhAZzBze3ViQWNoNH1FbFNjezA2dnRxTGBlalNVNndIR1c7Cit6 PWNmYj5qVSt8VXMlRiNAXzAkQ1BKd3I2fm4/cGhsVmhyeGIzSyRGaGRDb3ZVcDdCQipAZHRvZnBn QDJhKVBEZEIKK3pqUE19UT1WMXZkMk48NGU1Jmk/NV89O15BdkFENXRMK3gjcEVUcWI0MVMpNUA+ bCRCZkNQXkA2Zn1yT0U1P3psMQoremY7Zj9ZWTQ5ZE8+bFI0cyhPfENKdzFUWXdnMSR0TXBJdXdC ZVdxUHpLNUM1YXVXJHNKVTJjam1Fbil6MDYwPXp3Cit6JTc3SkBrbEZifEtAPC1WWXQ2O3c9UG5H cyZjP1I8YzVyb0BnLVBGY1NqYENSUFFodmJLUXBgamZRfWVqPTFwbG8KK3pPZysmbTBDdXROVU10 QH41XmVHfGdCalo8Y2BrMyZicGk9KUJvfTNZV3pkSmZFV1pXfGM3d1dGWkU+fC1GV3pyeAorenJZ cUJAS29IRFZNOH41cntTOTEwb1ZyNkU+ZHlLZ1Zaa1B4ZDM3fWM9IXZsMlczOCZjTV5KQ0hvZD1z SWxVJlozCit6Ry1QJSElezNpdCsjfiVEbChMKktXYnRlYzk0Kz96bUMrUFBaVSFXVTtjOEl0RFRQ fWVKe1dGTUEtTjhucVBRUX4KK3o1NXNqSWAwKn16I1dnVThJOFRtKnRhQn5+bFoqKkU0K0lmZkJm R2VIIUNAOF9Wd1gxQ28xZmpmI2FUQz05ZHZlNgorenB4dkA9eEI8RjA+NFpQU0M2VD5gNFFHTDN5 ZCl2dXZFVnx2ZFlfSnh1N3FnOFF8IVE2M3QzMmgmKlRuOHRwaUN3Cit6WCp3IWhJQUlDSG99cE5Q IXlmdGlyYnlNRitjcHVjKztFcyZRXnNQUGpHUUc4bVc4eW4qams1NU9MZCMxUVI+RkkKK3pvS3x1 JURCZjwkT0BpNUEwVHRkPUkqMV9kZztFX1I5djkqXnxNPGt6XlI+RX5jRlRxNlQpPX4ocDM+NGpB cj1WQgorel5MY3BjQmNld0oyPEd9JEsoczhtODx6WUZrVX1ZeUFhKCVfd3ptJEZwcWAwI1lJWD9x YkhTQEdzK28hUXBuNis2Cit6NHhGKUheZFlLUTdEdTR8QmQ7ZTBvSVRIUlFLdnIheSVxWUBqUSF3 NW4pcjBwVXZ8M1oqXnglWmYxZTgmUUpyNE0KK3ppKj5MfklBU187TlR+MmpOeUJrbzQqKkpFUCVH bGFLT1k2YGFZfi15WWhOcnE2JnwwZj0zXkF8U0RBbFF1QWV0cgoreiUpT05+PWJHSmFvOUFQSFdk bj90b3kyI15DSiFMZzBlQDtvUmIyZ3JIKyNORzh0fWVsRDtlUmx6KnFBSnpqP3RQCit6Mk0ydDw5 eWM5RjdYQElfZERER31zdUFUWCNEOGBgYDZOYigwTH4pfmhmV1lBXlhlSzdMKDFrYEA7JjVgeU5h WWIKK3pEcEU+eE5eUjgxaWFUQlc8d15vUEBtJUNMOGohWExIfDheNzJOdGlNMkBYJUhrPTVmUEpt Snw5aiozLWZoMlN2TQorekYlPkNNXmJ1b0tLeVJBeXF9aWh0d3BTeUwzLVVDVkBCXzt4MiFUblAo bUNaOGhjZG98UE1qY3UlZmY7aF89di1PCit6WnVrVSpMfWF5OEd1RDd1ezx2OTszZDxlSXk4WWN9 QDIpIzFCb1daKlYkNDNNQ3N9aGs5Ozd1KWlyZj87Q2BVM3wKK3o0OCU1fFFRQVNjM3ExVHYqKjx5 dShFVTF8aGN+JDU+bDclfkh6ejNhX2EyaS1mWVBmOVYqYXEkITYzQmA1MVEzPAorektQUW5oJDU8 I31Idkh4c254NmJfI2FBdj5mO1FgQ1AoQXM7em4+eEhqcENIYTl5aSh2Q1ohIVJ5MW1uJE19QHJi Cit6KVRiX25EfWcrfDcrY3xXSDZmVWg8VyZnPS1vbiZubiFLY0kxJEItdF5Yc3lIJihxdDdneVVi ejI2OWx3Mm5ANWEKK3p8QzBRJUZPdTE/Kn0tcTNpJThjfGZrQ3A9cFNPPSRYXjc/U3grSldXRGVH P0Vja2dwNHl6YipwP0cxfTgzSz5XNworek9UP2ZYTEI+IzU5Rkx4OCt0LTwze2hRX1o2cys+NWxO YTQhQm5STklifW02TkpBNWhUaXdLPl4zPUxfUzBaN2FvCit6eHhqfjEyeHxpMjRgYEl5QURmamAl RFgzNT0lJT9gV1RlSjdrZVlRcl40QH5KIzdPKl9wREgtRGRwOWFjTWw8TDIKK3pkfE1kZWYqdU8w ZFgpYCUwaUN8QnphbisjM1ZmYlBvNGp1T1ImJkdAP0JRVXRrYk5NPWlAYW9YVn5AVSEwNmNDSQor emdMNjV9UnFEUGF6TFQ4MWJmQD9PMjw2Zi1GK15JRnIxbGVVPDVxdWxeMWxYVW0jRlh3KSpuTHtG bWpEezx9VHwkCit6JnZvVnc5KENOPD4hPyE+Wk8wNGohWjI9T2E7enBnLU16JFNXXnNhJE1OOEAh MDMqP316IU92UCZJP25RXytTY0QKK3pWWUlSZ3JuPTxoN2dVZ1RpWWBlbyh7bm57d2xFIUR5QDw5 Nk0ySFBQenV0NF5wYmJ+OCtuSDNlVzlgZyR7IzF3KgorekE+XyQxWns3LWEkbDQ9NGg0ZV5uLTUt QmdSZk9pXyY5Kz0hRHdta0ohRjtPKkowVilPSl5eIWQtPytnZ2ptJFl5Cit6KyZhfF5fTCY9UEtK NVc8TWVLMFE2dnA5T0hyR3NGWHd2bXFrdXZsMTVESHlteDJyN3RebEEyfG5NOSFlREFjQkAKK3o2 Z04jMlkwQzktSkBIRmAyK3tlWWVDdStOeFkzX0xRKU9pZT43OUVqT31UO2pNSkMhMTJyamFFRUo1 dWBVNWRWXgoremwyfWlNZ1dOVjdmT01TUHo/SChYPFJNdjF0PEsqKXdufngmSlAxKmtUO0FBRUgy IT0rY1BkP3EoI3V+WFN4cyZCCit6JSFwbWZPPjApVXdDSy0/NGNmVHBvTyZlYDAxOHVmXih7cz1f NW5tX3tAKEJQOWRCPnIxM0d3TSh3SSkkTGNDbSkKK3p2fH08dCtPb0FwQGR1KjtLKDFRR1ZJcGF1 PmBxdjVlVDFLdWZNXjBtPFo+alNNOSgtVTYkWHEwS3pjTzNFdGFXbworei1jbkUhK3tgenIybFpw U1MtPyhySjIydU13T3BeUlZOKytZeThkSj45aTlTZE9LV0piQ2hxRD5xO1F4Rll0YmJ0Cit6bDRD PlNzSUdxSVZJfE9XIUN6aTlyZnx6LVQqSnE8bWFna3REVUxALUhINGVRVHFtc1lzMTx6dUE4S1Im S04obkkKK3pEYmdWN0FHSStNMXBvbDxLUWdlaGxleUxaNUY2WTdlLSplYC1QKUc4NzRmRz11WVdf TD5BeHNAMk93UmRDMCg+Xworem80YWs+d3MpSm1aUUhoTytxUH0md3IkJmZlZGYtXjtKbGduQmtH VDtzRUNacjY8S1F+enZMV1UqUDR+MWpUfXlTCit6KFZwMzg4LTJ3PjI/PERFITxERnt1b3RxWWZm bzRvJFJUKUVlZ1lMYXIlUUdvK25yPlo9NE0oTFVoTntVZl8lVmUKK3opUFFjUHNlO34yPXdofil2 Uj5qPFpoa01rYmdyMGVlbUQxZXJudFp2R2srTXpgP1BHe1JrVX1mRWB1QSMrUSQ3RQoremNLdGR1 KTs9dUl1cXhNTHFmJXF6PEwlPWBSejB9Tm1LTnVzQCQhKmpYO1VGdTV8YzVVaF9gbnk8JWZSMiky YTIrCit6dXYoY1BnLV43Y3UyTDFUeEBTKiV2K087IUpYZGlDWm96N3ZGQCUwZyFWfXdsbWkqeSpl PlJfQ15sZmpqc1UyTD0KK3pTTkNBZmtkWU4oUUZTUmA+eCEtP2hSIVE0dFVUS3VtTXJ8VkJqVCRw bFQ/Wnw2NFJLSlJFdiNSKno9cVpFNkdnYAorelkyaHVWRzRLdDNpfm9tTDVnUTw1enJ1ZCRLb2Ve OVY+ODVPPExsQkdsXyM/JEVeOFMzdnohdH50RTUtfDtzOWhJCit6Yz9Wdl92Z3daJDRUaVNQTTc7 Zk53KH4yRGwlR2NrJGxuaSZ0RXI9TD9pRyk4SSU4aVVaWVUjUikpPkZQRE9HcjUKK3pgT3wxUWNz OyNmUHZaeiRWNDcwNTVIPFN0KztpUkdBO1hoeiZleUF9PkwxPz5fN0YzbmBKdllsZnxXNy12RzZl MworenB2QFA5RXhNU1AxWU5kYFIqakRSO0tOSkQkZVBpRGBfa05UPCZKOSM4fXFsNDZRQXd6ZCQk VVBGPllxcXpgRk9aCit6eyN9TV8oP2dxPUYpYjszVTdjanw0dVd5aj9kbGZGO3BhVSkwZXc4Nktt OEtWV1hrPXdOeV5TRWFSc2NeY2ZTRmwKK3ozPXZJdG5Cb1dJWm80Kj0kRDU/fjgrTXtvY24raCg5 WmBGJTY1fSp0dj4hZTZzKTMhektGdGY1Rio1KW08S0t+JAoremR9ZkhGYyE5ZTR0IXJRKWFiUkZA ZjZIUDZGaHhSOFY5OH5PP3o/U2FZMz1NJlltN1BRUz57Z2tyRjNON0BsPTN9Cit6WVFFMjY9R0xI U0tLZCV2Ulk2enptaSttU2tVV1dDKXxjX3JTayZZcUtSX0UpWjNZeDdLckV4SFIwSyheWGphLU8K K3pDPS09X2w0JnlfTWFnRHtLXkl5QG4rPCMlVnpqMFpXSmhhcmc/K2xKaXM2OWVJKX02b2ZsfGlE KDJXe0ZRYUpWeQoreml1U2ZqRUk2Wis/JTJubmRXI0pVNVghYGpZYGZkfWghWmZkNVZeJHk3Mnhx dChNe05oWG5hITg7X0VCWU9lc0FGCit6Rk8xbXglUUMxVTc2T1pELXU4RFZtbDQ9NllHVCg+azdG Nzl1JmdCb1I1cHZUJGVMMnVlYTlXa1BHSTZMZC1YVFUKK3pER1dFenV9aWF0dzNNYWJUSnUoLURq MjchPGhibUlSPXJLd1dmXk1kMXJ9N15sMXdpNEZ9MEAoPiRqbiY7JlBwLQoreiVgNmZ6YUY/c1NC dXJKMjVBQHImdGUwJE9Zc2IzQF4hR0AqV1JwQXpgVzZ6MGVKKFUxPlc4b0xOdHp7RGJlUm17Cit6 dj95aVBPTS1tJjZ2NXxVezZ5KVVIX21vSDxSeDVnR0IwaGQqZnxUQE8rUyFHd3h2KGspN0NSX3V2 T2AtMCo8KVMKK3oocXVyYWs/RCNIYC1TKnVsaHVtUGkhVEJsZW8/RmR8Q1ooJnZkN0dSS2JXRnRL a310UCFeIypxKSl7ZEhYMTlRMgoremNyeG44XlV8OzFENDd6LUt9ZnU9Mi1FQDNDa2k4YHhYUlBu PXVZZk1DIzI3eWM9QjkjezZlRjc2cSozRT01akpkCit6VHBWaClpTlQ+QSp2dnBwPjxWZDE9ZnNC YTNLYXNIOHE8aSl1NmYtMj90bkEjc0VOYCptQ0tucHtZd0NhXnZOeVgKK3o5ZjM3TllafUh4RSkw eV5NM0NZVCEyVURYeEQ2Yj9FdlpSJW1oaF51MlgmPW03Kj9sO0kofkFteGJvZFFHaXlPUgoreldi V2xxVz9rVmxNOSMtM3FZOUpyP1hRR0xYYDRIRmdjJTUqV35rVzxlUHpodFc1NE9yIzV7fGt0Z0lE Uy1fbWJjCit6K209STtoeV5RWlQkPHpIS2RUa25GeCFDVkVOTnN6NnMxdCZeUSFIQzxMRXZDNSpJ Pnc9WXQxdyNHdVp0dm56fUUKK3p5S1l+VXU/JU5XcDBlOXltVyt9SjJqWCY0ajUxKjxvMk96Slo/ LV5XQnpVNVc5YWlSfi1hcVVKX3MkNmNfe29yVworemJWVldvaz8kN2w8LXgoaVcqKkZpMSZ2UnZR RTAmY3lHKUYka2BJU1ZGLTVVbD81KmlseGBwTT0zKXN3YXc3ckM4Cit6X1c3KlN4WlJgbXhyZEl2 PTUpV2BDcHVVNVJVfFB8UjtwbVctNTY3N2NlZTcwdz4lYSZJI209PD93OXQ0Pnp+bE8KK3p5NDZ8 NG9xaytuTnR9QkgwdD1+fCZ1P0MrVyYpfCojRCpsUTBSNiZ1QWs5czc+JUJUSklvU31oVihfTChP dUIxSQorejl2T0B9OzIjM1FqVn04Y0toa0JqekR7OGojWFhPNWVCM1cwR3l3NjUzU3tlY0dEVWNl Y3V7eCRvRCVfJGNBSmNZCit6b1hLPyZFI0tGJWFEeEo+RnZtTCV4JkZZTnJie2d2VjhTPnY4YjZY NjZpMlomSXlhZUU7dUg2a3A4RVlQJTtHTEYKK3o5dGIxIWBAKEUxK21YYlQ3Km9DNVZXVjMjZz9w SDRjOFl+bVFAV31VTHl5RU93TDFfb3gzMTNoNkw2OTkrLXh8UQorelB6JCgqbHhmcl8+Uz58QzhF NXpJPFhJKnZKMGhrfWE0d2JCcz41fngyYENEOyVIVjgzMDtMdTdTeDQtY2JZZU1ICit6cHhYdTBC aClLRilBLUNHUStOWXM/IzdwQyU/K3F1SlZ1RkNaKnRoTSFyNkhPN0FuaFB4d2sxbT5HbypRbzJA UUkKK3ptMzMyQnQqMUVxZkBrfmx1ZUVlMUBAKE1oVWQjMkAmZXptZFEmQXQ3azRLbl4ye1FKcldO TSM2Y0o8VU1OWjIlOAorejVCMTNESH1eO29DZzkmNS0hRCVnJV89bCNWWkRuUWR2VypjTDk/P0Y3 Tyo2LTQoeUw2cWdEMmlAfnZgKUV3dEJECit6Yyh7YCl4SVVGU21aIz15Ui0zTzU/PUFrJFBiWSlU blh3NEZhUiQ3Kk9udVRQRmRnYE15NXVLU2Y5K21fV0NreD0KK3pQWW01UjklUU1LeTFTYD5eSSRQ ZWFkSyomOG1TRXJHR1J+KSpLT3Uydj52cmt2VDUxYlFQRE9MPFd2a0RWJFU5TQorenB9S21qSjJP dW08cVpmUXZOcGJGSj1rU0A+QkpNQGFCeE0lcmh1U2hFWmpRaCNDYlgxQz1YOVdhLW9fOEpNRVoj Cit6dEY9SXBaSyQ0clIrVDUrPj0wT2NQWSlNfEYmVEU1UUxkJjx5PUUoelgrT0tzQnlOO08zMU9C fnNBPng0c3opXz8KK3pMe31KbU88fFVwUDFaS1hAP001QWh1aVg5aWxmdkI5Y005N1R8PXVXTnQ+ VStwSTA+e1poTjt9TWVnaU9HVlhHQgoreiheTXR0OVUyX3ZmN2FLO0FrVnpYKVJDPmBEbU5CZEg5 Tj90VXFBaEdLRWVOeStKKng3JDRAKitMZ0hVO3tgSyR3Cit6djF5ISp0UE80Sz42RGNxMGY1Qy0t JkQyTFdZbkJvcCNjQ3ZvJlcmPUt6PEEkZlBZUjBeWihqTHw0SyhrJElSTnkKK3pRQWcqMG5AUnM1 eHVXXyVBY183VE5FJXhAbkhpY255OFZ8dHspMVBEZX5+cD9HUyR4UD1WfGNnQksrcUJ8Q2BLOAor elFIQFY0JnJIWmp7fmV1X1FYWlk4OEt0OT9wTWp2MnBxNitIZjtifmIzMl4wdkFgdUM1OCVpVGRk dilXfmZfbXtZCit6KE5APSZINGI8MSo0OGp+SDxLcStMelpSXmJhbUt9TFhKQFF4UmRodEJTazRP RGxSQERaI19nZURqYGhFOHlmPXMKK3pteGNibkxKWnN+ej91RkM1Ynw/VHtCdDRuXiRhWHJeejAy QzN+YTF5XiZKMDtnYGZDZSs+PSpSQU1LNHgxSkFrfQorem01QmBmRm55Y21YNyZvQCt6Zj5eJSRj c0QxO3JtNXBJI2lCblZPSzBud1VAP215LXlKM2coeDs1ST5qQzlUWWpaCit6SHk5c0o3K1Y8YUA5 eFBoPyZSNm9QTzU0eVlleS19RzY/e3gkKHw0YXtxSUNFTFJOdEgwfEVmeDAwOThfXzBMNi0KK3pt Smt3PVJUVExAeTcmKn1gRkZiYk1gNmwob2dTdzlvRlgoXnF4V1A5KkcxOD8yKz4kR3hSUUJkd2t9 QzZ6eUxKNAorentzJDBBWSY5YXZhU2phXjBlP3A5P3chRU85WGcwUHdxcSV9azFfZGV7YD4mV0VB YWdadS1uVmE5cTV1dm4wcTFTCit6SD96VV9hfH4+eHZOTEJwTE1DMXg9Kmd2X09PMCk2ST5RPlIt PWB0WDNzMGpMNlJzdUR0UG9Sb3xDbFR3X3k7WWsKK3p3Y3xiQG1aXk08cDJAe2VgSlB1TmJIZE9P VHNuZzFJbzNoSS08SVA3VG14aFluYDwhYTlwMyFNanlHMWpYWmlAbworelgzU0o8S1hWKEIqNENB R2hycGo2LUxfPFFCd0dXbk9zPX5kbTB1Z1BuPCVFOStKZF5gP3JeRVRvfXspOVM/bHZYCit6U3E1 MnVKTmtsbntyKTA4VWcwM1pmYyN5VENMY2xQNlF+e05qcVNfMzx+UkBPWGJZKiNHMG5TZSZnVU8z ZExFZ1UKK3ooOShVc1hVO0ZvR1UxRyYlMFRzNVdrbkxhXnglV301fWVpR2JCO3l8eHtrIThYNXNv P3xFcGZqX1JDQVNMS1dLNAoremNZWnxLcmY3ejMwRCNMdzZYVUVzNClGb2FnenkjTl9ORSRoPWIl TFdgYTNuSXY8SztUTWJXQSk0Z2I8X3Zxd1V2Cit6eElXeVBUZCROfShleHdAPnxWR2pzUnF5ezVO KyQtNWI2ZXkhRC0yZWNDZXh9PlQpZnBMQnE3OGJMciZpK1RKI1cKK3pwTz8xfHE2ITdSQVR+LTAz JkpXOFM9QmRWPSFffUc4TVFec0J6Q2soVX5zNipxUSZRIzdOdHc9M1FoZDRGbEpLZgorenZAR1NK Zns5MG4lODA8WHtfdiUkK3x2QF93PUNfOzJrOzhZUiF5R1RtfStJKiRQbHozb2NqQDRUMUU2cT0/ PzB8Cit6dkE2enc1cEkkTTV5bEo3UFQoMHlfQE5LJVVrWElaNSkyQjtTVyhqO2lzdHZjP1F1PXd6 ODMyOWcyQGBGa09mWUEKK3pmJDAqcSloTWNIOFo0Z2U1WTAwbGU8RUIyTT90M0pwcjtrUklxfGdi QCYwZVUmXzZjU140YzBHdFJGfTVpVTB0QgorejtHWmtEbTdhbUFuWUdiPkBvaEcjT1UxMFNCNlBw MkI0fm1uMUJwcFFXY3lwc2cwSk89SmpgNUo9fE1DfnViViY2Cit6bFhHVFImMzxvVCN2X0hta0k2 PjcpaD5uSz97Umx5Jk4rRXA3M25LZm4lXnRBNDUleGFKSD5pVWd5WXVtYUApMXgKK3ptM1ErdnNJ ZHM2K0YqNUN7NnQ0VkVyUnh4MlNOYlJ2MWh8Jj9VYkshRTF2ekNQPUpOV2l2SFRAXmxZKHcpfEkt bworelI4K3RfeGxwXmlkMlQpX2JlP3NuOS1CRCUpMWtOfGY2Q3VBZ1R8fW9WdSpDVi1KUzBodHtF IytqJjxhVCFYQ3l8Cit6QipZNVZkcHghTnNlMFAkLTdxS1IxPTwkWHtCNTBqI3VsbUNZV3VDWjlS fHkjdCppNks7blNnaUJPeVdpQD1EJEEKK3pefjZwI0lsZypTcTBHQGNFSFh+czczPFVxK0pyQUVa c0dyO0xeVGJoKF9mZnJpJCR1YCFZSnpse15jSEhkRnw+eworeiZKfGE3JXJyZ15CPTRyfnlqTW91 UD4jdHVEWlh8cSg5OEYoVmRGUHBRaH49ZVFvTWFqZEt4S1h4LSkzI0c+e3hKCit6cCp+OEBZKEJ2 NnB9az0hTiMwMlFDPmthWlYwUV9WI2ZtOExfMnhteUBlbldJP1lzLU4oYWE7QCo7Q1NBcENXVj4K K3pSXkMoXjcqYWg+Ym95SEZFTz95WW8tYTxhKyk1dFFLNUQlSFVNQXI2NGVXfEJURU1MeUI3Nj16 QHdTUWdgdldgSworenJxXyNoakMoa0NUQ1RhaDB5V1NUVmFtQENfM0xNcEl3YX5KQVkzRnBlNXU3 MFFLTUQ8QVF0c3N3aExMPm0wYkFUCit6NHJSZmlkcWcmOEpuaDlTWCE1cyN0LVI4P01PSVlJdXJg cjg0dCV4QGZYMj1ialAqdEI7KmlTYjIxY3hgX0c+OH0KK3okNEpQME1neT9AUDtSR15RTlk3fTFR OTZXN0skUnx4azdrX2N7P08yVmp1MmRLYWhmPChFUTZ2Vi13MW1pckl3Zgorej8oVFpjJlE/YzJo Oz9gRj5CSjJhcmdYRj4oJX0wJGJJRV5CMUI2YzRedEIwaURGISF+eGQ7bGFxWipqJDVkO2QoCit6 R0RNWSVuVmYkbkN0JHxFNWFLSWt0bUliWnE+Q2FzPyF3SWhmTzZGRjVfcHNMPVF7endMV1ExMjkz byE7blVeQnwKK3o1djdANFd4SnIjc1hKZitfKjt7ZXs5JistZCR1b2Y3S1gzTWh3b2JWIzdOJFo0 MDlBRllVYD5aKkw0fjx1dlcyQgorenRxTD1qTkBhQkNITCM+VDJCMDV6Xl9tOThqfkNRflE7O1d1 MS0tO3R5P3lGQ0t5UUVjezh2LVkwNiF8eShMXjV9Cit6O2lhc147fXZjMWNRPD9wKDhQcyp6Kl4r NWhTemk4S3Z9YTApcTV6ZEpIPSk1Pyo4MjF6RVc7aXYoN2pJcGs4ZH4KK3pKQT83KXFXRipAKUM8 alREV3NXQEhjMEhUVX17bjdUdGEpeXhHaEgwMDEyZXUobVc9UkpjSUwjVko+MUl4TXg+cAorek9H TTJabzB+R3pARm5pTCEoPWVvd095ZSs5LUx1dF5wY0YkTTByTmdnJE95cVBWKUxXaU95aXhoJU5Z bzNJX2VHCit6TU98Xzk5KF9VdiV1YCNSXyl8e1JfLWMrRXtAfmFwVkI/ZmhgUGc9Pz5TPUt8PzU1 YjgzIT5PM3JRRitGRHk0PmQKK3piQnBkcXYxQ2ledlgjWGxDJVUmNz0rQ3R6MSpEdyRVeTZuciVI NWw7X145e2ctcT5zTHspbFQ4N3E3aXQ7VDlRSgorenRGeCRZUSVXO3tNK2hsdDJrI3BSM289XyR2 TGRmbFVzODVMTVN0RHR0c21JZnJgSkMjcFI0PXdDTTVYX0J3cldgCit6SVZCWn4/Z1BeSkxgNXt5 YWRyejJCUmNjM1glIU9KYHIwKkBkPXN9S25lMmQ8bEM7SFh0VFRsbF5BQF4pUz8+KSgKK3pFP3Nl S2tYYj5NMzl2RktWZ19hamgxITtXYD9VV0ZqZHR2Mzw5WC05Xz01KncrVkppe0wtKkBwNyE5LTZp SU9lZQorelNwSX19MFhDWnNZd1BNTXZ2NnY/NmlDenFOd01OTSNWe1J7aSMmbyEzPmg+OCVwODA1 eUZNK31UQD53MWB5Xz9+Cit6Nnh8MSM3PldIdXdEfEJPaHolTjwrXkBSPiZuPC1NR0Q1KEIhZ0lT MG9qUmdsVnZ3KFU2JUVaLWRaSl9yYFE4JFEKK3o9LXlPKlJeeUw3OX1NR1gwdDdKczRgI3Y7Mm4+ RF9xKi1Ed0B2cChhK0QhQ0JJKU5yd0RTciFJYGt2Z2NaVEg3dAoremFHKFF1WHp2JVlKXmglbDE1 QTxFUT0pZDA0KSlpWCowYT1SLV5wSFMzU1NPJWQ9UFhMVGFVS0heN1B7akMlRnFYCit6YS1KQlF5 VlNFfHcmPFh8ZE8oR0w5c1B1YFloXztCRyY4MCM7flhWNXNPY0BnOz9WJTUtcXYqI2NzZjxQelVO Ti0KK3pLPHtfeCVuI1k2UGpybyVge1hpaSgoUGxsVEQ9Mz9hSDlRb2gtQXs1X0tTdStkeGx+LSF2 c0t6V30/d085QUxldQorelM0KVNZNm8zdEteRGZAWWc7bEdmeE84QUZlOEk+cHtFIUxNOGMwajZv SSN9am5sYlJOd1Q/e240YVVQNigrK09RCit6a0pIXndvbThiRVhCOUt8KGd6Mk1KSXdkUD94eSFN YFokM2Q+eShofS1OWE5oJjM4Kn1Ifl53V1F1TUEjY3pUdnYKK3pqeXA4bHAlXjklS2hDWmJtKGth JGt8UUZnOTtrS3gyJVF9TSEzcGgkZzlyJWxed2xFT2hRQX1rJHc4dTdeM1E9PworelZuI2FNb3he OCQ/UjxtN2VQUElHJT4xMllSMWU+fDlzXkFFaS1kdCFrcm0kcUJzZSVtN04xQmJSd3tre2UjbFYq Cit6aFpeeTs2LWk4b1Mha3lUdjFTOyU1O0g/K2grdFRCJm9UYWhWJldsUWlwJkFma3RIa25zLXwm JD5aMHJ2PXNAaDMKK3p1PWZYQ0dDeTIoWjtHUHkkbVBTVjUzSHxuPykwQXZnZVNNcWw0SDs9P2Ny RDFNRVAqU1IqclR1dXN9PVVoIUNYJQorelZfcyNtPHJAS3FWP1NZI04qfGdURXdicC05ZUpJcGFK OClEUWAtM1QraHRQeTh0fnQpc0RJWjxkWWVAezZTK356Cit6KjsyOWtBPjJ5PXpFZTIre2Q5I3Vp TXtWQVcpRmkmaTMlZ2NsPX10UWUybXI9bzVhK3ZCSVdOZWVPfnhNPChmRT8KK3okVnNxXj01P3Rq RiZRWG5NdkdOMVd0KkY5WENXbypUSDFrQXleeVE4akBjZnxrVzdZdFdsISZzUUZ4PnNJRVVxWQor emtuRTdyNDc2PSZefU9MMjhmejJCT2UwNGUldEdvMFlqYCtJK2opaFVGVm4jNyFoYiQ+ZVRoSXk9 eE96MlYlSUo1Cit6REFxOFBgaXAmbmw9JTdsfDlEXyV8SDBfNkc7JWRGdShBRmhjdVJfKGVVa3Jo Xzg1TXdeWiNoWHtCTF55Tz1ybXwKK3pxMzw2Q2Rob1MzNmNFPVMxPGJXSmVoQT1aVVQ+fG9HZDdx JisofT4qSDZ7YCs4XitVQktfPkgwTF9TMDxaIUc2UAorenRVViR4TTFASWdFaGNoMlVONkBoQjVy cjA8NTQwfisyenIoYURJKFMoPlNKX1FNTHFSYHpBe0k9OD57bjlqN0cqCit6YittNTlQdklhZXNU e2V6KzdCRVRVZzgmZzNCfFRgXnNBQDtidG9GVUZFNG4jdTMlNWZaeXo7N0hwcUdtR3deM2AKK3ot RWlXYks2RjhqI1V9VmZFI3pDZiY5VzJucX1ZWn4xc2QrNE9qNkwkUk04TypzbDRLQGs4Njg8NWNL fDt7c3lfbworekhQI3pXKHFQQVlLcU43bDVUZkhaclZlLUxLY1Rob3A0NWRtUjw/JHJvMW9fQWJ3 THU4ZDxLeipjNGlHO0NadWwxCit6IVUmdkBNaF99eSlDWnlLUiU2JFBCZzxtRHRla3p+TStkZj5Q a2lsQlREPWU/QDw1NTRQPDI4dWliJDAhVFQjc20KK3pGVm96N29aQSVKQThhamttUksqSkNZcT1n X0FmaGJ7UylSfioqcGYhPzZvaVp5OFg3VmsoUnhwb0NWLWtGeXMxQQorenBZfHtHeFFBS3JURzhg MnJDSE1ha2B7VTF4QXUkbGdTOVJ6KD9aeHExWUNRYTtVMVdCRzEoSTBTfXUmRSV1c0ReCit6PUpp QypkYSMoeXJsVyFxPTVEUEdYdHl3JE5UPWxYeHFuMUVjSmdXMlVeK0doUDBeLT9zUmA+RzQ5dmU2 bFFjI1QKK3o4ciZaaF59WUxLVSQocG0/PVZGNGFPanM+VnBgRylueW47d25RRmQoeztnR2ZfamxZ REA8KkEzVTt6TSN7OzdpTQorelMoQG9OPW9wJEF7OHY2fW1DQ3lIeCtzRnp2WnswdXhDR3o7SlZi NT9mS3gwdEZ+dTRvVGApbi1QK3NGcV97MF5oCit6bGk5NCNeK25KRHRwcjt6R0VucEI7YmE8PDNH RCQ7eDQ0ciYmYFZrSl8rKF56UnxlcHBGUTF0WVBSKEFpRzg3LUEKK3pSS1NrSkN8fUBwKyY9TUVh aV9vdUtxX192VyR+ZiFWZzJBYCskQXR4NHF2WEshbkBGLWMoVCFaM14mJHckWVBkRworel52cU04 KlQwb2VaJXQyNnB2a3FIY2l8YkEmUERReG40Tm0mSEspQFZgJEpveExMUjVacUReUEVqSjBzKm8l ZVh8Cit6UHRrQGNPeT9uM3RUKXA9NFlhTFh1eUhpNlItem11M2BFTndDTzc7THFFOFNxRWQ4TSQm P3QlK3ooQSFmXilMe3EKK3pUelZrJUlueTJRK3EyQiZiTkV3JE5sWGpCQnwkeDhpdldYXl9LM0U4 V3BPQ0Vje01VZE1tKDFVSlNoV00mTSVuUworej9eYCFjbEJXeCQ0cylMMTFgRlVQVT5EKzUxTjk4 U25vSj1vK3VpRE0paWdvWDxDJlBVVDtNQUJBZ012QEZUITlVCit6ZndZODNVfmtPSCh0KTdjUGtU TEdyOWw1bUdwRSomOFFsdzc/UkAyTilxQXBDM0FpK2h1TG58eF9WZyMpOWpVM2MKK3pLU3t2M05O QE0ldk8wQDA2VyQ9dkxhcXQwPUtDdCNxfXYpUXFBdHhUZHxqVGlXJDs8ZGVtRTlrOXBmVkhZR2Z6 NgorejItYVQ1XjV6dUlSP1o5UUh+TXgrdkx6fWd1PHA2ZCZNZEl7VDFzIUdhXktwWTlhZEpHeXtS NzVNJSEhNmVNey0mCit6TiMpM2lMUH41PnBldnpoRH0wWThNY0Ahbz5zO2FSK1Vre2Rnb1c9Kksk fWRQNFIlN3Y3SUlmdk15bmRNWkkqPCQKK3pqPEZqYkExczhBKV5MPFNKVUhBYnUxaHd7JTFFJmY4 MUZPZER8SGZtRnJLN19ZIU51LT9heG0/SkBIMmE0ZGAraQorelkzKCgoeGkrO19KU3sqQkcmcU9v QkVvKEZaRDkqeHc9cUR0OTtWeEc8WHk3fGBMSmxeUyYqK00kQHczWUsoK0h5Cit6QkFqUGMrRHM1 eTZSX25qN0BBX19mcihEVXpBelNLd2FSamgmcD9TVlN5SzlBSn11elVDYmd1dXM9VihNaGUrQj4K K3pzJHEqX1IoNlVVbyRYe2JBRV59bDhqTWtUKUNjYHIpcSFsIXZ2YXBQe18zT2orWjFQbnpgcSh7 cDl+UyY8a2t5bQorelRDNlZSUWV1LWskbE52Nk92LX5LJSVlcXEoeXA/JTwtQVAoeXtaNSVZbGY5 bCp3PGErayNNcH4pUyNyb3FldmBvCit6cFVxJkVSMUY1ejN3KUBIdWcqcihDSGR2QzRWQntVMXZ7 QDY0fXZGOzAmPDxUQSE7bDdWeGlWTTR0Mk56dEUzYUoKK3o8WVB9dT0hNW5VeT9BWGRkKHN1cHEl KWYmd21WQCZJRyZkQ2x0K1ReODV1UU1wa29JOUJDXnItI0VXY0RRfTYpdworemxDV3ApdlVzRDtU dGFIQiVPS257bzBWKzhAdkJFJl5MZSMzcEI9SHdMfjZJbSRKdUpRWGt+MWktaDJoR09oaTFACit6 eFkwR3A4OEMzbXQtXmF7YjN+Zit5SV8lJWU0KEshQyFCUT9KUHlOKj1tVnpjYnBMNWwjKWRFUUpe RmpxPzBIZjwKK3o+Q3RyVjh+RVN1R1Q/VFBBMn5tPEczbFM5aXxuODhHTERZK1g4S04hTSpwM2kj dyRodXMtR1N+PGU2djRIdkB7dAorelolMSRATmVscyE7ZDQ+ZmFAP0B8PjR9dW1EdHQhPTJJaE51 NV97aGZxN2hOZzt8eF5PcU9qNkh5JjVYS2ReVDNXCit6QnMzYmJYZEdaISQjTGxCRihFTGRPaFI5 TG54XlEyS3MyVHh0VkRwVWFpckdaaTkxSWwpfElpX2loS0orPz1UKigKK3pjJjJZTSN1U18wdUxu SUR2VTBSe2ZYLUZLPDxpfm9nTlVxKFByRXhXYDJGNzl2NEt0Si1eI3o3bH5QbWs2STNHdgorejFw dlZQcn1GPGRWcm9xYVR8WS1RIXF6S0ZoX25QanRKU2JgS0ZNMFVBZXdTfntsNUlxaVMwYFI3TjNj NHZyViskCit6RH5wKGAkZjlPKWNsRkx5Xm1YY0YzbT0yNSl4dWBgZSkmJUdRUXZffXtWfkpJSEhv byhPfjR2U3pjTEZxLUpIUXQKK3pZPFdDdlg4U3hjX1dDUW1KN0N8bT9+KHAoZWBkfHF7YCQ/Pkg3 RS1ZJkgjd2MrOHU7JXUhVD9kVnUhMjYhM3I0dworeiRyS0QpJlk4V3t0Ujl5ZV9He0hpTmpoZHFt QGs/QyQ+ViRQNGN5ZGd5TiNaQ0k0Plp9bjt6YEooPVZvNl5ycGp3Cit6cXcyYyFrekxrTS0oMXxk KllmSnFxMTliM19jXzdCM2FRVlJhfDZQb0FEVFg7KENheWNra0lObWl0RVM2TWkmZjMKK3oqWHg4 UE5aRWBWe0tUV053T0BVR2E7XlBEM0U8dEctQjhzQ0R0UU5sbj0lQW56OEc9MXV2NHtyPT9BT1lK U1l7SQorejJ3SnJ6QGphNnFWPSpRU2N0dytAI1pPdlAqPTF5bG9naFMoMWcyeCtxPjFXeHZtKGFU dlhlPHItU3hrPGh1KjdKCit6NVZWTWV2UTxWRSpBMSs4SFQhKTZRWSMoN0liZmQjMExWYFBpXyQ3 NldGPC0oX3JOXi0qOG1eQTdLdzd8bHJHMT4KK3ombG8kMWRNNDQmTGNrRCp2S3BxP3NTajFEc2t7 KTR6Z2FEcWxaTCVvbjNjI2BBRVhZZzJyJW5EfDdGMnc9QnNhQworekRee0dCNGtTWVFmS2lBPDBy P2BjQX5CeEdPOVpHTGk2VTVWMUNudUlrKEVRd3tJO1cqd0F+Tz49YSQ1Kzw0Y1VWCit6RmAtZEtB Qyp9VnUwN2kjcHFMZFhTOzNnVnZeWXFeZmJ2MCh5ZkU1cVFHKzx2Wmgoa0U7SjE+YSV3eSpnaFMw enEKK3pNQTZ4SkYxNXwqWXB9ak5eJnhabWtmUloxbTRjdng2fG1famVzRTRORFl8MnxVQGltMkZU JEJiSEZNZkVqOVlvJQorenFrZmA5ZWYxck0jNC1xVEw7bHJWR2AyPm5nKj9EKlE/XlhAYjVvOXNQ XkNJR1pPPU4xNGROWGoqWENqVF9YWCpXCit6VyFFPVplTTIpaThAdVYxfDBuWGN8NUt1b3JZNTZk ZkN+VCs/KiNCTyMxSUYtJS1ZJDshaWVyKSgtMDEzdUt6cE8KK3pfViU5X1lFPUhRTj8yISZ8MCZl KU9SJCh3JGlLTyRZcnM9VFRabDNfUTB1c05qXztLSCVRY2lRWmFONGZMSjdqbworekdgeyV4ZH5P WHV7OEZCQnQyOXBOZGolZFA+UVZxMUZXJDVMTys3JUtOUHVwY1IoTEBYYnBEZTREJCQjITxyWkow Cit6UE9YTzJ1d0pGckh3fTVlPWk3RHV7TkEtaTwoekhWWjA2YiVaQEJ9JUkrb0Y1PEwmRj9aSFZY azV6KyRaN2FeNCQKK3pQSkduYGJmJWVJRWtxI2Iza2otdW5ASER1IVRZRWA3SiNUKG9ZYFBGX0t9 cGJiJnI/Oz5EWGsxeT1POGU9JmwhOworej99b28mM35rRiNyM3llQ1UqdmhHQVJGJXtOYkckQU5D PUlAcitLZ0RqXnY+Z2oyTE4kdWJUTzJsM3VgOVhicDVGCit6O3RSZn5VdHdrX00tYSZsM35OZztL Tz5maWkwfj9wbVd4eCYwa3hjVzEtdlNPMyR6MmtqIVh9aT1zZFYyZmsxbmsKK3pHUVkjUk4oZVAl S0lvNm9obl5ORj42Z1NDNjkrd2ZtcVUtfEZHaH1+eTh8O0QzSm48c159ZD5gVSE7PU1uX2krXgor elBhOHVqb1IrTVBDRGZBSD5KT3FNKjdlb3I2fjsxSkUxZ2c3cm9mNS1QN3AyaUF3MTYocUdBKXJa STJiN3s9Xj1LCit6VWwkTDJ0Z2szdFhOXlFmN3J4P2VGKHQ1XllmezVwaiQodj5iYjxkcyplcyFO KjJ0K0wyNjx+WFkwUVJxdG47X24KK3pmSGtkZHtkQjVfNm4hNmhpNyFLLWpaYV5QXmo/bmJBOUV7 PE9fdU1zU0V0MEJvajx3V2p9UEFUMlp3dCRXayh0PworekpKTnR3NCRod0o4SDNseDkkeWNTQmdQ KFVFYFYqZHc8bEsqNTZsX0NTNipTQSVLQXc2RzVoflNsXm9+Zng8MlhJCit6YkVKTHEwK3Elanl0 Mz9oY2MjQGRJZVZ+WCReR1RpJChDOFlKVStkZ3ZWPFlqMD1SaVJjLXUjTCFfPGtZSWZpP0gKK3pj QyE0U0JkPVg4YEtoKFBmU0xLckpBaEc0UFF1bUdfVVhtPmBaJUJJKSF4PkxBI0BuUkFueCtDWWhU RzNrZUJzQworenUzR2VCQDhheFluWmElbzA0XkU8R0FaKDZxSiUrM0tnWi18YF88RmxBdTUyUXIh OEE5a0tNbWNfTCQ+N1d6M1JXCit6LSgtRmFYN1RPXmhiTCUyY25EfTN3aCFSPVFFZk1PWm8mYldT bloxJmAjQVBPLV9zZT1sKnYjOW5CX3BXcmJXOFgKK3pAUStLezgxLVRHTF9kb0xrWG9pVnApSV4+ a19YUzlwMj9wRGxwdk5DZnJ1K3NpdH1ZflhPeGdweDRiODkrcTlpTQorelo+dnU2TG9TKEZyI041 c018KmU2dE41fUlud14lSWQpSW1FZVMpfnVFZU9BXnhfXnFnMmlxZnZKWnsqVHB3OW1kCit6I2pI dGhNfjlrZT02Pl5aaH04Y0ppKnYxWXpUQCl+MWZRUkFnZ15MfUAlOE59SXhEKiMrMD1WXj5qTiVo bzJ+aVYKK3ooU0YzNiF6alJvPSpiJmBRai16P3Z1dERzZW43X2FJdnktbXdWMD9KbyZhazVwNHJC Py11IzlydzlKaj10SzVBbworemhlVmtRckNjK3hGMiEyclFsQ25HViNVXyFZMkVVVT8rNWE5JT4h KiRyKm5qOzU0JVhpKXhWPExjbyZRdUh6Tk1VCit6ZGopXnJIJjd8ekJHWF9WaGM8K3p0YnUqZHNh bjd1Qys1c20wPzM5P3UwT0xISCZtZXYxPis2O2xkbl4oaEVNNWsKK3pmMUJ6RnpEZC01SGxZTy07 fWdgdzEheldyb2tLWWY1QFNJM0NpKE0mJD5aNjEpTFlqa0RLSk9APHdVcVV4SFg7cworel9hOS1M ZmB7PHtndmQ5a1dNQm9yX1pVVVI/IypAfXg8NEckP1psVjAraENCTz95PkFQZUxjUShlVjJyQU9X ZU1QCit6IyU1OFlBNE5FeGpLJiZFbyRBSHdqNU5NNS1xPGk5WlhgWld1Y0d6WHdTUCR9RGZnTFc8 YF5mYVdAZ31YXkFyd2MKK3phVGd5OFlybnB7PV8tNEFEcyh9KV4/VXEpNktGZn1aMyRkM2JPU048 KERHUC1JSHVLcSVUVW92JD01LUFWJEtzMQorejQ/JkhIcGc8d3NTb0E2YipjMEg2NjdxKDJ2Q3ok c1FMPmpjJDFRUEk1NE9VVFlhRyFLdSohbzxteENDbHh0dzl5Cit6c19zNWptSiF0dWYhdn5FVS1T UG1MYzF6QFVWaWUyPUJydT5zZlFrSURgYnNDWSMxRWt0OH1ifDNsOE9ELVI3Wk4KK3owWUxBeEdx NGtzT2NGdURnKGM3O0MhSG4yZ1B9MjxzVWVPTjcyellBVmtobmkjWStJY3A8aE5fTnR3NCFQSHBH NgorejJLc2g4aUtPbWAhQUIwcmdrRkw8O3Z2PDtyPU1DWjdwP2FnV2crbFh7O2trMGBeekM4enpO TS0qVXlnZjNrN3F3Cit6NEBBayh6RGkpQmI2QCVscm5abFZ3YiNsbD5QWD1mS2N8OyFia3Z7OU5O JmpSRHBlI2s1eUppfGxgbCkxJSs1QEsKK3pOc1NkOHRyV0BZPGJlRThWOHRScjhHTitWN05sa2Iq Plp1QEtzNnp9U0YkZE8meHlUVjFZKTJUJXA5ZitYezIkRgorekB+X0c3VkFQSkcpcnE3YVAtdXlK WFNKJldiZmNBT0tkQD4kNlR4eSEqVnpnMkk9QmkyTVhTfDZrQ3FqbnZaJHMoCit6PilRQHlAaWRq VjM2KT9PQlRSbzVueXMpZHtzeiFqKFVHeEJZVVQ3aXY0OSglK2xLdz1kO0FsMDwkKnMpZ3tudGkK K3ooMnVtbVErbDsqbnFPXl9EWWxgRURuPjYhRjMjS2w4VV90MClON0BRTGEhP35BOFlMKGJaRWRM cDc+YU9WY09SNAorej4lX3RvPzctIz4kZjZlU2ojb0pjSnRLP1pgbyt7fEZxX00zWm4xbSRHRFVu YnUtZG87X0UrZCs+VXZsdGpfQEtyCit6I01mZWgwQzM0XklXRyl3bUR3e0txZkVnVFBpfCh1T29n KFdPSz81K1MwZm1jUCszPitVfCFTVmFkZnpkbnstO3gKK3p2P3s7emBCPjdwZkdaMG9KO3lNbkNO S2ZEbHpveFMzX1o1UTxXeEZENHo0NGkwMmZmfl5JbGZoVW9NOz1WWDMrXgorel5pO3k9RzhFZCRt aT1gWDhgJX1jTk1LKiNDLVUxSkI8dUpoeUghd1lwMnxFMj1eI2owcmR2O29AbUZ+KEtvTGFoCit6 cz1WQU5ZQStxKDQjQERVS2ZKbERCfC1BMFAzXmR0YXpXK05fWHVRaWI9SmY1Y1JrLUdrSEo0YXg+ WHx3djtLQnAKK3psdEd8KXt+NXdTY0c8e0ckfl5PbWREKFBMUTBhQzxfazQmQ0VacWpUZW9RaWRZ R28xI1c4b3ZxTHY0MEF1ZFF+Kgoreko0UElmRzcoO0QzZVN+JGl4SF5Xb0hCeyVqPTZFV01Rc3lH ejFQRSM4Zj15OWBQV3pyRWFhY0ZBYitNcXFYcTdoCit6MVRrYGg1WUp6ZUIobFQ8dlhLcXpsdWh4 ZGg4Jio2am5rKENwRGdaeTtKYHd1ISp2PWhGeUxfWWlCMDdRPCUoY1oKK3p1UzIxZzlQbEMtYD85 Jnk7MEd1d3pja3dEbHh1SG42cD5WN2opWUdyWF51SWhjTj02MzdPZlRKck4kZnRjZGZhPAoremAj UD51MGcqWHhaT1o4bClCUlJNJXpjb0BmU0RFQFdBWHtJX0lOKmBXOV9QKylkK3hVa2s8TUB0cHhk ezYqc3ozCit6djlGaj04JHBBSEdTeCN5VD5nNTFEY0RDZ1VpJm0hZHNfaU07O1V3bEhxMGxoN2M5 Vz9wZXdMVmtqSjYwRFJWd0QKK3pSSmorPVAzNVNrP2pgdW5zOEUqXj55VyRaTGEhNnh1NXRLKU04 bHtBUk5abXZiXkl8JT59QVhrQmJNXlk4a3sjcAoremtrdXU+NlZfZm5aK25HdVVGIUBeLSZvUXhB SWx8K3VMO1dYKXx7WUxpTVFCNDFFclBaQ2AoKH1RXyhUWU1wOG50Cit6ekFTPCMmczQjQlNXY1pw YXYrSmhkfW1yUyVoPUg2KVRSdUN7S3tCezVzVWhtcCFlQFg+UlI8NT5MKDB2emNEcl4KK3pIK0Bo aFRiY3ZAdF4hUGtNd1JTWEB5OHZga1NeRFJxc2VGb3RePHxuQjRhQzJNNldXUChiKWgxdVBjbCl4 d0w5dQorekVRR3UlMFJeZ0BfSk44ZU07eilZWFFpVTtTVmY9dTcrVERhOyhPZmw9b1NpQD03PylJ NGNKPShTXl9BYHE9R3tDCit6QHsrc0g/Jm9BZFY4M2xDMDhpVG4kPjN1JS1BQWJpPD9IWTw0a0xi JmZuWnhAdTJHOVlGRTB5UGNnX2k/WU8/aTIKK3o8TC1qK3MlTCorbGdrZ0NaYFE5VTc1OWI9dEpZ JiNfTmI/UGc+akh5MzsyQSsjX0hHRWd7enFYZDZ8ZFgtQlYjIworei1NQHl3eypsQWY7MmJ3Tzlf TDlzIX1PQ19KTk95ZmI0TXVkRHMjTjBkfUZlOXdPRmdkdiUlQE1KJmFiWmFgUm95Cit6alpKSHg/ dEApelFUUGdNKXhGRTxrbi1AP3Q3RFRFc2owdTNNNE8pb3RzQkhFb18wQ05BZG91fE82QDh8eCho eDsKK3o1bG0rI2VGV04pKTQ/N1NXMF9sPnxHNEhUe1QmdD1uSGVhPihjYipXKiZRbiM7KE1gfGUm VVRoMVA/fS02cDw+OAorek9zM34kUCtTTGAtbEMzKUY0WVhBITAjPnhtTnFQJSNmckVNaWN5IUhW VGxiT1NQcDR5X2JAWHRAUiFnXjc7ZF5uCit6MWJvQ3hmY19GIXFnP25SRUZpKnNRdkFZQz1BNy1u dTVZRXFSb1gpSDFXSSp+YHlhfl5YP1pHaigwWmI2Q1RTJlEKK3oqNjdoYipsK09XU3EtI29YWFJu TCh+JX5eX3VHIU0hdHItOTwoRWl3Kms7MGVlNnwhJnQ3WTY0PW5MVjxEdVhBWAorenNDUnd9MWpI SFY2TDVAZDVNQVZYc1Y7RmtyPnRUdlBJZGJoK0BPUEU8Y29VTD45cGojQzlOfXshJkBmcG1YKHtt Cit6TmhoM3VXMyo3R2lDR0pXUkleVGk8RlFFNVpFcC0wWVVeVnBjJWZSfjdfe1doYzcxMGVIOUhW MmFZZ3hrPGRqP3sKK3o+fkpXLS1KPlJLU0lxZGFfPnV9Zk55TUN6NkNuPGo5QmVGMm82MXRPNWUr e1c5JDRHdmwqUnt7PTk0JjFQSWA5RQorej1IR2RpYEZGYl9xVjNaOVIqYHUzUklzcylsPikmfFEk ZkJTZUlvZikkQzYyVyMzVUI9clJeY2dQMWRpIW8zRVdXCit6RkJfayFxd3U1NDR6WTVsdGU3c3o9 QTcjbF5KWnwmVlh5clVUeCslPSZCJFIyRE8tZWB7aFhTZSNNNE00Z3dlKCUKK3ppJUxOb0VIWX1k bSp2fVVzflNhPVBlMjd4K1pFOEs9cU0qUFkqYlVgKllFWjc9SnwmZFR0Y29aS21rM1ZfVkx9Mgor ejhXQk5WaihJMVpLZEk8dWNSSGxKYT1sJlZSNjdKOHRIUTZSdl8paGpjamhTP0QoRHs3dUgxUnZH NCleLWRyUzxvCit6JEk7JkQmclUxNmR2YWFISE1iJl87N3YxSmkwLVpNTjQ4Y35hbERMeFNfM2tr ODgzRnZOemQkSk5XP3pGTlVmPXEKK3omKXM8KkpyNWZAbGF3MFR6aU9BTShWTVhQLWh8RmlOcU5T OSVkekIrSFR9NnQ/Vj88M1d9Nk5laGxgeG5ifXhjXgoreitPRW97X0xpKlNIJDdnI01ZKHUpNyhG PD15XnZodDg8S0pARmk3PFN2LVZjRnt0YGRwaT5LI31VbzdUSlJMeU9WCit6SWhmaUBkQl98UmQo T0s0SmRwU0RWUmI8XitPeXJGPUItenBhPHkhcyppaFJ5ZSVoQHB7TD9CUyhJUiM/ekw1LW4KK3pJ NEtGZXpoIWBtdXJMI188bkcxMlFpXzBvIzM9YnV1PEY7WmlIRkopeTFEZWN5RnQ7TmhRQHBLUH0q QFB4clNMWAorekY9Mmo4STlFR14yQ1lZQ2F6RDMxcDt9fH54P1ZTVkltI1hLTlVlSUBLNG4oXiRL cypHVlc8ZV5BKX42NUdLWiRCCit6UmpLSmF7TjJyK2dPK1RKRWJGeT9EQk9kMTxTdSpRNlZ+O05U ZiYmP2V4Wjh5KyMlN3AhfEs8aXgzZzVJKmVaPmsKK3peT3t3SVI+KWN2WWNndkdPQChYOT1GempE MzxCM0I+bWZwUjtEPlE/I3FEQD0xPVZ3bF9LcC1Rdz4yeU95dlI4ZAorenVsUlN0czBoSDh7czAm TE9gTzBENWBnRFNNMWx2PExEVyVDMEE4c3Elckx7cHZ6R1BUZng2OFEtWjs8VilKV3Q8Cit6YUgy RWYtWmB1bHE5SGlRYTFNMCQxTzlyKyYkeXo5ZlJvV017ej9qWEB5d0xIKGhgQ2V2cG9sYlhkRy0/ Snt1aUUKK3oyJjxBRlRsXkxUZ3pSfGMqN2sydzM/MEY/eHFGc0Y/TTdheGRySmJ0dnNhe0heZiF8 PHR1RHZkWklJQzdeOT1tNworeitkcUxYRHxlYk9IfHpNYjVJdEdIPT8tKGNLbWVYQ2JxMm9+VSNF RnxoSUIlMklmfkl5Yjs/RDxHdzMzZV8+PTYoCit6WiR9RExATkA1b3U3Kn5SRnN3KGxEPU14NT1U Qztkbzx0eThvdms7QSZ+KEIhaFBFPyVudko7TWpjVXsxT0wwezAKK3pvc0h8UD01VyhUaj5aZnVO SHlnanM8b0Q0UlUxfXVqQUp9aUVhUDlXdC1ZfiYlfCRFQnBYSk8xdld7bG0xMnw1Mworekg3KmNj S2draDJLYH0/YDBBOFlRckNpc1VSe2d1QyZAfipKWU05OE1oYEl6QXU1Q2xtME82bSg0TG90LTxk PmVUCit6VmBkKGxRdDBfUnl6KlRrOXhwZmctRHtQZkJKPWZwaiNDTWRYfTU+WWN8Q2FLRUVybmg1 VDY+YGZPZ3AlczlyaX4KK3pZSn16anFOY01DbyE9fD9WbUhrRTU3U0lUKXtSMXx3dDQrUXZyMEEr R1RtNkQzUkV3TGhWUTNsUysjQitmJXM8bgorem9eUGZzP20hb31ZJjN9d0NBMitMZzNfQ3tyRVMq bTdJTk1WeXFtfiFSPks1JXlQX30wKUdPVj9SWElNa0NmeipvCit6dWtgYnVLKntCM3syZV8+JWVQ MHItX3FIJlZeJUQlKnRBZGROfks2cHstRDNxVCpFT3hJUmtJY215VzV+djZ0Nn4KK3pKJSU9VXt0 UU9remFfVCNGZk8yJUd8LU5rRXtxY3ZnWXV2RW5qdCRlY1BoakFNUEchcjIjWl4hYTkjUjk2WjxP TgorendQMTB9XkVjWE4tWGFIODRffm9zeEFKWXlzcHI+K3ZRa0B2MDNWb0AoTzA7dypvQlEqJlMl dFlzaEg0MCRZKVZTCit6MWx+flZpIzEjSj0teW4/YEJOMXVHdml7Zz5QaihJNz9OVD5ePG51UmJi RHRKS09NaFA8NXRRUlExY1BOUWZFY1YKK3pgMzxxTHtzYHRVVDZ+ZSlBX1heeS1FYFV2UTItZyZS YVN0RzRRQnQmOFAtNHJrcUx8b00ldlhqOUBqcGladTtGbAoreiYxS2dZSTRfSExZN2g2ZjhvajU9 UzU8NHBCYUZjTVVvZThGXz47T1QxOSQqY19OJEM5KzkrPCZaPDAkfCZKUS0/Cit6SHhiTTNCaWZ5 fkpCOW5Ld2QqNGJKQWxoWTh7PzxZUXtheXI3U2R2VzUjU25ZPTdxZ3A0YzV6RWcoKU1AQ0Q2ZEQK K3pJWERiK3NtXzIteip0cyFYe0BVRTdQdE1mJkh9OGZPRzdSNjVjT0VQUEcjJikwJVNoSzdkIT8/ aGo9TVNmME5pRworem07S15fNjNjTHM9Pzhub0RrPFB4QEs2NHRmRnJAXj03KiVvRHdUVlQ2T3Nk KVlNKWdjSU9TYTdQYDRWVzw1Vz12Cit6elVTZWFPRnloI0hYbk9eV3RMJm10eGBqSF5mXj8+SXhX YDMldktmNEBqQU4/WSZPPW5ON0BuMENAUldDaTRgZyEKK3pJNi1iWWRBR3lRdilRPC1Xb2N9NHRU akxXVF82bE0/fXN7d3dSK0wzYWBAOHs1JiNROSQqblNLYW0qeCl4PCFjOAoreisrZHp3NEI7enE/ cUBSdSExdy1qd09kQjkxdGAwTmZHRHJfNmx2djFLNUZlUHZsTkloN2gldT1mVEUxLWc5Nm8tCit6 cChEVGc1a3VoOXVlYUsrJFFwbktDKyVmPHNrdlp8YVFSVGFkNHlsS2ojLUwlRzY4N3lUb310YXIh TmJhZml6P18KK3pKdH1+bHpmJCRlWnB3KyQhaC0hUzg9U3soRHJsYiRPaURyfmtqKmBlODhrNHB3 P0k4Z0p4em04cih+aXhpJFB1cworemRYXzZveDVAYmVSVHh6dXl5ak9wKGhNQ3orIVNEaWVnclZj UlB4XklySnM1PVQkMDhLXklkYFRTelFwfVBPSmZnCit6d1p5a3VuJGkjRTwqN3Nkd09pI2lwVWgo YTgjS0c1cjlUa3hzfGQ9MEdFfHlMQ3U8eVNfem9sblJMU0gqcG8qeT0KK3pOOG1kSnt4ZEl0Wksx dG4pTDFBUGQ4Y1UjeW80V29nWTdNOGxZTTh9QGchRlVvTFJoXys7PElPci17WldfNGstKAorelY7 RC05ZiNrdmlBY3NyQFpSckNCSmV1U29NYGZZP2hzbHZoRHh2RFI1XjI/VDVIMFRWJVR4NUg9bEdV fTRHUHMzCit6Zzt4e3I7cXlsdUtxRHBGQ3plPUhhJW5hOVgtKF9qZ05ZdmBoU2djXiZqK2c4Iz97 OHNKPUZMM0xVYD9STXRKVVQKK3pXcH0kQmt5emIyJntTWEZOJU4rR2dOTk5IO04zemBXSCg7QyFr WHtUPnQmKX5LM2hMPDZqUTdlPTxXNT8lWkxyaAorek1VaDQ3eF5qJHc9OG5GNjBlQG9IK15fUXRF LXNXflFnJGBOMn1FZWttSE5adzgqODxPdjUkUjJQandpJTBvKChmCit6OHFPRUg3bF5peT1FWT1+ aDVGNVk2JmEofHBDbzxxNkEqTyombWA3IXtVRy1lamM5NX5lbDJ4PUZQYzExZFcqP0kKK3p3Mm9v WStHRFZrNXlhYk0qbWRXRmM0LWhvJT4jXjV3MihwfTNrP2pvQHxBK2xsNU5iQFdkRitJYG94PnJX dUc/NAorejMpQXpUXkgkRUw1Q2RLaHV1Q0Y4KzsydE0zPk0oRlMqZitxRl9EMiZvLT5AejtlQChM TF5wZFRqM3U9bFVXamUkCit6OVNyYXI2a1I4clhmMCtkMzxAeXJpXjNodShJNik8NkBqSVNLcipa c3s+dmxaengwfnUpeDZQRFFBaiVJPEtRV2cKK3plaVI4PnhHfllrWVVtazUoTyElYXQ8MGZRU1pj KkBGY2ZNfncoRSlHen58Q3ZjZj9WKTwpY3xlWkFJa3JkYUFfTQorej8tWWpaVUE9enhzOUArPz1D cklBYE01SjJtMXFsVlhadjNPM3d9TSlXfnRkXzxjdE57aG9pdztCRWVsM1FkNEdTCit6WjZ5Sk1e THljOTFVY21ldjJ3d0RFRHNeSnZ7JEtjJSloaWRDXmdeNURweTdSezZUTXlReXc9Yll0fmlxazJs NSEKK3p7WDcpMHpuWlBQMW9YZ1BAK0B1ZlYtYT0rZ1VMVXN4UXIpfDRLdD1WZz8oM2pZeXdjV1hY a2R7SihBO3RYcDNzeQorekJYPyReY05tQGFfSy04XyR6dGJBIzw2UHlsdC07P2tZSUp9aDJhR2R4 ckR8ZlBOTnBWJEcyZzJMTiVHLTsoRjxrCit6K3pJR1MmXkVGRnBCNCY/SFMqI0s3QTg5WGVJODdk OTRBYU4xWFZBNTZFM3IkRT5GKCQ+dT15UVV9Q3tPPG15Pj8KK3pNeD1PRjdga0skPHc5P35EZGJn dnVGISZwNDJGSmJjK0t1UU0+Nil2c0EwYnxpR01udWRvfmRAaylZak1JY3JPMQorekk9fEd3dmZF R0Zfb25MaWE8RiRzYFImTllpQ1RVUHYhRlR2ez4lNExidXBWWWNJZWg4UlZYWndNNmRKZ3VvKGdk Cit6JU1SJDd3LShmWj8zfERTIzlnPXJecFpLfm0/aihmK2N3d3J0eHpHY2puflBxaXpaPlhrYnp4 V0AjdC1re1l4RGwKK3pSTUB7ZWxwYkZYJFU3ayk2V1RGSmFAb0BEO0VLOEh6amN3VnBuP1UlO2ZO U2VkcVo+SmY3O1lEM2xBfFYkUndUKworeiRFKTVgJVZMT3Jka19LM3hgY2NvaWJ2fEF3cVpqLVoq QGNMRVRgS3FJODZDfjx+LW5sPlp+fFd5IXJlPGVFOzBvCit6eldIWk01ZiFnSFR1Smcqbi1BdXlr aWdMKnlwPFBAX3U9YWlXYFIjP3tRJHhCZDh+fVoyPzA4e2JHO0VLRVMyO3AKK3pHTDhoa0JLZnNY VGFgcUYjTGdiNHAkS1dLJUpfRVgmfmBJTnhhT3l3enZjI04tfj5Fa2l+QkU3bGpQQWV0cm5qZAor ejdnSmVHbTdYK3ElRyohJCo2eGgqREBuMVR3YTNYe2hLb3NkPTJSbXVNaVMwWExOTHs3TyZhN09W Y192MXZEVGE1Cit6PUhRKmtXdiZHfkc8YXZQQyVOMzVlbWp1QnJPNE48aWx4azJkN1dJM1JNMktp eE03WHZtRmsoY2kkRD9ebWc8PnAKK3p8NisqTyZzTHwwb3JiRi1ZaCFOTkgtXiZSSmRudjFJaUVo dDhueXg3P1YxOU1JVl9gRTt+a250Vi1LcElGMkJQMQoremxNVFFBdnxZMlRzK3pMPTZRRGc+Jmha aDdQc3ktRD0qeSN0JVFoe1o4PnpycyMtcF9YWVU+ZDcxTEVseFNROS00Cit6b3Z2K21vSEExMnRF Uj1LKGFlbWFkM3VqckZDZExBUGNHYHNGfXpte3pIbTxGVmc+LWVBRXpFLSE/Yj1BNSZ7VC0KK3pV Kzs3OVhjSld9e0BxPnZkYFZzQ1Y/c31hVGxAV015fWcraD4mVGVCVjhTc1gpPFpkfC1TO2lqWCVp TFJHemRkMgoreklre3h8NiM4OElvWDwhbyZ7RkJpZTdUc2MtWWdxfmRyLTBEN3hfcipgQ1YqQSY1 QzZtO0RjYz0kMk8qVTlxfSsqCit6YTRXZHlfYFJkekdhTWdJWkh9O0ZKZWQqZWFlOTFsU2smKXNU fn1lPmh+WHJuT0g4JSQxTm5WPyRUcW5iViliJW4KK3omR01lX3V6VUB8Ozh6Kzl3eF9hJWo0cURr VTxrS0VeOF9iY3l3VHFTYHg3ZihzKyhpUmYhJiMld2BeQmJ4PHhAeworemdsQW9DZ0FSdmdkR1h4 RzUhYGI2SXVTKVdYSTZQUDR6JklqJnJDZlpoO3A9PFg3ejQqcCNtezQyNEh2X19iXlBTCit6N0tW eGh3ZnVYQXY1e1Y3NV5aR2FObkJsNzZqPGJ1bjJKUE4kUkpJUGBOZVIlYSZxaSpxJFU4NztpKDdX dWg9YlQKK3okSDN3KVp3T1MtSn5oQnJ5SU0kdV59JlFtQXFCRFgyTk17Q3J+eDlLbXFRYylxVj9O JWFWc00/c316ang+QGJITworel44RGJPKGM8flo7S2c+b3hKcHRQazZmQn5tSWJ5YGxGOGdxbkdu Vk8oKWV1fEMxITQkdDlzZjhAdyoqSmkhXmlyCit6RzlnPytvPUd8QnI3VlRRPj1afSpORkNxfiR0 PWdLI042eCpRNUszI2BJUzZYWmA0bH1XTGlYS08kYUpgdThSN0wKK3oqJm8mPG5qfCpWSUxab0Ym R1dTSk4pRiQ0WWkmb1NMbTJwO3JeUClMPTNvWmYkfEUrZClEZ2EpQy1WUzJERXMzIworejdmQ2Ah RjQ/WFYjMnFCZzFgbFhLSTtSU25TRGdVTF93MGhMb019NzhRfEVjcjRXKmV1YXJqYV5YOEt1KXMl dD5gCit6QEFJNXVFRnFZflcmcHM0aEU3KlEqcnlXITZnI1RaQ2dMaDRzNmI2VU9FSjU5S0VKcUBi ZDZOKjJxSndjU1J0bSoKK3o5eVluMD81ZWAlNnt9Qy1hIXFWcUUqU0Q1IW4tcF5uLSlXcEN5SmVD eUVOVCF6QmB2aVRIMX49XlQrMG9RPTI9PgorenByc3xxQzBAJTtEMkZSTTY8RTNEamYqQ2l5NUI1 RlYqc2VGN1V8aGxlVXdGUypSMUl0VHxVUjdnPVpuRUpUUCpDCit6bSRWPmVWZD4/TU5VIVhBQDAj NXBvZWNFO0k8K2FCTXYpNmo7UlNJPE5rYCQhQnk/Pz9RRHs2Y3pIRjYmNzJ4MHoKK3pBKWZEZW9F KG8lI0VnclReP0E9YCQrflh+KG9rX0JwYDNLe0RWYDY5OHR0TkcyVGdkMTN0KG9nNV5VQDl8MzEx PworemN7NVp8LXpwUmtvZVFUWUtST1JmJl8xRm54dm5pVm5wdkZjK1R6WTcxTFdEPkZ4MndiZ0Ir ZmdNfWdLQG98SGdDCit6Tkp3Y0hmfEsxKTwmdjBQYyFQMXhRKksweTcxJTdKJTVoNSY9cT1eJnkm U3F3UG1LOXUzQnc5TFd6Wk9POF5NOEYKK3pJaX1QZTNhTyRBMk1kVnlqOE8oUXllMFZ7a3xkb0I3 S21Wc0ZYO0Ujc0Zja0lRJmw9KGQ8MnxXOXFhaT14eCM8bQoremZBJHt9d3IpUmowfnI0WUhIK0hF RDheKnEwMDh1KTAwNE9aQV5yUW1zUXFVWml8OVl1O0Q2VXJiZ0EpdytBZERACit6RV8pZGU5dSFi KzJ1djA2UDNKJjF3WmljY092QUpycSRGcjFFezh1S3ZvTHZ5Q0dSWGN3czRUfW1YSjd2PzdQIW0K K3oqJFo5am16PjR8bXpzPzBIPHM0d2p9c3RTKjR8VzxpbWphRFVHblFjaHMkWExQYihfWShGTEUw QlpAYml2Qn1oKAoreiRyfElGbDhofEpzPWMqM0o+NksrKVZraT9gZ2VwUlUhem1YN3lGKjVKNXJu ekRCQWpZPVJRbFo4NHp7cz56WGNMCit6JEdTeDt5dGx9e3V+a0stTnJUanc2N0oyLUU3M1lMOChK RSNpciYqWDkhO2pSWFA7Umg4Ml41YEtWSCF8KyhvS18KK3p1QWpBPSs2KEx9KXdrY3kmPjtQWjhK VXlZSW5JI1JYKy1DSCN4NHMpKkV6dEIrY3N3MmEkRmtVRihDYDBeeHVmOAorejYmTUYzcXBEVWlR S0N+N1o+V2pfcHM0cXBWQ2xAJWUqO2hDKjUhJjBFYmFoczxETklgRUdZSVViQzh9c2tKcHhDCit6 K3AtM01zZzgyT017KExwcV5DKjFLKEB3K3p2fW5yYmdPRmVaTDB0Um9ZUk40JHNNNXk8WE5FYDFm SEdpWEtnPzAKK3pfeDwmb2FLT19PMFJ3WTE4eVF4ej15eiY+OHFVeHo7PXIoZ0V3VENFNWxHRCha aGhYMTNvd0xvUmlCNnJVZ3RgYgoremprfGpXKkt2TXtOdU5Pa3lKUzRieGNnbE9QbnZxIU9sflhQ NCtgbjNFMDdBUkNJYyNLIXo8KDNrN0RwWVdRNiUtCit6SEZ9cEBROUs1bWE2VllAZTUwfCUpWm9M UjNUdEtTSVktYGw2TVNjcWxkQ21LJDwmKzYrPypLQV93RGY8c0BsPmoKK3pweWNsPDlfbE1tOT8/ K3JVUzJzWXh4a1pxaGwhUUsmSGlLN1dxQmM2N0hTRGgpU0xXenczPWNjblNDfShkaXpQaQorelpH QnlyNytBbTdmUSlRJClHP2BDPE1jclp5aGZDWEBDfEdNJW85SEspKih2biZlTWxJP3M9N1RjWD1l O0V7IWczCit6QT9HdEBHTFNVSDJiVGsrdUtpOXImfFk2cWMzcEooMDNUZWtpUzVwVTRydUplLXF7 NSlFWFlJMFAlJWRTbDJJdFAKK3o3U1hOY3RfPmgqUn50ZGJ4Yl5EdyZnS3l6aDBueE96MUZOfWxg VmFfQDIqMmRLbyQwR1BFLXQ2PndHd31uQ3dsYworempBYHtSPjlAaCU0fm9qOGJ8SEVtVVZ9MiFq VzhaP3JwQnp8ZjBebE8+anBpVmVqP050RDs5Y0pFJTtVWSZlWXlOCit6WSNgWitXNm48V18hVVkm OG5nejV4SkJaOVVrWDhkS1BiKCZPNnp6YXU2YmVWZiN5czt2aUBvdUNGdzs/TyVYPjsKK3olcWZz WXlpY2B2VUJZOGhyUXkrdjYqaiNLX35eXiM+Kj1ES15rY0A2PSNuemRQTFhyRkwwLUclel5JPUZH dlVxYAoremxkTk9zaH5nSldWU0ByVERnblheWmV7X3FFIW9HYCtpWDtOfEojeXN1K0lEdS07JWZe cyZCdU5TbmhkejJkb3R4Cit6IWgzS2hqJFl2VE9XaWo3UEh5czs5Ym9GNnVaKC1fbTw8MGBkPz81 RW1oNnIjT0U0ej5NUDN1SCo4dU9zJkZQIXMKK3owY1p2V0NofXdfP3VsTnxmWjxrTDs2fU4yMSkw PnRaJH41IVBeNj1DYDNnPXpQQXt4QTVuREh+dDs2TmlEdHJ1OAoremckfjFgd35HPkxtPG8td1Bz KFM9azB9dUojdkNeZUJoRF5eZjZTYGV1S2BObW9Abjt+TCo8Q3YrOyMjdUxYNWtPCit6O2pTM3ly U31KNlZPWSE2eVJVKjZNYmFPcWIhYXJIZUB8TkRoSU44WD53V2BoZ2ZXKlI1TU58X3dUQiY1U1dG WUgKK3poJCU2QHBuMWRFSiU1R1NxPWhrJiM+Njk3d0QkKDJ1enlEUWpBbnlBal9FeEtuUkZ1JjFP KUteQmtZfWBZPlQ9cgoreiY5SDZUSSRfKDY2RE1yandyJChDWlFIaE9UTlBQWip7YnFaLXU2R053 eDhDXm9eI0NFKSktJiF5K05aK1h2SD17Cit6dmdpKCZiNDZEQGtQfDstIXoxYTMzKG1nPndNc2JE YE0jQDxYQmh8IUQ/OGU0bXcqJWFHKTchKEAmUmpKbUpPcF4KK3p3dFRfJW0xP0RMMTkxb1o7dHd1 anp3PyUybi1HTkU1eSFWXiRkJTJQVHArPFRxMlUyLXA0aSVoe0tAdWdyVkgwTAorejs2djtodUFe aldueFBJbUBTbUVhNmJ8Z2lZIzxFRUVfTWlQMmp0ZUY5XyYlNk5ZV3lMVHpSSXotRTt7NiNITy1t Cit6MXtqfGAhej1yanNBbHdVNCgyKUFEWGdsbExibUNed3U5Vk1keFhQUTdETU5qQX1jYzFvUEk+ eXlLWGshUiRJV1cKK3pAazA0YTFZd0p8OTFEYGJpcSt1Q2QwR0FAKHJGfFMtMU5jNjVwTm57dkJG JHVqOXFyLTBSRWk8IyMydWtYKVdlKworelh5Uy1UXllrU1ZlcU1NczBCKTY5SkI3VCpaMlNHSitS WExoKGdtUz07PnMhKnBne2VLUjY1QTdSSE4xIWxRbXxRCit6K0FQSitLK0BlfEBJUDdwQE87STY0 bzlPenpUaW58d0VOLSUwYDFfSiliQSZkOyFEKDxmT1EkUUxtX2ZqSjBfMGkKK3pOKmklWj85JEJ5 OTR5bjVidnlGUm9xSzBvMUkyNXZ7Nm5zdiRWMyF8N0J4SiF6b3dndGU4fm93KGpLVlNkK2ViMAor elJldnAoWWEkSWleOF5HIXR6a3I9T2Z2KVU+UztMQnpFTzxeOE1MUU0qRSFTOUJKMSEwbCRGSj0k e2k7R09WNFI9Cit6USlJNFdrTiFGJk07KW0/M1A4Pk4/UWQxJT5LKHpDLWlZMk42JjNAMTM3cDEt WD0rLTUlQSohRmRRNWZqellvSVIKK3phJS1NTHhQNSpDVEJMRHl0clAhJTZYMzB7ZEs4b0oqXjhE SmtzOGEpQEEoKnZidW5eS3JOUipTPiEtbyQjQmM/bworeiNYSkVYJnMyVVoyRzlBNSZxVCRlNzAy TyRYJVp2PGcmaV9qJTUxanoyQ3RHdjArWTYoNEtJP19KaGM8TVh5RHRaCit6X1cxdzd1bHxTZGFo VnRxaDVIeHI9ME5gTUA4QUMrTlZhaD52ajFOcyo4aDw2e3ZZbiZCXjRgKzE1dCRVWW4/aEwKK3po LVFyfXZtUldeOz1sK0ZDP318dCVAOEYyUnErQjxiaEQjczwraX4ycFkxakREKDlsNDhRSlN5RHFH OTNoeD1kNAorem9KaDY9X0ZAc2w1a25EYzxDfTdPbThEKTIjSlpmN09jaFVPdH5BMz1EIyVmO195 Wk5xU2xBPUAqbCh4cUh6Nz5TCit6MnI9RCFZWj5vRmMobyt8MmdgVnIjX0YmWHtxMlptXzYmcWhY VmNZfDkySil3MHp9aDE+M15mKkk0M21kY0hBfDIKK3pxbWRQemhnYjNTaDhsTlJRbEJSfikxKyZI X1h0dmtVTTB4KGVIRk5mOFUhalVfeyUzNVkkX2AhX3w/RDNNSGF+Pgorem9Ta3JtLUkrUiZhRSta dmk0amVueVRWUGoqOCYoOUx4Vz4pOSVNfVIxU21SMkt8Yj9UV3xCaT5VV0lNfkgmQ3hyCit6b1ZF ekNDWm0tWUxVcVB2IT9Rfj8zTChfcUBQZXE1KUchbj47emhSelV+PklMY2owXl9PKi05dW0wNkJW MmRzfnMKK3o7MEBEalVWeSp3SWQ2U2JCMUJXc1NoKFMhSXg3RllgViNuJkVWbTBgKW1eeHpHS31e fUZ0WCh6Vnl3SUxDMEtKbworeiVROU8jR0VgKHs2Q143Kz05PGVTTXpnIyY4aDYrdGpgLTc9SkN0 bF5fTi1XPHcpUVolazt5KlpzN19UY18yajBeCit6e01OeEhndCMqO1ZzVHtfbTsheFRjSmdJd2wx TVptXmEwfEFudytQanB9bGhrRChlUj4/NHE0c3lEamF7eDliQ0EKK3pGU2pySUJsbSZ6dyhffHZO WGU8I01UPGczWX55fCsmaFVzbUAyZmZ6MllBZVMxPjhPVjZBVUludiU9Zk1TaygzRQorejZBe0A5 XmEhTl5WUVFfYz9rNWBoNXtDR1BjJjNgcDJFUiRjXkJZc3FJckZ9Sz09I2h0enU0Qz8ke2E5TT5L WC1MCit6VH1ZWlpvR0dsaEU7bFg+VkwlPl96bk4zIXg3KCpMOFd0eVVqbFc5RytReXVgWHhzKUlx YStoemtuVGAhQT1VTkUKK3phUEI7eWI9e0lybUg0QWh2X2VVd09AQTd7bClvN0lCVV85R2dlNUd5 KilteXxBTWJoZHlLZHh3JC1fQTM8KnRLRgorejVqNzhBQSkkZTJpNk1ANz5EVElON2pnMzxQSUd3 PiF5IUdgWUQxP0NxXlpOfnhDeTMwRT9sM1c+e04xUFVqMWZ7Cit6OzJ4ODdhMnAoU2FfJiM1cnpV JWxrWDQ4UkgmPjNrQ01eOzcpUzF2NiRSTU5ARyVBSEBVLVM8YSVZPSR4M1Z2clYKK3pxKEJ4JVB2 UX43K3EtcGBCWlRPPEZhc0pWWSRLKUpIfmJTYFVDcWJ3bDNxRnlDcVQrb3haY2AwT3ooTW5mfDJG dQorekF4fFU3dEt1UWQtQHFTLTcoUD9objM/VDU/aDc0aCF5OEJKPWZQVz5hMzY9a184bW4/dSQy d0A/PkhDM1pQOGw/Cit6SFFQYz5KLTIlXiZ0b1Q2KEklYUBrUENfMl9RUSV8PXRWMX12T0g5Rnl4 Y0FIQWBSUT0tIXxFel9ZMntsXlJWPmMKK3paeFE9eylpbDs3PzV3amMyTD9iY3RqY2R4WUskVEFY O25zVWVrenVFKXxzRTgjMipkO3YlazdRPClvcD9lSGxkYAoremNJel9LKV87cUlXfHM0SzU7Rik3 aiZ4dkZPKExaQEtAYXpKQ21IZE84T3ZnVi1yZlVOUnZRQlBLb3Y8OEtEISgmCit6JFYyWVVEdnQt TUo+NW5mZGFhbDQ1SXVSUV5DPXQkLSRjVDUhUnEkRTk3PiExWnNESEB6bFcwa3xIPH5AZXx7QUYK K3pOfjBWYz9WU3U5WlR7MV9iY0pnWHZvVT00QGRZKHBFcFMkO0ZtMF96O3kpdmJPKE5udU9wZ0Y9 VDJUcmtyQDIqRQorekVTXl5Bc2hzZm5HQ2olTERpPEM8RSRYanE+JHFzfG9aWjNIJj4oZThCUWMq WjkpQyllS0g/KlJ7ajgrS1lTcEZICit6dGJ7OTx8Tjd4KiNEPlc/TC1jd29xcUQtJl8tQUByKntM WlM8MihIUnNrblVPR194ZzFYKmorNU4/T3klWSt+SlcKK3pOXiF0UnlMZ0ltaEZwRyVPdW9UX091 bDJJX1cwNkx0eHlKZU87fktGPXQoMl8+dEpUKkU2T3tAV047SHEqOWN2egorelNLakglcnI4b09t Y1pxI1R8OVp+M019I2RwPVBWPHNvQiY0OXplaio1fHZhIWBgOVd6NT0qJWYjTy1yO3J0RXlBCit6 SzUke19tYnheWncjNngtJEFwSm8yRCk2KlQ2T0dQKFV3NmNsPnBOcUJVJUNBbTVkZl4qezszUVhy Y3dPbClLNXoKK3ozJlgxO2R8Z0FpZmc8UTw4UChIaCQtY3Z3bHM9KGI/dCFSX1pkR2IyJi1rakQ/ bCVHKzRWRHxyV3picGBvMW4tTgorenZCLSN3MHIwTlc1TU4heXghbkRiSXo9e1FXPX5YS2opWkpx SH5qT3E4IWJVYmRtRHdPX2hRQVUwYVVCOCNZfkNACit6JFVNMjRtfCh1eDRZRUEhSHZwNCRZO2xj WDwmZ2hlN2lCMWxmQ2k7Ukxkdz8tKmt8S1pOdlM+e2FBP3xLTHBEP2QKK3o4ezhYSkNiWDd9d19L UVVeSiEwTEcyZylAQkxKeHJjPEZHUERZQzA7UXVjISF6Kn45T1k0TUJWNTNXOExiLWgleAorelIq ZWZwSEdtZlRYUkk4OVlKMU5iWmZiaW48e1NZcDZJNm51WHJeJUpaRnNDSG4zQk4rOXh2Xz5AVVN7 S3gwb2R+Cit6RT5BcCp5ck18NVpVdThBV3RvTXM3XyFZZEV3dHFCPkdEM2A2ISE1ak9lUCQxSXRw QDQ1cUBQa3RATUZhKig/N0kKK3pJO0g7TDBDMlRBUEtyfVRCX1R9SSVXNzV5dn5kMHpnPGpMRnsq TClWTSZWa3VAKkRVXl55fmwlS19YcUl4YmI7XgorejtsVHw8aWExdlJCWmVUOE5qamxQI190Mj4j LWByeEFhUmdJVURHelB1Xn1IfmYwXlNHJXR7ak0pK2JxVChaOWgpCit6KG04UntEUmVDNjFkRiZe V2pDU31oa3p7Ty0wSk9McEd9MlhlPXQ0Pl57Mz4rNFRtfGAtU2lqJXB6ciVBS0J7JSoKK3otOCY3 PD59d29HKDFVXnVsR0lIaVUhKmtuN0tVX3UrWTBsdTZUQlgxZnhteUpDPEUzSXBrelZJTEFjIyFI Vz5hOAoreihIZjRCczYmKjAyRWhIO3lWZ0sjUEU+ejk4YlZsLUAyZXVSI2ImcHBEMWFfbj1kU2kt UHEwcyMhQ30jIUxTUHdMCit6P3dTR2ttS3VVQCt0Q1AwUz5LNURBRlhtRE02aWttQVNTaUBmc195 WF5OMT5EVkYoJEhYWWdCdHNRdHxxVjhoMk0KK3ohNCQ3ME1tY25YWjluYjVvQ189TEpBbSZ9SHcy I2pZbz9oYFJld1RGUXtVP3p4cml6QHBKV0FaLVNlWGIkPD9wVAorejVOKGo+bjdwKCRBRmJOSkIh MDMpVW1iJitOTWVkaXlEVj5YVVFwO0E9VDdlZD9QdDcyPmVkZEdFNkwxWkVJXzVfCit6PFNRaUUo OFopdD8kKDd8TzhqMU1iUXwxaS0+aH1fbGxQe0wjPHJucUdLIUJ7IXdnbklkfDlrYS1HfmoyKy1x PnAKK3pxZiZPXnhnYEI5bCNMcWNgaVJOMzE9NCNWTlVuMC0kNVBBITdUPmI0YDg8X31TMyh9SnJE YU9xUXVlKyM5RSFZPworejw3fVpiLXgoYXRUQWw7MWdrekAlS0lVfV5aM29oeXY2MSZOUiZxaV5Q Y2U3QHRHV1h3JG9kQTRiUitqPj8lJmBtCit6cWtxVWVlZkNwJFR4UU9aPEctbHxfe0pRISp7VmB9 dHBebmo/aSZLMjhDbDhGWmhwMiZqcjdPQD1laVFZJW1pbFkKK3o0YlJRdnFSVSUjV3NvTEFgSHpJ bDFfYDVwa2R6fUBVb2M4PkUhIUlvWV5CeFRNV2g1eTBFdTgoVHpFWH48KmBySgorejc0Q2ZYPVI1 VmNVVmxZaGRgbWN0em9EcWNjP3tHSiZaKlhpWjVmMkRXR21pez87cjIpJm0hR056Q1NtMHV1JGB6 Cit6R1Q5Z0E9VkxjaWJae3Qtcz1eenMpWHY3X25XSE16eWF1R2ZRJktQb2pKfUdMYyNmYFNoJH5H VSE/QyFzcjxYMzEKK3ppZFEtRTcqYU5ZbTgzZXw2KGd2bHlAOVNOPUMrUSVsanpoWW1yR2BKLSRQ Y2pgcDRuN3RpZnAobl9XPD05b1RhcgorelctVilZbml1KWxadmlFdm9pZDJ8KWJsdX4pMWpHIzZ2 X0VVaiNSb1JqIWJPZmloVnJPZlh5TTJBWGIhdDckQTtfCit6JWR7dCU3TSY9UDdXbFVCTkQmPyVr O3FjPXdFbkBzJj0qS2VaOHg7KjUlWGJDYElxM1RJdnspWEtSYiFGK3FpeTYKK3pCRUcoQHJtPVpA RWB3bzRiZWF7SWxWK3FGaTFpWUN2RjY9MTxxJj0+Yz1EMHZyK1JnMTJ7X2JVSyNheGtiJSRzRgor ejAtX3pnejBEQHZqPlBaXjtQPThZRk4pLUZZVFduO3lJbCFxeXslWT1RNj8qUmRLNHY4RWgyans0 ZDFDZkNRT2cqCit6PD43JmdWamxLVHclOWtTJFRPIXtFamVXQ1NAbFM0dVZgN2AoQmUkcTMpaFc7 ZjdfMjclTyU1UnRgKTE0X21oezsKK3pSJnVUWFYpUiU4TDEqJmZCOTwwc2I5fCt0RSNYIyg4UTdF c3I7WkFGakQ/M0puPHhQQzQkRmVld2k7JjsxPVY0YQorenlKQzxvbzBxKUZLPm0lMUl2YVJNb0Iq QUVlZUYrUSZtUmZ1MGU/TXN0PWsmZkhUcEpld3J4aSRsQiZwPEhBKkA4Cit6NFpzMzIhYDhWd2E+ OE1zMSpwc31rbVQ0YVgmNTRMPWlIOUM5c29TZT02PXtxWG9uVXpCdVc/N1FEeHModDdJZ3cKK3pf I3g7U0dYd1VGLWVUKjBPd3xYe0V+OHM4UnllJFpzRXRJPS11N0V7aG4qJj8mI0c/UkVTaSZLQGZp I3Y7ck9AMAorel5pYUs8MkR5dGYkMy12dkBKWiRGakgjSFEyNTJBUHQ1VmJ0ZTApUnxoczNTdCh8 TT9QWGZDayphYXNPaFM2JDZ+Cit6USV4fCNCSHBmNVR0c0E+WFlJQjkpWFBMfmJCLUpRKENrbkRv aDt6JSg9dyVvLTZnM2JRYX1gdlQre3QmJmtmcmkKK3pzM2MjTUdmWE18QHxmV1dyfHtRJiMqKmt4 PUhUe0RwOW5BakcqO0tnWG5MVDh4TWlMXkdqP0hUQj1PTEZqPWJwNAorejxGUyRZWiRMdH4/Mj94 S2VFOXY0WWtEMU5IaFA1b3E+MFp3UCMob1YlcHVALThPODk9LXthTVRpfT4hZCg4M1p5Cit6cEdT Yy02aUBsIVphKmU4eUtkNzFUUWFIdk1ZazQociUtQy04RT9UMF9rX2h1dXd7aFkoc2FNe1ckYSFx TXBOcXgKK3pfVUlvTF9xWEBBPSVTfkh4MSpzSD0hKiQwUjRzemZjQiYxSHMofWRyJkUpSSVKa2RX VXc+SUMhVEF6JEQtaj9WdworelVJYUJjSklXakZfO1pufjt9Y2RCK0srV3x3eT50bmxrUilJNzVG Nig5cHd0RFZAamtVeSFiSVhANDhgYzR1TGttCit6NXNFb0l3LUYjQzl9I2F1MlNjak5tbnAhdVF5 e2d9UT9JMW85JmgwRSp4QVFmLSNweFlpfWRWWGE4KFA9WnEjfkwKK3pkbmBwQSM1K3tsdzc/TEM/ Z31hIXV4UX5kQ0JYLUR7Um1WemY9bkBXbCo9JUpMUjA+RXRoZi12WGBuIX5vVzJ3ZworelY7IWE7 dTZzYH5fbihnX2U/Jio4MHczckZzQmxHdl8ydiMkUyhlOXFTI0s2ZzFNY1Fie3E5NkByUXc4JFUq aFh2Cit6Kygkb31IUCFqaDllRipCaHctemFeIWdObXE2JHZ0bX1WJjkhPTQkOG5oNGA1NjhhYXtC MlhRLTJZTE8tRjtOXncKK3omX3BIKXE/R2JtbnZMdHkxP1hCRTBucnJjcm5LWGtTWVUxPXUqQWQq K21JSD9gcjgrS3w3MHlOTWwpfU5OUitxPgorenBzJn1teTJZVlMqSmNXSCR7e2xwbEVxY0hhck9m LWJCRHl6UlRDd0FXKW84JW52Xj9YKilxV1F3Yk4jWnhWUj19Cit6N358dXpwXnBSKmU1dl59dDBJ fGAmOVBfe1llMXk5Vlk0QjtRXkFnQCljQ2FheyE8TSp2MlFRZjVuckxmeHZeSV4KK3pUKHE4Zl9o Mlg1ckBjeXxfaHdXVVk2UXl7eTcxXjhBbGQ4TXgjZ2A8IWlIQkdpbTQ5dGFUSGt7fDBePCQrTWFg TAoremAhMSoxV3FOY0BGejtuX25GKm9WV1ROQE5eOUV9dyEyTDsoNnhVKkRXbEM1O0hYbFNpYypo Qjg+NXFBOypKYj4mCit6PHtgWT4+SHVpYEN2KlAwMGY0Wj9GejQ7b21ESyVfTTVfUStWN0BXVGA8 fWZ5aHR1YlBMJTl6Wmo/WHRZc3coRXgKK3pFX0NeKXd0eiQyVExaa3U8O09uJF9RIT08d2tEZk5s KDEqTSlAI05JR1huYl9lcHVvRnB5Wm50fEJAcSE2dURhSAoreklaP3s2P1dTTisoelAhPHNaKDA4 MiUkeENBNUVtYykmMjNLVEJScllmaEVTU3BuRVg2bnpue3BpS2FZPDVYXnQ5Cit6UWtTMkx7fmZh RyFWU1lwamhXOG5sU1g7JEl2eGJ4e1Y3YDVfRnMheExObVNYRD0+KGl8M0Y0Z28hcWF4eEF9RjcK K3peZDsrbGF6PDBXcG4lZ01AJXpTJF5kTnd9SHI2TGJgZUhmMyE1bWQ5Y2t7U1pAPmBVYkBZIWA9 e2tuZlIxQ1ZqMAorejVldjs9WkZMUGtkcUdHaSE5e1BeamFYQjcqWHZ8KnJwQVZ8KTFBb1dUfXlO VlBlWEt9JXZDQFBSRkYqcUV9UGR1Cit6YmE+UTZnTlBAVSRtVDFLRU1sSHE1cm93RDl0aHk4cVB5 WlVvQGB2TislbEVZODJsYENVeWhfdzU8bSNEdlgqUjcKK3psLWlxWkola3NQaCRNMXcwP0Rte25T YWdpeVN7UzhFNmQ9czc4ZVVnOXhrRHRIP2w9OHYkPmU4IypfMzJxR2ZfcAorenN9SjIjYVo1OGt2 OTFqa0hXaUdTMlQkMl5xXmV4S2tBSyhoeHZ5MHZjflQ+JjlQP0ZqbD5xUT1IV09NUUE2b35NCit6 WVQ+bl57QyhrJkhaa0I4T2p+OTxSUSUhZSNqaGE7aCFSPj9sJHgoJU9EeDJoRFEzQXM/KFZrbFAk eTFWO3YoNEYKK3p6JXhnPz8qLUo3JkBIPm5UIWd2enNtWiFVREROQC1OPSshXk5JdEVZVzR7UUlP eHx2M3dfdGckOV94ZlBpJUhLPgorelU8cjIjbkd8TiY1S0NtT2dFeW5CKz5Rb1VTcm5wNihoTj81 YzItPzQ2NEtLRDtQR2FjYEs/KVQ3YWJ0YjRRT0lRCit6cm89bDReNClzIVBfPnxxNUVTMiR4WC1y YCVfMGNzczgocCZKT0ZfTjZAe3gmSkRTMl5DMUFiRihLQ21uOHFVbHYKK3pWJkpnfmY8e3Z0TTRH RmpKKWI2MjIqRFlzLVVRTW43JTFJX1p1MTVoe0d8K2QlKFpMc0t7WXhETipTTX1sQE0lcgorejN2 THBDZUdHKU9hPmtDaSFCPEkpK1h5WUd6PEp+QmJkSUR0ITR0QG9VSk1VNTFadj0xdG9ZQ15gI1ZG ZURPTkB+Cit6cndJJSRxYnQweWxaZEZPX3xCNmlQfk5iRHp9OzQ0bFM7dksqVWZINSNDPHxCPVkk T3M/SWooJkBMdEB1dWF3Zl8KK3psR2FKSGhLbTVmKDtNTXM0Mk8xTSN7ZGAzVU0xRi1KNStnMzM7 bzFmd0ZqKEZBflpRcUo9dklyXz5GUkdQMyQwJgoreipMY1NzPyhIWlk+e1ZvVjl4fkEoVHBpclZa ezlOfjxtK185dmxrPyFRPldaLVpzKm5ge3Y5eHtZLVcjP1JsdDZHCit6Zjx0OzFAcm1tbnc8SEVq cndYYFhLJUtYcmdQflYlKkFFP1dvRXY5WDRTWmV8WCNVUHNueTtvPFJjVVRNQWEkRS0KK3psVEo3 clNWSjtnWHQqOWpgMDQ2LVNheHptKEhTQUB8R2xvKjhHaiNOTXE1TiQpPjIoUUZ5RVcmNERTKE5s bHtGOQorenhmMXBhayNhN0F0Pz5LLTMwVzY5ISVaajA0Qn1QU01eT3h9S1FNNWJRTGJINXdUJmNf PDI1WXJJVzBkYWozdi1eCit6SlR2RldpUnh0MGNgamBeQmheRWA9I34zdVlmUEU3YSteZy1zU1ZR TmY+SHJEQW9YQF5AYi16eS1JciFPUWBkemkKK3o/eUZuKEZ5dEU+Zl5WMksxNmtHMT1rSTRFMW5e JHg9ZFVseU9nXy1wPFNJdH50JlUtUD1vbk97U0clUjt3NSs9OQorek9+Snk9MVJlPEpKOTlmJW5r PWpvNUpFQXsxMns9cDBUI2sreXx9WWF0KW1qfilGXmsjN1ZCZDhXPEYlQGVtMkVvCit6YWYzayhK VVhsNG1ST1pIayNYQUdVUW9kM2g+ZX1oMCEoVXpZe3h5eCNgbGBXa2IyRCNoYDhtM1okQit+MjxX d3gKK3p3dV9nWGZwTXhaV2AxM0gjPVd8XkhocD9EOTA4fmlDU1YrdCVTe3w4R0QkSXZybThvQ3Uz ZzU9WndjNiY8QWR0fgoreng8cFZtMjMhdFo8NXl0fWtLTypTayo8NiMtIyQ/MiRQRX5aSlMhcnUm PCR1TVooRFg/ZENKO25wVE1+a0hQd3coCit6VmFpI0BeSDkjLW1DekNDVVdvJUw1JGxwIUNuJnh2 OCV1RSt8SWUzYFVRR3UpY3paK0ZrPU07TCVuS19pNFhrak8KK3omeVZhZVduZzJ9PFFIfm8zQnZp YTtpcUd9bUxEPT9Tb2padUtHMzdFfEpMOzdIdHczaj0mb309TExTMWtAVzEhJQorejgoKkZzMUBT UFJOSjQrZVMlb0RDWn1UMmcmeEM2ZiZjPU9BQX5ZU1dFS3dNcTFNaj83Kjw2X3N1ZDtkVmxSJjND Cit6IXUrdUx7V0Z4ZWN8IXlsSVFLdF9MK3ojek5fUmRtdCRnTCZwZ2d7O0BadjlIZldpJHpyd2Zk U207ZCtaX1d5T0YKK3p3NnxLaTlRYWspdWZxV1JqI35lIyo3cEREdE5mM2p8SXEyWlFrSWJtcSh8 c19wbXlJX0xoJGgmKC15V0YjXkF3UAorelB7ZTRnWWI+TyN6TmwlYnJUcWRaQVp1cXBncmpIalRB MjJqcXsrfmUjdSZoYG4leWRBQ3gpVH1FI3Q0WVo9fHg4Cit6ei1eek5qT31gY0prZVNKZ1k+aFFg azwqT0dEWDtxM25wQXw2ZntAVkxAd2gkRV5SZH1UXyZJe01iUmB7T0h2bUgKK3o9Vl9KI2xaN20+ TDh5ZCpNcEIxX1k3TGYlNHVnSjE4aj0hQzZhLXYoUWtCQXxfNX1Sc2pvUjhqV3lWZmJgQVp5MAor elMlUClZMWYrYTJOJjtYOChAU2FLIWtzbn1SZVJXcGZqNkx1Tjt5MXRjUWR8bFdgTE5iUXk4RTVn cVNwQVQ4SUx0Cit6XmJNYlFaSzhNT3pSb2hjbiFSJkwhRG8mcCUyYH1EJmpwcjItQTlPVHo9RkpD T0RJVkxpSnFBcHhKRUtndHF8cVoKK3orJkN9Q0J5bnVnWFN0VGZFI0owKWFwYTNIWjhYQ0sqJFck Z0ZCVEVCa358bXh0REchYkFoPE8qaEFzJXBfdCZUOworemkhckFrU1RSZT1eMnVASWNXVEB4ZXhK REM7bVpVWDtDWjNSV1JRdFQzaE5YbnZYT2xlVWt1dzRFfTJjY0s0Zmw/Cit6cXRAXyYpXk5HKFJj dmk3QmVIUXttVHIqfCgjZ1UyWEBlanVoOElPe2tlKjxxMTx5KEAxcGIqSGxyQXkpbHVJbHkKK3pH RVhpRzgrPjJjTnA8PChFZUpZSUJhSk02SCU4OXluRShIOExHVjh9aE18Kns/U0dzQlRxI1YrNGlY QEF6ZmlWYgorekVpPzF9P3U8eG5wNE8ybCFkMk9vRmNoclo+aTVUYUc8QXhvNlRFVDJXMXJ3WjRA UVpNKTBDdi1fOGk9ZHV5UkBwCit6eyt1WD53I0g3bTlBfnI+PUFfc191dm96MXgoa3Y8cWckcCt4 dl9TaUdCe0FgcGpnN2BgY3ZeZkxDMk1jKGlWKkgKK3o0eFZAIXNFNkUzZjUzaCZHPyVmNSZFSkhR NWswNiVBJlYkeHxHRj5zVWloMDlfXzdTYEs5Mjt+TVBydnchR3xuRgorenAhfTY/UE1ePj80TW1i N0U5e044Tzl7LWNVdG04OVBJXjw3c1EyQjcmemVkfHgqMylTQE09bCRzd1ZOUmppYWNoCit6TCtq UnZDVmY2JkcpZmpsU2R4VHsyb3Q1JHRrcU5EMn1MOHYte2JHcjM4OCpIQk5AVmRLamBNOyNxLV5o SDg0T1MKK3pxVitkR2RuZzwzMWZRQFlGWVN6RikkVD5GZkY9K2t0dlZFTnN1XmhOSWhHR1YpdGJo IyhKQ3pKUWVJfFkzOT1GKworejhzdUAxdDRgYXZJNlZKQ1k7KUdYOGVCKUtMISlqZHdFcSZUJXU/ aGtXMGZ3aUxPaDU2LSZnUW1kOV5iWT4kaEU2Cit6X0o0OV97aHVwbldNJF4pX0A5QE0kSU45ekc9 QXJhZFZRSVNmTDJuLSUhTV8yeG44V1V0aDNYXnFjaXp8dV9HUTIKK3pJNCg5NjFjVnZIUjNwTEE9 Ul40XmhfQFdAdVMofE5ZY0JBWG1YPy1fM2Nqal9OcjlXWCh3SUxmeyt8UjFyVFJtIQorel88QD56 bmx7TT9YeXF2K1hLaDJaSkhWZH4peGloMSZRJVEhNlFkXmFlVTZRZDRITDFPP1B4ZXtFOEgkRipO PHFLCit6aCV0TE8wPSUtN2Z8V25IP2UwXzlvdiRBY0hgLUMhSnFhQFJgc3NAfCFkfkNleiZfciRf cSgob0t9bG5MREg2T0EKK3p5RUFUe1pqaCUwWHk+RmdvYk5YYHFCU2AmRnRzdH5ETH5iaDt9PD1n dGBFbD5EPzZqLUpsbXctcitvN3d0RU5gbQoreihHOFp8I3ZobUxAclU3SChxQTB2R35wdFM/YWp7 SjZ2czR1S2RQS1BHLSMrRklSUHF2LTBFbk0zekxGa21ZMiFZCit6Rz9PTy03WnptUkp1RzBkckFx VXRATVFMQnZ+ZHBZb1J4fT1ZUz0jeip+dTxzNSolM1pPNURfPU0hRmNzcm9rJUAKK3ptJXdTI2Ji ZkpnUnZseGReZGRMTFVEIW9yVnc7aFoqOHwzZzF5NiNWT3J4UGdeMCNvKXpkKG8kaE16TT1AfXZx JgoreiNfQlhQPVBBT31hRWtob0BJPnZqdzs8PT9lM3lkSis9K0tQJlQpN01DPkszZlJNKSQ/I1VK NzN4eytFZl54Tl8+Cit6SDE0T08lTnBmckFgRHhUPyUyWSFxRW02aj5ZVDEwPW1pNC1IYD85VUp6 VEhHcFR9M0h3O01pQChZYXFVU2coeGsKK3oyejVOKTdQXzY0YHc/OWd1R3Y9VDVmT2RZd3lob0g3 Rz5yPSl1Mk4kKnI5K0tnS2x2cHozWDJxcGIrPns1MHNeVAorenBDPnxgUm1TQF5mfHwqKmFGNm9L QkcxdD8wSDw9RkwwRE00N25pdUpseEZlY1lJVCN2bVN7YjR0IzllJU9PPmd+Cit6bW0lO0dqZ3NF RmNEek9AQjVLN1pZcDVUNCsjMU9aX3wzUitENiE5Xjt0ZDd6YTE/bzxlcyo7WWZ2N2hFTSt6ODcK K3pUcGpmXmRCQllGU0k/T0dIaHpnQD82aGh5SmoxQkZJQzkxbVl4d2kjV1pGUEk1ZjFYfF8yc15N TSstMlFPOD9ScworemA+KmNwfEl3bUxvSkVEUGZmNzRRcVVAQDJxO0pBVDR6PSM3YmUyamg9S01q MlpydEJZdzM4JFg4dUhOJU85fHNMCit6KlNyNmU2K3pCSDh5eUx8NmMoNCVFRTFWIUc+dHVqVzh0 QWdBTnkhak98R3h6R0paPXcpayNFdiExM1A9K3MwQWQKK3pHPXlNJlVZak03ajhocEN0OWNOU1Mz QyUjMnB8aXdRfDNJRGFIfjAxcEVxanExKiFvZUoxOTlFdVExVylqNmxCdworekZ7R3VmYVFzSUU4 a2VjZD9wdmVAUmJyV2NldSlYWW1WNjlWRGpRQy0pKks8PXN0Xm5EdE9xOGt0VWE3P2heYT1ICit6 UVlsemBVT2t4fWA2TkI7QE9SZyRXJWhfUzBEbzd6cHNWeX02MGhlR1NtQCliYTVWWDAoP15GRygm ej9sQWBsN2cKK3pRWSN0ailyJHw8MGNicWphWTB9VDJxVnBaZUQ5ViZweHpOa1hzSE1RP292bUl5 fUdKWmByWnltT05MU3o3Y0lnfgorelFefU59U09UPnFqYXF4WFRGfk4pP1REcmpiP0k5MCtlVT40 bjJUeyl2YVNNcCFDfnhBd0ZsUV8qIXY2UTJJZXZuCit6a312VCRmJjBFUUp7MzEhSSF7PjNZVFdC WjhUaUFUYipVVV4reiorMVdmIT1qeCt1QXU7aj85O3t8c05TSjxPZGUKK3olZU11ZlBpQW0/R3ls cXVzeGZVaHpsS3dgX3YwbUY+dU1icChkQXIqaCZ8PlhlJGpuVE0mUHYqR1d1Pj9VKElvSworejEy dzdzeWJGR1pkfTJmYEFXdVo/YHs/bT1EaEhZTllXfUFfWX1ILXsjPylkYCl1PSNsRnQzSG1QTVB0 LWVgdlV3Cit6Mm9ScXtKUjEycT1ZQkM2aExFfn1SbjVOcVY/YjYkWWRValBZbyluSzM0bDs4MEBu MFlJTG9aNW56TkpIclRHQFYKK3pZeTJyMWl1dTtyMDFQS1hNM0BvRVVBJTtaPDh4YFZlPENLZllq ME1MQ3wqSz1ifkxJUloyRE55OUJ6fkMoaD9DUQorejFab2lpbU4+KlBeLWpqWEF6Km94JjhPez5k cTBGJVVGaih8U09odSsqcmtEdldgV1VJRShQZTJBWHgxO0xYaXgzCit6QHZfeGZMNVUxN1htMXJ9 VTM7fn5FIStZTE1ASUZjPUh6QUUhZnM/YFlEa0MkQEZtemY3KkRzOVhLTW0mdkAhMnsKK3pHR1px SkVlJV5pcllIaSQ1WSo3NkRoND4mPCElMEFmSDJLKD9oajlBOCUmTVBKJFYreDVVaF9lTExsfldW SEckQgorellaKX1PJXtXKSkwfXdpPzZuTElINj5iTjB0ZXZrO0E7d3MrYlJ4OFJIOCZsXml6UmFG M0g4SmMoVnJPb2stRTxvCit6YzwxJXFqb2JqflRiaCk0ZkZ3e1JvMWM7WkdaPH1+JHR5UWdOS1B6 cko7MCh2MSgyRkI+YiVHWkh2I0w+OWhsMj8KK3pfNG5PKzRgPmBQVVNaJUdiUC10eHIqQmsod3Z5 JSU/dkVaMSZKYlJpQyYwNmx0SlY2TUlJLTJ3WmxyKXM1U3o0dgorenM0IygkbzhsIUU1Q35Fc0lj fmE7en5AeEoqI2B9QC0jdV8ycmF8c2tTQXh9dDwhQiVeR20kMD88TW9XY2QjbVB8Cit6ajlzdVJf QmxCTjhtJDBRPCQjNThhNnYzRihtJCFnZ0F6dypYJDhUaXg0cGR0M2F5anBlRk9gaTMxO1oqOSRf VVEKK3ptWDcrUDhPXmQhdSVXN0B1dktabnduKUgrViNqUj4pQTEqUjFDfjl9JVE1MnswZGlGciN1 WnJRV3gjKl57QkteXworem9iQ3E/M3xhfklQPTZ2X0N+QllLbyQ3M00xQmp2R1hsQ31eV0FmYmRH d1d5KmhOJU5HdiojQz5SWG9OISZ4QyhuCit6PTV6WW93UTRkVnY2Wmx4VXVKKEpvYWdMRXBeMzkj WCZtektnTnghYT5+VWQ9TzROWEd7RCVSYHozT148ajhjbzwKK3p3OWZOcS16ZUNJKGNUI2tGOXl+ cTQkPmY0ZWY8dEN1ZkQ0SCV0LXpjPD1RQ21jLWB2KCU1SkUkQShPbllKKDZHOAoremUpajdUZUVC ZGRnYUZGUjsyJGkxTGFeMCpHKGd9c3pxT2N3c1d4ZVZPUXlWfF80Zj5BNEl7YChNanQjSVVKIzY7 Cit6TXF4enpRcnQ8eVdOQn0jaHMkPFd1Qzh3Sz5gazV0eUMkPmxucWhCVEU4T1BoWDgmYkB2WT11 cCtIOSpYQFVCZU8KK3poU1Z9PihmOTVMX2BuI2JFc3k1Nz91d0R1OGUrJm9nVSlLM2w0RWVUaHdG NTVzISotNTY7U3F1XmJHbE9IPW9TfAorejN4cyROWVVyQ05lPHEpMEMjZyVKQj5PaiRMeUpsP3M2 S2J7djRTRn1eaGJueE90dmJhTnAyYWVlVUAjPiFNfmtWCit6blNhWDtKS2xBUSpOJUV2a3NhLWB2 T1BHYHllQmRQay1wQjh3Qn19PkR3P2RaQHNoNDtiZXZ+WDE4QVpxYTt3RzEKK3poZzhlWlcmS2tE SmN4VysxPl5iS2tNKTYmZERCYHpqTlhaZVEyM1hDYSppdmtOMG5EekxDNipEaUFGNnJlWCtPcgor ekgzVEt9JCZ4ZmB1Kit1S1d3JG9eU1prPk1sfTJYOG9gPU1NOE42RFAlMzh6NFc3VjlCdmZaOTlF ViFWRHQwS1ZyCit6biZvUzJPa2FNN2t2bWx+VHsoVlgkNCFVUz1paUJUb00+RjNMRE0+fXpmXipl OSReOGM7cEhRZ1VwJit6d00pej4KK3pedjBDcipMOCRNYkcjJmUlTzVWKmElVmVZcm4wPEA1R1NT QnZzbkwmRHB7fih2JnVWSTEwKl5zbnpzWj5RP2dCIworem5zNldhQyo8RVpGSzJHKDRQI0czOVAz dkhBUWlScm14N3c1MUY1Zntre0o0bGZxKVVkUTBfQ0Z4XlVPOXExZHpyCit6ZFc5bjJIUzc/ZU9V YGViMitiNjdnK30xLWxCZFlhRj10YUFsRXZ6PUkpJT1HcldlKlNsRnU3V29ecE89cy0pOyYKK3pO Mzt1PGZxbDQjTm5hRWdRXzlvSCRjfmhYQzRgPj5Ad348K145R1pNR050SSZqSDBoTTxvWlZRYzMl ZGNmR24xQgorekNsdndBOzsmQFU9YXJxaklGXi0oM3ZXanR0LSExJiNpKCRPNCUxTm12Y05+KVk1 ejVGMStfJkk2Xkw0Zm54X1ZJCit6KmElbk5sNTdAb2VvblkhJkh7K25FSUk4JUtHRzcwNGZwM1dq O3RBVngzOWlVS2pya3R2czMzNiZwa0NHMXBjWXUKK3olemRjUjFvaj1wej5MOGJLZkZCT0otRUBq PkYjM19JOEpHdXRpZjAqczspOE1sQFpxIT4taCFzKzw2YlhFOzl+OQoremZqMUFNYjNRSUhXITco KjFsNEB3a1NHQWZpc0NKUkpaLUZJNVEzLWtxTEdodWdSTTteJDdmWHlQS2NGejBnTVQ+Cit6Qzt8 d05zPHo8UyRtZy0odG1sR0JaUGlraCNPPiFXS2I0dz4hKnJ8bHF2Zmw7OyhzMCs0Q2A3RFJuRmpT QFlJJD4KK3otdWlZVDRiTjVGP0hpRUh7VXt2YDtzWGhmNzltKDUwX2s8eWwqJGtmN3VNalI7NCVF am1JZE9+K0g8VT5EXyokTworeihQdS0+OGdsOVcjaEAqdiRnKntFMX58Myp2PUFSc0kmNEVMRUZw bDdQc0AwR3ducktzb0htNG16MERKRDAzTHJGCit6QztSflglP0Y5LSRVJk9+TWRxYiN7UW9zWXd6 IThWZX16fElaSHlFTSNFQShGXztXb0AjRER0WmJKYjVYZlIyYH0KK3pUeGVGP1kqM3BYN0Ylaj5A RWktIyY2IW1fIWhAI09FUytiQjFZN3dYTDlvNH5aSTUyfVViJGVucikmVyhtUkFYcAorems0O0Fs R3A2b3s2NTVmQjZUeDR6KU9LOVVWcFFCYUhCKiQ8b2VuNVo5bmVvM0Y4JXlhR29Ydkx6O2Y4JmhX ZUF3Cit6OUtaMCRCdzF6R1deSWpSTilTZXZUciQ7aGc0KTVUSXxXY30rYX49ciNWKFhiV2RvZnhk VXBxYWhhe0dEVkVlfngKK3pnTC1QUTxKe1klPnVkNH0qNkhJR0ZIMSpfcDFrNmErJHx6cD5Hamw8 ZDxmaXJ0dFEmWFJUQ2h+ZGdPZDVrdmpvNQorekNpSnlKMklATioydHUpTUN3U0gtOzR5JEBkZW5w Smd0bm9PP3hjcEJtemJ9RFFaI1ErKkQ7aTFAI3JwV2pWeC1wCit6JTZEem9gUiZmckZ5ZShLUXIp TU5qbnY2Zjc0ZSEmaHdZMlU0N0FSMXI3K1M7O1VOOSlFRVg8dj9vTHJMUF9HdnIKK3o1cS1OSHZC V15NbEVQVzxGWmxXIzNnaWtSQ1MkZUJ1dnh5e14td0VkNzB9RFlwfHJ4YDk+dXV8VHFEeH1YKURK YQorekYqfmg3JWcxQFc4KVMzclhTRytRYmY8VEM8NFIweVJlQmN1ZlkpMkF5Wn1WQXc2PGQ7c2ZP czhTdTYwV0FIPXM4Cit6Pn1BaiYwSE05NSVDZ3tVZnpXczFGJG9TRVVuflN9Skd7a1BYIWtFTTht c0xYTDJjZExebSReVHZgPzEoXzNWWkIKK3pEV0xES3RAS2A5WWlNKExZfVo8U0A8S3U9MjJOMHtt KFZ9KSohOTljSDFjfVFTczBOX2lOZ15mciZXUDNXKn1KbQorejBaSWt8TlEjO0cwX0YmJT9hJUY4 a19YUFR2UUJWT1gkcC1fM1A0ZlhHLWhRPHlDakAkNy19aGV3YTEjdEdSUyZKCit6MG9pQCszPXg/ RkZvUEpHUTx0KnYrNFJfMnNgbm1XYmViQnZrRzklfDNqbjlhc1hjKnVLKWhvXyk5UVkjZ3teSGAK K3ptI24lZihDd05Dez5UKjdXWWdTWmVCQiY+IUZnYUEobnQ5OEtsJFZ3QGIpTDVpVl5PeEZjUG1E ITM4SGVITVJHegorekphek1LJCNfOStWeXZXRipvcz9RK0QpRVVVeU8kKkxSVFU/KTR5alVBMHFW fj8tZEpEdlhFfiZnNiFfYVBkd0Y+Cit6SkZuRDtzOzMoVUlPTCY7NTViQXZqb3o3MEAwTyN6SktS JH4+RXAjSz9sZTVoRkBATUk0Rz1rSE5aXiZpNEs1fUEKK3pzNEpnbiMxd1Ezc0JNYiFyWSk1eSM8 KUJLaHxRZVkmZVROKUJZTT13Sm11X1Nibmc+dWg9TU9+ezNPe0pUd0x8IQoreiYkYTxaXilqd3dp NnhkMGlZRlpGOXg1RjAoaD5tbV9pazk1KjlTPXVrMT9nUzcwVWIxXkR8T0wtZT1OTXk0flljCit6 IyZXeDFFaGxpX2IhVDlWRCloXzV2ISY1SzxaTzFodys+ITl4WV5CQDB1ZjFgQHNoXm1pKiF7O1pj WWMtPGxJVXAKK3p2citmfkhPQmVvb3RJSUl1JVlJe0F3QkImeElPRk0qeXZvXmR+Zko+ZSkrYDY9 ND0xRkdUI1M1aTN3YHYydiNpPQorem95MTRXKXVNVTxoIz1AeFU1Z3sjRHRtfVM9eDxIISErZFVU LWtuUHlQemBeS2ExJWI2RlJNcGR3ZFg8PEl+b3xZCit6ZSF3PnQ0ZTNMciYkYmk8JSFZRXNDfmpQ dWV2QU5sV30xcDtuM3F3cXlGRCFxVzs2c2w3N28hb217Rk96Z1hTQSEKK3pOdmRuRGpMXip0JCRL QEZkKGlzMVFTRWZgQGJ8Yj4hfTMyJXo9RVRkdDdqdClYTjw4SU5pfXsrZn50d3J4fUtJKworenFu R2w7PCNxaV9pTXRIa1NgeGs7RjAjaEhFbjNmPXR1ckcjRlJ3X1lUc2VpZk9gSm17P2E3PEZ2eXhT cXokMm5uCit6XlM2dklPcFhLV2l7TjVXaUZmcUBhIyo3T0N0cW1ZZHxSMTNobU9mYDQkIW5vUU5W ZVJtMT5KVUxxcjd0cEtYfmEKK3podit7eSttZn5uNmB+MXdPR0RsU0ZsIyRsSkxiS05Re2VrTzRK NkRGY21XY1Vae31mM2FsWWg5OUZLWXFYWktObAoremdlWjRDcnFNQiFISSZMNiZFJD1gKkYyI3dB QlJHRUJJcUZSdSshZTZkOTV8UzI2NjclP1lfQzB5QUYzd2BVV3ghCit6aE93LXZsaDNhP3dGTVJP UXBTM1ZOJUU7b1Q3U2ZuNSQtTEM2di10QnheQX1CK3g0OWkofntUTzlsUTdeMFhPQyUKK3p4fiMm cT1MbWd5I0xYenZSWDspQkpOZnVDU3tyelNDYWxEQkJkSnFrTUw7Q0V5eU1eMUpYOWhIR340byFx czJHdAorelkre2VvSV9BTWFNbmRSP3lPZE9Oa1pTcnxSQk0tTEJ7Rmk1RHtaSSY2b2ohbHkyPD5m Vit7ZkNwJENhWTFFRkFwCit6Z2crWihqK1VBV3tSOzZlT1lRalVyVE9LS2tFTzI8WDI8TGhJNi09 RDFzMHlJLUIoXk01cio2KXtRO0tZNnUhMjEKK3pydnNKcj1+ISUqcVUrSzEqdk48dmtKPmV5Mztz aW5qen1gbnAzPmc/X1lJYmdTPT9zZGdMJDs0QmdpbWwybWwlYQoreiNpWEcoaU5FbGpjNXY4dWIt RSNmVVZiaVVqYzI9WTYxOVlnb0VUJm9pc0lUMnVhZzMpdDslVUdwcyF6eEhNMFBpCit6PDxaZUhf KCUhZyYtK2pUY258bGA7UHZwMWNqejtRODNnZFl3OS17UkUqIyM+Yjc8SEBffHw/QE81eTgjdGpi N1kKK3okZWFkSXE7XnE+MXtwNEhMYD8mNj1XaXAxR3QyPW1VNFI9MzRsZkZHU2FFIUJnIUNpVVBf NGliQ09na0BHbTs3SAoreiUkdG97OD1WXzJiKUN6PWVwZFlVMnomMXhUeWtJdGpucytVUSt4fjc3 fEQxUUtNZEU8bUg2Km0zKD13azlxP3NCCit6T291YktfeDtAakF9YXF1ZEE+RjU+KitKTj84aX5X QTkobiRFdTNAMnNebyZiU3R9UDsqSDxFPjQ1cjs5OzVVMWEKK3pVZWpSLXIxZCg1MWMycEBgQUxo ezBVJldPNkdMIz1tVDM/QGNFSmF0dlVteTc5K15lVCNley0/KHQwM2k+WTBlVgoreioxWmAyNyte PGt2bypNd3JUQGdqMDU8Vih6KW5VfU9OZVZiJlNeJmM7IT1BUzlASi1CUCQ8ZTwrZitkdHpVemdN Cit6VzJLbGBFKE51NlRvdmpGNyomKWpwZkAxaXVjej49dyFvMUpaci1weCVZMCUhPntESHBZVjY4 NFdAbzBNYVdhNFIKK3pkTldfVCs2Sj1LYVozNmZyYiZvdHdsbz8zYGxLbiFqfV9+Tl4mV1ZwNGtm KS0yU1JXZ2AwMj0/P2BMU0NWVkI3eworekJCRX0+K2FvRyUjQEdiND1OKmVQaDk2X1k2ZnQ2dURa cElPcHQ8fTR4MWdYYDk3WiMmS0hOYE1yV0dUUUQzbHdtCit6WCpSQ2RCUTlWKXpRKU0yOFNxeylJ eFVENnpHTTI/JTE7elcwQ3V8bW9RdTdkRz9hLWJNcVN4NEIhRUxNMEBMdmsKK3olcmtYNmAjQW95 KzswVD1TY051bUNpTTdPKCh3fmlWNH0rdW42bmd6RmJVcVlgZzFeTlNmTHpsJTV8d1FgRkFhQgor emNrQENfezFUKmwjMz10SjQweyR8cjMxcC1BcGR+MUV8K0Y0bms8O3lfOz5QKm1hRWx1cnJJczFv QTxwY0JsanY8Cit6X0U0fUNAI1hAMCNxNS1UNUhiQGlaNnglczgtV3pINnJnPG1CUSk4RXEyWjch ZEhySERnekxCTDlmZj8+c0pve30KK3o1UjFaPU07TEBaKnF0V3dBSUkjXm0lM2t1bXY+YFMoUH1E aFhha0cqV1l5K2ZgQXt+PjRORSg+ZFBfSWo4bDhVbworenJfJTwqK15Fb0JyUEo+PyVaI2B2Q2ZS K211NnJGKVVrJmw+TE5VRGB8NV49VmIyd2NiTnd2U1Bfd1l8LUtMSnRKCit6MWN+R01YLURUeTB5 YWokQD9vSGJCVkRKdmJ+e3ojVXBIc25MeWlvRWVXYmZQVUdYdnRQMytlIU01dDhaUU1TZksKK3p6 Zm5uRCpWSENeSFdMRT1VZkVhWWwtZEM9e1JJJmV4M3ZfRzMlYlZUZDglfUZyREo8N0J7NGV2KlBy bj56cEJiYAorenJpUTZyXndVYjsrVjdGLS0+LSFreDR4TztAfUVvUGApeT5tUVchZnNYR2tRUzlf VFJ5NCFUYmY9enkmbFFjKW9JCit6b1VPJCUpcU55RCE/LTQpdjdWeUFvPnZqcHFHWShJS0ZwXnEh S1djXjR8M1Azd0EtJVpDUExFWVM7XmI7NEtJfH4KK3pVMnNIUGQzT0BOPX5nMkVHSGF6LWR+SzMk eFcmb3NDRGwlIzN8SmAwcmVYRFNzZF9OJFA2dkRGWDVvbUo2VktOZworemZmYE92P1JseXJmaFpw WGY7LTl5azdlWWExZDhRaSV7cmdsVkZCbz1WWHolWllGNkNUcSNHKiZSdEhabkoxfSNmCit6JEFR ZlpEYk0hK29aRjU3OHtOKnliKDZXcndPQmNTZk9xNnJBWVYrY0s8OGZnUjFCMElGZ2swYClkRWhZ S0x6WXoKK3pwQldXeyhxV3FPcS1hJGVFJjdsKDJlO3QoLUdqJXRkQkZFOFQmPHpYP1dEPFpUJjty O3FufGombVdRdylgV2Q0RQoremY3PSFOYHRQaStiSl9TUyYheF9SUktuRTJuZnVYbTR2NCRZIVZa QitnNTdoVDB8PmUlT1VgUDgtdlMldlVkOG99Cit6NkQhI2BTWHxhb3ErOGBXVG5LQj1QUitPbnVA dEF1SEtaeU5xNz5JY3F3fFRvPDV5VFhYen5eZGQ2ejJ3V1ZLMlUKK3pxWnwqRVdhIVZ0UGZnUmle NnRXIVIpJDBJUFdodDt5RWE0QVJ1JU15dFlOUXlwNTclckJxQjtEOXI8ZnQ/fndyTworelVwUHk4 ZW4qeSVUITZuQ1JCRmRIRjJRe2JhdGZOfSR1RjNzPl5wK0hTSVVNfEFGJHliNzVqV3UjdE9kRXA+ QXVzCit6OWNnekJwU2F7X0lvOWF5amtqNCRaYyVRY1BeTTtfaD5GZD9aJH1RPmh9bWY0YXBRTWti JFBwaDtRbXpaP1M+MEMKK3ptVkQhaDB5aThVKylCdkBaKlhTQ2tDWSF5KCFOUDFETyEqRFFIXmNJ KkM+czd2PmRpa2FreGxubSZPTXYpRURIRAorekkqJCN3N3Y4b2dJcUlXaXZFU25URERgPDxDRX55 K2pqaHR7V2UoT0dKPGs3bWxUN1Q0QmtnSUlGWXNaMDtGTGNRCit6O3hxak84UUA+OTw+VGhDVi1Z bE49LSZ1Q0dCJEdlNXVUa3QzLW9VcSU0SCRCKUd7Q3JubG1+R2hCe3ZyTUd0QjYKK3paJWBrVGNY SWkrO18kWng1blltZDFFeGA0MkplJnsjXy1+YEhFST14ZyllKjNHezIkPz5LfDNXaEdBd2xGUSpz QAorelhSb05oSWZQZG0hKUZaS0VaM3dRIW56Q2d6KTAyWEgkO0VTKiR8amVVVjFVQDx+bXw/Snsq ezliJUshRmNwcjFsCit6MTB6SiFURU16U3ImKjV+RkUtMj1QRFNtUShXfDt+dT4+ZXIhIXNORkJk NF9EPU85VmYqd0RuXmBLM31mQlo/OXwKK3p0YVFGJElIeEZHZGA+X2JRSVVuaGVxMj1ja0hkKWcy SWQrYFZtaWk4KG16T0lVNXtLNnUwTXlRXzZEdzQqXik+bAorejxRJVJUQSg2PUxPKy0rRHg3SnQo Uy1ZVHM2e0pNeChmUEMqSyY/ZTlXVExuVHYwczxqK0JHcFVIfF4tIXIobmd5Cit6UFNedEQ0Jmsj bjROUj9vZlVhMHBfdl9aVDtabmA3YyVnME5PKHFITGc5R1pNND1ZZXVAeClRcylFaHxFJlBRX2UK K3p2KXZEY241XntANmxgR0ZoLXBuS3NpNSVTPHNtbnk5U3hlOTZGMCpXVClhTkZoZ3VgQVlrOzBw KyZVTGZ5O2RpbQoremQ/c2YlT2oxNHYlLTE8QztsRFlsJk5OeU1vR3RQUEhGMUBQSms3Pn1QVy0y WDd7Xlo8RUArMElfWmdzPUlseTNkCit6cDNnLWZ5QzE0ZDluY3lkWW82UXJaIW5te0BCakxTbWpI JCRlcH16PyVpfkVqc3FKfVY3QUhEcyh3OG1KKlFKbTAKK3pyVmk2RE8mMyNDSGxyXyVoaT4xZTh1 cilMJGtTNisyM2pwVlN8Jj8yYXZPVU85UVFCaCtDRHpoQyU3Q3JodFpqKworempWN1F8WmA/d2lC TzxlTWBYU0AlfEo1e3AmKSVyentNUik3MmxCcmtXZ0ZTc3wzYDVebDlIQ3ExXzZyS09IRkhwCit6 cVRVUj9NWSs7TnghWE02ZC1JaTdJb0N2KCNLbSRTQkFMNFBjZE1Aemd6VW1RQXQybX5aTDIxbmZT UihFTXNuLWAKK3omenNVNmRPWDB9IUA8ZjcqRUNsJkU+N1ZTXkNKU3RNZjE0X0tmJEgpajNhSVMx XzhqXmt8Vkl1VENIZkooZHZTOAorejB6Z0dHdnRSSmlWPVZzJHtoRkd+bUc9YWE+Sj1PSUlQJDYh RU9NZTA1PFB5ZkYkU2c0VUpmKGBWXzJ5VmRPcytNCit6ellrc1JOQEE+YVljM2oqej9ROCpmbyVT LUpMWGVkYylpSiN3T0cmXnQpeEVEUGlBajNYQ2tkcCVzJUNoeV9IcWYKK3o4b0xFNiYqd0VwbWhD NHlzPmRgNmVLZy0oY2BfRDYrRzFFWkc+MmdZUE0/cFFqTVAtKGpWJlo8I2cpP3lZQ0lqagorenVh alZURmJeZGl3MDc7anQlS0hPNFBBfSg7Kkg4YSlrMl5kb1JvPntZTkM3YCs9WjtmdDc4KEs3THx1 V3RQdiZ4Cit6ezQlcDArek1YZmV4cDA0bjg7RzJ3TEx8Smp2VEQpRTcoNngoPDBMUWR5PGthSG5D Qmg4QUl7dDU/UFV+blZIJWUKK3o8aFE9MGBHKytJUXFJR0hZRn57XzluclArM04hSSV7ZTxtVVF5 NjleYWJNNUhBbE4kSWRlXzZxcmVPXjZKXyFDagoremk3K01DKGdUQVlOcXVmMGt8PzZna0NhdX1k MSZqJUt+YGBWdTRtSDdOfSp6JEVMfWlYYD1SfihLV09WZHlaTHhECit6OztmeysjUDJ9O2JOPXlU WVdxZ3w5VEpfOW5IRS0jVzdKV2cyUmFzMjYzTjUrJkFKaCpsWUc8Nz1gNjA3clg3MSoKK3pkTk1C Z1hRXlhAdmk7NC04ZmR1RFJWdG90VFZxVkBwKlRqLVVHfiZ6a0ZmPXdCT09Yb0V5bmR7WTYqNCZp WXpmUQorem4rVmhnTj55c0FALWh5SkZRWStFPjhKaGVFWVJAVyZNJjkoYWV7YTlhWHUhe3VyWndA QSROVGFIK21aNkd3TVVlCit6TiErXjFBPHA4QztaaGJZNUhabG1SZ3trTGRVKWBzdWhNOFJyJVNC ZkxjVSMlLVpwJVB5aF9MMWVJezs7cSF+d2MKK3oqKyZpQiRJO1ZfVztFYCFDO2xPTENXal9GPDN9 MkReTVJSJV9wPGwyajkwNmVZMzBeQ2Q1OSs7cUk1aSo5PzkzKAorejwtZz9TX2tSZ3BofXApQGcj V0Zkc05lZWU/PFczNnpiNVJDNCohNyM9fjl9cSZaSX1eZW4zZ2lNPHZNZkB8RS1tCit6VUJfYDNy fU5NaE5rJEtqTE4tOSZ1dU4jViFOfStsPmArU3oxamFrQ0AkUmBwKm94Z0tzN3BVZUtKPj1+SHBV akkKK3o2MjZgJHUqIzJ+aVFSYkE1V2MwJUJ9dWQmcWImKnBsczZ0IUV2QnRYXjxMd2xmVyFuO2dX MVNFITJ7b2NHcCl4aQoremxOSERVNFJxV2U/RmQhfXphaFN1UkcqNTgwdTR8UEwzYnJEbmpmc3Zq MkRfVHs0UjlOajlhWncmflIwUCZVVXlzCit6V0l+MT1qT25Wbi1YbkY+QTZBMkYlV3JlXlckLWVt cUtTSnJvd1VxQk8mS0hIUFRkazZGJSZgP0cmdXgkaERTYnwKK3pUJWNHY2oyaShnPjA/eiNWJFFP WlVTR0dTN0JRMVRFdXhUNjF9c2BiUCttdVQlWjBpJVlgKkRuSUlEMV5FenlSSworeipiUGQ4ZlVv bVc1IUMmJEJZbHh3RTE0c0E8VWxSdEJGMEB5VlZvY3ZPY2VhZUFNUz4zPCtYQipBYi12Rno2Uj1S Cit6a2shMk5lKUpgQDR9ezVabGVzWnV1IStRQ2thcmFGKShfbX00QzZTWk19SmxadGBLJDklLXQ4 OXZkZ0lPcElDU1kKK3pIVVBQJFF9O3pMU15GJE56PFUtdHh+ZnZBeV5eVHQlZGlSZDxxbHZ+eXt7 ZGhXNlYqQFh6Mz5CdlYoJHsraldhSQorenVDbiY1bkYoKUZVMUVgWGF6Y2VuK2slPiZ5aHAldG5j eXw/S2x7Tnx6VmIwa3wwP1F1OTZCaEVucT4qcjswcC0xCit6NHdYNHghUENhPjlId3VOa20/Qnwp JUd7dU5xdnhTJjJeZU4kMDhxb3k3dTF9Pi1xeHctPkMjNz5XLXclLSlJbFoKK3pVeG4jXng2M1NU XmJHJGFsJn0+aTFMc2VWNWNDYDlhbWx+bjNWX1UzQDEkcEZIZCpNJE49VFg1eGJ5KHNJTkI1Ngor ekkkeGQycm8mfX0yTkVYezFfOW0qQ1Q5RjlRSX5rKER+UH19U01qK0xnXjtITm0lYykzPXZMTWtS RH4/bEFGaUxECit6RVMoWFNUM1ZpJjBCIUtaUSlqKzh3QExBS3N6VlRGSUwhYTZgZVpKcTdAUChW YSRyZ3FKUz4/RGomM0tFWkdDTkYKK3peQU9EQ3EodHtrTU5KY2RmbGN1amJuPEtIMW5SfFN2dFd6 cXFQUV4oYitTNktEY2ZrKks5NnlCM3UoZlIjPn4tcworenNhUD5vVD9sfmpWZVhtM2xVZmJBVHQw YipQeERHeExIXihXdkwrYislOCp8YUMtKmxFPGlCSUl0WmZYOXshPzh9Cit6RGdHfTtpKTs7bjBJ QS1DSl9CUGQhc0tPdEYxNDYkcGphS01TKX0xLXlWKD1QblhRNzFZI3EzOSghKGJCJXB3NHsKK3pN NiQxJGo9bmxhJEY/TFAxN01QKDdETztySCQ3SUJAUT1jKlZAXk5VNXA4aVViNWdwWlZ0MjdgekhM TGNTcVB+aQorejc8YC0yNmR4QlR2aDl1QVhobkxmJlpLfTRDb3BEbExPM2FGZVUwbkNuYi13JWBl M3c1a202TU92cTg5bj87bXlyCit6X2tOdyM1SX1uclRwfmEya1J3RmhianRSal4wXlFoPGA0b3Rj e01GWEhOWFljdFp8QT9hY0psZmckIyYoMzBec2wKK3owe1IrRDtFTX1yTzNOSXMofU9BWkheKEs+ LXkyQUhFQyVYe1lIVW45RD8oemkzSSFwRWluVilPWGJxYllVUD1GRgorekB5YklxKVBhVDJuOU1Y TnUme3ZHTGw2bGg+akI/NlFRXz48MkxDSSZxMkYxKVA0ek1BZmdhNT9ndzQ5VTNpS1UjCit6eyFi Rkd0PlhoOUY5Un5GTEw0JnZPJipnQSVnSGdYWldIX1VecT1TYSF6YmBKQUp7dTEldXQ9azs9VUhO RFhUcCEKK3pya2pPTGVqWWxrKDNlS0QpSyNDTTNlTUMjdW0yTEwpeHdINyhoTFV4RmxfTU8qTXFI fHtlUlk0QUtfVG9FUX4mVAorel96Y1pMaylFfmR0O3drQElhZ1JoKCZXPV9Icm9hdksjYD8yWmdW Oz5KTnVmUmBTaDQqS1MhU0kpZ2tBNClSM0I1Cit6JlNZfWpyMklPKjNhUE1ST2Y5Zz5AYDtWSHhO fnVHaUw5dSNzcz5fKStkSTBpYCo4RT9GJXB3YyZgO2RLY3hlX08KK3o3YGU4Ty09ODlqR0cpcnl7 a3khWmAmaEZ6ZiVpVFUyXzY4QWp+KkJ4YzY0KU16e3xxYilRK083e0BiV0pKallCJAoreio1S0gj NGlJVigqdDFBPzYrd0NNS258ZGtBKC1iS3hvfnp4QjRMOFQ8S31rJVp0M1lRR0pHPXQwIXhyfWQt eWk9Cit6ZFUqYnBhcCVxQXgyTmRHeHZaPTdMVDFKcTdMVnkwVlY1bXV8RzVIMXR7fDtEITJaQyU+ QlphTHhjd0VMdGt5b0wKK3poUGEzR3Y/alUwT2JJY3A2VzU1PUw4Xj57ISRtOyM3dzRkSTdCJF83 cCpkR1hBUm81YlZPSEV8dWJFbF8wMXRaTgorekFRVlhqcTBwJkRiWX1NU15EcmdfZVN8KmZpd0hl TjNKPW1PNDBHUWM9ZkRpSE5UTW07QCN4O3JAaSQwJWFoIWt4Cit6VyZ7TWJ2KGRDSCM9aiFNd2hp UT5kYiFNND18YTVXKVF6UEtFSl5QRD4rJEg8YiM+eWRNPC1AUlpnfHVDe2dPJmAKK3pZRGktKDcz QFFOR3RiJFE5dUk1QFlQU1JsRiZnNl5BX3NQdGBfdCM9VEh3QU9zIVB3MHslNy1BZDw8XnprYEVL Nworejd0Z2FsISlsOVFUdzdrZlBWQ2Q7PEJeWn5XeiN7U1p6PSVRU35fNUVxfm9xJHN3dWdhJGUx cztqQG1xeGQ3bHBBCit6cDFZZWpqak82dy1lPlg+VCQkKFl7RjZSIyRaUl9GY3FiU2NnZU03Sj40 ZnRrQWJgakY9bChzXlFSXnN0ayteJjQKK3p3e3BRcjdVaSEmblVRVjlOSGRvTDBGVTl0NlNXZl9n Pj8+cHB7JEMlLXpJYiNrRlMyelhTelRWdGJQJGhAP3xNbgoremIhVX1vRD03QzYyWGc5JFhuS0w4 aW8/RVAqKXpocWJ7QV5ET1NfTWEtJSFAXlg7czl8bDluQ0lKbE1oPnh0OU5TCit6Yk00YC15LUJu WE5TMWw4QHUjOV5memBGdmx3YVpqKS1Ib3MxMUotcmNVa21jdmZxc35uSTRXRCoocFRWTU9YZysK K3ojbj9HVFhCS1ZpSG53ZUI3M1lzX1ImM2l6I2tURT1aUUhoTytjdDBBYCp1IWl5WTJoQi1xKUlR ZUJXNVRuK1d8OQorel8qPy1AJXZaa25uMy1pNCEzSz9DLXppekI8fkFeUDQ2IUlDJT9ldEojQmNB RFZHMkxMSE9sKXJkPlFoPUN4ViRSCit6RW9FOFk5ZGpsdVUjK0JJO2F3eGBiT2psbHBaZEp0JHQh XlBfIyowdmsqV0ptPUxkKzttSnhDM2dVYF9nJDs3Q0wKK3o2dVE4SzZDeEh8V0VmX2Y8X3VWZUxA QFRpJnplb3tPKGBaN2cxMXdVRk9rU0JvMk41aUJvKlVrPyhIR3F8S0cqbAoreiRNOzd8NVhWKzkt Un5+YWZjZiY1VC1WVmJoPGc8ZV9hKWw/aXZqMT51dXV5WntMbE1gbkk2MSoxNlIwUHhTMlZ5Cit6 Tj5xfTgha2ghUT1gJTcmUEo5cHRZPC1xSXVhS2dkMStXVElzTWoke0kzQjt3Y34mNiV2YHFuTz13 bVZhOTtLVU8KK3pRVDE4ZW85em1ZVCRDPDBvZjZidEY1Yk1UPns8bkEtflAoZCh7I317PHwmNylO P3M+XztfLVlDNzx+dkB4KEtAVworelJ1YzJhTkhrZF5JOG55RyZUKUkzUHszZj5oJiopfHRIMFRr TkBlVUEwbTk/TDVwc1VkQl4od2F5Vz9TNWFSejkwCit6aEZ5YkhTcW5TUi0tP1g5Z2VnVl5aSVYy PmNFKCNVZyotYHkjb1A1I1pSeFh3dFRtRjRFM0ZKfGVQQGY5KUFuYGEKK3pDe0Q+JHdUXzZGTEdt Q1JIYVE1cDF3MndmbDFURDs7JmkpOGtuaFNIPWIhNWZqUWBMSV5oX3pEQn5Ye3hEK00xVQorekJ5 Iz9JY19iJHxuQlItRDJ1UkFxTj5PSSEtUSZCcSZxbWFyWHV9b3I/PHkhK3k9WDBpWWEjfCRfV2Fz eCkkRGZhCit6T2t3bUhzQEMoKklCTGx0Uih5KEt4KFU0U0V9TjghVnpkNnFsQF88P1VYKXhTemEj PlhxcSsraGV2TXIrc2p6VV8KK3pPWjNUeCRzPU1fNShpMVNSOWs9b0hrfX5tbytSTG1PRitTUTs2 UWErPWhlIW9nakp5N0BgTyskQFl1KzxOO1JWWQoreilGKT5kREFFOTxENHsoTkJQNWozIVhyaE0k bWQ1SFhYVl9ZYkhkTX1AK0lDVT1gNSVaeEFNdUVLS2V9azxCMmhMCit6ayhyXjdnTmQjI3t3eCpB X045O249THgwWEhaYShtQnEqUTtReCNMeU4zMTNYZzZ4U29pcyY+SVYqMGVfb3MwN1kKK3pFbitU VE5OWHlOVl4kOzVKdCVqVFVuJmZWc1ptTSs8JDlhcm5EelVndD4jdW9aRjk5a195ezZzU2ByeUJs PTxhYgorenMyNkpKLVdAJjJxOFNEOS1NY2VmQ0daQX0hMzdPIXJ1aSFzYWhzUGEoWXRAY2JXP1hT VG0/ZSNRNlpjNDZGdU5+Cit6UmUpUHpTZDl3aChnMUNibDAlMzgyOTghWFpLNTF1dXQkbVd4OE05 fExaYyEtPVAwY3QzSj9DWTBLZk42eVY1a14KK3pTektkfUdKUiV5bm5UQmdiZzRfcjJqZ1RfQldD YXQ3OGt0bDZwKG42aDxgP1luPXc3eWE2bVlNeUtCdUdseiN3cQorekIlXlF7dyp2WUhRTlR+RDNO b3BzPSpnYEZAd2RiaCNAOUxMR0smNUtSa2VMTiR5OClDOTdvSHRAd2EoJmRuJXpCCit6PnIzUTxP MH5WN1JGXnNvKk0jZnhoUCViJDdyTGdAWj41JDNNZXh0YyhuZ3s/QlUlbWgpV1pyfWsqRHtlUTZJ TUMKK3pgQklpYilsIUR+LVlqa0VySEMqcnc+ckF6TEAlNlNnWElfMzlJbFI1UkwkYXZiVmFJNjhp elh4K0h3KDVOJE4paAorenZ2VWFObzJPTXJTV3k5O08zPWFTTilsK3ktZSVJcV5Zfilqbk5fQ1FA WT8ySVFWMT9FM3h9JkZAb3ZvfEE7UUt8Cit6OTIhWUArd2lQfUVWSH14e3JuNGIwK0NkYjRmRWRg VGI0d3pGPUJgQHZqPXR9KHFLaWFoUyhUJEJrRk9hbzM/dVAKK3prOVlQdF9HfDtiUmVwPFdgWVo1 bGU8M05SOGtqJnZBaVZ3RmhqUzVSV0krfFlkMUFYK1N5SDFaZENTXzE/WHVSQQoreiQ5cmlFNE10 Q2l7dW9oS1FWZjQ+bSF9YmFSJmNEc00zUDVyKlkoYF4oPzs+OHIjMjxqdSRtaX1mdipxbHZGY1BH Cit6VkZWbV48TXBFTDJ6IUxJeGFxKSVTNmVyVXA8em97WiVaZk9uQ1UtekRnbiNkMGt+eSFLZisk K0Z4aUU5K2klZEIKK3pnX1RebCg/KFdicHE0QzFQSGFFZmE0YkU4Rjh8MSttNDVfalIjI3BsKlVT SFloTj8zLT1PY2IwQXBSPyFhZnpCaAorel59SXR7JGdwa002SVpYQiE3SlI5QnM8UCN4ZlliMkl7 VnVSZ25xZnZNViM3QlVJRThYPzc9RzlOWiV2SWRibkdKCit6TjU5ZkVpPFNqd2RDYCV3eGN+dDNh RSVUPXFkfD88TXBYRE1INnkqYmx4TWJGPylrI19jWUMlYD9Ddk5EMkZmI0oKK3pWcCRYWmxqV3l1 aXBlcFMhUDt1bHR4aUZCV0tCMiEoS0Zjck1ofU0+Q0F6eGVjM24pRnchYW1zUV9AUERBYXB4dgor enM0MV95VXtve2lSNmFYeyl2LX0rT3FJMStJMkE3JU1tKWlpWGhNVDcrPjErWiVBRjVpeDh3ZV94 VzVBREpnWUtYCit6U2lafHU8NFpEPVhgQCpYazZCcWlBQCkhND9CT21PKHF+ezRwcyhTST9Cb3pC IW57ZEAqaE0odjh9Kj4yeDtETHwKK3pzJkFwPiU3Sk1pfDRndUVKNTZMbXpjUnRoQSU/PWpHNDl0 TFlyNDJuMVExO31aaiFiR3VwOWFUNUBVVyFrT3psbworejlnbytlY15paDdFYGZLOVpHbXs5MHl1 QlNwfGxfMiomTzc/OH5tQTApcStaaHFKJHBOMj09dyo2IUA0Q1IqclN6Cit6MDdqfkk3Tkw+QWE9 fVhlPEByK15jbWZrdHJBazZsTk1sKVJGNTFmMF5iSHZ7YnxTQUhgXm97PyRocGRSR21EPGkKK3pg OEpFMEBET2cmQlBSaEwpX1BKMyRucztXbmk8JX16R0BAfmclKHJXbmVfVm5ob0NKRSghVHBUR2VS RlJPMVA5MQorelE+akpwN1hQXkI1UUBlKChOZFVedyEzZGZPTGdHVThAK1ZNbClsYVA3fDN7Vnt5 K2FEZXJveXteN0tffF5wISh2Cit6ZCgyKEBEOF9DSmJ7PEJ3X0FxUT5IRShjKWNwWUt0eC0qTVh1 c2QhPmQ2ckczZDB9VVJSblN6KChwSnBfKWRYeEgKK3plOC0jSEZ3RWpqdWI2dzA9WkkrQ0xATHVB aEwqYTd3NmJ7YllLJHM3SUAqcmZGWn1ERnU5RT5obVc8VlFibj5VZQorel5PeFRYKD10IVclRFN4 Kk8rakopKE1MbEJJRWtUN1ZaNFBDJGRjZn5fZ3IqaiZxMCE4Pm1nYHAwJnQweilVZDRDCit6ejU4 cG1UNENwRU9jNChCZW5pXz1HZTdqO1dMb3dabWV6PHtqZysyMjkhfX50IWszc3BWRlo2cUtDWnJ6 TCZmTHIKK3o4T0B3dzd3ciNnZTA5YHFNKUcyTnBeck8td0trJGE8MjA2YypVZ3BZT30qMyRgMC1Z Qj1RYzBEV1ErekQ1NFg+PQorej03JSN8KT1AfkY3ZyFUNFVLLSVRckZ+bzIkQmtuQkk+N0Z8QSM2 NHdSWUNFSWVFTTRCYX1OYHA1OH1neGJkR1FkCit6LVg/Xm5UdSFtQ0M7akMjd2k8RSFtbkNnP19h SGllY3JTRFFgOWR7RFk+Q1ApSXw0XjtycjVQS2VybilBOytgQEYKK3padDtoPU8zant9TihXUktX ezhOZUQ/QTFje2o2aHxATmZSQ1RyTytvQDMwKU9TQHkheCQkWT81UUAwbyV0QT09cQorellyUn0j bXtUPH15X3oxX1JOWWV5KyQoIXsrQ1JOcjBeIT42WD9sNnxMS2lRY0t4KVV+Zk9NeUx7S1QzNnN3 S002Cit6NjYpZF45OGlIJCtBNUJII1c9MSg1JDlJOWc0PW1eXkwkdlhBJHNDUmY5RXVMMGJELT5l Q1k7eFhPSnMpLVBSM18KK3pZa3E0aUxzY0psdWpROTwlJih6MWk/a0UoUyFEVGBrRENzRlg4ZmY3 UyNeN3VgK1VNJXV8QnxiKG5mdShJbUhURgorekpDeD1eIS1NcTVQU2A1b0Z6OXBEMUAkJGZaSH1l WWlyLW9AbztWejdZLU01fnErcjQzZF92X1lSRHV7NzAxKE4+Cit6UVUmN1ZfTzc4NlZ4em9QQ2JM SCNLUTZnez1kVGNXeis4QVVSekNSKTVubVN5NVQ9S0pfVighPGZTRWxXZVNzfjwKK3o3SiRKTCM9 SVkxZVMybDA/V09rM3dua3FQSmhILU5vKz9ANmI/bT8ke3F8Y1c4Xn5yVmgpbHwlKjY8PzlrPWxG Ygorek1JI3I7bnUoS2tZMEQxZlZ5Q24yKmI7OUkyamsjMT5JTXtJLVVia3khTXwpalZCUz53VFlk Wkk7NW0xSDk5TGVZCit6OFFRJWA8SWJOWVlIfWFSdTchQTs5dGhMK2pRQSlZYz9WPl9pQF9Eflp9 O0xUIV52VT8wTCRtIzwqbT1XJWlEbykKK3pifHFDdlMmXishYThQJEcwSUlrT2ZaUnUwbzRqPEV7 XmteWnA7aXFhYnJkUW1ZY3xJMUIySGcoTCVGYypTPVBMfgorek4zUEtBUn5ydVY7Qkg5RlpZKl9q TiRzJWp5KTRMfCFTNWp5SGwwZDRHSkRaRllKRGxQVzY8ayQ3ejtsWSsqemVJCit6aFpvb0F0UGZs MmJ1MSQ5b0pPV253MCltVzdYKk41Ylc7PThqNUlUPnhmT34yJSM2OHBkfWpiMndMaCE+Rm15fTQK K3pVK28qRzspJnJFJERKJT1JPUcyK2cmP3BiWFM+I3RoVSVEUStPQlJYRlZDOHpVU08kaVJuP0dG ViN7c2dlPy0meAoremVYSm9ZZ00wTWM0Xj41TUcrPWlRZWNuUjhjeDNeK1JeVnAhOWpYLWhRSVZy ZEVzYHs1OD5pcnJAWE5hTlkzIWhyCit6eFM3WTd5XyN7Nm09PXl7emNLJTModml0RU5eMUJJe2kq cnl4MFV9QzRtcTBxZX1xRiM+WWpFUjBGPEFkOUsmZnIKK3pCSjMxKyVHSGY0MnhvdGNYbnpuSipT Z2J2ZytiMlhscndjKTRRN2RRaHdGdE1JNyFKdWYtfEVWRmhDc307JmRlYworel5lcjZVbEBmSFFw X1ZDTDAqTTtrNm5TbTVhc1c5RXtxMENLUXRtVX17SEhwTjBFayZBcnglME5EdSNRbXshRipNCit6 IXE2I1BlWkhIKHc8MXdUbjFxREF7XzdZbDBIJTVvbTcodEZWR2YpNUN2cVU9VyoqT2s1TFNZamY7 PzQjQm4wOHMKK3pLUmk/Y3FlI0xINEJKdFJEbXl2VUU4eChUQ2hrXl44bDRlfGhrNmkweSpwVDBs SXMydlN9R2h2U3twLTBkajZCKAorem9eYEpgU2lsWkpUZ3FqSW9CXnpkZ302O1gmSGs9YUt9Xm5+ TUJeSV9vRCtDTjVmOFF1eXdTd2h6V0ZHPio9N1FiCit6Ry1KfXJOIXIwZHpfVGFAY1ZeQ19LNmtZ YnppISg/bnJUKDlScDVeVW5+RmdBXldSbHYlaHxfWVhVakJlPW8rZCMKK3oyYFFqekFCTUN8Mipw VmY5N1gmMFFYQXhyaG83VHchZkFKKHg+dT1+c0ErcWlEaVBZVzw4UDlFUztYNmRePTMoQworejQy ODZAKUJNYkpQcyheTzxJRlM/UXA5ZjZLJWZiVnsmOURfQDVqfnN0VUxGcEc7PEoxcTN8QXxlZkNY RDBvaj83Cit6P2V2XzlvKXk3VlR3dDJ2ZDJraFlMcmZGKGZEck9jRnA1cT11OyZmN0JAdWdXb0dU SEJUSiF7aG18JXQ1eDJNcFQKK3piaTZZfHl5IzJNYWIqJXgpPDNOQyQqP2l5d0pHVl4oUEYxP09Q cXJhPV9ORVYhZWIzT1Y0VTIhVy00JDYhPmopYAoremxONHUrO3xubHE1eXokXyhlVSRwYFNPPGk3 dkRRKDZlKD5xWU9ZdW9odVNOelpuMnxlQ0RgP31BKGBadGA5fV8mCit6TE59MEB7dkczY2QzR2dv UlJnZUc1QURoJGVRal91blp5UVFFVSltc2VhRGd4MFBkX2A0RHhGQjNAZEx+YGQxZEUKK3oxWjBK cmxfUjY5d25GZUg4JSkxSE9zMHQrYDttWV9xJGtjTDU1LTglbWxoPHw0QFowenJTRHwhem9DKmly QlFzOAorenQlWVpgUGcxO28lST5+P19QUjIxZHYzfkZnIT5JMkZ5KWhFSiVYSz1ZQlhAVXAmNCsy QEkkNmJScFR6KjE0NUJmCit6Yk9KQCs7cmgpUGB4VXl1YHxkcihnS1V1SDAtczJUZis2WiE5XiVj Mih2JjRXNWB1T1NCM31AcV9+WFRFI2h5QEgKK3pFciFpQi1oMWhoMzZ6PnZNd2FwWXgzaCped1pJ UlhiV2QqMU9KJk54LVkzYGlnc14hO0NwPnc2UTglTHV1bi0yKAoremZld0owS2h9K0VuSCNVPjVE JCV6T3U9aT9ZWjMpWGJPKmBqVGFWZHtaXj1FUjNlRkJVMGptVj80bVlXPHBwYTxrCit6cE9KRSN1 YWMoPVMyZzdHe3BHVHxMTyR4WUJRQSlNUjdRNyNNYy0xMCl6YyZ4aHIpVFcrJSNHMEFtU3NAN3pr YkIKK3pKN1pxMVc1UWNWYz1pWENgeDB8OCp4O35WVyZBfWJyanVGKjtvbUFIQFFTRFplI0JuNWh+ cWtnP2t3OXgzKjBxZworenN7ZmhidlEqKDlBMEArQ2ptN1laOS0zTTJ3Zil5NF9EcHJeQHxUWU1M QD1zNGRBM0leMW16ek4rYyl7OWh6JHk1Cit6TilVUUNhWFYrPmRETkVzRnN1bi1kZHt4MiZyISF7 NzcqT2BNQ1RHKWYtYz9PTD1MKUpPVWNRKzF7cG1FNGRHfVIKK3pxWjJqaiZVMX5+eTRHezJvYHU3 K3A7KVl8a1FheThCfiM0RHFYYl5gSjNzRTBFcG5SRTQySGRZWCpReXp5dDlNJgorejc/STdKeEEo e1dvUXIhJGhjfV8wRkUqQG0jOUFoVkYmPmNKQ2FCNTNPdmNvbyFWTzEpdjx5dWFJOEB2ek9OUnU1 Cit6aDJwe31JMGxXVzYmRmkxU245byZyKnNBcndxaUZJUVVjbXhoI3RGX2syTVY0eUFxTz1mO1l7 ZDNnSTJ6YWRIQlMKK3paZ18zWVBjNiFGNX5ST0ljNHBiV1lwalZWTnh4UXJEK3M4cEw/QEVpcnNt aWo3Ml9BVml2JWEySkEpP3JAS0gkJQorejBeaWNXPUdPP3dhQlBINk9xMDdwUCpLTmZ5JGZUZ1Mm Y1M3cnxieSNgVDQ2RGR9NE89NVlhMUVzTU9tT3VNRSt+Cit6VFo8bTB4cCtuVlAjUGswJSYteUwq fWl5UHk1RXF3SWQqSkxpakItViZiITtNQlgyWXhMQFROcVpydSY2WlYmN1QKK3o0fGFhc1VoV255 SUJzZzVwZCM0MzBFVDExQ2lWfEVQWm9FeUtEcX1kU01OQDNYO3R6KStFKGA1VUJpUyY4K3hpMAor eiZoQjA2diQwRS1QdFdYV2klblorWF4tSyNifWwlbmglIylxbWxgYW9uYz5FUz1AbXBKcE4kZkBk bHtUTWk2PH1sCit6Ukl6ISF1VXJLbDRkRXBRQUczZW1mdGM5ZG92cz1tcDtNJTt4MEM+a2JKYC1h b2ZsRTxVQXN1RFEoYHVXSm9qV0sKK3o4bExPPFNDJTdIYiU4fGVkRGpqYmZsWUdxUGpLNF5sTXNQ Znk7Wit2SWhZcXE+TTsjUCVEViZDMH5Fb1hLeWVFJgorelhWJDBKdmw3IzNOMj49T296blp4XkFh TTwrcHRQRE90a0RFPjJtTjdLYHBtWShNQTM+QCg0WFBiVSY7bngyaVJVCit6SClDOyZjRXdzeHFw VGJTN3gzT29NOztyck9UMGR6cXtfVGtTcUhIaDRjIUNnbmkrRXlPQHl4PSVidlBaOUpZUE8KK3o/ Py1EUWJEQzRVPXdKME8hOD85eUA0Njt5K2N4O0BFdX5ifWVDPX0hKyVeY2NZeEVJY1NXSTN2PzJr S31pXmJZbworeiYkYjE3X15XZ21oJUV6Rm8oKD12KXtPMGxIZT9HUT4kPFVwS1lKNkFMcjN4bXhv cmxgRXZyc35zMzxrQVFiPFBmCit6RWRMLWFTV1V8JjxCaCtSS3ZeMzglcko4O3lnQytOe2V2fSR6 YV5tXk19S3FlPj57SjNwSnpvKW0rdlhFWUBFJEEKK3p2UVVjYHtRUiNKbj82RXZSfmE0JT12P0dL PE18di0+PlctMXtPYj9AWXFmS3daRFk2RGl1P343RHd1O1RhYmZNYAorenZmZGFCM18wM19OaEkp eC1oJmU/Km94fCZWUCFjPmJzZT4+dUkxTkg3bUtpejdqbl4yeUpTVEUzMVRXYnI8Vy1KCit6WnlH TGk5ezxTd3d+RzVUITx4I3lFYioofVl3PU9RTjx6ejZDaXhCflpPQG9Ia0t3SHVoeGJPYVk9JC09 ZSR+M14KK3o2bzlZSnZDQmVwT2lvMj5pPns1KU0qTXhISzJBSHVZTVVjMEUzSEFhVmVOPiVDeVMr UiFge0tFdUByX2xaSERwZAorenFOMnNPUF9GP04jUjYwcnptQjctdkYkRFg3YTA9RFFNSX5TWns3 Xz9aaU1nV2dpfT5aRzk0KEdOWmxjQSU4N34yCit6SUZDR2RqcGBxMzhocl9kIXxNSWk5WDIpJm5+ TChiN091dzEqSDl4Q0diKCRCPzE0Z3Z4cU9jM1lhKjYjbGo8YVcKK3orMiNeTy1aJU03SkdWI3xo cFQ1eTYlREE8WjkmNTZlKUlnMTh8Qn1se3BxOShKVyZwIVdBUmt2UW1ONnFIcWUjZAoreihASjw4 QU40RzRONmVINXorcztkbSpTXz9eZlUlalZJRHxXPkcwMW1HNmJJTDhsPkpTdl9VKV5wZFdxTXpI eXpwCit6Qz58S1E1a0ZhZiQ2QjspSCNGaGxQaiNxU048U1Rvajx2VSFXaGVmbWJNMU82QUMjWVl4 UmJ2VXlnUXklblQ+MjkKK3pDNCpFN3FTVjc7NUxKbiVac0shVThrK1ZkTXwkJk9gR1J+eGdNIzZ+ aEAmO2FpOSUwcytZOU02ZERZcDd6UXMzOAorelEkP21NJG49ZXx6aihSI1dqRV44UUJFJCF3ek8w RUV4MG1zNXdmOEJYMXltbnVuVmVNdnp5eThfPERfeF4/PDs5Cit6U0dAUHh1aD1BPkphZVYlRGtE ZGFaNyZMOEpPJVV3UW1QcHMrQF4oLUJHPXxHXldeWVdOZjlmdCVybFdMY3NhWGwKK3pXZW9RUWNQ T3JrRiVmays2NGhLeXVeMnFHNHRAQWpnJGlQKU43MSo/Sn1AQEppOT96KDsrWT5LWDlzP3tGNUtA Xgorem1ZNHlBPT5oQURDeUNmfEJ8fUZsM1NyezR7QW1zbnEhey12a0ArPDFIQG4wdGY8OVdRdXdF b1Fwa1dMcXU/TTYlCit6Q0BteFNKTmg0eWR7fTRgTVo3QyRCKHN+VkpERDJad3ImRCMzSTYzTXM2 IzJfdWdKZmA0Q0pXLVZWY2QtcmkjU2EKK3oxVzZ8MWZKZV5yNDdNLUJQK3owalFlQ0gqcEZHVH1S VXNmPXY5e288MElJQCRCOThnNCUzNnNUejlNRlVPdSRweworej1COWFRIWZ7JntVOEp6MWxsJk08 NyloOXVSIXJHU0U7dytkSXtSRmNLM3wxJT5vJnNLazJ+VDt4T0wkfGlfO0JHCit6Z1RDOTJWUFZa Rj9haUZIe05TXmRuPDdtYUpwe2I3ZSZENylLRUhKfj9HMGsrWnF9PkxgbHZMZHg+ZFdpV2M5SnEK K3p8QnlpRXp9OE1ZTz9qe3M3ZzBIeyQzR01PblVGRTlFS0w8emNRdXBaNVUjbk4rO3MtZC1YU0tJ Yl5XVXBkd2phZQorejYjQD81cjRgYSFYWENgbl48X01iWjNqantsOCN0Nio9WXB0MzltX1lwfHcl JXlsXm8yVVdOMD9aP2U/O1MmYkImCit6V1YxZlFEO1M5c1psPXxhMy1ua01IOURebU11UkYjVFVC bFFrbjhtNE4lezwjSiZeIXFScih4XnkqYXRvbE8xb2QKK3pZVVklWUJ5MXk7P0NPKn5Yblcra3BE QVNCUCl3dEk+d34odm5AdW9+PVkjKHFSUUhOVi1FMDsjblpfQS1ud0YkaworelNGcE5iYUh4THZn bkFRN2pwait0WX5gQSMzR0tWUCRyPShfS1IzPU1yKV8zVWMwdWB7aiFUbERHX0dMe1ZCTzJUCit6 T2YqQGorNmlCKlJBdktHZUZMSkBRRTZkIUdCWSFzdCslKlFLRUleJFZWOXZHNHEhXk9OI280QFNu e18kJGBWXzwKK3o0akZNSnN6K3FzSiVfMkluaXpiN2ghOGE9QXlQMyFtYDgtfGo9ektpZX0jPHNE VmgoVGEzdmFUV3o9ZihjPHdORQorel5OS199MTxJcXRFO1IlbWdCeT82TT9UPV87Z2JsO3NBcEsk VmFBJVBsRGVORW58N28hcmpaNXd3ZVJLUD5oaXtVCit6NUZ2TT1KT05fYTZpQFZBUUwofUZeK1Vh K282dl4lbz1+V3M/R3FgZFppT0grJXp1ZDkjVCYwPGUodExUcVEqe3cKK3oxaWBCKW9+aCZgb1Ql NCp5OEYpaklscWszeXQkRjg8cTRBVzQ4WjJAZW9VOD5Fb215YC05SWFHaG13dStJJllOYworelNN Nyl0eWlZOU9hdjdWaFhNczd9ZFRAN1AkN1BBRVdVJD11PEp5JFFYWXphIzFOSmluK3R0QTlYQ1g5 UDQxMm5kCit6aSY/QGtRNzU8VTA9b20tWSY/fE5NbypBYW9Kd3kxLXtTRk42ejBkYGc7ZyFSOVho e3k3c0NYR1RsSSNme0hfQXkKK3pMQVlxM1NgaSYkN29gOylVYlR8cGF0YGFmOWNGc0lLYXdePEl7 RXg7PjVoc2JVKEl4ejskTXMjOWs8YnUmPXVTIworenlDSXNIRTBnbjJyJUtnYSo4TFBwayk0VmQl Q3xfM0pNP2c/cDlgcURVNTJPNUt5VUhfQEtOTDxwMUsqKCs7RDBvCit6QlMhMl5BdyZgaCpPR0Jk Nk1YPGZhfmhFRzcjT3k2VGEtYEFafWMqd0I7Y3FEJj1hS31WdShBQDU0Zz0kSEE7fmgKK3pnczE/ UUtfYUErP3FZdj9eMGpWLT87Tng0TiZYVFdkZmJpU1VQQntLJlloMX5YKXBYcUQ5ZDZXTysqXjV1 JFpeNgorejM5JXIyKSMzMHBFSzZ1SzJiM211WX15aHo/c2JiaG9jY3ZpQDQ1cWx7Qlo0VUMyYktx UkJUZUYqSEp6UHQje3phCit6RkBFM1dwIVBVPXAjWUF2V3dRMWBhMiUmYHZqdykreFhCUDdIUCNH a0xNbTdYSnpaPm02PWlvUj5CSDAhNGF1KEsKK3pzUFpGKj52PllMWDZyLW9eX09YWlVlSThyM2gw cj02Y1ZXQSE4USg8SzsjdWFmJTRnRlQ1e2B+NmAyYj52V1pPWQoremYhbFhSX052azc3Z1RZMGlW QmE1aG97eWFLMWZSPitvXlFhUm1oTD97Pkp6MXs1RHB4ZXlrJiZ2MTxiPlBCPn1QCit6WXN4IWpf e1c0QEQ4bSlCT0tPTHttNDAxZEZCJV5WVzY9YkhyRmNlemVSREx2aH1LczU2QGp5NTVEViZ+cj5D aGAKK3pPV0Q4cW82dFM8V3dKKnZBSjsmISlqe0FKPm0+e2lJQVlgO2lqXm81PXB5Qz8qKU4/SEJ1 TlMhSVpPZipJRnYyKQorenwyLWNGNm9KRTs3dyFGPmYqZT80TnI4TVgkY3tgLVhvYD1GNW1xKXBJ WEtYVDNtV1JnKUkzPSo+cWpUWGVwU2x5Cit6aUErdjVpeXNsbVomKC00NHc3XjNeY3o+ZnZxNTg1 ckRxWT4zPV9lKEVEJkVFYV5yRnJPV3BUTm52LXJeQSVKfk8KK3p7KyZeMkhocU84TkBKK3lETlNX P08rQisxZmxlZylWS15kRCQrRCklVF5eMWwrVGdsTk9fKndnNzxGQ0dQPmE8bgorejM+YDYldCta MFJLd3NHdj1FTUlgR1VGNXNudkE7S3BlLSFAI28lKV9rWjElNTNMMz1oeyYhRmI0JXdDYV53ZW1Y Cit6Xi1fT1dBT0tMWUIzKzhrPWJUZFRrRzhxPj1pSXBaNGRvUFZyNSVnPU48VmYhZE5kb1ZBY0lH Ylc1TmE7KCUoSngKK3pofTB0Yz1Se0t8R3hDdTdKMXt1IV9BNiVwSX1HSG13QHl3WEtoMk1COGcz LWB5YUtSP2xjPVBDcmUwbzx0SU0kMQoremdCTjQtbDQtTFNCbV94TWNaUG1kSFRzODZTY0NCJnZ0 UWNwWWh0ZSlFM0JTQzxJcWxaYERfYTBBMSltQGYpaWRiCit6NnUpXkpYM1Z6c3h5eEsmK05DNFRZ c31VSzFJTjZzLV52U01RZTA5MyNSZ2g7PDJIZkttbTVme3szVFRyaGAxWGIKK3pVJnJxY2JqNkR8 bk04R2QjUG95P3RufHk2JHpqRjFnMXE4UWReXkFeOF8pfVU7Ymg1WkR3ITRZSX1RQk9rUFVpXgor elpiRTF1T2tsa0VRKFk2YExJaEVxUTlFQDU9Z2NYKFgrUT8tTFRARyptQ085UWM+bSEySTtCaj5n fU8tLUVVIUg5Cit6LV5aXzliZC0pdG8oPFNDR3Y5TihTPTQ9SXRyKG1YTGdmfnZQSmVsMVdXQWpZ WHRpK1YoUnUxLVh+LT1Jb2dUTVoKK3oyeGx0SnNicjgkU201dEMxUGV+MTRRd140NiV9Rl5vUkoz amIkSXI9NUVmPVRDNVJIVUN7JmxKRGtVR31YOWx5dAoreiFTLVVxJkRROERCeT1OPENtQD5pMzhP JSQ9UCpEMWdRTGVneCNVXzQ8MHMyN2hGLUFjPTR7SGkjO30/ZTtLVVYwCit6JkZYclQ8RFc2eTFG Y3E3IThXR1VQfSVOdk5NJDhifDRvaTwkeH0tNzRHXjV1PFRWJmVtUEB2NkRpJFcrME9MbGYKK3pU O0dvK3R4MlIxP1J1b0cyWGQ5aiNtaWNCYH1hUVNCOUkoP0ZkI0pKYXF6d1ZSckI9YHVCKDFFNHtu PkxAVDlyWQorenFBejU/QD9XV1JeUU9JN2VLN21BODUhYyNSNWQxQkNWRHklKCtZWnEmdF5qWV97 WCRFRSRUJEl2QG10Jm5zYlAoCit6azg4Rk9IaTN3WjIzTlpvRWo+OGNnc0k/U0R+OHpIJXlHb15Z bE5rQjAqfkAxQXs8XiVmVCtNelZLZU15d0NySCMKK3pnSkg2X2tHR2QoP31XbFZwXmslWDN5Tnpg bk51NWA/RnRaeFN5WSVeKFFweF4mfSZtIyk7OH1LZz1IU1Y0Nmc+VworejQ0RCtfQFFpKTAhfHFI JSZzdylOZGxGbE83aWtwOyNFZDh3UXJyfnMwajdWcSNESz4kTnkrIWpIXn1FVHF2SVI8Cit6bXRN TSNgZiM1aUg0WG10Sk1nZCp1Yl9ENWh6Rzt6OTI/K0wjckA2cmMqJT9FRG9rWVkmViN+JTtsIW1X bERoaXcKK3o/eS13b282VnZrdUppPShFYm10NF5rKFg0Y1FmIWQhMFBjbF44Xn5hOXt8KWpAR15F KSl9YTJLb3BgNkFZWDVGSworejtycz9FQWZENnlmT3kkcFghc2U0eVZSSm9ETDUqbUU5fjs9e1lh QmV5aWY8fTs3IVVAU2F9UUhYbFYmRDIhJUUpCit6T2M/VFFhV21KaCEhczkteXxjRik+diMpYzdM PDBUentmalhtfUJvNl92Ym9paEgyUT1pUFVLNmZqN0pxY2BoN1kKK3pBblRTT0lpakxTbEReOD1H QWUjNE1UMHh1bTtTJmBEQkM2IW4wP1YqJEM3dF5HMWhPTWZJXyhSdzZPbXtkcWZsVAorej5yTXJG RkIhI1MldzF6QmkwclAtWV9IQHcmM0RgKEh+QSNySnB8dUhpKD1UbDV9cjVxP0NzMkdYSDQ9eUhB aDc5Cit6c2N3T1UjUVgmIVg1MkchYEwkSWQ7I0NFSW5pJH5JS3U7XnQkYEFYamJecFdeTT8oVzk1 VVF0ISgxV2w4eCFzbVoKK3o8KEJudj9aNWNiNUwtfi1gQGVRUSE4blF5eWBYQEE7N0k/bzxLZkAx V0BxajRVeCYzU08kKCgxRzFQeTw4cT1ZPQorenFgcT0oVE4hIU0mUn03d1ZPTkd1R1kjJitzMVEh emJ+M3ByNHJEM1MrdHJ6XjQkSEVIVn1FPF5YYDBYYm5VUk1GCit6bk9NdzBOWnZ1TTU8QUVEaVJt WiYlPkZINkhqYV8kO3o7RDJkR2ZIO0BCKnV4TXk9ZXdhXyFmP0NmV3kmUmR3YHUKK3pLfmspaz94 YHR1ZytlaXZiJDNvQFhDZGlAQCEpUF5aPTdYZTx4WjV7X1k1eV5mJSQ2ZSFveWd7MW50UWNWJmNS WQorej91cTMrRCZzYSplOzJSMihAR3dHTnoxe0J4Y0gxYmIzOUpAO055d3chVyFaTkFORj8jJjRj NnBgX3NeNjJ8O3tRCit6MXtPRj09ZTZJUSE3Z35lcjFVJVg9K35QWDN6NVVuKjBYSDsjUkt9RU9k PTRDa3g5MiFueSZ5dG8rZXUyUTJ5M3oKK3pCQkc/NlV0QSZOKU96NUVfcE8/LTdhdW1vI2g5aT41 RXdEVXJZKWJ1KmJPUmlyYjdHM2x8PHRLKiFhYWJiWVdQegorenQxJDxWMCZeQipjWSZfJFMmTSZH cDcjJnU4alchVnFya0I8aExGe2sme30lK0pDXmB2O0xzT2EjS0poV0VOdDhkCit6QVlSOXxMSXho TE16O2tmOWdfV3xKRk1ocDhzTk5EV0BCOFY3aV5mV2IjfDVgPlh1R1B0bm5tKUQ8aFl9Tk4qK1AK K3oqPVFOXmVkcXg+d0k8U0Q7WFdWe0puK2pyRDdOTS1GM3V4c2hmbS1TYD85QUV4Q3FxXzF6T2h8 REJIfllGRl8oZQorejRDZmQ7KFBeIUojLTZPeSsqfikhdUImaUdieyZEITBHWW96e2FCIUJxbHhX QVdRPU1Sez9SamQhZmdHO2xFQ0BvCit6e2VlS2M3O317O2c8fj1XeT1leCpXbEBDY0d9MmtvKVpH WSZrdS1EbyhJfVZlaHd+b2hMRlElaDs9WT1fRjUyPWsKK3pyZ3g3Vztta2Y/O0E0NG92d0RLZUxC K1hEO3pYcEtjPWlfaiFJU31EWHJpJWJCcDVZUE1GN3FHN1ZBJTR6YkohRQorelMtakJBWHRHWkpQ NVhnNmo3OD4wTVJ4PXxBbUBoZUomUCQycip+YGo+a3c9XylMMHJpNm9QdzRzNmp6WDRHWEhWCit6 WUZPR3hud1ZPKHYqR311IzdCTD8qOChNVj5XUlNEIXVgdGhFbEBSNXEmXmI8UEN6aTMtMlVoY3Fr QXRoOGEwSUYKK3orTHNRSG45eDRkQz9aciU1ViVYNUw5emBFRm8/SmhhJCUoMy07OHRZQHlZUT03 dS07RXY+VlYtWEp0WDRYalNtcAoreldsVld6P0EwZHdXe2xWdj9oV3ZVXndEIWlmQXFSY3k7NEhS UVYpTkp4ViRSe0VTblZKa3g5NWZ4YklvS01tbSozCit6RysxfSM9JDYkcFlSXyF+KGF5JlBPIUpn fWRUSWo4KzFTdW8rfV5pMkEjVDtCbjZ7ZVZTcUAkS2l9MXxkT1dSKEsKK3okYnU8Z0tFSUtydVA4 NGNFPldNfG9oX3E3PyRBbD8lVWlhMVBYWGhkSTFuXyVsVCpPNXZYWXpvdE5zMVBTUmpjcworej1T WDxSS1J9dHZhaGBNYiY0UmkheExVKDckI3FlVWBqP3V4K0heNU5pPDRsU0hnPnJ4XmlvKyV1fCZB eFpkYiRMCit6ezlSP3JiYjMoejNwQnwlYFc1KHBmfTReazhBRVptMFomMlRtITc4K29YPE9Objlo ejlLPC1QYnlYRTtSdTM5PSkKK3pVR3JHOz9HQDR2P1JtMSs7fjclYlM8fWg2NEJfWj1GNlN4dj9M anRWS1FgJi1gJDBfUT1CSSV5bmQoJH07Tlk+aQorekVpUlNKZT44ejdZMjtNclFXPCpuJX5kWEop I0stIWBwM1A/VV87bWsxOFheQzhMd0BKQ3BRRzdrKVNDX1d8WW02Cit6NVUhJE9Ze0ZQNFRlSnM7 Q35WI3RvSU8+cHd7OTE8NihyQSViIWo/aFAmTTVobWQ+fkglR3pTM3wxNnZ2Y3tvVz0KK3pCZ1NI YGk+OFR+TSp5P31DPiM9OFFIYHpeT0xsSiNafFJySlheKzRAeEAtMEw5WEJlVGw8bVNhUWRIfGJu VGs3UAorenAteG9mVCNvdVg9YkVzYjJWNnlyOFFZe25fMVQrb0RgU1VVU0xyKUMrOHp2cSR0aVRz NlhxP0g4b0ppNUVRe2E3Cit6KTVvP18kUSVyPjJmTUo7NlBJUiteT0BsJSVlSWJ4eU5YQSh7K1Mx VSZ+Y2Z1SDx+e2BIKF84JHZ1YnZ3dX5ARD0KK3oqRnZ3fllDZ2x2YXpWfWE1Vlh7Vk5Yez5eIzA9 MmtzYDgzcEBsNUgoJFpaUmpfJVBlbHYocVVOcj44Mj1iSnUhegorem8hZVVhYCFvYzkjbXUlJT0y eTQ0YVQ8Qi1MSjZydzNFbyVpZVB2SFlee3crK19qaSRQc3l5QlN1WCFyNT9hSWFoCit6bXJOeFNM I3hIM0pCNmh3R21uK0pxSihNKjcwfFMtRVVTRGwtZndsSnpzbEZGailAMj1jWHdCdFhTODs/b0l6 NlQKK3pLSXR8UTM9UT9APU1kXz4qVjlpUChjMTtULUhVaFc3d0VuPCsqfGI5MTB9LUI9KkxoIXNe UlErPFhaOXtNVlNoaAoremBWZ3UkfDEpUigjcWB6PCQyPUYwdGNvRlJoU3M4aGFfRzFhWEFeVHo9 TiQ7KW1UeWVQQypUJSNQaUt8VitRdSZ1Cit6KFZtTDw3ODM0VSR6S3xlWnU2JDVTYUtkZV48Tmxj TnFRKk1IKnd7VyZFSVV8Um12fTFrZyRuTkRHP0RATGw8T3oKK3pIcSNWcmEwZVVAbXh1OVlaPVJv Ny1CU2dDb1cyPWFvOUFOPyVpbGh0ZFVvNWc1OXJrbFp8LS16WkM+MDwobkcoJAorelZTRyY4SjJq N0xaZUtuKC16UihMZnQtQm1hOW1vfGc0NkZfYE8/RUhtZlN6YntuKVExazhBb0AoTHRZUTVEX3VW Cit6VVNDZGNKSFVON0JmVCV5OERlaUNhdjEpSmVFX3g3a0VXXzlrbGZPN2g4bmFJQiN8fWE3MFpI Q2BIO0tvNU9xWUYKK3pOMF9oTiskK0Q1SXBISFdzZEN5SHl4OU0wYlApcjEwOS0hYkwjY1krVXNF a1JZd3xINWJhQD92eVFkSjl5YnlAYgorej5ZaVoyLURpWCNfVHExIT5NKjgrK25ALUpoLSElZzQ/ Z1BIYj9CdjhTI1FSQSkkU2U+KytFP19VVXdqPzVfSEc3Cit6MmY9bDJgUm5HVzJ1c00lRSEmPHs9 YCpKblRTckFjYTB9Yz5yOWJkJDlBWTluRWJsKGBeZCMhUzteKTxnZDQtazUKK3ojZ0VSVnlxNk5W KEw5TlQoQENnYiRBbEt6O2k3eklEPEN2dXlLZG8paiZKfWBDalliOTArPVIhbSFJXk5xbCNIbwor elEhalZSRVJFWlIpQ1dTUWdSO0V5c24tUzd7djU+d0ZSN1lmSDN6S1dtc2c1dkE0fHZ5N3JmeHUj azA0JW1ie2Z3Cit6a30lUX4+dl4qMit2dlN1e2NLIT0xeipBdkxaRktmJnVmVGdDQ1N0TTFyJHJr ZFB9JU5DN0s4aF5JP01UJFQ1fmMKK3pVMkJ8PWtUMEB9eVVMWjx1MV5pMHR7UlZBeGM9PTFAQjQ1 NXxKZmVuc0QpIzxrTzJYdU8jTnJ6O1U2T2RUaWdHNworenJANypfYFVnQyQtZyUoS0l3Py1qKVFF MVZTO2lmPzBMWlBCeFo3TWRuJVFNcUV1aCVjPHcrekw4aFVQUT8pVSZ0Cit6MkJ0dzBJdiRkQm9a SlR6OT5QSUA+TjhAJkxIeE9wdnU4d0RVPnkmMSZ6OGtGRDF7b28pSmVoK2JpcWhrcGFNKUoKK3pr YWRKREptaHchaXdfO3NtcFomIStNVFN1X3c3d3I0NG0oRG95Nnx0akN8QlF5Q0E7IXUzd2J3KGN3 VmMzPllLQgorei13czQ+dDt7QFU2UHtiWDJiYUV7bzwoakV0e15edC0rQTE7VTF1fHA+Kyl+N3pk OFFBQXVlbkV6OGhQPjxuTVNvCit6dDxzc0k4IXhYMnooV19mVEg7cCRld3ZCKGUwP2ElRHllemRl VkpiUCRfbmhoLWsqTmg+Z2pQKWBTTlhqNVBxOEoKK3p5UGpVYWV7O1peT2t8VmA3NXVHQnspKm4r NlZXZnBJQm5XTU1JVDhkN3ljVC1hYk8qZ0lVMTt1QkhsK3ZHWFM2IworelFAQn5hYjRWaV84Uj04 S0V2QSV5M0dzamJeSn1KfF5XfU5Ecyh+ajE5UWhrX3UpI2Vnd1hjRUU3Z1A0VD9jdElkCit6OWZo M2khWCY9TlpWUUxmOzVRaGE9MXdfYXdHK0xVQ0RnR1V1cWRCVFNXd35QQC1FSEZWMWtAMGh6NEdR OUh5azgKK3o1V2xQQTFiJnwpWlY8amp1JEF3YWN1RUswaSY8I3A7ayhCQz9afVNpaEY9bzdXfDQj IyRuKS11ZEBeU1lXdD1YTworekl6U1l6bHpScXsjJFh7amhlSnd8LTQ4Pyghdm1VKV9fNHhKdUZa Pmt8Rl9wQytwcVIrPDBIaG4zO1dIPzQ+aEApCit6XyZWP3pjR14kKlgpQFBBbDlSKHduUF9FWV4+ SXMja29jO0g5NDwkIUFHSTZGOzdxeXRFM2ckUkgrbCV9VTByVEsKK3phWTgqIVA2QkZnQ0s0YlNW RFpXYUJaTStXN2QjeTRrUiZIYHMwYzJYbDRIRGhOSCNyRHV9YyM4P1JTcVFVdlM2MAoremgpZE5I dElKYVdGfDZePEghaUo2eGV6ODh2R0E0O01gM15zQCtWLSRCOHI0eCRaTWMqR3tCeWpJXmQpeFhK NmJKCit6TSF+P1g2JD9GKkdzNTFXdFg0eD11MGdWSVQkKkNDOzhjZnl5UGFjfUBEX2VhdTBXYi0t R2VpakFsTXppQE9NPUMKK3o+RVY+RmA7dC0lN3U0Pm51PjheanBVTWdPNyoqI0JWTkA0enc/ZUBA VUg9aj1AanhmSFNCMXghZjQhNDtFKmVEUworejJhWVByUCY1T0pYV0wrLTFWTT17ZDV4T3VKU2Qx eTAlMTVTQEZkRDVSfVVpYT5+biNQKTVYI0MrdWpqa2tYSjdNCit6PHV7Nzg0ZnU8ay0jOVQ8YH5u JG5rNVI0UDZTPFNBYXF9Y0M8Y3ImZXs2WVNwcykyNVIyNlJVOWRVem9fNztsPVgKK3ppOUxGPEFa ejNWYjl4a3lhSlJ0RllmOWtPVSNOc3pOZzA3PXJwV1FUTkEpO1pwSjRZakxWSk4zSFhWUjJDTmRF UAoremFzWT5XR2F5SU5saygpWnk5fkt9QShxRC1GTjUlXyRwWGs1cXdYT21tODJxJTEkR0trbG9a TTRzRVVHdUhMZCMyCit6RXxHM1hhRWF8Kyl1ck45MzFqVFEwJDYxcmtDZjI0KV5oMH1kN1RFZkJG YGZ2R1IoS3x4OE5WXzBQWmRsbnh8JloKK3pGaz5FczNBJlNYKDtIP28wUmh8UCVWTVVLPCZ+QV9B NHczNko2VkhoRVIkeUYkaGNKSVphYXRgYUlAbm1AOykjXgorel59WmJOZykmNWFRbUE7cHdyalco dEYlMDV0K2JubFR8KmNgZVliMnVqPVV8LU0/VFQ2REwpbGlfJlZkaWRjO2s2Cit6RUNPenAyQVRk O1hiKjV1OzhJbUI4b357ciEjUmZPXmU5QXN6IXAlNlh0MlZ6PFlwNFhpc145WGE5XiV9OztDXjEK K3p8OF5LeUJHS2R1QV93S0tOYiNJI0FReVBxV0s4QSt0OTZFfEMhJWBqXztXXjJBRnZNRE5fdndZ eUJOO3t2PGd9TworeippJG5jNlByVEBuIUc7dGBKcjU8VEFER2tZSDxmJT1NbXVNcVhaSFQ1ZDVw SkxEc2deWkUmcnVfaFg7Uik3UzckCit6MkQoZHRSI315PksrR2lGNykpRDlfflp7N3UqQjU4QWRG Um02VCM/IVBOX2c0MyN9PS0qb3VXU3poYzBEI2wmTjMKK3peJS08Q0s3UGpqV2AqUjA5Yng/Z25u QERVSCFaI248JUZ+PVpHPEhQcDhAPylmb3d0WEkmRjN6QVAtSUhEfmVgLQorejxkXkl9cEs5NzRM WFBqKDVMM2JnMGNRaTVJWnt8JGE2RVdRRCRgZzVaM3p1QUc+RiZuYnU9fjF3V1R1bU5kaDc1Cit6 Mmx0YzVgV2s5fWlrUiNsdEhWKGthITU7UmtqTjR8TD97WThPcnFTfDxLMFI9Yih8V3hLdEAxJjVV ZXB+WSMxJm4KK3ppWmlZa1RjUUM2WVM+RiU3ZGZPKiooZ1o3aCNINSlOZCZwPnt6PFNzTV5Zbm5Z bHVUP2cqMyQpS2B9RFFKKlBpcworeldePnZkQ2I+WFcxUGNzZW96RnIkej01KzU7YHhCZj1kUjNm dVJLY2M4KyVWb3Z6SmlUJTtncz14QzlLajtJTD8+Cit6LXI0cnpMUkE2M1kzV1FxO1gwYDtXU2N1 UWw0ZWw1bl9Pelp0ZEV0TUtiMHtTJktOR3gxekshSzRuZ2ojQk5CUEsKK3pARjRVJlU4dU11WWN0 fD5jfm8tYVhDPiN8Zk50SVJoI2EhbD5IQU4kdDQrYHxhPCtgYGdtOHw1amI+YEQ8T3hrWAorejc9 a1lUK35QMTAkRzw+PzdLcUtaWGZhMytHWX0mJTVlVjk9M3NwaGxpSjN8N3M2M3lkOCEhajVLM2JC KzwwYXRwCit6RzUhcU1OQFdqRishMj5HT1pgWmctSn10VF5uXkslVmd4LXpRRj5SSClzJVJZRHBq UXMpaWR4MkZwVmswNj41aCEKK3pgY1Y7KXVEKXk+SEJhKj44Nl9WYlk1SyNTNSRiTHtkQVFrKz9B Xn45a3VvcjlyVmJBKFkhO3M+a0h0dkc2RnhrOQoremtXWXxyd15TPSg7THBRfUc0d3VaV3c4NGB1 ZkF4PlReOWlFdn41VWhTI1p5bmhEZmQjdm8xYU44ZypfNTk9U2MmCit6clE0Oyp0WkU4MHU+eitf JjZ6SERMdXY9PUlzfktZbHZNbSVYTTApSGNBPkpnQ29ze3ZRLUJ6YUpyTDkxODUzQVQKK3psQWN8 d3U2RGQ3N2JOSk9ndD1UaSRiMTdFSmBeP2Q3ZVVYZWF5OFohZ2IqbEFhV1dXRjlRSnRUUGI4KE1l RDxTXgorej1rJnM+MV5ZJGYjOWBrJW0mX2VGUj48cnlGI0BibjYjfCNUS1l4LX56SUcjUzREbVZP Wl9BN3g5KnZlNHA2MHxfCit6TTdnMFA2b2QmRkx+dFlBNlY5YWNGLUh9TXRYTTw5K044M2o1NjFM S219bHk7QDVPUkUqams+JG1NaC1HbHVlSUwKK3p7UnRjQ2BrQVplMVl5ZEJ2KF5DN1ZKKGBTdD5i RXlCIzZwTm4pLSpjI2dxeih2WU5sMEBEU0RJTkg4OHBHe0JsMAorekZ4JEFaJSNNRUZMWEdKYlUx aUh2ckM5YXNWIXx7TjE8WFlxS0c0Nmh4bCgwYSliNERycTtCfjdhaV93cVV3KVokCit6Rm4rclVg e1k4YVR6VXJpKk4taV47MH1QMEkyLSRMNlkjdWxVOFZZQVF6ZjxnJnpnZlAtJURqPHs8X3pNaSY2 Vl4KK3pCfUtTZTFNNFdsJmcjMnAjVVRaeThaRFNXRlcxcjN1KUg0UVhWTF5aeXE4YVBMPDdXdVdr TCFsUDN4PFdhYmREOQoreikmSG9DQURXYk8jJENWNlRjVTVxNWJzLW5gYnAmO15BbkFMe1puQFpo PlJmTkZgSFE5aUhhUUUpWU1MLTc0YSVACit6aUlIald3dDw9fG99MkIoJFoyWUBfN0FDTm1KSUFA eUphRy10Vy12NWMkRGdRME5NPDBDciRJTW10NEd8QTgmWk4KK3pAZChWejEqJiROPDZhfkBKPXpu VF8lXnc2RU9uVUR6TUBobkY7RyFSPk1rMGxURSRMe1dSJEYpNnZlMEdeZCMzPworenBOZ2dyaT0/ TDBnfWQzQkw5VXtfaGd5d2ZOSjs9RTY7Q3hHMlg+SDJqSD1Qfm1kMm0oc31POzBHeHNfbUlTRzZt Cit6Xzc5cSYhPzE8Mk9POTghaFRxMjc9eElea0dQMlRKP1MoMGx6bXlxKmNsISR9LWx9JU5FcUpA VlVpfUxhd05aR0MKK3pFZnV2Uis3Mjt1enhyVCZmZWtuMllPPW1VeHFoPVk/biMyQkRzaXEqSyNo SCk5TW5OKGhHfXh9TFZGdiM7M0s2dQorem08MGwxMiQyKiV6PnB3JWo2ezQ2fEd2SFEoSVpxUiN6 NktCTXpFTERgOS1pP0d4bVVsTXxLZHdNTFg8all6KlhHCit6cVR+M2BuIXt5U0E1Z0Zebmc1NmZm aXxmSng2QiRiUShgaFpBX3pkaCV0WnZvTG95VFYwUD5uYnB3QnUhSmYkdUgKK3o8Z1Amb2I4c2RI OGxkay08Y25+TndYfkAzM2ZtdXM1JWMrSnFqU3s3c0VDM00zRnBfWHM2Ky1RSEZPVkNafTdSXgor elgzP2F2QXlKJiR5Ql9iKHRmdzZVdEU4dk49U3c1O0IjfC0jUihLWnQ7cV5oWiZCQEshPmliYHx7 Zn1aUWdjdHRJCit6SDJYemEwNilIfGJBQX01TjA4ZjNoejd3NmB7JURTcWlrQFNNTEphdSFwbnEk YVVzbGBtflNzdkE9ZDIpP2c5NWEKK3pPflEpPVludDFAVWdUeWghXyNBQUFKbDxWa28mS0w/ZCRe c1dWc2hgPntJJEhyNDkjSFNidjd4XklCdlNWfjdHbgoremg1ZWRLOVAzVkslUnxSUi1CaDU4ZE9e fHBeVFkxek8rNjlCO0dTaGUzRTlHY0VmREtwVEc2MHJXJHYtUTZhTSY+Cit6ZDEkWkdiaipzNDkl Iz08UEpNaUppQ0l7b0lEWW8ta1UwX3hjSF9HKER4dTQlSHNxWSgmbk00Z3Q0ZGpwNCZ8OHUKK3pS dUdNKCYkbERpbnNBb2s3dDFtanNoSl9NKnZwUV5GRk9xcmNvfDNXNGNaKmdLVVZHNHYkaE9mKkdl eGwyK3lCaAoreldLWFkpb3w9S25HJVVEdlFsPFU4Knx9LUUjJExqO1c4MnJRKnE8NHhjPkZeRFFC aW99Uz4raCNMRXJuVXtFPSZfCit6USRhfFckK0RvciVWYVc4dEMwIUlpM1NzaTlAbit8UHh+cHZg d0IjPHFjVU9XdXNRViRXZSR7LTlXMl95PTh6R2wKK3psb1pCVzU5NHcqZTs+bU5yc3R+bmZeZzhl MGkkKEg/UShvYWglVUwydCpoUTVuJUcmMypVPWdeU35wX0VkWFhibgorejR4TjI0aFI+QyM4eTFv fVY+JnNZS1JwKnl6VEItPzNNQHdjTUYzJnF3OSM8OGJCRm1lQjJxb0VqcVJWd3hDdmB9Cit6eHhk YUJZaz9XQ3s4QWlWblBmQ3FOYSR0ZDE4WUtTZEwmZWR4ZGZ2RypoSDRaa0dsIzIpWE1IP1g3Nzs+ PSttUkwKK3o8N2tBb2B+eF96Y1JyenxqMFFiJHpQa19fbV81JSErYU53bDdLRHw/M2JJKWFOTiZZ ZG8jdFBxTVY2OT8ocnwyYgorejRrKnYqbEtre2EwflpMUm1eQGQ5VzJrQzczezV3OzI2T2tKSV44 SmU9YEt4SUFpdGVYWVZuSiZ4Qml1eClFfVFeCit6JWRsVG45UlZ8ancmZXtELWNEdHM1WFQwJHZS UHskaDJlT2hKTTNnaWphWT9USk9JNntyNilPRjZ0KlElJGtZTjgKK3pgNUwobCNuR2dSTnpZaD9q T1Qzb145N3BGKUlIYSMoJFFeVHFsXmh1P1c1TTdjJStLU1pZc3YkMWcrWislb2hPVQorenlsWGhY aD4zKHFqZSNTVHp0MD1GKDMtfFlKamhKOWordkBwMUZSKXt1IztBWV92QW4mTWp2REFVMGYxPnQl Myk+Cit6S3xseV9WJlNOdy0reWFQZSZTUjNzcTwyYXA3cHIzRX5TVW1oTCs8IUVzc2VmRWA0UG4q bkJOS05NfjtmNHdWJkMKK3p4NVEwVDRUNDg1V1I3ejdfVT57bVB6KStxPTZNTipLO3dUTU4qNkND WGZYJXQ2TFF6d01fbHNFd0pJcXU5I29DRworelBeJl5AVl5ua1Y9Ni13PDUtWHpwWE5Iajl6NDha fUJPMS1WZGNBMFRsbzJxdThaRnpQVFFpNTJoTHEydTlUI2E+Cit6by1fRzdOQHFYVEdUNVhCaW5j cj1qYHlie2d5ZmRzaSRROWV3bFh5flBWRHp7Q2FafE1PRHY5MGwoTWdCcDZ6bCoKK3piRklEdyEp KCp8TFVAQ0VIJDMoRGwmdHp3YGpHbW1APVM8RzlKVmNBNEhtbmwpYmkrb3huIVBoT1ZFM3BgPmZk Ygorenk7ZEVAKlF7VnRtKnBCSyUhUzBneGFHK1Y9P0Y+NmtkWUNHUm1kSjJZZD5XPyE0d1ViLXpW cHJ6cHk9RzhTVWhgCit6RXpjZ1g3PXNkbCF3RT1McCNfXntPZmgzVGxsdzVxSV97ZVItSVNra0VC ZTFVVld3PkNqNV52RlpsKEVtQFBOJjsKK3pfcmJ6a2xRRiopb3hhPjxiVUE3aSU8c20lPCNTLXg0 I3UwKER6QnFoZnNRVExMTFh5UzlWZ0Z5X14mNXh4KXg2aAoreilfUWBJTlVQVnk+WTFvZjZueUFA O2UqYE5IN3AyP1VDeCN2ZD8mWTI1SE9QWDw1IStaU2VeI0Y8V20qVjdnTnpoCit6REF1QWkzeTEx MWttWTt7eXVmIzlNS1pkWXpMUTA9ZEg5dz5uIUMkdkZFTiNYJWA/KDR2eyh2RTs7O2Z7VSZ0S2MK K3pqP3klQmBxVWh1aFEteStganM1ekk+MUd5WDRnRWstYFF1S3IqP3o0dmdoR2gxS2Q1fjMqV2A9 SDxQQk5hLV9OVAorejNhZVl4TlYwX1oyQDYtb0IkZXIpM2A1SjJNWFgoaD95SnxMPlM9O2p4Tnw7 ITJeUWdPaSY2OGsyNm1uQUhRYGJeCit6dzh4M15PPHd6ZT1hMDxnLTVLZ3VGbCtLNFArWXBuQzxu S2B2WCgkUVJuVCYrJmFgNE4wTz83eXRJbHd8dFZGRUwKK3pEZW9rWT56YTwmO1Y4SnhQZEtNdWZ0 QCZzRj1wIyorRFQqUj9fTXs2LWs9Ymh6JkI3VHdIUzR7JDskZWhwMklnbgoreiU5fX5ieiYmemZN aEgrbVhOQGFxUHdvO1NBQ0UkUUw+IU16NWNGbXUyKHdUVGQyN2pmTzImK0VGbGVpTW9tR20/Cit6 ZEg2U2c8c043Wml4NHB2KTxMMGJFYm1DVCNAbGVAQnQ0T3YmbSpBM2htTHBYVjFhIyNtWTBhQ05s X0xseDBjMm8KK3pEVEhJWGIrVVVUbFl9IVk0Nz9JMEUhaVRgbG0jcCZyWn13bE9neFA9S2I0K2gl cnJ3WHBHamt4NHRZdiVnPmBPPAoreiE2O2tkeW03YE5fY0xnfUQ9TTQ+O2tsSXAyMyUtZDdMeXhu TWtGYG1XI2koY0smKk9pcFhLPytPV14kWmBwfXtQCit6fEZaRzZwJmJsYWxteyZATytoak57Ujta RU9iRmhhUmxgZVJ7WnkjTzUtUU5GVClRMGFgdHVmQTA7SX18aiNuR1cKK3pjYCRkdE5iWTU2dWk5 ZyErYTVBUFNraW1reUxJV0s+JV94eCRlYCtJbSZhKUBaT0VLZmZKfmRVWG5GZDlXVispTgorelUt fGJCdG4mcEg5R2J4QHpXZUY/PmBeSnQpTjtMPShmd1pPM0EwZVBzdXMrMng7VFNkblRKY24hYFN9 ZTI3SEN0Cit6YXVSLVEtUSVyUmdlTzl1X0hqNj5DanFAcEhoaVo2JXcwMUteNiZLWCk/bjBnU2Fl Un1rR093I3hQZUM9THlkYWwKK3paPDVNPlZWODUxUCRtVm1qMkBoOHUka00hNz1mIW4yKj4kJl9q fGVgSntnSS1BWEJMOXRjM21wO0BeVXQ4UnVJKworelV9O04rdG94ektqTntOZD1WfEI7R3s2aGV5 NVZBT3Z4JDd6RyFNelA7NGZUY21VcEgjdz94KXAwb0VgPE9rbWB2Cit6RkNifFVHNHQ2T3M+Sytu RGdxU1NwOTJCfVZkOEZWbDxgaU5qNzFkd0k3RGVfN0d3YUwqIXpPVilCNnM3ZUVSRjEKK3pqdnhI NSYrZTFFWF93UCh7XjhoPlBIUCVsOzBvMXNfa2I1cHVBVFpSSDUrYVRqak9sNndzXnB6dFE/d2lq WjZqfAorelV+cXdpRlcrayVfM3l8OFUwMXErbHkjIUZ3N3NVPUoraT43RTQoWXY0RkwhJW9DKzNN TUB+NCkzNHxMYXpebTcrCit6NDJ0fEpzb1prYnNeZmUtZnF6WlV4Sik3cFBYLUduOTlUSVZlPHll JHhUbFFkJClVYnNfJG4tcUJKd15VM0VVdWIKK3pmNUdeQU1mMk1wI09+YVUyITheYkI3YlcpU1p4 aWhfem48S1QzXkpPdjhyPEJQKVFiRSVreT8kTSlEMCkkWXx+YgoreiFGbjZ0YV9FUis+NWlme2sm c2kwUylEfFpEWHlpI1RSXj1CNmZUb1I4Uj5GeF8/PkJIeGBPdiY4ZmJGaXduRHdMCit6cU1ZJSUk SWVSekhDUE5qQ34hLWImPX5+WW9JK1MmRygyNVI/UGF3NTgmNG1XUiQ2PzAtTX1pX0tVej8weFBt MWMKK3o/TUNnbVo/aSF+Y3VQfTE9KDFvellQaT4raEQhZmxPPk8lWGtzeTdHKnomczd8SjcqYlhw PFJvSz5hSkVRYUF1NworeipUP0UrTXhuQH1fJjIrNXZxPVRLQ05LZ29TaFVhJEg9Nn1lZVQ5Wkts MEl0QiorcnckUGpVYT9NfEFLUGxkKioyCit6LU90Sy1Ke007bTFSRnhlR2AqajEhYTZkSVU2WmBI emZqcGhiMSpUQ2VBSCF6WUI5NDArQ2B2bGM4O1J8d2BVaGkKK3pLJDxpXkNGZHpOPEtGezg0ZnlY cCU2cWRmWkZqQXF6cXotcEslaD1TOzxGQkQ3JGdPaiRvdFRYUy1VKEY2b3lYMgorenJuO0wwd35Z IVBERWdkSDE+dXpiK1BsIz4qemNSfDFMdXBlV3M4ck0wSWQ1bkxxPTl4KWx5NDVERWZUVjtSUEU9 Cit6alFpZGokV1pRQmZfNy1+JlMkVF5Pd35BWFJlfHZQWHpNS28oS0xYZiMlfTglX1UrKUx3N3Vi PVdscEtjajJpKEEKK3pja1k+P3V+RXVGa3xzJDJvYTh9eCF+OElwV0MydEY+alhzX2hGZD92QGE9 Kn5zeGc3KUBtNE5IY3NmUHVnJCgpIworemctdzM9ZlkhVHU1cDtPZzwkZV9lIUE0IzI/YD4+XntU UnJnNElISG9lQSg1USh6dGgjQk52KFJEWTxsX05TQWZMCit6U144enBDXnh8cyYzPHUqVmI7IzdL I1VsVmtxWSlqIUQlVjB5d2tHe1ZPQWYpeX0lSl5VMWZVSUJCUmVpP01vSD4KK3p4O3xyYUV4YGEz eDxtZnImKVVAejhXbm4tO0QjVkpOX1ljI1BtJVRLdF5nX35kJSkmZjkocGh7an4rYilgd3pFcgor enpadHF3S31hOXBedGUkdXQ0UVpwdmRmQippbS1Ke0V2JGN0encxcXJUeFN1VFdOTUQ+UDVNMHBP V2lJeT8wSz9ACit6VTw4VmFGUEp4R211Sl4qOXxuZXhBSWQkaWhFP1F0JS13VSgoWjtPWE0tNCYk LUZtYCF4Zlh3T0U2SlVjQlc0UWAKK3p0eEJTczRTamJ6VWV9ODl7fl8kMXFDXlJyaDBFXkt3ciQo Q1pRSGhPVGM+VD93ciQoQz9LeVlXSmp7M0otdWRnSAorelI9cmZjUjh+ZjFXVz9Uak9sP09oSGRZ XjVLNTB7PmB4ZVMwTWlZOH5zeHEqQ21ZTEU7OWpGeW93bH03YDFFb2Z3Cit6dj9eUVp1QF5ybVFL K0h2bnxNfktGb1k8WDJGdEIrYE09fkY2TSluO2xre040ZGU9NFA9Qn5eWG1kP3g2VW5HOzYKK3pD KlROQk09QmFBNz4tXzRYRUQ0NFZmaX44Ulc8a0dxaCtmeGBPckZIam5BJihhaG9uaihUZ2V4azVI SVcoRl5AIworenJBXnBzSzdXXzteWGhtbW0qRzdgaF5pI2MyfnQwOXNMZjc4eUJ0b2B3ZVA4RmtI SyUjQUV6YUApOCRsZEgmMmFPCit6NVFacmAjPEhTMFhHQ0VyU0ZLRWE1aW5EfjtBTDNyJEBmJGNA S3ppMDlFMndTTGNwOUA9OzU7XiltPUg5LUh0XyQKK3otUk1iO2lGJFVkPWdoMEJPJisoeiNqPiRt PnhndGo1XlE/I2xnc1hzVGNMVjwmM25IKW4pYmBoKU9RUllxVTheRgorendCXn5fTXtNZ0BeMHVC Nnk4K0wrQU1FX25zdmA0QihGJVVgdXVJamMoLSprUmJzYG9DaUdgREREMzF8RzVre2YqCit6Pkxa YXpgX29pcU1JYnxCbVVxdEN0SV82OXY4S3l6YXUjaHxsJDdXMUFGPTdJKzZDNF5XSWNyZytwVmo0 c0ExfHsKK3piST1oSF5XSW8hOHZ+a1pWYDU0eWZpR2U5dDI2bmhtOHJwaTNmYkxMeHshb0NOaX5l JjhsaTt7UF9+NCshbihlYAorei1VfUN9VzQ5KWYpa0JKdUN3cjw2ckYhZGU7Jj1zWEgjZVZqJXNM QWtuOWUzcXlXIyl6OGtJPns3ND5pYkRUVVl7Cit6YFRYMEJtYj03c3cwKm4xZ1dkRCh8MmdfUVpo Vyhzck9INjhMS3taMSlrfmVGKnt9ODg2RlBoV2xldD50a0VgeXoKK3pHPkt+akhIYzk4c1hFYSFv TmhOUm1fcVdVVjVCNmVPbnIqSDZIK2cyc2xxS3hibUQ3WEszRWs4JEFwSUdJVz02fAorek9fOyRP Z1c8Kz0lOGwzYFN4bVRzc2F+fF56Z3B5TXdWUnslQnk0YzhFMFZ0d0YoWFJKODtDU24zdl80RXdt SDFuCit6KGIhc3MrZmF+Mj1mVldaT1ZiRisrbzJJdzxuST1lOHMhJUElVT5Pb0RIaF9fKkBUUGNq cF4hRiVmYCgmX191WncKK3p5eXR2NEMmUmNJTz1Sdj9iNVkyaCkpaFE4NEk2WERtSGFINTZ2X3g4 OUtiJUZWP3NxJiN5RXliNFp3d2lEJFNjKQorenJ8OTttYFhaeDJXKWJOWXhDWFFpTy1iRX5KPU9V bUMyP0lrWXEyUCtpN0FDPEhENWI8dmhMMXY7PSojLTI3c3Z2Cit6QDNRZVR5d21CTW4xKlBFMn1P V2h1I0tMY0EhQi15aXBtKThtaH1Ha2BgYXxBRilyQj8tZGNTPGdhZiF4UmZPMiUKK3pKV0BrcFht RWRnU18ocXtPdVF3dnMtbnwxSXpzUmR6emJFQ0pDRj5Nb1FqVXh4OUY/QiZ0UX0lUzRWO0l1NUZL fAorellhLXtoTT1AaWAoYkMxMjJNVndgVVp4Pno1QG41IT51OVdRJDk0QX5XI3xHMD1MaWV0JnAm Mn5aRWN2TnopbG49Cit6M2BHRUhMVHFYcT0rQHltRHZLSCk4c2I9OUskRC1vN3B2QXc2dXpRR3d4 MG1HQlBMT1VqaEp1fmt8RHImdVlIMTQKK3pNbVRAQUEjX1hVPkt6azhPX0g9PkJ2TXJnVng0SXtU YF9hJThiWHI4e1ZsIXIlQXFjZ2FhNGgkUHJLWW9LfnJzYgoremdgX0R4dUNQajNVMSl9bnlNQlF8 ZDZoPkk2Zi00NSg+YEsmK0VkV0RANnF+NGxXM2o4SjVKWldPX1FgYkZEanU1Cit6MTN2MW1mWFgr I0BKZDgjPDdzS3FVV2IrRU84dW9WeFRDQT8wM3ZDSHBmamtyNzJJKWFTfDNKJUs+VjhFbH1xMVcK K3o/V3xZckMpJSp7cHktQElfPj9nQlNSNzdlZnRxYVB6V3wwYjE3I3BQJXt7fH5jbEM4SlBBOEk3 MHRvfHppR2FveworemNkX0tfX3dwRTRPZHxFc0N4aSpvKS12QGRnLXk9QCZwOFl0MkNVZ1dOVEw+ ZHtNcGVWZ1RHdEt0dkh+Um4pOzFkCit6cGxnJER1QjheJUB7Xn5hblIlUDRiaV9lPzhnMGokYnQ3 SlM/IX56V15Ocmw4RCkodkF1fk12PiRGeStUU3s7N2oKK3p7SnNgKmU7PX5sR15XTGFIZVYwUnhq ZG48PTZSd0BiN1pDMVkleUopMktKUHlrRTVaNER3d2hiMTVUVyZVNXZpSAoremRiVD1TdHVAaUAw I0l3RVglYVRVdyp1UE9NQWtBMUZJPT4+LTwobSomNGc4VkZHWSgxXiFPTz5FZnwzP01hX2p1Cit6 ZDRzSHNCXmIodGBDayp6WnhPLXtMUm1TVTVtP09UY2k2cVllbn4mZmM3PU9lcyhjYlkmemYoZDs/ QEsxK3EpX0cKK3ohczw2fV9HcH1vI2MyTy1VfGVrUy0pQWQ1UkVeKmFjJk4mNiVVWm0jU1B3P2BG e0RhZWhESDBqdFdWTz89JXVARworekIoMVFvc3FgOUVPMFg3VEBzczE2TCN5WXpRPEgpSHJHJmZx ZnwoPyohQFIlMSpPYD0+ZW1NMjRTelpqPyhOdlRsCit6ZUUqMiVTfllDKkRkMykqZj82ITkxLXR5 fDc/VzRLNy1JTyVgXjZ4M1FDe2VKPGojX1JrJTNqcFg0WFNXXiNlWDYKK3poSX5BVjM/UChFPDFu cng/fT96LUI1cjNmQlZyTjtPLS07LWR1VFQ8a0EpZU9Paj9rcW9IfEZRMVFIY2klb3BrIworel9E RDtfRE55MUklI1d1Z0MxZjZ4NUhQK250PG8/Z1NZVCtySDlkMUlTI056WjRXJCgzdTErdHBEc30w fXN8YGcoCit6bndtJlplRjdOP1dtc2JGR3IrfnElRSR1JFZlTT5jd2Z3cTdIT3ppcHc7aylSY2RQ NHNiaTkzQS1rQmByPmgkYHIKK3pvbU59YCtVNFJMYmxoZiUtbmc2a0NwMl5qNTxSYDAmIzMkVHJq TlZxYH1gX2laIyFASDA9Z1ZIM2wqYyR4NFdLPworenlSa1FXUmk4QiQtbE9IUChVQ0I1emNxUlJr ZEh5MSMjMXBYI0JHK3g9TEJ5YjwxWEt0ZSh6VlohQD5IV0ktPiE8Cit6M2Z7UlE2S35JUEpfPTFB ZGlNNnVnWnJINjBqVWJ0VHBgVzVPMT1sUitWZj5NUTJBWnMwVGJPUkQlXjNzZD0tTXcKK3pvPWR1 fW1saW50bj18d0REKyFsUnpQdklZS28xbyRQQ0o8VyNTV2dPNlhRTnkkITBwSFNueXR0U35DcjdF VEhkVgorem44JVBZaF8mIWJwR3s+QD9HSW1KUClAUFBjTzgxckhBNmdnTX1+Kj9jZyFwTWZzd0dP ZEI8e0NPJF97V2RgX1ZkCit6P3ZDYjNUXlhIaXchP0YrKV5TKktDT2Y8Xm5UJnpCY3c5fGM1OChx Jl9QcnBZb1FDT21FIWhiN1pfdT4qSkZpaHUKK3pge1ZqOGtFVCFlVE0yaGdQIVd8d0UreDZ2Snh8 MFdtcUNBPmZ6YF5LMnxha2dYcFJhWmp7eHwhTE58dVAqSkVKaworemVRSWZDO30pYyYjY357UFZ3 XkQwWUhLKjUjSGF3aXIwKEp1PH1MY1FIenllJEM1eGhhX2wjRXJiczRWZTRwPS1VCit6U05tfmxm QCFXKClTVmQ4OUJ0Oy1qSG99eW9NS217QFZ6VnFkfj9Pam8jTSQ/RCglVVpnYCppRWdTISspMnBq cXwKK3otaHh2M0ZMYEJGRmlZMCtwUWZHdzNaZXlRWjBNO3kkMXNgYSM0TUFNUUsqVE1RVzQxd1Y+ ISgkJGdEal98SnRJMgorenFaQz47PCg7bkBEKXUqPGArOztgWFNFS1hIVWZiJWpCPlo7TyRMaygp RDhoSChZLT9sWnkoZG4tQzN4Mm1TcXIyCit6N0swaGM7RUZSVUFLV1FnQlM0QkEzKF4zRVBjI2co bTZ1YihkTUhiZ3JVak0wYThDNGFmWjVVbG89SFUrZDJoXkoKK3phcFl1I0l1NWMmeG8pQU5FJFdg QSl4SF4jVVJsMkNxfnhTVDl+NHYhQipAND9eUUd6ZUJsUE1FdiU/eTR2ZiZyRworemRDV19xOTx9 fDs1V258KClzPkl2eDBCZkw/T3ZfRD4wdksqa2YoelhOazd+dWxOSis4NSohXjBpSSY4biZmbzBF Cit6Y19NJGRCVTsmfUpAWFJUNTxhX34temBQMFZiTX51TVdjVUVqPz8kKU1aSE4oTExfOCp2fFow KlJSOGY0UitUUGkKK3pyRU5qamJgaWpFdyprVnJNRU5NVW5zRlJfentGT0l5bHlOS0l6b1l8d0Ij YmtNbUZVaGZuXk1tWGUxUU54ZGZOQQorelF1JGRzY0FITCNhR1VnMWdIUXg7WTtCR0hZVUQ9ISR2 dWBtOWd8WUROSU5WNnI1Q2ZWTFJPTno7MlJnZEZtZXJ3Cit6X2spKEtTdSZ0S1VwRyojRysqLS1i eU9EJW14YnotYnN8eyh5VUoqcHprMVc5cnUxJGl4YXRqY09pd2ZVZSR1KS0KK3pRJWojWU9GbFc8 K2ExMDt5bFpHVXhKXkMyQFFyK3t3M0ZQQ0ZeZ25YZ0ZgdTUkSHFDNGo2VHJ2O3RRbV5weExoWgor ekxPQG1EYVB9MVluUjZtcHA1ZUFFRDFaR0FmT2xKajN5aUxPVEdMUjhGKGd3bCs9XzZTcHFFSUp7 aH0rTT4mbz9OCit6SlFyWCRQJit7U1N9WWszPDxnSD03U2tCUUY1O1E3LXhVNUhZflk9KT1BRVc9 TWR2Tz0oQnkmeylkX2cpPEJoKTAKK3pIejM4RXUrK3Y7c2xOfTwtbnt8eGYhNF5+VE1sQms/ZTh9 NV48JVRiIUVGMiRefSR3aGA5QD9JWGx6SGJ5Y2QleworenIpPXZPenZeKWZkQCh0S3l1VFF0UzRE PDUmaTNyaHtrd0Z5ZjdxTEAxPTdjflU4amYhI2RTKSgpUnVqPnt+YEdXCit6RzJefS10Kz1sQSNR MFA+d3FTUyRuOXNCeUp9aUhXRStZYjNJa2IkTXVNcipTXlktWkQhZV5wZzV2QTJ4KFlNKEgKK3pi ZEBkTGVuflElcl5Sa2RvNHpOaSk1fXc/Y0phYCN0cXFDY292fD1oU0VLIzk9TGUrNTAtfE8oUEIt WjV0eEVpLQorejFJYjBWdyF9TXJ3U2BFTmFvMGRKUF5BKCZkVUNVZllCZlpMUkYkRGBYU01jYTk9 SSN+dVFBVFclJHRoPSZVN09rCit6VmMzRlJAQWw1dXJrZDk3KlhvX1NeUVRgZ0A1TThpLU9mJW0q SmpoJWRUenh9NEomP09zNDB4aFV1PUo5PzVPVmMKK3pmP0lJYEdgIVBpQy1MX0k2OzxFSl8yVGZY YX1nO1d2VXRrdD5FeyE7X0BCKGxMfn1aej5paWp2dThzWkoqOSYlcQoremNkNWBGRkVFTHE3OzZ5 UXQ9SFoxYGF0eTx0YU1ySUA7ZVpkRWo8Wm8oY0RHLWIjJitoWW4wPXAqSzZ8VlBlT25+Cit6MytA S19EI2xqWjF+bnh0UThSZDUjbFVoTWZhPCN7WD4kalpIN2tXNWhoVi00M1pidGlQQSsmRW9ofjxQ ezlFLX4KK3ojPyVJb3c4bVR+YTZgPktaPyhIdDBzaE9eb1ZWUFhrRCVZSEtSbk5WRzY3QjEwSEdl TnNQR0VlRHVET0JyRXsrVgorejhmUlhPQGJRRyYjM218YkE2P09PZypTQ0VoI1ZNY0BtXn00KCsy KWhJY2Y3NSQlfDlhPn03ZiNFclUzNkh0aHZmCit6PFprOSE7bnhgJEl1eHZRSDYhV25MVm1IYk0o RlgxTzw9N3pWK1FxZCNTJSo8LXlaNkhnNz8xd3w1KjtEbzZRMkIKK3owUiNYYjFyR29+QFZ9Xj98 NndJOTQ2SDNZfEJuPz4tS3piek9hSmBOd2AjKTUlY1Nyc0IzcVFsYiU3JC04LVopTworekArdTt2 PWBeNXI0UXNMJTAkKkg0cVl+RG0+biYydCtKRCFXNCh+SkJXXjt9PzQ1KClkc1hNWjJ7Z25wSj9E aWcrCit6OC03eDxSPXNeJEdPSW5oQmx5MlhvRXhqI3FrRWBsV1NeVlRJfEMjbVo2OGR5KVIjJXJq VCE/SDJuZ3hDeDVPbDYKK3pPJVpzdG1Aemo7bz55PD4jaGQwdXFhSXVGY3p0SytRcHxFPyhhQHh9 TTNfcENfd08/dWNRQkxjVmpyP3BsfXxqVgorentpXyRqRCsqe1dUKFl4UVFIbk15eSFLb3QlPiFC bDVveHU4NEIjc2twdGt8Z25yZnpVaUJ8PnZHTnpVYlEjZFZ3Cit6a0czdC1HKyMwMzlhbUlKWDhL XmtycDglRWNrQW9OUUxtPn4qTXd+VlBuUmROayNRYk9jMlhGa2UhZzV9Izh0ZDIKK3pKPExJXiRS MXJlT0RTaUsrPE5xejBhJEFLdXI1XldAKXcjTD91eDhOTG07bzY0d1U3dmBhJm4lTmpUIUNCQEo0 WQorenFvWTRGO3g3SVlBRU51ey1hO1ZGJT5wPyErTislZ0whI0d6aGBgfmlOd21oJkF5U3EyXkJs bTNWb34yUkR8NzA/Cit6PD4oc1ZKPmZSbHMhU1RsZlQ2SzRNYTFaKG8yYXo3dFZqSFMqZztkbFpt YGtAcXw+cmBhb0p9WkxXU3wjRWp+d2YKK3omcWo/UUZgNHc7PkY2K0gzRDJJaUJLVFZpRHIlPSs5 ITt1JjZQZChQNT0pZUFIbHEoPUU8JHZwUSFrVnlPSHt7bQorendKYXRZaispQnZlZylAZj02aXkh YjdkZElWQDgtQ1F5LSNzNShURHJEZFZhY150YGBnWmRUIVJpTi1uKl83YDBTCit6QFUwfjE2Vm8q NWRNZUxCTitfYn13NSM0VjNVfnhOeHBpKGdzK1JUISQ4NUFadlVkPHZMMEZUQlY7ckJvYmxvSD8K K3p6P3ZDJWluIzB+NDhYTXcyQzM2QHN9WXslYThEX1VINzU8ejNDQ2oqeE9QdHp0YWJ4fXQ9a0o+ fERybWZKSG0tKQoreiZRMnJLJHpYR2xpd0h9JEg3XkpfNXB0NHA2cn53QT95NHo4X1E+YU5qeDFM YXp5NGlfK2lGeVRgV2VIZmZ4UDw2Cit6M00jeyhSSnBRIUBhMDRjTSZSdSlMTH1CRFY/YkteX1hF KT0mJl4oZitQZ3JtPlFRb2lqRXw4QkUrdmRmaWllXncKK3pEIy0jNjVib30+QCh7TkZsb1JXR0h1 Y1hXe04ydFE8LW1XKnlASGB9JW9MSFl3TlpPWGpBZWBJRl5hI2Fgb1pLTworejk9QlZfbCY9R1pj QUdPTHdpJFZReiFUNjI2Nk1ld3lKcTFXQ3tlQlBQMVVOOEBnb0dIRCgha1I+WFNBYVN4cDh6Cit6 KFRXdHQtYGZWa3spWXUtVihIb2prTDM1M1AtYERnIXwzb2BucT1wMz58dnN1MnMqVV9oYi07WG9a bXR4JFpRdXAKK3pFaiFpdXo9QU8rPyFTTlowLXFeKV4jMzU8RiNrVz1aZjgzeTZXamtZRU9eckxr UkV5YWxNMHcqNFVgUX1vfExKbgorenNTI3NDcWlCajBJRGRfOzIyKUZ0cUA0dSVAd1BCNXhCOXFm UE92IX5kRG0mQ2B9NnsjMnFYYjxgd14hdSt6eXZPCit6PHpCQDlYLXEkZ3srfCpobmgwVztSWGBD VC0oRiZmUi1saXV2dHImOWVYZVVUUGI3e1duOGdeekJCZVgpJnI4OX4KK3p4KVBackxgT05ZX19Y SHJvX351cks5a2FrR1EqNXtNV3FlSmJlYDV3OD40IW5NdndlNmQ8ZCUqZGFXNFo2YlR3LQoreldN fXdUQzFNKDVgWEYkfnFuTkJsNlFyM1YwfT8/LXpQSjxfSWhZQ2FoM1VEUiEmZ2E/P3pCI2lPQmhs ZldxKjgxCit6dFNNdjVNbClOZDB7U0hpNXM3fTV2JnBjNHttSU15I2NURFo8WSM1NG85VlklJCg+ emgoNFFkQCZfNVdyeU15QGwKK3pSYVRUd0omUmBPaiRUVnUwX0p+RD9iOWp7cFFJeHBXd3xJcV5N PEZIcTE5bjw+TDA8ZlllcCNLWSRqN2VGV2peVworendMXjd0RksqZVd4bmBFanhsUi16QFE8QlVF ZntRTzNmPTQtTWxxYlBVSHJoblZBVXM+Q0xGT289QXQlJCtLXkhBCit6UWlOdWV4K2AkdEk5Kmlr b0xoclNCYDVveDJVJFRZQ2hnWiZHZmhIbCQ5LSQxSTdMZEc9TT5UQGtZYWk2P2klOyMKK3okVFpZ cCRWLXR3LUkmTFBlSjw7Zms+MzFoZSRjU0peWUNjUztAUyYmKk09YD9EZmc0UEBzPkNzV0hpckEx UnxicAorenBjeGM/V2pzZmZvK0ljTU5UbCVFPyE0O3VZaSRwNWomIzh5a016Mn5PZTclPmM3Wkdn I2JtQ2ExbFFacDktcm09Cit6JmJZWXVDbishRHYtdTk2VFUwYXZkQkZQcHt3d3pVOCp+Mi1AZW0x I3xORytxSVUpYSN2NEBGSE1IdkRCTkw9a2gKK3pPOz1xOy1OaFhXMDEpYClBTFNZdGBRTHMyOE9o aVVlJTBhclZXR2xFezxtJT1DT1NQbTN0SjBrSi16PW9ufEA5MAorenxNVEUkJjI3NilSKFFXeEpw cEdwMmdxNmVgY14+RDYmb0QrRHhJaWVJdzF3e0NnRCtTQF9DfjJxOCt7N1A5bCtyCit6azJ8ckhC Nkw7MEF3JjxpcXdseFEhLU5AWUJqQHB5MGQkKSpZUFN2YzdqTT9iWVQ0Y0ppSSE9QjdnYzUzSW44 c3kKK3p3RSZQfTQrM2V1bWE8OG1SK2tpJCkmY2VNTkBebzIqWmJ7PDtpI3h8cnE1ZTVYa0p+NC1B QmJ7JmIwJit3Kj95fQoremxHUWJfNG1AY1ooKnF9MypWdH4tYit4bU5TRVl3dWR5YD5uKUcwfXhP Y2NYRz56VEBTN3R1UyV7KylPQHMkWjlMCit6OFhtOGc9JD1+c2MhIXRLJHlVM3hSSUBKMXdWQVZt OEliaklXMHpefXptdmpqYGkrbzQhU31TfmJSViZ+b3o9Pk8KK3o7ZEdESFZ8SSlVWWB4WWRjYTVv bkNeMXtqX0F5Q2QzYVotV3ZDSF5zOys+MUN7PlVDWmhvSEskNCZPWUl4T1hALQoremBJa0FnYUhw Sz5UbzwxNG9USmEkc1pYOUFrRzUyT1pTXnhqQEBITU4ySWB+PE5JVEZIWlV6RmArRV8mVFJ+N3ZK Cit6KFFFeCFYQVdRcDA2JE87YSF0fHAmRSp+UmR5d1BfMktHQnAoYV5AVDIwQEF4JFM/UylWaC07 Nzh9OHQtYnRuSksKK3pofGw4fmtHezdwe18ob002cHBXUis3eFl2ciQlPjQhVis3NHtFX2FuYXE+ c3I/JG8+Q1JmQ0Q4QnFPJjJtTSZDagorekhBXnx3P2FBJFV7cjh1KyZOIWsmJHo2ZiVWSjI0YGl5 QypPOHY5LXhmOUQrY3FSRVJoS2ZmJnlOTHhOKylDfks1Cit6T0NVey1kcj0oJTQ3Z1U0cmBqUDY4 en1pWHkwKnAjWWAmZTh7cjhgQlJEKW9SUX05Y1ROZzd6N1U0PndIb148PU8KK3p4e1NfMkEmb2Uy P2pLPSRjYkt0aW8ySWJmZFdjeTVHPVdVeTtiPkAoeGhFS2NCPXNDdXB1I2hsYCk/VFVUMkoyMQor el4jbj48YyEtJChsUD1CQUhLTHhaSF5xeVdlWDBXUHc5KFU0LUJURHxfRl83cC14NWE1QXMteWte bXE3UmtBcV5CCit6YDloY3hteEZPbjFObU18clo2Qjs7RXkjXi1+KCp6KFRuJVZoKXRtbWh9UnRM YGQkYFNkYHZudHFNKUxQX2Q5fWQKK3orPFRONyg7Nig9Wj8qWHJtUE9geGxIVWc1aGhDdy0pPyk0 Xm9GM0YtZmArKjdNeXJDI2E2Mz1UKHhEKkZFJXp+OQoremFUOGJxVispal5fLT02LXswMXFjVCF7 VEohJHBsbit+SnI5XzwyQFB0UytxTFVVdHdDOFE+TnUtNSU2fl5QenZDCit6bzE9ZHMrWlgySjBW TWBMR310a3oqPnYkNHNeO34+a3BqUGJ5LSh7SHp5K159di02bFRnUzwxPmB2fiojdmN5V2kKK3o/ YDRaVWlCcUg/bVlOOTk5WEFVV1QmWDFQV3dnS2B3a19XS2k1RlVeSmhLR2tXYiFOVmxHc157VT1w bT9RSy1DVQoreldXZj1lYVhUM30jQF9RfjxRWnZaN0plYS1uS1NicnshRElWNFZAdHdBRSM7WTlV UkY/azIhO0xYQyVqY2MqYm8jCit6QG5XTnUhVWU8dU8heEpOIXsoNX41aXlUTWZEIWhpXiYxOX5D aTM0RWoyVUFiPzdSX21yNEolSVBfRCkhcCNFJFcKK3p3JDc4VmlTc2JOXzxMeX1OMl5zfjBOLXg/ MTR0MklgPEtjSDh3IXV1e1VMRkNNfTxXV0E4IXRCKUx+LUVFZFdpVworenJ1UF8xKVN7fVRAYHFD ZTMrYjlSOEtaTWczPSlKR0N1bWh+UzU+IT4wSVFzU3BrZD43aSNOaDM7dDBrVSs1UFAwCit6TWlJ XyE7ZyZRYjl9ZH1ZWHVYYXdUbnlZRUQ/I1MpRzh5fWBmRH5eanQpeXRUOX4jaUxOIUx4a1VxWHh6 cDAqdiUKK3pMa3JfcHJvNXApTStYeHNxU1JLe0tBIW9jSHhLQCErPXZSWlg+bTwrUXg3e3dmOUdy czAkYWYze31iKiEjSnZqZAorelN8VkVFU3VRKWNwUSNMSUMqfT5nbEZMYUxkfGd1Rzd6Y2thO3E9 dUV5fTI4I2NnZGR4V083S04hX1JTNElNYlpYCit6YkwtZHZiVkFVfGIoU1IwR35Rem1UR15HNWkp S0NOMSp1PjNiUzwhIWhTdytlYklxP3luNDB1UXUrVVZmQTBgb2kKK3ome0ZCejI7Km1FWX54JjNC UXd8IVB7ejFzQyRCWkd7VTVEKE9DdH42az43QyhsZCpNb28pc3htWlg1eVV7PlJlNAorentwNj1M U3dpQ3FMRDxkJS03MHVNI2RAJTYwaFlnK0JvPE1HQ25NPVI/cHJrc0RqeyVWOUFHcGIxS3ZsX1di UiEpCit6JjY3MWxPY2ElPXZVKVl7JngxIUI7OWglUk9lU1FwOCMwbnokbCgmSlNUXm9vSmJoYWVC N1g5ZyRuenc3b0pRIV4KK3pYWD95VCRkPCYmUkM8dUR4NG1NZXlaekE+X1pzWVU7M0VNT3k0M2xG SXF9eXlaLUwodGZQQnZZRV9fI3ttYmJoNQorej4oQWdRTyQjPjFuJFozZjs/Zlomcj5qPkElJCsr dzIxZUArWSZQWlMkNlI7O2czX1FEZVMjQiZ2dEA5NHBVQmFSCit6dj07aVU0Rl9aQ2VuQWBjVWo1 aTZBd0RkRWtKaTVsOWhqcWVWYnFQMVR2RVNlako/S0pTb3tlbjN2VUozNm1UTTAKK3pnXlRzZUtr JT81clcjemFFViVTSnJuRlY5RUJ6Y2wtMFFBU0hgdHQlWjZNQXkzVDQmWkJJWEBzd191cD9fRkVU KAorejRVOUV1ZGNZYDxZI2w/Xj52STVEN2EoT0NUWCFZI0ZFfDZQIyMtbEU1YE94elJSIWg3eCh3 UTtndlc1fkBaXlczCit6ZGNpYFZJUU1aZmRefT9GTHU1e3FMcjxTPlB+JVVGY1h3bndTdGZ7Plp8 Qjs7QkgxbDRTLSlXYThEfmM9c2tKRzkKK3owUlJ3P3tgV1gqV01eWTxfdXAmO3wzalF6UkAxUk02 I1h4V1FXX15QU0dERGE4bDVRd21KKn4zV2FkK1RGdXJOPQorenJNaHMyZzRtKDg7UUg/bDdhciFj SThrbDNidl9EdmViSn1PNDl9fTZxbEEpWGlpTT09az9sKT44akJ0TzZ5aVpvCit6Wk9FUlhEX149 Yk5iVDY0Ql5ydm0/MDkzTFZXSn5IVTBkSHApI2BDMWB0PkgoLU9iWUkoPjxPblYtZyFvTUMwXz0K K3oxMDhCSTs5NStXJnpII3Yte2lyUkI4el49XnBaIT1pRTA7eClEOWlfbDxQS2dgMFpVaSZReG8j Yil5USgzJEUtMAorenModmQlSC0xfU56OFgzPHpNWlhxKG83UH0jZXNBYkV1PGFiMS1lcjxNU3lC c1ZpZDx9VHozVD40bWtZaz1pI0JyCit6X2UpaDFXUFdtQSUyKzxmb05Gbz5CQSleZzNCS2dKOVMt biN1WVR9RCRFcnd7TmZ7VSUoYDMlckg/KC1ueDs9RkgKK3pib2lQfTBfZEZMTkA0JiU9P25PdGV8 bn5MKGh7MzlrSl9tY2VLP1k/ViFwN2s3RFUxJjBpfCV8QXlGV0ZrLX5jYworem1DMDF2QXx+QWd0 Qz45O1l4ak93TW5nKjdNJEA+QWNyTUNzUE5vQFJuelZgKnZKQUV0JDtfdFdjV098V1Z2eFYrCit6 R3E9YiZSJTY2Ujt4IWZwcVlSSWh4dWdQQnlmamd3Rzc2Z2VvWkAzb2lASllsY0EyNmgpJExgb3cj Q3RqTFROPyQKK3pQNClPTEZEbm4xamEwVHlVUmZvMzB9ZWE3S2ZWWD9HTX1IWEZPI3ZMdHhoWSVU Rko8SGdkfVN0UkJmXiMpYUU2JAorenA8a2B5TlJxd0E7eGpMUihLYEZtQVM4KnglO0t1blQpVX5F SG83I2NOfkRfQCYhJWtqMTMwUF5HRXhJVT9veG8jCit6aG5JSGVxWUdGOWh2QlRETjxhbWQ8enxN TkU3Vj1HSH47KCVfWUdSd0EjSHglUFR6Zjxwfld1LWI7cXVBT2lQR2AKK3o+NFprOUkwaVNVQzdl Vnx5MWlAfEQrXntfWWorb0cyezkrJCo5Z14kR3FIeUBWUE81RFZaPTF0MEp4ZG9uc2cySworeiVM Ymlnel5MTyFuWSgqezd+KT5LLXhtQFRtNytBe2pGcXR+dGV6ZjJtKUNKN0ZUQ0hjP0d8TTRncE1l d21ufGpVCit6bkNscFVAbCh2MWNwRit3Z01DVHNYMTZWVTw0I3tURVRsVWBMZU42YCVpQ3RyY2s3 RmBPcUIpMTB0OEdfTDhFNTsKK3p2UH5VcU8/VT4zPlRtUFB2YSghcDVzfjhNN0YyNFc+X15aXk5v fHc4aShNR24xNFF3OXlwY2dnSV8qUUdDI2x9LQoremB1MlUwQm9RfV94PkJhKXB6WmE/Q3gmQCEk PEh7R2BfT0tVVEMybiZiXlh3eztOSTNGd25XZUViJiZOdnxJNzRUCit6ODBnWXdvVWdSUnVFKiYw RXdmZUxqP1ZpbihkKXJPWjRaTGgqUzlITk9nOD5RenU+cnxGSXxqYUNhZV4oI0RiTkoKK3o9P2x0 P140Jm5oX2h0bUdgQWZ5LXRnOEJBblo4eF9YNVlhUj00SHVHd1o7YEZ3QFAqUF9McGh9WHJidiVH fEEleQorem9YJWpnVjNiSXdCQThPLUBobS1xVj8oSHYzSFNeZj5PQEFjN1Bmanx0JCZRNFgmZkh4 aHN4eGNVMW5zMUY/dmZrCit6JE90dGghfnEra3V2OXVtVkFUaH03cGg1MkFuZClTU3N2eX0oQVB3 NU5+P0QwQCFvWil3KiZlSUBJUGxEKkdtTk0KK3p4cXRicGc/fX5fIXZBSTZVfVJfTzxtfjhUPG91 cnx4QnA9aHkyaUdPK1o/KDd7RHZIPDVqZHxobnoxIXQ0eEZ7YworekJEVjEjcEAjPUV1UGxSPik4 NEt4NWw9N2pSISNoUm90ZmZvcWY9YkVwUnUyVmYwNTlmblh4aTZHY2AtKWp5TlFxCit6SiFFZUtO OFEpXm84aEJAPll7WTVEeChxN2kycF5hdV8tZSRuK1FQTGVPXzQrXztOZngtYSpNR0ZtemBZWl97 RzMKK3ozfHZ9SlBwK2llOGJmeGxTdXkzKlYjJnpRM2JqeVZBayQqZHhRRSMwYDJ6TWY2PFBFVD9N R2RmKlNySEgtPy1jRworemFiJW9LPTdPXihFIWB0aShNdFYmbiVuISReXz8+bHV9OyVCTDdVUnxo IW5VK21kVU4jSmszSVdUQl42OW04cjkxCit6ajArR2J6Um5xYlNUJlp4cDBoLSkyaTQlZEtQJiFo V1RDRDUwfHZadU1eelNDP1cmVTlaTkB8STA+bHx2dEtNSEIKK3pZK3RYUWZscHp5blc2O24jeU1g YTtASHQpVEdgNVEjIyEmLWdZTWwzbl87Q3xrMDA9eGlURzE9WX1zbDZMWjg/cgoreipUQ0lBd0p4 PXNaI1oyOzg1fHZxOHNAPWg2UU5VSTV8bzQpZ2lvT3UwVEIpY0A7T0p8a1pfU3V0OzAjZjgtXjla Cit6bGFkeDUxcGREN0xxbUY1KWkkOTRSOyEyZDRFeFcxTzlvUjlVWiY5aWN1MTIkT3ZUUnZjdzRo Wm4hZHA+Iz5eNFYKK3oyXzFQTDNYZEFPU1ZZb1M2Kl4xbXU3WXwrWmN6V1lnaUFKNXVwWGMlIWJE Z1Y1bDVLLS1SamQ4cTNMV30hejNUTAorekRsYz14VnxzT007PnlWbGMmOGNrc1BHejhXZ25oaUhB WmBHK3FoMkRfUSFldWohQDZBJmVeVDgpOTZCVEZkWE9yCit6T08lMjU4YjQ0QkJwNUFONykjem50 TDQ0djMkQ3NpKWplUD5oMH5NUnMofTJGY3w/X0N1QjdPT28tNHkkPX59JU0KK3pJTSRadEMkWS1a d3lOKSh6RUZiVUc0PzZRcjlIQF5pd1lVPD9FODtNdzdZd3NOe3ApcCVSVDc4PntETnhsU19hJgor ekdZJn09c14qb0pqM2Rmdz1RSFEwe3d7KU5JRHB7IUsha0EjdHUqSGtFPnVKbGp4czFJdnMoIzxW QG94PHFpTVdiCit6VktHLUteR15IMk1QXmxkUDdgX1EmJTJxcWtmSGlmNkAzUzd3QCt1VitxK0tG KmpFYFghSmpVY24+ST5CIS1JSTcKK3orRlYoVVFPVkcmSHBjcGAkI1ZsLUZicms1WTNNKXIoU0cl WU5IPmk9U3xsRWQtSGJ0VmZSUFQ7PDJ1K0AybzxFPAorekxKPHZhVCVkZm57I0FYPEBwckFgdTIy fCM/ajJhTTs7JTNuQEJGeT9DLTgmflI9YGl0ZDFnMG11R1NQQTs/bkJ+Cit6MHBpRG55JVgtQXB1 VT0lPTcoPH1hOSs1eV5tPHczZWRVMEppVGB7K1RMeXBqUl5mRGF0VnNkfDNgSClDVEtQSVEKK3o5 IWpaaVZkJWMrKllGSFlxSCMwcT9qVE8mRnZtT0QjSDRSRk42Y1JnQ2dwWH5mezwoei1uRE5zezZ9 eGFvYGQhZgorelVVTWBxTWkoJnBMcU59ZEs4YmZkN1JAKmchQXh+fHREVWBhSkxqVk1lRE58Zy1j bXVSKVdNNGNBPlBhYHZLQGQhCit6bX0tYDk3ZlNXX0gqOU5uWk9PZEFFPk8wJSVVd3hpalV4T2h5 KFY4NiRiPkg8TykkNEM9YVMmfHhLP2R4WUdOSDYKK3ptbXpkYUoqUD1Pdj1zRz5SSWVnKmE0TE5J Jj58d1NrZC1McnIlUyNnM21NfGktPCRVVUxxTEVQc2NRfUkzMFloJAoremk8aGxSYiU3aDlAYDdY MnhqOyErYkl9Pkd5ezBAZWpzRz4hOGN6fHx3Iyl2V20yaTdiTnF9U1l5bVJPMkR2Z3BMCit6NjYz d3tEUCopNU91TTkwM1crWiQlZipzYWM5amZTbCQ8S24tfmBMNjt1TiZ4dUB3YmJmRFIwO05XJEhg Tz1ScjIKK3omVypkKUY2VmFmd349ZFJjPGNnbFdGTHE5UmkmO200RkZtbz5GNyt0cn50NkxaI2xJ c1cmQnU7QEx2THFTMjMkQgorejtqT1FqVFlSVE10Um10YnZebU1sRTcrbnkjaHw0UGd5JWdpaXol ekJGX29MMCY3Q1FDSS01PVRjOUE1fG08KHIlCit6eTRYJXBOaTUkQzZRWilJZWtgKDMteWNVe016 TDBSOEozMWlMWktLYGQyVXpmST1ZPyhxOSQrM05hdzU+USNsU1AKK3o4MylOe1EwcDNXbVo8Vntq KTNzdl5JZkhNWmdxOWZtSmwrb1R4MWpjNVY7YnFgeTxyNF82TXBPTTtxdTg4JipBVgorendOcStW e3NJaz9sVjQpOWgyeDxSQzhNI1JueDlHNzwpSzRvVmxoZmxIKXhVWWAkNUVZMzchKDZNKz92d2Vu TCNLCit6SX1OUHRSO043MCpXKzNXfExtTTNeanx0bnFKRlMxbmlqPXR3bkI0UGIpSFRjU1ByVzBm YUpxRHVHWj9EX3doeUwKK3omdDFvQEYqQENAY35HPjZEd3t4aWlwO1lPJjBZZDtydXwpV3VGaiN7 cW1NOCFMKzZLUTtFdiFiJXdIcndadjxgKAoreiNlQTI1MEU7LTVDZkJmcG9VZ2U8cHlCYHspZiV5 MnIoMCFBYldzPDNxUnI8eklTSU0/TmhkJGBYUnYxPXQrLVReCit6XndBPnY0TH5MVHtoYTBmRVdn cHxvUnlXcWYrVilMJkBAKmxhd2RueGl6WlFWLV5tK2dSTEk9cmFfIW48big5VG0KK3o+PCQ1Z3Vh MHdkYD18NDhld0p0SUdvcHp9RU5ucUxsaTsrbTRwLVpfZVNyYlQ0M3kwaTJ5e2RBIX1CPSNOPH52 TworejVQbHhrNkclQ1VuTjtUWCp7WGwwJEU8ZlJ8NFNJV08md0BtUkpqd1dRWXI8YCkoIX1rNzdR RUBKbGdue0xGNjMwCit6UCNpS2F8N0UybVFuRH1Tby03YyNRbX1hK19DTVErWDF2fnRaYTllUDtp bW1+R30heXglSHkjcld3U01tOHkzM3kKK3p1UWM+TEIoSEoxJUJme0xDbUt3RSlRaVFYWmVyLWVN NFNRRjJGR0xCU2s9bHBWJXArPWlDbmhuWnl7fmQwQXZ4bQoremZyT2FsPW1PMTd2bj81Ozctfmpl RTBvIUx0SkZzbzFJZXlsUHFRTW0oWjstVGIoOzhPbSlXTTFzbTdGR3tAUzhSCit6PGIhOUdZdnMx YCt8YFh8VEUtPUdRVjx5U24hciEpVU5mISQqWngpT0MhV25hb319d1o2VjJZeSZyVGloe3NjTnQK K3o7KzUheTU4KEE4TVU9M01nPD9aTmZ7MGNETCVnYUxlUnhZQjEzTSN7ODlyTk96LXJmaGRPdzN8 KEAwU0U+aClrLQorei1tIzxPZEJOP0VNM1UxRGFoe1RnYT1zZGp3OGBCMkJwbSRJTHFJO2g1PlB5 eD1IZks/PnUpRkZQeV4mZS13P3o4Cit6S0s5RG0mekI2eXo9e1Q8al8rLUp6cE1iTWUoc191YmZH U0RMQGBOa0xjVmp7Nk0jSVdIaHgrLSlLM0puKShaUFQKK3p3JDYqM04yT3dEazR6YCRFQmFkUUpR RyZxcSUmV20yIVdSKUEyS3F7VEM7e2ktUUwkbjMzfTRKeyUwZCUreUZpRgorekg+Yjx7K2s1dSEj cWh6YFJhRWl3c0UkdyQhQitgJmhFP184QnkxYj1gbTJ6UD8jJXd+ZmxUOTwyZzI3SkhRcHpgCit6 RT8rT0xuK2poNk19MEMlWEs0NENRU1A0UW9LP2NoMEg3TTVGbkRKVDspY30wVDxQTXU2ZHBCJFUq ejRpcFdmR3sKK3oqJDtfbUA0Y2JKaSNyRGpPeFE3aXdpRG8kQiRIM1h1a0hfUUQyeURvKnpjTEVA QzQqWSpvTXFQUlNpaiVqU2orZworel9NMFdIQzR2YjR5byQ8QWkjcGg5QWtjPTZ6ZWMheSlpZEV4 aTk4bE9CTVZnTWhCSk8wNkJNd2ZHa15rYnFNSE51Cit6Sz1KRDhxfGdxNlojcTYzKCtwNn4/QGxX XkxXb0dCKFh4NmVWM1M5d0N7RENpQTs8YHAzJXkwUz1tKHxLcEVIOG4KK3pPLUdBdz9ZWkh2YmN8 NkMpYCg+ajJ4Z2NadXZ1O35NZEZSb0NpKmtOMnUyRiZZeG54Qm5VUz9wNVJ4Rm5vMyg7KQorejRD OFhpcnFDNT9SaS1oSlIzcmM2UW00ayRCazZSJnBacE9CI0J3Xnw9NSV4JiVSUm05WCR2dC15TWw1 aG88aDB8Cit6am0pa3d4PiR7d0tpUT99XnlNMFJtTl8kPDA1RyF3PCY5QiYjRDA2O0Z6QE0oaU95 fGxWZX1tXm5QNj0wUzZRWmIKK3pJNUI4dT5HKDApMG5GK0dtMWd9VVN8bldIREg9I0NATmJlWjxF Z2QxZTFpaTkwYiRgQU1pPTYlKVF6YEhEV3l4YworenZtYWRTdmo7VDZzUVA+cW1INFZhXlpDcDJ5 V149aCo7aEExO35Oclo4JHhaKkpea0hPMUZFNXY1VmlCKSs1d0F4Cit6Mk54biNIKlNQSCUxXlc1 e3duMzhDWGIxN3s3P3IxRnkreHoyM1NIKzZmNm19KzYxPD5pTHAzQktzOzRtKlN1aEcKK3orKj56 RUxGLVZaT34xeE1zWShyVWI/I2s9SmZ3LSVfUnM9fjs9NnVOPkA5ZCZldW9eeTEzMGpKdmlhKlBK ZjdHRQoreiZ3Znx0djQzfTBgZkltKXFZOzFEU2BWSHNJMmV8WCloeiMrTnRsZnNnbnMoalFNZGNj e2kyfH5NQyooUFQqZCsjCit6a2kxYCtSPW0xfklWJXBwS1dvJn5OMEJuWGBWdV9xdjIydTVQWko+ USpucU9yaX1tQHJKVTxYcnUwMH1jbDI+V24KK3p6UDhsKlo0YzFsbEFranxSMzh1SWFEeTIoRiF7 M2FIYzk5I1omSWJMdmtxP1pvNFcpQVQja0BGdURzRj0wWFhQagoremUyLSktUnBSZj5RTkd9YCVz YH5Mc05kY3dILWMyIWZsIVJ0QntjPnEpbHYzJkx3QG9nZDJtMX0wQiR6PER3T2V1Cit6akFDSXFU Yz1GM1E9K2JqNStPclFgMmxSeiFlfGglbEZnakZoeX1MbGFiKTUxI1NudnNVK2decnhjXzE9QUJR MGsKK3otXz10VlF+bn1JbERzN2RzfnA+fj5ueGlQVFRGJDdEVCRtVjA4X0JTbTVUMlhOZCF0XiVm a0RRezxXJGc4ZT5eRAorektpfFAyK1Vgc15pZnU/V0k1RihfdXVZPU9sSUVlP1BnRFE/ST9aVlBK bjVqbTtWZWZ+Y2s+Pi0hS0h0c3NvaWJDCit6dC1mcm45KnR7eEs0WTJleTVmQWZYPzFsbXleOE5Y T2ZqOXxiJDVWVDt1SEB7ZV5vR2RvJEV8fU1Ldjd6MU5ObXoKK3o+MG1lRXloPG97UzFuajFhZTl1 fTxAU2xgYStmZyVsQz1kU2RuRGdxTWpwa352ZC0jN2g8bkd2KmIwQHYzPzxCeQorek5EPSFebTgy Z0xBZFhHLTZNQlBkR2YpXyFPIykoeDUrPkw7X3k8M1l5UTAqNTN5Qng4WithPDNVaH1kaSoxZ3Y9 Cit6cGlrPWU/d35yM3dhcl9gKD1SQkJFUjJ3bzxMRmAxMTtMNGNnWGpxO21ufFQhNDNSOWZ6I2Yo UlQrN1Rke0VxemoKK3puMDhXTlZxOzZnODNNWTJBTGRuelZUYl84dUA0QG1ge1BSQ3NoeXIkQHZe emVNck1RKykoQ25mVCY4WF9AKypBRAorekNtNkxmXyUtKHlPdmdOSDJBRitDYjxZZ2paRi1TdiNh VkxtQFMpa21zKkMpPFJnQ1AyXnY/YTZQO1hUMk4xQHhoCit6Q2FTUHFiM0M7SXgxZ08jWShjMiRh KSVpTk1qQUFfPntXdDdlSz1ONVdMUXhKRUlFNEEtbFd2XmFkXkl0TFI/WDIKK3o4STJweStiZU9S N05qJTRXOHR9cz9Jb1F7ejNMUXxnWiFXPU08Til0KFkka0YqPXNwOEdldEhtdHlwY3txRXEkQAor elExP31aaExNUFF2WX5NZyp+QzlpJCsoVj13Ozd5TjZee2p4I3ApXmB5IT8oTFJFVHhQVTE1MnQm VXV6Yi1WUX1RCit6NUp6aXpkUXchP3h3IyZtYD5mTHFvY1IjcUNNaWk4T0RHc2B3eDBYQk9FSmBL VVNpSHteJmlxWERLKk4raWRzZ3wKK3pQRFVmRlNaUVlJI3o1fDJjfk9yJG9PPn4rT1IzdkRZfDZL c2h5WFB8RyVQSldHO2JDSzZBSj5UPUZaXkdNWkBOPQorenMyeFAkRWJrI1g/PHg1U0EpJXQ7bE09 ajBMZlFJWnQ3fntNPTVmfHpDKE8yaXhTUEgkKGNMJUh4KTRpTD5uVG8/Cit6O2orT1NZdl85bSg5 YzFeT3VGZjhlR21+bVBgfiVCUTx+MD17YWwmMXRvaWFjMWJQWSM7OGBnc3ErP3h3QVNpNTQKK3o2 azZzJVo4NHpPanRWcGpgbGdJVmFXbCZYVHlmfVdpMnlwbCtabDtRR2pSbmJ4M0kkdmd1Ymk+M3d6 UTFQIztTVgorenVOI2xMVHYpSSNrT0F4VGlrMGVvV2d4QUYpMWRsJTBDYWI8Kmc5ck02PlFCVTdI NllTWXJUT0FnUztYcSgmPmAtCit6Vi1US2goMFBza2BoNH4pMH5vTEgrIVluM15VWkYlZl54Mjtz dU5lbiU7VldWS1h2eihKQSp6fWJEezxUeHR+NG8KK3ohQFdjfU8melFAYitAOTB8Sm9tYXpIaTI3 JE8tfClMQDtHRVRfQ2stVHZxMnxhfjxWSWt6LVdZPFdtXihFTjVDIworeihMKUlCUUJOKXlFdzBZ KmhAaUQ+SFRARjsxKHI+cGB2a3M+ITttP05GKmJNI2RDTktgSnJxZTtQZkt8WHpwZmBXCit6PG5F Z3V1RE5YTnQ+P1JJYnE2eWdlb1B1eVVmQTE8KnR8bFUzKjRQNDlEJm05bDd+YyNSPl9maGdpYjtz YkJNV3cKK3prSFd3bzA4MyFAU2srRUVVd2JAblU9LT5gSTBXJGg1cnFZfEVpbWgqeElFJkNTRF8p cUpSJXFIbiE3ckVaIWMkSAorejN7NTIlZ2g7dmAoUnNtREZMbU1gNVVXSW8tQl8yZ1BYaWJDYVF5 O0V3aFZsfGNXQTxLZiFufGBiciU/ZDM0ejtLCit6QD4jbiR7T1E3Tjk3Y2VJMmxSKWdBJnomdnxJ QyZBezxSVnN7SV9BYzFPMn5nZnRsIXhKUGQ1Q3w0JjxAc0B0K2IKK3pedkZHQDZyUWFYVzRMfEJZ ejF5Mz0tdGRFPEBSWVkjVXdUa0dvYEs4R35hLVFxI2JHQ1ghYnV8SiVqSGZqTHtIQQorej0hR21E ZGRSMjN7bUorIVY8TkdyISNMJGElTWxuMnN8NVE2UnZZKlBeM2B3Z0NlNnEmMTYmTEEha01iI0Zf Qm49Cit6Q31ZP3RzVzhpIU1LR0dsZm1BZXxpY3NmPGFAbilRQCZqakJ6JUBaKWY+Wio0dE1vSmZC eFNtVVYmbWI4PGI5cGsKK3pBTGxrOXhCTDJTJV9Pb2o0TGwhXm1jYjBpJTBed3ZlSFpgb2B1SCZy X0tXbz5ZS3NtKz5XO2VEeE1BKEkzK1B+QAorenk+eEo7dHM/Zm0yJEdIflYpREV9MzQtalpwTH15 MnItS1hFJjAyV3xlNylAb0lrdjNQJmVCSDNacU9eTWZrTTElCit6bVpVQkRNM1U0SFhqdikyPiU8 ZE9pIW14S08kJX5KNSt8a29ObXRUMldtXmB9aih1P0BqaShYN2QhJkNLVnEhdjgKK3pRfEFBXlRx QmslNSMzbzkxZ0EkNzFhOWlmdXYqZkUpLUtBcmUpeWFLRSh0YCZvelhAOC1xfENxP0s7SGBLcFp9 fgorekdiVyhNajcxJHtqeW9IJnEkYHowUT87a0JtKlF5b0w4LVp8XipQKCREfmZFcVJZbGxmVyVr VVZ8QmkjQkZKY2ptCit6T2opT3xKMVZ5alc0KSFLR25yMV8pc2wtYlMoJlp+NH1QcmZybiZ2K3p7 cV9wKnxxKlJGYmU8SThXMUtyVjszOXkKK3p8MUEzWXBZbXIpKTNRVk9ASTl7LVpQelF6cDgldkA0 NCUoPnhHQEI0dmExb3VuMFlsSFBZYkE7PGBKajM2TSFkdgorenA+JlRYTnNLY1RCeFZudT8pc1J4 b2gyWUg8WVc1LTd5TTJPU31EdHR0Vmg1d21fVSpHaTteWnwqLVRkUVc5JmFRCit6SmRtMG9uOEpr UDh6akd3KkJheUxFNV44SVpfRj1MVjxzMiEmX0FpfEhFaHcjNTEtVVRGVXM7cmtfdmhHUGh8bkMK K3pBb0hTdFIrMFZKYVdGPFdZfDVFPHUlfjdlZDE9LXhzallKZUJxYEczMFZJZEM1RiNkfTRpaGpg anx0KXBkN0ZROworenJ4VE5KTS0le2pTYCZScDUmNzR8az00K2tjNDxadEtPTkU7ckhIflE2JFQ2 bzZkPSo4Kkhxdk5oUjRPJjxLLTtjCit6MCZgXip4QU9VSkpgV0U4KFFqTz1xWG1tWj81N05RbSh5 UExJY3xXSChOPCM2eyF6XlRqTEI9TEo+KyQpP3ItUWwKK3ptaTAle24jSHV6RjA2RFRVYmVBQCpv WUFoQGlAdVZyMC1mZEtMM1BrYkplPlYrQy1eR3A9YHNxe304Um5SJTl6PAoremt1SS0qS21XSSNt PWY1LTFnQyF6dGNsWTk0UTBrZVhKVFhGe05HI318STw2PHZHfDhGYEA4IzB3WHM1cFBhYFIwCit6 O2w+S1ArOHxiNi1xbUkxKXNeemQqamEhSmxuQF5kQSNNJm4qRnJrfV5IT35RPClhTGdTSHE1Yjd6 RkY9PUhqeGcKK3o8RCtrczJ5PCRvS2BORXYtNmMoRygqTzUke0V6UmsqfDx0YW9CbERpIUtwe2VH MlVIb2xuSG40PXckeTBEYjw3dAorejtfU008ZVA4VHVIeDYjazI4WFpQK1kzKFNOI1pnI0tldTlT U2dqdHYlWDA+c2B+QilFVWwoU05GSWd0X2dOMCVACit6KChea1A/QVFETDxZNFFTbmt3PEhJIVRu b0FIU0t5Tmh5QT9kVS1tSjwkYj9qYGhUaz9iQUtQQFplKThDQ0VlZlUKK3p7WTx2cS1YQkBqK2RK Qk92RFhDSjBhMl8maGIpc3IxfT1URjFZKSUlcWw/Km4kOEBeRiNoOTIhNkpFMVVoQFopWQoremNh dDlLXjxWNUImKyRvPmVFYj99cFFkXy1AcSs/PSh4Tzx+TUkzOC1jaVF+VzNVfV5eTXQ2XzRAV3g2 KThzVD9sCit6NHpvanQ0KU13UkhZTVY5azJzVnIle1k/QiQlbCYzbGdjWFRNKDJibGNjQUI/dkVf Uz9wU0d6Mz1sTWp0bkZqQk4KK3pNc0U+amEoezBQIy1DQTJ5Mk5yenJmRF5eV3ZLIWJGaU5wdElL bUY5SksmQjt6QU0zND94ZyEmKjkyVTY8amRZYAoreiVBMzhzbEZ2dj57Yi0kNWBXKiFzWVJAeSM2 fElWTjVyKnc0UGJ9ZCUoZG1TT2VvKHR0THdEITUhQVpBNngzSnhxCit6LTdYd2xwV29KZmhOZSN1 cGNxX1hZa3hpfVJ9bTkkaFBLR2xiPSNoPHYrTEstUGFwKmBsQEEqdGE+cCZ+ciFge1QKK3pxYlRH eGsyX0FWMEhicTVOSjZeYl9qdVhLXnRWai0xZTdNQT5xTTc/O3pLNVk0PF42KTxpUD42I0JRS1VW aTxYYgorek53eEspPjRSNFlIcjI8WHRtRFBOPzxhJXdseU55flVGbWZiVUYzNU8qSXs0SVM9RTIm VHBjbEprUmwrNmcpOCRtCit6ZlRUSXl6UDJAdWZycjw7VD8qKWtZI2p+UFMtfHUlUzF7PU1SKHtF I09qUFBuKyhTaEJTVGQlaDZGM1ZGQilXam4KK3pfalltYF80TDZ6KUo1bmpDQi16eXtefm5SI2hN Z317Zz88Z2tWRj9yPFVNdGNqSUZieztrSkZYRUB+TyYrfWFlVworenJ1OGpyMlQ4KF5WTHlGMHdG b1h0Z1BrdX41dXt3eXZDKVZ0VlIxP0FsSmBLOUlzOFEmT0hYYXUjOC08Uk5ART9qCit6c1J4PypV VUM5Pl9DTmhkLTVobW8+RzA7KmJ2K19VLVVfNjYtN34ya3kwSyZoJj43Z244dkFMKSRDVmRXNUA1 PiEKK3prbGYmRDV4SSN9d0spO3opVmQ9YEB5JCktaXhMNkkhajZJVTA0YV9YU3Ele3RPIVN4eUlN WFFkKn5sNlZSJWsoWQorekNITSRlZ1YwRztaUDhAb09icjhxNFVwKi1vczNxREQtME8zMHMoZzAw JGB1ZXpXI0pFcGJEPylKaVpwNnBEJnZkCit6SW5eZ256ZGordk4hP21DaD80QWVaV0ArKnVaUGY2 NWFkKH5HR1gqbWBvQHJ5VlNfKzA2QUtXfkR5ZV9pPi08Yl4KK3orOFZ6WUhLTEt1RUc2cU4kbnxD cDgtJH02V0cyfEJ3ZUpeUFE4WGBtRFptSi0lVWxzMns1bWYlKSlNTWZCWWt3egoremEtQDc2d2x8 SUJtVWB2WmJiSjVDMTdQMlMlX0ZzYiVJYGJ1VVAqS2YjfTRWcUB1YkRRMj5EUWtmM2VMUTlyTlRW Cit6R0hWSyhqKjFlcnkoZ0x2NFJWd1BeUUdRPkdBfnR3dzB3KipUSEokZGxzYFRkbmtEdmsjO1BD fk1EMCl+UFAjKXAKK3pBa2RMQSNlM1FROTYqN002PDR2T0chdFdZeiVyOUBBfVNGNz55OytIRWhE ZEdUK088S1JMMUtIMEtxTnt3OXhiKQorejdJJkFRVzA5SElFRTFQQW5lR1Arc0gwbktNRU5MI2VR VDlTMFQ1bFkxT3JjXm98aUA0WDNAIXJmeilLaiRnK1B1Cit6MWtEfUx4RElSd3NsRSFRPjtPJUpj NWR+Y3hTJlBFS2pHRlJISll6akJxMHsmOzZWQj9AbSlXNmB8aUwjaEU+P30KK3pudmkrblNzVjYt JjAoYmRgPUB7JDlORG1ye2dqO09pdSliRnBucF9SV0BgcX5KczEyRl9RYmZBRnF7b01PZD0xJQor enYjJWhPWFV5Ykp6e21oPS1jWHZ7TWA7UkFmSD1BKylFNkBJTytESXpCQ2ImemdSe0RrdiRCSGpM OHNiMCl3dVpGCit6PSkhT2ZqQXQqeDZWLW18WVV0TjM9QEI2VDdSQylmKTVJUXZAYmRlX01JRUh7 NSo5TE9mMyZsS2dPU355SStMUl8KK3pQQSZ5Y3hOYCZhZlk0cF5OTGpYbCtMfD85OVp3fVd6eGVq REo7TzduO19ibHBSbnlmOytHckR8RjhDSlU9RE8yMworemt6YEk/JitlRkUrRzlmXk5tUSlCMmQp MkpeZEBOa0B7fGwzNWBVRj1RQiklSWkyYjkja2N2X1hIM2o3VDIjWXI1Cit6VFhNPnpgeml+e0VW T3JqWHJhSjhGa3Q2MW1fXnVCamdvOGxaRGJRJW8/UnZDTXcoQEtGaXRXfFllWUA0MFFYNmIKK3pl KE9pLT9DdWJAZyQ2b2xULXErWT5NVlJ0cT5wNF5BWWByaGwkOUQxdVg3M2VrY01fJSskQjFiRyZy NGRiMnotWAoreitrclUkWXM5Y3dgd017MyV9RHhGY0J2Rzg2e09iajUjN3xQTmZ2NUVjRFd9eHpR RUFJLS1eK2A9MCsmfExEbDs/Cit6RU9LNzBrLUhBdUw0U1hHZip5TWhtOGMrVkJOckskIyZSNl9t PzhQMGAjSntkOV90aDRKJGN3VWdBWEJNe1VENHoKK3o4MH43ZkREeSg5a1BefEw/TkBzQnRnfEMy cjREPmFWNTh3ZWV5PFk1Y20pQ3smeiF7d1MyczVUU0pjQyp8TFZXZgorekRpbFEmPXJ6KXlQalMq PW4hPWY2R3xYIzBCYWNAfm4rJG1MJGFTOFExKmRVNWFRbGdzWjByfClkWj0oczZMO3s3Cit6N1Iy VF9eTSlZWWNGPz5VQFd2Q0FeT0hhT0c2QENtPklGVT05Mk1LTSg/U2RPQT1KJE44YEN3UDhfcCpT Nzs3JVoKK3ppWD1pajM3PHhPNlIhN0BNYDt9ZEZZRi1wUlh+OUxIRyt5IzN2PVhZJF9LbDc7Xl50 dTd0Q3QpWHslfEwzeypHcQorenJQMSpZdWI8P0lDXkQ5Qk59czV+YDBnP0ZjKVpjb2MySXlfaHBt PHZgdVRDT3MtVVdHVz0zV1hsSnNVKEZ0QFAyCit6PFQwMFNWSElpN3JjWndCXn4mI0VIcks3RWJq SVp6ZVhGVSstX2QqTlg7MW1ubit+XjF0c3JvcmlBJlIkX1NfWXIKK3pJT1MhOHRFVUAzcktSTzto YUIqcFNmTz0qT1BNc3VPTjMpSUVlSmx0I2VxI3p3T0FBc0tmUHk7YlY5eVpMYHJeRworekV1MSZC SXIwOD9xTyRWVzFYU244aWI+I2ZgbilfamFpfSN+ZjtfQk5jT0IpTXhrdDA5V25VclU+JXMmb2dr eCU8Cit6NFpJPzxOSU4+MmIwMGVscUs7QEckbSQ1N05OPExXSn56PX5UPXEjdGMmeFZxXy05SU9E P1l6dzRuajhMaCZnVzYKK3o4RFJDcHpyO0NWTmN5NWg3ZVI1fkRMSlZYJFdtOEBTUjRaQFZJd1JL KWFjRUlNOC1CVzBraWZAbDxuP2ZHMF9QdgorelFoZiozenIwWGFOJVpPYGY9czF+PD1YaWhEYDYo QXEyeVkkQGY3UEM2b15LNzxGeWkkPFFOaCN7Vk5+NzteSHdMCit6dXxyfjNzVzB4SW0hJmYtbWNg QkdOOHcxaD9rbjNGSnFfX1NqTDBSYGs9YkA2YGdGcFklKk5tXzlncn0kKndPcT8KK3p4e0d+Xily all6ZigmZkdxTVc2JUVgVEg5VXxkZHBvZ35iJUpRPnc+Mld0MCMxT2UwfDEzbmBodkdgWXtSbmUr KAorelZ+MlB4JXAhUyN5TSRySlJ3PShOMHZMMCFXZVIka1dseEclVzdkUlpNNnJjYUw/V0Z8NGQx VjJjKC0/fmUzWX4qCit6SCVURUdyXzZLTXpJX3gxREdlfT5DYjtJfiFBITl3TyVvcClMWHhTZiY4 bEA+IXZzaHhWPyhkRXBzMT0wNjglYW8KK3pMJW5HOCVMVW5DPEwtUlYma0k7bj9GcHMoYS0ze3ps em40SHpDeWh6KjAoJSVhe1NKeTJLfjh5TVAkWSU8VTMxQQorenF3aGsyc2x8LVpRc1lPSCprcng3 ODlaUno8MmNrOz43bEt5KTtLU1Irb0sza0VsJiM5b09tTWxfMUFTRFRESHB3Cit6S3ZSX2pWTkMh PiNEZmUtbzI+aWI1alk1PjgtSSs8M2tASVJvWi1OUWFpRiYzSVMqREZgYmVqMVYlQ2FmKHZJcS0K K3oldXZNR2Awal98X2N+YG0hK21YTEQ8WD9sKXMwZzFNYXI4e19mcGooKFF9MiUkWStNeV9MZllP aXoqbEElZ1RXTworemBVR2VReytWWXJNeVAhQjJ9TmwzTnVqbF9kZFZ2QyZkSXlLVDVhPVFoRTJ4 cyVKcUpVcHgwKnF5M1NhWUQ8flRyCit6ZypCbkNDV0E9I0xwNHZeQ0lzVUVhQXpnP1ZCKGB5N3pR eFVNUz9Ed0VWJEY5P1AlQyg3KGF9NGxzSykqSlpSYVgKK3o/fGUxbiQ/JU1aVHVQdVRoKzhIU1lg djViSHZLKmZffilmSSt3ZnwwMiV6JmJFLXMoeHY2czglRXlQZS0layt3YAorem16TEF1aiZHcGxQ JFVmKk5IZXlgZzdtR2NWc210PkN6YX1ScSFsST95U35DdiFkJUBCPzBiVztMcThteE1ycCNJCit6 cjZuc1QrQ3toUFdreUZZbWZDQ0ZIRzxUYENkSDNZdWM9a2I7JVQ4bCk/VVpwTyl6T1kzQWE2MEUk SHJQUTJAKTMKK3ptSGZtYlF6PTQ+RjF2endfQVRRQ3V2ZTVkb21SNEZtM1BpZmdlQ1EtYHRsRDRe d1A/VC17MTUhc3tHRS1HJldlXworens+MExZJllYZT9SPUtzRUFFVEx+XzxwOUFCPXpoLWNGPnAo MFRqRDdOJUFJJGd8Yk1kQUxuJTV3T2F5JUFAaUcoCit6aHp9YjtvJEMkUWNHUmM0Q2YmR0t5NGom fG1aTDM0JmwkJG5AWCtTY298T2tMeyNCa3FhYCNpMHhydmdrU1JNJUgKK3pid2FiVS07RU4wYyFf dWI1cEcjPjl5VzczYilmMzYpYEEmQkQjPm96JUU1VFdyLXY/aVBpb2hPeDVzR051clo1KQoremFH MXxncDRlNXJRbHBwZm5wdXslMzVDR001Kkd4I0JAPnt6QVdlUitRa0BIYVJGaGJWfEJKREFpanBQ ViFZI3xUCit6WlFGTTNALUV4OVpRSGhPK3BnTVcrcVVobGQqNG92S0kzJFo4MWEmQ25mV1ckbik2 JF43TyQ3a2hCdFA7V2NfUEQKK3pDO3YjR2ZsdWZsUUJGIXU7Ymp8Mzx8ayUxeVFxVVpTYX19SjEj ajhKMkdOeCk+K0ReKVFXbmc0eVN9SWlATihKXgoremNJaD5CWitMKHZeSilVT256QUt7ajQlM3El Kkhld2wzfk1lMHwtT1NPNTNOOWBTbiRsZ3hFaENqdWt8JEBgfGpwCit6K0RnaDN2YnorVyVvTj1V aFM9cGc+TlNnSiZlYTU5c3g+YVdQOX0wem1TUERQVXRBdCkoI3NjWmFUeWV0PnZOO1gKK3pqe3l4 amloPnZVeTloejdlTmEoejspKUZJUVVxT0FNaGdXamw2ZFFmTHA1MyhGLSomMChJZSF3IWZ1eCRt TztXVgoreiFAQCR6KzU2MHdpUk0rVFhJQGk4VGg/PGRhazd8OSYkM0JGdlV0PU42KU9iRHZ2YD17 RFF6dFZMWGs5QldrNGlpCit6Smk7dDFzfikxMWtkTiRJWH1Xc2MyQ2JiQUI8eChjP3lVbkFoQ2M5 UWYoZmgpZXpMK0stJTZ5fEZHRG51Ynh2SXcKK3piT0xzMiVwUkEoWFl0IyErTHVVdCtmVXxqd1Y4 Kl9AcUJaS3s1Jn1JNk1MIW1xWSZ1Ozhfc3RoM3ojKWlzSENRVAoremM5SGJqJG82QmBSaTlsaXFx TkdxUFUzWkw0e198SDY0d14rR2FXMXpVfVcpaG8pI1l1ZVluVkhAdzlSM3FMU0tyCit6cmk0LTdU JDslJjQhcGhzIyhKbW8tTWNxNW1nPn4oNWJgXmNGajspITx2NUomKW00KXNQNGl9aVdBfkZjbz0y VUgKK3paM0EkPGN0Tl5DJG56Vj4hcXN0b00pbUFMaD1tP157LUU5JUpaJGszMk1PTjF1VmptSDg9 aW1pdXg+ajZuc0JxJAorenY8SmkhTFVlX2Q2b0JIfStFc3UhRnM3VTljPHZMIV9hekp2IUl3ZWwk QiEhVT5MY0U0K3t4aFdSM29SMVN2OXx8Cit6Yig0aVF6V0ZoKWpkPzxhUUsqM2ohR3diP0V0QXtS IX1XTCVGdzFWSWZxPjE1NGdePH0pXzdfQ1ZyTkpEejJBP1EKK3p7ayF6S3hLPS0hd3B8fi12Nysq Jm8oQD1WMXAmWVcqVk9xYl5ZZX1wLVE9cWdlOEAhTkhPcVIzfEoqQTlWeytCNworejgoI3RXVFZK fWs3VFRpajhmdyRxejZqNiRSTml9PypkR2Q0RStUQy0ye052KXViPCFpeipfNntXQ2dnblQ5ZX5w Cit6KjxKWGItK0kyPmFKbXVBI2s3PHVhTjkra200fm81IWttYyZKez19WGpRQGRSbk5vXnhpbTQm aSU4b1JBRmowUD4KK3oxMzJqR2FoS2NYWml3d2xrYzliRVNtSHNCYz01NkNLcj41QiZadih3S2ZL SDBUQ2VeMzY+MkpJJE52akRTflBzVgorelJSI2FAaEdjX3FGd2g4Q3UqNCk8c2UhbW4obmNoR3V+ cWVJTF49ZVVIYnp3S2hkN0tUc2tAeUEwbHI/dWxaZiNDCit6ZWw5Yn5ELWhRdip+PWc7cS1KdFp2 XlNfJXpHYVlDSSF+OWdnI1FfUGhSP0E9bHx9VE1uYFJHUnJWNS1LQGVHTlYKK3o5OVkzUXQ3TUt2 WktjVGImOWFqKipkYT93UkM/TT5jR0ltNzUoZ2ByWHVrUmczKn5WcXQ4R0w+fDFlTnNufHtzcQor ej94Y0o5QmNkUkZpUVU2cGFQMDQjLUAxdWJXY3Nsdj09Iyp3JmZZdlhGSTUxVSRJNExFLXRAPTZ0 KzR8VT9uZHp7Cit6bnB5bXtUTX1qQmc5N3lucjhJaGkxJDVuZnNqcihqSE1YXit0RH04XkpgcCN6 R04kfVBxeFhjcFo4VVA4THdKYm4KK3o/VVAzUEhxcnsjcyp4bjtvPnV4RU5DTztJeUBDJDRTeFFQ U2ZNIXotZVdDaG9McVBGKysxeFpMKjdsMz14YH4hWAorejluSFdUak9yNSFxYU54YWI/KnIpclUx RkI9e21LantjTDtRYkJHO1pNTzFKfEVmSXUlZ1NXR3hoTyp9Tmd0Y3pgCit6XzByLX03dHpZazdx ZkdBNyM7Q0V1TSFLLSZSIzA3anUzPEJsSlRIS1p3Z24oMk1GMFNDLWtDR0p7KX1eaEw3KzIKK3oh S2BeXyQ5S30jMlUjNX1EQW9KfHlNZnhObkEyZiZ4e2BCWDRoYlVfM3JJfk1nRipUPUtKMG5PNloz fCQmX1kzUQoreiRUSSs/Pjs1YzZ4bj5CMzdsU2xrTERLaktlOT0zbVBiPVJLMzs7fjBaVFRDY3VK fF8kRWojUGBlblR9REBBRGxjCit6dXwoN05qU2BEdDlzKD5WeTwlT0ktSElnI0htdjxScWtGJFB1 SU8/O1piYn1iYVFgPWN0IylDSzdDOHA0aEpCNHUKK3pyXiU4ZmRrN2xPUnhrKiUyS05kQk9tY2lf NiFhc2BOSWwhXkYoPTxfR20wS3tAMCRXPDh3Q2IjYihRPFRaa0ZkKAorejhGQkI8UT9oazwxbTlX TEx3dEB9MkkrWVBLTVlzSDRPbmlraURiY3lGeU1HQClTSjJvJi0+RnVlMFpvJHR+M0xQCit6dUhy NiMlazYzWnFMQTN2SE9SdiliRSQ1fVJSYjNudz54WXwxPkVnTHBiSHlfQnR0dkYmTHZOWSs8Nkkm ez13a0EKK3paWlNSe1ZAK18lbnBPfWFybVJiUisoPT1aey1HKTI7O0BXXzgkKy1kWSRxQGw4eipF QGEqIzNXWGNgWjgwVUFxSworeno8Tnt+eFkxQT9ERk9aTzshMSZgdmV6cnU4ck9JV243P3Z1dEs9 P085LUZaY2tfRmlRNn50eFliT2pvUz0qNV9HCit6S2VzKn0tI2FuYj1JTVNfbWFjU2ReVU5IY2oz Zk9HRCU+UXVCIT5sJTBrUSVJI0VHYDtPP0BmYVY3WGtAIUBuQFcKK3opKW5ZK1R7Ml4oSSFaT2RU U2p+bmQmLV9CZmBDYzJKWFFKTlNCdkR+S2oqfkNlP1ZVbm1Id2M8SlNnVmRsJTImegorenJNLSNy bVAzV0txWD1fSDR0TDd+TmVLI2ctbWxoTTxJa3ZLY2JxYzxmc1ZJVzliPDJnK0A8eH5gbUtSSDlg b188Cit6eDlTWWRZYyp0KjhuYTRyM2dEI1chTGMlNk9GQHh9c01ucXROKGtIKU0+UVQyWTE3cDBl QnV+UGlgKXdpRl5jYmEKK3ojckgyZEdEKi0pVXxeYHs4d25KfkY8LXRsaGx4T3xuZjshZylrU29m T2gkSUxOdT1QWDA3I1JBViYla1g2VGNKPQorem41UVVCMnpoPmR0TDM+VkNwK01LTEVTeW1re2k5 ODg0cyNobWpkcDF2SGREbk45RHtVeSMqZkxAT3F+cGd2PG1nCit6cDVLQytDJkdrbiNWQjgkZDhT RCkpZmBlfT9rdnN6O1JMQSV7KnB4TzIxb2g/RiZFMVAxWSE2aXtuX2p3JDs/M18KK3puS2FlLUly bWw3OW9iNXkqMDUtQSk/R3VARlU9elkkanFmMXg0ZmVqQCE2WmpKcjVYV1creShfeWBYMSM9MHMo JgorekNaR1NCYCMwNSR3a2pAY3A5KmBNYG1veV9ER0RSbkRwJEl+PDZlXmo3U2pMM2N6PipAZEk9 MntxSEtLTGVneiEyCit6NT4mQ1BhR3w4bUpieVJCaU53ZkBOZT9ifFdQO1hYViolSi1HO0RUU1h2 PCUrdzZ0MWNtdWgrSlNGJDgkd3FqYXQKK3o3OHo/RmBHdTs0Qk9lJTRZTXtvQ0olcjFrdip7bmM3 eWhgakA+ZTcpPm5wVjJ6Rzd2ZiFtOWtOQ1FyZi1hPy15NworeiUwQV84TnA1MmsjaE1VT09gQ0E8 T1c2QFo1YF9sJG55SkApezcjQ3lkeWJpMEkrOGVwVnNQcGtBKWw2ZnBPSzEyCit6aVdZISFgMjZ4 YW14e1d2anFGT1FTJiUheElfZEhUPFB7KmJKJShhe2tVbHVHRE1lIVUrYC0mblRLZ0o2VSQ4Pl4K K3poTVo1RStPZE97YzU0SzJhdSF2XmQ9KGJFQmkhV2RPajFwNXpTRkxeN0s7X2JzYzYqLWN5cTdw U0JTZEtVOGJ5ZQorenszcigyKX5GWGhzQm5AZEVpSkQ7TzcqNkZSaTNzN2I/eWgyazwybjV6P2pF eXN7NzJDaSo3cihLSCE3SyVYSHgjCit6XmoyTy0yUC0/bUM7KmR2IzcmVzFxZUZTR0RpLSNwMUFn YXxaQnpPdlohM0peb0pqMiFRZExzeUgoNXd7cWtDfEMKK3pVY2Nnd1Y2ZXFuSFo4PHpDbip8WWND QiM0SUNzdjsjZWMrfjI4RS02MHRyZ34xQUVwdGBOUlQ2NiZxVlh0Izt+UworekkwTE9nMmdIMX47 ZnVnSD87ZWQwZmR1VzdyUHBuTlokWE4pdWoyQkBLfippfU9SZ0h8VnJ7YUdyaTY5b1hVMDUzCit6 N0FSOHtudmhrQUt9ek9mREc5YFU3JU5QcUgyejlTZTlGK1kpb3k+bWtkRnNWKCt5X2dyelJRUF8l PTt3bVdNJWQKK3pKPDZlbGN7SVY/bUtEfHF5SWAlPEFKWmFXajZ1WVY4UW1MM3taYHNRayNjPVNz dD14a0hfS0hqI3BrS2BgNUkoKQoreilXd3crKkdrKHExRiRYPl5SR14mIVB+RVBtWj9iTWRWKyk0 Umt6eTtSVWJlM25yeUZ3UXA+WUcrQmRWaVNALTxnCit6RFEoPDdLWDBlKEszIWdxa008dCtEKSVt Mk1geTMtdkhyNTBpdmQ1bUB9RmFaOyh6RSk2aX5RODtaKzdPbStvUksKK3olVzs4KlJfTmBhY3ZW N2ViQSEkKF9xUXdGM1pjP20xQE9YQilrRVFfMDA7Rj5DQih9IUhUZCY+SHYmRGMoe1UoMAorek12 U05jbiZRJCY9eS1xeig5QmAwLSkzVEN5XztneEI0WTc5NSlhQlVFRUNoZDQkbDJjX0QhI1h2VkJN MDJwX3xSCit6N21PQGYwRFdZP0RpNmdFU00jKERuJHdAY2dGSl4zITdnbkk1IVJUJVk8QiYjO3dh UkxfJDxNYklhd3ohbyNSR00KK3pxa3IlXk9KZnpQa145JCNXb3FkZ21AdXxLbiU7I1VLUlhiNURv I0ZaeTxmLXI+OEI5JTV7KCVpO0NXRXgkRFgpdQorek0pMHpRY1ZgRCgobWJPI25eJksoc3F5NFkz aHQwSEckNkZ2TFBpcmFYI0hCPzMzdDBpbFUqS0dSNGF5ZVJySVZvCit6I2sraT1kcFlaQz4hMXpJ NXJLYkF7Nl90KkE7eVctVTtzbD44M1hNMktgdCleQExaVWpaeTNXWUJkTHVhJFRabjIKK3orJiti RmQ+fHxVaEpHeWFiJlVFOzVeMFA3SnVLQHE3dEF6bD11UUw8cngoM2UxdSl1biNGTzNEez8qT0ly QEFaUAorem5zfmgpYjRJJDhqb0whMl90TjwxayZEO0woPjM+JmlUIyEzSXRPQXRRISgmM0YqfkJU e2hNWHxJQyU+SVJhTl9yCit6Y2g7V1ooS3hlWFc8Y1pZOXtITyFKWjlaSFVPSFR7XlBVXy1ZUkNC KmRTZXdPRGJwaSpjNEc1blYhJXs9WF5gRD4KK3pPSWN5KyRZbCEhQ3dHUCRhKW45SzF3ZlpzY09g QU9fbyhZRF8zd3diJCt+U3VedyYhRWg9eClKRjEyY0lPNytzcQoreig/ZCt4VWBiTColdmFYR2Zp Q35eOGxneUMtYGQlSXNrRlhhZGNIKylGTCtCR1NBQz0yKXYxbGZPdXxJOXR1b2NqCit6Sj1IMztX QjJrSkUzRkJTXjJwZE9tdjhVPkEtZVdpSGdXdHd2UnA0KyYhd3ZTajNebWx2Sj1OMERNITt6UXlV eGYKK3olOHNjd2ohR1gjOWteV2p5Jmx6PGNXbGNadEsjLW5oJDNnVGBqR1JnZF5YK1ZwcUpMQkhe QHU2d2IlY1AwezxVfgorejd2bGUten5VLXpnS05KO2BWcilSRkg7KmtJUS05TXskeW8mK2VgKW9w QSokaEJJUTFVcyZiWDskZE14Nk45KE4qCit6QzlYZEszdzIxeW18X3olSks1SEthN0VfczsjUih7 Q297amRQN2I8cl9EUzQ4O2c0SnhJelFPWU9LZlFGaXg1aXkKK3pTPH1DOXtqOyUkVyNfcFRmeGhf JWZaaGFhZipFUl5GJj1tZzY8ZFNkO2gxNSR5OThYckdVfUtfWEdNRyRveyVOfAorek10ITBYWiQ8 bURLVyQya3JeRzhrSm4/V30/UzQ9cFZlaFZsPml+JUZqKTJ8ZExMUiNUODR2LSMmayk9SzZCZUFP Cit6XnMlbV5DNytvaFBGbmVXcloxZXE4amZTdWdCZ2NScFo0YU1VdmhARzYzdkctM3pvdz5VQFVN Sz5VNT5HaVh1TW4KK3oyTDk1QmtjNGlII2BBV2tyNlFnMjRRQHM1YzdGUnNwNzNFOWBCcyQzXjB4 OGZ1TXJSVF9MZk8jPTB6cz0pNW5yKQorel8/Zz1TM2ZpPVRFMTlzdHdsKCtSPyF1SlVVUCF8WGgo di1QZX1Ib3VNZXFoPDZIPUFpblgwaztsOHBAcHozdlBRCit6cldZXj94fCV3cW43TDQrWWVeVzg3 JjdGKlF+UUUhPmNScjwjYXxEeih6bTAtR19iM0F7U3t3eyhGPDdWbUE3NXIKK3pNUWZQJjhvOTtN RnFUcFgkOWBgPXQwdzI3UDJlbTE9dUQhNUQ4KlJAa2A0WnpZVjJ3aFE4cF98eVIhe2R4K2FUcAor emtnWDMpeCVgR1Q8Ozx6M14qLWVfTkh7cGVUbW8tVUwzKW42Sm1OV2BtUyRwJnBsTVJKdTNJMlEt emZVfTxEaEI9Cit6TyVwRlAlI1FedD5QaV8yUGtZJHdTaigxRjx3MHEoWE5WMENPR3h8SypudFBD RX1KP3F2Mj4mPHBPaFBoMVJhTzgKK3o4PEVDfXdQfXBaYm1QQ15DS2hmflloLWxePlp9PC0lNFBr Yyh5fWI3SHhlMEBWdV5PPnFkN1N8Z3lLbSMyJW52Kworelc9aSlkSWxiaGlsaDVfaiVObFFGcGxF NVN7I1Fzams7VXpyZlU/KyROZmRTb2BaLVckTHgwZDxJTEB1I3h4aFV3Cit6emRDJXhOQXI8UmBu eGcydj5WMWFyaXJ+Nlc3LVE3PDV8I3BRWERBKjxSfFUyeXMxLWR0QmRTOHVgUUx4VDQkVFEKK3ok O35ReWVyLXQmQFVxM2hFTD9BcT1oemdYdmslfEB1Vmx7SFpSey1nLXtCSmRKNnYlODNqdCY3VnI9 OHw5fERLfQoremtIVC1hQHt+OyQxNDdST049Z0FMTEI2LTJxLVdTVmopeXAlcjxPPHhkUHA+fkFA WVYqVihTZT9YMEs0RWRVNm1qCit6LWhyKTg/O1hOYysodSEyIyE8PikwNEFecnduKzcjPnVDYihm fCF9T2pZckt0eDBIRCNOZSpNUSNvPlZSQ1BRaV4KK3p3QUU9b1lyR1ZZbjFKZHE4K2oqcTs1JT87 NGNPJX1nNHYpIVBXJTVsTG9+b3xoJVk4SnJlZFEoMTJzYT8tTj1qUQoremhwTSNfZ2VRJUBpPTQ5 SlJ+ciZGLUlTcW85NGApO2t6dDJveVF7REZOWmshYSlaeTktK01XQ3V5KUNGezt2WV5ZCit6dCNW T1EjfFhGNnduUnNiZ3ByMCE0PyYqY2s8VFU8RDMlSDFNKiZPdyopKSg/dmFTQkV1aUg/SW1ga0Er USVJLSkKK3o3T3g/d3RSdWVWTEVSZCktMUl1MFJYV2pAPk9lPkMxfTgobipaWm1wPkhYTX56UjBZ ViZYR0hEcTg0IXo8RjJKTAorek9eXipHMzRJbGVeZ3lAcVN2eTZOenZsUXsxTkFxYFh4O2ZkYFZs JD0hRFBCaS14eDk0TXF4M15JfD0oMzFucUsjCit6YkRsRHdLZFMmJmlhS2ZLP0YmdVdYSTJKR0VX ODY3ZzUxKCtfQFM0c2VISjMlSnFzVVFSY3B7Kk5tVFl7K0peWT8KK3oxaFQyISpBM0QhPCpIfTRf SzxWaUxxV3sjeTJxSlIraiFOXkxeUGB7dX1WRVRxZTcte0t9fUVJQlZmNXNAUjxnagorentvdHh4 YEk9e1o2P1ota0E1PXVvdlc5NSMyUyhWME5ndURePjBvel9GbXl5cF5AZndgMWVvbGtKOz1BXklu U0o5Cit6ayZpckcya2VWPWV9Vm1IaS1fSiopIXg/YzZ6JVghZDtZaDduVSRAKyhmQDFfKkB+Wmwz dCZKSGRISVQxXkRvJjAKK3p7PTR+YUlvUTlMYVNDS1RzN1AqSnJCQGVFV0x0N3l2ZVYhPyVqSEBO IWpPWDAmQFFPYlJjTFNxTzdYWS1MbnEyVworenVEdXFVUF5jMElYekJ2MXAtWDlmVjdye0d6YVZY YilQaCtSUyRRZWFMJSp0clR4Q2lsMURoMG9rZVZkazRDWm45Cit6dElTQE0oNTczaWpiKHV7JE9n fil2QFVsWkQmRXU2bD5ucTcoRSV7WlNpfVZMMFg4KjIkbDJkZTJYSSUwbl82dXwKK3pDJmBnJTxs V2BNd3RBeW89UiglU0o9N1VuMX5YT3ZYUnlec1pKYGp4bSEpP00mdkdeTnZnUEMlS0hXUVUxXkdY fQorenZ1Mm9wcz9ndUlubW98fHpMNDQyOFg1bnVmak9sbEVnU1QhUWhKfiFUU0ZpfllWYyZwIzhg X29lYzdLJkUxP0BLCit6KFNUfFpZNWR1NEBqYEs3dU91VHwyWDMxNXY8KjQ0NDgkIyE+fkVvQ3NM OW99RF4xSjxuNTN1ITVsWWpgaCpLa14KK3pTRGJhcTlwRkJxRXktZ14mUU1iN0RlKV8/WXNAaFpC e2MkclojU09lPUxTVyN5Syg8bG5iRD5AREphWVpqOUhReAorekxDViVwPiF2VWh3fTgkTmY+czRt bEUhZDAxYjZXTCE9ZE9ncHR+OWg9enhNdDxqKWcmZ3M3SzYqKWQhKDdiP3ZYCit6TzI5OSN1QzFn RnhTKkNqUFNHVX00THohdTJ7OW5TQyhCdkxQLV9LemFSRShmbUNKcDRGeS07KXY/TG01alFNOVEK K3o3VjMjPVkpbUlSUWV2P2gxdEZNPHQhRz8jNFZ3dkcrMkNqSyUyUERWayhKUGQlcSUjbHNGMnVH Mm5pKG4wcEJHXworekAkQXpVfDB9MCl6KHV9WT9KQGQrMG5JRnctS003K15je0dmS0FGJFg+NEJl KjVnQW82OSt9fUxwVl5pNTxkeyNkCit6bmQ1cXp7PCt9cjNIOzMkX1JiaEhPZ0V+ZXpaR3JEZEps e0ZXP0ByK21rdWxKck83O1ApcHhqKEQ9cHN9PXMkbTQKK3pAREItcmReaUFyKUwtIU16WVBkR2VU Vi1JSnxFIyZJeGUoNWQtP3txO0Yzd0t6KXR2RlREMno5YGNLVEYqPVYqNgorekdHeXheNitjeFFu cCVWWnF4cmg9ZH42YFMmfGlhYD9PdEo/OVpIRnJ7dmhTI19CPWdERHxFKmlKdipVajdyWVRRCit6 RWo9WkpNdnI2PW1YREU8e2c0SHRfLWtARiE4R1o+QmFGWDdAZHE9ZnJoKEBAWGIkRT9GJDt5O15V fEdkYjFpVmoKK3pKJH0jNXp2JHhqN0Q4SmBKNCh6SEpYTihZa3tYM0ojaHhXUFZ2SHVjMWBTe3pW fkBVQl5UU35MXl47T3lzWUk+fQorenxHPiRFVTFBPG5SOH17O2l4V0ZuSH4jS31LQGVEK29YNlhx ayswcTMmWlNGTlQ4fjNIRk5SZlpzWms8QnkxKW8qCit6KkM2WDg1JEM2VVU8P0kkbTB7V3xUMUdk RHUzRU9ZeiZNNEBVZ1p5bW4wTCFPaSFAWmdvaG5LN0ZrVXorXyRYVyQKK3o2dmArRXdOdFEoZEs5 Z2hlNEpVfTYlTERuZGZVfUZpcj90S0p4OVMxRHYwQDM8KHdsNjd5c0t6V3UjJSswQUdDTworekN+ MGdeKC00ZTNkKDIlXipuRStPTTJEazA2Qm4qRmdvUUJ6TntDP3FuMnR1JXFGRGN1TlNqdUd2KzlM WFZ9KX4oCit6YGxCYW5JYXNwbmBAIVNWKmhKdk9VR0dsUmpPQHMhJi0qMnYrU0QtalN7bTRnSThW TmQ2JDJqRjY0ZFNxNUBITzcKK3owd08xTng2ang5PVVkUmVLQntaKWtIY3JwVDAkJnQkZFdITm1w QWlzME9NK19QPChyU2dLcGZAPD5RakMjYnh0Qgoremt6WDFCKW1qRSVVWDtfV2V3ckQldyNiK3Rr Rk5TV2x8e2NVOy0xSWJtKWRQemh3dk0xQzljOS1VLTg4LTcrZ0xwCit6ZFhoV3JVeFpoMjk9WCkz ZjR+NkdtJjN6SHNOP3FXXz4lRkQydyVtYkdvRmYwI0QoTCNEelZsdEI+KjEobU0+SiMKK3pkRV8/ dntLZDB0NHVSVXluTEdpOHZFRnpDc2ohRDY1b3ktc1hAM3B1Xj4peTE1c3FYR3Q8ZnhFWEZiUDVW K3ZQPAoremlgXmQ3S3t3N24rZHo/P1EqKVo9eXx0YkQ3RGNjbmdSJmhVLVBaYkp7WVRxNHAlN2U0 ZXA5ZEl1Yzh+OTl+cj11Cit6cXBXPn5GKCVMXkxaMXFfO2szWHo+MztffWF7a1VEZGhCPmdQWHlg c3lfVlhpNnN6Qk9uNDBEa0wkZUdXUXJqejsKK3p0Sz5CQGJQaDVyQit0cndpTnxtNmspUnRzNC1k KXVITXl8b2hEWmM3bzxDMnN6JitxZFNpVj9SIW9helB7cGJ1WgoreklKMCMyaFNDdXVtR1BVKDNs YiRPIVFqPnpuNHQtd2phQ3BVdW09eD9oUiNoe0dzLXMzPSg3b25yMHN5N0c5VFpYCit6UClnMU5a TilpUUFkKj9LTlRXa2JQU1FAXytKKFktYWB+YCVJQ2ApR1ZybHs1fEV3YmRtY0o8OCNDPF4pY3xN eGQKK3pMZkZFcz49RUlXdFYhUXEoRCMwTmB+JS0mJlNUfmdMI35xeWdHbHM9SXA4ZUspO2hkRWZT M1NDZ2Z5bjNAeXNEcAoreiF4aWs0PDxybEB6bjU0NT0rayRBQ004TTM/RWxkNSZPcH19I1A4fT0h NTBBYUZ6dHtmQEFHflNXXnh9OEJLZEBECit6RUdWITxKRE9rX2IjOGNgMXIwZmtmVEhsaXRnNTRF STZhOFNvMTw0P2lEcEZVSENoJTdJVXhXKmFOKVpoKCRFdUkKK3psUGg1QTleTTZeZ3MwPkpUK2lK dUxHLTY0YmBjN1pBQnVRRkRzKzxKQ3g0YWxLaSQ7bFdYczRMMGAzcjl0YC07PAorenJaaFB4dTF1 PGd7MVNZfl9+Uk9Wa3BQfTA8R2x4aVVQJlhVeCZ9bygoPGt+JFZtSUBBMkVhRjcyb2VXIV92a3pY Cit6I09JdFIrZ3Y/OyF3WT8mbTlUfG1zT31XZW0qZEZtS3whPlNhKjltbFV9THVAM3cha2BBaV57 MzdJSXQobFZpZjQKK3pHOWF0cE1PQ2QhSXRUZ0pVTWZvKFdmfF9KVXdQMnRLQD5HYHdMJCRpWDFQ e2huWD5NZklRVyF3WjJANF5vNSZhaAorelM4WGdLTTYySm1LPT82KTFmJX57aXQ4KDM1Pkp0fTVJ N1dOR3dBaXZ1T0NZJiYxaT8hOFh6PXRueEZ3TS0yZGBJCit6cHIzdEUwS01paG5RQn40OEEhTm5I aSQ/SlIpWENePHNpJC0qZmNGayhyKlo1KmVmajE9dikjUTxsdDw5Zl9Vd2kKK3orKUpiZj8zNk5C IWhRVk9vV0BXS3BQYyE8Pi1ZZ2lLNWFYSjhPa18tJG07eShlNzswYUR0PHRZUTJKRjN5XlRxdAor ekVMO2RoNWsrMChhJEx+Z2orbkVjTXE/aERlQHBJKDcrK2B7YHI/VXttaHVTdDF3NiZRTFB5ITkl JUhGbW5HfDRfCit6azBxTFV1Z31SIVBGMitRN2gmdXJfQFFCcVZAT3J2bmA1RHdyPlQ5dGVgQVpO N3NQKyNOcCVeKz5vKT11R043STgKK3pFMSQ8QFN1OVdDQGRlI00qLW07RTFqYkphVmIrZ3hod1dK a1YyeHhvQjl1Yn11c3ZpNzhZPVM+ckR8TUh2XyQ4QworenszcFAxe2lPbnhnIUlJJXEhYyRLXnhY dlgjeTlSIyY0NzFpZylQZWJrQDA+UzVlZUw+X0UkYllFMjkjRHkoaG5yCit6eitIISskZzQ+RkJr YT9aYFRtTHspRkVXbWd5TEBEKCs/KitKb19IWTVBO1lNKz1OO212dWNjPHFFYTlhWGhlPVgKK3p3 UFJaQzA3c35qbyFqeTZTc0xUdl9AcWstWkcmckw1dj9meTk5S2tnJjFJTT4pVl5Sayt7ZWVYXn0x QVdpbylYSgorelJoYmVYS1EkR3R4WXcjQStBYEB8MS01Kio0YFlMX2JUUHwwT2dVO3JCI2otcHMk Pz99NXR0NTU8UCVBNWg8KTFBCit6KkgtQj8tRX5tUFN3amc1Ukg+dkUmd0s9eHl1MVB3P196cH47 RmMkRSVjYztiOVFwLTdKIyhlXzBCR0c2I0ZJRkYKK3p0Kkk1cERUYFZzSXc+JT5oYEdhNmc4K3t2 VmthUnt1Xz83QSpiUGBsQiZPTGQrTWUla1BIUUJFTUMxSVlga0Rubgorelk+WCZCWmEoPT1TUEJH SHtWKT92TDJOeU5uQT12Kj9yR3Y0LT0wT3RqfX5CZ1Z9QXt7MTJnPkoydmI5bDctd2d7Cit6Xk5+ RSp6WUBUNVVPY2ZxRUR0SHM8aGJQPklrd3A9JHM+SksyS3hVXzJ5NzQzWXklNkNLeVRKfEVPJnRu THlyfSEKK3o1Mj55JilXIVlUPl5ZPVVFISp8O0lIfCFJaDhOPUNfSGNEbDJqVlcmczt+WmxBdEFw Y1dRfH5eZDBTSlpvJmxUaworems2a24mQFhyakdsJlFXVDMhMGRuemhPT0tkYFJTUk5nc0ElYCRt VlhPQXZoRUFlV3EqPWNRMHJsS1dwT0NNNjEzCit6ckZtZmVeRnxVc28rQiZ1Q3lEcnkxdTJoZzx3 N20wU34paDdxWkxlS2lxeUV5R2JNQ0Ykcmd9ZXU1T25mLSN8X1IKK3olYldZdUlLVzdBaUpWJFo0 Rml1X3MqKkpaPihmeFhXXnE5Zyk4RnApKn5PI15DUTl7UClJQm9+PnFMODtseXw8dAorekJVe2tT N15kalNRVUtKU3clZ0UxX3hDLTxae2AlZW8oczBOIy1LO0RJT1dLY05iOyNJa2x2RkwxfW02ek0l YFd3Cit6dms8e1JfaCZjMWBnYnMhbmI1K3Y9IX5LY2pyMjk8bT8mRUZPdGxzPDsmUGYkRFplS1Uy VyFNPk5nVTZBUXBxYCEKK3pKQlkyaXl7VGxYRVptKlFZSlhQI09qcFNrJlRJbkM1KylvSEFhIXAp amdxMCZiP0VPS2hlKzxXT3A4Z0xEI3VmSworejFqJmY0YUcjNm0+a1BXSVgkaE9kWEJgYHZ5IWVP ej4wRGNeMzZfdF85TXgxV2ZlaWMmTncoMFByVEFpU3pmKjd3Cit6MT5KOWo1ZXxecGZ9X2s7Nko9 cz5HJmFASktJaUR9PGRufGlAM0A+P3JCbnx7VFF1SFFeUiVzbXArJEJMUTw2eyUKK3o1YXBEZT5J SUhDKyg0VlBHQFR9ZkwkaDwjb2hyT2FXUHxhXzM3RlVqMG1IUFU5TSpKK0xJOUdNRTBiXkJxVCUw WgoremAhJF5DTTY2MTlPM2lVRT1XXnk1RSRDeiR4ckNFZEhISWJ2K01eMHtZRUBHWj9pUTZ1SXg7 Q24mTGdTeW5oIXg0Cit6T29WOyl3T15kITNvJUBoaSV+OWw7Mk9wX2AhXnFhaG5UZWhMJHpsNkle I21tb29Sd2Vtc3VeLXZCQSRGcENUejUKK3pZUDh0Y2Z5MHM4KnpnNFZ5Mmo5cEw7PzhLTzAtTlFI c3gtaCRZTGgxT01ZXisqbTxpO05xPjdKI2xqVDM1YHBzTworejU9KTwxfExOQ0VJZXRIJkgoPGs7 USpaSWVUXz4rfCleOUo1dnVYVWRZWStgPi1lVkR3ek5JaShkVEg9d05oO0xTCit6OXs9UWFXczxE TE1ucjxRe29RLTlpQ0t7c0hDZEhYVlVJdmEmeWNvMGJqMFdmdypJUlhDO2tydWlFV3pAbnJ6eWkK K3owQmRuVXojKWU2bG0+eD1Hd0t9SiZmcWQxKUl5OUVwdjgtMykxUT82Y3Y/MVMrNz5hSmI+SEM2 Syk0SE1oJVg9agoremRFeTdKVVBzPmpgIVk0V3FiZjZoa0xiXipURU5PY0hZZGtTejNJO1NXPHhm QmJXKyRGVmlyPkNrIVZjczROY0U4Cit6aGVtZH49cWRSYCpHZzlyWjA3Q3J4PTs/djFAViV0REpC JH0/Iyo/SSplemRJentBYz9FMW9ATlV8YSY5TEFPNzcKK3pobHgrKEAhPisrTjchcitOQkpoKWs1 TWtpOUhtdEBUcWstTFNuUmlVZmUrcXomb2UtZCY5KEt8OyM0MnN5Sk85MworekNlIy17KFNpVUNL Q1QhJmdLZ01QUlhNUUU5N1JXJUFTOHkkXy1RekMpKVZ1MEF1ZHhrfEw1Pyp0V3lacUg4ancpCit6 bE12eFJaRE0ybSYkWT85dzxiSjkyc19aMFpGYHhAbVdmOFR4RHtNQTdhdkxRVWBqTy1BSzVPensz I0hLUDg9M2MKK3pjY1JOenlhYDxgP3VqO0UyWEI5bUR5WkNNTENnI0tLe2RRRXkyMiZJYzRLXi09 YjJqa09FJWE/VyhfI3pxZjVzWgorekw0VV8yVCM0U3hzPWd0YEgtJENlKkR+ODtXKWJid0AmYEJH TSUrIUs2aEVWMz9ZOGd1TjBZOzw+JkBidTdpWSFsCit6ejs/Zmw/NmYhMWtpYUJ5WEMhfUBXQS01 XzMjSjx1K05UOFRtMFBvKFMjdkVTdENNViRuNz9HVytXdzZwZWU3UjMKK3p6bEpjREYjfUgmQGNk JktReUN5czdPaHxncTVsaypkODMoKFpwMkJnLUJyRzYtOFQ1MzIwakpLejZ7aTNlKT5Pbgorem9L MDk2SjVrKlVTLW1kfiQtM0xVR1RINW9uSDMye0E1NTVOdUBPODAqfT1ZV3pUcHgzYDYpUigmQGdH SEVPX1ApCit6YWQpWSllZElTS3MxO2tPQm1uMVlnNDljZ3N9TD9ZWU9Cc0l2OUBwIWMzIzd0d2ok TXcwNmNUcG16cDxmWFpBa1UKK3pwRllfZHR7cmQzV3RZRzh1QWp3JiQ0LVVJR1ZZMmtgbmhYdXJi biQ4ViM/ZChye3k7dGFfPE1RUmY1Ql9OclZgOworems3SX14amc+IS1XTmB+cD9HO1U7NCVRQmRe VzQhMzcwZ2decDs0TD5FNlVrIzY2XmVQN0ZzPTBsRkg+RygyKER8Cit6bXB5QGM/OHI2R2AhJjY4 USQqS1BDWDxjeihJRE8wUTxhNX0qMnE1bVVyRjB2Unt8UTVKdFg5VnR3Z08kXnV+c0IKK3pfYURo dFdqP0ltS0U+N3JYRGAmJmhScioqaS08ZD8+QD9DMlV2dEBGcHBYcS1pYjZXRSo0aG5zbDlBdUpp Rlludgorej9EbDh2dWlodEdVV3R6eiEoKCl1UUVoKC1YUjdKPEA1NE5QPHhvXy1IK29gcG96b20h YilEcl5gRXo4O2o4ej8pCit6eD43UHNTelgtRSp2YkkjamtzME5rTlFXRW55OVUmJXg7bHlkK150 OVQ9dVV1bjBmdkM4cFM/akx8RjAqNnBlWjIKK3puYi10ZTNaQ2dvZTI1Z1RNb0VjcGp8PkNgRE8y ZDUqI0NMJWd7cEl1dypGT1hqe0wkVnxMeHJDVkVxNSVNTnFTdgorekAyXi1CYEZrZ0t8Q2teU1cr RFhuQEBoU2dabmw2P0Y3R05OZT14Rk9udEZpPSpEe19vdW41YUUqVDxFRlJ2c3l0Cit6JjZeIWkj JWM/bSZ5fE9kPU5eWGROJilpMksreXl6Zms+NVJpbk9qLURTKHVVX0k5KWRBPHFTOHshQC1oME1Q VjwKK3oodSs9VjZ+I1NJWj93bGpaZz59X3BgY0NwT0NoZiM/NFApdS1zPjFOMlNtKnhGa0pvS0xP JitlUHdIVFo/RTtTVgorejRZVzhEOEVMOGpuSkM8P2V8Vj1IVEN1bnIyJlJSb1N4KWtZU0oxdklS b3R5OUJgTn5+NTlKVjtUOTNieTFqWVImCit6cGsjTyRET19ZZXNrc2xkZHhxVnZrUkZSQzlja3dn NV9ySClUQVk/MTEmNW1zaDJnSihtQiFhRUFpeihVNS14WlYKK3ozflRLcyVldCtzJk58SD9Yc20w YjRoN3dGaH13REVFaytQSXp5TytCTEVGNDI/WHAmaktucTcyUmdRPStGKjZaNgorej0kbXkqamVM Vj5CRXN7JjtseDdLc18zfnQzRilqdU5sVjlFT0dyfSZLNUhpIWJIO1liIyltTmd2UFpTfVV2cHM9 Cit6SzVBOHo5cTNyaDlGSFRSd2tPUFlQUHB7b2E4STdQRDdYWUEkUEI4VWtPQ0N+KDlJcFlHajdS UzI+eDYrbkI0VVcKK3oxfUBwKWxMe3U9PHomJUQwPCl1U2NpZiorMGRCP3dwVlVBTzZMcXZ2aEVS SGMzMG5tSkZCZlQ2IzchNzVQNURjRworejNyVWhLZTVtfjBoWVI/ZFd9ZiphNHZmX283VWwzTGdj SDN5RFJkbE5lUGgtUkVFb25YRHlPZ203RmxKUyY7LSpCCit6MiMxIUBTczk1YWl6YXp4aFFwbFNt fEo+MXtEJGxWTj5RUG9qRFRAKSQ7dW4pV1EqbkZyQiYoUjNYSyFnbjM5MTAKK3pBY0tjdFNPb0kl a3JNJSMpOzczIUM2b3pkSlRgbUxJLWtDTT1PI2hmb3w8S1NKMzhQKmI4IXF0U2Y0QE5iK0dBfQor emxnNWJ5KVR7fChKYGdvRm8tOTArQjJKcG5HTTFgZVBBUVg2OyowR0JmZWlAfSZfTjNOZ35HdVIo ZiFNKmd2TWdKCit6dWRIRHx7cVAkbWlCayY2TjZ0JDZRZnJFQ199ZFpwcVpoSDhTPiM4Y0Q0Rz1z P1NrTEU7SWIoOV4hbXxxekNfa3cKK3pHRERibWEhaDdaOypUSippbzJ1PlBkX1hxYj1AJihIQD8w RyN2U0YzcFdZajd0QEo4YklqaDw8KDdufkZDbz9XZgorelR0R1VxeG8hZXRsQG80bFVsMURXcFJq VDIpZV84SHFjaHhBcCpHbmk4Q3lOLWc1RzNmNF4wQDlFfDtnRF9xczYrCit6V3FJI29FQSlLVz4o VjNJPiNRViRAVWlxfmhnOEJ0SmRKbT9Mc3xge15WcU9gO3JRY183ODY9RkEoYEFrYWB+M2EKK3o8 cytCTXJAKmBeVGl6VXkmUkZWN0lzX3o1a0dwVk9sfW82cD50IyVOVGx3cihtcypGTlJ0JHlHS2pp SmhrdjF1egorel5xQz8qN09Ub2pOQkg9MVJnZ20tYytSTW1UXlB9Zk9UQnxLSzM7c3NIYmpkJlRr eTR2IzNQb2Y8d1N3NkVURFVhCit6THUqeTdlNUdpNnc1cDImJTd+emtjcG18S1FXYDM/QXZ1NTNK K3Y1YlVhPGpMI31EdTlEdlYxJCpjeWtOcV5DP30KK3plM0lSNlpJR3M2ZUMkKkUpSD5WQjZQLXp4 MTYmX2YqdldHeWxmaktOQGhtM3BoRUsmcERnek4keEEzaHdsKiFqbAorenB8UEd0TDNPNGlJR3Na N21lTjJpdFNxdjJgck04JVg5Y30xSmFaeDN6M3p6ZndqUUB7PmI1V2FxJnRub2o1bT58Cit6ckNy MDJ6b0pqPD04fn1yJmlfNHJpK2RXPk97UntYe0hVai1IY3AocC0kZHJzJUo8PU1rfm9SP09DaEY3 N3M4VyYKK3p7P1R4c202UXlZVm0xYT5BJF51MzxJUEF6MnlvRyV0M2kqPDh8YChUI3EzWW40QkEj el9Oemo7Y15ZZTY4MTErVworekZxUDhTLXpJKEFHckQjVz02YUxJd0wzSTtVe3tlNURqZk9yNXhh U24pejJkIXsjcWZWZnskKSlGcVhgS1RTVD4wCit6Mm9KSUBYZmlLeXM4RXJrI3B7PTl5VlI5cndC WHdDS1BpJiR5dGg+PW04Z0VRXlRCKmhTcmlMQ1BHYXxkeENuaVgKK3ptNXEhdno1QlQ2TDklJi1V Iz9Od3o9JnFEQUB6fGVaSEFhTmFKYUtkeFhhVCNsa0k7eTdQRzYjamRJLVRVIXhuYgorempyc1ZM Rnl5bSFfRHFxZHc9KHpuZEB9c3B4VmhvO0AlVEZhWVVheH5GdSNGVTMpakNyQHxgJWkxb2hFNUlK dnJhCit6PElKUnE/YldqRTtxRHAxS2liZW1pIV5yVSY3NnhKSG5AOHghJSMtdUlWKm18JWN1N180 fTFCJDZ0bzR2b1NZU0kKK3pncjFRfVJRbGN8a0A7fDsqbzd1KkQ8WTNLYU9gcjRiOWhuQTMlOVdg VE9eMldjcCNmOUdtKSFUZWkqRkA2VXVYTAorejNCPzc/SipyMTw0QVIwe3RSamkkbWU1ZTs0TTEj QU1fIWpkTmJTUDYxLW0tZnJ+UTcqczVqJUUtXiQpKmpgYSRNCit6dzhYYjEmZ2hWMmRtLTlIX3dg Zi1PJntNSipiR2gxJUFVMDRjWHJra1N7Zj16JENhSWEqVC0lOWFtOD57ODJhZ2wKK3pfNUtHYDko QXAoJntsSmJ8MVcwT1FzSFJeNVNoZCZgMSFJb15nS0VYbGR8VWw+KCV3dFMyITIlNzNkO1FncDYw YAorelR3QjIyKHxJWlhqOVlCeStqTyRwJk1YZz9Fe2xxSHZQa2JgQHhDaVZZbWRqLVVzMThDWUZi SW4jS1k0JkpUY0czCit6T1VZckFYcHxtakUyfHw1KDQrSF8mV3Z8LTE3NTN4I3w/Z2A2RjsjVHRW R1kxVzlJSVR0MHs/aF54UGpGJiU0UWQKK3pSYCFZS2lwKjtwcD9PXjFedkAwZloxWVBfQ1RfNStw XnQweGspSDZEQVRmR2dWaChvQkt4U3piKUFmSXdyVEItIQorejNUZj1gN2YjVjE+U29KKldfQilJ b2ZnS1BabWk+ZiROUDZ9fDhvdG11MV5zO3skK2h2U15tMjsmJXhOdiFQeFApCit6WjFfSmJJITdB VHdnK3Y5LSNOUGQtMmAhMlB2PT1wOCRlKFVyK0JsVmFIbl8/K2hgKjNVPllNTyRYakN4dlBKOXsK K3pKLV55Szc+ViNBM2lhdSRXe1B3OGFBfispY1MySlI9NlVzO2hsV1c8bXFEOUUrY3AkbXEpdChC ZENFQncjfXV5Xworel9Qd341aHA3SGgrO3tKVk1RSTBEbWxwR0wrNmo8dnFoU3xTXzZZNWF7dDZ4 RkhRMWJWVGcjZHRzdXFMa0wmNTJfCit6aWZ2cjFJfGtHOUleXjNBeXJQZSgrTD50Oygkc2B0bnVY cFQ/O3I0WUhxOFYlPyExTn1lfWY2OzAqK2hqYm9RK30KK3o1YVExUi1LfDl6LTNsVGgwVGohNmVS bXpEO1BENWcyblhnLUxPN300ZlRRQkp4MDskaT5AQWNSPGZhNHYhdGt7Kworei1LRzJeVSR8d34z QXJBKEBfTmVANFlGNVdfYHtNTmxCfi1nfDklJURhTD9fQXc+X009dEpeXj9mVHMhNWEhRUQ0Cit6 RX45QUtpLX5SOHNVMVduNVgoeUBAbktWRDBJN1h4N3EhX3U+KDJqKUx7fjBkSEF+dmh1ZlVFK1BL ekBhVjRhK3QKK3pqIT1qb2VqTWhpaSN5c3ZMYEF4K2dqZlRRajhoMnxlTjJWMyhQLVVXOV9faVA8 X0dAezB0OSp2Q1dpVzR4RHxAJQorejtyM2skVGs0NClDaHh5d2RrfkUpTDh2PD91aChnYUpmP1Eo X3hmMHNDMF5fKTdZREd0X0w5cSROdyYqZiYlVFJNCit6OSZ6UUM1Qj49M2IlOz4mMzsyMlJOOyVt bW5SYXg9PWJxbWYqNnc4UUU8NDxxK0RnVmRzfEkmSiQ9UXc8WnVOKVEKK3pxV2k8aW1HcXN7Pyhv NiVHSEM0VXRRN2I/QVFSZ0xjWVZAPl8kZyp2UWsjIzYhflQ/LWgmZVlwakIyYkRXP0lMZQorelph K3hgY21HMUliQVFiSjhoYEY3UlV3TU0yP3o3X0NjYTEqbnNjbXxXN3NoKjhRNUZzPX1FbjQqbGk9 c3RYciErCit6eXI0e1p2WmJISlkmczNVT2twPFBzMlJgK2ZVJW8jMG8yOXlMTDA8ZjRAMWI2cXUt Rj0oaGBCaFMmQyhzbH1ebXsKK3pHUUlBfGEpWkJHe3d9dFY3ciFRYDhUSVp5TiVaWWFhfjc1MVNp P2FRbEl6eDkrSzQ0bGQzI0BZTmE2OVorRXQkRworejcwZWxWZmEjc3tfQGVJbXUmRFZ8UnRteX4j RDY4eWo4djAreHRhd19vP24hbE9Sb01rYilFeD9RK0l2Z3lOTEU4Cit6PGJ3R1NZTyp1Njg/OGM3 emh0ak1KPS1obE5FQlhMJXlCZC1lO3twNjclNTI9QldmZGZKazZOU3M4YiFAbHMoO0sKK3p7ZkBa MHUhfGM/YVRPbXxZQElQejtMaGUhO2RkKDd4YDl4UjFAPHp5UFd+Vm4xKCppT1ppYD5KO0NiR145 ZV41Zgorei1weypZYV9UPCUtbVVZPT9fQTtrTXgzaEV6cUVPdHZsfHtLVmI/T3IwKzFBfWwpXj40 P3NTfU14ckZuc3hlTz4/Cit6SGFXYTVeZVEhY2xEdGEhNDdrcnVkZ1lCbkhFOyFna3pEcXk8LTMz bHFHTkdPRUtfbGpNfkZYc3J0VFpSXzFiVXoKK3poaGVIO1ZxTmVqV2JMSG0xd3EmbTF6aTJTP3Z+ VWJxRUlpQz1ZdD5XSD1oaUBgZ3V5b1Q1PkBTWVRkd21SeGc4QQoreik9KW8hJHwqPVErcWJsbFRV VkE/MU9wK2ZGJVk1LWYkND5fbGJeeU9lYVJVek19LW9+Tl44bndGZlRxJikxUlZ7Cit6NFJVa0Ik UDV4Pms8YFJYZVQhJFo3Q3JMOXhTM3crNV9rU2JveUFkcERwZW07QWlPJHwkbT0+WGY8M2d+eCgt bDwKK3o5YjM+cTlDdnBwP3cyQncoc1ZJPVBlPk93bGwqUyhpKVl6JFAoflMzMUh9XnQ7PUxXZjQm Xz9uKEN7P0cmbTFRRQoremlMITt2JChlaVR4RC1SMUM2YyR4TjxnJk05RHdhbXk3d3tgPW8jQUZs bjBILV9jPClqMC0oNkZGYzZ9dWtvS0lACit6M2ZIQVlWfGptNjZNenN9WSQ4cG9NYCFQIUhEKjZz WjVIWTNJYGJKKUI2aGB0QytrYzI5PDB0aDJYK31tVE1Ne0cKK3pgdUwjSW9DSVNkdVhIPVFFKHE+ c2pQRjNUSFJEQnFzcSRybysqSi1eYUVrZD93PVBAOXhMV2t4P0V9WGloeENgJQorekxGN3JHOGBV YmZLRiN9NTwrdUR0amt6K0hwIXsqZ3lJOD10c3Q1QEJ0Xj02ayRFJUwyc1V3dUpLI3xWKTQ5QVJ2 Cit6OUdsd0RITH42MVVURUJucX1tSD5ZKCYkKU19cU9+MiYkZ0F1QnNKfFdNbHBXa3lfRU4lODhZ eWhPTXI3KkdfZEYKK3pha29AcXZ5MzFCI0d7UGUmO0VKfU0wbylsP2Q1ZUI7S3lnKzA5KX1YUVlV PzwmZkxZWGhoRzRuVmlYQmRxWSk+RQorekFXRFFwMkVYeXFGKiQla0lFSTlUI1VAfmpvZy1BIzNq QyRIV203dz9DZVdLT05ERlJ4ezE0K3RvMGxJVXB7QjR1Cit6a207bD5GI0U8JFAmJSMmQzdGLSE1 X1RiR3NXVFJsJSZjSlVLRnxERXJPTDtRKlJASTw/VUxoa1VoJkVgNHglOGwKK3prVkE+RTs2XylC O01PcXNNTnYzKiRoSkhPZCZHYTBTZnkxdVoxc3g5TXs8RGYkaTMoPEgkRjhRNSFuNnd4JldSZwor el9jaWYtVXpVNT1uZmV9RV5qKiRZSkdYaCMzbDwzQG5vO1hxVmFRZGhBe3x4YlkjaVU8U31ZMjEp Rm0xUntKYjZiCit6cTtSNEMjNWRiPi1Kd3l1VjJTO096JEc/MVIlb05wR1FsMDEmRzNtQnNNa0E4 UHhCVG9EZz5vMDV8dXRidjJgWEgKK3pJOyo7S1lYNFFARGFSayRnRlR0PiNDTUIja3tTRlVwYzJW TF9xNGI5eH1gYk56b1FNQ2RkVzZpcDxEWlIyWmgpZgorelZhJSUpO1RSXm1iS2QwM3olcCNOQVAm UlNRSiVETEFaYHlkNHI2cGlGUTwxalduaGlCZn1wJSRCIVJCXldMZ0tSCit6K1E8VSspMHV1P00j ejBtLTVoezI9bT80a15eYUxWNUtoUnVic15kUl9rK3s+VCVnaig7eyFqcEcxPms/QmZTQ2wKK3pl KFcja3tycG1DZjhoPkZhQG9IXnp6dmlRPjNTSl5zUy1qIVRqZ3ohRHN6OVZpbjlHPXR1cjl3dFN7 Mz13elZWIQorem9vI2w/MEBhb0BJcEF9fUQhWENNPEc+YTdMX0RGI0w9d30mSzxEb29ia3BaPDV5 UzhgVT1HcHkyXmF9NUBxcGFTCit6OFJrPEN4LT5jUk1TdV8lNU07VXlUKWA8V0RyJSN2TTskMmNy eFZ8eWh+TWg7clAyKWxRdThJKj8hc1YtbnhIb0AKK3p8SU0remM8S3FfY0RKRnxEdz0lQXdJJkt1 QyFAY15GTV87Vmp6OWoySSttKTEhYnVUKzBGZEIkMHUjQU1EeSVDUQoremJafnsyNVA7K0IqeyVm JD9meUR3UmlsO3FtT3lWRThxUjFhbyp4JG41NUVZMnh2KGYzI2FrcnFebSRzWlJoZ2dhCit6KGFe dStIU0tiYnZsYjI5JWdVTWFeRnhSQHRERjt8QU8wMzFSJCljKW81RioqZ2A3b3BWSUVndGczaXoo SSkldnUKK3oxKTcyKEVsZGFyNG1ASGdqRU9UMkxqK2E5VFZKVldtXlpGTHV9JDkkUnxmMHsrTXJt Q2FUQWhCQCRFIyNrUnBoIworejhiViZoT1pYUyV0dGxfdS0la1hoMWM7KzxFX0BNUHp6M2F2OyRv a1EydndBLSFLI1pEY1BHemNwWj9BYmBjY1NUCit6ZDVMPGp5YG8leiFfdk1wKkk1PlBwVm9KYCVG MFVBfEJnO1MzQXZhc0o/TEw2czZzS0NlTUFVbylPYU13LSpWYX0KK3o1T1Vxa2JSNlFBSFEzN2ZO THwweTV5eEdsNjVHRTJRVmUwfmZiP01FX2xsTng0RnJiTDw5WEl3cFleJnFeUGBFXgoreiElYmxC IUhlaWhiP1BSfiRtd2N9e1BLQEdrayhaNFB+cHEqUylvX1dgT1UrbihgKENfT3kqWW1UJClJdzZD LXVDCit6dzgxSDlPTTNaZnVKNDFZIV52VVhRRW0xZiQ3Z1hsOTs0PlVaKj18Y25+KzQ2K0NxKXZT MWBuZDFzZFFBNTZrST8KK3pyVGJENi1FRFNtYVcrSHcqRz0+fmJRJnwmTV4hbHppQkowYHc+bGk9 VXdXdzh0MlNHdV4+JUwpWmxeUTQ+cjdmcworemN7eVloU2M3YjY9VHI7dlI+QGJqWWFgZnxxKz83 dSp6QVF3Qz96YnZYNy1FUD9uJkMkRjNgKVEhTE5rdUVYYHFOCit6NGkzUVZIPHpDNTZpTT07KTRu SitxKmZZOHkyPnxZX202fEFqMmt+JXBFR2B3bW97JWYqZEt3b01fTWVwMF9ZOE8KK3pqbV9AfShR cGFAWlloQVArT3pFSipAbCh7UitXJSt1V2wpO2VkUlBsWlhtUzlFcWpWQjgtQWM1VFZ1Ul9MMHN+ XworemYweDx5PER2QUI/XjhWI2d1Y0lYO0V2KkYyMmVTJUhiflJZYzsjNGc0MWZne3okZzJFP3gz SGJ1V3omPTAwNWtiCit6ez00fThjbCZIPjw/PXRiJiVZVEBqK3ZzIS1gYyp6P2Y4SUo+R2NiP3ZS Yl8hbihZVWVWaUwldkNGTkJHJXZufXMKK3o1RU9hcUlySENGVGlPRGZ7ZVR2QChLSFlCQUQ0fXV6 WlppODRqeEYlcHY+Q2xFNUdiOGNEIWdtSmB2LXs8U0hKJAorelhyVkd2YnZrVlZpRFgpRE9kKk5r JEkmcHV7VH5mb29NZj9aak9iMGpRcCFyWmt9flVfK14oKTc7dFFqcFVGMU08Cit6UWM3a0glKCpO NCh2dzhqUk1xSlhlNnJMO19VV1pWQD84c34mKiNKVlQzfktUbzYodXJuNEhgcWIlUWRmaDE/eCEK K3pRfnRsNk48JWpsO31jXlNFOWl+Njlqd2JkWSl+MypUWSQyX0o1Uzh5bCRAbmAmbkxSZzArV3JN JEk9fWE7aSEleworensyPHorZT97dTMweyF1TW55RT59YzxrN1QyXk1xZHhyWC10UkRGVzAkQUo4 Wio9dDgkKCVyWCZ3NFhHV1hXR1FZCit6VjdCcHUjQ017Py09JFQ1bDF6fnBkYEFTIWszXy1reiNm T2YkWFNpdmRGQF48WDF3LXVaXj5WQFRYeEVTbnJTZT4KK3o4ak80PE8lPSRNbk03ekowQ3AqaFMl U0o+WSFlRDJ0KV4jV041Qn0ydW5VQFd4RWV4Szg5IzhLPChwPEcpWGBXSAorelkpZ2BmKk48RW5L S0h8U0UwV05OZD8/entBKExDSkRkLWxRPXFadFdZWG83IVRhRENRZ0pnRX49LUQodV4wKk45Cit6 c3BELSEmN3xDPjxoUE5OMFBVSl9CVE17aTtGanN2ZFlKNCsjeWU9O2dlTUhjKUdPZDliY1p1VlFi N19WR2VSOEcKK3oxNiZRKmd5OFEyI25NMGJCbXhBMnhlTzM2Unw1ZyE0MURfJkdRbm1LQVl4Pm1L djhHTUFFalQlYjA/UmpIYkQhUQorem9yKUp7NEFxWClkWmR7TyZYZTloYiVaZkpiYzJvOVFOWk8z Yz5zPWNtTCNZXyErMEFjM3l2ZypoYEBsdEg7KyhuCit6cmk+K0c5PV9jVzt8YShGKX1CY0wxQGZC fSEwJVJ2PW1zNXVEcTdBMTQoSGRRejd1OU4wYzdRMjx2dHlWNSkmQFEKK3pOYHIpVj8qSzYqWGtt VXZhYUlGT0E4czh7ciNlOz1BZTgjM2hkKSVQPXRnLUZfK0dTTSl2KlFLRG5idy07P3BKJQorekIh TUhBcEs1Un5Ld3dzY2shSmtqJUV0ajJvKyMra2NQcHYzaXc8OTVyM2lfQGFTdShYJjZFfXlvfDhY V18xOUpoCit6eWVpTV9NITJSQjV+IUAyJUNEc2RyeXwqQk1QWEZ+cFgtYE1Oez07dTJeRyolaT9l ckA1MzA8P3pkcEMlMX1CUzYKK3pZTDFaXm1fT0s7MSlOcSZuUXtwVFFSTjx1bzdaP3xMdCNqWS1f emZ1ZH4rVmpBTURFd3E4bHM9cFNHIT8hZzxtPQoremBiX0IqbVVMNUFxfG9+OWtTS2BldURnSUpX bSRJaDxjJDNDO2R+SmJfSkNTdVNJSVdpbGZmPkBUQCN9JGg9Q29QCit6V3tJQEV6ZGtzNGl+KXA5 ZDZBR35AJn1Oa29aektrJm5tRGhYUWR8IW1DNnYpeW5uVVgjamMoTU5yNHludXFqd2gKK3pxZFRM KUY+SnZgQE9CfG5YdCpKbVZEPm5MUVZDZXxzJE9NUEAoc2B0e2RIZSFmfkltdHBSQEZ2YD0pQDdF b2BFKQorejJ9bCpTK2A0ek14ck1xS3g0Tistc1JWb2RQWUYtPzxOQkU8PCN+ZE55bWhIWGQ0PCVo Iz19bFl1fXpqOzZjeUhjCit6S2MpPURWbDViRz5fd2VSNl9zUGZzfGwtJiUzTFUycFQzIyZnKlZo QUpZQUlUUmA+cTI7cDhUNClzZztqKDRtMnwKK3o9KXc5bl5RPyk4YVE8SDVLUUBVaWhGXyh3Z0ts dXt2eHlpSmBHZGs5RlhCUSVfPU5QIXdTPV5SbWZ7NS0/cjZLRgorenFtTnRIWSl3dilRMlI5dGl1 NjgtRSUzLVg9aWtDTSNYanRrSWFNc0pYWWFqVW9kKFJNdEV9cDleJVJ2eFB0QFloCit6Q3hxJEIh fUlaQWNXWDw9Xk48XmlgMklzRztERUsmPm5Ke35veFFxQ3l5SXpien5sXzRhdyNjTz44V1JyJSE+ NDUKK3pkfi01YVBiOUpXY0h8YyFKMUdfWiUhcUxvaEVrVkl2OGAmRntwbTVWTm1vdURVUjtxJV8q OThpSWgoY1phd0NPQworekkoQTlKJmJmSmQ/NWslJVhJJT8hdTtfd0YzdyhjWClAcDRANmk+OHp3 N2ZOZUIzJTBHRnpsN0hKJjV6dW1GYmkoCit6WjdiSSZyRkI1eig3KTBjNXtAKkByMCt+P1JzKHZl ZyNAY2pwdHlMelNnJjtadDY9QnZuaiNTUlFjWVdsP05fWEEKK3p1bkFOJGs9bn5IQXR7Y0hTJjF5 TG1FZD93aEhUOXBOPyk/TDwzdHc0NDQwMUBSZ3ZEQEwtUHp5QnAyUyErUlpHbgorenVRbm5rU1lX Jng4flZVNndSKyhNNDdQelE0QipfbWRSKG9IYzljbllMaS14NHl8MVZhWWBuO2ZvbEcpVkB8VkQ8 Cit6VkZ8Y3hKLUJHaVZBbX0/VyFjJiU9TTFVUFJfMXZja0VIY0FwSHtXVShoTSpjekpROWt3M2Qj bHMkTmpDOEA0UXUKK3o4O0lga159cmRBOW0yOFhTMyk2c01YSDJURDt5PUNEV2RNLWlyUCgyd2lx cDx0aE9xM1JHNWI0MSo8a3FHMld7PQorekJxOTJyQ09PJFc1aUd2M3o2LTdINylRKm5KQGR5bElm QSgzd1dsWGpvI3M2UXFAP2B4S0lFeWtyNUBFM2xlK3pgCit6RFBvbiUtJXZsKEd1MU9ORyUkVX49 I154bG50dkRFeXpyK1JEd29fSiROTmZ1V04qRHV8THxQNmB1TW9qYVNaOzUKK3poM0A+OFYkPzQr UzZ0a0sqb1UwX2ctR281dmRfRyRTbTBjaTI/aVVLWGFBdC1DYVlFbChuakw+U3o8NEsrOW03bQor ej9wJGoxaVhNfW8tODFDZ3NxPHd7UmB0QiU8S2ZgKXxMamxIX0l3fDIrKzNFejBhaiZrIX1RSTt3 dDJ3cFVEIVdDCit6e09MSkUyVyVfIUB9WT9+IXJ1bWx4Kko/Tnl6VG1oWU9TS0BZdlIydTJ2JiZO UU1MMWoxYlc7Nmx9TWwqNH0kQzYKK3pHTiRhMVZIVitAVGxzOXQocX5Sand2TEsqTGU3TlEqfXEz ejQrKn5+WiVAaX5qSmBEbGRSdDxeaz9KIWQ9ViRWdAorej54aCtFLXY3PlhEYXQlemRsdU96KTgy RC1QVWt0bmo3dD9JOH0/Q0ZmZEJRIVEjMW8qZXFac0B0Yzl7UFBEdzNZCit6UDZ5cXw7clZlPm0j SjNOUDAzfFR7N2psWlExcD1QajBobTs3KiNiKVg0SnxsV048NXJuVTM2cT9PdkpzcSVnVzgKK3oz b2teYC1QMU9qSlIpcClldiFXaXRne0s0VjZXNFIwRklGckVQRTJDI3VQNm1xMUd8U15pMGQwZiQ+ LXt5VHBFMAoreilFYUglbnxabDZlUzdMVF9kKSNiSHZLPyhAJT98cjspIUlzQUJVM3cwRjtqWmNT KVMxcH12akh8Sjx9KEBtaXtHCit6YXkwQmJQfiRpLVp9Rk9ZNVBXM2wzIyRxSnFjT2MtN2NpT0xq KU59UUBNRXs+VHlYKGtQMmIke3Nnejk2X0VAdHEKK3pPU3Q1e2Zha0YpQ3M5dDhFVXIqRW85QD4w I1ZJalEwJm5+VSFiYXMwbGgjNWhYYWc9O0N9cytHUyk+diFpRFlJMQorej9rJih6djBkezxgWktx IyY/YFR7SCpEZH5lTy0wPWZfLXpZeVZ0ZmpTM2xmYWIzKyEpRnVZKEEtQzZxSlloQVdgCit6Uj13 VGpscSs/QEI0bCVWKldiKlllUDMqQ1UzSVQ3UmY+bCQmXkt5elpATkZ7K15ESmVKaXBKO0pNcD8l RTYrc0sKK3pvdDVLVUt8N3cwWnp9eFdQZkUydi15V1ZIVDAzdCZLaTs7VmVSe0Y+cENfXz1kcHMw PmVDeGdwemg9SXRwQzdFPgorej5AZy0yNy1Ue1A8I2tBM1FHMHNCMlA3RCNPQk5fLUJNRD82LXkr eCF0T0FuJDEpOFViXl47SHlhIWB1Ty1BdkVQCit6cjsmKD5eXyQkKmtXME9VX2BmQHsmb3ArdWR7 MVhEe0YpYUVBJTAtQCZ1QXRsYzE2O0IhXm5KaGVEMU8mJEF9Vk0KK3o4engmX3VjSCN7RDFoSzxa NU1IQEhYKFBAMT19ayk3Ryg9XjMjamtAcFZxRTJzO2FHUEFHKjd7ODxCMk1TfntoPgorenlFX0Mw S15pMkwyQm97Wk9TK31JcWBUdWd6UEgzekBBYmFwZ1J2UUJAWikqcm5ycWZSZCtqLTRNMlNSTiNL QSsqCit6KE5BYkRraE1Vdio1cC19ZVoqWHtYVVZ3eyFvcnFXOE4kUF5NNH1UQkF5XjFNOSlBJiFN KUt2bytUYjA/Xz1KcWkKK3o4cHNlSmZTVHBnWnhgRV88dWdGekQwSyEmPGoxJVM5MFl1JCh+JFpL O3FfUkdKQlRASTxBfXtJbmxvN0E7XlNOMgorek8mbXtEP0Bna1R4JnMoKjlNfTFTTVBDR0tCT0Bh dXsmcWRvZHBjNU04c1J3PCZtNCg0eFUoSyYyMmRacWwtOXxmCit6PEtwfmtTfUNlXz1ZdEtBTURp QjUzbm99V3taeyhkb3h5Z3xHSitwdTVNKkxnNDk4WjwyWVR9c05xeX5uczxCaFYKK3pSKjxNXkF7 MH5WLTMxVXIlMSNXVDxIKDs1a1VgU09tPmVfNWB4IXdDIV5+JGdGPChNbzw1N3hXYGJDTU8pTyVq egorektoYWtsIWs5cCs2WUtFd3JgTnoxdzdgd29uRUlmKk1zWnshZjA5T0lROzNqQGJtNEVGSEIz UWxSbHlzOF40ZzcpCit6MFZpK2xebXZvQ2FmZDJsOF9lWVBMKmI0bzBpej96ZFF8UWUtKHJwSmEt cDstdSl7WSpqRVAhZXN8Sl5XQExaR04KK3pjcmRnODBFUUEpT1gzdzRYTWQmIV9yNWdxQH0hQitf OFZYQlgyTGgwSyp1K31hRElYWE9rRyFxJjIyVnBoclVgLQoremU3WXgoPkp7PTwqTVVXcTJhLU8z bXtzUGo8O318JCgyK1JDX3tlJFlCSy1XciU5SmpWej1Cb0BATkh5dnh7b00hCit6Uj91JUJfeENL KSgpeWE+I3U+NVZhQW1yYE9oNGQqc15kZVVVaDBrWXV7QCl2P2I7OW4pakZXLT4lSD48YjV+bj4K K3plWkVjbEQobit0TzlGMn5OfEteU214O1dhRmh3ezg5ezA2fWxLKCsoSkgmX3tAMU8mNjdgZzJU R3JkODRqOSshKworenF4alRHPEtvJUBmcUZ6WnZBSV5Zc218I15KO0RHZ21geU9aWGd9NzxlMGYo JSEhbC1hKkcoaXJecVlWYS0qc2tpCit6N2tkJWFFdndWd3M2JFRydlA4LUViRztEJmtYcDRleWxH OCFFdkBsOERuIUUkNCFecyFuNWxHYXp4d0RpRlJ9fFoKK3omVCRvNTd8TSV3KmdNaVVHNnNOeHJe VnA7YzNJVmVaU1NRVFVTc2dYRiRANC0yXm16eHJZel8yOW5QWXohWVF1SgorekEmSTN3cmZYLTFo ZVZjcjZ2Q3FXVDBhJmZ7Yn18b0oxXiZxJHFDSXNuSCM4U242QkVaRmomeSM7P1hrbF5wOFF0Cit6 Q3MpJkwzb0xwV0M9T0lvWXtDJCVHX1R9QilKcnojPkdXNU45d2w5ajl0NEZXVGk2UjEoSzFwRXQw aVZ+KCRmXlIKK3p6WWkwfUg5M3d9TWpZdHFwYT1odzhWUjRtcERwJDNNcXZsdS1geWdNa3ZHfnYy d25mY1VeMFdkVCQ4djRGVjlMWgorejZ5Y15zVTFjPDMjY3xSQjlpWCsycFZANE5uakRCeF8tMWhB ZzRHYGZHWD9iaF5Dan1ZUEVJKlVNN2dPRGNMU00jCit6Pk1IXm1iJHBVWD83cUk5Z2BYfXsob0c+ ZkZ+aUsoQVVRP2dxbWw7OFFNIXBZQU5UOSZ2UlA5MDZeVzkrVGpiSUMKK3oxbExIOGV+KGlLOVIo PGRVdXxTWFE+WGdgJn4oQk5Xeng7JlM+JmRxQVlofDFDT1o4dkxON3F5QCojZkhwe2w5NgoremJ+ OCRnWlEheH41Y3Nva0FfKXhkSEBVWlJJVllUc3AlIW5ObkR5Q2Y2dEdYXnYzMUQ+TDJrQ1Fjb2Vp PUBJNFY8Cit6RT5YfnFjYjF9IVJhTkAlPlNwKFhIJns7KW98RHFLN2B5Y09NPiooMmFCNS1MP20l WnVaJEZwdmY7PThxSjM9ekUKK3o7c2k1dj45N2RyXnBeQyY+RmlFWU96OHJwPWd7MkVuQXtEX28q NlVAP25UfmhSTip+dCQqXyVVYDtrd0NEUTN5dAorel4xdj56ZyRkKnMzQjxmNmY/WHszMTReZngz KWR+dzhWJEJrNn5OZnxNZDNyaVpHO2gkMEJ3dWxQVi1VPmUmWFFFCit6MW52P1ZrTGZRNS1CYG88 cEZDUktiZmgwfCVSaCteJWVjNyNEPDAyKk5AI0tLI24hX2V4VSVweUE2UHBTKTNufGQKK3pIKnVQ Sz5iciVySDczJnpUZENJKGQxRXk7YlJudygtQy15UzxBaUQjRG1ZM2VjZjFJJk1Ia0hMPF9GSUAj KCFOLQorejV+b3x+ISloOzExd3t9c1VzIXF6Vmh1fGxia1Vge0c/bSNYJT0jSHRldVc+KE5pLVk4 S0E1SX1HVyF3dnhKLTklCit6akRDSkd1SzxlfUR9MmtgYF9nO0xeaFlZcjNXbHVHTnNfQ2VuPTJ6 KzI/TVJYQmcqIUxPSytII2E3QVlIS0N0WmcKK3p6ZjJ1e1IhOVlwamhRVExmTmklRnVzT312ciNN TTA4engtQlUjNHY4PHlCeTFQUkNjYDU4Km0qJFlXa2BNM3t8NAorenVATHJOV0I0TF4lTGNOY3Rz K142KGhRRlV1eDFWczZPR1Q3NiY/dzk9VCtqMyhlXj40b1lxPWB3OVpJKmpJVW10Cit6SigmeStI bmU1QEVfYmRtS2cwUWJLQHd3NilkfjJ9PlEtMHgwK09LUmhQSjk5cnxhcC14SWM1NzUrJCl4dmlg SVAKK3pAQGYzcktHUEBPbURmOUp2TU91JVJ3OyZ+e0EhWWYxJTw2IStDRFBTKClmIVpMelEyTTVq bWk3UWkqelFZbUwjOworej9WXm1Za0glanJ2fntKR0w+MVc0SXtUKGRpbCQwRmAmY352cTkpPnxG ZVhsMU9QTSU8TXhzRXJaM0AwX0tKOEdhCit6aipXckQqfFpMcU9KPXo8Ykt4PGteYEtJdj0tbCl7 UiE4VVQxajdOeFBCV2Vjek96TG5AI1Fvc1BhfFVKUkk2XzsKK3o/V1BzcUZsPTMmO0tjaCgyMV8t cSlRXm4/WDApcjszZjVjaWFwI0owS1Q3UU9fdm5XYDJOamtfNFMxYmJWV1N9fgorekAhVSZTYVot cz4+YDxDVkdrMDVpeXl1X347PjRPeEVfPjVJLXNkYmpxbSZhZFlHYFVAMGVxaEJRTntkaDYmdE55 Cit6OVVkZU1GOV5aZCFycUVTNzJWVWlnYyFecz99MU17bj5NJF9wOV4waFEtQHpnX1JEZyFtNW9l PzBFfTN7Zik/d2sKK3pLWCEpaTJ+OSFEUC1mMjNvQCh9QyhONk5+NyYzV2IlKU1ndyRrdX5lPC1t cytCKWllTTNRV1ZJdjJKfVdZbG4qPQorejtAVmtSPSFUNkl4eVA7PFN0c0NgUldEb3spWDN+LUpa aFNLaWtUOEtZOGZVYHFWVUFgeH43PGxCdEt1TnYqYmpnCit6Nj1xTEo0RyVzUCtvakMoQChXVUsh TlFBUipeIzwmdnN0OWleUHNyb3JaKnlBcmJSPHU/Yj5sNk1YZ0ZLNnRfNSsKK3pzdktGKE5JNSoj T2w8MkVGNitCUjlvOGxaX2VuRypxYF9maSoyZ2lJVi1JdnAzZmBCfW4heSRsJTJSe00kQEUmRwor elV3P0huQFhCd0g2X1hPdUJxbm41OE4kMjsheUhma1VnWG1EeGNsb18lNmJfKXB7QTJTUW1MI3Yw cCRBZ090cyFFCit6N34xIVMmYkApTiheWD4xYn5EcyMqemFNd1NlNCNBSGBsaEZ7Sj5yUD95TmJS RUFgI2BuazY1Q1E1Sll5SktWNlUKK3pGNE9sRWFXPFhKQi1lVWxQdiFkM25Rfl5rWWxYRHFWemhT YFRkPmBHSmA/IXlYSHx4MDZyUXAmdl89V0xXfn5UVAorejZIKy1+bGV4OGppWVJueihCO21FN2Yo TmRyJG88SmhNI2FsUGYzYXNBZmo2ME8hVTEwdi1MQCZRTTxUJmZ2P1d9Cit6PkMrcDw8UHxeVDBr Qlpuc0F9cTQ3WDR5KVlZYGJ6bGM3MGold0EtQ2I8SDxPQ2syU0ZSWGNKP3NoNjQzQ2UyPVYKK3oy PSpaRW1zQ3xnIytaZUgybktIek16Tk4zeX5fXj9CIz11RlRxQ09tWnhtdCY/TGJYYyYzZyU+M28y fFhWIX5JXworejhiMDc9QiUyMnxNP0Z+MkdvMUBxX1JRYjhVQEU5YnQ9N0EzQGxTZ3lAOFJwV3ZG P34waEVlcjBHb3JjcVdlc2J+Cit6JStAJF5CbUJ8THtxKDRwWj5+ayEocVh9fXNrK3k1YHNMMkZx dyhDUEJPOUJlYDFoMXE0aUtEQGRoISR9T0JVKlAKK3ola3xteUJzQlpQejUkOXB5c3xhNjgkbnhv Xzkpc0lmfExpN3pReHEoXihVX0x4fUElWXhvXkBUKkA+M353Z0Amcgoreig7VVRkK2pRKDxoQTZe QUg5a1ZWQyRPTEZjWCllYnR5cmkkdD9FbVV3KGwhazMleHE/UWklOFk5WnlRJDBNfCMwCit6Rz94 Nj1WLWFPU3leZCRIMkVOPCMhNXRPSjY5fClzMSMjJChWQmlVM3k8fnttRDQhQ3M0ZWM0fSVZIV5F eCM/eEMKK3ptOyY7akl+TzNteGIocytfMFgjKzVIUURfbyl9c34pRDM/JEFZcEJmNj02bE1Wcnwm WkN5P3ctRDl4eXBDYUEjQworekxYM3pGcnZmUWo/X1BuMUVJey17KmpCMXczZzAye0xiVV5mNUdx WV40VjQ+PG9lTVUoUGNtJn5Pam89TWdrWClBCit6VWpRWDhfODdaaGM4SXFsQXcmYHBDS3RucUEx Zk9zaHxBS1g/R0BKMyR7Rll2WWVsTmZBLSk7WEFvcj9hb3ZoJDkKK3p5ck9sJjIxVlQqczRXdFNG V3tyRmB+NHsobk1QfntGaDdHPj9Zb2JORyViVEhuVXY4czNUMmgyRXEwakQ8UClJUAorekppMVFw Rmx9e3dUd05IZihaKS1PMSFsRzNnckVrfmxgaFUtVTNub0k3aXQ+flNFOGthQyM1SVgxXm5gNVQ9 QGpfCit6YypFVnlLUm0+ZVAwbXp1bURXQnFBVSNyTkxTRUlHR08+VD8jV2dyb1MlT1VXJT5xPipE SlZET1grOG9+QmFPeiYKK3ojfU5hRGJYPCZfbFBzPlJvWXNiJjghe0AkYSokNjlXaUhheWpEb0sl Pj8+Y0ImJSEwQXYxTnJWPU8qUTwlVmt0cAorei09YVM2PXtIUjg2OEVwMV84WUFYeU5zaSNLMTBX aD4zeXomWnsoQT02bCU0RVFNaXRpPGx3SkpZcSZyOT1HP0JDCit6R0kmIWBIYWQoMkp1dn1YX19w Zj0zVykoaiNPZU96I2ZRZ3hucykkYGY8Z3s9SihiVDBNMjtZZkg7NVpEPy1MJUEKK3pOK0MmWHFR KkpHSWY2ck9KPy0hfVY8MEEhaSlWPXpadD1qKXZhXz1tZiREdUBxUzdzfXlURiMmKn5GeWhfUEh4 OQorenpKandaNH4jcTF3TWQ5T2UmMGlQTiFtcG11aUw+YmwrSCE9S0Y5TzxweGhIel9IaihHTGhM VDIrQ25tQVh4Y18hCit6NkRJIWNkZGpReyNeTyhscENxNiUzR3s/KXZxUip4dzZ1MlRYdDk+XiRD MiNQS3MjalpPNGNLQCNVN3l3TTkyflAKK3pVMTs0QjkhJSV0NHdTR2hUeyYmSCFOJkwzR2hvJUhl OUNxVl47V3lYc2heN0AjPkpqbXZUYyUpZDxeYmE+N1FUUQorenBCVmJTbkR5WDdPNVVCTCFKazEk I0YkQ0VAS0lxNlVne2VAeyswTX5IZ3UqX1F5MkxnP1F7M1RNSDU0I3RgZFAmCit6bGszPzw+Rk8m dTdOQGRWKV5gdys0KnFBYnZVSVdmaHdTOFo5MnxPTTdSQ2w3aVVmQ1doKTRUOFchTnBGcXdeIVAK K3poRj9pRm1AfVNBLW9sNWp1QVM+WXpSQ2ZrPExNfU1EaloqNCNnb3swK30xXl4tO3JqKEE/ZCV3 TSY0PyZscExodworemAySXEyMVQxVGpMMD1fJWU5cEFCP1R1d1I/QH1ra3dEX3A/VFg8PGJRaUh2 Nj4yajducF8lc31Kd3M/SmlyQz8pCit6cFZud1g0SEc5fm0wITE2UmVHKEE0d29EOSk2dFg1UkV2 JTszNklOPEVoKm1zLWI9QHlNXm91Y2s7JlAoQiF2XmIKK3o2VClncz1GRCY+YyhMWThDcTFxZmFN Kz5qUyUxeSlEQj1VYCZFbGFBVn4tXyM2dW05fXIpNVpQLVh8ZE5rPFhrdworekcxbm1vI2xqQFli Sk58Kkk+b2A/RGlEPShyZlkqKXBwZUgzLW08fTwjKHIzb2x0NEF9Kk59X210ZiRoRWl6YXJ1Cit6 ZitwPXk+PUo/QSRzU3YxaUhsJk0tS2tqYTlWQWlYPHUxWk1ITmx7dDtQMFlTUUt3YGljdkxCP1Vw WihGXn41VnUKK3p7QkNwKUR7MXpMMndjQjhpanplaXIwZ0wlPlplVWxpTE5sNSZUe0JhOWglQU9I fCZTNjJTWVd9O0EmQzVAKEhyQQoremlIMTBZRHdXbDZtWSVvX1pVc1RkWT9MM1JPXjxyKURfdmFW d29TaVFpZklScmNuY2dKSyl7JVhLJiVCV1hjNTlkCit6TVQzU3Y9fk9oVSVEZ19kZjxtaXg7RmM9 R0VHZW4hbVMoZCFsdTdSPTROWHl3PH18S2J5UiY/PHNqVjV5STBQP1MKK3pEZXpIcDQlJVJ3anEo OyM8Qjc8fSNgdXJMNEk8fWR4PyN0cndYZG5HUUluVV4rSihod0w9QkgxKF9ZfDJ3NFE4eworeio1 ZXtAbXhQRkxFYHwwYSFCcSRiQE4oTnFVPXJpM3ROPEtJMjJ3ZTIkfkVVS2JTNGpMKXxiTyVFMUV8 K0Z9MFR1Cit6JXsxMHlAUjgleWJJR0EyKUcoZXZjaV5kTFctYmBpTSZQVHExQyZ8JU1tfnNfO2w3 ZDtkO1gjSTMmSSEqUXg5ZzAKK3pWVExxQ2ooY2dnSV9ka1NMVVJTU3g7TzVFWmJPWTlVTENRTm98 RG9CYWtkIWJRS0xpQ0JyekM2QyhwbU1wMExTRQorejNkZ1BTNTBwSiNzUFZiKmJVRCUtVz1CKz9S SX5EWEx5OHo4Q3pVUHk+OCZUSWItdFZzaGlFWEkxZktTMDkyQXFRCit6WEhSRU8lVU81fDIqcHMz XnI0PmIwZzNOR3Bqdyo+Ukx4RE1tbVZVek55SnJqd3s2K0UjJGVAWVA/VEQ1aTxAUUoKK3phQnc4 dVEkeUxZbmhCe1QoeSUldUxNOGNvSTx7PzdhQ0UmJTB5RVE8cTBEVUZ4ezJreTtWLXQ2V2lUWDJT JnpVPworekkkRSZtcWYtKT4hQW0oZW9xTHp4dV5EdzUoRFVBNnJZRkI8T21KUUhOZndnVzc2WS10 NXZuZmA2cHFlKEtISkleCit6YFpAP2Q+UDJeST13UkNreSpeQl9wKmQtT3RCfHVOUnxfX0VQYD9o TSg8Pn1qSVdmb0dOcFNud05ZfHJITCNObj8KK3pXdGRaQlVYfSZGSG9eMilfVXZQSV9pNTE+ODdO UWt7TiFhV0R1ZEtldlFRWnZSJTE7NHAhbDljMl5oaFNeeT9NfgorekEhMz9YIS1AcXxKZEhwWSlg SiYteCNIdH07dShMbzZUJm9+b0RJc0h3WjBGekpqVjB0NysqTTdGbzVPQHY9WDNrCit6aG9CSDVV YF84dUpmWmZCYCsmQn53dSpwLShMb30yIzJMJGdtTzhRPCpZO2xqYlBRemtjUzJPUUk9WSpXNyNn UzcKK3poJWRgR0Q2NV5YJl4mNzlDblU/cmBVSU19NEBVUEV1R0lfcXc/dTk3S0k7bHdFP3dkbEMt PlYzMGh+aHpEd30zSworej4tazQlYzhsfHcrOEI7OSR1TkVUbk80cURTVkY1O2Z7Wl5id1V4ITAj VEZgQFE4XlJ4KjVacT9KWmQ2bStLNGMqCit6IyNoY0VUM0E4cTBsJj0yNjF6WCZUYmkqcz0mSEl7 VllzX01AYUY5I048fjhXMF5USVEmRUkkamNnSmJXRk8+WEkKK3piPEhsbEokJjV0PUdJNmpfdC0p KDRyOEtmPXJ5RnZzRlVmXlloSDE+NWxqN2VYTVMxSTcoRiF1fEoyOTgtZUhaTAorek9MXjslI1dL TVRnQDZsRURhbEBrOzhhPUMka00yQT5MbFVuNUstUSRAfGI1bWkpPEhSWFdebUA4Z3RYd2pVTTtn Cit6U3NufFg5X0xrRTBaKChUeX02dHY2alhWeWFuQ0RUX3RZNTJke0p3M3ZkamdCOGpuTmRWRFlB PUh4WDI/Sz1nIUgKK3pYP0A5Zi1sZj9fQmBHQmBNYmdOTnhjNHJDcFMobkoqSnBqaV9KeVdiTF9A X157Yk0oYHMmRylANXt8Q3tvenpSYAoreip1ZTZiczV9S0RKPD02S01rWWM+NUNVX0JCPWRyQnRn JXJ3TX1MczBzU01qYlcpSVRMbSYlX3E4SGJlO0YlUVowCit6VlR5S3JWVW1UfFRHKmo2eENlIzNA fT1mKjFvfVNPTWRjc0MkTTxjZ01uanlCcD5kVkckZFMlcENZRXpXXl9rI0cKK3pHdVlxK2dOcjFv ZklnaTM7JXBtaGd2UHtUeiZFJW47SHA0djAhfElUViFIZWM4akRqJSNHZ1Q5dWI2KTsxRnFiaAor ejQ8RyhnZihoSClnPX4hTj5AfDF9WVYpV1VneV9jMGBFYk9fNnlEMEhYUGh3P3Q9I0Z2Z0U+QmN3 ZlhIX0VtKnBlCit6PmU2UGx6fkZfRjxsc2VCeEZMUyF6PVQ2JmJpfnh3Ozgtb1MwWSZwYldNKjxS RCNUfE4yXnFQOyZDZjxIVXp4cTIKK3orRl54JUJJcWN0b3xaTyZGZEh+YllkSG19V1QhT0p7KkpU d0lsOyM8bDlFeCl7TmQmX1g3fWs7QXdBP2hGNSplNgoremFuUCFhYFJOaWVhJkd4emY9RkdLc0Q8 d0lCd29ibCFUZk0yazRAPnNGTSNoYVBnbU5Od3hhSTNZV1p7NXM3Y1pyCit6KUB8KkQ9WCFINil+ O1lZJThpfT5OT3NlMXgjZEsjQit2WGRrNX5gfVE7dndtNk1JYjJZMEpOYCl2USVMWU81JU4KK3p0 SlNqM2hGSFFDMyRmRE1hI3NLK2BCND1aQ0djST5SdWRTc0hYJHU2d1k0OypfZTI5cjU9UHJPeGc/ Mm5JfTltJAoreml6bnE1dHtUajVTcjRBP1lERztNTz1IeTQye2JUfGlPUSFGaENqOGpEWnR7TFpa QUQzSk5KZElucVN8KSkyTjVMCit6dG48RVA3MGMtO0FqRH5wbUBCaEtzeWRNbUIwSFIoRzshazYo SU4yPUFxIUpYRUtteWcocWB5UG1ASTY+bkBOdDUKK3orT2N8SV4zZ1g/WDxYMkFaY3J0JG5ZdVQy SCZ7OFBMT2czdmxCdSlzdTwmeFlqc2tnVnRoIzVPVS03TyRvK2omSworemItIVNXeHdVLWwyYmo7 JkFfdmZeVyo2Yn5IbUtMNmlDcmBTQEQ8QXA5fTkwaSFDJCtaNnc4VzZHSCY2VmZUQD1oCit6dlhS cjxwXk9DTmEleTRiSFlUZ0pMfTFmbjFscUhvMWgpOHR4fjs+bXdrKjZ8N2x8P3kxVT4xOz0jcHgy LThRV3sKK3pvVEp2b3JefkIhUkxfZ1VTR2Zrd1IoYDQ0dkFzenIoRGdBQDBLbTt3UXpVUlZPeFBz OGpTaTYqYnRRQGIyaFlKdQorekZGdXFDSTFeZCRNfiZzR25fVz53OWh2Sz93ZnZ5TUhad1pDbUNI S29sek5EMWxBKEJ7PCZ4dXFjQm92IUtlJlJJCit6YWcoUE84N2wkNWtoeF9NIUFsVXJUdmZIZCh9 JHA9JktKM0VyekJUUlF5KkwjQ0pWUCs5ViFvclImdjB6VihRUygKK3ozV2VEd1Joa2BQMXxjI317 WCZEPkpfP3xMdHAtWVMhSzhyWWs7WCV0cnBjZmRsalpvVlYhVDNKc0syI2YjJWNqIworejBoUUFY MUE0eCE9eEYoSVpJLT5WPW8/R2NPJnZwIWIhPVI3dm9gMjQqY1IxY3BHfmJJSmIzP3NXdjViNlNw N0tECit6TlV9fjZTT35jYms7LSRJdiRGJkV2fUE8SkQ0R0pxI3NnKzl5NShuZGszKzVid2xzRT9O KWV0dDdhJXAzSEtGJkkKK3p6VV5YUGp6QlE4WkYpLWI3K3pJcEgwO2crUzFqP2F1T017a1Q2VUIw X1RGekNRQih5M1N3NCRnd1lsKDlgWVZrMworekhIfmVBcDJDQz1BfntGaCMyT1chaGp4eEkoZkMr VjJtNThVQEV7YmY3TG1laHNYWCtqTyRoN3NMK2ZZI3MwNy1OCit6NUQ9VkhzfUo/dyYjcjdecXRp T0ZXKEdScCVSQj5MI3RKTXFDdz9SN3pIZVFtdkF5MFM3d0UxUEpwZm1NUUZoflYKK3owYlR6JUtZ VjRTJCkkYSZhdCUpcmlBRz1vWWhsRGt3KWU8S2MwNH4mY0dHRkBRUWJgUFpxMmpfYCpHOUUlKkhN KAorektTRT5nYzdOTW8pOXgxZ2JEUHA3ZzxnRmxaeytOblNVO3BlempKZXQlWCE8THJ2bSVyYHhR eXBwYl9VWW8xQWYyCit6JWgraDAjcyNeRkM9PE49RFp0YUA8OHY1dll6MiYtJGtgdVBzMFp8cmJt emRvT3BoQUBkLXEwXlgyX19gRTVrV0IKK3pETDFzNTg2MXJ0YVojeU5yNl5+MG0rVmd2MWJtb0pG ezFxLS1IeEk2TDZiRXBNbiZ8MVF+VHt3JihtdyZxXlImMQoremNsM05iSCl9NU4wXzlNMHg5YjNI ZDJxOE9vS3tIflR+b1ZDdjt5O0w7eylGPGFLTyZ6aEdoaVNON1BRSXhtJipHCit6O0NiNXZnO2cj cChLYHdLcEooKllxeHE7NUpFSk1vMj5jNGNNKkVJPWBodyZHUkN8WnhRUF5DeEsxJjdCdW0mK08K K3pCXmxfUHNFUiQ+aSkwI0IzJVdkXm8+eEd0amZzYi1OSHRMXlhFemokV0FuSWJVQnxpKTMtV0s1 ck0tfmF5SXszdQorenJnd01DJENXZmZfU3xXe1dZMU48c0tLaDIqMyg/JE1kK29qIUZgS2VBaGZx PnlMVXApcEozdiEhcGJ9RCtebVJ8Cit6LXM9JCFqVilWbVQ/RVRNdTJ+eHN6MGIpU1d7SXloLU53 OFoxLU90UzJve25pdzxDMWd3eXtybk03Xy1MRHR0aHIKK3p4UEM/flhZUEhaUnQ7ZWVMSSVpcnVA UEE4XmV1TCNOS3Boa3JScVRrP29pZ2pRPUZiNEtVK1ckZ0FuYCp2Jn4+eQorel8qbndgN05eZipJ SHNkPTs1dUtVMjFpbykkcTUwcWUyaCFmMk18cCh0MzlALSttSWF5UGo/VXxeXjFMUjFHLXJlCit6 QngwUDQjYzlhOGs+OVk0MVNoXn5OVFkrcUE4Vj0yTjV+SWdSKWpFKVU5WHlzSUlFRSptN3p7O25C T0UpT0ZWO1UKK3paam4zclRvQjFeVHxmcD1FJiFabVNuIWRubiE+cDYqXnxzMEdhX3wldmhIeXRX cldQYXN1KDJ2b3FeZ1JycGRTQworeiNaXnJSR21tVytQVmI1ZXA0YG1zLXlkezZAIUZweVdvYnsl XllGQm1DNklueEtLTHBwWWc5UjhUWm97YT5TRH07Cit6V3ckb3lOO29ZZGlIamdlUXxJPWomQjZx eHc4UyN+a2Zyd0ZheTNFfGZ2dHl6WXJ+Xk4/SmxMKXZTUUFhbkZoQzAKK3o5MjV8YV92UChiWDE2 eCskcHs4bEhfbC1ZP14yQ0AlLTt3KkwkUlJ1IWErTGpibUwoSy1uLV5CV3lmN2peTng/cAorekA3 QTFEd3pnQ3hqY01ieE9ZQFIyJXNqV3NBOUMmfGtiMSRNMD9rJk48Y3VpaHpZUUtAcGxGcldVeEt5 ZTRCN21NCit6OElQUUl6an5KQmlTZ3Z8JEpTY2JLQ01uXnAlfjRVdnwxfWc9fG1Falc1TSFuekZY OUgyMjJiUXMmMTwrYz1XYFgKK3p2LVJVSUQ9O19TYnF0MVJuanw2XnUmRmkrSWVZS0xURkI0dnJZ OU8qamNiaFBgWmB0MmowZWpmYTlwSmJDfldNWAorel5wPl4zdGw2ekhqdHtTNCpvNnUrJUFfO083 R2hKQWBYel5nMlFNYztBMHhpaXZnYU5WbENeeUA+MEZaIzhoYkBnCit6WWVfP3NtYlMlM1V9ZX0w RWx4YGdtQ1hzfnBnQDtQe3dmdVl7NVROMHJzVkNFPXspbz9wfVg1bHVSTS0pK0FLT2QKK3pJMzY8 S3NvRVM5clphfGxQWlJBeWBwKTxZdyoxWHRMVz9WeihHITAqcFF8eEwxbHl7cWp9MW9XM3NwSD1K NStUOQoremt7eEAlTjFOTW84NjAmKkRLYDUlVW12OXdCV2ROPjFuZC0/M1pJM3d2QmdUS1ZkWWxF UyRIcSslV2o9NzlHQEhBCit6LWEqfm4kJDF2ZlhFfE0zLVE1fTctb2JjI3QyWnF5P0heeT1EJkZ6 dSZLRnRPelNfREt2WkBjRERAfiFCbylOa3sKK3ppKWl2dllxX3tYeTFBNzxlV0JyZHRKI282NSM7 VUctJFpAbUlSYWdFeSFFOX1waFF4Qm4qQHYldExWamBiXn1JSAorejw3YzFSU2oyJVBlR0kjVU9I PlNLcmVRMFYxKmNvcXIpNnp6QkI9V3BgMFRfblQ4Q0Ryb1pRIzsyV0Y9bTw/bzx1Cit6ZUgxIS1x Y0lHKF9mRnkwXnUxRX4lVEZ+e0JRMTZ8ZyVydkIhJW1WS3UkNXJnUFg+azJRczIwWmI/JH1ydlZL bXIKK3pSTWYlTzs/bXFuXmB6VVB4YXlHMGp1NyY5S0ZxKF5ZUSMldnMhR0B5dk5CRnhESGEjNT0y N2FXJD5WaWk9SnNsYQoreiVIbFNuQn5nNUBaezFXU0YqRDxwb24+dWhJUXlkWCp6c0o9bF5HSWJ0 OzhpS09Ne3hiPFdwe0RDV0NJJGJKPlE9Cit6YTZsKH5NP30zWFdjazIjSmpzPGtENj1ndEMyaXFV RFRKZHI2ajVMJmFIZzAqdWgtVUFubFJDUG5PMitiWkZzVksKK3pyKGZTU15yejhoZEJTYUMhTlZH aVh+SmJzVztQdSVNa3ZwbDN0Jj8+Tzl0aHh4S3lufjRxKU1GYFdYfkRPcV5obworejVsaHRYMVdh ZVRBclRmPzNoKEJAIXA+bSMmemZ0TVpHN1pKXl52UXZkbTZzTFlKTz1hM3VZR1VLKER3IztuOWp6 Cit6RiNBWXo8WCY+PSh2WFQ7VXxIcDZWeTVvWT1Ia1YwUSlzPHxgUGUlK3hSTDltSjZWO1J2KHVn TVNofXIjUkxWKDUKK3piaHtIekBVWHtOemxoY2p5PStNQ3NEISZMcz8taHBzWDUjbSFxeUM7bWok STM/YE1acCl8NDlNTyM+VFJjQHVwWAoreiZ6U0F6Sk1sWmFsRGpIRFd0JWE3X0E4VSNEKHNHaW9h LSt4ZFIpd18pODwpd3AjUS1yTyRoXiZSYSttdTgrXnQwCit6ZmBUcSlTYXlQaWc9e1A5JWdMLT43 fk8lPTFqaHxsYUZBZ3YtVngkI0xHbHo0eXpkcFZOTGl9aStLcTJlbiZhd0QKK3poR21+PV5PIXhq ZFpofXBNWUAqckdRTTtmXnJqKWk+UkUyQ1g5Rl5Pej9VOFlnWVl8eXdSZ3N3OWR7Q2F1b1Vrcwor emkrODRAQnN2KndXI0lDN0k0ViQtSloxMyM8ciZDKFctSG0oK0JyeXtJaTVUQXdIVCl+OSNvSn5Q cWBsblI/ZkxJCit6TC10K0BWUVU7MkV0YFU4UjlUeiMmR1Zifk9Zb1J9aU9aNUAxPj5rPjlNQTVa XiU+TGAoXnwhTiRKI05CMHVxZmYKK3o1VjQlN1AlRnpFY15eQVJ3MzYpb21iQF94JmReITQteUZQ PmtSMVBOWHZsMH4hVkY+Yz11cTk5OSk0UFRwRXBLXworeiVDVnlpOEUoVWZZdnk5RlpWRj5QM2Rp VmokXzQ4JTtEU2ZXekFCMUJ0dX02MXRDbU1XO3V1NH1MeiE9RiN8ZV5aCit6PlBFMlBiaUh6ZUF+ WSF7NFpSZHFHOGtybUdrZEhgXmZWfXN7WTZqMVktJi1JQStvTXFnb2dlQSVnWTQ2cGtCS3oKK3pV N2FMU3R3YWp5WExVJnxCZ01ecD4lRFNxU35PdEdmP0IoZnEkYGRMVmNOLXQpJWZ9ZllWbGZFWWx2 NFBTNGl+PAoremh8fURHOVI7PldsPGU/JUxgJGIoWl9GR3NYO25HLV84NlJhPyMzLVVaT3B2NDZM eXJ9JXIkaiZgY25wYmZaZlkqCit6Ky1wQ3Y3WWkkd0VFanNjTTJTfjVoKWQ8KFh1NjVTdVZ2YUhZ RVNrKVhRUSlSRzJHWXhVVT9uT1hNbnNfTDdIWUsKK3p6QnBwZW5BQzR1YT9obD8rZWxHRFUqQG90 djUtX1VJMU5sVjIyeW0jKF9KaFprNkQkJWROKF92Z0w9flUkJi1vQworekQ0aWNgdiYhLW8+JFcq Pj1mdklXdjxzblktSXZeSGJ8JD1wPzgmaFg0WiReRG40XjIqaiR7O3JYckFOT3IkfUFVCit6JWlg JHhDMTE/P1clOEhMYShZTmUjPEtDY0hTT2V0M1J2U2dxRSpWcHc/bCR1cFBscytaa2JAb3pzKG4l cWlPMk0KK3okPUV4Z1Y3YX15dFNibUBAK2BZdFoxTlkmc0pwLTMpaGx9OWRWYmU8bypqUHFrI05u djRXQnBPLTFLY1dRdUd0bAoremYjUChWO2x8KmEhPmhuQk8jeCFiQ3cmJE0hVkdRYzl9QUJmV0VT bEM0aVMwMTg8YWRkR2tmRmY2NVc5WlE4clU1Cit6VGdTME4jOWQwZmVidnFWY3o3S2Izfmk2MDEy aUo5RmwpNVo7RWBzP2FCJVVlaSRXV1gydU5VYS14LVMxXlA7IUYKK3pCOXNNK1B7LThSKE53RjQ5 VypBcTYydTg9ZiRvSXhLSmhwe2F5PDJUa3F9JDBgbyMpJjx2ZEYlczV0RHJ1ZW9iMgorek0+U2hg bk5KNEg0ZnFub2M9KWI0ZU57SUlxeTlAZXJJck9xZVc2KmpgezMlMWF1ZHdXb08/Y3FreEVlUGxT JFI1Cit6IWR3IyY/ZX00VlByJSpOaCl4ODNmXjN0Y296a3czS2BUS1BuOXc/YFRrfSRRSU9PXng/ Y2tDejxuNSEjcSNQISQKK3p0OSpDbXg7N3xmXiNzRWBTT3hzcjM/dypNYC1BZkFEQ2RWI0dOUTA0 KF5qYHlsMDU4WGNJM15MP2JXPDdGXmpMUworem87KkMzdDsxX005dDgjZmgjJigxQnRQa2UzaGM7 ZHJlfHM5eypQeXo4a0R0Y01qNnEpX0tWKWNYSHBfUjdwai07Cit6NXJQb213RkRiKE5IcSh9VXYq Wms3Qjg3QWQzbXZ+JHM/b0JCVTJlOz00S1hre2x5X1hvVWhsUlJXKF5tJjU9ejkKK3pFWCF8cnA/ U20xdSVVcG49PD4jJGVkZlImQDZwbytRT0NOeG52bGp2Z007TV9aMWFLP0F7Smcmam1sMGk2SjJV OAorelo7JkhaTmNRWTB2ZFctUzIpR2Z2V0tFezQ+c3t9XjlEbHlDY2UtMSViZ09CRj1yZVFrSlN0 NCZJNzROWlBhWH5HCit6O1NHbDxtY3x1JEsxTllzVF5kfmJPMzktRlg/N1I7KFU4aXNSLT1fNlpA Km1ENnppOTg+TUhCZlp9SE9aLX17ZWUKK3pOSVdfTkoqdmNZcDE0RWM8Wl9EMUpKdXJ3YyRDZl5J JkU2a2lhYV5DKi1WZjFhWHd3YTZAaGJvJDEmUVF7PXsxZworek85NWxTZzBPVjQraSpWS0FAXz5j WldrZ0NCNn1hVXspUDRfQX10PnNvTlRSflZEPURHKjEkPFFtfU80TD1lSi19Cit6ZyY1OXN6fVhC NW0lMHElJXplWUJyOyZeeE5kKW1UdVFpZztYbXl7aXN9VDVUdmR3YHZPNWBWa0I2YlU1R1pmYzwK K3ptaXl2Szs5QT5DdmROY2d7aypwXig+SiZATTFNdXJfPDJtZkNncElgc3orTjtoQjAxVGF+fWh7 MSZfVjJLM3FWZAorelAxIWJ2aFluXz5pTHBmWlFiNnNiNEdMZXZmKyhPQU1jbUcpRnlecmlOa313 VFpVbE1TVHd3P0NNMTB0JCRiT19+Cit6c0ZlQlpMeyVCRnB1bXBRIyFDZGdEblRkc1FXZnFfbDJl Tkc3e3lLa1hHdzVfZElnbHZkWDFPMnhDe0IwdUQ8dnkKK3ohbXJGZWdMITlAd01lTyhIa0BVclYh WnU4SjhmNjZ2X1pJciFaNXA1SVZlaFNqYXEzd04yX1ptSW11cmZPPkNyOworelRETmhramRObHY8 SUpQOTVzM01zblVBbk5fZTNDNipZJGB+SGZkWXwoO0hkOStIZGxkR0ktdEA1cX51cVp9fW9GCit6 ZW5ybXA+OW5WSHJtTTx3d1hjSGsyUzEpWDAhT05KcXFqbXFeNmJ+dz0yRjlQdmAlR3FQQkUoajNS bXhWb1h1Tl4KK3pzeCFvMVVoezdkb0JLOygpQ0dJUzQ/eVZvZylgPVchQE8+bms9c2BIbHVEfmNs NnYmd3FrUjZBUjY/JStHZFc3dworem8xSiVfM1poQUw7e2I1eDx4c1U9cVJkZVhfMDYkJnFuPlpD RGhxKXBLKD1gJjItSD9zTGlKUnEkRFE2SSp4PFNpCit6NXwzKE0waVIzcS1UNGdvREhHN29eUz13 UGo5S1hMMDVeZmRMXkNIU1M9al9ubUBkOWp2MkdiQDNWX1V5LTxiYHMKK3pXMGwzd2tpfVFCcShn anB5VWV9X0o7cTZHUCpvKXFlYlc/UmBPJGtoTTB5bzJeckQlcDdjWG1JTkdGJDRoVmspYAoreiZ4 ang3VT9UYClSR2owbzhGTztAe2RkUDExK0hVTDhHKVVUNSZtWHV2Nz9RSmtAWV99U25WfW1WTUwk MXJVUiMjCit6Z3liTlNxaHUqQkZUPEh1YF9NLVRvO0p4KmhecnclUTl9V0x5cV4ofVFuMj02TlUt NyFgaHZxaSFeUmZNMlolYDIKK3p4bnFMakgjVVNNJmtzZD5QUCVvMjg4YnNATCYjdHsqYVp8Jihy bUBzODNkWXs+dkQmVXY0YHMwUWJvY1UhUHlLRQoreiV3aWk3TEM/fCRyV0MwcFV9fCZGcFleTm5G OFdrejYwPDAtRD1gaDI9SF4rXl5ydmRIUzJMP2RzV3ItLUJFTSQwCit6eiVDTCk/VzRlPTRYUyg3 b3JmQ0Z7SF9pQl58Nj9ZU347d1ZKcmYkcWA/UDEwUk1iI0x0WHN4a1diSk07cXFZMEIKK3o4bDN7 clFmWFR2ViNBRD9FMms/cz5nMkp2Rn59JSU2Q0k1QDFaPnlPNCE2ej1XK2Jsaj5SZ08oTyk/S2A1 YDAxMQorek1JYj9PXzd+Y1NaU3lUP1BafiF9dTxicEBAJiEhYVpySH0+cU1rP3YhT0hOXl9Ae1JD diU7JCk1UkBFNEJeN3FrCit6JFhmTnJgZnNedFdONytwcik9JFcoRE13OD1rVG02eiEweEZEd3tE YDRQPzAzK0k4Vkw/bUJyeEtfUk80dT1McEQKK3pUQDN8S2dIQHdyRjIpS0NEbUxVMkFhT2ZBS1g5 el8lYVo3QWFjcENVJTxaK0V7RzRGKStXT09yQjF2dSRWQi18fAoremNRan5XZDxPPyppO3Q8KVIx djdOKDYzIXNLTTh3bm0hUDl2Y3Q1KHMhdUwhaWRiQWx7bGZnZ1B2Q1RsYzZ2SW4yCit6I3N3cC16 Ryk7N2MoTW8yQiE0Z00tbGNkTl87YGR1bEJvSz9xajsmdmRPM01qOCFCajNye1RzKDAoTi07JSZi akoKK3pkSXdIJHN2N0l+UklZaUdoaiohJGJ9SigzJDt4VHZiMlNoP3NGcld+KWs4VDJpO3Facj0l KWQ4I1FBfj4wSEZTcgoremJYQGN0NE5RJmZ8RmtfbTY9fkhVYmxweDtaTHl6V017YztMbFFZVlVS ZnZod29URnMxUEg/c2w8ZiN9WFRuPlNiCit6cT1SRDx1Pn1tM3pXPnk4e3N7MFkpc2lhZE4+PzdU YyslX29ZPEktYHYpUEpZOFg4OU8+X2tOVmF9TmptUVlMcFEKK3oqeEk2TzJaPGA+X0Q5fGt5OVk3 elctaSk/cX5sYW5STHt1QEZ5YXVxVClmM3F0VW1RY204MXtIU1luemBmaiVqbAorej5obiR4d2wh YFZrTS1PQWRgRzhONShQeTxOOTlPSWtNaERUQlJ5NklifDN4QlN5WkxIRSpRO2JoblooeWdLRzBk Cit6LWJCeX1OeSlIdSM8e0lmO3lyTHNVP29pdHZhb2IhZG50OzdRZiZifCpVYGtMX0ZrPWpgdEMr THkkYW5wWkl5Yj0KK3pNPikme3c8Jm9DV0d8e2pPITdQe1NpTHxFQyt7K2hrKVpqclFaO3VMKCh1 RVlkRVVWJGpZTCFQNT13Yi1wQGNAZworekpSVWQ2Oy1gVyghZS1aRDRSY19zTDElX2cqeFZUKGVE ajdDQ3VlQz9Ba2pZemhDe3RuJnd8ZkM/XzcqKmJHaihFCit6ZD47cEZOM3VLeXdlNkE4O3I+YlEq PHNgSm44STY4JU5DLVVYKHxhMWApKWAlSzt3TTVEb1JnZTxoRE9TY3hQcjsKK3pLfElUNWNTKTYo KDQjWStuQD5kVFozQH0xVjhNcXVBd0dhZWpIKjZHRXI/a1lLdn0jaE5zMEg7aVZkYmZSKFJIXwor eiVfald9aiZUbGU0VmwzcE5WbSZVNyZCPl5jUjRaPkdrNGI9PnNUOC1lTFFTblU+UmhWWFVYTHFS bTJfIUsmND1sCit6SlB3Nj0qZDFKVkQkLVV8eHImZnVNckZualk0fiVoezkxZnNIKz9mMiR4Q1ds KWwlbzhDOGRJYHZvUlJuZyYtUlUKK3pvRDQ0WVBEVjlCXjE2WTkkVWJaVUgwITc1IUpyPm9oKXVt YkIqelhCamkhS2F1O1ZoNjdvX3R6dnJTRllLezRtZQorejBkODtgZ1FYWGd3SVQxMklNKlVrYnQ3 M3dLKE1LXiklfVNBbzJ7JnZ0SW8hWGFDI0pGSX4yaX1EJUdaYXRPYDZmCit6YV44cTd3cTlybUxW bXomZ0s/U0JDKl4wZUF7fXYlPl5IYE4oYEU4ISoqUV9iN3xXKF9WfFc3eTkjKExDQU48VHsKK3ok SFk/X3kmSHR+aj57bStuUkpEMkNuV0F0QH5MVygtNDI3IU1yOUE7WWNtWU1RQX0rbi11UlY9e3xF JjdHcFFHOQorejJPV2V7RFB3REdMR1ZzKFl6VWgkens0WCFWI0FDSTAjVV5HSHQkR3poQFlPflE1 dTxwaUVDfTMkPyUjMjIrYDRmCit6PG5PXyZDY0hEU0wwSlR5Y2l2RjR2XlhvfWd5ITAhUXN8QE5j fjhfT1Mqd01TOEkzSll0QlJEbVR3VXVIUkJFNHMKK3pGcEFBbmNobFI/ZTZGUHpkcnpKV0tUWSV3 d01kKENGcXMlKDImOXpaMUN0R0JXMjNyMHRmVHxCZlVEbyohQD4rPAorelFuMmZJNHlMVC1PckxY Tz1pOFRMKXB3a3RlTjMyeGdUQGdabmkhdjFuWXhybmw9KylHU0w/cHUhUiVKPV9YKzdrCit6NiF8 eDJTIS1FQUY8KGt1b2BgaHRqaV5IbCRrbW1HZkx2OF9tdFo8WlpndFVJTk5ILV8qeE54KWs/blFs IWNeRXYKK3pMZzlmNVVeXjBCdmZ7M1RWOylLem5tPWBePHBtRW9VOXpoY0FQR0tLXjxyV3MkNXIz dTlvIVhHVX5hdkxxVnJedAorem0wUmJxX1J+R0BkJn5MXmlefHFrclEoeVdPKyFkbzF4eyZBakVo Nzl6NFUkIXc1IWEpTkheNH1ITThDJj11OXZCCit6WUprVitxPEtKKCNEcHN8dGZHKl5NUSVDLXJx N14yUGtjfXNhanphVE8+bVlKeXh9PiFmQUtwQm09TFApdXh8ZysKK3pNO14kaE9zbTE0JDcobVVe VktNVjA/Z2c9Qk8/MmxhJTUycz1RX3B7JHsxVXB6SF5OaCFhQllSQXE7P1J1QndrYQoreiVwS2dg ai13SSUhdEMpaEErfVk4anJseEozQmkpJGwpNXd0aXsyRmh3QCRZUC1peCV+JHBkdX0hWT1Edj07 WTw+Cit6K3g8OGZiLW5hdiMmO3NEYSMjTk5FOWpSQSEpJntqVz0qWX53bGgjb0Q/MH0zcWFPemBJ QEB8b2RxPHswUTdVbE8KK3o3PE5POHViQW9CaX5TaDVXazByXzdxPz1AMUB+UUQ3cHxNWmczTzdn PSgpPmd4dUV4dDgkMyVgXjNSYyZxN249bAorelQ7Pl47PEpzODhUSXNoZDRUYkVneSp+bSFsJlV7 bnEzP0RTNk5QN0RjdzE9dWlZYCNyd3EqdmhfVUwxNTR4eXFFCit6I2A9NXRJPz1TaXBvcXJ8OVhV dkFqIWREdkEkQDN9a19neEYjPlhkKVZgY1p6dTUmKXQyWUJOMUJjM2l4OUFyfW4KK3pZYi1MQUBt ajN1eHdGMipuP1c4MXdnTUF1Tz5qQENUdEFyUzIqXkd3VjUwODZLKmdNWXE3OzI1dU9hOVEyUFVE JAoremR6N2lwM35jZShRal9pMTdDSndmV2EqeXI/eXpFV1k0ZjVZUXVtI3V2R3s/Rj9YZnwmJj1J QnheUUNRTHs4PnMxCit6YkRaOXU+dlZBb0xQT2c0V0h4MjU5Mjs7ZitHQFFYPGMkaSRlWT0tYFlj VlQ0Mz1NUWs8MjRzJi1uJWllQ2oxTHEKK3p5SzNnVCF9XiE2VWFmRCskaj88e0pCQk8zcVZSe0xW MHFleEVCN2l2QUMySV5yI1Z3QENTe1Y8N2AmTG94WT00LQorejNwaDNIZjxGYV9WNkZPXyhZWGw8 eGFAVXRSZCFSKk48eVA/Q25tKXtZTVE3PUVqell6dVZAVC13Pl8xR2x+UUVWCit6X1dES2MmQitu b0Bud1A8TkdrRlA+IVByYWFJeUdpQFRZWS0hRXAyO3tKVHxFJT54aGRYNXVpNlN5JUhYOylvVEMK K3o3eCZtVm1HSj8wN3N5PENuPXhOI0hyaGchNCVgWGVVfnwyfXRtYkVZTmRYelp0WGRLXmJQTTxK UEh6ZnlgNzlrYworems2PDJuITJ5JTVqKmdYe25ZRTQlMTh+XjA1KTEoQm5hWSpRKlVRTmo0Z2Rt djJKRkhReyZtNihUV0FZI2BUKUhECit6ekRFI2pvRXx0WUVAfkx8cHkoaCVrQntpKk5Hb0pGazlV R0x3QHBSMkRfWj5BYlZUaG4lUHteXj1sJndfVS0oflYKK3owbFQ0cz9vfk9zIXYrJWJWUTtyb1RW e0pUNjw5a2pEYD9TQ2JHJjZVdGVLRD90dnBlRjZSNyYoMzh7MEJ5QnFKKgorellIYDAqT2wwM3NY ZEBWdV51aj10NDhkbVIweWYrP3o/YmRSMEw3SnY2T05TPVBwRWlSaD5xK0xTYT9kTVAhQSNHCit6 QnRidzQhR0lNbEBhSm9GQHQrVUJ8QTdLdnxOYVJYdXEqS09xbldpY3UpdXglVG5QZElfTy16SFpu P2pLe1dlPDEKK3orQSZ4aHFhNXxFS0NvaTgxeF9TRHtUJlJiOG8tQl9VKHRSQyk2cEBySGdvKTRs fFdvIzwtZiZzME9BVGdyYzMxbQorekJGRj07aHEoSmR3bSkhej8/T0E2Kjt4TilpLTVTYWV+PGdA d1lhIUBeQDNJPXUmZ1RKMFJZZSskbTxIYyVse3FNCit6entiK2okaVZSJTxSNUpPeDA/OGhPemk+ ZCs2Ml5zS0dPRlJUVmo1TFktTVh7PFlAR1YjUSVXbjMpSUFVb2s9N0kKK3pLSmNESTB7fXBOQWg4 U1p6a2Y8PlpFUi1wMlAkeXBeNTUtUzVEKnBlJTNuNEZfPy1xYkpwaDM2MFFHfE5UVTE5UQorelNJ MGtLNzVeVWdzfWkxQzZQI1pHbH40ZHcwPlQ1Pkw3PzZKRjA3SFleQjw3XnU+THJwcXleSDhmIVhp P0tzeGRGCit6SkJCUng3b0A5IWs/cSRGYD5pK3orSmZ+ejN0UCk+SVVOV0cwMn4wM0FLRG5DKTtH dlQyMlBIQGtBPyFgeyk1Q3sKK3ptN3dxUjd+YHV5VHFBdEhWPjcwSTsoanlRPGt3SlZGKUV7aWYh QCNzeWJ2RiNIcGNvLSlVUDR5QTllZCVERUtOVgorejViRHBMS1FPPF95ZW5YOF5DI3dTR2JldEYy KjByVSNTX1R7Qk9xIWdAV09jQFhZcWV3ZWpnWnEwVWkmZ0BZNGN0Cit6V1h1NTJCcCQrPitJfXl4 cDFwfmE2fG12aEtXZ04rYz1sQno1Kz4pPDxpTEhhQXAtenF8MUNLRjdTRzswZUdoTTcKK3oxTUZx P213V3R6QEZeNnhSIy1yPGxWU3FedXBYY3pgK2tyOSY4VXhtSGpvNk1xZDRPJlFrNEtaTkRRSFVa X2NoIQoremV9UC0tSVUzdjhUbTdMRD1mOEs4Mz9TfCNWPCNwJjRnZ0BNXm5JdnNPOGc3Zy1wMGdV P0AhcDVlLUIjP2duaE1vCit6LTtjfSUwTmhvNDU4RFUpJitubmEtcyRWQnFrbFNlLXJ2TDQxN1I9 V143MCFvMDAxRj0wMDhOTWltQ1NoZ211KCYKK3owRkZFVm4lSUc9RSZxR2E3OWduSFNnPjlRUF9A MjVMOzFyYGV6T1YmMiNgTnliI2dTYmB+JFAqWFBDZEBkIVVHYQorelZnamRaOFFSJFlnWVckcV5B RzN2PmZqJDxPOGdoKkZaPHEpO3J9cS0tQC0tR2Y1OTdESSsrPW9JbEJGVz8wPFApCit6dlA4VXs4 Qm9AQzs2P2dpPE13X0l7PnpLX2k+S3tLMFRDRjYwUmd+XjxeZkxgKClXNyphfW9NXzF7Ti1RX0ok NHkKK3pIZGVOSnwwYlhxcCghQX0xZVBwWno/ZW4mZmJJcUlQd0F3QGcreWMmTWdDKSt6WXRiKGk7 R30hZiMkaEteN1NGYgorenc/UnQ8P1dZYDhkSXFMdSo4ZzBJe0NOOEBmMmE5dmB9Xj58cj9FNzBI M1A9U1UqM0ppK1pLdGhIOG00Wk8lSW9WCit6a04tMzV8NiVpdzI2fTheZkR9VCY1S3MwJVEmeG1P cVg5bkooUjB1LUcmQUAmK1lWKVNkWG9hUUZlJWBnczImaUYKK3psS3p5KShiMyphLV50UEYtOyNZ IWlZditqKzg4T1k9cGNBVk0pb3RaZV8+KVB6ekZ6R1JhKUpFMDA0T0ZebkRkSgorek8hKzs5Z1BI M2VhcSNOaiNsYiUrXjUzbExtR0prLVpoQlVoJSllfD8rOGdNYFJLVHhNODdhVEVSUWxFfWhKSiRs Cit6S1VtWlI4NDVadCg0eDQyU0AkN3s5Qn1We1BoLURfQCEhUCU4YldPVG5Cdyklc3JfcUpHVypJ Yz1tdUNmYU9yO14KK3o4YHRFMU1xPSZZWHp5aDM/PCFZJnRNUSNTcHY2dURpITF5RzhzcFJkM0Q0 SXh7anVBPjVVVDE7THlSbmQzQE5+eworel4zWVYzNFMmcEY9d3hPNGA7Km1RUWBWTDhXUExvYW1w cDBDX1lvSntfe1M3UlIlVldXYmZ4X0Bqd080ZXN4Nj8kCit6LU5Tc1pEQ24wejtyTWdEPzV7Q0E5 SyFqbkBqbW5XMj9ObHxlam15Q1laUnotYnVxS1I3LWIxRy0tbWxxPT5LRGkKK3plfF4qUGFBNHVM dDVeY2dHNW5FdHs1OEp0KkFgTDVqPyt+TW9TTjVaQGNra2gxQW9sJHVMfHEwLWp+U1RPe05jdwor ekJrS1BkUTFJO3tkZ0ZnZ0B5KW5gVXQ3aGFBbmA+ZFV7Mlore0AlZztRaCFHQXUkJUkpQHFsdz0+ VSNuITEkZn0/Cit6JkJKS0xUS0ZAYlorZyFDOFZSbVNBV2p1STAxKF4leSN2Qmp7Z353MjdCUm9a cGBGQnJ7Mm1QMFB5YHFpQUp6LWwKK3p2cD9aQGN1TTJmWGRYVGd7JndwVDdKcDNoJkV3Jn1xeGYt RV4pVVpNRmFMO3c8KEtteHJ7MjlQNjN9aH5EOEFxOQorejwpMHdgNUJhYWxvTC1YIzcoaF98RUJ7 R3N7YUYwfUFeJG1WcXdvI15jWHxacTxQWXgrYHUyV0NeMXROMmA/blRDCit6VS1SR21mOTFjNmA9 OVhxJWx3eWVvVmoyTFdYU2xoe0QlU3hgaCRTVF43dm9wemY4b0hOQyNsMz5kRUB2e2w+dDQKK3pP ITRwWS1AfVJPLX0qJWc7WkhkSi19MnU4JHhqJm1aVEA+V2Yld30rdSMqM247e1AlS25Oc3xpO0B7 QEtoZmB5fQorelU0I2hMan5WYFR7KENyfT1VV09zXzgoTEg+LV9ne2UhI2FCQXBBZTBfK1JxaCEh RTFlQCg3OWxqT1NuSHpsVGxICit6ejlxU298MXJ0RyZ3bWZrQzRTMj4/ZmVzdHxLSSVBP2Z6cSRV KEEyTWVJTjdSaGg0czFpTEJTMzZjM0tSMFEyZlUKK3RKZW00aHdMTl5FX1pQMHUlWFVBfGhmbnVA bVole2hmej5mVTlRZXpMMkxSLX4xe1ZCKXt7dFooe2BDTD0KKworZGlmZiAtLWdpdCBhL3Rhc2tz L192ZW5kb3IvcGF0aC5weSBiL3Rhc2tzL192ZW5kb3IvcGF0aC5weQorZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAyYzdhNzFjLi4wMDAwMDAwCistLS0gYS90YXNrcy9fdmVuZG9yL3Bh dGgucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDE3MjUgKzAsMCBAQAorLSMKKy0jIFNPVVJDRTog aHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9wYXRoLnB5CistIyBWRVJTSU9OOiA4LjIuMQor LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENvcHlyaWdodCAoYykgMjAxMCBNaWtoYWlsIEd1 c2Fyb3YKKy0jCistIyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CistIyBvZiB0aGlzIHNvZnR3YXJlIGFu ZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVh bAorLSMgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRo b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cworLSMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorLSMgY29waWVz IG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3 YXJlIGlzCistIyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBj b25kaXRpb25zOgorLSMKKy0jIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCistIyBhbGwgY29waWVzIG9yIHN1 YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKy0jCistIyBUSEUgU09GVFdBUkUg SVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVT UyBPUgorLSMgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCistIyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKy0jIEFVVEhP UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMg T1IgT1RIRVIKKy0jIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs IFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCistIyBPVVQgT0YgT1IgSU4gQ09OTkVD VElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI RQorLSMgU09GVFdBUkUuCistIworLQorLSIiIgorLXBhdGgucHkgLSBBbiBvYmplY3QgcmVwcmVz ZW50aW5nIGEgcGF0aCB0byBhIGZpbGUgb3IgZGlyZWN0b3J5LgorLQorLWh0dHBzOi8vZ2l0aHVi LmNvbS9qYXJhY28vcGF0aC5weQorLQorLUV4YW1wbGU6OgorLQorLSAgICBmcm9tIHBhdGggaW1w b3J0IFBhdGgKKy0gICAgZCA9IFBhdGgoJy9ob21lL2d1aWRvL2JpbicpCistICAgIGZvciBmIGlu IGQuZmlsZXMoJyoucHknKToKKy0gICAgICAgIGYuY2htb2QoMG83NTUpCistIiIiCistCistZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCistCistaW1wb3J0IHN5cworLWlt cG9ydCB3YXJuaW5ncworLWltcG9ydCBvcworLWltcG9ydCBmbm1hdGNoCistaW1wb3J0IGdsb2IK Ky1pbXBvcnQgc2h1dGlsCistaW1wb3J0IGNvZGVjcworLWltcG9ydCBoYXNobGliCistaW1wb3J0 IGVycm5vCistaW1wb3J0IHRlbXBmaWxlCistaW1wb3J0IGZ1bmN0b29scworLWltcG9ydCBvcGVy YXRvcgorLWltcG9ydCByZQorLWltcG9ydCBjb250ZXh0bGliCistaW1wb3J0IGlvCistZnJvbSBk aXN0dXRpbHMgaW1wb3J0IGRpcl91dGlsCistaW1wb3J0IGltcG9ydGxpYgorLQorLXRyeToKKy0g ICAgaW1wb3J0IHdpbjMyc2VjdXJpdHkKKy1leGNlcHQgSW1wb3J0RXJyb3I6CistICAgIHBhc3MK Ky0KKy10cnk6CistICAgIGltcG9ydCBwd2QKKy1leGNlcHQgSW1wb3J0RXJyb3I6CistICAgIHBh c3MKKy0KKy10cnk6CistICAgIGltcG9ydCBncnAKKy1leGNlcHQgSW1wb3J0RXJyb3I6CistICAg IHBhc3MKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIFB5dGhvbiAyLzMgc3VwcG9ydAor LVBZMyA9IHN5cy52ZXJzaW9uX2luZm8gPj0gKDMsKQorLVBZMiA9IG5vdCBQWTMKKy0KKy1zdHJp bmdfdHlwZXMgPSBzdHIsCistdGV4dF90eXBlID0gc3RyCistZ2V0Y3dkdSA9IG9zLmdldGN3ZAor LQorLWRlZiBzdXJyb2dhdGVfZXNjYXBlKGVycm9yKToKKy0gICAgIiIiCistICAgIFNpbXVsYXRl IHRoZSBQeXRob24gMyBgYHN1cnJvZ2F0ZWVzY2FwZWBgIGhhbmRsZXIsIGJ1dCBmb3IgUHl0aG9u IDIgb25seS4KKy0gICAgIiIiCistICAgIGNoYXJzID0gZXJyb3Iub2JqZWN0W2Vycm9yLnN0YXJ0 OmVycm9yLmVuZF0KKy0gICAgYXNzZXJ0IGxlbihjaGFycykgPT0gMQorLSAgICB2YWwgPSBvcmQo Y2hhcnMpCistICAgIHZhbCArPSAweGRjMDAKKy0gICAgcmV0dXJuIF9fYnVpbHRpbl9fLnVuaWNo cih2YWwpLCBlcnJvci5lbmQKKy0KKy1pZiBQWTI6CistICAgIGltcG9ydCBfX2J1aWx0aW5fXwor LSAgICBzdHJpbmdfdHlwZXMgPSBfX2J1aWx0aW5fXy5iYXNlc3RyaW5nLAorLSAgICB0ZXh0X3R5 cGUgPSBfX2J1aWx0aW5fXy51bmljb2RlCistICAgIGdldGN3ZHUgPSBvcy5nZXRjd2R1CistICAg IGNvZGVjcy5yZWdpc3Rlcl9lcnJvcignc3Vycm9nYXRlZXNjYXBlJywgc3Vycm9nYXRlX2VzY2Fw ZSkKKy0KKy1AY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorLWRlZiBpb19lcnJvcl9jb21wYXQo KToKKy0gICAgdHJ5OgorLSAgICAgICAgeWllbGQKKy0gICAgZXhjZXB0IElPRXJyb3IgYXMgaW9f ZXJyOgorLSAgICAgICAgIyBPbiBQeXRob24gMiwgaW8ub3BlbiByYWlzZXMgSU9FcnJvcjsgdHJh bnNmb3JtIHRvIE9TRXJyb3IgZm9yCistICAgICAgICAjIGZ1dHVyZSBjb21wYXRpYmlsaXR5Lgor LSAgICAgICAgb3NfZXJyID0gT1NFcnJvcigqaW9fZXJyLmFyZ3MpCistICAgICAgICBvc19lcnIu ZmlsZW5hbWUgPSBnZXRhdHRyKGlvX2VyciwgJ2ZpbGVuYW1lJywgTm9uZSkKKy0gICAgICAgIHJh aXNlIG9zX2VycgorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLQorLV9fYWxsX18gPSBbJ1Bh dGgnLCAnQ2FzZUluc2Vuc2l0aXZlUGF0dGVybiddCistCistCistTElORVNFUFMgPSBbJ1xyXG4n LCAnXHInLCAnXG4nXQorLVVfTElORVNFUFMgPSBMSU5FU0VQUyArIFsnXHUwMDg1JywgJ1x1MjAy OCcsICdcdTIwMjknXQorLU5FV0xJTkUgPSByZS5jb21waWxlKCd8Jy5qb2luKExJTkVTRVBTKSkK Ky1VX05FV0xJTkUgPSByZS5jb21waWxlKCd8Jy5qb2luKFVfTElORVNFUFMpKQorLU5MX0VORCA9 IHJlLmNvbXBpbGUocicoPzp7MH0pJCcuZm9ybWF0KE5FV0xJTkUucGF0dGVybikpCistVV9OTF9F TkQgPSByZS5jb21waWxlKHInKD86ezB9KSQnLmZvcm1hdChVX05FV0xJTkUucGF0dGVybikpCist CistCistdHJ5OgorLSAgICBpbXBvcnQgcGtnX3Jlc291cmNlcworLSAgICBfX3ZlcnNpb25fXyA9 IHBrZ19yZXNvdXJjZXMucmVxdWlyZSgncGF0aC5weScpWzBdLnZlcnNpb24KKy1leGNlcHQgRXhj ZXB0aW9uOgorLSAgICBfX3ZlcnNpb25fXyA9ICc4LjIuMScgICAjIFhYWC1NT0RJRklFRC1XQVM6 ICd1bmtub3duJworLQorLQorLWNsYXNzIFRyZWVXYWxrV2FybmluZyhXYXJuaW5nKToKKy0gICAg cGFzcworLQorLQorLSMgZnJvbSBqYXJhY28uZnVuY3Rvb2xzCistZGVmIGNvbXBvc2UoKmZ1bmNz KToKKy0gICAgY29tcG9zZV90d28gPSBsYW1iZGEgZjEsIGYyOiBsYW1iZGEgKmFyZ3MsICoqa3dh cmdzOiBmMShmMigqYXJncywgKiprd2FyZ3MpKQorLSAgICByZXR1cm4gZnVuY3Rvb2xzLnJlZHVj ZShjb21wb3NlX3R3bywgZnVuY3MpCistCistCistZGVmIHNpbXBsZV9jYWNoZShmdW5jKToKKy0g ICAgIiIiCistICAgIFNhdmUgcmVzdWx0cyBmb3IgdGhlIDptZXRoOidwYXRoLnVzaW5nX21vZHVs ZScgY2xhc3NtZXRob2QuCistICAgIFdoZW4gUHl0aG9uIDMuMiBpcyBhdmFpbGFibGUsIHVzZSBm dW5jdG9vbHMubHJ1X2NhY2hlIGluc3RlYWQuCistICAgICIiIgorLSAgICBzYXZlZF9yZXN1bHRz ID0ge30KKy0KKy0gICAgZGVmIHdyYXBwZXIoY2xzLCBtb2R1bGUpOgorLSAgICAgICAgaWYgbW9k dWxlIGluIHNhdmVkX3Jlc3VsdHM6CistICAgICAgICAgICAgcmV0dXJuIHNhdmVkX3Jlc3VsdHNb bW9kdWxlXQorLSAgICAgICAgc2F2ZWRfcmVzdWx0c1ttb2R1bGVdID0gZnVuYyhjbHMsIG1vZHVs ZSkKKy0gICAgICAgIHJldHVybiBzYXZlZF9yZXN1bHRzW21vZHVsZV0KKy0gICAgcmV0dXJuIHdy YXBwZXIKKy0KKy0KKy1jbGFzcyBDbGFzc1Byb3BlcnR5KHByb3BlcnR5KToKKy0gICAgZGVmIF9f Z2V0X18oc2VsZiwgY2xzLCBvd25lcik6CistICAgICAgICByZXR1cm4gc2VsZi5mZ2V0Ll9fZ2V0 X18oTm9uZSwgb3duZXIpKCkKKy0KKy0KKy1jbGFzcyBtdWx0aW1ldGhvZChvYmplY3QpOgorLSAg ICAiIiIKKy0gICAgQWN0cyBsaWtlIGEgY2xhc3NtZXRob2Qgd2hlbiBpbnZva2VkIGZyb20gdGhl IGNsYXNzIGFuZCBsaWtlIGFuCistICAgIGluc3RhbmNlbWV0aG9kIHdoZW4gaW52b2tlZCBmcm9t IHRoZSBpbnN0YW5jZS4KKy0gICAgIiIiCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmdW5jKToK Ky0gICAgICAgIHNlbGYuZnVuYyA9IGZ1bmMKKy0KKy0gICAgZGVmIF9fZ2V0X18oc2VsZiwgaW5z dGFuY2UsIG93bmVyKToKKy0gICAgICAgIHJldHVybiAoCistICAgICAgICAgICAgZnVuY3Rvb2xz LnBhcnRpYWwoc2VsZi5mdW5jLCBvd25lcikgaWYgaW5zdGFuY2UgaXMgTm9uZQorLSAgICAgICAg ICAgIGVsc2UgZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5mdW5jLCBvd25lciwgaW5zdGFuY2UpCist ICAgICAgICApCistCistCistY2xhc3MgUGF0aCh0ZXh0X3R5cGUpOgorLSAgICAiIiIKKy0gICAg UmVwcmVzZW50cyBhIGZpbGVzeXN0ZW0gcGF0aC4KKy0KKy0gICAgRm9yIGRvY3VtZW50YXRpb24g b24gaW5kaXZpZHVhbCBtZXRob2RzLCBjb25zdWx0IHRoZWlyCistICAgIGNvdW50ZXJwYXJ0cyBp biA6bW9kOmBvcy5wYXRoYC4KKy0KKy0gICAgU29tZSBtZXRob2RzIGFyZSBhZGRpdGlvbmFsbHkg aW5jbHVkZWQgZnJvbSA6bW9kOmBzaHV0aWxgLgorLSAgICBUaGUgZnVuY3Rpb25zIGFyZSBsaW5r ZWQgZGlyZWN0bHkgaW50byB0aGUgY2xhc3MgbmFtZXNwYWNlCistICAgIHN1Y2ggdGhhdCB0aGV5 IHdpbGwgYmUgYm91bmQgdG8gdGhlIFBhdGggaW5zdGFuY2UuIEZvciBleGFtcGxlLAorLSAgICBg YFBhdGgoc3JjKS5jb3B5KHRhcmdldClgYCBpcyBlcXVpdmFsZW50IHRvCistICAgIGBgc2h1dGls LmNvcHkoc3JjLCB0YXJnZXQpYGAuIFRoZXJlZm9yZSwgd2hlbiByZWZlcmVuY2luZworLSAgICB0 aGUgZG9jcyBmb3IgdGhlc2UgbWV0aG9kcywgYXNzdW1lIGBzcmNgIHJlZmVyZW5jZXMgYHNlbGZg LAorLSAgICB0aGUgUGF0aCBpbnN0YW5jZS4KKy0gICAgIiIiCistCistICAgIG1vZHVsZSA9IG9z LnBhdGgKKy0gICAgIiIiIFRoZSBwYXRoIG1vZHVsZSB0byB1c2UgZm9yIHBhdGggb3BlcmF0aW9u cy4KKy0KKy0gICAgLi4gc2VlYWxzbzo6IDptb2Q6YG9zLnBhdGhgCistICAgICIiIgorLQorLSAg ICBkZWYgX19pbml0X18oc2VsZiwgb3RoZXI9JycpOgorLSAgICAgICAgaWYgb3RoZXIgaXMgTm9u ZToKKy0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkludmFsaWQgaW5pdGlhbCB2YWx1ZSBm b3IgcGF0aDogTm9uZSIpCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBAc2ltcGxlX2NhY2hl CistICAgIGRlZiB1c2luZ19tb2R1bGUoY2xzLCBtb2R1bGUpOgorLSAgICAgICAgc3ViY2xhc3Nf bmFtZSA9IGNscy5fX25hbWVfXyArICdfJyArIG1vZHVsZS5fX25hbWVfXworLSAgICAgICAgaWYg UFkyOgorLSAgICAgICAgICAgIHN1YmNsYXNzX25hbWUgPSBzdHIoc3ViY2xhc3NfbmFtZSkKKy0g ICAgICAgIGJhc2VzID0gKGNscywpCistICAgICAgICBucyA9IHsnbW9kdWxlJzogbW9kdWxlfQor LSAgICAgICAgcmV0dXJuIHR5cGUoc3ViY2xhc3NfbmFtZSwgYmFzZXMsIG5zKQorLQorLSAgICBA Q2xhc3NQcm9wZXJ0eQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIF9uZXh0X2NsYXNzKGNs cyk6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoYXQgY2xhc3Mgc2hvdWxkIGJlIHVzZWQgdG8g Y29uc3RydWN0IG5ldyBpbnN0YW5jZXMgZnJvbSB0aGlzIGNsYXNzCistICAgICAgICAiIiIKKy0g ICAgICAgIHJldHVybiBjbHMKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfYWx3YXlz X3VuaWNvZGUoY2xzLCBwYXRoKToKKy0gICAgICAgICIiIgorLSAgICAgICAgRW5zdXJlIHRoZSBw YXRoIGFzIHJldHJpZXZlZCBmcm9tIGEgUHl0aG9uIEFQSSwgc3VjaCBhcyA6ZnVuYzpgb3MubGlz dGRpcmAsCistICAgICAgICBpcyBhIHByb3BlciBVbmljb2RlIHN0cmluZy4KKy0gICAgICAgICIi IgorLSAgICAgICAgaWYgUFkzIG9yIGlzaW5zdGFuY2UocGF0aCwgdGV4dF90eXBlKToKKy0gICAg ICAgICAgICByZXR1cm4gcGF0aAorLSAgICAgICAgcmV0dXJuIHBhdGguZGVjb2RlKHN5cy5nZXRm aWxlc3lzdGVtZW5jb2RpbmcoKSwgJ3N1cnJvZ2F0ZWVzY2FwZScpCistCistICAgICMgLS0tIFNw ZWNpYWwgUHl0aG9uIG1ldGhvZHMuCistCistICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKy0gICAg ICAgIHJldHVybiAnJXMoJXMpJyAlICh0eXBlKHNlbGYpLl9fbmFtZV9fLCBzdXBlcihQYXRoLCBz ZWxmKS5fX3JlcHJfXygpKQorLQorLSAgICAjIEFkZGluZyBhIFBhdGggYW5kIGEgc3RyaW5nIHlp ZWxkcyBhIFBhdGguCistICAgIGRlZiBfX2FkZF9fKHNlbGYsIG1vcmUpOgorLSAgICAgICAgdHJ5 OgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHN1cGVyKFBhdGgsIHNlbGYp Ll9fYWRkX18obW9yZSkpCistICAgICAgICBleGNlcHQgVHlwZUVycm9yOiAgIyBQeXRob24gYnVn CistICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCistCistICAgIGRlZiBfX3JhZGRf XyhzZWxmLCBvdGhlcik6CistICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgc3RyaW5n X3R5cGVzKToKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJl dHVybiBzZWxmLl9uZXh0X2NsYXNzKG90aGVyLl9fYWRkX18oc2VsZikpCistCistICAgICMgVGhl IC8gb3BlcmF0b3Igam9pbnMgUGF0aHMuCistICAgIGRlZiBfX2Rpdl9fKHNlbGYsIHJlbCk6Cist ICAgICAgICAiIiIgZnAuX19kaXZfXyhyZWwpID09IGZwIC8gcmVsID09IGZwLmpvaW5wYXRoKHJl bCkKKy0KKy0gICAgICAgIEpvaW4gdHdvIHBhdGggY29tcG9uZW50cywgYWRkaW5nIGEgc2VwYXJh dG9yIGNoYXJhY3RlciBpZgorLSAgICAgICAgbmVlZGVkLgorLQorLSAgICAgICAgLi4gc2VlYWxz bzo6IDpmdW5jOmBvcy5wYXRoLmpvaW5gCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBz ZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmpvaW4oc2VsZiwgcmVsKSkKKy0KKy0gICAgIyBN YWtlIHRoZSAvIG9wZXJhdG9yIHdvcmsgZXZlbiB3aGVuIHRydWUgZGl2aXNpb24gaXMgZW5hYmxl ZC4KKy0gICAgX190cnVlZGl2X18gPSBfX2Rpdl9fCistCistICAgICMgVGhlIC8gb3BlcmF0b3Ig am9pbnMgUGF0aHMgdGhlIG90aGVyIHdheSBhcm91bmQKKy0gICAgZGVmIF9fcmRpdl9fKHNlbGYs IHJlbCk6CistICAgICAgICAiIiIgZnAuX19yZGl2X18ocmVsKSA9PSByZWwgLyBmcAorLQorLSAg ICAgICAgSm9pbiB0d28gcGF0aCBjb21wb25lbnRzLCBhZGRpbmcgYSBzZXBhcmF0b3IgY2hhcmFj dGVyIGlmCistICAgICAgICBuZWVkZWQuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6 YG9zLnBhdGguam9pbmAKKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRf Y2xhc3Moc2VsZi5tb2R1bGUuam9pbihyZWwsIHNlbGYpKQorLQorLSAgICAjIE1ha2UgdGhlIC8g b3BlcmF0b3Igd29yayBldmVuIHdoZW4gdHJ1ZSBkaXZpc2lvbiBpcyBlbmFibGVkLgorLSAgICBf X3J0cnVlZGl2X18gPSBfX3JkaXZfXworLQorLSAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorLSAg ICAgICAgc2VsZi5fb2xkX2RpciA9IHNlbGYuZ2V0Y3dkKCkKKy0gICAgICAgIG9zLmNoZGlyKHNl bGYpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgX19leGl0X18oc2VsZiwgKl8p OgorLSAgICAgICAgb3MuY2hkaXIoc2VsZi5fb2xkX2RpcikKKy0KKy0gICAgQGNsYXNzbWV0aG9k CistICAgIGRlZiBnZXRjd2QoY2xzKToKKy0gICAgICAgICIiIiBSZXR1cm4gdGhlIGN1cnJlbnQg d29ya2luZyBkaXJlY3RvcnkgYXMgYSBwYXRoIG9iamVjdC4KKy0KKy0gICAgICAgIC4uIHNlZWFs c286OiA6ZnVuYzpgb3MuZ2V0Y3dkdWAKKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIGNs cyhnZXRjd2R1KCkpCistCistICAgICMKKy0gICAgIyAtLS0gT3BlcmF0aW9ucyBvbiBQYXRoIHN0 cmluZ3MuCistCistICAgIGRlZiBhYnNwYXRoKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFs c286OiA6ZnVuYzpgb3MucGF0aC5hYnNwYXRoYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9u ZXh0X2NsYXNzKHNlbGYubW9kdWxlLmFic3BhdGgoc2VsZikpCistCistICAgIGRlZiBub3JtY2Fz ZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGgubm9ybWNh c2VgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUubm9y bWNhc2Uoc2VsZikpCistCistICAgIGRlZiBub3JtcGF0aChzZWxmKToKKy0gICAgICAgICIiIiAu LiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGgubm9ybXBhdGhgICIiIgorLSAgICAgICAgcmV0dXJu IHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUubm9ybXBhdGgoc2VsZikpCistCistICAgIGRl ZiByZWFscGF0aChzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBh dGgucmVhbHBhdGhgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5t b2R1bGUucmVhbHBhdGgoc2VsZikpCistCistICAgIGRlZiBleHBhbmR1c2VyKHNlbGYpOgorLSAg ICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYCAiIiIKKy0g ICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmV4cGFuZHVzZXIoc2Vs ZikpCistCistICAgIGRlZiBleHBhbmR2YXJzKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFs c286OiA6ZnVuYzpgb3MucGF0aC5leHBhbmR2YXJzYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxm Ll9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmV4cGFuZHZhcnMoc2VsZikpCistCistICAgIGRlZiBk aXJuYW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpgcGFyZW50YCwg OmZ1bmM6YG9zLnBhdGguZGlybmFtZWAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9j bGFzcyhzZWxmLm1vZHVsZS5kaXJuYW1lKHNlbGYpKQorLQorLSAgICBkZWYgYmFzZW5hbWUoc2Vs Zik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDphdHRyOmBuYW1lYCwgOmZ1bmM6YG9zLnBh dGguYmFzZW5hbWVgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5t b2R1bGUuYmFzZW5hbWUoc2VsZikpCistCistICAgIGRlZiBleHBhbmQoc2VsZik6CistICAgICAg ICAiIiIgQ2xlYW4gdXAgYSBmaWxlbmFtZSBieSBjYWxsaW5nIDptZXRoOmBleHBhbmR2YXJzKClg LAorLSAgICAgICAgOm1ldGg6YGV4cGFuZHVzZXIoKWAsIGFuZCA6bWV0aDpgbm9ybXBhdGgoKWAg b24gaXQuCistCistICAgICAgICBUaGlzIGlzIGNvbW1vbmx5IGV2ZXJ5dGhpbmcgbmVlZGVkIHRv IGNsZWFuIHVwIGEgZmlsZW5hbWUKKy0gICAgICAgIHJlYWQgZnJvbSBhIGNvbmZpZ3VyYXRpb24g ZmlsZSwgZm9yIGV4YW1wbGUuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLmV4 cGFuZHZhcnMoKS5leHBhbmR1c2VyKCkubm9ybXBhdGgoKQorLQorLSAgICBAcHJvcGVydHkKKy0g ICAgZGVmIG5hbWViYXNlKHNlbGYpOgorLSAgICAgICAgIiIiIFRoZSBzYW1lIGFzIDptZXRoOmBu YW1lYCwgYnV0IHdpdGggb25lIGZpbGUgZXh0ZW5zaW9uIHN0cmlwcGVkIG9mZi4KKy0KKy0gICAg ICAgIEZvciBleGFtcGxlLAorLSAgICAgICAgYGBQYXRoKCcvaG9tZS9ndWlkby9weXRob24udGFy Lmd6JykubmFtZSA9PSAncHl0aG9uLnRhci5neidgYCwKKy0gICAgICAgIGJ1dAorLSAgICAgICAg YGBQYXRoKCcvaG9tZS9ndWlkby9weXRob24udGFyLmd6JykubmFtZWJhc2UgPT0gJ3B5dGhvbi50 YXInYGAuCistICAgICAgICAiIiIKKy0gICAgICAgIGJhc2UsIGV4dCA9IHNlbGYubW9kdWxlLnNw bGl0ZXh0KHNlbGYubmFtZSkKKy0gICAgICAgIHJldHVybiBiYXNlCistCistICAgIEBwcm9wZXJ0 eQorLSAgICBkZWYgZXh0KHNlbGYpOgorLSAgICAgICAgIiIiIFRoZSBmaWxlIGV4dGVuc2lvbiwg Zm9yIGV4YW1wbGUgYGAnLnB5J2BgLiAiIiIKKy0gICAgICAgIGYsIGV4dCA9IHNlbGYubW9kdWxl LnNwbGl0ZXh0KHNlbGYpCistICAgICAgICByZXR1cm4gZXh0CistCistICAgIEBwcm9wZXJ0eQor LSAgICBkZWYgZHJpdmUoc2VsZik6CistICAgICAgICAiIiIgVGhlIGRyaXZlIHNwZWNpZmllciwg Zm9yIGV4YW1wbGUgYGAnQzonYGAuCistCistICAgICAgICBUaGlzIGlzIGFsd2F5cyBlbXB0eSBv biBzeXN0ZW1zIHRoYXQgZG9uJ3QgdXNlIGRyaXZlIHNwZWNpZmllcnMuCistICAgICAgICAiIiIK Ky0gICAgICAgIGRyaXZlLCByID0gc2VsZi5tb2R1bGUuc3BsaXRkcml2ZShzZWxmKQorLSAgICAg ICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MoZHJpdmUpCistCistICAgIHBhcmVudCA9IHByb3Bl cnR5KAorLSAgICAgICAgZGlybmFtZSwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBUaGlzIHBh dGgncyBwYXJlbnQgZGlyZWN0b3J5LCBhcyBhIG5ldyBQYXRoIG9iamVjdC4KKy0KKy0gICAgICAg IEZvciBleGFtcGxlLAorLSAgICAgICAgYGBQYXRoKCcvdXNyL2xvY2FsL2xpYi9saWJweXRob24u c28nKS5wYXJlbnQgPT0KKy0gICAgICAgIFBhdGgoJy91c3IvbG9jYWwvbGliJylgYAorLQorLSAg ICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBkaXJuYW1lYCwgOmZ1bmM6YG9zLnBhdGguZGlybmFt ZWAKKy0gICAgICAgICIiIikKKy0KKy0gICAgbmFtZSA9IHByb3BlcnR5KAorLSAgICAgICAgYmFz ZW5hbWUsIE5vbmUsIE5vbmUsCistICAgICAgICAiIiIgVGhlIG5hbWUgb2YgdGhpcyBmaWxlIG9y IGRpcmVjdG9yeSB3aXRob3V0IHRoZSBmdWxsIHBhdGguCistCistICAgICAgICBGb3IgZXhhbXBs ZSwKKy0gICAgICAgIGBgUGF0aCgnL3Vzci9sb2NhbC9saWIvbGlicHl0aG9uLnNvJykubmFtZSA9 PSAnbGlicHl0aG9uLnNvJ2BgCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGJhc2Vu YW1lYCwgOmZ1bmM6YG9zLnBhdGguYmFzZW5hbWVgCistICAgICAgICAiIiIpCistCistICAgIGRl ZiBzcGxpdHBhdGgoc2VsZik6CistICAgICAgICAiIiIgcC5zcGxpdHBhdGgoKSAtPiBSZXR1cm4g YGAocC5wYXJlbnQsIHAubmFtZSlgYC4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6YXR0cjpg cGFyZW50YCwgOmF0dHI6YG5hbWVgLCA6ZnVuYzpgb3MucGF0aC5zcGxpdGAKKy0gICAgICAgICIi IgorLSAgICAgICAgcGFyZW50LCBjaGlsZCA9IHNlbGYubW9kdWxlLnNwbGl0KHNlbGYpCistICAg ICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhwYXJlbnQpLCBjaGlsZAorLQorLSAgICBkZWYg c3BsaXRkcml2ZShzZWxmKToKKy0gICAgICAgICIiIiBwLnNwbGl0ZHJpdmUoKSAtPiBSZXR1cm4g YGAocC5kcml2ZSwgPHRoZSByZXN0IG9mIHA+KWBgLgorLQorLSAgICAgICAgU3BsaXQgdGhlIGRy aXZlIHNwZWNpZmllciBmcm9tIHRoaXMgcGF0aC4gIElmIHRoZXJlIGlzCistICAgICAgICBubyBk cml2ZSBzcGVjaWZpZXIsIDpzYW1wOmB7cC5kcml2ZX1gIGlzIGVtcHR5LCBzbyB0aGUgcmV0dXJu IHZhbHVlCistICAgICAgICBpcyBzaW1wbHkgYGAoUGF0aCgnJyksIHApYGAuICBUaGlzIGlzIGFs d2F5cyB0aGUgY2FzZSBvbiBVbml4LgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBv cy5wYXRoLnNwbGl0ZHJpdmVgCistICAgICAgICAiIiIKKy0gICAgICAgIGRyaXZlLCByZWwgPSBz ZWxmLm1vZHVsZS5zcGxpdGRyaXZlKHNlbGYpCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9j bGFzcyhkcml2ZSksIHJlbAorLQorLSAgICBkZWYgc3BsaXRleHQoc2VsZik6CistICAgICAgICAi IiIgcC5zcGxpdGV4dCgpIC0+IFJldHVybiBgYChwLnN0cmlwZXh0KCksIHAuZXh0KWBgLgorLQor LSAgICAgICAgU3BsaXQgdGhlIGZpbGVuYW1lIGV4dGVuc2lvbiBmcm9tIHRoaXMgcGF0aCBhbmQg cmV0dXJuCistICAgICAgICB0aGUgdHdvIHBhcnRzLiAgRWl0aGVyIHBhcnQgbWF5IGJlIGVtcHR5 LgorLQorLSAgICAgICAgVGhlIGV4dGVuc2lvbiBpcyBldmVyeXRoaW5nIGZyb20gYGAnLidgYCB0 byB0aGUgZW5kIG9mIHRoZQorLSAgICAgICAgbGFzdCBwYXRoIHNlZ21lbnQuICBUaGlzIGhhcyB0 aGUgcHJvcGVydHkgdGhhdCBpZgorLSAgICAgICAgYGAoYSwgYikgPT0gcC5zcGxpdGV4dCgpYGAs IHRoZW4gYGBhICsgYiA9PSBwYGAuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9z LnBhdGguc3BsaXRleHRgCistICAgICAgICAiIiIKKy0gICAgICAgIGZpbGVuYW1lLCBleHQgPSBz ZWxmLm1vZHVsZS5zcGxpdGV4dChzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xh c3MoZmlsZW5hbWUpLCBleHQKKy0KKy0gICAgZGVmIHN0cmlwZXh0KHNlbGYpOgorLSAgICAgICAg IiIiIHAuc3RyaXBleHQoKSAtPiBSZW1vdmUgb25lIGZpbGUgZXh0ZW5zaW9uIGZyb20gdGhlIHBh dGguCistCistICAgICAgICBGb3IgZXhhbXBsZSwgYGBQYXRoKCcvaG9tZS9ndWlkby9weXRob24u dGFyLmd6Jykuc3RyaXBleHQoKWBgCistICAgICAgICByZXR1cm5zIGBgUGF0aCgnL2hvbWUvZ3Vp ZG8vcHl0aG9uLnRhcicpYGAuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLnNw bGl0ZXh0KClbMF0KKy0KKy0gICAgZGVmIHNwbGl0dW5jKHNlbGYpOgorLSAgICAgICAgIiIiIC4u IHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5zcGxpdHVuY2AgIiIiCistICAgICAgICB1bmMsIHJl c3QgPSBzZWxmLm1vZHVsZS5zcGxpdHVuYyhzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25l eHRfY2xhc3ModW5jKSwgcmVzdAorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIHVuY3NoYXJl KHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBUaGUgVU5DIG1vdW50IHBvaW50IGZvciB0 aGlzIHBhdGguCistICAgICAgICBUaGlzIGlzIGVtcHR5IGZvciBwYXRocyBvbiBsb2NhbCBkcml2 ZXMuCistICAgICAgICAiIiIKKy0gICAgICAgIHVuYywgciA9IHNlbGYubW9kdWxlLnNwbGl0dW5j KHNlbGYpCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyh1bmMpCistCistICAgIEBt dWx0aW1ldGhvZAorLSAgICBkZWYgam9pbnBhdGgoY2xzLCBmaXJzdCwgKm90aGVycyk6CistICAg ICAgICAiIiIKKy0gICAgICAgIEpvaW4gZmlyc3QgdG8gemVybyBvciBtb3JlIDpjbGFzczpgUGF0 aGAgY29tcG9uZW50cywgYWRkaW5nIGEgc2VwYXJhdG9yCistICAgICAgICBjaGFyYWN0ZXIgKDpz YW1wOmB7Zmlyc3R9Lm1vZHVsZS5zZXBgKSBpZiBuZWVkZWQuICBSZXR1cm5zIGEgbmV3IGluc3Rh bmNlIG9mCistICAgICAgICA6c2FtcDpge2ZpcnN0fS5fbmV4dF9jbGFzc2AuCistCistICAgICAg ICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguam9pbmAKKy0gICAgICAgICIiIgorLSAgICAg ICAgaWYgbm90IGlzaW5zdGFuY2UoZmlyc3QsIGNscyk6CistICAgICAgICAgICAgZmlyc3QgPSBj bHMoZmlyc3QpCistICAgICAgICByZXR1cm4gZmlyc3QuX25leHRfY2xhc3MoZmlyc3QubW9kdWxl LmpvaW4oZmlyc3QsICpvdGhlcnMpKQorLQorLSAgICBkZWYgc3BsaXRhbGwoc2VsZik6CistICAg ICAgICByIiIiIFJldHVybiBhIGxpc3Qgb2YgdGhlIHBhdGggY29tcG9uZW50cyBpbiB0aGlzIHBh dGguCistCistICAgICAgICBUaGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdCB3aWxsIGJlIGEgUGF0 aC4gIEl0cyB2YWx1ZSB3aWxsIGJlCistICAgICAgICBlaXRoZXIgOmRhdGE6YG9zLmN1cmRpcmAs IDpkYXRhOmBvcy5wYXJkaXJgLCBlbXB0eSwgb3IgdGhlIHJvb3QKKy0gICAgICAgIGRpcmVjdG9y eSBvZiB0aGlzIHBhdGggKGZvciBleGFtcGxlLCBgYCcvJ2BgIG9yIGBgJ0M6XFwnYGApLiAgVGhl CistICAgICAgICBvdGhlciBpdGVtcyBpbiB0aGUgbGlzdCB3aWxsIGJlIHN0cmluZ3MuCistCist ICAgICAgICBgYHBhdGguUGF0aC5qb2lucGF0aCgqcmVzdWx0KWBgIHdpbGwgeWllbGQgdGhlIG9y aWdpbmFsIHBhdGguCistICAgICAgICAiIiIKKy0gICAgICAgIHBhcnRzID0gW10KKy0gICAgICAg IGxvYyA9IHNlbGYKKy0gICAgICAgIHdoaWxlIGxvYyAhPSBvcy5jdXJkaXIgYW5kIGxvYyAhPSBv cy5wYXJkaXI6CistICAgICAgICAgICAgcHJldiA9IGxvYworLSAgICAgICAgICAgIGxvYywgY2hp bGQgPSBwcmV2LnNwbGl0cGF0aCgpCistICAgICAgICAgICAgaWYgbG9jID09IHByZXY6CistICAg ICAgICAgICAgICAgIGJyZWFrCistICAgICAgICAgICAgcGFydHMuYXBwZW5kKGNoaWxkKQorLSAg ICAgICAgcGFydHMuYXBwZW5kKGxvYykKKy0gICAgICAgIHBhcnRzLnJldmVyc2UoKQorLSAgICAg ICAgcmV0dXJuIHBhcnRzCistCistICAgIGRlZiByZWxwYXRoKHNlbGYsIHN0YXJ0PScuJyk6Cist ICAgICAgICAiIiIgUmV0dXJuIHRoaXMgcGF0aCBhcyBhIHJlbGF0aXZlIHBhdGgsCistICAgICAg ICBiYXNlZCBmcm9tIGBzdGFydGAsIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHdvcmtp bmcgZGlyZWN0b3J5LgorLSAgICAgICAgIiIiCistICAgICAgICBjd2QgPSBzZWxmLl9uZXh0X2Ns YXNzKHN0YXJ0KQorLSAgICAgICAgcmV0dXJuIGN3ZC5yZWxwYXRodG8oc2VsZikKKy0KKy0gICAg ZGVmIHJlbHBhdGh0byhzZWxmLCBkZXN0KToKKy0gICAgICAgICIiIiBSZXR1cm4gYSByZWxhdGl2 ZSBwYXRoIGZyb20gYHNlbGZgIHRvIGBkZXN0YC4KKy0KKy0gICAgICAgIElmIHRoZXJlIGlzIG5v IHJlbGF0aXZlIHBhdGggZnJvbSBgc2VsZmAgdG8gYGRlc3RgLCBmb3IgZXhhbXBsZSBpZgorLSAg ICAgICAgdGhleSByZXNpZGUgb24gZGlmZmVyZW50IGRyaXZlcyBpbiBXaW5kb3dzLCB0aGVuIHRo aXMgcmV0dXJucworLSAgICAgICAgYGBkZXN0LmFic3BhdGgoKWBgLgorLSAgICAgICAgIiIiCist ICAgICAgICBvcmlnaW4gPSBzZWxmLmFic3BhdGgoKQorLSAgICAgICAgZGVzdCA9IHNlbGYuX25l eHRfY2xhc3MoZGVzdCkuYWJzcGF0aCgpCistCistICAgICAgICBvcmlnX2xpc3QgPSBvcmlnaW4u bm9ybWNhc2UoKS5zcGxpdGFsbCgpCistICAgICAgICAjIERvbid0IG5vcm1jYXNlIGRlc3QhICBX ZSB3YW50IHRvIHByZXNlcnZlIHRoZSBjYXNlLgorLSAgICAgICAgZGVzdF9saXN0ID0gZGVzdC5z cGxpdGFsbCgpCistCistICAgICAgICBpZiBvcmlnX2xpc3RbMF0gIT0gc2VsZi5tb2R1bGUubm9y bWNhc2UoZGVzdF9saXN0WzBdKToKKy0gICAgICAgICAgICAjIENhbid0IGdldCBoZXJlIGZyb20g dGhlcmUuCistICAgICAgICAgICAgcmV0dXJuIGRlc3QKKy0KKy0gICAgICAgICMgRmluZCB0aGUg bG9jYXRpb24gd2hlcmUgdGhlIHR3byBwYXRocyBzdGFydCB0byBkaWZmZXIuCistICAgICAgICBp ID0gMAorLSAgICAgICAgZm9yIHN0YXJ0X3NlZywgZGVzdF9zZWcgaW4gemlwKG9yaWdfbGlzdCwg ZGVzdF9saXN0KToKKy0gICAgICAgICAgICBpZiBzdGFydF9zZWcgIT0gc2VsZi5tb2R1bGUubm9y bWNhc2UoZGVzdF9zZWcpOgorLSAgICAgICAgICAgICAgICBicmVhaworLSAgICAgICAgICAgIGkg Kz0gMQorLQorLSAgICAgICAgIyBOb3cgaSBpcyB0aGUgcG9pbnQgd2hlcmUgdGhlIHR3byBwYXRo cyBkaXZlcmdlLgorLSAgICAgICAgIyBOZWVkIGEgY2VydGFpbiBudW1iZXIgb2YgIm9zLnBhcmRp ciJzIHRvIHdvcmsgdXAKKy0gICAgICAgICMgZnJvbSB0aGUgb3JpZ2luIHRvIHRoZSBwb2ludCBv ZiBkaXZlcmdlbmNlLgorLSAgICAgICAgc2VnbWVudHMgPSBbb3MucGFyZGlyXSAqIChsZW4ob3Jp Z19saXN0KSAtIGkpCistICAgICAgICAjIE5lZWQgdG8gYWRkIHRoZSBkaXZlcmdpbmcgcGFydCBv ZiBkZXN0X2xpc3QuCistICAgICAgICBzZWdtZW50cyArPSBkZXN0X2xpc3RbaTpdCistICAgICAg ICBpZiBsZW4oc2VnbWVudHMpID09IDA6CistICAgICAgICAgICAgIyBJZiB0aGV5IGhhcHBlbiB0 byBiZSBpZGVudGljYWwsIHVzZSBvcy5jdXJkaXIuCistICAgICAgICAgICAgcmVscGF0aCA9IG9z LmN1cmRpcgorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByZWxwYXRoID0gc2VsZi5tb2R1 bGUuam9pbigqc2VnbWVudHMpCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhyZWxw YXRoKQorLQorLSAgICAjIC0tLSBMaXN0aW5nLCBzZWFyY2hpbmcsIHdhbGtpbmcsIGFuZCBtYXRj aGluZworLQorLSAgICBkZWYgbGlzdGRpcihzZWxmLCBwYXR0ZXJuPU5vbmUpOgorLSAgICAgICAg IiIiIEQubGlzdGRpcigpIC0+IExpc3Qgb2YgaXRlbXMgaW4gdGhpcyBkaXJlY3RvcnkuCistCist ICAgICAgICBVc2UgOm1ldGg6YGZpbGVzYCBvciA6bWV0aDpgZGlyc2AgaW5zdGVhZCBpZiB5b3Ug d2FudCBhIGxpc3RpbmcKKy0gICAgICAgIG9mIGp1c3QgZmlsZXMgb3IganVzdCBzdWJkaXJlY3Rv cmllcy4KKy0KKy0gICAgICAgIFRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdCBhcmUgUGF0aCBvYmpl Y3RzLgorLQorLSAgICAgICAgV2l0aCB0aGUgb3B0aW9uYWwgYHBhdHRlcm5gIGFyZ3VtZW50LCB0 aGlzIG9ubHkgbGlzdHMKKy0gICAgICAgIGl0ZW1zIHdob3NlIG5hbWVzIG1hdGNoIHRoZSBnaXZl biBwYXR0ZXJuLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBmaWxlc2AsIDptZXRo OmBkaXJzYAorLSAgICAgICAgIiIiCistICAgICAgICBpZiBwYXR0ZXJuIGlzIE5vbmU6CistICAg ICAgICAgICAgcGF0dGVybiA9ICcqJworLSAgICAgICAgcmV0dXJuIFsKKy0gICAgICAgICAgICBz ZWxmIC8gY2hpbGQKKy0gICAgICAgICAgICBmb3IgY2hpbGQgaW4gbWFwKHNlbGYuX2Fsd2F5c191 bmljb2RlLCBvcy5saXN0ZGlyKHNlbGYpKQorLSAgICAgICAgICAgIGlmIHNlbGYuX25leHRfY2xh c3MoY2hpbGQpLmZubWF0Y2gocGF0dGVybikKKy0gICAgICAgIF0KKy0KKy0gICAgZGVmIGRpcnMo c2VsZiwgcGF0dGVybj1Ob25lKToKKy0gICAgICAgICIiIiBELmRpcnMoKSAtPiBMaXN0IG9mIHRo aXMgZGlyZWN0b3J5J3Mgc3ViZGlyZWN0b3JpZXMuCistCistICAgICAgICBUaGUgZWxlbWVudHMg b2YgdGhlIGxpc3QgYXJlIFBhdGggb2JqZWN0cy4KKy0gICAgICAgIFRoaXMgZG9lcyBub3Qgd2Fs ayByZWN1cnNpdmVseSBpbnRvIHN1YmRpcmVjdG9yaWVzCistICAgICAgICAoYnV0IHNlZSA6bWV0 aDpgd2Fsa2RpcnNgKS4KKy0KKy0gICAgICAgIFdpdGggdGhlIG9wdGlvbmFsIGBwYXR0ZXJuYCBh cmd1bWVudCwgdGhpcyBvbmx5IGxpc3RzCistICAgICAgICBkaXJlY3RvcmllcyB3aG9zZSBuYW1l cyBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybi4gIEZvcgorLSAgICAgICAgZXhhbXBsZSwgYGBkLmRp cnMoJ2J1aWxkLSonKWBgLgorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gW3AgZm9yIHAg aW4gc2VsZi5saXN0ZGlyKHBhdHRlcm4pIGlmIHAuaXNkaXIoKV0KKy0KKy0gICAgZGVmIGZpbGVz KHNlbGYsIHBhdHRlcm49Tm9uZSk6CistICAgICAgICAiIiIgRC5maWxlcygpIC0+IExpc3Qgb2Yg dGhlIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5LgorLQorLSAgICAgICAgVGhlIGVsZW1lbnRzIG9m IHRoZSBsaXN0IGFyZSBQYXRoIG9iamVjdHMuCistICAgICAgICBUaGlzIGRvZXMgbm90IHdhbGsg aW50byBzdWJkaXJlY3RvcmllcyAoc2VlIDptZXRoOmB3YWxrZmlsZXNgKS4KKy0KKy0gICAgICAg IFdpdGggdGhlIG9wdGlvbmFsIGBwYXR0ZXJuYCBhcmd1bWVudCwgdGhpcyBvbmx5IGxpc3RzIGZp bGVzCistICAgICAgICB3aG9zZSBuYW1lcyBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybi4gIEZvciBl eGFtcGxlLAorLSAgICAgICAgYGBkLmZpbGVzKCcqLnB5YycpYGAuCistICAgICAgICAiIiIKKy0K Ky0gICAgICAgIHJldHVybiBbcCBmb3IgcCBpbiBzZWxmLmxpc3RkaXIocGF0dGVybikgaWYgcC5p c2ZpbGUoKV0KKy0KKy0gICAgZGVmIHdhbGsoc2VsZiwgcGF0dGVybj1Ob25lLCBlcnJvcnM9J3N0 cmljdCcpOgorLSAgICAgICAgIiIiIEQud2FsaygpIC0+IGl0ZXJhdG9yIG92ZXIgZmlsZXMgYW5k IHN1YmRpcnMsIHJlY3Vyc2l2ZWx5LgorLQorLSAgICAgICAgVGhlIGl0ZXJhdG9yIHlpZWxkcyBQ YXRoIG9iamVjdHMgbmFtaW5nIGVhY2ggY2hpbGQgaXRlbSBvZgorLSAgICAgICAgdGhpcyBkaXJl Y3RvcnkgYW5kIGl0cyBkZXNjZW5kYW50cy4gIFRoaXMgcmVxdWlyZXMgdGhhdAorLSAgICAgICAg YGBELmlzZGlyKClgYC4KKy0KKy0gICAgICAgIFRoaXMgcGVyZm9ybXMgYSBkZXB0aC1maXJzdCB0 cmF2ZXJzYWwgb2YgdGhlIGRpcmVjdG9yeSB0cmVlLgorLSAgICAgICAgRWFjaCBkaXJlY3Rvcnkg aXMgcmV0dXJuZWQganVzdCBiZWZvcmUgYWxsIGl0cyBjaGlsZHJlbi4KKy0KKy0gICAgICAgIFRo ZSBgZXJyb3JzPWAga2V5d29yZCBhcmd1bWVudCBjb250cm9scyBiZWhhdmlvciB3aGVuIGFuCist ICAgICAgICBlcnJvciBvY2N1cnMuICBUaGUgZGVmYXVsdCBpcyBgYCdzdHJpY3QnYGAsIHdoaWNo IGNhdXNlcyBhbgorLSAgICAgICAgZXhjZXB0aW9uLiAgT3RoZXIgYWxsb3dlZCB2YWx1ZXMgYXJl IGBgJ3dhcm4nYGAgKHdoaWNoCistICAgICAgICByZXBvcnRzIHRoZSBlcnJvciB2aWEgOmZ1bmM6 YHdhcm5pbmdzLndhcm4oKWApLCBhbmQgYGAnaWdub3JlJ2BgLgorLSAgICAgICAgYGVycm9yc2Ag bWF5IGFsc28gYmUgYW4gYXJiaXRyYXJ5IGNhbGxhYmxlIHRha2luZyBhIG1zZyBwYXJhbWV0ZXIu CistICAgICAgICAiIiIKKy0gICAgICAgIGNsYXNzIEhhbmRsZXJzOgorLSAgICAgICAgICAgIGRl ZiBzdHJpY3QobXNnKToKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0KKy0gICAgICAgICAgICBk ZWYgd2Fybihtc2cpOgorLSAgICAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgVHJlZVdh bGtXYXJuaW5nKQorLQorLSAgICAgICAgICAgIGRlZiBpZ25vcmUobXNnKToKKy0gICAgICAgICAg ICAgICAgcGFzcworLQorLSAgICAgICAgaWYgbm90IGNhbGxhYmxlKGVycm9ycykgYW5kIGVycm9y cyBub3QgaW4gdmFycyhIYW5kbGVycyk6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigi aW52YWxpZCBlcnJvcnMgcGFyYW1ldGVyIikKKy0gICAgICAgIGVycm9ycyA9IHZhcnMoSGFuZGxl cnMpLmdldChlcnJvcnMsIGVycm9ycykKKy0KKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBj aGlsZExpc3QgPSBzZWxmLmxpc3RkaXIoKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKy0g ICAgICAgICAgICBleGMgPSBzeXMuZXhjX2luZm8oKVsxXQorLSAgICAgICAgICAgIHRtcGwgPSAi VW5hYmxlIHRvIGxpc3QgZGlyZWN0b3J5ICclKHNlbGYpcyc6ICUoZXhjKXMiCistICAgICAgICAg ICAgbXNnID0gdG1wbCAlIGxvY2FscygpCistICAgICAgICAgICAgZXJyb3JzKG1zZykKKy0gICAg ICAgICAgICByZXR1cm4KKy0KKy0gICAgICAgIGZvciBjaGlsZCBpbiBjaGlsZExpc3Q6CistICAg ICAgICAgICAgaWYgcGF0dGVybiBpcyBOb25lIG9yIGNoaWxkLmZubWF0Y2gocGF0dGVybik6Cist ICAgICAgICAgICAgICAgIHlpZWxkIGNoaWxkCistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAg ICAgICAgICBpc2RpciA9IGNoaWxkLmlzZGlyKCkKKy0gICAgICAgICAgICBleGNlcHQgRXhjZXB0 aW9uOgorLSAgICAgICAgICAgICAgICBleGMgPSBzeXMuZXhjX2luZm8oKVsxXQorLSAgICAgICAg ICAgICAgICB0bXBsID0gIlVuYWJsZSB0byBhY2Nlc3MgJyUoY2hpbGQpcyc6ICUoZXhjKXMiCist ICAgICAgICAgICAgICAgIG1zZyA9IHRtcGwgJSBsb2NhbHMoKQorLSAgICAgICAgICAgICAgICBl cnJvcnMobXNnKQorLSAgICAgICAgICAgICAgICBpc2RpciA9IEZhbHNlCistCistICAgICAgICAg ICAgaWYgaXNkaXI6CistICAgICAgICAgICAgICAgIGZvciBpdGVtIGluIGNoaWxkLndhbGsocGF0 dGVybiwgZXJyb3JzKToKKy0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGl0ZW0KKy0KKy0gICAg ZGVmIHdhbGtkaXJzKHNlbGYsIHBhdHRlcm49Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKKy0gICAg ICAgICIiIiBELndhbGtkaXJzKCkgLT4gaXRlcmF0b3Igb3ZlciBzdWJkaXJzLCByZWN1cnNpdmVs eS4KKy0KKy0gICAgICAgIFdpdGggdGhlIG9wdGlvbmFsIGBwYXR0ZXJuYCBhcmd1bWVudCwgdGhp cyB5aWVsZHMgb25seQorLSAgICAgICAgZGlyZWN0b3JpZXMgd2hvc2UgbmFtZXMgbWF0Y2ggdGhl IGdpdmVuIHBhdHRlcm4uICBGb3IKKy0gICAgICAgIGV4YW1wbGUsIGBgbXlkaXIud2Fsa2RpcnMo Jyp0ZXN0JylgYCB5aWVsZHMgb25seSBkaXJlY3RvcmllcworLSAgICAgICAgd2l0aCBuYW1lcyBl bmRpbmcgaW4gYGAndGVzdCdgYC4KKy0KKy0gICAgICAgIFRoZSBgZXJyb3JzPWAga2V5d29yZCBh cmd1bWVudCBjb250cm9scyBiZWhhdmlvciB3aGVuIGFuCistICAgICAgICBlcnJvciBvY2N1cnMu ICBUaGUgZGVmYXVsdCBpcyBgYCdzdHJpY3QnYGAsIHdoaWNoIGNhdXNlcyBhbgorLSAgICAgICAg ZXhjZXB0aW9uLiAgVGhlIG90aGVyIGFsbG93ZWQgdmFsdWVzIGFyZSBgYCd3YXJuJ2BgICh3aGlj aAorLSAgICAgICAgcmVwb3J0cyB0aGUgZXJyb3IgdmlhIDpmdW5jOmB3YXJuaW5ncy53YXJuKClg KSwgYW5kIGBgJ2lnbm9yZSdgYC4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgZXJyb3JzIG5v dCBpbiAoJ3N0cmljdCcsICd3YXJuJywgJ2lnbm9yZScpOgorLSAgICAgICAgICAgIHJhaXNlIFZh bHVlRXJyb3IoImludmFsaWQgZXJyb3JzIHBhcmFtZXRlciIpCistCistICAgICAgICB0cnk6Cist ICAgICAgICAgICAgZGlycyA9IHNlbGYuZGlycygpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9u OgorLSAgICAgICAgICAgIGlmIGVycm9ycyA9PSAnaWdub3JlJzoKKy0gICAgICAgICAgICAgICAg cmV0dXJuCistICAgICAgICAgICAgZWxpZiBlcnJvcnMgPT0gJ3dhcm4nOgorLSAgICAgICAgICAg ICAgICB3YXJuaW5ncy53YXJuKAorLSAgICAgICAgICAgICAgICAgICAgIlVuYWJsZSB0byBsaXN0 IGRpcmVjdG9yeSAnJXMnOiAlcyIKKy0gICAgICAgICAgICAgICAgICAgICUgKHNlbGYsIHN5cy5l eGNfaW5mbygpWzFdKSwKKy0gICAgICAgICAgICAgICAgICAgIFRyZWVXYWxrV2FybmluZykKKy0g ICAgICAgICAgICAgICAgcmV0dXJuCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAg ICAgcmFpc2UKKy0KKy0gICAgICAgIGZvciBjaGlsZCBpbiBkaXJzOgorLSAgICAgICAgICAgIGlm IHBhdHRlcm4gaXMgTm9uZSBvciBjaGlsZC5mbm1hdGNoKHBhdHRlcm4pOgorLSAgICAgICAgICAg ICAgICB5aWVsZCBjaGlsZAorLSAgICAgICAgICAgIGZvciBzdWJzdWJkaXIgaW4gY2hpbGQud2Fs a2RpcnMocGF0dGVybiwgZXJyb3JzKToKKy0gICAgICAgICAgICAgICAgeWllbGQgc3Vic3ViZGly CistCistICAgIGRlZiB3YWxrZmlsZXMoc2VsZiwgcGF0dGVybj1Ob25lLCBlcnJvcnM9J3N0cmlj dCcpOgorLSAgICAgICAgIiIiIEQud2Fsa2ZpbGVzKCkgLT4gaXRlcmF0b3Igb3ZlciBmaWxlcyBp biBELCByZWN1cnNpdmVseS4KKy0KKy0gICAgICAgIFRoZSBvcHRpb25hbCBhcmd1bWVudCBgcGF0 dGVybmAgbGltaXRzIHRoZSByZXN1bHRzIHRvIGZpbGVzCistICAgICAgICB3aXRoIG5hbWVzIHRo YXQgbWF0Y2ggdGhlIHBhdHRlcm4uICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBgbXlkaXIud2Fs a2ZpbGVzKCcqLnRtcCcpYGAgeWllbGRzIG9ubHkgZmlsZXMgd2l0aCB0aGUgYGAudG1wYGAKKy0g ICAgICAgIGV4dGVuc2lvbi4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgZXJyb3JzIG5vdCBp biAoJ3N0cmljdCcsICd3YXJuJywgJ2lnbm9yZScpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVl RXJyb3IoImludmFsaWQgZXJyb3JzIHBhcmFtZXRlciIpCistCistICAgICAgICB0cnk6CistICAg ICAgICAgICAgY2hpbGRMaXN0ID0gc2VsZi5saXN0ZGlyKCkKKy0gICAgICAgIGV4Y2VwdCBFeGNl cHRpb246CistICAgICAgICAgICAgaWYgZXJyb3JzID09ICdpZ25vcmUnOgorLSAgICAgICAgICAg ICAgICByZXR1cm4KKy0gICAgICAgICAgICBlbGlmIGVycm9ycyA9PSAnd2Fybic6CistICAgICAg ICAgICAgICAgIHdhcm5pbmdzLndhcm4oCistICAgICAgICAgICAgICAgICAgICAiVW5hYmxlIHRv IGxpc3QgZGlyZWN0b3J5ICclcyc6ICVzIgorLSAgICAgICAgICAgICAgICAgICAgJSAoc2VsZiwg c3lzLmV4Y19pbmZvKClbMV0pLAorLSAgICAgICAgICAgICAgICAgICAgVHJlZVdhbGtXYXJuaW5n KQorLSAgICAgICAgICAgICAgICByZXR1cm4KKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAg ICAgICAgICByYWlzZQorLQorLSAgICAgICAgZm9yIGNoaWxkIGluIGNoaWxkTGlzdDoKKy0gICAg ICAgICAgICB0cnk6CistICAgICAgICAgICAgICAgIGlzZmlsZSA9IGNoaWxkLmlzZmlsZSgpCist ICAgICAgICAgICAgICAgIGlzZGlyID0gbm90IGlzZmlsZSBhbmQgY2hpbGQuaXNkaXIoKQorLSAg ICAgICAgICAgIGV4Y2VwdDoKKy0gICAgICAgICAgICAgICAgaWYgZXJyb3JzID09ICdpZ25vcmUn OgorLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAgZWxpZiBl cnJvcnMgPT0gJ3dhcm4nOgorLSAgICAgICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybigKKy0g ICAgICAgICAgICAgICAgICAgICAgICAiVW5hYmxlIHRvIGFjY2VzcyAnJXMnOiAlcyIKKy0gICAg ICAgICAgICAgICAgICAgICAgICAlIChzZWxmLCBzeXMuZXhjX2luZm8oKVsxXSksCistICAgICAg ICAgICAgICAgICAgICAgICAgVHJlZVdhbGtXYXJuaW5nKQorLSAgICAgICAgICAgICAgICAgICAg Y29udGludWUKKy0gICAgICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgICAgIHJh aXNlCistCistICAgICAgICAgICAgaWYgaXNmaWxlOgorLSAgICAgICAgICAgICAgICBpZiBwYXR0 ZXJuIGlzIE5vbmUgb3IgY2hpbGQuZm5tYXRjaChwYXR0ZXJuKToKKy0gICAgICAgICAgICAgICAg ICAgIHlpZWxkIGNoaWxkCistICAgICAgICAgICAgZWxpZiBpc2RpcjoKKy0gICAgICAgICAgICAg ICAgZm9yIGYgaW4gY2hpbGQud2Fsa2ZpbGVzKHBhdHRlcm4sIGVycm9ycyk6CistICAgICAgICAg ICAgICAgICAgICB5aWVsZCBmCistCistICAgIGRlZiBmbm1hdGNoKHNlbGYsIHBhdHRlcm4sIG5v cm1jYXNlPU5vbmUpOgorLSAgICAgICAgIiIiIFJldHVybiBgYFRydWVgYCBpZiBgc2VsZi5uYW1l YCBtYXRjaGVzIHRoZSBnaXZlbiBgcGF0dGVybmAuCistCistICAgICAgICBgcGF0dGVybmAgLSBB IGZpbGVuYW1lIHBhdHRlcm4gd2l0aCB3aWxkY2FyZHMsCistICAgICAgICAgICAgZm9yIGV4YW1w bGUgYGAnKi5weSdgYC4gSWYgdGhlIHBhdHRlcm4gY29udGFpbnMgYSBgbm9ybWNhc2VgCistICAg ICAgICAgICAgYXR0cmlidXRlLCBpdCBpcyBhcHBsaWVkIHRvIHRoZSBuYW1lIGFuZCBwYXRoIHBy aW9yIHRvIGNvbXBhcmlzb24uCistCistICAgICAgICBgbm9ybWNhc2VgIC0gKG9wdGlvbmFsKSBB IGZ1bmN0aW9uIHVzZWQgdG8gbm9ybWFsaXplIHRoZSBwYXR0ZXJuIGFuZAorLSAgICAgICAgICAg IGZpbGVuYW1lIGJlZm9yZSBtYXRjaGluZy4gRGVmYXVsdHMgdG8gOm1ldGg6YHNlbGYubW9kdWxl YCwgd2hpY2ggZGVmYXVsdHMKKy0gICAgICAgICAgICB0byA6bWV0aDpgb3MucGF0aC5ub3JtY2Fz ZWAuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YGZubWF0Y2guZm5tYXRjaGAKKy0g ICAgICAgICIiIgorLSAgICAgICAgZGVmYXVsdF9ub3JtY2FzZSA9IGdldGF0dHIocGF0dGVybiwg J25vcm1jYXNlJywgc2VsZi5tb2R1bGUubm9ybWNhc2UpCistICAgICAgICBub3JtY2FzZSA9IG5v cm1jYXNlIG9yIGRlZmF1bHRfbm9ybWNhc2UKKy0gICAgICAgIG5hbWUgPSBub3JtY2FzZShzZWxm Lm5hbWUpCistICAgICAgICBwYXR0ZXJuID0gbm9ybWNhc2UocGF0dGVybikKKy0gICAgICAgIHJl dHVybiBmbm1hdGNoLmZubWF0Y2hjYXNlKG5hbWUsIHBhdHRlcm4pCistCistICAgIGRlZiBnbG9i KHNlbGYsIHBhdHRlcm4pOgorLSAgICAgICAgIiIiIFJldHVybiBhIGxpc3Qgb2YgUGF0aCBvYmpl Y3RzIHRoYXQgbWF0Y2ggdGhlIHBhdHRlcm4uCistCistICAgICAgICBgcGF0dGVybmAgLSBhIHBh dGggcmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnksIHdpdGggd2lsZGNhcmRzLgorLQorLSAgICAg ICAgRm9yIGV4YW1wbGUsIGBgUGF0aCgnL3VzZXJzJykuZ2xvYignKi9iaW4vKicpYGAgcmV0dXJu cyBhIGxpc3QKKy0gICAgICAgIG9mIGFsbCB0aGUgZmlsZXMgdXNlcnMgaGF2ZSBpbiB0aGVpciA6 ZmlsZTpgYmluYCBkaXJlY3Rvcmllcy4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpg Z2xvYi5nbG9iYAorLSAgICAgICAgIiIiCistICAgICAgICBjbHMgPSBzZWxmLl9uZXh0X2NsYXNz CistICAgICAgICByZXR1cm4gW2NscyhzKSBmb3IgcyBpbiBnbG9iLmdsb2Ioc2VsZiAvIHBhdHRl cm4pXQorLQorLSAgICAjCistICAgICMgLS0tIFJlYWRpbmcgb3Igd3JpdGluZyBhbiBlbnRpcmUg ZmlsZSBhdCBvbmNlLgorLQorLSAgICBkZWYgb3BlbihzZWxmLCAqYXJncywgKiprd2FyZ3MpOgor LSAgICAgICAgIiIiIE9wZW4gdGhpcyBmaWxlIGFuZCByZXR1cm4gYSBjb3JyZXNwb25kaW5nIDpj bGFzczpgZmlsZWAgb2JqZWN0LgorLQorLSAgICAgICAgS2V5d29yZCBhcmd1bWVudHMgd29yayBh cyBpbiA6ZnVuYzpgaW8ub3BlbmAuICBJZiB0aGUgZmlsZSBjYW5ub3QgYmUKKy0gICAgICAgIG9w ZW5lZCwgYW4gOmNsYXNzOmB+ZXhjZXB0aW9ucy5PU0Vycm9yYCBpcyByYWlzZWQuCistICAgICAg ICAiIiIKKy0gICAgICAgIHdpdGggaW9fZXJyb3JfY29tcGF0KCk6CistICAgICAgICAgICAgcmV0 dXJuIGlvLm9wZW4oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorLQorLSAgICBkZWYgYnl0ZXMoc2Vs Zik6CistICAgICAgICAiIiIgT3BlbiB0aGlzIGZpbGUsIHJlYWQgYWxsIGJ5dGVzLCByZXR1cm4g dGhlbSBhcyBhIHN0cmluZy4gIiIiCistICAgICAgICB3aXRoIHNlbGYub3BlbigncmInKSBhcyBm OgorLSAgICAgICAgICAgIHJldHVybiBmLnJlYWQoKQorLQorLSAgICBkZWYgY2h1bmtzKHNlbGYs IHNpemUsICphcmdzLCAqKmt3YXJncyk6CistICAgICAgICAiIiIgUmV0dXJucyBhIGdlbmVyYXRv ciB5aWVsZGluZyBjaHVua3Mgb2YgdGhlIGZpbGUsIHNvIGl0IGNhbgorLSAgICAgICAgICAgIGJl IHJlYWQgcGllY2UgYnkgcGllY2Ugd2l0aCBhIHNpbXBsZSBmb3IgbG9vcC4KKy0KKy0gICAgICAg ICAgIEFueSBhcmd1bWVudCB5b3UgcGFzcyBhZnRlciBgc2l6ZWAgd2lsbCBiZSBwYXNzZWQgdG8g Om1ldGg6YG9wZW5gLgorLQorLSAgICAgICAgICAgOmV4YW1wbGU6CistCistICAgICAgICAgICAg ICAgPj4+IGhhc2ggPSBoYXNobGliLm1kNSgpCistICAgICAgICAgICAgICAgPj4+IGZvciBjaHVu ayBpbiBQYXRoKCJwYXRoLnB5IikuY2h1bmtzKDgxOTIsIG1vZGU9J3JiJyk6CistICAgICAgICAg ICAgICAgLi4uICAgICBoYXNoLnVwZGF0ZShjaHVuaykKKy0KKy0gICAgICAgICAgICBUaGlzIHdp bGwgcmVhZCB0aGUgZmlsZSBieSBjaHVua3Mgb2YgODE5MiBieXRlcy4KKy0gICAgICAgICIiIgor LSAgICAgICAgd2l0aCBzZWxmLm9wZW4oKmFyZ3MsICoqa3dhcmdzKSBhcyBmOgorLSAgICAgICAg ICAgIGZvciBjaHVuayBpbiBpdGVyKGxhbWJkYTogZi5yZWFkKHNpemUpIG9yIE5vbmUsIE5vbmUp OgorLSAgICAgICAgICAgICAgICB5aWVsZCBjaHVuaworLQorLSAgICBkZWYgd3JpdGVfYnl0ZXMo c2VsZiwgYnl0ZXMsIGFwcGVuZD1GYWxzZSk6CistICAgICAgICAiIiIgT3BlbiB0aGlzIGZpbGUg YW5kIHdyaXRlIHRoZSBnaXZlbiBieXRlcyB0byBpdC4KKy0KKy0gICAgICAgIERlZmF1bHQgYmVo YXZpb3IgaXMgdG8gb3ZlcndyaXRlIGFueSBleGlzdGluZyBmaWxlLgorLSAgICAgICAgQ2FsbCBg YHAud3JpdGVfYnl0ZXMoYnl0ZXMsIGFwcGVuZD1UcnVlKWBgIHRvIGFwcGVuZCBpbnN0ZWFkLgor LSAgICAgICAgIiIiCistICAgICAgICBpZiBhcHBlbmQ6CistICAgICAgICAgICAgbW9kZSA9ICdh YicKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgbW9kZSA9ICd3YicKKy0gICAgICAgIHdp dGggc2VsZi5vcGVuKG1vZGUpIGFzIGY6CistICAgICAgICAgICAgZi53cml0ZShieXRlcykKKy0K Ky0gICAgZGVmIHRleHQoc2VsZiwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKKy0g ICAgICAgIHIiIiIgT3BlbiB0aGlzIGZpbGUsIHJlYWQgaXQgaW4sIHJldHVybiB0aGUgY29udGVu dCBhcyBhIHN0cmluZy4KKy0KKy0gICAgICAgIEFsbCBuZXdsaW5lIHNlcXVlbmNlcyBhcmUgY29u dmVydGVkIHRvIGBgJ1xuJ2BgLiAgS2V5d29yZCBhcmd1bWVudHMKKy0gICAgICAgIHdpbGwgYmUg cGFzc2VkIHRvIDptZXRoOmBvcGVuYC4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpg bGluZXNgCistICAgICAgICAiIiIKKy0gICAgICAgIHdpdGggc2VsZi5vcGVuKG1vZGU9J3InLCBl bmNvZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9ycykgYXMgZjoKKy0gICAgICAgICAgICByZXR1 cm4gVV9ORVdMSU5FLnN1YignXG4nLCBmLnJlYWQoKSkKKy0KKy0gICAgZGVmIHdyaXRlX3RleHQo c2VsZiwgdGV4dCwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPSdzdHJpY3QnLAorLSAgICAgICAgICAg ICAgICAgICBsaW5lc2VwPW9zLmxpbmVzZXAsIGFwcGVuZD1GYWxzZSk6CistICAgICAgICByIiIi IFdyaXRlIHRoZSBnaXZlbiB0ZXh0IHRvIHRoaXMgZmlsZS4KKy0KKy0gICAgICAgIFRoZSBkZWZh dWx0IGJlaGF2aW9yIGlzIHRvIG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgZmlsZTsKKy0gICAgICAg IHRvIGFwcGVuZCBpbnN0ZWFkLCB1c2UgdGhlIGBhcHBlbmQ9VHJ1ZWAga2V5d29yZCBhcmd1bWVu dC4KKy0KKy0gICAgICAgIFRoZXJlIGFyZSB0d28gZGlmZmVyZW5jZXMgYmV0d2VlbiA6bWV0aDpg d3JpdGVfdGV4dGAgYW5kCistICAgICAgICA6bWV0aDpgd3JpdGVfYnl0ZXNgOiBuZXdsaW5lIGhh bmRsaW5nIGFuZCBVbmljb2RlIGhhbmRsaW5nLgorLSAgICAgICAgU2VlIGJlbG93LgorLQorLSAg ICAgICAgUGFyYW1ldGVyczoKKy0KKy0gICAgICAgICAgYHRleHRgIC0gc3RyL3VuaWNvZGUgLSBU aGUgdGV4dCB0byBiZSB3cml0dGVuLgorLQorLSAgICAgICAgICBgZW5jb2RpbmdgIC0gc3RyIC0g VGhlIFVuaWNvZGUgZW5jb2RpbmcgdGhhdCB3aWxsIGJlIHVzZWQuCistICAgICAgICAgICAgICBU aGlzIGlzIGlnbm9yZWQgaWYgYHRleHRgIGlzbid0IGEgVW5pY29kZSBzdHJpbmcuCistCistICAg ICAgICAgIGBlcnJvcnNgIC0gc3RyIC0gSG93IHRvIGhhbmRsZSBVbmljb2RlIGVuY29kaW5nIGVy cm9ycy4KKy0gICAgICAgICAgICAgIERlZmF1bHQgaXMgYGAnc3RyaWN0J2BgLiAgU2VlIGBgaGVs cCh1bmljb2RlLmVuY29kZSlgYCBmb3IgdGhlCistICAgICAgICAgICAgICBvcHRpb25zLiAgVGhp cyBpcyBpZ25vcmVkIGlmIGB0ZXh0YCBpc24ndCBhIFVuaWNvZGUKKy0gICAgICAgICAgICAgIHN0 cmluZy4KKy0KKy0gICAgICAgICAgYGxpbmVzZXBgIC0ga2V5d29yZCBhcmd1bWVudCAtIHN0ci91 bmljb2RlIC0gVGhlIHNlcXVlbmNlIG9mCistICAgICAgICAgICAgICBjaGFyYWN0ZXJzIHRvIGJl IHVzZWQgdG8gbWFyayBlbmQtb2YtbGluZS4gIFRoZSBkZWZhdWx0IGlzCistICAgICAgICAgICAg ICA6ZGF0YTpgb3MubGluZXNlcGAuICBZb3UgY2FuIGFsc28gc3BlY2lmeSBgYE5vbmVgYCB0bwor LSAgICAgICAgICAgICAgbGVhdmUgYWxsIG5ld2xpbmVzIGFzIHRoZXkgYXJlIGluIGB0ZXh0YC4K Ky0KKy0gICAgICAgICAgYGFwcGVuZGAgLSBrZXl3b3JkIGFyZ3VtZW50IC0gYm9vbCAtIFNwZWNp ZmllcyB3aGF0IHRvIGRvIGlmCistICAgICAgICAgICAgICB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0 cyAoYGBUcnVlYGA6IGFwcGVuZCB0byB0aGUgZW5kIG9mIGl0OworLSAgICAgICAgICAgICAgYGBG YWxzZWBgOiBvdmVyd3JpdGUgaXQuKSAgVGhlIGRlZmF1bHQgaXMgYGBGYWxzZWBgLgorLQorLQor LSAgICAgICAgLS0tIE5ld2xpbmUgaGFuZGxpbmcuCistCistICAgICAgICBgYHdyaXRlX3RleHQo KWBgIGNvbnZlcnRzIGFsbCBzdGFuZGFyZCBlbmQtb2YtbGluZSBzZXF1ZW5jZXMKKy0gICAgICAg IChgYCdcbidgYCwgYGAnXHInYGAsIGFuZCBgYCdcclxuJ2BgKSB0byB5b3VyIHBsYXRmb3JtJ3Mg ZGVmYXVsdAorLSAgICAgICAgZW5kLW9mLWxpbmUgc2VxdWVuY2UgKHNlZSA6ZGF0YTpgb3MubGlu ZXNlcGA7IG9uIFdpbmRvd3MsIGZvciBleGFtcGxlLAorLSAgICAgICAgdGhlIGVuZC1vZi1saW5l IG1hcmtlciBpcyBgYCdcclxuJ2BgKS4KKy0KKy0gICAgICAgIElmIHlvdSBkb24ndCBsaWtlIHlv dXIgcGxhdGZvcm0ncyBkZWZhdWx0LCB5b3UgY2FuIG92ZXJyaWRlIGl0CistICAgICAgICB1c2lu ZyB0aGUgYGxpbmVzZXA9YCBrZXl3b3JkIGFyZ3VtZW50LiAgSWYgeW91IHNwZWNpZmljYWxseSB3 YW50CistICAgICAgICBgYHdyaXRlX3RleHQoKWBgIHRvIHByZXNlcnZlIHRoZSBuZXdsaW5lcyBh cy1pcywgdXNlIGBgbGluZXNlcD1Ob25lYGAuCistCistICAgICAgICBUaGlzIGFwcGxpZXMgdG8g VW5pY29kZSB0ZXh0IHRoZSBzYW1lIGFzIHRvIDgtYml0IHRleHQsIGV4Y2VwdAorLSAgICAgICAg dGhlcmUgYXJlIHRocmVlIGFkZGl0aW9uYWwgc3RhbmRhcmQgVW5pY29kZSBlbmQtb2YtbGluZSBz ZXF1ZW5jZXM6CistICAgICAgICBgYHUnXHg4NSdgYCwgYGB1J1xyXHg4NSdgYCwgYW5kIGBgdSdc dTIwMjgnYGAuCistCistICAgICAgICAoVGhpcyBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSB3 aGVuIHlvdSBvcGVuIGEgZmlsZSBmb3IKKy0gICAgICAgIHdyaXRpbmcgd2l0aCBgYGZvcGVuKGZp bGVuYW1lLCAidyIpYGAgaW4gQyBvciBgYG9wZW4oZmlsZW5hbWUsICd3JylgYAorLSAgICAgICAg aW4gUHl0aG9uLikKKy0KKy0KKy0gICAgICAgIC0tLSBVbmljb2RlCistCistICAgICAgICBJZiBg dGV4dGAgaXNuJ3QgVW5pY29kZSwgdGhlbiBhcGFydCBmcm9tIG5ld2xpbmUgaGFuZGxpbmcsIHRo ZQorLSAgICAgICAgYnl0ZXMgYXJlIHdyaXR0ZW4gdmVyYmF0aW0gdG8gdGhlIGZpbGUuICBUaGUg YGVuY29kaW5nYCBhbmQKKy0gICAgICAgIGBlcnJvcnNgIGFyZ3VtZW50cyBhcmUgbm90IHVzZWQg YW5kIG11c3QgYmUgb21pdHRlZC4KKy0KKy0gICAgICAgIElmIGB0ZXh0YCBpcyBVbmljb2RlLCBp dCBpcyBmaXJzdCBjb252ZXJ0ZWQgdG8gOmZ1bmM6YGJ5dGVzYCB1c2luZyB0aGUKKy0gICAgICAg IHNwZWNpZmllZCBgZW5jb2RpbmdgIChvciB0aGUgZGVmYXVsdCBlbmNvZGluZyBpZiBgZW5jb2Rp bmdgCistICAgICAgICBpc24ndCBzcGVjaWZpZWQpLiAgVGhlIGBlcnJvcnNgIGFyZ3VtZW50IGFw cGxpZXMgb25seSB0byB0aGlzCistICAgICAgICBjb252ZXJzaW9uLgorLQorLSAgICAgICAgIiIi CistICAgICAgICBpZiBpc2luc3RhbmNlKHRleHQsIHRleHRfdHlwZSk6CistICAgICAgICAgICAg aWYgbGluZXNlcCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgdGV4dCA9IFVfTkVXTElO RS5zdWIobGluZXNlcCwgdGV4dCkKKy0gICAgICAgICAgICB0ZXh0ID0gdGV4dC5lbmNvZGUoZW5j b2Rpbmcgb3Igc3lzLmdldGRlZmF1bHRlbmNvZGluZygpLCBlcnJvcnMpCistICAgICAgICBlbHNl OgorLSAgICAgICAgICAgIGFzc2VydCBlbmNvZGluZyBpcyBOb25lCistICAgICAgICAgICAgdGV4 dCA9IE5FV0xJTkUuc3ViKGxpbmVzZXAsIHRleHQpCistICAgICAgICBzZWxmLndyaXRlX2J5dGVz KHRleHQsIGFwcGVuZD1hcHBlbmQpCistCistICAgIGRlZiBsaW5lcyhzZWxmLCBlbmNvZGluZz1O b25lLCBlcnJvcnM9J3N0cmljdCcsIHJldGFpbj1UcnVlKToKKy0gICAgICAgIHIiIiIgT3BlbiB0 aGlzIGZpbGUsIHJlYWQgYWxsIGxpbmVzLCByZXR1cm4gdGhlbSBpbiBhIGxpc3QuCistCistICAg ICAgICBPcHRpb25hbCBhcmd1bWVudHM6CistICAgICAgICAgICAgYGVuY29kaW5nYCAtIFRoZSBV bmljb2RlIGVuY29kaW5nIChvciBjaGFyYWN0ZXIgc2V0KSBvZgorLSAgICAgICAgICAgICAgICB0 aGUgZmlsZS4gIFRoZSBkZWZhdWx0IGlzIGBgTm9uZWBgLCBtZWFuaW5nIHRoZSBjb250ZW50Cist ICAgICAgICAgICAgICAgIG9mIHRoZSBmaWxlIGlzIHJlYWQgYXMgOC1iaXQgY2hhcmFjdGVycyBh bmQgcmV0dXJuZWQKKy0gICAgICAgICAgICAgICAgYXMgYSBsaXN0IG9mIChub24tVW5pY29kZSkg c3RyIG9iamVjdHMuCistICAgICAgICAgICAgYGVycm9yc2AgLSBIb3cgdG8gaGFuZGxlIFVuaWNv ZGUgZXJyb3JzOyBzZWUgaGVscChzdHIuZGVjb2RlKQorLSAgICAgICAgICAgICAgICBmb3IgdGhl IG9wdGlvbnMuICBEZWZhdWx0IGlzIGBgJ3N0cmljdCdgYC4KKy0gICAgICAgICAgICBgcmV0YWlu YCAtIElmIGBgVHJ1ZWBgLCByZXRhaW4gbmV3bGluZSBjaGFyYWN0ZXJzOyBidXQgYWxsIG5ld2xp bmUKKy0gICAgICAgICAgICAgICAgY2hhcmFjdGVyIGNvbWJpbmF0aW9ucyAoYGAnXHInYGAsIGBg J1xuJ2BgLCBgYCdcclxuJ2BgKSBhcmUKKy0gICAgICAgICAgICAgICAgdHJhbnNsYXRlZCB0byBg YCdcbidgYC4gIElmIGBgRmFsc2VgYCwgbmV3bGluZSBjaGFyYWN0ZXJzIGFyZQorLSAgICAgICAg ICAgICAgICBzdHJpcHBlZCBvZmYuICBEZWZhdWx0IGlzIGBgVHJ1ZWBgLgorLQorLSAgICAgICAg VGhpcyB1c2VzIGBgJ1UnYGAgbW9kZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpg dGV4dGAKKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgZW5jb2RpbmcgaXMgTm9uZSBhbmQgcmV0 YWluOgorLSAgICAgICAgICAgIHdpdGggc2VsZi5vcGVuKCdVJykgYXMgZjoKKy0gICAgICAgICAg ICAgICAgcmV0dXJuIGYucmVhZGxpbmVzKCkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAg cmV0dXJuIHNlbGYudGV4dChlbmNvZGluZywgZXJyb3JzKS5zcGxpdGxpbmVzKHJldGFpbikKKy0K Ky0gICAgZGVmIHdyaXRlX2xpbmVzKHNlbGYsIGxpbmVzLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9 J3N0cmljdCcsCistICAgICAgICAgICAgICAgICAgICBsaW5lc2VwPW9zLmxpbmVzZXAsIGFwcGVu ZD1GYWxzZSk6CistICAgICAgICByIiIiIFdyaXRlIHRoZSBnaXZlbiBsaW5lcyBvZiB0ZXh0IHRv IHRoaXMgZmlsZS4KKy0KKy0gICAgICAgIEJ5IGRlZmF1bHQgdGhpcyBvdmVyd3JpdGVzIGFueSBl eGlzdGluZyBmaWxlIGF0IHRoaXMgcGF0aC4KKy0KKy0gICAgICAgIFRoaXMgcHV0cyBhIHBsYXRm b3JtLXNwZWNpZmljIG5ld2xpbmUgc2VxdWVuY2Ugb24gZXZlcnkgbGluZS4KKy0gICAgICAgIFNl ZSBgbGluZXNlcGAgYmVsb3cuCistCistICAgICAgICAgICAgYGxpbmVzYCAtIEEgbGlzdCBvZiBz dHJpbmdzLgorLQorLSAgICAgICAgICAgIGBlbmNvZGluZ2AgLSBBIFVuaWNvZGUgZW5jb2Rpbmcg dG8gdXNlLiAgVGhpcyBhcHBsaWVzIG9ubHkgaWYKKy0gICAgICAgICAgICAgICAgYGxpbmVzYCBj b250YWlucyBhbnkgVW5pY29kZSBzdHJpbmdzLgorLQorLSAgICAgICAgICAgIGBlcnJvcnNgIC0g SG93IHRvIGhhbmRsZSBlcnJvcnMgaW4gVW5pY29kZSBlbmNvZGluZy4gIFRoaXMKKy0gICAgICAg ICAgICAgICAgYWxzbyBhcHBsaWVzIG9ubHkgdG8gVW5pY29kZSBzdHJpbmdzLgorLQorLSAgICAg ICAgICAgIGxpbmVzZXAgLSBUaGUgZGVzaXJlZCBsaW5lLWVuZGluZy4gIFRoaXMgbGluZS1lbmRp bmcgaXMKKy0gICAgICAgICAgICAgICAgYXBwbGllZCB0byBldmVyeSBsaW5lLiAgSWYgYSBsaW5l IGFscmVhZHkgaGFzIGFueQorLSAgICAgICAgICAgICAgICBzdGFuZGFyZCBsaW5lIGVuZGluZyAo YGAnXHInYGAsIGBgJ1xuJ2BgLCBgYCdcclxuJ2BgLAorLSAgICAgICAgICAgICAgICBgYHUnXHg4 NSdgYCwgYGB1J1xyXHg4NSdgYCwgYGB1J1x1MjAyOCdgYCksIHRoYXQgd2lsbAorLSAgICAgICAg ICAgICAgICBiZSBzdHJpcHBlZCBvZmYgYW5kIHRoaXMgd2lsbCBiZSB1c2VkIGluc3RlYWQuICBU aGUKKy0gICAgICAgICAgICAgICAgZGVmYXVsdCBpcyBvcy5saW5lc2VwLCB3aGljaCBpcyBwbGF0 Zm9ybS1kZXBlbmRlbnQKKy0gICAgICAgICAgICAgICAgKGBgJ1xyXG4nYGAgb24gV2luZG93cywg YGAnXG4nYGAgb24gVW5peCwgZXRjLikuCistICAgICAgICAgICAgICAgIFNwZWNpZnkgYGBOb25l YGAgdG8gd3JpdGUgdGhlIGxpbmVzIGFzLWlzLCBsaWtlCistICAgICAgICAgICAgICAgIDptZXRo OmBmaWxlLndyaXRlbGluZXNgLgorLQorLSAgICAgICAgVXNlIHRoZSBrZXl3b3JkIGFyZ3VtZW50 IGBgYXBwZW5kPVRydWVgYCB0byBhcHBlbmQgbGluZXMgdG8gdGhlCistICAgICAgICBmaWxlLiAg VGhlIGRlZmF1bHQgaXMgdG8gb3ZlcndyaXRlIHRoZSBmaWxlLgorLQorLSAgICAgICAgLi4gd2Fy bmluZyA6OgorLQorLSAgICAgICAgICAgIFdoZW4geW91IHVzZSB0aGlzIHdpdGggVW5pY29kZSBk YXRhLCBpZiB0aGUgZW5jb2Rpbmcgb2YgdGhlCistICAgICAgICAgICAgZXhpc3RpbmcgZGF0YSBp biB0aGUgZmlsZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZW5jb2RpbmcKKy0gICAgICAgICAgICB5 b3Ugc3BlY2lmeSB3aXRoIHRoZSBgZW5jb2Rpbmc9YCBwYXJhbWV0ZXIsIHRoZSByZXN1bHQgaXMK Ky0gICAgICAgICAgICBtaXhlZC1lbmNvZGluZyBkYXRhLCB3aGljaCBjYW4gcmVhbGx5IGNvbmZ1 c2Ugc29tZW9uZSB0cnlpbmcKKy0gICAgICAgICAgICB0byByZWFkIHRoZSBmaWxlIGxhdGVyLgor LSAgICAgICAgIiIiCistICAgICAgICB3aXRoIHNlbGYub3BlbignYWInIGlmIGFwcGVuZCBlbHNl ICd3YicpIGFzIGY6CistICAgICAgICAgICAgZm9yIGwgaW4gbGluZXM6CistICAgICAgICAgICAg ICAgIGlzVW5pY29kZSA9IGlzaW5zdGFuY2UobCwgdGV4dF90eXBlKQorLSAgICAgICAgICAgICAg ICBpZiBsaW5lc2VwIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgICAgICAgICAgcGF0dGVybiA9 IFVfTkxfRU5EIGlmIGlzVW5pY29kZSBlbHNlIE5MX0VORAorLSAgICAgICAgICAgICAgICAgICAg bCA9IHBhdHRlcm4uc3ViKCcnLCBsKSArIGxpbmVzZXAKKy0gICAgICAgICAgICAgICAgaWYgaXNV bmljb2RlOgorLSAgICAgICAgICAgICAgICAgICAgbCA9IGwuZW5jb2RlKGVuY29kaW5nIG9yIHN5 cy5nZXRkZWZhdWx0ZW5jb2RpbmcoKSwgZXJyb3JzKQorLSAgICAgICAgICAgICAgICBmLndyaXRl KGwpCistCistICAgIGRlZiByZWFkX21kNShzZWxmKToKKy0gICAgICAgICIiIiBDYWxjdWxhdGUg dGhlIG1kNSBoYXNoIGZvciB0aGlzIGZpbGUuCistCistICAgICAgICBUaGlzIHJlYWRzIHRocm91 Z2ggdGhlIGVudGlyZSBmaWxlLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmByZWFk X2hhc2hgCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLnJlYWRfaGFzaCgnbWQ1 JykKKy0KKy0gICAgZGVmIF9oYXNoKHNlbGYsIGhhc2hfbmFtZSk6CistICAgICAgICAiIiIgUmV0 dXJucyBhIGhhc2ggb2JqZWN0IGZvciB0aGUgZmlsZSBhdCB0aGUgY3VycmVudCBwYXRoLgorLQor LSAgICAgICAgICAgIGBoYXNoX25hbWVgIHNob3VsZCBiZSBhIGhhc2ggYWxnbyBuYW1lIChzdWNo IGFzIGBgJ21kNSdgYCBvciBgYCdzaGExJ2BgKQorLSAgICAgICAgICAgIHRoYXQncyBhdmFpbGFi bGUgaW4gdGhlIDptb2Q6YGhhc2hsaWJgIG1vZHVsZS4KKy0gICAgICAgICIiIgorLSAgICAgICAg bSA9IGhhc2hsaWIubmV3KGhhc2hfbmFtZSkKKy0gICAgICAgIGZvciBjaHVuayBpbiBzZWxmLmNo dW5rcyg4MTkyLCBtb2RlPSJyYiIpOgorLSAgICAgICAgICAgIG0udXBkYXRlKGNodW5rKQorLSAg ICAgICAgcmV0dXJuIG0KKy0KKy0gICAgZGVmIHJlYWRfaGFzaChzZWxmLCBoYXNoX25hbWUpOgor LSAgICAgICAgIiIiIENhbGN1bGF0ZSBnaXZlbiBoYXNoIGZvciB0aGlzIGZpbGUuCistCistICAg ICAgICBMaXN0IG9mIHN1cHBvcnRlZCBoYXNoZXMgY2FuIGJlIG9idGFpbmVkIGZyb20gOm1vZDpg aGFzaGxpYmAgcGFja2FnZS4KKy0gICAgICAgIFRoaXMgcmVhZHMgdGhlIGVudGlyZSBmaWxlLgor LQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBoYXNobGliLmhhc2guZGlnZXN0YAorLSAg ICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5faGFzaChoYXNoX25hbWUpLmRpZ2VzdCgp CistCistICAgIGRlZiByZWFkX2hleGhhc2goc2VsZiwgaGFzaF9uYW1lKToKKy0gICAgICAgICIi IiBDYWxjdWxhdGUgZ2l2ZW4gaGFzaCBmb3IgdGhpcyBmaWxlLCByZXR1cm5pbmcgaGV4ZGlnZXN0 LgorLQorLSAgICAgICAgTGlzdCBvZiBzdXBwb3J0ZWQgaGFzaGVzIGNhbiBiZSBvYnRhaW5lZCBm cm9tIDptb2Q6YGhhc2hsaWJgIHBhY2thZ2UuCistICAgICAgICBUaGlzIHJlYWRzIHRoZSBlbnRp cmUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgaGFzaGxpYi5oYXNoLmhl eGRpZ2VzdGAKKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2goaGFzaF9u YW1lKS5oZXhkaWdlc3QoKQorLQorLSAgICAjIC0tLSBNZXRob2RzIGZvciBxdWVyeWluZyB0aGUg ZmlsZXN5c3RlbS4KKy0gICAgIyBOLkIuIE9uIHNvbWUgcGxhdGZvcm1zLCB0aGUgb3MucGF0aCBm dW5jdGlvbnMgbWF5IGJlIGltcGxlbWVudGVkIGluIEMKKy0gICAgIyAoZS5nLiBpc2RpciBvbiBX aW5kb3dzLCBQeXRob24gMy4yLjIpLCBhbmQgY29tcGlsZWQgZnVuY3Rpb25zIGRvbid0IGdldAor LSAgICAjIGJvdW5kLiBQbGF5aW5nIGl0IHNhZmUgYW5kIHdyYXBwaW5nIHRoZW0gYWxsIGluIG1l dGhvZCBjYWxscy4KKy0KKy0gICAgZGVmIGlzYWJzKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNl ZWFsc286OiA6ZnVuYzpgb3MucGF0aC5pc2Fic2AgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5t b2R1bGUuaXNhYnMoc2VsZikKKy0KKy0gICAgZGVmIGV4aXN0cyhzZWxmKToKKy0gICAgICAgICIi IiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguZXhpc3RzYCAiIiIKKy0gICAgICAgIHJldHVy biBzZWxmLm1vZHVsZS5leGlzdHMoc2VsZikKKy0KKy0gICAgZGVmIGlzZGlyKHNlbGYpOgorLSAg ICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5pc2RpcmAgIiIiCistICAgICAg ICByZXR1cm4gc2VsZi5tb2R1bGUuaXNkaXIoc2VsZikKKy0KKy0gICAgZGVmIGlzZmlsZShzZWxm KToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguaXNmaWxlYCAiIiIK Ky0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5pc2ZpbGUoc2VsZikKKy0KKy0gICAgZGVmIGlz bGluayhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguaXNs aW5rYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5pc2xpbmsoc2VsZikKKy0KKy0g ICAgZGVmIGlzbW91bnQoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBv cy5wYXRoLmlzbW91bnRgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmlzbW91bnQo c2VsZikKKy0KKy0gICAgZGVmIHNhbWVmaWxlKHNlbGYsIG90aGVyKToKKy0gICAgICAgICIiIiAu LiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguc2FtZWZpbGVgICIiIgorLSAgICAgICAgaWYgbm90 IGhhc2F0dHIoc2VsZi5tb2R1bGUsICdzYW1lZmlsZScpOgorLSAgICAgICAgICAgIG90aGVyID0g UGF0aChvdGhlcikucmVhbHBhdGgoKS5ub3JtcGF0aCgpLm5vcm1jYXNlKCkKKy0gICAgICAgICAg ICByZXR1cm4gc2VsZi5yZWFscGF0aCgpLm5vcm1wYXRoKCkubm9ybWNhc2UoKSA9PSBvdGhlcgor LSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLnNhbWVmaWxlKHNlbGYsIG90aGVyKQorLQorLSAg ICBkZWYgZ2V0YXRpbWUoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDphdHRyOmBh dGltZWAsIDpmdW5jOmBvcy5wYXRoLmdldGF0aW1lYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxm Lm1vZHVsZS5nZXRhdGltZShzZWxmKQorLQorLSAgICBhdGltZSA9IHByb3BlcnR5KAorLSAgICAg ICAgZ2V0YXRpbWUsIE5vbmUsIE5vbmUsCistICAgICAgICAiIiIgTGFzdCBhY2Nlc3MgdGltZSBv ZiB0aGUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgZ2V0YXRpbWVgLCA6 ZnVuYzpgb3MucGF0aC5nZXRhdGltZWAKKy0gICAgICAgICIiIikKKy0KKy0gICAgZGVmIGdldG10 aW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpgbXRpbWVgLCA6ZnVu Yzpgb3MucGF0aC5nZXRtdGltZWAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuZ2V0 bXRpbWUoc2VsZikKKy0KKy0gICAgbXRpbWUgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldG10aW1l LCBOb25lLCBOb25lLAorLSAgICAgICAgIiIiIExhc3QtbW9kaWZpZWQgdGltZSBvZiB0aGUgZmls ZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgZ2V0bXRpbWVgLCA6ZnVuYzpgb3Mu cGF0aC5nZXRtdGltZWAKKy0gICAgICAgICIiIikKKy0KKy0gICAgZGVmIGdldGN0aW1lKHNlbGYp OgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpgY3RpbWVgLCA6ZnVuYzpgb3MucGF0 aC5nZXRjdGltZWAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuZ2V0Y3RpbWUoc2Vs ZikKKy0KKy0gICAgY3RpbWUgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldGN0aW1lLCBOb25lLCBO b25lLAorLSAgICAgICAgIiIiIENyZWF0aW9uIHRpbWUgb2YgdGhlIGZpbGUuCistCistICAgICAg ICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldGN0aW1lYCwgOmZ1bmM6YG9zLnBhdGguZ2V0Y3RpbWVg CistICAgICAgICAiIiIpCistCistICAgIGRlZiBnZXRzaXplKHNlbGYpOgorLSAgICAgICAgIiIi IC4uIHNlZWFsc286OiA6YXR0cjpgc2l6ZWAsIDpmdW5jOmBvcy5wYXRoLmdldHNpemVgICIiIgor LSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmdldHNpemUoc2VsZikKKy0KKy0gICAgc2l6ZSA9 IHByb3BlcnR5KAorLSAgICAgICAgZ2V0c2l6ZSwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBT aXplIG9mIHRoZSBmaWxlLCBpbiBieXRlcy4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0 aDpgZ2V0c2l6ZWAsIDpmdW5jOmBvcy5wYXRoLmdldHNpemVgCistICAgICAgICAiIiIpCistCist ICAgIGlmIGhhc2F0dHIob3MsICdhY2Nlc3MnKToKKy0gICAgICAgIGRlZiBhY2Nlc3Moc2VsZiwg bW9kZSk6CistICAgICAgICAgICAgIiIiIFJldHVybiBgYFRydWVgYCBpZiBjdXJyZW50IHVzZXIg aGFzIGFjY2VzcyB0byB0aGlzIHBhdGguCistCistICAgICAgICAgICAgbW9kZSAtIE9uZSBvZiB0 aGUgY29uc3RhbnRzIDpkYXRhOmBvcy5GX09LYCwgOmRhdGE6YG9zLlJfT0tgLAorLSAgICAgICAg ICAgIDpkYXRhOmBvcy5XX09LYCwgOmRhdGE6YG9zLlhfT0tgCistCistICAgICAgICAgICAgLi4g c2VlYWxzbzo6IDpmdW5jOmBvcy5hY2Nlc3NgCistICAgICAgICAgICAgIiIiCistICAgICAgICAg ICAgcmV0dXJuIG9zLmFjY2VzcyhzZWxmLCBtb2RlKQorLQorLSAgICBkZWYgc3RhdChzZWxmKToK Ky0gICAgICAgICIiIiBQZXJmb3JtIGEgYGBzdGF0KClgYCBzeXN0ZW0gY2FsbCBvbiB0aGlzIHBh dGguCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGxzdGF0YCwgOmZ1bmM6YG9zLnN0 YXRgCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBvcy5zdGF0KHNlbGYpCistCistICAg IGRlZiBsc3RhdChzZWxmKToKKy0gICAgICAgICIiIiBMaWtlIDptZXRoOmBzdGF0YCwgYnV0IGRv IG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1l dGg6YHN0YXRgLCA6ZnVuYzpgb3MubHN0YXRgCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVy biBvcy5sc3RhdChzZWxmKQorLQorLSAgICBkZWYgX19nZXRfb3duZXJfd2luZG93cyhzZWxmKToK Ky0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBvd25lciBvZiB0 aGlzIGZpbGUgb3IgZGlyZWN0b3J5LiBGb2xsb3cKKy0gICAgICAgIHN5bWJvbGljIGxpbmtzLgor LQorLSAgICAgICAgUmV0dXJuIGEgbmFtZSBvZiB0aGUgZm9ybSBgYHInRE9NQUlOXFxVc2VyIE5h bWUnYGA7IG1heSBiZSBhIGdyb3VwLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDphdHRyOmBv d25lcmAKKy0gICAgICAgICIiIgorLSAgICAgICAgZGVzYyA9IHdpbjMyc2VjdXJpdHkuR2V0Rmls ZVNlY3VyaXR5KAorLSAgICAgICAgICAgIHNlbGYsIHdpbjMyc2VjdXJpdHkuT1dORVJfU0VDVVJJ VFlfSU5GT1JNQVRJT04pCistICAgICAgICBzaWQgPSBkZXNjLkdldFNlY3VyaXR5RGVzY3JpcHRv ck93bmVyKCkKKy0gICAgICAgIGFjY291bnQsIGRvbWFpbiwgdHlwZWNvZGUgPSB3aW4zMnNlY3Vy aXR5Lkxvb2t1cEFjY291bnRTaWQoTm9uZSwgc2lkKQorLSAgICAgICAgcmV0dXJuIGRvbWFpbiAr ICdcXCcgKyBhY2NvdW50CistCistICAgIGRlZiBfX2dldF9vd25lcl91bml4KHNlbGYpOgorLSAg ICAgICAgIiIiCistICAgICAgICBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIG93bmVyIG9mIHRoaXMg ZmlsZSBvciBkaXJlY3RvcnkuIEZvbGxvdworLSAgICAgICAgc3ltYm9saWMgbGlua3MuCistCist ICAgICAgICAuLiBzZWVhbHNvOjogOmF0dHI6YG93bmVyYAorLSAgICAgICAgIiIiCistICAgICAg ICBzdCA9IHNlbGYuc3RhdCgpCistICAgICAgICByZXR1cm4gcHdkLmdldHB3dWlkKHN0LnN0X3Vp ZCkucHdfbmFtZQorLQorLSAgICBkZWYgX19nZXRfb3duZXJfbm90X2ltcGxlbWVudGVkKHNlbGYp OgorLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigiT3duZXJzaGlwIG5vdCBhdmFp bGFibGUgb24gdGhpcyBwbGF0Zm9ybS4iKQorLQorLSAgICBpZiAnd2luMzJzZWN1cml0eScgaW4g Z2xvYmFscygpOgorLSAgICAgICAgZ2V0X293bmVyID0gX19nZXRfb3duZXJfd2luZG93cworLSAg ICBlbGlmICdwd2QnIGluIGdsb2JhbHMoKToKKy0gICAgICAgIGdldF9vd25lciA9IF9fZ2V0X293 bmVyX3VuaXgKKy0gICAgZWxzZToKKy0gICAgICAgIGdldF9vd25lciA9IF9fZ2V0X293bmVyX25v dF9pbXBsZW1lbnRlZAorLQorLSAgICBvd25lciA9IHByb3BlcnR5KAorLSAgICAgICAgZ2V0X293 bmVyLCBOb25lLCBOb25lLAorLSAgICAgICAgIiIiIE5hbWUgb2YgdGhlIG93bmVyIG9mIHRoaXMg ZmlsZSBvciBkaXJlY3RvcnkuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldF9v d25lcmAiIiIpCistCistICAgIGlmIGhhc2F0dHIob3MsICdzdGF0dmZzJyk6CistICAgICAgICBk ZWYgc3RhdHZmcyhzZWxmKToKKy0gICAgICAgICAgICAiIiIgUGVyZm9ybSBhIGBgc3RhdHZmcygp YGAgc3lzdGVtIGNhbGwgb24gdGhpcyBwYXRoLgorLQorLSAgICAgICAgICAgIC4uIHNlZWFsc286 OiA6ZnVuYzpgb3Muc3RhdHZmc2AKKy0gICAgICAgICAgICAiIiIKKy0gICAgICAgICAgICByZXR1 cm4gb3Muc3RhdHZmcyhzZWxmKQorLQorLSAgICBpZiBoYXNhdHRyKG9zLCAncGF0aGNvbmYnKToK Ky0gICAgICAgIGRlZiBwYXRoY29uZihzZWxmLCBuYW1lKToKKy0gICAgICAgICAgICAiIiIgLi4g c2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoY29uZmAgIiIiCistICAgICAgICAgICAgcmV0dXJuIG9z LnBhdGhjb25mKHNlbGYsIG5hbWUpCistCistICAgICMKKy0gICAgIyAtLS0gTW9kaWZ5aW5nIG9w ZXJhdGlvbnMgb24gZmlsZXMgYW5kIGRpcmVjdG9yaWVzCistCistICAgIGRlZiB1dGltZShzZWxm LCB0aW1lcyk6CistICAgICAgICAiIiIgU2V0IHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWVz IG9mIHRoaXMgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MudXRpbWVg CistICAgICAgICAiIiIKKy0gICAgICAgIG9zLnV0aW1lKHNlbGYsIHRpbWVzKQorLSAgICAgICAg cmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIGNobW9kKHNlbGYsIG1vZGUpOgorLSAgICAgICAgIiIi CistICAgICAgICBTZXQgdGhlIG1vZGUuIE1heSBiZSB0aGUgbmV3IG1vZGUgKG9zLmNobW9kIGJl aGF2aW9yKSBvciBhIGBzeW1ib2xpYworLSAgICAgICAgbW9kZSA8aHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9DaG1vZCNTeW1ib2xpY19tb2Rlcz5gXy4KKy0KKy0gICAgICAgIC4uIHNlZWFs c286OiA6ZnVuYzpgb3MuY2htb2RgCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGlzaW5zdGFu Y2UobW9kZSwgc3RyaW5nX3R5cGVzKToKKy0gICAgICAgICAgICBtYXNrID0gX211bHRpX3Blcm1p c3Npb25fbWFzayhtb2RlKQorLSAgICAgICAgICAgIG1vZGUgPSBtYXNrKHNlbGYuc3RhdCgpLnN0 X21vZGUpCistICAgICAgICBvcy5jaG1vZChzZWxmLCBtb2RlKQorLSAgICAgICAgcmV0dXJuIHNl bGYKKy0KKy0gICAgZGVmIGNob3duKHNlbGYsIHVpZD0tMSwgZ2lkPS0xKToKKy0gICAgICAgICIi IgorLSAgICAgICAgQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgYnkgbmFtZXMgcmF0aGVyIHRo YW4gdGhlIHVpZCBvciBnaWQgbnVtYmVycy4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVu Yzpgb3MuY2hvd25gCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGhhc2F0dHIob3MsICdjaG93 bicpOgorLSAgICAgICAgICAgIGlmICdwd2QnIGluIGdsb2JhbHMoKSBhbmQgaXNpbnN0YW5jZSh1 aWQsIHN0cmluZ190eXBlcyk6CistICAgICAgICAgICAgICAgIHVpZCA9IHB3ZC5nZXRwd25hbSh1 aWQpLnB3X3VpZAorLSAgICAgICAgICAgIGlmICdncnAnIGluIGdsb2JhbHMoKSBhbmQgaXNpbnN0 YW5jZShnaWQsIHN0cmluZ190eXBlcyk6CistICAgICAgICAgICAgICAgIGdpZCA9IGdycC5nZXRn cm5hbShnaWQpLmdyX2dpZAorLSAgICAgICAgICAgIG9zLmNob3duKHNlbGYsIHVpZCwgZ2lkKQor LSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJP d25lcnNoaXAgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiIpCistICAgICAgICByZXR1 cm4gc2VsZgorLQorLSAgICBkZWYgcmVuYW1lKHNlbGYsIG5ldyk6CistICAgICAgICAiIiIgLi4g c2VlYWxzbzo6IDpmdW5jOmBvcy5yZW5hbWVgICIiIgorLSAgICAgICAgb3MucmVuYW1lKHNlbGYs IG5ldykKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKG5ldykKKy0KKy0gICAgZGVm IHJlbmFtZXMoc2VsZiwgbmV3KToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9z LnJlbmFtZXNgICIiIgorLSAgICAgICAgb3MucmVuYW1lcyhzZWxmLCBuZXcpCistICAgICAgICBy ZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhuZXcpCistCistICAgICMKKy0gICAgIyAtLS0gQ3JlYXRl L2RlbGV0ZSBvcGVyYXRpb25zIG9uIGRpcmVjdG9yaWVzCistCistICAgIGRlZiBta2RpcihzZWxm LCBtb2RlPTBvNzc3KToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLm1rZGly YCAiIiIKKy0gICAgICAgIG9zLm1rZGlyKHNlbGYsIG1vZGUpCistICAgICAgICByZXR1cm4gc2Vs ZgorLQorLSAgICBkZWYgbWtkaXJfcChzZWxmLCBtb2RlPTBvNzc3KToKKy0gICAgICAgICIiIiBM aWtlIDptZXRoOmBta2RpcmAsIGJ1dCBkb2VzIG5vdCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhl CistICAgICAgICBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMuICIiIgorLSAgICAgICAgdHJ5Ogor LSAgICAgICAgICAgIHNlbGYubWtkaXIobW9kZSkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgor LSAgICAgICAgICAgIF8sIGUsIF8gPSBzeXMuZXhjX2luZm8oKQorLSAgICAgICAgICAgIGlmIGUu ZXJybm8gIT0gZXJybm8uRUVYSVNUOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAg cmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIG1ha2VkaXJzKHNlbGYsIG1vZGU9MG83NzcpOgorLSAg ICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MubWFrZWRpcnNgICIiIgorLSAgICAgICAg b3MubWFrZWRpcnMoc2VsZiwgbW9kZSkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRl ZiBtYWtlZGlyc19wKHNlbGYsIG1vZGU9MG83NzcpOgorLSAgICAgICAgIiIiIExpa2UgOm1ldGg6 YG1ha2VkaXJzYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAg ICAgIGRpcmVjdG9yeSBhbHJlYWR5IGV4aXN0cy4gIiIiCistICAgICAgICB0cnk6CistICAgICAg ICAgICAgc2VsZi5tYWtlZGlycyhtb2RlKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAg ICAgICAgICAgXywgZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAgICAgICAgICAgaWYgZS5lcnJu byAhPSBlcnJuby5FRVhJU1Q6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICByZXR1 cm4gc2VsZgorLQorLSAgICBkZWYgcm1kaXIoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxz bzo6IDpmdW5jOmBvcy5ybWRpcmAgIiIiCistICAgICAgICBvcy5ybWRpcihzZWxmKQorLSAgICAg ICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJtZGlyX3Aoc2VsZik6CistICAgICAgICAiIiIg TGlrZSA6bWV0aDpgcm1kaXJgLCBidXQgZG9lcyBub3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRo ZQorLSAgICAgICAgZGlyZWN0b3J5IGlzIG5vdCBlbXB0eSBvciBkb2VzIG5vdCBleGlzdC4gIiIi CistICAgICAgICB0cnk6CistICAgICAgICAgICAgc2VsZi5ybWRpcigpCistICAgICAgICBleGNl cHQgT1NFcnJvcjoKKy0gICAgICAgICAgICBfLCBlLCBfID0gc3lzLmV4Y19pbmZvKCkKKy0gICAg ICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVOT1RFTVBUWSBhbmQgZS5lcnJubyAhPSBlcnJu by5FRVhJU1Q6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICByZXR1cm4gc2VsZgor LQorLSAgICBkZWYgcmVtb3ZlZGlycyhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjog OmZ1bmM6YG9zLnJlbW92ZWRpcnNgICIiIgorLSAgICAgICAgb3MucmVtb3ZlZGlycyhzZWxmKQor LSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJlbW92ZWRpcnNfcChzZWxmKToKKy0g ICAgICAgICIiIiBMaWtlIDptZXRoOmByZW1vdmVkaXJzYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFu IGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGRpcmVjdG9yeSBpcyBub3QgZW1wdHkgb3IgZG9l cyBub3QgZXhpc3QuICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHNlbGYucmVtb3Zl ZGlycygpCistICAgICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAgICAgICAgICBfLCBlLCBfID0g c3lzLmV4Y19pbmZvKCkKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVOT1RFTVBU WSBhbmQgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CistICAgICAgICAgICAgICAgIHJhaXNlCist ICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICAjIC0tLSBNb2RpZnlpbmcgb3BlcmF0aW9ucyBv biBmaWxlcworLQorLSAgICBkZWYgdG91Y2goc2VsZik6CistICAgICAgICAiIiIgU2V0IHRoZSBh Y2Nlc3MvbW9kaWZpZWQgdGltZXMgb2YgdGhpcyBmaWxlIHRvIHRoZSBjdXJyZW50IHRpbWUuCist ICAgICAgICBDcmVhdGUgdGhlIGZpbGUgaWYgaXQgZG9lcyBub3QgZXhpc3QuCistICAgICAgICAi IiIKKy0gICAgICAgIGZkID0gb3Mub3BlbihzZWxmLCBvcy5PX1dST05MWSB8IG9zLk9fQ1JFQVQs IDBvNjY2KQorLSAgICAgICAgb3MuY2xvc2UoZmQpCistICAgICAgICBvcy51dGltZShzZWxmLCBO b25lKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJlbW92ZShzZWxmKToKKy0g ICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnJlbW92ZWAgIiIiCistICAgICAgICBv cy5yZW1vdmUoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiByZW1vdmVf cChzZWxmKToKKy0gICAgICAgICIiIiBMaWtlIDptZXRoOmByZW1vdmVgLCBidXQgZG9lcyBub3Qg cmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZQorLSAgICAgICAgZmlsZSBkb2VzIG5vdCBleGlzdC4g IiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgc2VsZi51bmxpbmsoKQorLSAgICAgICAg ZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgXywgZSwgXyA9IHN5cy5leGNfaW5mbygpCist ICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9FTlQ6CistICAgICAgICAgICAgICAg IHJhaXNlCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgdW5saW5rKHNlbGYpOgor LSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MudW5saW5rYCAiIiIKKy0gICAgICAg IG9zLnVubGluayhzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHVubGlu a19wKHNlbGYpOgorLSAgICAgICAgIiIiIExpa2UgOm1ldGg6YHVubGlua2AsIGJ1dCBkb2VzIG5v dCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlCistICAgICAgICBmaWxlIGRvZXMgbm90IGV4aXN0 LiAiIiIKKy0gICAgICAgIHNlbGYucmVtb3ZlX3AoKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0K Ky0gICAgIyAtLS0gTGlua3MKKy0KKy0gICAgaWYgaGFzYXR0cihvcywgJ2xpbmsnKToKKy0gICAg ICAgIGRlZiBsaW5rKHNlbGYsIG5ld3BhdGgpOgorLSAgICAgICAgICAgICIiIiBDcmVhdGUgYSBo YXJkIGxpbmsgYXQgYG5ld3BhdGhgLCBwb2ludGluZyB0byB0aGlzIGZpbGUuCistCistICAgICAg ICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5saW5rYAorLSAgICAgICAgICAgICIiIgorLSAg ICAgICAgICAgIG9zLmxpbmsoc2VsZiwgbmV3cGF0aCkKKy0gICAgICAgICAgICByZXR1cm4gc2Vs Zi5fbmV4dF9jbGFzcyhuZXdwYXRoKQorLQorLSAgICBpZiBoYXNhdHRyKG9zLCAnc3ltbGluaycp OgorLSAgICAgICAgZGVmIHN5bWxpbmsoc2VsZiwgbmV3bGluayk6CistICAgICAgICAgICAgIiIi IENyZWF0ZSBhIHN5bWJvbGljIGxpbmsgYXQgYG5ld2xpbmtgLCBwb2ludGluZyBoZXJlLgorLQor LSAgICAgICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3Muc3ltbGlua2AKKy0gICAgICAgICAg ICAiIiIKKy0gICAgICAgICAgICBvcy5zeW1saW5rKHNlbGYsIG5ld2xpbmspCistICAgICAgICAg ICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MobmV3bGluaykKKy0KKy0gICAgaWYgaGFzYXR0cihv cywgJ3JlYWRsaW5rJyk6CistICAgICAgICBkZWYgcmVhZGxpbmsoc2VsZik6CistICAgICAgICAg ICAgIiIiIFJldHVybiB0aGUgcGF0aCB0byB3aGljaCB0aGlzIHN5bWJvbGljIGxpbmsgcG9pbnRz LgorLQorLSAgICAgICAgICAgIFRoZSByZXN1bHQgbWF5IGJlIGFuIGFic29sdXRlIG9yIGEgcmVs YXRpdmUgcGF0aC4KKy0KKy0gICAgICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YHJlYWRsaW5r YWJzYCwgOmZ1bmM6YG9zLnJlYWRsaW5rYAorLSAgICAgICAgICAgICIiIgorLSAgICAgICAgICAg IHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKG9zLnJlYWRsaW5rKHNlbGYpKQorLQorLSAgICAgICAg ZGVmIHJlYWRsaW5rYWJzKHNlbGYpOgorLSAgICAgICAgICAgICIiIiBSZXR1cm4gdGhlIHBhdGgg dG8gd2hpY2ggdGhpcyBzeW1ib2xpYyBsaW5rIHBvaW50cy4KKy0KKy0gICAgICAgICAgICBUaGUg cmVzdWx0IGlzIGFsd2F5cyBhbiBhYnNvbHV0ZSBwYXRoLgorLQorLSAgICAgICAgICAgIC4uIHNl ZWFsc286OiA6bWV0aDpgcmVhZGxpbmtgLCA6ZnVuYzpgb3MucmVhZGxpbmtgCistICAgICAgICAg ICAgIiIiCistICAgICAgICAgICAgcCA9IHNlbGYucmVhZGxpbmsoKQorLSAgICAgICAgICAgIGlm IHAuaXNhYnMoKToKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHAKKy0gICAgICAgICAgICBlbHNl OgorLSAgICAgICAgICAgICAgICByZXR1cm4gKHNlbGYucGFyZW50IC8gcCkuYWJzcGF0aCgpCist CistICAgICMgSGlnaC1sZXZlbCBmdW5jdGlvbnMgZnJvbSBzaHV0aWwKKy0gICAgIyBUaGVzZSBm dW5jdGlvbnMgd2lsbCBiZSBib3VuZCB0byB0aGUgaW5zdGFuY2Ugc3VjaCB0aGF0CistICAgICMg UGF0aChuYW1lKS5jb3B5KHRhcmdldCkgd2lsbCBpbnZva2Ugc2h1dGlsLmNvcHkobmFtZSwgdGFy Z2V0KQorLQorLSAgICBjb3B5ZmlsZSA9IHNodXRpbC5jb3B5ZmlsZQorLSAgICBjb3B5bW9kZSA9 IHNodXRpbC5jb3B5bW9kZQorLSAgICBjb3B5c3RhdCA9IHNodXRpbC5jb3B5c3RhdAorLSAgICBj b3B5ID0gc2h1dGlsLmNvcHkKKy0gICAgY29weTIgPSBzaHV0aWwuY29weTIKKy0gICAgY29weXRy ZWUgPSBzaHV0aWwuY29weXRyZWUKKy0gICAgaWYgaGFzYXR0cihzaHV0aWwsICdtb3ZlJyk6Cist ICAgICAgICBtb3ZlID0gc2h1dGlsLm1vdmUKKy0gICAgcm10cmVlID0gc2h1dGlsLnJtdHJlZQor LQorLSAgICBkZWYgcm10cmVlX3Aoc2VsZik6CistICAgICAgICAiIiIgTGlrZSA6bWV0aDpgcm10 cmVlYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGRp cmVjdG9yeSBkb2VzIG5vdCBleGlzdC4gIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAg c2VsZi5ybXRyZWUoKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgXywg ZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5F Tk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICByZXR1cm4gc2VsZgorLQor LSAgICBkZWYgY2hkaXIoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBv cy5jaGRpcmAgIiIiCistICAgICAgICBvcy5jaGRpcihzZWxmKQorLQorLSAgICBjZCA9IGNoZGly CistCistICAgIGRlZiBtZXJnZV90cmVlKHNlbGYsIGRzdCwgc3ltbGlua3M9RmFsc2UsICphcmdz LCAqKmt3YXJncyk6CistICAgICAgICAiIiIKKy0gICAgICAgIENvcHkgZW50aXJlIGNvbnRlbnRz IG9mIHNlbGYgdG8gZHN0LCBvdmVyd3JpdGluZyBleGlzdGluZworLSAgICAgICAgY29udGVudHMg aW4gZHN0IHdpdGggdGhvc2UgaW4gc2VsZi4KKy0KKy0gICAgICAgIElmIHRoZSBhZGRpdGlvbmFs IGtleXdvcmQgYHVwZGF0ZWAgaXMgVHJ1ZSwgZWFjaAorLSAgICAgICAgYHNyY2Agd2lsbCBvbmx5 IGJlIGNvcGllZCBpZiBgZHN0YCBkb2VzIG5vdCBleGlzdCwKKy0gICAgICAgIG9yIGBzcmNgIGlz IG5ld2VyIHRoYW4gYGRzdGAuCistCistICAgICAgICBOb3RlIHRoYXQgdGhlIHRlY2huaXF1ZSBl bXBsb3llZCBzdGFnZXMgdGhlIGZpbGVzIGluIGEgdGVtcG9yYXJ5CistICAgICAgICBkaXJlY3Rv cnkgZmlyc3QsIHNvIHRoaXMgZnVuY3Rpb24gaXMgbm90IHN1aXRhYmxlIGZvciBtZXJnaW5nCist ICAgICAgICB0cmVlcyB3aXRoIGxhcmdlIGZpbGVzLCBlc3BlY2lhbGx5IGlmIHRoZSB0ZW1wb3Jh cnkgZGlyZWN0b3J5CistICAgICAgICBpcyBub3QgY2FwYWJsZSBvZiBzdG9yaW5nIGEgY29weSBv ZiB0aGUgZW50aXJlIHNvdXJjZSB0cmVlLgorLSAgICAgICAgIiIiCistICAgICAgICB1cGRhdGUg PSBrd2FyZ3MucG9wKCd1cGRhdGUnLCBGYWxzZSkKKy0gICAgICAgIHdpdGggdGVtcGRpcigpIGFz IF90ZW1wX2RpcjoKKy0gICAgICAgICAgICAjIGZpcnN0IGNvcHkgdGhlIHRyZWUgdG8gYSBzdGFn ZSBkaXJlY3RvcnkgdG8gc3VwcG9ydAorLSAgICAgICAgICAgICMgIHRoZSBwYXJhbWV0ZXJzIGFu ZCBiZWhhdmlvciBvZiBjb3B5dHJlZS4KKy0gICAgICAgICAgICBzdGFnZSA9IF90ZW1wX2RpciAv IHN0cihoYXNoKHNlbGYpKQorLSAgICAgICAgICAgIHNlbGYuY29weXRyZWUoc3RhZ2UsIHN5bWxp bmtzLCAqYXJncywgKiprd2FyZ3MpCistICAgICAgICAgICAgIyBub3cgY29weSBldmVyeXRoaW5n IGZyb20gdGhlIHN0YWdlIGRpcmVjdG9yeSB1c2luZworLSAgICAgICAgICAgICMgIHRoZSBzZW1h bnRpY3Mgb2YgZGlyX3V0aWwuY29weV90cmVlCistICAgICAgICAgICAgZGlyX3V0aWwuY29weV90 cmVlKHN0YWdlLCBkc3QsIHByZXNlcnZlX3N5bWxpbmtzPXN5bWxpbmtzLAorLSAgICAgICAgICAg ICAgICB1cGRhdGU9dXBkYXRlKQorLQorLSAgICAjCistICAgICMgLS0tIFNwZWNpYWwgc3R1ZmYg ZnJvbSBvcworLQorLSAgICBpZiBoYXNhdHRyKG9zLCAnY2hyb290Jyk6CistICAgICAgICBkZWYg Y2hyb290KHNlbGYpOgorLSAgICAgICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLmNo cm9vdGAgIiIiCistICAgICAgICAgICAgb3MuY2hyb290KHNlbGYpCistCistICAgIGlmIGhhc2F0 dHIob3MsICdzdGFydGZpbGUnKToKKy0gICAgICAgIGRlZiBzdGFydGZpbGUoc2VsZik6CistICAg ICAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3Muc3RhcnRmaWxlYCAiIiIKKy0gICAg ICAgICAgICBvcy5zdGFydGZpbGUoc2VsZikKKy0gICAgICAgICAgICByZXR1cm4gc2VsZgorLQor LSAgICAjIGluLXBsYWNlIHJlLXdyaXRpbmcsIGNvdXJ0ZXN5IG9mIE1hcnRpam4gUGlldGVycwor LSAgICAjIGh0dHA6Ly93d3cuem9wYXRpc3RhLmNvbS9weXRob24vMjAxMy8xMS8yNi9pbnBsYWNl LWZpbGUtcmV3cml0aW5nLworLSAgICBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorLSAgICBk ZWYgaW5fcGxhY2Uoc2VsZiwgbW9kZT0ncicsIGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSwg ZXJyb3JzPU5vbmUsCistICAgICAgICAgICAgbmV3bGluZT1Ob25lLCBiYWNrdXBfZXh0ZW5zaW9u PU5vbmUpOgorLSAgICAgICAgIiIiCistICAgICAgICBBIGNvbnRleHQgaW4gd2hpY2ggYSBmaWxl IG1heSBiZSByZS13cml0dGVuIGluLXBsYWNlIHdpdGggbmV3IGNvbnRlbnQuCistCistICAgICAg ICBZaWVsZHMgYSB0dXBsZSBvZiA6c2FtcDpgKHtyZWFkYWJsZX0sIHt3cml0YWJsZX0pYCBmaWxl IG9iamVjdHMsIHdoZXJlIGB3cml0YWJsZWAKKy0gICAgICAgIHJlcGxhY2VzIGByZWFkYWJsZWAu CistCistICAgICAgICBJZiBhbiBleGNlcHRpb24gb2NjdXJzLCB0aGUgb2xkIGZpbGUgaXMgcmVz dG9yZWQsIHJlbW92aW5nIHRoZQorLSAgICAgICAgd3JpdHRlbiBkYXRhLgorLQorLSAgICAgICAg TW9kZSAqbXVzdCBub3QqIHVzZSBgYCd3J2BgLCBgYCdhJ2BgLCBvciBgYCcrJ2BgOyBvbmx5IHJl YWQtb25seS1tb2RlcyBhcmUKKy0gICAgICAgIGFsbG93ZWQuIEEgOmV4YzpgVmFsdWVFcnJvcmAg aXMgcmFpc2VkIG9uIGludmFsaWQgbW9kZXMuCistCistICAgICAgICBGb3IgZXhhbXBsZSwgdG8g YWRkIGxpbmUgbnVtYmVycyB0byBhIGZpbGU6OgorLQorLSAgICAgICAgICAgIHAgPSBQYXRoKGZp bGVuYW1lKQorLSAgICAgICAgICAgIGFzc2VydCBwLmlzZmlsZSgpCistICAgICAgICAgICAgd2l0 aCBwLmluX3BsYWNlKCkgYXMgKHJlYWRlciwgd3JpdGVyKToKKy0gICAgICAgICAgICAgICAgZm9y IG51bWJlciwgbGluZSBpbiBlbnVtZXJhdGUocmVhZGVyLCAxKToKKy0gICAgICAgICAgICAgICAg ICAgIHdyaXRlci53cml0ZSgnezA6M306ICcuZm9ybWF0KG51bWJlcikpKQorLSAgICAgICAgICAg ICAgICAgICAgd3JpdGVyLndyaXRlKGxpbmUpCistCistICAgICAgICBUaGVyZWFmdGVyLCB0aGUg ZmlsZSBhdCBgZmlsZW5hbWVgIHdpbGwgaGF2ZSBsaW5lIG51bWJlcnMgaW4gaXQuCistICAgICAg ICAiIiIKKy0gICAgICAgIGltcG9ydCBpbworLQorLSAgICAgICAgaWYgc2V0KG1vZGUpLmludGVy c2VjdGlvbignd2ErJyk6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignT25seSByZWFk LW9ubHkgZmlsZSBtb2RlcyBjYW4gYmUgdXNlZCcpCistCistICAgICAgICAjIG1vdmUgZXhpc3Rp bmcgZmlsZSB0byBiYWNrdXAsIGNyZWF0ZSBuZXcgZmlsZSB3aXRoIHNhbWUgcGVybWlzc2lvbnMK Ky0gICAgICAgICMgYm9ycm93ZWQgZXh0ZW5zaXZlbHkgZnJvbSB0aGUgZmlsZWlucHV0IG1vZHVs ZQorLSAgICAgICAgYmFja3VwX2ZuID0gc2VsZiArIChiYWNrdXBfZXh0ZW5zaW9uIG9yIG9zLmV4 dHNlcCArICdiYWsnKQorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIG9zLnVubGluayhiYWNr dXBfZm4pCistICAgICAgICBleGNlcHQgb3MuZXJyb3I6CistICAgICAgICAgICAgcGFzcworLSAg ICAgICAgb3MucmVuYW1lKHNlbGYsIGJhY2t1cF9mbikKKy0gICAgICAgIHJlYWRhYmxlID0gaW8u b3BlbihiYWNrdXBfZm4sIG1vZGUsIGJ1ZmZlcmluZz1idWZmZXJpbmcsCistICAgICAgICAgICAg ZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJvcnMsIG5ld2xpbmU9bmV3bGluZSkKKy0gICAg ICAgIHRyeToKKy0gICAgICAgICAgICBwZXJtID0gb3MuZnN0YXQocmVhZGFibGUuZmlsZW5vKCkp LnN0X21vZGUKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorLSAgICAgICAgICAgIHdyaXRhYmxl ID0gb3BlbihzZWxmLCAndycgKyBtb2RlLnJlcGxhY2UoJ3InLCAnJyksCistICAgICAgICAgICAg ICAgIGJ1ZmZlcmluZz1idWZmZXJpbmcsIGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9ZXJyb3Jz LAorLSAgICAgICAgICAgICAgICBuZXdsaW5lPW5ld2xpbmUpCistICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgIG9zX21vZGUgPSBvcy5PX0NSRUFUIHwgb3MuT19XUk9OTFkgfCBvcy5PX1RSVU5D CistICAgICAgICAgICAgaWYgaGFzYXR0cihvcywgJ09fQklOQVJZJyk6CistICAgICAgICAgICAg ICAgIG9zX21vZGUgfD0gb3MuT19CSU5BUlkKKy0gICAgICAgICAgICBmZCA9IG9zLm9wZW4oc2Vs Ziwgb3NfbW9kZSwgcGVybSkKKy0gICAgICAgICAgICB3cml0YWJsZSA9IGlvLm9wZW4oZmQsICJ3 IiArIG1vZGUucmVwbGFjZSgncicsICcnKSwKKy0gICAgICAgICAgICAgICAgYnVmZmVyaW5nPWJ1 ZmZlcmluZywgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJvcnMsCistICAgICAgICAgICAg ICAgIG5ld2xpbmU9bmV3bGluZSkKKy0gICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAg IGlmIGhhc2F0dHIob3MsICdjaG1vZCcpOgorLSAgICAgICAgICAgICAgICAgICAgb3MuY2htb2Qo c2VsZiwgcGVybSkKKy0gICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAgICAgICAgICAg ICAgcGFzcworLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHlpZWxkIHJlYWRhYmxlLCB3cml0 YWJsZQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKy0gICAgICAgICAgICAjIG1vdmUgYmFj a3VwIGJhY2sKKy0gICAgICAgICAgICByZWFkYWJsZS5jbG9zZSgpCistICAgICAgICAgICAgd3Jp dGFibGUuY2xvc2UoKQorLSAgICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAgb3MudW5s aW5rKHNlbGYpCistICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorLSAgICAgICAgICAgICAg ICBwYXNzCistICAgICAgICAgICAgb3MucmVuYW1lKGJhY2t1cF9mbiwgc2VsZikKKy0gICAgICAg ICAgICByYWlzZQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByZWFkYWJsZS5jbG9zZSgp CistICAgICAgICAgICAgd3JpdGFibGUuY2xvc2UoKQorLSAgICAgICAgZmluYWxseToKKy0gICAg ICAgICAgICB0cnk6CistICAgICAgICAgICAgICAgIG9zLnVubGluayhiYWNrdXBfZm4pCistICAg ICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorLSAgICAgICAgICAgICAgICBwYXNzCistCistICAg IEBDbGFzc1Byb3BlcnR5CistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgc3BlY2lhbChjbHMp OgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gYSBTcGVjaWFsUmVzb2x2ZXIgb2JqZWN0 IHN1aXRhYmxlIHJlZmVyZW5jaW5nIGEgc3VpdGFibGUKKy0gICAgICAgIGRpcmVjdG9yeSBmb3Ig dGhlIHJlbGV2YW50IHBsYXRmb3JtIGZvciB0aGUgZ2l2ZW4KKy0gICAgICAgIHR5cGUgb2YgY29u dGVudC4KKy0KKy0gICAgICAgIEZvciBleGFtcGxlLCB0byBnZXQgYSB1c2VyIGNvbmZpZyBkaXJl Y3RvcnksIGludm9rZToKKy0KKy0gICAgICAgICAgICBkaXIgPSBQYXRoLnNwZWNpYWwoKS51c2Vy LmNvbmZpZworLQorLSAgICAgICAgVXNlcyB0aGUgYGFwcGRpcnMKKy0gICAgICAgIDxodHRwczov L3B5cGkucHl0aG9uLm9yZy9weXBpL2FwcGRpcnMvMS40LjA+YF8gdG8gcmVzb2x2ZQorLSAgICAg ICAgdGhlIHBhdGhzIGluIGEgcGxhdGZvcm0tZnJpZW5kbHkgd2F5LgorLQorLSAgICAgICAgVG8g Y3JlYXRlIGEgY29uZmlnIGRpcmVjdG9yeSBmb3IgJ015IEFwcCcsIGNvbnNpZGVyOgorLQorLSAg ICAgICAgICAgIGRpciA9IFBhdGguc3BlY2lhbCgiTXkgQXBwIikudXNlci5jb25maWcubWFrZWRp cnNfcCgpCistCistICAgICAgICBJZiB0aGUgYGBhcHBkaXJzYGAgbW9kdWxlIGlzIG5vdCBpbnN0 YWxsZWQsIGludm9jYXRpb24KKy0gICAgICAgIG9mIHNwZWNpYWwgd2lsbCByYWlzZSBhbiBJbXBv cnRFcnJvci4KKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIGZ1bmN0b29scy5wYXJ0aWFs KFNwZWNpYWxSZXNvbHZlciwgY2xzKQorLQorLQorLWNsYXNzIFNwZWNpYWxSZXNvbHZlcihvYmpl Y3QpOgorLSAgICBjbGFzcyBSZXNvbHZlclNjb3BlOgorLSAgICAgICAgZGVmIF9faW5pdF9fKHNl bGYsIHBhdGhzLCBzY29wZSk6CistICAgICAgICAgICAgc2VsZi5wYXRocyA9IHBhdGhzCistICAg ICAgICAgICAgc2VsZi5zY29wZSA9IHNjb3BlCistCistICAgICAgICBkZWYgX19nZXRhdHRyX18o c2VsZiwgY2xhc3NfKToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5wYXRocy5nZXRfZGlyKHNl bGYuc2NvcGUsIGNsYXNzXykKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGhfY2xhc3Ms ICphcmdzLCAqKmt3YXJncyk6CistICAgICAgICBhcHBkaXJzID0gaW1wb3J0bGliLmltcG9ydF9t b2R1bGUoJ2FwcGRpcnMnKQorLQorLSAgICAgICAgIyBsZXQgYXBwbmFtZSBkZWZhdWx0IHRvIE5v bmUgdW50aWwKKy0gICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL0FjdGl2ZVN0YXRlL2FwcGRp cnMvaXNzdWVzLzU1IGlzIHNvbHZlZC4KKy0gICAgICAgIG5vdCBhcmdzIGFuZCBrd2FyZ3Muc2V0 ZGVmYXVsdCgnYXBwbmFtZScsIE5vbmUpCistCistICAgICAgICB2YXJzKHNlbGYpLnVwZGF0ZSgK Ky0gICAgICAgICAgICBwYXRoX2NsYXNzPXBhdGhfY2xhc3MsCistICAgICAgICAgICAgd3JhcHBl cj1hcHBkaXJzLkFwcERpcnMoKmFyZ3MsICoqa3dhcmdzKSwKKy0gICAgICAgICkKKy0KKy0gICAg ZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIHNjb3BlKToKKy0gICAgICAgIHJldHVybiBzZWxmLlJlc29s dmVyU2NvcGUoc2VsZiwgc2NvcGUpCistCistICAgIGRlZiBnZXRfZGlyKHNlbGYsIHNjb3BlLCBj bGFzc18pOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gdGhlIGNhbGxhYmxlIGZ1bmN0 aW9uIGZyb20gYXBwZGlycywgYnV0IHdpdGggdGhlCistICAgICAgICByZXN1bHQgd3JhcHBlZCBp biBzZWxmLnBhdGhfY2xhc3MKKy0gICAgICAgICIiIgorLSAgICAgICAgcHJvcF9uYW1lID0gJ3tz Y29wZX1fe2NsYXNzX31fZGlyJy5mb3JtYXQoKipsb2NhbHMoKSkKKy0gICAgICAgIHZhbHVlID0g Z2V0YXR0cihzZWxmLndyYXBwZXIsIHByb3BfbmFtZSkKKy0gICAgICAgIE11bHRpUGF0aCA9IE11 bHRpLmZvcl9jbGFzcyhzZWxmLnBhdGhfY2xhc3MpCistICAgICAgICByZXR1cm4gTXVsdGlQYXRo LmRldGVjdCh2YWx1ZSkKKy0KKy0KKy1jbGFzcyBNdWx0aToKKy0gICAgIiIiCistICAgIEEgbWl4 LWluIGZvciBhIFBhdGggd2hpY2ggbWF5IGNvbnRhaW4gbXVsdGlwbGUgUGF0aCBzZXBhcmF0ZWQg YnkgcGF0aHNlcC4KKy0gICAgIiIiCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgZm9yX2Ns YXNzKGNscywgcGF0aF9jbHMpOgorLSAgICAgICAgbmFtZSA9ICdNdWx0aScgKyBwYXRoX2Nscy5f X25hbWVfXworLSAgICAgICAgaWYgUFkyOgorLSAgICAgICAgICAgIG5hbWUgPSBzdHIobmFtZSkK Ky0gICAgICAgIHJldHVybiB0eXBlKG5hbWUsIChjbHMsIHBhdGhfY2xzKSwge30pCistCistICAg IEBjbGFzc21ldGhvZAorLSAgICBkZWYgZGV0ZWN0KGNscywgaW5wdXQpOgorLSAgICAgICAgaWYg b3MucGF0aHNlcCBub3QgaW4gaW5wdXQ6CistICAgICAgICAgICAgY2xzID0gY2xzLl9uZXh0X2Ns YXNzCistICAgICAgICByZXR1cm4gY2xzKGlucHV0KQorLQorLSAgICBkZWYgX19pdGVyX18oc2Vs Zik6CistICAgICAgICByZXR1cm4gaXRlcihtYXAoc2VsZi5fbmV4dF9jbGFzcywgc2VsZi5zcGxp dChvcy5wYXRoc2VwKSkpCistCistICAgIEBDbGFzc1Byb3BlcnR5CistICAgIEBjbGFzc21ldGhv ZAorLSAgICBkZWYgX25leHRfY2xhc3MoY2xzKToKKy0gICAgICAgICIiIgorLSAgICAgICAgTXVs dGktc3ViY2xhc3NlcyBzaG91bGQgdXNlIHRoZSBwYXJlbnQgY2xhc3MKKy0gICAgICAgICIiIgor LSAgICAgICAgcmV0dXJuIG5leHQoCistICAgICAgICAgICAgY2xhc3NfCistICAgICAgICAgICAg Zm9yIGNsYXNzXyBpbiBjbHMuX19tcm9fXworLSAgICAgICAgICAgIGlmIG5vdCBpc3N1YmNsYXNz KGNsYXNzXywgTXVsdGkpCistICAgICAgICApCistCistCistY2xhc3MgdGVtcGRpcihQYXRoKToK Ky0gICAgIiIiCistICAgIEEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB2aWEgOmZ1bmM6YHRlbXBmaWxl Lm1rZHRlbXBgLCBhbmQgY29uc3RydWN0ZWQgd2l0aCB0aGUKKy0gICAgc2FtZSBwYXJhbWV0ZXJz IHRoYXQgeW91IGNhbiB1c2UgYXMgYSBjb250ZXh0IG1hbmFnZXIuCistCistICAgIEV4YW1wbGU6 CistCistICAgICAgICB3aXRoIHRlbXBkaXIoKSBhcyBkOgorLSAgICAgICAgICAgICMgZG8gc3R1 ZmYgd2l0aCB0aGUgUGF0aCBvYmplY3QgImQiCistCistICAgICAgICAjIGhlcmUgdGhlIGRpcmVj dG9yeSBpcyBkZWxldGVkIGF1dG9tYXRpY2FsbHkKKy0KKy0gICAgLi4gc2VlYWxzbzo6IDpmdW5j OmB0ZW1wZmlsZS5ta2R0ZW1wYAorLSAgICAiIiIKKy0KKy0gICAgQENsYXNzUHJvcGVydHkKKy0g ICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfbmV4dF9jbGFzcyhjbHMpOgorLSAgICAgICAgcmV0 dXJuIFBhdGgKKy0KKy0gICAgZGVmIF9fbmV3X18oY2xzLCAqYXJncywgKiprd2FyZ3MpOgorLSAg ICAgICAgZGlybmFtZSA9IHRlbXBmaWxlLm1rZHRlbXAoKmFyZ3MsICoqa3dhcmdzKQorLSAgICAg ICAgcmV0dXJuIHN1cGVyKHRlbXBkaXIsIGNscykuX19uZXdfXyhjbHMsIGRpcm5hbWUpCistCist ICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgcGFzcwor LQorLSAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0g ICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFsdWUsIHRyYWNlYmFjayk6Cist ICAgICAgICBpZiBub3QgZXhjX3ZhbHVlOgorLSAgICAgICAgICAgIHNlbGYucm10cmVlKCkKKy0K Ky0KKy1kZWYgX211bHRpX3Blcm1pc3Npb25fbWFzayhtb2RlKToKKy0gICAgIiIiCistICAgIFN1 cHBvcnQgbXVsdGlwbGUsIGNvbW1hLXNlcGFyYXRlZCBVbml4IGNobW9kIHN5bWJvbGljIG1vZGVz LgorLQorLSAgICA+Pj4gX211bHRpX3Blcm1pc3Npb25fbWFzaygnYT1yLHUrdycpKDApID09IDBv NjQ0CistICAgIFRydWUKKy0gICAgIiIiCistICAgIGNvbXBvc2UgPSBsYW1iZGEgZiwgZzogbGFt YmRhICphcmdzLCAqKmt3YXJnczogZyhmKCphcmdzLCAqKmt3YXJncykpCistICAgIHJldHVybiBm dW5jdG9vbHMucmVkdWNlKGNvbXBvc2UsIG1hcChfcGVybWlzc2lvbl9tYXNrLCBtb2RlLnNwbGl0 KCcsJykpKQorLQorLQorLWRlZiBfcGVybWlzc2lvbl9tYXNrKG1vZGUpOgorLSAgICAiIiIKKy0g ICAgQ29udmVydCBhIFVuaXggY2htb2Qgc3ltYm9saWMgbW9kZSBsaWtlIGBgJ3Vnbytyd3gnYGAg dG8gYSBmdW5jdGlvbgorLSAgICBzdWl0YWJsZSBmb3IgYXBwbHlpbmcgdG8gYSBtYXNrIHRvIGFm ZmVjdCB0aGF0IGNoYW5nZS4KKy0KKy0gICAgPj4+IG1hc2sgPSBfcGVybWlzc2lvbl9tYXNrKCd1 Z28rcnd4JykKKy0gICAgPj4+IG1hc2soMG81NTQpID09IDBvNzc3CistICAgIFRydWUKKy0KKy0g ICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ2dvLXgnKSgwbzc3NykgPT0gMG83NjYKKy0gICAgVHJ1 ZQorLQorLSAgICA+Pj4gX3Blcm1pc3Npb25fbWFzaygnby14JykoMG80NDUpID09IDBvNDQ0Cist ICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ2EreCcpKDApID09IDBvMTEx CistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ2E9cncnKSgwbzA1Nykg PT0gMG82NjYKKy0gICAgVHJ1ZQorLQorLSAgICA+Pj4gX3Blcm1pc3Npb25fbWFzaygndT14Jyko MG82NjYpID09IDBvMTY2CistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2so J2c9JykoMG8xNTcpID09IDBvMTA3CistICAgIFRydWUKKy0gICAgIiIiCistICAgICMgcGFyc2Ug dGhlIHN5bWJvbGljIG1vZGUKKy0gICAgcGFyc2VkID0gcmUubWF0Y2goJyg/UDx3aG8+W3Vnb2Fd KykoP1A8b3A+Wy0rPV0pKD9QPHdoYXQ+W3J3eF0qKSQnLCBtb2RlKQorLSAgICBpZiBub3QgcGFy c2VkOgorLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVW5yZWNvZ25pemVkIHN5bWJvbGljIG1v ZGUiLCBtb2RlKQorLQorLSAgICAjIGdlbmVyYXRlIGEgbWFzayByZXByZXNlbnRpbmcgdGhlIHNw ZWNpZmllZCBwZXJtaXNzaW9uCistICAgIHNwZWNfbWFwID0gZGljdChyPTQsIHc9MiwgeD0xKQor LSAgICBzcGVjcyA9IChzcGVjX21hcFtwZXJtXSBmb3IgcGVybSBpbiBwYXJzZWQuZ3JvdXAoJ3do YXQnKSkKKy0gICAgc3BlYyA9IGZ1bmN0b29scy5yZWR1Y2Uob3BlcmF0b3Iub3JfLCBzcGVjcywg MCkKKy0KKy0gICAgIyBub3cgYXBwbHkgc3BlYyB0byBlYWNoIHN1YmplY3QgaW4gd2hvCistICAg IHNoaWZ0X21hcCA9IGRpY3QodT02LCBnPTMsIG89MCkKKy0gICAgd2hvID0gcGFyc2VkLmdyb3Vw KCd3aG8nKS5yZXBsYWNlKCdhJywgJ3VnbycpCistICAgIG1hc2tzID0gKHNwZWMgPDwgc2hpZnRf bWFwW3N1YmpdIGZvciBzdWJqIGluIHdobykKKy0gICAgbWFzayA9IGZ1bmN0b29scy5yZWR1Y2Uo b3BlcmF0b3Iub3JfLCBtYXNrcykKKy0KKy0gICAgb3AgPSBwYXJzZWQuZ3JvdXAoJ29wJykKKy0K Ky0gICAgIyBpZiBvcCBpcyAtLCBpbnZlcnQgdGhlIG1hc2sKKy0gICAgaWYgb3AgPT0gJy0nOgor LSAgICAgICAgbWFzayBePSAwbzc3NworLQorLSAgICAjIGlmIG9wIGlzID0sIHJldGFpbiBleHRh bnQgdmFsdWVzIGZvciB1bnJlZmVyZW5jZWQgc3ViamVjdHMKKy0gICAgaWYgb3AgPT0gJz0nOgor LSAgICAgICAgbWFza3MgPSAoMG83IDw8IHNoaWZ0X21hcFtzdWJqXSBmb3Igc3ViaiBpbiB3aG8p CistICAgICAgICByZXRhaW4gPSBmdW5jdG9vbHMucmVkdWNlKG9wZXJhdG9yLm9yXywgbWFza3Mp IF4gMG83NzcKKy0KKy0gICAgb3BfbWFwID0geworLSAgICAgICAgJysnOiBvcGVyYXRvci5vcl8s CistICAgICAgICAnLSc6IG9wZXJhdG9yLmFuZF8sCistICAgICAgICAnPSc6IGxhbWJkYSBtYXNr LCB0YXJnZXQ6IHRhcmdldCAmIHJldGFpbiBeIG1hc2ssCistICAgIH0KKy0gICAgcmV0dXJuIGZ1 bmN0b29scy5wYXJ0aWFsKG9wX21hcFtvcF0sIG1hc2spCistCistCistY2xhc3MgQ2FzZUluc2Vu c2l0aXZlUGF0dGVybih0ZXh0X3R5cGUpOgorLSAgICAiIiIKKy0gICAgQSBzdHJpbmcgd2l0aCBh IGBgJ25vcm1jYXNlJ2BgIHByb3BlcnR5LCBzdWl0YWJsZSBmb3IgcGFzc2luZyB0bworLSAgICA6 bWV0aDpgbGlzdGRpcmAsIDptZXRoOmBkaXJzYCwgOm1ldGg6YGZpbGVzYCwgOm1ldGg6YHdhbGtg LAorLSAgICA6bWV0aDpgd2Fsa2RpcnNgLCBvciA6bWV0aDpgd2Fsa2ZpbGVzYCB0byBtYXRjaCBj YXNlLWluc2Vuc2l0aXZlLgorLQorLSAgICBGb3IgZXhhbXBsZSwgdG8gZ2V0IGFsbCBmaWxlcyBl bmRpbmcgaW4gLnB5LCAuUHksIC5wWSwgb3IgLlBZIGluIHRoZQorLSAgICBjdXJyZW50IGRpcmVj dG9yeTo6CistCistICAgICAgICBmcm9tIHBhdGggaW1wb3J0IFBhdGgsIENhc2VJbnNlbnNpdGl2 ZVBhdHRlcm4gYXMgY2kKKy0gICAgICAgIFBhdGgoJy4nKS5maWxlcyhjaSgnKi5weScpKQorLSAg ICAiIiIKKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBub3JtY2FzZShzZWxmKToKKy0gICAg ICAgIHJldHVybiBfX2ltcG9ydF9fKCdudHBhdGgnKS5ub3JtY2FzZQorLQorLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworLSMgQmFja3dhcmQtY29tcGF0aWJpbGl0eQorLWNsYXNzIHBhdGgoUGF0 aCk6CistICAgIGRlZiBfX25ld19fKGNscywgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgICAgIG1z ZyA9ICJwYXRoIGlzIGRlcHJlY2F0ZWQuIFVzZSBQYXRoIGluc3RlYWQuIgorLSAgICAgICAgd2Fy bmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZykKKy0gICAgICAgIHJldHVybiBQYXRo Ll9fbmV3X18oY2xzLCAqYXJncywgKiprd2FyZ3MpCistCistCistX19hbGxfXyArPSBbJ3BhdGgn XQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZGlmZiAtLWdpdCBhL3Rhc2tzL192ZW5kb3Iv cGF0aGxpYi5weSBiL3Rhc2tzL192ZW5kb3IvcGF0aGxpYi5weQorZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCA5YWIwZTcwLi4wMDAwMDAwCistLS0gYS90YXNrcy9fdmVuZG9yL3BhdGhs aWIucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDEyODAgKzAsMCBAQAorLWltcG9ydCBmbm1hdGNo CistaW1wb3J0IGZ1bmN0b29scworLWltcG9ydCBpbworLWltcG9ydCBudHBhdGgKKy1pbXBvcnQg b3MKKy1pbXBvcnQgcG9zaXhwYXRoCistaW1wb3J0IHJlCistaW1wb3J0IHN5cworLWltcG9ydCB0 aW1lCistZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgU2VxdWVuY2UKKy1mcm9tIGNvbnRleHRsaWIg aW1wb3J0IGNvbnRleHRtYW5hZ2VyCistZnJvbSBlcnJubyBpbXBvcnQgRUlOVkFMLCBFTk9FTlQK Ky1mcm9tIG9wZXJhdG9yIGltcG9ydCBhdHRyZ2V0dGVyCistZnJvbSBzdGF0IGltcG9ydCBTX0lT RElSLCBTX0lTTE5LLCBTX0lTUkVHLCBTX0lTU09DSywgU19JU0JMSywgU19JU0NIUiwgU19JU0ZJ Rk8KKy10cnk6CistICAgIGZyb20gdXJsbGliIGltcG9ydCBxdW90ZSBhcyB1cmxxdW90ZSwgcXVv dGUgYXMgdXJscXVvdGVfZnJvbV9ieXRlcworLWV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgZnJv bSB1cmxsaWIucGFyc2UgaW1wb3J0IHF1b3RlIGFzIHVybHF1b3RlLCBxdW90ZV9mcm9tX2J5dGVz IGFzIHVybHF1b3RlX2Zyb21fYnl0ZXMKKy0KKy0KKy10cnk6CistICAgIGludGVybiA9IGludGVy bgorLWV4Y2VwdCBOYW1lRXJyb3I6CistICAgIGludGVybiA9IHN5cy5pbnRlcm4KKy10cnk6Cist ICAgIGJhc2VzdHJpbmcgPSBiYXNlc3RyaW5nCistZXhjZXB0IE5hbWVFcnJvcjoKKy0gICAgYmFz ZXN0cmluZyA9IHN0cgorLQorLXN1cHBvcnRzX3N5bWxpbmtzID0gVHJ1ZQorLXRyeToKKy0gICAg aW1wb3J0IG50CistZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBudCA9IE5vbmUKKy1lbHNlOgor LSAgICBpZiBzeXMuZ2V0d2luZG93c3ZlcnNpb24oKVs6Ml0gPj0gKDYsIDApIGFuZCBzeXMudmVy c2lvbl9pbmZvID49ICgzLCAyKToKKy0gICAgICAgIGZyb20gbnQgaW1wb3J0IF9nZXRmaW5hbHBh dGhuYW1lCistICAgIGVsc2U6CistICAgICAgICBzdXBwb3J0c19zeW1saW5rcyA9IEZhbHNlCist ICAgICAgICBfZ2V0ZmluYWxwYXRobmFtZSA9IE5vbmUKKy0KKy0KKy1fX2FsbF9fID0gWworLSAg ICAiUHVyZVBhdGgiLCAiUHVyZVBvc2l4UGF0aCIsICJQdXJlV2luZG93c1BhdGgiLAorLSAgICAi UGF0aCIsICJQb3NpeFBhdGgiLCAiV2luZG93c1BhdGgiLAorLSAgICBdCistCistIworLSMgSW50 ZXJuYWxzCistIworLQorLV9weTIgPSBzeXMudmVyc2lvbl9pbmZvIDwgKDMsKQorLV9weTJfZnNf ZW5jb2RpbmcgPSAnYXNjaWknCistCistZGVmIF9weTJfZnNlbmNvZGUocGFydHMpOgorLSAgICAj IHB5MiA9PiBtaW5pbWFsIHVuaWNvZGUgc3VwcG9ydAorLSAgICByZXR1cm4gW3BhcnQuZW5jb2Rl KF9weTJfZnNfZW5jb2RpbmcpIGlmIGlzaW5zdGFuY2UocGFydCwgdW5pY29kZSkKKy0gICAgICAg ICAgICBlbHNlIHBhcnQgZm9yIHBhcnQgaW4gcGFydHNdCistCistZGVmIF9pc193aWxkY2FyZF9w YXR0ZXJuKHBhdCk6CistICAgICMgV2hldGhlciB0aGlzIHBhdHRlcm4gbmVlZHMgYWN0dWFsIG1h dGNoaW5nIHVzaW5nIGZubWF0Y2gsIG9yIGNhbgorLSAgICAjIGJlIGxvb2tlZCB1cCBkaXJlY3Rs eSBhcyBhIGZpbGUuCistICAgIHJldHVybiAiKiIgaW4gcGF0IG9yICI/IiBpbiBwYXQgb3IgIlsi IGluIHBhdAorLQorLQorLWNsYXNzIF9GbGF2b3VyKG9iamVjdCk6CistICAgICIiIkEgZmxhdm91 ciBpbXBsZW1lbnRzIGEgcGFydGljdWxhciAocGxhdGZvcm0tc3BlY2lmaWMpIHNldCBvZiBwYXRo CistICAgIHNlbWFudGljcy4iIiIKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgorLSAgICAg ICAgc2VsZi5qb2luID0gc2VsZi5zZXAuam9pbgorLQorLSAgICBkZWYgcGFyc2VfcGFydHMoc2Vs ZiwgcGFydHMpOgorLSAgICAgICAgaWYgX3B5MjoKKy0gICAgICAgICAgICBwYXJ0cyA9IF9weTJf ZnNlbmNvZGUocGFydHMpCistICAgICAgICBwYXJzZWQgPSBbXQorLSAgICAgICAgc2VwID0gc2Vs Zi5zZXAKKy0gICAgICAgIGFsdHNlcCA9IHNlbGYuYWx0c2VwCistICAgICAgICBkcnYgPSByb290 ID0gJycKKy0gICAgICAgIGl0ID0gcmV2ZXJzZWQocGFydHMpCistICAgICAgICBmb3IgcGFydCBp biBpdDoKKy0gICAgICAgICAgICBpZiBub3QgcGFydDoKKy0gICAgICAgICAgICAgICAgY29udGlu dWUKKy0gICAgICAgICAgICBpZiBhbHRzZXA6CistICAgICAgICAgICAgICAgIHBhcnQgPSBwYXJ0 LnJlcGxhY2UoYWx0c2VwLCBzZXApCistICAgICAgICAgICAgZHJ2LCByb290LCByZWwgPSBzZWxm LnNwbGl0cm9vdChwYXJ0KQorLSAgICAgICAgICAgIGlmIHNlcCBpbiByZWw6CistICAgICAgICAg ICAgICAgIGZvciB4IGluIHJldmVyc2VkKHJlbC5zcGxpdChzZXApKToKKy0gICAgICAgICAgICAg ICAgICAgIGlmIHggYW5kIHggIT0gJy4nOgorLSAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNl ZC5hcHBlbmQoaW50ZXJuKHgpKQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAg IGlmIHJlbCBhbmQgcmVsICE9ICcuJzoKKy0gICAgICAgICAgICAgICAgICAgIHBhcnNlZC5hcHBl bmQoaW50ZXJuKHJlbCkpCistICAgICAgICAgICAgaWYgZHJ2IG9yIHJvb3Q6CistICAgICAgICAg ICAgICAgIGlmIG5vdCBkcnY6CistICAgICAgICAgICAgICAgICAgICAjIElmIG5vIGRyaXZlIGlz IHByZXNlbnQsIHRyeSB0byBmaW5kIG9uZSBpbiB0aGUgcHJldmlvdXMKKy0gICAgICAgICAgICAg ICAgICAgICMgcGFydHMuIFRoaXMgbWFrZXMgdGhlIHJlc3VsdCBvZiBwYXJzaW5nIGUuZy4KKy0g ICAgICAgICAgICAgICAgICAgICMgKCJDOiIsICIvIiwgImEiKSByZWFzb25hYmx5IGludHVpdGl2 ZS4KKy0gICAgICAgICAgICAgICAgICAgIGZvciBwYXJ0IGluIGl0OgorLSAgICAgICAgICAgICAg ICAgICAgICAgIGRydiA9IHNlbGYuc3BsaXRyb290KHBhcnQpWzBdCistICAgICAgICAgICAgICAg ICAgICAgICAgaWYgZHJ2OgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworLSAg ICAgICAgICAgICAgICBicmVhaworLSAgICAgICAgaWYgZHJ2IG9yIHJvb3Q6CistICAgICAgICAg ICAgcGFyc2VkLmFwcGVuZChkcnYgKyByb290KQorLSAgICAgICAgcGFyc2VkLnJldmVyc2UoKQor LSAgICAgICAgcmV0dXJuIGRydiwgcm9vdCwgcGFyc2VkCistCistICAgIGRlZiBqb2luX3BhcnNl ZF9wYXJ0cyhzZWxmLCBkcnYsIHJvb3QsIHBhcnRzLCBkcnYyLCByb290MiwgcGFydHMyKToKKy0g ICAgICAgICIiIgorLSAgICAgICAgSm9pbiB0aGUgdHdvIHBhdGhzIHJlcHJlc2VudGVkIGJ5IHRo ZSByZXNwZWN0aXZlCistICAgICAgICAoZHJpdmUsIHJvb3QsIHBhcnRzKSB0dXBsZXMuICBSZXR1 cm4gYSBuZXcgKGRyaXZlLCByb290LCBwYXJ0cykgdHVwbGUuCistICAgICAgICAiIiIKKy0gICAg ICAgIGlmIHJvb3QyOgorLSAgICAgICAgICAgIGlmIG5vdCBkcnYyIGFuZCBkcnY6CistICAgICAg ICAgICAgICAgIHJldHVybiBkcnYsIHJvb3QyLCBbZHJ2ICsgcm9vdDJdICsgcGFydHMyWzE6XQor LSAgICAgICAgZWxpZiBkcnYyOgorLSAgICAgICAgICAgIGlmIGRydjIgPT0gZHJ2IG9yIHNlbGYu Y2FzZWZvbGQoZHJ2MikgPT0gc2VsZi5jYXNlZm9sZChkcnYpOgorLSAgICAgICAgICAgICAgICAj IFNhbWUgZHJpdmUgPT4gc2Vjb25kIHBhdGggaXMgcmVsYXRpdmUgdG8gdGhlIGZpcnN0CistICAg ICAgICAgICAgICAgIHJldHVybiBkcnYsIHJvb3QsIHBhcnRzICsgcGFydHMyWzE6XQorLSAgICAg ICAgZWxzZToKKy0gICAgICAgICAgICAjIFNlY29uZCBwYXRoIGlzIG5vbi1hbmNob3JlZCAoY29t bW9uIGNhc2UpCistICAgICAgICAgICAgcmV0dXJuIGRydiwgcm9vdCwgcGFydHMgKyBwYXJ0czIK Ky0gICAgICAgIHJldHVybiBkcnYyLCByb290MiwgcGFydHMyCistCistCistY2xhc3MgX1dpbmRv d3NGbGF2b3VyKF9GbGF2b3VyKToKKy0gICAgIyBSZWZlcmVuY2UgZm9yIFdpbmRvd3MgcGF0aHMg Y2FuIGJlIGZvdW5kIGF0CistICAgICMgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9s aWJyYXJ5L2FhMzY1MjQ3JTI4dj12cy44NSUyOS5hc3B4CistCistICAgIHNlcCA9ICdcXCcKKy0g ICAgYWx0c2VwID0gJy8nCistICAgIGhhc19kcnYgPSBUcnVlCistICAgIHBhdGhtb2QgPSBudHBh dGgKKy0KKy0gICAgaXNfc3VwcG9ydGVkID0gKG50IGlzIG5vdCBOb25lKQorLQorLSAgICBkcml2 ZV9sZXR0ZXJzID0gKAorLSAgICAgICAgc2V0KGNocih4KSBmb3IgeCBpbiByYW5nZShvcmQoJ2En KSwgb3JkKCd6JykgKyAxKSkgfAorLSAgICAgICAgc2V0KGNocih4KSBmb3IgeCBpbiByYW5nZShv cmQoJ0EnKSwgb3JkKCdaJykgKyAxKSkKKy0gICAgKQorLSAgICBleHRfbmFtZXNwYWNlX3ByZWZp eCA9ICdcXFxcP1xcJworLQorLSAgICByZXNlcnZlZF9uYW1lcyA9ICgKKy0gICAgICAgIHNldChb J0NPTicsICdQUk4nLCAnQVVYJywgJ05VTCddKSB8CistICAgICAgICBzZXQoWydDT00lZCcgJSBp IGZvciBpIGluIHJhbmdlKDEsIDEwKV0pIHwKKy0gICAgICAgIHNldChbJ0xQVCVkJyAlIGkgZm9y IGkgaW4gcmFuZ2UoMSwgMTApXSkKKy0gICAgICAgICkKKy0KKy0gICAgIyBJbnRlcmVzdGluZyBm aW5kaW5ncyBhYm91dCBleHRlbmRlZCBwYXRoczoKKy0gICAgIyAtICdcXD9cYzpcYScsICcvLz8v YzpcYScgYW5kICcvLz8vYzovYScgYXJlIGFsbCBzdXBwb3J0ZWQKKy0gICAgIyAgIGJ1dCAnXFw/ XGM6L2EnIGlzIG5vdAorLSAgICAjIC0gZXh0ZW5kZWQgcGF0aHMgYXJlIGFsd2F5cyBhYnNvbHV0 ZTsgInJlbGF0aXZlIiBleHRlbmRlZCBwYXRocyB3aWxsCistICAgICMgICBmYWlsLgorLQorLSAg ICBkZWYgc3BsaXRyb290KHNlbGYsIHBhcnQsIHNlcD1zZXApOgorLSAgICAgICAgZmlyc3QgPSBw YXJ0WzA6MV0KKy0gICAgICAgIHNlY29uZCA9IHBhcnRbMToyXQorLSAgICAgICAgaWYgKHNlY29u ZCA9PSBzZXAgYW5kIGZpcnN0ID09IHNlcCk6CistICAgICAgICAgICAgIyBYWFggZXh0ZW5kZWQg cGF0aHMgc2hvdWxkIGFsc28gZGlzYWJsZSB0aGUgY29sbGFwc2luZyBvZiAiLiIKKy0gICAgICAg ICAgICAjIGNvbXBvbmVudHMgKGFjY29yZGluZyB0byBNU0ROIGRvY3MpLgorLSAgICAgICAgICAg IHByZWZpeCwgcGFydCA9IHNlbGYuX3NwbGl0X2V4dGVuZGVkX3BhdGgocGFydCkKKy0gICAgICAg ICAgICBmaXJzdCA9IHBhcnRbMDoxXQorLSAgICAgICAgICAgIHNlY29uZCA9IHBhcnRbMToyXQor LSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBwcmVmaXggPSAnJworLSAgICAgICAgdGhpcmQg PSBwYXJ0WzI6M10KKy0gICAgICAgIGlmIChzZWNvbmQgPT0gc2VwIGFuZCBmaXJzdCA9PSBzZXAg YW5kIHRoaXJkICE9IHNlcCk6CistICAgICAgICAgICAgIyBpcyBhIFVOQyBwYXRoOgorLSAgICAg ICAgICAgICMgdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2IHJvb3QKKy0gICAgICAgICAgICAjIFxcbWFj aGluZVxtb3VudHBvaW50XGRpcmVjdG9yeVxldGNcLi4uCistICAgICAgICAgICAgIyAgICAgICAg ICAgIGRpcmVjdG9yeSBeXl5eXl5eXl5eXl5eXgorLSAgICAgICAgICAgIGluZGV4ID0gcGFydC5m aW5kKHNlcCwgMikKKy0gICAgICAgICAgICBpZiBpbmRleCAhPSAtMToKKy0gICAgICAgICAgICAg ICAgaW5kZXgyID0gcGFydC5maW5kKHNlcCwgaW5kZXggKyAxKQorLSAgICAgICAgICAgICAgICAj IGEgVU5DIHBhdGggY2FuJ3QgaGF2ZSB0d28gc2xhc2hlcyBpbiBhIHJvdworLSAgICAgICAgICAg ICAgICAjIChhZnRlciB0aGUgaW5pdGlhbCB0d28pCistICAgICAgICAgICAgICAgIGlmIGluZGV4 MiAhPSBpbmRleCArIDE6CistICAgICAgICAgICAgICAgICAgICBpZiBpbmRleDIgPT0gLTE6Cist ICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgyID0gbGVuKHBhcnQpCistICAgICAgICAgICAg ICAgICAgICBpZiBwcmVmaXg6CistICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZp eCArIHBhcnRbMTppbmRleDJdLCBzZXAsIHBhcnRbaW5kZXgyKzE6XQorLSAgICAgICAgICAgICAg ICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFydFs6aW5kZXgy XSwgc2VwLCBwYXJ0W2luZGV4MisxOl0KKy0gICAgICAgIGRydiA9IHJvb3QgPSAnJworLSAgICAg ICAgaWYgc2Vjb25kID09ICc6JyBhbmQgZmlyc3QgaW4gc2VsZi5kcml2ZV9sZXR0ZXJzOgorLSAg ICAgICAgICAgIGRydiA9IHBhcnRbOjJdCistICAgICAgICAgICAgcGFydCA9IHBhcnRbMjpdCist ICAgICAgICAgICAgZmlyc3QgPSB0aGlyZAorLSAgICAgICAgaWYgZmlyc3QgPT0gc2VwOgorLSAg ICAgICAgICAgIHJvb3QgPSBmaXJzdAorLSAgICAgICAgICAgIHBhcnQgPSBwYXJ0LmxzdHJpcChz ZXApCistICAgICAgICByZXR1cm4gcHJlZml4ICsgZHJ2LCByb290LCBwYXJ0CistCistICAgIGRl ZiBjYXNlZm9sZChzZWxmLCBzKToKKy0gICAgICAgIHJldHVybiBzLmxvd2VyKCkKKy0KKy0gICAg ZGVmIGNhc2Vmb2xkX3BhcnRzKHNlbGYsIHBhcnRzKToKKy0gICAgICAgIHJldHVybiBbcC5sb3dl cigpIGZvciBwIGluIHBhcnRzXQorLQorLSAgICBkZWYgcmVzb2x2ZShzZWxmLCBwYXRoKToKKy0g ICAgICAgIHMgPSBzdHIocGF0aCkKKy0gICAgICAgIGlmIG5vdCBzOgorLSAgICAgICAgICAgIHJl dHVybiBvcy5nZXRjd2QoKQorLSAgICAgICAgaWYgX2dldGZpbmFscGF0aG5hbWUgaXMgbm90IE5v bmU6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4dF90b19ub3JtYWwoX2dldGZpbmFscGF0 aG5hbWUocykpCistICAgICAgICAjIE1lYW5zIGZhbGxiYWNrIG9uIGFic29sdXRlCistICAgICAg ICByZXR1cm4gTm9uZQorLQorLSAgICBkZWYgX3NwbGl0X2V4dGVuZGVkX3BhdGgoc2VsZiwgcywg ZXh0X3ByZWZpeD1leHRfbmFtZXNwYWNlX3ByZWZpeCk6CistICAgICAgICBwcmVmaXggPSAnJwor LSAgICAgICAgaWYgcy5zdGFydHN3aXRoKGV4dF9wcmVmaXgpOgorLSAgICAgICAgICAgIHByZWZp eCA9IHNbOjRdCistICAgICAgICAgICAgcyA9IHNbNDpdCistICAgICAgICAgICAgaWYgcy5zdGFy dHN3aXRoKCdVTkNcXCcpOgorLSAgICAgICAgICAgICAgICBwcmVmaXggKz0gc1s6M10KKy0gICAg ICAgICAgICAgICAgcyA9ICdcXCcgKyBzWzM6XQorLSAgICAgICAgcmV0dXJuIHByZWZpeCwgcwor LQorLSAgICBkZWYgX2V4dF90b19ub3JtYWwoc2VsZiwgcyk6CistICAgICAgICAjIFR1cm4gYmFj ayBhbiBleHRlbmRlZCBwYXRoIGludG8gYSBub3JtYWwgRE9TLWxpa2UgcGF0aAorLSAgICAgICAg cmV0dXJuIHNlbGYuX3NwbGl0X2V4dGVuZGVkX3BhdGgocylbMV0KKy0KKy0gICAgZGVmIGlzX3Jl c2VydmVkKHNlbGYsIHBhcnRzKToKKy0gICAgICAgICMgTk9URTogdGhlIHJ1bGVzIGZvciByZXNl cnZlZCBuYW1lcyBzZWVtIHNvbWV3aGF0IGNvbXBsaWNhdGVkCistICAgICAgICAjIChlLmcuIHIi Li5cTlVMIiBpcyByZXNlcnZlZCBidXQgbm90IHIiZm9vXE5VTCIpLgorLSAgICAgICAgIyBXZSBl cnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiBhbmQgcmV0dXJuIFRydWUgZm9yIHBhdGhzIHdoaWNo IGFyZQorLSAgICAgICAgIyBub3QgY29uc2lkZXJlZCByZXNlcnZlZCBieSBXaW5kb3dzLgorLSAg ICAgICAgaWYgbm90IHBhcnRzOgorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAg aWYgcGFydHNbMF0uc3RhcnRzd2l0aCgnXFxcXCcpOgorLSAgICAgICAgICAgICMgVU5DIHBhdGhz IGFyZSBuZXZlciByZXNlcnZlZAorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAg cmV0dXJuIHBhcnRzWy0xXS5wYXJ0aXRpb24oJy4nKVswXS51cHBlcigpIGluIHNlbGYucmVzZXJ2 ZWRfbmFtZXMKKy0KKy0gICAgZGVmIG1ha2VfdXJpKHNlbGYsIHBhdGgpOgorLSAgICAgICAgIyBV bmRlciBXaW5kb3dzLCBmaWxlIFVSSXMgdXNlIHRoZSBVVEYtOCBlbmNvZGluZy4KKy0gICAgICAg IGRyaXZlID0gcGF0aC5kcml2ZQorLSAgICAgICAgaWYgbGVuKGRyaXZlKSA9PSAyIGFuZCBkcml2 ZVsxXSA9PSAnOic6CistICAgICAgICAgICAgIyBJdCdzIGEgcGF0aCBvbiBhIGxvY2FsIGRyaXZl ID0+ICdmaWxlOi8vL2M6L2EvYicKKy0gICAgICAgICAgICByZXN0ID0gcGF0aC5hc19wb3NpeCgp WzI6XS5sc3RyaXAoJy8nKQorLSAgICAgICAgICAgIHJldHVybiAnZmlsZTovLy8lcy8lcycgJSAo CistICAgICAgICAgICAgICAgIGRyaXZlLCB1cmxxdW90ZV9mcm9tX2J5dGVzKHJlc3QuZW5jb2Rl KCd1dGYtOCcpKSkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgIyBJdCdzIGEgcGF0aCBv biBhIG5ldHdvcmsgZHJpdmUgPT4gJ2ZpbGU6Ly9ob3N0L3NoYXJlL2EvYicKKy0gICAgICAgICAg ICByZXR1cm4gJ2ZpbGU6JyArIHVybHF1b3RlX2Zyb21fYnl0ZXMocGF0aC5hc19wb3NpeCgpLmVu Y29kZSgndXRmLTgnKSkKKy0KKy0KKy1jbGFzcyBfUG9zaXhGbGF2b3VyKF9GbGF2b3VyKToKKy0g ICAgc2VwID0gJy8nCistICAgIGFsdHNlcCA9ICcnCistICAgIGhhc19kcnYgPSBGYWxzZQorLSAg ICBwYXRobW9kID0gcG9zaXhwYXRoCistCistICAgIGlzX3N1cHBvcnRlZCA9IChvcy5uYW1lICE9 ICdudCcpCistCistICAgIGRlZiBzcGxpdHJvb3Qoc2VsZiwgcGFydCwgc2VwPXNlcCk6CistICAg ICAgICBpZiBwYXJ0IGFuZCBwYXJ0WzBdID09IHNlcDoKKy0gICAgICAgICAgICBzdHJpcHBlZF9w YXJ0ID0gcGFydC5sc3RyaXAoc2VwKQorLSAgICAgICAgICAgICMgQWNjb3JkaW5nIHRvIFBPU0lY IHBhdGggcmVzb2x1dGlvbjoKKy0gICAgICAgICAgICAjIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5v cmcvb25saW5lcHVicy8wMDk2OTUzOTkvYmFzZWRlZnMveGJkX2NoYXAwNC5odG1sI3RhZ18wNF8x MQorLSAgICAgICAgICAgICMgIkEgcGF0aG5hbWUgdGhhdCBiZWdpbnMgd2l0aCB0d28gc3VjY2Vz c2l2ZSBzbGFzaGVzIG1heSBiZQorLSAgICAgICAgICAgICMgaW50ZXJwcmV0ZWQgaW4gYW4gaW1w bGVtZW50YXRpb24tZGVmaW5lZCBtYW5uZXIsIGFsdGhvdWdoIG1vcmUKKy0gICAgICAgICAgICAj IHRoYW4gdHdvIGxlYWRpbmcgc2xhc2hlcyBzaGFsbCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIHNs YXNoIi4KKy0gICAgICAgICAgICBpZiBsZW4ocGFydCkgLSBsZW4oc3RyaXBwZWRfcGFydCkgPT0g MjoKKy0gICAgICAgICAgICAgICAgcmV0dXJuICcnLCBzZXAgKiAyLCBzdHJpcHBlZF9wYXJ0Cist ICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgcmV0dXJuICcnLCBzZXAsIHN0cmlw cGVkX3BhcnQKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuICcnLCAnJywgcGFy dAorLQorLSAgICBkZWYgY2FzZWZvbGQoc2VsZiwgcyk6CistICAgICAgICByZXR1cm4gcworLQor LSAgICBkZWYgY2FzZWZvbGRfcGFydHMoc2VsZiwgcGFydHMpOgorLSAgICAgICAgcmV0dXJuIHBh cnRzCistCistICAgIGRlZiByZXNvbHZlKHNlbGYsIHBhdGgpOgorLSAgICAgICAgc2VwID0gc2Vs Zi5zZXAKKy0gICAgICAgIGFjY2Vzc29yID0gcGF0aC5fYWNjZXNzb3IKKy0gICAgICAgIHNlZW4g PSB7fQorLSAgICAgICAgZGVmIF9yZXNvbHZlKHBhdGgsIHJlc3QpOgorLSAgICAgICAgICAgIGlm IHJlc3Quc3RhcnRzd2l0aChzZXApOgorLSAgICAgICAgICAgICAgICBwYXRoID0gJycKKy0KKy0g ICAgICAgICAgICBmb3IgbmFtZSBpbiByZXN0LnNwbGl0KHNlcCk6CistICAgICAgICAgICAgICAg IGlmIG5vdCBuYW1lIG9yIG5hbWUgPT0gJy4nOgorLSAgICAgICAgICAgICAgICAgICAgIyBjdXJy ZW50IGRpcgorLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAg aWYgbmFtZSA9PSAnLi4nOgorLSAgICAgICAgICAgICAgICAgICAgIyBwYXJlbnQgZGlyCistICAg ICAgICAgICAgICAgICAgICBwYXRoLCBfLCBfID0gcGF0aC5ycGFydGl0aW9uKHNlcCkKKy0gICAg ICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgICAgIG5ld3BhdGggPSBwYXRo ICsgc2VwICsgbmFtZQorLSAgICAgICAgICAgICAgICBpZiBuZXdwYXRoIGluIHNlZW46CistICAg ICAgICAgICAgICAgICAgICAjIEFscmVhZHkgc2VlbiB0aGlzIHBhdGgKKy0gICAgICAgICAgICAg ICAgICAgIHBhdGggPSBzZWVuW25ld3BhdGhdCistICAgICAgICAgICAgICAgICAgICBpZiBwYXRo IGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgICAgICAgICAgICAgICMgdXNlIGNhY2hlZCB2YWx1 ZQorLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgICAgICAg ICAjIFRoZSBzeW1saW5rIGlzIG5vdCByZXNvbHZlZCwgc28gd2UgbXVzdCBoYXZlIGEgc3ltbGlu ayBsb29wLgorLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJTeW1saW5r IGxvb3AgZnJvbSAlciIgJSBuZXdwYXRoKQorLSAgICAgICAgICAgICAgICAjIFJlc29sdmUgdGhl IHN5bWJvbGljIGxpbmsKKy0gICAgICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICAg ICAgdGFyZ2V0ID0gYWNjZXNzb3IucmVhZGxpbmsobmV3cGF0aCkKKy0gICAgICAgICAgICAgICAg ZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0g RUlOVkFMOgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAgICAg ICAgICAjIE5vdCBhIHN5bWxpbmsKKy0gICAgICAgICAgICAgICAgICAgIHBhdGggPSBuZXdwYXRo CistICAgICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgICAgICBzZWVuW25ld3Bh dGhdID0gTm9uZSAjIG5vdCByZXNvbHZlZCBzeW1saW5rCistICAgICAgICAgICAgICAgICAgICBw YXRoID0gX3Jlc29sdmUocGF0aCwgdGFyZ2V0KQorLSAgICAgICAgICAgICAgICAgICAgc2Vlbltu ZXdwYXRoXSA9IHBhdGggIyByZXNvbHZlZCBzeW1saW5rCistCistICAgICAgICAgICAgcmV0dXJu IHBhdGgKKy0gICAgICAgICMgTk9URTogYWNjb3JkaW5nIHRvIFBPU0lYLCBnZXRjd2QoKSBjYW5u b3QgY29udGFpbiBwYXRoIGNvbXBvbmVudHMKKy0gICAgICAgICMgd2hpY2ggYXJlIHN5bWxpbmtz LgorLSAgICAgICAgYmFzZSA9ICcnIGlmIHBhdGguaXNfYWJzb2x1dGUoKSBlbHNlIG9zLmdldGN3 ZCgpCistICAgICAgICByZXR1cm4gX3Jlc29sdmUoYmFzZSwgc3RyKHBhdGgpKSBvciBzZXAKKy0K Ky0gICAgZGVmIGlzX3Jlc2VydmVkKHNlbGYsIHBhcnRzKToKKy0gICAgICAgIHJldHVybiBGYWxz ZQorLQorLSAgICBkZWYgbWFrZV91cmkoc2VsZiwgcGF0aCk6CistICAgICAgICAjIFdlIHJlcHJl c2VudCB0aGUgcGF0aCB1c2luZyB0aGUgbG9jYWwgZmlsZXN5c3RlbSBlbmNvZGluZywKKy0gICAg ICAgICMgZm9yIHBvcnRhYmlsaXR5IHRvIG90aGVyIGFwcGxpY2F0aW9ucy4KKy0gICAgICAgIGJw YXRoID0gYnl0ZXMocGF0aCkKKy0gICAgICAgIHJldHVybiAnZmlsZTovLycgKyB1cmxxdW90ZV9m cm9tX2J5dGVzKGJwYXRoKQorLQorLQorLV93aW5kb3dzX2ZsYXZvdXIgPSBfV2luZG93c0ZsYXZv dXIoKQorLV9wb3NpeF9mbGF2b3VyID0gX1Bvc2l4Rmxhdm91cigpCistCistCistY2xhc3MgX0Fj Y2Vzc29yOgorLSAgICAiIiJBbiBhY2Nlc3NvciBpbXBsZW1lbnRzIGEgcGFydGljdWxhciAoc3lz dGVtLXNwZWNpZmljIG9yIG5vdCkgd2F5IG9mCistICAgIGFjY2Vzc2luZyBwYXRocyBvbiB0aGUg ZmlsZXN5c3RlbS4iIiIKKy0KKy0KKy1jbGFzcyBfTm9ybWFsQWNjZXNzb3IoX0FjY2Vzc29yKToK Ky0KKy0gICAgZGVmIF93cmFwX3N0cmZ1bmMoc3RyZnVuYyk6CistICAgICAgICBAZnVuY3Rvb2xz LndyYXBzKHN0cmZ1bmMpCistICAgICAgICBkZWYgd3JhcHBlZChwYXRob2JqLCAqYXJncyk6Cist ICAgICAgICAgICAgcmV0dXJuIHN0cmZ1bmMoc3RyKHBhdGhvYmopLCAqYXJncykKKy0gICAgICAg IHJldHVybiBzdGF0aWNtZXRob2Qod3JhcHBlZCkKKy0KKy0gICAgZGVmIF93cmFwX2JpbmFyeV9z dHJmdW5jKHN0cmZ1bmMpOgorLSAgICAgICAgQGZ1bmN0b29scy53cmFwcyhzdHJmdW5jKQorLSAg ICAgICAgZGVmIHdyYXBwZWQocGF0aG9iakEsIHBhdGhvYmpCLCAqYXJncyk6CistICAgICAgICAg ICAgcmV0dXJuIHN0cmZ1bmMoc3RyKHBhdGhvYmpBKSwgc3RyKHBhdGhvYmpCKSwgKmFyZ3MpCist ICAgICAgICByZXR1cm4gc3RhdGljbWV0aG9kKHdyYXBwZWQpCistCistICAgIHN0YXQgPSBfd3Jh cF9zdHJmdW5jKG9zLnN0YXQpCistCistICAgIGxzdGF0ID0gX3dyYXBfc3RyZnVuYyhvcy5sc3Rh dCkKKy0KKy0gICAgb3BlbiA9IF93cmFwX3N0cmZ1bmMob3Mub3BlbikKKy0KKy0gICAgbGlzdGRp ciA9IF93cmFwX3N0cmZ1bmMob3MubGlzdGRpcikKKy0KKy0gICAgY2htb2QgPSBfd3JhcF9zdHJm dW5jKG9zLmNobW9kKQorLQorLSAgICBpZiBoYXNhdHRyKG9zLCAibGNobW9kIik6CistICAgICAg ICBsY2htb2QgPSBfd3JhcF9zdHJmdW5jKG9zLmxjaG1vZCkKKy0gICAgZWxzZToKKy0gICAgICAg IGRlZiBsY2htb2Qoc2VsZiwgcGF0aG9iaiwgbW9kZSk6CistICAgICAgICAgICAgcmFpc2UgTm90 SW1wbGVtZW50ZWRFcnJvcigibGNobW9kKCkgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHN5c3RlbSIp CistCistICAgIG1rZGlyID0gX3dyYXBfc3RyZnVuYyhvcy5ta2RpcikKKy0KKy0gICAgdW5saW5r ID0gX3dyYXBfc3RyZnVuYyhvcy51bmxpbmspCistCistICAgIHJtZGlyID0gX3dyYXBfc3RyZnVu Yyhvcy5ybWRpcikKKy0KKy0gICAgcmVuYW1lID0gX3dyYXBfYmluYXJ5X3N0cmZ1bmMob3MucmVu YW1lKQorLQorLSAgICBpZiBzeXMudmVyc2lvbl9pbmZvID49ICgzLCAzKToKKy0gICAgICAgIHJl cGxhY2UgPSBfd3JhcF9iaW5hcnlfc3RyZnVuYyhvcy5yZXBsYWNlKQorLQorLSAgICBpZiBudDoK Ky0gICAgICAgIGlmIHN1cHBvcnRzX3N5bWxpbmtzOgorLSAgICAgICAgICAgIHN5bWxpbmsgPSBf d3JhcF9iaW5hcnlfc3RyZnVuYyhvcy5zeW1saW5rKQorLSAgICAgICAgZWxzZToKKy0gICAgICAg ICAgICBkZWYgc3ltbGluayhhLCBiLCB0YXJnZXRfaXNfZGlyZWN0b3J5KToKKy0gICAgICAgICAg ICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigic3ltbGluaygpIG5vdCBhdmFpbGFibGUg b24gdGhpcyBzeXN0ZW0iKQorLSAgICBlbHNlOgorLSAgICAgICAgIyBVbmRlciBQT1NJWCwgb3Mu c3ltbGluaygpIHRha2VzIHR3byBhcmdzCistICAgICAgICBAc3RhdGljbWV0aG9kCistICAgICAg ICBkZWYgc3ltbGluayhhLCBiLCB0YXJnZXRfaXNfZGlyZWN0b3J5KToKKy0gICAgICAgICAgICBy ZXR1cm4gb3Muc3ltbGluayhzdHIoYSksIHN0cihiKSkKKy0KKy0gICAgdXRpbWUgPSBfd3JhcF9z dHJmdW5jKG9zLnV0aW1lKQorLQorLSAgICAjIEhlbHBlciBmb3IgcmVzb2x2ZSgpCistICAgIGRl ZiByZWFkbGluayhzZWxmLCBwYXRoKToKKy0gICAgICAgIHJldHVybiBvcy5yZWFkbGluayhwYXRo KQorLQorLQorLV9ub3JtYWxfYWNjZXNzb3IgPSBfTm9ybWFsQWNjZXNzb3IoKQorLQorLQorLSMK Ky0jIEdsb2JiaW5nIGhlbHBlcnMKKy0jCistCistQGNvbnRleHRtYW5hZ2VyCistZGVmIF9jYWNo ZWQoZnVuYyk6CistICAgIHRyeToKKy0gICAgICAgIGZ1bmMuX19jYWNoZWRfXworLSAgICAgICAg eWllbGQgZnVuYworLSAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CistICAgICAgICBjYWNoZSA9 IHt9CistICAgICAgICBkZWYgd3JhcHBlcigqYXJncyk6CistICAgICAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgICAgICByZXR1cm4gY2FjaGVbYXJnc10KKy0gICAgICAgICAgICBleGNlcHQgS2V5 RXJyb3I6CistICAgICAgICAgICAgICAgIHZhbHVlID0gY2FjaGVbYXJnc10gPSBmdW5jKCphcmdz KQorLSAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUKKy0gICAgICAgIHdyYXBwZXIuX19jYWNo ZWRfXyA9IFRydWUKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICB5aWVsZCB3cmFwcGVyCist ICAgICAgICBmaW5hbGx5OgorLSAgICAgICAgICAgIGNhY2hlLmNsZWFyKCkKKy0KKy1kZWYgX21h a2Vfc2VsZWN0b3IocGF0dGVybl9wYXJ0cyk6CistICAgIHBhdCA9IHBhdHRlcm5fcGFydHNbMF0K Ky0gICAgY2hpbGRfcGFydHMgPSBwYXR0ZXJuX3BhcnRzWzE6XQorLSAgICBpZiBwYXQgPT0gJyoq JzoKKy0gICAgICAgIGNscyA9IF9SZWN1cnNpdmVXaWxkY2FyZFNlbGVjdG9yCistICAgIGVsaWYg JyoqJyBpbiBwYXQ6CistICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIHBhdHRlcm46 ICcqKicgY2FuIG9ubHkgYmUgYW4gZW50aXJlIHBhdGggY29tcG9uZW50IikKKy0gICAgZWxpZiBf aXNfd2lsZGNhcmRfcGF0dGVybihwYXQpOgorLSAgICAgICAgY2xzID0gX1dpbGRjYXJkU2VsZWN0 b3IKKy0gICAgZWxzZToKKy0gICAgICAgIGNscyA9IF9QcmVjaXNlU2VsZWN0b3IKKy0gICAgcmV0 dXJuIGNscyhwYXQsIGNoaWxkX3BhcnRzKQorLQorLWlmIGhhc2F0dHIoZnVuY3Rvb2xzLCAibHJ1 X2NhY2hlIik6CistICAgIF9tYWtlX3NlbGVjdG9yID0gZnVuY3Rvb2xzLmxydV9jYWNoZSgpKF9t YWtlX3NlbGVjdG9yKQorLQorLQorLWNsYXNzIF9TZWxlY3RvcjoKKy0gICAgIiIiQSBzZWxlY3Rv ciBtYXRjaGVzIGEgc3BlY2lmaWMgZ2xvYiBwYXR0ZXJuIHBhcnQgYWdhaW5zdCB0aGUgY2hpbGRy ZW4KKy0gICAgb2YgYSBnaXZlbiBwYXRoLiIiIgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwg Y2hpbGRfcGFydHMpOgorLSAgICAgICAgc2VsZi5jaGlsZF9wYXJ0cyA9IGNoaWxkX3BhcnRzCist ICAgICAgICBpZiBjaGlsZF9wYXJ0czoKKy0gICAgICAgICAgICBzZWxmLnN1Y2Nlc3NvciA9IF9t YWtlX3NlbGVjdG9yKGNoaWxkX3BhcnRzKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBz ZWxmLnN1Y2Nlc3NvciA9IF9UZXJtaW5hdGluZ1NlbGVjdG9yKCkKKy0KKy0gICAgZGVmIHNlbGVj dF9mcm9tKHNlbGYsIHBhcmVudF9wYXRoKToKKy0gICAgICAgICIiIkl0ZXJhdGUgb3ZlciBhbGwg Y2hpbGQgcGF0aHMgb2YgYHBhcmVudF9wYXRoYCBtYXRjaGVkIGJ5IHRoaXMKKy0gICAgICAgIHNl bGVjdG9yLiAgVGhpcyBjYW4gY29udGFpbiBwYXJlbnRfcGF0aCBpdHNlbGYuIiIiCistICAgICAg ICBwYXRoX2NscyA9IHR5cGUocGFyZW50X3BhdGgpCistICAgICAgICBpc19kaXIgPSBwYXRoX2Ns cy5pc19kaXIKKy0gICAgICAgIGV4aXN0cyA9IHBhdGhfY2xzLmV4aXN0cworLSAgICAgICAgbGlz dGRpciA9IHBhcmVudF9wYXRoLl9hY2Nlc3Nvci5saXN0ZGlyCistICAgICAgICByZXR1cm4gc2Vs Zi5fc2VsZWN0X2Zyb20ocGFyZW50X3BhdGgsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKQorLQor LQorLWNsYXNzIF9UZXJtaW5hdGluZ1NlbGVjdG9yOgorLQorLSAgICBkZWYgX3NlbGVjdF9mcm9t KHNlbGYsIHBhcmVudF9wYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRpcik6CistICAgICAgICB5 aWVsZCBwYXJlbnRfcGF0aAorLQorLQorLWNsYXNzIF9QcmVjaXNlU2VsZWN0b3IoX1NlbGVjdG9y KToKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGNoaWxkX3BhcnRzKToKKy0gICAg ICAgIHNlbGYubmFtZSA9IG5hbWUKKy0gICAgICAgIF9TZWxlY3Rvci5fX2luaXRfXyhzZWxmLCBj aGlsZF9wYXJ0cykKKy0KKy0gICAgZGVmIF9zZWxlY3RfZnJvbShzZWxmLCBwYXJlbnRfcGF0aCwg aXNfZGlyLCBleGlzdHMsIGxpc3RkaXIpOgorLSAgICAgICAgaWYgbm90IGlzX2RpcihwYXJlbnRf cGF0aCk6CistICAgICAgICAgICAgcmV0dXJuCistICAgICAgICBwYXRoID0gcGFyZW50X3BhdGgu X21ha2VfY2hpbGRfcmVscGF0aChzZWxmLm5hbWUpCistICAgICAgICBpZiBleGlzdHMocGF0aCk6 CistICAgICAgICAgICAgZm9yIHAgaW4gc2VsZi5zdWNjZXNzb3IuX3NlbGVjdF9mcm9tKHBhdGgs IGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0gICAgICAgICAgICAgICAgeWllbGQgcAorLQor LQorLWNsYXNzIF9XaWxkY2FyZFNlbGVjdG9yKF9TZWxlY3Rvcik6CistCistICAgIGRlZiBfX2lu aXRfXyhzZWxmLCBwYXQsIGNoaWxkX3BhcnRzKToKKy0gICAgICAgIHNlbGYucGF0ID0gcmUuY29t cGlsZShmbm1hdGNoLnRyYW5zbGF0ZShwYXQpKQorLSAgICAgICAgX1NlbGVjdG9yLl9faW5pdF9f KHNlbGYsIGNoaWxkX3BhcnRzKQorLQorLSAgICBkZWYgX3NlbGVjdF9mcm9tKHNlbGYsIHBhcmVu dF9wYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRpcik6CistICAgICAgICBpZiBub3QgaXNfZGly KHBhcmVudF9wYXRoKToKKy0gICAgICAgICAgICByZXR1cm4KKy0gICAgICAgIGNmID0gcGFyZW50 X3BhdGguX2ZsYXZvdXIuY2FzZWZvbGQKKy0gICAgICAgIGZvciBuYW1lIGluIGxpc3RkaXIocGFy ZW50X3BhdGgpOgorLSAgICAgICAgICAgIGNhc2Vmb2xkZWQgPSBjZihuYW1lKQorLSAgICAgICAg ICAgIGlmIHNlbGYucGF0Lm1hdGNoKGNhc2Vmb2xkZWQpOgorLSAgICAgICAgICAgICAgICBwYXRo ID0gcGFyZW50X3BhdGguX21ha2VfY2hpbGRfcmVscGF0aChuYW1lKQorLSAgICAgICAgICAgICAg ICBmb3IgcCBpbiBzZWxmLnN1Y2Nlc3Nvci5fc2VsZWN0X2Zyb20ocGF0aCwgaXNfZGlyLCBleGlz dHMsIGxpc3RkaXIpOgorLSAgICAgICAgICAgICAgICAgICAgeWllbGQgcAorLQorLQorLWNsYXNz IF9SZWN1cnNpdmVXaWxkY2FyZFNlbGVjdG9yKF9TZWxlY3Rvcik6CistCistICAgIGRlZiBfX2lu aXRfXyhzZWxmLCBwYXQsIGNoaWxkX3BhcnRzKToKKy0gICAgICAgIF9TZWxlY3Rvci5fX2luaXRf XyhzZWxmLCBjaGlsZF9wYXJ0cykKKy0KKy0gICAgZGVmIF9pdGVyYXRlX2RpcmVjdG9yaWVzKHNl bGYsIHBhcmVudF9wYXRoLCBpc19kaXIsIGxpc3RkaXIpOgorLSAgICAgICAgeWllbGQgcGFyZW50 X3BhdGgKKy0gICAgICAgIGZvciBuYW1lIGluIGxpc3RkaXIocGFyZW50X3BhdGgpOgorLSAgICAg ICAgICAgIHBhdGggPSBwYXJlbnRfcGF0aC5fbWFrZV9jaGlsZF9yZWxwYXRoKG5hbWUpCistICAg ICAgICAgICAgaWYgaXNfZGlyKHBhdGgpOgorLSAgICAgICAgICAgICAgICBmb3IgcCBpbiBzZWxm Ll9pdGVyYXRlX2RpcmVjdG9yaWVzKHBhdGgsIGlzX2RpciwgbGlzdGRpcik6CistICAgICAgICAg ICAgICAgICAgICB5aWVsZCBwCistCistICAgIGRlZiBfc2VsZWN0X2Zyb20oc2VsZiwgcGFyZW50 X3BhdGgsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0gICAgICAgIGlmIG5vdCBpc19kaXIo cGFyZW50X3BhdGgpOgorLSAgICAgICAgICAgIHJldHVybgorLSAgICAgICAgd2l0aCBfY2FjaGVk KGxpc3RkaXIpIGFzIGxpc3RkaXI6CistICAgICAgICAgICAgeWllbGRlZCA9IHNldCgpCistICAg ICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBzdWNjZXNzb3Jfc2VsZWN0ID0gc2VsZi5z dWNjZXNzb3IuX3NlbGVjdF9mcm9tCistICAgICAgICAgICAgICAgIGZvciBzdGFydGluZ19wb2lu dCBpbiBzZWxmLl9pdGVyYXRlX2RpcmVjdG9yaWVzKHBhcmVudF9wYXRoLCBpc19kaXIsIGxpc3Rk aXIpOgorLSAgICAgICAgICAgICAgICAgICAgZm9yIHAgaW4gc3VjY2Vzc29yX3NlbGVjdChzdGFy dGluZ19wb2ludCwgaXNfZGlyLCBleGlzdHMsIGxpc3RkaXIpOgorLSAgICAgICAgICAgICAgICAg ICAgICAgIGlmIHAgbm90IGluIHlpZWxkZWQ6CistICAgICAgICAgICAgICAgICAgICAgICAgICAg IHlpZWxkIHAKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGRlZC5hZGQocCkKKy0g ICAgICAgICAgICBmaW5hbGx5OgorLSAgICAgICAgICAgICAgICB5aWVsZGVkLmNsZWFyKCkKKy0K Ky0KKy0jCistIyBQdWJsaWMgQVBJCistIworLQorLWNsYXNzIF9QYXRoUGFyZW50cyhTZXF1ZW5j ZSk6CistICAgICIiIlRoaXMgb2JqZWN0IHByb3ZpZGVzIHNlcXVlbmNlLWxpa2UgYWNjZXNzIHRv IHRoZSBsb2dpY2FsIGFuY2VzdG9ycworLSAgICBvZiBhIHBhdGguICBEb24ndCB0cnkgdG8gY29u c3RydWN0IGl0IHlvdXJzZWxmLiIiIgorLSAgICBfX3Nsb3RzX18gPSAoJ19wYXRoY2xzJywgJ19k cnYnLCAnX3Jvb3QnLCAnX3BhcnRzJykKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgp OgorLSAgICAgICAgIyBXZSBkb24ndCBzdG9yZSB0aGUgaW5zdGFuY2UgdG8gYXZvaWQgcmVmZXJl bmNlIGN5Y2xlcworLSAgICAgICAgc2VsZi5fcGF0aGNscyA9IHR5cGUocGF0aCkKKy0gICAgICAg IHNlbGYuX2RydiA9IHBhdGguX2RydgorLSAgICAgICAgc2VsZi5fcm9vdCA9IHBhdGguX3Jvb3QK Ky0gICAgICAgIHNlbGYuX3BhcnRzID0gcGF0aC5fcGFydHMKKy0KKy0gICAgZGVmIF9fbGVuX18o c2VsZik6CistICAgICAgICBpZiBzZWxmLl9kcnYgb3Igc2VsZi5fcm9vdDoKKy0gICAgICAgICAg ICByZXR1cm4gbGVuKHNlbGYuX3BhcnRzKSAtIDEKKy0gICAgICAgIGVsc2U6CistICAgICAgICAg ICAgcmV0dXJuIGxlbihzZWxmLl9wYXJ0cykKKy0KKy0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYs IGlkeCk6CistICAgICAgICBpZiBpZHggPCAwIG9yIGlkeCA+PSBsZW4oc2VsZik6CistICAgICAg ICAgICAgcmFpc2UgSW5kZXhFcnJvcihpZHgpCistICAgICAgICByZXR1cm4gc2VsZi5fcGF0aGNs cy5fZnJvbV9wYXJzZWRfcGFydHMoc2VsZi5fZHJ2LCBzZWxmLl9yb290LAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnRzWzotaWR4IC0g MV0pCistCistICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiAiPHswfS5w YXJlbnRzPiIuZm9ybWF0KHNlbGYuX3BhdGhjbHMuX19uYW1lX18pCistCistCistY2xhc3MgUHVy ZVBhdGgob2JqZWN0KToKKy0gICAgIiIiUHVyZVBhdGggcmVwcmVzZW50cyBhIGZpbGVzeXN0ZW0g cGF0aCBhbmQgb2ZmZXJzIG9wZXJhdGlvbnMgd2hpY2gKKy0gICAgZG9uJ3QgaW1wbHkgYW55IGFj dHVhbCBmaWxlc3lzdGVtIEkvTy4gIERlcGVuZGluZyBvbiB5b3VyIHN5c3RlbSwKKy0gICAgaW5z dGFudGlhdGluZyBhIFB1cmVQYXRoIHdpbGwgcmV0dXJuIGVpdGhlciBhIFB1cmVQb3NpeFBhdGgg b3IgYQorLSAgICBQdXJlV2luZG93c1BhdGggb2JqZWN0LiAgWW91IGNhbiBhbHNvIGluc3RhbnRp YXRlIGVpdGhlciBvZiB0aGVzZSBjbGFzc2VzCistICAgIGRpcmVjdGx5LCByZWdhcmRsZXNzIG9m IHlvdXIgc3lzdGVtLgorLSAgICAiIiIKKy0gICAgX19zbG90c19fID0gKAorLSAgICAgICAgJ19k cnYnLCAnX3Jvb3QnLCAnX3BhcnRzJywKKy0gICAgICAgICdfc3RyJywgJ19oYXNoJywgJ19wcGFy dHMnLCAnX2NhY2hlZF9jcGFydHMnLAorLSAgICApCistCistICAgIGRlZiBfX25ld19fKGNscywg KmFyZ3MpOgorLSAgICAgICAgIiIiQ29uc3RydWN0IGEgUHVyZVBhdGggZnJvbSBvbmUgb3Igc2V2 ZXJhbCBzdHJpbmdzIGFuZCBvciBleGlzdGluZworLSAgICAgICAgUHVyZVBhdGggb2JqZWN0cy4g IFRoZSBzdHJpbmdzIGFuZCBwYXRoIG9iamVjdHMgYXJlIGNvbWJpbmVkIHNvIGFzCistICAgICAg ICB0byB5aWVsZCBhIGNhbm9uaWNhbGl6ZWQgcGF0aCwgd2hpY2ggaXMgaW5jb3Jwb3JhdGVkIGlu dG8gdGhlCistICAgICAgICBuZXcgUHVyZVBhdGggb2JqZWN0LgorLSAgICAgICAgIiIiCistICAg ICAgICBpZiBjbHMgaXMgUHVyZVBhdGg6CistICAgICAgICAgICAgY2xzID0gUHVyZVdpbmRvd3NQ YXRoIGlmIG9zLm5hbWUgPT0gJ250JyBlbHNlIFB1cmVQb3NpeFBhdGgKKy0gICAgICAgIHJldHVy biBjbHMuX2Zyb21fcGFydHMoYXJncykKKy0KKy0gICAgZGVmIF9fcmVkdWNlX18oc2VsZik6Cist ICAgICAgICAjIFVzaW5nIHRoZSBwYXJ0cyB0dXBsZSBoZWxwcyBzaGFyZSBpbnRlcm5lZCBwYXRo IHBhcnRzCistICAgICAgICAjIHdoZW4gcGlja2xpbmcgcmVsYXRlZCBwYXRocy4KKy0gICAgICAg IHJldHVybiAoc2VsZi5fX2NsYXNzX18sIHR1cGxlKHNlbGYuX3BhcnRzKSkKKy0KKy0gICAgQGNs YXNzbWV0aG9kCistICAgIGRlZiBfcGFyc2VfYXJncyhjbHMsIGFyZ3MpOgorLSAgICAgICAgIyBU aGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSBkb24ndCB3YW50IHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSwg anVzdAorLSAgICAgICAgIyBjYW5vbmljYWxpemUgc29tZSBjb25zdHJ1Y3RvciBhcmd1bWVudHMu CistICAgICAgICBwYXJ0cyA9IFtdCistICAgICAgICBmb3IgYSBpbiBhcmdzOgorLSAgICAgICAg ICAgIGlmIGlzaW5zdGFuY2UoYSwgUHVyZVBhdGgpOgorLSAgICAgICAgICAgICAgICBwYXJ0cyAr PSBhLl9wYXJ0cworLSAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShhLCBiYXNlc3RyaW5nKToK Ky0gICAgICAgICAgICAgICAgcGFydHMuYXBwZW5kKGEpCistICAgICAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKAorLSAgICAgICAgICAgICAgICAgICAgImFy Z3VtZW50IHNob3VsZCBiZSBhIHBhdGggb3Igc3RyIG9iamVjdCwgbm90ICVyIgorLSAgICAgICAg ICAgICAgICAgICAgJSB0eXBlKGEpKQorLSAgICAgICAgcmV0dXJuIGNscy5fZmxhdm91ci5wYXJz ZV9wYXJ0cyhwYXJ0cykKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfZnJvbV9wYXJ0 cyhjbHMsIGFyZ3MsIGluaXQ9VHJ1ZSk6CistICAgICAgICAjIFdlIG5lZWQgdG8gY2FsbCBfcGFy c2VfYXJncyBvbiB0aGUgaW5zdGFuY2UsIHNvIGFzIHRvIGdldCB0aGUKKy0gICAgICAgICMgcmln aHQgZmxhdm91ci4KKy0gICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCistICAgICAg ICBkcnYsIHJvb3QsIHBhcnRzID0gc2VsZi5fcGFyc2VfYXJncyhhcmdzKQorLSAgICAgICAgc2Vs Zi5fZHJ2ID0gZHJ2CistICAgICAgICBzZWxmLl9yb290ID0gcm9vdAorLSAgICAgICAgc2VsZi5f cGFydHMgPSBwYXJ0cworLSAgICAgICAgaWYgaW5pdDoKKy0gICAgICAgICAgICBzZWxmLl9pbml0 KCkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYg X2Zyb21fcGFyc2VkX3BhcnRzKGNscywgZHJ2LCByb290LCBwYXJ0cywgaW5pdD1UcnVlKToKKy0g ICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhjbHMpCistICAgICAgICBzZWxmLl9kcnYgPSBk cnYKKy0gICAgICAgIHNlbGYuX3Jvb3QgPSByb290CistICAgICAgICBzZWxmLl9wYXJ0cyA9IHBh cnRzCistICAgICAgICBpZiBpbml0OgorLSAgICAgICAgICAgIHNlbGYuX2luaXQoKQorLSAgICAg ICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfZm9ybWF0X3Bh cnNlZF9wYXJ0cyhjbHMsIGRydiwgcm9vdCwgcGFydHMpOgorLSAgICAgICAgaWYgZHJ2IG9yIHJv b3Q6CistICAgICAgICAgICAgcmV0dXJuIGRydiArIHJvb3QgKyBjbHMuX2ZsYXZvdXIuam9pbihw YXJ0c1sxOl0pCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiBjbHMuX2ZsYXZv dXIuam9pbihwYXJ0cykKKy0KKy0gICAgZGVmIF9pbml0KHNlbGYpOgorLSAgICAgICAgIyBPdmVy cmlkZW4gaW4gY29uY3JldGUgUGF0aAorLSAgICAgICAgcGFzcworLQorLSAgICBkZWYgX21ha2Vf Y2hpbGQoc2VsZiwgYXJncyk6CistICAgICAgICBkcnYsIHJvb3QsIHBhcnRzID0gc2VsZi5fcGFy c2VfYXJncyhhcmdzKQorLSAgICAgICAgZHJ2LCByb290LCBwYXJ0cyA9IHNlbGYuX2ZsYXZvdXIu am9pbl9wYXJzZWRfcGFydHMoCistICAgICAgICAgICAgc2VsZi5fZHJ2LCBzZWxmLl9yb290LCBz ZWxmLl9wYXJ0cywgZHJ2LCByb290LCBwYXJ0cykKKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9t X3BhcnNlZF9wYXJ0cyhkcnYsIHJvb3QsIHBhcnRzKQorLQorLSAgICBkZWYgX19zdHJfXyhzZWxm KToKKy0gICAgICAgICIiIlJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBw YXRoLCBzdWl0YWJsZSBmb3IKKy0gICAgICAgIHBhc3NpbmcgdG8gc3lzdGVtIGNhbGxzLiIiIgor LSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9zdHIKKy0gICAgICAgIGV4 Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0gICAgICAgICAgICBzZWxmLl9zdHIgPSBzZWxmLl9mb3Jt YXRfcGFyc2VkX3BhcnRzKHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnRzKSBvciAnLicKKy0g ICAgICAgICAgICByZXR1cm4gc2VsZi5fc3RyCistCistICAgIGRlZiBhc19wb3NpeChzZWxmKToK Ky0gICAgICAgICIiIlJldHVybiB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwYXRo IHdpdGggZm9yd2FyZCAoLykKKy0gICAgICAgIHNsYXNoZXMuIiIiCistICAgICAgICBmID0gc2Vs Zi5fZmxhdm91cgorLSAgICAgICAgcmV0dXJuIHN0cihzZWxmKS5yZXBsYWNlKGYuc2VwLCAnLycp CistCistICAgIGRlZiBfX2J5dGVzX18oc2VsZik6CistICAgICAgICAiIiJSZXR1cm4gdGhlIGJ5 dGVzIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwYXRoLiAgVGhpcyBpcyBvbmx5CistICAgICAgICBy ZWNvbW1lbmRlZCB0byB1c2UgdW5kZXIgVW5peC4iIiIKKy0gICAgICAgIGlmIHN5cy52ZXJzaW9u X2luZm8gPCAoMywgMik6CistICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigi bmVlZHMgUHl0aG9uIDMuMiBvciBsYXRlciIpCistICAgICAgICByZXR1cm4gb3MuZnNlbmNvZGUo c3RyKHNlbGYpKQorLQorLSAgICBkZWYgX19yZXByX18oc2VsZik6CistICAgICAgICByZXR1cm4g InswfSh7MSFyfSkiLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgc2VsZi5hc19wb3Np eCgpKQorLQorLSAgICBkZWYgYXNfdXJpKHNlbGYpOgorLSAgICAgICAgIiIiUmV0dXJuIHRoZSBw YXRoIGFzIGEgJ2ZpbGUnIFVSSS4iIiIKKy0gICAgICAgIGlmIG5vdCBzZWxmLmlzX2Fic29sdXRl KCk6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigicmVsYXRpdmUgcGF0aCBjYW4ndCBi ZSBleHByZXNzZWQgYXMgYSBmaWxlIFVSSSIpCistICAgICAgICByZXR1cm4gc2VsZi5fZmxhdm91 ci5tYWtlX3VyaShzZWxmKQorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIF9jcGFydHMoc2Vs Zik6CistICAgICAgICAjIENhY2hlZCBjYXNlZm9sZGVkIHBhcnRzLCBmb3IgaGFzaGluZyBhbmQg Y29tcGFyaXNvbgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jYWNo ZWRfY3BhcnRzCistICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CistICAgICAgICAgICAg c2VsZi5fY2FjaGVkX2NwYXJ0cyA9IHNlbGYuX2ZsYXZvdXIuY2FzZWZvbGRfcGFydHMoc2VsZi5f cGFydHMpCistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NhY2hlZF9jcGFydHMKKy0KKy0gICAg ZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CistICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhl ciwgUHVyZVBhdGgpOgorLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorLSAgICAg ICAgcmV0dXJuIHNlbGYuX2NwYXJ0cyA9PSBvdGhlci5fY3BhcnRzIGFuZCBzZWxmLl9mbGF2b3Vy IGlzIG90aGVyLl9mbGF2b3VyCistCistICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgorLSAg ICAgICAgcmV0dXJuIG5vdCBzZWxmID09IG90aGVyCistCistICAgIGRlZiBfX2hhc2hfXyhzZWxm KToKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5faGFzaAorLSAgICAg ICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgICAgIHNlbGYuX2hhc2ggPSBoYXNo KHR1cGxlKHNlbGYuX2NwYXJ0cykpCistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2gKKy0K Ky0gICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6CistICAgICAgICBpZiBub3QgaXNpbnN0YW5j ZShvdGhlciwgUHVyZVBhdGgpIG9yIHNlbGYuX2ZsYXZvdXIgaXMgbm90IG90aGVyLl9mbGF2b3Vy OgorLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorLSAgICAgICAgcmV0dXJuIHNl bGYuX2NwYXJ0cyA8IG90aGVyLl9jcGFydHMKKy0KKy0gICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhl cik6CistICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgUHVyZVBhdGgpIG9yIHNlbGYu X2ZsYXZvdXIgaXMgbm90IG90aGVyLl9mbGF2b3VyOgorLSAgICAgICAgICAgIHJldHVybiBOb3RJ bXBsZW1lbnRlZAorLSAgICAgICAgcmV0dXJuIHNlbGYuX2NwYXJ0cyA8PSBvdGhlci5fY3BhcnRz CistCistICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5z dGFuY2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxmLl9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxh dm91cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVy biBzZWxmLl9jcGFydHMgPiBvdGhlci5fY3BhcnRzCistCistICAgIGRlZiBfX2dlX18oc2VsZiwg b3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIFB1cmVQYXRoKSBvciBz ZWxmLl9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxhdm91cjoKKy0gICAgICAgICAgICByZXR1cm4g Tm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBzZWxmLl9jcGFydHMgPj0gb3RoZXIuX2Nw YXJ0cworLQorLSAgICBkcml2ZSA9IHByb3BlcnR5KGF0dHJnZXR0ZXIoJ19kcnYnKSwKKy0gICAg ICAgICAgICAgICAgICAgICBkb2M9IiIiVGhlIGRyaXZlIHByZWZpeCAobGV0dGVyIG9yIFVOQyBw YXRoKSwgaWYgYW55LiIiIikKKy0KKy0gICAgcm9vdCA9IHByb3BlcnR5KGF0dHJnZXR0ZXIoJ19y b290JyksCistICAgICAgICAgICAgICAgICAgICBkb2M9IiIiVGhlIHJvb3Qgb2YgdGhlIHBhdGgs IGlmIGFueS4iIiIpCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgYW5jaG9yKHNlbGYpOgor LSAgICAgICAgIiIiVGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIGRyaXZlIGFuZCByb290LCBvciAn Jy4iIiIKKy0gICAgICAgIGFuY2hvciA9IHNlbGYuX2RydiArIHNlbGYuX3Jvb3QKKy0gICAgICAg IHJldHVybiBhbmNob3IKKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBuYW1lKHNlbGYpOgor LSAgICAgICAgIiIiVGhlIGZpbmFsIHBhdGggY29tcG9uZW50LCBpZiBhbnkuIiIiCistICAgICAg ICBwYXJ0cyA9IHNlbGYuX3BhcnRzCistICAgICAgICBpZiBsZW4ocGFydHMpID09ICgxIGlmIChz ZWxmLl9kcnYgb3Igc2VsZi5fcm9vdCkgZWxzZSAwKToKKy0gICAgICAgICAgICByZXR1cm4gJycK Ky0gICAgICAgIHJldHVybiBwYXJ0c1stMV0KKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBz dWZmaXgoc2VsZik6CistICAgICAgICAiIiJUaGUgZmluYWwgY29tcG9uZW50J3MgbGFzdCBzdWZm aXgsIGlmIGFueS4iIiIKKy0gICAgICAgIG5hbWUgPSBzZWxmLm5hbWUKKy0gICAgICAgIGkgPSBu YW1lLnJmaW5kKCcuJykKKy0gICAgICAgIGlmIDAgPCBpIDwgbGVuKG5hbWUpIC0gMToKKy0gICAg ICAgICAgICByZXR1cm4gbmFtZVtpOl0KKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0 dXJuICcnCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgc3VmZml4ZXMoc2VsZik6CistICAg ICAgICAiIiJBIGxpc3Qgb2YgdGhlIGZpbmFsIGNvbXBvbmVudCdzIHN1ZmZpeGVzLCBpZiBhbnku IiIiCistICAgICAgICBuYW1lID0gc2VsZi5uYW1lCistICAgICAgICBpZiBuYW1lLmVuZHN3aXRo KCcuJyk6CistICAgICAgICAgICAgcmV0dXJuIFtdCistICAgICAgICBuYW1lID0gbmFtZS5sc3Ry aXAoJy4nKQorLSAgICAgICAgcmV0dXJuIFsnLicgKyBzdWZmaXggZm9yIHN1ZmZpeCBpbiBuYW1l LnNwbGl0KCcuJylbMTpdXQorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIHN0ZW0oc2VsZik6 CistICAgICAgICAiIiJUaGUgZmluYWwgcGF0aCBjb21wb25lbnQsIG1pbnVzIGl0cyBsYXN0IHN1 ZmZpeC4iIiIKKy0gICAgICAgIG5hbWUgPSBzZWxmLm5hbWUKKy0gICAgICAgIGkgPSBuYW1lLnJm aW5kKCcuJykKKy0gICAgICAgIGlmIDAgPCBpIDwgbGVuKG5hbWUpIC0gMToKKy0gICAgICAgICAg ICByZXR1cm4gbmFtZVs6aV0KKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuIG5h bWUKKy0KKy0gICAgZGVmIHdpdGhfbmFtZShzZWxmLCBuYW1lKToKKy0gICAgICAgICIiIlJldHVy biBhIG5ldyBwYXRoIHdpdGggdGhlIGZpbGUgbmFtZSBjaGFuZ2VkLiIiIgorLSAgICAgICAgaWYg bm90IHNlbGYubmFtZToKKy0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlciBoYXMgYW4g ZW1wdHkgbmFtZSIgJSAoc2VsZiwpKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX2Zyb21fcGFyc2Vk X3BhcnRzKHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLl9wYXJ0c1s6LTFdICsgW25hbWVdKQorLQorLSAgICBkZWYgd2l0 aF9zdWZmaXgoc2VsZiwgc3VmZml4KToKKy0gICAgICAgICIiIlJldHVybiBhIG5ldyBwYXRoIHdp dGggdGhlIGZpbGUgc3VmZml4IGNoYW5nZWQgKG9yIGFkZGVkLCBpZiBub25lKS4iIiIKKy0gICAg ICAgICMgWFhYIGlmIHN1ZmZpeCBpcyBOb25lLCBzaG91bGQgdGhlIGN1cnJlbnQgc3VmZml4IGJl IHJlbW92ZWQ/CistICAgICAgICBkcnYsIHJvb3QsIHBhcnRzID0gc2VsZi5fZmxhdm91ci5wYXJz ZV9wYXJ0cygoc3VmZml4LCkpCistICAgICAgICBpZiBkcnYgb3Igcm9vdCBvciBsZW4ocGFydHMp ICE9IDE6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBzdWZmaXggJXIi ICUgKHN1ZmZpeCkpCistICAgICAgICBzdWZmaXggPSBwYXJ0c1swXQorLSAgICAgICAgaWYgbm90 IHN1ZmZpeC5zdGFydHN3aXRoKCcuJyk6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigi SW52YWxpZCBzdWZmaXggJXIiICUgKHN1ZmZpeCkpCistICAgICAgICBuYW1lID0gc2VsZi5uYW1l CistICAgICAgICBpZiBub3QgbmFtZToKKy0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIl ciBoYXMgYW4gZW1wdHkgbmFtZSIgJSAoc2VsZiwpKQorLSAgICAgICAgb2xkX3N1ZmZpeCA9IHNl bGYuc3VmZml4CistICAgICAgICBpZiBub3Qgb2xkX3N1ZmZpeDoKKy0gICAgICAgICAgICBuYW1l ID0gbmFtZSArIHN1ZmZpeAorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBuYW1lID0gbmFt ZVs6LWxlbihvbGRfc3VmZml4KV0gKyBzdWZmaXgKKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9t X3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNlbGYuX3Jvb3QsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFydHNbOi0xXSArIFtuYW1lXSkKKy0KKy0gICAg ZGVmIHJlbGF0aXZlX3RvKHNlbGYsICpvdGhlcik6CistICAgICAgICAiIiJSZXR1cm4gdGhlIHJl bGF0aXZlIHBhdGggdG8gYW5vdGhlciBwYXRoIGlkZW50aWZpZWQgYnkgdGhlIHBhc3NlZAorLSAg ICAgICAgYXJndW1lbnRzLiAgSWYgdGhlIG9wZXJhdGlvbiBpcyBub3QgcG9zc2libGUgKGJlY2F1 c2UgdGhpcyBpcyBub3QKKy0gICAgICAgIGEgc3VicGF0aCBvZiB0aGUgb3RoZXIgcGF0aCksIHJh aXNlIFZhbHVlRXJyb3IuCistICAgICAgICAiIiIKKy0gICAgICAgICMgRm9yIHRoZSBwdXJwb3Nl IG9mIHRoaXMgbWV0aG9kLCBkcml2ZSBhbmQgcm9vdCBhcmUgY29uc2lkZXJlZAorLSAgICAgICAg IyBzZXBhcmF0ZSBwYXJ0cywgaS5lLjoKKy0gICAgICAgICMgICBQYXRoKCdjOi8nKS5yZWxhdGl2 ZV90bygnYzonKSAgZ2l2ZXMgUGF0aCgnLycpCistICAgICAgICAjICAgUGF0aCgnYzovJykucmVs YXRpdmVfdG8oJy8nKSAgIHJhaXNlIFZhbHVlRXJyb3IKKy0gICAgICAgIGlmIG5vdCBvdGhlcjoK Ky0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5lZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50 IikKKy0gICAgICAgIHBhcnRzID0gc2VsZi5fcGFydHMKKy0gICAgICAgIGRydiA9IHNlbGYuX2Ry dgorLSAgICAgICAgcm9vdCA9IHNlbGYuX3Jvb3QKKy0gICAgICAgIGlmIHJvb3Q6CistICAgICAg ICAgICAgYWJzX3BhcnRzID0gW2Rydiwgcm9vdF0gKyBwYXJ0c1sxOl0KKy0gICAgICAgIGVsc2U6 CistICAgICAgICAgICAgYWJzX3BhcnRzID0gcGFydHMKKy0gICAgICAgIHRvX2RydiwgdG9fcm9v dCwgdG9fcGFydHMgPSBzZWxmLl9wYXJzZV9hcmdzKG90aGVyKQorLSAgICAgICAgaWYgdG9fcm9v dDoKKy0gICAgICAgICAgICB0b19hYnNfcGFydHMgPSBbdG9fZHJ2LCB0b19yb290XSArIHRvX3Bh cnRzWzE6XQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICB0b19hYnNfcGFydHMgPSB0b19w YXJ0cworLSAgICAgICAgbiA9IGxlbih0b19hYnNfcGFydHMpCistICAgICAgICBjZiA9IHNlbGYu X2ZsYXZvdXIuY2FzZWZvbGRfcGFydHMKKy0gICAgICAgIGlmIChyb290IG9yIGRydikgaWYgbiA9 PSAwIGVsc2UgY2YoYWJzX3BhcnRzWzpuXSkgIT0gY2YodG9fYWJzX3BhcnRzKToKKy0gICAgICAg ICAgICBmb3JtYXR0ZWQgPSBzZWxmLl9mb3JtYXRfcGFyc2VkX3BhcnRzKHRvX2RydiwgdG9fcm9v dCwgdG9fcGFydHMpCistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigieyFyfSBkb2VzIG5v dCBzdGFydCB3aXRoIHshcn0iCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0 KHN0cihzZWxmKSwgc3RyKGZvcm1hdHRlZCkpKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX2Zyb21f cGFyc2VkX3BhcnRzKCcnLCByb290IGlmIG4gPT0gMSBlbHNlICcnLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFic19wYXJ0c1tuOl0pCistCistICAgIEBwcm9wZXJ0 eQorLSAgICBkZWYgcGFydHMoc2VsZik6CistICAgICAgICAiIiJBbiBvYmplY3QgcHJvdmlkaW5n IHNlcXVlbmNlLWxpa2UgYWNjZXNzIHRvIHRoZQorLSAgICAgICAgY29tcG9uZW50cyBpbiB0aGUg ZmlsZXN5c3RlbSBwYXRoLiIiIgorLSAgICAgICAgIyBXZSBjYWNoZSB0aGUgdHVwbGUgdG8gYXZv aWQgYnVpbGRpbmcgYSBuZXcgb25lIGVhY2ggdGltZSAucGFydHMKKy0gICAgICAgICMgaXMgYWNj ZXNzZWQuICBYWFggaXMgdGhpcyBuZWNlc3Nhcnk/CistICAgICAgICB0cnk6CistICAgICAgICAg ICAgcmV0dXJuIHNlbGYuX3BwYXJ0cworLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgor LSAgICAgICAgICAgIHNlbGYuX3BwYXJ0cyA9IHR1cGxlKHNlbGYuX3BhcnRzKQorLSAgICAgICAg ICAgIHJldHVybiBzZWxmLl9wcGFydHMKKy0KKy0gICAgZGVmIGpvaW5wYXRoKHNlbGYsICphcmdz KToKKy0gICAgICAgICIiIkNvbWJpbmUgdGhpcyBwYXRoIHdpdGggb25lIG9yIHNldmVyYWwgYXJn dW1lbnRzLCBhbmQgcmV0dXJuIGEKKy0gICAgICAgIG5ldyBwYXRoIHJlcHJlc2VudGluZyBlaXRo ZXIgYSBzdWJwYXRoIChpZiBhbGwgYXJndW1lbnRzIGFyZSByZWxhdGl2ZQorLSAgICAgICAgcGF0 aHMpIG9yIGEgdG90YWxseSBkaWZmZXJlbnQgcGF0aCAoaWYgb25lIG9mIHRoZSBhcmd1bWVudHMg aXMKKy0gICAgICAgIGFuY2hvcmVkKS4KKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNl bGYuX21ha2VfY2hpbGQoYXJncykKKy0KKy0gICAgZGVmIF9fdHJ1ZWRpdl9fKHNlbGYsIGtleSk6 CistICAgICAgICByZXR1cm4gc2VsZi5fbWFrZV9jaGlsZCgoa2V5LCkpCistCistICAgIGRlZiBf X3J0cnVlZGl2X18oc2VsZiwga2V5KToKKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnRz KFtrZXldICsgc2VsZi5fcGFydHMpCistCistICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywp OgorLSAgICAgICAgX19kaXZfXyA9IF9fdHJ1ZWRpdl9fCistICAgICAgICBfX3JkaXZfXyA9IF9f cnRydWVkaXZfXworLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIHBhcmVudChzZWxmKToKKy0g ICAgICAgICIiIlRoZSBsb2dpY2FsIHBhcmVudCBvZiB0aGUgcGF0aC4iIiIKKy0gICAgICAgIGRy diA9IHNlbGYuX2RydgorLSAgICAgICAgcm9vdCA9IHNlbGYuX3Jvb3QKKy0gICAgICAgIHBhcnRz ID0gc2VsZi5fcGFydHMKKy0gICAgICAgIGlmIGxlbihwYXJ0cykgPT0gMSBhbmQgKGRydiBvciBy b290KToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2Zy b21fcGFyc2VkX3BhcnRzKGRydiwgcm9vdCwgcGFydHNbOi0xXSkKKy0KKy0gICAgQHByb3BlcnR5 CistICAgIGRlZiBwYXJlbnRzKHNlbGYpOgorLSAgICAgICAgIiIiQSBzZXF1ZW5jZSBvZiB0aGlz IHBhdGgncyBsb2dpY2FsIHBhcmVudHMuIiIiCistICAgICAgICByZXR1cm4gX1BhdGhQYXJlbnRz KHNlbGYpCistCistICAgIGRlZiBpc19hYnNvbHV0ZShzZWxmKToKKy0gICAgICAgICIiIlRydWUg aWYgdGhlIHBhdGggaXMgYWJzb2x1dGUgKGhhcyBib3RoIGEgcm9vdCBhbmQsIGlmIGFwcGxpY2Fi bGUsCistICAgICAgICBhIGRyaXZlKS4iIiIKKy0gICAgICAgIGlmIG5vdCBzZWxmLl9yb290Ogor LSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9mbGF2 b3VyLmhhc19kcnYgb3IgYm9vbChzZWxmLl9kcnYpCistCistICAgIGRlZiBpc19yZXNlcnZlZChz ZWxmKToKKy0gICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBwYXRoIGNvbnRhaW5zIG9uZSBv ZiB0aGUgc3BlY2lhbCBuYW1lcyByZXNlcnZlZAorLSAgICAgICAgYnkgdGhlIHN5c3RlbSwgaWYg YW55LiIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZsYXZvdXIuaXNfcmVzZXJ2ZWQoc2VsZi5f cGFydHMpCistCistICAgIGRlZiBtYXRjaChzZWxmLCBwYXRoX3BhdHRlcm4pOgorLSAgICAgICAg IiIiCistICAgICAgICBSZXR1cm4gVHJ1ZSBpZiB0aGlzIHBhdGggbWF0Y2hlcyB0aGUgZ2l2ZW4g cGF0dGVybi4KKy0gICAgICAgICIiIgorLSAgICAgICAgY2YgPSBzZWxmLl9mbGF2b3VyLmNhc2Vm b2xkCistICAgICAgICBwYXRoX3BhdHRlcm4gPSBjZihwYXRoX3BhdHRlcm4pCistICAgICAgICBk cnYsIHJvb3QsIHBhdF9wYXJ0cyA9IHNlbGYuX2ZsYXZvdXIucGFyc2VfcGFydHMoKHBhdGhfcGF0 dGVybiwpKQorLSAgICAgICAgaWYgbm90IHBhdF9wYXJ0czoKKy0gICAgICAgICAgICByYWlzZSBW YWx1ZUVycm9yKCJlbXB0eSBwYXR0ZXJuIikKKy0gICAgICAgIGlmIGRydiBhbmQgZHJ2ICE9IGNm KHNlbGYuX2Rydik6CistICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistICAgICAgICBpZiByb290 IGFuZCByb290ICE9IGNmKHNlbGYuX3Jvb3QpOgorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQor LSAgICAgICAgcGFydHMgPSBzZWxmLl9jcGFydHMKKy0gICAgICAgIGlmIGRydiBvciByb290Ogor LSAgICAgICAgICAgIGlmIGxlbihwYXRfcGFydHMpICE9IGxlbihwYXJ0cyk6CistICAgICAgICAg ICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgICAgIHBhdF9wYXJ0cyA9IHBhdF9wYXJ0c1sx Ol0KKy0gICAgICAgIGVsaWYgbGVuKHBhdF9wYXJ0cykgPiBsZW4ocGFydHMpOgorLSAgICAgICAg ICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgZm9yIHBhcnQsIHBhdCBpbiB6aXAocmV2ZXJzZWQo cGFydHMpLCByZXZlcnNlZChwYXRfcGFydHMpKToKKy0gICAgICAgICAgICBpZiBub3QgZm5tYXRj aC5mbm1hdGNoY2FzZShwYXJ0LCBwYXQpOgorLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UK Ky0gICAgICAgIHJldHVybiBUcnVlCistCistCistY2xhc3MgUHVyZVBvc2l4UGF0aChQdXJlUGF0 aCk6CistICAgIF9mbGF2b3VyID0gX3Bvc2l4X2ZsYXZvdXIKKy0gICAgX19zbG90c19fID0gKCkK Ky0KKy0KKy1jbGFzcyBQdXJlV2luZG93c1BhdGgoUHVyZVBhdGgpOgorLSAgICBfZmxhdm91ciA9 IF93aW5kb3dzX2ZsYXZvdXIKKy0gICAgX19zbG90c19fID0gKCkKKy0KKy0KKy0jIEZpbGVzeXN0 ZW0tYWNjZXNzaW5nIGNsYXNzZXMKKy0KKy0KKy1jbGFzcyBQYXRoKFB1cmVQYXRoKToKKy0gICAg X19zbG90c19fID0gKAorLSAgICAgICAgJ19hY2Nlc3NvcicsCistICAgICkKKy0KKy0gICAgZGVm IF9fbmV3X18oY2xzLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgaWYgY2xzIGlzIFBhdGg6 CistICAgICAgICAgICAgY2xzID0gV2luZG93c1BhdGggaWYgb3MubmFtZSA9PSAnbnQnIGVsc2Ug UG9zaXhQYXRoCistICAgICAgICBzZWxmID0gY2xzLl9mcm9tX3BhcnRzKGFyZ3MsIGluaXQ9RmFs c2UpCistICAgICAgICBpZiBub3Qgc2VsZi5fZmxhdm91ci5pc19zdXBwb3J0ZWQ6CistICAgICAg ICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigiY2Fubm90IGluc3RhbnRpYXRlICVyIG9u IHlvdXIgc3lzdGVtIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAo Y2xzLl9fbmFtZV9fLCkpCistICAgICAgICBzZWxmLl9pbml0KCkKKy0gICAgICAgIHJldHVybiBz ZWxmCistCistICAgIGRlZiBfaW5pdChzZWxmLAorLSAgICAgICAgICAgICAgIyBQcml2YXRlIG5v bi1jb25zdHJ1Y3RvciBhcmd1bWVudHMKKy0gICAgICAgICAgICAgIHRlbXBsYXRlPU5vbmUsCist ICAgICAgICAgICAgICApOgorLSAgICAgICAgaWYgdGVtcGxhdGUgaXMgbm90IE5vbmU6CistICAg ICAgICAgICAgc2VsZi5fYWNjZXNzb3IgPSB0ZW1wbGF0ZS5fYWNjZXNzb3IKKy0gICAgICAgIGVs c2U6CistICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IgPSBfbm9ybWFsX2FjY2Vzc29yCistCist ICAgIGRlZiBfbWFrZV9jaGlsZF9yZWxwYXRoKHNlbGYsIHBhcnQpOgorLSAgICAgICAgIyBUaGlz IGlzIGFuIG9wdGltaXphdGlvbiB1c2VkIGZvciBkaXIgd2Fsa2luZy4gIGBwYXJ0YCBtdXN0IGJl CistICAgICAgICAjIGEgc2luZ2xlIHBhcnQgcmVsYXRpdmUgdG8gdGhpcyBwYXRoLgorLSAgICAg ICAgcGFydHMgPSBzZWxmLl9wYXJ0cyArIFtwYXJ0XQorLSAgICAgICAgcmV0dXJuIHNlbGYuX2Zy b21fcGFyc2VkX3BhcnRzKHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwgcGFydHMpCistCistICAgIGRl ZiBfb3BlbmVyKHNlbGYsIG5hbWUsIGZsYWdzLCBtb2RlPTBvNjY2KToKKy0gICAgICAgICMgQSBz dHViIGZvciB0aGUgb3BlbmVyIGFyZ3VtZW50IHRvIGJ1aWx0LWluIG9wZW4oKQorLSAgICAgICAg cmV0dXJuIHNlbGYuX2FjY2Vzc29yLm9wZW4oc2VsZiwgZmxhZ3MsIG1vZGUpCistCistICAgIGRl ZiBfcmF3X29wZW4oc2VsZiwgZmxhZ3MsIG1vZGU9MG83NzcpOgorLSAgICAgICAgIiIiCistICAg ICAgICBPcGVuIHRoZSBmaWxlIHBvaW50ZWQgYnkgdGhpcyBwYXRoIGFuZCByZXR1cm4gYSBmaWxl IGRlc2NyaXB0b3IsCistICAgICAgICBhcyBvcy5vcGVuKCkgZG9lcy4KKy0gICAgICAgICIiIgor LSAgICAgICAgcmV0dXJuIHNlbGYuX2FjY2Vzc29yLm9wZW4oc2VsZiwgZmxhZ3MsIG1vZGUpCist CistICAgICMgUHVibGljIEFQSQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGN3ZChj bHMpOgorLSAgICAgICAgIiIiUmV0dXJuIGEgbmV3IHBhdGggcG9pbnRpbmcgdG8gdGhlIGN1cnJl bnQgd29ya2luZyBkaXJlY3RvcnkKKy0gICAgICAgIChhcyByZXR1cm5lZCBieSBvcy5nZXRjd2Qo KSkuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBjbHMob3MuZ2V0Y3dkKCkpCistCist ICAgIGRlZiBpdGVyZGlyKHNlbGYpOgorLSAgICAgICAgIiIiSXRlcmF0ZSBvdmVyIHRoZSBmaWxl cyBpbiB0aGlzIGRpcmVjdG9yeS4gIERvZXMgbm90IHlpZWxkIGFueQorLSAgICAgICAgcmVzdWx0 IGZvciB0aGUgc3BlY2lhbCBwYXRocyAnLicgYW5kICcuLicuCistICAgICAgICAiIiIKKy0gICAg ICAgIGZvciBuYW1lIGluIHNlbGYuX2FjY2Vzc29yLmxpc3RkaXIoc2VsZik6CistICAgICAgICAg ICAgaWYgbmFtZSBpbiAoJy4nLCAnLi4nKToKKy0gICAgICAgICAgICAgICAgIyBZaWVsZGluZyBh IHBhdGggb2JqZWN0IGZvciB0aGVzZSBtYWtlcyBsaXR0bGUgc2Vuc2UKKy0gICAgICAgICAgICAg ICAgY29udGludWUKKy0gICAgICAgICAgICB5aWVsZCBzZWxmLl9tYWtlX2NoaWxkX3JlbHBhdGgo bmFtZSkKKy0KKy0gICAgZGVmIGdsb2Ioc2VsZiwgcGF0dGVybik6CistICAgICAgICAiIiJJdGVy YXRlIG92ZXIgdGhpcyBzdWJ0cmVlIGFuZCB5aWVsZCBhbGwgZXhpc3RpbmcgZmlsZXMgKG9mIGFu eQorLSAgICAgICAga2luZCwgaW5jbHVkaW5nIGRpcmVjdG9yaWVzKSBtYXRjaGluZyB0aGUgZ2l2 ZW4gcGF0dGVybi4KKy0gICAgICAgICIiIgorLSAgICAgICAgcGF0dGVybiA9IHNlbGYuX2ZsYXZv dXIuY2FzZWZvbGQocGF0dGVybikKKy0gICAgICAgIGRydiwgcm9vdCwgcGF0dGVybl9wYXJ0cyA9 IHNlbGYuX2ZsYXZvdXIucGFyc2VfcGFydHMoKHBhdHRlcm4sKSkKKy0gICAgICAgIGlmIGRydiBv ciByb290OgorLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoIk5vbi1yZWxh dGl2ZSBwYXR0ZXJucyBhcmUgdW5zdXBwb3J0ZWQiKQorLSAgICAgICAgc2VsZWN0b3IgPSBfbWFr ZV9zZWxlY3Rvcih0dXBsZShwYXR0ZXJuX3BhcnRzKSkKKy0gICAgICAgIGZvciBwIGluIHNlbGVj dG9yLnNlbGVjdF9mcm9tKHNlbGYpOgorLSAgICAgICAgICAgIHlpZWxkIHAKKy0KKy0gICAgZGVm IHJnbG9iKHNlbGYsIHBhdHRlcm4pOgorLSAgICAgICAgIiIiUmVjdXJzaXZlbHkgeWllbGQgYWxs IGV4aXN0aW5nIGZpbGVzIChvZiBhbnkga2luZCwgaW5jbHVkaW5nCistICAgICAgICBkaXJlY3Rv cmllcykgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdHRlcm4sIGFueXdoZXJlIGluIHRoaXMgc3VidHJl ZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgcGF0dGVybiA9IHNlbGYuX2ZsYXZvdXIuY2FzZWZv bGQocGF0dGVybikKKy0gICAgICAgIGRydiwgcm9vdCwgcGF0dGVybl9wYXJ0cyA9IHNlbGYuX2Zs YXZvdXIucGFyc2VfcGFydHMoKHBhdHRlcm4sKSkKKy0gICAgICAgIGlmIGRydiBvciByb290Ogor LSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoIk5vbi1yZWxhdGl2ZSBwYXR0 ZXJucyBhcmUgdW5zdXBwb3J0ZWQiKQorLSAgICAgICAgc2VsZWN0b3IgPSBfbWFrZV9zZWxlY3Rv cigoIioqIiwpICsgdHVwbGUocGF0dGVybl9wYXJ0cykpCistICAgICAgICBmb3IgcCBpbiBzZWxl Y3Rvci5zZWxlY3RfZnJvbShzZWxmKToKKy0gICAgICAgICAgICB5aWVsZCBwCistCistICAgIGRl ZiBhYnNvbHV0ZShzZWxmKToKKy0gICAgICAgICIiIlJldHVybiBhbiBhYnNvbHV0ZSB2ZXJzaW9u IG9mIHRoaXMgcGF0aC4gIFRoaXMgZnVuY3Rpb24gd29ya3MKKy0gICAgICAgIGV2ZW4gaWYgdGhl IHBhdGggZG9lc24ndCBwb2ludCB0byBhbnl0aGluZy4KKy0KKy0gICAgICAgIE5vIG5vcm1hbGl6 YXRpb24gaXMgZG9uZSwgaS5lLiBhbGwgJy4nIGFuZCAnLi4nIHdpbGwgYmUga2VwdCBhbG9uZy4K Ky0gICAgICAgIFVzZSByZXNvbHZlKCkgdG8gZ2V0IHRoZSBjYW5vbmljYWwgcGF0aCB0byBhIGZp bGUuCistICAgICAgICAiIiIKKy0gICAgICAgICMgWFhYIHVudGVzdGVkIHlldCEKKy0gICAgICAg IGlmIHNlbGYuaXNfYWJzb2x1dGUoKToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZgorLSAgICAg ICAgIyBGSVhNRSB0aGlzIG11c3QgZGVmZXIgdG8gdGhlIHNwZWNpZmljIGZsYXZvdXIgKGFuZCwg dW5kZXIgV2luZG93cywKKy0gICAgICAgICMgdXNlIG50Ll9nZXRmdWxscGF0aG5hbWUoKSkKKy0g ICAgICAgIG9iaiA9IHNlbGYuX2Zyb21fcGFydHMoW29zLmdldGN3ZCgpXSArIHNlbGYuX3BhcnRz LCBpbml0PUZhbHNlKQorLSAgICAgICAgb2JqLl9pbml0KHRlbXBsYXRlPXNlbGYpCistICAgICAg ICByZXR1cm4gb2JqCistCistICAgIGRlZiByZXNvbHZlKHNlbGYpOgorLSAgICAgICAgIiIiCist ICAgICAgICBNYWtlIHRoZSBwYXRoIGFic29sdXRlLCByZXNvbHZpbmcgYWxsIHN5bWxpbmtzIG9u IHRoZSB3YXkgYW5kIGFsc28KKy0gICAgICAgIG5vcm1hbGl6aW5nIGl0IChmb3IgZXhhbXBsZSB0 dXJuaW5nIHNsYXNoZXMgaW50byBiYWNrc2xhc2hlcyB1bmRlcgorLSAgICAgICAgV2luZG93cyku CistICAgICAgICAiIiIKKy0gICAgICAgIHMgPSBzZWxmLl9mbGF2b3VyLnJlc29sdmUoc2VsZikK Ky0gICAgICAgIGlmIHMgaXMgTm9uZToKKy0gICAgICAgICAgICAjIE5vIHN5bWxpbmsgcmVzb2x1 dGlvbiA9PiBmb3IgY29uc2lzdGVuY3ksIHJhaXNlIGFuIGVycm9yIGlmCistICAgICAgICAgICAg IyB0aGUgcGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGZvcmJpZGRlbgorLSAgICAgICAgICAgIHNl bGYuc3RhdCgpCistICAgICAgICAgICAgcyA9IHN0cihzZWxmLmFic29sdXRlKCkpCistICAgICAg ICAjIE5vdyB3ZSBoYXZlIG5vIHN5bWxpbmtzIGluIHRoZSBwYXRoLCBpdCdzIHNhZmUgdG8gbm9y bWFsaXplIGl0LgorLSAgICAgICAgbm9ybWVkID0gc2VsZi5fZmxhdm91ci5wYXRobW9kLm5vcm1w YXRoKHMpCistICAgICAgICBvYmogPSBzZWxmLl9mcm9tX3BhcnRzKChub3JtZWQsKSwgaW5pdD1G YWxzZSkKKy0gICAgICAgIG9iai5faW5pdCh0ZW1wbGF0ZT1zZWxmKQorLSAgICAgICAgcmV0dXJu IG9iagorLQorLSAgICBkZWYgc3RhdChzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0 dXJuIHRoZSByZXN1bHQgb2YgdGhlIHN0YXQoKSBzeXN0ZW0gY2FsbCBvbiB0aGlzIHBhdGgsIGxp a2UKKy0gICAgICAgIG9zLnN0YXQoKSBkb2VzLgorLSAgICAgICAgIiIiCistICAgICAgICByZXR1 cm4gc2VsZi5fYWNjZXNzb3Iuc3RhdChzZWxmKQorLQorLSAgICBkZWYgb3duZXIoc2VsZik6Cist ICAgICAgICAiIiIKKy0gICAgICAgIFJldHVybiB0aGUgbG9naW4gbmFtZSBvZiB0aGUgZmlsZSBv d25lci4KKy0gICAgICAgICIiIgorLSAgICAgICAgaW1wb3J0IHB3ZAorLSAgICAgICAgcmV0dXJu IHB3ZC5nZXRwd3VpZChzZWxmLnN0YXQoKS5zdF91aWQpLnB3X25hbWUKKy0KKy0gICAgZGVmIGdy b3VwKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gdGhlIGdyb3VwIG5hbWUg b2YgdGhlIGZpbGUgZ2lkLgorLSAgICAgICAgIiIiCistICAgICAgICBpbXBvcnQgZ3JwCistICAg ICAgICByZXR1cm4gZ3JwLmdldGdyZ2lkKHNlbGYuc3RhdCgpLnN0X2dpZCkuZ3JfbmFtZQorLQor LSAgICBkZWYgb3BlbihzZWxmLCBtb2RlPSdyJywgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25l LAorLSAgICAgICAgICAgICBlcnJvcnM9Tm9uZSwgbmV3bGluZT1Ob25lKToKKy0gICAgICAgICIi IgorLSAgICAgICAgT3BlbiB0aGUgZmlsZSBwb2ludGVkIGJ5IHRoaXMgcGF0aCBhbmQgcmV0dXJu IGEgZmlsZSBvYmplY3QsIGFzCistICAgICAgICB0aGUgYnVpbHQtaW4gb3BlbigpIGZ1bmN0aW9u IGRvZXMuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPj0gKDMs IDMpOgorLSAgICAgICAgICAgIHJldHVybiBpby5vcGVuKHN0cihzZWxmKSwgbW9kZSwgYnVmZmVy aW5nLCBlbmNvZGluZywgZXJyb3JzLCBuZXdsaW5lLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9wZW5lcj1zZWxmLl9vcGVuZXIpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJl dHVybiBpby5vcGVuKHN0cihzZWxmKSwgbW9kZSwgYnVmZmVyaW5nLCBlbmNvZGluZywgZXJyb3Jz LCBuZXdsaW5lKQorLQorLSAgICBkZWYgdG91Y2goc2VsZiwgbW9kZT0wbzY2NiwgZXhpc3Rfb2s9 VHJ1ZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIENyZWF0ZSB0aGlzIGZpbGUgd2l0aCB0aGUg Z2l2ZW4gYWNjZXNzIG1vZGUsIGlmIGl0IGRvZXNuJ3QgZXhpc3QuCistICAgICAgICAiIiIKKy0g ICAgICAgIGlmIGV4aXN0X29rOgorLSAgICAgICAgICAgICMgRmlyc3QgdHJ5IHRvIGJ1bXAgbW9k aWZpY2F0aW9uIHRpbWUKKy0gICAgICAgICAgICAjIEltcGxlbWVudGF0aW9uIG5vdGU6IEdOVSB0 b3VjaCB1c2VzIHRoZSBVVElNRV9OT1cgb3B0aW9uIG9mCistICAgICAgICAgICAgIyB0aGUgdXRp bWVuc2F0KCkgLyBmdXRpbWVucygpIGZ1bmN0aW9ucy4KKy0gICAgICAgICAgICB0ID0gdGltZS50 aW1lKCkKKy0gICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29y LnV0aW1lKHNlbGYsICh0LCB0KSkKKy0gICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAg ICAgICAgICAgICAgIyBBdm9pZCBleGNlcHRpb24gY2hhaW5pbmcKKy0gICAgICAgICAgICAgICAg cGFzcworLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHJldHVybgorLSAgICAg ICAgZmxhZ3MgPSBvcy5PX0NSRUFUIHwgb3MuT19XUk9OTFkKKy0gICAgICAgIGlmIG5vdCBleGlz dF9vazoKKy0gICAgICAgICAgICBmbGFncyB8PSBvcy5PX0VYQ0wKKy0gICAgICAgIGZkID0gc2Vs Zi5fcmF3X29wZW4oZmxhZ3MsIG1vZGUpCistICAgICAgICBvcy5jbG9zZShmZCkKKy0KKy0gICAg ZGVmIG1rZGlyKHNlbGYsIG1vZGU9MG83NzcsIHBhcmVudHM9RmFsc2UpOgorLSAgICAgICAgaWYg bm90IHBhcmVudHM6CistICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9k ZSkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBz ZWxmLl9hY2Nlc3Nvci5ta2RpcihzZWxmLCBtb2RlKQorLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vy cm9yIGFzIGU6CistICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAg ICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICAgICAgc2VsZi5wYXJlbnQubWtkaXIo cGFyZW50cz1UcnVlKQorLSAgICAgICAgICAgICAgICBzZWxmLl9hY2Nlc3Nvci5ta2RpcihzZWxm LCBtb2RlKQorLQorLSAgICBkZWYgY2htb2Qoc2VsZiwgbW9kZSk6CistICAgICAgICAiIiIKKy0g ICAgICAgIENoYW5nZSB0aGUgcGVybWlzc2lvbnMgb2YgdGhlIHBhdGgsIGxpa2Ugb3MuY2htb2Qo KS4KKy0gICAgICAgICIiIgorLSAgICAgICAgc2VsZi5fYWNjZXNzb3IuY2htb2Qoc2VsZiwgbW9k ZSkKKy0KKy0gICAgZGVmIGxjaG1vZChzZWxmLCBtb2RlKToKKy0gICAgICAgICIiIgorLSAgICAg ICAgTGlrZSBjaG1vZCgpLCBleGNlcHQgaWYgdGhlIHBhdGggcG9pbnRzIHRvIGEgc3ltbGluaywg dGhlIHN5bWxpbmsncworLSAgICAgICAgcGVybWlzc2lvbnMgYXJlIGNoYW5nZWQsIHJhdGhlciB0 aGFuIGl0cyB0YXJnZXQncy4KKy0gICAgICAgICIiIgorLSAgICAgICAgc2VsZi5fYWNjZXNzb3Iu bGNobW9kKHNlbGYsIG1vZGUpCistCistICAgIGRlZiB1bmxpbmsoc2VsZik6CistICAgICAgICAi IiIKKy0gICAgICAgIFJlbW92ZSB0aGlzIGZpbGUgb3IgbGluay4KKy0gICAgICAgIElmIHRoZSBw YXRoIGlzIGEgZGlyZWN0b3J5LCB1c2Ugcm1kaXIoKSBpbnN0ZWFkLgorLSAgICAgICAgIiIiCist ICAgICAgICBzZWxmLl9hY2Nlc3Nvci51bmxpbmsoc2VsZikKKy0KKy0gICAgZGVmIHJtZGlyKHNl bGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZW1vdmUgdGhpcyBkaXJlY3RvcnkuICBUaGUg ZGlyZWN0b3J5IG11c3QgYmUgZW1wdHkuCistICAgICAgICAiIiIKKy0gICAgICAgIHNlbGYuX2Fj Y2Vzc29yLnJtZGlyKHNlbGYpCistCistICAgIGRlZiBsc3RhdChzZWxmKToKKy0gICAgICAgICIi IgorLSAgICAgICAgTGlrZSBzdGF0KCksIGV4Y2VwdCBpZiB0aGUgcGF0aCBwb2ludHMgdG8gYSBz eW1saW5rLCB0aGUgc3ltbGluaydzCistICAgICAgICBzdGF0dXMgaW5mb3JtYXRpb24gaXMgcmV0 dXJuZWQsIHJhdGhlciB0aGFuIGl0cyB0YXJnZXQncy4KKy0gICAgICAgICIiIgorLSAgICAgICAg cmV0dXJuIHNlbGYuX2FjY2Vzc29yLmxzdGF0KHNlbGYpCistCistICAgIGRlZiByZW5hbWUoc2Vs ZiwgdGFyZ2V0KToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmVuYW1lIHRoaXMgcGF0aCB0byB0 aGUgZ2l2ZW4gcGF0aC4KKy0gICAgICAgICIiIgorLSAgICAgICAgc2VsZi5fYWNjZXNzb3IucmVu YW1lKHNlbGYsIHRhcmdldCkKKy0KKy0gICAgZGVmIHJlcGxhY2Uoc2VsZiwgdGFyZ2V0KToKKy0g ICAgICAgICIiIgorLSAgICAgICAgUmVuYW1lIHRoaXMgcGF0aCB0byB0aGUgZ2l2ZW4gcGF0aCwg Y2xvYmJlcmluZyB0aGUgZXhpc3RpbmcKKy0gICAgICAgIGRlc3RpbmF0aW9uIGlmIGl0IGV4aXN0 cy4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCAzKToK Ky0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJyZXBsYWNlKCkgaXMgb25s eSBhdmFpbGFibGUgIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndp dGggUHl0aG9uIDMuMyBhbmQgbGF0ZXIiKQorLSAgICAgICAgc2VsZi5fYWNjZXNzb3IucmVwbGFj ZShzZWxmLCB0YXJnZXQpCistCistICAgIGRlZiBzeW1saW5rX3RvKHNlbGYsIHRhcmdldCwgdGFy Z2V0X2lzX2RpcmVjdG9yeT1GYWxzZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIE1ha2UgdGhp cyBwYXRoIGEgc3ltbGluayBwb2ludGluZyB0byB0aGUgZ2l2ZW4gcGF0aC4KKy0gICAgICAgIE5v dGUgdGhlIG9yZGVyIG9mIGFyZ3VtZW50cyAoc2VsZiwgdGFyZ2V0KSBpcyB0aGUgcmV2ZXJzZSBv ZiBvcy5zeW1saW5rJ3MuCistICAgICAgICAiIiIKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29yLnN5 bWxpbmsodGFyZ2V0LCBzZWxmLCB0YXJnZXRfaXNfZGlyZWN0b3J5KQorLQorLSAgICAjIENvbnZl bmllbmNlIGZ1bmN0aW9ucyBmb3IgcXVlcnlpbmcgdGhlIHN0YXQgcmVzdWx0cworLQorLSAgICBk ZWYgZXhpc3RzKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0 aCBleGlzdHMuCistICAgICAgICAiIiIKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBzZWxm LnN0YXQoKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICBpZiBl LmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICBy ZXR1cm4gRmFsc2UKKy0gICAgICAgIHJldHVybiBUcnVlCistCistICAgIGRlZiBpc19kaXIoc2Vs Zik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgZGlyZWN0 b3J5LgorLSAgICAgICAgIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIFNf SVNESVIoc2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6 CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CistICAgICAgICAgICAgICAgIHJh aXNlCistICAgICAgICAgICAgIyBQYXRoIGRvZXNuJ3QgZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3lt bGluaworLSAgICAgICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3Bh dGhsaWIvaXNzdWUvMTIvKQorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYg aXNfZmlsZShzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgV2hldGhlciB0aGlzIHBhdGgg aXMgYSByZWd1bGFyIGZpbGUgKGFsc28gVHJ1ZSBmb3Igc3ltbGlua3MgcG9pbnRpbmcKKy0gICAg ICAgIHRvIHJlZ3VsYXIgZmlsZXMpLgorLSAgICAgICAgIiIiCistICAgICAgICB0cnk6CistICAg ICAgICAgICAgcmV0dXJuIFNfSVNSRUcoc2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0gICAgICAgIGV4 Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6Cist ICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAgIyBQYXRoIGRvZXNuJ3QgZXhpc3Qg b3IgaXMgYSBicm9rZW4gc3ltbGluaworLSAgICAgICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1 Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUvMTIvKQorLSAgICAgICAgICAgIHJldHVybiBG YWxzZQorLQorLSAgICBkZWYgaXNfc3ltbGluayhzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAg ICAgV2hldGhlciB0aGlzIHBhdGggaXMgYSBzeW1ib2xpYyBsaW5rLgorLSAgICAgICAgIiIiCist ICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIFNfSVNMTksoc2VsZi5sc3RhdCgpLnN0 X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUu ZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMg UGF0aCBkb2Vzbid0IGV4aXN0CistICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistCistICAgIGRl ZiBpc19ibG9ja19kZXZpY2Uoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIg dGhpcyBwYXRoIGlzIGEgYmxvY2sgZGV2aWNlLgorLSAgICAgICAgIiIiCistICAgICAgICB0cnk6 CistICAgICAgICAgICAgcmV0dXJuIFNfSVNCTEsoc2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0gICAg ICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9F TlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAgIyBQYXRoIGRvZXNuJ3Qg ZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3ltbGluaworLSAgICAgICAgICAgICMgKHNlZSBodHRwczov L2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUvMTIvKQorLSAgICAgICAgICAgIHJl dHVybiBGYWxzZQorLQorLSAgICBkZWYgaXNfY2hhcl9kZXZpY2Uoc2VsZik6CistICAgICAgICAi IiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgY2hhcmFjdGVyIGRldmljZS4KKy0g ICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTQ0hSKHNl bGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAg ICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAg ICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0g ICAgICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lz c3VlLzEyLykKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVmIGlzX2ZpZm8o c2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgRklG Ty4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lT RklGTyhzZWxmLnN0YXQoKS5zdF9tb2RlKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK Ky0gICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAgICAgICAgcmFp c2UKKy0gICAgICAgICAgICAjIFBhdGggZG9lc24ndCBleGlzdCBvciBpcyBhIGJyb2tlbiBzeW1s aW5rCistICAgICAgICAgICAgIyAoc2VlIGh0dHBzOi8vYml0YnVja2V0Lm9yZy9waXRyb3UvcGF0 aGxpYi9pc3N1ZS8xMi8pCistICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistCistICAgIGRlZiBp c19zb2NrZXQoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRo IGlzIGEgc29ja2V0LgorLSAgICAgICAgIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAg cmV0dXJuIFNfSVNTT0NLKHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBleGNlcHQgT1NF cnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAg ICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGEg YnJva2VuIHN5bWxpbmsKKy0gICAgICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRidWNrZXQub3Jn L3BpdHJvdS9wYXRobGliL2lzc3VlLzEyLykKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0K Ky0KKy1jbGFzcyBQb3NpeFBhdGgoUGF0aCwgUHVyZVBvc2l4UGF0aCk6CistICAgIF9fc2xvdHNf XyA9ICgpCistCistY2xhc3MgV2luZG93c1BhdGgoUGF0aCwgUHVyZVdpbmRvd3NQYXRoKToKKy0g ICAgX19zbG90c19fID0gKCkKKy0KK2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL3NpeC5weSBi L3Rhc2tzL192ZW5kb3Ivc2l4LnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDE5 MGMwMjMuLjAwMDAwMDAKKy0tLSBhL3Rhc2tzL192ZW5kb3Ivc2l4LnB5CisrKysgL2Rldi9udWxs CitAQCAtMSw4NjggKzAsMCBAQAorLSIiIlV0aWxpdGllcyBmb3Igd3JpdGluZyBjb2RlIHRoYXQg cnVucyBvbiBQeXRob24gMiBhbmQgMyIiIgorLQorLSMgQ29weXJpZ2h0IChjKSAyMDEwLTIwMTUg QmVuamFtaW4gUGV0ZXJzb24KKy0jCistIyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CistIyBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwgdG8gZGVhbAorLSMgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cworLSMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs bAorLSMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdo b20gdGhlIFNvZnR3YXJlIGlzCistIyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOgorLSMKKy0jIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAorLSMg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKy0jCistIyBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorLSMgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCistIyBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBU SEUKKy0jIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xB SU0sIERBTUFHRVMgT1IgT1RIRVIKKy0jIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g T0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCistIyBPVVQgT0Yg T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERF QUxJTkdTIElOIFRIRQorLSMgU09GVFdBUkUuCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBh YnNvbHV0ZV9pbXBvcnQKKy0KKy1pbXBvcnQgZnVuY3Rvb2xzCistaW1wb3J0IGl0ZXJ0b29scwor LWltcG9ydCBvcGVyYXRvcgorLWltcG9ydCBzeXMKKy1pbXBvcnQgdHlwZXMKKy0KKy1fX2F1dGhv cl9fID0gIkJlbmphbWluIFBldGVyc29uIDxiZW5qYW1pbkBweXRob24ub3JnPiIKKy1fX3ZlcnNp b25fXyA9ICIxLjEwLjAiCistCistCistIyBVc2VmdWwgZm9yIHZlcnkgY29hcnNlIHZlcnNpb24g ZGlmZmVyZW50aWF0aW9uLgorLVBZMiA9IHN5cy52ZXJzaW9uX2luZm9bMF0gPT0gMgorLVBZMyA9 IHN5cy52ZXJzaW9uX2luZm9bMF0gPT0gMworLVBZMzQgPSBzeXMudmVyc2lvbl9pbmZvWzA6Ml0g Pj0gKDMsIDQpCistCistaWYgUFkzOgorLSAgICBzdHJpbmdfdHlwZXMgPSBzdHIsCistICAgIGlu dGVnZXJfdHlwZXMgPSBpbnQsCistICAgIGNsYXNzX3R5cGVzID0gdHlwZSwKKy0gICAgdGV4dF90 eXBlID0gc3RyCistICAgIGJpbmFyeV90eXBlID0gYnl0ZXMKKy0KKy0gICAgTUFYU0laRSA9IHN5 cy5tYXhzaXplCistZWxzZToKKy0gICAgc3RyaW5nX3R5cGVzID0gYmFzZXN0cmluZywKKy0gICAg aW50ZWdlcl90eXBlcyA9IChpbnQsIGxvbmcpCistICAgIGNsYXNzX3R5cGVzID0gKHR5cGUsIHR5 cGVzLkNsYXNzVHlwZSkKKy0gICAgdGV4dF90eXBlID0gdW5pY29kZQorLSAgICBiaW5hcnlfdHlw ZSA9IHN0cgorLQorLSAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgiamF2YSIpOgorLSAg ICAgICAgIyBKeXRob24gYWx3YXlzIHVzZXMgMzIgYml0cy4KKy0gICAgICAgIE1BWFNJWkUgPSBp bnQoKDEgPDwgMzEpIC0gMSkKKy0gICAgZWxzZToKKy0gICAgICAgICMgSXQncyBwb3NzaWJsZSB0 byBoYXZlIHNpemVvZihsb25nKSAhPSBzaXplb2YoUHlfc3NpemVfdCkuCistICAgICAgICBjbGFz cyBYKG9iamVjdCk6CistCistICAgICAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6CistICAgICAg ICAgICAgICAgIHJldHVybiAxIDw8IDMxCistICAgICAgICB0cnk6CistICAgICAgICAgICAgbGVu KFgoKSkKKy0gICAgICAgIGV4Y2VwdCBPdmVyZmxvd0Vycm9yOgorLSAgICAgICAgICAgICMgMzIt Yml0CistICAgICAgICAgICAgTUFYU0laRSA9IGludCgoMSA8PCAzMSkgLSAxKQorLSAgICAgICAg ZWxzZToKKy0gICAgICAgICAgICAjIDY0LWJpdAorLSAgICAgICAgICAgIE1BWFNJWkUgPSBpbnQo KDEgPDwgNjMpIC0gMSkKKy0gICAgICAgIGRlbCBYCistCistCistZGVmIF9hZGRfZG9jKGZ1bmMs IGRvYyk6CistICAgICIiIkFkZCBkb2N1bWVudGF0aW9uIHRvIGEgZnVuY3Rpb24uIiIiCistICAg IGZ1bmMuX19kb2NfXyA9IGRvYworLQorLQorLWRlZiBfaW1wb3J0X21vZHVsZShuYW1lKToKKy0g ICAgIiIiSW1wb3J0IG1vZHVsZSwgcmV0dXJuaW5nIHRoZSBtb2R1bGUgYWZ0ZXIgdGhlIGxhc3Qg ZG90LiIiIgorLSAgICBfX2ltcG9ydF9fKG5hbWUpCistICAgIHJldHVybiBzeXMubW9kdWxlc1tu YW1lXQorLQorLQorLWNsYXNzIF9MYXp5RGVzY3Iob2JqZWN0KToKKy0KKy0gICAgZGVmIF9faW5p dF9fKHNlbGYsIG5hbWUpOgorLSAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorLQorLSAgICBkZWYg X19nZXRfXyhzZWxmLCBvYmosIHRwKToKKy0gICAgICAgIHJlc3VsdCA9IHNlbGYuX3Jlc29sdmUo KQorLSAgICAgICAgc2V0YXR0cihvYmosIHNlbGYubmFtZSwgcmVzdWx0KSAgIyBJbnZva2VzIF9f c2V0X18uCistICAgICAgICB0cnk6CistICAgICAgICAgICAgIyBUaGlzIGlzIGEgYml0IHVnbHks IGJ1dCBpdCBhdm9pZHMgcnVubmluZyB0aGlzIGFnYWluIGJ5CistICAgICAgICAgICAgIyByZW1v dmluZyB0aGlzIGRlc2NyaXB0b3IuCistICAgICAgICAgICAgZGVsYXR0cihvYmouX19jbGFzc19f LCBzZWxmLm5hbWUpCistICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CistICAgICAgICAg ICAgcGFzcworLSAgICAgICAgcmV0dXJuIHJlc3VsdAorLQorLQorLWNsYXNzIE1vdmVkTW9kdWxl KF9MYXp5RGVzY3IpOgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgb2xkLCBuZXc9 Tm9uZSk6CistICAgICAgICBzdXBlcihNb3ZlZE1vZHVsZSwgc2VsZikuX19pbml0X18obmFtZSkK Ky0gICAgICAgIGlmIFBZMzoKKy0gICAgICAgICAgICBpZiBuZXcgaXMgTm9uZToKKy0gICAgICAg ICAgICAgICAgbmV3ID0gbmFtZQorLSAgICAgICAgICAgIHNlbGYubW9kID0gbmV3CistICAgICAg ICBlbHNlOgorLSAgICAgICAgICAgIHNlbGYubW9kID0gb2xkCistCistICAgIGRlZiBfcmVzb2x2 ZShzZWxmKToKKy0gICAgICAgIHJldHVybiBfaW1wb3J0X21vZHVsZShzZWxmLm1vZCkKKy0KKy0g ICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIpOgorLSAgICAgICAgX21vZHVsZSA9IHNlbGYu X3Jlc29sdmUoKQorLSAgICAgICAgdmFsdWUgPSBnZXRhdHRyKF9tb2R1bGUsIGF0dHIpCistICAg ICAgICBzZXRhdHRyKHNlbGYsIGF0dHIsIHZhbHVlKQorLSAgICAgICAgcmV0dXJuIHZhbHVlCist CistCistY2xhc3MgX0xhenlNb2R1bGUodHlwZXMuTW9kdWxlVHlwZSk6CistCistICAgIGRlZiBf X2luaXRfXyhzZWxmLCBuYW1lKToKKy0gICAgICAgIHN1cGVyKF9MYXp5TW9kdWxlLCBzZWxmKS5f X2luaXRfXyhuYW1lKQorLSAgICAgICAgc2VsZi5fX2RvY19fID0gc2VsZi5fX2NsYXNzX18uX19k b2NfXworLQorLSAgICBkZWYgX19kaXJfXyhzZWxmKToKKy0gICAgICAgIGF0dHJzID0gWyJfX2Rv Y19fIiwgIl9fbmFtZV9fIl0KKy0gICAgICAgIGF0dHJzICs9IFthdHRyLm5hbWUgZm9yIGF0dHIg aW4gc2VsZi5fbW92ZWRfYXR0cmlidXRlc10KKy0gICAgICAgIHJldHVybiBhdHRycworLQorLSAg ICAjIFN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIHRoaXMKKy0gICAgX21vdmVkX2F0dHJpYnV0 ZXMgPSBbXQorLQorLQorLWNsYXNzIE1vdmVkQXR0cmlidXRlKF9MYXp5RGVzY3IpOgorLQorLSAg ICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgb2xkX21vZCwgbmV3X21vZCwgb2xkX2F0dHI9Tm9u ZSwgbmV3X2F0dHI9Tm9uZSk6CistICAgICAgICBzdXBlcihNb3ZlZEF0dHJpYnV0ZSwgc2VsZiku X19pbml0X18obmFtZSkKKy0gICAgICAgIGlmIFBZMzoKKy0gICAgICAgICAgICBpZiBuZXdfbW9k IGlzIE5vbmU6CistICAgICAgICAgICAgICAgIG5ld19tb2QgPSBuYW1lCistICAgICAgICAgICAg c2VsZi5tb2QgPSBuZXdfbW9kCistICAgICAgICAgICAgaWYgbmV3X2F0dHIgaXMgTm9uZToKKy0g ICAgICAgICAgICAgICAgaWYgb2xkX2F0dHIgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgICAg IG5ld19hdHRyID0gbmFtZQorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAg ICAgICAgbmV3X2F0dHIgPSBvbGRfYXR0cgorLSAgICAgICAgICAgIHNlbGYuYXR0ciA9IG5ld19h dHRyCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHNlbGYubW9kID0gb2xkX21vZAorLSAg ICAgICAgICAgIGlmIG9sZF9hdHRyIGlzIE5vbmU6CistICAgICAgICAgICAgICAgIG9sZF9hdHRy ID0gbmFtZQorLSAgICAgICAgICAgIHNlbGYuYXR0ciA9IG9sZF9hdHRyCistCistICAgIGRlZiBf cmVzb2x2ZShzZWxmKToKKy0gICAgICAgIG1vZHVsZSA9IF9pbXBvcnRfbW9kdWxlKHNlbGYubW9k KQorLSAgICAgICAgcmV0dXJuIGdldGF0dHIobW9kdWxlLCBzZWxmLmF0dHIpCistCistCistY2xh c3MgX1NpeE1ldGFQYXRoSW1wb3J0ZXIob2JqZWN0KToKKy0KKy0gICAgIiIiCistICAgIEEgbWV0 YSBwYXRoIGltcG9ydGVyIHRvIGltcG9ydCBzaXgubW92ZXMgYW5kIGl0cyBzdWJtb2R1bGVzLgor LQorLSAgICBUaGlzIGNsYXNzIGltcGxlbWVudHMgYSBQRVAzMDIgZmluZGVyIGFuZCBsb2FkZXIu IEl0IHNob3VsZCBiZSBjb21wYXRpYmxlCistICAgIHdpdGggUHl0aG9uIDIuNSBhbmQgYWxsIGV4 aXN0aW5nIHZlcnNpb25zIG9mIFB5dGhvbjMKKy0gICAgIiIiCistCistICAgIGRlZiBfX2luaXRf XyhzZWxmLCBzaXhfbW9kdWxlX25hbWUpOgorLSAgICAgICAgc2VsZi5uYW1lID0gc2l4X21vZHVs ZV9uYW1lCistICAgICAgICBzZWxmLmtub3duX21vZHVsZXMgPSB7fQorLQorLSAgICBkZWYgX2Fk ZF9tb2R1bGUoc2VsZiwgbW9kLCAqZnVsbG5hbWVzKToKKy0gICAgICAgIGZvciBmdWxsbmFtZSBp biBmdWxsbmFtZXM6CistICAgICAgICAgICAgc2VsZi5rbm93bl9tb2R1bGVzW3NlbGYubmFtZSAr ICIuIiArIGZ1bGxuYW1lXSA9IG1vZAorLQorLSAgICBkZWYgX2dldF9tb2R1bGUoc2VsZiwgZnVs bG5hbWUpOgorLSAgICAgICAgcmV0dXJuIHNlbGYua25vd25fbW9kdWxlc1tzZWxmLm5hbWUgKyAi LiIgKyBmdWxsbmFtZV0KKy0KKy0gICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBw YXRoPU5vbmUpOgorLSAgICAgICAgaWYgZnVsbG5hbWUgaW4gc2VsZi5rbm93bl9tb2R1bGVzOgor LSAgICAgICAgICAgIHJldHVybiBzZWxmCistICAgICAgICByZXR1cm4gTm9uZQorLQorLSAgICBk ZWYgX19nZXRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lKToKKy0gICAgICAgIHRyeToKKy0gICAgICAg ICAgICByZXR1cm4gc2VsZi5rbm93bl9tb2R1bGVzW2Z1bGxuYW1lXQorLSAgICAgICAgZXhjZXB0 IEtleUVycm9yOgorLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJUaGlzIGxvYWRlciBk b2VzIG5vdCBrbm93IG1vZHVsZSAiICsgZnVsbG5hbWUpCistCistICAgIGRlZiBsb2FkX21vZHVs ZShzZWxmLCBmdWxsbmFtZSk6CistICAgICAgICB0cnk6CistICAgICAgICAgICAgIyBpbiBjYXNl IG9mIGEgcmVsb2FkCistICAgICAgICAgICAgcmV0dXJuIHN5cy5tb2R1bGVzW2Z1bGxuYW1lXQor LSAgICAgICAgZXhjZXB0IEtleUVycm9yOgorLSAgICAgICAgICAgIHBhc3MKKy0gICAgICAgIG1v ZCA9IHNlbGYuX19nZXRfbW9kdWxlKGZ1bGxuYW1lKQorLSAgICAgICAgaWYgaXNpbnN0YW5jZSht b2QsIE1vdmVkTW9kdWxlKToKKy0gICAgICAgICAgICBtb2QgPSBtb2QuX3Jlc29sdmUoKQorLSAg ICAgICAgZWxzZToKKy0gICAgICAgICAgICBtb2QuX19sb2FkZXJfXyA9IHNlbGYKKy0gICAgICAg IHN5cy5tb2R1bGVzW2Z1bGxuYW1lXSA9IG1vZAorLSAgICAgICAgcmV0dXJuIG1vZAorLQorLSAg ICBkZWYgaXNfcGFja2FnZShzZWxmLCBmdWxsbmFtZSk6CistICAgICAgICAiIiIKKy0gICAgICAg IFJldHVybiB0cnVlLCBpZiB0aGUgbmFtZWQgbW9kdWxlIGlzIGEgcGFja2FnZS4KKy0KKy0gICAg ICAgIFdlIG5lZWQgdGhpcyBtZXRob2QgdG8gZ2V0IGNvcnJlY3Qgc3BlYyBvYmplY3RzIHdpdGgK Ky0gICAgICAgIFB5dGhvbiAzLjQgKHNlZSBQRVA0NTEpCistICAgICAgICAiIiIKKy0gICAgICAg IHJldHVybiBoYXNhdHRyKHNlbGYuX19nZXRfbW9kdWxlKGZ1bGxuYW1lKSwgIl9fcGF0aF9fIikK Ky0KKy0gICAgZGVmIGdldF9jb2RlKHNlbGYsIGZ1bGxuYW1lKToKKy0gICAgICAgICIiIlJldHVy biBOb25lCistCistICAgICAgICBSZXF1aXJlZCwgaWYgaXNfcGFja2FnZSBpcyBpbXBsZW1lbnRl ZCIiIgorLSAgICAgICAgc2VsZi5fX2dldF9tb2R1bGUoZnVsbG5hbWUpICAjIGV2ZW50dWFsbHkg cmFpc2VzIEltcG9ydEVycm9yCistICAgICAgICByZXR1cm4gTm9uZQorLSAgICBnZXRfc291cmNl ID0gZ2V0X2NvZGUgICMgc2FtZSBhcyBnZXRfY29kZQorLQorLV9pbXBvcnRlciA9IF9TaXhNZXRh UGF0aEltcG9ydGVyKF9fbmFtZV9fKQorLQorLQorLWNsYXNzIF9Nb3ZlZEl0ZW1zKF9MYXp5TW9k dWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVkIG9iamVjdHMiIiIKKy0gICAg X19wYXRoX18gPSBbXSAgIyBtYXJrIGFzIHBhY2thZ2UKKy0KKy0KKy1fbW92ZWRfYXR0cmlidXRl cyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImNTdHJpbmdJTyIsICJjU3RyaW5nSU8iLCAiaW8i LCAiU3RyaW5nSU8iKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImZpbHRlciIsICJpdGVydG9vbHMi LCAiYnVpbHRpbnMiLCAiaWZpbHRlciIsICJmaWx0ZXIiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUo ImZpbHRlcmZhbHNlIiwgIml0ZXJ0b29scyIsICJpdGVydG9vbHMiLCAiaWZpbHRlcmZhbHNlIiwg ImZpbHRlcmZhbHNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJpbnB1dCIsICJfX2J1aWx0aW5f XyIsICJidWlsdGlucyIsICJyYXdfaW5wdXQiLCAiaW5wdXQiKSwKKy0gICAgTW92ZWRBdHRyaWJ1 dGUoImludGVybiIsICJfX2J1aWx0aW5fXyIsICJzeXMiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUo Im1hcCIsICJpdGVydG9vbHMiLCAiYnVpbHRpbnMiLCAiaW1hcCIsICJtYXAiKSwKKy0gICAgTW92 ZWRBdHRyaWJ1dGUoImdldGN3ZCIsICJvcyIsICJvcyIsICJnZXRjd2R1IiwgImdldGN3ZCIpLAor LSAgICBNb3ZlZEF0dHJpYnV0ZSgiZ2V0Y3dkYiIsICJvcyIsICJvcyIsICJnZXRjd2QiLCAiZ2V0 Y3dkYiIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicmFuZ2UiLCAiX19idWlsdGluX18iLCAiYnVp bHRpbnMiLCAieHJhbmdlIiwgInJhbmdlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJyZWxvYWRf bW9kdWxlIiwgIl9fYnVpbHRpbl9fIiwgImltcG9ydGxpYiIgaWYgUFkzNCBlbHNlICJpbXAiLCAi cmVsb2FkIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJyZWR1Y2UiLCAiX19idWlsdGluX18iLCAi ZnVuY3Rvb2xzIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJzaGxleF9xdW90ZSIsICJwaXBlcyIs ICJzaGxleCIsICJxdW90ZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiU3RyaW5nSU8iLCAiU3Ry aW5nSU8iLCAiaW8iKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlVzZXJEaWN0IiwgIlVzZXJEaWN0 IiwgImNvbGxlY3Rpb25zIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJVc2VyTGlzdCIsICJVc2Vy TGlzdCIsICJjb2xsZWN0aW9ucyIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiVXNlclN0cmluZyIs ICJVc2VyU3RyaW5nIiwgImNvbGxlY3Rpb25zIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ4cmFu Z2UiLCAiX19idWlsdGluX18iLCAiYnVpbHRpbnMiLCAieHJhbmdlIiwgInJhbmdlIiksCistICAg IE1vdmVkQXR0cmlidXRlKCJ6aXAiLCAiaXRlcnRvb2xzIiwgImJ1aWx0aW5zIiwgIml6aXAiLCAi emlwIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ6aXBfbG9uZ2VzdCIsICJpdGVydG9vbHMiLCAi aXRlcnRvb2xzIiwgIml6aXBfbG9uZ2VzdCIsICJ6aXBfbG9uZ2VzdCIpLAorLSAgICBNb3ZlZE1v ZHVsZSgiYnVpbHRpbnMiLCAiX19idWlsdGluX18iKSwKKy0gICAgTW92ZWRNb2R1bGUoImNvbmZp Z3BhcnNlciIsICJDb25maWdQYXJzZXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoImNvcHlyZWciLCAi Y29weV9yZWciKSwKKy0gICAgTW92ZWRNb2R1bGUoImRibV9nbnUiLCAiZ2RibSIsICJkYm0uZ251 IiksCistICAgIE1vdmVkTW9kdWxlKCJfZHVtbXlfdGhyZWFkIiwgImR1bW15X3RocmVhZCIsICJf ZHVtbXlfdGhyZWFkIiksCistICAgIE1vdmVkTW9kdWxlKCJodHRwX2Nvb2tpZWphciIsICJjb29r aWVsaWIiLCAiaHR0cC5jb29raWVqYXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoImh0dHBfY29va2ll cyIsICJDb29raWUiLCAiaHR0cC5jb29raWVzIiksCistICAgIE1vdmVkTW9kdWxlKCJodG1sX2Vu dGl0aWVzIiwgImh0bWxlbnRpdHlkZWZzIiwgImh0bWwuZW50aXRpZXMiKSwKKy0gICAgTW92ZWRN b2R1bGUoImh0bWxfcGFyc2VyIiwgIkhUTUxQYXJzZXIiLCAiaHRtbC5wYXJzZXIiKSwKKy0gICAg TW92ZWRNb2R1bGUoImh0dHBfY2xpZW50IiwgImh0dHBsaWIiLCAiaHR0cC5jbGllbnQiKSwKKy0g ICAgTW92ZWRNb2R1bGUoImVtYWlsX21pbWVfbXVsdGlwYXJ0IiwgImVtYWlsLk1JTUVNdWx0aXBh cnQiLCAiZW1haWwubWltZS5tdWx0aXBhcnQiKSwKKy0gICAgTW92ZWRNb2R1bGUoImVtYWlsX21p bWVfbm9ubXVsdGlwYXJ0IiwgImVtYWlsLk1JTUVOb25NdWx0aXBhcnQiLCAiZW1haWwubWltZS5u b25tdWx0aXBhcnQiKSwKKy0gICAgTW92ZWRNb2R1bGUoImVtYWlsX21pbWVfdGV4dCIsICJlbWFp bC5NSU1FVGV4dCIsICJlbWFpbC5taW1lLnRleHQiKSwKKy0gICAgTW92ZWRNb2R1bGUoImVtYWls X21pbWVfYmFzZSIsICJlbWFpbC5NSU1FQmFzZSIsICJlbWFpbC5taW1lLmJhc2UiKSwKKy0gICAg TW92ZWRNb2R1bGUoIkJhc2VIVFRQU2VydmVyIiwgIkJhc2VIVFRQU2VydmVyIiwgImh0dHAuc2Vy dmVyIiksCistICAgIE1vdmVkTW9kdWxlKCJDR0lIVFRQU2VydmVyIiwgIkNHSUhUVFBTZXJ2ZXIi LCAiaHR0cC5zZXJ2ZXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoIlNpbXBsZUhUVFBTZXJ2ZXIiLCAi U2ltcGxlSFRUUFNlcnZlciIsICJodHRwLnNlcnZlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgiY1Bp Y2tsZSIsICJjUGlja2xlIiwgInBpY2tsZSIpLAorLSAgICBNb3ZlZE1vZHVsZSgicXVldWUiLCAi UXVldWUiKSwKKy0gICAgTW92ZWRNb2R1bGUoInJlcHJsaWIiLCAicmVwciIpLAorLSAgICBNb3Zl ZE1vZHVsZSgic29ja2V0c2VydmVyIiwgIlNvY2tldFNlcnZlciIpLAorLSAgICBNb3ZlZE1vZHVs ZSgiX3RocmVhZCIsICJ0aHJlYWQiLCAiX3RocmVhZCIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtp bnRlciIsICJUa2ludGVyIiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX2RpYWxvZyIsICJE aWFsb2ciLCAidGtpbnRlci5kaWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfZmls ZWRpYWxvZyIsICJGaWxlRGlhbG9nIiwgInRraW50ZXIuZmlsZWRpYWxvZyIpLAorLSAgICBNb3Zl ZE1vZHVsZSgidGtpbnRlcl9zY3JvbGxlZHRleHQiLCAiU2Nyb2xsZWRUZXh0IiwgInRraW50ZXIu c2Nyb2xsZWR0ZXh0IiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX3NpbXBsZWRpYWxvZyIs ICJTaW1wbGVEaWFsb2ciLCAidGtpbnRlci5zaW1wbGVkaWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1 bGUoInRraW50ZXJfdGl4IiwgIlRpeCIsICJ0a2ludGVyLnRpeCIpLAorLSAgICBNb3ZlZE1vZHVs ZSgidGtpbnRlcl90dGsiLCAidHRrIiwgInRraW50ZXIudHRrIiksCistICAgIE1vdmVkTW9kdWxl KCJ0a2ludGVyX2NvbnN0YW50cyIsICJUa2NvbnN0YW50cyIsICJ0a2ludGVyLmNvbnN0YW50cyIp LAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9kbmQiLCAiVGtkbmQiLCAidGtpbnRlci5kbmQi KSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfY29sb3JjaG9vc2VyIiwgInRrQ29sb3JDaG9v c2VyIiwKKy0gICAgICAgICAgICAgICAgInRraW50ZXIuY29sb3JjaG9vc2VyIiksCistICAgIE1v dmVkTW9kdWxlKCJ0a2ludGVyX2NvbW1vbmRpYWxvZyIsICJ0a0NvbW1vbkRpYWxvZyIsCistICAg ICAgICAgICAgICAgICJ0a2ludGVyLmNvbW1vbmRpYWxvZyIpLAorLSAgICBNb3ZlZE1vZHVsZSgi dGtpbnRlcl90a2ZpbGVkaWFsb2ciLCAidGtGaWxlRGlhbG9nIiwgInRraW50ZXIuZmlsZWRpYWxv ZyIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9mb250IiwgInRrRm9udCIsICJ0a2ludGVy LmZvbnQiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfbWVzc2FnZWJveCIsICJ0a01lc3Nh Z2VCb3giLCAidGtpbnRlci5tZXNzYWdlYm94IiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVy X3Rrc2ltcGxlZGlhbG9nIiwgInRrU2ltcGxlRGlhbG9nIiwKKy0gICAgICAgICAgICAgICAgInRr aW50ZXIuc2ltcGxlZGlhbG9nIiksCistICAgIE1vdmVkTW9kdWxlKCJ1cmxsaWJfcGFyc2UiLCBf X25hbWVfXyArICIubW92ZXMudXJsbGliX3BhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBN b3ZlZE1vZHVsZSgidXJsbGliX2Vycm9yIiwgX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYl9lcnJv ciIsICJ1cmxsaWIuZXJyb3IiKSwKKy0gICAgTW92ZWRNb2R1bGUoInVybGxpYiIsIF9fbmFtZV9f ICsgIi5tb3Zlcy51cmxsaWIiLCBfX25hbWVfXyArICIubW92ZXMudXJsbGliIiksCistICAgIE1v dmVkTW9kdWxlKCJ1cmxsaWJfcm9ib3RwYXJzZXIiLCAicm9ib3RwYXJzZXIiLCAidXJsbGliLnJv Ym90cGFyc2VyIiksCistICAgIE1vdmVkTW9kdWxlKCJ4bWxycGNfY2xpZW50IiwgInhtbHJwY2xp YiIsICJ4bWxycGMuY2xpZW50IiksCistICAgIE1vdmVkTW9kdWxlKCJ4bWxycGNfc2VydmVyIiwg IlNpbXBsZVhNTFJQQ1NlcnZlciIsICJ4bWxycGMuc2VydmVyIiksCistXQorLSMgQWRkIHdpbmRv d3Mgc3BlY2lmaWMgbW9kdWxlcy4KKy1pZiBzeXMucGxhdGZvcm0gPT0gIndpbjMyIjoKKy0gICAg X21vdmVkX2F0dHJpYnV0ZXMgKz0gWworLSAgICAgICAgTW92ZWRNb2R1bGUoIndpbnJlZyIsICJf d2lucmVnIiksCistICAgIF0KKy0KKy1mb3IgYXR0ciBpbiBfbW92ZWRfYXR0cmlidXRlczoKKy0g ICAgc2V0YXR0cihfTW92ZWRJdGVtcywgYXR0ci5uYW1lLCBhdHRyKQorLSAgICBpZiBpc2luc3Rh bmNlKGF0dHIsIE1vdmVkTW9kdWxlKToKKy0gICAgICAgIF9pbXBvcnRlci5fYWRkX21vZHVsZShh dHRyLCAibW92ZXMuIiArIGF0dHIubmFtZSkKKy1kZWwgYXR0cgorLQorLV9Nb3ZlZEl0ZW1zLl9t b3ZlZF9hdHRyaWJ1dGVzID0gX21vdmVkX2F0dHJpYnV0ZXMKKy0KKy1tb3ZlcyA9IF9Nb3ZlZEl0 ZW1zKF9fbmFtZV9fICsgIi5tb3ZlcyIpCistX2ltcG9ydGVyLl9hZGRfbW9kdWxlKG1vdmVzLCAi bW92ZXMiKQorLQorLQorLWNsYXNzIE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3BhcnNlKF9MYXp5 TW9kdWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVkIG9iamVjdHMgaW4gc2l4 Lm1vdmVzLnVybGxpYl9wYXJzZSIiIgorLQorLQorLV91cmxsaWJfcGFyc2VfbW92ZWRfYXR0cmli dXRlcyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlBhcnNlUmVzdWx0IiwgInVybHBhcnNlIiwg InVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiU3BsaXRSZXN1bHQiLCAidXJs cGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJwYXJzZV9xcyIs ICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInBhcnNl X3FzbCIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUo InVybGRlZnJhZyIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoInVybGpvaW4iLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVk QXR0cmlidXRlKCJ1cmxwYXJzZSIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAg TW92ZWRBdHRyaWJ1dGUoInVybHNwbGl0IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAor LSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJsdW5wYXJzZSIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFy c2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybHVuc3BsaXQiLCAidXJscGFyc2UiLCAidXJs bGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJxdW90ZSIsICJ1cmxsaWIiLCAidXJs bGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJxdW90ZV9wbHVzIiwgInVybGxpYiIs ICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVucXVvdGUiLCAidXJsbGli IiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidW5xdW90ZV9wbHVzIiwg InVybGxpYiIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybGVuY29k ZSIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJzcGxp dHF1ZXJ5IiwgInVybGxpYiIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUo InNwbGl0dGFnIiwgInVybGxpYiIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1 dGUoInNwbGl0dXNlciIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJ1c2VzX2ZyYWdtZW50IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAg ICBNb3ZlZEF0dHJpYnV0ZSgidXNlc19uZXRsb2MiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNl IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1c2VzX3BhcmFtcyIsICJ1cmxwYXJzZSIsICJ1cmxs aWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVzZXNfcXVlcnkiLCAidXJscGFyc2Ui LCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1c2VzX3JlbGF0aXZlIiwg InVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLV0KKy1mb3IgYXR0ciBpbiBfdXJsbGliX3Bh cnNlX21vdmVkX2F0dHJpYnV0ZXM6CistICAgIHNldGF0dHIoTW9kdWxlX3NpeF9tb3Zlc191cmxs aWJfcGFyc2UsIGF0dHIubmFtZSwgYXR0cikKKy1kZWwgYXR0cgorLQorLU1vZHVsZV9zaXhfbW92 ZXNfdXJsbGliX3BhcnNlLl9tb3ZlZF9hdHRyaWJ1dGVzID0gX3VybGxpYl9wYXJzZV9tb3ZlZF9h dHRyaWJ1dGVzCistCistX2ltcG9ydGVyLl9hZGRfbW9kdWxlKE1vZHVsZV9zaXhfbW92ZXNfdXJs bGliX3BhcnNlKF9fbmFtZV9fICsgIi5tb3Zlcy51cmxsaWJfcGFyc2UiKSwKKy0gICAgICAgICAg ICAgICAgICAgICAgIm1vdmVzLnVybGxpYl9wYXJzZSIsICJtb3Zlcy51cmxsaWIucGFyc2UiKQor LQorLQorLWNsYXNzIE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX2Vycm9yKF9MYXp5TW9kdWxlKToK Ky0KKy0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVkIG9iamVjdHMgaW4gc2l4Lm1vdmVzLnVy bGxpYl9lcnJvciIiIgorLQorLQorLV91cmxsaWJfZXJyb3JfbW92ZWRfYXR0cmlidXRlcyA9IFsK Ky0gICAgTW92ZWRBdHRyaWJ1dGUoIlVSTEVycm9yIiwgInVybGxpYjIiLCAidXJsbGliLmVycm9y IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQRXJyb3IiLCAidXJsbGliMiIsICJ1cmxsaWIu ZXJyb3IiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkNvbnRlbnRUb29TaG9ydEVycm9yIiwgInVy bGxpYiIsICJ1cmxsaWIuZXJyb3IiKSwKKy1dCistZm9yIGF0dHIgaW4gX3VybGxpYl9lcnJvcl9t b3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBzZXRhdHRyKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX2Vy cm9yLCBhdHRyLm5hbWUsIGF0dHIpCistZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVzX3Vy bGxpYl9lcnJvci5fbW92ZWRfYXR0cmlidXRlcyA9IF91cmxsaWJfZXJyb3JfbW92ZWRfYXR0cmli dXRlcworLQorLV9pbXBvcnRlci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9l cnJvcihfX25hbWVfXyArICIubW92ZXMudXJsbGliLmVycm9yIiksCistICAgICAgICAgICAgICAg ICAgICAgICJtb3Zlcy51cmxsaWJfZXJyb3IiLCAibW92ZXMudXJsbGliLmVycm9yIikKKy0KKy0K Ky1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yZXF1ZXN0KF9MYXp5TW9kdWxlKToKKy0K Ky0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVkIG9iamVjdHMgaW4gc2l4Lm1vdmVzLnVybGxp Yl9yZXF1ZXN0IiIiCistCistCistX3VybGxpYl9yZXF1ZXN0X21vdmVkX2F0dHJpYnV0ZXMgPSBb CistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxvcGVuIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVl c3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImluc3RhbGxfb3BlbmVyIiwgInVybGxpYjIiLCAi dXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImJ1aWxkX29wZW5lciIsICJ1 cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJwYXRobmFt ZTJ1cmwiLCAidXJsbGliIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRl KCJ1cmwycGF0aG5hbWUiLCAidXJsbGliIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVk QXR0cmlidXRlKCJnZXRwcm94aWVzIiwgInVybGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAg ICBNb3ZlZEF0dHJpYnV0ZSgiUmVxdWVzdCIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0Iiks CistICAgIE1vdmVkQXR0cmlidXRlKCJPcGVuZXJEaXJlY3RvciIsICJ1cmxsaWIyIiwgInVybGxp Yi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQRGVmYXVsdEVycm9ySGFuZGxl ciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJI VFRQUmVkaXJlY3RIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAg TW92ZWRBdHRyaWJ1dGUoIkhUVFBDb29raWVQcm9jZXNzb3IiLCAidXJsbGliMiIsICJ1cmxsaWIu cmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiUHJveHlIYW5kbGVyIiwgInVybGxpYjIi LCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkJhc2VIYW5kbGVyIiwg InVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkhUVFBQ YXNzd29yZE1nciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJIVFRQUGFzc3dvcmRNZ3JXaXRoRGVmYXVsdFJlYWxtIiwgInVybGxpYjIiLCAidXJs bGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkFic3RyYWN0QmFzaWNBdXRoSGFu ZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRl KCJIVFRQQmFzaWNBdXRoSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCist ICAgIE1vdmVkQXR0cmlidXRlKCJQcm94eUJhc2ljQXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1 cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiQWJzdHJhY3REaWdlc3RBdXRo SGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmli dXRlKCJIVFRQRGlnZXN0QXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIp LAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiUHJveHlEaWdlc3RBdXRoSGFuZGxlciIsICJ1cmxsaWIy IiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQSGFuZGxlciIs ICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQ U0hhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgiRmlsZUhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBN b3ZlZEF0dHJpYnV0ZSgiRlRQSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0Iiks CistICAgIE1vdmVkQXR0cmlidXRlKCJDYWNoZUZUUEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxs aWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiVW5rbm93bkhhbmRsZXIiLCAidXJs bGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUEVycm9y UHJvY2Vzc29yIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoInVybHJldHJpZXZlIiwgInVybGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBN b3ZlZEF0dHJpYnV0ZSgidXJsY2xlYW51cCIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwK Ky0gICAgTW92ZWRBdHRyaWJ1dGUoIlVSTG9wZW5lciIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVl c3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkZhbmN5VVJMb3BlbmVyIiwgInVybGxpYiIsICJ1 cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicHJveHlfYnlwYXNzIiwgInVy bGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLV0KKy1mb3IgYXR0ciBpbiBfdXJsbGliX3JlcXVl c3RfbW92ZWRfYXR0cmlidXRlczoKKy0gICAgc2V0YXR0cihNb2R1bGVfc2l4X21vdmVzX3VybGxp Yl9yZXF1ZXN0LCBhdHRyLm5hbWUsIGF0dHIpCistZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21v dmVzX3VybGxpYl9yZXF1ZXN0Ll9tb3ZlZF9hdHRyaWJ1dGVzID0gX3VybGxpYl9yZXF1ZXN0X21v dmVkX2F0dHJpYnV0ZXMKKy0KKy1faW1wb3J0ZXIuX2FkZF9tb2R1bGUoTW9kdWxlX3NpeF9tb3Zl c191cmxsaWJfcmVxdWVzdChfX25hbWVfXyArICIubW92ZXMudXJsbGliLnJlcXVlc3QiKSwKKy0g ICAgICAgICAgICAgICAgICAgICAgIm1vdmVzLnVybGxpYl9yZXF1ZXN0IiwgIm1vdmVzLnVybGxp Yi5yZXF1ZXN0IikKKy0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yZXNwb25z ZShfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3Rz IGluIHNpeC5tb3Zlcy51cmxsaWJfcmVzcG9uc2UiIiIKKy0KKy0KKy1fdXJsbGliX3Jlc3BvbnNl X21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJhZGRiYXNlIiwgInVy bGxpYiIsICJ1cmxsaWIucmVzcG9uc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImFkZGNsb3Nl aG9vayIsICJ1cmxsaWIiLCAidXJsbGliLnJlc3BvbnNlIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJhZGRpbmZvIiwgInVybGxpYiIsICJ1cmxsaWIucmVzcG9uc2UiKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoImFkZGluZm91cmwiLCAidXJsbGliIiwgInVybGxpYi5yZXNwb25zZSIpLAorLV0KKy1m b3IgYXR0ciBpbiBfdXJsbGliX3Jlc3BvbnNlX21vdmVkX2F0dHJpYnV0ZXM6CistICAgIHNldGF0 dHIoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVzcG9uc2UsIGF0dHIubmFtZSwgYXR0cikKKy1k ZWwgYXR0cgorLQorLU1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3Jlc3BvbnNlLl9tb3ZlZF9hdHRy aWJ1dGVzID0gX3VybGxpYl9yZXNwb25zZV9tb3ZlZF9hdHRyaWJ1dGVzCistCistX2ltcG9ydGVy Ll9hZGRfbW9kdWxlKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3Jlc3BvbnNlKF9fbmFtZV9fICsg Ii5tb3Zlcy51cmxsaWIucmVzcG9uc2UiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgIm1vdmVz LnVybGxpYl9yZXNwb25zZSIsICJtb3Zlcy51cmxsaWIucmVzcG9uc2UiKQorLQorLQorLWNsYXNz IE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3JvYm90cGFyc2VyKF9MYXp5TW9kdWxlKToKKy0KKy0g ICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVkIG9iamVjdHMgaW4gc2l4Lm1vdmVzLnVybGxpYl9y b2JvdHBhcnNlciIiIgorLQorLQorLV91cmxsaWJfcm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRl cyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlJvYm90RmlsZVBhcnNlciIsICJyb2JvdHBhcnNl ciIsICJ1cmxsaWIucm9ib3RwYXJzZXIiKSwKKy1dCistZm9yIGF0dHIgaW4gX3VybGxpYl9yb2Jv dHBhcnNlcl9tb3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBzZXRhdHRyKE1vZHVsZV9zaXhfbW92ZXNf dXJsbGliX3JvYm90cGFyc2VyLCBhdHRyLm5hbWUsIGF0dHIpCistZGVsIGF0dHIKKy0KKy1Nb2R1 bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNlci5fbW92ZWRfYXR0cmlidXRlcyA9IF91cmxs aWJfcm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRlcworLQorLV9pbXBvcnRlci5fYWRkX21vZHVs ZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNlcihfX25hbWVfXyArICIubW92ZXMu dXJsbGliLnJvYm90cGFyc2VyIiksCistICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51cmxs aWJfcm9ib3RwYXJzZXIiLCAibW92ZXMudXJsbGliLnJvYm90cGFyc2VyIikKKy0KKy0KKy1jbGFz cyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYih0eXBlcy5Nb2R1bGVUeXBlKToKKy0KKy0gICAgIiIi Q3JlYXRlIGEgc2l4Lm1vdmVzLnVybGxpYiBuYW1lc3BhY2UgdGhhdCByZXNlbWJsZXMgdGhlIFB5 dGhvbiAzIG5hbWVzcGFjZSIiIgorLSAgICBfX3BhdGhfXyA9IFtdICAjIG1hcmsgYXMgcGFja2Fn ZQorLSAgICBwYXJzZSA9IF9pbXBvcnRlci5fZ2V0X21vZHVsZSgibW92ZXMudXJsbGliX3BhcnNl IikKKy0gICAgZXJyb3IgPSBfaW1wb3J0ZXIuX2dldF9tb2R1bGUoIm1vdmVzLnVybGxpYl9lcnJv ciIpCistICAgIHJlcXVlc3QgPSBfaW1wb3J0ZXIuX2dldF9tb2R1bGUoIm1vdmVzLnVybGxpYl9y ZXF1ZXN0IikKKy0gICAgcmVzcG9uc2UgPSBfaW1wb3J0ZXIuX2dldF9tb2R1bGUoIm1vdmVzLnVy bGxpYl9yZXNwb25zZSIpCistICAgIHJvYm90cGFyc2VyID0gX2ltcG9ydGVyLl9nZXRfbW9kdWxl KCJtb3Zlcy51cmxsaWJfcm9ib3RwYXJzZXIiKQorLQorLSAgICBkZWYgX19kaXJfXyhzZWxmKToK Ky0gICAgICAgIHJldHVybiBbJ3BhcnNlJywgJ2Vycm9yJywgJ3JlcXVlc3QnLCAncmVzcG9uc2Un LCAncm9ib3RwYXJzZXInXQorLQorLV9pbXBvcnRlci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21v dmVzX3VybGxpYihfX25hbWVfXyArICIubW92ZXMudXJsbGliIiksCistICAgICAgICAgICAgICAg ICAgICAgICJtb3Zlcy51cmxsaWIiKQorLQorLQorLWRlZiBhZGRfbW92ZShtb3ZlKToKKy0gICAg IiIiQWRkIGFuIGl0ZW0gdG8gc2l4Lm1vdmVzLiIiIgorLSAgICBzZXRhdHRyKF9Nb3ZlZEl0ZW1z LCBtb3ZlLm5hbWUsIG1vdmUpCistCistCistZGVmIHJlbW92ZV9tb3ZlKG5hbWUpOgorLSAgICAi IiJSZW1vdmUgaXRlbSBmcm9tIHNpeC5tb3Zlcy4iIiIKKy0gICAgdHJ5OgorLSAgICAgICAgZGVs YXR0cihfTW92ZWRJdGVtcywgbmFtZSkKKy0gICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAg ICAgICAgdHJ5OgorLSAgICAgICAgICAgIGRlbCBtb3Zlcy5fX2RpY3RfX1tuYW1lXQorLSAgICAg ICAgZXhjZXB0IEtleUVycm9yOgorLSAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJu byBzdWNoIG1vdmUsICVyIiAlIChuYW1lLCkpCistCistCistaWYgUFkzOgorLSAgICBfbWV0aF9m dW5jID0gIl9fZnVuY19fIgorLSAgICBfbWV0aF9zZWxmID0gIl9fc2VsZl9fIgorLQorLSAgICBf ZnVuY19jbG9zdXJlID0gIl9fY2xvc3VyZV9fIgorLSAgICBfZnVuY19jb2RlID0gIl9fY29kZV9f IgorLSAgICBfZnVuY19kZWZhdWx0cyA9ICJfX2RlZmF1bHRzX18iCistICAgIF9mdW5jX2dsb2Jh bHMgPSAiX19nbG9iYWxzX18iCistZWxzZToKKy0gICAgX21ldGhfZnVuYyA9ICJpbV9mdW5jIgor LSAgICBfbWV0aF9zZWxmID0gImltX3NlbGYiCistCistICAgIF9mdW5jX2Nsb3N1cmUgPSAiZnVu Y19jbG9zdXJlIgorLSAgICBfZnVuY19jb2RlID0gImZ1bmNfY29kZSIKKy0gICAgX2Z1bmNfZGVm YXVsdHMgPSAiZnVuY19kZWZhdWx0cyIKKy0gICAgX2Z1bmNfZ2xvYmFscyA9ICJmdW5jX2dsb2Jh bHMiCistCistCistdHJ5OgorLSAgICBhZHZhbmNlX2l0ZXJhdG9yID0gbmV4dAorLWV4Y2VwdCBO YW1lRXJyb3I6CistICAgIGRlZiBhZHZhbmNlX2l0ZXJhdG9yKGl0KToKKy0gICAgICAgIHJldHVy biBpdC5uZXh0KCkKKy1uZXh0ID0gYWR2YW5jZV9pdGVyYXRvcgorLQorLQorLXRyeToKKy0gICAg Y2FsbGFibGUgPSBjYWxsYWJsZQorLWV4Y2VwdCBOYW1lRXJyb3I6CistICAgIGRlZiBjYWxsYWJs ZShvYmopOgorLSAgICAgICAgcmV0dXJuIGFueSgiX19jYWxsX18iIGluIGtsYXNzLl9fZGljdF9f IGZvciBrbGFzcyBpbiB0eXBlKG9iaikuX19tcm9fXykKKy0KKy0KKy1pZiBQWTM6CistICAgIGRl ZiBnZXRfdW5ib3VuZF9mdW5jdGlvbih1bmJvdW5kKToKKy0gICAgICAgIHJldHVybiB1bmJvdW5k CistCistICAgIGNyZWF0ZV9ib3VuZF9tZXRob2QgPSB0eXBlcy5NZXRob2RUeXBlCistCistICAg IGRlZiBjcmVhdGVfdW5ib3VuZF9tZXRob2QoZnVuYywgY2xzKToKKy0gICAgICAgIHJldHVybiBm dW5jCistCistICAgIEl0ZXJhdG9yID0gb2JqZWN0CistZWxzZToKKy0gICAgZGVmIGdldF91bmJv dW5kX2Z1bmN0aW9uKHVuYm91bmQpOgorLSAgICAgICAgcmV0dXJuIHVuYm91bmQuaW1fZnVuYwor LQorLSAgICBkZWYgY3JlYXRlX2JvdW5kX21ldGhvZChmdW5jLCBvYmopOgorLSAgICAgICAgcmV0 dXJuIHR5cGVzLk1ldGhvZFR5cGUoZnVuYywgb2JqLCBvYmouX19jbGFzc19fKQorLQorLSAgICBk ZWYgY3JlYXRlX3VuYm91bmRfbWV0aG9kKGZ1bmMsIGNscyk6CistICAgICAgICByZXR1cm4gdHlw ZXMuTWV0aG9kVHlwZShmdW5jLCBOb25lLCBjbHMpCistCistICAgIGNsYXNzIEl0ZXJhdG9yKG9i amVjdCk6CistCistICAgICAgICBkZWYgbmV4dChzZWxmKToKKy0gICAgICAgICAgICByZXR1cm4g dHlwZShzZWxmKS5fX25leHRfXyhzZWxmKQorLQorLSAgICBjYWxsYWJsZSA9IGNhbGxhYmxlCist X2FkZF9kb2MoZ2V0X3VuYm91bmRfZnVuY3Rpb24sCistICAgICAgICAgIiIiR2V0IHRoZSBmdW5j dGlvbiBvdXQgb2YgYSBwb3NzaWJseSB1bmJvdW5kIGZ1bmN0aW9uIiIiKQorLQorLQorLWdldF9t ZXRob2RfZnVuY3Rpb24gPSBvcGVyYXRvci5hdHRyZ2V0dGVyKF9tZXRoX2Z1bmMpCistZ2V0X21l dGhvZF9zZWxmID0gb3BlcmF0b3IuYXR0cmdldHRlcihfbWV0aF9zZWxmKQorLWdldF9mdW5jdGlv bl9jbG9zdXJlID0gb3BlcmF0b3IuYXR0cmdldHRlcihfZnVuY19jbG9zdXJlKQorLWdldF9mdW5j dGlvbl9jb2RlID0gb3BlcmF0b3IuYXR0cmdldHRlcihfZnVuY19jb2RlKQorLWdldF9mdW5jdGlv bl9kZWZhdWx0cyA9IG9wZXJhdG9yLmF0dHJnZXR0ZXIoX2Z1bmNfZGVmYXVsdHMpCistZ2V0X2Z1 bmN0aW9uX2dsb2JhbHMgPSBvcGVyYXRvci5hdHRyZ2V0dGVyKF9mdW5jX2dsb2JhbHMpCistCist CistaWYgUFkzOgorLSAgICBkZWYgaXRlcmtleXMoZCwgKiprdyk6CistICAgICAgICByZXR1cm4g aXRlcihkLmtleXMoKiprdykpCistCistICAgIGRlZiBpdGVydmFsdWVzKGQsICoqa3cpOgorLSAg ICAgICAgcmV0dXJuIGl0ZXIoZC52YWx1ZXMoKiprdykpCistCistICAgIGRlZiBpdGVyaXRlbXMo ZCwgKiprdyk6CistICAgICAgICByZXR1cm4gaXRlcihkLml0ZW1zKCoqa3cpKQorLQorLSAgICBk ZWYgaXRlcmxpc3RzKGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGl0ZXIoZC5saXN0cygqKmt3 KSkKKy0KKy0gICAgdmlld2tleXMgPSBvcGVyYXRvci5tZXRob2RjYWxsZXIoImtleXMiKQorLQor LSAgICB2aWV3dmFsdWVzID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2YWx1ZXMiKQorLQorLSAg ICB2aWV3aXRlbXMgPSBvcGVyYXRvci5tZXRob2RjYWxsZXIoIml0ZW1zIikKKy1lbHNlOgorLSAg ICBkZWYgaXRlcmtleXMoZCwgKiprdyk6CistICAgICAgICByZXR1cm4gZC5pdGVya2V5cygqKmt3 KQorLQorLSAgICBkZWYgaXRlcnZhbHVlcyhkLCAqKmt3KToKKy0gICAgICAgIHJldHVybiBkLml0 ZXJ2YWx1ZXMoKiprdykKKy0KKy0gICAgZGVmIGl0ZXJpdGVtcyhkLCAqKmt3KToKKy0gICAgICAg IHJldHVybiBkLml0ZXJpdGVtcygqKmt3KQorLQorLSAgICBkZWYgaXRlcmxpc3RzKGQsICoqa3cp OgorLSAgICAgICAgcmV0dXJuIGQuaXRlcmxpc3RzKCoqa3cpCistCistICAgIHZpZXdrZXlzID0g b3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2aWV3a2V5cyIpCistCistICAgIHZpZXd2YWx1ZXMgPSBv cGVyYXRvci5tZXRob2RjYWxsZXIoInZpZXd2YWx1ZXMiKQorLQorLSAgICB2aWV3aXRlbXMgPSBv cGVyYXRvci5tZXRob2RjYWxsZXIoInZpZXdpdGVtcyIpCistCistX2FkZF9kb2MoaXRlcmtleXMs ICJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUga2V5cyBvZiBhIGRpY3Rpb25hcnkuIikKKy1f YWRkX2RvYyhpdGVydmFsdWVzLCAiUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgdGhlIHZhbHVlcyBv ZiBhIGRpY3Rpb25hcnkuIikKKy1fYWRkX2RvYyhpdGVyaXRlbXMsCistICAgICAgICAgIlJldHVy biBhbiBpdGVyYXRvciBvdmVyIHRoZSAoa2V5LCB2YWx1ZSkgcGFpcnMgb2YgYSBkaWN0aW9uYXJ5 LiIpCistX2FkZF9kb2MoaXRlcmxpc3RzLAorLSAgICAgICAgICJSZXR1cm4gYW4gaXRlcmF0b3Ig b3ZlciB0aGUgKGtleSwgW3ZhbHVlc10pIHBhaXJzIG9mIGEgZGljdGlvbmFyeS4iKQorLQorLQor LWlmIFBZMzoKKy0gICAgZGVmIGIocyk6CistICAgICAgICByZXR1cm4gcy5lbmNvZGUoImxhdGlu LTEiKQorLQorLSAgICBkZWYgdShzKToKKy0gICAgICAgIHJldHVybiBzCistICAgIHVuaWNociA9 IGNocgorLSAgICBpbXBvcnQgc3RydWN0CistICAgIGludDJieXRlID0gc3RydWN0LlN0cnVjdCgi PkIiKS5wYWNrCistICAgIGRlbCBzdHJ1Y3QKKy0gICAgYnl0ZTJpbnQgPSBvcGVyYXRvci5pdGVt Z2V0dGVyKDApCistICAgIGluZGV4Ynl0ZXMgPSBvcGVyYXRvci5nZXRpdGVtCistICAgIGl0ZXJi eXRlcyA9IGl0ZXIKKy0gICAgaW1wb3J0IGlvCistICAgIFN0cmluZ0lPID0gaW8uU3RyaW5nSU8K Ky0gICAgQnl0ZXNJTyA9IGlvLkJ5dGVzSU8KKy0gICAgX2Fzc2VydENvdW50RXF1YWwgPSAiYXNz ZXJ0Q291bnRFcXVhbCIKKy0gICAgaWYgc3lzLnZlcnNpb25faW5mb1sxXSA8PSAxOgorLSAgICAg ICAgX2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2VydFJhaXNlc1JlZ2V4cCIKKy0gICAgICAgIF9h c3NlcnRSZWdleCA9ICJhc3NlcnRSZWdleHBNYXRjaGVzIgorLSAgICBlbHNlOgorLSAgICAgICAg X2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2VydFJhaXNlc1JlZ2V4IgorLSAgICAgICAgX2Fzc2Vy dFJlZ2V4ID0gImFzc2VydFJlZ2V4IgorLWVsc2U6CistICAgIGRlZiBiKHMpOgorLSAgICAgICAg cmV0dXJuIHMKKy0gICAgIyBXb3JrYXJvdW5kIGZvciBzdGFuZGFsb25lIGJhY2tzbGFzaAorLQor LSAgICBkZWYgdShzKToKKy0gICAgICAgIHJldHVybiB1bmljb2RlKHMucmVwbGFjZShyJ1xcJywg cidcXFxcJyksICJ1bmljb2RlX2VzY2FwZSIpCistICAgIHVuaWNociA9IHVuaWNocgorLSAgICBp bnQyYnl0ZSA9IGNocgorLQorLSAgICBkZWYgYnl0ZTJpbnQoYnMpOgorLSAgICAgICAgcmV0dXJu IG9yZChic1swXSkKKy0KKy0gICAgZGVmIGluZGV4Ynl0ZXMoYnVmLCBpKToKKy0gICAgICAgIHJl dHVybiBvcmQoYnVmW2ldKQorLSAgICBpdGVyYnl0ZXMgPSBmdW5jdG9vbHMucGFydGlhbChpdGVy dG9vbHMuaW1hcCwgb3JkKQorLSAgICBpbXBvcnQgU3RyaW5nSU8KKy0gICAgU3RyaW5nSU8gPSBC eXRlc0lPID0gU3RyaW5nSU8uU3RyaW5nSU8KKy0gICAgX2Fzc2VydENvdW50RXF1YWwgPSAiYXNz ZXJ0SXRlbXNFcXVhbCIKKy0gICAgX2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2VydFJhaXNlc1Jl Z2V4cCIKKy0gICAgX2Fzc2VydFJlZ2V4ID0gImFzc2VydFJlZ2V4cE1hdGNoZXMiCistX2FkZF9k b2MoYiwgIiIiQnl0ZSBsaXRlcmFsIiIiKQorLV9hZGRfZG9jKHUsICIiIlRleHQgbGl0ZXJhbCIi IikKKy0KKy0KKy1kZWYgYXNzZXJ0Q291bnRFcXVhbChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgor LSAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBfYXNzZXJ0Q291bnRFcXVhbCkoKmFyZ3MsICoqa3dh cmdzKQorLQorLQorLWRlZiBhc3NlcnRSYWlzZXNSZWdleChzZWxmLCAqYXJncywgKiprd2FyZ3Mp OgorLSAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBfYXNzZXJ0UmFpc2VzUmVnZXgpKCphcmdzLCAq Kmt3YXJncykKKy0KKy0KKy1kZWYgYXNzZXJ0UmVnZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToK Ky0gICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fzc2VydFJlZ2V4KSgqYXJncywgKiprd2FyZ3Mp CistCistCistaWYgUFkzOgorLSAgICBleGVjXyA9IGdldGF0dHIobW92ZXMuYnVpbHRpbnMsICJl eGVjIikKKy0KKy0gICAgZGVmIHJlcmFpc2UodHAsIHZhbHVlLCB0Yj1Ob25lKToKKy0gICAgICAg IGlmIHZhbHVlIGlzIE5vbmU6CistICAgICAgICAgICAgdmFsdWUgPSB0cCgpCistICAgICAgICBp ZiB2YWx1ZS5fX3RyYWNlYmFja19fIGlzIG5vdCB0YjoKKy0gICAgICAgICAgICByYWlzZSB2YWx1 ZS53aXRoX3RyYWNlYmFjayh0YikKKy0gICAgICAgIHJhaXNlIHZhbHVlCistCistZWxzZToKKy0g ICAgZGVmIGV4ZWNfKF9jb2RlXywgX2dsb2JzXz1Ob25lLCBfbG9jc189Tm9uZSk6CistICAgICAg ICAiIiJFeGVjdXRlIGNvZGUgaW4gYSBuYW1lc3BhY2UuIiIiCistICAgICAgICBpZiBfZ2xvYnNf IGlzIE5vbmU6CistICAgICAgICAgICAgZnJhbWUgPSBzeXMuX2dldGZyYW1lKDEpCistICAgICAg ICAgICAgX2dsb2JzXyA9IGZyYW1lLmZfZ2xvYmFscworLSAgICAgICAgICAgIGlmIF9sb2NzXyBp cyBOb25lOgorLSAgICAgICAgICAgICAgICBfbG9jc18gPSBmcmFtZS5mX2xvY2FscworLSAgICAg ICAgICAgIGRlbCBmcmFtZQorLSAgICAgICAgZWxpZiBfbG9jc18gaXMgTm9uZToKKy0gICAgICAg ICAgICBfbG9jc18gPSBfZ2xvYnNfCistICAgICAgICBleGVjKCIiImV4ZWMgX2NvZGVfIGluIF9n bG9ic18sIF9sb2NzXyIiIikKKy0KKy0gICAgZXhlY18oIiIiZGVmIHJlcmFpc2UodHAsIHZhbHVl LCB0Yj1Ob25lKToKKy0gICAgcmFpc2UgdHAsIHZhbHVlLCB0YgorLSIiIikKKy0KKy0KKy1pZiBz eXMudmVyc2lvbl9pbmZvWzoyXSA9PSAoMywgMik6CistICAgIGV4ZWNfKCIiImRlZiByYWlzZV9m cm9tKHZhbHVlLCBmcm9tX3ZhbHVlKToKKy0gICAgaWYgZnJvbV92YWx1ZSBpcyBOb25lOgorLSAg ICAgICAgcmFpc2UgdmFsdWUKKy0gICAgcmFpc2UgdmFsdWUgZnJvbSBmcm9tX3ZhbHVlCistIiIi KQorLWVsaWYgc3lzLnZlcnNpb25faW5mb1s6Ml0gPiAoMywgMik6CistICAgIGV4ZWNfKCIiImRl ZiByYWlzZV9mcm9tKHZhbHVlLCBmcm9tX3ZhbHVlKToKKy0gICAgcmFpc2UgdmFsdWUgZnJvbSBm cm9tX3ZhbHVlCistIiIiKQorLWVsc2U6CistICAgIGRlZiByYWlzZV9mcm9tKHZhbHVlLCBmcm9t X3ZhbHVlKToKKy0gICAgICAgIHJhaXNlIHZhbHVlCistCistCistcHJpbnRfID0gZ2V0YXR0ciht b3Zlcy5idWlsdGlucywgInByaW50IiwgTm9uZSkKKy1pZiBwcmludF8gaXMgTm9uZToKKy0gICAg ZGVmIHByaW50XygqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgIiIiVGhlIG5ldy1zdHlsZSBw cmludCBmdW5jdGlvbiBmb3IgUHl0aG9uIDIuNCBhbmQgMi41LiIiIgorLSAgICAgICAgZnAgPSBr d2FyZ3MucG9wKCJmaWxlIiwgc3lzLnN0ZG91dCkKKy0gICAgICAgIGlmIGZwIGlzIE5vbmU6Cist ICAgICAgICAgICAgcmV0dXJuCistCistICAgICAgICBkZWYgd3JpdGUoZGF0YSk6CistICAgICAg ICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwgYmFzZXN0cmluZyk6CistICAgICAgICAgICAg ICAgIGRhdGEgPSBzdHIoZGF0YSkKKy0gICAgICAgICAgICAjIElmIHRoZSBmaWxlIGhhcyBhbiBl bmNvZGluZywgZW5jb2RlIHVuaWNvZGUgd2l0aCBpdC4KKy0gICAgICAgICAgICBpZiAoaXNpbnN0 YW5jZShmcCwgZmlsZSkgYW5kCistICAgICAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGRhdGEs IHVuaWNvZGUpIGFuZAorLSAgICAgICAgICAgICAgICAgICAgZnAuZW5jb2RpbmcgaXMgbm90IE5v bmUpOgorLSAgICAgICAgICAgICAgICBlcnJvcnMgPSBnZXRhdHRyKGZwLCAiZXJyb3JzIiwgTm9u ZSkKKy0gICAgICAgICAgICAgICAgaWYgZXJyb3JzIGlzIE5vbmU6CistICAgICAgICAgICAgICAg ICAgICBlcnJvcnMgPSAic3RyaWN0IgorLSAgICAgICAgICAgICAgICBkYXRhID0gZGF0YS5lbmNv ZGUoZnAuZW5jb2RpbmcsIGVycm9ycykKKy0gICAgICAgICAgICBmcC53cml0ZShkYXRhKQorLSAg ICAgICAgd2FudF91bmljb2RlID0gRmFsc2UKKy0gICAgICAgIHNlcCA9IGt3YXJncy5wb3AoInNl cCIsIE5vbmUpCistICAgICAgICBpZiBzZXAgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgaWYg aXNpbnN0YW5jZShzZXAsIHVuaWNvZGUpOgorLSAgICAgICAgICAgICAgICB3YW50X3VuaWNvZGUg PSBUcnVlCistICAgICAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShzZXAsIHN0cik6CistICAg ICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigic2VwIG11c3QgYmUgTm9uZSBvciBhIHN0cmlu ZyIpCistICAgICAgICBlbmQgPSBrd2FyZ3MucG9wKCJlbmQiLCBOb25lKQorLSAgICAgICAgaWYg ZW5kIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZW5kLCB1bmljb2Rl KToKKy0gICAgICAgICAgICAgICAgd2FudF91bmljb2RlID0gVHJ1ZQorLSAgICAgICAgICAgIGVs aWYgbm90IGlzaW5zdGFuY2UoZW5kLCBzdHIpOgorLSAgICAgICAgICAgICAgICByYWlzZSBUeXBl RXJyb3IoImVuZCBtdXN0IGJlIE5vbmUgb3IgYSBzdHJpbmciKQorLSAgICAgICAgaWYga3dhcmdz OgorLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiaW52YWxpZCBrZXl3b3JkIGFyZ3VtZW50 cyB0byBwcmludCgpIikKKy0gICAgICAgIGlmIG5vdCB3YW50X3VuaWNvZGU6CistICAgICAgICAg ICAgZm9yIGFyZyBpbiBhcmdzOgorLSAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGFyZywg dW5pY29kZSk6CistICAgICAgICAgICAgICAgICAgICB3YW50X3VuaWNvZGUgPSBUcnVlCistICAg ICAgICAgICAgICAgICAgICBicmVhaworLSAgICAgICAgaWYgd2FudF91bmljb2RlOgorLSAgICAg ICAgICAgIG5ld2xpbmUgPSB1bmljb2RlKCJcbiIpCistICAgICAgICAgICAgc3BhY2UgPSB1bmlj b2RlKCIgIikKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgbmV3bGluZSA9ICJcbiIKKy0g ICAgICAgICAgICBzcGFjZSA9ICIgIgorLSAgICAgICAgaWYgc2VwIGlzIE5vbmU6CistICAgICAg ICAgICAgc2VwID0gc3BhY2UKKy0gICAgICAgIGlmIGVuZCBpcyBOb25lOgorLSAgICAgICAgICAg IGVuZCA9IG5ld2xpbmUKKy0gICAgICAgIGZvciBpLCBhcmcgaW4gZW51bWVyYXRlKGFyZ3MpOgor LSAgICAgICAgICAgIGlmIGk6CistICAgICAgICAgICAgICAgIHdyaXRlKHNlcCkKKy0gICAgICAg ICAgICB3cml0ZShhcmcpCistICAgICAgICB3cml0ZShlbmQpCistaWYgc3lzLnZlcnNpb25faW5m b1s6Ml0gPCAoMywgMyk6CistICAgIF9wcmludCA9IHByaW50XworLQorLSAgICBkZWYgcHJpbnRf KCphcmdzLCAqKmt3YXJncyk6CistICAgICAgICBmcCA9IGt3YXJncy5nZXQoImZpbGUiLCBzeXMu c3Rkb3V0KQorLSAgICAgICAgZmx1c2ggPSBrd2FyZ3MucG9wKCJmbHVzaCIsIEZhbHNlKQorLSAg ICAgICAgX3ByaW50KCphcmdzLCAqKmt3YXJncykKKy0gICAgICAgIGlmIGZsdXNoIGFuZCBmcCBp cyBub3QgTm9uZToKKy0gICAgICAgICAgICBmcC5mbHVzaCgpCistCistX2FkZF9kb2MocmVyYWlz ZSwgIiIiUmVyYWlzZSBhbiBleGNlcHRpb24uIiIiKQorLQorLWlmIHN5cy52ZXJzaW9uX2luZm9b MDoyXSA8ICgzLCA0KToKKy0gICAgZGVmIHdyYXBzKHdyYXBwZWQsIGFzc2lnbmVkPWZ1bmN0b29s cy5XUkFQUEVSX0FTU0lHTk1FTlRTLAorLSAgICAgICAgICAgICAgdXBkYXRlZD1mdW5jdG9vbHMu V1JBUFBFUl9VUERBVEVTKToKKy0gICAgICAgIGRlZiB3cmFwcGVyKGYpOgorLSAgICAgICAgICAg IGYgPSBmdW5jdG9vbHMud3JhcHMod3JhcHBlZCwgYXNzaWduZWQsIHVwZGF0ZWQpKGYpCistICAg ICAgICAgICAgZi5fX3dyYXBwZWRfXyA9IHdyYXBwZWQKKy0gICAgICAgICAgICByZXR1cm4gZgor LSAgICAgICAgcmV0dXJuIHdyYXBwZXIKKy1lbHNlOgorLSAgICB3cmFwcyA9IGZ1bmN0b29scy53 cmFwcworLQorLQorLWRlZiB3aXRoX21ldGFjbGFzcyhtZXRhLCAqYmFzZXMpOgorLSAgICAiIiJD cmVhdGUgYSBiYXNlIGNsYXNzIHdpdGggYSBtZXRhY2xhc3MuIiIiCistICAgICMgVGhpcyByZXF1 aXJlcyBhIGJpdCBvZiBleHBsYW5hdGlvbjogdGhlIGJhc2ljIGlkZWEgaXMgdG8gbWFrZSBhIGR1 bW15CistICAgICMgbWV0YWNsYXNzIGZvciBvbmUgbGV2ZWwgb2YgY2xhc3MgaW5zdGFudGlhdGlv biB0aGF0IHJlcGxhY2VzIGl0c2VsZiB3aXRoCistICAgICMgdGhlIGFjdHVhbCBtZXRhY2xhc3Mu CistICAgIGNsYXNzIG1ldGFjbGFzcyhtZXRhKToKKy0KKy0gICAgICAgIGRlZiBfX25ld19fKGNs cywgbmFtZSwgdGhpc19iYXNlcywgZCk6CistICAgICAgICAgICAgcmV0dXJuIG1ldGEobmFtZSwg YmFzZXMsIGQpCistICAgIHJldHVybiB0eXBlLl9fbmV3X18obWV0YWNsYXNzLCAndGVtcG9yYXJ5 X2NsYXNzJywgKCksIHt9KQorLQorLQorLWRlZiBhZGRfbWV0YWNsYXNzKG1ldGFjbGFzcyk6Cist ICAgICIiIkNsYXNzIGRlY29yYXRvciBmb3IgY3JlYXRpbmcgYSBjbGFzcyB3aXRoIGEgbWV0YWNs YXNzLiIiIgorLSAgICBkZWYgd3JhcHBlcihjbHMpOgorLSAgICAgICAgb3JpZ192YXJzID0gY2xz Ll9fZGljdF9fLmNvcHkoKQorLSAgICAgICAgc2xvdHMgPSBvcmlnX3ZhcnMuZ2V0KCdfX3Nsb3Rz X18nKQorLSAgICAgICAgaWYgc2xvdHMgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgaWYgaXNp bnN0YW5jZShzbG90cywgc3RyKToKKy0gICAgICAgICAgICAgICAgc2xvdHMgPSBbc2xvdHNdCist ICAgICAgICAgICAgZm9yIHNsb3RzX3ZhciBpbiBzbG90czoKKy0gICAgICAgICAgICAgICAgb3Jp Z192YXJzLnBvcChzbG90c192YXIpCistICAgICAgICBvcmlnX3ZhcnMucG9wKCdfX2RpY3RfXycs IE5vbmUpCistICAgICAgICBvcmlnX3ZhcnMucG9wKCdfX3dlYWtyZWZfXycsIE5vbmUpCistICAg ICAgICByZXR1cm4gbWV0YWNsYXNzKGNscy5fX25hbWVfXywgY2xzLl9fYmFzZXNfXywgb3JpZ192 YXJzKQorLSAgICByZXR1cm4gd3JhcHBlcgorLQorLQorLWRlZiBweXRob25fMl91bmljb2RlX2Nv bXBhdGlibGUoa2xhc3MpOgorLSAgICAiIiIKKy0gICAgQSBkZWNvcmF0b3IgdGhhdCBkZWZpbmVz IF9fdW5pY29kZV9fIGFuZCBfX3N0cl9fIG1ldGhvZHMgdW5kZXIgUHl0aG9uIDIuCistICAgIFVu ZGVyIFB5dGhvbiAzIGl0IGRvZXMgbm90aGluZy4KKy0KKy0gICAgVG8gc3VwcG9ydCBQeXRob24g MiBhbmQgMyB3aXRoIGEgc2luZ2xlIGNvZGUgYmFzZSwgZGVmaW5lIGEgX19zdHJfXyBtZXRob2QK Ky0gICAgcmV0dXJuaW5nIHRleHQgYW5kIGFwcGx5IHRoaXMgZGVjb3JhdG9yIHRvIHRoZSBjbGFz cy4KKy0gICAgIiIiCistICAgIGlmIFBZMjoKKy0gICAgICAgIGlmICdfX3N0cl9fJyBub3QgaW4g a2xhc3MuX19kaWN0X186CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQHB5dGhvbl8y X3VuaWNvZGVfY29tcGF0aWJsZSBjYW5ub3QgYmUgYXBwbGllZCAiCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAidG8gJXMgYmVjYXVzZSBpdCBkb2Vzbid0IGRlZmluZSBfX3N0cl9fKCku IiAlCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrbGFzcy5fX25hbWVfXykKKy0gICAg ICAgIGtsYXNzLl9fdW5pY29kZV9fID0ga2xhc3MuX19zdHJfXworLSAgICAgICAga2xhc3MuX19z dHJfXyA9IGxhbWJkYSBzZWxmOiBzZWxmLl9fdW5pY29kZV9fKCkuZW5jb2RlKCd1dGYtOCcpCist ICAgIHJldHVybiBrbGFzcworLQorLQorLSMgQ29tcGxldGUgdGhlIG1vdmVzIGltcGxlbWVudGF0 aW9uLgorLSMgVGhpcyBjb2RlIGlzIGF0IHRoZSBlbmQgb2YgdGhpcyBtb2R1bGUgdG8gc3BlZWQg dXAgbW9kdWxlIGxvYWRpbmcuCistIyBUdXJuIHRoaXMgbW9kdWxlIGludG8gYSBwYWNrYWdlLgor LV9fcGF0aF9fID0gW10gICMgcmVxdWlyZWQgZm9yIFBFUCAzMDIgYW5kIFBFUCA0NTEKKy1fX3Bh Y2thZ2VfXyA9IF9fbmFtZV9fICAjIHNlZSBQRVAgMzY2IEBSZXNlcnZlZEFzc2lnbm1lbnQKKy1p ZiBnbG9iYWxzKCkuZ2V0KCJfX3NwZWNfXyIpIGlzIG5vdCBOb25lOgorLSAgICBfX3NwZWNfXy5z dWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyA9IFtdICAjIFBFUCA0NTEgQFVuZGVmaW5lZFZhcmlh YmxlCistIyBSZW1vdmUgb3RoZXIgc2l4IG1ldGEgcGF0aCBpbXBvcnRlcnMsIHNpbmNlIHRoZXkg Y2F1c2UgcHJvYmxlbXMuIFRoaXMgY2FuCistIyBoYXBwZW4gaWYgc2l4IGlzIHJlbW92ZWQgZnJv bSBzeXMubW9kdWxlcyBhbmQgdGhlbiByZWxvYWRlZC4gKFNldHVwdG9vbHMgZG9lcworLSMgdGhp cyBmb3Igc29tZSByZWFzb24uKQorLWlmIHN5cy5tZXRhX3BhdGg6CistICAgIGZvciBpLCBpbXBv cnRlciBpbiBlbnVtZXJhdGUoc3lzLm1ldGFfcGF0aCk6CistICAgICAgICAjIEhlcmUncyBzb21l IHJlYWwgbmFzdGluZXNzOiBBbm90aGVyICJpbnN0YW5jZSIgb2YgdGhlIHNpeCBtb2R1bGUgbWln aHQKKy0gICAgICAgICMgYmUgZmxvYXRpbmcgYXJvdW5kLiBUaGVyZWZvcmUsIHdlIGNhbid0IHVz ZSBpc2luc3RhbmNlKCkgdG8gY2hlY2sgZm9yCistICAgICAgICAjIHRoZSBzaXggbWV0YSBwYXRo IGltcG9ydGVyLCBzaW5jZSB0aGUgb3RoZXIgc2l4IGluc3RhbmNlIHdpbGwgaGF2ZQorLSAgICAg ICAgIyBpbnNlcnRlZCBhbiBpbXBvcnRlciB3aXRoIGRpZmZlcmVudCBjbGFzcy4KKy0gICAgICAg IGlmICh0eXBlKGltcG9ydGVyKS5fX25hbWVfXyA9PSAiX1NpeE1ldGFQYXRoSW1wb3J0ZXIiIGFu ZAorLSAgICAgICAgICAgICAgICBpbXBvcnRlci5uYW1lID09IF9fbmFtZV9fKToKKy0gICAgICAg ICAgICBkZWwgc3lzLm1ldGFfcGF0aFtpXQorLSAgICAgICAgICAgIGJyZWFrCistICAgIGRlbCBp LCBpbXBvcnRlcgorLSMgRmluYWxseSwgYWRkIHRoZSBpbXBvcnRlciB0byB0aGUgbWV0YSBwYXRo IGltcG9ydCBob29rLgorLXN5cy5tZXRhX3BhdGguYXBwZW5kKF9pbXBvcnRlcikKK2RpZmYgLS1n aXQgYS90YXNrcy9kb2NzLnB5IGIvdGFza3MvZG9jcy5weQoraW5kZXggMzM2MDI3OS4uNzdjMWQ4 MyAxMDA2NDQKKy0tLSBhL3Rhc2tzL2RvY3MucHkKKysrKyBiL3Rhc2tzL2RvY3MucHkKK0BAIC0x MSw3ICsxMSw4IEBAIGZyb20gaW52b2tlLnV0aWwgaW1wb3J0IGNkCisgZnJvbSBwYXRoIGltcG9y dCBQYXRoCisgCisgIyAtLSBUQVNLLUxJQlJBUlk6CistZnJvbSAuX3Rhc2tsZXRfY2xlYW51cCBp bXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJzCisrIyBQUkVQQVJFRDogZnJvbSBpbnZv a2VfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJzCisrZnJvbSAuaW52 b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycworIAorIAorICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC02OSw2ICs3MCw3IEBAIGRlZiBidWlsZChjdHgsIGJ1 aWxkZXI9Imh0bWwiLCBsYW5ndWFnZT1Ob25lLCBvcHRpb25zPSIiKToKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3B0cz1vcHRpb25zKQorICAgICAgICAgY3R4LnJ1bihjb21tYW5kKQor IAorKworIEB0YXNrKGhlbHA9eworICAgICAiYnVpbGRlciI6ICJCdWlsZGVyIHRvIHVzZSAoaHRt bCwgLi4uKSIsCisgICAgICJsYW5ndWFnZSI6ICJMYW5ndWFnZSB0byB1c2UgKGVuLCAuLi4pIiwK K0BAIC04MSwxMiArODMsMzggQEAgZGVmIHJlYnVpbGQoY3R4LCBidWlsZGVyPSJodG1sIiwgbGFu Z3VhZ2U9Tm9uZSwgb3B0aW9ucz0iIik6CisgICAgIGNsZWFuKGN0eCkKKyAgICAgYnVpbGQoY3R4 LCBidWlsZGVyPWJ1aWxkZXIsIGxhbmd1YWdlPU5vbmUsIG9wdGlvbnM9b3B0aW9ucykKKyAKKysK KytAdGFzayhhbGlhc2VzPVsiYXV0byIsICJ3YXRjaCJdLAorKyAgICBoZWxwPXsKKysgICAgICAg ICJidWlsZGVyIjogIkJ1aWxkZXIgdG8gdXNlIChodG1sLCAuLi4pIiwKKysgICAgICAgICJsYW5n dWFnZSI6ICJMYW5ndWFnZSB0byB1c2UgKGVuLCAuLi4pIiwKKysgICAgICAgICJvcHRpb25zIjog IkFkZGl0aW9uYWwgb3B0aW9ucyBmb3Igc3BoaW54LWJ1aWxkIiwKKyt9KQorK2RlZiBhdXRvYnVp bGQoY3R4LCBidWlsZGVyPSJodG1sIiwgbGFuZ3VhZ2U9Tm9uZSwgb3B0aW9ucz0iIik6CisrICAg ICIiIkJ1aWxkIGRvY3Mgd2l0aCBzcGhpbngtYnVpbGQiIiIKKysgICAgbGFuZ3VhZ2UgPSBfc3Bo aW54ZG9jX2dldF9sYW5ndWFnZShjdHgsIGxhbmd1YWdlKQorKyAgICBzb3VyY2VkaXIgPSBjdHgu Y29uZmlnLnNwaGlueC5zb3VyY2VkaXIKKysgICAgZGVzdGRpciA9IF9zcGhpbnhkb2NfZ2V0X2Rl c3RkaXIoY3R4LCBidWlsZGVyLCBsYW5ndWFnZT1sYW5ndWFnZSkKKysgICAgZGVzdGRpciA9IGRl c3RkaXIuYWJzcGF0aCgpCisrICAgIHdpdGggY2Qoc291cmNlZGlyKToKKysgICAgICAgIGRlc3Rk aXJfcmVsYXRpdmUgPSBQYXRoKCIuIikucmVscGF0aHRvKGRlc3RkaXIpCisrICAgICAgICBjb21t YW5kID0gInNwaGlueC1hdXRvYnVpbGQge29wdHN9IC1iIHtidWlsZGVyfSAtRCBsYW5ndWFnZT17 bGFuZ3VhZ2V9IHtzb3VyY2VkaXJ9IHtkZXN0ZGlyfSIgXAorKyAgICAgICAgICAgICAgICAgICAg LmZvcm1hdChidWlsZGVyPWJ1aWxkZXIsIHNvdXJjZWRpcj0iLiIsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRlc3RkaXI9ZGVzdGRpcl9yZWxhdGl2ZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGFuZ3VhZ2U9bGFuZ3VhZ2UsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9wdHM9b3B0aW9ucykKKysgICAgICAgIGN0eC5ydW4oY29tbWFuZCkKKysKKysKKyBAdGFz aworIGRlZiBsaW5rY2hlY2soY3R4KToKKyAgICAgIiIiQ2hlY2sgaWYgYWxsIGxpbmtzIGFyZSBj b3JlY3QuIiIiCisgICAgIGJ1aWxkKGN0eCwgYnVpbGRlcj0ibGlua2NoZWNrIikKKyAKKy1AdGFz ayhoZWxwPXsibGFuZ3VhZ2UiOiAiTGFuZ3VhZ2UgdG8gdXNlIChlbiwgLi4uKSJ9KQorKworK0B0 YXNrKGFsaWFzZXM9WyJvcGVuIl0sCisrICAgIGhlbHA9eyJsYW5ndWFnZSI6ICJMYW5ndWFnZSB0 byB1c2UgKGVuLCAuLi4pIn0KKyspCisgZGVmIGJyb3dzZShjdHgsIGxhbmd1YWdlPU5vbmUpOgor ICAgICAiIiJPcGVuIGRvY3VtZW50YXRpb24gaW4gd2ViIGJyb3dzZXIuIiIiCisgICAgIG91dHB1 dF9kaXIgPSBfc3BoaW54ZG9jX2dldF9kZXN0ZGlyKGN0eCwgImh0bWwiLCBsYW5ndWFnZT1sYW5n dWFnZSkKK0BAIC0xODIsNiArMjEwLDcgQEAgZGVmIHVwZGF0ZV90cmFuc2xhdGlvbihjdHgsIGxh bmd1YWdlPSJhbGwiKToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbmFtZXNwYWNlID0gQ29s bGVjdGlvbihjbGVhbiwgcmVidWlsZCwgbGlua2NoZWNrLCBicm93c2UsIHNhdmUsIHVwZGF0ZV90 cmFuc2xhdGlvbikKKyBuYW1lc3BhY2UuYWRkX3Rhc2soYnVpbGQsIGRlZmF1bHQ9VHJ1ZSkKKytu YW1lc3BhY2UuYWRkX3Rhc2soYXV0b2J1aWxkKQorIG5hbWVzcGFjZS5jb25maWd1cmUoeworICAg ICAic3BoaW54IjogeworICAgICAgICAgIyAtLSBGT1IgVEFTS1M6IGRvY3MuYnVpbGQsIGRvY3Mu cmVidWlsZCwgZG9jcy5jbGVhbiwgLi4uCitkaWZmIC0tZ2l0IGEvdGFza3MvaW52b2tlX2NsZWFu dXAucHkgYi90YXNrcy9pbnZva2VfY2xlYW51cC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAuLjRlNjMxYzQKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rhc2tzL2ludm9rZV9j bGVhbnVwLnB5CitAQCAtMCwwICsxLDQ0NyBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisr IiIiCisrUHJvdmlkZXMgY2xlYW51cCB0YXNrcyBmb3IgaW52b2tlIGJ1aWxkIHNjcmlwdHMgKGFz IGdlbmVyaWMgaW52b2tlIHRhc2tsZXQpLgorK1NpbXBsaWZpZXMgd3JpdGluZyBjb21tb24sIGNv bXBvc2FibGUgYW5kIGV4dGVuZGFibGUgY2xlYW51cCB0YXNrcy4KKysKKytQWVRIT04gUEFDS0FH RSBERVBFTkRFTkNJRVM6CisrCisrKiBwYXRoIChweXRob24gPj0gMy41KSBvciBwYXRoLnB5ID49 IDExLjUuMCAoYXMgcGF0aC1vYmplY3QgYWJzdHJhY3Rpb24pCisrKiBwYXRobGliIChmb3IgYW50 LWxpa2Ugd2lsZGNhcmQgcGF0dGVybnM7IHNpbmNlOiBweXRob24gPiAzLjUpCisrKiBweWNtZCAo cmVxdWlyZWQtYnk6IGNsZWFuX3B5dGhvbigpKQorKworKworK2NsZWFudXAgdGFzazogQWRkIEFk ZGl0aW9uYWwgRGlyZWN0b3JpZXMgYW5kIEZpbGVzIHRvIGJlIHJlbW92ZWQKKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrCisrQ3JlYXRlIGFuIGludm9rZSBjb25maWd1cmF0aW9uIGZpbGUgKFlB TUwgb2YgSlNPTikgd2l0aCB0aGUgYWRkaXRpb25hbAorK2NvbmZpZ3VyYXRpb24gZGF0YToKKysK KysuLiBjb2RlLWJsb2NrOjogeWFtbAorKworKyAgICAjIC0tIEZJTEU6IGludm9rZS55YW1sCisr ICAgICMgVVNFOiBjbGVhbnVwLmRpcmVjdG9yaWVzLCBjbGVhbnVwLmZpbGVzIHRvIG92ZXJyaWRl IGN1cnJlbnQgY29uZmlndXJhdGlvbi4KKysgICAgY2xlYW51cDoKKysgICAgICAgICMgZGlyZWN0 b3JpZXM6IERlZmF1bHQgZGlyZWN0b3J5IHBhdHRlcm5zIChjYW4gYmUgb3ZlcndyaXR0ZW4pLgor KyAgICAgICAgIyBmaWxlczogICAgICAgRGVmYXVsdCBmaWxlIHBhdHRlcm5zICAgICAgKGNhbiBi ZSBvdmV3cml0dGVuKS4KKysgICAgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorKyAgICAgICAgICAg IC0gKiovdG1wLworKyAgICAgICAgZXh0cmFfZmlsZXM6CisrICAgICAgICAgICAgLSAqKi8qLmxv ZworKyAgICAgICAgICAgIC0gKiovKi5iYWsKKysKKysKKytSZWdpc3RyYXRpb24gb2YgQ2xlYW51 cCBUYXNrcworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK090aGVyIHRhc2sg bW9kdWxlcyBvZnRlbiBoYXZlIGFuIG93biBjbGVhbnVwIHRhc2sgdG8gcmVjb3ZlciB0aGUgY2xl YW4gc3RhdGUuCisrVGhlIDptZXRoOmBjbGVhbnVwYCB0YXNrLCB0aGF0IGlzIHByb3ZpZGVkIGhl cmUsIHN1cHBvcnRzIHRoZSByZWdpc3RyYXRpb24KKytvZiBhZGRpdGlvbmFsIGNsZWFudXAgdGFz a3MuIFRoZXJlZm9yZSwgd2hlbiB0aGUgOm1ldGg6YGNsZWFudXBgIHRhc2sgaXMgZXhlY3V0ZWQs CisrYWxsIHJlZ2lzdGVyZWQgY2xlYW51cCB0YXNrcyB3aWxsIGJlIGV4ZWN1dGVkLgorKworK0VY QU1QTEU6OgorKworKyAgICAjIC0tIEZJTEU6IHRhc2tzL2RvY3MucHkKKysgICAgZnJvbSBfX2Z1 dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKysgICAgZnJvbSBpbnZva2UgaW1wb3J0IHRh c2ssIENvbGxlY3Rpb24KKysgICAgZnJvbSBpbnZva2VfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90 YXNrcywgY2xlYW51cF9kaXJzCisrCisrICAgIEB0YXNrCisrICAgIGRlZiBjbGVhbihjdHgpOgor KyAgICAgICAgIkNsZWFudXAgZ2VuZXJhdGVkIGRvY3VtZW50YXRpb24gYXJ0aWZhY3RzLiIKKysg ICAgICAgIGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1bi5kcnkKKysgICAgICAgIGNsZWFudXBfZGly cyhbImJ1aWxkL2RvY3MiXSwgZHJ5X3J1bj1kcnlfcnVuKQorKworKyAgICBuYW1lc3BhY2UgPSBD b2xsZWN0aW9uKGNsZWFuKQorKyAgICAuLi4KKysKKysgICAgIyAtLSBSRUdJU1RFUiBDTEVBTlVQ IFRBU0s6CisrICAgIGNsZWFudXBfdGFza3MuYWRkX3Rhc2soY2xlYW4sICJjbGVhbl9kb2NzIikK KysgICAgY2xlYW51cF90YXNrcy5jb25maWd1cmUobmFtZXNwYWNlLmNvbmZpZ3VyYXRpb24oKSkK KysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRf ZnVuY3Rpb24KKytpbXBvcnQgb3MKKytpbXBvcnQgc3lzCisrZnJvbSBpbnZva2UgaW1wb3J0IHRh c2ssIENvbGxlY3Rpb24KKytmcm9tIGludm9rZS5leGVjdXRvciBpbXBvcnQgRXhlY3V0b3IKKytm cm9tIGludm9rZS5leGNlcHRpb25zIGltcG9ydCBFeGl0LCBGYWlsdXJlLCBVbmV4cGVjdGVkRXhp dAorK2Zyb20gaW52b2tlLnV0aWwgaW1wb3J0IGNkCisrZnJvbSBwYXRoIGltcG9ydCBQYXRoCisr CisrIyAtLSBQWVRIT04gQkFDS1dBUkQgQ09NUEFUSUJJTElUWToKKytweXRob25fdmVyc2lvbiA9 IHN5cy52ZXJzaW9uX2luZm9bOjJdCisrcHl0aG9uMzUgPSAoMywgNSkgICAjIEhJTlQ6IHB5dGhv bjMuOCBkb2VzIG5vdCByYWlzZSBPU0Vycm9ycy4KKytpZiBweXRob25fdmVyc2lvbiA8IHB5dGhv bjM1OiAgICMgbm9xYQorKyAgICBpbXBvcnQgcGF0aGxpYjIgYXMgcGF0aGxpYgorK2Vsc2U6Cisr ICAgIGltcG9ydCBwYXRobGliICAgICAgICAgICAgICAjIG5vcWEKKysKKysKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrIyBDT05TVEFOVFM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK1ZF UlNJT04gPSAiMC4zLjYiCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ0xFQU5V UCBVVElMSVRJRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiBleGVjdXRlX2NsZWFu dXBfdGFza3MoY3R4LCBjbGVhbnVwX3Rhc2tzLCB3b3JrZGlyPSIuIiwgdmVyYm9zZT1GYWxzZSk6 CisrICAgICIiIkV4ZWN1dGUgc2V2ZXJhbCBjbGVhbnVwIHRhc2tzIGFzIHBhcnQgb2YgdGhlIGNs ZWFudXAuCisrCisrICAgIDpwYXJhbSBjdHg6ICAgICAgICAgICAgIENvbnRleHQgb2JqZWN0IGZv ciB0aGUgdGFza3MuCisrICAgIDpwYXJhbSBjbGVhbnVwX3Rhc2tzOiAgIENvbGxlY3Rpb24gb2Yg Y2xlYW51cCB0YXNrcyAoYXMgQ29sbGVjdGlvbikuCisrICAgICIiIgorKyAgICAjIHB5bGludDog ZGlzYWJsZT1yZWRlZmluZWQtb3V0ZXItbmFtZQorKyAgICBleGVjdXRvciA9IEV4ZWN1dG9yKGNs ZWFudXBfdGFza3MsIGN0eC5jb25maWcpCisrICAgIGZhaWx1cmVfY291bnQgPSAwCisrICAgIHdp dGggY2Qod29ya2RpcikgYXMgY3dkOgorKyAgICAgICAgZm9yIGNsZWFudXBfdGFzayBpbiBjbGVh bnVwX3Rhc2tzLnRhc2tzOgorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgcHJp bnQoIkNMRUFOVVAgVEFTSzogJXMiICUgY2xlYW51cF90YXNrKQorKyAgICAgICAgICAgICAgICBl eGVjdXRvci5leGVjdXRlKGNsZWFudXBfdGFzaykKKysgICAgICAgICAgICBleGNlcHQgKEV4aXQs IEZhaWx1cmUsIFVuZXhwZWN0ZWRFeGl0KSBhcyBlOgorKyAgICAgICAgICAgICAgICBwcmludChl KQorKyAgICAgICAgICAgICAgICBwcmludCgiRkFJTFVSRSBpbiBDTEVBTlVQIFRBU0s6ICVzIChH UkFDRUZVTExZLUlHTk9SRUQpIiAlIGNsZWFudXBfdGFzaykKKysgICAgICAgICAgICAgICAgZmFp bHVyZV9jb3VudCArPSAxCisrCisrICAgIGlmIGZhaWx1cmVfY291bnQ6CisrICAgICAgICBwcmlu dCgiQ0xFQU5VUCBUQVNLUzogJWQgZmFpbHVyZShzKSBvY2N1cmVkIiAlIGZhaWx1cmVfY291bnQp CisrCisrCisrZGVmIG1ha2VfZXhjbHVkZWQoZXhjbHVkZWQsIGNvbmZpZ19kaXI9Tm9uZSwgd29y a2Rpcj1Ob25lKToKKysgICAgd29ya2RpciA9IHdvcmtkaXIgb3IgUGF0aC5nZXRjd2QoKQorKyAg ICBjb25maWdfZGlyID0gY29uZmlnX2RpciBvciB3b3JrZGlyCisrICAgIHdvcmtkaXIgPSBQYXRo KHdvcmtkaXIpCisrICAgIGNvbmZpZ19kaXIgPSBQYXRoKGNvbmZpZ19kaXIpCisrCisrICAgIGV4 Y2x1ZGVkMiA9IFtdCisrICAgIGZvciBwIGluIGV4Y2x1ZGVkOgorKyAgICAgICAgYXNzZXJ0IHAs ICJSRVFVSVJFOiBub24tZW1wdHkiCisrICAgICAgICBwID0gUGF0aChwKQorKyAgICAgICAgaWYg cC5pc2FicygpOgorKyAgICAgICAgICAgIGV4Y2x1ZGVkMi5hcHBlbmQocC5ub3JtcGF0aCgpKQor KyAgICAgICAgZWxzZToKKysgICAgICAgICAgICAjIC0tIFJFTEFUSVZFIFBBVEg6CisrICAgICAg ICAgICAgIyBEZXNjcmliZWQgcmVsYXRpdmUgdG8gY29uZmlnX2Rpci4KKysgICAgICAgICAgICAj IFJlY29tcHV0ZSBpdCByZWxhdGl2ZSB0byBjdXJyZW50IHdvcmtkaXIuCisrICAgICAgICAgICAg cCA9IFBhdGgoY29uZmlnX2RpcikvcAorKyAgICAgICAgICAgIHAgPSB3b3JrZGlyLnJlbHBhdGh0 byhwKQorKyAgICAgICAgICAgIGV4Y2x1ZGVkMi5hcHBlbmQocC5ub3JtcGF0aCgpKQorKyAgICAg ICAgICAgIGV4Y2x1ZGVkMi5hcHBlbmQocC5hYnNwYXRoKCkpCisrICAgIHJldHVybiBzZXQoZXhj bHVkZWQyKQorKworKworK2RlZiBpc19kaXJlY3RvcnlfZXhjbHVkZWQoZGlyZWN0b3J5LCBleGNs dWRlZCk6CisrICAgIGRpcmVjdG9yeSA9IFBhdGgoZGlyZWN0b3J5KS5ub3JtcGF0aCgpCisrICAg IGRpcmVjdG9yeTIgPSBkaXJlY3RvcnkuYWJzcGF0aCgpCisrICAgIGlmIChkaXJlY3RvcnkgaW4g ZXhjbHVkZWQpIG9yIChkaXJlY3RvcnkyIGluIGV4Y2x1ZGVkKToKKysgICAgICAgIHJldHVybiBU cnVlCisrICAgICMgLS0gT1RIRVJXSVNFOgorKyAgICByZXR1cm4gRmFsc2UKKysKKysKKytkZWYg Y2xlYW51cF9kaXJzKHBhdHRlcm5zLCB3b3JrZGlyPSIuIiwgZXhjbHVkZWQ9Tm9uZSwKKysgICAg ICAgICAgICAgICAgIGRyeV9ydW49RmFsc2UsIHZlcmJvc2U9RmFsc2UsIHNob3dfc2tpcHBlZD1G YWxzZSk6CisrICAgICIiIlJlbW92ZSBkaXJlY3RvcmllcyAoYW5kIHRoZWlyIGNvbnRlbnRzKSBy ZWN1cnNpdmVseS4KKysgICAgU2tpcHMgcmVtb3ZhbCBpZiBkaXJlY3RvcmllcyBkb2VzIG5vdCBl eGlzdC4KKysKKysgICAgOnBhcmFtIHBhdHRlcm5zOiAgICBEaXJlY3RvcnkgbmFtZSBwYXR0ZXJu cywgbGlrZSAiKiovdG1wKiIgKGFzIGxpc3QpLgorKyAgICA6cGFyYW0gd29ya2RpcjogICAgIEN1 cnJlbnQgd29yayBkaXJlY3RvcnkgKGRlZmF1bHQ9Ii4iKQorKyAgICA6cGFyYW0gZHJ5X3J1bjog ICAgIERyeS1ydW4gbW9kZSBpbmRpY2F0b3IgKGFzIGJvb2wpLgorKyAgICAiIiIKKysgICAgZXhj bHVkZWQgPSBleGNsdWRlZCBvciBbXQorKyAgICBleGNsdWRlZCA9IHNldChbUGF0aChwKSBmb3Ig cCBpbiBleGNsdWRlZF0pCisrICAgIHNob3dfc2tpcHBlZCA9IHNob3dfc2tpcHBlZCBvciB2ZXJi b3NlCisrICAgIGN1cnJlbnRfZGlyID0gUGF0aCh3b3JrZGlyKQorKyAgICBweXRob25fYmFzZWRp ciA9IFBhdGgoUGF0aChzeXMuZXhlY3V0YWJsZSkuZGlybmFtZSgpKS5qb2lucGF0aCgiLi4iKS5h YnNwYXRoKCkKKysgICAgd2FybjJfY291bnRlciA9IDAKKysgICAgZm9yIGRpcl9wYXR0ZXJuIGlu IHBhdHRlcm5zOgorKyAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiBwYXRoX2dsb2IoZGlyX3BhdHRl cm4sIGN1cnJlbnRfZGlyKToKKysgICAgICAgICAgICBpZiBpc19kaXJlY3RvcnlfZXhjbHVkZWQo ZGlyZWN0b3J5LCBleGNsdWRlZCk6CisrICAgICAgICAgICAgICAgIHByaW50KCJTS0lQLURJUjog JXMgKGV4Y2x1ZGVkKSIgJSBkaXJlY3RvcnkpCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisr ICAgICAgICAgICAgZGlyZWN0b3J5MiA9IGRpcmVjdG9yeS5hYnNwYXRoKCkKKysgICAgICAgICAg ICBpZiBzeXMuZXhlY3V0YWJsZS5zdGFydHN3aXRoKGRpcmVjdG9yeTIpOgorKyAgICAgICAgICAg ICAgICAjIC0tIFBST1RFQ1QgVklSVFVBTCBFTlZJUk9OTUVOVCAoY3VycmVudGx5IGluIHVzZSk6 CisrICAgICAgICAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKKysgICAg ICAgICAgICAgICAgcHJpbnQoIlNLSVAtU1VJQ0lERTogJyVzJyBjb250YWlucyBjdXJyZW50IHB5 dGhvbiBleGVjdXRhYmxlIiAlIGRpcmVjdG9yeSkKKysgICAgICAgICAgICAgICAgY29udGludWUK KysgICAgICAgICAgICBlbGlmIGRpcmVjdG9yeTIuc3RhcnRzd2l0aChweXRob25fYmFzZWRpcik6 CisrICAgICAgICAgICAgICAgICMgLS0gUFJPVEVDVCBWSVJUVUFMIEVOVklST05NRU5UIChjdXJy ZW50bHkgaW4gdXNlKToKKysgICAgICAgICAgICAgICAgIyBISU5UOiBMaW1pdCBub2lzZSBpbiBE SUFHTk9TVElDIE9VVFBVVCB0byBYIG1lc3NhZ2VzLgorKyAgICAgICAgICAgICAgICBpZiB3YXJu Ml9jb3VudGVyIDw9IDQ6ICAjIG5vcWEKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJTS0lQ LVNVSUNJREU6ICclcyciICUgZGlyZWN0b3J5KQorKyAgICAgICAgICAgICAgICB3YXJuMl9jb3Vu dGVyICs9IDEKKysgICAgICAgICAgICAgICAgY29udGludWUKKysKKysgICAgICAgICAgICBpZiBu b3QgZGlyZWN0b3J5LmlzZGlyKCk6CisrICAgICAgICAgICAgICAgIGlmIHNob3dfc2tpcHBlZDoK KysgICAgICAgICAgICAgICAgICAgIHByaW50KCJSTVRSRUU6ICVzIChTS0lQUEVEOiBOb3QgYSBk aXJlY3RvcnkpIiAlIGRpcmVjdG9yeSkKKysgICAgICAgICAgICAgICAgY29udGludWUKKysKKysg ICAgICAgICAgICBpZiBkcnlfcnVuOgorKyAgICAgICAgICAgICAgICBwcmludCgiUk1UUkVFOiAl cyAoZHJ5LXJ1bikiICUgZGlyZWN0b3J5KQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAg ICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgICAgICMgLS0gTUFZQkU6IGRpcmVjdG9yeS5y bXRyZWUoaWdub3JlX2Vycm9ycz1UcnVlKQorKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlJN VFJFRTogJXMiICUgZGlyZWN0b3J5KQorKyAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5LnJt dHJlZV9wKCkKKysgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKysgICAgICAg ICAgICAgICAgICAgIHByaW50KCJSTVRSRUUtRkFJTEVEOiAlcyAoZm9yOiAlcykiICUgKGUsIGRp cmVjdG9yeSkpCisrCisrCisrZGVmIGNsZWFudXBfZmlsZXMocGF0dGVybnMsIHdvcmtkaXI9Ii4i LCBkcnlfcnVuPUZhbHNlLCB2ZXJib3NlPUZhbHNlLCBzaG93X3NraXBwZWQ9RmFsc2UpOgorKyAg ICAiIiJSZW1vdmUgZmlsZXMgb3IgZmlsZXMgc2VsZWN0ZWQgYnkgZmlsZSBwYXR0ZXJucy4KKysg ICAgU2tpcHMgcmVtb3ZhbCBpZiBmaWxlIGRvZXMgbm90IGV4aXN0LgorKworKyAgICA6cGFyYW0g cGF0dGVybnM6ICAgIEZpbGUgcGF0dGVybnMsIGxpa2UgIioqLyoucHljIiAoYXMgbGlzdCkuCisr ICAgIDpwYXJhbSB3b3JrZGlyOiAgICAgQ3VycmVudCB3b3JrIGRpcmVjdG9yeSAoZGVmYXVsdD0i LiIpCisrICAgIDpwYXJhbSBkcnlfcnVuOiAgICAgRHJ5LXJ1biBtb2RlIGluZGljYXRvciAoYXMg Ym9vbCkuCisrICAgICIiIgorKyAgICBzaG93X3NraXBwZWQgPSBzaG93X3NraXBwZWQgb3IgdmVy Ym9zZQorKyAgICBjdXJyZW50X2RpciA9IFBhdGgod29ya2RpcikKKysgICAgcHl0aG9uX2Jhc2Vk aXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFibGUpLmRpcm5hbWUoKSkuam9pbnBhdGgoIi4uIiku YWJzcGF0aCgpCisrICAgIGVycm9yX21lc3NhZ2UgPSBOb25lCisrICAgIGVycm9yX2NvdW50ID0g MAorKyAgICBmb3IgZmlsZV9wYXR0ZXJuIGluIHBhdHRlcm5zOgorKyAgICAgICAgZm9yIGZpbGVf IGluIHBhdGhfZ2xvYihmaWxlX3BhdHRlcm4sIGN1cnJlbnRfZGlyKToKKysgICAgICAgICAgICBp ZiBmaWxlXy5hYnNwYXRoKCkuc3RhcnRzd2l0aChweXRob25fYmFzZWRpcik6CisrICAgICAgICAg ICAgICAgICMgLS0gUFJPVEVDVCBWSVJUVUFMIEVOVklST05NRU5UIChjdXJyZW50bHkgaW4gdXNl KToKKysgICAgICAgICAgICAgICAgY29udGludWUKKysgICAgICAgICAgICBpZiBub3QgZmlsZV8u aXNmaWxlKCk6CisrICAgICAgICAgICAgICAgIGlmIHNob3dfc2tpcHBlZDoKKysgICAgICAgICAg ICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVzIChTS0lQUEVEOiBOb3QgYSBmaWxlKSIgJSBmaWxl XykKKysgICAgICAgICAgICAgICAgY29udGludWUKKysKKysgICAgICAgICAgICBpZiBkcnlfcnVu OgorKyAgICAgICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAlcyAoZHJ5LXJ1bikiICUgZmlsZV8p CisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgcHJpbnQoIlJFTU9WRTogJXMi ICUgZmlsZV8pCisrICAgICAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgICAgIGZp bGVfLnJlbW92ZV9wKCkKKysgICAgICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGU6Cisr ICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIiVzOiAlcyIgJSAoZS5fX2NsYXNzX18uX19u YW1lX18sIGUpCisrICAgICAgICAgICAgICAgICAgICBwcmludChtZXNzYWdlICsgIiBiYXNlZGly OiAiKyBweXRob25fYmFzZWRpcikKKysgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvdW50ICs9 IDEKKysgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBlcnJvcl9tZXNzYWdlOgorKyAgICAgICAg ICAgICAgICAgICAgICAgIGVycm9yX21lc3NhZ2UgPSBtZXNzYWdlCisrICAgIGlmIEZhbHNlIGFu ZCBlcnJvcl9tZXNzYWdlOiAjIG5vcWEKKysgICAgICAgIGNsYXNzIENsZWFudXBFcnJvcihSdW50 aW1lRXJyb3IpOgorKyAgICAgICAgICAgIHBhc3MKKysgICAgICAgIHJhaXNlIENsZWFudXBFcnJv cihlcnJvcl9tZXNzYWdlKQorKworKworK2RlZiBwYXRoX2dsb2IocGF0dGVybiwgY3VycmVudF9k aXI9Tm9uZSk6CisrICAgICIiIlVzZSBwYXRobGliIGZvciBhbnQtbGlrZSBwYXR0ZXJucywgbGlr ZTogIioqLyoucHkiCisrCisrICAgIDpwYXJhbSBwYXR0ZXJuOiAgICAgIEZpbGUvZGlyZWN0b3J5 IHBhdHRlcm4gdG8gdXNlIChhcyBzdHJpbmcpLgorKyAgICA6cGFyYW0gY3VycmVudF9kaXI6ICBD dXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IChhcyBQYXRoLCBwYXRobGliLlBhdGgsIHN0cikKKysg ICAgOnJldHVybiBSZXNvbHZlZCBQYXRoIChhcyBwYXRoLlBhdGgpLgorKyAgICAiIiIKKysgICAg aWYgbm90IGN1cnJlbnRfZGlyOiAjIG5vcWEKKysgICAgICAgIGN1cnJlbnRfZGlyID0gcGF0aGxp Yi5QYXRoLmN3ZCgpCisrICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoY3VycmVudF9kaXIsIHBhdGhs aWIuUGF0aCk6CisrICAgICAgICAjIC0tIENBU0U6IHN0cmluZywgcGF0aC5QYXRoIChzdHJpbmct bGlrZSkKKysgICAgICAgIGN1cnJlbnRfZGlyID0gcGF0aGxpYi5QYXRoKHN0cihjdXJyZW50X2Rp cikpCisrCisrICAgIHBhdHRlcm5fcGF0aCA9IFBhdGgocGF0dGVybikKKysgICAgaWYgcGF0dGVy bl9wYXRoLmlzYWJzKCk6CisrICAgICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogUGF0aC5nbG9iKCkg b25seSBzdXBwb3J0cyByZWxhdGl2ZS1wYXRoKHMpIC8gcGF0dGVybihzKS4KKysgICAgICAgIGlm IHBhdHRlcm5fcGF0aC5pc2RpcigpOgorKyAgICAgICAgICAgIHlpZWxkIHBhdHRlcm5fcGF0aAor KyAgICAgICAgcmV0dXJuCisrCisrICAgICMgLS0gSElOVDogT1NFcnJvciBpcyBubyBsb25nZXIg cmFpc2VkIGluIHBhdGhsaWIyIG9yIHB5dGhvbjM1LnBhdGhsaWIKKysgICAgIyB0cnk6CisrICAg IGZvciBwIGluIGN1cnJlbnRfZGlyLmdsb2IocGF0dGVybik6CisrICAgICAgICB5aWVsZCBQYXRo KHN0cihwKSkKKysgICAgIyBleGNlcHQgT1NFcnJvciBhcyBlOgorKyAgICAjICAgICAjIC0tIENP Uk5FUi1DQVNFIDE6IHguZ2xvYihwYXR0ZXJuKSBtYXkgZmFpbCB3aXRoOgorKyAgICAjICAgICAj IE9TRXJyb3I6IFtFcnJubyAxM10gUGVybWlzc2lvbiBkZW5pZWQ6IDxmaWxlbmFtZT4KKysgICAg IyAgICAgIyBISU5UOiBEaXJlY3RvcnkgbGFja3MgZXhjdXRhYmxlIHBlcm1pc3Npb25zIGZvciB0 cmF2ZXJzYWwuCisrICAgICMgICAgICMgLS0gQ09STkVSLUNBU0UgMjogc3ltbGlua2VkIGVuZGxl c3MgbG9vcAorKyAgICAjICAgICAjIE9TRXJyb3I6IFtFcnJubyA2Ml0gVG9vIG1hbnkgbGV2ZWxz IG9mIHN5bWJvbGljIGxpbmtzOiA8ZmlsZW5hbWU+CisrICAgICMgICAgIHByaW50KCJ7MH06IHsx fSIuZm9ybWF0KGUuX19jbGFzc19fLl9fbmFtZV9fLCBlKSkKKysKKysKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrIyBHRU5FUklDIENMRUFOVVAgVEFTS1M6CisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorK0B0YXNrKGhlbHA9eworKyAgICAid29ya2RpciI6ICJEaXJlY3RvcnkgdG8gY2xlYW4o dXApIChkZWZhdWx0OiAkQ1dEKS4iLAorKyAgICAidmVyYm9zZSI6ICJFbmFibGUgdmVyYm9zZSBt b2RlIChkZWZhdWx0OiBPRkYpLiIsCisrfSkKKytkZWYgY2xlYW4oY3R4LCB3b3JrZGlyPSIuIiwg dmVyYm9zZT1GYWxzZSk6CisrICAgICIiIkNsZWFudXAgdGVtcG9yYXJ5IGRpcnMvZmlsZXMgdG8g cmVnYWluIGEgY2xlYW4gc3RhdGUuIiIiCisrICAgIGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1bi5k cnkKKysgICAgY29uZmlnX2RpciA9IGdldGF0dHIoY3R4LmNvbmZpZywgImNvbmZpZ19kaXIiLCB3 b3JrZGlyKQorKyAgICBkaXJlY3RvcmllcyA9IGxpc3QoY3R4LmNvbmZpZy5jbGVhbnVwLmRpcmVj dG9yaWVzIG9yIFtdKQorKyAgICBkaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVw LmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBmaWxlcyA9IGxpc3QoY3R4LmNvbmZpZy5j bGVhbnVwLmZpbGVzIG9yIFtdKQorKyAgICBmaWxlcy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVw LmV4dHJhX2ZpbGVzIG9yIFtdKQorKyAgICBleGNsdWRlZF9kaXJlY3RvcmllcyA9IGxpc3QoY3R4 LmNvbmZpZy5jbGVhbnVwLmV4Y2x1ZGVkX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBleGNsdWRl ZF9kaXJlY3RvcmllcyA9IG1ha2VfZXhjbHVkZWQoZXhjbHVkZWRfZGlyZWN0b3JpZXMsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfZGlyPWNvbmZpZ19k aXIsIHdvcmtkaXI9Ii4iKQorKworKyAgICAjIC0tIFBFUkZPUk0gQ0xFQU5VUDoKKysgICAgZXhl Y3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51cF90YXNrcykKKysgICAgY2xlYW51cF9kaXJz KGRpcmVjdG9yaWVzLCB3b3JrZGlyPXdvcmtkaXIsIGV4Y2x1ZGVkPWV4Y2x1ZGVkX2RpcmVjdG9y aWVzLAorKyAgICAgICAgICAgICAgICAgZHJ5X3J1bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2Up CisrICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIHdvcmtkaXI9d29ya2RpciwgZHJ5X3J1bj1kcnlf cnVuLCB2ZXJib3NlPXZlcmJvc2UpCisrCisrICAgICMgLS0gQ09ORklHVVJBQkxFIEVYVEVOU0lP Ti1QT0lOVDoKKysgICAgIyB1c2VfY2xlYW51cF9weXRob24gPSBjdHguY29uZmlnLmNsZWFudXAu dXNlX2NsZWFudXBfcHl0aG9uIG9yIEZhbHNlCisrICAgICMgaWYgdXNlX2NsZWFudXBfcHl0aG9u OgorKyAgICAjICAgICBjbGVhbl9weXRob24oY3R4KQorKworKworK0B0YXNrKG5hbWU9ImFsbCIs IGFsaWFzZXM9KCJkaXN0Y2xlYW4iLCksCisrICAgICAgaGVscD17CisrICAgICAgICAid29ya2Rp ciI6ICJEaXJlY3RvcnkgdG8gY2xlYW4odXApIChkZWZhdWx0OiAkQ1dEKS4iLAorKyAgICAgICAg InZlcmJvc2UiOiAiRW5hYmxlIHZlcmJvc2UgbW9kZSAoZGVmYXVsdDogT0ZGKS4iLAorK30pCisr ZGVmIGNsZWFuX2FsbChjdHgsIHdvcmtkaXI9Ii4iLCB2ZXJib3NlPUZhbHNlKToKKysgICAgIiIi Q2xlYW4gdXAgZXZlcnl0aGluZywgZXZlbiB0aGUgcHJlY2lvdXMgc3R1ZmYuCisrICAgIE5PVEU6 IGNsZWFuIHRhc2sgaXMgZXhlY3V0ZWQgbGFzdC4KKysgICAgIiIiCisrICAgIGRyeV9ydW4gPSBj dHguY29uZmlnLnJ1bi5kcnkKKysgICAgY29uZmlnX2RpciA9IGdldGF0dHIoY3R4LmNvbmZpZywg ImNvbmZpZ19kaXIiLCB3b3JrZGlyKQorKyAgICBkaXJlY3RvcmllcyA9IGxpc3QoY3R4LmNvbmZp Zy5jbGVhbnVwX2FsbC5kaXJlY3RvcmllcyBvciBbXSkKKysgICAgZGlyZWN0b3JpZXMuZXh0ZW5k KGN0eC5jb25maWcuY2xlYW51cF9hbGwuZXh0cmFfZGlyZWN0b3JpZXMgb3IgW10pCisrICAgIGZp bGVzID0gbGlzdChjdHguY29uZmlnLmNsZWFudXBfYWxsLmZpbGVzIG9yIFtdKQorKyAgICBmaWxl cy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVwX2FsbC5leHRyYV9maWxlcyBvciBbXSkKKysgICAg ZXhjbHVkZWRfZGlyZWN0b3JpZXMgPSBsaXN0KGN0eC5jb25maWcuY2xlYW51cF9hbGwuZXhjbHVk ZWRfZGlyZWN0b3JpZXMgb3IgW10pCisrICAgIGV4Y2x1ZGVkX2RpcmVjdG9yaWVzLmV4dGVuZChj dHguY29uZmlnLmNsZWFudXAuZXhjbHVkZWRfZGlyZWN0b3JpZXMgb3IgW10pCisrICAgIGV4Y2x1 ZGVkX2RpcmVjdG9yaWVzID0gbWFrZV9leGNsdWRlZChleGNsdWRlZF9kaXJlY3RvcmllcywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ19kaXI9Y29uZmln X2Rpciwgd29ya2Rpcj0iLiIpCisrCisrICAgICMgLS0gUEVSRk9STSBDTEVBTlVQOgorKyAgICAj IEhJTlQ6IFJlbW92ZSBub3cgZGlyZWN0b3JpZXMsIGZpbGVzIGZpcnN0IGJlZm9yZSBjbGVhbnVw LXRhc2tzLgorKyAgICBjbGVhbnVwX2RpcnMoZGlyZWN0b3JpZXMsIHdvcmtkaXI9d29ya2Rpciwg ZXhjbHVkZWQ9ZXhjbHVkZWRfZGlyZWN0b3JpZXMsCisrICAgICAgICAgICAgICAgICBkcnlfcnVu PWRyeV9ydW4sIHZlcmJvc2U9dmVyYm9zZSkKKysgICAgY2xlYW51cF9maWxlcyhmaWxlcywgd29y a2Rpcj13b3JrZGlyLCBkcnlfcnVuPWRyeV9ydW4sIHZlcmJvc2U9dmVyYm9zZSkKKysgICAgZXhl Y3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51cF9hbGxfdGFza3MpCisrICAgIGNsZWFuKGN0 eCwgd29ya2Rpcj13b3JrZGlyLCB2ZXJib3NlPXZlcmJvc2UpCisrCisrICAgICMgLS0gQ09ORklH VVJBQkxFIEVYVEVOU0lPTi1QT0lOVDoKKysgICAgIyB1c2VfY2xlYW51cF9weXRob24xID0gY3R4 LmNvbmZpZy5jbGVhbnVwLnVzZV9jbGVhbnVwX3B5dGhvbiBvciBGYWxzZQorKyAgICAjIHVzZV9j bGVhbnVwX3B5dGhvbjIgPSBjdHguY29uZmlnLmNsZWFudXBfYWxsLnVzZV9jbGVhbnVwX3B5dGhv biBvciBGYWxzZQorKyAgICAjIGlmIHVzZV9jbGVhbnVwX3B5dGhvbjIgYW5kIG5vdCB1c2VfY2xl YW51cF9weXRob24xOgorKyAgICAjICAgICBjbGVhbl9weXRob24oY3R4KQorKworKworK0B0YXNr KGFsaWFzZXM9WyJweXRob24iXSkKKytkZWYgY2xlYW5fcHl0aG9uKGN0eCwgd29ya2Rpcj0iLiIs IHZlcmJvc2U9RmFsc2UpOgorKyAgICAiIiJDbGVhbnVwIHB5dGhvbiByZWxhdGVkIGZpbGVzL2Rp cnM6ICoucHljLCAqLnB5bywgLi4uIiIiCisrICAgIGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1bi5k cnkgb3IgRmFsc2UKKysgICAgIyBNQVlCRSBOT1Q6ICIqKi9fX3B5Y2FjaGVfXyIKKysgICAgY2xl YW51cF9kaXJzKFsiYnVpbGQiLCAiZGlzdCIsICIqLmVnZy1pbmZvIiwgIioqL19fcHljYWNoZV9f Il0sCisrICAgICAgICAgICAgICAgICB3b3JrZGlyPXdvcmtkaXIsIGRyeV9ydW49ZHJ5X3J1biwg dmVyYm9zZT12ZXJib3NlKQorKyAgICBpZiBub3QgZHJ5X3J1bjoKKysgICAgICAgIGN0eC5ydW4o InB5LmNsZWFudXAiKQorKyAgICBjbGVhbnVwX2ZpbGVzKFsiKiovKi5weWMiLCAiKiovKi5weW8i LCAiKiovKiRweS5jbGFzcyJdLAorKyAgICAgICAgICAgICAgICAgIHdvcmtkaXI9d29ya2Rpciwg ZHJ5X3J1bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2UpCisrCisrCisrQHRhc2soaGVscD17Cisr ICAgICJwYXRoIjogIlBhdGggdG8gY2xlYW51cC4iLAorKyAgICAiaW50ZXJhY3RpdmUiOiAiRW5h YmxlIGludGVyYWN0aXZlIG1vZGUuIiwKKysgICAgImZvcmNlIjogIkVuYWJsZSBmb3JjZSBtb2Rl LiIsCisrICAgICJvcHRpb25zIjogIkFkZGl0aW9uYWwgZ2l0LWNsZWFuIG9wdGlvbnMiLAorK30p CisrZGVmIGdpdF9jbGVhbihjdHgsIHBhdGg9Tm9uZSwgaW50ZXJhY3RpdmU9RmFsc2UsIGZvcmNl PUZhbHNlLAorKyAgICAgICAgICAgICAgZHJ5X3J1bj1GYWxzZSwgb3B0aW9ucz1Ob25lKToKKysg ICAgIiIiUGVyZm9ybSBnaXQtY2xlYW4gY29tbWFuZCB0byBjbGVhbnVwIHRoZSB3b3JrdHJlZSBv ZiBhIGdpdCByZXBvc2l0b3J5LgorKworKyAgICBCRVdBUkU6IFRoaXMgbWF5IHJlbW92ZSBhbnkg cHJlY2lvdXMgZmlsZXMgdGhhdCBhcmUgbm90IGNoZWNrZWQgaW4uCisrICAgIFdBUk5JTkc6IERB TkdFUk9VUyBDT01NQU5ELgorKyAgICAiIiIKKysgICAgYXJncyA9IFtdCisrICAgIGZvcmNlID0g Zm9yY2Ugb3IgY3R4LmNvbmZpZy5naXRfY2xlYW4uZm9yY2UKKysgICAgcGF0aCA9IHBhdGggb3Ig Y3R4LmNvbmZpZy5naXRfY2xlYW4ucGF0aCBvciAiLiIKKysgICAgaW50ZXJhY3RpdmUgPSBpbnRl cmFjdGl2ZSBvciBjdHguY29uZmlnLmdpdF9jbGVhbi5pbnRlcmFjdGl2ZQorKyAgICBkcnlfcnVu ID0gZHJ5X3J1biBvciBjdHguY29uZmlnLnJ1bi5kcnkgb3IgY3R4LmNvbmZpZy5naXRfY2xlYW4u ZHJ5X3J1bgorKworKyAgICBpZiBpbnRlcmFjdGl2ZToKKysgICAgICAgIGFyZ3MuYXBwZW5kKCIt LWludGVyYWN0aXZlIikKKysgICAgaWYgZm9yY2U6CisrICAgICAgICBhcmdzLmFwcGVuZCgiLS1m b3JjZSIpCisrICAgIGlmIGRyeV9ydW46CisrICAgICAgICBhcmdzLmFwcGVuZCgiLS1kcnktcnVu IikKKysgICAgYXJncy5hcHBlbmQob3B0aW9ucyBvciAiIikKKysgICAgYXJncyA9ICIgIi5qb2lu KGFyZ3MpLnN0cmlwKCkKKysKKysgICAgY3R4LnJ1bigiZ2l0IGNsZWFuIHtvcHRpb25zfSB7cGF0 aH0iLmZvcm1hdChvcHRpb25zPWFyZ3MsIHBhdGg9cGF0aCkpCisrCisrCisrIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKyMgVEFTSyBDT05GSUdVUkFUSU9OOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKytDTEVBTlVQX0VNUFRZX0NPTkZJRyA9IHsKKysgICAgImRpcmVjdG9yaWVzIjogW10sCisr ICAgICJmaWxlcyI6IFtdLAorKyAgICAiZXh0cmFfZGlyZWN0b3JpZXMiOiBbXSwKKysgICAgImV4 dHJhX2ZpbGVzIjogW10sCisrICAgICJleGNsdWRlZF9kaXJlY3RvcmllcyI6IFtdLAorKyAgICAi ZXhjbHVkZWRfZmlsZXMiOiBbXSwKKysgICAgInVzZV9jbGVhbnVwX3B5dGhvbiI6IEZhbHNlLAor K30KKytkZWYgbWFrZV9jbGVhbnVwX2NvbmZpZygqKmt3YXJncyk6CisrICAgIGNvbmZpZ19kYXRh ID0gQ0xFQU5VUF9FTVBUWV9DT05GSUcuY29weSgpCisrICAgIGNvbmZpZ19kYXRhLnVwZGF0ZShr d2FyZ3MpCisrICAgIHJldHVybiBjb25maWdfZGF0YQorKworKworK25hbWVzcGFjZSA9IENvbGxl Y3Rpb24oY2xlYW5fYWxsLCBjbGVhbl9weXRob24pCisrbmFtZXNwYWNlLmFkZF90YXNrKGNsZWFu LCBkZWZhdWx0PVRydWUpCisrbmFtZXNwYWNlLmFkZF90YXNrKGdpdF9jbGVhbikKKytuYW1lc3Bh Y2UuY29uZmlndXJlKHsKKysgICAgImNsZWFudXAiOiBtYWtlX2NsZWFudXBfY29uZmlnKAorKyAg ICAgICAgZmlsZXM9WyIqKi8qLmJhayIsICIqKi8qLmxvZyIsICIqKi8qLnRtcCIsICIqKi8uRFNf U3RvcmUiXSwKKysgICAgICAgIGV4Y2x1ZGVkX2RpcmVjdG9yaWVzPVsiLmdpdCIsICIuaGciLCAi LmJ6ciIsICIuc3ZuIl0sCisrICAgICksCisrICAgICJjbGVhbnVwX2FsbCI6IG1ha2VfY2xlYW51 cF9jb25maWcoCisrICAgICAgICBkaXJlY3Rvcmllcz1bIi52ZW52KiIsICIudG94IiwgImRvd25s b2FkcyIsICJ0bXAiXSwKKysgICAgKSwKKysgICAgImdpdF9jbGVhbiI6IHsKKysgICAgICAgICJp bnRlcmFjdGl2ZSI6IFRydWUsCisrICAgICAgICAiZm9yY2UiOiBGYWxzZSwKKysgICAgICAgICJw YXRoIjogIi4iLAorKyAgICAgICAgImRyeV9ydW4iOiBGYWxzZSwKKysgICAgfSwKKyt9KQorKwor KworKyMgLS0gRVhURU5TSU9OLVBPSU5UOiBDTEVBTlVQIFRBU0tTIChjYWxsZWQgYnk6IGNsZWFu LCBjbGVhbl9hbGwgdGFzaykKKysjIE5PVEU6IENhbiBiZSB1c2VkIGJ5IG90aGVyIHRhc2tsZXRz IHRvIHJlZ2lzdGVyIGNsZWFudXAgdGFza3MuCisrY2xlYW51cF90YXNrcyA9IENvbGxlY3Rpb24o ImNsZWFudXBfdGFza3MiKQorK2NsZWFudXBfYWxsX3Rhc2tzID0gQ29sbGVjdGlvbigiY2xlYW51 cF9hbGxfdGFza3MiKQorKworKyMgLS0gRVhURU5EIE5PUk1BTCBDTEVBTlVQLVRBU0tTOgorKyMg RElTQUJMRUQ6IGNsZWFudXBfdGFza3MuYWRkX3Rhc2soY2xlYW5fcHl0aG9uKQorKworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIEVYVEVOU0lPTi1QT0lOVDogQ09ORklHVVJBVElPTiBIRUxQ RVJTOiBDYW4gYmUgdXNlZCBmcm9tIG90aGVyIHRhc2sgbW9kdWxlcworKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKytkZWYgY29uZmlnX2FkZF9jbGVhbnVwX2RpcnMoZGlyZWN0b3JpZXMpOgorKyAg ICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAgIHRoZV9jbGVhbnVwX2Rp cmVjdG9yaWVzID0gbmFtZXNwYWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbnVwIl1bImRpcmVjdG9y aWVzIl0KKysgICAgdGhlX2NsZWFudXBfZGlyZWN0b3JpZXMuZXh0ZW5kKGRpcmVjdG9yaWVzKQor KworK2RlZiBjb25maWdfYWRkX2NsZWFudXBfZmlsZXMoZmlsZXMpOgorKyAgICAjIHB5bGludDog ZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAgIHRoZV9jbGVhbnVwX2ZpbGVzID0gbmFtZXNw YWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbnVwIl1bImZpbGVzIl0KKysgICAgdGhlX2NsZWFudXBf ZmlsZXMuZXh0ZW5kKGZpbGVzKQorKyAgICAjIG5hbWVzcGFjZS5jb25maWd1cmUoeyJjbGVhbnVw IjogeyJmaWxlcyI6IGZpbGVzfX0pCisrICAgICMgcHJpbnQoIkRJQUcgY2xlYW51cC5jb25maWcu Y2xlYW51cDogJXIiICUgbmFtZXNwYWNlLmNvbmZpZ3VyYXRpb24oKSkKKysKKytkZWYgY29uZmln X2FkZF9jbGVhbnVwX2FsbF9kaXJzKGRpcmVjdG9yaWVzKToKKysgICAgIyBweWxpbnQ6IGRpc2Fi bGU9cHJvdGVjdGVkLWFjY2VzcworKyAgICB0aGVfY2xlYW51cF9kaXJlY3RvcmllcyA9IG5hbWVz cGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW51cF9hbGwiXVsiZGlyZWN0b3JpZXMiXQorKyAgICB0 aGVfY2xlYW51cF9kaXJlY3Rvcmllcy5leHRlbmQoZGlyZWN0b3JpZXMpCisrCisrZGVmIGNvbmZp Z19hZGRfY2xlYW51cF9hbGxfZmlsZXMoZmlsZXMpOgorKyAgICAjIHB5bGludDogZGlzYWJsZT1w cm90ZWN0ZWQtYWNjZXNzCisrICAgIHRoZV9jbGVhbnVwX2ZpbGVzID0gbmFtZXNwYWNlLl9jb25m aWd1cmF0aW9uWyJjbGVhbnVwX2FsbCJdWyJmaWxlcyJdCisrICAgIHRoZV9jbGVhbnVwX2ZpbGVz LmV4dGVuZChmaWxlcykKK2RpZmYgLS1naXQgYS90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IGIv dGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAoraW5kZXggOWM4MmQxMS4uYWMxOWU5NCAxMDA2NDQK Ky0tLSBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKKysrKyBiL3Rhc2tzL3B5LnJlcXVpcmVt ZW50cy50eHQKK0BAIC0xMyw4ICsxMyw4IEBAIHB5Y21kCisgc2l4PT0xLjE1LjAKKyAKKyAjIC0t IEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1l ZCBmb3IgcHl0aG9uMykKKy1wYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMu NScKKyBwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKKytwYXRoLnB5 ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKyAKKyAjIC0tIFBZVEhPTjIgQkFD S1BPUlRTOgorIHBhdGhsaWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnCitkaWZmIC0tZ2l0 IGEvdGFza3MvcmVsZWFzZS5weSBiL3Rhc2tzL3JlbGVhc2UucHkKK2luZGV4IGRiYTg1YzguLmUx N2E0NmYgMTAwNjQ0CistLS0gYS90YXNrcy9yZWxlYXNlLnB5CisrKysgYi90YXNrcy9yZWxlYXNl LnB5CitAQCAtNTEsNyArNTEsNyBAQCBDb25maWd1cmF0aW9uIGZpbGUgZm9yIHB5cGkgcmVwb3Np dG9yaWVzOgorIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmlu dF9mdW5jdGlvbgorIGZyb20gaW52b2tlIGltcG9ydCBDb2xsZWN0aW9uLCB0YXNrCistZnJvbSAu X3Rhc2tsZXRfY2xlYW51cCBpbXBvcnQgcGF0aF9nbG9iCisrZnJvbSAuaW52b2tlX2NsZWFudXAg aW1wb3J0IHBhdGhfZ2xvYgorIGZyb20gLl9kcnlfcnVuIGltcG9ydCBEcnlSdW5Db250ZXh0Cisg CisgCitkaWZmIC0tZ2l0IGEvdGFza3MvdGVzdC5weSBiL3Rhc2tzL3Rlc3QucHkKK2luZGV4IGJm YTJkODAuLmQ2YjQxODkgMTAwNjQ0CistLS0gYS90YXNrcy90ZXN0LnB5CisrKysgYi90YXNrcy90 ZXN0LnB5CitAQCAtOSw3ICs5LDggQEAgaW1wb3J0IHN5cworIGZyb20gaW52b2tlIGltcG9ydCB0 YXNrLCBDb2xsZWN0aW9uCisgCisgIyAtLSBUQVNLLUxJQlJBUlk6CistZnJvbSAuX3Rhc2tsZXRf Y2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJzLCBjbGVhbnVwX2ZpbGVz CisrIyBQUkVQQVJFRDogZnJvbSBpbnZva2VfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywg Y2xlYW51cF9kaXJzLCBjbGVhbnVwX2ZpbGVzCisrZnJvbSAuaW52b2tlX2NsZWFudXAgaW1wb3J0 IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycywgY2xlYW51cF9maWxlcworIAorIAorICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkxLURvY3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZyb20t YmFzaC10by1jb25zb2xlLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA5MS1Eb2NzLWNoYW5nZS1jb2RlLWJsb2Nrcy1mcm9tLWJhc2gt dG8tY29uc29sZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjgx Y2RhMjY5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTEtRG9jcy1jaGFuZ2UtY29kZS1ibG9ja3MtZnJvbS1i YXNoLXRvLWNvbnNvbGUucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSBiMGI0ZmM0YTgwNTg4 MDc1NjY4NzEwYjcwMDY5ZjA2ZmUyOTY4N2VhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogRGFuaWVsIExlbW0gPDYxODAwMjk4K2ZmZTRAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogRnJpLCAyNiBKdW4gMjAyMCAxMToyNzoxMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBE b2NzOiBjaGFuZ2UgY29kZSBibG9ja3MgZnJvbSBiYXNoIHRvIGNvbnNvbGUKKworLS0tCisgUkVB RE1FLnJzdCAgICAgICAgICAgICAgfCAyICstCisgZG9jcy9wcmFjdGljYWxfdGlwcy5yc3QgfCAy ICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9SRUFETUUucnN0IGIvUkVBRE1FLnJzdAoraW5kZXggNGE5MDVhYi4uMjJi MDM1MiAxMDA2NDQKKy0tLSBhL1JFQURNRS5yc3QKKysrKyBiL1JFQURNRS5yc3QKK0BAIC03Niw3 ICs3Niw3IEBAIEluIHRoYXQgZGlyZWN0b3J5IGNyZWF0ZSBhIGZpbGUgY2FsbGVkICJleGFtcGxl X3N0ZXBzLnB5IiBjb250YWluaW5nOgorIAorIFJ1biBiZWhhdmU6CisgCistLi4gY29kZS1ibG9j azo6IGJhc2gKKysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorIAorICAgICAkIGJlaGF2ZQorICAg ICBGZWF0dXJlOiBTaG93aW5nIG9mZiBiZWhhdmUgIyBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmU6 MgorZGlmZiAtLWdpdCBhL2RvY3MvcHJhY3RpY2FsX3RpcHMucnN0IGIvZG9jcy9wcmFjdGljYWxf dGlwcy5yc3QKK2luZGV4IGI3MDU2OWYuLjc1YmM3MzYgMTAwNjQ0CistLS0gYS9kb2NzL3ByYWN0 aWNhbF90aXBzLnJzdAorKysrIGIvZG9jcy9wcmFjdGljYWxfdGlwcy5yc3QKK0BAIC0zMCw3ICsz MCw3IEBAIEZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIGZlYXR1cmUgZmlsZXMg aW4gdGhlIHNhbWUgZGlyZWN0b3J5IGZvcgorIHRlc3RpbmcgdGhlIG1vZGVsIGxheWVyIGFuZCB0 aGUgVUkgbGF5ZXIsIHRoaXMgY2FuIGJlIGRvbmUgYnkgdXNpbmcgdGhlCisgYGAtLXN0YWdlYGAg b3B0aW9uLCBsaWtlIHdpdGg6CisgCistLi4gY29kZS1ibG9jazo6IGJhc2gKKysuLiBjb2RlLWJs b2NrOjogY29uc29sZQorIAorICAgICAkIGJlaGF2ZSAtLXN0YWdlPW1vZGVsIGZlYXR1cmVzLwor ICAgICAkIGJlaGF2ZSAtLXN0YWdlPXVpICAgIGZlYXR1cmVzLyAgIyBOT1RFOiBOb3JtYWxseSB1 c2VkIG9uIGEgc3Vic2V0IG9mIGZlYXR1cmVzLgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Mi1GaXgtdHlwby1pbi10dXRv cmlhbC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwOTItRml4LXR5cG8taW4tdHV0b3JpYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi45ZDAzYjMwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkyLUZpeC10eXBv LWluLXR1dG9yaWFsLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZTdkMzRlMjBiNzhmNzNi YzQ2MzdjOGQ2MDcyMjE1YWIxYzE1MWFkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IEFsZXggTWNMYXJ0eSA8YWxleGptY2xhcnR5QGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTIgSnVs IDIwMTkgMDg6MjI6MzEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHR5cG8gaW4gdHV0b3Jp YWwKKworLS0tCisgZG9jcy90dXRvcmlhbC5yc3QgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy90dXRv cmlhbC5yc3QgYi9kb2NzL3R1dG9yaWFsLnJzdAoraW5kZXggMDRiMmY2My4uMjc2OThhNCAxMDA2 NDQKKy0tLSBhL2RvY3MvdHV0b3JpYWwucnN0CisrKysgYi9kb2NzL3R1dG9yaWFsLnJzdAorQEAg LTE1Nyw4ICsxNTcsOCBAQCBiYXNpYyBhY3Rpb25zLiBZb3UgbWF5IHVzZSBhIFNjZW5hcmlvIE91 dGxpbmUgdG8gYWNoaWV2ZSB0aGlzOgorIAorICAgU2NlbmFyaW8gT3V0bGluZTogQmxlbmRlcnMK KyAgICAgIEdpdmVuIEkgcHV0IDx0aGluZz4gaW4gYSBibGVuZGVyLAorLSAgICAgIHdoZW4gSSBz d2l0Y2ggdGhlIGJsZW5kZXIgb24KKy0gICAgICB0aGVuIGl0IHNob3VsZCB0cmFuc2Zvcm0gaW50 byA8b3RoZXIgdGhpbmc+CisrICAgICAgV2hlbiBJIHN3aXRjaCB0aGUgYmxlbmRlciBvbgorKyAg ICAgIFRoZW4gaXQgc2hvdWxkIHRyYW5zZm9ybSBpbnRvIDxvdGhlciB0aGluZz4KKyAKKyAgICBF eGFtcGxlczogQW1waGliaWFucworICAgICAgfCB0aGluZyAgICAgICAgIHwgb3RoZXIgdGhpbmcg fApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA5My1weS5yZXF1aXJlbWVudHMtVXNlLVB5SGFtY3Jlc3QtMi4wLWZvci1weXRo b24yLjcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDkzLXB5LnJlcXVpcmVtZW50cy1Vc2UtUHlIYW1jcmVzdC0yLjAtZm9yLXB5dGhv bjIuNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI0NGZkNDRl NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwOTMtcHkucmVxdWlyZW1lbnRzLVVzZS1QeUhhbWNyZXN0LTIuMC1m b3ItcHl0aG9uMi43LnBhdGNoCkBAIC0wLDAgKzEsODAgQEAKK0Zyb20gNTUwZDkxNzJkOTk4M2U1 NzEzYWFjNWYxZTZlMmJjZWE5OTllZmNjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAx IERlYyAyMDIwIDIzOjE5OjUxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHB5LnJlcXVpcmVtZW50 czogVXNlIFB5SGFtY3Jlc3QgPCAyLjAgZm9yIHB5dGhvbjIuNworCistLS0KKyBpc3N1ZS5mZWF0 dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IHwgMyArKy0KKyBweS5yZXF1aXJlbWVudHMvY2kudG94 LnR4dCAgICAgICAgIHwgNiArKysrLS0KKyBweS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCAg ICAgIHwgNyArKysrKy0tCisgcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0ICAgICAgICB8IDYg KysrKy0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dCBiL2lz c3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKK2luZGV4IDZlM2NmODMuLmY4YTJmOGQg MTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CisrKysgYi9p c3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CitAQCAtOCw0ICs4LDUgQEAKKyAjCisg IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisgCistUHlIYW1jcmVzdCA9PSAyLjAuMgorK1B5SGFtY3Jl c3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisrUHlIYW1jcmVzdCA8ICAyLjA7 ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv Y2kudG94LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CitpbmRleCAyMGFlNzkxLi41 YmVlNTI0IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKKysrKyBiL3B5 LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CitAQCAtNCw5ICs0LDExIEBACisgCisgcHl0ZXN0IDwg IDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49 IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKy1weXRlc3QtaHRtbCA+PSAxLjE5LjAKKysK KytweXRlc3QtaHRtbCA+PSAxLjE5LjAsPDIuMAorIG1vY2sgPj0gMi4wCistUHlIYW1jcmVzdCA9 PSAyLjAuMgorK1B5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisr UHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyAKKyAjIC0tIEhJ TlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBm b3IgcHl0aG9uMykKKyBwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScK K2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVt ZW50cy9jaS50cmF2aXMudHh0CitpbmRleCBjNjk0NDVjLi4zNzIxMTZhIDEwMDY0NAorLS0tIGEv cHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50 cmF2aXMudHh0CitAQCAtMSwxMSArMSwxNCBAQAorICMgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICMg UFlUSE9OIFBBQ0tBR0UgUkVRVUlSRU1FTlRTIEZPUjogYmVoYXZlIC0tIGNpLnRyYXZpcy50eHQK KyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKysKKyBweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lv biA8ICAnMy4wJworIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCistcHl0 ZXN0LWh0bWwgPj0gMS4xOS4wCisrCisrcHl0ZXN0LWh0bWwgPj0gMS4xOS4wLDwyLjAKKyBtb2Nr ICA+PSAyLjAKKy1QeUhhbWNyZXN0ID09IDIuMC4yCisrUHlIYW1jcmVzdCA+PSAyLjAuMjsgcHl0 aG9uX3ZlcnNpb24gPj0gJzMuMCcKKytQeUhhbWNyZXN0IDwgIDIuMDsgICBweXRob25fdmVyc2lv biA8ICAnMy4wJworIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBj b25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYK K2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgYi9weS5yZXF1aXJlbWVu dHMvdGVzdGluZy50eHQKK2luZGV4IGQzYmNhMTguLmZjOGZkODIgMTAwNjQ0CistLS0gYS9weS5y ZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4 dAorQEAgLTYsOSArNiwxMSBAQAorICMgUFJFUEFSRUQtRlVUVVJFOiBiZWhhdmU0Y21kMCwgYmVo YXZlNGNtZAorIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0 ID49IDQuMgorIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCistcHl0ZXN0 LWh0bWwgPj0gMS4xOS4wCisrCisrcHl0ZXN0LWh0bWwgPj0gMS4xOS4wLDwyLjAKKyBtb2NrICA+ PSAyLjAKKy1QeUhhbWNyZXN0ID09IDIuMC4yCisrUHlIYW1jcmVzdCA+PSAyLjAuMjsgcHl0aG9u X3ZlcnNpb24gPj0gJzMuMCcKKytQeUhhbWNyZXN0IDwgIDIuMDsgICBweXRob25fdmVyc2lvbiA8 ICAnMy4wJworIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25j ZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwOTQtVVBEQVRFLVBSLTg3Ny13YXMtbWVyZ2VkLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5NC1VUERBVEUtUFItODc3LXdh cy1tZXJnZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wZGI0 MDA5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDk0LVVQREFURS1QUi04Nzctd2FzLW1lcmdlZC5wYXRjaApA QCAtMCwwICsxLDIxIEBACitGcm9tIDc1OTZjOWFmM2FhNWZlNmMwZTI2N2IyNjM1NzQwYjU2MjA0 MTliMGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNSBEZWMgMjAyMCAwMDozMzoyMiAr MDEwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEU6IFBSICM4Nzcgd2FzIG1lcmdlZC4KKworLS0t CisgQ0hBTkdFUy5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKwor ZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGQ3NTgzNjQuLjRl MjBiYjggMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC01 OCw2ICs1OCw3IEBAIE1JTk9SOgorIAorIERPQ1VNRU5UQVRJT046CisgCisrKiBwdWxsICAjODc3 OiBkb2NzOiBBUEkgcmVmZXJlbmNlIC0gQ2FwaXRhbGl6aW5nIFN0ZXAgS2V5d29yZHMgaW4gZXhh bXBsZSAocHJvdmlkZWQgYnk6IElicmlhbjkzKQorICogcHVsbCAgIzczMTogVXBkYXRlIGxpbmtz IHRvIERqYW5nbyBkb2NzIChwcm92aWRlZCBieTogYml0dG5lcikKKyAqIHB1bGwgICM3MjI6IERP QyByZW1vdmUgcmVtYWluaW5nIHB5dGhvbmhvc3RlZCBsaW5rcyAocHJvdmlkZWQgYnk6IGxlc3pl a2hhbnVzeikKKyAqIHB1bGwgICM3MDE6IGJlaGF2ZS9ydW5uZXIucHkgZG9jc3RyaW5ncyAocHJv dmlkZWQgYnk6IHNwaXRHbHVlZCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTUtY2FwaXRhbGl6aW5nLXN0ZXBzLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5 NS1jYXBpdGFsaXppbmctc3RlcHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi4wNTRhYzJjMzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk1LWNhcGl0YWxpemluZy1zdGVwcy5w YXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGI1OWFkMTEzZTYzZDAxZjkwOWRhM2VjNDljNDUz NTljODY5YjM3ZjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBCcmlhbiBJY29jaGVh IDxpYnJpYW45M0BnbWFpbC5jb20+CitEYXRlOiBTdW4sIDE1IE5vdiAyMDIwIDE4OjM1OjE2ICsw MTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhcGl0YWxpemluZyBzdGVwcworCistLS0KKyBkb2NzL2Fw aS5yc3QgfCA4ICsrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvYXBpLnJzdCBiL2RvY3MvYXBpLnJzdAor aW5kZXggNDc2M2FkNi4uNzQ2Mzg2MyAxMDA2NDQKKy0tLSBhL2RvY3MvYXBpLnJzdAorKysrIGIv ZG9jcy9hcGkucnN0CitAQCAtNzQsMTAgKzc0LDEwIEBAIHRoZSBuYW1lIG9mIHRoZWlyIHByZWNl ZGluZyBrZXl3b3JkLCBzbyBnaXZlbiB0aGUgZm9sbG93aW5nIGZlYXR1cmUgZmlsZToKKyAuLiBj b2RlLWJsb2NrOjogZ2hlcmtpbgorIAorICAgICBHaXZlbiBzb21lIGtub3duIHN0YXRlCistICAg ICAgYW5kIHNvbWUgb3RoZXIga25vd24gc3RhdGUKKy0gICAgIHdoZW4gc29tZSBhY3Rpb24gaXMg dGFrZW4KKy0gICAgIHRoZW4gc29tZSBvdXRjb21lIGlzIG9ic2VydmVkCistICAgICAgYnV0IHNv bWUgb3RoZXIgb3V0Y29tZSBpcyBub3Qgb2JzZXJ2ZWQuCisrICAgICAgQW5kIHNvbWUgb3RoZXIg a25vd24gc3RhdGUKKysgICAgIFdoZW4gc29tZSBhY3Rpb24gaXMgdGFrZW4KKysgICAgIFRoZW4g c29tZSBvdXRjb21lIGlzIG9ic2VydmVkCisrICAgICAgQnV0IHNvbWUgb3RoZXIgb3V0Y29tZSBp cyBub3Qgb2JzZXJ2ZWQuCisgCisgdGhlIGZpcnN0ICJhbmQiIHN0ZXAgd2lsbCBiZSByZW5hbWVk IGludGVybmFsbHkgdG8gImdpdmVuIiBhbmQgKmJlaGF2ZSoKKyB3aWxsIGxvb2sgZm9yIGEgc3Rl cCBpbXBsZW1lbnRhdGlvbiBkZWNvcmF0ZWQgd2l0aCBlaXRoZXIgImdpdmVuIiBvciAic3RlcCI6 CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDk2LUZJWC1pbnZva2UtdGFzay1kZXZlbG9wLnVwZGF0ZS1naGVya2luLXRoYXQt YWJvcnRlZC0ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDk2LUZJWC1pbnZva2UtdGFzay1kZXZlbG9wLnVwZGF0ZS1naGVya2luLXRo YXQtYWJvcnRlZC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5k YjY3OGI0MjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk2LUZJWC1pbnZva2UtdGFzay1kZXZlbG9wLnVwZGF0 ZS1naGVya2luLXRoYXQtYWJvcnRlZC0ucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorRnJvbSA5NzY5 Y2I2NzA5NjQxZjZhYmVjZmE1ZThlZWZkMWRiYzIzMjMzZTk5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBGcmksIDExIERlYyAyMDIwIDIwOjUxOjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJ WDogaW52b2tlLXRhc2sgZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbiB0aGF0IGFib3J0ZWQgYWZ0ZXIK KyBkaWZmCisKKyogU2hvdyBub3cgaWYgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGRvZXMgbm90 IGNoYW5nZQorKiBBZGQgLS12ZXJib3NlIG9wdGlvbiB0byBzaG93IGRpZmYgb3V0cHV0IGlmIGZp bGUgaGFzIGNoYW5nZWQKKy0tLQorIHRhc2tzL2RldmVsb3AucHkgfCAxOSArKysrKysrKysrKysr KystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CisKK2RpZmYgLS1naXQgYS90YXNrcy9kZXZlbG9wLnB5IGIvdGFza3MvZGV2ZWxvcC5weQoraW5k ZXggOWEyMTM2My4uZWI1ZmVkZCAxMDA2NDQKKy0tLSBhL3Rhc2tzL2RldmVsb3AucHkKKysrKyBi L3Rhc2tzL2RldmVsb3AucHkKK0BAIC05LDYgKzksNyBAQCBmcm9tIGludm9rZS51dGlsIGltcG9y dCBjZAorIGZyb20gcGF0aCBpbXBvcnQgUGF0aAorIGltcG9ydCByZXF1ZXN0cworIAorKworICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIENPTlNUQU5UUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCitAQCAtMTgsOCArMTksOCBAQCBHSEVSS0lOX0xBTkdVQUdFU19VUkwgPSAiaHR0cHM6Ly9y YXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyL21hcworICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAjIFRBU0tTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1AdGFz aworLWRlZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRyeV9ydW49RmFsc2UpOgorK0B0YXNrKGFsaWFz ZXM9WyJ1cGRhdGUtbGFuZ3VhZ2VzIl0pCisrZGVmIHVwZGF0ZV9naGVya2luKGN0eCwgZHJ5X3J1 bj1GYWxzZSwgdmVyYm9zZT1GYWxzZSk6CisgICAgICIiIlVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFn ZXMuanNvbiIgZmlsZSBmcm9tIGN1Y3VtYmVyLXJlcG8uCisgCisgICAgICogRG93bmxvYWQgImdo ZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZyb20gY3VjdW1iZXIgcmVwbworQEAgLTQxLDggKzQyLDE4 IEBAIGRlZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRyeV9ydW49RmFsc2UpOgorIAorICAgICAgICAg cHJpbnQoJ0dlbmVyYXRpbmcgImkxOG4ucHkiIC4uLicpCisgICAgICAgICBjdHgucnVuKCIuL2Nv bnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkiKQorLSAgICAgICAgY3R4LnJ1bigiZGlmZiBpMThu LnB5IC4uLy4uL2JlaGF2ZS9pMThuLnB5IikKKy0gICAgICAgIGlmIG5vdCBkcnlfcnVuOgorKwor KyAgICAgICAgIyAtLSBESUZGOiBSZXR1cm5zIG5vcm1hbGx5IHcvIG5vbi16ZXJvIGV4aXRjb2Rl ID0+IE5FRURTOiB3YXJuPVRydWUKKysgICAgICAgIGxhbmd1YWdlc19oYXZlX2NoYW5nZWQgPSBG YWxzZQorKyAgICAgICAgcmVzdWx0ID0gY3R4LnJ1bigiZGlmZiBpMThuLnB5IC4uLy4uL2JlaGF2 ZS9pMThuLnB5Iiwgd2Fybj1UcnVlLCBoaWRlPVRydWUpCisrICAgICAgICBsYW5ndWFnZXNfaGF2 ZV9jaGFuZ2VkID0gbm90IHJlc3VsdC5vaworKyAgICAgICAgaWYgdmVyYm9zZSBhbmQgbGFuZ3Vh Z2VzX2hhdmVfY2hhbmdlZDoKKysgICAgICAgICAgICAjIC0tIFNIT1cgRElGRjoKKysgICAgICAg ICAgICBwcmludChyZXN1bHQuc3Rkb3V0KQorKworKyAgICAgICAgaWYgbm90IGxhbmd1YWdlc19o YXZlX2NoYW5nZWQ6CisrICAgICAgICAgICAgcHJpbnQoIk5PX0NIQU5HRUQ6IGdoZXJraW4tbGFu Z3VhZ2VzLmpzb24iKQorKyAgICAgICAgZWxpZiBub3QgZHJ5X3J1bjoKKyAgICAgICAgICAgICBw cmludCgiVXBkYXRpbmcgYmVoYXZlL2kxOG4ucHkgLi4uIikKKyAgICAgICAgICAgICBQYXRoKCJp MThuLnB5IikubW92ZSgiLi4vLi4vYmVoYXZlL2kxOG4ucHkiKQorIApkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0 LWFnYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3LnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFnYWlu c3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uMTU2MzA3M2M4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFn YWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3LnBhdGNoCkBAIC0wLDAgKzEsMjIg QEAKK0Zyb20gZmJjNzMyZWQwZmY2MDdiOGVlZTEyMGZhNmQ4OTIwODk1YTg2OTNlMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHNhbnRvc2g2NTMgPDcwNjM3OTYxK3NhbnRvc2g2NTNA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxNCBEZWMgMjAyMCAxMjowNTo1 MCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBUZXN0IGFnYWluc3QgUG93ZXJQQyBDUFUgc3VwcG9y dCAoVHJhdmlzKSAoIzg2NykKKworUnVuIHRlc3Qgc3VpdGUgYWdhaW5zdCBib3RoIEFNRCBhbmQg UG93ZXJQQyBhcmNoaXRlY3R1cmUKKy0tLQorIC50cmF2aXMueW1sIHwgNCArKysrCisgMSBmaWxl IGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8u dHJhdmlzLnltbAoraW5kZXggNzgxYTYxMC4uMmI3OGQ5NyAxMDA2NDQKKy0tLSBhLy50cmF2aXMu eW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTEsMyArMSw3IEBACisrYXJjaDogCisrICAtIGFt ZDY0CisrICAtIHBwYzY0bGUKKysgIAorIGxhbmd1YWdlOiBweXRob24KKyBzdWRvOiBmYWxzZQor IGRpc3Q6IHhlbmlhbCAgICMgcmVxdWlyZWQgZm9yIFB5dGhvbiA+PSAzLjcKZGlmZiAtLWdpdCBh L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTgt QWRkLUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRlc3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk4LUFkZC1Db250ZXh0LmF0dGFj aC1kb2NzLWFuZC10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uOGZlZTNjODhlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5OC1BZGQtQ29udGV4dC5hdHRhY2gtZG9jcy1h bmQtdGVzdC5wYXRjaApAQCAtMCwwICsxLDEzMiBAQAorRnJvbSBmYWEyODcyMTIyM2Y1ZWI4MTY1 YWJiNmI4ODU5MWMxZWQzYTMzZmE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29y aWpuIHZhbiBHb2xlbiA8ay52YW5nb2xlbkBjbGluaWNhbGdyYXBoaWNzLmNvbT4KK0RhdGU6IFNh dCwgMjggTm92IDIwMjAgMTE6Mzk6MjggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIENvbnRl eHQuYXR0YWNoLCBkb2NzIGFuZCB0ZXN0CisKKy0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvanNvbi5w eSAgICAgICAgfCAgNiArKystLQorIGJlaGF2ZS9ydW5uZXIucHkgICAgICAgICAgICAgICAgfCAx MSArKysrKysrKysKKyBkb2NzL2Zvcm1hdHRlcnMucnN0ICAgICAgICAgICAgIHwgMTggKysrKysr KysrKysrKysKKyBmZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi5mZWF0dXJlIHwgNDIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9qc29u LnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9qc29uLnB5CitpbmRleCA2ZGEwZDU5Li5lZGZlM2Q3IDEw MDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9qc29uLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0 dGVyL2pzb24ucHkKK0BAIC0xNjgsMTAgKzE2OCwxMiBAQCBjbGFzcyBKU09ORm9ybWF0dGVyKEZv cm1hdHRlcik6CisgICAgICAgICBzZWxmLl9zdGVwX2luZGV4ICs9IDEKKyAKKyAgICAgZGVmIGVt YmVkZGluZyhzZWxmLCBtaW1lX3R5cGUsIGRhdGEpOgorLSAgICAgICAgc3RlcCA9IHNlbGYuY3Vy cmVudF9mZWF0dXJlX2VsZW1lbnRbInN0ZXBzIl1bLTFdCisrICAgICAgICBzdGVwID0gc2VsZi5j dXJyZW50X2ZlYXR1cmVfZWxlbWVudFsic3RlcHMiXVtzZWxmLl9zdGVwX2luZGV4XQorKyAgICAg ICAgaWYgImVtYmVkZGluZ3MiIG5vdCBpbiBzdGVwOgorKyAgICAgICAgICAgIHN0ZXBbImVtYmVk ZGluZ3MiXSA9IFtdCisgICAgICAgICBzdGVwWyJlbWJlZGRpbmdzIl0uYXBwZW5kKHsKKyAgICAg ICAgICAgICAibWltZV90eXBlIjogbWltZV90eXBlLAorLSAgICAgICAgICAgICJkYXRhIjogYmFz ZTY0LmI2NGVuY29kZShkYXRhKS5yZXBsYWNlKCJcbiIsICIiKSwKKysgICAgICAgICAgICAiZGF0 YSI6IGJhc2U2NC5iNjRlbmNvZGUoZGF0YSkuZGVjb2RlKHNlbGYuc3RyZWFtLmVuY29kaW5nIG9y ICJ1dGYtOCIpLAorICAgICAgICAgfSkKKyAKKyAgICAgZGVmIGVvZihzZWxmKToKK2RpZmYgLS1n aXQgYS9iZWhhdmUvcnVubmVyLnB5IGIvYmVoYXZlL3J1bm5lci5weQoraW5kZXggZDAxYmZmMC4u YzU4M2NhZiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9ydW5uZXIucHkKKysrKyBiL2JlaGF2ZS9ydW5u ZXIucHkKK0BAIC00NzUsNiArNDc1LDE3IEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAg ICAgICAgICAjIC0tIEFWT0lEIERVUExJQ0FURVM6CisgICAgICAgICAgICAgY3VycmVudF9mcmFt ZVsiQGNsZWFudXBzIl0uYXBwZW5kKGludGVybmFsX2NsZWFudXBfZnVuYykKKyAKKysgICAgZGVm IGF0dGFjaChzZWxmLCBtaW1lX3R5cGUsIGRhdGEpOgorKyAgICAgICAgIiIiRW1iZWRzIGRhdGEg KGUuZy4gYSBzY3JlZW5zaG90KSBpbiByZXBvcnRzIGZvciBhbGwKKysgICAgICAgIGZvcm1hdHRl cnMgdGhhdCBzdXBwb3J0IGl0LCBzdWNoIGFzIHRoZSBKU09OIGZvcm1hdHRlci4KKysKKysgICAg ICAgIDpwYXJhbSBtaW1lX3R5cGU6ICAgICAgIE1JTUUgdHlwZSBvZiB0aGUgYmluYXJ5IGRhdGEu CisrICAgICAgICA6cGFyYW0gZGF0YTogICAgICAgICAgICBCeXRlcy1saWtlIG9iamVjdCB0byBl bWJlZC4KKysgICAgICAgICIiIgorKyAgICAgICAgaXNfY29tcGF0aWJsZSA9IGxhbWJkYSBmOiBo YXNhdHRyKGYsICJlbWJlZGRpbmciKQorKyAgICAgICAgZm9yIGZvcm1hdHRlciBpbiBmaWx0ZXIo aXNfY29tcGF0aWJsZSwgc2VsZi5fcnVubmVyLmZvcm1hdHRlcnMpOgorKyAgICAgICAgICAgIGZv cm1hdHRlci5lbWJlZGRpbmcobWltZV90eXBlLCBkYXRhKQorKworIAorIEBjb250ZXh0bGliLmNv bnRleHRtYW5hZ2VyCisgZGVmIHVzZV9jb250ZXh0X3dpdGhfbW9kZShjb250ZXh0LCBtb2RlKToK K2RpZmYgLS1naXQgYS9kb2NzL2Zvcm1hdHRlcnMucnN0IGIvZG9jcy9mb3JtYXR0ZXJzLnJzdAor aW5kZXggYTQwZmQ4ZC4uNTM0NDY4YSAxMDA2NDQKKy0tLSBhL2RvY3MvZm9ybWF0dGVycy5yc3QK KysrKyBiL2RvY3MvZm9ybWF0dGVycy5yc3QKK0BAIC0xMTYsMyArMTE2LDIxIEBAIHRlYW1jaXR5 ICAgICAgIDpweXBpOmBiZWhhdmUtdGVhbWNpdHlgLCBhIGZvcm1hdHRlciBmb3IgSmV0YnJhaW5z IFRlYW1DaXR5IENJIHRlCisgICAgIFtiZWhhdmUuZm9ybWF0dGVyc10KKyAgICAgYWxsdXJlICAg PSBhbGx1cmVfYmVoYXZlLmZvcm1hdHRlcjpBbGx1cmVGb3JtYXR0ZXIKKyAgICAgdGVhbWNpdHkg PSBiZWhhdmVfdGVhbWNpdHk6VGVhbWNpdHlGb3JtYXR0ZXIKKysKKysKKytFbWJlZGRpbmcgZGF0 YSAoZS5nLiBzY3JlZW5zaG90cykgaW4gcmVwb3J0cworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KworK1lvdSBjYW4gZW1iZWQgZGF0YSBpbiByZXBvcnRzIHdpdGggdGhlIDpjbGFzczpgfmJlaGF2 ZS5ydW5uZXIuQ29udGV4dGAgbWV0aG9kCisrOmZ1bmM6YH5iZWhhdmUucnVubmVyLkNvbnRleHQu YXR0YWNoYCwgaWYgeW91IGhhdmUgY29uZmlndXJlZCBhIGZvcm1hdHRlciB0aGF0Cisrc3VwcG9y dHMgaXQuIEN1cnJlbnRseSBvbmx5IHRoZSBKU09OIGZvcm1hdHRlciBzdXBwb3J0cyBlbWJlZGRp bmcgZGF0YS4KKysKKytGb3IgZXhhbXBsZToKKysKKysuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisr CisrICAgIEB3aGVuKHUnSSBvcGVuIHRoZSBHb29nbGUgd2VicGFnZScpCisrICAgIGRlZiBzdGVw X2ltcGwoY29udGV4dCk6CisrICAgICAgICBjb250ZXh0LmJyb3dzZXIuZ2V0KCdodHRwOi8vd3d3 Lmdvb2dsZS5jb20nKQorKyAgICAgICAgaW1nID0gY29udGV4dC5icm93c2VyLmdldF9mdWxsX3Bh Z2Vfc2NyZWVuc2hvdF9hc19wbmcoKQorKyAgICAgICAgY29udGV4dC5hdHRhY2goImltYWdlL3Bu ZyIsIGltZykKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi5mZWF0dXJlIGIv ZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24uZmVhdHVyZQoraW5kZXggOTZiMjhjNy4uNjdjOTdhZSAx MDA2NDQKKy0tLSBhL2ZlYXR1cmVzL2Zvcm1hdHRlci5qc29uLmZlYXR1cmUKKysrKyBiL2ZlYXR1 cmVzL2Zvcm1hdHRlci5qc29uLmZlYXR1cmUKK0BAIC0zMDksNiArMzA5LDQ4IEBAIEZlYXR1cmU6 IEpTT04gRm9ybWF0dGVyCisgICAgICAgQnV0IG5vdGUgdGhhdCAiYm90aCBtYXRjaGVkIGFyZ3Vt ZW50cy52YWx1ZXMgYXJlIHByb3ZpZGVkIGFzIHN0cmluZyIKKyAKKyAKKysgICAgU2NlbmFyaW86 IFVzZSBKU09OIGZvcm1hdHRlciBhbmQgZW1iZWQgYmluYXJ5IGRhdGEgaW4gcmVwb3J0IGZyb20g dHdvIHN0ZXBzCisrICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9qc29uX2VtYmVk ZGluZ3MuZmVhdHVyZSIgd2l0aDoKKysgICAgICAgICAgIiIiCisrICAgICAgICAgIEZlYXR1cmU6 CisrICAgICAgICAgICAgU2NlbmFyaW86IFVzZSBlbWJlZGRpbmdzCisrICAgICAgICAgICAgICAg IEdpdmVuICJmb29iYXIiIGFzIHBsYWluIHRleHQKKysgICAgICAgICAgICAgICAgQW5kICJyZWQi IGFzIHBsYWluIHRleHQKKysgICAgICAgICAgIiIiCisrICAgICAgQW5kIGEgZmlsZSBuYW1lZCAi ZmVhdHVyZXMvc3RlcHMvanNvbl9lbWJlZGRpbmdzX3N0ZXBzLnB5IiB3aXRoOgorKyAgICAgICAg ICAiIiIKKysgICAgICAgICAgZnJvbSBiZWhhdmUgaW1wb3J0IHN0ZXAKKysKKysgICAgICAgICAg QHN0ZXAoJyJ7ZGF0YX0iIGFzIHBsYWluIHRleHQnKQorKyAgICAgICAgICBkZWYgc3RlcF9zdHJp bmcoY29udGV4dCwgZGF0YSk6CisrICAgICAgICAgICAgICBjb250ZXh0LmF0dGFjaCgidGV4dC9w bGFpbiIsIGRhdGEuZW5jb2RlKCJ1dGYtOCIpKQorKyAgICAgICAgICAiIiIKKysgICAgICBXaGVu IEkgcnVuICJiZWhhdmUgLWYganNvbi5wcmV0dHkgZmVhdHVyZXMvanNvbl9lbWJlZGRpbmdzLmZl YXR1cmUiCisrICAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICAgICAiIiIK KysgICAgICAgICAgMSBmZWF0dXJlIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAg ICAgICAxIHNjZW5hcmlvIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAgICAgICAi IiIKKysgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorKyAgICAg ICAgICAiIiIKKysgICAgICAgICAgICAgICAgICAgICJlbWJlZGRpbmdzIjogWworKyAgICAgICAg ICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAgImRhdGEiOiAiWm05dllt RnkiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJtaW1lX3R5cGUiOiAidGV4dC9wbGFpbiIK KysgICAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgXSwKKysgICAg ICAgICAgIiIiCisrICAgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoK KysgICAgICAgICAgIiIiCisrICAgICAgICAgICAgICAgICAgICAiZW1iZWRkaW5ncyI6IFsKKysg ICAgICAgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjog ImNtVmsiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICJtaW1lX3R5cGUiOiAidGV4dC9wbGFp biIKKysgICAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgXSwKKysg ICAgICAgICAgIiIiCisrCisrCisgICAgIEB4ZmFpbAorICAgICBAcmVncmVzc2lvbl9wcm9ibGVt LndpdGhfZHVyYXRpb24KKyAgICAgU2NlbmFyaW86IFVzZSBKU09OIGZvcm1hdHRlciB3aXRoIGZl YXR1cmUgYW5kIG9uZSBzY2VuYXJpbyB3aXRoIHN0ZXBzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk5LUFkZC1Db250cmli dXRpbmctY2hhcHRlci5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFwdGVyLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMGExMGJkNDI4Ci0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA5OS1BZGQtQ29udHJpYnV0aW5nLWNoYXB0ZXIucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zy b20gNDQ1ZWFjYWZlNTA0ODE1YmMwYmM1NTQ3ZTNiNWU2MGVkZjZiMzhlNCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IFBldGVyIEJpdHRuZXIgPGRqYW5nb0BiaXR0bmVyLml0PgorRGF0 ZTogU2F0LCAxMiBEZWMgMjAyMCAxOTo0NToyNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGQg Q29udHJpYnV0aW5nIGNoYXB0ZXIKKworLS0tCisgZG9jcy9jb25mLnB5ICAgICAgICAgIHwgIDIg Ky0KKyBkb2NzL2NvbnRyaWJ1dGluZy5yc3QgfCA4MiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCisgZG9jcy9pbmRleC5yc3QgICAgICAgIHwgIDEgKworIDMgZmls ZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkb2NzL2NvbnRyaWJ1dGluZy5yc3QKKworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5w eSBiL2RvY3MvY29uZi5weQoraW5kZXggZTU1ZmIyMS4uMTU3OWEzNiAxMDA2NDQKKy0tLSBhL2Rv Y3MvY29uZi5weQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAtMTA4LDcgKzEwOCw3IEBAIGlmIFVT RV9TUEhJTlhfSU5URVJOQVRJT05BTDoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcHJvamVj dCA9IHUiYmVoYXZlIgorIGF1dGhvcnMgPSB1IkplbnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJp Y2hhcmQgSm9uZXMiCistY29weXJpZ2h0ID0gdSIyMDEyLTIwMTksICVzIiAlIGF1dGhvcnMKKytj b3B5cmlnaHQgPSB1IjIwMTItMjAyMCwgJXMiICUgYXV0aG9ycworIAorICMgVGhlIHZlcnNpb24g aW5mbyBmb3IgdGhlIHByb2plY3QgeW91J3JlIGRvY3VtZW50aW5nLCBhY3RzIGFzIHJlcGxhY2Vt ZW50IGZvcgorICMgfHZlcnNpb258IGFuZCB8cmVsZWFzZXwsIGFsc28gdXNlZCBpbiB2YXJpb3Vz IG90aGVyIHBsYWNlcyB0aHJvdWdob3V0IHRoZQorZGlmZiAtLWdpdCBhL2RvY3MvY29udHJpYnV0 aW5nLnJzdCBiL2RvY3MvY29udHJpYnV0aW5nLnJzdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAuLjc4ZjM2YmQKKy0tLSAvZGV2L251bGwKKysrKyBiL2RvY3MvY29udHJpYnV0 aW5nLnJzdAorQEAgLTAsMCArMSw4MiBAQAorK0NvbnRyaWJ1dGluZworKz09PT09PT09PT09PQor KworK0lmIHlvdSBmaW5kIGEgYnVnIHlvdSBjYW4gZml4IG9yIHdhbnQgdG8gY29udHJpYnV0ZSBh biBlbmhhbmNlbWVudCB5b3UncmUKKyt3ZWxjb21lIHRvIGBvcGVuIGFuIGlzc3VlYF8gb24gR2l0 SHViIG9yIGNyZWF0ZSBhIGBwdWxsIHJlcXVlc3RgXyBkaXJlY3RseS4KKysKKysuLiBfb3BlbiBh biBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvaXNzdWVzCisrLi4gX3B1 bGwgcmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvcHVsbHMKKysKKytV c2luZyBgYGludm9rZWBgIGZvciBEZXZlbG9wbWVudAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrCisrRm9yIG1vc3QgZGV2ZWxvcG1lbnQgdGFza3Mgd2UgaGF2ZSBgaW52b2tl YF8gY29tbWFuZHMuCisrCisrSW5zdGFsbCBhbGwgcmVxdWlyZW1lbnRzIGZvciBydW5uaW5nIHRh c2tzIHVzaW5nIFBpcCwgZS5nLgorKworKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisrCisrICAg IHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLXIgdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorKwor K0Rpc3BsYXkgYWxsIGF2YWlsYWJsZSBgYGludm9rZWBgIGNvbW1hbmRzIGxpa2UgdGhpczoKKysK KysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorKworKyAgICBpbnZva2UgLWwKKysKKytJZiB5b3Un cmUgY3VyaW91cywgYWxsIGBgaW52b2tlYGAgdGFza3MgYXJlIGxvY2F0ZWQgaW4gdGhlIGBgdGFz a3MvYGAKKytmb2xkZXIuCisrCisrLi4gX2ludm9rZTogaHR0cHM6Ly93d3cucHlpbnZva2Uub3Jn LworKworK1VwZGF0ZSBHaGVya2luIExhbmd1YWdlIFNwZWNpZmljYXRpb24KKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrQW4gYGBpbnZva2VgYCBjb21tYW5kIHdp bGwgZG93bmxvYWQgdGhlIGxhdGVzdCBHaGVya2luIGxhbmd1YWdlCisrc3BlY2lmaWNhdGlvbiBh bmQgdXBkYXRlIHRoZSBgYmVoYXZlL2kxOG4ucHlgXyBtb2R1bGU6CisrCisrLi4gY29kZS1ibG9j azo6IGNvbnNvbGUKKysKKysgICAgaW52b2tlIGRldmVsb3AudXBkYXRlLWdoZXJraW4KKysKKytJ ZiB0aGVyZSB3ZXJlIGNoYW5nZXMgdGhpcyBjb21tYW5kIHdpbGwgaGF2ZSB1cGRhdGVkIHR3byBm aWxlczoKKysKKysjLiBgYGV0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb25gYCAob3Jp Z2luYWwgQ3VjdW1iZXIgSlNPTiBzcGVjKQorKyMuIGBgYmVoYXZlL2kxOG4ucHlgYCAoUHl0aG9u IG1vZHVsZSBnZW5lcmF0ZWQgZnJvbSB0aGUgSlNPTiBzcGVjKQorKworK1B1dCBib3RoIHVuZGVy IHZlcnNpb24gY29udHJvbCBhbmQgb3BlbiBhIFBSIHRvIG1lcmdlIHRoZW0uCisrCisrLi4gX2Jl aGF2ZS9pMThuLnB5OgorKyAgICBodHRwczovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9ibG9i L21hc3Rlci9iZWhhdmUvaTE4bi5weQorKworK1VwZGF0ZSBEb2N1bWVudGF0aW9uCisrLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysKKytPdXIgZG9jdW1lbnRhdGlvbiBpcyB3cml0dGVuIGluIGByZVN0 cnVjdHVyZWRUZXh0YF8sIGFuZCBidWlsdCBhbmQgaG9zdGVkCisrb24gYFJlYWRUaGVEb2NzYF8u IE1ha2UgeW91ciBjaGFuZ2VzIHRvIHRoZSBmaWxlcyBpbiB0aGUgYGBkb2NzL2BgIGZvbGRlcgor K2FuZCBidWlsZCB0aGUgZG9jdW1lbnRhdGlvbiB3aXRoOgorKworKy4uIGNvZGUtYmxvY2s6OiBj b25zb2xlCisrCisrICAgIGludm9rZSBkb2NzCisrCisrb3IsIGFsdGVybmF0aXZlbHksIHVzaW5n IFRveDoKKysKKysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorKworKyAgICB0b3ggLWUgZG9jcwor KworKy4uIGhpbnQ6OgorKworKyAgICBCdWlsZGluZyB0aGUgZG9jcyByZXF1aXJlcyBTcGhpbngg YW5kIERvY1V0aWxzLiBJZiB5b3VyIGJ1aWxkIGZhaWxzCisrICAgIGJlY2F1c2UgdGhvc2UgYXJl IG1pc3NpbmcsIHJ1bjoKKysKKysgICAgICAgIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLXIgcHku cmVxdWlyZW1lbnRzL2RvY3MudHh0CisrCisrT25jZSB0aGUgZG9jcyBhcmUgYnVpbHQgc3VjY2Vz c2Z1bGx5LCBgYHNwaGlueGBgIHdpbGwgdGVsbCB5b3Ugd2hlcmUgaXQKKytnZW5lcmF0ZWQgdGhl IEhUTUwgb3V0cHV0ICh0eXBpY2FsbHkgYGBidWlsZC9kb2NzL2h0bWxgYCksIHdoaWNoIHlvdSBj YW4KKyt0aGVuIGluc3BlY3QgbG9jYWxseS4KKysKKysuLiBfcmVTdHJ1Y3R1cmVkVGV4dDoKKysg ICAgaHR0cHM6Ly93d3cuc3BoaW54LWRvYy5vcmcvZW4vbWFzdGVyL3VzYWdlL3Jlc3RydWN0dXJl ZHRleHQvYmFzaWNzLmh0bWwKKysuLiBfUmVhZFRoZURvY3M6IGh0dHBzOi8vcmVhZHRoZWRvY3Mu b3JnLworZGlmZiAtLWdpdCBhL2RvY3MvaW5kZXgucnN0IGIvZG9jcy9pbmRleC5yc3QKK2luZGV4 IGYwZGQyMGUuLmUwMDA3OWMgMTAwNjQ0CistLS0gYS9kb2NzL2luZGV4LnJzdAorKysrIGIvZG9j cy9pbmRleC5yc3QKK0BAIC00Myw2ICs0Myw3IEBAIENvbnRlbnRzCisgICAgY29tcGFyaXNvbgor ICAgIG5ld19hbmRfbm90ZXdvcnRoeQorICAgIG1vcmVfaW5mbworKyAgIGNvbnRyaWJ1dGluZwor ICAgIGFwcGVuZGl4CisgCisgLi4gc2VlYWxzbzo6CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAwLUFkYXB0LVRveC10YXJn ZXQtZm9yLWJ1aWxkaW5nLXRoZS1kb2NzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMC1BZGFwdC1Ub3gtdGFyZ2V0LWZvci1idWls ZGluZy10aGUtZG9jcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LjAwMTAyYmFhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDAtQWRhcHQtVG94LXRhcmdldC1mb3ItYnVpbGRp bmctdGhlLWRvY3MucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBjZDBmMTE2ODZlNDcwZDZl MTA3ZTAyYzVlYTNjZWJmNTJhNTNjZTBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog UGV0ZXIgQml0dG5lciA8ZGphbmdvQGJpdHRuZXIuaXQ+CitEYXRlOiBTYXQsIDEyIERlYyAyMDIw IDE5OjQ2OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkYXB0IFRveCB0YXJnZXQgZm9yIGJ1 aWxkaW5nIHRoZSBkb2NzCisKK1RoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgSFRNTCBkb2NzIGluIHRo ZSBzYW1lIGxvY2F0aW9uIGFzIGBpbnZva2UgZG9jc2AuCistLS0KKyB0b3guaW5pIHwgOCArKy0t LS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS90b3guaW5pIGIvdG94LmluaQoraW5kZXggYjgyNTkyMS4uOGNjYjU4YiAx MDA2NDQKKy0tLSBhL3RveC5pbmkKKysrKyBiL3RveC5pbmkKK0BAIC03NywxMiArNzcsOSBAQCBz ZXRlbnYgPQorIAorIAorIFt0ZXN0ZW52OmRvY3NdCistYmFzZXB5dGhvbj0gcHl0aG9uMgorIGNo YW5nZWRpciA9IGRvY3MKKy1jb21tYW5kcz0KKy0gICAgc3BoaW54LWJ1aWxkIC1XIC1iIGh0bWwg LUQgbGFuZ3VhZ2U9ZW4gLWQge2VudnRtcGRpcn0vZG9jdHJlZXMgLiB7ZW52dG1wZGlyfS9odG1s L2VuCistZGVwcz0KKy0gICAgLXJ7dG94aW5pZGlyfS9weS5yZXF1aXJlbWVudHMvZG9jcy50eHQK Kytjb21tYW5kcyA9IHNwaGlueC1idWlsZCAtVyAtYiBodG1sIC1EIGxhbmd1YWdlPWVuIC1kIHt0 b3hpbmlkaXJ9L2J1aWxkL2RvY3MvZG9jdHJlZXMgLiB7dG94aW5pZGlyfS9idWlsZC9kb2NzL2h0 bWwvZW4KKytkZXBzID0gLXJ7dG94aW5pZGlyfS9weS5yZXF1aXJlbWVudHMvZG9jcy50eHQKKyAK KyAKKyBbdGVzdGVudjpjbGVhbnJvb20yXQorQEAgLTE0Niw0ICsxNDMsMyBAQCBjb21tYW5kcz0K KyBkZXBzPQorICAgICBqaXQKKyAgICAge1t0ZXN0ZW52XWRlcHN9CistCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAxLU1l bnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDEtTWVudGlvbi1IVE1M LWZvcm1hdHRlci1pbi1kb2N1bWVudGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uNmI5ZGM5ZmM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMS1NZW50aW9uLUhUTUwt Zm9ybWF0dGVyLWluLWRvY3VtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSw4MyBAQAorRnJvbSAy NzFmOTVhM2ZmOGI3ODQzZWQxMDM0ZWIzMTE1YjI2OTM1YWU5Njk2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogUGV0ZXIgQml0dG5lciA8ZGphbmdvQGJpdHRuZXIuaXQ+CitEYXRlOiBU dWUsIDE1IERlYyAyMDIwIDExOjMwOjE3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIE1lbnRpb24g SFRNTCBmb3JtYXR0ZXIgaW4gZG9jdW1lbnRhdGlvbgorCistLS0KKyBkb2NzL2Zvcm1hdHRlcnMu cnN0IHwgMjMgKysrKysrKysrKysrLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5z ZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2Zvcm1hdHRl cnMucnN0IGIvZG9jcy9mb3JtYXR0ZXJzLnJzdAoraW5kZXggNTM0NDY4YS4uNjA4MGZjNCAxMDA2 NDQKKy0tLSBhL2RvY3MvZm9ybWF0dGVycy5yc3QKKysrKyBiL2RvY3MvZm9ybWF0dGVycy5yc3QK K0BAIC0xLDggKzEsOCBAQAorIC4uIF9pZC5hcHBlbmRpeC5mb3JtYXR0ZXJzOgorIAorLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorKz09PT09PT09PT09PT09PT09PT09PT09PQorIEZvcm1hdHRlcnMg YW5kIFJlcG9ydGVycworLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKz09PT09PT09PT09PT09PT09 PT09PT09PQorIAorIDpweXBpOmBiZWhhdmVgIHByb3ZpZGVzIDIgZGlmZmVyZW50IGNvbmNlcHRz IGZvciByZXBvcnRpbmcgcmVzdWx0cyBvZiBhIHRlc3QgcnVuOgorIAorQEAgLTE1LDcgKzE1LDcg QEAgVGhlIGBgUmVwb3J0ZXJgYCBoYXMgYSBtb3JlIGNvYXJzZS1ncmFpbmVkIEFQSS4KKyAKKyAK KyBSZXBvcnRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKystLS0tLS0tLS0KKyAKKyBUaGUg Zm9sbG93aW5nIHJlcG9ydGVycyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZDoKKyAKK0BAIC0yOCw3 ICsyOCw3IEBAIHN1bW1hcnkgICAgICAgICBQcm92aWRlcyBhIHN1bW1hcnkgb2YgdGhlIHRlc3Qg cnVuLgorIAorIAorIEZvcm1hdHRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKystLS0tLS0t LS0tCisgCisgVGhlIGZvbGxvd2luZyBmb3JtYXR0ZXJzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVk OgorIAorQEAgLTYyLDcgKzYyLDcgQEAgdGFncy5sb2NhdGlvbiAgZHJ5LXJ1biAgU2hvd3MgdGFn cyBhbmQgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZXkgYXJlIHVzZWQuCisgCisgCisgVXNlci1EZWZp bmVkIEZvcm1hdHRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIAorIEJlaGF2ZSBhbGxvd3MgeW91IHRvIHByb3ZpZGUgeW91ciBvd24gZm9ybWF0 dGVyIChjbGFzcyk6OgorIAorQEAgLTk2LDE2ICs5NiwxNiBAQCB0byBwcm92aWRlIHRoZW0uIFRo ZSBmb3JtYXR0ZXIgc2hvdWxkIHVzZSB0aGUgYXR0cmlidXRlIHNjaGVtYToKKyAKKyAKKyBNb3Jl IEZvcm1hdHRlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKystLS0tLS0tLS0tLS0tLS0KKyAK Ky1UaGUgZm9sbG93aW5nIGZvcm1hdHRlcnMgYXJlIGN1cnJlbnRseSBrbm93bjoKKytUaGUgZm9s bG93aW5nIGNvbnRyaWJ1dGVkIGZvcm1hdHRlcnMgYXJlIGN1cnJlbnRseSBrbm93bjoKKyAKKyA9 PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgTmFtZSAgICAgICAgICAgRGVzY3JpcHRp b24KKyA9PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistYWxsdXJlICAgICAgICAgOnB5 cGk6YGFsbHVyZS1iZWhhdmVgLCBhbiBBbGx1cmUgZm9ybWF0dGVyIGZvciBiZWhhdmU6CistICAg ICAgICAgICAgICAgYGBhbGx1cmVfYmVoYXZlLmZvcm1hdHRlcjpBbGx1cmVGb3JtYXR0ZXJgYAor LXRlYW1jaXR5ICAgICAgIDpweXBpOmBiZWhhdmUtdGVhbWNpdHlgLCBhIGZvcm1hdHRlciBmb3Ig SmV0YnJhaW5zIFRlYW1DaXR5IENJIHRlc3RydW5zCisrYWxsdXJlICAgICAgICAgOnB5cGk6YGFs bHVyZS1iZWhhdmVgLCBhbiBBbGx1cmUgZm9ybWF0dGVyIGZvciBiZWhhdmUuCisraHRtbCAgICAg ICAgICAgOnB5cGk6YGJlaGF2ZS1odG1sLWZvcm1hdHRlcmAsIGEgc2ltcGxlIEhUTUwgZm9ybWF0 dGVyIGZvciBiZWhhdmUuCisrdGVhbWNpdHkgICAgICAgOnB5cGk6YGJlaGF2ZS10ZWFtY2l0eWAs IGEgZm9ybWF0dGVyIGZvciBKZXRCcmFpbnMgVGVhbUNpdHkgQ0kgdGVzdHJ1bnMKKyAgICAgICAg ICAgICAgICB3aXRoIGJlaGF2ZS4KKyA9PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisg CitAQCAtMTE0LDcgKzExNCw4IEBAIHRlYW1jaXR5ICAgICAgIDpweXBpOmBiZWhhdmUtdGVhbWNp dHlgLCBhIGZvcm1hdHRlciBmb3IgSmV0YnJhaW5zIFRlYW1DaXR5IENJIHRlCisgICAgICMgLS0g RklMRTogYmVoYXZlLmluaQorICAgICAjIEZPUk1BVFRFUiBBTElBU0VTOiBiZWhhdmUgLWYgYWxs dXJlIC4uLgorICAgICBbYmVoYXZlLmZvcm1hdHRlcnNdCistICAgIGFsbHVyZSAgID0gYWxsdXJl X2JlaGF2ZS5mb3JtYXR0ZXI6QWxsdXJlRm9ybWF0dGVyCisrICAgIGFsbHVyZSA9IGFsbHVyZV9i ZWhhdmUuZm9ybWF0dGVyOkFsbHVyZUZvcm1hdHRlcgorKyAgICBodG1sID0gYmVoYXZlX2h0bWxf Zm9ybWF0dGVyOkhUTUxGb3JtYXR0ZXIKKyAgICAgdGVhbWNpdHkgPSBiZWhhdmVfdGVhbWNpdHk6 VGVhbWNpdHlGb3JtYXR0ZXIKKyAKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDItVXNlLWNvbnNvbGUtaGlnaGxpZ2h0 aW5nLWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMi1Vc2UtY29uc29sZS1oaWdobGlnaHRpbmct Zm9yLXBpcC1pbnN0YWxsLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi5lNTNiODVkODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAyLVVzZS1jb25zb2xlLWhpZ2hsaWdo dGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDBk NzA4YTVhMzgxMTlkOGY4ZWIzNTkxYWZiNDExYWRmZmNlOGQ5ZWQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBQZXRlciBCaXR0bmVyIDxkamFuZ29AYml0dG5lci5pdD4KK0RhdGU6IFR1 ZSwgMTUgRGVjIDIwMjAgMTI6NDQ6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIGNvbnNv bGUgaGlnaGxpZ2h0aW5nIGZvciBgcGlwIGluc3RhbGxgIChkb2NzKQorCistLS0KKyBkb2NzL2Nv bnRyaWJ1dGluZy5yc3QgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQor CitkaWZmIC0tZ2l0IGEvZG9jcy9jb250cmlidXRpbmcucnN0IGIvZG9jcy9jb250cmlidXRpbmcu cnN0CitpbmRleCA3OGYzNmJkLi5mM2RlYjg3IDEwMDY0NAorLS0tIGEvZG9jcy9jb250cmlidXRp bmcucnN0CisrKysgYi9kb2NzL2NvbnRyaWJ1dGluZy5yc3QKK0BAIC03MSw2ICs3MSw4IEBAIG9y LCBhbHRlcm5hdGl2ZWx5LCB1c2luZyBUb3g6CisgICAgIEJ1aWxkaW5nIHRoZSBkb2NzIHJlcXVp cmVzIFNwaGlueCBhbmQgRG9jVXRpbHMuIElmIHlvdXIgYnVpbGQgZmFpbHMKKyAgICAgYmVjYXVz ZSB0aG9zZSBhcmUgbWlzc2luZywgcnVuOgorIAorKyAgICAuLiBjb2RlLWJsb2NrOjogY29uc29s ZQorKworICAgICAgICAgcHl0aG9uMyAtbSBwaXAgaW5zdGFsbCAtciBweS5yZXF1aXJlbWVudHMv ZG9jcy50eHQKKyAKKyBPbmNlIHRoZSBkb2NzIGFyZSBidWlsdCBzdWNjZXNzZnVsbHksIGBgc3Bo aW54YGAgd2lsbCB0ZWxsIHlvdSB3aGVyZSBpdApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMy1kb2NzLWZpeC1zaW1wbGUt dHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMy1kb2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFs LXR1dG9yaWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uN2Ix ZWZhYjNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMy1kb2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1 dG9yaWFsLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Zyb20gZDQ0MjE0MTg5ZmMzNzMzYzE4YmFi YzQzMThmNzU2ODVhZTUyMGQ1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRpbSBH YXRlcyA8dGltLmdhdGVzQGlyZXNzLmNvbT4KK0RhdGU6IFN1biwgMjcgRGVjIDIwMjAgMDg6MTY6 MTYgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9jczogZml4IHNpbXBsZSB0eXBvLCB0dW9yaWFs IC0+IHR1dG9yaWFsCisKK1RoZXJlIGlzIGEgc21hbGwgdHlwbyBpbiBkb2NzL21vcmVfaW5mby5y c3QuCisKK1Nob3VsZCByZWFkIGB0dXRvcmlhbGAgcmF0aGVyIHRoYW4gYHR1b3JpYWxgLgorLS0t CisgZG9jcy9tb3JlX2luZm8ucnN0IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL21vcmVfaW5m by5yc3QgYi9kb2NzL21vcmVfaW5mby5yc3QKK2luZGV4IGQwYjlmY2QuLjBkODdhOWMgMTAwNjQ0 CistLS0gYS9kb2NzL21vcmVfaW5mby5yc3QKKysrKyBiL2RvY3MvbW9yZV9pbmZvLnJzdAorQEAg LTY2LDcgKzY2LDcgQEAgUHJlc2VudGF0aW9uIFZpZGVvcworICogQmVubm8gUmljZTogYE1ha2lu ZyBZb3VyIEFwcGxpY2F0aW9uIEJlaGF2ZWBfICgzMG1pbiksCisgICAyMDEyLTA4LTEyLCBQeUNv biBBdXN0cmFsaWEuCisgCistKiBTZWxlbml1bTogYEZpcnN0IGJlaGF2ZSBweXRob24gdHVvcmlh bCB3aXRoIHNlbGVuaXVtYF8gKDhtaW4pLCAyMDE1LTAxLTI4LAorKyogU2VsZW5pdW06IGBGaXJz dCBiZWhhdmUgcHl0aG9uIHR1dG9yaWFsIHdpdGggc2VsZW5pdW1gXyAoOG1pbiksIDIwMTUtMDEt MjgsCisgICBodHRwOi8vd3d3LnNlbGVuaXVtZnJhbWV3b3JrLmNvbS9weXRob24tYmFzaWMvZmly c3QtYmVoYXZlLWdoZXJraW4vCisgCisgKiBKZXNzaWNhIEluZ3Jhc3NlbGlubzogYEF1dG9tYXRp b24gd2l0aCBQeXRob24gYW5kIEJlaGF2ZWBfICg2N21pbiksIDIwMTUtMTItMTYKK0BAIC04NCw3 ICs4NCw3IEBAIFByZXNlbnRhdGlvbiBWaWRlb3MKKyAgICAgICAgICogQmVubm8gUmljZTogYE1h a2luZyBZb3VyIEFwcGxpY2F0aW9uIEJlaGF2ZWBfICgzMG1pbiksCisgICAgICAgICAgIFB5Q29u IEF1c3RyYWxpYSwgMjAxMi0wOC0xMgorIAorLSAgICAgICAgKiBTZWxlbml1bTogYEZpcnN0IGJl aGF2ZSBweXRob24gdHVvcmlhbCB3aXRoIHNlbGVuaXVtYF8gKDhtaW4pLCAyMDE1LTAxLTI4LAor KyAgICAgICAgKiBTZWxlbml1bTogYEZpcnN0IGJlaGF2ZSBweXRob24gdHV0b3JpYWwgd2l0aCBz ZWxlbml1bWBfICg4bWluKSwgMjAxNS0wMS0yOCwKKyAgICAgICAgICAgaHR0cDovL3d3dy5zZWxl bml1bWZyYW1ld29yay5jb20vcHl0aG9uLWJhc2ljL2ZpcnN0LWJlaGF2ZS1naGVya2luLworIAor ICAgICAgICAgKiBKZXNzaWNhIEluZ3Jhc3NlbGlubzogYEF1dG9tYXRpb24gd2l0aCBQeXRob24g YW5kIEJlaGF2ZWBfICg2N21pbiksIDIwMTUtMTItMTYKK0BAIC0xMTIsNyArMTEyLDcgQEAgUHJl c2VudGF0aW9uIFZpZGVvcworICAgICAgICAgICAgIDp3aWR0aDogNjAwCisgICAgICAgICAgICAg OmhlaWdodDogNDAwCisgCistICAgICAgICBTZWxlbml1bTogYEZpcnN0IGJlaGF2ZSBweXRob24g dHVvcmlhbCB3aXRoIHNlbGVuaXVtYF8KKysgICAgICAgIFNlbGVuaXVtOiBgRmlyc3QgYmVoYXZl IHB5dGhvbiB0dXRvcmlhbCB3aXRoIHNlbGVuaXVtYF8KKyAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorIAorICAgICAgICAgOkRh dGU6IDIwMTUtMDEtMjgKK0BAIC0xNDYsNyArMTQ2LDcgQEAgUHJlc2VudGF0aW9uIFZpZGVvcwor IAorIAorIC4uIF9gTWFraW5nIFlvdXIgQXBwbGljYXRpb24gQmVoYXZlYDogaHR0cHM6Ly93d3cu eW91dHViZS5jb20vd2F0Y2g/dj11OEJPS3VOa21oZworLS4uIF9gRmlyc3QgYmVoYXZlIHB5dGhv biB0dW9yaWFsIHdpdGggc2VsZW5pdW1gOiBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92 PUQyNF9RckdVQ0ZrCisrLi4gX2BGaXJzdCBiZWhhdmUgcHl0aG9uIHR1dG9yaWFsIHdpdGggc2Vs ZW5pdW1gOiBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUQyNF9RckdVQ0ZrCisgLi4g X2BBdXRvbWF0aW9uIHdpdGggUHl0aG9uIGFuZCBCZWhhdmVgOiBodHRwczovL3d3dy55b3V0dWJl LmNvbS93YXRjaD92PWU3OGM3aDZEUkRRCisgLi4gX2BTZWxlbml1bSBQeXRob24gV2ViZHJpdmVy IFR1dG9yaWFsIC0gQmVoYXZlIChCREQpYDogaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/ dj1tZXh0U28wVUV4YworIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5 LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5LXVz aW5nLWFjdGl2ZS10YWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uM2NmYWExYWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45 LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoCkBAIC0wLDAgKzEsMjI3IEBACitGcm9tIDQxNDU4 N2FhOWFjMzQ5OTdjN2ZlYjc3NmY5MTRkZDIzYWFlMGQwNmEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0Rh dGU6IE1vbiwgMTIgT2N0IDIwMjAgMjE6NTI6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRk IHN1cHBvcnQgZm9yIHB5dGhvbjMuOSAoYnkgdXNpbmcgYWN0aXZlLXRhZ3MpLgorCistLS0KKyBm ZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUgfCAyMSArKysrKysrKysrKysrKysrKysr KysKKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSAgfCAgNiArKysrKysKKyBpc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSAgfCAgNCArKysrCisgaXNzdWUuZmVhdHVyZXMv aXNzdWUwNDU3LmZlYXR1cmUgIHwgIDUgKysrKysKKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcu ZmVhdHVyZSAgfCAgMyArKysKKyA1IGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKykKKwor ZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZSBiL2ZlYXR1cmVz L3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQoraW5kZXggM2ExOGZhOS4uMDY3MDlkOSAxMDA2NDQK Ky0tLSBhL2ZlYXR1cmVzL3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMv c3RlcC5hc3luY19zdGVwcy5mZWF0dXJlCitAQCAtMzIsNiArMzIsOSBAQCBGZWF0dXJlOiBBc3lu Yy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBV c2UgYXN5bmMtc3RlcCB3aXRoIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgKGFzeW5jKQorICAg ICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1l ZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNS5weSIgd2l0aDoKK0BAIC02Myw2ICs2Niw5 IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIGFzeW5j LXN0ZXAgd2l0aCBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIChAY29yb3V0aW5lKQorICAgICAg IEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAi ZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5weSIgd2l0aDoKK0BAIC05Myw2ICs5OSw5IEBA IEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorIAorICAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjYKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAg ICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBh bmQgVElNRU9VVCBvY2N1cnMgKGFzeW5jKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGly ZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3Rl cHNfdGltZW91dDM1LnB5IiB3aXRoOgorQEAgLTEyOCw2ICsxMzcsOSBAQCBGZWF0dXJlOiBBc3lu Yy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIEBhc3luY19zdGVw X2ZhaWxzCisgICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQg YXN5bmMtc3RlcCBmYWlscworICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CitA QCAtMTcwLDYgKzE4Miw5IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3Rl cCwgLi4uKQorIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CisgICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu NworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjkKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMKKyAgICAgU2NlbmFyaW86IFVz ZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVwIHJhaXNlcyBlcnJvcgor ICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CitAQCAtMjEzLDYgKzIyOCw5IEBA IEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My40CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIEBhc3luY19y dW5fdW50aWxfY29tcGxldGUodGltZW91dD0uLi4pIGFuZCBUSU1FT1VUIG9jY3VycyAoQGNvcm91 dGluZSkKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBh IGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzX3RpbWVvdXQzNC5weSIgd2l0 aDoKK0BAIC0yNTAsNiArMjY4LDkgQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3lu Yy1zdGVwLCAuLi4pCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjQKKyAgICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAg IFNjZW5hcmlvOiBVc2UgYXN5bmMtZGlzcGF0Y2ggYW5kIGFzeW5jLWNvbGxlY3QgY29uY2VwdHMK KyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUg bmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5IiB3aXRoOgorZGlm ZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlIGIvaXNzdWUuZmVhdHVy ZXMvaXNzdWUwMzMwLmZlYXR1cmUKK2luZGV4IDgxY2I2ZTIuLmJlNGQzNzggMTAwNjQ0CistLS0g YS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMv aXNzdWUwMzMwLmZlYXR1cmUKK0BAIC03MSw2ICs3MSw3IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6 IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1u by1zCisgCisgCisgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICBAbm90LndpdGhf cHl0aG9uLnZlcnNpb249My45CisgICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVk IGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBydW4g ImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIEBhbGljZV9hbmRfYm9iLmZl YXR1cmVzZXQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC04NSw2ICs4Niw3 IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBp biBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgICAgICAgIiIiCisgCisgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My44CisrICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICBT Y2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRo IC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcx IC0tc2hvdy1za2lwcGVkIEBhbGljZV9hbmRfYm9iLmZlYXR1cmVzZXQiCisgICAgIFRoZW4gaXQg c2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC0xMDEsNiArMTAzLDcgQEAgRmVhdHVyZTogSXNzdWUgIzMz MDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAt LW5vLXMKKyAgICAgICAjIDx0ZXN0c3VpdGUgZXJyb3JzPSIwIiBmYWlsdXJlcz0iMCIgbmFtZT0i Ym9iLkJvYiIgc2tpcHBlZD0iMSIgdGVzdHM9IjEiIHRpbWU9IjAuMCI+CisgCisgICBAbm90Lndp dGhfcHl0aG9uLnZlcnNpb249My44CisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45Cisg ICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIG5laXRoZXIg c2hvd24gbm9yIGNvdW50ZWQgd2l0aCAtLW5vLXNraXBwZWQKKyAgICAgV2hlbiBJIHJ1biAiYmVo YXZlIC0tanVuaXQgLXQgQHRhZzEgLS1uby1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBw YXNzIHdpdGg6CitAQCAtMTIxLDYgKzEyNCw3IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBw ZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisg ICAgIEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMgdGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNo YXJseS5mZWF0dXJlIgorIAorICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Ig c2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNob3duIG5vciBjb3VudGVkIHdpdGggLS1uby1z a2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tbm8tc2tp cHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorQEAgLTE0NCw2ICsxNDgsNyBA QCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4g anVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorIAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJz aW9uPTMuOAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1 bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRo IC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcx IC0tc2hvdy1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTY1 LDYgKzE3MCw3IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBp bmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisgCisgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My44CisrICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICBT Y2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIHNob3duIGFuZCBj b3VudGVkIHdpdGggLS1zaG93LXNraXBwZWQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVu aXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0 aDoKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSBiL2lzc3Vl LmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitpbmRleCA5MDFiZGVjLi4xMmRlMzdhIDEwMDY0 NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZl YXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitAQCAtNTksNiArNTksNyBAQCBGZWF0dXJlOiBJc3N1 ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVy CisgICAgICAgICAiIiIKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAg ICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBIb29rIGVycm9y IGluIGJlZm9yZV9zY2VuYXJpbygpCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWlu IC0tanVuaXQgZmVhdHVyZXMvYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAg ICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CitAQCAtODgsNiArODksNyBAQCBGZWF0dXJlOiBJ c3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9y dGVyCisgCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBiZWZv cmVfc2NlbmFyaW8oKQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0 IGZlYXR1cmVzL2JlZm9yZV9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBp dCBzaG91bGQgZmFpbCB3aXRoOgorQEAgLTEyMSw2ICsxMjMsNyBAQCBGZWF0dXJlOiBJc3N1ZSAj NDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisg CisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQG5vdC53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBhZnRlcl9zY2Vu YXJpbygpCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVy ZXMvYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxk IGZhaWwgd2l0aDoKK0BAIC0xNTIsNiArMTU1LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBT dXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorIAorIAorICAg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVy c2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYWZ0ZXJfc2NlbmFyaW8oKQor ICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2FmdGVy X3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdp dGg6CitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUgYi9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQoraW5kZXggNDZmOTZlOS4uNmQyZjQ4ZiAxMDA2 NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlCisrKysgYi9pc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQorQEAgLTI1LDYgKzI1LDcgQEAgRmVhdHVyZTogSXNz dWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCBy ZXBvcnRzCisgCisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQG5v dC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIGZhaWxpbmcgYXNz ZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVk ICJmZWF0dXJlcy9mYWlsczEuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTQ2LDYg KzQ3LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1l c3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisgICAgICAgICAiIiIKKyAKKyAgICAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45 CisgICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCBy ZXBvcnQKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJl IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtNzAsNiArNzIsNyBAQCBGZWF0dXJlOiBJc3N1ZSAj NDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9y dHMKKyAKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAbm90Lndp dGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEg SlVuaXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFp bHMyLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC05MCw3ICs5Myw5IEBAIEZlYXR1 cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5p dCBYTUwgcmVwb3J0cworICAgICAgICAgPGVycm9yIG1lc3NhZ2U9Ik15IG5hbWUgaXMgJnF1b3Q7 Qm9iJnF1b3Q7IGFuZCAmbHQ7aGVyZSZndDsgSSBhbSIKKyAgICAgICAgICIiIgorIAorKworICAg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVy c2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVw b3J0CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIg d2l0aDoKKyAgICAgICAgICIiIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1 Ny5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUKK2luZGV4IGY2Njc4 OTMuLmFlYWVmZDIgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVy ZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUKK0BAIC01LDYgKzUsOSBA QCBGZWF0dXJlOiBJc3N1ZSAjNjU3IC0tIEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91dHMg dG8gZmFpbCB3aGVuIHRoZXkgcmFpc2UgZQorIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My41CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44Cisr ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMK KyAgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1z dGVwIGZhaWxzCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MDUtUFJFRkVSLXB5dGhvbjMtZnJvbS1ub3ctb24ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA1LVBSRUZFUi1weXRob24zLWZyb20t bm93LW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYWI2YjU3 ODViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDEwNS1QUkVGRVItcHl0aG9uMy1mcm9tLW5vdy1vbi5wYXRjaApA QCAtMCwwICsxLDE5IEBACitGcm9tIDRlNTM3NWQyOGUzYWRhNzE3MTZjYTZmZTUwN2Q4MjExMDlk ODMyZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMTIgT2N0IDIwMjAgMjI6MTQ6NTkg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUFJFRkVSOiBweXRob24zIGZyb20gbm93IG9uLgorCist LS0KKyBiaW4vYmVoYXZlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmluL2JlaGF2ZSBiL2Jpbi9iZWhhdmUKK2lu ZGV4IGMwMmU4ZDMuLjllYmI1ODQgMTAwNzU1CistLS0gYS9iaW4vYmVoYXZlCisrKysgYi9iaW4v YmVoYXZlCitAQCAtMSw0ICsxLDQgQEAKKy0jIS91c3IvYmluL2VudiBweXRob24KKysjIS91c3Iv YmluL2VudiBweXRob24zCisgIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKyAKKyBmcm9tIF9fZnV0 dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNi1SRU1PVkUtaW52b2tlLXNj cmlwdHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTA2LVJFTU9WRS1pbnZva2Utc2NyaXB0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjMzNzc3Nzk3OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDYtUkVNT1ZF LWludm9rZS1zY3JpcHRzLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gOGU1NjJhNDIwN2Y4 MDhkMmM1ZjQ2OTMzYWY2NWM4ZmUzMWNlMmU4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0 LCA5IEphbiAyMDIxIDIxOjUyOjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFJFTU9WRTogaW52 b2tlIHNjcmlwdHMKKworLS0tCisgYmluL2ludm9rZSAgICAgfCA4IC0tLS0tLS0tCisgYmluL2lu dm9rZS5jbWQgfCA5IC0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTcgZGVsZXRpb25zKC0p CisgZGVsZXRlIG1vZGUgMTAwNzU1IGJpbi9pbnZva2UKKyBkZWxldGUgbW9kZSAxMDA2NDQgYmlu L2ludm9rZS5jbWQKKworZGlmZiAtLWdpdCBhL2Jpbi9pbnZva2UgYi9iaW4vaW52b2tlCitkZWxl dGVkIGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IGU5ODAwZTguLjAwMDAwMDAKKy0tLSBhL2Jpbi9p bnZva2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDggKzAsMCBAQAorLSMhL2Jpbi9zaAorLSMhL2Jp bi9iYXNoCistIyBSVU4gSU5WT0tFOiBGcm9tIGJ1bmRsZWQgWklQIGZpbGUuCistCistSEVSRT0k KGRpcm5hbWUgJDApCistZXhwb3J0IElOVk9LRV9UQVNLU19VU0VfVkVORE9SX0JVTkRMRVM9Inll cyIKKy0KKy1weXRob24gJHtIRVJFfS8uLi90YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgJCoKK2Rp ZmYgLS1naXQgYS9iaW4vaW52b2tlLmNtZCBiL2Jpbi9pbnZva2UuY21kCitkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDkzMDM0MzIuLjAwMDAwMDAKKy0tLSBhL2Jpbi9pbnZva2UuY21k CisrKysgL2Rldi9udWxsCitAQCAtMSw5ICswLDAgQEAKKy1AZWNobyBvZmYKKy1SRU0gUlVOIElO Vk9LRTogRnJvbSBidW5kbGVkIFpJUCBmaWxlLgorLQorLXNldGxvY2FsCistc2V0IEhFUkU9JX5k cDAKKy1zZXQgSU5WT0tFX1RBU0tTX1VTRV9WRU5ET1JfQlVORExFUz0ieWVzIgorLWlmIG5vdCBk ZWZpbmVkIFBZVEhPTiAgIHNldCBQWVRIT049cHl0aG9uCistCistJVBZVEhPTiUgJUhFUkUlLi4v dGFza3MvX3ZlbmRvci9pbnZva2UuemlwICIlKiIKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDctRklYLURlcHJlY2F0ZWQt d2FybmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA3LUZJWC1EZXByZWNhdGVkLXdhcm5pbmdzLWZv ci1QeXRob24tMy54LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u ZDJhZjQwNzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNy1GSVgtRGVwcmVjYXRlZC13YXJuaW5ncy1mb3It UHl0aG9uLTMueC5wYXRjaApAQCAtMCwwICsxLDEyNCBAQAorRnJvbSBmYTUyYzYzNDA5OTBmZWU5 N2ZiY2RmODUyZTE2OGUwZjNlMjgxODIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDkg SmFuIDIwMjEgMjE6NTI6NDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBEZXByZWNhdGVk IHdhcm5pbmdzIGZvciBQeXRob24gMy54CisKKy0tLQorIGJpbi9qc29uLmZvcm1hdC5weSAgICAg ICAgIHwgMTUgKysrKysrKysrKy0tLS0tCisgYmluL2pzb25zY2hlbWFfdmFsaWRhdGUucHkgfCAy MyArKysrKysrKysrKysrKysrLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9u cygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iaW4vanNvbi5mb3JtYXQucHkg Yi9iaW4vanNvbi5mb3JtYXQucHkKK2luZGV4IGI3ZWIwNWYuLmI3NWQ4OGEgMTAwNzU1CistLS0g YS9iaW4vanNvbi5mb3JtYXQucHkKKysrKyBiL2Jpbi9qc29uLmZvcm1hdC5weQorQEAgLTEwLDgg KzEwLDggQEAgTElDRU5TRTogIEJTRAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0CisgCisgX19hdXRob3JfXyAgICA9ICJKZW5zIEVuZ2VsIgorLV9fY29weXJpZ2h0X18g PSAiKGMpIDIwMTEtMjAxMyBieSBKZW5zIEVuZ2VsIgorLVZFUlNJT04gPSAiMC4yLjIiCisrX19j b3B5cmlnaHRfXyA9ICIoYykgMjAxMS0yMDIxIGJ5IEplbnMgRW5nZWwiCisrVkVSU0lPTiA9ICIw LjMuMCIKKyAKKyAjIC0tIElNUE9SVFM6CisgaW1wb3J0IG9zLnBhdGgKK0BAIC0yOSw2ICsyOSw3 IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAjIENPTlNUQU5UUzoKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBERUZBVUxUX0lOREVOVF9TSVpFID0gMgorK1BZVEhPTl9WRVJTSU9OID0gc3lzLnZl cnNpb25faW5mb1s6Ml0KKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEZVTkNUSU9OUzoK K0BAIC01OCw3ICs1OSwxMSBAQCBkZWYganNvbl9mb3JtYXQoZmlsZW5hbWUsIGluZGVudD1ERUZB VUxUX0lOREVOVF9TSVpFLCAqKmt3YXJncyk6CisgIyAgICAgICAgcmV0dXJuIDAKKyAKKyAgICAg Y29udGVudHMgPSBvcGVuKGZpbGVuYW1lLCAiciIpLnJlYWQoKQorLSAgICBkYXRhICAgICAgPSBq c29uLmxvYWRzKGNvbnRlbnRzLCBlbmNvZGluZz1lbmNvZGluZykKKysgICAgaWYgUFlUSE9OX1ZF UlNJT04gPj0gKDMsIDEpOgorKyAgICAgICAgIyAtLSBOT1RFOiBlbmNvZGluZyBrZXl3b3JkIGlz IGRlcHJlY2F0ZWQgc2luY2UgcHl0aG9uIDMuMQorKyAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMo Y29udGVudHMpCisrICAgIGVsc2U6CisrICAgICAgICBkYXRhID0ganNvbi5sb2Fkcyhjb250ZW50 cywgZW5jb2Rpbmc9ZW5jb2RpbmcpCisgICAgIGNvbnRlbnRzMiA9IGpzb24uZHVtcHMoZGF0YSwg aW5kZW50PWluZGVudCwgc29ydF9rZXlzPXNvcnRfa2V5cykKKyAgICAgY29udGVudHMyID0gY29u dGVudHMyLnN0cmlwKCkKKyAgICAgY29udGVudHMyID0gIiVzXG4iICUgY29udGVudHMyCitAQCAt NjksNyArNzQsNyBAQCBkZWYganNvbl9mb3JtYXQoZmlsZW5hbWUsIGluZGVudD1ERUZBVUxUX0lO REVOVF9TSVpFLCAqKmt3YXJncyk6CisgICAgICAgICBvdXRmaWxlID0gb3BlbihmaWxlbmFtZSwg InciKQorICAgICAgICAgb3V0ZmlsZS53cml0ZShjb250ZW50czIpCisgICAgICAgICBvdXRmaWxl LmNsb3NlKCkKKy0gICAgICAgIGNvbnNvbGUud2FybigiJXMgT0siLCBtZXNzYWdlKQorKyAgICAg ICAgY29uc29sZS53YXJuaW5nKCIlcyBPSyIsIG1lc3NhZ2UpCisgICAgICAgICByZXR1cm4gMSAj PCBPSworIAorIGRlZiBqc29uX2Zvcm1hdGFsbChmaWxlbmFtZXMsIGluZGVudD1ERUZBVUxUX0lO REVOVF9TSVpFLCBkcnlfcnVuPUZhbHNlKToKK0BAIC0xNDMsNyArMTQ4LDcgQEAgRm9ybWF0L0Jl YXV0aWZ5IG9uZSBvciBtb3JlIEpTT04gZmlsZShzKS4iIiIKKyAgICAgICAgICAgICAgICAgY29u c29sZS5pbmZvKCJTS0lQICVzLCBubyBKU09OIGZpbGVzIGZvdW5kIGluIGRpci4iLCBmaWxlbmFt ZSkKKyAgICAgICAgICAgICAgICAgc2tpcHBlZCArPSAxCisgICAgICAgICBlbGlmIG5vdCBvcy5w YXRoLmV4aXN0cyhmaWxlbmFtZSk6CistICAgICAgICAgICAgY29uc29sZS53YXJuKCJTS0lQICVz LCBmaWxlIG5vdCBmb3VuZC4iLCBmaWxlbmFtZSkKKysgICAgICAgICAgICBjb25zb2xlLndhcm5p bmcoIlNLSVAgJXMsIGZpbGUgbm90IGZvdW5kLiIsIGZpbGVuYW1lKQorICAgICAgICAgICAgIHNr aXBwZWQgKz0gMQorICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICBlbHNlOgorZGlmZiAt LWdpdCBhL2Jpbi9qc29uc2NoZW1hX3ZhbGlkYXRlLnB5IGIvYmluL2pzb25zY2hlbWFfdmFsaWRh dGUucHkKK2luZGV4IGRiMmVkYjEuLmZlNzU5NmUgMTAwNzU1CistLS0gYS9iaW4vanNvbnNjaGVt YV92YWxpZGF0ZS5weQorKysrIGIvYmluL2pzb25zY2hlbWFfdmFsaWRhdGUucHkKK0BAIC0xOCwx MSArMTgsMTEgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50 X2Z1bmN0aW9uCisgX19hdXRob3JfXyAgPSAiSmVucyBFbmdlbCIKKyBfX3ZlcnNpb25fXyA9ICIw LjEuMCIKKyAKKy1mcm9tIGpzb25zY2hlbWEgaW1wb3J0IHZhbGlkYXRlCisgaW1wb3J0IGFyZ3Bh cnNlCisgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQgc3lzCisgaW1wb3J0IHRleHR3cmFwCisrZnJv bSBqc29uc2NoZW1hIGltcG9ydCB2YWxpZGF0ZQorIHRyeToKKyAgICAgaW1wb3J0IGpzb24KKyBl eGNlcHQgSW1wb3J0RXJyb3I6CitAQCAtMzgsMTYgKzM4LDI4IEBAIGV4Y2VwdCBJbXBvcnRFcnJv cjoKKyBIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorIFRPUCAgPSBvcy5wYXRoLm5v cm1wYXRoKG9zLnBhdGguam9pbihIRVJFLCAiLi4iKSkKKyBTQ0hFTUEgPSBvcy5wYXRoLmpvaW4o VE9QLCAiZXRjIiwgImpzb24iLCAiYmVoYXZlLmpzb24tc2NoZW1hIikKKytQWVRIT05fVkVSU0lP TiA9IHN5cy52ZXJzaW9uX2luZm9bOjJdCisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICMgRlVOQ1RJT05TOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYganNvbnNjaGVtYV92 YWxpZGF0ZShmaWxlbmFtZSwgc2NoZW1hLCBlbmNvZGluZz1Ob25lKToKKytkZWYganNvbl9sb2Fk cyh0ZXh0LCBlbmNvZGluZz1Ob25lKToKKysgICAga3dhcmdzID0ge30KKysgICAgaWYgZW5jb2Rp bmcgYW5kIFBZVEhPTl9WRVJTSU9OIDwgKDMsIDEpOgorKyAgICAgICAgIyAtLSBOT1RFOiBlbmNv ZGluZyBrZXl3b3JkIGlzIGRlcHJlY2F0ZWQgc2luY2UgcHl0aG9uIDMuMQorKyAgICAgICAga3dh cmdzWyJlbmNvZGluZyJdID0gZW5jb2RpbmcKKysgICAgcmV0dXJuIGpzb24ubG9hZHModGV4dCwg Kiprd2FyZ3MpCisrCisrZGVmIGpzb25fbG9hZChmaWxlbmFtZSwgZW5jb2Rpbmc9Tm9uZSk6Cisg ICAgIGYgPSBvcGVuKGZpbGVuYW1lLCAiciIpCisgICAgIGNvbnRlbnRzID0gZi5yZWFkKCkKKyAg ICAgZi5jbG9zZSgpCistICAgIGRhdGEgPSBqc29uLmxvYWRzKGNvbnRlbnRzLCBlbmNvZGluZz1l bmNvZGluZykKKysgICAgZGF0YSA9IGpzb25fbG9hZHMoY29udGVudHMsIGVuY29kaW5nPWVuY29k aW5nKQorKyAgICByZXR1cm4gZGF0YQorKworK2RlZiBqc29uc2NoZW1hX3ZhbGlkYXRlKGZpbGVu YW1lLCBzY2hlbWEsIGVuY29kaW5nPU5vbmUpOgorKyAgICBkYXRhID0ganNvbl9sb2FkKGZpbGVu YW1lLCBlbmNvZGluZz1lbmNvZGluZykKKyAgICAgcmV0dXJuIHZhbGlkYXRlKGRhdGEsIHNjaGVt YSkKKyAKKyAKK0BAIC04OSwxMCArMTAxLDcgQEAgZGVmIG1haW4oYXJncz1Ob25lKToKKyAgICAg ICAgIHBhcnNlci5lcnJvcigiU0NIRU1BIG5vdCBmb3VuZDogJXMiICUgb3B0aW9ucy5zY2hlbWEp CisgCisgICAgIHRyeToKKy0gICAgICAgIGYgPSBvcGVuKG9wdGlvbnMuc2NoZW1hLCAiciIpCist ICAgICAgICBjb250ZW50cyA9IGYucmVhZCgpCistICAgICAgICBmLmNsb3NlKCkKKy0gICAgICAg IHNjaGVtYSA9IGpzb24ubG9hZHMoY29udGVudHMsIGVuY29kaW5nPW9wdGlvbnMuZW5jb2Rpbmcp CisrICAgICAgICBzY2hlbWEgPSBqc29uX2xvYWQob3B0aW9ucy5zY2hlbWEsIGVuY29kaW5nPW9w dGlvbnMuZW5jb2RpbmcpCisgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgIG1z ZyA9ICJFUlJPUjogJXM6ICVzICh3aGlsZSBsb2FkaW5nIHNjaGVtYSkiICUgKGUuX19jbGFzc19f Ll9fbmFtZV9fLCBlKQorICAgICAgICAgc3lzLmV4aXQobXNnKQpkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOC1GSVgtUHl0 aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOC1GSVgt UHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYjhkMWRmMDQ3Ci0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDEwOC1GSVgtUHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQw LXN0LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK0Zyb20gYzY2ZWJhYzE3NjM3NjgyOTdkZWMzZGU5 NmI1MWIwNTk3MGYzMTZhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIx IDIxOjUzOjMyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogUHl0aG9uMiBwcm9ibGVtcyBp biB2aXJ0dWFsZW52cyB3LyBiZWhhdmU0Y21kMCBzdGVwcy4KKworLS0tCisgYmluL2JlaGF2ZSB8 IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvYmlu L2JlaGF2ZSBiL2Jpbi9iZWhhdmUKK2luZGV4IDllYmI1ODQuLjBmMzdkZWMgMTAwNzU1CistLS0g YS9iaW4vYmVoYXZlCisrKysgYi9iaW4vYmVoYXZlCitAQCAtMSwzICsxLDQgQEAKKysjIS91c3Iv YmluL2VudiBweXRob24KKyAjIS91c3IvYmluL2VudiBweXRob24zCisgIyAtKi0gY29kaW5nOiB1 dGYtOCAtKi0KKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDktRklYLUFjdGl2ZS10YWctbG9naWMucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA5LUZJWC1B Y3RpdmUtdGFnLWxvZ2ljLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uZDhhZTRmODg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5wYXRj aApAQCAtMCwwICsxLDg3NSBAQAorRnJvbSBkNDQxYjQyMDdlNGI4NjJkOTM1Njg3ZjA0MDQ2YjVj MGY1ZDA5MGM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIwMjEgMjI6MDQ6 MTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBBY3RpdmUtdGFnIGxvZ2ljCisKK0ZpeCBh Y3RpdmUtdGFnIGNvbXB1dGF0aW9uIGxvZ2ljIGlmIG11bHRpcGxlIGFjdGl2ZS10YWdzIGV4aXN0 Cit0aGF0IHVzZSB0aGUgc2FtZSBjYXRlZ29yeS4gSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZQor cG9zaXRpdmUgKHVzZS53aXRoX3h4eCkgYW5kIG5lZ2F0aXZlIChub3Qud2l0aF94eHgpIHRhZ3MK K29uIHRoZSBzYW1lIG1vZGVsIGVsZW1lbnQgKEZlYXR1cmUsIFNjZW5hcmlvLCAuLi4pLgorLS0t CisgYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQucHkgICAgIHwgIDEyICstCisgYmVoYXZl L3RhZ19tYXRjaGVyLnB5ICAgICAgICAgICAgICAgIHwgIDgyICsrKystCisgZmVhdHVyZXMvdGFn cy5hY3RpdmVfdGFncy5mZWF0dXJlICAgIHwgIDIyICstCisgdGVzdHMvZnVuY3Rpb25hbC90ZXN0 X2FjdGl2ZV90YWdzLnB5IHwgNTI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKworIHRlc3Rz L3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSAgICAgICB8ICA0NSArLS0KKyA1IGZpbGVzIGNoYW5n ZWQsIDYyNCBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2ZV90YWdzLnB5CisKK2RpZmYgLS1naXQgYS9i ZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weSBiL2JlaGF2ZS9hcGkvcnVudGltZV9jb25z dHJhaW50LnB5CitpbmRleCAzMTBlNTI5Li5lNWEzNmEwIDEwMDY0NAorLS0tIGEvYmVoYXZlL2Fw aS9ydW50aW1lX2NvbnN0cmFpbnQucHkKKysrKyBiL2JlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJh aW50LnB5CitAQCAtNyw2ICs3LDggQEAgU2ltcGxpZmllcyB0byBzcGVjaWZ5IHJ1bnRpbWUgY29u c3RyYWludHMgaW4KKyAiIiIKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2lt cG9ydAorK2ltcG9ydCBzaXgKKytpbXBvcnQgc3lzCisgZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGlt cG9ydCBDb25zdHJhaW50RXJyb3IKKyAKKyAKK0BAIC0xOSwxMSArMjEsMTAgQEAgZGVmIHJlcXVp cmVfbWluX3B5dGhvbl92ZXJzaW9uKG1pbmltYWxfdmVyc2lvbik6CisgICAgIDpwYXJhbSBtaW5p bWFsX3ZlcnNpb246IE1pbmltdW0gdmVyc2lvbiAoYXMgc3RyaW5nLCB0dXBsZSkKKyAgICAgOnJh aXNlczogYmVoYXZlLmV4Y2VwdGlvbi5Db25zdHJhaW50RXJyb3IKKyAgICAgIiIiCistICAgIGlt cG9ydCBzaXgKKy0gICAgaW1wb3J0IHN5cworICAgICBweXRob25fdmVyc2lvbiA9IHN5cy52ZXJz aW9uX2luZm8KKyAgICAgaWYgaXNpbnN0YW5jZShtaW5pbWFsX3ZlcnNpb24sIHNpeC5zdHJpbmdf dHlwZXMpOgorLSAgICAgICAgcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25f aW5mb1s6Ml0KKysgICAgICAgIHB5dGhvbl92ZXJzaW9uID0gZmxvYXQoIiVzLiVzIiAlIHN5cy52 ZXJzaW9uX2luZm9bOjJdKQorKyAgICAgICAgbWluaW1hbF92ZXJzaW9uID0gZmxvYXQobWluaW1h bF92ZXJzaW9uKQorICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKG1pbmltYWxfdmVyc2lvbiwgdHVw bGUpOgorICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJzdHJpbmcgb3IgdHVwbGUgKHdhczogJXMp IiAlIHR5cGUobWluaW1hbF92ZXJzaW9uKSkKKyAKK0BAIC00MCw2ICs0MSw5IEBAIGRlZiByZXF1 aXJlX21pbl9iZWhhdmVfdmVyc2lvbihtaW5pbWFsX3ZlcnNpb24pOgorICAgICAiIiIKKyAgICAg IyAtLSBTSU1QTElTVElDIElNUExFTUVOVEFUSU9OOgorICAgICBmcm9tIGJlaGF2ZS52ZXJzaW9u IGltcG9ydCBWRVJTSU9OIGFzIGJlaGF2ZV92ZXJzaW9uCistICAgIGlmIGJlaGF2ZV92ZXJzaW9u IDwgbWluaW1hbF92ZXJzaW9uOgorKyAgICBiZWhhdmVfdmVyc2lvbjIgPSBiZWhhdmVfdmVyc2lv bi5zcGxpdCgiLiIpCisrICAgIG1pbmltYWxfdmVyc2lvbjIgPSBtaW5pbWFsX3ZlcnNpb24uc3Bs aXQoIi4iKQorKyAgICBpZiBiZWhhdmVfdmVyc2lvbjIgPCBtaW5pbWFsX3ZlcnNpb24yOgorKyAg ICAgICAgIyAtLSBVU0U6IFR1cGxlIGNvbXBhcmlzb24gYXMgdmVyc2lvbiBjb21wYXJpc29uLgor ICAgICAgICAgcmFpc2UgQ29uc3RyYWludEVycm9yKCJiZWhhdmUgPj0gJXMgZXhwZWN0ZWQgKHdh czogJXMpIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWluaW1hbF92ZXJz aW9uLCBiZWhhdmVfdmVyc2lvbikpCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5 IGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitpbmRleCA1ZjlkY2UwLi5lMmIxZTgyIDEwMDY0NAor LS0tIGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CisrKysgYi9iZWhhdmUvdGFnX21hdGNoZXIucHkK K0BAIC0xLDcgKzEsNyBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCisgIiIiCistQ29udGFp bnMgY2xhc3NlcyBhbmQgZnVuY3Rpb25hbGl0eSB0byBwcm92aWRlIGEgc2tpcC1pZiBsb2dpYyBi YXNlZCBvbiB0YWdzCistaW4gZmVhdHVyZSBmaWxlcy4KKytDb250YWlucyBjbGFzc2VzIGFuZCBm dW5jdGlvbmFsaXR5IHRvIHByb3ZpZGUgdGhlIGFjdGl2ZS10YWcgbWVjaGFuaXNtLgorK0FjdGl2 ZS10YWdzIHByb3ZpZGUgYSBza2lwLWlmIGxvZ2ljIGJhc2VkIG9uIHRhZ3MgaW4gZmVhdHVyZSBm aWxlcy4KKyAiIiIKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAor QEAgLTEwLDYgKzEwLDExIEBAIGltcG9ydCBvcGVyYXRvcgorIGltcG9ydCBzaXgKKyAKKyAKKytk ZWYgYm9vbF90b19zdHJpbmcodmFsdWUpOgorKyAgICAiIiJDb252ZXJ0cyBhIEJvb2xlYW4gdmFs dWUgaW50byBpdHMgbm9ybWFsaXplZCBzdHJpbmcgcmVwcmVzZW50YXRpb24uIiIiCisrICAgIHJl dHVybiBzdHIoYm9vbCh2YWx1ZSkpLmxvd2VyKCkKKysKKysKKyBjbGFzcyBUYWdNYXRjaGVyKG9i amVjdCk6CisgICAgICIiIkFic3RyYWN0IGJhc2UgY2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBUYWdN YXRjaGVyIHByb3RvY29sLiIiIgorIAorQEAgLTM2LDEyICs0MSwxMyBAQCBjbGFzcyBUYWdNYXRj aGVyKG9iamVjdCk6CisgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAg IiIiUHJvdmlkZXMgYW4gYWN0aXZlIHRhZyBtYXRjaGVyIGZvciBtYW55IGNhdGVnb3JpZXMuCisg CistICAgIFRBRyBTQ0hFTUE6CisrICAgIFRBRyBTQ0hFTUEgMSAocHJlZmVycmVkKToKKyAgICAg ICAqIHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICAgICAgICogbm90LndpdGhfe2NhdGVn b3J5fT17dmFsdWV9CisrCisrICAgIFRBRyBTQ0hFTUEgMjoKKyAgICAgICAqIGFjdGl2ZS53aXRo X3tjYXRlZ29yeX09e3ZhbHVlfQorICAgICAgICogbm90X2FjdGl2ZS53aXRoX3tjYXRlZ29yeX09 e3ZhbHVlfQorLSAgICAgICogb25seS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfSAgICAgICAgKE5P VEU6IEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KQorIAorICAgICBUQUcgTE9HSUMKKyAgICAg LS0tLS0tLS0tLQorQEAgLTUyLDcgKzU4LDcgQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdN YXRjaGVyKToKKyAgICAgICAgIGFjdGl2ZV9ncm91cC5lbmFibGVkIDo9IGVuYWJsZWQoZ3JvdXAu dGFnMSkgb3IgZW5hYmxlZChncm91cC50YWcyKSBvciAuLi4KKyAgICAgICAgIGFjdGl2ZV90YWdz LmVuYWJsZWQgIDo9IGVuYWJsZWQoZ3JvdXAxKSBhbmQgZW5hYmxlZChncm91cDIpIGFuZCAuLi4K KyAKKy0gICAgQWxsIGFjdGl2ZS10YWcgZ3JvdXBzIG11c3QgYmUgdHVybmVkICJvbiIuCisrICAg IEFsbCBhY3RpdmUtdGFnIGdyb3VwcyBtdXN0IGJlIHR1cm5lZCAib24iIChlbmFibGVkKS4KKyAg ICAgT3RoZXJ3aXNlLCB0aGUgbW9kZWwgZWxlbWVudCBzaG91bGQgYmUgZXhjbHVkZWQuCisgCisg ICAgIENPTkNFUFQ6IFZhbHVlUHJvdmlkZXIKK0BAIC04MSwxMiArODcsMTIgQEAgY2xhc3MgQWN0 aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMv YWxpY2UuZmVhdHVyZQorICAgICAgICAgRmVhdHVyZToKKyAKKy0gICAgICAgICAgQGFjdGl2ZS53 aXRoX29zPXdpbjMyCisrICAgICAgICAgIEB1c2Uud2l0aF9vcz13aW4zMgorICAgICAgICAgICBT Y2VuYXJpbzogQWxpY2UgKFJ1biBvbmx5IG9uIFdpbmRvd3MpCisgICAgICAgICAgICAgR2l2ZW4g SSBkbyBzb21ldGhpbmcKKyAgICAgICAgICAgICAuLi4KKyAKKy0gICAgICAgICAgQG5vdF9hY3Rp dmUud2l0aF9icm93c2VyPWNocm9tZQorKyAgICAgICAgICBAbm90LndpdGhfYnJvd3Nlcj1jaHJv bWUKKyAgICAgICAgICAgU2NlbmFyaW86IEJvYiAoRXhjbHVkZWQgd2l0aCBXZWItQnJvd3NlciBD aHJvbWUpCisgICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcgZWxzZQorICAgICAgICAg ICAgIC4uLgorQEAgLTExNiw3ICsxMjIsNyBAQCBjbGFzcyBBY3RpdmVUYWdNYXRjaGVyKFRhZ01h dGNoZXIpOgorICAgICAgICAgICAgICAgICBzY2VuYXJpby5za2lwKGV4Y2x1ZGVfcmVhc29uKSAg ICM8IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQuCisgICAgICIiIgorICAgICB2YWx1ZV9zZXBh cmF0b3IgPSAiPSIKKy0gICAgdGFnX3ByZWZpeGVzID0gWyJhY3RpdmUiLCAibm90X2FjdGl2ZSIs ICJ1c2UiLCAibm90IiwgIm9ubHkiXQorKyAgICB0YWdfcHJlZml4ZXMgPSBbInVzZSIsICJub3Qi LCAiYWN0aXZlIiwgIm5vdF9hY3RpdmUiLCAib25seSJdCisgICAgIHRhZ19zY2hlbWEgPSByIl4o P1A8cHJlZml4PiVzKVwud2l0aF8oP1A8Y2F0ZWdvcnk+XHcrKFwuXHcrKSopJXMoP1A8dmFsdWU+ LiopJCIKKyAgICAgaWdub3JlX3Vua25vd25fY2F0ZWdvcmllcyA9IFRydWUKKyAgICAgdXNlX2V4 Y2x1ZGVfcmVhc29uID0gRmFsc2UKK0BAIC0xNjMsMjEgKzE2OSw0OSBAQCBjbGFzcyBBY3RpdmVU YWdNYXRjaGVyKFRhZ01hdGNoZXIpOgorIAorICAgICBkZWYgaXNfdGFnX2dyb3VwX2VuYWJsZWQo c2VsZiwgZ3JvdXBfY2F0ZWdvcnksIGdyb3VwX3RhZ19wYWlycyk6CisgICAgICAgICAiIiJQcm92 aWRlcyBib29sZWFuIGxvZ2ljIHRvIGRldGVybWluZSBpZiBhbGwgYWN0aXZlLXRhZ3MKKy0gICAg ICAgIHdoaWNoIHVzZSB0aGUgc2FtZSBjYXRlZ29yeSByZXN1bHQgaW4gYSBlbmFibGVkIHZhbHVl LgorLQorLSAgICAgICAgVXNlIExPR0lDQUwtT1IgZXhwcmVzc2lvbiBmb3IgYWN0aXZlLXRhZ3Mg d2l0aCBzYW1lIGNhdGVnb3J5OjoKKy0KKy0gICAgICAgICAgICBjYXRlZ29yeV90YWdfZ3JvdXAu ZW5hYmxlZCA6PSBlbmFibGVkKHRhZzEpIG9yIGVuYWJsZWQodGFnMikgb3IgLi4uCisrICAgICAg ICB3aGljaCB1c2UgdGhlIHNhbWUgY2F0ZWdvcnkgcmVzdWx0IGluIGFuIGVuYWJsZWQgdmFsdWUu CisgCisgICAgICAgICAuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorIAorICAgICAgICAgICAgIEB1 c2Uud2l0aF94eHg9YWxpY2UKKyAgICAgICAgICAgICBAdXNlLndpdGhfeHh4PWJvYgorICAgICAg ICAgICAgIEBub3Qud2l0aF94eHg9Y2hhcmx5CisrICAgICAgICAgICAgQG5vdC53aXRoX3h4eD1k b3JvCisgICAgICAgICAgICAgU2NlbmFyaW86CisgICAgICAgICAgICAgICAgIEdpdmVuIGEgc3Rl cCBwYXNzZXMKKyAgICAgICAgICAgICAgICAgLi4uCisgCisrICAgICAgICBVc2UgTE9HSUNBTCBl eHByZXNzaW9uIGZvciBhY3RpdmUtdGFncyB3aXRoIHNhbWUgY2F0ZWdvcnk6OgorKworKyAgICAg ICAgICAgIGNhdGVnb3J5X3RhZ19ncm91cC5lbmFibGVkIDo9IHBvc2l0aXZlLXRhZy1leHByZXNz aW9uIGFuZCBub3QgbmVnYXRpdmUtdGFnLWV4cHJlc3Npb24KKysgICAgICAgICAgICAgIHBvc2l0 aXZlLXRhZy1leHByZXNzaW9uICA6PSBlbmFibGVkKHRhZzEpIG9yIGVuYWJsZWQodGFnMikgb3Ig Li4uCisrICAgICAgICAgICAgICBuZWdhdGl2ZS10YWctZXhwcmVzc2lvbiAgOj0gZW5hYmxlZCh0 YWczKSBvciBlbmFibGVkKHRhZzQpIG9yIC4uLgorKyAgICAgICAgICAgICAgIHRhZzEsIHRhZzIg YXJlIHBvc2l0aXZlLXRhZ3MsIGxpa2UgQHVzZS53aXRoX2NhdGVnb3J5PXZhbHVlCisrICAgICAg ICAgICAgICAgdGFnMywgdGFnNCBhcmUgbmVnYXRpdmUtdGFncywgbGlrZSBAbm90LndpdGhfY2F0 ZWdvcnk9dmFsdWUKKysKKysgICAgICAgICAgICAgeHh4ICAgfCBPbmx5IHVzZSBwYXJ0czogKHh4 eCA9PSAiYWxpY2UiKSBvciAoeHh4ID09ICJib2IiKQorKyAgICAgICAgICAgIC0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLQorKyAgICAgICAgICAgIGFsaWNlICB8IHRydWUKKysgICAgICAgICAg ICBib2IgICAgfCB0cnVlCisrICAgICAgICAgICAgb3RoZXIgIHwgZmFsc2UKKysKKysgICAgICAg ICAgICAgeHh4ICAgfCBPbmx5IG5vdCBwYXJ0czoKKysgICAgICAgICAgICAgICAgICAgfCAobm90 IHh4eCA9PSAiY2hhcmx5IikgYW5kIChub3QgeHh4ID09ICJkb3JvIikKKysgICAgICAgICAgICAg ICAgICAgfCA9IG5vdCgoeHh4ID09ICJjaGFybHkiKSBvciAoeHh4ID09ICJkb3JvIikpCisrICAg ICAgICAgICAgLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCisrICAgICAgICAgICAgY2hhcmx5 IHwgZmFsc2UKKysgICAgICAgICAgICBkb3JvICAgfCBmYWxzZQorKyAgICAgICAgICAgIG90aGVy ICB8IHRydWUKKysKKysgICAgICAgICAgICAgeHh4ICAgfCBVc2UgYW5kIG5vdCBwYXJ0czoKKysg ICAgICAgICAgICAgICAgICAgfCAoKHh4eCA9PSAiYWxpY2UiKSBvciAoeHh4ID09ICJib2IiKSkg YW5kIG5vdCgoeHh4ID09ICJjaGFybHkiKSBvciAoeHh4ID09ICJkb3JvIikpCisrICAgICAgICAg ICAgLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCisrICAgICAgICAgICAgYWxpY2UgIHwgdHJ1 ZQorKyAgICAgICAgICAgIGJvYiAgICB8IHRydWUKKysgICAgICAgICAgICBjaGFybHkgfCBmYWxz ZQorKyAgICAgICAgICAgIGRvcm8gICB8IGZhbHNlCisrICAgICAgICAgICAgb3RoZXIgIHwgZmFs c2UKKysKKyAgICAgICAgIDpwYXJhbSBncm91cF9jYXRlZ29yeTogICAgICBDYXRlZ29yeSBmb3Ig dGhpcyB0YWctZ3JvdXAgKGFzIHN0cmluZykuCisgICAgICAgICA6cGFyYW0gY2F0ZWdvcnlfdGFn X2dyb3VwOiAgTGlzdCBvZiBhY3RpdmUtdGFnIG1hdGNoLXBhaXJzLgorICAgICAgICAgOnJldHVy bjogVHJ1ZSwgaWYgdGFnLWdyb3VwIGlzIGVuYWJsZWQuCitAQCAtMTkxLDIwICsyMjUsMjggQEAg Y2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgICAgICAgICAjIC0tIENB U0U6IFVua25vd24gY2F0ZWdvcnksIGlnbm9yZSBpdC4KKyAgICAgICAgICAgICByZXR1cm4gVHJ1 ZQorIAorLSAgICAgICAgdGFnc19lbmFibGVkID0gW10KKysgICAgICAgIHBvc2l0aXZlX3RhZ3Nf bWF0Y2hlZCA9IFtdCisrICAgICAgICBuZWdhdGl2ZV90YWdzX21hdGNoZWQgPSBbXQorICAgICAg ICAgZm9yIGNhdGVnb3J5X3RhZywgdGFnX21hdGNoIGluIGdyb3VwX3RhZ19wYWlyczoKKyAgICAg ICAgICAgICB0YWdfcHJlZml4ID0gdGFnX21hdGNoLmdyb3VwKCJwcmVmaXgiKQorICAgICAgICAg ICAgIGNhdGVnb3J5ID0gdGFnX21hdGNoLmdyb3VwKCJjYXRlZ29yeSIpCisgICAgICAgICAgICAg dGFnX3ZhbHVlID0gdGFnX21hdGNoLmdyb3VwKCJ2YWx1ZSIpCisgICAgICAgICAgICAgYXNzZXJ0 IGNhdGVnb3J5ID09IGdyb3VwX2NhdGVnb3J5CisgCistICAgICAgICAgICAgaXNfY2F0ZWdvcnlf dGFnX3N3aXRjaGVkX29uID0gb3BlcmF0b3IuZXEgICAgICAgIyBlcXVhbF90bworICAgICAgICAg ICAgIGlmIHNlbGYuaXNfdGFnX25lZ2F0ZWQodGFnX3ByZWZpeCk6CistICAgICAgICAgICAgICAg IGlzX2NhdGVnb3J5X3RhZ19zd2l0Y2hlZF9vbiA9IG9wZXJhdG9yLm5lICAgIyBub3RfZXF1YWxf dG8KKy0KKy0gICAgICAgICAgICB0YWdfZW5hYmxlZCA9IGlzX2NhdGVnb3J5X3RhZ19zd2l0Y2hl ZF9vbih0YWdfdmFsdWUsIGN1cnJlbnRfdmFsdWUpCistICAgICAgICAgICAgdGFnc19lbmFibGVk LmFwcGVuZCh0YWdfZW5hYmxlZCkKKy0gICAgICAgIHJldHVybiBhbnkodGFnc19lbmFibGVkKSAg ICAjIC0tIFBST1ZJREVTOiBMT0dJQ0FMLU9SIGV4cHJlc3Npb24KKysgICAgICAgICAgICAgICAg IyAtLSBDQVNFOiBAbm90LndpdGhfQ0FURUdPUlk9VkFMVUUKKysgICAgICAgICAgICAgICAgdGFn X21hdGNoZWQgPSAodGFnX3ZhbHVlID09IGN1cnJlbnRfdmFsdWUpCisrICAgICAgICAgICAgICAg IG5lZ2F0aXZlX3RhZ3NfbWF0Y2hlZC5hcHBlbmQodGFnX21hdGNoZWQpCisrICAgICAgICAgICAg ZWxzZToKKysgICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBAdXNlLndpdGhfQ0FURUdPUlk9VkFM VUUKKysgICAgICAgICAgICAgICAgdGFnX21hdGNoZWQgPSAodGFnX3ZhbHVlID09IGN1cnJlbnRf dmFsdWUpCisrICAgICAgICAgICAgICAgIHBvc2l0aXZlX3RhZ3NfbWF0Y2hlZC5hcHBlbmQodGFn X21hdGNoZWQpCisrICAgICAgICB0YWdfZXhwcmVzc2lvbjEgPSBhbnkocG9zaXRpdmVfdGFnc19t YXRjaGVkKSAgICAjPCBMT0dJQ0FMLU9SIGV4cHJlc3Npb24KKysgICAgICAgIHRhZ19leHByZXNz aW9uMiA9IGFueShuZWdhdGl2ZV90YWdzX21hdGNoZWQpICAgICM8IExPR0lDQUwtT1IgZXhwcmVz c2lvbgorKyAgICAgICAgaWYgbm90IHBvc2l0aXZlX3RhZ3NfbWF0Y2hlZDoKKysgICAgICAgICAg ICB0YWdfZXhwcmVzc2lvbjEgPSBUcnVlCisrICAgICAgICB0YWdfZ3JvdXBfZW5hYmxlZCA9IGJv b2wodGFnX2V4cHJlc3Npb24xIGFuZCBub3QgdGFnX2V4cHJlc3Npb24yKQorKyAgICAgICAgcmV0 dXJuIHRhZ19ncm91cF9lbmFibGVkCisgCisgICAgIGRlZiBzaG91bGRfZXhjbHVkZV93aXRoKHNl bGYsIHRhZ3MpOgorICAgICAgICAgZ3JvdXBfY2F0ZWdvcmllcyA9IHNlbGYuZ3JvdXBfYWN0aXZl X3RhZ3NfYnlfY2F0ZWdvcnkodGFncykKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy90YWdzLmFjdGl2 ZV90YWdzLmZlYXR1cmUgYi9mZWF0dXJlcy90YWdzLmFjdGl2ZV90YWdzLmZlYXR1cmUKK2luZGV4 IDRhYjU1YzIuLjZhZGNiNjAgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy90YWdzLmFjdGl2ZV90YWdz LmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3RhZ3MuYWN0aXZlX3RhZ3MuZmVhdHVyZQorQEAgLTI0 MCw5ICsyNDAsMjUgQEAgRmVhdHVyZTogQWN0aXZlIFRhZ3MKKyAgICAgICAgIHwgdGFncyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBlbmFibGVkPyB8IENvbW1lbnQgfAor ICAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgIEB1c2Uud2l0aF9mb289b3RoZXIgICB8ICB5 ZXMgICAgIHwgRW5hYmxlZDogdGFnMSB8CisgICAgICAgICB8IEB1c2Uud2l0aF9mb289eHh4ICAg QG5vdC53aXRoX2Zvbz1vdGhlciAgIHwgIHllcyAgICAgfCBFbmFibGVkOiB0YWcxLCB0YWcyfAor LSAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgIEBub3Qud2l0aF9mb289eHh4ICAgICB8ICB5 ZXMgICAgIHwgRW5hYmxlZDogdGFnMSAoQkFELVNQRUMpIHwKKy0gICAgICAgIHwgQHVzZS53aXRo X2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPXh4eCAgICAgfCAgbm8gICAgICB8IEVuYWJsZWQ6IG5v bmUgfAorLSAgICAgICAgfCBAbm90LndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289eHh4ICAg ICB8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSB8CisrICAgICAgICB8IEB1c2Uud2l0aF9mb289 b3RoZXIgQG5vdC53aXRoX2Zvbz14eHggICAgIHwgIG5vICAgICAgfCBEaXNhYmxlZDogbm9uZSB8 CisrICAgICAgICB8IEBub3Qud2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zvbz14eHggICAgIHwg IG5vICAgICAgfCBEaXNhYmxlZDogdGFnMSB8CisrICAgICAgICB8IEB1c2Uud2l0aF9mb289eHh4 ICAgQG5vdC53aXRoX2Zvbz14eHggICAgIHwgIG5vICAgICAgfCBEaXNhYmxlZDogdGFnMSAoQkFE LVNQRUMsIENPTkZMSUNUUykgfAorKworKworKyAgU2NlbmFyaW86IFRhZyBsb2dpYyB3aXRoIHRo cmVlIGFjdGl2ZSB0YWdzIG9mIHNhbWUgY2F0ZWdvcnkKKysgICAgICBHaXZlbiBJIHNldHVwIHRo ZSBjdXJyZW50IHZhbHVlcyBmb3IgYWN0aXZlIHRhZ3Mgd2l0aDoKKysgICAgICAgIHwgY2F0ZWdv cnkgfCB2YWx1ZSB8CisrICAgICAgICB8IGZvbyAgICAgIHwgeHh4ICAgfAorKyAgICAgIFRoZW4g dGhlIGZvbGxvd2luZyBhY3RpdmUgdGFnIGNvbWJpbmF0aW9ucyBhcmUgZW5hYmxlZDoKKysgICAg ICAgIHwgdGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBlbmFibGVkPyB8IENvbW1lbnQgfAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9v PXh4eCAgQHVzZS53aXRoX2Zvbz1vdGhlciBAdXNlLndpdGhfZm9vPW90aGVyMnwgIHllcyAgICAg fCBFbmFibGVkOiB0YWcxICB8CisrICAgICAgICB8IEB1c2Uud2l0aF9mb289eHh4ICBAdXNlLndp dGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289b3RoZXIyfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRh ZzEgIHwKKysgICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHggIEBub3Qud2l0aF9mb289b3RoZXIg QHVzZS53aXRoX2Zvbz1vdGhlcjJ8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSAgfAorKyAgICAg ICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgQG5vdC53aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9v PW90aGVyMnwgIHllcyAgICAgfCBFbmFibGVkOiB0YWcxICB8CisrICAgICAgICB8IEBub3Qud2l0 aF9mb289eHh4ICBAdXNlLndpdGhfZm9vPW90aGVyIEB1c2Uud2l0aF9mb289b3RoZXIyfCAgbm8g ICAgICB8IERpc2FibGVkOiB0YWcxIHwKKysgICAgICAgIHwgQG5vdC53aXRoX2Zvbz14eHggIEB1 c2Uud2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zvbz1vdGhlcjJ8ICBubyAgICAgIHwgRGlzYWJs ZWQ6IHRhZzEgfAorKyAgICAgICAgfCBAbm90LndpdGhfZm9vPXh4eCAgQG5vdC53aXRoX2Zvbz1v dGhlciBAdXNlLndpdGhfZm9vPW90aGVyMnwgIG5vICAgICAgfCBEaXNhYmxlZDogdGFnMSB8Cisr ICAgICAgICB8IEBub3Qud2l0aF9mb289eHh4ICBAbm90LndpdGhfZm9vPW90aGVyIEBub3Qud2l0 aF9mb289b3RoZXIyfCAgbm8gICAgICB8IERpc2FibGVkOiB0YWcxIHwKKyAKKyAKKyAgICAgU2Nl bmFyaW86IFRhZyBsb2dpYyB3aXRoIHVua25vd24gY2F0ZWdvcmllcyAoY2FzZTogaWdub3JlZCkK K2RpZmYgLS1naXQgYS90ZXN0cy9mdW5jdGlvbmFsL3Rlc3RfYWN0aXZlX3RhZ3MucHkgYi90ZXN0 cy9mdW5jdGlvbmFsL3Rlc3RfYWN0aXZlX3RhZ3MucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi5mZDYxMzhmCistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy9mdW5jdGlv bmFsL3Rlc3RfYWN0aXZlX3RhZ3MucHkKK0BAIC0wLDAgKzEsNTI5IEBACisrIyAtKi0gY29kaW5n OiB1dGYtOCAtKi0KKysiIiIKKytGdW5jdGlvbmFscyB0ZXN0cyBmb3IgYWN0aXZlIHRhZy1tYXRj aGVyIChtb2Q6YGJlaGF2ZS50YWdfbWF0Y2hlcmApLgorKyIiIgorKworK2Zyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2ltcG9ydCBweXRlc3QK Kytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlcgorKworKyMg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKysjIFRFU1QgREFUQToKKysjID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisrIyBWQUxVRV9QUk9WSURFUiA9IHsKKysjICAgICAiZm9vIjogImFsaWNlIiwKKysjICAg ICAiYmFyIjogIkJPQiIsCisrIyB9CisrCisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMgUFlU RVNUIEZJWFRVUkVTOgorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjIEBweXRlc3QuZml4dHVy ZQorKyMgZGVmIGFjdGl2ZV90YWdfbWF0Y2hlcigpOgorKyMgICAgIHRhZ19tYXRjaGVyID0gQWN0 aXZlVGFnTWF0Y2hlcihWQUxVRV9QUk9WSURFUikKKysjICAgICByZXR1cm4gdGFnX21hdGNoZXIK KysKKysKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyBURVNUIFNVSVRFOgorKyMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKytjbGFzcyBUZXN0QWN0aXZhdGVUYWdzKG9iamVjdCk6CisrICAgIFZB TFVFX1BST1ZJREVSID0geworKyAgICAgICAgImZvbyI6ICJGcmFuayIsCisrICAgICAgICAiYmFy IjogIkJvYiIsCisrICAgICAgICAjICJPVEhFUiI6ICJWQUxVRSIsCisrICAgIH0KKysKKysgICAg ZGVmIGNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhzZWxmLCBjYXNlLCBleHBlY3Rl ZCwgdGFncyk6CisrICAgICAgICAjIC0tIHRhZ19tYXRjaGVyLnNob3VsZF9ydW5fd2l0aCh0YWdz KS5yZXN1bHQgOj0gZXhwZWN0ZWQKKysgICAgICAgIGNhc2UgKz0gIiAodGFnczoge3RhZ3N9KSIK KysgICAgICAgIHRhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihzZWxmLlZBTFVFX1BST1ZJ REVSKQorKyAgICAgICAgYWN0dWFsX3Jlc3VsdDEgPSB0YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dp dGgodGFncykKKysgICAgICAgIGFjdHVhbF9yZXN1bHQyID0gdGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgYXNzZXJ0IGV4cGVjdGVkID09IGFjdHVhbF9yZXN1 bHQxLCBjYXNlLmZvcm1hdCh0YWdzPXRhZ3MpCisrICAgICAgICBhc3NlcnQgKG5vdCBleHBlY3Rl ZCkgPT0gYWN0dWFsX3Jlc3VsdDIKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJj YXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICgidXNlLndpdGhfZm9vPVZBTFVFIG1h dGNoZXMiLCAgICAgVHJ1ZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsiXSksCisrICAgICAgICAoInVz ZS53aXRoX2Zvbz1WQUxVRSBtaXNtYXRjaGVzIiwgRmFsc2UsIFsidXNlLndpdGhfZm9vPU9USEVS Il0pLAorKyAgICAgICAgKCJub3Qud2l0aF9mb289VkFMVUUgbWF0Y2hlcyIsICAgIEZhbHNlLCBb Im5vdC53aXRoX2Zvbz1GcmFuayJdKSwKKysgICAgICAgICgibm90LndpdGhfZm9vPVZBTFVFIG1p c21hdGNoZXMiLCAgVHJ1ZSwgWyJub3Qud2l0aF9mb289T1RIRVIiXSksCisrICAgICAgICAoIk5P X1RBR1MiLCBUcnVlLCBbXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X29uZV90YWdfZm9yX2Nh dGVnb3J5MShzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICBzZWxmLmNoZWNr X3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwgdGFncykKKysKKysg ICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysg ICAgICAgICgidXNlLndpdGhfYmFyPUJvYiBtYXRjaGVzIiwgICAgICAgVHJ1ZSwgWyJ1c2Uud2l0 aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF9iYXI9VkFMVUUgbWlzbWF0Y2hlcyIs IEZhbHNlLCBbInVzZS53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgibm90LndpdGhfYmFy PVZBTFVFIG1hdGNoZXMiLCAgICBGYWxzZSwgWyJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAg ICAgKCJub3Qud2l0aF9iYXI9VkFMVUUgbWlzbWF0Y2hlcyIsICBUcnVlLCBbIm5vdC53aXRoX2Jh cj1PVEhFUiJdKSwKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfb25lX3RhZ19mb3JfY2F0ZWdvcnky KHNlbGYsIGNhc2UsIGV4cGVjdGVkLCB0YWdzKToKKysgICAgICAgIHNlbGYuY2hlY2tfc2hvdWxk X3J1bl93aXRoX2FjdGl2ZV90YWdzKGNhc2UsIGV4cGVjdGVkLCB0YWdzKQorKworKyAgICAjIEBw eXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICMg ICAgICgidXNlLndpdGhfT1RIRVI9VkFMVUUgbWF0Y2hlcyIsICAgICBUcnVlLCBbInVzZS53aXRo X09USEVSPVZBTFVFIl0pLAorKyAgICAjICAgICAoInVzZS53aXRoX09USEVSPVZBTFVFIG1pc21h dGNoZXMiLCBGYWxzZSwgWyJ1c2Uud2l0aF9PVEhFUj1PVEhFUiJdKSwKKysgICAgIyAgICAgKCJu b3Qud2l0aF9PVEhFUj1WQUxVRSBtYXRjaGVzIiwgICAgRmFsc2UsIFsibm90LndpdGhfT1RIRVI9 VkFMVUUiXSksCisrICAgICMgICAgICgibm90LndpdGhfT1RIRVI9VkFMVUUgbWlzbWF0Y2hlcyIs ICBUcnVlLCBbIm5vdC53aXRoX09USEVSPU9USEVSIl0pLAorKyAgICAjIF0pCisrICAgICMgZGVm IHRlc3Rfb25lX3RhZ19mb3Jfb3RoZXJfY2F0ZWdvcnkoc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRh Z3MpOgorKyAgICAjICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhj YXNlLCBleHBlY3RlZCwgdGFncykKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJj YXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICgiMnggdXNlLndpdGhfZm9vPVZBTFVF OiBvbmUgbWF0Y2hlcyIsIFRydWUsCisrICAgICAgICAgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAi dXNlLndpdGhfZm9vPU9USEVSIl0pLAorKyAgICAgICAgKCIyeCBub3Qud2l0aF9mb289VkFMVUU6 IG9uZSBtYXRjaGVzIiwgRmFsc2UsCisrICAgICAgICAgWyJub3Qud2l0aF9mb289RnJhbmsiLCAi bm90LndpdGhfZm9vPU9USEVSIl0pLAorKyAgICAgICAgKCIxeCB1c2UuL25vdC53aXRoX2Zvbz1W QUxVRTogdXNlLW1hdGNoZXMiLCBUcnVlLAorKyAgICAgICAgIFsidXNlLndpdGhfZm9vPUZyYW5r IiwgIm5vdC53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAgICAgICgiMXggdXNlLi9ub3Qud2l0aF9m b289VkFMVUU6IG5vdC1tYXRjaGVzIiwgRmFsc2UsCisrICAgICAgICAgWyJub3Qud2l0aF9mb289 RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSIl0pLAorKyAgICBdKQorKyAgICBkZWYgdGVzdF9v bmVfY2F0ZWdvcnlfd2l0aF90d29fdGFncyhzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6Cisr ICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBl Y3RlZCwgdGFncykKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBl Y3RlZCwgdGFncyIsIFsKKysgICAgICAgICgiM3ggdXNlLndpdGhfZm9vPVZBTFVFOiBvbmUgbWF0 Y2hlcyIsIFRydWUsCisrICAgICAgICAgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhf Zm9vPU9USEVSXzEiLCAidXNlLndpdGhfZm9vPU9USEVSXzIiXSksCisrICAgICAgICAoIjN4IG5v dC53aXRoX2Zvbz1WQUxVRTogb25lIG1hdGNoZXMiLCBGYWxzZSwKKysgICAgICAgICBbIm5vdC53 aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9mb289T1RIRVJfMSIsICJub3Qud2l0aF9mb289T1RI RVJfMiJdKSwKKysgICAgICAgICgiMnggdXNlLndpdGhfZm9vPVZBTFVFOiB1c2UtbWF0Y2hlcyIs IFRydWUsCisrICAgICAgICAgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9U SEVSXzEiLCAibm90LndpdGhfZm9vPU9USEVSXzIiXSksCisrICAgICAgICAoIjJ4IG5vdC53aXRo X2Zvbz1WQUxVRTogbm90LW1hdGNoZXMiLCBGYWxzZSwKKysgICAgICAgICBbIm5vdC53aXRoX2Zv bz1GcmFuayIsICJub3Qud2l0aF9mb289T1RIRVJfMSIsICJ1c2Uud2l0aF9mb289T1RIRVJfMiJd KSwKKysgICAgICAgICgiMXggdXNlLndpdGhfZm9vPVZBTFVFOiB1c2UtbWF0Y2hlcyIsIFRydWUs CisrICAgICAgICAgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSXzEi LCAibm90LndpdGhfZm9vPU9USEVSXzIiXSksCisrICAgICAgICAoIjF4IG5vdC53aXRoX2Zvbz1W QUxVRTogbm90LW1hdGNoZXMiLCBGYWxzZSwKKysgICAgICAgICBbIm5vdC53aXRoX2Zvbz1GcmFu ayIsICJ1c2Uud2l0aF9mb289T1RIRVJfMSIsICJ1c2Uud2l0aF9mb289T1RIRVJfMiJdKSwKKysg ICAgXSkKKysgICAgZGVmIHRlc3Rfb25lX2NhdGVnb3J5X3dpdGhfdGhyZWVfdGFncyhzZWxmLCBj YXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0 aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwgdGFncykKKysKKysgICAgQHB5dGVzdC5tYXJr LnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICMgLS0gdXNl LndpdGhfQ0FURUdPUlk9VkFMVUUKKysgICAgICAgICgidXNlLndpdGhfLi4uIDJ4IG1hdGNoZXMi LCAgICAgIFRydWUsIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Jhcj1Cb2IiXSks CisrICAgICAgICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVzIiwgICAgIEZhbHNlLCBbInVzZS53 aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoInVzZS53 aXRoXy4uLiAxeCBtYXRjaGVzIiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1 c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVz IiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0p LAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMHggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uu d2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgIyAtLSBu b3Qud2l0aF9DQVRFR09SWT1WQUxVRQorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMnggbWF0Y2hl cyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAor KyAgICAgICAgKCJub3Qud2l0aF8uLi4gMXggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zv bz1GcmFuayIsICJub3Qud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoIm5vdC53aXRoXy4u LiAxeCBtYXRjaGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Jh cj1Cb2IiXSksCisrICAgICAgICAoIm5vdC53aXRoXy4uLiAweCBtYXRjaGVzIiwgIFRydWUsIFsi bm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICMg LS0gdXNlLndpdGhfQ0FURUdPUllfMT1WQUxVRV8xLCBub3Qud2l0aF9DQVRFR09SWV8yPVZBTFVF XzIKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gdXNlLW1hdGNoZXMiLCAgVHJ1ZSwgWyJ1 c2Uud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1 c2UuL25vdC53aXRoXy4uLiBub3QtbWF0Y2hlcyIsIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhF UiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAy eCBtYXRjaGVzIiwgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9iYXI9 Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAweCBtYXRjaGVzIiwgIEZhbHNl LCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9iYXI9T1RIRVIiXSksCisrICAgIF0p CisrICAgIGRlZiB0ZXN0X3R3b19jYXRlZ29yaWVzX3dpdGhfdHdvX3RhZ3Moc2VsZiwgY2FzZSwg ZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0 aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJh bWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAjIC0tIHVzZS53aXRo X0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAoInVzZS53aXRoXy4uLiAyeCBtYXRjaGVzIiwgICAg ICBUcnVlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNl LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLndpdGhfLi4uIDF4IG1hdGNoZXMiLCAg ICAgRmFsc2UsIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1 c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVz IiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9mb289RnJhbmsi LCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0 Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfZm9vPU9U SEVSMiIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMHgg bWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFy PU9USEVSMiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAjIC0tIG5vdC53aXRo X0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAoIm5vdC53aXRoXy4uLiAyeCBtYXRjaGVzIiwgRmFs c2UsIFsibm90LndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0 aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMXggbWF0Y2hlcyIsIEZhbHNl LCBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhf YmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMXggbWF0Y2hlcyIsIEZhbHNl LCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRo X2Jhcj1Cb2IiXSksCisrICAgICAgICAoIm5vdC53aXRoXy4uLiAweCBtYXRjaGVzIiwgIFRydWUs IFsibm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Zvbz1PVEhFUjIiLCAibm90LndpdGhf YmFyPU9USEVSIl0pLAorKyAgICAgICAgIyAtLSB1c2Uud2l0aF9DQVRFR09SWV8xPVZBTFVFXzEs IG5vdC53aXRoX0NBVEVHT1JZXzI9VkFMVUVfMgorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4u LiB1c2UtbWF0Y2hlcyIsICBUcnVlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9m b289T1RIRVIiLCAibm90LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53 aXRoXy4uLiBub3QtbWF0Y2hlcyIsIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uu d2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoInVzZS4v bm90LndpdGhfLi4uIDJ4IG1hdGNoZXMiLCAgRmFsc2UsIFsidXNlLndpdGhfZm9vPUZyYW5rIiwg InVzZS53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1 c2UuL25vdC53aXRoXy4uLiAweCBtYXRjaGVzIiwgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhF UiIsICJ1c2Uud2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAg ICAgICMgLS0gbm90LndpdGhfQ0FURUdPUllfMT1WQUxVRV8xLCB1c2Uud2l0aF9DQVRFR09SWV8y PVZBTFVFXzIKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gbm90LW1hdGNoZXMiLCBGYWxz ZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRo X2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gdXNlLW1hdGNoZXMi LCBUcnVlLCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9mb289T1RIRVIyIiwgInVz ZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoInVzZS4vbm90LndpdGhfLi4uIDJ4IG1hdGNo ZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSIiwg InVzZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoInVzZS4vbm90LndpdGhfLi4uIDB4IG1h dGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfZm9vPU9USEVS MiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3R3b19j YXRlZ29yaWVzX3dpdGhfdGhyZWVfdGFncyhzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6Cisr ICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBl Y3RlZCwgdGFncykKKysKKysnJycKKytjbGFzcyBUcmFpdHM0QWN0aXZlVGFnTWF0Y2hlcihvYmpl Y3QpOgorKyAgICBUYWdNYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcgorKyAgICB2YWx1ZV9wcm92 aWRlciA9IHsKKysgICAgICAgICJmb28iOiAiYWxpY2UiLAorKyAgICAgICAgImJhciI6ICJCT0Ii LAorKyAgICB9CisrCisrICAgIGNhdGVnb3J5MV9lbmFibGVkX3RhZyA9IFRhZ01hdGNoZXIubWFr ZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIpCisrICAgIGNhdGVnb3J5MV9kaXNhYmxlZF90 YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYm9iIikKKysgICAgY2F0 ZWdvcnkxX2Rpc2FibGVkX3RhZzIgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28i LCAiY2hhcmx5IikKKysgICAgY2F0ZWdvcnkxX3NpbWlsYXJfdGFnID0gVGFnTWF0Y2hlci5tYWtl X2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNlMiIpCisrICAgIGNhdGVnb3J5Ml9lbmFibGVkX3Rh ZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0IiKQorKyAgICBjYXRl Z29yeTJfZGlzYWJsZWRfdGFnID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiYmFyIiwg IkNIQVJMWSIpCisrICAgIGNhdGVnb3J5Ml9zaW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIubWFrZV9j YXRlZ29yeV90YWcoImJhciIsICJCT0IyIikKKysgICAgdW5rbm93bl9jYXRlZ29yeV90YWcgPSBU YWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJVTktOT1dOIiwgIm9uZSIpCisrCisrICAgICMg LS0gTkVHQVRFRCBUQUdTOgorKyAgICBjYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnID0gXAorKyAg ICAgICAgVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNlIiwgIm5vdF9h Y3RpdmUiKQorKyAgICBjYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnMiA9IFwKKysgICAgICAgIFRh Z01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIsICJub3QiKQorKyAgICBj YXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZyA9IFwKKysgICAgICAgIFRhZ01hdGNoZXIubWFrZV9j YXRlZ29yeV90YWcoImZvbyIsICJib2IiLCAibm90X2FjdGl2ZSIpCisrICAgIGNhdGVnb3J5MV9u ZWdhdGVkX3NpbWlsYXJfdGFnMSA9IFwKKysgICAgICAgIFRhZ01hdGNoZXIubWFrZV9jYXRlZ29y eV90YWcoImZvbyIsICJhbGljZTIiLCAibm90X2FjdGl2ZSIpCisrCisrCisrICAgIGFjdGl2ZV90 YWdzMSA9IFsKKysgICAgICAgIGNhdGVnb3J5MV9lbmFibGVkX3RhZywgY2F0ZWdvcnkxX2Rpc2Fi bGVkX3RhZywgY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLAorKyAgICAgICAgY2F0ZWdvcnkxX25vdF9l bmFibGVkX3RhZywgY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZzIsCisrICAgIF0KKysgICAgYWN0 aXZlX3RhZ3MyID0gWworKyAgICAgICAgY2F0ZWdvcnkyX2VuYWJsZWRfdGFnLCBjYXRlZ29yeTJf ZGlzYWJsZWRfdGFnLCBjYXRlZ29yeTJfc2ltaWxhcl90YWcsCisrICAgIF0KKysgICAgYWN0aXZl X3RhZ3MgPSBhY3RpdmVfdGFnczEgKyBhY3RpdmVfdGFnczIKKysKKysKKysjIC0tIFJFUVVJUkVT OiBweXRlc3QKKytjbGFzcyBUZXN0QWN0aXZlVGFnTWF0Y2hlcjIob2JqZWN0KToKKysgICAgVGFn TWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIKKysgICAgdHJhaXRzID0gVHJhaXRzNEFjdGl2ZVRh Z01hdGNoZXIKKysKKysgICAgQGNsYXNzbWV0aG9kCisrICAgIGRlZiBtYWtlX3RhZ19tYXRjaGVy KGNscyk6CisrICAgICAgICB2YWx1ZV9wcm92aWRlciA9IHsKKysgICAgICAgICAgICAiZm9vIjog ImFsaWNlIiwKKysgICAgICAgICAgICAiYmFyIjogIkJPQiIsCisrICAgICAgICB9CisrICAgICAg ICB0YWdfbWF0Y2hlciA9IGNscy5UYWdNYXRjaGVyKHZhbHVlX3Byb3ZpZGVyKQorKyAgICAgICAg cmV0dXJuIHRhZ19tYXRjaGVyCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2Fz ZSwgZXhwZWN0ZWRfbGVuLCB0YWdzIiwgWworKyAgICAgICAgKCJjYXNlOiBUd28gZW5hYmxlZCB0 YWdzIiwgMiwKKysgICAgICAgICBbdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRz LmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlOiBBY3RpdmUgZW5hYmxl ZCBhbmQgbm9ybWFsIHRhZyIsIDEsCisrICAgICAgICAgW3RyYWl0cy5jYXRlZ29yeTFfZW5hYmxl ZF90YWcsICAiZm9vIl0pLAorKyAgICAgICAgKCJjYXNlOiBBY3RpdmUgZGlzYWJsZWQgYW5kIG5v cm1hbCB0YWciLCAxLAorKyAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywg ImZvbyJdKSwKKysgICAgICAgICgiY2FzZTogTm9ybWFsIGFuZCBhY3RpdmUgbmVnYXRlZCB0YWci LCAxLAorKyAgICAgICAgIFsiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWdd KSwKKysgICAgICAgICgiY2FzZTogVHdvIG5vcm1hbCB0YWdzIiwgMCwKKysgICAgICAgICBbImZv byIsICJiYXIiXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9hY3RpdmVfdGFnc19f d2l0aF90d29fdGFncyhzZWxmLCBjYXNlLCBleHBlY3RlZF9sZW4sIHRhZ3MpOgorKyAgICAgICAg dGFnX21hdGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQorKyAgICAgICAgc2VsZWN0ZWQg PSB0YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3RhZ3ModGFncykKKysgICAgICAgIHNlbGVjdGVk ID0gbGlzdChzZWxlY3RlZCkKKysgICAgICAgIGFzc2VydCBsZW4oc2VsZWN0ZWQpID09IGV4cGVj dGVkX2xlbiwgY2FzZQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImNhc2UsIGV4 cGVjdGVkLCB0YWdzIiwgWworKyAgICAgICAgIyAtLSBHUk9VUDogV2l0aCBwb3NpdGl2ZSBsb2dp YyAobm9uLW5lZ2F0ZWQgdGFncykKKysgICAgICAgICgiY2FzZSBQMDA6IDIgZGlzYWJsZWQgdGFn cyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJh aXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBQMDE6IGRpc2Fi bGVkIGFuZCBlbmFibGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAg KCJjYXNlIFAxMDogZW5hYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBb IHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRf dGFnXSksCisrICAgICAgICAoImNhc2UgUDExOiAyIGVuYWJsZWQgdGFncyIsIEZhbHNlLCAgIyAt LSBTSE9VTEQtUlVOCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAjIC0tIEdST1VQOiBXaXRo IG5lZ2F0ZWQgdGFnCisrICAgICAgICAoImNhc2UgTjAwOiBub3QtZW5hYmxlZCBhbmQgZGlzYWJs ZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRf dGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIE4w MTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0 cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFn XSksCisrICAgICAgICAoImNhc2UgTjEwOiBub3QtZGlzYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIs IFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRy YWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgTjExOiBub3Qt ZGlzYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgRmFsc2UsICMgLS0gU0hPVUxELVJVTgorKyAgICAg ICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnky X2VuYWJsZWRfdGFnXSksCisrICAgICAgICAjIC0tIEdST1VQOiBXaXRoIHVua25vd24gY2F0ZWdv cnkKKysgICAgICAgICgiY2FzZSBVMHg6IGRpc2FibGVkIGFuZCB1bmtub3duIHRhZyIsIFRydWUs CisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLnVua25v d25fY2F0ZWdvcnlfdGFnXSksCisrICAgICAgICAoImNhc2UgVTF4OiBlbmFibGVkIGFuZCB1bmtu b3duIHRhZyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgWyB0cmFpdHMuY2F0 ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKysgICAg XSkKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fY29tYmluYXRpb25zX29mXzJf Y2F0ZWdvcmllcyhzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICB0YWdfbWF0 Y2hlciA9IHNlbGYubWFrZV90YWdfbWF0Y2hlcigpCisrICAgICAgICBhY3R1YWxfcmVzdWx0ID0g dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgYXNzZXJ0IGV4 cGVjdGVkID09IGFjdHVhbF9yZXN1bHQsIGNhc2UKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFt ZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICMgLS0gR1JPVVA6IFdp dGggcG9zaXRpdmUgbG9naWMgKG5vbi1uZWdhdGVkIHRhZ3MpCisrICAgICAgICAoImNhc2UgUDAw OiAyIGRpc2FibGVkIHRhZ3MiLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9k aXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnMl0pLAorKyAgICAgICAg KCJjYXNlIFAwMTogZGlzYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgRmFsc2UsCisrICAgICAgICAg WyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVk X3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFAxMDogZW5hYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwg RmFsc2UsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFAxMTogMiBlbmFibGVk IHRhZ3MgKHNhbWUpIiwgRmFsc2UsICAjIC0tIFNIT1VMRC1SVU4KKysgICAgICAgICBbIHRyYWl0 cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwK KysgICAgICAgICMgLS0gR1JPVVA6IFdpdGggbmVnYXRlZCB0YWcKKysgICAgICAgICgiY2FzZSBO MDA6IG5vdC1lbmFibGVkIGFuZCBkaXNhYmxlZCB0YWciLCBUcnVlLAorKyAgICAgICAgIFsgdHJh aXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRf dGFnXSksCisrICAgICAgICAoImNhc2UgTjAxOiBub3QtZW5hYmxlZCBhbmQgZW5hYmxlZCB0YWci LCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRy YWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBOMTA6IG5vdC1k aXNhYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRl Z29yeTFfbm90X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWddKSwK KysgICAgICAgICgiY2FzZSBOMTE6IG5vdC1kaXNhYmxlZCBhbmQgZW5hYmxlZCB0YWciLCBGYWxz ZSwgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNh YmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwKKysgICAgXSkKKysgICAg ZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fY29tYmluYXRpb25zX3dpdGhfc2FtZV9jYXRl Z29yeShzZWxmLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgdGFnX21hdGNoZXIg PSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQorKyAgICAgICAgcHJpbnQoInRhZ3M6IHt9Ii5mb3Jt YXQodGFncykgKQorKyAgICAgICAgcHJpbnQoInRhZ19tYXRjaGVyLnZhbHVlOiB7fSIuZm9ybWF0 KHRhZ19tYXRjaGVyLnZhbHVlX3Byb3ZpZGVyKSApCisrICAgICAgICBhY3R1YWxfcmVzdWx0ID0g dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgYXNzZXJ0IGV4 cGVjdGVkID09IGFjdHVhbF9yZXN1bHQsIGNhc2UKKysKKysKKytjbGFzcyBUZXN0QWN0aXZlVGFn cyhUZXN0Q2FzZSk6CisrICAgIFRhZ01hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyCisrICAgIHRy YWl0cyA9IFRyYWl0czRBY3RpdmVUYWdNYXRjaGVyCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAg ICBkZWYgbWFrZV90YWdfbWF0Y2hlcihjbHMpOgorKyAgICAgICAgdGFnX21hdGNoZXIgPSBjbHMu VGFnTWF0Y2hlcihjbHMudHJhaXRzLnZhbHVlX3Byb3ZpZGVyKQorKyAgICAgICAgcmV0dXJuIHRh Z19tYXRjaGVyCisrCisrICAgIGRlZiBzZXRVcChzZWxmKToKKysgICAgICAgIHNlbGYudGFnX21h dGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQorKworKyAgICBkZWYgdGVzdF9zZWxlY3Rf YWN0aXZlX3RhZ3NfX2Jhc2ljcyhzZWxmKToKKysgICAgICAgIGFjdGl2ZV90YWcgPSAiYWN0aXZl LndpdGhfQ0FURUdPUlk9VkFMVUUiCisrICAgICAgICB0YWdzID0gWyJmb28iLCBhY3RpdmVfdGFn LCAiYmFyIl0KKysgICAgICAgIHNlbGVjdGVkID0gbGlzdChzZWxmLnRhZ19tYXRjaGVyLnNlbGVj dF9hY3RpdmVfdGFncyh0YWdzKSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGVj dGVkKSwgMSkKKysgICAgICAgIHNlbGVjdGVkX3RhZywgc2VsZWN0ZWRfbWF0Y2ggPSBzZWxlY3Rl ZFswXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxlY3RlZF90YWcsIGFjdGl2ZV90YWcp CisrCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9hY3RpdmVfdGFnc19fbWF0Y2hlc190YWdfcGFydHMo c2VsZik6CisrICAgICAgICB0YWdzID0gWyJhY3RpdmUud2l0aF9DQVRFR09SWT1WQUxVRSJdCisr ICAgICAgICBzZWxlY3RlZCA9IGxpc3Qoc2VsZi50YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3Rh Z3ModGFncykpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxlY3RlZCksIDEpCisr ICAgICAgICBzZWxlY3RlZF90YWcsIHNlbGVjdGVkX21hdGNoID0gc2VsZWN0ZWRbMF0KKysgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZWN0ZWRfbWF0Y2guZ3JvdXAoInByZWZpeCIpLCAiYWN0 aXZlIikKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZWN0ZWRfbWF0Y2guZ3JvdXAoImNh dGVnb3J5IiksICJDQVRFR09SWSIpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGVjdGVk X21hdGNoLmdyb3VwKCJ2YWx1ZSIpLCAiVkFMVUUiKQorKworKyAgICBkZWYgdGVzdF9zZWxlY3Rf YWN0aXZlX3RhZ3NfX2ZpbmRzX3RhZ193aXRoX2FueV92YWxpZF90YWdfcHJlZml4KHNlbGYpOgor KyAgICAgICAgVGFnTWF0Y2hlciA9IHNlbGYuVGFnTWF0Y2hlcgorKyAgICAgICAgZm9yIHRhZ19w cmVmaXggaW4gVGFnTWF0Y2hlci50YWdfcHJlZml4ZXM6CisrICAgICAgICAgICAgdGFnID0gVGFn TWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNlIiwgdGFnX3ByZWZpeCkKKysg ICAgICAgICAgICB0YWdzID0gWyB0YWcgXQorKyAgICAgICAgICAgIHNlbGVjdGVkID0gc2VsZi50 YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3RhZ3ModGFncykKKysgICAgICAgICAgICBzZWxlY3Rl ZCA9IGxpc3Qoc2VsZWN0ZWQpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2Vs ZWN0ZWQpLCAxKQorKyAgICAgICAgICAgIHNlbGVjdGVkX3RhZzAgPSBzZWxlY3RlZFswXVswXQor KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZWN0ZWRfdGFnMCwgdGFnKQorKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxlY3RlZF90YWcwLnN0YXJ0c3dpdGgodGFnX3ByZWZp eCkpCisrCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9hY3RpdmVfdGFnc19faWdub3Jlc19pbnZhbGlk X2FjdGl2ZV90YWdzKHNlbGYpOgorKyAgICAgICAgaW52YWxpZF9hY3RpdmVfdGFncyA9IFsKKysg ICAgICAgICAgICAoImZvby5hbGljZSIsICAgICAgICAgICAgICAgImNhc2U6IE5vcm1hbCB0YWci KSwKKysgICAgICAgICAgICAoIndpdGhfZm9vPUZyYW5rIiwgICAgICAgICAgImNhc2U6IFN1YnNl dCBvZiBhbiBhY3RpdmUgdGFnIiksCisrICAgICAgICAgICAgKCJBQ1RJVkUud2l0aF9mb28uYWxp Y2UiLCAgICJjYXNlOiBXcm9uZyB0YWdfcHJlZml4ICh1cHBlcmNhc2UpIiksCisrICAgICAgICAg ICAgKCJvbmx5LndpdGhfZm9vLmFsaWNlIiwgICAgICJjYXNlOiBXcm9uZyB2YWx1ZV9zZXBhcmF0 b3IiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciBpbnZhbGlkX3RhZywgY2FzZSBpbiBpbnZh bGlkX2FjdGl2ZV90YWdzOgorKyAgICAgICAgICAgIHRhZ3MgPSBbIGludmFsaWRfdGFnIF0KKysg ICAgICAgICAgICBzZWxlY3RlZCA9IHNlbGYudGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdz KHRhZ3MpCisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaXN0KHNlbGVjdGVkKQorKyAgICAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGVjdGVkKSwgMCwgY2FzZSkKKysKKysgICAgZGVm IHRlc3Rfc2VsZWN0X2FjdGl2ZV90YWdzX193aXRoX3R3b190YWdzKHNlbGYpOgorKyAgICAgICAg IyBYWFgtSkUtRFVQTElDQVRFRDoKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAg ICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgICgiY2FzZTogVHdvIGVuYWJsZWQg dGFncyIsCisrICAgICAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFp dHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlOiBBY3RpdmUg ZW5hYmxlZCBhbmQgbm9ybWFsIHRhZyIsCisrICAgICAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkx X2VuYWJsZWRfdGFnLCAgImZvbyJdKSwKKysgICAgICAgICAgICAoImNhc2U6IEFjdGl2ZSBkaXNh YmxlZCBhbmQgbm9ybWFsIHRhZyIsCisrICAgICAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2Rp c2FibGVkX3RhZywgImZvbyJdKSwKKysgICAgICAgICAgICAoImNhc2U6IEFjdGl2ZSBuZWdhdGVk IGFuZCBub3JtYWwgdGFnIiwKKysgICAgICAgICAgICAgW3RyYWl0cy5jYXRlZ29yeTFfbm90X2Vu YWJsZWRfdGFnLCAiZm9vIl0pLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIGNhc2UsIHRhZ3Mg aW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxlY3RlZCA9IHNlbGYudGFnX21hdGNo ZXIuc2VsZWN0X2FjdGl2ZV90YWdzKHRhZ3MpCisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaXN0 KHNlbGVjdGVkKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oc2VsZWN0ZWQpID49 IDEsIGNhc2UpCisrCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVy bnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYu dHJhaXRzCisrICAgICAgICB0YWdzMSA9IFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBd CisrICAgICAgICB0YWdzMiA9IFsgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZyBdCisrICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFnczEpKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50 YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MyKSkKKysKKysgICAgZGVmIHRlc3Rf c2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2Rpc2FibGVkX3RhZ19hbmRf bW9yZShzZWxmKToKKysgICAgICAgICMgLS0gTk9URTogTmVlZCAxKyBlbmFibGVkIGFjdGl2ZS10 YWdzIG9mIHNhbWUgY2F0ZWdvcnkgPT4gRU5BQkxFRAorKyAgICAgICAgIyBweWxpbnQ6IGRpc2Fi bGU9bGluZS10b28tbG9uZworKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAg IHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFi bGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgImNhc2U6IGZpcnN0Iiks CisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5j YXRlZ29yeTFfZW5hYmxlZF90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAi Zm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNh YmxlZF90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysgICAgICAgIF0KKysgICAgICAg IGVuYWJsZWQgPSBUcnVlICAjIEVYUEVDVEVECisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0 ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobm90IGVuYWJsZWQs IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAg IGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3Rh ZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzID0g WyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVx dWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKysK KysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfb3Ro ZXJfdGFnX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysg ICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5 MV9kaXNhYmxlZF90YWcsICJmb28iIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAgICAgICAgIChb ICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAor KyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImJh ciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNh c2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUs IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAg IGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJf dGFnKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRhZ3Mg PSBbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisr CisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3Np bWlsYXJfYW5kX21vcmUoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAg ICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkx X3NpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyAi Zm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAg ICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLCAiYmFyIiBd LCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBp biB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2Vs Zi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVm IHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2NhdGVnb3J5 X3RhZyhzZWxmKToKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsg XSwgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCisrICAgICAgICAgICAgKFsgImZvbyIgXSwg ICAgICJjYXNlOiBPbmUgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICJj YXNlOiBUd28gdGFncyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4g dGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxm LnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYg dGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfdW5rbm93bl9jYXRl Z29yeV90YWcoc2VsZik6CisrICAgICAgICAiIiJUYWdzIGZyb20gdW5rbm93biBjYXRlZ29yaWVz LCBub3Qgc3VwcG9ydGVkIGJ5IHZhbHVlX3Byb3ZpZGVyLAorKyAgICAgICAgc2hvdWxkIG5vdCBi ZSBleGNsdWRlZC4KKysgICAgICAgICIiIgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMK KysgICAgICAgIHRhZ3MgPSBbIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZyBdCisrICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKCJ1c2Uud2l0aF9VTktOT1dOPW9uZSIsIHRyYWl0cy51bmtub3du X2NhdGVnb3J5X3RhZykKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgc2VsZi50YWdf bWF0Y2hlci52YWx1ZV9wcm92aWRlci5nZXQoIlVOS05PV04iKSkKKysgICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdz KSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fY29tYmluYXRpb25zX29m XzJfY2F0ZWdvcmllcyhzZWxmKToKKysgICAgICAgICMgWFhYLUpFLURVUExJQ0FURUQ6CisrICAg ICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysg ICAgICAgICAgICAoImNhc2UgUDAwOiAyIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAor KyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0 ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSBQMDE6IGRpc2FibGVk IGFuZCBlbmFibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0 cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSks CisrICAgICAgICAgICAgKCJjYXNlIFAxMDogZW5hYmxlZCBhbmQgZGlzYWJsZWQgY2F0ZWdvcnkg dGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3Rh ZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICAgICAoImNhc2Ug UDExOiAyIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisr ICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVn b3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBXaXRo IG5lZ2F0ZWQgY2F0ZWdvcnkKKysgICAgICAgICAgICAoImNhc2UgTjAwOiBub3QtZW5hYmxlZCBh bmQgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRz LmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFn XSksCisrICAgICAgICAgICAgKCJjYXNlIE4wMTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgY2F0 ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3Rf ZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAgICAg ICAoImNhc2UgTjEwOiBub3QtZGlzYWJsZWQgYW5kIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBU cnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZywg dHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICAgICAoImNhc2UgTjEx OiBub3QtZW5hYmxlZCBhbmQgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIC0tIFNI T1VMRC1SVU4KKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90 YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAgICAgICAjIC0tIFNQ RUNJQUwgQ0FTRTogV2l0aCB1bmtub3duIGNhdGVnb3J5CisrICAgICAgICAgICAgKCJjYXNlIDB4 OiBkaXNhYmxlZCBhbmQgdW5rbm93biBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICAg ICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLnVua25vd25fY2F0ZWdv cnlfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIDF4OiBlbmFibGVkIGFuZCB1bmtub3duIGNh dGVnb3J5IHRhZ3MiLCBGYWxzZSwgICMgU0hPVUxELVJVTgorKyAgICAgICAgICAgICBbIHRyYWl0 cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZ10pLAor KyAgICAgICAgXQorKyAgICAgICAgZm9yIGNhc2UsIGV4cGVjdGVkLCB0YWdzIGluIHRlc3RfcGF0 dGVybnM6CisrICAgICAgICAgICAgYWN0dWFsX3Jlc3VsdCA9IHNlbGYudGFnX21hdGNoZXIuc2hv dWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhw ZWN0ZWQsIGFjdHVhbF9yZXN1bHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6 IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfcnVuX3dp dGhfX25lZ2F0ZXNfcmVzdWx0X29mX3Nob3VsZF9leGNsdWRlX3dpdGgoc2VsZik6CisrICAgICAg ICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAg ICAgICAgICAoWyBdLCAgICAgICAgICAgICAgICAgICAiY2FzZTogTm8gdGFncyIpLAorKyAgICAg ICAgICAgIChbICJmb28iIF0sICAgICAgICAgICAgICJjYXNlOiBPbmUgbm9uLWNhdGVnb3J5IHRh ZyIpLAorKyAgICAgICAgICAgIChbICJmb28iLCAiYmFyIiBdLCAgICAgICJjYXNlOiBUd28gbm9u LWNhdGVnb3J5IHRhZ3MiKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJs ZWRfdGFnIF0sICAgImNhc2U6IGVuYWJsZWQgdGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRz LmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwg ICJjYXNlOiBlbmFibGVkIGFuZCBvdGhlciB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMu Y2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCAiZm9vIiBdLCAgICAiY2FzZTogZW5hYmxlZCBhbmQgZm9v IHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0s ICAgICAgICAgICAgImNhc2U6IG90aGVyIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5j YXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiZm9vIiBdLCAgICAgImNhc2U6IG90aGVyIGFuZCBmb28g dGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAg ICAgICAgICAiY2FzZTogc2ltaWxhciB0YWciKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJh aXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAgICJjYXNlOiBmb28gYW5kIHNpbWlsYXIgdGFn IiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5z OgorKyAgICAgICAgICAgIHJlc3VsdDEgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9ydW5fd2l0 aCh0YWdzKQorKyAgICAgICAgICAgIHJlc3VsdDIgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncykKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdDEs IG5vdCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKyAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwobm90IHJlc3VsdDEsIHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAo Y2FzZSwgdGFncykpCisrCisrCisrY2xhc3MgVGVzdENvbXBvc2l0ZVRhZ01hdGNoZXIoVGVzdENh c2UpOgorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBjb3VudF90YWdfbWF0Y2hlcl93 aXRoX3Jlc3VsdCh0YWdfbWF0Y2hlcnMsIHRhZ3MsIHJlc3VsdF92YWx1ZSk6CisrICAgICAgICBj b3VudCA9IDAKKysgICAgICAgIGZvciB0YWdfbWF0Y2hlciBpbiB0YWdfbWF0Y2hlcnM6CisrICAg ICAgICAgICAgY3VycmVudF9yZXN1bHQgPSB0YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRo KHRhZ3MpCisrICAgICAgICAgICAgaWYgY3VycmVudF9yZXN1bHQgPT0gcmVzdWx0X3ZhbHVlOgor KyAgICAgICAgICAgICAgICBjb3VudCArPSAxCisrICAgICAgICByZXR1cm4gY291bnQKKysKKysg ICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgcHJlZGljYXRlX2ZhbHNlID0gbGFtYmRhIHRh Z3M6IEZhbHNlCisrICAgICAgICBwcmVkaWNhdGVfY29udGFpbnNfZm9vID0gbGFtYmRhIHRhZ3M6 IGFueSh4ID09ICJmb28iIGZvciB4IGluIHRhZ3MpCisrICAgICAgICBzZWxmLnRhZ19tYXRjaGVy X2ZhbHNlID0gUHJlZGljYXRlVGFnTWF0Y2hlcihwcmVkaWNhdGVfZmFsc2UpCisrICAgICAgICBz ZWxmLnRhZ19tYXRjaGVyX2ZvbyA9IFByZWRpY2F0ZVRhZ01hdGNoZXIocHJlZGljYXRlX2NvbnRh aW5zX2ZvbykKKysgICAgICAgIHRhZ19tYXRjaGVycyA9IFsKKysgICAgICAgICAgICBzZWxmLnRh Z19tYXRjaGVyX2ZvbywKKysgICAgICAgICAgICBzZWxmLnRhZ19tYXRjaGVyX2ZhbHNlCisrICAg ICAgICBdCisrICAgICAgICBzZWxmLmN0YWdfbWF0Y2hlciA9IENvbXBvc2l0ZVRhZ01hdGNoZXIo dGFnX21hdGNoZXJzKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX3RydWVfd2hlbl9hbnlfdGFnX21hdGNoZXJfcmV0dXJuc190cnVlKHNlbGYpOgorKyAgICAg ICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoImNhc2U6IHdpdGggZm9vIiwgIFsi Zm9vIiwgImJhciJdKSwKKysgICAgICAgICAgICAoImNhc2U6IHdpdGggZm9vMiIsIFsiZm9venki LCAiZm9vIiwgImJhciJdKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciBjYXNlLCB0YWdzIGlu IHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgYWN0dWFsX3Jlc3VsdCA9IHNlbGYuY3RhZ19t YXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKFRydWUsIGFjdHVhbF9yZXN1bHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICAgICAgICAgIGFjdHVhbF90 cnVlX2NvdW50ID0gc2VsZi5jb3VudF90YWdfbWF0Y2hlcl93aXRoX3Jlc3VsdCgKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3RhZ19tYXRjaGVyLnRhZ19tYXRjaGVycywg dGFncywgVHJ1ZSkKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGFjdHVhbF90cnVl X2NvdW50KQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2Zh bHNlX3doZW5fbm9fdGFnX21hdGNoZXJfcmV0dXJuX3RydWUoc2VsZik6CisrICAgICAgICB0ZXN0 X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgICgiY2FzZTogd2l0aG91dCBmb28iLCAgIFsiZm9v bCIsICJiYXIiXSksCisrICAgICAgICAgICAgKCJjYXNlOiB3aXRob3V0IGZvbzIiLCAgWyJmb296 eSIsICJiYXIiXSksCisrICAgICAgICBdCisrICAgICAgICBmb3IgY2FzZSwgdGFncyBpbiB0ZXN0 X3BhdHRlcm5zOgorKyAgICAgICAgICAgIGFjdHVhbF9yZXN1bHQgPSBzZWxmLmN0YWdfbWF0Y2hl ci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChGYWxzZSwgYWN0dWFsX3Jlc3VsdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIl czogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgICAgICAgICAgYWN0dWFsX3RydWVf Y291bnQgPSBzZWxmLmNvdW50X3RhZ19tYXRjaGVyX3dpdGhfcmVzdWx0KAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3RhZ19tYXRjaGVyLnRhZ19tYXRjaGVycywg dGFncywgVHJ1ZSkKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGFjdHVhbF90cnVl X2NvdW50KQorKycnJworKworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hl ci5weSBiL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQoraW5kZXggYTA0YzFkNC4uNDNm NWFmMCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQorKysrIGIv dGVzdHMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5CitAQCAtMTI4LDkgKzEyOCw5IEBAIGNsYXNz IFRlc3RBY3RpdmVUYWdNYXRjaGVyMihvYmplY3QpOgorICAgICAgICAgIyAtLSBHUk9VUDogV2l0 aCBuZWdhdGVkIHRhZworICAgICAgICAgKCJjYXNlIE4wMDogbm90LWVuYWJsZWQgYW5kIGRpc2Fi bGVkIHRhZyIsIFRydWUsCisgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVk X3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWddKSwKKy0gICAgICAgICgiY2FzZSBO MDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIHRhZyIsIEZhbHNlLAorKyAgICAgICAgKCJjYXNl IE4wMTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgVHJ1ZSwKKyAgICAgICAgICBbIHRy YWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRf dGFnXSksCistICAgICAgICAoImNhc2UgTjEwOiBub3QtZGlzYWJsZWQgYW5kIGRpc2FibGVkIHRh ZyIsIEZhbHNlLAorKyAgICAgICAgKCJjYXNlIE4xMDogbm90LWRpc2FibGVkIGFuZCBkaXNhYmxl ZCB0YWciLCBUcnVlLAorICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRf dGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZ10pLAorICAgICAgICAgKCJjYXNlIE4x MTogbm90LWRpc2FibGVkIGFuZCBlbmFibGVkIHRhZyIsIEZhbHNlLCAjIC0tIFNIT1VMRC1SVU4K KyAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNh dGVnb3J5MV9lbmFibGVkX3RhZ10pLAorQEAgLTEzOCw2ICsxMzgsOCBAQCBjbGFzcyBUZXN0QWN0 aXZlVGFnTWF0Y2hlcjIob2JqZWN0KToKKyAgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0 aF9fY29tYmluYXRpb25zX3dpdGhfc2FtZV9jYXRlZ29yeShzZWxmLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSwgZXhwZWN0ZWQs IHRhZ3MpOgorICAgICAgICAgdGFnX21hdGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQor KyAgICAgICAgcHJpbnQoInRhZ3M6IHt9Ii5mb3JtYXQodGFncykgKQorKyAgICAgICAgcHJpbnQo InRhZ19tYXRjaGVyLnZhbHVlOiB7fSIuZm9ybWF0KHRhZ19tYXRjaGVyLnZhbHVlX3Byb3ZpZGVy KSApCisgICAgICAgICBhY3R1YWxfcmVzdWx0ID0gdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVf d2l0aCh0YWdzKQorICAgICAgICAgYXNzZXJ0IGV4cGVjdGVkID09IGFjdHVhbF9yZXN1bHQsIGNh c2UKKyAKK0BAIC0yMjQsNiArMjI2LDcgQEAgY2xhc3MgVGVzdEFjdGl2ZVRhZ01hdGNoZXIxKFRl c3RDYXNlKToKKyAKKyAgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19m YWxzZV93aXRoX2Rpc2FibGVkX3RhZ19hbmRfbW9yZShzZWxmKToKKyAgICAgICAgICMgLS0gTk9U RTogTmVlZCAxKyBlbmFibGVkIGFjdGl2ZS10YWdzIG9mIHNhbWUgY2F0ZWdvcnkgPT4gRU5BQkxF RAorKyAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworICAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKyAgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisgICAgICAgICAg ICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNh YmxlZF90YWcgXSwgImNhc2U6IGZpcnN0IiksCitAQCAtMjgzLDcgKzI4Niw3IEBAIGNsYXNzIFRl c3RBY3RpdmVUYWdNYXRjaGVyMShUZXN0Q2FzZSk6CisgICAgICAgICAiIiIKKyAgICAgICAgIHRy YWl0cyA9IHNlbGYudHJhaXRzCisgICAgICAgICB0YWdzID0gWyB0cmFpdHMudW5rbm93bl9jYXRl Z29yeV90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiYWN0aXZlLndpdGhfVU5LTk9X Tj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcpCisrICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKCJ1c2Uud2l0aF9VTktOT1dOPW9uZSIsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3Rh ZykKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgc2VsZi50YWdfbWF0Y2hlci52YWx1 ZV9wcm92aWRlci5nZXQoIlVOS05PV04iKSkKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFs c2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKyAKK0BAIC0z NzYsNDIgKzM3OSw2IEBAIGNsYXNzIFRlc3RQcmVkaWNhdGVUYWdNYXRjaGVyKFRlc3RDYXNlKToK KyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHByZWRpY2F0ZV9hbHdheXNfZmFsc2Uo dGFncykpCisgCisgCistY2xhc3MgVGVzdFByZWRpY2F0ZVRhZ01hdGNoZXIoVGVzdENhc2UpOgor LQorLSAgICBkZWYgdGVzdF9leGNsdWRlX3dpdGhfX21lY2hhbmljcyhzZWxmKToKKy0gICAgICAg IHByZWRpY2F0ZV9mdW5jdGlvbl9ibHVlcHJpbnQgPSBsYW1iZGEgdGFnczogRmFsc2UKKy0gICAg ICAgIHByZWRpY2F0ZV9mdW5jdGlvbiA9IE1vY2socHJlZGljYXRlX2Z1bmN0aW9uX2JsdWVwcmlu dCkKKy0gICAgICAgIHByZWRpY2F0ZV9mdW5jdGlvbi5yZXR1cm5fdmFsdWUgPSBUcnVlCistICAg ICAgICB0YWdfbWF0Y2hlciA9IFByZWRpY2F0ZVRhZ01hdGNoZXIocHJlZGljYXRlX2Z1bmN0aW9u KQorLSAgICAgICAgdGFncyA9IFsgImZvbyIsICJiYXIiIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoVHJ1ZSwgdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0gICAg ICAgIHByZWRpY2F0ZV9mdW5jdGlvbi5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCh0YWdzKQorLSAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBwcmVkaWNhdGVfZnVuY3Rpb24odGFncykpCist CistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aGVuX3By ZWRpY2F0ZV9pc190cnVlKHNlbGYpOgorLSAgICAgICAgcHJlZGljYXRlX2Fsd2F5c190cnVlID0g bGFtYmRhIHRhZ3M6IFRydWUKKy0gICAgICAgIHRhZ19tYXRjaGVyMSA9IFByZWRpY2F0ZVRhZ01h dGNoZXIocHJlZGljYXRlX2Fsd2F5c190cnVlKQorLSAgICAgICAgdGFncyA9IFsgImZvbyIsICJi YXIiIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgdGFnX21hdGNoZXIxLnNob3Vs ZF9leGNsdWRlX3dpdGgodGFncykpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHBy ZWRpY2F0ZV9hbHdheXNfdHJ1ZSh0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1 ZGVfd2l0aF9fcmV0dXJuc190cnVlX3doZW5fcHJlZGljYXRlX2lzX3RydWUyKHNlbGYpOgorLSAg ICAgICAgIyAtLSBDQVNFOiBVc2UgcHJlZGljYXRlIGZ1bmN0aW9uIGluc3RlYWQgb2YgbGFtYmRh LgorLSAgICAgICAgZGVmIHByZWRpY2F0ZV9jb250YWluc19mb28odGFncyk6CistICAgICAgICAg ICAgcmV0dXJuIGFueSh4ID09ICJmb28iIGZvciB4IGluIHRhZ3MpCistICAgICAgICB0YWdfbWF0 Y2hlcjIgPSBQcmVkaWNhdGVUYWdNYXRjaGVyKHByZWRpY2F0ZV9jb250YWluc19mb28pCistICAg ICAgICB0YWdzID0gWyAiZm9vIiwgImJhciIgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChU cnVlLCB0YWdfbWF0Y2hlcjIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0gICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgcHJlZGljYXRlX2NvbnRhaW5zX2Zvbyh0YWdzKSkKKy0KKy0g ICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aGVuX3ByZWRp Y2F0ZV9pc19mYWxzZShzZWxmKToKKy0gICAgICAgIHByZWRpY2F0ZV9hbHdheXNfZmFsc2UgPSBs YW1iZGEgdGFnczogRmFsc2UKKy0gICAgICAgIHRhZ19tYXRjaGVyMSA9IFByZWRpY2F0ZVRhZ01h dGNoZXIocHJlZGljYXRlX2Fsd2F5c19mYWxzZSkKKy0gICAgICAgIHRhZ3MgPSBbICJmb28iLCAi YmFyIiBdCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCB0YWdfbWF0Y2hlcjEuc2hv dWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2Us IHByZWRpY2F0ZV9hbHdheXNfZmFsc2UodGFncykpCistCistCisgY2xhc3MgVGVzdENvbXBvc2l0 ZVRhZ01hdGNoZXIoVGVzdENhc2UpOgorIAorICAgICBAc3RhdGljbWV0aG9kCmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEw LUZJWC1UZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEwLUZJWC1UZXN0cy13LW1vcmUuZmVhdHVy ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xZWJkNWFhN2UK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMTEwLUZJWC1UZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0Y2gKQEAgLTAs MCArMSw1NiBAQAorRnJvbSBiZjFjM2M4NTVjNWQwNWE4M2ZjZDI4ZTE0YTMzYzJhYjRjNzIwODcy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5u b3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIwMjEgMjI6MDk6NTkgKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gRklYOiBUZXN0cyB3LyBtb3JlLmZlYXR1cmVzLworCistLS0KKyBw eS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAgICB8IDIgKysKKyBweS5yZXF1aXJlbWVudHMvY2ku dHJhdmlzLnR4dCB8IDIgKysKKyB0b3guaW5pICAgICAgICAgICAgICAgICAgICAgICB8IDQgKyst LQorIDMgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMv Y2kudG94LnR4dAoraW5kZXggNWJlZTUyNC4uMzg3ZTkwNSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVp cmVtZW50cy9jaS50b3gudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAg LTEzLDMgKzEzLDUgQEAgUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMu MCcKKyAjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3 YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKyBwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNp b24gPCAgJzMuNScKKyBwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScK KysKKytqc29uc2NoZW1hCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50 eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAoraW5kZXggMzcyMTE2YS4uY2JjNjBj MCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CisrKysgYi9weS5y ZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorQEAgLTE2LDYgKzE2LDggQEAgUHlIYW1jcmVzdCA8 ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyBwYXRoLnB5ID49IDExLjUuMDsgcHl0 aG9uX3ZlcnNpb24gPCAgJzMuNScKKyBwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24g Pj0gJzMuNScKKyAKKytqc29uc2NoZW1hCisrCisgIyAtLSBOT1RFOiBUcmF2aXMuQ0kgdHdlYWsg cmVsYXRlZCB3LyBpbnZhbGlkIGxpbmVjYWNoZTIgdGVzdHMuCisgIyAgICBUaGlzIHByb2JsZW0g ZG9lcyBub3QgZXhpc3QgaWYgeW91IHVzZSBwaXAuCisgbGluZWNhY2hlMiA+PSAxLjA7IHB5dGhv bl92ZXJzaW9uIDwgJzMuMCcKK2RpZmYgLS1naXQgYS90b3guaW5pIGIvdG94LmluaQoraW5kZXgg OGNjYjU4Yi4uYzE0NWI1MSAxMDA2NDQKKy0tLSBhL3RveC5pbmkKKysrKyBiL3RveC5pbmkKK0BA IC02LDcgKzYsNyBAQAorICMgICBVc2UgdG94IHRvIHJ1biB0YXNrcyAodGVzdHMsIC4uLikgaW4g YSBjbGVhbiB2aXJ0dWFsIGVudmlyb25tZW50LgorICMgICBBZnRlcndhcmRzIHlvdSBjYW4gcnVu IHRveCBpbiBvZmZsaW5lIG1vZGUsIGxpa2U6CisgIworLSMgICAgICAgdG94IC1lIHB5MjcKKysj ICAgICAgIHRveCAtZSBweTM4CisgIworICMgICBUb3ggY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIG9m ZmxpbmUgdXNhZ2UuCisgIyAgIEluaXRpYWxpemUgbG9jYWwgd29ya3NwYWNlIG9uY2UgKGRvd25s b2FkIHBhY2thZ2VzLCBjcmVhdGUgUHlQSSBpbmRleCk6CitAQCAtMjgsNyArMjgsNyBAQAorIAor IFt0b3hdCisgbWludmVyc2lvbiAgID0gMi4zCistZW52bGlzdCAgICAgID0gcHkyNywgcHkzNywg cHkzOCwgcHkzNiwgcHkzNSwgcHlweSwgZG9jcworK2Vudmxpc3QgICAgICA9IHB5MzksIHB5Mzgs IHB5MjcsIHB5MzcsIHB5MzYsIHB5MzUsIHB5cHkzLCBweXB5LCBkb2NzCisgc2tpcF9taXNzaW5n X2ludGVycHJldGVycyA9IFRydWUKKyBzaXRlcGFja2FnZXMgPSBGYWxzZQorIGluZGV4c2VydmVy ID0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMTEtRklYLVNvbWUtcmVncmVzc2lvbnMtd2l0aC1QeXRob24tMy45LnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEx MS1GSVgtU29tZS1yZWdyZXNzaW9ucy13aXRoLVB5dGhvbi0zLjkucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iYjA1MzcyYzQKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTExLUZJ WC1Tb21lLXJlZ3Jlc3Npb25zLXdpdGgtUHl0aG9uLTMuOS5wYXRjaApAQCAtMCwwICsxLDc0MSBA QAorRnJvbSAxMmU0ZTIzOGFiMjkxNjU3ZjdlMmI3ZDM3YjAwMGE5ODYxZGVhZmE3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIwMjEgMjI6MTE6MzggKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gRklYOiBTb21lIHJlZ3Jlc3Npb25zIHdpdGggUHl0aG9uIDMuOQorCisqIGFzeW5j LXN0ZXBzOiBVc2UgbW9yZSBzdGFibGUgYWN0aXZlLXRhZ3Mgbm93LgorKiBKVW5pdCBYTUwgcmVs YXRlZDogQWRhcHQgdG8gWE1MIGF0dHJpYnV0ZSBvcmRlcmluZyBjaGFuZ2VzIHNpbmNlIFB5dGhv biAzLjguCisqIFByZXBhcmUgYWN0aXZlLXRhZ3MgdXNhZ2UgZm9yIFB5dGhvbiAzLjEwCisqIEJl aGF2ZSBqc29uc2NoZW1hOiBBZGQgc29tZSBleHRyYSBlbGVtZW50cyAocmVsYXRlZCB0bzogZ2hl cmtpbiB2NiBSdWxlKS4KKy0tLQorIC5naXRpZ25vcmUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxICsKKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArCisgYmVoYXZlL3B5dGhvbl9mZWF0dXJlLnB5ICAgICAgICAgICAgICAg ICAgICAgIHwgODEgKysrKysrKysrKysrKysrKysrKworIGV0Yy9qc29uL2JlaGF2ZS5qc29uLXNj aGVtYSAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKy0KKyAuLi4vZmVhdHVyZXMvYXN5bmNf ZGlzcGF0Y2guZmVhdHVyZSAgICAgICAgICAgfCAgNyArLQorIC4uLi9hc3luY19zdGVwL2ZlYXR1 cmVzL2FzeW5jX3J1bi5mZWF0dXJlICAgICB8ICA3ICstCisgZXhhbXBsZXMvYXN5bmNfc3RlcC9m ZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgIHwgMTYgKystLQorIC4uLi9mZWF0dXJlcy9zdGVwcy9f YXN5bmNfc3RlcHMzNC5weSAgICAgICAgICB8ICA0ICstCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL2Fz eW5jX2Rpc3BhdGNoX3N0ZXBzLnB5ICAgIHwgMTMgKy0tCisgLi4uL2FzeW5jX3N0ZXAvZmVhdHVy ZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkgIHwgIDYgKy0KKyBmZWF0dXJlcy9lbnZpcm9ubWVudC5w eSAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKy0KKyBmZWF0dXJlcy9zdGVwLmFzeW5jX3N0 ZXBzLmZlYXR1cmUgICAgICAgICAgICAgfCA2NCArKysrLS0tLS0tLS0tLS0KKyBpc3N1ZS5mZWF0 dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSAgICAgICAgICAgICAgfCAxOCArKystLQorIGlzc3VlLmZl YXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlICAgICAgICAgICAgICB8IDEyICsrLQorIGlzc3VlLmZl YXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlICAgICAgICAgICAgICB8IDEyICsrLQorIGlzc3VlLmZl YXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlICAgICAgICAgICAgICB8IDExICstLQorIG1vcmUuZmVh dHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAgICAgICAgICB8IDEwICstLQorIG1vcmUuZmVh dHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUgICAgICAgICAgICB8ICA5ICstLQorIDE4IGZpbGVz IGNoYW5nZWQsIDE5NSBpbnNlcnRpb25zKCspLCAxMTggZGVsZXRpb25zKC0pCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGJlaGF2ZS9weXRob25fZmVhdHVyZS5weQorCitkaWZmIC0tZ2l0IGEvLmdpdGln bm9yZSBiLy5naXRpZ25vcmUKK2luZGV4IDljNWMzM2QuLjhkN2MyOGUgMTAwNjQ0CistLS0gYS8u Z2l0aWdub3JlCisrKysgYi8uZ2l0aWdub3JlCitAQCAtMjUsMyArMjUsNCBAQCB0b29scy92aXJ0 dWFsZW52cworIC5yb3BlcHJvamVjdAorIG5vc2V0ZXN0cy54bWwKKyByZXJ1bi50eHQKKyt0ZXN0 cnVuKi5qc29uCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXgg NGUyMGJiOC4uYTMzOThkOCAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VT LnJzdAorQEAgLTM4LDYgKzM4LDggQEAgQ0xBUklGSUNBVElPTjoKKyAKKyBGSVhFRDoKKyAKKysq IEZJWEVEOiBTb21lIHRlc3RzIHJlbGF0ZWQgdG8gcHl0aG9uMy45CisrKiBGSVhFRDogYWN0aXZl LXRhZyBsb2dpYyBpZiBtdWx0aXBsZSB0YWdzIHdpdGggc2FtZSBjYXRlZ29yeSBleGlzdHMuCisg KiBpc3N1ZSAjNzcyOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0aG91dCB0YWJsZSAoc3Vi bWl0dGVkIGJ5OiBUaGUtUUEtR2VlaykKKyAqIGlzc3VlICM3NTU6IEZhaWx1cmVzIHdpdGggUHl0 aG9uIDMuOCAoc3VibWl0dGVkIGJ5OiBocm9uY29rKQorICogaXNzdWUgIzcyNTogU2NlbmFyaW8g T3V0bGluZSBkZXNjcmlwdGlvbiBsaW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1pdHRlZCBi eTogbml6d2l6KQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9weXRob25fZmVhdHVyZS5weSBiL2JlaGF2 ZS9weXRob25fZmVhdHVyZS5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjRlMTM0ZGUKKy0tLSAvZGV2L251bGwKKysrKyBiL2JlaGF2ZS9weXRob25fZmVhdHVyZS5weQor QEAgLTAsMCArMSw4MSBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisrUHJvdmlk ZXMgYSBrbm93bGVkZ2UgZGF0YWJhc2UgaWYgc29tZSBQeXRob24gZmVhdHVyZXMgYXJlIHN1cHBv cnRlZAorK2luIHRoZSBjdXJyZW50IHB5dGhvbiB2ZXJzaW9uLgorKyIiIgorKworK2Zyb20gX19m dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisraW1wb3J0IHN5cworK2ltcG9ydCBzaXgK Kytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgYm9vbF90b19zdHJpbmcKKysKKysKKysj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDT05TVEFOVFM6CisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorK1BZVEhPTl9WRVJTSU9OID0gc3lzLnZlcnNpb25faW5mb1s6Ml0KKysKKysKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDTEFTU0VTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KytjbGFzcyBQeXRob25GZWF0dXJlKG9iamVjdCk6CisrCisrICAgIEBzdGF0aWNtZXRob2QKKysg ICAgZGVmIGhhc19hc3luY2lvX2Nvcm91dGluZV9kZWNvcmF0b3IoKToKKysgICAgICAgICIiIklu ZGljYXRlcyBpZiBweXRob24gc3VwcG9ydHMgYGBAYXN5bmNpby5jb3JvdXRpbmVgYCBkZWNvcmF0 b3IuCisrCisrICAgICAgICBFWEFNUExFOjoKKysKKysgICAgICAgICAgICBpbXBvcnQgYXN5bmNp bworKyAgICAgICAgICAgIEBhc3luY2lvLmNvcm91dGluZQorKyAgICAgICAgICAgIGRlZiBhc3lu Y193YWl0c19zZWNvbmRzKGR1cmF0aW9uKToKKysgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBh c3luY2lvLnNsZWVwKGR1cmF0aW9uKQorKworKyAgICAgICAgOnJldHVybnM6IFRydWUsIGlmIHRo aXMgcHl0aG9uIHZlcnNpb24gc3VwcG9ydHMgdGhpcyBmZWF0dXJlLgorKworKyAgICAgICAgLi4g c2luY2U6OiBQeXRob24gPj0gMy40CisrICAgICAgICAuLiBkZXByZWNhdGVkOjogU2luY2UgUHl0 aG9uIDMuOCAodXNlIGFzeW5jLWZ1bmN0aW9uIGluc3RlYWQpCisrICAgICAgICAiIiIKKysgICAg ICAgICMgLS0gTk9URTogQGFzeW5jaW8uY29yb3V0aW5lIGlzIGRlcHJlY2F0ZWQgaW4gcHkzLjgs IHJlbW92ZWQgaW4gcHkzLjEwCisrICAgICAgICByZXR1cm4gKDMsIDQpIDw9IFBZVEhPTl9WRVJT SU9OIDwgKDMsIDEwKQorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBoYXNfYXN5bmNf ZnVuY3Rpb24oKToKKysgICAgICAgICIiIkluZGljYXRlcyBpZiBweXRob24gc3VwcG9ydHMgYXN5 bmMtZnVuY3Rpb25zIC8gYXN5bmMta2V5d29yZC4KKysKKysgICAgICAgIEVYQU1QTEU6OgorKwor KyAgICAgICAgICAgIGltcG9ydCBhc3luY2lvCisrICAgICAgICAgICAgYXN5bmMgZGVmIGFzeW5j X3dhaXRzX3NlY29uZHMoZHVyYXRpb24pOgorKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIGFz eW5jaW8uc2xlZXAoZHVyYXRpb24pCisrCisrICAgICAgICA6cmV0dXJuczogVHJ1ZSwgaWYgdGhp cyBweXRob24gdmVyc2lvbiBzdXBwb3J0cyB0aGlzIGZlYXR1cmUuCisrICAgICAgICAuLiBzaW5j ZTo6IFB5dGhvbiA+PSAzLjUKKysgICAgICAgICIiIgorKyAgICAgICAgcmV0dXJuICgzLCA1KSA8 PSBQWVRIT05fVkVSU0lPTgorKworKyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIGhhc19jb3Jv dXRpbmUoY2xzKToKKysgICAgICAgIHJldHVybiBjbHMuaGFzX2FzeW5jX2Z1bmN0aW9uKCkgb3Ig Y2xzLmhhc19hc3luY2lvX2Nvcm91dGluZV9kZWNvcmF0b3IoKQorKworKworKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKysjIFNVUFBPUlRFRDogQUNUSVZFLVRBR1MKKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrUFlUSE9OX0hBU19BU1lOQ0lPX0NPUk9VVElORV9ERUNPUkFUT1IgPSBQeXRob25G ZWF0dXJlLmhhc19hc3luY2lvX2Nvcm91dGluZV9kZWNvcmF0b3IoKQorK1BZVEhPTl9IQVNfQVNZ TkNfRlVOQ1RJT04gPSBQeXRob25GZWF0dXJlLmhhc19hc3luY19mdW5jdGlvbigpCisrUFlUSE9O X0hBU19DT1JPVVRJTkUgPSBQeXRob25GZWF0dXJlLmhhc19jb3JvdXRpbmUoKQorK0FDVElWRV9U QUdfVkFMVUVfUFJPVklERVIgPSB7CisrICAgICJweXRob24yIjogYm9vbF90b19zdHJpbmcoc2l4 LlBZMiksCisrICAgICJweXRob24zIjogYm9vbF90b19zdHJpbmcoc2l4LlBZMyksCisrICAgICJw eXRob24udmVyc2lvbiI6ICIlcy4lcyIgJSBQWVRIT05fVkVSU0lPTiwKKysgICAgIm9zIjogICAg ICBzeXMucGxhdGZvcm0ubG93ZXIoKSwKKysKKysgICAgIyAtLSBQWVRIT04gRkVBVFVSRSwgbGlr ZTogQHVzZS53aXRoX3B5LmZlYXR1cmVfYXN5bmNpby5jb3JvdXRpbmUKKysgICAgInB5dGhvbl9o YXNfY29yb3V0aW5lIjogYm9vbF90b19zdHJpbmcoUFlUSE9OX0hBU19DT1JPVVRJTkUpLAorKyAg ICAicHl0aG9uX2hhc19hc3luY2lvLmNvcm91dGluZV9kZWNvcmF0b3IiOgorKyAgICAgICAgYm9v bF90b19zdHJpbmcoUFlUSE9OX0hBU19BU1lOQ0lPX0NPUk9VVElORV9ERUNPUkFUT1IpLAorKyAg ICAicHl0aG9uX2hhc19hc3luY19mdW5jdGlvbiI6IGJvb2xfdG9fc3RyaW5nKFBZVEhPTl9IQVNf QVNZTkNfRlVOQ1RJT04pLAorKyAgICAicHl0aG9uX2hhc19hc3luY19rZXl3b3JkIjogYm9vbF90 b19zdHJpbmcoUFlUSE9OX0hBU19BU1lOQ19GVU5DVElPTiksCisrfQorZGlmZiAtLWdpdCBhL2V0 Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYSBiL2V0Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYQor aW5kZXggOWNmM2U2Mi4uMTEwZTI0MCAxMDA2NDQKKy0tLSBhL2V0Yy9qc29uL2JlaGF2ZS5qc29u LXNjaGVtYQorKysrIGIvZXRjL2pzb24vYmVoYXZlLmpzb24tc2NoZW1hCitAQCAtMjgsMTAgKzI4 LDM2IEBACisgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKKyAgICAgICAgICAgICAiYW55 T2YiOiBbCisgICAgICAgICAgICAgICAgIHsgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9CYWNrZ3Jv dW5kIiB9LAorKyAgICAgICAgICAgICAgICB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUnVsZSIg fSwKKyAgICAgICAgICAgICAgICAgeyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1NjZW5hcmlvIiB9 LAorICAgICAgICAgICAgICAgICB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvU2NlbmFyaW9PdXRs aW5lIiB9CisgICAgICAgICAgICAgXQorICAgICAgICAgfSwKKysgICAgICAgICJSdWxlIjogewor KyAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisrICAgICAgICAgICAgImRlc2NyaXB0aW9u IjogIlJlcHJlc2VudHMgYSBSdWxlIG9iamVjdC4iLAorKyAgICAgICAgICAgICJwcm9wZXJ0aWVz IjogeworKyAgICAgICAgICAgICAgICAibmFtZSI6ICAgICB7ICJ0eXBlIjogInN0cmluZyIgfSwK KysgICAgICAgICAgICAgICAgImtleXdvcmQiOiAgeyAidHlwZSI6ICJzdHJpbmciIH0sCisrICAg ICAgICAgICAgICAgICJsb2NhdGlvbiI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAorKyAgICAgICAg ICAgICAgICAic3RhdHVzIjogICB7ICJ0eXBlIjogInN0cmluZyIgfSwKKysgICAgICAgICAgICAg ICAgInRhZ3MiOiAgICAgeyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1RhZ3MiIH0sCisrICAgICAg ICAgICAgICAgICJkZXNjcmlwdGlvbiI6IHsgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9NdWx0aUxp bmVUZXh0IiB9LAorKyAgICAgICAgICAgICAgICAiZWxlbWVudHMiOiB7CisrICAgICAgICAgICAg ICAgICAgICAidHlwZSI6ICJhcnJheSIsCisrICAgICAgICAgICAgICAgICAgICAiaXRlbXMiOiB7 ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUnVsZUVsZW1lbnQiIH0KKysgICAgICAgICAgICAgICAg fQorKyAgICAgICAgICAgIH0sCisrICAgICAgICAgICAgInJlcXVpcmVkIjogWyAibmFtZSIsICJr ZXl3b3JkIiwgImxvY2F0aW9uIiBdCisrICAgICAgICB9LAorKyAgICAgICAgIlJ1bGVFbGVtZW50 IjogeworKyAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisrICAgICAgICAgICAgImFueU9m IjogWworKyAgICAgICAgICAgICAgICB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvU2NlbmFyaW8i IH0sCisrICAgICAgICAgICAgICAgIHsgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9TY2VuYXJpb091 dGxpbmUiIH0sCisrICAgICAgICAgICAgICAgIHsgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9CYWNr Z3JvdW5kIiB9CisrICAgICAgICAgICAgXQorKyAgICAgICAgfSwKKyAgICAgICAgICJCYWNrZ3Jv dW5kIjogeworICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisgICAgICAgICAgICAgInBy b3BlcnRpZXMiOiB7CitAQCAtMTY5LDQgKzE5NSw0IEBACisgICAgICAgICAgICAgImVudW0iOiBb ICJhcnJheSIsICJib29sZWFuIiwgImludGVnZXIiLCAibnVsbCIsICJudW1iZXIiLCAib2JqZWN0 IiwgInN0cmluZyIgXQorICAgICAgICAgfQorICAgICB9CistfQorXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCisrfQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMv YXN5bmNfZGlzcGF0Y2guZmVhdHVyZSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5 bmNfZGlzcGF0Y2guZmVhdHVyZQoraW5kZXggMThlOTg2OS4uZTBlYmExZSAxMDA2NDQKKy0tLSBh L2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQorKysr IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19kaXNwYXRjaC5mZWF0dXJlCitA QCAtMSw4ICsxLDUgQEAKKy1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CistQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNQorLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy1AdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My43CistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAor K0B1c2Uud2l0aF9weXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRydWUKKytAdXNlLndpdGhfcHl0 aG9uX2hhc19hc3luY2lvLmNvcm91dGluZV9kZWNvcmF0b3I9dHJ1ZQorIEZlYXR1cmU6CisgICBT Y2VuYXJpbzoKKyAgICAgR2l2ZW4gSSBkaXNwYXRjaCBhbiBhc3luYy1jYWxsIHdpdGggcGFyYW0g IkFsaWNlIgorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNf cnVuLmZlYXR1cmUgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0 dXJlCitpbmRleCAyOWI4ZmE3Li44YjZlNTU1IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3Rl cC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQorQEAgLTEsOCArMSw1IEBACistQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNAorLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKy1AdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My42CistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNwor LUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKytAdXNlLndpdGhfcHl0aG9uX2hhc19hc3lu Y19mdW5jdGlvbj10cnVlCisrQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVf ZGVjb3JhdG9yPXRydWUKKyBGZWF0dXJlOgorICAgU2NlbmFyaW86CisgICAgIEdpdmVuIGFuIGFz eW5jLXN0ZXAgd2FpdHMgMC4zIHNlY29uZHMKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJl cy9lbnZpcm9ubWVudC5weQoraW5kZXggMDJjNGQ5Mi4uM2ZhOTYwNCAxMDA2NDQKKy0tLSBhL2V4 YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyBiL2V4YW1wbGVz L2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0yLDcgKzIsOCBAQAorIAor IGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9h Y3RpdmVfdGFnX3ZhbHVlcworIGZyb20gYmVoYXZlLmFwaS5ydW50aW1lX2NvbnN0cmFpbnQgaW1w b3J0IHJlcXVpcmVfbWluX3B5dGhvbl92ZXJzaW9uCistaW1wb3J0IHN5cworK2Zyb20gYmVoYXZl IGltcG9ydCBweXRob25fZmVhdHVyZQorKworIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAj IFJFUVVJUkU6IHB5dGhvbiA+PSAzLjQKK0BAIC0xNSwyNyArMTYsMjQgQEAgcmVxdWlyZV9taW5f cHl0aG9uX3ZlcnNpb24oIjMuNCIpCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgLS0gTUFU Q0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMgTk9URTogYWN0 aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2 ZSB0YWdzLgorLXB5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJd CistYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKy0gICAgInB5dGhvbi52ZXJzaW9uIjog cHl0aG9uX3ZlcnNpb24sCistfQorK2FjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSBweXRob25f ZmVhdHVyZS5BQ1RJVkVfVEFHX1ZBTFVFX1BST1ZJREVSLmNvcHkoKQorIGFjdGl2ZV90YWdfbWF0 Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKyAK KyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBIT09LUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistZGVmIGJlZm9yZV9hbGwoY29udGV4dCk6CisrZGVmIGJlZm9yZV9hbGwoY3R4KToKKyAg ICAgIyAtLSBTRVRVUCBBQ1RJVkUtVEFHIE1BVENIRVIgKHdpdGggdXNlcmRhdGEpOgorLSAgICBz ZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBjb250ZXh0 LmNvbmZpZy51c2VyZGF0YSkKKysgICAgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3Rh Z192YWx1ZV9wcm92aWRlciwgY3R4LmNvbmZpZy51c2VyZGF0YSkKKyAKKyAKKy1kZWYgYmVmb3Jl X2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSk6CisrZGVmIGJlZm9yZV9mZWF0dXJlKGN0eCwgZmVh dHVyZSk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKGZl YXR1cmUudGFncyk6CisgICAgICAgICBmZWF0dXJlLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0 Y2hlci5leGNsdWRlX3JlYXNvbikKKyAKKyAKKy1kZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQs IHNjZW5hcmlvKToKKytkZWYgYmVmb3JlX3NjZW5hcmlvKGN0eCwgc2NlbmFyaW8pOgorICAgICBp ZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3Rp dmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNo ZXIuZXhjbHVkZV9yZWFzb24pCisgCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9m ZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVh dHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkKK2luZGV4IDU1NjUwMGYuLmZjNGM4ZDEgMTAw NjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVw czM0LnB5CisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19z dGVwczM0LnB5CitAQCAtMSw1ICsxLDUgQEAKKy0jIC0tIFJFUVVJUkVTOiBQeXRob24gPj0gMy40 IGFuZCBQeXRob24gPCAzLjgKKy0jIEhJTlQ6IERlY29yYXRvciBAYXN5bmNpby5jb3JvdXRpbmUg aXMgcHJvaGliaXRlZCBpbiBweXRob24gMy44CisrIyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMu NCBhbmQgUHl0aG9uIDwgMy4xMCAocmVtb3ZlZCBpbjogMy4xMCkKKysjIEhJTlQ6IEBhc3luY2lv LmNvcm91dGluZSBkZWNvcmF0b3IgaXMgZGVwcmVjYXRlZCBzaW5jZSBweXRob24gMy44CisgIyBV U0U6ICBBc3luYyBnZW5lcmF0b3IvY29yb3V0aW5lIGluc3RlYWQuCisgCisgZnJvbSBiZWhhdmUg aW1wb3J0IHN0ZXAKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0 ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJl cy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weQoraW5kZXggMjIyZTU0ZC4uZGVmOTYxNiAx MDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlz cGF0Y2hfc3RlcHMucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMv YXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKK0BAIC0xLDggKzEsOSBAQAorICMgLSotIGNvZGluZzog VVRGLTggLSotCisgIyBSRVFVSVJFUzogUHl0aG9uID49IDMuNC8zLjUKKy1pbXBvcnQgc3lzCisr CisgZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB0aGVuLCBzdGVwCisgZnJvbSBiZWhhdmUuYXBp LmFzeW5jX3N0ZXAgaW1wb3J0IHVzZV9vcl9jcmVhdGVfYXN5bmNfY29udGV4dAorK2Zyb20gYmVo YXZlLnB5dGhvbl9mZWF0dXJlIGltcG9ydCBQeXRob25GZWF0dXJlCisgZnJvbSBoYW1jcmVzdCBp bXBvcnQgYXNzZXJ0X3RoYXQsIGVxdWFsX3RvLCBlbXB0eQorIGltcG9ydCBhc3luY2lvCisgCitA QCAtMTAsMTMgKzExLDE1IEBAIGltcG9ydCBhc3luY2lvCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAjIEFTWU5DIEVYQU1QTEUgRlVOQ1RJT046CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1weXRo b25fdmVyc2lvbiA9ICIlcy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorLWlmIHB5dGhvbl92 ZXJzaW9uID49ICIzLjUiOgorK2lmIFB5dGhvbkZlYXR1cmUuaGFzX2FzeW5jX2Z1bmN0aW9uKCk6 CisrICAgICMgLS0gVVNFOiBhc3luYy1mdW5jdGlvbiBhcyBjb3JvdXRpbmUtZnVuY3Rpb24KKysg ICAgIyBTSU5DRTogUHl0aG9uIDMuNSAocHJlZmVycmVkKQorICAgICBhc3luYyBkZWYgYXN5bmNf ZnVuYyhwYXJhbSk6CisgICAgICAgICBhd2FpdCBhc3luY2lvLnNsZWVwKDAuMikKKyAgICAgICAg IHJldHVybiBzdHIocGFyYW0pLnVwcGVyKCkKKy1lbHNlOgorLSAgICAjIC0tIEhJTlQ6IERlY29y YXRvciBAYXN5bmNpby5jb3JvdXRpbmUgaXMgcHJvaGliaXRlZCBpbiBweXRob24gMy44CisrZWxp ZiBQeXRob25GZWF0dXJlLmhhc19hc3luY2lvX2Nvcm91dGluZV9kZWNvcmF0b3IoKToKKysgICAg IyAtLSBVU0U6IEBhc3luY2lvLmNvcm91dGluZSBkZWNvcmF0b3IKKysgICAgIyBTSU5DRTogUHl0 aG9uIDMuNCwgZGVwcmVjYXRlZCBzaW5jZSBQeXRob24gMy44LCByZW1vdmVkIGluIFB5dGhvbiAz LjEwCisgICAgIEBhc3luY2lvLmNvcm91dGluZQorICAgICBkZWYgYXN5bmNfZnVuYyhwYXJhbSk6 CisgICAgICAgICB5aWVsZCBmcm9tIGFzeW5jaW8uc2xlZXAoMC4yKQorZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkgYi9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5CitpbmRleCBkYzAzYzcy Li4zM2QyMzkyIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVw cy9hc3luY19zdGVwcy5weQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVw cy9hc3luY19zdGVwcy5weQorQEAgLTUsOCArNSw4IEBACisgZnJvbSBfX2Z1dHVyZV9fIGltcG9y dCBhYnNvbHV0ZV9pbXBvcnQKKyBpbXBvcnQgc3lzCisgCistcHl0aG9uX3ZlcnNpb24gPSAiJXMu JXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKy1pZiBweXRob25fdmVyc2lvbiA+PSAiMy41IjoK KytweXRob25fdmVyc2lvbiA9IHN5cy52ZXJzaW9uX2luZm9bOjJdCisraWYgcHl0aG9uX3ZlcnNp b24gPj0gKDMsIDUpOgorICAgICBpbXBvcnQgX2FzeW5jX3N0ZXBzMzUKKy1lbGlmIHB5dGhvbl92 ZXJzaW9uID09ICIzLjQiOgorK2VsaWYgcHl0aG9uX3ZlcnNpb24gPT0gKDMsIDQpOgorICAgICBp bXBvcnQgX2FzeW5jX3N0ZXBzMzQKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9lbnZpcm9ubWVudC5w eSBiL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitpbmRleCAzNzY5ZWU0Li42ZmFmNGUyIDEwMDY0 NAorLS0tIGEvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyBiL2ZlYXR1cmVzL2Vudmlyb25t ZW50LnB5CitAQCAtNCwyMiArNCwxOSBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1 dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9y dCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworIGZyb20gYmVoYXZl NGNtZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9j ZXNzb3JzNGJlaGF2ZQorK2Zyb20gYmVoYXZlIGltcG9ydCBweXRob25fZmVhdHVyZQorIGltcG9y dCBwbGF0Zm9ybQorIGltcG9ydCBzeXMKKy1pbXBvcnQgc2l4CisrCisgCisgIyAtLSBNQVRDSEVT IEFOWSBUQUdTOiBAdXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgIyBOT1RFOiBhY3RpdmVf dGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3IgYWN0aXZlIHRh Z3MuCistcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyBh Y3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworLSAgICAicHl0aG9uMiI6IHN0cihzaXguUFky KS5sb3dlcigpLAorLSAgICAicHl0aG9uMyI6IHN0cihzaXguUFkzKS5sb3dlcigpLAorLSAgICAi cHl0aG9uLnZlcnNpb24iOiBweXRob25fdmVyc2lvbiwKKyAgICAgIyAtLSBweXRob24uaW1wbGVt ZW50YXRpb246IGNweXRob24sIHB5cHksIGp5dGhvbiwgaXJvbnB5dGhvbgorICAgICAicHl0aG9u LmltcGxlbWVudGF0aW9uIjogcGxhdGZvcm0ucHl0aG9uX2ltcGxlbWVudGF0aW9uKCkubG93ZXIo KSwKKyAgICAgInB5cHkiOiAgICBzdHIoIl9fcHlweV9fIiBpbiBzeXMubW9kdWxlcykubG93ZXIo KSwKKy0gICAgIm9zIjogICAgICBzeXMucGxhdGZvcm0sCisgfQorK2FjdGl2ZV90YWdfdmFsdWVf cHJvdmlkZXIudXBkYXRlKHB5dGhvbl9mZWF0dXJlLkFDVElWRV9UQUdfVkFMVUVfUFJPVklERVIp CisgYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVl X3Byb3ZpZGVyKQorIAorIAorQEAgLTI3LDcgKzI0LDcgQEAgZGVmIHByaW50X2FjdGl2ZV90YWdz X3N1bW1hcnkoKToKKyAgICAgYWN0aXZlX3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1ZV9wcm92 aWRlcgorICAgICBwcmludCgiQUNUSVZFLVRBRyBTVU1NQVJZOiIpCisgICAgIHByaW50KCJ1c2Uu d2l0aF9weXRob24udmVyc2lvbj0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJweXRob24udmVy c2lvbiIpKQorLSAgICAjIHByaW50KCJ1c2Uud2l0aF9vcz0lcyIgJSBhY3RpdmVfdGFnX2RhdGEu Z2V0KCJvcyIpKQorKyAgICBwcmludCgidXNlLndpdGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRh LmdldCgib3MiKSkKKyAgICAgcHJpbnQoKQorIAorIAorQEAgLTUzLDYgKzUwLDcgQEAgZGVmIGJl Zm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0 Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToKKyAgICAg ICAgIHNjZW5hcmlvLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNv bikKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBTUEVDSUZJQyBGVU5DVElPTkFM SVRZOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9zdGVw LmFzeW5jX3N0ZXBzLmZlYXR1cmUgYi9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUK K2luZGV4IDA2NzA5ZDkuLjU5MTkzOTcgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9zdGVwLmFzeW5j X3N0ZXBzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQor QEAgLTEsNCArMSw1IEBACisgQG5vdC53aXRoX3B5dGhvbjI9dHJ1ZQorK0B1c2Uud2l0aF9weXRo b25faGFzX2Nvcm91dGluZT10cnVlCisgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3lu Yy1zdGVwLCAuLi4pCisgCisgICBBcyBhIHRlc3Qgd3JpdGVyIGFuZCBzdGVwIHByb3ZpZGVyCitA QCAtMTYsMTEgKzE3LDExIEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3Rl cCwgLi4uKQorICAgLiAgICAqIGFuIGFzeW5jLWZ1bmN0aW9uIGFzIGNvcm91dGluZSB1c2luZyBh c3luYy9hd2FpdCBrZXl3b3JkcyAoUHl0aG9uIDMuNSkKKyAgIC4gICAgKiBhbiBhc3luYy1mdW5j dGlvbiB0YWdnZWQgd2l0aCBAYXN5bmNpby5jb3JvdXRpbmUgYW5kIHVzaW5nICJ5aWVsZCBmcm9t IgorICAgLgorLSAgLiAgIyAtLSBFWEFNUExFIENBU0UgMSAoc2luY2UgUHl0aG9uIDMuNSk6Cisr ICAuICAjIC0tIEVYQU1QTEUgQ0FTRSAxIChzaW5jZSBQeXRob24gMy41OyBwcmVmZXJyZWQpOgor ICAgLiAgYXN5bmMgZGVmIGNvcm91dGluZTEoZHVyYXRpb24pOgorICAgLiAgICAgIGF3YWl0IGFz eW5jaW8uc2xlZXAoZHVyYXRpb24pCisgICAuCistICAuICAjIC0tIEVYQU1QTEUgQ0FTRSAyIChz aW5jZSBQeXRob24gMy40KToKKysgIC4gICMgLS0gRVhBTVBMRSBDQVNFIDIgKHNpbmNlIFB5dGhv biAzLjQ7IGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9uIDMuODsgcmVtb3ZlZCBpbiBQeXRob24gMy4x MCk6CisgICAuICBAYXN5bmNpby5jb3JvdXRpbmUKKyAgIC4gIGRlZiBjb3JvdXRpbmUyKGR1cmF0 aW9uKToKKyAgIC4gICAgICB5aWVsZCBmcm9tIGFzeW5jaW8uc2xlZXAoZHVyYXRpb24pCitAQCAt MzAsMTIgKzMxLDggQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAu Li4pCisgICAuICAgVGhlIGFzeW5jLXN0ZXAgY2FuIGRpcmVjdGx5IGludGVyYWN0IHdpdGggb3Ro ZXIgYXN5bmMtZnVuY3Rpb25zLgorIAorIAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBhc3luYy1z dGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSAoYXN5bmMpCisrICAgIEB1c2Uud2l0 aF9weXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRydWUKKysgICAgU2NlbmFyaW86IFVzZSBhc3lu Yy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSAoYXN5bmM7IHJlcXVpcmVzOiBw eS52ZXJzaW9uID49IDMuNSkKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQor ICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHki IHdpdGg6CisgICAgICAgICAiIiIKK0BAIC02MywxMyArNjAsOCBAQCBGZWF0dXJlOiBBc3luYy1U ZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgICAgICAgICIiIgorIAorIAorLSAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjUKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLSAgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My43CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKy0g ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogVXNlIGFzeW5j LXN0ZXAgd2l0aCBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIChAY29yb3V0aW5lKQorKyAgICBA dXNlLndpdGhfcHl0aG9uX2hhc19hc3luY2lvLmNvcm91dGluZV9kZWNvcmF0b3I9dHJ1ZQorKyAg ICBTY2VuYXJpbzogVXNlIGFzeW5jLXN0ZXAgd2l0aCBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRl IChAYXN5bmNpby5jb3JvdXRpbmUpCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3Rv cnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM0 LnB5IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtOTcsMTIgKzg5LDggQEAgRmVhdHVyZTogQXN5 bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAgICAgICAgICAgIEdpdmVuIGFu IGFzeW5jLXN0ZXAgd2FpdHMgMC4zIHNlY29uZHMgLi4uIHBhc3NlZCBpbiAwLjMKKyAgICAgICAg ICIiIgorIAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNwor LSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRl KHRpbWVvdXQ9Li4uKSBhbmQgVElNRU9VVCBvY2N1cnMgKGFzeW5jKQorKyAgICBAdXNlLndpdGhf cHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10cnVlCisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5j X3J1bl91bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4uLikgYW5kIFRJTUVPVVQgb2NjdXJzIChhc3lu Yy1mdW5jdGlvbikKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAg IEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzX3RpbWVvdXQzNS5w eSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTEzNSwxMyArMTIzLDkgQEAgRmVhdHVyZTogQXN5 bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAgICAgICBBc3NlcnRpb24gRmFp bGVkOiBUSU1FT1VULU9DQ1VSRUQ6IHRpbWVvdXQ9MC4xCisgICAgICAgICAiIiIKKyAKKy0gICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My42CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45Cisr ICAgIEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRydWUKKyAgICAgQGFzeW5j X3N0ZXBfZmFpbHMKKy0gICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRl IGFuZCBhc3luYy1zdGVwIGZhaWxzCisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRp bF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCBmYWlscyAoYXN5bmMtZnVuY3Rpb24pCisgICAgICAg R2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJm ZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwc19mYWlsczM1LnB5IiB3aXRoOgorICAgICAgICAgIiIi CitAQCAtMTgwLDEzICsxNjQsOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5j LXN0ZXAsIC4uLikKKyAgICAgICAgIEFzc2VydGlvbiBGYWlsZWQ6IFhGQUlMIGluIGFzeW5jLXN0 ZXAKKyAgICAgICAgICIiIgorIAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41Cist ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjkKKysgICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNf ZnVuY3Rpb249dHJ1ZQorICAgICBAYXN5bmNfc3RlcF9mYWlscworLSAgICBTY2VuYXJpbzogVXNl IEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAgcmFpc2VzIGVycm9yCisr ICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3Rl cCByYWlzZXMgZXJyb3IgKGFzeW5jLWZ1bmN0aW9uKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtp bmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5 bmNfc3RlcHNfZXhjZXB0aW9uMzUucHkiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC0yMjUsMTMg KzIwNSw4IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQor ICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJYRkFJTCBpbiBhc3luYy1zdGVwIikKKyAgICAg ICAgICIiIgorIAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CistICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjUKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu NgorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CistICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjgKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBT Y2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUodGltZW91dD0uLi4pIGFuZCBU SU1FT1VUIG9jY3VycyAoQGNvcm91dGluZSkKKysgICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5 bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yPXRydWUKKysgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNf cnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBhbmQgVElNRU9VVCBvY2N1cnMgKEBhc3lu Y2lvLmNvcm91dGluZSkKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAg ICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzX3RpbWVvdXQz NC5weSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTI2NSwxMyArMjQwLDggQEAgRmVhdHVyZTog QXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAgICAgICBBc3NlcnRpb24g RmFpbGVkOiBUSU1FT1VULU9DQ1VSRUQ6IHRpbWVvdXQ9MC4yCisgICAgICAgICAiIiIKKyAKKy0g ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBh c3luYy1kaXNwYXRjaCBhbmQgYXN5bmMtY29sbGVjdCBjb25jZXB0cworKyAgICBAdXNlLndpdGhf cHl0aG9uX2hhc19hc3luY2lvLmNvcm91dGluZV9kZWNvcmF0b3I9dHJ1ZQorKyAgICBTY2VuYXJp bzogVXNlIGFzeW5jLWRpc3BhdGNoIGFuZCBhc3luYy1jb2xsZWN0IGNvbmNlcHRzIChAYXN5bmNp by5jb3JvdXRpbmUpCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAg ICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5w eSIgd2l0aDoKKyAgICAgICAgICIiIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDMzMC5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKK2luZGV4IGJl NGQzNzguLjU2YWMyMzggMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVh dHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKK0BAIC03Miw3ICs3 Miw4IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRl ZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisgICBAbm90LndpdGhfcHl0aG9uLnZl cnNpb249My44CisgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CistICBTY2VuYXJpbzog SnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hvdy1z a2lwcGVkCisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgU2NlbmFyaW86IEp1 bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tp cHBlZCAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQg LXQgQHRhZzEgLS1zaG93LXNraXBwZWQgQGFsaWNlX2FuZF9ib2IuZmVhdHVyZXNldCIKKyAgICAg VGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICIiIgorQEAgLTg3LDcgKzg4LDggQEAg RmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1 bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjgKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCBy ZXBvcnQgZm9yIHNraXBwZWQgZmVhdHVyZSBpcyBjcmVhdGVkIHdpdGggLS1zaG93LXNraXBwZWQK KysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICBTY2VuYXJpbzogSnVuaXQgcmVw b3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hvdy1za2lwcGVkIChw eS52ZXJzaW9uID49IDMuOCkKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRh ZzEgLS1zaG93LXNraXBwZWQgQGFsaWNlX2FuZF9ib2IuZmVhdHVyZXNldCIKKyAgICAgVGhlbiBp dCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICIiIgorQEAgLTEwNCw3ICsxMDYsOCBAQCBGZWF0 dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQg cmVwb3J0cyB3aGVuIC0tbm8tcworIAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAor ICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgU2NlbmFyaW86IEp1bml0IHJlcG9y dCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNob3duIG5vciBjb3VudGVkIHdpdGgg LS1uby1za2lwcGVkCisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgU2NlbmFy aW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNob3duIG5v ciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVkIChweS52ZXJzaW9uIDwgMy44KQorICAgICBXaGVu IEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNraXBwZWQiCisgICAgIFRoZW4g aXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK0BAIC0xMjUsNyArMTI4LDggQEAgRmVh dHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0 IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgK KyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBv cnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRo IC0tbm8tc2tpcHBlZAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5h cmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBu b3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZCAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgIFdo ZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tbm8tc2tpcHBlZCIKKyAgICAgVGhl biBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICIiIgorQEAgLTE0OSw3ICsxNTMsOCBAQCBG ZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVu aXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgU2NlbmFyaW86IEp1bml0IHJl cG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hv dy1za2lwcGVkCisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgU2NlbmFyaW86 IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3 aXRoIC0tc2hvdy1za2lwcGVkIChweS52ZXJzaW9uIDwgMy44KQorICAgICBXaGVuIEkgcnVuICJi ZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCIKKyAgICAgVGhlbiBpdCBzaG91 bGQgcGFzcyB3aXRoOgorICAgICAgICIiIgorQEAgLTE3MSw3ICsxNzYsOCBAQCBGZWF0dXJlOiBJ c3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0 cyB3aGVuIC0tbm8tcworIAorICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Ig c2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVk CisrICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJl cG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hv dy1za2lwcGVkIChweS52ZXJzaW9uID49IDMuOCkKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0t anVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mg d2l0aDoKKyAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYu ZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitpbmRleCAxMmRlMzdh Li5kN2RiNzY0IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUK KysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitAQCAtNjAsNyArNjAsOCBA QCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0 aCBKVW5pdFJlcG9ydGVyCisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAg ICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogSG9vayBlcnJv ciBpbiBiZWZvcmVfc2NlbmFyaW8oKQorKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My4x MAorKyAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBiZWZvcmVfc2NlbmFyaW8oKSAocHkudmVy c2lvbiA8IDMuOCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBm ZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQg c2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTkwLDcgKzkxLDggQEAgRmVhdHVy ZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRS ZXBvcnRlcgorIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVm b3JlX3NjZW5hcmlvKCkKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAg U2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkgKHB5LnZlcnNpb24gPj0g My44KQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVz L2JlZm9yZV9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQg ZmFpbCB3aXRoOgorICAgICAgICAgIiIiCitAQCAtMTI0LDcgKzEyNiw4IEBAIEZlYXR1cmU6IElz c3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0 ZXIKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBAbm90LndpdGhf cHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3Nj ZW5hcmlvKCkKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFy aW86IEhvb2sgZXJyb3IgaW4gYWZ0ZXJfc2NlbmFyaW8oKSAocHkudmVyc2lvbiA8IDMuOCkKKyAg ICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9hZnRlcl9z Y2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRo OgorICAgICAgICAgIiIiCitAQCAtMTU2LDcgKzE1OSw4IEBAIEZlYXR1cmU6IElzc3VlICM0NDYg LS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAKKyAg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My45CistICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkK KysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IEhvb2sg ZXJyb3IgaW4gYWZ0ZXJfc2NlbmFyaW8oKSAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgICAgV2hl biBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9f ZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAg ICAgICIiIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlIGIv aXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK2luZGV4IDZkMmY0OGYuLmMxNGM3YTQg MTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQorKysrIGIvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK0BAIC0yNiw3ICsyNiw4IEBAIEZlYXR1cmU6 IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBY TUwgcmVwb3J0cworIAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIEBu b3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFz c2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZl cnNpb249My4xMAorKyAgICBTY2VuYXJpbzogVXNlIGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBK VW5pdCBYTUwgcmVwb3J0IChweS52ZXJzaW9uIDwgMy44KQorICAgICAgIEdpdmVuIGEgZmlsZSBu YW1lZCAiZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKKyAgICAg ICAgIEZlYXR1cmU6CitAQCAtNDgsNyArNDksOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERv dWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAKKyAg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpV bml0IFhNTCByZXBvcnQKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAg U2NlbmFyaW86IFVzZSBmYWlsaW5nIGFzc2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydCAo cHkudmVyc2lvbiA+PSAzLjgpCisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9m YWlsczEuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorICAgICAgICAgRmVhdHVyZToKK0BA IC03Myw3ICs3NSw4IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBl cnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworIAorICAgICBAbm90LndpdGhfcHl0 aG9uLnZlcnNpb249My44CisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAg U2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAgIEBub3Qu d2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGlu IGEgSlVuaXQgWE1MIHJlcG9ydCAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgICBHaXZlbiBhIGZp bGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMi5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIiCisg ICAgICAgICBGZWF0dXJlOgorQEAgLTk2LDcgKzk5LDggQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAt LSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisg CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogVXNlIGV4Y2VwdGlvbiBpbiBhIEpVbml0IFhN TCByZXBvcnQKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFy aW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0IChweS52ZXJzaW9uID49IDMu OCkKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMi5mZWF0dXJlIiB3 aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICBGZWF0dXJlOgorZGlmZiAtLWdpdCBhL2lzc3Vl LmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZl YXR1cmUKK2luZGV4IGFlYWVmZDIuLmE2NzRhMjYgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJl cy9pc3N1ZTA2NTcuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1 cmUKK0BAIC0xLDE1ICsxLDEwIEBACistQG5vdC53aXRoX3B5dGhvbjI9dHJ1ZQorIEBpc3N1ZQor K0Bub3Qud2l0aF9weXRob24yPXRydWUKKyBGZWF0dXJlOiBJc3N1ZSAjNjU3IC0tIEFsbG93IGFz eW5jIHN0ZXBzIHdpdGggdGltZW91dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2UgZXhjZXB0aW9u cworIAorLQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNwor LSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjkKKysgICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb249dHJ1 ZQorICAgICBAYXN5bmNfc3RlcF9mYWlscworLSAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5f dW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAgZmFpbHMKKysgICAgU2NlbmFyaW86IFVzZSBA YXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVwIGZhaWxzIChweS52ZXJzaW9u ID49IDMuOCkKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFu ZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzX2ZhaWxzMzUucHkiIHdp dGg6CisgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9tb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50 LnB5IGIvbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQoraW5kZXggOWQ0MzAyYi4uMTRkOTA0 YyAxMDA2NDQKKy0tLSBhL21vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyBiL21vcmUu ZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xLDE2ICsxLDE0IEBACisgIyAtKi0gY29kaW5n OiBVVEYtOCAtKi0KKyAKKyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFn TWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKy1pbXBvcnQgc3lzCisrZnJvbSBiZWhh dmUgaW1wb3J0IHB5dGhvbl9mZWF0dXJlCisgCisgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNl LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3Zp ZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3IgYWN0aXZlIHRhZ3MuCistcHl0aG9uX3Zl cnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKy1hY3RpdmVfdGFnX3ZhbHVl X3Byb3ZpZGVyID0geworLSAgICAicHl0aG9uLnZlcnNpb24iOiBweXRob25fdmVyc2lvbiwKKy19 CisrYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHB5dGhvbl9mZWF0dXJlLkFDVElWRV9UQUdf VkFMVUVfUFJPVklERVIuY29weSgpCisgYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0 Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorIAorKworICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAjIEhPT0tTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC0xOCwxMCArMTYs MTIgQEAgZGVmIGJlZm9yZV9hbGwoY29udGV4dCk6CisgICAgICMgLS0gU0VUVVAgQUNUSVZFLVRB RyBNQVRDSEVSICh3aXRoIHVzZXJkYXRhKToKKyAgICAgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMo YWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgY29udGV4dC5jb25maWcudXNlcmRhdGEpCisgCisr CisgZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpOgorICAgICBpZiBhY3RpdmVf dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChmZWF0dXJlLnRhZ3MpOgorICAgICAgICAg ZmVhdHVyZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisg CisrCisgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisgICAgIGlmIGFj dGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90 YWdzKToKKyAgICAgICAgIHNjZW5hcmlvLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5l eGNsdWRlX3JlYXNvbikKK2RpZmYgLS1naXQgYS9tb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5m ZWF0dXJlIGIvbW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVhdHVyZQoraW5kZXggNDc3ODg2 Ni4uMTRhY2Y5OCAxMDA2NDQKKy0tLSBhL21vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1 cmUKKysrKyBiL21vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKK0BAIC0yOSwxMyAr MjksOCBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBhbGwgZXhhbXBsZXMgYXJlIHVzYWJsZQorICAg ICAgICAgZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlOjE2ICBGMiAtLSBGYWlscworICAgICAg ICIiIgorIAorLQorLSAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorLSAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLSAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuOAorLSAgU2NlbmFyaW86IGV4YW1wbGVzL2FzeW5jX3N0ZXAgKG5lZWRzOiBweTM0IG9yIG5l d2VyKQorKyAgQHVzZS53aXRoX3B5dGhvbl9oYXNfY29yb3V0aW5lPXRydWUKKysgIFNjZW5hcmlv OiBleGFtcGxlcy9hc3luY19zdGVwIChyZXF1aXJlczogcHl0aG9uLnZlcnNpb24gPj0gMy40KQor ICAgICBHaXZlbiBJIHVzZSB0aGUgZGlyZWN0b3J5ICJleGFtcGxlcy9hc3luY19zdGVwIiBhcyB3 b3JraW5nIGRpcmVjdG9yeQorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgZmVhdHVyZXMvIgorICAg ICBUaGVuIGl0IHNob3VsZCBwYXNzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEyLWRvY3MtVXBkYXRlLW5ldy1hbmQtbm90 ZXdvcnRoeS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMTItZG9jcy1VcGRhdGUtbmV3LWFuZC1ub3Rld29ydGh5LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmRhMjRlNjIzCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5vdGV3b3J0aHkucGF0Y2gKQEAgLTAsMCArMSw4NCBA QAorRnJvbSA4NDlhOWExZmE2MTNlZTk1YTkyOWRmM2EwYWJlZTNhZjczYzY1ODg2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIwMjEgMjM6NDg6NTIgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gZG9jczogVXBkYXRlIG5ldyBhbmQgbm90ZXdvcnRoeQorCisqIEFkZCBzZWN0aW9u IG9uIGltcHJvdmVkIGFjdGl2ZS10YWcgbG9naWMKKy0tLQorIGRvY3MvY29uZi5weSAgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQorIGRvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5y c3QgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs IDQ2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29u Zi5weSBiL2RvY3MvY29uZi5weQoraW5kZXggMTU3OWEzNi4uY2VjZTg2YSAxMDA2NDQKKy0tLSBh L2RvY3MvY29uZi5weQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAtMTA4LDcgKzEwOCw3IEBAIGlm IFVTRV9TUEhJTlhfSU5URVJOQVRJT05BTDoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcHJv amVjdCA9IHUiYmVoYXZlIgorIGF1dGhvcnMgPSB1IkplbnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5k IFJpY2hhcmQgSm9uZXMiCistY29weXJpZ2h0ID0gdSIyMDEyLTIwMjAsICVzIiAlIGF1dGhvcnMK Kytjb3B5cmlnaHQgPSB1IjIwMTItMjAyMSwgJXMiICUgYXV0aG9ycworIAorICMgVGhlIHZlcnNp b24gaW5mbyBmb3IgdGhlIHByb2plY3QgeW91J3JlIGRvY3VtZW50aW5nLCBhY3RzIGFzIHJlcGxh Y2VtZW50IGZvcgorICMgfHZlcnNpb258IGFuZCB8cmVsZWFzZXwsIGFsc28gdXNlZCBpbiB2YXJp b3VzIG90aGVyIHBsYWNlcyB0aHJvdWdob3V0IHRoZQorZGlmZiAtLWdpdCBhL2RvY3MvbmV3X2Fu ZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QgYi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcu cnN0CitpbmRleCBiNzI0MmY3Li4yZWI5NGFkIDEwMDY0NAorLS0tIGEvZG9jcy9uZXdfYW5kX25v dGV3b3J0aHlfdjEuMi43LnJzdAorKysrIGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43 LnJzdAorQEAgLTksNiArOSw3IEBAIFN1bW1hcnk6CisgICB0byBtYXRjaCBwYXJ0aWFsIHRhZyBu YW1lcywgbGlrZTogYGBAZm9vLipgYAorICogYFNlbGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFy aW8gQ29udGFpbmVyc2BfIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpCisgKiBgU3Vw cG9ydCBmb3IgZW1vamlzIGluIGZlYXR1cmUgZmlsZXMgYW5kIHN0ZXBzYF8KKysqIGBJbXByb3Zl IEFjdGl2ZS1UYWdzIExvZ2ljYF8KKyAKKyAuLiBfYEV4YW1wbGUgTWFwcGluZ2A6IGh0dHBzOi8v Y3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1hcHBpbmctaW50cm9kdWN0aW9uLworIC4uIF9gRXhh bXBsZSBNYXBwaW5nIFdlYmluYXJgOiBodHRwczovL2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1t YXBwaW5nLXdlYmluYXIvCitAQCAtMTUyLDMgKzE1Myw0NyBAQCBTdXBwb3J0IGZvciBFbW9qaXMg aW4gRmVhdHVyZSBGaWxlcyBhbmQgU3RlcHMKKyAuLiBsaXRlcmFsaW5jbHVkZTo6IC4uL2ZlYXR1 cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkKKyAgICAgOnByZXBlbmQ6ICAjIC0tIEZJTEU6 IGZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkKKyAgICAgOmxhbmd1YWdlOiBweXRo b24KKysKKysKKytJbXByb3ZlIEFjdGl2ZS1UYWdzIExvZ2ljCisrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorKworK1RoZSBhY3RpdmUtdGFnIGNvbXB1dGF0aW9uIGxvZ2ljIHdhcyBzbGlnaHRseSBj aGFuZ2VkIChhbmQgZml4ZWQpOgorKworKyogaWYgbXVsdGlwbGUgYWN0aXZlLXRhZ3Mgd2l0aCBz YW1lIGNhdGVnb3J5IGFyZSB1c2VkCisrKiBjb21iaW5hdGlvbiBvZiBwb3NpdGl2ZSBhY3RpdmUt dGFncyAoYGB1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX1gYCkgYW5kCisrICBuZWdhdGl2ZSBh Y3RpdmUtdGFncyAoYGBub3Qud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX1gYCkgd2l0aCBzYW1lIGNh dGVnb3J5CisrICBhcmUgbm93IHN1cHBvcnRlZAorKworK0FsbCBhY3RpdmUtdGFncyB3aXRoIHNh bWUgY2F0ZWdvcnkgYXJlIGNvbWJpbmVkIGludG8gb25lIGNhdGVnb3J5IHRhZy1ncm91cC4KKytU aGUgZm9sbG93aW5nIGxvZ2ljYWwgZXhwcmVzc2lvbiBpcyB1c2VkIGZvciBhY3RpdmUtdGFncyB3 aXRoIHRoZSBzYW1lIGNhdGVnb3J5OjoKKysKKysgICAgY2F0ZWdvcnlfdGFnX2dyb3VwLmVuYWJs ZWQgOj0gcG9zaXRpdmUtdGFnLWV4cHJlc3Npb24gYW5kIG5vdCBuZWdhdGl2ZS10YWctZXhwcmVz c2lvbgorKyAgICAgIHBvc2l0aXZlLXRhZy1leHByZXNzaW9uICA6PSBlbmFibGVkKHRhZzEpIG9y IGVuYWJsZWQodGFnMikgb3IgLi4uCisrICAgICAgbmVnYXRpdmUtdGFnLWV4cHJlc3Npb24gIDo9 IGVuYWJsZWQodGFnMykgb3IgZW5hYmxlZCh0YWc0KSBvciAuLi4KKysgICAgICAgdGFnMSwgdGFn MiBhcmUgcG9zaXRpdmUtdGFncywgbGlrZSBAdXNlLndpdGhfY2F0ZWdvcnk9dmFsdWUKKysgICAg ICAgdGFnMywgdGFnNCBhcmUgbmVnYXRpdmUtdGFncywgbGlrZSBAbm90LndpdGhfY2F0ZWdvcnk9 dmFsdWUKKysKKysKKytFWEFNUExFOgorKworKy4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisr ICAgIEZlYXR1cmU6IEFjdGl2ZS1UYWcgRXhhbXBsZQorKworKyAgICAgIEB1c2Uud2l0aF9icm93 c2VyPVNhZmFyaQorKyAgICAgIEB1c2Uud2l0aF9icm93c2VyPUNocm9tZQorKyAgICAgIEBub3Qu d2l0aF9icm93c2VyPUZpcmVmb3gKKysgICAgICBTY2VuYXJpbzogVXNlIG9uZSBhY3RpdmUtdGFn IGdyb3VwL2NhdGVnb3J5CisrCisrICAgICAgICBISU5UOiBPbmx5IGV4ZWN1dGVkIHdpdGggd2Vi IGJyb3dzZXIgU2FmYXJpIGFuZCBDaHJvbWUsIEZpcmVmb3ggaXMgZXhwbGljaXRseSBleGNsdWRl ZC4KKysgICAgICAgIC4uLgorKworKyAgICAgIEB1c2Uud2l0aF9icm93c2VyPUZpcmVmb3gKKysg ICAgICBAdXNlLndpdGhfb3M9bGludXgKKysgICAgICBAdXNlLndpdGhfb3M9ZGFyd2luCisrICAg ICAgU2NlbmFyaW86IFVzZSB0d28gYWN0aXZlLXRhZyBncm91cHMvY2F0ZWdvcmllcworKworKyAg ICAgICAgSElOVCAxOiBPbmx5IGV4ZWN1dGVkIHdpdGggYnJvd3NlcjogRmlyZWZveAorKyAgICAg ICAgSElOVCAyOiBPbmx5IGV4ZWN1dGVkIG9uIE9TOiBMaW51eCBhbmQgRGFyd2luIChtYWNPUykK KysgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDExMy1BZGQtZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rpb24t dG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMy1BZGQtZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rp b24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uMGEyNTc0MzZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMy1BZGQtZGlhZ25vc3RpYy1o ZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoCkBAIC0wLDAgKzEsMjc4 IEBACitGcm9tIDIxODJlNTk1ZDNkZjJjZjRhNzk2ZGUyZWVlODU2NGNkYjJmMjgxZmUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHku Z2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTAgSmFuIDIwMjEgMTM6NDA6MjYgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gKiBBZGQgZGlhZ25vc3RpYyBoZWxwZXIgZnVuY3Rpb24gdG8gcHJpbnQgdGhl IGN1cnJlbnQgdmFsdWVzCisgb2YgYWN0aXZlLXRhZ3MuICogQWRkIGhlbHBlciBjbGFzc2VzIGZv ciBhY3RpdmUtdGFnIHZhbHVlIHByb3ZpZGVycy4KKworLS0tCisgYmVoYXZlL2NvbXBhdC9jb2xs ZWN0aW9ucy5weSAgfCAgMjUgKysrKysrCisgYmVoYXZlL3RhZ19tYXRjaGVyLnB5ICAgICAgICAg fCAxNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQorIGZlYXR1cmVzL2Vudmly b25tZW50LnB5ICAgICAgIHwgICA5ICstLQorIGlzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5 IHwgICA5ICstLQorIDQgZmlsZXMgY2hhbmdlZCwgMTY2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2NvbXBhdC9jb2xsZWN0aW9ucy5weSBiL2Jl aGF2ZS9jb21wYXQvY29sbGVjdGlvbnMucHkKK2luZGV4IDAwNDQ0ZjQuLmY0ZWVhMmMgMTAwNjQ0 CistLS0gYS9iZWhhdmUvY29tcGF0L2NvbGxlY3Rpb25zLnB5CisrKysgYi9iZWhhdmUvY29tcGF0 L2NvbGxlY3Rpb25zLnB5CitAQCAtMTgsMyArMTgsMjggQEAgZXhjZXB0IEltcG9ydEVycm9yOiAg ICAgIyBwcmFnbWE6IG5vIGNvdmVyCisgICAgICAgICB3YXJuaW5ncy53YXJuKG1lc3NhZ2UpCisg ICAgICAgICAjIC0tIEJBQ0tXQVJELUNPTVBBVElCTEU6IEJldHRlciB0aGFuIG5vdGhpbmcgKGZv ciBiZWhhdmUgdXNlIGNhc2UpLgorICAgICAgICAgT3JkZXJlZERpY3QgPSBkaWN0CisrCisrdHJ5 OgorKyAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBVc2VyRGljdAorK2V4Y2VwdCBJbXBvcnRF cnJvcjogICAgICAjIHByYWdtYTogbm8gY292ZXIKKysgICAgY2xhc3MgVXNlckRpY3Qob2JqZWN0 KToKKysgICAgICAgICIiIkVtdWxhdGUgY29sbGVjdGlvbnMuVXNlckRpY3QgY2xhc3MgaW4gcHl0 aG9uMy4iIiIKKysgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkYXRhPU5vbmUpOgorKyAgICAg ICAgICAgIGlmIGRhdGEgaXMgTm9uZToKKysgICAgICAgICAgICAgICAgZGF0YSA9IHt9CisrICAg ICAgICAgICAgc2VsZi5kYXRhID0gZGF0YQorKworKyAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6 CisrICAgICAgICAgICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpCisrCisrICAgICAgICBkZWYgX19p dGVyX18oc2VsZik6CisrICAgICAgICAgICAgcmV0dXJuIGxlbihzZWxmLmRhdGEpCisrCisrICAg ICAgICBkZWYga2V5cyhzZWxmKToKKysgICAgICAgICAgICByZXR1cm4gc2VsZi5kYXRhLmtleXMo KQorKworKyAgICAgICAgZGVmIHZhbHVlcyhzZWxmKToKKysgICAgICAgICAgICByZXR1cm4gc2Vs Zi5kYXRhLnZhbHVlcygpCisrCisrICAgICAgICBkZWYgaXRlbXMoc2VsZik6CisrICAgICAgICAg ICAgcmV0dXJuIHNlbGYuZGF0YS5pdGVtcygpCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3RhZ19tYXRj aGVyLnB5IGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitpbmRleCBlMmIxZTgyLi43OGQ3MDYxIDEw MDY0NAorLS0tIGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CisrKysgYi9iZWhhdmUvdGFnX21hdGNo ZXIucHkKK0BAIC00LDE3ICs0LDE2IEBAIENvbnRhaW5zIGNsYXNzZXMgYW5kIGZ1bmN0aW9uYWxp dHkgdG8gcHJvdmlkZSB0aGUgYWN0aXZlLXRhZyBtZWNoYW5pc20uCisgQWN0aXZlLXRhZ3MgcHJv dmlkZSBhIHNraXAtaWYgbG9naWMgYmFzZWQgb24gdGFncyBpbiBmZWF0dXJlIGZpbGVzLgorICIi IgorIAorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrZnJvbSBfX2Z1 dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHJl CistaW1wb3J0IG9wZXJhdG9yCisgaW1wb3J0IHNpeAorK2Zyb20gLl90eXBlcyBpbXBvcnQgVW5r bm93bgorK2Zyb20gLmNvbXBhdC5jb2xsZWN0aW9ucyBpbXBvcnQgVXNlckRpY3QKKyAKKyAKKy1k ZWYgYm9vbF90b19zdHJpbmcodmFsdWUpOgorLSAgICAiIiJDb252ZXJ0cyBhIEJvb2xlYW4gdmFs dWUgaW50byBpdHMgbm9ybWFsaXplZCBzdHJpbmcgcmVwcmVzZW50YXRpb24uIiIiCistICAgIHJl dHVybiBzdHIoYm9vbCh2YWx1ZSkpLmxvd2VyKCkKKy0KKy0KKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrIyBDTEFTU0VTIEZPUjogQWN0aXZlLVRhZ3MgYW5kIEFjdGl2ZVRhZ01hdGNoZXJzCisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGNsYXNzIFRhZ01hdGNoZXIob2JqZWN0KToKKyAgICAg IiIiQWJzdHJhY3QgYmFzZSBjbGFzcyB0aGF0IGRlZmluZXMgdGhlIFRhZ01hdGNoZXIgcHJvdG9j b2wuIiIiCisgCitAQCAtMjIwLDggKzIxOSw4IEBAIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFn TWF0Y2hlcik6CisgICAgICAgICAgICAgIyAtLSBDQVNFOiBFbXB0eSBncm91cCBpcyBhbHdheXMg ZW5hYmxlZCAoQ09STkVSLUNBU0UpLgorICAgICAgICAgICAgIHJldHVybiBUcnVlCisgCistICAg ICAgICBjdXJyZW50X3ZhbHVlID0gc2VsZi52YWx1ZV9wcm92aWRlci5nZXQoZ3JvdXBfY2F0ZWdv cnksIE5vbmUpCistICAgICAgICBpZiBjdXJyZW50X3ZhbHVlIGlzIE5vbmUgYW5kIHNlbGYuaWdu b3JlX3Vua25vd25fY2F0ZWdvcmllczoKKysgICAgICAgIGN1cnJlbnRfdmFsdWUgPSBzZWxmLnZh bHVlX3Byb3ZpZGVyLmdldChncm91cF9jYXRlZ29yeSwgVW5rbm93bikKKysgICAgICAgIGlmIGN1 cnJlbnRfdmFsdWUgaXMgVW5rbm93biBhbmQgc2VsZi5pZ25vcmVfdW5rbm93bl9jYXRlZ29yaWVz OgorICAgICAgICAgICAgICMgLS0gQ0FTRTogVW5rbm93biBjYXRlZ29yeSwgaWdub3JlIGl0Lgor ICAgICAgICAgICAgIHJldHVybiBUcnVlCisgCitAQCAtMzIwLDYgKzMxOSwxMTUgQEAgY2xhc3Mg Q29tcG9zaXRlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgICAgIHJldHVybiBGYWxzZQor IAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEFDVElWRSBUQUcgVkFMVUUgUFJPVklE RVIgQ0xBU1NFUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xhc3MgSUFjdGl2ZVRhZ1Zh bHVlUHJvdmlkZXIob2JqZWN0KToKKysgICAgIiIiUHJvdG9jb2wvSW50ZXJmYWNlIGZvciBhY3Rp dmUtdGFnIHZhbHVlIHByb3ZpZGVycy4iIiIKKysKKysgICAgZGVmIGdldChzZWxmLCBjYXRlZ29y eSwgZGVmYXVsdD1Ob25lKToKKysgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorKworKwor K2NsYXNzIEFjdGl2ZVRhZ1ZhbHVlUHJvdmlkZXIoVXNlckRpY3QpOgorKyAgICBkZWYgX19pbml0 X18oc2VsZiwgZGF0YT1Ob25lKToKKysgICAgICAgIGlmIGRhdGEgaXMgTm9uZToKKysgICAgICAg ICAgICBkYXRhID0ge30KKysgICAgICAgIFVzZXJEaWN0Ll9faW5pdF9fKHNlbGYsIGRhdGEpCisr CisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIHVzZV92YWx1ZSh2YWx1ZSk6CisrICAgICAg ICBpZiBjYWxsYWJsZSh2YWx1ZSk6CisrICAgICAgICAgICAgIyAtLSBSRS1FVkFMVUFURSBWQUxV RTogRWFjaCB0aW1lCisrICAgICAgICAgICAgdmFsdWVfZnVuYyA9IHZhbHVlCisrICAgICAgICAg ICAgdmFsdWUgPSB2YWx1ZV9mdW5jKCkKKysgICAgICAgIHJldHVybiB2YWx1ZQorKworKyAgICBk ZWYgX19nZXRpdGVtX18oc2VsZiwgbmFtZSk6CisrICAgICAgICB2YWx1ZSA9IHNlbGYuZGF0YVtu YW1lXQorKyAgICAgICAgcmV0dXJuIHNlbGYudXNlX3ZhbHVlKHZhbHVlKQorKworKyAgICBkZWYg Z2V0KHNlbGYsIGNhdGVnb3J5LCBkZWZhdWx0PU5vbmUpOgorKyAgICAgICAgdmFsdWUgPSBzZWxm LmRhdGEuZ2V0KGNhdGVnb3J5LCBkZWZhdWx0KQorKyAgICAgICAgcmV0dXJuIHNlbGYudXNlX3Zh bHVlKHZhbHVlKQorKworKyAgICBkZWYgdmFsdWVzKHNlbGYpOgorKyAgICAgICAgZm9yIHZhbHVl IGluIHNlbGYuZGF0YS52YWx1ZXMoc2VsZik6CisrICAgICAgICAgICAgeWllbGQgc2VsZi51c2Vf dmFsdWUodmFsdWUpCisrCisrICAgIGRlZiBpdGVtcyhzZWxmKToKKysgICAgICAgIGZvciBjYXRl Z29yeSwgdmFsdWUgaW4gc2VsZi5kYXRhLml0ZW1zKCk6CisrICAgICAgICAgICAgeWllbGQgKGNh dGVnb3J5LCBzZWxmLnVzZV92YWx1ZSh2YWx1ZSkpCisrCisrICAgIGRlZiBjYXRlZ29yaWVzKHNl bGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYua2V5cygpCisrCisrCisrY2xhc3MgQ29tcG9zaXRl QWN0aXZlVGFnVmFsdWVQcm92aWRlcihBY3RpdmVUYWdWYWx1ZVByb3ZpZGVyKToKKysgICAgIiIi UHJvdmlkZXMgYSBjb21wb3NpdGUgaGVscGVyIGNsYXNzIHRvIHJlc29sdmUgYWN0aXZlLXRhZyB2 YWx1ZXMKKysgICAgZnJvbSBhIGxpc3Qgb2YgdmFsdWUtcHJvdmlkZXJzLgorKyAgICAiIiIKKysK KysgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlX3Byb3ZpZGVycz1Ob25lKToKKysgICAgICAg IGlmIHZhbHVlX3Byb3ZpZGVycyBpcyBOb25lOgorKyAgICAgICAgICAgIHZhbHVlX3Byb3ZpZGVy cyA9IFtdCisrICAgICAgICBzdXBlcihDb21wb3NpdGVBY3RpdmVUYWdWYWx1ZVByb3ZpZGVyLCBz ZWxmKS5fX2luaXRfXygpCisrICAgICAgICBzZWxmLnZhbHVlX3Byb3ZpZGVycyA9IGxpc3QodmFs dWVfcHJvdmlkZXJzKQorKworKyAgICBkZWYgZ2V0KHNlbGYsIGNhdGVnb3J5LCBkZWZhdWx0PU5v bmUpOgorKyAgICAgICAgIyAtLSBGSVJTVDogQ2hlY2sgY2F0ZWdvcnkgY2FjaGVkLW1hcCAoPXNl bGYuZGF0YSkKKysgICAgICAgIHZhbHVlID0gc2VsZi5kYXRhLmdldChjYXRlZ29yeSwgVW5rbm93 bikKKysgICAgICAgIGlmIHZhbHVlIGlzIFVua25vd246CisrICAgICAgICAgICAgIyAtLSBOT1Qg RElTQ09WRVJFRDogU2VhcmNoIG92ZXIgdmFsdWVfcHJvdmlkZXJzLgorKyAgICAgICAgICAgIGZv ciB2YWx1ZV9wcm92aWRlciBpbiBzZWxmLnZhbHVlX3Byb3ZpZGVyczoKKysgICAgICAgICAgICAg ICAgdmFsdWUgPSB2YWx1ZV9wcm92aWRlci5nZXQoY2F0ZWdvcnksIFVua25vd24pCisrICAgICAg ICAgICAgICAgIGlmIHZhbHVlIGlzIFVua25vd246CisrICAgICAgICAgICAgICAgICAgICBjb250 aW51ZQorKworKyAgICAgICAgICAgICAgICAjIC0tIEZPVU5EIENBVEVHT1JZOgorKyAgICAgICAg ICAgICAgICBzZWxmLmRhdGFbY2F0ZWdvcnldID0gdmFsdWUKKysgICAgICAgICAgICAgICAgYnJl YWsKKysgICAgICAgICAgICAjIC0tIEZPVU5ELUNBVEVHT1JZIG9yIE5PVC1GT1VORDoKKysgICAg ICAgICAgICBpZiB2YWx1ZSBpcyBVbmtub3duOgorKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGRl ZmF1bHQKKysKKysgICAgICAgIHJldHVybiBzZWxmLnVzZV92YWx1ZSh2YWx1ZSkKKysKKysgICAg IyAtLSBNT1JFOiBQcm92aWRlIGEgZGljdC1saWtlIGludGVyZmFjZS4KKysgICAgZGVmIGtleXMo c2VsZik6CisrICAgICAgICBmb3IgdmFsdWVfcHJvdmlkZXIgaW4gc2VsZi52YWx1ZV9wcm92aWRl cnM6CisrICAgICAgICAgICAgdHJ5OgorKyAgICAgICAgICAgICAgICBmb3IgY2F0ZWdvcnkgaW4g dmFsdWVfcHJvdmlkZXIua2V5cygpOgorKyAgICAgICAgICAgICAgICAgICAgeWllbGQgY2F0ZWdv cnkKKysgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisrICAgICAgICAgICAgICAg ICMgLS0ga2V5cygpIG1ldGhvZCBub3Qgc3VwcG9ydGVkLgorKyAgICAgICAgICAgICAgICBwYXNz CisrCisrICAgIGRlZiB2YWx1ZXMoc2VsZik6CisrICAgICAgICBmb3IgY2F0ZWdvcnkgaW4gc2Vs Zi5rZXlzKCk6CisrICAgICAgICAgICAgdmFsdWUgPSBzZWxmLmdldChjYXRlZ29yeSkKKysgICAg ICAgICAgICB5aWVsZCB2YWx1ZQorKworKyAgICBkZWYgaXRlbXMoc2VsZik6CisrICAgICAgICBm b3IgY2F0ZWdvcnkgaW4gc2VsZi5rZXlzKCk6CisrICAgICAgICAgICAgdmFsdWUgPSBzZWxmLmdl dChjYXRlZ29yeSkKKysgICAgICAgICAgICB5aWVsZCAoY2F0ZWdvcnksIHZhbHVlKQorKworKwor KworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFVUSUxJVFkgRlVOQ1RJT05TOgorKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgYm9vbF90b19zdHJpbmcodmFsdWUpOgorKyAgICAiIiJD b252ZXJ0cyBhIGJvb2xlYW4gYWN0aXZlLXRhZyB2YWx1ZSBpbnRvIGl0cyBub3JtYWxpemVkCisr ICAgIHN0cmluZyByZXByZXNlbnRhdGlvbi4KKysKKysgICAgOnBhcmFtIHZhbHVlOiAgQm9vbGVh biB2YWx1ZSB0byB1c2UgKG9yIHZhbHVlIGNvbnZlcnRlZCBpbnRvIGJvb2wpLgorKyAgICA6cmV0 dXJuczogQm9vbGVhbiB2YWx1ZSBjb252ZXJ0ZWQgaW50byBhIG5vcm1hbGl6ZWQgc3RyaW5nLgor KyAgICAiIiIKKysgICAgcmV0dXJuIHN0cihib29sKHZhbHVlKSkubG93ZXIoKQorKworKworIGRl ZiBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlcywgZGF0YSk6CisgICAg ICIiIlNldHVwL3VwZGF0ZSBhY3RpdmVfdGFnIHZhbHVlcyB3aXRoIGRpY3QtbGlrZSBkYXRhLgor ICAgICBPbmx5IHZhbHVlcyBmb3Iga2V5cyB0aGF0IGFyZSBhbHJlYWR5IHByZXNlbnQgYXJlIHVw ZGF0ZWQuCitAQCAtMzMwLDMgKzQzOCwyMiBAQCBkZWYgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMo YWN0aXZlX3RhZ192YWx1ZXMsIGRhdGEpOgorICAgICBmb3IgY2F0ZWdvcnkgaW4gbGlzdChhY3Rp dmVfdGFnX3ZhbHVlcy5rZXlzKCkpOgorICAgICAgICAgaWYgY2F0ZWdvcnkgaW4gZGF0YToKKyAg ICAgICAgICAgICBhY3RpdmVfdGFnX3ZhbHVlc1tjYXRlZ29yeV0gPSBkYXRhW2NhdGVnb3J5XQor KworKworK2RlZiBwcmludF9hY3RpdmVfdGFncyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBj YXRlZ29yaWVzPU5vbmUpOgorKyAgICAiIiJQcmludCBhIHN1bW1hcnkgb2YgdGhlIGN1cnJlbnQg YWN0aXZlLXRhZyB2YWx1ZXMuIiIiCisrICAgIGlmIGNhdGVnb3JpZXMgaXMgTm9uZToKKysgICAg ICAgIHRyeToKKysgICAgICAgICAgICBjYXRlZ29yaWVzID0gbGlzdChhY3RpdmVfdGFnX3ZhbHVl X3Byb3ZpZGVyKQorKyAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjogICAjIFR5cGVFcnJvcjogb2Jq ZWN0IGlzIG5vdCBpdGVyYWJsZQorKyAgICAgICAgICAgIGNhdGVnb3JpZXMgPSBbXQorKworKyAg ICBhY3RpdmVfdGFnX2RhdGEgPSBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyCisrICAgIHByaW50 KCJBQ1RJVkUtVEFHUzoiKQorKyAgICBmb3IgY2F0ZWdvcnkgaW4gY2F0ZWdvcmllczoKKysgICAg ICAgIGFjdGl2ZV90YWdfdmFsdWUgPSBhY3RpdmVfdGFnX2RhdGEuZ2V0KGNhdGVnb3J5KQorKyAg ICAgICAgcHJpbnQoInVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfSIuZm9ybWF0KAorKyAgICAg ICAgICAgIGNhdGVnb3J5PWNhdGVnb3J5LCB2YWx1ZT1hY3RpdmVfdGFnX3ZhbHVlKSkKKysKKysg ICAgIyAtLSBGSU5BTExZOiBUUkFJTElORyBORVctTElORQorKyAgICBwcmludCgpCitkaWZmIC0t Z2l0IGEvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgYi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQor aW5kZXggNmZhZjRlMi4uNzJlYmFhMCAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL2Vudmlyb25tZW50 LnB5CisrKysgYi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorQEAgLTIsNyArMiw4IEBACisgIyBG SUxFOiBmZWF0dXJlcy9lbnZpcm9uZW1udC5weQorIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQg YWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorLWZyb20gYmVoYXZlLnRhZ19tYXRjaGVy IGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworK2Zyb20g YmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBcCisrICAgIEFjdGl2ZVRhZ01hdGNoZXIsIHNldHVw X2FjdGl2ZV90YWdfdmFsdWVzLCBwcmludF9hY3RpdmVfdGFncworIGZyb20gYmVoYXZlNGNtZDAu c2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3Jz NGJlaGF2ZQorIGZyb20gYmVoYXZlIGltcG9ydCBweXRob25fZmVhdHVyZQorIGltcG9ydCBwbGF0 Zm9ybQorQEAgLTIxLDExICsyMiw3IEBAIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01h dGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKyAKKyBkZWYgcHJpbnRfYWN0aXZl X3RhZ3Nfc3VtbWFyeSgpOgorLSAgICBhY3RpdmVfdGFnX2RhdGEgPSBhY3RpdmVfdGFnX3ZhbHVl X3Byb3ZpZGVyCistICAgIHByaW50KCJBQ1RJVkUtVEFHIFNVTU1BUlk6IikKKy0gICAgcHJpbnQo InVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoInB5dGhv bi52ZXJzaW9uIikpCistICAgIHByaW50KCJ1c2Uud2l0aF9vcz0lcyIgJSBhY3RpdmVfdGFnX2Rh dGEuZ2V0KCJvcyIpKQorLSAgICBwcmludCgpCisrICAgIHByaW50X2FjdGl2ZV90YWdzKGFjdGl2 ZV90YWdfdmFsdWVfcHJvdmlkZXIsIFsicHl0aG9uLnZlcnNpb24iLCAib3MiXSkKKyAKKyAKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvZW52aXJv bm1lbnQucHkgYi9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQoraW5kZXggN2U0OGVlMC4u YWI4NWU2YyAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysg Yi9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorQEAgLTEzLDcgKzEzLDcgQEAgaW1wb3J0 IHN5cworIGltcG9ydCBwbGF0Zm9ybQorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IHNpeAorLWZy b20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyCisrZnJvbSBiZWhh dmUudGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRhZ01hdGNoZXIsIHByaW50X2FjdGl2ZV90YWdz CisgZnJvbSBiZWhhdmU0Y21kMC5zZXR1cF9jb21tYW5kX3NoZWxsIGltcG9ydCBzZXR1cF9jb21t YW5kX3NoZWxsX3Byb2Nlc3NvcnM0YmVoYXZlCisgIyBQUkVQQVJFRDogZnJvbSBiZWhhdmUudGFn X21hdGNoZXIgaW1wb3J0IHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzCisgCitAQCAtOTQsMTIgKzk0 LDcgQEAgYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihhY3RpdmVfdGFnX3Zh bHVlX3Byb3ZpZGVyKQorIAorIAorIGRlZiBwcmludF9hY3RpdmVfdGFnc19zdW1tYXJ5KCk6Cist ICAgIGFjdGl2ZV90YWdfZGF0YSA9IGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIKKy0gICAgcHJp bnQoIkFDVElWRS1UQUcgU1VNTUFSWToiKQorLSAgICBwcmludCgidXNlLndpdGhfcHl0aG9uLnZl cnNpb249JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicHl0aG9uLnZlcnNpb24iKSkKKy0gICAg IyBwcmludCgidXNlLndpdGhfcGxhdGZvcm09JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicGxh dGZvcm0iKSkKKy0gICAgIyBwcmludCgidXNlLndpdGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRh LmdldCgib3MiKSkKKy0gICAgcHJpbnQoKQorKyAgICBwcmludF9hY3RpdmVfdGFncyhhY3RpdmVf dGFnX3ZhbHVlX3Byb3ZpZGVyLCBbInB5dGhvbi52ZXJzaW9uIiwgIm9zIl0pCisgCisgCisgIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTQtVVBEQVRFLWkxOG4tZ2hlcmtpbi1sYW5ndWFn ZXMuanNvbi1mcm9tLWN1Y3VtYmVyLXJlcC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTQtVVBEQVRFLWkxOG4tZ2hlcmtpbi1sYW5n dWFnZXMuanNvbi1mcm9tLWN1Y3VtYmVyLXJlcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjFmM2IzMTEwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTQtVVBEQVRFLWkxOG4t Z2hlcmtpbi1sYW5ndWFnZXMuanNvbi1mcm9tLWN1Y3VtYmVyLXJlcC5wYXRjaApAQCAtMCwwICsx LDU0MSBAQAorRnJvbSBlZjYyNjY2MDc3ZjBlYmI2OGRlNzEzMDJmNDViNTMzZmJhYTIwZmFiIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEyIEphbiAyMDIxIDEzOjIxOjQ0ICswMTAwCitT dWJqZWN0OiBbUEFUQ0hdIFVQREFURTogaTE4bi9naGVya2luLWxhbmd1YWdlcy5qc29uIGZyb20g Y3VjdW1iZXIgcmVwb3NpdG9yeS4KKworQ09OVEFJTlM6IFBSICM4MjcgKEVzdG9uaWFuIGxhbmd1 YWdlIHVwZGF0ZXMgY29udGFpbmVkKQorTEFTVCBDT01NSVQ6IDIwMjEtMDEtMDcgKGluIEN1Y3Vt YmVyIHJlcG9zaXRvcnkpCitMQU5HVUFHRSBDSEFOR0VTOgorCisqIFN3ZWRpc2g6IFJ1bGUga2V5 d29yZAorKiBUZWx1Z3U6IEZpeGluZyBJU08gNjM5LTEgY29kZQorKiBSdXNzaWFuOiBSdWxlIGtl eXdvcmQKKyogSGVicmV3OiBSdWxlIGtleXdvcmQKKyogR2VybWFuOiBBZGRpdGlvbiBrZXl3b3Jk cworKiBFc3RvbmlhbjogUnVsZSBrZXl3b3JkLCBTY2VuYXJpb091dGxpbmUga2V5d29yZAorKiBJ bmRvbmVzaWFuOiBHaXZlbiBrZXl3b3Jkcywgd2hpdGVzcGFjZQorLS0tCisgYmVoYXZlL2kxOG4u cHkgICAgICAgICAgICAgICAgICAgICB8ICA5MiArKysrKysrKysrKystLS0tLS0KKyBldGMvZ2hl cmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIHwgMTQ1ICsrKysrKysrKysrKysrKysrKysrKysr KystLS0tCisgZmVhdHVyZXMvY21kbGluZS5sYW5nX2xpc3QuZmVhdHVyZSB8ICA2NCArKysrKysr KystLS0tCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzA5LmZlYXR1cmUgICB8ICAgMiArLQorIDQg ZmlsZXMgY2hhbmdlZCwgMjQwIGluc2VydGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYmVoYXZlL2kxOG4ucHkgYi9iZWhhdmUvaTE4bi5weQoraW5kZXggMjc4MWFmZS4u YTU3MjYyNiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9pMThuLnB5CisrKysgYi9iZWhhdmUvaTE4bi5w eQorQEAgLTE4OCwxNiArMTg4LDE5IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICd0aGVuJzog WycqICcsICdTw6UgJ10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAnTsOlciAnXX0sCisgICdk ZSc6IHsnYW5kJzogWycqICcsICdVbmQgJ10sCistICAgICAgICAnYmFja2dyb3VuZCc6IFsnR3J1 bmRsYWdlJ10sCisrICAgICAgICAnYmFja2dyb3VuZCc6IFsnR3J1bmRsYWdlJywKKysgICAgICAg ICAgICAgICAgICAgICAgICdIaW50ZXJncnVuZCcsCisrICAgICAgICAgICAgICAgICAgICAgICAn Vm9yYXVzc2V0enVuZ2VuJywKKysgICAgICAgICAgICAgICAgICAgICAgICdWb3JiZWRpbmd1bmdl biddLAorICAgICAgICAgJ2J1dCc6IFsnKiAnLCAnQWJlciAnXSwKKyAgICAgICAgICdleGFtcGxl cyc6IFsnQmVpc3BpZWxlJ10sCistICAgICAgICAnZmVhdHVyZSc6IFsnRnVua3Rpb25hbGl0w6R0 J10sCisrICAgICAgICAnZmVhdHVyZSc6IFsnRnVua3Rpb25hbGl0w6R0JywgJ0Z1bmt0aW9uJ10s CisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ0FuZ2Vub21tZW4gJywgJ0dlZ2ViZW4gc2VpICcs ICdHZWdlYmVuIHNlaWVuICddLAorICAgICAgICAgJ25hbWUnOiAnR2VybWFuJywKKyAgICAgICAg ICduYXRpdmUnOiAnRGV1dHNjaCcsCistICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAg ICAgJ3J1bGUnOiBbJ1J1bGUnLCAnUmVnZWwnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnQmVp c3BpZWwnLCAnU3plbmFyaW8nXSwKKy0gICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydTemVu YXJpb2dydW5kcmlzcyddLAorKyAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ1N6ZW5hcmlv Z3J1bmRyaXNzJywgJ1N6ZW5hcmllbiddLAorICAgICAgICAgJ3RoZW4nOiBbJyogJywgJ0Rhbm4g J10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAnV2VubiAnXX0sCisgICdlbCc6IHsnYW5kJzog WycqICcsICfOms6xzrkgJ10sCitAQCAtMzQ0LDkgKzM0Nyw5IEBAIGxhbmd1YWdlcyA9IFwKKyAg ICAgICAgICdnaXZlbic6IFsnKiAnLCAnRWVsZGFkZXMgJ10sCisgICAgICAgICAnbmFtZSc6ICdF c3RvbmlhbicsCisgICAgICAgICAnbmF0aXZlJzogJ2Vlc3RpIGtlZWwnLAorLSAgICAgICAgJ3J1 bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWydSZWVnZWwnXSwKKyAgICAgICAgICdz Y2VuYXJpbyc6IFsnSnVodHVtJywgJ1N0c2VuYWFyaXVtJ10sCistICAgICAgICAnc2NlbmFyaW9f b3V0bGluZSc6IFsnUmFhbXN0anVodHVtJywgJ1JhYW1zdHNlbmFhcml1bSddLAorKyAgICAgICAg J3NjZW5hcmlvX291dGxpbmUnOiBbJ1JhYW1qdWh0dW0nLCAnUmFhbXN0c2VuYWFyaXVtJ10sCisg ICAgICAgICAndGhlbic6IFsnKiAnLCAnU2lpcyAnXSwKKyAgICAgICAgICd3aGVuJzogWycqICcs ICdLdWkgJ119LAorICAnZmEnOiB7J2FuZCc6IFsnKiAnLCAn2YggJ10sCitAQCAtNDU1LDcgKzQ1 OCw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdnaXZlbic6IFsnKiAnLCAn15HXlNeZ16DX qtefICddLAorICAgICAgICAgJ25hbWUnOiAnSGVicmV3JywKKyAgICAgICAgICduYXRpdmUnOiAn 16LXkdeo15nXqicsCistICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3J1bGUn OiBbJ9eb15zXnCddLAorICAgICAgICAgJ3NjZW5hcmlvJzogWyfXk9eV15LXnteQJywgJ9eq16jX l9eZ16knXSwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWyfXqteR16DXmdeqINeq16jX l9eZ16knXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICfXkNeWICcsICfXkNeW15kgJ10sCitA QCAtNTE4LDE3ICs1MjEsMjIgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ3RoZW4nOiBbJyog JywgJ0Fra29yICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ01hamQgJywgJ0hhICcsICdB bWlrb3IgJ119LAorICAnaWQnOiB7J2FuZCc6IFsnKiAnLCAnRGFuICddLAorLSAgICAgICAgJ2Jh Y2tncm91bmQnOiBbJ0Rhc2FyJ10sCistICAgICAgICAnYnV0JzogWycqICcsICdUYXBpICddLAor LSAgICAgICAgJ2V4YW1wbGVzJzogWydDb250b2gnXSwKKysgICAgICAgICdiYWNrZ3JvdW5kJzog WydEYXNhcicsICdMYXRhciBCZWxha2FuZyddLAorKyAgICAgICAgJ2J1dCc6IFsnKiAnLCAnVGFw aSAnLCAnVGV0YXBpICddLAorKyAgICAgICAgJ2V4YW1wbGVzJzogWydDb250b2gnLCAnTWlzYWwn XSwKKyAgICAgICAgICdmZWF0dXJlJzogWydGaXR1ciddLAorLSAgICAgICAgJ2dpdmVuJzogWycq ICcsICdEZW5nYW4gJ10sCisrICAgICAgICAnZ2l2ZW4nOiBbJyogJywKKysgICAgICAgICAgICAg ICAgICAnRGVuZ2FuICcsCisrICAgICAgICAgICAgICAgICAgJ0Rpa2V0YWh1aSAnLAorKyAgICAg ICAgICAgICAgICAgICdEaWFzdW1zaWthbiAnLAorKyAgICAgICAgICAgICAgICAgICdCaWxhICcs CisrICAgICAgICAgICAgICAgICAgJ0ppa2EgJ10sCisgICAgICAgICAnbmFtZSc6ICdJbmRvbmVz aWFuJywKKyAgICAgICAgICduYXRpdmUnOiAnQmFoYXNhIEluZG9uZXNpYScsCistICAgICAgICAn cnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnLCAnQXR1cmFuJ10sCisg ICAgICAgICAnc2NlbmFyaW8nOiBbJ1NrZW5hcmlvJ10sCistICAgICAgICAnc2NlbmFyaW9fb3V0 bGluZSc6IFsnU2tlbmFyaW8ga29uc2VwJ10sCistICAgICAgICAndGhlbic6IFsnKiAnLCAnTWFr YSAnXSwKKysgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydTa2VuYXJpbyBrb25zZXAnLCAn R2FyaXMtQmVzYXIgU2tlbmFyaW8nXSwKKysgICAgICAgICd0aGVuJzogWycqICcsICdNYWthICcs ICdLZW11ZGlhbiAnXSwKKyAgICAgICAgICd3aGVuJzogWycqICcsICdLZXRpa2EgJ119LAorICAn aXMnOiB7J2FuZCc6IFsnKiAnLCAnT2cgJ10sCisgICAgICAgICAnYmFja2dyb3VuZCc6IFsnQmFr Z3J1bm51ciddLAorQEAgLTY5OSw2ICs3MDcsMzIgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAg J3NjZW5hcmlvX291dGxpbmUnOiBbJ9Ch0YbQtdC90LDRgNGL0L0g0YLTqdC706nQstC706nQs9Op 06knXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICfQotGN0LPRjdGF0Y3QtCAnLCAn0q7Sr9C9 0LjQuSDQtNCw0YDQsNCwICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ9Cl0Y3RgNGN0LIg J119LAorKyAnbXInOiB7J2FuZCc6IFsnKiAnLCAn4KSG4KSj4KS/ICcsICfgpKTgpLjgpYfgpJog J10sCisrICAgICAgICAnYmFja2dyb3VuZCc6IFsn4KSq4KS+4KSw4KWN4KS24KWN4KS14KSt4KWC 4KSu4KWAJ10sCisrICAgICAgICAnYnV0JzogWycqICcsICfgpKrgpKMgJywgJ+CkquCksOCkguCk pOClgSAnXSwKKysgICAgICAgICdleGFtcGxlcyc6IFsn4KSJ4KSm4KS+4KS54KSw4KSjJ10sCisr ICAgICAgICAnZmVhdHVyZSc6IFsn4KS14KWI4KS24KS/4KS34KWN4KSf4KWN4KSvJywgJ+CkuOCl geCkteCkv+Ckp+CkviddLAorKyAgICAgICAgJ2dpdmVuJzogWycqICcsICfgpJzgpLAnLCAn4KSm 4KS/4KSy4KWH4KSy4KWN4KSv4KS+IOCkquCljeCksOCkruCkvuCko+ClhyAnXSwKKysgICAgICAg ICduYW1lJzogJ01hcmF0aGknLAorKyAgICAgICAgJ25hdGl2ZSc6ICfgpK7gpLDgpL7gpKDgpYAn LAorKyAgICAgICAgJ3J1bGUnOiBbJ+CkqOCkv+Ckr+CkriddLAorKyAgICAgICAgJ3NjZW5hcmlv JzogWyfgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8nXSwKKysgICAgICAgICdzY2VuYXJpb19vdXRs aW5lJzogWyfgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8g4KSw4KWC4KSq4KSw4KWH4KSW4KS+J10s CisrICAgICAgICAndGhlbic6IFsnKiAnLCAn4KSu4KSXICcsICfgpKTgpYfgpLXgpY3gpLngpL4g J10sCisrICAgICAgICAnd2hlbic6IFsnKiAnLCAn4KSc4KWH4KS14KWN4KS54KS+ICddfSwKKysg J25lJzogeydhbmQnOiBbJyogJywgJ+CksCAnLCAn4KSF4KSo4KWAICddLAorKyAgICAgICAgJ2Jh Y2tncm91bmQnOiBbJ+CkquClg+Ckt+CljeCkoOCkreClguCkruClgCddLAorKyAgICAgICAgJ2J1 dCc6IFsnKiAnLCAn4KSk4KSwICddLAorKyAgICAgICAgJ2V4YW1wbGVzJzogWyfgpIngpKbgpL7g pLngpLDgpKMnLCAn4KSJ4KSm4KS+4KS54KSw4KSj4KS54KSw4KWBJ10sCisrICAgICAgICAnZmVh dHVyZSc6IFsn4KS44KWB4KS14KS/4KSn4KS+JywgJ+CkteCkv+CktuClh+Ckt+CkpOCkviddLAor KyAgICAgICAgJ2dpdmVuJzogWycqICcsICfgpKbgpL/gpIfgpI/gpJXgpYsgJywgJ+CkpuCkv+Ck j+CkleCliyAnLCAn4KSv4KSm4KS/ICddLAorKyAgICAgICAgJ25hbWUnOiAnTmVwYWxpJywKKysg ICAgICAgICduYXRpdmUnOiAn4KSo4KWH4KSq4KS+4KSy4KWAJywKKysgICAgICAgICdydWxlJzog WyfgpKjgpL/gpK/gpK4nXSwKKysgICAgICAgICdzY2VuYXJpbyc6IFsn4KSq4KSw4KS/4KSm4KWD 4KS24KWN4KSvJ10sCisrICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn4KSq4KSw4KS/4KSm 4KWD4KS24KWN4KSvIOCksOClguCkquCksOClh+CkluCkviddLAorKyAgICAgICAgJ3RoZW4nOiBb JyogJywgJ+CkpOCljeCkr+CkuOCkquCkm+CkvyAnLCAn4KSF4KSo4KWAICddLAorKyAgICAgICAg J3doZW4nOiBbJyogJywgJ+CknOCkrCAnXX0sCisgICdubCc6IHsnYW5kJzogWycqICcsICdFbiAn XSwKKyAgICAgICAgICdiYWNrZ3JvdW5kJzogWydBY2h0ZXJncm9uZCddLAorICAgICAgICAgJ2J1 dCc6IFsnKiAnLCAnTWFhciAnXSwKK0BAIC03OTcsNyArODMxLDcgQEAgbGFuZ3VhZ2VzID0gXAor ICAgICAgICAgJ2dpdmVuJzogWycqICcsICfQlNC+0L/Rg9GB0YLQuNC8ICcsICfQlNCw0L3QviAn LCAn0J/Rg9GB0YLRjCAnXSwKKyAgICAgICAgICduYW1lJzogJ1J1c3NpYW4nLAorICAgICAgICAg J25hdGl2ZSc6ICfRgNGD0YHRgdC60LjQuScsCistICAgICAgICAncnVsZSc6IFsnUnVsZSddLAor KyAgICAgICAgJ3J1bGUnOiBbJ9Cf0YDQsNCy0LjQu9C+J10sCisgICAgICAgICAnc2NlbmFyaW8n OiBbJ9Cf0YDQuNC80LXRgCcsICfQodGG0LXQvdCw0YDQuNC5J10sCisgICAgICAgICAnc2NlbmFy aW9fb3V0bGluZSc6IFsn0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC40Y8nXSwKKyAg ICAgICAgICd0aGVuJzogWycqICcsICfQotC+ICcsICfQl9Cw0YLQtdC8ICcsICfQotC+0LPQtNCw ICddLAorQEAgLTg3Myw3ICs5MDcsNyBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAnZ2l2ZW4n OiBbJyogJywgJ0dpdmV0ICddLAorICAgICAgICAgJ25hbWUnOiAnU3dlZGlzaCcsCisgICAgICAg ICAnbmF0aXZlJzogJ1N2ZW5za2EnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAg ICAgICdydWxlJzogWydSZWdlbCddLAorICAgICAgICAgJ3NjZW5hcmlvJzogWydTY2VuYXJpbydd LAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ0Fic3RyYWt0IFNjZW5hcmlvJywgJ1Nj ZW5hcmlvbWFsbCddLAorICAgICAgICAgJ3RoZW4nOiBbJyogJywgJ1PDpSAnXSwKK0BAIC04OTEs NiArOTI1LDE5IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzog WyfgrpXgrr7grp/gr43grprgrr8g4K6a4K+B4K6w4K+B4K6V4K+N4K6V4K6u4K+NJywgJ+CuleCu vuCun+CvjeCumuCuvyDgrrXgrr7grrDgr43grqrgr43grqrgr4HgrrDgr4EnXSwKKyAgICAgICAg ICd0aGVuJzogWycqICcsICfgroXgrqrgr43grqrgr4bgrr7grrTgr4HgrqTgr4EgJ10sCisgICAg ICAgICAnd2hlbic6IFsnKiAnLCAn4K6O4K6q4K+N4K6q4K+H4K6+4K6k4K+BICddfSwKKysgJ3Rl JzogeydhbmQnOiBbJyogJywgJ+CwruCwsOCwv+Cwr+CxgSAnXSwKKysgICAgICAgICdiYWNrZ3Jv dW5kJzogWyfgsKjgsYfgsKrgsKXgsY3gsK/gsIInXSwKKysgICAgICAgICdidXQnOiBbJyogJywg J+CwleCwvuCwqOCwvyAnXSwKKysgICAgICAgICdleGFtcGxlcyc6IFsn4LCJ4LCm4LC+4LC54LCw 4LCj4LCy4LGBJ10sCisrICAgICAgICAnZmVhdHVyZSc6IFsn4LCX4LGB4LCj4LCu4LGBJ10sCisr ICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ+CwmuCxhuCwquCxjeCwquCwrOCwoeCwv+CwqOCwpuCw vyAnXSwKKysgICAgICAgICduYW1lJzogJ1RlbHVndScsCisrICAgICAgICAnbmF0aXZlJzogJ+Cw pOCxhuCwsuCxgeCwl+CxgScsCisrICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAg J3NjZW5hcmlvJzogWyfgsIngsKbgsL7gsLngsLDgsKMnLCAn4LC44LCo4LGN4LCo4LC/4LC14LGH 4LC24LCCJ10sCisrICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn4LCV4LCl4LCo4LCCJ10s CisrICAgICAgICAndGhlbic6IFsnKiAnLCAn4LCF4LCq4LGN4LCq4LGB4LCh4LGBICddLAorKyAg ICAgICAgJ3doZW4nOiBbJyogJywgJ+CwiCDgsKrgsLDgsL/gsLjgsY3gsKXgsL/gsKTgsL/gsLLg sYsgJ119LAorICAndGgnOiB7J2FuZCc6IFsnKiAnLCAn4LmB4Lil4LiwICddLAorICAgICAgICAg J2JhY2tncm91bmQnOiBbJ+C5geC4meC4p+C4hOC4tOC4lCddLAorICAgICAgICAgJ2J1dCc6IFsn KiAnLCAn4LmB4LiV4LmIICddLAorQEAgLTkwNCwxOSArOTUxLDYgQEAgbGFuZ3VhZ2VzID0gXAor ICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ+C4quC4o+C4uOC4m+C5gOC4q+C4leC4uOC4 geC4suC4o+C4k+C5jCcsICfguYLguITguKPguIfguKrguKPguYnguLLguIfguILguK3guIfguYDg uKvguJXguLjguIHguLLguKPguJPguYwnXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICfguJTg uLHguIfguJnguLHguYnguJkgJ10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAn4LmA4Lih4Li3 4LmI4LitICddfSwKKy0gJ3RsJzogeydhbmQnOiBbJyogJywgJ+CwruCwsOCwv+Cwr+CxgSAnXSwK Ky0gICAgICAgICdiYWNrZ3JvdW5kJzogWyfgsKjgsYfgsKrgsKXgsY3gsK/gsIInXSwKKy0gICAg ICAgICdidXQnOiBbJyogJywgJ+CwleCwvuCwqOCwvyAnXSwKKy0gICAgICAgICdleGFtcGxlcyc6 IFsn4LCJ4LCm4LC+4LC54LCw4LCj4LCy4LGBJ10sCistICAgICAgICAnZmVhdHVyZSc6IFsn4LCX 4LGB4LCj4LCu4LGBJ10sCistICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ+CwmuCxhuCwquCxjeCw quCwrOCwoeCwv+CwqOCwpuCwvyAnXSwKKy0gICAgICAgICduYW1lJzogJ1RlbHVndScsCistICAg ICAgICAnbmF0aXZlJzogJ+CwpOCxhuCwsuCxgeCwl+CxgScsCistICAgICAgICAncnVsZSc6IFsn UnVsZSddLAorLSAgICAgICAgJ3NjZW5hcmlvJzogWyfgsIngsKbgsL7gsLngsLDgsKMnLCAn4LC4 4LCo4LGN4LCo4LC/4LC14LGH4LC24LCCJ10sCistICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6 IFsn4LCV4LCl4LCo4LCCJ10sCistICAgICAgICAndGhlbic6IFsnKiAnLCAn4LCF4LCq4LGN4LCq 4LGB4LCh4LGBICddLAorLSAgICAgICAgJ3doZW4nOiBbJyogJywgJ+CwiCDgsKrgsLDgsL/gsLjg sY3gsKXgsL/gsKTgsL/gsLLgsYsgJ119LAorICAndGxoJzogeydhbmQnOiBbJyogJywgIidlaiAi LCAnbGF0bGggJ10sCisgICAgICAgICAgJ2JhY2tncm91bmQnOiBbIm1vJyJdLAorICAgICAgICAg ICdidXQnOiBbJyogJywgIidhY2ggIiwgIidhICJdLAorZGlmZiAtLWdpdCBhL2V0Yy9naGVya2lu L2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gYi9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5q c29uCitpbmRleCAyOWNiY2ExLi42MDY5NjY0IDEwMDY0NAorLS0tIGEvZXRjL2doZXJraW4vZ2hl cmtpbi1sYW5ndWFnZXMuanNvbgorKysrIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMu anNvbgorQEAgLTYwNSw3ICs2MDUsMTAgQEAKKyAgICAgICAiVW5kICIKKyAgICAgXSwKKyAgICAg ImJhY2tncm91bmQiOiBbCistICAgICAgIkdydW5kbGFnZSIKKysgICAgICAiR3J1bmRsYWdlIiwK KysgICAgICAiSGludGVyZ3J1bmQiLAorKyAgICAgICJWb3JhdXNzZXR6dW5nZW4iLAorKyAgICAg ICJWb3JiZWRpbmd1bmdlbiIKKyAgICAgXSwKKyAgICAgImJ1dCI6IFsKKyAgICAgICAiKiAiLAor QEAgLTYxNSw3ICs2MTgsOCBAQAorICAgICAgICJCZWlzcGllbGUiCisgICAgIF0sCisgICAgICJm ZWF0dXJlIjogWworLSAgICAgICJGdW5rdGlvbmFsaXTDpHQiCisrICAgICAgIkZ1bmt0aW9uYWxp dMOkdCIsCisrICAgICAgIkZ1bmt0aW9uIgorICAgICBdLAorICAgICAiZ2l2ZW4iOiBbCisgICAg ICAgIiogIiwKK0BAIC02MjYsMTQgKzYzMCwxNiBAQAorICAgICAibmFtZSI6ICJHZXJtYW4iLAor ICAgICAibmF0aXZlIjogIkRldXRzY2giLAorICAgICAicnVsZSI6IFsKKy0gICAgICAiUnVsZSIK KysgICAgICAiUnVsZSIsCisrICAgICAgIlJlZ2VsIgorICAgICBdLAorICAgICAic2NlbmFyaW8i OiBbCisgICAgICAgIkJlaXNwaWVsIiwKKyAgICAgICAiU3plbmFyaW8iCisgICAgIF0sCisgICAg ICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlN6ZW5hcmlvZ3J1bmRyaXNzIgorKyAgICAg ICJTemVuYXJpb2dydW5kcmlzcyIsCisrICAgICAgIlN6ZW5hcmllbiIKKyAgICAgXSwKKyAgICAg InRoZW4iOiBbCisgICAgICAgIiogIiwKK0BAIC0xMTI3LDE0ICsxMTMzLDE0IEBACisgICAgICJu YW1lIjogIkVzdG9uaWFuIiwKKyAgICAgIm5hdGl2ZSI6ICJlZXN0aSBrZWVsIiwKKyAgICAgInJ1 bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAgICAgIlJlZWdlbCIKKyAgICAgXSwKKyAgICAgInNj ZW5hcmlvIjogWworICAgICAgICJKdWh0dW0iLAorICAgICAgICJTdHNlbmFhcml1bSIKKyAgICAg XSwKKyAgICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiUmFhbXN0anVodHVtIiwKKysg ICAgICAiUmFhbWp1aHR1bSIsCisgICAgICAgIlJhYW1zdHNlbmFhcml1bSIKKyAgICAgXSwKKyAg ICAgInRoZW4iOiBbCitAQCAtMTQ2NSw3ICsxNDcxLDcgQEAKKyAgICAgIm5hbWUiOiAiSGVicmV3 IiwKKyAgICAgIm5hdGl2ZSI6ICLXoteR16jXmdeqIiwKKyAgICAgInJ1bGUiOiBbCistICAgICAg IlJ1bGUiCisrICAgICAgIteb15zXnCIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAg ICAgICLXk9eV15LXnteQIiwKK0BAIC0xNjkyLDM2ICsxNjk4LDQ2IEBACisgICAgICAgIkRhbiAi CisgICAgIF0sCisgICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJEYXNhciIKKysgICAgICAi RGFzYXIiLAorKyAgICAgICJMYXRhciBCZWxha2FuZyIKKyAgICAgXSwKKyAgICAgImJ1dCI6IFsK KyAgICAgICAiKiAiLAorLSAgICAgICJUYXBpICIKKysgICAgICAiVGFwaSAiLAorKyAgICAgICJU ZXRhcGkgIgorICAgICBdLAorICAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkNvbnRvaCIKKysg ICAgICAiQ29udG9oIiwKKysgICAgICAiTWlzYWwiCisgICAgIF0sCisgICAgICJmZWF0dXJlIjog WworICAgICAgICJGaXR1ciIKKyAgICAgXSwKKyAgICAgImdpdmVuIjogWworICAgICAgICIqICIs CistICAgICAgIkRlbmdhbiAiCisrICAgICAgIkRlbmdhbiAiLAorKyAgICAgICJEaWtldGFodWkg IiwKKysgICAgICAiRGlhc3Vtc2lrYW4gIiwKKysgICAgICAiQmlsYSAiLAorKyAgICAgICJKaWth ICIKKyAgICAgXSwKKyAgICAgIm5hbWUiOiAiSW5kb25lc2lhbiIsCisgICAgICJuYXRpdmUiOiAi QmFoYXNhIEluZG9uZXNpYSIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAg ICJSdWxlIiwKKysgICAgICAiQXR1cmFuIgorICAgICBdLAorICAgICAic2NlbmFyaW8iOiBbCisg ICAgICAgIlNrZW5hcmlvIgorICAgICBdLAorICAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAg ICAgICJTa2VuYXJpbyBrb25zZXAiCisrICAgICAgIlNrZW5hcmlvIGtvbnNlcCIsCisrICAgICAg IkdhcmlzLUJlc2FyIFNrZW5hcmlvIgorICAgICBdLAorICAgICAidGhlbiI6IFsKKyAgICAgICAi KiAiLAorLSAgICAgICJNYWthICIKKysgICAgICAiTWFrYSAiLAorKyAgICAgICJLZW11ZGlhbiAi CisgICAgIF0sCisgICAgICJ3aGVuIjogWworICAgICAgICIqICIsCitAQCAtMjMzMCw2ICsyMzQ2 LDU0IEBACisgICAgICAgItCl0Y3RgNGN0LIgIgorICAgICBdCisgICB9LAorKyAgIm5lIjogewor KyAgICAiYW5kIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCksCAiLAorKyAgICAgICLgpIXg pKjgpYAgIgorKyAgICBdLAorKyAgICAiYmFja2dyb3VuZCI6IFsKKysgICAgICAi4KSq4KWD4KS3 4KWN4KSg4KSt4KWC4KSu4KWAIgorKyAgICBdLAorKyAgICAiYnV0IjogWworKyAgICAgICIqICIs CisrICAgICAgIuCkpOCksCAiCisrICAgIF0sCisrICAgICJleGFtcGxlcyI6IFsKKysgICAgICAi 4KSJ4KSm4KS+4KS54KSw4KSjIiwKKysgICAgICAi4KSJ4KSm4KS+4KS54KSw4KSj4KS54KSw4KWB IgorKyAgICBdLAorKyAgICAiZmVhdHVyZSI6IFsKKysgICAgICAi4KS44KWB4KS14KS/4KSn4KS+ IiwKKysgICAgICAi4KS14KS/4KS24KWH4KS34KSk4KS+IgorKyAgICBdLAorKyAgICAiZ2l2ZW4i OiBbCisrICAgICAgIiogIiwKKysgICAgICAi4KSm4KS/4KSH4KSP4KSV4KWLICIsCisrICAgICAg IuCkpuCkv+Ckj+CkleCliyAiLAorKyAgICAgICLgpK/gpKbgpL8gIgorKyAgICBdLAorKyAgICAi bmFtZSI6ICJOZXBhbGkiLAorKyAgICAibmF0aXZlIjogIuCkqOClh+CkquCkvuCksuClgCIsCisr ICAgICJydWxlIjogWworKyAgICAgICLgpKjgpL/gpK/gpK4iCisrICAgIF0sCisrICAgICJzY2Vu YXJpbyI6IFsKKysgICAgICAi4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvIgorKyAgICBdLAorKyAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworKyAgICAgICLgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8g 4KSw4KWC4KSq4KSw4KWH4KSW4KS+IgorKyAgICBdLAorKyAgICAidGhlbiI6IFsKKysgICAgICAi KiAiLAorKyAgICAgICLgpKTgpY3gpK/gpLjgpKrgpJvgpL8gIiwKKysgICAgICAi4KSF4KSo4KWA ICIKKysgICAgXSwKKysgICAgIndoZW4iOiBbCisrICAgICAgIiogIiwKKysgICAgICAi4KSc4KSs ICIKKysgICAgXQorKyAgfSwKKyAgICJubCI6IHsKKyAgICAgImFuZCI6IFsKKyAgICAgICAiKiAi LAorQEAgLTI2NjUsNyArMjcyOSw3IEBACisgICAgICJuYW1lIjogIlJ1c3NpYW4iLAorICAgICAi bmF0aXZlIjogItGA0YPRgdGB0LrQuNC5IiwKKyAgICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUi CisrICAgICAgItCf0YDQsNCy0LjQu9C+IgorICAgICBdLAorICAgICAic2NlbmFyaW8iOiBbCisg ICAgICAgItCf0YDQuNC80LXRgCIsCitAQCAtMjkzMyw3ICsyOTk3LDcgQEAKKyAgICAgIm5hbWUi OiAiU3dlZGlzaCIsCisgICAgICJuYXRpdmUiOiAiU3ZlbnNrYSIsCisgICAgICJydWxlIjogWwor LSAgICAgICJSdWxlIgorKyAgICAgICJSZWdlbCIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjog WworICAgICAgICJTY2VuYXJpbyIKK0BAIC0zMDQ2LDcgKzMxMTAsNyBAQAorICAgICAgICLguYDg uKHguLfguYjguK0gIgorICAgICBdCisgICB9LAorLSAgInRsIjogeworKyAgInRlIjogeworICAg ICAiYW5kIjogWworICAgICAgICIqICIsCisgICAgICAgIuCwruCwsOCwv+Cwr+CxgSAiCitAQCAt MzUxMCw1ICszNTc0LDUyIEBACisgICAgICAgIiogIiwKKyAgICAgICAi55W2IgorICAgICBdCisr ICB9LAorKyAgIm1yIjogeworKyAgICAiYW5kIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCk huCko+CkvyAiLAorKyAgICAgICLgpKTgpLjgpYfgpJogIgorKyAgICBdLAorKyAgICAiYmFja2dy b3VuZCI6IFsKKysgICAgICAi4KSq4KS+4KSw4KWN4KS24KWN4KS14KSt4KWC4KSu4KWAIgorKyAg ICBdLAorKyAgICAiYnV0IjogWworKyAgICAgICIqICIsCisrICAgICAgIuCkquCkoyAiLAorKyAg ICAgICLgpKrgpLDgpILgpKTgpYEgIgorKyAgICBdLAorKyAgICAiZXhhbXBsZXMiOiBbCisrICAg ICAgIuCkieCkpuCkvuCkueCksOCkoyIKKysgICAgXSwKKysgICAgImZlYXR1cmUiOiBbCisrICAg ICAgIuCkteCliOCktuCkv+Ckt+CljeCkn+CljeCkryIsCisrICAgICAgIuCkuOClgeCkteCkv+Ck p+CkviIKKysgICAgXSwKKysgICAgImdpdmVuIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCk nOCksCIsCisrICAgICAgIuCkpuCkv+CksuClh+CksuCljeCkr+CkviDgpKrgpY3gpLDgpK7gpL7g pKPgpYcgIgorKyAgICBdLAorKyAgICAibmFtZSI6ICJNYXJhdGhpIiwKKysgICAgIm5hdGl2ZSI6 ICLgpK7gpLDgpL7gpKDgpYAiLAorKyAgICAicnVsZSI6IFsKKysgICAgICAi4KSo4KS/4KSv4KSu IgorKyAgICBdLAorKyAgICAic2NlbmFyaW8iOiBbCisrICAgICAgIuCkquCksOCkv+CkpuClg+Ck tuCljeCkryIKKysgICAgXSwKKysgICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKysgICAgICAi4KSq 4KSw4KS/4KSm4KWD4KS24KWN4KSvIOCksOClguCkquCksOClh+CkluCkviIKKysgICAgXSwKKysg ICAgInRoZW4iOiBbCisrICAgICAgIiogIiwKKysgICAgICAi4KSu4KSXICIsCisrICAgICAgIuCk pOClh+CkteCljeCkueCkviAiCisrICAgIF0sCisrICAgICJ3aGVuIjogWworKyAgICAgICIqICIs CisrICAgICAgIuCknOClh+CkteCljeCkueCkviAiCisrICAgIF0KKyAgIH0KKyB9CitkaWZmIC0t Z2l0IGEvZmVhdHVyZXMvY21kbGluZS5sYW5nX2xpc3QuZmVhdHVyZSBiL2ZlYXR1cmVzL2NtZGxp bmUubGFuZ19saXN0LmZlYXR1cmUKK2luZGV4IGY3N2U3NDcuLjIwODIyZWMgMTAwNjQ0CistLS0g YS9mZWF0dXJlcy9jbWRsaW5lLmxhbmdfbGlzdC5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9jbWRs aW5lLmxhbmdfbGlzdC5mZWF0dXJlCitAQCAtMzksMjEgKzM5LDUzIEBAIEZlYXR1cmU6IENvbW1h bmQtbGluZSBvcHRpb25zOiBVc2UgYmVoYXZlIC0tbGFuZy1saXN0CisgICAgICAgICAgIGZhOiDZ gdin2LHYs9uMIC8gUGVyc2lhbgorICAgICAgICAgICBmaTogc3VvbWkgLyBGaW5uaXNoCisgICAg ICAgICAgIGZyOiBmcmFuw6dhaXMgLyBGcmVuY2gKKy0gICAgICAgICIiIgorLSAgICBBbmQgdGhl IGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorLSAgICAgICAgIiIiCistICAgICAgICBz djogU3ZlbnNrYSAvIFN3ZWRpc2gKKy0gICAgICAgIHRhOiDgrqTgrq7grr/grrTgr40gLyBUYW1p bAorLSAgICAgICAgdGg6IOC5hOC4l+C4oiAvIFRoYWkKKy0gICAgICAgIHRsOiDgsKTgsYbgsLLg sYHgsJfgsYEgLyBUZWx1Z3UKKy0gICAgICAgIHRsaDogdGxoSW5nYW4gLyBLbGluZ29uCistICAg ICAgICB0cjogVMO8cmvDp2UgLyBUdXJraXNoCistICAgICAgICB0dDog0KLQsNGC0LDRgNGH0LAg LyBUYXRhcgorLSAgICAgICAgdWs6INCj0LrRgNCw0ZfQvdGB0YzQutCwIC8gVWtyYWluaWFuCist ICAgICAgICB1cjog2KfYsdiv2YggLyBVcmR1CistICAgICAgICB1ejog0KPQt9Cx0LXQutGH0LAg LyBVemJlaworLSAgICAgICAgdmk6IFRp4bq/bmcgVmnhu4d0IC8gVmlldG5hbWVzZQorLSAgICAg ICAgemgtQ046IOeugOS9k+S4reaWhyAvIENoaW5lc2Ugc2ltcGxpZmllZAorLSAgICAgICAgemgt VFc6IOe5gemrlOS4reaWhyAvIENoaW5lc2UgdHJhZGl0aW9uYWwKKysgICAgICAgICAgZ2E6IEdh ZWlsZ2UgLyBJcmlzaAorKyAgICAgICAgICBnajog4KqX4KuB4Kqc4Kqw4Kq+4Kqk4KuAIC8gR3Vq YXJhdGkKKysgICAgICAgICAgZ2w6IGdhbGVnbyAvIEdhbGljaWFuCisrICAgICAgICAgIGhlOiDX oteR16jXmdeqIC8gSGVicmV3CisrICAgICAgICAgIGhpOiDgpLngpL/gpILgpKbgpYAgLyBIaW5k aQorKyAgICAgICAgICBocjogaHJ2YXRza2kgLyBDcm9hdGlhbgorKyAgICAgICAgICBodDoga3Jl ecOybCAvIENyZW9sZQorKyAgICAgICAgICBodTogbWFneWFyIC8gSHVuZ2FyaWFuCisrICAgICAg ICAgIGlkOiBCYWhhc2EgSW5kb25lc2lhIC8gSW5kb25lc2lhbgorKyAgICAgICAgICBpczogw41z bGVuc2thIC8gSWNlbGFuZGljCisrICAgICAgICAgIGl0OiBpdGFsaWFubyAvIEl0YWxpYW4KKysg ICAgICAgICAgamE6IOaXpeacrOiqniAvIEphcGFuZXNlCisrICAgICAgICAgIGp2OiBCYXNhIEph d2EgLyBKYXZhbmVzZQorKyAgICAgICAgICBrYTog4YOl4YOQ4YOg4YOX4YOV4YOU4YOa4YOYIC8g R2VvcmdpYW4KKysgICAgICAgICAga246IOCyleCyqOCzjeCyqOCyoSAvIEthbm5hZGEKKysgICAg ICAgICAga286IO2VnOq1reyWtCAvIEtvcmVhbgorKyAgICAgICAgICBsdDogbGlldHV2acWzIGth bGJhIC8gTGl0aHVhbmlhbgorKyAgICAgICAgICBsdTogTMOrdHplYnVlcmdlc2NoIC8gTHV4ZW1i dXJnaXNoCisrICAgICAgICAgIGx2OiBsYXR2aWXFoXUgLyBMYXR2aWFuCisrICAgICAgICAgIG1r LUN5cmw6INCc0LDQutC10LTQvtC90YHQutC4IC8gTWFjZWRvbmlhbgorKyAgICAgICAgICBtay1M YXRuOiBNYWtlZG9uc2tpIChMYXRpbmljYSkgLyBNYWNlZG9uaWFuIChMYXRpbikKKysgICAgICAg ICAgbW46INC80L7QvdCz0L7QuyAvIE1vbmdvbGlhbgorKyAgICAgICAgICBtcjog4KSu4KSw4KS+ 4KSg4KWAIC8gTWFyYXRoaQorKyAgICAgICAgICBuZTog4KSo4KWH4KSq4KS+4KSy4KWAIC8gTmVw YWxpCisrICAgICAgICAgIG5sOiBOZWRlcmxhbmRzIC8gRHV0Y2gKKysgICAgICAgICAgbm86IG5v cnNrIC8gTm9yd2VnaWFuCisrICAgICAgICAgIHBhOiDgqKrgqbDgqJzgqL7gqKzgqYAgLyBQYW5q YWJpCisrICAgICAgICAgIHBsOiBwb2xza2kgLyBQb2xpc2gKKysgICAgICAgICAgcHQ6IHBvcnR1 Z3XDqnMgLyBQb3J0dWd1ZXNlCisrICAgICAgICAgIHJvOiByb23Dom7EgyAvIFJvbWFuaWFuCisr ICAgICAgICAgIHJ1OiDRgNGD0YHRgdC60LjQuSAvIFJ1c3NpYW4KKysgICAgICAgICAgc2s6IFNs b3ZlbnNreSAvIFNsb3ZhaworKyAgICAgICAgICBzbDogU2xvdmVuc2tpIC8gU2xvdmVuaWFuCisr ICAgICAgICAgIHNyLUN5cmw6INCh0YDQv9GB0LrQuCAvIFNlcmJpYW4KKysgICAgICAgICAgc3It TGF0bjogU3Jwc2tpIChMYXRpbmljYSkgLyBTZXJiaWFuIChMYXRpbikKKysgICAgICAgICAgc3Y6 IFN2ZW5za2EgLyBTd2VkaXNoCisrICAgICAgICAgIHRhOiDgrqTgrq7grr/grrTgr40gLyBUYW1p bAorKyAgICAgICAgICB0ZTog4LCk4LGG4LCy4LGB4LCX4LGBIC8gVGVsdWd1CisrICAgICAgICAg IHRoOiDguYTguJfguKIgLyBUaGFpCisrICAgICAgICAgIHRsaDogdGxoSW5nYW4gLyBLbGluZ29u CisrICAgICAgICAgIHRyOiBUw7xya8OnZSAvIFR1cmtpc2gKKysgICAgICAgICAgdHQ6INCi0LDR gtCw0YDRh9CwIC8gVGF0YXIKKysgICAgICAgICAgdWs6INCj0LrRgNCw0ZfQvdGB0YzQutCwIC8g VWtyYWluaWFuCisrICAgICAgICAgIHVyOiDYp9ix2K/ZiCAvIFVyZHUKKysgICAgICAgICAgdXo6 INCj0LfQsdC10LrRh9CwIC8gVXpiZWsKKysgICAgICAgICAgdmk6IFRp4bq/bmcgVmnhu4d0IC8g VmlldG5hbWVzZQorKyAgICAgICAgICB6aC1DTjog566A5L2T5Lit5paHIC8gQ2hpbmVzZSBzaW1w bGlmaWVkCisrICAgICAgICAgIHpoLVRXOiDnuYHpq5TkuK3mlocgLyBDaGluZXNlIHRyYWRpdGlv bmFsCisgICAgICAgICAiIiIKKyAgICAgQnV0IHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgbm90 IGNvbnRhaW4gIlRyYWNlYmFjayIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAz MDkuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMwOS5mZWF0dXJlCitpbmRleCBjOGE4 ODU3Li5iNTBlMzJkIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzA5LmZlYXR1 cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMwOS5mZWF0dXJlCitAQCAtNTIsOCArNTIs OCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzA5IC0tIGJlaGF2ZSAtLWxhbmctbGlzdCBmYWlscyBvbiBQ eXRob24zCisgICAgICAgICAiIiIKKyAgICAgICAgIHN2OiBTdmVuc2thIC8gU3dlZGlzaAorICAg ICAgICAgdGE6IOCupOCuruCuv+CutOCvjSAvIFRhbWlsCisrICAgICAgICB0ZTog4LCk4LGG4LCy 4LGB4LCX4LGBIC8gVGVsdWd1CisgICAgICAgICB0aDog4LmE4LiX4LiiIC8gVGhhaQorLSAgICAg ICAgdGw6IOCwpOCxhuCwsuCxgeCwl+CxgSAvIFRlbHVndQorICAgICAgICAgdGxoOiB0bGhJbmdh biAvIEtsaW5nb24KKyAgICAgICAgIHRyOiBUw7xya8OnZSAvIFR1cmtpc2gKKyAgICAgICAgIHR0 OiDQotCw0YLQsNGA0YfQsCAvIFRhdGFyCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0 ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFIt ODk1LWFuZC04MjcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44 Zjk4NWJkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFIt ODk1LWFuZC04MjcucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSBmZWQyNmEwMDFhODhlZDYy OWVmY2NiNWZmNjg1MmE1ODhlNWFhNjM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEy IEphbiAyMDIxIDEzOjQwOjU4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFURSBDSEFOR0VT OiBSZWxhdGVkIHRvIFBSICM4OTUgYW5kICM4MjcKKworLS0tCisgQ0hBTkdFUy5yc3QgfCAyICsr CisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdF Uy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggYTMzOThkOC4uZmY4MjEzMiAxMDA2NDQKKy0tLSBh L0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTI4LDYgKzI4LDggQEAgRU5IQU5D RU1FTlRTOgorICogVXNlIGN1Y3VtYmVyICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBub3cgKHNp bXBsaWZ5OiBHaGVya2luIHY2IGFsaWFzZXMsIGxhbmd1YWdlIHVzYWdlKQorICogU3VwcG9ydCBl bW9qaXMgaW4gYGAqLmZlYXR1cmVgYCBmaWxlcyBhbmQgc3RlcHMKKyAqIFNlbGVjdC1ieS1sb2Nh dGlvbjogQWRkIHN1cHBvcnQgZm9yICJTY2VuYXJpbyBjb250YWluZXIiIChGZWF0dXJlLCBSdWxl LCBTY2VuYXJpb091dGxpbmUpIChyZWxhdGVkIHRvOiAjMzkxKQorKyogcHVsbCAgIzg5NTogVVBE QVRFOiBpMThuL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gZnJvbSBjdWN1bWJlciByZXBvc2l0b3J5 ICM4OTUgKHJlbGF0ZWQgdG86ICM4MjcpCisrKiBwdWxsICAjODI3OiBGaXhlZCBrZXl3b3JkIHRy YW5zbGF0aW9uIGluIEVzdG9uaWFuICM4MjcgKHByb3ZpZGVkIGJ5OiBvb2t1bGwpCisgKiBpc3N1 ZSAjNzQwOiBFbmhhbmNlbWVudDogcG9zc2liaWxpdHkgdG8gYWRkIGNsZWFudXAgdG8gYmUgY2Fs bGVkIHVwb24gbGVhdmluZyBvdXRlciBjb250ZXh0IHN0YWNrIGZyYW1lcyAoc3VibWl0dGVkIGJ5 OiBuaXp3aXosIGRjdm1vb2xlKQorICogaXNzdWUgIzY3ODogU2NlbmFyaW8gT3V0bGluZTogU3Vw cG9ydCB0YWdzIHdpdGggY29tbWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRlZCBieTogbGF3bm1v d2VybGF0dGUsIHB1bGwgIzY3OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90 IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTogc21hZG5l c3MsIHB1bGwgIzY4MCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTYtRklYLUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIuNy1i dWlsZHMtbW9jay00LjAtb25seS1mby5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTYtRklYLUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIu Ny1idWlsZHMtbW9jay00LjAtb25seS1mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjY3YWI0YTJjZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTYtRklYLUNJLVRSQVZJUy1G b3ItcHl0aG9uLTIuNy1idWlsZHMtbW9jay00LjAtb25seS1mby5wYXRjaApAQCAtMCwwICsxLDM5 IEBACitGcm9tIDNhZGQ0NTgxNGYzYTIxMjU0OTM2NTg3NDRmZmEyOGNiODU4Mzk4ZjAgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHku Z2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMTIgSmFuIDIwMjEgMTM6NTE6MDIgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gRklYIENJLVRSQVZJUzogRm9yIHB5dGhvbiAyLjcgYnVpbGRzIChtb2NrID49 IDQuMCBvbmx5IGZvcgorIHB5dGhvbi52ZXJzaW9uID49IDMuNikKKworLS0tCisgcHkucmVxdWly ZW1lbnRzL2NpLnRyYXZpcy50eHQgfCAzICsrLQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4 dCAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0IGIvcHku cmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK2luZGV4IGNiYzYwYzAuLjFkNmUwNTAgMTAwNjQ0 CistLS0gYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorKysrIGIvcHkucmVxdWlyZW1l bnRzL2NpLnRyYXZpcy50eHQKK0BAIC02LDcgKzYsOCBAQCBweXRlc3QgPCAgNS4wOyBweXRob25f dmVyc2lvbiA8ICAnMy4wJworIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAn CisgCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wLDwyLjAKKy1tb2NrICA+PSAyLjAKKyttb2NrICA8 ICA0LjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNicKKyttb2NrICA+PSA0LjA7ICAgcHl0aG9u X3ZlcnNpb24gPj0gJzMuNicKKyBQeUhhbWNyZXN0ID49IDIuMC4yOyBweXRob25fdmVyc2lvbiA+ PSAnMy4wJworIFB5SGFtY3Jlc3QgPCAgMi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCisg CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1l bnRzL3Rlc3RpbmcudHh0CitpbmRleCBmYzhmZDgyLi45MjMwYzFmIDEwMDY0NAorLS0tIGEvcHku cmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50 eHQKK0BAIC04LDcgKzgsOCBAQCBweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4w JyAjIHB5dGVzdCA+PSA0LjIKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4w JworIAorIHB5dGVzdC1odG1sID49IDEuMTkuMCw8Mi4wCistbW9jayAgPj0gMi4wCisrbW9jayAg PCAgNC4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjYnCisrbW9jayAgPj0gNC4wOyAgIHB5dGhv bl92ZXJzaW9uID49ICczLjYnCisgUHlIYW1jcmVzdCA+PSAyLjAuMjsgcHl0aG9uX3ZlcnNpb24g Pj0gJzMuMCcKKyBQeUhhbWNyZXN0IDwgIDIuMDsgICBweXRob25fdmVyc2lvbiA8ICAnMy4wJwor IApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDExNy1BZGRzLXRoZS1hYmlsaXR5LXRvLXVzZS1hLWN1c3RvbS1ydW5uZXItaW4t dGhlLWJlaGF2LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDExNy1BZGRzLXRoZS1hYmlsaXR5LXRvLXVzZS1hLWN1c3RvbS1ydW5uZXIt aW4tdGhlLWJlaGF2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u ODc2NzE2N2U3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNy1BZGRzLXRoZS1hYmlsaXR5LXRvLXVzZS1hLWN1 c3RvbS1ydW5uZXItaW4tdGhlLWJlaGF2LnBhdGNoCkBAIC0wLDAgKzEsMTI2IEBACitGcm9tIDMx NzZlMTcwNzI2N2RmMWM1YzQ0MjRjM2M3YTU5MWQ2NjQ0NGM5NzYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBraW5nYnV6em1hbiA8YnV6emkuamF2aWVyQGdtYWlsLmNvbT4KK0RhdGU6 IEZyaSwgMTkgSnVuIDIwMjAgMDk6MTg6NTEgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkcyB0 aGUgYWJpbGl0eSB0byB1c2UgYSBjdXN0b20gcnVubmVyIGluIHRoZSBiZWhhdmUgY29tbWFuZAor CistLS0KKyBiZWhhdmUvX19tYWluX18ucHkgICAgICAgICAgICAgICB8ICAyICstCisgYmVoYXZl L2NvbmZpZ3VyYXRpb24ucHkgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCisgZG9jcy9i ZWhhdmUucnN0ICAgICAgICAgICAgICAgICAgfCAgNSArKysrKworIHRlc3RzL3VuaXQvdGVzdF9j b25maWd1cmF0aW9uLnB5IHwgMTkgKysrKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdl ZCwgNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZl L19fbWFpbl9fLnB5IGIvYmVoYXZlL19fbWFpbl9fLnB5CitpbmRleCAzY2FlMzZkLi5lZGI5OWM0 IDEwMDY0NAorLS0tIGEvYmVoYXZlL19fbWFpbl9fLnB5CisrKysgYi9iZWhhdmUvX19tYWluX18u cHkKK0BAIC0yMTUsNyArMjE1LDcgQEAgZGVmIG1haW4oYXJncz1Ob25lKToKKyAgICAgOnJldHVy bjogMCwgaWYgc3VjY2Vzc2Z1bC4gTm9uLXplcm8sIGluIGNhc2Ugb2YgZXJyb3JzL2ZhaWx1cmVz LgorICAgICAiIiIKKyAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbihhcmdzKQorLSAgICByZXR1 cm4gcnVuX2JlaGF2ZShjb25maWcpCisrICAgIHJldHVybiBydW5fYmVoYXZlKGNvbmZpZywgcnVu bmVyX2NsYXNzPWNvbmZpZy5ydW5uZXJfY2xhc3MpCisgCisgCisgaWYgX19uYW1lX18gPT0gIl9f bWFpbl9fIjoKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9j b25maWd1cmF0aW9uLnB5CitpbmRleCA2NWUyZTNlLi4wNGMwMTRhIDEwMDY0NAorLS0tIGEvYmVo YXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAt OCw2ICs4LDcgQEAgaW1wb3J0IHJlCisgaW1wb3J0IHN5cworIGltcG9ydCBzaGxleAorIGltcG9y dCBzaXgKKytmcm9tIGltcG9ydGxpYiBpbXBvcnQgaW1wb3J0X21vZHVsZQorIGZyb20gc2l4Lm1v dmVzIGltcG9ydCBjb25maWdwYXJzZXIKKyAKKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgU2Nl bmFyaW9PdXRsaW5lCitAQCAtNjUsNiArNjYsMTYgQEAgY2xhc3MgTG9nTGV2ZWwob2JqZWN0KToK KyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDT05GSUdVUkFUSU9OIFNDSEVNQToKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrCisrZGVmIHZhbGlkX3B5dGhvbl9tb2R1bGUocGF0aCk6Cisr ICAgIHRyeToKKysgICAgICAgIG1vZHVsZV9wYXRoLCBjbGFzc19uYW1lID0gcGF0aC5yc3BsaXQo Jy4nLCAxKQorKyAgICAgICAgbW9kdWxlID0gaW1wb3J0X21vZHVsZShtb2R1bGVfcGF0aCkKKysg ICAgICAgIHJldHVybiBnZXRhdHRyKG1vZHVsZSwgY2xhc3NfbmFtZSkKKysgICAgZXhjZXB0IChW YWx1ZUVycm9yLCBBdHRyaWJ1dGVFcnJvciwgSW1wb3J0RXJyb3IpOgorKyAgICAgICAgcmFpc2Ug YXJncGFyc2UuQXJndW1lbnRUeXBlRXJyb3IoIk5vIG1vZHVsZSBuYW1lZCAnJXMnIHdhcyBmb3Vu ZC4iICUgcGF0aCkKKysKKysKKyBvcHRpb25zID0gWworICAgICAoKCItYyIsICItLW5vLWNvbG9y IiksCisgICAgICBkaWN0KGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJjb2xvciIsCitAQCAt MTExLDYgKzEyMiwxMSBAQCBvcHRpb25zID0gWworICAgICAgZGljdChtZXRhdmFyPSJQQVRIIiwg ZGVzdD0ianVuaXRfZGlyZWN0b3J5IiwKKyAgICAgICAgICAgZGVmYXVsdD0icmVwb3J0cyIsCisg ICAgICAgICAgIGhlbHA9IiIiRGlyZWN0b3J5IGluIHdoaWNoIHRvIHN0b3JlIEpVbml0IHJlcG9y dHMuIiIiKSksCisrICAgIAorKyAgICAoKCItLXJ1bm5lci1jbGFzcyIsKSwKKysgICAgIGRpY3Qo YWN0aW9uPSJzdG9yZSIsCisrICAgICAgICAgIGRlZmF1bHQ9ImJlaGF2ZS5ydW5uZXIuUnVubmVy IiwgdHlwZT12YWxpZF9weXRob25fbW9kdWxlLAorKyAgICAgICAgICBoZWxwPSJUZWxscyBCZWhh dmUgdG8gdXNlIGEgc3BlY2lmaWMgcnVubmVyLiAoZGVmYXVsdDogJShkZWZhdWx0KXMpIikpLAor IAorICAgICAoKCksICAjIC0tIENPTkZJR0ZJTEUgb25seQorICAgICAgZGljdChkZXN0PSJkZWZh dWx0X2Zvcm1hdCIsCitkaWZmIC0tZ2l0IGEvZG9jcy9iZWhhdmUucnN0IGIvZG9jcy9iZWhhdmUu cnN0CitpbmRleCAyNWNlNTIzLi44YzFjMTI1IDEwMDY0NAorLS0tIGEvZG9jcy9iZWhhdmUucnN0 CisrKysgYi9kb2NzL2JlaGF2ZS5yc3QKK0BAIC01NSw2ICs1NSwxMSBAQCBZb3UgbWF5IHNlZSB0 aGUgc2FtZSBpbmZvcm1hdGlvbiBwcmVzZW50ZWQgYmVsb3cgYXQgYW55IHRpbWUgdXNpbmcgYGBi ZWhhdmUKKyAKKyAgICAgRGlyZWN0b3J5IGluIHdoaWNoIHRvIHN0b3JlIEpVbml0IHJlcG9ydHMu CisgCisrLi4gb3B0aW9uOjogLS1ydW5uZXItY2xhc3MKKysKKysgICAgVGhpcyBhbGxvd3MgeW91 IHRvIHVzZSB5b3VyIG93biBjdXN0b20gcnVubmVyLiBUaGUgZGVmYXVsdCBpcyAKKysgICAgYGBi ZWhhdmUucnVubmVyLlJ1bm5lcmBgLgorKworIC4uIG9wdGlvbjo6IC1mLCAtLWZvcm1hdAorIAor ICAgICBTcGVjaWZ5IGEgZm9ybWF0dGVyLiBJZiBub25lIGlzIHNwZWNpZmllZCB0aGUgZGVmYXVs dCBmb3JtYXR0ZXIgaXMKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlv bi5weSBiL3Rlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0aW9uLnB5CitpbmRleCBjOTZjZjYzLi4w MjVhNmQwIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKKysr KyBiL3Rlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0aW9uLnB5CitAQCAtNSw2ICs1LDcgQEAgaW1w b3J0IHNpeAorIGltcG9ydCBweXRlc3QKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgY29uZmlndXJhdGlv bgorIGZyb20gYmVoYXZlLmNvbmZpZ3VyYXRpb24gaW1wb3J0IENvbmZpZ3VyYXRpb24sIFVzZXJE YXRhCisrZnJvbSBiZWhhdmUucnVubmVyIGltcG9ydCBSdW5uZXIgYXMgQmFzZVJ1bm5lcgorIGZy b20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlCisgCisgCitAQCAtMzcsNiArMzgsMTAgQEAgaWYg c3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoIndpbiIpOgorICAgICBST09URElSX1BSRUZJWCA9IG9z LmVudmlyb24uZ2V0KCJCRUhBVkVfUk9PVERJUl9QUkVGSVgiLCBST09URElSX1BSRUZJWF9ERUZB VUxUKQorIAorIAorK2NsYXNzIEN1c3RvbVRlc3RSdW5uZXIoQmFzZVJ1bm5lcik6CisrICAgICIi IkN1c3RvbSwgZHVtbXkgcnVubmVyIiIiCisrCisrCisgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb24o b2JqZWN0KToKKyAKKyAgICAgZGVmIHRlc3RfcmVhZF9maWxlKHNlbGYpOgorQEAgLTkyLDYgKzk3 LDIwIEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgICAgICAgICBhc3NlcnQg IlNUQUdFMl9lbnZpcm9ubWVudC5weSIgPT0gY29uZmlnLmVudmlyb25tZW50X2ZpbGUKKyAgICAg ICAgIGRlbCBvcy5lbnZpcm9uWyJCRUhBVkVfU1RBR0UiXQorIAorKyAgICBkZWYgdGVzdF9zZXR0 aW5nc19ydW5uZXJfY2xhc3Moc2VsZiwgY2Fwc3lzKToKKysgICAgICAgIGNvbmZpZyA9IENvbmZp Z3VyYXRpb24oIiIpCisrICAgICAgICBhc3NlcnQgQmFzZVJ1bm5lciA9PSBjb25maWcucnVubmVy X2NsYXNzCisrCisrICAgIGRlZiB0ZXN0X3NldHRpbmdzX3J1bm5lcl9jbGFzc19jdXN0b20oc2Vs ZiwgY2Fwc3lzKToKKysgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oWyItLXJ1bm5lci1j bGFzcz10ZXN0cy51bml0LnRlc3RfY29uZmlndXJhdGlvbi5DdXN0b21UZXN0UnVubmVyIl0pCisr ICAgICAgICBhc3NlcnQgQ3VzdG9tVGVzdFJ1bm5lciA9PSBjb25maWcucnVubmVyX2NsYXNzCisr CisrICAgIGRlZiB0ZXN0X3NldHRpbmdzX3J1bm5lcl9jbGFzc19pbnZhbGlkKHNlbGYsIGNhcHN5 cyk6CisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoU3lzdGVtRXhpdCk6CisrICAgICAgICAg ICAgQ29uZmlndXJhdGlvbihbIi0tcnVubmVyLWNsYXNzPWRvZXMubm90LmV4aXN0LlJ1bm5lciJd KQorKyAgICAgICAgY2FwdHVyZWQgPSBjYXBzeXMucmVhZG91dGVycigpCisrICAgICAgICBhc3Nl cnQgIk5vIG1vZHVsZSBuYW1lZCAnZG9lcy5ub3QuZXhpc3QuUnVubmVyJyB3YXMgZm91bmQuIiBp biBjYXB0dXJlZC5lcnIKKysKKyAKKyBjbGFzcyBUZXN0Q29uZmlndXJhdGlvblVzZXJEYXRhKFRl c3RDYXNlKToKKyAgICAgIiIiVGVzdCB1c2VyZGF0YSBhc3BlY3RzIGluIGJlaGF2ZS5jb25maWd1 cmF0aW9uLkNvbmZpZ3VyYXRpb24gY2xhc3MuIiIiCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4LUFsbG93LWZvcmNpbmct Y29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1j b2xvci1hbHdheXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41 MzEzYTFiMjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xv ci1hbHdheXMucGF0Y2gKQEAgLTAsMCArMSw1OSBAQAorRnJvbSBlZTY3MGYzOGQ2MDQzY2Y5NDkx NmZlODk1ZjI5NzM4ZDY1MjZmYjQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFy YyBBYnJhbW93aXR6IDxhYnJhbW93aUBhZG9iZS5jb20+CitEYXRlOiBUaHUsIDMgQXVnIDIwMTcg MDc6Mjk6MzggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWxsb3cgZm9yY2luZyBjb2xvciB3aXRo IC0tY29sb3I9YWx3YXlzCisKK2V2ZW4gaWYgc3Rkb3V0IGlzIG5vdCBhIHR0eSAoZS5nLjogSmVu a2lucykKKy0tLQorIGJlaGF2ZS9jb25maWd1cmF0aW9uLnB5ICAgIHwgIDcgKysrKy0tLQorIGJl aGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5IHwgMTIgKysrKysrKysrLS0tCisgMiBmaWxlcyBjaGFu Z2VkLCAxMyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVo YXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQoraW5kZXggMDRj MDE0YS4uMWIwYmMyYiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysg Yi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAgLTgyLDkgKzgyLDEwIEBAIG9wdGlvbnMgPSBb CisgICAgICAgICAgIGhlbHA9IkRpc2FibGUgdGhlIHVzZSBvZiBBTlNJIGNvbG9yIGVzY2FwZXMu IikpLAorIAorICAgICAoKCItLWNvbG9yIiwpLAorLSAgICAgZGljdChhY3Rpb249InN0b3JlX3Ry dWUiLCBkZXN0PSJjb2xvciIsCistICAgICAgICAgIGhlbHA9IiIiVXNlIEFOU0kgY29sb3IgZXNj YXBlcy4gVGhpcyBpcyB0aGUgZGVmYXVsdAorLSAgICAgICAgICAgICAgICAgIGJlaGF2aW91ci4g VGhpcyBzd2l0Y2ggaXMgdXNlZCB0byBvdmVycmlkZSBhCisrICAgICBkaWN0KGRlc3Q9ImNvbG9y IiwgY2hvaWNlcz1bIm5ldmVyIiwgImFsd2F5cyIsICJhdXRvIl0sCisrICAgICAgICAgIGRlZmF1 bHQ9ImF1dG8iLCBjb25zdD0iYXV0byIsIG5hcmdzPSI/IiwKKysgICAgICAgICAgaGVscD0iIiJV c2UgQU5TSSBjb2xvciBlc2NhcGVzLiBEZWZhdWx0cyB0byAlKGNvbnN0KXIuCisrICAgICAgICAg ICAgICAgICAgVGhpcyBzd2l0Y2ggaXMgdXNlZCB0byBvdmVycmlkZSBhCisgICAgICAgICAgICAg ICAgICAgY29uZmlndXJhdGlvbiBmaWxlIHNldHRpbmcuIiIiKSksCisgCisgICAgICgoIi1kIiwg Ii0tZHJ5LXJ1biIpLAorZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5IGIv YmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKK2luZGV4IDc5NGUxZDcuLmI5NzQzOGEgMTAwNjQ0 CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRl ci9wcmV0dHkucHkKK0BAIC02Niw5ICs2Niw3IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3Jt YXR0ZXIpOgorICAgICAgICAgc3VwZXIoUHJldHR5Rm9ybWF0dGVyLCBzZWxmKS5fX2luaXRfXyhz dHJlYW1fb3BlbmVyLCBjb25maWcpCisgICAgICAgICAjIC0tIEVOU1VSRTogT3V0cHV0IHN0cmVh bSBpcyBvcGVuLgorICAgICAgICAgc2VsZi5zdHJlYW0gPSBzZWxmLm9wZW4oKQorLSAgICAgICAg aXNhdHR5ID0gZ2V0YXR0cihzZWxmLnN0cmVhbSwgImlzYXR0eSIsIGxhbWJkYTogVHJ1ZSkKKy0g ICAgICAgIHN0cmVhbV9zdXBwb3J0c19jb2xvcnMgPSBpc2F0dHkoKQorLSAgICAgICAgc2VsZi5t b25vY2hyb21lID0gbm90IGNvbmZpZy5jb2xvciBvciBub3Qgc3RyZWFtX3N1cHBvcnRzX2NvbG9y cworKyAgICAgICAgc2VsZi5tb25vY2hyb21lID0gc2VsZi5fZ2V0X21vbm9jaHJvbWUoY29uZmln KQorICAgICAgICAgc2VsZi5zaG93X3NvdXJjZSA9IGNvbmZpZy5zaG93X3NvdXJjZQorICAgICAg ICAgc2VsZi5zaG93X3RpbWluZ3MgPSBjb25maWcuc2hvd190aW1pbmdzCisgICAgICAgICBzZWxm LnNob3dfbXVsdGlsaW5lID0gY29uZmlnLnNob3dfbXVsdGlsaW5lCitAQCAtODMsNiArODEsMTQg QEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICBzZWxmLmluZGVu dGF0aW9ucyA9IFtdCisgICAgICAgICBzZWxmLnN0ZXBfbGluZXMgPSAwCisgCisrICAgIGRlZiBf Z2V0X21vbm9jaHJvbWUoc2VsZiwgY29uZmlnKToKKysgICAgICAgIGlzYXR0eSA9IGdldGF0dHIo c2VsZi5zdHJlYW0sICJpc2F0dHkiLCBsYW1iZGE6IFRydWUpCisrICAgICAgICBpZiBjb25maWcu Y29sb3IgPT0gJ2Fsd2F5cyc6CisrICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisrICAgICAgICBl bGlmIGNvbmZpZy5jb2xvciA9PSAnbmV2ZXInOgorKyAgICAgICAgICAgIHJldHVybiBUcnVlCisr ICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIHJldHVybiBub3QgaXNhdHR5KCkKKyAKKyAgICAg ZGVmIHJlc2V0KHNlbGYpOgorICAgICAgICAgIyAtLSBVTlVTRUQ6IHNlbGYudGFnX3N0YXRlbWVu dCA9IE5vbmUKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAxMTktQWxsb3ctY29sb3Itd2l0aC1uby12YWx1ZS1mb2xsb3dlZC1i eS1wb3NhcmcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTE5LUFsbG93LWNvbG9yLXdpdGgtbm8tdmFsdWUtZm9sbG93ZWQtYnktcG9z YXJnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYmI3ZWRjODRi Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDExOS1BbGxvdy1jb2xvci13aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5 LXBvc2FyZy5wYXRjaApAQCAtMCwwICsxLDQzIEBACitGcm9tIDIyNWFlM2FhMTEzNTg0ZDI2NTc5 Y2UwYjM1MzdhOGZlYzZlYTg3MGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJj IEFicmFtb3dpdHogPGFicmFtb3dpQGFkb2JlLmNvbT4KK0RhdGU6IFRodSwgMyBBdWcgMjAxNyAw OToxMToyMiAtMDcwMAorU3ViamVjdDogW1BBVENIXSBBbGxvdyAtLWNvbG9yIHdpdGggbm8gdmFs dWUgZm9sbG93ZWQgYnkgcG9zYXJnCisKK0FsbG93IGNvbW1hbmRzIGxpa2UgYC0tY29sb3IgZmVh dHVyZXMvd2hpemJhbmcuZmVhdHVyZWAgdG8gd29yaworV2l0aG91dCB0aGlzLCBhcmdwYXJzZSB3 aWxsIHRyZWF0IHRoZSBwb3NpdGlvbmFsIGFyZyBhcyB0aGUgdmFsdWUgdG8KKy0tY29sb3IgYW5k IHdlJ2QgZ2V0OgorICBhcmd1bWVudCAtLWNvbG9yOiBpbnZhbGlkIGNob2ljZTogJ2ZlYXR1cmVz L3doaXpiYW5nLmZlYXR1cmUnCistLS0KKyBiZWhhdmUvY29uZmlndXJhdGlvbi5weSB8IDEyICsr KysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25m aWd1cmF0aW9uLnB5CitpbmRleCAxYjBiYzJiLi4wZmRmZDVlIDEwMDY0NAorLS0tIGEvYmVoYXZl L2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtODMs NyArODMsNyBAQCBvcHRpb25zID0gWworIAorICAgICAoKCItLWNvbG9yIiwpLAorICAgICAgZGlj dChkZXN0PSJjb2xvciIsIGNob2ljZXM9WyJuZXZlciIsICJhbHdheXMiLCAiYXV0byJdLAorLSAg ICAgICAgICBkZWZhdWx0PSJhdXRvIiwgY29uc3Q9ImF1dG8iLCBuYXJncz0iPyIsCisrICAgICAg ICAgIGRlZmF1bHQ9Tm9uZSwgY29uc3Q9ImF1dG8iLCBuYXJncz0iPyIsCisgICAgICAgICAgIGhl bHA9IiIiVXNlIEFOU0kgY29sb3IgZXNjYXBlcy4gRGVmYXVsdHMgdG8gJShjb25zdClyLgorICAg ICAgICAgICAgICAgICAgIFRoaXMgc3dpdGNoIGlzIHVzZWQgdG8gb3ZlcnJpZGUgYQorICAgICAg ICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZSBzZXR0aW5nLiIiIikpLAorQEAgLTU2Miw2 ICs1NjIsMTYgQEAgY2xhc3MgQ29uZmlndXJhdGlvbihvYmplY3QpOgorICAgICAgICAgICAgICMg LS0gQVVUTy1ESVNDT1ZFUjogVmVyYm9zZSBtb2RlIGZyb20gY29tbWFuZC1saW5lIGFyZ3MuCisg ICAgICAgICAgICAgdmVyYm9zZSA9ICgiLXYiIGluIGNvbW1hbmRfYXJncykgb3IgKCItLXZlcmJv c2UiIGluIGNvbW1hbmRfYXJncykKKyAKKysgICAgICAgICMgQWxsb3cgY29tbWFuZHMgbGlrZSBg LS1jb2xvciBmZWF0dXJlcy93aGl6YmFuZy5mZWF0dXJlYCB0byB3b3JrCisrICAgICAgICAjIFdp dGhvdXQgdGhpcywgYXJncGFyc2Ugd2lsbCB0cmVhdCB0aGUgcG9zaXRpb25hbCBhcmcgYXMgdGhl IHZhbHVlIHRvCisrICAgICAgICAjIC0tY29sb3IgYW5kIHdlJ2QgZ2V0OgorKyAgICAgICAgIyAg IGFyZ3VtZW50IC0tY29sb3I6IGludmFsaWQgY2hvaWNlOiAnZmVhdHVyZXMvd2hpemJhbmcuZmVh dHVyZScKKysgICAgICAgICMgICAoY2hvb3NlIGZyb20gJ25ldmVyJywgJ2Fsd2F5cycsICdhdXRv JykKKysgICAgICAgIGlmICctLWNvbG9yJyBpbiBjb21tYW5kX2FyZ3M6CisrICAgICAgICAgICAg Y29sb3JfYXJnX3BvcyA9IGNvbW1hbmRfYXJncy5pbmRleCgnLS1jb2xvcicpCisrICAgICAgICAg ICAgaWYgb3MucGF0aC5leGlzdHMoY29tbWFuZF9hcmdzW2NvbG9yX2FyZ19wb3MgKyAxXSk6Cisr ICAgICAgICAgICAgICAgIGNvbW1hbmRfYXJncy5pbnNlcnQoY29sb3JfYXJnX3BvcyArIDEsICct LScpCisrCisgICAgICAgICBzZWxmLnZlcnNpb24gPSBOb25lCisgICAgICAgICBzZWxmLnRhZ3Nf aGVscCA9IE5vbmUKKyAgICAgICAgIHNlbGYubGFuZ19saXN0ID0gTm9uZQpkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMC1B ZGQtQkVIQVZFX0NPTE9SLWVudi12YXIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIwLUFkZC1CRUhBVkVfQ09MT1ItZW52LXZhci5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ3M2I2OWQ1NgotLS0g L2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMjAtQWRkLUJFSEFWRV9DT0xPUi1lbnYtdmFyLnBhdGNoCkBAIC0wLDAgKzEs MzEgQEAKK0Zyb20gMWEwM2IxZDI2MTU2MWIzOWE1NmJkODFiMWZkMGE4MzdiOGEyZmZmMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmMgQWJyYW1vd2l0eiA8YWJyYW1vd2lAYWRv YmUuY29tPgorRGF0ZTogVGh1LCAzIEF1ZyAyMDE3IDEzOjI5OjU1IC0wNzAwCitTdWJqZWN0OiBb UEFUQ0hdIEFkZCBCRUhBVkVfQ09MT1IgZW52IHZhcgorCistLS0KKyBiZWhhdmUvY29uZmlndXJh dGlvbi5weSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2 ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCAwZmRmZDVlLi5lN2QzODVkIDEwMDY0NAorLS0tIGEv YmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitA QCAtODMsNyArODMsNyBAQCBvcHRpb25zID0gWworIAorICAgICAoKCItLWNvbG9yIiwpLAorICAg ICAgZGljdChkZXN0PSJjb2xvciIsIGNob2ljZXM9WyJuZXZlciIsICJhbHdheXMiLCAiYXV0byJd LAorLSAgICAgICAgICBkZWZhdWx0PU5vbmUsIGNvbnN0PSJhdXRvIiwgbmFyZ3M9Ij8iLAorKyAg ICAgICAgICBkZWZhdWx0PW9zLmdldGVudignQkVIQVZFX0NPTE9SJyksIGNvbnN0PSJhdXRvIiwg bmFyZ3M9Ij8iLAorICAgICAgICAgICBoZWxwPSIiIlVzZSBBTlNJIGNvbG9yIGVzY2FwZXMuIERl ZmF1bHRzIHRvICUoY29uc3Qpci4KKyAgICAgICAgICAgICAgICAgICBUaGlzIHN3aXRjaCBpcyB1 c2VkIHRvIG92ZXJyaWRlIGEKKyAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUg c2V0dGluZy4iIiIpKSwKK0BAIC01MDcsNyArNTA3LDcgQEAgY2xhc3MgQ29uZmlndXJhdGlvbihv YmplY3QpOgorICAgICAiIiJDb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYmVoYXZlIGFuZCBiZWhh dmUgcnVubmVycy4iIiIKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktaW5zdGFuY2Ut YXR0cmlidXRlcworICAgICBkZWZhdWx0cyA9IGRpY3QoCistICAgICAgICBjb2xvcj1zeXMucGxh dGZvcm0gIT0gIndpbjMyIiwKKysgICAgICAgIGNvbG9yPSduZXZlcicgaWYgc3lzLnBsYXRmb3Jt ID09ICJ3aW4zMiIgZWxzZSBvcy5nZXRlbnYoJ0JFSEFWRV9DT0xPUicsICdhdXRvJyksCisgICAg ICAgICBzaG93X3NuaXBwZXRzPVRydWUsCisgICAgICAgICBzaG93X3NraXBwZWQ9VHJ1ZSwKKyAg ICAgICAgIGRyeV9ydW49RmFsc2UsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93 cy13YXJuaW5nLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDEyMS1maXgtbWFsZm9ybWVkLXRhYmxlLXJvd3Mtd2FybmluZy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmIyYmRjOTQ1OAotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAxMjEtZml4LW1hbGZvcm1lZC10YWJsZS1yb3dzLXdhcm5pbmcucGF0Y2gKQEAgLTAsMCAr MSwzMyBAQAorRnJvbSA3OWRhM2M3YTA1MWUyYzAzNDNmNWM3YWZmZWI5MDQ3YjRiNWQ2NWRmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1BhYmxvPTIwRG9tPUMzPUFE bmd1ZXo/PQorIDxwYWJsby5kb21pbmd1ZXpzYW50YW5hQHRlbGVmb25pY2EuY29tPgorRGF0ZTog VGh1LCA5IFNlcCAyMDIxIDEyOjE5OjIxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeDogbWFs Zm9ybWVkIHRhYmxlIHJvd3Mgd2FybmluZworCistLS0KKyBiZWhhdmUvcGFyc2VyLnB5IHwgNSAr KysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2Jl aGF2ZS9wYXJzZXIucHkgYi9iZWhhdmUvcGFyc2VyLnB5CitpbmRleCA1OGM2OGJlLi5iNzFhZGZl IDEwMDY0NAorLS0tIGEvYmVoYXZlL3BhcnNlci5weQorKysrIGIvYmVoYXZlL3BhcnNlci5weQor QEAgLTQxLDYgKzQxLDcgQEAgS2V5d29yZCBhbGlhc2VzOgorICMgcHlsaW50OiBlbmFibGU9bGlu ZS10b28tbG9uZworIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3 aXRoX3N0YXRlbWVudAorK2ltcG9ydCBsb2dnaW5nCisgaW1wb3J0IHJlCisgaW1wb3J0IHN5cwor IGltcG9ydCBzaXgKK0BAIC02NDQsNiArNjQ1LDEwIEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgor ICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSAic3RlcHMiCisgICAgICAgICAgICAgcmV0dXJuIHNl bGYuYWN0aW9uX3N0ZXBzKGxpbmUpCisgCisrICAgICAgICBpZiBub3QgcmUubWF0Y2gociJeKHwu KylcfCQiLCBsaW5lKToKKysgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigi YmVoYXZlIikKKysgICAgICAgICAgICBsb2dnZXIud2FybmluZyh1Ik1hbGZvcm1lZCB0YWJsZSBy b3cgYXQgJXM6IGxpbmUgJWkiLCBzZWxmLmZlYXR1cmUuZmlsZW5hbWUsIHNlbGYubGluZSkKKysK KyAgICAgICAgICMgLS0gU1VQUE9SVDogRXNjYXBlZC1waXBlKHMpIGluIEdoZXJraW4gY2VsbCB2 YWx1ZXMuCisgICAgICAgICAjICAgIFNlYXJjaCBmb3IgcGlwZShzKSB0aGF0IGFyZSBub3QgcHJl Y2VlZGVkIHdpdGggYW4gZXNjYXBlIGNoYXIuCisgICAgICAgICBjZWxscyA9IFtjZWxsLnJlcGxh Y2UoIlxcfCIsICJ8Iikuc3RyaXAoKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMi1GSVgtOTU1LXNldHVwLVJlbW92ZS1h dHRyaWJ1dGUtdXNlXzJ0bzMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMTIyLUZJWC05NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11 c2VfMnRvMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjJmMzBm MTIzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjItRklYLTk1NS1zZXR1cC1SZW1vdmUtYXR0cmlidXRlLXVz ZV8ydG8zLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZmQ5Yzk4Mjk5YTY1ZDA5ZGFhMDM4 ODk5MDQzMDRlMTUxNmI3ZDdlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxMiBTZXAg MjAyMSAxNjowNzozMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVggIzk1NTogc2V0dXA6IFJl bW92ZSBhdHRyaWJ1dGUgJ3VzZV8ydG8zJworCitSRUFTT046CisqIFRoaXMgYXR0cmlidXRlIGlz IGRlcHJlY2F0ZWQgc2luY2Ugc2V0dXB0b29scyA+PSB2NTguMC4yICgyMDIxLTA5LTA2KS4KKyog MnRvMyBjb252ZXJzaW9uIHNob3VsZCBub3QgYmUgbmVlZGVkIGFueW1vcmUuCisgIEN1cnJlbnRs eSwgY29kZSBzaG91bGQgcnVuIG9uIHB5dGhvbjIgYW5kIHB5dGhvbjMgKGJ5IHVzaW5nIHNpeCwg ZXRjLikuCistLS0KKyBzZXR1cC5weSB8IDcgKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3Nl dHVwLnB5CitpbmRleCBmZDg5YmRhLi5iYTQwN2ZkIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysr KyBiL3NldHVwLnB5CitAQCAtMTE4LDggKzExOCw4IEBAIHNldHVwKAorICAgICAgICAgICAgICJw eWxpbnQiLAorICAgICAgICAgXSwKKyAgICAgfSwKKy0gICAgIyBNQVlCRS1ESVNBQkxFOiB1c2Vf MnRvMworLSAgICB1c2VfMnRvMz0gYm9vbChweXRob25fdmVyc2lvbiA+PSAzLjApLAorKyAgICAj IERJU0FCTEVEOiB1c2VfMnRvMz0gYm9vbChweXRob25fdmVyc2lvbiA+PSAzLjApLAorKyAgICAj IERFUFJFQ0FURUQgU0lOQ0U6IHNldHVwdG9vbHMgdjU4LjAuMiAoMjAyMS0wOS0wNikKKyAgICAg bGljZW5zZT0iQlNEIiwKKyAgICAgY2xhc3NpZmllcnM9WworICAgICAgICAgIkRldmVsb3BtZW50 IFN0YXR1cyA6OiA0IC0gQmV0YSIsCitAQCAtMTI5LDEyICsxMjksMTEgQEAgc2V0dXAoCisgICAg ICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIiLAorICAgICAgICAgIlBy b2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyLjciLAorICAgICAgICAgIlByb2dyYW1t aW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzIiwKKy0gICAgICAgICJQcm9ncmFtbWluZyBMYW5n dWFnZSA6OiBQeXRob24gOjogMy4zIiwKKy0gICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6 OiBQeXRob24gOjogMy40IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRo b24gOjogMy41IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjog My42IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy43IiwK KyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy44IiwKKysgICAg ICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy45IiwKKyAgICAgICAgICJQ cm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogSW1wbGVtZW50YXRpb24gOjogQ1B5dGhv biIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVu dGF0aW9uIDo6IEp5dGhvbiIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0 aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IFB5UHkiLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMy1BZGQtaW5mby1mb3It Zml4ZWQtaXNzdWUtOTU1LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDEyMy1BZGQtaW5mby1mb3ItZml4ZWQtaXNzdWUtOTU1LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWJlNzMzNzE1Ci0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDEyMy1BZGQtaW5mby1mb3ItZml4ZWQtaXNzdWUtOTU1LnBhdGNoCkBAIC0wLDAgKzEs MjEgQEAKK0Zyb20gN2U0ODU1YmMxYTUxZGFhMTZkOTk3ODk4ZjM0MDMyYjA2MmJmOTdmMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAyMCBTZXAgMjAyMSAxNjoxMzo1OSArMDIwMAorU3Vi amVjdDogW1BBVENIXSBBZGQgaW5mbyBmb3IgZml4ZWQgaXNzdWUgIzk1NQorCistLS0KKyBDSEFO R0VTLnJzdCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0t Z2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggZmY4MjEzMi4uODgwZmQ5MSAx MDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTQyLDYgKzQy LDcgQEAgRklYRUQ6CisgCisgKiBGSVhFRDogU29tZSB0ZXN0cyByZWxhdGVkIHRvIHB5dGhvbjMu OQorICogRklYRUQ6IGFjdGl2ZS10YWcgbG9naWMgaWYgbXVsdGlwbGUgdGFncyB3aXRoIHNhbWUg Y2F0ZWdvcnkgZXhpc3RzLgorKyogaXNzdWUgIzk1NTogc2V0dXA6IFJlbW92ZSBhdHRyaWJ1dGUg J3VzZV8ydG8zJyAoc3VibWl0dGVkIGJ5OiBrcmlzZ2VzbGluZykKKyAqIGlzc3VlICM3NzI6IFNj ZW5hcmlvT3V0bGluZS5FeGFtcGxlcyB3aXRob3V0IHRhYmxlIChzdWJtaXR0ZWQgYnk6IFRoZS1R QS1HZWVrKQorICogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0 ZWQgYnk6IGhyb25jb2spCisgKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0 aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXopCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZV8xLjIuNi5iYiBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlXzEuMi42LmJiCmluZGV4IDFkY2M3ZDIxOC4uNzQ1ZDFlMmIyIDEwMDY0NAotLS0gYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5i YgorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZV8xLjIuNi5iYgpAQCAtNCw4ICs0LDEzMSBAQCBMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKIExJ Q19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWQ5NTA0MzllOGVhNmVkMjMzZTQy ODhmNWUxYTQ5YzA2IgogCiBQViAuPSAiK2dpdCR7U1JDUkVWfSIKLVNSQ1JFViA9ICI5NTIwMTE5 Mzc2MDQ2YWVmZjczODA0YjVmMWVhMDVkODdhNjNmMzcwIgotU1JDX1VSSSArPSAiZ2l0Oi8vZ2l0 aHViLmNvbS9iZWhhdmUvYmVoYXZlO2JyYW5jaD1tYXN0ZXI7cHJvdG9jb2w9aHR0cHMiCitTUkNS RVYgPSAiYzBmM2ZhZjQ3ZmYwNWY1NDllYzA0OTU5OWViMmYyNDA2OWIwZTUxZSIKK1NSQ19VUkkg Kz0gImZpbGU6Ly8wMDAxLUZJWEVTLTcyNS1TY2VuYXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3Qt Y29weWluZy1kZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1VUERBVEUtRklYRUQt NzI1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtQURELVRFU1QtdG8tdmVyaWZ5LXRo YXQtaXNzdWUtNzI1LWlzLWZpeGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtRklY LVN1bW1hcnlSZXBvcnRlci1jb3VudHMtY29tcHV0YXRpb24td2hlbi1SdWxlcy1hci5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDA1LVN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNp bXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1Gb3Jt YXR0ZXItQWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZvci1SdWxlcy5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDA3LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYwLnBh dGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3Ry aW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktRklYLWZlYXR1cmUucnVuX2l0ZW1z LXByb2Nlc3Npbmctd2l0aC1SdWxlLXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1k b2NzLURpc2FibGUtc3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVBRFRIRURPQ1MucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDAxMS1DbGVhbnVwLURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25z LWluLXJlcXVpcmVtZW50cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEyLWRvY3MtY29u Zi5weS10d2Vha3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMy1GSVgtTWlzc3BlbGxl ZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwMTQtQWRkLWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1hci1pc3N1ZXMucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDAxNS1SRUFETUUtUmVTVC10d2Vha3MucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDAxNi1FeGFtcGxlLXVzaW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDE3LVBSRVBBUkUtUHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtcHkzLjgtVHJ5LXRvLWZpeC1sb2dnaW5nLkZvcm1h dHRlci12YWxpZGF0ZS1wcm9ibGVtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTktdHJh dmlzLmNpLVRlbXBvcmFyaWx5LW1vdmUtcHkzOC1kZXYtdG8tZnJvbnQtYnVpbGQtZi5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZhc3Rlci1idWls ZHMtdGVtcG9yYXJpbHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMS1GSVgtcHkzLjgt bG9nZ2luZy5Gb3JtYXR0ZXIudmFsaWRhdGUtcHJvYmxlbS5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMDIyLVBSRVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVw cmVjYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZv LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtRklYLVdBUk5JTkctUmVsYXRlZC10by1k b2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQtYi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8w MDI1LUZJWC1pbnZhbGlkLWVzY2FwZS1zZXF1ZW5jZS13YXJuaW5ncy13LXJlZ2V4LXBhdHRlcm4u cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNi1ERVBSRUNBVElORy1DTEVBTlVQLU1vdmUt ZGVwcmVjYXRlZC10YWctbWF0Y2hlci1jbGFzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAw MjctQ29tbWVudC10d2Vha3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOC1GSVgtd2Fy bmluZ3MtcmVsYXRlZC10by1pbnZhbGlkLWVzY2FwZXMtaW4tcmVnZXgucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDAyOS1TdGVwcy1jYXRhbG9nLXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJl ZC1yZXJ1bi1zZXR0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzAtQWRkLWZlYXR1cmUt dy1ydWxlcy1hbmQtZmFpbGluZy1zY2VuYXJpb3MtZW5hYmxlLXZpYS5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDMxLWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5l LUV4YW1wbGVzLXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMi1BZGQtaW5mby1vbi1t ZXJnZWQtcHVsbC01ODgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMy1Ud2Vhay10ZXN0 cy1yZXF1aXJlZC1ieS1weXRlc3QtNS4wLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzQt Q0xFQU5VUC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10by1yZW1vdmUtbm9zZS5pbS5wYXRj aCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LVJFTU9WRS1ERVBFTkRFTkNZLW5vc2UtdG8tYXZv aWQtbm9zZS5pbXBvcnRlci13YXJuaW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNi1G SVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0LWZvci1TY2VuYXJpby1jb250YWlu ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM4LWRvY3MtQWRkLWRlc2NyaXB0aW9uLWZv ci1TZWxlY3QtYnktbG9jYXRpb24tZm9yLVNjZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8v MDAzOS10ZXN0cy1GaXgtd2FybmluZ3MtZm9yLXB5dGhvbjMucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDA0MC1Vc2UtY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJu aW5ncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDQxLU1FTlRJT04tRU5IQU5DRU1FTlQt U3VwcG9ydC1lbW9qaXMtaW4tZmVhdHVyZS1maWxlcy0ucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA0Mi1GSVgtSW52YWxpZC1lc2NhcGUtY2hhci1pbi1yZWdleC13LXB5dGhvbjMucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDA0My1FeGFtcGxlLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4t NzU2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDQtRklYLXB5dGhvbjMuOC1yZWdyZXNz aW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0NS1VUERBVEUt TWFyay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0Ni1V UERBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMDQ3LWdoZXJraW4tQWRkaW5nLVJ1bGUta2V5d29yZC10cmFuc2xhdGlvbi1pbi1w b3J0dWd1ZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0OC1Ud2Vha3MtdG8tdXBkYXRl LWdlbmVyYXRlLWZyb20tZ2hlcmtpbi1sYW5ndWFnZXMuanNvLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAwNDktRVhBTVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFj a2dyb3VuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDUwLUVYQU1QTEUtQ2xlYW51cC1H aGVya2luLXY2LVJFQURNRS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDUxLUltcHJvdmUt c3VwcG9ydC1mb3ItZmVhdHVyZS5iYWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDA1Mi1BZGQtc3VwcG9ydC1mb3ItcnVudGltZS1jb25zdHJhaW50cy5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDUzLVVzZS1ydW50aW1lLWNvbnN0cmFpbnRzLnBh dGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1w YXJ0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDU1LUNMRUFOVVAtUmVtb3ZlLWRlcHJl Y2F0ZWQtcGFydHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1Ni1tb3JlLmZlYXR1cmVz LVBlcmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwNTctVVRJTC1Db3JyZWN0LVVSTC1hbmQtcHl0aG9uLW1vZHVsZS1vbGQtd2Fz LWJyb2tlbi1uby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDU4LVVUSUwtRm9ybWF0dGlu Zy10d2Vha3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1OS1GaXhlZC1hLWJ1Zy13aGVy ZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAwNjAtQWRkZWQtaXNzdWUtdW5pdC10ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDYyLUNIRUNLLUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXIt VW5pY29kZUVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNjMtRklYLWlzc3VlLTc3 Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBsZXMtd2l0aG91dC10YWJsZS5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDY0LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdp dGhvdXQtdGFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA2NS1OaWJibGUtVHJhdmlz Q0ktdG8td2FrZS11cC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDY2LVR3ZWFrLXB5dGVz dC12ZXJzaW9uLXNlbGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDY3LVR3ZWFr LXB5dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2Fy ZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNjktVVBEQVRF LWRlcGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMt cGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDcxLUNMRUFOVVAtQWRkLUNvbnRleHRN b2RlLWVudW0tcmVsYXRlZC10by03OTcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA3Mi1D bGVhbnVwLWNvbW1lbnRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzMtRklYLXNwaGlu eC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBzM3gucHkucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWls dGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzUtZG9jcy1wYXJzZV9leHByZXNzaW9u LWFkZC1saW5rcy10by1wYXJzZV90eXBlLW1vZHVsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDc2LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYyLXdhcy0xLjIuNy5kZXYxLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwNzctR2hlcmtpbi1wYXJzZXItQ2xlYW51cHMtcmVsYXRlZC10by1x dWVzdGlvbi1pbi04MDAtUC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDc4LUNsYXJpZnkt c2VsZWN0LWJ5LW5hbWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQtdG8ucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDA3OS1GSVgtQ3Jvc3MtcmVmZXJlbmNlLXByb2JsZW0tY29weS1wYXN0 ZS1pbi1SdWxlLWNsYXNzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwODAtRE9DUy1VcGRh dGUtQVBJLWRlc2NyaXB0aW9uLWZvci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwODEtRklYLURPQ1MtUnVubmVyLW9wZXJhdGlvbnMtdHlwby5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDgyLWlzc3VlLTc0MC1FbmhhbmNlbWVudC1Db250ZXh0LmFkZF9j bGVhbnVwLXdpdGgtbGF5ZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA4My1VUERBVEUt cGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwODQtUkVMQVRFRC1UTy1EdXBsaWNhdGVkLXN0ZXBzLUFtYmlndW91 c1N0ZXBFcnJvcnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA4NS1BZGQtcmVub3ZhdGUu anNvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdp dGgtYWRhcHRpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwODctUGluLWRlcGVuZGVu Y2llcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDg4LXJlbm92YXRlLUV4dGVuZC1waXAt cmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDg5LVBJ Ti1SRVFVSVJFTUVOVFMtRXh0ZW5kLXRvLWFsbC1wbGFjZXMucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDA5MC10YXNrcy1BZGQtaW52b2tlX2NsZWFudXAtcmVwbGFjZXMtX3Rhc2tsZXRfY2xl YW51cC1yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwOTEtRG9jcy1jaGFuZ2UtY29kZS1i bG9ja3MtZnJvbS1iYXNoLXRvLWNvbnNvbGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5 Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDkzLXB5 LnJlcXVpcmVtZW50cy1Vc2UtUHlIYW1jcmVzdC0yLjAtZm9yLXB5dGhvbjIuNy5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDk0LVVQREFURS1QUi04Nzctd2FzLW1lcmdlZC5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDk1LWNhcGl0YWxpemluZy1zdGVwcy5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDk2LUZJWC1pbnZva2UtdGFzay1kZXZlbG9wLnVwZGF0ZS1naGVya2luLXRo YXQtYWJvcnRlZC0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5Ny1UZXN0LWFnYWluc3Qt UG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRlc3QucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA5OS1BZGQtQ29udHJpYnV0aW5nLWNoYXB0ZXIucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDEwMC1BZGFwdC1Ub3gtdGFyZ2V0LWZvci1idWlsZGluZy10aGUtZG9jcy5wYXRj aCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTAxLU1lbnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9j dW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTAyLVVzZS1jb25zb2xlLWhp Z2hsaWdodGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMTAzLWRvY3MtZml4LXNpbXBsZS10eXBvLXR1b3JpYWwtdHV0b3JpYWwucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDEwNC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5LXVzaW5nLWFj dGl2ZS10YWdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMDUtUFJFRkVSLXB5dGhvbjMt ZnJvbS1ub3ctb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwNi1SRU1PVkUtaW52b2tl LXNjcmlwdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwNy1GSVgtRGVwcmVjYXRlZC13 YXJuaW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTA4LUZJ WC1QeXRob24yLXByb2JsZW1zLWluLXZpcnR1YWxlbnZzLXctYmVoYXZlNGNtZDAtc3QucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDEwOS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMTEwLUZJWC1UZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDExMS1GSVgtU29tZS1yZWdyZXNzaW9ucy13aXRoLVB5dGhvbi0z LjkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5v dGV3b3J0aHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExMy1BZGQtZGlhZ25vc3RpYy1o ZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAxMTQtVVBEQVRFLWkxOG4tZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi1mcm9tLWN1Y3Vt YmVyLXJlcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTE1LVVQREFURS1DSEFOR0VTLVJl bGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExNi1G SVgtQ0ktVFJBVklTLUZvci1weXRob24tMi43LWJ1aWxkcy1tb2NrLTQuMC1vbmx5LWZvLnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAxMTctQWRkcy10aGUtYWJpbGl0eS10by11c2UtYS1jdXN0 b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTE4LUFs bG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDExOS1BbGxvdy1jb2xvci13aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTIwLUFkZC1CRUhBVkVfQ09MT1ItZW52LXZhci5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93cy13 YXJuaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMjItRklYLTk1NS1zZXR1cC1SZW1v dmUtYXR0cmlidXRlLXVzZV8ydG8zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMjMtQWRk LWluZm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRjaCBcCisgICAgICAgICAgICIKIAogUyA9ICIk e1dPUktESVJ9L2dpdCIKIApAQCAtMTYsMyArMTM5LDUgQEAgUkRFUEVORFM6JHtQTn0gKz0gIiBc CiAgICAgJHtQWVRIT05fUE59LXNldHVwdG9vbHMgXAogICAgICR7UFlUSE9OX1BOfS1zaXggXAog ICAgICIKKworUFYgPSAiNiIKLS0gCjIuMjUuMQoK --===============7076379965885076310== Content-Type: text/x-diff; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-python3-behave-upgrade-1.2.6-git9520119376046aeff738.patch" RnJvbSBiNDhkM2QxNGRiMWE0ZjBjNzRjNjUzMmU0ZDI3MmI2Y2IyZTYwZTE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBVcGdyYWRlIEhlbHBlciA8YXVoQG1vdG8tdGltby5kZXY+CkRh dGU6IEZyaSwgNCBBdWcgMjAyMyAyMToyNDoyMSAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIHB5dGhv bjMtYmVoYXZlOiB1cGdyYWRlCiAxLjIuNitnaXQ5NTIwMTE5Mzc2MDQ2YWVmZjczODA0YjVmMWVh MDVkODdhNjNmMzcwIC0+IDYKCi0tLQogLi4uaW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlp bmctZGVzLnBhdGNoIHwgICAyMiArCiAuLi4vMDAwMi1VUERBVEUtRklYRUQtNzI1LnBhdGNoICAg ICAgICAgICAgICAgfCAgIDIxICsKIC4uLlNULXRvLXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1m aXhlZC5wYXRjaCB8ICAgNjAgKwogLi4udGVyLWNvdW50cy1jb21wdXRhdGlvbi13aGVuLVJ1bGVz LWFyLnBhdGNoIHwgIDM0MiArCiAuLi5wcmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFy ZS0ucGF0Y2ggfCAgIDYwICsKIC4uLnItQWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZvci1SdWxl cy5wYXRjaCB8ICAzOTUgKwogLi4uTVAtVkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYw LnBhdGNoIHwgICA2NyArCiAuLi4vMDAwOC1Db3JyZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcu cGF0Y2ggfCAgIDQxICsKIC4uLnVyZS5ydW5faXRlbXMtcHJvY2Vzc2luZy13aXRoLVJ1bGUtcy5w YXRjaCB8ICAgNTggKwogLi4uLXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJFQURUSEVET0NTLnBh dGNoIHwgICA1OCArCiAuLi5lbnQtcGFja2FnZS12ZXJzaW9ucy1pbi1yZXF1aXJlbWVudHMucGF0 Y2ggfCAgIDgxICsKIC4uLi8wMDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0Y2ggICAgICAgICAg ICB8ICAgMzAgKwogLi4ubGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNo IHwgICAzMCArCiAuLi5kLWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1hci1pc3N1ZXMucGF0Y2gg fCAgIDQ1ICsKIC4uLi8wMDE1LVJFQURNRS1SZVNULXR3ZWFrcy5wYXRjaCAgICAgICAgICAgICB8 ICAgMTggKwogLi4uMDE2LUV4YW1wbGUtdXNpbmctR2hlcmtpbi12Ni1ncmFtbWFyLnBhdGNoIHwg IDIyOCArCiAuLi4vMDAxNy1QUkVQQVJFLVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRjaCAgICAgfCAg IDM5ICsKIC4uLngtbG9nZ2luZy5Gb3JtYXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaCB8ICAg MjIgKwogLi4uYXJpbHktbW92ZS1weTM4LWRldi10by1mcm9udC1idWlsZC1mLnBhdGNoIHwgICAy OCArCiAuLi5Ud2Vha3MtZm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2ggfCAgIDM1 ICsKIC4uLjgtbG9nZ2luZy5Gb3JtYXR0ZXIudmFsaWRhdGUtcHJvYmxlbS5wYXRjaCB8ICAgNDcg KwogLi4ub24tMy44LWFzeW5jaW8uY29yb3V0aW5lLWlzLWRlcHJlY2F0LnBhdGNoIHwgICA0MiAr CiAuLi4vMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZvLnBhdGNoICAgICAgICAgICAgfCAgIDI0ICsK IC4uLnRlZC10by1kb2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQtYi5wYXRjaCB8ICAgMjUgKwog Li4ucGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBhdGNoIHwgICAyOSArCiAu Li5OVVAtTW92ZS1kZXByZWNhdGVkLXRhZy1tYXRjaGVyLWNsYXMucGF0Y2ggfCAxMDIwICsrKwog Li4uL3B5dGhvbjMtYmVoYXZlLzAwMjctQ29tbWVudC10d2Vha3MucGF0Y2ggIHwgICAzMCArCiAu Li4tcmVsYXRlZC10by1pbnZhbGlkLWVzY2FwZXMtaW4tcmVnZXgucGF0Y2ggfCAgIDc5ICsKIC4u Lm91bGQtbm90LWJyZWFrLWNvbmZpZ3VyZWQtcmVydW4tc2V0dC5wYXRjaCB8ICAgNzMgKwogLi4u bGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1lbmFibGUtdmlhLnBhdGNoIHwgICAzNiArCiAuLi5f djYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0Y2ggfCAgIDI3ICsKIC4uLi8w MDMyLUFkZC1pbmZvLW9uLW1lcmdlZC1wdWxsLTU4OC5wYXRjaCAgICB8ICAgMjEgKwogLi4uMy1U d2Vhay10ZXN0cy1yZXF1aXJlZC1ieS1weXRlc3QtNS4wLnBhdGNoIHwgICA5NyArCiAuLi5zdC1p bnN0ZWFkLW9mLW5vc2UtdG8tcmVtb3ZlLW5vc2UuaW0ucGF0Y2ggfCAgMTgwICsKIC4uLlktbm9z ZS10by1hdm9pZC1ub3NlLmltcG9ydGVyLXdhcm5pbi5wYXRjaCB8IDE4MTUgKysrKwogLi4uMDAz Ni1GSVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoIHwgICAyMiArCiAuLi5vbi1B ZGQtc3VwcG9ydC1mb3ItU2NlbmFyaW8tY29udGFpbmUucGF0Y2ggfCAgNjUyICsrCiAuLi50aW9u LWZvci1TZWxlY3QtYnktbG9jYXRpb24tZm9yLVNjZW4ucGF0Y2ggfCAgIDU4ICsKIC4uLi8wMDM5 LXRlc3RzLUZpeC13YXJuaW5ncy1mb3ItcHl0aG9uMy5wYXRjaCB8ICAgNTAgKwogLi4uYWctZXhw cmVzc2lvbnMtMS4xLjItdG8tZml4LXdhcm5pbmdzLnBhdGNoIHwgICA1NSArCiAuLi5FTlQtU3Vw cG9ydC1lbW9qaXMtaW4tZmVhdHVyZS1maWxlcy0ucGF0Y2ggfCAgIDkxICsKIC4uLnZhbGlkLWVz Y2FwZS1jaGFyLWluLXJlZ2V4LXctcHl0aG9uMy5wYXRjaCB8ICAyNTAgKwogLi4uMy1FeGFtcGxl LXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tNzU2LnBhdGNoIHwgIDMzNSArCiAuLi5YLXB5dGhvbjMu OC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2ggfCAgNDg5ICsKIC4uLi8wMDQ1LVVQREFU RS1NYXJrLWlzc3VlLTc1NS1hcy1maXhlZC5wYXRjaCB8ICAgNDYgKwogLi4uREFURS1DdWN1bWJl ci1naGVya2luLWxhbmd1YWdlcy5qc29uLnBhdGNoIHwgICA1NyArCiAuLi51bGUta2V5d29yZC10 cmFuc2xhdGlvbi1pbi1wb3J0dWd1ZXMucGF0Y2ggfCAgMjAyICsKIC4uLi1nZW5lcmF0ZS1mcm9t LWdoZXJraW4tbGFuZ3VhZ2VzLmpzby5wYXRjaCB8ICAxNDEgKwogLi4ubWluZy10by1maXh0dXJl LmJlaGF2ZS5ub19iYWNrZ3JvdW5kLnBhdGNoIHwgIDMyMiArCiAuLi41MC1FWEFNUExFLUNsZWFu dXAtR2hlcmtpbi12Ni1SRUFETUUucGF0Y2ggfCAgIDY0ICsKIC4uLmZvci1mZWF0dXJlLmJhY2tn cm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaCB8IDE1MTAgKysrCiAuLi4tQWRkLXN1cHBvcnQtZm9y LXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2ggfCAgMjY5ICsKIC4uLi8wMDUzLVVzZS1ydW50aW1l LWNvbnN0cmFpbnRzLnBhdGNoICAgICAgICB8ICAxOTYgKwogLi4uMDA1NC1DTEVBTlVQLVJlbW92 ZS1kZXByZWNhdGVkLXBhcnRzLnBhdGNoIHwgMzkzNyArKysrKysrKwogLi4uMDA1NS1DTEVBTlVQ LVJlbW92ZS1kZXByZWNhdGVkLXBhcnRzLnBhdGNoIHwgIDczNiArKwogLi4ucmZvcm0tbW9yZS1H aGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoIHwgIDE1NSArCiAuLi4tYW5kLXB5dGhvbi1t b2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0Y2ggfCAgIDcyICsKIC4uLi8wMDU4LVVUSUwtRm9y bWF0dGluZy10d2Vha3MucGF0Y2ggICAgICAgICB8ICAgMjIgKwogLi4uZS11c2VfZml4dHVyZV9i eV90YWctZGlkbi10LXJldHVybi10LnBhdGNoIHwgICAyMyArCiAuLi4vMDA2MC1BZGRlZC1pc3N1 ZS11bml0LXRlc3QucGF0Y2ggICAgICAgICAgfCAgIDYyICsKIC4uLmUtcHVsbC1yZXF1ZXN0LTc2 Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaCB8ICAgNjAgKwogLi4uc3VlLTc2Ni1QcmV0dHlGb3Jt YXR0ZXItVW5pY29kZUVycm9yLnBhdGNoIHwgICA4MyArCiAuLi5lbmFyaW9PdXRsaW5lLkV4YW1w bGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggfCAgIDc0ICsKIC4uLmVuYXJpb091dGxpbmUuRXhhbXBs ZXMtd2l0aG91dC10YWJsZS5wYXRjaCB8ICAgMjEgKwogLi4uLzAwNjUtTmliYmxlLVRyYXZpc0NJ LXRvLXdha2UtdXAucGF0Y2ggICAgIHwgICAyMSArCiAuLi4vMDA2Ni1Ud2Vhay1weXRlc3QtdmVy c2lvbi1zZWxlY3Rpb24ucGF0Y2ggfCAgIDM3ICsKIC4uLmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1K VW5pdC1YTUwtZGlhbC5wYXRjaCB8ICAgMzcgKwogLi4uZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0 ZXJuLW1hdGNoaW5nLnBhdGNoIHwgICA1NiArCiAuLi5BVEUtZGVwZW5kZW5jaWVzLXBhdGgucHkt cGF0aC1weXRlc3QucGF0Y2ggfCAgMTQxICsKIC4uLmVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0 dXRpbHMtcGFjay5wYXRjaCB8ICAgMjUgKwogLi4uLUFkZC1Db250ZXh0TW9kZS1lbnVtLXJlbGF0 ZWQtdG8tNzk3LnBhdGNoIHwgIDIxNiArCiAuLi4vMDA3Mi1DbGVhbnVwLWNvbW1lbnRzLnBhdGNo ICAgICAgICAgICAgICAgfCAgIDIyICsKIC4uLnBoaW54LWJ1aWxkLXByb2JsZW0tYXN5bmNfc3Rl cHMzeC5weS5wYXRjaCB8ICAgMjkgKwogLi4uLXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9i dWlsdGluLnBhdGNoIHwgIDE4NSArCiAuLi5zc2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1t b2R1bGUucGF0Y2ggfCAgIDQwICsKIC4uLk1QLVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcu ZGV2MS5wYXRjaCB8ICAgNjUgKwogLi4ubGVhbnVwcy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgw MC1QLnBhdGNoIHwgIDIyMyArCiAuLi55LW5hbWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQt dG8ucGF0Y2ggfCAgIDgyICsKIC4uLm5jZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFz cy5wYXRjaCB8ICAgMzQgKwogLi4uQVBJLWRlc2NyaXB0aW9uLWZvci1SdW5uZXItT3BlcmF0aW9u LnBhdGNoIHwgIDE5NSArCiAuLi4wMDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8u cGF0Y2ggfCAgIDIyICsKIC4uLmVtZW50LUNvbnRleHQuYWRkX2NsZWFudXAtd2l0aC1sYXllci5w YXRjaCB8ICAyOTUgKwogLi4uOC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBh dGNoIHwgICAzNyArCiAuLi5EdXBsaWNhdGVkLXN0ZXBzLUFtYmlndW91c1N0ZXBFcnJvcnMucGF0 Y2ggfCAgIDM0ICsKIC4uLi8wMDg1LUFkZC1yZW5vdmF0ZS5qc29uLnBhdGNoICAgICAgICAgICAg ICB8ICAgMjEgKwogLi4uMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdpdGgtYWRhcHRpb25zLnBhdGNo IHwgIDE3NSArCiAuLi4vMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBhdGNoICAgICAgICAgICAgICAg fCAgIDM2ICsKIC4uLnRlLUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaCB8 ICAgMzEgKwogLi4uSU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10by1hbGwtcGxhY2VzLnBhdGNoIHwg ICA5MiArCiAuLi5fY2xlYW51cC1yZXBsYWNlcy1fdGFza2xldF9jbGVhbnVwLXIucGF0Y2ggfCA4 MTE2ICsrKysrKysrKysrKysrKysrCiAuLi5uZ2UtY29kZS1ibG9ja3MtZnJvbS1iYXNoLXRvLWNv bnNvbGUucGF0Y2ggfCAgIDM2ICsKIC4uLi8wMDkyLUZpeC10eXBvLWluLXR1dG9yaWFsLnBhdGNo ICAgICAgICAgICB8ICAgMjQgKwogLi4ubnRzLVVzZS1QeUhhbWNyZXN0LTIuMC1mb3ItcHl0aG9u Mi43LnBhdGNoIHwgICA4MCArCiAuLi4vMDA5NC1VUERBVEUtUFItODc3LXdhcy1tZXJnZWQucGF0 Y2ggICAgICAgfCAgIDIxICsKIC4uLi8wMDk1LWNhcGl0YWxpemluZy1zdGVwcy5wYXRjaCAgICAg ICAgICAgICB8ICAgMjggKwogLi4uZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQt LnBhdGNoIHwgICA1NiArCiAuLi5haW5zdC1Qb3dlclBDLUNQVS1zdXBwb3J0LVRyYXZpcy04Njcu cGF0Y2ggfCAgIDIyICsKIC4uLjA5OC1BZGQtQ29udGV4dC5hdHRhY2gtZG9jcy1hbmQtdGVzdC5w YXRjaCB8ICAxMzIgKwogLi4uLzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFwdGVyLnBhdGNoICAg ICAgIHwgIDEyNSArCiAuLi5hcHQtVG94LXRhcmdldC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0 Y2ggfCAgIDM0ICsKIC4uLnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRj aCB8ICAgODMgKwogLi4ubGUtaGlnaGxpZ2h0aW5nLWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNo IHwgICAyMiArCiAuLi5vY3MtZml4LXNpbXBsZS10eXBvLXR1b3JpYWwtdHV0b3JpYWwucGF0Y2gg fCAgIDUyICsKIC4uLnQtZm9yLXB5dGhvbjMuOS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaCB8 ICAyMjcgKwogLi4uLzAxMDUtUFJFRkVSLXB5dGhvbjMtZnJvbS1ub3ctb24ucGF0Y2ggICAgIHwg ICAxOSArCiAuLi4vMDEwNi1SRU1PVkUtaW52b2tlLXNjcmlwdHMucGF0Y2ggICAgICAgICAgfCAg IDQxICsKIC4uLlgtRGVwcmVjYXRlZC13YXJuaW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaCB8ICAx MjQgKwogLi4ubGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoIHwgICAx OCArCiAuLi4vMDEwOS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5wYXRjaCAgICAgICAgICAgfCAgODc1 ICsrCiAuLi4vMDExMC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1cmVzLnBhdGNoICAgICAgfCAgIDU2 ICsKIC4uLkZJWC1Tb21lLXJlZ3Jlc3Npb25zLXdpdGgtUHl0aG9uLTMuOS5wYXRjaCB8ICA3NDEg KysKIC4uLi8wMTEyLWRvY3MtVXBkYXRlLW5ldy1hbmQtbm90ZXdvcnRoeS5wYXRjaCB8ICAgODQg KwogLi4uZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoIHwgIDI3OCAr CiAuLi5raW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0Y2ggfCAgNTQxICsr CiAuLi5URS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2ggfCAgIDIyICsK IC4uLnItcHl0aG9uLTIuNy1idWlsZHMtbW9jay00LjAtb25seS1mby5wYXRjaCB8ICAgMzkgKwog Li4uLXRvLXVzZS1hLWN1c3RvbS1ydW5uZXItaW4tdGhlLWJlaGF2LnBhdGNoIHwgIDEyNiArCiAu Li5sbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2ggfCAgIDU5ICsKIC4u Lmxvci13aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5wYXRjaCB8ICAgNDMgKwogLi4u LzAxMjAtQWRkLUJFSEFWRV9DT0xPUi1lbnYtdmFyLnBhdGNoICAgICAgIHwgICAzMSArCiAuLi4x MjEtZml4LW1hbGZvcm1lZC10YWJsZS1yb3dzLXdhcm5pbmcucGF0Y2ggfCAgIDMzICsKIC4uLi05 NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11c2VfMnRvMy5wYXRjaCB8ICAgNDIgKwogLi4uLzAx MjMtQWRkLWluZm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRjaCAgIHwgICAyMSArCiAuLi4vcHl0 aG9uL3B5dGhvbjMtYmVoYXZlXzEuMi42LmJiICAgICAgICAgICAgfCAgMTI5ICstCiAxMjQgZmls ZXMgY2hhbmdlZCwgMjk4MDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2VuYXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29weWlu Zy1kZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAyLVVQREFURS1GSVhFRC03MjUucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDAzLUFERC1URVNULXRvLXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhl ZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDQtRklYLVN1bW1hcnlSZXBvcnRlci1jb3VudHMtY29t cHV0YXRpb24td2hlbi1SdWxlcy1hci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDUtU3VtbWFyeVJl cG9ydGVyLnByaW50X3N1bW1hcnktU2ltcGxpZnktaWYtUnVsZXMtYXJlLS5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMDYtRm9ybWF0dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVsZXMu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDA3LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIu Ny5kZXYwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOC1Db3JyZWN0LWV4YW1wbGVzLWFuZC1kb2Nz dHJpbmcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA5LUZJWC1mZWF0dXJlLnJ1bl9pdGVtcy1wcm9j ZXNzaW5nLXdpdGgtUnVsZS1zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMC1kb2NzLURpc2FibGUt c3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVBRFRIRURPQ1MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDExLUNsZWFudXAtRGVwZW5kZW50LXBhY2thZ2UtdmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAxMy1GSVgtTWlzc3BlbGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVy LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNC1BZGQtaGludHMtb24tR2hlcmtpbi12Ni1ncmFtbWFy LWlzc3Vlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTUtUkVBRE1FLVJlU1QtdHdlYWtzLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAxNi1FeGFtcGxlLXVzaW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMTctUFJFUEFSRS1QeXRob24tMy44LXN1cHBvcnQucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDE4LXB5My44LVRyeS10by1maXgtbG9nZ2luZy5Gb3JtYXR0ZXItdmFsaWRh dGUtcHJvYmxlbS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTktdHJhdmlzLmNpLVRlbXBvcmFyaWx5 LW1vdmUtcHkzOC1kZXYtdG8tZnJvbnQtYnVpbGQtZi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjAt dHJhdmlzLmNpLVR3ZWFrcy1mb3ItZmFzdGVyLWJ1aWxkcy10ZW1wb3JhcmlseS5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMjEtRklYLXB5My44LWxvZ2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXByb2Js ZW0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIyLVBSRVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNp by5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIzLVVQREFURS1B ZGQtNzU1LWluZm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQt dG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI1 LUZJWC1pbnZhbGlkLWVzY2FwZS1zZXF1ZW5jZS13YXJuaW5ncy13LXJlZ2V4LXBhdHRlcm4ucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDI2LURFUFJFQ0FUSU5HLUNMRUFOVVAtTW92ZS1kZXByZWNhdGVk LXRhZy1tYXRjaGVyLWNsYXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQtdHdlYWtz LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOC1GSVgtd2FybmluZ3MtcmVsYXRlZC10by1pbnZhbGlk LWVzY2FwZXMtaW4tcmVnZXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ct c2hvdWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJlcnVuLXNldHQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDMwLUFkZC1mZWF0dXJlLXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9zLWVuYWJsZS12 aWEucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMxLWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWstU2Nl bmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMyLUFkZC1pbmZv LW9uLW1lcmdlZC1wdWxsLTU4OC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzMtVHdlYWstdGVzdHMt cmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5VUC1V c2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10by1yZW1vdmUtbm9zZS5pbS5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVOQ1ktbm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVy LXdhcm5pbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0 ZXN0LXJ1bi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1z dXBwb3J0LWZvci1TY2VuYXJpby1jb250YWluZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzgtZG9j cy1BZGQtZGVzY3JpcHRpb24tZm9yLVNlbGVjdC1ieS1sb2NhdGlvbi1mb3ItU2Nlbi5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMzktdGVzdHMtRml4LXdhcm5pbmdzLWZvci1weXRob24zLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA0MC1Vc2UtY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zLTEuMS4yLXRvLWZp eC13YXJuaW5ncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDEtTUVOVElPTi1FTkhBTkNFTUVOVC1T dXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJlLWZpbGVzLS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDIt RklYLUludmFsaWQtZXNjYXBlLWNoYXItaW4tcmVnZXgtdy1weXRob24zLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA0My1FeGFtcGxlLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tNzU2LnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA0NC1GSVgtcHl0aG9uMy44LXJlZ3Jlc3Npb25zLW9uLUNJLXNlcnZlci5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNDUtVVBEQVRFLU1hcmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA0Ni1VUERBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNv bi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDctZ2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3JkLXRy YW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDgtVHdlYWtzLXRv LXVwZGF0ZS1nZW5lcmF0ZS1mcm9tLWdoZXJraW4tbGFuZ3VhZ2VzLmpzby5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNDktRVhBTVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFj a2dyb3VuZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTAtRVhBTVBMRS1DbGVhbnVwLUdoZXJraW4t djYtUkVBRE1FLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1MS1JbXByb3ZlLXN1cHBvcnQtZm9yLWZl YXR1cmUuYmFja2dyb3VuZC1pbmhlcml0YW5jZS1mLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Mi1B ZGQtc3VwcG9ydC1mb3ItcnVudGltZS1jb25zdHJhaW50cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NTMtVXNlLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU0LUNMRUFO VVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU1LUNMRUFO VVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU2LW1vcmUu ZmVhdHVyZXMtUGVyZm9ybS1tb3JlLUdoZXJraW4tdjYtY2hlY2tzLWFuZC1ydW4ucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDU3LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdh cy1icm9rZW4tbm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU4LVVUSUwtRm9ybWF0dGluZy10d2Vh a3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU5LUZpeGVkLWEtYnVnLXdoZXJlLXVzZV9maXh0dXJl X2J5X3RhZy1kaWRuLXQtcmV0dXJuLXQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYwLUFkZGVkLWlz c3VlLXVuaXQtdGVzdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0 LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjItQ0hFQ0stSXNz dWUtNzY2LVByZXR0eUZvcm1hdHRlci1Vbmljb2RlRXJyb3IucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDYzLUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDY0LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4 YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY1LU5pYmJsZS1UcmF2 aXNDSS10by13YWtlLXVwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Ni1Ud2Vhay1weXRlc3QtdmVy c2lvbi1zZWxlY3Rpb24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY3LVR3ZWFrLXB5dGVzdC1jb25m aWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDY4LUFkZC1iYXNpYy1mZWF0dXJlLXRlc3QtZm9yLXdpbGRjYXJkLXBhdHRlcm4tbWF0Y2hpbmcu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDY5LVVQREFURS1kZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRo LXB5dGVzdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVjYXRl ZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xF QU5VUC1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxhdGVkLXRvLTc5Ny5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzMtRklYLXNw aGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBzM3gucHkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDc0LWRvY3MtUmVuYW1lLXBhZ2UtcGFyc2VfZXhwcmVzc2lvbnMtd2FzLXBhcnNlX2J1aWx0aW4u cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3Mt dG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc2LUJVTVAtVkVSU0lP Ti0xLjIuNy5kZXYyLXdhcy0xLjIuNy5kZXYxLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVy a2luLXBhcnNlci1DbGVhbnVwcy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVy bi1yZWxhdGVkLXRvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3OS1GSVgtQ3Jvc3MtcmVmZXJlbmNl LXByb2JsZW0tY29weS1wYXN0ZS1pbi1SdWxlLWNsYXNzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4 MC1ET0NTLVVwZGF0ZS1BUEktZGVzY3JpcHRpb24tZm9yLVJ1bm5lci1PcGVyYXRpb24ucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDgyLWlzc3VlLTc0MC1FbmhhbmNlbWVudC1Db250ZXh0LmFkZF9jbGVh bnVwLXdpdGgtbGF5ZXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgzLVVQREFURS1wYXJzZS0xLjE4 LjAtcGFyc2UtdmVyc2lvbnMtMS4xNi4wLS4tMS4xNy54LWgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDg0LVJFTEFURUQtVE8tRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4NS1BZGQtcmVub3ZhdGUuanNvbi5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwODYtUFJQRVBBUkUtUkVOT1ZBVEUtV2l0aC1hZGFwdGlvbnMucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDg3LVBpbi1kZXBlbmRlbmNpZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg4LXJlbm92YXRl LUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw ODktUElOLVJFUVVJUkVNRU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwOTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2NsZWFu dXAtci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTEtRG9jcy1jaGFuZ2UtY29kZS1ibG9ja3MtZnJv bS1iYXNoLXRvLWNvbnNvbGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkyLUZpeC10eXBvLWluLXR1 dG9yaWFsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5My1weS5yZXF1aXJlbWVudHMtVXNlLVB5SGFt Y3Jlc3QtMi4wLWZvci1weXRob24yLjcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk0LVVQREFURS1Q Ui04Nzctd2FzLW1lcmdlZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTUtY2FwaXRhbGl6aW5nLXN0 ZXBzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ni1GSVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRh dGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFn YWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA5OC1BZGQtQ29udGV4dC5hdHRhY2gtZG9jcy1hbmQtdGVzdC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFwdGVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMC1B ZGFwdC1Ub3gtdGFyZ2V0LWZvci1idWlsZGluZy10aGUtZG9jcy5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAxMDEtTWVudGlvbi1IVE1MLWZvcm1hdHRlci1pbi1kb2N1bWVudGF0aW9uLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEwMi1Vc2UtY29uc29sZS1oaWdobGlnaHRpbmctZm9yLXBpcC1pbnN0YWxsLWRv Y3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAzLWRvY3MtZml4LXNpbXBsZS10eXBvLXR1b3JpYWwt dHV0b3JpYWwucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA0LUFkZC1zdXBwb3J0LWZvci1weXRob24z LjktYnktdXNpbmctYWN0aXZlLXRhZ3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA1LVBSRUZFUi1w eXRob24zLWZyb20tbm93LW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNi1SRU1PVkUtaW52b2tl LXNjcmlwdHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA3LUZJWC1EZXByZWNhdGVkLXdhcm5pbmdz LWZvci1QeXRob24tMy54LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOC1GSVgtUHl0aG9uMi1wcm9i bGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDEwOS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTAtRklYLVRl c3RzLXctbW9yZS5mZWF0dXJlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTEtRklYLVNvbWUtcmVn cmVzc2lvbnMtd2l0aC1QeXRob24tMy45LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMi1kb2NzLVVw ZGF0ZS1uZXctYW5kLW5vdGV3b3J0aHkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEzLUFkZC1kaWFn bm9zdGljLWhlbHBlci1mdW5jdGlvbi10by1wcmludC10aGUtY3VycmVudC0ucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTE0LVVQREFURS1pMThuLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1 bWJlci1yZXAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0ZWQt dG8tUFItODk1LWFuZC04MjcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE2LUZJWC1DSS1UUkFWSVMt Rm9yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTE3LUFkZHMtdGhlLWFiaWxpdHktdG8tdXNlLWEtY3VzdG9tLXJ1bm5lci1pbi10aGUtYmVo YXYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xv ci1hbHdheXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE5LUFsbG93LWNvbG9yLXdpdGgtbm8tdmFs dWUtZm9sbG93ZWQtYnktcG9zYXJnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMC1BZGQtQkVIQVZF X0NPTE9SLWVudi12YXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIxLWZpeC1tYWxmb3JtZWQtdGFi bGUtcm93cy13YXJuaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMi1GSVgtOTU1LXNldHVwLVJl bW92ZS1hdHRyaWJ1dGUtdXNlXzJ0bzMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIzLUFkZC1pbmZv LWZvci1maXhlZC1pc3N1ZS05NTUucGF0Y2gKCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2VuYXJp b091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29weWluZy1kZXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAxLUZJWEVTLTcyNS1TY2Vu YXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29weWluZy1kZXMucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iNTViMTZjODEKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAxLUZJ WEVTLTcyNS1TY2VuYXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29weWluZy1kZXMucGF0Y2gK QEAgLTAsMCArMSwyMiBAQAorRnJvbSBlMWY5ZTc2ZGIyMjRmMDhkMjBmZTU3ZDJhMjU5YzQzMGRj Mzk2NzBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDExIE1hciAyMDE5IDIyOjM3OjA0 ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWEVTICM3MjU6IFNjZW5hcmlvT3V0bGluZUJ1aWxk ZXIgd2FzIG5vdCBjb3B5aW5nCisgZGVzY3JpcHRpb24gdG8gY3JlYXRlZCBTY2VuYXJpby4KKwor LS0tCisgYmVoYXZlL21vZGVsLnB5IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkKK2lu ZGV4IDRhZDRiOWQuLjlkZDY4ZmQgMTAwNjQ0CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysrKyBi L2JlaGF2ZS9tb2RlbC5weQorQEAgLTExOTYsNiArMTE5Niw3IEBAIGNsYXNzIFNjZW5hcmlvT3V0 bGluZUJ1aWxkZXIob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgc2NlbmFyaW8uZmVhdHVyZSA9 IHNjZW5hcmlvX291dGxpbmUuZmVhdHVyZQorICAgICAgICAgICAgICAgICBzY2VuYXJpby5wYXJl bnQgPSBzY2VuYXJpb19vdXRsaW5lCisgICAgICAgICAgICAgICAgIHNjZW5hcmlvLmJhY2tncm91 bmQgPSBzY2VuYXJpb19vdXRsaW5lLmJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgc2NlbmFy aW8uZGVzY3JpcHRpb24gPSBzY2VuYXJpb19vdXRsaW5lLmRlc2NyaXB0aW9uCisgICAgICAgICAg ICAgICAgIHNjZW5hcmlvLl9yb3cgPSByb3cgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3Rl ZC1hY2Nlc3MKKyAgICAgICAgICAgICAgICAgc2NlbmFyaW9zLmFwcGVuZChzY2VuYXJpbykKKyAg ICAgICAgIHJldHVybiBzY2VuYXJpb3MKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw MDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjFkOWRkYzZjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRj aApAQCAtMCwwICsxLDIxIEBACitGcm9tIDI1ODA4NzdlNmMzZTQxMzJiOWZlODVjZmQxMTc1OTZl Y2JlOWEyZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lz QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMTEgTWFyIDIwMTkgMjI6NDA6 MTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRFOiBGSVhFRCAjNzI1CisKKy0tLQorIENI QU5HRVMucnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYg LS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCBjMTE4NDBmLi5kNmU5NmFm IDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMzIsNiAr MzIsNyBAQCBFTkhBTkNFTUVOVFM6CisgCisgRklYRUQ6CisgCisrKiBpc3N1ZSAjNzI1OiBTY2Vu YXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0 dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAjNzEzOiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24n dCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92aWRlZCBieTogZGdvdSkKKyAqIHB1bGwgICM2NTc6 IEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2Ug ZXhjZXB0aW9ucyAocHJvdmlkZWQgYnk6IEFMU2Nod2FsbSkKKyAqIGlzc3VlICM2MzE6IFNjZW5h cmlvT3V0bGluZSB2YXJpYWJsZXMgbm90IHBvc3NpYmxlIGluIHRhYmxlIGhlYWRpbmdzIChwcm92 aWRlZCBieTogbXNjaG5lbGxlLCBwdWxsICM2NDIpCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAzLUFERC1URVNULXRvLXZl cmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDMtQURELVRFU1QtdG8tdmVyaWZ5LXRo YXQtaXNzdWUtNzI1LWlzLWZpeGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uOTUyMWNiMDkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMy1BREQtVEVTVC10by12ZXJpZnkt dGhhdC1pc3N1ZS03MjUtaXMtZml4ZWQucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA0NzZj YTIwMjYwNDQ5NTEwZTljMTViM2Q4YjhlOWUxZDMwZjljMGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBNb24sIDExIE1hciAyMDE5IDIzOjA4OjAwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFE RCBURVNUIHRvIHZlcmlmeSB0aGF0IGlzc3VlICM3MjUgaXMgZml4ZWQuCisKKy0tLQorIHRlc3Rz L2lzc3Vlcy90ZXN0X2lzc3VlMDcyNS5weSB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUucHkKKworZGlmZiAtLWdpdCBhL3Rl c3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDcyNS5weSBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDcy NS5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjc0NzlmNTkKKy0tLSAv ZGV2L251bGwKKysrKyBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDcyNS5weQorQEAgLTAsMCAr MSw0NCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisraHR0cHM6Ly9naXRodWIu Y29tL2JlaGF2ZS9iZWhhdmUvaXNzdWVzLzcyNQorKworK0FOQUxZU0lTOgorKy0tLS0tLS0tLS0K KysKKytTY2VuYXJpb091dGxpbmVCdWlsZGVyIGRpZCBub3QgY29weSBTY2VuYXJpb091dGxpbmUu ZGVzY3JpcHRpb24KKyt0byB0aGUgU2NlbmFyaW9zIHRoYXQgd2VyZSBjcmVhdGVkIGZyb20gdGhl IFNjZW5hcmlvT3V0bGluZS4KKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytmcm9tIGJlaGF2ZS5wYXJzZXIgaW1wb3J0IHBh cnNlX2ZlYXR1cmUKKysKKysKKytkZWYgdGVzdF9pc3N1ZSgpOgorKyAgICAiIiJWZXJpZmllcyB0 aGF0IGlzc3VlICM3MjUgaXMgZml4ZWQuIiIiCisrICAgIHRleHQgPSB1JycnCisrRmVhdHVyZTog U2NlbmFyaW9PdXRsaW5lIHdpdGggZGVzY3JpcHRpb24KKysKKysgIFNjZW5hcmlvIE91dGxpbmU6 IFNPXzEKKysgICAgRGVzY3JpcHRpb24gbGluZSAxIGZvciBTY2VuYXJpb091dGxpbmUuCisrICAg IERlc2NyaXB0aW9uIGxpbmUgMiBmb3IgU2NlbmFyaW9PdXRsaW5lLgorKworKyAgICBHaXZlbiBh IHN0ZXAgd2l0aCAiPG5hbWU+IgorKyAgICAKKysgICAgRXhhbXBsZXM6CisrICAgICAgfCBuYW1l ICB8CisrICAgICAgfCBBbGljZSB8CisrICAgICAgfCBCb2IgICB8CisrJycnLmxzdHJpcCgpCisr ICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQpCisrICAgIGFzc2VydCBsZW4oZmVhdHVy ZS5zY2VuYXJpb3MpID09IDEKKysgICAgc2NlbmFyaW9fb3V0bGluZV8xID0gZmVhdHVyZS5zY2Vu YXJpb3NbMF0KKysgICAgYXNzZXJ0IGxlbihzY2VuYXJpb19vdXRsaW5lXzEuc2NlbmFyaW9zKSA9 PSAyCisrICAgICMgLS0gSElOVDogTGFzdCBsaW5lIHRyaWdnZXJzIGJ1aWxkaW5nIG9mIHRoZSBT Y2VuYXJpb3MgZnJvbSBTY2VuYXJpb091dGxpbmUuCisrCisrICAgIGV4cGVjdGVkX2Rlc2NyaXB0 aW9uID0gWworKyAgICAgICAgIkRlc2NyaXB0aW9uIGxpbmUgMSBmb3IgU2NlbmFyaW9PdXRsaW5l LiIsCisrICAgICAgICAiRGVzY3JpcHRpb24gbGluZSAyIGZvciBTY2VuYXJpb091dGxpbmUuIiwK KysgICAgXQorKyAgICBhc3NlcnQgc2NlbmFyaW9fb3V0bGluZV8xLmRlc2NyaXB0aW9uID09IGV4 cGVjdGVkX2Rlc2NyaXB0aW9uCisrICAgIGFzc2VydCBzY2VuYXJpb19vdXRsaW5lXzEuc2NlbmFy aW9zWzBdLmRlc2NyaXB0aW9uID09IGV4cGVjdGVkX2Rlc2NyaXB0aW9uCisrICAgIGFzc2VydCBz Y2VuYXJpb19vdXRsaW5lXzEuc2NlbmFyaW9zWzFdLmRlc2NyaXB0aW9uID09IGV4cGVjdGVkX2Rl c2NyaXB0aW9uCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDA0LUZJWC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1dGF0 aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDA0LUZJWC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1 dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi5iMThkNTAyMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA0LUZJWC1TdW1tYXJ5UmVwb3J0ZXIt Y291bnRzLWNvbXB1dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2gKQEAgLTAsMCArMSwzNDIgQEAK K0Zyb20gZTdjMjRjM2M5YWQ3ODljMTc2OGI5ZDU5YTI4ZTdmZmM5ZWZiMmQwZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogV2VkLCAxMyBNYXIgMjAxOSAwODoyOTowMiArMDEwMAorU3ViamVjdDog W1BBVENIXSBGSVg6IFN1bW1hcnlSZXBvcnRlciBjb3VudHMgY29tcHV0YXRpb24gd2hlbiBSdWxl cyBhcmUgdXNlZC4KKworLS0tCisgYmVoYXZlL21vZGVsLnB5ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDM5ICsrKy0tLQorIGJlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5ICAgICAg ICAgICAgICAgICAgICB8IDExNCArKysrKysrKysrKysrKy0tLS0KKyAuLi4vdW5pdC97cmVwb3J0 ZXJzID0+IHJlcG9ydGVyfS9fX2luaXRfXy5weSAgfCAgIDAKKyAuLi4ve3JlcG9ydGVycyA9PiBy ZXBvcnRlcn0vdGVzdF9zdW1tYXJ5LnB5ICAgfCAgIDQgKworIDQgZmlsZXMgY2hhbmdlZCwgMTE2 IGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQorIHJlbmFtZSB0ZXN0cy91bml0L3tyZXBv cnRlcnMgPT4gcmVwb3J0ZXJ9L19faW5pdF9fLnB5ICgxMDAlKQorIHJlbmFtZSB0ZXN0cy91bml0 L3tyZXBvcnRlcnMgPT4gcmVwb3J0ZXJ9L3Rlc3Rfc3VtbWFyeS5weSAoOTklKQorCitkaWZmIC0t Z2l0IGEvYmVoYXZlL21vZGVsLnB5IGIvYmVoYXZlL21vZGVsLnB5CitpbmRleCA5ZGQ2OGZkLi42 MjM4MzEzIDEwMDY0NAorLS0tIGEvYmVoYXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUvbW9kZWwu cHkKK0BAIC0xNDQsMTggKzE0NCwxOCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRT dGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgc2VsZi5ob29rX2ZhaWxlZCA9 IEZhbHNlCisgICAgICAgICBzZWxmLnJ1bl9zdGFydHRpbWUgPSAwCisgICAgICAgICBzZWxmLnJ1 bl9lbmR0aW1lID0gMAorLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIHNlbGYuc2NlbmFyaW9zOgor LSAgICAgICAgICAgIHNjZW5hcmlvLnJlc2V0KCkKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBz ZWxmLnJ1bl9pdGVtczoKKysgICAgICAgICAgICBydW5faXRlbS5yZXNldCgpCisgCisgICAgIGRl ZiBfX2l0ZXJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiBpdGVyKHNlbGYuc2NlbmFyaW9zKQor KyAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5ydW5faXRlbXMpCisgCisgICAgIGRlZiBhZGRfc2Nl bmFyaW8oc2VsZiwgc2NlbmFyaW8pOgorICAgICAgICAgZmVhdHVyZSA9IGdldGF0dHIoc2VsZiwg ImZlYXR1cmUiLCBOb25lKQorICAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxmLCBGZWF0dXJlKToK KyAgICAgICAgICAgICBmZWF0dXJlID0gc2VsZgorIAorLSAgICAgICAgc2NlbmFyaW8ucGFyZW50 ID0gc2VsZiAgICAgICMgWFhYLU5FVworKyAgICAgICAgc2NlbmFyaW8ucGFyZW50ID0gc2VsZgor ICAgICAgICAgc2NlbmFyaW8uZmVhdHVyZSA9IGZlYXR1cmUKKyAgICAgICAgIHNjZW5hcmlvLmJh Y2tncm91bmQgPSBzZWxmLmJhY2tncm91bmQKKyAgICAgICAgIHNlbGYuc2NlbmFyaW9zLmFwcGVu ZChzY2VuYXJpbykKK0BAIC0xNzQsMTcgKzE3NCwxNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5l cihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICAgICAgc2tpcHBl ZCA9IFRydWUKKyAgICAgICAgIHBhc3NlZF9jb3VudCA9IDAKKy0gICAgICAgIGZvciBzY2VuYXJp byBpbiBzZWxmLnNjZW5hcmlvczoKKy0gICAgICAgICAgICBzY2VuYXJpb19zdGF0dXMgPSBzY2Vu YXJpby5zdGF0dXMKKy0gICAgICAgICAgICBpZiBzY2VuYXJpb19zdGF0dXMgPT0gU3RhdHVzLmZh aWxlZDoKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBzZWxmLnJ1bl9pdGVtczoKKysgICAgICAg ICAgICBydW5faXRlbV9zdGF0dXMgPSBydW5faXRlbS5zdGF0dXMKKysgICAgICAgICAgICBpZiBy dW5faXRlbV9zdGF0dXMgPT0gU3RhdHVzLmZhaWxlZDoKKyAgICAgICAgICAgICAgICAgcmV0dXJu IFN0YXR1cy5mYWlsZWQKKy0gICAgICAgICAgICBlbGlmIHNjZW5hcmlvX3N0YXR1cyA9PSBTdGF0 dXMudW50ZXN0ZWQ6CisrICAgICAgICAgICAgZWxpZiBydW5faXRlbV9zdGF0dXMgPT0gU3RhdHVz LnVudGVzdGVkOgorICAgICAgICAgICAgICAgICBpZiBwYXNzZWRfY291bnQgPiAwOgorICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy5mYWlsZWQgICMgQUJPUlRFRDogU29tZSBwYXNz ZWQsIG5vdyB1bnRlc3RlZC4KKyAgICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy51bnRlc3Rl ZAorLSAgICAgICAgICAgIGlmIHNjZW5hcmlvX3N0YXR1cyAhPSBTdGF0dXMuc2tpcHBlZDoKKysg ICAgICAgICAgICBpZiBydW5faXRlbV9zdGF0dXMgIT0gU3RhdHVzLnNraXBwZWQ6CisgICAgICAg ICAgICAgICAgIHNraXBwZWQgPSBGYWxzZQorLSAgICAgICAgICAgIGlmIHNjZW5hcmlvX3N0YXR1 cyA9PSBTdGF0dXMucGFzc2VkOgorKyAgICAgICAgICAgIGlmIHJ1bl9pdGVtX3N0YXR1cyA9PSBT dGF0dXMucGFzc2VkOgorICAgICAgICAgICAgICAgICBwYXNzZWRfY291bnQgKz0gMQorIAorICAg ICAgICAgaWYgc2tpcHBlZDoKK0BAIC0yMTcsMTQgKzIxNywxOSBAQCBjbGFzcyBTY2VuYXJpb0Nv bnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgIiIi CisgICAgICAgICAjIFRPRE86IEJldHRlciB1c2Ugc2VsZi5ydW5faXRlbXMKKyAgICAgICAgIGFs bF9zY2VuYXJpb3MgPSBbXQorLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIHNlbGYuc2NlbmFyaW9z OgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSk6 CistICAgICAgICAgICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBzY2VuYXJpbworKyAgICAgICAg IyBmb3Igc2NlbmFyaW8gaW4gc2VsZi5zY2VuYXJpb3M6CisrICAgICAgICBmb3IgcnVuX2l0ZW0g aW4gc2VsZi5ydW5faXRlbXM6CisrICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwg UnVsZSk6CisrICAgICAgICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQorKyAgICAgICAgICAgICAg ICBhbGxfc2NlbmFyaW9zLmV4dGVuZChydWxlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9 d2l0aF9vdXRsaW5lcykpCisrICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2Nl bmFyaW9PdXRsaW5lKToKKysgICAgICAgICAgICAgICAgc2NlbmFyaW9fb3V0bGluZSA9IHJ1bl9p dGVtCisgICAgICAgICAgICAgICAgIGlmIHdpdGhfb3V0bGluZXM6CisgICAgICAgICAgICAgICAg ICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChzY2VuYXJpb19vdXRsaW5lKQorICAgICAgICAgICAg ICAgICBhbGxfc2NlbmFyaW9zLmV4dGVuZChzY2VuYXJpb19vdXRsaW5lLnNjZW5hcmlvcykKKyAg ICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChz Y2VuYXJpbykKKysgICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNj ZW5hcmlvKQorKyAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChydW5faXRlbSkK KyAgICAgICAgIHJldHVybiBhbGxfc2NlbmFyaW9zCisgCisgICAgIGRlZiBzaG91bGRfcnVuKHNl bGYsIGNvbmZpZz1Ob25lKToKK0BAIC0yODUsOSArMjkwLDkgQEAgY2xhc3MgU2NlbmFyaW9Db250 YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIHNlbGYu Y2xlYXJfc3RhdHVzKCkKKyAgICAgICAgIHNlbGYuc2hvdWxkX3NraXAgPSBUcnVlCisgICAgICAg ICBzZWxmLnNraXBfcmVhc29uID0gcmVhc29uCistICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2Vs Zi5zY2VuYXJpb3M6CistICAgICAgICAgICAgc2NlbmFyaW8uc2tpcChyZWFzb24sIHJlcXVpcmVf bm90X2V4ZWN1dGVkKQorLSAgICAgICAgaWYgbm90IHNlbGYuc2NlbmFyaW9zOgorKyAgICAgICAg Zm9yIHJ1bl9pdGVtIGluIHNlbGYucnVuX2l0ZW1zOgorKyAgICAgICAgICAgIHJ1bl9pdGVtLnNr aXAocmVhc29uLCByZXF1aXJlX25vdF9leGVjdXRlZCkKKysgICAgICAgIGlmIG5vdCBzZWxmLnJ1 bl9pdGVtczoKKyAgICAgICAgICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogRmVhdHVyZSB3aXRob3V0 IHNjZW5hcmlvcworICAgICAgICAgICAgIHNlbGYuc2V0X3N0YXR1cyhTdGF0dXMuc2tpcHBlZCkK KyAgICAgICAgIGFzc2VydCBzZWxmLnN0YXR1cyBpbiBzZWxmLmZpbmFsX3N0YXR1cyAjPCBza2lw cGVkLCBmYWlsZWQgb3IgcGFzc2VkLgorZGlmZiAtLWdpdCBhL2JlaGF2ZS9yZXBvcnRlci9zdW1t YXJ5LnB5IGIvYmVoYXZlL3JlcG9ydGVyL3N1bW1hcnkucHkKK2luZGV4IGM4MmRhYTEuLjJjY2Rj OGYgMTAwNjQ0CistLS0gYS9iZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weQorKysrIGIvYmVoYXZl L3JlcG9ydGVyL3N1bW1hcnkucHkKK0BAIC02LDI1ICs2LDUyIEBAIFByb3ZpZGVzIGEgc3VtbWFy eSBhZnRlciBlYWNoIHRlc3QgcnVuLgorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0LCBkaXZpc2lvbiwgcHJpbnRfZnVuY3Rpb24KKyBpbXBvcnQgc3lzCisgZnJvbSB0aW1l IGltcG9ydCB0aW1lIGFzIHRpbWVfbm93CistZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFNjZW5h cmlvT3V0bGluZQorK2Zyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBSdWxlLCBTY2VuYXJpb091dGxp bmUgICMgTUFZQkU6IFNjZW5hcmlvCisgZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3Rh dHVzCisgZnJvbSBiZWhhdmUucmVwb3J0ZXIuYmFzZSBpbXBvcnQgUmVwb3J0ZXIKKyBmcm9tIGJl aGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQgU3RyZWFtT3BlbmVyCisgCisgCistIyAtLSBESVNB QkxFRDogb3B0aW9uYWxfc3RlcHMgPSAoJ3VudGVzdGVkJywgJ3VuZGVmaW5lZCcpCistb3B0aW9u YWxfc3RlcHMgPSAoU3RhdHVzLnVudGVzdGVkLCkgIyBNQVlCRTogU3RhdHVzLnVuZGVmaW5lZAor LXN0YXR1c19vcmRlciA9IChTdGF0dXMucGFzc2VkLCBTdGF0dXMuZmFpbGVkLCBTdGF0dXMuc2tp cHBlZCwKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ09OU1RBTlRTOgorKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrIyAtLSBESVNBQkxFRDogT1BUSU9OQUxfU1RFUFMgPSAoJ3VudGVzdGVkJywg J3VuZGVmaW5lZCcpCisrT1BUSU9OQUxfU1RFUFMgPSAoU3RhdHVzLnVudGVzdGVkLCkgIyBNQVlC RTogU3RhdHVzLnVuZGVmaW5lZAorK1NUQVRVU19PUkRFUiA9IChTdGF0dXMucGFzc2VkLCBTdGF0 dXMuZmFpbGVkLCBTdGF0dXMuc2tpcHBlZCwKKyAgICAgICAgICAgICAgICAgU3RhdHVzLnVuZGVm aW5lZCwgU3RhdHVzLnVudGVzdGVkKQorIAorIAorLWRlZiBmb3JtYXRfc3VtbWFyeShzdGF0ZW1l bnRfdHlwZSwgc3VtbWFyeSk6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFVUSUxJVFkgRlVO Q1RJT05TOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIHBsdXJhbGl6ZSh3b3JkLCBjb3Vu dD0xLCBzdWZmaXg9InMiKToKKysgICAgaWYgY291bnQgPT0gMToKKysgICAgICAgIHJldHVybiB3 b3JkCisrICAgICMgLS0gT1RIRVJXSVNFOgorKyAgICByZXR1cm4gInswfXsxfSIuZm9ybWF0KHdv cmQsIHN1ZmZpeCkKKysKKysKKytkZWYgY29tcHV0ZV9zdW1tYXJ5X3N1bShzdW1tYXJ5KToKKysg ICAgIiIiQ29tcHV0ZSBzdW0gb2YgYWxsIHN1bW1hcnkgY291bnRzIChleGNlcHQ6IGFsbCkKKysK KysgICAgOnBhcmFtIHN1bW1hcnk6IFN1bW1hcnkgY291bnRzIChhcyBkaWN0KS4KKysgICAgOnJl dHVybjogU3VtIG9mIGFsbCBjb3VudHMgKGFzIGludGVnZXIpLgorKyAgICAiIiIKKysgICAgY291 bnRzX3N1bSA9IDAKKysgICAgZm9yIG5hbWUsIGNvdW50IGluIHN1bW1hcnkuaXRlbXMoKToKKysg ICAgICAgIGlmIG5hbWUgPT0gImFsbCI6CisrICAgICAgICAgICAgY29udGludWUgICAgIyBJR05P UkUgSVQuCisrICAgICAgICBjb3VudHNfc3VtICs9IGNvdW50CisrICAgIHJldHVybiBjb3VudHNf c3VtCisrCisrCisrZGVmIGZvcm1hdF9zdW1tYXJ5MChzdGF0ZW1lbnRfdHlwZSwgc3VtbWFyeSk6 CisgICAgIHBhcnRzID0gW10KKy0gICAgZm9yIHN0YXR1cyBpbiBzdGF0dXNfb3JkZXI6CisrICAg IGZvciBzdGF0dXMgaW4gU1RBVFVTX09SREVSOgorICAgICAgICAgaWYgc3RhdHVzLm5hbWUgbm90 IGluIHN1bW1hcnk6CisgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgIGNvdW50cyA9IHN1 bW1hcnlbc3RhdHVzLm5hbWVdCistICAgICAgICBpZiBzdGF0dXMgaW4gb3B0aW9uYWxfc3RlcHMg YW5kIGNvdW50cyA9PSAwOgorKyAgICAgICAgaWYgc3RhdHVzIGluIE9QVElPTkFMX1NURVBTIGFu ZCBjb3VudHMgPT0gMDoKKyAgICAgICAgICAgICAjIC0tIFNIT1ctT05MWTogRm9yIHJlbGV2YW50 IGNvdW50cywgc3VwcHJlc3M6IHVudGVzdGVkIGl0ZW1zLCBldGMuCisgICAgICAgICAgICAgY29u dGludWUKKyAKK0BAIC00MCwxMSArNjcsMjMgQEAgZGVmIGZvcm1hdF9zdW1tYXJ5KHN0YXRlbWVu dF90eXBlLCBzdW1tYXJ5KToKKyAgICAgcmV0dXJuICIsICIuam9pbihwYXJ0cykgKyAiXG4iCisg CisgCistZGVmIHBsdXJhbGl6ZSh3b3JkLCBjb3VudD0xLCBzdWZmaXg9InMiKToKKy0gICAgaWYg Y291bnQgPT0gMToKKy0gICAgICAgIHJldHVybiB3b3JkCistICAgICMgLS0gT1RIRVJXSVNFOgor LSAgICByZXR1cm4gInswfXsxfSIuZm9ybWF0KHdvcmQsIHN1ZmZpeCkKKytkZWYgZm9ybWF0X3N1 bW1hcnkoc3RhdGVtZW50X3R5cGUsIHN1bW1hcnkpOgorKyAgICBwYXJ0cyA9IFtdCisrICAgIGZv ciBzdGF0dXMgaW4gU1RBVFVTX09SREVSOgorKyAgICAgICAgaWYgc3RhdHVzLm5hbWUgbm90IGlu IHN1bW1hcnk6CisrICAgICAgICAgICAgY29udGludWUKKysgICAgICAgIGNvdW50cyA9IHN1bW1h cnlbc3RhdHVzLm5hbWVdCisrICAgICAgICBpZiBzdGF0dXMgaW4gT1BUSU9OQUxfU1RFUFMgYW5k IGNvdW50cyA9PSAwOgorKyAgICAgICAgICAgICMgLS0gU0hPVy1PTkxZOiBGb3IgcmVsZXZhbnQg Y291bnRzLCBzdXBwcmVzczogdW50ZXN0ZWQgaXRlbXMsIGV0Yy4KKysgICAgICAgICAgICBjb250 aW51ZQorKworKyAgICAgICAgbmFtZSA9IHN0YXR1cy5uYW1lCisrICAgICAgICBpZiBzdGF0dXMu bmFtZSA9PSAicGFzc2VkIjoKKysgICAgICAgICAgICBzdGF0ZW1lbnQgPSBwbHVyYWxpemUoc3Rh dGVtZW50X3R5cGUsIGNvdW50cykKKysgICAgICAgICAgICBuYW1lID0gdSIlcyBwYXNzZWQiICUg c3RhdGVtZW50CisrICAgICAgICBwYXJ0ID0gdSIlZCAlcyIgJSAoY291bnRzLCBuYW1lKQorKyAg ICAgICAgcGFydHMuYXBwZW5kKHBhcnQpCisrICAgIHJldHVybiAiLCAiLmpvaW4ocGFydHMpICsg IlxuIgorIAorIAorICMgLS0gUFJFUEFSRUQ6CitAQCAtNjAsMTggKzk5LDE2IEBAIGRlZiBmb3Jt YXRfc3VtbWFyeTIoc3RhdGVtZW50X3R5cGUsIHN1bW1hcnksIGVuZD0iXG4iKToKKyAgICAgOnJl dHVybjoKKyAgICAgIiIiCisgICAgIHBhcnRzID0gW10KKy0gICAgY291bnRzX3N1bSA9IDAKKy0g ICAgZm9yIHN0YXR1cyBpbiBzdGF0dXNfb3JkZXI6CisrICAgIGZvciBzdGF0dXMgaW4gU1RBVFVT X09SREVSOgorICAgICAgICAgaWYgc3RhdHVzLm5hbWUgbm90IGluIHN1bW1hcnk6CisgICAgICAg ICAgICAgY29udGludWUKKyAgICAgICAgIGNvdW50cyA9IHN1bW1hcnlbc3RhdHVzLm5hbWVdCist ICAgICAgICBpZiBzdGF0dXMgaW4gb3B0aW9uYWxfc3RlcHMgYW5kIGNvdW50cyA9PSAwOgorKyAg ICAgICAgaWYgc3RhdHVzIGluIE9QVElPTkFMX1NURVBTIGFuZCBjb3VudHMgPT0gMDoKKyAgICAg ICAgICAgICAjIC0tIFNIT1ctT05MWTogRm9yIHJlbGV2YW50IGNvdW50cywgc3VwcHJlc3M6IHVu dGVzdGVkIGl0ZW1zLCBldGMuCisgICAgICAgICAgICAgY29udGludWUKKy0KKy0gICAgICAgIGNv dW50c19zdW0gKz0gY291bnRzCisgICAgICAgICBwYXJ0cy5hcHBlbmQoKHN0YXR1cy5uYW1lLCBj b3VudHMpKQorIAorKyAgICBjb3VudHNfc3VtID0gc3VtbWFyeVsiYWxsIl0KKyAgICAgc3RhdGVt ZW50ID0gcGx1cmFsaXplKHN0YXRlbWVudF90eXBlLCBzdW0pCisgICAgIHBhcnRzX3RleHQgPSAi LCAiLmpvaW4oWyJ7MH06IHsxfSIuZm9ybWF0KG5hbWUsIHZhbHVlKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gcGFydHNdKQorQEAgLTc5LDYgKzExNiw5 IEBAIGRlZiBmb3JtYXRfc3VtbWFyeTIoc3RhdGVtZW50X3R5cGUsIHN1bW1hcnksIGVuZD0iXG4i KToKKyAgICAgICAgIGNvdW50PWNvdW50c19zdW0sIHN0YXRlbWVudD1zdGF0ZW1lbnQsIHBhcnRz PXBhcnRzX3RleHQsIGVuZD1lbmQpCisgCisgCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFJF UE9SVEVSUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGNsYXNzIFN1bW1hcnlSZXBvcnRlcihS ZXBvcnRlcik6CisgICAgIHNob3dfZmFpbGVkX3NjZW5hcmlvcyA9IFRydWUKKyAgICAgb3V0cHV0 X3N0cmVhbV9uYW1lID0gInN0ZG91dCIKK0BAIC04OCw2ICsxMjgsNyBAQCBjbGFzcyBTdW1tYXJ5 UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAgc3RyZWFtID0gZ2V0YXR0cihzeXMsIHNlbGYu b3V0cHV0X3N0cmVhbV9uYW1lLCBzeXMuc3RkZXJyKQorICAgICAgICAgc2VsZi5zdHJlYW0gPSBT dHJlYW1PcGVuZXIuZW5zdXJlX3N0cmVhbV93aXRoX2VuY29kZXIoc3RyZWFtKQorICAgICAgICAg c3VtbWFyeV96ZXJvX2RhdGEgPSB7CisrICAgICAgICAgICAgImFsbCI6IDAsCisgICAgICAgICAg ICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAwLAorICAgICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFt ZTogMCwKKyAgICAgICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAwLAorQEAgLTEyMiwxMCAr MTYzLDIyIEBAIGNsYXNzIFN1bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6CisgICAgICAgICBmb3Ig c2NlbmFyaW8gaW4gc2VsZi5mYWlsZWRfc2NlbmFyaW9zOgorICAgICAgICAgICAgIHN0cmVhbS53 cml0ZSh1IiAgJXMgICVzXG4iICUgKHNjZW5hcmlvLmxvY2F0aW9uLCBzY2VuYXJpby5uYW1lKSkK KyAKKysgICAgZGVmIGNvbXB1dGVfc3VtbWFyeV9zdW1zKHNlbGYpOgorKyAgICAgICAgIiIiKFJl KUNvbXB1dGUgc3VtbWFyeSBzdW0gb2YgYWxsIGNvdW50cyAoZXhjZXB0OiBhbGwpLiIiIgorKyAg ICAgICAgc3VtbWFyaWVzID0gWworKyAgICAgICAgICAgIHNlbGYuZmVhdHVyZV9zdW1tYXJ5LAor KyAgICAgICAgICAgIHNlbGYucnVsZV9zdW1tYXJ5LAorKyAgICAgICAgICAgIHNlbGYuc2NlbmFy aW9fc3VtbWFyeSwKKysgICAgICAgICAgICBzZWxmLnN0ZXBfc3VtbWFyeQorKyAgICAgICAgXQor KyAgICAgICAgZm9yIHN1bW1hcnkgaW4gc3VtbWFyaWVzOgorKyAgICAgICAgICAgIHN1bW1hcnlb ImFsbCJdID0gY29tcHV0ZV9zdW1tYXJ5X3N1bShzdW1tYXJ5KQorKworICAgICBkZWYgcHJpbnRf c3VtbWFyeShzZWxmLCBzdHJlYW09Tm9uZSwgd2l0aF9kdXJhdGlvbj1UcnVlKToKKyAgICAgICAg IGlmIHN0cmVhbSBpcyBOb25lOgorICAgICAgICAgICAgIHN0cmVhbSA9IHNlbGYuc3RyZWFtCisg CisrICAgICAgICBzZWxmLmNvbXB1dGVfc3VtbWFyeV9zdW1zKCkKKyAgICAgICAgIHN0cmVhbS53 cml0ZShmb3JtYXRfc3VtbWFyeSgiZmVhdHVyZSIsIHNlbGYuZmVhdHVyZV9zdW1tYXJ5KSkKKyAg ICAgICAgIHJ1bGVzX3N1bW1hcnkgPSBmb3JtYXRfc3VtbWFyeSgicnVsZSIsIHNlbGYucnVsZV9z dW1tYXJ5KQorICAgICAgICAgaWYgc2VsZi5zaG93X3J1bGVzIGFuZCBub3QgcnVsZXNfc3VtbWFy eS5zdHJpcCgpLnN0YXJ0c3dpdGgoIjAiKToKK0BAIC0xNDUsMTMgKzE5OCw3IEBAIGNsYXNzIFN1 bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6CisgICAgICAgICAgICAgIyAtLSBESVNDT1ZFUjogVEVT VC1SVU4gc3RhcnRlZC4KKyAgICAgICAgICAgICBzZWxmLnRlc3RydW5fc3RhcnRlZCgpCisgCist ICAgICAgICBzZWxmLmZlYXR1cmVfc3VtbWFyeVtmZWF0dXJlLnN0YXR1cy5uYW1lXSArPSAxCist ICAgICAgICBzZWxmLmR1cmF0aW9uICs9IGZlYXR1cmUuZHVyYXRpb24KKy0gICAgICAgIGZvciBz Y2VuYXJpbyBpbiBmZWF0dXJlOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2NlbmFyaW8s IFNjZW5hcmlvT3V0bGluZSk6CistICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19zY2VuYXJp b19vdXRsaW5lKHNjZW5hcmlvKQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAg IHNlbGYucHJvY2Vzc19zY2VuYXJpbyhzY2VuYXJpbykKKysgICAgICAgIHNlbGYucHJvY2Vzc19m ZWF0dXJlKGZlYXR1cmUpCisgCisgICAgIGRlZiBlbmQoc2VsZik6CisgICAgICAgICBzZWxmLnRl c3RydW5fZmluaXNoZWQoKQorQEAgLTE2NCw2ICsyMTEsMjUgQEAgY2xhc3MgU3VtbWFyeVJlcG9y dGVyKFJlcG9ydGVyKToKKyAgICAgICAgICMgLS0gU0hPVyBTVU1NQVJZIENPVU5UUzoKKyAgICAg ICAgIHNlbGYucHJpbnRfc3VtbWFyeSgpCisgCisrICAgIGRlZiBwcm9jZXNzX3J1bl9pdGVtc19m b3Ioc2VsZiwgcGFyZW50KToKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBwYXJlbnQ6CisrICAg ICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgUnVsZSk6CisrICAgICAgICAgICAgICAg IHNlbGYucHJvY2Vzc19ydWxlKHJ1bl9pdGVtKQorKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5j ZShydW5faXRlbSwgU2NlbmFyaW9PdXRsaW5lKToKKysgICAgICAgICAgICAgICAgc2VsZi5wcm9j ZXNzX3NjZW5hcmlvX291dGxpbmUocnVuX2l0ZW0pCisrICAgICAgICAgICAgZWxzZToKKysgICAg ICAgICAgICAgICAgIyBhc3NlcnQgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW8pCisrICAg ICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19zY2VuYXJpbyhydW5faXRlbSkKKysKKysgICAgZGVm IHByb2Nlc3NfZmVhdHVyZShzZWxmLCBmZWF0dXJlKToKKysgICAgICAgIHNlbGYuZHVyYXRpb24g Kz0gZmVhdHVyZS5kdXJhdGlvbgorKyAgICAgICAgc2VsZi5mZWF0dXJlX3N1bW1hcnlbZmVhdHVy ZS5zdGF0dXMubmFtZV0gKz0gMQorKyAgICAgICAgc2VsZi5wcm9jZXNzX3J1bl9pdGVtc19mb3Io ZmVhdHVyZSkKKysKKysgICAgZGVmIHByb2Nlc3NfcnVsZShzZWxmLCBydWxlKToKKysgICAgICAg IHNlbGYucnVsZV9zdW1tYXJ5W3J1bGUuc3RhdHVzLm5hbWVdICs9IDEKKysgICAgICAgIHNlbGYu cHJvY2Vzc19ydW5faXRlbXNfZm9yKHJ1bGUpCisrCisgICAgIGRlZiBwcm9jZXNzX3NjZW5hcmlv KHNlbGYsIHNjZW5hcmlvKToKKyAgICAgICAgIGlmIHNjZW5hcmlvLnN0YXR1cyA9PSBTdGF0dXMu ZmFpbGVkOgorICAgICAgICAgICAgIHNlbGYuZmFpbGVkX3NjZW5hcmlvcy5hcHBlbmQoc2NlbmFy aW8pCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC9yZXBvcnRlcnMvX19pbml0X18ucHkgYi90ZXN0 cy91bml0L3JlcG9ydGVyL19faW5pdF9fLnB5CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFt ZSBmcm9tIHRlc3RzL3VuaXQvcmVwb3J0ZXJzL19faW5pdF9fLnB5CityZW5hbWUgdG8gdGVzdHMv dW5pdC9yZXBvcnRlci9fX2luaXRfXy5weQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvcmVwb3J0 ZXJzL3Rlc3Rfc3VtbWFyeS5weSBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5 CitzaW1pbGFyaXR5IGluZGV4IDk5JQorcmVuYW1lIGZyb20gdGVzdHMvdW5pdC9yZXBvcnRlcnMv dGVzdF9zdW1tYXJ5LnB5CityZW5hbWUgdG8gdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1h cnkucHkKK2luZGV4IDAyMTU0ZGIuLjk3YWRiYjUgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Jl cG9ydGVycy90ZXN0X3N1bW1hcnkucHkKKysrKyBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9z dW1tYXJ5LnB5CitAQCAtMTIwLDYgKzEyMCw3IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIo b2JqZWN0KToKKyAgICAgICAgIHJlcG9ydGVyLmVuZCgpCisgCisgICAgICAgICBleHBlY3RlZCA9 IHsKKysgICAgICAgICAgICAiYWxsIjogNSwKKyAgICAgICAgICAgICBTdGF0dXMucGFzc2VkLm5h bWU6IDIsCisgICAgICAgICAgICAgU3RhdHVzLmZhaWxlZC5uYW1lOiAxLAorICAgICAgICAgICAg IFN0YXR1cy5za2lwcGVkLm5hbWU6IDEsCitAQCAtMTU2LDYgKzE1Nyw3IEBAIGNsYXNzIFRlc3RT dW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgIHJlcG9ydGVyLmVuZCgpCisgCisgICAg ICAgICBleHBlY3RlZCA9IHsKKysgICAgICAgICAgICAiYWxsIjogNSwKKyAgICAgICAgICAgICBT dGF0dXMucGFzc2VkLm5hbWU6IDEsCisgICAgICAgICAgICAgU3RhdHVzLmZhaWxlZC5uYW1lOiAy LAorICAgICAgICAgICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDEsCitAQCAtMjAxLDYgKzIwMyw3 IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgIHJlcG9ydGVy LmVuZCgpCisgCisgICAgICAgICBleHBlY3RlZCA9IHsKKysgICAgICAgICAgICAiYWxsIjogNywK KyAgICAgICAgICAgICBTdGF0dXMucGFzc2VkLm5hbWU6IDIsCisgICAgICAgICAgICAgU3RhdHVz LmZhaWxlZC5uYW1lOiAzLAorICAgICAgICAgICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDIsCitA QCAtMjQxLDYgKzI0NCw3IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAg ICAgICAgIHJlcG9ydGVyLmVuZCgpCisgCisgICAgICAgICBleHBlY3RlZCA9IHsKKysgICAgICAg ICAgICAiYWxsIjogNSwKKyAgICAgICAgICAgICBTdGF0dXMucGFzc2VkLm5hbWU6IDIsCisgICAg ICAgICAgICAgU3RhdHVzLmZhaWxlZC5uYW1lOiAxLAorICAgICAgICAgICAgIFN0YXR1cy5za2lw cGVkLm5hbWU6IDEsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDA1LVN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNp bXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA1LVN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5 LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi4xYjQzNDY2ODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA1LVN1bW1hcnlSZXBvcnRlci5w cmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2gKQEAgLTAsMCArMSw2MCBA QAorRnJvbSA4MmJhNzM3NjVjZTU0NGRkM2ZhMTk4MzQyMjJhMDE0OThiYzZmZTZlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBXZWQsIDEzIE1hciAyMDE5IDA4OjQxOjM3ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIFN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5OiBTaW1wbGlmeSBpZiBSdWxl cyBhcmUgdXNlZC4KKworLS0tCisgYmVoYXZlL3JlcG9ydGVyL3N1bW1hcnkucHkgICAgICAgICAg fCA3ICsrKystLS0KKyB0ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weSB8IDYgKysr LS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9iZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weSBiL2JlaGF2ZS9yZXBvcnRl ci9zdW1tYXJ5LnB5CitpbmRleCAyY2NkYzhmLi4wOTI4NWVhIDEwMDY0NAorLS0tIGEvYmVoYXZl L3JlcG9ydGVyL3N1bW1hcnkucHkKKysrKyBiL2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CitA QCAtMTc5LDExICsxNzksMTIgQEAgY2xhc3MgU3VtbWFyeVJlcG9ydGVyKFJlcG9ydGVyKToKKyAg ICAgICAgICAgICBzdHJlYW0gPSBzZWxmLnN0cmVhbQorIAorICAgICAgICAgc2VsZi5jb21wdXRl X3N1bW1hcnlfc3VtcygpCisrICAgICAgICBoYXNfcnVsZXMgPSAoc2VsZi5ydWxlX3N1bW1hcnlb ImFsbCJdID4gMCkKKysKKyAgICAgICAgIHN0cmVhbS53cml0ZShmb3JtYXRfc3VtbWFyeSgiZmVh dHVyZSIsIHNlbGYuZmVhdHVyZV9zdW1tYXJ5KSkKKy0gICAgICAgIHJ1bGVzX3N1bW1hcnkgPSBm b3JtYXRfc3VtbWFyeSgicnVsZSIsIHNlbGYucnVsZV9zdW1tYXJ5KQorLSAgICAgICAgaWYgc2Vs Zi5zaG93X3J1bGVzIGFuZCBub3QgcnVsZXNfc3VtbWFyeS5zdHJpcCgpLnN0YXJ0c3dpdGgoIjAi KToKKysgICAgICAgIGlmIHNlbGYuc2hvd19ydWxlcyBhbmQgaGFzX3J1bGVzOgorICAgICAgICAg ICAgICMgLS0gSElOVDogU2hvdyBvbmx5IHJ1bGVzLCBpZiBhbnkgZXhpc3RzLgorLSAgICAgICAg ICAgIHNlbGYuc3RyZWFtLndyaXRlKHJ1bGVzX3N1bW1hcnkpCisrICAgICAgICAgICAgc2VsZi5z dHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoInJ1bGUiLCBzZWxmLnJ1bGVfc3VtbWFyeSkpCisg ICAgICAgICBzdHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoInNjZW5hcmlvIiwgc2VsZi5zY2Vu YXJpb19zdW1tYXJ5KSkKKyAgICAgICAgIHN0cmVhbS53cml0ZShmb3JtYXRfc3VtbWFyeSgic3Rl cCIsIHNlbGYuc3RlcF9zdW1tYXJ5KSkKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3JlcG9y dGVyL3Rlc3Rfc3VtbWFyeS5weSBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5 CitpbmRleCA5N2FkYmI1Li5kNGU4NWI1IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC9yZXBvcnRl ci90ZXN0X3N1bW1hcnkucHkKKysrKyBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5 LnB5CitAQCAtMTY0LDcgKzE2NCw3IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0 KToKKyAgICAgICAgICAgICBTdGF0dXMudW50ZXN0ZWQubmFtZTogMSwKKyAgICAgICAgIH0KKyAK Ky0gICAgICAgIHNjZW5hcmlvX2luZGV4ID0gMgorKyAgICAgICAgc2NlbmFyaW9faW5kZXggPSAx ICAjIC0tIEhJTlQ6IEluZGV4IGZvciBzY2VuYXJpb3MgaWYgbm8gUnVsZXMgYXJlIHVzZWQuCisg ICAgICAgICBleHBlY3RlZF9wYXJ0cyA9ICgic2NlbmFyaW8iLCBleHBlY3RlZCkKKyAgICAgICAg IGFzc2VydCBmb3JtYXRfc3VtbWFyeS5jYWxsX2FyZ3NfbGlzdFtzY2VuYXJpb19pbmRleF1bMF0g PT0gZXhwZWN0ZWRfcGFydHMKKyAKK0BAIC0yMDksNyArMjA5LDcgQEAgY2xhc3MgVGVzdFN1bW1h cnlSZXBvcnRlcihvYmplY3QpOgorICAgICAgICAgICAgIFN0YXR1cy5za2lwcGVkLm5hbWU6IDIs CisgICAgICAgICAgICAgU3RhdHVzLnVudGVzdGVkLm5hbWU6IDAsCisgICAgICAgICB9CistICAg ICAgICBzY2VuYXJpb19pbmRleCA9IDIKKysgICAgICAgIHNjZW5hcmlvX2luZGV4ID0gMSAgIyAt LSBISU5UOiBJbmRleCBmb3Igc2NlbmFyaW9zIGlmIG5vIFJ1bGVzIGFyZSB1c2VkLgorICAgICAg ICAgZXhwZWN0ZWRfcGFydHMgPSAoInNjZW5hcmlvIiwgZXhwZWN0ZWQpCisgICAgICAgICBhc3Nl cnQgZm9ybWF0X3N1bW1hcnkuY2FsbF9hcmdzX2xpc3Rbc2NlbmFyaW9faW5kZXhdWzBdID09IGV4 cGVjdGVkX3BhcnRzCisgCitAQCAtMjUyLDYgKzI1Miw2IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVw b3J0ZXIob2JqZWN0KToKKyAgICAgICAgICAgICBTdGF0dXMudW5kZWZpbmVkLm5hbWU6IDEsCisg ICAgICAgICB9CisgCistICAgICAgICBzdGVwX2luZGV4ID0gMworKyAgICAgICAgc3RlcF9pbmRl eCA9IDIgICMgSElOVDogSW5kZXggZm9yIHN0ZXBzIGlmIG5vdCBydWxlcyBhcmUgdXNlZC4KKyAg ICAgICAgIGV4cGVjdGVkX3BhcnRzID0gKCJzdGVwIiwgZXhwZWN0ZWQpCisgICAgICAgICBhc3Nl cnQgZm9ybWF0X3N1bW1hcnkuY2FsbF9hcmdzX2xpc3Rbc3RlcF9pbmRleF1bMF0gPT0gZXhwZWN0 ZWRfcGFydHMKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMDYtRm9ybWF0dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1m b3ItUnVsZXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDA2LUZvcm1hdHRlci1BZGQtYmFzaWMtc3VwcG9ydC1vdXRwdXQtZm9yLVJ1 bGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYWQzMWQ4YTZl Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAwNi1Gb3JtYXR0ZXItQWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZv ci1SdWxlcy5wYXRjaApAQCAtMCwwICsxLDM5NSBAQAorRnJvbSBlN2NhNWY5ZTYzYzBmMzVhYTll ZTE3ZmI0ZDJiOGUwZGYwOTEyYmNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDEzIE1h ciAyMDE5IDIzOjA4OjE5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZvcm1hdHRlcjogQWRkIGJh c2ljIHN1cHBvcnQvb3V0cHV0IGZvciBSdWxlcy4KKworLS0tCisgYmVoYXZlL2Zvcm1hdHRlci9i YXNlLnB5ICAgICB8IDE4ICsrKysrLS0tLS0tCisgYmVoYXZlL2Zvcm1hdHRlci9wbGFpbi5weSAg ICB8IDYzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQorIGJlaGF2ZS9mb3Jt YXR0ZXIvcHJldHR5LnB5ICAgfCAzMyArKysrKysrKysrKysrKystLS0tCisgYmVoYXZlL2Zvcm1h dHRlci9wcm9ncmVzcy5weSB8IDE4ICsrKysrKysrKystCisgYmVoYXZlL21vZGVsLnB5ICAgICAg ICAgICAgICB8IDE0ICsrKystLS0tCisgNSBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygr KSwgMzYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvZm9ybWF0dGVyL2Jhc2Uu cHkgYi9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkKK2luZGV4IGY3MjY4ZmEuLmE4YjlmN2MgMTAw NjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkKKysrKyBiL2JlaGF2ZS9mb3JtYXR0 ZXIvYmFzZS5weQorQEAgLTEyOSwxNSArMTI5LDYgQEAgY2xhc3MgRm9ybWF0dGVyKG9iamVjdCk6 CisgICAgICAgICAiIiIKKyAgICAgICAgIHBhc3MKKyAKKy0gICAgZGVmIGJhY2tncm91bmQoc2Vs ZiwgYmFja2dyb3VuZCk6CistICAgICAgICAiIiJDYWxsZWQgd2hlbiBhIChGZWF0dXJlKSBCYWNr Z3JvdW5kIGlzIHByb3ZpZGVkLgorLSAgICAgICAgQ2FsbGVkIGFmdGVyIDptZXRob2Q6YGZlYXR1 cmUoKWAgaXMgY2FsbGVkLgorLSAgICAgICAgQ2FsbGVkIGJlZm9yZSBwcm9jZXNzaW5nIGFueSBz Y2VuYXJpb3Mgb3Igc2NlbmFyaW8gb3V0bGluZXMuCistCistICAgICAgICA6cGFyYW0gYmFja2dy b3VuZDogIEJhY2tncm91bmQgb2JqZWN0IChhcyA6Y2xhc3M6YGJlaGF2ZS5tb2RlbC5CYWNrZ3Jv dW5kYCkKKy0gICAgICAgICIiIgorLSAgICAgICAgcGFzcworLQorICAgICBkZWYgcnVsZShzZWxm LCBydWxlKToKKyAgICAgICAgICIiIkNhbGxlZCBiZWZvcmUgYSBydWxlIGlzIGV4ZWN1dGVkLgor IAorQEAgLTE1Myw2ICsxNDQsMTUgQEAgY2xhc3MgRm9ybWF0dGVyKG9iamVjdCk6CisgICAgICMg ICAgICIiIgorICAgICAjICAgICBwYXNzCisgCisrICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJh Y2tncm91bmQpOgorKyAgICAgICAgIiIiQ2FsbGVkIHdoZW4gYSAoRmVhdHVyZSkgQmFja2dyb3Vu ZCBpcyBwcm92aWRlZC4KKysgICAgICAgIENhbGxlZCBhZnRlciA6bWV0aG9kOmBmZWF0dXJlKClg IGlzIGNhbGxlZC4KKysgICAgICAgIENhbGxlZCBiZWZvcmUgcHJvY2Vzc2luZyBhbnkgc2NlbmFy aW9zIG9yIHNjZW5hcmlvIG91dGxpbmVzLgorKworKyAgICAgICAgOnBhcmFtIGJhY2tncm91bmQ6 ICBCYWNrZ3JvdW5kIG9iamVjdCAoYXMgOmNsYXNzOmBiZWhhdmUubW9kZWwuQmFja2dyb3VuZGAp CisrICAgICAgICAiIiIKKysgICAgICAgIHBhc3MKKysKKyAgICAgZGVmIHNjZW5hcmlvKHNlbGYs IHNjZW5hcmlvKToKKyAgICAgICAgICIiIkNhbGxlZCBiZWZvcmUgYSBzY2VuYXJpbyBpcyBleGVj dXRlZCAob3IgU2NlbmFyaW9PdXRsaW5lIHNjZW5hcmlvcykuCisgCitkaWZmIC0tZ2l0IGEvYmVo YXZlL2Zvcm1hdHRlci9wbGFpbi5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvcGxhaW4ucHkKK2luZGV4 IDlmMWY4MzMuLmU3MjA4MjkgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3BsYWluLnB5 CisrKysgYi9iZWhhdmUvZm9ybWF0dGVyL3BsYWluLnB5CitAQCAtMjMsNiArMjMsOCBAQCBjbGFz cyBQbGFpbkZvcm1hdHRlcihGb3JtYXR0ZXIpOgorIAorICAgICBTSE9XX01VTFRJX0xJTkUgPSBU cnVlCisgICAgIFNIT1dfVEFHUyA9IEZhbHNlCisrICAgIFNIT1dfUlVMRVMgPSBUcnVlCisrICAg IFNIT1dfQkFDS0dST1VORFMgPSBUcnVlCisgICAgIFNIT1dfQUxJR05FRF9LRVlXT1JEUyA9IEZh bHNlCisgICAgIERFRkFVTFRfSU5ERU5UX1NJWkUgPSAyCisgICAgIFJBSVNFX09VVFBVVF9FUlJP UlMgPSBUcnVlCitAQCAtMzUsNiArMzcsNyBAQCBjbGFzcyBQbGFpbkZvcm1hdHRlcihGb3JtYXR0 ZXIpOgorICAgICAgICAgc2VsZi5zaG93X2FsaWduZWRfa2V5d29yZHMgPSBzZWxmLlNIT1dfQUxJ R05FRF9LRVlXT1JEUworICAgICAgICAgc2VsZi5zaG93X3RhZ3MgPSBzZWxmLlNIT1dfVEFHUwor ICAgICAgICAgc2VsZi5pbmRlbnRfc2l6ZSA9IHNlbGYuREVGQVVMVF9JTkRFTlRfU0laRQorKyAg ICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisgICAgICAgICAjIC0tIEVOU1VSRTogT3V0 cHV0IHN0cmVhbSBpcyBvcGVuLgorICAgICAgICAgc2VsZi5zdHJlYW0gPSBzZWxmLm9wZW4oKQor ICAgICAgICAgc2VsZi5wcmludGVyID0gTW9kZWxQcmludGVyKHNlbGYuc3RyZWFtKQorQEAgLTQ5 LDYgKzUyLDEwIEBAIGNsYXNzIFBsYWluRm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICAg ICAgICAgIG9mZnNldCA9IDIKKyAgICAgICAgICAgICBpbmRlbnRhdGlvbiA9IG1ha2VfaW5kZW50 YXRpb24oMyAqIHNlbGYuaW5kZW50X3NpemUgKyBvZmZzZXQpCisgICAgICAgICAgICAgc2VsZi5f bXVsdGlsaW5lX2luZGVudGF0aW9uID0gaW5kZW50YXRpb24KKysKKysgICAgICAgIGlmIHNlbGYu Y3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIGluZGVudF9leHRyYSA9IG1ha2VfaW5kZW50YXRp b24oc2VsZi5pbmRlbnRfc2l6ZSkKKysgICAgICAgICAgICByZXR1cm4gc2VsZi5fbXVsdGlsaW5l X2luZGVudGF0aW9uICsgaW5kZW50X2V4dHJhCisgICAgICAgICByZXR1cm4gc2VsZi5fbXVsdGls aW5lX2luZGVudGF0aW9uCisgCisgICAgIGRlZiByZXNldF9zdGVwcyhzZWxmKToKK0BAIC02MCwz NyArNjcsNjkgQEAgY2xhc3MgUGxhaW5Gb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgICAg ICB0ZXh0ID0gIiBAIi5qb2luKHRhZ3MpCisgICAgICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUo dSIlc0Alc1xuIiAlIChpbmRlbnQsIHRleHQpKQorIAorKyAgICBkZWYgd3JpdGVfZW50aXR5KHNl bGYsIGVudGl0eSwgaW5kZW50PSIiLCBoYXNfdGFncz1UcnVlKToKKysgICAgICAgIGlmIGhhc190 YWdzOgorKyAgICAgICAgICAgIHNlbGYud3JpdGVfdGFncyhlbnRpdHkudGFncywgaW5kZW50KQor KyAgICAgICAgdGV4dCA9IHUiJXMlczogJXNcbiIgJSAoaW5kZW50LCBlbnRpdHkua2V5d29yZCwg ZW50aXR5Lm5hbWUpCisrICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh0ZXh0KQorKworICAgICAj IC0tIElNUExFTUVOVC1JTlRFUkZBQ0UgRk9SOiBGb3JtYXR0ZXIKKyAgICAgZGVmIGZlYXR1cmUo c2VsZiwgZmVhdHVyZSk6CisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKyAgICAg ICAgIHNlbGYucmVzZXRfc3RlcHMoKQorLSAgICAgICAgc2VsZi53cml0ZV90YWdzKGZlYXR1cmUu dGFncykKKy0gICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiJXM6ICVzXG4iICUgKGZlYXR1cmUu a2V5d29yZCwgZmVhdHVyZS5uYW1lKSkKKysgICAgICAgIHNlbGYud3JpdGVfZW50aXR5KGZlYXR1 cmUpCisrICAgICAgICAjIHNlbGYud3JpdGVfdGFncyhmZWF0dXJlLnRhZ3MpCisrICAgICAgICAj IHNlbGYuc3RyZWFtLndyaXRlKHUiJXM6ICVzXG4iICUgKGZlYXR1cmUua2V5d29yZCwgZmVhdHVy ZS5uYW1lKSkKKyAKKy0gICAgZGVmIGJhY2tncm91bmQoc2VsZiwgYmFja2dyb3VuZCk6CisrICAg IGRlZiBydWxlKHNlbGYsIHJ1bGUpOgorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBydWxl CisgICAgICAgICBzZWxmLnJlc2V0X3N0ZXBzKCkKKyAgICAgICAgIGluZGVudCA9IG1ha2VfaW5k ZW50YXRpb24oc2VsZi5pbmRlbnRfc2l6ZSkKKy0gICAgICAgIHRleHQgPSB1IiVzJXM6ICVzXG4i ICUgKGluZGVudCwgYmFja2dyb3VuZC5rZXl3b3JkLCBiYWNrZ3JvdW5kLm5hbWUpCistICAgICAg ICBzZWxmLnN0cmVhbS53cml0ZSh0ZXh0KQorKyAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSJc biIpCisrICAgICAgICBzZWxmLndyaXRlX2VudGl0eShydWxlLCBpbmRlbnQpCisrICAgICAgICAj IHNlbGYuc3RyZWFtLndyaXRlKHUiJXMlczogJXNcbiIgJSAoaW5kZW50LCBydWxlLmtleXdvcmQs IHJ1bGUubmFtZSkpCisrCisrICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgor KyAgICAgICAgc2VsZi5yZXNldF9zdGVwcygpCisrICAgICAgICBpZiBub3Qgc2VsZi5TSE9XX0JB Q0tHUk9VTkRTOgorKyAgICAgICAgICAgIHJldHVybgorKworKyAgICAgICAgaW5kZW50X2V4dHJh ID0gMAorKyAgICAgICAgaWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAgICAgICAgICAgaW5kZW50 X2V4dHJhID0gc2VsZi5pbmRlbnRfc2l6ZQorKworKyAgICAgICAgaW5kZW50ID0gbWFrZV9pbmRl bnRhdGlvbihzZWxmLmluZGVudF9zaXplICsgaW5kZW50X2V4dHJhKQorKyAgICAgICAgc2VsZi53 cml0ZV9lbnRpdHkoYmFja2dyb3VuZCwgaW5kZW50LCBoYXNfdGFncz1GYWxzZSkKKysgICAgICAg ICMgdGV4dCA9IHUiJXMlczogJXNcbiIgJSAoaW5kZW50LCBiYWNrZ3JvdW5kLmtleXdvcmQsIGJh Y2tncm91bmQubmFtZSkKKysgICAgICAgICMgc2VsZi5zdHJlYW0ud3JpdGUodGV4dCkKKyAKKyAg ICAgZGVmIHNjZW5hcmlvKHNlbGYsIHNjZW5hcmlvKToKKysgICAgICAgIGluZGVudF9leHRyYSA9 IDAKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIGluZGVudF9l eHRyYSA9IHNlbGYuaW5kZW50X3NpemUKKysKKyAgICAgICAgIHNlbGYucmVzZXRfc3RlcHMoKQor ICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSJcbiIpCistICAgICAgICBpbmRlbnQgPSBtYWtl X2luZGVudGF0aW9uKHNlbGYuaW5kZW50X3NpemUpCistICAgICAgICB0ZXh0ID0gdSIlcyVzOiAl c1xuIiAlIChpbmRlbnQsIHNjZW5hcmlvLmtleXdvcmQsIHNjZW5hcmlvLm5hbWUpCistICAgICAg ICBzZWxmLndyaXRlX3RhZ3Moc2NlbmFyaW8udGFncywgaW5kZW50KQorLSAgICAgICAgc2VsZi5z dHJlYW0ud3JpdGUodGV4dCkKKysgICAgICAgIGluZGVudCA9IG1ha2VfaW5kZW50YXRpb24oc2Vs Zi5pbmRlbnRfc2l6ZSArIGluZGVudF9leHRyYSkKKysgICAgICAgIHNlbGYud3JpdGVfZW50aXR5 KHNjZW5hcmlvLCBpbmRlbnQpCisrICAgICAgICAjIHRleHQgPSB1IiVzJXM6ICVzXG4iICUgKGlu ZGVudCwgc2NlbmFyaW8ua2V5d29yZCwgc2NlbmFyaW8ubmFtZSkKKysgICAgICAgICMgc2VsZi53 cml0ZV90YWdzKHNjZW5hcmlvLnRhZ3MsIGluZGVudCkKKysgICAgICAgICMgc2VsZi5zdHJlYW0u d3JpdGUodGV4dCkKKyAKKyAgICAgZGVmIHN0ZXAoc2VsZiwgc3RlcCk6CisgICAgICAgICBzZWxm LnN0ZXBzLmFwcGVuZChzdGVwKQorIAorICAgICBkZWYgcmVzdWx0KHNlbGYsIHN0ZXApOgorLSAg ICAgICAgIiIiCistICAgICAgICBQcm9jZXNzIHRoZSByZXN1bHQgb2YgYSBzdGVwIChhZnRlciBz dGVwIGV4ZWN1dGlvbikuCisrICAgICAgICAiIiJQcm9jZXNzIHRoZSByZXN1bHQgb2YgYSBzdGVw IChhZnRlciBzdGVwIGV4ZWN1dGlvbikuCisgCisgICAgICAgICA6cGFyYW0gc3RlcDogICBTdGVw IG9iamVjdCB3aXRoIHJlc3VsdCB0byBwcm9jZXNzLgorICAgICAgICAgIiIiCisrICAgICAgICBp bmRlbnRfZXh0cmEgPSAwCisrICAgICAgICBpZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAg ICAgICBpbmRlbnRfZXh0cmEgPSBzZWxmLmluZGVudF9zaXplCisrCisgICAgICAgICBzdGVwID0g c2VsZi5zdGVwcy5wb3AoMCkKKy0gICAgICAgIGluZGVudCA9IG1ha2VfaW5kZW50YXRpb24oMiAq IHNlbGYuaW5kZW50X3NpemUpCisrICAgICAgICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKDIg KiBzZWxmLmluZGVudF9zaXplICsgaW5kZW50X2V4dHJhKQorICAgICAgICAgaWYgc2VsZi5zaG93 X2FsaWduZWRfa2V5d29yZHM6CisgICAgICAgICAgICAgIyAtLSBSSUdIVC1BTElHTiBLRVlXT1JE UyAobWF4LiBrZXl3b3JkIHdpZHRoOiA2KToKKyAgICAgICAgICAgICB0ZXh0ID0gdSIlcyU2cyAl cyAuLi4gIiAlIChpbmRlbnQsIHN0ZXAua2V5d29yZCwgc3RlcC5uYW1lKQorZGlmZiAtLWdpdCBh L2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkK K2luZGV4IGI2ZjBlYWMuLjc5NGUxZDcgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3By ZXR0eS5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKK0BAIC02LDcgKzYsNyBA QCBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYW5zaV9lc2NhcGVzIGltcG9ydCBlc2NhcGVzLCB1cAor IGZyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBGb3JtYXR0ZXIKKyBmcm9tIGJlaGF2 ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMKKyBmcm9tIGJlaGF2ZS5tb2RlbF9kZXNjcmliZSBp bXBvcnQgZXNjYXBlX2NlbGwsIGVzY2FwZV90cmlwbGVfcXVvdGVzCistZnJvbSBiZWhhdmUudGV4 dHV0aWwgaW1wb3J0IGluZGVudCwgdGV4dCBhcyBfdGV4dAorK2Zyb20gYmVoYXZlLnRleHR1dGls IGltcG9ydCBpbmRlbnQsIG1ha2VfaW5kZW50YXRpb24sIHRleHQgYXMgX3RleHQKKyBpbXBvcnQg c2l4CisgZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlLCB6aXAKKyAKK0BAIC04Niw2ICs4Niw3 IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorIAorICAgICBkZWYgcmVzZXQo c2VsZik6CisgICAgICAgICAjIC0tIFVOVVNFRDogc2VsZi50YWdfc3RhdGVtZW50ID0gTm9uZQor KyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisgICAgICAgICBzZWxmLnN0ZXBzID0g W10KKyAgICAgICAgIHNlbGYuX3VyaSA9IE5vbmUKKyAgICAgICAgIHNlbGYuX21hdGNoID0gTm9u ZQorQEAgLTk5LDcgKzEwMCw5IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgor IAorICAgICBkZWYgZmVhdHVyZShzZWxmLCBmZWF0dXJlKToKKyAgICAgICAgICNzZWxmLnByaW50 X2NvbW1lbnRzKGZlYXR1cmUuY29tbWVudHMsICcnKQorLSAgICAgICAgc2VsZi5wcmludF90YWdz KGZlYXR1cmUudGFncywgJycpCisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKysg ICAgICAgIHByZWZpeCA9ICIiCisrICAgICAgICBzZWxmLnByaW50X3RhZ3MoZmVhdHVyZS50YWdz LCBwcmVmaXgpCisgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzOiAlcyIgJSAoZmVhdHVy ZS5rZXl3b3JkLCBmZWF0dXJlLm5hbWUpKQorICAgICAgICAgaWYgc2VsZi5zaG93X3NvdXJjZToK KyAgICAgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1yZWRlZmluZWQtYnVpbHRpbgorQEAgLTEw OSw2ICsxMTIsMTEgQEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAg ICBzZWxmLnByaW50X2Rlc2NyaXB0aW9uKGZlYXR1cmUuZGVzY3JpcHRpb24sICIgICIsIEZhbHNl KQorICAgICAgICAgc2VsZi5zdHJlYW0uZmx1c2goKQorIAorKyAgICBkZWYgcnVsZShzZWxmLCBy dWxlKToKKysgICAgICAgIHNlbGYucmVwbGF5KCkKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxl ID0gcnVsZQorKyAgICAgICAgc2VsZi5zdGF0ZW1lbnQgPSBydWxlCisrCisgICAgIGRlZiBiYWNr Z3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorICAgICAgICAgc2VsZi5yZXBsYXkoKQorICAgICAg ICAgc2VsZi5zdGF0ZW1lbnQgPSBiYWNrZ3JvdW5kCitAQCAtMTc2LDYgKzE4NCwxMCBAQCBjbGFz cyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgIHNlbGYuc3RyZWFtLmZsdXNo KCkKKyAKKyAgICAgZGVmIHRhYmxlKHNlbGYsIHRhYmxlKToKKysgICAgICAgIHByZWZpeCA9IHUi ICAgICAgIgorKyAgICAgICAgaWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAgICAgICAgICAgcHJl Zml4ICs9IHUiICAiCisrCisgICAgICAgICBjZWxsX2xlbmd0aHMgPSBbXQorICAgICAgICAgYWxs X3Jvd3MgPSBbdGFibGUuaGVhZGluZ3NdICsgdGFibGUucm93cworICAgICAgICAgZm9yIHJvdyBp biBhbGxfcm93czoKK0BAIC0xODksNyArMjAxLDcgQEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZv cm1hdHRlcik6CisgICAgICAgICBmb3IgaSwgcm93IGluIGVudW1lcmF0ZShhbGxfcm93cyk6Cisg ICAgICAgICAgICAgI2ZvciBjb21tZW50IGluIHJvdy5jb21tZW50czoKKyAgICAgICAgICAgICAj ICAgIHNlbGYuc3RyZWFtLndyaXRlKCIgICAgICAlc1xuIiAlIGNvbW1lbnQudmFsdWUpCistICAg ICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUoIiAgICAgIHwiKQorKyAgICAgICAgICAgIHNlbGYu c3RyZWFtLndyaXRlKHUiJXN8IiAlIHByZWZpeCkKKyAgICAgICAgICAgICBmb3IgaiwgKGNlbGws IG1heF9sZW5ndGgpIGluIGVudW1lcmF0ZSh6aXAocm93LCBtYXhfbGVuZ3RocykpOgorICAgICAg ICAgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSgiICIpCisgICAgICAgICAgICAgICAgIHNlbGYu c3RyZWFtLndyaXRlKHNlbGYuY29sb3IoY2VsbCwgTm9uZSwgaikpCitAQCAtMjAyLDYgKzIxNCw4 IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgI3NlbGYuc3Ry ZWFtLndyaXRlKCcgICAgICAiIiInICsgZG9jX3N0cmluZy5jb250ZW50X3R5cGUgKyAnXG4nKQor ICAgICAgICAgZG9jX3N0cmluZyA9IF90ZXh0KGRvY19zdHJpbmcpCisgICAgICAgICBwcmVmaXgg PSB1IiAgICAgICIKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAg IHByZWZpeCArPSB1IiAgIgorICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSclcyIiIlxuJyAl IHByZWZpeCkKKyAgICAgICAgIGRvY19zdHJpbmcgPSBlc2NhcGVfdHJpcGxlX3F1b3RlcyhpbmRl bnQoZG9jX3N0cmluZywgcHJlZml4KSkKKyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKGRvY19z dHJpbmcpCitAQCAtMjUxLDEyICsyNjUsMTYgQEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1h dHRlcik6CisgICAgICAgICBpZiBzZWxmLnN0YXRlbWVudCBpcyBOb25lOgorICAgICAgICAgICAg IHJldHVybgorIAorKyAgICAgICAgcHJlZml4ID0gdSIgICIKKysgICAgICAgIGlmIHNlbGYuY3Vy cmVudF9ydWxlIGFuZCBzZWxmLnN0YXRlbWVudC50eXBlICE9ICJydWxlIjoKKysgICAgICAgICAg ICBwcmVmaXggKz0gcHJlZml4CisrCisgICAgICAgICBzZWxmLmNhbGN1bGF0ZV9sb2NhdGlvbl9p bmRlbnRhdGlvbnMoKQorICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSJcbiIpCisgICAgICAg ICAjc2VsZi5wcmludF9jb21tZW50cyhzZWxmLnN0YXRlbWVudC5jb21tZW50cywgIiAgIikKKyAg ICAgICAgIGlmIGhhc2F0dHIoc2VsZi5zdGF0ZW1lbnQsICJ0YWdzIik6CistICAgICAgICAgICAg c2VsZi5wcmludF90YWdzKHNlbGYuc3RhdGVtZW50LnRhZ3MsIHUiICAiKQorLSAgICAgICAgc2Vs Zi5zdHJlYW0ud3JpdGUodSIgICVzOiAlcyAiICUgKHNlbGYuc3RhdGVtZW50LmtleXdvcmQsCisr ICAgICAgICAgICAgc2VsZi5wcmludF90YWdzKHNlbGYuc3RhdGVtZW50LnRhZ3MsIHByZWZpeCkK KysgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiJXMlczogJXMgIiAlIChwcmVmaXgsIHNlbGYu c3RhdGVtZW50LmtleXdvcmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5zdGF0ZW1lbnQubmFtZSkpCisgCisgICAgICAgICBsb2NhdGlvbiA9IHNlbGYu aW5kZW50ZWRfdGV4dChzaXgudGV4dF90eXBlKHNlbGYuc3RhdGVtZW50LmxvY2F0aW9uKSwgVHJ1 ZSkKK0BAIC0yNzksOCArMjk3LDExIEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIp OgorICAgICAgICAgdGV4dF9mb3JtYXQgPSBzZWxmLmZvcm1hdChzdGF0dXMubmFtZSkKKyAgICAg ICAgIGFyZ19mb3JtYXQgPSBzZWxmLmFyZ19mb3JtYXQoc3RhdHVzLm5hbWUpCisgCisrICAgICAg ICBwcmVmaXggPSB1IiAgICAiCisrICAgICAgICBpZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAg ICAgICAgICBwcmVmaXggKz0gdSIgICIKKyAgICAgICAgICNzZWxmLnByaW50X2NvbW1lbnRzKHN0 ZXAuY29tbWVudHMsICIgICAgIikKKy0gICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKCIgICAgIikK KysgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHByZWZpeCkKKyAgICAgICAgIHNlbGYuc3RyZWFt LndyaXRlKHRleHRfZm9ybWF0LnRleHQoc3RlcC5rZXl3b3JkICsgIiAiKSkKKyAgICAgICAgIGxp bmVfbGVuZ3RoID0gNSArIGxlbihzdGVwLmtleXdvcmQpCisgCitkaWZmIC0tZ2l0IGEvYmVoYXZl L2Zvcm1hdHRlci9wcm9ncmVzcy5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvcHJvZ3Jlc3MucHkKK2lu ZGV4IDZkOGFkZjYuLjNiNDcxZWQgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3Byb2dy ZXNzLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0dGVyL3Byb2dyZXNzLnB5CitAQCAtNDMsNiArNDMs NyBAQCBjbGFzcyBQcm9ncmVzc0Zvcm1hdHRlckJhc2UoRm9ybWF0dGVyKToKKyAgICAgICAgIHNl bGYuc3RlcHMgPSBbXQorICAgICAgICAgc2VsZi5mYWlsdXJlcyA9IFtdCisgICAgICAgICBzZWxm LmN1cnJlbnRfZmVhdHVyZSA9IE5vbmUKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9u ZQorICAgICAgICAgc2VsZi5jdXJyZW50X3NjZW5hcmlvID0gTm9uZQorICAgICAgICAgc2VsZi5z aG93X3RpbWluZ3MgPSBjb25maWcuc2hvd190aW1pbmdzIGFuZCBzZWxmLnNob3dfdGltaW5ncwor IAorQEAgLTUwLDE0ICs1MSwxOSBAQCBjbGFzcyBQcm9ncmVzc0Zvcm1hdHRlckJhc2UoRm9ybWF0 dGVyKToKKyAgICAgICAgIHNlbGYuc3RlcHMgPSBbXQorICAgICAgICAgc2VsZi5mYWlsdXJlcyA9 IFtdCisgICAgICAgICBzZWxmLmN1cnJlbnRfZmVhdHVyZSA9IE5vbmUKKysgICAgICAgIHNlbGYu Y3VycmVudF9ydWxlID0gTm9uZQorICAgICAgICAgc2VsZi5jdXJyZW50X3NjZW5hcmlvID0gTm9u ZQorIAorICAgICAjIC0tIEZPUk1BVFRFUiBBUEk6CisgICAgIGRlZiBmZWF0dXJlKHNlbGYsIGZl YXR1cmUpOgorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisgICAgICAgICBzZWxm LmN1cnJlbnRfZmVhdHVyZSA9IGZlYXR1cmUKKyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKCIl cyAgIiAlIHNpeC50ZXh0X3R5cGUoZmVhdHVyZS5maWxlbmFtZSkpCisgICAgICAgICBzZWxmLnN0 cmVhbS5mbHVzaCgpCisgCisrICAgIGRlZiBydWxlKHNlbGYsIHJ1bGUpOgorKyAgICAgICAgc2Vs Zi5jdXJyZW50X3J1bGUgPSBydWxlCisrCisgICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tn cm91bmQpOgorICAgICAgICAgcGFzcworIAorQEAgLTIxOSw5ICsyMjUsMTYgQEAgY2xhc3MgU2Nl bmFyaW9TdGVwUHJvZ3Jlc3NGb3JtYXR0ZXIoU3RlcFByb2dyZXNzRm9ybWF0dGVyKToKKyAKKyAg ICAgIyAtLSBGT1JNQVRURVIgQVBJOgorICAgICBkZWYgZmVhdHVyZShzZWxmLCBmZWF0dXJlKToK KysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9uZQorICAgICAgICAgc2VsZi5jdXJyZW50 X2ZlYXR1cmUgPSBmZWF0dXJlCisgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzICAgICMg JXMiICUgKGZlYXR1cmUubmFtZSwgZmVhdHVyZS5maWxlbmFtZSkpCisgCisrICAgIGRlZiBydWxl KHNlbGYsIHJ1bGUpOgorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBydWxlCisrICAgICAg ICBzZWxmLnN0cmVhbS53cml0ZSh1IlxuXG4gICVzOiAlcyAgICAjICVzIiAlCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAocnVsZS5rZXl3b3JkLCBydWxlLm5hbWUsIHJ1bGUubG9jYXRpb24p KQorKyAgICAgICAgc2VsZi5zdHJlYW0uZmx1c2goKQorKworICAgICBkZWYgc2NlbmFyaW8oc2Vs Ziwgc2NlbmFyaW8pOgorICAgICAgICAgIiIiUHJvY2VzcyB0aGUgbmV4dCBzY2VuYXJpby4iIiIK KyAgICAgICAgICMgLS0gTEFTVCBTQ0VOQVJJTzogUmVwb3J0IGZhaWx1cmVzIChpZiBhbnkpLgor QEAgLTIzMSw5ICsyNDQsMTIgQEAgY2xhc3MgU2NlbmFyaW9TdGVwUHJvZ3Jlc3NGb3JtYXR0ZXIo U3RlcFByb2dyZXNzRm9ybWF0dGVyKToKKyAgICAgICAgIGFzc2VydCBub3Qgc2VsZi5mYWlsdXJl cworICAgICAgICAgc2VsZi5jdXJyZW50X3NjZW5hcmlvID0gc2NlbmFyaW8KKyAgICAgICAgIHNj ZW5hcmlvX25hbWUgPSBzY2VuYXJpby5uYW1lCisrICAgICAgICBwcmVmaXggPSBzZWxmLnNjZW5h cmlvX3ByZWZpeAorKyAgICAgICAgaWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAgICAgICAgICAg cHJlZml4ICs9IHUiICAiCisgICAgICAgICBpZiBzY2VuYXJpb19uYW1lOgorICAgICAgICAgICAg IHNjZW5hcmlvX25hbWUgKz0gIiAiCistICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzJXMg IiAlIChzZWxmLnNjZW5hcmlvX3ByZWZpeCwgc2NlbmFyaW9fbmFtZSkpCisrICAgICAgICBzZWxm LnN0cmVhbS53cml0ZSh1IiVzJXMgIiAlIChwcmVmaXgsIHNjZW5hcmlvX25hbWUpKQorICAgICAg ICAgc2VsZi5zdHJlYW0uZmx1c2goKQorIAorICAgICAjIC0tIERJU0FCTEVEOgorZGlmZiAtLWdp dCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5kZXggNjIzODMxMy4uMzA4 NDg1MCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5 CitAQCAtMzE4LDEwICszMTgsMTAgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3Rh dHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIHJ1bm5lci5jb250ZXh0LnRhZ3Mg PSBzZXQoc2VsZi50YWdzKQorIAorICAgICAgICAgc2tpcF9lbnRpdHlfdW50ZXN0ZWQgPSBydW5u ZXIuYWJvcnRlZAorLSAgICAgICAgcnVuX2VudGl0eSA9IHNlbGYuc2hvdWxkX3J1bihydW5uZXIu Y29uZmlnKQorKyAgICAgICAgc2hvdWxkX3J1bl9lbnRpdHkgPSBzZWxmLnNob3VsZF9ydW4ocnVu bmVyLmNvbmZpZykKKyAgICAgICAgIGZhaWxlZF9jb3VudCA9IDAKKyAgICAgICAgIGhvb2tzX2Nh bGxlZCA9IEZhbHNlCistICAgICAgICBpZiBub3QgcnVubmVyLmNvbmZpZy5kcnlfcnVuIGFuZCBy dW5fZW50aXR5OgorKyAgICAgICAgaWYgbm90IHJ1bm5lci5jb25maWcuZHJ5X3J1biBhbmQgc2hv dWxkX3J1bl9lbnRpdHk6CisgICAgICAgICAgICAgaG9va3NfY2FsbGVkID0gVHJ1ZQorICAgICAg ICAgICAgIGZvciB0YWcgaW4gc2VsZi50YWdzOgorICAgICAgICAgICAgICAgICBydW5uZXIucnVu X2hvb2soImJlZm9yZV90YWciLCBydW5uZXIuY29udGV4dCwgdGFnKQorQEAgLTMzMiwxMCArMzMy LDEwIEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVw bGF5YWJsZSk6CisgICAgICAgICAgICAgIyAtLSBSRS1FVkFMVUFURSBTSE9VTEQtUlVOIFNUQVRF OgorICAgICAgICAgICAgICMgSG9vayBtYXkgY2FsbCBlbnRpdHkubWFya19za2lwcGVkKCkgdG8g ZXhjbHVkZSBpdC4KKyAgICAgICAgICAgICBza2lwX2VudGl0eV91bnRlc3RlZCA9IHNlbGYuaG9v a19mYWlsZWQgb3IgcnVubmVyLmFib3J0ZWQKKy0gICAgICAgICAgICBydW5fZW50aXR5ID0gc2Vs Zi5zaG91bGRfcnVuKCkKKysgICAgICAgICAgICBzaG91bGRfcnVuX2VudGl0eSA9IHNlbGYuc2hv dWxkX3J1bigpCisgCisgICAgICAgICAjIHJ1biB0aGlzIGVudGl0eSBpZiB0aGUgdGFncyBzYXkg c28gb3IgYW55IG9uZSBvZiBpdHMgc2NlbmFyaW9zCistICAgICAgICBpZiBydW5fZW50aXR5IG9y IHJ1bm5lci5jb25maWcuc2hvd19za2lwcGVkOgorKyAgICAgICAgaWYgc2hvdWxkX3J1bl9lbnRp dHkgb3IgcnVubmVyLmNvbmZpZy5zaG93X3NraXBwZWQ6CisgICAgICAgICAgICAgZm9yIGZvcm1h dHRlciBpbiBydW5uZXIuZm9ybWF0dGVyczoKKyAgICAgICAgICAgICAgICAgZm9ybWF0dGVyX2Nh bGxiYWNrID0gZ2V0YXR0cihmb3JtYXR0ZXIsIGVudGl0eV9uYW1lLCBOb25lKQorICAgICAgICAg ICAgICAgICBpZiBmb3JtYXR0ZXJfY2FsbGJhY2s6CitAQCAtMzYzLDcgKzM2Myw3IEBAIGNsYXNz IFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6Cisg ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAKKyAgICAgICAgIHNlbGYuY2xlYXJfc3Rh dHVzKCkgICMgLS0gRU5GT1JDRTogY29tcHV0ZV9zdGF0dXMoKSBhZnRlciBydW4uCistICAgICAg ICBpZiBub3Qgc2VsZi5ydW5faXRlbXMgYW5kIG5vdCBydW5fZW50aXR5OgorKyAgICAgICAgaWYg bm90IHNlbGYucnVuX2l0ZW1zIGFuZCBub3Qgc2hvdWxkX3J1bl9lbnRpdHk6CisgICAgICAgICAg ICAgIyAtLSBTUEVDSUFMIENBU0U6IEZlYXR1cmUgd2l0aG91dCBzY2VuYXJpb3MKKyAgICAgICAg ICAgICBzZWxmLnNldF9zdGF0dXMoU3RhdHVzLnNraXBwZWQpCisgCitAQCAtMzgyLDcgKzM4Miw3 IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5 YWJsZSk6CisgICAgICAgICAgICAgIyAtLSBDTEVBTlVQLUVSUk9SOgorICAgICAgICAgICAgIHNl bGYuc2V0X3N0YXR1cyhTdGF0dXMuZmFpbGVkKQorIAorLSAgICAgICAgaWYgcnVuX2VudGl0eSBv ciBydW5uZXIuY29uZmlnLnNob3dfc2tpcHBlZDoKKysgICAgICAgIGlmIHNob3VsZF9ydW5fZW50 aXR5IG9yIHJ1bm5lci5jb25maWcuc2hvd19za2lwcGVkOgorICAgICAgICAgICAgIGNhbGxiYWNr X25hbWUgPSAiezB9X2ZpbmlzaGVkIi5mb3JtYXQoZW50aXR5X25hbWUpCisgICAgICAgICAgICAg aWYgZW50aXR5X25hbWUgPT0gImZlYXR1cmUiOgorICAgICAgICAgICAgICAgICBjYWxsYmFja19u YW1lID0gImVvZiIKK0BAIC02MDgsNyArNjA4LDYgQEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRh aW5lcik6CisgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisgICAgIC4uIF9gZmVhdHVyZWA6 IGdoZXJraW4uaHRtbCNydWxlCisgICAgICIiIgorLQorICAgICB0eXBlID0gInJ1bGUiCisgCisg ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbGluZSwga2V5d29yZCwgbmFtZSwgdGFn cz1Ob25lLAorQEAgLTYyNSw3ICs2MjQsNiBAQCBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFpbmVy KToKKyAgICAgICAgICAgICAoc2VsZi5uYW1lLCBsZW4oc2VsZi5zY2VuYXJpb3MpKQorIAorIAor LQorIGNsYXNzIEJhY2tncm91bmQoQmFzaWNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAi IiJBIGBiYWNrZ3JvdW5kYF8gcGFyc2VkIGZyb20gYSAqZmVhdHVyZSBmaWxlKi4KKyAKZGlmZiAt LWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMDctQlVNUC1WRVJTSU9OLTEuMi43LmRldjEtd2FzLTEuMi43LmRldjAucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA3LUJVTVAt VkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uMmU3YjhjNDNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNy1CVU1QLVZF UlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2MC5wYXRjaApAQCAtMCwwICsxLDY3IEBACitG cm9tIGExODgxZmE1ZTRkOWZlMjQ5M2I5YWQ1OGM4NTc4MDBkZWM1OThiZDAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IFdlZCwgMTMgTWFyIDIwMTkgMjM6MTE6NTAgKzAxMDAKK1N1YmplY3Q6IFtQ QVRDSF0gQlVNUC1WRVJTSU9OOiAxLjIuNy5kZXYxICh3YXM6IDEuMi43LmRldjApCisKKy0tLQor IC5idW1wdmVyc2lvbi5jZmcgICB8IDIgKy0KKyBWRVJTSU9OLnR4dCAgICAgICAgfCAyICstCisg YmVoYXZlL19faW5pdF9fLnB5IHwgMiArLQorIHB5dGVzdC5pbmkgICAgICAgICB8IDIgKy0KKyBz ZXR1cC5weSAgICAgICAgICAgfCAyICstCisgNSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS8uYnVtcHZlcnNpb24uY2ZnIGIvLmJ1 bXB2ZXJzaW9uLmNmZworaW5kZXggZjM4N2Q0My4uYWM5MTNjMiAxMDA2NDQKKy0tLSBhLy5idW1w dmVyc2lvbi5jZmcKKysrKyBiLy5idW1wdmVyc2lvbi5jZmcKK0BAIC0xLDUgKzEsNSBAQAorIFti dW1wdmVyc2lvbl0KKy1jdXJyZW50X3ZlcnNpb24gPSAxLjIuNy5kZXYwCisrY3VycmVudF92ZXJz aW9uID0gMS4yLjcuZGV2MQorIGZpbGVzID0gYmVoYXZlL19faW5pdF9fLnB5IHNldHVwLnB5IFZF UlNJT04udHh0IHB5dGVzdC5pbmkgLmJ1bXB2ZXJzaW9uLmNmZworIHBhcnNlID0gKD9QPG1ham9y PlxkKylcLig/UDxtaW5vcj5cZCspXC4oP1A8cGF0Y2g+XGQrKSg/UDxkcm9wPlx3KikKKyBzZXJp YWxpemUgPSB7bWFqb3J9LnttaW5vcn0ue3BhdGNofXtkcm9wfQorZGlmZiAtLWdpdCBhL1ZFUlNJ T04udHh0IGIvVkVSU0lPTi50eHQKK2luZGV4IDRlNjNlZWYuLmMwZWYzNmIgMTAwNjQ0CistLS0g YS9WRVJTSU9OLnR4dAorKysrIGIvVkVSU0lPTi50eHQKK0BAIC0xICsxIEBACistMS4yLjcuZGV2 MAorKzEuMi43LmRldjEKK2RpZmYgLS1naXQgYS9iZWhhdmUvX19pbml0X18ucHkgYi9iZWhhdmUv X19pbml0X18ucHkKK2luZGV4IDg4ODgzNTUuLjMxZTRlNTUgMTAwNjQ0CistLS0gYS9iZWhhdmUv X19pbml0X18ucHkKKysrKyBiL2JlaGF2ZS9fX2luaXRfXy5weQorQEAgLTI5LDQgKzI5LDQgQEAg X19hbGxfXyA9IFsKKyAgICAgIyAtLSBERVBSRUNBVElORzoKKyAgICAgInN0ZXBfbWF0Y2hlciIK KyBdCistX192ZXJzaW9uX18gPSAiMS4yLjcuZGV2MCIKKytfX3ZlcnNpb25fXyA9ICIxLjIuNy5k ZXYxIgorZGlmZiAtLWdpdCBhL3B5dGVzdC5pbmkgYi9weXRlc3QuaW5pCitpbmRleCA3MGUxMGNk Li4xN2FkMzg4IDEwMDY0NAorLS0tIGEvcHl0ZXN0LmluaQorKysrIGIvcHl0ZXN0LmluaQorQEAg LTIwLDcgKzIwLDcgQEAgbWludmVyc2lvbiAgICA9IDIuOAorIHRlc3RwYXRocyAgICAgPSB0ZXN0 IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRlc3RfKi5weQorIGFkZG9wdHMgPSAtLW1ldGFkYXRh IFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKKy0gICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJ T04gMS4yLjcuZGV2MAorKyAgICAtLW1ldGFkYXRhIFBBQ0tBR0VfVkVSU0lPTiAxLjIuNy5kZXYx CisgICAgIC0taHRtbD1idWlsZC90ZXN0aW5nL3JlcG9ydC5odG1sIC0tc2VsZi1jb250YWluZWQt aHRtbAorICAgICAtLWp1bml0LXhtbD1idWlsZC90ZXN0aW5nL3JlcG9ydC54bWwKKyBtYXJrZXJz ID0KK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBjYjNiMzM4Li5jNWFm MjYyIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNTUsNyArNTUs NyBAQCBkZWYgZmluZF9wYWNrYWdlc19ieV9yb290X3BhY2thZ2Uod2hlcmUpOgorICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyBzZXR1cCgKKyAgICAgbmFtZT0iYmVoYXZlIiwKKy0gICAgdmVyc2lv bj0iMS4yLjcuZGV2MCIsCisrICAgIHZlcnNpb249IjEuMi43LmRldjEiLAorICAgICBkZXNjcmlw dGlvbj0iYmVoYXZlIGlzIGJlaGF2aW91ci1kcml2ZW4gZGV2ZWxvcG1lbnQsIFB5dGhvbiBzdHls ZSIsCisgICAgIGxvbmdfZGVzY3JpcHRpb249ZGVzY3JpcHRpb24sCisgICAgIGF1dGhvcj0iSmVu cyBFbmdlbCwgQmVubm8gUmljZSBhbmQgUmljaGFyZCBKb25lcyIsCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA4LUNvcnJl Y3QtZXhhbXBsZXMtYW5kLWRvY3N0cmluZy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9j c3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uODE3OTg3 OWFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAwOC1Db3JyZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcucGF0 Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBmZjIzZGFkYjMyMzg5NTE4OTcyZjc3NzZkOGU3ZWEz ZmU5MTAyMjU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5IDIyOjE0 OjU0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIENvcnJlY3QgZXhhbXBsZXMgYW5kIGRvY3N0cmlu ZworCistLS0KKyBiZWhhdmUvY29udHJpYi9zY2VuYXJpb19hdXRvcmV0cnkucHkgfCAyICstCisg YmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5ICAgICAgICAgICAgIHwgMyArKy0KKyAyIGZpbGVzIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Jl aGF2ZS9jb250cmliL3NjZW5hcmlvX2F1dG9yZXRyeS5weSBiL2JlaGF2ZS9jb250cmliL3NjZW5h cmlvX2F1dG9yZXRyeS5weQoraW5kZXggMmI3Zjk0Zi4uMjU5MmQxMCAxMDA2NDQKKy0tLSBhL2Jl aGF2ZS9jb250cmliL3NjZW5hcmlvX2F1dG9yZXRyeS5weQorKysrIGIvYmVoYXZlL2NvbnRyaWIv c2NlbmFyaW9fYXV0b3JldHJ5LnB5CitAQCAtMjQsNyArMjQsNyBAQCBFWEFNUExFOgorICAgICBm cm9tIGJlaGF2ZS5jb250cmliLnNjZW5hcmlvX2F1dG9yZXRyeSBpbXBvcnQgcGF0Y2hfc2NlbmFy aW9fd2l0aF9hdXRvcmV0cnkKKyAKKyAgICAgZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZl YXR1cmUpOgorLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1cmUuc2NlbmFyaW9zOgorKyAg ICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1cmUud2Fsa19zY2VuYXJpb3MoKToKKyAgICAgICAg ICAgICBpZiAiYXV0b3JldHJ5IiBpbiBzY2VuYXJpby5lZmZlY3RpdmVfdGFnczoKKyAgICAgICAg ICAgICAgICAgcGF0Y2hfc2NlbmFyaW9fd2l0aF9hdXRvcmV0cnkoc2NlbmFyaW8sIG1heF9hdHRl bXB0cz0yKQorIAorZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weSBiL2JlaGF2 ZS9mb3JtYXR0ZXIvYmFzZS5weQoraW5kZXggYThiOWY3Yy4uN2Y1OWFkNCAxMDA2NDQKKy0tLSBh L2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5 CitAQCAtNzQsMTEgKzc0LDEyIEBAIGNsYXNzIEZvcm1hdHRlcihvYmplY3QpOgorIAorICAgICBQ cm9jZXNzaW5nIExvZ2ljIChzaW1wbGlmaWVkLCB3aXRob3V0IFNjZW5hcmlvT3V0bGluZSBhbmQg c2tpcCBsb2dpYyk6OgorIAorKyAgICAgICAgIyAtLSBISU5UOiBSdWxlIHByb2Nlc3NpbmcgaXMg bWlzc2luZy4KKyAgICAgICAgIGZvciBmZWF0dXJlIGluIHJ1bm5lci5mZWF0dXJlczoKKyAgICAg ICAgICAgICBmb3JtYXR0ZXIgPSBtYWtlX2Zvcm1hdHRlcnMoLi4uKQorICAgICAgICAgICAgIGZv cm1hdHRlci51cmkoZmVhdHVyZS5maWxlbmFtZSkKKyAgICAgICAgICAgICBmb3JtYXR0ZXIuZmVh dHVyZShmZWF0dXJlKQorLSAgICAgICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlLnNjZW5h cmlvczoKKysgICAgICAgICAgICBmb3Igc2NlbmFyaW8gaW4gZmVhdHVyZS53YWxrX3NjZW5hcmlv cygpOgorICAgICAgICAgICAgICAgICBmb3JtYXR0ZXIuc2NlbmFyaW8oc2NlbmFyaW8pCisgICAg ICAgICAgICAgICAgIGZvciBzdGVwIGluIHNjZW5hcmlvLmFsbF9zdGVwczoKKyAgICAgICAgICAg ICAgICAgICAgIGZvcm1hdHRlci5zdGVwKHN0ZXApCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA5LUZJWC1mZWF0dXJlLnJ1 bl9pdGVtcy1wcm9jZXNzaW5nLXdpdGgtUnVsZS1zLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOS1GSVgtZmVhdHVyZS5ydW5faXRl bXMtcHJvY2Vzc2luZy13aXRoLVJ1bGUtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjczOWRiMGZjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDktRklYLWZlYXR1cmUucnVu X2l0ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxlLXMucGF0Y2gKQEAgLTAsMCArMSw1OCBAQAorRnJv bSAzNmRiNjI2NDU1NWMxYjRhOWU3MDczMzNjZjJhODVlZmJiMjdmZGQ3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5IDIyOjE1OjM0ICswMTAwCitTdWJqZWN0OiBbUEFU Q0hdIEZJWDogZmVhdHVyZS5ydW5faXRlbXMgcHJvY2Vzc2luZyB3aXRoIFJ1bGUocykuCisKKy0t LQorIGJlaGF2ZS9yZXBvcnRlci9qdW5pdC5weSB8IDI0ICsrKysrKysrKysrKysrKystLS0tLS0t LQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvYmVoYXZlL3JlcG9ydGVyL2p1bml0LnB5IGIvYmVoYXZlL3JlcG9ydGVyL2p1 bml0LnB5CitpbmRleCA0OGUxNDExLi45MDE4Mzk5IDEwMDY0NAorLS0tIGEvYmVoYXZlL3JlcG9y dGVyL2p1bml0LnB5CisrKysgYi9iZWhhdmUvcmVwb3J0ZXIvanVuaXQucHkKK0BAIC03NSw3ICs3 NSw3IEBAIGltcG9ydCBjb2RlY3MKKyBmcm9tIHhtbC5ldHJlZSBpbXBvcnQgRWxlbWVudFRyZWUK KyBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQorIGZyb20gYmVoYXZlLnJlcG9ydGVyLmJh c2UgaW1wb3J0IFJlcG9ydGVyCistZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFNjZW5hcmlvLCBT Y2VuYXJpb091dGxpbmUsIFN0ZXAKKytmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgUnVsZSwgU2Nl bmFyaW8sIFNjZW5hcmlvT3V0bGluZSwgU3RlcAorIGZyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1w b3J0IFN0YXR1cworIGZyb20gYmVoYXZlLmZvcm1hdHRlciBpbXBvcnQgYW5zaV9lc2NhcGVzCisg ZnJvbSBiZWhhdmUubW9kZWxfZGVzY3JpYmUgaW1wb3J0IE1vZGVsRGVzY3JpcHRvcgorQEAgLTIz NiwxMyArMjM2LDggQEAgY2xhc3MgSlVuaXRSZXBvcnRlcihSZXBvcnRlcik6CisgICAgICAgICBm ZWF0dXJlX25hbWUgPSBmZWF0dXJlLm5hbWUgb3IgZmVhdHVyZV9maWxlbmFtZQorICAgICAgICAg c3VpdGUuc2V0KHUnbmFtZScsIHUnJXMuJXMnICUgKGNsYXNzbmFtZSwgZmVhdHVyZV9uYW1lKSkK KyAKKy0gICAgICAgICMgLS0gQlVJTEQtVEVTVENBU0VTOiBGcm9tIHNjZW5hcmlvcworLSAgICAg ICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1cmU6CistICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShz Y2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lKToKKy0gICAgICAgICAgICAgICAgc2NlbmFyaW9fb3V0 bGluZSA9IHNjZW5hcmlvCistICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Nfc2NlbmFyaW9f b3V0bGluZShzY2VuYXJpb19vdXRsaW5lLCByZXBvcnQpCistICAgICAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc19zY2VuYXJpbyhzY2VuYXJpbywgcmVwb3J0KQor KyAgICAgICAgIyAtLSBCVUlMRC1URVNUQ0FTRVM6IEZyb20gcnVuX2l0ZW1zIChhbmQgc2NlbmFy aW9zKQorKyAgICAgICAgc2VsZi5fcHJvY2Vzc19ydW5faXRlbXNfZm9yKGZlYXR1cmUsIHJlcG9y dCkKKyAKKyAgICAgICAgICMgLS0gQUREIFRFU1RDQVNFUyB0byB0ZXN0c3VpdGU6CisgICAgICAg ICBmb3IgdGVzdGNhc2UgaW4gcmVwb3J0LnRlc3RjYXNlczoKK0BAIC00NTcsNiArNDUyLDE5IEBA IGNsYXNzIEpVbml0UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAgaWYgc2NlbmFyaW8uc3Rh dHVzICE9IFN0YXR1cy5za2lwcGVkIG9yIHNlbGYuc2hvd19za2lwcGVkOgorICAgICAgICAgICAg IHJlcG9ydC50ZXN0Y2FzZXMuYXBwZW5kKGNhc2UpCisgCisrICAgIGRlZiBfcHJvY2Vzc19ydW5f aXRlbXNfZm9yKHNlbGYsIHBhcmVudCwgcmVwb3J0KToKKysgICAgICAgIGZvciBydW5faXRlbSBp biBwYXJlbnQucnVuX2l0ZW1zOgorKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0s IFJ1bGUpOgorKyAgICAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzX3J1bGUocnVuX2l0ZW0sIHJl cG9ydCkKKysgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0 bGluZSk6CisrICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Nfc2NlbmFyaW9fb3V0bGluZShy dW5faXRlbSwgcmVwb3J0KQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIGFz c2VydCBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpbykKKysgICAgICAgICAgICAgICAgc2Vs Zi5fcHJvY2Vzc19zY2VuYXJpbyhydW5faXRlbSwgcmVwb3J0KQorKworKyAgICBkZWYgX3Byb2Nl c3NfcnVsZShzZWxmLCBydWxlLCByZXBvcnQpOgorKyAgICAgICAgc2VsZi5fcHJvY2Vzc19ydW5f aXRlbXNfZm9yKHJ1bGUsIHJlcG9ydCkKKysKKyAgICAgZGVmIF9wcm9jZXNzX3NjZW5hcmlvX291 dGxpbmUoc2VsZiwgc2NlbmFyaW9fb3V0bGluZSwgcmVwb3J0KToKKyAgICAgICAgIGFzc2VydCBp c2luc3RhbmNlKHNjZW5hcmlvX291dGxpbmUsIFNjZW5hcmlvT3V0bGluZSkKKyAgICAgICAgIGZv ciBzY2VuYXJpbyBpbiBzY2VuYXJpb19vdXRsaW5lOgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMC1kb2NzLURpc2FibGUt c3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVBRFRIRURPQ1MucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDEwLWRvY3MtRGlzYWJsZS1z cGhpbngtaW50bC1zdXBwb3J0LWZvci1SRUFEVEhFRE9DUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmQwZGQ5MjI1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTAtZG9jcy1E aXNhYmxlLXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJFQURUSEVET0NTLnBhdGNoCkBAIC0wLDAg KzEsNTggQEAKK0Zyb20gZjIwNDIzMjY0NGZkY2E4NDEyOTJmNjE4YTc4YzU2MDVjYzViOWFjZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAyNiBNYXkgMjAxOSAxNDo0MDozOCArMDIwMAor U3ViamVjdDogW1BBVENIXSBkb2NzOiBEaXNhYmxlIHNwaGlueC1pbnRsIHN1cHBvcnQgZm9yIFJF QURUSEVET0NTLgorCistLS0KKyBkb2NzL2NvbmYucHkgfCAxNyArKysrKysrKysrKysrLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvZG9jcy9jb25mLnB5IGIvZG9jcy9jb25mLnB5CitpbmRleCBkMzhkYjdhLi5mOWRm YjZhIDEwMDY0NAorLS0tIGEvZG9jcy9jb25mLnB5CisrKysgYi9kb2NzL2NvbmYucHkKK0BAIC0z LDYgKzMsNyBAQAorICMgU1BISU5YIENPTkZJR1VSQVRJT046IGJlaGF2ZSBkb2N1bWVudGF0aW9u IGJ1aWxkIGNvbmZpZ3VyYXRpb24gZmlsZQorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKytm cm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IG9zLnBhdGgKKyBp bXBvcnQgc3lzCisgaW1wb3J0IGltcG9ydGxpYgorQEAgLTEzLDYgKzE0LDEzIEBAIGltcG9ydCBp bXBvcnRsaWIKKyAjIGRvY3VtZW50YXRpb24gcm9vdCwgdXNlIG9zLnBhdGguYWJzcGF0aCB0byBt YWtlIGl0IGFic29sdXRlLCBsaWtlIHNob3duIGhlcmUuCisgc3lzLnBhdGguaW5zZXJ0KDAsIG9z LnBhdGguYWJzcGF0aCgiLi4iKSkKKyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgREVU RUNUIEJVSUxEIENPTlRFWFQKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK09OX1JFQURUSEVE T0NTID0gb3MuZW52aXJvbi5nZXQoIlJFQURUSEVET0NTIiwgTm9uZSkgPT0gIlRydWUiCisrVVNF X1NQSElOWF9JTlRFUk5BVElPTkFMID0gbm90IE9OX1JFQURUSEVET0NTCisrCisrCisgIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAjIEVYVEVOU0lPTlMgQ09ORklHVVJBVElPTgorICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCitAQCAtODIsOCArOTAsMTAgQEAgbWFzdGVyX2RvYyA9ICJpbmRleCIK KyAjIC0tIE1VTFRJLUxBTkdVQUdFIFNVUFBPUlQ6IGVuLCAuLi4KKyAjIFNFRTogaHR0cHM6Ly9w eXBpLm9yZy9wcm9qZWN0L3NwaGlueC1pbnRsLworICMgU0VFOiBodHRwczovL2dpdGh1Yi5jb20v c3BoaW54LWRvYy9zcGhpbngtaW50bC8KKy1sb2NhbGVfZGlycyA9IFsibG9jYWxlLyJdICAgIyBw YXRoIGlzIGV4YW1wbGUgYnV0IHJlY29tbWVuZGVkLgorLWdldHRleHRfY29tcGFjdCA9IEZhbHNl ICAgICAjIG9wdGlvbmFsLgorK2lmIFVTRV9TUEhJTlhfSU5URVJOQVRJT05BTDoKKysgICAgbG9j YWxlX2RpcnMgPSBbImxvY2FsZS8iXSAgICMgcGF0aCBpcyBleGFtcGxlIGJ1dCByZWNvbW1lbmRl ZC4KKysgICAgZ2V0dGV4dF9jb21wYWN0ID0gRmFsc2UgICAgICMgb3B0aW9uYWwuCisrICAgIHBy aW50KCJVU0UgU1BISU5YLUlOVEw6IGxvY2FsZV9kaXJzPSVzIiAlICIsIi5qb2luKGxvY2FsZV9k aXJzKSkKKyAKKyAjIFNURVBTOgorICMgICBtYWtlIGdldHRleHQKK0BAIC0xNTUsOCArMTY1LDcg QEAgdG9kb19pbmNsdWRlX3RvZG9zID0gRmFsc2UKKyBodG1sX3RoZW1lID0gImtyIgorIGh0bWxf dGhlbWUgPSAiYm9vdHN0cmFwIgorIAorLW9uX3J0ZCA9IG9zLmVudmlyb24uZ2V0KCJSRUFEVEhF RE9DUyIsIE5vbmUpID09ICJUcnVlIgorLWlmIG9uX3J0ZDoKKytpZiBPTl9SRUFEVEhFRE9DUzoK KyAgICAgaHRtbF90aGVtZSA9ICJkZWZhdWx0IgorIAorIGlmIGh0bWxfdGhlbWUgPT0gImJvb3Rz dHJhcCI6CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDExLUNsZWFudXAtRGVwZW5kZW50LXBhY2thZ2UtdmVyc2lvbnMtaW4t cmVxdWlyZW1lbnRzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAxMS1DbGVhbnVwLURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25zLWlu LXJlcXVpcmVtZW50cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmJkODAxNTE5MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTEtQ2xlYW51cC1EZXBlbmRlbnQtcGFja2FnZS12 ZXJzaW9ucy1pbi1yZXF1aXJlbWVudHMucGF0Y2gKQEAgLTAsMCArMSw4MSBAQAorRnJvbSBmNTk5 MjhhNWVmNzc1N2I5YTYzOTRkMzMwMDU5NzNjMGJmYThiNmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBUaHUsIDE4IEFwciAyMDE5IDE5OjAyOjQzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENs ZWFudXA6IERlcGVuZGVudCBwYWNrYWdlIHZlcnNpb25zIGluIHJlcXVpcmVtZW50cy4KKworLS0t CisgcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCAgIHwgMiArLQorIHB5LnJlcXVpcmVtZW50cy9k ZXZlbG9wLnR4dCB8IDQgKystLQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCB8IDIgKy0K KyBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0tLQorIDQgZmlsZXMgY2hhbmdl ZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVx dWlyZW1lbnRzL2Jhc2ljLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKK2luZGV4IDll ZWJjYWQuLjNiNzFiZmIgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0Cisr KysgYi9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CitAQCAtMTEsNyArMTEsNyBAQAorIGN1Y3Vt YmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMQorIHBhcnNlID49IDEuOC4yCisgcGFyc2VfdHlw ZSA+PSAwLjQuMgorLXNpeCA+PSAxLjExLjAKKytzaXggPj0gMS4xMi4wCisgCisgdHJhY2ViYWNr MjsgIHB5dGhvbl92ZXJzaW9uIDwgJzMuMCcKKyBjb250ZXh0bGliMiAgICAgIyBNQVlCRTogcHl0 aG9uX3ZlcnNpb24gPCAnMy41JworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9w LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAoraW5kZXggYzU1ZDNjZC4uM2RlZWRj NyAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVx dWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAtNSw4ICs1LDggQEAKKyAjIC0tIEJVSUxELVRPT0w6 CisgIyBQUkVQQVJFIFVTQUdFOiBpbnZva2UKKyAjIEFMUkVBRFk6IHNpeCA+PSAxLjExLjAKKy1p bnZva2UgPj0gMC4yMS4wCistcGF0aC5weSA+PSAxMC4xCisraW52b2tlID49IDEuMi4wCisrcGF0 aC5weSA+PSAxMS41LjAKKyBwYXRobGliOyAgICBweXRob25fdmVyc2lvbiA8PSAnMy40JworIHB5 Y21kCisgCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IGIvcHkucmVx dWlyZW1lbnRzL3Rlc3RpbmcudHh0CitpbmRleCA1ODc2ZTI5Li4zODA2ZDM5IDEwMDY0NAorLS0t IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvdGVz dGluZy50eHQKK0BAIC0xMiw0ICsxMiw0IEBAIFB5SGFtY3Jlc3QgPj0gMS45CisgCisgIyAtLSBO RUVERUQ6IEJ5IHNvbWUgdGVzdHMgKGFzIHByb29mIG9mIGNvbmNlcHQpCisgIyBOT1RFOiBwYXRo LnB5LTEwLjEgaXMgcmVxdWlyZWQgZm9yIHB5dGhvbjIuNgorLXBhdGgucHkgPj0gMTAuMQorK3Bh dGgucHkgPj0gMTEuNS4wCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXgg YzVhZjI2Mi4uYWM3YmRkZiAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQor QEAgLTc5LDcgKzc5LDcgQEAgc2V0dXAoCisgICAgICAgICAiY3VjdW1iZXItdGFnLWV4cHJlc3Np b25zID49IDEuMS4xIiwKKyAgICAgICAgICJwYXJzZSA+PSAxLjguMiIsCisgICAgICAgICAicGFy c2VfdHlwZSA+PSAwLjQuMiIsCistICAgICAgICAic2l4ID49IDEuMTEuMCIsCisrICAgICAgICAi c2l4ID49IDEuMTIuMCIsCisgICAgICAgICAidHJhY2ViYWNrMjsgcHl0aG9uX3ZlcnNpb24gPCAn My4wJyIsCisgICAgICAgICAiZW51bTM0OyBweXRob25fdmVyc2lvbiA8ICczLjQnIiwKKyAgICAg ICAgICMgLS0gUFJFUEFSRUQ6CitAQCAtOTMsNyArOTMsNyBAQCBzZXR1cCgKKyAgICAgICAgICJu b3NlID49IDEuMyIsCisgICAgICAgICAibW9jayA+PSAxLjEiLAorICAgICAgICAgIlB5SGFtY3Jl c3QgPj0gMS44IiwKKy0gICAgICAgICJwYXRoLnB5ID49IDEwLjEiCisrICAgICAgICAicGF0aC5w eSA+PSAxMS41LjAiCisgICAgIF0sCisgICAgIGNtZGNsYXNzID0geworICAgICAgICAgImJlaGF2 ZV90ZXN0IjogYmVoYXZlX3Rlc3QsCitAQCAtMTEwLDcgKzExMCw3IEBAIHNldHVwKAorICAgICAg ICAgICAgICJweXRlc3QtY292IiwKKyAgICAgICAgICAgICAidG94IiwKKyAgICAgICAgICAgICAi aW52b2tlID49IDEuMi4wIiwKKy0gICAgICAgICAgICAicGF0aC5weSA+PSAxMC4xIiwKKysgICAg ICAgICAgICAicGF0aC5weSA+PSAxMS41LjAiLAorICAgICAgICAgICAgICJweWNtZCIsCisgICAg ICAgICAgICAgInBhdGhsaWI7IHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnIiwKKyAgICAgICAgICAg ICAibW9kZXJuaXplID49IDAuNSIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5iZThmZWQ2YjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDEyLWRvY3MtY29uZi5weS10d2Vh a3MucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBlMjY2NmRiODM3Y2FiNDQyNDk4NGM0NDU0 ODNmYzZmYTMwZGMwYWNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDI2IE1heSAyMDE5 IDE0OjU1OjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvY3M6IGNvbmYucHkgdHdlYWtzLgor CistLS0KKyBkb2NzL2NvbmYucHkgfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2RvY3Mv Y29uZi5weQoraW5kZXggZjlkZmI2YS4uZjdjMmMyNCAxMDA2NDQKKy0tLSBhL2RvY3MvY29uZi5w eQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAtMTgsNyArMTgsNyBAQCBzeXMucGF0aC5pbnNlcnQo MCwgb3MucGF0aC5hYnNwYXRoKCIuLiIpKQorICMgREVURUNUIEJVSUxEIENPTlRFWFQKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIE9OX1JFQURUSEVET0NTID0gb3MuZW52aXJvbi5nZXQoIlJF QURUSEVET0NTIiwgTm9uZSkgPT0gIlRydWUiCistVVNFX1NQSElOWF9JTlRFUk5BVElPTkFMID0g bm90IE9OX1JFQURUSEVET0NTCisrVVNFX1NQSElOWF9JTlRFUk5BVElPTkFMID0gVHJ1ZQorIAor IAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTY0LDcgKzE2NCw2IEBAIHRvZG9faW5j bHVkZV90b2RvcyA9IEZhbHNlCisgIyBhIGxpc3Qgb2YgYnVpbHRpbiB0aGVtZXMuCisgaHRtbF90 aGVtZSA9ICJrciIKKyBodG1sX3RoZW1lID0gImJvb3RzdHJhcCIKKy0KKyBpZiBPTl9SRUFEVEhF RE9DUzoKKyAgICAgaHRtbF90aGVtZSA9ICJkZWZhdWx0IgorIApkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgtTWlz c3BlbGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgtTWlzc3Bl bGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWYwMzhkMzkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMy1GSVgt TWlzc3BlbGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2FmdGVyLnBhdGNoCkBAIC0wLDAg KzEsMzAgQEAKK0Zyb20gMDdmN2ZiNTNiOGFkZWRiZWY3M2ZlOGQxNTVmYWZjY2I1OWI1ZGY5OSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA4IEp1biAyMDE5IDIwOjExOjIzICswMjAwCitT dWJqZWN0OiBbUEFUQ0hdIEZJWDogTWlzc3BlbGxlZCBhZnRlcl9ydWxlIGhvb2sgKHdhczogYWZ0 ZXJfYWZ0ZXIpCisKKy0tLQorIGRvY3MvY29udGV4dF9hdHRyaWJ1dGVzLnJzdCB8IDMgKystCisg MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvZG9jcy9jb250ZXh0X2F0dHJpYnV0ZXMucnN0IGIvZG9jcy9jb250ZXh0X2F0dHJpYnV0 ZXMucnN0CitpbmRleCBhNDgxN2QxLi4xNjM2NjRiIDEwMDY0NAorLS0tIGEvZG9jcy9jb250ZXh0 X2F0dHJpYnV0ZXMucnN0CisrKysgYi9kb2NzL2NvbnRleHRfYXR0cmlidXRlcy5yc3QKK0BAIC0y Myw2ICsyMyw3IEBAIGNvbmZpZyAgICAgICAgICB0ZXN0IHJ1biAgOmNsYXNzOmB+YmVoYXZlLmNv bmZpZ3VyYXRpb24uQ29uZmlndXJhdGlvbmAgIENvbmZpZ3VyCisgYWJvcnRlZCAgICAgICAgIHRl c3QgcnVuICBib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0 IHRvIHRydWUgaWYgdGVzdCBydW4gaXMgYWJvcnRlZCBieSB0aGUgdXNlci4KKyBmYWlsZWQgICAg ICAgICAgdGVzdCBydW4gIGJvb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTZXQgdG8gdHJ1ZSBpZiBhIHN0ZXAgZmFpbHMuCisgZmVhdHVyZSAgICAgICAgIGZlYXR1 cmUgICA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuRmVhdHVyZWAgICAgICAgICAgICAgICAgQ3VycmVu dCBmZWF0dXJlLgorK3J1bGUgICAgICAgICAgICBydWxlICAgICAgOmNsYXNzOmB+YmVoYXZlLm1v ZGVsLkZlYXR1cmVgICAgICAgICAgICAgICAgIEN1cnJlbnQgcnVsZS4KKyB0YWdzICAgICAgICAg ICAgZmVhdHVyZSwgIGxpc3Q8OmNsYXNzOmB+YmVoYXZlLm1vZGVsLlRhZ2A+ICAgICAgICAgICAg ICBFZmZlY3RpdmUgdGFncyBvZiBjdXJyZW50IGZlYXR1cmUsIHJ1bGUsIHNjZW5hcmlvLCBzY2Vu YXJpbyBvdXRsaW5lLgorICAgICAgICAgICAgICAgICBydWxlLAorICAgICAgICAgICAgICAgICBz Y2VuYXJpbworQEAgLTYyLDcgKzYzLDcgQEAgSG9vayAgICA6ZnVuYzpgYWZ0ZXJfdGFnc2AgICAg ICAgICAgZmVhdHVyZSwgcnVsZSBvciBzY2VuYXJpbworIEhvb2sgICAgOmZ1bmM6YGJlZm9yZV9m ZWF0dXJlYCAgICAgIGZlYXR1cmUKKyBIb29rICAgIDpmdW5jOmBhZnRlcl9mZWF0dXJlYCAgICAg ICBmZWF0dXJlCisgSG9vayAgICA6ZnVuYzpgYmVmb3JlX3J1bGVgICAgICAgICAgcnVsZQorLUhv b2sgICAgOmZ1bmM6YGFmdGVyX2FmdGVyYCAgICAgICAgIHJ1bGUKKytIb29rICAgIDpmdW5jOmBh ZnRlcl9ydWxlYCAgICAgICAgICBydWxlCisgSG9vayAgICA6ZnVuYzpgYmVmb3JlX3NjZW5hcmlv YCAgICAgc2NlbmFyaW8KKyBIb29rICAgIDpmdW5jOmBhZnRlcl9zY2VuYXJpb2AgICAgICBzY2Vu YXJpbworIEhvb2sgICAgOmZ1bmM6YGJlZm9yZV9zdGVwYCAgICAgICAgIHNjZW5hcmlvCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDE0LUFkZC1oaW50cy1vbi1HaGVya2luLXY2LWdyYW1tYXItaXNzdWVzLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNC1BZGQt aGludHMtb24tR2hlcmtpbi12Ni1ncmFtbWFyLWlzc3Vlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjI0Njg3YmM4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTQtQWRkLWhp bnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1hci1pc3N1ZXMucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAor RnJvbSBhNDE5ODUwOGM1NzAxZjUxMzI0Mjc4Yjc0YjVmNzVjNTNjZDViYjg0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBTYXQsIDggSnVuIDIwMTkgMjA6MTI6MjMgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSF0gQWRkIGhpbnRzIG9uIEdoZXJraW4gdjYgZ3JhbW1hciBpc3N1ZXMuCisKKy0tLQorIGRv Y3MvY29uZi5weSAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrKy0KKyBkb2NzL25ld19hbmRf bm90ZXdvcnRoeV92MS4yLjcucnN0IHwgOCArKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTEg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9jb25mLnB5 IGIvZG9jcy9jb25mLnB5CitpbmRleCBmN2MyYzI0Li5lNTVmYjIxIDEwMDY0NAorLS0tIGEvZG9j cy9jb25mLnB5CisrKysgYi9kb2NzL2NvbmYucHkKK0BAIC01NCw5ICs1NCwxMSBAQCBmb3Igb3B0 aW9uYWxfbW9kdWxlX25hbWUgaW4gb3B0aW9uYWxfZXh0ZW5zaW9uczoKKyBleHRsaW5rcyA9IHsK KyAgICAgInB5cGkiOiAoImh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC8lcyIsICIiKSwKKyAgICAg ImdpdGh1YiI6ICgiaHR0cHM6Ly9naXRodWIuY29tLyVzIiwgImdpdGh1YjovIiksCistICAgICJp c3N1ZSI6ICAoImh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlL2lzc3VlLyVzIiwgImlz c3VlICMiKSwKKysgICAgImlzc3VlIjogICgiaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhh dmUvaXNzdWVzLyVzIiwgImlzc3VlICMiKSwKKyAgICAgInlvdXR1YmUiOiAoImh0dHBzOi8vd3d3 LnlvdXR1YmUuY29tL3dhdGNoP3Y9JXMiLCAieW91dHViZTp2aWRlbz0iKSwKKyAgICAgImJlaGF2 ZSI6ICgiaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUiLCBOb25lKSwKKysgICAgImN1 Y3VtYmVyIjogKCJodHRwczovL2dpdGh1Yi5jb20vY3VjdW1iZXIvY3VjdW1iZXIvIiwgTm9uZSks CisrICAgICJjdWN1bWJlci5pc3N1ZSI6ICgiaHR0cHM6Ly9naXRodWIuY29tL2N1Y3VtYmVyL2N1 Y3VtYmVyL2lzc3Vlcy8lcyIsICJpc3N1ZSAjIiksCisgfQorIAorIGludGVyc3BoaW54X21hcHBp bmcgPSB7CitkaWZmIC0tZ2l0IGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdCBi L2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKK2luZGV4IDQ1MWVkOGMuLjgwZDk1 NzYgMTAwNjQ0CistLS0gYS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CisrKysg Yi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CitAQCAtOTIsNSArOTIsMTMgQEAg T3ZlcnZpZXcgb2YgdGhlIGBFeGFtcGxlIE1hcHBpbmdgXyBjb25jZXB0czoKKyAgICAgKiBodHRw czovL2xpc2FjcmlzcGluLmNvbS8yMDE2LzA2LzAyL2V4cGVyaW1lbnQtZXhhbXBsZS1tYXBwaW5n LworICAgICAqIGh0dHBzOi8vdG9ieXRoZXRlc3RlcmJsb2cud29yZHByZXNzLmNvbS8yMDE2LzA1 LzI1L2hvdy10by1kby1leGFtcGxlLW1hcHBpbmcvCisgCisrLi4gaGludDo6ICoqR2hlcmtpbiB2 NiBHcmFtbWFyIElzc3VlcyoqCisrCisrICAgICogOmN1Y3VtYmVyLmlzc3VlOmA2MzJgOiBSdWxl IHRhZ3MgYXJlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBpbiBgYmVoYXZlYC4KKysgICAgICBU aGUgQ3VjdW1iZXIgR2hlcmtpbiB2NiBncmFtbWFyIGN1cnJlbnRseSBsYWNrcyB0aGlzIGZ1bmN0 aW9uYWxpdHkuCisrCisrICAgICogOmN1Y3VtYmVyLmlzc3VlOmA1OTBgOiBSdWxlIEJhY2tncm91 bmQ6CisrICAgICAgQSBwcm9wb3NhbCBpcyBwZW5kaW5nIHRvIHJlbW92ZSBSdWxlIEJhY2tncm91 bmRzIGFnYWluCisrCisgCisgLi4gaW5jbHVkZTo6IF9jb250ZW50LnRhZ19leHByZXNzaW9uc192 Mi5yc3QKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMTUtUkVBRE1FLVJlU1QtdHdlYWtzLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNS1SRUFETUUtUmVTVC10 d2Vha3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hMWIwNzNj Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDE1LVJFQURNRS1SZVNULXR3ZWFrcy5wYXRjaApAQCAtMCwwICsx LDE4IEBACitGcm9tIDE5OTBhMzYzMGNiNmI1ZmJlYTNhZWE2OTEzMTQ0NTY0MjEwNTU1MWMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgOCBKdW4gMjAxOSAyMDoxMzowOCArMDIwMAorU3Vi amVjdDogW1BBVENIXSBSRUFETUU6IFJlU1QgdHdlYWtzCisKKy0tLQorIGV0Yy9naGVya2luL1JF QURNRS5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAt LWdpdCBhL2V0Yy9naGVya2luL1JFQURNRS5yc3QgYi9ldGMvZ2hlcmtpbi9SRUFETUUucnN0Citp bmRleCBhZDNjZWRiLi43ZWMyMTA4IDEwMDY0NAorLS0tIGEvZXRjL2doZXJraW4vUkVBRE1FLnJz dAorKysrIGIvZXRjL2doZXJraW4vUkVBRE1FLnJzdAorQEAgLTEsMyArMSw0IEBACisgU09VUkNF OgorKworICogaHR0cHM6Ly9naXRodWIuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyL2Jsb2IvbWFzdGVy L2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorICogaHR0cHM6Ly9yYXcuZ2l0aHVidXNl cmNvbnRlbnQuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyL21hc3Rlci9naGVya2luL2doZXJraW4tbGFu Z3VhZ2VzLmpzb24KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTYtRXhhbXBsZS11c2luZy1HaGVya2luLXY2LWdyYW1tYXIu cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDE2LUV4YW1wbGUtdXNpbmctR2hlcmtpbi12Ni1ncmFtbWFyLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNWNmMTg4YjBhCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNi1F eGFtcGxlLXVzaW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaApAQCAtMCwwICsxLDIyOCBAQAor RnJvbSBjN2FjNDAyMzIxMmMwMTkzOTM5ZDMwNDZjOTg4ZDU4YTJhMTNmYzc5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBTYXQsIDggSnVuIDIwMTkgMjA6MTY6MDEgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSF0gRXhhbXBsZSB1c2luZyBHaGVya2luIHY2IGdyYW1tYXIuCisKKy0tLQorIGV4YW1wbGVz L2doZXJraW5fdjYvUkVBRE1FLnJzdCAgICAgICAgICAgICAgICB8IDE4ICsrKysrKysrCisgZXhh bXBsZXMvZ2hlcmtpbl92Ni9iZWhhdmUuaW5pICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysr KysrKysrKysrKworIGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8xLmZlYXR1cmUg ICB8IDQyICsrKysrKysrKysrKysrKysrKysKKyBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVz L3J1bGVfMi5mZWF0dXJlICAgfCA0MiArKysrKysrKysrKysrKysrKysrCisgLi4uL2ZlYXR1cmVz L3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkgICAgICAgICAgIHwgMjEgKysrKysrKysrKworIC4uLi9n aGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNvbl9zdGVwcy5weSB8ICA3ICsrKysKKyA2IGZp bGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1w bGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9n aGVya2luX3Y2L2JlaGF2ZS5pbmkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZ2hlcmtp bl92Ni9mZWF0dXJlcy9ydWxlXzEuZmVhdHVyZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxl cy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5weQorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNv bl9zdGVwcy5weQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0 IGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uNTgxOTlkZAorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hl cmtpbl92Ni9SRUFETUUucnN0CitAQCAtMCwwICsxLDE4IEBACisrR2hlcmtpbiB2NiBFeGFtcGxl cworKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrCisrU0NSQVRDSFBBRDogUHJvYmxlbXMKKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKworKy0gU3VtbWFyeVJlcG9ydGVyOiBTaG93cyB3cm9uZyBj b3VudHMgd2hlbiBSdWxlcyBhcmUgcHJlc2VudDo6CisrCisrICAgIC4uLgorKyAgICAwIGZlYXR1 cmVzIHBhc3NlZCwgMCBmYWlsZWQsIDEgc2tpcHBlZCBYWFgKKysgICAgMyBydWxlcyBwYXNzZWQs IDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgNSBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwg MCBza2lwcGVkCisrICAgIDEzIHN0ZXBzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1 bmRlZmluZWQKKysKKysKKystIEZvcm1hdHRlcnM6IFByZXR0eUZvcm1hdHRlciwgUGxhaW5Gb3Jt YXR0ZXIgKGF0IGxlYXN0KSBuZWVkIFJ1bGUgc3VwcG9ydAorKworZGlmZiAtLWdpdCBhL2V4YW1w bGVzL2doZXJraW5fdjYvYmVoYXZlLmluaSBiL2V4YW1wbGVzL2doZXJraW5fdjYvYmVoYXZlLmlu aQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ1YzBmMGQKKy0tLSAvZGV2 L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJraW5fdjYvYmVoYXZlLmluaQorQEAgLTAsMCArMSw0 MiBAQAorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjIEJFSEFWRSBDT05GSUdVUkFUSU9OCisr IyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorKyMgRklMRTogLmJlaGF2ZXJjLCBiZWhhdmUuaW5pLCBz ZXR1cC5jZmcsIHRveC5pbmkKKysjCisrIyBTRUUgQUxTTzoKKysjICAqIGh0dHA6Ly9wYWNrYWdl cy5weXRob24ub3JnL2JlaGF2ZS9iZWhhdmUuaHRtbCNjb25maWd1cmF0aW9uLWZpbGVzCisrIyAg KiBodHRwczovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZQorKyMgICogaHR0cDovL3B5cGkucHl0 aG9uLm9yZy9weXBpL2JlaGF2ZS8KKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrW2JlaGF2 ZV0KKytkZWZhdWx0X3RhZ3MgPSBub3QgKEB4ZmFpbCBvciBAbm90X2ltcGxlbWVudGVkKQorK3No b3dfc2tpcHBlZCA9IGZhbHNlCisrZm9ybWF0ICAgPSByZXJ1bgorKyAgICBwcm9ncmVzczMKKytv dXRmaWxlcyA9IHJlcnVuLnR4dAorKyAgICByZXBvcnRzL3JlcG9ydF9wcm9ncmVzczMudHh0Cisr anVuaXQgPSB0cnVlCisrbG9nZ2luZ19sZXZlbCA9IElORk8KKysjIGxvZ2dpbmdfZm9ybWF0ID0g TE9HLiUobGV2ZWxuYW1lKS04cyAgJShuYW1lKS0xMHM6ICUobWVzc2FnZSlzCisrIyBsb2dnaW5n X2Zvcm1hdCA9IExPRy4lKGxldmVsbmFtZSktOHMgICUoYXNjdGltZSlzICAlKG5hbWUpLTEwczog JShtZXNzYWdlKXMKKysKKysjIC0tIEFMTFVSRS1GT1JNQVRURVIgUkVRVUlSRVM6CisrIyBicmV3 IGluc3RhbGwgYWxsdXJlCisrIyBwaXAgaW5zdGFsbCBhbGx1cmUtYmVoYXZlCisrIyBBTExVUkVf UkVQT1JUU19ESVI9YWxsdXJlLnJlcG9ydHMKKysjIGJlaGF2ZSAtZiBhbGx1cmUgLW8gJEFMTFVS RV9SRVBPUlRTX0RJUiAuLi4KKysjIGFsbHVyZSBzZXJ2ZSAkQUxMVVJFX1JFUE9SVFNfRElSCisr IworKyMgU0VFIEFMU086CisrIyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGx1cmUtZnJhbWV3b3Jr L2FsbHVyZTIKKysjICogaHR0cHM6Ly9naXRodWIuY29tL2FsbHVyZS1mcmFtZXdvcmsvYWxsdXJl LXB5dGhvbgorK1tiZWhhdmUuZm9ybWF0dGVyc10KKythbGx1cmUgPSBhbGx1cmVfYmVoYXZlLmZv cm1hdHRlcjpBbGx1cmVGb3JtYXR0ZXIKKysKKysjIFBSRVBBUkVEOgorKyMgIFtiZWhhdmVdCisr IyAgZm9ybWF0ID0gLi4uIG1pc3Npbmdfc3RlcHMgLi4uCisrIyAgb3V0cHV0ID0gLi4uIGZlYXR1 cmVzL3N0ZXBzL21pc3Npbmdfc3RlcHMucHkgLi4uCisrIyAgW2JlaGF2ZS5mb3JtYXR0ZXJzXQor KyMgIG1pc3Npbmdfc3RlcHMgPSBiZWhhdmUuY29udHJpYi5mb3JtYXR0ZXJfbWlzc2luZ19zdGVw czpNaXNzaW5nU3RlcHNGb3JtYXR0ZXIKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2luX3Y2 L2ZlYXR1cmVzL3J1bGVfMS5mZWF0dXJlIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9y dWxlXzEuZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmE4MDJl MTkKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVs ZV8xLmZlYXR1cmUKK0BAIC0wLDAgKzEsNDIgQEAKKytGZWF0dXJlOiBHaGVya2luIHY2IEV4YW1w bGUgLS0gd2l0aCBSdWxlcworKyAgRmVhdHVyZSBkZXNjcmlwdGlvbiBsaW5lIDEuCisrCisrICBC YWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3Jv dW5kIHN0ZXBfMQorKworKyAgUnVsZTogUjEgKHdpdGggUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBS dWxlIFIxIGRlc2NyaXB0aW9uIGxpbmUgMS4KKysKKysgICAgQmFja2dyb3VuZDogUjEuQmFja2dy b3VuZAorKyAgICAgIEdpdmVuIHJ1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEKKysgICAgICBXaGVu ICBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8yCisrCisrICAgIEV4YW1wbGU6IFIxLlNjZW5hcmlv XzEKKysgICAgICBXaGVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICBUaGVuIHJ1 bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzIKKysKKysgICAgRXhhbXBsZTogUjEuU2NlbmFyaW9fMgor KyAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMiBzdGVwXzEKKysgICAgICBUaGVuICBydWxl IFIxIHNjZW5hcmlvXzIgc3RlcF8yCisrCisrICBSdWxlOiBSMiAod2l0aG91dCBSdWxlLkJhY2tn cm91bmQpCisrICAgIFJ1bGUgUjIgZGVzY3JpcHRpb24gbGluZSAxLgorKworKyAgICBFeGFtcGxl OiBSMi5TY2VuYXJpb18xCisrICAgICAgV2hlbiBydWxlIFIyIHNjZW5hcmlvXzEgc3RlcF8xCisr ICAgICAgVGhlbiBydWxlIFIyIHNjZW5hcmlvXzEgc3RlcF8yCisrCisrCisrICBSdWxlOiBSMyAo d2l0aCBlbXB0eSBSdWxlLkJhY2tncm91bmQpCisrICAgIFJ1bGUgUjMgZGVzY3JpcHRpb24gbGlu ZSAxLgorKyAgICBSdWxlIFIzIGRlc2NyaXB0aW9uIGxpbmUgMi4KKysKKysgICAgQmFja2dyb3Vu ZDogUjMuRW1wdHlCYWNrZ3JvdW5kCisrCisrICAgIFNjZW5hcmlvIFRlbXBsYXRlOiBSMy5TY2Vu YXJpbworKyAgICAgIEdpdmVuIGEgcGVyc29uIG5hbWVkICI8bmFtZT4iCisrCisrICAgICAgRXhh bXBsZXM6CisrICAgICAgICB8IG5hbWUgIHwKKysgICAgICAgIHwgQWxpY2UgfAorKyAgICAgICAg fCBCb2IgICB8CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxl XzIuZmVhdHVyZSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8yLmZlYXR1cmUK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5hODAyZTE5CistLS0gL2Rldi9u dWxsCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCitA QCAtMCwwICsxLDQyIEBACisrRmVhdHVyZTogR2hlcmtpbiB2NiBFeGFtcGxlIC0tIHdpdGggUnVs ZXMKKysgIEZlYXR1cmUgZGVzY3JpcHRpb24gbGluZSAxLgorKworKyAgQmFja2dyb3VuZDogRmVh dHVyZS5CYWNrZ3JvdW5kCisrICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysK KysgIFJ1bGU6IFIxICh3aXRoIFJ1bGUuQmFja2dyb3VuZCkKKysgICAgUnVsZSBSMSBkZXNjcmlw dGlvbiBsaW5lIDEuCisrCisrICAgIEJhY2tncm91bmQ6IFIxLkJhY2tncm91bmQKKysgICAgICBH aXZlbiBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xCisrICAgICAgV2hlbiAgcnVsZSBSMSBiYWNr Z3JvdW5kIHN0ZXBfMgorKworKyAgICBFeGFtcGxlOiBSMS5TY2VuYXJpb18xCisrICAgICAgV2hl biBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgVGhlbiBydWxlIFIxIHNjZW5hcmlv XzEgc3RlcF8yCisrCisrICAgIEV4YW1wbGU6IFIxLlNjZW5hcmlvXzIKKysgICAgICBHaXZlbiBy dWxlIFIxIHNjZW5hcmlvXzIgc3RlcF8xCisrICAgICAgVGhlbiAgcnVsZSBSMSBzY2VuYXJpb18y IHN0ZXBfMgorKworKyAgUnVsZTogUjIgKHdpdGhvdXQgUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBS dWxlIFIyIGRlc2NyaXB0aW9uIGxpbmUgMS4KKysKKysgICAgRXhhbXBsZTogUjIuU2NlbmFyaW9f MQorKyAgICAgIFdoZW4gcnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgIFRoZW4gcnVs ZSBSMiBzY2VuYXJpb18xIHN0ZXBfMgorKworKworKyAgUnVsZTogUjMgKHdpdGggZW1wdHkgUnVs ZS5CYWNrZ3JvdW5kKQorKyAgICBSdWxlIFIzIGRlc2NyaXB0aW9uIGxpbmUgMS4KKysgICAgUnVs ZSBSMyBkZXNjcmlwdGlvbiBsaW5lIDIuCisrCisrICAgIEJhY2tncm91bmQ6IFIzLkVtcHR5QmFj a2dyb3VuZAorKworKyAgICBTY2VuYXJpbyBUZW1wbGF0ZTogUjMuU2NlbmFyaW8KKysgICAgICBH aXZlbiBhIHBlcnNvbiBuYW1lZCAiPG5hbWU+IgorKworKyAgICAgIEV4YW1wbGVzOgorKyAgICAg ICAgfCBuYW1lICB8CisrICAgICAgICB8IEFsaWNlIHwKKysgICAgICAgIHwgQm9iICAgfAorZGlm ZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVw cy5weSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5w eQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmY0ODIyZjMKKy0tLSAvZGV2 L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9z dGVwcy5weQorQEAgLTAsMCArMSwyMSBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisrZnJv bSBiZWhhdmUgaW1wb3J0IHN0ZXAKKysKKysKKytAc3RlcCh1J2ZlYXR1cmUgYmFja2dyb3VuZCBz dGVwX3tzdGVwX2lkOmR9JykKKytkZWYgc3RlcF9ydWxlX2JhY2tncm91bmQoY3R4LCBzdGVwX2lk KToKKysgICAgcHJpbnQoImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwX3swfSIuZm9ybWF0KHN0ZXBf aWQpKQorKworKworK0BzdGVwKHUncnVsZSB7cnVsZV9pZDp3fSBiYWNrZ3JvdW5kIHN0ZXBfe3N0 ZXBfaWQ6ZH0nKQorK2RlZiBzdGVwX3J1bGVfYmFja2dyb3VuZChjdHgsIHJ1bGVfaWQsIHN0ZXBf aWQpOgorKyAgICBwcmludCgicnVsZSB7MH0gYmFja2dyb3VuZCBzdGVwX3sxfSIuZm9ybWF0KHJ1 bGVfaWQsIHN0ZXBfaWQpKQorKworKworK0BzdGVwKHUncnVsZSB7cnVsZV9pZDp3fSBzY2VuYXJp b197c2NlbmFyaW9faWQ6ZH0gc3RlcF97c3RlcF9pZDpkfScpCisrZGVmIHN0ZXBfcnVsZV9zY2Vu YXJpbyhjdHgsIHJ1bGVfaWQsIHNjZW5hcmlvX2lkLCBzdGVwX2lkKToKKysgICAgcHJpbnQoInJ1 bGUgezB9IHNjZW5hcmlvX3sxfSBzdGVwX3syfSIuZm9ybWF0KAorKyAgICAgICAgcnVsZV9pZCwg c2NlbmFyaW9faWQsIHN0ZXBfaWQpKQorKworKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJr aW5fdjYvZmVhdHVyZXMvc3RlcHMvcGVyc29uX3N0ZXBzLnB5IGIvZXhhbXBsZXMvZ2hlcmtpbl92 Ni9mZWF0dXJlcy9zdGVwcy9wZXJzb25fc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi43MTRhYzAxCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVy a2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNvbl9zdGVwcy5weQorQEAgLTAsMCArMSw3IEBACisr IyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKytmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4KKysKKysK KytAZ2l2ZW4odSdhIHBlcnNvbiBuYW1lZCAie25hbWV9IicpCisrZGVmIHN0ZXBfZ2l2ZW5fcGVy c29uX3dpdGhfbmFtZShjdHgsIG5hbWUpOgorKyAgICBwYXNzCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE3LVBSRVBBUkUt UHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNy1QUkVQQVJFLVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmYwODE2MjRlOQotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMTctUFJFUEFSRS1QeXRob24tMy44LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwz OSBAQAorRnJvbSBkZWJmOGRjZjU1ZTdiZDFhZDZkMThjODMyYWNjMzIyNDMxNDk3MTQ3IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDggSnVuIDIwMTkgMjA6Mzk6NDIgKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gUFJFUEFSRTogUHl0aG9uLTMuOCBzdXBwb3J0CisKKy0tLQorIC50cmF2aXMu eW1sIHwgOCArKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS8udHJhdmlzLnltbCBiLy50cmF2aXMueW1sCitpbmRl eCA3MDE1Yjg4Li5kOGYyNDQzIDEwMDY0NAorLS0tIGEvLnRyYXZpcy55bWwKKysrKyBiLy50cmF2 aXMueW1sCitAQCAtMSwxMiArMSwxNCBAQAorIGxhbmd1YWdlOiBweXRob24KKyBzdWRvOiBmYWxz ZQorK2Rpc3Q6IHhlbmlhbCAgICMgcmVxdWlyZWQgZm9yIFB5dGhvbiA+PSAzLjcKKyBweXRob246 CistICAtICIzLjYiCisrICAtICIzLjciCisgICAtICIyLjciCisrICAtICIzLjYiCisgICAtICIz LjUiCisgICAtICJweXB5IgorICAgLSAicHlweTMiCistICAtICIzLjctZGV2IgorKyAgLSAiMy44 LWRldiIKKyAKKyAjIC0tIERJU0FCTEVEOgorICMgIC0gIm5pZ2h0bHkiCitAQCAtMTksNyArMjEs NyBAQCBweXRob246CisgIyAtLSBURVNULUJBTExPTjogQ2hlY2sgaWYgUHl0aG9uIDMuNiBpcyBh Y3R1YWxseSBQeXRob24gMy41LjEgb3IgbmV3ZXIKKyBtYXRyaXg6CisgICBhbGxvd19mYWlsdXJl czoKKy0gICAgLSBweXRob246ICIzLjctZGV2IgorKyAgICAtIHB5dGhvbjogIjMuOC1kZXYiCisg ICAgIC0gcHl0aG9uOiAibmlnaHRseSIKKyAKKyBjYWNoZToKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTgtcHkzLjgtVHJ5 LXRvLWZpeC1sb2dnaW5nLkZvcm1hdHRlci12YWxpZGF0ZS1wcm9ibGVtLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOC1weTMuOC1U cnktdG8tZml4LWxvZ2dpbmcuRm9ybWF0dGVyLXZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45ODJiYmY2NDkKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDE4LXB5My44LVRyeS10by1maXgtbG9nZ2luZy5Gb3JtYXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5w YXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDE0NDEzMTczNWZlNThjMDJmYmU4ZmY1MWY5NzE1 YzIzMDExOWM3OWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxMzox NzoxMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBweTMuODogVHJ5IHRvIGZpeCBsb2dnaW5nLkZv cm1hdHRlciB2YWxpZGF0ZSBwcm9ibGVtCisKKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9jYXB0dXJl LnB5IHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdp dCBhL3Rlc3RzL3VuaXQvdGVzdF9jYXB0dXJlLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2NhcHR1cmUu cHkKK2luZGV4IGFjMjY1NWUuLmQ5YTNmM2EgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3Rf Y2FwdHVyZS5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2NhcHR1cmUucHkKK0BAIC0yMCw2ICsy MCw4IEBAIGRlZiBjcmVhdGVfY2FwdHVyZV9jb250cm9sbGVyKGNvbmZpZz1Ob25lKToKKyAgICAg ICAgIGNvbmZpZy5sb2dfY2FwdHVyZSA9IFRydWUKKyAgICAgICAgIGNvbmZpZy5sb2dnaW5nX2Zp bHRlciA9IE5vbmUKKyAgICAgICAgIGNvbmZpZy5sb2dnaW5nX2xldmVsID0gIklORk8iCisrICAg ICAgICBjb25maWcubG9nZ2luZ19mb3JtYXQgPSAiJShsZXZlbG5hbWUpczolKG5hbWUpczolKG1l c3NhZ2UpcyIKKysgICAgICAgIGNvbmZpZy5sb2dnaW5nX2RhdGVmbXQgPSBOb25lCisgICAgIHJl dHVybiBDYXB0dXJlQ29udHJvbGxlcihjb25maWcpCisgCisgZGVmIHNldHVwX2NhcHR1cmVfY29u dHJvbGxlcihjYXB0dXJlX2NvbnRyb2xsZXIsIGNvbnRleHQ9Tm9uZSk6CmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE5LXRy YXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE5 LXRyYXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jN2VjMzRiYzYKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDE5LXRyYXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250 LWJ1aWxkLWYucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSBlNTc5ZTA3NThjMTM1MGY0ZDIz Njk4N2M1OTJiZTk0MTA3YzJjOGEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVu IDIwMTkgMTM6MTk6NTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdHJhdmlzLmNpOiBUZW1wb3Jh cmlseSBtb3ZlIHB5MzgtZGV2IHRvIGZyb250IChidWlsZCBmaXJzdCkuCisKKy0tLQorIC50cmF2 aXMueW1sIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggZDhm MjQ0My4uMzViY2U4YyAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnlt bAorQEAgLTIsMTMgKzIsMTMgQEAgbGFuZ3VhZ2U6IHB5dGhvbgorIHN1ZG86IGZhbHNlCisgZGlz dDogeGVuaWFsICAgIyByZXF1aXJlZCBmb3IgUHl0aG9uID49IDMuNworIHB5dGhvbjoKKysgIC0g IjMuOC1kZXYiCisgICAtICIzLjciCisgICAtICIyLjciCisgICAtICIzLjYiCisgICAtICIzLjUi CisgICAtICJweXB5IgorICAgLSAicHlweTMiCistICAtICIzLjgtZGV2IgorIAorICMgLS0gRElT QUJMRUQ6CisgIyAgLSAibmlnaHRseSIKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1mb3It ZmFzdGVyLWJ1aWxkcy10ZW1wb3JhcmlseS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1mb3ItZmFz dGVyLWJ1aWxkcy10ZW1wb3JhcmlseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjRhOTA3NTQ2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjAtdHJhdmlzLmNpLVR3ZWFrcy1m b3ItZmFzdGVyLWJ1aWxkcy10ZW1wb3JhcmlseS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9t IDZmNDI0ZWQ0MGM1MDllMDA3YmY3Y2I4ZDU2ZTY1ODZlZGY1NThlN2EgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxMzoyNjoxOSArMDIwMAorU3ViamVjdDogW1BBVENI XSB0cmF2aXMuY2k6IFR3ZWFrcyBmb3IgZmFzdGVyIGJ1aWxkcyAodGVtcG9yYXJpbHkpLgorCist LS0KKyAudHJhdmlzLnltbCB8IDEyICsrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS8udHJhdmlzLnltbCBi Ly50cmF2aXMueW1sCitpbmRleCAzNWJjZThjLi5mYmMzNTIwIDEwMDY0NAorLS0tIGEvLnRyYXZp cy55bWwKKysrKyBiLy50cmF2aXMueW1sCitAQCAtNSwxNSArNSwxNSBAQCBweXRob246CisgICAt ICIzLjgtZGV2IgorICAgLSAiMy43IgorICAgLSAiMi43IgorLSAgLSAiMy42IgorLSAgLSAiMy41 IgorLSAgLSAicHlweSIKKy0gIC0gInB5cHkzIgorKworKyMgLS0gRElTQUJMRS1URU1QT1JBUklM WTogRW5zdXJlIGZhc3RlciBidWlsZHMKKysjICAtICIzLjYiCisrIyAgLSAiMy41IgorKyMgIC0g InB5cHkiCisrIyAgLSAicHlweTMiCisgCisgIyAtLSBESVNBQkxFRDoKKyAjICAtICJuaWdodGx5 IgorLSMgIC0gIjMuNCIKKy0jICAtICIzLjMiCisgIworICMgTk9XIFNVUFBPUlRFRDogIjMuNSIg PT4gcHl0aG9uIDMuNS4yICg+PSAzLjUuMSkKKyAjIE5PVEU6IG5pZ2h0bHkgPSAzLjctZGV2CmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDIxLUZJWC1weTMuOC1sb2dnaW5nLkZvcm1hdHRlci52YWxpZGF0ZS1wcm9ibGVtLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAyMS1GSVgtcHkzLjgtbG9nZ2luZy5Gb3JtYXR0ZXIudmFsaWRhdGUtcHJvYmxlbS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjQ0ZTM3Y2I1NwotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMjEtRklYLXB5My44LWxvZ2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0 Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA5NGQxNTJkODZhZDQyMzc4YTkwZGZjMTBkNjE0Zjk1 ZDlhNGVlZmI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6NDI6 MjAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYIHB5My44OiBsb2dnaW5nLkZvcm1hdHRlci52 YWxpZGF0ZSgpIHByb2JsZW0uCisKKy0tLQorIHRlc3QvdGVzdF9ydW5uZXIucHkgfCA2ICsrKysr KworIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Rlc3Qv dGVzdF9ydW5uZXIucHkgYi90ZXN0L3Rlc3RfcnVubmVyLnB5CitpbmRleCA1N2M5NDQ1Li42NjQ3 MjgzIDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X3J1bm5lci5weQorKysrIGIvdGVzdC90ZXN0X3J1 bm5lci5weQorQEAgLTI4Niw2ICsyODYsNyBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5U ZXN0Q2FzZSk6CisgICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCisg ICAgICAgICBkZWwgc2VsZi5jb250ZXh0LnRoaW5nCisgCisrCisgY2xhc3MgRXhhbXBsZVN0ZXBz KG9iamVjdCk6CisgICAgIHRleHQgPSBOb25lCisgICAgIHRhYmxlID0gTm9uZQorQEAgLTMyMCw2 ICszMjEsNyBAQCBjbGFzcyBFeGFtcGxlU3RlcHMob2JqZWN0KToKKyAgICAgICAgIGZvciBrZXl3 b3JkLCBwYXR0ZXJuLCBmdW5jIGluIHN0ZXBfZGVmaW5pdGlvbnM6CisgICAgICAgICAgICAgc3Rl cF9yZWdpc3RyeS5hZGRfc3RlcF9kZWZpbml0aW9uKGtleXdvcmQsIHBhdHRlcm4sIGZ1bmMpCisg CisrCisgY2xhc3MgVGVzdENvbnRleHRfRXhlY3V0ZVN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToK KyAgICAgIiIiCisgICAgIFRlc3QgdGhlIGJlaGF2ZS5ydW5uZXIuQ29udGV4dC5leGVjdXRlX3N0 ZXBzKCkgZnVuY3Rpb25hbGl0eS4KK0BAIC0zNDEsNiArMzQzLDggQEAgY2xhc3MgVGVzdENvbnRl eHRfRXhlY3V0ZVN0ZXBzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHJ1bm5lcl8uY29u ZmlnLnN0ZG91dF9jYXB0dXJlID0gRmFsc2UKKyAgICAgICAgIHJ1bm5lcl8uY29uZmlnLnN0ZGVy cl9jYXB0dXJlID0gRmFsc2UKKyAgICAgICAgIHJ1bm5lcl8uY29uZmlnLmxvZ19jYXB0dXJlID0g RmFsc2UKKysgICAgICAgIHJ1bm5lcl8uY29uZmlnLmxvZ2dpbmdfZm9ybWF0ID0gTm9uZQorKyAg ICAgICAgcnVubmVyXy5jb25maWcubG9nZ2luZ19kYXRlZm10ID0gTm9uZQorICAgICAgICAgcnVu bmVyXy5zdGVwX3JlZ2lzdHJ5ID0gc2VsZi5zdGVwX3JlZ2lzdHJ5CisgCisgICAgICAgICBzZWxm LmNvbnRleHQgPSBydW5uZXIuQ29udGV4dChydW5uZXJfKQorQEAgLTY1OCw2ICs2NjIsOCBAQCBj bGFzcyBUZXN0UnVuV2l0aFBhdGhzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHNlbGYu Y29uZmlnLmxvZ2dpbmdfZmlsdGVyID0gTm9uZQorICAgICAgICAgc2VsZi5jb25maWcub3V0cHV0 cyA9IFtNb2NrKCksIFN0cmVhbU9wZW5lcihzdHJlYW09c3lzLnN0ZG91dCldCisgICAgICAgICBz ZWxmLmNvbmZpZy5mb3JtYXQgPSBbInBsYWluIiwgInByb2dyZXNzIl0KKysgICAgICAgIHNlbGYu Y29uZmlnLmxvZ2dpbmdfZm9ybWF0ID0gTm9uZQorKyAgICAgICAgc2VsZi5jb25maWcubG9nZ2lu Z19kYXRlZm10ID0gTm9uZQorICAgICAgICAgc2VsZi5ydW5uZXIgPSBydW5uZXIuUnVubmVyKHNl bGYuY29uZmlnKQorICAgICAgICAgc2VsZi5sb2FkX2hvb2tzID0gc2VsZi5ydW5uZXIubG9hZF9o b29rcyA9IE1vY2soKQorICAgICAgICAgc2VsZi5sb2FkX3N0ZXBfZGVmaW5pdGlvbnMgPSBzZWxm LnJ1bm5lci5sb2FkX3N0ZXBfZGVmaW5pdGlvbnMgPSBNb2NrKCkKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjItUFJFUEFS RS1GT1ItUHl0aG9uLTMuOC1hc3luY2lvLmNvcm91dGluZS1pcy1kZXByZWNhdC5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjItUFJF UEFSRS1GT1ItUHl0aG9uLTMuOC1hc3luY2lvLmNvcm91dGluZS1pcy1kZXByZWNhdC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmEyYjNlMWU4MAotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwMjItUFJFUEFSRS1GT1ItUHl0aG9uLTMuOC1hc3luY2lvLmNvcm91dGluZS1pcy1kZXBy ZWNhdC5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGM1Yzg2MjNiYWZhODczM2NmY2QyMjc5 MjJlOTM3MTNjZjMxN2FjMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lz IDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAx OSAxMzo1ODoyMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBQUkVQQVJFIEZPUjogUHl0aG9uIDMu OCwgQGFzeW5jaW8uY29yb3V0aW5lIGlzIGRlcHJlY2F0ZWQKKyBzaW5jZSBweTM4LgorCistLS0K KyB0ZXN0cy9hcGkvX3Rlc3RfYXN5bmNfc3RlcDM0LnB5IHwgOSArKysrKystLS0KKyAxIGZpbGUg Y2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv dGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0ZXAzNC5weSBiL3Rlc3RzL2FwaS9fdGVzdF9hc3luY19z dGVwMzQucHkKK2luZGV4IDgyNDJiZTcuLjFjMGMzMWYgMTAwNjQ0CistLS0gYS90ZXN0cy9hcGkv X3Rlc3RfYXN5bmNfc3RlcDM0LnB5CisrKysgYi90ZXN0cy9hcGkvX3Rlc3RfYXN5bmNfc3RlcDM0 LnB5CitAQCAtMzcsMTMgKzM3LDE2IEBAIGZyb20gLnRlc3Rpbmdfc3VwcG9ydF9hc3luYyBpbXBv cnQgQXN5bmNTdGVwVGhlb3J5CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgVEVTVCBNQVJL RVJTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIERFUFJFQ0FURUQ6IEBhc3luY2lvLmNv cm91dGluZSBkZWNvcmF0b3IgKHNpbmNlOiBQeXRob24gPj0gMy44KQorIF9weXRob25fdmVyc2lv biA9IGZsb2F0KCIlcy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXSkKKy1weTM0X29yX25ld2Vy ID0gcHl0ZXN0Lm1hcmsuc2tpcGlmKF9weXRob25fdmVyc2lvbiA8IDMuNCwgcmVhc29uPSJOZWVk cyBQeXRob24gPj0gMy40IikKKytyZXF1aXJlc19weTM0X3RvX3B5MzcgPSBweXRlc3QubWFyay5z a2lwaWYobm90ICgzLjQgPD0gX3B5dGhvbl92ZXJzaW9uIDwgMy44KSwKKysgICAgcmVhc29uPSJT dXBwb3J0ZWQgb25seSBmb3IgcHl0aG9uLnZlcnNpb25zOiAzLjQgLi4gMy43IChpbmNsdXNpdmUp IikKKysKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBURVNUU1VJVEU6CisgIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorLUBweTM0X29yX25ld2VyCisrQHJlcXVpcmVzX3B5MzRfdG9fcHkz NworIGNsYXNzIFRlc3RBc3luY1N0ZXBEZWNvcmF0b3JQeTM0KG9iamVjdCk6CisgCisgICAgIGRl ZiB0ZXN0X3N0ZXBfZGVjb3JhdG9yX2FzeW5jX3J1bl91bnRpbF9jb21wbGV0ZTIoc2VsZik6CitA QCAtMTI4LDcgKzEzMSw3IEBAIGNsYXNzIFRlc3RBc3luY0NvbnRleHQob2JqZWN0KToKKyAgICAg ICAgIGFzc2VydCBhc3luY19jb250ZXh0Lmxvb3AgaXMgbG9vcDAKKyAKKyAKKy1AcHkzNF9vcl9u ZXdlcgorK0ByZXF1aXJlc19weTM0X3RvX3B5MzcKKyBjbGFzcyBUZXN0QXN5bmNTdGVwUnVuUHkz NChvYmplY3QpOgorICAgICAiIiJFbnN1cmUgdGhhdCBleGVjdXRpb24gb2YgYXN5bmMtc3RlcHMg d29ya3MgYXMgZXhwZWN0ZWQuIiIiCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIzLVVQREFURS1BZGQtNzU1LWluZm8u cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDIzLVVQREFURS1BZGQtNzU1LWluZm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi45ZmQ5OGIwN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIzLVVQREFURS1BZGQtNzU1 LWluZm8ucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSA3MzMzMGJhYjY4NjQ3MDQ5MjlkOWFl ZWY0MWU4YjhkM2Q1OWQ1NzM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIw MTkgMTQ6MDY6MTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRFOiBBZGQgIzc1NSBpbmZv CisKKy0tLQorIENIQU5HRVMucnN0IHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXgg ZDZlOTZhZi4uYTkxZTIyYSAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VT LnJzdAorQEAgLTMwLDYgKzMwLDEwIEBAIEVOSEFOQ0VNRU5UUzoKKyAqIGlzc3VlICM2NzU6IEZl YXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChw cm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKKyAKKyAKKytQQVJUSUFMTFkgRklYRUQ6 CisrCisrKiBpc3N1ZSAjNzU1OiBGYWlsdXJlcyB3aXRoIFB5dGhvbiAzLjggKHN1Ym1pdHRlZCBi eTogaHJvbmNvaykKKysKKyBGSVhFRDoKKyAKKyAqIGlzc3VlICM3MjU6IFNjZW5hcmlvIE91dGxp bmUgZGVzY3JpcHRpb24gbGluZXMgc2VlbSB0byBiZSBpZ25vcmVkIChzdWJtaXR0ZWQgYnk6IG5p endpeikKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMjQtRklYLVdBUk5JTkctUmVsYXRlZC10by1kb2NzdHJpbmctZXhhbXBs ZS1hbmQtd2VpcmQtYi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMjQtRklYLVdBUk5JTkctUmVsYXRlZC10by1kb2NzdHJpbmctZXhh bXBsZS1hbmQtd2VpcmQtYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmJjMWEyMTMxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjQtRklYLVdBUk5JTkctUmVsYXRlZC10by1k b2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQtYi5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9t IGNjMDIzNjAwMjk2YzJiNmZiODcxMWU0ODc4ZDIwZWM2OTUzNGQ0NzcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxNDoyNzoyMyArMDIwMAorU3ViamVjdDogW1BBVENI XSBGSVgtV0FSTklORzogUmVsYXRlZCB0byBkb2NzdHJpbmctZXhhbXBsZSBhbmQgd2VpcmQgYmFj a3NsYXNoCisgdXNhZ2UuCisKKy0tLQorIGJlaGF2ZS9tYXRjaGVycy5weSB8IDQgKy0tLQorIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2JlaGF2ZS9tYXRjaGVycy5weSBiL2JlaGF2ZS9tYXRjaGVycy5weQoraW5kZXggYzg5NmY1 Mi4uMGZlZTBjNyAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tYXRjaGVycy5weQorKysrIGIvYmVoYXZl L21hdGNoZXJzLnB5CitAQCAtMjYxLDkgKzI2MSw3IEBAIGNsYXNzIENGUGFyc2VNYXRjaGVyKFBh cnNlTWF0Y2hlcik6CisgCisgCisgZGVmIHJlZ2lzdGVyX3R5cGUoKiprdyk6CistICAgICMgcHls aW50OiBkaXNhYmxlPWFub21hbG91cy1iYWNrc2xhc2gtaW4tc3RyaW5nCistICAgICMgUkVRVUlS RUQtQlk6IGNvZGUgZXhhbXBsZQorLSAgICAiIiJSZWdpc3RlcnMgYSBjdXN0b20gdHlwZSB0aGF0 IHdpbGwgYmUgYXZhaWxhYmxlIHRvICJwYXJzZSIKKysgICAgciIiIlJlZ2lzdGVycyBhIGN1c3Rv bSB0eXBlIHRoYXQgd2lsbCBiZSBhdmFpbGFibGUgdG8gInBhcnNlIgorICAgICBmb3IgdHlwZSBj b252ZXJzaW9uIGR1cmluZyBzdGVwIG1hdGNoaW5nLgorIAorICAgICBDb252ZXJ0ZXJzIHNob3Vs ZCBiZSBzdXBwbGllZCBhcyBgYG5hbWU9Y2FsbGFibGVgYCBhcmd1bWVudHMgKG9yIGFzIGRpY3Qp LgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAyNS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdl eC1wYXR0ZXJuLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAyNS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1y ZWdleC1wYXR0ZXJuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u YTljYTNhZGVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2Ut d2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZTY5 ODI0OWU3MmMzM2QyOTY0ZWFhZGYzOWVmNGEyNzJiNTRkNzRkNSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogU3VuLCA5IEp1biAyMDE5IDE0OjM3OjQxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJ WDogaW52YWxpZCBlc2NhcGUgc2VxdWVuY2Ugd2FybmluZ3MgKHcvIHJlZ2V4IHBhdHRlcm5zKS4K KworLS0tCisgdGVzdHMvdW5pdC90ZXN0X2JlaGF2ZTRjbWRfY29tbWFuZF9zaGVsbF9wcm9jLnB5 IHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hl bGxfcHJvYy5weSBiL3Rlc3RzL3VuaXQvdGVzdF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJv Yy5weQoraW5kZXggYWFlNWU5Zi4uYzQ1YWIzYiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVz dF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJvYy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0 X2JlaGF2ZTRjbWRfY29tbWFuZF9zaGVsbF9wcm9jLnB5CitAQCAtMSw1ICsxLDUgQEAKKyAjIC0q LSBjb2Rpbmc6IFVURi04IC0qLQorLSIiIgorK3IiIiIKKyAKKyBSZWd1bGFyIGV4cHJlc3Npb25z IGZvciB3aW5wYXRoOgorIGh0dHA6Ly9yZWdleGxpYi5jb20vU2VhcmNoLmFzcHg/az1maWxlK25h bWUKK0BAIC02MSw3ICs2MSw3IEBAIGxpbmVfcHJvY2Vzc29yX2lvZXJyb3JzID0gWworIAorIGxp bmVfcHJvY2Vzc29yX3RyYWNlYmFjayA9IFsKKyAgICAgRXhjZXB0aW9uV2l0aFBhdGhOb3JtYWxp emVyKAorLSAgICAgICAgJ15ccypGaWxlICIoP1A8cGF0aD4uKikiLCBsaW5lIFxkKywgaW4gJywK KysgICAgICAgIHInXlxzKkZpbGUgIig/UDxwYXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAorICAg ICAgICAgJyAgRmlsZSAiJyksCisgICAgIEJlaGF2ZVdpbkNvbW1hbmRPdXRwdXRQcm9jZXNzb3Iu bGluZV9wcm9jZXNzb3JzWzRdLAorIF0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjYtREVQUkVDQVRJTkctQ0xFQU5VUC1N b3ZlLWRlcHJlY2F0ZWQtdGFnLW1hdGNoZXItY2xhcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjYtREVQUkVDQVRJTkctQ0xFQU5V UC1Nb3ZlLWRlcHJlY2F0ZWQtdGFnLW1hdGNoZXItY2xhcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjNmNzNkMGU2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjYtREVQUkVD QVRJTkctQ0xFQU5VUC1Nb3ZlLWRlcHJlY2F0ZWQtdGFnLW1hdGNoZXItY2xhcy5wYXRjaApAQCAt MCwwICsxLDEwMjAgQEAKK0Zyb20gMDBhYTE0ZGNlNmI2N2U4MTVhYTYyNzA1MDZmZjVkM2ZmMmQ1 NGI0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDE2OjA0OjQzICsw MjAwCitTdWJqZWN0OiBbUEFUQ0hdIERFUFJFQ0FUSU5HLUNMRUFOVVA6IE1vdmUgZGVwcmVjYXRl ZCB0YWcgbWF0Y2hlciBjbGFzc2VzCisKKy0gYmVoYXZlLnRhZ19tYXRjaGVyLk9ubHlXaXRoQ2F0 ZWdvcnlUYWdNYXRjaGVyCistIGJlaGF2ZS50YWdfbWF0Y2hlci5Pbmx5V2l0aEFueUNhdGVnb3J5 VGFnTWF0Y2hlcgorCit0byAiYmVoYXZlLmF0dGljLnRhZ19tYXRjaGVyIi4KK01vdmUgcmVsYXRl ZCB1bml0IHRlc3RzIHRvICJ0ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkiLgor LS0tCisgYmVoYXZlL2F0dGljL19faW5pdF9fLnB5ICAgICAgICAgICAgIHwgICAwCisgYmVoYXZl L2F0dGljL3RhZ19tYXRjaGVyLnB5ICAgICAgICAgIHwgMTgxICsrKysrKysrKysrKysrKysrCisg YmVoYXZlL3RhZ19tYXRjaGVyLnB5ICAgICAgICAgICAgICAgIHwgMTg5ICstLS0tLS0tLS0tLS0t LS0tLQorIHRlc3RzLmF0dGljL19faW5pdF9fLnB5ICAgICAgICAgICAgICB8ICAgMAorIHRlc3Rz LmF0dGljL3VuaXQvX19pbml0X18ucHkgICAgICAgICB8ICAgMAorIHRlc3RzLmF0dGljL3VuaXQv dGVzdF90YWdfbWF0Y2hlci5weSB8IDI4MCArKysrKysrKysrKysrKysrKysrKysrKysrKysKKyB0 ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgICAgICAgfCAyNzkgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyA3IGZpbGVzIGNoYW5nZWQsIDQ3MCBpbnNlcnRpb25zKCspLCA0NTkgZGVs ZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJlaGF2ZS9hdHRpYy9fX2luaXRfXy5weQor IGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUvYXR0aWMvdGFnX21hdGNoZXIucHkKKyBjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdHMuYXR0aWMvX19pbml0X18ucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQg dGVzdHMuYXR0aWMvdW5pdC9fX2luaXRfXy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy5h dHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9hdHRp Yy9fX2luaXRfXy5weSBiL2JlaGF2ZS9hdHRpYy9fX2luaXRfXy5weQorbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAuLmU2OWRlMjkKK2RpZmYgLS1naXQgYS9iZWhhdmUvYXR0aWMv dGFnX21hdGNoZXIucHkgYi9iZWhhdmUvYXR0aWMvdGFnX21hdGNoZXIucHkKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mMDdkY2JmCistLS0gL2Rldi9udWxsCisrKysgYi9i ZWhhdmUvYXR0aWMvdGFnX21hdGNoZXIucHkKK0BAIC0wLDAgKzEsMTgxIEBACisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgUFJPVE9UWVBJTkcgQ0xBU1NFUzogU2hvdWxkIG5vIGxvbmdlciBi ZSB1c2VkCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK2ltcG9ydCB3YXJuaW5ncworK2Zy b20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBUYWdNYXRjaGVyCisrCisrCisrY2xhc3MgT25s eVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisrICAgICIiIgorKyAgICBQcm92 aWRlcyBhIHRhZyBtYXRjaGVyIHRoYXQgYWxsb3dzIHRvIGRldGVybWluZSBpZiBmZWF0dXJlL3Nj ZW5hcmlvCisrICAgIHNob3VsZCBydW4gb3Igc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIHJ1 bi1zZXQgKGF0IHJ1bnRpbWUpLgorKworKyAgICAuLiBkZXByZWNhdGVkOjogVXNlIDpjbGFzczpg QWN0aXZlVGFnTWF0Y2hlcmAgaW5zdGVhZC4KKysKKysgICAgRVhBTVBMRToKKysgICAgLS0tLS0t LS0KKysKKysgICAgUnVuIHNvbWUgc2NlbmFyaW9zIG9ubHkgd2hlbiBydW50aW1lIGNvbmRpdGlv bnMgYXJlIG1ldDoKKysKKysgICAgICAqIFJ1biBzY2VuYXJpbyBBbGljZSBvbmx5IG9uIFdpbmRv d3MgT1MKKysgICAgICAqIFJ1biBzY2VuYXJpbyBCb2Igb25seSBvbiBNQUNPU1gKKysKKysgICAg Li4gY29kZS1ibG9jazo6IGdoZXJraW4KKysKKysgICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMv YWxpY2UuZmVhdHVyZQorKyAgICAgICAgIyBUQUcgU0NIRU1BOiBAb25seS53aXRoX3tjYXRlZ29y eX09e2N1cnJlbnRfdmFsdWV9CisrICAgICAgICBGZWF0dXJlOgorKworKyAgICAgICAgICBAb25s eS53aXRoX29zPXdpbjMyCisrICAgICAgICAgIFNjZW5hcmlvOiBBbGljZSAoUnVuIG9ubHkgb24g V2luZG93cykKKysgICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGluZworKyAgICAgICAgICAg IC4uLgorKworKyAgICAgICAgICBAb25seS53aXRoX29zPWRhcndpbgorKyAgICAgICAgICBTY2Vu YXJpbzogQm9iIChSdW4gb25seSBvbiBNQUNPU1gpCisrICAgICAgICAgICAgR2l2ZW4gSSBkbyBz b21ldGhpbmcgZWxzZQorKyAgICAgICAgICAgIC4uLgorKworKworKyAgICAuLiBjb2RlLWJsb2Nr OjogcHl0aG9uCisrCisrICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5 CisrICAgICAgICBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgT25seVdpdGhDYXRlZ29y eVRhZ01hdGNoZXIKKysgICAgICAgIGltcG9ydCBzeXMKKysKKysgICAgICAgICMgLS0gTUFUQ0hF UyBUQUdTOiBAb25seS53aXRoX3tjYXRlZ29yeX09KiA9IEBvbmx5LndpdGhfb3M9KgorKyAgICAg ICAgYWN0aXZlX3RhZ19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoIm9zIiwg c3lzLnBsYXRmb3JtKQorKworKyAgICAgICAgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBz Y2VuYXJpbyk6CisrICAgICAgICAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorKyAgICAgICAgICAgICAgICBzY2Vu YXJpby5za2lwKCkgICAjPCBMQVRFLUVYQ0xVREUgZnJvbSBydW4tc2V0LgorKyAgICAiIiIKKysg ICAgdGFnX3ByZWZpeCA9ICJvbmx5LndpdGhfIgorKyAgICB2YWx1ZV9zZXBhcmF0b3IgPSAiPSIK KysKKysgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNhdGVnb3J5LCB2YWx1ZSwgdGFnX3ByZWZpeD1O b25lLCB2YWx1ZV9zZXA9Tm9uZSk6CisrICAgICAgICB3YXJuaW5ncy53YXJuKCJVc2UgQWN0aXZl VGFnTWF0Y2hlciBpbnN0ZWFkLiIsIERlcHJlY2F0aW9uV2FybmluZykKKysgICAgICAgIHN1cGVy KE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLCBzZWxmKS5fX2luaXRfXygpCisrICAgICAgICBz ZWxmLmFjdGl2ZV90YWcgPSBzZWxmLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB2YWx1ZSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnX3By ZWZpeCwgdmFsdWVfc2VwKQorKyAgICAgICAgc2VsZi5jYXRlZ29yeV90YWdfcHJlZml4ID0gc2Vs Zi5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgTm9uZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnX3ByZWZpeCwgdmFsdWVf c2VwKQorKworKyAgICBkZWYgc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmLCB0YWdzKToKKysgICAg ICAgIGNhdGVnb3J5X3RhZ3MgPSBzZWxmLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpCisrICAg ICAgICBpZiBjYXRlZ29yeV90YWdzIGFuZCBzZWxmLmFjdGl2ZV90YWcgbm90IGluIGNhdGVnb3J5 X3RhZ3M6CisrICAgICAgICAgICAgcmV0dXJuIFRydWUKKysgICAgICAgICMgLS0gT1RIRVJXSVNF OiBmZWF0dXJlL3NjZW5hcmlvIHdpdGggdGhlc2VzIHRhZ3Mgc2hvdWxkIHJ1bi4KKysgICAgICAg IHJldHVybiBGYWxzZQorKworKyAgICBkZWYgc2VsZWN0X2NhdGVnb3J5X3RhZ3Moc2VsZiwgdGFn cyk6CisrICAgICAgICByZXR1cm4gW3RhZyAgZm9yIHRhZyBpbiB0YWdzCisrICAgICAgICAgICAg ICAgIGlmIHRhZy5zdGFydHN3aXRoKHNlbGYuY2F0ZWdvcnlfdGFnX3ByZWZpeCldCisrCisrICAg IEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFrZV9jYXRlZ29yeV90YWcoY2xzLCBjYXRlZ29yeSwg dmFsdWU9Tm9uZSwgdGFnX3ByZWZpeD1Ob25lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg dmFsdWVfc2VwPU5vbmUpOgorKyAgICAgICAgaWYgdGFnX3ByZWZpeCBpcyBOb25lOgorKyAgICAg ICAgICAgIHRhZ19wcmVmaXggPSBjbHMudGFnX3ByZWZpeAorKyAgICAgICAgaWYgdmFsdWVfc2Vw IGlzIE5vbmU6CisrICAgICAgICAgICAgdmFsdWVfc2VwID0gY2xzLnZhbHVlX3NlcGFyYXRvcgor KyAgICAgICAgdmFsdWUgPSB2YWx1ZSBvciAiIgorKyAgICAgICAgcmV0dXJuICIlcyVzJXMlcyIg JSAodGFnX3ByZWZpeCwgY2F0ZWdvcnksIHZhbHVlX3NlcCwgdmFsdWUpCisrCisrCisrY2xhc3Mg T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisrICAgICIiIgorKyAg ICBQcm92aWRlcyBhIHRhZyBtYXRjaGVyIHRoYXQgbWF0Y2hlcyBhbnkgY2F0ZWdvcnkgdGhhdCBm b2xsb3dzIHRoZQorKyAgICAiQG9ubHkud2l0aF8iIHRhZyBzY2hlbWEgYW5kIGRldGVybWluZXMg aWYgaXQgc2hvdWxkIHJ1biBvcgorKyAgICBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUgcnVu LXNldCAoYXQgcnVudGltZSkuCisrCisrICAgIFRBRyBTQ0hFTUE6IEBvbmx5LndpdGhfe2NhdGVn b3J5fT17dmFsdWV9CisrCisrICAgIC4uIHNlZWFsc286OiBPbmx5V2l0aENhdGVnb3J5VGFnTWF0 Y2hlcgorKyAgICAuLiBkZXByZWNhdGVkOjogVXNlIDpjbGFzczpgQWN0aXZlVGFnTWF0Y2hlcmAg aW5zdGVhZC4KKysKKysgICAgRVhBTVBMRToKKysgICAgLS0tLS0tLS0KKysKKysgICAgUnVuIHNv bWUgc2NlbmFyaW9zIG9ubHkgd2hlbiBydW50aW1lIGNvbmRpdGlvbnMgYXJlIG1ldDoKKysKKysg ICAgICAqIFJ1biBzY2VuYXJpbyBBbGljZSBvbmx5IG9uIFdpbmRvd3MgT1MKKysgICAgICAqIFJ1 biBzY2VuYXJpbyBCb2Igb25seSB3aXRoIGJyb3dzZXIgQ2hyb21lCisrCisrICAgIC4uIGNvZGUt YmxvY2s6OiBnaGVya2luCisrCisrICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2FsaWNlLmZl YXR1cmUKKysgICAgICAgICMgVEFHIFNDSEVNQTogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PXtjdXJy ZW50X3ZhbHVlfQorKyAgICAgICAgRmVhdHVyZToKKysKKysgICAgICAgICAgQG9ubHkud2l0aF9v cz13aW4zMgorKyAgICAgICAgICBTY2VuYXJpbzogQWxpY2UgKFJ1biBvbmx5IG9uIFdpbmRvd3Mp CisrICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcKKysgICAgICAgICAgICAuLi4KKysK KysgICAgICAgICAgQG9ubHkud2l0aF9icm93c2VyPWNocm9tZQorKyAgICAgICAgICBTY2VuYXJp bzogQm9iIChSdW4gb25seSB3aXRoIFdlYi1Ccm93c2VyIENocm9tZSkKKysgICAgICAgICAgICBH aXZlbiBJIGRvIHNvbWV0aGluZyBlbHNlCisrICAgICAgICAgICAgLi4uCisrCisrCisrICAgIC4u IGNvZGUtYmxvY2s6OiBweXRob24KKysKKysgICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52 aXJvbm1lbnQucHkKKysgICAgICAgIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBPbmx5 V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorKyAgICAgICAgaW1wb3J0IHN5cworKworKyAgICAg ICAgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAb25seS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQor KyAgICAgICAgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGN1cnJl bnQgY2F0ZWdvcnkgdmFsdWVzLgorKyAgICAgICAgYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9 IHsKKysgICAgICAgICAgICAiYnJvd3NlciI6IG9zLmVudmlyb24uZ2V0KCJCRUhBVkVfQlJPV1NF UiIsICJjaHJvbWUiKSwKKysgICAgICAgICAgICAib3MiOiAgICAgIHN5cy5wbGF0Zm9ybSwKKysg ICAgICAgIH0KKysgICAgICAgIGFjdGl2ZV90YWdfbWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdv cnlUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisrCisrICAgICAgICBkZWYg YmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKysgICAgICAgICAgICBpZiBhY3Rp dmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFn cyk6CisrICAgICAgICAgICAgICAgIHNjZW5hcmlvLnNraXAoKSAgICM8IExBVEUtRVhDTFVERSBm cm9tIHJ1bi1zZXQuCisrICAgICIiIgorKworKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWVf cHJvdmlkZXIsIHRhZ19wcmVmaXg9Tm9uZSwgdmFsdWVfc2VwPU5vbmUpOgorKyAgICAgICAgd2Fy bmluZ3Mud2FybigiVXNlIEFjdGl2ZVRhZ01hdGNoZXIgaW5zdGVhZC4iLCBEZXByZWNhdGlvbldh cm5pbmcpCisrICAgICAgICBzdXBlcihPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlciwgc2Vs ZikuX19pbml0X18oKQorKyAgICAgICAgaWYgdmFsdWVfc2VwIGlzIE5vbmU6CisrICAgICAgICAg ICAgdmFsdWVfc2VwID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIudmFsdWVfc2VwYXJhdG9y CisrICAgICAgICBzZWxmLnZhbHVlX3Byb3ZpZGVyID0gdmFsdWVfcHJvdmlkZXIKKysgICAgICAg IHNlbGYudGFnX3ByZWZpeCA9IHRhZ19wcmVmaXggb3IgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNo ZXIudGFnX3ByZWZpeAorKyAgICAgICAgc2VsZi52YWx1ZV9zZXBhcmF0b3IgPSB2YWx1ZV9zZXAK KysKKysgICAgZGVmIHNob3VsZF9leGNsdWRlX3dpdGgoc2VsZiwgdGFncyk6CisrICAgICAgICBl eGNsdWRlX2RlY2lzaW9uX21hcCA9IHt9CisrICAgICAgICBmb3IgY2F0ZWdvcnlfdGFnIGluIHNl bGYuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncyk6CisrICAgICAgICAgICAgY2F0ZWdvcnksIHZh bHVlID0gc2VsZi5wYXJzZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnlfdGFnKQorKyAgICAgICAgICAg IGFjdGl2ZV92YWx1ZSA9IHNlbGYudmFsdWVfcHJvdmlkZXIuZ2V0KGNhdGVnb3J5LCBOb25lKQor KyAgICAgICAgICAgIGlmIGFjdGl2ZV92YWx1ZSBpcyBOb25lOgorKyAgICAgICAgICAgICAgICAj IC0tIENBU0U6IFVua25vd24gY2F0ZWdvcnksIGlnbm9yZSBpdC4KKysgICAgICAgICAgICAgICAg Y29udGludWUKKysgICAgICAgICAgICBlbGlmIGFjdGl2ZV92YWx1ZSA9PSB2YWx1ZToKKysgICAg ICAgICAgICAgICAgIyAtLSBDQVNFOiBBY3RpdmUgY2F0ZWdvcnkgdmFsdWUgc2VsZWN0ZWQsIGRl Y2lzaW9uIHNob3VsZCBydW4uCisrICAgICAgICAgICAgICAgIGV4Y2x1ZGVfZGVjaXNpb25fbWFw W2NhdGVnb3J5XSA9IEZhbHNlCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAg IyAtLSBDQVNFOiBJbmFjdGl2ZSBjYXRlZ29yeSB2YWx1ZSBzZWxlY3RlZCwgbWF5IGV4Y2x1ZGUg aXQuCisrICAgICAgICAgICAgICAgIGlmIGNhdGVnb3J5IG5vdCBpbiBleGNsdWRlX2RlY2lzaW9u X21hcDoKKysgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGVfZGVjaXNpb25fbWFwW2NhdGVnb3J5 XSA9IFRydWUKKysgICAgICAgIHJldHVybiBhbnkoZXhjbHVkZV9kZWNpc2lvbl9tYXAudmFsdWVz KCkpCisrCisrICAgIGRlZiBzZWxlY3RfY2F0ZWdvcnlfdGFncyhzZWxmLCB0YWdzKToKKysgICAg ICAgIHJldHVybiBbdGFnICBmb3IgdGFnIGluIHRhZ3MKKysgICAgICAgICAgICAgICAgaWYgdGFn LnN0YXJ0c3dpdGgoc2VsZi50YWdfcHJlZml4KV0KKysKKysgICAgZGVmIHBhcnNlX2NhdGVnb3J5 X3RhZyhzZWxmLCB0YWcpOgorKyAgICAgICAgYXNzZXJ0IHRhZyBhbmQgdGFnLnN0YXJ0c3dpdGgo c2VsZi50YWdfcHJlZml4KQorKyAgICAgICAgY2F0ZWdvcnlfdmFsdWUgPSB0YWdbbGVuKHNlbGYu dGFnX3ByZWZpeCk6XQorKyAgICAgICAgaWYgc2VsZi52YWx1ZV9zZXBhcmF0b3IgaW4gY2F0ZWdv cnlfdmFsdWU6CisrICAgICAgICAgICAgY2F0ZWdvcnksIHZhbHVlID0gY2F0ZWdvcnlfdmFsdWUu c3BsaXQoc2VsZi52YWx1ZV9zZXBhcmF0b3IsIDEpCisrICAgICAgICBlbHNlOgorKyAgICAgICAg ICAgICMgLS0gT09QUzogVEFHIFNDSEVNQSBGT1JNQVQgTUlTTUFUQ0gKKysgICAgICAgICAgICBj YXRlZ29yeSA9IGNhdGVnb3J5X3ZhbHVlCisrICAgICAgICAgICAgdmFsdWUgPSBOb25lCisrICAg ICAgICByZXR1cm4gY2F0ZWdvcnksIHZhbHVlCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3RhZ19tYXRj aGVyLnB5IGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitpbmRleCBmMWY5NTViLi41ZjlkY2UwIDEw MDY0NAorLS0tIGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CisrKysgYi9iZWhhdmUvdGFnX21hdGNo ZXIucHkKK0BAIC0xLDkgKzEsMTIgQEAKKy0jIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgLSot IGNvZGluZzogVVRGLTggLSotCisrIiIiCisrQ29udGFpbnMgY2xhc3NlcyBhbmQgZnVuY3Rpb25h bGl0eSB0byBwcm92aWRlIGEgc2tpcC1pZiBsb2dpYyBiYXNlZCBvbiB0YWdzCisraW4gZmVhdHVy ZSBmaWxlcy4KKysiIiIKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dAorIGltcG9ydCByZQorIGltcG9ydCBvcGVyYXRvcgorLWltcG9ydCB3YXJuaW5ncworIGltcG9y dCBzaXgKKyAKKyAKK0BAIC0zNCwxMCArMzcsMTAgQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihU YWdNYXRjaGVyKToKKyAgICAgIiIiUHJvdmlkZXMgYW4gYWN0aXZlIHRhZyBtYXRjaGVyIGZvciBt YW55IGNhdGVnb3JpZXMuCisgCisgICAgIFRBRyBTQ0hFTUE6CistICAgICAgKiBhY3RpdmUud2l0 aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKy0gICAgICAqIG5vdF9hY3RpdmUud2l0aF97Y2F0ZWdvcnl9 PXt2YWx1ZX0KKyAgICAgICAqIHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICAgICAgICog bm90LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisrICAgICAgKiBhY3RpdmUud2l0aF97Y2F0ZWdv cnl9PXt2YWx1ZX0KKysgICAgICAqIG5vdF9hY3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0K KyAgICAgICAqIG9ubHkud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0gICAgICAgIChOT1RFOiBGb3Ig YmFja3dhcmQgY29tcGF0aWJpbGl0eSkKKyAKKyAgICAgVEFHIExPR0lDCitAQCAtMjg1LDE4MSAr Mjg4LDMgQEAgZGVmIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVzLCBk YXRhKToKKyAgICAgZm9yIGNhdGVnb3J5IGluIGxpc3QoYWN0aXZlX3RhZ192YWx1ZXMua2V5cygp KToKKyAgICAgICAgIGlmIGNhdGVnb3J5IGluIGRhdGE6CisgICAgICAgICAgICAgYWN0aXZlX3Rh Z192YWx1ZXNbY2F0ZWdvcnldID0gZGF0YVtjYXRlZ29yeV0KKy0KKy0KKy0jIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCistIyBQUk9UT1RZUElORyBDTEFTU0VTOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKy1jbGFzcyBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKy0gICAg IiIiCistICAgIFByb3ZpZGVzIGEgdGFnIG1hdGNoZXIgdGhhdCBhbGxvd3MgdG8gZGV0ZXJtaW5l IGlmIGZlYXR1cmUvc2NlbmFyaW8KKy0gICAgc2hvdWxkIHJ1biBvciBzaG91bGQgYmUgZXhjbHVk ZWQgZnJvbSB0aGUgcnVuLXNldCAoYXQgcnVudGltZSkuCistCistICAgIC4uIGRlcHJlY2F0ZWQ6 OiBVc2UgOmNsYXNzOmBBY3RpdmVUYWdNYXRjaGVyYCBpbnN0ZWFkLgorLQorLSAgICBFWEFNUExF OgorLSAgICAtLS0tLS0tLQorLQorLSAgICBSdW4gc29tZSBzY2VuYXJpb3Mgb25seSB3aGVuIHJ1 bnRpbWUgY29uZGl0aW9ucyBhcmUgbWV0OgorLQorLSAgICAgICogUnVuIHNjZW5hcmlvIEFsaWNl IG9ubHkgb24gV2luZG93cyBPUworLSAgICAgICogUnVuIHNjZW5hcmlvIEJvYiBvbmx5IG9uIE1B Q09TWAorLQorLSAgICAuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorLQorLSAgICAgICAgIyAtLSBG SUxFOiBmZWF0dXJlcy9hbGljZS5mZWF0dXJlCistICAgICAgICAjIFRBRyBTQ0hFTUE6IEBvbmx5 LndpdGhfe2NhdGVnb3J5fT17Y3VycmVudF92YWx1ZX0KKy0gICAgICAgIEZlYXR1cmU6CistCist ICAgICAgICAgIEBvbmx5LndpdGhfb3M9d2luMzIKKy0gICAgICAgICAgU2NlbmFyaW86IEFsaWNl IChSdW4gb25seSBvbiBXaW5kb3dzKQorLSAgICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5n CistICAgICAgICAgICAgLi4uCistCistICAgICAgICAgIEBvbmx5LndpdGhfb3M9ZGFyd2luCist ICAgICAgICAgIFNjZW5hcmlvOiBCb2IgKFJ1biBvbmx5IG9uIE1BQ09TWCkKKy0gICAgICAgICAg ICBHaXZlbiBJIGRvIHNvbWV0aGluZyBlbHNlCistICAgICAgICAgICAgLi4uCistCistCistICAg IC4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0KKy0gICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMv ZW52aXJvbm1lbnQucHkKKy0gICAgICAgIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBP bmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICAgICAgaW1wb3J0IHN5cworLQorLSAgICAg ICAgIyAtLSBNQVRDSEVTIFRBR1M6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT0qID0gQG9ubHkud2l0 aF9vcz0qCistICAgICAgICBhY3RpdmVfdGFnX21hdGNoZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFn TWF0Y2hlcigib3MiLCBzeXMucGxhdGZvcm0pCistCistICAgICAgICBkZWYgYmVmb3JlX3NjZW5h cmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKy0gICAgICAgICAgICBpZiBhY3RpdmVfdGFnX21hdGNo ZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CistICAgICAg ICAgICAgICAgIHNjZW5hcmlvLnNraXAoKSAgICM8IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQu CistICAgICIiIgorLSAgICB0YWdfcHJlZml4ID0gIm9ubHkud2l0aF8iCistICAgIHZhbHVlX3Nl cGFyYXRvciA9ICI9IgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgY2F0ZWdvcnksIHZhbHVl LCB0YWdfcHJlZml4PU5vbmUsIHZhbHVlX3NlcD1Ob25lKToKKy0gICAgICAgIHdhcm5pbmdzLndh cm4oIlVzZSBBY3RpdmVUYWdNYXRjaGVyIGluc3RlYWQuIiwgRGVwcmVjYXRpb25XYXJuaW5nKQor LSAgICAgICAgc3VwZXIoT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIsIHNlbGYpLl9faW5pdF9f KCkKKy0gICAgICAgIHNlbGYuYWN0aXZlX3RhZyA9IHNlbGYubWFrZV9jYXRlZ29yeV90YWcoY2F0 ZWdvcnksIHZhbHVlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0YWdfcHJlZml4LCB2YWx1ZV9zZXApCistICAgICAgICBzZWxmLmNhdGVnb3J5X3Rh Z19wcmVmaXggPSBzZWxmLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCBOb25lLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdf cHJlZml4LCB2YWx1ZV9zZXApCistCistICAgIGRlZiBzaG91bGRfZXhjbHVkZV93aXRoKHNlbGYs IHRhZ3MpOgorLSAgICAgICAgY2F0ZWdvcnlfdGFncyA9IHNlbGYuc2VsZWN0X2NhdGVnb3J5X3Rh Z3ModGFncykKKy0gICAgICAgIGlmIGNhdGVnb3J5X3RhZ3MgYW5kIHNlbGYuYWN0aXZlX3RhZyBu b3QgaW4gY2F0ZWdvcnlfdGFnczoKKy0gICAgICAgICAgICByZXR1cm4gVHJ1ZQorLSAgICAgICAg IyAtLSBPVEhFUldJU0U6IGZlYXR1cmUvc2NlbmFyaW8gd2l0aCB0aGVzZXMgdGFncyBzaG91bGQg cnVuLgorLSAgICAgICAgcmV0dXJuIEZhbHNlCistCistICAgIGRlZiBzZWxlY3RfY2F0ZWdvcnlf dGFncyhzZWxmLCB0YWdzKToKKy0gICAgICAgIHJldHVybiBbdGFnICBmb3IgdGFnIGluIHRhZ3MK Ky0gICAgICAgICAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoc2VsZi5jYXRlZ29yeV90YWdfcHJl Zml4KV0KKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBtYWtlX2NhdGVnb3J5X3RhZyhj bHMsIGNhdGVnb3J5LCB2YWx1ZT1Ob25lLCB0YWdfcHJlZml4PU5vbmUsCistICAgICAgICAgICAg ICAgICAgICAgICAgICB2YWx1ZV9zZXA9Tm9uZSk6CistICAgICAgICBpZiB0YWdfcHJlZml4IGlz IE5vbmU6CistICAgICAgICAgICAgdGFnX3ByZWZpeCA9IGNscy50YWdfcHJlZml4CistICAgICAg ICBpZiB2YWx1ZV9zZXAgaXMgTm9uZToKKy0gICAgICAgICAgICB2YWx1ZV9zZXAgPSBjbHMudmFs dWVfc2VwYXJhdG9yCistICAgICAgICB2YWx1ZSA9IHZhbHVlIG9yICIiCistICAgICAgICByZXR1 cm4gIiVzJXMlcyVzIiAlICh0YWdfcHJlZml4LCBjYXRlZ29yeSwgdmFsdWVfc2VwLCB2YWx1ZSkK Ky0KKy0KKy1jbGFzcyBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcihUYWdNYXRjaGVyKToK Ky0gICAgIiIiCistICAgIFByb3ZpZGVzIGEgdGFnIG1hdGNoZXIgdGhhdCBtYXRjaGVzIGFueSBj YXRlZ29yeSB0aGF0IGZvbGxvd3MgdGhlCistICAgICJAb25seS53aXRoXyIgdGFnIHNjaGVtYSBh bmQgZGV0ZXJtaW5lcyBpZiBpdCBzaG91bGQgcnVuIG9yCistICAgIHNob3VsZCBiZSBleGNsdWRl ZCBmcm9tIHRoZSBydW4tc2V0IChhdCBydW50aW1lKS4KKy0KKy0gICAgVEFHIFNDSEVNQTogQG9u bHkud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKy0KKy0gICAgLi4gc2VlYWxzbzo6IE9ubHlXaXRo Q2F0ZWdvcnlUYWdNYXRjaGVyCistICAgIC4uIGRlcHJlY2F0ZWQ6OiBVc2UgOmNsYXNzOmBBY3Rp dmVUYWdNYXRjaGVyYCBpbnN0ZWFkLgorLQorLSAgICBFWEFNUExFOgorLSAgICAtLS0tLS0tLQor LQorLSAgICBSdW4gc29tZSBzY2VuYXJpb3Mgb25seSB3aGVuIHJ1bnRpbWUgY29uZGl0aW9ucyBh cmUgbWV0OgorLQorLSAgICAgICogUnVuIHNjZW5hcmlvIEFsaWNlIG9ubHkgb24gV2luZG93cyBP UworLSAgICAgICogUnVuIHNjZW5hcmlvIEJvYiBvbmx5IHdpdGggYnJvd3NlciBDaHJvbWUKKy0K Ky0gICAgLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKy0KKy0gICAgICAgICMgLS0gRklMRTogZmVh dHVyZXMvYWxpY2UuZmVhdHVyZQorLSAgICAgICAgIyBUQUcgU0NIRU1BOiBAb25seS53aXRoX3tj YXRlZ29yeX09e2N1cnJlbnRfdmFsdWV9CistICAgICAgICBGZWF0dXJlOgorLQorLSAgICAgICAg ICBAb25seS53aXRoX29zPXdpbjMyCistICAgICAgICAgIFNjZW5hcmlvOiBBbGljZSAoUnVuIG9u bHkgb24gV2luZG93cykKKy0gICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGluZworLSAgICAg ICAgICAgIC4uLgorLQorLSAgICAgICAgICBAb25seS53aXRoX2Jyb3dzZXI9Y2hyb21lCistICAg ICAgICAgIFNjZW5hcmlvOiBCb2IgKFJ1biBvbmx5IHdpdGggV2ViLUJyb3dzZXIgQ2hyb21lKQor LSAgICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5nIGVsc2UKKy0gICAgICAgICAgICAuLi4K Ky0KKy0KKy0gICAgLi4gY29kZS1ibG9jazo6IHB5dGhvbgorLQorLSAgICAgICAgIyAtLSBGSUxF OiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorLSAgICAgICAgZnJvbSBiZWhhdmUudGFnX21hdGNo ZXIgaW1wb3J0IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCistICAgICAgICBpbXBvcnQg c3lzCistCistICAgICAgICAjIC0tIE1BVENIRVMgQU5ZIFRBR1M6IEBvbmx5LndpdGhfe2NhdGVn b3J5fT17dmFsdWV9CistICAgICAgICAjIE5PVEU6IGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIg cHJvdmlkZXMgY3VycmVudCBjYXRlZ29yeSB2YWx1ZXMuCistICAgICAgICBhY3RpdmVfdGFnX3Zh bHVlX3Byb3ZpZGVyID0geworLSAgICAgICAgICAgICJicm93c2VyIjogb3MuZW52aXJvbi5nZXQo IkJFSEFWRV9CUk9XU0VSIiwgImNocm9tZSIpLAorLSAgICAgICAgICAgICJvcyI6ICAgICAgc3lz LnBsYXRmb3JtLAorLSAgICAgICAgfQorLSAgICAgICAgYWN0aXZlX3RhZ19tYXRjaGVyID0gT25s eVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKy0K Ky0gICAgICAgIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorLSAgICAg ICAgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlv LmVmZmVjdGl2ZV90YWdzKToKKy0gICAgICAgICAgICAgICAgc2NlbmFyaW8uc2tpcCgpICAgIzwg TEFURS1FWENMVURFIGZyb20gcnVuLXNldC4KKy0gICAgIiIiCistCistICAgIGRlZiBfX2luaXRf XyhzZWxmLCB2YWx1ZV9wcm92aWRlciwgdGFnX3ByZWZpeD1Ob25lLCB2YWx1ZV9zZXA9Tm9uZSk6 CistICAgICAgICB3YXJuaW5ncy53YXJuKCJVc2UgQWN0aXZlVGFnTWF0Y2hlciBpbnN0ZWFkLiIs IERlcHJlY2F0aW9uV2FybmluZykKKy0gICAgICAgIHN1cGVyKE9ubHlXaXRoQW55Q2F0ZWdvcnlU YWdNYXRjaGVyLCBzZWxmKS5fX2luaXRfXygpCistICAgICAgICBpZiB2YWx1ZV9zZXAgaXMgTm9u ZToKKy0gICAgICAgICAgICB2YWx1ZV9zZXAgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci52 YWx1ZV9zZXBhcmF0b3IKKy0gICAgICAgIHNlbGYudmFsdWVfcHJvdmlkZXIgPSB2YWx1ZV9wcm92 aWRlcgorLSAgICAgICAgc2VsZi50YWdfcHJlZml4ID0gdGFnX3ByZWZpeCBvciBPbmx5V2l0aENh dGVnb3J5VGFnTWF0Y2hlci50YWdfcHJlZml4CistICAgICAgICBzZWxmLnZhbHVlX3NlcGFyYXRv ciA9IHZhbHVlX3NlcAorLQorLSAgICBkZWYgc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmLCB0YWdz KToKKy0gICAgICAgIGV4Y2x1ZGVfZGVjaXNpb25fbWFwID0ge30KKy0gICAgICAgIGZvciBjYXRl Z29yeV90YWcgaW4gc2VsZi5zZWxlY3RfY2F0ZWdvcnlfdGFncyh0YWdzKToKKy0gICAgICAgICAg ICBjYXRlZ29yeSwgdmFsdWUgPSBzZWxmLnBhcnNlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeV90YWcp CistICAgICAgICAgICAgYWN0aXZlX3ZhbHVlID0gc2VsZi52YWx1ZV9wcm92aWRlci5nZXQoY2F0 ZWdvcnksIE5vbmUpCistICAgICAgICAgICAgaWYgYWN0aXZlX3ZhbHVlIGlzIE5vbmU6CistICAg ICAgICAgICAgICAgICMgLS0gQ0FTRTogVW5rbm93biBjYXRlZ29yeSwgaWdub3JlIGl0LgorLSAg ICAgICAgICAgICAgICBjb250aW51ZQorLSAgICAgICAgICAgIGVsaWYgYWN0aXZlX3ZhbHVlID09 IHZhbHVlOgorLSAgICAgICAgICAgICAgICAjIC0tIENBU0U6IEFjdGl2ZSBjYXRlZ29yeSB2YWx1 ZSBzZWxlY3RlZCwgZGVjaXNpb24gc2hvdWxkIHJ1bi4KKy0gICAgICAgICAgICAgICAgZXhjbHVk ZV9kZWNpc2lvbl9tYXBbY2F0ZWdvcnldID0gRmFsc2UKKy0gICAgICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgICAgICAjIC0tIENBU0U6IEluYWN0aXZlIGNhdGVnb3J5IHZhbHVlIHNlbGVjdGVk LCBtYXkgZXhjbHVkZSBpdC4KKy0gICAgICAgICAgICAgICAgaWYgY2F0ZWdvcnkgbm90IGluIGV4 Y2x1ZGVfZGVjaXNpb25fbWFwOgorLSAgICAgICAgICAgICAgICAgICAgZXhjbHVkZV9kZWNpc2lv bl9tYXBbY2F0ZWdvcnldID0gVHJ1ZQorLSAgICAgICAgcmV0dXJuIGFueShleGNsdWRlX2RlY2lz aW9uX21hcC52YWx1ZXMoKSkKKy0KKy0gICAgZGVmIHNlbGVjdF9jYXRlZ29yeV90YWdzKHNlbGYs IHRhZ3MpOgorLSAgICAgICAgcmV0dXJuIFt0YWcgIGZvciB0YWcgaW4gdGFncworLSAgICAgICAg ICAgICAgICBpZiB0YWcuc3RhcnRzd2l0aChzZWxmLnRhZ19wcmVmaXgpXQorLQorLSAgICBkZWYg cGFyc2VfY2F0ZWdvcnlfdGFnKHNlbGYsIHRhZyk6CistICAgICAgICBhc3NlcnQgdGFnIGFuZCB0 YWcuc3RhcnRzd2l0aChzZWxmLnRhZ19wcmVmaXgpCistICAgICAgICBjYXRlZ29yeV92YWx1ZSA9 IHRhZ1tsZW4oc2VsZi50YWdfcHJlZml4KTpdCistICAgICAgICBpZiBzZWxmLnZhbHVlX3NlcGFy YXRvciBpbiBjYXRlZ29yeV92YWx1ZToKKy0gICAgICAgICAgICBjYXRlZ29yeSwgdmFsdWUgPSBj YXRlZ29yeV92YWx1ZS5zcGxpdChzZWxmLnZhbHVlX3NlcGFyYXRvciwgMSkKKy0gICAgICAgIGVs c2U6CistICAgICAgICAgICAgIyAtLSBPT1BTOiBUQUcgU0NIRU1BIEZPUk1BVCBNSVNNQVRDSAor LSAgICAgICAgICAgIGNhdGVnb3J5ID0gY2F0ZWdvcnlfdmFsdWUKKy0gICAgICAgICAgICB2YWx1 ZSA9IE5vbmUKKy0gICAgICAgIHJldHVybiBjYXRlZ29yeSwgdmFsdWUKK2RpZmYgLS1naXQgYS90 ZXN0cy5hdHRpYy9fX2luaXRfXy5weSBiL3Rlc3RzLmF0dGljL19faW5pdF9fLnB5CituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZTY5ZGUyOQorZGlmZiAtLWdpdCBhL3Rlc3Rz LmF0dGljL3VuaXQvX19pbml0X18ucHkgYi90ZXN0cy5hdHRpYy91bml0L19faW5pdF9fLnB5Citu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZTY5ZGUyOQorZGlmZiAtLWdpdCBh L3Rlc3RzLmF0dGljL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSBiL3Rlc3RzLmF0dGljL3VuaXQv dGVzdF90YWdfbWF0Y2hlci5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LmQ3NjdmYTcKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzLmF0dGljL3VuaXQvdGVzdF90YWdf bWF0Y2hlci5weQorQEAgLTAsMCArMSwyODAgQEAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBQUk9UT1RZUElORyBDTEFTU0VTIChkZXByZWNhdGluZykgLS0gU2hvdWxkIG5vIGxvbmdlciBi ZSB1c2VkLgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytpbXBvcnQgd2FybmluZ3MKKytm cm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2FzZQorK2Zyb20gYmVoYXZlLmF0dGljLnRhZ19tYXRj aGVyIGltcG9ydCBcCisrICAgIE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLCAgT25seVdpdGhB bnlDYXRlZ29yeVRhZ01hdGNoZXIKKysKKysKKytjbGFzcyBUZXN0T25seVdpdGhDYXRlZ29yeVRh Z01hdGNoZXIoVGVzdENhc2UpOgorKyAgICBUYWdNYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRh Z01hdGNoZXIKKysKKysgICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgY2F0ZWdvcnkgPSAi eHh4IgorKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorKyAgICAgICAg ICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQor KyAgICAgICAgICAgIHNlbGYudGFnX21hdGNoZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hl cihjYXRlZ29yeSwgImFsaWNlIikKKysgICAgICAgIHNlbGYuZW5hYmxlZF90YWcgPSBzZWxmLlRh Z01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJhbGljZSIpCisrICAgICAgICBz ZWxmLnNpbWlsYXJfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVn b3J5LCAiYWxpY2UyIikKKysgICAgICAgIHNlbGYub3RoZXJfdGFnID0gc2VsZi5UYWdNYXRjaGVy Lm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAib3RoZXIiKQorKyAgICAgICAgc2VsZi5jYXRl Z29yeSA9IGNhdGVnb3J5CisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3Jl dHVybnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZyhzZWxmKToKKysgICAgICAgIHRhZ3MgPSBbIHNl bGYuZW5hYmxlZF90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50 YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9z aG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWdfYW5kX21v cmUoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHNl bGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAg ICAgICAgIChbIHNlbGYub3RoZXJfdGFnLCBzZWxmLmVuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0 IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJf dGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBmb3Ig dGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykp CisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRo X290aGVyX3RhZyhzZWxmKToKKysgICAgICAgIHRhZ3MgPSBbIHNlbGYub3RoZXJfdGFnIF0KKysg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19y ZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWdfYW5kX21vcmUoc2VsZik6CisrICAgICAgICB0ZXN0 X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHNlbGYub3RoZXJfdGFnLCAiZm9vIiBdLCAi Y2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgc2VsZi5vdGhlcl90YWcgXSwg ImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgc2VsZi5vdGhlcl90YWcsICJi YXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBj YXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVl LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFy X3RhZyhzZWxmKToKKysgICAgICAgIHRhZ3MgPSBbIHNlbGYuc2ltaWxhcl90YWcgXQorKyAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRl X3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVy bnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21vcmUoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRl cm5zID0gWworKyAgICAgICAgICAgIChbIHNlbGYuc2ltaWxhcl90YWcsICJmb28iIF0sICJjYXNl OiBmaXJzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnIF0sICJj YXNlOiBsYXN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYuc2ltaWxhcl90YWcsICJi YXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBj YXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVl LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhvdXRfY2F0 ZWdvcnlfdGFnKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAg ICAoWyBdLCAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKysgICAgICAgICAgICAoWyAiZm9v IiBdLCAgICAgImNhc2U6IE9uZSB0YWciKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgImJhciIg XSwgImNhc2U6IFR3byB0YWdzIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2Fz ZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2Us IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAg IGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9fbmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4Y2x1 ZGVfd2l0aChzZWxmKToKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAg KFsgXSwgICAgICAgICAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKysgICAgICAgICAgICAo WyAiZm9vIiBdLCAgICAgICAgICAgICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKysg ICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29y eSB0YWdzIiksCisrICAgICAgICAgICAgKFsgc2VsZi5lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBl bmFibGVkIHRhZyIpLAorKyAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3Ro ZXJfdGFnIF0sICAiY2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFnIiksCisrICAgICAgICAgICAg KFsgc2VsZi5lbmFibGVkX3RhZywgImZvbyIgXSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0 YWciKSwKKysgICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZyBdLCAgICAgICAgICAgICJjYXNl OiBvdGhlciB0YWciKSwKKysgICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwg ICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIpLAorKyAgICAgICAgICAgIChbIHNlbGYuc2lt aWxhcl90YWcgXSwgICAgICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiksCisrICAgICAgICAgICAg KFsgImZvbyIsIHNlbGYuc2ltaWxhcl90YWcgXSwgICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRh ZyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJu czoKKysgICAgICAgICAgICByZXN1bHQxID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dp dGgodGFncykKKysgICAgICAgICAgICByZXN1bHQyID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQx LCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysgICAgICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQxLCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUg KGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9tYWtlX2NhdGVnb3J5X3RhZ19fcmV0dXJu c19jYXRlZ29yeV90YWdfcHJlZml4X3dpdGhvdXRfdmFsdWUoc2VsZik6CisrICAgICAgICBjYXRl Z29yeSA9ICJ4eHgiCisrICAgICAgICB0YWcxID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIu bWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnkpCisrICAgICAgICB0YWcyID0gT25seVdpdGhDYXRl Z29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIE5vbmUpCisrICAgICAg ICB0YWczID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0 ZWdvcnksIHZhbHVlPU5vbmUpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhf eHh4PSIsIHRhZzEpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIs IHRhZzIpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzMp CisrICAgICAgICBzZWxmLmFzc2VydFRydWUodGFnMS5zdGFydHN3aXRoKE9ubHlXaXRoQ2F0ZWdv cnlUYWdNYXRjaGVyLnRhZ19wcmVmaXgpKQorKworKyAgICBkZWYgdGVzdF9tYWtlX2NhdGVnb3J5 X3RhZ19fcmV0dXJuc19jYXRlZ29yeV90YWdfd2l0aF92YWx1ZShzZWxmKToKKysgICAgICAgIGNh dGVnb3J5ID0gInh4eCIKKysgICAgICAgIHRhZzEgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hl ci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlIikKKysgICAgICAgIHRhZzIgPSBP bmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImJv YiIpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PWFsaWNlIiwgdGFn MSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIm9ubHkud2l0aF94eHg9Ym9iIiwgdGFnMikK KysKKysgICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFn X3dpdGhfdGFnX3ByZWZpeChzZWxmKToKKysgICAgICAgIG15X3RhZ19wcmVmaXggPSAiT05MWV9X SVRILiIKKysgICAgICAgIGNhdGVnb3J5ID0gInh4eCIKKysgICAgICAgIFRhZ01hdGNoZXIgPSBP bmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorKyAgICAgICAgdGFnMCA9IFRhZ01hdGNoZXIubWFr ZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIHRhZ19wcmVmaXg9bXlfdGFnX3ByZWZpeCkKKysgICAg ICAgIHRhZzEgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2Ui LCBteV90YWdfcHJlZml4KQorKyAgICAgICAgdGFnMiA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29y eV90YWcoY2F0ZWdvcnksICJib2IiLCB0YWdfcHJlZml4PW15X3RhZ19wcmVmaXgpCisrICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PSIsIHRhZzApCisrICAgICAgICBzZWxm LmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PWFsaWNlIiwgdGFnMSkKKysgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoIk9OTFlfV0lUSC54eHg9Ym9iIiwgdGFnMikKKysgICAgICAgIHNlbGYuYXNz ZXJ0VHJ1ZSh0YWcxLnN0YXJ0c3dpdGgobXlfdGFnX3ByZWZpeCkpCisrCisrICAgIGRlZiB0ZXN0 X2N0b3JfX3dpdGhfdGFnX3ByZWZpeChzZWxmKToKKysgICAgICAgIHRhZ19wcmVmaXggPSAiT05M WV9XSVRILiIKKysgICAgICAgIHRhZ19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNo ZXIoInh4eCIsICJhbGljZSIsIHRhZ19wcmVmaXgpCisrCisrICAgICAgICB0YWdzID0gWyJmb28i LCAiT05MWV9XSVRILnh4eD1mb28iLCAib25seS53aXRoX3h4eD1iYXIiLCAiYmFyIl0KKysgICAg ICAgIGFjdHVhbF90YWdzID0gdGFnX21hdGNoZXIuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncykK KysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWyJPTkxZX1dJVEgueHh4PWZvbyJdLCBhY3R1YWxf dGFncykKKysKKysKKytjbGFzcyBUcmFpdHM0T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIo b2JqZWN0KToKKysgICAgIiIiVGVzdCBkYXRhIGZvciBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0 Y2hlci4iIiIKKysKKysgICAgVGFnTWF0Y2hlcjAgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hl cgorKyAgICBUYWdNYXRjaGVyID0gT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAg Y2F0ZWdvcnkxX2VuYWJsZWRfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImZv byIsICJhbGljZSIpCisrICAgIGNhdGVnb3J5MV9zaW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIwLm1h a2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UyIikKKysgICAgY2F0ZWdvcnkxX2Rpc2FibGVk X3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYm9iIikKKysgICAg Y2F0ZWdvcnkyX2VuYWJsZWRfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJh ciIsICJCT0IiKQorKyAgICBjYXRlZ29yeTJfc2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtl X2NhdGVnb3J5X3RhZygiYmFyIiwgIkJPQjIiKQorKyAgICBjYXRlZ29yeTJfZGlzYWJsZWRfdGFn ID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJDSEFSTFkiKQorKyAgICB1 bmtub3duX2NhdGVnb3J5X3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJVTktO T1dOIiwgIm9uZSIpCisrCisrCisrY2xhc3MgVGVzdE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRj aGVyKFRlc3RDYXNlKToKKysgICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdN YXRjaGVyCisrICAgIHRyYWl0cyA9IFRyYWl0czRPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hl cgorKworKyAgICBkZWYgc2V0VXAoc2VsZik6CisrICAgICAgICB2YWx1ZV9wcm92aWRlciA9IHsK KysgICAgICAgICAgICAiZm9vIjogImFsaWNlIiwKKysgICAgICAgICAgICAiYmFyIjogIkJPQiIs CisrICAgICAgICB9CisrICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6Cisr ICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldh cm5pbmcpCisrICAgICAgICAgICAgc2VsZi50YWdfbWF0Y2hlciA9IHNlbGYuVGFnTWF0Y2hlcih2 YWx1ZV9wcm92aWRlcikKKysKKysgICAgIyBkZWYgdGVzdF9kZXByZWNhdGluZ193YXJuaW5nX2lz X2lzc3VlZChzZWxmKToKKysgICAgIyAgICAgdmFsdWVfcHJvdmlkZXIgPSB7ImZvbyI6ICJhbGlj ZSJ9CisrICAgICMgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUp IGFzIHJlY29yZGVyOgorKyAgICAjICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdh eXMiLCBEZXByZWNhdGlvbldhcm5pbmcpCisrICAgICMgICAgICAgICB0YWdfbWF0Y2hlciA9IE9u bHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKHZhbHVlX3Byb3ZpZGVyKQorKyAgICAjICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVjb3JkZXIpLCAxKQorKyAgICAjICAgICAgICAgbGFz dF93YXJuaW5nID0gcmVjb3JkZXJbLTFdCisrICAgICMgICAgICAgICBhc3NlcnQgaXNzdWJjbGFz cyhsYXN0X3dhcm5pbmcuY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykKKysgICAgIyAgICAg ICAgIGFzc2VydCAiZGVwcmVjYXRlZCIgaW4gc3RyKGxhc3Rfd2FybmluZy5tZXNzYWdlKQorKwor KyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5h YmxlZF90YWcoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAg dGFnczEgPSBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcgXQorKyAgICAgICAgdGFnczIg PSBbIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MxKSkK KysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxk X2V4Y2x1ZGVfd2l0aCh0YWdzMikpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dp dGhfX3JldHVybnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZ19hbmRfbW9yZShzZWxmKToKKysgICAg ICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAg ICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29y eTFfZGlzYWJsZWRfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAgICAgICAgIChbIHRyYWl0 cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0s ICJjYXNlOiBsYXN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFf ZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiYmFyIiBdLCAiY2Fz ZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0 X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFn X21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0 X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToK KysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUs IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAgZGVm IHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2Fu ZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRl c3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxl ZF90YWcsICJmb28iIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0 cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAg ICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNh c2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVz dF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFn X21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0 X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfdGFnKHNlbGYp OgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRhZ3MgPSBbIHRyYWl0 cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVl LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRl ZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5k X21vcmUoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVz dF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJf dGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJh aXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAg IChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTog bWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3Bh dHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0 Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hv dWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxm KToKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAg ICAgICJjYXNlOiBObyB0YWdzIiksCisrICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNl OiBPbmUgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28g dGFncyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0 ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRj aGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91 bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfdW5rbm93bl9jYXRlZ29yeV90YWco c2VsZik6CisrICAgICAgICAiIiJUYWdzIGZyb20gdW5rbm93biBjYXRlZ29yaWVzLCBub3Qgc3Vw cG9ydGVkIGJ5IHZhbHVlX3Byb3ZpZGVyLAorKyAgICAgICAgc2hvdWxkIG5vdCBiZSBleGNsdWRl ZC4KKysgICAgICAgICIiIgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAg IHRhZ3MgPSBbIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZyBdCisrICAgICAgICBzZWxmLmFz c2VydEVxdWFsKCJvbmx5LndpdGhfVU5LTk9XTj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29y eV90YWcpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHNlbGYudGFnX21hdGNoZXIu dmFsdWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dOIikpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFs KEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisr ICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc19vZl8yX2NhdGVn b3JpZXMoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVz dF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoImNhc2UgMDA6IDIgZGlzYWJsZWQgY2F0ZWdv cnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxl ZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJj YXNlIDAxOiBkaXNhYmxlZCBhbmQgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKysgICAg ICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5 Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSAxMDogZW5hYmxlZCBhbmQgZGlz YWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVn b3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAg ICAgICAgICAoImNhc2UgMTE6IDIgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIC0t IFNIT1VMRC1SVU4KKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFn LCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgIyAtLSBTUEVD SUFMIENBU0U6IFdpdGggdW5rbm93biBjYXRlZ29yeQorKyAgICAgICAgICAgICgiY2FzZSAweDog ZGlzYWJsZWQgYW5kIHVua25vd24gY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAg IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5 X3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSAxeDogZW5hYmxlZCBhbmQgdW5rbm93biBjYXRl Z29yeSB0YWdzIiwgRmFsc2UsICAjIFNIT1VMRC1SVU4KKysgICAgICAgICAgICAgWyB0cmFpdHMu Y2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKysg ICAgICAgIF0KKysgICAgICAgIGZvciBjYXNlLCBleHBlY3RlZCwgdGFncyBpbiB0ZXN0X3BhdHRl cm5zOgorKyAgICAgICAgICAgIGFjdHVhbF9yZXN1bHQgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3Vs ZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVj dGVkLCBhY3R1YWxfcmVzdWx0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0 YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX3J1bl93aXRo X19uZWdhdGVzX3Jlc3VsdF9vZl9zaG91bGRfZXhjbHVkZV93aXRoKHNlbGYpOgorKyAgICAgICAg dHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAg ICAgICAgKFsgXSwgICAgICAgICAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKysgICAgICAg ICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAgICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWci KSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1j YXRlZ29yeSB0YWdzIiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVk X3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5j YXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICAi Y2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNh dGVnb3J5MV9lbmFibGVkX3RhZywgImZvbyIgXSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0 YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAg ICAgICAgICAgICJjYXNlOiBvdGhlciB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0 ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyIgXSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRh ZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAg ICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0 cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIp LAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoK KysgICAgICAgICAgICByZXN1bHQxID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgo dGFncykKKysgICAgICAgICAgICByZXN1bHQyID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBu b3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQxLCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNh c2UsIHRhZ3MpKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSBi L3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQoraW5kZXggYzVkMjI2Ni4uYTA0YzFkNCAx MDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQorKysrIGIvdGVzdHMv dW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5CitAQCAtOCwxMiArOCwxMyBAQCBVbml0IHRlc3RzIGZv ciBhY3RpdmUgdGFnLW1hdGNoZXIgKG1vZDpgYmVoYXZlLnRhZ19tYXRjaGVyYCkuCisgIiIiCisg CisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy1mcm9tIGJlaGF2ZS50 YWdfbWF0Y2hlciBpbXBvcnQgKgorIGZyb20gbW9jayBpbXBvcnQgTW9jaworIGZyb20gdW5pdHRl c3QgaW1wb3J0IFRlc3RDYXNlCisgaW1wb3J0IHdhcm5pbmdzCisgaW1wb3J0IHB5dGVzdAorIAor K2Zyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCAqCisrCisgCisgY2xhc3MgVHJhaXRzNEFj dGl2ZVRhZ01hdGNoZXIob2JqZWN0KToKKyAgICAgVGFnTWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNo ZXIKK0BAIC00NjAsMjc5ICs0NjEsMyBAQCBjbGFzcyBUZXN0Q29tcG9zaXRlVGFnTWF0Y2hlcihU ZXN0Q2FzZSk6CisgICAgICAgICAgICAgYWN0dWFsX3RydWVfY291bnQgPSBzZWxmLmNvdW50X3Rh Z19tYXRjaGVyX3dpdGhfcmVzdWx0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuY3RhZ19tYXRjaGVyLnRhZ19tYXRjaGVycywgdGFncywgVHJ1ZSkKKyAgICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKDAsIGFjdHVhbF90cnVlX2NvdW50KQorLQorLQorLSMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBST1RPVFlQSU5HIENMQVNTRVMgKGRlcHJlY2F0aW5nKQor LSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1jbGFzcyBUZXN0T25seVdpdGhDYXRlZ29yeVRhZ01h dGNoZXIoVGVzdENhc2UpOgorLSAgICBUYWdNYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01h dGNoZXIKKy0KKy0gICAgZGVmIHNldFVwKHNlbGYpOgorLSAgICAgICAgY2F0ZWdvcnkgPSAieHh4 IgorLSAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorLSAgICAgICAgICAg IHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorLSAg ICAgICAgICAgIHNlbGYudGFnX21hdGNoZXIgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcihj YXRlZ29yeSwgImFsaWNlIikKKy0gICAgICAgIHNlbGYuZW5hYmxlZF90YWcgPSBzZWxmLlRhZ01h dGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJhbGljZSIpCistICAgICAgICBzZWxm LnNpbWlsYXJfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5 LCAiYWxpY2UyIikKKy0gICAgICAgIHNlbGYub3RoZXJfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1h a2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAib3RoZXIiKQorLSAgICAgICAgc2VsZi5jYXRlZ29y eSA9IGNhdGVnb3J5CistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVy bnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZyhzZWxmKToKKy0gICAgICAgIHRhZ3MgPSBbIHNlbGYu ZW5hYmxlZF90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdf bWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91 bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWdfYW5kX21vcmUo c2VsZik6CistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIHNlbGYu ZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAorLSAgICAgICAg ICAgIChbIHNlbGYub3RoZXJfdGFnLCBzZWxmLmVuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0Iiks CistICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJfdGFn LCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCistICAgICAgICBdCistICAgICAgICBmb3IgdGFn cywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo RmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCist CistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290 aGVyX3RhZyhzZWxmKToKKy0gICAgICAgIHRhZ3MgPSBbIHNlbGYub3RoZXJfdGFnIF0KKy0gICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVk ZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX3RydWVfd2l0aF9vdGhlcl90YWdfYW5kX21vcmUoc2VsZik6CistICAgICAgICB0ZXN0X3Bh dHRlcm5zID0gWworLSAgICAgICAgICAgIChbIHNlbGYub3RoZXJfdGFnLCAiZm9vIiBdLCAiY2Fz ZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgc2VsZi5vdGhlcl90YWcgXSwgImNh c2U6IGxhc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgc2VsZi5vdGhlcl90YWcsICJiYXIi IF0sICJjYXNlOiBtaWRkbGUiKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNl IGluIHRlc3RfcGF0dGVybnM6CistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBk ZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX3Rh ZyhzZWxmKToKKy0gICAgICAgIHRhZ3MgPSBbIHNlbGYuc2ltaWxhcl90YWcgXQorLSAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgodGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNf dHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21vcmUoc2VsZik6CistICAgICAgICB0ZXN0X3BhdHRlcm5z ID0gWworLSAgICAgICAgICAgIChbIHNlbGYuc2ltaWxhcl90YWcsICJmb28iIF0sICJjYXNlOiBm aXJzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnIF0sICJjYXNl OiBsYXN0IiksCistICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYuc2ltaWxhcl90YWcsICJiYXIi IF0sICJjYXNlOiBtaWRkbGUiKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNl IGluIHRlc3RfcGF0dGVybnM6CistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBk ZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhvdXRfY2F0ZWdv cnlfdGFnKHNlbGYpOgorLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAo WyBdLCAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiBd LCAgICAgImNhc2U6IE9uZSB0YWciKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwg ImNhc2U6IFR3byB0YWdzIiksCistICAgICAgICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBp biB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNl bGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRl ZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9fbmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4Y2x1ZGVf d2l0aChzZWxmKToKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsg XSwgICAgICAgICAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKy0gICAgICAgICAgICAoWyAi Zm9vIiBdLCAgICAgICAgICAgICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKy0gICAg ICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29yeSB0 YWdzIiksCistICAgICAgICAgICAgKFsgc2VsZi5lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBlbmFi bGVkIHRhZyIpLAorLSAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcsIHNlbGYub3RoZXJf dGFnIF0sICAiY2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFnIiksCistICAgICAgICAgICAgKFsg c2VsZi5lbmFibGVkX3RhZywgImZvbyIgXSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWci KSwKKy0gICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZyBdLCAgICAgICAgICAgICJjYXNlOiBv dGhlciB0YWciKSwKKy0gICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwgICAg ICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIpLAorLSAgICAgICAgICAgIChbIHNlbGYuc2ltaWxh cl90YWcgXSwgICAgICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiksCistICAgICAgICAgICAgKFsg ImZvbyIsIHNlbGYuc2ltaWxhcl90YWcgXSwgICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIp LAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoK Ky0gICAgICAgICAgICByZXN1bHQxID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgo dGFncykKKy0gICAgICAgICAgICByZXN1bHQyID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MpCistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBu b3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0gICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQxLCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNh c2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9tYWtlX2NhdGVnb3J5X3RhZ19fcmV0dXJuc19j YXRlZ29yeV90YWdfcHJlZml4X3dpdGhvdXRfdmFsdWUoc2VsZik6CistICAgICAgICBjYXRlZ29y eSA9ICJ4eHgiCistICAgICAgICB0YWcxID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFr ZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnkpCistICAgICAgICB0YWcyID0gT25seVdpdGhDYXRlZ29y eVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIE5vbmUpCistICAgICAgICB0 YWczID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdv cnksIHZhbHVlPU5vbmUpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4 PSIsIHRhZzEpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRh ZzIpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PSIsIHRhZzMpCist ICAgICAgICBzZWxmLmFzc2VydFRydWUodGFnMS5zdGFydHN3aXRoKE9ubHlXaXRoQ2F0ZWdvcnlU YWdNYXRjaGVyLnRhZ19wcmVmaXgpKQorLQorLSAgICBkZWYgdGVzdF9tYWtlX2NhdGVnb3J5X3Rh Z19fcmV0dXJuc19jYXRlZ29yeV90YWdfd2l0aF92YWx1ZShzZWxmKToKKy0gICAgICAgIGNhdGVn b3J5ID0gInh4eCIKKy0gICAgICAgIHRhZzEgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5t YWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlIikKKy0gICAgICAgIHRhZzIgPSBPbmx5 V2l0aENhdGVnb3J5VGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImJvYiIp CistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PWFsaWNlIiwgdGFnMSkK Ky0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIm9ubHkud2l0aF94eHg9Ym9iIiwgdGFnMikKKy0K Ky0gICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3dp dGhfdGFnX3ByZWZpeChzZWxmKToKKy0gICAgICAgIG15X3RhZ19wcmVmaXggPSAiT05MWV9XSVRI LiIKKy0gICAgICAgIGNhdGVnb3J5ID0gInh4eCIKKy0gICAgICAgIFRhZ01hdGNoZXIgPSBPbmx5 V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICAgICAgdGFnMCA9IFRhZ01hdGNoZXIubWFrZV9j YXRlZ29yeV90YWcoY2F0ZWdvcnksIHRhZ19wcmVmaXg9bXlfdGFnX3ByZWZpeCkKKy0gICAgICAg IHRhZzEgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UiLCBt eV90YWdfcHJlZml4KQorLSAgICAgICAgdGFnMiA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90 YWcoY2F0ZWdvcnksICJib2IiLCB0YWdfcHJlZml4PW15X3RhZ19wcmVmaXgpCistICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PSIsIHRhZzApCistICAgICAgICBzZWxmLmFz c2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PWFsaWNlIiwgdGFnMSkKKy0gICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWwoIk9OTFlfV0lUSC54eHg9Ym9iIiwgdGFnMikKKy0gICAgICAgIHNlbGYuYXNzZXJ0 VHJ1ZSh0YWcxLnN0YXJ0c3dpdGgobXlfdGFnX3ByZWZpeCkpCistCistICAgIGRlZiB0ZXN0X2N0 b3JfX3dpdGhfdGFnX3ByZWZpeChzZWxmKToKKy0gICAgICAgIHRhZ19wcmVmaXggPSAiT05MWV9X SVRILiIKKy0gICAgICAgIHRhZ19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIo Inh4eCIsICJhbGljZSIsIHRhZ19wcmVmaXgpCistCistICAgICAgICB0YWdzID0gWyJmb28iLCAi T05MWV9XSVRILnh4eD1mb28iLCAib25seS53aXRoX3h4eD1iYXIiLCAiYmFyIl0KKy0gICAgICAg IGFjdHVhbF90YWdzID0gdGFnX21hdGNoZXIuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncykKKy0g ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWyJPTkxZX1dJVEgueHh4PWZvbyJdLCBhY3R1YWxfdGFn cykKKy0KKy0KKy1jbGFzcyBUcmFpdHM0T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIob2Jq ZWN0KToKKy0gICAgIiIiVGVzdCBkYXRhIGZvciBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hl ci4iIiIKKy0KKy0gICAgVGFnTWF0Y2hlcjAgPSBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgor LSAgICBUYWdNYXRjaGVyID0gT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKy0gICAgY2F0 ZWdvcnkxX2VuYWJsZWRfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImZvbyIs ICJhbGljZSIpCistICAgIGNhdGVnb3J5MV9zaW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2Vf Y2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UyIikKKy0gICAgY2F0ZWdvcnkxX2Rpc2FibGVkX3Rh ZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYm9iIikKKy0gICAgY2F0 ZWdvcnkyX2VuYWJsZWRfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIs ICJCT0IiKQorLSAgICBjYXRlZ29yeTJfc2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2Nh dGVnb3J5X3RhZygiYmFyIiwgIkJPQjIiKQorLSAgICBjYXRlZ29yeTJfZGlzYWJsZWRfdGFnID0g VGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJDSEFSTFkiKQorLSAgICB1bmtu b3duX2NhdGVnb3J5X3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJVTktOT1dO IiwgIm9uZSIpCistCistCistY2xhc3MgVGVzdE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVy KFRlc3RDYXNlKToKKy0gICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRj aGVyCistICAgIHRyYWl0cyA9IFRyYWl0czRPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgor LQorLSAgICBkZWYgc2V0VXAoc2VsZik6CistICAgICAgICB2YWx1ZV9wcm92aWRlciA9IHsKKy0g ICAgICAgICAgICAiZm9vIjogImFsaWNlIiwKKy0gICAgICAgICAgICAiYmFyIjogIkJPQiIsCist ICAgICAgICB9CistICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CistICAg ICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5p bmcpCistICAgICAgICAgICAgc2VsZi50YWdfbWF0Y2hlciA9IHNlbGYuVGFnTWF0Y2hlcih2YWx1 ZV9wcm92aWRlcikKKy0KKy0gICAgIyBkZWYgdGVzdF9kZXByZWNhdGluZ193YXJuaW5nX2lzX2lz c3VlZChzZWxmKToKKy0gICAgIyAgICAgdmFsdWVfcHJvdmlkZXIgPSB7ImZvbyI6ICJhbGljZSJ9 CistICAgICMgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFz IHJlY29yZGVyOgorLSAgICAjICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMi LCBEZXByZWNhdGlvbldhcm5pbmcpCistICAgICMgICAgICAgICB0YWdfbWF0Y2hlciA9IE9ubHlX aXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKHZhbHVlX3Byb3ZpZGVyKQorLSAgICAjICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChsZW4ocmVjb3JkZXIpLCAxKQorLSAgICAjICAgICAgICAgbGFzdF93 YXJuaW5nID0gcmVjb3JkZXJbLTFdCistICAgICMgICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyhs YXN0X3dhcm5pbmcuY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykKKy0gICAgIyAgICAgICAg IGFzc2VydCAiZGVwcmVjYXRlZCIgaW4gc3RyKGxhc3Rfd2FybmluZy5tZXNzYWdlKQorLQorLSAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxl ZF90YWcoc2VsZik6CistICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworLSAgICAgICAgdGFn czEgPSBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcgXQorLSAgICAgICAgdGFnczIgPSBb IHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MxKSkKKy0g ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzMikpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhf X3JldHVybnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZ19hbmRfbW9yZShzZWxmKToKKy0gICAgICAg IHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAg ICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFf ZGlzYWJsZWRfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAorLSAgICAgICAgICAgIChbIHRyYWl0cy5j YXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0sICJj YXNlOiBsYXN0IiksCistICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfZW5h YmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiYmFyIiBdLCAiY2FzZTog bWlkZGxlIiksCistICAgICAgICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3Bh dHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21h dGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3No b3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToKKy0g ICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0 ZWdvcnkxX2Rpc2FibGVkX3RhZyBdCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNl bGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0KKy0gICAgZGVmIHRl c3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2FuZF9t b3JlKHNlbGYpOgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3Rf cGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90 YWcsICJmb28iIF0sICJjYXNlOiBmaXJzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCB0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorLSAgICAgICAgICAg IChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6 IG1pZGRsZSIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9w YXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21h dGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3No b3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfdGFnKHNlbGYpOgor LSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRhZ3MgPSBbIHRyYWl0cy5j YXRlZ29yeTFfc2ltaWxhcl90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistCistICAgIGRlZiB0 ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21v cmUoc2VsZik6CistICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworLSAgICAgICAgdGVzdF9w YXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFn LCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRz LmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorLSAgICAgICAgICAgIChb ICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlk ZGxlIiksCistICAgICAgICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRl cm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hl ci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxk X2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxmKToK Ky0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsgXSwgICAgICAgICAg ICJjYXNlOiBObyB0YWdzIiksCistICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNlOiBP bmUgdGFnIiksCistICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28gdGFn cyIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJu czoKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVy LnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRf ZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfdW5rbm93bl9jYXRlZ29yeV90YWcoc2Vs Zik6CistICAgICAgICAiIiJUYWdzIGZyb20gdW5rbm93biBjYXRlZ29yaWVzLCBub3Qgc3VwcG9y dGVkIGJ5IHZhbHVlX3Byb3ZpZGVyLAorLSAgICAgICAgc2hvdWxkIG5vdCBiZSBleGNsdWRlZC4K Ky0gICAgICAgICIiIgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRh Z3MgPSBbIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZyBdCistICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKCJvbmx5LndpdGhfVU5LTk9XTj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90 YWcpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHNlbGYudGFnX21hdGNoZXIudmFs dWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dOIikpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZh bHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistCistICAg IGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc19vZl8yX2NhdGVnb3Jp ZXMoc2VsZik6CistICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworLSAgICAgICAgdGVzdF9w YXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoImNhc2UgMDA6IDIgZGlzYWJsZWQgY2F0ZWdvcnkg dGFncyIsIFRydWUsCistICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90 YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCistICAgICAgICAgICAgKCJjYXNl IDAxOiBkaXNhYmxlZCBhbmQgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKy0gICAgICAg ICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9l bmFibGVkX3RhZ10pLAorLSAgICAgICAgICAgICgiY2FzZSAxMDogZW5hYmxlZCBhbmQgZGlzYWJs ZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCistICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5 MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKy0gICAgICAg ICAgICAoImNhc2UgMTE6IDIgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIC0tIFNI T1VMRC1SVU4KKy0gICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCistICAgICAgICAgICAgIyAtLSBTUEVDSUFM IENBU0U6IFdpdGggdW5rbm93biBjYXRlZ29yeQorLSAgICAgICAgICAgICgiY2FzZSAweDogZGlz YWJsZWQgYW5kIHVua25vd24gY2F0ZWdvcnkgdGFncyIsIFRydWUsCistICAgICAgICAgICAgIFsg dHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3Rh Z10pLAorLSAgICAgICAgICAgICgiY2FzZSAxeDogZW5hYmxlZCBhbmQgdW5rbm93biBjYXRlZ29y eSB0YWdzIiwgRmFsc2UsICAjIFNIT1VMRC1SVU4KKy0gICAgICAgICAgICAgWyB0cmFpdHMuY2F0 ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKy0gICAg ICAgIF0KKy0gICAgICAgIGZvciBjYXNlLCBleHBlY3RlZCwgdGFncyBpbiB0ZXN0X3BhdHRlcm5z OgorLSAgICAgICAgICAgIGFjdHVhbF9yZXN1bHQgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncykKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVk LCBhY3R1YWxfcmVzdWx0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdz PSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX3J1bl93aXRoX19u ZWdhdGVzX3Jlc3VsdF9vZl9zaG91bGRfZXhjbHVkZV93aXRoKHNlbGYpOgorLSAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAg ICAgKFsgXSwgICAgICAgICAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKy0gICAgICAgICAg ICAoWyAiZm9vIiBdLCAgICAgICAgICAgICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwK Ky0gICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRl Z29yeSB0YWdzIiksCistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3Rh ZyBdLCAgICJjYXNlOiBlbmFibGVkIHRhZyIpLAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRl Z29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICAiY2Fz ZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFnIiksCistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVn b3J5MV9lbmFibGVkX3RhZywgImZvbyIgXSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWci KSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgICAg ICAgICAgICJjYXNlOiBvdGhlciB0YWciKSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdv cnkxX2Rpc2FibGVkX3RhZywgImZvbyIgXSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIp LAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAgICAg ICAgImNhc2U6IHNpbWlsYXIgdGFnIiksCistICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5j YXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIpLAor LSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0g ICAgICAgICAgICByZXN1bHQxID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFn cykKKy0gICAgICAgICAgICByZXN1bHQyID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVk ZV93aXRoKHRhZ3MpCistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBub3Qg cmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0gICAgICAgICAgICBzZWxm LmFzc2VydEVxdWFsKG5vdCByZXN1bHQxLCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2Us IHRhZ3MpKQorLQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAyNy1Db21tZW50LXR3ZWFrcy5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjctQ29tbWVudC10d2Vh a3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hYTVmNWY1NjUK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQtdHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAK K0Zyb20gYTA2ZTRjYTVkNDE3NjBkMjQ2NmRiZDUyMWExMjA1N2NhZWZiY2E4YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDE5OjI0OjE0ICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIENvbW1lbnQgdHdlYWtzCisKKy0tLQorIGJlaGF2ZS9ydW5uZXIucHkgfCA3ICsrKysr Ky0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2Rp ZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyLnB5IGIvYmVoYXZlL3J1bm5lci5weQoraW5kZXggZjBm MDc3YS4uZjIwOWNiMCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9ydW5uZXIucHkKKysrKyBiL2JlaGF2 ZS9ydW5uZXIucHkKK0BAIC0xNjcsMTAgKzE2NywxNSBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6 CisgICAgICAgICBzZWxmLl9yZWNvcmQgPSB7fQorICAgICAgICAgc2VsZi5fb3JpZ2luID0ge30K KyAgICAgICAgIHNlbGYuX21vZGUgPSBzZWxmLkJFSEFWRQorKworKyAgICAgICAgIyAtLSBNT0RF TCBFTlRJVFkgUkVGRVJFTkNFUy9TVVBQT1JUOgorICAgICAgICAgc2VsZi5mZWF0dXJlID0gTm9u ZQorLSAgICAgICAgIyAtLSBSRUNIRUNLOiBJZiBuZWVkZWQKKysgICAgICAgICMgRElTQUJMRUQ6 IHNlbGYucnVsZSA9IE5vbmUKKysgICAgICAgICMgRElTQUJMRUQ6IHNlbGYuc2NlbmFyaW8gPSBO b25lCisgICAgICAgICBzZWxmLnRleHQgPSBOb25lCisgICAgICAgICBzZWxmLnRhYmxlID0gTm9u ZQorKworKyAgICAgICAgIyAtLSBSVU5USU1FIFNVUFBPUlQ6CisgICAgICAgICBzZWxmLnN0ZG91 dF9jYXB0dXJlID0gTm9uZQorICAgICAgICAgc2VsZi5zdGRlcnJfY2FwdHVyZSA9IE5vbmUKKyAg ICAgICAgIHNlbGYubG9nX2NhcHR1cmUgPSBOb25lCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI4LUZJWC13YXJuaW5ncy1y ZWxhdGVkLXRvLWludmFsaWQtZXNjYXBlcy1pbi1yZWdleC5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjgtRklYLXdhcm5pbmdzLXJl bGF0ZWQtdG8taW52YWxpZC1lc2NhcGVzLWluLXJlZ2V4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uZmY5YzY2ODgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOC1GSVgtd2Fy bmluZ3MtcmVsYXRlZC10by1pbnZhbGlkLWVzY2FwZXMtaW4tcmVnZXgucGF0Y2gKQEAgLTAsMCAr MSw3OSBAQAorRnJvbSA3ZWFiNDljZjk1N2UwYWNiMzc0Y2Y4NDdiMmEyOWQ0ZWE2ZjRhOTg0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTk6MzI6MTAgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gRklYIHdhcm5pbmdzIHJlbGF0ZWQgdG8gaW52YWxpZCBlc2NhcGVzIGlu IHJlZ2V4LgorCistLS0KKyBiZWhhdmU0Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkgICAgICAg ICAgIHwgIDMgKystCisgZmVhdHVyZXMvc3RlcHMvYmVoYXZlX3NlbGVjdF9maWxlc19zdGVwcy5w eSB8IDI0ICsrKysrKysrKysrKystLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0 aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmU0Y21kMC9jb21t YW5kX3NoZWxsX3Byb2MucHkgYi9iZWhhdmU0Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkKK2lu ZGV4IDA3ZjFjODQuLjAzY2E1NWEgMTAwNzU1CistLS0gYS9iZWhhdmU0Y21kMC9jb21tYW5kX3No ZWxsX3Byb2MucHkKKysrKyBiL2JlaGF2ZTRjbWQwL2NvbW1hbmRfc2hlbGxfcHJvYy5weQorQEAg LTI1MSw2ICsyNTEsNyBAQCBjbGFzcyBCZWhhdmVXaW5Db21tYW5kT3V0cHV0UHJvY2Vzc29yKExp bmVDb21tYW5kT3V0cHV0UHJvY2Vzc29yKToKKyAgICAgICAgICAgICAiTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeTogJyg/UDxwYXRoPi4qKSciLAorICAgICAgICAgICAgICJbRXJybm8gMl0gTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeToiKSwgICMgSU9FcnJvcgorICAgICAgICAgRXhjZXB0aW9u V2l0aFBhdGhOb3JtYWxpemVyKAorLSAgICAgICAgICAgICdeXHMqRmlsZSAiKD9QPHBhdGg+Liop IiwgbGluZSBcZCssIGluICcsCisrICAgICAgICAgICAgIyBXQVM6ICdeXHMqRmlsZSAiKD9QPHBh dGg+LiopIiwgbGluZSBcZCssIGluICcsCisrICAgICAgICAgICAgcideXHMqRmlsZSAiKD9QPHBh dGg+LiopIiwgbGluZSBcZCssIGluICcsCisgICAgICAgICAgICAgJ0ZpbGUgIicpLAorICAgICBd CitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3RlcHMvYmVoYXZlX3NlbGVjdF9maWxlc19zdGVwcy5w eSBiL2ZlYXR1cmVzL3N0ZXBzL2JlaGF2ZV9zZWxlY3RfZmlsZXNfc3RlcHMucHkKK2luZGV4IDQz MTY3NGUuLjBkMmNkMmUgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9zdGVwcy9iZWhhdmVfc2VsZWN0 X2ZpbGVzX3N0ZXBzLnB5CisrKysgYi9mZWF0dXJlcy9zdGVwcy9iZWhhdmVfc2VsZWN0X2ZpbGVz X3N0ZXBzLnB5CitAQCAtMSwyOSArMSwzNCBAQAorICMgLSotIGNvZGluZzogdXRmLTggLSotCist IiIiCisrIyBET0NTVFJJTkctTkVFRFMtUkVHRVgtU1RSSU5HLVBSRUZJWDogRHVlIHRvIGV4YW1w bGUgdy8gd2lsZGNhcmQgcGF0dGVybi4KKytyJycnCisgUHJvdmlkZXMgc3RlcCBkZWZpbml0aW9u cyB0aGF0IHRlc3QgaG93IHRoZSBiZWhhdmUgcnVubmVyIHNlbGVjdHMgZmVhdHVyZSBmaWxlcy4K KyAKKyBFWEFNUExFOgorKworKy4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisgICAgIEdpdmVu IGJlaGF2ZSBoYXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlIGZpbGVzZXQ6CistICAgICAgJycnCisr ICAgICAgIiIiCisgICAgICAgZmVhdHVyZXMvYWxpY2UuZmVhdHVyZQorICAgICAgIGZlYXR1cmVz L2JvYi5mZWF0dXJlCisgICAgICAgZmVhdHVyZXMvYmFyYmkuZmVhdHVyZQorLSAgICAgICcnJwor KyAgICAgICIiIgorICAgICBXaGVuIGJlaGF2ZSBpbmNsdWRlcyBmZWF0dXJlIGZpbGVzIHdpdGgg ImZlYXR1cmVzL2EuKlwuZmVhdHVyZSIKKyAgICAgQW5kICBiZWhhdmUgZXhjbHVkZXMgZmVhdHVy ZSBmaWxlcyB3aXRoICJmZWF0dXJlcy9iLipcLmZlYXR1cmUiCisgICAgIFRoZW4gdGhlIGZvbGxv d2luZyBmZWF0dXJlIGZpbGVzIGFyZSBzZWxlY3RlZDoKKy0gICAgICAnJycKKysgICAgICAiIiIK KyAgICAgICBmZWF0dXJlcy9hbGljZS5mZWF0dXJlCistICAgICAgJycnCistIiIiCisrICAgICAg IiIiCisrJycnCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy1m cm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4sIHdoZW4sIHRoZW4KKy1mcm9tIGJlaGF2ZS5ydW5uZXJf dXRpbCBpbXBvcnQgRmVhdHVyZUxpc3RQYXJzZXIKKy1mcm9tIGhhbWNyZXN0IGltcG9ydCBhc3Nl cnRfdGhhdCwgZXF1YWxfdG8KKyBmcm9tIGNvcHkgaW1wb3J0IGNvcHkKKyBpbXBvcnQgcmUKKyBp bXBvcnQgc2l4CisrZnJvbSBoYW1jcmVzdCBpbXBvcnQgYXNzZXJ0X3RoYXQsIGVxdWFsX3RvCisr ZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB3aGVuLCB0aGVuCisrZnJvbSBiZWhhdmUucnVubmVy X3V0aWwgaW1wb3J0IEZlYXR1cmVMaXN0UGFyc2VyCisrCisgCisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICMgU1RFUCBVVElMUzoKK0BAIC00Nyw2ICs1Miw3IEBAIGNsYXNzIEJhc2ljQmVoYXZl UnVubmVyKG9iamVjdCk6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgU1RFUCBERUZJTklU SU9OUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBweWxpbnQ6IGRpc2FibGU9aW52YWxp ZC1uYW1lCisgQGdpdmVuKCdiZWhhdmUgaGFzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZSBmaWxlc2V0 JykKKyBkZWYgc3RlcF9naXZlbl9iZWhhdmVfaGFzX2ZlYXR1cmVfZmlsZXNldChjb250ZXh0KToK KyAgICAgYXNzZXJ0IGNvbnRleHQudGV4dCBpcyBub3QgTm9uZSwgIlJFUVVJUkU6IHRleHQiCmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ctc2hvdWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJlcnVu LXNldHQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ctc2hvdWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJl cnVuLXNldHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4yOTYw ZTdiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDI5LVN0ZXBzLWNhdGFsb2ctc2hvdWxkLW5vdC1icmVhay1j b25maWd1cmVkLXJlcnVuLXNldHQucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorRnJvbSBhNDMxNDM5 MDBkYmM2MGJkZGFkMTI1ZTBjYWIzZTJhM2NiZGI2NDQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogRWR2aW4gTGluZ2UgPGVkdmluLmxpbmdlQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwg MzEgSnVsIDIwMTcgMTc6MDU6MTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gU3RlcHMtY2F0YWxv ZyBzaG91bGQgbm90IGJyZWFrIGNvbmZpZ3VyZWQgcmVydW4gc2V0dGluZ3MKKworLS0tCisgYmVo YXZlL2NvbmZpZ3VyYXRpb24ucHkgICAgICAgICAgICAgICAgICB8ICA1ICsrKystCisgZmVhdHVy ZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUgICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysr CisgZmVhdHVyZXMvZm9ybWF0dGVyLnN0ZXBzX2NhdGFsb2cuZmVhdHVyZSB8IDEzICsrKysrKysr KysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK KworZGlmZiAtLWdpdCBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5IGIvYmVoYXZlL2NvbmZpZ3Vy YXRpb24ucHkKK2luZGV4IDQ5YjFkZmYuLjg2MWY4OWYgMTAwNjQ0CistLS0gYS9iZWhhdmUvY29u ZmlndXJhdGlvbi5weQorKysrIGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK0BAIC02MDEsNyAr NjAxLDEwIEBAIGNsYXNzIENvbmZpZ3VyYXRpb24ob2JqZWN0KToKKyAgICAgICAgIGlmIHNlbGYu c3RlcHNfY2F0YWxvZzoKKyAgICAgICAgICAgICAjIC0tIFNIT1cgU1RFUC1DQVRBTE9HOiBBcyBz dGVwIHN1bW1hcnkuCisgICAgICAgICAgICAgc2VsZi5kZWZhdWx0X2Zvcm1hdCA9ICJzdGVwcy5j YXRhbG9nIgorLSAgICAgICAgICAgIHNlbGYuZm9ybWF0ID0gWyJzdGVwcy5jYXRhbG9nIl0KKysg ICAgICAgICAgICBpZiBzZWxmLmZvcm1hdDoKKysgICAgICAgICAgICAgICAgc2VsZi5mb3JtYXQu YXBwZW5kKCJzdGVwcy5jYXRhbG9nIikKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAg ICAgICBzZWxmLmZvcm1hdCA9IFsic3RlcHMuY2F0YWxvZyJdCisgICAgICAgICAgICAgc2VsZi5k cnlfcnVuID0gVHJ1ZQorICAgICAgICAgICAgIHNlbGYuc3VtbWFyeSA9IEZhbHNlCisgICAgICAg ICAgICAgc2VsZi5zaG93X3NraXBwZWQgPSBGYWxzZQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL2Zv cm1hdHRlci5yZXJ1bi5mZWF0dXJlIGIvZmVhdHVyZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUK K2luZGV4IDFlNjQ1ZjEuLmI5ZDdlMWIgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9mb3JtYXR0ZXIu cmVydW4uZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUKK0BA IC0yOTQsMyArMjk0LDIwIEBAIEZlYXR1cmU6IFJlcnVuIEZvcm1hdHRlcgorICAgICAgICAgICAg IGZlYXR1cmVzL2JvYi5mZWF0dXJlOjEzCisgICAgICAgICAgICAgIiIiCisgICAgICAgICBBbmQg bm90ZSB0aGF0ICJ0aGUgc2Vjb25kIFJlcnVuRm9ybWF0dGVyIG92ZXJ3cml0ZXMgdGhlIG91dHB1 dCBvZiB0aGUgZmlyc3Qgb25lIgorKworKyAgICBAd2l0aC5iZWhhdmVfY29uZmlnZmlsZQorKyAg ICBTY2VuYXJpbzogUmVydW5Gb3JtYXR0ZXIgd2l0aCBzdGVwcy1jYXRhbG9nCisrICAgICAgICBH aXZlbiBhIGZpbGUgbmFtZWQgImJlaGF2ZS5pbmkiIHdpdGg6CisrICAgICAgICAgICAgIiIiCisr ICAgICAgICAgICAgW2JlaGF2ZV0KKysgICAgICAgICAgICBmb3JtYXQgICA9IHJlcnVuCisrICAg ICAgICAgICAgb3V0ZmlsZXMgPSByZXJ1bi50eHQKKysgICAgICAgICAgICAiIiIKKysgICAgICAg IFdoZW4gSSBydW4gImJlaGF2ZSAtLXN0ZXBzLWNhdGFsb2cgZmVhdHVyZXMvIgorKworKyAgICAg ICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICAgICAgICIiIgorKyAgICAgICAg ICAgIEdpdmVuIGEgc3RlcCBwYXNzZXMKKysgICAgICAgICAgICAiIiIKKysgICAgICAgIEFuZCBh IGZpbGUgbmFtZWQgInJlcnVuLnR4dCIgZG9lcyBub3QgZXhpc3QKKysKK2RpZmYgLS1naXQgYS9m ZWF0dXJlcy9mb3JtYXR0ZXIuc3RlcHNfY2F0YWxvZy5mZWF0dXJlIGIvZmVhdHVyZXMvZm9ybWF0 dGVyLnN0ZXBzX2NhdGFsb2cuZmVhdHVyZQoraW5kZXggMDk1OTFiZi4uOTM2ZDdmNCAxMDA2NDQK Ky0tLSBhL2ZlYXR1cmVzL2Zvcm1hdHRlci5zdGVwc19jYXRhbG9nLmZlYXR1cmUKKysrKyBiL2Zl YXR1cmVzL2Zvcm1hdHRlci5zdGVwc19jYXRhbG9nLmZlYXR1cmUKK0BAIC05OCwzICs5OCwxNiBA QCBGZWF0dXJlOiBTdGVwcyBDYXRhbG9nIEZvcm1hdHRlcgorICAgICAgICAgICAiIiIKKyAgICAg ICAgIEJ1dCBub3RlIHRoYXQgInRoZSBzdGVwIGRlZmluaXRpb25zIGFyZSBvcmRlcmVkIGJ5IHN0 ZXAgdHlwZSIKKyAgICAgICAgIEFuZCBub3RlIHRoYXQgIidXaGVuIEkgdmlzaXQge3BlcnNvbn0n IGhhcyBubyBkb2Mtc3RyaW5nIgorKworKworKyAgICBTY2VuYXJpbzogU3RlcHMgY2F0YWxvZyBm b3JtYXR0ZXIgaXMgdXNlZCBmb3Igb3V0cHV0IGV2ZW4gd2hlbiBvdGhlciBmb3JtYXR0ZXIgaXMg c3BlY2lmaWVkCisrICAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1zdGVwcy1jYXRhbG9nIC1m IHBsYWluIGZlYXR1cmVzLyIKKysgICAgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysg ICAgICAgICAgIiIiCisrICAgICAgICAgIEdpdmVuIHtwZXJzb259IGxpdmVzIGluIHtjaXR5fQor KyAgICAgICAgICAgICAgU2V0dXAgdGhlIGRhdGEgd2hlcmUgYSBwZXJzb24gbGl2ZXMgYW5kIHN0 b3JlIGluIHRoZSBkYXRhYmFzZS4KKysKKysgICAgICAgICAgICAgIDpwYXJhbSBwZXJzb246ICBQ ZXJzb24ncyBuYW1lIChhcyBzdHJpbmcpLgorKyAgICAgICAgICAgICAgOnBhcmFtIGNpdHk6ICAg IENpdHkgd2hlcmUgdGhlIHBlcnNvbiBsaXZlcyAoYXMgc3RyaW5nKS4KKysgICAgICAgICAgIiIi CisrCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDMwLUFkZC1mZWF0dXJlLXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9z LWVuYWJsZS12aWEucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDMwLUFkZC1mZWF0dXJlLXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFy aW9zLWVuYWJsZS12aWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li4xODViNGFkM2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMwLUFkZC1mZWF0dXJlLXctcnVsZXMtYW5kLWZh aWxpbmctc2NlbmFyaW9zLWVuYWJsZS12aWEucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSA3 Y2YwM2UzMzc5YjZhZDMxMzM3OGFlMWEwZjAyZGI5MWFjNGVmMTc3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBNb24sIDEgSnVsIDIwMTkgMjI6MDc6MTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g QWRkIGZlYXR1cmUgdy8gcnVsZXMgYW5kIGZhaWxpbmcgc2NlbmFyaW9zIChlbmFibGUgdmlhCisg dGFncz1mYWlsIG9yIHRhZ3M9eGZhaWwpLgorCistLS0KKyAuLi4vZ2hlcmtpbl92Ni9mZWF0dXJl cy9ydWxlX2ZhaWxzLmZlYXR1cmUgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCisgMSBmaWxl IGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMv Z2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlX2ZhaWxzLmZlYXR1cmUKKworZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlIGIvZXhhbXBsZXMv Z2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlX2ZhaWxzLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwLi43ZTM4NzJlCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxl cy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZQorQEAgLTAsMCArMSwxOSBA QAorK0BmYWlsCisrRmVhdHVyZTogV2l0aCBSdWxlKHMpIGFuZCBGYWlsaW5nIFNjZW5hcmlvKHMp CisrCisrICBISU5UOiBDb250YWlucyBmYWlsaW5nIHNjZW5hcmlvcyAoYnkgaW50ZW50aW9uKS4K KysKKysgIEB4ZmFpbAorKyAgU2NlbmFyaW86IEYwIC0tIEZhaWxzCisrICAgIFdoZW4gc29tZSBz dGVwIGZhaWxzCisrCisrICBSdWxlOiBGYWlscyBpbiBTY2VuYXJpbyBGMgorKworKyAgICBTY2Vu YXJpbzogRjEKKysgICAgICBHaXZlbiBhIHN0ZXAgcGFzc2VzCisrCisrICAgIEB4ZmFpbAorKyAg ICBTY2VuYXJpbzogRjIgLS0gRmFpbHMKKysgICAgICBHaXZlbiBhbm90aGVyIHN0ZXAgcGFzc2Vz CisrICAgICAgV2hlbiBhIHN0ZXAgZmFpbHMKKysgICAgICBUaGVuIGFub3RoZXIgc3RlcCBwYXNz ZXMKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMzEtZXhhbXBsZXMtZ2hlcmtpbl92Ni1Ud2Vhay1TY2VuYXJpb091dGxpbmUt RXhhbXBsZXMtdC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMzEtZXhhbXBsZXMtZ2hlcmtpbl92Ni1Ud2Vhay1TY2VuYXJpb091dGxp bmUtRXhhbXBsZXMtdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmI0NjYxMDJmMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzEtZXhhbXBsZXMtZ2hlcmtpbl92Ni1Ud2Vhay1T Y2VuYXJpb091dGxpbmUtRXhhbXBsZXMtdC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDMx MThiNzNhMzNlZGJlMTc5NWVjYTFmNDI4MDY4OTQ0OGVjYjY5YmMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IE1vbiwgMSBKdWwgMjAxOSAyMjoxMToxMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBl eGFtcGxlcy9naGVya2luX3Y2OiBUd2VhayBTY2VuYXJpb091dGxpbmUgRXhhbXBsZXMgdGl0bGVz LgorCistLS0KKyBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlIHwg NyArKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVh dHVyZSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8yLmZlYXR1cmUKK2luZGV4 IGE4MDJlMTkuLjhiOGJiMDQgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1 cmVzL3J1bGVfMi5mZWF0dXJlCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1 bGVfMi5mZWF0dXJlCitAQCAtMzYsNyArMzYsMTIgQEAgRmVhdHVyZTogR2hlcmtpbiB2NiBFeGFt cGxlIC0tIHdpdGggUnVsZXMKKyAgICAgU2NlbmFyaW8gVGVtcGxhdGU6IFIzLlNjZW5hcmlvCisg ICAgICAgR2l2ZW4gYSBwZXJzb24gbmFtZWQgIjxuYW1lPiIKKyAKKy0gICAgICBFeGFtcGxlczoK KysgICAgICBFeGFtcGxlczogUjMuRTEKKyAgICAgICAgIHwgbmFtZSAgfAorICAgICAgICAgfCBB bGljZSB8CisgICAgICAgICB8IEJvYiAgIHwKKysKKysgICAgICBFeGFtcGxlczogUjMuRTIKKysg ICAgICAgIHwgbmFtZSAgfAorKyAgICAgICAgfCBDaGFybHkgfAorKyAgICAgICAgfCBEb3JvICAg fApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAzMi1BZGQtaW5mby1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMyLUFkZC1pbmZv LW9uLW1lcmdlZC1wdWxsLTU4OC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmI1NzNjNjEzYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzItQWRkLWluZm8tb24tbWVyZ2VkLXB1 bGwtNTg4LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb20gZTYzN2UxOGQxZDUzYmY5YjcyNWQ2 NDUwNGVmNDhhNDc1ZTlmNGI5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxIEp1bCAy MDE5IDA4OjA2OjQzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBpbmZvIG9uIG1lcmdlZCBw dWxsICM1ODgKKworLS0tCisgQ0hBTkdFUy5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2lu ZGV4IGE5MWUyMmEuLjNkODA1YjMgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hB TkdFUy5yc3QKK0BAIC0zNiw2ICszNiw3IEBAIFBBUlRJQUxMWSBGSVhFRDoKKyAKKyBGSVhFRDoK KyAKKysqIHB1bGwgICM1ODg6IFN0ZXBzLWNhdGFsb2cgYXJndW1lbnQgc2hvdWxkIG5vdCBicmVh ayBjb25maWd1cmVkIHJlcnVuIHNldHRpbmdzIChwcm92aWRlZCBieTogTGVnbzMpCisgKiBpc3N1 ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdu b3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAjNzEzOiBCYWNrZ3JvdW5kIHNl Y3Rpb24gZG9lc24ndCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92aWRlZCBieTogZGdvdSkKKyAq IHB1bGwgICM2NTc6IEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91dHMgdG8gZmFpbCB3aGVu IHRoZXkgcmFpc2UgZXhjZXB0aW9ucyAocHJvdmlkZWQgYnk6IEFMU2Nod2FsbSkKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw MzMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzMtVHdlYWstdGVzdHMt cmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLmE3OGYyNGFkNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzMtVHdlYWstdGVzdHMtcmVxdWly ZWQtYnktcHl0ZXN0LTUuMC5wYXRjaApAQCAtMCwwICsxLDk3IEBACitGcm9tIDU4YzlhYmFhZWNi MTk0ZDI2N2M3NmE5MWRmZjdhYjIwODJiNDc5MWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IEZy aSwgNSBKdWwgMjAxOSAwODoyNzo0NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBUd2VhayB0ZXN0 cywgcmVxdWlyZWQgYnkgcHl0ZXN0ID49IDUuMC4gV2l0aCBweXRlc3QucmFpc2VzCisgdXNlIHN0 cihlLnZhbHVlKSBpbnN0ZWFkIG9mIHN0cihlKSBpbiBzb21lIGNhc2VzLgorCistLS0KKyB0ZXN0 cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgucHkgICAgICB8ICAyICstCisgdGVzdHMvdW5pdC90ZXN0 X2NvbnRleHRfY2xlYW51cHMucHkgfCAgMiArLQorIHRlc3RzL3VuaXQvdGVzdF90ZXh0dXRpbC5w eSAgICAgICAgIHwgMjQgKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2Vk LCAxNyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3Rz L2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5weSBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5w eQoraW5kZXggMTg1M2FkNi4uZjY2ZjZkMyAxMDA2NDQKKy0tLSBhL3Rlc3RzL2lzc3Vlcy90ZXN0 X2lzc3VlMDQ1OC5weQorKysrIGIvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNDU4LnB5CitAQCAt NDgsNyArNDgsNyBAQCBkZWYgdGVzdF9pc3N1ZShleGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UpOgor ICAgICAgICAgcmFpc2VfZXhjZXB0aW9uKGV4Y2VwdGlvbl9jbGFzcywgbWVzc2FnZSkKKyAKKyAg ICAgIyAtLSBTSE9VTEQgTk9UIFJBSVNFIEVYQ0VQVElPTiBIRVJFOgorLSAgICB0ZXh0ID0gX3Rl eHQoZSkKKysgICAgdGV4dCA9IF90ZXh0KGUudmFsdWUpCisgICAgICMgLS0gRElBR05PU1RJQ1M6 CisgICAgIHByaW50KHUidGV4dCIrIHRleHQpCisgICAgIHByaW50KHUiZXhjZXB0aW9uOiAlcyIg JSBlKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5IGIv dGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKK2luZGV4IGIwZThhZTYuLmJmMGFi NTAgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weQorKysr IGIvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKK0BAIC0xNTMsNyArMTUzLDcg QEAgY2xhc3MgVGVzdENvbnRleHRDbGVhbnVwKG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5dGVz dC5yYWlzZXMoQXNzZXJ0aW9uRXJyb3IpIGFzIGU6CisgICAgICAgICAgICAgd2l0aCBzY29wZWRf Y29udGV4dF9sYXllcihjb250ZXh0KToKKyAgICAgICAgICAgICAgICAgY29udGV4dC5hZGRfY2xl YW51cChub25fY2FsbGFibGUpCistICAgICAgICBhc3NlcnQgIlJFUVVJUkVTOiBjYWxsYWJsZShj bGVhbnVwX2Z1bmMpIiBpbiBzdHIoZSkKKysgICAgICAgIGFzc2VydCAiUkVRVUlSRVM6IGNhbGxh YmxlKGNsZWFudXBfZnVuYykiIGluIHN0cihlLnZhbHVlKQorIAorICAgICBkZWYgdGVzdF9vbl9j bGVhbnVwX2Vycm9yX19wcmludHNfZXJyb3JfYnlfZGVmYXVsdChzZWxmLCBjYXBzeXMpOgorICAg ICAgICAgZGVmIGJhZF9jbGVhbnVwX2Z1bmMoKToKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rl c3RfdGV4dHV0aWwucHkgYi90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKK2luZGV4IGY3ZjY0 MmMuLmUwNWU5YWQgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKKysr KyBiL3Rlc3RzL3VuaXQvdGVzdF90ZXh0dXRpbC5weQorQEAgLTIxNCw5ICsyMTQsMTEgQEAgY2xh c3MgVGVzdE9iamVjdFRvVGV4dENvbnZlcnNpb24ob2JqZWN0KToKKyAgICAgICAgIHdpdGggcHl0 ZXN0LnJhaXNlcyhBc3NlcnRpb25FcnJvcikgYXMgZToKKyAgICAgICAgICAgICBhc3NlcnQgRmFs c2UsIG1lc3NhZ2UKKyAKKy0gICAgICAgIHRleHQyID0gdGV4dChlKQorLSAgICAgICAgZXhwZWN0 ZWQgPSB1IkFzc2VydGlvbkVycm9yOiAlcyIgJSBtZXNzYWdlCistICAgICAgICBhc3NlcnQgdGV4 dDIuZW5kc3dpdGgoZXhwZWN0ZWQpCisrICAgICAgICAjIC0tIEZPUjogcHl0ZXN0IDwgNS4wCisr ICAgICAgICAjIGV4cGVjdGVkID0gdSJBc3NlcnRpb25FcnJvcjogJXMiICUgbWVzc2FnZQorKyAg ICAgICAgdGV4dDIgPSB0ZXh0KGUudmFsdWUpCisrICAgICAgICBhc3NlcnQgdSJBc3NlcnRpb25F cnJvciIgaW4gdGV4dChlKQorKyAgICAgICAgYXNzZXJ0IG1lc3NhZ2UgaW4gdGV4dDIsICJPT1BT OiB0ZXh0PSVyIiAlIHRleHQyCisgCisgICAgIEByZXF1aXJlc19weXRob24yCisgICAgIEBweXRl c3QubWFyay5wYXJhbWV0cml6ZSgibWVzc2FnZSIsIFsKK0BAIC0yMzYsMTAgKzIzOCwxMSBAQCBj bGFzcyBUZXN0T2JqZWN0VG9UZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAgICAgICAgICAgICAg ICBhc3NlcnQgZXhwZWN0ZWRfZGVjb2RlX2Vycm9yIGluIHN0cih1bmlfZXJyb3IpCisgICAgICAg ICAgICAgICAgIGFzc2VydCBGYWxzZSwgYnl0ZXNfbWVzc2FnZS5kZWNvZGUoc2VsZi5FTkNPRElO RykKKyAKKysgICAgICAgICMgLS0gRk9SOiBweXRlc3QgPCA1LjAKKysgICAgICAgICMgZXhwZWN0 ZWQgPSB1IkFzc2VydGlvbkVycm9yOiAlcyIgJSBtZXNzYWdlCisgICAgICAgICBwcmludCgiZGVj b2RlX2Vycm9yX29jY3VyZWQoYXNjaWkpPSVzIiAlIGRlY29kZV9lcnJvcl9vY2N1cmVkKQorLSAg ICAgICAgdGV4dDIgPSB0ZXh0KGUpCistICAgICAgICBleHBlY3RlZCA9IHUiQXNzZXJ0aW9uRXJy b3I6ICVzIiAlIG1lc3NhZ2UKKy0gICAgICAgIGFzc2VydCB0ZXh0Mi5lbmRzd2l0aChleHBlY3Rl ZCkKKysgICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVlKQorKyAgICAgICAgYXNzZXJ0IG1lc3Nh Z2UgaW4gdGV4dDIsICJPT1BTOiB0ZXh0PSVyIiAlIHRleHQyCisgCisgICAgIEBweXRlc3QubWFy ay5wYXJhbWV0cml6ZSgiZXhjZXB0aW9uX2NsYXNzLCBtZXNzYWdlIiwgWworICAgICAgICAgKEFz c2VydGlvbkVycm9yLCB1IsOEcmdlcm5pcyIpLAorQEAgLTI1MSwxMCArMjU0LDEzIEBAIGNsYXNz IFRlc3RPYmplY3RUb1RleHRDb252ZXJzaW9uKG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5dGVz dC5yYWlzZXMoZXhjZXB0aW9uX2NsYXNzKSBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGV4Y2Vw dGlvbl9jbGFzcyhtZXNzYWdlKQorIAorLSAgICAgICAgdGV4dDIgPSB0ZXh0KGUpCisrICAgICAg ICAjIC0tIEZPUjogcHl0ZXN0IDwgNS4wCisrICAgICAgICAjIGV4cGVjdGVkID0gdSJBc3NlcnRp b25FcnJvcjogJXMiICUgbWVzc2FnZQorKyAgICAgICAgdGV4dDIgPSB0ZXh0KGUudmFsdWUpCisg ICAgICAgICBleHBlY3RlZCA9IHUiJXM6ICVzIiAlIChleGNlcHRpb25fY2xhc3MuX19uYW1lX18s IG1lc3NhZ2UpCisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh0ZXh0Miwgc2l4LnRleHRfdHlw ZSkKKy0gICAgICAgIGFzc2VydCB0ZXh0Mi5lbmRzd2l0aChleHBlY3RlZCkKKysgICAgICAgIGFz c2VydCBleGNlcHRpb25fY2xhc3MuX19uYW1lX18gaW4gc3RyKGUpCisrICAgICAgICBhc3NlcnQg bWVzc2FnZSBpbiB0ZXh0MiwgIk9PUFM6IHRleHQ9JXIiICUgdGV4dDIKKyAKKyAgICAgQHJlcXVp cmVzX3B5dGhvbjIKKyAgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJleGNlcHRpb25fY2xh c3MsIG1lc3NhZ2UiLCBbCitAQCAtMjY4LDcgKzI3NCw3IEBAIGNsYXNzIFRlc3RPYmplY3RUb1Rl eHRDb252ZXJzaW9uKG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoZXhjZXB0 aW9uX2NsYXNzKSBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGV4Y2VwdGlvbl9jbGFzcyhieXRl c19tZXNzYWdlKQorIAorLSAgICAgICAgdGV4dDIgPSB0ZXh0KGUpCisrICAgICAgICB0ZXh0MiA9 IHRleHQoZS52YWx1ZSkKKyAgICAgICAgIHVuaWNvZGVfbWVzc2FnZSA9IGJ5dGVzX21lc3NhZ2Uu ZGVjb2RlKHNlbGYuRU5DT0RJTkcpCisgICAgICAgICBleHBlY3RlZCA9IHUiJXM6ICVzIiAlIChl eGNlcHRpb25fY2xhc3MuX19uYW1lX18sIHVuaWNvZGVfbWVzc2FnZSkKKyAgICAgICAgIGFzc2Vy dCBpc2luc3RhbmNlKHRleHQyLCBzaXgudGV4dF90eXBlKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNC1DTEVBTlVQLVVz ZS1weXRlc3QtaW5zdGVhZC1vZi1ub3NlLXRvLXJlbW92ZS1ub3NlLmltLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNC1DTEVBTlVQ LVVzZS1weXRlc3QtaW5zdGVhZC1vZi1ub3NlLXRvLXJlbW92ZS1ub3NlLmltLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZTYzMDk1ZGZjCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAzNC1DTEVBTlVQLVVzZS1weXRlc3QtaW5zdGVhZC1vZi1ub3NlLXRvLXJlbW92ZS1ub3NlLmlt LnBhdGNoCkBAIC0wLDAgKzEsMTgwIEBACitGcm9tIDdkNmY4ODNjODY5MTg3ZTI0ZjVhNzUzMjMz YzZjOWRlNGY4MjgzMDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxq ZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IEZyaSwgNSBKdWwgMjAxOSAw ODo0NTo1MSArMDIwMAorU3ViamVjdDogW1BBVENIXSBDTEVBTlVQOiBVc2UgcHl0ZXN0IGluc3Rl YWQgb2Ygbm9zZSB0byByZW1vdmUgbm9zZS5pbXBvcnRlcgorIERlcHJlY2F0aW9uV2FybmluZy4K KworLS0tCisgdGVzdHMvdW5pdC90ZXN0X2ltcG9ydGVyLnB5IHwgMTYzICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxNjMgaW5zZXJ0aW9ucygr KQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKKworZGlm ZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9p bXBvcnRlci5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmYzZjRlMmMK Ky0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weQorQEAgLTAs MCArMSwxNjMgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyIiIgorK1Rlc3RzIGZvciBi ZWhhdmUuaW1wb3J0aW5nLgorK1RoZSBtb2R1bGUgcHJvdmlkZXMgYSBsYXp5LWxvYWRpbmcvaW1w b3J0aW5nIG1lY2hhbmlzbS4KKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydAorK2ltcG9ydCBweXRlc3QKKytmcm9tIGJlaGF2ZS5pbXBvcnRlciBpbXBvcnQg TGF6eU9iamVjdCwgTGF6eURpY3QsIGxvYWRfbW9kdWxlLCBwYXJzZV9zY29wZWRfbmFtZQorK2Zy b20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBGb3JtYXR0ZXIKKytpbXBvcnQgc3lzCisr aW1wb3J0IHR5cGVzCisrIyBpbXBvcnQgdW5pdHRlc3QKKysKKysKKytjbGFzcyBUZXN0VGhlb3J5 KG9iamVjdCk6CisrICAgICIiIk1hcmtlciBmb3IgdGVzdC10aGVvcnkgY2xhc3NlcyBhcyBzeW50 YWN0aWMgc3VnYXIuIiIiCisrICAgIHBhc3MKKysKKysKKytjbGFzcyBJbXBvcnRNb2R1bGVUaGVv cnkoVGVzdFRoZW9yeSk6CisrICAgICIiIgorKyAgICBQcm92aWRlcyBhIHRlc3QgdGhlb3J5IGZv ciBpbXBvcnRpbmcgbW9kdWxlcy4KKysgICAgIiIiCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAg ICBkZWYgZW5zdXJlX21vZHVsZV9pc19ub3RfaW1wb3J0ZWQoY2xzLCBtb2R1bGVfbmFtZSk6Cisr ICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKKysgICAgICAgICAgICBkZWwg c3lzLm1vZHVsZXNbbW9kdWxlX25hbWVdCisrICAgICAgICBjbHMuYXNzZXJ0X21vZHVsZV9pc19u b3RfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVm IGFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpOgorKyAgICAgICAgbW9kdWxl ID0gc3lzLm1vZHVsZXMuZ2V0KG1vZHVsZV9uYW1lLCBOb25lKQorKyAgICAgICAgYXNzZXJ0IG1v ZHVsZV9uYW1lIGluIHN5cy5tb2R1bGVzCisrICAgICAgICBhc3NlcnQgbW9kdWxlIGlzIG5vdCBO b25lCisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIGFzc2VydF9tb2R1bGVfaXNfbm90 X2ltcG9ydGVkKG1vZHVsZV9uYW1lKToKKysgICAgICAgIGFzc2VydCBtb2R1bGVfbmFtZSBub3Qg aW4gc3lzLm1vZHVsZXMKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgYXNzZXJ0X21v ZHVsZV93aXRoX25hbWUobW9kdWxlLCBuYW1lKToKKysgICAgICAgIGFzc2VydCBpc2luc3RhbmNl KG1vZHVsZSwgdHlwZXMuTW9kdWxlVHlwZSkKKysgICAgICAgIGFzc2VydCBtb2R1bGUuX19uYW1l X18gPT0gbmFtZQorKworKworK2NsYXNzIFRlc3RMb2FkTW9kdWxlKG9iamVjdCk6CisrICAgIHRo ZW9yeSA9IEltcG9ydE1vZHVsZVRoZW9yeQorKworKyAgICBkZWYgdGVzdF9sb2FkX21vZHVsZV9f c2hvdWxkX2ZhaWxfZm9yX3Vua25vd25fbW9kdWxlKHNlbGYpOgorKyAgICAgICAgd2l0aCBweXRl c3QucmFpc2VzKEltcG9ydEVycm9yKSBhcyBlOgorKyAgICAgICAgICAgIGxvYWRfbW9kdWxlKCJf X3Vua25vd25fbW9kdWxlX18iKQorKyAgICAgICAgIyBPTEQ6IGFzc2VydF9yYWlzZXMoSW1wb3J0 RXJyb3IsIGxvYWRfbW9kdWxlLCAiX191bmtub3duX21vZHVsZV9fIikKKysKKysgICAgZGVmIHRl c3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9hbHJlYWR5X2ltcG9ydGVkX21vZHVs ZShzZWxmKToKKysgICAgICAgIG1vZHVsZV9uYW1lID0gImJlaGF2ZS5pbXBvcnRlciIKKysgICAg ICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisr CisrICAgICAgICBtb2R1bGUgPSBsb2FkX21vZHVsZShtb2R1bGVfbmFtZSkKKysgICAgICAgIHNl bGYudGhlb3J5LmFzc2VydF9tb2R1bGVfd2l0aF9uYW1lKG1vZHVsZSwgbW9kdWxlX25hbWUpCisr ICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1l KQorKworKyAgICBkZWYgdGVzdF9sb2FkX21vZHVsZV9fc2hvdWxkX3N1Y2NlZWRfZm9yX2V4aXN0 aW5nX21vZHVsZShzZWxmKToKKysgICAgICAgIG1vZHVsZV9uYW1lID0gInRlc3QuX2ltcG9ydGVy X2NhbmRpZGF0ZSIKKysgICAgICAgIHNlbGYudGhlb3J5LmVuc3VyZV9tb2R1bGVfaXNfbm90X2lt cG9ydGVkKG1vZHVsZV9uYW1lKQorKworKyAgICAgICAgbW9kdWxlID0gbG9hZF9tb2R1bGUobW9k dWxlX25hbWUpCisrICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX3dpdGhfbmFtZSht b2R1bGUsIG1vZHVsZV9uYW1lKQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9p c19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKysKKysKKytjbGFzcyBUZXN0TGF6eU9iamVjdChvYmpl Y3QpOgorKworKyAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9zdWNjZWVkX2Zvcl9rbm93bl9vYmpl Y3Qoc2VsZik6CisrICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyIiwg IkxhenlPYmplY3QiKQorKyAgICAgICAgdmFsdWUgPSBsYXp5LmdldCgpCisrICAgICAgICBhc3Nl cnQgdmFsdWUgaXMgTGF6eU9iamVjdAorKworKyAgICAgICAgbGF6eTIgPSBMYXp5T2JqZWN0KCJi ZWhhdmUuaW1wb3J0ZXI6TGF6eU9iamVjdCIpCisrICAgICAgICB2YWx1ZTIgPSBsYXp5Mi5nZXQo KQorKyAgICAgICAgYXNzZXJ0IHZhbHVlMiBpcyBMYXp5T2JqZWN0CisrCisrICAgICAgICBsYXp5 MyA9IExhenlPYmplY3QoImJlaGF2ZS5mb3JtYXR0ZXIuc3RlcHMiLCAiU3RlcHNGb3JtYXR0ZXIi KQorKyAgICAgICAgdmFsdWUzID0gbGF6eTMuZ2V0KCkKKysgICAgICAgIGFzc2VydCBpc3N1YmNs YXNzKHZhbHVlMywgRm9ybWF0dGVyKQorKworKyAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9mYWls X2Zvcl91bmtub3duX21vZHVsZShzZWxmKToKKysgICAgICAgIGxhenkgPSBMYXp5T2JqZWN0KCJf X3Vua25vd25fbW9kdWxlX18iLCAieHh4IikKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhJ bXBvcnRFcnJvcik6CisrICAgICAgICAgICAgbGF6eS5nZXQoKQorKworKyAgICBkZWYgdGVzdF9n ZXRfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX29iamVjdF9pbl9tb2R1bGUoc2VsZik6CisrICAg ICAgICBsYXp5ID0gTGF6eU9iamVjdCgidGVzdC5faW1wb3J0ZXJfY2FuZGlkYXRlIiwgInh4eCIp CisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoSW1wb3J0RXJyb3IpOgorKyAgICAgICAgICAg IGxhenkuZ2V0KCkKKysKKysKKytjbGFzcyBMYXp5RGljdFRoZW9yeShUZXN0VGhlb3J5KToKKysK KysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgc2FmZV9nZXRpdGVtKGRhdGEsIGtleSk6Cisr ICAgICAgICByZXR1cm4gZGljdC5fX2dldGl0ZW1fXyhkYXRhLCBrZXkpCisrCisrICAgIEBjbGFz c21ldGhvZAorKyAgICBkZWYgYXNzZXJ0X2l0ZW1faXNfbGF6eShjbHMsIGRhdGEsIGtleSk6Cisr ICAgICAgICB2YWx1ZSA9IGNscy5zYWZlX2dldGl0ZW0oZGF0YSwga2V5KQorKyAgICAgICAgY2xz LmFzc2VydF9pc19sYXp5X29iamVjdCh2YWx1ZSkKKysKKysgICAgQGNsYXNzbWV0aG9kCisrICAg IGRlZiBhc3NlcnRfaXRlbV9pc19ub3RfbGF6eShjbHMsIGRhdGEsIGtleSk6CisrICAgICAgICB2 YWx1ZSA9IGNscy5zYWZlX2dldGl0ZW0oZGF0YSwga2V5KQorKyAgICAgICAgY2xzLmFzc2VydF9p c19ub3RfbGF6eV9vYmplY3QodmFsdWUpCisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVm IGFzc2VydF9pc19sYXp5X29iamVjdChvYmopOgorKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo b2JqLCBMYXp5T2JqZWN0KQorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBhc3NlcnRf aXNfbm90X2xhenlfb2JqZWN0KG9iaik6CisrICAgICAgICBhc3NlcnQgbm90IGlzaW5zdGFuY2Uo b2JqLCBMYXp5T2JqZWN0KQorKworKworK2NsYXNzIFRlc3RMYXp5RGljdChvYmplY3QpOgorKyAg ICB0aGVvcnkgPSBMYXp5RGljdFRoZW9yeQorKworKyAgICBkZWYgdGVzdF91bmtub3duX2l0ZW1f YWNjZXNzX19zaG91bGRfcmFpc2Vfa2V5ZXJyb3Ioc2VsZik6CisrICAgICAgICBsYXp5X2RpY3Qg PSBMYXp5RGljdCh7ImFsaWNlIjogNDJ9KQorKyAgICAgICAgaXRlbV9hY2Nlc3MgPSBsYW1iZGEg a2V5OiBsYXp5X2RpY3Rba2V5XQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEtleUVycm9y KToKKysgICAgICAgICAgICBpdGVtX2FjY2VzcygidW5rbm93biIpCisrCisrICAgIGRlZiB0ZXN0 X3BsYWluX2l0ZW1fYWNjZXNzX19zaG91bGRfc3VjY2VlZChzZWxmKToKKysgICAgICAgIHRoZW9y eSA9IExhenlEaWN0VGhlb3J5CisrICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNl IjogNDJ9KQorKyAgICAgICAgdGhlb3J5LmFzc2VydF9pdGVtX2lzX25vdF9sYXp5KGxhenlfZGlj dCwgImFsaWNlIikKKysKKysgICAgICAgIHZhbHVlID0gbGF6eV9kaWN0WyJhbGljZSJdCisrICAg ICAgICBhc3NlcnQgdmFsdWUgPT0gNDIKKysKKysgICAgZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vz c19fc2hvdWxkX2xvYWRfb2JqZWN0KHNlbGYpOgorKyAgICAgICAgSW1wb3J0TW9kdWxlVGhlb3J5 LmVuc3VyZV9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKCJpbnNwZWN0IikKKysgICAgICAgIGxhenlf ZGljdCA9IExhenlEaWN0KHsiYWxpY2UiOiBMYXp5T2JqZWN0KCJpbnNwZWN0OmlzbW9kdWxlIil9 KQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbGF6eShsYXp5X2RpY3QsICJh bGljZSIpCisrICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfaXRlbV9pc19sYXp5KGxhenlfZGlj dCwgImFsaWNlIikKKysKKysgICAgICAgIHZhbHVlID0gbGF6eV9kaWN0WyJhbGljZSJdCisrICAg ICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KHZhbHVlKQorKyAgICAg ICAgc2VsZi50aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbm90X2xhenkobGF6eV9kaWN0LCAiYWxpY2Ui KQorKworKyAgICBkZWYgdGVzdF9sYXp5X2l0ZW1fYWNjZXNzX19zaG91bGRfZmFpbF93aXRoX3Vu a25vd25fbW9kdWxlKHNlbGYpOgorKyAgICAgICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJib2Ii OiBMYXp5T2JqZWN0KCJfX3Vua25vd25fbW9kdWxlX18iLCAieHh4Iil9KQorKyAgICAgICAgaXRl bV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQorKyAgICAgICAgd2l0aCBweXRl c3QucmFpc2VzKEltcG9ydEVycm9yKToKKysgICAgICAgICAgICBpdGVtX2FjY2VzcygiYm9iIikK KysKKysgICAgZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vzc19fc2hvdWxkX2ZhaWxfd2l0aF91bmtu b3duX29iamVjdChzZWxmKToKKysgICAgICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsKKysgICAg ICAgICAgICAiYm9iIjogTGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyIiwgIlhVbmtub3duIikK KysgICAgICAgIH0pCisrICAgICAgICBpdGVtX2FjY2VzcyA9IGxhbWJkYSBrZXk6IGxhenlfZGlj dFtrZXldCisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoSW1wb3J0RXJyb3IpOgorKyAgICAg ICAgICAgIGl0ZW1fYWNjZXNzKCJib2IiKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNS1SRU1PVkUtREVQRU5ERU5DWS1u b3NlLXRvLWF2b2lkLW5vc2UuaW1wb3J0ZXItd2FybmluLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNS1SRU1PVkUtREVQRU5ERU5D WS1ub3NlLXRvLWF2b2lkLW5vc2UuaW1wb3J0ZXItd2FybmluLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTYzYTg0M2U4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNS1SRU1P VkUtREVQRU5ERU5DWS1ub3NlLXRvLWF2b2lkLW5vc2UuaW1wb3J0ZXItd2FybmluLnBhdGNoCkBA IC0wLDAgKzEsMTgxNSBAQAorRnJvbSA4NDlkODhmM2ZlNDUzNzcwODZhNTg5NWEzY2M2NzM0YmQ5 ZTUyZTNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMDk6MTA6NTIg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUkVNT1ZFLURFUEVOREVOQ1k6IG5vc2UgKHRvIGF2b2lk IG5vc2UuaW1wb3J0ZXIgd2FybmluZ3MpCisKK1JlcGxhY2Ugbm9zZSB0ZXN0LWZyYW1ld29yayBm dW5jdGlvbmFsaXR5IHcvIHB5dGVzdC4KK01vdmUgdGVzdC8qLnB5ID0+IHRlc3RzL3VuaXQvKi5w eQorLS0tCisgTUFOSUZFU1QuaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAyIC0KKyBjb25mdGVzdC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MTMgKysKKyBpbnZva2UueWFtbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKworIHB5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0ICAgICAgICAgICAgICAgICAgICB8ICAg OSArCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgICAgICAgICAgICAgICAgIHwgICAx IC0KKyBweS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQgICAgICAgICAgICAgICAgICAgfCAgIDEg LQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCAgICAgICAgICAgICAgICAgICB8ICAgMyAr LQorIHB5dGVzdC5pbmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNyAr LQorIHNldHVwLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCAr LQorIHRhc2tzL3Rlc3QucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAr LQorIHRlc3QvX19pbml0X18ucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMAor IHRlc3QvdGVzdF9pbXBvcnRlci5weSAgICAgICAgICAgICAgICAgICAgICAgICB8IDE1MSAtLS0t LS0tLS0tLS0tCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vX2ltcG9ydGVyX2NhbmRpZGF0ZS5weSAg IHwgICAwCisgdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkgICAgICAgICAgIHwg ICAyIC0KKyAuLi4vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weSAgICAgICAgICAgfCAg MTcgKy0KKyAuLi4vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0Mi5weSAgICAgICAgICAgfCAg MTggKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Fuc2lfZXNjYXBlcy5weSAgICAgfCAg MTQgKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2NvbmZpZ3VyYXRpb24ucHkgICAgfCAg NzUgKysrLS0tCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXIucHkgICAgICAg IHwgIDE1ICstCisgLi4uL3VuaXR9L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5ICAgICAgICAg IHwgICA3ICsKKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weSAg fCAgMTIgKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5ICAg fCAgIDkgKworIHRlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weSAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQorIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfbG9nX2NhcHR1cmUucHkgICAgICB8 ICAgOSArLQorIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfbWF0Y2hlcnMucHkgICAgICAgICB8 ICAyNCArLQorIHRlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkgICAgICAgICAgICAgICAgICAgICB8 ICAgMSAtCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9ydW5uZXIucHkgICAgICAgICAgIHwg MjEzICsrKysrKysrKystLS0tLS0tLQorIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3Rfc3RlcF9y ZWdpc3RyeS5weSAgICB8ICAgNSArLQorIHRlc3RzL3VuaXQvdGVzdF90ZXh0dXRpbC5weSAgICAg ICAgICAgICAgICAgICB8ICAxMiArLQorIHRveC5pbmkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAxOSArLQorIDMwIGZpbGVzIGNoYW5nZWQsIDI4MyBpbnNlcnRpb25z KCspLCAzNjkgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHB5LnJlcXVpcmVtZW50 cy9jaS50b3gudHh0CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRlc3QvX19pbml0X18ucHkKKyBkZWxl dGUgbW9kZSAxMDA2NDQgdGVzdC90ZXN0X2ltcG9ydGVyLnB5CisgcmVuYW1lIHt0ZXN0ID0+IHRl c3RzL3VuaXR9L19pbXBvcnRlcl9jYW5kaWRhdGUucHkgKDEwMCUpCisgcmVuYW1lIHt0ZXN0ID0+ IHRlc3RzL3VuaXR9L3Rlc3RfYW5zaV9lc2NhcGVzLnB5ICg4NCUpCisgcmVuYW1lIHt0ZXN0ID0+ IHRlc3RzL3VuaXR9L3Rlc3RfY29uZmlndXJhdGlvbi5weSAoNzIlKQorIHJlbmFtZSB7dGVzdCA9 PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlci5weSAoOTQlKQorIHJlbmFtZSB7dGVzdCA9PiB0 ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weSAoOTklKQorIHJlbmFtZSB7dGVz dCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weSAoOTQlKQorIHJlbmFtZSB7 dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5ICg5OSUpCisgcmVuYW1l IHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfbG9nX2NhcHR1cmUucHkgKDg3JSkKKyByZW5hbWUg e3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9tYXRjaGVycy5weSAoOTMlKQorIHJlbmFtZSB7dGVz dCA9PiB0ZXN0cy91bml0fS90ZXN0X3J1bm5lci5weSAoODIlKQorIHJlbmFtZSB7dGVzdCA9PiB0 ZXN0cy91bml0fS90ZXN0X3N0ZXBfcmVnaXN0cnkucHkgKDk1JSkKKworZGlmZiAtLWdpdCBhL01B TklGRVNULmluIGIvTUFOSUZFU1QuaW4KK2luZGV4IDQ5Y2I3YzYuLjYwYzI2MDEgMTAwNjQ0Cist LS0gYS9NQU5JRkVTVC5pbgorKysrIGIvTUFOSUZFU1QuaW4KK0BAIC0zMyw1ICszMywzIEBAIHJl Y3Vyc2l2ZS1pbmNsdWRlIHB5LnJlcXVpcmVtZW50cyAgKi50eHQKKyAKKyBwcnVuZSAudG94Cisg cHJ1bmUgLnZlbnYqCistcHJ1bmUgcGF2ZXJfZXh0CistZXhjbHVkZSBwYXZlbWVudC5weQorZGlm ZiAtLWdpdCBhL2NvbmZ0ZXN0LnB5IGIvY29uZnRlc3QucHkKK2luZGV4IDdiM2E4ODMuLjcxYTNi ZDAgMTAwNjQ0CistLS0gYS9jb25mdGVzdC5weQorKysrIGIvY29uZnRlc3QucHkKK0BAIC0xMCw2 ICsxMCwxMCBAQCBBZGQgcHJvamVjdC1zcGVjaWZpYyBpbmZvcm1hdGlvbi4KKyBpbXBvcnQgYmVo YXZlCisgaW1wb3J0IHB5dGVzdAorIAorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBQWVRF U1QgRklYVFVSRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBAcHl0ZXN0LmZpeHR1cmUoYXV0 b3VzZT1UcnVlKQorIGRlZiBfYW5ub3RhdGVfZW52aXJvbm1lbnQocmVxdWVzdCk6CisgICAgICIi IkFkZCBwcm9qZWN0LXNwZWNpZmljIGluZm9ybWF0aW9uIHRvIHRlc3QtcnVuIGVudmlyb25tZW50 OgorQEAgLTI1LDMgKzI5LDEyIEBAIGRlZiBfYW5ub3RhdGVfZW52aXJvbm1lbnQocmVxdWVzdCk6 CisgICAgICAgICBiZWhhdmVfdmVyc2lvbiA9IGJlaGF2ZS5fX3ZlcnNpb25fXworICAgICAgICAg ZW52aXJvbm1lbnQuYXBwZW5kKCgiYmVoYXZlIiwgYmVoYXZlX3ZlcnNpb24pKQorIAorK19weXRl c3RfdmVyc2lvbiA9IHB5dGVzdC5fX3ZlcnNpb25fXworK2lmIF9weXRlc3RfdmVyc2lvbiA+PSAi NS4wIjoKKysgICAgIyAtLSBTVVBQT1JURUQgU0lOQ0U6IHB5dGVzdCA1LjAKKysgICAgQHB5dGVz dC5maXh0dXJlKHNjb3BlPSJzZXNzaW9uIiwgYXV0b3VzZT1UcnVlKQorKyAgICBkZWYgbG9nX2ds b2JhbF9lbnZfZmFjdHMocmVjb3JkX3Rlc3RzdWl0ZV9wcm9wZXJ0eSk6CisrICAgICAgICAjIFNF RTogaHR0cHM6Ly9kb2NzLnB5dGVzdC5vcmcvZW4vbGF0ZXN0L3VzYWdlLmh0bWwKKysgICAgICAg IGJlaGF2ZV92ZXJzaW9uID0gYmVoYXZlLl9fdmVyc2lvbl9fCisrICAgICAgICByZWNvcmRfdGVz dHN1aXRlX3Byb3BlcnR5KCJCRUhBVkVfVkVSU0lPTiIsIGJlaGF2ZV92ZXJzaW9uKQorKworZGlm ZiAtLWdpdCBhL2ludm9rZS55YW1sIGIvaW52b2tlLnlhbWwKK2luZGV4IDRmMjEzMjguLjNlOTNj ZmMgMTAwNjQ0CistLS0gYS9pbnZva2UueWFtbAorKysrIGIvaW52b2tlLnlhbWwKK0BAIC0yMyw2 ICsyMyw3IEBAIHNwaGlueDoKKyAgICAgbGFuZ3VhZ2VzOgorICAgICAgIC0gZGUKKyAgICAgICAj IFBSRVBBUkVEOiAtIHpoLUNOCisrCisgY2xlYW51cDoKKyAgICAgZXh0cmFfZGlyZWN0b3JpZXM6 CisgICAgICAgLSAiYnVpbGQiCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50 eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAuLjZiM2IzYWUKKy0tLSAvZGV2L251bGwKKysrKyBiL3B5LnJlcXVpcmVtZW50 cy9jaS50b3gudHh0CitAQCAtMCwwICsxLDkgQEAKKysjID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysj IEJFSEFWRTogUFlUSE9OIFBBQ0tBR0UgUkVRVUlSRU1FTlRTOiBjaS50b3gudHh0CisrIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisrCisrcHl0ZXN0ID49IDQuMgorK3B5dGVzdC1odG1sID49IDEuMTku MAorK21vY2sgPj0gMi4wCisrUHlIYW1jcmVzdCA+PSAxLjkKKytwYXRoLnB5ID49IDEwLjEKK2Rp ZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50 cy9jaS50cmF2aXMudHh0CitpbmRleCAxY2MwMjM5Li43M2Q2NWY2IDEwMDY0NAorLS0tIGEvcHku cmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2 aXMudHh0CitAQCAtMSw1ICsxLDQgQEAKKyBtb2NrCistbm9zZQorIFB5SGFtY3Jlc3QgPj0gMS45 CisgcHl0ZXN0ID49IDMuMAorIHB5dGVzdC1odG1sID49IDEuMTkuMAorZGlmZiAtLWdpdCBhL3B5 LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAor aW5kZXggM2RlZWRjNy4uZDgyMzM4OSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9kZXZl bG9wLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAtMTQsNyArMTQs NiBAQCBweWNtZAorIGJ1bXB2ZXJzaW9uID49IDAuNC4wCisgCisgIyAtLSBERVZFTE9QTUVOVCBT VVBQT1JUOgorLSMgUFJFUEFSRUQ6IG5vc2UtY292ID49IDEuNAorIHRveCAgID49IDEuOC4xCisg Y292ZXJhZ2UgPj0gNC4yCisgcHl0ZXN0LWNvdgorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50 cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAoraW5kZXggMzgwNmQz OS4uYTQxODczOSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysr IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitAQCAtNCw5ICs0LDggQEAKKyAKKyAjIC0t IFRFU1RJTkc6IFVuaXQgdGVzdHMgYW5kIGJlaGF2ZSBzZWxmLXRlc3RzLgorICMgUFJFUEFSRUQt RlVUVVJFOiBiZWhhdmU0Y21kMCwgYmVoYXZlNGNtZAorLXB5dGVzdCA+PSAzLjAKKytweXRlc3Qg Pj0gNC4yCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCistbm9zZSAgPj0gMS4zCisgbW9jayAgPj0g Mi4wCisgUHlIYW1jcmVzdCA+PSAxLjkKKyAKK2RpZmYgLS1naXQgYS9weXRlc3QuaW5pIGIvcHl0 ZXN0LmluaQoraW5kZXggMTdhZDM4OC4uYTY4NjU5NiAxMDA2NDQKKy0tLSBhL3B5dGVzdC5pbmkK KysrKyBiL3B5dGVzdC5pbmkKK0BAIC0xNiw4ICsxNiw4IEBACisgIyA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisgCisgW3B5dGVzdF0KKy1taW52ZXJzaW9uICAgID0gMi44CistdGVzdHBhdGhzICAgICA9 IHRlc3QgdGVzdHMKKyttaW52ZXJzaW9uICAgID0gNC4yCisrdGVzdHBhdGhzICAgICA9IHRlc3Rz CisgcHl0aG9uX2ZpbGVzICA9IHRlc3RfKi5weQorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tB R0VfVU5ERVJfVEVTVCBiZWhhdmUKKyAgICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4y LjcuZGV2MQorQEAgLTI2LDYgKzI2LDcgQEAgYWRkb3B0cyA9IC0tbWV0YWRhdGEgUEFDS0FHRV9V TkRFUl9URVNUIGJlaGF2ZQorIG1hcmtlcnMgPQorICAgICBzbW9rZQorICAgICBzbG93CisrCisg IyAtLSBCQUNLV0FSRCBDT01QQVRJQklMSVRZOiBweXRlc3QgPCAyLjgKKy1ub3JlY3Vyc2VkaXJz ID0gLmdpdCAudG94IGJ1aWxkIGRpc3QgcHkucmVxdWlyZW1lbnRzIHRtcCogX1dPUktTUEFDRQor KyMgbm9yZWN1cnNlZGlycyA9IC5naXQgLnRveCBidWlsZCBkaXN0IHB5LnJlcXVpcmVtZW50cyB0 bXAqIF9XT1JLU1BBQ0UKKyAKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRl eCBhYzdiZGRmLi45Yzc1NjBkIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5 CitAQCAtODYsMTMgKzg2LDExIEBAIHNldHVwKAorICAgICAgICAgIndpbl91bmljb2RlX2NvbnNv bGU7IHB5dGhvbl92ZXJzaW9uIDwgJzMuNiciLAorICAgICAgICAgImNvbG9yYW1hIiwKKyAgICAg XSwKKy0gICAgdGVzdF9zdWl0ZT0ibm9zZS5jb2xsZWN0b3IiLAorICAgICB0ZXN0c19yZXF1aXJl PVsKKy0gICAgICAgICJweXRlc3QgPj0gMy4wIiwKKysgICAgICAgICJweXRlc3QgPj0gNC4yIiwK KyAgICAgICAgICJweXRlc3QtaHRtbCA+PSAxLjE5LjAiLAorLSAgICAgICAgIm5vc2UgPj0gMS4z IiwKKyAgICAgICAgICJtb2NrID49IDEuMSIsCistICAgICAgICAiUHlIYW1jcmVzdCA+PSAxLjgi LAorKyAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS45IiwKKyAgICAgICAgICJwYXRoLnB5ID49IDEx LjUuMCIKKyAgICAgXSwKKyAgICAgY21kY2xhc3MgPSB7CitAQCAtMTA1LDcgKzEwMyw3IEBAIHNl dHVwKAorICAgICAgICAgXSwKKyAgICAgICAgICJkZXZlbG9wIjogWworICAgICAgICAgICAgICJj b3ZlcmFnZSIsCistICAgICAgICAgICAgInB5dGVzdCA+PSAzLjAiLAorKyAgICAgICAgICAgICJw eXRlc3QgPj0gNC4yIiwKKyAgICAgICAgICAgICAicHl0ZXN0LWh0bWwgPj0gMS4xOS4wIiwKKyAg ICAgICAgICAgICAicHl0ZXN0LWNvdiIsCisgICAgICAgICAgICAgInRveCIsCitkaWZmIC0tZ2l0 IGEvdGFza3MvdGVzdC5weSBiL3Rhc2tzL3Rlc3QucHkKK2luZGV4IDA2ZWIxNzUuLmJmYTJkODAg MTAwNjQ0CistLS0gYS90YXNrcy90ZXN0LnB5CisrKysgYi90YXNrcy90ZXN0LnB5CitAQCAtMTcy LDcgKzE3Miw3IEBAIG5hbWVzcGFjZS5jb25maWd1cmUoeworICAgICAgICAgfSwKKyAgICAgfSwK KyAgICAgInB5dGVzdCI6IHsKKy0gICAgICAgICJzY29wZXMiOiAgIFsidGVzdCIsICJ0ZXN0cyJd LAorKyAgICAgICAgInNjb3BlcyI6ICAgWyJ0ZXN0cyJdLAorICAgICAgICAgImFyZ3MiOiAgICIi LAorICAgICAgICAgIm9wdGlvbnMiOiAiIiwgICMgLS0gTk9URTogIE92ZXJpZGUgaW4gY29uZmln ZmlsZSAiaW52b2tlLnlhbWwiCisgICAgIH0sCitkaWZmIC0tZ2l0IGEvdGVzdC9fX2luaXRfXy5w eSBiL3Rlc3QvX19pbml0X18ucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZTY5 ZGUyOS4uMDAwMDAwMAorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9pbXBvcnRlci5weSBiL3Rlc3Qv dGVzdF9pbXBvcnRlci5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBiYWNhMjFh Li4wMDAwMDAwCistLS0gYS90ZXN0L3Rlc3RfaW1wb3J0ZXIucHkKKysrKyAvZGV2L251bGwKK0BA IC0xLDE1MSArMCwwIEBACistIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKy0iIiIKKy1UZXN0cyBm b3IgYmVoYXZlLmltcG9ydGluZy4KKy1UaGUgbW9kdWxlIHByb3ZpZGVzIGEgbGF6eS1sb2FkaW5n L2ltcG9ydGluZyBtZWNoYW5pc20uCistIiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBh YnNvbHV0ZV9pbXBvcnQKKy1mcm9tIGJlaGF2ZS5pbXBvcnRlciBpbXBvcnQgTGF6eU9iamVjdCwg TGF6eURpY3QsIGxvYWRfbW9kdWxlLCBwYXJzZV9zY29wZWRfbmFtZQorLWZyb20gYmVoYXZlLmZv cm1hdHRlci5iYXNlIGltcG9ydCBGb3JtYXR0ZXIKKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0IGVx XywgYXNzZXJ0X3JhaXNlcworLWltcG9ydCBzeXMKKy1pbXBvcnQgdHlwZXMKKy0jIGltcG9ydCB1 bml0dGVzdAorLQorLQorLWNsYXNzIFRlc3RUaGVvcnkob2JqZWN0KTogcGFzcworLWNsYXNzIElt cG9ydE1vZHVsZVRoZW9yeShUZXN0VGhlb3J5KToKKy0gICAgIiIiCistICAgIFByb3ZpZGVzIGEg dGVzdCB0aGVvcnkgZm9yIGltcG9ydGluZyBtb2R1bGVzLgorLSAgICAiIiIKKy0KKy0gICAgQGNs YXNzbWV0aG9kCistICAgIGRlZiBlbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRlZChjbHMsIG1v ZHVsZV9uYW1lKToKKy0gICAgICAgIGlmIG1vZHVsZV9uYW1lIGluIHN5cy5tb2R1bGVzOgorLSAg ICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1ttb2R1bGVfbmFtZV0KKy0gICAgICAgIGNscy5hc3Nl cnRfbW9kdWxlX2lzX25vdF9pbXBvcnRlZChtb2R1bGVfbmFtZSkKKy0KKy0gICAgQHN0YXRpY21l dGhvZAorLSAgICBkZWYgYXNzZXJ0X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSk6Cist ICAgICAgICBtb2R1bGUgPSBzeXMubW9kdWxlcy5nZXQobW9kdWxlX25hbWUsIE5vbmUpCistICAg ICAgICBhc3NlcnQgbW9kdWxlX25hbWUgaW4gc3lzLm1vZHVsZXMKKy0gICAgICAgIGFzc2VydCBt b2R1bGUgaXMgbm90IE5vbmUKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAgICBkZWYgYXNzZXJ0 X21vZHVsZV9pc19ub3RfaW1wb3J0ZWQobW9kdWxlX25hbWUpOgorLSAgICAgICAgYXNzZXJ0IG1v ZHVsZV9uYW1lIG5vdCBpbiBzeXMubW9kdWxlcworLQorLSAgICBAc3RhdGljbWV0aG9kCistICAg IGRlZiBhc3NlcnRfbW9kdWxlX3dpdGhfbmFtZShtb2R1bGUsIG5hbWUpOgorLSAgICAgICAgYXNz ZXJ0IGlzaW5zdGFuY2UobW9kdWxlLCB0eXBlcy5Nb2R1bGVUeXBlKQorLSAgICAgICAgZXFfKG1v ZHVsZS5fX25hbWVfXywgbmFtZSkKKy0KKy0KKy1jbGFzcyBUZXN0TG9hZE1vZHVsZShvYmplY3Qp OgorLSAgICB0aGVvcnkgPSBJbXBvcnRNb2R1bGVUaGVvcnkKKy0KKy0gICAgZGVmIHRlc3RfbG9h ZF9tb2R1bGVfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX21vZHVsZShzZWxmKToKKy0gICAgICAg IGFzc2VydF9yYWlzZXMoSW1wb3J0RXJyb3IsIGxvYWRfbW9kdWxlLCAiX191bmtub3duX21vZHVs ZV9fIikKKy0KKy0gICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9h bHJlYWR5X2ltcG9ydGVkX21vZHVsZShzZWxmKToKKy0gICAgICAgIG1vZHVsZV9uYW1lID0gImJl aGF2ZS5pbXBvcnRlciIKKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1w b3J0ZWQobW9kdWxlX25hbWUpCistCistICAgICAgICBtb2R1bGUgPSBsb2FkX21vZHVsZShtb2R1 bGVfbmFtZSkKKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfd2l0aF9uYW1lKG1v ZHVsZSwgbW9kdWxlX25hbWUpCistICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX2lz X2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorLQorLSAgICBkZWYgdGVzdF9sb2FkX21vZHVsZV9fc2hv dWxkX3N1Y2NlZWRfZm9yX2V4aXN0aW5nX21vZHVsZShzZWxmKToKKy0gICAgICAgIG1vZHVsZV9u YW1lID0gInRlc3QuX2ltcG9ydGVyX2NhbmRpZGF0ZSIKKy0gICAgICAgIHNlbGYudGhlb3J5LmVu c3VyZV9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorLQorLSAgICAgICAgbW9k dWxlID0gbG9hZF9tb2R1bGUobW9kdWxlX25hbWUpCistICAgICAgICBzZWxmLnRoZW9yeS5hc3Nl cnRfbW9kdWxlX3dpdGhfbmFtZShtb2R1bGUsIG1vZHVsZV9uYW1lKQorLSAgICAgICAgc2VsZi50 aGVvcnkuYXNzZXJ0X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKy0KKy1jbGFzcyBU ZXN0TGF6eU9iamVjdChvYmplY3QpOgorLQorLSAgICBkZWYgdGVzdF9nZXRfX3Nob3VsZF9zdWNj ZWVkX2Zvcl9rbm93bl9vYmplY3Qoc2VsZik6CistICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgi YmVoYXZlLmltcG9ydGVyIiwgIkxhenlPYmplY3QiKQorLSAgICAgICAgdmFsdWUgPSBsYXp5Lmdl dCgpCistICAgICAgICBhc3NlcnQgdmFsdWUgaXMgTGF6eU9iamVjdAorLQorLSAgICAgICAgbGF6 eTIgPSBMYXp5T2JqZWN0KCJiZWhhdmUuaW1wb3J0ZXI6TGF6eU9iamVjdCIpCistICAgICAgICB2 YWx1ZTIgPSBsYXp5Mi5nZXQoKQorLSAgICAgICAgYXNzZXJ0IHZhbHVlMiBpcyBMYXp5T2JqZWN0 CistCistICAgICAgICBsYXp5MyA9IExhenlPYmplY3QoImJlaGF2ZS5mb3JtYXR0ZXIuc3RlcHMi LCAiU3RlcHNGb3JtYXR0ZXIiKQorLSAgICAgICAgdmFsdWUzID0gbGF6eTMuZ2V0KCkKKy0gICAg ICAgIGFzc2VydCBpc3N1YmNsYXNzKHZhbHVlMywgRm9ybWF0dGVyKQorLQorLSAgICBkZWYgdGVz dF9nZXRfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX21vZHVsZShzZWxmKToKKy0gICAgICAgIGxh enkgPSBMYXp5T2JqZWN0KCJfX3Vua25vd25fbW9kdWxlX18iLCAieHh4IikKKy0gICAgICAgIGFz c2VydF9yYWlzZXMoSW1wb3J0RXJyb3IsIGxhenkuZ2V0KQorLQorLSAgICBkZWYgdGVzdF9nZXRf X3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX29iamVjdF9pbl9tb2R1bGUoc2VsZik6CistICAgICAg ICBsYXp5ID0gTGF6eU9iamVjdCgidGVzdC5faW1wb3J0ZXJfY2FuZGlkYXRlIiwgInh4eCIpCist ICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBsYXp5LmdldCkKKy0KKy0KKy1jbGFz cyBMYXp5RGljdFRoZW9yeShUZXN0VGhlb3J5KToKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAg ICBkZWYgc2FmZV9nZXRpdGVtKGRhdGEsIGtleSk6CistICAgICAgICByZXR1cm4gZGljdC5fX2dl dGl0ZW1fXyhkYXRhLCBrZXkpCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgYXNzZXJ0 X2l0ZW1faXNfbGF6eShjbHMsIGRhdGEsIGtleSk6CistICAgICAgICB2YWx1ZSA9IGNscy5zYWZl X2dldGl0ZW0oZGF0YSwga2V5KQorLSAgICAgICAgY2xzLmFzc2VydF9pc19sYXp5X29iamVjdCh2 YWx1ZSkKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBhc3NlcnRfaXRlbV9pc19ub3Rf bGF6eShjbHMsIGRhdGEsIGtleSk6CistICAgICAgICB2YWx1ZSA9IGNscy5zYWZlX2dldGl0ZW0o ZGF0YSwga2V5KQorLSAgICAgICAgY2xzLmFzc2VydF9pc19ub3RfbGF6eV9vYmplY3QodmFsdWUp CistCistICAgIEBzdGF0aWNtZXRob2QKKy0gICAgZGVmIGFzc2VydF9pc19sYXp5X29iamVjdChv YmopOgorLSAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uob2JqLCBMYXp5T2JqZWN0KQorLQorLSAg ICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBhc3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KG9iaik6 CistICAgICAgICBhc3NlcnQgbm90IGlzaW5zdGFuY2Uob2JqLCBMYXp5T2JqZWN0KQorLQorLQor LWNsYXNzIFRlc3RMYXp5RGljdChvYmplY3QpOgorLSAgICB0aGVvcnkgPSBMYXp5RGljdFRoZW9y eQorLQorLSAgICBkZWYgdGVzdF91bmtub3duX2l0ZW1fYWNjZXNzX19zaG91bGRfcmFpc2Vfa2V5 ZXJyb3Ioc2VsZik6CistICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogNDJ9 KQorLSAgICAgICAgaXRlbV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQorLSAg ICAgICAgYXNzZXJ0X3JhaXNlcyhLZXlFcnJvciwgaXRlbV9hY2Nlc3MsICJ1bmtub3duIikKKy0K Ky0gICAgZGVmIHRlc3RfcGxhaW5faXRlbV9hY2Nlc3NfX3Nob3VsZF9zdWNjZWVkKHNlbGYpOgor LSAgICAgICAgdGhlb3J5ID0gTGF6eURpY3RUaGVvcnkKKy0gICAgICAgIGxhenlfZGljdCA9IExh enlEaWN0KHsiYWxpY2UiOiA0Mn0pCistICAgICAgICB0aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbm90 X2xhenkobGF6eV9kaWN0LCAiYWxpY2UiKQorLQorLSAgICAgICAgdmFsdWUgPSBsYXp5X2RpY3Rb ImFsaWNlIl0KKy0gICAgICAgIGVxXyh2YWx1ZSwgNDIpCistCistICAgIGRlZiB0ZXN0X2xhenlf aXRlbV9hY2Nlc3NfX3Nob3VsZF9sb2FkX29iamVjdChzZWxmKToKKy0gICAgICAgIEltcG9ydE1v ZHVsZVRoZW9yeS5lbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRlZCgiaW5zcGVjdCIpCistICAg ICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogTGF6eU9iamVjdCgiaW5zcGVjdDpp c21vZHVsZSIpfSkKKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9pdGVtX2lzX2xhenkobGF6 eV9kaWN0LCAiYWxpY2UiKQorLSAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbGF6 eShsYXp5X2RpY3QsICJhbGljZSIpCistCistICAgICAgICB2YWx1ZSA9IGxhenlfZGljdFsiYWxp Y2UiXQorLSAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2lzX25vdF9sYXp5X29iamVjdCh2YWx1 ZSkKKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9pdGVtX2lzX25vdF9sYXp5KGxhenlfZGlj dCwgImFsaWNlIikKKy0KKy0gICAgZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vzc19fc2hvdWxkX2Zh aWxfd2l0aF91bmtub3duX21vZHVsZShzZWxmKToKKy0gICAgICAgIGxhenlfZGljdCA9IExhenlE aWN0KHsiYm9iIjogTGF6eU9iamVjdCgiX191bmtub3duX21vZHVsZV9fIiwgInh4eCIpfSkKKy0g ICAgICAgIGl0ZW1fYWNjZXNzID0gbGFtYmRhIGtleTogbGF6eV9kaWN0W2tleV0KKy0gICAgICAg IGFzc2VydF9yYWlzZXMoSW1wb3J0RXJyb3IsIGl0ZW1fYWNjZXNzLCAiYm9iIikKKy0KKy0gICAg ZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vzc19fc2hvdWxkX2ZhaWxfd2l0aF91bmtub3duX29iamVj dChzZWxmKToKKy0gICAgICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsKKy0gICAgICAgICAgICAi Ym9iIjogTGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyIiwgIlhVbmtub3duIikKKy0gICAgICAg IH0pCistICAgICAgICBpdGVtX2FjY2VzcyA9IGxhbWJkYSBrZXk6IGxhenlfZGljdFtrZXldCist ICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBpdGVtX2FjY2VzcywgImJvYiIpCitk aWZmIC0tZ2l0IGEvdGVzdC9faW1wb3J0ZXJfY2FuZGlkYXRlLnB5IGIvdGVzdHMvdW5pdC9faW1w b3J0ZXJfY2FuZGlkYXRlLnB5CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIHRl c3QvX2ltcG9ydGVyX2NhbmRpZGF0ZS5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvX2ltcG9ydGVy X2NhbmRpZGF0ZS5weQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1t YXJ5LnB5IGIvdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkKK2luZGV4IGQ0ZTg1 YjUuLjZiOTQ3YmQgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFy eS5weQorKysrIGIvdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkKK0BAIC00LDgg KzQsNiBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24K KyBpbXBvcnQgc3lzCisgaW1wb3J0IHB5dGVzdAorIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0 Y2gKKy0jIE5PVC1ORUVERUQ6IGZyb20gbm9zZS50b29scyBpbXBvcnQgKgorLQorIGZyb20gYmVo YXZlLm1vZGVsIGltcG9ydCBTY2VuYXJpb091dGxpbmUsIFNjZW5hcmlvCisgZnJvbSBiZWhhdmUu bW9kZWxfY29yZSBpbXBvcnQgU3RhdHVzCisgZnJvbSBiZWhhdmUucmVwb3J0ZXIuc3VtbWFyeSBp bXBvcnQgU3VtbWFyeVJlcG9ydGVyLCBmb3JtYXRfc3VtbWFyeQorZGlmZiAtLWdpdCBhL3Rlc3Rz L3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weSBiL3Rl c3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weQor aW5kZXggNjE5YzcxMC4uNTZmYjg1ZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGFnX2V4cHJl c3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weQorKysrIGIvdGVzdHMvdW5pdC90 YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3BhcnQxLnB5CitAQCAtMiw3ICsy LDcgQEAKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGZyb20g YmVoYXZlLnRhZ19leHByZXNzaW9uIGltcG9ydCBUYWdFeHByZXNzaW9uCistZnJvbSBub3NlIGlt cG9ydCB0b29scworK2ltcG9ydCBweXRlc3QKKyBpbXBvcnQgdW5pdHRlc3QKKyAKKyAKK0BAIC00 NzYsMzEgKzQ3NiwzNCBAQCBjbGFzcyBUZXN0VGFnRXhwcmVzc2lvbkZvbzNPck5vdEJhcjRBbmRa YXA1KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHNlbGYuZSA9IFRhZ0V4cHJlc3Npb24o Wydmb286MywtYmFyJywgJ3phcDo1J10pCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9jb3VudF90 YWdzX2Zvcl9wb3NpdGl2ZV90YWdzKHNlbGYpOgorLSAgICAgICAgdG9vbHMuZXFfKHNlbGYuZS5s aW1pdHMsIHsnZm9vJzogMywgJ3phcCc6IDV9KQorKyAgICAgICAgYXNzZXJ0IHNlbGYuZS5saW1p dHMgPT0geydmb28nOiAzLCAnemFwJzogNX0KKyAKKyAgICAgZGVmIHRlc3Rfc2hvdWxkX21hdGNo X2Zvb196YXAoc2VsZik6CisgICAgICAgICBhc3NlcnQgc2VsZi5lLmNoZWNrKFsnZm9vJywgJ3ph cCddKQorIAorKworIGNsYXNzIFRlc3RUYWdFeHByZXNzaW9uUGFyc2luZyh1bml0dGVzdC5UZXN0 Q2FzZSk6CisgICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgIHNlbGYuZSA9IFRhZ0V4cHJl c3Npb24oWycgZm9vOjMgLCAtYmFyICcsICcgemFwOjUgJ10pCisgCisgICAgIGRlZiB0ZXN0X3No b3VsZF9oYXZlX2xpbWl0cyhzZWxmKToKKy0gICAgICAgIHRvb2xzLmVxXyhzZWxmLmUubGltaXRz LCB7J3phcCc6IDUsICdmb28nOiAzfSkKKysgICAgICAgIGFzc2VydCBzZWxmLmUubGltaXRzID09 IHsnemFwJzogNSwgJ2Zvbyc6IDN9CisrCisgCisgY2xhc3MgVGVzdFRhZ0V4cHJlc3Npb25UYWdM aW1pdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICBkZWYgdGVzdF9zaG91bGRfYmVfY291bnRl ZF9mb3JfbmVnYXRpdmVfdGFncyhzZWxmKToKKyAgICAgICAgIGUgPSBUYWdFeHByZXNzaW9uKFsn LXRvZG86MyddKQorLSAgICAgICAgdG9vbHMuZXFfKGUubGltaXRzLCB7J3RvZG8nOiAzfSkKKysg ICAgICAgIGFzc2VydCBlLmxpbWl0cyA9PSB7J3RvZG8nOiAzfQorIAorICAgICBkZWYgdGVzdF9z aG91bGRfYmVfY291bnRlZF9mb3JfcG9zaXRpdmVfdGFncyhzZWxmKToKKyAgICAgICAgIGUgPSBU YWdFeHByZXNzaW9uKFsndG9kbzozJ10pCistICAgICAgICB0b29scy5lcV8oZS5saW1pdHMsIHsn dG9kbyc6IDN9KQorKyAgICAgICAgYXNzZXJ0IGUubGltaXRzID09IHsndG9kbyc6IDN9CisgCisg ICAgIGRlZiB0ZXN0X3Nob3VsZF9yYWlzZV9hbl9lcnJvcl9mb3JfaW5jb25zaXN0ZW50X2xpbWl0 cyhzZWxmKToKKy0gICAgICAgIHRvb2xzLmFzc2VydF9yYWlzZXMoRXhjZXB0aW9uLCBUYWdFeHBy ZXNzaW9uLCBbJ3RvZG86MycsICctdG9kbzo0J10pCisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlz ZXMoRXhjZXB0aW9uKToKKysgICAgICAgICAgICBfID0gVGFnRXhwcmVzc2lvbihbJ3RvZG86Mycs ICctdG9kbzo0J10pCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9hbGxvd19kdXBsaWNhdGVfY29u c2lzdGVudF9saW1pdHMoc2VsZik6CisgICAgICAgICBlID0gVGFnRXhwcmVzc2lvbihbJ3RvZG86 MycsICctdG9kbzozJ10pCistICAgICAgICB0b29scy5lcV8oZS5saW1pdHMsIHsndG9kbyc6IDN9 KQorKyAgICAgICAgYXNzZXJ0IGUubGltaXRzID09IHsndG9kbyc6IDN9CisgCitkaWZmIC0tZ2l0 IGEvdGVzdHMvdW5pdC90YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3BhcnQy LnB5IGIvdGVzdHMvdW5pdC90YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3Bh cnQyLnB5CitpbmRleCA2OTAyMzViLi5jZjYxOWRhIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90 YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3BhcnQyLnB5CisrKysgYi90ZXN0 cy91bml0L3RhZ19leHByZXNzaW9uL3Rlc3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDIucHkKK0BA IC02LDEwICs2LDExIEBAIFJFUVVJUkVTOiBQeXRob24gPj0gMi42LCBiZWNhdXNlIGl0ZXJ0b29s cy5jb21iaW5hdGlvbnMoKSBpcyB1c2VkLgorICIiIgorIAorIGZyb20gX19mdXR1cmVfXyBpbXBv cnQgYWJzb2x1dGVfaW1wb3J0CistZnJvbSBiZWhhdmUudGFnX2V4cHJlc3Npb24gaW1wb3J0IFRh Z0V4cHJlc3Npb24KKy1mcm9tIG5vc2UgaW1wb3J0IHRvb2xzCisgaW1wb3J0IGl0ZXJ0b29scwor IGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZQorK2ltcG9ydCBweXRlc3QKKytmcm9tIGJlaGF2 ZS50YWdfZXhwcmVzc2lvbiBpbXBvcnQgVGFnRXhwcmVzc2lvbgorKworIAorIGhhc19jb21iaW5h dGlvbnMgPSBoYXNhdHRyKGl0ZXJ0b29scywgImNvbWJpbmF0aW9ucyIpCisgaWYgaGFzX2NvbWJp bmF0aW9uczoKK0BAIC0zMSw2ICszMiw3IEBAIGlmIGhhc19jb21iaW5hdGlvbnM6CisgICAgICAg ICAgICAgcmV0dXJuICJAIiArICIgQCIuam9pbih0YWdzKQorICAgICAgICAgcmV0dXJuIE5PX1RB R1MKKyAKKysKKyAgICAgVGVzdENhc2UgPSBvYmplY3QKKyAgICAgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgICAgICMgVEVTVDogYWxsX2NvbWJpbmF0aW9ucygpIHRlc3QgaGVscGVyCitAQCAtNDUs OCArNDcsOCBAQCBpZiBoYXNfY29tYmluYXRpb25zOgorICAgICAgICAgICAgICAgICAoJ0BvbmUn LCAnQHR3bycpLAorICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICBhY3R1YWwgPSBhbGxfY29t YmluYXRpb25zKGl0ZW1zKQorLSAgICAgICAgICAgIHRvb2xzLmVxXyhhY3R1YWwsIGV4cGVjdGVk KQorLSAgICAgICAgICAgIHRvb2xzLmVxXyhsZW4oYWN0dWFsKSwgNCkKKysgICAgICAgICAgICBh c3NlcnQgYWN0dWFsID09IGV4cGVjdGVkCisrICAgICAgICAgICAgYXNzZXJ0IGxlbihhY3R1YWwp ID09IDQKKyAKKyAgICAgICAgIGRlZiB0ZXN0X2FsbF9jb21iaW5hdGlvbnNfd2l0aF8zdmFsdWVz KHNlbGYpOgorICAgICAgICAgICAgIGl0ZW1zID0gIkBvbmUgQHR3byBAdGhyZWUiLnNwbGl0KCkK K0BAIC02MSw4ICs2Myw4IEBAIGlmIGhhc19jb21iaW5hdGlvbnM6CisgICAgICAgICAgICAgICAg ICgnQG9uZScsICdAdHdvJywgJ0B0aHJlZScpLAorICAgICAgICAgICAgIF0KKyAgICAgICAgICAg ICBhY3R1YWwgPSBhbGxfY29tYmluYXRpb25zKGl0ZW1zKQorLSAgICAgICAgICAgIHRvb2xzLmVx XyhhY3R1YWwsIGV4cGVjdGVkKQorLSAgICAgICAgICAgIHRvb2xzLmVxXyhsZW4oYWN0dWFsKSwg OCkKKysgICAgICAgICAgICBhc3NlcnQgYWN0dWFsID09IGV4cGVjdGVkCisrICAgICAgICAgICAg YXNzZXJ0IGxlbihhY3R1YWwpID09IDgKKyAKKyAKKyAgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CitAQCAtNzQsMTMgKzc2LDEzIEBAIGlmIGhhc19jb21iaW5hdGlvbnM6CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnX2NvbWJpbmF0aW9ucywgZXhwZWN0ZWQp OgorICAgICAgICAgICAgIG1hdGNoZWQgPSBbIG1ha2VfdGFnc19saW5lKGMpIGZvciBjIGluIHRh Z19jb21iaW5hdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRhZ19l eHByZXNzaW9uLmNoZWNrKGMpIF0KKy0gICAgICAgICAgICB0b29scy5lcV8obWF0Y2hlZCwgZXhw ZWN0ZWQpCisrICAgICAgICAgICAgYXNzZXJ0IG1hdGNoZWQgPT0gZXhwZWN0ZWQKKyAKKyAgICAg ICAgIGRlZiBhc3NlcnRfdGFnX2V4cHJlc3Npb25fbWlzbWF0Y2hlcyhzZWxmLCB0YWdfZXhwcmVz c2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ19j b21iaW5hdGlvbnMsIGV4cGVjdGVkKToKKyAgICAgICAgICAgICBtaXNtYXRjaGVkID0gWyBtYWtl X3RhZ3NfbGluZShjKSBmb3IgYyBpbiB0YWdfY29tYmluYXRpb25zCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpZiBub3QgdGFnX2V4cHJlc3Npb24uY2hlY2soYykgXQorLSAgICAg ICAgICAgIHRvb2xzLmVxXyhtaXNtYXRjaGVkLCBleHBlY3RlZCkKKysgICAgICAgICAgICBhc3Nl cnQgbWlzbWF0Y2hlZCA9PSBleHBlY3RlZAorIAorIAorICAgICBjbGFzcyBUZXN0VGFnRXhwcmVz c2lvbldpdGgxVGVybShUYWdFeHByZXNzaW9uVGVzdENhc2UpOgorZGlmZiAtLWdpdCBhL3Rlc3Qv dGVzdF9hbnNpX2VzY2FwZXMucHkgYi90ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5Citz aW1pbGFyaXR5IGluZGV4IDg0JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X2Fuc2lfZXNjYXBlcy5w eQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkKK2luZGV4IDc3NTY0 ZmQuLjk2OWYzYTkgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5CisrKysg Yi90ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5CitAQCAtNyw3ICs3LDcgQEAKKyAjICAg VzA2MjEgICBSZWRlZmluaW5nIG5hbWUgLi4uIGZyb20gb3V0ZXIgc2NvcGUKKyAKKyBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorLWZyb20gbm9zZSBpbXBvcnQgdG9vbHMK KytpbXBvcnQgcHl0ZXN0CisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyIGltcG9ydCBhbnNpX2VzY2Fw ZXMKKyBpbXBvcnQgdW5pdHRlc3QKKyBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKK0BAIC00 NCwzMCArNDQsMzAgQEAgY2xhc3MgU3RyaXBFc2NhcGVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6 CisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fc2FtZV90ZXh0X3dpdGhvdXRfZXNjYXBl cyhzZWxmKToKKyAgICAgICAgIGZvciB0ZXh0IGluIHNlbGYuVEVYVFM6CistICAgICAgICAgICAg dG9vbHMuZXFfKHRleHQsIGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpKQorKyAgICAg ICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisg CisgICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fZW1wdHlfc3RyaW5nX2Zvcl9hbnlfYW5zaV9l c2NhcGUoc2VsZik6CisgICAgICAgICAjIFhYWC1KRS1DSEVDSy1QWTIzOiBJZiBsaXN0KCkgaXMg cmVhbGx5IG5lZWRlZC4KKyAgICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5zaV9lc2NhcGVzLmNv bG9ycy52YWx1ZXMoKSk6CistICAgICAgICAgICAgdG9vbHMuZXFfKCIiLCBhbnNpX2VzY2FwZXMu c3RyaXBfZXNjYXBlcyh0ZXh0KSkKKysgICAgICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9lc2Nh cGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKyAgICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5zaV9l c2NhcGVzLmVzY2FwZXMudmFsdWVzKCkpOgorLSAgICAgICAgICAgIHRvb2xzLmVxXygiIiwgYW5z aV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkpCisrICAgICAgICAgICAgYXNzZXJ0ICIiID09 IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisgCisgCisgICAgIGRlZiB0ZXN0X3No b3VsZF9zdHJpcF9jb2xvcl9lc2NhcGVzX2Zyb21fdGV4dChzZWxmKToKKyAgICAgICAgIGZvciB0 ZXh0IGluIHNlbGYuVEVYVFM6CisgICAgICAgICAgICAgY29sb3JlZF90ZXh0ID0gc2VsZi5jb2xv cml6ZV90ZXh0KHRleHQsIHNlbGYuQUxMX0NPTE9SUykKKy0gICAgICAgICAgICB0b29scy5lcV8o dGV4dCwgYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90ZXh0KSkKKysgICAgICAg ICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3Rl eHQpCisgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQp CisgCisgICAgICAgICAgICAgZm9yIGNvbG9yIGluIHNlbGYuQUxMX0NPTE9SUzoKKyAgICAgICAg ICAgICAgICAgY29sb3JlZF90ZXh0ID0gc2VsZi5jb2xvcml6ZSh0ZXh0LCBjb2xvcikKKy0gICAg ICAgICAgICAgICAgdG9vbHMuZXFfKHRleHQsIGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNv bG9yZWRfdGV4dCkpCisrICAgICAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBl cy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKyAgICAgICAgICAgICAgICAgc2VsZi5hc3Nl cnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQpCisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9z dHJpcF9jdXJzb3JfdXBfZXNjYXBlc19mcm9tX3RleHQoc2VsZik6CisgICAgICAgICBmb3IgdGV4 dCBpbiBzZWxmLlRFWFRTOgorICAgICAgICAgICAgIGZvciBjdXJzb3JfdXAgaW4gc2VsZi5DVVJT T1JfVVBTOgorICAgICAgICAgICAgICAgICBjb2xvcmVkX3RleHQgPSBjdXJzb3JfdXAgKyB0ZXh0 ICsgYW5zaV9lc2NhcGVzLmVzY2FwZXNbInJlc2V0Il0KKy0gICAgICAgICAgICAgICAgdG9vbHMu ZXFfKHRleHQsIGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkpCisrICAg ICAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNv bG9yZWRfdGV4dCkKKyAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0LCBj b2xvcmVkX3RleHQpCitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkgYi90 ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlvbi5weQorc2ltaWxhcml0eSBpbmRleCA3MiUKK3Jl bmFtZSBmcm9tIHRlc3QvdGVzdF9jb25maWd1cmF0aW9uLnB5CityZW5hbWUgdG8gdGVzdHMvdW5p dC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKK2luZGV4IGU2ODI4ZTMuLmM5NmNmNjMgMTAwNjQ0Cist LS0gYS90ZXN0L3Rlc3RfY29uZmlndXJhdGlvbi5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Nv bmZpZ3VyYXRpb24ucHkKK0BAIC0yLDcgKzIsNyBAQCBpbXBvcnQgb3MucGF0aAorIGltcG9ydCBz eXMKKyBpbXBvcnQgdGVtcGZpbGUKKyBpbXBvcnQgc2l4CistZnJvbSBub3NlLnRvb2xzIGltcG9y dCAqCisraW1wb3J0IHB5dGVzdAorIGZyb20gYmVoYXZlIGltcG9ydCBjb25maWd1cmF0aW9uCisg ZnJvbSBiZWhhdmUuY29uZmlndXJhdGlvbiBpbXBvcnQgQ29uZmlndXJhdGlvbiwgVXNlckRhdGEK KyBmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2FzZQorQEAgLTM2LDYgKzM2LDcgQEAgaWYgc3lz LnBsYXRmb3JtLnN0YXJ0c3dpdGgoIndpbiIpOgorICAgICAgICAgUk9PVERJUl9QUkVGSVhfREVG QVVMVCA9IFJPT1RESVJfUFJFRklYX0RFRkFVTFQubG93ZXIoKQorICAgICBST09URElSX1BSRUZJ WCA9IG9zLmVudmlyb24uZ2V0KCJCRUhBVkVfUk9PVERJUl9QUkVGSVgiLCBST09URElSX1BSRUZJ WF9ERUZBVUxUKQorIAorKworIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgCisg ICAgIGRlZiB0ZXN0X3JlYWRfZmlsZShzZWxmKToKK0BAIC00NiwxOSArNDcsMTkgQEAgY2xhc3Mg VGVzdENvbmZpZ3VyYXRpb24ob2JqZWN0KToKKyAKKyAgICAgICAgICMgLS0gV0lORE9XUy1SRVFV SVJFUzogbm9ybXBhdGgKKyAgICAgICAgIGQgPSBjb25maWd1cmF0aW9uLnJlYWRfY29uZmlndXJh dGlvbih0bikKKy0gICAgICAgIGVxXyhkWyJvdXRmaWxlcyJdLCBbCisrICAgICAgICBhc3NlcnQg ZFsib3V0ZmlsZXMiXSA9PVsKKyAgICAgICAgICAgICBvcy5wYXRoLm5vcm1wYXRoKFJPT1RESVJf UFJFRklYICsgIi9hYnNvbHV0ZS9wYXRoMSIpLAorICAgICAgICAgICAgIG9zLnBhdGgubm9ybXBh dGgob3MucGF0aC5qb2luKHRuZGlyLCAicmVsYXRpdmUvcGF0aDIiKSksCistICAgICAgICBdKQor LSAgICAgICAgZXFfKGRbInBhdGhzIl0sIFsKKysgICAgICAgIF0KKysgICAgICAgIGFzc2VydCBk WyJwYXRocyJdID09IFsKKyAgICAgICAgICAgICBvcy5wYXRoLm5vcm1wYXRoKFJPT1RESVJfUFJF RklYICsgIi9hYnNvbHV0ZS9wYXRoMyIpLAorICAgICAgICAgICAgIG9zLnBhdGgubm9ybXBhdGgo b3MucGF0aC5qb2luKHRuZGlyLCAicmVsYXRpdmUvcGF0aDQiKSksCistICAgICAgICAgICAgXSkK Ky0gICAgICAgIGVxXyhkWyJmb3JtYXQiXSwgWyJwcmV0dHkiLCAidGFnLWNvdW50ZXIiXSkKKy0g ICAgICAgIGVxXyhkWyJkZWZhdWx0X3RhZ3MiXSwgWyJAZm9vLH5AYmFyIiwgIkB6YXAiXSkKKy0g ICAgICAgIGVxXyhkWyJzdGRvdXRfY2FwdHVyZSJdLCBGYWxzZSkKKy0gICAgICAgIG9rXygiYm9n dXMiIG5vdCBpbiBkKQorLSAgICAgICAgZXFfKGRbInVzZXJkYXRhIl0sIHsiZm9vIjogImJhciIs ICJhbnN3ZXIiOiAiNDIifSkKKysgICAgICAgICAgICBdCisrICAgICAgICBhc3NlcnQgZFsiZm9y bWF0Il0gPT0gWyJwcmV0dHkiLCAidGFnLWNvdW50ZXIiXQorKyAgICAgICAgYXNzZXJ0IGRbImRl ZmF1bHRfdGFncyJdID09IFsiQGZvbyx+QGJhciIsICJAemFwIl0KKysgICAgICAgIGFzc2VydCBk WyJzdGRvdXRfY2FwdHVyZSJdID09IEZhbHNlCisrICAgICAgICBhc3NlcnQgImJvZ3VzIiBub3Qg aW4gZAorKyAgICAgICAgYXNzZXJ0IGRbInVzZXJkYXRhIl0gPT0geyJmb28iOiAiYmFyIiwgImFu c3dlciI6ICI0MiJ9CisgCisgICAgIGRlZiBlbnN1cmVfc3RhZ2VfZW52aXJvbm1lbnRfaXNfbm90 X3NldChzZWxmKToKKyAgICAgICAgIGlmICJCRUhBVkVfU1RBR0UiIGluIG9zLmVudmlyb246CitA QCAtNjksMjYgKzcwLDI2IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgICAg ICAgICBzZWxmLmVuc3VyZV9zdGFnZV9lbnZpcm9ubWVudF9pc19ub3Rfc2V0KCkKKyAgICAgICAg IGFzc2VydCAiQkVIQVZFX1NUQUdFIiBub3QgaW4gb3MuZW52aXJvbgorICAgICAgICAgY29uZmln ID0gQ29uZmlndXJhdGlvbigiIikKKy0gICAgICAgIGVxXygic3RlcHMiLCBjb25maWcuc3RlcHNf ZGlyKQorLSAgICAgICAgZXFfKCJlbnZpcm9ubWVudC5weSIsIGNvbmZpZy5lbnZpcm9ubWVudF9m aWxlKQorKyAgICAgICAgYXNzZXJ0ICJzdGVwcyIgPT0gY29uZmlnLnN0ZXBzX2RpcgorKyAgICAg ICAgYXNzZXJ0ICJlbnZpcm9ubWVudC5weSIgPT0gY29uZmlnLmVudmlyb25tZW50X2ZpbGUKKyAK KyAgICAgZGVmIHRlc3Rfc2V0dGluZ3Nfd2l0aF9zdGFnZShzZWxmKToKKyAgICAgICAgIGNvbmZp ZyA9IENvbmZpZ3VyYXRpb24oWyItLXN0YWdlPVNUQUdFMSJdKQorLSAgICAgICAgZXFfKCJTVEFH RTFfc3RlcHMiLCBjb25maWcuc3RlcHNfZGlyKQorLSAgICAgICAgZXFfKCJTVEFHRTFfZW52aXJv bm1lbnQucHkiLCBjb25maWcuZW52aXJvbm1lbnRfZmlsZSkKKysgICAgICAgIGFzc2VydCAiU1RB R0UxX3N0ZXBzIiA9PSBjb25maWcuc3RlcHNfZGlyCisrICAgICAgICBhc3NlcnQgIlNUQUdFMV9l bnZpcm9ubWVudC5weSIgPT0gY29uZmlnLmVudmlyb25tZW50X2ZpbGUKKyAKKyAgICAgZGVmIHRl c3Rfc2V0dGluZ3Nfd2l0aF9zdGFnZV9hbmRfZW52dmFyKHNlbGYpOgorICAgICAgICAgb3MuZW52 aXJvblsiQkVIQVZFX1NUQUdFIl0gPSAiU1RBR0UyIgorICAgICAgICAgY29uZmlnID0gQ29uZmln dXJhdGlvbihbIi0tc3RhZ2U9U1RBR0UxIl0pCistICAgICAgICBlcV8oIlNUQUdFMV9zdGVwcyIs IGNvbmZpZy5zdGVwc19kaXIpCistICAgICAgICBlcV8oIlNUQUdFMV9lbnZpcm9ubWVudC5weSIs IGNvbmZpZy5lbnZpcm9ubWVudF9maWxlKQorKyAgICAgICAgYXNzZXJ0ICJTVEFHRTFfc3RlcHMi ID09IGNvbmZpZy5zdGVwc19kaXIKKysgICAgICAgIGFzc2VydCAiU1RBR0UxX2Vudmlyb25tZW50 LnB5IiA9PSBjb25maWcuZW52aXJvbm1lbnRfZmlsZQorICAgICAgICAgZGVsIG9zLmVudmlyb25b IkJFSEFWRV9TVEFHRSJdCisgCisgICAgIGRlZiB0ZXN0X3NldHRpbmdzX3dpdGhfc3RhZ2VfZnJv bV9lbnZ2YXIoc2VsZik6CisgICAgICAgICBvcy5lbnZpcm9uWyJCRUhBVkVfU1RBR0UiXSA9ICJT VEFHRTIiCisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKCIiKQorLSAgICAgICAgZXFf KCJTVEFHRTJfc3RlcHMiLCBjb25maWcuc3RlcHNfZGlyKQorLSAgICAgICAgZXFfKCJTVEFHRTJf ZW52aXJvbm1lbnQucHkiLCBjb25maWcuZW52aXJvbm1lbnRfZmlsZSkKKysgICAgICAgIGFzc2Vy dCAiU1RBR0UyX3N0ZXBzIiA9PSBjb25maWcuc3RlcHNfZGlyCisrICAgICAgICBhc3NlcnQgIlNU QUdFMl9lbnZpcm9ubWVudC5weSIgPT0gY29uZmlnLmVudmlyb25tZW50X2ZpbGUKKyAgICAgICAg IGRlbCBvcy5lbnZpcm9uWyJCRUhBVkVfU1RBR0UiXQorIAorIAorQEAgLTEwMSwzMyArMTAyLDMz IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAg ICAgICItLWRlZmluZT1iYXI9YmFyX3ZhbHVlIiwKKyAgICAgICAgICAgICAiLS1kZWZpbmUiLCAi YmF6PUJBWl9WQUxVRSIsCisgICAgICAgICBdKQorLSAgICAgICAgZXFfKCJmb29fdmFsdWUiLCBj b25maWcudXNlcmRhdGFbImZvbyJdKQorLSAgICAgICAgZXFfKCJiYXJfdmFsdWUiLCBjb25maWcu dXNlcmRhdGFbImJhciJdKQorLSAgICAgICAgZXFfKCJCQVpfVkFMVUUiLCBjb25maWcudXNlcmRh dGFbImJheiJdKQorKyAgICAgICAgYXNzZXJ0ICJmb29fdmFsdWUiID09IGNvbmZpZy51c2VyZGF0 YVsiZm9vIl0KKysgICAgICAgIGFzc2VydCAiYmFyX3ZhbHVlIiA9PSBjb25maWcudXNlcmRhdGFb ImJhciJdCisrICAgICAgICBhc3NlcnQgIkJBWl9WQUxVRSIgPT0gY29uZmlnLnVzZXJkYXRhWyJi YXoiXQorIAorICAgICBkZWYgdGVzdF9jbWRsaW5lX2RlZmluZXNfb3ZlcnJpZGVfY29uZmlnZmls ZShzZWxmKToKKyAgICAgICAgIHVzZXJkYXRhX2luaXQgPSB7ImZvbyI6ICJYWFgiLCAiYmFyIjog IlpaWiIsICJiYXoiOiA0Mn0KKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oCisgICAg ICAgICAgICAgICAgICAgICAiLUQgZm9vPWZvb192YWx1ZSAtLWRlZmluZSBiYXI9MTIzIiwKKyAg ICAgICAgICAgICAgICAgICAgIGxvYWRfY29uZmlnPUZhbHNlLCB1c2VyZGF0YT11c2VyZGF0YV9p bml0KQorLSAgICAgICAgZXFfKCJmb29fdmFsdWUiLCBjb25maWcudXNlcmRhdGFbImZvbyJdKQor LSAgICAgICAgZXFfKCIxMjMiLCBjb25maWcudXNlcmRhdGFbImJhciJdKQorLSAgICAgICAgZXFf KDQyLCBjb25maWcudXNlcmRhdGFbImJheiJdKQorKyAgICAgICAgYXNzZXJ0ICJmb29fdmFsdWUi ID09IGNvbmZpZy51c2VyZGF0YVsiZm9vIl0KKysgICAgICAgIGFzc2VydCAiMTIzIiA9PSBjb25m aWcudXNlcmRhdGFbImJhciJdCisrICAgICAgICBhc3NlcnQgNDIgPT0gY29uZmlnLnVzZXJkYXRh WyJiYXoiXQorIAorICAgICBkZWYgdGVzdF9jbWRsaW5lX2RlZmluZXNfd2l0aG91dF92YWx1ZV9h cmVfdHJ1ZShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIi1EIGZvbyAt LWRlZmluZSBiYXIgLURiYXoiKQorLSAgICAgICAgZXFfKCJ0cnVlIiwgY29uZmlnLnVzZXJkYXRh WyJmb28iXSkKKy0gICAgICAgIGVxXygidHJ1ZSIsIGNvbmZpZy51c2VyZGF0YVsiYmFyIl0pCist ICAgICAgICBlcV8oInRydWUiLCBjb25maWcudXNlcmRhdGFbImJheiJdKQorLSAgICAgICAgZXFf KFRydWUsIGNvbmZpZy51c2VyZGF0YS5nZXRib29sKCJmb28iKSkKKysgICAgICAgIGFzc2VydCAi dHJ1ZSIgPT0gY29uZmlnLnVzZXJkYXRhWyJmb28iXQorKyAgICAgICAgYXNzZXJ0ICJ0cnVlIiA9 PSBjb25maWcudXNlcmRhdGFbImJhciJdCisrICAgICAgICBhc3NlcnQgInRydWUiID09IGNvbmZp Zy51c2VyZGF0YVsiYmF6Il0KKysgICAgICAgIGFzc2VydCBUcnVlID09IGNvbmZpZy51c2VyZGF0 YS5nZXRib29sKCJmb28iKQorIAorICAgICBkZWYgdGVzdF9jbWRsaW5lX2RlZmluZXNfd2l0aF9l bXB0eV92YWx1ZShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIi1EIGZv bz0iKQorLSAgICAgICAgZXFfKCIiLCBjb25maWcudXNlcmRhdGFbImZvbyJdKQorKyAgICAgICAg YXNzZXJ0ICIiID09IGNvbmZpZy51c2VyZGF0YVsiZm9vIl0KKyAKKyAgICAgZGVmIHRlc3RfY21k bGluZV9kZWZpbmVzX3dpdGhfYXNzaWduX2NoYXJhY3Rlcl9hc192YWx1ZShzZWxmKToKKyAgICAg ICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIi1EIGZvbz1iYXI9YmF6IikKKy0gICAgICAgIGVx XygiYmFyPWJheiIsIGNvbmZpZy51c2VyZGF0YVsiZm9vIl0pCisrICAgICAgICBhc3NlcnQgImJh cj1iYXoiID09IGNvbmZpZy51c2VyZGF0YVsiZm9vIl0KKyAKKyAgICAgZGVmIHRlc3RfY21kbGlu ZV9kZWZpbmVzX193aXRoX3F1b3RlZF9uYW1lX3ZhbHVlX3BhaXIoc2VsZik6CisgICAgICAgICBj bWRsaW5lcyA9IFsKK0BAIC0xMzYsNyArMTM3LDcgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25V c2VyRGF0YShUZXN0Q2FzZSk6CisgICAgICAgICBdCisgICAgICAgICBmb3IgY21kbGluZSBpbiBj bWRsaW5lczoKKyAgICAgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKGNtZGxpbmUsIGxv YWRfY29uZmlnPUZhbHNlKQorLSAgICAgICAgICAgIGVxXyhjb25maWcudXNlcmRhdGEsIGRpY3Qo cGVyc29uPSJBbGljZSBhbmQgQm9iIikpCisrICAgICAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2Vy ZGF0YSA9PSBkaWN0KHBlcnNvbj0iQWxpY2UgYW5kIEJvYiIpCisgCisgICAgIGRlZiB0ZXN0X2Nt ZGxpbmVfZGVmaW5lc19fd2l0aF9xdW90ZWRfdmFsdWUoc2VsZik6CisgICAgICAgICBjbWRsaW5l cyA9IFsKK0BAIC0xNDUsNyArMTQ2LDcgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25Vc2VyRGF0 YShUZXN0Q2FzZSk6CisgICAgICAgICBdCisgICAgICAgICBmb3IgY21kbGluZSBpbiBjbWRsaW5l czoKKyAgICAgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKGNtZGxpbmUsIGxvYWRfY29u ZmlnPUZhbHNlKQorLSAgICAgICAgICAgIGVxXyhjb25maWcudXNlcmRhdGEsIGRpY3QocGVyc29u PSJBbGljZSBhbmQgQm9iIikpCisrICAgICAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YSA9 PSBkaWN0KHBlcnNvbj0iQWxpY2UgYW5kIEJvYiIpCisgCisgICAgIGRlZiB0ZXN0X3NldHVwX3Vz ZXJkYXRhKHNlbGYpOgorICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbigiIiwgbG9hZF9j b25maWc9RmFsc2UpCitAQCAtMTU0LDcgKzE1NSw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9u VXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAgY29uZmlnLnNldHVwX3VzZXJkYXRhKCkKKyAK KyAgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBkaWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVyc29uMj0i Q2hhcmx5IikKKy0gICAgICAgIGVxXyhjb25maWcudXNlcmRhdGEsIGV4cGVjdGVkX2RhdGEpCisr ICAgICAgICBhc3NlcnQgY29uZmlnLnVzZXJkYXRhID09IGV4cGVjdGVkX2RhdGEKKyAKKyAgICAg ZGVmIHRlc3RfdXBkYXRlX3VzZXJkYXRhX193aXRoX2NtZGxpbmVfZGVmaW5lcyhzZWxmKToKKyAg ICAgICAgICMgLS0gTk9URTogY21kbGluZSBkZWZpbmVzIGFyZSByZWFwcGxpZWQuCitAQCAtMTYz LDggKzE2NCw4IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgor ICAgICAgICAgY29uZmlnLnVwZGF0ZV91c2VyZGF0YShkaWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVy c29uMj0iQm9iIikpCisgCisgICAgICAgICBleHBlY3RlZF9kYXRhID0gZGljdChwZXJzb24xPSJB bGljZSIsIHBlcnNvbjI9IkJlYSIsIHBlcnNvbjM9IkNoYXJseSIpCistICAgICAgICBlcV8oY29u ZmlnLnVzZXJkYXRhLCBleHBlY3RlZF9kYXRhKQorLSAgICAgICAgZXFfKGNvbmZpZy51c2VyZGF0 YV9kZWZpbmVzLCBbKCJwZXJzb24yIiwgIkJlYSIpXSkKKysgICAgICAgIGFzc2VydCBjb25maWcu dXNlcmRhdGEgPT0gZXhwZWN0ZWRfZGF0YQorKyAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0 YV9kZWZpbmVzID09IFsoInBlcnNvbjIiLCAiQmVhIildCisgCisgICAgIGRlZiB0ZXN0X3VwZGF0 ZV91c2VyZGF0YV9fd2l0aG91dF9jbWRsaW5lX2RlZmluZXMoc2VsZik6CisgICAgICAgICBjb25m aWcgPSBDb25maWd1cmF0aW9uKCIiLCBsb2FkX2NvbmZpZz1GYWxzZSkKK0BAIC0xNzIsNSArMTcz LDUgQEAgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25Vc2VyRGF0YShUZXN0Q2FzZSk6CisgICAgICAg ICBjb25maWcudXBkYXRlX3VzZXJkYXRhKGRpY3QocGVyc29uMT0iQWxpY2UiLCBwZXJzb24yPSJC b2IiKSkKKyAKKyAgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBkaWN0KHBlcnNvbjE9IkFsaWNlIiwg cGVyc29uMj0iQm9iIiwgcGVyc29uMz0iQ2hhcmx5IikKKy0gICAgICAgIGVxXyhjb25maWcudXNl cmRhdGEsIGV4cGVjdGVkX2RhdGEpCistICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNvbmZpZy51 c2VyZGF0YV9kZWZpbmVzKQorKyAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YSA9PSBleHBl Y3RlZF9kYXRhCisrICAgICAgICBhc3NlcnQgY29uZmlnLnVzZXJkYXRhX2RlZmluZXMgaXMgTm9u ZQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9mb3JtYXR0ZXIucHkgYi90ZXN0cy91bml0L3Rlc3Rf Zm9ybWF0dGVyLnB5CitzaW1pbGFyaXR5IGluZGV4IDk0JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0 X2Zvcm1hdHRlci5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9mb3JtYXR0ZXIucHkKK2lu ZGV4IDQyZTVmMGQuLmMxYTA5NDUgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfZm9ybWF0dGVyLnB5 CisrKysgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyLnB5CitAQCAtNiw5ICs2LDggQEAgaW1w b3J0IHN5cworIGltcG9ydCB0ZW1wZmlsZQorIGltcG9ydCB1bml0dGVzdAorIGltcG9ydCBzaXgK KytpbXBvcnQgcHl0ZXN0CisgZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBwYXRjaAorLWZyb20gbm9z ZS50b29scyBpbXBvcnQgKiAgICAjIHB5bGludDogZGlzYWJsZT13aWxkY2FyZC1pbXBvcnQsIHVu dXNlZC13aWxkY2FyZC1pbXBvcnQKKy0KKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuX3JlZ2lzdHJ5 IGltcG9ydCBtYWtlX2Zvcm1hdHRlcnMKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIgaW1wb3J0IHBy ZXR0eQorIGZyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBTdHJlYW1PcGVuZXIKK0BA IC0zNSw3ICszNCw3IEBAIGNsYXNzIFRlc3RHZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENh c2UpOgorICAgICAgICAgcGxhdGZvcm0gPSBzeXMucGxhdGZvcm0KKyAgICAgICAgIHN5cy5wbGF0 Zm9ybSA9ICJ3aW5kb3dzIgorIAorLSAgICAgICAgZXFfKHByZXR0eS5nZXRfdGVybWluYWxfc2l6 ZSgpLCAoODAsIDI0KSkKKysgICAgICAgIGFzc2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUo KSA9PSAoODAsIDI0KQorIAorICAgICAgICAgc3lzLnBsYXRmb3JtID0gcGxhdGZvcm0KKyAKK0BA IC00Niw3ICs0NSw3IEBAIGNsYXNzIFRlc3RHZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENh c2UpOgorICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgIHBhc3MKKyAK Ky0gICAgICAgIGVxXyhwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUoKSwgKDgwLCAyNCkpCisrICAg ICAgICBhc3NlcnQgcHJldHR5LmdldF90ZXJtaW5hbF9zaXplKCkgPT0gKDgwLCAyNCkKKyAKKyAg ICAgZGVmIHRlc3RfZXhjZXB0aW9uX2luX2lvY3RsKHNlbGYpOgorICAgICAgICAgdHJ5OgorQEAg LTU5LDcgKzU4LDcgQEAgY2xhc3MgVGVzdEdldFRlcm1pbmFsU2l6ZSh1bml0dGVzdC5UZXN0Q2Fz ZSk6CisgCisgICAgICAgICBzZWxmLmlvY3RsLnNpZGVfZWZmZWN0ID0gcmFpc2VyCisgCistICAg ICAgICBlcV8ocHJldHR5LmdldF90ZXJtaW5hbF9zaXplKCksICg4MCwgMjQpKQorKyAgICAgICAg YXNzZXJ0IHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpID09ICg4MCwgMjQpCisgICAgICAgICBz ZWxmLmlvY3RsLmFzc2VydF9jYWxsZWRfd2l0aCgwLCB0ZXJtaW9zLlRJT0NHV0lOU1osIHNlbGYu emVyb19zdHJ1Y3QpCisgCisgICAgIGRlZiB0ZXN0X2hhcHB5X3BhdGgoc2VsZik6CitAQCAtNzAs NyArNjksNyBAQCBjbGFzcyBUZXN0R2V0VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RDYXNlKToK KyAKKyAgICAgICAgIHNlbGYuaW9jdGwucmV0dXJuX3ZhbHVlID0gc3RydWN0LnBhY2soIkhISEgi LCAxNywgMjMsIDUsIDUpCisgCistICAgICAgICBlcV8ocHJldHR5LmdldF90ZXJtaW5hbF9zaXpl KCksICgyMywgMTcpKQorKyAgICAgICAgYXNzZXJ0IHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgp ID09ICgyMywgMTcpCisgICAgICAgICBzZWxmLmlvY3RsLmFzc2VydF9jYWxsZWRfd2l0aCgwLCB0 ZXJtaW9zLlRJT0NHV0lOU1osIHNlbGYuemVyb19zdHJ1Y3QpCisgCisgICAgIGRlZiB0ZXN0X3pl cm9fc2l6ZV9mYWxsYmFjayhzZWxmKToKK0BAIC04MSw3ICs4MCw3IEBAIGNsYXNzIFRlc3RHZXRU ZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICAgICAgc2VsZi5pb2N0bC5y ZXR1cm5fdmFsdWUgPSBzZWxmLnplcm9fc3RydWN0CisgCistICAgICAgICBlcV8ocHJldHR5Lmdl dF90ZXJtaW5hbF9zaXplKCksICg4MCwgMjQpKQorKyAgICAgICAgYXNzZXJ0IHByZXR0eS5nZXRf dGVybWluYWxfc2l6ZSgpID09ICg4MCwgMjQpCisgICAgICAgICBzZWxmLmlvY3RsLmFzc2VydF9j YWxsZWRfd2l0aCgwLCB0ZXJtaW9zLlRJT0NHV0lOU1osIHNlbGYuemVyb19zdHJ1Y3QpCisgCisg CitAQCAtMjA0LDcgKzIwMyw3IEBAIGNsYXNzIFRlc3RUYWdzQ291bnQoRm9ybWF0dGVyVGVzdHMp OgorICAgICAgICAgcC5mZWF0dXJlKGYpCisgICAgICAgICBwLnNjZW5hcmlvKHMpCisgCistICAg ICAgICBlcV8ocC50YWdfY291bnRzLCB7ImhhbSI6IFtmLCBzXSwgInNwYW0iOiBbZl0sICJmb28i OiBbc119KQorKyAgICAgICAgYXNzZXJ0IHAudGFnX2NvdW50cyA9PSB7ImhhbSI6IFtmLCBzXSwg InNwYW0iOiBbZl0sICJmb28iOiBbc119CisgCisgCisgY2xhc3MgTXVsdGlwbGVGb3JtYXR0ZXJz VGVzdHMoRm9ybWF0dGVyVGVzdHMpOgorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9mb3JtYXR0ZXJf cHJvZ3Jlc3MucHkgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5CitzaW1p bGFyaXR5IGluZGV4IDk5JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVz cy5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9mb3JtYXR0ZXJfcHJvZ3Jlc3MucHkKK2lu ZGV4IDI5YzhlNjguLjE5Y2RmNjQgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfZm9ybWF0dGVyX3By b2dyZXNzLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5CitA QCAtOSw2ICs5LDcgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBm cm9tIC50ZXN0X2Zvcm1hdHRlciBpbXBvcnQgRm9ybWF0dGVyVGVzdHMgYXMgRm9ybWF0dGVyVGVz dAorIGZyb20gLnRlc3RfZm9ybWF0dGVyIGltcG9ydCBNdWx0aXBsZUZvcm1hdHRlcnNUZXN0cyBh cyBNdWx0aXBsZUZvcm1hdHRlcnNUZXN0CisgCisrCisgY2xhc3MgVGVzdFNjZW5hcmlvUHJvZ3Jl c3NGb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6CisgICAgIGZvcm1hdHRlcl9uYW1lID0gInByb2dy ZXNzIgorIAorQEAgLTIwLDIwICsyMSwyNiBAQCBjbGFzcyBUZXN0U3RlcFByb2dyZXNzRm9ybWF0 dGVyKEZvcm1hdHRlclRlc3QpOgorIGNsYXNzIFRlc3RQcmV0dHlBbmRTY2VuYXJpb1Byb2dyZXNz KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWydwcmV0dHknLCAn cHJvZ3Jlc3MnXQorIAorKworIGNsYXNzIFRlc3RQbGFpbkFuZFNjZW5hcmlvUHJvZ3Jlc3MoTXVs dGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbJ3BsYWluJywgJ3Byb2dy ZXNzJ10KKyAKKysKKyBjbGFzcyBUZXN0SlNPTkFuZFNjZW5hcmlvUHJvZ3Jlc3MoTXVsdGlwbGVG b3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbJ2pzb24nLCAncHJvZ3Jlc3MnXQor IAorKworIGNsYXNzIFRlc3RQcmV0dHlBbmRTdGVwUHJvZ3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJz VGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbJ3ByZXR0eScsICdwcm9ncmVzczInXQorIAorKwor IGNsYXNzIFRlc3RQbGFpbkFuZFN0ZXBQcm9ncmVzcyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToK KyAgICAgZm9ybWF0dGVycyA9IFsncGxhaW4nLCAncHJvZ3Jlc3MyJ10KKyAKKysKKyBjbGFzcyBU ZXN0SlNPTkFuZFN0ZXBQcm9ncmVzcyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9y bWF0dGVycyA9IFsnanNvbicsICdwcm9ncmVzczInXQorIAorKworIGNsYXNzIFRlc3RTY2VuYXJp b1Byb2dyZXNzQW5kU3RlcFByb2dyZXNzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBm b3JtYXR0ZXJzID0gWydwcm9ncmVzcycsICdwcm9ncmVzczInXQorZGlmZiAtLWdpdCBhL3Rlc3Qv dGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3JlcnVu LnB5CitzaW1pbGFyaXR5IGluZGV4IDk0JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X2Zvcm1hdHRl cl9yZXJ1bi5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkK K2luZGV4IDYzNTdmOTIuLjE1NDU4OGYgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfZm9ybWF0dGVy X3JlcnVuLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5CitAQCAt OCw3ICs4LDcgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9t IGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMKKyBmcm9tIC50ZXN0X2Zvcm1hdHRlciBp bXBvcnQgRm9ybWF0dGVyVGVzdHMgYXMgRm9ybWF0dGVyVGVzdCwgX3RmCisgZnJvbSAudGVzdF9m b3JtYXR0ZXIgaW1wb3J0IE11bHRpcGxlRm9ybWF0dGVyc1Rlc3RzIGFzIE11bHRpcGxlRm9ybWF0 dGVyc1Rlc3QKKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0ICoKKysKKyAKKyBjbGFzcyBUZXN0UmVy dW5Gb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6CisgICAgIGZvcm1hdHRlcl9uYW1lID0gInJlcnVu IgorQEAgLTI2LDcgKzI2LDcgQEAgY2xhc3MgVGVzdFJlcnVuRm9ybWF0dGVyKEZvcm1hdHRlclRl c3QpOgorICAgICAgICAgICAgIHAuc2NlbmFyaW8oc2NlbmFyaW8pCisgICAgICAgICAgICAgYXNz ZXJ0IHNjZW5hcmlvLnN0YXR1cyA9PSBTdGF0dXMucGFzc2VkCisgICAgICAgICBwLmVvZigpCist ICAgICAgICBlcV8oW10sIHAuZmFpbGVkX3NjZW5hcmlvcykKKysgICAgICAgIGFzc2VydCBbXSA9 PSBwLmZhaWxlZF9zY2VuYXJpb3MKKyAgICAgICAgICMgLS0gRU1JVCBSRVBPUlQ6CisgICAgICAg ICBwLmNsb3NlKCkKKyAKK0BAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFRlc3RSZXJ1bkZvcm1hdHRl cihGb3JtYXR0ZXJUZXN0KToKKyAgICAgICAgIGFzc2VydCBzY2VuYXJpb3NbMF0uc3RhdHVzID09 IFN0YXR1cy5wYXNzZWQKKyAgICAgICAgIGFzc2VydCBzY2VuYXJpb3NbMV0uc3RhdHVzID09IFN0 YXR1cy5mYWlsZWQKKyAgICAgICAgIHAuZW9mKCkKKy0gICAgICAgIGVxXyhbIGZhaWxpbmdfc2Nl bmFyaW8gXSwgcC5mYWlsZWRfc2NlbmFyaW9zKQorKyAgICAgICAgYXNzZXJ0IFsgZmFpbGluZ19z Y2VuYXJpbyBdID09IHAuZmFpbGVkX3NjZW5hcmlvcworICAgICAgICAgIyAtLSBFTUlUIFJFUE9S VDoKKyAgICAgICAgIHAuY2xvc2UoKQorIAorQEAgLTc2LDcgKzc2LDcgQEAgY2xhc3MgVGVzdFJl cnVuRm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvc1sx XS5zdGF0dXMgPT0gU3RhdHVzLnBhc3NlZAorICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvc1syXS5z dGF0dXMgPT0gU3RhdHVzLmZhaWxlZAorICAgICAgICAgcC5lb2YoKQorLSAgICAgICAgZXFfKFsg ZmFpbGluZ19zY2VuYXJpbzEsIGZhaWxpbmdfc2NlbmFyaW8yIF0sIHAuZmFpbGVkX3NjZW5hcmlv cykKKysgICAgICAgIGFzc2VydCBbIGZhaWxpbmdfc2NlbmFyaW8xLCBmYWlsaW5nX3NjZW5hcmlv MiBdID09IHAuZmFpbGVkX3NjZW5hcmlvcworICAgICAgICAgIyAtLSBFTUlUIFJFUE9SVDoKKyAg ICAgICAgIHAuY2xvc2UoKQorIAorQEAgLTg0LDE0ICs4NCwxOCBAQCBjbGFzcyBUZXN0UmVydW5G b3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6CisgY2xhc3MgVGVzdFJlcnVuQW5kUHJldHR5Rm9ybWF0 dGVycyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicmVydW4i LCAicHJldHR5Il0KKyAKKysKKyBjbGFzcyBUZXN0UmVydW5BbmRQbGFpbkZvcm1hdHRlcnMoTXVs dGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInBsYWlu Il0KKyAKKysKKyBjbGFzcyBUZXN0UmVydW5BbmRTY2VuYXJpb1Byb2dyZXNzRm9ybWF0dGVycyhN dWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicmVydW4iLCAicHJv Z3Jlc3MiXQorIAorKworIGNsYXNzIFRlc3RSZXJ1bkFuZFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcnMo TXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInBy b2dyZXNzMiJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVuQW5kSnNvbkZvcm1hdHRlcihNdWx0aXBs ZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicmVydW4iLCAianNvbiJdCitk aWZmIC0tZ2l0IGEvdGVzdC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5IGIvdGVzdHMvdW5pdC90ZXN0 X2Zvcm1hdHRlcl90YWdzLnB5CitzaW1pbGFyaXR5IGluZGV4IDk5JQorcmVuYW1lIGZyb20gdGVz dC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5CityZW5hbWUgdG8gdGVzdHMvdW5pdC90ZXN0X2Zvcm1h dHRlcl90YWdzLnB5CitpbmRleCA1MTI1ZDUxLi45Zjk1Mzc0IDEwMDY0NAorLS0tIGEvdGVzdC90 ZXN0X2Zvcm1hdHRlcl90YWdzLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3Rh Z3MucHkKK0BAIC05LDEyICs5LDE0IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0CisgZnJvbSAudGVzdF9mb3JtYXR0ZXIgaW1wb3J0IEZvcm1hdHRlclRlc3RzIGFzIEZv cm1hdHRlclRlc3QKKyBmcm9tIC50ZXN0X2Zvcm1hdHRlciBpbXBvcnQgTXVsdGlwbGVGb3JtYXR0 ZXJzVGVzdHMgYXMgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdAorIAorKworICMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAjIEZPUk1BVFRFUiBURVNUUzogV2l0aCBUYWdDb3VudEZvcm1hdHRlcgorICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjbGFzcyBUZXN0VGFnc0NvdW50Rm9ybWF0dGVyKEZvcm1h dHRlclRlc3QpOgorICAgICBmb3JtYXR0ZXJfbmFtZSA9ICJ0YWdzIgorIAorKworICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAjIEZPUk1BVFRFUiBURVNUUzogV2l0aCBUYWdMb2NhdGlvbkZvcm1h dHRlcgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC0yOCwxMiArMzAsMTUgQEAgY2xhc3Mg VGVzdFRhZ3NMb2NhdGlvbkZvcm1hdHRlcihGb3JtYXR0ZXJUZXN0KToKKyBjbGFzcyBUZXN0UHJl dHR5QW5kVGFnc0NvdW50KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJz ID0gWyJwcmV0dHkiLCAidGFncyJdCisgCisrCisgY2xhc3MgVGVzdFBsYWluQW5kVGFnc0NvdW50 KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJwbGFpbiIsICJ0 YWdzIl0KKyAKKysKKyBjbGFzcyBUZXN0SlNPTkFuZFRhZ3NDb3VudChNdWx0aXBsZUZvcm1hdHRl cnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsianNvbiIsICJ0YWdzIl0KKyAKKysKKyBjbGFz cyBUZXN0UmVydW5BbmRUYWdzQ291bnQoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZv cm1hdHRlcnMgPSBbInJlcnVuIiwgInRhZ3MiXQorIAorQEAgLTQ0LDE0ICs0OSwxOCBAQCBjbGFz cyBUZXN0UmVydW5BbmRUYWdzQ291bnQoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgY2xhc3Mg VGVzdFByZXR0eUFuZFRhZ3NMb2NhdGlvbihNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAg Zm9ybWF0dGVycyA9IFsicHJldHR5IiwgInRhZ3MubG9jYXRpb24iXQorIAorKworIGNsYXNzIFRl c3RQbGFpbkFuZFRhZ3NMb2NhdGlvbihNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9y bWF0dGVycyA9IFsicGxhaW4iLCAidGFncy5sb2NhdGlvbiJdCisgCisrCisgY2xhc3MgVGVzdEpT T05BbmRUYWdzTG9jYXRpb24oTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRl cnMgPSBbImpzb24iLCAidGFncy5sb2NhdGlvbiJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVuQW5k VGFnc0xvY2F0aW9uKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0g WyJyZXJ1biIsICJ0YWdzLmxvY2F0aW9uIl0KKyAKKysKKyBjbGFzcyBUZXN0VGFnc0NvdW50QW5k VGFnc0xvY2F0aW9uKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0g WyJ0YWdzIiwgInRhZ3MubG9jYXRpb24iXQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9p bXBvcnRlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weQoraW5kZXggZjNmNGUyYy4u MDU1YjlmYiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weQorKysrIGIv dGVzdHMvdW5pdC90ZXN0X2ltcG9ydGVyLnB5CitAQCAtNjIsNyArNjIsNyBAQCBjbGFzcyBUZXN0 TG9hZE1vZHVsZShvYmplY3QpOgorICAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9p c19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKyAKKyAgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3No b3VsZF9zdWNjZWVkX2Zvcl9leGlzdGluZ19tb2R1bGUoc2VsZik6CistICAgICAgICBtb2R1bGVf bmFtZSA9ICJ0ZXN0Ll9pbXBvcnRlcl9jYW5kaWRhdGUiCisrICAgICAgICBtb2R1bGVfbmFtZSA9 ICJ0ZXN0cy51bml0Ll9pbXBvcnRlcl9jYW5kaWRhdGUiCisgICAgICAgICBzZWxmLnRoZW9yeS5l bnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRlZChtb2R1bGVfbmFtZSkKKyAKKyAgICAgICAgIG1v ZHVsZSA9IGxvYWRfbW9kdWxlKG1vZHVsZV9uYW1lKQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9s b2dfY2FwdHVyZS5weSBiL3Rlc3RzL3VuaXQvdGVzdF9sb2dfY2FwdHVyZS5weQorc2ltaWxhcml0 eSBpbmRleCA4NyUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9sb2dfY2FwdHVyZS5weQorcmVuYW1l IHRvIHRlc3RzL3VuaXQvdGVzdF9sb2dfY2FwdHVyZS5weQoraW5kZXggYmZkYmVkNy4uYmYxODc0 YyAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVzdF9sb2dfY2FwdHVyZS5weQorKysrIGIvdGVzdHMvdW5p dC90ZXN0X2xvZ19jYXB0dXJlLnB5CitAQCAtMSwxMSArMSwxMCBAQAorIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3aXRoX3N0YXRlbWVudAorLQorLWZyb20gbm9zZS50 b29scyBpbXBvcnQgKgorK2ltcG9ydCBweXRlc3QKKyBmcm9tIG1vY2sgaW1wb3J0IHBhdGNoCist CisgZnJvbSBiZWhhdmUubG9nX2NhcHR1cmUgaW1wb3J0IExvZ2dpbmdDYXB0dXJlCisgZnJvbSBz aXgubW92ZXMgaW1wb3J0IHJhbmdlCisgCisrCisgY2xhc3MgVGVzdExvZ0NhcHR1cmUob2JqZWN0 KToKKyAgICAgZGVmIHRlc3RfZ2V0X3ZhbHVlX3JldHVybnNfYWxsX2xvZ19yZWNvcmRzKHNlbGYp OgorICAgICAgICAgY2xhc3MgRmFrZUNvbmZpZyhvYmplY3QpOgorQEAgLTIzLDcgKzIyLDcgQEAg Y2xhc3MgVGVzdExvZ0NhcHR1cmUob2JqZWN0KToKKyAgICAgICAgICAgICBmb3JtYXQucmV0dXJu X3ZhbHVlID0gJ2ZvbycKKyAgICAgICAgICAgICBleHBlY3RlZCA9ICdcbicuam9pbihbJ2Zvbydd ICogbGVuKGZha2VfcmVjb3JkcykpCisgCistICAgICAgICAgICAgZXFfKGhhbmRsZXIuZ2V0dmFs dWUoKSwgZXhwZWN0ZWQpCisrICAgICAgICAgICAgYXNzZXJ0IGhhbmRsZXIuZ2V0dmFsdWUoKSA9 PSBleHBlY3RlZAorIAorICAgICAgICAgICAgIGNhbGxzID0gW2FyZ3NbMF1bMF0gZm9yIGFyZ3Mg aW4gZm9ybWF0LmNhbGxfYXJnc19saXN0XQorLSAgICAgICAgICAgIGVxXyhjYWxscywgZmFrZV9y ZWNvcmRzKQorKyAgICAgICAgICAgIGFzc2VydCBjYWxscyA9PSBmYWtlX3JlY29yZHMKK2RpZmYg LS1naXQgYS90ZXN0L3Rlc3RfbWF0Y2hlcnMucHkgYi90ZXN0cy91bml0L3Rlc3RfbWF0Y2hlcnMu cHkKK3NpbWlsYXJpdHkgaW5kZXggOTMlCityZW5hbWUgZnJvbSB0ZXN0L3Rlc3RfbWF0Y2hlcnMu cHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfbWF0Y2hlcnMucHkKK2luZGV4IGJmZTA0ZmMu LjgxNTU4MWMgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfbWF0Y2hlcnMucHkKKysrKyBiL3Rlc3Rz L3VuaXQvdGVzdF9tYXRjaGVycy5weQorQEAgLTEsNyArMSw3IEBACisgIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgd2l0aF9z dGF0ZW1lbnQKKytpbXBvcnQgcHl0ZXN0CisgZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBwYXRjaAor LWZyb20gbm9zZS50b29scyBpbXBvcnQgKiAgIyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1w b3J0LCB1bnVzZWQtd2lsZGNhcmQtaW1wb3J0CisgaW1wb3J0IHBhcnNlCisgZnJvbSBiZWhhdmUu bWF0Y2hlcnMgaW1wb3J0IE1hdGNoLCBNYXRjaGVyLCBQYXJzZU1hdGNoZXIsIFJlZ2V4TWF0Y2hl ciwgXAorICAgICBTaW1wbGlmaWVkUmVnZXhNYXRjaGVyLCBDdWN1bWJlclJlZ2V4TWF0Y2hlcgor QEAgLTgwLDcgKzgwLDcgQEAgY2xhc3MgVGVzdFBhcnNlTWF0Y2hlcihvYmplY3QpOgorICAgICAg ICAgICAgIGFzc2VydCBtLmZ1bmMgaXMgZnVuYworICAgICAgICAgICAgIGFyZ3MgPSBtLmFyZ3Vt ZW50cworICAgICAgICAgICAgIGhhdmUgPSBbKGEuc3RhcnQsIGEuZW5kLCBhLm9yaWdpbmFsLCBh LnZhbHVlLCBhLm5hbWUpIGZvciBhIGluIGFyZ3NdCistICAgICAgICAgICAgZXFfKGhhdmUsIGV4 cGVjdGVkKQorKyAgICAgICAgICAgIGFzc2VydCBoYXZlID09IGV4cGVjdGVkCisgCisgICAgIGRl ZiB0ZXN0X25hbWVkX2FyZ3VtZW50cyhzZWxmKToKKyAgICAgICAgIHRleHQgPSAiaGFzIGEge3N0 cmluZ30sIGFuIHtpbnRlZ2VyOmR9IGFuZCBhIHtkZWNpbWFsOmZ9IgorQEAgLTg5LDExICs4OSwx MSBAQCBjbGFzcyBUZXN0UGFyc2VNYXRjaGVyKG9iamVjdCk6CisgCisgICAgICAgICBtID0gbWF0 Y2hlci5tYXRjaCgiaGFzIGEgZm9vLCBhbiAxMSBhbmQgYSAzLjE0MTU5IikKKyAgICAgICAgIG0u cnVuKGNvbnRleHQpCistICAgICAgICBlcV8oc2VsZi5yZWNvcmRlZF9hcmdzLCAoKGNvbnRleHQs KSwgeworKyAgICAgICAgYXNzZXJ0IHNlbGYucmVjb3JkZWRfYXJncywgKChjb250ZXh0LCkgPT0g eworICAgICAgICAgICAgICdzdHJpbmcnOiAnZm9vJywKKyAgICAgICAgICAgICAnaW50ZWdlcic6 IDExLAorICAgICAgICAgICAgICdkZWNpbWFsJzogMy4xNDE1OQorLSAgICAgICAgfSkpCisrICAg ICAgICB9KQorIAorICAgICBkZWYgdGVzdF9wb3NpdGlvbmFsX2FyZ3VtZW50cyhzZWxmKToKKyAg ICAgICAgIHRleHQgPSAiaGFzIGEge30sIGFuIHs6ZH0gYW5kIGEgezpmfSIKK0BAIC0xMDIsNyAr MTAyLDcgQEAgY2xhc3MgVGVzdFBhcnNlTWF0Y2hlcihvYmplY3QpOgorIAorICAgICAgICAgbSA9 IG1hdGNoZXIubWF0Y2goImhhcyBhIGZvbywgYW4gMTEgYW5kIGEgMy4xNDE1OSIpCisgICAgICAg ICBtLnJ1bihjb250ZXh0KQorLSAgICAgICAgZXFfKHNlbGYucmVjb3JkZWRfYXJncywgKChjb250 ZXh0LCAnZm9vJywgMTEsIDMuMTQxNTkpLCB7fSkpCisrICAgICAgICBhc3NlcnQgc2VsZi5yZWNv cmRlZF9hcmdzID09ICgoY29udGV4dCwgJ2ZvbycsIDExLCAzLjE0MTU5KSwge30pCisgCisgY2xh c3MgVGVzdFJlZ2V4TWF0Y2hlcihvYmplY3QpOgorICAgICAjIHB5bGludDogZGlzYWJsZT1pbnZh bGlkLW5hbWUsIG5vLXNlbGYtdXNlCitAQCAtMTUxLDcgKzE1MSw3IEBAIGNsYXNzIFRlc3RSZWdl eE1hdGNoZXIob2JqZWN0KToKKyAgICAgICAgIGFzc2VydCBtLmZ1bmMgaXMgZnVuYworICAgICAg ICAgYXJncyA9IG0uYXJndW1lbnRzCisgICAgICAgICBoYXZlID0gWyhhLnN0YXJ0LCBhLmVuZCwg YS5vcmlnaW5hbCwgYS52YWx1ZSwgYS5uYW1lKSBmb3IgYSBpbiBhcmdzXQorLSAgICAgICAgZXFf KGhhdmUsIGV4cGVjdGVkKQorKyAgICAgICAgYXNzZXJ0IGhhdmUgPT0gZXhwZWN0ZWQKKyAKKyAK KyAKK0BAIC0xNzksMTcgKzE3OSwxNyBAQCBjbGFzcyBUZXN0U2ltcGxpZmllZFJlZ2V4TWF0Y2hl cihUZXN0UmVnZXhNYXRjaGVyKToKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG1hdGNoZWQx LCBNYXRjaCkKKyAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG1hdGNoZWQyLCBNYXRjaCkKKyAK Ky0gICAgQHJhaXNlcyhBc3NlcnRpb25FcnJvcikKKyAgICAgZGVmIHRlc3Rfc3RlcF9zaG91bGRf bm90X3VzZV9yZWdleF9iZWdpbl9tYXJrZXIoc2VsZik6CistICAgICAgICBTaW1wbGlmaWVkUmVn ZXhNYXRjaGVyKE5vbmUsICJeSSBkbyBzb21ldGhpbmciKQorKyAgICAgICAgd2l0aCBweXRlc3Qu cmFpc2VzKEFzc2VydGlvbkVycm9yKToKKysgICAgICAgICAgICBTaW1wbGlmaWVkUmVnZXhNYXRj aGVyKE5vbmUsICJeSSBkbyBzb21ldGhpbmciKQorIAorLSAgICBAcmFpc2VzKEFzc2VydGlvbkVy cm9yKQorICAgICBkZWYgdGVzdF9zdGVwX3Nob3VsZF9ub3RfdXNlX3JlZ2V4X2VuZF9tYXJrZXIo c2VsZik6CistICAgICAgICBTaW1wbGlmaWVkUmVnZXhNYXRjaGVyKE5vbmUsICJJIGRvIHNvbWV0 aGluZyQiKQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEFzc2VydGlvbkVycm9yKToKKysg ICAgICAgICAgICBTaW1wbGlmaWVkUmVnZXhNYXRjaGVyKE5vbmUsICJJIGRvIHNvbWV0aGluZyQi KQorIAorLSAgICBAcmFpc2VzKEFzc2VydGlvbkVycm9yKQorICAgICBkZWYgdGVzdF9zdGVwX3No b3VsZF9ub3RfdXNlX3JlZ2V4X2JlZ2luX2FuZF9lbmRfbWFya2VyKHNlbGYpOgorLSAgICAgICAg U2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihOb25lLCAiXkkgZG8gc29tZXRoaW5nJCIpCisrICAgICAg ICB3aXRoIHB5dGVzdC5yYWlzZXMoQXNzZXJ0aW9uRXJyb3IpOgorKyAgICAgICAgICAgIFNpbXBs aWZpZWRSZWdleE1hdGNoZXIoTm9uZSwgIl5JIGRvIHNvbWV0aGluZyQiKQorIAorIAorIGNsYXNz IFRlc3RDdWN1bWJlclJlZ2V4TWF0Y2hlcihUZXN0UmVnZXhNYXRjaGVyKToKK2RpZmYgLS1naXQg YS90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5IGIvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weQor aW5kZXggNTYwM2E0Yi4uZWNiYjFiZiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9wYXJz ZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkKK0BAIC03LDcgKzcsNiBAQCBV bml0IHRlc3RzIGZvciBHaGVya2luIHBhcnNlcjogOm1vZDpgYmVoYXZlLnBhcnNlcmAuCisgZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgaW1w b3J0IHB5dGVzdAorIGZyb20gYmVoYXZlIGltcG9ydCBpMThuLCBtb2RlbCwgcGFyc2VyCistIyBO T1QtTkVFREVEOiBmcm9tIG5vc2UudG9vbHMgaW1wb3J0ICoKKyAKKyAKKyAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9ydW5uZXIucHkgYi90ZXN0cy91bml0L3Rl c3RfcnVubmVyLnB5CitzaW1pbGFyaXR5IGluZGV4IDgyJQorcmVuYW1lIGZyb20gdGVzdC90ZXN0 X3J1bm5lci5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKK2luZGV4IDY2 NDcyODMuLjAzMGRmZmEgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfcnVubmVyLnB5CisrKysgYi90 ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitAQCAtMTEsMTAgKzExLDggQEAgaW1wb3J0IHRlbXBm aWxlCisgaW1wb3J0IHVuaXR0ZXN0CisgaW1wb3J0IHNpeAorIGZyb20gc2l4IGltcG9ydCBTdHJp bmdJTworLQorK2ltcG9ydCBweXRlc3QKKyBmcm9tIG1vY2sgaW1wb3J0IE1vY2ssIHBhdGNoCist ZnJvbSBub3NlLnRvb2xzIGltcG9ydCAqICAjIHB5bGludDogZGlzYWJsZT13aWxkY2FyZC1pbXBv cnQsIHVudXNlZC13aWxkY2FyZC1pbXBvcnQKKy0KKyBmcm9tIGJlaGF2ZSBpbXBvcnQgcnVubmVy X3V0aWwKKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgVGFibGUKKyBmcm9tIGJlaGF2ZS5zdGVw X3JlZ2lzdHJ5IGltcG9ydCBTdGVwUmVnaXN0cnkKK0BAIC0zOSwzMSArMzcsMzEgQEAgY2xhc3Mg VGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICBkZWYgdGVzdF91c2VyX21vZGVf c2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9kZShzZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogTm8g ZXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250 ZXh0LkJFSEFWRQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2Rl KQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAg ICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAg ICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIHJ1bm5lci5Db250ZXh0LlVTRVIpCisrICAgICAg ICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisg ICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorLSAgICAgICAgZXFfKHNl bGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29u dGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlcl9tb2RlX3No YWxsX3Jlc3RvcmVfYmVoYXZlX21vZGVfaWZfYXNzZXJ0X2ZhaWxzKHNlbGYpOgorICAgICAgICAg aW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCistICAgICAgICBlcV8oc2VsZi5j b250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0 Ll9tb2RlID09IGluaXRpYWxfbW9kZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGgg c2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgICAgICBlcV8o c2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5VU0VSKQorKyAgICAgICAgICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKyAgICAg ICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCAiWEZBSUwiCisgICAgICAgICBleGNlcHQgQXNzZXJ0 aW9uRXJyb3I6CistICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9t b2RlKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9t b2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZXJfbW9kZV9zaGFsbF9yZXN0b3JlX2JlaGF2ZV9tb2Rl X2lmX2V4Y2VwdGlvbl9pc19yYWlzZWQoc2VsZik6CisgICAgICAgICBpbml0aWFsX21vZGUgPSBy dW5uZXIuQ29udGV4dC5CRUhBVkUKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGlu aXRpYWxfbW9kZSkKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlh bF9tb2RlCisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNl X3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21v ZGUsIHJ1bm5lci5Db250ZXh0LlVTRVIpCisrICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNv bnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorICAgICAgICAgICAgICAgICByYWlz ZSBSdW50aW1lRXJyb3IoIlhGQUlMIikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6Cist ICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAg ICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAg IGRlZiB0ZXN0X3VzZV93aXRoX3VzZXJfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUo c2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCitAQCAt NzEsOSArNjksOSBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAg ICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKyAgICAgICAgIHNlbGYu Y29udGV4dC5fbW9kZSA9IGluaXRpYWxfbW9kZQorICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQu dXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9k ZSwgcnVubmVyLkNvbnRleHQuVVNFUikKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0 Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQu dGhpbmcgPSAic3R1ZmYiCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFs X21vZGUpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9k ZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0aF91c2VyX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5p dGlhbF9tb2RlX3dpdGhfZXJyb3Ioc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IEV4Y2VwdGlv biBpcyByYWlzZWQuCitAQCAtODIsMTAgKzgwLDEwIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0 ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHNlbGYuY29udGV4dC5fbW9kZSA9IGluaXRpYWxfbW9k ZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRo X3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBy dW5uZXIuQ29udGV4dC5VU0VSKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0 Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVu dGltZUVycm9yKCJYRkFJTCIpCisgICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorLSAgICAg ICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYg dGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUoc2Vs Zik6CisgICAgICAgICAjIC0tIENBU0U6IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCitAQCAtOTMs OSArOTEsOSBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAg ICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5VU0VSCisgICAgICAgICBzZWxmLmNvbnRl eHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91c2Vf d2l0aF9iZWhhdmVfbW9kZSgpOgorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUs IHJ1bm5lci5Db250ZXh0LkJFSEFWRSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0 Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorICAgICAgICAgICAgIHNlbGYuY29udGV4 dC50aGluZyA9ICJzdHVmZiIKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRp YWxfbW9kZSkKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9t b2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZV93aXRoX2JlaGF2ZV9tb2RlX19zaGFsbF9yZXN0b3Jl X2luaXRpYWxfbW9kZV93aXRoX2Vycm9yKHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBFeGNl cHRpb24gaXMgcmFpc2VkLgorQEAgLTEwNCwyMiArMTAyLDIyIEBAIGNsYXNzIFRlc3RDb250ZXh0 KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHNlbGYuY29udGV4dC5fbW9kZSA9IGluaXRp YWxfbW9kZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91 c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAgICAgICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0 Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5CRUhBVkUpCisrICAgICAgICAgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisgICAgICAgICAgICAg ICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiWEZBSUwiKQorICAgICAgICAgZXhjZXB0IFJ1bnRpbWVF cnJvcjoKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUp CisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUK KyAKKyAgICAgZGVmIHRlc3RfY29udGV4dF9jb250YWlucyhzZWxmKToKKy0gICAgICAgIGVxXygi dGhpbmciIGluIHNlbGYuY29udGV4dCwgRmFsc2UpCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBu b3QgaW4gc2VsZi5jb250ZXh0CisgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYi CistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCisrICAgICAgICBh c3NlcnQgInRoaW5nIiBpbiBzZWxmLmNvbnRleHQKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVz aCgpCistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCisrICAgICAg ICBhc3NlcnQgInRoaW5nIiBpbiBzZWxmLmNvbnRleHQKKyAKKyAgICAgZGVmIHRlc3RfYXR0cmli dXRlX3NldF9hdF91cHBlcl9sZXZlbF92aXNpYmxlX2F0X2xvd2VyX2xldmVsKHNlbGYpOgorICAg ICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorICAgICAgICAgc2VsZi5jb250ZXh0 Ll9wdXNoKCkKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVmZiIpCisrICAg ICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRoaW5nID09ICJzdHVmZiIKKyAKKyAgICAgZGVmIHRl c3RfYXR0cmlidXRlX3NldF9hdF9sb3dlcl9sZXZlbF9ub3RfdmlzaWJsZV9hdF91cHBlcl9sZXZl bChzZWxmKToKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCitAQCAtMTMwLDE2ICsxMjgs MTYgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICBkZWYgdGVz dF9hdHRyaWJ1dGVzX3NldF9hdF91cHBlcl9sZXZlbF92aXNpYmxlX2F0X2xvd2VyX2xldmVsKHNl bGYpOgorICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorICAgICAgICAgc2Vs Zi5jb250ZXh0Ll9wdXNoKCkKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVm ZiIpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRoaW5nID09ICJzdHVmZiIKKyAgICAg ICAgIHNlbGYuY29udGV4dC5vdGhlcl90aGluZyA9ICJtb3JlIHN0dWZmIgorICAgICAgICAgc2Vs Zi5jb250ZXh0Ll9wdXNoKCkKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVm ZiIpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nLCAibW9yZSBzdHVmZiIp CisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRoaW5nID09ICJzdHVmZiIKKysgICAgICAg IGFzc2VydCBzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcgPT0gIm1vcmUgc3R1ZmYiCisgICAgICAg ICBzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcgPSAid29tYmF0cyIKKyAgICAgICAgIHNlbGYuY29u dGV4dC5fcHVzaCgpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQor LSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5vdGhlcl90aGluZywgIm1vcmUgc3R1ZmYiKQorLSAg ICAgICAgZXFfKHNlbGYuY29udGV4dC50aGlyZF90aGluZywgIndvbWJhdHMiKQorKyAgICAgICAg YXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9PSAic3R1ZmYiCisrICAgICAgICBhc3NlcnQgc2Vs Zi5jb250ZXh0Lm90aGVyX3RoaW5nID09ICJtb3JlIHN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNl bGYuY29udGV4dC50aGlyZF90aGluZyA9PSAid29tYmF0cyIKKyAKKyAgICAgZGVmIHRlc3RfYXR0 cmlidXRlc19zZXRfYXRfbG93ZXJfbGV2ZWxfbm90X3Zpc2libGVfYXRfdXBwZXJfbGV2ZWwoc2Vs Zik6CisgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCitAQCAtMTQ5LDE3ICsx NDcsMTcgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICAg ICAgc2VsZi5jb250ZXh0Ll9wdXNoKCkKKyAgICAgICAgIHNlbGYuY29udGV4dC50aGlyZF90aGlu ZyA9ICJ3b21iYXRzIgorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikK Ky0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcsICJtb3JlIHN0dWZmIikKKy0g ICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcsICJ3b21iYXRzIikKKysgICAgICAg IGFzc2VydCBzZWxmLmNvbnRleHQudGhpbmcgPT0gInN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNl bGYuY29udGV4dC5vdGhlcl90aGluZyA9PSAibW9yZSBzdHVmZiIKKysgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQudGhpcmRfdGhpbmcgPT0gIndvbWJhdHMiCisgCisgICAgICAgICBzZWxmLmNv bnRleHQuX3BvcCgpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQor LSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5vdGhlcl90aGluZywgIm1vcmUgc3R1ZmYiKQorKyAg ICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9PSAic3R1ZmYiCisrICAgICAgICBhc3Nl cnQgc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nID09ICJtb3JlIHN0dWZmIgorICAgICAgICAgYXNz ZXJ0IGdldGF0dHIoc2VsZi5jb250ZXh0LCAidGhpcmRfdGhpbmciLCBOb25lKSBpcyBOb25lLCAi JXMgaXMgbm90IE5vbmUiICUgc2VsZi5jb250ZXh0LnRoaXJkX3RoaW5nCisgCisgICAgICAgICBz ZWxmLmNvbnRleHQuX3BvcCgpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1 ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9PSAic3R1ZmYiCisgICAg ICAgICBhc3NlcnQgZ2V0YXR0cihzZWxmLmNvbnRleHQsICJvdGhlcl90aGluZyIsIE5vbmUpIGlz IE5vbmUsICIlcyBpcyBub3QgTm9uZSIgJSBzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcKKyAgICAg ICAgIGFzc2VydCBnZXRhdHRyKHNlbGYuY29udGV4dCwgInRoaXJkX3RoaW5nIiwgTm9uZSkgaXMg Tm9uZSwgIiVzIGlzIG5vdCBOb25lIiAlIHNlbGYuY29udGV4dC50aGlyZF90aGluZworIAorQEAg LTI3MCwyMSArMjY4LDIyIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToK KyAgICAgICAgIGFzc2VydCBmaWxlbmFtZSBpbiBpbmZvLCAiJXIgbm90IGluICVyIiAlIChmaWxl bmFtZSwgaW5mbykKKyAKKyAgICAgZGVmIHRlc3RfY29udGV4dF9kZWxldGFibGUoc2VsZik6Cist ICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIEZhbHNlKQorKyAgICAgICAgYXNz ZXJ0ICJ0aGluZyIgbm90IGluIHNlbGYuY29udGV4dAorICAgICAgICAgc2VsZi5jb250ZXh0LnRo aW5nID0gInN0dWZmIgorLSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBUcnVl KQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIgaW4gc2VsZi5jb250ZXh0CisgICAgICAgICBkZWwg c2VsZi5jb250ZXh0LnRoaW5nCistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQs IEZhbHNlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIgbm90IGluIHNlbGYuY29udGV4dAorIAor LSAgICBAcmFpc2VzKEF0dHJpYnV0ZUVycm9yKQorKyAgICAjIE9MRDogQHJhaXNlcyhBdHRyaWJ1 dGVFcnJvcikKKyAgICAgZGVmIHRlc3RfY29udGV4dF9kZWxldGFibGVfcmFpc2VzKHNlbGYpOgor ICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAgZXFf KCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBGYWxzZSkKKysgICAgICAgIGFzc2VydCAidGhpbmci IG5vdCBpbiBzZWxmLmNvbnRleHQKKyAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVm ZiIKKy0gICAgICAgIGVxXygidGhpbmciIGluIHNlbGYuY29udGV4dCwgVHJ1ZSkKKysgICAgICAg IGFzc2VydCAidGhpbmciIGluIHNlbGYuY29udGV4dAorICAgICAgICAgc2VsZi5jb250ZXh0Ll9w dXNoKCkKKy0gICAgICAgIGVxXygidGhpbmciIGluIHNlbGYuY29udGV4dCwgVHJ1ZSkKKy0gICAg ICAgIGRlbCBzZWxmLmNvbnRleHQudGhpbmcKKysgICAgICAgIGFzc2VydCAidGhpbmciIGluIHNl bGYuY29udGV4dAorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEF0dHJpYnV0ZUVycm9yKToK KysgICAgICAgICAgICBkZWwgc2VsZi5jb250ZXh0LnRoaW5nCisgCisgCisgY2xhc3MgRXhhbXBs ZVN0ZXBzKG9iamVjdCk6CitAQCAtMzYyLDcgKzM2MSw3IEBAIFRoZW4gYSBzdGVwIHBhc3Nlcwor ICIiIi5sc3RyaXAoKQorICAgICAgICAgd2l0aCBwYXRjaCgiYmVoYXZlLnN0ZXBfcmVnaXN0cnku cmVnaXN0cnkiLCBzZWxmLnN0ZXBfcmVnaXN0cnkpOgorICAgICAgICAgICAgIHJlc3VsdCA9IHNl bGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAgICAgICAgICBlcV8ocmVzdWx0LCBU cnVlKQorKyAgICAgICAgICAgIGFzc2VydCByZXN1bHQgaXMgVHJ1ZQorIAorICAgICBkZWYgdGVz dF9leGVjdXRlX3N0ZXBzX3dpdGhfZmFpbGluZ19zdGVwKHNlbGYpOgorICAgICAgICAgZG9jID0g dSIiIgorQEAgLTM3NCw3ICszNzMsNyBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAg ICB0cnk6CisgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYuY29udGV4dC5leGVjdXRlX3N0 ZXBzKGRvYykKKyAgICAgICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3IgYXMgZToKKy0gICAg ICAgICAgICAgICAgb2tfKCJGQUlMRUQgU1VCLVNURVA6IFdoZW4gYSBzdGVwIGZhaWxzIiBpbiBf dGV4dChlKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0ICJGQUlMRUQgU1VCLVNURVA6IFdoZW4g YSBzdGVwIGZhaWxzIiBpbiBfdGV4dChlKQorIAorICAgICBkZWYgdGVzdF9leGVjdXRlX3N0ZXBz X3dpdGhfdW5kZWZpbmVkX3N0ZXAoc2VsZik6CisgICAgICAgICBkb2MgPSB1IiIiCitAQCAtMzg2 LDcgKzM4NSw3IEBAIFRoZW4gYSBzdGVwIHBhc3NlcworICAgICAgICAgICAgIHRyeToKKyAgICAg ICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5jb250ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorICAg ICAgICAgICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJvciBhcyBlOgorLSAgICAgICAgICAgICAgICBv a18oIlVOREVGSU5FRCBTVUItU1RFUDogV2hlbiBhIHN0ZXAgaXMgdW5kZWZpbmVkIiBpbiBfdGV4 dChlKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0ICJVTkRFRklORUQgU1VCLVNURVA6IFdoZW4g YSBzdGVwIGlzIHVuZGVmaW5lZCIgaW4gX3RleHQoZSkKKyAKKyAgICAgZGVmIHRlc3RfZXhlY3V0 ZV9zdGVwc193aXRoX3RleHQoc2VsZik6CisgICAgICAgICBkb2MgPSB1JycnCitAQCAtNDAxLDgg KzQwMCw4IEBAIFRoZW4gYSBzdGVwIHBhc3NlcworICAgICAgICAgd2l0aCBwYXRjaCgiYmVoYXZl LnN0ZXBfcmVnaXN0cnkucmVnaXN0cnkiLCBzZWxmLnN0ZXBfcmVnaXN0cnkpOgorICAgICAgICAg ICAgIHJlc3VsdCA9IHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKyAgICAgICAgICAg ICBleHBlY3RlZF90ZXh0ID0gIkxvcmVtIGlwc3VtXG5JcHN1bSBsb3JlbSIKKy0gICAgICAgICAg ICBlcV8ocmVzdWx0LCBUcnVlKQorLSAgICAgICAgICAgIGVxXyhleHBlY3RlZF90ZXh0LCBFeGFt cGxlU3RlcHMudGV4dCkKKysgICAgICAgICAgICBhc3NlcnQgcmVzdWx0IGlzIFRydWUKKysgICAg ICAgICAgICBhc3NlcnQgZXhwZWN0ZWRfdGV4dCA9PSBFeGFtcGxlU3RlcHMudGV4dAorIAorICAg ICBkZWYgdGVzdF9leGVjdXRlX3N0ZXBzX3dpdGhfdGFibGUoc2VsZik6CisgICAgICAgICBkb2Mg PSB1IiIiCitAQCAtNDE5LDggKzQxOCw4IEBAIFRoZW4gYSBzdGVwIHBhc3NlcworICAgICAgICAg ICAgICAgICAgICAgW3UiQWxpY2UiLCB1IjEyIl0sCisgICAgICAgICAgICAgICAgICAgICBbdSJC b2IiLCAgIHUiMjMiXSwKKyAgICAgICAgICAgICBdKQorLSAgICAgICAgICAgIGVxXyhyZXN1bHQs IFRydWUpCistICAgICAgICAgICAgZXFfKGV4cGVjdGVkX3RhYmxlLCBFeGFtcGxlU3RlcHMudGFi bGUpCisrICAgICAgICAgICAgYXNzZXJ0IHJlc3VsdCBpcyBUcnVlCisrICAgICAgICAgICAgYXNz ZXJ0IGV4cGVjdGVkX3RhYmxlID09IEV4YW1wbGVTdGVwcy50YWJsZQorIAorICAgICBkZWYgdGVz dF9jb250ZXh0X3RhYmxlX2lzX3Jlc3RvcmVkX2FmdGVyX2V4ZWN1dGVfc3RlcHNfd2l0aG91dF90 YWJsZShzZWxmKToKKyAgICAgICAgIGRvYyA9IHUiIiIKK0BAIC00MzEsNyArNDMwLDcgQEAgVGhl biBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAgICAgb3JpZ2luYWxfdGFibGUgPSAiPE9SSUdJTkFM X1RBQkxFPiIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGFibGUgPSBvcmlnaW5hbF90YWJs ZQorICAgICAgICAgICAgIHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAgICAg ICAgICBlcV8oc2VsZi5jb250ZXh0LnRhYmxlLCBvcmlnaW5hbF90YWJsZSkKKysgICAgICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0LnRhYmxlID09IG9yaWdpbmFsX3RhYmxlCisgCisgICAgIGRl ZiB0ZXN0X2NvbnRleHRfdGFibGVfaXNfcmVzdG9yZWRfYWZ0ZXJfZXhlY3V0ZV9zdGVwc193aXRo X3RhYmxlKHNlbGYpOgorICAgICAgICAgZG9jID0gdSIiIgorQEAgLTQ0NSw3ICs0NDQsNyBAQCBU aGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAgICBvcmlnaW5hbF90YWJsZSA9ICI8T1JJR0lO QUxfVEFCTEU+IgorICAgICAgICAgICAgIHNlbGYuY29udGV4dC50YWJsZSA9IG9yaWdpbmFsX3Rh YmxlCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorLSAgICAg ICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGFibGUsIG9yaWdpbmFsX3RhYmxlKQorKyAgICAgICAg ICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGFibGUgPT0gb3JpZ2luYWxfdGFibGUKKyAKKyAgICAg ZGVmIHRlc3RfY29udGV4dF90ZXh0X2lzX3Jlc3RvcmVkX2FmdGVyX2V4ZWN1dGVfc3RlcHNfd2l0 aG91dF90ZXh0KHNlbGYpOgorICAgICAgICAgZG9jID0gdSIiIgorQEAgLTQ1Niw3ICs0NTUsNyBA QCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAgICBvcmlnaW5hbF90ZXh0ID0gIjxPUklH SU5BTF9URVhUPiIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGV4dCA9IG9yaWdpbmFsX3Rl eHQKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCistICAgICAg ICAgICAgZXFfKHNlbGYuY29udGV4dC50ZXh0LCBvcmlnaW5hbF90ZXh0KQorKyAgICAgICAgICAg IGFzc2VydCBzZWxmLmNvbnRleHQudGV4dCA9PSBvcmlnaW5hbF90ZXh0CisgCisgICAgIGRlZiB0 ZXN0X2NvbnRleHRfdGV4dF9pc19yZXN0b3JlZF9hZnRlcl9leGVjdXRlX3N0ZXBzX3dpdGhfdGV4 dChzZWxmKToKKyAgICAgICAgIGRvYyA9IHUnJycKK0BAIC00NzEsMTAgKzQ3MCwxMCBAQCBXaGVu IGEgc3RlcCB3aXRoIHRleHQ6CisgICAgICAgICAgICAgb3JpZ2luYWxfdGV4dCA9ICI8T1JJR0lO QUxfVEVYVD4iCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRleHQgPSBvcmlnaW5hbF90ZXh0 CisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorLSAgICAgICAg ICAgIGVxXyhzZWxmLmNvbnRleHQudGV4dCwgb3JpZ2luYWxfdGV4dCkKKysgICAgICAgICAgICBh c3NlcnQgc2VsZi5jb250ZXh0LnRleHQgPT0gb3JpZ2luYWxfdGV4dAorIAorIAorLSAgICBAcmFp c2VzKFZhbHVlRXJyb3IpCisrICAgICMgT0xEOiBAcmFpc2VzKFZhbHVlRXJyb3IpCisgICAgIGRl ZiB0ZXN0X2V4ZWN1dGVfc3RlcHNfc2hvdWxkX2ZhaWxfd2hlbl9jYWxsZWRfd2l0aG91dF9mZWF0 dXJlKHNlbGYpOgorICAgICAgICAgZG9jID0gdSIiIgorIEdpdmVuIGEgcGFzc2VzCitAQCAtNDgy LDcgKzQ4MSw4IEBAIFRoZW4gYSBzdGVwIHBhc3NlcworICIiIi5sc3RyaXAoKQorICAgICAgICAg d2l0aCBwYXRjaCgiYmVoYXZlLnN0ZXBfcmVnaXN0cnkucmVnaXN0cnkiLCBzZWxmLnN0ZXBfcmVn aXN0cnkpOgorICAgICAgICAgICAgIHNlbGYuY29udGV4dC5mZWF0dXJlID0gTm9uZQorLSAgICAg ICAgICAgIHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKysgICAgICAgICAgICB3aXRo IHB5dGVzdC5yYWlzZXMoVmFsdWVFcnJvcik6CisrICAgICAgICAgICAgICAgIHNlbGYuY29udGV4 dC5leGVjdXRlX3N0ZXBzKGRvYykKKyAKKyAKKyBkZWYgY3JlYXRlX21vY2tfY29uZmlnKCk6CitA QCAtNTg4LDExICs1ODgsMTEgQEAgY2xhc3MgVGVzdFJ1bm5lcihvYmplY3QpOgorICAgICAgICAg ci5zZXR1cF9jYXB0dXJlKCkKKyAgICAgICAgIHIuc3RhcnRfY2FwdHVyZSgpCisgCistICAgICAg ICBlcV8oc3lzLnN0ZG91dCwgci5jYXB0dXJlX2NvbnRyb2xsZXIuc3Rkb3V0X2NhcHR1cmUpCisr ICAgICAgICBhc3NlcnQgc3lzLnN0ZG91dCA9PSByLmNhcHR1cmVfY29udHJvbGxlci5zdGRvdXRf Y2FwdHVyZQorIAorICAgICAgICAgci5zdG9wX2NhcHR1cmUoKQorIAorLSAgICAgICAgZXFfKHN5 cy5zdGRvdXQsIG5ld19zdGRvdXQpCisrICAgICAgICBhc3NlcnQgc3lzLnN0ZG91dCA9PSBuZXdf c3Rkb3V0CisgCisgICAgICAgICBzeXMuc3Rkb3V0ID0gb2xkX3N0ZG91dAorIAorQEAgLTYwNSwx MSArNjA1LDExIEBAIGNsYXNzIFRlc3RSdW5uZXIob2JqZWN0KToKKyAKKyAgICAgICAgIHIuc3Rh cnRfY2FwdHVyZSgpCisgCistICAgICAgICBlcV8oc3lzLnN0ZG91dCwgb2xkX3N0ZG91dCkKKysg ICAgICAgIGFzc2VydCBzeXMuc3Rkb3V0ID09IG9sZF9zdGRvdXQKKyAKKyAgICAgICAgIHIuc3Rv cF9jYXB0dXJlKCkKKyAKKy0gICAgICAgIGVxXyhzeXMuc3Rkb3V0LCBvbGRfc3Rkb3V0KQorKyAg ICAgICAgYXNzZXJ0IHN5cy5zdGRvdXQgPT0gb2xkX3N0ZG91dAorIAorICAgICBkZWYgdGVzdF90 ZWFyZG93bl9jYXB0dXJlX3JlbW92ZXNfbG9nX3RhcChzZWxmKToKKyAgICAgICAgIHIgPSBydW5u ZXIuUnVubmVyKE1vY2soKSkKK0BAIC02MzMsNyArNjMzLDcgQEAgY2xhc3MgVGVzdFJ1bm5lcihv YmplY3QpOgorICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktZm9ybWF0LWFyZ3MK KyAgICAgICAgIGFzc2VydCAic3BhbSIgaW4gbCwgJyJzcGFtIiB2YXJpYWJsZSBub3Qgc2V0IGlu IGxvY2FscyAoJXIpJyAlIChnLCBsKQorICAgICAgICAgIyBweWxpbnQ6IGVuYWJsZT10b28tbWFu eS1mb3JtYXQtYXJncworLSAgICAgICAgZXFfKGxbInNwYW0iXSwgZm4pCisrICAgICAgICBhc3Nl cnQgbFsic3BhbSJdID09IGZuCisgCisgICAgIGRlZiB0ZXN0X3J1bl9yZXR1cm5zX3RydWVfaWZf ZXZlcnl0aGluZ19wYXNzZWQoc2VsZik6CisgICAgICAgICByID0gcnVubmVyLlJ1bm5lcihNb2Nr KCkpCitAQCAtNjk0LDExICs2OTQsMTEgQEAgY2xhc3MgVGVzdFJ1bldpdGhQYXRocyh1bml0dGVz dC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLnJ1bm5lci5jb250ZXh0ID0gTW9jaygpCisgICAg ICAgICBzZWxmLnJ1bm5lci5ydW5fd2l0aF9wYXRocygpCisgCistICAgICAgICBlcV8oc2VsZi5y dW5faG9vay5jYWxsX2FyZ3NfbGlzdCwgWworKyAgICAgICAgYXNzZXJ0IHNlbGYucnVuX2hvb2su Y2FsbF9hcmdzX2xpc3QgPT0gWworICAgICAgICAgICAgICgoKSwge30pLAorICAgICAgICAgICAg ICgoImJlZm9yZV9hbGwiLCBzZWxmLnJ1bm5lci5jb250ZXh0KSwge30pLAorICAgICAgICAgICAg ICgoImFmdGVyX2FsbCIsIHNlbGYucnVubmVyLmNvbnRleHQpLCB7fSksCistICAgICAgICBdKQor KyAgICAgICAgXQorIAorICAgICBAcGF0Y2goImJlaGF2ZS5wYXJzZXIucGFyc2VfZmlsZSIpCisg ICAgIEBwYXRjaCgib3MucGF0aC5hYnNwYXRoIikKK0BAIC03MjQsOCArNzI0LDggQEAgY2xhc3Mg VGVzdFJ1bldpdGhQYXRocyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgCisgICAgICAgICBleHBlY3Rl ZF9wYXJzZV9maWxlX2FyZ3MgPSBcCisgICAgICAgICAgICAgWygoeC51cHBlcigpLCksIHsibGFu Z3VhZ2UiOiAiZnJpdHoifSkgZm9yIHggaW4gZmVhdHVyZV9sb2NhdGlvbnNdCistICAgICAgICBl cV8ocGFyc2VfZmlsZS5jYWxsX2FyZ3NfbGlzdCwgZXhwZWN0ZWRfcGFyc2VfZmlsZV9hcmdzKQor LSAgICAgICAgZXFfKHNlbGYucnVubmVyLmZlYXR1cmVzLCBbZmVhdHVyZV0gKiAzKQorKyAgICAg ICAgYXNzZXJ0IHBhcnNlX2ZpbGUuY2FsbF9hcmdzX2xpc3QgPT0gZXhwZWN0ZWRfcGFyc2VfZmls ZV9hcmdzCisrICAgICAgICBhc3NlcnQgc2VsZi5ydW5uZXIuZmVhdHVyZXMgPT0gW2ZlYXR1cmVd ICogMworIAorIAorIGNsYXNzIEZzTW9jayhvYmplY3QpOgorQEAgLTgyOSw5ICs4MjksMTIgQEAg Y2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rvcnkob2JqZWN0KToKKyAKKyAgICAgICAgICMgd2lsbCBs b29rIGZvciBhICJmZWF0dXJlcyIgZGlyZWN0b3J5IGFuZCBub3QgZmluZCBvbmUKKyAgICAgICAg IHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6CistICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhD b25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICB3aXRoIHB5dGVzdC5yYWlz ZXMoQ29uZmlnRXJyb3IpOgorKyAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAg ICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykK KyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJl cyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3Mu cGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscworKyAg ICAgICAgIyBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAi c3RlcHMiKSkgaW4gZnMuY2FsbHMpCisgCisgICAgIGRlZiB0ZXN0X2RlZmF1bHRfcGF0aF9ub19m ZWF0dXJlcyhzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitA QCAtODQyLDcgKzg0NSw5IEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5KG9iamVjdCk6Cisg ICAgICAgICBmcyA9IEZzTW9jaygiZmVhdHVyZXMvc3RlcHMvIikKKyAgICAgICAgIHdpdGggcGF0 Y2goIm9zLnBhdGgiLCBmcyk6CisgICAgICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZz LndhbGspOgorLSAgICAgICAgICAgICAgICBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNl dHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQ29uZmlnRXJy b3IpOgorKyAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAg ICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorIAor ICAgICBkZWYgdGVzdF9kZWZhdWx0X3BhdGgoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVh dGVfbW9ja19jb25maWcoKQorQEAgLTg1Nyw3ICs4NjIsNyBAQCBjbGFzcyBUZXN0RmVhdHVyZURp cmVjdG9yeShvYmplY3QpOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgor ICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisgCistICAgICAgICBlcV8oci5i YXNlX2Rpciwgb3MucGF0aC5hYnNwYXRoKCJmZWF0dXJlcyIpKQorKyAgICAgICAgYXNzZXJ0IHIu YmFzZV9kaXIgPT0gb3MucGF0aC5hYnNwYXRoKCJmZWF0dXJlcyIpCisgCisgICAgIGRlZiB0ZXN0 X3N1cHBsaWVkX2ZlYXR1cmVfZmlsZShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9t b2NrX2NvbmZpZygpCitAQCAtODcyLDEwICs4NzcsMTIgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJl Y3Rvcnkob2JqZWN0KToKKyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fs ayk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CisgICAgICAgICAgICAg ICAgICAgICByLnNldHVwX3BhdGhzKCkKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5q b2luKGZzLmJhc2UsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKy0gICAgICAgIG9rXygoImlzZmls ZSIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMpCisr ICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3RlcHMiKSkg aW4gZnMuY2FsbHMKKysgICAgICAgIGFzc2VydCAoImlzZmlsZSIsIG9zLnBhdGguam9pbihmcy5i YXNlLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgICMgT0xEOiBva18oKCJp c2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAg ICAgICAjIE9MRDogb2tfKCgiaXNmaWxlIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmb28uZmVh dHVyZSIpKSBpbiBmcy5jYWxscykKKyAKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBmcy5iYXNl KQorKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9kaXIgPT0gZnMuYmFzZQorIAorICAgICBkZWYgdGVz dF9zdXBwbGllZF9mZWF0dXJlX2ZpbGVfbm9fc3RlcHMoc2VsZik6CisgICAgICAgICBjb25maWcg PSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTg4OCw3ICs4OTUsOSBAQCBjbGFzcyBUZXN0RmVh dHVyZURpcmVjdG9yeShvYmplY3QpOgorICAgICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZz KToKKyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAg ICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CistICAgICAgICAgICAgICAgICAgICBhc3Nl cnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICAg ICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAg ICAgICByLnNldHVwX3BhdGhzKCkKKysgICAgICAgICAgICAgICAgICAgICMgT0xEOiBhc3NlcnRf cmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorIAorICAgICBkZWYgdGVzdF9zdXBw bGllZF9mZWF0dXJlX2RpcmVjdG9yeShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9t b2NrX2NvbmZpZygpCitAQCAtOTAzLDkgKzkxMiwxMCBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVj dG9yeShvYmplY3QpOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorICAg ICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisgCistICAgICAgICBva18oKCJpc2Rp ciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykK KysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJzcGFtIiwg InN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAgICAjIE9MRCBva18oKCJpc2RpciIsIG9zLnBh dGguam9pbihmcy5iYXNlLCAic3BhbSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKyAKKy0gICAg ICAgIGVxXyhyLmJhc2VfZGlyLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iKSkKKysgICAg ICAgIGFzc2VydCByLmJhc2VfZGlyID09IG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIpCisg CisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZGlyZWN0b3J5X25vX3N0ZXBzKHNlbGYp OgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC05MTcsOSArOTI3 LDEyIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5KG9iamVjdCk6CisgCisgICAgICAgICB3 aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMpOgorICAgICAgICAgICAgIHdpdGggcGF0Y2goIm9zLndh bGsiLCBmcy53YWxrKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJv ciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENv bmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorKyAgICAg ICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRo cykKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJzcGFt IiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAgICAg ICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIsICJzdGVw cyIpKSBpbiBmcy5jYWxscykKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfZmVhdHVyZV9kaXJl Y3RvcnlfbWlzc2luZyhzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZp ZygpCitAQCAtOTMxLDcgKzk0NCw5IEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5KG9iamVj dCk6CisgCisgICAgICAgICB3aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMpOgorICAgICAgICAgICAg IHdpdGggcGF0Y2goIm9zLndhbGsiLCBmcy53YWxrKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0 X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgd2l0 aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAgIHIuc2V0 dXBfcGF0aHMoKQorKyAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdF cnJvciwgci5zZXR1cF9wYXRocykKKyAKKyAKKyBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxh eW91dDIob2JqZWN0KToKK0BAIC05NTUsNyArOTcwLDcgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJl Y3RvcnlMYXlvdXQyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFn ZXI6CisgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIGVx XyhyLmJhc2VfZGlyLCBvcy5wYXRoLmFic3BhdGgoImZlYXR1cmVzIikpCisrICAgICAgICBhc3Nl cnQgci5iYXNlX2RpciA9PSBvcy5wYXRoLmFic3BhdGgoImZlYXR1cmVzIikKKyAKKyAgICAgZGVm IHRlc3Rfc3VwcGxpZWRfcm9vdF9kaXJlY3Rvcnkoc2VsZik6CisgICAgICAgICBjb25maWcgPSBj cmVhdGVfbW9ja19jb25maWcoKQorQEAgLTk3NSw4ICs5OTAsOSBAQCBjbGFzcyBUZXN0RmVhdHVy ZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgd2l0aCByLnBhdGhf bWFuYWdlcjoKKyAgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorIAorLSAgICAg ICAgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBz IikpIGluIGZzLmNhbGxzKQorLSAgICAgICAgZXFfKHIuYmFzZV9kaXIsIG9zLnBhdGguam9pbihm cy5iYXNlLCAiZmVhdHVyZXMiKSkKKysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBh dGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAg ICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAi c3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGlyID09IG9zLnBh dGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9y b290X2RpcmVjdG9yeV9ub19zdGVwcyhzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9t b2NrX2NvbmZpZygpCitAQCAtOTkzLDEwICsxMDA5LDEzIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGly ZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAgICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZz KToKKyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAg ICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CistICAgICAgICAgICAgICAgICAgICBhc3Nl cnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICAg ICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAg ICAgICByLnNldHVwX3BhdGhzKCkKKysgICAgICAgICAgICAgICAgICAgICMgT0xEOiBhc3NlcnRf cmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorIAorLSAgICAgICAgb2tfKCgiaXNk aXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNh bGxzKQorLSAgICAgICAgZXFfKHIuYmFzZV9kaXIsIE5vbmUpCisrICAgICAgICAjIE9MRDogb2tf KCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGlu IGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFz ZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAgICBhc3NlcnQgci5i YXNlX2RpciBpcyBOb25lCisgCisgCisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZmls ZShzZWxmKToKK0BAIC0xMDE4LDkgKzEwMzcsMTEgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rv cnlMYXlvdXQyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6 CisgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIG9rXygo ImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSAgaW4g ZnMuY2FsbHMpCistICAgICAgICBva18oKCJpc2ZpbGUiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwg ImZlYXR1cmVzIiwgImdyb3VwMSIsICJmb28uZmVhdHVyZSIpKSBpbiBmcy5jYWxscykKKy0gICAg ICAgIGVxXyhyLmJhc2VfZGlyLCBmcy5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIpKQorKyAgICAg ICAgIyBPTEQ6IG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIs ICJzdGVwcyIpKSAgaW4gZnMuY2FsbHMpCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNmaWxlIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJncm91cDEiLCAiZm9vLmZlYXR1cmUi KSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihm cy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgIGluIGZzLmNhbGxzCisrICAgICAgICBhc3Nl cnQgKCJpc2ZpbGUiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgImdyb3VwMSIs ICJmb28uZmVhdHVyZSIpKSBpbiBmcy5jYWxscworKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9kaXIg PT0gZnMuam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGll ZF9mZWF0dXJlX2ZpbGVfbm9fc3RlcHMoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVf bW9ja19jb25maWcoKQorQEAgLTEwMzcsNyArMTA1OCw5IEBAIGNsYXNzIFRlc3RGZWF0dXJlRGly ZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAgICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZz KToKKyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fsayk6CisgICAgICAg ICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CistICAgICAgICAgICAgICAgICAgICBhc3Nl cnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICAg ICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAg ICAgICByLnNldHVwX3BhdGhzKCkKKysgICAgICAgICAgICAgICAgICAgICMgT0xEIGFzc2VydF9y YWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisgCisgICAgIGRlZiB0ZXN0X3N1cHBs aWVkX2ZlYXR1cmVfZGlyZWN0b3J5KHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21v Y2tfY29uZmlnKCkKK0BAIC0xMDU3LDggKzEwODAsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVj dG9yeUxheW91dDIob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgd2l0aCByLnBhdGhfbWFuYWdl cjoKKyAgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorIAorLSAgICAgICAgb2tf KCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGlu IGZzLmNhbGxzKQorLSAgICAgICAgZXFfKHIuYmFzZV9kaXIsIG9zLnBhdGguam9pbihmcy5iYXNl LCAiZmVhdHVyZXMiKSkKKysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9p bihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBh c3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMi KSkgaW4gZnMuY2FsbHMKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGlyID09IG9zLnBhdGguam9p bihmcy5iYXNlLCAiZmVhdHVyZXMiKQorIAorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0 dXJlX2RpcmVjdG9yeV9ub19zdGVwcyhzZWxmKToKK0BAIC0xMDc1LDYgKzEwOTksOSBAQCBjbGFz cyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAKKyAgICAgICAgIHdpdGgg cGF0Y2goIm9zLnBhdGgiLCBmcyk6CisgICAgICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIs IGZzLndhbGspOgorLSAgICAgICAgICAgICAgICBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCBy LnNldHVwX3BhdGhzKQorKyAgICAgICAgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQ29uZmln RXJyb3IpOgorKyAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAg ICAgICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQor IAorLSAgICAgICAgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVz IiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgIyBPTEQ6IG9rXygoImlzZGlyIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykK KysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJl cyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscworZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9zdGVwX3Jl Z2lzdHJ5LnB5IGIvdGVzdHMvdW5pdC90ZXN0X3N0ZXBfcmVnaXN0cnkucHkKK3NpbWlsYXJpdHkg aW5kZXggOTUlCityZW5hbWUgZnJvbSB0ZXN0L3Rlc3Rfc3RlcF9yZWdpc3RyeS5weQorcmVuYW1l IHRvIHRlc3RzL3VuaXQvdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5CitpbmRleCBmNWI1YTRkLi42Zjg1 NzI5IDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X3N0ZXBfcmVnaXN0cnkucHkKKysrKyBiL3Rlc3Rz L3VuaXQvdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5CitAQCAtMiw3ICsyLDYgQEAKKyAjIHB5bGludDog ZGlzYWJsZT11bnVzZWQtd2lsZGNhcmQtaW1wb3J0CisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBh YnNvbHV0ZV9pbXBvcnQsIHdpdGhfc3RhdGVtZW50CisgZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBw YXRjaAorLWZyb20gbm9zZS50b29scyBpbXBvcnQgKiAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9 d2lsZGNhcmQtaW1wb3J0CisgZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlICAgICAjIHB5bGlu dDogZGlzYWJsZT1yZWRlZmluZWQtYnVpbHRpbgorIGZyb20gYmVoYXZlIGltcG9ydCBzdGVwX3Jl Z2lzdHJ5CisgCitAQCAtMjYsNyArMjUsNyBAQCBjbGFzcyBUZXN0U3RlcFJlZ2lzdHJ5KG9iamVj dCk6CisgCisgICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LmFkZF9zdGVwX2RlZmluaXRpb24oc3Rl cF90eXBlLnVwcGVyKCksIHBhdHRlcm4sIGZ1bmMpCisgICAgICAgICAgICAgICAgIGdldF9tYXRj aGVyLmFzc2VydF9jYWxsZWRfd2l0aChmdW5jLCBwYXR0ZXJuKQorLSAgICAgICAgICAgICAgICBl cV8obCwgW21hZ2ljX29iamVjdF0pCisrICAgICAgICAgICAgICAgIGFzc2VydCBsID09IFttYWdp Y19vYmplY3RdCisgCisgICAgIGRlZiB0ZXN0X2ZpbmRfbWF0Y2hfd2l0aF9zcGVjaWZpY19zdGVw X3R5cGVfYWxzb19zZWFyY2hlc19nZW5lcmljKHNlbGYpOgorICAgICAgICAgcmVnaXN0cnkgPSBz dGVwX3JlZ2lzdHJ5LlN0ZXBSZWdpc3RyeSgpCitAQCAtODAsNyArNzksNyBAQCBjbGFzcyBUZXN0 U3RlcFJlZ2lzdHJ5KG9iamVjdCk6CisgCisgICAgICAgICBhc3NlcnQgcmVnaXN0cnkuZmluZF9t YXRjaChzdGVwKSBpcyBtYWdpY19vYmplY3QKKyAgICAgICAgIGZvciBtb2NrIGluIHN0ZXBfZGVm c1s2Ol06CistICAgICAgICAgICAgZXFfKG1vY2subWF0Y2guY2FsbF9jb3VudCwgMCkKKysgICAg ICAgICAgICBhc3NlcnQgbW9jay5tYXRjaC5jYWxsX2NvdW50ID09IDAKKyAKKyAgICAgIyBweWxp bnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworICAgICBAcGF0Y2gub2JqZWN0KHN0ZXBfcmVnaXN0 cnkucmVnaXN0cnksICdhZGRfc3RlcF9kZWZpbml0aW9uJykKK2RpZmYgLS1naXQgYS90ZXN0cy91 bml0L3Rlc3RfdGV4dHV0aWwucHkgYi90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKK2luZGV4 IGUwNWU5YWQuLjNmZmFiM2MgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwu cHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF90ZXh0dXRpbC5weQorQEAgLTksNiArOSwxMCBAQCBp bXBvcnQgcHl0ZXN0CisgaW1wb3J0IGNvZGVjcworIGltcG9ydCBzaXgKKyAKKysKKytweXRlc3Rf dmVyc2lvbiA9IHB5dGVzdC5fX3ZlcnNpb25fXworKworKworICMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAjIFRFU1QgU1VQUE9SVDoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMjYzLDYg KzI2Nyw3IEBAIGNsYXNzIFRlc3RPYmplY3RUb1RleHRDb252ZXJzaW9uKG9iamVjdCk6CisgICAg ICAgICBhc3NlcnQgbWVzc2FnZSBpbiB0ZXh0MiwgIk9PUFM6IHRleHQ9JXIiICUgdGV4dDIKKyAK KyAgICAgQHJlcXVpcmVzX3B5dGhvbjIKKysgICAgQHB5dGVzdC5tYXJrLnNraXBpZihweXRlc3Rf dmVyc2lvbiA+PSAiNS4wIiwgcmVhc29uPSJGYWlscyB3aXRoIHB5dGVzdCA1LjAiKQorICAgICBA cHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImV4Y2VwdGlvbl9jbGFzcywgbWVzc2FnZSIsIFsKKyAg ICAgICAgIChBc3NlcnRpb25FcnJvciwgdSLDhHJnZXJuaXMiKSwKKyAgICAgICAgIChSdW50aW1l RXJyb3IsIHUiw5xiZXJtw7x0aWciKSwKK0BAIC0yNzQsMTAgKzI3OSwxNSBAQCBjbGFzcyBUZXN0 T2JqZWN0VG9UZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAgICAgICAgd2l0aCBweXRlc3QucmFp c2VzKGV4Y2VwdGlvbl9jbGFzcykgYXMgZToKKyAgICAgICAgICAgICByYWlzZSBleGNlcHRpb25f Y2xhc3MoYnl0ZXNfbWVzc2FnZSkKKyAKKy0gICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVlKQor KyAgICAgICAgIyAtLSBSRVFVSVJFUzogcHl0ZXN0IDwgNS4wCisrICAgICAgICAjIEhJTlQ6IHB5 dGVzdCA+PSA1LjAgbmVlZHM6IHRleHQoZS52YWx1ZSkKKysgICAgICAgICMgTkVXOiAgdGV4dDIg PSB0ZXh0KGUudmFsdWUpICAgIyBDYXVzZXMgcHJvYmxlbXMgdy8gZGVjb2RpbmcgYW5kIGNvbXBh cmlzb24uCisrICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShlLnZhbHVlLCBFeGNlcHRpb24pCisr ICAgICAgICB0ZXh0MiA9IHRleHQoZSkKKyAgICAgICAgIHVuaWNvZGVfbWVzc2FnZSA9IGJ5dGVz X21lc3NhZ2UuZGVjb2RlKHNlbGYuRU5DT0RJTkcpCisgICAgICAgICBleHBlY3RlZCA9IHUiJXM6 ICVzIiAlIChleGNlcHRpb25fY2xhc3MuX19uYW1lX18sIHVuaWNvZGVfbWVzc2FnZSkKKyAgICAg ICAgIGFzc2VydCBpc2luc3RhbmNlKHRleHQyLCBzaXgudGV4dF90eXBlKQorKyAgICAgICAgYXNz ZXJ0IHVuaWNvZGVfbWVzc2FnZSBpbiB0ZXh0MgorICAgICAgICAgYXNzZXJ0IHRleHQyLmVuZHN3 aXRoKGV4cGVjdGVkKQorICAgICAgICAgIyAtLSBESUFHTk9TVElDUzoKKyAgICAgICAgIHByaW50 KHUidGV4dDI6ICIrIHRleHQyKQorZGlmZiAtLWdpdCBhL3RveC5pbmkgYi90b3guaW5pCitpbmRl eCAzOTJiYjM5Li5kMmZiY2UyIDEwMDY0NAorLS0tIGEvdG94LmluaQorKysrIGIvdG94LmluaQor QEAgLTY3LDE3ICs2NywxMSBAQCBkZXBzPQorIGluc3RhbGxfY29tbWFuZCA9IHBpcCBpbnN0YWxs IC1VIHtvcHRzfSB7cGFja2FnZXN9CisgY2hhbmdlZGlyID0ge3RveGluaWRpcn0KKyBjb21tYW5k cz0KKy0gICAgcHl0ZXN0IHtwb3NhcmdzOnRlc3QgdGVzdHN9CisrICAgIHB5dGVzdCB7cG9zYXJn czp0ZXN0c30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOmZlYXR1cmVz fQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6dG9vbHMvdGVzdC1mZWF0 dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOmlzc3VlLmZlYXR1 cmVzfQorLWRlcHM9CistICAgIHB5dGVzdD49My4wCistICAgIHB5dGVzdC1odG1sID49IDEuMTku MAorLSAgICBub3NlPj0xLjMKKy0gICAgbW9jaz49Mi4wCistICAgIFB5SGFtY3Jlc3Q+PTEuOQor LSAgICBwYXRoLnB5ID49IDEwLjEKKytkZXBzPSAtciB7dG94aW5pZGlyfS9weS5yZXF1aXJlbWVu dHMvY2kudG94LnR4dAorIHNldGVudiA9CisgICAgICBQWVRIT05QQVRIID0ge3RveGluaWRpcn0K KyAKK0BAIC05NywxMyArOTEsMTIgQEAgY2hhbmdlZGlyID0ge2VudmRpcn0KKyBjb21tYW5kcz0K KyAgICAgYmVoYXZlIC0tdmVyc2lvbgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNv cHl0cmVlIC4uLy4uL2JlaGF2ZTRjbWQwIC4KKy0gICAge3RveGluaWRpcn0vYmluL3RveGNtZC5w eSBjb3B5dHJlZSAuLi8uLi90ZXN0IC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBj b3B5dHJlZSAuLi8uLi90ZXN0cyAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29w eXRyZWUgLi4vLi4vZmVhdHVyZXMgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNv cHl0cmVlIC4uLy4uL3Rvb2xzICAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29w eXRyZWUgLi4vLi4vaXNzdWUuZmVhdHVyZXMgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21k LnB5IGNvcHkgLi4vLi4vYmVoYXZlLmluaSAuCistICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0IHRl c3RzfQorKyAgICBweXRlc3Qge3Bvc2FyZ3M6dGVzdHN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1w cm9ncmVzcyB7cG9zYXJnczpmZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNz IHtwb3NhcmdzOnRvb2xzL3Rlc3QtZmVhdHVyZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9n cmVzcyB7cG9zYXJnczppc3N1ZS5mZWF0dXJlc30KK0BAIC0xMTksMTggKzExMiwxNiBAQCBjaGFu Z2VkaXIgPSB7ZW52ZGlyfQorIGNvbW1hbmRzPQorICAgICBiZWhhdmUgLS12ZXJzaW9uCisgICAg IHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vYmVoYXZlNGNtZDAgLgor LSAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL3Rlc3QgLgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL3Rlc3RzIC4KKyAgICAg e3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi9mZWF0dXJlcyAuCisgICAg IHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vdG9vbHMgIC4KKyAgICAg e3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi9pc3N1ZS5mZWF0dXJlcyAu CisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weSAuLi8uLi9iZWhhdmUuaW5pIC4K KyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSAydG8zIC13IC1uIC0tbm8tZGlmZnMgYmVo YXZlNGNtZDAKKy0gICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSAydG8zIC13IC1uIC0tbm8t ZGlmZnMgdGVzdAorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IDJ0bzMgLXcgLW4gLS1u by1kaWZmcyB0b29scworICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IDJ0bzMgLXcgLW4g LS1uby1kaWZmcyBmZWF0dXJlcworICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IDJ0bzMg LXcgLW4gLS1uby1kaWZmcyBpc3N1ZS5mZWF0dXJlcworLSAgICBweXRlc3Qge3Bvc2FyZ3M6dGVz dCB0ZXN0c30KKysgICAgcHl0ZXN0IHtwb3NhcmdzOnRlc3RzfQorICAgICBiZWhhdmUgLS1mb3Jt YXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6ZmVhdHVyZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9n cmVzcyB7cG9zYXJnczp0b29scy90ZXN0LWZlYXR1cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9 cHJvZ3Jlc3Mge3Bvc2FyZ3M6aXNzdWUuZmVhdHVyZXN9CitAQCAtMTQ4LDcgKzEzOSw3IEBAIHNl dGVudiA9CisgW3Rlc3RlbnY6ankyN10KKyBiYXNlcHl0aG9uPSBqeXRob24KKyBjb21tYW5kcz0K Ky0gICAgcHl0ZXN0IHtwb3NhcmdzOnRlc3QgdGVzdHN9CisrICAgIHB5dGVzdCB7cG9zYXJnczp0 ZXN0c30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOmZlYXR1cmVzfQor ICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6dG9vbHMvdGVzdC1mZWF0dXJl c30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOmlzc3VlLmZlYXR1cmVz fQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAzNi1GSVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNi1GSVgt UmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uZGU3NjUwMDFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNi1GSVgtUmVtb3ZlLXRl c3QtZnJvbS1weXRlc3QtcnVuLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gYjAyYzNlZTY3 ZTMxZDY2NjBkMjUyYmY1OWRkMGIzNjkzZjBjMmEwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTog U2F0LCA2IEp1bCAyMDE5IDA5OjE3OjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogUmVt b3ZlIHRlc3QvIGZyb20gcHl0ZXN0IHJ1bi4KKworLS0tCisgLnRyYXZpcy55bWwgfCAyICstCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1n aXQgYS8udHJhdmlzLnltbCBiLy50cmF2aXMueW1sCitpbmRleCBmYmMzNTIwLi5jNjAyN2UwIDEw MDY0NAorLS0tIGEvLnRyYXZpcy55bWwKKysrKyBiLy50cmF2aXMueW1sCitAQCAtMzUsNyArMzUs NyBAQCBpbnN0YWxsOgorIAorIHNjcmlwdDoKKyAgIC0gcHl0aG9uIC0tdmVyc2lvbgorLSAgLSBw eXRlc3QgdGVzdCB0ZXN0cworKyAgLSBweXRlc3QgdGVzdHMKKyAgIC0gYmVoYXZlIC1mIHByb2dy ZXNzIC0tanVuaXQgZmVhdHVyZXMvCisgICAtIGJlaGF2ZSAtZiBwcm9ncmVzcyAtLWp1bml0IHRv b2xzL3Rlc3QtZmVhdHVyZXMvCisgICAtIGJlaGF2ZSAtZiBwcm9ncmVzcyAtLWp1bml0IGlzc3Vl LmZlYXR1cmVzLwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAzNy1TZWxlY3QtYnktbG9jYXRpb24tQWRkLXN1cHBvcnQtZm9y LVNjZW5hcmlvLWNvbnRhaW5lLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNy1TZWxlY3QtYnktbG9jYXRpb24tQWRkLXN1cHBvcnQt Zm9yLVNjZW5hcmlvLWNvbnRhaW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uMmJlZmFhMGJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzNy1TZWxlY3QtYnktbG9jYXRpb24t QWRkLXN1cHBvcnQtZm9yLVNjZW5hcmlvLWNvbnRhaW5lLnBhdGNoCkBAIC0wLDAgKzEsNjUyIEBA CitGcm9tIDBmZjJhZjIzN2M5Y2ZlYjhkZWQ5MDEzNDUxYmJkYzA5ODM3OGU2NDkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAwOTo1MDo0NiArMDIwMAorU3ViamVjdDog W1BBVENIXSBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29u dGFpbmVyIgorIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpIChyZWxhdGVkIHRvOiAj MzkxKQorCistLS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KKyBiZWhhdmUvbW9kZWwucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNDkgKysrLS0KKyBiZWhhdmUvcnVubmVyX3V0aWwucHkgICAgICAgICAgICAgICAgICAg ICAgICAgfCAxODYgKysrKysrKysrKysrKysrKystCisgLi4uLnNlbGVjdF9zY2VuYXJpb3NfYnlf ZmlsZV9sb2NhdGlvbi5mZWF0dXJlIHwgIDI3ICsrLQorIHB5dGVzdC5pbmkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIHRlc3RzL3VuaXQvdGVzdF9ydW5uZXJf dXRpbC5weSAgICAgICAgICAgICAgICB8IDE3NSArKysrKysrKysrKysrKysrCisgNiBmaWxlcyBj aGFuZ2VkLCA0MTYgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUg MTAwNjQ0IHRlc3RzL3VuaXQvdGVzdF9ydW5uZXJfdXRpbC5weQorCitkaWZmIC0tZ2l0IGEvQ0hB TkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggM2Q4MDViMy4uMDFiZDFiZCAxMDA2NDQKKy0t LSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTI4LDcgKzI4LDcgQEAgRU5I QU5DRU1FTlRTOgorICogVXNlIGBjdWN1bWJlci10YWctZXhwcmVzc2lvbnNgXyB3aXRoIHRhZy1t YXRjaGluZyBleHRlbnNpb24gKHN1cGVyY2VlZHM6IG9sZC1zdHlsZSB0YWctZXhwcmVzc2lvbnMp CisgKiBpc3N1ZSAjNjc4OiBTY2VuYXJpbyBPdXRsaW5lOiBTdXBwb3J0IHRhZ3Mgd2l0aCBjb21t YXMgYW5kIHNlbWljb2xvbnMgKHByb3ZpZGVkIGJ5OiBsYXdubW93ZXJsYXR0ZSwgcHVsbCAjNjc5 KQorICogaXNzdWUgIzY3NTogRmVhdHVyZSBmaWxlcyBjYW5ub3QgYmUgZm91bmQgd2l0aGluIHN5 bWxpbmsgZGlyZWN0b3JpZXMgKHByb3ZpZGVkIGJ5OiBzbWFkbmVzcywgcHVsbCAjNjgwKQorLQor KyogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5l ciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCisg CisgUEFSVElBTExZIEZJWEVEOgorIAorZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2Jl aGF2ZS9tb2RlbC5weQoraW5kZXggMzA4NDg1MC4uN2ZjNTM0YSAxMDA2NDQKKy0tLSBhL2JlaGF2 ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5CitAQCAtNTUsMTEgKzU1LDExIEBAIGNs YXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6 CisgICAgIC4uIGF0dHJpYnV0ZTo6IGtleXdvcmQKKyAKKyAgICAgICAgVGhpcyBpcyB0aGUga2V5 d29yZCBhcyBzZWVuIGluIHRoZSAqZmVhdHVyZSBmaWxlKi4gSW4gRW5nbGlzaCB0aGlzIHdpbGwK Ky0gICAgICAgYmUgIkZlYXR1cmUiLgorKyAgICAgICBiZSAiRmVhdHVyZSIgb3IgIlJ1bGUiLgor IAorICAgICAuLiBhdHRyaWJ1dGU6OiBuYW1lCisgCistICAgICAgIFRoZSBuYW1lIG9mIHRoZSBm ZWF0dXJlICh0aGUgdGV4dCBhZnRlciAiRmVhdHVyZSIuKQorKyAgICAgICBUaGUgbmFtZSAob3Ig dGl0bGUpIG9mIHRoZSBtb2RlbCBlbnRpdHkgKHRoZSB0ZXh0IGFmdGVyIHRoZSBrZXl3b3JkLikK KyAKKyAgICAgLi4gYXR0cmlidXRlOjogZGVzY3JpcHRpb24KKyAKK0BAIC05MywxMiArOTMsMTYg QEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlh YmxlKToKKyAKKyAgICAgICAgU3RhdHVzLnVudGVzdGVkCisgICAgICAgICAgVGhlIGZlYXR1cmUg d2FzIGhhcyBub3QgYmVlbiBjb21wbGV0ZWx5IHRlc3RlZCB5ZXQuCisrCisgICAgICAgIFN0YXR1 cy5za2lwcGVkCistICAgICAgICAgT25lIG9yIG1vcmUgc3RlcHMgb2YgdGhpcyBmZWF0dXJlIHdh cyBwYXNzZWQgb3ZlciBkdXJpbmcgdGVzdGluZy4KKysgICAgICAgICBUaGUgZXhlY3V0aW9uIG9m IHRoaXMgbW9kZWwgZW50aXR5IChmZWF0dXJlIG9yIHJ1bGUpCisrICAgICAgICAgc2hvdWxkIGJl IC8gd2FzIHNraXBwZWQgKGV4Y2x1ZGVkIGZyb20gdGhlIHRlc3QgcnVuKS4KKysKKyAgICAgICAg U3RhdHVzLnBhc3NlZAorLSAgICAgICAgIFRoZSBmZWF0dXJlIHdhcyB0ZXN0ZWQgc3VjY2Vzc2Z1 bGx5LgorKyAgICAgICAgIFRoZSBtb2RlbCBlbnRpdHkgKGZlYXR1cmUgb3IgcnVsZSkgd2FzIHRl c3RlZCBzdWNjZXNzZnVsbHkuCisrCisgICAgICAgIFN0YXR1cy5mYWlsZWQKKy0gICAgICAgICBP bmUgb3IgbW9yZSBzdGVwcyBvZiB0aGlzIGZlYXR1cmUgZmFpbGVkLgorKyAgICAgICAgIE9uZSBv ciBtb3JlIHJ1biBpdGVtcyBvZiB0aGlzIG1vZGVsIGVudGl0eSBmYWlsZWQuCisgCisgICAgICAg IC4uIHZlcnNpb25jaGFuZ2VkOjogMS4yLjYKKyAgICAgICAgICAgICBVc2UgU3RhdHVzIGVudW0g Y2xhc3MgKHdhczogc3RyaW5nKS4KK0BAIC0xNDcsNiArMTUxLDExIEBAIGNsYXNzIFNjZW5hcmlv Q29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBm b3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRlbXM6CisgICAgICAgICAgICAgcnVuX2l0ZW0ucmVz ZXQoKQorIAorKyAgICBkZWYgX3NldHVwX2NvbnRleHRfZm9yX3J1bihzZWxmLCBjb250ZXh0KToK KysgICAgICAgICIiIlNldHVwL0luaXQgcnVubmVyIGNvbnRleHQgZm9yIHJ1bi4iIiIKKysgICAg ICAgICMgLS0gT1ZFUlJJRERFTjogQnkgZGVyaXZlZCBjbGFzc2VzLgorKyAgICAgICAgcGFzcwor KworICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICByZXR1cm4gaXRlcihzZWxmLnJ1 bl9pdGVtcykKKyAKK0BAIC0yMDQsNyArMjEzLDcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIo VGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICMgZmVhdHVyZV9k dXJhdGlvbiA9IHNlbGYucnVuX2VuZHRpbWUgLSBzZWxmLnJ1bl9zdGFydHRpbWUKKyAgICAgICAg IHJldHVybiBmZWF0dXJlX2R1cmF0aW9uCisgCistICAgIGRlZiB3YWxrX3NjZW5hcmlvcyhzZWxm LCB3aXRoX291dGxpbmVzPUZhbHNlKToKKysgICAgZGVmIHdhbGtfc2NlbmFyaW9zKHNlbGYsIHdp dGhfb3V0bGluZXM9RmFsc2UsIHdpdGhfcnVsZXM9RmFsc2UpOgorICAgICAgICAgIiIiUHJvdmlk ZXMgYSBmbGF0IGxpc3Qgb2YgYWxsIHNjZW5hcmlvcyBvZiB0aGlzIFNjZW5hcmlvQ29udGFpbmVy LgorICAgICAgICAgQSBTY2VuYXJpb091dGxpbmUgZWxlbWVudCBhZGRzIGl0cyBzY2VuYXJpb3Mg dG8gdGhpcyBsaXN0LgorICAgICAgICAgQnV0IHRoZSBTY2VuYXJpb091dGxpbmUgZWxlbWVudCBp dHNlbGYgaXMgb25seSBhZGRlZCB3aGVuIHNwZWNpZmllZC4KK0BAIC0yMTUsMjAgKzIyNCwyMCBA QCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFi bGUpOgorICAgICAgICAgOnBhcmFtIHdpdGhfb3V0bGluZXM6IElmIFNjZW5hcmlvT3V0bGluZSBp dGVtcyBzaG91bGQgYmUgYWRkZWQsIHRvby4KKyAgICAgICAgIDpyZXR1cm46IExpc3Qgb2YgYWxs IHNjZW5hcmlvcyBvZiB0aGlzIGZlYXR1cmUuCisgICAgICAgICAiIiIKKy0gICAgICAgICMgVE9E TzogQmV0dGVyIHVzZSBzZWxmLnJ1bl9pdGVtcworICAgICAgICAgYWxsX3NjZW5hcmlvcyA9IFtd CistICAgICAgICAjIGZvciBzY2VuYXJpbyBpbiBzZWxmLnNjZW5hcmlvczoKKyAgICAgICAgIGZv ciBydW5faXRlbSBpbiBzZWxmLnJ1bl9pdGVtczoKKyAgICAgICAgICAgICBpZiBpc2luc3RhbmNl KHJ1bl9pdGVtLCBSdWxlKToKKyAgICAgICAgICAgICAgICAgcnVsZSA9IHJ1bl9pdGVtCisrICAg ICAgICAgICAgICAgIGlmIHdpdGhfcnVsZXM6CisrICAgICAgICAgICAgICAgICAgICBhbGxfc2Nl bmFyaW9zLmFwcGVuZChydWxlKQorICAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVu ZChydWxlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9d2l0aF9vdXRsaW5lcykpCistICAg ICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW9PdXRsaW5lKToKKysgICAg ICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisgICAg ICAgICAgICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBydW5faXRlbQorICAgICAgICAgICAgICAg ICBpZiB3aXRoX291dGxpbmVzOgorICAgICAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5h cHBlbmQoc2NlbmFyaW9fb3V0bGluZSkKKyAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5l eHRlbmQoc2NlbmFyaW9fb3V0bGluZS5zY2VuYXJpb3MpCisgICAgICAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKQorKyAg ICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW8pLCAiT09Q UzogJXIiICUgcnVuX2l0ZW0KKyAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQo cnVuX2l0ZW0pCisgICAgICAgICByZXR1cm4gYWxsX3NjZW5hcmlvcworIAorQEAgLTI3NCw5ICsy ODMsOSBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJl cGxheWFibGUpOgorICAgICAgICAgYXNzZXJ0IHNlbGYuc3RhdHVzID09IFN0YXR1cy5za2lwcGVk IG9yIHNlbGYuaG9va19mYWlsZWQKKyAKKyAgICAgZGVmIHNraXAoc2VsZiwgcmVhc29uPU5vbmUs IHJlcXVpcmVfbm90X2V4ZWN1dGVkPUZhbHNlKToKKy0gICAgICAgICIiIlNraXAgZXhlY3V0aW5n IHRoaXMgZmVhdHVyZSBvciB0aGUgcmVtYWluaW5nIHBhcnRzIG9mIGl0LgorLSAgICAgICAgTm90 ZSB0aGF0IHRoaXMgZmVhdHVyZSBtYXkgYmUgYWxyZWFkeSBwYXJ0bHkgZXhlY3V0ZWQKKy0gICAg ICAgIHdoZW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCisrICAgICAgICAiIiJTa2lwIGV4ZWN1 dGluZyB0aGlzIG1vZGVsIGVudGl0eSBvciB0aGUgcmVtYWluaW5nIHBhcnRzIG9mIGl0LgorKyAg ICAgICAgTm90ZSB0aGF0IHRoaXMgbW9kZWwgZW50aXR5IChmZWF0dXJlIG9yIHJ1bGUpIG1heSBi ZSBhbHJlYWR5IHBhcnRseQorKyAgICAgICAgZXhlY3V0ZWQgd2hlbiB0aGlzIGZ1bmN0aW9uIGlz IGNhbGxlZC4KKyAKKyAgICAgICAgIDpwYXJhbSByZWFzb246ICBPcHRpb25hbCByZWFzb24gd2h5 IGZlYXR1cmUgc2hvdWxkIGJlIHNraXBwZWQgKGFzIHN0cmluZykuCisgICAgICAgICA6cGFyYW0g cmVxdWlyZV9ub3RfZXhlY3V0ZWQ6IE9wdGlvbmFsLCByZXF1aXJlcyB0aGF0IGZlYXR1cmUgaXMg bm90CitAQCAtMzE0LDggKzMyMyw4IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0 YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBob29rX2FmdGVyX2VudGl0eSA9 ICJhZnRlcl97MH0iLmZvcm1hdChlbnRpdHlfbmFtZSkKKyAKKyAgICAgICAgIHJ1bm5lci5jb250 ZXh0Ll9wdXNoKGxheWVyX25hbWU9ZW50aXR5X25hbWUpICAgICAgIyBweWxpbnQ6IGRpc2FibGU9 cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAgcnVubmVyLmNvbnRleHQuZmVhdHVyZSA9IHNlbGYK KyAgICAgICAgIHJ1bm5lci5jb250ZXh0LnRhZ3MgPSBzZXQoc2VsZi50YWdzKQorKyAgICAgICAg c2VsZi5fc2V0dXBfY29udGV4dF9mb3JfcnVuKHJ1bm5lci5jb250ZXh0KQorIAorICAgICAgICAg c2tpcF9lbnRpdHlfdW50ZXN0ZWQgPSBydW5uZXIuYWJvcnRlZAorICAgICAgICAgc2hvdWxkX3J1 bl9lbnRpdHkgPSBzZWxmLnNob3VsZF9ydW4ocnVubmVyLmNvbmZpZykKK0BAIC00OTcsNiArNTA2 LDkgQEAgY2xhc3MgRmVhdHVyZShTY2VuYXJpb0NvbnRhaW5lcik6CisgICAgICAgICAgICAgKHNl bGYubmFtZSwgbGVuKHNlbGYucnVuX2l0ZW1zKSwKKyAgICAgICAgICAgICAgbGVuKHNlbGYucnVs ZXMpLCBsZW4oc2VsZi5zY2VuYXJpb3MpKQorIAorKyAgICBkZWYgX3NldHVwX2NvbnRleHRfZm9y X3J1bihzZWxmLCBjb250ZXh0KToKKysgICAgICAgIGNvbnRleHQuZmVhdHVyZSA9IHNlbGYKKysK KyAgICAgZGVmIGFkZF9ydWxlKHNlbGYsIHJ1bGUpOgorICAgICAgICAgIiIiQWRkIGEgcnVsZSB0 byB0aGlzIGZlYXR1cmUuIiIiCisgICAgICAgICBmZWF0dXJlID0gc2VsZgorQEAgLTYxOSw2ICs2 MzEsOSBAQCBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFpbmVyKToKKyAgICAgICAgIHNlbGYucGFy ZW50ID0gcGFyZW50CisgICAgICAgICBzZWxmLmZlYXR1cmUgPSBwYXJlbnQKKyAKKysgICAgZGVm IF9zZXR1cF9jb250ZXh0X2Zvcl9ydW4oc2VsZiwgY29udGV4dCk6CisrICAgICAgICBjb250ZXh0 LnJ1bGUgPSBzZWxmCisrCisgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVy biAnPFJ1bGUgIiVzIjogJWQgc2NlbmFyaW8ocyk+JyAlIFwKKyAgICAgICAgICAgICAoc2VsZi5u YW1lLCBsZW4oc2VsZi5zY2VuYXJpb3MpKQorQEAgLTY2NCw2ICs2NzksMTAgQEAgY2xhc3MgQmFj a2dyb3VuZChCYXNpY1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgCisgICAgIC4uIF9gYmFja2dy b3VuZGA6IGdoZXJraW4uaHRtbCNiYWNrZ3JvdW5kcworICAgICAiIiIKKysgICAgIyBUT0RPOiBC YWNrZ3JvdW5kIGluaGVyaXRhbmNlCisrICAgICMgUnVsZS5iYWNrZ3JvdW5kIHNob3VsZCBpbmhl cml0IGl0cyBGZWF0dXJlLmJhY2tncm91bmQgc3RlcHMgKGlmIGF2YWlsYWJsZSkKKysgICAgIyBS dWxlLmJhY2tncm91bmQgPSBGZWF0dXJlLmJhY2tncm91bmQgaWZmIG5vdCBSdWxlLmJhY2tncm91 bmQgZXhpc3RzIChBTFJFQURZLVNPTFZFRCkKKysgICAgIyBSdWxlIG1heSBvdmVycmlkZSBiYWNr Z3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbQorICAgICB0eXBlID0gImJhY2tncm91bmQiCisg CisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbGluZSwga2V5d29yZCwgbmFtZSwg c3RlcHM9Tm9uZSwgZGVzY3JpcHRpb249Tm9uZSk6CitAQCAtNzk2LDcgKzgxNSw3IEBAIGNsYXNz IFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgCisgICAgIEBw cm9wZXJ0eQorICAgICBkZWYgYmFja2dyb3VuZF9zdGVwcyhzZWxmKToKKy0gICAgICAgICIiIlBy b3ZpZGUgYmFja2dyb3VuZCBzdGVwcyBpZiBmZWF0dXJlIGhhcyBhIGJhY2tncm91bmQuCisrICAg ICAgICAiIiJQcm92aWRlIGJhY2tncm91bmQgc3RlcHMgaWYgZmVhdHVyZS9ydWxlIGhhcyBhIGJh Y2tncm91bmQuCisgICAgICAgICBMYXp5IGluaXQgdGhhdCBjb3BpZXMgdGhlIGJhY2tncm91bmQg c3RlcHMuCisgCisgICAgICAgICBOb3RlIHRoYXQgYSBjb3B5IG9mIHRoZSBiYWNrZ3JvdW5kIHN0 ZXBzIGlzIG5lZWRlZCB0byBlbnN1cmUKK2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyX3V0aWwu cHkgYi9iZWhhdmUvcnVubmVyX3V0aWwucHkKK2luZGV4IDIyMTBmNzguLjdlMDgwN2YgMTAwNjQ0 CistLS0gYS9iZWhhdmUvcnVubmVyX3V0aWwucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXJfdXRpbC5w eQorQEAgLTU4LDYgKzU4LDEwMCBAQCBjbGFzcyBGaWxlTG9jYXRpb25QYXJzZXIob2JqZWN0KToK KyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDTEFTU0VTOgorICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKytmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAorK2Zyb20gLm1vZGVs IGltcG9ydCBGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUsIFNjZW5hcmlvCisrCisrCisr Y2xhc3MgRmVhdHVyZUxpbmVEYXRhYmFzZShvYmplY3QpOgorKyAgICAiIiJIZWxwZXIgY2xhc3Mg dGhhdCBzdXBwb3J0cyBzZWxlY3QtYnktbG9jYXRpb24gbWVjaGFuaXNtIChGaWxlTG9jYXRpb24p CisrICAgIHdpdGhpbiBhIGZlYXR1cmUgZmlsZSBieSBzdG9yaW5nIHRoZSBmZWF0dXJlIGxpbmUg bnVtYmVycyBmb3IgZWFjaCBlbnRpdHkuCisrCisrICAgIFJFU1BPTlNJQklMSVRZKHMpOgorKwor KyAgICAqIENhbiB1c2UgdGhlIGxpbmUgbnVtYmVyIHRvIHNlbGVjdCB0aGUgYmVzdCBtYXRjaGlu ZyBlbnRpdHkocykgaW4gYSBmZWF0dXJlCisrICAgICogSW1wbGVtZW50cyB0aGUgc2VsZWN0LWJ5 LWxvY2F0aW9uIG1lY2hhbmlzbSBmb3IgZWFjaCBlbnRpdHkgaW4gdGhlIGZlYXR1cmUKKysgICAg IiIiCisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlbnRpdHk9Tm9uZSwgbGluZV9kYXRhPU5v bmUpOgorKyAgICAgICAgaWYgZW50aXR5IGFuZCBub3QgbGluZV9kYXRhOgorKyAgICAgICAgICAg IGxpbmVfZGF0YSA9IHNlbGYubWFrZV9saW5lX2RhdGFfZm9yKGVudGl0eSkKKysgICAgICAgIHNl bGYuZW50aXR5ID0gZW50aXR5CisrICAgICAgICBzZWxmLmRhdGEgPSBPcmRlcmVkRGljdChsaW5l X2RhdGEgb3IgW10pCisrICAgICAgICBzZWxmLl9saW5lX251bWJlcnMgPSBOb25lCisrICAgICAg ICBzZWxmLl9saW5lX2VudGl0aWVzID0gTm9uZQorKworKyAgICBkZWYgc2VsZWN0X3J1bl9pdGVt X2J5X2xpbmUoc2VsZiwgbGluZSk6CisrICAgICAgICAiIiJTZWxlY3Qgb25lIHJ1bi1pdGVtcyBi eSB1c2luZyB0aGUgbGluZSBudW1iZXIuCisrCisrICAgICAgICAqIEV4YWN0IG1hdGNoIHJldHVy bnMgcnVuLXRpbWUgZW50aXR5IChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUsIFNjZW5h cmlvKQorKyAgICAgICAgKiBBbnkgb3RoZXIgbGluZSBpbiBiZXR3ZWVuIHVzZXMgdGhlIHByZWRl Y2Vzc29yIGVudGl0eQorKworKyAgICAgICAgOnBhcmFtIGxpbmU6IExpbmUgbnVtYmVyIGluIEZl YXR1cmUgZmlsZSAoYXMgaW50KQorKyAgICAgICAgOnJldHVybjogU2VsZWN0ZWQgcnVuLWl0ZW0g b2JqZWN0LgorKyAgICAgICAgIiIiCisrICAgICAgICBydW5faXRlbSA9IHNlbGYuZGF0YS5nZXQo bGluZSwgTm9uZSkKKysgICAgICAgIGlmIHJ1bl9pdGVtIGlzIE5vbmU6CisrICAgICAgICAgICAg IyAtLSBDQVNFOiBCRVNULU1BVENIIGluIG9yZGVyZWQgbGluZSBkYXRhYmFzZQorKyAgICAgICAg ICAgIGlmIHNlbGYuX2xpbmVfbnVtYmVycyBpcyBOb25lOgorKyAgICAgICAgICAgICAgICBzZWxm Ll9saW5lX251bWJlcnMgPSBsaXN0KHNlbGYuZGF0YS5rZXlzKCkpCisrICAgICAgICAgICAgICAg IHNlbGYuX2xpbmVfZW50aXRpZXMgPSBsaXN0KHNlbGYuZGF0YS52YWx1ZXMoKSkKKysKKysgICAg ICAgICAgICBwb3MgPSBiaXNlY3Qoc2VsZi5fbGluZV9udW1iZXJzLCBsaW5lKSAtIDEKKysgICAg ICAgICAgICBpZiBwb3MgPCAwOgorKyAgICAgICAgICAgICAgICBwb3MgPSAwCisrICAgICAgICAg ICAgcnVuX2l0ZW0gPSBzZWxmLl9saW5lX2VudGl0aWVzW3Bvc10KKysgICAgICAgIHJldHVybiBy dW5faXRlbQorKworKyAgICBkZWYgc2VsZWN0X3NjZW5hcmlvc19ieV9saW5lKHNlbGYsIGxpbmUp OgorKyAgICAgICAgIiIiU2VsZWN0IG9uZSBvciBtb3JlIHNjZW5hcmlvcyBieSB1c2luZyB0aGUg bGluZSBudW1iZXIuCisrCisrICAgICAgICAqIGxpbmUgPSAwOiBTZWxlY3RzIGFsbCBzY2VuYXJp b3MgaW4gdGhlIEZlYXR1cmUgZmlsZQorKyAgICAgICAgKiBGZWF0dXJlIC8gUnVsZSAvIFNjZW5h cmlvT3V0bGluZS5sb2NhdGlvbi5saW5lIHNlbGVjdHMgaXRzIHNjZW5hcmlvcworKyAgICAgICAg KiBTY2VuYXJpby5sb2NhdGlvbi5saW5lIHNlbGVjdHMgdGhlIFNjZW5hcmlvCisrICAgICAgICAq IEFueSBvdGhlciBsaW5lcyB1c2UgdGhlIHByZWRlY2Vzc29yIGVudGl0eSAoYW5kIGl0cyBzY2Vu YXJpb3MpCisrCisrICAgICAgICA6cGFyYW0gbGluZTogTGluZSBudW1iZXIgaW4gRmVhdHVyZSBm aWxlIChhcyBpbnQpCisrICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIHNlbGVjdGVkIHNjZW5hcmlv cworKyAgICAgICAgIiIiCisrICAgICAgICBydW5faXRlbSA9IHNlbGYuc2VsZWN0X3J1bl9pdGVt X2J5X2xpbmUobGluZSkKKysgICAgICAgIHNjZW5hcmlvcyA9IFtdCisrICAgICAgICBpZiBpc2lu c3RhbmNlKHJ1bl9pdGVtLCBGZWF0dXJlKToKKysgICAgICAgICAgICBzY2VuYXJpb3MgPSBsaXN0 KHJ1bl9pdGVtLndhbGtfc2NlbmFyaW9zKCkpCisrICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVu X2l0ZW0sIFJ1bGUpOgorKyAgICAgICAgICAgIHNjZW5hcmlvcyA9IGxpc3QocnVuX2l0ZW0ud2Fs a19zY2VuYXJpb3MoKSkKKysgICAgICAgIGVsaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFy aW9PdXRsaW5lKToKKysgICAgICAgICAgICBzY2VuYXJpb3MgPSBsaXN0KHJ1bl9pdGVtLnNjZW5h cmlvcykKKysgICAgICAgIGVsaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW8pOgorKyAg ICAgICAgICAgIHNjZW5hcmlvcyA9IFtydW5faXRlbV0KKysgICAgICAgIHJldHVybiBzY2VuYXJp b3MKKysKKysgICAgQGNsYXNzbWV0aG9kCisrICAgIGRlZiBtYWtlX2xpbmVfZGF0YV9mb3IoY2xz LCBlbnRpdHkpOgorKyAgICAgICAgbGluZV9kYXRhID0gW10KKysgICAgICAgIHJ1bl9pdGVtcyA9 IFtdCisrICAgICAgICBpZiBpc2luc3RhbmNlKGVudGl0eSwgRmVhdHVyZSk6CisrICAgICAgICAg ICAgbGluZV9kYXRhLmFwcGVuZCgoMCwgZW50aXR5KSkKKysgICAgICAgICAgICBydW5faXRlbXMg PSBlbnRpdHkucnVuX2l0ZW1zCisrICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZW50aXR5LCBSdWxl KToKKysgICAgICAgICAgICBydW5faXRlbXMgPSBlbnRpdHkucnVuX2l0ZW1zCisrICAgICAgICBl bGlmIGlzaW5zdGFuY2UoZW50aXR5LCBTY2VuYXJpb091dGxpbmUpOgorKyAgICAgICAgICAgIHJ1 bl9pdGVtcyA9IGVudGl0eS5zY2VuYXJpb3MKKysKKysgICAgICAgIGxpbmVfZGF0YS5hcHBlbmQo KGVudGl0eS5sb2NhdGlvbi5saW5lLCBlbnRpdHkpKQorKyAgICAgICAgZm9yIHJ1bl9pdGVtIGlu IHJ1bl9pdGVtczoKKysgICAgICAgICAgICBsaW5lX2RhdGEuZXh0ZW5kKGNscy5tYWtlX2xpbmVf ZGF0YV9mb3IocnVuX2l0ZW0pKQorKyAgICAgICAgIyAtLSBNQVlCRToKKysgICAgICAgICMgaWYg aXNpbnN0YW5jZShlbnRpdHksIFNjZW5hcmlvT3V0bGluZSkgYW5kIHJ1bl9pdGVtczoKKysgICAg ICAgICMgICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBMaW5lcyBhZnRlciBsYXN0IEV4YW1wbGVzIHJv dyA9PiBVc2UgU2NlbmFyaW9PdXRsaW5lCisrICAgICAgICAjICAgICBsaW5lX2RhdGEuYXBwZW5k KChydW5faXRlbXNbLTFdLmxvY2F0aW9uLmxpbmUgKyAxLCBlbnRpdHkpKQorKyAgICAgICAgcmV0 dXJuIHNvcnRlZChsaW5lX2RhdGEpCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFr ZShjbHMsIGVudGl0eSk6CisrICAgICAgICByZXR1cm4gY2xzKGVudGl0eSwgY2xzLm1ha2VfbGlu ZV9kYXRhX2ZvcihlbnRpdHkpKQorKworKworKworIGNsYXNzIEZlYXR1cmVTY2VuYXJpb0xvY2F0 aW9uQ29sbGVjdG9yKG9iamVjdCk6CisgICAgICIiIgorICAgICBDb2xsZWN0cyBGaWxlTG9jYXRp b24gb2JqZWN0cyBmb3IgYSBmZWF0dXJlLgorQEAgLTIwMCw2ICsyOTQsOTQgQEAgY2xhc3MgRmVh dHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0b3Iob2JqZWN0KToKKyAgICAgICAgIHJldHVybiBz ZWxmLmZlYXR1cmUKKyAKKyAKKytjbGFzcyBGZWF0dXJlU2NlbmFyaW9Mb2NhdGlvbkNvbGxlY3Rv cjEoRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0b3IpOgorKworKyAgICBAc3RhdGljbWV0 aG9kCisrICAgIGRlZiBzZWxlY3Rfc2NlbmFyaW9fbGluZV9mb3IobGluZSwgc2NlbmFyaW9fbGlu ZXMpOgorKyAgICAgICAgIiIiCisrICAgICAgICBTZWxlY3Qgc2NlbmFyaW8gbGluZSBmb3IgYW55 IGdpdmVuIGxpbmUuCisrCisrICAgICAgICBBTEdPUklUSE06IHNjZW5hcmlvLmxpbmUgPD0gbGlu ZSA8IG5leHRfc2NlbmFyaW8ubGluZQorKworKyAgICAgICAgOnBhcmFtIGxpbmU6ICBBIGxpbmUg bnVtYmVyIGluIHRoZSBmaWxlIChhcyBudW1iZXIpLgorKyAgICAgICAgOnBhcmFtIHNjZW5hcmlv X2xpbmVzOiBTb3J0ZWQgbGlzdCBvZiBzY2VuYXJpbyBsaW5lcy4KKysgICAgICAgIDpyZXR1cm46 IFNjZW5hcmlvLmxpbmUgKGZpcnN0IGxpbmUpIGZvciB0aGUgZ2l2ZW4gbGluZS4KKysgICAgICAg ICIiIgorKyAgICAgICAgaWYgbm90IHNjZW5hcmlvX2xpbmVzOgorKyAgICAgICAgICAgIHJldHVy biAwICAgICMgLS0gU2VsZWN0IGFsbCBzY2VuYXJpb3MuCisrICAgICAgICBwb3MgPSBiaXNlY3Qo c2NlbmFyaW9fbGluZXMsIGxpbmUpIC0gMQorKyAgICAgICAgaWYgcG9zIDwgMDoKKysgICAgICAg ICAgICBwb3MgPSAwCisrICAgICAgICByZXR1cm4gc2NlbmFyaW9fbGluZXNbcG9zXQorKworKyAg ICBkZWYgZGlzY292ZXJfc2VsZWN0ZWRfc2NlbmFyaW9zKHNlbGYsIHN0cmljdD1GYWxzZSk6Cisr ICAgICAgICAiIiIKKysgICAgICAgIERpc2NvdmVycyBzZWxlY3RlZCBzY2VuYXJpb3MgYmFzZWQg b24gdGhlIHByb3ZpZGVkIGZpbGUgbG9jYXRpb25zLgorKyAgICAgICAgSW4gYWRkaXRpb246Cisr ICAgICAgICAgICogZGlzY292ZXIgYWxsIHNjZW5hcmlvcworKyAgICAgICAgICAqIGF1dG8tY29y cmVjdCBCQUQgTElORS1OVU1CRVJTCisrCisrICAgICAgICA6cGFyYW0gc3RyaWN0OiAgSWYgdHJ1 ZSwgcmFpc2VzIGV4Y2VwdGlvbiBpZiBmaWxlIGxvY2F0aW9uIGlzIGludmFsaWQuCisrICAgICAg ICA6cmV0dXJuOiBMaXN0IG9mIHNlbGVjdGVkIHNjZW5hcmlvcyBvZiB0aGlzIGZlYXR1cmUgKGFz IHNldCkuCisrICAgICAgICA6cmFpc2VzIEludmFsaWRGaWxlTG9jYXRpb25FcnJvcjoKKysgICAg ICAgICAgICBJZiBmaWxlIGxvY2F0aW9uIGlzIG5vIGV4YWN0bHkgY29ycmVjdCBhbmQgc3RyaWN0 IGlzIHRydWUuCisrICAgICAgICAiIiIKKysgICAgICAgIGFzc2VydCBzZWxmLmZlYXR1cmUKKysg ICAgICAgIGlmIG5vdCBzZWxmLmFsbF9zY2VuYXJpb3M6CisrICAgICAgICAgICAgc2VsZi5hbGxf c2NlbmFyaW9zID0gc2VsZi5mZWF0dXJlLndhbGtfc2NlbmFyaW9zKCkKKysKKysgICAgICAgICMg LS0gU1RFUDogQ2hlY2sgaWYgbGluZXMgYXJlIGNvcnJlY3QuCisrICAgICAgICBleGlzdGluZ19s aW5lcyA9IFtzY2VuYXJpby5saW5lIGZvciBzY2VuYXJpbyBpbiBzZWxmLmFsbF9zY2VuYXJpb3Nd CisrICAgICAgICBzZWxlY3RlZF9saW5lcyA9IGxpc3Qoc2VsZi5zY2VuYXJpb19saW5lcykKKysg ICAgICAgIGZvciBsaW5lIGluIHNlbGVjdGVkX2xpbmVzOgorKyAgICAgICAgICAgIG5ld19saW5l ID0gc2VsZi5zZWxlY3Rfc2NlbmFyaW9fbGluZV9mb3IobGluZSwgZXhpc3RpbmdfbGluZXMpCisr ICAgICAgICAgICAgaWYgbmV3X2xpbmUgIT0gbGluZToKKysgICAgICAgICAgICAgICAgIyAtLSBB VVRPLUNPUlJFQ1QgQkFELUxJTkU6CisrICAgICAgICAgICAgICAgIHNlbGYuc2NlbmFyaW9fbGlu ZXMucmVtb3ZlKGxpbmUpCisrICAgICAgICAgICAgICAgIHNlbGYuc2NlbmFyaW9fbGluZXMuYWRk KG5ld19saW5lKQorKyAgICAgICAgICAgICAgICBpZiBzdHJpY3Q6CisrICAgICAgICAgICAgICAg ICAgICBtc2cgPSAiU2NlbmFyaW8gbG9jYXRpb24gJy4uLjolZCcgc2hvdWxkIGJlOiAnJXM6JWQn IiAlIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIChsaW5lLCBzZWxmLmZpbGVuYW1lLCBu ZXdfbGluZSkKKysgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludmFsaWRGaWxlTG9jYXRpb25F cnJvcihtc2cpCisrCisrICAgICAgICAjIC0tIFNURVA6IERldGVybWluZSBzZWxlY3RlZCBzY2Vu YXJpb3MgYW5kIHN0b3JlIHRoZW0uCisrICAgICAgICBzY2VuYXJpb19saW5lcyA9IHNldChzZWxm LnNjZW5hcmlvX2xpbmVzKQorKyAgICAgICAgc2VsZWN0ZWRfc2NlbmFyaW9zID0gc2V0KCkKKysg ICAgICAgIGZvciBzY2VuYXJpbyBpbiBzZWxmLmFsbF9zY2VuYXJpb3M6CisrICAgICAgICAgICAg aWYgc2NlbmFyaW8ubGluZSBpbiBzY2VuYXJpb19saW5lczoKKysgICAgICAgICAgICAgICAgc2Vs ZWN0ZWRfc2NlbmFyaW9zLmFkZChzY2VuYXJpbykKKysgICAgICAgICAgICAgICAgc2NlbmFyaW9f bGluZXMucmVtb3ZlKHNjZW5hcmlvLmxpbmUpCisrICAgICAgICAjIC0tIENIRUNLIEFMTCBBUkUg UkVTT0xWRUQ6CisrICAgICAgICBhc3NlcnQgbm90IHNjZW5hcmlvX2xpbmVzCisrICAgICAgICBy ZXR1cm4gc2VsZWN0ZWRfc2NlbmFyaW9zCisrCisrCisrY2xhc3MgRmVhdHVyZVNjZW5hcmlvTG9j YXRpb25Db2xsZWN0b3IyKEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVjdG9yKToKKysKKysg ICAgZGVmIGRpc2NvdmVyX3NlbGVjdGVkX3NjZW5hcmlvcyhzZWxmLCBzdHJpY3Q9RmFsc2UpOgor KyAgICAgICAgIiIiRGlzY292ZXJzIHNlbGVjdGVkIHNjZW5hcmlvcyBiYXNlZCBvbiB0aGUgcHJv dmlkZWQgZmlsZSBsb2NhdGlvbnMuCisrICAgICAgICBJbiBhZGRpdGlvbjoKKysgICAgICAgICAg KiBkaXNjb3ZlciBhbGwgc2NlbmFyaW9zCisrICAgICAgICAgICogYXV0by1jb3JyZWN0IEJBRCBM SU5FLU5VTUJFUlMKKysKKysgICAgICAgIDpwYXJhbSBzdHJpY3Q6ICBJZiB0cnVlLCByYWlzZXMg ZXhjZXB0aW9uIGlmIGZpbGUgbG9jYXRpb24gaXMgaW52YWxpZC4KKysgICAgICAgIDpyZXR1cm46 IExpc3Qgb2Ygc2VsZWN0ZWQgc2NlbmFyaW9zIG9mIHRoaXMgZmVhdHVyZSAoYXMgc2V0KS4KKysg ICAgICAgIDpyYWlzZXMgSW52YWxpZEZpbGVMb2NhdGlvbkVycm9yOgorKyAgICAgICAgICAgIElm IGZpbGUgbG9jYXRpb24gaXMgbm8gZXhhY3RseSBjb3JyZWN0IGFuZCBzdHJpY3QgaXMgdHJ1ZS4K KysgICAgICAgICIiIgorKyAgICAgICAgYXNzZXJ0IHNlbGYuZmVhdHVyZQorKyAgICAgICAgaWYg bm90IHNlbGYuYWxsX3NjZW5hcmlvczoKKysgICAgICAgICAgICBzZWxmLmFsbF9zY2VuYXJpb3Mg PSBzZWxmLmZlYXR1cmUud2Fsa19zY2VuYXJpb3MoKQorKworKyAgICAgICAgbGluZV9kYXRhYmFz ZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShzZWxmLmZlYXR1cmUpCisrICAgICAgICBzZWxl Y3RlZF9saW5lcyA9IGxpc3Qoc2VsZi5zY2VuYXJpb19saW5lcykKKysgICAgICAgIHNlbGVjdGVk X3NjZW5hcmlvcyA9IHNldCgpCisrICAgICAgICBmb3IgbGluZSBpbiBzZWxlY3RlZF9saW5lczoK KysgICAgICAgICAgICBtb3JlX3NjZW5hcmlvcyA9IGxpbmVfZGF0YWJhc2Uuc2VsZWN0X3NjZW5h cmlvc19ieV9saW5lKGxpbmUpCisrICAgICAgICAgICAgc2VsZWN0ZWRfc2NlbmFyaW9zLnVwZGF0 ZShtb3JlX3NjZW5hcmlvcykKKysgICAgICAgIHJldHVybiBzZWxlY3RlZF9zY2VuYXJpb3MKKysK KysKKyBjbGFzcyBGZWF0dXJlTGlzdFBhcnNlcihvYmplY3QpOgorICAgICAiIiIKKyAgICAgUmVh ZCB0ZXh0dWFsIGZpbGUsIGFsYSAnQGZlYXR1cmVzLnR4dCcuIFRoaXMgZmlsZSBjb250YWluczoK K0BAIC0zMDQsNyArNDg2LDcgQEAgZGVmIHBhcnNlX2ZlYXR1cmVzKGZlYXR1cmVfZmlsZXMsIGxh bmd1YWdlPU5vbmUpOgorICAgICA6cGFyYW0gbGFuZ3VhZ2U6ICAgICAgRGVmYXVsdCBsYW5ndWFn ZSB0byB1c2UuCisgICAgIDpyZXR1cm46IExpc3Qgb2YgZmVhdHVyZSBvYmplY3RzLgorICAgICAi IiIKKy0gICAgc2NlbmFyaW9fY29sbGVjdG9yID0gRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xs ZWN0b3IoKQorKyAgICBzY2VuYXJpb19jb2xsZWN0b3IgPSBGZWF0dXJlU2NlbmFyaW9Mb2NhdGlv bkNvbGxlY3RvcjIoKQorICAgICBmZWF0dXJlcyA9IFtdCisgICAgIGZvciBsb2NhdGlvbiBpbiBm ZWF0dXJlX2ZpbGVzOgorICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobG9jYXRpb24sIEZpbGVM b2NhdGlvbik6CitAQCAtMzE1LDcgKzQ5Nyw3IEBAIGRlZiBwYXJzZV9mZWF0dXJlcyhmZWF0dXJl X2ZpbGVzLCBsYW5ndWFnZT1Ob25lKToKKyAgICAgICAgICAgICBzY2VuYXJpb19jb2xsZWN0b3Iu YWRkX2xvY2F0aW9uKGxvY2F0aW9uKQorICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICBl bGlmIHNjZW5hcmlvX2NvbGxlY3Rvci5mZWF0dXJlOgorLSAgICAgICAgICAgICMgLS0gQUREIENV UlJFTlQgRkVBVFVSRTogQXMgY29sbGVjdGlvbiBvZiBzY2VuYXJpb3MuCisrICAgICAgICAgICAg IyAtLSBORVcgRkVBVFVSRSBERVRFQ1RFRDogQWRkIGN1cnJlbnQgZmVhdHVyZS4KKyAgICAgICAg ICAgICBjdXJyZW50X2ZlYXR1cmUgPSBzY2VuYXJpb19jb2xsZWN0b3IuYnVpbGRfZmVhdHVyZSgp CisgICAgICAgICAgICAgZmVhdHVyZXMuYXBwZW5kKGN1cnJlbnRfZmVhdHVyZSkKKyAgICAgICAg ICAgICBzY2VuYXJpb19jb2xsZWN0b3IuY2xlYXIoKQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3J1 bm5lci5zZWxlY3Rfc2NlbmFyaW9zX2J5X2ZpbGVfbG9jYXRpb24uZmVhdHVyZSBiL2ZlYXR1cmVz L3J1bm5lci5zZWxlY3Rfc2NlbmFyaW9zX2J5X2ZpbGVfbG9jYXRpb24uZmVhdHVyZQoraW5kZXgg ZjYwYzQzZi4uNjllMjNmZSAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL3J1bm5lci5zZWxlY3Rfc2Nl bmFyaW9zX2J5X2ZpbGVfbG9jYXRpb24uZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvcnVubmVyLnNl bGVjdF9zY2VuYXJpb3NfYnlfZmlsZV9sb2NhdGlvbi5mZWF0dXJlCitAQCAtMTMsMTUgKzEzLDI4 IEBAIEZlYXR1cmU6IFNlbGVjdCBTY2VuYXJpb3MgYnkgRmlsZSBMb2NhdGlvbgorICAgICAuICAg KiBBIGZpbGUgbG9jYXRpb24gd2l0aCBmaWxlbmFtZSBidXQgd2l0aG91dCBsaW5lIG51bWJlcgor ICAgICAuICAgICByZWZlcnMgdG8gdGhlIGNvbXBsZXRlIGZpbGUKKyAgICAgLiAgICogQSBmaWxl IGxvY2F0aW9uIHdpdGggbGluZSBudW1iZXIgMCAoemVybykgcmVmZXJzIHRvIHRoZSBjb21wbGV0 ZSBmaWxlCisrICAgIC4gICAqIEEgZmlsZSBsb2NhdGlvbiB3aXRoaW4gYSBzY2VuYXJpbyBjb250 YWluZXIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSksCisrICAgIC4gICAgIHRoYXQg ZG9lcyBub3QgcmVmZXIgdG8gdGhlIGZpbGUgbG9jYXRpb24gd2l0aGluIGEgc2NlbmFyaW8sCisr ICAgIC4gICAgIHNlbGVjdHMgYWxsIHNjZW5hcmlvcyBvZiB0aGlzIHNjZW5hcmlvIGNvbnRhaW5l ci4KKyAgICAgLgorICAgICAuIFNQRUNJRklDQVRJT046IFNjZW5hcmlvIHNlbGVjdGlvbiBieSBm aWxlIGxvY2F0aW9ucworICAgICAuICAgKiBzY2VuYXJpby5saW5lID09IGZpbGVfbG9jYXRpb24u bGluZSBzZWxlY3RzIHNjZW5hcmlvIChwcmVmZXJyZWQgbWV0aG9kKS4KKyAgICAgLiAgICogQW55 IGxpbmUgbnVtYmVyIGluIHRoZSBmb2xsb3dpbmcgcmFuZ2UgaXMgYWNjZXB0YWJsZToKKy0gICAg LiAgICAgICAgc2NlbmFyaW8ubGluZSA8PSBmaWxlX2xvY2F0aW9uLmxpbmUgPCBuZXh0X3NjZW5h cmlvLmxpbmUKKy0gICAgLiAgICogVGhlIGZpcnN0IHNjZW5hcmlvIGlzIHNlbGVjdGVkLAorLSAg ICAuICAgICBpZiB0aGUgZmlsZSBsb2NhdGlvbiBsaW5lIG51bWJlciBpcyBsZXNzIHRoYW4gZmly c3Qgc2NlbmFyaW8ubGluZS4KKysgICAgLiAgICAgICAgc2NlbmFyaW8ubGluZSA8PSBmaWxlX2xv Y2F0aW9uLmxpbmUgPCBuZXh0X2VudGl0eS5saW5lIChtYXliZTogc2NlbmFyaW8pCisrICAgIC4g ICAqIElmIHRoZSBmaWxlIGxvY2F0aW9uIGxpbmUgbnVtYmVyIGlzIGxlc3MgdGhhbiBmaXJzdCBz Y2VuYXJpby5saW5lLAorKyAgICAuICAgICB0aGUgcHJlY2VlZGluZyBzY2VuYXJpbyBjb250YWlu ZXIgKEZlYXR1cmUgb3IgUnVsZSkgaXMgc2VsZWN0ZWQuCisgICAgIC4gICAqIFRoZSBsYXN0IHNj ZW5hcmlvIGlzIHNlbGVjdGVkLAorICAgICAuICAgICBpZiB0aGUgZmlsZSBsb2NhdGlvbiBsaW5l IG51bWJlciBpcyBncmVhdGVyIHRoYW4gdGhlIGxpbmVzIGluIHRoZSBmaWxlLgorKyAgICAuICAg KiBGb3IgU2NlbmFyaW9PdXRsaW5lLnNjZW5hcmlvczoKKysgICAgLiAgICAgICAgIHNjZW5hcmlv LmxpbmUgPT0gU2NlbmFyaW9PdXRsaW5lLmV4YW1wbGVzW3hdLnJvdy5saW5lCisrICAgIC4gICAg IFRoZSBsaW5lIG51bWJlciBvZiB0aGUgRXhhbXBsZXMgcm93IHRoYXQgY3JlYXRlZCB0aGUgc2Nl bmFyaW8gaXMgYXNzaWduZWQgdG8gaXQuCisrICAgIC4KKysgICAgLiBTUEVDSUZJQ0FUSU9OOiAi U2NlbmFyaW8gY29udGFpbmVyIiBzZWxlY3Rpb24gYnkgZmlsZSBsb2NhdGlvbnMKKysgICAgLiAg ICogU2NlbmFyaW8gY29udGFpbmVycyBhcmU6IEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGlu ZQorKyAgICAuICAgKiBBIGZpbGUgbG9jYXRpb24gdGhhdCBwb2ludHMgaW50byB0aGUgbWF0Y2hp bmcgcmFuZ2Ugb2YgYSBzY2VuYXJpbyBjb250YWluZXIsCisrICAgIC4gICAgIHNlbGVjdHMgYWxs IHNjZW5hcmlvcyAvIHJ1bi1pdGVtcyB3aXRoaW4gdGhpcyBzY2VuYXJpbyBjb250YWluZXIuCisr ICAgIC4gICAqIEFueSBsaW5lIG51bWJlciBpbiB0aGUgZm9sbG93aW5nIHJhbmdlIHNlbGVjdHMg dGhlIHNjZW5hcmlvIGNvbnRhaW5lcjoKKysgICAgLiAgICAgICAgZW50aXR5LmxpbmUgPD0gZmls ZV9sb2NhdGlvbi5saW5lIDwgbmV4dF9lbnRpdHkubGluZSAobWF5YmU6IGNoaWxkKQorICAgICAu CisgICAgIC4gU1BFQ0lGSUNBVElPTjogUnVubmVyIHdpdGggc2NlbmFyaW8gbG9jYXRpb25zIChm aWxlIGxvY2F0aW9ucykKKyAgICAgLiAgICogQWRqYWNlbnQgZmlsZSBsb2NhdGlvbnMgYXJlIG1l cmdlZCBpZiB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIGZpbGUsIGxpa2U6CitAQCAtMTYyLDIyICsx NzUsMjQgQEAgRmVhdHVyZTogU2VsZWN0IFNjZW5hcmlvcyBieSBGaWxlIExvY2F0aW9uCisgICAg ICAgICAgICAgIiIiCisgCisgICAgIEBmaWxlX2xvY2F0aW9uLnNlbGVjdF9maXJzdAorLSAgICBT Y2VuYXJpbzogU2VsZWN0IGZpcnN0IHNjZW5hcmlvIGlmIGxpbmUgbnVtYmVyIGlzIHNtYWxsZXIg dGhhbiBmaXJzdCBzY2VuYXJpbyBsaW5lCisrICAgIFNjZW5hcmlvOiBTZWxlY3QgYWxsIHNjZW5h cmlvcyBpZiBsaW5lIG51bWJlciBpcyBzbWFsbGVyIHRoYW4gZmlyc3Qgc2NlbmFyaW8gbGluZQor IAorICAgICAgIENBU0U6IDAgPCBmaWxlX2xvY2F0aW9uLmxpbmUgPCBmaXJzdF9zY2VuYXJpby5s aW5lCisrICAgICAgSElOVDogQW55IGxpbmUgbnVtYmVyIG91dHNpZGUgb2YgYSBzY2VuYXJpbyBt YXkgcG9pbnQgaW50byBhICJzY2VuYXJpbyBjb250YWluZXIiLgorKyAgICAgICAgICAgIEluIHRo aXMgY2FzZSwgYWxsIHRoZSBzY2VuYXJpb3Mgb2YgdGhlIHNjZW5hcmlvIGNvbnRhaW5lciBhcmUg c2VsZWN0ZWQuCisgCisgICAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1kcnkt cnVuIC0tbm8tc2tpcHBlZCBmZWF0dXJlcy9hbGljZS5mZWF0dXJlOjEiCisgICAgICAgICBUaGVu IGl0IHNob3VsZCBwYXNzIHdpdGg6CisgICAgICAgICAgICAgIiIiCisgICAgICAgICAgICAgMCBm ZWF0dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDEgdW50ZXN0ZWQKKy0gICAgICAg ICAgICAwIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFpbGVkLCAxIHNraXBwZWQsIDEgdW50ZXN0ZWQK KysgICAgICAgICAgICAwIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDIg dW50ZXN0ZWQKKyAgICAgICAgICAgICAiIiIKKyAgICAgICAgIEFuZCB0aGUgY29tbWFuZCBvdXRw dXQgc2hvdWxkIGNvbnRhaW46CisgICAgICAgICAgICAgIiIiCisgICAgICAgICAgICAgRmVhdHVy ZTogQWxpY2UKKyAgICAgICAgICAgICAgIFNjZW5hcmlvOiBBbGljZSBGaXJzdAorICAgICAgICAg ICAgICIiIgorLSAgICAgICAgQnV0IHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgbm90IGNvbnRh aW46CisrICAgICAgICBCdXQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorICAg ICAgICAgICAgICIiIgorICAgICAgICAgICAgIFNjZW5hcmlvOiBBbGljZSBMYXN0CisgICAgICAg ICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvcHl0ZXN0LmluaSBiL3B5dGVzdC5pbmkKK2luZGV4IGE2 ODY1OTYuLmZmMmE4YTIgMTAwNjQ0CistLS0gYS9weXRlc3QuaW5pCisrKysgYi9weXRlc3QuaW5p CitAQCAtMTYsNyArMTYsNyBAQAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIFtweXRlc3Rd CistbWludmVyc2lvbiAgICA9IDQuMgorK21pbnZlcnNpb24gICAgPSAyLjgKKyB0ZXN0cGF0aHMg ICAgID0gdGVzdHMKKyBweXRob25fZmlsZXMgID0gdGVzdF8qLnB5CisgYWRkb3B0cyA9IC0tbWV0 YWRhdGEgUEFDS0FHRV9VTkRFUl9URVNUIGJlaGF2ZQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQv dGVzdF9ydW5uZXJfdXRpbC5weSBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXJfdXRpbC5weQorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmI1MDE5YjgKKy0tLSAvZGV2L251bGwK KysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXJfdXRpbC5weQorQEAgLTAsMCArMSwxNzUgQEAK KysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJz b2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9y ZGVyZWREaWN0CisrZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IEZlYXR1cmVMaW5lRGF0 YWJhc2UKKytmcm9tIGJlaGF2ZS5wYXJzZXIgaW1wb3J0IHBhcnNlX2ZlYXR1cmUKKytmcm9tIGJl aGF2ZS5tb2RlbCBpbXBvcnQgRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lLCBTY2VuYXJp bywgQmFja2dyb3VuZAorK2ltcG9ydCBweXRlc3QKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgVEVTVCBEQVRBOiBGZWF0dXJlTGluZURhdGFiYXNlCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytmZWF0dXJlX3RleHQxID0gdSIiIgorKyAgICBG ZWF0dXJlOiBBbGljZQorKyAgICAgICAgQmFja2dyb3VuZDogQWxpY2UuQmFja2dyb3VuZAorKyAg ICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMKKysgICAgICAgICAgCisrICAg ICAgICBTY2VuYXJpbzogQTEKKysgICAgICAgICAgR2l2ZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3Nl cworKworKyAgICAgICAgU2NlbmFyaW86IEEyCisrICAgICAgICAgIEdpdmVuIGEgc2NlbmFyaW8g c3RlcCBwYXNzZXMKKysgICAgICAgICAgV2hlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAg ICIiIgorKworK2ZlYXR1cmVfdGV4dF93aXRoX3NjZW5hcmlvX291dGxpbmUgPSB1IiIiCisrICAg IEZlYXR1cmU6IEJvYgorKyAgICAKKysgICAgICAgIFNjZW5hcmlvIE91dGxpbmU6IEJvYi5TT18y Xzxyb3cuaWQ+CisrICAgICAgICAgIEdpdmVuIGEgcGVyc29uIHdpdGggbmFtZSAiPE5hbWU+Igor KyAgICAgICAgICBUaGVuIHRoZSBwZXJzb24gaXMgYm9ybiBpbiA8QmlydGh5ZWFyPgorKyAgICAg ICAgCisrICAgICAgICAgIEV4YW1wbGVzOgorKyAgICAgICAgICAgIHwgTmFtZSAgfCBCaXJ0aHll YXIgfAorKyAgICAgICAgICAgIHwgQWxpY2UgfCAgMTk5MCAgICAgfAorKyAgICAgICAgICAgIHwg Qm9iICAgfCAgMTk5MSAgICAgfAorKyAgICAgICAgICAgIAorKyAgICAgICAgU2NlbmFyaW86IEJv Yi5TMworKyAgICAgICAgICBHaXZlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAgICAgICAg IFdoZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3NlcworKyAgICAiIiIKKysKKytmZWF0dXJlX3RleHRf d2l0aF9ydWxlID0gdSIiIgorKyAgICBGZWF0dXJlOiBDaGFybHkKKysgICAgICAgIEJhY2tncm91 bmQ6IENoYXJseS5CYWNrZ3JvdW5kCisrICAgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVw IHBhc3NlcworKworKyAgICAgICAgU2NlbmFyaW86IEMxCisrICAgICAgICAgIEdpdmVuIGEgc2Nl bmFyaW8gc3RlcCBwYXNzZXMKKysKKysgICAgICAgIFJ1bGU6IENoYXJseS5SdWxlXzEKKysKKysg ICAgICAgICAgU2NlbmFyaW86IFJ1bGVfMS5DMgorKyAgICAgICAgICAgIEdpdmVuIGEgc2NlbmFy aW8gc3RlcCBwYXNzZXMKKysgICAgICAgICAgICBXaGVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMK KysgICAgIiIiCisrCisrZmVhdHVyZV9maWxlX21hcCA9IHsKKysgICAgImJhc2ljLmZlYXR1cmUi OiBmZWF0dXJlX3RleHQxLAorKyAgICAic2NlbmFyaW9fb3V0bGluZS5mZWF0dXJlIjogZmVhdHVy ZV90ZXh0X3dpdGhfc2NlbmFyaW9fb3V0bGluZSwKKysgICAgInJ1bGUuZmVhdHVyZSI6IGZlYXR1 cmVfdGV4dF93aXRoX3J1bGUsCisrfQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrIyBURVNUIFNVSVRFIEZPUjogRmVhdHVyZUxpbmVEYXRhYmFzZQorKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xhc3MgVGVzdEZlYXR1cmVMaW5lRGF0YWJhc2Uob2Jq ZWN0KToKKysgICAgZGVmIHRlc3RfbWFrZShzZWxmKToKKysgICAgICAgIGZlYXR1cmUgPSBwYXJz ZV9mZWF0dXJlKGZlYXR1cmVfdGV4dDEuc3RyaXAoKSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZpbGVuYW1lPSJmZWF0dXJlcy9BbGljZS5mZWF0dXJlIikKKysgICAgICAgIHNj ZW5hcmlvXzAgPSBmZWF0dXJlLnNjZW5hcmlvc1swXQorKyAgICAgICAgc2NlbmFyaW9fMSA9IGZl YXR1cmUuc2NlbmFyaW9zWzFdCisrCisrICAgICAgICBsaW5lX2RhdGFiYXNlID0gRmVhdHVyZUxp bmVEYXRhYmFzZS5tYWtlKGZlYXR1cmUpCisrICAgICAgICBleHBlY3RlZCA9IE9yZGVyZWREaWN0 KFsKKysgICAgICAgICAgICAoMCwgZmVhdHVyZSksCisrICAgICAgICAgICAgKGZlYXR1cmUubG9j YXRpb24ubGluZSwgZmVhdHVyZSksCisrICAgICAgICAgICAgKHNjZW5hcmlvXzAubGluZSwgc2Nl bmFyaW9fMCksCisrICAgICAgICAgICAgKHNjZW5hcmlvXzEubGluZSwgc2NlbmFyaW9fMSksCisr ICAgICAgICBdKQorKyAgICAgICAgYXNzZXJ0IGxpbmVfZGF0YWJhc2UuZGF0YSA9PSBleHBlY3Rl ZAorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubG9jYXRpb24ubGluZSA9PSAxCisrCisrICAgIGRl ZiB0ZXN0X21ha2VfX3dpdGhfc2NlbmFyaW9fb3V0bGluZShzZWxmKToKKysgICAgICAgIGZlYXR1 cmUgPSBwYXJzZV9mZWF0dXJlKGZlYXR1cmVfdGV4dF93aXRoX3NjZW5hcmlvX291dGxpbmUuc3Ry aXAoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lPSJmZWF0dXJl cy9Cb2IuZmVhdHVyZSIpCisrICAgICAgICBzY2VuYXJpb3MgPSBmZWF0dXJlLndhbGtfc2NlbmFy aW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSkKKysgICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBzY2Vu YXJpb3NbMF0KKysgICAgICAgIGFzc2VydCBzY2VuYXJpb19vdXRsaW5lIGlzIGZlYXR1cmUucnVu X2l0ZW1zWzBdCisrICAgICAgICBzY2VuYXJpb18xID0gc2NlbmFyaW9zWzFdCisrICAgICAgICBz Y2VuYXJpb18yID0gc2NlbmFyaW9zWzJdCisrICAgICAgICBzY2VuYXJpb18zID0gc2NlbmFyaW9z WzNdCisrCisrICAgICAgICBsaW5lX2RhdGFiYXNlID0gRmVhdHVyZUxpbmVEYXRhYmFzZS5tYWtl KGZlYXR1cmUpCisrICAgICAgICBleHBlY3RlZCA9IE9yZGVyZWREaWN0KFsKKysgICAgICAgICAg ICAoMCwgZmVhdHVyZSksCisrICAgICAgICAgICAgKGZlYXR1cmUubG9jYXRpb24ubGluZSwgZmVh dHVyZSksCisrICAgICAgICAgICAgKHNjZW5hcmlvX291dGxpbmUubGluZSwgc2NlbmFyaW9fb3V0 bGluZSksCisrICAgICAgICAgICAgKHNjZW5hcmlvXzEubGluZSwgc2NlbmFyaW9fMSksCisrICAg ICAgICAgICAgKHNjZW5hcmlvXzIubGluZSwgc2NlbmFyaW9fMiksCisrICAgICAgICAgICAgKHNj ZW5hcmlvXzMubGluZSwgc2NlbmFyaW9fMyksCisrICAgICAgICBdKQorKyAgICAgICAgYXNzZXJ0 IGxpbmVfZGF0YWJhc2UuZGF0YSA9PSBleHBlY3RlZAorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUu bG9jYXRpb24ubGluZSA8IHNjZW5hcmlvX291dGxpbmUubG9jYXRpb24ubGluZQorKyAgICAgICAg YXNzZXJ0IHNjZW5hcmlvX291dGxpbmUubG9jYXRpb24ubGluZSA8IHNjZW5hcmlvXzEubG9jYXRp b24ubGluZQorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvXzEubG9jYXRpb24ubGluZSA8IHNjZW5h cmlvXzIubG9jYXRpb24ubGluZQorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvXzIubG9jYXRpb24u bGluZSA8IHNjZW5hcmlvXzMubG9jYXRpb24ubGluZQorKworKworKyAgICBkZWYgdGVzdF9zZWxl Y3RfcnVuX2l0ZW1zX2J5X2xpbmVfX2ZlYXR1cmVfbGluZV9zZWxlY3RzX2ZlYXR1cmUoc2VsZik6 CisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0dXJlX3RleHQxLCBmaWxlbmFt ZT0iZmVhdHVyZXMvQWxpY2UuZmVhdHVyZSIpCisrICAgICAgICBsaW5lX2RhdGFiYXNlID0gRmVh dHVyZUxpbmVEYXRhYmFzZS5tYWtlKGZlYXR1cmUpCisrICAgICAgICBzZWxlY3RlZCA9IGxpbmVf ZGF0YWJhc2Uuc2VsZWN0X3J1bl9pdGVtX2J5X2xpbmUoZmVhdHVyZS5sb2NhdGlvbi5saW5lKQor KyAgICAgICAgYXNzZXJ0IHNlbGVjdGVkIGlzIGZlYXR1cmUKKysgICAgICAgIGFzc2VydCBpc2lu c3RhbmNlKHNlbGVjdGVkLCBGZWF0dXJlKQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJp emUoImZpbGVuYW1lIiwgWworKyAgICAgICAgImJhc2ljLmZlYXR1cmUiLCAic2NlbmFyaW9fb3V0 bGluZS5mZWF0dXJlIiwgInJ1bGUuZmVhdHVyZSIKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfc2Vs ZWN0X3J1bl9pdGVtc19ieV9saW5lX19lbnRpdHlfbGluZV9zZWxlY3RzX2VudGl0eShzZWxmLCBm aWxlbmFtZSk6CisrICAgICAgICBmZWF0dXJlX3RleHQgPSBmZWF0dXJlX2ZpbGVfbWFwW2ZpbGVu YW1lXQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUoZmVhdHVyZV90ZXh0LCBmaWxl bmFtZT1maWxlbmFtZSkKKysgICAgICAgIGxpbmVfZGF0YWJhc2UgPSBGZWF0dXJlTGluZURhdGFi YXNlLm1ha2UoZmVhdHVyZSkKKysgICAgICAgIGxhc3RfbGluZSA9IDAKKysgICAgICAgIGFsbF9y dW5faXRlbXMgPSBmZWF0dXJlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSwgd2l0 aF9ydWxlcz1UcnVlKQorKyAgICAgICAgZm9yIHJ1bl9pdGVtIGluIGFsbF9ydW5faXRlbXM6Cisr ICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaW5lX2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9ieV9s aW5lKHJ1bl9pdGVtLmxvY2F0aW9uLmxpbmUpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGVjdGVk IGlzIHJ1bl9pdGVtCisrICAgICAgICAgICAgYXNzZXJ0IGxhc3RfbGluZSA8IHNlbGVjdGVkLmxv Y2F0aW9uLmxpbmUKKysgICAgICAgICAgICBsYXN0X2xpbmUgPSBydW5faXRlbS5sb2NhdGlvbi5s aW5lCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZmlsZW5hbWUiLCBbCisrICAg ICAgICAiYmFzaWMuZmVhdHVyZSIsICJzY2VuYXJpb19vdXRsaW5lLmZlYXR1cmUiLCAicnVsZS5m ZWF0dXJlIgorKyAgICBdKQorKyAgICBkZWYgdGVzdF9zZWxlY3RfcnVuX2l0ZW1zX2J5X2xpbmVf X2xpbmVfYmVmb3JlX2VudGl0eV9zZWxlY3RzX2xhc3RfZW50aXR5KHNlbGYsIGZpbGVuYW1lKToK KysgICAgICAgIGZlYXR1cmVfdGV4dCA9IGZlYXR1cmVfZmlsZV9tYXBbZmlsZW5hbWVdCisrICAg ICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0dXJlX3RleHQsIGZpbGVuYW1lPWZpbGVu YW1lKQorKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShm ZWF0dXJlKQorKyAgICAgICAgYWxsX3J1bl9pdGVtcyA9IGZlYXR1cmUud2Fsa19zY2VuYXJpb3Mo d2l0aF9vdXRsaW5lcz1UcnVlLCB3aXRoX3J1bGVzPVRydWUpCisrICAgICAgICBsYXN0X3J1bl9p dGVtID0gZmVhdHVyZQorKyAgICAgICAgZm9yIHJ1bl9pdGVtIGluIGFsbF9ydW5faXRlbXM6Cisr ICAgICAgICAgICAgcHJlZGVjZXNzb3JfbGluZSA9IHJ1bl9pdGVtLmxvY2F0aW9uLmxpbmUgLSAx CisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaW5lX2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9i eV9saW5lKHByZWRlY2Vzc29yX2xpbmUpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGVjdGVkIGlz IGxhc3RfcnVuX2l0ZW0KKysgICAgICAgICAgICBhc3NlcnQgc2VsZWN0ZWQgaXMgbm90IHJ1bl9p dGVtCisrICAgICAgICAgICAgbGFzdF9ydW5faXRlbSA9IHJ1bl9pdGVtCisrCisrICAgIEBweXRl c3QubWFyay5wYXJhbWV0cml6ZSgiZmlsZW5hbWUiLCBbCisrICAgICAgICAiYmFzaWMuZmVhdHVy ZSIsICJzY2VuYXJpb19vdXRsaW5lLmZlYXR1cmUiLCAicnVsZS5mZWF0dXJlIgorKyAgICBdKQor KyAgICBkZWYgdGVzdF9zZWxlY3RfcnVuX2l0ZW1zX2J5X2xpbmVfX2xpbmVfYWZ0ZXJfZW50aXR5 X3NlbGVjdHNfZW50aXR5KHNlbGYsIGZpbGVuYW1lKToKKysgICAgICAgICMgLS0gSElOVDogSW4g bW9zdCBjYXNlcworKyAgICAgICAgIyBFWENFUFQ6CisrICAgICAgICAjICAgKiBTY2VuYXJpb3Mg b2YgU2NlbmFyaW9PdXRsaW5lOiBzY2VuYXJpby5saW5lID09IFNPLmV4YW1wbGVzLnJvdy5saW5l CisrICAgICAgICAjICAgKiBFbXB0eSBlbnRpdHkgd2l0aG91dCBzdGVwcyBpcyBkaXJlY3RseSBm b2xsb3dlZCBieSBvdGhlciBlbnRpdHkKKysgICAgICAgIGZlYXR1cmVfdGV4dCA9IGZlYXR1cmVf ZmlsZV9tYXBbZmlsZW5hbWVdCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0 dXJlX3RleHQsIGZpbGVuYW1lPWZpbGVuYW1lKQorKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZl YXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0dXJlKQorKyAgICAgICAgYWxsX3J1bl9pdGVtcyA9 IGZlYXR1cmUud2Fsa19zY2VuYXJpb3Mod2l0aF9vdXRsaW5lcz1UcnVlLCB3aXRoX3J1bGVzPVRy dWUpCisrICAgICAgICBmaWxlX2VuZF9saW5lID0gYWxsX3J1bl9pdGVtc1stMV0ubG9jYXRpb24u bGluZSArIDEwMDAKKysgICAgICAgIGZvciBpbmRleCwgcnVuX2l0ZW0gaW4gZW51bWVyYXRlKGFs bF9ydW5faXRlbXMpOgorKyAgICAgICAgICAgIG5leHRfbGluZSA9IHJ1bl9pdGVtLmxvY2F0aW9u LmxpbmUgKyAxCisrICAgICAgICAgICAgbmV4dF9lbnRpdHlfbGluZSA9IGZpbGVfZW5kX2xpbmUK KysgICAgICAgICAgICBpZiBpbmRleCsxIDwgbGVuKGFsbF9ydW5faXRlbXMpOgorKyAgICAgICAg ICAgICAgICBuZXh0X2VudGl0eSA9IGFsbF9ydW5faXRlbXNbaW5kZXgrMV0KKysgICAgICAgICAg ICAgICAgbmV4dF9lbnRpdHlfbGluZSA9IG5leHRfZW50aXR5LmxpbmUKKysgICAgICAgICAgICBp ZiBuZXh0X2xpbmUgPj0gbmV4dF9lbnRpdHlfbGluZToKKysgICAgICAgICAgICAgICAgIyAtLSBF WENMVURFOiBTY2VuYXJpb3MgaW4gYSBTY2VuYXJpb091dGxpbmUKKysgICAgICAgICAgICAgICAg cHJpbnQoIkVYQ0xVREVEOiAlczogJXMgKGxpbmU9JXMpIiAlCisrICAgICAgICAgICAgICAgICAg ICAgIChydW5faXRlbS5rZXl3b3JkLCBydW5faXRlbS5uYW1lLCBydW5faXRlbS5saW5lKSkKKysg ICAgICAgICAgICAgICAgY29udGludWUKKysKKysgICAgICAgICAgICBzZWxlY3RlZCA9IGxpbmVf ZGF0YWJhc2Uuc2VsZWN0X3J1bl9pdGVtX2J5X2xpbmUobmV4dF9saW5lKQorKyAgICAgICAgICAg IGFzc2VydCBzZWxlY3RlZCBpcyBydW5faXRlbQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzOC1kb2NzLUFkZC1kZXNjcmlw dGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2VuLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzOC1kb2NzLUFkZC1kZXNj cmlwdGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2VuLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDUwOWFjZTZiCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzOC1k b2NzLUFkZC1kZXNjcmlwdGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2VuLnBhdGNo CkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gMmU1MzJiM2UwYTBiZGM2OTIwMWNmNDgyZWFlYTgwMWY2 M2JjZjYyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA2IEp1bCAyMDE5IDEwOjUwOjU0 ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvY3M6IEFkZCBkZXNjcmlwdGlvbiBmb3IgIlNlbGVj dC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8KKyBDb250YWluZXJzIgorCistLS0KKyBkb2NzL25l d19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBh L2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QgYi9kb2NzL25ld19hbmRfbm90ZXdv cnRoeV92MS4yLjcucnN0CitpbmRleCA4MGQ5NTc2Li5mZjFjZDFmIDEwMDY0NAorLS0tIGEvZG9j cy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorKysrIGIvZG9jcy9uZXdfYW5kX25vdGV3 b3J0aHlfdjEuMi43LnJzdAorQEAgLTcsNiArNyw3IEBAIFN1bW1hcnk6CisgKiBVc2UvU3VwcG9y dCA6cHlwaTpgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zYCAoc3VwZXJjZWVkOiBvbGQtc3R5bGUg dGFnLWV4cHJlc3Npb25zKQorICogOnB5cGk6YGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2AgYXJl IGV4dGVuZGVkIGJ5ICJ0YWctbWF0Y2hpbmciCisgICB0byBtYXRjaCBwYXJ0aWFsIHRhZyBuYW1l cywgbGlrZTogYGBAZm9vLipgYAorKyogYFNlbGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8g Q29udGFpbmVyc2BfIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpCisgCisgLi4gX2BF eGFtcGxlIE1hcHBpbmdgOiBodHRwczovL2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1tYXBwaW5n LWludHJvZHVjdGlvbi8KKyAuLiBfYEV4YW1wbGUgTWFwcGluZyBXZWJpbmFyYDogaHR0cHM6Ly9j dWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFwcGluZy13ZWJpbmFyLworQEAgLTEwMiwzICsxMDMs MzUgQEAgT3ZlcnZpZXcgb2YgdGhlIGBFeGFtcGxlIE1hcHBpbmdgXyBjb25jZXB0czoKKyAKKyAK KyAuLiBpbmNsdWRlOjogX2NvbnRlbnQudGFnX2V4cHJlc3Npb25zX3YyLnJzdAorKworKworK1Nl bGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8gQ29udGFpbmVycworKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKysKKytJbiB0aGUgcGFzdCwgaXQgd2FzIGFscmVhZHkgcG9zc2libGUgdG8gc2Nl bmFyaW8ocykgYnkgdXNpbmcgaXRzICoqZmlsZS1sb2NhdGlvbioqLgorKworK0EgKipmaWxlLWxv Y2F0aW9uKiogaGFzIHRoZSBzY2hlbWE6IGBgPEZJTEVOQU1FPjo8TElORV9OVU1CRVI+YGAuCisr RXhhbXBsZTogYGBmZWF0dXJlcy9hbGljZS5mZWF0dXJlOjEyYGAKKysocmVmZXJzIHRvIGBgbGlu ZSAxMmBgIGluIGBgZmVhdHVyZXMvYWxpY2UuZmVhdHVyZWBgIGZpbGUpLgorKworK1J1bGVzIHRv IHNlbGVjdCAqKlNjZW5hcmlvcyoqIGJ5IHVzaW5nIHRoZSBmaWxlLWxvY2F0aW9uOgorKworKyog KipTY2VuYXJpbzoqKiBVc2UgYSBmaWxlLWxvY2F0aW9uIHRoYXQgcG9pbnRzIHRvIHRoZSBrZXl3 b3JkL3RpdGxlIG9yIGl0cyBzdGVwcworKyAgKHVudGlsIG5leHQgU2NlbmFyaW8vRW50aXR5IHN0 YXJ0cykuCisrCisrKiAqKlNjZW5hcmlvIG9mIGEgU2NlbmFyaW9PdXRsaW5lOioqCisrICBVc2Ug dGhlIGZpbGUtbG9jYXRpb24gb2YgaXRzIEV4YW1wbGVzIHJvdy4KKysKKytOb3cgeW91IGNhbiBz ZWxlY3QgYWxsIGVudGl0aWVzIG9mIGEgKipTY2VuYXJpbyBDb250YWluZXIqKiAoRmVhdHVyZSwg UnVsZSwgU2NlbmFyaW9PdXRsaW5lKToKKysKKysqICoqRmVhdHVyZToqKgorKyAgVXNlIGZpbGUt bG9jYXRpb24gYmVmb3JlIGZpcnN0IGNvbnRhaW5lZCBlbnRpdHkvU2NlbmFyaW8gc3RhcnRzLgor KworKyogKipSdWxlOioqCisrICBVc2UgZmlsZS1sb2NhdGlvbiBmcm9tIGtleXdvcmQvdGl0bGUg bGluZSB0byBsaW5lIGJlZm9yZSBpdHMgZmlyc3QgU2NlbmFyaW8vQmFja2dyb3VuZC4KKysKKysq ICoqU2NlbmFyaW9PdXRsaW5lOioqCisrICBVc2UgZmlsZS1sb2NhdGlvbiBmcm9tIGtleXdvcmQv dGl0bGUgbGluZSB0byBsaW5lIGJlZm9yZSBpdHMgRXhhbXBsZXMgcm93cy4KKysKKytBIGZpbGUt bG9jYXRpb24gaW50byBhICoqU2NlbmFyaW8gQ29udGFpbmVyKiogc2VsZWN0cyBhbGwgaXRzIGVu dGl0aWVzCisrKFNjZW5hcmlvcywgLi4uKS4KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzktdGVzdHMtRml4LXdhcm5pbmdz LWZvci1weXRob24zLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAzOS10ZXN0cy1GaXgtd2FybmluZ3MtZm9yLXB5dGhvbjMucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42MDgzMzEyYTcKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDM5LXRlc3RzLUZpeC13YXJuaW5ncy1mb3ItcHl0aG9uMy5wYXRjaApAQCAtMCwwICsx LDUwIEBACitGcm9tIDZkYjFmOGEwZmUxNjBlMjYwMWNjOTAwOTgyZWQ1Mjk4ZmI3OGQzZmYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAxMzozNTo1MSArMDIwMAorU3Vi amVjdDogW1BBVENIXSB0ZXN0czogRml4IHdhcm5pbmdzIGZvciBweXRob24zLgorCistLS0KKyB0 ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTAzMzYucHkgfCAgMSArCisgdGVzdHMvdW5pdC90ZXN0X3Bh cnNlci5weSAgICAgIHwgMTEgKysrKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL2lzc3Vlcy90ZXN0 X2lzc3VlMDMzNi5weSBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDMzNi5weQoraW5kZXggZWI0 YzNmZC4uMDkyMDFhZSAxMDA2NDQKKy0tLSBhL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDMzNi5w eQorKysrIGIvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwMzM2LnB5CitAQCAtNTIsNiArNTIsNyBA QCBBc3NlcnRpb25FcnJvcgorICAgICAgICAgICAgIGFzc2VydCBmaWxlX2xpbmVfdGV4dCBpbiB0 ZXh0MgorIAorICAgICAjIEByZXF1aXJlX3B5dGhvbjIKKysgICAgQHB5dGVzdC5tYXJrLmZpbHRl cndhcm5pbmdzKCJpZ25vcmU6aW52YWxpZCBlc2NhcGUgc2VxdWVuY2UiKQorICAgICBkZWYgdGVz dF9fcHJvYmxlbV9leGlzdHNfd2l0aF9wcm9ibGVtYXRpY19lbmNvZGluZyhzZWxmKToKKyAgICAg ICAgICIiIlRlc3QgZW5zdXJlcyB0aGF0IHByb2JsZW0gZXhpc3RzIHdpdGggZW5jb2Rpbmc9dW5p Y29kZS1lc2NhcGUiIiIKKyAgICAgICAgICMgLS0gTk9URTogRXhwbGljaXQgdXNlIG9mIHByb2Js ZW1hdGljIGVuY29kaW5nCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weSBi L3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkKK2luZGV4IGVjYmIxYmYuLjAxMDA2ZjkgMTAwNjQ0 CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3Rf cGFyc2VyLnB5CitAQCAtNTY0LDE2ICs1NjQsMTkgQEAgRmVhdHVyZTogU3R1ZmYKKyAgICAgICAg ICAgICAoJ3RoZW4nLCAnVGhlbicsICdzdHVmZiBpcyBpbiBidWNrZXRzJywgTm9uZSwgTm9uZSks CisgICAgICAgICBdKQorIAorKyAgICBAcHl0ZXN0Lm1hcmsuZmlsdGVyd2FybmluZ3MoImlnbm9y ZTppbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSIpCisgICAgIGRlZiB0ZXN0X3BhcnNlc19mZWF0dXJl X3dpdGhfdGFibGVfYW5kX2VzY2FwZWRfcGlwZV9pbl9jZWxsX3ZhbHVlcyhzZWxmKToKKysgICAg ICAgICMgLS0gSElOVCBweTM3OiBEZXByZWNhdGlvbldhcm5pbmc6IGludmFsaWQgZXNjYXBlIHNl cXVlbmNlICdcfCcKKysgICAgICAgICMgVVNFOiBEb3VibGUgZXNjYXBlZC1iYWNrc2xhc2hlcy4K KyAgICAgICAgIGRvYyA9IHUnJycKKyBGZWF0dXJlOgorICAgU2NlbmFyaW86CisgICAgIEdpdmVu IHdlIGhhdmUgc3BlY2lhbCBjZWxsIHZhbHVlczoKKyAgICAgICB8IG5hbWUgICB8IHZhbHVlICAg IHwKKy0gICAgICB8IGFsaWNlICB8IG9uZVx8dHdvIHwKKy0gICAgICB8IGJvYiAgICB8XHxvbmUg ICAgIHwKKy0gICAgICB8IGNoYXJseSB8ICAgICBvbmVcfHwKKy0gICAgICB8IGRvcm8gICB8IG9u ZVx8dHdvXHx0aHJlZVx8Zm91ciB8CisrICAgICAgfCBhbGljZSAgfCBvbmVcXHx0d28gfAorKyAg ICAgIHwgYm9iICAgIHxcXHxvbmUgICAgIHwKKysgICAgICB8IGNoYXJseSB8ICAgICBvbmVcXHx8 CisrICAgICAgfCBkb3JvICAgfCBvbmVcXHx0d29cXHx0aHJlZVxcfGZvdXIgfAorICcnJy5sc3Ry aXAoKQorICAgICAgICAgZmVhdHVyZSA9IHBhcnNlci5wYXJzZV9mZWF0dXJlKGRvYykKKyAgICAg ICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJpb3MpID09IDEKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDAtVXNlLWN1 Y3VtYmVyLXRhZy1leHByZXNzaW9ucy0xLjEuMi10by1maXgtd2FybmluZ3MucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQwLVVzZS1j dWN1bWJlci10YWctZXhwcmVzc2lvbnMtMS4xLjItdG8tZml4LXdhcm5pbmdzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZGNmZmM5MDVlCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA0MC1Vc2UtY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJuaW5ncy5w YXRjaApAQCAtMCwwICsxLDU1IEBACitGcm9tIDA2OGRiMzMxM2I3ZGIyNmI1M2M2NTIwMzNhZjJm MWYyYmM1Y2VkNjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAxMzoz Njo1OSArMDIwMAorU3ViamVjdDogW1BBVENIXSBVc2UgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25z IDEuMS4yICh0byBmaXggd2FybmluZ3MpLgorCitweS5yZXF1aXJlbWVudHM6IEFkZCB0d2luZSwg YnVtcDJ2ZXJzaW9uCistLS0KKyBweS5yZXF1aXJlbWVudHMvYmFzaWMudHh0ICAgfCAyICstCisg cHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0IHwgNiArKysrKy0KKyBzZXR1cC5weSAgICAgICAg ICAgICAgICAgICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IGIv cHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAoraW5kZXggM2I3MWJmYi4uYWQ1YjlhNiAxMDA2NDQK Ky0tLSBhL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9i YXNpYy50eHQKK0BAIC04LDcgKzgsNyBAQAorICMgICogaHR0cDovL3d3dy5waXAtaW5zdGFsbGVy Lm9yZy8KKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKy1jdWN1bWJlci10YWctZXhwcmVzc2lv bnMgPj0gMS4xLjEKKytjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIKKyBwYXJzZSA+ PSAxLjguMgorIHBhcnNlX3R5cGUgPj0gMC40LjIKKyBzaXggPj0gMS4xMi4wCitkaWZmIC0tZ2l0 IGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0IGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3Au dHh0CitpbmRleCBkODIzMzg5Li5hMTZkN2JmIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRz L2RldmVsb3AudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKK0BAIC0xMSw3 ICsxMSwxMSBAQCBwYXRobGliOyAgICBweXRob25fdmVyc2lvbiA8PSAnMy40JworIHB5Y21kCisg CisgIyAtLSBDT05GSUdVUkFUSU9OIE1BTkFHRU1FTlQgKGhlbHBlcnMpOgorLWJ1bXB2ZXJzaW9u ID49IDAuNC4wCisrIyBGT1JNRVI6IGJ1bXB2ZXJzaW9uID49IDAuNC4wCisrYnVtcDJ2ZXJzaW9u ID49IDAuNS42CisrCisrIyAtLSBSRUxFQVNFIE1BTkFHRU1FTlQ6IFB1c2ggcGFja2FnZSB0byBw eXBpLgorK3R3aW5lID49IDEuMTMuMAorIAorICMgLS0gREVWRUxPUE1FTlQgU1VQUE9SVDoKKyB0 b3ggICA+PSAxLjguMQorZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IDlj NzU2MGQuLmNlYTQzOTIgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BA IC03Niw3ICs3Niw3IEBAIHNldHVwKAorICAgICAjIFNVUFBPUlQ6IHB5dGhvbjIuNywgcHl0aG9u My4zIChvciBoaWdoZXIpCisgICAgIHB5dGhvbl9yZXF1aXJlcz0iPj0yLjcsICE9My4wLiosICE9 My4xLiosICE9My4yLioiLAorICAgICBpbnN0YWxsX3JlcXVpcmVzPVsKKy0gICAgICAgICJjdWN1 bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjEiLAorKyAgICAgICAgImN1Y3VtYmVyLXRhZy1l eHByZXNzaW9ucyA+PSAxLjEuMiIsCisgICAgICAgICAicGFyc2UgPj0gMS44LjIiLAorICAgICAg ICAgInBhcnNlX3R5cGUgPj0gMC40LjIiLAorICAgICAgICAgInNpeCA+PSAxLjEyLjAiLApkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA0MS1NRU5USU9OLUVOSEFOQ0VNRU5ULVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmls ZXMtLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA0MS1NRU5USU9OLUVOSEFOQ0VNRU5ULVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUt ZmlsZXMtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTVhNjAw OTdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA0MS1NRU5USU9OLUVOSEFOQ0VNRU5ULVN1cHBvcnQtZW1vamlz LWluLWZlYXR1cmUtZmlsZXMtLnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKK0Zyb20gZGQ2Yjc5YWE3 MTYwNjIwYTJhMTk1MzM5ZGYzZjI5M2VhNWE3MWJmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTog U2F0LCA2IEp1bCAyMDE5IDE0OjE4OjE2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1FTlRJT04g RU5IQU5DRU1FTlQ6IFN1cHBvcnQgZW1vamlzIGluIGZlYXR1cmUgZmlsZXMgYW5kCisgc3RlcHMu CisKKy0tLQorIENIQU5HRVMucnN0ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KKyBk b2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IHwgMTcgKysrKysrKysrKysrKysrKysK KyBmZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUgICAgICAgIHwgIDcgKysrKysrKworIGZlYXR1 cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkgfCAxMCArKysrKysrKysrCisgNCBmaWxlcyBj aGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGZlYXR1cmVzL2kxOG5fZW1vamkuZmVhdHVyZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBmZWF0 dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJz dCBiL0NIQU5HRVMucnN0CitpbmRleCAwMWJkMWJkLi5kMTY1Mjc1IDEwMDY0NAorLS0tIGEvQ0hB TkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMjQsOCArMjQsOSBAQCBHT0FMUzoKKyBF TkhBTkNFTUVOVFM6CisgCisgKiBBZGQgc3VwcG9ydCBmb3IgR2hlcmtpbiB2NiBncmFtbWFyIGFu ZCBzeW50YXggaW4gYGAqLmZlYXR1cmVgYCBmaWxlcworLSogVXNlIGN1Y3VtYmVyICJnaGVya2lu LWxhbmd1YWdlcy5qc29uIiBub3cgKHNpbXBsaWZ5OiBHaGVya2luIHY2IGFsaWFzZXMsIGxhbmd1 YWdlIHVzYWdlKQorICogVXNlIGBjdWN1bWJlci10YWctZXhwcmVzc2lvbnNgXyB3aXRoIHRhZy1t YXRjaGluZyBleHRlbnNpb24gKHN1cGVyY2VlZHM6IG9sZC1zdHlsZSB0YWctZXhwcmVzc2lvbnMp CisrKiBVc2UgY3VjdW1iZXIgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIG5vdyAoc2ltcGxpZnk6 IEdoZXJraW4gdjYgYWxpYXNlcywgbGFuZ3VhZ2UgdXNhZ2UpCisrKiBTdXBwb3J0IGVtb2ppcyBp biBgYCouZmVhdHVyZWBgIGZpbGVzIGFuZCBzdGVwcworICogaXNzdWUgIzY3ODogU2NlbmFyaW8g T3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGggY29tbWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRl ZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUg ZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRl ZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKKyAqIFNlbGVjdC1ieS1sb2NhdGlvbjogQWRkIHN1 cHBvcnQgZm9yICJTY2VuYXJpbyBjb250YWluZXIiIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091 dGxpbmUpIChyZWxhdGVkIHRvOiAjMzkxKQorZGlmZiAtLWdpdCBhL2RvY3MvbmV3X2FuZF9ub3Rl d29ydGh5X3YxLjIuNy5yc3QgYi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0Citp bmRleCBmZjFjZDFmLi5iNzI0MmY3IDEwMDY0NAorLS0tIGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0 aHlfdjEuMi43LnJzdAorKysrIGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAor QEAgLTgsNiArOCw3IEBAIFN1bW1hcnk6CisgKiA6cHlwaTpgY3VjdW1iZXItdGFnLWV4cHJlc3Np b25zYCBhcmUgZXh0ZW5kZWQgYnkgInRhZy1tYXRjaGluZyIKKyAgIHRvIG1hdGNoIHBhcnRpYWwg dGFnIG5hbWVzLCBsaWtlOiBgYEBmb28uKmBgCisgKiBgU2VsZWN0LWJ5LWxvY2F0aW9uIGZvciBT Y2VuYXJpbyBDb250YWluZXJzYF8gKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkKKysq IGBTdXBwb3J0IGZvciBlbW9qaXMgaW4gZmVhdHVyZSBmaWxlcyBhbmQgc3RlcHNgXworIAorIC4u IF9gRXhhbXBsZSBNYXBwaW5nYDogaHR0cHM6Ly9jdWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFw cGluZy1pbnRyb2R1Y3Rpb24vCisgLi4gX2BFeGFtcGxlIE1hcHBpbmcgV2ViaW5hcmA6IGh0dHBz Oi8vY3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1hcHBpbmctd2ViaW5hci8KK0BAIC0xMzUsMyAr MTM2LDE5IEBAIE5vdyB5b3UgY2FuIHNlbGVjdCBhbGwgZW50aXRpZXMgb2YgYSAqKlNjZW5hcmlv IENvbnRhaW5lcioqIChGZWF0dXJlLCBSdWxlLCBTY2VuCisgCisgQSBmaWxlLWxvY2F0aW9uIGlu dG8gYSAqKlNjZW5hcmlvIENvbnRhaW5lcioqIHNlbGVjdHMgYWxsIGl0cyBlbnRpdGllcworIChT Y2VuYXJpb3MsIC4uLikuCisrCisrCisrU3VwcG9ydCBmb3IgRW1vamlzIGluIEZlYXR1cmUgRmls ZXMgYW5kIFN0ZXBzCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworKyogRW1vamlzIGNhbiBu b3cgYmUgdXNlZCBpbiBgYCouZmVhdHVyZWBgIGZpbGVzLgorKyogRW1vamlzIGNhbiBub3cgYmUg dXNlZCBpbiBzdGVwIGRlZmluaXRpb25zLgorKyogWW91IGNhbiBub3cgdXNlIGBgbGFuZ3VhZ2U9 ZW1vamkgKGVtKWBgIGluIGBgKi5mZWF0dXJlYGAgZmlsZXMgOy0pCisrCisrLi4gbGl0ZXJhbGlu Y2x1ZGU6OiAuLi9mZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUKKysgICAgOnByZXBlbmQ6ICAj IC0tIEZJTEU6IGZlYXR1cmVzL2kxOG5fZW1vamkuZmVhdHVyZQorKyAgICA6bGFuZ3VhZ2U6IGdo ZXJraW4KKysKKysuLiBsaXRlcmFsaW5jbHVkZTo6IC4uL2ZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1v amlfc3RlcHMucHkKKysgICAgOnByZXBlbmQ6ICAjIC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2kx OG5fZW1vamlfc3RlcHMucHkKKysgICAgOmxhbmd1YWdlOiBweXRob24KK2RpZmYgLS1naXQgYS9m ZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUgYi9mZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kYjIzYWMyCistLS0gL2Rldi9u dWxsCisrKysgYi9mZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUKK0BAIC0wLDAgKzEsNyBAQAor KyMgbGFuZ3VhZ2U6IGVtCisrIyBTT1VSQ0U6IGh0dHBzOi8vZ2l0aHViLmNvbS9jdWN1bWJlci9j dWN1bWJlci9ibG9iL21hc3Rlci9naGVya2luL3Rlc3RkYXRhL2dvb2QvaTE4bl9lbW9qaS5mZWF0 dXJlCisrCisr8J+Tmjog8J+ZiPCfmYnwn5mKCisrCisrICDwn5OVOiDwn5KDCisrICAgIPCfmJDw n464CitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3RlcHMvaTE4bl9lbW9qaV9zdGVwcy5weSBiL2Zl YXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi4zODFkMmJiCistLS0gL2Rldi9udWxsCisrKysgYi9mZWF0dXJlcy9zdGVw cy9pMThuX2Vtb2ppX3N0ZXBzLnB5CitAQCAtMCwwICsxLDEwIEBACisrIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKysjIE5FRURFRC1CWTogZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlCisrCisr ZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuCisrCisrQGdpdmVuKHUn8J+OuCcpCisrZGVmIHN0ZXBf aW1wbChjb250ZXh0KToKKysgICAgIiIiU3RlcCBpbXBsZW1lbnRhdGlvbiBleGFtcGxlIHdpdGgg ZW1vamkocykuIiIiCisrICAgIHBhc3MKKysKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDItRklYLUludmFsaWQtZXNjYXBl LWNoYXItaW4tcmVnZXgtdy1weXRob24zLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Mi1GSVgtSW52YWxpZC1lc2NhcGUtY2hhci1p bi1yZWdleC13LXB5dGhvbjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi4zMmRkZDk2ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQyLUZJWC1JbnZhbGlkLWVzY2FwZS1jaGFy LWluLXJlZ2V4LXctcHl0aG9uMy5wYXRjaApAQCAtMCwwICsxLDI1MCBAQAorRnJvbSAxZTgxMGQx MWFmY2ZiMTA1MGY0NGJlOTgzY2YwY2FjYTUwNTIzOGU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRl OiBTYXQsIDYgSnVsIDIwMTkgMTk6MDY6MTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBJ bnZhbGlkIGVzY2FwZSBjaGFyIChpbiByZWdleCkgdy8gcHl0aG9uMy4KKworLS0tCisgYmVoYXZl L2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMucHkgfCAgNTMgKysrKysrKystLS0tCisgdGVzdHMvdW5p dC90ZXN0X2Fuc2lfZXNjYXBlcy5weSAgfCAxNDQgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMucHkgYi9iZWhh dmUvZm9ybWF0dGVyL2Fuc2lfZXNjYXBlcy5weQoraW5kZXggNmM5M2U2Yy4uM2VjODRkYiAxMDA2 NDQKKy0tLSBhL2JlaGF2ZS9mb3JtYXR0ZXIvYW5zaV9lc2NhcGVzLnB5CisrKysgYi9iZWhhdmUv Zm9ybWF0dGVyL2Fuc2lfZXNjYXBlcy5weQorQEAgLTcsNiArNyw5IEBAIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgaW1wb3J0IG9zCisgaW1wb3J0IHJlCisgCisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PRFVMRSBEQVRBCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyBjb2xvcnMgPSB7CisgICAgICJibGFjayI6ICAgICAgICB1Ilx4MWJbMzBtIiwKKyAgICAgInJl ZCI6ICAgICAgICAgIHUiXHgxYlszMW0iLAorQEAgLTM4LDI3ICs0MSw0OCBAQCBlc2NhcGVzID0g eworICAgICAidXAiOiAgICAgICAgICAgdSJceDFiWzFBIiwKKyB9CisgCistaWYgIkdIRVJLSU5f Q09MT1JTIiBpbiBvcy5lbnZpcm9uOgorLSAgICBuZXdfYWxpYXNlcyA9IFtwLnNwbGl0KCI9Iikg Zm9yIHAgaW4gb3MuZW52aXJvblsiR0hFUktJTl9DT0xPUlMiXS5zcGxpdCgiOiIpXQorLSAgICBh bGlhc2VzLnVwZGF0ZShkaWN0KG5ld19hbGlhc2VzKSkKKyAKKy1mb3IgYWxpYXMgaW4gYWxpYXNl czoKKy0gICAgZXNjYXBlc1thbGlhc10gPSAiIi5qb2luKFtjb2xvcnNbY10gZm9yIGMgaW4gYWxp YXNlc1thbGlhc10uc3BsaXQoIiwiKV0pCistICAgIGFyZ19hbGlhcyA9IGFsaWFzICsgIl9hcmci CistICAgIGFyZ19zZXEgPSBhbGlhc2VzLmdldChhcmdfYWxpYXMsIGFsaWFzZXNbYWxpYXNdICsg Iixib2xkIikKKy0gICAgZXNjYXBlc1thcmdfYWxpYXNdID0gIiIuam9pbihbY29sb3JzW2NdIGZv ciBjIGluIGFyZ19zZXEuc3BsaXQoIiwiKV0pCisrIyAtLSBORUVERUQtRk9SOiBzdHJpcF9lc2Nh cGVzKCksIC4uLgorK19BTlNJX0VTQ0FQRV9QQVRURVJOID0gcmUuY29tcGlsZSh1Ilx4MWJcXFtc XGQrW21BXSIsIHJlLlVOSUNPREUpCisgCisgCistIyBweWxpbnQ6IGRpc2FibGU9YW5vbWFsb3Vz LWJhY2tzbGFzaC1pbi1zdHJpbmcKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTU9EVUxF IFNFVFVQCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgX3NldHVwX21vZHVsZSgpOgorKyAg ICAiIiJTZXR1cCB0aGUgcmVtYWluaW5nIEFOU0kgY29sb3IgYWxpYXNlcyBhbmQgQU5TSSBlc2Nh cGUgc2VxdWVuY2VzLgorKworKyAgICAuLiBub3RlOjogTWF5IG1vZGlmeS9leHRlbmQgdGhlIG1v ZHVsZSBhdHRyaWJ1dGVzOgorKworKyAgICAgICAgKiA6YXR0cjpgYWxpYXNlc2AKKysgICAgICAg ICogOmF0dHI6YGVzY2FwZXNgCisrICAgICIiIgorKyAgICAjIE1BWUJFOiBnbG9iYWwgYWxpYXNl cywgZXNjYXBlcworKyAgICBpZiAiR0hFUktJTl9DT0xPUlMiIGluIG9zLmVudmlyb246CisrICAg ICAgICBuZXdfYWxpYXNlcyA9IFtwLnNwbGl0KCI9IikgZm9yIHAgaW4gb3MuZW52aXJvblsiR0hF UktJTl9DT0xPUlMiXS5zcGxpdCgiOiIpXQorKyAgICAgICAgYWxpYXNlcy51cGRhdGUoZGljdChu ZXdfYWxpYXNlcykpCisrCisrICAgIGZvciBhbGlhcyBpbiBhbGlhc2VzOgorKyAgICAgICAgZXNj YXBlc1thbGlhc10gPSAiIi5qb2luKFtjb2xvcnNbY10gZm9yIGMgaW4gYWxpYXNlc1thbGlhc10u c3BsaXQoIiwiKV0pCisrICAgICAgICBhcmdfYWxpYXMgPSBhbGlhcyArICJfYXJnIgorKyAgICAg ICAgYXJnX3NlcSA9IGFsaWFzZXMuZ2V0KGFyZ19hbGlhcywgYWxpYXNlc1thbGlhc10gKyAiLGJv bGQiKQorKyAgICAgICAgZXNjYXBlc1thcmdfYWxpYXNdID0gIiIuam9pbihbY29sb3JzW2NdIGZv ciBjIGluIGFyZ19zZXEuc3BsaXQoIiwiKV0pCisrCisrCisrIyAtLSBPTkNFOiBEdXJpbmcgbW9k dWxlLWltcG9ydC4KKytfc2V0dXBfbW9kdWxlKCkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorKyMgRlVOQ1RJT05TOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgZGVmIHVwKG4pOgorICAg ICByZXR1cm4gdSJceDFiWyVkQSIgJSBuCisgCisgCistX0FOU0lfRVNDQVBFX1BBVFRFUk4gPSBy ZS5jb21waWxlKHUiXHgxYlxbXGQrW21BXSIsIHJlLlVOSUNPREUpCistIyBweWxpbnQ6IGVuYWJs ZT1hbm9tYWxvdXMtYmFja3NsYXNoLWluLXN0cmluZworIGRlZiBzdHJpcF9lc2NhcGVzKHRleHQp OgorLSAgICAiIiIKKy0gICAgUmVtb3ZlcyBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMgZnJvbSB0ZXh0 IChpZiBhbnkgYXJlIGNvbnRhaW5lZCkuCisrICAgICIiIlJlbW92ZXMgQU5TSSBlc2NhcGUgc2Vx dWVuY2VzIGZyb20gdGV4dCAoaWYgYW55IGFyZSBjb250YWluZWQpLgorIAorICAgICA6cGFyYW0g dGV4dDogVGV4dCB0aGF0IG1heSBvciBtYXkgbm90IGNvbnRhaW4gQU5TSSBlc2NhcGUgc2VxdWVu Y2VzLgorICAgICA6cmV0dXJuOiBUZXh0IHdpdGhvdXQgQU5TSSBlc2NhcGUgc2VxdWVuY2VzLgor QEAgLTY3LDggKzkxLDcgQEAgZGVmIHN0cmlwX2VzY2FwZXModGV4dCk6CisgCisgCisgZGVmIHVz ZV9hbnNpX2VzY2FwZV9jb2xvcmJvbGRfY29tcG9zaXRlcygpOiAgICAgIyBwcmFnbWE6IG5vIGNv dmVyCistICAgICIiIgorLSAgICBQYXRjaCBmb3IgInNwaGlueGNvbnRyaWItYW5zaSIgdG8gcHJv Y2VzcyB0aGUgZm9sbG93aW5nIEFOU0kgZXNjYXBlcworKyAgICAiIiJQYXRjaCBmb3IgInNwaGlu eGNvbnRyaWItYW5zaSIgdG8gcHJvY2VzcyB0aGUgZm9sbG93aW5nIEFOU0kgZXNjYXBlcworICAg ICBjb3JyZWN0bHkgKHNldC1jb2xvciBzZXQtYm9sZCBzZXF1ZW5jZXMpOgorIAorICAgICAgICAg RVNDW3tjb2xvcn1tRVNDWzFtICA9PiBFU0Nbe2NvbG9yfTsxbQorZGlmZiAtLWdpdCBhL3Rlc3Rz L3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkgYi90ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVz LnB5CitpbmRleCA5NjlmM2E5Li40ZmI3OGMyIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0 X2Fuc2lfZXNjYXBlcy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQor QEAgLTksNjUgKzksODkgQEAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dAorIGltcG9ydCBweXRlc3QKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIgaW1wb3J0IGFuc2lfZXNj YXBlcworLWltcG9ydCB1bml0dGVzdAorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZQorIAor LWNsYXNzIFN0cmlwRXNjYXBlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorLSAgICBBTExfQ09M T1JTID0gbGlzdChhbnNpX2VzY2FwZXMuY29sb3JzLmtleXMoKSkKKy0gICAgQ1VSU09SX1VQUyA9 IFsgYW5zaV9lc2NhcGVzLnVwKGNvdW50KSAgZm9yIGNvdW50IGluIHJhbmdlKDEwKSBdCistICAg IFRFWFRTID0gWworLSAgICAgICAgdSJsb3JlbSBpcHN1bSIsCistICAgICAgICB1IkFsaWNlXG5C b2JcbkNoYXJseVxuRGVubmlzIiwKKy0gICAgXQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAg ZGVmIGNvbG9yaXplKGNscywgdGV4dCwgY29sb3IpOgorLSAgICAgICAgY29sb3JfZXNjYXBlID0g IiIKKy0gICAgICAgIGlmIGNvbG9yOgorLSAgICAgICAgICAgIGNvbG9yX2VzY2FwZSA9IGFuc2lf ZXNjYXBlcy5jb2xvcnNbY29sb3JdCistICAgICAgICByZXR1cm4gY29sb3JfZXNjYXBlICsgdGV4 dCArIGFuc2lfZXNjYXBlcy5lc2NhcGVzWyJyZXNldCJdCistCistICAgIEBjbGFzc21ldGhvZAor LSAgICBkZWYgY29sb3JpemVfdGV4dChjbHMsIHRleHQsIGNvbG9ycz1Ob25lKToKKy0gICAgICAg IGlmIG5vdCBjb2xvcnM6CistICAgICAgICAgICAgY29sb3JzID0gW10KKy0gICAgICAgIGNvbG9y c19zaXplID0gbGVuKGNvbG9ycykKKy0gICAgICAgIGNvbG9yX2luZGV4ID0gMAorLSAgICAgICAg Y29sb3JlZF9jaGFycyA9IFtdCistICAgICAgICBmb3IgY2hhciBpbiB0ZXh0OgorLSAgICAgICAg ICAgIGNvbG9yID0gY29sb3JzW2NvbG9yX2luZGV4XQorLSAgICAgICAgICAgIGNvbG9yZWRfY2hh cnMuYXBwZW5kKGNscy5jb2xvcml6ZShjaGFyLCBjb2xvcikpCistICAgICAgICAgICAgY29sb3Jf aW5kZXggKz0gMQorLSAgICAgICAgICAgIGlmIGNvbG9yX2luZGV4ID49IGNvbG9yc19zaXplOgor LSAgICAgICAgICAgICAgICBjb2xvcl9pbmRleCA9IDAKKy0gICAgICAgIHJldHVybiAiIi5qb2lu KGNvbG9yZWRfY2hhcnMpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fc2FtZV90ZXh0 X3dpdGhvdXRfZXNjYXBlcyhzZWxmKToKKy0gICAgICAgIGZvciB0ZXh0IGluIHNlbGYuVEVYVFM6 CistICAgICAgICAgICAgYXNzZXJ0IHRleHQgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMo dGV4dCkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX3JldHVybl9lbXB0eV9zdHJpbmdfZm9yX2Fu eV9hbnNpX2VzY2FwZShzZWxmKToKKy0gICAgICAgICMgWFhYLUpFLUNIRUNLLVBZMjM6IElmIGxp c3QoKSBpcyByZWFsbHkgbmVlZGVkLgorLSAgICAgICAgZm9yIHRleHQgaW4gbGlzdChhbnNpX2Vz Y2FwZXMuY29sb3JzLnZhbHVlcygpKToKKy0gICAgICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9l c2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKy0gICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5z aV9lc2NhcGVzLmVzY2FwZXMudmFsdWVzKCkpOgorLSAgICAgICAgICAgIGFzc2VydCAiIiA9PSBh bnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KQorLQorLQorLSAgICBkZWYgdGVzdF9zaG91 bGRfc3RyaXBfY29sb3JfZXNjYXBlc19mcm9tX3RleHQoc2VsZik6CistICAgICAgICBmb3IgdGV4 dCBpbiBzZWxmLlRFWFRTOgorLSAgICAgICAgICAgIGNvbG9yZWRfdGV4dCA9IHNlbGYuY29sb3Jp emVfdGV4dCh0ZXh0LCBzZWxmLkFMTF9DT0xPUlMpCistICAgICAgICAgICAgYXNzZXJ0IHRleHQg PT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90ZXh0KQorLSAgICAgICAgICAg IHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0KQorLQorLSAgICAgICAgICAg IGZvciBjb2xvciBpbiBzZWxmLkFMTF9DT0xPUlM6CistICAgICAgICAgICAgICAgIGNvbG9yZWRf dGV4dCA9IHNlbGYuY29sb3JpemUodGV4dCwgY29sb3IpCistICAgICAgICAgICAgICAgIGFzc2Vy dCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKy0gICAg ICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQpCistCist ICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9jdXJzb3JfdXBfZXNjYXBlc19mcm9tX3RleHQoc2Vs Zik6CistICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRTOgorLSAgICAgICAgICAgIGZvciBj dXJzb3JfdXAgaW4gc2VsZi5DVVJTT1JfVVBTOgorLSAgICAgICAgICAgICAgICBjb2xvcmVkX3Rl eHQgPSBjdXJzb3JfdXAgKyB0ZXh0ICsgYW5zaV9lc2NhcGVzLmVzY2FwZXNbInJlc2V0Il0KKy0g ICAgICAgICAgICAgICAgYXNzZXJ0IHRleHQgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMo Y29sb3JlZF90ZXh0KQorLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHRleHQs IGNvbG9yZWRfdGV4dCkKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBURVNUIFNVUFBPUlQg YW5kIFRFU1QgREFUQQorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytURVhUUyA9IFsKKysgICAgdSJs b3JlbSBpcHN1bSIsCisrICAgIHUiQWxpY2UgYW5kIEJvYiIsCisrICAgIHUiQWxpY2VcbkJvYiIs CisrXQorK0FMTF9DT0xPUlMgPSBsaXN0KGFuc2lfZXNjYXBlcy5jb2xvcnMua2V5cygpKQorK0NV UlNPUl9VUFMgPSBbYW5zaV9lc2NhcGVzLnVwKGNvdW50KSBmb3IgY291bnQgaW4gcmFuZ2UoMTAp XQorKworKworK2RlZiBjb2xvcml6ZSh0ZXh0LCBjb2xvcik6CisrICAgIGNvbG9yX2VzY2FwZSA9 ICIiCisrICAgIGlmIGNvbG9yOgorKyAgICAgICAgY29sb3JfZXNjYXBlID0gYW5zaV9lc2NhcGVz LmNvbG9yc1tjb2xvcl0KKysgICAgcmV0dXJuIGNvbG9yX2VzY2FwZSArIHRleHQgKyBhbnNpX2Vz Y2FwZXMuZXNjYXBlc1sicmVzZXQiXQorKworKworK2RlZiBjb2xvcml6ZV90ZXh0KHRleHQsIGNv bG9ycz1Ob25lKToKKysgICAgaWYgbm90IGNvbG9yczoKKysgICAgICAgIGNvbG9ycyA9IFtdCisr ICAgIGNvbG9yc19zaXplID0gbGVuKGNvbG9ycykKKysgICAgY29sb3JfaW5kZXggPSAwCisrICAg IGNvbG9yZWRfY2hhcnMgPSBbXQorKyAgICBmb3IgY2hhciBpbiB0ZXh0OgorKyAgICAgICAgY29s b3IgPSBjb2xvcnNbY29sb3JfaW5kZXhdCisrICAgICAgICBjb2xvcmVkX2NoYXJzLmFwcGVuZChj b2xvcml6ZShjaGFyLCBjb2xvcikpCisrICAgICAgICBjb2xvcl9pbmRleCArPSAxCisrICAgICAg ICBpZiBjb2xvcl9pbmRleCA+PSBjb2xvcnNfc2l6ZToKKysgICAgICAgICAgICBjb2xvcl9pbmRl eCA9IDAKKysgICAgcmV0dXJuICIiLmpvaW4oY29sb3JlZF9jaGFycykKKysKKysKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrIyBURVNUIFNVSVRFCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiB0 ZXN0X21vZHVsZV9zZXR1cCgpOgorKyAgICAiIiJFbnN1cmUgdGhhdCB0aGUgbW9kdWxlIHNldHVw IChhbGlhc2VzLCBlc2NhcGVzKSBvY2N1cmVkLiIiIgorKyAgICAjIGNvbG9yc19jb3VudCA9IGxl bihhbnNpX2VzY2FwZXMuY29sb3JzKQorKyAgICBhbGlhc2VzX2NvdW50ID0gbGVuKGFuc2lfZXNj YXBlcy5hbGlhc2VzKQorKyAgICBlc2NhcGVzX2NvdW50ID0gbGVuKGFuc2lfZXNjYXBlcy5lc2Nh cGVzKQorKyAgICBhc3NlcnQgZXNjYXBlc19jb3VudCA+PSAoMiArIGFsaWFzZXNfY291bnQgKyBh bGlhc2VzX2NvdW50KQorKworKworK2NsYXNzIFRlc3RTdHJpcEVzY2FwZXMob2JqZWN0KToKKysK KysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0IiwgVEVYVFMpCisrICAgIGRlZiB0 ZXN0X3Nob3VsZF9yZXR1cm5fc2FtZV90ZXh0X3dpdGhvdXRfZXNjYXBlcyhzZWxmLCB0ZXh0KToK KysgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQp CisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgidGV4dCIsIGFuc2lfZXNjYXBlcy5j b2xvcnMudmFsdWVzKCkpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fZW1wdHlfc3RyaW5n X2Zvcl9hbnlfYW5zaV9lc2NhcGVfY29sb3Ioc2VsZiwgdGV4dCk6CisrICAgICAgICBhc3NlcnQg IiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKysKKysgICAgQHB5dGVzdC5t YXJrLnBhcmFtZXRyaXplKCJ0ZXh0IiwgYW5zaV9lc2NhcGVzLmVzY2FwZXMudmFsdWVzKCkpCisr ICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fZW1wdHlfc3RyaW5nX2Zvcl9hbnlfYW5zaV9lc2Nh cGUoc2VsZiwgdGV4dCk6CisrICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlw X2VzY2FwZXModGV4dCkKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0Iiwg VEVYVFMpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9jb2xvcl9lc2NhcGVzX2Zyb21fYWxs X2NvbG9yZWRfdGV4dChzZWxmLCB0ZXh0KToKKysgICAgICAgIGNvbG9yZWRfdGV4dCA9IGNvbG9y aXplX3RleHQodGV4dCwgQUxMX0NPTE9SUykKKysgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lf ZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKysgICAgICAgIGFzc2VydCB0ZXh0 ICE9IGNvbG9yZWRfdGV4dAorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoInRleHQi LCBURVhUUykKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjb2xvciIsIEFMTF9DT0xP UlMpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9jb2xvcl9lc2NhcGVzX2Zyb21fdGV4dChz ZWxmLCB0ZXh0LCBjb2xvcik6CisrICAgICAgICBjb2xvcmVkX3RleHQgPSBjb2xvcml6ZSh0ZXh0 LCBjb2xvcikKKysgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2Nh cGVzKGNvbG9yZWRfdGV4dCkKKysgICAgICAgIGFzc2VydCB0ZXh0ICE9IGNvbG9yZWRfdGV4dAor KworKyAgICAgICAgY29sb3JlZF90ZXh0MiA9IGNvbG9yaXplKHRleHQsIGNvbG9yKSArIHRleHQK KysgICAgICAgIHRleHQyID0gdGV4dCArIHRleHQKKysgICAgICAgIGFzc2VydCB0ZXh0MiA9PSBh bnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQyKQorKyAgICAgICAgYXNzZXJ0 IHRleHQyICE9IGNvbG9yZWRfdGV4dDIKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXpl KCJ0ZXh0IiwgVEVYVFMpCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY3Vyc29yX3Vw IiwgQ1VSU09SX1VQUykKKysgICAgZGVmIHRlc3Rfc2hvdWxkX3N0cmlwX2N1cnNvcl91cF9lc2Nh cGVzX2Zyb21fdGV4dChzZWxmLCB0ZXh0LCBjdXJzb3JfdXApOgorKyAgICAgICAgY29sb3JlZF90 ZXh0ID0gY3Vyc29yX3VwICsgdGV4dCArIGFuc2lfZXNjYXBlcy5lc2NhcGVzWyJyZXNldCJdCisr ICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVk X3RleHQpCisrICAgICAgICBhc3NlcnQgdGV4dCAhPSBjb2xvcmVkX3RleHQKZGlmZiAtLWdpdCBh L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDMt RXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVk LXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjFjNTE5YTBiMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1 ZXN0aW9uLWluLTc1Ni5wYXRjaApAQCAtMCwwICsxLDMzNSBAQAorRnJvbSBiNDJiYmVmNWY0NWVl M2U4MDk0N2Y3NzI1OTJiMzFkOGJiYjY1MjhjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQs IDYgSnVsIDIwMTkgMTk6MTU6NDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRXhhbXBsZSByZWxh dGVkIHRvIHF1ZXN0aW9uIGluICM3NTYKKworLS0tCisgLi4uL2ZpeHR1cmUub3ZlcnJpZGVfYmFj a2dyb3VuZC9SRUFETUUucnN0ICAgIHwgMTE2ICsrKysrKysrKysrKysrKysrKworIC4uLi9iZWhh dmVfZml4dHVyZV9saWIvX19pbml0X18ucHkgICAgICAgICAgICB8ICAgMAorIC4uLi9iZWhhdmVf Zml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSB8ICA4MCArKysrKysrKysrKysKKyAu Li4vZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAgICAgICAgICAgfCAgMzUgKysrKysr CisgLi4uL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAgICAgICAgICAgICAgICAgIHwgIDE4ICsr KworIC4uLi9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weSAgICAgICAgICAgICB8ICAxMyAr KworIC4uLi9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5ICB8ICAxMiAr KworIDcgZmlsZXMgY2hhbmdlZCwgMjc0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2 ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9m aXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2Jh Y2tncm91bmQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlk ZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZl YXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNr Z3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vf c3RlcGxpYl9iZWhhdmU0Y21kLnB5CisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92 ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1FLnJzdCBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVf YmFja2dyb3VuZC9SRUFETUUucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MC4uOWMxNTBjYworLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlk ZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKK0BAIC0wLDAgKzEsMTE2IEBACisrRVhBTVBMRTogT3Zl cnJpZGUgLyBEaXNhYmxlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGZvciBTY2Vu YXJpbworKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKys6UkVMQVRFRC1UTzogIzc1NgorKwor K1RoaXMgZXhhbXBsZSBzaG93cyBob3cgdGhlIEJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFu aXNtIGluIEdoZXJraW4KKytjYW4gYmUgZGlzYWJsZWQgaW4gYGBiZWhhdmVgYC4KKysKKytQYXJ0 cyBvZiB0aGUgcmVjaXBlOgorKworKyogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlIChGZWF0dXJl IGZpbGUgYXMgZXhhbXBsZSkKKysqIGZlYXR1cmVzL2Vudmlyb25tZW50LnB5IChnbHVlIGNvZGUg YW5kIGhvb2tzIGZvciBmaXh0dXJlLXRhZyAvIGZpeHR1cmUpCisrKiBiZWhhdmVfZml4dHVyZV9s aWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBsZW1lbnRhdGlvbiwgd29ya2hv cnNlKQorKworKworKy4uIHdhcm5pbmc6OiBCRVdBUkU6IFRoaXMgc2hvd3MgeW91IGhvdyBjYW4g ZG8gaXQsIG5vdCB0aGF0IHlvdSBzaG91bGQgZG8gaXQKKysKKysgICAgQkVUVEVSOgorKworKyAg ICAqIFVzZSBSdWxlcyB0byBncm91cCBTY2VuYXJpb3MsIGVhY2ggd2l0aCBpdHMgb3duIEJhY2tn cm91bmQgKGluIEdoZXJraW4gdjYpCisrICAgICogU3BsaXQgRmVhdHVyZSBhc3BlY3RzIGludG8g bXVsdGlwbGUgZmVhdHVyZSBmaWxlcyAoaWYgbmVlZGVkKQorKyAgICAqIC4uLiAoc2VlIGlzc3Vl ICM3NTYgYWJvdmUpCisrCisrCisrRXhwbGFuYXRpb24KKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytF eGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRo ZQorK2JhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGJ5IHVzaW5nIGEgZml4dHVyZSAv IGZpeHR1cmUtdGFnLgorK1RoZSBmaXh0dXJlLXRhZyAiQGl4dHVyZS5iZWhhdmUub3ZlcnJpZGVf YmFja2dyb3VuZCIgbWFya3MgdGhlCisrbG9jYXRpb24gaW4gR2hlcmtpbiAod2hpY2ggU2NlbmFy aW8pIHdoZXJlIHRoZSBmaXh0dXJlIHNob3VsZCBiZSB1c2VkCisrCisrLi4gY29kZS1ibG9jazo6 IGdoZXJraW4KKysKKysgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKysg ICAgRmVhdHVyZTogU2hvdyBob3cgQGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQg aXMgdXNlZAorKworKyAgICAgICAgQmFja2dyb3VuZDoKKysgICAgICAgICAgR2l2ZW4gYSBiYWNr Z3JvdW5kIHN0ZXAKKysKKysgICAgICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAgICAgICBXaGVu IGEgc3RlcCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVw cyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysgICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRl X2JhY2tncm91bmQKKysgICAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICAgICAgR2l2ZW4gSSBu ZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAg cGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJl IGV4ZWN1dGVkIGhlcmUiCisrCisrV2hlbiB0aGUgZmVhdHVyZSBpcyBleGVjdXRlZCwgeW91IHNl ZSB0aGF0OgorKworKyogRmlyc3QgU2NlbmFyaW8gIkFsaWNlIjogQmFja2dyb3VuZCBzdGVwcyBh cmUgaW5oZXJpdGVkIGFuZCBleGVjdXRlZCBmaXJzdC4KKysqIFNlY29uZCBTY2VuYXJpbyAiQm9i IjogTm8gQmFja2dyb3VuZCBzdGVwIGlzIGV4ZWN1dGVkLgorKworKy4uIGNvZGUtYmxvY2s6OiBz aAorKworKyAgICAkIC4uLy4uL2Jpbi9iZWhhdmUgLWYgcGxhaW4gZmVhdHVyZXMvZXhhbXBsZS5m ZWF0dXJlCisrICAgIEZlYXR1cmU6IE92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNl IE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcworKyAgICAgIEJhY2tncm91bmQ6CisrCisrICAg ICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNz ZXMgLi4uIHBhc3NlZAorKyAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKysg ICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUi IC4uLiBwYXNzZWQKKysgICAgRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiBC b2IKKysKKysgICAgICBTY2VuYXJpbzogQm9iCisrICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhl ciBzY2VuYXJpbyBzZXR1cCAuLi4gcGFzc2VkCisrICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBw YXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBT VEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIgLi4uIHBhc3NlZAorKworKyAgICAxIGZlYXR1cmUgcGFz c2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAgIDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWls ZWQsIDAgc2tpcHBlZAorKyAgICA2IHN0ZXBzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwg MCB1bmRlZmluZWQKKysKKysKKytUaGUgZW52aXJvbm1lbnQgZmlsZSBwcm92aWRlcyB0aGUgZ2x1 ZSBjb2RlIHRoYXQgdGhlIGZpeHR1cmUgaXMgY2FsbGVkOgorKworKy4uIGNvZGUtYmxvY2s6OiBw eXRob24KKysKKysgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKyAgICBm cm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVf b3ZlcnJpZGVfYmFja2dyb3VuZAorKyAgICBmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCB1c2Vf Zml4dHVyZV9ieV90YWcKKysKKysgICAgIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorKyAgICBmaXh0 dXJlX3JlZ2lzdHJ5ID0geworKyAgICAgICAgImZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dy b3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAorKyAgICB9CisrCisrICAgICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysgICAgIyBIT09LUzoKKysgICAgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorKyAgICBkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICAgICAgaWYgdGFn LnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CisrICAgICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJl X2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCisrCisrCisrLi4gY29kZS1i bG9jazo6IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6IGJlaGF2ZV9maXh0dXJlX2xpYi9vdmVy cmlkZV9iYWNrZ3JvdW5kLnB5IChmaXh0dXJlIGltcGxlbWVudGF0aW9uKQorKyAgICBmcm9tIGJl aGF2ZSBpbXBvcnQgZml4dHVyZQorKworKyAgICBAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2 ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIikKKysgICAgZGVmIGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3Jv dW5kKGN0eCk6CisrICAgICAgICAjIC0tIFNFVFVQLVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3Jv dW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgorKyAgICAgICAgY3VycmVudF9z Y2VuYXJpbyA9IGN0eC5zY2VuYXJpbworKyAgICAgICAgaWYgY3VycmVudF9zY2VuYXJpbzoKKysg ICAgICAgICAgICBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2Vu YXJpbyhjdXJyZW50X3NjZW5hcmlvKQorKworKyAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr ICAgICMgQkVIQVZFIFVUSUxJVFk6CisrICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAg ZGVmIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNj ZW5hcmlvKToKKysgICAgICAgIHByaW50KCJGSVhUVVJFLUhJTlQ6IERJU0FCTEUtQkFDS0dST1VO RCBGT1I6ICVzIiAlIHNjZW5hcmlvLm5hbWUpCisrICAgICAgICBzY2VuYXJpby5iYWNrZ3JvdW5k ID0gTm9uZQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3Vu ZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJy aWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZTY5ZGUyOQorZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVf YmFja2dyb3VuZC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhh dmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAuLjZjNTcyY2YKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVz L2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVf YmFja2dyb3VuZC5weQorQEAgLTAsMCArMSw4MCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSot CisrIyBSRUxBVEVELVRPOiAjNzU2CisrIiIiCisrRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRl IGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0aGUKKytiYWNrZ3JvdW5kIGluaGVyaXRhbmNl IG1lY2hhbmlzbS4KKysKKysuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKworKyAgICAjIC0tIEZJ TEU6IGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorKyAgICBGZWF0dXJlOiBTaG93IGhvdyBAZml4 dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCBpcyB1c2VkCisrCisrICAgICAgICBCYWNr Z3JvdW5kOgorKyAgICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcAorKworKyAgICAgICAg U2NlbmFyaW86IEFsaWNlCisrICAgICAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAgICAg ICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIgorKwor KyAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZAorKyAgICAgICAgU2Nl bmFyaW86IEJvYgorKyAgICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1 cAorKyAgICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5v dGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysuLiBj b2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1l bnQucHkKKysgICAgZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3ZlcnJpZGVfYmFja2dyb3VuZCBp bXBvcnQgYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQKKysgICAgZnJvbSBiZWhhdmUuZml4dHVy ZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCisrCisrICAgICMgLS0gRklYVFVSRSBSRUdJU1RS WToKKysgICAgZml4dHVyZV9yZWdpc3RyeSA9IHsKKysgICAgICAgICJmaXh0dXJlLmJlaGF2ZS5v dmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKysgICAgfQor KworKyAgICBkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICAgICAgaWYgdGFnLnN0 YXJ0c3dpdGgoImZpeHR1cmUuIik6CisrICAgICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5 X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCisrCisrIiIiCisrCisrZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisrZnJvbSBi ZWhhdmUgaW1wb3J0IGZpeHR1cmUKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBC RUhBVkUgRklYVFVSRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK0BmaXh0dXJlKG5hbWU9 ImZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQiKQorK2RlZiBiZWhhdmVfb3ZlcnJp ZGVfYmFja2dyb3VuZChjdHgpOgorKyAgICAiIiJPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBpbmhl cmludGFuY2UgbWVjaGFuaXNtLgorKyAgICBJZiBhIEZlYXR1cmUgLyBSdWxlIEJhY2tncm91bmQg ZXhpc3RzIGluIGEgRmVhdHVyZSwKKysgICAgYWxsIGNvbnRhaW5lZCBTY2VuYXJpb3MgaW5oZXJp dCB0aGUgQmFja2dyb3VuZCdzIHN0ZXBzLgorKworKyAgICBUaGlzIGZpeHR1cmUgZGlzYWJsZXMg dGhpcyBtZWNoYW5pc20uCisrICAgIFRoZSB0YWdnZWQgR2hlcmtpbiBlbGVtZW50IHdpbGwgbm8g bG9uZ2VyIGluaGVyaXQgdGhlIGJhY2tncm91bmQgc3RlcHMuCisrCisrICAgIDpwYXJhbSBjdHg6 IENvbnRleHQgb2JqZWN0IHRvIHVzZSAoZHVyaW5nIGEgdGVzdCBydW4pLgorKyAgICAiIiIKKysg ICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAo Zm9yIHNjZW5hcmlvcyBvbmx5KS4KKysgICAgY3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJp bworKyAgICBpZiBjdXJyZW50X3NjZW5hcmlvOgorKyAgICAgICAgYmVoYXZlX2Rpc2FibGVfYmFj a2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2NlbmFyaW8oY3VycmVudF9zY2VuYXJpbykKKysKKysK KysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBCRUhBVkUgVVRJTElUWToKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrZGVmIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91bmRfaW5oZXJpdGFuY2Vf Zm9yX3NjZW5hcmlvKHNjZW5hcmlvKToKKysgICAgcHJpbnQoIkZJWFRVUkUtSElOVDogRElTQUJM RS1CQUNLR1JPVU5EIEZPUjogJXMiICUgc2NlbmFyaW8ubmFtZSkKKysgICAgc2NlbmFyaW8uYmFj a2dyb3VuZCA9IE5vbmUKKysgICAgIyBzY2VuYXJpby5fYmFja2dyb3VuZF9zdGVwcyA9IFtdCisr CisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTU9EVUxFIFNQRUNJRklDOgorKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKytmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAgICAiZml4dHVyZS5i ZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCisr fQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0 dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3Vu ZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAuLjdhNGI3MzUKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUub3Zl cnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorQEAgLTAsMCArMSwzNSBA QAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9u bWVudC5weQorK2ltcG9ydCBvcy5wYXRoCisraW1wb3J0IHN5cworKworKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKysjIFBZVEhPTiBQQVRIIFNFVFVQOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KytIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorK1RPUEEgPSBvcy5wYXRoLmFic3Bh dGgob3MucGF0aC5qb2luKEhFUkUsICIuLiIpKQorKworK2RlZiBzZXR1cF9weXRob25fcGF0aCgp OgorKyAgICBzeXMucGF0aC5pbnNlcnQoMCwgVE9QQSkKKysKKytzZXR1cF9weXRob25fcGF0aCgp CisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTk9STUFMIFBBUlQ6CisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorK2Zyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm92ZXJyaWRlX2JhY2tncm91 bmQgaW1wb3J0IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kCisrZnJvbSBiZWhhdmUuZml4dHVy ZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCisrCisrIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgor K2ZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tn cm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKyt9CisrCisrCisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgSE9PS1M6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiBi ZWZvcmVfdGFnKGNvbnRleHQsIHRhZyk6CisrICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJl LiIpOgorKyAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZp eHR1cmVfcmVnaXN0cnkpCisrCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlk ZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSBiL2V4YW1wbGVzL2ZpeHR1cmUu b3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi41ZGRkODc0CistLS0gL2Rldi9udWxsCisrKysgYi9l eGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0 dXJlCitAQCAtMCwwICsxLDE4IEBACisrRmVhdHVyZTogT3ZlcnJpZGUgdGhlIEJhY2tncm91bmQg SW5oZXJpdGFuY2UgTWVjaGFuaXNtIGluIHNvbWUgU2NlbmFyaW9zCisrCisrICAuIEJFV0FSRToK KysgIC4gICBUaGlzIGlzIG9ubHkgYW4gZXhhbXBsZSBob3cgdGhpcyBjYW4gYmUgZG9uZSAoUFJP T0YtT0YtQ09OQ0VQVCkuCisrICAuICAgVGhpcyBpcyBub3QgYW4gZXhhbXBsZSB0aGF0IHlvdSBz aG91bGQgZG8gdGhpcyAhISEKKysKKysgICAgQmFja2dyb3VuZDoKKysgICAgICBHaXZlbiBhIGJh Y2tncm91bmQgc3RlcCBwYXNzZXMKKysKKysgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgV2hl biBhIHN0ZXAgcGFzc2VzCisrICAgICAgQW5kIG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVwcyBh cmUgZXhlY3V0ZWQgaGVyZSIKKysKKysgICAgQGZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dy b3VuZAorKyAgICBTY2VuYXJpbzogQm9iCisrICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2Nl bmFyaW8gc2V0dXAKKysgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKKysgICAgICBBbmQg bm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIgorZGlmZiAt LWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVw cy9iYXNpY19zdGVwcy5weSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9m ZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLjM0ZjIxMDcKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUu b3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weQorQEAgLTAs MCArMSwxMyBAQAorK2Zyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwgc3RlcAorKworKyMgQHN0ZXAo dSd7d29yZH0gc3RlcCBwYXNzZXMnKQorKyMgZGVmIHN0ZXBfcGFzc2VzX3dpdGhfd29yZChjb250 ZXh0LCB3b3JkKToKKysjICAgICBwYXNzCisrCisrQHN0ZXAodSd7d29yZH0gYmFja2dyb3VuZCBz dGVwIHBhc3NlcycpCisrZGVmIHN0ZXBfYmFja2dyb3VuZF9zdGVwX3Bhc3Nlcyhjb250ZXh0LCB3 b3JkKToKKysgICAgcGFzcworKworK0BnaXZlbih1J0kgbmVlZCB7d29yZH0gc2NlbmFyaW8gc2V0 dXAnKQorK2RlZiBzdGVwX2dpdmVuX2lfbmVlZF9zY2VuYXJpb19zZXR1cChjb250ZXh0LCB3b3Jk KToKKysgICAgcGFzcworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFj a2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5IGIvZXhhbXBs ZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGli X2JlaGF2ZTRjbWQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iYzMy YTMyCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tn cm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorQEAgLTAsMCAr MSwxMiBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIiIiCisrVXNlIGJlaGF2ZTRjbWQw IHN0ZXAgbGlicmFyeSAocHJlZGVjZXNzb3Igb2YgYmVoYXZlNGNtZCkuCisrIiIiCisrCisrZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKysKKysjIC0tIFJFR0lTVEVSLVNU RVBTIEZST00gU1RFUC1MSUJSQVJZOgorKyMgaW1wb3J0IGJlaGF2ZTRjbWQwLl9fYWxsX3N0ZXBz X18KKysjIGltcG9ydCBiZWhhdmU0Y21kMC5mYWlsaW5nX3N0ZXBzCisraW1wb3J0IGJlaGF2ZTRj bWQwLnBhc3Npbmdfc3RlcHMKKytpbXBvcnQgYmVoYXZlNGNtZDAubm90ZV9zdGVwcwpkaWZmIC0t Z2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA0NC1GSVgtcHl0aG9uMy44LXJlZ3Jlc3Npb25zLW9uLUNJLXNlcnZlci5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDQtRklYLXB5 dGhvbjMuOC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi5hMzk2NzllN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ0LUZJWC1weXRo b24zLjgtcmVncmVzc2lvbnMtb24tQ0ktc2VydmVyLnBhdGNoCkBAIC0wLDAgKzEsNDg5IEBACitG cm9tIDdlZWUzMWVjNTczYjI5NjBjOWEzMDEzYzBlZTcwYzI3OTUzMzhhNzcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IFN1biwgNyBKdWwgMjAxOSAxMjo0MzoxOSArMDIwMAorU3ViamVjdDogW1BB VENIXSBGSVg6IHB5dGhvbjMuOCByZWdyZXNzaW9ucyBvbiBDSSBzZXJ2ZXIKKworSXNzdWVzIHcv IHB5dGhvbjMuODoKKyogVHJhY2ViYWNrOiBMaW5lIG51bWJlcnMgb2Ygc3RlcCBmdW5jdGlvbnMg ZGlmZmVyICgrMSkKKyogSlVuaXQgWE1MOiBBdHRyaWJ1dGUgb3JkZXJpbmcgb2YgWE1MIGVsZW1l bnQgZGlmZmVycyAoaW4gb3V0cHV0KQorLS0tCisgYmVoYXZlLmluaSAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAzICstCisgZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAgICAg ICB8IDE0ICsrKysrKworIGZlYXR1cmVzL3N0ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUgfCAy MCArKysrLS0tLQorIGlzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgfCAzOCAr KysrKysrKysrKystLS0KKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSAgICAgIHwg NjQgKysrKysrKysrKysrKysrKysrKysrKysrCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZl YXR1cmUgICAgICB8IDcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKworIGlzc3VlLmZlYXR1 cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrCisgdG94 LmluaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgOCBmaWxlcyBjaGFu Z2VkLCAyNDIgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9i ZWhhdmUuaW5pIGIvYmVoYXZlLmluaQoraW5kZXggNDVjMGYwZC4uOTUyMjQwZCAxMDA2NDQKKy0t LSBhL2JlaGF2ZS5pbmkKKysrKyBiL2JlaGF2ZS5pbmkKK0BAIC0xNSw4ICsxNSw5IEBAIHNob3df c2tpcHBlZCA9IGZhbHNlCisgZm9ybWF0ICAgPSByZXJ1bgorICAgICBwcm9ncmVzczMKKyBvdXRm aWxlcyA9IHJlcnVuLnR4dAorLSAgICByZXBvcnRzL3JlcG9ydF9wcm9ncmVzczMudHh0CisrICAg IGJ1aWxkL2JlaGF2ZS5yZXBvcnRzL3JlcG9ydF9wcm9ncmVzczMudHh0CisganVuaXQgPSB0cnVl CisranVuaXRfZGlyZWN0b3J5ID0gYnVpbGQvYmVoYXZlLnJlcG9ydHMKKyBsb2dnaW5nX2xldmVs ID0gSU5GTworICMgbG9nZ2luZ19mb3JtYXQgPSBMT0cuJShsZXZlbG5hbWUpLThzICAlKG5hbWUp LTEwczogJShtZXNzYWdlKXMKKyAjIGxvZ2dpbmdfZm9ybWF0ID0gTE9HLiUobGV2ZWxuYW1lKS04 cyAgJShhc2N0aW1lKXMgICUobmFtZSktMTBzOiAlKG1lc3NhZ2UpcworZGlmZiAtLWdpdCBhL2Zl YXR1cmVzL2Vudmlyb25tZW50LnB5IGIvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDQ3 NDRlODkuLjM3NjllZTQgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysr IGIvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xLDUgKzEsNyBAQAorICMgLSotIGNvZGlu ZzogVVRGLTggLSotCisrIyBGSUxFOiBmZWF0dXJlcy9lbnZpcm9uZW1udC5weQorIAorK2Zyb20g X19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGZyb20g YmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVf dGFnX3ZhbHVlcworIGZyb20gYmVoYXZlNGNtZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQg c2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZQorIGltcG9ydCBwbGF0Zm9ybQor QEAgLTIwLDYgKzIyLDE1IEBAIGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSB7CisgfQorIGFj dGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92 aWRlcikKKyAKKysKKytkZWYgcHJpbnRfYWN0aXZlX3RhZ3Nfc3VtbWFyeSgpOgorKyAgICBhY3Rp dmVfdGFnX2RhdGEgPSBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyCisrICAgIHByaW50KCJBQ1RJ VkUtVEFHIFNVTU1BUlk6IikKKysgICAgcHJpbnQoInVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPSVz IiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoInB5dGhvbi52ZXJzaW9uIikpCisrICAgICMgcHJpbnQo InVzZS53aXRoX29zPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoIm9zIikpCisrICAgIHByaW50 KCkKKysKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBIT09LUzoKKyAjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCitAQCAtMzAsMTEgKzQxLDE0IEBAIGRlZiBiZWZvcmVfYWxsKGNvbnRleHQp OgorICAgICBzZXR1cF9weXRob25fcGF0aCgpCisgICAgIHNldHVwX2NvbnRleHRfd2l0aF9nbG9i YWxfcGFyYW1zX3Rlc3QoY29udGV4dCkKKyAgICAgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNz b3JzNGJlaGF2ZSgpCisrICAgIHByaW50X2FjdGl2ZV90YWdzX3N1bW1hcnkoKQorKworIAorIGRl ZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKToKKyAgICAgaWYgYWN0aXZlX3RhZ19t YXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoZmVhdHVyZS50YWdzKToKKyAgICAgICAgIGZlYXR1 cmUuc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorKwor IGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVf dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6 CisgICAgICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVk ZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVh dHVyZSBiL2ZlYXR1cmVzL3N0ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUKK2luZGV4IDU5ODg4 YjAuLjM5NmNjYTIgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5m ZWF0dXJlCisrKysgYi9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCitAQCAt MzIsMTEgKzMyLDExIEBAIEZlYXR1cmU6IER1cGxpY2F0ZWQgU3RlcCBEZWZpbml0aW9ucworICAg ICAgICAgQW1iaWd1b3VzU3RlcDogQGdpdmVuKCdJIGNhbGwgQWxpY2UnKSBoYXMgYWxyZWFkeSBi ZWVuIGRlZmluZWQgaW4KKyAgICAgICAgIGV4aXN0aW5nIHN0ZXAgQGdpdmVuKCdJIGNhbGwgQWxp Y2UnKSBhdCBmZWF0dXJlcy9zdGVwcy9hbGljZV9zdGVwcy5weTozCisgICAgICAgICAiIiIKKy0g ICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKy0gICAgICAgICIiIgor LSAgICAgICAgRmlsZSAiZmVhdHVyZXMvc3RlcHMvYWxpY2Vfc3RlcHMucHkiLCBsaW5lIDcsIGlu IDxtb2R1bGU+CistICAgICAgICBAZ2l2ZW4odSdJIGNhbGwgQWxpY2UnKQorLSAgICAgICAgIiIi CisrICAgICMgLS0gRElTQUJMRUQ6IFB5dGhvbiAzLjggdHJhY2ViYWNrIGxpbmUgbnVtYmVycyBk aWZmZXIgdy8gZGVjb3JhdG9ycyAoKzEpLgorKyAgICAjIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQg c2hvdWxkIGNvbnRhaW46CisrICAgICMgICAgIiIiCisrICAgICMgICAgRmlsZSAiZmVhdHVyZXMv c3RlcHMvYWxpY2Vfc3RlcHMucHkiLCBsaW5lIDcsIGluIDxtb2R1bGU+CisrICAgICMgICAgIiIi CisgCisgCisgICBTY2VuYXJpbzogRHVwbGljYXRlZCBTdGVwIERlZmluaXRpb24gaW4gYW5vdGhl ciBGaWxlCitAQCAtNzAsMTEgKzcwLDExIEBAIEZlYXR1cmU6IER1cGxpY2F0ZWQgU3RlcCBEZWZp bml0aW9ucworICAgICAgICAgQW1iaWd1b3VzU3RlcDogQGdpdmVuKCdJIGNhbGwgQm9iJykgaGFz IGFscmVhZHkgYmVlbiBkZWZpbmVkIGluCisgICAgICAgICBleGlzdGluZyBzdGVwIEBnaXZlbign SSBjYWxsIEJvYicpIGF0IGZlYXR1cmVzL3N0ZXBzL2JvYjFfc3RlcHMucHk6MworICAgICAgICAg IiIiCistICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CistICAgICAg ICAiIiIKKy0gICAgICAgIEZpbGUgImZlYXR1cmVzL3N0ZXBzL2JvYjJfc3RlcHMucHkiLCBsaW5l IDMsIGluIDxtb2R1bGU+CistICAgICAgICBAZ2l2ZW4oJ0kgY2FsbCBCb2InKQorLSAgICAgICAg IiIiCisrICAgICMgLS0gRElTQUJMRUQ6IFB5dGhvbiAzLjggdHJhY2ViYWNrIGxpbmUgbnVtYmVy cyBkaWZmZXIgdy8gZGVjb3JhdG9ycyAoKzEpLgorKyAgICAjIEFuZCB0aGUgY29tbWFuZCBvdXRw dXQgc2hvdWxkIGNvbnRhaW46CisrICAgICMgICAgIiIiCisrICAgICMgICAgRmlsZSAiZmVhdHVy ZXMvc3RlcHMvYm9iMl9zdGVwcy5weSIsIGxpbmUgMywgaW4gPG1vZHVsZT4KKysgICAgIyAgICAi IiIKKyAKKyAgIEB4ZmFpbAorICAgU2NlbmFyaW86IER1cGxpY2F0ZWQgU2FtZSBTdGVwIERlZmlu aXRpb24gdmlhIGltcG9ydCBmcm9tIGFub3RoZXIgRmlsZQorZGlmZiAtLWdpdCBhL2lzc3VlLmZl YXR1cmVzL2Vudmlyb25tZW50LnB5IGIvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2lu ZGV4IDJkZmVjNzUuLjdlNDhlZTAgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9u bWVudC5weQorKysrIGIvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xLDUgKzEs NSBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCistIyBGSUxFOiBmZWF0dXJlcy9lbnZpcm9u bWVudC5weQorKyMgRklMRTogaXNzdWUuZmVhdHVyZXMvZW52aXJvbmVtbnQucHkKKyAjIHB5bGlu dDogZGlzYWJsZT11bnVzZWQtYXJndW1lbnQKKyAiIiIKKyBGdW5jdGlvbmFsaXR5OgorQEAgLTcs MTcgKzcsMjAgQEAgRnVuY3Rpb25hbGl0eToKKyAgICogYWN0aXZlIHRhZ3MKKyAiIiIKKyAKKy1m cm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisrCisrZnJvbSBfX2Z1dHVyZV9f IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHN5cworIGlt cG9ydCBwbGF0Zm9ybQorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IHNpeAorIGZyb20gYmVoYXZl LnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyCisgZnJvbSBiZWhhdmU0Y21kMC5z ZXR1cF9jb21tYW5kX3NoZWxsIGltcG9ydCBzZXR1cF9jb21tYW5kX3NoZWxsX3Byb2Nlc3NvcnM0 YmVoYXZlCistIyBQUkVQQVJFRDoKKy0jIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBz ZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworKyMgUFJFUEFSRUQ6IGZyb20gYmVoYXZlLnRhZ19tYXRj aGVyIGltcG9ydCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworIAorIAorKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrIyBURVNUIFNVUFBPUlQ6IEZvciBBY3RpdmUgVGFncworKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgZGVmIHJlcXVpcmVfdG9vbCh0b29sX25hbWUpOgorICAgICAiIiJDaGVjayBpZiBh IHRvb2wgKGFuIGV4ZWN1dGFibGUgcHJvZ3JhbSkgaXMgcHJvdmlkZWQgb24gdGhpcyBwbGF0Zm9y bS4KKyAKK0BAIC00NSwxMiArNDgsMTQgQEAgZGVmIHJlcXVpcmVfdG9vbCh0b29sX25hbWUpOgor ICAgICAjIHByaW50KCJUT09MLU5PVC1GT1VORDogJXMiICUgdG9vbF9uYW1lKQorICAgICByZXR1 cm4gRmFsc2UKKyAKKysKKyBkZWYgYXNfYm9vbF9zdHJpbmcodmFsdWUpOgorICAgICBpZiBib29s KHZhbHVlKToKKyAgICAgICAgIHJldHVybiAieWVzIgorICAgICBlbHNlOgorICAgICAgICAgcmV0 dXJuICJubyIKKyAKKysKKyBkZWYgZGlzY292ZXJfY2lfc2VydmVyKCk6CisgICAgICMgcHlsaW50 OiBkaXNhYmxlPWludmFsaWQtbmFtZQorICAgICBjaV9zZXJ2ZXIgPSAibm9uZSIKK0BAIC02Nywx MiArNzIsMTcgQEAgZGVmIGRpc2NvdmVyX2NpX3NlcnZlcigpOgorICAgICByZXR1cm4gY2lfc2Vy dmVyCisgCisgCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEJFSEFWRSBTVVBQT1JUOiBBY3Rp dmUgVGFncworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBA dXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3By b3ZpZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3IgYWN0aXZlIHRhZ3MuCisrcHl0aG9u X3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyBhY3RpdmVfdGFnX3Zh bHVlX3Byb3ZpZGVyID0geworICAgICAicGxhdGZvcm0iOiBzeXMucGxhdGZvcm0sCisgICAgICJw eXRob24yIjogc3RyKHNpeC5QWTIpLmxvd2VyKCksCisgICAgICJweXRob24zIjogc3RyKHNpeC5Q WTMpLmxvd2VyKCksCisrICAgICJweXRob24udmVyc2lvbiI6IHB5dGhvbl92ZXJzaW9uLAorICAg ICAjIC0tIHB5dGhvbi5pbXBsZW1lbnRhdGlvbjogY3B5dGhvbiwgcHlweSwganl0aG9uLCBpcm9u cHl0aG9uCisgICAgICJweXRob24uaW1wbGVtZW50YXRpb24iOiBwbGF0Zm9ybS5weXRob25faW1w bGVtZW50YXRpb24oKS5sb3dlcigpLAorICAgICAicHlweSI6ICAgIHN0cigiX19weXB5X18iIGlu IHN5cy5tb2R1bGVzKS5sb3dlcigpLAorQEAgLTgyLDE3ICs5MiwzMyBAQCBhY3RpdmVfdGFnX3Zh bHVlX3Byb3ZpZGVyID0geworIH0KKyBhY3RpdmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdNYXRj aGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisgCisrCisrZGVmIHByaW50X2FjdGl2ZV90 YWdzX3N1bW1hcnkoKToKKysgICAgYWN0aXZlX3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1ZV9w cm92aWRlcgorKyAgICBwcmludCgiQUNUSVZFLVRBRyBTVU1NQVJZOiIpCisrICAgIHByaW50KCJ1 c2Uud2l0aF9weXRob24udmVyc2lvbj0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJweXRob24u dmVyc2lvbiIpKQorKyAgICAjIHByaW50KCJ1c2Uud2l0aF9wbGF0Zm9ybT0lcyIgJSBhY3RpdmVf dGFnX2RhdGEuZ2V0KCJwbGF0Zm9ybSIpKQorKyAgICAjIHByaW50KCJ1c2Uud2l0aF9vcz0lcyIg JSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJvcyIpKQorKyAgICBwcmludCgpCisrCisrCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysjIEJFSEFWRSBIT09LUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IGRlZiBiZWZvcmVfYWxsKGNvbnRleHQpOgorICAgICAjIC0tIFNFVFVQIEFDVElWRS1UQUcgTUFU Q0hFUiAod2l0aCB1c2VyZGF0YSk6CisgICAgICMgVVNFOiBiZWhhdmUgLUQgYnJvd3Nlcj1zYWZh cmkgLi4uCistICAgICMgTk9ULU5FRURFRDogc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZl X3RhZ192YWx1ZV9wcm92aWRlciwKKy0gICAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZXh0LmNvbmZpZy51c2VyZGF0YSkKKysgICAgIyBOT1QtTkVFREVEOgorKyAg ICAjIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIGNv bnRleHQuY29uZmlnLnVzZXJkYXRhKQorICAgICBzZXR1cF9jb21tYW5kX3NoZWxsX3Byb2Nlc3Nv cnM0YmVoYXZlKCkKKysgICAgcHJpbnRfYWN0aXZlX3RhZ3Nfc3VtbWFyeSgpCisrCisgCisgZGVm IGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpOgorICAgICBpZiBhY3RpdmVfdGFnX21h dGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChmZWF0dXJlLnRhZ3MpOgorICAgICAgICAgZmVhdHVy ZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCisrCisg ZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisgICAgIGlmIGFjdGl2ZV90 YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToK KyAgICAgICAgIHNjZW5hcmlvLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRl X3JlYXNvbikKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSBi L2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitpbmRleCBkYzFlYmU3Li44MWNiNmUy IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKKysrKyBiL2lz c3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitAQCAtNzAsNiArNzAsNyBAQCBGZWF0dXJl OiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVw b3J0cyB3aGVuIC0tbm8tcworICAgICBBbmQgbm90ZSB0aGF0ICJib2IuZmVhdHVyZSBpcyBza2lw cGVkIgorIAorIAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgU2NlbmFyaW86 IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ct c2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ct c2tpcHBlZCBAYWxpY2VfYW5kX2JvYi5mZWF0dXJlc2V0IgorICAgICBUaGVuIGl0IHNob3VsZCBw YXNzIHdpdGg6CitAQCAtODMsNiArODQsMjMgQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBl ZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAg ICAgICA8dGVzdHN1aXRlIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAiIG5hbWU9ImJvYi5Cb2IiIHNr aXBwZWQ9IjEiIHRlc3RzPSIxIiB0aW1lPSIwLjAiPgorICAgICAgICIiIgorIAorKyAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tp cHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorKyAgICBXaGVuIEkg cnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCBAYWxpY2VfYW5kX2Jv Yi5mZWF0dXJlc2V0IgorKyAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAgIiIi CisrICAgICAgMSBmZWF0dXJlIHBhc3NlZCwgMCBmYWlsZWQsIDEgc2tpcHBlZAorKyAgICAgICIi IgorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtYWxpY2UueG1sIiBl eGlzdHMKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAidGVzdF9yZXN1bHRzL1RFU1RTLWJvYi54bWwi IGV4aXN0cworKyAgICBBbmQgdGhlIGZpbGUgInRlc3RfcmVzdWx0cy9URVNUUy1ib2IueG1sIiBz aG91bGQgY29udGFpbjoKKysgICAgICAiIiIKKysgICAgICA8dGVzdHN1aXRlIG5hbWU9ImJvYi5C b2IiIHRlc3RzPSIxIiBlcnJvcnM9IjAiIGZhaWx1cmVzPSIwIiBza2lwcGVkPSIxIiB0aW1lPSIw LjAiPgorKyAgICAgICIiIgorKyAgICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAg ICAgICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjAiIGZhaWx1cmVzPSIwIiBuYW1lPSJib2IuQm9iIiBz a2lwcGVkPSIxIiB0ZXN0cz0iMSIgdGltZT0iMC4wIj4KKysKKysgIEBub3Qud2l0aF9weXRob24u dmVyc2lvbj0zLjgKKyAgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFy aW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZAorICAgICBX aGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNraXBwZWQiCisgICAgIFRo ZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC0xMDIsNyArMTIwLDMwIEBAIEZlYXR1cmU6IElz c3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRz IHdoZW4gLS1uby1zCisgICAgICAgIiIiCisgICAgIEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMg dGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNoYXJseS5mZWF0dXJlIgorIAorKyAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBl ZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNob3duIG5vciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVk CisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tbm8tc2tpcHBlZCIK KysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICIiIgorKyAgICAgIDIgZmVh dHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwgMSBza2lwcGVkCisrICAgICAgMiBzY2VuYXJpb3MgcGFz c2VkLCAwIGZhaWxlZCwgMiBza2lwcGVkCisrICAgICAgIiIiCisrICAgIEFuZCBhIGZpbGUgbmFt ZWQgInRlc3RfcmVzdWx0cy9URVNUUy1hbGljZS54bWwiIGV4aXN0cworKyAgICBBbmQgYSBmaWxl IG5hbWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hhcmx5LnhtbCIgZXhpc3RzCisrICAgIEFuZCB0 aGUgZmlsZSAidGVzdF9yZXN1bHRzL1RFU1RTLWNoYXJseS54bWwiIHNob3VsZCBjb250YWluOgor KyAgICAgICIiIgorKyAgICAgIDx0ZXN0c3VpdGUgbmFtZT0iY2hhcmx5LkNoYXJseSIgdGVzdHM9 IjEiIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAiIHNraXBwZWQ9IjAiCisrICAgICAgIiIiCisrICAg ICAgIyAtLSBISU5UIEZPUjogUHl0aG9uIDwgMy44CisrICAgICAgIyA8dGVzdHN1aXRlIGVycm9y cz0iMCIgZmFpbHVyZXM9IjAiIG5hbWU9ImNoYXJseS5DaGFybHkiIHNraXBwZWQ9IjAiIHRlc3Rz PSIxIgorKyAgICBBbmQgdGhlIGZpbGUgInRlc3RfcmVzdWx0cy9URVNUUy1jaGFybHkueG1sIiBz aG91bGQgbm90IGNvbnRhaW46CisrICAgICAgIiIiCisrICAgICAgPHRlc3RjYXNlIGNsYXNzbmFt ZT0iY2hhcmx5LkNoYXJseSIgbmFtZT0iQ2hhcmx5MiIKKysgICAgICAiIiIKKysgICAgQW5kIG5v dGUgdGhhdCAiQ2hhcmx5MiBpcyB0aGUgc2tpcHBlZCBzY2VuYXJpb24gaW4gY2hhcmx5LmZlYXR1 cmUiCisrCisgCisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICBTY2VuYXJpbzog SnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIHNob3duIGFuZCBjb3VudGVkIHdp dGggLS1zaG93LXNraXBwZWQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRh ZzEgLS1zaG93LXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC0x MjIsMyArMTYzLDI2IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFy ZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgICAgICAgIiIiCisgICAg IEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMgdGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNoYXJs eS5mZWF0dXJlIgorIAorKworKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgU2Nl bmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291 bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0 IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgorKyAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6 CisrICAgICAgIiIiCisrICAgICAgMiBmZWF0dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAxIHNraXBw ZWQKKysgICAgICAyIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFpbGVkLCAyIHNraXBwZWQKKysgICAg ICAiIiIKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAidGVzdF9yZXN1bHRzL1RFU1RTLWFsaWNlLnht bCIgZXhpc3RzCisrICAgIEFuZCBhIGZpbGUgbmFtZWQgInRlc3RfcmVzdWx0cy9URVNUUy1jaGFy bHkueG1sIiBleGlzdHMKKysgICAgQW5kIHRoZSBmaWxlICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hh cmx5LnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgIiIiCisrICAgICAgPHRlc3RzdWl0ZSBu YW1lPSJjaGFybHkuQ2hhcmx5IiB0ZXN0cz0iMiIgZXJyb3JzPSIwIiBmYWlsdXJlcz0iMCIgc2tp cHBlZD0iMSIKKysgICAgICAiIiIKKysgICAgICAjIEhJTlQ6IFB5dGhvbiA8IDMuOAorKyAgICAg ICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjAiIGZhaWx1cmVzPSIwIiBuYW1lPSJjaGFybHkuQ2hhcmx5 IiBza2lwcGVkPSIxIiB0ZXN0cz0iMiIKKysgICAgQW5kIHRoZSBmaWxlICJ0ZXN0X3Jlc3VsdHMv VEVTVFMtY2hhcmx5LnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgIiIiCisrICAgICAgPHRl c3RjYXNlIGNsYXNzbmFtZT0iY2hhcmx5LkNoYXJseSIgbmFtZT0iQ2hhcmx5MiIgc3RhdHVzPSJz a2lwcGVkIgorKyAgICAgICIiIgorKyAgICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlzIHRoZSBz a2lwcGVkIHNjZW5hcmlvbiBpbiBjaGFybHkuZmVhdHVyZSIKKysKK2RpZmYgLS1naXQgYS9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5m ZWF0dXJlCitpbmRleCBhMmVkODkyLi45MDFiZGVjIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVy ZXMvaXNzdWUwNDQ2LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0 dXJlCitAQCAtNTgsNiArNTgsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2Nl bmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgICAgICAgICBiZWhhdmUucmVw b3J0ZXIuanVuaXQuc2hvd19ob3N0bmFtZSA9IEZhbHNlCisgICAgICAgICAiIiIKKyAKKysgICAg QG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBTY2VuYXJpbzogSG9vayBlcnJvciBp biBiZWZvcmVfc2NlbmFyaW8oKQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAt LWp1bml0IGZlYXR1cmVzL2JlZm9yZV9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAg VGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorQEAgLTg2LDYgKzg3LDQwIEBAIEZlYXR1cmU6IElz c3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0 ZXIKKyAgICAgICBBbmQgbm90ZSB0aGF0ICJ0aGUgdHJhY2ViYWNrIGlzIGNvbnRhaW5lZCBpbiB0 aGUgWE1MIGVsZW1lbnQgPGVycm9yLz4iCisgCisgCisrICAgIEB1c2Uud2l0aF9weXRob24udmVy c2lvbj0zLjgKKysgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkK KysgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9iZWZv cmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorKyAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwg d2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAxIGZhaWxl ZCwgMCBza2lwcGVkCisrICAgICAgICAiIiIKKysgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0 IHNob3VsZCBjb250YWluOgorKyAgICAgICAgIiIiCisrICAgICAgICBIT09LLUVSUk9SIGluIGJl Zm9yZV9zY2VuYXJpbzogUnVudGltZUVycm9yOiBPT1BTCisrICAgICAgICAiIiIKKysgICAgICBB bmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMtYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUueG1sIiBz aG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJi ZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5BbGljZSIgdGVzdHM9IjEiIGVycm9ycz0iMSIgZmFpbHVy ZXM9IjAiIHNraXBwZWQ9IjAiCisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0gSElOVCBGT1I6 IFB5dGhvbiA8IDMuOAorKyAgICAgICAgIyA8dGVzdHN1aXRlIGVycm9ycz0iMSIgZmFpbHVyZXM9 IjAiIG5hbWU9ImJlZm9yZV9zY2VuYXJpb19mYWlsdXJlLkFsaWNlIiBza2lwcGVkPSIwIiB0ZXN0 cz0iMSIKKysgICAgICBBbmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMtYmVmb3JlX3NjZW5hcmlv X2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgPGVy cm9yIHR5cGU9IlJ1bnRpbWVFcnJvciIgbWVzc2FnZT0iSE9PSy1FUlJPUiBpbiBiZWZvcmVfc2Nl bmFyaW86IFJ1bnRpbWVFcnJvcjogT09QUyI+CisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0g SElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAgICAgIyA8ZXJyb3IgbWVzc2FnZT0iSE9PSy1F UlJPUiBpbiBiZWZvcmVfc2NlbmFyaW86IFJ1bnRpbWVFcnJvcjogT09QUyIgdHlwZT0iUnVudGlt ZUVycm9yIj4KKysgICAgICBBbmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMtYmVmb3JlX3NjZW5h cmlvX2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAg RmlsZSAiZmVhdHVyZXMvZW52aXJvbm1lbnQucHkiLCBsaW5lIDYsIGluIGJlZm9yZV9zY2VuYXJp bworKyAgICAgICAgICBjYXVzZV9ob29rX2ZhaWx1cmUoKQorKyAgICAgICAgRmlsZSAiZmVhdHVy ZXMvZW52aXJvbm1lbnQucHkiLCBsaW5lIDIsIGluIGNhdXNlX2hvb2tfZmFpbHVyZQorKyAgICAg ICAgICByYWlzZSBSdW50aW1lRXJyb3IoIk9PUFMiKQorKyAgICAgICAgIiIiCisrICAgICAgQW5k IG5vdGUgdGhhdCAidGhlIHRyYWNlYmFjayBpcyBjb250YWluZWQgaW4gdGhlIFhNTCBlbGVtZW50 IDxlcnJvci8+IgorKworKworKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAg IFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkKKyAgICAgICBXaGVuIEkg cnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9hZnRlcl9zY2VuYXJpb19mYWls dXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorQEAgLTExNCwz ICsxNDksMzggQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2st ZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3Io Ik9PUFMiKQorICAgICAgICAgIiIiCisgICAgICAgQW5kIG5vdGUgdGhhdCAidGhlIHRyYWNlYmFj ayBpcyBjb250YWluZWQgaW4gdGhlIFhNTCBlbGVtZW50IDxlcnJvci8+IgorKworKworKyAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGlu IGFmdGVyX3NjZW5hcmlvKCkKKysgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1q dW5pdCBmZWF0dXJlcy9hZnRlcl9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisrICAgICAgVGhl biBpdCBzaG91bGQgZmFpbCB3aXRoOgorKyAgICAgICAgIiIiCisrICAgICAgICAwIHNjZW5hcmlv cyBwYXNzZWQsIDEgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgICAgICIiIgorKyAgICAgIEFuZCB0 aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAg ICAgU2NlbmFyaW86IEIxCisrICAgICAgICAgICAgR2l2ZW4gYW5vdGhlciBzdGVwIHBhc3NlcyAu Li4gcGFzc2VkCisrICAgICAgICBIT09LLUVSUk9SIGluIGFmdGVyX3NjZW5hcmlvOiBSdW50aW1l RXJyb3I6IE9PUFMKKysgICAgICAgICIiIgorKyAgICAgIEFuZCB0aGUgZmlsZSAicmVwb3J0cy9U RVNUUy1hZnRlcl9zY2VuYXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAg ICAiIiIKKysgICAgICAgIDx0ZXN0c3VpdGUgbmFtZT0iYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5C b2IiIHRlc3RzPSIxIiBlcnJvcnM9IjEiIGZhaWx1cmVzPSIwIiBza2lwcGVkPSIwIgorKyAgICAg ICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysgICAgICAgICMg PHRlc3RzdWl0ZSBlcnJvcnM9IjEiIGZhaWx1cmVzPSIwIiBuYW1lPSJhZnRlcl9zY2VuYXJpb19m YWlsdXJlLkJvYiIgc2tpcHBlZD0iMCIgdGVzdHM9IjEiCisrICAgICAgQW5kIHRoZSBmaWxlICJy ZXBvcnRzL1RFU1RTLWFmdGVyX3NjZW5hcmlvX2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoK KysgICAgICAgICIiIgorKyAgICAgICAgPGVycm9yIHR5cGU9IlJ1bnRpbWVFcnJvciIgbWVzc2Fn ZT0iSE9PSy1FUlJPUiBpbiBhZnRlcl9zY2VuYXJpbzogUnVudGltZUVycm9yOiBPT1BTIj4KKysg ICAgICAgICIiIgorKyAgICAgICAgIyAtLSBISU5UIEZPUjogUHl0aG9uIDwgMy44CisrICAgICAg ICAjIDxlcnJvciBtZXNzYWdlPSJIT09LLUVSUk9SIGluIGFmdGVyX3NjZW5hcmlvOiBSdW50aW1l RXJyb3I6IE9PUFMiIHR5cGU9IlJ1bnRpbWVFcnJvciI+CisrICAgICAgQW5kIHRoZSBmaWxlICJy ZXBvcnRzL1RFU1RTLWFmdGVyX3NjZW5hcmlvX2ZhaWx1cmUueG1sIiBzaG91bGQgY29udGFpbjoK KysgICAgICAgICIiIgorKyAgICAgICAgRmlsZSAiZmVhdHVyZXMvZW52aXJvbm1lbnQucHkiLCBs aW5lIDEwLCBpbiBhZnRlcl9zY2VuYXJpbworKyAgICAgICAgICBjYXVzZV9ob29rX2ZhaWx1cmUo KQorKyAgICAgICAgRmlsZSAiZmVhdHVyZXMvZW52aXJvbm1lbnQucHkiLCBsaW5lIDIsIGluIGNh dXNlX2hvb2tfZmFpbHVyZQorKyAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIk9PUFMiKQor KyAgICAgICAgIiIiCisrICAgICAgQW5kIG5vdGUgdGhhdCAidGhlIHRyYWNlYmFjayBpcyBjb250 YWluZWQgaW4gdGhlIFhNTCBlbGVtZW50IDxlcnJvci8+IgorZGlmZiAtLWdpdCBhL2lzc3VlLmZl YXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1 cmUKK2luZGV4IGY4MDY0MGUuLjQ2Zjk2ZTkgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9p c3N1ZTA0NTcuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUK K0BAIC0yNCw2ICsyNCw3IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBp biBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworICAgICAgICAgIiIiCisgCisg CisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgU2NlbmFyaW86IFVzZSBm YWlsaW5nIGFzc2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVuIGEg ZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIK K0BAIC00NCw2ICs0NSwzMSBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMg aW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAgICAgICAgIDxmYWlsdXJl IG1lc3NhZ2U9IkZBSUxFRDogTXkgbmFtZSBpcyAmcXVvdDtBbGljZSZxdW90OyIKKyAgICAgICAg ICIiIgorIAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIFNjZW5hcmlv OiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKysgICAgICBH aXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJlIiB3aXRoOgorKyAgICAg ICAgIiIiCisrICAgICAgICBGZWF0dXJlOgorKyAgICAgICAgICBTY2VuYXJpbzogQWxpY2UKKysg ICAgICAgICAgICBHaXZlbiBhIHN0ZXAgZmFpbHMgd2l0aCBtZXNzYWdlOgorKyAgICAgICAgICAg ICAgJycnCisrICAgICAgICAgICAgICBNeSBuYW1lIGlzICJBbGljZSIKKysgICAgICAgICAgICAg ICcnJworKyAgICAgICAgIiIiCisrICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgZmVh dHVyZXMvZmFpbHMxLmZlYXR1cmUiCisrICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgor KyAgICAgICAgIiIiCisrICAgICAgICAwIHNjZW5hcmlvcyBwYXNzZWQsIDEgZmFpbGVkLCAwIHNr aXBwZWQKKysgICAgICAgICIiIgorKyAgICAgIEFuZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1m YWlsczEueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgPGZhaWx1 cmUgdHlwZT0iQXNzZXJ0aW9uRXJyb3IiIG1lc3NhZ2U9IkZBSUxFRDogTXkgbmFtZSBpcyAmcXVv dDtBbGljZSZxdW90OyI+CisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0gSElOVCBGT1I6IFB5 dGhvbiA8IDMuOAorKyAgICAgICAgIyA8ZmFpbHVyZSBtZXNzYWdlPSJGQUlMRUQ6IE15IG5hbWUg aXMgJnF1b3Q7QWxpY2UmcXVvdDsiCisrCisrCisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lv bj0zLjgKKyAgICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0 CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIgd2l0 aDoKKyAgICAgICAgICIiIgorQEAgLTYzLDMgKzg5LDI2IEBAIEZlYXR1cmU6IElzc3VlICM0NTcg LS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cwor ICAgICAgICAgIiIiCisgICAgICAgICA8ZXJyb3IgbWVzc2FnZT0iTXkgbmFtZSBpcyAmcXVvdDtC b2ImcXVvdDsgYW5kICZsdDtoZXJlJmd0OyBJIGFtIgorICAgICAgICAgIiIiCisrCisrICAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24g aW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJl cy9mYWlsczIuZmVhdHVyZSIgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgRmVhdHVyZToK KysgICAgICAgICAgU2NlbmFyaW86IEJvYgorKyAgICAgICAgICAgIEdpdmVuIGEgc3RlcCBmYWls cyB3aXRoIGVycm9yIGFuZCBtZXNzYWdlOgorKyAgICAgICAgICAgICAgJycnCisrICAgICAgICAg ICAgICBNeSBuYW1lIGlzICJCb2IiIGFuZCA8aGVyZT4gSSBhbQorKyAgICAgICAgICAgICAgJycn CisrICAgICAgICAiIiIKKysgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCBmZWF0dXJl cy9mYWlsczIuZmVhdHVyZSIKKysgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisrICAg ICAgICAiIiIKKysgICAgICAgIDAgc2NlbmFyaW9zIHBhc3NlZCwgMSBmYWlsZWQsIDAgc2tpcHBl ZAorKyAgICAgICAgIiIiCisrICAgICAgQW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWZhaWxz Mi54bWwiIHNob3VsZCBjb250YWluOgorKyAgICAgICAgIiIiCisrICAgICAgICA8ZXJyb3IgdHlw ZT0iUnVudGltZUVycm9yIiBtZXNzYWdlPSJNeSBuYW1lIGlzICZxdW90O0JvYiZxdW90OyBhbmQg Jmx0O2hlcmUmZ3Q7IEkgYW0iPgorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9S OiBQeXRob24gPCAzLjgKKysgICAgICAgICMgPGVycm9yIG1lc3NhZ2U9Ik15IG5hbWUgaXMgJnF1 b3Q7Qm9iJnF1b3Q7IGFuZCAmbHQ7aGVyZSZndDsgSSBhbSIKK2RpZmYgLS1naXQgYS90b3guaW5p IGIvdG94LmluaQoraW5kZXggZDJmYmNlMi4uYjgyNTkyMSAxMDA2NDQKKy0tLSBhL3RveC5pbmkK KysrKyBiL3RveC5pbmkKK0BAIC0yOCw3ICsyOCw3IEBACisgCisgW3RveF0KKyBtaW52ZXJzaW9u ICAgPSAyLjMKKy1lbnZsaXN0ICAgICAgPSBweTI3LCBweTM3LCBweTM2LCBweTM1LCBweTM0LCBw eTMzLCBweXB5LCBkb2NzCisrZW52bGlzdCAgICAgID0gcHkyNywgcHkzNywgcHkzOCwgcHkzNiwg cHkzNSwgcHlweSwgZG9jcworIHNraXBfbWlzc2luZ19pbnRlcnByZXRlcnMgPSBUcnVlCisgc2l0 ZXBhY2thZ2VzID0gRmFsc2UKKyBpbmRleHNlcnZlciA9CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ1LVVQREFURS1NYXJr LWlzc3VlLTc1NS1hcy1maXhlZC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDUtVVBEQVRFLU1hcmstaXNzdWUtNzU1LWFzLWZpeGVk LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMTkxMzc1YzJkCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA0NS1VUERBVEUtTWFyay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2gKQEAg LTAsMCArMSw0NiBAQAorRnJvbSA3MTM2Yjk1NWZhOGZkY2ZkMmU2NmZjMTBkODg3NWZhYmY1MDM0 ZDNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vy cy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDcgSnVsIDIwMTkgMTI6NTk6NTcgKzAy MDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRFOiBNYXJrIGlzc3VlICM3NTUgYXMgZml4ZWQuCisK Ky0tLQorIENIQU5HRVMucnN0IHwgMTEgKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3Qg Yi9DSEFOR0VTLnJzdAoraW5kZXggZDE2NTI3NS4uMzEyY2JiYSAxMDA2NDQKKy0tLSBhL0NIQU5H RVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTI3LDI4ICsyNywyNSBAQCBFTkhBTkNFTUVO VFM6CisgKiBVc2UgYGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2BfIHdpdGggdGFnLW1hdGNoaW5n IGV4dGVuc2lvbiAoc3VwZXJjZWVkczogb2xkLXN0eWxlIHRhZy1leHByZXNzaW9ucykKKyAqIFVz ZSBjdWN1bWJlciAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgbm93IChzaW1wbGlmeTogR2hlcmtp biB2NiBhbGlhc2VzLCBsYW5ndWFnZSB1c2FnZSkKKyAqIFN1cHBvcnQgZW1vamlzIGluIGBgKi5m ZWF0dXJlYGAgZmlsZXMgYW5kIHN0ZXBzCisrKiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBw b3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVyIiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRs aW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKyAqIGlzc3VlICM2Nzg6IFNjZW5hcmlvIE91dGxpbmU6 IFN1cHBvcnQgdGFncyB3aXRoIGNvbW1hcyBhbmQgc2VtaWNvbG9ucyAocHJvdmlkZWQgYnk6IGxh d25tb3dlcmxhdHRlLCBwdWxsICM2NzkpCisgKiBpc3N1ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNh bm5vdCBiZSBmb3VuZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAocHJvdmlkZWQgYnk6IHNt YWRuZXNzLCBwdWxsICM2ODApCistKiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZv ciAiU2NlbmFyaW8gY29udGFpbmVyIiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAo cmVsYXRlZCB0bzogIzM5MSkKKy0KKy1QQVJUSUFMTFkgRklYRUQ6CistCistKiBpc3N1ZSAjNzU1 OiBGYWlsdXJlcyB3aXRoIFB5dGhvbiAzLjggKHN1Ym1pdHRlZCBieTogaHJvbmNvaykKKyAKKyBG SVhFRDoKKyAKKy0qIHB1bGwgICM1ODg6IFN0ZXBzLWNhdGFsb2cgYXJndW1lbnQgc2hvdWxkIG5v dCBicmVhayBjb25maWd1cmVkIHJlcnVuIHNldHRpbmdzIChwcm92aWRlZCBieTogTGVnbzMpCisr KiBpc3N1ZSAjNzU1OiBGYWlsdXJlcyB3aXRoIFB5dGhvbiAzLjggKHN1Ym1pdHRlZCBieTogaHJv bmNvaykKKyAqIGlzc3VlICM3MjU6IFNjZW5hcmlvIE91dGxpbmUgZGVzY3JpcHRpb24gbGluZXMg c2VlbSB0byBiZSBpZ25vcmVkIChzdWJtaXR0ZWQgYnk6IG5pendpeikKKyAqIGlzc3VlICM3MTM6 IEJhY2tncm91bmQgc2VjdGlvbiBkb2Vzbid0IHN1cHBvcnQgZGVzY3JpcHRpb24gKHByb3ZpZGVk IGJ5OiBkZ291KQorICogcHVsbCAgIzY1NzogQWxsb3cgYXN5bmMgc3RlcHMgd2l0aCB0aW1lb3V0 cyB0byBmYWlsIHdoZW4gdGhleSByYWlzZSBleGNlcHRpb25zIChwcm92aWRlZCBieTogQUxTY2h3 YWxtKQorICogaXNzdWUgIzYzMTogU2NlbmFyaW9PdXRsaW5lIHZhcmlhYmxlcyBub3QgcG9zc2li bGUgaW4gdGFibGUgaGVhZGluZ3MgKHByb3ZpZGVkIGJ5OiBtc2NobmVsbGUsIHB1bGwgIzY0MikK KyAqIGlzc3VlICM2MTk6IENvbnRleHQgX19nZXRhdHRyX18gc2hvdWxkIHJhaXNlIEF0dHJpYnV0 ZUVycm9yIGluc3RlYWQgb2YgS2V5RXJyb3IgKHN1Ym1pdHRlZCBieTogYW54b2RpbykKKysqIHB1 bGwgICM1ODg6IFN0ZXBzLWNhdGFsb2cgYXJndW1lbnQgc2hvdWxkIG5vdCBicmVhayBjb25maWd1 cmVkIHJlcnVuIHNldHRpbmdzIChwcm92aWRlZCBieTogTGVnbzMpCisgCisgTUlOT1I6CisgCisr KiBwdWxsICAjNjYwOiBGaXggbWlub3IgdHlwb3MgKHByb3ZpZGVkIGJ5OiBycnVldGgpCisgKiBw dWxsICAjNjU1OiBVc2UgcHl0ZXN0IGluc3RlYWQgb2YgcHkudGVzdCBwZXIgdXBzdHJlYW0gcmVj b21tZW5kYXRpb24gKHByb3ZpZGVkIGJ5OiBzY29wKQorICogaXNzdWUgIzY1NDogdG94LmluaTog cHlwaS5weXRob24ub3JnIC0+IHB5cGkub3JnIChzdWJtaXR0ZWQgYnk6IHByYWR5dW5zZykKKy0q IHB1bGwgICM2NjA6IEZpeCBtaW5vciB0eXBvcyAocHJvdmlkZWQgYnk6IHJydWV0aCkKKyAKKyBE T0NVTUVOVEFUSU9OOgorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ni1VUERBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5n dWFnZXMuanNvbi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNDYtVVBEQVRFLUN1Y3VtYmVyLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24u cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43YjA3ZTRhMTgKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDQ2LVVQREFURS1DdWN1bWJlci1naGVya2luLWxhbmd1YWdlcy5qc29uLnBh dGNoCkBAIC0wLDAgKzEsNTcgQEAKK0Zyb20gODA2MzJmMmY0OGM1OGE2OTY3Mzk5MTk5MTA0MWY3 MTkyZjcwODk4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA3IEp1bCAyMDE5IDIzOjM1 OjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFURTogQ3VjdW1iZXIgZ2hlcmtpbi1sYW5n dWFnZXMuanNvbgorCistLS0KKyBiZWhhdmUvaTE4bi5weSAgICAgICAgICAgICAgICAgICAgIHwg NSArKysrLQorIGV0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gfCA2ICsrKysrLQor IDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYmVoYXZlL2kxOG4ucHkgYi9iZWhhdmUvaTE4bi5weQoraW5kZXggOWViOWFhYi4u NzIxYzRjMyAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9pMThuLnB5CisrKysgYi9iZWhhdmUvaTE4bi5w eQorQEAgLTM4Miw2ICszODIsOSBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAnZmVhdHVyZSc6 IFsnRm9uY3Rpb25uYWxpdMOpJ10sCisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywKKyAgICAgICAg ICAgICAgICAgICAnU29pdCAnLAorKyAgICAgICAgICAgICAgICAgICdTYWNoYW50IHF1ZSAnLAor KyAgICAgICAgICAgICAgICAgICJTYWNoYW50IHF1JyIsCisrICAgICAgICAgICAgICAgICAgJ1Nh Y2hhbnQgJywKKyAgICAgICAgICAgICAgICAgICAnRXRhbnQgZG9ubsOpIHF1ZSAnLAorICAgICAg ICAgICAgICAgICAgICJFdGFudCBkb25uw6kgcXUnIiwKKyAgICAgICAgICAgICAgICAgICAnRXRh bnQgZG9ubsOpICcsCitAQCAtMzk5LDcgKzQwMiw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAg ICdydWxlJzogWydSw6hnbGUnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnRXhlbXBsZScsICdT Y8OpbmFyaW8nXSwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydQbGFuIGR1IHNjw6lu YXJpbycsICdQbGFuIGR1IFNjw6luYXJpbyddLAorLSAgICAgICAgJ3RoZW4nOiBbJyogJywgJ0Fs b3JzICddLAorKyAgICAgICAgJ3RoZW4nOiBbJyogJywgJ0Fsb3JzICcsICdEb25jICddLAorICAg ICAgICAgJ3doZW4nOiBbJyogJywgJ1F1YW5kICcsICdMb3JzcXVlICcsICJMb3JzcXUnIl19LAor ICAnZ2EnOiB7J2FuZCc6IFsnKiAnLCAnQWd1cyddLAorICAgICAgICAgJ2JhY2tncm91bmQnOiBb J0PDumxyYSddLAorZGlmZiAtLWdpdCBhL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpz b24gYi9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCitpbmRleCBiMDhlMGY1Li45 MTNjZmFjIDEwMDY0NAorLS0tIGEvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgor KysrIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorQEAgLTEyNTYsNiArMTI1 Niw5IEBACisgICAgICJnaXZlbiI6IFsKKyAgICAgICAiKiAiLAorICAgICAgICJTb2l0ICIsCisr ICAgICAgIlNhY2hhbnQgcXVlICIsCisrICAgICAgIlNhY2hhbnQgcXUnIiwKKysgICAgICAiU2Fj aGFudCAiLAorICAgICAgICJFdGFudCBkb25uw6kgcXVlICIsCisgICAgICAgIkV0YW50IGRvbm7D qSBxdSciLAorICAgICAgICJFdGFudCBkb25uw6kgIiwKK0BAIC0xMjg0LDcgKzEyODcsOCBAQAor ICAgICBdLAorICAgICAidGhlbiI6IFsKKyAgICAgICAiKiAiLAorLSAgICAgICJBbG9ycyAiCisr ICAgICAgIkFsb3JzICIsCisrICAgICAgIkRvbmMgIgorICAgICBdLAorICAgICAid2hlbiI6IFsK KyAgICAgICAiKiAiLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ny1naGVya2luLUFkZGluZy1SdWxlLWtleXdvcmQtdHJh bnNsYXRpb24taW4tcG9ydHVndWVzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ny1naGVya2luLUFkZGluZy1SdWxlLWtleXdvcmQt dHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uMGFhODkzMTEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ny1naGVya2luLUFkZGluZy1S dWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBhdGNoCkBAIC0wLDAgKzEsMjAy IEBACitGcm9tIGU1N2YwOGQ0MzUwMGVmMTEyMDBmMjMwZWM2YzBhNTFmNzUxODNmYTkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHku Z2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgOCBKdWwgMjAxOSAwMDozODoyNiArMDIwMAorU3ViamVj dDogW1BBVENIXSBnaGVya2luOiBBZGRpbmcgUnVsZSBrZXl3b3JkIHRyYW5zbGF0aW9uIGluIHBv cnR1Z3Vlc2UgYW5kCisgc3BhbmlzaCB0byBnaGVya2luLWxhbmd1YWdlcy5qc29uCisKKyogSW50 ZWdyYXRlIGNoYW5nZXMgYmFzZWQgb24gbWVyZ2VkIGN1Y3VtYmVyIHB1bGwtcmVxdWVzdCAjNjIx CisqIFVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIKKyogVXBkYXRlICJiZWhhdmUvaTE4 bi5weSIgKGdlbmVyYXRlZCBmcm9tOiBnaGVya2luLWxhbmd1YWdlcy5qc29uKQorCitSRUxBVEVE LVRPOiBwdWxsICM3NTEgKHNhbWU7IHVzaW5nIHRoZSBvZmZpY2lhbCB3YXkpCistLS0KKyBDSEFO R0VTLnJzdCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKworIGJlaGF2ZS9maXh0dXJlLnB5 ICAgICAgICAgICAgICAgICAgfCAgMSAtCisgYmVoYXZlL2kxOG4ucHkgICAgICAgICAgICAgICAg ICAgICB8ICA0ICstLQorIGV0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gfCAgNCAr LS0KKyBpbnZva2UueWFtbCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrCisgdGFza3Mv X19pbml0X18ucHkgICAgICAgICAgICAgICAgICB8ICAzICsrCisgdGFza3MvZGV2ZWxvcC5weSAg ICAgICAgICAgICAgICAgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHRh c2tzL3B5LnJlcXVpcmVtZW50cy50eHQgICAgICAgICAgfCAgMyArKworIDggZmlsZXMgY2hhbmdl ZCwgNzMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQg dGFza3MvZGV2ZWxvcC5weQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJz dAoraW5kZXggMzEyY2JiYS4uMTVhNGVmOSAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysg Yi9DSEFOR0VTLnJzdAorQEAgLTQzLDYgKzQzLDcgQEAgRklYRUQ6CisgCisgTUlOT1I6CisgCisr KiBwdWxsICAjNzUxOiBnaGVya2luOiBBZGRpbmcgUnVsZSBrZXl3b3JkIHRyYW5zbGF0aW9uIGlu IHBvcnR1Z3Vlc2UgYW5kIHNwYW5pc2ggdG8gZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiAocHJvdmlk ZWQgYnk6IGR1bm9zc2F1cm8pCisgKiBwdWxsICAjNjYwOiBGaXggbWlub3IgdHlwb3MgKHByb3Zp ZGVkIGJ5OiBycnVldGgpCisgKiBwdWxsICAjNjU1OiBVc2UgcHl0ZXN0IGluc3RlYWQgb2YgcHku dGVzdCBwZXIgdXBzdHJlYW0gcmVjb21tZW5kYXRpb24gKHByb3ZpZGVkIGJ5OiBzY29wKQorICog aXNzdWUgIzY1NDogdG94LmluaTogcHlwaS5weXRob24ub3JnIC0+IHB5cGkub3JnIChzdWJtaXR0 ZWQgYnk6IHByYWR5dW5zZykKK2RpZmYgLS1naXQgYS9iZWhhdmUvZml4dHVyZS5weSBiL2JlaGF2 ZS9maXh0dXJlLnB5CitpbmRleCAyMTA5M2IwLi4zYTlmMWJjIDEwMDY0NAorLS0tIGEvYmVoYXZl L2ZpeHR1cmUucHkKKysrKyBiL2JlaGF2ZS9maXh0dXJlLnB5CitAQCAtMzQ4LDcgKzM0OCw2IEBA IGRlZiB1c2VfY29tcG9zaXRlX2ZpeHR1cmVfd2l0aChjb250ZXh0LCBmaXh0dXJlX2Z1bmNzX3dp dGhfcGFyYW1zKToKKyAgICAgcmV0dXJuIGNvbXBvc2l0ZV9maXh0dXJlCisgCisgCistCisgIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBERUNPUkFUT1JTOgorICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9pMThuLnB5IGIvYmVoYXZlL2kxOG4ucHkKK2lu ZGV4IDcyMWM0YzMuLjI3ODFhZmUgMTAwNjQ0CistLS0gYS9iZWhhdmUvaTE4bi5weQorKysrIGIv YmVoYXZlL2kxOG4ucHkKK0BAIC0zMzEsNyArMzMxLDcgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAg ICAgJ2dpdmVuJzogWycqICcsICdEYWRvICcsICdEYWRhICcsICdEYWRvcyAnLCAnRGFkYXMgJ10s CisgICAgICAgICAnbmFtZSc6ICdTcGFuaXNoJywKKyAgICAgICAgICduYXRpdmUnOiAnZXNwYcOx b2wnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWydSZWds YSddLAorICAgICAgICAgJ3NjZW5hcmlvJzogWydFamVtcGxvJywgJ0VzY2VuYXJpbyddLAorICAg ICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ0VzcXVlbWEgZGVsIGVzY2VuYXJpbyddLAorICAg ICAgICAgJ3RoZW4nOiBbJyogJywgJ0VudG9uY2VzICddLAorQEAgLTc2Miw3ICs3NjIsNyBAQCBs YW5ndWFnZXMgPSBcCisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ0RhZG8gJywgJ0RhZGEgJywg J0RhZG9zICcsICdEYWRhcyAnXSwKKyAgICAgICAgICduYW1lJzogJ1BvcnR1Z3Vlc2UnLAorICAg ICAgICAgJ25hdGl2ZSc6ICdwb3J0dWd1w6pzJywKKy0gICAgICAgICdydWxlJzogWydSdWxlJ10s CisrICAgICAgICAncnVsZSc6IFsnUmVncmEnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnRXhl bXBsbycsICdDZW7DoXJpbycsICdDZW5hcmlvJ10sCisgICAgICAgICAnc2NlbmFyaW9fb3V0bGlu ZSc6IFsnRXNxdWVtYSBkbyBDZW7DoXJpbycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnRXNxdWVtYSBkbyBDZW5hcmlvJywKK2RpZmYgLS1naXQgYS9ldGMvZ2hlcmtpbi9naGVya2lu LWxhbmd1YWdlcy5qc29uIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgoraW5k ZXggOTEzY2ZhYy4uMjljYmNhMSAxMDA2NDQKKy0tLSBhL2V0Yy9naGVya2luL2doZXJraW4tbGFu Z3VhZ2VzLmpzb24KKysrKyBiL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KK0BA IC0xMDg0LDcgKzEwODQsNyBAQAorICAgICAibmFtZSI6ICJTcGFuaXNoIiwKKyAgICAgIm5hdGl2 ZSI6ICJlc3Bhw7FvbCIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAgICJS ZWdsYSIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICJFamVtcGxvIiwKK0BA IC0yNTUzLDcgKzI1NTMsNyBAQAorICAgICAibmFtZSI6ICJQb3J0dWd1ZXNlIiwKKyAgICAgIm5h dGl2ZSI6ICJwb3J0dWd1w6pzIiwKKyAgICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAg ICAgIlJlZ3JhIgorICAgICBdLAorICAgICAic2NlbmFyaW8iOiBbCisgICAgICAgIkV4ZW1wbG8i LAorZGlmZiAtLWdpdCBhL2ludm9rZS55YW1sIGIvaW52b2tlLnlhbWwKK2luZGV4IDNlOTNjZmMu LmQ2ZjE0MWMgMTAwNjQ0CistLS0gYS9pbnZva2UueWFtbAorKysrIGIvaW52b2tlLnlhbWwKK0BA IC0zOCw2ICszOCwxMCBAQCBjbGVhbnVwOgorICAgICAgIC0gIl9fV09SS0RJUl9fIgorICAgICAg IC0gcmVwb3J0cworIAorKyAgICBleHRyYV9maWxlczoKKysgICAgICAtICJldGMvZ2hlcmtpbi9n aGVya2luKi5qc29uLlNBVkVEIgorKyAgICAgIC0gImV0Yy9naGVya2luL2kxOG4ucHkiCisrCisg Y2xlYW51cF9hbGw6CisgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorICAgICAgIC0gLmh5cG90aGVz aXMKK2RpZmYgLS1naXQgYS90YXNrcy9fX2luaXRfXy5weSBiL3Rhc2tzL19faW5pdF9fLnB5Citp bmRleCA5NjlhOTRhLi5hNTcyNDY1IDEwMDY0NAorLS0tIGEvdGFza3MvX19pbml0X18ucHkKKysr KyBiL3Rhc2tzL19faW5pdF9fLnB5CitAQCAtMzksNiArMzksOCBAQCBmcm9tIC4gaW1wb3J0IF90 YXNrbGV0X2NsZWFudXAgYXMgY2xlYW51cAorIGZyb20gLiBpbXBvcnQgZG9jcworIGZyb20gLiBp bXBvcnQgdGVzdAorIGZyb20gLiBpbXBvcnQgcmVsZWFzZQorK2Zyb20gLiBpbXBvcnQgZGV2ZWxv cAorKworIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRBU0tTOgorQEAgLTU2LDYgKzU4 LDcgQEAgbmFtZXNwYWNlLmFkZF9jb2xsZWN0aW9uKENvbGxlY3Rpb24uZnJvbV9tb2R1bGUoY2xl YW51cCksIG5hbWU9ImNsZWFudXAiKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0 aW9uLmZyb21fbW9kdWxlKGRvY3MpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0 aW9uLmZyb21fbW9kdWxlKHRlc3QpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0 aW9uLmZyb21fbW9kdWxlKHJlbGVhc2UpKQorK25hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xs ZWN0aW9uLmZyb21fbW9kdWxlKGRldmVsb3ApKQorIGNsZWFudXAuY2xlYW51cF90YXNrcy5hZGRf dGFzayhjbGVhbnVwLmNsZWFuX3B5dGhvbikKKyAKKyBjbGVhbnVwLmNsZWFudXBfdGFza3MuYWRk X3Rhc2soY2xlYW51cC5jbGVhbl9weXRob24pCitkaWZmIC0tZ2l0IGEvdGFza3MvZGV2ZWxvcC5w eSBiL3Rhc2tzL2RldmVsb3AucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw Li5iMDhkZjBlCistLS0gL2Rldi9udWxsCisrKysgYi90YXNrcy9kZXZlbG9wLnB5CitAQCAtMCww ICsxLDU4IEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysiIiIKKytEZXZlbG9wbWVudCB0 YXNrcworKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBw cmludF9mdW5jdGlvbgorK2Zyb20gaW52b2tlIGltcG9ydCBDb2xsZWN0aW9uLCB0YXNrCisrZnJv bSBpbnZva2UudXRpbCBpbXBvcnQgY2QKKytmcm9tIHBhdGggaW1wb3J0IFBhdGgKKytpbXBvcnQg cmVxdWVzdHMKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDT05TVEFOVFM6CisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorK0dIRVJLSU5fTEFOR1VBR0VTX1VSTCA9ICJodHRwczovL3Jh dy5naXRodWJ1c2VyY29udGVudC5jb20vY3VjdW1iZXIvY3VjdW1iZXIvbWFzdGVyL2doZXJraW4v Z2hlcmtpbi1sYW5ndWFnZXMuanNvbiIKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBUQVNLUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrQHRhc2sobmFtZT0idXBkYXRlX2do ZXJraW4iKSAjIFRPTy1MT05HUzogYWxpYXNlcz1bInVwZGF0ZV9naGVya2luX2xhbmd1YWdlcyJd KQorK2RlZiB1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMoY3R4KToKKysgICAgIiIiVXBkYXRlICJn aGVya2luLWxhbmd1YWdlcy5qc29uIiBmaWxlIGZyb20gY3VjdW1iZXItcmVwby4iIiIKKysgICAg d2l0aCBjZCgiZXRjL2doZXJraW4iKToKKysgICAgICAgICMgLS0gQkFDS1VQLUZJTEU6CisrICAg ICAgICBnaGVya2luX2xhbmd1YWdlc19maWxlID0gUGF0aCgiZ2hlcmtpbi1sYW5ndWFnZXMuanNv biIpCisrICAgICAgICBnaGVya2luX2xhbmd1YWdlc19maWxlLmNvcHkoImdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24uU0FWRUQiKQorKworKyAgICAgICAgcHJpbnQoJ0Rvd25sb2FkaW5nICJnaGVya2lu LWxhbmd1YWdlcy5qc29uIiBmcm9tIGdpdGh1YjpjdWN1bWJlciAuLi4nKQorKyAgICAgICAgZG93 bmxvYWRfcmVxdWVzdCA9IHJlcXVlc3RzLmdldChHSEVSS0lOX0xBTkdVQUdFU19VUkwpCisrICAg ICAgICBnaGVya2luX2xhbmd1YWdlc19uZXdmaWxlID0gUGF0aCgiZ2hlcmtpbi1sYW5ndWFnZXMu anNvbi5ORVciKQorKyAgICAgICAgYXNzZXJ0IGRvd25sb2FkX3JlcXVlc3Qub2sKKysgICAgICAg IHByaW50KCdEb3dubG9hZCBmaW5pc2hlZDogT0sgKHNpemU9ezB9KScuZm9ybWF0KGxlbihkb3du bG9hZF9yZXF1ZXN0LmNvbnRlbnQpKSkKKysgICAgICAgIHdpdGggb3BlbihnaGVya2luX2xhbmd1 YWdlc19uZXdmaWxlLCAid2IiKSBhcyBmOgorKyAgICAgICAgICAgIGYud3JpdGUoZG93bmxvYWRf cmVxdWVzdC5jb250ZW50KQorKyAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZS5yZW5h bWUoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iKQorKworKyAgICAgICAgcHJpbnQoJ0dlbmVyYXRp bmcgImkxOG4ucHkiIC4uLicpCisrICAgICAgICBjdHgucnVuKCIuL2NvbnZlcnRfZ2hlcmtpbi1s YW5ndWFnZXMucHkiKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFRBU0sgSEVM UEVSUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIHByaW50X3BhY2thZ2VzKHBhY2th Z2VzKToKKysgICAgcHJpbnQoIlBBQ0tBR0VTWyVkXToiICUgbGVuKHBhY2thZ2VzKSkKKysgICAg Zm9yIHBhY2thZ2UgaW4gcGFja2FnZXM6CisrICAgICAgICBwYWNrYWdlX3NpemUgPSBwYWNrYWdl LnN0YXQoKS5zdF9zaXplCisrICAgICAgICBwYWNrYWdlX3RpbWUgPSBwYWNrYWdlLnN0YXQoKS5z dF9tdGltZQorKyAgICAgICAgcHJpbnQoIiAgLSAlcyAgKHNpemU9JXMpIiAlIChwYWNrYWdlLCBw YWNrYWdlX3NpemUpKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFRBU0sgQ09O RklHVVJBVElPTjoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrbmFtZXNwYWNlID0gQ29sbGVj dGlvbigpCisrbmFtZXNwYWNlLmFkZF90YXNrKHVwZGF0ZV9naGVya2luX2xhbmd1YWdlcykKKytu YW1lc3BhY2UuY29uZmlndXJlKHt9KQorZGlmZiAtLWdpdCBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50 cy50eHQgYi90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCBlNzcyZDVlLi5hNzdkM2Jj IDEwMDY0NAorLS0tIGEvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIvdGFza3MvcHku cmVxdWlyZW1lbnRzLnR4dAorQEAgLTE2LDMgKzE2LDYgQEAgc2l4ID49IDEuMTIuMAorICMgLS0g UFlUSE9OMiBCQUNLUE9SVFM6CisgcGF0aGxpYjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcK KyBiYWNrcG9ydHMuc2h1dGlsX3doaWNoOyBweXRob25fdmVyc2lvbiA8PSAnMy4zJworKworKyMg LS0gU0VDVElPTjogZGV2ZWxvcAorK3JlcXVlc3RzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10by11cGRh dGUtZ2VuZXJhdGUtZnJvbS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0Y2ggYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10by11 cGRhdGUtZ2VuZXJhdGUtZnJvbS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wNzQzOWUwYmQKLS0tIC9kZXYvbnVsbAorKysg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ4 LVR3ZWFrcy10by11cGRhdGUtZ2VuZXJhdGUtZnJvbS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0 Y2gKQEAgLTAsMCArMSwxNDEgQEAKK0Zyb20gOTU4M2MyZmE5MGU5NThjYWZmNTFiM2I3Y2E4YzE3 NjQ2ODEyM2ZkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCA4IEp1bCAyMDE5IDAxOjA3 OjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFR3ZWFrcyB0byB1cGRhdGUvZ2VuZXJhdGUgZnJv bSBnaGVya2luLWxhbmd1YWdlcy5qc29uCisKKy0tLQorIGV0Yy9naGVya2luL2NvbnZlcnRfZ2hl cmtpbi1sYW5ndWFnZXMucHkgfCAxNiArKysrKysrLS0tLQorIHRhc2tzL2RldmVsb3AucHkgICAg ICAgICAgICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyAyIGZp bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGEvZXRjL2doZXJraW4vY29udmVydF9naGVya2luLWxhbmd1YWdlcy5weSBiL2V0Yy9naGVy a2luL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkKK2luZGV4IDE4MDNjYTYuLjllZjliMGMg MTAwNzU1CistLS0gYS9ldGMvZ2hlcmtpbi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5Cisr KysgYi9ldGMvZ2hlcmtpbi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5CitAQCAtNjgsNyAr NjgsNyBAQCBkZWYgeWFtbF9ub3JtYWxpemUoZGF0YSk6CisgICAgIHJldHVybiBkYXRhCisgCisg CistZGVmIGRhdGFfbm9ybWFsaXplKGRhdGEpOgorK2RlZiBkYXRhX25vcm1hbGl6ZShkYXRhLCB2 ZXJib3NlPUZhbHNlKToKKyAgICAgIiIiTm9ybWFsaXplICJnaGVya2luLWxhbmd1YWdlcy5qc29u IiBkYXRhIGludG8gaW50ZXJuYWwgZm9ybWF0LAorICAgICBuZWVkZWQgYnkgYmVoYXZlLiIKKyAK K0BAIC03Niw3ICs3Niw4IEBAIGRlZiBkYXRhX25vcm1hbGl6ZShkYXRhKToKKyAgICAgOnJldHVy bjogTm9ybWFsaXplZCBkYXRhIChhcyBkaWN0aW9uYXJ5KS4KKyAgICAgIiIiCisgICAgIGZvciBs YW5ndWFnZSBpbiBkYXRhOgorLSAgICAgICAgcHJpbnQoIkxhbmd1YWdlOiAlcyAuLi4iICUgbGFu Z3VhZ2UpCisrICAgICAgICBpZiB2ZXJib3NlOgorKyAgICAgICAgICAgIHByaW50KCJMYW5ndWFn ZTogJXMgLi4uIiAlIGxhbmd1YWdlKQorICAgICAgICAgIyAtLSBTVEVQOiBOb3JtYWxpemUgYXR0 cmlidXRlICJzY2VuYXJpb091dGxpbmUiID0+ICJzY2VuYXJpb19vdXRsaW5lIgorICAgICAgICAg bGFuZ19rZXl3b3JkcyA9IGRhdGFbbGFuZ3VhZ2VdCisgICAgICAgICBsYW5nX2tleXdvcmRzW3Ui c2NlbmFyaW9fb3V0bGluZSJdID0gbGFuZ19rZXl3b3Jkc1t1InNjZW5hcmlvT3V0bGluZSJdCitA QCAtMTA3LDcgKzEwOCw3IEBAIGRlZiBkYXRhX25vcm1hbGl6ZShkYXRhKToKKyAKKyAKKyBkZWYg Z2hlcmtpbl9sYW5ndWFnZXNfdG9fcHl0aG9uX21vZHVsZShnaGVya2luX2xhbmd1YWdlc19wYXRo LCBvdXRwdXRfZmlsZT1Ob25lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVuY29kaW5nPU5vbmUpOgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVuY29kaW5nPU5vbmUsIHZlcmJvc2U9RmFsc2UpOgorICAgICAiIiJXb3JraG9yc2UuCisg ICAgIFBlcmZvcm1zIHRoZSBjb252ZXJzaW9uIGZyb20gImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24i IHRvICJpMThuLnB5Ii4KKyAgICAgV3JpdGVzIG91dHB1dCB0byBmaWxlIG9yIGNvbnNvbGUgKHN0 ZG91dCkuCitAQCAtMTE1LDYgKzExNiw3IEBAIGRlZiBnaGVya2luX2xhbmd1YWdlc190b19weXRo b25fbW9kdWxlKGdoZXJraW5fbGFuZ3VhZ2VzX3BhdGgsIG91dHB1dF9maWxlPU5vbmUsCisgICAg IDpwYXJhbSBnaGVya2luX2xhbmd1YWdlc19wYXRoOiBGaWxlIHBhdGggZm9yIEpTT04gZmlsZS4K KyAgICAgOnBhcmFtIG91dHB1dF9maWxlOiAgICAgT3V0cHV0IGZpbGVuYW1lIChvciBTVERPVVQg Zm9yOiBOb25lLCAic3Rkb3V0IiwgIi0iKQorICAgICA6cGFyYW0gZW5jb2Rpbmc6ICAgICAgICBP cHRpb25hbCBvdXRwdXQgZW5jb2RpbmcgdG8gdXNlIChkZWZhdWx0OiBVVEYtOCkuCisrICAgIDpw YXJhbSB2ZXJib3NlOiAgICAgICAgIEVuYWJsZSB2ZXJib3NlIG1vZGUgKGFzIGJvb2w7IG9wdGlv bmFsKS4KKyAgICAgIiIiCisgICAgIGlmIGVuY29kaW5nIGlzIE5vbmU6CisgICAgICAgICBlbmNv ZGluZyA9ICJVVEYtOCIKK0BAIC0xMjIsNyArMTI0LDcgQEAgZGVmIGdoZXJraW5fbGFuZ3VhZ2Vz X3RvX3B5dGhvbl9tb2R1bGUoZ2hlcmtpbl9sYW5ndWFnZXNfcGF0aCwgb3V0cHV0X2ZpbGU9Tm9u ZSwKKyAgICAgIyAtLSBTVEVQIDE6IExvYWQgSlNPTiBkYXRhLgorICAgICBqc29uX2VuY29kaW5n ID0gIlVURi04IgorICAgICBsYW5ndWFnZXMgPSBqc29uLmxvYWQob3BlbihnaGVya2luX2xhbmd1 YWdlc19wYXRoLCBlbmNvZGluZz1qc29uX2VuY29kaW5nKSkKKy0gICAgbGFuZ3VhZ2VzID0gZGF0 YV9ub3JtYWxpemUobGFuZ3VhZ2VzKQorKyAgICBsYW5ndWFnZXMgPSBkYXRhX25vcm1hbGl6ZShs YW5ndWFnZXMsIHZlcmJvc2U9dmVyYm9zZSkKKyAgICAgIyBsYW5ndWFnZXMgPSB5YW1sX25vcm1h bGl6ZShsYW5ndWFnZXMpCisgCisgICAgICMgLS0gU1RFUCAyOiBHZW5lcmF0ZSBweXRob24gbW9k dWxlIHdpdGggaTE4biBkYXRhLgorQEAgLTE3OCw2ICsxODAsOSBAQCBkZWYgbWFpbihhcmdzPU5v bmUpOgorICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItZSIsICItLWVuY29kaW5nIiwgZGVzdD0i ZW5jb2RpbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9IlVURi04IiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJPdXRwdXQgZW5jb2RpbmcuIikKKysgICAgcGFy c2VyLmFkZF9hcmd1bWVudCgiLS12ZXJib3NlIiwgZGVzdD0idmVyYm9zZSIsIGRlZmF1bHQ9RmFs c2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKKysgICAg ICAgICAgICAgICAgICAgICAgICBoZWxwPSJFbmFibGUgdmVyYm9zZSBtb2RlLiIpCisgICAgIHBh cnNlci5hZGRfYXJndW1lbnQoIm91dHB1dF9maWxlIiwgZGVmYXVsdD0iaTE4bi5weSIsIG5hcmdz PSI/IiwKKyAgICAgICAgICAgICAgICAgaGVscD0iRmlsZW5hbWUgb2YgUHl0aG9uIEkxOE4gbW9k dWxlIChhcyBvdXRwdXQpLiIpCisgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tdmVyc2lvbiIs IGFjdGlvbj0idmVyc2lvbiIsIHZlcnNpb249X192ZXJzaW9uX18pCitAQCAtMTkxLDcgKzE5Niw4 IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAgIHRyeToKKyAgICAgICAgIHByaW50KCJXcml0 aW5nICVzIC4uIiAlIG9wdGlvbnMub3V0cHV0X2ZpbGUpCisgICAgICAgICBnaGVya2luX2xhbmd1 YWdlc190b19weXRob25fbW9kdWxlKG9wdGlvbnMuanNvbl9maWxlLCBvcHRpb25zLm91dHB1dF9m aWxlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGlu Zz1vcHRpb25zLmVuY29kaW5nKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbmNvZGluZz1vcHRpb25zLmVuY29kaW5nLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ZXJib3NlPW9wdGlvbnMudmVyYm9zZSkKKyAgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgbWVzc2FnZSA9ICIlczogJXMiICUgKGUuX19j bGFzc19fLl9fbmFtZV9fLCBlKQorICAgICAgICAgc3lzLmV4aXQobWVzc2FnZSkKK2RpZmYgLS1n aXQgYS90YXNrcy9kZXZlbG9wLnB5IGIvdGFza3MvZGV2ZWxvcC5weQoraW5kZXggYjA4ZGYwZS4u OWEyMTM2MyAxMDA2NDQKKy0tLSBhL3Rhc2tzL2RldmVsb3AucHkKKysrKyBiL3Rhc2tzL2RldmVs b3AucHkKK0BAIC0xOCw5ICsxOCwxNSBAQCBHSEVSS0lOX0xBTkdVQUdFU19VUkwgPSAiaHR0cHM6 Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyL21hcworICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRBU0tTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1A dGFzayhuYW1lPSJ1cGRhdGVfZ2hlcmtpbiIpICMgVE9PLUxPTkdTOiBhbGlhc2VzPVsidXBkYXRl X2doZXJraW5fbGFuZ3VhZ2VzIl0pCistZGVmIHVwZGF0ZV9naGVya2luX2xhbmd1YWdlcyhjdHgp OgorLSAgICAiIiJVcGRhdGUgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZpbGUgZnJvbSBjdWN1 bWJlci1yZXBvLiIiIgorK0B0YXNrCisrZGVmIHVwZGF0ZV9naGVya2luKGN0eCwgZHJ5X3J1bj1G YWxzZSk6CisrICAgICIiIlVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZmlsZSBmcm9t IGN1Y3VtYmVyLXJlcG8uCisrCisrICAgICogRG93bmxvYWQgImdoZXJraW4tbGFuZ3VhZ2VzLmpz b24iIGZyb20gY3VjdW1iZXIgcmVwbworKyAgICAqIFVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFnZXMu anNvbiIKKysgICAgKiBHZW5lcmF0ZSAiaTE4bi5weSIgZmlsZSBmcm9tICJnaGVya2luLWxhbmd1 YWdlcy5qc29uIgorKyAgICAqIFVwZGF0ZSAiYmVoYXZlL2kxOG4ucHkiIGZpbGUgKG9wdGlvbmFs OyBub3QgaW4gZHJ5LXJ1biBtb2RlKQorKyAgICAiIiIKKyAgICAgd2l0aCBjZCgiZXRjL2doZXJr aW4iKToKKyAgICAgICAgICMgLS0gQkFDS1VQLUZJTEU6CisgICAgICAgICBnaGVya2luX2xhbmd1 YWdlc19maWxlID0gUGF0aCgiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIpCitAQCAtMjgsMzEgKzM0 LDIzIEBAIGRlZiB1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMoY3R4KToKKyAKKyAgICAgICAgIHBy aW50KCdEb3dubG9hZGluZyAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZnJvbSBnaXRodWI6Y3Vj dW1iZXIgLi4uJykKKyAgICAgICAgIGRvd25sb2FkX3JlcXVlc3QgPSByZXF1ZXN0cy5nZXQoR0hF UktJTl9MQU5HVUFHRVNfVVJMKQorLSAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZSA9 IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24uTkVXIikKKyAgICAgICAgIGFzc2VydCBkb3du bG9hZF9yZXF1ZXN0Lm9rCisgICAgICAgICBwcmludCgnRG93bmxvYWQgZmluaXNoZWQ6IE9LIChz aXplPXswfSknLmZvcm1hdChsZW4oZG93bmxvYWRfcmVxdWVzdC5jb250ZW50KSkpCistICAgICAg ICB3aXRoIG9wZW4oZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZSwgIndiIikgYXMgZjoKKysgICAg ICAgIHdpdGggb3BlbihnaGVya2luX2xhbmd1YWdlc19maWxlLCAid2IiKSBhcyBmOgorICAgICAg ICAgICAgIGYud3JpdGUoZG93bmxvYWRfcmVxdWVzdC5jb250ZW50KQorLSAgICAgICAgZ2hlcmtp bl9sYW5ndWFnZXNfbmV3ZmlsZS5yZW5hbWUoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iKQorIAor ICAgICAgICAgcHJpbnQoJ0dlbmVyYXRpbmcgImkxOG4ucHkiIC4uLicpCisgICAgICAgICBjdHgu cnVuKCIuL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkiKQorLQorLQorLSMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKy0jIFRBU0sgSEVMUEVSUzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist ZGVmIHByaW50X3BhY2thZ2VzKHBhY2thZ2VzKToKKy0gICAgcHJpbnQoIlBBQ0tBR0VTWyVkXToi ICUgbGVuKHBhY2thZ2VzKSkKKy0gICAgZm9yIHBhY2thZ2UgaW4gcGFja2FnZXM6CistICAgICAg ICBwYWNrYWdlX3NpemUgPSBwYWNrYWdlLnN0YXQoKS5zdF9zaXplCistICAgICAgICBwYWNrYWdl X3RpbWUgPSBwYWNrYWdlLnN0YXQoKS5zdF9tdGltZQorLSAgICAgICAgcHJpbnQoIiAgLSAlcyAg KHNpemU9JXMpIiAlIChwYWNrYWdlLCBwYWNrYWdlX3NpemUpKQorKyAgICAgICAgY3R4LnJ1bigi ZGlmZiBpMThuLnB5IC4uLy4uL2JlaGF2ZS9pMThuLnB5IikKKysgICAgICAgIGlmIG5vdCBkcnlf cnVuOgorKyAgICAgICAgICAgIHByaW50KCJVcGRhdGluZyBiZWhhdmUvaTE4bi5weSAuLi4iKQor KyAgICAgICAgICAgIFBhdGgoImkxOG4ucHkiKS5tb3ZlKCIuLi8uLi9iZWhhdmUvaTE4bi5weSIp CisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgVEFTSyBDT05GSUdVUkFUSU9OOgor ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFRPTy1MT05HOiBhbGlhc2VzPVsidXBkYXRlX2do ZXJraW5fbGFuZ3VhZ2VzIl0pCisgbmFtZXNwYWNlID0gQ29sbGVjdGlvbigpCistbmFtZXNwYWNl LmFkZF90YXNrKHVwZGF0ZV9naGVya2luX2xhbmd1YWdlcykKKytuYW1lc3BhY2UuYWRkX3Rhc2so dXBkYXRlX2doZXJraW4pCisgbmFtZXNwYWNlLmNvbmZpZ3VyZSh7fSkKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDktRVhB TVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDkt RVhBTVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmE4ZTY1YTIxNAotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNDktRVhBTVBMRS1Ud2Vhay1uYW1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFj a2dyb3VuZC5wYXRjaApAQCAtMCwwICsxLDMyMiBAQAorRnJvbSBhMzA2OWMxZTk4ODVjNDI4NDQy N2Q1ZDk2MDM5Y2Q3NTkyYTI3NTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDkgSnVs IDIwMTkgMDg6MTA6MjYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRVhBTVBMRTogVHdlYWsgbmFt aW5nIHRvIEBmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kICh3YXM6CisgLm92ZXJyaWRlX2Jh Y2tncm91bmQpCisKKy0tLQorIGV4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9SRUFETUUu cnN0ICAgICB8IDExMCArKysrKysrKysrKysrKysrKysKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGli L19faW5pdF9fLnB5ICAgICAgICAgICAgfCAgIDAKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL25v X2JhY2tncm91bmQucHkgICAgICAgfCAgNzIgKysrKysrKysrKysrCisgLi4uL2ZlYXR1cmVzL2Vu dmlyb25tZW50LnB5ICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrKysrKworIC4uLi9mZWF0dXJl cy9leGFtcGxlLmZlYXR1cmUgICAgICAgICAgICAgICAgICB8ICAxOCArKysKKyAuLi4vZmVhdHVy ZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgICAgICAgICAgICAgfCAgMTMgKysrCisgLi4uL2ZlYXR1 cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkgIHwgIDEyICsrCisgNyBmaWxlcyBj aGFuZ2VkLCAyNjAgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9m aXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1FLnJzdAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFt cGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5 CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhh dmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFt cGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4 YW1wbGUuZmVhdHVyZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm5vX2Jh Y2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVw bGliX2JlaGF2ZTRjbWQucHkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFj a2dyb3VuZC9SRUFETUUucnN0IGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL1JFQURN RS5yc3QKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi40MjQzZjEwCistLS0g L2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1FLnJz dAorQEAgLTAsMCArMSwxMTAgQEAKKytFWEFNUExFOiBEaXNhYmxlIEJhY2tncm91bmQgSW5oZXJp dGFuY2UgTWVjaGFuaXNtIGZvciBTY2VuYXJpbworKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysK Kys6UkVMQVRFRC1UTzogIzc1NgorKworK1RoaXMgZXhhbXBsZSBzaG93cyBob3cgdGhlIEJhY2tn cm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGluIEdoZXJraW4KKytjYW4gYmUgZGlzYWJsZWQg aW4gYGBiZWhhdmVgYC4KKysKKytQYXJ0cyBvZiB0aGUgcmVjaXBlOgorKworKyogZmVhdHVyZXMv ZXhhbXBsZS5mZWF0dXJlIChGZWF0dXJlIGZpbGUgYXMgZXhhbXBsZSkKKysqIGZlYXR1cmVzL2Vu dmlyb25tZW50LnB5IChnbHVlIGNvZGUgYW5kIGhvb2tzIGZvciBmaXh0dXJlLXRhZyAvIGZpeHR1 cmUpCisrKiBiZWhhdmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBs ZW1lbnRhdGlvbiwgd29ya2hvcnNlKQorKworKworKy4uIHdhcm5pbmc6OiBCRVdBUkU6IFRoaXMg c2hvd3MgeW91IGhvdyBjYW4gZG8gaXQsIG5vdCB0aGF0IHlvdSBzaG91bGQgZG8gaXQKKysKKysg ICAgQkVUVEVSOgorKworKyAgICAqIFVzZSBSdWxlcyB0byBncm91cCBTY2VuYXJpb3MsIGVhY2gg d2l0aCBpdHMgb3duIEJhY2tncm91bmQgKGluIEdoZXJraW4gdjYpCisrICAgICogU3BsaXQgRmVh dHVyZSBhc3BlY3RzIGludG8gbXVsdGlwbGUgZmVhdHVyZSBmaWxlcyAoaWYgbmVlZGVkKQorKyAg ICAqIC4uLiAoc2VlIGlzc3VlICM3NTYgYWJvdmUpCisrCisrCisrRXhwbGFuYXRpb24KKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKysKKytFeGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4 dHVyZSB0byBkaXNhYmxlIHRoZQorK2JhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGJ5 IHVzaW5nIGEgZml4dHVyZSAvIGZpeHR1cmUtdGFnLgorK1RoZSBmaXh0dXJlLXRhZyAiQGZpeHR1 cmUuYmVoYXZlLm5vX2JhY2tncm91bmQiIG1hcmtzIHRoZQorK2xvY2F0aW9uIGluIEdoZXJraW4g KHdoaWNoIFNjZW5hcmlvKSB3aGVyZSB0aGUgZml4dHVyZSBzaG91bGQgYmUgdXNlZAorKworKy4u IGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBs ZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5ub19iYWNr Z3JvdW5kIGlzIHVzZWQKKysKKysgICAgICAgIEJhY2tncm91bmQ6CisrICAgICAgICAgIEdpdmVu IGEgYmFja2dyb3VuZCBzdGVwCisrCisrICAgICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAgICAg ICAgV2hlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91 bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrICAgICAgICBAZml4dHVyZS5iZWhhdmUu bm9fYmFja2dyb3VuZAorKyAgICAgICAgU2NlbmFyaW86IEJvYgorKyAgICAgICAgICBHaXZlbiBJ IG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAorKyAgICAgICAgICBXaGVuIGFub3RoZXIgc3Rl cCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBh cmUgZXhlY3V0ZWQgaGVyZSIKKysKKytXaGVuIHRoZSBmZWF0dXJlIGlzIGV4ZWN1dGVkLCB5b3Ug c2VlIHRoYXQ6CisrCisrKiBGaXJzdCBTY2VuYXJpbyAiQWxpY2UiOiBCYWNrZ3JvdW5kIHN0ZXBz IGFyZSBpbmhlcml0ZWQgYW5kIGV4ZWN1dGVkIGZpcnN0LgorKyogU2Vjb25kIFNjZW5hcmlvICJC b2IiOiBObyBCYWNrZ3JvdW5kIHN0ZXAgaXMgZXhlY3V0ZWQuCisrCisrLi4gY29kZS1ibG9jazo6 IHNoCisrCisrICAgICQgLi4vLi4vYmluL2JlaGF2ZSAtZiBwbGFpbiBmZWF0dXJlcy9leGFtcGxl LmZlYXR1cmUKKysgICAgRmVhdHVyZTogT3ZlcnJpZGUgdGhlIEJhY2tncm91bmQgSW5oZXJpdGFu Y2UgTWVjaGFuaXNtIGluIHNvbWUgU2NlbmFyaW9zCisrICAgICAgQmFja2dyb3VuZDoKKysKKysg ICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwIHBh c3NlcyAuLi4gcGFzc2VkCisrICAgICAgICBXaGVuIGEgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAor KyAgICAgICAgQW5kIG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVy ZSIgLi4uIHBhc3NlZAorKyAgICBGSVhUVVJFLUhJTlQ6IERJU0FCTEUtQkFDS0dST1VORCBGT1I6 IEJvYgorKworKyAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICAgIEdpdmVuIEkgbmVlZCBhbm90 aGVyIHNjZW5hcmlvIHNldHVwIC4uLiBwYXNzZWQKKysgICAgICAgIFdoZW4gYW5vdGhlciBzdGVw IHBhc3NlcyAuLi4gcGFzc2VkCisrICAgICAgICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5E IFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIiAuLi4gcGFzc2VkCisrCisrICAgIDEgZmVhdHVyZSBw YXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgMiBzY2VuYXJpb3MgcGFzc2VkLCAwIGZh aWxlZCwgMCBza2lwcGVkCisrICAgIDYgc3RlcHMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVk LCAwIHVuZGVmaW5lZAorKworKworK1RoZSBlbnZpcm9ubWVudCBmaWxlIHByb3ZpZGVzIHRoZSBn bHVlIGNvZGUgdGhhdCB0aGUgZml4dHVyZSBpcyBjYWxsZWQ6CisrCisrLi4gY29kZS1ibG9jazo6 IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrICAg IGZyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm5vX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9ub19i YWNrZ3JvdW5kCisrICAgIGZyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5 X3RhZworKworKyAgICAjIC0tIEZJWFRVUkUgUkVHSVNUUlk6CisrICAgIGZpeHR1cmVfcmVnaXN0 cnkgPSB7CisrICAgICAgICAiZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCI6IGJlaGF2ZV9u b19iYWNrZ3JvdW5kLAorKyAgICB9CisrCisrICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysg ICAgIyBIT09LUzoKKysgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyAgICBkZWYgYmVmb3Jl X3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUu Iik6CisrICAgICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQs IGZpeHR1cmVfcmVnaXN0cnkpCisrCisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAg ICAjIC0tIEZJTEU6IGJlaGF2ZV9maXh0dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5IChmaXh0dXJl IGltcGxlbWVudGF0aW9uKQorKyAgICBmcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQorKworKyAg ICBAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIikKKysgICAgZGVm IGJlaGF2ZV9ub19iYWNrZ3JvdW5kKGN0eCk6CisrICAgICAgICAjIC0tIFNFVFVQLVBBUlQtT05M WTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgor KyAgICAgICAgY3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbworKyAgICAgICAgaWYgY3Vy cmVudF9zY2VuYXJpbzoKKysgICAgICAgICAgICBwcmludCgiRklYVFVSRS1ISU5UOiBESVNBQkxF LUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBjdXJyZW50X3NjZW5hcmlvLm5hbWUpCisrICAgICAgICAg ICAgY3VycmVudF9zY2VuYXJpby51c2VfYmFja2dyb3VuZCA9IEZhbHNlCitkaWZmIC0tZ2l0IGEv ZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRf Xy5weSBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIv X19pbml0X18ucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lNjlkZTI5 CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0 dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5k L2JlaGF2ZV9maXh0dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMC4uNDdiZDBiNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMv Zml4dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5 CitAQCAtMCwwICsxLDcyIEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysjIFJFTEFURUQt VE86ICM3NTYKKysiIiIKKytFeGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4 dHVyZSB0byBkaXNhYmxlIHRoZQorK2JhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgor KworKy4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMv ZXhhbXBsZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5v dmVycmlkZV9iYWNrZ3JvdW5kIGlzIHVzZWQKKysKKysgICAgICAgIEJhY2tncm91bmQ6CisrICAg ICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwCisrCisrICAgICAgICBTY2VuYXJpbzogQWxp Y2UKKysgICAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRo YXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrICAgICAgICBAZml4 dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZAorKyAgICAgICAgU2NlbmFyaW86IEJvYgorKyAgICAg ICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAorKyAgICAgICAgICBXaGVu IGFub3RoZXIgc3RlcCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dS T1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysuLiBjb2RlLWJsb2NrOjogcHl0aG9u CisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysgICAgZnJvbSBi ZWhhdmVfZml4dHVyZV9saWIub3ZlcnJpZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJy aWRlX2JhY2tncm91bmQKKysgICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1 cmVfYnlfdGFnCisrCisrICAgICMgLS0gRklYVFVSRSBSRUdJU1RSWToKKysgICAgZml4dHVyZV9y ZWdpc3RyeSA9IHsKKysgICAgICAgICJmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIjogYmVo YXZlX292ZXJyaWRlX2JhY2tncm91bmQsCisrICAgIH0KKysKKysgICAgZGVmIGJlZm9yZV90YWco Y29udGV4dCwgdGFnKToKKysgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgor KyAgICAgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0 dXJlX3JlZ2lzdHJ5KQorKworKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1 dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zyb20gYmVoYXZlIGltcG9ydCBmaXh0dXJlCisr CisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQkVIQVZFIEZJWFRVUkVTOgorKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKytAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2ZS5vbm9fYmFj a2dyb3VuZCIpCisrZGVmIGJlaGF2ZV9ub19iYWNrZ3JvdW5kKGN0eCk6CisrICAgICIiIk92ZXJy aWRlIHRoZSBCYWNrZ3JvdW5kIGluaGVyaW50YW5jZSBtZWNoYW5pc20uCisrICAgIElmIGEgRmVh dHVyZSAvIFJ1bGUgQmFja2dyb3VuZCBleGlzdHMgaW4gYSBGZWF0dXJlLAorKyAgICBhbGwgY29u dGFpbmVkIFNjZW5hcmlvcyBpbmhlcml0IHRoZSBCYWNrZ3JvdW5kJ3Mgc3RlcHMuCisrCisrICAg IFRoaXMgZml4dHVyZSBkaXNhYmxlcyB0aGlzIG1lY2hhbmlzbS4KKysgICAgVGhlIHRhZ2dlZCBH aGVya2luIGVsZW1lbnQgd2lsbCBubyBsb25nZXIgaW5oZXJpdCB0aGUgYmFja2dyb3VuZCBzdGVw cy4KKysKKysgICAgOnBhcmFtIGN0eDogQ29udGV4dCBvYmplY3QgdG8gdXNlIChkdXJpbmcgYSB0 ZXN0IHJ1bikuCisrICAgICIiIgorKyAgICAjIC0tIFNFVFVQLVBBUlQtT05MWTogRGlzYWJsZSBi YWNrZ3JvdW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgorKyAgICBjdXJyZW50 X3NjZW5hcmlvID0gY3R4LnNjZW5hcmlvCisrICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86CisrICAg ICAgICBwcmludCgiRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBj dXJyZW50X3NjZW5hcmlvLm5hbWUpCisrICAgICAgICBjdXJyZW50X3NjZW5hcmlvLnVzZV9iYWNr Z3JvdW5kID0gRmFsc2UKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RVTEUg U1BFQ0lGSUM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2ZpeHR1cmVfcmVnaXN0cnkgPSB7 CisrICAgICJmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIjogYmVoYXZlX25vX2JhY2tncm91 bmQsCisrfQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0 dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0 dXJlcy9lbnZpcm9ubWVudC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LjE4ODU3YjkKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dy b3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorQEAgLTAsMCArMSwzNSBAQAorKyMgLSotIGNv ZGluZzogVVRGLTggLSotCisrIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorK2lt cG9ydCBvcy5wYXRoCisraW1wb3J0IHN5cworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysj IFBZVEhPTiBQQVRIIFNFVFVQOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytIRVJFID0gb3Mu cGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorK1RPUEEgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5q b2luKEhFUkUsICIuLiIpKQorKworK2RlZiBzZXR1cF9weXRob25fcGF0aCgpOgorKyAgICBzeXMu cGF0aC5pbnNlcnQoMCwgVE9QQSkKKysKKytzZXR1cF9weXRob25fcGF0aCgpCisrCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorKyMgTk9STUFMIFBBUlQ6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorK2Zyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm5vX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9u b19iYWNrZ3JvdW5kCisrZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlf dGFnCisrCisrIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorK2ZpeHR1cmVfcmVnaXN0cnkgPSB7Cisr ICAgICJmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIjogYmVoYXZlX25vX2JhY2tncm91bmQs CisrfQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEhPT0tTOgorKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKytkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICBpZiB0 YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToKKysgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9i eV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUgYi9l eGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMjAyNTcxNgorLS0tIC9kZXYvbnVs bAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUu ZmVhdHVyZQorQEAgLTAsMCArMSwxOCBAQAorK0ZlYXR1cmU6IERpc2FibGUgdGhlIEJhY2tncm91 bmQgSW5oZXJpdGFuY2UgTWVjaGFuaXNtIGluIHNvbWUgU2NlbmFyaW9zCisrCisrICAuIEJFV0FS RToKKysgIC4gICBUaGlzIGlzIG9ubHkgYW4gZXhhbXBsZSBob3cgdGhpcyBjYW4gYmUgZG9uZSAo UFJPT0YtT0YtQ09OQ0VQVCkuCisrICAuICAgVGhpcyBpcyBub3QgYW4gZXhhbXBsZSB0aGF0IHlv dSBzaG91bGQgZG8gdGhpcyAhISEKKysKKysgICAgQmFja2dyb3VuZDoKKysgICAgICBHaXZlbiBh IGJhY2tncm91bmQgc3RlcCBwYXNzZXMKKysKKysgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAg V2hlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAgQW5kIG5vdGUgdGhhdCAiQkFDS0dST1VORCBTVEVQ UyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysgICAgQGZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91 bmQKKysgICAgU2NlbmFyaW86IEJvYgorKyAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5h cmlvIHNldHVwCisrICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgQW5kIG5v dGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKK2RpZmYgLS1n aXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNf c3RlcHMucHkgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMv YmFzaWNfc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zNGYy MTA3CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQv ZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKK0BAIC0wLDAgKzEsMTMgQEAKKytmcm9tIGJl aGF2ZSBpbXBvcnQgZ2l2ZW4sIHN0ZXAKKysKKysjIEBzdGVwKHUne3dvcmR9IHN0ZXAgcGFzc2Vz JykKKysjIGRlZiBzdGVwX3Bhc3Nlc193aXRoX3dvcmQoY29udGV4dCwgd29yZCk6CisrIyAgICAg cGFzcworKworK0BzdGVwKHUne3dvcmR9IGJhY2tncm91bmQgc3RlcCBwYXNzZXMnKQorK2RlZiBz dGVwX2JhY2tncm91bmRfc3RlcF9wYXNzZXMoY29udGV4dCwgd29yZCk6CisrICAgIHBhc3MKKysK KytAZ2l2ZW4odSdJIG5lZWQge3dvcmR9IHNjZW5hcmlvIHNldHVwJykKKytkZWYgc3RlcF9naXZl bl9pX25lZWRfc2NlbmFyaW9fc2V0dXAoY29udGV4dCwgd29yZCk6CisrICAgIHBhc3MKK2RpZmYg LS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNl X3N0ZXBsaWJfYmVoYXZlNGNtZC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9m ZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5CituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uYmMzMmEzMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBs ZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2 ZTRjbWQucHkKK0BAIC0wLDAgKzEsMTIgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyIi IgorK1VzZSBiZWhhdmU0Y21kMCBzdGVwIGxpYnJhcnkgKHByZWRlY2Vzc29yIG9mIGJlaGF2ZTRj bWQpLgorKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cisr CisrIyAtLSBSRUdJU1RFUi1TVEVQUyBGUk9NIFNURVAtTElCUkFSWToKKysjIGltcG9ydCBiZWhh dmU0Y21kMC5fX2FsbF9zdGVwc19fCisrIyBpbXBvcnQgYmVoYXZlNGNtZDAuZmFpbGluZ19zdGVw cworK2ltcG9ydCBiZWhhdmU0Y21kMC5wYXNzaW5nX3N0ZXBzCisraW1wb3J0IGJlaGF2ZTRjbWQw Lm5vdGVfc3RlcHMKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTAtRVhBTVBMRS1DbGVhbnVwLUdoZXJraW4tdjYtUkVBRE1F LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA1MC1FWEFNUExFLUNsZWFudXAtR2hlcmtpbi12Ni1SRUFETUUucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41MDZhM2FjNjAKLS0tIC9kZXYvbnVsbAorKysg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUw LUVYQU1QTEUtQ2xlYW51cC1HaGVya2luLXY2LVJFQURNRS5wYXRjaApAQCAtMCwwICsxLDY0IEBA CitGcm9tIGJiOTdmY2E5OTBlMzNkMjgwZjljZWQ5ZGEzMWUyMjc0YTk1YjY3NjYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFR1ZSwgOSBKdWwgMjAxOSAwODoyMDoyNSArMDIwMAorU3ViamVjdDog W1BBVENIXSBFWEFNUExFOiBDbGVhbnVwIEdoZXJraW4gdjYgUkVBRE1FCisKKy0tLQorIGV4YW1w bGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdCAgICAgICAgICAgICAgICB8IDIzICsrKysrKysrKysr LS0tLS0tLS0KKyAuLi4vZmVhdHVyZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weSAgICAgICAgICAg fCAxMSArKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVy ZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtp bl92Ni9SRUFETUUucnN0IGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0CitpbmRleCA1 ODE5OWRkLi45OWFmMWM1IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUu cnN0CisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L1JFQURNRS5yc3QKK0BAIC0yLDE3ICsyLDIy IEBAIEdoZXJraW4gdjYgRXhhbXBsZXMKKyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIAorLVND UkFUQ0hQQUQ6IFByb2JsZW1zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytQcm92aWRlcyBleGFt cGxlKHMpIG9mIEdoZXJraW4gdjYgYWRkaXRpb25zOgorIAorLS0gU3VtbWFyeVJlcG9ydGVyOiBT aG93cyB3cm9uZyBjb3VudHMgd2hlbiBSdWxlcyBhcmUgcHJlc2VudDo6CisrKiBSdWxlIGNvbmNl cHQKKysqIE5ldyBhbGlhc2VzIGZvciBHaGVya2luIGtleXdvcmRzIChTY2VuYXJpbywgU2NlbmFy aW9PdXRsaW5lKQorIAorLSAgICAuLi4KKy0gICAgMCBmZWF0dXJlcyBwYXNzZWQsIDAgZmFpbGVk LCAxIHNraXBwZWQgWFhYCistICAgIDMgcnVsZXMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVk CistICAgIDUgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorLSAgICAxMyBz dGVwcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAgdW5kZWZpbmVkCisrUnVsZSBmdW5j dGlvbmFsaXR5OgorIAorKyogQSBSdWxlIGlzIGEgc2NlbmFyaW8gY29udGFpbmVyIHNpbWlsYXIg dG8gYSBGZWF0dXJlCisrKiBBIEZlYXR1cmUgbWF5IGNvbnRhaW4gbWFueSBSdWxlcworKyogQSBS dWxlIG1heSBub3QgY29udGFpbiBvdGhlciBSdWxlcworKyogQSBSdWxlIG1heSBjb250YWluIGEg QmFja2dyb3VuZCAoYW5kIGluaGVyaXRzIGl0cyBGZWF0dXJlIEJhY2tncm91bmQpCisrKiBBIFJ1 bGUgaW5oZXJpdHMgaXRzIEZlYXR1cmUgQmFja2dyb3VuZCBpZiBpdCBoYXMgbm8gQmFja2dyb3Vu ZAorKyogQSBSdWxlIG1heSBjb250YWluIG1hbnkgU2NlbmFyaW9zIGFuZC9vciBTY2VuYXJpb091 dGxpbmVzCisrKiBBIFJ1bGUgbWF5IGhhdmUgdGFncworIAorLS0gRm9ybWF0dGVyczogUHJldHR5 Rm9ybWF0dGVyLCBQbGFpbkZvcm1hdHRlciAoYXQgbGVhc3QpIG5lZWQgUnVsZSBzdXBwb3J0Cisr TmV3IGtleXdvcmQgYWxpYXNlczoKKyAKKysqICJTY2VuYXJpbyBUZW1wbGF0ZSIgZm9yICJTY2Vu YXJpbyBPdXRsaW5lIgorKyogIkV4YW1wbGUiIGZvciAiU2NlbmFyaW8iCitkaWZmIC0tZ2l0IGEv ZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wYXNzaW5nX3N0ZXBzLnB5IGIvZXhh bXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wYXNzaW5nX3N0ZXBzLnB5CituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMjcxNGNiMQorLS0tIC9kZXYvbnVsbAorKysr IGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wYXNzaW5nX3N0ZXBzLnB5CitA QCAtMCwwICsxLDExIEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysKKytmcm9tIGJlaGF2 ZSBpbXBvcnQgc3RlcAorKworK0BzdGVwKHUne3dvcmR9IHN0ZXAgcGFzc2VzJykKKytkZWYgc3Rl cF9wYXNzZXMoY3R4LCB3b3JkKToKKysgICAgcGFzcworKworK0BzdGVwKHUne3dvcmR9IHN0ZXAg ZmFpbHMnKQorK2RlZiBzdGVwX2ZhaWxzKGN0eCwgd29yZCk6CisrICAgIGFzc2VydCBGYWxzZSwg IlhGQUlMLVNURVA6IHswfSBzdGVwIGZhaWxzIi5mb3JtYXQod29yZCkKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTEtSW1w cm92ZS1zdXBwb3J0LWZvci1mZWF0dXJlLmJhY2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTEt SW1wcm92ZS1zdXBwb3J0LWZvci1mZWF0dXJlLmJhY2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmYxYTZiMzlmZQotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNTEtSW1wcm92ZS1zdXBwb3J0LWZvci1mZWF0dXJlLmJhY2tncm91bmQtaW5oZXJp dGFuY2UtZi5wYXRjaApAQCAtMCwwICsxLDE1MTAgQEAKK0Zyb20gZmNjMWJhOWU1NmYwZGQ0YjBk MmVhNzIzOTVjNWNjNWViYjRhYmQwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMCBK dWwgMjAxOSAyMjozODoxMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBJbXByb3ZlIHN1cHBvcnQg Zm9yIGZlYXR1cmUuYmFja2dyb3VuZCBpbmhlcml0YW5jZSBmb3IKKyBydWxlLmJhY2tncm91bmQu CisKKy0tLQorIC5naXRpZ25vcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMyArCisgYmVoYXZlL21vZGVsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MjMwICsrKysrKysrKystLQorIGJlaGF2ZS9wYXJzZXIucHkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgOSArLQorIC4uLi9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1F LnJzdCAgICB8IDExNiAtLS0tLS0KKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5 ICAgICAgICAgICAgfCAgIDAKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tn cm91bmQucHkgfCAgODAgLS0tLS0KKyAuLi4vZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAg ICAgICAgICAgICAgfCAgMzUgLS0KKyAuLi4vZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlICAgICAg ICAgICAgICAgICAgfCAgMTggLQorIC4uLi9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weSAg ICAgICAgICAgICB8ICAxMyAtCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2 ZTRjbWQucHkgIHwgIDEyIC0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDEgKworIHRlc3RzL3VuaXQvdGVzdF9tb2RlbC5weSAgICAgICAgICAgICAg ICAgICAgICB8IDExNyArLS0tLS0KKyB0ZXN0cy91bml0L3Rlc3RfbW9kZWwyLnB5ICAgICAgICAg ICAgICAgICAgICAgfCAgIDQgLQorIHRlc3RzL3VuaXQvdGVzdF9tb2RlbF9jb3JlLnB5ICAgICAg ICAgICAgICAgICB8IDExNiArKysrKy0KKyB0ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2doZXJraW5f djYucHkgICAgICAgICAgfCAzMzkgKysrKysrKysrKysrKysrKystCisgMTUgZmlsZXMgY2hhbmdl ZCwgNjQ1IGluc2VydGlvbnMoKyksIDQ0OCBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2 NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKKyBkZWxl dGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2 ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9m aXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2Jh Y2tncm91bmQucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlk ZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZl YXR1cmUKKyBkZWxldGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNr Z3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vf c3RlcGxpYl9iZWhhdmU0Y21kLnB5CisKK2RpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGln bm9yZQoraW5kZXggNjE5NmE2ZC4uOWM1YzMzZCAxMDA2NDQKKy0tLSBhLy5naXRpZ25vcmUKKysr KyBiLy5naXRpZ25vcmUKK0BAIC03LDYgKzcsOSBAQCBidWlsZC8KKyBkaXN0LworIF9fcHljYWNo ZV9fLworIF9fV09SS0RJUl9fLworK19fKi8KKytfXyoudHh0CisrX18qLnJzdAorIF9idWlsZC8K KyBfV09SS1NQQUNFLworIHJlcG9ydHMvCitkaWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIv YmVoYXZlL21vZGVsLnB5CitpbmRleCA3ZmM1MzRhLi42OWYzOGFiIDEwMDY0NAorLS0tIGEvYmVo YXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUvbW9kZWwucHkKK0BAIC0yOSw2ICsyOSwzNiBAQCBl bHNlOgorICAgICBpbXBvcnQgdHJhY2ViYWNrCisgCisgCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KysjIE1PREVMIFVUSUxJVElFUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiByZXNldF9z dGVwcyhzdGVwcyk6CisrICAgIGZvciBzdGVwIGluIHN0ZXBzOgorKyAgICAgICAgc3RlcC5yZXNl dCgpCisrICAgIHJldHVybiBzdGVwcworKworKworK2RlZiBjb3B5X3N0ZXBzKHN0ZXBzKToKKysg ICAgIiIiQ29weSBzdGVwczsgbmVlZGVkIGlmIHN0ZXBzIHNob3VsZCBiZSB1c2VkIGluIG11bHRp cGxlIHJ1biBjb250ZXh0cy4KKysKKysgICAgOnBhcmFtIHN0ZXBzOiAgICAgICBMaXN0IG9mIHN0 ZXBzIHRvIGNvcHkuCisrICAgIDpyZXR1cm46IExpc3Qgb2YgY29waWVkIHN0ZXBzLgorKyAgICAi IiIKKysgICAgcmV0dXJuIFtjb3B5LmNvcHkoc3RlcCkgZm9yIHN0ZXAgaW4gc3RlcHNdCisrCisr CisrZGVmIGNvcHlfYW5kX3Jlc2V0X3N0ZXBzKHN0ZXBzKToKKysgICAgIiIiQ29weSBzdGVwcyBh bmQgcmVzZXQgZWFjaCBzdGVwIChzdGF0dXMsIGR1cmF0aW9uLCBldGMuKQorKworKyAgICA6cGFy YW0gc3RlcHM6ICAgICAgIExpc3Qgb2Ygc3RlcHMgdG8gY29weS4KKysgICAgOnJldHVybjogTGlz dCBvZiBjb3BpZWQgc3RlcHMuCisrICAgICIiIgorKyAgICByZXR1cm4gcmVzZXRfc3RlcHMoY29w eV9zdGVwcyhzdGVwcykpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PREVMIENM QVNTRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihU YWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAiIiJBYnN0cmFjdCBiYXNl IGNsYXNzIGZvciBtb2RlbCBlbGVtZW50cworICAgICB0aGF0IGNvbnRhaW5zIHRoZSBmb2xsb3dp bmcgc3RydWN0dXJlOgorQEAgLTE5OCw4ICsyMjgsOCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5l cihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICAgICAgaWYgc2tp cHBlZDoKKyAgICAgICAgICAgICByZXR1cm4gU3RhdHVzLnNraXBwZWQKKy0gICAgICAgIGVsc2U6 CistICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy5wYXNzZWQKKysgICAgICAgICMgLS0gT1RIRVJX SVNFOgorKyAgICAgICAgcmV0dXJuIFN0YXR1cy5wYXNzZWQKKyAKKyAgICAgQHByb3BlcnR5Cisg ICAgIGRlZiBkdXJhdGlvbihzZWxmKToKK0BAIC0yMzAsNyArMjYwLDggQEAgY2xhc3MgU2NlbmFy aW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAg ICAgICAgICAgcnVsZSA9IHJ1bl9pdGVtCisgICAgICAgICAgICAgICAgIGlmIHdpdGhfcnVsZXM6 CisgICAgICAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChydWxlKQorLSAgICAg ICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVuZChydWxlLndhbGtfc2NlbmFyaW9zKHdpdGhf b3V0bGluZXM9d2l0aF9vdXRsaW5lcykpCisrICAgICAgICAgICAgICAgIHNjZW5hcmlvcyA9IHJ1 bGUud2Fsa19zY2VuYXJpb3Mod2l0aF9vdXRsaW5lcz13aXRoX291dGxpbmVzKQorKyAgICAgICAg ICAgICAgICBhbGxfc2NlbmFyaW9zLmV4dGVuZChzY2VuYXJpb3MpCisgICAgICAgICAgICAgZWxp ZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpb091dGxpbmUpOgorICAgICAgICAgICAgICAg ICBzY2VuYXJpb19vdXRsaW5lID0gcnVuX2l0ZW0KKyAgICAgICAgICAgICAgICAgaWYgd2l0aF9v dXRsaW5lczoKK0BAIC0yNDEsNiArMjcyLDE2IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRh Z0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAgIGFsbF9z Y2VuYXJpb3MuYXBwZW5kKHJ1bl9pdGVtKQorICAgICAgICAgcmV0dXJuIGFsbF9zY2VuYXJpb3MK KyAKKysgICAgZGVmIGl0ZXJfc2NlbmFyaW9zKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIGl0ZXIo c2VsZi53YWxrX3NjZW5hcmlvcygpKQorKworKyAgICBkZWYgaXRlcl9zY2VuYXJpb19vdXRsaW5l cyhzZWxmKToKKysgICAgICAgIHJldHVybiBpdGVyKFt4IGZvciB4IGluIHNlbGYud2Fsa19zY2Vu YXJpb3Mod2l0aF9vdXRsaW5lcz1UcnVlKQorKyAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5z dGFuY2UoeCwgU2NlbmFyaW9PdXRsaW5lKV0pCisrCisrICAgIGRlZiBpdGVyX3J1bGVzKHNlbGYp OgorKyAgICAgICAgcmV0dXJuIGl0ZXIoW3ggZm9yIHggaW4gc2VsZi5ydW5faXRlbXMgaWYgaXNp bnN0YW5jZSh4LCBSdWxlKV0pCisrCisgICAgIGRlZiBzaG91bGRfcnVuKHNlbGYsIGNvbmZpZz1O b25lKToKKyAgICAgICAgICIiIgorICAgICAgICAgRGV0ZXJtaW5lcyBpZiB0aGlzIEZlYXR1cmUg KGFuZCBpdHMgc2NlbmFyaW9zKSBzaG91bGQgcnVuLgorQEAgLTMxMiw3ICszNTMsNyBAQCBjbGFz cyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgor ICAgICAgICAgOnBhcmFtIHJ1bm5lcjogIFJ1bm5lciB0byB1c2UuCisgICAgICAgICA6cmV0dXJu OiBUcnVlLCBpZiB0ZXN0LXJ1biBmYWlsZWQuCisgICAgICAgICAiIiIKKy0gICAgICAgICMgcHls aW50OiBkaXNhYmxlPXRvby1tYW55LWJyYW5jaGVzCisrICAgICAgICAjIHB5bGludDogZGlzYWJs ZT10b28tbWFueS1icmFuY2hlcywgdG9vLW1hbnktbG9jYWxzLCB0b28tbWFueS1zdGF0ZW1lbnRz CisgICAgICAgICAjIE1BWUJFOiBzZWxmLnJlc2V0KCkKKyAgICAgICAgIHNlbGYuY2xlYXJfc3Rh dHVzKCkKKyAgICAgICAgIHNlbGYuaG9va19mYWlsZWQgPSBGYWxzZQorQEAgLTM4Nyw3ICs0Mjgs NyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxh eWFibGUpOgorICAgICAgICAgIyAtLSBQRVJGT1JNIENPTlRFWFQgQ0xFQU5VUDogTWF5IHJhaXNl IGNsZWFudXAgZXJyb3JzLgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHJ1bm5lci5jb250 ZXh0Ll9wb3AoKSAgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAg ICAgICBleGNlcHQgRXhjZXB0aW9uOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjogICAgICAg ICAgICAgICAjIHB5bGludDogZGlzYWJsZT1icm9hZC1leGNlcHQKKyAgICAgICAgICAgICAjIC0t IENMRUFOVVAtRVJST1I6CisgICAgICAgICAgICAgc2VsZi5zZXRfc3RhdHVzKFN0YXR1cy5mYWls ZWQpCisgCitAQCAtNTA5LDE2ICs1NTAsMjggQEAgY2xhc3MgRmVhdHVyZShTY2VuYXJpb0NvbnRh aW5lcik6CisgICAgIGRlZiBfc2V0dXBfY29udGV4dF9mb3JfcnVuKHNlbGYsIGNvbnRleHQpOgor ICAgICAgICAgY29udGV4dC5mZWF0dXJlID0gc2VsZgorIAorKyAgICBkZWYgYWRkX2JhY2tncm91 bmQoc2VsZiwgYmFja2dyb3VuZCk6CisrICAgICAgICBzZWxmLmJhY2tncm91bmQgPSBiYWNrZ3Jv dW5kCisrICAgICAgICBzZWxmLmJhY2tncm91bmQucGFyZW50ID0gc2VsZgorKworICAgICBkZWYg YWRkX3J1bGUoc2VsZiwgcnVsZSk6CistICAgICAgICAiIiJBZGQgYSBydWxlIHRvIHRoaXMgZmVh dHVyZS4iIiIKKysgICAgICAgICIiIkFkZCBhIHJ1bGUgdG8gdGhpcyBmZWF0dXJlIChzdXBwb3J0 ZWQgaW46IEdoZXJraW4gdjYpLgorKworKyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOiAxLjIuNwor KyAgICAgICAgIiIiCisgICAgICAgICBmZWF0dXJlID0gc2VsZgorICAgICAgICAgcnVsZS5wYXJl bnQgPSBmZWF0dXJlCisgICAgICAgICBydWxlLmZlYXR1cmUgPSBmZWF0dXJlCistICAgICAgICBp ZiBub3QgcnVsZS5iYWNrZ3JvdW5kOgorLSAgICAgICAgICAgICMgLS0gTUFZQkU6IEluaGVyaXQg ZmVhdHVyZS5iYWNrZ3JvdW5kIGlmIHRoZSBydWxlIGhhcyBubyBiYWNrZ3JvdW5kLgorLSAgICAg ICAgICAgIHJ1bGUuYmFja2dyb3VuZCA9IHNlbGYuYmFja2dyb3VuZAorICAgICAgICAgc2VsZi5y dWxlcy5hcHBlbmQocnVsZSkKKyAgICAgICAgIHNlbGYucnVuX2l0ZW1zLmFwcGVuZChydWxlKQor KyAgICAgICAgaWYgc2VsZi5iYWNrZ3JvdW5kOgorKyAgICAgICAgICAgICMgLS0gRU5TVVJFOiBS dWxlIGluaGVyaXRzIGZlYXR1cmUuYmFja2dyb3VuZC4KKysgICAgICAgICAgICBpZiBub3QgcnVs ZS5iYWNrZ3JvdW5kOgorKyAgICAgICAgICAgICAgICAjIC0tIEVOU1VSRTogUnVsZSBoYXMgYSBk ZWZhdWx0IGJhY2tncm91bmQuCisrICAgICAgICAgICAgICAgICMgTmVjZXNzYXJ5IHRvIGluaGVy aXQgZmVhdHVyZS5iYWNrZ3JvdW5kIChvciBkaXNhYmxlIGl0KS4KKysgICAgICAgICAgICAgICAg cnVsZV9kZWZhdWx0X2JhY2tncm91bmQgPSBCYWNrZ3JvdW5kKHJ1bGUuZmlsZW5hbWUsIHJ1bGUu bGluZSkKKysgICAgICAgICAgICAgICAgcnVsZS5hZGRfYmFja2dyb3VuZChydWxlX2RlZmF1bHRf YmFja2dyb3VuZCkKKysgICAgICAgICAgICBydWxlLmJhY2tncm91bmQuaW5oZXJpdGVkX2JhY2tn cm91bmQgPSBzZWxmLmJhY2tncm91bmQKKyAKKyAKKyBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFp bmVyKToKK0BAIC02MzAsNiArNjgzLDcgQEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwgc2NlbmFy aW9zLCBiYWNrZ3JvdW5kKQorICAgICAgICAgc2VsZi5wYXJlbnQgPSBwYXJlbnQKKyAgICAgICAg IHNlbGYuZmVhdHVyZSA9IHBhcmVudAorKyAgICAgICAgc2VsZi5fdXNlX2JhY2tncm91bmRfaW5o ZXJpdGFuY2UgPSBUcnVlCisgCisgICAgIGRlZiBfc2V0dXBfY29udGV4dF9mb3JfcnVuKHNlbGYs IGNvbnRleHQpOgorICAgICAgICAgY29udGV4dC5ydWxlID0gc2VsZgorQEAgLTYzOCwxMCArNjky LDQzIEBAIGNsYXNzIFJ1bGUoU2NlbmFyaW9Db250YWluZXIpOgorICAgICAgICAgcmV0dXJuICc8 UnVsZSAiJXMiOiAlZCBzY2VuYXJpbyhzKT4nICUgXAorICAgICAgICAgICAgIChzZWxmLm5hbWUs IGxlbihzZWxmLnNjZW5hcmlvcykpCisgCisrICAgIGRlZiBhZGRfYmFja2dyb3VuZChzZWxmLCBi YWNrZ3JvdW5kLCBpbmhlcml0ZWQ9Tm9uZSk6CisrICAgICAgICBpZiBpbmhlcml0ZWQgaXMgTm9u ZToKKysgICAgICAgICAgICBmZWF0dXJlID0gc2VsZi5mZWF0dXJlIG9yIHNlbGYucGFyZW50Cisr ICAgICAgICAgICAgaW5oZXJpdGVkID0gZmVhdHVyZS5iYWNrZ3JvdW5kCisrCisrICAgICAgICBz ZWxmLmJhY2tncm91bmQgPSBiYWNrZ3JvdW5kCisrICAgICAgICBzZWxmLmJhY2tncm91bmQuaW5o ZXJpdGVkX2JhY2tncm91bmQgPSBpbmhlcml0ZWQKKysgICAgICAgIHNlbGYuYmFja2dyb3VuZC51 c2VfaW5oZXJpdGFuY2UgPSBzZWxmLnVzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlCisrICAgICAg ICBzZWxmLmJhY2tncm91bmQucGFyZW50ID0gc2VsZgorKyAgICAgICAgIyAtLSBFTlNVUkU6IE5v cm1hbGx5IGJhY2tncm91bmQgaXMgYWRkZWQgYmVmb3JlIHNjZW5hcmlvcy4KKysgICAgICAgIGZv ciBzY2VuYXJpbyBpbiBzZWxmLndhbGtfc2NlbmFyaW9zKCk6CisrICAgICAgICAgICAgc2NlbmFy aW8uYmFja2dyb3VuZCA9IHNlbGYuYmFja2dyb3VuZAorKworKyAgICBAcHJvcGVydHkKKysgICAg ZGVmIHVzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIHNl bGYuX3VzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlCisrCisrICAgIEB1c2VfYmFja2dyb3VuZF9p bmhlcml0YW5jZS5zZXR0ZXIKKysgICAgZGVmIHVzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlKHNl bGYsIHZhbHVlKToKKysgICAgICAgIHNlbGYuX3VzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlID0g dmFsdWUKKysgICAgICAgIGlmIHNlbGYuYmFja2dyb3VuZDoKKysgICAgICAgICAgICBzZWxmLmJh Y2tncm91bmQudXNlX2luaGVyaXRhbmNlID0gdmFsdWUKKysKKyAKKyBjbGFzcyBCYWNrZ3JvdW5k KEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgIiIiQSBgYmFja2dyb3VuZGBfIHBh cnNlZCBmcm9tIGEgKmZlYXR1cmUgZmlsZSouCisgCisrICAgIEJlaGF2aW91cjoKKysKKysgICAg KiBFYWNoIHNjZW5hcmlvIG9mIGEgc2NlbmFyaW8gY29udGFpbmVyIChGZWF0dXJlLCBSdWxlKQor KyAgICAgIGluaGVyaXRzIHRoZSBCYWNrZ3JvdW5kIG9mIGl0cyBzY2VuYXJpbyBjb250YWluZXIK KysgICAgKiBCYWNrZ3JvdW5kIHN0ZXBzIGluIGEgc2NlbmFyaW8gYXJlIGV4ZWN1dGVkIGJlZm9y ZSBzY2VuYXJpbyBzdGVwcworKyAgICAqIFJ1bGUgQmFja2dyb3VuZCBpbmhlcml0cyB0aGUgRmVh dHVyZSBCYWNrZ3JvdW5kIChvdXRlciBiYWNrZ3JvdW5kKSBpZiBhbnkKKysgICAgKiBJbmhlcml0 ZWQgQmFja2dyb3VuZCBzdGVwcyBhcmUgdXNlZC9leGVjdXRlZCBmaXJzdAorKyAgICAqIE9wdGlv bmFsbHksIGJhY2tncm91bmQgaW5oZXJpdGFuY2UgY2FuIGJlIGRpc2FibGVkCisrICAgICAgKG5v cm1hbGx5OiBieSB1c2luZyBhIGZpeHR1cmUvZml4dHVyZS10YWcpCisrCisgICAgIFRoZSBhdHRy aWJ1dGVzIGFyZToKKyAKKyAgICAgLi4gYXR0cmlidXRlOjoga2V5d29yZAorQEAgLTY3OSwyMyAr NzY2LDY1IEBAIGNsYXNzIEJhY2tncm91bmQoQmFzaWNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgor IAorICAgICAuLiBfYGJhY2tncm91bmRgOiBnaGVya2luLmh0bWwjYmFja2dyb3VuZHMKKyAgICAg IiIiCistICAgICMgVE9ETzogQmFja2dyb3VuZCBpbmhlcml0YW5jZQorLSAgICAjIFJ1bGUuYmFj a2dyb3VuZCBzaG91bGQgaW5oZXJpdCBpdHMgRmVhdHVyZS5iYWNrZ3JvdW5kIHN0ZXBzIChpZiBh dmFpbGFibGUpCistICAgICMgUnVsZS5iYWNrZ3JvdW5kID0gRmVhdHVyZS5iYWNrZ3JvdW5kIGlm ZiBub3QgUnVsZS5iYWNrZ3JvdW5kIGV4aXN0cyAoQUxSRUFEWS1TT0xWRUQpCistICAgICMgUnVs ZSBtYXkgb3ZlcnJpZGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSBtZWNoYW5pc20KKyAgICAgdHlw ZSA9ICJiYWNrZ3JvdW5kIgorIAorLSAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGxp bmUsIGtleXdvcmQsIG5hbWUsIHN0ZXBzPU5vbmUsIGRlc2NyaXB0aW9uPU5vbmUpOgorKyAgICBk ZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGxpbmUsIGtleXdvcmQ9dSJCYWNrZ3JvdW5kIiwg bmFtZT11IiIsCisrICAgICAgICAgICAgICAgICBzdGVwcz1Ob25lLCBkZXNjcmlwdGlvbj1Ob25l KToKKyAgICAgICAgIHN1cGVyKEJhY2tncm91bmQsIHNlbGYpLl9faW5pdF9fKGZpbGVuYW1lLCBs aW5lLCBrZXl3b3JkLCBuYW1lKQorICAgICAgICAgc2VsZi5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0 aW9uIG9yIFtdCisgICAgICAgICBzZWxmLnN0ZXBzID0gc3RlcHMgb3IgW10KKysgICAgICAgIHNl bGYuaW5oZXJpdGVkX2JhY2tncm91bmQgPSBOb25lCisrICAgICAgICBzZWxmLl9pbmhlcml0ZWRf c3RlcHMgPSBOb25lCisrICAgICAgICBzZWxmLl91c2VfaW5oZXJpdGFuY2UgPSBUcnVlCisgCist ICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiAnPEJhY2tncm91bmQgIiVz Ij4nICUgc2VsZi5uYW1lCisrICAgIEBwcm9wZXJ0eQorKyAgICBkZWYgdXNlX2luaGVyaXRhbmNl KHNlbGYpOgorKyAgICAgICAgIiIiSW5kaWNhdGVzIGlmIHRoaXMgQmFja2dyb3VuZCBzaG91bGQg aW5oZXJpdCBmcm9tIGFuIG91dGVyIEJhY2tncm91bmQuCisrICAgICAgICBCYWNrZ3JvdW5kIGlu aGVyaXRhbmNlIG1lY2hhbmlzbSBpcyBlbmFibGVkIChwZXIgZGVmYXVsdCkuCisrICAgICAgICBP cHRpb25hbGx5LCB0aGlzIG1lY2hhbmlzbSBjYW4gYmUgZGlzYWJsZWQgKG9yIG92ZXJyaWRkZW4p LgorIAorLSAgICBkZWYgX19pdGVyX18oc2VsZik6CisrICAgICAgICA6cmV0dXJuOiBDdXJyZW50 IGJhY2tncm91bmQgaW5oZXJpdGFuY2Ugc3RhdGUgKGFzIGJvb2wpLgorKworKyAgICAgICAgLi4g dmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgICAgICIiIgorKyAgICAgICAgcmV0dXJuIHNlbGYu X3VzZV9pbmhlcml0YW5jZQorKworKyAgICBAdXNlX2luaGVyaXRhbmNlLnNldHRlcgorKyAgICBk ZWYgdXNlX2luaGVyaXRhbmNlKHNlbGYsIHZhbHVlKToKKysgICAgICAgICIiIkVuYWJsZS9kaXNh YmxlIGJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGZvciB0aGlzIEJhY2tncm91bmQu CisrCisrICAgICAgICA6cGFyYW0gdmFsdWU6ICAgTmV3IHZhbHVlIChhcyBib29sKS4KKysKKysg ICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICAgICAiIiIKKysgICAgICAgICMg LS0gRU5TVVJFOiBpbmhlcml0ZWRfc3RlcHMgYXJlIHJlaW5pdGlhbGl6ZWQgKGxhdGVyKS4KKysg ICAgICAgIHNlbGYuX3VzZV9pbmhlcml0YW5jZSA9IGJvb2wodmFsdWUpCisrICAgICAgICBzZWxm Ll9pbmhlcml0ZWRfc3RlcHMgPSBOb25lCisrCisrICAgIEBwcm9wZXJ0eQorKyAgICBkZWYgaW5o ZXJpdGVkX3N0ZXBzKHNlbGYpOgorKyAgICAgICAgIyB2ZXJzaW9uYWRkZWQ6OiAxLjIuNworKyAg ICAgICAgaWYgc2VsZi5faW5oZXJpdGVkX3N0ZXBzIGlzIE5vbmU6CisrICAgICAgICAgICAgIyAt LSBMQVpZLUlOSVQ6IFN1cHBvcnQgZW5hYmxlL2Rpc2FibGUgdGhlIGluaGVyaXRhbmNlIG1lY2hh bmlzbS4KKysgICAgICAgICAgICBzdGVwcyA9IFtdCisrICAgICAgICAgICAgaWYgc2VsZi5pbmhl cml0ZWRfYmFja2dyb3VuZCBhbmQgc2VsZi5fdXNlX2luaGVyaXRhbmNlOgorKyAgICAgICAgICAg ICAgICBzdGVwcyA9IGNvcHlfYW5kX3Jlc2V0X3N0ZXBzKHNlbGYuaW5oZXJpdGVkX2JhY2tncm91 bmQuc3RlcHMpCisrICAgICAgICAgICAgc2VsZi5faW5oZXJpdGVkX3N0ZXBzID0gc3RlcHMKKysg ICAgICAgIHJldHVybiBzZWxmLl9pbmhlcml0ZWRfc3RlcHMKKysKKysgICAgZGVmIGl0ZXJfc3Rl cHMoc2VsZik6CisrICAgICAgICAiIiJSZXR1cm5zIGl0ZXJhdG9yIHRvIGFsbCBzdGVwcywgaW5j bHVkaW5nIGluaGVyaXRlZCBzdGVwcyAoaWYgYW55KS4KKysKKysgICAgICAgIC4uIHZlcnNpb25h ZGRlZDo6IDEuMi43CisrICAgICAgICAiIiIKKysgICAgICAgIGlmIHNlbGYuaW5oZXJpdGVkX3N0 ZXBzOgorKyAgICAgICAgICAgIHJldHVybiBpdGVydG9vbHMuY2hhaW4oc2VsZi5pbmhlcml0ZWRf c3RlcHMsIHNlbGYuc3RlcHMpCisgICAgICAgICByZXR1cm4gaXRlcihzZWxmLnN0ZXBzKQorIAor KyAgICBAcHJvcGVydHkKKysgICAgZGVmIGFsbF9zdGVwcyhzZWxmKToKKysgICAgICAgIHJldHVy biBzZWxmLml0ZXJfc3RlcHMoKQorKworICAgICBAcHJvcGVydHkKKyAgICAgZGVmIGR1cmF0aW9u KHNlbGYpOgorICAgICAgICAgZHVyYXRpb24gPSAwCitAQCAtNzAzLDYgKzgzMiwxMiBAQCBjbGFz cyBCYWNrZ3JvdW5kKEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICAgICBk dXJhdGlvbiArPSBzdGVwLmR1cmF0aW9uCisgICAgICAgICByZXR1cm4gZHVyYXRpb24KKyAKKysg ICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorKyAgICAgICAgcmV0dXJuICc8QmFja2dyb3VuZCAiJXMi PicgJSBzZWxmLm5hbWUKKysKKysgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorKyAgICAgICAgcmV0 dXJuIHNlbGYuaXRlcl9zdGVwcygpCisrCisgCisgY2xhc3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVz U3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgIiIiQSBgc2NlbmFyaW9gXyBwYXJzZWQgZnJv bSBhICpmZWF0dXJlIGZpbGUqLgorQEAgLTc5OSw2ICs5MzQsNyBAQCBjbGFzcyBTY2VuYXJpbyhU YWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgc2VsZi5mZWF0dXJl ID0gTm9uZSAgIyBSRUZFUi1UTzogb3duZXI9RmVhdHVyZQorICAgICAgICAgc2VsZi5ob29rX2Zh aWxlZCA9IEZhbHNlCisgICAgICAgICBzZWxmLl9iYWNrZ3JvdW5kX3N0ZXBzID0gTm9uZQorKyAg ICAgICAgc2VsZi5fdXNlX2JhY2tncm91bmQgPSBUcnVlCisgICAgICAgICBzZWxmLl9yb3cgPSBO b25lCisgICAgICAgICBzZWxmLndhc19kcnlfcnVuID0gRmFsc2UKKyAKK0BAIC04MTMsNiArOTQ5 LDI3IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6 CisgICAgICAgICBmb3Igc3RlcCBpbiBzZWxmLmFsbF9zdGVwczoKKyAgICAgICAgICAgICBzdGVw LnJlc2V0KCkKKyAKKysgICAgQHByb3BlcnR5CisrICAgIGRlZiB1c2VfYmFja2dyb3VuZChzZWxm KToKKysgICAgICAgICIiIkluZGljYXRlcyBpZiB0aGUgYmFja2dyb3VuZCBpcy93b3VsZCBiZSB1 c2VkIChpZiBhbnkgZXhpc3RzKS4KKysgICAgICAgIE5PVEU6IFRoZSBCYWNrZ3JvdW5kIChzdGVw cykgYXJlIG5vcm1hbGx5IHVzZWQuCisrCisrICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjIu NworKyAgICAgICAgIiIiCisrICAgICAgICByZXR1cm4gc2VsZi5fdXNlX2JhY2tncm91bmQKKysK KysgICAgQHVzZV9iYWNrZ3JvdW5kLnNldHRlcgorKyAgICBkZWYgdXNlX2JhY2tncm91bmQoc2Vs ZiwgdmFsdWUpOgorKyAgICAgICAgIiIiRW5hYmxlL2Rpc2FibGUgdGhlIHVzYWdlIG9mIHRoZSBi YWNrZ3JvdW5kIChzdGVwcykuCisrCisrICAgICAgICA6cGFyYW0gdmFsdWU6ICBOZXcgdmFsdWUg KGFzIGJvb2wpLgorKworKyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgICAg ICIiIgorKyAgICAgICAgIyAtLSBFTlNVUkU6IGJhY2tncm91bmRfc3RlcHMgYXJlIHJlaW5pdGlh bGl6ZWQuCisrICAgICAgICBzZWxmLl91c2VfYmFja2dyb3VuZCA9IHZhbHVlCisrICAgICAgICBz ZWxmLl9iYWNrZ3JvdW5kX3N0ZXBzID0gTm9uZQorKworICAgICBAcHJvcGVydHkKKyAgICAgZGVm IGJhY2tncm91bmRfc3RlcHMoc2VsZik6CisgICAgICAgICAiIiJQcm92aWRlIGJhY2tncm91bmQg c3RlcHMgaWYgZmVhdHVyZS9ydWxlIGhhcyBhIGJhY2tncm91bmQuCitAQCAtODI4LDI0ICs5ODUs MjkgQEAgY2xhc3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToK KyAgICAgICAgICAgICAjIEVhY2ggc2NlbmFyaW8gbmVlZHMgb3duIGJhY2tncm91bmQuc3RlcHMu CisgICAgICAgICAgICAgIyBPdGhlcndpc2UsIGJhY2tncm91bmQgc3RlcCBzdGF0dXMgb2YgdGhl IGxhc3QtcnVuIHNjZW5hcmlvIGlzIHVzZWQuCisgICAgICAgICAgICAgc3RlcHMgPSBbXQorLSAg ICAgICAgICAgIGlmIHNlbGYuYmFja2dyb3VuZDoKKy0gICAgICAgICAgICAgICAgc3RlcHMgPSBb Y29weS5jb3B5KHN0ZXApIGZvciBzdGVwIGluIHNlbGYuYmFja2dyb3VuZC5zdGVwc10KKysgICAg ICAgICAgICBpZiBzZWxmLmJhY2tncm91bmQgYW5kIHNlbGYudXNlX2JhY2tncm91bmQ6CisrICAg ICAgICAgICAgICAgIHN0ZXBzID0gY29weV9hbmRfcmVzZXRfc3RlcHMoc2VsZi5iYWNrZ3JvdW5k LmFsbF9zdGVwcykKKyAgICAgICAgICAgICBzZWxmLl9iYWNrZ3JvdW5kX3N0ZXBzID0gc3RlcHMK KyAgICAgICAgIHJldHVybiBzZWxmLl9iYWNrZ3JvdW5kX3N0ZXBzCisgCistICAgIEBwcm9wZXJ0 eQorLSAgICBkZWYgYWxsX3N0ZXBzKHNlbGYpOgorLSAgICAgICAgIiIiUmV0dXJucyBpdGVyYXRv ciB0byBhbGwgc3RlcHMsIGluY2x1ZGluZyBiYWNrZ3JvdW5kIHN0ZXBzIGlmIGFueS4iIiIKKysg ICAgZGVmIGl0ZXJfc3RlcHMoc2VsZik6CisrICAgICAgICAiIiJSZXR1cm5zIGl0ZXJhdG9yIHRv IGFsbCBzdGVwcywgaW5jbHVkaW5nIGJhY2tncm91bmQgc3RlcHMgaWYgYW55LgorKworKyAgICAg ICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgICAgICIiIgorICAgICAgICAgaWYgc2Vs Zi5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIHJldHVybiBpdGVydG9vbHMu Y2hhaW4oc2VsZi5iYWNrZ3JvdW5kX3N0ZXBzLCBzZWxmLnN0ZXBzKQorLSAgICAgICAgZWxzZToK Ky0gICAgICAgICAgICByZXR1cm4gaXRlcihzZWxmLnN0ZXBzKQorKyAgICAgICAgcmV0dXJuIGl0 ZXIoc2VsZi5zdGVwcykKKysKKysgICAgQHByb3BlcnR5CisrICAgIGRlZiBhbGxfc3RlcHMoc2Vs Zik6CisrICAgICAgICByZXR1cm4gc2VsZi5pdGVyX3N0ZXBzKCkKKyAKKyAgICAgZGVmIF9fcmVw cl9fKHNlbGYpOgorICAgICAgICAgcmV0dXJuICc8U2NlbmFyaW8gIiVzIj4nICUgc2VsZi5uYW1l CisgCisgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiBzZWxmLmFsbF9z dGVwcworKyAgICAgICAgcmV0dXJuIHNlbGYuaXRlcl9zdGVwcygpCisgCisgICAgIGRlZiBjb21w dXRlX3N0YXR1cyhzZWxmKToKKyAgICAgICAgICIiIkNvbXB1dGUgdGhlIHN0YXR1cyBvZiB0aGUg c2NlbmFyaW8gZnJvbSBpdHMgc3RlcHMKK0BAIC04NjIsOSArMTAyNCw4IEBAIGNsYXNzIFNjZW5h cmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAg ICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogSW4gZHJ5LXJ1biB3aXRoIHVuZGVmaW5lZC1zdGVwIGRp c2NvdmVyeQorICAgICAgICAgICAgICAgICAgICAgIyAgICBVbmRlZmluZWQgc3RlcHMgc2hvdWxk IG5vdCBjYXVzZSBmYWlsZWQgc2NlbmFyaW8uCisgICAgICAgICAgICAgICAgICAgICByZXR1cm4g U3RhdHVzLnVudGVzdGVkCistICAgICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAg ICAgICAjIC0tIE5PUk1BTExZOiBVbmRlZmluZWQgc3RlcHMgY2F1c2UgZmFpbGVkIHNjZW5hcmlv LgorLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy5mYWlsZWQKKysgICAgICAgICAg ICAgICAgIyAtLSBOT1JNQUxMWTogVW5kZWZpbmVkIHN0ZXBzIGNhdXNlIGZhaWxlZCBzY2VuYXJp by4KKysgICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy5mYWlsZWQKKyAgICAgICAgICAgICBl bGlmIHN0ZXAuc3RhdHVzICE9IFN0YXR1cy5wYXNzZWQ6CisgICAgICAgICAgICAgICAgICMgcHls aW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKKyAgICAgICAgICAgICAgICAgYXNzZXJ0IHN0ZXAu c3RhdHVzIGluIChTdGF0dXMuZmFpbGVkLCBTdGF0dXMuc2tpcHBlZCwgU3RhdHVzLnVudGVzdGVk KQorQEAgLTEwMjksNyArMTE5MCw2IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRl bWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAgICAgICAjIEJVVDogRGV0ZWN0IGFs bCByZW1haW5pbmcgdW5kZWZpbmVkIHN0ZXBzLgorICAgICAgICAgICAgICAgICAgICAgc3RlcC5z dGF0dXMgPSBTdGF0dXMuc2tpcHBlZAorICAgICAgICAgICAgICAgICAgICAgaWYgZHJ5X3J1bl9z Y2VuYXJpbzoKKy0gICAgICAgICAgICAgICAgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1yZWRl ZmluZWQtdmFyaWFibGUtdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdHVz ID0gU3RhdHVzLnVudGVzdGVkCisgICAgICAgICAgICAgICAgICAgICBmb3VuZF9zdGVwX21hdGNo ID0gcnVubmVyLnN0ZXBfcmVnaXN0cnkuZmluZF9tYXRjaChzdGVwKQorICAgICAgICAgICAgICAg ICAgICAgaWYgbm90IGZvdW5kX3N0ZXBfbWF0Y2g6CitAQCAtMTA2Nyw3ICsxMjI3LDcgQEAgY2xh c3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAg ICMgLS0gUEVSRk9STSBDT05URVhULUNMRUFOVVA6IE1heSByYWlzZSBjbGVhbnVwIGVycm9ycy4K KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBydW5uZXIuY29udGV4dC5fcG9wKCkgICAgICAg IyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbjoKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246ICAgICAgICAgICAgICAgIyBweWxpbnQ6 IGRpc2FibGU9YnJvYWQtZXhjZXB0CisgICAgICAgICAgICAgc2VsZi5zZXRfc3RhdHVzKFN0YXR1 cy5mYWlsZWQpCisgICAgICAgICAgICAgZmFpbGVkID0gVHJ1ZQorIAorQEAgLTExNzYsOSArMTMz Niw5IEBAIGNsYXNzIFNjZW5hcmlvT3V0bGluZUJ1aWxkZXIob2JqZWN0KToKKyAgICAgICAgICAg ICAgICAgcGxhY2Vob2xkZXIgPSB1Ijwlcz4iICUgbmFtZQorICAgICAgICAgICAgICAgICBmb3Ig aSwgY2VsbCBpbiBlbnVtZXJhdGUobmV3X3N0ZXAudGFibGUuaGVhZGluZ3MpOgorICAgICAgICAg ICAgICAgICAgICAgbmV3X3N0ZXAudGFibGUuaGVhZGluZ3NbaV0gPSBjZWxsLnJlcGxhY2UocGxh Y2Vob2xkZXIsIHZhbHVlKQorLSAgICAgICAgICAgICAgICBmb3Igcm93IGluIG5ld19zdGVwLnRh YmxlOgorLSAgICAgICAgICAgICAgICAgICAgZm9yIGksIGNlbGwgaW4gZW51bWVyYXRlKHJvdy5j ZWxscyk6CistICAgICAgICAgICAgICAgICAgICAgICAgcm93LmNlbGxzW2ldID0gY2VsbC5yZXBs YWNlKHBsYWNlaG9sZGVyLCB2YWx1ZSkKKysgICAgICAgICAgICAgICAgZm9yIHN0ZXBfcm93IGlu IG5ld19zdGVwLnRhYmxlOgorKyAgICAgICAgICAgICAgICAgICAgZm9yIGksIGNlbGwgaW4gZW51 bWVyYXRlKHN0ZXBfcm93LmNlbGxzKToKKysgICAgICAgICAgICAgICAgICAgICAgICBzdGVwX3Jv dy5jZWxsc1tpXSA9IGNlbGwucmVwbGFjZShwbGFjZWhvbGRlciwgdmFsdWUpCisgICAgICAgICBy ZXR1cm4gbmV3X3N0ZXAKKyAKKyAgICAgZGVmIGJ1aWxkX3NjZW5hcmlvcyhzZWxmLCBzY2VuYXJp b19vdXRsaW5lKToKK0BAIC0xNjQwLDcgKzE4MDAsNiBAQCBjbGFzcyBTdGVwKEJhc2ljU3RhdGVt ZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICAgICAgICAgbWF0Y2gucnVuKHJ1bm5lci5jb250 ZXh0KQorICAgICAgICAgICAgICAgICBpZiBzZWxmLnN0YXR1cyA9PSBTdGF0dXMudW50ZXN0ZWQ6 CisgICAgICAgICAgICAgICAgICAgICAjIC0tIE5PVEU6IEV4ZWN1dGVkIHN0ZXAgbWF5IGhhdmUg c2tpcHBlZCBzY2VuYXJpbyBhbmQgaXRzZWxmLgorLSAgICAgICAgICAgICAgICAgICAgIyBweWxp bnQ6IGRpc2FibGU9cmVkZWZpbmVkLXZhcmlhYmxlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAg IHNlbGYuc3RhdHVzID0gU3RhdHVzLnBhc3NlZAorICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2Fy ZEludGVycnVwdCBhcyBlOgorICAgICAgICAgICAgICAgICBydW5uZXIuYWJvcnRlZCA9IFRydWUK K0BAIC0xODE1LDggKzE5NzQsNyBAQCBjbGFzcyBUYWJsZShSZXBsYXlhYmxlKToKKyAgICAgICAg ICIiIgorICAgICAgICAgaWYgc2VsZi5oYXNfY29sdW1uKGNvbHVtbl9uYW1lKToKKyAgICAgICAg ICAgICByZXR1cm4gc2VsZi5nZXRfY29sdW1uX2luZGV4KGNvbHVtbl9uYW1lKQorLSAgICAgICAg ZWxzZToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5hZGRfY29sdW1uKGNvbHVtbl9uYW1lKQor KyAgICAgICAgcmV0dXJuIHNlbGYuYWRkX2NvbHVtbihjb2x1bW5fbmFtZSkKKyAKKyAgICAgZGVm IF9fcmVwcl9fKHNlbGYpOgorICAgICAgICAgcmV0dXJuICI8VGFibGU6ICVkeCVkPiIgJSAobGVu KHNlbGYuaGVhZGluZ3MpLCBsZW4oc2VsZi5yb3dzKSkKK2RpZmYgLS1naXQgYS9iZWhhdmUvcGFy c2VyLnB5IGIvYmVoYXZlL3BhcnNlci5weQoraW5kZXggOTkzYzlkYy4uNTIwZjY3OCAxMDA2NDQK Ky0tLSBhL2JlaGF2ZS9wYXJzZXIucHkKKysrKyBiL2JlaGF2ZS9wYXJzZXIucHkKK0BAIC0yNDks NyArMjQ5LDYgQEAgY2xhc3MgUGFyc2VyKG9iamVjdCk6CisgICAgICAgICBzZWxmLnJ1bGUgPSBy dWxlCisgICAgICAgICBzZWxmLnNjZW5hcmlvX2NvbnRhaW5lciA9IHJ1bGUKKyAgICAgICAgIHNl bGYuc3RhdGVtZW50ID0gcnVsZQorLSAgICAgICAgIyBNQVlCRTogc2VsZi5iYWNrZ3JvdW5kID0g Tm9uZQorICAgICAgICAgc2VsZi5mZWF0dXJlLmFkZF9ydWxlKHNlbGYuc3RhdGVtZW50KQorICAg ICAgICAgIyAtLSBSRVNFVCBTVEFURToKKyAgICAgICAgIHNlbGYudGFncyA9IFtdCitAQCAtMjU4 LDExICsyNTcsMTUgQEAgY2xhc3MgUGFyc2VyKG9iamVjdCk6CisgICAgICAgICBpZiBzZWxmLnRh Z3M6CisgICAgICAgICAgICAgbXNnID0gdSJCYWNrZ3JvdW5kIHN1cHBvcnRzIG5vIHRhZ3M6IEAl cyIgJSAodSIgQCIuam9pbihzZWxmLnRhZ3MpKQorICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVy cm9yKG1zZywgc2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lLCBsaW5lKQorKyAgICAgICAgZWxpZiBz ZWxmLnNjZW5hcmlvX2NvbnRhaW5lciBhbmQgc2VsZi5zY2VuYXJpb19jb250YWluZXIuYmFja2dy b3VuZDoKKysgICAgICAgICAgICBpZiBzZWxmLnNjZW5hcmlvX2NvbnRhaW5lci5iYWNrZ3JvdW5k LnN0ZXBzOgorKyAgICAgICAgICAgICAgICAjIC0tIEhJTlQ6IFJ1bGUgbWF5IGhhdmUgZGVmYXVs dCBiYWNrZ3JvdW5kIHcvbyBzdGVwcy4KKysgICAgICAgICAgICAgICAgbXNnID0gdSJTZWNvbmQg QmFja2dyb3VuZCAoY2FuIGhhdmUgb25seSBvbmUpIgorKyAgICAgICAgICAgICAgICByYWlzZSBQ YXJzZXJFcnJvcihtc2csIHNlbGYubGluZSwgc2VsZi5maWxlbmFtZSwgbGluZSkKKyAgICAgICAg IG5hbWUgPSBsaW5lW2xlbihrZXl3b3JkKSArIDE6XS5zdHJpcCgpCisgICAgICAgICBiYWNrZ3Jv dW5kID0gbW9kZWwuQmFja2dyb3VuZChzZWxmLmZpbGVuYW1lLCBzZWxmLmxpbmUsIGtleXdvcmQs IG5hbWUpCisrICAgICAgICBzZWxmLnNjZW5hcmlvX2NvbnRhaW5lci5hZGRfYmFja2dyb3VuZChi YWNrZ3JvdW5kKQorICAgICAgICAgc2VsZi5zdGF0ZW1lbnQgPSBiYWNrZ3JvdW5kCistICAgICAg ICBzZWxmLnNjZW5hcmlvX2NvbnRhaW5lci5iYWNrZ3JvdW5kID0gYmFja2dyb3VuZAorLSAgICAg ICAgIyBPTEQ6IHNlbGYuZmVhdHVyZS5iYWNrZ3JvdW5kID0gc2VsZi5zdGF0ZW1lbnQKKyAKKyAg ICAgZGVmIF9idWlsZF9zY2VuYXJpb19zdGF0ZW1lbnQoc2VsZiwga2V5d29yZCwgbGluZSk6Cisg ICAgICAgICBuYW1lID0gbGluZVtsZW4oa2V5d29yZCkgKyAxOl0uc3RyaXAoKQorZGlmZiAtLWdp dCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0IGIvZXhh bXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKK2RlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggOWMxNTBjYy4uMDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4 dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QKKysrKyAvZGV2L251bGwKK0BAIC0x LDExNiArMCwwIEBACistRVhBTVBMRTogT3ZlcnJpZGUgLyBEaXNhYmxlIEJhY2tncm91bmQgSW5o ZXJpdGFuY2UgTWVjaGFuaXNtIGZvciBTY2VuYXJpbworLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0KKy06UkVMQVRFRC1UTzogIzc1NgorLQorLVRoaXMgZXhhbXBsZSBzaG93cyBob3cgdGhlIEJh Y2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtIGluIEdoZXJraW4KKy1jYW4gYmUgZGlzYWJs ZWQgaW4gYGBiZWhhdmVgYC4KKy0KKy1QYXJ0cyBvZiB0aGUgcmVjaXBlOgorLQorLSogZmVhdHVy ZXMvZXhhbXBsZS5mZWF0dXJlIChGZWF0dXJlIGZpbGUgYXMgZXhhbXBsZSkKKy0qIGZlYXR1cmVz L2Vudmlyb25tZW50LnB5IChnbHVlIGNvZGUgYW5kIGhvb2tzIGZvciBmaXh0dXJlLXRhZyAvIGZp eHR1cmUpCistKiBiZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSAoZml4 dHVyZSBpbXBsZW1lbnRhdGlvbiwgd29ya2hvcnNlKQorLQorLQorLS4uIHdhcm5pbmc6OiBCRVdB UkU6IFRoaXMgc2hvd3MgeW91IGhvdyBjYW4gZG8gaXQsIG5vdCB0aGF0IHlvdSBzaG91bGQgZG8g aXQKKy0KKy0gICAgQkVUVEVSOgorLQorLSAgICAqIFVzZSBSdWxlcyB0byBncm91cCBTY2VuYXJp b3MsIGVhY2ggd2l0aCBpdHMgb3duIEJhY2tncm91bmQgKGluIEdoZXJraW4gdjYpCistICAgICog U3BsaXQgRmVhdHVyZSBhc3BlY3RzIGludG8gbXVsdGlwbGUgZmVhdHVyZSBmaWxlcyAoaWYgbmVl ZGVkKQorLSAgICAqIC4uLiAoc2VlIGlzc3VlICM3NTYgYWJvdmUpCistCistCistRXhwbGFuYXRp b24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0KKy1FeGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUgYSBi ZWhhdmUgZml4dHVyZSB0byBkaXNhYmxlIHRoZQorLWJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVj aGFuaXNtIGJ5IHVzaW5nIGEgZml4dHVyZSAvIGZpeHR1cmUtdGFnLgorLVRoZSBmaXh0dXJlLXRh ZyAiQGl4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCIgbWFya3MgdGhlCistbG9jYXRp b24gaW4gR2hlcmtpbiAod2hpY2ggU2NlbmFyaW8pIHdoZXJlIHRoZSBmaXh0dXJlIHNob3VsZCBi ZSB1c2VkCistCistLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKy0KKy0gICAgIyAtLSBGSUxFOiBm ZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKy0gICAgRmVhdHVyZTogU2hvdyBob3cgQGZpeHR1cmUu YmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQgaXMgdXNlZAorLQorLSAgICAgICAgQmFja2dyb3Vu ZDoKKy0gICAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAKKy0KKy0gICAgICAgIFNjZW5h cmlvOiBBbGljZQorLSAgICAgICAgICBXaGVuIGEgc3RlcCBwYXNzZXMKKy0gICAgICAgICAgQW5k IG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVyZSIKKy0KKy0gICAg ICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQKKy0gICAgICAgIFNjZW5hcmlv OiBCb2IKKy0gICAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKy0g ICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCistICAgICAgICAgIEFuZCBub3RlIHRo YXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCistCistV2hlbiB0aGUg ZmVhdHVyZSBpcyBleGVjdXRlZCwgeW91IHNlZSB0aGF0OgorLQorLSogRmlyc3QgU2NlbmFyaW8g IkFsaWNlIjogQmFja2dyb3VuZCBzdGVwcyBhcmUgaW5oZXJpdGVkIGFuZCBleGVjdXRlZCBmaXJz dC4KKy0qIFNlY29uZCBTY2VuYXJpbyAiQm9iIjogTm8gQmFja2dyb3VuZCBzdGVwIGlzIGV4ZWN1 dGVkLgorLQorLS4uIGNvZGUtYmxvY2s6OiBzaAorLQorLSAgICAkIC4uLy4uL2Jpbi9iZWhhdmUg LWYgcGxhaW4gZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCistICAgIEZlYXR1cmU6IE92ZXJyaWRl IHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcwor LSAgICAgIEJhY2tncm91bmQ6CistCistICAgICAgU2NlbmFyaW86IEFsaWNlCistICAgICAgICBH aXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorLSAgICAgICAgV2hlbiBh IHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKy0gICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91 bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4uLiBwYXNzZWQKKy0gICAgRklYVFVSRS1ISU5U OiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiBCb2IKKy0KKy0gICAgICBTY2VuYXJpbzogQm9iCist ICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cCAuLi4gcGFzc2VkCist ICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorLSAgICAgICAgQW5k IG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIgLi4uIHBh c3NlZAorLQorLSAgICAxIGZlYXR1cmUgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCistICAg IDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorLSAgICA2IHN0ZXBzIHBh c3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1bmRlZmluZWQKKy0KKy0KKy1UaGUgZW52aXJv bm1lbnQgZmlsZSBwcm92aWRlcyB0aGUgZ2x1ZSBjb2RlIHRoYXQgdGhlIGZpeHR1cmUgaXMgY2Fs bGVkOgorLQorLS4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0KKy0gICAgIyAtLSBGSUxFOiBmZWF0 dXJlcy9lbnZpcm9ubWVudC5weQorLSAgICBmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVycmlk ZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZAorLSAgICBmcm9t IGJlaGF2ZS5maXh0dXJlIGltcG9ydCB1c2VfZml4dHVyZV9ieV90YWcKKy0KKy0gICAgIyAtLSBG SVhUVVJFIFJFR0lTVFJZOgorLSAgICBmaXh0dXJlX3JlZ2lzdHJ5ID0geworLSAgICAgICAgImZp eHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3Jv dW5kLAorLSAgICB9CistCistICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgIyBIT09L UzoKKy0gICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICBkZWYgYmVmb3JlX3RhZyhjb250 ZXh0LCB0YWcpOgorLSAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CistICAg ICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVf cmVnaXN0cnkpCistCistCistLi4gY29kZS1ibG9jazo6IHB5dGhvbgorLQorLSAgICAjIC0tIEZJ TEU6IGJlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5IChmaXh0dXJlIGlt cGxlbWVudGF0aW9uKQorLSAgICBmcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQorLQorLSAgICBA Zml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIikKKy0gICAg ZGVmIGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kKGN0eCk6CistICAgICAgICAjIC0tIFNFVFVQ LVBBUlQtT05MWTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFyaW9z IG9ubHkpLgorLSAgICAgICAgY3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbworLSAgICAg ICAgaWYgY3VycmVudF9zY2VuYXJpbzoKKy0gICAgICAgICAgICBiZWhhdmVfZGlzYWJsZV9iYWNr Z3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhjdXJyZW50X3NjZW5hcmlvKQorLQorLSAg ICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgICMgQkVIQVZFIFVUSUxJVFk6CistICAgICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgZGVmIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91bmRf aW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNjZW5hcmlvKToKKy0gICAgICAgIHByaW50KCJGSVhU VVJFLUhJTlQ6IERJU0FCTEUtQkFDS0dST1VORCBGT1I6ICVzIiAlIHNjZW5hcmlvLm5hbWUpCist ICAgICAgICBzY2VuYXJpby5iYWNrZ3JvdW5kID0gTm9uZQorZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18u cHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVf bGliL19faW5pdF9fLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU2OWRlMjku LjAwMDAwMDAKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgYi9leGFtcGxlcy9m aXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2Jh Y2tncm91bmQucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggNmM1NzJjZi4uMDAw MDAwMAorLS0tIGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9m aXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSw4 MCArMCwwIEBACistIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0jIFJFTEFURUQtVE86ICM3NTYK Ky0iIiIKKy1FeGFtcGxlIGNvZGUgaG93IHRvIHByb3ZpZGUgYSBiZWhhdmUgZml4dHVyZSB0byBk aXNhYmxlIHRoZQorLWJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtLgorLQorLS4uIGNv ZGUtYmxvY2s6OiBnaGVya2luCistCistICAgICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBsZS5m ZWF0dXJlCistICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9i YWNrZ3JvdW5kIGlzIHVzZWQKKy0KKy0gICAgICAgIEJhY2tncm91bmQ6CistICAgICAgICAgIEdp dmVuIGEgYmFja2dyb3VuZCBzdGVwCistCistICAgICAgICBTY2VuYXJpbzogQWxpY2UKKy0gICAg ICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCistICAgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tn cm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCistCistICAgICAgICBAZml4dHVyZS5iZWhh dmUub3ZlcmlkZV9iYWNrZ3JvdW5kCistICAgICAgICBTY2VuYXJpbzogQm9iCistICAgICAgICAg IEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCistICAgICAgICAgIFdoZW4gYW5v dGhlciBzdGVwIHBhc3NlcworLSAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5E IFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIgorLQorLS4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0K Ky0gICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorLSAgICBmcm9tIGJlaGF2 ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVf YmFja2dyb3VuZAorLSAgICBmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCB1c2VfZml4dHVyZV9i eV90YWcKKy0KKy0gICAgIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorLSAgICBmaXh0dXJlX3JlZ2lz dHJ5ID0geworLSAgICAgICAgImZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZCI6IGJl aGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAorLSAgICB9CistCistICAgIGRlZiBiZWZvcmVfdGFn KGNvbnRleHQsIHRhZyk6CistICAgICAgICBpZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToK Ky0gICAgICAgICAgICByZXR1cm4gdXNlX2ZpeHR1cmVfYnlfdGFnKHRhZywgY29udGV4dCwgZml4 dHVyZV9yZWdpc3RyeSkKKy0KKy0iIiIKKy0KKy1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKy1mcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQor LQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEJFSEFWRSBGSVhUVVJFUzoKKy0jIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCistQGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhhdmUub3ZlcnJp ZGVfYmFja2dyb3VuZCIpCistZGVmIGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kKGN0eCk6Cist ICAgICIiIk92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIGluaGVyaW50YW5jZSBtZWNoYW5pc20uCist ICAgIElmIGEgRmVhdHVyZSAvIFJ1bGUgQmFja2dyb3VuZCBleGlzdHMgaW4gYSBGZWF0dXJlLAor LSAgICBhbGwgY29udGFpbmVkIFNjZW5hcmlvcyBpbmhlcml0IHRoZSBCYWNrZ3JvdW5kJ3Mgc3Rl cHMuCistCistICAgIFRoaXMgZml4dHVyZSBkaXNhYmxlcyB0aGlzIG1lY2hhbmlzbS4KKy0gICAg VGhlIHRhZ2dlZCBHaGVya2luIGVsZW1lbnQgd2lsbCBubyBsb25nZXIgaW5oZXJpdCB0aGUgYmFj a2dyb3VuZCBzdGVwcy4KKy0KKy0gICAgOnBhcmFtIGN0eDogQ29udGV4dCBvYmplY3QgdG8gdXNl IChkdXJpbmcgYSB0ZXN0IHJ1bikuCistICAgICIiIgorLSAgICAjIC0tIFNFVFVQLVBBUlQtT05M WTogRGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIChmb3Igc2NlbmFyaW9zIG9ubHkpLgor LSAgICBjdXJyZW50X3NjZW5hcmlvID0gY3R4LnNjZW5hcmlvCistICAgIGlmIGN1cnJlbnRfc2Nl bmFyaW86CistICAgICAgICBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zv cl9zY2VuYXJpbyhjdXJyZW50X3NjZW5hcmlvKQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKy0jIEJFSEFWRSBVVElMSVRZOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYgYmVo YXZlX2Rpc2FibGVfYmFja2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2NlbmFyaW8oc2NlbmFyaW8p OgorLSAgICBwcmludCgiRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIg JSBzY2VuYXJpby5uYW1lKQorLSAgICBzY2VuYXJpby5iYWNrZ3JvdW5kID0gTm9uZQorLSAgICAj IHNjZW5hcmlvLl9iYWNrZ3JvdW5kX3N0ZXBzID0gW10KKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCistIyBNT0RVTEUgU1BFQ0lGSUM6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWZp eHR1cmVfcmVnaXN0cnkgPSB7CistICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91 bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKy19CitkaWZmIC0tZ2l0IGEvZXhhbXBs ZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIv ZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50 LnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDdhNGI3MzUuLjAwMDAwMDAKKy0t LSBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9u bWVudC5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsMzUgKzAsMCBAQAorLSMgLSotIGNvZGluZzog VVRGLTggLSotCistIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorLWltcG9ydCBv cy5wYXRoCistaW1wb3J0IHN5cworLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFBZVEhP TiBQQVRIIFNFVFVQOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1IRVJFID0gb3MucGF0aC5k aXJuYW1lKF9fZmlsZV9fKQorLVRPUEEgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKEhF UkUsICIuLiIpKQorLQorLWRlZiBzZXR1cF9weXRob25fcGF0aCgpOgorLSAgICBzeXMucGF0aC5p bnNlcnQoMCwgVE9QQSkKKy0KKy1zZXR1cF9weXRob25fcGF0aCgpCistCistIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorLSMgTk9STUFMIFBBUlQ6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWZy b20gYmVoYXZlX2ZpeHR1cmVfbGliLm92ZXJyaWRlX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9v dmVycmlkZV9iYWNrZ3JvdW5kCistZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1 cmVfYnlfdGFnCistCistIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorLWZpeHR1cmVfcmVnaXN0cnkg PSB7CistICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3Zl cnJpZGVfYmFja2dyb3VuZCwKKy19CistCistCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMg SE9PS1M6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWRlZiBiZWZvcmVfdGFnKGNvbnRleHQs IHRhZyk6CistICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorLSAgICAgICAgcmV0 dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCist CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1 cmVzL2V4YW1wbGUuZmVhdHVyZSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3Vu ZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggNWRkZDg3NC4uMDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNr Z3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTgg KzAsMCBAQAorLUZlYXR1cmU6IE92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1l Y2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcworLQorLSAgLiBCRVdBUkU6CistICAuICAgVGhpcyBp cyBvbmx5IGFuIGV4YW1wbGUgaG93IHRoaXMgY2FuIGJlIGRvbmUgKFBST09GLU9GLUNPTkNFUFQp LgorLSAgLiAgIFRoaXMgaXMgbm90IGFuIGV4YW1wbGUgdGhhdCB5b3Ugc2hvdWxkIGRvIHRoaXMg ISEhCistCistICAgIEJhY2tncm91bmQ6CistICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAg cGFzc2VzCistCistICAgIFNjZW5hcmlvOiBBbGljZQorLSAgICAgIFdoZW4gYSBzdGVwIHBhc3Nl cworLSAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhl cmUiCistCistICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQKKy0gICAgU2Nl bmFyaW86IEJvYgorLSAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCist ICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCistICAgICAgQW5kIG5vdGUgdGhhdCAiTk8t QkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKK2RpZmYgLS1naXQgYS9leGFtcGxl cy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMu cHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMv YmFzaWNfc3RlcHMucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMzRmMjEwNy4u MDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1 cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwxMyArMCwwIEBA CistZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCBzdGVwCistCistIyBAc3RlcCh1J3t3b3JkfSBz dGVwIHBhc3NlcycpCistIyBkZWYgc3RlcF9wYXNzZXNfd2l0aF93b3JkKGNvbnRleHQsIHdvcmQp OgorLSMgICAgIHBhc3MKKy0KKy1Ac3RlcCh1J3t3b3JkfSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2Vz JykKKy1kZWYgc3RlcF9iYWNrZ3JvdW5kX3N0ZXBfcGFzc2VzKGNvbnRleHQsIHdvcmQpOgorLSAg ICBwYXNzCistCistQGdpdmVuKHUnSSBuZWVkIHt3b3JkfSBzY2VuYXJpbyBzZXR1cCcpCistZGVm IHN0ZXBfZ2l2ZW5faV9uZWVkX3NjZW5hcmlvX3NldHVwKGNvbnRleHQsIHdvcmQpOgorLSAgICBw YXNzCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2Zl YXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkgYi9leGFtcGxlcy9maXh0dXJl Lm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNt ZC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBiYzMyYTMyLi4wMDAwMDAwCist LS0gYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMv dXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTIgKzAsMCBA QAorLSMgLSotIGNvZGluZzogdXRmLTggLSotCistIiIiCistVXNlIGJlaGF2ZTRjbWQwIHN0ZXAg bGlicmFyeSAocHJlZGVjZXNzb3Igb2YgYmVoYXZlNGNtZCkuCistIiIiCistCistZnJvbSBfX2Z1 dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy0KKy0jIC0tIFJFR0lTVEVSLVNURVBTIEZS T00gU1RFUC1MSUJSQVJZOgorLSMgaW1wb3J0IGJlaGF2ZTRjbWQwLl9fYWxsX3N0ZXBzX18KKy0j IGltcG9ydCBiZWhhdmU0Y21kMC5mYWlsaW5nX3N0ZXBzCistaW1wb3J0IGJlaGF2ZTRjbWQwLnBh c3Npbmdfc3RlcHMKKy1pbXBvcnQgYmVoYXZlNGNtZDAubm90ZV9zdGVwcworZGlmZiAtLWdpdCBh L3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IGNlYTQzOTIuLjhkZTNlYzAgMTAwNjQ0CistLS0g YS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC0xMzEsNiArMTMxLDcgQEAgc2V0dXAoCisg ICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNSIsCisgICAgICAg ICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNiIsCisgICAgICAgICAiUHJv Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNyIsCisrICAgICAgICAiUHJvZ3JhbW1p bmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuOCIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFu Z3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IENQeXRob24iLAorICAgICAgICAg IlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBKeXRo b24iLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1l bnRhdGlvbiA6OiBQeVB5IiwKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkg Yi90ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkKK2luZGV4IGMxZmM0MjQuLjIxZDZjMjcgMTAwNjQ0 CistLS0gYS90ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9t b2RlbC5weQorQEAgLTgsNyArOCw3IEBAIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKyBp bXBvcnQgc2l4CisgZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlICAgICAjIHB5bGludDogZGlz YWJsZT1yZWRlZmluZWQtYnVpbHRpbgorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCB6aXAgICAgICAg IyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KKy1mcm9tIGJlaGF2ZS5tb2RlbF9j b3JlIGltcG9ydCBGaWxlTG9jYXRpb24sIFN0YXR1cworK2Zyb20gYmVoYXZlLm1vZGVsX2NvcmUg aW1wb3J0IFN0YXR1cworIGZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBGZWF0dXJlLCBTY2VuYXJp bywgU2NlbmFyaW9PdXRsaW5lLCBTdGVwCisgZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFRhYmxl LCBSb3cKKyBmcm9tIGJlaGF2ZS5tYXRjaGVycyBpbXBvcnQgTm9NYXRjaAorQEAgLTIwLDE5ICsy MCwxMiBAQCBmcm9tIGJlaGF2ZSBpbXBvcnQgc3RlcF9yZWdpc3RyeQorIAorIGlmIHNpeC5QWTI6 CisgICAgICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKKy0gICAgaW1wb3J0IHRyYWNl YmFjazIgYXMgdHJhY2ViYWNrCisgICAgIHRyYWNlYmFja19tb2RuYW1lID0gInRyYWNlYmFjazIi CisgZWxzZToKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWltcG9ydAorLSAgICBpbXBv cnQgdHJhY2ViYWNrCisgICAgIHRyYWNlYmFja19tb2RuYW1lID0gInRyYWNlYmFjayIKKyAKKyAK Ky0KKy0jIC0tIENPTlZFTklFTkNFLUFMSUFTOgorLV90ZXh0ID0gc2l4LnRleHRfdHlwZQorLQor LQorIGNsYXNzIFRlc3RGZWF0dXJlUnVuKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgIyBweWxp bnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCisgCitAQCAtNzY5LDExMSArNzYyLDMgQEAgY2xhc3Mg VGVzdE1vZGVsUm93KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIGFzc2VydCBkYXRhMVsi bmFtZSJdID09IHUiQWxpY2UiCisgICAgICAgICBhc3NlcnQgZGF0YTFbInNleCJdID09IHUiZmVt YWxlIgorICAgICAgICAgYXNzZXJ0IGRhdGExWyJhZ2UiXSA9PSB1IjEyIgorLQorLQorLWNsYXNz IFRlc3RGaWxlTG9jYXRpb24odW5pdHRlc3QuVGVzdENhc2UpOgorLSAgICAjIHB5bGludDogZGlz YWJsZT1pbnZhbGlkLW5hbWUKKy0gICAgb3JkZXJlZF9sb2NhdGlvbnMxID0gWworLSAgICAgICAg RmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMSksCistICAgICAgICBGaWxl TG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCA1KSwKKy0gICAgICAgIEZpbGVMb2Nh dGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEwKSwKKy0gICAgICAgIEZpbGVMb2NhdGlv bigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDExKSwKKy0gICAgICAgIEZpbGVMb2NhdGlvbigi ZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEwMCksCistICAgIF0KKy0gICAgb3JkZXJlZF9sb2Nh dGlvbnMyID0gWworLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJl IiwgMSksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAx MCksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgNSksCist ICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwgTm9uZSksCist ICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwgMCksCistICAg ICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwgMTAwKSwKKy0gICAg XQorLSAgICBzYW1lX2xvY2F0aW9ucyA9IFsKKy0gICAgICAgIChGaWxlTG9jYXRpb24oImFsaWNl LmZlYXR1cmUiKSwKKy0gICAgICAgICBGaWxlTG9jYXRpb24oImFsaWNlLmZlYXR1cmUiLCBOb25l KSwKKy0gICAgICAgICksCistICAgICAgICAoRmlsZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwg MTApLAorLSAgICAgICAgIEZpbGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIsIDEwKSwKKy0gICAg ICAgICksCistICAgICAgICAoRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDEx KSwKKy0gICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgMTEpLAor LSAgICAgICAgKSwKKy0gICAgXQorLQorLSAgICBkZWYgdGVzdF9jb21wYXJlX2VxdWFsKHNlbGYp OgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6Cist ICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA9PSB2YWx1ZTIKKy0KKy0gICAgZGVmIHRlc3RfY29t cGFyZV9lcXVhbF93aXRoX3N0cmluZyhzZWxmKToKKy0gICAgICAgIGZvciBsb2NhdGlvbiBpbiBz ZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKy0gICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24gPT0g bG9jYXRpb24uZmlsZW5hbWUKKy0gICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24uZmlsZW5hbWUg PT0gbG9jYXRpb24KKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9ub3RfZXF1YWwoc2VsZik6Cist ICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKy0gICAg ICAgICAgICBhc3NlcnQgbm90KHZhbHVlMSAhPSB2YWx1ZTIpICAgICMgcHlsaW50OiBkaXNhYmxl PXVubmVlZGVkLW5vdCwgc3VwZXJmbHVvdXMtcGFyZW5zCistCistICAgICAgICBmb3IgbG9jYXRp b25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJd OgorLSAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2Nh dGlvbnNbMTpdKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAhPSB2YWx1ZTIKKy0K Ky0gICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX3RoYW4oc2VsZik6CistICAgICAgICBmb3IgbG9j YXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9u czJdOgorLSAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBs b2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8IHZhbHVlMiwg IkZBSUxFRDogJXMgPCAlcyIgJSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUyKSkKKy0gICAg ICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAhPSB2YWx1ZTIKKy0KKy0gICAgZGVmIHRlc3RfY29t cGFyZV9sZXNzX3RoYW5fd2l0aF9zdHJpbmcoc2VsZik6CistICAgICAgICBsb2NhdGlvbnMgPSBz ZWxmLm9yZGVyZWRfbG9jYXRpb25zMgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHpp cChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorLSAgICAgICAgICAgIGlmIHZhbHVlMS5maWxl bmFtZSA9PSB2YWx1ZTIuZmlsZW5hbWU6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAg ICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8IHZhbHVlMi5maWxlbmFtZSwgXAorLSAgICAgICAgICAg ICAgICAgICAiRkFJTEVEOiAlcyA8ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIu ZmlsZW5hbWUpKQorLSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEuZmlsZW5hbWUgPCB2YWx1ZTIs IFwKKy0gICAgICAgICAgICAgICAgICAgIkZBSUxFRDogJXMgPCAlcyIgJSAoX3RleHQodmFsdWUx LmZpbGVuYW1lKSwgX3RleHQodmFsdWUyKSkKKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9ncmVh dGVyX3RoYW4oc2VsZik6CistICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRf bG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2 YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAg ICAgICAgICAgYXNzZXJ0IHZhbHVlMiA+IHZhbHVlMSwgIkZBSUxFRDogJXMgPiAlcyIgJSAoX3Rl eHQodmFsdWUyKSwgX3RleHQodmFsdWUxKSkKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVl MiAhPSB2YWx1ZTEKKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX29yX2VxdWFsKHNlbGYp OgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6Cist ICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8PSB2YWx1ZTIsICJGQUlMRUQ6ICVzIDw9ICVzIiAl IChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIpKQorLSAgICAgICAgICAgIGFzc2VydCB2YWx1 ZTEgPT0gdmFsdWUyCistCistICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRf bG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2 YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAg ICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8PSB2YWx1ZTIsICJGQUlMRUQ6ICVzIDw9ICVzIiAlIChf dGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIpKQorLSAgICAgICAgICAgICAgICBhc3NlcnQgdmFs dWUxICE9IHZhbHVlMgorLQorLSAgICBkZWYgdGVzdF9jb21wYXJlX2dyZWF0ZXJfb3JfZXF1YWwo c2VsZik6CistICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9u czoKKy0gICAgICAgICAgICBhc3NlcnQgdmFsdWUyID49IHZhbHVlMSwgIkZBSUxFRDogJXMgPj0g JXMiICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0KHZhbHVlMSkpCistICAgICAgICAgICAgYXNzZXJ0 IHZhbHVlMiA9PSB2YWx1ZTEKKy0KKy0gICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3Jk ZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06CistICAgICAgICAgICAg Zm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorLSAg ICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUyID49IHZhbHVlMSwgIkZBSUxFRDogJXMgPj0gJXMi ICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0KHZhbHVlMSkpCistICAgICAgICAgICAgICAgIGFzc2Vy dCB2YWx1ZTIgIT0gdmFsdWUxCistCistICAgIGRlZiB0ZXN0X2ZpbGVuYW1lX3Nob3VsZF9iZV9z YW1lX2FzX3NlbGYoc2VsZik6CistICAgICAgICBmb3IgbG9jYXRpb24gaW4gc2VsZi5vcmRlcmVk X2xvY2F0aW9uczI6CistICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uID09IGxvY2F0aW9uLmZp bGVuYW1lCistICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uLmZpbGVuYW1lID09IGxvY2F0aW9u CistCistICAgIGRlZiB0ZXN0X3N0cmluZ19jb252ZXJzaW9uKHNlbGYpOgorLSAgICAgICAgZm9y IGxvY2F0aW9uIGluIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyOgorLSAgICAgICAgICAgIGV4cGVj dGVkID0gdSIlczolcyIgJSAobG9jYXRpb24uZmlsZW5hbWUsIGxvY2F0aW9uLmxpbmUpCistICAg ICAgICAgICAgaWYgbG9jYXRpb24ubGluZSBpcyBOb25lOgorLSAgICAgICAgICAgICAgICBleHBl Y3RlZCA9IGxvY2F0aW9uLmZpbGVuYW1lCistICAgICAgICAgICAgYXNzZXJ0IHNpeC50ZXh0X3R5 cGUobG9jYXRpb24pID09IGV4cGVjdGVkCistCistICAgIGRlZiB0ZXN0X3JlcHJfY29udmVyc2lv bihzZWxmKToKKy0gICAgICAgIGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25z MjoKKy0gICAgICAgICAgICBleHBlY3RlZCA9IHUnPEZpbGVMb2NhdGlvbjogZmlsZW5hbWU9IiVz IiwgbGluZT0lcz4nICUgXAorLSAgICAgICAgICAgICAgICAgICAgICAgKGxvY2F0aW9uLmZpbGVu YW1lLCBsb2NhdGlvbi5saW5lKQorLSAgICAgICAgICAgIGFjdHVhbCA9IHJlcHIobG9jYXRpb24p CistICAgICAgICAgICAgYXNzZXJ0IGFjdHVhbCA9PSBleHBlY3RlZCwgIkZBSUxFRDogJXMgPT0g JXMiICUgKGFjdHVhbCwgZXhwZWN0ZWQpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X21v ZGVsMi5weSBiL3Rlc3RzL3VuaXQvdGVzdF9tb2RlbDIucHkKK2luZGV4IDc4ODRiOTAuLmE4NmI4 MGUgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfbW9kZWwyLnB5CisrKysgYi90ZXN0cy91 bml0L3Rlc3RfbW9kZWwyLnB5CitAQCAtMzUsMTAgKzM1LDYgQEAgZGVmIHN0ZXBfdG9fdGV4dChz dGVwLCBpbmRlbnRhdGlvbj0iICAgICIpOgorICAgICByZXR1cm4gc3RlcF90ZXh0LnJzdHJpcCgp CisgCisgCistIyAtLSBQWVRFU1QgTUFSS0VSUy9BTk5PVEFUSU9OUzoKKy1ub3RfaW1wbGVtZW50 ZWRfeWV0ID0gcHl0ZXN0Lm1hcmsuc2tpcCgiTk9ULUlNUExFTUVOVEVELVlFVCIpCistCistCisg IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBURVNUIFNVSVRFOgorICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9tb2RlbF9jb3JlLnB5IGIvdGVzdHMv dW5pdC90ZXN0X21vZGVsX2NvcmUucHkKK2luZGV4IGI1ZjIwYzQuLjNjYjVlZmEgMTAwNjQ0Cist LS0gYS90ZXN0cy91bml0L3Rlc3RfbW9kZWxfY29yZS5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0 X21vZGVsX2NvcmUucHkKK0BAIC00LDEwICs0LDE2IEBACisgIiIiCisgCisgZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorLWZyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0 IFN0YXR1cworK2ltcG9ydCBzaXgKKytmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0 dXMsIEZpbGVMb2NhdGlvbgorIGltcG9ydCBweXRlc3QKKyAKKyAKKysjIC0tIENPTlZFTklFTkNF LUFMSUFTOgorK190ZXh0ID0gc2l4LnRleHRfdHlwZQorKworKworKworICMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAjIFRFU1RTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC01NCwzICs2 MCwxMTEgQEAgY2xhc3MgVGVzdFN0YXR1cyhvYmplY3QpOgorICAgICBkZWYgdGVzdF9mcm9tX25h bWVfX3dpdGhfdW5rbm93bl9uYW1lX3JhaXNlc19sb29rdXBlcnJvcihzZWxmLCB1bmtub3duX25h bWUpOgorICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKExvb2t1cEVycm9yKToKKyAgICAgICAg ICAgICBTdGF0dXMuZnJvbV9uYW1lKHVua25vd25fbmFtZSkKKysKKysKKytjbGFzcyBUZXN0Rmls ZUxvY2F0aW9uKG9iamVjdCk6CisrICAgICMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQor KyAgICBvcmRlcmVkX2xvY2F0aW9uczEgPSBbCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1 cmVzL2FsaWNlLmZlYXR1cmUiLCAxKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMv YWxpY2UuZmVhdHVyZSIsIDUpLAorKyAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGlj ZS5mZWF0dXJlIiwgMTApLAorKyAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5m ZWF0dXJlIiwgMTEpLAorKyAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0 dXJlIiwgMTAwKSwKKysgICAgXQorKyAgICBvcmRlcmVkX2xvY2F0aW9uczIgPSBbCisrICAgICAg ICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxKSwKKysgICAgICAgIEZp bGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEwKSwKKysgICAgICAgIEZpbGVM b2NhdGlvbigiZmVhdHVyZXMvYm9iLmZlYXR1cmUiLCA1KSwKKysgICAgICAgIEZpbGVMb2NhdGlv bigiZmVhdHVyZXMvY2hhcmx5LmZlYXR1cmUiLCBOb25lKSwKKysgICAgICAgIEZpbGVMb2NhdGlv bigiZmVhdHVyZXMvY2hhcmx5LmZlYXR1cmUiLCAwKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigi ZmVhdHVyZXMvY2hhcmx5LmZlYXR1cmUiLCAxMDApLAorKyAgICBdCisrICAgIHNhbWVfbG9jYXRp b25zID0gWworKyAgICAgICAgKEZpbGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIpLAorKyAgICAg ICAgIEZpbGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIsIE5vbmUpLAorKyAgICAgICAgKSwKKysg ICAgICAgIChGaWxlTG9jYXRpb24oImFsaWNlLmZlYXR1cmUiLCAxMCksCisrICAgICAgICAgRmls ZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwgMTApLAorKyAgICAgICAgKSwKKysgICAgICAgIChG aWxlTG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgMTEpLAorKyAgICAgICAgIEZpbGVM b2NhdGlvbigiZmVhdHVyZXMvYm9iLmZlYXR1cmUiLCAxMSksCisrICAgICAgICApLAorKyAgICBd CisrCisrICAgIGRlZiB0ZXN0X2NvbXBhcmVfZXF1YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFs dWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKysgICAgICAgICAgICBhc3NlcnQg dmFsdWUxID09IHZhbHVlMgorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2VxdWFsX3dpdGhfc3Ry aW5nKHNlbGYpOgorKyAgICAgICAgZm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJlZF9sb2NhdGlv bnMyOgorKyAgICAgICAgICAgIGFzc2VydCBsb2NhdGlvbiA9PSBsb2NhdGlvbi5maWxlbmFtZQor KyAgICAgICAgICAgIGFzc2VydCBsb2NhdGlvbi5maWxlbmFtZSA9PSBsb2NhdGlvbgorKworKyAg ICBkZWYgdGVzdF9jb21wYXJlX25vdF9lcXVhbChzZWxmKToKKysgICAgICAgIGZvciB2YWx1ZTEs IHZhbHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRpb25zOgorKyAgICAgICAgICAgIGFzc2VydCBub3Qo dmFsdWUxICE9IHZhbHVlMikgICAgIyBweWxpbnQ6IGRpc2FibGU9dW5uZWVkZWQtbm90LCBzdXBl cmZsdW91cy1wYXJlbnMKKysKKysgICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJl ZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAgICAgICAgZm9y IHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAg ICAgICAgICAgICBhc3NlcnQgdmFsdWUxICE9IHZhbHVlMgorKworKyAgICBkZWYgdGVzdF9jb21w YXJlX2xlc3NfdGhhbihzZWxmKToKKysgICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3Jk ZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAgICAgICAg Zm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAg ICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUxIDwgdmFsdWUyLCAiRkFJTEVEOiAlcyA8ICVzIiAl IChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQg dmFsdWUxICE9IHZhbHVlMgorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2xlc3NfdGhhbl93aXRo X3N0cmluZyhzZWxmKToKKysgICAgICAgIGxvY2F0aW9ucyA9IHNlbGYub3JkZXJlZF9sb2NhdGlv bnMyCisrICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRp b25zWzE6XSk6CisrICAgICAgICAgICAgaWYgdmFsdWUxLmZpbGVuYW1lID09IHZhbHVlMi5maWxl bmFtZToKKysgICAgICAgICAgICAgICAgY29udGludWUKKysgICAgICAgICAgICBhc3NlcnQgdmFs dWUxIDwgdmFsdWUyLmZpbGVuYW1lLCBcCisrICAgICAgICAgICAgICAgICAgICJGQUlMRUQ6ICVz IDwgJXMiICUgKF90ZXh0KHZhbHVlMSksIF90ZXh0KHZhbHVlMi5maWxlbmFtZSkpCisrICAgICAg ICAgICAgYXNzZXJ0IHZhbHVlMS5maWxlbmFtZSA8IHZhbHVlMiwgXAorKyAgICAgICAgICAgICAg ICAgICAiRkFJTEVEOiAlcyA8ICVzIiAlIChfdGV4dCh2YWx1ZTEuZmlsZW5hbWUpLCBfdGV4dCh2 YWx1ZTIpKQorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2dyZWF0ZXJfdGhhbihzZWxmKToKKysg ICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9y ZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHpp cChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFs dWUyID4gdmFsdWUxLCAiRkFJTEVEOiAlcyA+ICVzIiAlIChfdGV4dCh2YWx1ZTIpLCBfdGV4dCh2 YWx1ZTEpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUyICE9IHZhbHVlMQorKworKyAg ICBkZWYgdGVzdF9jb21wYXJlX2xlc3Nfb3JfZXF1YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFs dWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKysgICAgICAgICAgICBhc3NlcnQg dmFsdWUxIDw9IHZhbHVlMiwgIkZBSUxFRDogJXMgPD0gJXMiICUgKF90ZXh0KHZhbHVlMSksIF90 ZXh0KHZhbHVlMikpCisrICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA9PSB2YWx1ZTIKKysKKysg ICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9y ZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHpp cChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFs dWUxIDw9IHZhbHVlMiwgIkZBSUxFRDogJXMgPD0gJXMiICUgKF90ZXh0KHZhbHVlMSksIF90ZXh0 KHZhbHVlMikpCisrICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgIT0gdmFsdWUyCisrCisr ICAgIGRlZiB0ZXN0X2NvbXBhcmVfZ3JlYXRlcl9vcl9lcXVhbChzZWxmKToKKysgICAgICAgIGZv ciB2YWx1ZTEsIHZhbHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRpb25zOgorKyAgICAgICAgICAgIGFz c2VydCB2YWx1ZTIgPj0gdmFsdWUxLCAiRkFJTEVEOiAlcyA+PSAlcyIgJSAoX3RleHQodmFsdWUy KSwgX3RleHQodmFsdWUxKSkKKysgICAgICAgICAgICBhc3NlcnQgdmFsdWUyID09IHZhbHVlMQor KworKyAgICAgICAgZm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xvY2F0aW9uczEsIHNl bGYub3JkZXJlZF9sb2NhdGlvbnMyXToKKysgICAgICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIg aW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25zWzE6XSk6CisrICAgICAgICAgICAgICAgIGFzc2Vy dCB2YWx1ZTIgPj0gdmFsdWUxLCAiRkFJTEVEOiAlcyA+PSAlcyIgJSAoX3RleHQodmFsdWUyKSwg X3RleHQodmFsdWUxKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiAhPSB2YWx1ZTEK KysKKysgICAgZGVmIHRlc3RfZmlsZW5hbWVfc2hvdWxkX2JlX3NhbWVfYXNfc2VsZihzZWxmKToK KysgICAgICAgIGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKysgICAg ICAgICAgICBhc3NlcnQgbG9jYXRpb24gPT0gbG9jYXRpb24uZmlsZW5hbWUKKysgICAgICAgICAg ICBhc3NlcnQgbG9jYXRpb24uZmlsZW5hbWUgPT0gbG9jYXRpb24KKysKKysgICAgZGVmIHRlc3Rf c3RyaW5nX2NvbnZlcnNpb24oc2VsZik6CisrICAgICAgICBmb3IgbG9jYXRpb24gaW4gc2VsZi5v cmRlcmVkX2xvY2F0aW9uczI6CisrICAgICAgICAgICAgZXhwZWN0ZWQgPSB1IiVzOiVzIiAlIChs b2NhdGlvbi5maWxlbmFtZSwgbG9jYXRpb24ubGluZSkKKysgICAgICAgICAgICBpZiBsb2NhdGlv bi5saW5lIGlzIE5vbmU6CisrICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gbG9jYXRpb24uZmls ZW5hbWUKKysgICAgICAgICAgICBhc3NlcnQgc2l4LnRleHRfdHlwZShsb2NhdGlvbikgPT0gZXhw ZWN0ZWQKKysKKysgICAgZGVmIHRlc3RfcmVwcl9jb252ZXJzaW9uKHNlbGYpOgorKyAgICAgICAg Zm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyOgorKyAgICAgICAgICAgIGV4 cGVjdGVkID0gdSc8RmlsZUxvY2F0aW9uOiBmaWxlbmFtZT0iJXMiLCBsaW5lPSVzPicgJSBcCisr ICAgICAgICAgICAgICAgICAgICAgICAobG9jYXRpb24uZmlsZW5hbWUsIGxvY2F0aW9uLmxpbmUp CisrICAgICAgICAgICAgYWN0dWFsID0gcmVwcihsb2NhdGlvbikKKysgICAgICAgICAgICBhc3Nl cnQgYWN0dWFsID09IGV4cGVjdGVkLCAiRkFJTEVEOiAlcyA9PSAlcyIgJSAoYWN0dWFsLCBleHBl Y3RlZCkKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkg Yi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkKK2luZGV4IDk5MWE1N2QuLjQz ZTNkNDEgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkK KysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXJfZ2hlcmtpbl92Ni5weQorQEAgLTIyNyw3ICsy MjcsOSBAQCBGZWF0dXJlOiBXaXRoIFJ1bGUKKyAgICAgICAgIGFzc2VydCBydWxlMS5kZXNjcmlw dGlvbiA9PSBbXQorICAgICAgICAgYXNzZXJ0IHJ1bGUxLnRhZ3MgPT0gW10KKyAgICAgICAgIGFz c2VydCBsZW4ocnVsZTEuc2NlbmFyaW9zKSA9PSAxCistICAgICAgICBhc3NlcnQgcnVsZTEuYmFj a2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNr Z3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5i YWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysg ICAgICAgIGFzc2VydCBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0ZXBzKSA9PSBmZWF0dXJl LmJhY2tncm91bmQuc3RlcHMKKyAgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxLnNj ZW5hcmlvc1swXS5hbGxfc3RlcHMsIFsKKyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwg ImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwIDEiLCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgICAo IndoZW4iLCAiV2hlbiIsICJmZWF0dXJlIGJhY2tncm91bmQgc3RlcCAyIiwgTm9uZSwgTm9uZSks CitAQCAtMjM1LDcgKzIzNyw3IEBAIEZlYXR1cmU6IFdpdGggUnVsZQorICAgICAgICAgICAgICgi d2hlbiIsICJXaGVuIiwgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAgICAg XSkKKyAKKy0gICAgZGVmIHRlc3RfcGFyc2VzX3J1bGVfd2l0aF9iYWNrZ3JvdW5kX3Nob3VsZF9u b3RfaW5oZXJpdF9mZWF0dXJlX2JhY2tncm91bmQoc2VsZik6CisrICAgIGRlZiB0ZXN0X3BhcnNl c19ydWxlX3dpdGhfYmFja2dyb3VuZF9pbmhlcml0c19mZWF0dXJlX2JhY2tncm91bmQoc2VsZik6 CisgICAgICAgICAiIiJJZiBhIFJ1bGUgaGFzIG5vIEJhY2tncm91bmQsCisgICAgICAgICBpdCBp bmhlcml0cyB0aGUgRmVhdHVyZSdzIEJhY2tncm91bmQgKGlmIG9uZSBleGlzdHMpLgorICAgICAg ICAgIiIiCitAQCAtMjY5LDEzICsyNzEsMTUgQEAgRmVhdHVyZTogV2l0aCBSdWxlCisgICAgICAg ICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorICAgICAgICAgYXNzZXJ0IHJ1 bGUxLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAorICAgICAgICAgYXNzZXJ0 X2NvbXBhcmVfc3RlcHMocnVsZTEuc2NlbmFyaW9zWzBdLmFsbF9zdGVwcywgWworKyAgICAgICAg ICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAiZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXAgMSIsIE5vbmUs IE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAiZmVhdHVyZSBiYWNrZ3Jv dW5kIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4i LCAicnVsZSBiYWNrZ3JvdW5kIHN0ZXAgMSIsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgi d2hlbiIsICJXaGVuIiwgInJ1bGUgYmFja2dyb3VuZCBzdGVwIDIiLCBOb25lLCBOb25lKSwKKysg ICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAgInJ1bGUgYmFja2dyb3VuZCBzdGVwIDIiLCBO b25lLCBOb25lKSwKKyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgInNjZW5hcmlvIHN0 ZXAgMSIsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgInNjZW5h cmlvIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIs ICAic2NlbmFyaW8gc3RlcCAyIiwgTm9uZSwgTm9uZSksCisgICAgICAgICBdKQorIAorLSAgICBk ZWYgdGVzdF9wYXJzZXNfcnVsZV93aXRoX2VtcHR5X2JhY2tncm91bmRfcHJldmVudHNfaW5oZXJp dGluZ19mZWF0dXJlX2JhY2tncm91bmQoc2VsZik6CisrICAgIGRlZiB0ZXN0X3BhcnNlc19ydWxl X3dpdGhfZW1wdHlfYmFja2dyb3VuZF9pbmhlcml0c19mZWF0dXJlX2JhY2tncm91bmQoc2VsZik6 CisgICAgICAgICAiIiJBIFJ1bGUgaGFzIGVtcHR5IEJhY2tncm91bmQgKHdpdGhvdXQgYW55IHN0 ZXBzKSBwcmV2ZW50cyB0aGF0CisgICAgICAgICBGZWF0dXJlIEJhY2tncm91bmQgaXMgaW5oZXJp dGVkIChpZiBvbmUgZXhpc3RzKS4KKyAgICAgICAgICIiIgorQEAgLTMwOCw4ICszMTIsMTAgQEAg RmVhdHVyZTogV2l0aCBSdWxlCisgICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBu b3QgZmVhdHVyZS5iYWNrZ3JvdW5kCisgICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC5u YW1lID09ICJSdWxlX1IzQy5FbXB0eV9CYWNrZ3JvdW5kIgorICAgICAgICAgYXNzZXJ0X2NvbXBh cmVfc3RlcHMocnVsZTEuc2NlbmFyaW9zWzBdLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICgi Z2l2ZW4iLCAiR2l2ZW4iLCAiZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXAgMSIsIE5vbmUsIE5vbmUp LAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAiZmVhdHVyZSBiYWNrZ3JvdW5kIHN0 ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAic2Nl bmFyaW8gc3RlcCAxIiwgTm9uZSwgTm9uZSksCistICAgICAgICAgICAgKCJ3aGVuIiwgIldoZW4i LCAic2NlbmFyaW8gc3RlcCAyIiwgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKCJ3aGVuIiwg ICJXaGVuIiwgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAK KyAgICAgZGVmIHRlc3RfcGFyc2VzX3J1bGVfd2l0aF9zY2VuYXJpbyhzZWxmKToKK0BAIC01NTgs NiArNTY0LDcgQEAgRmVhdHVyZTogV2l0aCBSdWxlCisgICAgICAgICAgICAgKCJ3aGVuIiwgIldo ZW4iLCAnc3RlcCB1c2VzICIyIicsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKysgICAg IyBAY2hlY2suZHVwbGljYXRlZAorICAgICBkZWYgdGVzdF9wYXJzZV9iYWNrZ3JvdW5kX3NjZW5h cmlvX2FuZF9ydWxlcyhzZWxmKToKKyAgICAgICAgICIiIkhJTlQ6IFNvbWUgU2NlbmFyaW9zIG1h eSBleGlzdCBiZWZvcmUgdGhlIGZpcnN0IFJ1bGUuIiIiCisgICAgICAgICB0ZXh0ID0gdScnJwor QEAgLTYwNiwxMCArNjEzLDEwIEBAIEZlYXR1cmU6IFdpdGggU2NlbmFyaW9zIGFuZCBSdWxlcwor ICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS50YWdzID09IFtdCisgICAgICAgICBhc3NlcnQgc2Nl bmFyaW8xLmRlc2NyaXB0aW9uID09IFtdCisgICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhz Y2VuYXJpbzEuYWxsX3N0ZXBzLCBbCistICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICdm ZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCistICAgICAgICAgICAgKCJ3 aGVuIiwgIldoZW4iLCAgICdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8yJywgTm9uZSwgTm9uZSks CistICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICdzY2VuYXJpb18xIHN0ZXBfMScsIE5v bmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgICAnc2NlbmFyaW9fMSBz dGVwXzInLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1 J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAo dSJ3aGVuIiwgdSJXaGVuIiwgICB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzInLCBOb25lLCBO b25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3NjZW5hcmlvXzEgc3Rl cF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUid2hlbiIsIHUiV2hlbiIsICAgdSdz Y2VuYXJpb18xIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKyAgICAgICAg IGFzc2VydCBydWxlMS5uYW1lID09ICJSMSIKK0BAIC02MjMsOSArNjMwLDExIEBAIEZlYXR1cmU6 IFdpdGggU2NlbmFyaW9zIGFuZCBSdWxlcworICAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlv MS5wYXJlbnQgaXMgcnVsZTEKKyAgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuZmVhdHVy ZSBpcyBmZWF0dXJlCisgICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMV9zY2VuYXJp bzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICdmZWF0dXJl IGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKCJ3aGVuIiwg ICJXaGVuIiwgICdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8yJywgTm9uZSwgTm9uZSksCisgICAg ICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICdydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xJywg Tm9uZSwgTm9uZSksCisgICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICdydWxlIFIxIHNj ZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCistICAgICAgICAgICAgKCJ3aGVuIiwgIldo ZW4iLCAgICdydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8yJywgTm9uZSwgTm9uZSksCisrICAgICAg ICAgICAgKCJ3aGVuIiwgICJXaGVuIiwgICdydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8yJywgTm9u ZSwgTm9uZSksCisgICAgICAgICBdKQorIAorICAgICAgICAgYXNzZXJ0IHJ1bGUyLm5hbWUgPT0g IlIyIgorQEAgLTYzMywxNiArNjQyLDMxOCBAQCBGZWF0dXJlOiBXaXRoIFNjZW5hcmlvcyBhbmQg UnVsZXMKKyAgICAgICAgIGFzc2VydCBydWxlMi5mZWF0dXJlIGlzIGZlYXR1cmUKKyAgICAgICAg IGFzc2VydCBydWxlMi5kZXNjcmlwdGlvbiA9PSBbXQorICAgICAgICAgYXNzZXJ0IHJ1bGUyLnRh Z3MgPT0gW10KKy0gICAgICAgIGFzc2VydCBydWxlMi5iYWNrZ3JvdW5kIGlzIGZlYXR1cmUuYmFj a2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUyLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUu YmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IGxpc3QocnVsZTIuYmFja2dyb3VuZC5pbmhlcml0 ZWRfc3RlcHMpID09IGxpc3QoZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzKQorKyAgICAgICAgYXNz ZXJ0IGxpc3QocnVsZTIuYmFja2dyb3VuZC5hbGxfc3RlcHMpID09IGxpc3QoZmVhdHVyZS5iYWNr Z3JvdW5kLnN0ZXBzKQorICAgICAgICAgYXNzZXJ0IGxlbihydWxlMi5zY2VuYXJpb3MpID09IDEK KyAgICAgICAgIGFzc2VydCBydWxlMl9zY2VuYXJpbzEubmFtZSA9PSAiUjIuU2NlbmFyaW9fMSIK KyAgICAgICAgIGFzc2VydCBydWxlMl9zY2VuYXJpbzEucGFyZW50IGlzIHJ1bGUyCisgICAgICAg ICBhc3NlcnQgcnVsZTJfc2NlbmFyaW8xLmZlYXR1cmUgaXMgZmVhdHVyZQorICAgICAgICAgYXNz ZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTJfc2NlbmFyaW8xLmFsbF9zdGVwcywgWworICAgICAgICAg ICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUs IE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgICAnZmVhdHVyZSBiYWNrZ3Jv dW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIs ICAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAg ICgiZ2l2ZW4iLCAiR2l2ZW4iLCAncnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5v bmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgICAncnVsZSBSMiBzY2VuYXJpb18x IHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAn cnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysK KysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVUlURTogVmVyaWZ5IEZlYXR1cmUg QmFja2dyb3VuZCB0byBSdWxlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorK2NsYXNzIFRlc3RQYXJzZXI0QmFja2dyb3VuZChvYmplY3QpOgorKyAgICAiIiJW ZXJpZnkgZmVhdHVyZS5iYWNrZ3JvdW5kIHRvIHJ1bGUuYmFja2dyb3VuZCBpbmhlcml0YW5jZSwg ZXRjLiIiIgorKworKyAgICBkZWYgdGVzdF9wYXJzZV9fbm9ydWxlX3NjZW5hcmlvc191c2VfZmVh dHVyZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICAgICAgIiIiQUZGRUNURUQ6IFNjZW5hcmlvcyBv dXRzaWRlIG9mIHJ1bGVzIChiZWZvcmUgZmlyc3QgcnVsZSkuIiIiCisrICAgICAgICB0ZXh0ID0g dScnJworKyAgICAgICAgICAgIEZlYXR1cmU6IFdpdGggU2NlbmFyaW9zIGFuZCBSdWxlcworKyAg ICAgICAgICAgIAorKyAgICAgICAgICAgICAgQmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5k CisrICAgICAgICAgICAgICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysgICAg ICAgICAgICAKKysgICAgICAgICAgICAgIFNjZW5hcmlvOiBTY2VuYXJpb18xCisrICAgICAgICAg ICAgICAgIEdpdmVuIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgCisrICAgICAgICAg ICAgICBSdWxlOiBSMQorKyAgICAgICAgICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9fMQor KyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAg ICAgICAgICAnJycubHN0cmlwKCkKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRl eHQpCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5uYW1lID09ICJXaXRoIFNjZW5hcmlvcyBhbmQg UnVsZXMiCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisr ICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAxCisrICAgICAgICBhc3Nl cnQgbGVuKGZlYXR1cmUucnVsZXMpID09IDEKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5y dW5faXRlbXMpID09IDIKKysKKysgICAgICAgIHNjZW5hcmlvMSA9IGZlYXR1cmUuc2NlbmFyaW9z WzBdCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAgIGFzc2VydCBm ZWF0dXJlLnJ1bl9pdGVtcyA9PSBbc2NlbmFyaW8xLCBydWxlMV0KKysKKysgICAgICAgIGFzc2Vy dCBzY2VuYXJpbzEubmFtZSA9PSAiU2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBzY2VuYXJp bzEuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBzY2Vu YXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAg ICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHNjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAg ICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBO b25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3NjZW5hcmlv XzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICBdKQorKworKyAgICBkZWYgdGVzdF9w YXJzZV9fbm9ydWxlX3NjZW5hcmlvc193aXRoX2Rpc2FibGVkX2JhY2tncm91bmQoc2VsZik6Cisr ICAgICAgICAiIiJBRkZFQ1RFRDogU2NlbmFyaW9zIG91dHNpZGUgb2YgcnVsZXMgKGJlZm9yZSBm aXJzdCBydWxlKS4iIiIKKysgICAgICAgIHRleHQgPSB1JycnCisrICAgICAgICAgICAgRmVhdHVy ZTogU2NlbmFyaW8gd2l0aCBkaXNhYmxlZCBiYWNrZ3JvdW5kCisrICAgICAgICAgICAgCisrICAg ICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgICAgICAgICAg ICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKyAgICAgICAgICAgIAorKyAgICAg ICAgICAgICAgQGZpeHR1cmUuYmVoYXZlLmRpc2FibGVfYmFja2dyb3VuZAorKyAgICAgICAgICAg ICAgU2NlbmFyaW86IFNjZW5hcmlvXzEKKysgICAgICAgICAgICAgICAgR2l2ZW4gc2NlbmFyaW9f MSBzdGVwXzEKKysgICAgICAgICAgICAKKysgICAgICAgICAgICAgIFNjZW5hcmlvOiBTY2VuYXJp b18yCisrICAgICAgICAgICAgICAgIEdpdmVuIHNjZW5hcmlvXzIgc3RlcF8xCisrICAgICAgICAg ICAgJycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQor KyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiU2NlbmFyaW8gd2l0aCBkaXNhYmxlZCBi YWNrZ3JvdW5kIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9u ZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMgorKyAgICAgICAg YXNzZXJ0IGxlbihmZWF0dXJlLnJ1bl9pdGVtcykgPT0gMgorKworKyAgICAgICAgc2NlbmFyaW8x ID0gZmVhdHVyZS5zY2VuYXJpb3NbMF0KKysgICAgICAgIHNjZW5hcmlvMiA9IGZlYXR1cmUuc2Nl bmFyaW9zWzFdCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMgPT0gW3NjZW5hcmlv MSwgc2NlbmFyaW8yXQorKworKyAgICAgICAgc2NlbmFyaW8xLnVzZV9iYWNrZ3JvdW5kID0gRmFs c2UgICAgIyAtLSBGSVhUVVJFLUVGRkVDVCAoc2ltdWxhdGVkKQorKyAgICAgICAgYXNzZXJ0IHNj ZW5hcmlvMS5uYW1lID09ICJTY2VuYXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS5i YWNrZ3JvdW5kIGlzIGZlYXR1cmUuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHNjZW5hcmlv MS5iYWNrZ3JvdW5kX3N0ZXBzICE9IGZlYXR1cmUuYmFja2dyb3VuZC5zdGVwcworKyAgICAgICAg YXNzZXJ0IHNjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IFtdCisrICAgICAgICBhc3NlcnRf Y29tcGFyZV9zdGVwcyhzY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2 ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAg ICAgXSkKKysKKysgICAgICAgICMgLS0gRU5TVVJFOiBEaXNhYmxpbmcgb2YgYmFja2dyb3VuZCBo YXMgbm8gZWZmZWN0IG9uIG90aGVyIHNjZW5hcmlvcy4KKysgICAgICAgIGFzc2VydCBzY2VuYXJp bzIubmFtZSA9PSAiU2NlbmFyaW9fMiIKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzIuYmFja2dy b3VuZCBpcyBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzIuYmFj a2dyb3VuZF9zdGVwcyA9PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2Vy dF9jb21wYXJlX3N0ZXBzKHNjZW5hcmlvMi5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJn aXZlbiIsIHUiR2l2ZW4iLCB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25l KSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3NjZW5hcmlvXzIgc3RlcF8x JywgTm9uZSwgTm9uZSksCisrICAgICAgICBdKQorKworKyAgICBkZWYgdGVzdF9wYXJzZV9fcnVs ZV9zY2VuYXJpb3NfaW5oZXJpdF9mZWF0dXJlX2JhY2tncm91bmRfd2l0aG91dF9ydWxlX2JhY2tn cm91bmQoc2VsZik6CisrICAgICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6 IFdpdGggQmFja2dyb3VuZCBhbmQgUnVsZQorKyAgICAKKysgICAgICAgICAgICAgIEJhY2tncm91 bmQ6IEZlYXR1cmUuQmFja2dyb3VuZAorKyAgICAgICAgICAgICAgICBHaXZlbiBmZWF0dXJlIGJh Y2tncm91bmQgc3RlcF8xCisrICAgIAorKyAgICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAg ICAgICAgICAgU2NlbmFyaW86IFIxLlNjZW5hcmlvXzEKKysgICAgICAgICAgICAgICAgICBHaXZl biBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisr ICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZl YXR1cmUubmFtZSA9PSAiV2l0aCBCYWNrZ3JvdW5kIGFuZCBSdWxlIgorKyAgICAgICAgYXNzZXJ0 IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0 dXJlLnNjZW5hcmlvcykgPT0gMAorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9 PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAxCisrCisrICAg ICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3NjZW5hcmlvMSA9 IHJ1bGUxLnNjZW5hcmlvc1swXQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09 IFtydWxlMV0KKysKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEu U2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBp cyBub3QgTm9uZQorKyAgICAgICAgIyBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQg aXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlv MS5iYWNrZ3JvdW5kX3N0ZXBzID09IGZlYXR1cmUuYmFja2dyb3VuZC5zdGVwcworKyAgICAgICAg YXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTFfc2NlbmFyaW8xLmFsbF9zdGVwcywgWworKyAgICAg ICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScs IE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUncnVsZSBS MSBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAg ZGVmIHRlc3RfcGFyc2VfX3J1bGVfc2NlbmFyaW9zX2luaGVyaXRfZmVhdHVyZV9iYWNrZ3JvdW5k X3dpdGhfcnVsZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICAgICAgdGV4dCA9IHUnJycKKysgICAg ICAgICAgICBGZWF0dXJlOiBXaXRoIEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgUnVsZS5CYWNrZ3Jv dW5kCisrCisrICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysg ICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgICAg ICAgICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAgQmFja2dyb3VuZDogUjEuQmFja2dy b3VuZAorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEK KysgICAgICAgICAgICAgICAgCisrICAgICAgICAgICAgICAgIFNjZW5hcmlvOiBSMS5TY2VuYXJp b18xCisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQor KyAgICAgICAgICAgICcnJy5sc3RyaXAoKQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1 cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLm5hbWUgPT0gIldpdGggRmVhdHVyZS5C YWNrZ3JvdW5kIGFuZCBSdWxlLkJhY2tncm91bmQiCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5i YWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFy aW9zKSA9PSAwCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVsZXMpID09IDEKKysgICAg ICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDEKKysKKysgICAgICAgIHJ1bGUx ID0gZmVhdHVyZS5ydWxlc1swXQorKyAgICAgICAgcnVsZTFfc2NlbmFyaW8xID0gcnVsZTEuc2Nl bmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMgPT0gW3J1bGUxXQor KworKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAg IGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAg ICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9PSBmZWF0dXJlLmJh Y2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxs X3N0ZXBzKSAhPSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysKKysgICAgICAgIGFzc2VydCBy dWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEuU2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBy dWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBydWxlMS5iYWNrZ3JvdW5kCisrICAgICAgICBh c3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gbGlzdChydWxlMS5iYWNr Z3JvdW5kLmFsbF9zdGVwcykKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3Nj ZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1 J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAo dSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBO b25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFy aW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAgIGRlZiB0ZXN0 X3BhcnNlX19ydWxlX3NjZW5hcmlvc193aXRoX3J1bGVfYmFja2dyb3VuZF93aGVuX2JhY2tncm91 bmRfaW5oZXJpdGFuY2VfaXNfZGlzYWJsZWQoc2VsZik6CisrICAgICAgICAjIC0tIEhJTlQ6IEJh Y2tncm91bmQgaW5oZXJpdGFuY2UgaXMgZW5hYmxlZCAoYnkgZGVmYXVsdCkuCisrICAgICAgICB0 ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6IFdpdGggRmVhdHVyZSBCYWNrZ3JvdW5k IEluaGVyaXRhbmNlIGRpc2FibGVkCisrCisrICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0 dXJlLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5k IHN0ZXBfMQorKworKyAgICAgICAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tn cm91bmQKKysgICAgICAgICAgICAgIFJ1bGU6IFIxCisrICAgICAgICAgICAgICAgIEJhY2tncm91 bmQ6IFIxLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIGJhY2tn cm91bmQgc3RlcF8xCisrCisrICAgICAgICAgICAgICAgIFNjZW5hcmlvOiBSMS5TY2VuYXJpb18x CisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQorKyAg ICAgICAgICAgICcnJy5sc3RyaXAoKQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUo dGV4dCkKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLm5hbWUgPT0gIldpdGggRmVhdHVyZSBCYWNr Z3JvdW5kIEluaGVyaXRhbmNlIGRpc2FibGVkIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFj a2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlv cykgPT0gMAorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAg ICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxlMSA9 IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNjZW5h cmlvc1swXQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0KKysK KysgICAgICAgIHJ1bGUxLnVzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlID0gRmFsc2UgICMgRklY VFVSRS1FRkZFQ1QgKHNpbXVsYXRlZCkKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5k IGlzIG5vdCBOb25lCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC51c2VfaW5oZXJp dGFuY2UgaXMgRmFsc2UKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBm ZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVy aXRlZF9zdGVwcyA9PSBbXQorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQuaW5oZXJp dGVkX3N0ZXBzICE9IGZlYXR1cmUuYmFja2dyb3VuZC5zdGVwcworKyAgICAgICAgYXNzZXJ0IGxp c3QocnVsZTEuYmFja2dyb3VuZC5hbGxfc3RlcHMpICE9IGZlYXR1cmUuYmFja2dyb3VuZC5zdGVw cworKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2VuYXJp b18xIgorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIHJ1bGUx LmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9z dGVwcyA9PSBydWxlMS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2Nl bmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVw cykKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3Rl cHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgYmFja2dy b3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2 ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAg IF0pCisrCisrICAgIGRlZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5hcmlvc193aXRob3V0X3J1bGVf YmFja2dyb3VuZF93aGVuX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfaXNfZGlzYWJsZWRfd2l0aG91 dChzZWxmKToKKysgICAgICAgICMgLS0gSElOVDogQmFja2dyb3VuZCBpbmhlcml0YW5jZSBpcyBl bmFibGVkIChieSBkZWZhdWx0KS4KKysgICAgICAgIHRleHQgPSB1JycnCisrICAgICAgICAgICAg RmVhdHVyZTogV2l0aCBGZWF0dXJlIEJhY2tncm91bmQgSW5oZXJpdGFuY2UgZGlzYWJsZWQKKysK KysgICAgICAgICAgICAgIEJhY2tncm91bmQ6IEZlYXR1cmUuQmFja2dyb3VuZAorKyAgICAgICAg ICAgICAgICBHaXZlbiBmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xCisrCisrICAgICAgICAgICAg ICBAZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZAorKyAgICAgICAgICAgICAgUnVs ZTogUjEKKysgICAgICAgICAgICAgICAgU2NlbmFyaW86IFIxLlNjZW5hcmlvXzEKKysgICAgICAg ICAgICAgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAg JycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAg ICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiV2l0aCBGZWF0dXJlIEJhY2tncm91bmQgSW5o ZXJpdGFuY2UgZGlzYWJsZWQiCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlz IG5vdCBOb25lCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAwCisr ICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVsZXMpID09IDEKKysgICAgICAgIGFzc2VydCBs ZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDEKKysKKysgICAgICAgIHJ1bGUxID0gZmVhdHVyZS5y dWxlc1swXQorKyAgICAgICAgcnVsZTFfc2NlbmFyaW8xID0gcnVsZTEuc2NlbmFyaW9zWzBdCisr ICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMgPT0gW3J1bGUxXQorKworKyAgICAgICAg cnVsZTEudXNlX2JhY2tncm91bmRfaW5oZXJpdGFuY2UgPSBGYWxzZSAgIyBGSVhUVVJFLUVGRkVD VCAoc2ltdWxhdGVkKQorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IE5v bmUKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLnVzZV9pbmhlcml0YW5jZSBpcyBG YWxzZQorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFj a2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQuaW5oZXJpdGVkX3N0ZXBz ID09IFtdCisrCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIxLlNj ZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMg cnVsZTEuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3Jv dW5kX3N0ZXBzID09IHJ1bGUxLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBydWxl MV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxs X3N0ZXBzKQorKyAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTFfc2NlbmFyaW8xLmFs bF9zdGVwcywgWworKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUncnVsZSBSMSBz Y2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAgZGVm IHRlc3RfcGFyc2VfX3J1bGVfc2NlbmFyaW9zX3dpdGhvdXRfZmVhdHVyZV9iYWNrZ3JvdW5kX2Fu ZF93aXRoX3J1bGVfYmFja2dyb3VuZChzZWxmKToKKysgICAgICAgIHRleHQgPSB1JycnCisrICAg ICAgICAgICAgRmVhdHVyZTogV2l0aG91dCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIHdpdGggUnVs ZS5CYWNrZ3JvdW5kCisrCisrICAgICAgICAgICAgICBSdWxlOiBSMQorKyAgICAgICAgICAgICAg ICBCYWNrZ3JvdW5kOiBSMS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVs ZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAgICAgICAgICBTY2VuYXJpbzogUjEu U2NlbmFyaW9fMQorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBz dGVwXzEKKysgICAgICAgICAgICAnJycubHN0cmlwKCkKKysgICAgICAgIGZlYXR1cmUgPSBwYXJz ZV9mZWF0dXJlKHRleHQpCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5uYW1lID09ICJXaXRob3V0 IEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgd2l0aCBSdWxlLkJhY2tncm91bmQiCisrICAgICAgICBh c3NlcnQgZmVhdHVyZS5iYWNrZ3JvdW5kIGlzIE5vbmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVh dHVyZS5zY2VuYXJpb3MpID09IDAKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydWxlcykg PT0gMQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bl9pdGVtcykgPT0gMQorKworKyAg ICAgICAgcnVsZTEgPSBmZWF0dXJlLnJ1bGVzWzBdCisrICAgICAgICBydWxlMV9zY2VuYXJpbzEg PSBydWxlMS5zY2VuYXJpb3NbMF0KKysgICAgICAgIGFzc2VydCBmZWF0dXJlLnJ1bl9pdGVtcyA9 PSBbcnVsZTFdCisrCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgTm9u ZQorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dy b3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQuaW5oZXJpdGVkX3N0ZXBzID09 IFtdCisrCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIxLlNjZW5h cmlvXzEiCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgcnVs ZTEuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5k X3N0ZXBzID09IHJ1bGUxLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBydWxlMV9z Y2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0 ZXBzKQorKyAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTFfc2NlbmFyaW8xLmFsbF9z dGVwcywgWworKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUncnVsZSBSMSBiYWNr Z3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJH aXZlbiIsIHUncnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAg ICAgXSkKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX3J1bGVfc2NlbmFyaW9zX3dpdGhvdXRfZmVh dHVyZV9hbmRfcnVsZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICAgICAgdGV4dCA9IHUnJycKKysg ICAgICAgICAgICBGZWF0dXJlOiBXaXRob3V0IEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgUnVsZS5C YWNrZ3JvdW5kCisrCisrICAgICAgICAgICAgICBSdWxlOiBSMQorKyAgICAgICAgICAgICAgICBT Y2VuYXJpbzogUjEuU2NlbmFyaW9fMQorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEg c2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAgICAgICAnJycubHN0cmlwKCkKKysgICAgICAgIGZl YXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQpCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5uYW1l ID09ICJXaXRob3V0IEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgUnVsZS5CYWNrZ3JvdW5kIgorKyAg ICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBOb25lCisrICAgICAgICBhc3NlcnQg bGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAwCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUu cnVsZXMpID09IDEKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDEK KysKKysgICAgICAgIHJ1bGUxID0gZmVhdHVyZS5ydWxlc1swXQorKyAgICAgICAgcnVsZTFfc2Nl bmFyaW8xID0gcnVsZTEuc2NlbmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5f aXRlbXMgPT0gW3J1bGUxXQorKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMg Tm9uZQorKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2Vu YXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIE5v bmUKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBydWxlMS5i YWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3Rl cHMgPT0gW10KKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5h bGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEg c2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKyAgICAgICAgIF0pCisgCisgCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDUyLUFkZC1zdXBwb3J0LWZvci1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Mi1BZGQtc3Vw cG9ydC1mb3ItcnVudGltZS1jb25zdHJhaW50cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLmNiOGZmOTllYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTItQWRkLXN1cHBvcnQt Zm9yLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2gKQEAgLTAsMCArMSwyNjkgQEAKK0Zyb20gMDhl MjAyOGQ0MjcxOTgyODlkN2M5NGUxNGU4NGE5MTAzNGJjNTQzNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzoxODowMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBB ZGQgc3VwcG9ydCBmb3IgcnVudGltZSBjb25zdHJhaW50cy4KKworLS0tCisgLmJ1bXB2ZXJzaW9u LmNmZyAgICAgICAgICAgICAgICAgfCAgMiArLQorIGJlaGF2ZS9fX2luaXRfXy5weSAgICAgICAg ICAgICAgIHwgIDIgKy0KKyBiZWhhdmUvX19tYWluX18ucHkgICAgICAgICAgICAgICB8IDEzICsr KysrLS0tLQorIGJlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5IHwgNDUgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyBiZWhhdmUvY29uZmlndXJhdGlvbi5weSAgICAgICAg ICB8ICA0IC0tLQorIGJlaGF2ZS9leGNlcHRpb24ucHkgICAgICAgICAgICAgIHwgNDAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKworIGJlaGF2ZS9ydW5uZXIucHkgICAgICAgICAgICAgICAg IHwgIDIgKy0KKyBiZWhhdmUvcnVubmVyX3V0aWwucHkgICAgICAgICAgICB8IDE3ICsrLS0tLS0t LS0tLQorIGJlaGF2ZS92ZXJzaW9uLnB5ICAgICAgICAgICAgICAgIHwgIDIgKysKKyB0ZXN0cy91 bml0L3Rlc3RfcnVubmVyLnB5ICAgICAgICB8ICAyICstCisgMTAgZmlsZXMgY2hhbmdlZCwgMTAx IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhh dmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUv ZXhjZXB0aW9uLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJlaGF2ZS92ZXJzaW9uLnB5CisKK2Rp ZmYgLS1naXQgYS8uYnVtcHZlcnNpb24uY2ZnIGIvLmJ1bXB2ZXJzaW9uLmNmZworaW5kZXggYWM5 MTNjMi4uYTVkM2QyZiAxMDA2NDQKKy0tLSBhLy5idW1wdmVyc2lvbi5jZmcKKysrKyBiLy5idW1w dmVyc2lvbi5jZmcKK0BAIC0xLDYgKzEsNiBAQAorIFtidW1wdmVyc2lvbl0KKyBjdXJyZW50X3Zl cnNpb24gPSAxLjIuNy5kZXYxCistZmlsZXMgPSBiZWhhdmUvX19pbml0X18ucHkgc2V0dXAucHkg VkVSU0lPTi50eHQgcHl0ZXN0LmluaSAuYnVtcHZlcnNpb24uY2ZnCisrZmlsZXMgPSBiZWhhdmUv dmVyc2lvbi5weSBzZXR1cC5weSBWRVJTSU9OLnR4dCBweXRlc3QuaW5pIC5idW1wdmVyc2lvbi5j ZmcKKyBwYXJzZSA9ICg/UDxtYWpvcj5cZCspXC4oP1A8bWlub3I+XGQrKVwuKD9QPHBhdGNoPlxk KykoP1A8ZHJvcD5cdyopCisgc2VyaWFsaXplID0ge21ham9yfS57bWlub3J9LntwYXRjaH17ZHJv cH0KKyBjb21taXQgPSBGYWxzZQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9fX2luaXRfXy5weSBiL2Jl aGF2ZS9fX2luaXRfXy5weQoraW5kZXggMzFlNGU1NS4uNTNhNTMzNyAxMDA2NDQKKy0tLSBhL2Jl aGF2ZS9fX2luaXRfXy5weQorKysrIGIvYmVoYXZlL19faW5pdF9fLnB5CitAQCAtMjAsNiArMjAs NyBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGZyb20gYmVoYXZl LnN0ZXBfcmVnaXN0cnkgaW1wb3J0ICogICAgICAjIHB5bGludDogZGlzYWJsZT13aWxkY2FyZC1p bXBvcnQKKyBmcm9tIGJlaGF2ZS5tYXRjaGVycyBpbXBvcnQgdXNlX3N0ZXBfbWF0Y2hlciwgc3Rl cF9tYXRjaGVyLCByZWdpc3Rlcl90eXBlCisgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgZml4 dHVyZSwgdXNlX2ZpeHR1cmUKKytmcm9tIGJlaGF2ZS52ZXJzaW9uIGltcG9ydCBWRVJTSU9OIGFz IF9fdmVyc2lvbl9fCisgCisgIyBweWxpbnQ6IGRpc2FibGU9dW5kZWZpbmVkLWFsbC12YXJpYWJs ZQorIF9fYWxsX18gPSBbCitAQCAtMjksNCArMzAsMyBAQCBfX2FsbF9fID0gWworICAgICAjIC0t IERFUFJFQ0FUSU5HOgorICAgICAic3RlcF9tYXRjaGVyIgorIF0KKy1fX3ZlcnNpb25fXyA9ICIx LjIuNy5kZXYxIgorZGlmZiAtLWdpdCBhL2JlaGF2ZS9fX21haW5fXy5weSBiL2JlaGF2ZS9fX21h aW5fXy5weQoraW5kZXggYzM0MGIyNS4uM2NhZTM2ZCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9fX21h aW5fXy5weQorKysrIGIvYmVoYXZlL19fbWFpbl9fLnB5CitAQCAtNCwxMiArNCwxMyBAQCBmcm9t IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBpbXBv cnQgY29kZWNzCisgaW1wb3J0IHN5cworIGltcG9ydCBzaXgKKy1mcm9tIGJlaGF2ZSBpbXBvcnQg X192ZXJzaW9uX18KKy1mcm9tIGJlaGF2ZS5jb25maWd1cmF0aW9uIGltcG9ydCBDb25maWd1cmF0 aW9uLCBDb25maWdFcnJvcgorK2Zyb20gYmVoYXZlLnZlcnNpb24gaW1wb3J0IFZFUlNJT04gYXMg QkVIQVZFX1ZFUlNJT04KKytmcm9tIGJlaGF2ZS5jb25maWd1cmF0aW9uIGltcG9ydCBDb25maWd1 cmF0aW9uCisrZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBDb25zdHJhaW50RXJyb3IsIENv bmZpZ0Vycm9yLCBcCisrICAgIEZpbGVOb3RGb3VuZEVycm9yLCBJbnZhbGlkRmlsZUxvY2F0aW9u RXJyb3IsIEludmFsaWRGaWxlbmFtZUVycm9yCisgZnJvbSBiZWhhdmUucGFyc2VyIGltcG9ydCBQ YXJzZXJFcnJvcgorIGZyb20gYmVoYXZlLnJ1bm5lciBpbXBvcnQgUnVubmVyCistZnJvbSBiZWhh dmUucnVubmVyX3V0aWwgaW1wb3J0IHByaW50X3VuZGVmaW5lZF9zdGVwX3NuaXBwZXRzLCByZXNl dF9ydW50aW1lLCBcCistICAgIEludmFsaWRGaWxlTG9jYXRpb25FcnJvciwgSW52YWxpZEZpbGVu YW1lRXJyb3IsIEZpbGVOb3RGb3VuZEVycm9yCisrZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1w b3J0IHByaW50X3VuZGVmaW5lZF9zdGVwX3NuaXBwZXRzLCByZXNldF9ydW50aW1lCisgZnJvbSBi ZWhhdmUudGV4dHV0aWwgaW1wb3J0IGNvbXB1dGVfd29yZHNfbWF4c2l6ZSwgdGV4dCBhcyBfdGV4 dAorIAorIAorQEAgLTYyLDcgKzYzLDcgQEAgZGVmIHJ1bl9iZWhhdmUoY29uZmlnLCBydW5uZXJf Y2xhc3M9Tm9uZSk6CisgICAgICAgICBydW5uZXJfY2xhc3MgPSBSdW5uZXIKKyAKKyAgICAgaWYg Y29uZmlnLnZlcnNpb246CistICAgICAgICBwcmludCgiYmVoYXZlICIgKyBfX3ZlcnNpb25fXykK KysgICAgICAgIHByaW50KCJiZWhhdmUgIiArIEJFSEFWRV9WRVJTSU9OKQorICAgICAgICAgcmV0 dXJuIDAKKyAKKyAgICAgaWYgY29uZmlnLnRhZ3NfaGVscDoKK0BAIC0xMTAsNiArMTExLDggQEAg ZGVmIHJ1bl9iZWhhdmUoY29uZmlnLCBydW5uZXJfY2xhc3M9Tm9uZSk6CisgICAgICAgICBwcmlu dCh1IkludmFsaWRGaWxlTG9jYXRpb25FcnJvcjogJXMiICUgZSkKKyAgICAgZXhjZXB0IEludmFs aWRGaWxlbmFtZUVycm9yIGFzIGU6CisgICAgICAgICBwcmludCh1IkludmFsaWRGaWxlbmFtZUVy cm9yOiAlcyIgJSBlKQorKyAgICBleGNlcHQgQ29uc3RyYWludEVycm9yIGFzIGU6CisrICAgICAg ICBwcmludCh1IkNvbnN0cmFpbnRFcnJvcjogJXMiICUgZSkKKyAgICAgZXhjZXB0IEV4Y2VwdGlv biBhcyBlOgorICAgICAgICAgIyAtLSBESUFHTk9TVElDUzoKKyAgICAgICAgIHRleHQgPSBfdGV4 dChlKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5IGIvYmVo YXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi4zMTBlNTI5CistLS0gL2Rldi9udWxsCisrKysgYi9iZWhhdmUvYXBpL3J1bnRp bWVfY29uc3RyYWludC5weQorQEAgLTAsMCArMSw0NSBAQAorKyMgLSotIGNvZGluZzogVVRGLTgg LSotCisrIiIiCisrU2ltcGxpZmllcyB0byBzcGVjaWZ5IHJ1bnRpbWUgY29uc3RyYWludHMgaW4K KysKKysqIGZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGZpbGUKKysqIGZlYXR1cmVzL3N0ZXBzLyou cHkiIGZpbGVzCisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv cnQKKytmcm9tIGJlaGF2ZS5leGNlcHRpb24gaW1wb3J0IENvbnN0cmFpbnRFcnJvcgorKworKwor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBVVElMSVRZIEZVTkNUSU9OUzoKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorK2RlZiByZXF1aXJlX21pbl9weXRob25fdmVyc2lvbihtaW5pbWFsX3ZlcnNp b24pOgorKyAgICAiIiJTaW1wbGlmaWVzIHRvIHNwZWNpZnkgdGhlIG1pbmltYWwgcHl0aG9uIHZl cnNpb24gdGhhdCBpcyByZXF1aXJlZC4KKysKKysgICAgOnBhcmFtIG1pbmltYWxfdmVyc2lvbjog TWluaW11bSB2ZXJzaW9uIChhcyBzdHJpbmcsIHR1cGxlKQorKyAgICA6cmFpc2VzOiBiZWhhdmUu ZXhjZXB0aW9uLkNvbnN0cmFpbnRFcnJvcgorKyAgICAiIiIKKysgICAgaW1wb3J0IHNpeAorKyAg ICBpbXBvcnQgc3lzCisrICAgIHB5dGhvbl92ZXJzaW9uID0gc3lzLnZlcnNpb25faW5mbworKyAg ICBpZiBpc2luc3RhbmNlKG1pbmltYWxfdmVyc2lvbiwgc2l4LnN0cmluZ190eXBlcyk6CisrICAg ICAgICBweXRob25fdmVyc2lvbiA9ICIlcy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorKyAg ICBlbGlmIG5vdCBpc2luc3RhbmNlKG1pbmltYWxfdmVyc2lvbiwgdHVwbGUpOgorKyAgICAgICAg cmFpc2UgVHlwZUVycm9yKCJzdHJpbmcgb3IgdHVwbGUgKHdhczogJXMpIiAlIHR5cGUobWluaW1h bF92ZXJzaW9uKSkKKysKKysgICAgaWYgcHl0aG9uX3ZlcnNpb24gPCBtaW5pbWFsX3ZlcnNpb246 CisrICAgICAgICByYWlzZSBDb25zdHJhaW50RXJyb3IoInB5dGhvbiA+PSAlcyBleHBlY3RlZCAo d2FzOiAlcykiICUgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtaW5pbWFsX3Zl cnNpb24sIHB5dGhvbl92ZXJzaW9uKSkKKysKKysKKytkZWYgcmVxdWlyZV9taW5fYmVoYXZlX3Zl cnNpb24obWluaW1hbF92ZXJzaW9uKToKKysgICAgIiIiU2ltcGxpZmllcyB0byBzcGVjaWZ5IHRo ZSBtaW5pbWFsIGJlaGF2ZSB2ZXJzaW9uIHRoYXQgaXMgcmVxdWlyZWQuCisrCisrICAgIDpwYXJh bSBtaW5pbWFsX3ZlcnNpb246IE1pbmltdW0gdmVyc2lvbiAoYXMgc3RyaW5nLCB0dXBsZSkKKysg ICAgOnJhaXNlczogYmVoYXZlLmV4Y2VwdGlvbi5Db25zdHJhaW50RXJyb3IKKysgICAgIiIiCisr ICAgICMgLS0gU0lNUExJU1RJQyBJTVBMRU1FTlRBVElPTjoKKysgICAgZnJvbSBiZWhhdmUudmVy c2lvbiBpbXBvcnQgVkVSU0lPTiBhcyBiZWhhdmVfdmVyc2lvbgorKyAgICBpZiBiZWhhdmVfdmVy c2lvbiA8IG1pbmltYWxfdmVyc2lvbjoKKysgICAgICAgIHJhaXNlIENvbnN0cmFpbnRFcnJvcigi YmVoYXZlID49ICVzIGV4cGVjdGVkICh3YXM6ICVzKSIgJSBcCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG1pbmltYWxfdmVyc2lvbiwgYmVoYXZlX3ZlcnNpb24pKQorZGlmZiAtLWdp dCBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5IGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK2lu ZGV4IDg2MWY4OWYuLmJkOGIwMzkgMTAwNjQ0CistLS0gYS9iZWhhdmUvY29uZmlndXJhdGlvbi5w eQorKysrIGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK0BAIC02MiwxMCArNjIsNiBAQCBjbGFz cyBMb2dMZXZlbChvYmplY3QpOgorICAgICAgICAgcmV0dXJuIGxvZ2dpbmcuZ2V0TGV2ZWxOYW1l KGxldmVsKQorIAorIAorLWNsYXNzIENvbmZpZ0Vycm9yKEV4Y2VwdGlvbik6CistICAgIHBhc3MK Ky0KKy0KKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDT05GSUdVUkFUSU9OIFNDSEVNQToK KyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2V4Y2VwdGlvbi5w eSBiL2JlaGF2ZS9leGNlcHRpb24ucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwLi5iYTIxMjA2CistLS0gL2Rldi9udWxsCisrKysgYi9iZWhhdmUvZXhjZXB0aW9uLnB5CitA QCAtMCwwICsxLDQwIEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysiIiIKKytCZWhhdmUg ZXhjZXB0aW9uIGNsYXNzZXMuCisrCisrLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysiIiIKKysK KysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgRVhDRVBUSU9OL0VSUk9SIENMQVNTRVM6Cisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKytjbGFzcyBDb25zdHJhaW50RXJyb3IoUnVudGltZUVycm9y KToKKysgICAgIiIiVXNlZCBpZiBhIGNvbnN0cmFpbnQvcHJlY29uZGl0aW9uIGlzIG5vdCBmdWxm aWxsZWQgYXQgcnVudGltZS4KKysKKysgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAg IiIiCisrCisrCisrY2xhc3MgQ29uZmlnRXJyb3IoRXhjZXB0aW9uKToKKysgICAgIiIiVXNlZCBp ZiB0aGUgY29uZmlndXJhdGlvbiBpcyAocGFydGlhbGx5KSBpbnZhbGlkLiIiIgorKworKworKyMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBFWENFUFRJT04vRVJST1IgQ0xBU1NFUzogUmVsYXRlZCB0 byBGaWxlIEhhbmRsaW5nCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytjbGFzcyBGaWxlTm90Rm91 bmRFcnJvcihMb29rdXBFcnJvcik6CisrICAgICIiIlVzZWQgaWYgYSBzcGVjaWZpZWQgZmlsZSB3 YXMgbm90IGZvdW5kLiIiIgorKworKworK2NsYXNzIEludmFsaWRGaWxlTG9jYXRpb25FcnJvcihM b29rdXBFcnJvcik6CisrICAgICIiIlVzZWQgaWYgYSA6Y2xhc3M6YGJlaGF2ZS5tb2RlbF9jb3Jl LkZpbGVMb2NhdGlvbmAgaXMgaW52YWxpZC4KKysgICAgVGhpcyBvY2N1cnMgaWYgdGhlIGZpbGUg bG9jYXRpb24gaXMgbm8gZXhhY3RseSBjb3JyZWN0IGFuZAorKyAgICBzdHJpY3QgY2hlY2tpbmcg aXMgZW5hYmxlZC4KKysgICAgIiIiCisrCisrCisrY2xhc3MgSW52YWxpZEZpbGVuYW1lRXJyb3Io VmFsdWVFcnJvcik6CisrICAgICIiIlVzZWQgaWYgYSBmaWxlbmFtZSBkb2VzIG5vdCBoYXZlIHRo ZSBleHBlY3RlZCBmaWxlIGV4dGVuc2lvbiwgZXRjLiIiIgorKworKworZGlmZiAtLWdpdCBhL2Jl aGF2ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVubmVyLnB5CitpbmRleCBmMjA5Y2IwLi5jYmVkYjVh IDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lci5weQorKysrIGIvYmVoYXZlL3J1bm5lci5weQor QEAgLTE1LDcgKzE1LDcgQEAgaW1wb3J0IHNpeAorIAorIGZyb20gYmVoYXZlLl90eXBlcyBpbXBv cnQgRXhjZXB0aW9uVXRpbAorIGZyb20gYmVoYXZlLmNhcHR1cmUgaW1wb3J0IENhcHR1cmVDb250 cm9sbGVyCistZnJvbSBiZWhhdmUuY29uZmlndXJhdGlvbiBpbXBvcnQgQ29uZmlnRXJyb3IKKytm cm9tIGJlaGF2ZS5leGNlcHRpb24gaW1wb3J0IENvbmZpZ0Vycm9yCisgZnJvbSBiZWhhdmUuZm9y bWF0dGVyLl9yZWdpc3RyeSBpbXBvcnQgbWFrZV9mb3JtYXR0ZXJzCisgZnJvbSBiZWhhdmUucnVu bmVyX3V0aWwgaW1wb3J0IFwKKyAgICAgY29sbGVjdF9mZWF0dXJlX2xvY2F0aW9ucywgcGFyc2Vf ZmVhdHVyZXMsIFwKK2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyX3V0aWwucHkgYi9iZWhhdmUv cnVubmVyX3V0aWwucHkKK2luZGV4IDdlMDgwN2YuLjgwYjk5YTAgMTAwNjQ0CistLS0gYS9iZWhh dmUvcnVubmVyX3V0aWwucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXJfdXRpbC5weQorQEAgLTExLDI2 ICsxMSwxMyBAQCBpbXBvcnQgcmUKKyBpbXBvcnQgc3lzCisgZnJvbSBzaXggaW1wb3J0IHN0cmlu Z190eXBlcworIGZyb20gYmVoYXZlIGltcG9ydCBwYXJzZXIKKytmcm9tIGJlaGF2ZS5leGNlcHRp b24gaW1wb3J0IFwKKysgICAgRmlsZU5vdEZvdW5kRXJyb3IsIEludmFsaWRGaWxlTG9jYXRpb25F cnJvciwgSW52YWxpZEZpbGVuYW1lRXJyb3IKKyBmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9y dCBGaWxlTG9jYXRpb24KKyBmcm9tIGJlaGF2ZS50ZXh0dXRpbCBpbXBvcnQgZW5zdXJlX3N0cmVh bV93aXRoX2VuY29kZXIKKyAjIExBWlk6IGZyb20gYmVoYXZlLnN0ZXBfcmVnaXN0cnkgaW1wb3J0 IHNldHVwX3N0ZXBfZGVjb3JhdG9ycworIAorIAorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0j IEVYQ0VQVElPTlM6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWNsYXNzIEZpbGVOb3RGb3Vu ZEVycm9yKExvb2t1cEVycm9yKToKKy0gICAgcGFzcworLQorLQorLWNsYXNzIEludmFsaWRGaWxl TG9jYXRpb25FcnJvcihMb29rdXBFcnJvcik6CistICAgIHBhc3MKKy0KKy0KKy1jbGFzcyBJbnZh bGlkRmlsZW5hbWVFcnJvcihWYWx1ZUVycm9yKToKKy0gICAgcGFzcworLQorLQorICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAjIENMQVNTOiBGaWxlTG9jYXRpb25QYXJzZXIKKyAjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3ZlcnNpb24ucHkgYi9iZWhhdmUvdmVy c2lvbi5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmIxOWNiNWUKKy0t LSAvZGV2L251bGwKKysrKyBiL2JlaGF2ZS92ZXJzaW9uLnB5CitAQCAtMCwwICsxLDIgQEAKKysj IC0tIEJFSEFWRS1WRVJTSU9OOgorK1ZFUlNJT04gPSAiMS4yLjcuZGV2MSIKK2RpZmYgLS1naXQg YS90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5IGIvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weQor aW5kZXggMDMwZGZmYS4uZjBkMDNjZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9ydW5u ZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKK0BAIC0xNyw3ICsxNyw3IEBA IGZyb20gYmVoYXZlIGltcG9ydCBydW5uZXJfdXRpbAorIGZyb20gYmVoYXZlLm1vZGVsIGltcG9y dCBUYWJsZQorIGZyb20gYmVoYXZlLnN0ZXBfcmVnaXN0cnkgaW1wb3J0IFN0ZXBSZWdpc3RyeQor IGZyb20gYmVoYXZlIGltcG9ydCBwYXJzZXIsIHJ1bm5lcgorLWZyb20gYmVoYXZlLmNvbmZpZ3Vy YXRpb24gaW1wb3J0IENvbmZpZ0Vycm9yCisrZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBD b25maWdFcnJvcgorIGZyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBTdHJlYW1PcGVu ZXIKKyAKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNTMtVXNlLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUzLVVzZS1y dW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uNDhlM2U2OTg1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1My1Vc2UtcnVudGltZS1jb25zdHJhaW50 cy5wYXRjaApAQCAtMCwwICsxLDE5NiBAQAorRnJvbSA1YjQyMzIxY2ZlOTVkMjllMmQ1NWVjOGYy NDk1YmUwN2I0MTczY2EwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDEzIEp1bCAyMDE5 IDEzOjE5OjEzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBydW50aW1lIGNvbnN0cmFpbnRz CisKKy0tLQorIC4uLi9mZWF0dXJlcy9hc3luY19kaXNwYXRjaC5mZWF0dXJlICAgICAgICAgICB8 ICAyICsrCisgLi4uL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUgICAgIHwg IDIgKysKKyBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgfCAx MyArKysrKysrKysKKyAuLi4ve2FzeW5jX3N0ZXBzMzQucHkgPT4gX2FzeW5jX3N0ZXBzMzQucHl9 ICAgfCAgNiArKystCisgLi4uL3thc3luY19zdGVwczM1LnB5ID0+IF9hc3luY19zdGVwczM1LnB5 fSAgIHwgIDMgKy0KKyAuLi4vZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkg ICAgfCAyOSArKysrKysrKysrKysrKystLS0tCisgLi4uL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3Rl cHMvYXN5bmNfc3RlcHMucHkgIHwgMTIgKysrKysrKysKKyA3IGZpbGVzIGNoYW5nZWQsIDU5IGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisgcmVuYW1lIGV4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMve2FzeW5jX3N0ZXBzMzQucHkgPT4gX2FzeW5jX3N0ZXBzMzQucHl9ICg1 OCUpCisgcmVuYW1lIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMve2FzeW5jX3N0 ZXBzMzUucHkgPT4gX2FzeW5jX3N0ZXBzMzUucHl9ICg5NSUpCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkKKworZGlm ZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVh dHVyZSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVy ZQoraW5kZXggNDE2ZDNkMS4uMThlOTg2OSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQorKysrIGIvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9hc3luY19kaXNwYXRjaC5mZWF0dXJlCitAQCAtMSw2ICsxLDggQEAKKyBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CisgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu NQorIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKytAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My43CisrQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorIEZlYXR1cmU6CisgICBTY2Vu YXJpbzoKKyAgICAgR2l2ZW4gSSBkaXNwYXRjaCBhbiBhc3luYy1jYWxsIHdpdGggcGFyYW0gIkFs aWNlIgorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVu LmZlYXR1cmUgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJl CitpbmRleCA5ZjUwNmI0Li4yOWI4ZmE3IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3Rl cC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9m ZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQorQEAgLTEsNiArMSw4IEBACisgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuNAorIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My42CisrQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworK0B1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyBGZWF0dXJlOgorICAgU2NlbmFyaW86CisgICAg IEdpdmVuIGFuIGFzeW5jLXN0ZXAgd2FpdHMgMC4zIHNlY29uZHMKK2RpZmYgLS1naXQgYS9leGFt cGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQoraW5kZXggOWQ0MzAyYi4uMDJjNGQ5MiAxMDA2 NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysr KyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xLDgg KzEsMTggQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorIAorIGZyb20gYmVoYXZlLnRhZ19t YXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcwor K2Zyb20gYmVoYXZlLmFwaS5ydW50aW1lX2NvbnN0cmFpbnQgaW1wb3J0IHJlcXVpcmVfbWluX3B5 dGhvbl92ZXJzaW9uCisgaW1wb3J0IHN5cworIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysj IFJFUVVJUkU6IHB5dGhvbiA+PSAzLjQKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrcmVxdWly ZV9taW5fcHl0aG9uX3ZlcnNpb24oIjMuNCIpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorKyMgU1VQUE9SVDogQWN0aXZlLXRhZ3MKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyAt LSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgIyBOT1RF OiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3Ig YWN0aXZlIHRhZ3MuCisgcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5m b1s6Ml0KK0BAIC0xMSw2ICsyMSw3IEBAIGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSB7Cisg fQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1 ZV9wcm92aWRlcikKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBIT09LUzoKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTgsMTAgKzI5LDEyIEBAIGRlZiBiZWZvcmVfYWxs KGNvbnRleHQpOgorICAgICAjIC0tIFNFVFVQIEFDVElWRS1UQUcgTUFUQ0hFUiAod2l0aCB1c2Vy ZGF0YSk6CisgICAgIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVfcHJv dmlkZXIsIGNvbnRleHQuY29uZmlnLnVzZXJkYXRhKQorIAorKworIGRlZiBiZWZvcmVfZmVhdHVy ZShjb250ZXh0LCBmZWF0dXJlKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgoZmVhdHVyZS50YWdzKToKKyAgICAgICAgIGZlYXR1cmUuc2tpcChyZWFzb249 YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorKworIGRlZiBiZWZvcmVfc2Nl bmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hv dWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2Vu YXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCitkaWZm IC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM0 LnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5w eQorc2ltaWxhcml0eSBpbmRleCA1OCUKK3JlbmFtZSBmcm9tIGV4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5weQorcmVuYW1lIHRvIGV4YW1wbGVzL2FzeW5j X3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkKK2luZGV4IGM0OTYyYWIuLjU1 NjUwMGYgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2Fz eW5jX3N0ZXBzMzQucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMv X2FzeW5jX3N0ZXBzMzQucHkKK0BAIC0xLDggKzEsMTIgQEAKKy0jIC0tIFJFUVVJUkVTOiBQeXRo b24gPj0gMy40CisrIyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMuNCBhbmQgUHl0aG9uIDwgMy44 CisrIyBISU5UOiBEZWNvcmF0b3IgQGFzeW5jaW8uY29yb3V0aW5lIGlzIHByb2hpYml0ZWQgaW4g cHl0aG9uIDMuOAorKyMgVVNFOiAgQXN5bmMgZ2VuZXJhdG9yL2Nvcm91dGluZSBpbnN0ZWFkLgor KworIGZyb20gYmVoYXZlIGltcG9ydCBzdGVwCisgZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAg aW1wb3J0IGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZQorIGltcG9ydCBhc3luY2lvCisgCisrIyAt LSBVU0FCTEUgRk9SOiAiMy40IiA8PSBweXRob25fdmVyc2lvbiA8ICIzLjgiCisgQHN0ZXAoJ2Fu IGFzeW5jLXN0ZXAgd2FpdHMge2R1cmF0aW9uOmZ9IHNlY29uZHMnKQorIEBhc3luY19ydW5fdW50 aWxfY29tcGxldGUKKyBAYXN5bmNpby5jb3JvdXRpbmUKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9h c3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkgYi9leGFtcGxlcy9hc3lu Y19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM1LnB5CitzaW1pbGFyaXR5IGluZGV4 IDk1JQorcmVuYW1lIGZyb20gZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3lu Y19zdGVwczM1LnB5CityZW5hbWUgdG8gZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVw cy9fYXN5bmNfc3RlcHMzNS5weQoraW5kZXggMDE4ZDVlZi4uZWRjYmUwZSAxMDA2NDQKKy0tLSBh L2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNS5weQorKysr IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNS5weQor QEAgLTEsNCArMSw1IEBACisgIyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMuNQorKworIGZyb20g YmVoYXZlIGltcG9ydCBzdGVwCisgZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAgaW1wb3J0IGFz eW5jX3J1bl91bnRpbF9jb21wbGV0ZQorIGltcG9ydCBhc3luY2lvCitAQCAtNiw1ICs3LDUgQEAg aW1wb3J0IGFzeW5jaW8KKyBAc3RlcCgnYW4gYXN5bmMtc3RlcCB3YWl0cyB7ZHVyYXRpb246Zn0g c2Vjb25kcycpCisgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZQorIGFzeW5jIGRlZiBzdGVwX2Fz eW5jX3N0ZXBfd2FpdHNfc2Vjb25kc19weTM1KGNvbnRleHQsIGR1cmF0aW9uKToKKy0gICAgIiIi U2ltcGxlIGV4YW1wbGUgb2YgYSBjb3JvdXRpbmUgYXMgYXN5bmMtc3RlcCAoaW4gUHl0aG9uIDMu NSkiIiIKKysgICAgIiIiU2ltcGxlIGV4YW1wbGUgb2YgYSBjb3JvdXRpbmUgYXMgYXN5bmMtc3Rl cCAoaW4gUHl0aG9uIDMuNSBvciBuZXdlcikiIiIKKyAgICAgYXdhaXQgYXN5bmNpby5zbGVlcChk dXJhdGlvbikKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBz L2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9z dGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weQoraW5kZXggYjliNmUxNS4uMjIyZTU0ZCAxMDA2 NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0 Y2hfc3RlcHMucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5 bmNfZGlzcGF0Y2hfc3RlcHMucHkKK0BAIC0xLDIxICsxLDM4IEBACisgIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKy0jIFJFUVVJUkVTOiBQeXRob24gPj0gMy41CisrIyBSRVFVSVJFUzogUHl0aG9u ID49IDMuNC8zLjUKKytpbXBvcnQgc3lzCisgZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB0aGVu LCBzdGVwCistZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAgaW1wb3J0IHVzZV9vcl9jcmVhdGVf YXN5bmNfY29udGV4dCwgQXN5bmNDb250ZXh0CisrZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAg aW1wb3J0IHVzZV9vcl9jcmVhdGVfYXN5bmNfY29udGV4dAorIGZyb20gaGFtY3Jlc3QgaW1wb3J0 IGFzc2VydF90aGF0LCBlcXVhbF90bywgZW1wdHkKKyBpbXBvcnQgYXN5bmNpbworIAorLUBhc3lu Y2lvLmNvcm91dGluZQorLWRlZiBhc3luY19mdW5jKHBhcmFtKToKKy0gICAgeWllbGQgZnJvbSBh c3luY2lvLnNsZWVwKDAuMikKKy0gICAgcmV0dXJuIHN0cihwYXJhbSkudXBwZXIoKQorIAorKyMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBBU1lOQyBFWEFNUExFIEZVTkNUSU9OOgorKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5m b1s6Ml0KKytpZiBweXRob25fdmVyc2lvbiA+PSAiMy41IjoKKysgICAgYXN5bmMgZGVmIGFzeW5j X2Z1bmMocGFyYW0pOgorKyAgICAgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgwLjIpCisrICAgICAg ICByZXR1cm4gc3RyKHBhcmFtKS51cHBlcigpCisrZWxzZToKKysgICAgIyAtLSBISU5UOiBEZWNv cmF0b3IgQGFzeW5jaW8uY29yb3V0aW5lIGlzIHByb2hpYml0ZWQgaW4gcHl0aG9uIDMuOAorKyAg ICBAYXN5bmNpby5jb3JvdXRpbmUKKysgICAgZGVmIGFzeW5jX2Z1bmMocGFyYW0pOgorKyAgICAg ICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVwKDAuMikKKysgICAgICAgIHJldHVybiBzdHIocGFy YW0pLnVwcGVyKCkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgU1RFUFM6CisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBAZ2l2ZW4oJ0kgZGlzcGF0Y2ggYW4gYXN5bmMtY2FsbCB3aXRo IHBhcmFtICJ7cGFyYW19IicpCisgZGVmIHN0ZXBfZGlzcGF0Y2hfYXN5bmNfY2FsbChjb250ZXh0 LCBwYXJhbSk6CisgICAgIGFzeW5jX2NvbnRleHQgPSB1c2Vfb3JfY3JlYXRlX2FzeW5jX2NvbnRl eHQoY29udGV4dCwgImFzeW5jX2NvbnRleHQxIikKKyAgICAgdGFzayA9IGFzeW5jX2NvbnRleHQu bG9vcC5jcmVhdGVfdGFzayhhc3luY19mdW5jKHBhcmFtKSkKKyAgICAgYXN5bmNfY29udGV4dC50 YXNrcy5hcHBlbmQodGFzaykKKyAKKysKKyBAdGhlbigndGhlIGNvbGxlY3RlZCByZXN1bHQgb2Yg dGhlIGFzeW5jLWNhbGxzIGlzICJ7ZXhwZWN0ZWR9IicpCisgZGVmIHN0ZXBfY29sbGVjdGVkX2Fz eW5jX2NhbGxfcmVzdWx0X2lzKGNvbnRleHQsIGV4cGVjdGVkKToKKyAgICAgYXN5bmNfY29udGV4 dCA9IGNvbnRleHQuYXN5bmNfY29udGV4dDEKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9m ZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwcy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLmRjMDNjNzIKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkKK0BAIC0wLDAgKzEsMTIgQEAKKysjIC0q LSBjb2Rpbmc6IFVURi04IC0qLQorKyMgUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjQvMy41CisrIiIi UHl0aG9uIGltcG9ydC1iYXJyaWVyIGZvciBweXRob24yIG9yIHB5dGhvbiA8IDMuNC4iIiIKKysK Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2ltcG9ydCBzeXMKKysK KytweXRob25fdmVyc2lvbiA9ICIlcy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorK2lmIHB5 dGhvbl92ZXJzaW9uID49ICIzLjUiOgorKyAgICBpbXBvcnQgX2FzeW5jX3N0ZXBzMzUKKytlbGlm IHB5dGhvbl92ZXJzaW9uID09ICIzLjQiOgorKyAgICBpbXBvcnQgX2FzeW5jX3N0ZXBzMzQKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTQtQ0xFQU5VUC1S ZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjZiYzU1ODA4YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVw cmVjYXRlZC1wYXJ0cy5wYXRjaApAQCAtMCwwICsxLDM5MzcgQEAKK0Zyb20gNzg4MTA4NTA5YWRk NGE3NGM0Mzk2MzZkYzgwZjJjMDhhYjVlNzNmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0 LCAxMyBKdWwgMjAxOSAxMzoyMDozOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBDTEVBTlVQOiBS ZW1vdmUgZGVwcmVjYXRlZCBwYXJ0cy4KKworLS0tCisgLmF0dGljL2NvbnZlcnRfaTE4bl95YW1s LnB5IHwgICA3NyArCisgLmF0dGljL2kxOG4ueW1sICAgICAgICAgICAgIHwgIDYzNSArKysrKysr CisgYmluL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gIHwgMzE5MyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNzEyIGluc2VydGlvbnMoKyksIDMx OTMgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNzU1IC5hdHRpYy9jb252ZXJ0X2kxOG5f eWFtbC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCAuYXR0aWMvaTE4bi55bWwKKyBkZWxldGUgbW9k ZSAxMDA2NDQgYmluL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KKworZGlmZiAtLWdpdCBhLy5hdHRp Yy9jb252ZXJ0X2kxOG5feWFtbC5weSBiLy5hdHRpYy9jb252ZXJ0X2kxOG5feWFtbC5weQorbmV3 IGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IDAwMDAwMDAuLmQ2YTY3MTMKKy0tLSAvZGV2L251bGwK KysrKyBiLy5hdHRpYy9jb252ZXJ0X2kxOG5feWFtbC5weQorQEAgLTAsMCArMSw3NyBAQAorKyMh L3Vzci9iaW4vZW52IHB5dGhvbgorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyBVU0FHRTog Y29udmVydF9pMThuX3lhbWwucHkgWy0tZGF0YT1pMThuLnltbF0gYmVoYXZlL2kxOG4ucHkKKysi IiIKKytHZW5lcmF0ZXMgSTE4TiBweXRob24gbW9kdWxlIGJhc2VkIG9uIFlBTUwgZGVzY3JpcHRp b24gKGkxOG4ueW1sKS4KKysKKytSRVFVSVJFUzoKKysgICogYXJncGFyc2UKKysgICogc2l4Cisr ICAqIFB5WUFNTAorKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1w b3J0LCBwcmludF9mdW5jdGlvbgorK2ltcG9ydCBhcmdwYXJzZQorK2ltcG9ydCBvcy5wYXRoCisr aW1wb3J0IHNpeAorK2ltcG9ydCBzeXMKKytpbXBvcnQgcHByaW50CisraW1wb3J0IHlhbWwKKysK KytIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorK05BTUUgPSBvcy5wYXRoLmJhc2Vu YW1lKF9fZmlsZV9fKQorK19fdmVyc2lvbl9fID0gIjEuMCIKKysKKytkZWYgeWFtbF9ub3JtYWxp emUoZGF0YSk6CisrICAgIGZvciBwYXJ0IGluIGRhdGE6CisrICAgICAgICBrZXl3b3JkcyA9IGRh dGFbcGFydF0KKysgICAgICAgIGZvciBrIGluIGtleXdvcmRzOgorKyAgICAgICAgICAgIHYgPSBr ZXl3b3Jkc1trXQorKyAgICAgICAgICAgICMgYmxvb2R5IFlBTUwgcGFyc2VyIHJldHVybnMgYSBt aXh0dXJlIG9mIHVuaWNvZGUgYW5kIHN0cgorKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNl KHYsIHNpeC50ZXh0X3R5cGUpOgorKyAgICAgICAgICAgICAgICB2ID0gdi5kZWNvZGUoIlVURi04 IikKKysgICAgICAgICAgICBrZXl3b3Jkc1trXSA9IHYuc3BsaXQoInwiKQorKyAgICByZXR1cm4g ZGF0YQorKworK2RlZiBtYWluKGFyZ3M9Tm9uZSk6CisrICAgIGlmIGFyZ3MgaXMgTm9uZToKKysg ICAgICAgIGFyZ3MgPSBzeXMuYXJndlsxOl0KKysgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1l bnRQYXJzZXIocHJvZz1OQU1FLAorKyAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0iR2VuZXJh dGUgcHl0aG9uIG1vZHVsZSBpMThuIGZyb20gWUFNTCBiYXNlZCBkYXRhIikKKysgICAgcGFyc2Vy LmFkZF9hcmd1bWVudCgiLWQiLCAiLS1kYXRhIiwgZGVzdD0ieWFtbF9maWxlIiwKKysgICAgICAg ICAgICAgICAgZGVmYXVsdD1vcy5wYXRoLmpvaW4oSEVSRSwgImkxOG4ueW1sIiksCisrICAgICAg ICAgICAgICAgIGhlbHA9IlBhdGggdG8gaTE4bi55bWwgZmlsZSAoWUFNTCBmaWxlKS4iKQorKyAg ICBwYXJzZXIuYWRkX2FyZ3VtZW50KCJvdXRwdXRfZmlsZSIsIGRlZmF1bHQ9InN0ZG91dCIsCisr ICAgICAgICAgICAgICAgIGhlbHA9IkZpbGVuYW1lIG9mIFB5dGhvbiBJMThOIG1vZHVsZSAoYXMg b3V0cHV0KS4iKQorKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXZlcnNpb24iLCBhY3Rpb249 InZlcnNpb24iLCB2ZXJzaW9uPV9fdmVyc2lvbl9fKQorKworKyAgICBvcHRpb25zID0gcGFyc2Vy LnBhcnNlX2FyZ3MoYXJncykKKysgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG9wdGlvbnMueWFt bF9maWxlKToKKysgICAgICAgIHBhcnNlci5lcnJvcigiWUFNTCBmaWxlIG5vdCBmb3VuZDogJXMi ICUgb3B0aW9ucy55YW1sX2ZpbGUpCisrCisrICAgICMgLS0gU1RFUCAxOiBMb2FkIFlBTUwgZGF0 YS4KKysgICAgbGFuZ3VhZ2VzID0geWFtbC5sb2FkKG9wZW4ob3B0aW9ucy55YW1sX2ZpbGUpKQor KyAgICBsYW5ndWFnZXMgPSB5YW1sX25vcm1hbGl6ZShsYW5ndWFnZXMpCisrCisrICAgICMgLS0g U1RFUCAyOiBHZW5lcmF0ZSBweXRob24gbW9kdWxlIHdpdGggaTE4biBkYXRhLgorKyAgICBjb250 ZW50cyA9IHUiIiIjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgLS0gRklMRSBHRU5FUkFURUQg Qlk6IGNvbnZlcnRfaTE4bl95YW1sLnB5IHdpdGggaTE4bi55bWwKKysjIHB5bGludDogZGlzYWJs ZT1saW5lLXRvby1sb25nCisrCisrbGFuZ3VhZ2VzID0gXFwKKysiIiIKKysgICAgaWYgb3B0aW9u cy5vdXRwdXRfZmlsZSBpbiAoIi0iLCAic3Rkb3V0Iik6CisrICAgICAgICBpMThuX3B5ID0gc3lz LnN0ZG91dAorKyAgICAgICAgc2hvdWxkX2Nsb3NlID0gRmFsc2UKKysgICAgZWxzZToKKysgICAg ICAgIGkxOG5fcHkgPSBvcGVuKG9wdGlvbnMub3V0cHV0X2ZpbGUsICJ3IikKKysgICAgICAgIHNo b3VsZF9jbG9zZSA9IFRydWUKKysgICAgaTE4bl9weS53cml0ZShjb250ZW50cy5lbmNvZGUoIlVU Ri04IikpCisrICAgIGkxOG5fcHkud3JpdGUocHByaW50LnBmb3JtYXQobGFuZ3VhZ2VzKS5lbmNv ZGUoIlVURi04IikpCisrICAgIGkxOG5fcHkud3JpdGUodSJcbiIpCisrICAgIGlmIHNob3VsZF9j bG9zZToKKysgICAgICAgIGkxOG5fcHkuY2xvc2UoKQorKyAgICByZXR1cm4gMAorKworK2lmIF9f bmFtZV9fID09ICJfX21haW5fXyI6CisrICAgIHN5cy5leGl0KG1haW4oKSkKK2RpZmYgLS1naXQg YS8uYXR0aWMvaTE4bi55bWwgYi8uYXR0aWMvaTE4bi55bWwKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwLi44MjM0NWE0CistLS0gL2Rldi9udWxsCisrKysgYi8uYXR0aWMvaTE4 bi55bWwKK0BAIC0wLDAgKzEsNjM1IEBACisrIyBlbmNvZGluZzogVVRGLTgKKysjCisrIyBXZSB1 c2UgSVNPIDYzOS0xIChsYW5ndWFnZSkgYW5kIElTTyAzMTY2IGFscGhhLTIgKHJlZ2lvbiAtIGlm IGFwcGxpY2FibGUpOgorKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX0lT T182MzktMV9jb2RlcworKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fMzE2Ni0x CisrIworKyMgSWYgeW91IHdhbnQgc2V2ZXJhbCBhbGlhc2VzIGZvciBhIGtleXdvcmQsIGp1c3Qg c2VwYXJhdGUgdGhlbQorKyMgd2l0aCBhIHwgY2hhcmFjdGVyLiBUaGUgKiBpcyBhIHN0ZXAga2V5 d29yZCBhbGlhcyBmb3IgYWxsIHRyYW5zbGF0aW9ucy4KKysjCisrIyBJZiB5b3UgZG8gKm5vdCog d2FudCBhIHRyYWlsaW5nIHNwYWNlIGFmdGVyIGEga2V5d29yZCwgZW5kIGl0IHdpdGggYSA8IGNo YXJhY3Rlci4KKysjIChTZWUgQ2hpbmVzZSBmb3IgZXhhbXBsZXMpLgorKyMKKysjIFRoaXMgZmls ZSBjb3B5cmlnaHQgKGMpIDIwMDktMjAxMSBNaWtlIFNhc3NhaywgR3JlZ29yeSBIbmF0aXVrLCBB c2xhayBIZWxsZXPDuHkKKysjCisrIyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKKysjIGEgY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKyMgIlNvZnR3 YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1 ZGluZworKyMgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp ZnksIG1lcmdlLCBwdWJsaXNoLAorKyMgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCisrIyBwZXJtaXQgcGVyc29ucyB0byB3 aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKysjIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKysjCisrIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQorKyMgaW5jbHVkZWQgaW4gYWxs IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisrIworKyMg VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsCisrIyBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YKKysjIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5ECisrIyBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNI QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFCisrIyBMSUFCTEUgRk9SIEFO WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O CisrIyBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G IE9SIElOIENPTk5FQ1RJT04KKysjIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RI RVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorKworKyJlbiI6CisrICBuYW1lOiBFbmdsaXNo CisrICBuYXRpdmU6IEVuZ2xpc2gKKysgIGZlYXR1cmU6IEZlYXR1cmUKKysgIGJhY2tncm91bmQ6 IEJhY2tncm91bmQKKysgIHNjZW5hcmlvOiBTY2VuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTog U2NlbmFyaW8gT3V0bGluZXxTY2VuYXJpbyBUZW1wbGF0ZQorKyAgZXhhbXBsZXM6IEV4YW1wbGVz fFNjZW5hcmlvcworKyAgZ2l2ZW46ICIqfEdpdmVuIgorKyAgd2hlbjogIip8V2hlbiIKKysgIHRo ZW46ICIqfFRoZW4iCisrICBhbmQ6ICIqfEFuZCIKKysgIGJ1dDogIip8QnV0IgorKworKyMgUGxl YXNlIGtlZXAgdGhlIGdyYW1tYXJzIGluIGFscGhhYmV0aWNhbCBvcmRlciBieSBuYW1lIGZyb20g aGVyZSBhbmQgZG93bi4KKysKKysiYXIiOgorKyAgbmFtZTogQXJhYmljCisrICBuYXRpdmU6INin 2YTYudix2KjZitipCisrICBmZWF0dXJlOiDYrtin2LXZitipCisrICBiYWNrZ3JvdW5kOiDYp9mE 2K7ZhNmB2YrYqQorKyAgc2NlbmFyaW86INiz2YrZhtin2LHZitmICisrICBzY2VuYXJpb19vdXRs aW5lOiDYs9mK2YbYp9ix2YrZiCDZhdiu2LfYtworKyAgZXhhbXBsZXM6INin2YXYq9mE2KkKKysg IGdpdmVuOiAiKnzYqNmB2LHYtiIKKysgIHdoZW46ICIqfNmF2KrZiXzYudmG2K/ZhdinIgorKyAg dGhlbjogIip82KfYsNin2Yt82KvZhSIKKysgIGFuZDogIip82YgiCisrICBidXQ6ICIqfNmE2YPZ hiIKKysiYmciOgorKyAgbmFtZTogQnVsZ2FyaWFuCisrICBuYXRpdmU6INCx0YrQu9Cz0LDRgNGB 0LrQuAorKyAgZmVhdHVyZTog0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHRggorKyAgYmFja2dy b3VuZDog0J/RgNC10LTQuNGB0YLQvtGA0LjRjworKyAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC4 0LkKKysgIHNjZW5hcmlvX291dGxpbmU6INCg0LDQvNC60LAg0L3QsCDRgdGG0LXQvdCw0YDQuNC5 CisrICBleGFtcGxlczog0J/RgNC40LzQtdGA0LgKKysgIGdpdmVuOiAiKnzQlNCw0LTQtdC90L4i CisrICB3aGVuOiAiKnzQmtC+0LPQsNGC0L4iCisrICB0aGVuOiAiKnzQotC+IgorKyAgYW5kOiAi KnzQmCIKKysgIGJ1dDogIip80J3QviIKKysiY2EiOgorKyAgbmFtZTogQ2F0YWxhbgorKyAgbmF0 aXZlOiBjYXRhbMOgCisrICBiYWNrZ3JvdW5kOiBSZXJlZm9uc3xBbnRlY2VkZW50cworKyAgZmVh dHVyZTogQ2FyYWN0ZXLDrXN0aWNhfEZ1bmNpb25hbGl0YXQKKysgIHNjZW5hcmlvOiBFc2NlbmFy aQorKyAgc2NlbmFyaW9fb3V0bGluZTogRXNxdWVtYSBkZSBsJ2VzY2VuYXJpCisrICBleGFtcGxl czogRXhlbXBsZXMKKysgIGdpdmVuOiAiKnxEb25hdHxEb25hZGF8QXTDqHN8QXRlc2EiCisrICB3 aGVuOiAiKnxRdWFuIgorKyAgdGhlbjogIip8QWxlc2hvcmVzfENhbCIKKysgIGFuZDogIip8SSIK KysgIGJ1dDogIip8UGVyw7IiCisrImN5LUdCIjoKKysgIG5hbWU6IFdlbHNoCisrICBuYXRpdmU6 IEN5bXJhZWcKKysgIGJhY2tncm91bmQ6IENlZm5kaXIKKysgIGZlYXR1cmU6IEFyd2VkZAorKyAg c2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuYXJpbyBBbWxpbmVs bG9sCisrICBleGFtcGxlczogRW5naHJlaWZmdGlhdQorKyAgZ2l2ZW46ICIqfEFucmhlZ2VkaWcg YSIKKysgIHdoZW46ICIqfFByeWQiCisrICB0aGVuOiAiKnxZbmEiCisrICBhbmQ6ICIqfEEiCisr ICBidXQ6ICIqfE9uZCIKKysiY3MiOgorKyAgbmFtZTogQ3plY2gKKysgIG5hdGl2ZTogxIxlc2t5 CisrICBmZWF0dXJlOiBQb8W+YWRhdmVrCisrICBiYWNrZ3JvdW5kOiBQb3phZMOtfEtvbnRleHQK KysgIHNjZW5hcmlvOiBTY8OpbsOhxZkKKysgIHNjZW5hcmlvX291dGxpbmU6IE7DocSNcnQgU2PD qW7DocWZZXxPc25vdmEgc2PDqW7DocWZZQorKyAgZXhhbXBsZXM6IFDFmcOta2xhZHkKKysgIGdp dmVuOiAiKnxQb2t1ZHxaYSBwxZllZHBva2xhZHUiCisrICB3aGVuOiAiKnxLZHnFviIKKysgIHRo ZW46ICIqfFBhayIKKysgIGFuZDogIip8QXxBIHRha8OpIgorKyAgYnV0OiAiKnxBbGUiCisrImRh IjoKKysgIG5hbWU6IERhbmlzaAorKyAgbmF0aXZlOiBkYW5zaworKyAgZmVhdHVyZTogRWdlbnNr YWIKKysgIGJhY2tncm91bmQ6IEJhZ2dydW5kCisrICBzY2VuYXJpbzogU2NlbmFyaWUKKysgIHNj ZW5hcmlvX291dGxpbmU6IEFic3RyYWt0IFNjZW5hcmlvCisrICBleGFtcGxlczogRWtzZW1wbGVy CisrICBnaXZlbjogIip8R2l2ZXQiCisrICB3aGVuOiAiKnxOw6VyIgorKyAgdGhlbjogIip8U8Ol IgorKyAgYW5kOiAiKnxPZyIKKysgIGJ1dDogIip8TWVuIgorKyJkZSI6CisrICBuYW1lOiBHZXJt YW4KKysgIG5hdGl2ZTogRGV1dHNjaAorKyAgZmVhdHVyZTogRnVua3Rpb25hbGl0w6R0CisrICBi YWNrZ3JvdW5kOiBHcnVuZGxhZ2UKKysgIHNjZW5hcmlvOiBTemVuYXJpbworKyAgc2NlbmFyaW9f b3V0bGluZTogU3plbmFyaW9ncnVuZHJpc3MKKysgIGV4YW1wbGVzOiBCZWlzcGllbGUKKysgIGdp dmVuOiAiKnxBbmdlbm9tbWVufEdlZ2ViZW4gc2VpIgorKyAgd2hlbjogIip8V2VubiIKKysgIHRo ZW46ICIqfERhbm4iCisrICBhbmQ6ICIqfFVuZCIKKysgIGJ1dDogIip8QWJlciIKKysiZW4tYXUi OgorKyAgbmFtZTogQXVzdHJhbGlhbgorKyAgbmF0aXZlOiBBdXN0cmFsaWFuCisrICBmZWF0dXJl OiBDcmlrZXkKKysgIGJhY2tncm91bmQ6IEJhY2tncm91bmQKKysgIHNjZW5hcmlvOiBNYXRlCisr ICBzY2VuYXJpb19vdXRsaW5lOiBCbG9rZXMKKysgIGV4YW1wbGVzOiBDb2JiZXIKKysgIGdpdmVu OiAiKnxZYSBrbm93IGhvdyIKKysgIHdoZW46ICIqfFdoZW4iCisrICB0aGVuOiAiKnxZYSBnb3R0 YSIKKysgIGFuZDogIip8TiIKKysgIGJ1dDogIip8Q2VwdCIKKysiZW4tbG9sIjoKKysgIG5hbWU6 IExPTENBVAorKyAgbmF0aXZlOiBMT0xDQVQKKysgIGZlYXR1cmU6IE9IIEhBSQorKyAgYmFja2dy b3VuZDogQjQKKysgIHNjZW5hcmlvOiBNSVNIVU4KKysgIHNjZW5hcmlvX291dGxpbmU6IE1JU0hV TiBTUlNMWQorKyAgZXhhbXBsZXM6IEVYQU1QTFoKKysgIGdpdmVuOiAiKnxJIENBTiBIQVoiCisr ICB3aGVuOiAiKnxXRU4iCisrICB0aGVuOiAiKnxERU4iCisrICBhbmQ6ICIqfEFOIgorKyAgYnV0 OiAiKnxCVVQiCisrImVuLXBpcmF0ZSI6CisrICBuYW1lOiBQaXJhdGUKKysgIG5hdGl2ZTogUGly YXRlCisrICBmZWF0dXJlOiBBaG95IG1hdGV5IQorKyAgYmFja2dyb3VuZDogWW8taG8taG8KKysg IHNjZW5hcmlvOiBIZWF2ZSB0bworKyAgc2NlbmFyaW9fb3V0bGluZTogU2hpdmVyIG1lIHRpbWJl cnMKKysgIGV4YW1wbGVzOiBEZWFkIG1lbiB0ZWxsIG5vIHRhbGVzCisrICBnaXZlbjogIip8R2Fu Z3dheSEiCisrICB3aGVuOiAiKnxCbGltZXkhIgorKyAgdGhlbjogIip8TGV0IGdvIGFuZCBoYXVs IgorKyAgYW5kOiAiKnxBeWUiCisrICBidXQ6ICIqfEF2YXN0ISIKKysiZW4tU2NvdXNlIjoKKysg IG5hbWU6IFNjb3VzZQorKyAgbmF0aXZlOiBTY291c2UKKysgIGZlYXR1cmU6IEZlYXR1cmUKKysg IGJhY2tncm91bmQ6ICJEaXMgaXMgd2hhdCB3ZW50IGRvd24iCisrICBzY2VuYXJpbzogIlRoZSB0 aGluZyBvZiBpdCBpcyIKKysgIHNjZW5hcmlvX291dGxpbmU6ICJXaGFycmltZWFuIGlzIgorKyAg ZXhhbXBsZXM6IEV4YW1wbGVzCisrICBnaXZlbjogIip8R2l2dW58WW91c2Uga25vdyB3aGVuIHlv dXNlIGdvdCIKKysgIHdoZW46ICIqfFd1bnxZb3VzZSBrbm93IGxpa2Ugd2hlbiIKKysgIHRoZW46 ICIqfER1bnxEZW4geW91c2UgZ290dGEiCisrICBhbmQ6ICIqfEFuIgorKyAgYnV0OiAiKnxCdWgi CisrImVuLXR4IjoKKysgIG5hbWU6IFRleGFuCisrICBuYXRpdmU6IFRleGFuCisrICBmZWF0dXJl OiBGZWF0dXJlCisrICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kCisrICBzY2VuYXJpbzogU2NlbmFy aW8KKysgIHNjZW5hcmlvX291dGxpbmU6IEFsbCB5J2FsbAorKyAgZXhhbXBsZXM6IEV4YW1wbGVz CisrICBnaXZlbjogIip8R2l2ZW4geSdhbGwiCisrICB3aGVuOiAiKnxXaGVuIHknYWxsIgorKyAg dGhlbjogIip8VGhlbiB5J2FsbCIKKysgIGFuZDogIip8QW5kIHknYWxsIgorKyAgYnV0OiAiKnxC dXQgeSdhbGwiCisrImVvIjoKKysgIG5hbWU6IEVzcGVyYW50bworKyAgbmF0aXZlOiBFc3BlcmFu dG8KKysgIGZlYXR1cmU6IFRyYWp0bworKyAgYmFja2dyb3VuZDogRm9ubworKyAgc2NlbmFyaW86 IFNjZW5hcm8KKysgIHNjZW5hcmlvX291dGxpbmU6IEtvbnR1cm8gZGUgbGEgc2NlbmFybworKyAg ZXhhbXBsZXM6IEVremVtcGxvagorKyAgZ2l2ZW46ICIqfERvbml0YcS1byIKKysgIHdoZW46ICIq fFNlIgorKyAgdGhlbjogIip8RG8iCisrICBhbmQ6ICIqfEthaiIKKysgIGJ1dDogIip8U2VkIgor KyJlcyI6CisrICBuYW1lOiBTcGFuaXNoCisrICBuYXRpdmU6IGVzcGHDsW9sCisrICBiYWNrZ3Jv dW5kOiBBbnRlY2VkZW50ZXMKKysgIGZlYXR1cmU6IENhcmFjdGVyw61zdGljYQorKyAgc2NlbmFy aW86IEVzY2VuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTogRXNxdWVtYSBkZWwgZXNjZW5hcmlv CisrICBleGFtcGxlczogRWplbXBsb3MKKysgIGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8RGFk YXMiCisrICB3aGVuOiAiKnxDdWFuZG8iCisrICB0aGVuOiAiKnxFbnRvbmNlcyIKKysgIGFuZDog Iip8WSIKKysgIGJ1dDogIip8UGVybyIKKysiZXQiOgorKyAgbmFtZTogRXN0b25pYW4KKysgIG5h dGl2ZTogZWVzdGkga2VlbAorKyAgZmVhdHVyZTogT21hZHVzCisrICBiYWNrZ3JvdW5kOiBUYXVz dAorKyAgc2NlbmFyaW86IFN0c2VuYWFyaXVtCisrICBzY2VuYXJpb19vdXRsaW5lOiBSYWFtc3Rz ZW5hYXJpdW0KKysgIGV4YW1wbGVzOiBKdWh0dW1pZAorKyAgZ2l2ZW46ICIqfEVlbGRhZGVzIgor KyAgd2hlbjogIip8S3VpIgorKyAgdGhlbjogIip8U2lpcyIKKysgIGFuZDogIip8SmEiCisrICBi dXQ6ICIqfEt1aWQiCisrImZpIjoKKysgIG5hbWU6IEZpbm5pc2gKKysgIG5hdGl2ZTogc3VvbWkK KysgIGZlYXR1cmU6IE9taW5haXN1dXMKKysgIGJhY2tncm91bmQ6IFRhdXN0YQorKyAgc2NlbmFy aW86IFRhcGF1cworKyAgc2NlbmFyaW9fb3V0bGluZTogVGFwYXVzYWloaW8KKysgIGV4YW1wbGVz OiBUYXBhdWtzZXQKKysgIGdpdmVuOiAiKnxPbGV0ZXRhYW4iCisrICB3aGVuOiAiKnxLdW4iCisr ICB0aGVuOiAiKnxOaWluIgorKyAgYW5kOiAiKnxKYSIKKysgIGJ1dDogIip8TXV0dGEiCisrImZy IjoKKysgIG5hbWU6IEZyZW5jaAorKyAgbmF0aXZlOiBmcmFuw6dhaXMKKysgIGZlYXR1cmU6IEZv bmN0aW9ubmFsaXTDqQorKyAgYmFja2dyb3VuZDogQ29udGV4dGUKKysgIHNjZW5hcmlvOiBTY8Op bmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFBsYW4gZHUgc2PDqW5hcmlvfFBsYW4gZHUgU2PD qW5hcmlvCisrICBleGFtcGxlczogRXhlbXBsZXMKKysgIGdpdmVuOiAiKnxTb2l0fEV0YW50IGRv bm7DqXxFdGFudCBkb25uw6llfEV0YW50IGRvbm7DqXN8RXRhbnQgZG9ubsOpZXN8w4l0YW50IGRv bm7DqXzDiXRhbnQgZG9ubsOpZXzDiXRhbnQgZG9ubsOpc3zDiXRhbnQgZG9ubsOpZXMiCisrICB3 aGVuOiAiKnxRdWFuZHxMb3JzcXVlfExvcnNxdSc8IgorKyAgdGhlbjogIip8QWxvcnMiCisrICBh bmQ6ICIqfEV0IgorKyAgYnV0OiAiKnxNYWlzIgorKyJnbCI6CisrICBuYW1lOiBHYWxpY2lhbgor KyAgbmF0aXZlOiBnYWxlZ28KKysgIGZlYXR1cmU6IENhcmFjdGVyw61zdGljYQorKyAgYmFja2dy b3VuZDogQ29udGV4dG8KKysgIHNjZW5hcmlvOiBFc2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxp bmU6ICJFc2Jvem8gZG8gZXNjZW5hcmlvIgorKyAgZXhhbXBsZXM6IEV4ZW1wbG9zCisrICBnaXZl bjogIip8RGFkb3xEYWRhfERhZG9zfERhZGFzIgorKyAgd2hlbjogIip8Q2FuZG8iCisrICB0aGVu OiAiKnxFbnTDs258TG9nbyIKKysgIGFuZDogIip8RSIKKysgIGJ1dDogIip8TWFpc3xQZXJvIgor KworKyJoZSI6CisrICBuYW1lOiBIZWJyZXcKKysgIG5hdGl2ZTog16LXkdeo15nXqgorKyAgZmVh dHVyZTog16rXm9eV16DXlAorKyAgYmFja2dyb3VuZDog16jXp9eiCisrICBzY2VuYXJpbzog16rX qNeX15nXqQorKyAgc2NlbmFyaW9fb3V0bGluZTog16rXkdeg15nXqiDXqteo15fXmdepCisrICBl eGFtcGxlczog15PXldeS157XkNeV16oKKysgIGdpdmVuOiAiKnzXkdeU15nXoNeq158iCisrICB3 aGVuOiAiKnzXm9eQ16nXqCIKKysgIHRoZW46ICIqfNeQ15Z815DXlteZIgorKyAgYW5kOiAiKnzX ldeS150iCisrICBidXQ6ICIqfNeQ15HXnCIKKysiaHIiOgorKyAgbmFtZTogQ3JvYXRpYW4KKysg IG5hdGl2ZTogaHJ2YXRza2kKKysgIGZlYXR1cmU6IE9zb2JpbmF8TW9ndcSHbm9zdHxNb2d1Y25v c3QKKysgIGJhY2tncm91bmQ6IFBvemFkaW5hCisrICBzY2VuYXJpbzogU2NlbmFyaWoKKysgIHNj ZW5hcmlvX291dGxpbmU6IFNraWNhfEtvbmNlcHQKKysgIGV4YW1wbGVzOiBQcmltamVyaXxTY2Vu YXJpamkKKysgIGdpdmVuOiAiKnxaYWRhbnxaYWRhbml8WmFkYW5vIgorKyAgd2hlbjogIip8S2Fk YXxLYWQiCisrICB0aGVuOiAiKnxPbmRhIgorKyAgYW5kOiAiKnxJIgorKyAgYnV0OiAiKnxBbGki CisrImh1IjoKKysgIG5hbWU6IEh1bmdhcmlhbgorKyAgbmF0aXZlOiBtYWd5YXIKKysgIGZlYXR1 cmU6IEplbGxlbXrFkQorKyAgYmFja2dyb3VuZDogSMOhdHTDqXIKKysgIHNjZW5hcmlvOiBGb3Jn YXTDs2vDtm55dgorKyAgc2NlbmFyaW9fb3V0bGluZTogRm9yZ2F0w7Nrw7ZueXYgdsOhemxhdAor KyAgZXhhbXBsZXM6IFDDqWxkw6FrCisrICBnaXZlbjogIip8QW1lbm55aWJlbnxBZG90dCIKKysg IHdoZW46ICIqfE1hamR8SGF8QW1pa29yIgorKyAgdGhlbjogIip8QWtrb3IiCisrICBhbmQ6ICIq fMOJcyIKKysgIGJ1dDogIip8RGUiCisrImlkIjoKKysgIG5hbWU6IEluZG9uZXNpYW4KKysgIG5h dGl2ZTogQmFoYXNhIEluZG9uZXNpYQorKyAgZmVhdHVyZTogRml0dXIKKysgIGJhY2tncm91bmQ6 IERhc2FyCisrICBzY2VuYXJpbzogU2tlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNrZW5h cmlvIGtvbnNlcAorKyAgZXhhbXBsZXM6IENvbnRvaAorKyAgZ2l2ZW46ICIqfERlbmdhbiIKKysg IHdoZW46ICIqfEtldGlrYSIKKysgIHRoZW46ICIqfE1ha2EiCisrICBhbmQ6ICIqfERhbiIKKysg IGJ1dDogIip8VGFwaSIKKysiaXMiOgorKyAgbmFtZTogSWNlbGFuZGljCisrICBuYXRpdmU6IMON c2xlbnNrYQorKyAgZmVhdHVyZTogRWlnaW5sZWlraQorKyAgYmFja2dyb3VuZDogQmFrZ3J1bm51 cgorKyAgc2NlbmFyaW86IEF0YnVyw7BhcsOhcworKyAgc2NlbmFyaW9fb3V0bGluZTogTMO9c2lu ZyBBdGJ1csOwYXLDoXNhcnxMw71zaW5nIETDpm1hCisrICBleGFtcGxlczogRMOmbWl8QXRidXLD sGFyw6FzaXIKKysgIGdpdmVuOiAiKnxFZiIKKysgIHdoZW46ICIqfMOeZWdhciIKKysgIHRoZW46 ICIqfMOew6EiCisrICBhbmQ6ICIqfE9nIgorKyAgYnV0OiAiKnxFbiIKKysiaXQiOgorKyAgbmFt ZTogSXRhbGlhbgorKyAgbmF0aXZlOiBpdGFsaWFubworKyAgZmVhdHVyZTogRnVuemlvbmFsaXTD oAorKyAgYmFja2dyb3VuZDogQ29udGVzdG8KKysgIHNjZW5hcmlvOiBTY2VuYXJpbworKyAgc2Nl bmFyaW9fb3V0bGluZTogU2NoZW1hIGRlbGxvIHNjZW5hcmlvCisrICBleGFtcGxlczogRXNlbXBp CisrICBnaXZlbjogIip8RGF0b3xEYXRhfERhdGl8RGF0ZSIKKysgIHdoZW46ICIqfFF1YW5kbyIK KysgIHRoZW46ICIqfEFsbG9yYSIKKysgIGFuZDogIip8RSIKKysgIGJ1dDogIip8TWEiCisrImph IjoKKysgIG5hbWU6IEphcGFuZXNlCisrICBuYXRpdmU6IOaXpeacrOiqngorKyAgZmVhdHVyZTog 44OV44Kj44O844OB44OjfOapn+iDvQorKyAgYmFja2dyb3VuZDog6IOM5pmvCisrICBzY2VuYXJp bzog44K344OK44Oq44KqCisrICBzY2VuYXJpb19vdXRsaW5lOiDjgrfjg4rjg6rjgqrjgqLjgqbj g4jjg6njgqTjg7N844K344OK44Oq44Kq44OG44Oz44OX44Os44O844OIfOODhuODs+ODl+ODrHzj grfjg4rjg6rjgqrjg4bjg7Pjg5fjg6wKKysgIGV4YW1wbGVzOiDkvot844K144Oz44OX44OrCisr ICBnaXZlbjogIip85YmN5o+QPCIKKysgIHdoZW46ICIqfOOCguOBlzwiCisrICB0aGVuOiAiKnzj garjgonjgbA8IgorKyAgYW5kOiAiKnzjgYvjgaQ8IgorKyAgYnV0OiAiKnzjgZfjgYvjgZc8fOS9 huOBlzx844Gf44Gg44GXPCIKKysia28iOgorKyAgbmFtZTogS29yZWFuCisrICBuYXRpdmU6IO2V nOq1reyWtAorKyAgYmFja2dyb3VuZDog67Cw6rK9CisrICBmZWF0dXJlOiDquLDriqUKKysgIHNj ZW5hcmlvOiDsi5zrgpjrpqzsmKQKKysgIHNjZW5hcmlvX291dGxpbmU6IOyLnOuCmOumrOyYpCDq sJzsmpQKKysgIGV4YW1wbGVzOiDsmIgKKysgIGdpdmVuOiAiKnzsobDqsbQ8fOuovOyggDwiCisr ICB3aGVuOiAiKnzrp4zsnbw8fOunjOyVvTwiCisrICB0aGVuOiAiKnzqt7jrn6zrqbQ8IgorKyAg YW5kOiAiKnzqt7jrpqzqs6A8IgorKyAgYnV0OiAiKnztlZjsp4Drp4w8fOuLqDwiCisrImx0IjoK KysgIG5hbWU6IExpdGh1YW5pYW4KKysgIG5hdGl2ZTogbGlldHV2acWzIGthbGJhCisrICBmZWF0 dXJlOiBTYXZ5YsSXCisrICBiYWNrZ3JvdW5kOiBLb250ZWtzdGFzCisrICBzY2VuYXJpbzogU2Nl bmFyaWp1cworKyAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFyaWphdXMgxaFhYmxvbmFzCisrICBl eGFtcGxlczogUGF2eXpkxb5pYWl8U2NlbmFyaWphaXxWYXJpYW50YWkKKysgIGdpdmVuOiAiKnxE dW90YSIKKysgIHdoZW46ICIqfEthaSIKKysgIHRoZW46ICIqfFRhZGEiCisrICBhbmQ6ICIqfEly IgorKyAgYnV0OiAiKnxCZXQiCisrImx1IjoKKysgIG5hbWU6IEx1eGVtYnVyZ2lzaAorKyAgbmF0 aXZlOiBMw6t0emVidWVyZ2VzY2gKKysgIGZlYXR1cmU6IEZ1bmt0aW9uYWxpdMOpaXQKKysgIGJh Y2tncm91bmQ6IEhhbm5lcmdyb25kCisrICBzY2VuYXJpbzogU3plbmFyaW8KKysgIHNjZW5hcmlv X291dGxpbmU6IFBsYW5nIHZ1bSBTemVuYXJpbworKyAgZXhhbXBsZXM6IEJlaXNwaWxsZXIKKysg IGdpdmVuOiAiKnx1Z2Vob2xsIgorKyAgd2hlbjogIip8d2FubiIKKysgIHRoZW46ICIqfGRhbm4i CisrICBhbmQ6ICIqfGFufGEiCisrICBidXQ6ICIqfGF3ZXJ8bcOkIgorKyJsdiI6CisrICBuYW1l OiBMYXR2aWFuCisrICBuYXRpdmU6IGxhdHZpZcWhdQorKyAgZmVhdHVyZTogRnVua2Npb25hbGl0 xIF0ZXxGxKvEjWEKKysgIGJhY2tncm91bmQ6IEtvbnRla3N0c3xTaXR1xIFjaWphCisrICBzY2Vu YXJpbzogU2NlbsSBcmlqcworKyAgc2NlbmFyaW9fb3V0bGluZTogU2NlbsSBcmlqcyBwxJNjIHBh cmF1Z2EKKysgIGV4YW1wbGVzOiBQaWVtxJNyaXxQYXJhdWdzCisrICBnaXZlbjogIip8S2FkIgor KyAgd2hlbjogIip8SmEiCisrICB0aGVuOiAiKnxUYWQiCisrICBhbmQ6ICIqfFVuIgorKyAgYnV0 OiAiKnxCZXQiCisrIm5sIjoKKysgIG5hbWU6IER1dGNoCisrICBuYXRpdmU6IE5lZGVybGFuZHMK KysgIGZlYXR1cmU6IEZ1bmN0aW9uYWxpdGVpdAorKyAgYmFja2dyb3VuZDogQWNodGVyZ3JvbmQK KysgIHNjZW5hcmlvOiBTY2VuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTogQWJzdHJhY3QgU2Nl bmFyaW8KKysgIGV4YW1wbGVzOiBWb29yYmVlbGRlbgorKyAgZ2l2ZW46ICIqfEdlZ2V2ZW58U3Rl bCIKKysgIHdoZW46ICIqfEFscyIKKysgIHRoZW46ICIqfERhbiIKKysgIGFuZDogIip8RW4iCisr ICBidXQ6ICIqfE1hYXIiCisrIm5vIjoKKysgIG5hbWU6IE5vcndlZ2lhbgorKyAgbmF0aXZlOiBu b3JzaworKyAgZmVhdHVyZTogRWdlbnNrYXAKKysgIGJhY2tncm91bmQ6IEJha2dydW5uCisrICBz Y2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNjZW5hcmlvbWFsfEFic3Ry YWt0IFNjZW5hcmlvCisrICBleGFtcGxlczogRWtzZW1wbGVyCisrICBnaXZlbjogIip8R2l0dCIK KysgIHdoZW46ICIqfE7DpXIiCisrICB0aGVuOiAiKnxTw6UiCisrICBhbmQ6ICIqfE9nIgorKyAg YnV0OiAiKnxNZW4iCisrInBsIjoKKysgIG5hbWU6IFBvbGlzaAorKyAgbmF0aXZlOiBwb2xza2kK KysgIGZlYXR1cmU6IFfFgmHFm2Npd2/Fm8SHCisrICBiYWNrZ3JvdW5kOiBaYcWCb8W8ZW5pYQor KyAgc2NlbmFyaW86IFNjZW5hcml1c3oKKysgIHNjZW5hcmlvX291dGxpbmU6IFN6YWJsb24gc2Nl bmFyaXVzemEKKysgIGV4YW1wbGVzOiBQcnp5a8WCYWR5CisrICBnaXZlbjogIip8WmFrxYJhZGFq xIVjfE1hasSFYyIKKysgIHdoZW46ICIqfEplxbxlbGl8SmXFm2xpIgorKyAgdGhlbjogIip8V3Rl ZHkiCisrICBhbmQ6ICIqfE9yYXp8SSIKKysgIGJ1dDogIip8QWxlIgorKyJwdCI6CisrICBuYW1l OiBQb3J0dWd1ZXNlCisrICBuYXRpdmU6IHBvcnR1Z3XDqnMKKysgIGJhY2tncm91bmQ6IENvbnRl eHRvCisrICBmZWF0dXJlOiBGdW5jaW9uYWxpZGFkZQorKyAgc2NlbmFyaW86IENlbsOhcmlvfENl bmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IEVzcXVlbWEgZG8gQ2Vuw6FyaW98RXNxdWVtYSBk byBDZW5hcmlvCisrICBleGFtcGxlczogRXhlbXBsb3MKKysgIGdpdmVuOiAiKnxEYWRvfERhZGF8 RGFkb3N8RGFkYXMiCisrICB3aGVuOiAiKnxRdWFuZG8iCisrICB0aGVuOiAiKnxFbnTDo298RW50 YW8iCisrICBhbmQ6ICIqfEUiCisrICBidXQ6ICIqfE1hcyIKKysicm8iOgorKyAgbmFtZTogUm9t YW5pYW4KKysgIG5hdGl2ZTogcm9tw6JuxIMKKysgIGJhY2tncm91bmQ6IENvbnRleHQKKysgIGZl YXR1cmU6IEZ1bmN0aW9uYWxpdGF0ZXxGdW5jyJtpb25hbGl0YXRlfEZ1bmPFo2lvbmFsaXRhdGUK KysgIHNjZW5hcmlvOiBTY2VuYXJpdQorKyAgc2NlbmFyaW9fb3V0bGluZTogU3RydWN0dXJhIHNj ZW5hcml1fFN0cnVjdHVyxIMgc2NlbmFyaXUKKysgIGV4YW1wbGVzOiBFeGVtcGxlCisrICBnaXZl bjogIip8RGF0ZSBmaWluZHxEYXQgZmlpbmR8RGF0aSBmaWluZHxEYcibaSBmaWluZHxEYcWjaSBm aWluZCIKKysgIHdoZW46ICIqfENhbmR8Q8OibmQiCisrICB0aGVuOiAiKnxBdHVuY2kiCisrICBh bmQ6ICIqfFNpfMiYaXzFnmkiCisrICBidXQ6ICIqfERhciIKKysicnUiOgorKyAgbmFtZTogUnVz c2lhbgorKyAgbmF0aXZlOiDRgNGD0YHRgdC60LjQuQorKyAgZmVhdHVyZTog0KTRg9C90LrRhtC4 0Y980KTRg9C90LrRhtC40L7QvdCw0Lt80KHQstC+0LnRgdGC0LLQvgorKyAgYmFja2dyb3VuZDog 0J/RgNC10LTRi9GB0YLQvtGA0LjRj3zQmtC+0L3RgtC10LrRgdGCCisrICBzY2VuYXJpbzog0KHR htC10L3QsNGA0LjQuQorKyAgc2NlbmFyaW9fb3V0bGluZTog0KHRgtGA0YPQutGC0YPRgNCwINGB 0YbQtdC90LDRgNC40Y8KKysgIGV4YW1wbGVzOiDQn9GA0LjQvNC10YDRiworKyAgZ2l2ZW46ICIq fNCU0L7Qv9GD0YHRgtC40Lx80JTQsNC90L580J/Rg9GB0YLRjCIKKysgIHdoZW46ICIqfNCV0YHQ u9C4fNCa0L7Qs9C00LAiCisrICB0aGVuOiAiKnzQotC+fNCi0L7Qs9C00LAiCisrICBhbmQ6ICIq fNCYfNCaINGC0L7QvNGDINC20LUiCisrICBidXQ6ICIqfNCd0L580JAiCisrInN2IjoKKysgIG5h bWU6IFN3ZWRpc2gKKysgIG5hdGl2ZTogU3ZlbnNrYQorKyAgZmVhdHVyZTogRWdlbnNrYXAKKysg IGJhY2tncm91bmQ6IEJha2dydW5kCisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlv X291dGxpbmU6IEFic3RyYWt0IFNjZW5hcmlvfFNjZW5hcmlvbWFsbAorKyAgZXhhbXBsZXM6IEV4 ZW1wZWwKKysgIGdpdmVuOiAiKnxHaXZldCIKKysgIHdoZW46ICIqfE7DpHIiCisrICB0aGVuOiAi KnxTw6UiCisrICBhbmQ6ICIqfE9jaCIKKysgIGJ1dDogIip8TWVuIgorKyJzayI6CisrICBuYW1l OiBTbG92YWsKKysgIG5hdGl2ZTogU2xvdmVuc2t5CisrICBmZWF0dXJlOiBQb8W+aWFkYXZrYQor KyAgYmFja2dyb3VuZDogUG96YWRpZQorKyAgc2NlbmFyaW86IFNjZW7DoXIKKysgIHNjZW5hcmlv X291dGxpbmU6IE7DocSNcnQgU2NlbsOhcnUKKysgIGV4YW1wbGVzOiBQcsOta2xhZHkKKysgIGdp dmVuOiAiKnxQb2tpYcS+IgorKyAgd2hlbjogIip8S2XEjyIKKysgIHRoZW46ICIqfFRhayIKKysg IGFuZDogIip8QSIKKysgIGJ1dDogIip8QWxlIgorKyJzci1MYXRuIjoKKysgIG5hbWU6IFNlcmJp YW4gKExhdGluKQorKyAgbmF0aXZlOiBTcnBza2kgKExhdGluaWNhKQorKyAgZmVhdHVyZTogRnVu a2Npb25hbG5vc3R8TW9ndcSHbm9zdHxNb2d1Y25vc3R8T3NvYmluYQorKyAgYmFja2dyb3VuZDog S29udGVrc3R8T3Nub3ZhfFBvemFkaW5hCisrICBzY2VuYXJpbzogU2NlbmFyaW98UHJpbWVyCisr ICBzY2VuYXJpb19vdXRsaW5lOiBTdHJ1a3R1cmEgc2NlbmFyaWphfFNraWNhfEtvbmNlcHQKKysg IGV4YW1wbGVzOiBQcmltZXJpfFNjZW5hcmlqaQorKyAgZ2l2ZW46ICIqfFphZGF0b3xaYWRhdGV8 WmF0YXRpIgorKyAgd2hlbjogIip8S2FkYXxLYWQiCisrICB0aGVuOiAiKnxPbmRhIgorKyAgYW5k OiAiKnxJIgorKyAgYnV0OiAiKnxBbGkiCisrInNyLUN5cmwiOgorKyAgbmFtZTogU2VyYmlhbgor KyAgbmF0aXZlOiDQodGA0L/RgdC60LgKKysgIGZlYXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC7 0L3QvtGB0YJ80JzQvtCz0YPRm9C90L7RgdGCfNCe0YHQvtCx0LjQvdCwCisrICBiYWNrZ3JvdW5k OiDQmtC+0L3RgtC10LrRgdGCfNCe0YHQvdC+0LLQsHzQn9C+0LfQsNC00LjQvdCwCisrICBzY2Vu YXJpbzog0KHRhtC10L3QsNGA0LjQvnzQn9GA0LjQvNC10YAKKysgIHNjZW5hcmlvX291dGxpbmU6 INCh0YLRgNGD0LrRgtGD0YDQsCDRgdGG0LXQvdCw0YDQuNGY0LB80KHQutC40YbQsHzQmtC+0L3R htC10L/RggorKyAgZXhhbXBsZXM6INCf0YDQuNC80LXRgNC4fNCh0YbQtdC90LDRgNC40ZjQuAor KyAgZ2l2ZW46ICIqfNCX0LDQtNCw0YLQvnzQl9Cw0LTQsNGC0LV80JfQsNC00LDRgtC4IgorKyAg d2hlbjogIip80JrQsNC00LB80JrQsNC0IgorKyAgdGhlbjogIip80J7QvdC00LAiCisrICBhbmQ6 ICIqfNCYIgorKyAgYnV0OiAiKnzQkNC70LgiCisrInRyIjoKKysgIG5hbWU6IFR1cmtpc2gKKysg IG5hdGl2ZTogVMO8cmvDp2UKKysgIGZlYXR1cmU6IMOWemVsbGlrCisrICBiYWNrZ3JvdW5kOiBH ZcOnbWnFnworKyAgc2NlbmFyaW86IFNlbmFyeW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNlbmFy eW8gdGFzbGHEn8SxCisrICBleGFtcGxlczogw5ZybmVrbGVyCisrICBnaXZlbjogIip8RGl5ZWxp bSBraSIKKysgIHdoZW46ICIqfEXEn2VyIGtpIgorKyAgdGhlbjogIip8TyB6YW1hbiIKKysgIGFu ZDogIip8VmUiCisrICBidXQ6ICIqfEZha2F0fEFtYSIKKysidWsiOgorKyAgbmFtZTogVWtyYWlu aWFuCisrICBuYXRpdmU6INCj0LrRgNCw0ZfQvdGB0YzQutCwCisrICBmZWF0dXJlOiDQpNGD0L3Q utGG0ZbQvtC90LDQuworKyAgYmFja2dyb3VuZDog0J/QtdGA0LXQtNGD0LzQvtCy0LAKKysgIHNj ZW5hcmlvOiDQodGG0LXQvdCw0YDRltC5CisrICBzY2VuYXJpb19vdXRsaW5lOiDQodGC0YDRg9C6 0YLRg9GA0LAg0YHRhtC10L3QsNGA0ZbRjgorKyAgZXhhbXBsZXM6INCf0YDQuNC60LvQsNC00LgK KysgIGdpdmVuOiAiKnzQn9GA0LjQv9GD0YHRgtC40LzQvnzQn9GA0LjQv9GD0YHRgtC40LzQviwg 0YnQvnzQndC10YXQsNC5fNCU0LDQvdC+IgorKyAgd2hlbjogIip80K/QutGJ0L580JrQvtC70Lgi CisrICB0aGVuOiAiKnzQotC+fNCi0L7QtNGWIgorKyAgYW5kOiAiKnzQhnzQkCDRgtCw0LrQvtC2 fNCi0LAiCisrICBidXQ6ICIqfNCQ0LvQtSIKKysidXoiOgorKyAgbmFtZTogVXpiZWsKKysgIG5h dGl2ZTog0KPQt9Cx0LXQutGH0LAKKysgIGZlYXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC7Cisr ICBiYWNrZ3JvdW5kOiDQotCw0YDQuNGFCisrICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQor KyAgc2NlbmFyaW9fb3V0bGluZTog0KHRhtC10L3QsNGA0LjQuSDRgdGC0YDRg9C60YLRg9GA0LDR gdC4CisrICBleGFtcGxlczog0JzQuNGB0L7Qu9C70LDRgAorKyAgZ2l2ZW46ICIqfNCQ0LPQsNGA IgorKyAgd2hlbjogIip80JDQs9Cw0YAiCisrICB0aGVuOiAiKnzQo9C90LTQsCIKKysgIGFuZDog Iip80JLQsCIKKysgIGJ1dDogIip80JvQtdC60LjQvXzQkdC40YDQvtC6fNCQ0LzQvNC+IgorKyJ2 aSI6CisrICBuYW1lOiBWaWV0bmFtZXNlCisrICBuYXRpdmU6IFRp4bq/bmcgVmnhu4d0CisrICBm ZWF0dXJlOiBUw61uaCBuxINuZworKyAgYmFja2dyb3VuZDogQuG7kWkgY+G6o25oCisrICBzY2Vu YXJpbzogVMOsbmggaHXhu5FuZ3xL4buLY2ggYuG6o24KKysgIHNjZW5hcmlvX291dGxpbmU6IEto dW5nIHTDrG5oIGh14buRbmd8S2h1bmcga+G7i2NoIGLhuqNuCisrICBleGFtcGxlczogROG7ryBs aeG7h3UKKysgIGdpdmVuOiAiKnxCaeG6v3R8Q2hvIgorKyAgd2hlbjogIip8S2hpIgorKyAgdGhl bjogIip8VGjDrCIKKysgIGFuZDogIip8VsOgIgorKyAgYnV0OiAiKnxOaMawbmciCisrInpoLUNO IjoKKysgIG5hbWU6IENoaW5lc2Ugc2ltcGxpZmllZAorKyAgbmF0aXZlOiDnroDkvZPkuK3mlocK KysgIGZlYXR1cmU6IOWKn+iDvQorKyAgYmFja2dyb3VuZDog6IOM5pmvCisrICBzY2VuYXJpbzog 5Zy65pmvCisrICBzY2VuYXJpb19vdXRsaW5lOiDlnLrmma/lpKfnurIKKysgIGV4YW1wbGVzOiDk vovlrZAKKysgIGdpdmVuOiAiKnzlgYflpoI8IgorKyAgd2hlbjogIip85b2TPCIKKysgIHRoZW46 ICIqfOmCo+S5iDwiCisrICBhbmQ6ICIqfOiAjOS4lDwiCisrICBidXQ6ICIqfOS9huaYrzwiCisr InpoLVRXIjoKKysgIG5hbWU6IENoaW5lc2UgdHJhZGl0aW9uYWwKKysgIG5hdGl2ZTog57mB6auU 5Lit5paHCisrICBmZWF0dXJlOiDlip/og70KKysgIGJhY2tncm91bmQ6IOiDjOaZrworKyAgc2Nl bmFyaW86IOWgtOaZr3zliofmnKwKKysgIHNjZW5hcmlvX291dGxpbmU6IOWgtOaZr+Wkp+e2sXzl iofmnKzlpKfntrEKKysgIGV4YW1wbGVzOiDkvovlrZAKKysgIGdpdmVuOiAiKnzlgYfoqK08Igor KyAgd2hlbjogIip855W2PCIKKysgIHRoZW46ICIqfOmCo+m6vDwiCisrICBhbmQ6ICIqfOiAjOS4 lDx85Lim5LiUPCIKKysgIGJ1dDogIip85L2G5pivPCIKK2RpZmYgLS1naXQgYS9iaW4vZ2hlcmtp bi1sYW5ndWFnZXMuanNvbiBiL2Jpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IGQyZDVlOTMuLjAwMDAwMDAKKy0tLSBhL2Jpbi9naGVya2lu LWxhbmd1YWdlcy5qc29uCisrKysgL2Rldi9udWxsCitAQCAtMSwzMTkzICswLDAgQEAKKy17Cist ICAiYWYiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRW4gIgorLSAg ICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQWd0ZXJncm9uZCIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYWFyICIKKy0gICAgXSwKKy0g ICAgImV4YW1wbGVzIjogWworLSAgICAgICJWb29yYmVlbGRlIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAiRnVua3NpZSIsCistICAgICAgIkJlc2lnaGVpZCBCZWhvZWZ0ZSIs CistICAgICAgIlZlcm1vw6siCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJHZWdld2UgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJBZnJpa2FhbnMiLAor LSAgICAibmF0aXZlIjogIkFmcmlrYWFucyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi U2l0dWFzaWUiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNp dHVhc2llIFVpdGVlbnNldHRpbmciCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkRhbiAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIldhbm5lZXIgIgorLSAgICBdCistICB9LAorLSAgImFtIjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgItS11b4gIgorLSAgICBdLAorLSAgICAiYmFja2dy b3VuZCI6IFsKKy0gICAgICAi1L/VuNW21b/VpdaE1b3VvyIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLUstWh1bXWgSAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAi1ZXWgNWr1bbVodWv1bbVpdaAIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAi1ZbVuNaC1bbVr9aB1avVuNW21aHVrNW41oLVqdW11bjWgtW2IiwK Ky0gICAgICAi1YDVodW/1a/VuNaC1anVtdW41oLVtiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgItS01avWgdW41oLWhCAiCistICAgIF0sCistICAgICJu YW1lIjogIkFybWVuaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLVsNWh1bXVpdaA1aXVtiIsCistICAg ICJzY2VuYXJpbyI6IFsKKy0gICAgICAi1Y3WgdWl1bbVodaAIgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICLVjdaB1aXVttWh1oDVqyDVr9Wh1bzVuNaC1oHVvtWh 1oHWhNWoIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLU sdW61aEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLU tdWp1aUgIiwKKy0gICAgICAi1LXWgNWiICIKKy0gICAgXQorLSAgfSwKKy0gICJhciI6IHsKKy0g ICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZiCAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICLYp9mE2K7ZhNmB2YrYqSIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZhNmD2YYgIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgItin2YXYq9mE2KkiCistICAgIF0sCistICAgICJmZWF0dXJlIjog WworLSAgICAgICLYrtin2LXZitipIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAi2KjZgdix2LYgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJBcmFiaWMi LAorLSAgICAibmF0aXZlIjogItin2YTYudix2KjZitipIiwKKy0gICAgInNjZW5hcmlvIjogWwor LSAgICAgICLYs9mK2YbYp9ix2YrZiCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6 IFsKKy0gICAgICAi2LPZitmG2KfYsdmK2Ygg2YXYrti32LciCistICAgIF0sCistICAgICJ0aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgItin2LDYp9mLICIsCistICAgICAgItir2YUgIgor LSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZhdiq2YkgIiwK Ky0gICAgICAi2LnZhtiv2YXYpyAiCistICAgIF0KKy0gIH0sCistICAiYXN0IjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIlkgIiwKKy0gICAgICAiWWEgIgorLSAgICBd LAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQW50ZWNlZGVudGVzIgorLSAgICBdLAor LSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIlBlcnUgIgorLSAgICBdLAorLSAg ICAiZXhhbXBsZXMiOiBbCistICAgICAgIkV4ZW1wbG9zIgorLSAgICBdLAorLSAgICAiZmVhdHVy ZSI6IFsKKy0gICAgICAiQ2FyYXV0ZXLDrXN0aWNhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAiRMOhdSAiLAorLSAgICAgICJEYWRhICIsCistICAgICAg IkRhb3MgIiwKKy0gICAgICAiRGFlcyAiCistICAgIF0sCistICAgICJuYW1lIjogIkFzdHVyaWFu IiwKKy0gICAgIm5hdGl2ZSI6ICJhc3R1cmlhbnUiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIkNhc3UiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkVz Ym96dSBkZWwgY2FzdSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiRW50w7NzICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiQ3VhbmRvICIKKy0gICAgXQorLSAgfSwKKy0gICJheiI6IHsKKy0gICAgImFuZCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJWyZkgIiwKKy0gICAgICAiSMmZbSAiCistICAgIF0sCist ICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJLZcOnbWnFnyIsCistICAgICAgIktvbnRla3N0 IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFtbWEgIiwK Ky0gICAgICAiQW5jYXEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIk7D vG11bsmZbMmZciIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIsOWesmZbGxp ayIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlR1dGFx IGtpICIsCistICAgICAgIlZlcmlsaXIgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJBemVyYmFp amFuaSIsCistICAgICJuYXRpdmUiOiAiQXrJmXJiYXljYW5jYSIsCistICAgICJzY2VuYXJpbyI6 IFsKKy0gICAgICAiU3NlbmFyaSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsK Ky0gICAgICAiU3NlbmFyaW5pbiBzdHJ1a3R1cnUiCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIk8gaGFsZGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLGj2fJmXIgIiwKKy0gICAgICAiTsmZIHZheHQga2kgIgor LSAgICBdCistICB9LAorLSAgImJnIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCist ICAgICAgItCYICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItCf0YDQ tdC00LjRgdGC0L7RgNC40Y8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi0J3QviAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi0J/R gNC40LzQtdGA0LgiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD0L3Q utGG0LjQvtC90LDQu9C90L7RgdGCIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAi0JTQsNC00LXQvdC+ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQnVs Z2FyaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLQsdGK0LvQs9Cw0YDRgdC60LgiLAorLSAgICAic2Nl bmFyaW8iOiBbCistICAgICAgItCh0YbQtdC90LDRgNC40LkiCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgItCg0LDQvNC60LAg0L3QsCDRgdGG0LXQvdCw0YDQuNC5 IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQotC+ICIK Ky0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JrQvtCz0LDR gtC+ICIKKy0gICAgXQorLSAgfSwKKy0gICJibSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJEYW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAg ICAiTGF0YXIgQmVsYWthbmciCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiVGV0YXBpICIsCistICAgICAgIlRhcGkgIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIkNvbnRvaCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIkZ1bmdzaSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkRpYmVyaSAiLAorLSAgICAgICJCYWdpICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiTWFs YXkiLAorLSAgICAibmF0aXZlIjogIkJhaGFzYSBNZWxheXUiLAorLSAgICAic2NlbmFyaW8iOiBb CistICAgICAgIlNlbmFyaW8iLAorLSAgICAgICJTaXR1YXNpIiwKKy0gICAgICAiS2VhZGFhbiIK Ky0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiS2VyYW5na2EgU2Vu YXJpbyIsCistICAgICAgIktlcmFuZ2thIFNpdHVhc2kiLAorLSAgICAgICJLZXJhbmdrYSBLZWFk YWFuIiwKKy0gICAgICAiR2FyaXMgUGFuZHVhbiBTZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYWthICIsCistICAgICAgIktlbXVkaWFuICIK Ky0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQXBhYmlsYSAi CistICAgIF0KKy0gIH0sCistICAiYnMiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiSSAiLAorLSAgICAgICJBICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIlBvemFkaW5hIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIkFsaSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJp bWplcmkiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJLYXJha3RlcmlzdGlr YSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhdG8g IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJCb3NuaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJCb3Nh bnNraSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaWp1IiwKKy0gICAgICAi U2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNj ZW5hcmlqdS1vYnJpcyIsCistICAgICAgIlNjZW5hcmlvLW91dGxpbmUiCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlphdGltICIKKy0gICAgXSwKKy0gICAg IndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS2FkYSAiCistICAgIF0KKy0gIH0sCist ICAiY2EiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSSAiCistICAg IF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJSZXJlZm9ucyIsCistICAgICAgIkFu dGVjZWRlbnRzIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAg IlBlcsOyICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFeGVtcGxlcyIK Ky0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkNhcmFjdGVyw61zdGljYSIsCist ICAgICAgIkZ1bmNpb25hbGl0YXQiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJEb25hdCAiLAorLSAgICAgICJEb25hZGEgIiwKKy0gICAgICAiQXTDqHMg IiwKKy0gICAgICAiQXRlc2EgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJDYXRhbGFuIiwKKy0g ICAgIm5hdGl2ZSI6ICJjYXRhbMOgIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJFc2Nl bmFyaSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiRXNxdWVt YSBkZSBsJ2VzY2VuYXJpIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJBbGVzaG9yZXMgIiwKKy0gICAgICAiQ2FsICIKKy0gICAgXSwKKy0gICAgIndoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAiUXVhbiAiCistICAgIF0KKy0gIH0sCistICAiY3Mi OiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQSB0YWvDqSAiLAorLSAg ICAgICJBICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIlBvemFkw60i LAorLSAgICAgICJLb250ZXh0IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIkFsZSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUMWZ w61rbGFkeSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlBvxb5hZGF2ZWsi CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJQb2t1ZCAi LAorLSAgICAgICJaYSBwxZllZHBva2xhZHUgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJDemVj aCIsCistICAgICJuYXRpdmUiOiAixIxlc2t5IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICJTY8OpbsOhxZkiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg Ik7DocSNcnQgU2PDqW7DocWZZSIsCistICAgICAgIk9zbm92YSBzY8OpbsOhxZllIgorLSAgICBd LAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJQYWsgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLZHnFviAiCistICAgIF0KKy0g IH0sCistICAiY3ktR0IiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi QSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJDZWZuZGlyIgorLSAg ICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIk9uZCAiCistICAgIF0s CistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRW5naHJlaWZmdGlhdSIKKy0gICAgXSwKKy0g ICAgImZlYXR1cmUiOiBbCistICAgICAgIkFyd2VkZCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkFucmhlZ2VkaWcgYSAiCistICAgIF0sCistICAgICJu YW1lIjogIldlbHNoIiwKKy0gICAgIm5hdGl2ZSI6ICJDeW1yYWVnIiwKKy0gICAgInNjZW5hcmlv IjogWworLSAgICAgICJTY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6 IFsKKy0gICAgICAiU2NlbmFyaW8gQW1saW5lbGxvbCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAiWW5hICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiUHJ5ZCAiCistICAgIF0KKy0gIH0sCistICAiZGEiOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiT2cgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAiQmFnZ3J1bmQiCistICAgIF0sCistICAgICJidXQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAiTWVuICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjog WworLSAgICAgICJFa3NlbXBsZXIiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAg ICJFZ2Vuc2thYiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkdpdmV0ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiRGFuaXNoIiwKKy0gICAgIm5hdGl2 ZSI6ICJkYW5zayIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaWUiCistICAg IF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkFic3RyYWt0IFNjZW5hcmlv IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTw6UgIgor LSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJOw6VyICIKKy0g ICAgXQorLSAgfSwKKy0gICJkZSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJVbmQgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiR3J1bmRs YWdlIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFiZXIg IgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkJlaXNwaWVsZSIKKy0gICAg XSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmt0aW9uYWxpdMOkdCIKKy0gICAgXSwK Ky0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFuZ2Vub21tZW4gIiwKKy0g ICAgICAiR2VnZWJlbiBzZWkgIiwKKy0gICAgICAiR2VnZWJlbiBzZWllbiAiCistICAgIF0sCist ICAgICJuYW1lIjogIkdlcm1hbiIsCistICAgICJuYXRpdmUiOiAiRGV1dHNjaCIsCistICAgICJz Y2VuYXJpbyI6IFsKKy0gICAgICAiU3plbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgIlN6ZW5hcmlvZ3J1bmRyaXNzIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYW5uICIKKy0gICAgXSwKKy0gICAgIndoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAiV2VubiAiCistICAgIF0KKy0gIH0sCistICAiZWwi OiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAizprOsc65ICIKKy0gICAg XSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIs6lz4DPjM6yzrHOuM+Bzr8iCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAizpHOu867zqwgIgorLSAg ICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIs6gzrHPgc6xzrTOtc6vzrPOvM6xz4TO sSIsCistICAgICAgIs6jzrXOvc6sz4HOuc6xIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsK Ky0gICAgICAizpTPhc69zrHPhM+Mz4TOt8+EzrEiLAorLSAgICAgICLOm861zrnPhM6/z4XPgc6z zq/OsSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIs6U zrXOtM6/zrzOrc69zr/PhSAiCistICAgIF0sCistICAgICJuYW1lIjogIkdyZWVrIiwKKy0gICAg Im5hdGl2ZSI6ICLOlc67zrvOt869zrnOus6sIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICLOo861zr3OrM+BzrnOvyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAizqDOtc+BzrnOs8+BzrHPhs6uIM6jzrXOvc6xz4HOr86/z4UiLAorLSAgICAgICLOoM61 z4HOr86zz4HOsc68zrzOsSDOo861zr3Osc+Bzq/Ov8+FIgorLSAgICBdLAorLSAgICAidGhlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLOpM+Mz4TOtSAiCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIs6Mz4TOsc69ICIKKy0gICAgXQorLSAgfSwKKy0g ICJlbSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLwn5iCIgorLSAg ICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi8J+SpCIKKy0gICAgXSwKKy0gICAg ImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLwn5iUIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgIvCfk5MiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICLwn5OaIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi8J+YkCIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiRW1vamkiLAorLSAgICAibmF0aXZlIjog IvCfmIAiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIvCfk5UiCistICAgIF0sCistICAg ICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIvCfk5YiCistICAgIF0sCistICAgICJ0aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIvCfmY8iCistICAgIF0sCistICAgICJ3aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIvCfjqwiCistICAgIF0KKy0gIH0sCistICAiZW4iOiB7 CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQW5kICIKKy0gICAgXSwKKy0g ICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkJhY2tncm91bmQiCistICAgIF0sCistICAgICJi dXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQnV0ICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICJFeGFtcGxlcyIsCistICAgICAgIlNjZW5hcmlvcyIKKy0gICAgXSwK Ky0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZlYXR1cmUiLAorLSAgICAgICJCdXNpbmVzcyBO ZWVkIiwKKy0gICAgICAiQWJpbGl0eSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIkdpdmVuICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiRW5nbGlzaCIs CistICAgICJuYXRpdmUiOiAiRW5nbGlzaCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi U2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNj ZW5hcmlvIE91dGxpbmUiLAorLSAgICAgICJTY2VuYXJpbyBUZW1wbGF0ZSIKKy0gICAgXSwKKy0g ICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGhlbiAiCistICAgIF0sCistICAg ICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIldoZW4gIgorLSAgICBdCistICB9LAor LSAgImVuLVNjb3VzZSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJB biAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJEaXMgaXMgd2hhdCB3 ZW50IGRvd24iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi QnVoICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFeGFtcGxlcyIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZlYXR1cmUiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJHaXZ1biAiLAorLSAgICAgICJZb3Vz ZSBrbm93IHdoZW4geW91c2UgZ290ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU2NvdXNlIiwK Ky0gICAgIm5hdGl2ZSI6ICJTY291c2UiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlRo ZSB0aGluZyBvZiBpdCBpcyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAiV2hhcnJpbWVhbiBpcyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiRHVuICIsCistICAgICAgIkRlbiB5b3VzZSBnb3R0YSAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIld1biAiLAorLSAgICAgICJZb3Vz ZSBrbm93IGxpa2Ugd2hlbiAiCistICAgIF0KKy0gIH0sCistICAiZW4tYXUiOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVG9vIHJpZ2h0ICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgIkZpcnN0IG9mZiIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJZZWFoIG5haCAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiWW91J2xsIHdhbm5hIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6 IFsKKy0gICAgICAiUHJldHR5IG11Y2giCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJZJ2tub3cgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJBdXN0cmFs aWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJBdXN0cmFsaWFuIiwKKy0gICAgInNjZW5hcmlvIjogWwor LSAgICAgICJBd3d3LCBsb29rIG1hdGUiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIlJlY2tvbiBpdCdzIGxpa2UiCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIkJ1dCBhdCB0aGUgZW5kIG9mIHRoZSBkYXkgSSByZWNrb24g IgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJJdCdzIGp1 c3QgdW5iZWxpZXZhYmxlICIKKy0gICAgXQorLSAgfSwKKy0gICJlbi1sb2wiOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQU4gIgorLSAgICBdLAorLSAgICAiYmFja2dy b3VuZCI6IFsKKy0gICAgICAiQjQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAiQlVUICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJF WEFNUExaIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiT0ggSEFJIgorLSAg ICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSSBDQU4gSEFaICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiTE9MQ0FUIiwKKy0gICAgIm5hdGl2ZSI6ICJMT0xDQVQi LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIk1JU0hVTiIKKy0gICAgXSwKKy0gICAgInNj ZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiTUlTSFVOIFNSU0xZIgorLSAgICBdLAorLSAgICAi dGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJERU4gIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJXRU4gIgorLSAgICBdCistICB9LAorLSAgImVu LW9sZCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPbmQgIiwKKy0g ICAgICAiNyAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJBZXIiLAor LSAgICAgICLDhnIiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiQWMgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlNlIHRoZSIsCist ICAgICAgIlNlIMO+ZSIsCistICAgICAgIlNlIMOwZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUi OiBbCistICAgICAgIkh3YWV0IiwKKy0gICAgICAiSHfDpnQiCistICAgIF0sCistICAgICJnaXZl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUaHVyaCAiLAorLSAgICAgICLDnnVyaCAiLAor LSAgICAgICLDkHVyaCAiCistICAgIF0sCistICAgICJuYW1lIjogIk9sZCBFbmdsaXNoIiwKKy0g ICAgIm5hdGl2ZSI6ICJFbmdsaXNjIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTd2Ei CistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlN3YSBod2FlciBz d2EiLAorLSAgICAgICJTd2EgaHfDpnIgc3dhIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJUaGEgIiwKKy0gICAgICAiw55hICIsCistICAgICAgIsOQYSAi LAorLSAgICAgICJUaGEgdGhlICIsCistICAgICAgIsOeYSDDvmUgIiwKKy0gICAgICAiw5BhIMOw ZSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRoYSAi LAorLSAgICAgICLDnmEgIiwKKy0gICAgICAiw5BhICIKKy0gICAgXQorLSAgfSwKKy0gICJlbi1w aXJhdGUiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQXllICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIllvLWhvLWhvIgorLSAgICBdLAor LSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkF2YXN0ISAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRGVhZCBtZW4gdGVsbCBubyB0YWxlcyIKKy0gICAg XSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkFob3kgbWF0ZXkhIgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiR2FuZ3dheSEgIgorLSAgICBdLAor LSAgICAibmFtZSI6ICJQaXJhdGUiLAorLSAgICAibmF0aXZlIjogIlBpcmF0ZSIsCistICAgICJz Y2VuYXJpbyI6IFsKKy0gICAgICAiSGVhdmUgdG8iCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgIlNoaXZlciBtZSB0aW1iZXJzIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJMZXQgZ28gYW5kIGhhdWwgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJCbGltZXkhICIKKy0gICAgXQor LSAgfSwKKy0gICJlbyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJL YWogIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiRm9ubyIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTZWQgIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkVremVtcGxvaiIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIlRyYWp0byIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIkRvbml0YcS1byAiLAorLSAgICAgICJLb21lbmNlICIKKy0gICAg XSwKKy0gICAgIm5hbWUiOiAiRXNwZXJhbnRvIiwKKy0gICAgIm5hdGl2ZSI6ICJFc3BlcmFudG8i LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcm8iLAorLSAgICAgICJLYXpvIgor LSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJLb250dXJvIGRlIGxh IHNjZW5hcm8iLAorLSAgICAgICJTa2l6byIsCistICAgICAgIkthem8tc2tpem8iCistICAgIF0s CistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRvICIKKy0gICAgXSwKKy0g ICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiU2UgIgorLSAgICBdCistICB9LAor LSAgImVzIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIlkgIiwKKy0g ICAgICAiRSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJBbnRlY2Vk ZW50ZXMiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiUGVy byAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRWplbXBsb3MiCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJDYXJhY3RlcsOtc3RpY2EiCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYWRvICIsCistICAgICAg IkRhZGEgIiwKKy0gICAgICAiRGFkb3MgIiwKKy0gICAgICAiRGFkYXMgIgorLSAgICBdLAorLSAg ICAibmFtZSI6ICJTcGFuaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJlc3Bhw7FvbCIsCistICAgICJz Y2VuYXJpbyI6IFsKKy0gICAgICAiRXNjZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICJFc3F1ZW1hIGRlbCBlc2NlbmFyaW8iCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkVudG9uY2VzICIKKy0gICAgXSwKKy0g ICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQ3VhbmRvICIKKy0gICAgXQorLSAg fSwKKy0gICJldCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJKYSAi CistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJUYXVzdCIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLdWlkICIKKy0gICAgXSwKKy0g ICAgImV4YW1wbGVzIjogWworLSAgICAgICJKdWh0dW1pZCIKKy0gICAgXSwKKy0gICAgImZlYXR1 cmUiOiBbCistICAgICAgIk9tYWR1cyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIkVlbGRhZGVzICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiRXN0b25p YW4iLAorLSAgICAibmF0aXZlIjogImVlc3RpIGtlZWwiLAorLSAgICAic2NlbmFyaW8iOiBbCist ICAgICAgIlN0c2VuYWFyaXVtIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWwor LSAgICAgICJSYWFtc3RzZW5hYXJpdW0iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIlNpaXMgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJLdWkgIgorLSAgICBdCistICB9LAorLSAgImZhIjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgItmIICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgItiy2YXbjNmG2YciCistICAgIF0sCistICAgICJidXQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi2KfZhdinICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICLZhtmF2YjZhtmHINmH2KciCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICLZiNmQ24zamNqv24wiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLYqNinINmB2LHYtiAiCistICAgIF0sCistICAgICJuYW1lIjogIlBlcnNpYW4i LAorLSAgICAibmF0aXZlIjogItmB2KfYsdiz24wiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgItiz2YbYp9ix24zZiCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAi2KfZhNqv2YjbjCDYs9mG2KfYsduM2YgiCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgItii2Ybar9in2YcgIgorLSAgICBdLAorLSAgICAid2hlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZh9mG2q/Yp9mF24wgIgorLSAgICBdCistICB9LAor LSAgImZpIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkphICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIlRhdXN0YSIKKy0gICAgXSwKKy0g ICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNdXR0YSAiCistICAgIF0sCistICAg ICJleGFtcGxlcyI6IFsKKy0gICAgICAiVGFwYXVrc2V0IgorLSAgICBdLAorLSAgICAiZmVhdHVy ZSI6IFsKKy0gICAgICAiT21pbmFpc3V1cyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIk9sZXRldGFhbiAiCistICAgIF0sCistICAgICJuYW1lIjogIkZp bm5pc2giLAorLSAgICAibmF0aXZlIjogInN1b21pIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJUYXBhdXMiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg IlRhcGF1c2FpaGlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJOaWluICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiS3VuICIKKy0gICAgXQorLSAgfSwKKy0gICJmciI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJFdCBxdWUgIiwKKy0gICAgICAiRXQgcXUnIiwKKy0gICAgICAiRXQg IgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQ29udGV4dGUiCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWFpcyBxdWUgIiwKKy0g ICAgICAiTWFpcyBxdSciLAorLSAgICAgICJNYWlzICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVz IjogWworLSAgICAgICJFeGVtcGxlcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIkZvbmN0aW9ubmFsaXTDqSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIlNvaXQgIiwKKy0gICAgICAiRXRhbnQgZG9ubsOpIHF1ZSAiLAorLSAgICAg ICJFdGFudCBkb25uw6kgcXUnIiwKKy0gICAgICAiRXRhbnQgZG9ubsOpICIsCistICAgICAgIkV0 YW50IGRvbm7DqWUgIiwKKy0gICAgICAiRXRhbnQgZG9ubsOpcyAiLAorLSAgICAgICJFdGFudCBk b25uw6llcyAiLAorLSAgICAgICLDiXRhbnQgZG9ubsOpIHF1ZSAiLAorLSAgICAgICLDiXRhbnQg ZG9ubsOpIHF1JyIsCistICAgICAgIsOJdGFudCBkb25uw6kgIiwKKy0gICAgICAiw4l0YW50IGRv bm7DqWUgIiwKKy0gICAgICAiw4l0YW50IGRvbm7DqXMgIiwKKy0gICAgICAiw4l0YW50IGRvbm7D qWVzICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiRnJlbmNoIiwKKy0gICAgIm5hdGl2ZSI6ICJm cmFuw6dhaXMiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjw6luYXJpbyIKKy0gICAg XSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiUGxhbiBkdSBzY8OpbmFyaW8i LAorLSAgICAgICJQbGFuIGR1IFNjw6luYXJpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiQWxvcnMgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJRdWFuZCAiLAorLSAgICAgICJMb3JzcXVlICIsCistICAgICAg IkxvcnNxdSciCistICAgIF0KKy0gIH0sCistICAiZ2EiOiB7CistICAgICJhbmQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiQWd1cyIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCist ICAgICAgIkPDumxyYSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJBY2giCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiU2FtcGxhw60i CistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJHbsOpIgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQ3VpciBpIGdjw6FzIGdvIiwKKy0g ICAgICAiQ3VpciBpIGdjw6FzIG5hY2giLAorLSAgICAgICJDdWlyIGkgZ2PDoXMgZ3VyIiwKKy0g ICAgICAiQ3VpciBpIGdjw6FzIG7DoXIiCistICAgIF0sCistICAgICJuYW1lIjogIklyaXNoIiwK Ky0gICAgIm5hdGl2ZSI6ICJHYWVpbGdlIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJD w6FzIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJDw6FzIEFj aG9tYWlyIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJB bnNpbiIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTnVh aXIgYSIsCistICAgICAgIk51YWlyIG5hY2giLAorLSAgICAgICJOdWFpciBiYSIsCistICAgICAg Ik51YWlyIG7DoXIiCistICAgIF0KKy0gIH0sCistICAiZ2oiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi4KqF4Kqo4KuHICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgIuCqrOCrh+CqleCql+CrjeCqsOCqvuCqieCqqOCrjeCqoSIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgqqrgqqMgIgorLSAgICBd LAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuCqieCqpuCqvuCqueCqsOCqo+CriyIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuCqsuCqleCrjeCqt+CqoyIsCistICAg ICAgIuCqteCrjeCqr+CqvuCqquCqvuCqsCDgqpzgqrDgq4LgqrAiLAorLSAgICAgICLgqpXgq43g qrfgqq7gqqTgqr4iCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLgqobgqqrgq4fgqrIg4Kqb4KuHICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiR3VqYXJh dGkiLAorLSAgICAibmF0aXZlIjogIuCql+CrgeCqnOCqsOCqvuCqpOCrgCIsCistICAgICJzY2Vu YXJpbyI6IFsKKy0gICAgICAi4Kq44KuN4Kql4Kq/4Kqk4Kq/IgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICLgqqrgqrDgqr/gqqbgq43gqqbgqrbgq43gqq8g4Kqw 4KuC4Kqq4Kqw4KuH4KqW4Kq+IiwKKy0gICAgICAi4Kqq4Kqw4Kq/4Kqm4KuN4Kqm4Kq24KuN4Kqv IOCqouCqvuCqguCqmuCriyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi4Kqq4Kqb4KuAICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAi4KqV4KuN4Kqv4Kq+4Kqw4KuHICIKKy0gICAgXQorLSAgfSwKKy0gICJnbCI6 IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFICIKKy0gICAgXSwKKy0g ICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkNvbnRleHRvIgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgIk1haXMgIiwKKy0gICAgICAiUGVybyAiCistICAg IF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBsb3MiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICJDYXJhY3RlcsOtc3RpY2EiCistICAgIF0sCistICAgICJn aXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYWRvICIsCistICAgICAgIkRhZGEgIiwK Ky0gICAgICAiRGFkb3MgIiwKKy0gICAgICAiRGFkYXMgIgorLSAgICBdLAorLSAgICAibmFtZSI6 ICJHYWxpY2lhbiIsCistICAgICJuYXRpdmUiOiAiZ2FsZWdvIiwKKy0gICAgInNjZW5hcmlvIjog WworLSAgICAgICJFc2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBb CistICAgICAgIkVzYm96byBkbyBlc2NlbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIkVudMOzbiAiLAorLSAgICAgICJMb2dvICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQ2FuZG8gIgorLSAgICBdCist ICB9LAorLSAgImhlIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIteV 15LXnSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLXqNen16IiCist ICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi15DXkdecICIKKy0g ICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLXk9eV15LXnteQ15XXqiIKKy0gICAg XSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIteq15vXldeg15QiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLXkdeU15nXoNeq158gIgorLSAgICBd LAorLSAgICAibmFtZSI6ICJIZWJyZXciLAorLSAgICAibmF0aXZlIjogItei15HXqNeZ16oiLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIteq16jXl9eZ16kiCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIteq15HXoNeZ16og16rXqNeX15nXqSIKKy0gICAg XSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi15DXliAiLAorLSAgICAg ICLXkNeW15kgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLXm9eQ16nXqCAiCistICAgIF0KKy0gIH0sCistICAiaGkiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi4KSU4KSwICIsCistICAgICAgIuCkpOCkpeCkviAiCistICAg IF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLgpKrgpYPgpLfgpY3gpKDgpK3gpYLg pK7gpL8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KSq 4KSwICIsCistICAgICAgIuCkquCksOCkqOCljeCkpOClgSAiLAorLSAgICAgICLgpJXgpL/gpKjg pY3gpKTgpYEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuCkieCkpuCk vuCkueCksOCkoyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuCksOClguCk qiDgpLLgpYfgpJYiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLgpIXgpJfgpLAgIiwKKy0gICAgICAi4KSv4KSm4KS/ICIsCistICAgICAgIuCkmuClguCk guCkleCkvyAiCistICAgIF0sCistICAgICJuYW1lIjogIkhpbmRpIiwKKy0gICAgIm5hdGl2ZSI6 ICLgpLngpL/gpILgpKbgpYAiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuCkquCksOCk v+CkpuClg+CktuCljeCkryIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAi4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvIOCksOClguCkquCksOClh+CkluCkviIKKy0g ICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KSk4KSsICIsCist ICAgICAgIuCkpOCkpuCkviAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuCknOCkrCAiLAorLSAgICAgICLgpJXgpKbgpL4gIgorLSAgICBdCistICB9LAor LSAgImhyIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkkgIgorLSAg ICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiUG96YWRpbmEiCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWxpICIKKy0gICAgXSwKKy0gICAg ImV4YW1wbGVzIjogWworLSAgICAgICJQcmltamVyaSIsCistICAgICAgIlNjZW5hcmlqaSIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIk9zb2JpbmEiLAorLSAgICAgICJNb2d1 xIdub3N0IiwKKy0gICAgICAiTW9ndWNub3N0IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiWmFkYW4gIiwKKy0gICAgICAiWmFkYW5pICIsCistICAgICAg IlphZGFubyAiCistICAgIF0sCistICAgICJuYW1lIjogIkNyb2F0aWFuIiwKKy0gICAgIm5hdGl2 ZSI6ICJocnZhdHNraSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaWoiCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNraWNhIiwKKy0gICAg ICAiS29uY2VwdCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiT25kYSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IkthZGEgIiwKKy0gICAgICAiS2FkICIKKy0gICAgXQorLSAgfSwKKy0gICJodCI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBayAiLAorLSAgICAgICJFcGkgIiwKKy0g ICAgICAiRSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJLb250w6hr cyIsCistICAgICAgIklzdG9yaWsiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAiTWVuICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJF Z3phbnAiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJLYXJha3RlcmlzdGlr IiwKKy0gICAgICAiTWFrIiwKKy0gICAgICAiRm9ua3N5b25hbGl0ZSIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlNpcG96ZSAiLAorLSAgICAgICJTaXBv emUga2UgIiwKKy0gICAgICAiU2lwb3plIEtlICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ3Jl b2xlIiwKKy0gICAgIm5hdGl2ZSI6ICJrcmV5w7JsIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJTZW5hcnlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJQbGFuIHNlbmFyeW8iLAorLSAgICAgICJQbGFuIFNlbmFyeW8iLAorLSAgICAgICJTZW5hcnlv IGRlc2tyaXBzeW9uIiwKKy0gICAgICAiU2VuYXJ5byBEZXNrcmlwc3lvbiIsCistICAgICAgIkR5 YWdyYW0gc2VuYXJ5byIsCistICAgICAgIkR5YWdyYW0gU2VuYXJ5byIKKy0gICAgXSwKKy0gICAg InRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTMOoIHNhIGEgIiwKKy0gICAgICAiTGUg c2EgYSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkzD qCAiLAorLSAgICAgICJMZSAiCistICAgIF0KKy0gIH0sCistICAiaHUiOiB7CistICAgICJhbmQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiw4lzICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgIkjDoXR0w6lyIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAg ICIqICIsCistICAgICAgIkRlICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAg ICJQw6lsZMOhayIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkplbGxlbXrF kSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFtZW5u eWliZW4gIiwKKy0gICAgICAiQWRvdHQgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJIdW5nYXJp YW4iLAorLSAgICAibmF0aXZlIjogIm1hZ3lhciIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAiRm9yZ2F0w7Nrw7ZueXYiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIkZvcmdhdMOza8O2bnl2IHbDoXpsYXQiCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIkFra29yICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiTWFqZCAiLAorLSAgICAgICJIYSAiLAorLSAgICAgICJBbWlr b3IgIgorLSAgICBdCistICB9LAorLSAgImlkIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIq ICIsCistICAgICAgIkRhbiAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAg ICJEYXNhciIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJU YXBpICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJDb250b2giCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGaXR1ciIKKy0gICAgXSwKKy0gICAgImdp dmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRlbmdhbiAiCistICAgIF0sCistICAgICJu YW1lIjogIkluZG9uZXNpYW4iLAorLSAgICAibmF0aXZlIjogIkJhaGFzYSBJbmRvbmVzaWEiLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNrZW5hcmlvIgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTa2VuYXJpbyBrb25zZXAiCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk1ha2EgIgorLSAgICBdLAorLSAgICAi d2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLZXRpa2EgIgorLSAgICBdCistICB9LAor LSAgImlzIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIk9nICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkJha2dydW5udXIiCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRW4gIgorLSAgICBdLAorLSAg ICAiZXhhbXBsZXMiOiBbCistICAgICAgIkTDpm1pIiwKKy0gICAgICAiQXRidXLDsGFyw6FzaXIi CistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJFaWdpbmxlaWtpIgorLSAgICBd LAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRWYgIgorLSAgICBdLAor LSAgICAibmFtZSI6ICJJY2VsYW5kaWMiLAorLSAgICAibmF0aXZlIjogIsONc2xlbnNrYSIsCist ICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiQXRidXLDsGFyw6FzIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJMw71zaW5nIEF0YnVyw7BhcsOhc2FyIiwKKy0g ICAgICAiTMO9c2luZyBEw6ZtYSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiw57DoSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIsOeZWdhciAiCistICAgIF0KKy0gIH0sCistICAiaXQiOiB7CistICAgICJhbmQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiRSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICJDb250ZXN0byIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJNYSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi RXNlbXBpIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVuemlvbmFsaXTD oCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhdG8g IiwKKy0gICAgICAiRGF0YSAiLAorLSAgICAgICJEYXRpICIsCistICAgICAgIkRhdGUgIgorLSAg ICBdLAorLSAgICAibmFtZSI6ICJJdGFsaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJpdGFsaWFubyIs CistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNjaGVtYSBkZWxsbyBzY2VuYXJpbyIKKy0gICAg XSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWxsb3JhICIKKy0gICAg XSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiUXVhbmRvICIKKy0gICAg XQorLSAgfSwKKy0gICJqYSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLjgYvjgaQiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLog4zmma8i CistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi44GX44GL44GX IiwKKy0gICAgICAi5L2G44GXIiwKKy0gICAgICAi44Gf44Gg44GXIgorLSAgICBdLAorLSAgICAi ZXhhbXBsZXMiOiBbCistICAgICAgIuS+iyIsCistICAgICAgIuOCteODs+ODl+ODqyIKKy0gICAg XSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuODleOCo+ODvOODgeODoyIsCistICAgICAg Iuapn+iDvSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAg IuWJjeaPkCIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiSmFwYW5lc2UiLAorLSAgICAibmF0aXZl IjogIuaXpeacrOiqniIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi44K344OK44Oq44Kq IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLjgrfjg4rjg6rj gqrjgqLjgqbjg4jjg6njgqTjg7MiLAorLSAgICAgICLjgrfjg4rjg6rjgqrjg4bjg7Pjg5fjg6zj g7zjg4giLAorLSAgICAgICLjg4bjg7Pjg5fjg6wiLAorLSAgICAgICLjgrfjg4rjg6rjgqrjg4bj g7Pjg5fjg6wiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IuOBquOCieOBsCIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi44KC44GXIgorLSAgICBdCistICB9LAorLSAgImp2IjogeworLSAgICAiYW5kIjogWworLSAg ICAgICIqICIsCistICAgICAgIkxhbiAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICJEYXNhciIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJUYXBpICIsCistICAgICAgIk5hbmdpbmcgIiwKKy0gICAgICAiQW5hbmdpbmcgIgorLSAg ICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkNvbnRvIiwKKy0gICAgICAiQ29udG9u ZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZpdHVyIgorLSAgICBdLAor LSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTmFsaWthICIsCistICAgICAg Ik5hbGlrYW5pbmcgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJKYXZhbmVzZSIsCistICAgICJu YXRpdmUiOiAiQmFzYSBKYXdhIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTa2VuYXJp byIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiS29uc2VwIHNr ZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJO anVrICIsCistICAgICAgIkJhbmp1ciAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIk1hbmF3YSAiLAorLSAgICAgICJNZW5hd2EgIgorLSAgICBdCistICB9 LAorLSAgImthIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuGDk+GD kCIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuGDmeGDneGDnOGDouGD lOGDpeGDoeGDouGDmCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLhg5vhg5Dhg5LCreGDoOGDkOGDmyIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICLhg5vhg5Dhg5Lhg5Dhg5rhg5jhg5fhg5Thg5Hhg5giCistICAgIF0sCistICAgICJm ZWF0dXJlIjogWworLSAgICAgICLhg5fhg5Xhg5jhg6Hhg5Thg5Hhg5AiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLhg5vhg53hg6rhg5Thg5vhg6Phg5rh g5giCistICAgIF0sCistICAgICJuYW1lIjogIkdlb3JnaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLh g6Xhg5Dhg6Dhg5fhg5Xhg5Thg5rhg5giLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuGD oeGDquGDlOGDnOGDkOGDoOGDmOGDoSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6 IFsKKy0gICAgICAi4YOh4YOq4YOU4YOc4YOQ4YOg4YOY4YOhIOGDnOGDmOGDm+GDo+GDqOGDmCIK Ky0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4YOb4YOQ4YOo 4YOY4YOcIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLh g6Dhg53hg5Phg5Thg6Hhg5Dhg6oiCistICAgIF0KKy0gIH0sCistICAia24iOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LKu4LKk4LON4LKk4LOBICIKKy0gICAgXSwK Ky0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuCyueCyv+CyqOCzjeCyqOCzhuCysuCzhiIK Ky0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgsobgsqbgsrDg s4YgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuCyieCypuCyvuCyueCy sOCyo+CzhuCyl+Cys+CzgSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuCy ueCzhuCymuCzjeCymuCysyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuCyqOCyv+CzleCyoeCyv+CypiAiCistICAgIF0sCistICAgICJuYW1lIjogIkth bm5hZGEiLAorLSAgICAibmF0aXZlIjogIuCyleCyqOCzjeCyqOCyoSIsCistICAgICJzY2VuYXJp byI6IFsKKy0gICAgICAi4LKV4LKl4LK+4LK44LK+4LKw4LK+4LKC4LK2IgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLgsrXgsr/gsrXgsrDgsqPgs4YiCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCyqOCyguCypOCysCAi CistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCyuOCzjeCy peCyv+CypOCyv+Cyr+CyqOCzjeCyqOCzgSAiCistICAgIF0KKy0gIH0sCistICAia28iOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi6re466as6rOgIgorLSAgICBdLAor LSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi67Cw6rK9IgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgIu2VmOyngOunjCIsCistICAgICAgIuuLqCIKKy0g ICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLsmIgiCistICAgIF0sCistICAgICJm ZWF0dXJlIjogWworLSAgICAgICLquLDriqUiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLsobDqsbQiLAorLSAgICAgICLrqLzsoIAiCistICAgIF0sCist ICAgICJuYW1lIjogIktvcmVhbiIsCistICAgICJuYXRpdmUiOiAi7ZWc6rWt7Ja0IiwKKy0gICAg InNjZW5hcmlvIjogWworLSAgICAgICLsi5zrgpjrpqzsmKQiCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgIuyLnOuCmOumrOyYpCDqsJzsmpQiCistICAgIF0sCist ICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuq3uOufrOuptCIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi66eM7J28IiwKKy0gICAgICAi 66eM7JW9IgorLSAgICBdCistICB9LAorLSAgImx0IjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgIklyICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAg ICAgIktvbnRla3N0YXMiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiQmV0ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJQYXZ5emTF vmlhaSIsCistICAgICAgIlNjZW5hcmlqYWkiLAorLSAgICAgICJWYXJpYW50YWkiCistICAgIF0s CistICAgICJmZWF0dXJlIjogWworLSAgICAgICJTYXZ5YsSXIgorLSAgICBdLAorLSAgICAiZ2l2 ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRHVvdGEgIgorLSAgICBdLAorLSAgICAibmFt ZSI6ICJMaXRodWFuaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJsaWV0dXZpxbMga2FsYmEiLAorLSAg ICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlqdXMiCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgIlNjZW5hcmlqYXVzIMWhYWJsb25hcyIKKy0gICAgXSwK Ky0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGFkYSAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkthaSAiCistICAgIF0KKy0gIH0s CistICAibHUiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiYW4gIiwK Ky0gICAgICAiYSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJIYW5u ZXJncm9uZCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJh d2VyICIsCistICAgICAgIm3DpCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAg ICAiQmVpc3BpbGxlciIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmt0 aW9uYWxpdMOpaXQiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJ1Z2Vob2xsICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiTHV4ZW1idXJnaXNoIiwKKy0g ICAgIm5hdGl2ZSI6ICJMw6t0emVidWVyZ2VzY2giLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIlN6ZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJQbGFuZyB2dW0gU3plbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgImRhbm4gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJ3YW5uICIKKy0gICAgXQorLSAgfSwKKy0gICJsdiI6IHsKKy0gICAgImFuZCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJVbiAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICJLb250ZWtzdHMiLAorLSAgICAgICJTaXR1xIFjaWphIgorLSAgICBdLAor LSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkJldCAiCistICAgIF0sCistICAg ICJleGFtcGxlcyI6IFsKKy0gICAgICAiUGllbcSTcmkiLAorLSAgICAgICJQYXJhdWdzIgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua2Npb25hbGl0xIF0ZSIsCistICAg ICAgIkbEq8SNYSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkthZCAiCistICAgIF0sCistICAgICJuYW1lIjogIkxhdHZpYW4iLAorLSAgICAibmF0aXZl IjogImxhdHZpZcWhdSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbsSBcmlqcyIK Ky0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU2NlbsSBcmlqcyBw xJNjIHBhcmF1Z2EiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIlRhZCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IkphICIKKy0gICAgXQorLSAgfSwKKy0gICJtay1DeXJsIjogeworLSAgICAiYW5kIjogWworLSAg ICAgICIqICIsCistICAgICAgItCYICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCist ICAgICAgItCa0L7QvdGC0LXQutGB0YIiLAorLSAgICAgICLQodC+0LTRgNC20LjQvdCwIgorLSAg ICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItCd0L4gIgorLSAgICBd LAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCf0YDQuNC80LXRgNC4IiwKKy0gICAgICAi 0KHRhtC10L3QsNGA0LjRmNCwIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi 0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHRgiIsCistICAgICAgItCR0LjQt9C90LjRgSDQv9C+ 0YLRgNC10LHQsCIsCistICAgICAgItCc0L7QttC90L7RgdGCIgorLSAgICBdLAorLSAgICAiZ2l2 ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JTQsNC00LXQvdC+ICIsCistICAgICAgItCU 0LDQtNC10L3QsCAiCistICAgIF0sCistICAgICJuYW1lIjogIk1hY2Vkb25pYW4iLAorLSAgICAi bmF0aXZlIjogItCc0LDQutC10LTQvtC90YHQutC4IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICLQodGG0LXQvdCw0YDQuNC+IiwKKy0gICAgICAi0J3QsCDQv9GA0LjQvNC10YAiCistICAg IF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItCf0YDQtdCz0LvQtdC0INC9 0LAg0YHRhtC10L3QsNGA0LjRmNCwIiwKKy0gICAgICAi0KHQutC40YbQsCIsCistICAgICAgItCa 0L7QvdGG0LXQv9GCIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLQotC+0LPQsNGIICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi0JrQvtCz0LAgIgorLSAgICBdCistICB9LAorLSAgIm1rLUxhdG4iOiB7CistICAg ICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSSAiCistICAgIF0sCistICAgICJiYWNr Z3JvdW5kIjogWworLSAgICAgICJLb250ZWtzdCIsCistICAgICAgIlNvZHJ6aGluYSIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJObyAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJpbWVyaSIsCistICAgICAgIlNjZW5hcmlhIgor LSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua2Npb25hbG5vc3QiLAorLSAg ICAgICJCaXpuaXMgcG90cmViYSIsCistICAgICAgIk1vemhub3N0IgorLSAgICBdLAorLSAgICAi Z2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFkZW5vICIsCistICAgICAgIkRhZGVu YSAiCistICAgIF0sCistICAgICJuYW1lIjogIk1hY2Vkb25pYW4gKExhdGluKSIsCistICAgICJu YXRpdmUiOiAiTWFrZWRvbnNraSAoTGF0aW5pY2EpIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJTY2VuYXJpbyIsCistICAgICAgIk5hIHByaW1lciIKKy0gICAgXSwKKy0gICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKy0gICAgICAiUHJlZ2xlZCBuYSBzY2VuYXJpamEiLAorLSAgICAgICJT a2ljYSIsCistICAgICAgIktvbmNlcHQiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIlRvZ2FzaCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIktvZ2EgIgorLSAgICBdCistICB9LAorLSAgIm1uIjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCc06nQvSAiLAorLSAgICAgICLQotGN0LPR jdGN0LQgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi0JDQs9GD0YPQ u9Cz0LAiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JPR jdGF0LTRjdGNICIsCistICAgICAgItCl0LDRgNC40L0gIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgItCi0YPRhdCw0LnQu9Cx0LDQuyIKKy0gICAgXSwKKy0gICAgImZlYXR1 cmUiOiBbCistICAgICAgItCk0YPQvdC60YYiLAorLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQ uyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItOo0LPT qdCz0LTRgdOp0L0g0L3RjCAiLAorLSAgICAgICLQkNC90YUgIgorLSAgICBdLAorLSAgICAibmFt ZSI6ICJNb25nb2xpYW4iLAorLSAgICAibmF0aXZlIjogItC80L7QvdCz0L7QuyIsCistICAgICJz Y2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGAIgorLSAgICBdLAorLSAgICAic2NlbmFy aW9PdXRsaW5lIjogWworLSAgICAgICLQodGG0LXQvdCw0YDRi9C9INGC06nQu9Op0LLQu9Op0LPT qdOpIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQotGN 0LPRjdGF0Y3QtCAiLAorLSAgICAgICLSrtKv0L3QuNC5INC00LDRgNCw0LAgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQpdGN0YDRjdCyICIKKy0gICAg XQorLSAgfSwKKy0gICJubCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJFbiAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJBY2h0ZXJncm9u ZCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYWFyICIK Ky0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJWb29yYmVlbGRlbiIKKy0gICAg XSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmN0aW9uYWxpdGVpdCIKKy0gICAgXSwK Ky0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkdlZ2V2ZW4gIiwKKy0gICAg ICAiU3RlbCAiCistICAgIF0sCistICAgICJuYW1lIjogIkR1dGNoIiwKKy0gICAgIm5hdGl2ZSI6 ICJOZWRlcmxhbmRzIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpbyIKKy0g ICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiQWJzdHJhY3QgU2NlbmFy aW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhbiAi CistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFscyAiLAor LSAgICAgICJXYW5uZWVyICIKKy0gICAgXQorLSAgfSwKKy0gICJubyI6IHsKKy0gICAgImFuZCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPZyAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICJCYWtncnVubiIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJNZW4gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAg IkVrc2VtcGxlciIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkVnZW5za2Fw IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiR2l0dCAi CistICAgIF0sCistICAgICJuYW1lIjogIk5vcndlZ2lhbiIsCistICAgICJuYXRpdmUiOiAibm9y c2siLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlvIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTY2VuYXJpb21hbCIsCistICAgICAgIkFi c3RyYWt0IFNjZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJTw6UgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJOw6VyICIKKy0gICAgXQorLSAgfSwKKy0gICJwYSI6IHsKKy0gICAgImFuZCI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLgqIXgqKTgqYcgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAi4Kiq4Ki/4Kib4KmL4KiV4KmcIgorLSAgICBdLAorLSAgICAiYnV0Ijog WworLSAgICAgICIqICIsCistICAgICAgIuCoquCosCAiCistICAgIF0sCistICAgICJleGFtcGxl cyI6IFsKKy0gICAgICAi4KiJ4Kim4Ki+4Ki54Kiw4Kio4Ki+4KiCIgorLSAgICBdLAorLSAgICAi ZmVhdHVyZSI6IFsKKy0gICAgICAi4KiW4Ki+4Ki44KmA4KiF4KikIiwKKy0gICAgICAi4Kiu4KmB 4Ki54Ki+4KiC4Kim4Kiw4Ki+IiwKKy0gICAgICAi4Kio4KiV4Ki2IOCoqOCpgeCoueCovuCosCIK Ky0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuConOCph+Co leCosCAiLAorLSAgICAgICLgqJzgqL/gqLXgqYfgqIIg4KiV4Ki/ICIKKy0gICAgXSwKKy0gICAg Im5hbWUiOiAiUGFuamFiaSIsCistICAgICJuYXRpdmUiOiAi4Kiq4Kmw4Kic4Ki+4Kis4KmAIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLgqKrgqJ/gqJXgqKXgqL4iCistICAgIF0sCist ICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuCoquCon+ColeCopeCoviDgqKLgqL7g qILgqJrgqL4iLAorLSAgICAgICLgqKrgqJ/gqJXgqKXgqL4g4Kiw4KmC4KiqIOCosOCph+ColuCo viIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4Kik4Kim ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4Kic4Kim 4KmL4KiCICIKKy0gICAgXQorLSAgfSwKKy0gICJwbCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJPcmF6ICIsCistICAgICAgIkkgIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAiWmHFgm/FvGVuaWEiCistICAgIF0sCistICAgICJidXQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAiQWxlICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjog WworLSAgICAgICJQcnp5a8WCYWR5IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAg ICAiV8WCYcWbY2l3b8WbxIciLAorLSAgICAgICJGdW5rY2phIiwKKy0gICAgICAiQXNwZWt0IiwK Ky0gICAgICAiUG90cnplYmEgYml6bmVzb3dhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiWmFrxYJhZGFqxIVjICIsCistICAgICAgIk1hasSFYyAiLAor LSAgICAgICJaYWvFgmFkYWrEhWMsIMW8ZSAiCistICAgIF0sCistICAgICJuYW1lIjogIlBvbGlz aCIsCistICAgICJuYXRpdmUiOiAicG9sc2tpIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICJTY2VuYXJpdXN6IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJTemFibG9uIHNjZW5hcml1c3phIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJXdGVkeSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkplxbxlbGkgIiwKKy0gICAgICAiSmXFm2xpICIsCistICAgICAgIkdkeSAi LAorLSAgICAgICJLaWVkeSAiCistICAgIF0KKy0gIH0sCistICAicHQiOiB7CistICAgICJhbmQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiRSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICJDb250ZXh0byIsCistICAgICAgIkNlbsOhcmlvIGRlIEZ1bmRvIiwKKy0g ICAgICAiQ2VuYXJpbyBkZSBGdW5kbyIsCistICAgICAgIkZ1bmRvIgorLSAgICBdLAorLSAgICAi YnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIk1hcyAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiRXhlbXBsb3MiLAorLSAgICAgICJDZW7DoXJpb3MiLAorLSAgICAg ICJDZW5hcmlvcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmNpb25h bGlkYWRlIiwKKy0gICAgICAiQ2FyYWN0ZXLDrXN0aWNhIiwKKy0gICAgICAiQ2FyYWN0ZXJpc3Rp Y2EiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYWRv ICIsCistICAgICAgIkRhZGEgIiwKKy0gICAgICAiRGFkb3MgIiwKKy0gICAgICAiRGFkYXMgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJQb3J0dWd1ZXNlIiwKKy0gICAgIm5hdGl2ZSI6ICJwb3J0 dWd1w6pzIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJDZW7DoXJpbyIsCistICAgICAg IkNlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkVz cXVlbWEgZG8gQ2Vuw6FyaW8iLAorLSAgICAgICJFc3F1ZW1hIGRvIENlbmFyaW8iLAorLSAgICAg ICJEZWxpbmVhw6fDo28gZG8gQ2Vuw6FyaW8iLAorLSAgICAgICJEZWxpbmVhY2FvIGRvIENlbmFy aW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkVudMOj byAiLAorLSAgICAgICJFbnRhbyAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIlF1YW5kbyAiCistICAgIF0KKy0gIH0sCistICAicm8iOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiU2kgIiwKKy0gICAgICAiyJhpICIsCistICAg ICAgIsWeaSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJDb250ZXh0 IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkRhciAiCist ICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBsZSIKKy0gICAgXSwKKy0g ICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmN0aW9uYWxpdGF0ZSIsCistICAgICAgIkZ1bmPI m2lvbmFsaXRhdGUiLAorLSAgICAgICJGdW5jxaNpb25hbGl0YXRlIgorLSAgICBdLAorLSAgICAi Z2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGF0ZSBmaWluZCAiLAorLSAgICAgICJE YXQgZmlpbmQgIiwKKy0gICAgICAiRGF0xIMgZmlpbmQiLAorLSAgICAgICJEYXRpIGZpaW5kICIs CistICAgICAgIkRhyJtpIGZpaW5kICIsCistICAgICAgIkRhxaNpIGZpaW5kICIKKy0gICAgXSwK Ky0gICAgIm5hbWUiOiAiUm9tYW5pYW4iLAorLSAgICAibmF0aXZlIjogInJvbcOibsSDIiwKKy0g ICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpdSIKKy0gICAgXSwKKy0gICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKy0gICAgICAiU3RydWN0dXJhIHNjZW5hcml1IiwKKy0gICAgICAiU3Ry dWN0dXLEgyBzY2VuYXJpdSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiQXR1bmNpICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiQ2FuZCAiLAorLSAgICAgICJDw6JuZCAiCistICAgIF0KKy0gIH0sCistICAicnUi OiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JggIiwKKy0gICAgICAi 0Jog0YLQvtC80YMg0LbQtSAiLAorLSAgICAgICLQotCw0LrQttC1ICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgItCf0YDQtdC00YvRgdGC0L7RgNC40Y8iLAorLSAgICAg ICLQmtC+0L3RgtC10LrRgdGCIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgItCd0L4gIiwKKy0gICAgICAi0JAgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMi OiBbCistICAgICAgItCf0YDQuNC80LXRgNGLIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsK Ky0gICAgICAi0KTRg9C90LrRhtC40Y8iLAorLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQu9GM 0L3QvtGB0YLRjCIsCistICAgICAgItCk0YPQvdC60YbQuNC+0L3QsNC7IiwKKy0gICAgICAi0KHQ stC+0LnRgdGC0LLQviIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCist ICAgICAgItCU0L7Qv9GD0YHRgtC40LwgIiwKKy0gICAgICAi0JTQsNC90L4gIiwKKy0gICAgICAi 0J/Rg9GB0YLRjCAiLAorLSAgICAgICLQldGB0LvQuCAiCistICAgIF0sCistICAgICJuYW1lIjog IlJ1c3NpYW4iLAorLSAgICAibmF0aXZlIjogItGA0YPRgdGB0LrQuNC5IiwKKy0gICAgInNjZW5h cmlvIjogWworLSAgICAgICLQodGG0LXQvdCw0YDQuNC5IgorLSAgICBdLAorLSAgICAic2NlbmFy aW9PdXRsaW5lIjogWworLSAgICAgICLQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0LjR jyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLQviAi LAorLSAgICAgICLQl9Cw0YLQtdC8ICIsCistICAgICAgItCi0L7Qs9C00LAgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQmtC+0LPQtNCwICIKKy0gICAg XQorLSAgfSwKKy0gICJzayI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJBICIsCistICAgICAgIkEgdGllxb4gIiwKKy0gICAgICAiQSB0YWt0aWXFviAiLAorLSAgICAg ICJBIHrDoXJvdmXFiCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJQ b3phZGllIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFs ZSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHLDrWtsYWR5IgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiUG/FvmlhZGF2a2EiLAorLSAgICAgICJG dW5rY2lhIiwKKy0gICAgICAiVmxhc3Rub3PFpSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIlBva2lhxL4gIiwKKy0gICAgICAiWmEgcHJlZHBva2xhZHUg IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJTbG92YWsiLAorLSAgICAibmF0aXZlIjogIlNsb3Zl bnNreSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbsOhciIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiTsOhxI1ydCBTY2Vuw6FydSIsCistICAg ICAgIk7DocSNcnQgU2NlbsOhcmEiLAorLSAgICAgICJPc25vdmEgU2NlbsOhcmEiCistICAgIF0s CistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRhayAiLAorLSAgICAgICJQ b3RvbSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIktl xI8gIiwKKy0gICAgICAiQWsgIgorLSAgICBdCistICB9LAorLSAgInNsIjogeworLSAgICAiYW5k IjogWworLSAgICAgICJJbiAiLAorLSAgICAgICJUZXIgIgorLSAgICBdLAorLSAgICAiYmFja2dy b3VuZCI6IFsKKy0gICAgICAiS29udGVrc3QiLAorLSAgICAgICJPc25vdmEiLAorLSAgICAgICJP emFkamUiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIlRvZGEgIiwKKy0gICAgICAi QW1wYWsgIiwKKy0gICAgICAiVmVuZGFyICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICJQcmltZXJpIiwKKy0gICAgICAiU2NlbmFyaWppIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAiRnVua2Npb25hbG5vc3QiLAorLSAgICAgICJGdW5rY2lqYSIsCist ICAgICAgIk1vxb5ub3N0aSIsCistICAgICAgIk1vem5vc3RpIiwKKy0gICAgICAiTGFzdG5vc3Qi LAorLSAgICAgICJabmHEjWlsbm9zdCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAg ICJEYW5vICIsCistICAgICAgIlBvZGFubyAiLAorLSAgICAgICJaYXJhZGkgIiwKKy0gICAgICAi UHJpdnpldG8gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJTbG92ZW5pYW4iLAorLSAgICAibmF0 aXZlIjogIlNsb3ZlbnNraSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaWoi LAorLSAgICAgICJQcmltZXIiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIlN0cnVrdHVyYSBzY2VuYXJpamEiLAorLSAgICAgICJTa2ljYSIsCistICAgICAgIktv bmNlcHQiLAorLSAgICAgICJPcmlzIHNjZW5hcmlqYSIsCistICAgICAgIk9zbnV0ZWsiCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICJOYXRvICIsCistICAgICAgIlBvdGVtICIsCist ICAgICAgIlRha3JhdCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICJLbyAiLAor LSAgICAgICJDZSAiLAorLSAgICAgICLEjGUgIiwKKy0gICAgICAiS2FkYXIgIgorLSAgICBdCist ICB9LAorLSAgInNyLUN5cmwiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi0JggIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi0JrQvtC90YLQ tdC60YHRgiIsCistICAgICAgItCe0YHQvdC+0LLQsCIsCistICAgICAgItCf0L7Qt9Cw0LTQuNC9 0LAiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JDQu9C4 ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLQn9GA0LjQvNC10YDQuCIs CistICAgICAgItCh0YbQtdC90LDRgNC40ZjQuCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgItCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB0YIiLAorLSAgICAgICLQnNC+0LPR g9Gb0L3QvtGB0YIiLAorLSAgICAgICLQntGB0L7QsdC40L3QsCIKKy0gICAgXSwKKy0gICAgImdp dmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCX0LAg0LTQsNGC0L4gIiwKKy0gICAgICAi 0JfQsCDQtNCw0YLQtSAiLAorLSAgICAgICLQl9CwINC00LDRgtC4ICIKKy0gICAgXSwKKy0gICAg Im5hbWUiOiAiU2VyYmlhbiIsCistICAgICJuYXRpdmUiOiAi0KHRgNC/0YHQutC4IiwKKy0gICAg InNjZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQvdCw0YDQuNC+IiwKKy0gICAgICAi0J/RgNC4 0LzQtdGAIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQodGC 0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0LjRmNCwIiwKKy0gICAgICAi0KHQutC40YbQsCIs CistICAgICAgItCa0L7QvdGG0LXQv9GCIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICLQntC90LTQsCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAg ICAgICIqICIsCistICAgICAgItCa0LDQtNCwICIsCistICAgICAgItCa0LDQtCAiCistICAgIF0K Ky0gIH0sCistICAic3ItTGF0biI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJJICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIktvbnRla3N0 IiwKKy0gICAgICAiT3Nub3ZhIiwKKy0gICAgICAiUG96YWRpbmEiCistICAgIF0sCistICAgICJi dXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWxpICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICJQcmltZXJpIiwKKy0gICAgICAiU2NlbmFyaWppIgorLSAgICBdLAor LSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua2Npb25hbG5vc3QiLAorLSAgICAgICJNb2d1 xIdub3N0IiwKKy0gICAgICAiTW9ndWNub3N0IiwKKy0gICAgICAiT3NvYmluYSIKKy0gICAgXSwK Ky0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlphIGRhdG8gIiwKKy0gICAg ICAiWmEgZGF0ZSAiLAorLSAgICAgICJaYSBkYXRpICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAi U2VyYmlhbiAoTGF0aW4pIiwKKy0gICAgIm5hdGl2ZSI6ICJTcnBza2kgKExhdGluaWNhKSIsCist ICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iLAorLSAgICAgICJQcmltZXIiCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlN0cnVrdHVyYSBzY2Vu YXJpamEiLAorLSAgICAgICJTa2ljYSIsCistICAgICAgIktvbmNlcHQiCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk9uZGEgIgorLSAgICBdLAorLSAgICAi d2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLYWRhICIsCistICAgICAgIkthZCAiCist ICAgIF0KKy0gIH0sCistICAic3YiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiT2NoICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkJha2dy dW5kIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIk1lbiAi CistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBlbCIKKy0gICAgXSwK Ky0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkVnZW5za2FwIgorLSAgICBdLAorLSAgICAiZ2l2 ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiR2l2ZXQgIgorLSAgICBdLAorLSAgICAibmFt ZSI6ICJTd2VkaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJTdmVuc2thIiwKKy0gICAgInNjZW5hcmlv IjogWworLSAgICAgICJTY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6 IFsKKy0gICAgICAiQWJzdHJha3QgU2NlbmFyaW8iLAorLSAgICAgICJTY2VuYXJpb21hbGwiCist ICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlPDpSAiCistICAg IF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk7DpHIgIgorLSAgICBd CistICB9LAorLSAgInRhIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg IuCuruCvh+CusuCvgeCuruCvjSAgIiwKKy0gICAgICAi4K6u4K6x4K+N4K6x4K+B4K6u4K+NICIK Ky0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuCuquCuv+CuqeCvjeCuqeCu o+CuvyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgrobg rqngrr7grrLgr40gICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLgro7g rp/gr4HgrqTgr43grqTgr4HgrpXgr43grpXgrr7grp/gr43grp/gr4HgrpXgrrPgr40iLAorLSAg ICAgICLgrpXgrr7grp/gr43grprgrr/grpXgrrPgr40iLAorLSAgICAgICIg4K6o4K6/4K6y4K+I 4K6u4K+I4K6V4K6z4K6/4K6y4K+NIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAg ICAi4K6F4K6u4K+N4K6a4K6u4K+NIiwKKy0gICAgICAi4K614K6j4K6/4K6VIOCupOCvh+CuteCv iCIsCistICAgICAgIuCupOCuv+CuseCuqeCvjSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIuCuleCvhuCuvuCun+CvgeCuleCvjeCuleCuquCvjeCuquCu n+CvjeCunyAiCistICAgIF0sCistICAgICJuYW1lIjogIlRhbWlsIiwKKy0gICAgIm5hdGl2ZSI6 ICLgrqTgrq7grr/grrTgr40iLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuCuleCuvuCu n+CvjeCumuCuvyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi 4K6V4K6+4K6f4K+N4K6a4K6/IOCumuCvgeCusOCvgeCuleCvjeCuleCuruCvjSIsCistICAgICAg IuCuleCuvuCun+CvjeCumuCuvyDgrrXgrr7grrDgr43grqrgr43grqrgr4HgrrDgr4EiCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCuheCuquCvjeCuquCv huCuvuCutOCvgeCupOCvgSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuCujuCuquCvjeCuquCvh+CuvuCupOCvgSAiCistICAgIF0KKy0gIH0sCistICAi dGgiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LmB4Lil4LiwICIK Ky0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuC5geC4meC4p+C4hOC4tOC4 lCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLguYHguJXg uYggIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuC4iuC4uOC4lOC4guC4 reC4h+C4leC4seC4p+C4reC4ouC5iOC4suC4hyIsCistICAgICAgIuC4iuC4uOC4lOC4guC4reC4 h+C5gOC4q+C4leC4uOC4geC4suC4o+C4k+C5jCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgIuC5guC4hOC4o+C4h+C4q+C4peC4seC4gSIsCistICAgICAgIuC4hOC4p+C4suC4 oeC4leC5ieC4reC4h+C4geC4suC4o+C4l+C4suC4h+C4mOC4uOC4o+C4geC4tOC4iCIsCistICAg ICAgIuC4hOC4p+C4suC4oeC4quC4suC4oeC4suC4o+C4liIKKy0gICAgXSwKKy0gICAgImdpdmVu IjogWworLSAgICAgICIqICIsCistICAgICAgIuC4geC4s+C4q+C4meC4lOC5g+C4q+C5iSAiCist ICAgIF0sCistICAgICJuYW1lIjogIlRoYWkiLAorLSAgICAibmF0aXZlIjogIuC5hOC4l+C4oiIs CistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi4LmA4Lir4LiV4Li44LiB4Liy4Lij4LiT4LmM IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLguKrguKPguLjg uJvguYDguKvguJXguLjguIHguLLguKPguJPguYwiLAorLSAgICAgICLguYLguITguKPguIfguKrg uKPguYnguLLguIfguILguK3guIfguYDguKvguJXguLjguIHguLLguKPguJPguYwiCistICAgIF0s CistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuC4lOC4seC4h+C4meC4seC5 ieC4mSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuC5 gOC4oeC4t+C5iOC4rSAiCistICAgIF0KKy0gIH0sCistICAidGwiOiB7CistICAgICJhbmQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAi4LCu4LCw4LC/4LCv4LGBICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgIuCwqOCxh+CwquCwpeCxjeCwr+CwgiIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgsJXgsL7gsKjgsL8gIgorLSAg ICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuCwieCwpuCwvuCwueCwsOCwo+CwsuCx gSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuCwl+CxgeCwo+CwruCxgSIK Ky0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCwmuCxhuCw quCxjeCwquCwrOCwoeCwv+CwqOCwpuCwvyAiCistICAgIF0sCistICAgICJuYW1lIjogIlRlbHVn dSIsCistICAgICJuYXRpdmUiOiAi4LCk4LGG4LCy4LGB4LCX4LGBIiwKKy0gICAgInNjZW5hcmlv IjogWworLSAgICAgICLgsLjgsKjgsY3gsKjgsL/gsLXgsYfgsLbgsIIiCistICAgIF0sCistICAg ICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuCwleCwpeCwqOCwgiIKKy0gICAgXSwKKy0g ICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LCF4LCq4LGN4LCq4LGB4LCh4LGB ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LCIIOCw quCwsOCwv+CwuOCxjeCwpeCwv+CwpOCwv+CwsuCxiyAiCistICAgIF0KKy0gIH0sCistICAidGxo IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIidlaiAiLAorLSAgICAg ICJsYXRsaCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJtbyciCist ICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiJ2FjaCAiLAorLSAg ICAgICInYSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiZ2hhbnRvSCIs CistICAgICAgImx1dG1leSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlFh cCIsCistICAgICAgIlF1J21lSCAndXQiLAorLSAgICAgICJwZXJib2doIiwKKy0gICAgICAicG9R Ym9naCBtYWxqYSciLAorLSAgICAgICJsYUgiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJnaHUnIG5vYmx1JyAiLAorLSAgICAgICJEYUggZ2h1JyBiZWps dScgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJLbGluZ29uIiwKKy0gICAgIm5hdGl2ZSI6ICJ0 bGhJbmdhbiIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAibHV0IgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJsdXQgY2hvdm5hdGxoIgorLSAgICBdLAor LSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJ2YWogIgorLSAgICBdLAorLSAg ICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJxYVNESScgIgorLSAgICBdCistICB9 LAorLSAgInRyIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIlZlICIK Ky0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkdlw6dtacWfIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkZha2F0ICIsCistICAgICAg IkFtYSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiw5ZybmVrbGVyIgor LSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiw5Z6ZWxsaWsiCistICAgIF0sCist ICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEaXllbGltIGtpICIKKy0gICAg XSwKKy0gICAgIm5hbWUiOiAiVHVya2lzaCIsCistICAgICJuYXRpdmUiOiAiVMO8cmvDp2UiLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNlbmFyeW8iCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgIlNlbmFyeW8gdGFzbGHEn8SxIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPIHphbWFuICIKKy0gICAgXSwKKy0g ICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRcSfZXIga2kgIgorLSAgICBdCist ICB9LAorLSAgInR0IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItK6 05nQvCAiLAorLSAgICAgICLQktOZICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCist ICAgICAgItCa0LXRgNC10YgiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi0JvTmdC60LjQvSAiLAorLSAgICAgICLTmNC80LzQsCAiCistICAgIF0sCistICAg ICJleGFtcGxlcyI6IFsKKy0gICAgICAi0q7RgNC905nQutC705nRgCIsCistICAgICAgItCc0LjR gdCw0LvQu9Cw0YAiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLQnNOp0LzQ utC40L3Qu9C10LoiLAorLSAgICAgICLSrtC30LXQvdGH05nQu9C10LrQu9C10LvQtdC6IgorLSAg ICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi05jQudGC0LjQuiAi CistICAgIF0sCistICAgICJuYW1lIjogIlRhdGFyIiwKKy0gICAgIm5hdGl2ZSI6ICLQotCw0YLQ sNGA0YfQsCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0LjQuSIK Ky0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA 0LjQudC90YvSoyDRgtOp0LfQtdC70LXRiNC1IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLQndOZ0YLQuNKX05nQtNOZICIKKy0gICAgXSwKKy0gICAgIndo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi05jQs9OZ0YAgIgorLSAgICBdCistICB9LAor LSAgInVrIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCGICIsCist ICAgICAgItCQINGC0LDQutC+0LYgIiwKKy0gICAgICAi0KLQsCAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICLQn9C10YDQtdC00YPQvNC+0LLQsCIKKy0gICAgXSwKKy0g ICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQkNC70LUgIgorLSAgICBdLAorLSAg ICAiZXhhbXBsZXMiOiBbCistICAgICAgItCf0YDQuNC60LvQsNC00LgiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD0L3QutGG0ZbQvtC90LDQuyIKKy0gICAgXSwKKy0g ICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCf0YDQuNC/0YPRgdGC0LjQvNC+ ICIsCistICAgICAgItCf0YDQuNC/0YPRgdGC0LjQvNC+LCDRidC+ICIsCistICAgICAgItCd0LXR hdCw0LkgIiwKKy0gICAgICAi0JTQsNC90L4gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJVa3Jh aW5pYW4iLAorLSAgICAibmF0aXZlIjogItCj0LrRgNCw0ZfQvdGB0YzQutCwIiwKKy0gICAgInNj ZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQvdCw0YDRltC5IgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA 0ZbRjiIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLQ viAiLAorLSAgICAgICLQotC+0LTRliAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgItCv0LrRidC+ICIsCistICAgICAgItCa0L7Qu9C4ICIKKy0gICAgXQor LSAgfSwKKy0gICJ1ciI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLY p9mI2LEgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi2b7YsyDZhdmG 2LjYsSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZhNuM 2qnZhiAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi2YXYq9in2YTbjNq6 IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi2LXZhNin2K3bjNiqIiwKKy0g ICAgICAi2qnYp9ix2YjYqNin2LEg2qnbjCDYttix2YjYsdiqIiwKKy0gICAgICAi2K7YtdmI2LXb jNiqIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2Kfa r9ixICIsCistICAgICAgItio2KfZhNmB2LHYtiAiLAorLSAgICAgICLZgdix2LYg2qnbjNinICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiVXJkdSIsCistICAgICJuYXRpdmUiOiAi2KfYsdiv2Ygi LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItmF2YbYuNix2YbYp9mF24EiCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItmF2YbYuNixINmG2KfZhduSINqp 2Kcg2K7Yp9qp24EiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAg ICAgItm+2r7YsSAiLAorLSAgICAgICLYqtioICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi2KzYqCAiCistICAgIF0KKy0gIH0sCistICAidXoiOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JLQsCAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQotCw0YDQuNGFIgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgItCb0LXQutC40L0gIiwKKy0gICAgICAi0JHQuNGA 0L7QuiAiLAorLSAgICAgICLQkNC80LzQviAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAi0JzQuNGB0L7Qu9C70LDRgCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCist ICAgICAgItCk0YPQvdC60YbQuNC+0L3QsNC7IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi0JDQs9Cw0YAgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJV emJlayIsCistICAgICJuYXRpdmUiOiAi0KPQt9Cx0LXQutGH0LAiLAorLSAgICAic2NlbmFyaW8i OiBbCistICAgICAgItCh0YbQtdC90LDRgNC40LkiCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgItCh0YbQtdC90LDRgNC40Lkg0YHRgtGA0YPQutGC0YPRgNCw0YHQ uCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KPQvdC0 0LAgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQkNCz 0LDRgCAiCistICAgIF0KKy0gIH0sCistICAidmkiOiB7CistICAgICJhbmQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiVsOgICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAg ICAgIkLhu5FpIGPhuqNuaCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJOaMawbmcgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkTh u68gbGnhu4d1IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiVMOtbmggbsSD bmciCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJCaeG6 v3QgIiwKKy0gICAgICAiQ2hvICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiVmlldG5hbWVzZSIs CistICAgICJuYXRpdmUiOiAiVGnhur9uZyBWaeG7h3QiLAorLSAgICAic2NlbmFyaW8iOiBbCist ICAgICAgIlTDrG5oIGh14buRbmciLAorLSAgICAgICJL4buLY2ggYuG6o24iCistICAgIF0sCist ICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIktodW5nIHTDrG5oIGh14buRbmciLAor LSAgICAgICJLaHVuZyBr4buLY2ggYuG6o24iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIlRow6wgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJLaGkgIgorLSAgICBdCistICB9LAorLSAgInpoLUNOIjogeworLSAg ICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuiAjOS4lCIsCistICAgICAgIuW5tuS4 lCIsCistICAgICAgIuWQjOaXtiIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAg ICAgIuiDjOaZryIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLkvYbmmK8iCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi5L6L5a2QIgor LSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi5Yqf6IO9IgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi5YGH5aaCIiwKKy0gICAgICAi5YGH 6K6+IiwKKy0gICAgICAi5YGH5a6aIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJDaGluZXNlIHNp bXBsaWZpZWQiLAorLSAgICAibmF0aXZlIjogIueugOS9k+S4reaWhyIsCistICAgICJzY2VuYXJp byI6IFsKKy0gICAgICAi5Zy65pmvIiwKKy0gICAgICAi5Ymn5pysIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLlnLrmma/lpKfnurIiLAorLSAgICAgICLliafm nKzlpKfnurIiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IumCo+S5iCIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 5b2TIgorLSAgICBdCistICB9LAorLSAgInpoLVRXIjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgIuiAjOS4lCIsCistICAgICAgIuS4puS4lCIsCistICAgICAgIuWQjOaZ giIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuiDjOaZryIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLkvYbmmK8iCistICAgIF0s CistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi5L6L5a2QIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAi5Yqf6IO9IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi5YGH5aaCIiwKKy0gICAgICAi5YGH6KitIiwKKy0gICAgICAi5YGH 5a6aIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJDaGluZXNlIHRyYWRpdGlvbmFsIiwKKy0gICAg Im5hdGl2ZSI6ICLnuYHpq5TkuK3mlociLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuWg tOaZryIsCistICAgICAgIuWKh+acrCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6 IFsKKy0gICAgICAi5aC05pmv5aSn57axIiwKKy0gICAgICAi5YqH5pys5aSn57axIgorLSAgICBd LAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLpgqPpurwiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIueVtiIKKy0gICAgXQorLSAg fQorLX0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNTUtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTUt Q0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLmNhZTkyODllYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTUtQ0xFQU5VUC1S ZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaApAQCAtMCwwICsxLDczNiBAQAorRnJvbSA1MGY4 MTg1MmFkZjBlZmEyNDkwZGJhYTk1Y2RlODczMjI5OGExYTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBTYXQsIDEzIEp1bCAyMDE5IDEzOjIxOjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENM RUFOVVA6IFJlbW92ZSBkZXByZWNhdGVkIHBhcnRzLgorCistLS0KKyBiaW4vY29udmVydF9pMThu X3lhbWwucHkgfCAgNzcgLS0tLS0KKyBiaW4vaTE4bi55bWwgICAgICAgICAgICAgfCA2MzUgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3 MTIgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNzU1IGJpbi9jb252ZXJ0X2kxOG5feWFt bC5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBiaW4vaTE4bi55bWwKKworZGlmZiAtLWdpdCBhL2Jp bi9jb252ZXJ0X2kxOG5feWFtbC5weSBiL2Jpbi9jb252ZXJ0X2kxOG5feWFtbC5weQorZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCBkNmE2NzEzLi4wMDAwMDAwCistLS0gYS9iaW4vY29u dmVydF9pMThuX3lhbWwucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDc3ICswLDAgQEAKKy0jIS91 c3IvYmluL2VudiBweXRob24KKy0jIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorLSMgVVNBR0U6IGNv bnZlcnRfaTE4bl95YW1sLnB5IFstLWRhdGE9aTE4bi55bWxdIGJlaGF2ZS9pMThuLnB5CistIiIi CistR2VuZXJhdGVzIEkxOE4gcHl0aG9uIG1vZHVsZSBiYXNlZCBvbiBZQU1MIGRlc2NyaXB0aW9u IChpMThuLnltbCkuCistCistUkVRVUlSRVM6CistICAqIGFyZ3BhcnNlCistICAqIHNpeAorLSAg KiBQeVlBTUwKKy0iIiIKKy0KKy1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dCwgcHJpbnRfZnVuY3Rpb24KKy1pbXBvcnQgYXJncGFyc2UKKy1pbXBvcnQgb3MucGF0aAorLWlt cG9ydCBzaXgKKy1pbXBvcnQgc3lzCistaW1wb3J0IHBwcmludAorLWltcG9ydCB5YW1sCistCist SEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKy1OQU1FID0gb3MucGF0aC5iYXNlbmFt ZShfX2ZpbGVfXykKKy1fX3ZlcnNpb25fXyA9ICIxLjAiCistCistZGVmIHlhbWxfbm9ybWFsaXpl KGRhdGEpOgorLSAgICBmb3IgcGFydCBpbiBkYXRhOgorLSAgICAgICAga2V5d29yZHMgPSBkYXRh W3BhcnRdCistICAgICAgICBmb3IgayBpbiBrZXl3b3JkczoKKy0gICAgICAgICAgICB2ID0ga2V5 d29yZHNba10KKy0gICAgICAgICAgICAjIGJsb29keSBZQU1MIHBhcnNlciByZXR1cm5zIGEgbWl4 dHVyZSBvZiB1bmljb2RlIGFuZCBzdHIKKy0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2 LCBzaXgudGV4dF90eXBlKToKKy0gICAgICAgICAgICAgICAgdiA9IHYuZGVjb2RlKCJVVEYtOCIp CistICAgICAgICAgICAga2V5d29yZHNba10gPSB2LnNwbGl0KCJ8IikKKy0gICAgcmV0dXJuIGRh dGEKKy0KKy1kZWYgbWFpbihhcmdzPU5vbmUpOgorLSAgICBpZiBhcmdzIGlzIE5vbmU6CistICAg ICAgICBhcmdzID0gc3lzLmFyZ3ZbMTpdCistICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50 UGFyc2VyKHByb2c9TkFNRSwKKy0gICAgICAgICAgICAgICAgZGVzY3JpcHRpb249IkdlbmVyYXRl IHB5dGhvbiBtb2R1bGUgaTE4biBmcm9tIFlBTUwgYmFzZWQgZGF0YSIpCistICAgIHBhcnNlci5h ZGRfYXJndW1lbnQoIi1kIiwgIi0tZGF0YSIsIGRlc3Q9InlhbWxfZmlsZSIsCistICAgICAgICAg ICAgICAgIGRlZmF1bHQ9b3MucGF0aC5qb2luKEhFUkUsICJpMThuLnltbCIpLAorLSAgICAgICAg ICAgICAgICBoZWxwPSJQYXRoIHRvIGkxOG4ueW1sIGZpbGUgKFlBTUwgZmlsZSkuIikKKy0gICAg cGFyc2VyLmFkZF9hcmd1bWVudCgib3V0cHV0X2ZpbGUiLCBkZWZhdWx0PSJzdGRvdXQiLAorLSAg ICAgICAgICAgICAgICBoZWxwPSJGaWxlbmFtZSBvZiBQeXRob24gSTE4TiBtb2R1bGUgKGFzIG91 dHB1dCkuIikKKy0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS12ZXJzaW9uIiwgYWN0aW9uPSJ2 ZXJzaW9uIiwgdmVyc2lvbj1fX3ZlcnNpb25fXykKKy0KKy0gICAgb3B0aW9ucyA9IHBhcnNlci5w YXJzZV9hcmdzKGFyZ3MpCistICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShvcHRpb25zLnlhbWxf ZmlsZSk6CistICAgICAgICBwYXJzZXIuZXJyb3IoIllBTUwgZmlsZSBub3QgZm91bmQ6ICVzIiAl IG9wdGlvbnMueWFtbF9maWxlKQorLQorLSAgICAjIC0tIFNURVAgMTogTG9hZCBZQU1MIGRhdGEu CistICAgIGxhbmd1YWdlcyA9IHlhbWwubG9hZChvcGVuKG9wdGlvbnMueWFtbF9maWxlKSkKKy0g ICAgbGFuZ3VhZ2VzID0geWFtbF9ub3JtYWxpemUobGFuZ3VhZ2VzKQorLQorLSAgICAjIC0tIFNU RVAgMjogR2VuZXJhdGUgcHl0aG9uIG1vZHVsZSB3aXRoIGkxOG4gZGF0YS4KKy0gICAgY29udGVu dHMgPSB1IiIiIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0jIC0tIEZJTEUgR0VORVJBVEVEIEJZ OiBjb252ZXJ0X2kxOG5feWFtbC5weSB3aXRoIGkxOG4ueW1sCistIyBweWxpbnQ6IGRpc2FibGU9 bGluZS10b28tbG9uZworLQorLWxhbmd1YWdlcyA9IFxcCistIiIiCistICAgIGlmIG9wdGlvbnMu b3V0cHV0X2ZpbGUgaW4gKCItIiwgInN0ZG91dCIpOgorLSAgICAgICAgaTE4bl9weSA9IHN5cy5z dGRvdXQKKy0gICAgICAgIHNob3VsZF9jbG9zZSA9IEZhbHNlCistICAgIGVsc2U6CistICAgICAg ICBpMThuX3B5ID0gb3BlbihvcHRpb25zLm91dHB1dF9maWxlLCAidyIpCistICAgICAgICBzaG91 bGRfY2xvc2UgPSBUcnVlCistICAgIGkxOG5fcHkud3JpdGUoY29udGVudHMuZW5jb2RlKCJVVEYt OCIpKQorLSAgICBpMThuX3B5LndyaXRlKHBwcmludC5wZm9ybWF0KGxhbmd1YWdlcykuZW5jb2Rl KCJVVEYtOCIpKQorLSAgICBpMThuX3B5LndyaXRlKHUiXG4iKQorLSAgICBpZiBzaG91bGRfY2xv c2U6CistICAgICAgICBpMThuX3B5LmNsb3NlKCkKKy0gICAgcmV0dXJuIDAKKy0KKy1pZiBfX25h bWVfXyA9PSAiX19tYWluX18iOgorLSAgICBzeXMuZXhpdChtYWluKCkpCitkaWZmIC0tZ2l0IGEv YmluL2kxOG4ueW1sIGIvYmluL2kxOG4ueW1sCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDgyMzQ1YTQuLjAwMDAwMDAKKy0tLSBhL2Jpbi9pMThuLnltbAorKysrIC9kZXYvbnVsbAor QEAgLTEsNjM1ICswLDAgQEAKKy0jIGVuY29kaW5nOiBVVEYtOAorLSMKKy0jIFdlIHVzZSBJU08g NjM5LTEgKGxhbmd1YWdlKSBhbmQgSVNPIDMxNjYgYWxwaGEtMiAocmVnaW9uIC0gaWYgYXBwbGlj YWJsZSk6CistIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfSVNPXzYzOS0x X2NvZGVzCistIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT18zMTY2LTEKKy0jCist IyBJZiB5b3Ugd2FudCBzZXZlcmFsIGFsaWFzZXMgZm9yIGEga2V5d29yZCwganVzdCBzZXBhcmF0 ZSB0aGVtCistIyB3aXRoIGEgfCBjaGFyYWN0ZXIuIFRoZSAqIGlzIGEgc3RlcCBrZXl3b3JkIGFs aWFzIGZvciBhbGwgdHJhbnNsYXRpb25zLgorLSMKKy0jIElmIHlvdSBkbyAqbm90KiB3YW50IGEg dHJhaWxpbmcgc3BhY2UgYWZ0ZXIgYSBrZXl3b3JkLCBlbmQgaXQgd2l0aCBhIDwgY2hhcmFjdGVy LgorLSMgKFNlZSBDaGluZXNlIGZvciBleGFtcGxlcykuCistIworLSMgVGhpcyBmaWxlIGNvcHly aWdodCAoYykgMjAwOS0yMDExIE1pa2UgU2Fzc2FrLCBHcmVnb3J5IEhuYXRpdWssIEFzbGFrIEhl bGxlc8O4eQorLSMKKy0jIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZworLSMgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUg YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCistIyAiU29mdHdhcmUiKSwg dG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCist IyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVy Z2UsIHB1Ymxpc2gsCistIyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3Bp ZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KKy0jIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl IFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworLSMgdGhlIGZvbGxv d2luZyBjb25kaXRpb25zOgorLSMKKy0jIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0 aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCistIyBpbmNsdWRlZCBpbiBhbGwgY29waWVz IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKy0jCistIyBUSEUgU09G VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK Ky0jIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg V0FSUkFOVElFUyBPRgorLSMgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRSBBTkQKKy0jIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUKKy0jIExJQUJMRSBGT1IgQU5ZIENMQUlN LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04KKy0jIE9G IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g Q09OTkVDVElPTgorLSMgV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM SU5HUyBJTiBUSEUgU09GVFdBUkUuCistCistImVuIjoKKy0gIG5hbWU6IEVuZ2xpc2gKKy0gIG5h dGl2ZTogRW5nbGlzaAorLSAgZmVhdHVyZTogRmVhdHVyZQorLSAgYmFja2dyb3VuZDogQmFja2dy b3VuZAorLSAgc2NlbmFyaW86IFNjZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuYXJp byBPdXRsaW5lfFNjZW5hcmlvIFRlbXBsYXRlCistICBleGFtcGxlczogRXhhbXBsZXN8U2NlbmFy aW9zCistICBnaXZlbjogIip8R2l2ZW4iCistICB3aGVuOiAiKnxXaGVuIgorLSAgdGhlbjogIip8 VGhlbiIKKy0gIGFuZDogIip8QW5kIgorLSAgYnV0OiAiKnxCdXQiCistCistIyBQbGVhc2Uga2Vl cCB0aGUgZ3JhbW1hcnMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIGJ5IG5hbWUgZnJvbSBoZXJlIGFu ZCBkb3duLgorLQorLSJhciI6CistICBuYW1lOiBBcmFiaWMKKy0gIG5hdGl2ZTog2KfZhNi52LHY qNmK2KkKKy0gIGZlYXR1cmU6INiu2KfYtdmK2KkKKy0gIGJhY2tncm91bmQ6INin2YTYrtmE2YHZ itipCistICBzY2VuYXJpbzog2LPZitmG2KfYsdmK2YgKKy0gIHNjZW5hcmlvX291dGxpbmU6INiz 2YrZhtin2LHZitmIINmF2K7Yt9i3CistICBleGFtcGxlczog2KfZhdir2YTYqQorLSAgZ2l2ZW46 ICIqfNio2YHYsdi2IgorLSAgd2hlbjogIip82YXYqtmJfNi52YbYr9mF2KciCistICB0aGVuOiAi KnzYp9iw2KfZi3zYq9mFIgorLSAgYW5kOiAiKnzZiCIKKy0gIGJ1dDogIip82YTZg9mGIgorLSJi ZyI6CistICBuYW1lOiBCdWxnYXJpYW4KKy0gIG5hdGl2ZTog0LHRitC70LPQsNGA0YHQutC4Cist ICBmZWF0dXJlOiDQpNGD0L3QutGG0LjQvtC90LDQu9C90L7RgdGCCistICBiYWNrZ3JvdW5kOiDQ n9GA0LXQtNC40YHRgtC+0YDQuNGPCistICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQorLSAg c2NlbmFyaW9fb3V0bGluZTog0KDQsNC80LrQsCDQvdCwINGB0YbQtdC90LDRgNC40LkKKy0gIGV4 YW1wbGVzOiDQn9GA0LjQvNC10YDQuAorLSAgZ2l2ZW46ICIqfNCU0LDQtNC10L3QviIKKy0gIHdo ZW46ICIqfNCa0L7Qs9Cw0YLQviIKKy0gIHRoZW46ICIqfNCi0L4iCistICBhbmQ6ICIqfNCYIgor LSAgYnV0OiAiKnzQndC+IgorLSJjYSI6CistICBuYW1lOiBDYXRhbGFuCistICBuYXRpdmU6IGNh dGFsw6AKKy0gIGJhY2tncm91bmQ6IFJlcmVmb25zfEFudGVjZWRlbnRzCistICBmZWF0dXJlOiBD YXJhY3RlcsOtc3RpY2F8RnVuY2lvbmFsaXRhdAorLSAgc2NlbmFyaW86IEVzY2VuYXJpCistICBz Y2VuYXJpb19vdXRsaW5lOiBFc3F1ZW1hIGRlIGwnZXNjZW5hcmkKKy0gIGV4YW1wbGVzOiBFeGVt cGxlcworLSAgZ2l2ZW46ICIqfERvbmF0fERvbmFkYXxBdMOoc3xBdGVzYSIKKy0gIHdoZW46ICIq fFF1YW4iCistICB0aGVuOiAiKnxBbGVzaG9yZXN8Q2FsIgorLSAgYW5kOiAiKnxJIgorLSAgYnV0 OiAiKnxQZXLDsiIKKy0iY3ktR0IiOgorLSAgbmFtZTogV2Vsc2gKKy0gIG5hdGl2ZTogQ3ltcmFl ZworLSAgYmFja2dyb3VuZDogQ2VmbmRpcgorLSAgZmVhdHVyZTogQXJ3ZWRkCistICBzY2VuYXJp bzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IFNjZW5hcmlvIEFtbGluZWxsb2wKKy0g IGV4YW1wbGVzOiBFbmdocmVpZmZ0aWF1CistICBnaXZlbjogIip8QW5yaGVnZWRpZyBhIgorLSAg d2hlbjogIip8UHJ5ZCIKKy0gIHRoZW46ICIqfFluYSIKKy0gIGFuZDogIip8QSIKKy0gIGJ1dDog Iip8T25kIgorLSJjcyI6CistICBuYW1lOiBDemVjaAorLSAgbmF0aXZlOiDEjGVza3kKKy0gIGZl YXR1cmU6IFBvxb5hZGF2ZWsKKy0gIGJhY2tncm91bmQ6IFBvemFkw618S29udGV4dAorLSAgc2Nl bmFyaW86IFNjw6luw6HFmQorLSAgc2NlbmFyaW9fb3V0bGluZTogTsOhxI1ydCBTY8OpbsOhxZll fE9zbm92YSBzY8OpbsOhxZllCistICBleGFtcGxlczogUMWZw61rbGFkeQorLSAgZ2l2ZW46ICIq fFBva3VkfFphIHDFmWVkcG9rbGFkdSIKKy0gIHdoZW46ICIqfEtkecW+IgorLSAgdGhlbjogIip8 UGFrIgorLSAgYW5kOiAiKnxBfEEgdGFrw6kiCistICBidXQ6ICIqfEFsZSIKKy0iZGEiOgorLSAg bmFtZTogRGFuaXNoCistICBuYXRpdmU6IGRhbnNrCistICBmZWF0dXJlOiBFZ2Vuc2thYgorLSAg YmFja2dyb3VuZDogQmFnZ3J1bmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJpZQorLSAgc2NlbmFyaW9f b3V0bGluZTogQWJzdHJha3QgU2NlbmFyaW8KKy0gIGV4YW1wbGVzOiBFa3NlbXBsZXIKKy0gIGdp dmVuOiAiKnxHaXZldCIKKy0gIHdoZW46ICIqfE7DpXIiCistICB0aGVuOiAiKnxTw6UiCistICBh bmQ6ICIqfE9nIgorLSAgYnV0OiAiKnxNZW4iCistImRlIjoKKy0gIG5hbWU6IEdlcm1hbgorLSAg bmF0aXZlOiBEZXV0c2NoCistICBmZWF0dXJlOiBGdW5rdGlvbmFsaXTDpHQKKy0gIGJhY2tncm91 bmQ6IEdydW5kbGFnZQorLSAgc2NlbmFyaW86IFN6ZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5l OiBTemVuYXJpb2dydW5kcmlzcworLSAgZXhhbXBsZXM6IEJlaXNwaWVsZQorLSAgZ2l2ZW46ICIq fEFuZ2Vub21tZW58R2VnZWJlbiBzZWkiCistICB3aGVuOiAiKnxXZW5uIgorLSAgdGhlbjogIip8 RGFubiIKKy0gIGFuZDogIip8VW5kIgorLSAgYnV0OiAiKnxBYmVyIgorLSJlbi1hdSI6CistICBu YW1lOiBBdXN0cmFsaWFuCistICBuYXRpdmU6IEF1c3RyYWxpYW4KKy0gIGZlYXR1cmU6IENyaWtl eQorLSAgYmFja2dyb3VuZDogQmFja2dyb3VuZAorLSAgc2NlbmFyaW86IE1hdGUKKy0gIHNjZW5h cmlvX291dGxpbmU6IEJsb2tlcworLSAgZXhhbXBsZXM6IENvYmJlcgorLSAgZ2l2ZW46ICIqfFlh IGtub3cgaG93IgorLSAgd2hlbjogIip8V2hlbiIKKy0gIHRoZW46ICIqfFlhIGdvdHRhIgorLSAg YW5kOiAiKnxOIgorLSAgYnV0OiAiKnxDZXB0IgorLSJlbi1sb2wiOgorLSAgbmFtZTogTE9MQ0FU CistICBuYXRpdmU6IExPTENBVAorLSAgZmVhdHVyZTogT0ggSEFJCistICBiYWNrZ3JvdW5kOiBC NAorLSAgc2NlbmFyaW86IE1JU0hVTgorLSAgc2NlbmFyaW9fb3V0bGluZTogTUlTSFVOIFNSU0xZ CistICBleGFtcGxlczogRVhBTVBMWgorLSAgZ2l2ZW46ICIqfEkgQ0FOIEhBWiIKKy0gIHdoZW46 ICIqfFdFTiIKKy0gIHRoZW46ICIqfERFTiIKKy0gIGFuZDogIip8QU4iCistICBidXQ6ICIqfEJV VCIKKy0iZW4tcGlyYXRlIjoKKy0gIG5hbWU6IFBpcmF0ZQorLSAgbmF0aXZlOiBQaXJhdGUKKy0g IGZlYXR1cmU6IEFob3kgbWF0ZXkhCistICBiYWNrZ3JvdW5kOiBZby1oby1obworLSAgc2NlbmFy aW86IEhlYXZlIHRvCistICBzY2VuYXJpb19vdXRsaW5lOiBTaGl2ZXIgbWUgdGltYmVycworLSAg ZXhhbXBsZXM6IERlYWQgbWVuIHRlbGwgbm8gdGFsZXMKKy0gIGdpdmVuOiAiKnxHYW5nd2F5ISIK Ky0gIHdoZW46ICIqfEJsaW1leSEiCistICB0aGVuOiAiKnxMZXQgZ28gYW5kIGhhdWwiCistICBh bmQ6ICIqfEF5ZSIKKy0gIGJ1dDogIip8QXZhc3QhIgorLSJlbi1TY291c2UiOgorLSAgbmFtZTog U2NvdXNlCistICBuYXRpdmU6IFNjb3VzZQorLSAgZmVhdHVyZTogRmVhdHVyZQorLSAgYmFja2dy b3VuZDogIkRpcyBpcyB3aGF0IHdlbnQgZG93biIKKy0gIHNjZW5hcmlvOiAiVGhlIHRoaW5nIG9m IGl0IGlzIgorLSAgc2NlbmFyaW9fb3V0bGluZTogIldoYXJyaW1lYW4gaXMiCistICBleGFtcGxl czogRXhhbXBsZXMKKy0gIGdpdmVuOiAiKnxHaXZ1bnxZb3VzZSBrbm93IHdoZW4geW91c2UgZ290 IgorLSAgd2hlbjogIip8V3VufFlvdXNlIGtub3cgbGlrZSB3aGVuIgorLSAgdGhlbjogIip8RHVu fERlbiB5b3VzZSBnb3R0YSIKKy0gIGFuZDogIip8QW4iCistICBidXQ6ICIqfEJ1aCIKKy0iZW4t dHgiOgorLSAgbmFtZTogVGV4YW4KKy0gIG5hdGl2ZTogVGV4YW4KKy0gIGZlYXR1cmU6IEZlYXR1 cmUKKy0gIGJhY2tncm91bmQ6IEJhY2tncm91bmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAg c2NlbmFyaW9fb3V0bGluZTogQWxsIHknYWxsCistICBleGFtcGxlczogRXhhbXBsZXMKKy0gIGdp dmVuOiAiKnxHaXZlbiB5J2FsbCIKKy0gIHdoZW46ICIqfFdoZW4geSdhbGwiCistICB0aGVuOiAi KnxUaGVuIHknYWxsIgorLSAgYW5kOiAiKnxBbmQgeSdhbGwiCistICBidXQ6ICIqfEJ1dCB5J2Fs bCIKKy0iZW8iOgorLSAgbmFtZTogRXNwZXJhbnRvCistICBuYXRpdmU6IEVzcGVyYW50bworLSAg ZmVhdHVyZTogVHJhanRvCistICBiYWNrZ3JvdW5kOiBGb25vCistICBzY2VuYXJpbzogU2NlbmFy bworLSAgc2NlbmFyaW9fb3V0bGluZTogS29udHVybyBkZSBsYSBzY2VuYXJvCistICBleGFtcGxl czogRWt6ZW1wbG9qCistICBnaXZlbjogIip8RG9uaXRhxLVvIgorLSAgd2hlbjogIip8U2UiCist ICB0aGVuOiAiKnxEbyIKKy0gIGFuZDogIip8S2FqIgorLSAgYnV0OiAiKnxTZWQiCistImVzIjoK Ky0gIG5hbWU6IFNwYW5pc2gKKy0gIG5hdGl2ZTogZXNwYcOxb2wKKy0gIGJhY2tncm91bmQ6IEFu dGVjZWRlbnRlcworLSAgZmVhdHVyZTogQ2FyYWN0ZXLDrXN0aWNhCistICBzY2VuYXJpbzogRXNj ZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5lOiBFc3F1ZW1hIGRlbCBlc2NlbmFyaW8KKy0gIGV4 YW1wbGVzOiBFamVtcGxvcworLSAgZ2l2ZW46ICIqfERhZG98RGFkYXxEYWRvc3xEYWRhcyIKKy0g IHdoZW46ICIqfEN1YW5kbyIKKy0gIHRoZW46ICIqfEVudG9uY2VzIgorLSAgYW5kOiAiKnxZIgor LSAgYnV0OiAiKnxQZXJvIgorLSJldCI6CistICBuYW1lOiBFc3RvbmlhbgorLSAgbmF0aXZlOiBl ZXN0aSBrZWVsCistICBmZWF0dXJlOiBPbWFkdXMKKy0gIGJhY2tncm91bmQ6IFRhdXN0CistICBz Y2VuYXJpbzogU3RzZW5hYXJpdW0KKy0gIHNjZW5hcmlvX291dGxpbmU6IFJhYW1zdHNlbmFhcml1 bQorLSAgZXhhbXBsZXM6IEp1aHR1bWlkCistICBnaXZlbjogIip8RWVsZGFkZXMiCistICB3aGVu OiAiKnxLdWkiCistICB0aGVuOiAiKnxTaWlzIgorLSAgYW5kOiAiKnxKYSIKKy0gIGJ1dDogIip8 S3VpZCIKKy0iZmkiOgorLSAgbmFtZTogRmlubmlzaAorLSAgbmF0aXZlOiBzdW9taQorLSAgZmVh dHVyZTogT21pbmFpc3V1cworLSAgYmFja2dyb3VuZDogVGF1c3RhCistICBzY2VuYXJpbzogVGFw YXVzCistICBzY2VuYXJpb19vdXRsaW5lOiBUYXBhdXNhaWhpbworLSAgZXhhbXBsZXM6IFRhcGF1 a3NldAorLSAgZ2l2ZW46ICIqfE9sZXRldGFhbiIKKy0gIHdoZW46ICIqfEt1biIKKy0gIHRoZW46 ICIqfE5paW4iCistICBhbmQ6ICIqfEphIgorLSAgYnV0OiAiKnxNdXR0YSIKKy0iZnIiOgorLSAg bmFtZTogRnJlbmNoCistICBuYXRpdmU6IGZyYW7Dp2FpcworLSAgZmVhdHVyZTogRm9uY3Rpb25u YWxpdMOpCistICBiYWNrZ3JvdW5kOiBDb250ZXh0ZQorLSAgc2NlbmFyaW86IFNjw6luYXJpbwor LSAgc2NlbmFyaW9fb3V0bGluZTogUGxhbiBkdSBzY8OpbmFyaW98UGxhbiBkdSBTY8OpbmFyaW8K Ky0gIGV4YW1wbGVzOiBFeGVtcGxlcworLSAgZ2l2ZW46ICIqfFNvaXR8RXRhbnQgZG9ubsOpfEV0 YW50IGRvbm7DqWV8RXRhbnQgZG9ubsOpc3xFdGFudCBkb25uw6llc3zDiXRhbnQgZG9ubsOpfMOJ dGFudCBkb25uw6llfMOJdGFudCBkb25uw6lzfMOJdGFudCBkb25uw6llcyIKKy0gIHdoZW46ICIq fFF1YW5kfExvcnNxdWV8TG9yc3F1JzwiCistICB0aGVuOiAiKnxBbG9ycyIKKy0gIGFuZDogIip8 RXQiCistICBidXQ6ICIqfE1haXMiCistImdsIjoKKy0gIG5hbWU6IEdhbGljaWFuCistICBuYXRp dmU6IGdhbGVnbworLSAgZmVhdHVyZTogQ2FyYWN0ZXLDrXN0aWNhCistICBiYWNrZ3JvdW5kOiBD b250ZXh0bworLSAgc2NlbmFyaW86IEVzY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogIkVz Ym96byBkbyBlc2NlbmFyaW8iCistICBleGFtcGxlczogRXhlbXBsb3MKKy0gIGdpdmVuOiAiKnxE YWRvfERhZGF8RGFkb3N8RGFkYXMiCistICB3aGVuOiAiKnxDYW5kbyIKKy0gIHRoZW46ICIqfEVu dMOzbnxMb2dvIgorLSAgYW5kOiAiKnxFIgorLSAgYnV0OiAiKnxNYWlzfFBlcm8iCistCistImhl IjoKKy0gIG5hbWU6IEhlYnJldworLSAgbmF0aXZlOiDXoteR16jXmdeqCistICBmZWF0dXJlOiDX qteb15XXoNeUCistICBiYWNrZ3JvdW5kOiDXqNen16IKKy0gIHNjZW5hcmlvOiDXqteo15fXmdep CistICBzY2VuYXJpb19vdXRsaW5lOiDXqteR16DXmdeqINeq16jXl9eZ16kKKy0gIGV4YW1wbGVz OiDXk9eV15LXnteQ15XXqgorLSAgZ2l2ZW46ICIqfNeR15TXmdeg16rXnyIKKy0gIHdoZW46ICIq fNeb15DXqdeoIgorLSAgdGhlbjogIip815DXlnzXkNeW15kiCistICBhbmQ6ICIqfNeV15LXnSIK Ky0gIGJ1dDogIip815DXkdecIgorLSJociI6CistICBuYW1lOiBDcm9hdGlhbgorLSAgbmF0aXZl OiBocnZhdHNraQorLSAgZmVhdHVyZTogT3NvYmluYXxNb2d1xIdub3N0fE1vZ3Vjbm9zdAorLSAg YmFja2dyb3VuZDogUG96YWRpbmEKKy0gIHNjZW5hcmlvOiBTY2VuYXJpagorLSAgc2NlbmFyaW9f b3V0bGluZTogU2tpY2F8S29uY2VwdAorLSAgZXhhbXBsZXM6IFByaW1qZXJpfFNjZW5hcmlqaQor LSAgZ2l2ZW46ICIqfFphZGFufFphZGFuaXxaYWRhbm8iCistICB3aGVuOiAiKnxLYWRhfEthZCIK Ky0gIHRoZW46ICIqfE9uZGEiCistICBhbmQ6ICIqfEkiCistICBidXQ6ICIqfEFsaSIKKy0iaHUi OgorLSAgbmFtZTogSHVuZ2FyaWFuCistICBuYXRpdmU6IG1hZ3lhcgorLSAgZmVhdHVyZTogSmVs bGVtesWRCistICBiYWNrZ3JvdW5kOiBIw6F0dMOpcgorLSAgc2NlbmFyaW86IEZvcmdhdMOza8O2 bnl2CistICBzY2VuYXJpb19vdXRsaW5lOiBGb3JnYXTDs2vDtm55diB2w6F6bGF0CistICBleGFt cGxlczogUMOpbGTDoWsKKy0gIGdpdmVuOiAiKnxBbWVubnlpYmVufEFkb3R0IgorLSAgd2hlbjog Iip8TWFqZHxIYXxBbWlrb3IiCistICB0aGVuOiAiKnxBa2tvciIKKy0gIGFuZDogIip8w4lzIgor LSAgYnV0OiAiKnxEZSIKKy0iaWQiOgorLSAgbmFtZTogSW5kb25lc2lhbgorLSAgbmF0aXZlOiBC YWhhc2EgSW5kb25lc2lhCistICBmZWF0dXJlOiBGaXR1cgorLSAgYmFja2dyb3VuZDogRGFzYXIK Ky0gIHNjZW5hcmlvOiBTa2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogU2tlbmFyaW8ga29u c2VwCistICBleGFtcGxlczogQ29udG9oCistICBnaXZlbjogIip8RGVuZ2FuIgorLSAgd2hlbjog Iip8S2V0aWthIgorLSAgdGhlbjogIip8TWFrYSIKKy0gIGFuZDogIip8RGFuIgorLSAgYnV0OiAi KnxUYXBpIgorLSJpcyI6CistICBuYW1lOiBJY2VsYW5kaWMKKy0gIG5hdGl2ZTogw41zbGVuc2th CistICBmZWF0dXJlOiBFaWdpbmxlaWtpCistICBiYWNrZ3JvdW5kOiBCYWtncnVubnVyCistICBz Y2VuYXJpbzogQXRidXLDsGFyw6FzCistICBzY2VuYXJpb19vdXRsaW5lOiBMw71zaW5nIEF0YnVy w7BhcsOhc2FyfEzDvXNpbmcgRMOmbWEKKy0gIGV4YW1wbGVzOiBEw6ZtaXxBdGJ1csOwYXLDoXNp cgorLSAgZ2l2ZW46ICIqfEVmIgorLSAgd2hlbjogIip8w55lZ2FyIgorLSAgdGhlbjogIip8w57D oSIKKy0gIGFuZDogIip8T2ciCistICBidXQ6ICIqfEVuIgorLSJpdCI6CistICBuYW1lOiBJdGFs aWFuCistICBuYXRpdmU6IGl0YWxpYW5vCistICBmZWF0dXJlOiBGdW56aW9uYWxpdMOgCistICBi YWNrZ3JvdW5kOiBDb250ZXN0bworLSAgc2NlbmFyaW86IFNjZW5hcmlvCistICBzY2VuYXJpb19v dXRsaW5lOiBTY2hlbWEgZGVsbG8gc2NlbmFyaW8KKy0gIGV4YW1wbGVzOiBFc2VtcGkKKy0gIGdp dmVuOiAiKnxEYXRvfERhdGF8RGF0aXxEYXRlIgorLSAgd2hlbjogIip8UXVhbmRvIgorLSAgdGhl bjogIip8QWxsb3JhIgorLSAgYW5kOiAiKnxFIgorLSAgYnV0OiAiKnxNYSIKKy0iamEiOgorLSAg bmFtZTogSmFwYW5lc2UKKy0gIG5hdGl2ZTog5pel5pys6KqeCistICBmZWF0dXJlOiDjg5XjgqPj g7zjg4Hjg6N85qmf6IO9CistICBiYWNrZ3JvdW5kOiDog4zmma8KKy0gIHNjZW5hcmlvOiDjgrfj g4rjg6rjgqoKKy0gIHNjZW5hcmlvX291dGxpbmU6IOOCt+ODiuODquOCquOCouOCpuODiOODqeOC pOODs3zjgrfjg4rjg6rjgqrjg4bjg7Pjg5fjg6zjg7zjg4h844OG44Oz44OX44OsfOOCt+ODiuOD quOCquODhuODs+ODl+ODrAorLSAgZXhhbXBsZXM6IOS+i3zjgrXjg7Pjg5fjg6sKKy0gIGdpdmVu OiAiKnzliY3mj5A8IgorLSAgd2hlbjogIip844KC44GXPCIKKy0gIHRoZW46ICIqfOOBquOCieOB sDwiCistICBhbmQ6ICIqfOOBi+OBpDwiCistICBidXQ6ICIqfOOBl+OBi+OBlzx85L2G44GXPHzj gZ/jgaDjgZc8IgorLSJrbyI6CistICBuYW1lOiBLb3JlYW4KKy0gIG5hdGl2ZTog7ZWc6rWt7Ja0 CistICBiYWNrZ3JvdW5kOiDrsLDqsr0KKy0gIGZlYXR1cmU6IOq4sOuKpQorLSAgc2NlbmFyaW86 IOyLnOuCmOumrOyYpAorLSAgc2NlbmFyaW9fb3V0bGluZTog7Iuc64KY66as7JikIOqwnOyalAor LSAgZXhhbXBsZXM6IOyYiAorLSAgZ2l2ZW46ICIqfOyhsOqxtDx866i87KCAPCIKKy0gIHdoZW46 ICIqfOunjOydvDx866eM7JW9PCIKKy0gIHRoZW46ICIqfOq3uOufrOuptDwiCistICBhbmQ6ICIq fOq3uOumrOqzoDwiCistICBidXQ6ICIqfO2VmOyngOunjDx864uoPCIKKy0ibHQiOgorLSAgbmFt ZTogTGl0aHVhbmlhbgorLSAgbmF0aXZlOiBsaWV0dXZpxbMga2FsYmEKKy0gIGZlYXR1cmU6IFNh dnlixJcKKy0gIGJhY2tncm91bmQ6IEtvbnRla3N0YXMKKy0gIHNjZW5hcmlvOiBTY2VuYXJpanVz CistICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuYXJpamF1cyDFoWFibG9uYXMKKy0gIGV4YW1wbGVz OiBQYXZ5emTFvmlhaXxTY2VuYXJpamFpfFZhcmlhbnRhaQorLSAgZ2l2ZW46ICIqfER1b3RhIgor LSAgd2hlbjogIip8S2FpIgorLSAgdGhlbjogIip8VGFkYSIKKy0gIGFuZDogIip8SXIiCistICBi dXQ6ICIqfEJldCIKKy0ibHUiOgorLSAgbmFtZTogTHV4ZW1idXJnaXNoCistICBuYXRpdmU6IEzD q3R6ZWJ1ZXJnZXNjaAorLSAgZmVhdHVyZTogRnVua3Rpb25hbGl0w6lpdAorLSAgYmFja2dyb3Vu ZDogSGFubmVyZ3JvbmQKKy0gIHNjZW5hcmlvOiBTemVuYXJpbworLSAgc2NlbmFyaW9fb3V0bGlu ZTogUGxhbmcgdnVtIFN6ZW5hcmlvCistICBleGFtcGxlczogQmVpc3BpbGxlcgorLSAgZ2l2ZW46 ICIqfHVnZWhvbGwiCistICB3aGVuOiAiKnx3YW5uIgorLSAgdGhlbjogIip8ZGFubiIKKy0gIGFu ZDogIip8YW58YSIKKy0gIGJ1dDogIip8YXdlcnxtw6QiCistImx2IjoKKy0gIG5hbWU6IExhdHZp YW4KKy0gIG5hdGl2ZTogbGF0dmllxaF1CistICBmZWF0dXJlOiBGdW5rY2lvbmFsaXTEgXRlfEbE q8SNYQorLSAgYmFja2dyb3VuZDogS29udGVrc3RzfFNpdHXEgWNpamEKKy0gIHNjZW5hcmlvOiBT Y2VuxIFyaWpzCistICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuxIFyaWpzIHDEk2MgcGFyYXVnYQor LSAgZXhhbXBsZXM6IFBpZW3Ek3JpfFBhcmF1Z3MKKy0gIGdpdmVuOiAiKnxLYWQiCistICB3aGVu OiAiKnxKYSIKKy0gIHRoZW46ICIqfFRhZCIKKy0gIGFuZDogIip8VW4iCistICBidXQ6ICIqfEJl dCIKKy0ibmwiOgorLSAgbmFtZTogRHV0Y2gKKy0gIG5hdGl2ZTogTmVkZXJsYW5kcworLSAgZmVh dHVyZTogRnVuY3Rpb25hbGl0ZWl0CistICBiYWNrZ3JvdW5kOiBBY2h0ZXJncm9uZAorLSAgc2Nl bmFyaW86IFNjZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5lOiBBYnN0cmFjdCBTY2VuYXJpbwor LSAgZXhhbXBsZXM6IFZvb3JiZWVsZGVuCistICBnaXZlbjogIip8R2VnZXZlbnxTdGVsIgorLSAg d2hlbjogIip8QWxzIgorLSAgdGhlbjogIip8RGFuIgorLSAgYW5kOiAiKnxFbiIKKy0gIGJ1dDog Iip8TWFhciIKKy0ibm8iOgorLSAgbmFtZTogTm9yd2VnaWFuCistICBuYXRpdmU6IG5vcnNrCist ICBmZWF0dXJlOiBFZ2Vuc2thcAorLSAgYmFja2dyb3VuZDogQmFrZ3J1bm4KKy0gIHNjZW5hcmlv OiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFyaW9tYWx8QWJzdHJha3QgU2Nl bmFyaW8KKy0gIGV4YW1wbGVzOiBFa3NlbXBsZXIKKy0gIGdpdmVuOiAiKnxHaXR0IgorLSAgd2hl bjogIip8TsOlciIKKy0gIHRoZW46ICIqfFPDpSIKKy0gIGFuZDogIip8T2ciCistICBidXQ6ICIq fE1lbiIKKy0icGwiOgorLSAgbmFtZTogUG9saXNoCistICBuYXRpdmU6IHBvbHNraQorLSAgZmVh dHVyZTogV8WCYcWbY2l3b8WbxIcKKy0gIGJhY2tncm91bmQ6IFphxYJvxbxlbmlhCistICBzY2Vu YXJpbzogU2NlbmFyaXVzegorLSAgc2NlbmFyaW9fb3V0bGluZTogU3phYmxvbiBzY2VuYXJpdXN6 YQorLSAgZXhhbXBsZXM6IFByenlrxYJhZHkKKy0gIGdpdmVuOiAiKnxaYWvFgmFkYWrEhWN8TWFq xIVjIgorLSAgd2hlbjogIip8SmXFvGVsaXxKZcWbbGkiCistICB0aGVuOiAiKnxXdGVkeSIKKy0g IGFuZDogIip8T3JhenxJIgorLSAgYnV0OiAiKnxBbGUiCistInB0IjoKKy0gIG5hbWU6IFBvcnR1 Z3Vlc2UKKy0gIG5hdGl2ZTogcG9ydHVndcOqcworLSAgYmFja2dyb3VuZDogQ29udGV4dG8KKy0g IGZlYXR1cmU6IEZ1bmNpb25hbGlkYWRlCistICBzY2VuYXJpbzogQ2Vuw6FyaW98Q2VuYXJpbwor LSAgc2NlbmFyaW9fb3V0bGluZTogRXNxdWVtYSBkbyBDZW7DoXJpb3xFc3F1ZW1hIGRvIENlbmFy aW8KKy0gIGV4YW1wbGVzOiBFeGVtcGxvcworLSAgZ2l2ZW46ICIqfERhZG98RGFkYXxEYWRvc3xE YWRhcyIKKy0gIHdoZW46ICIqfFF1YW5kbyIKKy0gIHRoZW46ICIqfEVudMOjb3xFbnRhbyIKKy0g IGFuZDogIip8RSIKKy0gIGJ1dDogIip8TWFzIgorLSJybyI6CistICBuYW1lOiBSb21hbmlhbgor LSAgbmF0aXZlOiByb23Dom7EgworLSAgYmFja2dyb3VuZDogQ29udGV4dAorLSAgZmVhdHVyZTog RnVuY3Rpb25hbGl0YXRlfEZ1bmPIm2lvbmFsaXRhdGV8RnVuY8WjaW9uYWxpdGF0ZQorLSAgc2Nl bmFyaW86IFNjZW5hcml1CistICBzY2VuYXJpb19vdXRsaW5lOiBTdHJ1Y3R1cmEgc2NlbmFyaXV8 U3RydWN0dXLEgyBzY2VuYXJpdQorLSAgZXhhbXBsZXM6IEV4ZW1wbGUKKy0gIGdpdmVuOiAiKnxE YXRlIGZpaW5kfERhdCBmaWluZHxEYXRpIGZpaW5kfERhyJtpIGZpaW5kfERhxaNpIGZpaW5kIgor LSAgd2hlbjogIip8Q2FuZHxDw6JuZCIKKy0gIHRoZW46ICIqfEF0dW5jaSIKKy0gIGFuZDogIip8 U2l8yJhpfMWeaSIKKy0gIGJ1dDogIip8RGFyIgorLSJydSI6CistICBuYW1lOiBSdXNzaWFuCist ICBuYXRpdmU6INGA0YPRgdGB0LrQuNC5CistICBmZWF0dXJlOiDQpNGD0L3QutGG0LjRj3zQpNGD 0L3QutGG0LjQvtC90LDQu3zQodCy0L7QudGB0YLQstC+CistICBiYWNrZ3JvdW5kOiDQn9GA0LXQ tNGL0YHRgtC+0YDQuNGPfNCa0L7QvdGC0LXQutGB0YIKKy0gIHNjZW5hcmlvOiDQodGG0LXQvdCw 0YDQuNC5CistICBzY2VuYXJpb19vdXRsaW5lOiDQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3Q sNGA0LjRjworLSAgZXhhbXBsZXM6INCf0YDQuNC80LXRgNGLCistICBnaXZlbjogIip80JTQvtC/ 0YPRgdGC0LjQvHzQlNCw0L3QvnzQn9GD0YHRgtGMIgorLSAgd2hlbjogIip80JXRgdC70Lh80JrQ vtCz0LTQsCIKKy0gIHRoZW46ICIqfNCi0L580KLQvtCz0LTQsCIKKy0gIGFuZDogIip80Jh80Jog 0YLQvtC80YMg0LbQtSIKKy0gIGJ1dDogIip80J3QvnzQkCIKKy0ic3YiOgorLSAgbmFtZTogU3dl ZGlzaAorLSAgbmF0aXZlOiBTdmVuc2thCistICBmZWF0dXJlOiBFZ2Vuc2thcAorLSAgYmFja2dy b3VuZDogQmFrZ3J1bmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGlu ZTogQWJzdHJha3QgU2NlbmFyaW98U2NlbmFyaW9tYWxsCistICBleGFtcGxlczogRXhlbXBlbAor LSAgZ2l2ZW46ICIqfEdpdmV0IgorLSAgd2hlbjogIip8TsOkciIKKy0gIHRoZW46ICIqfFPDpSIK Ky0gIGFuZDogIip8T2NoIgorLSAgYnV0OiAiKnxNZW4iCistInNrIjoKKy0gIG5hbWU6IFNsb3Zh aworLSAgbmF0aXZlOiBTbG92ZW5za3kKKy0gIGZlYXR1cmU6IFBvxb5pYWRhdmthCistICBiYWNr Z3JvdW5kOiBQb3phZGllCistICBzY2VuYXJpbzogU2NlbsOhcgorLSAgc2NlbmFyaW9fb3V0bGlu ZTogTsOhxI1ydCBTY2Vuw6FydQorLSAgZXhhbXBsZXM6IFByw61rbGFkeQorLSAgZ2l2ZW46ICIq fFBva2lhxL4iCistICB3aGVuOiAiKnxLZcSPIgorLSAgdGhlbjogIip8VGFrIgorLSAgYW5kOiAi KnxBIgorLSAgYnV0OiAiKnxBbGUiCistInNyLUxhdG4iOgorLSAgbmFtZTogU2VyYmlhbiAoTGF0 aW4pCistICBuYXRpdmU6IFNycHNraSAoTGF0aW5pY2EpCistICBmZWF0dXJlOiBGdW5rY2lvbmFs bm9zdHxNb2d1xIdub3N0fE1vZ3Vjbm9zdHxPc29iaW5hCistICBiYWNrZ3JvdW5kOiBLb250ZWtz dHxPc25vdmF8UG96YWRpbmEKKy0gIHNjZW5hcmlvOiBTY2VuYXJpb3xQcmltZXIKKy0gIHNjZW5h cmlvX291dGxpbmU6IFN0cnVrdHVyYSBzY2VuYXJpamF8U2tpY2F8S29uY2VwdAorLSAgZXhhbXBs ZXM6IFByaW1lcml8U2NlbmFyaWppCistICBnaXZlbjogIip8WmFkYXRvfFphZGF0ZXxaYXRhdGki CistICB3aGVuOiAiKnxLYWRhfEthZCIKKy0gIHRoZW46ICIqfE9uZGEiCistICBhbmQ6ICIqfEki CistICBidXQ6ICIqfEFsaSIKKy0ic3ItQ3lybCI6CistICBuYW1lOiBTZXJiaWFuCistICBuYXRp dmU6INCh0YDQv9GB0LrQuAorLSAgZmVhdHVyZTog0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHR gnzQnNC+0LPRg9Gb0L3QvtGB0YJ80J7RgdC+0LHQuNC90LAKKy0gIGJhY2tncm91bmQ6INCa0L7Q vdGC0LXQutGB0YJ80J7RgdC90L7QstCwfNCf0L7Qt9Cw0LTQuNC90LAKKy0gIHNjZW5hcmlvOiDQ odGG0LXQvdCw0YDQuNC+fNCf0YDQuNC80LXRgAorLSAgc2NlbmFyaW9fb3V0bGluZTog0KHRgtGA 0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC40ZjQsHzQodC60LjRhtCwfNCa0L7QvdGG0LXQv9GC CistICBleGFtcGxlczog0J/RgNC40LzQtdGA0Lh80KHRhtC10L3QsNGA0LjRmNC4CistICBnaXZl bjogIip80JfQsNC00LDRgtC+fNCX0LDQtNCw0YLQtXzQl9Cw0LTQsNGC0LgiCistICB3aGVuOiAi KnzQmtCw0LTQsHzQmtCw0LQiCistICB0aGVuOiAiKnzQntC90LTQsCIKKy0gIGFuZDogIip80Jgi CistICBidXQ6ICIqfNCQ0LvQuCIKKy0idHIiOgorLSAgbmFtZTogVHVya2lzaAorLSAgbmF0aXZl OiBUw7xya8OnZQorLSAgZmVhdHVyZTogw5Z6ZWxsaWsKKy0gIGJhY2tncm91bmQ6IEdlw6dtacWf CistICBzY2VuYXJpbzogU2VuYXJ5bworLSAgc2NlbmFyaW9fb3V0bGluZTogU2VuYXJ5byB0YXNs YcSfxLEKKy0gIGV4YW1wbGVzOiDDlnJuZWtsZXIKKy0gIGdpdmVuOiAiKnxEaXllbGltIGtpIgor LSAgd2hlbjogIip8RcSfZXIga2kiCistICB0aGVuOiAiKnxPIHphbWFuIgorLSAgYW5kOiAiKnxW ZSIKKy0gIGJ1dDogIip8RmFrYXR8QW1hIgorLSJ1ayI6CistICBuYW1lOiBVa3JhaW5pYW4KKy0g IG5hdGl2ZTog0KPQutGA0LDRl9C90YHRjNC60LAKKy0gIGZlYXR1cmU6INCk0YPQvdC60YbRltC+ 0L3QsNC7CistICBiYWNrZ3JvdW5kOiDQn9C10YDQtdC00YPQvNC+0LLQsAorLSAgc2NlbmFyaW86 INCh0YbQtdC90LDRgNGW0LkKKy0gIHNjZW5hcmlvX291dGxpbmU6INCh0YLRgNGD0LrRgtGD0YDQ sCDRgdGG0LXQvdCw0YDRltGOCistICBleGFtcGxlczog0J/RgNC40LrQu9Cw0LTQuAorLSAgZ2l2 ZW46ICIqfNCf0YDQuNC/0YPRgdGC0LjQvNC+fNCf0YDQuNC/0YPRgdGC0LjQvNC+LCDRidC+fNCd 0LXRhdCw0Ll80JTQsNC90L4iCistICB3aGVuOiAiKnzQr9C60YnQvnzQmtC+0LvQuCIKKy0gIHRo ZW46ICIqfNCi0L580KLQvtC00ZYiCistICBhbmQ6ICIqfNCGfNCQINGC0LDQutC+0LZ80KLQsCIK Ky0gIGJ1dDogIip80JDQu9C1IgorLSJ1eiI6CistICBuYW1lOiBVemJlaworLSAgbmF0aXZlOiDQ o9C30LHQtdC60YfQsAorLSAgZmVhdHVyZTog0KTRg9C90LrRhtC40L7QvdCw0LsKKy0gIGJhY2tn cm91bmQ6INCi0LDRgNC40YUKKy0gIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDQuNC5CistICBzY2Vu YXJpb19vdXRsaW5lOiDQodGG0LXQvdCw0YDQuNC5INGB0YLRgNGD0LrRgtGD0YDQsNGB0LgKKy0g IGV4YW1wbGVzOiDQnNC40YHQvtC70LvQsNGACistICBnaXZlbjogIip80JDQs9Cw0YAiCistICB3 aGVuOiAiKnzQkNCz0LDRgCIKKy0gIHRoZW46ICIqfNCj0L3QtNCwIgorLSAgYW5kOiAiKnzQktCw IgorLSAgYnV0OiAiKnzQm9C10LrQuNC9fNCR0LjRgNC+0Lp80JDQvNC80L4iCistInZpIjoKKy0g IG5hbWU6IFZpZXRuYW1lc2UKKy0gIG5hdGl2ZTogVGnhur9uZyBWaeG7h3QKKy0gIGZlYXR1cmU6 IFTDrW5oIG7Eg25nCistICBiYWNrZ3JvdW5kOiBC4buRaSBj4bqjbmgKKy0gIHNjZW5hcmlvOiBU w6xuaCBodeG7kW5nfEvhu4tjaCBi4bqjbgorLSAgc2NlbmFyaW9fb3V0bGluZTogS2h1bmcgdMOs bmggaHXhu5FuZ3xLaHVuZyBr4buLY2ggYuG6o24KKy0gIGV4YW1wbGVzOiBE4buvIGxp4buHdQor LSAgZ2l2ZW46ICIqfEJp4bq/dHxDaG8iCistICB3aGVuOiAiKnxLaGkiCistICB0aGVuOiAiKnxU aMOsIgorLSAgYW5kOiAiKnxWw6AiCistICBidXQ6ICIqfE5oxrBuZyIKKy0iemgtQ04iOgorLSAg bmFtZTogQ2hpbmVzZSBzaW1wbGlmaWVkCistICBuYXRpdmU6IOeugOS9k+S4reaWhworLSAgZmVh dHVyZTog5Yqf6IO9CistICBiYWNrZ3JvdW5kOiDog4zmma8KKy0gIHNjZW5hcmlvOiDlnLrmma8K Ky0gIHNjZW5hcmlvX291dGxpbmU6IOWcuuaZr+Wkp+e6sgorLSAgZXhhbXBsZXM6IOS+i+WtkAor LSAgZ2l2ZW46ICIqfOWBh+WmgjwiCistICB3aGVuOiAiKnzlvZM8IgorLSAgdGhlbjogIip86YKj 5LmIPCIKKy0gIGFuZDogIip86ICM5LiUPCIKKy0gIGJ1dDogIip85L2G5pivPCIKKy0iemgtVFci OgorLSAgbmFtZTogQ2hpbmVzZSB0cmFkaXRpb25hbAorLSAgbmF0aXZlOiDnuYHpq5TkuK3mlocK Ky0gIGZlYXR1cmU6IOWKn+iDvQorLSAgYmFja2dyb3VuZDog6IOM5pmvCistICBzY2VuYXJpbzog 5aC05pmvfOWKh+acrAorLSAgc2NlbmFyaW9fb3V0bGluZTog5aC05pmv5aSn57axfOWKh+acrOWk p+e2sQorLSAgZXhhbXBsZXM6IOS+i+WtkAorLSAgZ2l2ZW46ICIqfOWBh+iorTwiCistICB3aGVu OiAiKnznlbY8IgorLSAgdGhlbjogIip86YKj6bq8PCIKKy0gIGFuZDogIip86ICM5LiUPHzkuKbk uJQ8IgorLSAgYnV0OiAiKnzkvYbmmK88IgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ni1tb3JlLmZlYXR1cmVzLVBlcmZv cm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ni1tb3JlLmZlYXR1cmVzLVBl cmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWJkMjVmZmRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ni1tb3Jl LmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoCkBA IC0wLDAgKzEsMTU1IEBACitGcm9tIGQxNzY2MjJkZGU0YjdmNThjODkyYTAxY2I5MzM4MTc3ZTkz ODM2NmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVsIDIwMTkgMTM6MjI6MjEg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbW9yZS5mZWF0dXJlczogUGVyZm9ybSBtb3JlIEdoZXJr aW4gdjYgY2hlY2tzIGFuZCBydW4KKyBleGFtcGxlcy4KKworLS0tCisgaW52b2tlLnlhbWwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKystLS0KKyBtb3JlLmZlYXR1cmVz L2Vudmlyb25tZW50LnB5ICAgICAgICAgICAgICAgICAgfCAyOCArKysrKysrKysrKysrCisgLi4u L2Zvcm1hdHRlci5qc29uLnZhbGlkYXRlX291dHB1dC5mZWF0dXJlICAgIHwgMjIgKysrKysrKysr LQorIG1vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUgICAgICAgICAgICB8IDQxICsr KysrKysrKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vcmUuZmVhdHVyZXMvZW52aXJvbm1l bnQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgbW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVh dHVyZQorCitkaWZmIC0tZ2l0IGEvaW52b2tlLnlhbWwgYi9pbnZva2UueWFtbAoraW5kZXggZDZm MTQxYy4uYTMyMzQ1ZSAxMDA2NDQKKy0tLSBhL2ludm9rZS55YW1sCisrKysgYi9pbnZva2UueWFt bAorQEAgLTI0LDEzICsyNCw2IEBAIHNwaGlueDoKKyAgICAgICAtIGRlCisgICAgICAgIyBQUkVQ QVJFRDogLSB6aC1DTgorIAorLWNsZWFudXA6CistICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorLSAg ICAgIC0gImJ1aWxkIgorLSAgICAgIC0gImRpc3QiCistICAgICAgLSAiX19XT1JLRElSX18iCist ICAgICAgLSByZXBvcnRzCistCisgY2xlYW51cDoKKyAgICAgZXh0cmFfZGlyZWN0b3JpZXM6Cisg ICAgICAgLSAiYnVpbGQiCitAQCAtNDcsNiArNDAsOSBAQCBjbGVhbnVwX2FsbDoKKyAgICAgICAt IC5oeXBvdGhlc2lzCisgICAgICAgLSAucHl0ZXN0X2NhY2hlCisgCisrICAgIGV4dHJhX2ZpbGVz OgorKyAgICAgIC0gIioqL3Rlc3RydW4qLmpzb24iCisrCisgYmVoYXZlX3Rlc3Q6CisgICAgIHNj b3BlczoKKyAgICAgICAtIGZlYXR1cmVzCitkaWZmIC0tZ2l0IGEvbW9yZS5mZWF0dXJlcy9lbnZp cm9ubWVudC5weSBiL21vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwLi45ZDQzMDJiCistLS0gL2Rldi9udWxsCisrKysgYi9tb3Jl LmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMCwwICsxLDI4IEBACisrIyAtKi0gY29kaW5n OiBVVEYtOCAtKi0KKysKKytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFn TWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKytpbXBvcnQgc3lzCisrCisrIyAtLSBN QVRDSEVTIEFOWSBUQUdTOiBAdXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisrIyBOT1RFOiBh Y3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBmb3IgYWN0 aXZlIHRhZ3MuCisrcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6 Ml0KKythY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworKyAgICAicHl0aG9uLnZlcnNpb24i OiBweXRob25fdmVyc2lvbiwKKyt9CisrYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0 Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIEhPT0tTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgYmVmb3JlX2FsbChj b250ZXh0KToKKysgICAgIyAtLSBTRVRVUCBBQ1RJVkUtVEFHIE1BVENIRVIgKHdpdGggdXNlcmRh dGEpOgorKyAgICBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3Zp ZGVyLCBjb250ZXh0LmNvbmZpZy51c2VyZGF0YSkKKysKKytkZWYgYmVmb3JlX2ZlYXR1cmUoY29u dGV4dCwgZmVhdHVyZSk6CisrICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVk ZV93aXRoKGZlYXR1cmUudGFncyk6CisrICAgICAgICBmZWF0dXJlLnNraXAocmVhc29uPWFjdGl2 ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKysKKytkZWYgYmVmb3JlX3NjZW5hcmlvKGNv bnRleHQsIHNjZW5hcmlvKToKKysgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorKyAgICAgICAgc2NlbmFyaW8uc2tp cChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorKworZGlmZiAtLWdp dCBhL21vcmUuZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24udmFsaWRhdGVfb3V0cHV0LmZlYXR1cmUg Yi9tb3JlLmZlYXR1cmVzL2Zvcm1hdHRlci5qc29uLnZhbGlkYXRlX291dHB1dC5mZWF0dXJlCitp bmRleCBhNWY4YWI2Li4zMTU1MGQ1IDEwMDY0NAorLS0tIGEvbW9yZS5mZWF0dXJlcy9mb3JtYXR0 ZXIuanNvbi52YWxpZGF0ZV9vdXRwdXQuZmVhdHVyZQorKysrIGIvbW9yZS5mZWF0dXJlcy9mb3Jt YXR0ZXIuanNvbi52YWxpZGF0ZV9vdXRwdXQuZmVhdHVyZQorQEAgLTM0LDQgKzM0LDI0IEBAIEZl YXR1cmU6IFZhbGlkYXRlIEpTT04gRm9ybWF0dGVyIE91dHB1dAorICAgICBUaGVuIGl0IHNob3Vs ZCBwYXNzIHdpdGg6CisgICAgICAgICAiIiIKKyAgICAgICAgIHZhbGlkYXRlOiB0ZXN0cnVuMy5q c29uIC4uLiBPSworLSAgICAgICAgIiIiCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKysg ICAgICAgICIiIgorKworKyAgQGdoZXJraW5fdjYKKysgIFNjZW5hcmlvOiBWYWxpZGF0ZSBKU09O IG91dHB1dCBmcm9tIGV4YW1wbGUvZ2hlcmtpbl92Ni8gdGVzdCBydW4KKysgICAgR2l2ZW4gSSB1 c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMvZ2hlcmtpbl92NiIgYXMgd29ya2luZyBkaXJlY3Rv cnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIGpzb24gLW8gdGVzdHJ1bl9naGVya2luNl8x Lmpzb24gZmVhdHVyZXMvIgorKyAgICBXaGVuIEkgcnVuICIuLi8uLi9iaW4vanNvbnNjaGVtYV92 YWxpZGF0ZS5weSB0ZXN0cnVuX2doZXJraW42XzEuanNvbiIKKysgICAgVGhlbiBpdCBzaG91bGQg cGFzcyB3aXRoOgorKyAgICAgICAgIiIiCisrICAgICAgICB2YWxpZGF0ZTogdGVzdHJ1bl9naGVy a2luNl8xLmpzb24gLi4uIE9LCisrICAgICAgICAiIiIKKysKKysgIEBnaGVya2luX3Y2CisrICBT Y2VuYXJpbzogVmFsaWRhdGUgSlNPTiBvdXRwdXQgZnJvbSBleGFtcGxlL2doZXJraW5fdjYvIHRl c3QgcnVuIChjYXNlOiBwYXJ0bHkgZmFpbGluZykKKysgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVj dG9yeSAiZXhhbXBsZXMvZ2hlcmtpbl92NiIgYXMgd29ya2luZyBkaXJlY3RvcnkKKysgICAgV2hl biBJIHJ1biAiYmVoYXZlIC0tdGFncz1mYWlsIC1mIGpzb24gLW8gdGVzdHJ1bl9naGVya2luNl8y Lmpzb24gZmVhdHVyZXMvIgorKyAgICBXaGVuIEkgcnVuICIuLi8uLi9iaW4vanNvbnNjaGVtYV92 YWxpZGF0ZS5weSB0ZXN0cnVuX2doZXJraW42XzIuanNvbiIKKysgICAgVGhlbiBpdCBzaG91bGQg cGFzcyB3aXRoOgorKyAgICAgICAgIiIiCisrICAgICAgICB2YWxpZGF0ZTogdGVzdHJ1bl9naGVy a2luNl8yLmpzb24gLi4uIE9LCisrICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9tb3JlLmZlYXR1 cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlIGIvbW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVh dHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ3Nzg4NjYKKy0tLSAv ZGV2L251bGwKKysrKyBiL21vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKK0BAIC0w LDAgKzEsNDEgQEAKKytGZWF0dXJlOiBFbnN1cmUgdGhhdCBhbGwgZXhhbXBsZXMgYXJlIHVzYWJs ZQorKworKyAgU2NlbmFyaW8gT3V0bGluZTogVXNlIDxleGFtcGxlX2Rpcj4KKysgICAgR2l2ZW4g SSB1c2UgdGhlIGRpcmVjdG9yeSAiPGV4YW1wbGVfZGlyPiIgYXMgd29ya2luZyBkaXJlY3RvcnkK KysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIDxiZWhhdmVfY21kbGluZT4iCisrICAgIFRoZW4gaXQg c2hvdWxkIDxvdXRjb21lPgorKworKyAgICBFeGFtcGxlczoKKysgICAgICB8IGV4YW1wbGVfZGly ICAgICAgICAgfCBiZWhhdmVfY21kbGluZSAgICAgICAgfCBvdXRjb21lIHwKKysgICAgICB8IGV4 YW1wbGVzL2Vudl92YXJzICAgfCBmZWF0dXJlcy8gICAgICAgICAgICAgfCBwYXNzICAgIHwKKysg ICAgICB8IGV4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZCB8IGZlYXR1cmVzLyAgfCBwYXNz ICAgIHwKKysgICAgICB8IGV4YW1wbGVzL2doZXJraW5fdjYgfCBmZWF0dXJlcy8gICAgICAgICAg ICAgfCBwYXNzICAgIHwKKysKKysKKysgIFNjZW5hcmlvOiBleGFtcGxlcy9naGVya2luX3Y2IC0t IEB4ZmFpbCBwYXJ0cworKyAgICBHaXZlbiBJIHVzZSB0aGUgZGlyZWN0b3J5ICJleGFtcGxlcy9n aGVya2luX3Y2IiBhcyB3b3JraW5nIGRpcmVjdG9yeQorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUg LS10YWdzPWZhaWwgZmVhdHVyZXMvIgorKyAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6Cisr ICAgICAgIiIiCisrICAgICAgMCBmZWF0dXJlcyBwYXNzZWQsIDEgZmFpbGVkLCAyIHNraXBwZWQK KysgICAgICAwIHJ1bGVzIHBhc3NlZCwgMSBmYWlsZWQsIDYgc2tpcHBlZAorKyAgICAgIDEgc2Nl bmFyaW8gcGFzc2VkLCAyIGZhaWxlZCwgMTIgc2tpcHBlZAorKyAgICAgIDIgc3RlcHMgcGFzc2Vk LCAyIGZhaWxlZCwgMzkgc2tpcHBlZCwgMCB1bmRlZmluZWQKKysgICAgICAiIiIKKysgICAgQW5k IHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKysgICAgICAiIiIKKysgICAgICBG YWlsaW5nIHNjZW5hcmlvczoKKysgICAgICAgIGZlYXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZTo3 ICBGMCAtLSBGYWlscworKyAgICAgICAgZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlOjE2ICBG MiAtLSBGYWlscworKyAgICAgICIiIgorKworKworKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuNAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorKyAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuNgorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworKyAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgU2NlbmFyaW86IGV4YW1wbGVzL2FzeW5jX3N0ZXAg KG5lZWRzOiBweTM0IG9yIG5ld2VyKQorKyAgICBHaXZlbiBJIHVzZSB0aGUgZGlyZWN0b3J5ICJl eGFtcGxlcy9hc3luY19zdGVwIiBhcyB3b3JraW5nIGRpcmVjdG9yeQorKyAgICBXaGVuIEkgcnVu ICJiZWhhdmUgZmVhdHVyZXMvIgorKyAgICBUaGVuIGl0IHNob3VsZCBwYXNzCmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU3 LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDU3LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8u cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lZjA1ZjMzN2YKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDU3LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdh cy1icm9rZW4tbm8ucGF0Y2gKQEAgLTAsMCArMSw3MiBAQAorRnJvbSA4MGUxNDM4ZGU1YmIzNGI3 ZjZhZmE4NTI0Yjg1ZmVhM2YxNDM4OWM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDEz IEp1bCAyMDE5IDEzOjM5OjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVUSUw6IENvcnJlY3Qg VVJMIGFuZCBweXRob24gbW9kdWxlIChvbGQgd2FzIGJyb2tlbiwgbm8KKyBsb25nZXIgZXhpc3Rz KS4KKworLS0tCisgYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5IHwgMTkgKysrKysrKysrKysr LS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5IGIvYmluL2JlaGF2 ZTJjdWN1bWJlcl9qc29uLnB5CitpbmRleCA3MzhlNDQ0Li41NDEwNjFlIDEwMDc1NQorLS0tIGEv YmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5CisrKysgYi9iaW4vYmVoYXZlMmN1Y3VtYmVyX2pz b24ucHkKK0BAIC0zLDkgKzMsMTAgQEAKKyAjIENPTlZFUlQ6IGJlaGF2ZSBKU09OIGRpYWxlY3Qg dG8gY3VjdW1iZXIgSlNPTiBkaWFsZWN0CisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICMgU1RB VFVTOiBfX1BST1RPVFlQRV9fCistIyBSRVFVSVJFUzogUHl0aG9uID49IDIuNgorLSMgUkVRVUlS RVM6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhbGZpbmMvYjJjLworLSMgU0VFOiBodHRwczovL2dp dGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9pc3N1ZXMvMjY3I2lzc3VlY29tbWVudC0yNDk2MDcxOTEK KysjIFJFUVVJUkVTOiBQeXRob24gPj0gMi43CisrIyBSRVFVSVJFUzogaHR0cHM6Ly9naXRodWIu Y29tL2JlaGFsZi1vc3MvYmVoYXZlMmN1Y3VtYmVyCisrIyBTRUU6CisrIyAqIGh0dHBzOi8vZ2l0 aHViLmNvbS9iZWhhdmUvYmVoYXZlL2lzc3Vlcy8yNjcjaXNzdWVjb21tZW50LTI1MTc0NjU2NQor ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKyAiIiIKKyBDb252ZXJ0IGEgZmlsZSB3aXRoIGJlaGF2 ZSBKU09OIGRhdGEgaW50byBhIGZpbGUgd2l0aCBjdWN1bWJlciBKU09OIGRhdGEuCitAQCAtMTcs MTUgKzE4LDE2IEBAIGltcG9ydCBqc29uCisgaW1wb3J0IHN5cworIGltcG9ydCBvcy5wYXRoCisg dHJ5OgorLSAgICBpbXBvcnQgYjJjCisrICAgIGltcG9ydCBiZWhhdmUyY3VjdW1iZXIKKyBleGNl cHQgSW1wb3J0RXJyb3I6CistICAgIHByaW50KCJSRVFVSVJFOiBodHRwczovL2dpdGh1Yi5jb20v YmVoYWxmaW5jL2IyYy8gIChub3QgaW5zdGFsbGVkIHlldCkiKQorLSAgICBwcmludCgiSU5TVEFM TDogcGlwIGluc3RhbGwgYjJjIikKKysgICAgcHJpbnQoIlJFUVVJUkU6IGh0dHBzOi8vZ2l0aHVi LmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJjdWN1bWJlciAobm90IGluc3RhbGxlZCB5ZXQpIikKKysg ICAgcHJpbnQoIklOU1RBTEw6IHBpcCBpbnN0YWxsIGJlaGF2ZTJjdWN1bWJlciIpCisgICAgIHN5 cy5leGl0KDIpCisgCisgCisgTkFNRSA9IG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18pCisgCisr CisgZGVmIGNvbnZlcnRfYmVoYXZlX3RvX2N1Y3VtYmVyX2pzb24oYmVoYXZlX2ZpbGVuYW1lLCBj dWN1bWJlcl9maWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl bmNvZGluZz0iVVRGLTgiLCBwcmV0dHk9VHJ1ZSk6CisgICAgICIiIkNvbnZlcnQgYmVoYXZlIEpT T04gZGlhbGVjdCBpbnRvIGN1Y3VtYmVyIEpTT04gZGlhbGVjdC4KK0BAIC0zOSwxMiArNDEsMTQg QEAgZGVmIGNvbnZlcnRfYmVoYXZlX3RvX2N1Y3VtYmVyX2pzb24oYmVoYXZlX2ZpbGVuYW1lLCBj dWN1bWJlcl9maWxlbmFtZSwKKyAKKyAgICAgd2l0aCBvcGVuKGJlaGF2ZV9maWxlbmFtZSwgInIi KSBhcyBiZWhhdmVfanNvbjoKKyAgICAgICAgIHdpdGggb3BlbihjdWN1bWJlcl9maWxlbmFtZSwg IncrIikgYXMgb3V0cHV0X2ZpbGU6CistICAgICAgICAgICAgY3VjdW1iZXJfanNvbiA9IGIyYy5j b252ZXJ0KGpzb24ubG9hZChiZWhhdmVfanNvbiwgZW5jb2RpbmcpKQorKyAgICAgICAgICAgIGJl aGF2ZV9qc29uID0ganNvbi5sb2FkKGJlaGF2ZV9qc29uLCBlbmNvZGluZykKKysgICAgICAgICAg ICBjdWN1bWJlcl9qc29uID0gYmVoYXZlMmN1Y3VtYmVyLmNvbnZlcnQoYmVoYXZlX2pzb24pCisg ICAgICAgICAgICAgIyBjdWN1bWJlcl90ZXh0ID0ganNvbi5kdW1wcyhjdWN1bWJlcl9qc29uLCAq KmR1bXBfa3dhcmdzKQorICAgICAgICAgICAgICMgb3V0cHV0X2ZpbGUud3JpdGUoY3VjdW1iZXJf dGV4dCkKKyAgICAgICAgICAgICBqc29uLmR1bXAoY3VjdW1iZXJfanNvbiwgb3V0cHV0X2ZpbGUs ICoqZHVtcF9rd2FyZ3MpCisgICAgIHJldHVybiAwCisgCisrCisgZGVmIG1haW4oYXJncz1Ob25l KToKKyAgICAgIiIiTWFpbiBmdW5jdGlvbiB0byBydW4gdGhlIHNjcmlwdC4iIiIKKyAgICAgaWYg YXJncyBpcyBOb25lOgorQEAgLTU4LDYgKzYyLDcgQEAgZGVmIG1haW4oYXJncz1Ob25lKToKKyAg ICAgY3VjdW1iZXJfZmlsZW5hbWUgPSBhcmdzWzFdCisgICAgIHJldHVybiBjb252ZXJ0X2JlaGF2 ZV90b19jdWN1bWJlcl9qc29uKGJlaGF2ZV9maWxlbmFtZSwgY3VjdW1iZXJfZmlsZW5hbWUpCisg CisrCisgIyAtLSBBVVRPLU1BSU46CisgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICAg c3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1 OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uM2E5ZGUwOWY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OC1VVElMLUZvcm1hdHRpbmct dHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gNDRhMGMwNzhiZWNmMWMyMDM4M2Y2 ZjRjYjI1NjNkZDljYWJkMDEwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwg MjAxOSAxMzo0MDo0NiArMDIwMAorU3ViamVjdDogW1BBVENIXSBVVElMOiBGb3JtYXR0aW5nIHR3 ZWFrcy4KKworLS0tCisgYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5IHwgMiArLQorIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv YmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5IGIvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5 CitpbmRleCA1NDEwNjFlLi44OTNhNWVmIDEwMDc1NQorLS0tIGEvYmluL2JlaGF2ZTJjdWN1bWJl cl9qc29uLnB5CisrKysgYi9iaW4vYmVoYXZlMmN1Y3VtYmVyX2pzb24ucHkKK0BAIC0yMCw3ICsy MCw3IEBAIGltcG9ydCBvcy5wYXRoCisgdHJ5OgorICAgICBpbXBvcnQgYmVoYXZlMmN1Y3VtYmVy CisgZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBwcmludCgiUkVRVUlSRTogaHR0cHM6Ly9naXRo dWIuY29tL2JlaGFsZi1vc3MvYmVoYXZlMmN1Y3VtYmVyIChub3QgaW5zdGFsbGVkIHlldCkiKQor KyAgICBwcmludCgiUkVRVUlSRTogaHR0cHM6Ly9naXRodWIuY29tL2JlaGFsZi1vc3MvYmVoYXZl MmN1Y3VtYmVyIikKKyAgICAgcHJpbnQoIklOU1RBTEw6IHBpcCBpbnN0YWxsIGJlaGF2ZTJjdWN1 bWJlciIpCisgICAgIHN5cy5leGl0KDIpCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU5LUZpeGVkLWEtYnVnLXdoZXJl LXVzZV9maXh0dXJlX2J5X3RhZy1kaWRuLXQtcmV0dXJuLXQucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU5LUZpeGVkLWEtYnVnLXdo ZXJlLXVzZV9maXh0dXJlX2J5X3RhZy1kaWRuLXQtcmV0dXJuLXQucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44ODU3YjFjYTMKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU5LUZp eGVkLWEtYnVnLXdoZXJlLXVzZV9maXh0dXJlX2J5X3RhZy1kaWRuLXQtcmV0dXJuLXQucGF0Y2gK QEAgLTAsMCArMSwyMyBAQAorRnJvbSAyMDA4OTIzMjFkMjgwZTU5MDQyOGM0NmI1MjRjMmMyZjIy YWYwYmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uLVBpZXJyZSBHZW50aWwg PGpnZW50aWxAc2ViaXN0YXIubmV0PgorRGF0ZTogVGh1LCAxIEF1ZyAyMDE5IDExOjIxOjM2IC0w NTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeGVkIGEgYnVnIHdoZXJlIHVzZV9maXh0dXJlX2J5X3Rh ZyBkaWRuJ3QgcmV0dXJuIHRoZSBhY3R1YWwKKyBmaXh0dXJlIGlmIHRoZSByZWdpc3RyeSBlbnRy eSB3YXMganVzdCBhIGRpcmVjdCBmdW5jdGlvbi4KKworLS0tCisgYmVoYXZlL2ZpeHR1cmUucHkg fCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisK K2RpZmYgLS1naXQgYS9iZWhhdmUvZml4dHVyZS5weSBiL2JlaGF2ZS9maXh0dXJlLnB5CitpbmRl eCAzYTlmMWJjLi41MWUxOGJmIDEwMDY0NAorLS0tIGEvYmVoYXZlL2ZpeHR1cmUucHkKKysrKyBi L2JlaGF2ZS9maXh0dXJlLnB5CitAQCAtMjcyLDcgKzI3Miw3IEBAIGRlZiB1c2VfZml4dHVyZV9i eV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KToKKyAKKyAgICAgaWYgY2FsbGFi bGUoZml4dHVyZV9kYXRhKToKKyAgICAgICAgIGZpeHR1cmVfZnVuYyA9IGZpeHR1cmVfZGF0YQor LSAgICAgICAgdXNlX2ZpeHR1cmUoZml4dHVyZV9mdW5jLCBjb250ZXh0KQorKyAgICAgICAgcmV0 dXJuIHVzZV9maXh0dXJlKGZpeHR1cmVfZnVuYywgY29udGV4dCkKKyAgICAgZWxpZiBpc2luc3Rh bmNlKGZpeHR1cmVfZGF0YSwgKHR1cGxlLCBsaXN0KSk6CisgICAgICAgICBhc3NlcnQgbGVuKGZp eHR1cmVfZGF0YSkgPT0gMworICAgICAgICAgZml4dHVyZV9mdW5jLCBmaXh0dXJlX2FyZ3MsIGZp eHR1cmVfa3dhcmdzID0gZml4dHVyZV9kYXRhCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYwLUFkZGVkLWlzc3VlLXVuaXQt dGVzdC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNjAtQWRkZWQtaXNzdWUtdW5pdC10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uZDM0YWMwNWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MC1BZGRlZC1p c3N1ZS11bml0LXRlc3QucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRnJvbSBhNWU1MjI2ZjQ0Mzk1 ZDRlODg5ODczYzVlMzlhMjAzMjIxNjZlMmM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogSm9uLVBpZXJyZSBHZW50aWwgPGpnZW50aWxAc2ViaXN0YXIubmV0PgorRGF0ZTogVGh1LCAx IEF1ZyAyMDE5IDExOjQ4OjA4IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZGVkIGlzc3VlIHVu aXQgdGVzdAorCistLS0KKyB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkgfCA0NiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDQ2IGluc2Vy dGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3 LnB5CisKK2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkgYi90ZXN0 cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwLi4xZGUzNTg5CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy9pc3N1ZXMvdGVzdF9p c3N1ZTA3NjcucHkKK0BAIC0wLDAgKzEsNDYgQEAKKysiIiIKKytodHRwczovL2dpdGh1Yi5jb20v YmVoYXZlL2JlaGF2ZS9pc3N1ZXMvNzY3CisrCisrV2hlbiB0cnlpbmcgdG8gZG8gc29tZXRoaW5n IGxpa2U6OgorKworKyAgICBmaXh0dXJlX3JlZ2lzdHJ5ID0geydmaXh0dXJlLmZvbyc6IGZvb19m aXh0dXJlfQorKyAgICBmID0gdXNlX2ZpeHR1cmVfYnlfdGFnKCdmaXh0dXJlLmZvbycsIGNvbnRl eHQsIGZpeHR1cmVfcmVnaXN0cnkpCisrCisrQmVoYXZlIHJldHVybnMgbm90aGluZy4gOjoKKysK KysgICAgcmVwcihmKQorKyAgICAnTm9uZScKKysKKytUaGlzIHNlZW1zIHRvIGJlIGFuIG92ZXJz aWdodC4KKysiIiIKKysKKytmcm9tIG1vY2sgaW1wb3J0IE1vY2sKKysKKytkZWYgdGVzdF9pc3N1 ZV83NjdfdXNlX2ZlYXR1cmVfYnlfdGFnX2hhc19ub19yZXR1cm4oKToKKysgICAgIiIiVmVyaWZp ZXMgdGhhdCBpc3N1ZSAjNzY3IGlzIGZpeGVkLiIiIgorKyAgICBmcm9tIGJlaGF2ZS5maXh0dXJl IGltcG9ydCBmaXh0dXJlLCB1c2VfZml4dHVyZV9ieV90YWcKKysgICAgZnJvbSBiZWhhdmUucnVu bmVyIGltcG9ydCBDb250ZXh0CisrCisrICAgIEBmaXh0dXJlKG5hbWU9J2ZpeHR1cmUuZm9vJykK KysgICAgZGVmIGZvb19maXh0dXJlKGNvbnRleHQsICphcmdzLCAqKmt3YXJncyk6CisrICAgICAg ICBjb250ZXh0LmZvbyA9ICdmb28nCisrICAgICAgICByZXR1cm4gY29udGV4dC5mb28KKysKKysg ICAgIyAtLSBTQ0hFTUEgMTogZml4dHVyZV9mdW5jCisrICAgIGZpeHR1cmVfcmVnaXN0cnkxID0g eworKyAgICAgICAgImZpeHR1cmUuZm9vIjogZm9vX2ZpeHR1cmUKKysgICAgfQorKyAgICAjIC0t IFNDSEVNQSAyOiBmaXh0dXJlX2Z1bmMsIGZpeHR1cmVfYXJncywgZml4dHVyZV9rd2FyZ3MKKysg ICAgZml4dHVyZV9yZWdpc3RyeTIgPSB7CisrICAgICAgICAiZml4dHVyZS5mb28iOiAoZm9vX2Zp eHR1cmUsICgpLCB7fSkKKysgICAgfQorKworKyAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9 TW9jaygpKQorKyAgICBmMSA9IHVzZV9maXh0dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250 ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MSkKKysgICAgYXNzZXJ0IGYxID09ICdmb28nCisrICAgIGFz c2VydCBjb250ZXh0LmZvbyBpcyBmMQorKworKyAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9 TW9jaygpKQorKyAgICBmMiA9IHVzZV9maXh0dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250 ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MikKKysgICAgYXNzZXJ0IGYyID09ICdmb28nCisrICAgIGFz c2VydCBjb250ZXh0LmZvbyBpcyBmMgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MS1NZXJnZS1wdWxsLXJlcXVlc3QtNzY3 LXdpdGgtbWlub3ItdHdlYWtzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MS1NZXJnZS1wdWxsLXJlcXVlc3QtNzY3LXdpdGgtbWlu b3ItdHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNzY1 NDlkYmY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MS1NZXJnZS1wdWxsLXJlcXVlc3QtNzY3LXdpdGgtbWlu b3ItdHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gZmRhNDg4NmZlZjViYWYyOGE3 YjAwYWE2YjlmMWRkYjk0Y2U2M2ZjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA3IEF1 ZyAyMDE5IDIzOjE0OjU5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIE1lcmdlIHB1bGwtcmVxdWVz dCAjNzY3IHdpdGggbWlub3IgdHdlYWtzLiBGSVg6CisgdXNlX2ZpeHR1cmVfYnlfdGFnIGRpZG4n dCByZXR1cm4gdGhlIGFjdHVhbCBmaXh0dXJlIGluIGFsbCBjYXNlcy4KKworLS0tCisgQ0hBTkdF Uy5yc3QgICAgICAgICAgICAgICAgICAgIHwgIDEgKworIHRlc3RzL2lzc3Vlcy90ZXN0X2lzc3Vl MDc2Ny5weSB8IDE3ICsrKysrKysrKy0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNl cnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9D SEFOR0VTLnJzdAoraW5kZXggMTVhNGVmOS4uN2E5MTYzZiAxMDA2NDQKKy0tLSBhL0NIQU5HRVMu cnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTQzLDYgKzQzLDcgQEAgRklYRUQ6CisgCisgTUlO T1I6CisgCisrKiBwdWxsICAjNzY3OiBGSVg6IHVzZV9maXh0dXJlX2J5X3RhZyBkaWRuJ3QgcmV0 dXJuIHRoZSBhY3R1YWwgZml4dHVyZSBpbiBhbGwgY2FzZXMgKHByb3ZpZGVkIGJ5OiBqZ2VudGls KQorICogcHVsbCAgIzc1MTogZ2hlcmtpbjogQWRkaW5nIFJ1bGUga2V5d29yZCB0cmFuc2xhdGlv biBpbiBwb3J0dWd1ZXNlIGFuZCBzcGFuaXNoIHRvIGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24gKHBy b3ZpZGVkIGJ5OiBkdW5vc3NhdXJvKQorICogcHVsbCAgIzY2MDogRml4IG1pbm9yIHR5cG9zIChw cm92aWRlZCBieTogcnJ1ZXRoKQorICogcHVsbCAgIzY1NTogVXNlIHB5dGVzdCBpbnN0ZWFkIG9m IHB5LnRlc3QgcGVyIHVwc3RyZWFtIHJlY29tbWVuZGF0aW9uIChwcm92aWRlZCBieTogc2NvcCkK K2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkgYi90ZXN0cy9pc3N1 ZXMvdGVzdF9pc3N1ZTA3NjcucHkKK2luZGV4IDFkZTM1ODkuLjQwMWRiZDAgMTAwNjQ0CistLS0g YS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkKKysrKyBiL3Rlc3RzL2lzc3Vlcy90ZXN0 X2lzc3VlMDc2Ny5weQorQEAgLTE1LDExICsxNSwxMiBAQCBUaGlzIHNlZW1zIHRvIGJlIGFuIG92 ZXJzaWdodC4KKyAiIiIKKyAKKyBmcm9tIG1vY2sgaW1wb3J0IE1vY2sKKytmcm9tIGJlaGF2ZS5m aXh0dXJlIGltcG9ydCBmaXh0dXJlLCB1c2VfZml4dHVyZV9ieV90YWcKKytmcm9tIGJlaGF2ZS5y dW5uZXIgaW1wb3J0IENvbnRleHQKKysKKyAKKyBkZWYgdGVzdF9pc3N1ZV83NjdfdXNlX2ZlYXR1 cmVfYnlfdGFnX2hhc19ub19yZXR1cm4oKToKKyAgICAgIiIiVmVyaWZpZXMgdGhhdCBpc3N1ZSAj NzY3IGlzIGZpeGVkLiIiIgorLSAgICBmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCBmaXh0dXJl LCB1c2VfZml4dHVyZV9ieV90YWcKKy0gICAgZnJvbSBiZWhhdmUucnVubmVyIGltcG9ydCBDb250 ZXh0CisgCisgICAgIEBmaXh0dXJlKG5hbWU9J2ZpeHR1cmUuZm9vJykKKyAgICAgZGVmIGZvb19m aXh0dXJlKGNvbnRleHQsICphcmdzLCAqKmt3YXJncyk6CitAQCAtMzYsMTEgKzM3LDExIEBAIGRl ZiB0ZXN0X2lzc3VlXzc2N191c2VfZmVhdHVyZV9ieV90YWdfaGFzX25vX3JldHVybigpOgorICAg ICB9CisgCisgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCistICAgIGYxID0g dXNlX2ZpeHR1cmVfYnlfdGFnKCdmaXh0dXJlLmZvbycsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0 cnkxKQorLSAgICBhc3NlcnQgZjEgPT0gJ2ZvbycKKy0gICAgYXNzZXJ0IGNvbnRleHQuZm9vIGlz IGYxCisrICAgIGZpeHR1cmUxID0gdXNlX2ZpeHR1cmVfYnlfdGFnKCJmaXh0dXJlLmZvbyIsIGNv bnRleHQsIGZpeHR1cmVfcmVnaXN0cnkxKQorKyAgICBhc3NlcnQgZml4dHVyZTEgPT0gImZvbyIK KysgICAgYXNzZXJ0IGNvbnRleHQuZm9vIGlzIGZpeHR1cmUxCisgCisgICAgIGNvbnRleHQgPSBD b250ZXh0KHJ1bm5lcj1Nb2NrKCkpCistICAgIGYyID0gdXNlX2ZpeHR1cmVfYnlfdGFnKCdmaXh0 dXJlLmZvbycsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkyKQorLSAgICBhc3NlcnQgZjIgPT0g J2ZvbycKKy0gICAgYXNzZXJ0IGNvbnRleHQuZm9vIGlzIGYyCisrICAgIGZpeHR1cmUyID0gdXNl X2ZpeHR1cmVfYnlfdGFnKCJmaXh0dXJlLmZvbyIsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnky KQorKyAgICBhc3NlcnQgZml4dHVyZTIgPT0gImZvbyIKKysgICAgYXNzZXJ0IGNvbnRleHQuZm9v IGlzIGZpeHR1cmUyCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDYyLUNIRUNLLUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXIt VW5pY29kZUVycm9yLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA2Mi1DSEVDSy1Jc3N1ZS03NjYtUHJldHR5Rm9ybWF0dGVyLVVuaWNv ZGVFcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjY5OTQz M2U3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjItQ0hFQ0stSXNzdWUtNzY2LVByZXR0eUZvcm1hdHRlci1V bmljb2RlRXJyb3IucGF0Y2gKQEAgLTAsMCArMSw4MyBAQAorRnJvbSA3MGNhMzdkMzk3YWFjOTlh MDlhZjRkNGQzMmVhMGFlYmFlMjgxNWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDcg QXVnIDIwMTkgMjM6NTU6MDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ0hFQ0s6IElzc3VlICM3 NjYgLS0gUHJldHR5Rm9ybWF0dGVyOiBVbmljb2RlRXJyb3IKKworLS0tCisgaXNzdWUuZmVhdHVy ZXMvaXNzdWUwNzY2LmZlYXR1cmUgICAgICAgIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysr KworIGlzc3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2Nl9zdGVwcy5weSB8IDEyICsrKysrKysK KyAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQg aXNzdWUuZmVhdHVyZXMvaXNzdWUwNzY2LmZlYXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgaXNz dWUuZmVhdHVyZXMvc3RlcHMvaXNzdWUwNzY2X3N0ZXBzLnB5CisKK2RpZmYgLS1naXQgYS9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA3NjYuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDc2Ni5m ZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uOTRkNDRkOAorLS0t IC9kZXYvbnVsbAorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzY2LmZlYXR1cmUKK0BAIC0w LDAgKzEsNDcgQEAKKytAaXNzdWUKKytAbm90X3JlcHJvZHVjaWJsZQorK0ZlYXR1cmU6IElzc3Vl ICM3NjYgLS0gVW5pY29kZUVuY29kZUVycm9yIGluIFByZXR0eUZvcm1hdHRlcgorKworKyAgRXhw bG9yZSB0aGUgZGVzY3JpYmVkIHByb2JsZW0uCisrCisrICBTY2VuYXJpbyBPdXRsaW5lOgorKyAg ICBHaXZlbiBhIHN0ZXAgd2l0aCBuYW1lPSI8bmFtZT4iCisrCisrICAgIEV4YW1wbGVzOgorKyAg ICAgIHzCoG5hbWUgfCB2YWx1ZSB8IGNvbW1lbnQgfAorKyAgICAgIHwg8J+YhCAgIHwgMTIzICAg fCBVc2UgZW1vdGljb24gKHNtaWxleSkgaW4gYSB0YWJsZSB8CisrCisrICBTY2VuYXJpbzoKKysg ICAgR2l2ZW4gYSBzdGVwIHdpdGggdGFibGUgZGF0YToKKysgICAgICB8wqBuYW1lIHwgdmFsdWUg fCBjb21tZW50IHwKKysgICAgICB8IPCfmIQgICB8IDEyMyAgIHwgVXNlIGVtb3RpY29uIChzbWls ZXkpIGluIGEgdGFibGUgfAorKworKyAgU2NlbmFyaW86IEV4cGxvcmUgcHJvYmxlbSBieSB1c2lu ZyB0aGUgcHJldHR5IGZvcm1hdHRlcgorKyAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9y eQorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zeW5kcm9tZV83NjYuZmVhdHVyZSIg d2l0aDoKKysgICAgICAiIiIKKysgICAgICBGZWF0dXJlOiBBbGljZQorKyAgICAgICAgU2NlbmFy aW8gT3V0bGluZToKKysgICAgICAgICAgR2l2ZW4gYSBzdGVwIHdpdGggbmFtZT0iPG5hbWU+Igor KworKyAgICAgICAgICBFeGFtcGxlczoKKysgICAgICAgICAgICB8wqBuYW1lIHwgdmFsdWUgfCBj b21tZW50IHwKKysgICAgICAgICAgICB8IPCfmIQgICB8IDEyMyAgIHwgVXNlIGVtb3RpY29uIChz bWlsZXkpIGluIGEgdGFibGUgfAorKyAgICAgICIiIgorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJm ZWF0dXJlcy9zdGVwcy9pc3N1ZTc2Nl9zdGVwcy5weSIgd2l0aDoKKysgICAgICAiIiIKKysgICAg ICBmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4KKysKKysgICAgICBAZ2l2ZW4odSdhIHN0ZXAgd2l0 aCBuYW1lPSJ7bmFtZX0iJykKKysgICAgICBkZWYgc3RlcF93aXRoX3RhYmxlX2RhdGEoY3R4LCBu YW1lKToKKysgICAgICAgICAgcGFzcworKyAgICAgICIiIgorKyAgICBXaGVuIEkgcnVuICJiZWhh dmUgLWYgcHJldHR5IGZlYXR1cmVzL3N5bmRyb21lXzc2Ni5mZWF0dXJlIgorKyAgICBUaGVuIGl0 IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgMSBmZWF0dXJlIHBhc3NlZCwg MCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAgIDEgc2NlbmFyaW8gcGFzc2VkLCAwIGZhaWxlZCwg MCBza2lwcGVkCisrICAgICAgMSBzdGVwIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1 bmRlZmluZQorKyAgICAgICIiIgorKyAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBu b3QgY29udGFpbiAiVW5pY29kZUVuY29kZUVycm9yIgorKyAgICBBbmQgdGhlIGNvbW1hbmQgb3V0 cHV0IHNob3VsZCBub3QgY29udGFpbiAiVHJhY2ViYWNrIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZl YXR1cmVzL3N0ZXBzL2lzc3VlMDc2Nl9zdGVwcy5weSBiL2lzc3VlLmZlYXR1cmVzL3N0ZXBzL2lz c3VlMDc2Nl9zdGVwcy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjMz ZWQzMTcKKy0tLSAvZGV2L251bGwKKysrKyBiL2lzc3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2 Nl9zdGVwcy5weQorQEAgLTAsMCArMSwxMiBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisr CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorK2Zyb20gYmVoYXZlIGlt cG9ydCBnaXZlbgorKworK0BnaXZlbih1J2Egc3RlcCB3aXRoIHRhYmxlIGRhdGEnKQorK2RlZiBz dGVwX3dpdGhfdGFibGVfZGF0YShjdHgpOgorKyAgICBhc3NlcnQgY3R4LnRhYmxlIGlzIG5vdCBO b25lLCAiUkVRVUlSRTogc3RlcC50YWJsZSIKKysKKytAZ2l2ZW4odSdhIHN0ZXAgd2l0aCBuYW1l PSJ7bmFtZX0iJykKKytkZWYgc3RlcF93aXRoX3RhYmxlX2RhdGEoY3R4LCBuYW1lKToKKysgICAg cHJpbnQodSJuYW1lOiB7fSIuZm9ybWF0KG5hbWUpKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2My1GSVgtaXNzdWUtNzcy LVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2My1GSVgtaXNzdWUt NzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNTY4Yzc4NzIyCi0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2 My1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBh dGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gNWRmYjliMWM1ZTk3YjVlMWVlNTEwZjhkZmVlZmUw ZGM4NTliMzRmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAyMiBTZXAgMjAxOSAxODow ODoyMiArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVggaXNzdWUgIzc3MjogU2NlbmFyaW9PdXRs aW5lLkV4YW1wbGVzIHdpdGhvdXQgdGFibGUuCisKKy0tLQorIGJlaGF2ZS9tb2RlbC5weSAgICAg ICAgICAgICAgICAgIHwgIDggKysrKysrKy0KKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NzIuZmVh dHVyZSB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5n ZWQsIDM4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQg aXNzdWUuZmVhdHVyZXMvaXNzdWUwNzcyLmZlYXR1cmUKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9t b2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5kZXggNjlmMzhhYi4uZjQ2ZDJjMiAxMDA2NDQK Ky0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5CitAQCAtMTAsNyAr MTAsNyBAQCBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgbW9kZWwgZWxlbWVudCBjbGFzcyB0aGF0 IHJlcHJlc2VudCBhIGJlaGF2ZSBtb2RlbDoKKyAqIC4uLgorICIiIgorIAorLWZyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3aXRoX3N0YXRlbWVudAorK2Zyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3aXRoX3N0YXRlbWVudCwgcHJpbnRfZnVuY3Rp b24KKyBpbXBvcnQgY29weQorIGltcG9ydCBkaWZmbGliCisgaW1wb3J0IGxvZ2dpbmcKK0BAIC0x MzU1LDYgKzEzNTUsMTIgQEAgY2xhc3MgU2NlbmFyaW9PdXRsaW5lQnVpbGRlcihvYmplY3QpOgor ICAgICAgICAgICAgIGV4YW1wbGUuaW5kZXggPSBleGFtcGxlX2luZGV4KzEKKyAgICAgICAgICAg ICBwYXJhbXNbImV4YW1wbGVzLm5hbWUiXSA9IGV4YW1wbGUubmFtZQorICAgICAgICAgICAgIHBh cmFtc1siZXhhbXBsZXMuaW5kZXgiXSA9IF90ZXh0KGV4YW1wbGUuaW5kZXgpCisrICAgICAgICAg ICAgaWYgbm90IGV4YW1wbGUudGFibGU6CisrICAgICAgICAgICAgICAgICMgLS0gU1lORFJPTUU6 IEV4YW1wbGVzIGtleXdvcmQgd2l0aG91dCB0YWJsZQorKyAgICAgICAgICAgICAgICBwcmludCgi RVJST1I6IFNjZW5hcmlvT3V0bGluZS5FeGFtcGxlczogSGFzIE5PLVRBQkxFIHN5bmRyb21lICh7 MH0pIlwKKysgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChleGFtcGxlLmxvY2F0aW9uKSkK KysgICAgICAgICAgICAgICAgY29udGludWUKKysKKyAgICAgICAgICAgICBmb3Igcm93X2luZGV4 LCByb3cgaW4gZW51bWVyYXRlKGV4YW1wbGUudGFibGUpOgorICAgICAgICAgICAgICAgICByb3cu aW5kZXggPSByb3dfaW5kZXgrMQorICAgICAgICAgICAgICAgICByb3cuaWQgPSAiJWQuJWQiICUg KGV4YW1wbGUuaW5kZXgsIHJvdy5pbmRleCkKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9p c3N1ZTA3NzIuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDc3Mi5mZWF0dXJlCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZWJhMGVhNQorLS0tIC9kZXYvbnVsbAor KysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzcyLmZlYXR1cmUKK0BAIC0wLDAgKzEsMzEgQEAK KytAaXNzdWUKKytGZWF0dXJlOiBJc3N1ZSAjNzcyIC0tIFN5bmRyb21lOiBTY2VuYXJpb091dGxp bmUgd2l0aCBFeGFtcGxlcyBrZXl3b3JkIHcvbyBUYWJsZQorKworKworKworKyAgQmFja2dyb3Vu ZDogU2V0dXAKKysgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKysgICAgQW5kIGEg ZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3luZHJvbWVfNzcyLmZlYXR1cmUiIHdpdGg6CisrICAgICAg IiIiCisrICAgICAgRmVhdHVyZTogRXhhbXBsZXMgd2l0aG91dCB0YWJsZQorKworKyAgICAgICAg U2NlbmFyaW8gT3V0bGluZToKKysgICAgICAgICAgR2l2ZW4gYSBzdGVwIHBhc3NlcworKyAgICAg ICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKKysKKysgICAgICAgICAgRXhhbXBsZXM6IFdp dGhvdXQgdGFibGUKKysgICAgICAiIiIKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMv c3RlcHMvdXNlX3N0ZXBfbGlicmFyeS5weSIgd2l0aDoKKysgICAgICAiIiIKKysgICAgICAjIC0t IFJFVVNFIFNURVBTOgorKyAgICAgIGltcG9ydCBiZWhhdmU0Y21kMC5wYXNzaW5nX3N0ZXBzCisr ICAgICAgIiIiCisrCisrICBTY2VuYXJpbzogVXNlIFNjZW5hcmlvT3V0bGluZSB3aXRoIEV4YW1w bGVzIGtleXdvcmQgd2l0aG91dCB0YWJsZQorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxh aW4gZmVhdHVyZXMvc3luZHJvbWVfNzcyLmZlYXR1cmUiCisrICAgIFRoZW4gaXQgc2hvdWxkIHBh c3Mgd2l0aDoKKysgICAgICAiIiIKKysgICAgICBGZWF0dXJlOiBFeGFtcGxlcyB3aXRob3V0IHRh YmxlCisrICAgICAgRVJST1I6IFNjZW5hcmlvT3V0bGluZS5FeGFtcGxlczogSGFzIE5PLVRBQkxF IHN5bmRyb21lIChmZWF0dXJlcy9zeW5kcm9tZV83NzIuZmVhdHVyZTo3KQorKyAgICAgICIiIgor KyAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBub3QgY29udGFpbiAiUGFyc2VyIGZh aWx1cmUgaW4gc3RhdGUiCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY0LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5l LkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY0LUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRs aW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi41YTQ4NzVjM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY0LUZJWC1pc3N1ZS03NzIt U2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2gKQEAgLTAsMCArMSwy MSBAQAorRnJvbSBiOTc2YmZkY2ZiYTdiZmRjN2Y1ZGY3Njk0YjYzYTliN2JmNjgzYTRjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDIyIFNlcCAyMDE5IDE4OjA5OjUwICswMjAwCitTdWJq ZWN0OiBbUEFUQ0hdIEZJWCBpc3N1ZSAjNzcyOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0 aG91dCB0YWJsZS4KKworLS0tCisgQ0hBTkdFUy5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QK K2luZGV4IDdhOTE2M2YuLmJhNGRhYWQgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIv Q0hBTkdFUy5yc3QKK0BAIC0zMyw2ICszMyw3IEBAIEVOSEFOQ0VNRU5UUzoKKyAKKyBGSVhFRDoK KyAKKysqIGlzc3VlICM3NzI6IFNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcyB3aXRob3V0IHRhYmxl IChzdWJtaXR0ZWQgYnk6IFRoZS1RQS1HZWVrKQorICogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0 aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6IGhyb25jb2spCisgKiBpc3N1ZSAjNzI1OiBTY2Vu YXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0 dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAjNzEzOiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24n dCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92aWRlZCBieTogZGdvdSkKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjUtTmli YmxlLVRyYXZpc0NJLXRvLXdha2UtdXAucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY1LU5pYmJsZS1UcmF2aXNDSS10by13YWtlLXVw LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYTIwZTdkOGFlCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA2NS1OaWJibGUtVHJhdmlzQ0ktdG8td2FrZS11cC5wYXRjaApAQCAtMCww ICsxLDIxIEBACitGcm9tIDc3MTU5Y2MzYmUxY2VmMzUwMjE5OWM4YWNjY2U3NDc5Y2ZlZTNjM2Ig TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTEgRGVjIDIwMTkgMDg6MjM6MDggKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gTmliYmxlIFRyYXZpc0NJIHRvIHdha2UgdXAuCisKKy0tLQorIC50 cmF2aXMueW1sIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYg LS1naXQgYS8udHJhdmlzLnltbCBiLy50cmF2aXMueW1sCitpbmRleCBjNjAyN2UwLi43ODFhNjEw IDEwMDY0NAorLS0tIGEvLnRyYXZpcy55bWwKKysrKyBiLy50cmF2aXMueW1sCitAQCAtNiw2ICs2 LDcgQEAgcHl0aG9uOgorICAgLSAiMy43IgorICAgLSAiMi43IgorIAorKworICMgLS0gRElTQUJM RS1URU1QT1JBUklMWTogRW5zdXJlIGZhc3RlciBidWlsZHMKKyAjICAtICIzLjYiCisgIyAgLSAi My41IgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA2Ni1Ud2Vhay1weXRlc3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2ggYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY2LVR3 ZWFrLXB5dGVzdC12ZXJzaW9uLXNlbGVjdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLmMyMmE3NGI2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjYtVHdlYWstcHl0ZXN0 LXZlcnNpb24tc2VsZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMzRkNTIxNWMy NmU2YWRiNzRjOTRmNTNiNWI0MzQzZWE4ZDIwYzQxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTog V2VkLCAxMSBEZWMgMjAxOSAwODozMDoxMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBUd2VhayBw eXRlc3QgdmVyc2lvbiBzZWxlY3Rpb24KKworLS0tCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZp cy50eHQgfCAzICsrLQorIHNldHVwLnB5ICAgICAgICAgICAgICAgICAgICAgIHwgMyArKy0KKyAy IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2Np LnRyYXZpcy50eHQKK2luZGV4IDczZDY1ZjYuLjVmMzE4MDIgMTAwNjQ0CistLS0gYS9weS5yZXF1 aXJlbWVudHMvY2kudHJhdmlzLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50 eHQKK0BAIC0xLDYgKzEsNyBAQAorIG1vY2sKKyBQeUhhbWNyZXN0ID49IDEuOQorLXB5dGVzdCA+ PSAzLjAKKytweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJworK3B5dGVzdCA+ PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisg CisgIyAtLSBORUVERUQ6IEJ5IHNvbWUgdGVzdHMgKGFzIHByb29mIG9mIGNvbmNlcHQpCitkaWZm IC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggOGRlM2VjMC4uNzVkNjg0NyAxMDA2 NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTg3LDcgKzg3LDggQEAgc2V0 dXAoCisgICAgICAgICAiY29sb3JhbWEiLAorICAgICBdLAorICAgICB0ZXN0c19yZXF1aXJlPVsK Ky0gICAgICAgICJweXRlc3QgPj0gNC4yIiwKKysgICAgICAgICJweXRlc3QgPCAgNS4wOyBweXRo b25fdmVyc2lvbiA8ICAnMy4wJyIsICMgPj0gNC4yCisrICAgICAgICAicHl0ZXN0ID49IDUuMDsg cHl0aG9uX3ZlcnNpb24gPj0gJzMuMCciLAorICAgICAgICAgInB5dGVzdC1odG1sID49IDEuMTku MCIsCisgICAgICAgICAibW9jayA+PSAxLjEiLAorICAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS45 IiwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNjctVHdlYWstcHl0ZXN0LWNvbmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1KVW5p dC1YTUwtZGlhbC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjctVHdlYWstcHl0ZXN0LWNvbmZpZ3VyYXRpb24tdG8tc2lsZW5jZS1K VW5pdC1YTUwtZGlhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu Ljg0Mjc5ODM4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjctVHdlYWstcHl0ZXN0LWNvbmZpZ3VyYXRpb24t dG8tc2lsZW5jZS1KVW5pdC1YTUwtZGlhbC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDBh MTRiYjhmNTEyMDJjZTEwMzEyMTFlNjQ4NDE5MjdlODQxOGVhYWMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IFdlZCwgMTEgRGVjIDIwMTkgMDg6Mzc6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0g VHdlYWsgcHl0ZXN0IGNvbmZpZ3VyYXRpb24gdG8gc2lsZW5jZSBKVW5pdCBYTUwgZGlhbGVjdAor IHdhcm5pbmcuCisKKy0tLQorIHB5dGVzdC5pbmkgfCA3ICsrKysrKy0KKyAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9weXRlc3Qu aW5pIGIvcHl0ZXN0LmluaQoraW5kZXggZmYyYThhMi4uMjI4Mjc5YyAxMDA2NDQKKy0tLSBhL3B5 dGVzdC5pbmkKKysrKyBiL3B5dGVzdC5pbmkKK0BAIC0xNiw5ICsxNiwxMCBAQAorICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorIAorIFtweXRlc3RdCistbWludmVyc2lvbiAgICA9IDIuOAorK21pbnZl cnNpb24gICAgPSA0LjIKKyB0ZXN0cGF0aHMgICAgID0gdGVzdHMKKyBweXRob25fZmlsZXMgID0g dGVzdF8qLnB5CisranVuaXRfZmFtaWx5ID0geHVuaXQyCisgYWRkb3B0cyA9IC0tbWV0YWRhdGEg UEFDS0FHRV9VTkRFUl9URVNUIGJlaGF2ZQorICAgICAtLW1ldGFkYXRhIFBBQ0tBR0VfVkVSU0lP TiAxLjIuNy5kZXYxCisgICAgIC0taHRtbD1idWlsZC90ZXN0aW5nL3JlcG9ydC5odG1sIC0tc2Vs Zi1jb250YWluZWQtaHRtbAorQEAgLTI3LDYgKzI4LDEwIEBAIG1hcmtlcnMgPQorICAgICBzbW9r ZQorICAgICBzbG93CisgCisrIyAtLSBQUkVQQVJFRDoKKysjIGZpbHRlcndhcm5pbmdzID0KKysj ICAgIGlnbm9yZTouKmludmFsaWQgZXNjYXBlIHNlcXVlbmNlLio6RGVwcmVjYXRpb25XYXJuaW5n CisrCisgIyAtLSBCQUNLV0FSRCBDT01QQVRJQklMSVRZOiBweXRlc3QgPCAyLjgKKyAjIG5vcmVj dXJzZWRpcnMgPSAuZ2l0IC50b3ggYnVpbGQgZGlzdCBweS5yZXF1aXJlbWVudHMgdG1wKiBfV09S S1NQQUNFCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDY4LUFkZC1iYXNpYy1mZWF0dXJlLXRlc3QtZm9yLXdpbGRjYXJk LXBhdHRlcm4tbWF0Y2hpbmcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDY4LUFkZC1iYXNpYy1mZWF0dXJlLXRlc3QtZm9yLXdpbGRj YXJkLXBhdHRlcm4tbWF0Y2hpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi5lZjUxMDAwMGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY4LUFkZC1iYXNpYy1mZWF0dXJlLXRl c3QtZm9yLXdpbGRjYXJkLXBhdHRlcm4tbWF0Y2hpbmcucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAor RnJvbSBmYzRkYTlhYTg3NzJkNWE4OWNiMGRkMzcwMmE1MzcyMmQxNDk5YWRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5IDE1OjUwOjM3ICswMTAwCitTdWJqZWN0OiBb UEFUQ0hdIEFkZCBiYXNpYyBmZWF0dXJlLXRlc3QgZm9yIHdpbGRjYXJkIHBhdHRlcm4tbWF0Y2hp bmcgdGhhdCBpcworIHN1cHBvcnRlZCBieSBjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgKHB5dGhv bi1vbmx5KS4KKworLS0tCisgLi4uL3RhZ3MudGFnX2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZl YXR1cmUgIHwgMzkgKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNl cnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGZlYXR1cmVzL3RhZ3MudGFnX2V4cHJlc3Np b25fdjIud2lsZGNhcmRzLmZlYXR1cmUKKworZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3RhZ3MudGFn X2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZlYXR1cmUgYi9mZWF0dXJlcy90YWdzLnRhZ19leHBy ZXNzaW9uX3YyLndpbGRjYXJkcy5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMC4uMzcyYTczMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZmVhdHVyZXMvdGFncy50YWdf ZXhwcmVzc2lvbl92Mi53aWxkY2FyZHMuZmVhdHVyZQorQEAgLTAsMCArMSwzOSBAQAorK0ZlYXR1 cmU6IFRhZyBFeHByZXNzaW9uIHYyIEV4dGVuc2lvbjogV2lsZGNhcmRzIGZvciB0YWcgbWF0Y2hp bmcKKysKKysgIEFzIGEgdGVzdGVyCisrICBJIHdhbnQgdG8gdXNlIGEgd2lsZGNhcmQgcGF0dGVy biB0byBzZWxlY3QgdGFncyBmb2xsb3dpbmcgYSBuYW1pbmcgc2NoZW1lCisrICBTbyB0aGF0IGl0 IGlzIHNpbXBsZXIgdG8gc2VsZWN0IGEgc3Vic2V0IG9mIHNjZW5hcmlvcyBhbmQgZmVhdHVyZXMu CisrCisrICAuIFNQRUNJRklDQVRJT046IFdpbGRjYXJkcyBpbiB0YWctZXhwcmVzc2lvbnMgdjIK KysgIC4gICAqIFVzZSBmaWxlLW5hbWUgbWF0Y2hpbmcgd2lsZGNhcmRzIChmbm1hdGNoKTogKiwg PworKyAgLiAgICogYSB0YWcgZXhwcmVzc2lvbiBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbgorKyAg LiAgICogYSB0YWcgZXhwcmVzc2lvbiBzdXBwb3J0cyB0aGUgb3BlcmF0b3JzOiBhbmQsIG9yLCBu b3QKKysgIC4gICAqIGEgdGFnIGV4cHJlc3Npb24gc3VwcG9ydHMgJygnIGFuZCAnKScgZm9yIGdy b3VwaW5nIGV4cHJlc3Npb25zCisrICAuCisrICAuIEVYQU1QTEVTOgorKyAgLiAgIHwgVGFnIGV4 cHJlc3Npb24gICAgICAgICAgfCBDb21tZW50IHwKKysgIC4gICB8IEBmb28uKiAgICAgICAgICAg ICAgICAgIHwgTWF0Y2hlcyBhbnkgdGFncyB0aGF0IHN0YXJ0IHdpdGggIkBmb28uIiB8CisrICAu ICAgfCBub3QgQGZvby4qICAgICAgICAgICAgICB8IEV4Y2x1ZGVzIGFueSBlbGVtZW50IHRoYXQg aGF2ZSB0YWdzIHRoYXQgc3RhcnQgd2l0aCAiQGZvby4iIHwKKysKKysKKysgIFNjZW5hcmlvOiBT ZWxlY3QgdGFncyB0aGF0IG1hdGNoIHRoZSAiQGZvby4qIiBwYXR0ZXJuCisrICAgIEdpdmVuIHRo ZSB0YWcgZXhwcmVzc2lvbiAiQGZvby4qIgorKyAgICBUaGVuIHRoZSB0YWcgZXhwcmVzc2lvbiBz ZWxlY3RzIGVsZW1lbnRzIHdpdGggdGFnczoKKysgICAgICAgIHwgdGFncyAgICAgICAgICB8IHNl bGVjdGVkPyB8CisrICAgICAgICB8ICAgICAgICAgICAgICAgfCAgIG5vICAgICAgfAorKyAgICAg ICAgfCBAZm9vICAgICAgICAgIHwgICBubyAgICAgIHwKKysgICAgICAgIHwgQGZvby5vbmUgICAg ICB8ICAgeWVzICAgICB8CisrICAgICAgICB8IEBmb28udHdvICAgICAgfCAgIHllcyAgICAgfAor KyAgICAgICAgfCBAb3RoZXIgICAgICAgIHwgICBubyAgICAgIHwKKysgICAgICAgIHwgQGZvby4z IEBvdGhlciB8ICAgeWVzICAgICB8CisrCisrICBTY2VuYXJpbzogU2VsZWN0IHRhZ3MgdGhhdCBk byBub3QgbWF0Y2ggdGhlICJAZm9vLioiIHBhdHRlcm4KKysgICAgR2l2ZW4gdGhlIHRhZyBleHBy ZXNzaW9uICJub3QgQGZvby4qIgorKyAgICBUaGVuIHRoZSB0YWcgZXhwcmVzc2lvbiBzZWxlY3Rz IGVsZW1lbnRzIHdpdGggdGFnczoKKysgICAgICAgIHwgdGFncyAgICAgICAgICB8IHNlbGVjdGVk PyB8CisrICAgICAgICB8ICAgICAgICAgICAgICAgfCAgIHllcyAgICAgfAorKyAgICAgICAgfCBA Zm9vICAgICAgICAgIHwgICB5ZXMgICAgIHwKKysgICAgICAgIHwgQGZvby5vbmUgICAgICB8ICAg bm8gICAgICB8CisrICAgICAgICB8IEBmb28udHdvICAgICAgfCAgIG5vICAgICAgfAorKyAgICAg ICAgfCBAb3RoZXIgICAgICAgIHwgICB5ZXMgICAgIHwKKysgICAgICAgIHwgQGZvby4zIEBvdGhl ciB8ICAgbm8gICAgICB8CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY5LVVQREFURS1kZXBlbmRlbmNpZXMtcGF0aC5weS1w YXRoLXB5dGVzdC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjktVVBEQVRFLWRlcGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0ZXN0 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmFmMTY2OTI5Ci0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA2OS1VUERBVEUtZGVwZW5kZW5jaWVzLXBhdGgucHktcGF0aC1weXRlc3Qu cGF0Y2gKQEAgLTAsMCArMSwxNDEgQEAKK0Zyb20gZTYzNjExODE1NGIxMDUyNmUwNzVjMzc4M2E0 MzlkNThjMWYwZTBhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGpl bmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAy MDoxMjoxNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEU6IGRlcGVuZGVuY2llcyAocGF0 aC5weSA8PT4gcGF0aCwgcHl0ZXN0LCAuLi4pCisKKy0tLQorIHB5LnJlcXVpcmVtZW50cy9jaS50 b3gudHh0ICAgIHwgIDggKysrKysrLS0KKyBweS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCB8 IDExICsrKysrKysrLS0tCisgcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0ICAgfCAgNSArKysr LQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCAgIHwgIDcgKysrKystLQorIHNldHVwLnB5 ICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKy0tCisgdGFza3MvcHkucmVxdWlyZW1lbnRz LnR4dCAgICAgfCAgNSArKysrLQorIDYgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4 dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CitpbmRleCA2YjNiM2FlLi40MDAxYmMyIDEw MDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKKysrKyBiL3B5LnJlcXVpcmVt ZW50cy9jaS50b3gudHh0CitAQCAtMiw4ICsyLDEyIEBACisgIyBCRUhBVkU6IFBZVEhPTiBQQUNL QUdFIFJFUVVJUkVNRU5UUzogY2kudG94LnR4dAorICMgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAor LXB5dGVzdCA+PSA0LjIKKytweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJyAj IHB5dGVzdCA+PSA0LjIKKytweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJwor IHB5dGVzdC1odG1sID49IDEuMTkuMAorIG1vY2sgPj0gMi4wCisgUHlIYW1jcmVzdCA+PSAxLjkK Ky1wYXRoLnB5ID49IDEwLjEKKysKKysjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9u LWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKytwYXRoLnB5ID49IDEx LjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKytwYXRoID49IDEzLjEuMDsgICAgcHl0aG9u X3ZlcnNpb24gPj0gJzMuNScKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlz LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitpbmRleCA1ZjMxODAyLi5kZTQx MjBhIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5 LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitAQCAtMSwxMiArMSwxNyBAQAorLW1vY2sKKy1Q eUhhbWNyZXN0ID49IDEuOQorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMgUFlUSE9OIFBBQ0tB R0UgUkVRVUlSRU1FTlRTIEZPUjogYmVoYXZlIC0tIGNpLnRyYXZpcy50eHQKKysjID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKyBweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIHB5 dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4x OS4wCisrbW9jayAgPj0gMi4wCisrUHlIYW1jcmVzdCA+PSAxLjkKKyAKKyAjIC0tIE5FRURFRDog Qnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAu MSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CistcGF0aC5weSA+PSAxMC4xCisrIyBISU5UOiBw YXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5 dGhvbjMpCisrcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisrcGF0 aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCisgCisgIyAtLSBOT1RFOiBU cmF2aXMuQ0kgdHdlYWsgcmVsYXRlZCB3LyBpbnZhbGlkIGxpbmVjYWNoZTIgdGVzdHMuCisgIyAg ICBUaGlzIHByb2JsZW0gZG9lcyBub3QgZXhpc3QgaWYgeW91IHVzZSBwaXAuCitkaWZmIC0tZ2l0 IGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0IGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3Au dHh0CitpbmRleCBhMTZkN2JmLi5hOTJlZTVmIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRz L2RldmVsb3AudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKK0BAIC02LDEw ICs2LDEzIEBACisgIyBQUkVQQVJFIFVTQUdFOiBpbnZva2UKKyAjIEFMUkVBRFk6IHNpeCA+PSAx LjExLjAKKyBpbnZva2UgPj0gMS4yLjAKKy1wYXRoLnB5ID49IDExLjUuMAorIHBhdGhsaWI7ICAg IHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnCisgcHljbWQKKyAKKysjIC0tIEhJTlQ6IHBhdGgucHkg PT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykK KytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKytwYXRoID49IDEz LjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKKysKKyAjIC0tIENPTkZJR1VSQVRJT04g TUFOQUdFTUVOVCAoaGVscGVycyk6CisgIyBGT1JNRVI6IGJ1bXB2ZXJzaW9uID49IDAuNC4wCisg YnVtcDJ2ZXJzaW9uID49IDAuNS42CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3Rp bmcudHh0IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitpbmRleCBhNDE4NzM5Li44NWIw OTA4IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysgYi9weS5y ZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK0BAIC00LDExICs0LDE0IEBACisgCisgIyAtLSBURVNU SU5HOiBVbml0IHRlc3RzIGFuZCBiZWhhdmUgc2VsZi10ZXN0cy4KKyAjIFBSRVBBUkVELUZVVFVS RTogYmVoYXZlNGNtZDAsIGJlaGF2ZTRjbWQKKy1weXRlc3QgPj0gNC4yCisrcHl0ZXN0IDwgIDUu MDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcgIyBweXRlc3QgPj0gNC4yCisrcHl0ZXN0ID49IDUu MDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBtb2Nr ICA+PSAyLjAKKyBQeUhhbWNyZXN0ID49IDEuOQorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRl c3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVp cmVkIGZvciBweXRob24yLjYKKy1wYXRoLnB5ID49IDExLjUuMAorKyMgSElOVDogcGF0aC5weSA9 PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQor K3BhdGgucHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy41JworK3BhdGggPj0gMTMu MS4wOyAgICBweXRob25fdmVyc2lvbiA+PSAnMy41JworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIv c2V0dXAucHkKK2luZGV4IDc1ZDY4NDcuLjJhZmMxNDcgMTAwNjQ0CistLS0gYS9zZXR1cC5weQor KysrIGIvc2V0dXAucHkKK0BAIC03Nyw3ICs3Nyw3IEBAIHNldHVwKAorICAgICBweXRob25fcmVx dWlyZXM9Ij49Mi43LCAhPTMuMC4qLCAhPTMuMS4qLCAhPTMuMi4qIiwKKyAgICAgaW5zdGFsbF9y ZXF1aXJlcz1bCisgICAgICAgICAiY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4yIiwK Ky0gICAgICAgICJwYXJzZSA+PSAxLjguMiIsCisrICAgICAgICAicGFyc2UgPj0gMS45LjEiLAor ICAgICAgICAgInBhcnNlX3R5cGUgPj0gMC40LjIiLAorICAgICAgICAgInNpeCA+PSAxLjEyLjAi LAorICAgICAgICAgInRyYWNlYmFjazI7IHB5dGhvbl92ZXJzaW9uIDwgJzMuMCciLAorQEAgLTky LDcgKzkyLDkgQEAgc2V0dXAoCisgICAgICAgICAicHl0ZXN0LWh0bWwgPj0gMS4xOS4wIiwKKyAg ICAgICAgICJtb2NrID49IDEuMSIsCisgICAgICAgICAiUHlIYW1jcmVzdCA+PSAxLjkiLAorLSAg ICAgICAgInBhdGgucHkgPj0gMTEuNS4wIgorKyAgICAgICAgIyAtLSBISU5UOiBwYXRoLnB5ID0+ IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisr ICAgICAgICAicGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnIiwKKysg ICAgICAgICJwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNSciLAorICAg ICBdLAorICAgICBjbWRjbGFzcyA9IHsKKyAgICAgICAgICJiZWhhdmVfdGVzdCI6IGJlaGF2ZV90 ZXN0LAorZGlmZiAtLWdpdCBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQgYi90YXNrcy9weS5y ZXF1aXJlbWVudHMudHh0CitpbmRleCBhNzdkM2JjLi44MTBmODM0IDEwMDY0NAorLS0tIGEvdGFz a3MvcHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAor QEAgLTksMTAgKzksMTMgQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyBpbnZva2UgPj0g MS4yLjAKKy1wYXRoLnB5ID49IDExLjUuMAorIHB5Y21kCisgc2l4ID49IDEuMTIuMAorIAorKyMg LS0gSElOVDogcGF0aC5weSA9PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5h bWVkIGZvciBweXRob24zKQorK3BhdGgucHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAn My41JworK3BhdGggPj0gMTMuMS4wOyAgICBweXRob25fdmVyc2lvbiA+PSAnMy41JworKworICMg LS0gUFlUSE9OMiBCQUNLUE9SVFM6CisgcGF0aGxpYjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMu NCcKKyBiYWNrcG9ydHMuc2h1dGlsX3doaWNoOyBweXRob25fdmVyc2lvbiA8PSAnMy4zJwpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA3MC1weXRlc3QtRGlzYWJsZS1EZXByZWNhdGVkV2FybmluZy1mcm9tLWRpc3R1dGlscy1w YWNrLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA3MC1weXRlc3QtRGlzYWJsZS1EZXByZWNhdGVkV2FybmluZy1mcm9tLWRpc3R1dGls cy1wYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNDY5MWQy ZGRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA3MC1weXRlc3QtRGlzYWJsZS1EZXByZWNhdGVkV2FybmluZy1m cm9tLWRpc3R1dGlscy1wYWNrLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gOGUzMGJmNDE5 NjA5NzE5ZWUxOTA0YjhlZmE4YWIxMjRmZDhiODZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTog U3VuLCAxNSBEZWMgMjAxOSAyMDoxNjo0MyArMDEwMAorU3ViamVjdDogW1BBVENIXSBweXRlc3Q6 IERpc2FibGUgRGVwcmVjYXRlZFdhcm5pbmcgZnJvbSBkaXN0dXRpbHMgcGFja2FnZS4KKworLS0t CisgcHl0ZXN0LmluaSB8IDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHl0ZXN0LmluaSBiL3B5dGVzdC5pbmkK K2luZGV4IDIyODI3OWMuLmI5ZjI4MWEgMTAwNjQ0CistLS0gYS9weXRlc3QuaW5pCisrKysgYi9w eXRlc3QuaW5pCitAQCAtMjksOCArMjksOSBAQCBtYXJrZXJzID0KKyAgICAgc2xvdworIAorICMg LS0gUFJFUEFSRUQ6CistIyBmaWx0ZXJ3YXJuaW5ncyA9CistIyAgICBpZ25vcmU6LippbnZhbGlk IGVzY2FwZSBzZXF1ZW5jZS4qOkRlcHJlY2F0aW9uV2FybmluZworK2ZpbHRlcndhcm5pbmdzID0K KysgICBpZ25vcmU6Lip0aGUgaW1wIG1vZHVsZSBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBp bXBvcnRsaWIuKjpEZXByZWNhdGlvbldhcm5pbmcKKysjICAgaWdub3JlOi4qaW52YWxpZCBlc2Nh cGUgc2VxdWVuY2UuKjpEZXByZWNhdGlvbldhcm5pbmcKKyAKKyAjIC0tIEJBQ0tXQVJEIENPTVBB VElCSUxJVFk6IHB5dGVzdCA8IDIuOAorICMgbm9yZWN1cnNlZGlycyA9IC5naXQgLnRveCBidWls ZCBkaXN0IHB5LnJlcXVpcmVtZW50cyB0bXAqIF9XT1JLU1BBQ0UKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5V UC1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxhdGVkLXRvLTc5Ny5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5VUC1BZGQt Q29udGV4dE1vZGUtZW51bS1yZWxhdGVkLXRvLTc5Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjQyNGYwZTA0NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzEtQ0xFQU5VUC1B ZGQtQ29udGV4dE1vZGUtZW51bS1yZWxhdGVkLXRvLTc5Ny5wYXRjaApAQCAtMCwwICsxLDIxNiBA QAorRnJvbSA5YzFjOGE1MjhmYjczNzAwMDc0ZTA5YzI5ZGZlYTkwNDVjNWU4OGVlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5IDIxOjIwOjE4ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIENMRUFOVVA6IEFkZCBDb250ZXh0TW9kZSBlbnVtIHJlbGF0ZWQgdG8gIzc5Nwor CitBZGQgQ29udGV4dE1vZGUgZW51bSB0byBjbGVhbnVwIHdlaXJkbmVzcyByZWxhdGVkIHRvIGlz c3VlICM3OTcuCitQcmUtZXhpc3RpbmcgQ29udGV4dC5CRUhBVkUvVVNFUiBjb25zdGFudHMgb3Zl cnNoYWRvd2VkIHVzZXIgYXR0cmlidXRlcworaW4gQ29udGV4dC5hdHRyaWJ1dGUgcmV0cmlldmFs IGNhc2UuCistLS0KKyBiZWhhdmUvcnVubmVyLnB5ICAgICAgICAgIHwgMzMgKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCisgdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weSB8IDI5ICsr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9ydW5uZXIucHkg Yi9iZWhhdmUvcnVubmVyLnB5CitpbmRleCBjYmVkYjVhLi5iY2Y0YWIyIDEwMDY0NAorLS0tIGEv YmVoYXZlL3J1bm5lci5weQorKysrIGIvYmVoYXZlL3J1bm5lci5weQorQEAgLTIxLDYgKzIxLDcg QEAgZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IFwKKyAgICAgY29sbGVjdF9mZWF0dXJl X2xvY2F0aW9ucywgcGFyc2VfZmVhdHVyZXMsIFwKKyAgICAgZXhlY19maWxlLCBsb2FkX3N0ZXBf bW9kdWxlcywgUGF0aE1hbmFnZXIKKyBmcm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCBy ZWdpc3RyeSBhcyB0aGVfc3RlcF9yZWdpc3RyeQorK2Zyb20gZW51bSBpbXBvcnQgRW51bQorIAor IGlmIHNpeC5QWTI6CisgICAgICMgLS0gVVNFIFBZVEhPTjMgQkFDS1BPUlQ6IFdpdGggdW5pY29k ZSB0cmFjZWJhY2sgc3VwcG9ydC4KK0BAIC00NSw2ICs0NiwxNiBAQCBjbGFzcyBDb250ZXh0TWFz a1dhcm5pbmcoVXNlcldhcm5pbmcpOgorICAgICBwYXNzCisgCisgCisrY2xhc3MgQ29udGV4dE1v ZGUoRW51bSk6CisrICAgICIiIlVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvIHVz YWdlIG1vZGVzIHdoaWxlIHVzaW5nIHRoZSBjb250ZXh0OgorKworKyAgICAqIEJFSEFWRTogSW5k aWNhdGVzICJiZWhhdmUiIChpbnRlcm5hbCkgbW9kZQorKyAgICAqIFVTRVI6IEluZGljYXRlcyAi dXNlciIgbW9kZSAoaW4gc3RlcHMsIGhvb2tzLCBmaXh0dXJlcywgLi4uKQorKyAgICAiIiIKKysg ICAgQkVIQVZFID0gMQorKyAgICBVU0VSID0gMgorKworKworIGNsYXNzIENvbnRleHQob2JqZWN0 KToKKyAgICAgIiIiSG9sZCBjb250ZXh0dWFsIGluZm9ybWF0aW9uIGR1cmluZyB0aGUgcnVubmlu ZyBvZiB0ZXN0cy4KKyAKK0BAIC0xNDcsOCArMTU4LDggQEAgY2xhc3MgQ29udGV4dChvYmplY3Qp OgorICAgICAuLiBfYGNvbmZpZ3VyYXRpb24gZmlsZSBzZWN0aW9uIG5hbWVzYDogYmVoYXZlLmh0 bWwjY29uZmlndXJhdGlvbi1maWxlcworICAgICAiIiIKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9 dG9vLW1hbnktaW5zdGFuY2UtYXR0cmlidXRlcworLSAgICBCRUhBVkUgPSAiYmVoYXZlIgorLSAg ICBVU0VSID0gInVzZXIiCisrICAgICMgQkVIQVZFID0gImJlaGF2ZSIKKysgICAgIyBVU0VSID0g InVzZXIiCisgICAgIEZBSUxfT05fQ0xFQU5VUF9FUlJPUlMgPSBUcnVlCisgCisgICAgIGRlZiBf X2luaXRfXyhzZWxmLCBydW5uZXIpOgorQEAgLTE2Niw3ICsxNzcsNyBAQCBjbGFzcyBDb250ZXh0 KG9iamVjdCk6CisgICAgICAgICBzZWxmLl9zdGFjayA9IFtkXQorICAgICAgICAgc2VsZi5fcmVj b3JkID0ge30KKyAgICAgICAgIHNlbGYuX29yaWdpbiA9IHt9CistICAgICAgICBzZWxmLl9tb2Rl ID0gc2VsZi5CRUhBVkUKKysgICAgICAgIHNlbGYuX21vZGUgPSBDb250ZXh0TW9kZS5CRUhBVkUK KyAKKyAgICAgICAgICMgLS0gTU9ERUwgRU5USVRZIFJFRkVSRU5DRVMvU1VQUE9SVDoKKyAgICAg ICAgIHNlbGYuZmVhdHVyZSA9IE5vbmUKK0BAIC0yNjAsMTEgKzI3MSwxMSBAQCBjbGFzcyBDb250 ZXh0KG9iamVjdCk6CisgCisgICAgIGRlZiBfdXNlX3dpdGhfYmVoYXZlX21vZGUoc2VsZik6Cisg ICAgICAgICAiIiJQcm92aWRlcyBhIGNvbnRleHQgbWFuYWdlciBmb3IgdXNpbmcgdGhlIGNvbnRl eHQgaW4gQkVIQVZFIG1vZGUuIiIiCistICAgICAgICByZXR1cm4gdXNlX2NvbnRleHRfd2l0aF9t b2RlKHNlbGYsIENvbnRleHQuQkVIQVZFKQorKyAgICAgICAgcmV0dXJuIHVzZV9jb250ZXh0X3dp dGhfbW9kZShzZWxmLCBDb250ZXh0TW9kZS5CRUhBVkUpCisgCisgICAgIGRlZiB1c2Vfd2l0aF91 c2VyX21vZGUoc2VsZik6CisgICAgICAgICAiIiJQcm92aWRlcyBhIGNvbnRleHQgbWFuYWdlciBm b3IgdXNpbmcgdGhlIGNvbnRleHQgaW4gVVNFUiBtb2RlLiIiIgorLSAgICAgICAgcmV0dXJuIHVz ZV9jb250ZXh0X3dpdGhfbW9kZShzZWxmLCBDb250ZXh0LlVTRVIpCisrICAgICAgICByZXR1cm4g dXNlX2NvbnRleHRfd2l0aF9tb2RlKHNlbGYsIENvbnRleHRNb2RlLlVTRVIpCisgCisgICAgIGRl ZiB1c2VyX21vZGUoc2VsZik6CisgICAgICAgICB3YXJuaW5ncy53YXJuKCJVc2UgJ3VzZV93aXRo X3VzZXJfbW9kZSgpJyBpbnN0ZWFkIiwKK0BAIC0yOTEsMTEgKzMwMiwxMSBAQCBjbGFzcyBDb250 ZXh0KG9iamVjdCk6CisgCisgICAgIGRlZiBfZW1pdF93YXJuaW5nKHNlbGYsIGF0dHIsIHBhcmFt cyk6CisgICAgICAgICBtc2cgPSAiIgorLSAgICAgICAgaWYgc2VsZi5fbW9kZSBpcyBzZWxmLkJF SEFWRSBhbmQgc2VsZi5fb3JpZ2luW2F0dHJdIGlzIG5vdCBzZWxmLkJFSEFWRToKKysgICAgICAg IGlmIHNlbGYuX21vZGUgaXMgQ29udGV4dE1vZGUuQkVIQVZFIGFuZCBzZWxmLl9vcmlnaW5bYXR0 cl0gaXMgbm90IENvbnRleHRNb2RlLkJFSEFWRToKKyAgICAgICAgICAgICBtc2cgPSAiYmVoYXZl IHJ1bm5lciBpcyBtYXNraW5nIGNvbnRleHQgYXR0cmlidXRlICclKGF0dHIpcycgIiBcCisgICAg ICAgICAgICAgICAgICAgIm9yaWdpbmFsbHkgc2V0IGluICUoZnVuY3Rpb24pcyAoJShmaWxlbmFt ZSlzOiUobGluZSlzKSIKKy0gICAgICAgIGVsaWYgc2VsZi5fbW9kZSBpcyBzZWxmLlVTRVI6Cist ICAgICAgICAgICAgaWYgc2VsZi5fb3JpZ2luW2F0dHJdIGlzIG5vdCBzZWxmLlVTRVI6CisrICAg ICAgICBlbGlmIHNlbGYuX21vZGUgaXMgQ29udGV4dE1vZGUuVVNFUjoKKysgICAgICAgICAgICBp ZiBzZWxmLl9vcmlnaW5bYXR0cl0gaXMgbm90IENvbnRleHRNb2RlLlVTRVI6CisgICAgICAgICAg ICAgICAgIG1zZyA9ICJ1c2VyIGNvZGUgaXMgbWFza2luZyBjb250ZXh0IGF0dHJpYnV0ZSAnJShh dHRyKXMnICIgXAorICAgICAgICAgICAgICAgICAgICAgICAib3JpZ2luYWxseSBzZXQgYnkgYmVo YXZlIgorICAgICAgICAgICAgIGVsaWYgc2VsZi5fY29uZmlnLnZlcmJvc2U6CitAQCAtNDQyLDEz ICs0NTMsMTMgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorIAorIEBjb250ZXh0bGliLmNvbnRl eHRtYW5hZ2VyCisgZGVmIHVzZV9jb250ZXh0X3dpdGhfbW9kZShjb250ZXh0LCBtb2RlKToKKy0g ICAgIiIiU3dpdGNoIGNvbnRleHQgdG8gQkVIQVZFIG9yIFVTRVIgbW9kZS4KKysgICAgIiIiU3dp dGNoIGNvbnRleHQgdG8gQ29udGV4dE1vZGUuQkVIQVZFIG9yIENvbnRleHRNb2RlLlVTRVIgbW9k ZS4KKyAgICAgUHJvdmlkZXMgYSBjb250ZXh0IG1hbmFnZXIgZm9yIHN3aXRjaGluZyBiZXR3ZWVu IHRoZSB0d28gY29udGV4dCBtb2Rlcy4KKyAKKyAgICAgLi4gc291cmNlY29kZTo6IHB5dGhvbgor IAorICAgICAgICAgY29udGV4dCA9IENvbnRleHQoKQorLSAgICAgICAgd2l0aCB1c2VfY29udGV4 dF93aXRoX21vZGUoY29udGV4dCwgQ29udGV4dC5CRUhBVkUpOgorKyAgICAgICAgd2l0aCB1c2Vf Y29udGV4dF93aXRoX21vZGUoY29udGV4dCwgQ29udGV4dE1vZGUuQkVIQVZFKToKKyAgICAgICAg ICAgICAuLi4gICAgICMgRG8gc29tZXRoaW5nCisgICAgICAgICAjIC0tIFBPU1RDT05ESVRJT046 IE9yaWdpbmFsIGNvbnRleHQuX21vZGUgaXMgcmVzdG9yZWQuCisgCitAQCAtNDU2LDcgKzQ2Nyw3 IEBAIGRlZiB1c2VfY29udGV4dF93aXRoX21vZGUoY29udGV4dCwgbW9kZSk6CisgICAgIDpwYXJh bSBtb2RlOiAgICAgTW9kZSB0byBhcHBseSB0byBjb250ZXh0IG9iamVjdC4KKyAgICAgIiIiCisg ICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgYXNzZXJ0IG1vZGUg aW4gKENvbnRleHQuQkVIQVZFLCBDb250ZXh0LlVTRVIpCisrICAgIGFzc2VydCBtb2RlIGluIChD b250ZXh0TW9kZS5CRUhBVkUsIENvbnRleHRNb2RlLlVTRVIpCisgICAgIGN1cnJlbnRfbW9kZSA9 IGNvbnRleHQuX21vZGUKKyAgICAgdHJ5OgorICAgICAgICAgY29udGV4dC5fbW9kZSA9IG1vZGUK K2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5IGIvdGVzdHMvdW5pdC90ZXN0 X3J1bm5lci5weQoraW5kZXggZjBkMDNjZC4uYmVhZmY4ZiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Vu aXQvdGVzdF9ydW5uZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKK0BAIC0x Nyw2ICsxNyw3IEBAIGZyb20gYmVoYXZlIGltcG9ydCBydW5uZXJfdXRpbAorIGZyb20gYmVoYXZl Lm1vZGVsIGltcG9ydCBUYWJsZQorIGZyb20gYmVoYXZlLnN0ZXBfcmVnaXN0cnkgaW1wb3J0IFN0 ZXBSZWdpc3RyeQorIGZyb20gYmVoYXZlIGltcG9ydCBwYXJzZXIsIHJ1bm5lcgorK2Zyb20gYmVo YXZlLnJ1bm5lciBpbXBvcnQgQ29udGV4dE1vZGUKKyBmcm9tIGJlaGF2ZS5leGNlcHRpb24gaW1w b3J0IENvbmZpZ0Vycm9yCisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyLmJhc2UgaW1wb3J0IFN0cmVh bU9wZW5lcgorIAorQEAgLTM2LDI5ICszNywyOSBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVz dC5UZXN0Q2FzZSk6CisgCisgICAgIGRlZiB0ZXN0X3VzZXJfbW9kZV9zaGFsbF9yZXN0b3JlX2Jl aGF2ZV9tb2RlKHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBObyBleGNlcHRpb24gaXMgcmFp c2VkLgorLSAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisrICAg ICAgICBpbml0aWFsX21vZGUgPSBDb250ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgICAgICAgICB3aXRoIHNlbGYuY29u dGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKysgICAgICAgICAgICBhc3NlcnQgc2Vs Zi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVTRVIKKyAgICAgICAgICAgICBzZWxmLmNv bnRleHQudGhpbmcgPSAic3R1ZmYiCisgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2Rl ID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9y ZV9iZWhhdmVfbW9kZV9pZl9hc3NlcnRfZmFpbHMoc2VsZik6CistICAgICAgICBpbml0aWFsX21v ZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKysgICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRl eHRNb2RlLkJFSEFWRQorICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0 aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51 c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4 dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisrICAgICAgICAgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQuX21vZGUgPT0gQ29udGV4dE1vZGUuVVNFUgorICAgICAgICAgICAgICAgICBh c3NlcnQgRmFsc2UsICJYRkFJTCIKKyAgICAgICAgIGV4Y2VwdCBBc3NlcnRpb25FcnJvcjoKKyAg ICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAor ICAgICBkZWYgdGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9kZV9pZl9leGNl cHRpb25faXNfcmFpc2VkKHNlbGYpOgorLSAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNv bnRleHQuQkVIQVZFCisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250ZXh0TW9kZS5CRUhBVkUK KyAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgICAg ICAgICB0cnk6CisgICAgICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9t b2RlKCk6CistICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVu bmVyLkNvbnRleHQuVVNFUgorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9t b2RlID09IENvbnRleHRNb2RlLlVTRVIKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVy cm9yKCJYRkFJTCIpCisgICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAg IGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCitAQCAtNjYsMjEgKzY3 LDIxIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRl c3RfdXNlX3dpdGhfdXNlcl9tb2RlX19zaGFsbF9yZXN0b3JlX2luaXRpYWxfbW9kZShzZWxmKToK KyAgICAgICAgICMgLS0gQ0FTRTogTm8gZXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAgICAgICMg cHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIGluaXRpYWxfbW9kZSA9 IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4dE1v ZGUuQkVIQVZFCisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAg ICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAg ICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAg ICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gQ29udGV4dE1vZGUuVVNFUgor ICAgICAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKyAgICAgICAgIGFzc2Vy dCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X3Vz ZV93aXRoX3VzZXJfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGVfd2l0aF9lcnJvcihz ZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogRXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgICAgICAg ICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIGluaXRpYWxfbW9k ZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4 dE1vZGUuQkVIQVZFCisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUK KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91 c2VyX21vZGUoKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9 PSBydW5uZXIuQ29udGV4dC5VU0VSCisrICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRl eHQuX21vZGUgPT0gQ29udGV4dE1vZGUuVVNFUgorICAgICAgICAgICAgICAgICByYWlzZSBSdW50 aW1lRXJyb3IoIlhGQUlMIikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisgICAgICAg ICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKK0BAIC04OCwy MSArODksMjEgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICBk ZWYgdGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUo c2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAg ICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgICAgICBpbml0aWFs X21vZGUgPSBydW5uZXIuQ29udGV4dC5VU0VSCisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250 ZXh0TW9kZS5VU0VSCisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUK KyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAg ICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuQkVI QVZFCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBDb250ZXh0TW9k ZS5CRUhBVkUKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCisgICAg ICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBk ZWYgdGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGVf d2l0aF9lcnJvcihzZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogRXhjZXB0aW9uIGlzIHJhaXNl ZC4KKyAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAg IGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LlVTRVIKKysgICAgICAgIGluaXRpYWxfbW9k ZSA9IENvbnRleHRNb2RlLlVTRVIKKyAgICAgICAgIHNlbGYuY29udGV4dC5fbW9kZSA9IGluaXRp YWxfbW9kZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0Ll91 c2Vfd2l0aF9iZWhhdmVfbW9kZSgpOgorLSAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAgICAgICAgICAgICAgICBhc3Nl cnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLkJFSEFWRQorICAgICAgICAgICAg ICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlhGQUlMIikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1l RXJyb3I6CisgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFs X21vZGUKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzItQ2xlYW51cC1jb21tZW50 cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjhlMjE4NzA0NQot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRjaApAQCAtMCwwICsxLDIyIEBA CitGcm9tIDFkY2M2MDQzYWVmNTc2NGI2MDU3YjQ2NmYyM2I5MGJhYzAwZDZkYmUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFN1biwgMTUgRGVjIDIwMTkgMjE6MjU6MDAgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gQ2xlYW51cCBjb21tZW50cworCistLS0KKyBiZWhhdmUvcnVubmVyLnB5IHwgMiAt LQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZl L3J1bm5lci5weSBiL2JlaGF2ZS9ydW5uZXIucHkKK2luZGV4IGJjZjRhYjIuLjZiMjA5MzcgMTAw NjQ0CistLS0gYS9iZWhhdmUvcnVubmVyLnB5CisrKysgYi9iZWhhdmUvcnVubmVyLnB5CitAQCAt MTU4LDggKzE1OCw2IEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgLi4gX2Bjb25maWd1 cmF0aW9uIGZpbGUgc2VjdGlvbiBuYW1lc2A6IGJlaGF2ZS5odG1sI2NvbmZpZ3VyYXRpb24tZmls ZXMKKyAgICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNlLWF0 dHJpYnV0ZXMKKy0gICAgIyBCRUhBVkUgPSAiYmVoYXZlIgorLSAgICAjIFVTRVIgPSAidXNlciIK KyAgICAgRkFJTF9PTl9DTEVBTlVQX0VSUk9SUyA9IFRydWUKKyAKKyAgICAgZGVmIF9faW5pdF9f KHNlbGYsIHJ1bm5lcik6CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDczLUZJWC1zcGhpbngtYnVpbGQtcHJvYmxlbS1hc3lu Y19zdGVwczN4LnB5LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA3My1GSVgtc3BoaW54LWJ1aWxkLXByb2JsZW0tYXN5bmNfc3RlcHMz eC5weS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmZlMTQwZTlj ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNzMtRklYLXNwaGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBz M3gucHkucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA3ZjM2ZGQ4YTlhMWQ2ZmQ2N2Y4YTY3 NjVjZDU2ZmNhYjliMTAyMDdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAy MDE5IDIxOjUxOjQ3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogc3BoaW54LWJ1aWxkIHBy b2JsZW06IGFzeW5jX3N0ZXBzM3gucHkKKworLS0tCisgZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlf djEuMi42LnJzdCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4y LjYucnN0IGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi42LnJzdAoraW5kZXggODQ4YzQw OS4uMmM4ZTg2NSAxMDA2NDQKKy0tLSBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNi5y c3QKKysrKyBiL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNi5yc3QKK0BAIC0zMjUsMTMg KzMyNSwxMyBAQCBBIHNpbXBsZSBleGFtcGxlIGZvciB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhl IGFzeW5jLXN0ZXBzIGlzIHNob3duIGZvcjoKKyAqIFB5dGhvbiAzLjUgd2l0aCBuZXcgYGBhc3lu Y2BgL2BgYXdhaXRgYCBrZXl3b3JkcworICogUHl0aG9uIDMuNCB3aXRoIGBgQGFzeW5jaW8uY29y b3V0aW5lYGAgZGVjb3JhdG9yIGFuZCBgYHlpZWxkIGZyb21gYCBrZXl3b3JkCisgCistLi4gbGl0 ZXJhbGluY2x1ZGU6OiAuLi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5j X3N0ZXBzMzUucHkKKysuLiBsaXRlcmFsaW5jbHVkZTo6IC4uL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzUucHkKKyAgICAgOmxhbmd1YWdlOiBweXRob24K KyAgICAgOnByZXBlbmQ6CisgICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2FzeW5j X3N0ZXBzMzUucHkKKyAKKyAKKy0uLiBsaXRlcmFsaW5jbHVkZTo6IC4uL2V4YW1wbGVzL2FzeW5j X3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5weQorKy4uIGxpdGVyYWxpbmNsdWRl OjogLi4vZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5w eQorICAgICA6bGFuZ3VhZ2U6IHB5dGhvbgorICAgICA6cHJlcGVuZDoKKyAgICAgICAgICMgLS0g RklMRTogZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5weQpkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NC1kb2NzLVJl bmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NC1kb2Nz LVJlbmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMjMwZGU1MTA2Ci0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWls dGluLnBhdGNoCkBAIC0wLDAgKzEsMTg1IEBACitGcm9tIDJlM2JkNzM3NzExNmU2MzI0MzA5NWY5 NzdjODE2Yjg2MjQ2MjI5OTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lz IDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTUgRGVjIDIw MTkgMjE6NTI6NTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9jczogUmVuYW1lIHBhZ2UgJ3Bh cnNlX2V4cHJlc3Npb25zJyAod2FzOgorIHBhcnNlX2J1aWx0aW5fdHlwZXMpIGFuZCB1cGRhdGUg dGFibGUgdG8gY3VycmVudCBwYXJzZS0xLjEyLjEKKworLS0tCisgZG9jcy9hcHBlbmRpeC5yc3Qg ICAgICAgICAgICB8ICAyICstCisgZG9jcy9wYXJzZV9idWlsdGluX3R5cGVzLnJzdCB8IDU5IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0ICAgfCA4 NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQs IDg4IGluc2VydGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBk b2NzL3BhcnNlX2J1aWx0aW5fdHlwZXMucnN0CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGRvY3MvcGFy c2VfZXhwcmVzc2lvbnMucnN0CisKK2RpZmYgLS1naXQgYS9kb2NzL2FwcGVuZGl4LnJzdCBiL2Rv Y3MvYXBwZW5kaXgucnN0CitpbmRleCA4YzBjYjA1Li43OWI1NDU1IDEwMDY0NAorLS0tIGEvZG9j cy9hcHBlbmRpeC5yc3QKKysrKyBiL2RvY3MvYXBwZW5kaXgucnN0CitAQCAtMTEsNyArMTEsNyBA QCBBcHBlbmRpeAorIAorICAgICBmb3JtYXR0ZXJzCisgICAgIGNvbnRleHRfYXR0cmlidXRlcwor LSAgICBwYXJzZV9idWlsdGluX3R5cGVzCisrICAgIHBhcnNlX2V4cHJlc3Npb25zCisgICAgIHJl Z3VsYXJfZXhwcmVzc2lvbnMKKyAgICAgdGVzdF9kb21haW5zCisgICAgIGJlaGF2ZV9lY29zeXN0 ZW0KK2RpZmYgLS1naXQgYS9kb2NzL3BhcnNlX2J1aWx0aW5fdHlwZXMucnN0IGIvZG9jcy9wYXJz ZV9idWlsdGluX3R5cGVzLnJzdAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAzMmUx OGVjLi4wMDAwMDAwCistLS0gYS9kb2NzL3BhcnNlX2J1aWx0aW5fdHlwZXMucnN0CisrKysgL2Rl di9udWxsCitAQCAtMSw1OSArMCwwIEBACistLi4gX2lkLmFwcGVuZGl4LnBhcnNlX2J1aWx0aW5f dHlwZXM6CistCistUHJlZGVmaW5lZCBEYXRhIFR5cGVzIGluIGBgcGFyc2VgYAorLT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorLQorLTpweXBpOmBiZWhhdmVgIHVzZXMgdGhlIDpweXBpOmBwYXJzZWAg bW9kdWxlIChpbnZlcnNlIG9mIFB5dGhvbiBgc3RyaW5nLmZvcm1hdGBfKQorLXVuZGVyIHRoZSBo b29kcyB0byBwYXJzZSBwYXJhbWV0ZXJzIGluIHN0ZXAgZGVmaW5pdGlvbnMuCistVGhpcyBsZWFk cyB0byByYXRoZXIgc2ltcGxlIGFuZCByZWFkYWJsZSBwYXJzZSBleHByZXNzaW9ucyBmb3Igc3Rl cCBwYXJhbWV0ZXJzLgorLQorLS4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0KKy0gICAgIyAtLSBG SUxFOiBmZWF0dXJlcy9zdGVwcy90eXBlX3RyYW5zZm9ybV9leGFtcGxlX3N0ZXBzLnB5CistICAg IGZyb20gYmVoYXZlIGltcG9ydCBnaXZlbgorLQorLSAgICBAZ2l2ZW4oJ0kgaGF2ZSB7bnVtYmVy OmR9IGZyaWVuZHMnKSAgIzwgQ29udmVydCAnbnVtYmVyJyBpbnRvIGludCB0eXBlLgorLSAgICBk ZWYgc3RlcF9naXZlbl9pX2hhdmVfbnVtYmVyX2ZyaWVuZHMoY29udGV4dCwgbnVtYmVyKToKKy0g ICAgICAgIGFzc2VydCBudW1iZXIgPiAwCistICAgICAgICAuLi4KKy0KKy1UaGVyZWZvcmUsIHRo ZSBmb2xsb3dpbmcgYGBwYXJzZSB0eXBlc2BgIGFyZSBhbHJlYWR5IHN1cHBvcnRlZAorLWluIHN0 ZXAgZGVmaW5pdGlvbnMgd2l0aG91dCByZWdpc3RyYXRpb24gb2YgYW55ICp1c2VyLWRlZmluZWQg dHlwZSo6CistCistCistPT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PSA9PT09PT09PT09PT0KKy1UeXBlICBDaGFyYWN0ZXJzIE1hdGNoZWQgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dCBUeXBlCistPT09PT0gPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT0KKy0gdyAgICBMZXR0ZXJzIGFuZCB1 bmRlcnNjb3JlICAgICAgICAgICAgICAgICAgICAgIHN0cgorLSBXICAgIE5vbi1sZXR0ZXIgYW5k IHVuZGVyc2NvcmUgICAgICAgICAgICAgICAgICAgc3RyCistIHMgICAgV2hpdGVzcGFjZSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIKKy0gUyAgICBOb24td2hpdGVzcGFjZSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cgorLSBkICAgIERpZ2l0cyAoZWZmZWN0aXZl bHkgaW50ZWdlciBudW1iZXJzKSAgICAgICAgaW50CistIEQgICAgTm9uLWRpZ2l0ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIKKy0gbiAgICBOdW1iZXJzIHdpdGggdGhvdXNh bmRzIHNlcGFyYXRvcnMgKCwgb3IgLikgIGludAorLSAlICAgIFBlcmNlbnRhZ2UgKGNvbnZlcnRl ZCB0byB2YWx1ZS8xMDAuMCkgICAgICAgZmxvYXQKKy0gZiAgICBGaXhlZC1wb2ludCBudW1iZXJz ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0CistIGUgICAgRmxvYXRpbmctcG9pbnQgbnVt YmVycyB3aXRoIGV4cG9uZW50ICAgICAgICBmbG9hdAorLSAgICAgIGUuZy4gMS4xZS0xMCwgTkFO IChhbGwgY2FzZSBpbnNlbnNpdGl2ZSkKKy0gZyAgICBHZW5lcmFsIG51bWJlciBmb3JtYXQgKGVp dGhlciBkLCBmIG9yIGUpICAgIGZsb2F0CistIGIgICAgQmluYXJ5IG51bWJlcnMgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQKKy0gbyAgICBPY3RhbCBudW1iZXJzICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludAorLSB4ICAgIEhleGFkZWNpbWFsIG51bWJlcnMgKGxvd2Vy IGFuZCB1cHBlciBjYXNlKSAgaW50CistIHRpICAgSVNPIDg2MDEgZm9ybWF0IGRhdGUvdGltZSAg ICAgICAgICAgICAgICAgICBkYXRldGltZQorLSAgICAgIGUuZy4gMTk3Mi0wMS0yMFQxMDoyMToz NloKKy0gdGUgICBSRkMyODIyIGUtbWFpbCBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgIGRh dGV0aW1lCistICAgICAgZS5nLiBNb24sIDIwIEphbiAxOTcyIDEwOjIxOjM2ICsxMDAwCistIHRn ICAgR2xvYmFsIChkYXkvbW9udGgpIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICBkYXRldGltZQor LSAgICAgIGUuZy4gMjAvMS8xOTcyIDEwOjIxOjM2IEFNICsxOjAwCistIHRhICAgVVMgKG1vbnRo L2RheSkgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICBkYXRldGltZQorLSAgICAgIGUuZy4g MS8yMC8xOTcyIDEwOjIxOjM2IFBNICsxMDozMAorLSB0YyAgIGN0aW1lKCkgZm9ybWF0IGRhdGUv dGltZSAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBlLmcuIFN1biBTZXAgMTYg MDE6MDM6NTIgMTk3MworLSB0aCAgIEhUVFAgbG9nIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAg ICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBlLmcuIDIxL05vdi8yMDExOjAwOjA3OjExICswMDAw CistIHR0ICAgVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1l CistICAgICAgZS5nLiAxMDoyMTozNiBQTSAtNTozMAorLT09PT09ID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09CistCistCistLi4gX3N0cmlu Zy5mb3JtYXQ6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9zdHJpbmcuaHRtbCNm b3JtYXQtc3RyaW5nLXN5bnRheAorZGlmZiAtLWdpdCBhL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMu cnN0IGIvZG9jcy9wYXJzZV9leHByZXNzaW9ucy5yc3QKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi4zNmNhNTQ5CistLS0gL2Rldi9udWxsCisrKysgYi9kb2NzL3BhcnNlX2V4 cHJlc3Npb25zLnJzdAorQEAgLTAsMCArMSw4NyBAQAorKy4uIF9pZC5hcHBlbmRpeC5wYXJzZV9l eHByZXNzaW9uczoKKysKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKytQYXJzZSBFeHByZXNzaW9u cworKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorKworKy4uIGluZGV4OjogcGFyc2UgZXhwcmVzc2lv bnMsIHJlZ2V4cAorKworK2BQYXJzZSBleHByZXNzaW9uc2BfIGFyZSBhIHNpbXBsaWZpZWQgZm9y bSBvZiByZWd1bGFyIGV4cHJlc3Npb25zLgorK1RoZSBhY3R1YWwgcmVndWxhciBleHByZXNzaW9u IGlzIGhpZGRlbiBiZWhpbmQgdGhlICoqdHlwZSoqIG5hbWUgLyBoaW50LgorKworK2BQYXJzZSBl eHByZXNzaW9uc2BfIGFyZSB1c2VkIGluIHN0ZXAgZGVmaW5pdGlvbnMgYXMgYSBzaW1wbGlmaWVk IGFsdGVybmF0aXZlCisrdG8gcmVndWxhciBleHByZXNzaW9ucy4gVGhleSBhcmUgdXNlZCBmb3Ig cGFyYW1ldGVycyBhbmQgdHlwZSBjb252ZXJzaW9ucworKyh3aGljaCBhcmUgbm90IHN1cHBvcnRl ZCBmb3IgcmVndWxhciBleHByZXNzaW9uIHBhdHRlcm5zKS4KKysKKysuLiBjb2RlLWJsb2NrOjog cHl0aG9uCisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvc3RlcHMvZXhhbXBsZV9zdGVwcy5w eQorKyAgICBmcm9tIGJlaGF2ZSBpbXBvcnQgd2hlbgorKworKyAgICBAd2hlbignd2UgaW1wbGVt ZW50IHtudW1iZXI6ZH0gdGVzdHMnKQorKyAgICBkZWYgc3RlcF9pbXBsKGNvbnRleHQsIG51bWJl cik6ICAjIC0tIE5PVEU6IG51bWJlciBpcyBjb252ZXJ0ZWQgaW50byBpbnRlZ2VyCisrICAgICAg ICBhc3NlcnQgbnVtYmVyID4gMSBvciBudW1iZXIgPT0gMAorKyAgICAgICAgY29udGV4dC50ZXN0 c19jb3VudCA9IG51bWJlcgorKworK1RoZSBmb2xsb3dpbmcgdGFibGVzIHByb3ZpZGUgYSBvdmVy dmlldyBvZiB0aGUgYHBhcnNlIGV4cHJlc3Npb25zYF8gc3ludGF4LgorK1NlZSBhbHNvIGBQeXRo b24gcmVndWxhciBleHByZXNzaW9uc2BfIGRlc2NyaXB0aW9uIGluIHRoZSBQeXRob24gYHJlIG1v ZHVsZWBfLgorKworKz09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0gPT09PT09PT0KKytUeXBlICBDaGFyYWN0ZXJzIE1hdGNoZWQgICAgICAgICAgICAgICAg ICAgICAgICAgIE91dHB1dAorKz09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0gPT09PT09PT0KKytsICAgICBMZXR0ZXJzIChBU0NJSSkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cgorK3cgICAgIExldHRlcnMsIG51bWJlcnMgYW5kIHVuZGVyc2Nv cmUgICAgICAgICAgICAgc3RyCisrVyAgICAgTm90IGxldHRlcnMsIG51bWJlcnMgYW5kIHVuZGVy c2NvcmUgICAgICAgICBzdHIKKytzICAgICBXaGl0ZXNwYWNlICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cgorK1MgICAgIE5vbi13aGl0ZXNwYWNlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyCisrZCAgICAgRGlnaXRzIChlZmZlY3RpdmVseSBpbnRlZ2VyIG51bWJl cnMpICAgICAgICBpbnQKKytEICAgICBOb24tZGlnaXQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cgorK24gICAgIE51bWJlcnMgd2l0aCB0aG91c2FuZHMgc2VwYXJhdG9ycyAo LCBvciAuKSAgaW50CisrJSAgICAgUGVyY2VudGFnZSAoY29udmVydGVkIHRvIHZhbHVlLzEwMC4w KSAgICAgICBmbG9hdAorK2YgICAgIEZpeGVkLXBvaW50IG51bWJlcnMgICAgICAgICAgICAgICAg ICAgICAgICAgZmxvYXQKKytGICAgICBEZWNpbWFsIG51bWJlcnMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERlY2ltYWwKKytlICAgICBGbG9hdGluZy1wb2ludCBudW1iZXJzIHdpdGggZXhw b25lbnQgICAgICAgIGZsb2F0CisrICAgICAgZS5nLiAxLjFlLTEwLCBOQU4gKGFsbCBjYXNlIGlu c2Vuc2l0aXZlKQorK2cgICAgIEdlbmVyYWwgbnVtYmVyIGZvcm1hdCAoZWl0aGVyIGQsIGYgb3Ig ZSkgICAgZmxvYXQKKytiICAgICBCaW5hcnkgbnVtYmVycyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludAorK28gICAgIE9jdGFsIG51bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50CisreCAgICAgSGV4YWRlY2ltYWwgbnVtYmVycyAobG93ZXIgYW5kIHVwcGVyIGNh c2UpICBpbnQKKyt0aSAgICBJU08gODYwMSBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgICAg ICAgIGRhdGV0aW1lCisrICAgICAgZS5nLiAxOTcyLTAxLTIwVDEwOjIxOjM2WiAoIlQiIGFuZCAi WiIKKysgICAgICBvcHRpb25hbCkKKyt0ZSAgICBSRkMyODIyIGUtbWFpbCBmb3JtYXQgZGF0ZS90 aW1lICAgICAgICAgICAgIGRhdGV0aW1lCisrICAgICAgZS5nLiBNb24sIDIwIEphbiAxOTcyIDEw OjIxOjM2ICsxMDAwCisrdGcgICAgR2xvYmFsIChkYXkvbW9udGgpIGZvcm1hdCBkYXRlL3RpbWUg ICAgICAgICBkYXRldGltZQorKyAgICAgIGUuZy4gMjAvMS8xOTcyIDEwOjIxOjM2IEFNICsxOjAw CisrdGEgICAgVVMgKG1vbnRoL2RheSkgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICBkYXRl dGltZQorKyAgICAgIGUuZy4gMS8yMC8xOTcyIDEwOjIxOjM2IFBNICsxMDozMAorK3RjICAgIGN0 aW1lKCkgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUKKysgICAg ICBlLmcuIFN1biBTZXAgMTYgMDE6MDM6NTIgMTk3MworK3RoICAgIEhUVFAgbG9nIGZvcm1hdCBk YXRlL3RpbWUgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUKKysgICAgICBlLmcuIDIxL05vdi8y MDExOjAwOjA3OjExICswMDAwCisrdHMgICAgTGludXggc3lzdGVtIGxvZyBmb3JtYXQgZGF0ZS90 aW1lICAgICAgICAgICBkYXRldGltZQorKyAgICAgIGUuZy4gTm92ICA5IDAzOjM3OjQ0CisrdHQg ICAgVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lCisrICAg ICAgZS5nLiAxMDoyMTozNiBQTSAtNTozMAorKz09PT09ID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT0KKysKKysKKys9PT09PT09PT09PT09PT09PT09 PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CisrQ2FyZGluYWxpdHkgICAgICAgICAgICBEZXNjcmlwdGlvbgorKz09PT09PT09 PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKytgYD9gYCAgICAgICAgICAgICAgICAgICBQYXR0ZXJuIHdp dGggY2FyZGluYWxpdHkgMC4uMTogb3B0aW9uYWwgcGFydCAocXVlc3Rpb24gbWFyaykuCisrYGAq YGAgICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRoIGNhcmRpbmFsaXR5IHplcm8gb3IgbW9y ZSwgMC4uIChhc3RlcmlzaykuCisrYGArYGAgICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRo IGNhcmRpbmFsaXR5IG9uZSBvciBtb3JlLCAxLi4gKHBsdXMgc2lnbikuCisrYGB7bX1gYCAgICAg ICAgICAgICAgICAgTWF0Y2hlcyBgYG1gYCByZXBldGl0aW9ucyBvZiBhIHBhdHRlcm4uCisrYGB7 bSxufWBgICAgICAgICAgICAgICAgTWF0Y2hlcyBmcm9tIGBgbWBgIHRvIGBgbmBgIHJlcGV0aXRp b25zIG9mIGEgcGF0dGVybi4KKytgYFtBLVphLXpdK2BgICAgICAgICAgICBFWEFNUExFOiBNYXRj aGVzIG9uZSBvciBtb3JlIGFscGhhYmV0aWNhbCBjaGFyYWN0ZXJzLgorKz09PT09PT09PT09PT09 PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKysKKysKKysuLiBfcGFyc2UgbW9kdWxlOiBodHRwczovL2dpdGh1Yi5j b20vcjFjaGFyZGowbjNzL3BhcnNlCisrLi4gX3N0cmluZy5mb3JtYXQ6IGh0dHBzOi8vZG9jcy5w eXRob24ub3JnLzMvbGlicmFyeS9zdHJpbmcuaHRtbCNmb3JtYXQtc3RyaW5nLXN5bnRheAorKwor Ky4uIF9yZSBtb2R1bGU6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5odG1s I21vZHVsZS1yZQorKy4uIF9QeXRob24gcmVndWxhciBleHByZXNzaW9uczogaHR0cHM6Ly9kb2Nz LnB5dGhvbi5vcmcvMy9saWJyYXJ5L3JlLmh0bWwjbW9kdWxlLXJlCisrLi4gX2ByZWd1bGFyIGV4 cHJlc3Npb25zYDogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUmVndWxhcl9leHByZXNz aW9uCisrCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8tcGFy c2VfdHlwZS1tb2R1bGUucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8t cGFyc2VfdHlwZS1tb2R1bGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi41N2Y5NDc5MjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lvbi1h ZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJv bSBjMzI3OWQzOTkwZDMzOTE5NzJlOTA2YzE4ZDY4ODFjNmRlNDY0Njg1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5IDIyOjA4OjA1ICswMTAwCitTdWJqZWN0OiBbUEFU Q0hdIGRvY3M6IHBhcnNlX2V4cHJlc3Npb24sIGFkZCBsaW5rcyB0byBwYXJzZV90eXBlIG1vZHVs ZSBhbmQKKyBDYXJkaW5hbGl0eUZpZWxkIHN1cHBvcnQuCisKKy0tLQorIGRvY3MvcGFyc2VfZXhw cmVzc2lvbnMucnN0IHwgNyArKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMu cnN0IGIvZG9jcy9wYXJzZV9leHByZXNzaW9ucy5yc3QKK2luZGV4IDM2Y2E1NDkuLjM4MTAyMjIg MTAwNjQ0CistLS0gYS9kb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdAorKysrIGIvZG9jcy9wYXJz ZV9leHByZXNzaW9ucy5yc3QKK0BAIC02NSw2ICs2NSw4IEBAIHR0ICAgIFRpbWUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZQorICAgICAgIGUuZy4gMTA6MjE6MzYg UE0gLTU6MzAKKyA9PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09ID09PT09PT09CisgCisrSWYgYHBhcnNlX3R5cGVgXyBtb2R1bGUgaXMgdXNlZCwgdGhlIGNh cmRpbmFsaXR5IG9mIGEgdHlwZSBjYW4gYmUgc3BlY2lmaWVkLCB0b28KKysoYnkgdXNpbmcgdGhl IGBDYXJkaW5hbGl0eUZpZWxkYF8gc3VwcG9ydCk6CisgCisgPT09PT09PT09PT09PT09PT09PT09 ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorIENhcmRpbmFsaXR5ICAgICAgICAgICAgRGVzY3JpcHRpb24KK0BAIC03MiwxNCAr NzQsMTMgQEAgQ2FyZGluYWxpdHkgICAgICAgICAgICBEZXNjcmlwdGlvbgorIGBgP2BgICAgICAg ICAgICAgICAgICAgIFBhdHRlcm4gd2l0aCBjYXJkaW5hbGl0eSAwLi4xOiBvcHRpb25hbCBwYXJ0 IChxdWVzdGlvbiBtYXJrKS4KKyBgYCpgYCAgICAgICAgICAgICAgICAgICBQYXR0ZXJuIHdpdGgg Y2FyZGluYWxpdHkgemVybyBvciBtb3JlLCAwLi4gKGFzdGVyaXNrKS4KKyBgYCtgYCAgICAgICAg ICAgICAgICAgICBQYXR0ZXJuIHdpdGggY2FyZGluYWxpdHkgb25lIG9yIG1vcmUsIDEuLiAocGx1 cyBzaWduKS4KKy1gYHttfWBgICAgICAgICAgICAgICAgICBNYXRjaGVzIGBgbWBgIHJlcGV0aXRp b25zIG9mIGEgcGF0dGVybi4KKy1gYHttLG59YGAgICAgICAgICAgICAgICBNYXRjaGVzIGZyb20g YGBtYGAgdG8gYGBuYGAgcmVwZXRpdGlvbnMgb2YgYSBwYXR0ZXJuLgorLWBgW0EtWmEtel0rYGAg ICAgICAgICAgIEVYQU1QTEU6IE1hdGNoZXMgb25lIG9yIG1vcmUgYWxwaGFiZXRpY2FsIGNoYXJh Y3RlcnMuCisgPT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIAorIC4uIF9wYXJzZSBt b2R1bGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9yMWNoYXJkajBuM3MvcGFyc2UKKysuLiBfcGFyc2Vf dHlwZTogaHR0cHM6Ly9naXRodWIuY29tL2plbmlzeXMvcGFyc2VfdHlwZQorIC4uIF9zdHJpbmcu Zm9ybWF0OiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvc3RyaW5nLmh0bWwjZm9y bWF0LXN0cmluZy1zeW50YXgKKysuLiBfQ2FyZGluYWxpdHlGaWVsZDogaHR0cHM6Ly9naXRodWIu Y29tL2plbmlzeXMvcGFyc2VfdHlwZS9ibG9iL21hc3Rlci9SRUFETUUucnN0I2V4dGVuZGVkLXBh cnNlci13aXRoLWNhcmRpbmFsaXR5ZmllbGQtc3VwcG9ydAorIAorIC4uIF9yZSBtb2R1bGU6IGh0 dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5odG1sI21vZHVsZS1yZQorIC4uIF9Q eXRob24gcmVndWxhciBleHByZXNzaW9uczogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJy YXJ5L3JlLmh0bWwjbW9kdWxlLXJlCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc2LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYy LXdhcy0xLjIuNy5kZXYxLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA3Ni1CVU1QLVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcu ZGV2MS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjE3ODVhOThi NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNzYtQlVNUC1WRVJTSU9OLTEuMi43LmRldjItd2FzLTEuMi43LmRl djEucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorRnJvbSA3MGQ5ODMxYjUyZDBkYjFmNTBiZDMxMzcw M2QwMjcwOGM4ZGQ2M2M2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDE5IERlYyAyMDE5 IDEyOjMxOjQ3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEJVTVAtVkVSU0lPTjogMS4yLjcuZGV2 MiAod2FzOiAxLjIuNy5kZXYxKQorCistLS0KKyAuYnVtcHZlcnNpb24uY2ZnICB8IDIgKy0KKyBW RVJTSU9OLnR4dCAgICAgICB8IDIgKy0KKyBiZWhhdmUvdmVyc2lvbi5weSB8IDIgKy0KKyBweXRl c3QuaW5pICAgICAgICB8IDIgKy0KKyBzZXR1cC5weSAgICAgICAgICB8IDIgKy0KKyA1IGZpbGVz IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh Ly5idW1wdmVyc2lvbi5jZmcgYi8uYnVtcHZlcnNpb24uY2ZnCitpbmRleCBhNWQzZDJmLi40ZjJi Yjc2IDEwMDY0NAorLS0tIGEvLmJ1bXB2ZXJzaW9uLmNmZworKysrIGIvLmJ1bXB2ZXJzaW9uLmNm ZworQEAgLTEsNSArMSw1IEBACisgW2J1bXB2ZXJzaW9uXQorLWN1cnJlbnRfdmVyc2lvbiA9IDEu Mi43LmRldjEKKytjdXJyZW50X3ZlcnNpb24gPSAxLjIuNy5kZXYyCisgZmlsZXMgPSBiZWhhdmUv dmVyc2lvbi5weSBzZXR1cC5weSBWRVJTSU9OLnR4dCBweXRlc3QuaW5pIC5idW1wdmVyc2lvbi5j ZmcKKyBwYXJzZSA9ICg/UDxtYWpvcj5cZCspXC4oP1A8bWlub3I+XGQrKVwuKD9QPHBhdGNoPlxk KykoP1A8ZHJvcD5cdyopCisgc2VyaWFsaXplID0ge21ham9yfS57bWlub3J9LntwYXRjaH17ZHJv cH0KK2RpZmYgLS1naXQgYS9WRVJTSU9OLnR4dCBiL1ZFUlNJT04udHh0CitpbmRleCBjMGVmMzZi Li5jNGU3NWY2IDEwMDY0NAorLS0tIGEvVkVSU0lPTi50eHQKKysrKyBiL1ZFUlNJT04udHh0CitA QCAtMSArMSBAQAorLTEuMi43LmRldjEKKysxLjIuNy5kZXYyCitkaWZmIC0tZ2l0IGEvYmVoYXZl L3ZlcnNpb24ucHkgYi9iZWhhdmUvdmVyc2lvbi5weQoraW5kZXggYjE5Y2I1ZS4uNjdmNGE0MSAx MDA2NDQKKy0tLSBhL2JlaGF2ZS92ZXJzaW9uLnB5CisrKysgYi9iZWhhdmUvdmVyc2lvbi5weQor QEAgLTEsMiArMSwyIEBACisgIyAtLSBCRUhBVkUtVkVSU0lPTjoKKy1WRVJTSU9OID0gIjEuMi43 LmRldjEiCisrVkVSU0lPTiA9ICIxLjIuNy5kZXYyIgorZGlmZiAtLWdpdCBhL3B5dGVzdC5pbmkg Yi9weXRlc3QuaW5pCitpbmRleCBiOWYyODFhLi5kZjJhODFmIDEwMDY0NAorLS0tIGEvcHl0ZXN0 LmluaQorKysrIGIvcHl0ZXN0LmluaQorQEAgLTIxLDcgKzIxLDcgQEAgdGVzdHBhdGhzICAgICA9 IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRlc3RfKi5weQorIGp1bml0X2ZhbWlseSA9IHh1bml0 MgorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKKy0gICAg LS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2MQorKyAgICAtLW1ldGFkYXRhIFBB Q0tBR0VfVkVSU0lPTiAxLjIuNy5kZXYyCisgICAgIC0taHRtbD1idWlsZC90ZXN0aW5nL3JlcG9y dC5odG1sIC0tc2VsZi1jb250YWluZWQtaHRtbAorICAgICAtLWp1bml0LXhtbD1idWlsZC90ZXN0 aW5nL3JlcG9ydC54bWwKKyBtYXJrZXJzID0KK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVw LnB5CitpbmRleCAyYWZjMTQ3Li4yM2Y2NjU0IDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBi L3NldHVwLnB5CitAQCAtNTUsNyArNTUsNyBAQCBkZWYgZmluZF9wYWNrYWdlc19ieV9yb290X3Bh Y2thZ2Uod2hlcmUpOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzZXR1cCgKKyAgICAgbmFt ZT0iYmVoYXZlIiwKKy0gICAgdmVyc2lvbj0iMS4yLjcuZGV2MSIsCisrICAgIHZlcnNpb249IjEu Mi43LmRldjIiLAorICAgICBkZXNjcmlwdGlvbj0iYmVoYXZlIGlzIGJlaGF2aW91ci1kcml2ZW4g ZGV2ZWxvcG1lbnQsIFB5dGhvbiBzdHlsZSIsCisgICAgIGxvbmdfZGVzY3JpcHRpb249ZGVzY3Jp cHRpb24sCisgICAgIGF1dGhvcj0iSmVucyBFbmdlbCwgQmVubm8gUmljZSBhbmQgUmljaGFyZCBK b25lcyIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDc3LUdoZXJraW4tcGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8tcXVl c3Rpb24taW4tODAwLVAucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDc3LUdoZXJraW4tcGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8t cXVlc3Rpb24taW4tODAwLVAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi5hODU2MmE1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc3LUdoZXJraW4tcGFyc2VyLUNsZWFudXBz LXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tODAwLVAucGF0Y2gKQEAgLTAsMCArMSwyMjMgQEAKK0Zy b20gOGZhYjNlMjU1MDlkNzAzZjBlNWJmYTk5YzJlZjdmMDY0OGQxNDRlOCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogRnJpLCAyMCBEZWMgMjAxOSAxNjo0NTo0NiArMDEwMAorU3ViamVjdDogW1BB VENIXSBHaGVya2luIHBhcnNlcjogQ2xlYW51cHMgcmVsYXRlZCB0byBxdWVzdGlvbiBpbiAjODAw CisgKFBhcnNlRXJyb3IgdXNhZ2UpCisKKy0tLQorIENIQU5HRVMucnN0ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDEgKworIGJlaGF2ZS9wYXJzZXIucHkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgNDEgKysrKysrKysrKysrKy0tLS0tLS0KKyBmZWF0dXJlcy9iYWNr Z3JvdW5kLmZlYXR1cmUgICAgICAgICAgICAgICAgICB8ICA0ICstCisgZmVhdHVyZXMvcGFyc2Vy LmJhY2tncm91bmQuc2FkX2Nhc2VzLmZlYXR1cmUgfCAxMCArKy0tLQorIGZlYXR1cmVzL3BhcnNl ci5mZWF0dXJlLnNhZF9jYXNlcy5mZWF0dXJlICAgIHwgIDYgKy0tCisgaXNzdWUuZmVhdHVyZXMv aXNzdWUwMTQ4LmZlYXR1cmUgICAgICAgICAgICAgfCAgMiArLQorIDYgZmlsZXMgY2hhbmdlZCwg MzggaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DSEFOR0VT LnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCBiYTRkYWFkLi41NjUzNDkyIDEwMDY0NAorLS0tIGEv Q0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtNDQsNiArNDQsNyBAQCBGSVhFRDoK KyAKKyBNSU5PUjoKKyAKKysqIGlzc3VlICM4MDA6IENsZWFudXBzIHJlbGF0ZWQgdG8gR2hlcmtp biBwYXJzZXIvUGFyc2VFcnJvciBxdWVzdGlvbiAoc3VibWl0dGVkIGJ5OiBvdHN0YW50ZXBseikK KyAqIHB1bGwgICM3Njc6IEZJWDogdXNlX2ZpeHR1cmVfYnlfdGFnIGRpZG4ndCByZXR1cm4gdGhl IGFjdHVhbCBmaXh0dXJlIGluIGFsbCBjYXNlcyAocHJvdmlkZWQgYnk6IGpnZW50aWwpCisgKiBw dWxsICAjNzUxOiBnaGVya2luOiBBZGRpbmcgUnVsZSBrZXl3b3JkIHRyYW5zbGF0aW9uIGluIHBv cnR1Z3Vlc2UgYW5kIHNwYW5pc2ggdG8gZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiAocHJvdmlkZWQg Ynk6IGR1bm9zc2F1cm8pCisgKiBwdWxsICAjNjYwOiBGaXggbWlub3IgdHlwb3MgKHByb3ZpZGVk IGJ5OiBycnVldGgpCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3BhcnNlci5weSBiL2JlaGF2ZS9wYXJz ZXIucHkKK2luZGV4IDUyMGY2NzguLjU4YzY4YmUgMTAwNjQ0CistLS0gYS9iZWhhdmUvcGFyc2Vy LnB5CisrKysgYi9iZWhhdmUvcGFyc2VyLnB5CitAQCAtMTMyLDEzICsxMzIsMjQgQEAgZGVmIHBh cnNlX3RhZ3ModGV4dCk6CisgCisgCisgY2xhc3MgUGFyc2VyRXJyb3IoRXhjZXB0aW9uKToKKy0g ICAgZGVmIF9faW5pdF9fKHNlbGYsIG1lc3NhZ2UsIGxpbmUsIGZpbGVuYW1lPU5vbmUsIGxpbmVf dGV4dD1Ob25lKToKKy0gICAgICAgIGlmIGxpbmU6CistICAgICAgICAgICAgbWVzc2FnZSArPSB1 IiBhdCBsaW5lICVkIiAlIGxpbmUKKy0gICAgICAgICAgICBpZiBsaW5lX3RleHQ6CistICAgICAg ICAgICAgICAgIG1lc3NhZ2UgKz0gdSc6ICIlcyInICUgbGluZV90ZXh0LnN0cmlwKCkKKysgICAg QHN0YXRpY21ldGhvZAorKyAgICBkZWYgbWFrZV9hbm5vdGF0ZWQobWVzc2FnZSwgbGluZV9udW1i ZXIsIGxpbmVfdGV4dD1Ob25lLCByZWFzb249Tm9uZSk6CisrICAgICAgICAiIiJNYWtlIGFubm90 YXRlZCBtZXNzYWdlIGVucmljaGVkIHcvIGxpbmVfbnVtYmVyLCBsaW5lX3RleHQuIiIiCisrICAg ICAgICBpZiBsaW5lX251bWJlcjoKKysgICAgICAgICAgICBtZXNzYWdlICs9IHUiIGF0IGxpbmUg JWQiICUgbGluZV9udW1iZXIKKysgICAgICAgIGlmIGxpbmVfdGV4dDoKKysgICAgICAgICAgICBt ZXNzYWdlICs9IHUnOiAiJXMiJyAlIGxpbmVfdGV4dC5zdHJpcCgpCisrICAgICAgICBpZiByZWFz b246CisrICAgICAgICAgICAgbWVzc2FnZSArPSB1IlxuUkVBU09OOiAlcyIgJSByZWFzb24KKysg ICAgICAgIHJldHVybiBtZXNzYWdlCisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtZXNzYWdl LCBsaW5lLCBmaWxlbmFtZT1Ob25lLCBsaW5lX3RleHQ9Tm9uZSwKKysgICAgICAgICAgICAgICAg IHJlYXNvbj1Ob25lLCB1c2VfYW5ub3RhdGVkX21lc3NhZ2U9VHJ1ZSk6CisrICAgICAgICBpZiB1 c2VfYW5ub3RhdGVkX21lc3NhZ2U6CisrICAgICAgICAgICAgbWVzc2FnZSA9IHNlbGYubWFrZV9h bm5vdGF0ZWQobWVzc2FnZSwgbGluZSwgbGluZV90ZXh0LCByZWFzb24pCisrCisgICAgICAgICBz dXBlcihQYXJzZXJFcnJvciwgc2VsZikuX19pbml0X18obWVzc2FnZSkKKy0gICAgICAgIHNlbGYu bGluZSA9IGxpbmUKKysgICAgICAgIHNlbGYubGluZSA9IGxpbmUgICAgIyBMaW5lIG51bWJlciBv ZiBwYXJzZSBmYWlsdXJlLgorICAgICAgICAgc2VsZi5saW5lX3RleHQgPSBsaW5lX3RleHQKKyAg ICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQorIAorQEAgLTM4NiwxNCArMzk3LDEzIEBA IGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkK KyAgICAgICAgICAgICBtc2cgPSB1IlBhcnNlciBpbiB1bmtub3duIHN0YXRlICVzOyIgJSBzZWxm LnN0YXRlCisgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IobXNnLCBzZWxmLmxpbmUsIHNl bGYuZmlsZW5hbWUsIGxpbmUpCisrCisgICAgICAgICBpZiBub3QgZnVuYyhsaW5lKToKKyAgICAg ICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCistICAgICAgICAgICAgbXNnID0gdSdcblBhcnNl ciBmYWlsdXJlIGluIHN0YXRlICVzLCBhdCBsaW5lICVkOiAiJXMiXG4nICUgXAorLSAgICAgICAg ICAgICAgICAgIChzZWxmLnN0YXRlLCBzZWxmLmxpbmUsIGxpbmUpCisrICAgICAgICAgICAgbXNn ID0gdSdcblBhcnNlciBmYWlsdXJlIGluIHN0YXRlPSVzJyAlIHNlbGYuc3RhdGUKKyAgICAgICAg ICAgICByZWFzb24gPSBzZWxmLmFza19wYXJzZV9mYWlsdXJlX29yYWNsZShsaW5lKQorLSAgICAg ICAgICAgIGlmIHJlYXNvbjoKKy0gICAgICAgICAgICAgICAgbXNnICs9IHUiUkVBU09OOiAlcyIg JSByZWFzb24KKy0gICAgICAgICAgICByYWlzZSBQYXJzZXJFcnJvcihtc2csIE5vbmUsIHNlbGYu ZmlsZW5hbWUpCisrICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IobXNnLCBzZWxmLmxpbmUs IHNlbGYuZmlsZW5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZV90ZXh0 PWxpbmUsIHJlYXNvbj1yZWFzb24pCisgCisgICAgIGRlZiBhY3Rpb25faW5pdChzZWxmLCBsaW5l KToKKyAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKK0BAIC02NDIsNyArNjUyLDcgQEAgY2xh c3MgUGFyc2VyKG9iamVjdCk6CisgICAgICAgICAgICAgc2VsZi50YWJsZSA9IG1vZGVsLlRhYmxl KGNlbGxzLCBzZWxmLmxpbmUpCisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIGlmIGxlbihj ZWxscykgIT0gbGVuKHNlbGYudGFibGUuaGVhZGluZ3MpOgorLSAgICAgICAgICAgICAgICByYWlz ZSBQYXJzZXJFcnJvcih1Ik1hbGZvcm1lZCB0YWJsZSIsIHNlbGYubGluZSkKKysgICAgICAgICAg ICAgICAgcmFpc2UgUGFyc2VyRXJyb3IodSJNYWxmb3JtZWQgdGFibGUiLCBzZWxmLmxpbmUsIHNl bGYuZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICMgTUFZQkU6IHNlbGYuZmlsZW5hbWUpCisg ICAgICAgICAgICAgc2VsZi50YWJsZS5hZGRfcm93KGNlbGxzLCBzZWxmLmxpbmUpCisgICAgICAg ICByZXR1cm4gVHJ1ZQorQEAgLTcwNCw4ICs3MTQsOCBAQCBjbGFzcyBQYXJzZXIob2JqZWN0KToK KyAgICAgICAgICAgICAgICAgYnJlYWsgICAjIC0tIENPTU1FTlQ6IFNraXAgcmVzdCBvZiBsaW5l LgorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICMgLS0gQkFELVRBRzogQWJv cnQgaGVyZS4KKy0gICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IodSJ0YWc6ICVzIChs aW5lOiAlcykiICUgKHdvcmQsIGxpbmUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLmxpbmUsIHNlbGYuZmlsZW5hbWUpCisrICAgICAgICAgICAgICAgIG1lc3NhZ2Ug PSB1InRhZzogJXMgKGxpbmU6ICVzKSIgJSAod29yZCwgbGluZSkKKysgICAgICAgICAgICAgICAg cmFpc2UgUGFyc2VyRXJyb3IobWVzc2FnZSwgc2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lKQorICAg ICAgICAgcmV0dXJuIHRhZ3MKKyAKKyAgICAgZGVmIHBhcnNlX3N0ZXAoc2VsZiwgbGluZSk6CitA QCAtNzIzLDcgKzczMyw4IEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAgICAgICAgICAgICAg ICBzdGVwX3RleHRfYWZ0ZXJfa2V5d29yZCA9IGxpbmVbbGVuKGt3KTpdLnN0cmlwKCkKKyAgICAg ICAgICAgICAgICAgaWYgc3RlcF90eXBlIGluICgiYW5kIiwgImJ1dCIpOgorICAgICAgICAgICAg ICAgICAgICAgaWYgbm90IHNlbGYubGFzdF9zdGVwOgorLSAgICAgICAgICAgICAgICAgICAgICAg IHJhaXNlIFBhcnNlckVycm9yKHUiTm8gcHJldmlvdXMgc3RlcCIsIHNlbGYubGluZSkKKysgICAg ICAgICAgICAgICAgICAgICAgICByYWlzZSBQYXJzZXJFcnJvcih1Ik5vIHByZXZpb3VzIHN0ZXAi LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGluZSwg c2VsZi5maWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgIHN0ZXBfdHlwZSA9IHNlbGYubGFz dF9zdGVwCisgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICBzZWxm Lmxhc3Rfc3RlcCA9IHN0ZXBfdHlwZQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL2JhY2tncm91bmQu ZmVhdHVyZSBiL2ZlYXR1cmVzL2JhY2tncm91bmQuZmVhdHVyZQoraW5kZXggYjJmNTgzMy4uNjVj NDg4MiAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL2JhY2tncm91bmQuZmVhdHVyZQorKysrIGIvZmVh dHVyZXMvYmFja2dyb3VuZC5mZWF0dXJlCitAQCAtMzYyLDcgKzM2Miw3IEBAIEZlYXR1cmU6IEJh Y2tncm91bmQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC1UIGZlYXR1cmVzL2Jh Y2tncm91bmRfc2FkX2V4YW1wbGUxLmZlYXR1cmUiCisgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwg d2l0aDoKKyAgICAgICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3Rl cHMsIGF0IGxpbmUgNTogIkJhY2tncm91bmQ6IEIxIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUg aW4gc3RhdGU9c3RlcHMgYXQgbGluZSA1OiAiQmFja2dyb3VuZDogQjEiCisgICAgICAgICBSRUFT T046IEJhY2tncm91bmQgbWF5IG5vdCBvY2N1ciBhZnRlciBTY2VuYXJpby9TY2VuYXJpb091dGxp bmUuCisgICAgICAgICAiIiIKKyAKK0BAIC0zODcsNiArMzg3LDYgQEAgRmVhdHVyZTogQmFja2dy b3VuZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLVQgZmVhdHVyZXMvYmFja2dy b3VuZF9zYWRfZXhhbXBsZTIuZmVhdHVyZSIKKyAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRo OgorICAgICAgICAgIiIiCistICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSBzdGVwcywg YXQgbGluZSA1OiAiQmFja2dyb3VuZDogQjIgKFhGQUlMKSIKKysgICAgICAgIFBhcnNlciBmYWls dXJlIGluIHN0YXRlPXN0ZXBzIGF0IGxpbmUgNTogIkJhY2tncm91bmQ6IEIyIChYRkFJTCkiCisg ICAgICAgICBSRUFTT046IEJhY2tncm91bmQgc2hvdWxkIG5vdCBiZSB1c2VkIGhlcmUuCisgICAg ICAgICAiIiIKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9wYXJzZXIuYmFja2dyb3VuZC5zYWRfY2Fz ZXMuZmVhdHVyZSBiL2ZlYXR1cmVzL3BhcnNlci5iYWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0dXJl CitpbmRleCAzNzk1NmFkLi5lYjIzNGFlIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvcGFyc2VyLmJh Y2tncm91bmQuc2FkX2Nhc2VzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3BhcnNlci5iYWNrZ3Jv dW5kLnNhZF9jYXNlcy5mZWF0dXJlCitAQCAtMzcsNyArMzcsNyBAQCBGZWF0dXJlOiBFbnN1cmUg dGhhdCBCQUQvU0FEIFVzZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3RlZAorICAgICAg IFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aAorICAgICAgICAgIiIiCisgICAgICAgICBGYWlsZWQg dG8gcGFyc2UgIntfX1dPUktESVJfX30vZmVhdHVyZXMvc3luZHJvbWUuYmFja2dyb3VuZF93aXRo X3RhZ3MuZmVhdHVyZSI6CistICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSB0YWdnYWJs ZV9zdGF0ZW1lbnQsIGF0IGxpbmUgNDogIkJhY2tncm91bmQ6IE9vcHMuLi4iCisrICAgICAgICBQ YXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT10YWdnYWJsZV9zdGF0ZW1lbnQgYXQgbGluZSA0OiAiQmFj a2dyb3VuZDogT29wcy4uLiIKKyAgICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBkb2VzIG5vdCBz dXBwb3J0IHRhZ3MuCisgICAgICAgICAiIiIKKyAKK0BAIC01Nyw3ICs1Nyw3IEBAIEZlYXR1cmU6 IEVuc3VyZSB0aGF0IEJBRC9TQUQgVXNlIGNhc2VzIG9mIEJhY2tncm91bmQgYXJlIGRldGVjdGVk CisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoCisgICAgICAgICAiIiIKKyAgICAgICAg IEZhaWxlZCB0byBwYXJzZSAie19fV09SS0RJUl9ffS9mZWF0dXJlcy9zeW5kcm9tZS5iYWNrZ3Jv dW5kX2FmdGVyX3NjZW5hcmlvLmZlYXR1cmUiOgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4g c3RhdGUgc3RlcHMsIGF0IGxpbmUgNjogIkJhY2tncm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRl ciBTY2VuYXJpbykiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1zdGVwcyBhdCBs aW5lIDY6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8pIgorICAg ICAgICAgUkVBU09OOiBCYWNrZ3JvdW5kIG1heSBub3Qgb2NjdXIgYWZ0ZXIgU2NlbmFyaW8vU2Nl bmFyaW9PdXRsaW5lLgorICAgICAgICAgIiIiCisgCitAQCAtNzcsNyArNzcsNyBAQCBGZWF0dXJl OiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3Rl ZAorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9zeW5kcm9t ZS50YWdnZWRfYmFja2dyb3VuZF9hZnRlcl9zY2VuYXJpby5mZWF0dXJlIgorICAgICAgIFRoZW4g aXQgc2hvdWxkIGZhaWwgd2l0aAorICAgICAgICAgIiIiCistICAgICAgICBQYXJzZXIgZmFpbHVy ZSBpbiBzdGF0ZSB0YWdnYWJsZV9zdGF0ZW1lbnQsIGF0IGxpbmUgNzogIkJhY2tncm91bmQ6IE9v cHMsIHRvbyBsYXRlIChhZnRlciBTY2VuYXJpbykiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBp biBzdGF0ZT10YWdnYWJsZV9zdGF0ZW1lbnQgYXQgbGluZSA3OiAiQmFja2dyb3VuZDogT29wcywg dG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvKSIKKyAgICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBt YXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1NjZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIi IgorIAorQEAgLTEwMCw3ICsxMDAsNyBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVz ZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3RlZAorICAgICAgIFdoZW4gSSBydW4gImJl aGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9zeW5kcm9tZS5iYWNrZ3JvdW5kX2FmdGVyX3NjZW5h cmlvX291dGxpbmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGgKKyAg ICAgICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMsIGF0IGxp bmUgMTA6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8gT3V0bGlu ZSkiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1zdGVwcyBhdCBsaW5lIDEwOiAi QmFja2dyb3VuZDogT29wcywgdG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvIE91dGxpbmUpIgorICAg ICAgICAgUkVBU09OOiBCYWNrZ3JvdW5kIG1heSBub3Qgb2NjdXIgYWZ0ZXIgU2NlbmFyaW8vU2Nl bmFyaW9PdXRsaW5lLgorICAgICAgICAgIiIiCisgCitAQCAtMTI0LDYgKzEyNCw2IEBAIEZlYXR1 cmU6IEVuc3VyZSB0aGF0IEJBRC9TQUQgVXNlIGNhc2VzIG9mIEJhY2tncm91bmQgYXJlIGRldGVj dGVkCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC1UIGZlYXR1cmVzL3N5bmRy b21lLmJhY2tncm91bmRfYWZ0ZXJfc2NlbmFyaW9fb3V0bGluZS5mZWF0dXJlIgorICAgICAgIFRo ZW4gaXQgc2hvdWxkIGZhaWwgd2l0aAorICAgICAgICAgIiIiCistICAgICAgICBQYXJzZXIgZmFp bHVyZSBpbiBzdGF0ZSB0YWdnYWJsZV9zdGF0ZW1lbnQsIGF0IGxpbmUgMTE6ICJCYWNrZ3JvdW5k OiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8gT3V0bGluZSkiCisrICAgICAgICBQYXJz ZXIgZmFpbHVyZSBpbiBzdGF0ZT10YWdnYWJsZV9zdGF0ZW1lbnQgYXQgbGluZSAxMTogIkJhY2tn cm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRlciBTY2VuYXJpbyBPdXRsaW5lKSIKKyAgICAgICAg IFJFQVNPTjogQmFja2dyb3VuZCBtYXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1NjZW5hcmlv T3V0bGluZS4KKyAgICAgICAgICIiIgorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3BhcnNlci5mZWF0 dXJlLnNhZF9jYXNlcy5mZWF0dXJlIGIvZmVhdHVyZXMvcGFyc2VyLmZlYXR1cmUuc2FkX2Nhc2Vz LmZlYXR1cmUKK2luZGV4IGQ4OWQ5YjcuLjBlMTJkOWYgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9w YXJzZXIuZmVhdHVyZS5zYWRfY2FzZXMuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvcGFyc2VyLmZl YXR1cmUuc2FkX2Nhc2VzLmZlYXR1cmUKK0BAIC04NCw3ICs4NCw3IEBAIEZlYXR1cmU6IFBhcnNp bmcgYSBGZWF0dXJlIEZpbGUgd2l0aG91dCBhIEZlYXR1cmUgb3Igd2l0aCBzZXZlcmFsIEZlYXR1 cmVzCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorICAgICAgICAgIiIiCisgICAg ICAgICBGYWlsZWQgdG8gcGFyc2UgIntfX1dPUktESVJfX30vZmVhdHVyZXMvb25seV90ZXh0LmZl YXR1cmUiOgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgaW5pdCwgYXQgbGluZSAx OiAiVGhpcyBGaWxlOiBDb250YWlucyBvbmx5IHRleHQgd2l0aG91dCBrZXl3b3Jkcy4iCisrICAg ICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1pbml0IGF0IGxpbmUgMTogIlRoaXMgRmlsZTog Q29udGFpbnMgb25seSB0ZXh0IHdpdGhvdXQga2V5d29yZHMuIgorICAgICAgICAgUkVBU09OOiBO byBmZWF0dXJlIGZvdW5kLgorICAgICAgICAgIiIiCisgCitAQCAtMTAzLDcgKzEwMyw3IEBAIEZl YXR1cmU6IFBhcnNpbmcgYSBGZWF0dXJlIEZpbGUgd2l0aG91dCBhIEZlYXR1cmUgb3Igd2l0aCBz ZXZlcmFsIEZlYXR1cmVzCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorICAgICAg ICAgIiIiCisgICAgICAgICBGYWlsZWQgdG8gcGFyc2UgIntfX1dPUktESVJfX30vZmVhdHVyZXMv bmFrZWRfc2NlbmFyaW9fb25seS5mZWF0dXJlIjoKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGlu IHN0YXRlIGluaXQsIGF0IGxpbmUgMTogIlNjZW5hcmlvOiIKKysgICAgICAgIFBhcnNlciBmYWls dXJlIGluIHN0YXRlPWluaXQgYXQgbGluZSAxOiAiU2NlbmFyaW86IgorICAgICAgICAgUkVBU09O OiBTY2VuYXJpbyBtYXkgbm90IG9jY3VyIGJlZm9yZSBGZWF0dXJlLgorICAgICAgICAgIiIiCisg CitAQCAtMTM5LDYgKzEzOSw2IEBAIEZlYXR1cmU6IFBhcnNpbmcgYSBGZWF0dXJlIEZpbGUgd2l0 aG91dCBhIEZlYXR1cmUgb3Igd2l0aCBzZXZlcmFsIEZlYXR1cmVzCisgICAgICAgICAgIFRoZW4g aXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgICBGYWls ZWQgdG8gcGFyc2UgIntfX1dPUktESVJfX30vZmVhdHVyZXMvdHdvX2ZlYXR1cmVzLmZlYXR1cmUi OgorLSAgICAgICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIHN0ZXBzLCBhdCBsaW5lIDc6 ICJGZWF0dXJlOiBGMiIKKysgICAgICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1zdGVw cyBhdCBsaW5lIDc6ICJGZWF0dXJlOiBGMiIKKyAgICAgICAgICAgICBSRUFTT046IE11bHRpcGxl IGZlYXR1cmVzIGluIG9uZSBmaWxlIGFyZSBub3Qgc3VwcG9ydGVkLgorICAgICAgICAgICAgICIi IgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDE0OC5mZWF0dXJlIGIvaXNzdWUu ZmVhdHVyZXMvaXNzdWUwMTQ4LmZlYXR1cmUKK2luZGV4IDQzODc3OTUuLjY2N2QxOTYgMTAwNjQ0 CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAxNDguZmVhdHVyZQorKysrIGIvaXNzdWUuZmVh dHVyZXMvaXNzdWUwMTQ4LmZlYXR1cmUKK0BAIC02Nyw3ICs2Nyw3IEBAIEZlYXR1cmU6IElzc3Vl ICMxNDg6IFN1YnN0ZXBzIGRvIG5vdCBmYWlsCisgICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQg c2hvdWxkIGNvbnRhaW46CisgICAgICAgICAiIiIKKyAgICAgICAgIFBhcnNlckVycm9yOiBGYWls ZWQgdG8gcGFyc2UgPHN0cmluZz46CistICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSBz dGVwcywgYXQgbGluZSAyOiAiSSBkbyBzb21ldGhpbmcgc3R1cGlkIgorKyAgICAgICAgUGFyc2Vy IGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQgbGluZSAyOiAiSSBkbyBzb21ldGhpbmcgc3R1cGlk IgorICAgICAgICAgIiIiCisgCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc4LUNsYXJpZnktc2VsZWN0LWJ5LW5hbWUt dXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQtdG8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc4LUNsYXJpZnktc2VsZWN0LWJ5LW5h bWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQtdG8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi4wNDc5YmFmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc4LUNsYXJpZnkt c2VsZWN0LWJ5LW5hbWUtdXNlcy1yZWdleC1wYXR0ZXJuLXJlbGF0ZWQtdG8ucGF0Y2gKQEAgLTAs MCArMSw4MiBAQAorRnJvbSBmNzg1ZjIwZmI4ZDUwODdhNzA1M2Y2ZGM2NjdiZDI4MTgwYTIyMmQ1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5u b3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgRmViIDIwMjAgMjA6MzA6NTMgKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gQ2xhcmlmeSBzZWxlY3QtYnktbmFtZSB1c2VzIHJlZ2V4IHBhdHRl cm4gKHJlbGF0ZWQgdG86IGlzc3VlCisgIzgxMCkKKworQ2xhcmlmaXkgc2VsZWN0LWJ5LW5hbWUg dXNlcyByZWdleCBwYXR0ZXJuOgorCisqIEFkYXB0IGNvbW1hbmQtbGluZSBvcHRpb24gLS1uYW1l IGhlbHAgdGV4dAorKiBVcGRhdGUgY29tbWFuZC1saW5lIGFyZ3MgZG9jcyBmb3IgYmVoYXZlCist LS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICB8ICA0ICsrKysKKyBiZWhhdmUvY29uZmlndXJh dGlvbi5weSB8IDEwICsrKysrLS0tLS0KKyBkb2NzL2JlaGF2ZS5yc3QgICAgICAgICB8IDEyICsr KysrKy0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCA1 NjUzNDkyLi5kMGJmNmZkIDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMu cnN0CitAQCAtMzEsNiArMzEsMTAgQEAgRU5IQU5DRU1FTlRTOgorICogaXNzdWUgIzY3ODogU2Nl bmFyaW8gT3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGggY29tbWFzIGFuZCBzZW1pY29sb25zIChw cm92aWRlZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3OSkKKyAqIGlzc3VlICM2NzU6IEZl YXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChw cm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKKyAKKytDTEFSSUZJQ0FUSU9OOgorKwor KyogaXNzdWUgIzgxMDogQ2xhcmlmeSBzZWxlY3QtYnktbmFtZSB1c2luZyByZWdleCBwYXR0ZXJu IChzdWJtaXR0ZWQgYnk6IHh2LWNocmlzLXcpCisrCisgRklYRUQ6CisgCisgKiBpc3N1ZSAjNzcy OiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0aG91dCB0YWJsZSAoc3VibWl0dGVkIGJ5OiBU aGUtUUEtR2VlaykKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2 ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCBiZDhiMDM5Li42NWUyZTNlIDEwMDY0NAorLS0tIGEv YmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitA QCAtMTY0LDExICsxNjQsMTEgQEAgb3B0aW9ucyA9IFsKKyAgICAgICAgICAgICAgICAgICBvdmVy cmlkZSBhIGNvbmZpZ3VyYXRpb24gZmlsZSBzZXR0aW5nLiIiIikpLAorIAorICAgICAoKCItbiIs ICItLW5hbWUiKSwKKy0gICAgIGRpY3QoYWN0aW9uPSJhcHBlbmQiLAorLSAgICAgICAgICBoZWxw PSIiIk9ubHkgZXhlY3V0ZSB0aGUgZmVhdHVyZSBlbGVtZW50cyB3aGljaCBtYXRjaCBwYXJ0Cist ICAgICAgICAgICAgICAgICAgb2YgdGhlIGdpdmVuIG5hbWUuIElmIHRoaXMgb3B0aW9uIGlzIGdp dmVuIG1vcmUKKy0gICAgICAgICAgICAgICAgICB0aGFuIG9uY2UsIGl0IHdpbGwgbWF0Y2ggYWdh aW5zdCBhbGwgdGhlIGdpdmVuCistICAgICAgICAgICAgICAgICAgbmFtZXMuIiIiKSksCisrICAg ICBkaWN0KGFjdGlvbj0iYXBwZW5kIiwgbWV0YXZhcj0iTkFNRV9QQVRURVJOIiwKKysgICAgICAg ICAgaGVscD0iIiJTZWxlY3QgZmVhdHVyZSBlbGVtZW50cyAoc2NlbmFyaW9zLCAuLi4pIHRvIHJ1 bgorKyAgICAgICAgICAgICAgICAgIHdoaWNoIG1hdGNoIHBhcnQgb2YgdGhlIGdpdmVuIG5hbWUg KHJlZ2V4IHBhdHRlcm4pLgorKyAgICAgICAgICAgICAgICAgIElmIHRoaXMgb3B0aW9uIGlzIGdp dmVuIG1vcmUgdGhhbiBvbmNlLAorKyAgICAgICAgICAgICAgICAgIGl0IHdpbGwgbWF0Y2ggYWdh aW5zdCBhbGwgdGhlIGdpdmVuIG5hbWVzLiIiIikpLAorIAorICAgICAoKCItLW5vLWNhcHR1cmUi LCksCisgICAgICBkaWN0KGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJzdGRvdXRfY2FwdHVy ZSIsCitkaWZmIC0tZ2l0IGEvZG9jcy9iZWhhdmUucnN0IGIvZG9jcy9iZWhhdmUucnN0CitpbmRl eCBkZmIzOTBhLi4yNWNlNTIzIDEwMDY0NAorLS0tIGEvZG9jcy9iZWhhdmUucnN0CisrKysgYi9k b2NzL2JlaGF2ZS5yc3QKK0BAIC05NSw5ICs5NSw5IEBAIFlvdSBtYXkgc2VlIHRoZSBzYW1lIGlu Zm9ybWF0aW9uIHByZXNlbnRlZCBiZWxvdyBhdCBhbnkgdGltZSB1c2luZyBgYGJlaGF2ZQorIAor IC4uIG9wdGlvbjo6IC1uLCAtLW5hbWUKKyAKKy0gICAgT25seSBleGVjdXRlIHRoZSBmZWF0dXJl IGVsZW1lbnRzIHdoaWNoIG1hdGNoIHBhcnQgb2YgdGhlIGdpdmVuIG5hbWUuCistICAgIElmIHRo aXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhhbiBvbmNlLCBpdCB3aWxsIG1hdGNoIGFnYWluc3Qg YWxsCistICAgIHRoZSBnaXZlbiBuYW1lcy4KKysgICAgU2VsZWN0IGZlYXR1cmUgZWxlbWVudHMg KHNjZW5hcmlvcywgLi4uKSB0byBydW4gd2hpY2ggbWF0Y2ggcGFydCBvZgorKyAgICB0aGUgZ2l2 ZW4gbmFtZSAocmVnZXggcGF0dGVybikuIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhh bgorKyAgICBvbmNlLCBpdCB3aWxsIG1hdGNoIGFnYWluc3QgYWxsIHRoZSBnaXZlbiBuYW1lcy4K KyAKKyAuLiBvcHRpb246OiAtLW5vLWNhcHR1cmUKKyAKK0BAIC00NDksOSArNDQ5LDkgQEAgQ29u ZmlndXJhdGlvbiBQYXJhbWV0ZXJzCisgCisgLi4gZGVzY3JpYmU6OiBuYW1lIDogc2VxdWVuY2U8 dGV4dD4KKyAKKy0gICAgT25seSBleGVjdXRlIHRoZSBmZWF0dXJlIGVsZW1lbnRzIHdoaWNoIG1h dGNoIHBhcnQgb2YgdGhlIGdpdmVuIG5hbWUuCistICAgIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVu IG1vcmUgdGhhbiBvbmNlLCBpdCB3aWxsIG1hdGNoIGFnYWluc3QgYWxsCistICAgIHRoZSBnaXZl biBuYW1lcy4KKysgICAgU2VsZWN0IGZlYXR1cmUgZWxlbWVudHMgKHNjZW5hcmlvcywgLi4uKSB0 byBydW4gd2hpY2ggbWF0Y2ggcGFydCBvZgorKyAgICB0aGUgZ2l2ZW4gbmFtZSAocmVnZXggcGF0 dGVybikuIElmIHRoaXMgb3B0aW9uIGlzIGdpdmVuIG1vcmUgdGhhbgorKyAgICBvbmNlLCBpdCB3 aWxsIG1hdGNoIGFnYWluc3QgYWxsIHRoZSBnaXZlbiBuYW1lcy4KKyAKKyAuLiBpbmRleDo6Cisg ICAgIHNpbmdsZTogY29uZmlndXJhdGlvbiBwYXJhbTsgc3Rkb3V0X2NhcHR1cmUKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NzktRklYLUNyb3NzLXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwNzktRklYLUNyb3NzLXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFz cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ2YTYyODMzNAot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNzktRklYLUNyb3NzLXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFzdGUt aW4tUnVsZS1jbGFzcy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDUxY2QwYjcwNWQ5YTNj ZGI5MGU5YjQyNTc5MWRhM2Y0YWQ0N2Q2YTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwg MTMgQXByIDIwMjAgMTA6MzE6NTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBDcm9zcy1y ZWZlcmVuY2UgcHJvYmxlbSAoY29weStwYXN0ZSkgaW4gUnVsZSBjbGFzcworIGRvY3N0cmluZy4K KworLS0tCisgYmVoYXZlL21vZGVsLnB5IHwgNiArKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVs LnB5IGIvYmVoYXZlL21vZGVsLnB5CitpbmRleCBmNDZkMmMyLi5jYjY5ZjllIDEwMDY0NAorLS0t IGEvYmVoYXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUvbW9kZWwucHkKK0BAIC04NCw4ICs4NCw4 IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5 YWJsZSk6CisgCisgICAgIC4uIGF0dHJpYnV0ZTo6IGtleXdvcmQKKyAKKy0gICAgICAgVGhpcyBp cyB0aGUga2V5d29yZCBhcyBzZWVuIGluIHRoZSAqZmVhdHVyZSBmaWxlKi4gSW4gRW5nbGlzaCB0 aGlzIHdpbGwKKy0gICAgICAgYmUgIkZlYXR1cmUiIG9yICJSdWxlIi4KKysgICAgICAgVGhpcyBp cyB0aGUga2V5d29yZCBhcyBzZWVuIGluIHRoZSAqZmVhdHVyZSBmaWxlKi4KKysgICAgICAgSW4g RW5nbGlzaCB0aGlzIHdpbGwgYmUgIkZlYXR1cmUiIG9yICJSdWxlIi4KKyAKKyAgICAgLi4gYXR0 cmlidXRlOjogbmFtZQorIAorQEAgLTY3MSw3ICs2NzEsNyBAQCBjbGFzcyBSdWxlKFNjZW5hcmlv Q29udGFpbmVyKToKKyAKKyAKKyAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKy0gICAgLi4g X2BmZWF0dXJlYDogZ2hlcmtpbi5odG1sI3J1bGUKKysgICAgLi4gX2BydWxlYDogZ2hlcmtpbi5o dG1sI3J1bGUKKyAgICAgIiIiCisgICAgIHR5cGUgPSAicnVsZSIKKyAKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODAtRE9D Uy1VcGRhdGUtQVBJLWRlc2NyaXB0aW9uLWZvci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MC1ET0NT LVVwZGF0ZS1BUEktZGVzY3JpcHRpb24tZm9yLVJ1bm5lci1PcGVyYXRpb24ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iNjgwM2YwMDcKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDgwLURPQ1MtVXBkYXRlLUFQSS1kZXNjcmlwdGlvbi1mb3ItUnVubmVyLU9wZXJhdGlvbi5wYXRj aApAQCAtMCwwICsxLDE5NSBAQAorRnJvbSA0NTU4ZmU0YzljNzI4ZDNmN2FjYmMyY2ZkMDkxMmYw NWFmZDIyYTJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEzIEFwciAyMDIwIDEwOjMz OjQ0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIERPQ1M6IFVwZGF0ZSBBUEkgZGVzY3JpcHRpb24g Zm9yICJSdW5uZXIgT3BlcmF0aW9uIi4KKworKiBQcm92aWRlIGRlc2NyaXB0aW9uIEdoZXJraW4g Z3JhbW1hciBjb250YWlubWVudHMKKyogQWRkIGRlc2NyaXB0aW9uIGZvciBSdWxlKHMpLgorLS0t CisgZG9jcy9hcGkucnN0IHwgMTM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspLCA0MSBk ZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvYXBpLnJzdCBiL2RvY3MvYXBpLnJzdAor aW5kZXggNWU0YjdiNC4uMzlmYTc1NSAxMDA2NDQKKy0tLSBhL2RvY3MvYXBpLnJzdAorKysrIGIv ZG9jcy9hcGkucnN0CitAQCAtMTk2LDI0ICsxOTYsMzQgQEAgRW52aXJvbm1lbnQgRmlsZSBGdW5j dGlvbnMKKyBUaGUgZW52aXJvbm1lbnQucHkgbW9kdWxlIG1heSBkZWZpbmUgY29kZSB0byBydW4g YmVmb3JlIGFuZCBhZnRlciBjZXJ0YWluCisgZXZlbnRzIGR1cmluZyB5b3VyIHRlc3Rpbmc6Cisg CistKipiZWZvcmVfc3RlcChjb250ZXh0LCBzdGVwKSwgYWZ0ZXJfc3RlcChjb250ZXh0LCBzdGVw KSoqCistICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBldmVyeSBzdGVwLiBUaGUgc3RlcCBw YXNzZWQgaW4gaXMgYW4gaW5zdGFuY2UKKy0gIG9mIDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5TdGVw YC4KKysqKmJlZm9yZV9hbGwoY29udGV4dCksIGFmdGVyX2FsbChjb250ZXh0KSoqCisrICBUaGVz ZSBydW4gYmVmb3JlIGFuZCBhZnRlciB0aGUgd2hvbGUgc2hvb3RpbmcgbWF0Y2guCisrCisrKipi ZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKSwgYWZ0ZXJfZmVhdHVyZShjb250ZXh0LCBm ZWF0dXJlKSoqCisrICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBlYWNoIGZlYXR1cmUgaXMg ZXhlY3V0ZWQuCisrICBUaGUgZmVhdHVyZSBvYmplY3QsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBh biBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuRmVhdHVyZWAuCisrCisrKipiZWZv cmVfcnVsZShjb250ZXh0LCBydWxlKSwgYWZ0ZXJfcnVsZShjb250ZXh0LCBydWxlKSoqCisrICBU aGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBlYWNoIHJ1bGUgaXMgZXhlY3VyZWQuCisrICBUaGUg cnVsZSBvYmplY3QsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6 YH5iZWhhdmUubW9kZWwuUnVsZWAuCisgCisgKipiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2Nl bmFyaW8pLCBhZnRlcl9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbykqKgorLSAgVGhlc2UgcnVu IGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBzY2VuYXJpbyBpcyBydW4uIFRoZSBzY2VuYXJpbyBwYXNz ZWQgaW4gaXMgYW4KKy0gIGluc3RhbmNlIG9mIDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5TY2VuYXJp b2AuCisrICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBlYWNoIHNjZW5hcmlvIGlzIHJ1bi4K KysgIFRoZSBzY2VuYXJpbyBvYmplY3QsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBhbiBpbnN0YW5j ZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuU2NlbmFyaW9gLgorIAorLSoqYmVmb3JlX2ZlYXR1 cmUoY29udGV4dCwgZmVhdHVyZSksIGFmdGVyX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSkqKgor LSAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBmZWF0dXJlIGZpbGUgaXMgZXhlcmNp c2VkLiBUaGUgZmVhdHVyZQorLSAgcGFzc2VkIGluIGlzIGFuIGluc3RhbmNlIG9mIDpjbGFzczpg fmJlaGF2ZS5tb2RlbC5GZWF0dXJlYC4KKysqKmJlZm9yZV9zdGVwKGNvbnRleHQsIHN0ZXApLCBh ZnRlcl9zdGVwKGNvbnRleHQsIHN0ZXApKioKKysgIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVy IGV2ZXJ5IHN0ZXAuCisrICBUaGUgc3RlcCBvYmplY3QsIHRoYXQgaXMgcGFzc2VkIGluLCBpcyBh biBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuU3RlcGAuCisgCisgKipiZWZvcmVf dGFnKGNvbnRleHQsIHRhZyksIGFmdGVyX3RhZyhjb250ZXh0LCB0YWcpKioKKyAgIFRoZXNlIHJ1 biBiZWZvcmUgYW5kIGFmdGVyIGEgc2VjdGlvbiB0YWdnZWQgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4g VGhleSBhcmUKKyAgIGludm9rZWQgZm9yIGVhY2ggdGFnIGVuY291bnRlcmVkIGluIHRoZSBvcmRl ciB0aGV5J3JlIGZvdW5kIGluIHRoZQorLSAgZmVhdHVyZSBmaWxlLiBTZWUgIDpyZWY6YGNvbnRy b2xsaW5nIHRoaW5ncyB3aXRoIHRhZ3NgLiBUaGUgdGFnIHBhc3NlZCBpbiBpcworLSAgYW4gaW5z dGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLlRhZ2AgYW5kIGJlY2F1c2UgaXQncyBhIHN1 YmNsYXNzIG9mCistICBzdHJpbmcgeW91IGNhbiBkbyBzaW1wbGUgdGVzdHMgbGlrZToKKysgIGZl YXR1cmUgZmlsZS4gU2VlICA6cmVmOmBjb250cm9sbGluZyB0aGluZ3Mgd2l0aCB0YWdzYC4KKysK KysgIFRhZ2dhYmxlIHN0YXRlbWVudHMgYXJlOiBGZWF0dXJlLCBSdWxlLCBTY2VuYXJpbywgU2Nl bmFyaW9PdXRsaW5lLCBFeGFtcGxlcy4KKysKKysgIFRoZSB0YWcsIHRoYXQgaXMgcGFzc2VkIGlu LCBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuVGFnYCBhbmQKKysgIGJl Y2F1c2UgaXQncyBhIHN1YmNsYXNzIG9mIHN0cmluZyB5b3UgY2FuIGRvIHNpbXBsZSB0ZXN0cyBs aWtlOgorIAorICAgLi4gY29kZS1ibG9jazo6IHB5dGhvbgorIAorQEAgLTIyNyw4ICsyMzcsNiBA QCBldmVudHMgZHVyaW5nIHlvdXIgdGVzdGluZzoKKyAgICAgICAgICAgICAgIGVsc2U6CisgICAg ICAgICAgICAgICAgICAgY29udGV4dC5icm93c2VyID0gd2ViZHJpdmVyLlBsYWluVmFuaWxsYSgp CisgCistKipiZWZvcmVfYWxsKGNvbnRleHQpLCBhZnRlcl9hbGwoY29udGV4dCkqKgorLSAgVGhl c2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHdob2xlIHNob290aW5nIG1hdGNoLgorIAorIAor IFNvbWUgVXNlZnVsIEVudmlyb25tZW50IElkZWFzCitAQCAtMzExLDQyICszMTksODcgQEAgVXNl IEZpeHR1cmVzCisgUnVubmVyIE9wZXJhdGlvbgorID09PT09PT09PT09PT09PT0KKyAKKy1HaXZl biBhbGwgdGhlIGNvZGUgdGhhdCBjb3VsZCBiZSBydW4gYnkgKmJlaGF2ZSosIHRoaXMgaXMgdGhl IG9yZGVyIGluCistd2hpY2ggdGhhdCBjb2RlIGlzIGludm9rZWQgKGlmIHRoZXkgZXhpc3QuKQor K1RoZSBleGVjdXRpb24gb2YgY29kZSBpcyBiYXNlZCBvbiB0aGUgR2hlcmtpbiBkZXNjcmlwdGlv biBpbiBgKi5mZWF0dXJlYCBmaWxlcy4KKytUaGUgZm9sbG93aW5nIHNlY3Rpb24gcHJvdmlkZXMg YSBzaG9ydCBvdmVydmlldyBvZiB0aGUgaGllcmFyY2hpY2FsIGNvbnRhaW5tZW50CisrdGhhdCBp cyBwb3NzaWJsZSBpbiB0aGUgR2hlcmtpbiBncmFtbWVyOgorIAorIC4uIHBhcnNlZC1saXRlcmFs OjoKKyAKKy0gICAgYmVmb3JlX2FsbAorLSAgICBmb3IgZmVhdHVyZSBpbiBhbGxfZmVhdHVyZXM6 CistICAgICAgICBiZWZvcmVfZmVhdHVyZQorLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1 cmUuc2NlbmFyaW9zOgorLSAgICAgICAgICAgIGJlZm9yZV9zY2VuYXJpbworLSAgICAgICAgICAg IGZvciBzdGVwIGluIHNjZW5hcmlvLnN0ZXBzOgorLSAgICAgICAgICAgICAgICBiZWZvcmVfc3Rl cAorLSAgICAgICAgICAgICAgICAgICAgc3RlcC5ydW4oKQorLSAgICAgICAgICAgICAgICBhZnRl cl9zdGVwCistICAgICAgICAgICAgYWZ0ZXJfc2NlbmFyaW8KKy0gICAgICAgIGFmdGVyX2ZlYXR1 cmUKKy0gICAgYWZ0ZXJfYWxsCisrICAgICMgLS0gU0lNUExJRklFRCBHSEVSS0lOIEdSQU1NQVIg KGZvciBHaGVya2luIHY2KToKKysgICAgIyBDQVJESU5BTElUWSBERUNPUkFUT1I6ICcqJyBtZWFu cyAwLi5OIChtYW55KSwgJz8nIG1lYW5zIDAuLjEgKG9wdGlvbmFsKQorKyAgICAjIEVYQU1QTEU6 IEZlYXR1cmUKKysgICAgIyAgIEEgRmVhdHVyZSBjYW4gaGF2ZSBtYW55IFRhZ3MgKGFzIFRhZ2dh YmxlU3RhdGVtZW50OiB6ZXJvIG9yIG1vcmUgdGFncyBiZWZvcmUgaXRzIGtleXdvcmQpLgorKyAg ICAjICAgQSBGZWF0dXJlIGNhbiBoYXZlIGFuIG9wdGlvbmFsIEJhY2tncm91bmQuCisrICAgICMg ICBBIEZlYXR1cmUgY2FuIGhhdmUgbWFueSBTY2VuYXJpbyhzKSwgbWVhbmluZyB6ZXJvIG9yIG1v cmUgU2NlbmFyaW9zLgorKyAgICAjICAgQSBGZWF0dXJlIGNhbiBoYXZlIG1hbnkgU2NlbmFyaW9P dXRsaW5lKHMpLgorKyAgICAjICAgQSBGZWF0dXJlIGNhbiBoYXZlIG1hbnkgUnVsZShzKS4KKysg ICAgRmVhdHVyZShUYWdnYWJsZVN0YXRlbWVudCk6CisrICAgICAgICBCYWNrZ3JvdW5kPworKyAg ICAgICAgU2NlbmFyaW8qCisrICAgICAgICBTY2VuYXJpb091dGxpbmUqCisrICAgICAgICBSdWxl KgorKworKyAgICBCYWNrZ3JvdW5kOgorKyAgICAgICAgU3RlcCogICAgICAgICAgICMgQmFja2dy b3VuZCBzdGVwcyBhcmUgaW5qZWN0ZWQgaW50byBhbnkgU2NlbmFyaW8gb2YgaXRzIHNjb3BlLgor KworKyAgICBTY2VuYXJpbyhUYWdnYWJsZVN0YXRlbWVudCk6CisrICAgICAgICBTdGVwKgorIAor LUlmIHRoZSBmZWF0dXJlIGNvbnRhaW5zIHNjZW5hcmlvIG91dGxpbmVzIHRoZW4gdGhlcmUgaXMg YW4gYWRkaXRpb25hbCBsb29wCistb3ZlciBhbGwgdGhlIHNjZW5hcmlvcyBpbiB0aGUgb3V0bGlu ZSBtYWtpbmcgdGhlIHJ1bm5pbmcgbG9vayBsaWtlIHRoaXM6CisrICAgIFNjZW5hcmlvT3V0bGlu ZShTY2VuYXJpb1RlbXBsYXRlV2l0aFBsYWNlaG9sZGVycyk6CisrICAgICAgICBTY2VuYXJpbyog ICAgICAgIyBSZW5kZXJlZCBUZW1wbGF0ZSBieSB1c2luZyBTY2VuYXJpb091dGxpbmUuRXhhbXBs ZXMucm93cyBwbGFjZWhvbGRlciB2YWx1ZXMuCisrCisrICAgIFJ1bGUoVGFnZ2FibGVTdGF0ZW1l bnQpOgorKyAgICAgICAgQmFja2dyb3VuZD8gICAgICMgQmVoYXZlLXNwZWNpZmljIGV4dGVuc2lv biAoYWZ0ZXIgcmVtb3ZhbCBmcm9tIGZpbmFsIEdoZXJraW4gdjYpLgorKyAgICAgICAgU2NlbmFy aW8qCisrICAgICAgICBTY2VuYXJpb091dGxpbmUqCisrCisrCisrR2l2ZW4gYWxsIHRoZSBjb2Rl IHRoYXQgY291bGQgYmUgcnVuIGJ5ICpiZWhhdmUqLAorK3RoaXMgaXMgdGhlIG9yZGVyIGluIHdo aWNoIHRoYXQgY29kZSBpcyBpbnZva2VkIChpZiB0aGV5IGV4aXN0LikKKyAKKyAuLiBwYXJzZWQt bGl0ZXJhbDo6CisgCistICAgIGJlZm9yZV9hbGwKKysgICAgIyAtLSBQU0VVRE8tQ09ERToKKysg ICAgIyBIT09LOiBiZWZvcmVfdGFnKCksIGFmdGVyX3RhZygpIGlzIGNhbGxlZCBmb3IgRmVhdHVy ZSwgUnVsZSwgU2NlbmFyaW8KKysgICAgY3R4ID0gY3JlYXRlQ29udGV4dCgpCisrICAgIGNhbGwt b3B0aW9uYWwtaG9vayBiZWZvcmVfYWxsKGN0eCkKKyAgICAgZm9yIGZlYXR1cmUgaW4gYWxsX2Zl YXR1cmVzOgorLSAgICAgICAgYmVmb3JlX2ZlYXR1cmUKKy0gICAgICAgIGZvciBvdXRsaW5lIGlu IGZlYXR1cmUuc2NlbmFyaW9zOgorLSAgICAgICAgICAgIGZvciBzY2VuYXJpbyBpbiBvdXRsaW5l LnNjZW5hcmlvczoKKy0gICAgICAgICAgICAgICAgYmVmb3JlX3NjZW5hcmlvCistICAgICAgICAg ICAgICAgIGZvciBzdGVwIGluIHNjZW5hcmlvLnN0ZXBzOgorLSAgICAgICAgICAgICAgICAgICAg YmVmb3JlX3N0ZXAKKy0gICAgICAgICAgICAgICAgICAgICAgICBzdGVwLnJ1bigpCistICAgICAg ICAgICAgICAgICAgICBhZnRlcl9zdGVwCistICAgICAgICAgICAgICAgIGFmdGVyX3NjZW5hcmlv CistICAgICAgICBhZnRlcl9mZWF0dXJlCistICAgIGFmdGVyX2FsbAorKyAgICAgICAgZm9yIHRh ZyBpbiBmZWF0dXJlLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfdGFnKGN0eCwgdGFn KQorKyAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGJlZm9yZV9mZWF0dXJlKGN0eCwgZmVhdHVy ZSkKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBmZWF0dXJlLnJ1bl9pdGVtczogICMgQ0FOIEJF OiBSdWxlLCBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lCisrICAgICAgICAgICAgZXhlY3V0ZV9y dW5faXRlbShjdHgsIHJ1bl9pdGVtKQorKyAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGFmdGVy X2ZlYXR1cmUoY3R4LCBmZWF0dXJlKQorKyAgICAgICAgZm9yIHRhZyBpbiBmZWF0dXJlLnRhZ3M6 IGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl90YWcoY3R4LCB0YWcpCisrICAgIGNhbGwtb3B0aW9u YWwtaG9vayBhZnRlcl9hbGwoY3R4KQorKworKyAgICBmdW5jdGlvbiBleGVjdXRlX3J1bl9pdGVt KHJ1bl9pdGVtLCBjdHgpOgorKyAgICAgICAgaWYgcnVuX2l0ZW0gaXNhIFJ1bGU6CisrICAgICAg ICAgICAgIyAtLSBDQVNFOiBSdWxlCisrICAgICAgICAgICAgcnVsZSA9IHJ1bl9pdGVtCisrICAg ICAgICAgICAgZm9yIHRhZyBpbiBydWxlLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVf dGFnKGN0eCwgdGFnKQorKyAgICAgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfcnVs ZShjdHgsIHJ1bGUpCisrICAgICAgICAgICAgZm9yIHJ1bl9pdGVtIGluIHJ1bGUucnVuX2l0ZW1z OiAgICAgIyBDQU4gQkU6IFNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUKKysgICAgICAgICAgICAg ICAgZXhlY3V0ZV9ydW5faXRlbShydW5faXRlbSwgY3R4KQorKyAgICAgICAgICAgIGNhbGwtb3B0 aW9uYWwtaG9vayBhZnRlcl9ydWxlKGN0eCwgcnVsZSkKKysgICAgICAgICAgICBmb3IgdGFnIGlu IHJ1bGUudGFnczogY2FsbC1vcHRpb25hbC1ob29rIGFmdGVyX3RhZyhjdHgsIHRhZykKKysgICAg ICAgIGVsc2UgaWYgcnVuX2l0ZW0gaXNhIFNjZW5hcmlvT3V0bGluZToKKysgICAgICAgICAgICAj IC0tIENBU0U6IFNjZW5hcmlvT3V0bGluZQorKyAgICAgICAgICAgICMgSElOVDogQWxsIFNjZW5h cmlvcyBhcmUgYWxyZWFkeSBjcmVhdGVkIGZyb20gRXhhbXBsZShzKSByb3dzLgorKyAgICAgICAg ICAgIHNjZW5hcmlvX291dGxpbmUgPSBydW5faXRlbQorKyAgICAgICAgICAgIGZvciBzY2VuYXJp byBpbiBzY2VuYXJpb19vdXRsaW5lLnNjZW5hcmlvczoKKysgICAgICAgICAgICAgICAgZXhlY3V0 ZV9ydW5faXRlbShzY2VuYXJpbywgY3R4KQorKyAgICAgICAgZWxzZSBpZiBydW5faXRlbSBpc2Eg U2NlbmFyaW86CisrICAgICAgICAgICAgIyAtLSBDQVNFOiBTY2VuYXJpbworKyAgICAgICAgICAg ICMgSElOVDogQmFja2dyb3VuZCBzdGVwcyBhcmUgaW5qZWN0ZWQgYmVmb3JlIHNjZW5hcmlvIHN0 ZXBzLgorKyAgICAgICAgICAgIHNjZW5hcmlvID0gcnVuX2l0ZW0KKysgICAgICAgICAgICBmb3Ig dGFnIGluIHNjZW5hcmlvLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfdGFnKGN0eCwg dGFnKQorKyAgICAgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfc2NlbmFyaW8oY3R4 LCBzY2VuYXJpbykKKysgICAgICAgICAgICBmb3Igc3RlcCBpbiBzY2VuYXJpby5zdGVwczoKKysg ICAgICAgICAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGJlZm9yZV9zdGVwKGN0eCwgc3RlcCkK KysgICAgICAgICAgICAgICAgc3RlcC5ydW4oY3R4KQorKyAgICAgICAgICAgICAgICBjYWxsLW9w dGlvbmFsLWhvb2sgYWZ0ZXJfc3RlcChjdHgsIHN0ZXApCisrICAgICAgICAgICAgY2FsbC1vcHRp b25hbC1ob29rIGFmdGVyX3NjZW5hcmlvKGN0eCwgc2NlbmFyaW8pCisrICAgICAgICAgICAgZm9y IHRhZyBpbiBzY2VuYXJpby50YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfdGFnKGN0eCwg dGFnKQorIAorIAorIE1vZGVsIE9iamVjdHMKK0BAIC0zOTcsNiArNDUwLDggQEAgYmU6CisgCisg Li4gYXV0b2NsYXNzOjogYmVoYXZlLm1vZGVsLkZlYXR1cmUKKyAKKysuLiBhdXRvY2xhc3M6OiBi ZWhhdmUubW9kZWwuUnVsZQorKworIC4uIGF1dG9jbGFzczo6IGJlaGF2ZS5tb2RlbC5CYWNrZ3Jv dW5kCisgCisgLi4gYXV0b2NsYXNzOjogYmVoYXZlLm1vZGVsLlNjZW5hcmlvCmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgx LUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgxLUZJWC1ET0NTLVJ1bm5lci1v cGVyYXRpb25zLXR5cG8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li4zY2EyMDg5ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25z LXR5cG8ucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSA0YjkwNzU5OTZlNjJjNGU1N2VlZDkz MDQxODc5ZDc0MDMzYzgyNTc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEzIEFwciAy MDIwIDEwOjM4OjE3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWCBET0NTOiBSdW5uZXIgb3Bl cmF0aW9ucyB0eXBvLgorCistLS0KKyBkb2NzL2FwaS5yc3QgfCAyICstCisgMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2Fw aS5yc3QgYi9kb2NzL2FwaS5yc3QKK2luZGV4IDM5ZmE3NTUuLjQ3NjNhZDYgMTAwNjQ0CistLS0g YS9kb2NzL2FwaS5yc3QKKysrKyBiL2RvY3MvYXBpLnJzdAorQEAgLTM2Nyw3ICszNjcsNyBAQCB0 aGlzIGlzIHRoZSBvcmRlciBpbiB3aGljaCB0aGF0IGNvZGUgaXMgaW52b2tlZCAoaWYgdGhleSBl eGlzdC4pCisgICAgICAgICBmb3IgdGFnIGluIGZlYXR1cmUudGFnczogY2FsbC1vcHRpb25hbC1o b29rIGJlZm9yZV90YWcoY3R4LCB0YWcpCisgICAgICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYmVm b3JlX2ZlYXR1cmUoY3R4LCBmZWF0dXJlKQorICAgICAgICAgZm9yIHJ1bl9pdGVtIGluIGZlYXR1 cmUucnVuX2l0ZW1zOiAgIyBDQU4gQkU6IFJ1bGUsIFNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUK Ky0gICAgICAgICAgICBleGVjdXRlX3J1bl9pdGVtKGN0eCwgcnVuX2l0ZW0pCisrICAgICAgICAg ICAgZXhlY3V0ZV9ydW5faXRlbShydW5faXRlbSwgY3R4KQorICAgICAgICAgY2FsbC1vcHRpb25h bC1ob29rIGFmdGVyX2ZlYXR1cmUoY3R4LCBmZWF0dXJlKQorICAgICAgICAgZm9yIHRhZyBpbiBm ZWF0dXJlLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl90YWcoY3R4LCB0YWcpCisgICAg IGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9hbGwoY3R4KQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03NDAt RW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xlYW51cC13aXRoLWxheWVyLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03 NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xlYW51cC13aXRoLWxheWVyLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNzlmMGM3NGUzCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4Mi1pc3N1ZS03NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xlYW51cC13aXRoLWxheWVy LnBhdGNoCkBAIC0wLDAgKzEsMjk1IEBACitGcm9tIGYzOWFjNzA3ODcyNTVjZTNhMGUyNTY3NTM1 YzRiOTBmMGUxYzhlMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxq ZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMjMgU2VwIDIwMjAg MjM6MjI6NDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gaXNzdWUgIzc0MDogRW5oYW5jZW1lbnQ6 IENvbnRleHQuYWRkX2NsZWFudXAoKSB3aXRoCisgbGF5ZXItbmFtZQorCitDb250ZXh0LmFkZF9j bGVhbnVwKCkgY2FuIGNob29zZSB3aGljaCBjbGVhbnVwIGxheWVyIHRvIHVzZSAob3V0ZXIgbGF5 ZXIpLgorVGhpcyBwcm92aWRlcyB0aGUgcG9zc2liaWxpdHkgdGhhdCBhIGNsZWFudXAtZnVuY2lv biwgcmVnaXN0ZXJlZCB3aXRoCitDb250ZXh0LmFkZF9jbGVhbnVwKGNsZWFudXBfZnVuYywgLi4u KSB0byBiZSBjYWxsZWQgdXBvbiBsZWF2aW5nCit0aGUgb3V0ZXIgY29udGV4dCBzdGFjayBmcmFt ZXMuCisKK1N1Ym1pdHRlZCBieTogbml6d2l6CitSZXF1ZXN0ZWQgYnk6IGRjdm1vb2xlCistLS0K KyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKworIGJlaGF2ZS9t b2RlbC5weSAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KKyBiZWhhdmUvcnVubmVyLnB5ICAg ICAgICAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9j b250ZXh0X2NsZWFudXBzLnB5IHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyA0 IGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGQwYmY2ZmQuLmQ3NTgz NjQgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0yOCw2 ICsyOCw3IEBAIEVOSEFOQ0VNRU5UUzoKKyAqIFVzZSBjdWN1bWJlciAiZ2hlcmtpbi1sYW5ndWFn ZXMuanNvbiIgbm93IChzaW1wbGlmeTogR2hlcmtpbiB2NiBhbGlhc2VzLCBsYW5ndWFnZSB1c2Fn ZSkKKyAqIFN1cHBvcnQgZW1vamlzIGluIGBgKi5mZWF0dXJlYGAgZmlsZXMgYW5kIHN0ZXBzCisg KiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVy IiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKysq IGlzc3VlICM3NDA6IEVuaGFuY2VtZW50OiBwb3NzaWJpbGl0eSB0byBhZGQgY2xlYW51cCB0byBi ZSBjYWxsZWQgdXBvbiBsZWF2aW5nIG91dGVyIGNvbnRleHQgc3RhY2sgZnJhbWVzIChzdWJtaXR0 ZWQgYnk6IG5pendpeiwgZGN2bW9vbGUpCisgKiBpc3N1ZSAjNjc4OiBTY2VuYXJpbyBPdXRsaW5l OiBTdXBwb3J0IHRhZ3Mgd2l0aCBjb21tYXMgYW5kIHNlbWljb2xvbnMgKHByb3ZpZGVkIGJ5OiBs YXdubW93ZXJsYXR0ZSwgcHVsbCAjNjc5KQorICogaXNzdWUgIzY3NTogRmVhdHVyZSBmaWxlcyBj YW5ub3QgYmUgZm91bmQgd2l0aGluIHN5bWxpbmsgZGlyZWN0b3JpZXMgKHByb3ZpZGVkIGJ5OiBz bWFkbmVzcywgcHVsbCAjNjgwKQorIAorQEAgLTY1LDYgKzY2LDEyIEBAIERPQ1VNRU5UQVRJT046 CisgKiBwdWxsICAjNjg0OiBGaXggdHlwbyBpbiAiaW5zdGFsbC5yc3QiIChwcm92aWRlZCBieTog bXN0cmVkKQorICogcHVsbCAgIzYyODogQ2hhbmdlZCBweXRob25ob3N0ZWQub3JnIGxpbmtzIHRv IHJlYWR0aGVkb2NzLmlvIChwcm92aWRlZCBieTogY2hyaXNicmFrZSkKKyAKKytCUkVBS0lORyBD SEFOR0VTIChuYW1pbmcpOgorKworKyogYmVoYXZlLnJ1bm5lci5Db250ZXh0Ll9wdXNoKGxheWVy PU5vbmUpOiBXYXMgQ29udGV4dC5fcHVzaChsYXllcl9uYW1lPU5vbmUpCisrKiBiZWhhdmUucnVu bmVyLnNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPU5vbmUpOgorKyAgV2FzIHNj b3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQubGF5ZXJfbmFtZT1Ob25lKQorKworIAorIC4uIF9g Y3VjdW1iZXItdGFnLWV4cHJlc3Npb25zYDogaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L2N1Y3Vt YmVyLXRhZy1leHByZXNzaW9ucy8KKyAKK2RpZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9i ZWhhdmUvbW9kZWwucHkKK2luZGV4IGNiNjlmOWUuLmYxZWM3MjUgMTAwNjQ0CistLS0gYS9iZWhh dmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9tb2RlbC5weQorQEAgLTM2Myw3ICszNjMsNyBAQCBj bGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUp OgorICAgICAgICAgaG9va19iZWZvcmVfZW50aXR5ID0gImJlZm9yZV97MH0iLmZvcm1hdChlbnRp dHlfbmFtZSkKKyAgICAgICAgIGhvb2tfYWZ0ZXJfZW50aXR5ID0gImFmdGVyX3swfSIuZm9ybWF0 KGVudGl0eV9uYW1lKQorIAorLSAgICAgICAgcnVubmVyLmNvbnRleHQuX3B1c2gobGF5ZXJfbmFt ZT1lbnRpdHlfbmFtZSkgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisr ICAgICAgICBydW5uZXIuY29udGV4dC5fcHVzaChsYXllcj1lbnRpdHlfbmFtZSkgICAgICAjIHB5 bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisgICAgICAgICBydW5uZXIuY29udGV4dC50 YWdzID0gc2V0KHNlbGYudGFncykKKyAgICAgICAgIHNlbGYuX3NldHVwX2NvbnRleHRfZm9yX3J1 bihydW5uZXIuY29udGV4dCkKKyAKK0BAIC0xMTM2LDcgKzExMzYsNyBAQCBjbGFzcyBTY2VuYXJp byhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgZHJ5X3J1bl9z Y2VuYXJpbyA9IHJ1bl9zY2VuYXJpbyBhbmQgcnVubmVyLmNvbmZpZy5kcnlfcnVuCisgICAgICAg ICBzZWxmLndhc19kcnlfcnVuID0gZHJ5X3J1bl9zY2VuYXJpbworIAorLSAgICAgICAgcnVubmVy LmNvbnRleHQuX3B1c2gobGF5ZXJfbmFtZT0ic2NlbmFyaW8iKSAgICAgICMgcHlsaW50OiBkaXNh YmxlPXByb3RlY3RlZC1hY2Nlc3MKKysgICAgICAgIHJ1bm5lci5jb250ZXh0Ll9wdXNoKGxheWVy PSJzY2VuYXJpbyIpICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworICAg ICAgICAgcnVubmVyLmNvbnRleHQuc2NlbmFyaW8gPSBzZWxmCisgICAgICAgICBydW5uZXIuY29u dGV4dC50YWdzID0gc2V0KHNlbGYuZWZmZWN0aXZlX3RhZ3MpCisgCitkaWZmIC0tZ2l0IGEvYmVo YXZlL3J1bm5lci5weSBiL2JlaGF2ZS9ydW5uZXIucHkKK2luZGV4IDZiMjA5MzcuLmQwMWJmZjAg MTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVyLnB5CisrKysgYi9iZWhhdmUvcnVubmVyLnB5CitA QCAtMTQ1LDcgKzE0NSw3IEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgdHJpZXMgdG8g b3ZlcndyaXRlIGEgdXNlci1zZXQgdmFyaWFibGUuCisgCisgICAgIFlvdSBtYXkgdXNlIHRoZSAi aW4iIG9wZXJhdG9yIHRvIHRlc3Qgd2hldGhlciBhIGNlcnRhaW4gdmFsdWUgaGFzIGJlZW4gc2V0 CistICAgIG9uIHRoZSBjb250ZXh0LCBmb3IgZXhhbXBsZToKKysgICAgb24gdGhlIGNvbnRleHQs IGZvciBleGFtcGxlOjoKKyAKKyAgICAgICAgICJmZWF0dXJlIiBpbiBjb250ZXh0CisgCitAQCAt MTU4LDYgKzE1OCw3IEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgLi4gX2Bjb25maWd1 cmF0aW9uIGZpbGUgc2VjdGlvbiBuYW1lc2A6IGJlaGF2ZS5odG1sI2NvbmZpZ3VyYXRpb24tZmls ZXMKKyAgICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNlLWF0 dHJpYnV0ZXMKKysgICAgTEFZRVJfTkFNRVMgPSBbInRlc3RydW4iLCAiZmVhdHVyZSIsICJydWxl IiwgInNjZW5hcmlvIl0KKyAgICAgRkFJTF9PTl9DTEVBTlVQX0VSUk9SUyA9IFRydWUKKyAKKyAg ICAgZGVmIF9faW5pdF9fKHNlbGYsIHJ1bm5lcik6CitAQCAtMjQ1LDE2ICsyNDYsMTUgQEAgY2xh c3MgQ29udGV4dChvYmplY3QpOgorICAgICAgICAgICAgIGRlbCBjbGVhbnVwX2Vycm9ycyAgIyAt LSBFTlNVUkU6IFJlbGVhc2Ugb3RoZXIgZXhjZXB0aW9uIGZyYW1lcy4KKyAgICAgICAgICAgICBz aXgucmVyYWlzZSgqZmlyc3RfY2xlYW51cF9lcnJvX2luZm8pCisgCistCistICAgIGRlZiBfcHVz aChzZWxmLCBsYXllcl9uYW1lPU5vbmUpOgorKyAgICBkZWYgX3B1c2goc2VsZiwgbGF5ZXI9Tm9u ZSk6CisgICAgICAgICAiIiJQdXNoIGEgbmV3IGxheWVyIG9uIHRoZSBjb250ZXh0IHN0YWNrLgor LSAgICAgICAgSElOVDogVXNlIGxheWVyX25hbWUgdmFsdWVzOiAic2NlbmFyaW8iLCAiZmVhdHVy ZSIsICJ0ZXN0cnVuIi4KKysgICAgICAgIEhJTlQ6IFVzZSBsYXllciB2YWx1ZXM6ICJ0ZXN0cnVu IiwgImZlYXR1cmUiLCAicnVsZSwgInNjZW5hcmlvIi4KKyAKKy0gICAgICAgIDpwYXJhbSBsYXll cl9uYW1lOiAgIExheWVyIG5hbWUgdG8gdXNlIChvciBOb25lKS4KKysgICAgICAgIDpwYXJhbSBs YXllcjogICBMYXllciBuYW1lIHRvIHVzZSAob3IgTm9uZSkuCisgICAgICAgICAiIiIKKyAgICAg ICAgIGluaXRpYWxfZGF0YSA9IHsiQGNsZWFudXBzIjogW119CistICAgICAgICBpZiBsYXllcl9u YW1lOgorLSAgICAgICAgICAgIGluaXRpYWxfZGF0YVsiQGxheWVyIl0gPSBsYXllcl9uYW1lCisr ICAgICAgICBpZiBsYXllcjoKKysgICAgICAgICAgICBpbml0aWFsX2RhdGFbIkBsYXllciJdID0g bGF5ZXIKKyAgICAgICAgIHNlbGYuX3N0YWNrLmluc2VydCgwLCBpbml0aWFsX2RhdGEpCisgCisg ICAgIGRlZiBfcG9wKHNlbGYpOgorQEAgLTQyNiw2ICs0MjYsMjAgQEAgY2xhc3MgQ29udGV4dChv YmplY3QpOgorICAgICAgICAgICAgIHNlbGYudGV4dCA9IG9yaWdpbmFsX3RleHQKKyAgICAgICAg IHJldHVybiBUcnVlCisgCisrICAgIGRlZiBfc2VsZWN0X3N0YWNrX2ZyYW1lX2J5X2xheWVyKHNl bGYsIGxheWVyKToKKysgICAgICAgICIiIlNlbGVjdCBjb250ZXh0IHN0YWNrIGZyYW1lIGJ5IGxh eWVyIG5hbWUuCisrCisrICAgICAgICA6cGFyYW0gbGF5ZXI6ICAgTGF5ZXIgbmFtZSAoYXMgc3Ry aW5nKS4KKysgICAgICAgIDpyZXR1cm46IFNlbGVjdGVkIGZyYW1lIG9iamVjdCAoaWYgYW55KQor KyAgICAgICAgOnJhaXNlczogTG9va3VwRXJyb3IsIGlmIGxheWVyIHdhcyBub3QgZm91bmQuCisr ICAgICAgICAiIiIKKysgICAgICAgIGZvciBmcmFtZSBpbiBzZWxmLl9zdGFjazoKKysgICAgICAg ICAgICBmcmFtZV9sYXllciA9IGZyYW1lLmdldCgiQGxheWVyIiwgTm9uZSkKKysgICAgICAgICAg ICBpZiBsYXllciA9PSBmcmFtZV9sYXllcjoKKysgICAgICAgICAgICAgICAgcmV0dXJuIGZyYW1l CisrICAgICAgICAjIC0tIE9PUFMsIE5PVCBGT1VORDoKKysgICAgICAgIHJhaXNlIExvb2t1cEVy cm9yKCJDb250ZXh0LnN0YWNrOiBsYXllcj0lcyBub3QgZm91bmQiICUgbGF5ZXIpCisrCisgICAg IGRlZiBhZGRfY2xlYW51cChzZWxmLCBjbGVhbnVwX2Z1bmMsICphcmdzLCAqKmt3YXJncyk6Cisg ICAgICAgICAiIiJBZGRzIGEgY2xlYW51cCBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIDpt ZXRoOmBDb250ZXh0Ll9wb3AoKWAKKyAgICAgICAgIGlzIGNhbGxlZC4gVGhpcyBpcyBpbnRlbmRl ZCBmb3IgdXNlci1jbGVhbnVwcy4KK0BAIC00MzMsMTAgKzQ0NywyMSBAQCBjbGFzcyBDb250ZXh0 KG9iamVjdCk6CisgICAgICAgICA6cGFyYW0gY2xlYW51cF9mdW5jOiAgICBDYWxsYWJsZSBmdW5j dGlvbgorICAgICAgICAgOnBhcmFtIGFyZ3M6ICAgICAgICAgICAgQXJncyBmb3IgY2xlYW51cF9m dW5jKCkgY2FsbCAob3B0aW9uYWwpLgorICAgICAgICAgOnBhcmFtIGt3YXJnczogICAgICAgICAg S3dhcmdzIGZvciBjbGVhbnVwX2Z1bmMoKSBjYWxsIChvcHRpb25hbCkuCisrCisrICAgICAgICAu LiBub3RlOjogUkVTRVJWRUQgOm9iajpgbGF5ZXJgIDogb3B0aW9uYWwtc3RyaW5nCisrCisrICAg ICAgICAgICAgVGhlIGtleXdvcmQgYXJndW1lbnQgYGBsYXllcj0iTEFZRVJfTkFNRSJgYCBjYW4g dG8gYmUgdXNlZCB0bworKyAgICAgICAgICAgIGFzc2lnbiB0aGUgOm9iajpgY2xlYW51cF9mdW5j YCB0byBzcGVjaWZpYyBhIGxheWVyIG9uIHRoZSBjb250ZXh0IHN0YWNrCisrICAgICAgICAgICAg KGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgbGF5ZXIpLgorKworKyAgICAgICAgICAgIEtub3duIGxh eWVyIG5hbWVzIGFyZTogInRlc3RydW4iLCAiZmVhdHVyZSIsICJydWxlIiwgInNjZW5hcmlvIgor KworKyAgICAgICAgLi4gc2VlYWxzbzo6IDphdHRyOmAuQ29udGV4dC5MQVlFUl9OQU1FU2AKKyAg ICAgICAgICIiIgorICAgICAgICAgIyBNQVlCRToKKyAgICAgICAgIGFzc2VydCBjYWxsYWJsZShj bGVhbnVwX2Z1bmMpLCAiUkVRVUlSRVM6IGNhbGxhYmxlKGNsZWFudXBfZnVuYykiCisgICAgICAg ICBhc3NlcnQgc2VsZi5fc3RhY2sKKysgICAgICAgIGxheWVyID0ga3dhcmdzLnBvcCgibGF5ZXIi LCBOb25lKQorICAgICAgICAgaWYgYXJncyBvciBrd2FyZ3M6CisgICAgICAgICAgICAgZGVmIGlu dGVybmFsX2NsZWFudXBfZnVuYygpOgorICAgICAgICAgICAgICAgICBjbGVhbnVwX2Z1bmMoKmFy Z3MsICoqa3dhcmdzKQorQEAgLTQ0NCw2ICs0NjksOCBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6 CisgICAgICAgICAgICAgaW50ZXJuYWxfY2xlYW51cF9mdW5jID0gY2xlYW51cF9mdW5jCisgCisg ICAgICAgICBjdXJyZW50X2ZyYW1lID0gc2VsZi5fc3RhY2tbMF0KKysgICAgICAgIGlmIGxheWVy OgorKyAgICAgICAgICAgIGN1cnJlbnRfZnJhbWUgPSBzZWxmLl9zZWxlY3Rfc3RhY2tfZnJhbWVf YnlfbGF5ZXIobGF5ZXIpCisgICAgICAgICBpZiBjbGVhbnVwX2Z1bmMgbm90IGluIGN1cnJlbnRf ZnJhbWVbIkBjbGVhbnVwcyJdOgorICAgICAgICAgICAgICMgLS0gQVZPSUQgRFVQTElDQVRFUzoK KyAgICAgICAgICAgICBjdXJyZW50X2ZyYW1lWyJAY2xlYW51cHMiXS5hcHBlbmQoaW50ZXJuYWxf Y2xlYW51cF9mdW5jKQorQEAgLTQ3Nyw3ICs1MDQsNyBAQCBkZWYgdXNlX2NvbnRleHRfd2l0aF9t b2RlKGNvbnRleHQsIG1vZGUpOgorIAorIAorIEBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCist ZGVmIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyX25hbWU9Tm9uZSk6CisrZGVm IHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPU5vbmUpOgorICAgICAiIiJQcm92 aWRlcyBjb250ZXh0IG1hbmFnZXIgZm9yIGNvbnRleHQgbGF5ZXIgKHB1c2gvZG8tc29tZXRoaW5n L3BvcCBjeWNsZSkuCisgCisgICAgIC4uIGNvZGUtYmxvY2s6OgorQEAgLTQ4Nyw3ICs1MTQsNyBA QCBkZWYgc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXJfbmFtZT1Ob25lKToKKyAg ICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKyAgICAgdHJ5 OgorLSAgICAgICAgY29udGV4dC5fcHVzaChsYXllcl9uYW1lKQorKyAgICAgICAgY29udGV4dC5f cHVzaChsYXllcikKKyAgICAgICAgIHlpZWxkIGNvbnRleHQKKyAgICAgZmluYWxseToKKyAgICAg ICAgIGNvbnRleHQuX3BvcCgpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRf Y2xlYW51cHMucHkgYi90ZXN0cy91bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weQoraW5kZXgg YmYwYWI1MC4uYzMyYzU3MiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2Ns ZWFudXBzLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weQorQEAg LTIzLDYgKzIzLDkgQEAgaW1wb3J0IHB5dGVzdAorIGRlZiBjbGVhbnVwX2Z1bmMoKToKKyAgICAg cGFzcworIAorK2RlZiBjbGVhbnVwX2Z1bmNfd2l0aF9hcmdzKCphcmdzLCAqKmt3YXJncyk6Cisr ICAgIHBhc3MKKysKKyBjbGFzcyBDbGVhbnVwRnVuY3Rpb24ob2JqZWN0KToKKyAgICAgZGVmIF9f aW5pdF9fKHNlbGYsIG5hbWU9IkNMRUFOVVAtRlVOQyIsIGxpc3RlbmVyPU5vbmUpOgorICAgICAg ICAgc2VsZi5uYW1lID0gbmFtZQorQEAgLTQyLDcgKzQ1LDYgQEAgY2xhc3MgQ2FsbExpc3RlbmVy KG9iamVjdCk6CisgICAgICAgICBzZWxmLmNvbGxlY3RlZC5hcHBlbmQobWVzc2FnZSkKKyAKKyAK Ky0KKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgVEVTVFM6CisgIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KK0BAIC0xNDUsNiArMTQ3LDI0IEBAIGNsYXNzIFRlc3RDb250ZXh0Q2xlYW51cChv YmplY3QpOgorICAgICAgICAgbXlfY2xlYW51cF9CMk0uYXNzZXJ0X2NhbGxlZF9vbmNlKCkKKyAg ICAgICAgIG15X2NsZWFudXBfQjNNLmFzc2VydF9jYWxsZWRfb25jZSgpCisgCisrICAgIGRlZiB0 ZXN0X2FkZF9jbGVhbnVwX3dpdGhfYXJncyhzZWxmKToKKysgICAgICAgIG15X2NsZWFudXAgPSBN b2NrKHNwZWM9Y2xlYW51cF9mdW5jX3dpdGhfYXJncykKKysgICAgICAgIGNvbnRleHQgPSBDb250 ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNv bnRleHQpOgorKyAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgMSwg MiwgMykKKysgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAg ICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNz ZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSwgMiwgMykKKysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFu dXBfd2l0aF9hcmdzX2FuZF9rd2FyZ3Moc2VsZik6CisrICAgICAgICBteV9jbGVhbnVwID0gTW9j ayhzcGVjPWNsZWFudXBfZnVuY193aXRoX2FyZ3MpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4 dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250 ZXh0KToKKysgICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIDEsIDIs IDMsIG5hbWU9ImFsaWNlIikKKysgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2Fs bGVkKCkKKysgICAgICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9wKCkKKysgICAgICAgIG15 X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSwgMiwgMywgbmFtZT0iYWxpY2UiKQor KworICAgICBkZWYgdGVzdF9hZGRfY2xlYW51cF9fcmVqZWN0c19ub25jYWxsYWJsZV9jbGVhbnVw X2Z1bmMoc2VsZik6CisgICAgICAgICBjbGFzcyBOb25DYWxsYWJsZShvYmplY3QpOiBwYXNzCisg ICAgICAgICBub25fY2FsbGFibGUgPSBOb25DYWxsYWJsZSgpCitAQCAtMjE4LDMgKzIzOCw2NyBA QCBjbGFzcyBUZXN0Q29udGV4dENsZWFudXAob2JqZWN0KToKKyAgICAgICAgIGFzc2VydCBjb2xs ZWN0X2NsZWFudXBfZXJyb3IuY29sbGVjdGVkWzBdWzotMV0gPT0gZXhwZWN0ZWRbMF1bOi0xXQor ICAgICAgICAgYXNzZXJ0IGNvbGxlY3RfY2xlYW51cF9lcnJvci5jb2xsZWN0ZWRbMV1bOi0xXSA9 PSBleHBlY3RlZFsxXVs6LTFdCisgCisrCisrY2xhc3MgVGVzdENvbnRleHRDbGVhbnVwV2l0aExh eWVyKG9iamVjdCk6CisrICAgICIiIlRlc3RzIDptZXRoOmBiZWhhdmUucnVubmVyLkNvbnRleHQu YWRkX2NsZWFudXAoKWAKKysgICAgd2l0aCBsYXllciBwYXJhbWV0ZXIuCisrCisrICAgIDptZXRo OmBjbGVhbnVwX2Z1bmMoKWAgaXMgY2FsbGVkIHdoZW4gQ29udGV4dCBsYXllciBpcyByZW1vdmVk L3BvcHBlZC4KKysgICAgIiIiCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfa25v d25fbGF5ZXIoc2VsZik6CisrICAgICAgICBteV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFudXBf ZnVuYykKKysgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAg ICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgor KyAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9InNjZW5h cmlvIikKKysgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAg ICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNz ZXJ0X2NhbGxlZF9vbmNlKCkKKysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0aF9rbm93 bl9sYXllcl9hbmRfYXJncyhzZWxmKToKKysgICAgICAgIG15X2NsZWFudXAgPSBNb2NrKHNwZWM9 Y2xlYW51cF9mdW5jX3dpdGhfYXJncykKKysgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5l cj1Nb2NrKCkpCisrICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxh eWVyPSJzY2VuYXJpbyIpOgorKyAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xl YW51cCwgMSwgMiwgMywgbGF5ZXI9InNjZW5hcmlvIikKKysgICAgICAgICAgICBteV9jbGVhbnVw LmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9w KCkKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSwgMiwgMykK KysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0aF9rbm93bl9sYXllcl9hbmRfa3dhcmdz KHNlbGYpOgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmNfd2l0 aF9hcmdzKQorKyAgICAgICAgY29udGV4dCA9IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAg ICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXI9InNjZW5hcmlvIik6 CisrICAgICAgICAgICAgY29udGV4dC5hZGRfY2xlYW51cChteV9jbGVhbnVwLCBsYXllcj0ic2Nl bmFyaW8iLCBuYW1lPSJhbGljZSIpCisrICAgICAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90 X2NhbGxlZCgpCisrICAgICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAg ICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKG5hbWU9ImFsaWNlIikKKysKKysg ICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0aF9rbm93bl9kZWVwZXJfbGF5ZXIyKHNlbGYpOgor KyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmMpCisrICAgICAgICBj b250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29u dGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0iZmVhdHVyZSIpOgorKyAgICAgICAgICAgIHdpdGgg c2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXI9InNjZW5hcmlvIik6CisrICAgICAg ICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9ImZlYXR1cmUi KQorKyAgICAgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X25vdF9jYWxsZWQoKQorKyAgICAgICAg IyBDQUxMUy1IRVJFOiBjb250ZXh0Ll9wb3AoKQorKyAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRf Y2FsbGVkX29uY2UoKQorKworKyAgICBkZWYgdGVzdF9hZGRfY2xlYW51cF93aXRoX2tub3duX2Rl ZXBlcl9sYXllcjMoc2VsZik6CisrICAgICAgICBteV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFu dXBfZnVuYykKKysgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAg ICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPSJ0ZXN0cnVuIik6 CisrICAgICAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0i ZmVhdHVyZSIpOgorKyAgICAgICAgICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNv bnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgorKyAgICAgICAgICAgICAgICAgICAgY29udGV4dC5h ZGRfY2xlYW51cChteV9jbGVhbnVwLCBsYXllcj0iZmVhdHVyZSIpCisrICAgICAgICAgICAgICAg IG15X2NsZWFudXAuYXNzZXJ0X25vdF9jYWxsZWQoKQorKyAgICAgICAgICAgIG15X2NsZWFudXAu YXNzZXJ0X2NhbGxlZF9vbmNlKCkgICAgICMgTEVGVDogbGF5ZXI9ImZlYXR1cmUiCisrICAgICAg ICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZSgpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9j bGVhbnVwX3dpdGhfdW5rbm93bl9sYXllcl9yYWlzZXNfbG9va3VwX2Vycm9yKHNlbGYpOgorKyAg ICAgICAgIiIiQ2xlYW51cCBmdW5jdGlvbiBpcyBub3QgcmVnaXN0ZXJlZCIiIgorKyAgICAgICAg bXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmMpCisrICAgICAgICBjb250ZXh0ID0g Q29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXll cihjb250ZXh0KTogICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3B1c2goKQorKyAgICAgICAgICAg IHdpdGggcHl0ZXN0LnJhaXNlcyhMb29rdXBFcnJvcikgYXMgZXJyb3I6CisrICAgICAgICAgICAg ICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9Im90aGVyIikKKysgICAg ICAgIG15X2NsZWFudXAuYXNzZXJ0X25vdF9jYWxsZWQoKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4My1VUERBVEUtcGFy c2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4My1VUERBVEUt cGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOTIyMzU3ZWRhCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4My1VUERBVEUtcGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1o LnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gYzA2ZDhhM2FiMmQxOTVjOTMzYzAzMWQ4ZDI1 YmZlZTM0M2ViNmJhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGpl bmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAyMCBPY3QgMjAyMCAy Mjo0MDo0NiArMDIwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEU6IHBhcnNlID49IDEuMTguMCAo cGFyc2UgdmVyc2lvbnM6IDEuMTYuMCAuLiAxLjE3LnggaGFzCisgYSBwcm9ibGVtOyBwYXJzZSBp c3N1ZSAjMTE5LCAjMTIxKQorCistLS0KKyBweS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IHwgMiAr LQorIHNldHVwLnB5ICAgICAgICAgICAgICAgICAgfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJl bWVudHMvYmFzaWMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAoraW5kZXggYWQ1Yjlh Ni4uZjk3Njc0OCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKKysrKyBi L3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKK0BAIC05LDcgKzksNyBAQAorICMgPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorIAorIGN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMgorLXBhcnNl ID49IDEuOC4yCisrcGFyc2UgPj0gMS4xOC4wCisgcGFyc2VfdHlwZSA+PSAwLjQuMgorIHNpeCA+ PSAxLjEyLjAKKyAKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCAyM2Y2 NjU0Li5mZDg5YmRhIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAt NzcsNyArNzcsNyBAQCBzZXR1cCgKKyAgICAgcHl0aG9uX3JlcXVpcmVzPSI+PTIuNywgIT0zLjAu KiwgIT0zLjEuKiwgIT0zLjIuKiIsCisgICAgIGluc3RhbGxfcmVxdWlyZXM9WworICAgICAgICAg ImN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMiIsCistICAgICAgICAicGFyc2UgPj0g MS45LjEiLAorKyAgICAgICAgInBhcnNlID49IDEuMTguMCIsCisgICAgICAgICAicGFyc2VfdHlw ZSA+PSAwLjQuMiIsCisgICAgICAgICAic2l4ID49IDEuMTIuMCIsCisgICAgICAgICAidHJhY2Vi YWNrMjsgcHl0aG9uX3ZlcnNpb24gPCAnMy4wJyIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg0LVJFTEFURUQtVE8tRHVw bGljYXRlZC1zdGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4NC1SRUxBVEVELVRPLUR1cGxp Y2F0ZWQtc3RlcHMtQW1iaWd1b3VzU3RlcEVycm9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjVlZGE5NjJkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODQtUkVMQVRFRC1U Ty1EdXBsaWNhdGVkLXN0ZXBzLUFtYmlndW91c1N0ZXBFcnJvcnMucGF0Y2gKQEAgLTAsMCArMSwz NCBAQAorRnJvbSA1Y2VmOGU4MDc0NmViNTMwMjM1NDU2Y2E0NDY1ZTkwZDEyYzQ3YWVkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDIgTm92IDIwMjAgMTc6NTA6MTAgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gUkVMQVRFRCBUTzogRHVwbGljYXRlZCBzdGVwcy9BbWJpZ3VvdXNTdGVwRXJy b3JzCisKKyogUmVtb3ZlIEB4ZmFpbCBmcm9tIHRoaXJkIHNjZW5hcmlvIChpdCB3b3JrZWQgYWxy ZWFkeSBmb3Igc29tZSB0aW1lKS4KKyogQWRkZWQgbW9yZSBkZXRhaWxsZWQgZGVzY3JpcHRpb24g dG8gdGhpcmQgc2NlbmFyaW8uCistLS0KKyBmZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5m ZWF0dXJlIHwgMTEgKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVk X3N0ZXAuZmVhdHVyZSBiL2ZlYXR1cmVzL3N0ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUKK2lu ZGV4IDM5NmNjYTIuLmYyMDQzMDcgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0 ZWRfc3RlcC5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0 dXJlCitAQCAtNzYsOCArNzYsMTcgQEAgRmVhdHVyZTogRHVwbGljYXRlZCBTdGVwIERlZmluaXRp b25zCisgICAgICMgICAgRmlsZSAiZmVhdHVyZXMvc3RlcHMvYm9iMl9zdGVwcy5weSIsIGxpbmUg MywgaW4gPG1vZHVsZT4KKyAgICAgIyAgICAiIiIKKyAKKy0gIEB4ZmFpbAorKworICAgU2NlbmFy aW86IER1cGxpY2F0ZWQgU2FtZSBTdGVwIERlZmluaXRpb24gdmlhIGltcG9ydCBmcm9tIGFub3Ro ZXIgRmlsZQorKworKyAgICBWRVJJRlkgVEhBVDogRHVwbGljYXRlZCBzdGVwLWRldGVjdGlvbiB3 b3Jrcy4KKysgICAgRHVwbGljYXRlZCBzdGVwLXJlZ2lzdHJhdGlvbiBvY2N1cmVkIHRocm91Z2gg YSB0d2ljZSBpbXBvcnRlZCBzdGVwLW1vZHVsZToKKysgICAgRmlyc3QgcmVnaXN0cmF0aW9uIG1h eSBvY2N1cnMgYnkgc3RlcC1sb2FkaW5nIHRoZSBzdGVwLW1vZHVsZSwKKysgICAgc2Vjb25kIHJl Z2lzdHJhdGlvbiBkdWUgdG8gaW1wb3J0IG9mIGZpcnN0IHN0ZXAtbW9kdWxlLgorKworKyAgICBU aGUgc3RlcCByZWdpc3RyeSBkZXRlY3RzIHRoYXQgdGhlIHNhbWUgc3RlcC1mdW5jdGlvbiBzaG91 bGQgYmUgcmVnaXN0ZXJlZAorKyAgICBhbm90aGVyIHRpbWUgYW5kIGlnbm9yZXMgaXQgKHN0ZXAg aXMgYWxyZWFkeSByZWdpc3RlcmVkKS4KKysKKyAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJl Y3RvcnkKKyAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvY2hhcmx5MV9zdGVw cy5weSIgd2l0aDoKKyAgICAgICAiIiIKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODUtQWRkLXJlbm92YXRlLmpzb24ucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDg1LUFkZC1yZW5vdmF0ZS5qc29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uNTczZTdiZGM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4NS1BZGQtcmVub3ZhdGUuanNvbi5w YXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIGVmMjI0Yjg4ZDQ4N2ExYzk1MDk4NmYwY2Y0OTJj NzUxZWZiOTZmYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSZW5vdmF0ZSBCb3Qg PGJvdEByZW5vdmF0ZWFwcC5jb20+CitEYXRlOiBXZWQsIDQgTm92IDIwMjAgMDg6NDM6MzIgKzAw MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHJlbm92YXRlLmpzb24KKworLS0tCisgcmVub3ZhdGUu anNvbiB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisgY3JlYXRl IG1vZGUgMTAwNjQ0IHJlbm92YXRlLmpzb24KKworZGlmZiAtLWdpdCBhL3Jlbm92YXRlLmpzb24g Yi9yZW5vdmF0ZS5qc29uCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjQ1 ZDhmMQorLS0tIC9kZXYvbnVsbAorKysrIGIvcmVub3ZhdGUuanNvbgorQEAgLTAsMCArMSw1IEBA CisreworKyAgImV4dGVuZHMiOiBbCisrICAgICJjb25maWc6YmFzZSIKKysgIF0KKyt9CmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdpdGgtYWRhcHRpb25zLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Ni1QUlBFUEFSRS1S RU5PVkFURS1XaXRoLWFkYXB0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjVlOTRiZjhmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODYtUFJQRVBBUkUtUkVOT1ZBVEUt V2l0aC1hZGFwdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwxNzUgQEAKK0Zyb20gYjVhYzE5NmQ0ZDU5 MTZhYWEwZDJjMWNiYmYwM2QwOGM2YTMyYTdiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2Vk LCA0IE5vdiAyMDIwIDEwOjI4OjU5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFBSUEVQQVJFLVJF Tk9WQVRFOiBXaXRoIGFkYXB0aW9ucworCisqIFByb3ZpZGUgbG9jYXRpb25zL3BhdHRlcm5zIGZv ciBwaXAgcmVxdWlyZW1lbnRzIGZpbGUocykKKyogTW92ZSAicmVub3ZhdGUuanNvbiIgdG8gIi5n aXRodWIvIgorLS0tCisgLmdpdGh1Yi9yZW5vdmF0ZS5qc29uICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTMgKysrKysrKysKKyBNQU5JRkVTVC5pbiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNCArLS0KKyBpc3N1ZS5mZWF0dXJlcy9SRUFETUUucnN0ICAgICAgICAgICAg ICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrCisgaXNzdWUuZmVhdHVyZXMvUkVBRE1F LnR4dCAgICAgICAgICAgICAgICAgICAgIHwgMTcgLS0tLS0tLS0tLQorIC4uLi97cmVxdWlyZW1l bnRzLnR4dCA9PiBweS5yZXF1aXJlbWVudHMudHh0fSB8ICA3ICsrLS0KKyBweS5yZXF1aXJlbWVu dHMve1JFQURNRS50eHQgPT4gUkVBRE1FLnJzdH0gICAgfCAgMAorIHB5LnJlcXVpcmVtZW50cy90 ZXN0aW5nLnR4dCAgICAgICAgICAgICAgICAgICB8ICA0ICsrLQorIHJlbm92YXRlLmpzb24gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1IC0tLQorIDggZmlsZXMgY2hhbmdlZCwg NTMgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IC5n aXRodWIvcmVub3ZhdGUuanNvbgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBpc3N1ZS5mZWF0dXJlcy9S RUFETUUucnN0CisgZGVsZXRlIG1vZGUgMTAwNjQ0IGlzc3VlLmZlYXR1cmVzL1JFQURNRS50eHQK KyByZW5hbWUgaXNzdWUuZmVhdHVyZXMve3JlcXVpcmVtZW50cy50eHQgPT4gcHkucmVxdWlyZW1l bnRzLnR4dH0gKDgyJSkKKyByZW5hbWUgcHkucmVxdWlyZW1lbnRzL3tSRUFETUUudHh0ID0+IFJF QURNRS5yc3R9ICgxMDAlKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCByZW5vdmF0ZS5qc29uCisKK2Rp ZmYgLS1naXQgYS8uZ2l0aHViL3Jlbm92YXRlLmpzb24gYi8uZ2l0aHViL3Jlbm92YXRlLmpzb24K K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zMzk5YTAwCistLS0gL2Rldi9u dWxsCisrKysgYi8uZ2l0aHViL3Jlbm92YXRlLmpzb24KK0BAIC0wLDAgKzEsMTMgQEAKKyt7Cisr ICAiZXh0ZW5kcyI6IFsKKysgICAgImNvbmZpZzpiYXNlIgorKyAgXSwKKysgICJwaXBfcmVxdWly ZW1lbnRzIjogeworKyAgICAiZmlsZU1hdGNoIjogWworKyAgICAgICAgInB5LnJlcXVpcmVtZW50 cy9hbGwudHh0IiwKKysgICAgICAgICJweS5yZXF1aXJlbWVudHMvKi50eHQiLAorKyAgICAgICAg InRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQiLAorKyAgICAgICAgImlzc3VlLmZlYXR1cmVzL3B5 LnJlcXVpcmVtZW50cy50eHQiCisrICAgIF0KKyt9CisrfQorZGlmZiAtLWdpdCBhL01BTklGRVNU LmluIGIvTUFOSUZFU1QuaW4KK2luZGV4IDYwYzI2MDEuLjg0ZDIwZjQgMTAwNjQ0CistLS0gYS9N QU5JRkVTVC5pbgorKysrIGIvTUFOSUZFU1QuaW4KK0BAIC0yOCw4ICsyOCw4IEBAIHJlY3Vyc2l2 ZS1pbmNsdWRlIHRhc2tzICAgICAgICAgKi5weSAqLnppcCAqLnR4dCAqLnJzdAorIHJlY3Vyc2l2 ZS1pbmNsdWRlIHRvb2xzICAgICAgICAgKi5mZWF0dXJlICoucHkgKi55bWwgKi5zaAorIHJlY3Vy c2l2ZS1pbmNsdWRlIGZlYXR1cmVzICAgICAgKi5mZWF0dXJlICoucHkgKi50eHQKKyByZWN1cnNp dmUtaW5jbHVkZSBpc3N1ZS5mZWF0dXJlcyAgKi5mZWF0dXJlICoucHkgKi50eHQKKy1yZWN1cnNp dmUtaW5jbHVkZSBtb3JlLmZlYXR1cmVzICouZmVhdHVyZSAqLnB5ICoudHh0CistcmVjdXJzaXZl LWluY2x1ZGUgcHkucmVxdWlyZW1lbnRzICAqLnR4dAorK3JlY3Vyc2l2ZS1pbmNsdWRlIG1vcmUu ZmVhdHVyZXMgKi5mZWF0dXJlICoucHkgKi50eHQgKi5yc3QKKytyZWN1cnNpdmUtaW5jbHVkZSBw eS5yZXF1aXJlbWVudHMgICoudHh0ICoucnN0CisgCisgcHJ1bmUgLnRveAorIHBydW5lIC52ZW52 KgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL1JFQURNRS5yc3QgYi9pc3N1ZS5mZWF0dXJl cy9SRUFETUUucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWQxZDk4 MAorLS0tIC9kZXYvbnVsbAorKysrIGIvaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnJzdAorQEAgLTAs MCArMSwzMiBAQAorK2lzc3VlLmZlYXR1cmVzOgorKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysK Kys6UmVxdWlyZXM6IFB5dGhvbiA+PSAyLjcgb3IgUHl0aG9uID49IDMuNQorKworK1RoaXMgZGly ZWN0b3J5IGNvbnRhaW5zIGJlaGF2ZSBzZWxmLXRlc3RzIHRvIGVuc3VyZSB0aGF0IGJlaGF2ZSBy ZWxhdGVkCisraXNzdWVzIGFyZSBmaXhlZC4KKysKKytQUk9DRURVUkU6CisrCisrICAgICogT05D RTogSW5zdGFsbCBweXRob24gcmVxdWlyZW1lbnRzICgicHkucmVxdWlyZW1lbnRzLnR4dCIpCisr ICAgICogUnVuIHRoZSB0ZXN0cyB3aXRoIGJlaGF2ZQorKworKy4uIGNvZGUtYmxvY2s6OiBzaGVs bAorKworKyAgICAjIC0tIEZPUjoKKysgICAgIyBwaXA6ICBGb3IgcHl0aG9uMi43IG9yIHB5dGhv bjMgKGRlcGVuZHMgb24gcGxhdGZvcm0gYW5kL29yIHVzZXIpKQorKyAgICAjIHBpcDM6IEZvciBw eXRob24zCisrICAgIHBpcCAgaW5zdGFsbCAtVSAtciBpc3N1ZS5mZWF0dXJlcy90ZXN0aW5nLnR4 dAorKyAgICBwaXAzIGluc3RhbGwgLVUgLXIgaXNzdWUuZmVhdHVyZXMvdGVzdGluZy50eHQKKysK KysKKytBTFRFUk5BVElWRToKKysKKysuLiBjb2RlLWJsb2NrOjogc2hlbGwKKysKKysgICAgcGlw ICBpbnN0YWxsIC1VIC1yIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKyAgICBwaXAzIGlu c3RhbGwgLVUgLXIgcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrCisrLi4gY29kZS1ibG9j azo6IHNoZWxsCisrCisrICAgIGJpbi9iZWhhdmUgLWYgcHJvZ3Jlc3MgaXNzdWUuZmVhdHVyZXMv CitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnR4dCBiL2lzc3VlLmZlYXR1cmVz L1JFQURNRS50eHQKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYWY0OTlmMy4uMDAw MDAwMAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnR4dAorKysrIC9kZXYvbnVsbAorQEAg LTEsMTcgKzAsMCBAQAorLWlzc3VlLmZlYXR1cmVzOgorLT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Ky0KKy06U3RhdHVzOiAgIFBSRVBBUkVEIChmaXhlcyBhcmUgYmVpbmcgYXBwbGllZCkuCistOlJl cXVpcmVzOiBQeXRob24gPj0gMi42IChkdWUgdG8gc3RlcCBpbXBsZW1lbnRhdGlvbnMpCistCist VGhpcyBkaXJlY3RvcnkgY29udGFpbnMgYmVoYXZlIHNlbGYtdGVzdHMgdG8gZW5zdXJlIHRoYXQg YmVoYXZlIHJlbGF0ZWQKKy1pc3N1ZXMgYXJlIGZpeGVkLgorLQorLVBST0NFRFVSRToKKy0KKy0g ICAgKiBPTkNFOiBJbnN0YWxsIHB5dGhvbiByZXF1aXJlbWVudHMgKCJyZXF1aXJlbWVudHMudHh0 IikKKy0gICAgKiBSdW4gdGhlIHRlc3RzIHdpdGggYmVoYXZlCistCistOjoKKy0KKy0gICAgYmlu L2JlaGF2ZSAtZiBwcm9ncmVzcyBpc3N1ZS5mZWF0dXJlcy8KK2RpZmYgLS1naXQgYS9pc3N1ZS5m ZWF0dXJlcy9yZXF1aXJlbWVudHMudHh0IGIvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRz LnR4dAorc2ltaWxhcml0eSBpbmRleCA4MiUKK3JlbmFtZSBmcm9tIGlzc3VlLmZlYXR1cmVzL3Jl cXVpcmVtZW50cy50eHQKK3JlbmFtZSB0byBpc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMu dHh0CitpbmRleCBkMGM0YmFiLi5mMGRlZjlkIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMv cmVxdWlyZW1lbnRzLnR4dAorKysrIGIvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4 dAorQEAgLTEsMTIgKzEsMTEgQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAjIFBZVEhPTiBQ QUNLQUdFIFJFUVVJUkVNRU5UUzogRm9yIHJ1bm5pbmcgaXNzdWUuZmVhdHVyZXMvCisgIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistIyBSRVFVSVJFUzogUHl0aG9uID49IDIuNQorLSMgUkVRVUlSRVM6 IFB5dGhvbiA+PSAzLjIKKysjIFJFUVVJUkVTOiBQeXRob24gPj0gMi43CisrIyBSRVFVSVJFUzog UHl0aG9uID49IDMuNQorICMgREVTQ1JJUFRJT046CisgIyAgICBwaXAgaW5zdGFsbCAtciA8VEhJ U19GSUxFPgorICMKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKy1QeUhhbWNyZXN0ID49IDEu NgorLQorK1B5SGFtY3Jlc3QgPj0gMi4wLjIKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv UkVBRE1FLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9SRUFETUUucnN0CitzaW1pbGFyaXR5IGluZGV4 IDEwMCUKK3JlbmFtZSBmcm9tIHB5LnJlcXVpcmVtZW50cy9SRUFETUUudHh0CityZW5hbWUgdG8g cHkucmVxdWlyZW1lbnRzL1JFQURNRS5yc3QKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv dGVzdGluZy50eHQgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK2luZGV4IDg1YjA5MDgu LjVjY2RkYTggMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysrKyBi L3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorQEAgLTgsMTAgKzgsMTIgQEAgcHl0ZXN0IDwg IDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49 IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBt b2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID49IDEuOQorK1B5SGFtY3Jlc3QgPj0gMi4wLjIKKyAK KyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5P VEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CisgIyBISU5UOiBwYXRo LnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhv bjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisgcGF0aCA+ PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCisrCisrLXIgLi4vaXNzdWUuZmVh dHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorZGlmZiAtLWdpdCBhL3Jlbm92YXRlLmpzb24gYi9y ZW5vdmF0ZS5qc29uCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGY0NWQ4ZjEuLjAw MDAwMDAKKy0tLSBhL3Jlbm92YXRlLmpzb24KKysrKyAvZGV2L251bGwKK0BAIC0xLDUgKzAsMCBA QAorLXsKKy0gICJleHRlbmRzIjogWworLSAgICAiY29uZmlnOmJhc2UiCistICBdCistfQpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNDM4MjU3MDZlCi0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOGJj MzBjYzdlMzU3ODM5ZWJlMDIxMTBjN2U4ZDIwMDBmYjkyMzg0ZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IFJlbm92YXRlIEJvdCA8Ym90QHJlbm92YXRlYXBwLmNvbT4KK0RhdGU6IFdl ZCwgNCBOb3YgMjAyMCAwOTozMjozNCArMDAwMAorU3ViamVjdDogW1BBVENIXSBQaW4gZGVwZW5k ZW5jaWVzCisKKy0tLQorIGlzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgfCAyICst CisgdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dCAgICAgICAgICB8IDQgKystLQorIDIgZmlsZXMg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv aXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dCBiL2lzc3VlLmZlYXR1cmVzL3B5LnJl cXVpcmVtZW50cy50eHQKK2luZGV4IGYwZGVmOWQuLjM4ZjQ1MmQgMTAwNjQ0CistLS0gYS9pc3N1 ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CisrKysgYi9pc3N1ZS5mZWF0dXJlcy9weS5y ZXF1aXJlbWVudHMudHh0CitAQCAtOCw0ICs4LDQgQEAKKyAjCisgIyA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisgCistUHlIYW1jcmVzdCA+PSAyLjAuMgorK1B5SGFtY3Jlc3Q9PTIuMC4yCitkaWZmIC0t Z2l0IGEvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dCBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50 eHQKK2luZGV4IDgxMGY4MzQuLjljODJkMTEgMTAwNjQ0CistLS0gYS90YXNrcy9weS5yZXF1aXJl bWVudHMudHh0CisrKysgYi90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CitAQCAtOCw5ICs4LDkg QEAKKyAjICAqIGh0dHA6Ly93d3cucGlwLWluc3RhbGxlci5vcmcvCisgIyA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CisgCistaW52b2tlID49IDEuMi4wCisraW52b2tlPT0xLjQuMQorIHB5Y21kCistc2l4 ID49IDEuMTIuMAorK3NpeD09MS4xNS4wCisgCisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGgg KHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0aC5w eSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg4LXJlbm92YXRl LUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODgtcmVub3ZhdGUtRXh0ZW5k LXBpcC1yZXF1aXJlbWVudHMtZmlsZS1saXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uMWY1ZjFlNmY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4OC1yZW5vdmF0ZS1FeHRl bmQtcGlwLXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJv bSA2MTgwY2I2ODk0YThhMzc2YWU4NmU4Yjk2MzRkYzNlMzQ5ODVlNjlmIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBXZWQsIDQgTm92IDIwMjAgMTA6NTQ6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRD SF0gcmVub3ZhdGU6IEV4dGVuZCBwaXAgcmVxdWlyZW1lbnRzIGZpbGUgbGlzdC4KKworLS0tCisg LmdpdGh1Yi9yZW5vdmF0ZS5qc29uIHwgOSArKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvLmdpdGh1Yi9yZW5v dmF0ZS5qc29uIGIvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uCitpbmRleCAzMzk5YTAwLi45YjcyZjc2 IDEwMDY0NAorLS0tIGEvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uCisrKysgYi8uZ2l0aHViL3Jlbm92 YXRlLmpzb24KK0BAIC00LDEwICs0LDE1IEBACisgICBdLAorICAgInBpcF9yZXF1aXJlbWVudHMi OiB7CisgICAgICJmaWxlTWF0Y2giOiBbCistICAgICAgICAicHkucmVxdWlyZW1lbnRzL2FsbC50 eHQiLAorICAgICAgICAgInB5LnJlcXVpcmVtZW50cy8qLnR4dCIsCisrICAgICAgICAicHkucmVx dWlyZW1lbnRzL2FsbC50eHQiLAorKyAgICAgICAgInB5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQi LAorKyAgICAgICAgInB5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCIsCisrICAgICAgICAicHku cmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IiwKKysgICAgICAgICJweS5yZXF1aXJlbWVudHMvY2ku dG94LnR4dCIsCisrICAgICAgICAicHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQiLAorICAg ICAgICAgInRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQiLAorICAgICAgICAgImlzc3VlLmZlYXR1 cmVzL3B5LnJlcXVpcmVtZW50cy50eHQiCisgICAgIF0KKy19CisrICB9CisgfQpkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4 OS1QSU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10by1hbGwtcGxhY2VzLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4OS1QSU4tUkVRVUlS RU1FTlRTLUV4dGVuZC10by1hbGwtcGxhY2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uOWEwMTNiMmIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4OS1QSU4tUkVRVUlSRU1F TlRTLUV4dGVuZC10by1hbGwtcGxhY2VzLnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKK0Zyb20gYWYz NDZhODMyZjFlMDNmMzBkYWVhMzUzM2E4ODVkNDc0ZGQ5ZjRjYSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogV2VkLCA0IE5vdiAyMDIwIDEwOjU0OjQ4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFBJ TiBSRVFVSVJFTUVOVFM6IEV4dGVuZCB0byBhbGwgcGxhY2VzLiBQSU5ORUQ6IGludm9rZSwgc2l4 LAorIFB5SGFtY3Jlc3QKKworLS0tCisgaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4 dCB8IDIgKy0KKyBweS5yZXF1aXJlbWVudHMvYmFzaWMudHh0ICAgICAgICAgIHwgMiArLQorIHB5 LnJlcXVpcmVtZW50cy9jaS50b3gudHh0ICAgICAgICAgfCAyICstCisgcHkucmVxdWlyZW1lbnRz L2NpLnRyYXZpcy50eHQgICAgICB8IDIgKy0KKyBweS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQg ICAgICAgIHwgNCArLS0tCisgcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0ICAgICAgICB8IDIg Ky0KKyA2IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgYi9pc3N1ZS5m ZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCAzOGY0NTJkLi42ZTNjZjgzIDEwMDY0 NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIvaXNzdWUu ZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTgsNCArOCw0IEBACisgIworICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorIAorLVB5SGFtY3Jlc3Q9PTIuMC4yCisrUHlIYW1jcmVzdCA9PSAy LjAuMgorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQgYi9weS5yZXF1aXJl bWVudHMvYmFzaWMudHh0CitpbmRleCBmOTc2NzQ4Li42YzY0NGUwIDEwMDY0NAorLS0tIGEvcHku cmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAor QEAgLTExLDcgKzExLDcgQEAKKyBjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIKKyBw YXJzZSA+PSAxLjE4LjAKKyBwYXJzZV90eXBlID49IDAuNC4yCistc2l4ID49IDEuMTIuMAorK3Np eCA9PSAxLjE1LjAKKyAKKyB0cmFjZWJhY2syOyAgcHl0aG9uX3ZlcnNpb24gPCAnMy4wJworIGNv bnRleHRsaWIyICAgICAjIE1BWUJFOiBweXRob25fdmVyc2lvbiA8ICczLjUnCitkaWZmIC0tZ2l0 IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4 dAoraW5kZXggNDAwMWJjMi4uMjBhZTc5MSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9j aS50b3gudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAgLTYsNyArNiw3 IEBAIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQu MgorIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwg Pj0gMS4xOS4wCisgbW9jayA+PSAyLjAKKy1QeUhhbWNyZXN0ID49IDEuOQorK1B5SGFtY3Jlc3Qg PT0gMi4wLjIKKyAKKyAjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwt cGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKyBwYXRoLnB5ID49IDExLjUuMDsgcHl0 aG9uX3ZlcnNpb24gPCAgJzMuNScKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJh dmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitpbmRleCBkZTQxMjBhLi5j Njk0NDVjIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBi L3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitAQCAtNSw3ICs1LDcgQEAgcHl0ZXN0IDwg IDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVy c2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1sID49IDEuMTkuMAorIG1vY2sgID49IDIuMAorLVB5 SGFtY3Jlc3QgPj0gMS45CisrUHlIYW1jcmVzdCA9PSAyLjAuMgorIAorICMgLS0gTkVFREVEOiBC eSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4x IGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv ZGV2ZWxvcC50eHQgYi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKK2luZGV4IGE5MmVlNWYu LmU3ZGM0MTggMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKKysrKyBi L3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorQEAgLTMsOSArMyw3IEBACisgIyA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CisgCisgIyAtLSBCVUlMRC1UT09MOgorLSMgUFJFUEFSRSBVU0FHRTogaW52 b2tlCistIyBBTFJFQURZOiBzaXggPj0gMS4xMS4wCistaW52b2tlID49IDEuMi4wCisraW52b2tl ID09IDEuNC4xCisgcGF0aGxpYjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBweWNtZAor IAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVt ZW50cy90ZXN0aW5nLnR4dAoraW5kZXggNWNjZGRhOC4uZDNiY2ExOCAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL3Rlc3Rpbmcu dHh0CitAQCAtOCw3ICs4LDcgQEAgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMu MCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMu MCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBtb2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID49 IDIuMC4yCisrUHlIYW1jcmVzdCA9PSAyLjAuMgorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRl c3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVp cmVkIGZvciBweXRob24yLjYKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVwLXJl cGxhY2VzLV90YXNrbGV0X2NsZWFudXAtci5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVw LXJlcGxhY2VzLV90YXNrbGV0X2NsZWFudXAtci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLmI5NWExMzM3MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTAtdGFza3MtQWRkLWlu dm9rZV9jbGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2NsZWFudXAtci5wYXRjaApAQCAtMCwwICsx LDgxMTYgQEAKK0Zyb20gOTJkNTlmYTg3MTE5MmI2YjY0MTMxMTNkODVhMGZhMGY5MjRjMDBkNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDIwIDIxOjE4OjEyICswMTAwCitT dWJqZWN0OiBbUEFUQ0hdIHRhc2tzOiBBZGQgaW52b2tlX2NsZWFudXAgKHJlcGxhY2VzOiBfdGFz a2xldF9jbGVhbnVwKSwKKyByZW1vdmUgX3ZlbmRvci8gZGlyZWN0b3J5LgorCistLS0KKyBweS5y ZXF1aXJlbWVudHMvZG9jcy50eHQgIHwgICAgMyArLQorIHRhc2tzL19faW5pdF9fLnB5ICAgICAg ICAgfCAgIDEwICstCisgdGFza3MvX3NldHVwLnB5ICAgICAgICAgICB8ICAgMTAgKy0KKyB0YXNr cy9fdGFza2xldF9jbGVhbnVwLnB5IHwgIDI5NSAtLS0tLS0tCisgdGFza3MvX3ZlbmRvci9SRUFE TUUucnN0ICB8ICAgMzUgLQorIHRhc2tzL192ZW5kb3IvaW52b2tlLnppcCAgfCAgQmluIDE3MjI4 MSAtPiAwIGJ5dGVzCisgdGFza3MvX3ZlbmRvci9wYXRoLnB5ICAgICB8IDE3MjUgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHRhc2tzL192ZW5kb3IvcGF0aGxpYi5weSAg fCAxMjgwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHRhc2tzL192ZW5kb3Ivc2l4LnB5 ICAgICAgfCAgODY4IC0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0YXNrcy9kb2NzLnB5ICAgICAgICAg ICAgIHwgICAzMyArLQorIHRhc2tzL2ludm9rZV9jbGVhbnVwLnB5ICAgfCAgNDQ3ICsrKysrKysr KysKKyB0YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IHwgICAgMiArLQorIHRhc2tzL3JlbGVhc2Uu cHkgICAgICAgICAgfCAgICAyICstCisgdGFza3MvdGVzdC5weSAgICAgICAgICAgICB8ICAgIDMg Ky0KKyAxNCBmaWxlcyBjaGFuZ2VkLCA0OTcgaW5zZXJ0aW9ucygrKSwgNDIxNiBkZWxldGlvbnMo LSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFza3MvX3Rhc2tsZXRfY2xlYW51cC5weQorIGRlbGV0 ZSBtb2RlIDEwMDY0NCB0YXNrcy9fdmVuZG9yL1JFQURNRS5yc3QKKyBkZWxldGUgbW9kZSAxMDA2 NDQgdGFza3MvX3ZlbmRvci9pbnZva2UuemlwCisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRhc2tzL192 ZW5kb3IvcGF0aC5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCB0YXNrcy9fdmVuZG9yL3BhdGhsaWIu cHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFza3MvX3ZlbmRvci9zaXgucHkKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgdGFza3MvaW52b2tlX2NsZWFudXAucHkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVp cmVtZW50cy9kb2NzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kb2NzLnR4dAoraW5kZXggNjgzOWJh OS4uMTM4NGUwMCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9kb2NzLnR4dAorKysrIGIv cHkucmVxdWlyZW1lbnRzL2RvY3MudHh0CitAQCAtMyw3ICszLDggQEAKKyAjID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKyAjIFJFUVVJUkVTOiBwaXAgPj0gOC4wCisgCistU3BoaW54ID49IDEuNgorK3Nw aGlueCA+PSAxLjYKKytzcGhpbngtYXV0b2J1aWxkCisgc3BoaW54X2Jvb3RzdHJhcF90aGVtZSA+ PSAwLjYuMAorIAorICMgLS0gU1VQUE9SVDogc3BoaW54LWRvYyB0cmFuc2xhdGlvbnMgKHByZXBh cmVkKQorZGlmZiAtLWdpdCBhL3Rhc2tzL19faW5pdF9fLnB5IGIvdGFza3MvX19pbml0X18ucHkK K2luZGV4IGE1NzI0NjUuLjlhZTg5OWIgMTAwNjQ0CistLS0gYS90YXNrcy9fX2luaXRfXy5weQor KysrIGIvdGFza3MvX19pbml0X18ucHkKK0BAIC0yMCw3ICsyMCw3IEBAIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgZnJvbSAuIGltcG9ydCBfc2V0dXAgICAgIyBweWxp bnQ6IGRpc2FibGU9d3JvbmctaW1wb3J0LW9yZGVyCisgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQg c3lzCistSU5WT0tFX01JTlZFUlNJT04gPSAiMS4yLjAiCisrSU5WT0tFX01JTlZFUlNJT04gPSAi MS40LjAiCisgX3NldHVwLnNldHVwX3BhdGgoKQorIF9zZXR1cC5yZXF1aXJlX2ludm9rZV9taW52 ZXJzaW9uKElOVk9LRV9NSU5WRVJTSU9OKQorIAorQEAgLTM1LDcgKzM1LDggQEAgaW1wb3J0IHN5 cworIGZyb20gaW52b2tlIGltcG9ydCBDb2xsZWN0aW9uCisgCisgIyAtLSBUQVNLLUxJQlJBUlk6 CistZnJvbSAuIGltcG9ydCBfdGFza2xldF9jbGVhbnVwIGFzIGNsZWFudXAKKysjIFBSRVBBUkVE OiBpbXBvcnQgaW52b2tlX2NsZWFudXAgYXMgY2xlYW51cAorK2Zyb20gLiBpbXBvcnQgaW52b2tl X2NsZWFudXAgYXMgY2xlYW51cAorIGZyb20gLiBpbXBvcnQgZG9jcworIGZyb20gLiBpbXBvcnQg dGVzdAorIGZyb20gLiBpbXBvcnQgcmVsZWFzZQorQEAgLTUyLDE5ICs1MywxOCBAQCBmcm9tIC4g aW1wb3J0IGRldmVsb3AKKyAjIFRBU0sgQ09ORklHVVJBVElPTjoKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgbmFtZXNwYWNlID0gQ29sbGVjdGlvbigpCistIyBESVNBQkxFRDogbmFtZXNwYWNl LmFkZF90YXNrKGNsZWFuLmNsZWFuKQorLSMgRElTQUJMRUQ6IG5hbWVzcGFjZS5hZGRfdGFzayhj bGVhbi5jbGVhbl9hbGwpCisgbmFtZXNwYWNlLmFkZF9jb2xsZWN0aW9uKENvbGxlY3Rpb24uZnJv bV9tb2R1bGUoY2xlYW51cCksIG5hbWU9ImNsZWFudXAiKQorIG5hbWVzcGFjZS5hZGRfY29sbGVj dGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGRvY3MpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVj dGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKHRlc3QpKQorIG5hbWVzcGFjZS5hZGRfY29sbGVj dGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKHJlbGVhc2UpKQorIG5hbWVzcGFjZS5hZGRfY29s bGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGRldmVsb3ApKQorLWNsZWFudXAuY2xlYW51 cF90YXNrcy5hZGRfdGFzayhjbGVhbnVwLmNsZWFuX3B5dGhvbikKKyAKKysjIC0tIEVOU1VSRTog cHl0aG9uIGNsZWFudXAgaXMgdXNlZCBmb3IgdGhpcyBwcm9qZWN0LgorIGNsZWFudXAuY2xlYW51 cF90YXNrcy5hZGRfdGFzayhjbGVhbnVwLmNsZWFuX3B5dGhvbikKKyAKKyAjIC0tIElOSkVDVDog Y2xlYW4gY29uZmlndXJhdGlvbiBpbnRvIHRoaXMgbmFtZXNwYWNlCisgbmFtZXNwYWNlLmNvbmZp Z3VyZShjbGVhbnVwLm5hbWVzcGFjZS5jb25maWd1cmF0aW9uKCkpCisrbmFtZXNwYWNlLmNvbmZp Z3VyZSh0ZXN0Lm5hbWVzcGFjZS5jb25maWd1cmF0aW9uKCkpCisgaWYgc3lzLnBsYXRmb3JtLnN0 YXJ0c3dpdGgoIndpbiIpOgorICAgICAjIC0tIE9WRVJSSURFIFNFVFRJTkdTOiBGb3IgcGxhdGZv cm09d2luMzIsIC4uLiAoV2luZG93cykKKyAgICAgZnJvbSAuX2NvbXBhdF9zaHV0aWwgaW1wb3J0 IHdoaWNoCitkaWZmIC0tZ2l0IGEvdGFza3MvX3NldHVwLnB5IGIvdGFza3MvX3NldHVwLnB5Citp bmRleCBlZGE1Y2E5Li5lNjllYzgyIDEwMDY0NAorLS0tIGEvdGFza3MvX3NldHVwLnB5CisrKysg Yi90YXNrcy9fc2V0dXAucHkKK0BAIC0xNCw3ICsxNCw3IEBAIGltcG9ydCBzeXMKKyBIRVJFID0g b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKQorIFRBU0tTX1ZFTkRPUl9ESVIgPSBvcy5wYXRoLmpv aW4oSEVSRSwgIl92ZW5kb3IiKQorIElOVk9LRV9CVU5ETEUgPSBvcy5wYXRoLmpvaW4oVEFTS1Nf VkVORE9SX0RJUiwgImludm9rZS56aXAiKQorLUlOVk9LRV9CVU5ETEVfVkVSU0lPTiA9ICIwLjEz LjAiICAgICMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQorK0lOVk9LRV9CVU5ETEVfVkVS U0lPTiA9ICIxLjQuMCIKKyAKKyBERUJVR19TWVNQQVRIID0gRmFsc2UKKyAKK0BAIC0yNSw2ICsy NSw3IEBAIERFQlVHX1NZU1BBVEggPSBGYWxzZQorIGNsYXNzIFZlcnNpb25SZXF1aXJlbWVudEVy cm9yKFN5c3RlbUV4aXQpOgorICAgICBwYXNzCisgCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICMgRlVOQ1RJT05TOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC0zMiw3ICszMyw3 IEBAIGRlZiBzZXR1cF9wYXRoKGludm9rZV9taW52ZXJzaW9uPU5vbmUpOgorICAgICAiIiJTZXR1 cCBweXRob24gc2VhcmNoIGFuZCBhZGQgYGBUQVNLU19WRU5ET1JfRElSYGAgKGlmIGF2YWlsYWJs ZSkuIiIiCisgICAgICMgcHJpbnQoIklOVk9LRS50YXNrczogc2V0dXBfcGF0aCIpCisgICAgIGlm IG5vdCBvcy5wYXRoLmlzZGlyKFRBU0tTX1ZFTkRPUl9ESVIpOgorLSAgICAgICAgcHJpbnQoIlNL SVA6IFRBU0tTX1ZFTkRPUl9ESVI9JXMgaXMgbWlzc2luZyIgJSBUQVNLU19WRU5ET1JfRElSKQor KyAgICAgICAgIyBTSUxFTlQ6IHByaW50KCJTS0lQOiBUQVNLU19WRU5ET1JfRElSPSVzIGlzIG1p c3NpbmciICUgb3MucGF0aC5yZWxwYXRoKFRBU0tTX1ZFTkRPUl9ESVIpKQorICAgICAgICAgcmV0 dXJuCisgICAgIGVsaWYgb3MucGF0aC5hYnNwYXRoKFRBU0tTX1ZFTkRPUl9ESVIpIGluIHN5cy5w YXRoOgorICAgICAgICAgIyAtLSBTRVRVUCBBTFJFQURZIERPTkU6CitAQCAtODYsNiArODcsNyBA QCBkZWYgcmVxdWlyZV9pbnZva2VfbWludmVyc2lvbihtaW5fdmVyc2lvbiwgdmVyYm9zZT1GYWxz ZSk6CisgICAgICAgICBvcy5lbnZpcm9uWyJJTlZPS0VfVkVSU0lPTiJdID0gaW52b2tlX3ZlcnNp b24KKyAgICAgICAgIHByaW50KCJVU0lORzogaW52b2tlLnZlcnNpb249JXMiICUgaW52b2tlX3Zl cnNpb24pCisgCisrCisgZGVmIG5lZWRfdmVuZG9yX2J1bmRsZXMoaW52b2tlX21pbnZlcnNpb249 Tm9uZSk6CisgICAgIGludm9rZV9taW52ZXJzaW9uID0gaW52b2tlX21pbnZlcnNpb24gb3IgIjAu MC4wIgorICAgICBuZWVkX3ZlbmRvcl9hbnN3ZXJzID0gW10KK0BAIC0xMDIsNiArMTA0LDcgQEAg ZGVmIG5lZWRfdmVuZG9yX2J1bmRsZXMoaW52b2tlX21pbnZlcnNpb249Tm9uZSk6CisgICAgICMg cmV0dXJuIG5lZWRfYnVuZGxlMSBvciBuZWVkX2J1bmRsZTIKKyAgICAgcmV0dXJuIGFueShuZWVk X3ZlbmRvcl9hbnN3ZXJzKQorIAorKworIGRlZiBuZWVkX3ZlbmRvcl9idW5kbGVfaW52b2tlKGlu dm9rZV9taW52ZXJzaW9uPSIwLjAuMCIpOgorICAgICAjIC0tIFJFUVVJUkU6IGludm9rZQorICAg ICB0cnk6CitAQCAtMTE2LDYgKzExOSw3IEBAIGRlZiBuZWVkX3ZlbmRvcl9idW5kbGVfaW52b2tl KGludm9rZV9taW52ZXJzaW9uPSIwLjAuMCIpOgorICAgICAgICAgbmVlZF9idW5kbGUgPSBUcnVl CisgICAgIHJldHVybiBuZWVkX2J1bmRsZQorIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAjIFVUSUxJVFkgRlVOQ1RJT05TOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC0xMjUs MTEgKzEyOSwxMyBAQCBkZWYgc2V0dXBfcGF0aF9mb3JfYnVuZGxlKGJ1bmRsZV9wYXRoLCBwb3M9 MCk6CisgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICByZXR1cm4gRmFsc2UKKyAKKysKKyBkZWYg c3lzcGF0aF9pbnNlcnQocG9zLCBwYXRoKToKKyAgICAgaWYgcGF0aCBpbiBzeXMucGF0aDoKKyAg ICAgICAgIHN5cy5wYXRoLnJlbW92ZShwYXRoKQorICAgICBzeXMucGF0aC5pbnNlcnQocG9zLCBw YXRoKQorIAorKworIGRlZiBzeXNwYXRoX2FwcGVuZChwYXRoKToKKyAgICAgaWYgcGF0aCBpbiBz eXMucGF0aDoKKyAgICAgICAgIHN5cy5wYXRoLnJlbW92ZShwYXRoKQorZGlmZiAtLWdpdCBhL3Rh c2tzL190YXNrbGV0X2NsZWFudXAucHkgYi90YXNrcy9fdGFza2xldF9jbGVhbnVwLnB5CitkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDI5OTliYzYuLjAwMDAwMDAKKy0tLSBhL3Rhc2tz L190YXNrbGV0X2NsZWFudXAucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDI5NSArMCwwIEBACist IyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0iIiIKKy1Qcm92aWRlcyBjbGVhbnVwIHRhc2tzIGZv ciBpbnZva2UgYnVpbGQgc2NyaXB0cyAoYXMgZ2VuZXJpYyBpbnZva2UgdGFza2xldCkuCistU2lt cGxpZmllcyB3cml0aW5nIGNvbW1vbiwgY29tcG9zYWJsZSBhbmQgZXh0ZW5kYWJsZSBjbGVhbnVw IHRhc2tzLgorLQorLVBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUzoKKy0qIHBhdGgucHkgPj0g OC4yLjEgIChhcyBwYXRoLW9iamVjdCBhYnN0cmFjdGlvbikKKy0qIHBhdGhsaWIgKGZvciBhbnQt bGlrZSB3aWxkY2FyZCBwYXR0ZXJuczsgc2luY2U6IHB5dGhvbiA+IDMuNSkKKy0qIHB5Y21kIChy ZXF1aXJlZC1ieTogY2xlYW5fcHl0aG9uKCkpCistCistY2xlYW4gdGFzazogQWRkIEFkZGl0aW9u YWwgRGlyZWN0b3JpZXMgYW5kIEZpbGVzIHRvIGJlIHJlbW92ZWQKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCistCistQ3JlYXRlIGFuIGludm9rZSBjb25maWd1cmF0aW9uIGZpbGUgKFlBTUwgb2Yg SlNPTikgd2l0aCB0aGUgYWRkaXRpb25hbAorLWNvbmZpZ3VyYXRpb24gZGF0YToKKy0KKy0uLiBj b2RlLWJsb2NrOjogeWFtbAorLQorLSAgICAjIC0tIEZJTEU6IGludm9rZS55YW1sCistICAgICMg VVNFOiBjbGVhbi5kaXJlY3RvcmllcywgY2xlYW4uZmlsZXMgdG8gb3ZlcnJpZGUgY3VycmVudCBj b25maWd1cmF0aW9uLgorLSAgICBjbGVhbjoKKy0gICAgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgor LSAgICAgICAgICAgIC0gKiovdG1wLworLSAgICAgICAgZXh0cmFfZmlsZXM6CistICAgICAgICAg ICAgLSAqKi8qLmxvZworLSAgICAgICAgICAgIC0gKiovKi5iYWsKKy0KKy0KKy1SZWdpc3RyYXRp b24gb2YgQ2xlYW51cCBUYXNrcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQor LU90aGVyIHRhc2sgbW9kdWxlcyBvZnRlbiBoYXZlIGFuIG93biBjbGVhbnVwIHRhc2sgdG8gcmVj b3ZlciB0aGUgY2xlYW4gc3RhdGUuCistVGhlIDptZXRoOmBjbGVhbmAgdGFzaywgdGhhdCBpcyBw cm92aWRlZCBoZXJlLCBzdXBwb3J0cyB0aGUgcmVnaXN0cmF0aW9uCistb2YgYWRkaXRpb25hbCBj bGVhbnVwIHRhc2tzLiBUaGVyZWZvcmUsIHdoZW4gdGhlIDptZXRoOmBjbGVhbmAgdGFzayBpcyBl eGVjdXRlZCwKKy1hbGwgcmVnaXN0ZXJlZCBjbGVhbnVwIHRhc2tzIHdpbGwgYmUgZXhlY3V0ZWQu CistCistRVhBTVBMRTo6CistCistICAgICMgLS0gRklMRTogdGFza3MvZG9jcy5weQorLSAgICBm cm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorLSAgICBmcm9tIGludm9rZSBp bXBvcnQgdGFzaywgQ29sbGVjdGlvbgorLSAgICBmcm9tIHRhc2tsZXRfY2xlYW51cCBpbXBvcnQg Y2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJzCistCistICAgIEB0YXNrCistICAgIGRlZiBjbGVh bihjdHgsIGRyeV9ydW49RmFsc2UpOgorLSAgICAgICAgIkNsZWFudXAgZ2VuZXJhdGVkIGRvY3Vt ZW50YXRpb24gYXJ0aWZhY3RzLiIKKy0gICAgICAgIGNsZWFudXBfZGlycyhbImJ1aWxkL2RvY3Mi XSkKKy0KKy0gICAgbmFtZXNwYWNlID0gQ29sbGVjdGlvbihjbGVhbikKKy0gICAgLi4uCistCist ICAgICMgLS0gUkVHSVNURVIgQ0xFQU5VUCBUQVNLOgorLSAgICBjbGVhbnVwX3Rhc2tzLmFkZF90 YXNrKGNsZWFuLCAiY2xlYW5fZG9jcyIpCistICAgIGNsZWFudXBfdGFza3MuY29uZmlndXJlKG5h bWVzcGFjZS5jb25maWd1cmF0aW9uKCkpCistIiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9y dCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCistaW1wb3J0IG9zLnBhdGgKKy1pbXBv cnQgc3lzCistaW1wb3J0IHBhdGhsaWIKKy1mcm9tIGludm9rZSBpbXBvcnQgdGFzaywgQ29sbGVj dGlvbgorLWZyb20gaW52b2tlLmV4ZWN1dG9yIGltcG9ydCBFeGVjdXRvcgorLWZyb20gaW52b2tl LmV4Y2VwdGlvbnMgaW1wb3J0IEV4aXQsIEZhaWx1cmUsIFVuZXhwZWN0ZWRFeGl0CistZnJvbSBw YXRoIGltcG9ydCBQYXRoCistCistCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgQ0xFQU5V UCBVVElMSVRJRVM6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWRlZiBjbGVhbnVwX2FjY2Vw dF9vbGRfY29uZmlnKGN0eCk6CistICAgIGN0eC5jbGVhbnVwLmRpcmVjdG9yaWVzLmV4dGVuZChj dHguY2xlYW4uZGlyZWN0b3JpZXMgb3IgW10pCistICAgIGN0eC5jbGVhbnVwLmV4dHJhX2RpcmVj dG9yaWVzLmV4dGVuZChjdHguY2xlYW4uZXh0cmFfZGlyZWN0b3JpZXMgb3IgW10pCistICAgIGN0 eC5jbGVhbnVwLmZpbGVzLmV4dGVuZChjdHguY2xlYW4uZmlsZXMgb3IgW10pCistICAgIGN0eC5j bGVhbnVwLmV4dHJhX2ZpbGVzLmV4dGVuZChjdHguY2xlYW4uZXh0cmFfZmlsZXMgb3IgW10pCist CistICAgIGN0eC5jbGVhbnVwX2FsbC5kaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNsZWFuX2FsbC5k aXJlY3RvcmllcyBvciBbXSkKKy0gICAgY3R4LmNsZWFudXBfYWxsLmV4dHJhX2RpcmVjdG9yaWVz LmV4dGVuZChjdHguY2xlYW5fYWxsLmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBjdHgu Y2xlYW51cF9hbGwuZmlsZXMuZXh0ZW5kKGN0eC5jbGVhbl9hbGwuZmlsZXMgb3IgW10pCistICAg IGN0eC5jbGVhbnVwX2FsbC5leHRyYV9maWxlcy5leHRlbmQoY3R4LmNsZWFuX2FsbC5leHRyYV9m aWxlcyBvciBbXSkKKy0KKy0KKy1kZWYgZXhlY3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51 cF90YXNrcywgZHJ5X3J1bj1GYWxzZSk6CistICAgICIiIkV4ZWN1dGUgc2V2ZXJhbCBjbGVhbnVw IHRhc2tzIGFzIHBhcnQgb2YgdGhlIGNsZWFudXAuCistCistICAgIFJFUVVJUkVTOiBgYGNsZWFu KGN0eCwgZHJ5X3J1bj1GYWxzZSlgYCBzaWduYXR1cmUgaW4gY2xlYW51cCB0YXNrcy4KKy0KKy0g ICAgOnBhcmFtIGN0eDogICAgICAgICAgICAgQ29udGV4dCBvYmplY3QgZm9yIHRoZSB0YXNrcy4K Ky0gICAgOnBhcmFtIGNsZWFudXBfdGFza3M6ICAgQ29sbGVjdGlvbiBvZiBjbGVhbnVwIHRhc2tz IChhcyBDb2xsZWN0aW9uKS4KKy0gICAgOnBhcmFtIGRyeV9ydW46ICAgICAgICAgSW5kaWNhdGVz IGRyeS1ydW4gbW9kZSAoYm9vbCkKKy0gICAgIiIiCistICAgICMgcHlsaW50OiBkaXNhYmxlPXJl ZGVmaW5lZC1vdXRlci1uYW1lCistICAgIGV4ZWN1dG9yID0gRXhlY3V0b3IoY2xlYW51cF90YXNr cywgY3R4LmNvbmZpZykKKy0gICAgZmFpbHVyZV9jb3VudCA9IDAKKy0gICAgZm9yIGNsZWFudXBf dGFzayBpbiBjbGVhbnVwX3Rhc2tzLnRhc2tzOgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAg IHByaW50KCJDTEVBTlVQIFRBU0s6ICVzIiAlIGNsZWFudXBfdGFzaykKKy0gICAgICAgICAgICBl eGVjdXRvci5leGVjdXRlKChjbGVhbnVwX3Rhc2ssIGRpY3QoZHJ5X3J1bj1kcnlfcnVuKSkpCist ICAgICAgICBleGNlcHQgKEV4aXQsIEZhaWx1cmUsIFVuZXhwZWN0ZWRFeGl0KSBhcyBlOgorLSAg ICAgICAgICAgIHByaW50KCJGQUlMVVJFIGluIENMRUFOVVAgVEFTSzogJXMgKEdSQUNFRlVMTFkt SUdOT1JFRCkiICUgY2xlYW51cF90YXNrKQorLSAgICAgICAgICAgIGZhaWx1cmVfY291bnQgKz0g MQorLQorLSAgICBpZiBmYWlsdXJlX2NvdW50OgorLSAgICAgICAgcHJpbnQoIkNMRUFOVVAgVEFT S1M6ICVkIGZhaWx1cmUocykgb2NjdXJlZCIgJSBmYWlsdXJlX2NvdW50KQorLQorLQorLWRlZiBj bGVhbnVwX2RpcnMocGF0dGVybnMsIGRyeV9ydW49RmFsc2UsIHdvcmtkaXI9Ii4iKToKKy0gICAg IiIiUmVtb3ZlIGRpcmVjdG9yaWVzIChhbmQgdGhlaXIgY29udGVudHMpIHJlY3Vyc2l2ZWx5Lgor LSAgICBTa2lwcyByZW1vdmFsIGlmIGRpcmVjdG9yaWVzIGRvZXMgbm90IGV4aXN0LgorLQorLSAg ICA6cGFyYW0gcGF0dGVybnM6ICAgIERpcmVjdG9yeSBuYW1lIHBhdHRlcm5zLCBsaWtlICIqKi90 bXAqIiAoYXMgbGlzdCkuCistICAgIDpwYXJhbSBkcnlfcnVuOiAgICAgRHJ5LXJ1biBtb2RlIGlu ZGljYXRvciAoYXMgYm9vbCkuCistICAgIDpwYXJhbSB3b3JrZGlyOiAgICAgQ3VycmVudCB3b3Jr IGRpcmVjdG9yeSAoZGVmYXVsdD0iLiIpCistICAgICIiIgorLSAgICBjdXJyZW50X2RpciA9IFBh dGgod29ya2RpcikKKy0gICAgcHl0aG9uX2Jhc2VkaXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFi bGUpLmRpcm5hbWUoKSkuam9pbnBhdGgoIi4uIikuYWJzcGF0aCgpCistICAgIHdhcm4yX2NvdW50 ZXIgPSAwCistICAgIGZvciBkaXJfcGF0dGVybiBpbiBwYXR0ZXJuczoKKy0gICAgICAgIGZvciBk aXJlY3RvcnkgaW4gcGF0aF9nbG9iKGRpcl9wYXR0ZXJuLCBjdXJyZW50X2Rpcik6CistICAgICAg ICAgICAgZGlyZWN0b3J5MiA9IGRpcmVjdG9yeS5hYnNwYXRoKCkKKy0gICAgICAgICAgICBpZiBz eXMuZXhlY3V0YWJsZS5zdGFydHN3aXRoKGRpcmVjdG9yeTIpOgorLSAgICAgICAgICAgICAgICAj IHB5bGludDogZGlzYWJsZT1saW5lLXRvby1sb25nCistICAgICAgICAgICAgICAgIHByaW50KCJT S0lQLVNVSUNJREU6ICclcycgY29udGFpbnMgY3VycmVudCBweXRob24gZXhlY3V0YWJsZSIgJSBk aXJlY3RvcnkpCistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgZWxpZiBk aXJlY3RvcnkyLnN0YXJ0c3dpdGgocHl0aG9uX2Jhc2VkaXIpOgorLSAgICAgICAgICAgICAgICAj IC0tIFBST1RFQ1QgQ1VSUkVOVExZIFVTRUQgVklSVFVBTCBFTlZJUk9OTUVOVDoKKy0gICAgICAg ICAgICAgICAgaWYgd2FybjJfY291bnRlciA8PSA0OgorLSAgICAgICAgICAgICAgICAgICAgcHJp bnQoIlNLSVAtU1VJQ0lERTogJyVzJyIgJSBkaXJlY3RvcnkpCistICAgICAgICAgICAgICAgIHdh cm4yX2NvdW50ZXIgKz0gMQorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLQorLSAgICAgICAg ICAgIGlmIG5vdCBkaXJlY3RvcnkuaXNkaXIoKToKKy0gICAgICAgICAgICAgICAgcHJpbnQoIlJN VFJFRTogJXMgKFNLSVBQRUQ6IE5vdCBhIGRpcmVjdG9yeSkiICUgZGlyZWN0b3J5KQorLSAgICAg ICAgICAgICAgICBjb250aW51ZQorLQorLSAgICAgICAgICAgIGlmIGRyeV9ydW46CistICAgICAg ICAgICAgICAgIHByaW50KCJSTVRSRUU6ICVzIChkcnktcnVuKSIgJSBkaXJlY3RvcnkpCistICAg ICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgcHJpbnQoIlJNVFJFRTogJXMiICUgZGly ZWN0b3J5KQorLSAgICAgICAgICAgICAgICBkaXJlY3Rvcnkucm10cmVlX3AoKQorLQorLQorLWRl ZiBjbGVhbnVwX2ZpbGVzKHBhdHRlcm5zLCBkcnlfcnVuPUZhbHNlLCB3b3JrZGlyPSIuIik6Cist ICAgICIiIlJlbW92ZSBmaWxlcyBvciBmaWxlcyBzZWxlY3RlZCBieSBmaWxlIHBhdHRlcm5zLgor LSAgICBTa2lwcyByZW1vdmFsIGlmIGZpbGUgZG9lcyBub3QgZXhpc3QuCistCistICAgIDpwYXJh bSBwYXR0ZXJuczogICAgRmlsZSBwYXR0ZXJucywgbGlrZSAiKiovKi5weWMiIChhcyBsaXN0KS4K Ky0gICAgOnBhcmFtIGRyeV9ydW46ICAgICBEcnktcnVuIG1vZGUgaW5kaWNhdG9yIChhcyBib29s KS4KKy0gICAgOnBhcmFtIHdvcmtkaXI6ICAgICBDdXJyZW50IHdvcmsgZGlyZWN0b3J5IChkZWZh dWx0PSIuIikKKy0gICAgIiIiCistICAgIGN1cnJlbnRfZGlyID0gUGF0aCh3b3JrZGlyKQorLSAg ICBweXRob25fYmFzZWRpciA9IFBhdGgoUGF0aChzeXMuZXhlY3V0YWJsZSkuZGlybmFtZSgpKS5q b2lucGF0aCgiLi4iKS5hYnNwYXRoKCkKKy0gICAgZXJyb3JfbWVzc2FnZSA9IE5vbmUKKy0gICAg ZXJyb3JfY291bnQgPSAwCistICAgIGZvciBmaWxlX3BhdHRlcm4gaW4gcGF0dGVybnM6CistICAg ICAgICBmb3IgZmlsZV8gaW4gcGF0aF9nbG9iKGZpbGVfcGF0dGVybiwgY3VycmVudF9kaXIpOgor LSAgICAgICAgICAgIGlmIGZpbGVfLmFic3BhdGgoKS5zdGFydHN3aXRoKHB5dGhvbl9iYXNlZGly KToKKy0gICAgICAgICAgICAgICAgIyAtLSBQUk9URUNUIENVUlJFTlRMWSBVU0VEIFZJUlRVQUwg RU5WSVJPTk1FTlQ6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgaWYg bm90IGZpbGVfLmlzZmlsZSgpOgorLSAgICAgICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAlcyAo U0tJUFBFRDogTm90IGEgZmlsZSkiICUgZmlsZV8pCistICAgICAgICAgICAgICAgIGNvbnRpbnVl CistCistICAgICAgICAgICAgaWYgZHJ5X3J1bjoKKy0gICAgICAgICAgICAgICAgcHJpbnQoIlJF TU9WRTogJXMgKGRyeS1ydW4pIiAlIGZpbGVfKQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAg ICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVzIiAlIGZpbGVfKQorLSAgICAgICAgICAgICAgICB0 cnk6CistICAgICAgICAgICAgICAgICAgICBmaWxlXy5yZW1vdmVfcCgpCistICAgICAgICAgICAg ICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9 ICIlczogJXMiICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBlKQorLSAgICAgICAgICAgICAgICAg ICAgcHJpbnQobWVzc2FnZSArICIgYmFzZWRpcjogIisgcHl0aG9uX2Jhc2VkaXIpCistICAgICAg ICAgICAgICAgICAgICBlcnJvcl9jb3VudCArPSAxCistICAgICAgICAgICAgICAgICAgICBpZiBu b3QgZXJyb3JfbWVzc2FnZToKKy0gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tZXNzYWdl ID0gbWVzc2FnZQorLSAgICBpZiBGYWxzZSBhbmQgZXJyb3JfbWVzc2FnZToKKy0gICAgICAgIGNs YXNzIENsZWFudXBFcnJvcihSdW50aW1lRXJyb3IpOgorLSAgICAgICAgICAgIHBhc3MKKy0gICAg ICAgIHJhaXNlIENsZWFudXBFcnJvcihlcnJvcl9tZXNzYWdlKQorLQorLQorLWRlZiBwYXRoX2ds b2IocGF0dGVybiwgY3VycmVudF9kaXI9Tm9uZSk6CistICAgICIiIlVzZSBwYXRobGliIGZvciBh bnQtbGlrZSBwYXR0ZXJucywgbGlrZTogIioqLyoucHkiCistCistICAgIDpwYXJhbSBwYXR0ZXJu OiAgICAgIEZpbGUvZGlyZWN0b3J5IHBhdHRlcm4gdG8gdXNlIChhcyBzdHJpbmcpLgorLSAgICA6 cGFyYW0gY3VycmVudF9kaXI6ICBDdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IChhcyBQYXRoLCBw YXRobGliLlBhdGgsIHN0cikKKy0gICAgOnJldHVybiBSZXNvbHZlZCBQYXRoIChhcyBwYXRoLlBh dGgpLgorLSAgICAiIiIKKy0gICAgaWYgbm90IGN1cnJlbnRfZGlyOgorLSAgICAgICAgY3VycmVu dF9kaXIgPSBwYXRobGliLlBhdGguY3dkKCkKKy0gICAgZWxpZiBub3QgaXNpbnN0YW5jZShjdXJy ZW50X2RpciwgcGF0aGxpYi5QYXRoKToKKy0gICAgICAgICMgLS0gQ0FTRTogc3RyaW5nLCBwYXRo LlBhdGggKHN0cmluZy1saWtlKQorLSAgICAgICAgY3VycmVudF9kaXIgPSBwYXRobGliLlBhdGgo c3RyKGN1cnJlbnRfZGlyKSkKKy0KKy0gICAgZm9yIHAgaW4gY3VycmVudF9kaXIuZ2xvYihwYXR0 ZXJuKToKKy0gICAgICAgIHlpZWxkIFBhdGgoc3RyKHApKQorLQorLQorLSMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKy0jIEdFTkVSSUMgQ0xFQU5VUCBUQVNLUzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistQHRhc2sKKy1kZWYgY2xlYW4oY3R4LCBkcnlfcnVuPUZhbHNlKToKKy0gICAgIiIiQ2xl YW51cCB0ZW1wb3JhcnkgZGlycy9maWxlcyB0byByZWdhaW4gYSBjbGVhbiBzdGF0ZS4iIiIKKy0g ICAgY2xlYW51cF9hY2NlcHRfb2xkX2NvbmZpZyhjdHgpCistICAgIGRpcmVjdG9yaWVzID0gY3R4 LmNsZWFudXAuZGlyZWN0b3JpZXMgb3IgW10KKy0gICAgZGlyZWN0b3JpZXMuZXh0ZW5kKGN0eC5j bGVhbnVwLmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBmaWxlcyA9IGN0eC5jbGVhbnVw LmZpbGVzIG9yIFtdCistICAgIGZpbGVzLmV4dGVuZChjdHguY2xlYW51cC5leHRyYV9maWxlcyBv ciBbXSkKKy0KKy0gICAgIyAtLSBQRVJGT1JNIENMRUFOVVA6CistICAgIGV4ZWN1dGVfY2xlYW51 cF90YXNrcyhjdHgsIGNsZWFudXBfdGFza3MsIGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgY2xlYW51 cF9kaXJzKGRpcmVjdG9yaWVzLCBkcnlfcnVuPWRyeV9ydW4pCistICAgIGNsZWFudXBfZmlsZXMo ZmlsZXMsIGRyeV9ydW49ZHJ5X3J1bikKKy0KKy0KKy1AdGFzayhuYW1lPSJhbGwiLCBhbGlhc2Vz PSgiZGlzdGNsZWFuIiwpKQorLWRlZiBjbGVhbl9hbGwoY3R4LCBkcnlfcnVuPUZhbHNlKToKKy0g ICAgIiIiQ2xlYW4gdXAgZXZlcnl0aGluZywgZXZlbiB0aGUgcHJlY2lvdXMgc3R1ZmYuCistICAg IE5PVEU6IGNsZWFuIHRhc2sgaXMgZXhlY3V0ZWQgZmlyc3QuCistICAgICIiIgorLSAgICBjbGVh bnVwX2FjY2VwdF9vbGRfY29uZmlnKGN0eCkKKy0gICAgZGlyZWN0b3JpZXMgPSBjdHguY29uZmln LmNsZWFudXBfYWxsLmRpcmVjdG9yaWVzIG9yIFtdCistICAgIGRpcmVjdG9yaWVzLmV4dGVuZChj dHguY29uZmlnLmNsZWFudXBfYWxsLmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBmaWxl cyA9IGN0eC5jb25maWcuY2xlYW51cF9hbGwuZmlsZXMgb3IgW10KKy0gICAgZmlsZXMuZXh0ZW5k KGN0eC5jb25maWcuY2xlYW51cF9hbGwuZXh0cmFfZmlsZXMgb3IgW10pCistCistICAgICMgLS0g UEVSRk9STSBDTEVBTlVQOgorLSAgICAjIEhJTlQ6IFJlbW92ZSBub3cgZGlyZWN0b3JpZXMsIGZp bGVzIGZpcnN0IGJlZm9yZSBjbGVhbnVwLXRhc2tzLgorLSAgICBjbGVhbnVwX2RpcnMoZGlyZWN0 b3JpZXMsIGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgY2xlYW51cF9maWxlcyhmaWxlcywgZHJ5X3J1 bj1kcnlfcnVuKQorLSAgICBleGVjdXRlX2NsZWFudXBfdGFza3MoY3R4LCBjbGVhbnVwX2FsbF90 YXNrcywgZHJ5X3J1bj1kcnlfcnVuKQorLSAgICBjbGVhbihjdHgsIGRyeV9ydW49ZHJ5X3J1bikK Ky0KKy0KKy1AdGFzayhuYW1lPSJweXRob24iKQorLWRlZiBjbGVhbl9weXRob24oY3R4LCBkcnlf cnVuPUZhbHNlKToKKy0gICAgIiIiQ2xlYW51cCBweXRob24gcmVsYXRlZCBmaWxlcy9kaXJzOiAq LnB5YywgKi5weW8sIC4uLiIiIgorLSAgICAjIE1BWUJFIE5PVDogIioqL19fcHljYWNoZV9fIgor LSAgICBjbGVhbnVwX2RpcnMoWyJidWlsZCIsICJkaXN0IiwgIiouZWdnLWluZm8iLCAiKiovX19w eWNhY2hlX18iXSwKKy0gICAgICAgICAgICAgICAgIGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgaWYg bm90IGRyeV9ydW46CistICAgICAgICBjdHgucnVuKCJweS5jbGVhbnVwIikKKy0gICAgY2xlYW51 cF9maWxlcyhbIioqLyoucHljIiwgIioqLyoucHlvIiwgIioqLyokcHkuY2xhc3MiXSwgZHJ5X3J1 bj1kcnlfcnVuKQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFRBU0sgQ09ORklH VVJBVElPTjoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistQ0xFQU5VUF9FTVBUWV9DT05GSUcg PSB7CistICAgICJkaXJlY3RvcmllcyI6IFtdLAorLSAgICAiZmlsZXMiOiBbXSwKKy0gICAgImV4 dHJhX2RpcmVjdG9yaWVzIjogW10sCistICAgICJleHRyYV9maWxlcyI6IFtdLAorLX0KKy1kZWYg bWFrZV9jbGVhbnVwX2NvbmZpZygqKmt3YXJncyk6CistICAgIGNvbmZpZ19kYXRhID0gQ0xFQU5V UF9FTVBUWV9DT05GSUcuY29weSgpCistICAgIGNvbmZpZ19kYXRhLnVwZGF0ZShrd2FyZ3MpCist ICAgIHJldHVybiBjb25maWdfZGF0YQorLQorLQorLW5hbWVzcGFjZSA9IENvbGxlY3Rpb24oY2xl YW5fYWxsLCBjbGVhbl9weXRob24pCistbmFtZXNwYWNlLmFkZF90YXNrKGNsZWFuLCBkZWZhdWx0 PVRydWUpCistbmFtZXNwYWNlLmNvbmZpZ3VyZSh7CistICAgICJjbGVhbnVwIjogbWFrZV9jbGVh bnVwX2NvbmZpZygKKy0gICAgICAgIGZpbGVzPVsiKi5iYWsiLCAiKi5sb2ciLCAiKi50bXAiLCAi KiovLkRTX1N0b3JlIiwgIioqLyoufip+Il0KKy0gICAgKSwKKy0gICAgImNsZWFudXBfYWxsIjog bWFrZV9jbGVhbnVwX2NvbmZpZygKKy0gICAgICAgIGRpcmVjdG9yaWVzPVsiLnZlbnYqIiwgIi50 b3giLCAiZG93bmxvYWRzIiwgInRtcCJdCistICAgICksCistICAgICMgLS0gQkFDS1dBUkQtQ09N UEFUSUJMRTogT0xELVNUWUxFCistICAgICJjbGVhbiI6ICAgICBDTEVBTlVQX0VNUFRZX0NPTkZJ Ry5jb3B5KCksCistICAgICJjbGVhbl9hbGwiOiBDTEVBTlVQX0VNUFRZX0NPTkZJRy5jb3B5KCks CistfSkKKy0KKy0KKy0jIC0tIEVYVEVOU0lPTi1QT0lOVDogQ0xFQU5VUCBUQVNLUyAoY2FsbGVk IGJ5OiBjbGVhbiwgY2xlYW5fYWxsIHRhc2spCistIyBOT1RFOiBDYW4gYmUgdXNlZCBieSBvdGhl ciB0YXNrbGV0cyB0byByZWdpc3RlciBjbGVhbnVwIHRhc2tzLgorLWNsZWFudXBfdGFza3MgPSBD b2xsZWN0aW9uKCJjbGVhbnVwX3Rhc2tzIikKKy1jbGVhbnVwX2FsbF90YXNrcyA9IENvbGxlY3Rp b24oImNsZWFudXBfYWxsX3Rhc2tzIikKKy0KKy0jIC0tIEVYVEVORCBOT1JNQUwgQ0xFQU5VUC1U QVNLUzoKKy0jIERJU0FCTEVEOiBjbGVhbnVwX3Rhc2tzLmFkZF90YXNrKGNsZWFuX3B5dGhvbikK Ky0jCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgRVhURU5TSU9OLVBPSU5UOiBDT05GSUdV UkFUSU9OIEhFTFBFUlM6IENhbiBiZSB1c2VkIGZyb20gb3RoZXIgdGFzayBtb2R1bGVzCistIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorLWRlZiBjb25maWdfYWRkX2NsZWFudXBfZGlycyhkaXJlY3Rv cmllcyk6CistICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgdGhl X2NsZWFudXBfZGlyZWN0b3JpZXMgPSBuYW1lc3BhY2UuX2NvbmZpZ3VyYXRpb25bImNsZWFuIl1b ImRpcmVjdG9yaWVzIl0KKy0gICAgdGhlX2NsZWFudXBfZGlyZWN0b3JpZXMuZXh0ZW5kKGRpcmVj dG9yaWVzKQorLQorLWRlZiBjb25maWdfYWRkX2NsZWFudXBfZmlsZXMoZmlsZXMpOgorLSAgICAj IHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgIHRoZV9jbGVhbnVwX2ZpbGVz ID0gbmFtZXNwYWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbiJdWyJmaWxlcyJdCistICAgIHRoZV9j bGVhbnVwX2ZpbGVzLmV4dGVuZChmaWxlcykKK2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL1JF QURNRS5yc3QgYi90YXNrcy9fdmVuZG9yL1JFQURNRS5yc3QKK2RlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggNjhmYzA2YS4uMDAwMDAwMAorLS0tIGEvdGFza3MvX3ZlbmRvci9SRUFETUUu cnN0CisrKysgL2Rldi9udWxsCitAQCAtMSwzNSArMCwwIEBACistdGFza3MvX3ZlbmRvcjogQnVu ZGxlZCB2ZW5kb3IgcGFydHMgLS0gbmVlZGVkIGJ5IHRhc2tzCistPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLQorLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGJ1bmRsZWQgYXJjaGl2ZXMgdGhhdCBt YXkgYmUgbmVlZGVkIHRvIHJ1biB0aGUgdGFza3MuCistRXNwZWNpYWxseSwgaXQgY29udGFpbnMg YW4gZXhlY3V0YWJsZSAiaW52b2tlLnppcCIgYXJjaGl2ZS4KKy1UaGlzIGFyY2hpdmUgY2FuIGJl IHVzZWQgd2hlbiBpbnZva2UgaXMgbm90IGluc3RhbGxlZC4KKy0KKy1UbyBleGVjdXRlIGludm9r ZSBmcm9tIHRoZSBidW5kbGVkIFpJUCBhcmNoaXZlOjoKKy0KKy0KKy0gICAgcHl0aG9uIC1tIHRh c2tzL192ZW5kb3IvaW52b2tlLnppcCAtLWhlbHAKKy0gICAgcHl0aG9uIC1tIHRhc2tzL192ZW5k b3IvaW52b2tlLnppcCAtLXZlcnNpb24KKy0KKy0KKy1FeGFtcGxlIGZvciBhIGxvY2FsICJiaW4v aW52b2tlIiBzY3JpcHQgaW4gYSBVTklYIGxpa2UgcGxhdGZvcm0gZW52aXJvbm1lbnQ6OgorLQor LSAgICAjIS9iaW4vYmFzaAorLSAgICAjIFJVTiBJTlZPS0U6IEZyb20gYnVuZGxlZCBaSVAgZmls ZS4KKy0KKy0gICAgSEVSRT0kKGRpcm5hbWUgJDApCistCistICAgIHB5dGhvbiAke0hFUkV9Ly4u L3Rhc2tzL192ZW5kb3IvaW52b2tlLnppcCAkKgorLQorLUV4YW1wbGUgZm9yIGEgbG9jYWwgImJp bi9pbnZva2UuY21kIiBzY3JpcHQgaW4gYSBXaW5kb3dzIGVudmlyb25tZW50OjoKKy0KKy0gICAg QGVjaG8gb2ZmCistICAgIFJFTSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLSAgICBSRU0gUlVOIElOVk9L RTogRnJvbSBidW5kbGVkIFpJUCBmaWxlLgorLSAgICBSRU0gPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0K Ky0gICAgc2V0bG9jYWwKKy0gICAgc2V0IEhFUkU9JX5kcDAKKy0gICAgaWYgbm90IGRlZmluZWQg UFlUSE9OICAgc2V0IFBZVEhPTj1weXRob24KKy0KKy0gICAgJVBZVEhPTiUgJUhFUkUlLi4vdGFz a3MvX3ZlbmRvci9pbnZva2UuemlwICIlKiIKK2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL2lu dm9rZS56aXAgYi90YXNrcy9fdmVuZG9yL2ludm9rZS56aXAKK2RlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggYmQxOTQxMjg5YjQyN2I2Y2Q2YmVhZjE4OGM4NWRlZjU4ZWU0Y2UzMy4uMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorR0lUIGJpbmFyeSBwYXRjaAor bGl0ZXJhbCAwCitIY21WP2QwMDAwMQorCitsaXRlcmFsIDE3MjI4MQoremNtWl59VzJ8VUZ4MyMl PndyJChDWlFIaE8rcVB9bndyJCV5K3VuV2RtJWUlTCpTV290VDIoKCpNeWlyQUdncm5fCit6QD4w TWNrTzJTbmZWbzZUe0dZfURgdkw+TjJDJVNvd1gtc3pRJkVOaDBPbkRYUVApK01RRm4yTjBzc1Zn MFIjWDUKK3pMSF9ydHs2QiZKbiF5MlZvdWVkQm5oX0hYZmRCeVBLPit7fHwwQUhNWEpLcE10Znhu N0A5fUBNQEt0NWgqWj1BTAoremYzI2Vid3JzY1BwPyY3bTtDRkA9MmsqaDJYdmhgd2BQbzJwSShh ckRyTj1hX0N6ZVJrYyZAal5IWEQhN1pRelNqCit6b1phMnMjWnk8QTw0d2h5V2llblhFbj1TSVZi QyViT0N9blA5Z19nUDBkMFE1TUsocXhtRGIzPWk5YXFwblpobT0KK3pafGRyQW5aP3w+S091dFNB aVM5IztOaDVMeHV2VyooeSMoa2ZkUzUmRUx8PH1yMHVQSXo5XzdMd2s4WTdTQX4+OworenVuY2Ym WWduRyNSZXBCZiUjZlREcSRoVHQxK3RRU1JhdEU1WGhgZE1zU3NhbE9ZQyo4RXdLfT1FZjF1T3Zj JE94Cit6Kz1iUT5SZiZJNmpBN0wyMGR1dGBxZVNHfEEkdlZoRGA4VXx6WXVqKiZGdn5+JnEodjNj aD82M3BZM31FUnojODYKK3o0Y2o1ejlCe01OZXQhT0pIQnUzfG4hRllXKz9iYFNwWkhzVGxRPjx7 JkMwSnsqUHNoenhweG4mPWQ7QURoMmVOIworej9JT0NmQ0B3PXBfckBtYHl5UzVsaEh5b0RkeUQl SVF2NmhXP2t2dk9eakVhSzheUTIjIV5qfFVCQEMwSWUkaD1TCit6Yz1CfipUeG4yNFFVXzNLT0Qt YDdpZGBOWSpkd34kLVFzYipiYWkjei1iTHxkMHRARGY+RXtNNTteJmBFNHVzJW4KK3pQJUxvZHYo PXZtb3ZkLSs8Y3Rxb2AhMnprTUNtZFReMH1OZ15sYHtuPjk9P1UwUCNlKUJCWWZQRkM3YHRoNDVg agoremEqemtiYT4tb3l1UmVycDdObWxjUUVqRyozYVJoTGskK1NiODlOOSN0K0YtM1VePnE3NVp7 MC00cCU4VXNMP2BACit6IXpGVVJqSVMpTG9sNk82YWhhJU9yYmVVS3poakhgSmx0bFU/KlpJUSsw M2hqUFY9ZnJzIytWTHAqOyk2WXJ1OH4KK3o/M1gqYDFucFIjNVVLRlJVYmswK3pSJTIjPG5zNGY5 IXE7SmIqO3lpPndEeitacl9qaXtsfjNOfEoqNz5OMHJhPgoreiYkfGwkI3tZRHl0QklxTmdgTXF4 eU9ye1BjV1lEfW9mSGtfP0RTbUorX2NuR1QlMjBIJH5edE4wekxEQjB7IzRQCit6V1l8PDdAJCZR WGJLP1drQmVOcUM2bXo2aHElLXAyZzBxI1NCakVvaTh9U2VjM0Q1UkRvbC07cWZFcTNVME9iRmEK K3pqZ2coVHdUWTRRfEphSlMrSzFaelFhQn1BSGNuZnVzWHdgVDBpOEAjbFBNWF9GSWpkdzlVMDl6 U3NoISZPWVYyUgorel9yfUVIIVBMeWk2TnRxJkhsJnxodWlYSHtmRCY2OXdXVHA2MjwrX2FiYU5o biMmSSRgdTlqK1NXb1c1O1plXnFHCit6WG1sPyZLRmFTbzZfSzRQS003NTY2UiNjP3hZeEN7Z085 KWFhUiFYdEo2bGAjX3ZWe2dPfDtqd1BDcCgrVDRzTF4KK3o/SmdecztCcHBhemVWQWAoMHVMN2NG NTMxYiUoO3g9eWIwb1o/TDdRckpBbStieGZYTDtOMDd+eSRra1RUd08pfAorel5vQ3ZyIUJ5XjNK bXxaNm0kbndrMntYeHhwcWtYS1Q1N0RAYmpAYXlLVHxsQFpmYih+JmhsPm09OCh+bTliQ3krCit6 SWghU2ByZ1ZARThnOFZlQE01bD09Uz04OUJlOGxNZGptKGAkWHd9bkdUfUlTRnoqITVXXlY/KXdl YD9JWTMmUnkKK3o4QittTXB1JDItLWV+VUp6KjRPd19ZXl4oa1dYYm93ckY/TS1uaWshY2lYdXY7 WSphKzZ6S2xHc001YypEdnI4PgoreiQ8TjRnSWJxO3NRQHlGKSpqI2IwRVlBe1JidD5hMHxBYSRm S1RGc3NmWWR8Sj5zRVhRP2NnWXp6Rnd7WnAtR3dTCit6QEptPGhXJm98azJweyNMIW4pKnRIWSQ7 YDxRcV9+cUAjajMyIzEweEt1VmhFXys0Vlh2SkYoSVgzMXo9NEkqMTUKK3pQbmowK1ctUiZhcGR6 X093RGVQbj8tZzlUNm1aZH4pfXlHYC1vXnVfM1JyQVV4U1c8Xz8lO0BPJC1tWjk+MUhQPAorelIk VTEtSSRlZCVTaDtMJTRjWn17P0lZSWpNM3ZTb3FfM0QqeWAqOGlsO0FvP0p6MDFOKz0yT2VKSmdy MSt9enJLCit6STFvS35gMS08Skh3YU0zZHVkKG05REglWnpNKzV3cHhVYHV7OT5zQ28+VyFoZmBD ZV5mLS1XV28wdlhxWGA/c04KK3pNelU8fnBPVzsmNnxQZ09yfnkwTm82JWMyJURHV1VMK1d3NGtt Ul4kQE00RlgpJChGYHdqc0I2Zn1IfEE/JW8hTAorejNlNCh1d0kmSVF4a3dPVWpUZn1KPFdtKCly I09hbihtQGRldGAyR2VHUFZaQlR2VkVoTVJiYmd6Jj5nQl5gSnckCit6Y0hiNTVifnMtX2VPV2VT TUBLVUglanRxUk59dUUrOGp6ZzJ4aXJ6djxXUUpaTD8/JDtidlJHQVVGenUqKk05O1gKK3pUZkxe elNGen5SekZIPEE+Y3d4JnIjfCQqN3okR1oxS2g8OFJEcllmQiRSc3I4JFpgeHhvRzV5T00ke1Rm PHNtaAorekF2QUY5WGE+N3ZjbGw1QjJvMHU1OFBOOW1gJEZCQFk2MGJROEhFJCg8NlEtfCplUDNL OF87e09qSFg5ME5zIzl9Cit6bWFteVd5YUAjVyRBPytOZjgmUklTekJSYEMoSjA9VTJ6NDhMZDhp bHoqbDB5SDNIZThrdz1SKEowZEBWVCs9SmwKK3pENmp4aUprSXd8bDg8MSpjcUFEaWh4OU1TdF4r fmNJa3lOZ0FRSkN0dHdUJGpeVFApK1pPJFVhJUVrSEBUSlRmbAorek9zdiRvRUNAfSplNTYhZ0VV eDc5R0ZMfmRjbzl9QEF+X2llUGV7YV4zZ0JmZVIqUVJURFhxUlBUdjJXQCE7MT5VCit6P0h8T21D QChtNmVyRGNLSHxWYmRpc3dHbHpiclRTbTR4PFljSFQ/RSNCJTxyTGMkRHtCakh6UW14KXN0NH0/ Pl4KK3pSenxHbDkpQFdxWEI3PWJFc2ZJcjZHJVJ7RThYd2ZvcE1aWXJFK0B7JClDbV9gXnQkQ191 MW9fcSgySlgzUW5Qbworej1Me3gqYF95KlQtIXpsZzFGRV9aLX1UYFV7YEN2QUA2THlge0RDUjBV RSNreHY9MjhicEo7Q2UjYXw2aWZreDVwCit6ZWpaVnZMPmoqKmMhKitYJnVsV3o/e24qZ0A/aDEj PCV5bClXaGY4c3Jnbip3PyhxP0FaRS11bURaXkV9ZGAxX3oKK3o8SGlvLSRhVmpLbWBLRkdkcEB0 ZlAyYiZJSjRKNFdvNGZEczlpREhaKH5wVml7Q0lmO1glKEc0XnA7NzlrWUUkeworektFbU9sI0l7 all2VlJHQCZlIzROT0VBd2ZoYClkazR7X3x5amk0UCl3bShJVi1aM25QZGROWSVGKzNvWm5ecHtl Cit6NDtsI1QlUXk2Y05mVClSfEg+b2Y1bFZqUjhGQyp7dFJVVVdNRHlrNnlpclZfcCMkfCg5VWpU MU1kPm9eUk89ZTUKK3pwd0BnTlJsIWp9an5SKyErKn5RZ1JPa01fQDUldDQhZXJkWU16fT4tYkIw WV9kK2AwUjBiMk1TV20wZFN1JXV+MgorejVGaXJCKkppVjBZSWJKezRYQkJPPy1XNkNkOFc0NHRr PXNpKXYhNlE2RlE5X0gpWFB7WHd9KFUhO1BtPHU0WGgqCit6SX1xJnlMKCNmI21pRzwrSXZ1NTNJ aylIYz94NjBtZCNRRV97V0pBalpVWlZGPlMyekdLcDNgdigwSm1RVlpWQGgKK3o+Y0h3UjshOXxq JktJX3I9ST5+I2A3fXN7SkNyd0hMMUd2Wl9MUHdKI3ptcWAtRUFRQSlieU83ZTJhRHBId2RwNQor eiopWi0wNTZqdUE2ajlOfilUZjxYVy0lTGs9fFZlP1B5ODV8QzhHJFlNRDIxJjtsKHk7cFR7I3w0 RGt4UEQhJVgkCit6ancldjB0TSpBbkNxNkFfbE5MNCV6e3VRQnV7RENKaEt6fjs0WHt0WkheV1l7 WWZVTGxNNmErM3l+SFotWUhAaksKK3prNkcxSz83KUFFYEBMRTUkNUw5bmpWaFdLS0dFa1EodT03 UjlgVCl5VDlFPmFnUnpXR05GQ3cwO2hZZiN4ZSNCNgorenZSZT5IMCh1Ty0wcWwqP2thYDwqKHhZ Y287RUlKKjZofUN+V3s9PnNoNXJ3d0NDbkQ+QzJZJjdDflJETHBobjFPCit6VmlkJEZyQn5LYVV3 PVR8elVTRDt1bVcyLXpHUFFMemtrWihZNGU2fmNMKSNgJEFuMW0/fWlsXnhWPDNWNSQjUHcKK3o/ Y308R2VnaEt+OFl1cEEmYnMlQjVTZEEqaHo8Plk2eHslUlIxKVZvbXZ3PFhFNDI1NEpPeWspPzM4 SFJONFRzcworemgqR343JipmaytYfCZuJVklfFJaJml0K08taWtqNUpmUS1vaz92b1RXdk9hMlVS O05eTzM5Vj0pZlZ+I2xxKnNLCit6SH4oVlBZKm9wJUpKOFJkLUtDfFF1ZDxeX1BfKEJRaz1odC1i LVpxdmJ+eExkSCFWUjZ0TnNYPyF2SVJCNTdAb2oKK3pPSSNlVjxOanh2YWxkS04yZyZfPHhMQUpy WWQxSjlVfVNXT2V5KGxFPTd9ZiU5MEBMUTJkQyF6b01vNX4+SWRUbQoreiZ6ezJhOG8pfEhBZChr KEd2aEU8ZTB6cUpKdU9OJWVZMWd3MkZ5LTw9el56IWZPeEMkdD0/c3R2fGJ7bmFGYVdjCit6YCRg KE1nPU1mVktLJktrOGJCQHNoIUNHMHdHcj4xRFcrQjRqej9aPjAwT3N0Wj1LZTB3NWhEOUpIQVFw SVNASFcKK3pFNVI4TEZfI3dIT3p1MTB7bm15TSY8LVVGbksodkxDQk9rbEx6bGhFNThZMUpXMFYz dkZtZ01uPnFucCpZWHlVbgorekhneDEzXmIqU1NEamgmeypZaj0tYTB9b1YyZzMtdWIlPEZebGQp dURWSn0+b3A9IU9wLS1+WSZ7dz1hMDlPX0hDCit6NXN2clQ7RV9nPno9fGRARDlCc18jc1BOUTBu SH55ZFNTYkRUNCZQXm9fKU84X3thMGhYRi0yWDN7YzxuUmE7QEsKK3pfRiRRX2dQIV5yM3M2cHZp RFVrNXoxYlFiV0hvZX0wIWM9Z1VWKF9tcTwwQzYzNj5ubismUUgxbFhkNHRLaF8tZgorekIwUlZk Qzc4Y0s1REB1eVFKb3RsT00hTmlmYXohMD58dHJfTS16dlYxVEktPSFeTll+Tk4xeClvTTMqemIz Wl5OCit6RU48e0RgcVVpIyVQflpxRmIweT9LbEBiY2ZXZn12KHUtZVIlVlJiTEQ/PXNEbFZFemsj ZVkxP3c5YSZWR011MTkKK3psTWZxTHk/bS1AbWJvTXIkJmZKPXNWXmxGVUlCTGolKXVCOSE8dUE/ YW4zeVlAQFd4UyN3YihBUFFaVl9tP0wwTAoremlxUmchZVpuSnpnbDklWTRecFRxSXxfS2ljZCNn NytafjdgZiR0ZFBSRGtORDQ4PUZ1dXI0KWgqXng8aWVrQCE9Cit6Z3k+TE1lWnBjWExZeVQzTWpj an1PRSkjVzdTdnRFUUgkJVhyPztSYU9iWjV7aFIoOTVRP0VaMigqfCFsK0VMWWwKK3poKmw3V0Na elQxenUkbk1zRjhIJFg2cTNqPDhOKWh1R3IydnBFZmUzSzlabVVJb31GIWt3ci0pMFVEKEcmVSNP UworemNeeFJQRF5OP0QxU3taKHBEQTQmT3IxZHRnJlBDM1ZCaypgX2UlLTJ4O08tP15JWTN1U0Io KW5jcWZtcEE7MypjCit6SXlEY3FCZGo8fjBxSmVHek0mbjQtKVZJZGFIejUxbWJxKnlJeiU7eDY7 V3YpVztMQkNrRkZIIXUmKXMmU1NmX2oKK3o2PSRhemFne09XTGVAcXBfe2lIITVpSyhkREZ0Wn5P WkUzd3t3UUg1IXIlbTlWYyMhQVFRVlpMc0NFSEphcmlKZworel58MVZMQHl1UTVeRzl2NW4qazM5 eks4bmt1PU50MGw9Z20mbD85cWRhJHZieUJfTmlBUig/P30rdk1WZVpaZUNTCit6dEx2cXZ6WjB0 UWZQPCpBblVPV3A/UkAqPGlHfm8jY2lHRzR2NGk1Km0yXiQ5Wl88YDZMMjgwIXlhZHFgaU9OenkK K3o/TXVHe2sjJGdFUmpyPy1uMWFDcmheWXpNTGBiZGJnWHJGRzJXVXdvQilWQmM/UGNmZHIpViRW bTVEdVRuT2MjZgoremhENGhyQEJrIWBJbFRNcGppQ3I2ZThuNmgpQWpsYjVKVnk1PnJqeGh7ekFs fm9PKWs7eiE4JXBWTGZOazJBd3hxCit6ZTBWa35WNkV+PmBoPylVKSpkcDZOeFliQSs7aFowYVNT Tz02YH5qbnQyZTw1aDJyOE8mYH5CRzZXNFBeT29XKTQKK3paI1pEMlQzTnxHJFBLQiUpR0A5SExL VWc8PmxReFBnbURkNW1RSz5qaUkzKXNoNyhufSUzXkIwVFhCQ3dsPjN4PgoremtYXlMxS0gzKkZl R1Y9TXhsfXZ2X2VDMD9YZGpYSHhScEk4I2ImbmVNMkkhOEZ1dD40ZGRAWU5QbVNZKCtPKnplCit6 RnpERnl6UXNLUXNjWiUqdjhmZE1KJG5JcFkwWWdETDdpYnNfVlR3PUBwUnBwPzNONkdiNSZtM1hr O19sLTclQTwKK3p7IW97P0w0a2AqNyQ2azMkdnNpXzhpVitxa3RmdlBzRUxVNHJCOUpRN3dla1lv UnY+IUw0QVdNajFWdSpGbSZ8WQorenNlVTVIZzZ4TGoqc2tNNE9sUVROYXotSng+cnlmS2ZwPjgw bjx5MnhKfnpwdl9qZ2RzenZhQWpBKVk/YzZuUUZGCit6SWQrP2Z0c2NuRnM7Vl4zJWAmYFo2MGhf cVFPaygoMD8mSGB6c0lIdDV0cipKV0ZtIzZUVGg4MWJTKWtwQVRjTTMKK3pKRV9BVHBfZTJZN0o4 TX5qK0V4YkNDQVJDWWtVUHZmKXBWKERqTVhreSU+WTc9JlZqVlMpbzVTcDFgS25jNXQwMworemhO aThxNTMoIUxtXn5PaGJQNTh4ajc8bmg0Zm5vTDRRJEY2TmJMUmg3ekxFTG1FblJrUk1pVkxeN1l3 U3YrbDk4Cit6QVZ1Yztre0JKK3BJSjRlaE44VUdwWVp8bzFAZ1dUUk0xXk8hWTYteClBUTlabWpt ajBtfDVoZ1d8WGAhQElKZ2MKK3pYNk1LQHZQLVJDKVdQX3xWaC0/bHRaKU9LbFo9Z1NneDI/PF51 SSopXktBU1RISkA4VC1NV1cjJXJNUWNFUDZNeworei1EZWp5Zml1NzBqVUUxJnlmS2RPKiE0fFVn RTF4UVU+e29xajFDV2xmeigmTXoyX2YpPSNIO2RTakJDRTNPQV9uCit6cld8JShYPFcpTGRXOSpN NFVqY3VuSSN3cXJEUXVwei1EIzJnZ3ladj1nSjdATkRsX2Q/MmdDZHU5ZntOemBKcS0KK3p3RUcx aXM1fXl7XmdXc1g8WiFybXkmPTVxMEJWVVkwTV5NKXFKcW51QlBiQ0Y3bFM5RldyJTVoTSsrek5N RzdFMgoremN9Ukt7KiUtVTJJeFhpRHtxWWxjdHk/YkU4PV5SQ1BzZk9VfEp1UGJmek8qQkU+Z2Q3 VnopeWZZI3BMWiYqJmctCit6bSFoX25UYXJ3VW43SUxrbm5rejZiMWw3Qz05YEoyd3NMKiFHcTBC ZjlBUi1WI15xJD1VQ0VvR3pvKHdNPnFwKncKK3pAZkpQYyh7SkA+YkFnQlclSzU3QUgmVTImSz1E OWczbTJWbGVrdEV0dkstZVlNTj1gPEZCVkV0czFWWEx7T3RNTAorekpjPjlSOzxVcURPNClkOTJE Qjdxb2c1Z1coZlF6fj1GRCp4aUghb18hbjBrQnJHdH5UYD5Cc0I5NjlHJDM9YDJsCit6dndEcUhI e15lejU9cFN0P2N1I0RoOE8tRCtlVDNVJHgmakVBXmhHPTVsPHByJVI0SlRjTlM7QzQ3KmxJP19U cHwKK3opSnF7Nz0wfDsrVyhLYmApcjleT1IrVy1CWk5VO3pBUVpAQGo/WGZVQ3NRK3VIb3lESCVE MlQoaj0rRl4kRzlHcgorekAmUmwkeDBUNVY/cSkhNj5fZlYoJTt2aWhyLXloSCF7fDM/SiUkUDtP fk8rKHBNZll7OGV3TWFxSUU+JDF1fTU9Cit6TX1ZcUJAWT81WSVGengleG82c21PZkZqeVM0ZTRa JCRnb3Y7PiZORCY0YkRBOSNUfVRzZDRgPHp6ZXI4PUxkJlEKK3ojYU9EdnBEIyoodDlhKFpXMmJG JFd4WmhpZzNAYE9NKXcqKFd8Mm9YNjR1bCM4I3BOdzdkO2ZfP0pBYEcpKT4wPworenVtQT4zX0BZ ZCg2bUlHclh7M1I0JGNuPl8pfiZgWnVpZ0BVRlIzM0QqQGFkQC08MXlZKVlVVTIkNzFGaSpfMEJM Cit6KCppSWdxIUBeUj1sJEBLKCRlUnJuSEt6Xmk7NHQ8KE0hX3B1XjYxRnk4dGc1bG5uT2YmJGle X3BuR018YD1wWGQKK3ooX087YjZ7M2FXVCRxaXdHVT9PM291eW03JHBXU2FaUEhufiVwczNtJEFY PkAjKGFALWVHRW1jKm4yWkxfN2tpZgoreldmJHhuZlZHczc+MUx0PDV5Zjk+PzA0I2xVWG9BdWgj XihueFVlbl5gSm5rM0pOeGI2TDhLNlhaK3g8XmUyVWN9Cit6cF40en5xKVpOMW96JFY0T3JaV0Fh SSVsRHM4VVN1PGx+cj9jRTNtemI7ME9PaD1UQTM1c0U2SykpKTdpc3AkQiQKK3pWVH1xfUpSVC1V IzlUZiRPaVkjc1hSbE08Tjg7d1d2PlN0bGxiS2glR0V7OEMtb0VJa0BFeX1XQn1LYWVPSFBeJQor ej99N2Q9P0NYQnowK15qUGNRYHExOXpzPFVuWVVkJUZIQ2xGYmRfNnkmd2B8YXlKbmhxdmU7KyVT RG81aipUIyh7Cit6THBQWWwrYHQlc0lEKEpLcEFEdDwoJUpVakR3X2dLZHo0TnJha1c2JCY/dk90 RXNvMGlBbmU3d1pSb3hnZlNtJnIKK3pzdCs1dntYRDwqd31KcjZeTUphXnI4fUdlbFglN0pjMnZ+ JDhfVmdGXlV9UmxYWGsrVV90a082e0E7cjB0M2laQAorell6cGRtN1h0WWFTNk9wWCtFNzN4dlh7 Xkg7bX41ZmB3QCNUQnBraUVCN2BFVEhuTUp+PCZ9Tkhfdmo5fG5yNGxxCit6Y3NFa2hYbEJqVHM5 KF9rZ20zP3FkNjljVHk3JkV5aTRFY1l1a2cqdCZjQCFfI00kSighPyp2UiM0QU5qRHJ0KXEKK3p5 N3lCcGV8QklveHwoQHk8fUYhYnZIOE50Rzsydz1RJVdqJU14NzhSUVBWNXlyNE1haXNMK19xIyVG eVk1KzRgTworekE4eXtVTCVVbTFYVXc/QUhzbn5vOyYkRFVEbWdlLSY1SmJUTEteVUV4QHp8VXZz RigybUFJNkhvNGF+VkFlV0R1Cit6ZjJtUVlMJW5iYDxVQ2VWWW80MW8hKUl6UE5+QX55akQlMF5P UG14c18tTV97ME9+RXFWbzEtYiN1PVZfNWVnP3sKK3ora3lNQyN7NVdOcnRQfkhBWllHMihQZigm SDdiKmgwV34rRjRIVFRCVEt+cVVyMS0/RlMqQGI9MWNmN1VqfmMqbAorelpoekklMGMxc3MtTGhx PThkd29McXZGMVlyNS01YCtZP3gzdWVDVk85fmcrJTRLbW5VOE83PGBoVz15bVgtbTU5Cit6WFot JEsmKUlkS3FaKDRaMX5OPikhZWNEQnk1blV7Mlk9JjFXanRWOHB2YnhLPX0paXNaX2JhRyNeRmAk aEJmIVoKK3pCWWdqenhsa25FZ2g/UV9FRCs4UCk2KnRwYz93eit2R0tlSm5OcD9eNzNwTVBaUWUh ejVvKTtTPVFzPktgMT8yfAorenNUd05wYkV4N3I3VkBHWThMXmRzMFIpM3xsQDcrYT1UeTBJRXxg bmZFSj9Yb3QoPk8lUjhVNX42VmhUPE07ZmtGCit6VEl+JENPJVQ3azBqbStOUjg/WDJNRTRLK0cr Y1RgWThOMyhlMVZFJFdOZ3ImPVBIP2pBIUhVZlQqKWZtWmpHS2QKK3piPDdDWURlKlAwUipoUExB JEJJVGx0V1RERUV6JUctNStCRjZ0Ykh8QElpTEJgb0ZOPTt9a2h6KX1DV35qdXU7RgoremFZfnh7 PjJmVjE3NyRnSFluVWFmMiNKZ3hLWSheRSZgYylhS2x1S2hgRygydWU9d1FYam84ZEd7Y2J9PmdB MiRhCit6MHMtP19Gd0pWcDI/RShUanAjZCtZYTVPKHlgMlh4JU1od1NRblk1X2VxIUF3U1RmQFEk Mj0tTithVHlJSz1ENiUKK3pxcSZXP25SPmpVKitRWG1UQFZ1czFXKGoteXNFNkxyRVpDdCZaS24j NmJEX1ViZktDaD51YnNDZUxXSUJ7c2swTQorel9RX305Q0NZZ2xZZTROLSFoRUZyZUZwMmpUQjxu WUpGKDdUKDUmVVFaKmtxXlhEKC1nSEEmMVVLPzVBIWV8Pj1KCit6bmVAZmI1SkkyKUQ0KCpkMksx PyRRZ017I0ZASVhQRHQwfmErcDw1ZmdkaGE8e2B4TW07dkVaQUNQbDtPUnJIUXIKK3pqNCUqJkF6 RG5qQSR2cn55PENKKENPcXAyQ1FDOHJ5aEh7SUtLQld1b2BrLV4oUCRhcDdNdXNQNHtVWGJrOWR7 OQorekNkPiZ2UEhEOHJBSGhMVD00NHYxVm1yeDAyNF9kPSlFd3heKkRMZj9NO1ZrQmVHaUROKl92 fFBsJHFWQENNM1omCit6dkpld3J3Q0RjdW8wLW1DSXpXR1JHN3I7MmF2MzxJYUZRKSZgVDxXfXxC VyVYO1JJWE1vOWVXZys0bHhNZ1FeKT4KK3ohSj80Jjxyc2Z9OGxie214R044NyM/WitlZExrTWF6 KHhufDR2IVF7PDl0RGMrOHU/cVclWWtOK0N0WlV7UF9LTgorenZwVCpSajU4fFl3MCVfdVZXKjVn OCVxcTBKfE9rcU59X2B7RzBTQUdUYUhiSXRSXlh4Y15rKDQ4fG5sM2gtfmdaCit6KDVYTnZNbiFK eE1JITtIayMjWHk5JHBefFB1IU0/RjZITVNzO3lkSyZTOUlvbD94ZlN2Rl4mYF5TT0pJdXs+KFIK K3pFOTVROTNRSzF5eXx+M2tmfU5vMVlAYSpXR0wxYlNteDxSPXoycnt8Z1JqUldeV3xPYTE5Q155 JU9sb1dxb1MrPAorenBIemdReWs2aGk2OH5JRV9HKj8lez42PS1MVlojPlhhS2lpTDA4Rj5aTkRN TjZfLTRQbG9YM0dBRCZUQkQ4VUNUCit6IztnUntRTUNBX3VEU2ctLVEpQ3UqdlVfQSQ2WWIrTj0o bjwzQGtPY1EtSEhBUzh7JiQoNn5YMGFTd35BUiMxcFEKK3pLbUc+V0QlbkVYX218eyRhYk16ISYp RE8jQCloQTVRa0ZCcyptfkp4TWxQfEZFTVkhaTshSlJ6ViglU2NMS19nSgoremRDb3lWaG1HPihg IUxnM2NzIytQeDs1WEBkMU5sdUxmYXY3OXsyMTh2c3J9NVRwYlVwP3JBSUcrZSRjLUsmTCZmCit6 O1U0dDQyNVl3fnhuJmZ0bz8yJWpZenJicHI+S1UlWTg8QCU3TjU+dyNuNk4kXjxIQEs5d3RJZ2oh SFl8aS1ZRXoKK3pXVj13T0VsSzk+MDdLeFc1NTlzMEpCKiE+YHloKWEpX3JafUhmWSNKb3ZoUmZJ R3UtQSktR35aPER1QV9xP0dHfQorek9Eb3ZoeyNMajU0ZVVSeUFtfF41ZEY/VndWOGFGZ2ZZQVp+ ZmQ4TlAhYDlUbz83dGc8PT5KWShkYklESHdwYlRgCit6WnVAey1PZXJaK0dPaz45PWBLNHV2PT9f ekhiKmxeWk8lJjU2Mzd0filzPjI0YEsrJVRKJF8lQEBeazx8IzN5QyUKK3phd19gUE5kcmE8OH5B Y3swSCRCVThaREktYWJ3TGd6UF96PVArI3NFZEFGMkxhKCVfWitCWWIraWwtd3hEJmFnPAoreiYk fj0ocExQZ243aDZ8WEdNZUxUb2ZBQDFaMWx8QiVyXmU/NnxWaWg4OUoxbm5eb15IPzRJZUJ4MWFM T0lfcUEyCit6WnY4QkA7S2JXaTdKVklqTmNDfVJpRzh3Zm4xc35Fcm1raSspKnliJXErWj1rdlhe TSZDLXE3XzYpNGJrT3N1Sj4KK3pzNnN1OV93ZUBlYFpgNDNKTDtzJD4/cj5vUH1GXnEycyZDZ1Ew ITZRYDBsRUh6aUFHQ157bUJ6KT9oPShHKk11Ngorejxza0cpVGFuP3BWSHVQdyQhZXVzeyk5OEBB IUJuO2teNip9Q2lgVH1ObmFwNTRhOUJrJGVsSWFXbFpOLXNOMmdpCit6IWVufEZkJSghbUN8TWVi SXIpMmFOTG4+JVNRajxnZHdlb0lTPWVnaE9JO2lGKENVeEFpd24yZVk/VmRiTXgpcWMKK3oramph KzVjaUs8WUBEZF9ePzUlWlVZQGE7blZDdTh1QztnfnU+SE5OP0I8ZjRkYW1RTm4wfWdfbnxwdVZi TjA8Jgorek5veTQqVC0mRmlZT1MxaUROOyU/bTNZK0hXLWNhPkQ2QnckRE9GdX5ZK05fcVFnSSR0 LW88dUt2fXEpc2VMVGBPCit6WCg3eSNUSW5RU2czaGR9dTVqdGlwa2tDLU54bnAtIzZTfWhwe2VP emFBJmJGJUNVaGU2dEsqJipHcUtVejB7UFUKK3olNHRAfioqWDdXa0p7RkxpeGEhVlY5MmM1M2RQ KkxaOFI9eD9OazhFXmM4SyspS097TyF1Y31gKn5uQ3FIRWRyaAoreiZNcyg4UURmeSZrKG9Obygy X1ZQbXc0NmdfPXtsa2BidH15dylVfXBwO3ErVEB+Zys8RXFGNW8jd2hZaT8oUm5wCit6X3BfSU9g Y3ZtM0IjR0RORigmNkZlazl1RSQxfTtDN3BfQiRrPz03cz4pN0dfOHdOTFo7c0slKW5SVCVmdCMl dHIKK3pUbWw0ZiZCYmJOa2pZTHAkbCl3KV4xRklzTj8pdjFmcW1QOVUkO3lPNkVscGRscTZ9NnFT bCR0M3tPV3o9KWt7TworelV+OG45NnFFUnp4b2pOalV+NWozcmpmdWhiK1N4OG9UcmlWK1BSVFo7 UkhkU01nbD5TT1h8VStfQk9AanFVb3BVCit6O0tgS3BLMVcjT293blYzMlVJP2dRUGlpNkk3RStw RDNxTU5JKWA8VDtPWC1HYXVwKH0xcH50akJec082UE9XVD4KK3pAPThjSWJAanE7KWZxUGRrN1cz YXQ7RipSSzlaWWk9MjNmPzlqc0s8cUI8c2hNZ2cle1cpNzJQVj1GZCMwVT4oNgoreihEY0V7aDMk LTQoUHJNVCtWd14lQnd3fUNPMEJkU2t7VjVDQ0kwWil4WSRmN2xmX35qRCRHUjdaRm53R2d7c3Y+ Cit6TGc2MW9QMHxQU259NGEzbyFZaHh1PUtFQU9jMmJ9NiFgYCpTVkhDaiZLfXJiMkgkOTlWMGhI X0tfMCt4RS04VE0KK3o4XjJ5aEBpYigjYURSV080bSg3QjNJUFhfbXlqJXpBcUVIJGlKMn5JaWIz Qj9oJl5Wc1dEYXJfcShHdCZnPT9meworekA3SmF3PDRfclNmbVVzPmJlaDk7Ym0yY0lsV3w3T0Vy ZjIoWUJGOV9PUjJjX3NBZlgwWH4pODlxQldrX2AjVklvCit6MCVyQ0lKanhGY2QhTj1kaSYzMUJH M3oqPytOd1FrUDJVckJObWBydiFEezhZR352a1QjaW9ERmJhPFVOIVdXZnkKK3okU3Qpb0s7dFA1 RXYldVd5bVl9X183Nn1xMiUwXlI1c1dvfmk5KU5gKHpEQzQ3WlkzfCY8LWJxJnZ7U1Bne0FWTAor ejwjOFBYajFNOHUmb21LUmpibi1yWTVjbCFjOT5HZ2x8S2VrJVNWZV9fWmUqem9uRDd6XktAJG9n cnx7QHUjdzBwCit6TUBPM3JUVFlWWnRsVT9HZ2k/aUROTTl6c25faEwpKE1mYyUyKH1RUzRAeEoh VG45aUUlQ2RzSEA3cWp4eD9ebVAKK3pBaElAVjJafXMpNkEldiNXXn1hbT5QdFM5OU5UWXB3aDJP a3hgNmApKkcwcE1gSEl6R2graUxCKW0pfjJBeGZtNworendpZXZpODdOY1IyJWcoWlg9PUZuNS1a b1FXK2lUVTlvTTZ5ISM5U1pGMTJlc2xEdy15Tj1yWmtkUnBDLUx6RjhSCit6RTk8Xl84U3tMaTtx KTFrNzVFTlcwdHRra3M/fHI3JWg5ZH5oaHs/V0QlcVZHb1lybndDJiVqR1N7IUZTMG8xSj4KK3px Z183N3VCTmhkSTVvbiRjaFMtcWo4X097SSs+dCNIYktvMWRKaDJfKHlKbj1QcUd6cnhPQSteZ0gz KWBReH1ZRgorejY7e3t0JTc+cFVQVW9veHA9Tmd7a3BfQVIwKnxafm9uOFBuUChzOUdhNFB6QmJZ NzBSYlUqbVdeZiYmYkYqJTlXCit6MFBmOWNOV2Z5NzY7b1ZqQVNROHtLfGM9ZD9MSEI/UFNYUjho aG4tWGdDOFM4VFlfWkZYKDtnej14OyFeTHdnVnoKK3pAUlgqYW0lPig4ZFJRUnZndU1Kdl9kcnht Tm83UUB6fVdTNigybEItWEgmMiNhdkN2PWcjcUpaZCRnNUItbjtyfgorelRZNCRCN3RgfiUhZmBC O05BN0VOenNPO1BZRDsrdjRzSHNGTTZZX2NvTEFvI3lMdzMlYktXcl9NRWdHMT8zWVYtCit6cWl7 R3RzVD51TyRNeFBLUjFDIVBqSndhdEFMKkF9I2Zsa3l5TmZiNjRVRCR9YXVpbVI5YDZvPWxHSlFf JiRnR0gKK3pLfldRIVo3UEhuI3hUNlA8QTY4V2liOEtRXlpwYHs7MjtPX3tvYmNRNEdeXkVfcj4/ cHI4JjdzbnJzcUVPKUJTTQorejR8bGYoaHV9JjJtPWk9aj1yemJ5RWB9LUNKLXU5eHRPUn4xb1RD OGkyYmp3bG45dihPRDJiNiF1bVR+UFJJcWo9Cit6U1Z+X242ckJsJmllan0lajF8dmkkK1hfOHI2 OTJSb3o0TSp3cD82U1JLYmR+dTV7ZSR5NmxAY0RDdEBTZXVZdFAKK3owa2VTNXZfPmo0PG5KcExi QVN2RVRoc1gwNC13S05qYSkqc3tLMml1MUtDanhZQH1jfF9LMS1OXmAjLSEjPFItVworelliPCU1 TF5eKE1CJUlobkhZJDI4VCtBQSY5TWRrWFlMfDNQTyF9NDMpb219K3RCSnFEP310fnt6cTE8NEFW MklLCit6VkhYVT9VR09fcFhaeT1MKXMmdzJQNlEwe3g0WDNgcTVvKVhqe1Y1PE9afj9XX3VrfFot QW1HSmpnXmZFZXJZdXcKK3pgVjk5dUErJVNFZGlGfmlpPE5zTGBERk1GNCQmYSZQVk8xTWkxSzhF RHdESip2eXFTdEI0Zm9eRW44Vnt5eGJybworejFpTCpANnV+VXtCMU49RzFZQSpyVWB+P1RKX2hX VktkMk9wPGUtP0MhVS12fUljKztyUz1xajclI01DUWtNeWNOCit6dnpyU2BueHliZGNLSDU1Kmkp eDwjPVZ2KnM5blhLdDVrZCU3Z0JmUzkyendoe05QV2ZCbFk5SVZ8aTdwSSg8a0QKK3psbFZEPmky Wk9VaHBqfCpscVdRKTVFcHhAd1IlVjxAVHEwQj9pWndNUEReNztNQ2UxTT82IUpQT1BKJFNxe2FC bAoreiNUaTlTaUUkKHU1PEJFeDMwdVEoUn5IaH5MRF5LZkFhbU90TDg0bk1hS0l+V0d6SlAzMWUj NVBJNERFfkRzezdgCit6KjY1JGxQZjk5djY/KyN3ME9OSkwrUTxrYWVLQjBtWDNRVXJlWVY9LUBg V05qcFVgPyVtdlRQSHw1JiMwWEAyfGYKK3psaWpJU1ZWSDM/dF91NnZuWjdpTkgpVD1WUD10VlFX RklHazkyOytua30mbTRETypGX2t+SyZKUXRHaUNaekBzRQorekxVaTxHd0ojdmA5UyUrLUNgbDt8 RmlgYSg9ZTJPaFElJkNYNlI3SSRXaFYwPDJOMjkrT3t6cFhNTDxHZElFUHEqCit6dFNPRW96Jkt9 Xk0kJGxeNDdlX0VwNHMrSnYydD5kY0M+Yy1pbERjU1hHU35qYGFORXM+Y1hTfmxBRX0lTWFxUE0K K3owRj8tazFTOGUrK2FFcVBYMWttREU+LXUyZGNyVTNpZ0BZUkpWJjFLPm1uRCVnUElYYkt4PCNL aClmbkdHPjAjbgorelNKQylJbDxAeEVtUWRQfVNJakUxUmtlKTspc1B3YUN1UCNDeXluYjRtZUFV JiZRanhCS0NMTzlOM3l7QDl6JXQyCit6P30yTSpJI0lOb3I+b2w+VnFUb1pFRmhNJHc4WnlieGVr MW9fPmtXdGFKPlorOTtZKEBCamZgRWxmcW9gSVItJHoKK3pFMXBVNGRIaktOO3o8JVV1JEd1WjQt fGZEN0IoY2RocDgrUWhaeiRGdWw7WjQqV0M2WVA+Ynlja2wtQFZNS2dwfAorejZjOW9mT1F1LV9Z T3hxKCFPSnh5R0Z6UHsoX1RwPHFseHJjNWliMTJDaE9pczlMaWQta3haXjAqbmRgPSRHSkkkCit6 OE5RUTg2RUhNWUc2YH1AJUY5SiZqbk0lQD5jdHYxaTV9WjRuQVBOOE8pX21fPDBELVArNzFuRmQ7 P3VkMH1IZCQKK3pJXzk4dyQjZSZAbTI0TlhlNitgbE97NlVoWllGfDdzb204JE5veyZYQ2kyaiE0 ISthPDdyLTA/ayp8QEcpakxDNQorejU/bzRyZ3hhI0IzPnRKQmExemFGcWskaV9tMiEyR05+I0l4 U1AqM0l1YGRgMDZfdWRFOSpUOCFmaUg9QjBeZUViCit6KSpOb2xXcTZ0fD8hZHFCJENuKUpwdGYz JGclY0FYOy1mamVBSmxaPDtlKjdkMj5DS1U4ZGF9fmBaUjx5bEBvbUIKK3p2QTtxUWpCPURTQkde cEwwUW5JMGhEbH5Tb0pzOEc9XllJT283dnY3VHhhPEVgfEZMPjN9Z0hxcW1kcjJqLTZiSQoremU2 Nik9ZmBgaDwyJDIzI2U5eSQ/QjA2K2I9PzNfb1FKJiNeQjlBTSFOK0NaOW13aSkrNmUrZkNCP0Al MVIle3dKCit6cDdSYHwle3pOTyFheWpeaDFJeitufFhkbUAoKyR7eGteOElKe2FlcSRnTWlgV0pO Yn5HTEx6UXVFI15LSVhLRzUKK3o/NWZfVkxwYFlNZS1EalFPKHM5RUZHeUs5VDd0YDV4JGoqQ0Y3 ailwRTxHMDhoZmhuNWVKPElFXldqPTJwfT9fcgoreiNBRjM/RTZkUk1kYms8VjNKMVU4bHE/YEU3 VFlkNGRMS1ljK2BfXjFhUSVZRD57YjlAQFE/c2ZATCpeT0tmVi0rCit6aFYwZGlnfl87Vjt5I0Bs ZE1XZFFsPDtwMUxRJTVsQ3xNYiQ1b3AxKEptckd2U0hIczIrSkNgN0stR0c4NmlONUoKK3pNaz9F TiEpMGhFLTg+Xnx7ZGA2NFcjNmFGTmxAKlY4JGxrb3YwNilnLUVTYCkhbUl0JntwIXRlUSYwMGFS YipXVAorelZSdkJHYjwwZF48TnAmYVgzQzJudT8lSF9sJkpYK2Y8dVVBN3ZtaWN2dGtQdCNzV0pR LTBAWTVoN3h1YHRrR2lNCit6dSl1ekxPTEElaGp4eH1MKX1QKTM/b20yOVdPK1BvOSg7PVQ5RHE+ Z2xjfDkwNXxxYShaV1Z9QXpGVGsxaSVTUlkKK3pON0d1KXZxTzEkSEYqP2Y5WlFTfiMxe0k/QWFz YEAhfiV5THE/aDB8NDxMfERWdm1qLVJAamd5LXd8S0ZLRVVPTQorenIkRnJvclV+NlElZ1VZbDxw fkU+dzQwZHtsQk5IPDVQSkwmM0N1PCNFN2AmN2BXNUZiSWEoN1psJUBETzh3WlctCit6KHlyVjgy UypXJUcqdlZaPnYkZiVxMTBEMlAhWFBiP2Y4cDRoPF8zWm9eWlQqQ3lfaDtQczVfRXhAZjQ2b14o cSMKK3otfXEoaCh3d0sxSVM1bVRAbE8hVCpXM1grU0lKSGU1eVooKzQpbWNpd1FrYT5Mbj4pYUE5 SUNrX0ZVSS0xcGttRgorelhjPHk7Qz5+TTNYaXB5MHszNmoxZlRMWWdWU1NlX19mNyZRSnoxPWtq V0tSVDhXejRmSHR1fGt2NCF8dDJ9VDtFCit6QGV0NTkqc31jM3VtU0thLXdaNEUlTkU1MzNGQGhN Y0ZkfVd1R189SWlrI1k+WiU9bCREai05SnFXR1ZuTFpJfTUKK3orfHVYUVUtIXI3dHV7S25aPG0o RkdqYTQ4YHBackUpJEwlKjBCSStlVU92b3dQdVpSNnlyWmZNdVYxOChTPXdMfgorejlIVUwjb0Am Y3NlN3xaRkUycEg0cndCKUolX25RVHFXIWRgTU57OTQ8fD87WFB0SWhfbUN+OGRGWFlJJFVXMUZq Cit6Zn49V2B4ZTJvIW85T2RORGl+dj5hbSFrUmJSb3JlPXp9VkMjKks7fUIwQ01vMlR3YklaJnte ST00JjNRPHp7dHkKK3pBNmVhWV4ydmJNV2JgP2k3bV40NSZUfWE4MzMwQlUkYml4M3ZWWGdPP04x U1daJH4wSmNqa2tjeDBHdUwjeU9tWAorekFENTVnNXdRI0w/LXElPWg0KUlYeWVka08reWZAR1cl an1FS2tjKXB5OUxsem10TDZyUHc4VDZ5cXE9S19kSk5UCit6eDdzI0pvdUctKSh8eVZsWipOR0hW aWp4UHgoV0p+RnA5bUpjOW5aPlUqYDA2YkY2eUJzY01QYjh+a2NwODV8dW8KK3okPF5MMkMmYFpF VDMjJFgrekZ1fUtWLT5ocztLNzh7OCtkbmRzPWtDVUV5MDtwc0pQN0BKWlo1NDtIUklRTH1+MAor ek1jbk1Db0VlWlVoVno7VFkzIXswY21tVjhkJnZqZypXO0pMVkZVKVMmeUhvPkI+T3EqX2l6NWpT JnpwZCF1O1RjCit6azBPV0tMKXpnLWJFcm98Xj1mbj0lPk9FS0pYd3daU2h3enNmbkhua3hUPGZv dDAtWmt2anxMO2pmTz5RS2FhYl8KK3pYOGpTIXtsSUpTPDBhOVRtKnN9eDI9MSNOOyVlIVpMLVZm ZTZCcnIyU0tCR08xbXFePGFSfDJ4dG9XcGghSHRsMAorenJAUGZ5e01qITxSVzlmMCZpMylfbj0p aXs+YShDMmJHVkRZVHZ2UiFoQHlvSnk7b0t0Zmk9YmxkXnpeJHViez1SCit6ezZYaVhFXllZbz4j PWA9OXdBRFVZN3ZYYkpUPl9EQ3khKXxNPWtIUCZrc2NNREt0RiRIMCY7JDEhT1Y2MEpDOXUKK3p4 MD9NVjUxaU87JkcxWXl0Pyspe1FDZEtuPiVVUWt5YUBBSUZCPmNXdCtUdz9fP0VAdTZudWNSZ20t eW4tcjMoXworektaZ2RNMTFtbiVRWk0hdzdaa1J7My1gfmZ0KG5uMkolKWw7aEtMe1BkTUxWRVlB R29zUihKVWNCQUB+KyEkWX5nCit6X3I2VD93O3h7ZV9nRTVJdD0jeipjKmRUey1uQk5jJnRyd3xo OVpvPndOQzMhMGp7dWE7Y1B4cHMyMSg0QEQ0M2oKK3o4QWtXVW9GaW56eTA0dTZDKmhwOTImK2Rv anhlbm5tWjY3JT5QYH1XK3FNeTJOTUVXQVpXamt4UzMofS1fRmNeSQorenIhaDhuOEJjfTEpJGch JGBAZThgPjhPbHFae241PSYjUFVvT2VnSFg3WTg7N0M1QmNKPT8rR2NCcmtfWllwVEJGCit6Xm82 REtrT2J8QWJpSXc/dnJULWxwK3JiJTNPMDN2R3NRWDZNV2BgOXl5Sno5IzR7VnFaa0s9ZSlEWUdY XmlyTFQKK3o4OUd1Wm8yRXxUZzBlcDluOGJZKTVvci1LNlpJQFotdVhITClxNVFFREJGb0FwcE1j Yll7fj95TDlOckZKRTRCSQorellZTm02bTR0JDdjPlV8I1pvWFh4YF9kcipYRjVTaDIqV2tPS189 WG4xVmM+eElOMF5vTCY9cHp2cSEkYDtZSWp3Cit6KENjP25KTmRMfDVydGoweEpANUwhXkxQN2Zi QFEmKi1MYXp1eCgyPGhEcU58ej9+T0EhdVVGLT1hb3YhK0tzRXsKK3pqfVgtZW5xd0U1QVYhaTRy OCRsO3ZkOV9QYTxBQXVYbGsrKU17TXlQT0IkNzVubEV6M0ImT35rSDVCUWE1PEg7fgorelQjMnRQ ZDZPLTQkRU8/I25oI1Qhd2k1T1Z7KFN3eD4pY0ZwXkY1dGpHdVYtNSt2aGlfU0U5WX1odTc7Y2pt IUQqCit6Pzw3RFVEbUpXQytxMHhPTmNKVlM8bjVOKGoqWE52cj1zVHE+UzNaRjwmTV5pK2p1PyRZ amFIOXNpbXs0WlZWOXcKK3p5Yk1rMVdBZnc8Rjh5Sj4qUzdBYUtZK0t4dz8lRWAxYWslb01TYkIw elBRYHZuMG0mJXQ8SElPdFhYcUUwVV8wSAoreiE2eGx9Zmt1QW9laGcoU0hYMkVHPE8zPj1Mcld7 VFVETDZzZCRMR28oXj1nazQ5c091NWZ5UzBFeEBwPWhAdT1ZCit6dk9yenJ1SHVYYGt6ZWRBQytg ekpUakNwUzFUcntqKzs2P2pXNVAyODhnclgoUGZZVXFjYm1CZzw7WFQpVkxPcSoKK3o+MytAMWAr YWB7UWVVJExDZFEtbzd1MDdyZEczXk03a2RZZWJSYF4jc34rXkNxdERDR2lzKFgqR1Q4PjI1VD5u aAoreiFHN1prbTQ4UjxuSUIyclJ9MDhMaHI5R0tQSG41OShrYCp2eE9OYiV4U3tSQik0ZWQyN0hj fmFLTmslYD1LSUQ7Cit6WH0rQDVtVFJhUVZ2fHZDRHMwIyY4Wjw5Z0FKMmVwYTBlfmZfbUB5ZEZF PFlkUSNFTj5QMUtYPXw2Qm5fP0g0a0YKK3p6ciMlTTZ+WHN0UDYkQDN7I2RMN2BuSHx3OTRSXisz NGo2VWxpcmozQnIrLWJXQ0cxfDdCd3lKZ2tySklkaTJIcgorem9EI3UhcENgejFZJmgocyRVcSg5 d0NzUEdvP1JqSUReNjBBTG4wNX1ZYShAfiFDWDhQYS07OXY/Rm54ZnRJUVBpCit6Q21wV0E/ck8k YXtTbFg8WC03aSZCQCVPdGd3dH5AY0skMTNTP2o9YnlGYzgqVlV4YWpnWGNoJDxTVUg5OG0jdmcK K3paYU55eFM2SVJAMEM2JFpOJkRFa2tmeDZQPitIS0cwV0k5PWlRXjYkIzA2P017LT84UW5Lakt3 MnR+JT5iYVBDYgorel5kelA5P2FXd2V3QWtuQmo/Rlhwcm0oVUB5cGhzXmlUQkQxWCkqbjJZQ0Z6 XlVXLSl3WE9RNGphOyhCXyVjbj5YCit6WmgkRjByPE5pRD9CNHlZSEBYNHFZNj05RGZUKnYmJDtV RzMqV1VjK01SNUtuIThqakgmKjR1cGVxQWZFYTYwJVoKK3pYeSgxQlkwcl5kVHNTK0JBZyZuV2lA QXVPdjlJZ0s4PjA8PlZPSjdVXzJIM15TX18xa2c9KEpPT0lqPTZDKS1jKAoreipLPHReWH1yKXhT UWlUQ2lYI3smd2FvTVJNQyk3NGp6TypUT1c9LW53cTkkRm5he0BpPDlpKTNuPmx2YERaJn4tCit6 OFNZS1RXZlRENEV6c2s1dWc/NWlQRllJYmx2TkVXdHx1VWhiSUotYGFMVyhOcWdyYnE3UHMzRFpP YDRKXnZ6UUkKK3ohOWRHdjY1Ulg5LX4yVEdra2NWSG9DUTV6S2VVdFg5Yk9Vem4yPG9jSDBUJFU9 JHk8dTQpPCg/Zy1vczJvfmNXUgorejhxcmlWekU0Y3tnWTdMSmxWWD8kTT81Vz00I1dPfV93VGJP e1pSejtOeitAcSVPfDh+JmIwPD5mQVYkUDR2cTN4Cit6emhONiZ1Tz0mTj55RnUtJio4fnJjMjE5 OT8pWm1vbmo+JU4xa3FybCk7YnhAe3R+QGE5NyYrViZBMEZOMWdxPlUKK3pedDc/SkxDYCoyMCNA UGh3fkM7V3F5bDNkRSo8bm5SayR4eHd3XkZlQ09qdlNmY2lhV25UM04rR2kwMy0xXldxKgorejNw aVJ9e2IyfmFrMmUlaGlyJHEraVhnMFBsX3o7MS18TWxzK1M/QHR1TUxfYnJXRiojYFc5T04+KWk0 I3NNaTdQCit6WkokRnAyV0RAeElRezcqSyNCKj14NVBsQkN2NEY9Qko0WUNVO1JNXzNPIy1JZ3B6 aWBEQnVaek9rKVlCMGMtTTsKK3o/NntaWT8jdkdAbntLbmAoNyVIfV58N0NTZGpKaWE4UkFjN0ZF Y1VjSmZTYyRLdTNCO0NjVmkoRjVOa1luWTdBWQorem4jR2h3QGE0ZldpOHVQZHVLZWF3PSQ4ZHlP NC1QQj0xa0l1Jn07dWohRnowaXBDUChtbk82UUsjMX5yankkUzJPCit6JiR1UH5MTVpaR1FIIU8k ZEJjfCFJQWBXblV9aiFQeWFSPUtIQz5WK0V4KzltJTtvdm5fPj5vTUNtZFJXeSZMdjsKK3pUUz9I M2B7NTU3IWE1PnlKcWU3JVRlP35yK0ZWUjxYY35EJWNIaDAlTHUqVH1nb1lJTmg1UGZke0xgez0r fCQrJgorekA+JHlSP25adlU7S1B6SipEZnJNI0gpKko/aFRpdVF5UCMrfEFXblYmZ3dTMDtte0hn WEk2UTJYdV4hRXI4Q1FTCit6IyliWWAlLX13d3J+UzdFX1V7e2U7I0QtQENqRGFxcng0Iz80QTRQ ZSU7aFc3I3syfV5HRWVTQG9Ed0d6KV8wRH0KK3pleVR9bFM/dTtobEE7ODZKR2s0NEojMjJyUnMr Sm9xWSNubiQzUyFfVH5gd2c1NEM3I1RRRU0zXlFaNEtKWDJKWgorel9hfmQ/R2UtfH1PPDc4KXcm ISgyS2lGUXlaQXV7KkVJKThqRGE0eDttYXYzTFFGSDRfZDJySGcqJXY4QFE8ezE+Cit6ZGp0WkJ1 OVEkTWNMO3luTXJKUkthPFE2JiRYbko/b1hON3d5TTZAWiRFeDt6OXV3Zzw3d3N2djIyJUNRaTZ0 ZE8KK3o7Nz9OQjk4TDd3ND5MITZGZFleI0dYYHdRSjFEY2M8MVdIJGBGUFI7TUFOQS1HemFQPlRz UFFESFImWk5NfTkoQQorenQ2RGVBMS15dzlzWE9raHMlcn5HPDxKPkdRci1fa0M3dlUxUyFCZVVH PDttPC1VYU1yPTlNYlg3IShsZkolbVZECit6NXpvVSUjTy0xfF9ranAweWt6SSg2SGR5N0Jzd2wy SUBgcXROZjVzcHJQZjszaX5QbypxVV8mMks+bmorZktxdSoKK3pkXl96bHc/NzYlZENIa3U5O2ph KTNhPnJgN1pZJmB2PiNBeyU3Yj88Ry1PUSZuZnYmcnM/NyRKUF8zaFZGdmdAKQorelQzanohTk9M YiYpPzJBSUd5Yng/YE9pcTZmQWRWR3dZZHYlVmJMKytLKVEwVzt4Slp3OypgR1RlWlV2NSN+eElZ Cit6UzA8VXlpMXE7OTkqflJXXityZ2M/JCRUTzU7UzdSRjNCb2hDVFZyM0tleFIhKTNIM3NfZXo+ dSlaVzJNLXF7NzYKK3pFNGA/VmZEYUNzJV5jYG9ZdyhnX3hMPFkkZUt1XllFUkJqT1F1TUopJjFh eTFTSmJMcnpZMm13S0p3c0JYQU5HQAoremRIbEVtPnY7MUd2QWNGb3N9Sm9HaVFqeGR6MlE2bUk9 NmJHRyVZeHlaK3BpdUxramFPYX1waGlIYERycSg5dV82Cit6UTkmVXVwSilVMDh1ZjNUb2J2QC1s WSElakNnVFFOPXY5fU1PLXpCMmxFMD0+YzYqfjBKVk5jRHo0UDFXQUxCaXoKK3pXRXA3OTgtbnN9 O1BVeTF1PCZeMVBXXkRsKkorSDhjJEAkcWs0aypBRFpSfUk/ZVFWNHgkVUZoU0Z+elhwPTYmUQor ek87eHY3MT43TjtaUnZ6bmdkVD8oJnZEMDdUQm83I09CVUZybk8yVVgjQ1lVNnl9UDZJb0AlbjYx PkRjd1g3ZXhJCit6VExudmIpTmgrVDxHUWhWYlo+YVNXcG5KP19DcnBhX0QkJUY3bGNAckpBdDth VDgzKyRadXxvTjJTNyZ0MUNXMHsKK3pMZ2t8MjBSUn1PMFJSeUdGOTdMbTtfbSQ0MVhBZ0xDeStV c0hnLXAmMnRUKWE0SiZ7dCRsfWhLRkgkfVp1KG5RcworeihXZld6JDVJUF80a05XQ3E5dGdqTk5C MUFLREl1bXJ4VWRrOEVJPTBVV2dPOHZVQWVSYXgrWCttME45Pjdub0NBCit6WiVMRXRTfkB5N21S c2RELW1VWWJwUjZhQlJ9LWRtbUVGUS12b3t1YXV1QG5gTX1IeUQmX3A2PTs1SGglcDZrQUIKK3pp aDdyMGUmbn4ocVdZJH5pQXlhUndLe0tTPnpxXkRTfmtrVlN+O0hlZGY5M1JXbHB1V3hRVXlHaSoq SGVRY0VnNgorelB4UThnJiVGSnoqblUhKlkhajkyO1VzMXppXmlwOGU0THo7akBMT1hIcXo1ZlNG QWRFeUE8QkVzOFBTX2BnJkspCit6YmctVzk0LXw1JmJXfT1KYF95VXxWbTE7MTJ7YnBwPVNWRkl2 Mjs8emQ9ME1zKyMqLVdTX1RyOE9LZkRNNVZlcHkKK3pyUTc2WiR8Y3ZSJX1sSjtVLUFgPzhhSW92 UXJyNTxrIzRvQXpWYStfZ3FjLTRrUzI7PDxpbHZnZmoyZGlKVmJiMAorelc7MnIqPX0wWG17RTRk O1pZTF5JbV8mQzxTVWFOWjhlKlpaJnc7NldVYmZ4fTckc2NDXzRtRlM2PW9vfl5zNj84Cit6MC1+ PkU0d2VVMi1QX3NWY1ZyJjZqKkZYdkRFOH56WEM3d0RwIXJ4b0NoJipyZnBkc2tYJU1MTl8qXzVQ azNZXj8KK3psV01SVnhBKD1hfEV7aTVRdmA2dGojZGJraUNUYj00allGPUVFXlIkLS08SkRWRTxN YFpja0YwekVTK2hvbmhrRAorekYtJEdWRDRCViFpYCRAUmx5VjR8e35qJDtzOGBaUlpAN294KTND cjRQSUBUdXF9SD1kaTtxST09JCVKeFYqT1EjCit6bCQrVHxVO056bjl1KWZ2ISMhdUgtTCpHNFFw MEdFTG9JMFApPTU5PENINGhDYmhMQFYjY2V2aTZ3YDxkeXcyNlEKK3okaT47UDVASzVtcWtMRkRo fnsyI2ZuQi1NVGlRLUJxcGA4cmVgUm85Y0FEP25SWHZAIzFHfHVqJDYyQFNDJmVhfQorejh3Xz1S Mld6Xz0oJnh9I0c2JXVmRShaWj01WHtJQztvN2A1OEArUSZ2LVJ5YDBnSClvWW1SZiUrPGEwfVUo K1JYCit6QjYjbVYlfChRSHZGXypMUk9VTzMxVj5ZeTUyPUtBa2RmZ0VlelUzU0F9UyQjWWIlPl5y NDB7U0N8RDUkWi0pNiQKK3pGfkBYR1NFVUQ2Jj1RdkBrRX1TdkY4UmJRKUxOX3w4MEdBdkFhQEU+ O2dIUXQjfmIrRHpeJmYoTUc/RCgze3Y8YgorenU4Y09DPGJzZW9eN29APGhGa3QmVXNoUG5SOXx8 U0swakdzSllQVDVBPUBJdTBFfVFvRyZJN2VhWVVmaDxPRmBwCit6Mz5eUmc0fkota14ySk0kX1co Pl9KYFk4IyEqYTlKSVZqI05yd3Y8OXQlbTczRFheblRefGd7cEU5QHNwc2wqMFoKK3pxPVMqOFAl Km54Yk1NSW11PkM/UWtpb2wlX3glYHg8P3ZpckJLajMqZlpqcyg4Rkd9X2dTVlBAV0FQKWlwSHJQ OAoreks+JCpeMGJMV2RsdylJQSV1NlVpa35YVTd1N2lJUmdmd3VDM1RUdF9oQ2xSWXBVQm1hZElr OXVvOURnZXZYUFBxCit6ezB0TEk+Syh4dzRoSWAqYlN5X3UraUNveW84eTVhYik7Y0U0NGM3dkdG P3xNNmA+VEEtaHdwNWQzQ1A2XjBsS3QKK3pvODNzU2hrZzdFK0cjLXJaKFA7UUZ6SiZYbnZsTD1N WHtFU1A0TTN4THImUHtnQCtXZUtyaDViKGlPRXdhckRFSAorem1XdUJfVXtnZk9JU2c7P3F+UWIj SmdJcShiMWBqbVdTbn55JFNuRWVfX2N8SHpvRz1kRFk4bkM9I20hdDFkd1dVCit6KXBEUEk+WVck b0dITjBRXjN9QChWSlZiSmUxI0R2emxxfVdwekpNVXNNM0p7bHpePEdrJXglemVgVlM/Jm5WM3sK K3pDTGgpTit2Rm5qPn5seXtwM218dFklZjMrQl9feiVqRHdwflotRThgPUFhQnkzSCNiR1pVV1F8 Kk5gYGhBTVhwKQorem91Kml5Knx2WDBlOGdXM2xkVUY7anRVd0whe2VMPEdwc2oyZSt6KFNDRCMx PndBPmVWSWRwdTJ7SD9Jc0tKYjNXCit6czNjME0rUHd1QW9kazVgUzc1T3RXMypJUWsmdS1RanQ+ ezttb3lnTGZwZyRhRUowU1hMTH1oQVAtPm5OcWpxZSsKK3o3b2xEQENZKlg/TEhSQCNfUE9OfntA SjQmWiZsZjxGNXtBdnxIUDY2SDxnPVN2ZlFLRyRLMVk0JEhgQkwmcmRWbAoremF6TyFxdHtgMXJ5 d0JgcUQkdn13TSpjSVB3QEgwd2Q7eFIhaGBgKkgrSjM3eipySmtSYzNwKHE2PT4jKTRqUHNyCit6 XmRlWSVrNjVmbyU9aFpQLVErPWxZekxnZkV5Jkl3U096eGBXRXYwS3J+X1pVUkRZXlV2QSExKzJq fHlEM15QdykKK3p3M3E7ZnpKRm0yRllGWis7KGppIyhiKld0IV57RyhpKDdqSz5KbCpsdnhsOD1Z fElrXlFRe0dmbSt5MWI3NDgmQAorenZ1VVFaPUhJNFp7MjhXPW93PWwrbCQkeEk9UUYpbWFwIX5t NT1nI2c4VWUzXkc4cD8yNHRfVSVeKD9PRnN1PU9iCit6Kn56JVFlc2JRITl+REtaUmc9MGlTRll7 XkB2fHZFMD45all0eHZYKSNVTWIzeS0rYUhjMjE0T15eWiN5e0VEaHsKK3o1SWx1WUxBeGple0Mm KlBqMFdqWjtQWlZ3YWRVJVNuTmBGbzk2ITJEQ1RZdmJYJUJRZGNVKk1rdWtWdktfOD4mOAorenV3 IW07QS09QFdzakRmVClUbEkpN0U5KHlUZzxhJWBQdXNUSylWLTlTaElTdmJ0YjYpM2xnYkhLZG5E JT50dj9tCit6Mm87MTFofVchMU9iX2thRXt7QnNEOTZgVXQwMlhDYmpIaXFyYH10VmgjRD9ySGgj bWNCR0VQanp3Wms3cXg4cGAKK3pla0JJPVpOd0Y0QndiWjd2KW01S0xfPzZtUWhCcDhHXilNTjtr SG0hKEUlYWFgaGdgNUopOWpnQ3l9UT5Rd29KWAorektCTmt6JkJEaj47RyVfWWBNUndjYmU9Py0l Z0pqeFFRWVRxQytfWUo4M2hPJiN1ITM8b1lMQlckY0JQcXZPU0FxCit6NVpJV05xSnlNPCpFRWRn ZHw7S3dMYENFWF9EQ0A2OEFjO2FkUnV4dypFU2VJQ0MmVmxhVyU/aXl1NSU4PUU3aj4KK3o9bUl2 QkQrdytmbDdKRno4SSRuLTw7RnFhTHpPNWoxMSVAc005dCF+NT9jVm1lfjZCVHA+N2peKWBQe1gy bChYaQorent+XyQxcUNeWH1FWVp4OXdyJChDWlFIaTxxOzE9X1pRSGhPK25KfSZlZjZzRHQqKlle ZHlNI3Z1XzhWcVYkRDVLCit6ejQ2bHI/NVkpaUo7eyYjUF98ZHpLTnU+ZSRGKkJOU30tOVliJWQh N0YqLWtBQVNSb2BlKTJVSFBEcXBGVHclZkgKK3o0Q2IoSWYoKmtkOV5vdWo3N1QxUW9qMjI+SUh8 fGA/TmFYWkszRUkmcjBrTlBuVCMoZHJ4ZT11PkowTCRneFp7QworenlielImXjQxQ29CbFQ+O0Um ZykpdGZqX3VtbzlJQloqdTx+JDJRdlR4QUslITt4MyZ9b3I/PyV5cnpNLWFFN290Cit6X1pIVTRg UjlWZG9QeDdidFE+YUlgVGgjVHY1QCsrbGMyMHg1U3phXkl5PlRBRUVyeExfbUJ+cSYwQHcwWkZk ayUKK3pBdEREWjBtem1XKXZoN1BLb0lLNSRALUJVMzlKKiltU3doRDkwSVZ2JE9MPiVAPEBAN0Vj bFcpMWFZKkJgY3ZgZworemRaY0ViS0ZEKVdjeElgOVl1b2N5SVAkZ0soWGAxRWFZWkFqeXhmfmlS eSRCY3k4JDw/X0BSdSVJdTxqSW9FMD9UCit6VVYkVT1objgkMDA7aldsIz9nfGEqX1FfMkNpU3ow Mj5Ic3crUiE3Sy1mMm54SXE3bHpDJnFDK1pXcDgjRis8R0YKK3poWD84clo5JV9qZGQ9N0NLNHtT UEhnUVpsb0FMUzxoLThrOWhyKzgrNU9sT2J0MHVWXzgoXnY2TiYzWmhRe0dDNAorekdzdHRgNTIo NiY3VGstdDFEREsxYlolViRuNEl3UXVhPSMoVWtXNHg0WFBvKzJPOUhGQDd+aSF1e1kodnZhN3Jt Cit6dnJ2IVJFeEwrbUA2SV5FckZpMDdSP29TZU1WbjBhc1M9bjA2T1IhK0dlKCgxRmNxSXE4dXxX JnwzMUpkUH10QEUKK3olQklFTTJ3fl9HUWBnRSokX1F0dEM3eVlaSDxRVm1Me2NlIXRzQFVXb29v e1drMG1vXy1sckh7UXEoaGBCMmh0Vgorejc/TXk1NTIoeENPZSU+fFpuVVRvMypecFNie2tSJE1s b0hMcDt6MHtMViUySEpZRmA2ZWBaJH4jOEw+QTBwN05jCit6OWwmb3ptWExiRSZPVl5WU3dqdlcz RHVwaU9lcEhibkRKRjVyXk88VHg4alpEVWtwcmh5YTQqfUxPK2RfYFlwMF8KK3pWRWgyTmpJYWEz WVBefCRtX1I3QzcpVDxnMHIkWVk7ODI1OUZyaTJRaVFTTnBiSyptZj1EcUN9O2U5SkxDI19oQQor emhrRWd3KzJRPEVedyhZPWxqey1JPzZDLXhTZmVhYDJoVW0rKEdwI0czfUN+RTxzIURqNEpxbm91 ODZsJFYoQVV7Cit6IzIrcT5YYjxxdjhuWH5QZ0xkMD5LIW5yOExzfD84JGxSaDNhOE9JTDModEh3 N3U3UykkIyhSR3Q8ZG8jMUlRQkcKK3pfYWkmMTYqKzJoXyVSPGcrSGtefHdvVWAwLUxYWkU4RGM5 I2ohKz5YeW0yei1ocDw+RigrNmJfKV4lcXhmKjZHSAorelNmT1FpSWFRSFVAazRkYUwtQSRFNCZz SVZgKllFNyFNbSRiek1mZl8zVG1YZjZuT2dISWIxSV5mVH5WcSMtc2c4Cit6MFAtOFlIaDVIZT93 amI5S1pFYjFWeUN9LWp+alYmKDRBPWBUZW9nTUVaKWFfY2xoaHNHPH5odlp9bjwlcz00MH4KK3pU dms3MFZBYlE0enJYMEh6KCVBT3tkcUl+YXYoNWVAZGorYkJlWEs8JU43Snl3PkdncnI2RUxaSEg+ dykqNWNfTworek96QiU/eUMpeyswZGU0aHhgRVZtOFdFKV8mVEd4VXpkMTdTOUtONnxfeWZjaTdv VSUkJiE2KTxPem05fl5TNGt7Cit6Xk9uWUByJkoydGhqIWVNPTRNMn02bSV1V01eQ1c+WVNac2s5 RldpJUZrOVBRWl9PdmtveGFhVDwmTW99TUo9azAKK3okJnFDMSp0NVVsM3dndmx0YCsqKCN5WWxn MXs7Q2lBRWBPXyFFRGQ1Sjk3dE52SztSKUZQZzJPOSU3fFNOZitjRgoreld4UCFeZmZWVXMyUz99 V3dOOWlOTm03Q3kwS3w8YG9GR1goZDd1T0o1OUBXeXtHZFV9JStsXi1RenpWXzRzYktCCit6al9A YnwqdipHYTlqeFU1Qk9KQzBjPVFTb1hjbihIcXs3ZHE5UUUkd259eEB6JFNgPnI0c1VQYDZpdERY UmxQIzsKK3pJMCRKYj1BZ0VeVCFraEIlRnB4QUU3JipNXkkqc0lFcFZSTSQ8TFVPI1ZjP1U3X2oo TWlGNHNATCNqO0NESi0yMQoreiZiXiNfI0ZmNH49TGlrcW4hZmB8dShjOUtnPyVQY1IxQFZEd1BY MFomJnVZSmZaXyY3U09KP3xKQ0MhIz1tQT9+Cit6I0pmSVIzV21MNCgmQ1IlcW9laDglfjV8KkB7 MldWJWEjdV9KPyglLXNKeCFWJDVDfmBXQ0BEZSthbX42O1lvPSoKK3pvTHg9c1MxckAhez96PXFG ZHp7cTdzRHdYdTt8IURCZCo8QWI+clRTckg0JEQxbCFnTnNxTVRUOXFoVD44dS0+TgoremdZNEdL ckZPNTZ6ZW5ubWNTOGxKWX4oX3NxOzNLIT1tY35vK2VkRTRBVWRgeGx9TjFJYzZHdD1iSXt1fDFG KlE5Cit6P3Y8MkpKJjYjP090ZUlBS2o/JEBJOTV2K05Ye0RPPElaKzxIOEo2K0orOWYkaEVDSDht QitFZyZpcXdFOztXNXIKK3o8WEUpeVBURGpVNX0hdnJNOEZueEdsUmNMLWRnUSNvN3NKQG0zPDFC VDlzZHkjeXoybWBNemJtRD92aXEjaHZVYQoreittSEhlaHBUaVM/Kn1RT25XRmFybj59cDFSbk5w fGpFbWVCRGI9JHBkQlVKbUQ/cWJQbFZBQEhKTE1iJHZyfH53Cit6YmRvaDNTTFJPcygxZW5GNzA0 SjRSRDZPMExtdjNjWitSQTw5SGE2Z2I2JVl0cnc1R3FwRjtmM1d0bXhjeVJUeWIKK3o9a0VRYzA3 flVZcyRecX4pSlBhakBmMkR0RGdMLVJqPWhqRiN2U0lfS2whVGArMklkTFVIcktSc0RAQkg8MClC dQorejU7b3VSc1pZVUB5YGNLNV9VMjA0JE5JQ017anZ5ZGI4XldwMmVOZ3U+XyFxeCViUSZvSnpo KFckfnt9U1dhb35gCit6WFVNdkhpTzBBeEZVSU85YSN5TSpKT2xHbChQMCRjSTlXYzxoZjE/Oyhj Sn5OYzFlKCF2TWx1YUc0NlQoaWM4YDUKK3plY0dFMjwocEI0IVdeI1ZTWjBPc1M9SUFtMyU9WX1p NmV4elFQdjZFNjV2I3JZTWIlV3c+NGclJWgqaTwoTW5qeAorencrd1NNLW1fYyZgYjBZb2Nvbnxf NUxscCNXcWlyPyt8TFFkam16UjZSWEd9Vy1rbEYkRCRSaz0xbW9VbyhqbUlkCit6QjQycHRrcCok d2J+MkFGMkZmSkVvX25KezxPakxgV0V+WVVpNmNgTiRsK3xhVFkwUEt3YmJ8WE95ajYpUkNuRnIK K3omRz5MM1omWFAkWWFGXlZfRUIySjFCRUF9JWReTy0kKld6VWZxS19KKkIwaj8/dEVXITQkaG5s I2s8ZnJObWoxVgoreldYVVowajY0dTRwUXBaMnBiY0I5NWJoZ3xEd2A/aV99eXZwQzFkVkNSY0Nw a0FXWjFwQypJeyZAUjlsViU/fiZJCit6TkFJN28jeT0hQntJKW8rQUFjbl8pcWY+NkYjbSkjT2wp Mk02Vm11TT5ZOFleemVZXiNAWlBJeGIrQzBRU3xYYzAKK3puQng5PG0pa2RrRWgzQWtQezk3dVFx RUpOc0xqTzVQeXRfYElScWw8MzV4fjRIcFUxflR9QH1+Kil5alRSR2dAcQorekVuZj1pdVRyZVcq XyFvPkVuNk5zN1BsbXE+b281clN5IXY3KzhOdnZ5alkkaEtYPExrbilIKHFPVllKVUt4IXwrCit6 VEdXIXVGemolelZwP29EQ3R0b3EoTV9wYTFEZkxzWl9CT0c8KVdJaCpAfWpKdnpNOSh1WVhCNEpz em50Qmt1SXkKK3pyRGlpMWJwfVNkUUVecSoxOSt+UDc9d3NXdTJ7TjVWZjgrU2pDKlRBS343b0sx fDI3S1JpdiQjKlZINzRZUDklUQoremx2SCY+SHJTOGUwQyRAMktsNTw/ZDE1PUQ+PVkybm5GM0ol KWh3eDFCQXNCfXl3UWphdDE4Kn0oOzVHMkFoNEJNCit6S3E3JkorUkk3OzJISjwtPTZsRiNib3ZQ c3I8IzNfPVBeRHJ1JjcmdG4wZG5+ZmU4MElzYUR5aEN2dCV7MSE3UHMKK3pvUTRXPVUwZSZmOU8w U3VheG8xTXNYcURqbzdjbWZnWUp1dz4rKTRid0hzZGJkKHk0PkFqUm5YSzBMZWI1ZlI7bQorenJC I3dGa1c4NnJDVVQ1MkE4bSZaWVNZM3ZtdHtibVV2R1JOMFomeygyKmlIITY4OENFUE1zPGQzaCN3 ZTRpcDhnCit6biozTmJNY0Z8RXpITzYmWGY0YH1LbVJVOFc3c1hhcGJBJms0JTF+ZGlpI15AVHZN RnwhKiVyezJLeCplcUUqbD8KK3pkOFpNRXQtPCZPa1RqbUpZU2FoM0tjJnlTSnRWUG9GSFZDQXtQ YEpsZkUoPSgjQWpRK2RiYT1vZldgcUhtLXBtUQorenc9PTdrSDFhNVpoel5KYno+N0M1T0srdnBr WEY7eSU/eGRBZ1RkX2o7aTRoQG1YTSpWIW94X3UpWGcmfSUlTXFuCit6NkE/U2VSWUpGTXRleCZ6 WF9SJVZkaklYfW80NVYkdlQ/Xk8xaCh5Pkp8b3VoajNHa3NyIUNuOG1SVlpybytsNCoKK3ope1N4 QF9QSG07c0MqXmY3IUktTismcV58MnFQKlg9fWRxX2R6MFlkP2hiVTFhSWhHaDMrVj9lX0pWQEgo NH0+WQoremVyPj1fZTl7JiF1KSg9fW45KHRVKXQoWXlaRF44bHtHNz8wT0xIMU4kS3h7bXZPbkR0 ZkVSIVZ6RnR1RWkheD5rCit6RWImJDRBWHtMZCZANFczPmQ4Z1U/WWB0SzszMjlwdHY4ZlRaRDdp QyN5Mlc7PnFHKDh4UjkqT1Apc2RvbTNEMlEKK3olb3MtblFSYG1sK3pnYHAkJjl2KVJMeGctMVVi KyYkQG45WE5AJEx4cVVpQXk0eH12RVBldHxSbykoSV5iUT98VAoreklKczc9U2JKdmUmdiVvQHRJ NHhpe2x7SlBvOWo9elRrbDYjMkhwRGNtZjl0Xms8KUpaOEkyISg/P2pDOXV7LWFfCit6T09tdCl1 MU1pdGsqaDJiZTJpa35aZ2c4QWNDJDdqOEI4PG8yLX00IV9iemBPazh7OWk9e31XZ1AoRGtXVnBv aEwKK3pMJj4yP0R+QyY3eztzKXk7IT5DYU81YVZ9eykjMjFmbWZJNWpYUUBmeGo1Zl40ZnpSRDR9 dW9Lc2UwcGtQR1c/IQoreiEmRkIxKy1kPTJlNExtOWxsd2NQYVFqPCktWCkrfXNPdyNYJmNYTUVk OGc1QEduU2pvX3lsVSM8RnpkYSYpQj1xCit6YExLeTRZQDJZeG5gKWZVJkIwQU9zQ2t+PVNscytf Z1h0ZS1vSTJsNlA+fGhvTVJ1ancrQ20/MFoqMDRnTWlFR3gKK3p7UEAxV1ZKQyRqQV5iTSFNRlor Z1MhXjNmLUJYPU5TRTI+cHdZQ280anRAfV98QWdrZkd2NFRuTm9ybks1dHx8UQorem0lUHNmdis7 XzgrN0taR0ooMlVBbXAqKmw9MDVTXkhhT0FZSEwyTjFfYUJ8ezZNWk94ZlJKOy0xLTgxMiY8KXUm Cit6eUA3eSVHfk1rdE0kOHNnYmJRWERrKDsqYyNrUFUjZDwwQytgKGlGMkxZdHBCK2x0LXpDd2tP PDd2YHYtWkg3TiYKK3pOOz05cHtwU29YeH5QOSpGX3I9WVo8VWF6NUZvJE5TJGBjOGB0OFImKHNM UjkoMmJJQkw5e31aSHNtaTMjUyliagoremlZSCRIRDZeLTItQ2FzOVhYbWYte1RqIyk9TSZnPmJw SlQ5Z2NneGc9KWltWGFoYU8pVFd0SUQxMXpTWioxTTJWCit6OXQxfXI/NHR3QHMrfTBfYT83X3gj d08wbGB6ZihmSSU8KTNPd0l0VktuVCRtZ14jY15CM2t9b1ppKHJKR0FEam8KK3pkayZwTk1+S04r NyF8XjNXS2x5XnJXaVh+RkwxOTgqQj99S0ZUaXF1TXBCWnBpMXtjcVZqYTQ8WWlRVlZUWUFmYAor enF2fTRhTVR0Klp6KllCKDtsSHIjcEslcXImVipTWUQ+KXkoRlR3U1U8TDBxamg+OHV3Y0oxcUw/ VUlaWis8Q1hwCit6Yyo+YWkxXjNTakI9cypZVU07ZzFVSXE7U1A9TnA2ZTkyN1FqNztxUlZOMiVw cFpBRkV7fX4haio3KW03Iyl8azsKK3pxdnYxMkx7XkBoZXN1R2Z0Mk1JZjxuY2FObC1QRmR5YnVL KkEyKlolPjxuUDhGQDRtIytYIXsxOytwVSVPJGViKQorempyI2Q7MXkjQ3VlaVhYbHRfMHpkVE9M Umtne25jM3R3ZnRIWlRtN287WHJtUmZ2bWFvbUx1YGkrTUpoKm4+OzZaCit6T29edTA3Qn5ATTZD YllhQCU3TCQ8N0phZmVtdVR9bkBMOUZEZHkhXiYhVmI0IU9eYVMyOX45RXd5bz8mcV4qRTYKK3pw X0kjb3k4UFdBcGVqIURSeyRsO1NvanphOUlVTn5lSm53SzRyJT5WNjJ1UT87U0ltfCo0LWNsNz1C bGB2UkF8aQorelMySHkjbFFAbntuTVFBNkkpTW5NQXU0WHJDcGFtMit7MnFoOFJ0Z0QpRXZLVkJq amhMeWltS2ozRFBqd2tHakZlCit6OUxrUkBDdmxUQjxNOTRBaHdfPkA5OzhDK1YtRGhHQCYlPUk+ RSpMY3VVa2Q+JWVRP2E7PDtsa1NnLWF9SGhHZ3wKK3p2TXAlRjthRlZRX2xZYFI+Pno8NjFUR0N6 P3lac01QY1hIbGB0X0IoQjclM3o8LWxAZy03c1pDKUJeNGMocV40cgorejhqVz5BZFBNP2VNMzAo PU95LXs0Nm08P0czUUU7cSpiMTJ4R2RAdmlBQkBNfFF6ZURvTiFPVU1ZQX52fihxI09+Cit6LWIy VE87V1lXN1g9ckBvRVZCMTZHRE58UmVyajJkVDsjQmViMXEle2xAcHt8OVFaTUR6Kjs2QSFSK0U8 eVU+SmsKK3otYlVCSjt8MlpHPk9ZUUxVNTRMVzJeWlNYMmlibCV6bjB+YV9zfn1YM2MoRTItZyZ1 OzlVWnJgWCY5JiNWNUVeagoreldQNGhqazhYSDh1PHZ4N1RuJDxNaERfdEZPIWR2Ri1ia1UrNEVm ZEwtejVOTShMczJnJGhNRGBIcWdQVGJmRXNtCit6PDZ7RmU5JjNKOD1+PFc7YyF1U0BPZWEhTDYw OS0pO0Rebj96ZCRwYjFOPjVAb2xNMzxQe2ZvR0IpK0k3VEZHcEoKK3pgI3NvbHI8S08hRTR6fVha dT95eCZtdE0lT31TM3VtRURTKVJrPlI8M3FNOHlPYk8xciZ9SmBWa2oyYHVqWWdaNworeitKe3ol YUlkTzRqTXJyYWcjQ3lORmVfcWBXeWdGMDYkRjgtVz5zeCVYcUM7XyRzc2B6cWx5YlZmbWpVe3VS NGdlCit6Mld7flhJSXB8PzhUNCVlJFRPKCRVVzd9P1Nqd3RCSFpBLWkxdHFqOVp6I0RUVWJ7IWx6 Xz8leD8qYlIoTWJHWT8KK3pGaGVKP2VLOzVFO0RCSzwzVEpgR1M0NVklISt8X15wWT5ORnlYVCti JEhOVjFPeTM/bDxUUSNKdjd7SDd4JSRWYQorelRkLSg1VmdJPmhaQ1ExfDA4OT5wYDNlVkZXbmd9 UFJ+K1QmK0U0VllAVSEkeTtgKUJuXjkod1NeSVBhb2UoOGJNCit6MmN5Z25iOHJrODg3I3E+TVEw fTZqdDtrSGhldk4lWHQjJkFRfS1gaWN3MDBRa3gjcjFqP0JPWmojMyEpKVA7RmIKK3oxP20lIUgk Yys4enpxOU4+WXM+dj59MzlqclpeN2ZWe1QzUnBpREp7cCR2OSpDYHYmM0ZoRz1vV1B6R1Y2X14r aQorektIcWJrXm5qYmkxM0pBQGdxP2FWSX5hZWNHRDJsLXtDO1NHN2tCTW1UVWN8e3hWUUxEMWNL UnwxX1NLUS1kUjlBCit6NylFJjluQERjODUyd3NIJVVMI3Q5d2YhZWkjPDYqKj9aaD1tfGkrUEB4 RiZnZlRwTDxrKEkyWUZidjIqdH42Xm8KK3poak5fO0grOz4hWSR2aTVrfVZSeFk3UCNlPlF1dihz Xy1eZXQ4anVfWUhjQEFoVnIyRVFJIUN4dktTXlhSSFZUMworenYkVHtqI0F6WmVMK3QwYlBfZjch X1V9Pm9hU1c7aj1tRnN+R1F9ejFvX0N5I2xyVlpYVSQ/ZTJBSGdJeW9qQzcoCit6N3FDIVgqVz1K eE9sJEFFMyp1e1pQeUljcz8wb1dIYHU1WjlAJFIqalZYJEF6IykjUW9CKXJfOzZGeW5lbnhgV1oK K3pPa1h+ZTYqfUg7b15MVVlzKDMmQ3g5cz4zJHM3RHhaYk9jRnZHQTNYdGkraDxTbjZsXz8/ITJQ ViRUOWZKVHlXVgoremxVNT89MVFjd2hCYnhYRVlVI3wmcUM8aGkxZXhWM3I2KUN6XnFHQTElTD55 M0AkfklrRldNYHdsI2FmZntFJGc8Cit6VlJ9bX4pdlIydml2bXBBMEN9cGpPWmZGbD5ZO2dDRD9g UUEjSSRLdWxgJlg4TyN+OyNsSGN8QGJUalZjekpCT2AKK3opSDxORj8mIVZKeTxvYD1pNGsmfFUy cWlMUk5VfjgoSj5rVmdGRE9rRmUoenkqS0dRJl9FWiRVUitNfkZSdyF4PQoremFjTWVoNE9mWVpY c31uO3c8N0FDUV8lYng9YUpFfUx8Y291K1F9QWZFK0FufjNOcDEtdSF4UDYzT05fUktwbms5Cit6 cEYqJUNlb3g4LVQmfD5uYytII1RIY0tEN049Wkh8THVEQCR2UkliN3t+bWBJalZ2PHBwTmBDTENM fmtHX3B4I3IKK3pyZyZrWD1gSjJvUCFJIzYwcTd3dz9CKGZpcjMzfSZQMVZLVVJRI2xIVF5lRGoo Uj9lKld2Z0tQSipIV0ZQdkFtOAorejU0Nl5uQz96UDVGREA+REc5X0xfelRkci0qS303cFRNXz4y O15CUEYhNkxhZiFyYVFjQVN1VnxXWVBBWGJPXjNnCit6Sk9KVjtoRCFxeUM+Vl5OS3xAdCpHLTZN YCtNbj1ENS0jNGU+ek81ZytVfjQmRHFoUiE+aDQ4WTdldVR5I2FHTWYKK3pNdjhiRihlYF97Vnth a1F0JVFQNjBkd01iOz5jd15pSlhuNXpga3tzVmJCSEFDOFN0VCNrTnBzbHpATVRCdF5lVworejYw I3B3OVNnNSM8IytEe29zejdEQGwxQTNQb2Fpcm1FPj9XciRXUzBkNFJQTDVYYDtveVBXdTQ8UDAl SngzVjdUCit6Rks3WVZwdUFFXis2YUNeNHNvK1F5fHhKQUU1V1ZoQj9RZmRVPDZiZHZ0OGtBZ3s8 MEV0K0pvZS1QSzsqPylFSSgKK3o9PTc0TStrSzQ7cEVRK0htWUtCYnAtenFOVCQ8c2pFMztjWlFM MUI2NHhZeistcWE2WngrVkJ1N1J9X2pkNjRYcworentyPHZ6e1dePzRqcm1Hfj5sYjRWZHhyVj4t JDYwOSVeVmtLPUUze212MmUmV218RTVYPDM+T2dwNit6ViNLVVd0Cit6VDs9U0RWP2B3JiMpYXlr bClteTJ3UUJtPykzJDxlVmpHRWY0M3NMZ2I3UG1maEtSbVUwMD1vVlZ+e2tpMHFiKCsKK3pzOTAq U3V0Rnt8QWIkY2hRPT1jbUsqWGRIVWtkKkNTMXM5WihHTXo1eHJnejBXdnFuQ3g3fnBkd256O0Be JSFPWgorej5DaU5xYSV0V28rQ0VaQz1zS1dEVVVmYE1BeSFXd3A/Rm9+T0A/eFRqUTtBI2UxTyV8 bEdlUUc5Ul9gRUQ2UXdQCit6YSQrcT5yeTJhWE0pK3soN3J0dVEqMCpOVzd9fC04Nm9eUTQhT3Nu aWJ3fjxnOXY/IX0oI2l1MHgrNXBTN0Z1Z3oKK3ohb1lPTDF0Xy1BMlRxLWh0T0M1Zl5iNztJJjY4 M0AtV3xaKmt9UzMkdTJGNiNhRTdXTjdSKEJXODExOHpwTFImUgorejchbzwtOzkjQD5rVnE3Z0xE M0JCaDlOPiQ5Mzh2Tz1vRX5ePDkkSHZyXlBxTEtvSklVYW1idyRjdkZqUjY3WCRgCit6eHxaSWx7 cD1Va0U+SShRU1REMUwpN3Q2QXRGbW9aVVluMWZ5NlhCXnhvOUpla1NnSHZqOT56Y1dHPjEkV1Zr Y3gKK3pyY0t0WkhTNmNPJnQ1QDBATVFLbD9LKzIoJGM4TXRNTn0/UFJZNjxfZmtrRDMkVWIyKWk7 RHh1MipEY0ttQlRZOworemdNWno9U1lMY1MoN0p+Vz9jeih0IUlXclltXnlYUFFxeWZ4XiNJSDYw cGx2VFg/PnYpMDVVRypfZCpgaTEoR0lECit6I28jS2RqNGl7Pjs3clh6SytRKkEqVH1lVFZVb0lr N3szJWpEIUM/P256dF9qI3VqdVQ1JVBeP2FJYndGYXMwKysKK3piYS1YSDI5MyZSYDdKclcxK3x2 VFAmVnVuPSopK2BkSyVIZUBNXkIqZlJzLWhCKEhuNE1POUhrZ0VqUyghWEFVQworemdvMEtDIU8+ JXtsZlFqblhSZFRHKjl3YlBHJWQ2Mk0rLT1Fd3dFI3BaYWZCTzRtVCUwSSg5dHRgPl47ezJeRDUk Cit6VTZ+MFg0JEcmWFAjQnE2NyFiJEx1MTZ1Z1hvRFB2U3dEX2hlMFM9QGtIcHNRZzMpZW17NlJj MUpeRnlNQV5rfWgKK3otRiRSPXVYRlA9JDVpbHI8KWtEZmxjPj1XKTFvQXdkd09ONW1fVXVhKGE9 MCp1Sk5rUkokfnBLQ04pMzJlKG51ZAorejZXN0daTmBVbElKN089SCtEWH5POVdZTzxIe08+KE9W diEtSy1kOE4qUmVkbjNUJXUhQ2I0ZU1qb29oRW5Mb345Cit6bm9GVUZKenxObCFBc3B5JkhHRnIr dn5JSkdzald9dXpuSVF6RmJAbm5vZXFlezdJeHdEU08kbUN4eGYtRU1IJVYKK3oqd158QmxqdDcm KG0yUz9YMXcmTUVxSVMhcjA9cHdgc21rXndrPHptVGopK292X01Jb3pfPUpAamdRLWwhdntkUwor eilnQU1mYjttbD5TIylqdCQhWWk+LWYtTz5eXz1VQWxKLU0yaSM2MSlIe05pY3NOamBFdV97IVlp QUdQSWg8dn1LCit6Q2VhTm5oY3NGZFdhNnd5KVp+bCY9TVJQRlNkMlNBJmJxTFNPOWdKYCpeSTdh Rn51S3psT1gxS1dFJkBSa1E7e2QKK3p4d1o8bntFdnw1Yj0wbHpSKVNkNGE9Y193WCl8VVBkfnV4 YXlKTT51ejFBaVhIOCZraituYmEjK2wqSm0hRW5YTAorem8qQUFlU2c8dkRWK1pOQT95JHJTPHAk X09oemE3N20oWXohYGxET2omYXVYUjQ4PFdwdms+KUlyNnpLVk1AMkNDCit6KzBhZ01paFBAX3V6 TiszdlV0KklzSShzJD9BS3l+bV5tLV8yWHpvKSFJZW42cT5wTlYqMmxle0FXTTJsYkooc2oKK3oj XllESkIxMilzI3s8PCpCJVk7QXdAUzRVSnJtO1NpQm9UOystNX1xN3s2PD5RR1YyRyV3YHkmRGJf T15PXyV4UAoremE+fjgmNnNLKmYzNz1NPl5XZiFRUH44QD07dV5qPjEoOElQPHBNSk5fQ0U+aGVV Y0BhOFRuSVgzaCsmaiVtP3MjCit6Ozd2ZD8+XnhYeWh5UCo9e1NWbHpnVmxOPzkwfnk3P3IrIWdG U2dKb1pZRC05JlVUTGYrNEtCNj5gWVYzWmomOT0KK3pYU1F+KWd4fD1fIylUYGstXyk7UThYOG54 OHE2SF5ReSFSc1d9Y08tcF5UKVFlVyYyQjZFano2bENYcXBpJSZSQgoremVDWColSGRKSDFEUDY7 c0dGQ1Q9aGFUNER1LUsxRnlAajZwXkZpWThDI0lnTlZ3WmBRK24rdFhMNnFvS2xnfVJjCit6JU15 fnlWb3lnTDEmdElhaGdkUFJgeyV8QSRWQ0wja0s9O19MYl90N2dCeXxLWGZ7e1Y3MmtAalN2eSlf LXFoNjgKK3p1VTg9d1dWKlEkIzJLeWc8cml7UmUzMiFRd1pqR3wtTEdOfENZaj9RVUVFLUkpcytq dWE1SVokM3Y2PEM2XjtVQgorekVGRXtVRWApYmtSanA/RDI2RXNzJkVgP29rYGA2Ml9wMGI9UC1x bE9CM3dMfDtfdCk1c2RDM2dfO3Z+QGQlJXZUCit6WS1SN3kmVHsxTXhgPHhVZF9+VHVjTnBhKz5T dGVOV0pHQX1yZF4wVDwpbiFCTzY4aVkjMjBlTmJDVUFCYWM/NlAKK3pEa2c3UmViI29seDNnRnlv Q3VZZGRlMnRHWGVFJCUrR3V3fjhKUDR4K3ZLT2AxWHZDc2leMDFUSFdIZmFOazA2dgorekFFQDw+ QEUlMFFFP0pTITNkKVlQIXQ/NG5IbENUOzJNSH4pPntVVks3VlhzT1lNUytrVHVQfEkpS30qRXBM QFZ9Cit6ZmNGJmlCYXtpdGVyWCU0S1dUQSprOyhVbG1IVUNFWXhOZl9ybDFVUTU1fiE1KSQ1MmI3 T201fERvM0ZkYEFNVjgKK3o1bnVZdmxJVkdJREZ9OEtyZWxFS0hAYDlXa0EjKSMrdz02KWk8LWZQ NzBTPVZGfTdeQy1DVzxCMmBfQ2s5MGxSSAoreitqek5ReHczRENYJGdYfnY4LUwyQyFSJTUxP3B0 KzhCfTRaK3p7aVNJOTFZTTk+PnJIe2ZTKnYkVUVVRFBTKyo9Cit6bC1gWWQpU3xTOEwmYylpJnUr S09mTXZHcVZyISl+UTdNTjkyQ2tidUc2MDZUT2ZLaitKNzVEVkZodGReZjZmTTMKK3pAPjdoMzhO bkJPNjFIbUkkRG45S1NMRVNXSUk9dmA+b1BrcTsyJDtFVEhFd0J5aTgyRWpBTTJ8R2tgbVorfGNJ cAorekxsfDh6YEBvb3dBaFBjRztpbTZRbVg3SnQ0fXctT2dGVUZeOXBnZW55SzN3QzskUUFSS2VM Rj9Sd3F0WD09WUlBCit6KGxGfF42WmpjbFdkUyoyZS00M3xwc25kM2swOWw+NSY4NmhZWS1gMFIj R0BaYlVLTzRrdTkqUU89X2I2U3l1ZkQKK3olZUctNlB2Ml9jJTZmI2g1aDRlPyV9PnB2ZHBJaHFC Y0teamE9YXJKQzV5Tk5Za1l6c2d6Ujl5OFk5SEEkcXdhbgoremg+RExEKns7aEh1PTUrd2hsTGxQ d1dJfi0yMHwjIWkjOE41cDVxOXBwM2t8Sz5CdCt5UHwmUWRzbStEbU9ZXiN7Cit6USZLNlZYTjA8 ayYqTWI7RWs4ZCEqN1dxdz1gTlZOaiZra2MrWUc8a0dtQlBCe1RgbTg/ZUc3cCMmJlJfayNidSoK K3pWPjh4WntxU1dsMWBqTXxaeXg4NWk4XyNCK0RZWSl2NkUkKHRzeTxZPUtacjY8PDxkJUp6V310 SjstdVpQREtubworemJXRGZ8OylBcCRDSng2e0xzMTR7eDs8dUJXTXVOSGRWMzl0eFdNQklubFRz ZE5rJlVFZlhZNlRCM0p8YCZsJVFUCit6OGZYeVchdUR0MWBvNEJXIXJ0VGJld2hLI0BmXlomTlpP MU5pV2hffkB7TlQrNDdIRyZReENkOTc3aXxLZzF7OUMKK3pKWkZ2JkRHKCV5eD1qXjtNNW1rKE01 MG9ETSVsO0ArUD93SnpBaGpeR2Q3T19uYXFIIXFPKEVhdTxxbXUhdmVjcworelA/cl5pI0piczc9 JEdwXlZAajJGZV57VS1KVFghKUl1fHZpRV4rWXxoKE5kV2ZeeWpeRj4tXmd2aiN1Umx2VGJaCit6 YUBQPU5pYTVHVz5EM2FSQWFOcUNLWDJ1NyFGMUt5JHw5Rn04cTcwcD17S2R8ODFNbzM7N31zeEZJ RWFMX19gLXoKK3pAcS1APT9yVWRCcEZuQkwqTD4xdG1GKmBvaGtDeHdGMylgOWVvPTtJXjVzVEtC NEZSb099KHF2JCo2fHRyXlpAMworenVQdnppc2F3MWdafFRIUiZMU2glZihqbWNSSyZadHAtPWZG KXNzSCY7N2wtb0FeUHA4Nz9YKXszQT4/RjdQNndQCit6Qns5azk7RmRhVmNXcC09YmRCSGtARkti eyRndVRGZ2J3TjU1MTh1fGA5bTsoMXA7PWdfOT45VTk7KWUtI0ZXaWUKK3o+RWY8Qy1BaCs0c0Ar N2hrKT1Kd05iIV5eXkdqWUcwMUVKa0UjKGN5dVk2SXw4OylRR1NMNG0/e2B2QjJseXM2dQorekQp UHR0YFdRZ05eMjBCWmMyO0ZZMXJyYTVHNFhsVGhPK3l+NGpPT1lWfjhOXzhAT2Myd2Ala1BtYEdZ aTVvMkgpCit6ekoxX1puYW4kPnchc1FEOVM7RmI4U3FBSCY1e0pmO1clZTNOUjJKbkMyTiZzTDxN VV4jRDA3QkJVUHMobn1fZ0gKK3pnaCkybT0keTtjKyVpV3FEJVpvSXNGU3g8RUhCWDZvfHtFcUtL eShrc3tWUlArVzFTJDdJSlhOcnF3YTBmQyVaNworenNXc1A7ey1eWVdFXkAhJTtmTCpaSjQwPEdN Q3dQdFVAPW4zNTlHYTZqJmlSWCZnemJtcFU1dilwbm9mTmJWTzYjCit6Y15BY2tnVlVKRzVJT01q aU54cU5KQjFCdmYybH5EaSotZWNCQFVhZUhpNF5ydTwkfDdeQVhGNT8/Zj1qI0RCUz0KK3pnMlRP YkJmUkdGZEgwMHR7NFQ0UFpqTVNCQyF2MGYkPnJRKkZeZV97MSlQTXF2fnZTWCMhPzU2TEFxO3Nr M19eSQorenRJT1JMTHVmPVk/NXhkUmZ8RDA7T0xHRy0+dXpoWkd4YjEreHRfQXhwNlg2Y0NnS3Uh dzJDSTMhM0J5MSk7cVlYCit6JHhNNFFzPlVZYXV7Mi1gKmorWTE1ek02blVsfTs2ciMrIzUrXnhG Q1pBZXBBTHFQQndEZHgpZCtSJVVocHRyWDwKK3pzZ2ZaUThkTDw7WD53VnYxfipEMlctUVAkVXJx N1BHRDJuY29BfWlrT01UI1ZMOHR3K3tnNks+bmEzPytGYU50bworekh1YGRRSlV8dnljVlJpVHV5 OHh2KXZHOEZWdnF3ajtXJXdeUShebGgqX0UkcCh7MzxWZ3FqNGV4VT18bShCNlFgCit6cS07dWxm OWx+IUMjIU1EMmZCfXVsa3plSSYzbj5ec2FYMWpafXRXdzFNVkBAIUg+UzRteihmcUJwaXFBWV9h fTYKK3o5NXFFYnBwWUM2Jl80LU4pQkZCK2pETX5nKkA8e209aEF4Vl83fU5uQUNASjZtPDZ3RF5O bGheKUklJVJaKjFwTQoremI9VUAhIUxqaFd0O2p7WmJkJUlhZnVRYUxaZ1FQUHQlZncpJFlqSGQ7 Q3VFTktzSSQ2UDh2P15kRjhTeyh+RE4pCit6MVBEYj13M15SQTI9dl5VYXp3ZnNwJCQjdXltS31r V1lnMF85Sm1GVyFsKC1iM1d8VXZIO2M7eHI9WChSNTkzWkwKK3omfW96KyNZSCo9Nm9NZjBIQVQj Y1pOdU58P1J4MFhfKndGbUh9WTtBOV5PUj91M1U5KDdsMWBIeXMxMk13SjZIQAorekpMNTNpRXdg QENhRWIreSpDRGVNWWpCfWdWQXJsbV5OPlZzbExSM1opcllGWjxqanA2aDJ5P3d6eHA0JT1DR1ox Cit6cClUamghTl9oMWliTFJTdzdNWUU9MDxSKTF2WWIzeHJKZyFJT0Nmdj1scDFrZDJtU1U/d0gl VjRuOGRDZkZieEMKK3p8NzJaWT9STX1JVD0jSjQjRSFYU3tFbFN6bWt+Mm5RXmw8VFVCeWclQWVH Pjl8Ml56VHhMR0dwYVVuLWtVYiE8UworenFoK3JDRiFEIWh3RD1oZDJkUVdKVXxWY0ttcGVmOGgj N1JVP2N3QTVAbXJeP0QtNFY+d1E5JGFJUzN7KVBIN0x+Cit6R1goVGNlKkFWWT9yPiYoITAoRDxR ZyY2K0FNX1hQdEErflYya3xsUCR2QUhASHJrX3ZORX1TVk5Wc0NBZ0lVbX0KK3oyZ1B5OGIlKnk4 clhDfG8pNiZkUj1va2w0bCVga2V0OFZ+PEZ0LTNsSFI9IUNJbUU+JGA8QW1POGloflhTTW5jUQor ei0rMkJfcm57SFFmRn1aeDdkRCFIbzZ0aVVNdX1aWnV2THo5WmFZISVAbD5aaStibzM3VlZMYjxu VTtgQzs8UmtpCit6MlA0JW1QP3hyfFdfTlZMakV8LTRySCEtKEclc3x5VWNlNXVySDZVSDVoTmky I1BiZ3Y/SGxCZjQyYERUMF52Y30KK3otPyRednImNSM2TUZhK1AkbmE9NUgrPTZxcXshblplKU9Y WCNKYyUyJnxqKyYyJmV7MSpjSmhEbEg5YV4oZU5pIworek1+ej1ZZz9+bXIrd2F7SCpoPzt7MTNy c1ZXb2N3VEB4KSV+NlltQTgwQjZlQHV1UHReKHp+RlokR3hhP1FWXlZDCit6emYwREVaJD9EK19Y Zy0pR2k/Tzhwc1NxMmBuJD82KGxoV3smQjZNX1VHQl9sRWc2S2EqdktDc0UtRyZ2SVNBeWIKK3pJ O0JZaW5XSz9ySEFsdjA5PjA8KDFNT3xXIzY1O0cpe1FAJkJXdk9lX1VZISE3dUZCOGBteGZfYERn d3tvX0dyaworelNYc14hS0twbTV4N2pmdFghU2duZkRfRCNeJH5MazMzYkk9Qj5gMElyOElaU2tV MCEyXlNIRFAwU2l6X0F8UyY7Cit6Z3RzSnZAN1FpfCp5c3heXjEtUzExd2YmMT9RbzlkdDg+Q2da bDs1cWg1eWswe0VOcmZLT1hnbEVfNWpXTkcxQSYKK3pgRU1SJCleLU5RQ2pZTXxlWGBuUyVxQTxt X3A2JDhSJWtPfFpKY2ZuRCpjPkQwfkdMQEg2KmhEWmFgbXckYl9qSAorenFEcTQxRCNnYndrST07 cHUrNnVqNm4wS35SPVNYOFlJQSl+bC1Ba1hXY0Z3N248bGxSbTgyeDI1O0VvRWhWbHxeCit6JiZf VFY+Qlgke140QXJ1M35xRVVuKyVFODs+Y3dJUS1iOSNIZnA0WkQpe01IS1kwMW8jRmcqcCRuJGkt b2Qje3sKK3p7LV43MDdmTzFtSWkqU3NsQDg5Q3gkRkBQJTk+PEFtTG5gfkUldFM9UVdCe1V2SVMk bXJfKm9XJi0/d3NvOUVCYQoreig5VHU3b2dVdlVvfUhlfkxLKz9Te2hZMDMhbkEoNHt6UHBLbF9S VlE7cXJ+WDUmYldCdCg5TyhtMTdYayZjODJKCit6PWJGWWtFZSo8S0tGbn17V3UjQ1pOe2I5ZSVa TjlSc144SSUjPnNacCE5X2tqRkVEbEk4cHhXOHckdjxSSG9oZ3UKK3pEJD93YUl1XiFDV3pJc1Nn KT1jbEkmakNjJWA/SVpTJTU9NjszaGBeaj09aHxsOGlCWWwpJWRGel8oKlpgfHFWXgorek97M3hT IWs+R29qfjhESGxybTF5Y3d6VzVSe09DRyNXS0EtR1IyUFIlbFRxKW1tY0NUeERmc3Z7bStMej1x ZTZfCit6JiVZdkhgJFZsZ1I3T3hPK093NE9nR0NNSVk8YldtY1FtWjdgYmdCUWhLXnQ2bTNON3Iy JTN+aHhDbHAtQGNtKDIKK3pIeXlQUi19Y0xOI00pSlNuS3ZqeWlSREg+VXJJRmAjfjA7aWxiQ2E7 VW5BTGcpT1ZFb3VmaE0mZDxhVjd4RTZqTQorekdCWXFMam4wY2xFTG4/dGEtSjlIZjdXNXs+Y1FZ QkxQZCY7Nk9LJF9kN0FSRzRtQk9IakR7P2JObjFgeEhNN2kpCit6PHgoMCtEYV9USDVvPGlfVXUp a2tEe3ghRWNQQGxXailANDxgcnUoQ0E3R0VSKDN7VSQrMGBJZVlHVlplM0RZIT8KK3pJbXBCRUpr biUxPDk9ZC1tQCRJVXo5WHImMzxaKHhyb1pqe2taY0RBRDFaZFFLRGlgU3Mzc3BfaWVYP1FxKCN5 NQorekkjZTRHTU1RWExLcFNBaikoNjdGek8tK190RUtHZ3RjWUwmbFpqOCRrR3liQ1V5KkY5KVlM b0ppITJUSjNuQnlZCit6YV96S0xHT2k1enxHYCslWk1LMVVofnNEKEcmbSEzOGI9VTJOcWBYQzZ3 PDtiPXtFfEhVJFkqRHk5fXAqb1khPlgKK3pkNGZNPz1LRkRgM2FgbShAT2lkZXdBR20lPSQtWj0+ SlR6JVNiNW48RjsmRXY9dUJWc2g1ZU19XzgtM0EzcV9MdAoremwkaXF3Y2c/JnE0Pm58WExUdEle Yzh4fFopZ1A3R2JtIUYxWTV3MysmaDJ4fXBIcjI9RFB1a3B1TiQ2X3h9VkQkCit6YjJjd3pMQmBN Ukg9cndvdXRnTjFhdFg2cG0paSkqPkZnUGBEez87JHElLSE7NXZhZEMzZlItdU8tUD80cml4T2sK K3pibilHcEhTdEYySDZgUWdiKmBRUF9OODViWFJaK0EjfmRme00tNDVQeHA9ZjZgemleVmojJiNp SD9MWnB0PGFDPgoremZgSG1XMnc+c1BnUWh0SHBsVHtYZ0t5azhufjx9RV5HZHBNUDI9cHtZI3g9 VSVnIVk7JG9oPzdpWH4keC1PRGQoCit6XzRMI3AzS2E9eCklMXNpQyMpODhVLUNHYWhVRn12Kzhs RExtYldfe1g5bWQqVVV1cTA7UWZrTj9lZFJmYGFaKSUKK3pNZ3Y4VipzOVI1RE9lIXh4TU1EWVhP eEFEKVZeZV49MWU8RyVwdmF6JUttdys4cnt8SUI9TTtlYVFOZWQkNjMrWQorelJ7IVghdGtUZlZ7 Y28hZTZXZmZpMz18SSszSVQpbiQ3ZVZfKFlIMm8xSXhkcTc7PHN7eWQ5cmxlWjI3TEgycXFMCit6 cmotPlFQSVRyXm1Ec0FicitLNzJXQiQja0tQdEF0VVUlSUtDS0A7bigtSX40YzdfflhXNyE2XiQ0 d3R5RVpBd14KK3pAd0B5VTFvWjtyTSM9ekU2eUx9WEB6O0BnZFV7RCo3SGxtfFU8ekdmTD49PT5y OXdoIzgoYEYpZUFIWlIjeG92Uworemw7NF9xM2NXVDRDTDFTbnBmb2h1XmV7bWZsX2t9NkEtSS0+ LUQ4SE8ock9tTG9WZ0VebTlWfX4mS3hAP2Vic1pWCit6UVBOP0JqMWtvflVfSCZLaXBsWm0yXj1p amVvOXwjPll0PlBVMnNle29pR0Q/R3IkbjZRNCs8dj9VNHhLO0UyVj4KK3plfDNsYSRIfjJnKHZs ZVlIPSUzdj98fVUkaV47fm87PWRCUXt0WGwoNkMoZ1FLbzJrUz5KJmtjTnVJUVkmJjc3TAorejY8 SEs3WWMpNU9XVEFPfU87WnghYEBZQVEhdkgkZEhJe2Y0XmtDWmJJOzVaJElWN15HZlFTWldwT0JB c1BEJXxvCit6O0hyJGxlMWg4T3sxfU95SHZPd3hRWiRxendnNXkoVUEmWVNUUUQleTE3SSFwJT1a a1NFIXYzRyZOOUBacl85dFgKK3opMi1lMSQmX2xSXyh1Ozs/Q3Qte2B9JldaeT8tcH0/QElwYmA8 RXJ6OCNwP2RJUX5jNi1hblN+ZX5zSnckMkB5YQorelFrZj15WEJ6b0NGI2ZxVXxObEp5ZCtPZjUq YD8mRGVoNUUpWHk4QXAyek8rTGFFM3N4X3lTSSRkbjZnY2J6VU9lCit6Y3QybSlIXyV3aGh8RStL QGRIX14zWmFtQnokcX0xX0tPTkA9WFgoYFN+b2ZPcCVJe1JSc0FPNVAkTnwyNEshIVcKK3pTS1JS JTxkUUckQkdJME5LNmFhMWpqcTRgJHQoQ3ItQj1KYzxHYThCMDVnQk4xXj1eZDE0bEMjOHghMEEo JXQ9PQorenh9I01VP0VjPSRlfVQ1UGJBdUY2NFUxTmBUM1NAPVl0fXNVVSg5e0QwZkdmMjgtX3hP eER2dyowYmo0JUByV2NPCit6dlRTX25OcDQ+Xkg9VkkhRCt3QTxZTm81Iz9UK087VWRQUm9zJVU8 XyMxZGJSa2UxIU1Pdn17OF40UktqVWhUPSYKK3pZVDlteiVsO1RHVjhidW1SbUhvZmlIPXBTMSkh VlBZNXZ1JEArIXRndEY1PFo/Pnx5MUQwaUswWHFJNEQqQmRAUAorejYjJn5KY3xIZ31ENXlhbFd7 UytpUFE5K3FVbFF0STkjQXsqIWghdH0pcTVpIUBZPDImTFdtJDxMdm1tSypLaTReCit6ZWZTcGIr ezZmJGIlOHV3e1VKaHd0eiFafVYqZFMleDlHO1ZINUltS2xka2NEaFY4XmpBU1FvWnNidEdjcWFJ RzIKK3pfdiVDZm5tR0Rqe1lYPT0ldDFoJl5WZCtxTFhEKDkkY3VuaUZAcDB5IVBVdWQqbmpwMlFC NjFRMHBeZHk7fV9BbAorenAyd1J0PWRwR2o5Kz95KCh5KiNjZlJDUzZBSG8qRkB8aDI7aXZII2Rf UE97ZXhKdGordlMjUEhnZk57N01HIUwoCit6dmw/PUFaJVhWYDhWP0JPX0s2U0tkNVojaSZ0ZUw5 bkYlJlRBTUdlaWhWfjdpOGVQS0ZNe3FnSnFMe054PUElKT8KK3pzaGg9PWxOUFM+LUF5Tit5JnFL Y1MwciRBUDcxa0hRWVBKTkFpIS12a35KQVI0dDtiVXF4JURIRTN2N3A0VTd6UgorejFxZTxOTVIy MXU+Qj1ucSM3anRkOyROM2Y1VCpydGhaK2lAUzRBVD8rZG13TXU8eWNzLTEhbnBDI3l+aHohJD5O Cit6ZjkxLWUkNH5Afm5heGRjRDl5YVN0MC0lM1MpPn0xJTlFR2I2VUEtdVBHTjdJPDZCTih3dl9R N1hfTCNubDREaTUKK3poQXp7JHRibV4wSXN9ZFBBI2ctbz8+a3lVRz5efio7PT9yM3Y8X0R9NSV8 aWQydHVmKGxwaX4wZXYrXkZTX31gKQoreilodHJLVm1hQWxrQXBlOXBlcH4rV0IoU1gtcjdpfGgm NmAwalZJYDMjQndMUlNNMEBpO0pzOVQrVDZzY0I2dkB4Cit6c0RLfjtFNGMoJnJ+UlZqWWw+OFct UipCS3lSYD9xQlRWPGxBZUEzb0dVUD1zbCFAM3xyLXBacXwxY0x2MitGQUwKK3pmciEmQ2Nhc0sy WG5gZ2dnMm1AM3swU3VrK0Q5SGczcV9+blcreSUyeXNFUXN5RyphXmk/ND9sJWkrLXlXOWNffQor ek58UXIocjU9cFk0MjhSb2UjX1p9b3AkNndjSUIwTTlfSHx2QXsoSlJlMHBQSyEtUnxfOWtqUUZQ eGVEfkBNMklQCit6bTg/TkszR3htYEFzSSs4KX54RnprPENfKylkb0MyJXEqcCpzRWZUJG1yQkc9 SUgqTFclJnlJbXdgdD4zUHgjJHQKK3o0LSN2YWl8Z3k8QHBYUmdKKFJgKT43MkA8Z0VAZ0gyQ1ND eUU9OG9ia1NafDRONVYoVSY8dF4/aT0yNFhOTVJDIQorekgpRnEyPmhCZWpVVSFmaEkxZ3NLTU52 filtczJaNFQ0UClIejZBWUFfKUghcVc2ZmJAWGw5Rm1XPmlAMGchMVg2Cit6Rzh+fnFIcChuP0lR al85ZyRsWWMtPUZJckRreUdYa0wyI216eWxkVlRVemRrPU9CZUBjOEwzc1RNMWh+TzVecjwKK3pH RmUjI0o+VjktZl5jK3dwQEtZbSgrMTt0dWZeYDhOQSFFaXxMbntpPTchSnohLWZ5TUVVTlhGVjJM Vng1YzQlcQoremNkZFBlI3RrLWArMUlpMVlQZUZZLS1APl9kd1FYR21EWC1yak5BfU0xfjQqVFBE YWtebVAocno0NDgqe09WUWJ4Cit6cytZPyoqXz1CXntGKyhKdDZ4UDFvNnIpdFdNeEgyRHlaQlly WDUmcVJjM1gjaV5UVjdSZlF2VzA3PEx5JV47cEYKK3pGX0kwZ21PXlYxX1VvP157dC1fTU97KSVa bWVie3JnNlBqdkZWMn1fcS1BVEteISVFSFljYG1gUCF3KXM/PTdASAorenxKI1d2WTQqQjd7SV8q IUNqdE9Le35zczRrKTc/bzNZR3VPZnRqck5BOGYxfUolMzZqbHcpITBoMGhhPyk+TWh3Cit6PzVV IysqQFIyKUpHWnxmaztGc0RgUzV1KFk+OXQtV0AmWjdCXl4mX157Zjs3WlZkSHV5aXVjZXU0T0tS VHF8NWcKK3ptUj00Rnc9PVRJQ3EwKnlPSzdaST1CTzZJdVVFVURlTWVMcHd3PHxfK3VsQUAtYVpj dzNLWHNPSFBfY1BJYXpLcQorekIlNTdMRykqRSFaPGRaTzFvIWtSd08zZ0thKn49fHMmfioxLWB4 fmotZnUxU0NYKTtKTih7Tk48Tn5hal5pfn1jCit6cjMmP2lwSWUoQTdgc3VNRXgmKnF5bEhlbHck cGokMnkrX1NCS3NHQTcmNyU4akB+NiVsV1gjLXtnQGJxc0h5dUMKK3o2TVJvZ1hOTnxBX2pZdzZa YX11R1IzazxzNU92bkZZXnx+clozUUFzK1BhaXhxMT9Vb3MzaHdPKz0wdXZUc3VFOQorek1iPk1U ayh7ZnhBSzxUKXBuIXBjT0FoWUNuJXY9azltQWNePlNtZmdSKEZHO2k8fCh7Qnp9RTRZcGI5TEBT JXE4Cit6RCUmS1pha3NsV1Q8UXFycn5lZ3U5bCZjZFZuKUI2YmB+ZVg/YGt5UFNvKShCdGdLOD1k NFNAbnd9ZF5ObkcpJnQKK3pkSmo1VWJIdj9BZC0/SHZucSRCXklaZ1V2cEpALXFWVXJxNllOZkY/ LXFmcT03UDxLJG9haT9IITAjdHBCeE1WTgorejR2U1Q+R3tpdn5reGctaVh7MnhLd3JuVTBzMmp2 VEtOcV5LUUFVKlIwYEVVYjkrKSl4azFlYVZJMGohQiFpNjZRCit6YmxTa0xxP3Z9TytpYmJNRnNn JlJKM2s7PzspWjgjYU87fmJVWislYSVrK35VYEB+KlE+ejBeKiFoZWMpZ18tXjYKK3o7M1J5WCh2 VT9gJGRReFhlYT0qVDtOcGdiQ2FWJXFzPE5uWmREbHdiSjRDd2lvT1FxK0IqaWBaUF5DQH5DfEgz bgorekRhMk88SW1lWTdVMSpXOVJkRG42PU59PVZDWW5GaWJgU19DQj96ekpZfnA3TCR7UjxjVWwo Y0ZzSVd3MUkjbil5Cit6UCp7ZE9WOG4tNXQkaFpsRUhKKiE1SE9Ca1VwQE9GXz1wODNWYUMyZ24y PkBiTWpYeCZpRTYlbVckMjlwKWw7Mz4KK3oqPkdoZz1oIT5IWH1DRkZNVXp7fXlTeEUxaSFkdGBC LWJfWFNtU1ZhMUM+RWc+dFRXaXYrLVdGYzV2dUZWfiNDVQorentaKmQtcyNoKSR2WX5xfVZaeW1N T01pbm8tbG8oYjAjV14pZ2liQ0xfUEk1I1M8QXdGUmxJMzxUIz5SOCFBRT4kCit6cF9lJkFrUDZ4 T1JpdGBUbVMrTE1WUnd1TTtkLXhRZ2xubHtnS1Z8OF5wa1Q/dUp1NGZzSFNeJnZhNExFSWZIR14K K3pMPX5NOy0zMUtHbzkoY2hBd3Z+RU5FMHozO2ZkRHJWXitEQlJudEdROysjcGRiRjtvdEp9VztI VXRMYjZkQm5eKQoreipqPmYtVylqXng3ZUcoanshMlkkbWxHSXNwI0VLKFpEYVpyTUFDQElCJitL T2huXndXRDtsfEJiPVgqdlU5TU85Cit6cWJaRT5ZfWV7LUdoYlBfNU8+SXM7cUtoOXBPSzJZRyZn ZDEzRDM3NGB+Zll9VWlTa0hPI3ZkYWRsN1dfKlJ7LUYKK3o5bz5HSmw7UjsoMkJMaStxYEJuJU5I aChCWkUjN3RGJFZ9NGo1UHZwNCo7RnBwbkg0TF5QMHA/ZiZ0NkVQVTRVPAorekJ1ZFopS3tUQSEo d0Y1WE9PfEBhZGZ9NjZRZiohMkplLVdJTWAxXz9uM3l6fThGbiVHTkZpPStsZmVkSURzVXFfCit6 QHA9Uj8xJU9zTVc3NDliNzNNX0kyP0o8Y0VZUXFkUyt7QFJQNj8oNlM3S0F6UERZWlpaYDsoQkAz YDB3S1RWS2cKK3pAKzZYKGZUNnV+dDRIJipfcjgtQEZxeEo1anlSbCFENz9vPjNteGlfK20tMzQm eyVSRkZ0diV3XmdXcHA0NyskdQoremRBKXB5VyE0RnVnZX5SbE4jNT9aPDFITEU/VmctUkNtVjQz KFckI1NgaUdfRktHZUdlQVlqamwhK0w3JVFWe2ZsCit6P3o9R0xDdmJmM3t6fjUjO15CbzF0VXlR MXpHUTdJUExsNEVDekZ8dUYtcjZoSTdseyVidUlaTHJiRV9MTTFHOFEKK3pEMHhyVTh6KTlHP2s0 MHhgN3YyeENnQ3A2YDhHPDdSQDZgYCtIU0w2WmBXN0czK1pwLXBtZ2Ezb1VZaFNhWl9WKAorelJm ZGotZ14rP1g4JlpFWEpTcCZPKTJIOUQwZW5GZkwrU2VLYXVUfEE1eF4lbXo8aGoldnR0LUttJUMz fmhVKGt9Cit6eChWRTBaQyMlRjxFSTJxRGt8IyQqcFZYR2pQZHs9RUdDUW1RbXV9PjFsKnkqN193 emBWZzVySygtU0RkcXw9bTEKK3owPWVfKDxnZXwqbEBhal5qfnEmY2BBRSF1ayU0YVBldnMlTyRB WEJpPjUkKSZRSjQ9WkZra0JWVjJBbzB6Oz1XWgorekowNWFQO1QkUipBWnJEVzx2XjVqRGpLI0RR YlRKZ0tycUBXUlJLUGcmKUZZJU5rdDBlWHRSVCZnc1YjVjZFWUFXCit6aDBQM3dlalVfbU5PZTBf N3xGWigwMFNCS0d8eHBfTyM9SWc7ZCFZWXBlZ301I19VTS14RnJicjlkXkEwMkxmfHAKK3pWYkxQ JilYKHVHQlo/cVphOSFFKSRuTTBROH1SfExIbHRJQG5fR2QlRUdKRipqWldNR0wkP1BPV3tvM0x1 Q2NeUAoremUjcF9tazFSOFdqN1RxKU1JSHQoZWVFS09YcHYyOUMtZCVtQil+O2NiSDMlK3MkdERl SilRQCRBMW9Raj5XcG56Cit6ejVWMVlHN1YmNmIzanslPUx4RkNZfDFPQUQ8VEJMNCVIXjJLYmBZ c2ZLaHlgT0dwSnJIUmdnUVF5VGZ1JXdvb1YKK3p5PGFteGItN05WN1k7TFJnI05Ta0FtNXVCakUr ekIlUk5gfXpEcGE2JUtAaWkmXkIyQE85bXp8dk1MSktgZmczVAoreihRWCtaKU47bSQ9LX1KQSRR YH5kKWZRMFhsbCNeUXBMPVMhWik9OTZRc2pnNHVzLVBUWDNsJXd0QlVvR3h7VGJYCit6R01PdFVM VlNpb2BAWExYSmUpUzhZKSQ3WXgwcHhKOzZ9U347ZFRKQDAxREhQTHNMITMxclUqPnI/PzNaUGxV blcKK3pGSEdJe1ckVTk1TDBUcXVwISNmbjxGNXNQSHV0P21xSlNMY21selRETlZsZUVfS0FtISp+ R0hRVU55bXVIYi1aMworei1kWExZYEs0MGRHWDhwOFpDRDJ+SyM/KUE7PFE8ZjU9bFBWTGBtayhO Q1Mkb0plZSFMbitOPzFPZUxQakAqS3BuCit6QChZeDhMIyNtOGQyZ153TmRTVFBAZUZ+dXFTVX4p TlR7JGo5Ozc+UV9NPj8kcX5BdXFWKlI1ZWdzOV5ialljX20KK3psb2t3WFYkaSZaVz8kTXBjRihk Y3Y0Zk4oT3JLUCg9fWIoQiRDK18tOVpWMFpse0xjKGxMVV55dXxydGhASTIwfAorejgwciMrI0E1 VCgwX2Z+ZHEtZF8wNXw4dEgra2c2ISFzRUFpTmROdjZVN2lVd2M+b15tciZxdzEre0o/aiMpU0xL Cit6WTw2MEhETj9qSiNtJElpSW1TNlE2MTVtJTczcXNQXm48JGJ5TDtiOTEhQylQTnk5YF5Ia0xs P1pWPD00MW1pd28KK3paJnsybnRGVjZnSmUpVk1rSTx3IWhTdCR7cSlZWXxGVygoPEskU0xWTnVw dSNYPWFvYl9mUTJpS1NwdVZiPzk7Vworej08S0dgbmBRWHZTXjcka0VDZGJqVzx6aVdgZ3V6cHR2 fXBNTXNeYSs9VTQpXm1ERVVwaDxSLV9fJEJnYGE8XkRXCit6bXlzUDFPNC1wMHFjajZvM2w4ayNG QmE+OVhwUUMhPXFVdGdKTiQ/UTVRdClgUX0tYjtsR1IkViEpSyM9KUFfMnEKK3o3fFhQSlpQZ1Fg TDlNPHNiK2M/YWt6bmU+VSY0e1Zqa1ZydiN2Jko9WnRwRStLdEN6UiFSeExKa3ZlK0xKeT0pUAor elFtbElHJDxkSU9BfDxKJV5adVFxYH4zY21eTCVyY2ZJKHhMbUNBZ1dXJVdpamplOXw7ODBUa2tW QDl8KE9iaTQhCit6bzdfTTsobXgqYUJoX3s7S2VRJlc0TUVzYHZWRXZ+QTU3d2hVO1NEZSpES2Bn YyU2KnlgfVghVGVjS3lkZGNNNXMKK3o4MFpgWiZiTFF3JkFWfTEoJVlWbykjPzU8NmdQZTVaWHxQ OUZuZTA0M18pT29CP3F6MmJua3lOPFhJWkl1S0QkVAoremFsTkV4QENid25UeXVYbFchalRBWDxL UyhSWUpURUklKEgjYiReNGs7cDVyQl9zUTxgMENCanFiYWMpaypULWZLCit6K2dpP2IyZ1VjOVY2 e2stQW5FKkw7VndUTj0pR2dwUldMcVlxT3t7SnlZdzdoclg8bDEqeHF+IWYoT090V1ojOEIKK3ok ITxyd3RSVElUZHI7K0t4QD1pViYjZSM8P0NMQDU3PGglbnlpYUQmYDIqJGMhPEBPREhAdGdOUT1y RGlyQEpqbgorekU5LWlLaXc/OCV0SE5UJSQjZ0srNiFpQXZBLXBRSm5HZGJoX0UxSWxNPiVSQklw ej1LaWQ0R2RWN0tVa3NsTVJiCit6MSlDIUVJYjg9YmNlZikxV1FvSGQhVX5nelp6NlFwRVpfOT1Z V0BmbXlzcURFUl5EJGU1eGomMmVzZDw9SkFjMDgKK3pgUX4zaUZ0bHN+STZSa2tZN0wqJio3JGtQ Yy17QGc5SldQcCozZyhqeFpkbFRkJHBaKD1kNjItU2ArTEo+dUZNZAorenlsS2F1YSZzUHo0cjV2 MHlAM3ptSyp5WVc4JG1ZTHtFeTVuZ1IySWIrU2UjI3pOc0B9KkkrXzhgPDtLQShPWG0+Cit6Y2kt UjhvRHNxS2hFRFlRJE93UGp2QTA8K154dmhGcjxpR0M8SypsWE94QXxIXkpMY0I8RFh2cnJEYCZJ T3U+eUQKK3pzZTNqZGxSfDZsTjNqX2VmUWs1fldJcz14a1c+cSYqb01aYyQteDgyYDRnVWhgM0x1 VzlLdjgqcFdvPVFWdipFRAorelNQIWMxZ2w0KXBEaVpHc0MrVXRAV1FMcW0+KXglQkM4KVl8bnh0 Mjw4cGAxbktoYnluUkR3ezFlU3MmdzhELV9lCit6YjN6antWI1ZmeUZrUjJDN3BeV2VmV3QhZ1JF KVRPMV4xLWV1PlpsKXFaQjNsWUpGJStOTUVgPj5PcFUtUHc2eHYKK3o4NzkhKUNIc1hZN0FKSVdN XkYtfGIxJnBNdDRpcU1RNUJCMj5lKTR9TEQqfWV8Qmg8IUhDQSlSU2FyWVp7M0czeAoremklZ0Bw RHBSZm9UIWc2KWJ7NDFtTnRuaHNfa0AqUiFVPXxfc3VZcCtNfEc0OVVDdj9aKXA5WjNxQn0wPEFW PzFDCit6UGo0dXE5O2N6YFgjNSEmVFNfS1VBS05+YTt8WXE/RT9WYDUpST1STEItcihfRyNtOFFC WVFZSXNLYGV6SXwtcisKK3o4X0JtP3JoQWE5dD9Db2FlKCEoQnNkN29hWlA1UHVMUEBnIzBIRlBr dUlvUXd3KkxubXRYTkN5dUxLNnc9ZTNzcQorej5SZlV7UTk0b1ZfbWNJMzM+fWs5PnRmTW5fUHZN ay09MXAoY15zZ34jLWArdF9iZG5pVjFuWTdEcU1AbUZFRnNiCit6ZEB2eVAtUEw1PHBeZ2VUR2N6 b21ZbXRuZGE+aHokJjlZRTBvbipwTzA9fGRVb2pqVE82T0E0MHQrTDxJKT1PSUwKK3pKSUJTNkxI JX4mPTF0VzlpPi01TiZqZWJ3YikwbXBqJjBsTyp0WUhEaSo0SnNaUUhpKHErQGghb3QlcmEmdEF7 NworemUheyQlYjVfLTtGPHpPU0x4eFFtK3NyT0lOMlhAVylfPWhzPlhsZmJTa0dAfTw8VEM2JmMo QWNHZmQ0JD9IVkBGCit6P2Ikb3kxdUJoYCUpdDI3OExGdVBjKlMqOUhkRWRebW5EZz4jPlp5QVJv WHZebGBRX1BjZl5lX3BuR1VtXk9aUnAKK3puZFJpPkU/KE88MSRha2ZnIXNgJkhPXkc3Z2pve1gq ejgjcTskYjtENSp3JDdOM2ZCQHhGeDAlcGxJfkxhRmcqOAorekpJdiFXUiZFZlhQPWh5JD5gPjZF MXNoSzYtY1ZwOXJTYGVEdEJQKTItI3lCMW9ybk17Zz1IdXgqMUEjIXMjVHlDCit6Y2VxeERFQi1T R1MmfVNzJn1xSnJBRlFpZGM1blprKDMlK1cleCNqRXBmbD8/cG5yPFQwP1Q0VEVNRmpjY19kKDYK K3pRQmR8enEqM1d6U2JSP3U4MmBueWJUMXVrNks1Kkt7NURIO2hZR0ZoKjdMZTNBeVpiOWZ+JTh5 OSF0Tm05RThtZQorek9wOT5yJFY8bSEqa2diRjc/VTAlM2pgJkFCP3xOdz0xU3FUTU93SldVaipM VS1wTHZ1bURnIUt4IUtTYEA2WC1hCit6VkwoWUJeYyFacUpUP3NBcik+SXxwZHdzZGdAdmRWdHo8 WGV5LX1ObG1uS0R9aT81Iz9aNTt7MDVfezByeztHOzUKK3p5MWhsaEFkIStzVUp4b3dXMztgWWlK NzYhcjItd3lONzVCb2Q7cUNeKGBeJF5mT0xtVjRueSVTSlM+YUdrNkNgfQorekMldlN5amkmeipH QmpRelRxSXRKViQyRFUoKT1UWVYyK2h0dDcoVmsjSz4oJUAzPDlsKUtHNHReNk1DcDMqK3RECit6 QXZ+cENUUS1gQ0Vxd1JIa1BDRlhld3hPb2c1aTlxTE5qaXhZUDNOSkhGSWVPNXImPUo9Yz41UCZm Yj5tMHgxa2wKK3pmTkxKfmtESFBPZU5VSD8rJGo3dDBAMj5YaGV9RjU0eGpoeXlGMnYjUSR6YTNa S0RQWXA3bjNRU1RMTl5WSCZ8TworellrREJaY2VGPnxESkwpRj9iUDxqQztXNEAhMC0tYjRDSS02 N3dZOXM5THxpTWgoRUM+MVJ3YzQkeys3bjtxUkNnCit6Tnw+O35iPlA8Wk85IUxCYC0lNV83bGZN fTkwQFBQUHlJQkhCKklHYGg3bk1EIUp4R1VMUWtHN3B2QHhoJmAheUIKK3pxR0I5X2FyK1J5cllO eSVRMVJ6aWBnSmctQSl8dFopb0FsaXZ0NnhtbSNLPWoqSHlpSHgmOX58dmpZZ2xZKS1CPworeiU8 UitvYi1FUExkazghanhxPGsodWI5MVl4cSYwQCF0fmhvRispKnYxbl9HS25RQn50VV9pZE8xa35v Z1VtISFvCit6bUB0bzAzKzRqMjh7X3dua0FJKkdvKz1AU2xtU2k3NWNBfnNoYUJsKXpjdEFHJnwj eC16OV5yO0psI3lCckN0JDQKK3ptcFYycStzT3daXmlITVNpfXw0OzN7YGNBeUlVbE5Ufig1R2Jh TzszOH08bGY3QiNUTXpufUBnT2JhPGwzTTdjZworenFGR3ZCSm8hZEBQdFA4ITNMaUIyYV9uPz57 Nm9eej4lZF5VYS15bCtYVllMV2JJZGl2KnFxfjtWSXVfV3FPSXd9Cit6YVhEaWVoejA3NjRoNm01 MllxKlgrRUlKMjJ6YiZRMWsyVHBteyFfcUw7NDhhQHYpTkohXj1RKm04PUMlUVJGcXQKK3pBJmBe V0FsdiNXKFQheE5jOXl7cCNncEphMnI+bCZDbzBoUDdJK2QoJX4wVWY0ZnY9MEI+WFdWbWl7IzZ6 dSo+dAorek5qbVZ+Q0t6UVFPdVckaTslU31fKSNXSiNNYHooMlgycXc7YTAyRHsxekU0fTwmIVV8 WCQ/e0pyUj5hJjcjWGF0Cit6cU14ZjNPaV81K2ZYO2dxVHVUPXwpJEVIZGVGRlVPYkB6N3VkYzti QC1eKldRe0JMaERRKHRmPSZ4Zn58JEJqSz4KK3orfj9OVG9pcmc9JEt0bTY8JCh3Rmd4fjs0WiMt PF4yNHhLUUQhMz9mJT87Y0BJQyphdyVXd2N5Z2ZYKGM2TEQ5XworeiojQWFWa2NfMlNKSjZ6eFhj eDMqQ1Q/U2dncy0obEd0ZUZ0YSF2KkFIcER0IzM+RmtkMzxwfWhNOEdkMjY7X05fCit6OHBMWVpV Rmo/Xj9VKWtDdk00OCZTTWctVVleTDNgITN+S2prMD16dzFrMiZKZmd8Ync9d2tEJWRuJGdHXmZH ODcKK3olVmFkT0dGQERqYEY3V1QlM2ZZUGE9Jm9ZVy12PGklbkskJjd6fm8wZWtlMVJjQ1YpMEtN cnZNTCYlPEpOcDxRWgorenZxSDB+MnR2QFhyQHdkUD8hdVRjfEluezglMXAmMEluMmI2KWo7RVhV O0A8fnd2b3l3dEpkaDAwUT9WKWAxWGNECit6MkopOHdFayExYyNNeHJ4b1NRK1YkKWlIZGZ+JW48 UE5LRjs0MEdUeWJVbnlgSCMyRD1ubEprN2JgbGI+UU98VE0KK3o/TWl4TzF5dnFTcFFaeDQ/I0xQ MkBCM0tTITE2cDt3IytpM21Kb21KcCkjWGhBNm5mZ0RlcHpKO2VfbE49I1RSfAorejQ8YH1+I2xJ aG1hTmhScio9LXYxQmM9WH0xZ0RveWkpcz5pTlpKRHhNP3BGTTF4bEt1LUQrP1A5MGkjOHRYV3ko Cit6Kko+aW9KLT1OO2l1cD4tZHxQJEVacWNBT2lKUFA9ZX4wNjwyU2dkPTlOLWUoK3pAMCExKGZf LUtLekdLdCUpX24KK3pOc3t5bjt1bVRYd1NAR2Q0Tz0zXk4xT3ghMSgjcnFBSn53VVAhSX5nVT4k JSYwLU8lNWFXakhRR2d0elg1bXdaZAorem5VMGwpYTslOXpTX3daIyRJWlNqSXFJP09LRntHMzdK ZmBCQ1JQczMoMig2QHM5bkdiN1h+VGM/dWAyMmw1MUV0Cit6WHkxKn49SHtqVHd0KDdBVHwpVlEo TikqZWNRN0o1WT1EOSZsS0AySXRVcj9EVExrVDstT1loU2RoWEMoRWEzZTQKK3pDMXVQUjRKM3xB SVU4a2tlbFV2ZChHUDE3PWBTNXRTZHJyKnVXQHUld31GOyY8czlKSzhmc1YkUmFFWVUkX0VPSwor eiNkM0NRbXZUeF5EWl4xNHspTGxCbGpKeDNGLWBifig3TzclKnYxKmVVZWh8Ykh8Uz0oIylFX1B3 S3Z2NFErUWV0Cit6ZSYwI1Ntd3xaOVRTfClmUW1OQV4te3J7MHZ7c2J1SGs0YHw4dSRKe0FmRFco a1R+JWd5cnk8UE4qX14kZiR1PWEKK3o7MiUzOXpgZytgJEh+ViVzJmV9MHs1bmhiMSlKKl9hXn5j dU5Md3dQaG0jNTFuJmRoU1N5aHxGR3RQd2RhWSlWLQorelUhIUVKY3k2NW5adEojR3lDfkhTOHVa Ml57S0NRKiN2eV52OHomdUp5UEVOTXJSNW0lITNeb2EzP0JWJFFyPmtQCit6TUQ3fDlnYkFzYHdM Z2Q4SDV8P3lNOWlFdkFmMSY0dkUjTDB2ZkYxYiYqa2JGSUl4KzEyIVYmfFRRNjFQVG1DMGUKK3pG MHdwWDhHa3sjOVA4VlRefDdqViluK35fNkZyNSR3K2w5VykmbjR4RFBLUjIqP1pGO08hNVpmZWVw fmFTWXRYPgorekA1IWtEeHx9QCkhKTFSe1U1enBvdlEzPi11UCMrc0t1a3o2KV8kfWdaditMPnEr flF8cCsoSUxjU1NfXyYjWmo0Cit6dHZTR1ZzVXg2JXhfQClYNE9vfjU7PUkrTHhyVXFqT2kmKSo3 YlBHRnJMZHsxKWQrfTRJMEN3QXdGSklKTjB0Q3wKK3pfaHFNX3pRKUhSOzZ4KDdrNT07UDI0Qj9l NDlMe2BtcHQtZT5+dCF0QSFtRVZNI3VwX2VfPjczeFoxRzY0NkMqNworejNkMmJMKy1jU3J0Jm1Y MSpSTHAoI0lVXiRCMHNBX3hXSCE+LWRaK0M+WGRZLWdOMzlnVWhXUWlgY0ZHcWRVOTd3Cit6MVco MWhZUW8pPmEtPFRzQzlFRVVFc2w8RypTajJ+ZUczXzkqIU04fUJ6PkpBST1vcFdVRjBjXm9hNT0z d0BEdGQKK3ptPDE0b1NWNUdjNUxLYCtfV1phYCtHeC03cWMrOSROWThfSSM2TjBUWiNRbTtrdHZr VEZ1Pj8+ZlpmK0wqM3k9TAorejk7SkRAbEt9WSt3WEs/OFc2OTd9bmd4KFJ0U09IJUBZdC0lTHQ1 Jjs0dlFpeyFQMWNoRGZUb2pEVHAmI2YkJjJuCit6JD9+NTQ1bWU4eUhYKmZ7QnNRXzI1Zm0zQEVx RH1KbUBIRDdjUjhOfGptb2QhJGlmXnFlPDBLPG05WVNMTzJNVzIKK3pESWgoR253bmdNM050bncw KFBgPm9qSTw5NVhMfkU8PEJLdHEwdnIhUiRJcCp5Mn1mflMzUz0mNHxVTFd2QCE3bworensxdkVg ekBCJnZFP31JSXc/O18pVS0tMkZHOyhpQUN3bEZ+b2JoSW80IzhLQGxqUChRUVJxJTdLTT0hMzxA YTc+Cit6TiNiQTYxTGJtaHhDfWZBMTlVXiZvLTtGJFMyZU5YcFB4UGpvfnN3eVloTj90Syk/Tylj OGpGUCpCZ0xhS05hJjQKK3pwbEdtckV6O3o/bVVJVWhRR31TSVd8PSY5QX5QYSNvV3UjNVJAZ30m Z056bVNCcipjOEs9cUQ8R2BacCUlcnlLTgorenpuOUFsSFVUSj9BWW44b3hePTJuIUhuPm5qWXVS SF85Q0dVQzlXZ2I3O2JZOypramEpMTFCIX1uYUJBblZ1a14lCit6a1hHUEdRU2oyT2RacnBNV0hC RENVQD9SckZaJHs1TnN4MXwwQjE4I2xmTnhYaUdEQ2x2T3N3Xk83aCZyQmIpUFEKK3pRSn1LWnJB Vld7aFdybFpaNGhOKHM9WkdtIU5AJmcrejU1MHgoJkp7VWVsTnlUcUElKCFXckV2M0ZeU3d1dHhC SworekA4XnxsbUF4NSE0VlVhMHUxRFRqMXBqVWE3dSNHSGBhRCZPPkR5IyhsVSl9Ujc5MVk3JjVu QWFIISFGb2JKUUduCit6TDBnPHEpNHw+M2gkZzRYeFUlNVcmPFY5d3tkRTMlcGdaK2ZRITNjOTBv RHFKQExRQE1iMzBsPkR5Jll0QEl0PEcKK3pzSihlTTloZVl8eVMyUmVLfDd3VS0za09qZVhEeEo3 amQ7ZnFIMkJiJXhpU2xyX18wNHl3VyFzVUBmdSFMUVAqfAoreiVQMz5NdD90cTRpNDw0figxNyQ9 WXBYQzckPXp9ejV0MkdYMUEyITlMXypJKk82d00mQkF0bShzQClkJXBRdzRhCit6Ui1gfXN3MF9y YDxeOURpJGhOVDFlLT9HTVU8ZilkYlcqYn5VKEFoP1h0SEpSe2V5cVclQm4jPipXaSlwQ1FjJnIK K3pvQ3pLRVY+SUVga3o3S3xuRS1WYFZxamBAb2xEKExHKX1CU1Q0ekBmeSRjTHg8MXJKNyl0fCgq VkRjQmh0JGZSYgorem0mJWo7MHEyekIxTCtUdUEmQldxTSgpZkc/YDIwdVl+V2xQV3ByJmVrVEZO TDBfa1A7c0IhNFJXTmVHUShYQShSCit6N01uPnVmYnBqNSFFajc4KDhjWFFudDt8aFEmQE9HempN bVA/d1hYKz1HJmVlVHVrIytLaipZYExsflJXc253P0oKK3pmUVJuTl54Rl9VP2hsNlhoIWpJeT9U XiEmZ2hNcnBWdU8wV1M/QUo4XlQzcURtM29kOTt2WERuRjAwVEl2WDVBeworeip1V35lMFZxLUp1 OG97QTROZEFsSj47JiR7Vk0zITdueWg1WlVWfWxMJEthdkZhMHsqKnkjV2RfZVlxXjBIKVF7Cit6 KEh5K3tPK2drY2lmYD55Rm9CWVV6NyFLcmJBWWB0PSlFdmE8OFU0RT99KjlPRSReOXoxYHMyQHVf MGU4OFd8OzwKK3o1PXVGcDl6QW1TND1qMkxhPCt+VldXQjFmQUJPTDU1ODl9NGtIVkBCQkVuJGY8 fiE4UXtUeSs8cTAzZCZteEBCegorekw0KXckPDc0MSRfKUVpTT1DQXxLa3RWYFNVWDFtfiNpV3Uh NW1kLSt2bypJZVJzMFg/JWAwQmBga0k+KVIqaShLCit6RUJSQHBkWX5RUSlXYkdIanR5Qm5BfFd5 X29XKz0/STlafiZvNzFmQE48Q1lSenNYTyROcHFhOHN5ODw1eUM8MkMKK3pnS3Jjemske1ZzbnRP K1F7c3MpSSEwek8/NmxBNnAxekBaPXc/UUxnYFh0JVc0eEZMTFBKNTdFUTB7eCYlM0NpVQorek9Y U2pucitNN1l5WSt6LWVlVVJDbWhRa0xIPzY9KmliOENkejF6QmIjMTx3SD5DTVJ0JGRZXkdDMXMt YSQyWlp4Cit6QVNDUWRuKnR+LUlvMSR4Xy08KlUzPVY0fFhDVipJfE07bElaKDRCfHlJaFleMF81 QiM3PzNqKSF1RUltcV4+YnoKK3pUZ04/b14mWDEzdjZPYzh4JDBwP1ZPVHFYVTs/aDZYUGM+QCUt Kkcqe15rREUhans+I2NkVFRFVT1FWWhHT2xBZAorengpWDkrJkNFdk1OJnl7QVVQN3g3Q0l6bUol KDt1YyoqOFpUSGtXaERRcFI3QDZGcXd5Vmxgam4rc3lfQXJ1NkN0Cit6JnEtM0BFayE4Z0d3bSZu REMwKGxGVn5jPSUoO0JzLUs3JjhjQ0coLSFieTJKV1kxQD5wM14lMXo1dn1WYVBLWT8KK3p6MTtt VCQ2NGwyJlZ+IzI5KGc/ITVZUWFUZT5sJFV0UFB3QFo1O3NyWl5ZcDgtJX5jUylpKWhCJEI/e0Yp RSpgZgorenopK3k1LVM2dilsZE9vOTdCVzxINl9Mc3B4YWlQWHooVC0/ZkMyfCNoMyRLTjxZcjt9 QWBncEBRPitofDc4Zz8mCit6d0Bjan05R0tjQGdFWSFaYyRTLWA/XkpUKzNsdD9wekd6clk4c2d7 bT4mNl5wS0ZuQ2tXa2laNEh3NjxFTkshVWYKK3ppMm08WmgqWUxEI3p0OS14Q0d8cV9NenMycUdD cDtpaERDMnMlMThMWHs4ezVxQmhEcHFsSy0jIWlqfiRwRGo/TworelB9MUN3b3hXciZIN1R7KFF1 P19GSENjVnFiVDhMWlZ7R1diUmZgdit0OG48eihncFo7RS04RSsrSnw3SXZgdUpxCit6UTRzKTNC aSZIUyp7bnJmTylgQHd5a0hDJHViR1UjITt2fXZYUnRSVzhFb2dyVjlKZEZpJH1LajY5YiphQy0y OHgKK3pEMndYLSFhcGRaYH15RiooSjtiZW9ZMmkqa3VRbGs7OVNiQCVNOyNfUVpSb2gjY0B0cHRK cGtXPHdoIVBtSGtIcgorenFRLVBLcnF3RDgtP0MjbkxzfHN+aUtGPjlfQHg5aXhTcjZnT0xsIS1x Ry1mSCg3KTJlVF9td2lVaUxzYDJefX4lCit6Nn56KSV7QFVvV0RGb3UzSW03cD5DOyNRck1XdXha d2doR0hjfk1JdGQ5KmJDRUAxKGVkNDgkSW01Y3kwZyhESGQKK3pFPTU4ZXFNMkMtOD9kRG1HRThe R18wd2JPeU9+WjVNODJLTFZqbyM3cXVqUWFPYU5UPD1WclViTW8+MUFCNjJJJgorelV9TX1+U1FD WHtONDg4ITxWOXkoJUJFO2RqRUp6aDMmRitXKFpsKEB2LXF0V1RXOUNNXkdFQ0NaMF9JQWkoNWtp Cit6NytRb1NPO1cjIUZIaXZNeC1VcCpRdV9qQUVSQ3BRZCU9ZGFRVDhgc1VfOG5zLVFHMnxNWEwl bzJQJjFubyl6dDsKK3phPVVBciUpTyVPIyE8KyY+d01wbE9tUX5MbS1mUDZCbCV7TnRUTXNTQXZM JWdXKUNsdE11ayErIzA4ZFFFe2krVAoremdqZ0dOeSlmMkB5Z3x2UFYxdkVLMSVpdXsjPC1wRD14 MVZPMEJIKXteZVFyRGo4aD1qTV5RWU1DKmAoayE0JTRmCit6b3xBc3dWaEYyMSVuJnp3byV+RD9v JlZaalJBTnoydDEzVWYkWUdSPVlaVmJCXmBuYXhnS0Q0cGkhMzF1czJBYXgKK3ojQHR5Xkxodlch dF5SfWBYVl4hI3s/ejd7SXkyQHpzVSREfll3cEw2U3M1Uzg3NDk/PSElJDcwbkw8Ozs8ZCYkUgor elAoYW5qTjFLdmNjdnEwQ2U0UUowP2hMQ0Axcj5rI19qUXphOTIqaitzcXJuYD5WPW4lME00cW9H UzV7TWJoWHVYCit6aTs0dlM7TkAmX1A3MEl3REJpSnZOTWs/fmBZU0Z2O1ZkbFckfSpUfjI7IUtF NXhpMTYwJjUraEVVWUtyX1BZRTYKK3pOZXZsRXhJKU5WQSMjVmhtbHgrMyooa2ZzWGs5UkQlPVkh JEtrS15eYlppOFQtbUZBWkspNkVsQCokNk9TckErcQorekleQmEmbWUkaUs7fGhLV1BYfU43T0dN UX4lYll1JEAybnNqbmgqeTI1cVczY2QkX19paDVpKlFNX0sxY0l2QnxxCit6V15nQ3glLVlgRFVv cEk0cXZPaEk2SE16V0A4aUl9K1p0fEZHP3JLU2tyJmhiRi1te2orKU50M0lhQDg7PXxzKSEKK3oo dE9xfV5pJjdoUy0wMUp3VkxxOS1eYTE0KFloclYtI09Bfj9mQFJGTW50Yl48MGRHak41MzwjWE1R NTBwOF9MVAorelVQMGJvOVcyMz05I1hWUExUdkRrcHlwaSM8ekpjdmJWYVU8KlJLMUwoazBEdjQ/ U085Wip5Ukx0KEMtJCNIKU5gCit6a2l0Nz5jdzNCcUpaUT1PeGJVUE9sMSpWbU9NcXYqI3BYfDBF b21XNyNAZ3sqaEhsJnJYJjJeNStZQ2Y2MENUcj8KK3p0KG9VbDRueExPTWRvVDYrbVdUYEEjciRV UnV3S0w5Qj9UKXVMMTBteE5kU3M4czd8elZwazhJdU9LNTFxa3BsWAorekJXd0N+KDZHMz42WUp0 djhAJSM8NnZiVGpsbTB6Q2U8Y0JKb3ApPV5tRndMVGJNa1dzRS1YSDd6bUFYSj15SWZPCit6TyRC eHRwVyVVezwzJWNyYGZqWWc8Tm93QlkpPXQtdVE/QVp5cXRmdzBoJW1yZXRTV09gdUhBfHY/P0lE Wm9lJXYKK3paRjNZYl5PKlA5WDEhOytqWmR+WFJVI3hgdUtHQW0tfkwxWmxZTjNVcD1xMW97dDMl NTRwalZIZF5pN2dadU5uKworekUpJCRkNnJESVByMlU7fVMtaTlKbkxTKVA2OVl0MkxsYnV9SHNa QGtpIyl4ZGtvNEstIzUyNUB4JWJ9aDVfMk92Cit6NzhlIVFTU3g0ZTtscD4oKCVjcWRfOGh0U0Ve LS1VZ3NhUVJlYFhUMWBSIU14NUdxSWgkPXczeClsK0grNDBINH0KK3ppOVA+Wj8rUGdAZEppTGZu XjdodDxkajs9RUwxOGNfaCZMV3pqeHVhfE07cU04YjZ0RiZ3STJKeUBHRzhFN2chYgorekFMVkdG am9qQz41Pz1GQnwwY0dPRzY7b2I5ODhYX0F6WV82bz5DMmphKUxPK3pBIWBCQldJUGxZZ0RXaSU/ U3B6Cit6MFI4c3t2aWhOeTM7RDhBQTB+PGVZQT0hTilaZDs3Sj1zKT5KSVlsPFZ5UkVwcmJuTGAx fEtfPUlKYiYoQSp4Mj0KK3p6dVEzdldMWkw+Rk81ZUZ3O2BGekBnbz9aWkVfND1vanVtYmJIRnQj KitvOH1NUGg0bEdgQkJqa0RLMFRjNVphTworenMrV3hpPUh2Z1F6M3E8aXElZGFiWXlaKWFGVyZJ KSMkWHVRY1NIO0w4VEpmaDY0YWlyNDJqKXAtNUBAXm9iRTdvCit6dERiYDVNKEA0fCRmO1h3LU83 X0gyPWdiLURXSSV9VUtmYWxOaldJZW5HZnQ5cUxNWCN1IW0/c3d8VkVGeShaJHwKK3pGOFhCa25y b2hvd2Z9KHVQWjxVSE57NWx8e21OSzxLelUqR0A0Z0hmIzB3cU0lOzZ5OWVAfWxLRWozQk9aZG5q bAorenBXbmNYMncmOEhZci0+e0k2WSEpdDAydC1QPWZUcmlOXmJ+VW5Cdj0mVU1mViRlanRwQFZe Q2wyeXJpN0J+OVMyCit6Kyp4M2xrI219cGJ2MW9Ec3RUSDI5YFREX0txPTFPLT8lWHUoWGN5Z3FZ VyZgb1Q9TzxqQHNuPmZ4WHZWWHBEQCMKK3pgQDQrQVVNSVJEKFpoeV5qdTs9JUpOI21fVzlFKDNV YnxQeHtpLUZkX3UxUWNkaWZodm5AUjt0SE9mVCk+SEsxeQorentoY3sjYVNQT35VOEZUU3k1WXFl eVgpSzlyMThxbTE8SF8/KUl8VFAldERKQ0koM3J7Z2FeWU5SVFBPXlVpWj5FCit6dDExbHdoTXtz aCZ3VHpzNWFqc14qVG50ejBHS0hlSy0rYFNoTmx7aTAlPW1+KV43ZSpkJUk+ZUNOeURJbWFBMkIK K3pMeXY0bnl5QmE8bG1WVVI/eSYxbiYkNWdBKXRje3khK0E/dGxpbClIcGg2Zi13Sy1JdWRsdX1z U1hubEhUfkZZPworemV3elJKQj83PGZOS010WXdDUTUhI2JqbGlZfkg+KG1eSkpkKiM4JDwzVih7 OUhISHkxU1dGLXdkKiVPdFpgZTg1Cit6bm1ISyFQd25JWC0pbzt7P2FoUXVqKVdnO1BUbztpJTM7 YnsmMzViZ3tGSH14eF8jODklTH4pelVVZUorKHZScyQKK3o5RkFWNGAwQSRESGZKY2lYa3opby1a YHtWNyR7dHJEQmhoWmV5TjJEIUxXVStNTWtVcU5ZT2FkTlExUzJ3bX5NbgoreiFYJF5hQkVnKihX dDU1PD5zLXdgcWx5TlBoWEo+LWZiVkNpe1pDNXNYQytfekE4aEIlRSM8cUh5PyhTdCgkeHlfCit6 JHE4OCV2KF4+XkNBXnErJU9wVFV1OHcyPHZgZm5ecjd4Mz1KRWhXKmMrWiVGJFVYYntPKzs+e3Rl RDFmJiFXfkIKK3ozditLYyk+PjlMYEVtXyFTcGxRYlF1Umh0XnZQNUU+dHpQfUloNmxXJWl5N1pV VCRufk4zZ2M/K1hvd1FoMT97TQorejhjcUFFJCRmISE8ZFhEOVNCMGN1ZkcyTW5Sc3xzT0NgR3Fv PDtzUmtuUSljIU8wMGQ7MWwrcig5SDIyNFNhRWdXCit6dXg+cWh1ME0qS3ghNXJDck4tLWFxbnxr MGZvNUNqcGYpfk9yMlU9OWsqPj4+VFIwISlgJU1NWXVHRE5rQHN+JCEKK3psP3EpPnVlKWZ2bn5v aD5kc2YoeSVNPzVQZ3hvJGBxRiFeayFYa0czd24tRG9SPnFrdHIzbH5vJlRwSm8kKz9BRQorem5K U0RwLXFjeWkjN2F9UzkpJipxKDJOdkkhPyl6QlMrRzJ+TkBSUENEQWA/dUxYcXZiSWZzIUlpJUp8 KVlKTnBICit6cCtySFlLWn1KX0hJdz0+KSUrPTlaNmJ9MihMXzl+cyQ4WHEpciZOfEVFJUwpc0B2 eTdUaC1GRHkrVDxGQ0QyaTAKK3pfUSkmeWNMUF4tbmx+a3V3SHcpZXVDNEpgYD97Sio9VnFqWDZ0 aWhfcGBseno1d1c4cihTQ2BnbHZWTHgobj1qKAorelV+Wio5b21XQSp0fFdeVXtKIWhRYUlyfDBM emFoPHJgM2duO3RMNXg8bjNnRVBJejNqSDReWEBBI1RQIyNCd1oyCit6WV57andvKnpQRGNqNiE+ aDg4V2A3MHxlazhAU2J5X1lkUXxlWCpvfSFnQ0huUlU4O0dIdyhGUVdYIXJ7ZTtBVEYKK3pSZytC RD9DSCgpeF5yYVpLS0hzdXFyPDFQKTx8Yl85eVRSfT9VOFU2YXchdWJPJkZVa2xYZGNaY1RGTElN VSpQWgorelFLbHFXMXN8elY2dDN6WVp8NSlhRj1tRVlGfTtJI0lya2M/PGEkV31NezhgdWs0PXVB XjA5PjMqd1NnJmI7UUJqCit6NT1Db1RKQn4zSD5tanN8bXJRckhPeiZSP21EZmJwTTA4RWJySCVZ PVA2V0lhITxxcDV3fjd7dUYpRlduPGZlLU8KK3pxODZkWnh2RE8hTkhYcD9qQ015WTNrfGBMSXcj fGdvXi1lPVBfaWM+PV9EfmdGQipRdVEmcm99XiZ+YlI/S0JFaworemgxRTxkaEUyZU1TaXJRWGEo QiEpMXdJcFEoQkNwRXhHVGxJRzdyIXNtdzQ4Tz0yNz9KQn48ZDFTcXUmZVZ7eD1BCit6YmdoZUlQ Z3JZYGF6RjJuYWJjVGBeWGhmdWBHTlEwTCY4bnZQdHxsa00tR0E0VUdsVnJuYE1qayk/OHQhQ3sq PHEKK3pmN2J9TnM/UmpSSCorR1A8TSh+VG44cFlEWnM2NmZjP2ptNU9RQTd6XmxyajIxTT1aajdg czNBXjsmbyhCeiE5Vworel4lbihRZjB9elNsd0hFYDJOc3tiRnlHfkdXdkctdUZqQ2A7MUBpezBL N2g0K0E5JUhWKUxLI0JVNDxuSEpaZWJUCit6RkszNCE4dGpgcDtKcm5EVGRMemN3Kj9nMzFfKypw dW0+S0p6S1UoMkp9bjBnS3dTV2R6V21mT0ZqdFN9P0YheHoKK3pMe1lJdWVwPUtEKnRSM2xTcTV3 OXE5K2llM1R1JHklYjJgKjh+YHAwQkZ2Y3NJfDJLR0c8ckckIzFOJSNVTmZsKQorel57cjZUT2gh YUxUSU9hOFVtUDtXMHVzdEh3JCpfKiRBPiRvUTV+MTZoeDItOT1ZQiZMeFhsYnBvaCtjcW1lKWRy Cit6bGYyc15ie0E1ZVpfPzUlOGhrZDwlKV9XQmBNUUU7SnlyUkheeDI2JTU/MjhKVCo5dFBhYyZf byN5IyZgT0IxXiMKK3opdHh4bzNSQmJqRENgZmF0LTF5VzcpJCYlOXNNZDNgS3w7Yjk0KHF5diZ8 fShJRkU1QnVnSS0yS0Q5IztzdEZ6eworekwzcUElVHhzKGdqNHgwWVVCOzEyM1kldj07eGBnY1E3 ck0+d1pjOzlyVVpHNDd9dHlYaH5QKFF0S2NMbFpqQD1lCit6RzRVYX4hUExWNj51fUlsSWt5TXNF TylGRSY3JTdjVFMtZFN1NT9gVkp1big4MXVtQWxDS2M1aig3MmhtQUkwYm0KK3o5UzV0WVMoYj9q ZkArdmFxelMhakFUNSpCVzJpKFE4NFhReU82cHB8KGNYfkk5QFVhZFFeb3JNN0ElYihAc2drOwor ejJteUhEWGN4emVSam12ZmFPOHU1ZFkrI3slWjxEJTthOVJ7QkVOTDJBUm5yandXeHlTMyRfPU8k RlQjUlprWEU+Cit6NUkjNmNJU3kkVz5sXjZWTUImUD1GS0BZaG1sMkh0UjZwSG1UNmlBSV87fCVw KVAySmEyazRLcDx2YS0zZjFuVTkKK3pDYCkpPFdYKC0qZD5lKD17VjU+SHAwMyVQIyo2RyZUNj1M fCVeaj5mdE00Q19BJjNDJVkyNnF4OFM2Kk9HRSVtXgorej5TejB6KzRCcG9GYl4tUl9fJm1xZlZQ eyN3TjE2Vzd8RmZwUzFUak02RD1CVVRge2JOenJaeSlyNXVHKFh4YXdNCit6cV9MVV5NLTVtc0FV O0dnTHR4OGRUTDRXdWd6eCQxentVQSNFPiFVeS09UUs2dmlLKGUwYWI7dXJ3Sj48cUlAPTMKK3pz I1N6K3ZPQHppUkh6Z1EkcUlzNUZKVSFvVkpFbk9jQ2wyMl5+VnBlWjhfKTYmNVZzeTF0PSpAUmRR UDdZOyZWLQorelFAY2FwdkVRWSFHTXg8QzNRKEcqcHN2NDE1Q3ZzNk5PR1NXR3dCbyt1THtwIVVz NGZIMzNJOyZFSjwlbWw4Q31gCit6RWtUQkNLYHtsfXBCdXEoRlYtfS1rMl98PVlnVl9BekpeN19W NmE0eHtfRGUrOSlWZnBwXipTTXpjKHordmZeTVEKK3o3PEhYSUJOSXtqWnBXdlRtPSp+IT1fSTF6 Mzw8OXdAd1B4PDlSY3JFT1hRQyRJPFRlYz4hYTlBSDRSU2FIQ2pDbAorekdCX0ZrZmcmYDkrdmpr SWsoVzkhLSNwZypTSzgxVkZ1YzIqSF97PzU5UyZNZVVXbUs2cUpLO2lKRHpHdUw5dmpLCit6IWFi VVUoSUIyUkB+Jn4kVkxxejFBcWpxKkBNcUQhWTxkOGwqeiEjbnBsMTl3ekd7PmJyZiNkbXY3TGQw enlzSH4KK3pxMkBvPWA7Xj9ic1J6andiKn4/OVAkJEdHNVlXfkw4NG9HZEAlamJhOW1WXk9zS3dV azheUmJ7PnM7bzh7d0dFYAorekh4Xk1DKTtgfnNeXkZHelNhNWM9cTIoOVJVeDxIKUx2aCVBckZo TS0+JTJUQzdVZiMxJD41T3VYZT0lYyVCSExUCit6M3s0Kkk5ez1vb2U3KykhNCFTQFlBZW8oMnt+ YGdpNWN0KVY7VmxnYlBzVUZYYVB3cCEtUGlkWns5SXt8LW93ZmAKK3pvc0RMY2hxakh3KEs9OGRr QWV8fkUkQ2VlS1FEJT9jZztrRmc+eWopY2c7ZnBAXjY5PzN4Zig3RXxQRDd6PnlubQorel9VSC13 e3NuPCN8Myt5VlZoK1pgK1Fwe0lefF5OfWo0KnxsXlAlUlhodVomIVdYYCZ9OE59fW9iNTNrQGVM dlFwCit6a2ElS1hCdXQ5c2NMSk43YllRWndePHhKJCRHS1JIK0BfY0AqXmxoc0s+b3lrPkR4dDxD RTdRX083WV5nSGR2SjQKK3pqSGtqY0xGa2RSLXxnSCktP0JqbEBmIWxGTVRZbjNmR0ZqbVpeZW9K YFhCRVI2PVIhLWlYWD1gdCtvNmZ3WjtteQoreklPezZ+TjBXcV5HUz1lO2peSXRxIW1ocCZna251 e3c9QUB+ViR5UHVkWTR2ZCp0bkU0YlpER3FeVU90fldPSjdTCit6YFE9YGRYcHVCfml7YTh8Uzhw N3AjQnZ+bTg3WGd1ZU8+S1VIa3VsZGtDd31maVU3e2tjY3QqfkI+Tlk4QzVZdG8KK3o+dW95cEIk ZXh8MnxRc3UlTm0xYkN5RGwjWHVebXgqVVhxNTtVczVEQ2hVcUhjI308MHlNOzk5cmYzX29VSFVj bgorej1nPCV5WnNUc1JUZXdYJlZmaTAkJUU4S0BePjY/fl5vc1kwbmxMISNze3Eke0ohZHY8ak1M M19WTGFfMD9rdUc8Cit6ajZYfWhYP1FsNEdZZnlNdmhlPEoqXz1YQ2pvc19fWm94dGZhOFNQNDFT JVJJPGNfcSEkUEF3MHVafnYyR2N1NlQKK3pqaSZCN2xhMjVzQFpEYjE9aWx3OFY0YjZMOHUmc35j TH1QKkVERzh6MWl3P3E3KUxqJnxDNlhpM3JUQWgqd2AkUgorekR0b0o8SG9eJSNRZWItei1iSjFj TVUmK3I1WjgzdDNjT3lPI0oySFRmTi1WRHN1ayQtc3okLWprfng3WFYkUns7Cit6V0ZZLUhEbDNH MGB5P0NsMnJEWUIkTFVUZWpvU18rNmAjODg3SD5gKl9iPFAhRnVtcl9gdXhHRXFHSE9DMnVEYTYK K3prKCokQl9UQUA7cEgpODB3ZU54fF97LTlpc1dkdFpgUkopVDtMRkdAO3o8SjIyWD42VFdvVTxB MmRQclJpZ1RtTworem1YLW1wKUByOXh6SXIkZDV7YFg4NUpPT2J2RDd0bD5TcDh+TH51clklKTdw VGM/VEQ2NUAxZ0tRP1BzTDBrVTVsCit6eTNUVzIyfCRvI2xXd0clbXhzbHQtJEVNMUh9TT9NKmVj QXpMUysyUWFGZWx5WSFNektPP2MyO1NsRzt1Vn5rdVoKK3oxPj99VHRFSlR0SyZFPzlMZ2dOX0Je ZXAzSz8zI2x5cWVtQk5iUW5pN0ZzNkk/Y211ZSNxcX5ATjErMTAwVWg7fgorejVUVVRfV09NISZ5 fmA5a0wrdDc1NGh6Kl8zKlQ+Nyomdnh0USlzJiVhLSFFdXE5Jl9RPEhQa053K2s2M2swK09JCit6 IyRmK2tKYF9LYFVQOHwmREZqfCl0O3NDMG18eF5pSiQ/bkJmZipjUk5PYFltO0s/OCpeI0puIVpk Jlg2enl5RGkKK3pLeiZHc0JDbSY5QG1VaSU1LUF7Yz19dTBZKXkoR3VNb0NkU1JjalhGbzVFTGRr ayNEZXBUZCV4OylNMzlaVWJwbAorejBnYnNSenNEPFRCZWhkUGJvPEMqUDkzJXAkNylKazdvJUs3 MjY+WkRWTnBFV2YwQ0x1cys8X3tUIVgqLVp3Wih6Cit6JGVjKT1aRDJxWVNPdVdwYXNgT1duZnFM bm97WjwlaUptcFllWmhSPkNtX2RjKFY7ZXx1QUVpZVY/VnNaNHIxVHUKK3pJdm52cUJoYjQ9dHFS Q2FrdFEqYkJ5JSUzYFJRZUxCNHNoTVIxISE9MW5RU1g7TmckYSY8MWYhNnQyTyhiK1Q4QQorenN9 QHF7UEFobV9UIXdGNTd7UiZ0dHR9S3RqPWVvQ3BUZX1BemU9biN2N1ZgcFJKJU9Dbz5jNkIzI3Vi c09afiY5Cit6M15+NCpVaUJOJmomcCEwZDtoKGo/RTdHSChaeXQ/KWYpbT14SHBiJDhgfmpwQEFK ZTE8MHFmVDhRRy12bG1JcU4KK3pwMX05dEo+JnwrPGU9NlJAST54R0NLfTVMMV95dlhtTUU8NmEy X1F3QVglPFkkVFVoeFltKCVybzBfdGJyV09nSQoremA8cDlXbkNjal5tfXpQXlpnSntAYUdEOTxI eGteKnd3SVVIKHNLQkYrbGste0JZdDczOTIhZUh7YEoyYikhPVZaCit6e0kocTVVWWRETXIrOGJ4 fE5lU2UtUnN+T25DMDw7OFhHeXZPJXhCPT0tOSo9a0ZEQnxONWFwVWd2SDMxd20kSDUKK3pDKVJl XlIwYzk0eTtYaU5YNHlrPj95ZnVJM2c9Y3Z0XjtjISlyTVJraDklUX0oWCl8cCk0d0VCTHwlaFVT M0ImTQorekxqPnI+QHF3Y25HZU45QXVqbiNMPXotYGpacEJQVSpHKD5TVTItdTBzLTFUIyVjPXVp Mk1FdjJpYWtjQj9xNTJ1Cit6bn1Qa2klWkwpPTB1P2wxRiRyKUYzd0d3MUtBIzw9O1JWQj5tWWs+ NyVhZDgrKVRJd2plPShDbk9sT2E/T15JansKK3ppaio9UDNLQ0JzbXVnaEx4eXJnISR+fCttSEpm OCskMkR5MD4mcHsha1Y0eXdGSkg3OUQzbjx1TTZrRHZ7PjRrbworem9SXlQzaChNJjBBeiNWbjBq aVZwaCtHPncrPm55dm1ALU5LMXQkRHhxbTlvJkBpPTQ5UzJpUWpDdWZKezBiMmkxCit6b0dOOzxI IyVHbVRXQGBrUms8RkdpNGZ2O3E0Ums7e3h3eDxKdlpWZyNjYCModXooKHowUHBTQDtoaF5kYT5s QzwKK3pFTCtWblo4OHcjJGRzalg0ZGBSeFM+LXZ8Vn1uU2NUQzNHQ0VCJDlzMkp2TE5DVFVAWHQt PzFtcXA4Szx2I3o0cAorem9rNnF9SWJAQCpDeE82Zk5nNzNheSFgUENNTSZOa2VnIWt0QENgZ3kh Sn1ZOVpIT083OHxgV0khNUplUTNFdD1hCit6YT1MaHAlOTMwc3htfHA3NVVhKENUNEJGbm83QDdk c0B0MTl1OzNTbjZ9enxrPmx+UUJGWHYkTFhxczJleFZFR3MKK3ohK09+NWIhPX54TTV2RCkhPj4m U1QpUUc7VlJyR1V2TCVrKCtEXnE5Qyt3VFRIej1oLVpjKCR0SDZ4LWp0NUxjKgorel5sbkoobVNk bD0tPHhkcWFXKkFsODlXfmpNdFhpe1puZmZxTDc5JVl8MWBvZj4kVDxzNCQ/JXE3d35WRkl2NWcz Cit6O2ZkZV88bWxZeFRRNGV4clphakRuSyY2JiZSUG9FKVdBYz0kczdSIWRjX1p7OV9yfkZqXzcw P2A9PTJ3Sik8TEsKK3oxK1pue1ViZVQyRiRAeHZmNmE7UF82YlVBbyRPKSpLQy01LTkpOU9qRy1K X2QyKE9mWWU3YjZLcDtQWTJvVFg9VAorekpZSHFOKDZOZmUofTFMIVJQOzJSMm5MdCFqUTlOSXZQ SkVMaEZKanx7RWVCKz9lKHZCPXNlb1FTJUIzWT94SCtsCit6KD5qP1QjNy0xUTcqM2EzK1Jze0E8 V2NmNnI5am1gNFdRfCExSFk/bmhTan5YRigtPlV3TUtpPzllJWRzVipSYkgKK3o0WkFEVCk7ZiRQ KWFzY1NRYDZRTTAkY3IjMiUrV0RIQSZCVmhsT3pfaHIwYlUteStRSGx9clM2YTdLcDNFdXooQgor enBqNkM2Z0phdjlDa0Y4YlQ4aFBVaiU7Wnw0UXZkVFpzWm5NVGVYWWAqcmg3K0pEdysyOHo0bDJp WkZ0fDVtREx8Cit6NWw4NylYTnN5alcmbyE0JFhGV1BJdV56RHdVQiN3OWlYOGhWb09KNCNGUjgk QWVAcTRkeClnWEMyVSktJHhOQFkKK3pVa3NsMSpZVD5BcVN+VXB3S1RjTm41R0hMPFI9UmpAXkNF MnQhISR5WlZ8Kjc7TW9HdCEhN2g+T3FiKXtxdnJJdAoremFlPGctP2d+I2dVI0g3bGpLQk94QW9v JVh6SXwoXik1QjhFOFMmKFUhfit6MSRHMEEjVSpoT0cpQXo+fUd1eH59Cit6QE8oYmlfRyZZYjx+ UihTXlgtSFAkb0RLUmpyfVg2Yno7aks+PEZ8WSFQWTgtdmAyRis8QkBOKTt7eU0wYHNIPCgKK3pA RXo4M3BUTyU8UU88YzchaXFTI3dhKmd2ejRJM3dYND9pPXpsajB9QlpxcyMlXiUoI3VGamErWldf ZHIxWnlPNgoreiQxJkpVcVg1O2VBYDdDbGAlKTVQK2B1cXEyPTBAJWlAeCt1ak56O0pHbiteUjlI QGpgbFAoYSlOKnArcyo0OzA3Cit6WGZYM2ZzXiF6NSFAUzZvSDhgWHx2RXM8S3o+ZVFjajIkXz8x a2d1RGhnK1pDSmN2PnJgJHg7dXZ2OCZvNUxhQHYKK3pLQUxXUWleV0R5cSNve0FYNj9GcnhxYS16 P3MrcFZyJihgZGI/cTtvMURqeEBgIXNZZ01BXj5IMCpnQzFRTDA9aAorek8qZjh7OW95I3g9c3dM cWAtQjtlS1IqK0Z0YzxydjhJZ2hmLTNEOU4zUzQxbEY8WHxfYE9GS3NwNCokKisleHs/Cit6V25t M0pValApJTVqdCE/VSZhaEM8PUctbldDYDM8Y3xROSZAQllnYz5XU2BDcnI1U0lrV15acGxxVXNq JXZsITgKK3ozQEEtek4mKU9iVmxCbTEtUmF3WSF0VEU4ei14QHJDKCZPO2M7T192R2FpKW8xbnAr WiRWQzc3ankkQGBERW9yZworekdXRDdTZ0kqaWhsLXJBQXBDP0BHbiZjTDFvWTlxTkVfaShET3Zm Zmw4WTghO2hvUFpjRTt2YEElO0kyOUdaYmJeCit6TXg2R3UkLWwqJWdsfWtrSkVBJHAyNGZrcHY0 SyQ9Y1k0fm91TDVNUktxbCNwWEBZP085IX5lMW1jMHs3LWdaQ1IKK3pZbnFIUVZKPlhwKyF5Qmgh OW42fThMI2Q3ZUtPbXZhKlczcjlUYkZRfEsyNDJiZThqVWhhcGlfbldVMmVQdE5RTworel4hc1gq TkZVdDJwaSVsNEokaEw/dnFeLSh4XjNgUyNAOEpZN0xOe1NwJlopLWFhc0Y/ND4wWF5iUWhkNEZB KypoCit6RlFeMGZwMHsmZkUwTCpLamZtWGVxMmpaem0jPmxKXzxHKnplQlNyeCVsRD1EeDteZ1FV WjAxbkN5WGRUPzlCI2UKK3p6M2krV1JGVT9CXnRgdn1TNiM5eG1mUUYxSUF7WGooLWt2MWZGJk9+ WjA3YjtPZ3VwQnpkMz5JaTBTMVBmdjx0Rworel5xTjZfJT57SEslZ3lgMyswfVl6Kmk5VTc+RiND NTZgKXtlV35JJW1MNGozVEhheXBXTl97azJCV3RQI0hUUntZCit6bF9nPF85LX1wQjdoJnswciNj X0A9QjBZczdFfkpQQz5NYVRIQTlFQWNfN1lHWS1aSXRCMGc4eHprSTBOKkRrQXsKK3pCPmQ1SylY KDM5QFgrVjVOJHk4ZilIVXhDb0E9SnFabz9iYl9pYXhXVVEwI2lzZz1nZUVBJWBSOGZGb1d4RjY2 Sworejw3TTBnclZRIWM8WjhSTkdvYWFyUDNDRGFeaHVJfG5vJjh+KDghLVk4UDZ8UjdgQSZFbj1A Wk9TXlhnRylWM1FLCit6PGI1dEl0JjkjZ1RBRFZ9RSYydyNgSTBVYmBKKzAjM3IoTTYtQXR6SWAo PUBNRigzeTt6Q0IoR15veTN1TXdtIT0KK3pvZUAoTEdfYTJ6WEgwTnU0QG9YZFZQd299PWFQMmRv ZmBDN05Bc3RBS3YoSEhLNENMPF5qQTR6I34xbC1yRTdnIworeiMqYUpSZjAxPj0xYn5NJFNeST53 NV5aODVXaVp8ZEp9MkRhZz49TVQrQHc5MylJJFQ8V1lLWCN4bjdibnNzP09CCit6eko/MGwpU3c0 bEFxVmQ7ZUt0eE5TbC1KQj0zWjRha0g8Nmx4TG1rN2Z3WWFuc3lhVkNVKz8kRWoxRlZzM3FaP3oK K3psVlIjajgqfFRDKHh6ZlBmMzJiUGAxRk91RDc0My1jVVFZYzZRMSQ8UW1VeH1HP2ZoV2xAYGll YzJuOCZ2KVpjMAorejZ+YT8oXm91OVdKR1ZVZGokUXxqTCtBWXstc34zWXJ6IVI+WChOZT04PSlo PTR6R31BZkU0fV5GYjdtfUszezJ+Cit6Xm9DZUc1QWpNVXU7KERuTGA3bXZHbHd+YyY1JCRDdDR4 KkV4MFd6azNSY0szVWc5SkZGZTd4XmJLLV9kVypxaVMKK3o/aGtXS1JIZGlwYlg1cX1vPCpNbXlu ZjtUWG0qfFJJVWE0bGd9djlLalAlNUdqcy18SD1xd3RKOGhTeXY9YE5FRworek07ZTQoUDhhe1dp U0NTbj9IWn5TcCVfKUJafWZIVmUzS0tmaWR9ZDZJelFhYE10RVhtJm5MY2s+S3JKNXRefVlqCit6 MVFIcHZAaUs+OyRucjBZSiFUTiY7Kn0wQUBZNSYta1lxP0k+d1lTYmU+UCo2ZU54KlAkN1hwVFct UXlUZUgwTX0KK3pkUkFtaWI4XzQoQTdgUjVIWERmVlU3U0tpN0wmJkRjOVBUODIzVjB4dyFJdDUz aiNzJVhWYCooSXpXSnhSX3clPworenJsbz1hbjk8STlxVkA9RSQ9aipPVEUmZy1JJjVCPipKQzZn TlpIOV5fJUJtVzkjdzRjcT9hd0FxK2VnM19OV29MCit6cmg2e3U4X1JrTjtOKFg8OXU3ZjJaIT4q KF9CR0lhYUQ1MlNhSSt4MHUxLWtpU2J0amhASkYqOSE+UDREeVA0aXYKK3o0QzNybnElWFluaUxt SCtvalBQIW4zfipET1RQNU5iKllhMi1vfS05K31lbSpWZkZRUHBFcnpha3Z7VGMwaG5JcgorelpF aHFaaEZqTioraylIbEY7dC1AZCYxQmQydTBpRnkmXmhjc25fbDJNI012VDxZd29jKzRiKlJROEVi SktUcF47Cit6Y3EzVThoOTxJY09uUWtATXhAd0k+RzZ0Vm4ofk83RTgqe21xVk5DM1pmWDBHUlJS dmJyeDdgVWZXRGdsTHNvSGMKK3p3eWBtQl8jYmRmPCRzcXxyb0FzNXV+Kn0tVHxhKnRIQjExWjB3 ckRZbHVzQGYoe2RpYFhla0NpU1RARSlVO3NmTAorejNpclY+RiV0eTBiQHskdT5BQntmeio0TlFC VFAhdEFnNygocEZkeVZtP2UlVFN9VnstLVd7YFNIZGxgMC07TmlHCit6NFYhOCQxNnBkKFVOX2N5 REBNTG5ualVURGA4MWM4JCpmJU4wWG5xT2leZ3dQblUrPSlfRHt6TCheQWdeSktkVyoKK3pEYGNh N3t7anQtQE9aZ3E9cE49UmpUKX1GWX1IaHsoXjwze0RPODY4YlBMcm9YaTg1aTBXRUI8clpUWSRx byVwRQoremNUQWE/KT1JUUhuSUB2d05LR3AmMEF9eHttRz96NCUrRksoT18lUjZGWkREKTw9XmhB aTs1Sm4pNlBwOFBuRzE3Cit6YHdkSGxtV3gzOHlWZykkZkpgQH5gMn5EOykkWm8xaUJqcEVsUn5u TVRJazBFTGgmb1YpPFZZN0IhVVJ7T3dWfWEKK3pWLTRIaSVaUyM7VnNBaUpfdz9wKWItOD1kWkRJ VUNHZDh4Nng5OUVvQElgQj9rIyliYihuc1BSdDw2MUdzcn51SQorenQ0JVhndnFsVmFSOSRiJFlW OU1gPSg/OTJ3KWVLYE0+eExlRHctQWQ1TVcyVUhsbXJiKHE1SXRlZT5VRmRnZSoxCit6ZCVIRllO cVVkWVhFdFQzM0lMZDhJOC1iYWs5TEpLZUApTkQjTnluNV5fdj9vQW50Tj1kSyZpYW93eTIhdVUm blkKK3o7M0oxRVVQck45NGYkJFpwSlBiTyplVDkkeE14UlM2I0UhaTJGeDNTcjE/LSp2VGRAeWRJ OEtlSDBJZSV5QytWRQorenRzQVgwMns3YHh7elBAPndPM0QlQisoS2EhJll3cmohUn1MUjlZQ1gw THw4PyFOWShRX1ZwP1kzITZySnckOWx8Cit6bWwxeG1XKCF3bWk2Sng3I1k9MldufH1+PkZUfSkk WWhfYmpXNEhZclIjQ3RrQ3tOZXQ7SHNAR2VYckpScFlWclYKK3puV0M4aWZOdEhiZS1xRE1id1E/ YnhqZ1BmcGg9ckxwNChOPz5rRmZEQzJ+MHZIOGomeW9qcjZEMT5IUyhoQTI/agorejYlRE5UbW0j NHl4QSZ9WTNzQFB4N1hLUEU8UzA3bkg4cl8jYExiKXImQSs1cThfIWxqRUsxMXphdTtkeUglNE9p Cit6TDtLfEx4JiU+NXlsSyN6QWkyM2Y0WiQkOGYyNlBvR3srZk5zeztpfG1OZiVJRGM5a0pwJlBX Ul4zJnlyckBFSEYKK3plfE1+YW5GTFdGYD5feSY9PzdDdWwoT2ooJWp1I0Q3JXJIYHNKYGl2ZlZm NiRyTEM9JmIjTDk0K3BNZDIpN0U3eQoremwwaE5rKlJHOWJxQHY5VmklQm1kcn1Mb2FYe1FHWTRg Vkx5aD5TKElQX1dwKz5TLUhqQjcmLVV4bWc+WEx8enxRCit6QyFkZUIpRXNtWiRoMitBSHlAUVBX N2smP3YwQzZrT312bys8cXBiNS0/YF90ZEpDNXdEJDFaZyphSm49SHB+eigKK3p3cVkhJUx4T29e PFhENm16Oz9KRHBhYncrcT15K00qVkE3OzZ7I0EheU87ZDx6fWVHTjJRMyt0e3omITlNPkdSWAor elQ9WkMydEIkS0B6V1FYcSslMTJHQlZLeyk2UT4tc1RiYTR1eUNDK2pCPWd7K09VaFczSyEpVlJO ayZUe1c1ZGhTCit6WE04fXdaWX5DRHJmM0t1PE9MRnhhSEZCcmR8QEVEVz0mPE1XYzN5KF89Z1Rr cnVyPWYoQWZwO15lTWE/YFh9ZHUKK3pvO01BRlY8ZTNoYmdSVTEpWH5WY0QkYDk8XkRaSitvJDUl S0NKTlNCOSZvel9QPWkxYmBzV3BRUTx1RzZlNW8oaworek5DcjtKXz50OSUzYHw4TiNoUFclRHcl c21qSFlQO15CTzV0d2o2aCRDZz8tbjhKbXw1UWUxPGZtcHZRUnNUd01+Cit6YkMrU2oyZn49bmF4 Xms9aXR7VGA8NCopMj5MZCo0cldyYV9QKE9mbiRSU0lyZXElJVlwPlQ2Pl9UUGtxe0EycmMKK3o8 bD4zR2p2dmZeTzt1PGwkI3ledy1QcVhsdW5tZ19Fe3xgKzdmTHYkTE9oaS1VLTBSVGpFYGAtaC0q UGh6I1FCRworenBfX2d+NzJESWFwTlh4WVVHbDEpVUF3OShaYlIjPlBFYUpzJnFPX3FnY2Q1OUFF MEdVTDV9LUlZWVFaJih2fTd4Cit6S0BsdXJnak1+aUc3Znc/Z29GNWNkaU8pTXdUcUFlQ1M0U29j KCtNcWt2WWVvYCZZJChVaiR3QlVjaEtrak14Yl8KK3pjQThtMipsZnFVYmQwZnIka0w+bXAhcDZg NUohbyVweH5sfU5JPF8rWl5vb20tNTJpeSZsLSQ/R2lXJHBtfmkmNAorenN0cz1CKzA9cH1ANGFz TUtubiozQnZnb2ExSCVVNnE9e25ecWU0Zmc/bE9XJFMoUkJLX283aHlvc0E2Zj5nY2ZjCit6Ml5Y ZEt4UiMtVzRFJi09SEsyY31FJUJ5Typ5MG1vO05BKlZ0TnZCUVpjUm8oV0o3LVd3VWFQSVFRWFhq Z244M24KK3pGRWRzczRARjhPPmdkPnM3Iz96eT9IMkg1c1B1bypoR1JIRCl+ST9KR296REY+SVBJ aXBhLUQ4NFkzVFQycklBQQorelElOzBHbkNSLUUtbkpjX09hXjNXRDMjUU5sbCZvTXokfkEzUlZn JF5YMSQ4aTdNbW1fbHNiZGMkcHdmMmlzMHc2Cit6Yzh0THpvI1c+cSp+dG49ZnEkfHFxP01kWWV2 dVlXck9EKFZWIT5FYSE+RE0tRmZZPUhEeG5HOWNRSll8TUNIKyYKK3pnTkcqK00jVlI/ZkZrdlV2 OWUjQl9mIXJlclBoVmdmVypHQWFAMlR7WHk/WVplNT8zaURKdnJHUGdMRilPa01FcQoremtWdDJu KGk/QS1IdWEmcm9kPk5yYTk9MnBwUXRwTzRuIzJhRSNVaFByYl4jJV5jOElSWEQoXzQoanYrVnNR NHZnCit6V2lQT19eZ0B3fnF8OT9VWWU9OyFpP0BuQz9tPGF2QiE5RTgrRVhyRXkyPjtXbF5tRn1o VDNFUHZGP2tyd3hOQmQKK3p1PCN3JUNTREFjZnY3eXomc2tGdF4teEA/dDFiYkpaWUNCP1NfJUpy ZytLNDQ7OCt8USR9JXd3V31RcGM0fFV6IQorelA3RzRjKTVsbU5SWVpsdC0yRHE9cW10bUgrZXlP KUUpbEBHOV5QblNKfjkqVityNW88PDNQWT9eckRvdmhHYCowCit6QUdAVT1COEs/YTEpOUhfJWUz cyVBZWFgMmZKfFdkdVlhdlo7Ky1PM3F2OSpUdCl5Jkw9aURmSnVxMjdCYnNjVkEKK3pRaVY9dz5k eTRtSyYyI09Ue0pAdUR4IWk1eTk+YC1UZ1I+PCF5I3R7OH4+RHdPdjZ2Skk2JWU0NjZtRWQ5eEJW TgorekNVRkBASjJWXk4kOH0qQSRWLXZScT5lcEV1dVJoKSpadVpqISQ5RS12S052dDdgKiE9QSN3 O3ZiZ3J3I1dvZTEjCit6Kis8fHByYiFea0BKYWQoQDlrNlVna2crajRZITViRF9xSGZ7QWBgS1Aj SjV2cSs5KkVmcGcpNlFLcW93bkApcFoKK3o3UGhDZSViemNzSldgfkVFcU1Bd0pZODVJRFZsTzZL VEAqO0tAZXRGcEk+dT1XT18mcWVwdjxkKT5zeElTNCV4SAorelF9Zlk2M29ZeSV2Z1VKSVdGeXZn eGtvOD9KOz4kY3xMZEBKdGxOdVZEPlhlZ0FUK0B6OzJSKzRwRkgoTEhuSzI+Cit6S0hlRVJRO3U1 WC0xKiU7djY1S1oraiZZemh6NEZuS2FCRVdYXllAPUlZalNJbkk0aVZCSipBSWpQQExQUn08aGsK K3p8QVFveD9lQl56PyRXO3Qman1NRFZAekMlUVEjd3FWSEZoX05MZlFQRF98d2dmYUtudFArZnZE UCFzOCNPdCFLJQorejQ/Y2lpWFJXfEVmQHh6bUx7X3NMd2dGJV9ZTmBIOUIpbyFZMCFnWFNuRE1Z NjA5VyNvTlJMPXs7PWd+VyRUM0QyCit6UCMoUE1rNEcxbFkjMH5HUElqTiVrcD5aZ0spVjlVR0pM Pyg3VmtfIXdIKkNEXnR8YnhHOF5lVUtUKGdGO3codHEKK3pCbSpHKHZnQXd5JHc1P3FgVDJtTDN3 bE9sSkZEOztjczEycj13P0N+R3ZtMlBgIUI5bTR1XzA3em1uRXImcFcyRAorenZtbjI/UmRZbXRJ X2tkYCRyeGhBNlBlT3BZIX1jTEJgVVI2Zj5LNGB1ZlJqa2dwJmAtcXRmfGUkQytAbFU3WlUpCit6 TD02eVBVUXYzSGBVRGtnJkM1ZldxX1FgQzltR3FlR0NPe2BoPVItJnJZP3M7MHdNMkxPUk96emop KiV1bUs7KXoKK3p0UEMkeXRYbkVhRzVII3skQGhjUChRZi1gSW1BYTd7bUZySHhheURIR3hsV3ZE MzhDWGEjVmdSY2ptJlU1PnQ2RQoreiNPemQ5KjVjamNaMkMmRFVtRW5fcEw3bkdiJFpzKG09RFVo eVFUJHV7MnU1N1pLOGx4cUd5MztOUHlYfk9DVlZHCit6ez4zayVsV2d8YDRHdE1qeF4xXkNkNHJO TEpJTDw1Tl9vK3ZZeExVPCNAdW9GUm08IyF5TUVCM0pfXmY7TEExYDsKK3p3dm8tOGpybmJ0Mmch PUB4NFNWSCF1SEdLQCM7ZCZjQlp4bWNaZUQ8dDFzNER1JiY9Jj8oezVDcllBU0VmMG8jcQorenNX WEZaODV2Z0xiV056PmBzXjAhWERibWxpNTg0VUklISlJOWheU1FDMzQ1X1Z4UlojQW80IU1wNF9J MVBhSjQ9Cit6RnxxPzx0TiQxO0lLKjx1Qyo+K3c1Kmc/d0p7fFdIMURyOENCb09jMTI/VjQjQTwk eGR3V09Hc0B4QDd9PT0zc3kKK3pffUVUUEZyX20xTlBHZVhGJF9KKGs8Sj0oSSlIQkJIQENjMkFy cl5uSWoyYVYrbTRgWmI+Km1BWVV+SUw8KU0mZgorejZXdjFmTEdMJmBRMHxvXkVTMmFUQUhaMkc9 MjFlX1NANUlPSUxXMmVTO19wTjMkN0lecT9gUVR5Mip0ezdTKjNBCit6ZEJtd2I1e3E+ZHBCSkUl QGp7YGJpJFNVaWA2WCh+U2ZgNzlNVEtJNjxSPj5Pd1dlNXJNYTt3MFJEWE1UOytyLVIKK3pgUGIr PlIhdj1rUE16eFJPaH5eJUgyPzUpUHI3Rk9jbypHIzM1Vmc1UDg1Mzl0cyRNYCFVeyhvOz41ckRq b2h5TAoreityeEYyQ2d5Vz5fMmdWYW40XkVmNXFHSiFSRk02NU5xcndKV1VAR2xEdHJLeCRjMmY+ ITFvYjZme1JQMyh2TSQwCit6cWtZKTxNcz1ITHt2WXMwREIxM0ZWM0c8V0UxNjM2OUhOPW1tP317 ZTNWQVItQWQlckZRT2BEZXt1X2N1WUE7aC0KK3p3KkArV1h5Tj8zYWc/Y0xGMldPVl5aekp9KVI/ cU87VWJHXkVsZi0zKXxyc3g/eUE/OW5ARVI9bmtuZmVQPFY3eQorekJOeHx5VmRDe3c5U18tNSs/ V3w2eCEyb1JHbXZVc05nQVplSkRge1lUZk48RzJZTzdnVVFaaElWJVFTYlBpd09yCit6dVRMM31V bTtZd005bVhna1R8d2VJQTdpSHU8NmVmNikjflU+b3s+aTxoJFF8Pm09QENNOGp9aDgta2d8cFF7 JiQKK3o4ZlN0Q2hzSHwwVHZ5XzF0QiVNLV5ORH10JnVIMjZkanEhYHVhZyFyRT1Ye35wJCs4SSsx U0tFPUdSbU97VD9KQQorentPQm5SPCg8KkJIfXFlMUNqQGFWRjRuM2YoTDkxWXVib0psWnYmK1Q5 ZDJ8TlpiMWVSPHVrQDg4KHslVlh6PiZ4Cit6IyoydSZGRW5QZVctTnFISXhwYHAtSE5BNjFZc0Ur OVFmfjA0OTNJKGdsTD9Pcit5Xlg1eWc7UUVVd0BtUHRHcFIKK3prRTwzNFpUbHZCeWxVdGRtJVNu O0NyYihDaHcpUGwtVWNoaXo9eUlJcn5WfW5DXytmaEw+Vj8lQ2FKbERtZHpoXgoremYwTlp3dHt+ eDslPWF2ODFSKVZieDZyaWVDKTRyWmBSe3BUV2g5UmNoRn45byNHQEBhJTByKWBALTMrKmYkaVNW Cit6UF5FK2MjXiZmeCQjVmZSQUBnUGVyO3ZIJFhSKFVWWU1LNnolTjJ8KyUrUFM4T3teYmh7NCFC UUUyRDw+bUFVO0oKK3ppMWV+RnhtWHlmYU5WSGpFLXpTRGwpJDM4cTlveHJnVjV3clpyNVJ2PUBO IWRiPThPJHxBKHp9WTdaPTImdjB6cAorendyJChWI0t5JDdaUUhoTytxUH1uPykwR0RKP019NHVK eGAqdz1OPTI5M2dCRjNeSWVCe2Jhan1OSF9ANlB0NSRfCit6JE5aYWg/bGRxYHJFSyNCODQqZFhZ YSNTTVhlS2VEQV8xNVlGaG5gPmdiN2NhazxBQ3sodkx3a2Nxajh0Z0Y0WHgKK3o+fT9YckNBd3V8 WU0kZj5wJENffDA0YjdRX0VSfGE/Oy1PPTVMTzVtYktQNUojLVNyUmQ5NXtxfE1Ma2hpOE45Tgor eilCJE1uMmpULSRfRG1WUyE2NTB3ST0pSWE+NVRNfkJYNGNXcnZaRHh4dnItRmJ+UTRebSZjOyY9 MDFmKXRIVH4yCit6OXZMczBKSjZwOWZ6RHstb0hGMWdVZ2RaP01tVlF1YEBEO28/dzBkYDYlNzFh bV9ecEdWJkBTNlV6fEk9Sy1ZZTQKK3pUQFAjK2A9bzRtbXE5MCRKTjZQMGgjYzlHZTFVPnB1LWck UndtSiYlK1gwIUZSMFFpM21HaEZlVDFaazlHK3RJVworemJYI1VtZ0FqM0YmeGhrd2VtP0opVnwr RyMtdUx1aHcrN0Eoc2YxTUNqejFnK3EpZzkxPFM9bl5KUVhvaUF1TlA1Cit6QF5AbnhTRSlHa2Zj SShyb2crMkRjMTRae2w2TFY7MHB2UmAhV1ohJD9YMkxEUFVOMFR0cWtfayRnIXVvJjhKNUUKK3o3 K3R7QjJkMFhmYlE1WHFFSmdXTmh9cDt5ND4oQ01sSXp1MDM0bnNOYDJqZzV7TnFrT2FBLTNncWlZ eyhAYzt+Qgorek5QZmlSVXwhUmE5RnNtNTNxZUl0eTNrcFJOMDQ3SUxrMiMpOUw8NXdgMkxmVEor MVgqU3FXRFZ6VnxoIXU8Pm5BCit6YXNvOC1POGxkfmMkT3RJV1dLZmdnUn04Pk5yODt3N3dzb1JD ciVGO0NqQyZCJHBWUSoxKSFsZUNzJm1fZ3FubHgKK3o3I3NfOzhkK1JtcVl3KSQre0YzRUFaZkVV aF9MQjdKfmBiNHNCd25MNSs7Nz1KaVlOdm9UK09rUGd9RmRaY1dTKgorenEzWFM+MCZHUGQxcHxa THU8WTxHdT1xNnVgPm1vI2hDczIkYCVuM2U8ZWYjZ1hRWWBYYns4Nn13VllCdTUkKGd+Cit6ZU95 THNENGFlJU9XKDRJSzwqUCZiOSR9P1FoKnUxWCpBSmUyUmgpLT9veDw8aU1gJGx7dTFCM09DeGFh ZVN4ZEcKK3pXcW9ASm1NQXJBeH0oaHYoVE1UbWdjM0NpQTcrdEFOd1dgdUMrV0BlV0Y4RW5hSD5F MyR9Kz5TbkkmMV8wYGtPUgorekBTJjhNR1R0PlJzfjB6QjQ8SiNWVSUkbnhWbWdmaD93JG17SWVW IytCdVFkTzFsS1F2dWpTMSlURXVpfEcqYihPCit6JS1CR2JUXjdrMHpzZ3lvSGE4eTJAQ2ZLVE0/ N092bnd6eTtUQTFed3dCZmR9MD1gNmtadk00cSFyJlNvRGI5JTQKK3oxVjZIWDZWSlhxWTJ2O09l d2BDSiRJS1dyZylIeSFAUDIra3NobVR4MHFJS0hDSmJaX0xwWSZ+aiU+PG1RPDFURworenJlR2Um VlpLNnRkM1A1NGBWQ1RHXiQmNDtTfF8/WE53MXxBUVk5JjxSXnEyVC1JNzVAN150PGFUeVFyY0t9 UVM2Cit6Qy1xI1l6fSp9LWE5Uy0rYXBrLWtJbGxWdktRIyQ8TFRYKnxae3VHMTZ5KDhuQ2l2LUdw Uk1mRCklOG5XO3I8OT4KK3phZEYmM0ZpKUFoOU5ePCoqP3cjKTYpaSE9emg9KERKfXFjJCYwYmIq MUIxJjhsRG5ZKFhQXkJUM0NVbXBpT3VnaAoreiRkbVdfeTlhbk5qZ3d4YSZ5cEljYDtGJlNTdVp5 d3AxNnBNZCY1NSVFY1pVemduZShAI3h+WXN4VUxWXkZFcT1KCit6PHN9OzFYT05qd14qPURgaGFp NUk2UCE0aDdjZ0ZYd2BvbDZyV0okQW9IVjd7UnJRfFVxSFp3LXlgfE9QckQ4b0oKK3pCNGl4c2F7 b05JJH5Pe0gqbFN0STA/RGBwdUYpWWVWSzI7JmoxaEQhUj1KQXRgdlhuMmE+XyY7Xlh7ZVAraGVH ZAorekt7eSl5YTIrVFVnfEFDbyl6Pz1MWSs9ZFJodTM+ZVN6Xm9YVW07dENVaEIlYUB6Uk9zJnU0 KyZwSzVfcDB4cXBaCit6KFppJUxxaWk/eUN4fVoqWVFESXw+flkoZGJYS1NAU25rdCNpYn53SXF5 UWsqWDBOMzkwck9ST1BNOD9kTFpeUzkKK3o3T0BIbjdFWlZMeGF1bXtNY3A0PShJRCthPEtLT2lr NSVEPTZIUTE2eyQ1cHlnSUBAS05uRXFvO0gwVz4+QTgqJQoreiViJUROMG9HUnZlez0xRmpuJXdA bm5CazN5XmYkczh+QVVoZ0FKb25gTiQ/Xl4kdyhPPWR9YyZEYX1ialhTakV1Cit6R20/VyRRJXB3 em00ZVIkOCh7ZiR2SThwJHFoQ1YjZlpnNCpiVGVmQStiLUohR05PM1pIXk52TVBJO0YqPDNUdE8K K3pSdXQtcEkhUSslN3hHLXE+SWNCJGVwfFhkQzxhPnNERlJJcUpaU3wzc2ZsKiRuKVJAJTVGdzNS UX5CcEc2MCRzNworejlvNX0kdVApbFMja0loeypDRipgOXQ1YHkqKTUzJXh0Klk0LWRQMExVNnox SGI2R21COFN6V2pNS0JBMCQlUD9yCit6a1h0Wkt0Q09uNnEjSllFTUxiRlluWX5aTEdWTl9CMVcw T0E0M3k1R2VBLWRrOF5kemJpfUx4YTstLW1ZN285WWAKK3poO3BibnNFOVclOTxZYHJgVWhvWjUt e19INzI8ODtuN3xVN2R1THsoPWJAKGhlISNwZDZHJUhSQXlgTXlHbXFWLQorendoZF5vVkwme18h NHJZfFZmXiQxS2xNez1HMTlXZ2lrezVGOH5lTHE4NW8kfmdybXFmaVlSSnQzc3JlXippb313Cit6 a1ZRWT5aQHYhNmR+MCF7IWdudllPUGxESDMtLTIod3VeakpaQ3BYNz9lRDU5cyspbCM1TFplI2M8 MGpoU3JFRSYKK3pVWChWM0k/NmN+bHxIRS1SMC04TW1JQUVqS2FReEw/Tk5kbVRzazBBM19ZNGJM SHRIb1pRMHEpT0wzNmdwTUVhbworenc0OVJrJH5ZczNpdStkbnNeVWRBeyE0I1NkQGNFOzIqblIz PkdeO3I5YlYwcnMwe0hTby0lNTE4Wks8RWooaU19Cit6M2lCOGROMns/MFFzRjFScThGUWQ5KSUm bGVQfUdgY0lvN3VMYF8yfWYlNXRsaGEtTjRIMlAja2lVQSE8YThXNX0KK3pIeE9wQ1g2T1NAJS1P R21AdGdxRVpCI1MyWVRsOE0+X2opN2MtTD10WT9LJXE9UDNzelN6dko1eTBSajl5eWkyRworeihm UTdrMj8mTXIwNmFFe3N7OE4qam54aW9zXkZYYVpMK1lVYWJCRGw5ZlRsVyU1KnBCJlMzMjU4KzBm MG5NckYrCit6YnYxcVp3VEYrJGRGSCRhKmBFMj5CNHxLMWVVU2VgNilMRyRCS3lmZi12OEpwTVNM Wk45QyZ9JVI5IS1TQDwkKlAKK3ooTGo8R3tNTlJDMmxZPHsqcys7M1BBck47b34qV3kwdnQzSnI5 K1I9cVJGRG0zeFAhIXFlRTd1MUZWdCY4RDVLZgorelEyQiVUSUd1JGU7em5ZQWl9aTI0ZkwlTXpU WTRiMlkwai1VaCZDMisoe3N6ZnlnKlU1YmZfO1pEd3o2TW03cVNyCit6YzNQTEhJKm9TeCVRO3pD dSZ5NU1EU05vYD9TOHlkIXB0eDU1PDUkfHwxP1p1YiNKPiZ7JFMofWk/PGBuOT8jflcKK3o2eSNT dWJpVztoaCE2dk9OQDt3VHJhNVI8RWplKzI7ZzUkX0ZyNEx4YCNiNWdRdHlXdSV7X0wpWUAkbzZq PG8rfgoreilGOWRGU1BDfXZjYmkhWmZePTxVWSY3SnppQmxPOVg1ND0yKH5raGQ7SHdGTE9FTyRK SmJqZncmT31FMVhHVHVRCit6M1JLUUhuciFRYCViMCV1PFhgdX1QXnNPMSFIVTJkOURzd2dzcWVK YV5INHhARlkyN3xmK1FZYkplV21zMTR+TCkKK3pqUDtHR0hNPjxNU21RfWY0ZCpRVjxWX3FAJVZI P0dTWjJBWXdoZGNaOGJHclVBVWZUYXYxI0k/PGR+cnUlNWNyQgorelRIYjJpUytJWVhocjhXVTtI Yj9JQXhZZ3hSaClMUVU8YygyMlRyc0FlS182SkdFRXFlbztea21WdmJITShsfWZ5Cit6TFdBZyko YHEqYyptXzVETm0qMXE5NiU1V1hpfVh0UDZrPWkmYXZ+S1lwaUtkMUgjSlcmX2pUZkJWTXpMT18y e20KK3oyMUZWQjtsfXkqb09sMSlgKzBeaHd5aXw7a2EzMkl7S3UqZHJOcWQqX3QqZUNAfEg+ZDNi Uy04UmZxfUdmN2JhOAoreiNXTUtpbWlXQ3dlX14rPFhyN2x4S0tQIyE7JiVCMXxGNkxBTHlgR15g REtqaj5OaHpVYSgyV14zaHlaRGxuSz4mCit6MWx1eyphX0tpXl8tTE87TDwyMW1oQT5oODxMP0NH KURmPm1xQCQ7RVdlfjV3YWEpc04lN1JGZV93a0EqKkQoKzYKK3p4VHhXVHFTVjc0ODRMJUo+RGVn OyUqaH41TnlHTiRueyMyQFMpUkJ9RHJ2Xz0kQiEqd2h7eU5DRjBDbjY/dk9AcQorekc+fGZVPzZ8 NHpNRDBSQmh8JCpRMTJ6JUdabGhyO0hlKEdVQzMoUT8/NlI2Z1VJZXtEdC0+UVhBNkptQW5eeHEp Cit6elAlfDVES0BQbEFhR1ZNIUFsPkd4O1VTUGVCeWU1V2R7b3YwJFokcUk7dXUrbGh+YVckJjk7 ZjV+IyZBSHtYSSMKK3pHMEM7ZWcreTlCdiRkamtqUyhwTGc1eX1TKzA2PzdTfl9iZkJJSWoqdjxO a1RTa0tLPnRFJXcrK21XZDIyMG1ASQorekZmbUxKM0Aha20wVnFEREpJM08qPCVzSXNpJkM4eU8/ IVd3PEpwcG5IK30rZmFKPCZeQkFMMXdVUTYjSHp4PUNQCit6YHU8eVVpO2hvM15CUCt6YkJkTn4t a3BVSndvTlZAOWptOGhXSGgpZyRDdil6d1IwNnxpZGhPWU5gQmIkIT9mTVoKK3ohNV5PfjEwbWlR cmc+SFA0NURoUTFCdkhDSElYPWohT1k5NytoUGE/cEtwbmVzdmZ4aFk+UVo3emBnb0c/TDk8YAor ei1DKTdCQX0zeENKc3h+NiktcyooZ3QxUT1BN0RTa29VRCg3V04jbyN1I2FIcT9+Zmxga0A3cmxo MXJgMThlbk5HCit6VU4/WFdAa1FJfHFGN0RsTlNBJH1mUXRra0EmWSN4amJ8JDgzP2swTmBzWndI N3tsTnxLdG5sMEwwenowN2VJI0MKK3o/TFp6NHI8cTRZQ15yTWlkVUdnRDxmdiN7TmtPSXVxViQ5 YTBgUVI9ck5fOT1iVjQlMzgmLXZqJk1pJkV0QEBISgorekkjQmI/SyhVVGY7MG11VjZFT0dLJWw0 cSZkQ0lpZzluZyFmJnZ3X0xoSiQ+ZVB9aXVXOEUoN2smVDs5UjMzdV56Cit6YW9KO2EzK0BrLU5e PHw+bChpSUc/eFRPYi1vXjxtYyNLJU5VSGxhMGM9bFFLITI2UiExbW5IKkBrJEUtR3U2aEcKK3ph LXVrRHMkY18oNzMrRUEweUYraWdJaTc9JCpLQnsxTiYkKntHV0dlbXNmOyswVDJ6ezV4Qyp7KnY4 TUtuVGpVaworenZAeE9AVlh4OzVEI3N1e1J3NjlfRXJ4TEQxNVA2UTxTVntaOHMhNVctc0s4NWxC Rzc2XnRiclM4V08zbllWQ2J5Cit6dzlQaWhnOzc0cm41bm1BTyZTVzFkSEwxajl6cTAyPyZ3RDlm e0tPMW8+OWhMe0Y8S2h1bE9VZ01oZDdlK0dzfGMKK3o+KVNSPXY4eGI1WDFILUkxODU/MChrZC1e czhwP0tnaSk4Kzw/YkY5T0lZZVF1M0Q7bmI1VTBCREc/UEApcDZtMgoreiZrd3BRRmNCTzh1PW1W ZnBaVksrXk9ubTE8ZDFAQHpXVE5kKjktXjE3KVc4P3pSY1Z7ZCZuU2Ruezx5ZiVXPjh1Cit6SiYr enVGfmV2aWkpXk11T2UlV0dVUyRecTRucjBVRUpsKikxZ3U3OT9pSjtDSm55K3twaV9kWWlTV0Fh VzZBOEAKK3pPMUVIcmVJeCo7P2FYSG51NGxgbTBjXyp2OVBIMnRHZ0FwdGFpZEJ5KFZtMjlOWEZ5 fTR4NVl1Klg9LSptUjlFLQoremlXYEJwZy1MYDh3Z3FEN1ExaUhhSzNjJW1Fby0qVkNiPTlgeDBK dkdhS0tBJGpmfkRqaGdNeUQtZFNDKGNmT2xHCit6O3VPWihLS2B7RnpEQ09BLXUmS3JNPGlAT0w2 cGI+KnJfc3FtVXJwQTtTazYwQUI+aWsqYzM4JVhya2lpXn1jYSsKK3orRW03IUB+dWxZNWQpZE9v MytIX1poZyM9UX5eR3dNODV+O2teQGszVW56d2w4KEkwfjkxXy1yb2VLVSV6Z3AleAorektJVzhq Xl82cHtGNzVgQT15RWo3KjxVMnslYkxzNE9PcU0zNDRFYUckNEdHJVN6eDJhREFDSSlzXjtUTV9J cEtPCit6SmFFSSZWQkArfXdDaWFXeUQ/d0pZN1RMODxwJis0QWV4eXw9P3JTOVZoQlM3MmUmJHYr VzElKFpHaCRDPURxTkwKK3pKXioybD0oQjJZKmxSSkZ1Y2ZwM3hzI2tPYS19c255YUJuWiEhNWJ1 QjFJP0ZKNCgjNSRQNSRwSWtYSGp4PSV0XworekdwR2lGcWs/K2dKQ3FpNzNwK2s8WjJhOHZOKSot VHN2RGM9ZzliKFdXel57TDJ1QGYpTjFBPFBDfkYjR2FoV3BeCit6I2FkUSg5eXFpblRlbjVLc2xE Nmp6MmxQQEx1dHNjSitoQFhBSUw8NWMhcylERT0yc2VVflR6U3A1cUlHKWdfK3gKK3pVRDt0IWQ8 JnVvODRMVGpXfDN4YyE3NG8lKTA5aHBBekBDeSNDcEwzMmYrWHYhfEpScXN8WXdOVERFYThIRkU5 cworel84Q3x3VU1xKlZQaV5VfVNUQkFIaHtGU2QkfWJAdHtKZkpyJFAkRXE8X01wLUJlT1V7b2pD U0xray1QUjV4S2tyCit6STs+a3k3cTMzT0hwOWtJUXF+R0t2Nyo5QVFrMllESD0mM1VzYks+SHR7 Rns5Qit3N3F8M0skPHBYRSpBcjduYFUKK3pEZzZ+VF9VZyt1WG5yZXBXfHojPm48Qy0heT49Z2dI TFhlJWk5JEFfVik5SmxzWSU0NUw7WiZ7KUFNRWFTWWhwSAorel4xOzwpekBQQSp2MHkpYEdje14x YUlvREZFPlQqcmFhUCkxRkx2VjItTXEyTj8zJUxXSUpiPSFJc3cyIURVaXpfCit6P3RVKDxVWkgh N2xeUEc+O0dtVj8jNG5WYHhZWSliR2lzZiE3cWpQSkgqeVpuYClmI2gxcmJAe3BVbW9vKk0/b2gK K3o+WHtMJFVlI2Z9Nl5jNiV3diVkYGVpIW5tKlkjN2tnMGw7T2g+OWMlN1pxNVZjQCVQQHhwZSZ3 OCRyRHtvPDQ0QQorejNCTUR9JVg1KGp4a0lLSGpefHdsKTBwLThQMT1jZWp4bXNpP2NIZ3JCfXdL QTM7OXlneGJkdyhSdjdnQG1xfmxiCit6I2N8c0RibjZIZiRBM1FEZzh7QlJEfG5nYjZzPWBVYERj YF9jSktpIT10XmJkXiFsLTthdWlTRFklP0M3ZCowQH4KK3pQMlBtYFlKTzclOypFRVIyRHBXekJe cCN6R3F8Q09mOzNsKEhjemsyKjFJYkFRdGpkPiUjUHlrQGBoTWQpIUchWAoremxBVEh0JUx5V15j YVg8dytPUHh1e1p1QlVCQUx1QXs1K0YwcjdXd1lkP098aT1WTzR9MXVjKVoqQ0MqYGNBKlMqCit6 P3g3cSZlX3IxPHI/az5jYzxwZUJRZVhpM3ZzPyRzdjBQP2ZZZkZrQXh2ZStpTXlnRGlKWlEjdFMt cztwMnsyTmoKK3phM3xEX1VxVHNUcFRmOzVCYyU5WWpaLUVJdnxJcjYpeVpNSkBvP31vNiFLXk11 OzdMJkxyVFRedjdsXz96Q35CagoremdvbGQzdk9ZZSowb0t4NWhoeHo0K1NKOHJXam5oMTN2azEq X0ZWT1lHaENEcEdWM3BYOFNaYkhyQFdoLWIoI1RVCit6cGBnenVxXjU0JmVOfEZKalNXO2FwISlJ UylsRTVVeUlIeWJrKllSfmZHR0tBUUxgPlY/ZEhmUWJiT0RoQk0+ZmIKK3plMSQoRGdZMy1PaVJf PmJVcnU0T2pfJV56bH1iVipHaWpKMUN4JnkxWGt2QmJAY2tsdj9eb2o2JlA3RitMMlQhZQorenFE OF5DYHB9cEY1K35+Zys4JD0tNSFKbkghU0cqZTh3PG4pZ35GYkYhR19YQl8+Qj5ReUFqNzhJcXtY KCRwUFVTCit6JiMkdTI5cUxsdVRWP2ZaSDhhV1k5WiF3PFNNNSY5WTF5MFRyaHdMQjNgWDFRJWJm bVl0RFpMKTdCWldeaVVpcX0KK3ozMkJ5dyYjYVJheksjR0ctdSEhaDRXNkdAUVBSO2FMO0VEaVh5 PylZX1JYV2B0dik/Y0J7b1AjUVMrSCNJWiYzYQoreipuJnRye2IqcF90VHBsJShuZ2o0eGFCUG0q UTNWakZMUXR5bSRkWjw5X2trVXooUXEtdHxhNndVVF9KMWFwM2dxCit6aUJTKnJTbW1hViY5V35j MTYkKChBYShZfFZYck94Z2QxT2g4dHJ4dE9NJX1gJk8tUlVtMipyRXFfKThzQkpURjgKK3o7JEdZ I3tBUUhPeCpRbm1nSmsoWiRnM3hRJFJzVkJ6Y3xDSzR+TjB1XjloYCY8eCojKWNCd2pldzkkeHlu SntBQgorel9zOElzPmorcntRV0E4dl5Layp0Q356cHRJcy0rZzhjeEVETjFnTXAqd28xWl4hamI1 M0c0Vkw+aEA9S3p8ayFYCit6RVVAQ04ta0hNVno9cColaio8LUZKQXdvbG4lTEVNT2FRSiFyJjV3 Ym1odHVsP0hkVkM1OV91K3hvUzVMNTYkdncKK3pURmAwdmZqRn5YZE5XVkhVbDZJODFmJTc1Q1p1 T1lFbCNxMFQwVFhiV0syRyhja3w8NWRZY1dfbDM9ekB3SVk+YworekVgPD1yci0jKFl0Kl9lcG9h R1A8P0l6Sz9WVSg7Mmc0QmYzcH12JUZmfT5kSFk4cXFmR1p1VmEwZFQrcGpHbyRKCit6enpQTk5A cSp1aVRNelI9S21WPlh4NkA5KUNOMDtAIVprR3xVSGhrPW5XRztFYHQlMUB0ZEhWRV5oZTZNYkJX S2cKK3pFc1ZnRyVVaXNgYmJAe29IdmBXTE9AeUVJSWd7akVqSyNqe0tXUGIlXm5AcHRzZks8Rysj M3IqdjJSUktfWlNLMAorejR4bjZMZFQ8SSlReU9lWXtNdEVvKlQ3P1dgIWBpKWx+OHdidSRKRlgz K3RUbUZ4WiRFIVRhJEZLNlg+ZiUlVVJyCit6NkxYZ2c7TmBabzUkbWlPX0h9MVV4WlNROEhFRE88 K18hbyt5bk92Q3hLfEY9MGZWelB2aF4hX05KUnA4akEoK3EKK3o7WmJKK2hNN2Z2S2lpKHcrfUh2 TWslWXhKTHBhUX5CXnkqUlQrU0RTZmJabm14SlFidWsoTnozNUF1Oy1qI2E0KworejFGXkBNdiN1 Zjk+UyR+ZTE3TUJ0V21lREUrK3NKRFV2ekl9KmkqKS1IJSZ7NTZVJUNCVDYzYlNafE4mVDtaMCg1 Cit6MGkpMSVAYHFlaz1ZNDhRI2FDclpkS3pwOEdjQEpLNCM3YX5wPXV8bFN+NUdyRSF3dDhZfUw/ SXVgVzYtVz49RnMKK3orN318PVRRM0prRlRTdUJwQGlsazVxVXp0bXM4QE5tZWZUXiRJaDFPTmpB aisjVU1KZkJlblBecX1JdmIyPVlzMQorekFZd0gmQ0VKWTctMG5wdEhxN2JfcmhzRnluJHE4QzRP Uzs9KUtuSHZMe3FBOW85QS1CU2tyeVZaaWprJk9SNDYpCit6b0ZAUEQhP3lBcitCN0B0YGt+eVpS TXdPRTZGMmhEKCske2ticUQkMnV8Uz9nbU14dDBkV0VrOURndHp1dHYjTnIKK3o1KVhwX0BIYHo3 cj4xdFk2ZmJPPVApKGl9Xm8ldE5AIUtePyszfGZySX1rMV9WN0M/XmxkdkQ7cypec3Zsan5+agor emFUajNzTHReYCVZVHxTUXM5PyN5O0c2cnh5RiNQd1pmeDtScCpGdjEoY3Z+Z0xxM1NpS1BBdSlN blFpQjRzYnt8Cit6S3pNZEVjMmpzV3BsZFFNWTNmc3lZVF9ONzR2XkAkeTA9I14oeklXU3ZSSnk+ bXo7NUJSSTxxMDFGN3t0bkV0TjUKK3oqdSEpY1BDcH0rYmIlZWRae2FKPHFnNX0/QkRtZjJJc3Zf QWw3T3l7LTdgQEBZVFBRcFRES3BiZz44SHc/PFJ+UworelF5O2Amd3VqcklrVzZjVT9nfGJQNn1i LTlxfnNqJW5MNztRRks5bV9MbkAzbEY9fkpaUlc/akw3LTxZdWArYSY2Cit6JXk9b2U+IUpQNWlI KlRaR0o+XlZvWX5MR0ZCVFdATm5FZzstMnF6I2tXIUN9Szt0ak87MlBXemNmaiEyYj9BfEgKK3pu PFZIdTg4YCo1a31payQzaDhrazhUXzNgLXRzaClDQ0ZOSG9eUHV5TkVPPGUqN2dqP0N8eUw1PFV4 NEZkeDdfcgoreiR+aUFoN3NtQ2NxRGpVRGd7TkZVNyExRys1R1BlKDtmWShLVXh8O2JnWEN0TV85 ZVlreWpod2ZgOyZEcFZQV2U7Cit6VFcxVFA4SHstY05LcDtsKjZKZVMwSXpobW0teXlVeUk4PndP dXl6NzRlUll4JCFiVGdfUGh+b0xUfSpxb0AyOD0KK3o9O2RMWFE5byV1KE84UFN3N0JaPGpwTkZg cihHJkZwJiFZJU4kfSo1Uy1OVjE4eUh8NGdgOWF+MTd4NHN1Q1FmSgoremVsVSFVT3Y1Nyk9cC1O KDNMKmdTPz0xczFXV3ElKkgoYnUyYkxgRGg2KVk9Tjw3Pzh8MXlBZndDPEM8N0BfPWNYCit6bWBV T3spUkFUbDdSOGs0O29ESFhWJWNyfWpMel9zNkdTJTNte21LQGNtKip2biNRaWkoXklobFAyV3wj dX43TVUKK3p0Qzk5UjdPUUU2TSolQE9wKVd9ZVB1MVVHSD42WFEzSCN1dVkoMHZRRmdEO2d6TXxQ K0tlUUt5eT1fZEx4eW10Kgoreih5M1A4Yj9xdnkwRlVpKlBLYHl1Sk1jWn1DZEole0RscjI/Ukko VHhrWC19RUcrVGphdy1pKlohSSV2PndPMElQCit6bSZkTHI5fClOKEx+VnhqWU8lZClZeHxGbjtf Xk1+YXFyOTcwdColSXV0UklSJDwyZDhubWUwZz5eakUqVlVIZHMKK3p6Rzd9PCNxKGpkTiRwMnUx KFByRzRXTj5VX3NXQ24ySihzQ0lALVV0I0B8Zn5rSnxjZXlPbU5DX2JHeCl4Q0Z+cgoremZ2eWN8 SngrcXtVaF8meHd8IzlwT1kkJSNzQmA8KHxCVTRGOzFsMEFXc294Q2JARmlDKCNmZXxvK1RENDJ1 RFI+Cit6SVd2PjQ/aV9qdWFyTmotMmxWMiNCPkgpfGxxJGRXRF82UClQTGxob0ZDbkNzWmZrez9U PFBYSTN8Rl8hPndDNCsKK3pJM3x2eXRBSEhWWnVhaEJUeU0xeUs3eH1SJVpubztFKGl2VzlqfERj bjl4JnE4PjkwbERDbmd2Um81SXpKViRSWgoremk5WWMhYElmOW95T152VUJpcG8lO2E5VUorZFI/ VDJQaV5zZ0I7I1VTRG4yeEErNShJIUUoOyMmeG5xMVkkTjlFCit6UVhZa1AjbEBKU0JZMH5TMCVr bjxrekR2WjRhQVdUPDlEMVc/QFNOJSM1VENAXlgyM2ZLUG1hfEJEaH07TGs4JkgKK3ooKno3PD56 S3tJQjxSKnlJamg1Y1FhJnRCZks1I0ErbnthblJlPjJBY2d6a3JVfHdHNXYjP3xRYjk8ey1iV3xr dAorenZyQkZSeUkpWT5HeE5KWCRIKUQ3PVVNVz17RnBlYHsoSmM0cWZUJHFOe3xPRnh5XzVZcTNG amVwKCUxRikzS2A2Cit6cmg7LUxFOzJKXi0/cWYpKmxMeHItQ3g1WncrUjJtWmtkKzNOd3U1QSZZ O3YxIWpwRU0+N2owXnR1dEh2OUl4fjEKK3o9OXU4WUBtIV4mSzdVQUp3PUAwZlh6SFNhRXIjUiNp bDRia1hmK3pjKEArb35RY0d+TS1SJn49RmNsYCVaX2tJQAorej9HPE5kZCRGS3JwTV5OaFVWWS1H I1hpKjNQPldsY25kd3h7bEIlRTdxRV4/VUpzWkRqOUZjbWUpcmEjIzk7YCo4Cit6S2VPOCozb1k3 JD9AWDBRS0xkfnxpbDY5JFQ1T2xONH5hfGY3TjJ1ZnlKaF99KUEjUU9rV1QhdGxqVnhAe3w+JS0K K3poYj5JciNgSytHS1NORSYzSD4+PUlBfUBeb1JkOUJpbWhJWkVnKW4xRH1PdSZsUl8xYnV6ZFRl cUskfUtFan1GJgoreldMMDRpKSRTNyVRJSZKV0F4ekt4c3gxWm85V2tSTnFPV3pXPnpsZmgpU0d1 PWR0b25kN1FCaCp3Mm4pKEs1MHBeCit6SiVuN0c/aXd7bT9LUFRzeWp4dGZnPVBjSk51bk59R0Jk QSUwTkI+IVoqK00zI3FkN0g1cFJacCZoYV94PmlnPnoKK3p5RWNpSUJoTzZqaW5RKWspK2FJdk18 em01P0k+eldka0BGd1JmMWdkd3l9aUYmNCtSSyshbEMqODhfa1E4a1c7RQoremxNYFMlTzRnY1Rz LTh2MllNKkEyTm83R3ZnM3l6Y2Y1RnBLZ1RsSX4rV1ozcj58R3MyQV5oPWxyQzYoYkIwYjFyCit6 VzVTJXZiI0IqWk1UI2Ngc0klYytGNUdQPVE4ZWU2JG9WVWFuSnJRIyFqYCVlSW1IVUkrUz1AWUkm UFhMaUo0MiQKK3oydXlGezNYbnJeb2FaUFg/dUNITF5HYFFwN1ApKiRnO1NLeD5ySUclOG1DYT84 WV40LUhnaHVZSzkpdVp7NjwqSworeiFEJDcoUXdNZkdlRm04UlMwZXpEX2k+WXEweWc2MFgjKTEp RWx1MWRGYytfcjZHZV45KVZ7O1BtY2VUbDNDK2B9Cit6YiR9V3htfWFWcGAhcHtmPE1pY1Y/WSY3 eWk9Ynd7PWhNcDxlSiEydF94bjxfe0s8aUVgYSl4RFhlZ2dCdmMlSjIKK3opbGQ5dT9Bc3BBcl58 Q2J1cCtOaT9+ZSl8XyR0dyNieDdUODBtRSFGUkUzU2s0S2dDIUhveVo4UGglMmFtMntjTAorelpP UGxwKXpwb3sxJmZhWStmNllGTmRxJW1IRDZoX1lBbmpwSTVVOUpyQ1BOfkpNWn5TJkNsWFB7NC1X eG4mRGAmCit6UmxLSHxTUj1oZkVTRExBTG9tWkRldjZOfWAhSHNJeGhBeXFmMSQ2YSFofUAqdElH UGwheipqWlM+NiRkO31qb28KK3oramN0QE9STX41RT0jNCt1SVd4PlpXbWQ5WXIhN05AdTZ7cWpM O2piSk1+OVcrSXYpVzNjfGV1OUsxVVQ8b2YoJQorejJZRTE2KDhMPm9hWSU0KnRtUUsmWUAlMVpQ QUNJd0R9ODc8azlkTitATCNJZSM3O1AlMGdrb18xPjZLMDBBekJoCit6clB0djBnTWArcytgcUFX PSkkNWJ7Zmxsbi1pQnUyQiY4PWk1PW4zRjlaQUFre25aYTJFZUVMYHNhRlpPJmdSbWMKK3pWQSpk d0BadzBUZUs+TD9VVzF9bT93ZUJROEN6NnswIXJaYTJlbXgmQURCaFNYfjg3JHB4Rj4hTCRsS2Jn V2RzWAoremJeVXhPI2hXMl8xUSpAWkdvKDdfQn1ySXw/eT95Zj5WSz4xS3Z2NipoMVVZeG1nIyM4 SChodDw7aEl+N2hGYGF1Cit6VUdZMEFEUDglcj9gUXl3bD1gano7bXo4WSl9PjE9JSoxbHZSZDZ+ fHF2Z2F6RmZhX1YrYGooJmgrRT0kOWtVelUKK3pHM3RfZlFQbW1xdjlqREZ0YG1OUU5JJE9WN3hG P1dVUjhFUFhEViNxTHBXcCYtSlI3ZyZwZW10bjZUWG9UP3BHVgorelMwdTkyeGt9JCE5NWYhWGQ5 QDlBd1gpP3RPRnhKPGl9NF8yU0lxK0NZTjMjPmY8U1BnUDE7QkZlMSMrXjVWM0k8Cit6eVhBNDlr V3hwNXgxVmVVbXo7OTNWVVIrU1k8dFkkJnR9ZUBobXJDbG1sV3N0aDBwP2dldUo8KHY2aWNuMmxj QnQKK3pBcl5MJCR9VyN0NFYzfnU4WFIwY2tlY0dlNDlmak5iPCZwUXhqRDI9I2NoWUltNn5Na3Jl Pl5ucCgzOTAwZWpFJgorejs3cUtIPXk7TFNOXjx2RGkrWVVKdT4jYlVSNkJDZXA2QCE+UV53V0ot VzFlJDVtZl5tK2J8VHJhTnlQRzR1MCMtCit6PjJYa2BQbENvVHUhenI5b25eKXxrRmpoX1E7czZM Ylojd0tZMDlwRW5Ca19zdHJ2a09HKztGbTkjdTs1VUdnbkgKK3pxVFJHQEkqNXtYKVJfdXM9SVZf MCgwSVpzPXFKRFEpd144ZWckc3h9KkxaKG9aMCFte1hzRVU2JXtmKGEtUmBIbworem1Cem50YWRY fCRtSmJqMXc+fmk9UkE1dHNeNXk/SkZDTTh5SHQ1SmxURmxwazNob2xxQmZJfCQoZm9VWnpUV1JJ Cit6Mmd9RjQoYnN3MiNhUjMtTlpqNFhxaTxQZGBhK2xERy0xakZBMyZ9MDgqNDwkRyVVaER1eHEt bFJ0SWIzYlZ6fVQKK3o3V21pJW17I0VIMnFRYjBrQ25GZGt0OUBBeEc7MHhqKkJSM2dQcWc3dW14 cW5yKF9RQUw7Tm5GPChfdW4lRzRWQgorelkqIz09ekh6dT9sbFc5Pj98KilBV3pje31aKzF5bnht e0crNmEqSWNkO0JYKypEJE1GSkdwdmlhOTdlM1VCOVBuCit6NTxmS1M5K0FEUipEJE1ee2B4eEpw QlVlIW52TTl9TyVgMGUte181KHpxSntJQ2V5ck13T0ZAS3BPMjVqLXRUVUUKK3pOcFpVc1I2UFV7 b1J5SjNJPHhZPlVubE48K2I1c09gPFY4O0UheVVPe2stWk9KP18jIW1nQFB1Z1cmKCV6ZWV1WAor ent4cXJvbT9RUl9gRFdYXmpfIVd7I0xBT0I8P0BweCk9NDJYM052MkRBYml0WFhkNUZ3ODljVVFG PVglZGN6aj5LCit6U01ybmhKejJQP0tLQVAjVTlzQWlzeTBHYTloSCNKaGlPQlIrQWFzQEtuK3Jm VERzOzZQNUs+Uj9ZQ0dJYCooS1oKK3pOMDFldXRKTihoP05zfHoqO0Rxc05hN1p0am5yNjRUJEg2 azRye0gkbGsmN1heV1k8ZXQtN3ZBQUwoIV9vSU1tMgoreitsSzA5PWZPS0t7dGVNajxOYCZaOHFl Vm9ofXVgX3hwNHxWak1USXg9RV4tVmB7a0dqKGFgQjloMUt2JE1jM3h+Cit6aU1sXyQ5JWlUaWVM VDIwanpzPnJlbUl6fG8kMipfQ3Z3dC1ZQlA/clh4aDdNLTkyY1l0YkRBKnIpeH5TeD9Zfl8KK3pe XiZpKDk4bXQlYWErZ0BAUlhUMXRSbX5iYnsmZVF6NTR8PzJAZ3pyJD5lUj45Nk1wIWJuZS0yYiRT PWxxa3g7agorejtobylDbzE/YkFlYm57UlJ0QGVaNDd7WiEqST1VRyRYTSoqV1RiJXJIQHMxbGpL RkZGKFZsYjdWdGNIWXd2UWh2Cit6OSFuaUlhKD53PnpofUZAZjc7eXplUUU/fWdfJnl9NjtxJmE4 QHg0bmxEaklAO0okbCM7YGF2TkVmfTBMKjZSXkoKK3o5fFV2fihUT0t9VGtqQzFPUUQ+dnVXUCR9 Xm49bTxHOSQzYUQpOzJVO2hHKl95a2gqXzVmOTZySE92Klg8RUNwbAorenk/RC1LcmBPe3RKLSN8 a3NCVzhqbyVKUGJ8MTlSbU4mRX10cUkxTEghUTN5QilTMmtOTWV5NE43cVBWVzwxQzFOCit6WkNq bWVXeHNVMTwrOGpZTVdIPCNNRTkjcnBWd2wkPTBNSm1rO1lBNGFMaURXTXlaV1ZVKEl3X3pfJUtS LTJHZzkKK3ppbDxvKmZ2e1Z5ezAhNiF0KEhBa3R2Z0R4UT56UDUjTyglPCVBLTN0dD1wYSRnYVFQ akdtSTxZZn1US2tNaEE3RgoremVHciVsM2s2M3slV1FPOFBHM1BgdChUPko2Uz10OHZ+PVZVTik3 JihFdHo5MnNrMXFUPnYxKFkjPGxPSkNuYFc9Cit6RWxxVjZPYU5KJEVlPXwoWGZjWHBlO241T3sh ZDlUND09Jk1NaypmMWBkelRSezJnIVYrWEYlYFV9TFYyU087LVgKK3p3cT5+cHdJJipEJERte2dL X1BTLXB2QjktWkp+Pl9IPWkkKlM/TmcjZU8+OU0+NXc3ZXIrIWF6ITBTPXpUZVAwNgorek1eaTll IWJLWDArO3c+cjxwQl5acEQtTG50LU16eDR6bmdCYjV9SENLXkV8SzU3SFl9X25kWlVqVjIqa249 JVh7Cit6M2k1WDB4O1h1PSQheXZldGNVdX1SP0tnRzl4UH1xIW9nNTVPYDwydSRHNWhJKTE0UW1k OG8jXnlGUXtFKlA/ZUwKK3pPSVB2eyNsXkF8dWdfdG9EdjA1VWZ0QkhXXm42PmJ5R0t8PGpoSCo4 MXV5JS1hZS02akk1fTVTbSpLUGJmaEY/bworeigoaTRjeykxdkJpTUd1b1U/QH01XmomNzRkbF87 ST5DbT9MP3g7Vz1KZGspaHp7MkhiYUQkTjNKREpIME94PXRJCit6OSsrRXRKNShROGMmalI+dnYz KDNZRTBhU3M3YDlNcnU5QW13Rj19TzM+Oyt9OzJ3VyNEIVAmWUdge01jJnYodW0KK3pLQz5vd3hI YU1GbjBSfSFUS1hNJUd4dFF9S2FOZnxtOWxAOXNgMTJGUjhjM3wpezB8WT1yNC0lSVpIZD5YRmtL ZQoremAzOGNZJlNFezNrJmxBY2F+alckMmZKSCZFcUZVI3ErNj19P2hsYXlFcj1uZipST2hFSHBN Y0F8S1h4TVV3LUAwCit6TlI7ayFPR0pSKlk1NXN+bTNpeHR5Y0FpRyElTzg2PGE2dXgjZDc2c0g+ Vz98QjdITTtNKVBlLW5Obk5aejlsM2UKK3pqQ3hVWV5LPj9IT2p9UlRjbT9FJko3UXpSS2YhSk9S Wm9ycjtueyQwUE5zQVhlXmJ7RSNsYDNVYEZNa3xTMnxZbgoremhGMWcte1FtUnNKJFBQM1lHdTZs eG8+TjJwSkNfej0lJCs8cEBRQ2o3eihNdXhiO0hWIUFKQm9aPTZrMTxHTG9ACit6b1hJVHp7aEUp SC1JT0tWNGdMR3hwP0pzZlNsZG5+PkspTE4jJmxWfi1qNTIrY1lPKWQhTmpZdDshQyUyaVN5fmkK K3pPQ1FgPmx7Q0lmNmI5KDsydiVLV2gpblghPlhfJDwlNm5aKkpqMSRabXxnezhqT2dyKD8+SmIr U3BwaGheKk9rRQorenIhX3AzJFBKVW8qTCZkMCFUKWB+K25RLUZaT3FOSkJ0WVRiNE4jRzV5cDZY ZU0jMVU+OXVCc052Sj19VTMlMkpZCit6KFEhSThmcHJtJDR9e0U4VjZscmBVNnRFSXRJXzxVZ1l3 X0R4YHo/ezM2dmstNXR2Tj4mTTZiMXZlQih+I0ZFMmsKK3pOcWU9T1h8ZnlFSzF8SUFYeCY/ZlVY QWxycVUkfSkmMEVoZF9GfSp2XlN1azwoZnElaSFuWTdRdmwxKXd8Sz9iOworemN8WHEyWEpnTlpK MElZXjxoUG97cHgjX0t1blp5QDBUTkdjIWtVUD9JM0gkWHglfCZAWntVKXBkX1J1enB6QSQ7Cit6 M0QhQUQ4Qj1sXyh+WkdSKkF3TVNnP3pyfFdLX0whWi1nODd2MSpXTmMpSSZ6aGd7MktfOFM4MU9G SmY3LVhRQ3YKK3o9fCNZT0xSVEVUODJqbUk2UChZNUA9bkNuNiZ6eCp1NSlVamVGdXVjVno9VWtC fT5NWWZuKSFFVV43ZX47KFUqMgorelpsdmtaSUdqWGFWZCo7OGVXUDdteUwmfDkpWGFYS2tERVR2 e3dQOXZLYk13MW5QK154O20td2VzaCFrWSZjbWBzCit6a081Z2hxTT5GTE0qdUpEdTVsYWNnezNU ZTdsd1pQI1J5WEdhKXN+T2NteEFAPyhOVUMtaTUlN0ByS3xnKnU4dmoKK3pqUWpsayZ0aGZRemlR PD5iWSljIURnYn5tOXs+UlNmM1JScTI5QjJoVGRadlF8QklFPys/TXw/XnBAUmtZQkgkMAorejBf fHxRVE9ZP3RuQC02XypjUiZtR0VzWDJqMEZpQ2pWTWFSPEc3UyVnNGZwRiN8LXBocXQzfFpQIVNe Mm5KbXVSCit6UkkkU087WkFHdzxyPlA1aTg1eTsqTiY+e2k8WS15UipVckIjVFRGUW1FOyFIWiV7 UiF2PHtaJWprMUEwcTsxd30KK3ptMlRHSGk7UEhhQzJUaCVXb3gqS3otK2MmakRBQSYlJER7M2xr WSN0byEqTnNiP2FDNnBUUzxDTzBPb3s/WH16WAorendwQ1Y+YCRHbGgrajNmYjlxM2BUP3BJcnhy KFlfJUhfbiNQeVUja0Z0RzY9U3ZNUT89OD4pVXMxK356Tm5xQX5MCit6RG1EbFhLUFNHdzleVXpU djNeT309QTkrd1JsdHdwP1J2X3gtbGtUcjIyX0BPdHUwWSMpWWdnSj07LXBiJVVYUzwKK3pSa0Zu eSVic25XN1NuaE5gSnR7LXp5O3BVJTlUPjl1TlEpOS1HOX50UlZJJlRXdng+dEM0S0g2Rk5ZJjxe P1k3MAorelZ7ZXpWXl5LNExybCo4UGpLNz0pJSF0VkVlb3gyTjglPFh4Y3J1KUsmcnYwU0FLPXc+ VH55OFViQS1yfUdhYWZzCit6OF9GTCtFfGl7Y28rRFJSQ3RNKSNOWEQ/N2VmX2ZnRX45VSMwVUUm JnMldUtARjJLfG1TP2o5JmpoKHB2XjxyQzkKK3p2PSpgYU9EfTxyZ3VFbGVqPmEpTkRsITZyT0o3 UXxINEpJPGlmWWNWWl5EY150bz1zZD9GeWAyPj5pezBmTikldQoremoyfTkralhRMkxoSytYRGta ZU9aN0xZcVo8IXE/RE8+dSR2ZHdwS05vNEdLSVRSUStxJj5+Z3pSMGE0dClzTTg0Cit6dUZ0e1JK KGk9WkgocUp8U1RjSmltWXV+QXs0blpEdDByeWckRXdRTmxzdXcqREAhOytZQDJ0fElVbCVxN0Y1 ZGoKK3ozbSZiSWF6Szs3QlF2e3NWJGA2aVB2fWA4WShZND5GVFpwKSNjbDZaZiVnYmwyRmF0Wkwo WUpmeXRQKXc/VEkyfgorenJ1MU95WSs8KVZ7MnlvSXNXXzI8aHA+SmwqfWokbj5FZHhJR29EY3Mh cDVwcU97KTdMJTNEOUpIVGJDKns8LVJ9Cit6I2AjWWI9aUNDVmZjMGxtIzh5d0dHLXY+KF4/cmRq R05xazAoX3hTbkgxczJQX0JAejN7ZkBKPzJrZTE1XjJeWDwKK3otMWpJWGx8Vns9NjRRZmpVOERr aCowQUVsPih1ZyRIY00mJm8+fGpqLUxNM2F6JCMjfEw9LTZOOUxpRUpPRFk3aQorentyNz5qIX5l flRRZ3s8TGZaUUdfZVJNUUl5RG58dlYmd3kjSlZBKmJPSTZWKmJZbHhaMVZBRjNqaDlxYWZNU2VS Cit6WGFfIXB6T3E1KmY7WUpjTVM7b2ohUFVlfChkbStWQyh4MERXKyNlSj1rMH5ZJlMmUVk7IzU0 TjtwQXkxaV43NSMKK3ordlRIQ2hXYCVDV05zI0k1KjQ1SUdTX3dAVlJRPmZme1N5aSVAIUU/Qjk4 Pkpre0FPWHUwMzFSbEhtaSt0V280TAorenRYYCZXVyRAfEVXIVE9eSNPfEVyZnk4eChxYlNIbGti by00OCt7UXFYdFk9azg7S0dHVjEjNCRAam4mRU0rR2tqCit6OyE9SXlUXiQtRjF2MTxeclJIeE8t RFduLTlCZTAhQmthenZvXjM5TG4jeW0pO2BlO0xNU319JFgyc2x9eWFBbkUKK3olR3ZJUDBhKGJg OV5qdDFuaWk9OSUwI3JaYjBlK2lPdWg0Wk9WPzhHalJUMmtgPndBUil1NiRvUzc1YDB1Xn5XQAor enJDV2ZDU3ByTD1VNiRET1V+UyN5RU8hZSVyaSN4c3NBMWJsOFhgOyFMcjJifkhkWWRrSkFrPUZ2 PmNWZTwlUUBvCit6MDVXJWlnR2ZDKzMtbTNHYDJfK0lvVj87ZXRtQzQoc2pnfFlLbmN9KklTN0hV dDs5Z1FVREZgV1JsbDdRZE83JiYKK3phSWN8UlBzezE8O2ZxPTYyY2whPWxmX2QlUXBmXzdgV291 PmA4WUlDZDtpNS1IR3ZsLVVIZF4mSH0wfEJFY3F0Ngorem5makVkWVQyLW4yZlopJTBIKlFobWBy RiRQJEwqWDhuZyVtZ3NGcTJLXmNrQHQ/QEIpdCV2Q3s9WWwhKFROUV5gCit6amptWlE9QE8zKDJN VzFDZD4kIUs1YDxhbTxfdmZnezhJQGRNbEZpJGY1fHtFSyhFOWU+UXpTNSMlczFJOypIMl8KK3pA RkNoTmRqRHdRMVBNcnA8S1pydXBEJGJVOD5gIzhfajFEa2BjRE1eMTRiRFFmRilxMSZNcWJOIS1G UStyREpaTgorejd9Ny18K3tRakBRJVotUVJ1c2koOW9aNXA2WHJmdDFUNTN3NSpnMk5ycDlnQGBO enxmVUJ3anU/K1RAYUI3MSV+Cit6QGVqflVhOFdnI2YxaFR4fDR0bjJuJE5Kb1Rmc1diNjFSa0Bn Y3dlb0dQaFohVUxzKH5PbzBMMzVnbSZwT31fRSEKK3ptMUdWcTx0SFppKTNDTlRyeEImX1NKTFpW Ym5ZWW1JTit7ZD0lWGhoSGJFbDxLKTUmblc1bWA3SnFSMzhqeGNsSgorelN2QW4oLW1YcVg+Slp7 c2dBMnh2M01yUSsmYGtsdy1LSCF3V19IPkZRTGpYcVNHbiNuTGFPa1FQeH1oJSpjNTNSCit6QWNS Ozw1dkNeVUY7PXBFeUdaakcqPHxzQ3pvODlPJSZEUXdqP2g3NWQzYXNgX09qZW0lX3o5QHRmKWY1 dF9ZaXwKK3pwYjczbUU5bnRfR2dqdHk0fG1NKUotU14jUVdZfEpEdkNPQVBuenJEREZsTGtvO15I QlhCVjsrdENYRSU4VHE+ZworejdyelI+cExQRzExa05DZ1JVWnJtbGpGO3JkektscmJvLSpvVCRY a0ZmTUswN2dWOypVe2YlQmVIISN3eih7Pl9oCit6I2lhT2lAcFlDUHM5UFRgVmljdHFFfiVoSkpS LVFhJGJyOCUqPFJzRm9oLTdFY3Y4Xk1iZjhjYz1ecF9AMVdjZnEKK3ppU25kNFpyP352SG97JERa VUApPUpYISNwSzFwN24/d358SDl0dHk1OXZ6MGwoPFg5cStITj58e0lYalElTHFgdQorelAqISRZ RUlWa2FDbDEyU2sxJiQ5ZCN6SEs7bk44ZWspMGhmSChINk02QjJ0M1d3fGxCIUAmfExWQyNmbl9x aDZUCit6bDZ6RTdRJVBAfFRmTippMUM0KGc9N0pNP1hxc3ktRlNQekpXbHNoNHF1VTdLJEE9JXxs ak5XR1ZkPHFMLWsybDQKK3p5O0dWRzBpenZMPipGdzs0WT0rdFJzT3RIPHV2VTtkPkFxdm4+UW5y STllSDAyQG1BJEl+VEw8RllpKFZWRnNKcgorejhTfUwqKGUhQyY4ZzUxdygtQXtxUDYqKX5zPDFu dnZvZC1zV1FCP3QwakBnVVdaaGxJXkRgQyQhXkolent3WHY4Cit6cVh8fF5HJV4xXlhvanUqdSVT VipfQUgjTjJlJEYmZi1VZjBpVnkrYWghTVRRUXJvLUNIUz9BWXJJPih0OUFiflMKK3o0dnFYKWt8 S1hjaTEheUcoITQ3KTt2UVd7SXBIUmhQbjs/YWt2Mj9HUiQpUGlOdT1FdHpvOH1qT2g8VDVFRTNK IworeiUjMnwyMUhQSjJaaiR5PlRmV2NIaWEmV3whK0pVbSZuN3JLdjlfZUc7dHBeUEg7ckBNdCFM OXlyej5nWEBHKjlgCit6YV99NklnU2o2WTYtUX52JCR9LUkwfXV9YCNaVkExey1iN31iTSprRzFy MyE2Mlp0O0hBcUtaSz9zLVVtbzduc1MKK3pjSXlzVylqYyZKVHVAWXQlZzVhcSNoVDxEblIqSSR1 aiRpaTUrPXNpOXF0N0x2aFhuXjNnclZBQlpsVF42bEV7KgorejJDU1VkRUdtQVF2aSs5TTViJk1T UzRRdlBvMXZLZVUlbygob3REYn1NR1MpQD1XOEFaSUUoejhzcil6UDdLeSZKCit6YH4hUk4kS2I3 Pm91VXNSQWJBdCFCKSYhY19vOz4hNnZWS1E9Y3xpM0BEJkJ3eXk3am5aX1V+eXRZcFFUdU5pWH4K K3pNIzZHc29TbW07ISQ3Sjl0MC0/JDlMWWA1Q2E1KCVFdiRTUW1pWihWeyg9cntFT09jcG9yMjhQ VnVkQjk1bytWWQorekFlaHc4XnNYQ3RgQ3dAV0s2SCspVFVKLW5reUhhWGpIRyReXkVNcG9SMiNJ dUR8MU1+ZzVLK3YweHRBa3A2a311Cit6TDg2TWtwJmBsOEB4dV5aej1UeT1qeStDdDBWIVplYlpj N3QoWUJgeUd9TSVXWWR+dUJPQ0VfcTwldjR6cSEyMiYKK3ozU3tCKGpHRjZwP340QSo/JVRoNGNF eFZwWmdfWmY1MXZ7e0pye3EjTDdhYGVKPndFUkVDbn1FPXdhaiNgckhDMgorejlXI1J5NiQmKiVK aXZISEFLeUhRTTxAdyVjOH5qYTtIUjZ1ejYkMEsmVkNCIz45N0lkS3ArQTNXRn5laz52enRxCit6 aUlgWk9Pek94MG9BY01xeHFLa0wzcjJCK1VTe0E+dksoSUhxJT1BNGxfdms4dmVMMiRPQmM5bFRj V0A1bzNveiYKK3pIZzVeO2U4NDMxJCkyR28hbCFKa0Z9a3ZqSFdOUytacCpPO3Y+K2J8P3NMWmxe b19lJWx3d09pbF48KkdZbmt5Ygorej80Wj4/R1gkNjxJVHdJNXA4bWhZPCZ1Q1gjVlBNTGsjTm89 Pzt7fl5qIT0/SXBHKzBvUWllKU5PSjJWdTQ1WDZ+Cit6U2dQe29BV3RLaXp3LWRNRU5Rfj5YXmpg ZGJHakxER3RRPl9VTFR5NmB1PDxyREJBS08oZGlaZz97ST9AQj05RXEKK3p3NUN4YWtoP3p8UVoo YHNGRHg5Y2BrJj5yT2V6aUlPTGk8VGdeaHlNPEtNfGZ4QHtyY3hzJiMlKkBUZWpMNnt9aQorejRX PiN6NXMoVTtANjVXNE1AYWdlXm1CSEYqMVlCR01jeH5eUExhdjxSY0FvKEl6TnxPdHoxWG53SEtp JElvS19WCit6V3A5djI0I3FgUiFWQSZYMz1HSyYzPEViKyN8VkpoTF8tYDR5N2p1Y3MjZ0tVYDtw SGhzfkV5fjFtNzdBVGBYc00KK3peQWNOYGh4ejh2d2NKUnBkek1PSlppc2J1RktxJjwqRn1BZjx0 ZnJme1NOTmdPJW4rNEcmNkFgKXFVKVZyV1NpVQoremxWOXooWm5UY2kpWChhTFI0cVBjUWt2Z2o0 dXhWZUgrYUdlM3p7IUQkfW1FR1pzYE1TTlFQNlZ7NV5gT1ZWYkM7Cit6ZnRFVjQ8Jn1mdWxzPHFQ M3NiPGFyKDJXO3I2MmB2ak9RWUkrZER7JV4lLSpVWWNYM1RPfk1LZS1IWHt3JnYhcncKK3pqbz56 WkxyOWg5ZCRAN3NUWlN8JEhmJHglZk5qJnUodGdIeHRWWUZha28jaE1KeVpiTStsYWslc1goelh4 aEdPLQorens7UnRXVEphcXpGeHBDTEIobjRDbGdEOXooSjlpVTRZVHpPKUFobkVJN0lzJDB5RW1z cEMoPTBpcnZ8TnFxSnlSCit6PWFhM1M8YTN4WEBKaWAyVWxNWk4wUHZ1XzVUayQ+ekVyQGB7RmND QUJxb0xZQXNofm90ZzJeJm0mM2wmbHJ1bk0KK3pTPiMwOWA3JnVeX2hQaVo3MSpwfShtUEBiKGZ2 djQ1aCFxUTg9M3hUQz9GdD9wfn1UZ0VLKSlvb25FfElsemp6QgorekQja25taEFnbCpYRTdyamJ4 Q0wxVEF+XkNZJmEyYXF8dzY+KF85SzAhPW4rUWNtV3VsVUcmQjBXS2tody15Q20kCit6c1NjO2w4 blRKV2xnKDxoOHJ4cTBiWkIwaUpzQSRjY2x+c0d1bHE7QXFGanhaTG5ze0Nwbm5rSW9sUiY4PnRs YGAKK3oqZnchWjBTdFAkN2RubXxBfmJoMSMlTCY0NUQxNntOIUFPTjNEbDY2bHNTJVhXZG1oVk9D bCRMakRwNk5XalNgRworej0+aHN9KDVLSGlrUm9VWkwyKzVjKVQqdSE+R3dfbXhAZzBze3ViQWNo NH1FbFNjezA2dnRxTGBlalNVNndIR1c7Cit6PWNmYj5qVSt8VXMlRiNAXzAkQ1BKd3I2fm4/cGhs VmhyeGIzSyRGaGRDb3ZVcDdCQipAZHRvZnBnQDJhKVBEZEIKK3pqUE19UT1WMXZkMk48NGU1Jmk/ NV89O15BdkFENXRMK3gjcEVUcWI0MVMpNUA+bCRCZkNQXkA2Zn1yT0U1P3psMQoremY7Zj9ZWTQ5 ZE8+bFI0cyhPfENKdzFUWXdnMSR0TXBJdXdCZVdxUHpLNUM1YXVXJHNKVTJjam1Fbil6MDYwPXp3 Cit6JTc3SkBrbEZifEtAPC1WWXQ2O3c9UG5HcyZjP1I8YzVyb0BnLVBGY1NqYENSUFFodmJLUXBg amZRfWVqPTFwbG8KK3pPZysmbTBDdXROVU10QH41XmVHfGdCalo8Y2BrMyZicGk9KUJvfTNZV3pk SmZFV1pXfGM3d1dGWkU+fC1GV3pyeAorenJZcUJAS29IRFZNOH41cntTOTEwb1ZyNkU+ZHlLZ1Za a1B4ZDM3fWM9IXZsMlczOCZjTV5KQ0hvZD1zSWxVJlozCit6Ry1QJSElezNpdCsjfiVEbChMKktX YnRlYzk0Kz96bUMrUFBaVSFXVTtjOEl0RFRQfWVKe1dGTUEtTjhucVBRUX4KK3o1NXNqSWAwKn16 I1dnVThJOFRtKnRhQn5+bFoqKkU0K0lmZkJmR2VIIUNAOF9Wd1gxQ28xZmpmI2FUQz05ZHZlNgor enB4dkA9eEI8RjA+NFpQU0M2VD5gNFFHTDN5ZCl2dXZFVnx2ZFlfSnh1N3FnOFF8IVE2M3QzMmgm KlRuOHRwaUN3Cit6WCp3IWhJQUlDSG99cE5QIXlmdGlyYnlNRitjcHVjKztFcyZRXnNQUGpHUUc4 bVc4eW4qams1NU9MZCMxUVI+RkkKK3pvS3x1JURCZjwkT0BpNUEwVHRkPUkqMV9kZztFX1I5djkq XnxNPGt6XlI+RX5jRlRxNlQpPX4ocDM+NGpBcj1WQgorel5MY3BjQmNld0oyPEd9JEsoczhtODx6 WUZrVX1ZeUFhKCVfd3ptJEZwcWAwI1lJWD9xYkhTQEdzK28hUXBuNis2Cit6NHhGKUheZFlLUTdE dTR8QmQ7ZTBvSVRIUlFLdnIheSVxWUBqUSF3NW4pcjBwVXZ8M1oqXnglWmYxZTgmUUpyNE0KK3pp Kj5MfklBU187TlR+MmpOeUJrbzQqKkpFUCVHbGFLT1k2YGFZfi15WWhOcnE2JnwwZj0zXkF8U0RB bFF1QWV0cgoreiUpT05+PWJHSmFvOUFQSFdkbj90b3kyI15DSiFMZzBlQDtvUmIyZ3JIKyNORzh0 fWVsRDtlUmx6KnFBSnpqP3RQCit6Mk0ydDw5eWM5RjdYQElfZERER31zdUFUWCNEOGBgYDZOYigw TH4pfmhmV1lBXlhlSzdMKDFrYEA7JjVgeU5hWWIKK3pEcEU+eE5eUjgxaWFUQlc8d15vUEBtJUNM OGohWExIfDheNzJOdGlNMkBYJUhrPTVmUEptSnw5aiozLWZoMlN2TQorekYlPkNNXmJ1b0tLeVJB eXF9aWh0d3BTeUwzLVVDVkBCXzt4MiFUblAobUNaOGhjZG98UE1qY3UlZmY7aF89di1PCit6WnVr VSpMfWF5OEd1RDd1ezx2OTszZDxlSXk4WWN9QDIpIzFCb1daKlYkNDNNQ3N9aGs5Ozd1KWlyZj87 Q2BVM3wKK3o0OCU1fFFRQVNjM3ExVHYqKjx5dShFVTF8aGN+JDU+bDclfkh6ejNhX2EyaS1mWVBm OVYqYXEkITYzQmA1MVEzPAorektQUW5oJDU8I31Idkh4c254NmJfI2FBdj5mO1FgQ1AoQXM7em4+ eEhqcENIYTl5aSh2Q1ohIVJ5MW1uJE19QHJiCit6KVRiX25EfWcrfDcrY3xXSDZmVWg8VyZnPS1v biZubiFLY0kxJEItdF5Yc3lIJihxdDdneVViejI2OWx3Mm5ANWEKK3p8QzBRJUZPdTE/Kn0tcTNp JThjfGZrQ3A9cFNPPSRYXjc/U3grSldXRGVHP0Vja2dwNHl6YipwP0cxfTgzSz5XNworek9UP2ZY TEI+IzU5Rkx4OCt0LTwze2hRX1o2cys+NWxOYTQhQm5STklifW02TkpBNWhUaXdLPl4zPUxfUzBa N2FvCit6eHhqfjEyeHxpMjRgYEl5QURmamAlRFgzNT0lJT9gV1RlSjdrZVlRcl40QH5KIzdPKl9w REgtRGRwOWFjTWw8TDIKK3pkfE1kZWYqdU8wZFgpYCUwaUN8QnphbisjM1ZmYlBvNGp1T1ImJkdA P0JRVXRrYk5NPWlAYW9YVn5AVSEwNmNDSQoremdMNjV9UnFEUGF6TFQ4MWJmQD9PMjw2Zi1GK15J RnIxbGVVPDVxdWxeMWxYVW0jRlh3KSpuTHtGbWpEezx9VHwkCit6JnZvVnc5KENOPD4hPyE+Wk8w NGohWjI9T2E7enBnLU16JFNXXnNhJE1OOEAhMDMqP316IU92UCZJP25RXytTY0QKK3pWWUlSZ3Ju PTxoN2dVZ1RpWWBlbyh7bm57d2xFIUR5QDw5Nk0ySFBQenV0NF5wYmJ+OCtuSDNlVzlgZyR7IzF3 KgorekE+XyQxWns3LWEkbDQ9NGg0ZV5uLTUtQmdSZk9pXyY5Kz0hRHdta0ohRjtPKkowVilPSl5e IWQtPytnZ2ptJFl5Cit6KyZhfF5fTCY9UEtKNVc8TWVLMFE2dnA5T0hyR3NGWHd2bXFrdXZsMTVE SHlteDJyN3RebEEyfG5NOSFlREFjQkAKK3o2Z04jMlkwQzktSkBIRmAyK3tlWWVDdStOeFkzX0xR KU9pZT43OUVqT31UO2pNSkMhMTJyamFFRUo1dWBVNWRWXgoremwyfWlNZ1dOVjdmT01TUHo/SChY PFJNdjF0PEsqKXdufngmSlAxKmtUO0FBRUgyIT0rY1BkP3EoI3V+WFN4cyZCCit6JSFwbWZPPjAp VXdDSy0/NGNmVHBvTyZlYDAxOHVmXih7cz1fNW5tX3tAKEJQOWRCPnIxM0d3TSh3SSkkTGNDbSkK K3p2fH08dCtPb0FwQGR1KjtLKDFRR1ZJcGF1PmBxdjVlVDFLdWZNXjBtPFo+alNNOSgtVTYkWHEw S3pjTzNFdGFXbworei1jbkUhK3tgenIybFpwU1MtPyhySjIydU13T3BeUlZOKytZeThkSj45aTlT ZE9LV0piQ2hxRD5xO1F4Rll0YmJ0Cit6bDRDPlNzSUdxSVZJfE9XIUN6aTlyZnx6LVQqSnE8bWFn a3REVUxALUhINGVRVHFtc1lzMTx6dUE4S1ImS04obkkKK3pEYmdWN0FHSStNMXBvbDxLUWdlaGxl eUxaNUY2WTdlLSplYC1QKUc4NzRmRz11WVdfTD5BeHNAMk93UmRDMCg+Xworem80YWs+d3MpSm1a UUhoTytxUH0md3IkJmZlZGYtXjtKbGduQmtHVDtzRUNacjY8S1F+enZMV1UqUDR+MWpUfXlTCit6 KFZwMzg4LTJ3PjI/PERFITxERnt1b3RxWWZmbzRvJFJUKUVlZ1lMYXIlUUdvK25yPlo9NE0oTFVo TntVZl8lVmUKK3opUFFjUHNlO34yPXdofil2Uj5qPFpoa01rYmdyMGVlbUQxZXJudFp2R2srTXpg P1BHe1JrVX1mRWB1QSMrUSQ3RQoremNLdGR1KTs9dUl1cXhNTHFmJXF6PEwlPWBSejB9Tm1LTnVz QCQhKmpYO1VGdTV8YzVVaF9gbnk8JWZSMikyYTIrCit6dXYoY1BnLV43Y3UyTDFUeEBTKiV2K087 IUpYZGlDWm96N3ZGQCUwZyFWfXdsbWkqeSplPlJfQ15sZmpqc1UyTD0KK3pTTkNBZmtkWU4oUUZT UmA+eCEtP2hSIVE0dFVUS3VtTXJ8VkJqVCRwbFQ/Wnw2NFJLSlJFdiNSKno9cVpFNkdnYAorelky aHVWRzRLdDNpfm9tTDVnUTw1enJ1ZCRLb2VeOVY+ODVPPExsQkdsXyM/JEVeOFMzdnohdH50RTUt fDtzOWhJCit6Yz9Wdl92Z3daJDRUaVNQTTc7Zk53KH4yRGwlR2NrJGxuaSZ0RXI9TD9pRyk4SSU4 aVVaWVUjUikpPkZQRE9HcjUKK3pgT3wxUWNzOyNmUHZaeiRWNDcwNTVIPFN0KztpUkdBO1hoeiZl eUF9PkwxPz5fN0YzbmBKdllsZnxXNy12RzZlMworenB2QFA5RXhNU1AxWU5kYFIqakRSO0tOSkQk ZVBpRGBfa05UPCZKOSM4fXFsNDZRQXd6ZCQkVVBGPllxcXpgRk9aCit6eyN9TV8oP2dxPUYpYjsz VTdjanw0dVd5aj9kbGZGO3BhVSkwZXc4NkttOEtWV1hrPXdOeV5TRWFSc2NeY2ZTRmwKK3ozPXZJ dG5Cb1dJWm80Kj0kRDU/fjgrTXtvY24raCg5WmBGJTY1fSp0dj4hZTZzKTMhektGdGY1Rio1KW08 S0t+JAoremR9ZkhGYyE5ZTR0IXJRKWFiUkZAZjZIUDZGaHhSOFY5OH5PP3o/U2FZMz1NJlltN1BR Uz57Z2tyRjNON0BsPTN9Cit6WVFFMjY9R0xIU0tLZCV2Ulk2enptaSttU2tVV1dDKXxjX3JTayZZ cUtSX0UpWjNZeDdLckV4SFIwSyheWGphLU8KK3pDPS09X2w0JnlfTWFnRHtLXkl5QG4rPCMlVnpq MFpXSmhhcmc/K2xKaXM2OWVJKX02b2ZsfGlEKDJXe0ZRYUpWeQoreml1U2ZqRUk2Wis/JTJubmRX I0pVNVghYGpZYGZkfWghWmZkNVZeJHk3MnhxdChNe05oWG5hITg7X0VCWU9lc0FGCit6Rk8xbXgl UUMxVTc2T1pELXU4RFZtbDQ9NllHVCg+azdGNzl1JmdCb1I1cHZUJGVMMnVlYTlXa1BHSTZMZC1Y VFUKK3pER1dFenV9aWF0dzNNYWJUSnUoLURqMjchPGhibUlSPXJLd1dmXk1kMXJ9N15sMXdpNEZ9 MEAoPiRqbiY7JlBwLQoreiVgNmZ6YUY/c1NCdXJKMjVBQHImdGUwJE9Zc2IzQF4hR0AqV1JwQXpg VzZ6MGVKKFUxPlc4b0xOdHp7RGJlUm17Cit6dj95aVBPTS1tJjZ2NXxVezZ5KVVIX21vSDxSeDVn R0IwaGQqZnxUQE8rUyFHd3h2KGspN0NSX3V2T2AtMCo8KVMKK3oocXVyYWs/RCNIYC1TKnVsaHVt UGkhVEJsZW8/RmR8Q1ooJnZkN0dSS2JXRnRLa310UCFeIypxKSl7ZEhYMTlRMgoremNyeG44XlV8 OzFENDd6LUt9ZnU9Mi1FQDNDa2k4YHhYUlBuPXVZZk1DIzI3eWM9QjkjezZlRjc2cSozRT01akpk Cit6VHBWaClpTlQ+QSp2dnBwPjxWZDE9ZnNCYTNLYXNIOHE8aSl1NmYtMj90bkEjc0VOYCptQ0tu cHtZd0NhXnZOeVgKK3o5ZjM3TllafUh4RSkweV5NM0NZVCEyVURYeEQ2Yj9FdlpSJW1oaF51Mlgm PW03Kj9sO0kofkFteGJvZFFHaXlPUgoreldiV2xxVz9rVmxNOSMtM3FZOUpyP1hRR0xYYDRIRmdj JTUqV35rVzxlUHpodFc1NE9yIzV7fGt0Z0lEUy1fbWJjCit6K209STtoeV5RWlQkPHpIS2RUa25G eCFDVkVOTnN6NnMxdCZeUSFIQzxMRXZDNSpJPnc9WXQxdyNHdVp0dm56fUUKK3p5S1l+VXU/JU5X cDBlOXltVyt9SjJqWCY0ajUxKjxvMk96Slo/LV5XQnpVNVc5YWlSfi1hcVVKX3MkNmNfe29yVwor emJWVldvaz8kN2w8LXgoaVcqKkZpMSZ2UnZRRTAmY3lHKUYka2BJU1ZGLTVVbD81KmlseGBwTT0z KXN3YXc3ckM4Cit6X1c3KlN4WlJgbXhyZEl2PTUpV2BDcHVVNVJVfFB8UjtwbVctNTY3N2NlZTcw dz4lYSZJI209PD93OXQ0Pnp+bE8KK3p5NDZ8NG9xaytuTnR9QkgwdD1+fCZ1P0MrVyYpfCojRCps UTBSNiZ1QWs5czc+JUJUSklvU31oVihfTChPdUIxSQorejl2T0B9OzIjM1FqVn04Y0toa0JqekR7 OGojWFhPNWVCM1cwR3l3NjUzU3tlY0dEVWNlY3V7eCRvRCVfJGNBSmNZCit6b1hLPyZFI0tGJWFE eEo+RnZtTCV4JkZZTnJie2d2VjhTPnY4YjZYNjZpMlomSXlhZUU7dUg2a3A4RVlQJTtHTEYKK3o5 dGIxIWBAKEUxK21YYlQ3Km9DNVZXVjMjZz9wSDRjOFl+bVFAV31VTHl5RU93TDFfb3gzMTNoNkw2 OTkrLXh8UQorelB6JCgqbHhmcl8+Uz58QzhFNXpJPFhJKnZKMGhrfWE0d2JCcz41fngyYENEOyVI VjgzMDtMdTdTeDQtY2JZZU1ICit6cHhYdTBCaClLRilBLUNHUStOWXM/IzdwQyU/K3F1SlZ1RkNa KnRoTSFyNkhPN0FuaFB4d2sxbT5HbypRbzJAUUkKK3ptMzMyQnQqMUVxZkBrfmx1ZUVlMUBAKE1o VWQjMkAmZXptZFEmQXQ3azRLbl4ye1FKcldOTSM2Y0o8VU1OWjIlOAorejVCMTNESH1eO29DZzkm NS0hRCVnJV89bCNWWkRuUWR2VypjTDk/P0Y3Tyo2LTQoeUw2cWdEMmlAfnZgKUV3dEJECit6Yyh7 YCl4SVVGU21aIz15Ui0zTzU/PUFrJFBiWSlUblh3NEZhUiQ3Kk9udVRQRmRnYE15NXVLU2Y5K21f V0NreD0KK3pQWW01UjklUU1LeTFTYD5eSSRQZWFkSyomOG1TRXJHR1J+KSpLT3Uydj52cmt2VDUx YlFQRE9MPFd2a0RWJFU5TQorenB9S21qSjJPdW08cVpmUXZOcGJGSj1rU0A+QkpNQGFCeE0lcmh1 U2hFWmpRaCNDYlgxQz1YOVdhLW9fOEpNRVojCit6dEY9SXBaSyQ0clIrVDUrPj0wT2NQWSlNfEYm VEU1UUxkJjx5PUUoelgrT0tzQnlOO08zMU9CfnNBPng0c3opXz8KK3pMe31KbU88fFVwUDFaS1hA P001QWh1aVg5aWxmdkI5Y005N1R8PXVXTnQ+VStwSTA+e1poTjt9TWVnaU9HVlhHQgoreiheTXR0 OVUyX3ZmN2FLO0FrVnpYKVJDPmBEbU5CZEg5Tj90VXFBaEdLRWVOeStKKng3JDRAKitMZ0hVO3tg SyR3Cit6djF5ISp0UE80Sz42RGNxMGY1Qy0tJkQyTFdZbkJvcCNjQ3ZvJlcmPUt6PEEkZlBZUjBe WihqTHw0SyhrJElSTnkKK3pRQWcqMG5AUnM1eHVXXyVBY183VE5FJXhAbkhpY255OFZ8dHspMVBE ZX5+cD9HUyR4UD1WfGNnQksrcUJ8Q2BLOAorelFIQFY0JnJIWmp7fmV1X1FYWlk4OEt0OT9wTWp2 MnBxNitIZjtifmIzMl4wdkFgdUM1OCVpVGRkdilXfmZfbXtZCit6KE5APSZINGI8MSo0OGp+SDxL cStMelpSXmJhbUt9TFhKQFF4UmRodEJTazRPRGxSQERaI19nZURqYGhFOHlmPXMKK3pteGNibkxK WnN+ej91RkM1Ynw/VHtCdDRuXiRhWHJeejAyQzN+YTF5XiZKMDtnYGZDZSs+PSpSQU1LNHgxSkFr fQorem01QmBmRm55Y21YNyZvQCt6Zj5eJSRjc0QxO3JtNXBJI2lCblZPSzBud1VAP215LXlKM2co eDs1ST5qQzlUWWpaCit6SHk5c0o3K1Y8YUA5eFBoPyZSNm9QTzU0eVlleS19RzY/e3gkKHw0YXtx SUNFTFJOdEgwfEVmeDAwOThfXzBMNi0KK3ptSmt3PVJUVExAeTcmKn1gRkZiYk1gNmwob2dTdzlv RlgoXnF4V1A5KkcxOD8yKz4kR3hSUUJkd2t9QzZ6eUxKNAorentzJDBBWSY5YXZhU2phXjBlP3A5 P3chRU85WGcwUHdxcSV9azFfZGV7YD4mV0VBYWdadS1uVmE5cTV1dm4wcTFTCit6SD96VV9hfH4+ eHZOTEJwTE1DMXg9Kmd2X09PMCk2ST5RPlItPWB0WDNzMGpMNlJzdUR0UG9Sb3xDbFR3X3k7WWsK K3p3Y3xiQG1aXk08cDJAe2VgSlB1TmJIZE9PVHNuZzFJbzNoSS08SVA3VG14aFluYDwhYTlwMyFN anlHMWpYWmlAbworelgzU0o8S1hWKEIqNENBR2hycGo2LUxfPFFCd0dXbk9zPX5kbTB1Z1BuPCVF OStKZF5gP3JeRVRvfXspOVM/bHZYCit6U3E1MnVKTmtsbntyKTA4VWcwM1pmYyN5VENMY2xQNlF+ e05qcVNfMzx+UkBPWGJZKiNHMG5TZSZnVU8zZExFZ1UKK3ooOShVc1hVO0ZvR1UxRyYlMFRzNVdr bkxhXnglV301fWVpR2JCO3l8eHtrIThYNXNvP3xFcGZqX1JDQVNMS1dLNAoremNZWnxLcmY3ejMw RCNMdzZYVUVzNClGb2FnenkjTl9ORSRoPWIlTFdgYTNuSXY8SztUTWJXQSk0Z2I8X3Zxd1V2Cit6 eElXeVBUZCROfShleHdAPnxWR2pzUnF5ezVOKyQtNWI2ZXkhRC0yZWNDZXh9PlQpZnBMQnE3OGJM ciZpK1RKI1cKK3pwTz8xfHE2ITdSQVR+LTAzJkpXOFM9QmRWPSFffUc4TVFec0J6Q2soVX5zNipx USZRIzdOdHc9M1FoZDRGbEpLZgorenZAR1NKZns5MG4lODA8WHtfdiUkK3x2QF93PUNfOzJrOzhZ UiF5R1RtfStJKiRQbHozb2NqQDRUMUU2cT0/PzB8Cit6dkE2enc1cEkkTTV5bEo3UFQoMHlfQE5L JVVrWElaNSkyQjtTVyhqO2lzdHZjP1F1PXd6ODMyOWcyQGBGa09mWUEKK3pmJDAqcSloTWNIOFo0 Z2U1WTAwbGU8RUIyTT90M0pwcjtrUklxfGdiQCYwZVUmXzZjU140YzBHdFJGfTVpVTB0QgorejtH WmtEbTdhbUFuWUdiPkBvaEcjT1UxMFNCNlBwMkI0fm1uMUJwcFFXY3lwc2cwSk89SmpgNUo9fE1D fnViViY2Cit6bFhHVFImMzxvVCN2X0hta0k2PjcpaD5uSz97Umx5Jk4rRXA3M25LZm4lXnRBNDUl eGFKSD5pVWd5WXVtYUApMXgKK3ptM1ErdnNJZHM2K0YqNUN7NnQ0VkVyUnh4MlNOYlJ2MWh8Jj9V YkshRTF2ekNQPUpOV2l2SFRAXmxZKHcpfEktbworelI4K3RfeGxwXmlkMlQpX2JlP3NuOS1CRCUp MWtOfGY2Q3VBZ1R8fW9WdSpDVi1KUzBodHtFIytqJjxhVCFYQ3l8Cit6QipZNVZkcHghTnNlMFAk LTdxS1IxPTwkWHtCNTBqI3VsbUNZV3VDWjlSfHkjdCppNks7blNnaUJPeVdpQD1EJEEKK3pefjZw I0lsZypTcTBHQGNFSFh+czczPFVxK0pyQUVac0dyO0xeVGJoKF9mZnJpJCR1YCFZSnpse15jSEhk Rnw+eworeiZKfGE3JXJyZ15CPTRyfnlqTW91UD4jdHVEWlh8cSg5OEYoVmRGUHBRaH49ZVFvTWFq ZEt4S1h4LSkzI0c+e3hKCit6cCp+OEBZKEJ2NnB9az0hTiMwMlFDPmthWlYwUV9WI2ZtOExfMnht eUBlbldJP1lzLU4oYWE7QCo7Q1NBcENXVj4KK3pSXkMoXjcqYWg+Ym95SEZFTz95WW8tYTxhKyk1 dFFLNUQlSFVNQXI2NGVXfEJURU1MeUI3Nj16QHdTUWdgdldgSworenJxXyNoakMoa0NUQ1RhaDB5 V1NUVmFtQENfM0xNcEl3YX5KQVkzRnBlNXU3MFFLTUQ8QVF0c3N3aExMPm0wYkFUCit6NHJSZmlk cWcmOEpuaDlTWCE1cyN0LVI4P01PSVlJdXJgcjg0dCV4QGZYMj1ialAqdEI7KmlTYjIxY3hgX0c+ OH0KK3okNEpQME1neT9AUDtSR15RTlk3fTFROTZXN0skUnx4azdrX2N7P08yVmp1MmRLYWhmPChF UTZ2Vi13MW1pckl3Zgorej8oVFpjJlE/YzJoOz9gRj5CSjJhcmdYRj4oJX0wJGJJRV5CMUI2YzRe dEIwaURGISF+eGQ7bGFxWipqJDVkO2QoCit6R0RNWSVuVmYkbkN0JHxFNWFLSWt0bUliWnE+Q2Fz PyF3SWhmTzZGRjVfcHNMPVF7endMV1ExMjkzbyE7blVeQnwKK3o1djdANFd4SnIjc1hKZitfKjt7 ZXs5JistZCR1b2Y3S1gzTWh3b2JWIzdOJFo0MDlBRllVYD5aKkw0fjx1dlcyQgorenRxTD1qTkBh QkNITCM+VDJCMDV6Xl9tOThqfkNRflE7O1d1MS0tO3R5P3lGQ0t5UUVjezh2LVkwNiF8eShMXjV9 Cit6O2lhc147fXZjMWNRPD9wKDhQcyp6Kl4rNWhTemk4S3Z9YTApcTV6ZEpIPSk1Pyo4MjF6RVc7 aXYoN2pJcGs4ZH4KK3pKQT83KXFXRipAKUM8alREV3NXQEhjMEhUVX17bjdUdGEpeXhHaEgwMDEy ZXUobVc9UkpjSUwjVko+MUl4TXg+cAorek9HTTJabzB+R3pARm5pTCEoPWVvd095ZSs5LUx1dF5w Y0YkTTByTmdnJE95cVBWKUxXaU95aXhoJU5ZbzNJX2VHCit6TU98Xzk5KF9VdiV1YCNSXyl8e1Jf LWMrRXtAfmFwVkI/ZmhgUGc9Pz5TPUt8PzU1YjgzIT5PM3JRRitGRHk0PmQKK3piQnBkcXYxQ2le dlgjWGxDJVUmNz0rQ3R6MSpEdyRVeTZuciVINWw7X145e2ctcT5zTHspbFQ4N3E3aXQ7VDlRSgor enRGeCRZUSVXO3tNK2hsdDJrI3BSM289XyR2TGRmbFVzODVMTVN0RHR0c21JZnJgSkMjcFI0PXdD TTVYX0J3cldgCit6SVZCWn4/Z1BeSkxgNXt5YWRyejJCUmNjM1glIU9KYHIwKkBkPXN9S25lMmQ8 bEM7SFh0VFRsbF5BQF4pUz8+KSgKK3pFP3NlS2tYYj5NMzl2RktWZ19hamgxITtXYD9VV0ZqZHR2 Mzw5WC05Xz01KncrVkppe0wtKkBwNyE5LTZpSU9lZQorelNwSX19MFhDWnNZd1BNTXZ2NnY/NmlD enFOd01OTSNWe1J7aSMmbyEzPmg+OCVwODA1eUZNK31UQD53MWB5Xz9+Cit6Nnh8MSM3PldIdXdE fEJPaHolTjwrXkBSPiZuPC1NR0Q1KEIhZ0lTMG9qUmdsVnZ3KFU2JUVaLWRaSl9yYFE4JFEKK3o9 LXlPKlJeeUw3OX1NR1gwdDdKczRgI3Y7Mm4+RF9xKi1Ed0B2cChhK0QhQ0JJKU5yd0RTciFJYGt2 Z2NaVEg3dAoremFHKFF1WHp2JVlKXmglbDE1QTxFUT0pZDA0KSlpWCowYT1SLV5wSFMzU1NPJWQ9 UFhMVGFVS0heN1B7akMlRnFYCit6YS1KQlF5VlNFfHcmPFh8ZE8oR0w5c1B1YFloXztCRyY4MCM7 flhWNXNPY0BnOz9WJTUtcXYqI2NzZjxQelVOTi0KK3pLPHtfeCVuI1k2UGpybyVge1hpaSgoUGxs VEQ9Mz9hSDlRb2gtQXs1X0tTdStkeGx+LSF2c0t6V30/d085QUxldQorelM0KVNZNm8zdEteRGZA WWc7bEdmeE84QUZlOEk+cHtFIUxNOGMwajZvSSN9am5sYlJOd1Q/e240YVVQNigrK09RCit6a0pI XndvbThiRVhCOUt8KGd6Mk1KSXdkUD94eSFNYFokM2Q+eShofS1OWE5oJjM4Kn1Ifl53V1F1TUEj Y3pUdnYKK3pqeXA4bHAlXjklS2hDWmJtKGthJGt8UUZnOTtrS3gyJVF9TSEzcGgkZzlyJWxed2xF T2hRQX1rJHc4dTdeM1E9PworelZuI2FNb3heOCQ/UjxtN2VQUElHJT4xMllSMWU+fDlzXkFFaS1k dCFrcm0kcUJzZSVtN04xQmJSd3tre2UjbFYqCit6aFpeeTs2LWk4b1Mha3lUdjFTOyU1O0g/K2gr dFRCJm9UYWhWJldsUWlwJkFma3RIa25zLXwmJD5aMHJ2PXNAaDMKK3p1PWZYQ0dDeTIoWjtHUHkk bVBTVjUzSHxuPykwQXZnZVNNcWw0SDs9P2NyRDFNRVAqU1IqclR1dXN9PVVoIUNYJQorelZfcyNt PHJAS3FWP1NZI04qfGdURXdicC05ZUpJcGFKOClEUWAtM1QraHRQeTh0fnQpc0RJWjxkWWVAezZT K356Cit6KjsyOWtBPjJ5PXpFZTIre2Q5I3VpTXtWQVcpRmkmaTMlZ2NsPX10UWUybXI9bzVhK3ZC SVdOZWVPfnhNPChmRT8KK3okVnNxXj01P3RqRiZRWG5NdkdOMVd0KkY5WENXbypUSDFrQXleeVE4 akBjZnxrVzdZdFdsISZzUUZ4PnNJRVVxWQoremtuRTdyNDc2PSZefU9MMjhmejJCT2UwNGUldEdv MFlqYCtJK2opaFVGVm4jNyFoYiQ+ZVRoSXk9eE96MlYlSUo1Cit6REFxOFBgaXAmbmw9JTdsfDlE XyV8SDBfNkc7JWRGdShBRmhjdVJfKGVVa3JoXzg1TXdeWiNoWHtCTF55Tz1ybXwKK3pxMzw2Q2Ro b1MzNmNFPVMxPGJXSmVoQT1aVVQ+fG9HZDdxJisofT4qSDZ7YCs4XitVQktfPkgwTF9TMDxaIUc2 UAorenRVViR4TTFASWdFaGNoMlVONkBoQjVycjA8NTQwfisyenIoYURJKFMoPlNKX1FNTHFSYHpB e0k9OD57bjlqN0cqCit6YittNTlQdklhZXNUe2V6KzdCRVRVZzgmZzNCfFRgXnNBQDtidG9GVUZF NG4jdTMlNWZaeXo7N0hwcUdtR3deM2AKK3otRWlXYks2RjhqI1V9VmZFI3pDZiY5VzJucX1ZWn4x c2QrNE9qNkwkUk04TypzbDRLQGs4Njg8NWNLfDt7c3lfbworekhQI3pXKHFQQVlLcU43bDVUZkha clZlLUxLY1Rob3A0NWRtUjw/JHJvMW9fQWJ3THU4ZDxLeipjNGlHO0NadWwxCit6IVUmdkBNaF99 eSlDWnlLUiU2JFBCZzxtRHRla3p+TStkZj5Qa2lsQlREPWU/QDw1NTRQPDI4dWliJDAhVFQjc20K K3pGVm96N29aQSVKQThhamttUksqSkNZcT1nX0FmaGJ7UylSfioqcGYhPzZvaVp5OFg3VmsoUnhw b0NWLWtGeXMxQQorenBZfHtHeFFBS3JURzhgMnJDSE1ha2B7VTF4QXUkbGdTOVJ6KD9aeHExWUNR YTtVMVdCRzEoSTBTfXUmRSV1c0ReCit6PUppQypkYSMoeXJsVyFxPTVEUEdYdHl3JE5UPWxYeHFu MUVjSmdXMlVeK0doUDBeLT9zUmA+RzQ5dmU2bFFjI1QKK3o4ciZaaF59WUxLVSQocG0/PVZGNGFP anM+VnBgRylueW47d25RRmQoeztnR2ZfamxZREA8KkEzVTt6TSN7OzdpTQorelMoQG9OPW9wJEF7 OHY2fW1DQ3lIeCtzRnp2WnswdXhDR3o7SlZiNT9mS3gwdEZ+dTRvVGApbi1QK3NGcV97MF5oCit6 bGk5NCNeK25KRHRwcjt6R0VucEI7YmE8PDNHRCQ7eDQ0ciYmYFZrSl8rKF56UnxlcHBGUTF0WVBS KEFpRzg3LUEKK3pSS1NrSkN8fUBwKyY9TUVhaV9vdUtxX192VyR+ZiFWZzJBYCskQXR4NHF2WEsh bkBGLWMoVCFaM14mJHckWVBkRworel52cU04KlQwb2VaJXQyNnB2a3FIY2l8YkEmUERReG40Tm0m SEspQFZgJEpveExMUjVacUReUEVqSjBzKm8lZVh8Cit6UHRrQGNPeT9uM3RUKXA9NFlhTFh1eUhp NlItem11M2BFTndDTzc7THFFOFNxRWQ4TSQmP3QlK3ooQSFmXilMe3EKK3pUelZrJUlueTJRK3Ey QiZiTkV3JE5sWGpCQnwkeDhpdldYXl9LM0U4V3BPQ0Vje01VZE1tKDFVSlNoV00mTSVuUworej9e YCFjbEJXeCQ0cylMMTFgRlVQVT5EKzUxTjk4U25vSj1vK3VpRE0paWdvWDxDJlBVVDtNQUJBZ012 QEZUITlVCit6ZndZODNVfmtPSCh0KTdjUGtUTEdyOWw1bUdwRSomOFFsdzc/UkAyTilxQXBDM0Fp K2h1TG58eF9WZyMpOWpVM2MKK3pLU3t2M05OQE0ldk8wQDA2VyQ9dkxhcXQwPUtDdCNxfXYpUXFB dHhUZHxqVGlXJDs8ZGVtRTlrOXBmVkhZR2Z6NgorejItYVQ1XjV6dUlSP1o5UUh+TXgrdkx6fWd1 PHA2ZCZNZEl7VDFzIUdhXktwWTlhZEpHeXtSNzVNJSEhNmVNey0mCit6TiMpM2lMUH41PnBldnpo RH0wWThNY0Ahbz5zO2FSK1Vre2Rnb1c9KkskfWRQNFIlN3Y3SUlmdk15bmRNWkkqPCQKK3pqPEZq YkExczhBKV5MPFNKVUhBYnUxaHd7JTFFJmY4MUZPZER8SGZtRnJLN19ZIU51LT9heG0/SkBIMmE0 ZGAraQorelkzKCgoeGkrO19KU3sqQkcmcU9vQkVvKEZaRDkqeHc9cUR0OTtWeEc8WHk3fGBMSmxe UyYqK00kQHczWUsoK0h5Cit6QkFqUGMrRHM1eTZSX25qN0BBX19mcihEVXpBelNLd2FSamgmcD9T VlN5SzlBSn11elVDYmd1dXM9VihNaGUrQj4KK3pzJHEqX1IoNlVVbyRYe2JBRV59bDhqTWtUKUNj YHIpcSFsIXZ2YXBQe18zT2orWjFQbnpgcSh7cDl+UyY8a2t5bQorelRDNlZSUWV1LWskbE52Nk92 LX5LJSVlcXEoeXA/JTwtQVAoeXtaNSVZbGY5bCp3PGErayNNcH4pUyNyb3FldmBvCit6cFVxJkVS MUY1ejN3KUBIdWcqcihDSGR2QzRWQntVMXZ7QDY0fXZGOzAmPDxUQSE7bDdWeGlWTTR0Mk56dEUz YUoKK3o8WVB9dT0hNW5VeT9BWGRkKHN1cHElKWYmd21WQCZJRyZkQ2x0K1ReODV1UU1wa29JOUJD XnItI0VXY0RRfTYpdworemxDV3ApdlVzRDtUdGFIQiVPS257bzBWKzhAdkJFJl5MZSMzcEI9SHdM fjZJbSRKdUpRWGt+MWktaDJoR09oaTFACit6eFkwR3A4OEMzbXQtXmF7YjN+Zit5SV8lJWU0KEsh QyFCUT9KUHlOKj1tVnpjYnBMNWwjKWRFUUpeRmpxPzBIZjwKK3o+Q3RyVjh+RVN1R1Q/VFBBMn5t PEczbFM5aXxuODhHTERZK1g4S04hTSpwM2kjdyRodXMtR1N+PGU2djRIdkB7dAorelolMSRATmVs cyE7ZDQ+ZmFAP0B8PjR9dW1EdHQhPTJJaE51NV97aGZxN2hOZzt8eF5PcU9qNkh5JjVYS2ReVDNX Cit6QnMzYmJYZEdaISQjTGxCRihFTGRPaFI5TG54XlEyS3MyVHh0VkRwVWFpckdaaTkxSWwpfElp X2loS0orPz1UKigKK3pjJjJZTSN1U18wdUxuSUR2VTBSe2ZYLUZLPDxpfm9nTlVxKFByRXhXYDJG Nzl2NEt0Si1eI3o3bH5QbWs2STNHdgorejFwdlZQcn1GPGRWcm9xYVR8WS1RIXF6S0ZoX25QanRK U2JgS0ZNMFVBZXdTfntsNUlxaVMwYFI3TjNjNHZyViskCit6RH5wKGAkZjlPKWNsRkx5Xm1YY0Yz bT0yNSl4dWBgZSkmJUdRUXZffXtWfkpJSEhvbyhPfjR2U3pjTEZxLUpIUXQKK3pZPFdDdlg4U3hj X1dDUW1KN0N8bT9+KHAoZWBkfHF7YCQ/Pkg3RS1ZJkgjd2MrOHU7JXUhVD9kVnUhMjYhM3I0dwor eiRyS0QpJlk4V3t0Ujl5ZV9He0hpTmpoZHFtQGs/QyQ+ViRQNGN5ZGd5TiNaQ0k0Plp9bjt6YEoo PVZvNl5ycGp3Cit6cXcyYyFrekxrTS0oMXxkKllmSnFxMTliM19jXzdCM2FRVlJhfDZQb0FEVFg7 KENheWNra0lObWl0RVM2TWkmZjMKK3oqWHg4UE5aRWBWe0tUV053T0BVR2E7XlBEM0U8dEctQjhz Q0R0UU5sbj0lQW56OEc9MXV2NHtyPT9BT1lKU1l7SQorejJ3SnJ6QGphNnFWPSpRU2N0dytAI1pP dlAqPTF5bG9naFMoMWcyeCtxPjFXeHZtKGFUdlhlPHItU3hrPGh1KjdKCit6NVZWTWV2UTxWRSpB MSs4SFQhKTZRWSMoN0liZmQjMExWYFBpXyQ3NldGPC0oX3JOXi0qOG1eQTdLdzd8bHJHMT4KK3om bG8kMWRNNDQmTGNrRCp2S3BxP3NTajFEc2t7KTR6Z2FEcWxaTCVvbjNjI2BBRVhZZzJyJW5EfDdG Mnc9QnNhQworekRee0dCNGtTWVFmS2lBPDByP2BjQX5CeEdPOVpHTGk2VTVWMUNudUlrKEVRd3tJ O1cqd0F+Tz49YSQ1Kzw0Y1VWCit6RmAtZEtBQyp9VnUwN2kjcHFMZFhTOzNnVnZeWXFeZmJ2MCh5 ZkU1cVFHKzx2Wmgoa0U7SjE+YSV3eSpnaFMwenEKK3pNQTZ4SkYxNXwqWXB9ak5eJnhabWtmUlox bTRjdng2fG1famVzRTRORFl8MnxVQGltMkZUJEJiSEZNZkVqOVlvJQorenFrZmA5ZWYxck0jNC1x VEw7bHJWR2AyPm5nKj9EKlE/XlhAYjVvOXNQXkNJR1pPPU4xNGROWGoqWENqVF9YWCpXCit6VyFF PVplTTIpaThAdVYxfDBuWGN8NUt1b3JZNTZkZkN+VCs/KiNCTyMxSUYtJS1ZJDshaWVyKSgtMDEz dUt6cE8KK3pfViU5X1lFPUhRTj8yISZ8MCZlKU9SJCh3JGlLTyRZcnM9VFRabDNfUTB1c05qXztL SCVRY2lRWmFONGZMSjdqbworekdgeyV4ZH5PWHV7OEZCQnQyOXBOZGolZFA+UVZxMUZXJDVMTys3 JUtOUHVwY1IoTEBYYnBEZTREJCQjITxyWkowCit6UE9YTzJ1d0pGckh3fTVlPWk3RHV7TkEtaTwo ekhWWjA2YiVaQEJ9JUkrb0Y1PEwmRj9aSFZYazV6KyRaN2FeNCQKK3pQSkduYGJmJWVJRWtxI2Iz a2otdW5ASER1IVRZRWA3SiNUKG9ZYFBGX0t9cGJiJnI/Oz5EWGsxeT1POGU9JmwhOworej99b28m M35rRiNyM3llQ1UqdmhHQVJGJXtOYkckQU5DPUlAcitLZ0RqXnY+Z2oyTE4kdWJUTzJsM3VgOVhi cDVGCit6O3RSZn5VdHdrX00tYSZsM35OZztLTz5maWkwfj9wbVd4eCYwa3hjVzEtdlNPMyR6Mmtq IVh9aT1zZFYyZmsxbmsKK3pHUVkjUk4oZVAlS0lvNm9obl5ORj42Z1NDNjkrd2ZtcVUtfEZHaH1+ eTh8O0QzSm48c159ZD5gVSE7PU1uX2krXgorelBhOHVqb1IrTVBDRGZBSD5KT3FNKjdlb3I2fjsx SkUxZ2c3cm9mNS1QN3AyaUF3MTYocUdBKXJaSTJiN3s9Xj1LCit6VWwkTDJ0Z2szdFhOXlFmN3J4 P2VGKHQ1XllmezVwaiQodj5iYjxkcyplcyFOKjJ0K0wyNjx+WFkwUVJxdG47X24KK3pmSGtkZHtk QjVfNm4hNmhpNyFLLWpaYV5QXmo/bmJBOUV7PE9fdU1zU0V0MEJvajx3V2p9UEFUMlp3dCRXayh0 PworekpKTnR3NCRod0o4SDNseDkkeWNTQmdQKFVFYFYqZHc8bEsqNTZsX0NTNipTQSVLQXc2RzVo flNsXm9+Zng8MlhJCit6YkVKTHEwK3Elanl0Mz9oY2MjQGRJZVZ+WCReR1RpJChDOFlKVStkZ3ZW PFlqMD1SaVJjLXUjTCFfPGtZSWZpP0gKK3pjQyE0U0JkPVg4YEtoKFBmU0xLckpBaEc0UFF1bUdf VVhtPmBaJUJJKSF4PkxBI0BuUkFueCtDWWhURzNrZUJzQworenUzR2VCQDhheFluWmElbzA0XkU8 R0FaKDZxSiUrM0tnWi18YF88RmxBdTUyUXIhOEE5a0tNbWNfTCQ+N1d6M1JXCit6LSgtRmFYN1RP XmhiTCUyY25EfTN3aCFSPVFFZk1PWm8mYldTbloxJmAjQVBPLV9zZT1sKnYjOW5CX3BXcmJXOFgK K3pAUStLezgxLVRHTF9kb0xrWG9pVnApSV4+a19YUzlwMj9wRGxwdk5DZnJ1K3NpdH1ZflhPeGdw eDRiODkrcTlpTQorelo+dnU2TG9TKEZyI041c018KmU2dE41fUlud14lSWQpSW1FZVMpfnVFZU9B XnhfXnFnMmlxZnZKWnsqVHB3OW1kCit6I2pIdGhNfjlrZT02Pl5aaH04Y0ppKnYxWXpUQCl+MWZR UkFnZ15MfUAlOE59SXhEKiMrMD1WXj5qTiVobzJ+aVYKK3ooU0YzNiF6alJvPSpiJmBRai16P3Z1 dERzZW43X2FJdnktbXdWMD9KbyZhazVwNHJCPy11IzlydzlKaj10SzVBbworemhlVmtRckNjK3hG MiEyclFsQ25HViNVXyFZMkVVVT8rNWE5JT4hKiRyKm5qOzU0JVhpKXhWPExjbyZRdUh6Tk1VCit6 ZGopXnJIJjd8ekJHWF9WaGM8K3p0YnUqZHNhbjd1Qys1c20wPzM5P3UwT0xISCZtZXYxPis2O2xk bl4oaEVNNWsKK3pmMUJ6RnpEZC01SGxZTy07fWdgdzEheldyb2tLWWY1QFNJM0NpKE0mJD5aNjEp TFlqa0RLSk9APHdVcVV4SFg7cworel9hOS1MZmB7PHtndmQ5a1dNQm9yX1pVVVI/IypAfXg8NEck P1psVjAraENCTz95PkFQZUxjUShlVjJyQU9XZU1QCit6IyU1OFlBNE5FeGpLJiZFbyRBSHdqNU5N NS1xPGk5WlhgWld1Y0d6WHdTUCR9RGZnTFc8YF5mYVdAZ31YXkFyd2MKK3phVGd5OFlybnB7PV8t NEFEcyh9KV4/VXEpNktGZn1aMyRkM2JPU048KERHUC1JSHVLcSVUVW92JD01LUFWJEtzMQorejQ/ JkhIcGc8d3NTb0E2YipjMEg2NjdxKDJ2Q3okc1FMPmpjJDFRUEk1NE9VVFlhRyFLdSohbzxteEND bHh0dzl5Cit6c19zNWptSiF0dWYhdn5FVS1TUG1MYzF6QFVWaWUyPUJydT5zZlFrSURgYnNDWSMx RWt0OH1ifDNsOE9ELVI3Wk4KK3owWUxBeEdxNGtzT2NGdURnKGM3O0MhSG4yZ1B9MjxzVWVPTjcy ellBVmtobmkjWStJY3A8aE5fTnR3NCFQSHBHNgorejJLc2g4aUtPbWAhQUIwcmdrRkw8O3Z2PDty PU1DWjdwP2FnV2crbFh7O2trMGBeekM4enpOTS0qVXlnZjNrN3F3Cit6NEBBayh6RGkpQmI2QCVs cm5abFZ3YiNsbD5QWD1mS2N8OyFia3Z7OU5OJmpSRHBlI2s1eUppfGxgbCkxJSs1QEsKK3pOc1Nk OHRyV0BZPGJlRThWOHRScjhHTitWN05sa2IqPlp1QEtzNnp9U0YkZE8meHlUVjFZKTJUJXA5ZitY ezIkRgorekB+X0c3VkFQSkcpcnE3YVAtdXlKWFNKJldiZmNBT0tkQD4kNlR4eSEqVnpnMkk9Qmky TVhTfDZrQ3FqbnZaJHMoCit6PilRQHlAaWRqVjM2KT9PQlRSbzVueXMpZHtzeiFqKFVHeEJZVVQ3 aXY0OSglK2xLdz1kO0FsMDwkKnMpZ3tudGkKK3ooMnVtbVErbDsqbnFPXl9EWWxgRURuPjYhRjMj S2w4VV90MClON0BRTGEhP35BOFlMKGJaRWRMcDc+YU9WY09SNAorej4lX3RvPzctIz4kZjZlU2oj b0pjSnRLP1pgbyt7fEZxX00zWm4xbSRHRFVuYnUtZG87X0UrZCs+VXZsdGpfQEtyCit6I01mZWgw QzM0XklXRyl3bUR3e0txZkVnVFBpfCh1T29nKFdPSz81K1MwZm1jUCszPitVfCFTVmFkZnpkbnst O3gKK3p2P3s7emBCPjdwZkdaMG9KO3lNbkNOS2ZEbHpveFMzX1o1UTxXeEZENHo0NGkwMmZmfl5J bGZoVW9NOz1WWDMrXgorel5pO3k9RzhFZCRtaT1gWDhgJX1jTk1LKiNDLVUxSkI8dUpoeUghd1lw MnxFMj1eI2owcmR2O29AbUZ+KEtvTGFoCit6cz1WQU5ZQStxKDQjQERVS2ZKbERCfC1BMFAzXmR0 YXpXK05fWHVRaWI9SmY1Y1JrLUdrSEo0YXg+WHx3djtLQnAKK3psdEd8KXt+NXdTY0c8e0ckfl5P bWREKFBMUTBhQzxfazQmQ0VacWpUZW9RaWRZR28xI1c4b3ZxTHY0MEF1ZFF+Kgoreko0UElmRzco O0QzZVN+JGl4SF5Xb0hCeyVqPTZFV01Rc3lHejFQRSM4Zj15OWBQV3pyRWFhY0ZBYitNcXFYcTdo Cit6MVRrYGg1WUp6ZUIobFQ8dlhLcXpsdWh4ZGg4Jio2am5rKENwRGdaeTtKYHd1ISp2PWhGeUxf WWlCMDdRPCUoY1oKK3p1UzIxZzlQbEMtYD85Jnk7MEd1d3pja3dEbHh1SG42cD5WN2opWUdyWF51 SWhjTj02MzdPZlRKck4kZnRjZGZhPAoremAjUD51MGcqWHhaT1o4bClCUlJNJXpjb0BmU0RFQFdB WHtJX0lOKmBXOV9QKylkK3hVa2s8TUB0cHhkezYqc3ozCit6djlGaj04JHBBSEdTeCN5VD5nNTFE Y0RDZ1VpJm0hZHNfaU07O1V3bEhxMGxoN2M5Vz9wZXdMVmtqSjYwRFJWd0QKK3pSSmorPVAzNVNr P2pgdW5zOEUqXj55VyRaTGEhNnh1NXRLKU04bHtBUk5abXZiXkl8JT59QVhrQmJNXlk4a3sjcAor emtrdXU+NlZfZm5aK25HdVVGIUBeLSZvUXhBSWx8K3VMO1dYKXx7WUxpTVFCNDFFclBaQ2AoKH1R XyhUWU1wOG50Cit6ekFTPCMmczQjQlNXY1pwYXYrSmhkfW1yUyVoPUg2KVRSdUN7S3tCezVzVWht cCFlQFg+UlI8NT5MKDB2emNEcl4KK3pIK0BoaFRiY3ZAdF4hUGtNd1JTWEB5OHZga1NeRFJxc2VG b3RePHxuQjRhQzJNNldXUChiKWgxdVBjbCl4d0w5dQorekVRR3UlMFJeZ0BfSk44ZU07eilZWFFp VTtTVmY9dTcrVERhOyhPZmw9b1NpQD03PylJNGNKPShTXl9BYHE9R3tDCit6QHsrc0g/Jm9BZFY4 M2xDMDhpVG4kPjN1JS1BQWJpPD9IWTw0a0xiJmZuWnhAdTJHOVlGRTB5UGNnX2k/WU8/aTIKK3o8 TC1qK3MlTCorbGdrZ0NaYFE5VTc1OWI9dEpZJiNfTmI/UGc+akh5MzsyQSsjX0hHRWd7enFYZDZ8 ZFgtQlYjIworei1NQHl3eypsQWY7MmJ3TzlfTDlzIX1PQ19KTk95ZmI0TXVkRHMjTjBkfUZlOXdP RmdkdiUlQE1KJmFiWmFgUm95Cit6alpKSHg/dEApelFUUGdNKXhGRTxrbi1AP3Q3RFRFc2owdTNN NE8pb3RzQkhFb18wQ05BZG91fE82QDh8eChoeDsKK3o1bG0rI2VGV04pKTQ/N1NXMF9sPnxHNEhU e1QmdD1uSGVhPihjYipXKiZRbiM7KE1gfGUmVVRoMVA/fS02cDw+OAorek9zM34kUCtTTGAtbEMz KUY0WVhBITAjPnhtTnFQJSNmckVNaWN5IUhWVGxiT1NQcDR5X2JAWHRAUiFnXjc7ZF5uCit6MWJv Q3hmY19GIXFnP25SRUZpKnNRdkFZQz1BNy1udTVZRXFSb1gpSDFXSSp+YHlhfl5YP1pHaigwWmI2 Q1RTJlEKK3oqNjdoYipsK09XU3EtI29YWFJuTCh+JX5eX3VHIU0hdHItOTwoRWl3Kms7MGVlNnwh JnQ3WTY0PW5MVjxEdVhBWAorenNDUnd9MWpISFY2TDVAZDVNQVZYc1Y7RmtyPnRUdlBJZGJoK0BP UEU8Y29VTD45cGojQzlOfXshJkBmcG1YKHttCit6TmhoM3VXMyo3R2lDR0pXUkleVGk8RlFFNVpF cC0wWVVeVnBjJWZSfjdfe1doYzcxMGVIOUhWMmFZZ3hrPGRqP3sKK3o+fkpXLS1KPlJLU0lxZGFf PnV9Zk55TUN6NkNuPGo5QmVGMm82MXRPNWUre1c5JDRHdmwqUnt7PTk0JjFQSWA5RQorej1IR2Rp YEZGYl9xVjNaOVIqYHUzUklzcylsPikmfFEkZkJTZUlvZikkQzYyVyMzVUI9clJeY2dQMWRpIW8z RVdXCit6RkJfayFxd3U1NDR6WTVsdGU3c3o9QTcjbF5KWnwmVlh5clVUeCslPSZCJFIyRE8tZWB7 aFhTZSNNNE00Z3dlKCUKK3ppJUxOb0VIWX1kbSp2fVVzflNhPVBlMjd4K1pFOEs9cU0qUFkqYlVg KllFWjc9SnwmZFR0Y29aS21rM1ZfVkx9MgorejhXQk5WaihJMVpLZEk8dWNSSGxKYT1sJlZSNjdK OHRIUTZSdl8paGpjamhTP0QoRHs3dUgxUnZHNCleLWRyUzxvCit6JEk7JkQmclUxNmR2YWFISE1i Jl87N3YxSmkwLVpNTjQ4Y35hbERMeFNfM2trODgzRnZOemQkSk5XP3pGTlVmPXEKK3omKXM8Kkpy NWZAbGF3MFR6aU9BTShWTVhQLWh8RmlOcU5TOSVkekIrSFR9NnQ/Vj88M1d9Nk5laGxgeG5ifXhj XgoreitPRW97X0xpKlNIJDdnI01ZKHUpNyhGPD15XnZodDg8S0pARmk3PFN2LVZjRnt0YGRwaT5L I31VbzdUSlJMeU9WCit6SWhmaUBkQl98UmQoT0s0SmRwU0RWUmI8XitPeXJGPUItenBhPHkhcypp aFJ5ZSVoQHB7TD9CUyhJUiM/ekw1LW4KK3pJNEtGZXpoIWBtdXJMI188bkcxMlFpXzBvIzM9YnV1 PEY7WmlIRkopeTFEZWN5RnQ7TmhRQHBLUH0qQFB4clNMWAorekY9Mmo4STlFR14yQ1lZQ2F6RDMx cDt9fH54P1ZTVkltI1hLTlVlSUBLNG4oXiRLcypHVlc8ZV5BKX42NUdLWiRCCit6UmpLSmF7TjJy K2dPK1RKRWJGeT9EQk9kMTxTdSpRNlZ+O05UZiYmP2V4Wjh5KyMlN3AhfEs8aXgzZzVJKmVaPmsK K3peT3t3SVI+KWN2WWNndkdPQChYOT1GempEMzxCM0I+bWZwUjtEPlE/I3FEQD0xPVZ3bF9LcC1R dz4yeU95dlI4ZAorenVsUlN0czBoSDh7czAmTE9gTzBENWBnRFNNMWx2PExEVyVDMEE4c3Elckx7 cHZ6R1BUZng2OFEtWjs8VilKV3Q8Cit6YUgyRWYtWmB1bHE5SGlRYTFNMCQxTzlyKyYkeXo5ZlJv V017ej9qWEB5d0xIKGhgQ2V2cG9sYlhkRy0/Snt1aUUKK3oyJjxBRlRsXkxUZ3pSfGMqN2sydzM/ MEY/eHFGc0Y/TTdheGRySmJ0dnNhe0heZiF8PHR1RHZkWklJQzdeOT1tNworeitkcUxYRHxlYk9I fHpNYjVJdEdIPT8tKGNLbWVYQ2JxMm9+VSNFRnxoSUIlMklmfkl5Yjs/RDxHdzMzZV8+PTYoCit6 WiR9RExATkA1b3U3Kn5SRnN3KGxEPU14NT1UQztkbzx0eThvdms7QSZ+KEIhaFBFPyVudko7TWpj VXsxT0wwezAKK3pvc0h8UD01VyhUaj5aZnVOSHlnanM8b0Q0UlUxfXVqQUp9aUVhUDlXdC1ZfiYl fCRFQnBYSk8xdld7bG0xMnw1Mworekg3KmNjS2draDJLYH0/YDBBOFlRckNpc1VSe2d1QyZAfipK WU05OE1oYEl6QXU1Q2xtME82bSg0TG90LTxkPmVUCit6VmBkKGxRdDBfUnl6KlRrOXhwZmctRHtQ ZkJKPWZwaiNDTWRYfTU+WWN8Q2FLRUVybmg1VDY+YGZPZ3AlczlyaX4KK3pZSn16anFOY01DbyE9 fD9WbUhrRTU3U0lUKXtSMXx3dDQrUXZyMEErR1RtNkQzUkV3TGhWUTNsUysjQitmJXM8bgorem9e UGZzP20hb31ZJjN9d0NBMitMZzNfQ3tyRVMqbTdJTk1WeXFtfiFSPks1JXlQX30wKUdPVj9SWElN a0NmeipvCit6dWtgYnVLKntCM3syZV8+JWVQMHItX3FIJlZeJUQlKnRBZGROfks2cHstRDNxVCpF T3hJUmtJY215VzV+djZ0Nn4KK3pKJSU9VXt0UU9remFfVCNGZk8yJUd8LU5rRXtxY3ZnWXV2RW5q dCRlY1BoakFNUEchcjIjWl4hYTkjUjk2WjxPTgorendQMTB9XkVjWE4tWGFIODRffm9zeEFKWXlz cHI+K3ZRa0B2MDNWb0AoTzA7dypvQlEqJlMldFlzaEg0MCRZKVZTCit6MWx+flZpIzEjSj0teW4/ YEJOMXVHdml7Zz5QaihJNz9OVD5ePG51UmJiRHRKS09NaFA8NXRRUlExY1BOUWZFY1YKK3pgMzxx THtzYHRVVDZ+ZSlBX1heeS1FYFV2UTItZyZSYVN0RzRRQnQmOFAtNHJrcUx8b00ldlhqOUBqcGla dTtGbAoreiYxS2dZSTRfSExZN2g2ZjhvajU9UzU8NHBCYUZjTVVvZThGXz47T1QxOSQqY19OJEM5 KzkrPCZaPDAkfCZKUS0/Cit6SHhiTTNCaWZ5fkpCOW5Ld2QqNGJKQWxoWTh7PzxZUXtheXI3U2R2 VzUjU25ZPTdxZ3A0YzV6RWcoKU1AQ0Q2ZEQKK3pJWERiK3NtXzIteip0cyFYe0BVRTdQdE1mJkh9 OGZPRzdSNjVjT0VQUEcjJikwJVNoSzdkIT8/aGo9TVNmME5pRworem07S15fNjNjTHM9Pzhub0Rr PFB4QEs2NHRmRnJAXj03KiVvRHdUVlQ2T3NkKVlNKWdjSU9TYTdQYDRWVzw1Vz12Cit6elVTZWFP RnloI0hYbk9eV3RMJm10eGBqSF5mXj8+SXhXYDMldktmNEBqQU4/WSZPPW5ON0BuMENAUldDaTRg ZyEKK3pJNi1iWWRBR3lRdilRPC1Xb2N9NHRUakxXVF82bE0/fXN7d3dSK0wzYWBAOHs1JiNROSQq blNLYW0qeCl4PCFjOAoreisrZHp3NEI7enE/cUBSdSExdy1qd09kQjkxdGAwTmZHRHJfNmx2djFL NUZlUHZsTkloN2gldT1mVEUxLWc5Nm8tCit6cChEVGc1a3VoOXVlYUsrJFFwbktDKyVmPHNrdlp8 YVFSVGFkNHlsS2ojLUwlRzY4N3lUb310YXIhTmJhZml6P18KK3pKdH1+bHpmJCRlWnB3KyQhaC0h Uzg9U3soRHJsYiRPaURyfmtqKmBlODhrNHB3P0k4Z0p4em04cih+aXhpJFB1cworemRYXzZveDVA YmVSVHh6dXl5ak9wKGhNQ3orIVNEaWVnclZjUlB4XklySnM1PVQkMDhLXklkYFRTelFwfVBPSmZn Cit6d1p5a3VuJGkjRTwqN3Nkd09pI2lwVWgoYTgjS0c1cjlUa3hzfGQ9MEdFfHlMQ3U8eVNfem9s blJMU0gqcG8qeT0KK3pOOG1kSnt4ZEl0WksxdG4pTDFBUGQ4Y1UjeW80V29nWTdNOGxZTTh9QGch RlVvTFJoXys7PElPci17WldfNGstKAorelY7RC05ZiNrdmlBY3NyQFpSckNCSmV1U29NYGZZP2hz bHZoRHh2RFI1XjI/VDVIMFRWJVR4NUg9bEdVfTRHUHMzCit6Zzt4e3I7cXlsdUtxRHBGQ3plPUhh JW5hOVgtKF9qZ05ZdmBoU2djXiZqK2c4Iz97OHNKPUZMM0xVYD9STXRKVVQKK3pXcH0kQmt5emIy JntTWEZOJU4rR2dOTk5IO04zemBXSCg7QyFrWHtUPnQmKX5LM2hMPDZqUTdlPTxXNT8lWkxyaAor ek1VaDQ3eF5qJHc9OG5GNjBlQG9IK15fUXRFLXNXflFnJGBOMn1FZWttSE5adzgqODxPdjUkUjJQ andpJTBvKChmCit6OHFPRUg3bF5peT1FWT1+aDVGNVk2JmEofHBDbzxxNkEqTyombWA3IXtVRy1l amM5NX5lbDJ4PUZQYzExZFcqP0kKK3p3Mm9vWStHRFZrNXlhYk0qbWRXRmM0LWhvJT4jXjV3Mihw fTNrP2pvQHxBK2xsNU5iQFdkRitJYG94PnJXdUc/NAorejMpQXpUXkgkRUw1Q2RLaHV1Q0Y4Kzsy dE0zPk0oRlMqZitxRl9EMiZvLT5AejtlQChMTF5wZFRqM3U9bFVXamUkCit6OVNyYXI2a1I4clhm MCtkMzxAeXJpXjNodShJNik8NkBqSVNLcipac3s+dmxaengwfnUpeDZQRFFBaiVJPEtRV2cKK3pl aVI4PnhHfllrWVVtazUoTyElYXQ8MGZRU1pjKkBGY2ZNfncoRSlHen58Q3ZjZj9WKTwpY3xlWkFJ a3JkYUFfTQorej8tWWpaVUE9enhzOUArPz1DcklBYE01SjJtMXFsVlhadjNPM3d9TSlXfnRkXzxj dE57aG9pdztCRWVsM1FkNEdTCit6WjZ5Sk1eTHljOTFVY21ldjJ3d0RFRHNeSnZ7JEtjJSloaWRD XmdeNURweTdSezZUTXlReXc9Yll0fmlxazJsNSEKK3p7WDcpMHpuWlBQMW9YZ1BAK0B1ZlYtYT0r Z1VMVXN4UXIpfDRLdD1WZz8oM2pZeXdjV1hYa2R7SihBO3RYcDNzeQorekJYPyReY05tQGFfSy04 XyR6dGJBIzw2UHlsdC07P2tZSUp9aDJhR2R4ckR8ZlBOTnBWJEcyZzJMTiVHLTsoRjxrCit6K3pJ R1MmXkVGRnBCNCY/SFMqI0s3QTg5WGVJODdkOTRBYU4xWFZBNTZFM3IkRT5GKCQ+dT15UVV9Q3tP PG15Pj8KK3pNeD1PRjdga0skPHc5P35EZGJndnVGISZwNDJGSmJjK0t1UU0+Nil2c0EwYnxpR01u dWRvfmRAaylZak1JY3JPMQorekk9fEd3dmZFR0Zfb25MaWE8RiRzYFImTllpQ1RVUHYhRlR2ez4l NExidXBWWWNJZWg4UlZYWndNNmRKZ3VvKGdkCit6JU1SJDd3LShmWj8zfERTIzlnPXJecFpLfm0/ aihmK2N3d3J0eHpHY2puflBxaXpaPlhrYnp4V0AjdC1re1l4RGwKK3pSTUB7ZWxwYkZYJFU3ayk2 V1RGSmFAb0BEO0VLOEh6amN3VnBuP1UlO2ZOU2VkcVo+SmY3O1lEM2xBfFYkUndUKworeiRFKTVg JVZMT3Jka19LM3hgY2NvaWJ2fEF3cVpqLVoqQGNMRVRgS3FJODZDfjx+LW5sPlp+fFd5IXJlPGVF OzBvCit6eldIWk01ZiFnSFR1Smcqbi1BdXlraWdMKnlwPFBAX3U9YWlXYFIjP3tRJHhCZDh+fVoy PzA4e2JHO0VLRVMyO3AKK3pHTDhoa0JLZnNYVGFgcUYjTGdiNHAkS1dLJUpfRVgmfmBJTnhhT3l3 enZjI04tfj5Fa2l+QkU3bGpQQWV0cm5qZAorejdnSmVHbTdYK3ElRyohJCo2eGgqREBuMVR3YTNY e2hLb3NkPTJSbXVNaVMwWExOTHs3TyZhN09WY192MXZEVGE1Cit6PUhRKmtXdiZHfkc8YXZQQyVO MzVlbWp1QnJPNE48aWx4azJkN1dJM1JNMktpeE03WHZtRmsoY2kkRD9ebWc8PnAKK3p8NisqTyZz THwwb3JiRi1ZaCFOTkgtXiZSSmRudjFJaUVodDhueXg3P1YxOU1JVl9gRTt+a250Vi1LcElGMkJQ MQoremxNVFFBdnxZMlRzK3pMPTZRRGc+JmhaaDdQc3ktRD0qeSN0JVFoe1o4PnpycyMtcF9YWVU+ ZDcxTEVseFNROS00Cit6b3Z2K21vSEExMnRFUj1LKGFlbWFkM3VqckZDZExBUGNHYHNGfXpte3pI bTxGVmc+LWVBRXpFLSE/Yj1BNSZ7VC0KK3pVKzs3OVhjSld9e0BxPnZkYFZzQ1Y/c31hVGxAV015 fWcraD4mVGVCVjhTc1gpPFpkfC1TO2lqWCVpTFJHemRkMgoreklre3h8NiM4OElvWDwhbyZ7RkJp ZTdUc2MtWWdxfmRyLTBEN3hfcipgQ1YqQSY1QzZtO0RjYz0kMk8qVTlxfSsqCit6YTRXZHlfYFJk ekdhTWdJWkh9O0ZKZWQqZWFlOTFsU2smKXNUfn1lPmh+WHJuT0g4JSQxTm5WPyRUcW5iViliJW4K K3omR01lX3V6VUB8Ozh6Kzl3eF9hJWo0cURrVTxrS0VeOF9iY3l3VHFTYHg3ZihzKyhpUmYhJiMl d2BeQmJ4PHhAeworemdsQW9DZ0FSdmdkR1h4RzUhYGI2SXVTKVdYSTZQUDR6JklqJnJDZlpoO3A9 PFg3ejQqcCNtezQyNEh2X19iXlBTCit6N0tWeGh3ZnVYQXY1e1Y3NV5aR2FObkJsNzZqPGJ1bjJK UE4kUkpJUGBOZVIlYSZxaSpxJFU4NztpKDdXdWg9YlQKK3okSDN3KVp3T1MtSn5oQnJ5SU0kdV59 JlFtQXFCRFgyTk17Q3J+eDlLbXFRYylxVj9OJWFWc00/c316ang+QGJITworel44RGJPKGM8flo7 S2c+b3hKcHRQazZmQn5tSWJ5YGxGOGdxbkduVk8oKWV1fEMxITQkdDlzZjhAdyoqSmkhXmlyCit6 RzlnPytvPUd8QnI3VlRRPj1afSpORkNxfiR0PWdLI042eCpRNUszI2BJUzZYWmA0bH1XTGlYS08k YUpgdThSN0wKK3oqJm8mPG5qfCpWSUxab0YmR1dTSk4pRiQ0WWkmb1NMbTJwO3JeUClMPTNvWmYk fEUrZClEZ2EpQy1WUzJERXMzIworejdmQ2AhRjQ/WFYjMnFCZzFgbFhLSTtSU25TRGdVTF93MGhM b019NzhRfEVjcjRXKmV1YXJqYV5YOEt1KXMldD5gCit6QEFJNXVFRnFZflcmcHM0aEU3KlEqcnlX ITZnI1RaQ2dMaDRzNmI2VU9FSjU5S0VKcUBiZDZOKjJxSndjU1J0bSoKK3o5eVluMD81ZWAlNnt9 Qy1hIXFWcUUqU0Q1IW4tcF5uLSlXcEN5SmVDeUVOVCF6QmB2aVRIMX49XlQrMG9RPTI9PgorenBy c3xxQzBAJTtEMkZSTTY8RTNEamYqQ2l5NUI1RlYqc2VGN1V8aGxlVXdGUypSMUl0VHxVUjdnPVpu RUpUUCpDCit6bSRWPmVWZD4/TU5VIVhBQDAjNXBvZWNFO0k8K2FCTXYpNmo7UlNJPE5rYCQhQnk/ Pz9RRHs2Y3pIRjYmNzJ4MHoKK3pBKWZEZW9FKG8lI0VnclReP0E9YCQrflh+KG9rX0JwYDNLe0RW YDY5OHR0TkcyVGdkMTN0KG9nNV5VQDl8MzExPworemN7NVp8LXpwUmtvZVFUWUtST1JmJl8xRm54 dm5pVm5wdkZjK1R6WTcxTFdEPkZ4MndiZ0IrZmdNfWdLQG98SGdDCit6Tkp3Y0hmfEsxKTwmdjBQ YyFQMXhRKksweTcxJTdKJTVoNSY9cT1eJnkmU3F3UG1LOXUzQnc5TFd6Wk9POF5NOEYKK3pJaX1Q ZTNhTyRBMk1kVnlqOE8oUXllMFZ7a3xkb0I3S21Wc0ZYO0Ujc0Zja0lRJmw9KGQ8MnxXOXFhaT14 eCM8bQoremZBJHt9d3IpUmowfnI0WUhIK0hFRDheKnEwMDh1KTAwNE9aQV5yUW1zUXFVWml8OVl1 O0Q2VXJiZ0EpdytBZERACit6RV8pZGU5dSFiKzJ1djA2UDNKJjF3WmljY092QUpycSRGcjFFezh1 S3ZvTHZ5Q0dSWGN3czRUfW1YSjd2PzdQIW0KK3oqJFo5am16PjR8bXpzPzBIPHM0d2p9c3RTKjR8 VzxpbWphRFVHblFjaHMkWExQYihfWShGTEUwQlpAYml2Qn1oKAoreiRyfElGbDhofEpzPWMqM0o+ NksrKVZraT9gZ2VwUlUhem1YN3lGKjVKNXJuekRCQWpZPVJRbFo4NHp7cz56WGNMCit6JEdTeDt5 dGx9e3V+a0stTnJUanc2N0oyLUU3M1lMOChKRSNpciYqWDkhO2pSWFA7Umg4Ml41YEtWSCF8Kyhv S18KK3p1QWpBPSs2KEx9KXdrY3kmPjtQWjhKVXlZSW5JI1JYKy1DSCN4NHMpKkV6dEIrY3N3MmEk RmtVRihDYDBeeHVmOAorejYmTUYzcXBEVWlRS0N+N1o+V2pfcHM0cXBWQ2xAJWUqO2hDKjUhJjBF YmFoczxETklgRUdZSVViQzh9c2tKcHhDCit6K3AtM01zZzgyT017KExwcV5DKjFLKEB3K3p2fW5y YmdPRmVaTDB0Um9ZUk40JHNNNXk8WE5FYDFmSEdpWEtnPzAKK3pfeDwmb2FLT19PMFJ3WTE4eVF4 ej15eiY+OHFVeHo7PXIoZ0V3VENFNWxHRChaaGhYMTNvd0xvUmlCNnJVZ3RgYgoremprfGpXKkt2 TXtOdU5Pa3lKUzRieGNnbE9QbnZxIU9sflhQNCtgbjNFMDdBUkNJYyNLIXo8KDNrN0RwWVdRNiUt Cit6SEZ9cEBROUs1bWE2VllAZTUwfCUpWm9MUjNUdEtTSVktYGw2TVNjcWxkQ21LJDwmKzYrPypL QV93RGY8c0BsPmoKK3pweWNsPDlfbE1tOT8/K3JVUzJzWXh4a1pxaGwhUUsmSGlLN1dxQmM2N0hT RGgpU0xXenczPWNjblNDfShkaXpQaQorelpHQnlyNytBbTdmUSlRJClHP2BDPE1jclp5aGZDWEBD fEdNJW85SEspKih2biZlTWxJP3M9N1RjWD1lO0V7IWczCit6QT9HdEBHTFNVSDJiVGsrdUtpOXIm fFk2cWMzcEooMDNUZWtpUzVwVTRydUplLXF7NSlFWFlJMFAlJWRTbDJJdFAKK3o3U1hOY3RfPmgq Un50ZGJ4Yl5EdyZnS3l6aDBueE96MUZOfWxgVmFfQDIqMmRLbyQwR1BFLXQ2PndHd31uQ3dsYwor empBYHtSPjlAaCU0fm9qOGJ8SEVtVVZ9MiFqVzhaP3JwQnp8ZjBebE8+anBpVmVqP050RDs5Y0pF JTtVWSZlWXlOCit6WSNgWitXNm48V18hVVkmOG5nejV4SkJaOVVrWDhkS1BiKCZPNnp6YXU2YmVW ZiN5czt2aUBvdUNGdzs/TyVYPjsKK3olcWZzWXlpY2B2VUJZOGhyUXkrdjYqaiNLX35eXiM+Kj1E S15rY0A2PSNuemRQTFhyRkwwLUclel5JPUZHdlVxYAoremxkTk9zaH5nSldWU0ByVERnblheWmV7 X3FFIW9HYCtpWDtOfEojeXN1K0lEdS07JWZecyZCdU5TbmhkejJkb3R4Cit6IWgzS2hqJFl2VE9X aWo3UEh5czs5Ym9GNnVaKC1fbTw8MGBkPz81RW1oNnIjT0U0ej5NUDN1SCo4dU9zJkZQIXMKK3ow Y1p2V0NofXdfP3VsTnxmWjxrTDs2fU4yMSkwPnRaJH41IVBeNj1DYDNnPXpQQXt4QTVuREh+dDs2 TmlEdHJ1OAoremckfjFgd35HPkxtPG8td1BzKFM9azB9dUojdkNeZUJoRF5eZjZTYGV1S2BObW9A bjt+TCo8Q3YrOyMjdUxYNWtPCit6O2pTM3lyU31KNlZPWSE2eVJVKjZNYmFPcWIhYXJIZUB8TkRo SU44WD53V2BoZ2ZXKlI1TU58X3dUQiY1U1dGWUgKK3poJCU2QHBuMWRFSiU1R1NxPWhrJiM+Njk3 d0QkKDJ1enlEUWpBbnlBal9FeEtuUkZ1JjFPKUteQmtZfWBZPlQ9cgoreiY5SDZUSSRfKDY2RE1y andyJChDWlFIaE9UTlBQWip7YnFaLXU2R053eDhDXm9eI0NFKSktJiF5K05aK1h2SD17Cit6dmdp KCZiNDZEQGtQfDstIXoxYTMzKG1nPndNc2JEYE0jQDxYQmh8IUQ/OGU0bXcqJWFHKTchKEAmUmpK bUpPcF4KK3p3dFRfJW0xP0RMMTkxb1o7dHd1anp3PyUybi1HTkU1eSFWXiRkJTJQVHArPFRxMlUy LXA0aSVoe0tAdWdyVkgwTAorejs2djtodUFealdueFBJbUBTbUVhNmJ8Z2lZIzxFRUVfTWlQMmp0 ZUY5XyYlNk5ZV3lMVHpSSXotRTt7NiNITy1tCit6MXtqfGAhej1yanNBbHdVNCgyKUFEWGdsbExi bUNed3U5Vk1keFhQUTdETU5qQX1jYzFvUEk+eXlLWGshUiRJV1cKK3pAazA0YTFZd0p8OTFEYGJp cSt1Q2QwR0FAKHJGfFMtMU5jNjVwTm57dkJGJHVqOXFyLTBSRWk8IyMydWtYKVdlKworelh5Uy1U XllrU1ZlcU1NczBCKTY5SkI3VCpaMlNHSitSWExoKGdtUz07PnMhKnBne2VLUjY1QTdSSE4xIWxR bXxRCit6K0FQSitLK0BlfEBJUDdwQE87STY0bzlPenpUaW58d0VOLSUwYDFfSiliQSZkOyFEKDxm T1EkUUxtX2ZqSjBfMGkKK3pOKmklWj85JEJ5OTR5bjVidnlGUm9xSzBvMUkyNXZ7Nm5zdiRWMyF8 N0J4SiF6b3dndGU4fm93KGpLVlNkK2ViMAorelJldnAoWWEkSWleOF5HIXR6a3I9T2Z2KVU+UztM QnpFTzxeOE1MUU0qRSFTOUJKMSEwbCRGSj0ke2k7R09WNFI9Cit6USlJNFdrTiFGJk07KW0/M1A4 Pk4/UWQxJT5LKHpDLWlZMk42JjNAMTM3cDEtWD0rLTUlQSohRmRRNWZqellvSVIKK3phJS1NTHhQ NSpDVEJMRHl0clAhJTZYMzB7ZEs4b0oqXjhESmtzOGEpQEEoKnZidW5eS3JOUipTPiEtbyQjQmM/ bworeiNYSkVYJnMyVVoyRzlBNSZxVCRlNzAyTyRYJVp2PGcmaV9qJTUxanoyQ3RHdjArWTYoNEtJ P19KaGM8TVh5RHRaCit6X1cxdzd1bHxTZGFoVnRxaDVIeHI9ME5gTUA4QUMrTlZhaD52ajFOcyo4 aDw2e3ZZbiZCXjRgKzE1dCRVWW4/aEwKK3poLVFyfXZtUldeOz1sK0ZDP318dCVAOEYyUnErQjxi aEQjczwraX4ycFkxakREKDlsNDhRSlN5RHFHOTNoeD1kNAorem9KaDY9X0ZAc2w1a25EYzxDfTdP bThEKTIjSlpmN09jaFVPdH5BMz1EIyVmO195Wk5xU2xBPUAqbCh4cUh6Nz5TCit6MnI9RCFZWj5v RmMobyt8MmdgVnIjX0YmWHtxMlptXzYmcWhYVmNZfDkySil3MHp9aDE+M15mKkk0M21kY0hBfDIK K3pxbWRQemhnYjNTaDhsTlJRbEJSfikxKyZIX1h0dmtVTTB4KGVIRk5mOFUhalVfeyUzNVkkX2Ah X3w/RDNNSGF+Pgorem9Ta3JtLUkrUiZhRStadmk0amVueVRWUGoqOCYoOUx4Vz4pOSVNfVIxU21S Mkt8Yj9UV3xCaT5VV0lNfkgmQ3hyCit6b1ZFekNDWm0tWUxVcVB2IT9Rfj8zTChfcUBQZXE1KUch bj47emhSelV+PklMY2owXl9PKi05dW0wNkJWMmRzfnMKK3o7MEBEalVWeSp3SWQ2U2JCMUJXc1No KFMhSXg3RllgViNuJkVWbTBgKW1eeHpHS31efUZ0WCh6Vnl3SUxDMEtKbworeiVROU8jR0VgKHs2 Q143Kz05PGVTTXpnIyY4aDYrdGpgLTc9SkN0bF5fTi1XPHcpUVolazt5KlpzN19UY18yajBeCit6 e01OeEhndCMqO1ZzVHtfbTsheFRjSmdJd2wxTVptXmEwfEFudytQanB9bGhrRChlUj4/NHE0c3lE amF7eDliQ0EKK3pGU2pySUJsbSZ6dyhffHZOWGU8I01UPGczWX55fCsmaFVzbUAyZmZ6MllBZVMx PjhPVjZBVUludiU9Zk1TaygzRQorejZBe0A5XmEhTl5WUVFfYz9rNWBoNXtDR1BjJjNgcDJFUiRj XkJZc3FJckZ9Sz09I2h0enU0Qz8ke2E5TT5LWC1MCit6VH1ZWlpvR0dsaEU7bFg+VkwlPl96bk4z IXg3KCpMOFd0eVVqbFc5RytReXVgWHhzKUlxYStoemtuVGAhQT1VTkUKK3phUEI7eWI9e0lybUg0 QWh2X2VVd09AQTd7bClvN0lCVV85R2dlNUd5KilteXxBTWJoZHlLZHh3JC1fQTM8KnRLRgorejVq NzhBQSkkZTJpNk1ANz5EVElON2pnMzxQSUd3PiF5IUdgWUQxP0NxXlpOfnhDeTMwRT9sM1c+e04x UFVqMWZ7Cit6OzJ4ODdhMnAoU2FfJiM1cnpVJWxrWDQ4UkgmPjNrQ01eOzcpUzF2NiRSTU5ARyVB SEBVLVM8YSVZPSR4M1Z2clYKK3pxKEJ4JVB2UX43K3EtcGBCWlRPPEZhc0pWWSRLKUpIfmJTYFVD cWJ3bDNxRnlDcVQrb3haY2AwT3ooTW5mfDJGdQorekF4fFU3dEt1UWQtQHFTLTcoUD9objM/VDU/ aDc0aCF5OEJKPWZQVz5hMzY9a184bW4/dSQyd0A/PkhDM1pQOGw/Cit6SFFQYz5KLTIlXiZ0b1Q2 KEklYUBrUENfMl9RUSV8PXRWMX12T0g5Rnl4Y0FIQWBSUT0tIXxFel9ZMntsXlJWPmMKK3paeFE9 eylpbDs3PzV3amMyTD9iY3RqY2R4WUskVEFYO25zVWVrenVFKXxzRTgjMipkO3YlazdRPClvcD9l SGxkYAoremNJel9LKV87cUlXfHM0SzU7Rik3aiZ4dkZPKExaQEtAYXpKQ21IZE84T3ZnVi1yZlVO UnZRQlBLb3Y8OEtEISgmCit6JFYyWVVEdnQtTUo+NW5mZGFhbDQ1SXVSUV5DPXQkLSRjVDUhUnEk RTk3PiExWnNESEB6bFcwa3xIPH5AZXx7QUYKK3pOfjBWYz9WU3U5WlR7MV9iY0pnWHZvVT00QGRZ KHBFcFMkO0ZtMF96O3kpdmJPKE5udU9wZ0Y9VDJUcmtyQDIqRQorekVTXl5Bc2hzZm5HQ2olTERp PEM8RSRYanE+JHFzfG9aWjNIJj4oZThCUWMqWjkpQyllS0g/KlJ7ajgrS1lTcEZICit6dGJ7OTx8 Tjd4KiNEPlc/TC1jd29xcUQtJl8tQUByKntMWlM8MihIUnNrblVPR194ZzFYKmorNU4/T3klWSt+ SlcKK3pOXiF0UnlMZ0ltaEZwRyVPdW9UX091bDJJX1cwNkx0eHlKZU87fktGPXQoMl8+dEpUKkU2 T3tAV047SHEqOWN2egorelNLakglcnI4b09tY1pxI1R8OVp+M019I2RwPVBWPHNvQiY0OXplaio1 fHZhIWBgOVd6NT0qJWYjTy1yO3J0RXlBCit6SzUke19tYnheWncjNngtJEFwSm8yRCk2KlQ2T0dQ KFV3NmNsPnBOcUJVJUNBbTVkZl4qezszUVhyY3dPbClLNXoKK3ozJlgxO2R8Z0FpZmc8UTw4UChI aCQtY3Z3bHM9KGI/dCFSX1pkR2IyJi1rakQ/bCVHKzRWRHxyV3picGBvMW4tTgorenZCLSN3MHIw Tlc1TU4heXghbkRiSXo9e1FXPX5YS2opWkpxSH5qT3E4IWJVYmRtRHdPX2hRQVUwYVVCOCNZfkNA Cit6JFVNMjRtfCh1eDRZRUEhSHZwNCRZO2xjWDwmZ2hlN2lCMWxmQ2k7Ukxkdz8tKmt8S1pOdlM+ e2FBP3xLTHBEP2QKK3o4ezhYSkNiWDd9d19LUVVeSiEwTEcyZylAQkxKeHJjPEZHUERZQzA7UXVj ISF6Kn45T1k0TUJWNTNXOExiLWgleAorelIqZWZwSEdtZlRYUkk4OVlKMU5iWmZiaW48e1NZcDZJ Nm51WHJeJUpaRnNDSG4zQk4rOXh2Xz5AVVN7S3gwb2R+Cit6RT5BcCp5ck18NVpVdThBV3RvTXM3 XyFZZEV3dHFCPkdEM2A2ISE1ak9lUCQxSXRwQDQ1cUBQa3RATUZhKig/N0kKK3pJO0g7TDBDMlRB UEtyfVRCX1R9SSVXNzV5dn5kMHpnPGpMRnsqTClWTSZWa3VAKkRVXl55fmwlS19YcUl4YmI7Xgor ejtsVHw8aWExdlJCWmVUOE5qamxQI190Mj4jLWByeEFhUmdJVURHelB1Xn1IfmYwXlNHJXR7ak0p K2JxVChaOWgpCit6KG04UntEUmVDNjFkRiZeV2pDU31oa3p7Ty0wSk9McEd9MlhlPXQ0Pl57Mz4r NFRtfGAtU2lqJXB6ciVBS0J7JSoKK3otOCY3PD59d29HKDFVXnVsR0lIaVUhKmtuN0tVX3UrWTBs dTZUQlgxZnhteUpDPEUzSXBrelZJTEFjIyFIVz5hOAoreihIZjRCczYmKjAyRWhIO3lWZ0sjUEU+ ejk4YlZsLUAyZXVSI2ImcHBEMWFfbj1kU2ktUHEwcyMhQ30jIUxTUHdMCit6P3dTR2ttS3VVQCt0 Q1AwUz5LNURBRlhtRE02aWttQVNTaUBmc195WF5OMT5EVkYoJEhYWWdCdHNRdHxxVjhoMk0KK3oh NCQ3ME1tY25YWjluYjVvQ189TEpBbSZ9SHcyI2pZbz9oYFJld1RGUXtVP3p4cml6QHBKV0FaLVNl WGIkPD9wVAorejVOKGo+bjdwKCRBRmJOSkIhMDMpVW1iJitOTWVkaXlEVj5YVVFwO0E9VDdlZD9Q dDcyPmVkZEdFNkwxWkVJXzVfCit6PFNRaUUoOFopdD8kKDd8TzhqMU1iUXwxaS0+aH1fbGxQe0wj PHJucUdLIUJ7IXdnbklkfDlrYS1HfmoyKy1xPnAKK3pxZiZPXnhnYEI5bCNMcWNgaVJOMzE9NCNW TlVuMC0kNVBBITdUPmI0YDg8X31TMyh9SnJEYU9xUXVlKyM5RSFZPworejw3fVpiLXgoYXRUQWw7 MWdrekAlS0lVfV5aM29oeXY2MSZOUiZxaV5QY2U3QHRHV1h3JG9kQTRiUitqPj8lJmBtCit6cWtx VWVlZkNwJFR4UU9aPEctbHxfe0pRISp7VmB9dHBebmo/aSZLMjhDbDhGWmhwMiZqcjdPQD1laVFZ JW1pbFkKK3o0YlJRdnFSVSUjV3NvTEFgSHpJbDFfYDVwa2R6fUBVb2M4PkUhIUlvWV5CeFRNV2g1 eTBFdTgoVHpFWH48KmBySgorejc0Q2ZYPVI1VmNVVmxZaGRgbWN0em9EcWNjP3tHSiZaKlhpWjVm MkRXR21pez87cjIpJm0hR056Q1NtMHV1JGB6Cit6R1Q5Z0E9VkxjaWJae3Qtcz1eenMpWHY3X25X SE16eWF1R2ZRJktQb2pKfUdMYyNmYFNoJH5HVSE/QyFzcjxYMzEKK3ppZFEtRTcqYU5ZbTgzZXw2 KGd2bHlAOVNOPUMrUSVsanpoWW1yR2BKLSRQY2pgcDRuN3RpZnAobl9XPD05b1RhcgorelctVilZ bml1KWxadmlFdm9pZDJ8KWJsdX4pMWpHIzZ2X0VVaiNSb1JqIWJPZmloVnJPZlh5TTJBWGIhdDck QTtfCit6JWR7dCU3TSY9UDdXbFVCTkQmPyVrO3FjPXdFbkBzJj0qS2VaOHg7KjUlWGJDYElxM1RJ dnspWEtSYiFGK3FpeTYKK3pCRUcoQHJtPVpARWB3bzRiZWF7SWxWK3FGaTFpWUN2RjY9MTxxJj0+ Yz1EMHZyK1JnMTJ7X2JVSyNheGtiJSRzRgorejAtX3pnejBEQHZqPlBaXjtQPThZRk4pLUZZVFdu O3lJbCFxeXslWT1RNj8qUmRLNHY4RWgyans0ZDFDZkNRT2cqCit6PD43JmdWamxLVHclOWtTJFRP IXtFamVXQ1NAbFM0dVZgN2AoQmUkcTMpaFc7ZjdfMjclTyU1UnRgKTE0X21oezsKK3pSJnVUWFYp UiU4TDEqJmZCOTwwc2I5fCt0RSNYIyg4UTdFc3I7WkFGakQ/M0puPHhQQzQkRmVld2k7JjsxPVY0 YQorenlKQzxvbzBxKUZLPm0lMUl2YVJNb0IqQUVlZUYrUSZtUmZ1MGU/TXN0PWsmZkhUcEpld3J4 aSRsQiZwPEhBKkA4Cit6NFpzMzIhYDhWd2E+OE1zMSpwc31rbVQ0YVgmNTRMPWlIOUM5c29TZT02 PXtxWG9uVXpCdVc/N1FEeHModDdJZ3cKK3pfI3g7U0dYd1VGLWVUKjBPd3xYe0V+OHM4UnllJFpz RXRJPS11N0V7aG4qJj8mI0c/UkVTaSZLQGZpI3Y7ck9AMAorel5pYUs8MkR5dGYkMy12dkBKWiRG akgjSFEyNTJBUHQ1VmJ0ZTApUnxoczNTdCh8TT9QWGZDayphYXNPaFM2JDZ+Cit6USV4fCNCSHBm NVR0c0E+WFlJQjkpWFBMfmJCLUpRKENrbkRvaDt6JSg9dyVvLTZnM2JRYX1gdlQre3QmJmtmcmkK K3pzM2MjTUdmWE18QHxmV1dyfHtRJiMqKmt4PUhUe0RwOW5BakcqO0tnWG5MVDh4TWlMXkdqP0hU Qj1PTEZqPWJwNAorejxGUyRZWiRMdH4/Mj94S2VFOXY0WWtEMU5IaFA1b3E+MFp3UCMob1YlcHVA LThPODk9LXthTVRpfT4hZCg4M1p5Cit6cEdTYy02aUBsIVphKmU4eUtkNzFUUWFIdk1ZazQociUt Qy04RT9UMF9rX2h1dXd7aFkoc2FNe1ckYSFxTXBOcXgKK3pfVUlvTF9xWEBBPSVTfkh4MSpzSD0h KiQwUjRzemZjQiYxSHMofWRyJkUpSSVKa2RXVXc+SUMhVEF6JEQtaj9WdworelVJYUJjSklXakZf O1pufjt9Y2RCK0srV3x3eT50bmxrUilJNzVGNig5cHd0RFZAamtVeSFiSVhANDhgYzR1TGttCit6 NXNFb0l3LUYjQzl9I2F1MlNjak5tbnAhdVF5e2d9UT9JMW85JmgwRSp4QVFmLSNweFlpfWRWWGE4 KFA9WnEjfkwKK3pkbmBwQSM1K3tsdzc/TEM/Z31hIXV4UX5kQ0JYLUR7Um1WemY9bkBXbCo9JUpM UjA+RXRoZi12WGBuIX5vVzJ3ZworelY7IWE7dTZzYH5fbihnX2U/Jio4MHczckZzQmxHdl8ydiMk UyhlOXFTI0s2ZzFNY1Fie3E5NkByUXc4JFUqaFh2Cit6Kygkb31IUCFqaDllRipCaHctemFeIWdO bXE2JHZ0bX1WJjkhPTQkOG5oNGA1NjhhYXtCMlhRLTJZTE8tRjtOXncKK3omX3BIKXE/R2JtbnZM dHkxP1hCRTBucnJjcm5LWGtTWVUxPXUqQWQqK21JSD9gcjgrS3w3MHlOTWwpfU5OUitxPgorenBz Jn1teTJZVlMqSmNXSCR7e2xwbEVxY0hhck9mLWJCRHl6UlRDd0FXKW84JW52Xj9YKilxV1F3Yk4j WnhWUj19Cit6N358dXpwXnBSKmU1dl59dDBJfGAmOVBfe1llMXk5Vlk0QjtRXkFnQCljQ2FheyE8 TSp2MlFRZjVuckxmeHZeSV4KK3pUKHE4Zl9oMlg1ckBjeXxfaHdXVVk2UXl7eTcxXjhBbGQ4TXgj Z2A8IWlIQkdpbTQ5dGFUSGt7fDBePCQrTWFgTAoremAhMSoxV3FOY0BGejtuX25GKm9WV1ROQE5e OUV9dyEyTDsoNnhVKkRXbEM1O0hYbFNpYypoQjg+NXFBOypKYj4mCit6PHtgWT4+SHVpYEN2KlAw MGY0Wj9GejQ7b21ESyVfTTVfUStWN0BXVGA8fWZ5aHR1YlBMJTl6Wmo/WHRZc3coRXgKK3pFX0Ne KXd0eiQyVExaa3U8O09uJF9RIT08d2tEZk5sKDEqTSlAI05JR1huYl9lcHVvRnB5Wm50fEJAcSE2 dURhSAoreklaP3s2P1dTTisoelAhPHNaKDA4MiUkeENBNUVtYykmMjNLVEJScllmaEVTU3BuRVg2 bnpue3BpS2FZPDVYXnQ5Cit6UWtTMkx7fmZhRyFWU1lwamhXOG5sU1g7JEl2eGJ4e1Y3YDVfRnMh eExObVNYRD0+KGl8M0Y0Z28hcWF4eEF9RjcKK3peZDsrbGF6PDBXcG4lZ01AJXpTJF5kTnd9SHI2 TGJgZUhmMyE1bWQ5Y2t7U1pAPmBVYkBZIWA9e2tuZlIxQ1ZqMAorejVldjs9WkZMUGtkcUdHaSE5 e1BeamFYQjcqWHZ8KnJwQVZ8KTFBb1dUfXlOVlBlWEt9JXZDQFBSRkYqcUV9UGR1Cit6YmE+UTZn TlBAVSRtVDFLRU1sSHE1cm93RDl0aHk4cVB5WlVvQGB2TislbEVZODJsYENVeWhfdzU8bSNEdlgq UjcKK3psLWlxWkola3NQaCRNMXcwP0Rte25TYWdpeVN7UzhFNmQ9czc4ZVVnOXhrRHRIP2w9OHYk PmU4IypfMzJxR2ZfcAorenN9SjIjYVo1OGt2OTFqa0hXaUdTMlQkMl5xXmV4S2tBSyhoeHZ5MHZj flQ+JjlQP0ZqbD5xUT1IV09NUUE2b35NCit6WVQ+bl57QyhrJkhaa0I4T2p+OTxSUSUhZSNqaGE7 aCFSPj9sJHgoJU9EeDJoRFEzQXM/KFZrbFAkeTFWO3YoNEYKK3p6JXhnPz8qLUo3JkBIPm5UIWd2 enNtWiFVREROQC1OPSshXk5JdEVZVzR7UUlPeHx2M3dfdGckOV94ZlBpJUhLPgorelU8cjIjbkd8 TiY1S0NtT2dFeW5CKz5Rb1VTcm5wNihoTj81YzItPzQ2NEtLRDtQR2FjYEs/KVQ3YWJ0YjRRT0lR Cit6cm89bDReNClzIVBfPnxxNUVTMiR4WC1yYCVfMGNzczgocCZKT0ZfTjZAe3gmSkRTMl5DMUFi RihLQ21uOHFVbHYKK3pWJkpnfmY8e3Z0TTRHRmpKKWI2MjIqRFlzLVVRTW43JTFJX1p1MTVoe0d8 K2QlKFpMc0t7WXhETipTTX1sQE0lcgorejN2THBDZUdHKU9hPmtDaSFCPEkpK1h5WUd6PEp+QmJk SUR0ITR0QG9VSk1VNTFadj0xdG9ZQ15gI1ZGZURPTkB+Cit6cndJJSRxYnQweWxaZEZPX3xCNmlQ fk5iRHp9OzQ0bFM7dksqVWZINSNDPHxCPVkkT3M/SWooJkBMdEB1dWF3Zl8KK3psR2FKSGhLbTVm KDtNTXM0Mk8xTSN7ZGAzVU0xRi1KNStnMzM7bzFmd0ZqKEZBflpRcUo9dklyXz5GUkdQMyQwJgor eipMY1NzPyhIWlk+e1ZvVjl4fkEoVHBpclZaezlOfjxtK185dmxrPyFRPldaLVpzKm5ge3Y5eHtZ LVcjP1JsdDZHCit6Zjx0OzFAcm1tbnc8SEVqcndYYFhLJUtYcmdQflYlKkFFP1dvRXY5WDRTWmV8 WCNVUHNueTtvPFJjVVRNQWEkRS0KK3psVEo3clNWSjtnWHQqOWpgMDQ2LVNheHptKEhTQUB8R2xv KjhHaiNOTXE1TiQpPjIoUUZ5RVcmNERTKE5sbHtGOQorenhmMXBhayNhN0F0Pz5LLTMwVzY5ISVa ajA0Qn1QU01eT3h9S1FNNWJRTGJINXdUJmNfPDI1WXJJVzBkYWozdi1eCit6SlR2RldpUnh0MGNg amBeQmheRWA9I34zdVlmUEU3YSteZy1zU1ZRTmY+SHJEQW9YQF5AYi16eS1JciFPUWBkemkKK3o/ eUZuKEZ5dEU+Zl5WMksxNmtHMT1rSTRFMW5eJHg9ZFVseU9nXy1wPFNJdH50JlUtUD1vbk97U0cl Ujt3NSs9OQorek9+Snk9MVJlPEpKOTlmJW5rPWpvNUpFQXsxMns9cDBUI2sreXx9WWF0KW1qfilG XmsjN1ZCZDhXPEYlQGVtMkVvCit6YWYzayhKVVhsNG1ST1pIayNYQUdVUW9kM2g+ZX1oMCEoVXpZ e3h5eCNgbGBXa2IyRCNoYDhtM1okQit+MjxXd3gKK3p3dV9nWGZwTXhaV2AxM0gjPVd8XkhocD9E OTA4fmlDU1YrdCVTe3w4R0QkSXZybThvQ3UzZzU9WndjNiY8QWR0fgoreng8cFZtMjMhdFo8NXl0 fWtLTypTayo8NiMtIyQ/MiRQRX5aSlMhcnUmPCR1TVooRFg/ZENKO25wVE1+a0hQd3coCit6VmFp I0BeSDkjLW1DekNDVVdvJUw1JGxwIUNuJnh2OCV1RSt8SWUzYFVRR3UpY3paK0ZrPU07TCVuS19p NFhrak8KK3omeVZhZVduZzJ9PFFIfm8zQnZpYTtpcUd9bUxEPT9Tb2padUtHMzdFfEpMOzdIdHcz aj0mb309TExTMWtAVzEhJQorejgoKkZzMUBTUFJOSjQrZVMlb0RDWn1UMmcmeEM2ZiZjPU9BQX5Z U1dFS3dNcTFNaj83Kjw2X3N1ZDtkVmxSJjNDCit6IXUrdUx7V0Z4ZWN8IXlsSVFLdF9MK3ojek5f UmRtdCRnTCZwZ2d7O0BadjlIZldpJHpyd2ZkU207ZCtaX1d5T0YKK3p3NnxLaTlRYWspdWZxV1Jq I35lIyo3cEREdE5mM2p8SXEyWlFrSWJtcSh8c19wbXlJX0xoJGgmKC15V0YjXkF3UAorelB7ZTRn WWI+TyN6TmwlYnJUcWRaQVp1cXBncmpIalRBMjJqcXsrfmUjdSZoYG4leWRBQ3gpVH1FI3Q0WVo9 fHg4Cit6ei1eek5qT31gY0prZVNKZ1k+aFFgazwqT0dEWDtxM25wQXw2ZntAVkxAd2gkRV5SZH1U XyZJe01iUmB7T0h2bUgKK3o9Vl9KI2xaN20+TDh5ZCpNcEIxX1k3TGYlNHVnSjE4aj0hQzZhLXYo UWtCQXxfNX1Sc2pvUjhqV3lWZmJgQVp5MAorelMlUClZMWYrYTJOJjtYOChAU2FLIWtzbn1SZVJX cGZqNkx1Tjt5MXRjUWR8bFdgTE5iUXk4RTVncVNwQVQ4SUx0Cit6XmJNYlFaSzhNT3pSb2hjbiFS JkwhRG8mcCUyYH1EJmpwcjItQTlPVHo9RkpDT0RJVkxpSnFBcHhKRUtndHF8cVoKK3orJkN9Q0J5 bnVnWFN0VGZFI0owKWFwYTNIWjhYQ0sqJFckZ0ZCVEVCa358bXh0REchYkFoPE8qaEFzJXBfdCZU OworemkhckFrU1RSZT1eMnVASWNXVEB4ZXhKREM7bVpVWDtDWjNSV1JRdFQzaE5YbnZYT2xlVWt1 dzRFfTJjY0s0Zmw/Cit6cXRAXyYpXk5HKFJjdmk3QmVIUXttVHIqfCgjZ1UyWEBlanVoOElPe2tl KjxxMTx5KEAxcGIqSGxyQXkpbHVJbHkKK3pHRVhpRzgrPjJjTnA8PChFZUpZSUJhSk02SCU4OXlu RShIOExHVjh9aE18Kns/U0dzQlRxI1YrNGlYQEF6ZmlWYgorekVpPzF9P3U8eG5wNE8ybCFkMk9v RmNoclo+aTVUYUc8QXhvNlRFVDJXMXJ3WjRAUVpNKTBDdi1fOGk9ZHV5UkBwCit6eyt1WD53I0g3 bTlBfnI+PUFfc191dm96MXgoa3Y8cWckcCt4dl9TaUdCe0FgcGpnN2BgY3ZeZkxDMk1jKGlWKkgK K3o0eFZAIXNFNkUzZjUzaCZHPyVmNSZFSkhRNWswNiVBJlYkeHxHRj5zVWloMDlfXzdTYEs5Mjt+ TVBydnchR3xuRgorenAhfTY/UE1ePj80TW1iN0U5e044Tzl7LWNVdG04OVBJXjw3c1EyQjcmemVk fHgqMylTQE09bCRzd1ZOUmppYWNoCit6TCtqUnZDVmY2JkcpZmpsU2R4VHsyb3Q1JHRrcU5EMn1M OHYte2JHcjM4OCpIQk5AVmRLamBNOyNxLV5oSDg0T1MKK3pxVitkR2RuZzwzMWZRQFlGWVN6Rikk VD5GZkY9K2t0dlZFTnN1XmhOSWhHR1YpdGJoIyhKQ3pKUWVJfFkzOT1GKworejhzdUAxdDRgYXZJ NlZKQ1k7KUdYOGVCKUtMISlqZHdFcSZUJXU/aGtXMGZ3aUxPaDU2LSZnUW1kOV5iWT4kaEU2Cit6 X0o0OV97aHVwbldNJF4pX0A5QE0kSU45ekc9QXJhZFZRSVNmTDJuLSUhTV8yeG44V1V0aDNYXnFj aXp8dV9HUTIKK3pJNCg5NjFjVnZIUjNwTEE9Ul40XmhfQFdAdVMofE5ZY0JBWG1YPy1fM2Nqal9O cjlXWCh3SUxmeyt8UjFyVFJtIQorel88QD56bmx7TT9YeXF2K1hLaDJaSkhWZH4peGloMSZRJVEh NlFkXmFlVTZRZDRITDFPP1B4ZXtFOEgkRipOPHFLCit6aCV0TE8wPSUtN2Z8V25IP2UwXzlvdiRB Y0hgLUMhSnFhQFJgc3NAfCFkfkNleiZfciRfcSgob0t9bG5MREg2T0EKK3p5RUFUe1pqaCUwWHk+ RmdvYk5YYHFCU2AmRnRzdH5ETH5iaDt9PD1ndGBFbD5EPzZqLUpsbXctcitvN3d0RU5gbQoreihH OFp8I3ZobUxAclU3SChxQTB2R35wdFM/YWp7SjZ2czR1S2RQS1BHLSMrRklSUHF2LTBFbk0zekxG a21ZMiFZCit6Rz9PTy03WnptUkp1RzBkckFxVXRATVFMQnZ+ZHBZb1J4fT1ZUz0jeip+dTxzNSol M1pPNURfPU0hRmNzcm9rJUAKK3ptJXdTI2JiZkpnUnZseGReZGRMTFVEIW9yVnc7aFoqOHwzZzF5 NiNWT3J4UGdeMCNvKXpkKG8kaE16TT1AfXZxJgoreiNfQlhQPVBBT31hRWtob0BJPnZqdzs8PT9l M3lkSis9K0tQJlQpN01DPkszZlJNKSQ/I1VKNzN4eytFZl54Tl8+Cit6SDE0T08lTnBmckFgRHhU PyUyWSFxRW02aj5ZVDEwPW1pNC1IYD85VUp6VEhHcFR9M0h3O01pQChZYXFVU2coeGsKK3oyejVO KTdQXzY0YHc/OWd1R3Y9VDVmT2RZd3lob0g3Rz5yPSl1Mk4kKnI5K0tnS2x2cHozWDJxcGIrPns1 MHNeVAorenBDPnxgUm1TQF5mfHwqKmFGNm9LQkcxdD8wSDw9RkwwRE00N25pdUpseEZlY1lJVCN2 bVN7YjR0IzllJU9PPmd+Cit6bW0lO0dqZ3NFRmNEek9AQjVLN1pZcDVUNCsjMU9aX3wzUitENiE5 Xjt0ZDd6YTE/bzxlcyo7WWZ2N2hFTSt6ODcKK3pUcGpmXmRCQllGU0k/T0dIaHpnQD82aGh5Smox QkZJQzkxbVl4d2kjV1pGUEk1ZjFYfF8yc15NTSstMlFPOD9ScworemA+KmNwfEl3bUxvSkVEUGZm NzRRcVVAQDJxO0pBVDR6PSM3YmUyamg9S01qMlpydEJZdzM4JFg4dUhOJU85fHNMCit6KlNyNmU2 K3pCSDh5eUx8NmMoNCVFRTFWIUc+dHVqVzh0QWdBTnkhak98R3h6R0paPXcpayNFdiExM1A9K3Mw QWQKK3pHPXlNJlVZak03ajhocEN0OWNOU1MzQyUjMnB8aXdRfDNJRGFIfjAxcEVxanExKiFvZUox OTlFdVExVylqNmxCdworekZ7R3VmYVFzSUU4a2VjZD9wdmVAUmJyV2NldSlYWW1WNjlWRGpRQy0p Kks8PXN0Xm5EdE9xOGt0VWE3P2heYT1ICit6UVlsemBVT2t4fWA2TkI7QE9SZyRXJWhfUzBEbzd6 cHNWeX02MGhlR1NtQCliYTVWWDAoP15GRygmej9sQWBsN2cKK3pRWSN0ailyJHw8MGNicWphWTB9 VDJxVnBaZUQ5ViZweHpOa1hzSE1RP292bUl5fUdKWmByWnltT05MU3o3Y0lnfgorelFefU59U09U PnFqYXF4WFRGfk4pP1REcmpiP0k5MCtlVT40bjJUeyl2YVNNcCFDfnhBd0ZsUV8qIXY2UTJJZXZu Cit6a312VCRmJjBFUUp7MzEhSSF7PjNZVFdCWjhUaUFUYipVVV4reiorMVdmIT1qeCt1QXU7aj85 O3t8c05TSjxPZGUKK3olZU11ZlBpQW0/R3lscXVzeGZVaHpsS3dgX3YwbUY+dU1icChkQXIqaCZ8 PlhlJGpuVE0mUHYqR1d1Pj9VKElvSworejEydzdzeWJGR1pkfTJmYEFXdVo/YHs/bT1EaEhZTllX fUFfWX1ILXsjPylkYCl1PSNsRnQzSG1QTVB0LWVgdlV3Cit6Mm9ScXtKUjEycT1ZQkM2aExFfn1S bjVOcVY/YjYkWWRValBZbyluSzM0bDs4MEBuMFlJTG9aNW56TkpIclRHQFYKK3pZeTJyMWl1dTty MDFQS1hNM0BvRVVBJTtaPDh4YFZlPENLZllqME1MQ3wqSz1ifkxJUloyRE55OUJ6fkMoaD9DUQor ejFab2lpbU4+KlBeLWpqWEF6Km94JjhPez5kcTBGJVVGaih8U09odSsqcmtEdldgV1VJRShQZTJB WHgxO0xYaXgzCit6QHZfeGZMNVUxN1htMXJ9VTM7fn5FIStZTE1ASUZjPUh6QUUhZnM/YFlEa0Mk QEZtemY3KkRzOVhLTW0mdkAhMnsKK3pHR1pxSkVlJV5pcllIaSQ1WSo3NkRoND4mPCElMEFmSDJL KD9oajlBOCUmTVBKJFYreDVVaF9lTExsfldWSEckQgorellaKX1PJXtXKSkwfXdpPzZuTElINj5i TjB0ZXZrO0E7d3MrYlJ4OFJIOCZsXml6UmFGM0g4SmMoVnJPb2stRTxvCit6YzwxJXFqb2JqflRi aCk0ZkZ3e1JvMWM7WkdaPH1+JHR5UWdOS1B6cko7MCh2MSgyRkI+YiVHWkh2I0w+OWhsMj8KK3pf NG5PKzRgPmBQVVNaJUdiUC10eHIqQmsod3Z5JSU/dkVaMSZKYlJpQyYwNmx0SlY2TUlJLTJ3Wmxy KXM1U3o0dgorenM0IygkbzhsIUU1Q35Fc0ljfmE7en5AeEoqI2B9QC0jdV8ycmF8c2tTQXh9dDwh QiVeR20kMD88TW9XY2QjbVB8Cit6ajlzdVJfQmxCTjhtJDBRPCQjNThhNnYzRihtJCFnZ0F6dypY JDhUaXg0cGR0M2F5anBlRk9gaTMxO1oqOSRfVVEKK3ptWDcrUDhPXmQhdSVXN0B1dktabnduKUgr ViNqUj4pQTEqUjFDfjl9JVE1MnswZGlGciN1WnJRV3gjKl57QkteXworem9iQ3E/M3xhfklQPTZ2 X0N+QllLbyQ3M00xQmp2R1hsQ31eV0FmYmRHd1d5KmhOJU5HdiojQz5SWG9OISZ4QyhuCit6PTV6 WW93UTRkVnY2Wmx4VXVKKEpvYWdMRXBeMzkjWCZtektnTnghYT5+VWQ9TzROWEd7RCVSYHozT148 ajhjbzwKK3p3OWZOcS16ZUNJKGNUI2tGOXl+cTQkPmY0ZWY8dEN1ZkQ0SCV0LXpjPD1RQ21jLWB2 KCU1SkUkQShPbllKKDZHOAoremUpajdUZUVCZGRnYUZGUjsyJGkxTGFeMCpHKGd9c3pxT2N3c1d4 ZVZPUXlWfF80Zj5BNEl7YChNanQjSVVKIzY7Cit6TXF4enpRcnQ8eVdOQn0jaHMkPFd1Qzh3Sz5g azV0eUMkPmxucWhCVEU4T1BoWDgmYkB2WT11cCtIOSpYQFVCZU8KK3poU1Z9PihmOTVMX2BuI2JF c3k1Nz91d0R1OGUrJm9nVSlLM2w0RWVUaHdGNTVzISotNTY7U3F1XmJHbE9IPW9TfAorejN4cyRO WVVyQ05lPHEpMEMjZyVKQj5PaiRMeUpsP3M2S2J7djRTRn1eaGJueE90dmJhTnAyYWVlVUAjPiFN fmtWCit6blNhWDtKS2xBUSpOJUV2a3NhLWB2T1BHYHllQmRQay1wQjh3Qn19PkR3P2RaQHNoNDti ZXZ+WDE4QVpxYTt3RzEKK3poZzhlWlcmS2tESmN4VysxPl5iS2tNKTYmZERCYHpqTlhaZVEyM1hD YSppdmtOMG5EekxDNipEaUFGNnJlWCtPcgorekgzVEt9JCZ4ZmB1Kit1S1d3JG9eU1prPk1sfTJY OG9gPU1NOE42RFAlMzh6NFc3VjlCdmZaOTlFViFWRHQwS1ZyCit6biZvUzJPa2FNN2t2bWx+VHso VlgkNCFVUz1paUJUb00+RjNMRE0+fXpmXiplOSReOGM7cEhRZ1VwJit6d00pej4KK3pedjBDcipM OCRNYkcjJmUlTzVWKmElVmVZcm4wPEA1R1NTQnZzbkwmRHB7fih2JnVWSTEwKl5zbnpzWj5RP2dC Iworem5zNldhQyo8RVpGSzJHKDRQI0czOVAzdkhBUWlScm14N3c1MUY1Zntre0o0bGZxKVVkUTBf Q0Z4XlVPOXExZHpyCit6ZFc5bjJIUzc/ZU9VYGViMitiNjdnK30xLWxCZFlhRj10YUFsRXZ6PUkp JT1HcldlKlNsRnU3V29ecE89cy0pOyYKK3pOMzt1PGZxbDQjTm5hRWdRXzlvSCRjfmhYQzRgPj5A d348K145R1pNR050SSZqSDBoTTxvWlZRYzMlZGNmR24xQgorekNsdndBOzsmQFU9YXJxaklGXi0o M3ZXanR0LSExJiNpKCRPNCUxTm12Y05+KVk1ejVGMStfJkk2Xkw0Zm54X1ZJCit6KmElbk5sNTdA b2VvblkhJkh7K25FSUk4JUtHRzcwNGZwM1dqO3RBVngzOWlVS2pya3R2czMzNiZwa0NHMXBjWXUK K3olemRjUjFvaj1wej5MOGJLZkZCT0otRUBqPkYjM19JOEpHdXRpZjAqczspOE1sQFpxIT4taCFz Kzw2YlhFOzl+OQoremZqMUFNYjNRSUhXITcoKjFsNEB3a1NHQWZpc0NKUkpaLUZJNVEzLWtxTEdo dWdSTTteJDdmWHlQS2NGejBnTVQ+Cit6Qzt8d05zPHo8UyRtZy0odG1sR0JaUGlraCNPPiFXS2I0 dz4hKnJ8bHF2Zmw7OyhzMCs0Q2A3RFJuRmpTQFlJJD4KK3otdWlZVDRiTjVGP0hpRUh7VXt2YDtz WGhmNzltKDUwX2s8eWwqJGtmN3VNalI7NCVFam1JZE9+K0g8VT5EXyokTworeihQdS0+OGdsOVcj aEAqdiRnKntFMX58Myp2PUFSc0kmNEVMRUZwbDdQc0AwR3ducktzb0htNG16MERKRDAzTHJGCit6 QztSflglP0Y5LSRVJk9+TWRxYiN7UW9zWXd6IThWZX16fElaSHlFTSNFQShGXztXb0AjRER0WmJK YjVYZlIyYH0KK3pUeGVGP1kqM3BYN0Ylaj5ARWktIyY2IW1fIWhAI09FUytiQjFZN3dYTDlvNH5a STUyfVViJGVucikmVyhtUkFYcAorems0O0FsR3A2b3s2NTVmQjZUeDR6KU9LOVVWcFFCYUhCKiQ8 b2VuNVo5bmVvM0Y4JXlhR29Ydkx6O2Y4JmhXZUF3Cit6OUtaMCRCdzF6R1deSWpSTilTZXZUciQ7 aGc0KTVUSXxXY30rYX49ciNWKFhiV2RvZnhkVXBxYWhhe0dEVkVlfngKK3pnTC1QUTxKe1klPnVk NH0qNkhJR0ZIMSpfcDFrNmErJHx6cD5Hamw8ZDxmaXJ0dFEmWFJUQ2h+ZGdPZDVrdmpvNQorekNp SnlKMklATioydHUpTUN3U0gtOzR5JEBkZW5wSmd0bm9PP3hjcEJtemJ9RFFaI1ErKkQ7aTFAI3Jw V2pWeC1wCit6JTZEem9gUiZmckZ5ZShLUXIpTU5qbnY2Zjc0ZSEmaHdZMlU0N0FSMXI3K1M7O1VO OSlFRVg8dj9vTHJMUF9HdnIKK3o1cS1OSHZCV15NbEVQVzxGWmxXIzNnaWtSQ1MkZUJ1dnh5e14t d0VkNzB9RFlwfHJ4YDk+dXV8VHFEeH1YKURKYQorekYqfmg3JWcxQFc4KVMzclhTRytRYmY8VEM8 NFIweVJlQmN1ZlkpMkF5Wn1WQXc2PGQ7c2ZPczhTdTYwV0FIPXM4Cit6Pn1BaiYwSE05NSVDZ3tV ZnpXczFGJG9TRVVuflN9Skd7a1BYIWtFTThtc0xYTDJjZExebSReVHZgPzEoXzNWWkIKK3pEV0xE S3RAS2A5WWlNKExZfVo8U0A8S3U9MjJOMHttKFZ9KSohOTljSDFjfVFTczBOX2lOZ15mciZXUDNX Kn1KbQorejBaSWt8TlEjO0cwX0YmJT9hJUY4a19YUFR2UUJWT1gkcC1fM1A0ZlhHLWhRPHlDakAk Ny19aGV3YTEjdEdSUyZKCit6MG9pQCszPXg/RkZvUEpHUTx0KnYrNFJfMnNgbm1XYmViQnZrRzkl fDNqbjlhc1hjKnVLKWhvXyk5UVkjZ3teSGAKK3ptI24lZihDd05Dez5UKjdXWWdTWmVCQiY+IUZn YUEobnQ5OEtsJFZ3QGIpTDVpVl5PeEZjUG1EITM4SGVITVJHegorekphek1LJCNfOStWeXZXRipv cz9RK0QpRVVVeU8kKkxSVFU/KTR5alVBMHFWfj8tZEpEdlhFfiZnNiFfYVBkd0Y+Cit6SkZuRDtz OzMoVUlPTCY7NTViQXZqb3o3MEAwTyN6SktSJH4+RXAjSz9sZTVoRkBATUk0Rz1rSE5aXiZpNEs1 fUEKK3pzNEpnbiMxd1Ezc0JNYiFyWSk1eSM8KUJLaHxRZVkmZVROKUJZTT13Sm11X1Nibmc+dWg9 TU9+ezNPe0pUd0x8IQoreiYkYTxaXilqd3dpNnhkMGlZRlpGOXg1RjAoaD5tbV9pazk1KjlTPXVr MT9nUzcwVWIxXkR8T0wtZT1OTXk0flljCit6IyZXeDFFaGxpX2IhVDlWRCloXzV2ISY1SzxaTzFo dys+ITl4WV5CQDB1ZjFgQHNoXm1pKiF7O1pjWWMtPGxJVXAKK3p2citmfkhPQmVvb3RJSUl1JVlJ e0F3QkImeElPRk0qeXZvXmR+Zko+ZSkrYDY9ND0xRkdUI1M1aTN3YHYydiNpPQorem95MTRXKXVN VTxoIz1AeFU1Z3sjRHRtfVM9eDxIISErZFVULWtuUHlQemBeS2ExJWI2RlJNcGR3ZFg8PEl+b3xZ Cit6ZSF3PnQ0ZTNMciYkYmk8JSFZRXNDfmpQdWV2QU5sV30xcDtuM3F3cXlGRCFxVzs2c2w3N28h b217Rk96Z1hTQSEKK3pOdmRuRGpMXip0JCRLQEZkKGlzMVFTRWZgQGJ8Yj4hfTMyJXo9RVRkdDdq dClYTjw4SU5pfXsrZn50d3J4fUtJKworenFuR2w7PCNxaV9pTXRIa1NgeGs7RjAjaEhFbjNmPXR1 ckcjRlJ3X1lUc2VpZk9gSm17P2E3PEZ2eXhTcXokMm5uCit6XlM2dklPcFhLV2l7TjVXaUZmcUBh Iyo3T0N0cW1ZZHxSMTNobU9mYDQkIW5vUU5WZVJtMT5KVUxxcjd0cEtYfmEKK3podit7eSttZn5u NmB+MXdPR0RsU0ZsIyRsSkxiS05Re2VrTzRKNkRGY21XY1Vae31mM2FsWWg5OUZLWXFYWktObAor emdlWjRDcnFNQiFISSZMNiZFJD1gKkYyI3dBQlJHRUJJcUZSdSshZTZkOTV8UzI2NjclP1lfQzB5 QUYzd2BVV3ghCit6aE93LXZsaDNhP3dGTVJPUXBTM1ZOJUU7b1Q3U2ZuNSQtTEM2di10QnheQX1C K3g0OWkofntUTzlsUTdeMFhPQyUKK3p4fiMmcT1MbWd5I0xYenZSWDspQkpOZnVDU3tyelNDYWxE QkJkSnFrTUw7Q0V5eU1eMUpYOWhIR340byFxczJHdAorelkre2VvSV9BTWFNbmRSP3lPZE9Oa1pT cnxSQk0tTEJ7Rmk1RHtaSSY2b2ohbHkyPD5mVit7ZkNwJENhWTFFRkFwCit6Z2crWihqK1VBV3tS OzZlT1lRalVyVE9LS2tFTzI8WDI8TGhJNi09RDFzMHlJLUIoXk01cio2KXtRO0tZNnUhMjEKK3py dnNKcj1+ISUqcVUrSzEqdk48dmtKPmV5MztzaW5qen1gbnAzPmc/X1lJYmdTPT9zZGdMJDs0Qmdp bWwybWwlYQoreiNpWEcoaU5FbGpjNXY4dWItRSNmVVZiaVVqYzI9WTYxOVlnb0VUJm9pc0lUMnVh ZzMpdDslVUdwcyF6eEhNMFBpCit6PDxaZUhfKCUhZyYtK2pUY258bGA7UHZwMWNqejtRODNnZFl3 OS17UkUqIyM+Yjc8SEBffHw/QE81eTgjdGpiN1kKK3okZWFkSXE7XnE+MXtwNEhMYD8mNj1XaXAx R3QyPW1VNFI9MzRsZkZHU2FFIUJnIUNpVVBfNGliQ09na0BHbTs3SAoreiUkdG97OD1WXzJiKUN6 PWVwZFlVMnomMXhUeWtJdGpucytVUSt4fjc3fEQxUUtNZEU8bUg2Km0zKD13azlxP3NCCit6T291 YktfeDtAakF9YXF1ZEE+RjU+KitKTj84aX5XQTkobiRFdTNAMnNebyZiU3R9UDsqSDxFPjQ1cjs5 OzVVMWEKK3pVZWpSLXIxZCg1MWMycEBgQUxoezBVJldPNkdMIz1tVDM/QGNFSmF0dlVteTc5K15l VCNley0/KHQwM2k+WTBlVgoreioxWmAyNytePGt2bypNd3JUQGdqMDU8Vih6KW5VfU9OZVZiJlNe JmM7IT1BUzlASi1CUCQ8ZTwrZitkdHpVemdNCit6VzJLbGBFKE51NlRvdmpGNyomKWpwZkAxaXVj ej49dyFvMUpaci1weCVZMCUhPntESHBZVjY4NFdAbzBNYVdhNFIKK3pkTldfVCs2Sj1LYVozNmZy YiZvdHdsbz8zYGxLbiFqfV9+Tl4mV1ZwNGtmKS0yU1JXZ2AwMj0/P2BMU0NWVkI3eworekJCRX0+ K2FvRyUjQEdiND1OKmVQaDk2X1k2ZnQ2dURacElPcHQ8fTR4MWdYYDk3WiMmS0hOYE1yV0dUUUQz bHdtCit6WCpSQ2RCUTlWKXpRKU0yOFNxeylJeFVENnpHTTI/JTE7elcwQ3V8bW9RdTdkRz9hLWJN cVN4NEIhRUxNMEBMdmsKK3olcmtYNmAjQW95KzswVD1TY051bUNpTTdPKCh3fmlWNH0rdW42bmd6 RmJVcVlgZzFeTlNmTHpsJTV8d1FgRkFhQgoremNrQENfezFUKmwjMz10SjQweyR8cjMxcC1BcGR+ MUV8K0Y0bms8O3lfOz5QKm1hRWx1cnJJczFvQTxwY0JsanY8Cit6X0U0fUNAI1hAMCNxNS1UNUhi QGlaNnglczgtV3pINnJnPG1CUSk4RXEyWjchZEhySERnekxCTDlmZj8+c0pve30KK3o1UjFaPU07 TEBaKnF0V3dBSUkjXm0lM2t1bXY+YFMoUH1EaFhha0cqV1l5K2ZgQXt+PjRORSg+ZFBfSWo4bDhV bworenJfJTwqK15Fb0JyUEo+PyVaI2B2Q2ZSK211NnJGKVVrJmw+TE5VRGB8NV49VmIyd2NiTnd2 U1Bfd1l8LUtMSnRKCit6MWN+R01YLURUeTB5YWokQD9vSGJCVkRKdmJ+e3ojVXBIc25MeWlvRWVX YmZQVUdYdnRQMytlIU01dDhaUU1TZksKK3p6Zm5uRCpWSENeSFdMRT1VZkVhWWwtZEM9e1JJJmV4 M3ZfRzMlYlZUZDglfUZyREo8N0J7NGV2KlBybj56cEJiYAorenJpUTZyXndVYjsrVjdGLS0+LSFr eDR4TztAfUVvUGApeT5tUVchZnNYR2tRUzlfVFJ5NCFUYmY9enkmbFFjKW9JCit6b1VPJCUpcU55 RCE/LTQpdjdWeUFvPnZqcHFHWShJS0ZwXnEhS1djXjR8M1Azd0EtJVpDUExFWVM7XmI7NEtJfH4K K3pVMnNIUGQzT0BOPX5nMkVHSGF6LWR+SzMkeFcmb3NDRGwlIzN8SmAwcmVYRFNzZF9OJFA2dkRG WDVvbUo2VktOZworemZmYE92P1JseXJmaFpwWGY7LTl5azdlWWExZDhRaSV7cmdsVkZCbz1WWHol WllGNkNUcSNHKiZSdEhabkoxfSNmCit6JEFRZlpEYk0hK29aRjU3OHtOKnliKDZXcndPQmNTZk9x NnJBWVYrY0s8OGZnUjFCMElGZ2swYClkRWhZS0x6WXoKK3pwQldXeyhxV3FPcS1hJGVFJjdsKDJl O3QoLUdqJXRkQkZFOFQmPHpYP1dEPFpUJjtyO3FufGombVdRdylgV2Q0RQoremY3PSFOYHRQaSti Sl9TUyYheF9SUktuRTJuZnVYbTR2NCRZIVZaQitnNTdoVDB8PmUlT1VgUDgtdlMldlVkOG99Cit6 NkQhI2BTWHxhb3ErOGBXVG5LQj1QUitPbnVAdEF1SEtaeU5xNz5JY3F3fFRvPDV5VFhYen5eZGQ2 ejJ3V1ZLMlUKK3pxWnwqRVdhIVZ0UGZnUmleNnRXIVIpJDBJUFdodDt5RWE0QVJ1JU15dFlOUXlw NTclckJxQjtEOXI8ZnQ/fndyTworelVwUHk4ZW4qeSVUITZuQ1JCRmRIRjJRe2JhdGZOfSR1RjNz Pl5wK0hTSVVNfEFGJHliNzVqV3UjdE9kRXA+QXVzCit6OWNnekJwU2F7X0lvOWF5amtqNCRaYyVR Y1BeTTtfaD5GZD9aJH1RPmh9bWY0YXBRTWtiJFBwaDtRbXpaP1M+MEMKK3ptVkQhaDB5aThVKylC dkBaKlhTQ2tDWSF5KCFOUDFETyEqRFFIXmNJKkM+czd2PmRpa2FreGxubSZPTXYpRURIRAorekkq JCN3N3Y4b2dJcUlXaXZFU25URERgPDxDRX55K2pqaHR7V2UoT0dKPGs3bWxUN1Q0QmtnSUlGWXNa MDtGTGNRCit6O3hxak84UUA+OTw+VGhDVi1ZbE49LSZ1Q0dCJEdlNXVUa3QzLW9VcSU0SCRCKUd7 Q3JubG1+R2hCe3ZyTUd0QjYKK3paJWBrVGNYSWkrO18kWng1blltZDFFeGA0MkplJnsjXy1+YEhF ST14ZyllKjNHezIkPz5LfDNXaEdBd2xGUSpzQAorelhSb05oSWZQZG0hKUZaS0VaM3dRIW56Q2d6 KTAyWEgkO0VTKiR8amVVVjFVQDx+bXw/SnsqezliJUshRmNwcjFsCit6MTB6SiFURU16U3ImKjV+ RkUtMj1QRFNtUShXfDt+dT4+ZXIhIXNORkJkNF9EPU85VmYqd0RuXmBLM31mQlo/OXwKK3p0YVFG JElIeEZHZGA+X2JRSVVuaGVxMj1ja0hkKWcySWQrYFZtaWk4KG16T0lVNXtLNnUwTXlRXzZEdzQq Xik+bAorejxRJVJUQSg2PUxPKy0rRHg3SnQoUy1ZVHM2e0pNeChmUEMqSyY/ZTlXVExuVHYwczxq K0JHcFVIfF4tIXIobmd5Cit6UFNedEQ0JmsjbjROUj9vZlVhMHBfdl9aVDtabmA3YyVnME5PKHFI TGc5R1pNND1ZZXVAeClRcylFaHxFJlBRX2UKK3p2KXZEY241XntANmxgR0ZoLXBuS3NpNSVTPHNt bnk5U3hlOTZGMCpXVClhTkZoZ3VgQVlrOzBwKyZVTGZ5O2RpbQoremQ/c2YlT2oxNHYlLTE8Qzts RFlsJk5OeU1vR3RQUEhGMUBQSms3Pn1QVy0yWDd7Xlo8RUArMElfWmdzPUlseTNkCit6cDNnLWZ5 QzE0ZDluY3lkWW82UXJaIW5te0BCakxTbWpIJCRlcH16PyVpfkVqc3FKfVY3QUhEcyh3OG1KKlFK bTAKK3pyVmk2RE8mMyNDSGxyXyVoaT4xZTh1cilMJGtTNisyM2pwVlN8Jj8yYXZPVU85UVFCaCtD RHpoQyU3Q3JodFpqKworempWN1F8WmA/d2lCTzxlTWBYU0AlfEo1e3AmKSVyentNUik3MmxCcmtX Z0ZTc3wzYDVebDlIQ3ExXzZyS09IRkhwCit6cVRVUj9NWSs7TnghWE02ZC1JaTdJb0N2KCNLbSRT QkFMNFBjZE1Aemd6VW1RQXQybX5aTDIxbmZTUihFTXNuLWAKK3omenNVNmRPWDB9IUA8ZjcqRUNs JkU+N1ZTXkNKU3RNZjE0X0tmJEgpajNhSVMxXzhqXmt8Vkl1VENIZkooZHZTOAorejB6Z0dHdnRS SmlWPVZzJHtoRkd+bUc9YWE+Sj1PSUlQJDYhRU9NZTA1PFB5ZkYkU2c0VUpmKGBWXzJ5VmRPcytN Cit6ellrc1JOQEE+YVljM2oqej9ROCpmbyVTLUpMWGVkYylpSiN3T0cmXnQpeEVEUGlBajNYQ2tk cCVzJUNoeV9IcWYKK3o4b0xFNiYqd0VwbWhDNHlzPmRgNmVLZy0oY2BfRDYrRzFFWkc+MmdZUE0/ cFFqTVAtKGpWJlo8I2cpP3lZQ0lqagorenVhalZURmJeZGl3MDc7anQlS0hPNFBBfSg7Kkg4YSlr Ml5kb1JvPntZTkM3YCs9WjtmdDc4KEs3THx1V3RQdiZ4Cit6ezQlcDArek1YZmV4cDA0bjg7RzJ3 TEx8Smp2VEQpRTcoNngoPDBMUWR5PGthSG5DQmg4QUl7dDU/UFV+blZIJWUKK3o8aFE9MGBHKytJ UXFJR0hZRn57XzluclArM04hSSV7ZTxtVVF5NjleYWJNNUhBbE4kSWRlXzZxcmVPXjZKXyFDagor emk3K01DKGdUQVlOcXVmMGt8PzZna0NhdX1kMSZqJUt+YGBWdTRtSDdOfSp6JEVMfWlYYD1SfihL V09WZHlaTHhECit6OztmeysjUDJ9O2JOPXlUWVdxZ3w5VEpfOW5IRS0jVzdKV2cyUmFzMjYzTjUr JkFKaCpsWUc8Nz1gNjA3clg3MSoKK3pkTk1CZ1hRXlhAdmk7NC04ZmR1RFJWdG90VFZxVkBwKlRq LVVHfiZ6a0ZmPXdCT09Yb0V5bmR7WTYqNCZpWXpmUQorem4rVmhnTj55c0FALWh5SkZRWStFPjhK aGVFWVJAVyZNJjkoYWV7YTlhWHUhe3VyWndAQSROVGFIK21aNkd3TVVlCit6TiErXjFBPHA4Qzta aGJZNUhabG1SZ3trTGRVKWBzdWhNOFJyJVNCZkxjVSMlLVpwJVB5aF9MMWVJezs7cSF+d2MKK3oq KyZpQiRJO1ZfVztFYCFDO2xPTENXal9GPDN9MkReTVJSJV9wPGwyajkwNmVZMzBeQ2Q1OSs7cUk1 aSo5PzkzKAorejwtZz9TX2tSZ3BofXApQGcjV0Zkc05lZWU/PFczNnpiNVJDNCohNyM9fjl9cSZa SX1eZW4zZ2lNPHZNZkB8RS1tCit6VUJfYDNyfU5NaE5rJEtqTE4tOSZ1dU4jViFOfStsPmArU3ox amFrQ0AkUmBwKm94Z0tzN3BVZUtKPj1+SHBVakkKK3o2MjZgJHUqIzJ+aVFSYkE1V2MwJUJ9dWQm cWImKnBsczZ0IUV2QnRYXjxMd2xmVyFuO2dXMVNFITJ7b2NHcCl4aQoremxOSERVNFJxV2U/RmQh fXphaFN1UkcqNTgwdTR8UEwzYnJEbmpmc3ZqMkRfVHs0UjlOajlhWncmflIwUCZVVXlzCit6V0l+ MT1qT25Wbi1YbkY+QTZBMkYlV3JlXlckLWVtcUtTSnJvd1VxQk8mS0hIUFRkazZGJSZgP0cmdXgk aERTYnwKK3pUJWNHY2oyaShnPjA/eiNWJFFPWlVTR0dTN0JRMVRFdXhUNjF9c2BiUCttdVQlWjBp JVlgKkRuSUlEMV5FenlSSworeipiUGQ4ZlVvbVc1IUMmJEJZbHh3RTE0c0E8VWxSdEJGMEB5VlZv Y3ZPY2VhZUFNUz4zPCtYQipBYi12Rno2Uj1SCit6a2shMk5lKUpgQDR9ezVabGVzWnV1IStRQ2th cmFGKShfbX00QzZTWk19SmxadGBLJDklLXQ4OXZkZ0lPcElDU1kKK3pIVVBQJFF9O3pMU15GJE56 PFUtdHh+ZnZBeV5eVHQlZGlSZDxxbHZ+eXt7ZGhXNlYqQFh6Mz5CdlYoJHsraldhSQorenVDbiY1 bkYoKUZVMUVgWGF6Y2VuK2slPiZ5aHAldG5jeXw/S2x7Tnx6VmIwa3wwP1F1OTZCaEVucT4qcjsw cC0xCit6NHdYNHghUENhPjlId3VOa20/QnwpJUd7dU5xdnhTJjJeZU4kMDhxb3k3dTF9Pi1xeHct PkMjNz5XLXclLSlJbFoKK3pVeG4jXng2M1NUXmJHJGFsJn0+aTFMc2VWNWNDYDlhbWx+bjNWX1Uz QDEkcEZIZCpNJE49VFg1eGJ5KHNJTkI1NgorekkkeGQycm8mfX0yTkVYezFfOW0qQ1Q5RjlRSX5r KER+UH19U01qK0xnXjtITm0lYykzPXZMTWtSRH4/bEFGaUxECit6RVMoWFNUM1ZpJjBCIUtaUSlq Kzh3QExBS3N6VlRGSUwhYTZgZVpKcTdAUChWYSRyZ3FKUz4/RGomM0tFWkdDTkYKK3peQU9EQ3Eo dHtrTU5KY2RmbGN1amJuPEtIMW5SfFN2dFd6cXFQUV4oYitTNktEY2ZrKks5NnlCM3UoZlIjPn4t cworenNhUD5vVD9sfmpWZVhtM2xVZmJBVHQwYipQeERHeExIXihXdkwrYislOCp8YUMtKmxFPGlC SUl0WmZYOXshPzh9Cit6RGdHfTtpKTs7bjBJQS1DSl9CUGQhc0tPdEYxNDYkcGphS01TKX0xLXlW KD1QblhRNzFZI3EzOSghKGJCJXB3NHsKK3pNNiQxJGo9bmxhJEY/TFAxN01QKDdETztySCQ3SUJA UT1jKlZAXk5VNXA4aVViNWdwWlZ0MjdgekhMTGNTcVB+aQorejc8YC0yNmR4QlR2aDl1QVhobkxm JlpLfTRDb3BEbExPM2FGZVUwbkNuYi13JWBlM3c1a202TU92cTg5bj87bXlyCit6X2tOdyM1SX1u clRwfmEya1J3RmhianRSal4wXlFoPGA0b3Rje01GWEhOWFljdFp8QT9hY0psZmckIyYoMzBec2wK K3owe1IrRDtFTX1yTzNOSXMofU9BWkheKEs+LXkyQUhFQyVYe1lIVW45RD8oemkzSSFwRWluVilP WGJxYllVUD1GRgorekB5YklxKVBhVDJuOU1YTnUme3ZHTGw2bGg+akI/NlFRXz48MkxDSSZxMkYx KVA0ek1BZmdhNT9ndzQ5VTNpS1UjCit6eyFiRkd0PlhoOUY5Un5GTEw0JnZPJipnQSVnSGdYWldI X1VecT1TYSF6YmBKQUp7dTEldXQ9azs9VUhORFhUcCEKK3pya2pPTGVqWWxrKDNlS0QpSyNDTTNl TUMjdW0yTEwpeHdINyhoTFV4RmxfTU8qTXFIfHtlUlk0QUtfVG9FUX4mVAorel96Y1pMaylFfmR0 O3drQElhZ1JoKCZXPV9Icm9hdksjYD8yWmdWOz5KTnVmUmBTaDQqS1MhU0kpZ2tBNClSM0I1Cit6 JlNZfWpyMklPKjNhUE1ST2Y5Zz5AYDtWSHhOfnVHaUw5dSNzcz5fKStkSTBpYCo4RT9GJXB3YyZg O2RLY3hlX08KK3o3YGU4Ty09ODlqR0cpcnl7a3khWmAmaEZ6ZiVpVFUyXzY4QWp+KkJ4YzY0KU16 e3xxYilRK083e0BiV0pKallCJAoreio1S0gjNGlJVigqdDFBPzYrd0NNS258ZGtBKC1iS3hvfnp4 QjRMOFQ8S31rJVp0M1lRR0pHPXQwIXhyfWQteWk9Cit6ZFUqYnBhcCVxQXgyTmRHeHZaPTdMVDFK cTdMVnkwVlY1bXV8RzVIMXR7fDtEITJaQyU+QlphTHhjd0VMdGt5b0wKK3poUGEzR3Y/alUwT2JJ Y3A2VzU1PUw4Xj57ISRtOyM3dzRkSTdCJF83cCpkR1hBUm81YlZPSEV8dWJFbF8wMXRaTgorekFR VlhqcTBwJkRiWX1NU15EcmdfZVN8KmZpd0hlTjNKPW1PNDBHUWM9ZkRpSE5UTW07QCN4O3JAaSQw JWFoIWt4Cit6VyZ7TWJ2KGRDSCM9aiFNd2hpUT5kYiFNND18YTVXKVF6UEtFSl5QRD4rJEg8YiM+ eWRNPC1AUlpnfHVDe2dPJmAKK3pZRGktKDczQFFOR3RiJFE5dUk1QFlQU1JsRiZnNl5BX3NQdGBf dCM9VEh3QU9zIVB3MHslNy1BZDw8XnprYEVLNworejd0Z2FsISlsOVFUdzdrZlBWQ2Q7PEJeWn5X eiN7U1p6PSVRU35fNUVxfm9xJHN3dWdhJGUxcztqQG1xeGQ3bHBBCit6cDFZZWpqak82dy1lPlg+ VCQkKFl7RjZSIyRaUl9GY3FiU2NnZU03Sj40ZnRrQWJgakY9bChzXlFSXnN0ayteJjQKK3p3e3BR cjdVaSEmblVRVjlOSGRvTDBGVTl0NlNXZl9nPj8+cHB7JEMlLXpJYiNrRlMyelhTelRWdGJQJGhA P3xNbgoremIhVX1vRD03QzYyWGc5JFhuS0w4aW8/RVAqKXpocWJ7QV5ET1NfTWEtJSFAXlg7czl8 bDluQ0lKbE1oPnh0OU5TCit6Yk00YC15LUJuWE5TMWw4QHUjOV5memBGdmx3YVpqKS1Ib3MxMUot cmNVa21jdmZxc35uSTRXRCoocFRWTU9YZysKK3ojbj9HVFhCS1ZpSG53ZUI3M1lzX1ImM2l6I2tU RT1aUUhoTytjdDBBYCp1IWl5WTJoQi1xKUlRZUJXNVRuK1d8OQorel8qPy1AJXZaa25uMy1pNCEz Sz9DLXppekI8fkFeUDQ2IUlDJT9ldEojQmNBRFZHMkxMSE9sKXJkPlFoPUN4ViRSCit6RW9FOFk5 ZGpsdVUjK0JJO2F3eGBiT2psbHBaZEp0JHQhXlBfIyowdmsqV0ptPUxkKzttSnhDM2dVYF9nJDs3 Q0wKK3o2dVE4SzZDeEh8V0VmX2Y8X3VWZUxAQFRpJnplb3tPKGBaN2cxMXdVRk9rU0JvMk41aUJv KlVrPyhIR3F8S0cqbAoreiRNOzd8NVhWKzktUn5+YWZjZiY1VC1WVmJoPGc8ZV9hKWw/aXZqMT51 dXV5WntMbE1gbkk2MSoxNlIwUHhTMlZ5Cit6Tj5xfTgha2ghUT1gJTcmUEo5cHRZPC1xSXVhS2dk MStXVElzTWoke0kzQjt3Y34mNiV2YHFuTz13bVZhOTtLVU8KK3pRVDE4ZW85em1ZVCRDPDBvZjZi dEY1Yk1UPns8bkEtflAoZCh7I317PHwmNylOP3M+XztfLVlDNzx+dkB4KEtAVworelJ1YzJhTkhr ZF5JOG55RyZUKUkzUHszZj5oJiopfHRIMFRrTkBlVUEwbTk/TDVwc1VkQl4od2F5Vz9TNWFSejkw Cit6aEZ5YkhTcW5TUi0tP1g5Z2VnVl5aSVYyPmNFKCNVZyotYHkjb1A1I1pSeFh3dFRtRjRFM0ZK fGVQQGY5KUFuYGEKK3pDe0Q+JHdUXzZGTEdtQ1JIYVE1cDF3MndmbDFURDs7JmkpOGtuaFNIPWIh NWZqUWBMSV5oX3pEQn5Ye3hEK00xVQorekJ5Iz9JY19iJHxuQlItRDJ1UkFxTj5PSSEtUSZCcSZx bWFyWHV9b3I/PHkhK3k9WDBpWWEjfCRfV2FzeCkkRGZhCit6T2t3bUhzQEMoKklCTGx0Uih5KEt4 KFU0U0V9TjghVnpkNnFsQF88P1VYKXhTemEjPlhxcSsraGV2TXIrc2p6VV8KK3pPWjNUeCRzPU1f NShpMVNSOWs9b0hrfX5tbytSTG1PRitTUTs2UWErPWhlIW9nakp5N0BgTyskQFl1KzxOO1JWWQor eilGKT5kREFFOTxENHsoTkJQNWozIVhyaE0kbWQ1SFhYVl9ZYkhkTX1AK0lDVT1gNSVaeEFNdUVL S2V9azxCMmhMCit6ayhyXjdnTmQjI3t3eCpBX045O249THgwWEhaYShtQnEqUTtReCNMeU4zMTNY ZzZ4U29pcyY+SVYqMGVfb3MwN1kKK3pFbitUVE5OWHlOVl4kOzVKdCVqVFVuJmZWc1ptTSs8JDlh cm5EelVndD4jdW9aRjk5a195ezZzU2ByeUJsPTxhYgorenMyNkpKLVdAJjJxOFNEOS1NY2VmQ0da QX0hMzdPIXJ1aSFzYWhzUGEoWXRAY2JXP1hTVG0/ZSNRNlpjNDZGdU5+Cit6UmUpUHpTZDl3aChn MUNibDAlMzgyOTghWFpLNTF1dXQkbVd4OE05fExaYyEtPVAwY3QzSj9DWTBLZk42eVY1a14KK3pT ektkfUdKUiV5bm5UQmdiZzRfcjJqZ1RfQldDYXQ3OGt0bDZwKG42aDxgP1luPXc3eWE2bVlNeUtC dUdseiN3cQorekIlXlF7dyp2WUhRTlR+RDNOb3BzPSpnYEZAd2RiaCNAOUxMR0smNUtSa2VMTiR5 OClDOTdvSHRAd2EoJmRuJXpCCit6PnIzUTxPMH5WN1JGXnNvKk0jZnhoUCViJDdyTGdAWj41JDNN ZXh0YyhuZ3s/QlUlbWgpV1pyfWsqRHtlUTZJTUMKK3pgQklpYilsIUR+LVlqa0VySEMqcnc+ckF6 TEAlNlNnWElfMzlJbFI1UkwkYXZiVmFJNjhpelh4K0h3KDVOJE4paAorenZ2VWFObzJPTXJTV3k5 O08zPWFTTilsK3ktZSVJcV5Zfilqbk5fQ1FAWT8ySVFWMT9FM3h9JkZAb3ZvfEE7UUt8Cit6OTIh WUArd2lQfUVWSH14e3JuNGIwK0NkYjRmRWRgVGI0d3pGPUJgQHZqPXR9KHFLaWFoUyhUJEJrRk9h bzM/dVAKK3prOVlQdF9HfDtiUmVwPFdgWVo1bGU8M05SOGtqJnZBaVZ3RmhqUzVSV0krfFlkMUFY K1N5SDFaZENTXzE/WHVSQQoreiQ5cmlFNE10Q2l7dW9oS1FWZjQ+bSF9YmFSJmNEc00zUDVyKlko YF4oPzs+OHIjMjxqdSRtaX1mdipxbHZGY1BHCit6VkZWbV48TXBFTDJ6IUxJeGFxKSVTNmVyVXA8 em97WiVaZk9uQ1UtekRnbiNkMGt+eSFLZiskK0Z4aUU5K2klZEIKK3pnX1RebCg/KFdicHE0QzFQ SGFFZmE0YkU4Rjh8MSttNDVfalIjI3BsKlVTSFloTj8zLT1PY2IwQXBSPyFhZnpCaAorel59SXR7 JGdwa002SVpYQiE3SlI5QnM8UCN4ZlliMkl7VnVSZ25xZnZNViM3QlVJRThYPzc9RzlOWiV2SWRi bkdKCit6TjU5ZkVpPFNqd2RDYCV3eGN+dDNhRSVUPXFkfD88TXBYRE1INnkqYmx4TWJGPylrI19j WUMlYD9Ddk5EMkZmI0oKK3pWcCRYWmxqV3l1aXBlcFMhUDt1bHR4aUZCV0tCMiEoS0Zjck1ofU0+ Q0F6eGVjM24pRnchYW1zUV9AUERBYXB4dgorenM0MV95VXtve2lSNmFYeyl2LX0rT3FJMStJMkE3 JU1tKWlpWGhNVDcrPjErWiVBRjVpeDh3ZV94VzVBREpnWUtYCit6U2lafHU8NFpEPVhgQCpYazZC cWlBQCkhND9CT21PKHF+ezRwcyhTST9Cb3pCIW57ZEAqaE0odjh9Kj4yeDtETHwKK3pzJkFwPiU3 Sk1pfDRndUVKNTZMbXpjUnRoQSU/PWpHNDl0TFlyNDJuMVExO31aaiFiR3VwOWFUNUBVVyFrT3ps bworejlnbytlY15paDdFYGZLOVpHbXs5MHl1QlNwfGxfMiomTzc/OH5tQTApcStaaHFKJHBOMj09 dyo2IUA0Q1IqclN6Cit6MDdqfkk3Tkw+QWE9fVhlPEByK15jbWZrdHJBazZsTk1sKVJGNTFmMF5i SHZ7YnxTQUhgXm97PyRocGRSR21EPGkKK3pgOEpFMEBET2cmQlBSaEwpX1BKMyRucztXbmk8JX16 R0BAfmclKHJXbmVfVm5ob0NKRSghVHBUR2VSRlJPMVA5MQorelE+akpwN1hQXkI1UUBlKChOZFVe dyEzZGZPTGdHVThAK1ZNbClsYVA3fDN7Vnt5K2FEZXJveXteN0tffF5wISh2Cit6ZCgyKEBEOF9D SmJ7PEJ3X0FxUT5IRShjKWNwWUt0eC0qTVh1c2QhPmQ2ckczZDB9VVJSblN6KChwSnBfKWRYeEgK K3plOC0jSEZ3RWpqdWI2dzA9WkkrQ0xATHVBaEwqYTd3NmJ7YllLJHM3SUAqcmZGWn1ERnU5RT5o bVc8VlFibj5VZQorel5PeFRYKD10IVclRFN4Kk8rakopKE1MbEJJRWtUN1ZaNFBDJGRjZn5fZ3Iq aiZxMCE4Pm1nYHAwJnQweilVZDRDCit6ejU4cG1UNENwRU9jNChCZW5pXz1HZTdqO1dMb3dabWV6 PHtqZysyMjkhfX50IWszc3BWRlo2cUtDWnJ6TCZmTHIKK3o4T0B3dzd3ciNnZTA5YHFNKUcyTnBe ck8td0trJGE8MjA2YypVZ3BZT30qMyRgMC1ZQj1RYzBEV1ErekQ1NFg+PQorej03JSN8KT1AfkY3 ZyFUNFVLLSVRckZ+bzIkQmtuQkk+N0Z8QSM2NHdSWUNFSWVFTTRCYX1OYHA1OH1neGJkR1FkCit6 LVg/Xm5UdSFtQ0M7akMjd2k8RSFtbkNnP19hSGllY3JTRFFgOWR7RFk+Q1ApSXw0XjtycjVQS2Vy bilBOytgQEYKK3padDtoPU8zant9TihXUktXezhOZUQ/QTFje2o2aHxATmZSQ1RyTytvQDMwKU9T QHkheCQkWT81UUAwbyV0QT09cQorellyUn0jbXtUPH15X3oxX1JOWWV5KyQoIXsrQ1JOcjBeIT42 WD9sNnxMS2lRY0t4KVV+Zk9NeUx7S1QzNnN3S002Cit6NjYpZF45OGlIJCtBNUJII1c9MSg1JDlJ OWc0PW1eXkwkdlhBJHNDUmY5RXVMMGJELT5lQ1k7eFhPSnMpLVBSM18KK3pZa3E0aUxzY0psdWpR OTwlJih6MWk/a0UoUyFEVGBrRENzRlg4ZmY3UyNeN3VgK1VNJXV8QnxiKG5mdShJbUhURgorekpD eD1eIS1NcTVQU2A1b0Z6OXBEMUAkJGZaSH1lWWlyLW9AbztWejdZLU01fnErcjQzZF92X1lSRHV7 NzAxKE4+Cit6UVUmN1ZfTzc4NlZ4em9QQ2JMSCNLUTZnez1kVGNXeis4QVVSekNSKTVubVN5NVQ9 S0pfVighPGZTRWxXZVNzfjwKK3o3SiRKTCM9SVkxZVMybDA/V09rM3dua3FQSmhILU5vKz9ANmI/ bT8ke3F8Y1c4Xn5yVmgpbHwlKjY8PzlrPWxGYgorek1JI3I7bnUoS2tZMEQxZlZ5Q24yKmI7OUky amsjMT5JTXtJLVVia3khTXwpalZCUz53VFlkWkk7NW0xSDk5TGVZCit6OFFRJWA8SWJOWVlIfWFS dTchQTs5dGhMK2pRQSlZYz9WPl9pQF9Eflp9O0xUIV52VT8wTCRtIzwqbT1XJWlEbykKK3pifHFD dlMmXishYThQJEcwSUlrT2ZaUnUwbzRqPEV7XmteWnA7aXFhYnJkUW1ZY3xJMUIySGcoTCVGYypT PVBMfgorek4zUEtBUn5ydVY7Qkg5RlpZKl9qTiRzJWp5KTRMfCFTNWp5SGwwZDRHSkRaRllKRGxQ VzY8ayQ3ejtsWSsqemVJCit6aFpvb0F0UGZsMmJ1MSQ5b0pPV253MCltVzdYKk41Ylc7PThqNUlU PnhmT34yJSM2OHBkfWpiMndMaCE+Rm15fTQKK3pVK28qRzspJnJFJERKJT1JPUcyK2cmP3BiWFM+ I3RoVSVEUStPQlJYRlZDOHpVU08kaVJuP0dGViN7c2dlPy0meAoremVYSm9ZZ00wTWM0Xj41TUcr PWlRZWNuUjhjeDNeK1JeVnAhOWpYLWhRSVZyZEVzYHs1OD5pcnJAWE5hTlkzIWhyCit6eFM3WTd5 XyN7Nm09PXl7emNLJTModml0RU5eMUJJe2kqcnl4MFV9QzRtcTBxZX1xRiM+WWpFUjBGPEFkOUsm ZnIKK3pCSjMxKyVHSGY0MnhvdGNYbnpuSipTZ2J2ZytiMlhscndjKTRRN2RRaHdGdE1JNyFKdWYt fEVWRmhDc307JmRlYworel5lcjZVbEBmSFFwX1ZDTDAqTTtrNm5TbTVhc1c5RXtxMENLUXRtVX17 SEhwTjBFayZBcnglME5EdSNRbXshRipNCit6IXE2I1BlWkhIKHc8MXdUbjFxREF7XzdZbDBIJTVv bTcodEZWR2YpNUN2cVU9VyoqT2s1TFNZamY7PzQjQm4wOHMKK3pLUmk/Y3FlI0xINEJKdFJEbXl2 VUU4eChUQ2hrXl44bDRlfGhrNmkweSpwVDBsSXMydlN9R2h2U3twLTBkajZCKAorem9eYEpgU2ls WkpUZ3FqSW9CXnpkZ302O1gmSGs9YUt9Xm5+TUJeSV9vRCtDTjVmOFF1eXdTd2h6V0ZHPio9N1Fi Cit6Ry1KfXJOIXIwZHpfVGFAY1ZeQ19LNmtZYnppISg/bnJUKDlScDVeVW5+RmdBXldSbHYlaHxf WVhVakJlPW8rZCMKK3oyYFFqekFCTUN8MipwVmY5N1gmMFFYQXhyaG83VHchZkFKKHg+dT1+c0Er cWlEaVBZVzw4UDlFUztYNmRePTMoQworejQyODZAKUJNYkpQcyheTzxJRlM/UXA5ZjZLJWZiVnsm OURfQDVqfnN0VUxGcEc7PEoxcTN8QXxlZkNYRDBvaj83Cit6P2V2XzlvKXk3VlR3dDJ2ZDJraFlM cmZGKGZEck9jRnA1cT11OyZmN0JAdWdXb0dUSEJUSiF7aG18JXQ1eDJNcFQKK3piaTZZfHl5IzJN YWIqJXgpPDNOQyQqP2l5d0pHVl4oUEYxP09QcXJhPV9ORVYhZWIzT1Y0VTIhVy00JDYhPmopYAor emxONHUrO3xubHE1eXokXyhlVSRwYFNPPGk3dkRRKDZlKD5xWU9ZdW9odVNOelpuMnxlQ0RgP31B KGBadGA5fV8mCit6TE59MEB7dkczY2QzR2dvUlJnZUc1QURoJGVRal91blp5UVFFVSltc2VhRGd4 MFBkX2A0RHhGQjNAZEx+YGQxZEUKK3oxWjBKcmxfUjY5d25GZUg4JSkxSE9zMHQrYDttWV9xJGtj TDU1LTglbWxoPHw0QFowenJTRHwhem9DKmlyQlFzOAorenQlWVpgUGcxO28lST5+P19QUjIxZHYz fkZnIT5JMkZ5KWhFSiVYSz1ZQlhAVXAmNCsyQEkkNmJScFR6KjE0NUJmCit6Yk9KQCs7cmgpUGB4 VXl1YHxkcihnS1V1SDAtczJUZis2WiE5XiVjMih2JjRXNWB1T1NCM31AcV9+WFRFI2h5QEgKK3pF ciFpQi1oMWhoMzZ6PnZNd2FwWXgzaCped1pJUlhiV2QqMU9KJk54LVkzYGlnc14hO0NwPnc2UTgl THV1bi0yKAoremZld0owS2h9K0VuSCNVPjVEJCV6T3U9aT9ZWjMpWGJPKmBqVGFWZHtaXj1FUjNl RkJVMGptVj80bVlXPHBwYTxrCit6cE9KRSN1YWMoPVMyZzdHe3BHVHxMTyR4WUJRQSlNUjdRNyNN Yy0xMCl6YyZ4aHIpVFcrJSNHMEFtU3NAN3prYkIKK3pKN1pxMVc1UWNWYz1pWENgeDB8OCp4O35W VyZBfWJyanVGKjtvbUFIQFFTRFplI0JuNWh+cWtnP2t3OXgzKjBxZworenN7ZmhidlEqKDlBMEAr Q2ptN1laOS0zTTJ3Zil5NF9EcHJeQHxUWU1MQD1zNGRBM0leMW16ek4rYyl7OWh6JHk1Cit6TilV UUNhWFYrPmRETkVzRnN1bi1kZHt4MiZyISF7NzcqT2BNQ1RHKWYtYz9PTD1MKUpPVWNRKzF7cG1F NGRHfVIKK3pxWjJqaiZVMX5+eTRHezJvYHU3K3A7KVl8a1FheThCfiM0RHFYYl5gSjNzRTBFcG5S RTQySGRZWCpReXp5dDlNJgorejc/STdKeEEoe1dvUXIhJGhjfV8wRkUqQG0jOUFoVkYmPmNKQ2FC NTNPdmNvbyFWTzEpdjx5dWFJOEB2ek9OUnU1Cit6aDJwe31JMGxXVzYmRmkxU245byZyKnNBcndx aUZJUVVjbXhoI3RGX2syTVY0eUFxTz1mO1l7ZDNnSTJ6YWRIQlMKK3paZ18zWVBjNiFGNX5ST0lj NHBiV1lwalZWTnh4UXJEK3M4cEw/QEVpcnNtaWo3Ml9BVml2JWEySkEpP3JAS0gkJQorejBeaWNX PUdPP3dhQlBINk9xMDdwUCpLTmZ5JGZUZ1MmY1M3cnxieSNgVDQ2RGR9NE89NVlhMUVzTU9tT3VN RSt+Cit6VFo8bTB4cCtuVlAjUGswJSYteUwqfWl5UHk1RXF3SWQqSkxpakItViZiITtNQlgyWXhM QFROcVpydSY2WlYmN1QKK3o0fGFhc1VoV255SUJzZzVwZCM0MzBFVDExQ2lWfEVQWm9FeUtEcX1k U01OQDNYO3R6KStFKGA1VUJpUyY4K3hpMAoreiZoQjA2diQwRS1QdFdYV2klblorWF4tSyNifWwl bmglIylxbWxgYW9uYz5FUz1AbXBKcE4kZkBkbHtUTWk2PH1sCit6Ukl6ISF1VXJLbDRkRXBRQUcz ZW1mdGM5ZG92cz1tcDtNJTt4MEM+a2JKYC1hb2ZsRTxVQXN1RFEoYHVXSm9qV0sKK3o4bExPPFND JTdIYiU4fGVkRGpqYmZsWUdxUGpLNF5sTXNQZnk7Wit2SWhZcXE+TTsjUCVEViZDMH5Fb1hLeWVF JgorelhWJDBKdmw3IzNOMj49T296blp4XkFhTTwrcHRQRE90a0RFPjJtTjdLYHBtWShNQTM+QCg0 WFBiVSY7bngyaVJVCit6SClDOyZjRXdzeHFwVGJTN3gzT29NOztyck9UMGR6cXtfVGtTcUhIaDRj IUNnbmkrRXlPQHl4PSVidlBaOUpZUE8KK3o/Py1EUWJEQzRVPXdKME8hOD85eUA0Njt5K2N4O0BF dX5ifWVDPX0hKyVeY2NZeEVJY1NXSTN2PzJrS31pXmJZbworeiYkYjE3X15XZ21oJUV6Rm8oKD12 KXtPMGxIZT9HUT4kPFVwS1lKNkFMcjN4bXhvcmxgRXZyc35zMzxrQVFiPFBmCit6RWRMLWFTV1V8 JjxCaCtSS3ZeMzglcko4O3lnQytOe2V2fSR6YV5tXk19S3FlPj57SjNwSnpvKW0rdlhFWUBFJEEK K3p2UVVjYHtRUiNKbj82RXZSfmE0JT12P0dLPE18di0+PlctMXtPYj9AWXFmS3daRFk2RGl1P343 RHd1O1RhYmZNYAorenZmZGFCM18wM19OaEkpeC1oJmU/Km94fCZWUCFjPmJzZT4+dUkxTkg3bUtp ejdqbl4yeUpTVEUzMVRXYnI8Vy1KCit6WnlHTGk5ezxTd3d+RzVUITx4I3lFYioofVl3PU9RTjx6 ejZDaXhCflpPQG9Ia0t3SHVoeGJPYVk9JC09ZSR+M14KK3o2bzlZSnZDQmVwT2lvMj5pPns1KU0q TXhISzJBSHVZTVVjMEUzSEFhVmVOPiVDeVMrUiFge0tFdUByX2xaSERwZAorenFOMnNPUF9GP04j UjYwcnptQjctdkYkRFg3YTA9RFFNSX5TWns3Xz9aaU1nV2dpfT5aRzk0KEdOWmxjQSU4N34yCit6 SUZDR2RqcGBxMzhocl9kIXxNSWk5WDIpJm5+TChiN091dzEqSDl4Q0diKCRCPzE0Z3Z4cU9jM1lh KjYjbGo8YVcKK3orMiNeTy1aJU03SkdWI3xocFQ1eTYlREE8WjkmNTZlKUlnMTh8Qn1se3BxOShK VyZwIVdBUmt2UW1ONnFIcWUjZAoreihASjw4QU40RzRONmVINXorcztkbSpTXz9eZlUlalZJRHxX PkcwMW1HNmJJTDhsPkpTdl9VKV5wZFdxTXpIeXpwCit6Qz58S1E1a0ZhZiQ2QjspSCNGaGxQaiNx U048U1Rvajx2VSFXaGVmbWJNMU82QUMjWVl4UmJ2VXlnUXklblQ+MjkKK3pDNCpFN3FTVjc7NUxK biVac0shVThrK1ZkTXwkJk9gR1J+eGdNIzZ+aEAmO2FpOSUwcytZOU02ZERZcDd6UXMzOAorelEk P21NJG49ZXx6aihSI1dqRV44UUJFJCF3ek8wRUV4MG1zNXdmOEJYMXltbnVuVmVNdnp5eThfPERf eF4/PDs5Cit6U0dAUHh1aD1BPkphZVYlRGtEZGFaNyZMOEpPJVV3UW1QcHMrQF4oLUJHPXxHXlde WVdOZjlmdCVybFdMY3NhWGwKK3pXZW9RUWNQT3JrRiVmays2NGhLeXVeMnFHNHRAQWpnJGlQKU43 MSo/Sn1AQEppOT96KDsrWT5LWDlzP3tGNUtAXgorem1ZNHlBPT5oQURDeUNmfEJ8fUZsM1NyezR7 QW1zbnEhey12a0ArPDFIQG4wdGY8OVdRdXdFb1Fwa1dMcXU/TTYlCit6Q0BteFNKTmg0eWR7fTRg TVo3QyRCKHN+VkpERDJad3ImRCMzSTYzTXM2IzJfdWdKZmA0Q0pXLVZWY2QtcmkjU2EKK3oxVzZ8 MWZKZV5yNDdNLUJQK3owalFlQ0gqcEZHVH1SVXNmPXY5e288MElJQCRCOThnNCUzNnNUejlNRlVP dSRweworej1COWFRIWZ7JntVOEp6MWxsJk08NyloOXVSIXJHU0U7dytkSXtSRmNLM3wxJT5vJnNL azJ+VDt4T0wkfGlfO0JHCit6Z1RDOTJWUFZaRj9haUZIe05TXmRuPDdtYUpwe2I3ZSZENylLRUhK fj9HMGsrWnF9PkxgbHZMZHg+ZFdpV2M5SnEKK3p8QnlpRXp9OE1ZTz9qe3M3ZzBIeyQzR01PblVG RTlFS0w8emNRdXBaNVUjbk4rO3MtZC1YU0tJYl5XVXBkd2phZQorejYjQD81cjRgYSFYWENgbl48 X01iWjNqantsOCN0Nio9WXB0MzltX1lwfHclJXlsXm8yVVdOMD9aP2U/O1MmYkImCit6V1YxZlFE O1M5c1psPXxhMy1ua01IOURebU11UkYjVFVCbFFrbjhtNE4lezwjSiZeIXFScih4XnkqYXRvbE8x b2QKK3pZVVklWUJ5MXk7P0NPKn5Yblcra3BEQVNCUCl3dEk+d34odm5AdW9+PVkjKHFSUUhOVi1F MDsjblpfQS1ud0YkaworelNGcE5iYUh4THZnbkFRN2pwait0WX5gQSMzR0tWUCRyPShfS1IzPU1y KV8zVWMwdWB7aiFUbERHX0dMe1ZCTzJUCit6T2YqQGorNmlCKlJBdktHZUZMSkBRRTZkIUdCWSFz dCslKlFLRUleJFZWOXZHNHEhXk9OI280QFNue18kJGBWXzwKK3o0akZNSnN6K3FzSiVfMkluaXpi N2ghOGE9QXlQMyFtYDgtfGo9ektpZX0jPHNEVmgoVGEzdmFUV3o9ZihjPHdORQorel5OS199MTxJ cXRFO1IlbWdCeT82TT9UPV87Z2JsO3NBcEskVmFBJVBsRGVORW58N28hcmpaNXd3ZVJLUD5oaXtV Cit6NUZ2TT1KT05fYTZpQFZBUUwofUZeK1VhK282dl4lbz1+V3M/R3FgZFppT0grJXp1ZDkjVCYw PGUodExUcVEqe3cKK3oxaWBCKW9+aCZgb1QlNCp5OEYpaklscWszeXQkRjg8cTRBVzQ4WjJAZW9V OD5Fb215YC05SWFHaG13dStJJllOYworelNNNyl0eWlZOU9hdjdWaFhNczd9ZFRAN1AkN1BBRVdV JD11PEp5JFFYWXphIzFOSmluK3R0QTlYQ1g5UDQxMm5kCit6aSY/QGtRNzU8VTA9b20tWSY/fE5N bypBYW9Kd3kxLXtTRk42ejBkYGc7ZyFSOVhoe3k3c0NYR1RsSSNme0hfQXkKK3pMQVlxM1NgaSYk N29gOylVYlR8cGF0YGFmOWNGc0lLYXdePEl7RXg7PjVoc2JVKEl4ejskTXMjOWs8YnUmPXVTIwor enlDSXNIRTBnbjJyJUtnYSo4TFBwayk0VmQlQ3xfM0pNP2c/cDlgcURVNTJPNUt5VUhfQEtOTDxw MUsqKCs7RDBvCit6QlMhMl5BdyZgaCpPR0JkNk1YPGZhfmhFRzcjT3k2VGEtYEFafWMqd0I7Y3FE Jj1hS31WdShBQDU0Zz0kSEE7fmgKK3pnczE/UUtfYUErP3FZdj9eMGpWLT87Tng0TiZYVFdkZmJp U1VQQntLJlloMX5YKXBYcUQ5ZDZXTysqXjV1JFpeNgorejM5JXIyKSMzMHBFSzZ1SzJiM211WX15 aHo/c2JiaG9jY3ZpQDQ1cWx7Qlo0VUMyYktxUkJUZUYqSEp6UHQje3phCit6RkBFM1dwIVBVPXAj WUF2V3dRMWBhMiUmYHZqdykreFhCUDdIUCNHa0xNbTdYSnpaPm02PWlvUj5CSDAhNGF1KEsKK3pz UFpGKj52PllMWDZyLW9eX09YWlVlSThyM2gwcj02Y1ZXQSE4USg8SzsjdWFmJTRnRlQ1e2B+NmAy Yj52V1pPWQoremYhbFhSX052azc3Z1RZMGlWQmE1aG97eWFLMWZSPitvXlFhUm1oTD97Pkp6MXs1 RHB4ZXlrJiZ2MTxiPlBCPn1QCit6WXN4IWpfe1c0QEQ4bSlCT0tPTHttNDAxZEZCJV5WVzY9Ykhy RmNlemVSREx2aH1LczU2QGp5NTVEViZ+cj5DaGAKK3pPV0Q4cW82dFM8V3dKKnZBSjsmISlqe0FK Pm0+e2lJQVlgO2lqXm81PXB5Qz8qKU4/SEJ1TlMhSVpPZipJRnYyKQorenwyLWNGNm9KRTs3dyFG PmYqZT80TnI4TVgkY3tgLVhvYD1GNW1xKXBJWEtYVDNtV1JnKUkzPSo+cWpUWGVwU2x5Cit6aUEr djVpeXNsbVomKC00NHc3XjNeY3o+ZnZxNTg1ckRxWT4zPV9lKEVEJkVFYV5yRnJPV3BUTm52LXJe QSVKfk8KK3p7KyZeMkhocU84TkBKK3lETlNXP08rQisxZmxlZylWS15kRCQrRCklVF5eMWwrVGds Tk9fKndnNzxGQ0dQPmE8bgorejM+YDYldCtaMFJLd3NHdj1FTUlgR1VGNXNudkE7S3BlLSFAI28l KV9rWjElNTNMMz1oeyYhRmI0JXdDYV53ZW1YCit6Xi1fT1dBT0tMWUIzKzhrPWJUZFRrRzhxPj1p SXBaNGRvUFZyNSVnPU48VmYhZE5kb1ZBY0lHYlc1TmE7KCUoSngKK3pofTB0Yz1Se0t8R3hDdTdK MXt1IV9BNiVwSX1HSG13QHl3WEtoMk1COGczLWB5YUtSP2xjPVBDcmUwbzx0SU0kMQoremdCTjQt bDQtTFNCbV94TWNaUG1kSFRzODZTY0NCJnZ0UWNwWWh0ZSlFM0JTQzxJcWxaYERfYTBBMSltQGYp aWRiCit6NnUpXkpYM1Z6c3h5eEsmK05DNFRZc31VSzFJTjZzLV52U01RZTA5MyNSZ2g7PDJIZktt bTVme3szVFRyaGAxWGIKK3pVJnJxY2JqNkR8bk04R2QjUG95P3RufHk2JHpqRjFnMXE4UWReXkFe OF8pfVU7Ymg1WkR3ITRZSX1RQk9rUFVpXgorelpiRTF1T2tsa0VRKFk2YExJaEVxUTlFQDU9Z2NY KFgrUT8tTFRARyptQ085UWM+bSEySTtCaj5nfU8tLUVVIUg5Cit6LV5aXzliZC0pdG8oPFNDR3Y5 TihTPTQ9SXRyKG1YTGdmfnZQSmVsMVdXQWpZWHRpK1YoUnUxLVh+LT1Jb2dUTVoKK3oyeGx0SnNi cjgkU201dEMxUGV+MTRRd140NiV9Rl5vUkozamIkSXI9NUVmPVRDNVJIVUN7JmxKRGtVR31YOWx5 dAoreiFTLVVxJkRROERCeT1OPENtQD5pMzhPJSQ9UCpEMWdRTGVneCNVXzQ8MHMyN2hGLUFjPTR7 SGkjO30/ZTtLVVYwCit6JkZYclQ8RFc2eTFGY3E3IThXR1VQfSVOdk5NJDhifDRvaTwkeH0tNzRH XjV1PFRWJmVtUEB2NkRpJFcrME9MbGYKK3pUO0dvK3R4MlIxP1J1b0cyWGQ5aiNtaWNCYH1hUVNC OUkoP0ZkI0pKYXF6d1ZSckI9YHVCKDFFNHtuPkxAVDlyWQorenFBejU/QD9XV1JeUU9JN2VLN21B ODUhYyNSNWQxQkNWRHklKCtZWnEmdF5qWV97WCRFRSRUJEl2QG10Jm5zYlAoCit6azg4Rk9IaTN3 WjIzTlpvRWo+OGNnc0k/U0R+OHpIJXlHb15ZbE5rQjAqfkAxQXs8XiVmVCtNelZLZU15d0NySCMK K3pnSkg2X2tHR2QoP31XbFZwXmslWDN5Tnpgbk51NWA/RnRaeFN5WSVeKFFweF4mfSZtIyk7OH1L Zz1IU1Y0Nmc+VworejQ0RCtfQFFpKTAhfHFIJSZzdylOZGxGbE83aWtwOyNFZDh3UXJyfnMwajdW cSNESz4kTnkrIWpIXn1FVHF2SVI8Cit6bXRNTSNgZiM1aUg0WG10Sk1nZCp1Yl9ENWh6Rzt6OTI/ K0wjckA2cmMqJT9FRG9rWVkmViN+JTtsIW1XbERoaXcKK3o/eS13b282VnZrdUppPShFYm10NF5r KFg0Y1FmIWQhMFBjbF44Xn5hOXt8KWpAR15FKSl9YTJLb3BgNkFZWDVGSworejtycz9FQWZENnlm T3kkcFghc2U0eVZSSm9ETDUqbUU5fjs9e1lhQmV5aWY8fTs3IVVAU2F9UUhYbFYmRDIhJUUpCit6 T2M/VFFhV21KaCEhczkteXxjRik+diMpYzdMPDBUentmalhtfUJvNl92Ym9paEgyUT1pUFVLNmZq N0pxY2BoN1kKK3pBblRTT0lpakxTbEReOD1HQWUjNE1UMHh1bTtTJmBEQkM2IW4wP1YqJEM3dF5H MWhPTWZJXyhSdzZPbXtkcWZsVAorej5yTXJGRkIhI1MldzF6QmkwclAtWV9IQHcmM0RgKEh+QSNy SnB8dUhpKD1UbDV9cjVxP0NzMkdYSDQ9eUhBaDc5Cit6c2N3T1UjUVgmIVg1MkchYEwkSWQ7I0NF SW5pJH5JS3U7XnQkYEFYamJecFdeTT8oVzk1VVF0ISgxV2w4eCFzbVoKK3o8KEJudj9aNWNiNUwt fi1gQGVRUSE4blF5eWBYQEE7N0k/bzxLZkAxV0BxajRVeCYzU08kKCgxRzFQeTw4cT1ZPQorenFg cT0oVE4hIU0mUn03d1ZPTkd1R1kjJitzMVEhemJ+M3ByNHJEM1MrdHJ6XjQkSEVIVn1FPF5YYDBY Ym5VUk1GCit6bk9NdzBOWnZ1TTU8QUVEaVJtWiYlPkZINkhqYV8kO3o7RDJkR2ZIO0BCKnV4TXk9 ZXdhXyFmP0NmV3kmUmR3YHUKK3pLfmspaz94YHR1ZytlaXZiJDNvQFhDZGlAQCEpUF5aPTdYZTx4 WjV7X1k1eV5mJSQ2ZSFveWd7MW50UWNWJmNSWQorej91cTMrRCZzYSplOzJSMihAR3dHTnoxe0J4 Y0gxYmIzOUpAO055d3chVyFaTkFORj8jJjRjNnBgX3NeNjJ8O3tRCit6MXtPRj09ZTZJUSE3Z35l cjFVJVg9K35QWDN6NVVuKjBYSDsjUkt9RU9kPTRDa3g5MiFueSZ5dG8rZXUyUTJ5M3oKK3pCQkc/ NlV0QSZOKU96NUVfcE8/LTdhdW1vI2g5aT41RXdEVXJZKWJ1KmJPUmlyYjdHM2x8PHRLKiFhYWJi WVdQegorenQxJDxWMCZeQipjWSZfJFMmTSZHcDcjJnU4alchVnFya0I8aExGe2sme30lK0pDXmB2 O0xzT2EjS0poV0VOdDhkCit6QVlSOXxMSXhoTE16O2tmOWdfV3xKRk1ocDhzTk5EV0BCOFY3aV5m V2IjfDVgPlh1R1B0bm5tKUQ8aFl9Tk4qK1AKK3oqPVFOXmVkcXg+d0k8U0Q7WFdWe0puK2pyRDdO TS1GM3V4c2hmbS1TYD85QUV4Q3FxXzF6T2h8REJIfllGRl8oZQorejRDZmQ7KFBeIUojLTZPeSsq fikhdUImaUdieyZEITBHWW96e2FCIUJxbHhXQVdRPU1Sez9SamQhZmdHO2xFQ0BvCit6e2VlS2M3 O317O2c8fj1XeT1leCpXbEBDY0d9MmtvKVpHWSZrdS1EbyhJfVZlaHd+b2hMRlElaDs9WT1fRjUy PWsKK3pyZ3g3Vztta2Y/O0E0NG92d0RLZUxCK1hEO3pYcEtjPWlfaiFJU31EWHJpJWJCcDVZUE1G N3FHN1ZBJTR6YkohRQorelMtakJBWHRHWkpQNVhnNmo3OD4wTVJ4PXxBbUBoZUomUCQycip+YGo+ a3c9XylMMHJpNm9QdzRzNmp6WDRHWEhWCit6WUZPR3hud1ZPKHYqR311IzdCTD8qOChNVj5XUlNE IXVgdGhFbEBSNXEmXmI8UEN6aTMtMlVoY3FrQXRoOGEwSUYKK3orTHNRSG45eDRkQz9aciU1ViVY NUw5emBFRm8/SmhhJCUoMy07OHRZQHlZUT03dS07RXY+VlYtWEp0WDRYalNtcAoreldsVld6P0Ew ZHdXe2xWdj9oV3ZVXndEIWlmQXFSY3k7NEhSUVYpTkp4ViRSe0VTblZKa3g5NWZ4YklvS01tbSoz Cit6RysxfSM9JDYkcFlSXyF+KGF5JlBPIUpnfWRUSWo4KzFTdW8rfV5pMkEjVDtCbjZ7ZVZTcUAk S2l9MXxkT1dSKEsKK3okYnU8Z0tFSUtydVA4NGNFPldNfG9oX3E3PyRBbD8lVWlhMVBYWGhkSTFu XyVsVCpPNXZYWXpvdE5zMVBTUmpjcworej1TWDxSS1J9dHZhaGBNYiY0UmkheExVKDckI3FlVWBq P3V4K0heNU5pPDRsU0hnPnJ4XmlvKyV1fCZBeFpkYiRMCit6ezlSP3JiYjMoejNwQnwlYFc1KHBm fTReazhBRVptMFomMlRtITc4K29YPE9ObjloejlLPC1QYnlYRTtSdTM5PSkKK3pVR3JHOz9HQDR2 P1JtMSs7fjclYlM8fWg2NEJfWj1GNlN4dj9ManRWS1FgJi1gJDBfUT1CSSV5bmQoJH07Tlk+aQor ekVpUlNKZT44ejdZMjtNclFXPCpuJX5kWEopI0stIWBwM1A/VV87bWsxOFheQzhMd0BKQ3BRRzdr KVNDX1d8WW02Cit6NVUhJE9Ze0ZQNFRlSnM7Q35WI3RvSU8+cHd7OTE8NihyQSViIWo/aFAmTTVo bWQ+fkglR3pTM3wxNnZ2Y3tvVz0KK3pCZ1NIYGk+OFR+TSp5P31DPiM9OFFIYHpeT0xsSiNafFJy SlheKzRAeEAtMEw5WEJlVGw8bVNhUWRIfGJuVGs3UAorenAteG9mVCNvdVg9YkVzYjJWNnlyOFFZ e25fMVQrb0RgU1VVU0xyKUMrOHp2cSR0aVRzNlhxP0g4b0ppNUVRe2E3Cit6KTVvP18kUSVyPjJm TUo7NlBJUiteT0BsJSVlSWJ4eU5YQSh7K1MxVSZ+Y2Z1SDx+e2BIKF84JHZ1YnZ3dX5ARD0KK3oq RnZ3fllDZ2x2YXpWfWE1Vlh7Vk5Yez5eIzA9MmtzYDgzcEBsNUgoJFpaUmpfJVBlbHYocVVOcj44 Mj1iSnUhegorem8hZVVhYCFvYzkjbXUlJT0yeTQ0YVQ8Qi1MSjZydzNFbyVpZVB2SFlee3crK19q aSRQc3l5QlN1WCFyNT9hSWFoCit6bXJOeFNMI3hIM0pCNmh3R21uK0pxSihNKjcwfFMtRVVTRGwt ZndsSnpzbEZGailAMj1jWHdCdFhTODs/b0l6NlQKK3pLSXR8UTM9UT9APU1kXz4qVjlpUChjMTtU LUhVaFc3d0VuPCsqfGI5MTB9LUI9KkxoIXNeUlErPFhaOXtNVlNoaAoremBWZ3UkfDEpUigjcWB6 PCQyPUYwdGNvRlJoU3M4aGFfRzFhWEFeVHo9TiQ7KW1UeWVQQypUJSNQaUt8VitRdSZ1Cit6KFZt TDw3ODM0VSR6S3xlWnU2JDVTYUtkZV48TmxjTnFRKk1IKnd7VyZFSVV8Um12fTFrZyRuTkRHP0RA TGw8T3oKK3pIcSNWcmEwZVVAbXh1OVlaPVJvNy1CU2dDb1cyPWFvOUFOPyVpbGh0ZFVvNWc1OXJr bFp8LS16WkM+MDwobkcoJAorelZTRyY4SjJqN0xaZUtuKC16UihMZnQtQm1hOW1vfGc0NkZfYE8/ RUhtZlN6YntuKVExazhBb0AoTHRZUTVEX3VWCit6VVNDZGNKSFVON0JmVCV5OERlaUNhdjEpSmVF X3g3a0VXXzlrbGZPN2g4bmFJQiN8fWE3MFpIQ2BIO0tvNU9xWUYKK3pOMF9oTiskK0Q1SXBISFdz ZEN5SHl4OU0wYlApcjEwOS0hYkwjY1krVXNFa1JZd3xINWJhQD92eVFkSjl5YnlAYgorej5ZaVoy LURpWCNfVHExIT5NKjgrK25ALUpoLSElZzQ/Z1BIYj9CdjhTI1FSQSkkU2U+KytFP19VVXdqPzVf SEc3Cit6MmY9bDJgUm5HVzJ1c00lRSEmPHs9YCpKblRTckFjYTB9Yz5yOWJkJDlBWTluRWJsKGBe ZCMhUzteKTxnZDQtazUKK3ojZ0VSVnlxNk5WKEw5TlQoQENnYiRBbEt6O2k3eklEPEN2dXlLZG8p aiZKfWBDalliOTArPVIhbSFJXk5xbCNIbworelEhalZSRVJFWlIpQ1dTUWdSO0V5c24tUzd7djU+ d0ZSN1lmSDN6S1dtc2c1dkE0fHZ5N3JmeHUjazA0JW1ie2Z3Cit6a30lUX4+dl4qMit2dlN1e2NL IT0xeipBdkxaRktmJnVmVGdDQ1N0TTFyJHJrZFB9JU5DN0s4aF5JP01UJFQ1fmMKK3pVMkJ8PWtU MEB9eVVMWjx1MV5pMHR7UlZBeGM9PTFAQjQ1NXxKZmVuc0QpIzxrTzJYdU8jTnJ6O1U2T2RUaWdH NworenJANypfYFVnQyQtZyUoS0l3Py1qKVFFMVZTO2lmPzBMWlBCeFo3TWRuJVFNcUV1aCVjPHcr ekw4aFVQUT8pVSZ0Cit6MkJ0dzBJdiRkQm9aSlR6OT5QSUA+TjhAJkxIeE9wdnU4d0RVPnkmMSZ6 OGtGRDF7b28pSmVoK2JpcWhrcGFNKUoKK3prYWRKREptaHchaXdfO3NtcFomIStNVFN1X3c3d3I0 NG0oRG95Nnx0akN8QlF5Q0E7IXUzd2J3KGN3VmMzPllLQgorei13czQ+dDt7QFU2UHtiWDJiYUV7 bzwoakV0e15edC0rQTE7VTF1fHA+Kyl+N3pkOFFBQXVlbkV6OGhQPjxuTVNvCit6dDxzc0k4IXhY MnooV19mVEg7cCRld3ZCKGUwP2ElRHllemRlVkpiUCRfbmhoLWsqTmg+Z2pQKWBTTlhqNVBxOEoK K3p5UGpVYWV7O1peT2t8VmA3NXVHQnspKm4rNlZXZnBJQm5XTU1JVDhkN3ljVC1hYk8qZ0lVMTt1 QkhsK3ZHWFM2IworelFAQn5hYjRWaV84Uj04S0V2QSV5M0dzamJeSn1KfF5XfU5Ecyh+ajE5UWhr X3UpI2Vnd1hjRUU3Z1A0VD9jdElkCit6OWZoM2khWCY9TlpWUUxmOzVRaGE9MXdfYXdHK0xVQ0Rn R1V1cWRCVFNXd35QQC1FSEZWMWtAMGh6NEdROUh5azgKK3o1V2xQQTFiJnwpWlY8amp1JEF3YWN1 RUswaSY8I3A7ayhCQz9afVNpaEY9bzdXfDQjIyRuKS11ZEBeU1lXdD1YTworekl6U1l6bHpScXsj JFh7amhlSnd8LTQ4Pyghdm1VKV9fNHhKdUZaPmt8Rl9wQytwcVIrPDBIaG4zO1dIPzQ+aEApCit6 XyZWP3pjR14kKlgpQFBBbDlSKHduUF9FWV4+SXMja29jO0g5NDwkIUFHSTZGOzdxeXRFM2ckUkgr bCV9VTByVEsKK3phWTgqIVA2QkZnQ0s0YlNWRFpXYUJaTStXN2QjeTRrUiZIYHMwYzJYbDRIRGhO SCNyRHV9YyM4P1JTcVFVdlM2MAoremgpZE5IdElKYVdGfDZePEghaUo2eGV6ODh2R0E0O01gM15z QCtWLSRCOHI0eCRaTWMqR3tCeWpJXmQpeFhKNmJKCit6TSF+P1g2JD9GKkdzNTFXdFg0eD11MGdW SVQkKkNDOzhjZnl5UGFjfUBEX2VhdTBXYi0tR2VpakFsTXppQE9NPUMKK3o+RVY+RmA7dC0lN3U0 Pm51PjheanBVTWdPNyoqI0JWTkA0enc/ZUBAVUg9aj1AanhmSFNCMXghZjQhNDtFKmVEUworejJh WVByUCY1T0pYV0wrLTFWTT17ZDV4T3VKU2QxeTAlMTVTQEZkRDVSfVVpYT5+biNQKTVYI0MrdWpq a2tYSjdNCit6PHV7Nzg0ZnU8ay0jOVQ8YH5uJG5rNVI0UDZTPFNBYXF9Y0M8Y3ImZXs2WVNwcyky NVIyNlJVOWRVem9fNztsPVgKK3ppOUxGPEFaejNWYjl4a3lhSlJ0RllmOWtPVSNOc3pOZzA3PXJw V1FUTkEpO1pwSjRZakxWSk4zSFhWUjJDTmRFUAoremFzWT5XR2F5SU5saygpWnk5fkt9QShxRC1G TjUlXyRwWGs1cXdYT21tODJxJTEkR0trbG9aTTRzRVVHdUhMZCMyCit6RXxHM1hhRWF8Kyl1ck45 MzFqVFEwJDYxcmtDZjI0KV5oMH1kN1RFZkJGYGZ2R1IoS3x4OE5WXzBQWmRsbnh8JloKK3pGaz5F czNBJlNYKDtIP28wUmh8UCVWTVVLPCZ+QV9BNHczNko2VkhoRVIkeUYkaGNKSVphYXRgYUlAbm1A OykjXgorel59WmJOZykmNWFRbUE7cHdyalcodEYlMDV0K2JubFR8KmNgZVliMnVqPVV8LU0/VFQ2 REwpbGlfJlZkaWRjO2s2Cit6RUNPenAyQVRkO1hiKjV1OzhJbUI4b357ciEjUmZPXmU5QXN6IXAl Nlh0MlZ6PFlwNFhpc145WGE5XiV9OztDXjEKK3p8OF5LeUJHS2R1QV93S0tOYiNJI0FReVBxV0s4 QSt0OTZFfEMhJWBqXztXXjJBRnZNRE5fdndZeUJOO3t2PGd9TworeippJG5jNlByVEBuIUc7dGBK cjU8VEFER2tZSDxmJT1NbXVNcVhaSFQ1ZDVwSkxEc2deWkUmcnVfaFg7Uik3UzckCit6MkQoZHRS I315PksrR2lGNykpRDlfflp7N3UqQjU4QWRGUm02VCM/IVBOX2c0MyN9PS0qb3VXU3poYzBEI2wm TjMKK3peJS08Q0s3UGpqV2AqUjA5Yng/Z25uQERVSCFaI248JUZ+PVpHPEhQcDhAPylmb3d0WEkm RjN6QVAtSUhEfmVgLQorejxkXkl9cEs5NzRMWFBqKDVMM2JnMGNRaTVJWnt8JGE2RVdRRCRgZzVa M3p1QUc+RiZuYnU9fjF3V1R1bU5kaDc1Cit6Mmx0YzVgV2s5fWlrUiNsdEhWKGthITU7UmtqTjR8 TD97WThPcnFTfDxLMFI9Yih8V3hLdEAxJjVVZXB+WSMxJm4KK3ppWmlZa1RjUUM2WVM+RiU3ZGZP KiooZ1o3aCNINSlOZCZwPnt6PFNzTV5Zbm5ZbHVUP2cqMyQpS2B9RFFKKlBpcworeldePnZkQ2I+ WFcxUGNzZW96RnIkej01KzU7YHhCZj1kUjNmdVJLY2M4KyVWb3Z6SmlUJTtncz14QzlLajtJTD8+ Cit6LXI0cnpMUkE2M1kzV1FxO1gwYDtXU2N1UWw0ZWw1bl9Pelp0ZEV0TUtiMHtTJktOR3gxeksh SzRuZ2ojQk5CUEsKK3pARjRVJlU4dU11WWN0fD5jfm8tYVhDPiN8Zk50SVJoI2EhbD5IQU4kdDQr YHxhPCtgYGdtOHw1amI+YEQ8T3hrWAorejc9a1lUK35QMTAkRzw+PzdLcUtaWGZhMytHWX0mJTVl Vjk9M3NwaGxpSjN8N3M2M3lkOCEhajVLM2JCKzwwYXRwCit6RzUhcU1OQFdqRishMj5HT1pgWmct Sn10VF5uXkslVmd4LXpRRj5SSClzJVJZRHBqUXMpaWR4MkZwVmswNj41aCEKK3pgY1Y7KXVEKXk+ SEJhKj44Nl9WYlk1SyNTNSRiTHtkQVFrKz9BXn45a3VvcjlyVmJBKFkhO3M+a0h0dkc2RnhrOQor emtXWXxyd15TPSg7THBRfUc0d3VaV3c4NGB1ZkF4PlReOWlFdn41VWhTI1p5bmhEZmQjdm8xYU44 ZypfNTk9U2MmCit6clE0Oyp0WkU4MHU+eitfJjZ6SERMdXY9PUlzfktZbHZNbSVYTTApSGNBPkpn Q29ze3ZRLUJ6YUpyTDkxODUzQVQKK3psQWN8d3U2RGQ3N2JOSk9ndD1UaSRiMTdFSmBeP2Q3ZVVY ZWF5OFohZ2IqbEFhV1dXRjlRSnRUUGI4KE1lRDxTXgorej1rJnM+MV5ZJGYjOWBrJW0mX2VGUj48 cnlGI0BibjYjfCNUS1l4LX56SUcjUzREbVZPWl9BN3g5KnZlNHA2MHxfCit6TTdnMFA2b2QmRkx+ dFlBNlY5YWNGLUh9TXRYTTw5K044M2o1NjFMS219bHk7QDVPUkUqams+JG1NaC1HbHVlSUwKK3p7 UnRjQ2BrQVplMVl5ZEJ2KF5DN1ZKKGBTdD5iRXlCIzZwTm4pLSpjI2dxeih2WU5sMEBEU0RJTkg4 OHBHe0JsMAorekZ4JEFaJSNNRUZMWEdKYlUxaUh2ckM5YXNWIXx7TjE8WFlxS0c0Nmh4bCgwYSli NERycTtCfjdhaV93cVV3KVokCit6Rm4rclVge1k4YVR6VXJpKk4taV47MH1QMEkyLSRMNlkjdWxV OFZZQVF6ZjxnJnpnZlAtJURqPHs8X3pNaSY2Vl4KK3pCfUtTZTFNNFdsJmcjMnAjVVRaeThaRFNX RlcxcjN1KUg0UVhWTF5aeXE4YVBMPDdXdVdrTCFsUDN4PFdhYmREOQoreikmSG9DQURXYk8jJENW NlRjVTVxNWJzLW5gYnAmO15BbkFMe1puQFpoPlJmTkZgSFE5aUhhUUUpWU1MLTc0YSVACit6aUlI ald3dDw9fG99MkIoJFoyWUBfN0FDTm1KSUFAeUphRy10Vy12NWMkRGdRME5NPDBDciRJTW10NEd8 QTgmWk4KK3pAZChWejEqJiROPDZhfkBKPXpuVF8lXnc2RU9uVUR6TUBobkY7RyFSPk1rMGxURSRM e1dSJEYpNnZlMEdeZCMzPworenBOZ2dyaT0/TDBnfWQzQkw5VXtfaGd5d2ZOSjs9RTY7Q3hHMlg+ SDJqSD1Qfm1kMm0oc31POzBHeHNfbUlTRzZtCit6Xzc5cSYhPzE8Mk9POTghaFRxMjc9eElea0dQ MlRKP1MoMGx6bXlxKmNsISR9LWx9JU5FcUpAVlVpfUxhd05aR0MKK3pFZnV2Uis3Mjt1enhyVCZm ZWtuMllPPW1VeHFoPVk/biMyQkRzaXEqSyNoSCk5TW5OKGhHfXh9TFZGdiM7M0s2dQorem08MGwx MiQyKiV6PnB3JWo2ezQ2fEd2SFEoSVpxUiN6NktCTXpFTERgOS1pP0d4bVVsTXxLZHdNTFg8all6 KlhHCit6cVR+M2BuIXt5U0E1Z0Zebmc1NmZmaXxmSng2QiRiUShgaFpBX3pkaCV0WnZvTG95VFYw UD5uYnB3QnUhSmYkdUgKK3o8Z1Amb2I4c2RIOGxkay08Y25+TndYfkAzM2ZtdXM1JWMrSnFqU3s3 c0VDM00zRnBfWHM2Ky1RSEZPVkNafTdSXgorelgzP2F2QXlKJiR5Ql9iKHRmdzZVdEU4dk49U3c1 O0IjfC0jUihLWnQ7cV5oWiZCQEshPmliYHx7Zn1aUWdjdHRJCit6SDJYemEwNilIfGJBQX01TjA4 ZjNoejd3NmB7JURTcWlrQFNNTEphdSFwbnEkYVVzbGBtflNzdkE9ZDIpP2c5NWEKK3pPflEpPVlu dDFAVWdUeWghXyNBQUFKbDxWa28mS0w/ZCRec1dWc2hgPntJJEhyNDkjSFNidjd4XklCdlNWfjdH bgoremg1ZWRLOVAzVkslUnxSUi1CaDU4ZE9efHBeVFkxek8rNjlCO0dTaGUzRTlHY0VmREtwVEc2 MHJXJHYtUTZhTSY+Cit6ZDEkWkdiaipzNDklIz08UEpNaUppQ0l7b0lEWW8ta1UwX3hjSF9HKER4 dTQlSHNxWSgmbk00Z3Q0ZGpwNCZ8OHUKK3pSdUdNKCYkbERpbnNBb2s3dDFtanNoSl9NKnZwUV5G Rk9xcmNvfDNXNGNaKmdLVVZHNHYkaE9mKkdleGwyK3lCaAoreldLWFkpb3w9S25HJVVEdlFsPFU4 Knx9LUUjJExqO1c4MnJRKnE8NHhjPkZeRFFCaW99Uz4raCNMRXJuVXtFPSZfCit6USRhfFckK0Rv ciVWYVc4dEMwIUlpM1NzaTlAbit8UHh+cHZgd0IjPHFjVU9XdXNRViRXZSR7LTlXMl95PTh6R2wK K3psb1pCVzU5NHcqZTs+bU5yc3R+bmZeZzhlMGkkKEg/UShvYWglVUwydCpoUTVuJUcmMypVPWde U35wX0VkWFhibgorejR4TjI0aFI+QyM4eTFvfVY+JnNZS1JwKnl6VEItPzNNQHdjTUYzJnF3OSM8 OGJCRm1lQjJxb0VqcVJWd3hDdmB9Cit6eHhkYUJZaz9XQ3s4QWlWblBmQ3FOYSR0ZDE4WUtTZEwm ZWR4ZGZ2RypoSDRaa0dsIzIpWE1IP1g3Nzs+PSttUkwKK3o8N2tBb2B+eF96Y1JyenxqMFFiJHpQ a19fbV81JSErYU53bDdLRHw/M2JJKWFOTiZZZG8jdFBxTVY2OT8ocnwyYgorejRrKnYqbEtre2Ew flpMUm1eQGQ5VzJrQzczezV3OzI2T2tKSV44SmU9YEt4SUFpdGVYWVZuSiZ4Qml1eClFfVFeCit6 JWRsVG45UlZ8ancmZXtELWNEdHM1WFQwJHZSUHskaDJlT2hKTTNnaWphWT9USk9JNntyNilPRjZ0 KlElJGtZTjgKK3pgNUwobCNuR2dSTnpZaD9qT1Qzb145N3BGKUlIYSMoJFFeVHFsXmh1P1c1TTdj JStLU1pZc3YkMWcrWislb2hPVQorenlsWGhYaD4zKHFqZSNTVHp0MD1GKDMtfFlKamhKOWordkBw MUZSKXt1IztBWV92QW4mTWp2REFVMGYxPnQlMyk+Cit6S3xseV9WJlNOdy0reWFQZSZTUjNzcTwy YXA3cHIzRX5TVW1oTCs8IUVzc2VmRWA0UG4qbkJOS05NfjtmNHdWJkMKK3p4NVEwVDRUNDg1V1I3 ejdfVT57bVB6KStxPTZNTipLO3dUTU4qNkNDWGZYJXQ2TFF6d01fbHNFd0pJcXU5I29DRworelBe Jl5AVl5ua1Y9Ni13PDUtWHpwWE5Iajl6NDhafUJPMS1WZGNBMFRsbzJxdThaRnpQVFFpNTJoTHEy dTlUI2E+Cit6by1fRzdOQHFYVEdUNVhCaW5jcj1qYHlie2d5ZmRzaSRROWV3bFh5flBWRHp7Q2Fa fE1PRHY5MGwoTWdCcDZ6bCoKK3piRklEdyEpKCp8TFVAQ0VIJDMoRGwmdHp3YGpHbW1APVM8RzlK VmNBNEhtbmwpYmkrb3huIVBoT1ZFM3BgPmZkYgorenk7ZEVAKlF7VnRtKnBCSyUhUzBneGFHK1Y9 P0Y+NmtkWUNHUm1kSjJZZD5XPyE0d1ViLXpWcHJ6cHk9RzhTVWhgCit6RXpjZ1g3PXNkbCF3RT1M cCNfXntPZmgzVGxsdzVxSV97ZVItSVNra0VCZTFVVld3PkNqNV52RlpsKEVtQFBOJjsKK3pfcmJ6 a2xRRiopb3hhPjxiVUE3aSU8c20lPCNTLXg0I3UwKER6QnFoZnNRVExMTFh5UzlWZ0Z5X14mNXh4 KXg2aAoreilfUWBJTlVQVnk+WTFvZjZueUFAO2UqYE5IN3AyP1VDeCN2ZD8mWTI1SE9QWDw1ISta U2VeI0Y8V20qVjdnTnpoCit6REF1QWkzeTExMWttWTt7eXVmIzlNS1pkWXpMUTA9ZEg5dz5uIUMk dkZFTiNYJWA/KDR2eyh2RTs7O2Z7VSZ0S2MKK3pqP3klQmBxVWh1aFEteStganM1ekk+MUd5WDRn RWstYFF1S3IqP3o0dmdoR2gxS2Q1fjMqV2A9SDxQQk5hLV9OVAorejNhZVl4TlYwX1oyQDYtb0Ik ZXIpM2A1SjJNWFgoaD95SnxMPlM9O2p4Tnw7ITJeUWdPaSY2OGsyNm1uQUhRYGJeCit6dzh4M15P PHd6ZT1hMDxnLTVLZ3VGbCtLNFArWXBuQzxuS2B2WCgkUVJuVCYrJmFgNE4wTz83eXRJbHd8dFZG RUwKK3pEZW9rWT56YTwmO1Y4SnhQZEtNdWZ0QCZzRj1wIyorRFQqUj9fTXs2LWs9Ymh6JkI3VHdI UzR7JDskZWhwMklnbgoreiU5fX5ieiYmemZNaEgrbVhOQGFxUHdvO1NBQ0UkUUw+IU16NWNGbXUy KHdUVGQyN2pmTzImK0VGbGVpTW9tR20/Cit6ZEg2U2c8c043Wml4NHB2KTxMMGJFYm1DVCNAbGVA QnQ0T3YmbSpBM2htTHBYVjFhIyNtWTBhQ05sX0xseDBjMm8KK3pEVEhJWGIrVVVUbFl9IVk0Nz9J MEUhaVRgbG0jcCZyWn13bE9neFA9S2I0K2glcnJ3WHBHamt4NHRZdiVnPmBPPAoreiE2O2tkeW03 YE5fY0xnfUQ9TTQ+O2tsSXAyMyUtZDdMeXhuTWtGYG1XI2koY0smKk9pcFhLPytPV14kWmBwfXtQ Cit6fEZaRzZwJmJsYWxteyZATytoak57UjtaRU9iRmhhUmxgZVJ7WnkjTzUtUU5GVClRMGFgdHVm QTA7SX18aiNuR1cKK3pjYCRkdE5iWTU2dWk5ZyErYTVBUFNraW1reUxJV0s+JV94eCRlYCtJbSZh KUBaT0VLZmZKfmRVWG5GZDlXVispTgorelUtfGJCdG4mcEg5R2J4QHpXZUY/PmBeSnQpTjtMPShm d1pPM0EwZVBzdXMrMng7VFNkblRKY24hYFN9ZTI3SEN0Cit6YXVSLVEtUSVyUmdlTzl1X0hqNj5D anFAcEhoaVo2JXcwMUteNiZLWCk/bjBnU2FlUn1rR093I3hQZUM9THlkYWwKK3paPDVNPlZWODUx UCRtVm1qMkBoOHUka00hNz1mIW4yKj4kJl9qfGVgSntnSS1BWEJMOXRjM21wO0BeVXQ4UnVJKwor elV9O04rdG94ektqTntOZD1WfEI7R3s2aGV5NVZBT3Z4JDd6RyFNelA7NGZUY21VcEgjdz94KXAw b0VgPE9rbWB2Cit6RkNifFVHNHQ2T3M+SytuRGdxU1NwOTJCfVZkOEZWbDxgaU5qNzFkd0k3RGVf N0d3YUwqIXpPVilCNnM3ZUVSRjEKK3pqdnhINSYrZTFFWF93UCh7XjhoPlBIUCVsOzBvMXNfa2I1 cHVBVFpSSDUrYVRqak9sNndzXnB6dFE/d2lqWjZqfAorelV+cXdpRlcrayVfM3l8OFUwMXErbHkj IUZ3N3NVPUoraT43RTQoWXY0RkwhJW9DKzNNTUB+NCkzNHxMYXpebTcrCit6NDJ0fEpzb1prYnNe ZmUtZnF6WlV4Sik3cFBYLUduOTlUSVZlPHllJHhUbFFkJClVYnNfJG4tcUJKd15VM0VVdWIKK3pm NUdeQU1mMk1wI09+YVUyITheYkI3YlcpU1p4aWhfem48S1QzXkpPdjhyPEJQKVFiRSVreT8kTSlE MCkkWXx+YgoreiFGbjZ0YV9FUis+NWlme2smc2kwUylEfFpEWHlpI1RSXj1CNmZUb1I4Uj5GeF8/ PkJIeGBPdiY4ZmJGaXduRHdMCit6cU1ZJSUkSWVSekhDUE5qQ34hLWImPX5+WW9JK1MmRygyNVI/ UGF3NTgmNG1XUiQ2PzAtTX1pX0tVej8weFBtMWMKK3o/TUNnbVo/aSF+Y3VQfTE9KDFvellQaT4r aEQhZmxPPk8lWGtzeTdHKnomczd8SjcqYlhwPFJvSz5hSkVRYUF1NworeipUP0UrTXhuQH1fJjIr NXZxPVRLQ05LZ29TaFVhJEg9Nn1lZVQ5WktsMEl0QiorcnckUGpVYT9NfEFLUGxkKioyCit6LU90 Sy1Ke007bTFSRnhlR2AqajEhYTZkSVU2WmBIemZqcGhiMSpUQ2VBSCF6WUI5NDArQ2B2bGM4O1J8 d2BVaGkKK3pLJDxpXkNGZHpOPEtGezg0ZnlYcCU2cWRmWkZqQXF6cXotcEslaD1TOzxGQkQ3JGdP aiRvdFRYUy1VKEY2b3lYMgorenJuO0wwd35ZIVBERWdkSDE+dXpiK1BsIz4qemNSfDFMdXBlV3M4 ck0wSWQ1bkxxPTl4KWx5NDVERWZUVjtSUEU9Cit6alFpZGokV1pRQmZfNy1+JlMkVF5Pd35BWFJl fHZQWHpNS28oS0xYZiMlfTglX1UrKUx3N3ViPVdscEtjajJpKEEKK3pja1k+P3V+RXVGa3xzJDJv YTh9eCF+OElwV0MydEY+alhzX2hGZD92QGE9Kn5zeGc3KUBtNE5IY3NmUHVnJCgpIworemctdzM9 ZlkhVHU1cDtPZzwkZV9lIUE0IzI/YD4+XntUUnJnNElISG9lQSg1USh6dGgjQk52KFJEWTxsX05T QWZMCit6U144enBDXnh8cyYzPHUqVmI7IzdLI1VsVmtxWSlqIUQlVjB5d2tHe1ZPQWYpeX0lSl5V MWZVSUJCUmVpP01vSD4KK3p4O3xyYUV4YGEzeDxtZnImKVVAejhXbm4tO0QjVkpOX1ljI1BtJVRL dF5nX35kJSkmZjkocGh7an4rYilgd3pFcgorenpadHF3S31hOXBedGUkdXQ0UVpwdmRmQippbS1K e0V2JGN0encxcXJUeFN1VFdOTUQ+UDVNMHBPV2lJeT8wSz9ACit6VTw4VmFGUEp4R211Sl4qOXxu ZXhBSWQkaWhFP1F0JS13VSgoWjtPWE0tNCYkLUZtYCF4Zlh3T0U2SlVjQlc0UWAKK3p0eEJTczRT amJ6VWV9ODl7fl8kMXFDXlJyaDBFXkt3ciQoQ1pRSGhPVGM+VD93ciQoQz9LeVlXSmp7M0otdWRn SAorelI9cmZjUjh+ZjFXVz9Uak9sP09oSGRZXjVLNTB7PmB4ZVMwTWlZOH5zeHEqQ21ZTEU7OWpG eW93bH03YDFFb2Z3Cit6dj9eUVp1QF5ybVFLK0h2bnxNfktGb1k8WDJGdEIrYE09fkY2TSluO2xr e040ZGU9NFA9Qn5eWG1kP3g2VW5HOzYKK3pDKlROQk09QmFBNz4tXzRYRUQ0NFZmaX44Ulc8a0dx aCtmeGBPckZIam5BJihhaG9uaihUZ2V4azVISVcoRl5AIworenJBXnBzSzdXXzteWGhtbW0qRzdg aF5pI2MyfnQwOXNMZjc4eUJ0b2B3ZVA4RmtISyUjQUV6YUApOCRsZEgmMmFPCit6NVFacmAjPEhT MFhHQ0VyU0ZLRWE1aW5EfjtBTDNyJEBmJGNAS3ppMDlFMndTTGNwOUA9OzU7XiltPUg5LUh0XyQK K3otUk1iO2lGJFVkPWdoMEJPJisoeiNqPiRtPnhndGo1XlE/I2xnc1hzVGNMVjwmM25IKW4pYmBo KU9RUllxVTheRgorendCXn5fTXtNZ0BeMHVCNnk4K0wrQU1FX25zdmA0QihGJVVgdXVJamMoLSpr UmJzYG9DaUdgREREMzF8RzVre2YqCit6PkxaYXpgX29pcU1JYnxCbVVxdEN0SV82OXY4S3l6YXUj aHxsJDdXMUFGPTdJKzZDNF5XSWNyZytwVmo0c0ExfHsKK3piST1oSF5XSW8hOHZ+a1pWYDU0eWZp R2U5dDI2bmhtOHJwaTNmYkxMeHshb0NOaX5lJjhsaTt7UF9+NCshbihlYAorei1VfUN9VzQ5KWYp a0JKdUN3cjw2ckYhZGU7Jj1zWEgjZVZqJXNMQWtuOWUzcXlXIyl6OGtJPns3ND5pYkRUVVl7Cit6 YFRYMEJtYj03c3cwKm4xZ1dkRCh8MmdfUVpoVyhzck9INjhMS3taMSlrfmVGKnt9ODg2RlBoV2xl dD50a0VgeXoKK3pHPkt+akhIYzk4c1hFYSFvTmhOUm1fcVdVVjVCNmVPbnIqSDZIK2cyc2xxS3hi bUQ3WEszRWs4JEFwSUdJVz02fAorek9fOyRPZ1c8Kz0lOGwzYFN4bVRzc2F+fF56Z3B5TXdWUnsl Qnk0YzhFMFZ0d0YoWFJKODtDU24zdl80RXdtSDFuCit6KGIhc3MrZmF+Mj1mVldaT1ZiRisrbzJJ dzxuST1lOHMhJUElVT5Pb0RIaF9fKkBUUGNqcF4hRiVmYCgmX191WncKK3p5eXR2NEMmUmNJTz1S dj9iNVkyaCkpaFE4NEk2WERtSGFINTZ2X3g4OUtiJUZWP3NxJiN5RXliNFp3d2lEJFNjKQorenJ8 OTttYFhaeDJXKWJOWXhDWFFpTy1iRX5KPU9VbUMyP0lrWXEyUCtpN0FDPEhENWI8dmhMMXY7PSoj LTI3c3Z2Cit6QDNRZVR5d21CTW4xKlBFMn1PV2h1I0tMY0EhQi15aXBtKThtaH1Ha2BgYXxBRily Qj8tZGNTPGdhZiF4UmZPMiUKK3pKV0BrcFhtRWRnU18ocXtPdVF3dnMtbnwxSXpzUmR6emJFQ0pD Rj5Nb1FqVXh4OUY/QiZ0UX0lUzRWO0l1NUZLfAorellhLXtoTT1AaWAoYkMxMjJNVndgVVp4Pno1 QG41IT51OVdRJDk0QX5XI3xHMD1MaWV0JnAmMn5aRWN2TnopbG49Cit6M2BHRUhMVHFYcT0rQHlt RHZLSCk4c2I9OUskRC1vN3B2QXc2dXpRR3d4MG1HQlBMT1VqaEp1fmt8RHImdVlIMTQKK3pNbVRA QUEjX1hVPkt6azhPX0g9PkJ2TXJnVng0SXtUYF9hJThiWHI4e1ZsIXIlQXFjZ2FhNGgkUHJLWW9L fnJzYgoremdgX0R4dUNQajNVMSl9bnlNQlF8ZDZoPkk2Zi00NSg+YEsmK0VkV0RANnF+NGxXM2o4 SjVKWldPX1FgYkZEanU1Cit6MTN2MW1mWFgrI0BKZDgjPDdzS3FVV2IrRU84dW9WeFRDQT8wM3ZD SHBmamtyNzJJKWFTfDNKJUs+VjhFbH1xMVcKK3o/V3xZckMpJSp7cHktQElfPj9nQlNSNzdlZnRx YVB6V3wwYjE3I3BQJXt7fH5jbEM4SlBBOEk3MHRvfHppR2FveworemNkX0tfX3dwRTRPZHxFc0N4 aSpvKS12QGRnLXk9QCZwOFl0MkNVZ1dOVEw+ZHtNcGVWZ1RHdEt0dkh+Um4pOzFkCit6cGxnJER1 QjheJUB7Xn5hblIlUDRiaV9lPzhnMGokYnQ3SlM/IX56V15Ocmw4RCkodkF1fk12PiRGeStUU3s7 N2oKK3p7SnNgKmU7PX5sR15XTGFIZVYwUnhqZG48PTZSd0BiN1pDMVkleUopMktKUHlrRTVaNER3 d2hiMTVUVyZVNXZpSAoremRiVD1TdHVAaUAwI0l3RVglYVRVdyp1UE9NQWtBMUZJPT4+LTwobSom NGc4VkZHWSgxXiFPTz5FZnwzP01hX2p1Cit6ZDRzSHNCXmIodGBDayp6WnhPLXtMUm1TVTVtP09U Y2k2cVllbn4mZmM3PU9lcyhjYlkmemYoZDs/QEsxK3EpX0cKK3ohczw2fV9HcH1vI2MyTy1VfGVr Uy0pQWQ1UkVeKmFjJk4mNiVVWm0jU1B3P2BGe0RhZWhESDBqdFdWTz89JXVARworekIoMVFvc3Fg OUVPMFg3VEBzczE2TCN5WXpRPEgpSHJHJmZxZnwoPyohQFIlMSpPYD0+ZW1NMjRTelpqPyhOdlRs Cit6ZUUqMiVTfllDKkRkMykqZj82ITkxLXR5fDc/VzRLNy1JTyVgXjZ4M1FDe2VKPGojX1JrJTNq cFg0WFNXXiNlWDYKK3poSX5BVjM/UChFPDFucng/fT96LUI1cjNmQlZyTjtPLS07LWR1VFQ8a0Ep ZU9Paj9rcW9IfEZRMVFIY2klb3BrIworel9ERDtfRE55MUklI1d1Z0MxZjZ4NUhQK250PG8/Z1NZ VCtySDlkMUlTI056WjRXJCgzdTErdHBEc30wfXN8YGcoCit6bndtJlplRjdOP1dtc2JGR3IrfnEl RSR1JFZlTT5jd2Z3cTdIT3ppcHc7aylSY2RQNHNiaTkzQS1rQmByPmgkYHIKK3pvbU59YCtVNFJM YmxoZiUtbmc2a0NwMl5qNTxSYDAmIzMkVHJqTlZxYH1gX2laIyFASDA9Z1ZIM2wqYyR4NFdLPwor enlSa1FXUmk4QiQtbE9IUChVQ0I1emNxUlJrZEh5MSMjMXBYI0JHK3g9TEJ5YjwxWEt0ZSh6Vloh QD5IV0ktPiE8Cit6M2Z7UlE2S35JUEpfPTFBZGlNNnVnWnJINjBqVWJ0VHBgVzVPMT1sUitWZj5N UTJBWnMwVGJPUkQlXjNzZD0tTXcKK3pvPWR1fW1saW50bj18d0REKyFsUnpQdklZS28xbyRQQ0o8 VyNTV2dPNlhRTnkkITBwSFNueXR0U35DcjdFVEhkVgorem44JVBZaF8mIWJwR3s+QD9HSW1KUClA UFBjTzgxckhBNmdnTX1+Kj9jZyFwTWZzd0dPZEI8e0NPJF97V2RgX1ZkCit6P3ZDYjNUXlhIaXch P0YrKV5TKktDT2Y8Xm5UJnpCY3c5fGM1OChxJl9QcnBZb1FDT21FIWhiN1pfdT4qSkZpaHUKK3pg e1ZqOGtFVCFlVE0yaGdQIVd8d0UreDZ2Snh8MFdtcUNBPmZ6YF5LMnxha2dYcFJhWmp7eHwhTE58 dVAqSkVKaworemVRSWZDO30pYyYjY357UFZ3XkQwWUhLKjUjSGF3aXIwKEp1PH1MY1FIenllJEM1 eGhhX2wjRXJiczRWZTRwPS1VCit6U05tfmxmQCFXKClTVmQ4OUJ0Oy1qSG99eW9NS217QFZ6VnFk fj9Pam8jTSQ/RCglVVpnYCppRWdTISspMnBqcXwKK3otaHh2M0ZMYEJGRmlZMCtwUWZHdzNaZXlR WjBNO3kkMXNgYSM0TUFNUUsqVE1RVzQxd1Y+ISgkJGdEal98SnRJMgorenFaQz47PCg7bkBEKXUq PGArOztgWFNFS1hIVWZiJWpCPlo7TyRMaygpRDhoSChZLT9sWnkoZG4tQzN4Mm1TcXIyCit6N0sw aGM7RUZSVUFLV1FnQlM0QkEzKF4zRVBjI2cobTZ1YihkTUhiZ3JVak0wYThDNGFmWjVVbG89SFUr ZDJoXkoKK3phcFl1I0l1NWMmeG8pQU5FJFdgQSl4SF4jVVJsMkNxfnhTVDl+NHYhQipAND9eUUd6 ZUJsUE1FdiU/eTR2ZiZyRworemRDV19xOTx9fDs1V258KClzPkl2eDBCZkw/T3ZfRD4wdksqa2Yo elhOazd+dWxOSis4NSohXjBpSSY4biZmbzBFCit6Y19NJGRCVTsmfUpAWFJUNTxhX34temBQMFZi TX51TVdjVUVqPz8kKU1aSE4oTExfOCp2fFowKlJSOGY0UitUUGkKK3pyRU5qamJgaWpFdyprVnJN RU5NVW5zRlJfentGT0l5bHlOS0l6b1l8d0IjYmtNbUZVaGZuXk1tWGUxUU54ZGZOQQorelF1JGRz Y0FITCNhR1VnMWdIUXg7WTtCR0hZVUQ9ISR2dWBtOWd8WUROSU5WNnI1Q2ZWTFJPTno7MlJnZEZt ZXJ3Cit6X2spKEtTdSZ0S1VwRyojRysqLS1ieU9EJW14YnotYnN8eyh5VUoqcHprMVc5cnUxJGl4 YXRqY09pd2ZVZSR1KS0KK3pRJWojWU9GbFc8K2ExMDt5bFpHVXhKXkMyQFFyK3t3M0ZQQ0ZeZ25Y Z0ZgdTUkSHFDNGo2VHJ2O3RRbV5weExoWgorekxPQG1EYVB9MVluUjZtcHA1ZUFFRDFaR0FmT2xK ajN5aUxPVEdMUjhGKGd3bCs9XzZTcHFFSUp7aH0rTT4mbz9OCit6SlFyWCRQJit7U1N9WWszPDxn SD03U2tCUUY1O1E3LXhVNUhZflk9KT1BRVc9TWR2Tz0oQnkmeylkX2cpPEJoKTAKK3pIejM4RXUr K3Y7c2xOfTwtbnt8eGYhNF5+VE1sQms/ZTh9NV48JVRiIUVGMiRefSR3aGA5QD9JWGx6SGJ5Y2Ql eworenIpPXZPenZeKWZkQCh0S3l1VFF0UzREPDUmaTNyaHtrd0Z5ZjdxTEAxPTdjflU4amYhI2RT KSgpUnVqPnt+YEdXCit6RzJefS10Kz1sQSNRMFA+d3FTUyRuOXNCeUp9aUhXRStZYjNJa2IkTXVN cipTXlktWkQhZV5wZzV2QTJ4KFlNKEgKK3piZEBkTGVuflElcl5Sa2RvNHpOaSk1fXc/Y0phYCN0 cXFDY292fD1oU0VLIzk9TGUrNTAtfE8oUEItWjV0eEVpLQorejFJYjBWdyF9TXJ3U2BFTmFvMGRK UF5BKCZkVUNVZllCZlpMUkYkRGBYU01jYTk9SSN+dVFBVFclJHRoPSZVN09rCit6VmMzRlJAQWw1 dXJrZDk3KlhvX1NeUVRgZ0A1TThpLU9mJW0qSmpoJWRUenh9NEomP09zNDB4aFV1PUo5PzVPVmMK K3pmP0lJYEdgIVBpQy1MX0k2OzxFSl8yVGZYYX1nO1d2VXRrdD5FeyE7X0BCKGxMfn1aej5paWp2 dThzWkoqOSYlcQoremNkNWBGRkVFTHE3OzZ5UXQ9SFoxYGF0eTx0YU1ySUA7ZVpkRWo8Wm8oY0RH LWIjJitoWW4wPXAqSzZ8VlBlT25+Cit6MytAS19EI2xqWjF+bnh0UThSZDUjbFVoTWZhPCN7WD4k alpIN2tXNWhoVi00M1pidGlQQSsmRW9ofjxQezlFLX4KK3ojPyVJb3c4bVR+YTZgPktaPyhIdDBz aE9eb1ZWUFhrRCVZSEtSbk5WRzY3QjEwSEdlTnNQR0VlRHVET0JyRXsrVgorejhmUlhPQGJRRyYj M218YkE2P09PZypTQ0VoI1ZNY0BtXn00KCsyKWhJY2Y3NSQlfDlhPn03ZiNFclUzNkh0aHZmCit6 PFprOSE7bnhgJEl1eHZRSDYhV25MVm1IYk0oRlgxTzw9N3pWK1FxZCNTJSo8LXlaNkhnNz8xd3w1 KjtEbzZRMkIKK3owUiNYYjFyR29+QFZ9Xj98NndJOTQ2SDNZfEJuPz4tS3piek9hSmBOd2AjKTUl Y1Nyc0IzcVFsYiU3JC04LVopTworekArdTt2PWBeNXI0UXNMJTAkKkg0cVl+RG0+biYydCtKRCFX NCh+SkJXXjt9PzQ1KClkc1hNWjJ7Z25wSj9EaWcrCit6OC03eDxSPXNeJEdPSW5oQmx5MlhvRXhq I3FrRWBsV1NeVlRJfEMjbVo2OGR5KVIjJXJqVCE/SDJuZ3hDeDVPbDYKK3pPJVpzdG1Aemo7bz55 PD4jaGQwdXFhSXVGY3p0SytRcHxFPyhhQHh9TTNfcENfd08/dWNRQkxjVmpyP3BsfXxqVgorentp XyRqRCsqe1dUKFl4UVFIbk15eSFLb3QlPiFCbDVveHU4NEIjc2twdGt8Z25yZnpVaUJ8PnZHTnpV YlEjZFZ3Cit6a0czdC1HKyMwMzlhbUlKWDhLXmtycDglRWNrQW9OUUxtPn4qTXd+VlBuUmROayNR Yk9jMlhGa2UhZzV9Izh0ZDIKK3pKPExJXiRSMXJlT0RTaUsrPE5xejBhJEFLdXI1XldAKXcjTD91 eDhOTG07bzY0d1U3dmBhJm4lTmpUIUNCQEo0WQorenFvWTRGO3g3SVlBRU51ey1hO1ZGJT5wPyEr TislZ0whI0d6aGBgfmlOd21oJkF5U3EyXkJsbTNWb34yUkR8NzA/Cit6PD4oc1ZKPmZSbHMhU1Rs ZlQ2SzRNYTFaKG8yYXo3dFZqSFMqZztkbFptYGtAcXw+cmBhb0p9WkxXU3wjRWp+d2YKK3omcWo/ UUZgNHc7PkY2K0gzRDJJaUJLVFZpRHIlPSs5ITt1JjZQZChQNT0pZUFIbHEoPUU8JHZwUSFrVnlP SHt7bQorendKYXRZaispQnZlZylAZj02aXkhYjdkZElWQDgtQ1F5LSNzNShURHJEZFZhY150YGBn WmRUIVJpTi1uKl83YDBTCit6QFUwfjE2Vm8qNWRNZUxCTitfYn13NSM0VjNVfnhOeHBpKGdzK1JU ISQ4NUFadlVkPHZMMEZUQlY7ckJvYmxvSD8KK3p6P3ZDJWluIzB+NDhYTXcyQzM2QHN9WXslYThE X1VINzU8ejNDQ2oqeE9QdHp0YWJ4fXQ9a0o+fERybWZKSG0tKQoreiZRMnJLJHpYR2xpd0h9JEg3 XkpfNXB0NHA2cn53QT95NHo4X1E+YU5qeDFMYXp5NGlfK2lGeVRgV2VIZmZ4UDw2Cit6M00jeyhS SnBRIUBhMDRjTSZSdSlMTH1CRFY/YkteX1hFKT0mJl4oZitQZ3JtPlFRb2lqRXw4QkUrdmRmaWll XncKK3pEIy0jNjVib30+QCh7TkZsb1JXR0h1Y1hXe04ydFE8LW1XKnlASGB9JW9MSFl3TlpPWGpB ZWBJRl5hI2Fgb1pLTworejk9QlZfbCY9R1pjQUdPTHdpJFZReiFUNjI2Nk1ld3lKcTFXQ3tlQlBQ MVVOOEBnb0dIRCgha1I+WFNBYVN4cDh6Cit6KFRXdHQtYGZWa3spWXUtVihIb2prTDM1M1AtYERn IXwzb2BucT1wMz58dnN1MnMqVV9oYi07WG9abXR4JFpRdXAKK3pFaiFpdXo9QU8rPyFTTlowLXFe KV4jMzU8RiNrVz1aZjgzeTZXamtZRU9eckxrUkV5YWxNMHcqNFVgUX1vfExKbgorenNTI3NDcWlC ajBJRGRfOzIyKUZ0cUA0dSVAd1BCNXhCOXFmUE92IX5kRG0mQ2B9NnsjMnFYYjxgd14hdSt6eXZP Cit6PHpCQDlYLXEkZ3srfCpobmgwVztSWGBDVC0oRiZmUi1saXV2dHImOWVYZVVUUGI3e1duOGde ekJCZVgpJnI4OX4KK3p4KVBackxgT05ZX19YSHJvX351cks5a2FrR1EqNXtNV3FlSmJlYDV3OD40 IW5NdndlNmQ8ZCUqZGFXNFo2YlR3LQoreldNfXdUQzFNKDVgWEYkfnFuTkJsNlFyM1YwfT8/LXpQ SjxfSWhZQ2FoM1VEUiEmZ2E/P3pCI2lPQmhsZldxKjgxCit6dFNNdjVNbClOZDB7U0hpNXM3fTV2 JnBjNHttSU15I2NURFo8WSM1NG85VlklJCg+emgoNFFkQCZfNVdyeU15QGwKK3pSYVRUd0omUmBP aiRUVnUwX0p+RD9iOWp7cFFJeHBXd3xJcV5NPEZIcTE5bjw+TDA8ZlllcCNLWSRqN2VGV2peVwor endMXjd0RksqZVd4bmBFanhsUi16QFE8QlVFZntRTzNmPTQtTWxxYlBVSHJoblZBVXM+Q0xGT289 QXQlJCtLXkhBCit6UWlOdWV4K2AkdEk5Kmlrb0xoclNCYDVveDJVJFRZQ2hnWiZHZmhIbCQ5LSQx STdMZEc9TT5UQGtZYWk2P2klOyMKK3okVFpZcCRWLXR3LUkmTFBlSjw7Zms+MzFoZSRjU0peWUNj UztAUyYmKk09YD9EZmc0UEBzPkNzV0hpckExUnxicAorenBjeGM/V2pzZmZvK0ljTU5UbCVFPyE0 O3VZaSRwNWomIzh5a016Mn5PZTclPmM3WkdnI2JtQ2ExbFFacDktcm09Cit6JmJZWXVDbishRHYt dTk2VFUwYXZkQkZQcHt3d3pVOCp+Mi1AZW0xI3xORytxSVUpYSN2NEBGSE1IdkRCTkw9a2gKK3pP Oz1xOy1OaFhXMDEpYClBTFNZdGBRTHMyOE9oaVVlJTBhclZXR2xFezxtJT1DT1NQbTN0SjBrSi16 PW9ufEA5MAorenxNVEUkJjI3NilSKFFXeEpwcEdwMmdxNmVgY14+RDYmb0QrRHhJaWVJdzF3e0Nn RCtTQF9DfjJxOCt7N1A5bCtyCit6azJ8ckhCNkw7MEF3JjxpcXdseFEhLU5AWUJqQHB5MGQkKSpZ UFN2YzdqTT9iWVQ0Y0ppSSE9QjdnYzUzSW44c3kKK3p3RSZQfTQrM2V1bWE8OG1SK2tpJCkmY2VN TkBebzIqWmJ7PDtpI3h8cnE1ZTVYa0p+NC1BQmJ7JmIwJit3Kj95fQoremxHUWJfNG1AY1ooKnF9 MypWdH4tYit4bU5TRVl3dWR5YD5uKUcwfXhPY2NYRz56VEBTN3R1UyV7KylPQHMkWjlMCit6OFht OGc9JD1+c2MhIXRLJHlVM3hSSUBKMXdWQVZtOEliaklXMHpefXptdmpqYGkrbzQhU31TfmJSViZ+ b3o9Pk8KK3o7ZEdESFZ8SSlVWWB4WWRjYTVvbkNeMXtqX0F5Q2QzYVotV3ZDSF5zOys+MUN7PlVD WmhvSEskNCZPWUl4T1hALQoremBJa0FnYUhwSz5UbzwxNG9USmEkc1pYOUFrRzUyT1pTXnhqQEBI TU4ySWB+PE5JVEZIWlV6RmArRV8mVFJ+N3ZKCit6KFFFeCFYQVdRcDA2JE87YSF0fHAmRSp+UmR5 d1BfMktHQnAoYV5AVDIwQEF4JFM/UylWaC07Nzh9OHQtYnRuSksKK3pofGw4fmtHezdwe18ob002 cHBXUis3eFl2ciQlPjQhVis3NHtFX2FuYXE+c3I/JG8+Q1JmQ0Q4QnFPJjJtTSZDagorekhBXnx3 P2FBJFV7cjh1KyZOIWsmJHo2ZiVWSjI0YGl5QypPOHY5LXhmOUQrY3FSRVJoS2ZmJnlOTHhOKylD fks1Cit6T0NVey1kcj0oJTQ3Z1U0cmBqUDY4en1pWHkwKnAjWWAmZTh7cjhgQlJEKW9SUX05Y1RO Zzd6N1U0PndIb148PU8KK3p4e1NfMkEmb2UyP2pLPSRjYkt0aW8ySWJmZFdjeTVHPVdVeTtiPkAo eGhFS2NCPXNDdXB1I2hsYCk/VFVUMkoyMQorel4jbj48YyEtJChsUD1CQUhLTHhaSF5xeVdlWDBX UHc5KFU0LUJURHxfRl83cC14NWE1QXMteWtebXE3UmtBcV5CCit6YDloY3hteEZPbjFObU18clo2 Qjs7RXkjXi1+KCp6KFRuJVZoKXRtbWh9UnRMYGQkYFNkYHZudHFNKUxQX2Q5fWQKK3orPFRONyg7 Nig9Wj8qWHJtUE9geGxIVWc1aGhDdy0pPyk0Xm9GM0YtZmArKjdNeXJDI2E2Mz1UKHhEKkZFJXp+ OQoremFUOGJxVispal5fLT02LXswMXFjVCF7VEohJHBsbit+SnI5XzwyQFB0UytxTFVVdHdDOFE+ TnUtNSU2fl5QenZDCit6bzE9ZHMrWlgySjBWTWBMR310a3oqPnYkNHNeO34+a3BqUGJ5LSh7SHp5 K159di02bFRnUzwxPmB2fiojdmN5V2kKK3o/YDRaVWlCcUg/bVlOOTk5WEFVV1QmWDFQV3dnS2B3 a19XS2k1RlVeSmhLR2tXYiFOVmxHc157VT1wbT9RSy1DVQoreldXZj1lYVhUM30jQF9RfjxRWnZa N0plYS1uS1NicnshRElWNFZAdHdBRSM7WTlVUkY/azIhO0xYQyVqY2MqYm8jCit6QG5XTnUhVWU8 dU8heEpOIXsoNX41aXlUTWZEIWhpXiYxOX5DaTM0RWoyVUFiPzdSX21yNEolSVBfRCkhcCNFJFcK K3p3JDc4VmlTc2JOXzxMeX1OMl5zfjBOLXg/MTR0MklgPEtjSDh3IXV1e1VMRkNNfTxXV0E4IXRC KUx+LUVFZFdpVworenJ1UF8xKVN7fVRAYHFDZTMrYjlSOEtaTWczPSlKR0N1bWh+UzU+IT4wSVFz U3BrZD43aSNOaDM7dDBrVSs1UFAwCit6TWlJXyE7ZyZRYjl9ZH1ZWHVYYXdUbnlZRUQ/I1MpRzh5 fWBmRH5eanQpeXRUOX4jaUxOIUx4a1VxWHh6cDAqdiUKK3pMa3JfcHJvNXApTStYeHNxU1JLe0tB IW9jSHhLQCErPXZSWlg+bTwrUXg3e3dmOUdyczAkYWYze31iKiEjSnZqZAorelN8VkVFU3VRKWNw USNMSUMqfT5nbEZMYUxkfGd1Rzd6Y2thO3E9dUV5fTI4I2NnZGR4V083S04hX1JTNElNYlpYCit6 YkwtZHZiVkFVfGIoU1IwR35Rem1UR15HNWkpS0NOMSp1PjNiUzwhIWhTdytlYklxP3luNDB1UXUr VVZmQTBgb2kKK3ome0ZCejI7Km1FWX54JjNCUXd8IVB7ejFzQyRCWkd7VTVEKE9DdH42az43Qyhs ZCpNb28pc3htWlg1eVV7PlJlNAorentwNj1MU3dpQ3FMRDxkJS03MHVNI2RAJTYwaFlnK0JvPE1H Q25NPVI/cHJrc0RqeyVWOUFHcGIxS3ZsX1diUiEpCit6JjY3MWxPY2ElPXZVKVl7JngxIUI7OWgl Uk9lU1FwOCMwbnokbCgmSlNUXm9vSmJoYWVCN1g5ZyRuenc3b0pRIV4KK3pYWD95VCRkPCYmUkM8 dUR4NG1NZXlaekE+X1pzWVU7M0VNT3k0M2xGSXF9eXlaLUwodGZQQnZZRV9fI3ttYmJoNQorej4o QWdRTyQjPjFuJFozZjs/Zlomcj5qPkElJCsrdzIxZUArWSZQWlMkNlI7O2czX1FEZVMjQiZ2dEA5 NHBVQmFSCit6dj07aVU0Rl9aQ2VuQWBjVWo1aTZBd0RkRWtKaTVsOWhqcWVWYnFQMVR2RVNlako/ S0pTb3tlbjN2VUozNm1UTTAKK3pnXlRzZUtrJT81clcjemFFViVTSnJuRlY5RUJ6Y2wtMFFBU0hg dHQlWjZNQXkzVDQmWkJJWEBzd191cD9fRkVUKAorejRVOUV1ZGNZYDxZI2w/Xj52STVEN2EoT0NU WCFZI0ZFfDZQIyMtbEU1YE94elJSIWg3eCh3UTtndlc1fkBaXlczCit6ZGNpYFZJUU1aZmRefT9G THU1e3FMcjxTPlB+JVVGY1h3bndTdGZ7Plp8Qjs7QkgxbDRTLSlXYThEfmM9c2tKRzkKK3owUlJ3 P3tgV1gqV01eWTxfdXAmO3wzalF6UkAxUk02I1h4V1FXX15QU0dERGE4bDVRd21KKn4zV2FkK1RG dXJOPQorenJNaHMyZzRtKDg7UUg/bDdhciFjSThrbDNidl9EdmViSn1PNDl9fTZxbEEpWGlpTT09 az9sKT44akJ0TzZ5aVpvCit6Wk9FUlhEX149Yk5iVDY0Ql5ydm0/MDkzTFZXSn5IVTBkSHApI2BD MWB0PkgoLU9iWUkoPjxPblYtZyFvTUMwXz0KK3oxMDhCSTs5NStXJnpII3Yte2lyUkI4el49XnBa IT1pRTA7eClEOWlfbDxQS2dgMFpVaSZReG8jYil5USgzJEUtMAorenModmQlSC0xfU56OFgzPHpN WlhxKG83UH0jZXNBYkV1PGFiMS1lcjxNU3lCc1ZpZDx9VHozVD40bWtZaz1pI0JyCit6X2UpaDFX UFdtQSUyKzxmb05Gbz5CQSleZzNCS2dKOVMtbiN1WVR9RCRFcnd7TmZ7VSUoYDMlckg/KC1ueDs9 RkgKK3pib2lQfTBfZEZMTkA0JiU9P25PdGV8bn5MKGh7MzlrSl9tY2VLP1k/ViFwN2s3RFUxJjBp fCV8QXlGV0ZrLX5jYworem1DMDF2QXx+QWd0Qz45O1l4ak93TW5nKjdNJEA+QWNyTUNzUE5vQFJu elZgKnZKQUV0JDtfdFdjV098V1Z2eFYrCit6R3E9YiZSJTY2Ujt4IWZwcVlSSWh4dWdQQnlmamd3 Rzc2Z2VvWkAzb2lASllsY0EyNmgpJExgb3cjQ3RqTFROPyQKK3pQNClPTEZEbm4xamEwVHlVUmZv MzB9ZWE3S2ZWWD9HTX1IWEZPI3ZMdHhoWSVURko8SGdkfVN0UkJmXiMpYUU2JAorenA8a2B5TlJx d0E7eGpMUihLYEZtQVM4KnglO0t1blQpVX5FSG83I2NOfkRfQCYhJWtqMTMwUF5HRXhJVT9veG8j Cit6aG5JSGVxWUdGOWh2QlRETjxhbWQ8enxNTkU3Vj1HSH47KCVfWUdSd0EjSHglUFR6Zjxwfld1 LWI7cXVBT2lQR2AKK3o+NFprOUkwaVNVQzdlVnx5MWlAfEQrXntfWWorb0cyezkrJCo5Z14kR3FI eUBWUE81RFZaPTF0MEp4ZG9uc2cySworeiVMYmlnel5MTyFuWSgqezd+KT5LLXhtQFRtNytBe2pG cXR+dGV6ZjJtKUNKN0ZUQ0hjP0d8TTRncE1ld21ufGpVCit6bkNscFVAbCh2MWNwRit3Z01DVHNY MTZWVTw0I3tURVRsVWBMZU42YCVpQ3RyY2s3RmBPcUIpMTB0OEdfTDhFNTsKK3p2UH5VcU8/VT4z PlRtUFB2YSghcDVzfjhNN0YyNFc+X15aXk5vfHc4aShNR24xNFF3OXlwY2dnSV8qUUdDI2x9LQor emB1MlUwQm9RfV94PkJhKXB6WmE/Q3gmQCEkPEh7R2BfT0tVVEMybiZiXlh3eztOSTNGd25XZUVi JiZOdnxJNzRUCit6ODBnWXdvVWdSUnVFKiYwRXdmZUxqP1ZpbihkKXJPWjRaTGgqUzlITk9nOD5R enU+cnxGSXxqYUNhZV4oI0RiTkoKK3o9P2x0P140Jm5oX2h0bUdgQWZ5LXRnOEJBblo4eF9YNVlh Uj00SHVHd1o7YEZ3QFAqUF9McGh9WHJidiVHfEEleQorem9YJWpnVjNiSXdCQThPLUBobS1xVj8o SHYzSFNeZj5PQEFjN1Bmanx0JCZRNFgmZkh4aHN4eGNVMW5zMUY/dmZrCit6JE90dGghfnEra3V2 OXVtVkFUaH03cGg1MkFuZClTU3N2eX0oQVB3NU5+P0QwQCFvWil3KiZlSUBJUGxEKkdtTk0KK3p4 cXRicGc/fX5fIXZBSTZVfVJfTzxtfjhUPG91cnx4QnA9aHkyaUdPK1o/KDd7RHZIPDVqZHxobnox IXQ0eEZ7YworekJEVjEjcEAjPUV1UGxSPik4NEt4NWw9N2pSISNoUm90ZmZvcWY9YkVwUnUyVmYw NTlmblh4aTZHY2AtKWp5TlFxCit6SiFFZUtOOFEpXm84aEJAPll7WTVEeChxN2kycF5hdV8tZSRu K1FQTGVPXzQrXztOZngtYSpNR0ZtemBZWl97RzMKK3ozfHZ9SlBwK2llOGJmeGxTdXkzKlYjJnpR M2JqeVZBayQqZHhRRSMwYDJ6TWY2PFBFVD9NR2RmKlNySEgtPy1jRworemFiJW9LPTdPXihFIWB0 aShNdFYmbiVuISReXz8+bHV9OyVCTDdVUnxoIW5VK21kVU4jSmszSVdUQl42OW04cjkxCit6ajAr R2J6Um5xYlNUJlp4cDBoLSkyaTQlZEtQJiFoV1RDRDUwfHZadU1eelNDP1cmVTlaTkB8STA+bHx2 dEtNSEIKK3pZK3RYUWZscHp5blc2O24jeU1gYTtASHQpVEdgNVEjIyEmLWdZTWwzbl87Q3xrMDA9 eGlURzE9WX1zbDZMWjg/cgoreipUQ0lBd0p4PXNaI1oyOzg1fHZxOHNAPWg2UU5VSTV8bzQpZ2lv T3UwVEIpY0A7T0p8a1pfU3V0OzAjZjgtXjlaCit6bGFkeDUxcGREN0xxbUY1KWkkOTRSOyEyZDRF eFcxTzlvUjlVWiY5aWN1MTIkT3ZUUnZjdzRoWm4hZHA+Iz5eNFYKK3oyXzFQTDNYZEFPU1ZZb1M2 Kl4xbXU3WXwrWmN6V1lnaUFKNXVwWGMlIWJEZ1Y1bDVLLS1SamQ4cTNMV30hejNUTAorekRsYz14 VnxzT007PnlWbGMmOGNrc1BHejhXZ25oaUhBWmBHK3FoMkRfUSFldWohQDZBJmVeVDgpOTZCVEZk WE9yCit6T08lMjU4YjQ0QkJwNUFONykjem50TDQ0djMkQ3NpKWplUD5oMH5NUnMofTJGY3w/X0N1 QjdPT28tNHkkPX59JU0KK3pJTSRadEMkWS1ad3lOKSh6RUZiVUc0PzZRcjlIQF5pd1lVPD9FODtN dzdZd3NOe3ApcCVSVDc4PntETnhsU19hJgorekdZJn09c14qb0pqM2Rmdz1RSFEwe3d7KU5JRHB7 IUsha0EjdHUqSGtFPnVKbGp4czFJdnMoIzxWQG94PHFpTVdiCit6VktHLUteR15IMk1QXmxkUDdg X1EmJTJxcWtmSGlmNkAzUzd3QCt1VitxK0tGKmpFYFghSmpVY24+ST5CIS1JSTcKK3orRlYoVVFP VkcmSHBjcGAkI1ZsLUZicms1WTNNKXIoU0clWU5IPmk9U3xsRWQtSGJ0VmZSUFQ7PDJ1K0AybzxF PAorekxKPHZhVCVkZm57I0FYPEBwckFgdTIyfCM/ajJhTTs7JTNuQEJGeT9DLTgmflI9YGl0ZDFn MG11R1NQQTs/bkJ+Cit6MHBpRG55JVgtQXB1VT0lPTcoPH1hOSs1eV5tPHczZWRVMEppVGB7K1RM eXBqUl5mRGF0VnNkfDNgSClDVEtQSVEKK3o5IWpaaVZkJWMrKllGSFlxSCMwcT9qVE8mRnZtT0Qj SDRSRk42Y1JnQ2dwWH5mezwoei1uRE5zezZ9eGFvYGQhZgorelVVTWBxTWkoJnBMcU59ZEs4YmZk N1JAKmchQXh+fHREVWBhSkxqVk1lRE58Zy1jbXVSKVdNNGNBPlBhYHZLQGQhCit6bX0tYDk3ZlNX X0gqOU5uWk9PZEFFPk8wJSVVd3hpalV4T2h5KFY4NiRiPkg8TykkNEM9YVMmfHhLP2R4WUdOSDYK K3ptbXpkYUoqUD1Pdj1zRz5SSWVnKmE0TE5JJj58d1NrZC1McnIlUyNnM21NfGktPCRVVUxxTEVQ c2NRfUkzMFloJAoremk8aGxSYiU3aDlAYDdYMnhqOyErYkl9Pkd5ezBAZWpzRz4hOGN6fHx3Iyl2 V20yaTdiTnF9U1l5bVJPMkR2Z3BMCit6NjYzd3tEUCopNU91TTkwM1crWiQlZipzYWM5amZTbCQ8 S24tfmBMNjt1TiZ4dUB3YmJmRFIwO05XJEhgTz1ScjIKK3omVypkKUY2VmFmd349ZFJjPGNnbFdG THE5UmkmO200RkZtbz5GNyt0cn50NkxaI2xJc1cmQnU7QEx2THFTMjMkQgorejtqT1FqVFlSVE10 Um10YnZebU1sRTcrbnkjaHw0UGd5JWdpaXolekJGX29MMCY3Q1FDSS01PVRjOUE1fG08KHIlCit6 eTRYJXBOaTUkQzZRWilJZWtgKDMteWNVe016TDBSOEozMWlMWktLYGQyVXpmST1ZPyhxOSQrM05h dzU+USNsU1AKK3o4MylOe1EwcDNXbVo8VntqKTNzdl5JZkhNWmdxOWZtSmwrb1R4MWpjNVY7YnFg eTxyNF82TXBPTTtxdTg4JipBVgorendOcStWe3NJaz9sVjQpOWgyeDxSQzhNI1JueDlHNzwpSzRv VmxoZmxIKXhVWWAkNUVZMzchKDZNKz92d2VuTCNLCit6SX1OUHRSO043MCpXKzNXfExtTTNeanx0 bnFKRlMxbmlqPXR3bkI0UGIpSFRjU1ByVzBmYUpxRHVHWj9EX3doeUwKK3omdDFvQEYqQENAY35H PjZEd3t4aWlwO1lPJjBZZDtydXwpV3VGaiN7cW1NOCFMKzZLUTtFdiFiJXdIcndadjxgKAoreiNl QTI1MEU7LTVDZkJmcG9VZ2U8cHlCYHspZiV5MnIoMCFBYldzPDNxUnI8eklTSU0/TmhkJGBYUnYx PXQrLVReCit6XndBPnY0TH5MVHtoYTBmRVdncHxvUnlXcWYrVilMJkBAKmxhd2RueGl6WlFWLV5t K2dSTEk9cmFfIW48big5VG0KK3o+PCQ1Z3VhMHdkYD18NDhld0p0SUdvcHp9RU5ucUxsaTsrbTRw LVpfZVNyYlQ0M3kwaTJ5e2RBIX1CPSNOPH52TworejVQbHhrNkclQ1VuTjtUWCp7WGwwJEU8ZlJ8 NFNJV08md0BtUkpqd1dRWXI8YCkoIX1rNzdRRUBKbGdue0xGNjMwCit6UCNpS2F8N0UybVFuRH1T by03YyNRbX1hK19DTVErWDF2fnRaYTllUDtpbW1+R30heXglSHkjcld3U01tOHkzM3kKK3p1UWM+ TEIoSEoxJUJme0xDbUt3RSlRaVFYWmVyLWVNNFNRRjJGR0xCU2s9bHBWJXArPWlDbmhuWnl7fmQw QXZ4bQoremZyT2FsPW1PMTd2bj81OzctfmplRTBvIUx0SkZzbzFJZXlsUHFRTW0oWjstVGIoOzhP bSlXTTFzbTdGR3tAUzhSCit6PGIhOUdZdnMxYCt8YFh8VEUtPUdRVjx5U24hciEpVU5mISQqWngp T0MhV25hb319d1o2VjJZeSZyVGloe3NjTnQKK3o7KzUheTU4KEE4TVU9M01nPD9aTmZ7MGNETCVn YUxlUnhZQjEzTSN7ODlyTk96LXJmaGRPdzN8KEAwU0U+aClrLQorei1tIzxPZEJOP0VNM1UxRGFo e1RnYT1zZGp3OGBCMkJwbSRJTHFJO2g1PlB5eD1IZks/PnUpRkZQeV4mZS13P3o4Cit6S0s5RG0m ekI2eXo9e1Q8al8rLUp6cE1iTWUoc191YmZHU0RMQGBOa0xjVmp7Nk0jSVdIaHgrLSlLM0puKSha UFQKK3p3JDYqM04yT3dEazR6YCRFQmFkUUpRRyZxcSUmV20yIVdSKUEyS3F7VEM7e2ktUUwkbjMz fTRKeyUwZCUreUZpRgorekg+Yjx7K2s1dSEjcWh6YFJhRWl3c0UkdyQhQitgJmhFP184QnkxYj1g bTJ6UD8jJXd+ZmxUOTwyZzI3SkhRcHpgCit6RT8rT0xuK2poNk19MEMlWEs0NENRU1A0UW9LP2No MEg3TTVGbkRKVDspY30wVDxQTXU2ZHBCJFUqejRpcFdmR3sKK3oqJDtfbUA0Y2JKaSNyRGpPeFE3 aXdpRG8kQiRIM1h1a0hfUUQyeURvKnpjTEVAQzQqWSpvTXFQUlNpaiVqU2orZworel9NMFdIQzR2 YjR5byQ8QWkjcGg5QWtjPTZ6ZWMheSlpZEV4aTk4bE9CTVZnTWhCSk8wNkJNd2ZHa15rYnFNSE51 Cit6Sz1KRDhxfGdxNlojcTYzKCtwNn4/QGxXXkxXb0dCKFh4NmVWM1M5d0N7RENpQTs8YHAzJXkw Uz1tKHxLcEVIOG4KK3pPLUdBdz9ZWkh2YmN8NkMpYCg+ajJ4Z2NadXZ1O35NZEZSb0NpKmtOMnUy RiZZeG54Qm5VUz9wNVJ4Rm5vMyg7KQorejRDOFhpcnFDNT9SaS1oSlIzcmM2UW00ayRCazZSJnBa cE9CI0J3Xnw9NSV4JiVSUm05WCR2dC15TWw1aG88aDB8Cit6am0pa3d4PiR7d0tpUT99XnlNMFJt Tl8kPDA1RyF3PCY5QiYjRDA2O0Z6QE0oaU95fGxWZX1tXm5QNj0wUzZRWmIKK3pJNUI4dT5HKDAp MG5GK0dtMWd9VVN8bldIREg9I0NATmJlWjxFZ2QxZTFpaTkwYiRgQU1pPTYlKVF6YEhEV3l4Ywor enZtYWRTdmo7VDZzUVA+cW1INFZhXlpDcDJ5V149aCo7aEExO35Oclo4JHhaKkpea0hPMUZFNXY1 VmlCKSs1d0F4Cit6Mk54biNIKlNQSCUxXlc1e3duMzhDWGIxN3s3P3IxRnkreHoyM1NIKzZmNm19 KzYxPD5pTHAzQktzOzRtKlN1aEcKK3orKj56RUxGLVZaT34xeE1zWShyVWI/I2s9SmZ3LSVfUnM9 fjs9NnVOPkA5ZCZldW9eeTEzMGpKdmlhKlBKZjdHRQoreiZ3Znx0djQzfTBgZkltKXFZOzFEU2BW SHNJMmV8WCloeiMrTnRsZnNnbnMoalFNZGNje2kyfH5NQyooUFQqZCsjCit6a2kxYCtSPW0xfklW JXBwS1dvJn5OMEJuWGBWdV9xdjIydTVQWko+USpucU9yaX1tQHJKVTxYcnUwMH1jbDI+V24KK3p6 UDhsKlo0YzFsbEFranxSMzh1SWFEeTIoRiF7M2FIYzk5I1omSWJMdmtxP1pvNFcpQVQja0BGdURz Rj0wWFhQagoremUyLSktUnBSZj5RTkd9YCVzYH5Mc05kY3dILWMyIWZsIVJ0QntjPnEpbHYzJkx3 QG9nZDJtMX0wQiR6PER3T2V1Cit6akFDSXFUYz1GM1E9K2JqNStPclFgMmxSeiFlfGglbEZnakZo eX1MbGFiKTUxI1NudnNVK2decnhjXzE9QUJRMGsKK3otXz10VlF+bn1JbERzN2RzfnA+fj5ueGlQ VFRGJDdEVCRtVjA4X0JTbTVUMlhOZCF0XiVma0RRezxXJGc4ZT5eRAorektpfFAyK1Vgc15pZnU/ V0k1RihfdXVZPU9sSUVlP1BnRFE/ST9aVlBKbjVqbTtWZWZ+Y2s+Pi0hS0h0c3NvaWJDCit6dC1m cm45KnR7eEs0WTJleTVmQWZYPzFsbXleOE5YT2ZqOXxiJDVWVDt1SEB7ZV5vR2RvJEV8fU1Ldjd6 MU5ObXoKK3o+MG1lRXloPG97UzFuajFhZTl1fTxAU2xgYStmZyVsQz1kU2RuRGdxTWpwa352ZC0j N2g8bkd2KmIwQHYzPzxCeQorek5EPSFebTgyZ0xBZFhHLTZNQlBkR2YpXyFPIykoeDUrPkw7X3k8 M1l5UTAqNTN5Qng4WithPDNVaH1kaSoxZ3Y9Cit6cGlrPWU/d35yM3dhcl9gKD1SQkJFUjJ3bzxM RmAxMTtMNGNnWGpxO21ufFQhNDNSOWZ6I2YoUlQrN1Rke0VxemoKK3puMDhXTlZxOzZnODNNWTJB TGRuelZUYl84dUA0QG1ge1BSQ3NoeXIkQHZeemVNck1RKykoQ25mVCY4WF9AKypBRAorekNtNkxm XyUtKHlPdmdOSDJBRitDYjxZZ2paRi1TdiNhVkxtQFMpa21zKkMpPFJnQ1AyXnY/YTZQO1hUMk4x QHhoCit6Q2FTUHFiM0M7SXgxZ08jWShjMiRhKSVpTk1qQUFfPntXdDdlSz1ONVdMUXhKRUlFNEEt bFd2XmFkXkl0TFI/WDIKK3o4STJweStiZU9SN05qJTRXOHR9cz9Jb1F7ejNMUXxnWiFXPU08Til0 KFkka0YqPXNwOEdldEhtdHlwY3txRXEkQAorelExP31aaExNUFF2WX5NZyp+QzlpJCsoVj13Ozd5 TjZee2p4I3ApXmB5IT8oTFJFVHhQVTE1MnQmVXV6Yi1WUX1RCit6NUp6aXpkUXchP3h3IyZtYD5m THFvY1IjcUNNaWk4T0RHc2B3eDBYQk9FSmBLVVNpSHteJmlxWERLKk4raWRzZ3wKK3pQRFVmRlNa UVlJI3o1fDJjfk9yJG9PPn4rT1IzdkRZfDZLc2h5WFB8RyVQSldHO2JDSzZBSj5UPUZaXkdNWkBO PQorenMyeFAkRWJrI1g/PHg1U0EpJXQ7bE09ajBMZlFJWnQ3fntNPTVmfHpDKE8yaXhTUEgkKGNM JUh4KTRpTD5uVG8/Cit6O2orT1NZdl85bSg5YzFeT3VGZjhlR21+bVBgfiVCUTx+MD17YWwmMXRv aWFjMWJQWSM7OGBnc3ErP3h3QVNpNTQKK3o2azZzJVo4NHpPanRWcGpgbGdJVmFXbCZYVHlmfVdp MnlwbCtabDtRR2pSbmJ4M0kkdmd1Ymk+M3d6UTFQIztTVgorenVOI2xMVHYpSSNrT0F4VGlrMGVv V2d4QUYpMWRsJTBDYWI8Kmc5ck02PlFCVTdINllTWXJUT0FnUztYcSgmPmAtCit6Vi1US2goMFBz a2BoNH4pMH5vTEgrIVluM15VWkYlZl54MjtzdU5lbiU7VldWS1h2eihKQSp6fWJEezxUeHR+NG8K K3ohQFdjfU8melFAYitAOTB8Sm9tYXpIaTI3JE8tfClMQDtHRVRfQ2stVHZxMnxhfjxWSWt6LVdZ PFdtXihFTjVDIworeihMKUlCUUJOKXlFdzBZKmhAaUQ+SFRARjsxKHI+cGB2a3M+ITttP05GKmJN I2RDTktgSnJxZTtQZkt8WHpwZmBXCit6PG5FZ3V1RE5YTnQ+P1JJYnE2eWdlb1B1eVVmQTE8KnR8 bFUzKjRQNDlEJm05bDd+YyNSPl9maGdpYjtzYkJNV3cKK3prSFd3bzA4MyFAU2srRUVVd2JAblU9 LT5gSTBXJGg1cnFZfEVpbWgqeElFJkNTRF8pcUpSJXFIbiE3ckVaIWMkSAorejN7NTIlZ2g7dmAo UnNtREZMbU1gNVVXSW8tQl8yZ1BYaWJDYVF5O0V3aFZsfGNXQTxLZiFufGBiciU/ZDM0ejtLCit6 QD4jbiR7T1E3Tjk3Y2VJMmxSKWdBJnomdnxJQyZBezxSVnN7SV9BYzFPMn5nZnRsIXhKUGQ1Q3w0 JjxAc0B0K2IKK3pedkZHQDZyUWFYVzRMfEJZejF5Mz0tdGRFPEBSWVkjVXdUa0dvYEs4R35hLVFx I2JHQ1ghYnV8SiVqSGZqTHtIQQorej0hR21EZGRSMjN7bUorIVY8TkdyISNMJGElTWxuMnN8NVE2 UnZZKlBeM2B3Z0NlNnEmMTYmTEEha01iI0ZfQm49Cit6Q31ZP3RzVzhpIU1LR0dsZm1BZXxpY3Nm PGFAbilRQCZqakJ6JUBaKWY+Wio0dE1vSmZCeFNtVVYmbWI4PGI5cGsKK3pBTGxrOXhCTDJTJV9P b2o0TGwhXm1jYjBpJTBed3ZlSFpgb2B1SCZyX0tXbz5ZS3NtKz5XO2VEeE1BKEkzK1B+QAorenk+ eEo7dHM/Zm0yJEdIflYpREV9MzQtalpwTH15MnItS1hFJjAyV3xlNylAb0lrdjNQJmVCSDNacU9e TWZrTTElCit6bVpVQkRNM1U0SFhqdikyPiU8ZE9pIW14S08kJX5KNSt8a29ObXRUMldtXmB9aih1 P0BqaShYN2QhJkNLVnEhdjgKK3pRfEFBXlRxQmslNSMzbzkxZ0EkNzFhOWlmdXYqZkUpLUtBcmUp eWFLRSh0YCZvelhAOC1xfENxP0s7SGBLcFp9fgorekdiVyhNajcxJHtqeW9IJnEkYHowUT87a0Jt KlF5b0w4LVp8XipQKCREfmZFcVJZbGxmVyVrVVZ8QmkjQkZKY2ptCit6T2opT3xKMVZ5alc0KSFL R25yMV8pc2wtYlMoJlp+NH1QcmZybiZ2K3p7cV9wKnxxKlJGYmU8SThXMUtyVjszOXkKK3p8MUEz WXBZbXIpKTNRVk9ASTl7LVpQelF6cDgldkA0NCUoPnhHQEI0dmExb3VuMFlsSFBZYkE7PGBKajM2 TSFkdgorenA+JlRYTnNLY1RCeFZudT8pc1J4b2gyWUg8WVc1LTd5TTJPU31EdHR0Vmg1d21fVSpH aTteWnwqLVRkUVc5JmFRCit6SmRtMG9uOEprUDh6akd3KkJheUxFNV44SVpfRj1MVjxzMiEmX0Fp fEhFaHcjNTEtVVRGVXM7cmtfdmhHUGh8bkMKK3pBb0hTdFIrMFZKYVdGPFdZfDVFPHUlfjdlZDE9 LXhzallKZUJxYEczMFZJZEM1RiNkfTRpaGpganx0KXBkN0ZROworenJ4VE5KTS0le2pTYCZScDUm NzR8az00K2tjNDxadEtPTkU7ckhIflE2JFQ2bzZkPSo4Kkhxdk5oUjRPJjxLLTtjCit6MCZgXip4 QU9VSkpgV0U4KFFqTz1xWG1tWj81N05RbSh5UExJY3xXSChOPCM2eyF6XlRqTEI9TEo+KyQpP3It UWwKK3ptaTAle24jSHV6RjA2RFRVYmVBQCpvWUFoQGlAdVZyMC1mZEtMM1BrYkplPlYrQy1eR3A9 YHNxe304Um5SJTl6PAoremt1SS0qS21XSSNtPWY1LTFnQyF6dGNsWTk0UTBrZVhKVFhGe05HI318 STw2PHZHfDhGYEA4IzB3WHM1cFBhYFIwCit6O2w+S1ArOHxiNi1xbUkxKXNeemQqamEhSmxuQF5k QSNNJm4qRnJrfV5IT35RPClhTGdTSHE1Yjd6RkY9PUhqeGcKK3o8RCtrczJ5PCRvS2BORXYtNmMo RygqTzUke0V6UmsqfDx0YW9CbERpIUtwe2VHMlVIb2xuSG40PXckeTBEYjw3dAorejtfU008ZVA4 VHVIeDYjazI4WFpQK1kzKFNOI1pnI0tldTlTU2dqdHYlWDA+c2B+QilFVWwoU05GSWd0X2dOMCVA Cit6KChea1A/QVFETDxZNFFTbmt3PEhJIVRub0FIU0t5Tmh5QT9kVS1tSjwkYj9qYGhUaz9iQUtQ QFplKThDQ0VlZlUKK3p7WTx2cS1YQkBqK2RKQk92RFhDSjBhMl8maGIpc3IxfT1URjFZKSUlcWw/ Km4kOEBeRiNoOTIhNkpFMVVoQFopWQoremNhdDlLXjxWNUImKyRvPmVFYj99cFFkXy1AcSs/PSh4 Tzx+TUkzOC1jaVF+VzNVfV5eTXQ2XzRAV3g2KThzVD9sCit6NHpvanQ0KU13UkhZTVY5azJzVnIl e1k/QiQlbCYzbGdjWFRNKDJibGNjQUI/dkVfUz9wU0d6Mz1sTWp0bkZqQk4KK3pNc0U+amEoezBQ Iy1DQTJ5Mk5yenJmRF5eV3ZLIWJGaU5wdElLbUY5SksmQjt6QU0zND94ZyEmKjkyVTY8amRZYAor eiVBMzhzbEZ2dj57Yi0kNWBXKiFzWVJAeSM2fElWTjVyKnc0UGJ9ZCUoZG1TT2VvKHR0THdEITUh QVpBNngzSnhxCit6LTdYd2xwV29KZmhOZSN1cGNxX1hZa3hpfVJ9bTkkaFBLR2xiPSNoPHYrTEst UGFwKmBsQEEqdGE+cCZ+ciFge1QKK3pxYlRHeGsyX0FWMEhicTVOSjZeYl9qdVhLXnRWai0xZTdN QT5xTTc/O3pLNVk0PF42KTxpUD42I0JRS1VWaTxYYgorek53eEspPjRSNFlIcjI8WHRtRFBOPzxh JXdseU55flVGbWZiVUYzNU8qSXs0SVM9RTImVHBjbEprUmwrNmcpOCRtCit6ZlRUSXl6UDJAdWZy cjw7VD8qKWtZI2p+UFMtfHUlUzF7PU1SKHtFI09qUFBuKyhTaEJTVGQlaDZGM1ZGQilXam4KK3pf alltYF80TDZ6KUo1bmpDQi16eXtefm5SI2hNZ317Zz88Z2tWRj9yPFVNdGNqSUZieztrSkZYRUB+ TyYrfWFlVworenJ1OGpyMlQ4KF5WTHlGMHdGb1h0Z1BrdX41dXt3eXZDKVZ0VlIxP0FsSmBLOUlz OFEmT0hYYXUjOC08Uk5ART9qCit6c1J4PypVVUM5Pl9DTmhkLTVobW8+RzA7KmJ2K19VLVVfNjYt N34ya3kwSyZoJj43Z244dkFMKSRDVmRXNUA1PiEKK3prbGYmRDV4SSN9d0spO3opVmQ9YEB5JCkt aXhMNkkhajZJVTA0YV9YU3Ele3RPIVN4eUlNWFFkKn5sNlZSJWsoWQorekNITSRlZ1YwRztaUDhA b09icjhxNFVwKi1vczNxREQtME8zMHMoZzAwJGB1ZXpXI0pFcGJEPylKaVpwNnBEJnZkCit6SW5e Z256ZGordk4hP21DaD80QWVaV0ArKnVaUGY2NWFkKH5HR1gqbWBvQHJ5VlNfKzA2QUtXfkR5ZV9p Pi08Yl4KK3orOFZ6WUhLTEt1RUc2cU4kbnxDcDgtJH02V0cyfEJ3ZUpeUFE4WGBtRFptSi0lVWxz Mns1bWYlKSlNTWZCWWt3egoremEtQDc2d2x8SUJtVWB2WmJiSjVDMTdQMlMlX0ZzYiVJYGJ1VVAq S2YjfTRWcUB1YkRRMj5EUWtmM2VMUTlyTlRWCit6R0hWSyhqKjFlcnkoZ0x2NFJWd1BeUUdRPkdB fnR3dzB3KipUSEokZGxzYFRkbmtEdmsjO1BDfk1EMCl+UFAjKXAKK3pBa2RMQSNlM1FROTYqN002 PDR2T0chdFdZeiVyOUBBfVNGNz55OytIRWhEZEdUK088S1JMMUtIMEtxTnt3OXhiKQorejdJJkFR VzA5SElFRTFQQW5lR1Arc0gwbktNRU5MI2VRVDlTMFQ1bFkxT3JjXm98aUA0WDNAIXJmeilLaiRn K1B1Cit6MWtEfUx4RElSd3NsRSFRPjtPJUpjNWR+Y3hTJlBFS2pHRlJISll6akJxMHsmOzZWQj9A bSlXNmB8aUwjaEU+P30KK3pudmkrblNzVjYtJjAoYmRgPUB7JDlORG1ye2dqO09pdSliRnBucF9S V0BgcX5KczEyRl9RYmZBRnF7b01PZD0xJQorenYjJWhPWFV5Ykp6e21oPS1jWHZ7TWA7UkFmSD1B KylFNkBJTytESXpCQ2ImemdSe0RrdiRCSGpMOHNiMCl3dVpGCit6PSkhT2ZqQXQqeDZWLW18WVV0 TjM9QEI2VDdSQylmKTVJUXZAYmRlX01JRUh7NSo5TE9mMyZsS2dPU355SStMUl8KK3pQQSZ5Y3hO YCZhZlk0cF5OTGpYbCtMfD85OVp3fVd6eGVqREo7TzduO19ibHBSbnlmOytHckR8RjhDSlU9RE8y Mworemt6YEk/JitlRkUrRzlmXk5tUSlCMmQpMkpeZEBOa0B7fGwzNWBVRj1RQiklSWkyYjkja2N2 X1hIM2o3VDIjWXI1Cit6VFhNPnpgeml+e0VWT3JqWHJhSjhGa3Q2MW1fXnVCamdvOGxaRGJRJW8/ UnZDTXcoQEtGaXRXfFllWUA0MFFYNmIKK3plKE9pLT9DdWJAZyQ2b2xULXErWT5NVlJ0cT5wNF5B WWByaGwkOUQxdVg3M2VrY01fJSskQjFiRyZyNGRiMnotWAoreitrclUkWXM5Y3dgd017MyV9RHhG Y0J2Rzg2e09iajUjN3xQTmZ2NUVjRFd9eHpRRUFJLS1eK2A9MCsmfExEbDs/Cit6RU9LNzBrLUhB dUw0U1hHZip5TWhtOGMrVkJOckskIyZSNl9tPzhQMGAjSntkOV90aDRKJGN3VWdBWEJNe1VENHoK K3o4MH43ZkREeSg5a1BefEw/TkBzQnRnfEMycjREPmFWNTh3ZWV5PFk1Y20pQ3smeiF7d1MyczVU U0pjQyp8TFZXZgorekRpbFEmPXJ6KXlQalMqPW4hPWY2R3xYIzBCYWNAfm4rJG1MJGFTOFExKmRV NWFRbGdzWjByfClkWj0oczZMO3s3Cit6N1IyVF9eTSlZWWNGPz5VQFd2Q0FeT0hhT0c2QENtPklG VT05Mk1LTSg/U2RPQT1KJE44YEN3UDhfcCpTNzs3JVoKK3ppWD1pajM3PHhPNlIhN0BNYDt9ZEZZ Ri1wUlh+OUxIRyt5IzN2PVhZJF9LbDc7Xl50dTd0Q3QpWHslfEwzeypHcQorenJQMSpZdWI8P0lD XkQ5Qk59czV+YDBnP0ZjKVpjb2MySXlfaHBtPHZgdVRDT3MtVVdHVz0zV1hsSnNVKEZ0QFAyCit6 PFQwMFNWSElpN3JjWndCXn4mI0VIcks3RWJqSVp6ZVhGVSstX2QqTlg7MW1ubit+XjF0c3JvcmlB JlIkX1NfWXIKK3pJT1MhOHRFVUAzcktSTztoYUIqcFNmTz0qT1BNc3VPTjMpSUVlSmx0I2VxI3p3 T0FBc0tmUHk7YlY5eVpMYHJeRworekV1MSZCSXIwOD9xTyRWVzFYU244aWI+I2ZgbilfamFpfSN+ ZjtfQk5jT0IpTXhrdDA5V25VclU+JXMmb2dreCU8Cit6NFpJPzxOSU4+MmIwMGVscUs7QEckbSQ1 N05OPExXSn56PX5UPXEjdGMmeFZxXy05SU9EP1l6dzRuajhMaCZnVzYKK3o4RFJDcHpyO0NWTmN5 NWg3ZVI1fkRMSlZYJFdtOEBTUjRaQFZJd1JLKWFjRUlNOC1CVzBraWZAbDxuP2ZHMF9QdgorelFo ZiozenIwWGFOJVpPYGY9czF+PD1YaWhEYDYoQXEyeVkkQGY3UEM2b15LNzxGeWkkPFFOaCN7Vk5+ NzteSHdMCit6dXxyfjNzVzB4SW0hJmYtbWNgQkdOOHcxaD9rbjNGSnFfX1NqTDBSYGs9YkA2YGdG cFklKk5tXzlncn0kKndPcT8KK3p4e0d+Xilyall6ZigmZkdxTVc2JUVgVEg5VXxkZHBvZ35iJUpR Pnc+Mld0MCMxT2UwfDEzbmBodkdgWXtSbmUrKAorelZ+MlB4JXAhUyN5TSRySlJ3PShOMHZMMCFX ZVIka1dseEclVzdkUlpNNnJjYUw/V0Z8NGQxVjJjKC0/fmUzWX4qCit6SCVURUdyXzZLTXpJX3gx REdlfT5DYjtJfiFBITl3TyVvcClMWHhTZiY4bEA+IXZzaHhWPyhkRXBzMT0wNjglYW8KK3pMJW5H OCVMVW5DPEwtUlYma0k7bj9GcHMoYS0ze3psem40SHpDeWh6KjAoJSVhe1NKeTJLfjh5TVAkWSU8 VTMxQQorenF3aGsyc2x8LVpRc1lPSCprcng3ODlaUno8MmNrOz43bEt5KTtLU1Irb0sza0VsJiM5 b09tTWxfMUFTRFRESHB3Cit6S3ZSX2pWTkMhPiNEZmUtbzI+aWI1alk1PjgtSSs8M2tASVJvWi1O UWFpRiYzSVMqREZgYmVqMVYlQ2FmKHZJcS0KK3oldXZNR2Awal98X2N+YG0hK21YTEQ8WD9sKXMw ZzFNYXI4e19mcGooKFF9MiUkWStNeV9MZllPaXoqbEElZ1RXTworemBVR2VReytWWXJNeVAhQjJ9 TmwzTnVqbF9kZFZ2QyZkSXlLVDVhPVFoRTJ4cyVKcUpVcHgwKnF5M1NhWUQ8flRyCit6ZypCbkND V0E9I0xwNHZeQ0lzVUVhQXpnP1ZCKGB5N3pReFVNUz9Ed0VWJEY5P1AlQyg3KGF9NGxzSykqSlpS YVgKK3o/fGUxbiQ/JU1aVHVQdVRoKzhIU1lgdjViSHZLKmZffilmSSt3ZnwwMiV6JmJFLXMoeHY2 czglRXlQZS0layt3YAorem16TEF1aiZHcGxQJFVmKk5IZXlgZzdtR2NWc210PkN6YX1ScSFsST95 U35DdiFkJUBCPzBiVztMcThteE1ycCNJCit6cjZuc1QrQ3toUFdreUZZbWZDQ0ZIRzxUYENkSDNZ dWM9a2I7JVQ4bCk/VVpwTyl6T1kzQWE2MEUkSHJQUTJAKTMKK3ptSGZtYlF6PTQ+RjF2endfQVRR Q3V2ZTVkb21SNEZtM1BpZmdlQ1EtYHRsRDRed1A/VC17MTUhc3tHRS1HJldlXworens+MExZJllY ZT9SPUtzRUFFVEx+XzxwOUFCPXpoLWNGPnAoMFRqRDdOJUFJJGd8Yk1kQUxuJTV3T2F5JUFAaUco Cit6aHp9YjtvJEMkUWNHUmM0Q2YmR0t5NGomfG1aTDM0JmwkJG5AWCtTY298T2tMeyNCa3FhYCNp MHhydmdrU1JNJUgKK3pid2FiVS07RU4wYyFfdWI1cEcjPjl5VzczYilmMzYpYEEmQkQjPm96JUU1 VFdyLXY/aVBpb2hPeDVzR051clo1KQoremFHMXxncDRlNXJRbHBwZm5wdXslMzVDR001Kkd4I0JA Pnt6QVdlUitRa0BIYVJGaGJWfEJKREFpanBQViFZI3xUCit6WlFGTTNALUV4OVpRSGhPK3BnTVcr cVVobGQqNG92S0kzJFo4MWEmQ25mV1ckbik2JF43TyQ3a2hCdFA7V2NfUEQKK3pDO3YjR2ZsdWZs UUJGIXU7Ymp8Mzx8ayUxeVFxVVpTYX19SjEjajhKMkdOeCk+K0ReKVFXbmc0eVN9SWlATihKXgor emNJaD5CWitMKHZeSilVT256QUt7ajQlM3ElKkhld2wzfk1lMHwtT1NPNTNOOWBTbiRsZ3hFaENq dWt8JEBgfGpwCit6K0RnaDN2YnorVyVvTj1VaFM9cGc+TlNnSiZlYTU5c3g+YVdQOX0wem1TUERQ VXRBdCkoI3NjWmFUeWV0PnZOO1gKK3pqe3l4amloPnZVeTloejdlTmEoejspKUZJUVVxT0FNaGdX amw2ZFFmTHA1MyhGLSomMChJZSF3IWZ1eCRtTztXVgoreiFAQCR6KzU2MHdpUk0rVFhJQGk4VGg/ PGRhazd8OSYkM0JGdlV0PU42KU9iRHZ2YD17RFF6dFZMWGs5QldrNGlpCit6Smk7dDFzfikxMWtk TiRJWH1Xc2MyQ2JiQUI8eChjP3lVbkFoQ2M5UWYoZmgpZXpMK0stJTZ5fEZHRG51Ynh2SXcKK3pi T0xzMiVwUkEoWFl0IyErTHVVdCtmVXxqd1Y4Kl9AcUJaS3s1Jn1JNk1MIW1xWSZ1Ozhfc3RoM3oj KWlzSENRVAoremM5SGJqJG82QmBSaTlsaXFxTkdxUFUzWkw0e198SDY0d14rR2FXMXpVfVcpaG8p I1l1ZVluVkhAdzlSM3FMU0tyCit6cmk0LTdUJDslJjQhcGhzIyhKbW8tTWNxNW1nPn4oNWJgXmNG ajspITx2NUomKW00KXNQNGl9aVdBfkZjbz0yVUgKK3paM0EkPGN0Tl5DJG56Vj4hcXN0b00pbUFM aD1tP157LUU5JUpaJGszMk1PTjF1VmptSDg9aW1pdXg+ajZuc0JxJAorenY8SmkhTFVlX2Q2b0JI fStFc3UhRnM3VTljPHZMIV9hekp2IUl3ZWwkQiEhVT5MY0U0K3t4aFdSM29SMVN2OXx8Cit6Yig0 aVF6V0ZoKWpkPzxhUUsqM2ohR3diP0V0QXtSIX1XTCVGdzFWSWZxPjE1NGdePH0pXzdfQ1ZyTkpE ejJBP1EKK3p7ayF6S3hLPS0hd3B8fi12NysqJm8oQD1WMXAmWVcqVk9xYl5ZZX1wLVE9cWdlOEAh TkhPcVIzfEoqQTlWeytCNworejgoI3RXVFZKfWs3VFRpajhmdyRxejZqNiRSTml9PypkR2Q0RStU Qy0ye052KXViPCFpeipfNntXQ2dnblQ5ZX5wCit6KjxKWGItK0kyPmFKbXVBI2s3PHVhTjkra200 fm81IWttYyZKez19WGpRQGRSbk5vXnhpbTQmaSU4b1JBRmowUD4KK3oxMzJqR2FoS2NYWml3d2xr YzliRVNtSHNCYz01NkNLcj41QiZadih3S2ZLSDBUQ2VeMzY+MkpJJE52akRTflBzVgorelJSI2FA aEdjX3FGd2g4Q3UqNCk8c2UhbW4obmNoR3V+cWVJTF49ZVVIYnp3S2hkN0tUc2tAeUEwbHI/dWxa ZiNDCit6ZWw5Yn5ELWhRdip+PWc7cS1KdFp2XlNfJXpHYVlDSSF+OWdnI1FfUGhSP0E9bHx9VE1u YFJHUnJWNS1LQGVHTlYKK3o5OVkzUXQ3TUt2WktjVGImOWFqKipkYT93UkM/TT5jR0ltNzUoZ2By WHVrUmczKn5WcXQ4R0w+fDFlTnNufHtzcQorej94Y0o5QmNkUkZpUVU2cGFQMDQjLUAxdWJXY3Ns dj09Iyp3JmZZdlhGSTUxVSRJNExFLXRAPTZ0KzR8VT9uZHp7Cit6bnB5bXtUTX1qQmc5N3lucjhJ aGkxJDVuZnNqcihqSE1YXit0RH04XkpgcCN6R04kfVBxeFhjcFo4VVA4THdKYm4KK3o/VVAzUEhx cnsjcyp4bjtvPnV4RU5DTztJeUBDJDRTeFFQU2ZNIXotZVdDaG9McVBGKysxeFpMKjdsMz14YH4h WAorejluSFdUak9yNSFxYU54YWI/KnIpclUxRkI9e21LantjTDtRYkJHO1pNTzFKfEVmSXUlZ1NX R3hoTyp9Tmd0Y3pgCit6XzByLX03dHpZazdxZkdBNyM7Q0V1TSFLLSZSIzA3anUzPEJsSlRIS1p3 Z24oMk1GMFNDLWtDR0p7KX1eaEw3KzIKK3ohS2BeXyQ5S30jMlUjNX1EQW9KfHlNZnhObkEyZiZ4 e2BCWDRoYlVfM3JJfk1nRipUPUtKMG5PNlozfCQmX1kzUQoreiRUSSs/Pjs1YzZ4bj5CMzdsU2xr TERLaktlOT0zbVBiPVJLMzs7fjBaVFRDY3VKfF8kRWojUGBlblR9REBBRGxjCit6dXwoN05qU2BE dDlzKD5WeTwlT0ktSElnI0htdjxScWtGJFB1SU8/O1piYn1iYVFgPWN0IylDSzdDOHA0aEpCNHUK K3pyXiU4ZmRrN2xPUnhrKiUyS05kQk9tY2lfNiFhc2BOSWwhXkYoPTxfR20wS3tAMCRXPDh3Q2Ij YihRPFRaa0ZkKAorejhGQkI8UT9oazwxbTlXTEx3dEB9MkkrWVBLTVlzSDRPbmlraURiY3lGeU1H QClTSjJvJi0+RnVlMFpvJHR+M0xQCit6dUhyNiMlazYzWnFMQTN2SE9SdiliRSQ1fVJSYjNudz54 WXwxPkVnTHBiSHlfQnR0dkYmTHZOWSs8Nkkmez13a0EKK3paWlNSe1ZAK18lbnBPfWFybVJiUiso PT1aey1HKTI7O0BXXzgkKy1kWSRxQGw4eipFQGEqIzNXWGNgWjgwVUFxSworeno8Tnt+eFkxQT9E Rk9aTzshMSZgdmV6cnU4ck9JV243P3Z1dEs9P085LUZaY2tfRmlRNn50eFliT2pvUz0qNV9HCit6 S2VzKn0tI2FuYj1JTVNfbWFjU2ReVU5IY2ozZk9HRCU+UXVCIT5sJTBrUSVJI0VHYDtPP0BmYVY3 WGtAIUBuQFcKK3opKW5ZK1R7Ml4oSSFaT2RUU2p+bmQmLV9CZmBDYzJKWFFKTlNCdkR+S2oqfkNl P1ZVbm1Id2M8SlNnVmRsJTImegorenJNLSNybVAzV0txWD1fSDR0TDd+TmVLI2ctbWxoTTxJa3ZL Y2JxYzxmc1ZJVzliPDJnK0A8eH5gbUtSSDlgb188Cit6eDlTWWRZYyp0KjhuYTRyM2dEI1chTGMl Nk9GQHh9c01ucXROKGtIKU0+UVQyWTE3cDBlQnV+UGlgKXdpRl5jYmEKK3ojckgyZEdEKi0pVXxe YHs4d25KfkY8LXRsaGx4T3xuZjshZylrU29mT2gkSUxOdT1QWDA3I1JBViYla1g2VGNKPQorem41 UVVCMnpoPmR0TDM+VkNwK01LTEVTeW1re2k5ODg0cyNobWpkcDF2SGREbk45RHtVeSMqZkxAT3F+ cGd2PG1nCit6cDVLQytDJkdrbiNWQjgkZDhTRCkpZmBlfT9rdnN6O1JMQSV7KnB4TzIxb2g/RiZF MVAxWSE2aXtuX2p3JDs/M18KK3puS2FlLUlybWw3OW9iNXkqMDUtQSk/R3VARlU9elkkanFmMXg0 ZmVqQCE2WmpKcjVYV1creShfeWBYMSM9MHMoJgorekNaR1NCYCMwNSR3a2pAY3A5KmBNYG1veV9E R0RSbkRwJEl+PDZlXmo3U2pMM2N6PipAZEk9MntxSEtLTGVneiEyCit6NT4mQ1BhR3w4bUpieVJC aU53ZkBOZT9ifFdQO1hYViolSi1HO0RUU1h2PCUrdzZ0MWNtdWgrSlNGJDgkd3FqYXQKK3o3OHo/ RmBHdTs0Qk9lJTRZTXtvQ0olcjFrdip7bmM3eWhgakA+ZTcpPm5wVjJ6Rzd2ZiFtOWtOQ1FyZi1h Py15NworeiUwQV84TnA1MmsjaE1VT09gQ0E8T1c2QFo1YF9sJG55SkApezcjQ3lkeWJpMEkrOGVw VnNQcGtBKWw2ZnBPSzEyCit6aVdZISFgMjZ4YW14e1d2anFGT1FTJiUheElfZEhUPFB7KmJKJShh e2tVbHVHRE1lIVUrYC0mblRLZ0o2VSQ4Pl4KK3poTVo1RStPZE97YzU0SzJhdSF2XmQ9KGJFQmkh V2RPajFwNXpTRkxeN0s7X2JzYzYqLWN5cTdwU0JTZEtVOGJ5ZQorenszcigyKX5GWGhzQm5AZEVp SkQ7TzcqNkZSaTNzN2I/eWgyazwybjV6P2pFeXN7NzJDaSo3cihLSCE3SyVYSHgjCit6XmoyTy0y UC0/bUM7KmR2IzcmVzFxZUZTR0RpLSNwMUFnYXxaQnpPdlohM0peb0pqMiFRZExzeUgoNXd7cWtD fEMKK3pVY2Nnd1Y2ZXFuSFo4PHpDbip8WWNDQiM0SUNzdjsjZWMrfjI4RS02MHRyZ34xQUVwdGBO UlQ2NiZxVlh0Izt+UworekkwTE9nMmdIMX47ZnVnSD87ZWQwZmR1VzdyUHBuTlokWE4pdWoyQkBL fippfU9SZ0h8VnJ7YUdyaTY5b1hVMDUzCit6N0FSOHtudmhrQUt9ek9mREc5YFU3JU5QcUgyejlT ZTlGK1kpb3k+bWtkRnNWKCt5X2dyelJRUF8lPTt3bVdNJWQKK3pKPDZlbGN7SVY/bUtEfHF5SWAl PEFKWmFXajZ1WVY4UW1MM3taYHNRayNjPVNzdD14a0hfS0hqI3BrS2BgNUkoKQoreilXd3crKkdr KHExRiRYPl5SR14mIVB+RVBtWj9iTWRWKyk0Umt6eTtSVWJlM25yeUZ3UXA+WUcrQmRWaVNALTxn Cit6RFEoPDdLWDBlKEszIWdxa008dCtEKSVtMk1geTMtdkhyNTBpdmQ1bUB9RmFaOyh6RSk2aX5R ODtaKzdPbStvUksKK3olVzs4KlJfTmBhY3ZWN2ViQSEkKF9xUXdGM1pjP20xQE9YQilrRVFfMDA7 Rj5DQih9IUhUZCY+SHYmRGMoe1UoMAorek12U05jbiZRJCY9eS1xeig5QmAwLSkzVEN5XztneEI0 WTc5NSlhQlVFRUNoZDQkbDJjX0QhI1h2VkJNMDJwX3xSCit6N21PQGYwRFdZP0RpNmdFU00jKERu JHdAY2dGSl4zITdnbkk1IVJUJVk8QiYjO3dhUkxfJDxNYklhd3ohbyNSR00KK3pxa3IlXk9KZnpQ a145JCNXb3FkZ21AdXxLbiU7I1VLUlhiNURvI0ZaeTxmLXI+OEI5JTV7KCVpO0NXRXgkRFgpdQor ek0pMHpRY1ZgRCgobWJPI25eJksoc3F5NFkzaHQwSEckNkZ2TFBpcmFYI0hCPzMzdDBpbFUqS0dS NGF5ZVJySVZvCit6I2sraT1kcFlaQz4hMXpJNXJLYkF7Nl90KkE7eVctVTtzbD44M1hNMktgdCle QExaVWpaeTNXWUJkTHVhJFRabjIKK3orJitiRmQ+fHxVaEpHeWFiJlVFOzVeMFA3SnVLQHE3dEF6 bD11UUw8cngoM2UxdSl1biNGTzNEez8qT0lyQEFaUAorem5zfmgpYjRJJDhqb0whMl90TjwxayZE O0woPjM+JmlUIyEzSXRPQXRRISgmM0YqfkJUe2hNWHxJQyU+SVJhTl9yCit6Y2g7V1ooS3hlWFc8 Y1pZOXtITyFKWjlaSFVPSFR7XlBVXy1ZUkNCKmRTZXdPRGJwaSpjNEc1blYhJXs9WF5gRD4KK3pP SWN5KyRZbCEhQ3dHUCRhKW45SzF3ZlpzY09gQU9fbyhZRF8zd3diJCt+U3VedyYhRWg9eClKRjEy Y0lPNytzcQoreig/ZCt4VWBiTColdmFYR2ZpQ35eOGxneUMtYGQlSXNrRlhhZGNIKylGTCtCR1NB Qz0yKXYxbGZPdXxJOXR1b2NqCit6Sj1IMztXQjJrSkUzRkJTXjJwZE9tdjhVPkEtZVdpSGdXdHd2 UnA0KyYhd3ZTajNebWx2Sj1OMERNITt6UXlVeGYKK3olOHNjd2ohR1gjOWteV2p5Jmx6PGNXbGNa dEsjLW5oJDNnVGBqR1JnZF5YK1ZwcUpMQkheQHU2d2IlY1AwezxVfgorejd2bGUten5VLXpnS05K O2BWcilSRkg7KmtJUS05TXskeW8mK2VgKW9wQSokaEJJUTFVcyZiWDskZE14Nk45KE4qCit6QzlY ZEszdzIxeW18X3olSks1SEthN0VfczsjUih7Q297amRQN2I8cl9EUzQ4O2c0SnhJelFPWU9LZlFG aXg1aXkKK3pTPH1DOXtqOyUkVyNfcFRmeGhfJWZaaGFhZipFUl5GJj1tZzY8ZFNkO2gxNSR5OThY ckdVfUtfWEdNRyRveyVOfAorek10ITBYWiQ8bURLVyQya3JeRzhrSm4/V30/UzQ9cFZlaFZsPml+ JUZqKTJ8ZExMUiNUODR2LSMmayk9SzZCZUFPCit6XnMlbV5DNytvaFBGbmVXcloxZXE4amZTdWdC Z2NScFo0YU1VdmhARzYzdkctM3pvdz5VQFVNSz5VNT5HaVh1TW4KK3oyTDk1QmtjNGlII2BBV2ty NlFnMjRRQHM1YzdGUnNwNzNFOWBCcyQzXjB4OGZ1TXJSVF9MZk8jPTB6cz0pNW5yKQorel8/Zz1T M2ZpPVRFMTlzdHdsKCtSPyF1SlVVUCF8WGgodi1QZX1Ib3VNZXFoPDZIPUFpblgwaztsOHBAcHoz dlBRCit6cldZXj94fCV3cW43TDQrWWVeVzg3JjdGKlF+UUUhPmNScjwjYXxEeih6bTAtR19iM0F7 U3t3eyhGPDdWbUE3NXIKK3pNUWZQJjhvOTtNRnFUcFgkOWBgPXQwdzI3UDJlbTE9dUQhNUQ4KlJA a2A0WnpZVjJ3aFE4cF98eVIhe2R4K2FUcAoremtnWDMpeCVgR1Q8Ozx6M14qLWVfTkh7cGVUbW8t VUwzKW42Sm1OV2BtUyRwJnBsTVJKdTNJMlEtemZVfTxEaEI9Cit6TyVwRlAlI1FedD5QaV8yUGtZ JHdTaigxRjx3MHEoWE5WMENPR3h8SypudFBDRX1KP3F2Mj4mPHBPaFBoMVJhTzgKK3o4PEVDfXdQ fXBaYm1QQ15DS2hmflloLWxePlp9PC0lNFBrYyh5fWI3SHhlMEBWdV5PPnFkN1N8Z3lLbSMyJW52 Kworelc9aSlkSWxiaGlsaDVfaiVObFFGcGxFNVN7I1Fzams7VXpyZlU/KyROZmRTb2BaLVckTHgw ZDxJTEB1I3h4aFV3Cit6emRDJXhOQXI8UmBueGcydj5WMWFyaXJ+Nlc3LVE3PDV8I3BRWERBKjxS fFUyeXMxLWR0QmRTOHVgUUx4VDQkVFEKK3okO35ReWVyLXQmQFVxM2hFTD9BcT1oemdYdmslfEB1 Vmx7SFpSey1nLXtCSmRKNnYlODNqdCY3VnI9OHw5fERLfQoremtIVC1hQHt+OyQxNDdST049Z0FM TEI2LTJxLVdTVmopeXAlcjxPPHhkUHA+fkFAWVYqVihTZT9YMEs0RWRVNm1qCit6LWhyKTg/O1hO YysodSEyIyE8PikwNEFecnduKzcjPnVDYihmfCF9T2pZckt0eDBIRCNOZSpNUSNvPlZSQ1BRaV4K K3p3QUU9b1lyR1ZZbjFKZHE4K2oqcTs1JT87NGNPJX1nNHYpIVBXJTVsTG9+b3xoJVk4SnJlZFEo MTJzYT8tTj1qUQoremhwTSNfZ2VRJUBpPTQ5SlJ+ciZGLUlTcW85NGApO2t6dDJveVF7REZOWmsh YSlaeTktK01XQ3V5KUNGezt2WV5ZCit6dCNWT1EjfFhGNnduUnNiZ3ByMCE0PyYqY2s8VFU8RDMl SDFNKiZPdyopKSg/dmFTQkV1aUg/SW1ga0ErUSVJLSkKK3o3T3g/d3RSdWVWTEVSZCktMUl1MFJY V2pAPk9lPkMxfTgobipaWm1wPkhYTX56UjBZViZYR0hEcTg0IXo8RjJKTAorek9eXipHMzRJbGVe Z3lAcVN2eTZOenZsUXsxTkFxYFh4O2ZkYFZsJD0hRFBCaS14eDk0TXF4M15JfD0oMzFucUsjCit6 YkRsRHdLZFMmJmlhS2ZLP0YmdVdYSTJKR0VXODY3ZzUxKCtfQFM0c2VISjMlSnFzVVFSY3B7Kk5t VFl7K0peWT8KK3oxaFQyISpBM0QhPCpIfTRfSzxWaUxxV3sjeTJxSlIraiFOXkxeUGB7dX1WRVRx ZTcte0t9fUVJQlZmNXNAUjxnagorentvdHh4YEk9e1o2P1ota0E1PXVvdlc5NSMyUyhWME5ndURe PjBvel9GbXl5cF5AZndgMWVvbGtKOz1BXkluU0o5Cit6ayZpckcya2VWPWV9Vm1IaS1fSiopIXg/ YzZ6JVghZDtZaDduVSRAKyhmQDFfKkB+WmwzdCZKSGRISVQxXkRvJjAKK3p7PTR+YUlvUTlMYVND S1RzN1AqSnJCQGVFV0x0N3l2ZVYhPyVqSEBOIWpPWDAmQFFPYlJjTFNxTzdYWS1MbnEyVworenVE dXFVUF5jMElYekJ2MXAtWDlmVjdye0d6YVZYYilQaCtSUyRRZWFMJSp0clR4Q2lsMURoMG9rZVZk azRDWm45Cit6dElTQE0oNTczaWpiKHV7JE9nfil2QFVsWkQmRXU2bD5ucTcoRSV7WlNpfVZMMFg4 KjIkbDJkZTJYSSUwbl82dXwKK3pDJmBnJTxsV2BNd3RBeW89UiglU0o9N1VuMX5YT3ZYUnlec1pK YGp4bSEpP00mdkdeTnZnUEMlS0hXUVUxXkdYfQorenZ1Mm9wcz9ndUlubW98fHpMNDQyOFg1bnVm ak9sbEVnU1QhUWhKfiFUU0ZpfllWYyZwIzhgX29lYzdLJkUxP0BLCit6KFNUfFpZNWR1NEBqYEs3 dU91VHwyWDMxNXY8KjQ0NDgkIyE+fkVvQ3NMOW99RF4xSjxuNTN1ITVsWWpgaCpLa14KK3pTRGJh cTlwRkJxRXktZ14mUU1iN0RlKV8/WXNAaFpCe2MkclojU09lPUxTVyN5Syg8bG5iRD5AREphWVpq OUhReAorekxDViVwPiF2VWh3fTgkTmY+czRtbEUhZDAxYjZXTCE9ZE9ncHR+OWg9enhNdDxqKWcm Z3M3SzYqKWQhKDdiP3ZYCit6TzI5OSN1QzFnRnhTKkNqUFNHVX00THohdTJ7OW5TQyhCdkxQLV9L emFSRShmbUNKcDRGeS07KXY/TG01alFNOVEKK3o3VjMjPVkpbUlSUWV2P2gxdEZNPHQhRz8jNFZ3 dkcrMkNqSyUyUERWayhKUGQlcSUjbHNGMnVHMm5pKG4wcEJHXworekAkQXpVfDB9MCl6KHV9WT9K QGQrMG5JRnctS003K15je0dmS0FGJFg+NEJlKjVnQW82OSt9fUxwVl5pNTxkeyNkCit6bmQ1cXp7 PCt9cjNIOzMkX1JiaEhPZ0V+ZXpaR3JEZEpse0ZXP0ByK21rdWxKck83O1ApcHhqKEQ9cHN9PXMk bTQKK3pAREItcmReaUFyKUwtIU16WVBkR2VUVi1JSnxFIyZJeGUoNWQtP3txO0Yzd0t6KXR2RlRE Mno5YGNLVEYqPVYqNgorekdHeXheNitjeFFucCVWWnF4cmg9ZH42YFMmfGlhYD9PdEo/OVpIRnJ7 dmhTI19CPWdERHxFKmlKdipVajdyWVRRCit6RWo9WkpNdnI2PW1YREU8e2c0SHRfLWtARiE4R1o+ QmFGWDdAZHE9ZnJoKEBAWGIkRT9GJDt5O15VfEdkYjFpVmoKK3pKJH0jNXp2JHhqN0Q4SmBKNCh6 SEpYTihZa3tYM0ojaHhXUFZ2SHVjMWBTe3pWfkBVQl5UU35MXl47T3lzWUk+fQorenxHPiRFVTFB PG5SOH17O2l4V0ZuSH4jS31LQGVEK29YNlhxayswcTMmWlNGTlQ4fjNIRk5SZlpzWms8QnkxKW8q Cit6KkM2WDg1JEM2VVU8P0kkbTB7V3xUMUdkRHUzRU9ZeiZNNEBVZ1p5bW4wTCFPaSFAWmdvaG5L N0ZrVXorXyRYVyQKK3o2dmArRXdOdFEoZEs5Z2hlNEpVfTYlTERuZGZVfUZpcj90S0p4OVMxRHYw QDM8KHdsNjd5c0t6V3UjJSswQUdDTworekN+MGdeKC00ZTNkKDIlXipuRStPTTJEazA2Qm4qRmdv UUJ6TntDP3FuMnR1JXFGRGN1TlNqdUd2KzlMWFZ9KX4oCit6YGxCYW5JYXNwbmBAIVNWKmhKdk9V R0dsUmpPQHMhJi0qMnYrU0QtalN7bTRnSThWTmQ2JDJqRjY0ZFNxNUBITzcKK3owd08xTng2ang5 PVVkUmVLQntaKWtIY3JwVDAkJnQkZFdITm1wQWlzME9NK19QPChyU2dLcGZAPD5RakMjYnh0Qgor emt6WDFCKW1qRSVVWDtfV2V3ckQldyNiK3RrRk5TV2x8e2NVOy0xSWJtKWRQemh3dk0xQzljOS1V LTg4LTcrZ0xwCit6ZFhoV3JVeFpoMjk9WCkzZjR+NkdtJjN6SHNOP3FXXz4lRkQydyVtYkdvRmYw I0QoTCNEelZsdEI+KjEobU0+SiMKK3pkRV8/dntLZDB0NHVSVXluTEdpOHZFRnpDc2ohRDY1b3kt c1hAM3B1Xj4peTE1c3FYR3Q8ZnhFWEZiUDVWK3ZQPAoremlgXmQ3S3t3N24rZHo/P1EqKVo9eXx0 YkQ3RGNjbmdSJmhVLVBaYkp7WVRxNHAlN2U0ZXA5ZEl1Yzh+OTl+cj11Cit6cXBXPn5GKCVMXkxa MXFfO2szWHo+MztffWF7a1VEZGhCPmdQWHlgc3lfVlhpNnN6Qk9uNDBEa0wkZUdXUXJqejsKK3p0 Sz5CQGJQaDVyQit0cndpTnxtNmspUnRzNC1kKXVITXl8b2hEWmM3bzxDMnN6JitxZFNpVj9SIW9h elB7cGJ1WgoreklKMCMyaFNDdXVtR1BVKDNsYiRPIVFqPnpuNHQtd2phQ3BVdW09eD9oUiNoe0dz LXMzPSg3b25yMHN5N0c5VFpYCit6UClnMU5aTilpUUFkKj9LTlRXa2JQU1FAXytKKFktYWB+YCVJ Q2ApR1ZybHs1fEV3YmRtY0o8OCNDPF4pY3xNeGQKK3pMZkZFcz49RUlXdFYhUXEoRCMwTmB+JS0m JlNUfmdMI35xeWdHbHM9SXA4ZUspO2hkRWZTM1NDZ2Z5bjNAeXNEcAoreiF4aWs0PDxybEB6bjU0 NT0rayRBQ004TTM/RWxkNSZPcH19I1A4fT0hNTBBYUZ6dHtmQEFHflNXXnh9OEJLZEBECit6RUdW ITxKRE9rX2IjOGNgMXIwZmtmVEhsaXRnNTRFSTZhOFNvMTw0P2lEcEZVSENoJTdJVXhXKmFOKVpo KCRFdUkKK3psUGg1QTleTTZeZ3MwPkpUK2lKdUxHLTY0YmBjN1pBQnVRRkRzKzxKQ3g0YWxLaSQ7 bFdYczRMMGAzcjl0YC07PAorenJaaFB4dTF1PGd7MVNZfl9+Uk9Wa3BQfTA8R2x4aVVQJlhVeCZ9 bygoPGt+JFZtSUBBMkVhRjcyb2VXIV92a3pYCit6I09JdFIrZ3Y/OyF3WT8mbTlUfG1zT31XZW0q ZEZtS3whPlNhKjltbFV9THVAM3cha2BBaV57MzdJSXQobFZpZjQKK3pHOWF0cE1PQ2QhSXRUZ0pV TWZvKFdmfF9KVXdQMnRLQD5HYHdMJCRpWDFQe2huWD5NZklRVyF3WjJANF5vNSZhaAorelM4WGdL TTYySm1LPT82KTFmJX57aXQ4KDM1Pkp0fTVJN1dOR3dBaXZ1T0NZJiYxaT8hOFh6PXRueEZ3TS0y ZGBJCit6cHIzdEUwS01paG5RQn40OEEhTm5IaSQ/SlIpWENePHNpJC0qZmNGayhyKlo1KmVmajE9 dikjUTxsdDw5Zl9Vd2kKK3orKUpiZj8zNk5CIWhRVk9vV0BXS3BQYyE8Pi1ZZ2lLNWFYSjhPa18t JG07eShlNzswYUR0PHRZUTJKRjN5XlRxdAorekVMO2RoNWsrMChhJEx+Z2orbkVjTXE/aERlQHBJ KDcrK2B7YHI/VXttaHVTdDF3NiZRTFB5ITklJUhGbW5HfDRfCit6azBxTFV1Z31SIVBGMitRN2gm dXJfQFFCcVZAT3J2bmA1RHdyPlQ5dGVgQVpON3NQKyNOcCVeKz5vKT11R043STgKK3pFMSQ8QFN1 OVdDQGRlI00qLW07RTFqYkphVmIrZ3hod1dKa1YyeHhvQjl1Yn11c3ZpNzhZPVM+ckR8TUh2XyQ4 QworenszcFAxe2lPbnhnIUlJJXEhYyRLXnhYdlgjeTlSIyY0NzFpZylQZWJrQDA+UzVlZUw+X0Uk YllFMjkjRHkoaG5yCit6eitIISskZzQ+RkJrYT9aYFRtTHspRkVXbWd5TEBEKCs/KitKb19IWTVB O1lNKz1OO212dWNjPHFFYTlhWGhlPVgKK3p3UFJaQzA3c35qbyFqeTZTc0xUdl9AcWstWkcmckw1 dj9meTk5S2tnJjFJTT4pVl5Sayt7ZWVYXn0xQVdpbylYSgorelJoYmVYS1EkR3R4WXcjQStBYEB8 MS01Kio0YFlMX2JUUHwwT2dVO3JCI2otcHMkPz99NXR0NTU8UCVBNWg8KTFBCit6KkgtQj8tRX5t UFN3amc1Ukg+dkUmd0s9eHl1MVB3P196cH47RmMkRSVjYztiOVFwLTdKIyhlXzBCR0c2I0ZJRkYK K3p0Kkk1cERUYFZzSXc+JT5oYEdhNmc4K3t2VmthUnt1Xz83QSpiUGBsQiZPTGQrTWUla1BIUUJF TUMxSVlga0Rubgorelk+WCZCWmEoPT1TUEJHSHtWKT92TDJOeU5uQT12Kj9yR3Y0LT0wT3RqfX5C Z1Z9QXt7MTJnPkoydmI5bDctd2d7Cit6Xk5+RSp6WUBUNVVPY2ZxRUR0SHM8aGJQPklrd3A9JHM+ SksyS3hVXzJ5NzQzWXklNkNLeVRKfEVPJnRuTHlyfSEKK3o1Mj55JilXIVlUPl5ZPVVFISp8O0lI fCFJaDhOPUNfSGNEbDJqVlcmczt+WmxBdEFwY1dRfH5eZDBTSlpvJmxUaworems2a24mQFhyakds JlFXVDMhMGRuemhPT0tkYFJTUk5nc0ElYCRtVlhPQXZoRUFlV3EqPWNRMHJsS1dwT0NNNjEzCit6 ckZtZmVeRnxVc28rQiZ1Q3lEcnkxdTJoZzx3N20wU34paDdxWkxlS2lxeUV5R2JNQ0Ykcmd9ZXU1 T25mLSN8X1IKK3olYldZdUlLVzdBaUpWJFo0Rml1X3MqKkpaPihmeFhXXnE5Zyk4RnApKn5PI15D UTl7UClJQm9+PnFMODtseXw8dAorekJVe2tTN15kalNRVUtKU3clZ0UxX3hDLTxae2AlZW8oczBO Iy1LO0RJT1dLY05iOyNJa2x2RkwxfW02ek0lYFd3Cit6dms8e1JfaCZjMWBnYnMhbmI1K3Y9IX5L Y2pyMjk8bT8mRUZPdGxzPDsmUGYkRFplS1UyVyFNPk5nVTZBUXBxYCEKK3pKQlkyaXl7VGxYRVpt KlFZSlhQI09qcFNrJlRJbkM1KylvSEFhIXApamdxMCZiP0VPS2hlKzxXT3A4Z0xEI3VmSworejFq JmY0YUcjNm0+a1BXSVgkaE9kWEJgYHZ5IWVPej4wRGNeMzZfdF85TXgxV2ZlaWMmTncoMFByVEFp U3pmKjd3Cit6MT5KOWo1ZXxecGZ9X2s7Nko9cz5HJmFASktJaUR9PGRufGlAM0A+P3JCbnx7VFF1 SFFeUiVzbXArJEJMUTw2eyUKK3o1YXBEZT5JSUhDKyg0VlBHQFR9ZkwkaDwjb2hyT2FXUHxhXzM3 RlVqMG1IUFU5TSpKK0xJOUdNRTBiXkJxVCUwWgoremAhJF5DTTY2MTlPM2lVRT1XXnk1RSRDeiR4 ckNFZEhISWJ2K01eMHtZRUBHWj9pUTZ1SXg7Q24mTGdTeW5oIXg0Cit6T29WOyl3T15kITNvJUBo aSV+OWw7Mk9wX2AhXnFhaG5UZWhMJHpsNkleI21tb29Sd2Vtc3VeLXZCQSRGcENUejUKK3pZUDh0 Y2Z5MHM4KnpnNFZ5Mmo5cEw7PzhLTzAtTlFIc3gtaCRZTGgxT01ZXisqbTxpO05xPjdKI2xqVDM1 YHBzTworejU9KTwxfExOQ0VJZXRIJkgoPGs7USpaSWVUXz4rfCleOUo1dnVYVWRZWStgPi1lVkR3 ek5JaShkVEg9d05oO0xTCit6OXs9UWFXczxETE1ucjxRe29RLTlpQ0t7c0hDZEhYVlVJdmEmeWNv MGJqMFdmdypJUlhDO2tydWlFV3pAbnJ6eWkKK3owQmRuVXojKWU2bG0+eD1Hd0t9SiZmcWQxKUl5 OUVwdjgtMykxUT82Y3Y/MVMrNz5hSmI+SEM2Syk0SE1oJVg9agoremRFeTdKVVBzPmpgIVk0V3Fi ZjZoa0xiXipURU5PY0hZZGtTejNJO1NXPHhmQmJXKyRGVmlyPkNrIVZjczROY0U4Cit6aGVtZH49 cWRSYCpHZzlyWjA3Q3J4PTs/djFAViV0REpCJH0/Iyo/SSplemRJentBYz9FMW9ATlV8YSY5TEFP NzcKK3pobHgrKEAhPisrTjchcitOQkpoKWs1TWtpOUhtdEBUcWstTFNuUmlVZmUrcXomb2UtZCY5 KEt8OyM0MnN5Sk85MworekNlIy17KFNpVUNLQ1QhJmdLZ01QUlhNUUU5N1JXJUFTOHkkXy1RekMp KVZ1MEF1ZHhrfEw1Pyp0V3lacUg4ancpCit6bE12eFJaRE0ybSYkWT85dzxiSjkyc19aMFpGYHhA bVdmOFR4RHtNQTdhdkxRVWBqTy1BSzVPenszI0hLUDg9M2MKK3pjY1JOenlhYDxgP3VqO0UyWEI5 bUR5WkNNTENnI0tLe2RRRXkyMiZJYzRLXi09YjJqa09FJWE/VyhfI3pxZjVzWgorekw0VV8yVCM0 U3hzPWd0YEgtJENlKkR+ODtXKWJid0AmYEJHTSUrIUs2aEVWMz9ZOGd1TjBZOzw+JkBidTdpWSFs Cit6ejs/Zmw/NmYhMWtpYUJ5WEMhfUBXQS01XzMjSjx1K05UOFRtMFBvKFMjdkVTdENNViRuNz9H VytXdzZwZWU3UjMKK3p6bEpjREYjfUgmQGNkJktReUN5czdPaHxncTVsaypkODMoKFpwMkJnLUJy RzYtOFQ1MzIwakpLejZ7aTNlKT5Pbgorem9LMDk2SjVrKlVTLW1kfiQtM0xVR1RINW9uSDMye0E1 NTVOdUBPODAqfT1ZV3pUcHgzYDYpUigmQGdHSEVPX1ApCit6YWQpWSllZElTS3MxO2tPQm1uMVln NDljZ3N9TD9ZWU9Cc0l2OUBwIWMzIzd0d2okTXcwNmNUcG16cDxmWFpBa1UKK3pwRllfZHR7cmQz V3RZRzh1QWp3JiQ0LVVJR1ZZMmtgbmhYdXJibiQ4ViM/ZChye3k7dGFfPE1RUmY1Ql9OclZgOwor ems3SX14amc+IS1XTmB+cD9HO1U7NCVRQmReVzQhMzcwZ2decDs0TD5FNlVrIzY2XmVQN0ZzPTBs Rkg+RygyKER8Cit6bXB5QGM/OHI2R2AhJjY4USQqS1BDWDxjeihJRE8wUTxhNX0qMnE1bVVyRjB2 Unt8UTVKdFg5VnR3Z08kXnV+c0IKK3pfYURodFdqP0ltS0U+N3JYRGAmJmhScioqaS08ZD8+QD9D MlV2dEBGcHBYcS1pYjZXRSo0aG5zbDlBdUppRlludgorej9EbDh2dWlodEdVV3R6eiEoKCl1UUVo KC1YUjdKPEA1NE5QPHhvXy1IK29gcG96b20hYilEcl5gRXo4O2o4ej8pCit6eD43UHNTelgtRSp2 YkkjamtzME5rTlFXRW55OVUmJXg7bHlkK150OVQ9dVV1bjBmdkM4cFM/akx8RjAqNnBlWjIKK3pu Yi10ZTNaQ2dvZTI1Z1RNb0VjcGp8PkNgRE8yZDUqI0NMJWd7cEl1dypGT1hqe0wkVnxMeHJDVkVx NSVNTnFTdgorekAyXi1CYEZrZ0t8Q2teU1crRFhuQEBoU2dabmw2P0Y3R05OZT14Rk9udEZpPSpE e19vdW41YUUqVDxFRlJ2c3l0Cit6JjZeIWkjJWM/bSZ5fE9kPU5eWGROJilpMksreXl6Zms+NVJp bk9qLURTKHVVX0k5KWRBPHFTOHshQC1oME1QVjwKK3oodSs9VjZ+I1NJWj93bGpaZz59X3BgY0Nw T0NoZiM/NFApdS1zPjFOMlNtKnhGa0pvS0xPJitlUHdIVFo/RTtTVgorejRZVzhEOEVMOGpuSkM8 P2V8Vj1IVEN1bnIyJlJSb1N4KWtZU0oxdklSb3R5OUJgTn5+NTlKVjtUOTNieTFqWVImCit6cGsj TyRET19ZZXNrc2xkZHhxVnZrUkZSQzlja3dnNV9ySClUQVk/MTEmNW1zaDJnSihtQiFhRUFpeihV NS14WlYKK3ozflRLcyVldCtzJk58SD9Yc20wYjRoN3dGaH13REVFaytQSXp5TytCTEVGNDI/WHAm aktucTcyUmdRPStGKjZaNgorej0kbXkqamVMVj5CRXN7JjtseDdLc18zfnQzRilqdU5sVjlFT0dy fSZLNUhpIWJIO1liIyltTmd2UFpTfVV2cHM9Cit6SzVBOHo5cTNyaDlGSFRSd2tPUFlQUHB7b2E4 STdQRDdYWUEkUEI4VWtPQ0N+KDlJcFlHajdSUzI+eDYrbkI0VVcKK3oxfUBwKWxMe3U9PHomJUQw PCl1U2NpZiorMGRCP3dwVlVBTzZMcXZ2aEVSSGMzMG5tSkZCZlQ2IzchNzVQNURjRworejNyVWhL ZTVtfjBoWVI/ZFd9ZiphNHZmX283VWwzTGdjSDN5RFJkbE5lUGgtUkVFb25YRHlPZ203RmxKUyY7 LSpCCit6MiMxIUBTczk1YWl6YXp4aFFwbFNtfEo+MXtEJGxWTj5RUG9qRFRAKSQ7dW4pV1EqbkZy QiYoUjNYSyFnbjM5MTAKK3pBY0tjdFNPb0kla3JNJSMpOzczIUM2b3pkSlRgbUxJLWtDTT1PI2hm b3w8S1NKMzhQKmI4IXF0U2Y0QE5iK0dBfQoremxnNWJ5KVR7fChKYGdvRm8tOTArQjJKcG5HTTFg ZVBBUVg2OyowR0JmZWlAfSZfTjNOZ35HdVIoZiFNKmd2TWdKCit6dWRIRHx7cVAkbWlCayY2TjZ0 JDZRZnJFQ199ZFpwcVpoSDhTPiM4Y0Q0Rz1zP1NrTEU7SWIoOV4hbXxxekNfa3cKK3pHRERibWEh aDdaOypUSippbzJ1PlBkX1hxYj1AJihIQD8wRyN2U0YzcFdZajd0QEo4YklqaDw8KDdufkZDbz9X ZgorelR0R1VxeG8hZXRsQG80bFVsMURXcFJqVDIpZV84SHFjaHhBcCpHbmk4Q3lOLWc1RzNmNF4w QDlFfDtnRF9xczYrCit6V3FJI29FQSlLVz4oVjNJPiNRViRAVWlxfmhnOEJ0SmRKbT9Mc3xge15W cU9gO3JRY183ODY9RkEoYEFrYWB+M2EKK3o8cytCTXJAKmBeVGl6VXkmUkZWN0lzX3o1a0dwVk9s fW82cD50IyVOVGx3cihtcypGTlJ0JHlHS2ppSmhrdjF1egorel5xQz8qN09Ub2pOQkg9MVJnZ20t YytSTW1UXlB9Zk9UQnxLSzM7c3NIYmpkJlRreTR2IzNQb2Y8d1N3NkVURFVhCit6THUqeTdlNUdp Nnc1cDImJTd+emtjcG18S1FXYDM/QXZ1NTNKK3Y1YlVhPGpMI31EdTlEdlYxJCpjeWtOcV5DP30K K3plM0lSNlpJR3M2ZUMkKkUpSD5WQjZQLXp4MTYmX2YqdldHeWxmaktOQGhtM3BoRUsmcERnek4k eEEzaHdsKiFqbAorenB8UEd0TDNPNGlJR3NaN21lTjJpdFNxdjJgck04JVg5Y30xSmFaeDN6M3p6 ZndqUUB7PmI1V2FxJnRub2o1bT58Cit6ckNyMDJ6b0pqPD04fn1yJmlfNHJpK2RXPk97UntYe0hV ai1IY3AocC0kZHJzJUo8PU1rfm9SP09DaEY3N3M4VyYKK3p7P1R4c202UXlZVm0xYT5BJF51MzxJ UEF6MnlvRyV0M2kqPDh8YChUI3EzWW40QkEjel9Oemo7Y15ZZTY4MTErVworekZxUDhTLXpJKEFH ckQjVz02YUxJd0wzSTtVe3tlNURqZk9yNXhhU24pejJkIXsjcWZWZnskKSlGcVhgS1RTVD4wCit6 Mm9KSUBYZmlLeXM4RXJrI3B7PTl5VlI5cndCWHdDS1BpJiR5dGg+PW04Z0VRXlRCKmhTcmlMQ1BH YXxkeENuaVgKK3ptNXEhdno1QlQ2TDklJi1VIz9Od3o9JnFEQUB6fGVaSEFhTmFKYUtkeFhhVCNs a0k7eTdQRzYjamRJLVRVIXhuYgorempyc1ZMRnl5bSFfRHFxZHc9KHpuZEB9c3B4VmhvO0AlVEZh WVVheH5GdSNGVTMpakNyQHxgJWkxb2hFNUlKdnJhCit6PElKUnE/YldqRTtxRHAxS2liZW1pIV5y VSY3NnhKSG5AOHghJSMtdUlWKm18JWN1N180fTFCJDZ0bzR2b1NZU0kKK3pncjFRfVJRbGN8a0A7 fDsqbzd1KkQ8WTNLYU9gcjRiOWhuQTMlOVdgVE9eMldjcCNmOUdtKSFUZWkqRkA2VXVYTAorejNC Pzc/SipyMTw0QVIwe3RSamkkbWU1ZTs0TTEjQU1fIWpkTmJTUDYxLW0tZnJ+UTcqczVqJUUtXiQp KmpgYSRNCit6dzhYYjEmZ2hWMmRtLTlIX3dgZi1PJntNSipiR2gxJUFVMDRjWHJra1N7Zj16JENh SWEqVC0lOWFtOD57ODJhZ2wKK3pfNUtHYDkoQXAoJntsSmJ8MVcwT1FzSFJeNVNoZCZgMSFJb15n S0VYbGR8VWw+KCV3dFMyITIlNzNkO1FncDYwYAorelR3QjIyKHxJWlhqOVlCeStqTyRwJk1YZz9F e2xxSHZQa2JgQHhDaVZZbWRqLVVzMThDWUZiSW4jS1k0JkpUY0czCit6T1VZckFYcHxtakUyfHw1 KDQrSF8mV3Z8LTE3NTN4I3w/Z2A2RjsjVHRWR1kxVzlJSVR0MHs/aF54UGpGJiU0UWQKK3pSYCFZ S2lwKjtwcD9PXjFedkAwZloxWVBfQ1RfNStwXnQweGspSDZEQVRmR2dWaChvQkt4U3piKUFmSXdy VEItIQorejNUZj1gN2YjVjE+U29KKldfQilJb2ZnS1BabWk+ZiROUDZ9fDhvdG11MV5zO3skK2h2 U15tMjsmJXhOdiFQeFApCit6WjFfSmJJITdBVHdnK3Y5LSNOUGQtMmAhMlB2PT1wOCRlKFVyK0Js VmFIbl8/K2hgKjNVPllNTyRYakN4dlBKOXsKK3pKLV55Szc+ViNBM2lhdSRXe1B3OGFBfispY1My SlI9NlVzO2hsV1c8bXFEOUUrY3AkbXEpdChCZENFQncjfXV5Xworel9Qd341aHA3SGgrO3tKVk1R STBEbWxwR0wrNmo8dnFoU3xTXzZZNWF7dDZ4RkhRMWJWVGcjZHRzdXFMa0wmNTJfCit6aWZ2cjFJ fGtHOUleXjNBeXJQZSgrTD50Oygkc2B0bnVYcFQ/O3I0WUhxOFYlPyExTn1lfWY2OzAqK2hqYm9R K30KK3o1YVExUi1LfDl6LTNsVGgwVGohNmVSbXpEO1BENWcyblhnLUxPN300ZlRRQkp4MDskaT5A QWNSPGZhNHYhdGt7Kworei1LRzJeVSR8d34zQXJBKEBfTmVANFlGNVdfYHtNTmxCfi1nfDklJURh TD9fQXc+X009dEpeXj9mVHMhNWEhRUQ0Cit6RX45QUtpLX5SOHNVMVduNVgoeUBAbktWRDBJN1h4 N3EhX3U+KDJqKUx7fjBkSEF+dmh1ZlVFK1BLekBhVjRhK3QKK3pqIT1qb2VqTWhpaSN5c3ZMYEF4 K2dqZlRRajhoMnxlTjJWMyhQLVVXOV9faVA8X0dAezB0OSp2Q1dpVzR4RHxAJQorejtyM2skVGs0 NClDaHh5d2RrfkUpTDh2PD91aChnYUpmP1EoX3hmMHNDMF5fKTdZREd0X0w5cSROdyYqZiYlVFJN Cit6OSZ6UUM1Qj49M2IlOz4mMzsyMlJOOyVtbW5SYXg9PWJxbWYqNnc4UUU8NDxxK0RnVmRzfEkm SiQ9UXc8WnVOKVEKK3pxV2k8aW1HcXN7PyhvNiVHSEM0VXRRN2I/QVFSZ0xjWVZAPl8kZyp2UWsj IzYhflQ/LWgmZVlwakIyYkRXP0lMZQorelphK3hgY21HMUliQVFiSjhoYEY3UlV3TU0yP3o3X0Nj YTEqbnNjbXxXN3NoKjhRNUZzPX1FbjQqbGk9c3RYciErCit6eXI0e1p2WmJISlkmczNVT2twPFBz MlJgK2ZVJW8jMG8yOXlMTDA8ZjRAMWI2cXUtRj0oaGBCaFMmQyhzbH1ebXsKK3pHUUlBfGEpWkJH e3d9dFY3ciFRYDhUSVp5TiVaWWFhfjc1MVNpP2FRbEl6eDkrSzQ0bGQzI0BZTmE2OVorRXQkRwor ejcwZWxWZmEjc3tfQGVJbXUmRFZ8UnRteX4jRDY4eWo4djAreHRhd19vP24hbE9Sb01rYilFeD9R K0l2Z3lOTEU4Cit6PGJ3R1NZTyp1Njg/OGM3emh0ak1KPS1obE5FQlhMJXlCZC1lO3twNjclNTI9 QldmZGZKazZOU3M4YiFAbHMoO0sKK3p7ZkBaMHUhfGM/YVRPbXxZQElQejtMaGUhO2RkKDd4YDl4 UjFAPHp5UFd+Vm4xKCppT1ppYD5KO0NiR145ZV41Zgorei1weypZYV9UPCUtbVVZPT9fQTtrTXgz aEV6cUVPdHZsfHtLVmI/T3IwKzFBfWwpXj40P3NTfU14ckZuc3hlTz4/Cit6SGFXYTVeZVEhY2xE dGEhNDdrcnVkZ1lCbkhFOyFna3pEcXk8LTMzbHFHTkdPRUtfbGpNfkZYc3J0VFpSXzFiVXoKK3po aGVIO1ZxTmVqV2JMSG0xd3EmbTF6aTJTP3Z+VWJxRUlpQz1ZdD5XSD1oaUBgZ3V5b1Q1PkBTWVRk d21SeGc4QQoreik9KW8hJHwqPVErcWJsbFRVVkE/MU9wK2ZGJVk1LWYkND5fbGJeeU9lYVJVek19 LW9+Tl44bndGZlRxJikxUlZ7Cit6NFJVa0IkUDV4Pms8YFJYZVQhJFo3Q3JMOXhTM3crNV9rU2Jv eUFkcERwZW07QWlPJHwkbT0+WGY8M2d+eCgtbDwKK3o5YjM+cTlDdnBwP3cyQncoc1ZJPVBlPk93 bGwqUyhpKVl6JFAoflMzMUh9XnQ7PUxXZjQmXz9uKEN7P0cmbTFRRQoremlMITt2JChlaVR4RC1S MUM2YyR4TjxnJk05RHdhbXk3d3tgPW8jQUZsbjBILV9jPClqMC0oNkZGYzZ9dWtvS0lACit6M2ZI QVlWfGptNjZNenN9WSQ4cG9NYCFQIUhEKjZzWjVIWTNJYGJKKUI2aGB0QytrYzI5PDB0aDJYK31t VE1Ne0cKK3pgdUwjSW9DSVNkdVhIPVFFKHE+c2pQRjNUSFJEQnFzcSRybysqSi1eYUVrZD93PVBA OXhMV2t4P0V9WGloeENgJQorekxGN3JHOGBVYmZLRiN9NTwrdUR0amt6K0hwIXsqZ3lJOD10c3Q1 QEJ0Xj02ayRFJUwyc1V3dUpLI3xWKTQ5QVJ2Cit6OUdsd0RITH42MVVURUJucX1tSD5ZKCYkKU19 cU9+MiYkZ0F1QnNKfFdNbHBXa3lfRU4lODhZeWhPTXI3KkdfZEYKK3pha29AcXZ5MzFCI0d7UGUm O0VKfU0wbylsP2Q1ZUI7S3lnKzA5KX1YUVlVPzwmZkxZWGhoRzRuVmlYQmRxWSk+RQorekFXRFFw MkVYeXFGKiQla0lFSTlUI1VAfmpvZy1BIzNqQyRIV203dz9DZVdLT05ERlJ4ezE0K3RvMGxJVXB7 QjR1Cit6a207bD5GI0U8JFAmJSMmQzdGLSE1X1RiR3NXVFJsJSZjSlVLRnxERXJPTDtRKlJASTw/ VUxoa1VoJkVgNHglOGwKK3prVkE+RTs2XylCO01PcXNNTnYzKiRoSkhPZCZHYTBTZnkxdVoxc3g5 TXs8RGYkaTMoPEgkRjhRNSFuNnd4JldSZworel9jaWYtVXpVNT1uZmV9RV5qKiRZSkdYaCMzbDwz QG5vO1hxVmFRZGhBe3x4YlkjaVU8U31ZMjEpRm0xUntKYjZiCit6cTtSNEMjNWRiPi1Kd3l1VjJT O096JEc/MVIlb05wR1FsMDEmRzNtQnNNa0E4UHhCVG9EZz5vMDV8dXRidjJgWEgKK3pJOyo7S1lY NFFARGFSayRnRlR0PiNDTUIja3tTRlVwYzJWTF9xNGI5eH1gYk56b1FNQ2RkVzZpcDxEWlIyWmgp ZgorelZhJSUpO1RSXm1iS2QwM3olcCNOQVAmUlNRSiVETEFaYHlkNHI2cGlGUTwxalduaGlCZn1w JSRCIVJCXldMZ0tSCit6K1E8VSspMHV1P00jejBtLTVoezI9bT80a15eYUxWNUtoUnVic15kUl9r K3s+VCVnaig7eyFqcEcxPms/QmZTQ2wKK3plKFcja3tycG1DZjhoPkZhQG9IXnp6dmlRPjNTSl5z Uy1qIVRqZ3ohRHN6OVZpbjlHPXR1cjl3dFN7Mz13elZWIQorem9vI2w/MEBhb0BJcEF9fUQhWENN PEc+YTdMX0RGI0w9d30mSzxEb29ia3BaPDV5UzhgVT1HcHkyXmF9NUBxcGFTCit6OFJrPEN4LT5j Uk1TdV8lNU07VXlUKWA8V0RyJSN2TTskMmNyeFZ8eWh+TWg7clAyKWxRdThJKj8hc1YtbnhIb0AK K3p8SU0remM8S3FfY0RKRnxEdz0lQXdJJkt1QyFAY15GTV87Vmp6OWoySSttKTEhYnVUKzBGZEIk MHUjQU1EeSVDUQoremJafnsyNVA7K0IqeyVmJD9meUR3UmlsO3FtT3lWRThxUjFhbyp4JG41NUVZ Mnh2KGYzI2FrcnFebSRzWlJoZ2dhCit6KGFedStIU0tiYnZsYjI5JWdVTWFeRnhSQHRERjt8QU8w MzFSJCljKW81RioqZ2A3b3BWSUVndGczaXooSSkldnUKK3oxKTcyKEVsZGFyNG1ASGdqRU9UMkxq K2E5VFZKVldtXlpGTHV9JDkkUnxmMHsrTXJtQ2FUQWhCQCRFIyNrUnBoIworejhiViZoT1pYUyV0 dGxfdS0la1hoMWM7KzxFX0BNUHp6M2F2OyRva1EydndBLSFLI1pEY1BHemNwWj9BYmBjY1NUCit6 ZDVMPGp5YG8leiFfdk1wKkk1PlBwVm9KYCVGMFVBfEJnO1MzQXZhc0o/TEw2czZzS0NlTUFVbylP YU13LSpWYX0KK3o1T1Vxa2JSNlFBSFEzN2ZOTHwweTV5eEdsNjVHRTJRVmUwfmZiP01FX2xsTng0 RnJiTDw5WEl3cFleJnFeUGBFXgoreiElYmxCIUhlaWhiP1BSfiRtd2N9e1BLQEdrayhaNFB+cHEq UylvX1dgT1UrbihgKENfT3kqWW1UJClJdzZDLXVDCit6dzgxSDlPTTNaZnVKNDFZIV52VVhRRW0x ZiQ3Z1hsOTs0PlVaKj18Y25+KzQ2K0NxKXZTMWBuZDFzZFFBNTZrST8KK3pyVGJENi1FRFNtYVcr SHcqRz0+fmJRJnwmTV4hbHppQkowYHc+bGk9VXdXdzh0MlNHdV4+JUwpWmxeUTQ+cjdmcworemN7 eVloU2M3YjY9VHI7dlI+QGJqWWFgZnxxKz83dSp6QVF3Qz96YnZYNy1FUD9uJkMkRjNgKVEhTE5r dUVYYHFOCit6NGkzUVZIPHpDNTZpTT07KTRuSitxKmZZOHkyPnxZX202fEFqMmt+JXBFR2B3bW97 JWYqZEt3b01fTWVwMF9ZOE8KK3pqbV9AfShRcGFAWlloQVArT3pFSipAbCh7UitXJSt1V2wpO2Vk UlBsWlhtUzlFcWpWQjgtQWM1VFZ1Ul9MMHN+XworemYweDx5PER2QUI/XjhWI2d1Y0lYO0V2KkYy MmVTJUhiflJZYzsjNGc0MWZne3okZzJFP3gzSGJ1V3omPTAwNWtiCit6ez00fThjbCZIPjw/PXRi JiVZVEBqK3ZzIS1gYyp6P2Y4SUo+R2NiP3ZSYl8hbihZVWVWaUwldkNGTkJHJXZufXMKK3o1RU9h cUlySENGVGlPRGZ7ZVR2QChLSFlCQUQ0fXV6WlppODRqeEYlcHY+Q2xFNUdiOGNEIWdtSmB2LXs8 U0hKJAorelhyVkd2YnZrVlZpRFgpRE9kKk5rJEkmcHV7VH5mb29NZj9aak9iMGpRcCFyWmt9flVf K14oKTc7dFFqcFVGMU08Cit6UWM3a0glKCpONCh2dzhqUk1xSlhlNnJMO19VV1pWQD84c34mKiNK VlQzfktUbzYodXJuNEhgcWIlUWRmaDE/eCEKK3pRfnRsNk48JWpsO31jXlNFOWl+Njlqd2JkWSl+ MypUWSQyX0o1Uzh5bCRAbmAmbkxSZzArV3JNJEk9fWE7aSEleworensyPHorZT97dTMweyF1TW55 RT59YzxrN1QyXk1xZHhyWC10UkRGVzAkQUo4Wio9dDgkKCVyWCZ3NFhHV1hXR1FZCit6VjdCcHUj Q017Py09JFQ1bDF6fnBkYEFTIWszXy1reiNmT2YkWFNpdmRGQF48WDF3LXVaXj5WQFRYeEVTbnJT ZT4KK3o4ak80PE8lPSRNbk03ekowQ3AqaFMlU0o+WSFlRDJ0KV4jV041Qn0ydW5VQFd4RWV4Szg5 IzhLPChwPEcpWGBXSAorelkpZ2BmKk48RW5LS0h8U0UwV05OZD8/entBKExDSkRkLWxRPXFadFdZ WG83IVRhRENRZ0pnRX49LUQodV4wKk45Cit6c3BELSEmN3xDPjxoUE5OMFBVSl9CVE17aTtGanN2 ZFlKNCsjeWU9O2dlTUhjKUdPZDliY1p1VlFiN19WR2VSOEcKK3oxNiZRKmd5OFEyI25NMGJCbXhB MnhlTzM2Unw1ZyE0MURfJkdRbm1LQVl4Pm1LdjhHTUFFalQlYjA/UmpIYkQhUQorem9yKUp7NEFx WClkWmR7TyZYZTloYiVaZkpiYzJvOVFOWk8zYz5zPWNtTCNZXyErMEFjM3l2ZypoYEBsdEg7Kyhu Cit6cmk+K0c5PV9jVzt8YShGKX1CY0wxQGZCfSEwJVJ2PW1zNXVEcTdBMTQoSGRRejd1OU4wYzdR Mjx2dHlWNSkmQFEKK3pOYHIpVj8qSzYqWGttVXZhYUlGT0E4czh7ciNlOz1BZTgjM2hkKSVQPXRn LUZfK0dTTSl2KlFLRG5idy07P3BKJQorekIhTUhBcEs1Un5Ld3dzY2shSmtqJUV0ajJvKyMra2NQ cHYzaXc8OTVyM2lfQGFTdShYJjZFfXlvfDhYV18xOUpoCit6eWVpTV9NITJSQjV+IUAyJUNEc2Ry eXwqQk1QWEZ+cFgtYE1Oez07dTJeRyolaT9lckA1MzA8P3pkcEMlMX1CUzYKK3pZTDFaXm1fT0s7 MSlOcSZuUXtwVFFSTjx1bzdaP3xMdCNqWS1femZ1ZH4rVmpBTURFd3E4bHM9cFNHIT8hZzxtPQor emBiX0IqbVVMNUFxfG9+OWtTS2BldURnSUpXbSRJaDxjJDNDO2R+SmJfSkNTdVNJSVdpbGZmPkBU QCN9JGg9Q29QCit6V3tJQEV6ZGtzNGl+KXA5ZDZBR35AJn1Oa29aektrJm5tRGhYUWR8IW1DNnYp eW5uVVgjamMoTU5yNHludXFqd2gKK3pxZFRMKUY+SnZgQE9CfG5YdCpKbVZEPm5MUVZDZXxzJE9N UEAoc2B0e2RIZSFmfkltdHBSQEZ2YD0pQDdFb2BFKQorejJ9bCpTK2A0ek14ck1xS3g0Tistc1JW b2RQWUYtPzxOQkU8PCN+ZE55bWhIWGQ0PCVoIz19bFl1fXpqOzZjeUhjCit6S2MpPURWbDViRz5f d2VSNl9zUGZzfGwtJiUzTFUycFQzIyZnKlZoQUpZQUlUUmA+cTI7cDhUNClzZztqKDRtMnwKK3o9 KXc5bl5RPyk4YVE8SDVLUUBVaWhGXyh3Z0tsdXt2eHlpSmBHZGs5RlhCUSVfPU5QIXdTPV5SbWZ7 NS0/cjZLRgorenFtTnRIWSl3dilRMlI5dGl1NjgtRSUzLVg9aWtDTSNYanRrSWFNc0pYWWFqVW9k KFJNdEV9cDleJVJ2eFB0QFloCit6Q3hxJEIhfUlaQWNXWDw9Xk48XmlgMklzRztERUsmPm5Ke35v eFFxQ3l5SXpien5sXzRhdyNjTz44V1JyJSE+NDUKK3pkfi01YVBiOUpXY0h8YyFKMUdfWiUhcUxv aEVrVkl2OGAmRntwbTVWTm1vdURVUjtxJV8qOThpSWgoY1phd0NPQworekkoQTlKJmJmSmQ/NWsl JVhJJT8hdTtfd0YzdyhjWClAcDRANmk+OHp3N2ZOZUIzJTBHRnpsN0hKJjV6dW1GYmkoCit6Wjdi SSZyRkI1eig3KTBjNXtAKkByMCt+P1JzKHZlZyNAY2pwdHlMelNnJjtadDY9QnZuaiNTUlFjWVds P05fWEEKK3p1bkFOJGs9bn5IQXR7Y0hTJjF5TG1FZD93aEhUOXBOPyk/TDwzdHc0NDQwMUBSZ3ZE QEwtUHp5QnAyUyErUlpHbgorenVRbm5rU1lXJng4flZVNndSKyhNNDdQelE0QipfbWRSKG9IYzlj bllMaS14NHl8MVZhWWBuO2ZvbEcpVkB8VkQ8Cit6VkZ8Y3hKLUJHaVZBbX0/VyFjJiU9TTFVUFJf MXZja0VIY0FwSHtXVShoTSpjekpROWt3M2QjbHMkTmpDOEA0UXUKK3o4O0lga159cmRBOW0yOFhT Myk2c01YSDJURDt5PUNEV2RNLWlyUCgyd2lxcDx0aE9xM1JHNWI0MSo8a3FHMld7PQorekJxOTJy Q09PJFc1aUd2M3o2LTdINylRKm5KQGR5bElmQSgzd1dsWGpvI3M2UXFAP2B4S0lFeWtyNUBFM2xl K3pgCit6RFBvbiUtJXZsKEd1MU9ORyUkVX49I154bG50dkRFeXpyK1JEd29fSiROTmZ1V04qRHV8 THxQNmB1TW9qYVNaOzUKK3poM0A+OFYkPzQrUzZ0a0sqb1UwX2ctR281dmRfRyRTbTBjaTI/aVVL WGFBdC1DYVlFbChuakw+U3o8NEsrOW03bQorej9wJGoxaVhNfW8tODFDZ3NxPHd7UmB0QiU8S2Zg KXxMamxIX0l3fDIrKzNFejBhaiZrIX1RSTt3dDJ3cFVEIVdDCit6e09MSkUyVyVfIUB9WT9+IXJ1 bWx4Kko/Tnl6VG1oWU9TS0BZdlIydTJ2JiZOUU1MMWoxYlc7Nmx9TWwqNH0kQzYKK3pHTiRhMVZI VitAVGxzOXQocX5Sand2TEsqTGU3TlEqfXEzejQrKn5+WiVAaX5qSmBEbGRSdDxeaz9KIWQ9ViRW dAorej54aCtFLXY3PlhEYXQlemRsdU96KTgyRC1QVWt0bmo3dD9JOH0/Q0ZmZEJRIVEjMW8qZXFa c0B0Yzl7UFBEdzNZCit6UDZ5cXw7clZlPm0jSjNOUDAzfFR7N2psWlExcD1QajBobTs3KiNiKVg0 SnxsV048NXJuVTM2cT9PdkpzcSVnVzgKK3ozb2teYC1QMU9qSlIpcClldiFXaXRne0s0VjZXNFIw RklGckVQRTJDI3VQNm1xMUd8U15pMGQwZiQ+LXt5VHBFMAoreilFYUglbnxabDZlUzdMVF9kKSNi SHZLPyhAJT98cjspIUlzQUJVM3cwRjtqWmNTKVMxcH12akh8Sjx9KEBtaXtHCit6YXkwQmJQfiRp LVp9Rk9ZNVBXM2wzIyRxSnFjT2MtN2NpT0xqKU59UUBNRXs+VHlYKGtQMmIke3Nnejk2X0VAdHEK K3pPU3Q1e2Zha0YpQ3M5dDhFVXIqRW85QD4wI1ZJalEwJm5+VSFiYXMwbGgjNWhYYWc9O0N9cytH Uyk+diFpRFlJMQorej9rJih6djBkezxgWktxIyY/YFR7SCpEZH5lTy0wPWZfLXpZeVZ0ZmpTM2xm YWIzKyEpRnVZKEEtQzZxSlloQVdgCit6Uj13VGpscSs/QEI0bCVWKldiKlllUDMqQ1UzSVQ3UmY+ bCQmXkt5elpATkZ7K15ESmVKaXBKO0pNcD8lRTYrc0sKK3pvdDVLVUt8N3cwWnp9eFdQZkUydi15 V1ZIVDAzdCZLaTs7VmVSe0Y+cENfXz1kcHMwPmVDeGdwemg9SXRwQzdFPgorej5AZy0yNy1Ue1A8 I2tBM1FHMHNCMlA3RCNPQk5fLUJNRD82LXkreCF0T0FuJDEpOFViXl47SHlhIWB1Ty1BdkVQCit6 cjsmKD5eXyQkKmtXME9VX2BmQHsmb3ArdWR7MVhEe0YpYUVBJTAtQCZ1QXRsYzE2O0IhXm5KaGVE MU8mJEF9Vk0KK3o4engmX3VjSCN7RDFoSzxaNU1IQEhYKFBAMT19ayk3Ryg9XjMjamtAcFZxRTJz O2FHUEFHKjd7ODxCMk1TfntoPgorenlFX0MwS15pMkwyQm97Wk9TK31JcWBUdWd6UEgzekBBYmFw Z1J2UUJAWikqcm5ycWZSZCtqLTRNMlNSTiNLQSsqCit6KE5BYkRraE1Vdio1cC19ZVoqWHtYVVZ3 eyFvcnFXOE4kUF5NNH1UQkF5XjFNOSlBJiFNKUt2bytUYjA/Xz1KcWkKK3o4cHNlSmZTVHBnWnhg RV88dWdGekQwSyEmPGoxJVM5MFl1JCh+JFpLO3FfUkdKQlRASTxBfXtJbmxvN0E7XlNOMgorek8m bXtEP0Bna1R4JnMoKjlNfTFTTVBDR0tCT0BhdXsmcWRvZHBjNU04c1J3PCZtNCg0eFUoSyYyMmRa cWwtOXxmCit6PEtwfmtTfUNlXz1ZdEtBTURpQjUzbm99V3taeyhkb3h5Z3xHSitwdTVNKkxnNDk4 WjwyWVR9c05xeX5uczxCaFYKK3pSKjxNXkF7MH5WLTMxVXIlMSNXVDxIKDs1a1VgU09tPmVfNWB4 IXdDIV5+JGdGPChNbzw1N3hXYGJDTU8pTyVqegorektoYWtsIWs5cCs2WUtFd3JgTnoxdzdgd29u RUlmKk1zWnshZjA5T0lROzNqQGJtNEVGSEIzUWxSbHlzOF40ZzcpCit6MFZpK2xebXZvQ2FmZDJs OF9lWVBMKmI0bzBpej96ZFF8UWUtKHJwSmEtcDstdSl7WSpqRVAhZXN8Sl5XQExaR04KK3pjcmRn ODBFUUEpT1gzdzRYTWQmIV9yNWdxQH0hQitfOFZYQlgyTGgwSyp1K31hRElYWE9rRyFxJjIyVnBo clVgLQoremU3WXgoPkp7PTwqTVVXcTJhLU8zbXtzUGo8O318JCgyK1JDX3tlJFlCSy1XciU5SmpW ej1Cb0BATkh5dnh7b00hCit6Uj91JUJfeENLKSgpeWE+I3U+NVZhQW1yYE9oNGQqc15kZVVVaDBr WXV7QCl2P2I7OW4pakZXLT4lSD48YjV+bj4KK3plWkVjbEQobit0TzlGMn5OfEteU214O1dhRmh3 ezg5ezA2fWxLKCsoSkgmX3tAMU8mNjdgZzJUR3JkODRqOSshKworenF4alRHPEtvJUBmcUZ6WnZB SV5Zc218I15KO0RHZ21geU9aWGd9NzxlMGYoJSEhbC1hKkcoaXJecVlWYS0qc2tpCit6N2tkJWFF dndWd3M2JFRydlA4LUViRztEJmtYcDRleWxHOCFFdkBsOERuIUUkNCFecyFuNWxHYXp4d0RpRlJ9 fFoKK3omVCRvNTd8TSV3KmdNaVVHNnNOeHJeVnA7YzNJVmVaU1NRVFVTc2dYRiRANC0yXm16eHJZ el8yOW5QWXohWVF1SgorekEmSTN3cmZYLTFoZVZjcjZ2Q3FXVDBhJmZ7Yn18b0oxXiZxJHFDSXNu SCM4U242QkVaRmomeSM7P1hrbF5wOFF0Cit6Q3MpJkwzb0xwV0M9T0lvWXtDJCVHX1R9QilKcnoj PkdXNU45d2w5ajl0NEZXVGk2UjEoSzFwRXQwaVZ+KCRmXlIKK3p6WWkwfUg5M3d9TWpZdHFwYT1o dzhWUjRtcERwJDNNcXZsdS1geWdNa3ZHfnYyd25mY1VeMFdkVCQ4djRGVjlMWgorejZ5Y15zVTFj PDMjY3xSQjlpWCsycFZANE5uakRCeF8tMWhBZzRHYGZHWD9iaF5Dan1ZUEVJKlVNN2dPRGNMU00j Cit6Pk1IXm1iJHBVWD83cUk5Z2BYfXsob0c+ZkZ+aUsoQVVRP2dxbWw7OFFNIXBZQU5UOSZ2UlA5 MDZeVzkrVGpiSUMKK3oxbExIOGV+KGlLOVIoPGRVdXxTWFE+WGdgJn4oQk5Xeng7JlM+JmRxQVlo fDFDT1o4dkxON3F5QCojZkhwe2w5NgoremJ+OCRnWlEheH41Y3Nva0FfKXhkSEBVWlJJVllUc3Al IW5ObkR5Q2Y2dEdYXnYzMUQ+TDJrQ1Fjb2VpPUBJNFY8Cit6RT5YfnFjYjF9IVJhTkAlPlNwKFhI Jns7KW98RHFLN2B5Y09NPiooMmFCNS1MP20lWnVaJEZwdmY7PThxSjM9ekUKK3o7c2k1dj45N2Ry XnBeQyY+RmlFWU96OHJwPWd7MkVuQXtEX28qNlVAP25UfmhSTip+dCQqXyVVYDtrd0NEUTN5dAor el4xdj56ZyRkKnMzQjxmNmY/WHszMTReZngzKWR+dzhWJEJrNn5OZnxNZDNyaVpHO2gkMEJ3dWxQ Vi1VPmUmWFFFCit6MW52P1ZrTGZRNS1CYG88cEZDUktiZmgwfCVSaCteJWVjNyNEPDAyKk5AI0tL I24hX2V4VSVweUE2UHBTKTNufGQKK3pIKnVQSz5iciVySDczJnpUZENJKGQxRXk7YlJudygtQy15 UzxBaUQjRG1ZM2VjZjFJJk1Ia0hMPF9GSUAjKCFOLQorejV+b3x+ISloOzExd3t9c1VzIXF6Vmh1 fGxia1Vge0c/bSNYJT0jSHRldVc+KE5pLVk4S0E1SX1HVyF3dnhKLTklCit6akRDSkd1SzxlfUR9 MmtgYF9nO0xeaFlZcjNXbHVHTnNfQ2VuPTJ6KzI/TVJYQmcqIUxPSytII2E3QVlIS0N0WmcKK3p6 ZjJ1e1IhOVlwamhRVExmTmklRnVzT312ciNNTTA4engtQlUjNHY4PHlCeTFQUkNjYDU4Km0qJFlX a2BNM3t8NAorenVATHJOV0I0TF4lTGNOY3RzK142KGhRRlV1eDFWczZPR1Q3NiY/dzk9VCtqMyhl Xj40b1lxPWB3OVpJKmpJVW10Cit6SigmeStIbmU1QEVfYmRtS2cwUWJLQHd3NilkfjJ9PlEtMHgw K09LUmhQSjk5cnxhcC14SWM1NzUrJCl4dmlgSVAKK3pAQGYzcktHUEBPbURmOUp2TU91JVJ3OyZ+ e0EhWWYxJTw2IStDRFBTKClmIVpMelEyTTVqbWk3UWkqelFZbUwjOworej9WXm1Za0glanJ2fntK R0w+MVc0SXtUKGRpbCQwRmAmY352cTkpPnxGZVhsMU9QTSU8TXhzRXJaM0AwX0tKOEdhCit6aipX ckQqfFpMcU9KPXo8Ykt4PGteYEtJdj0tbCl7UiE4VVQxajdOeFBCV2Vjek96TG5AI1Fvc1BhfFVK Ukk2XzsKK3o/V1BzcUZsPTMmO0tjaCgyMV8tcSlRXm4/WDApcjszZjVjaWFwI0owS1Q3UU9fdm5X YDJOamtfNFMxYmJWV1N9fgorekAhVSZTYVotcz4+YDxDVkdrMDVpeXl1X347PjRPeEVfPjVJLXNk YmpxbSZhZFlHYFVAMGVxaEJRTntkaDYmdE55Cit6OVVkZU1GOV5aZCFycUVTNzJWVWlnYyFecz99 MU17bj5NJF9wOV4waFEtQHpnX1JEZyFtNW9lPzBFfTN7Zik/d2sKK3pLWCEpaTJ+OSFEUC1mMjNv QCh9QyhONk5+NyYzV2IlKU1ndyRrdX5lPC1tcytCKWllTTNRV1ZJdjJKfVdZbG4qPQorejtAVmtS PSFUNkl4eVA7PFN0c0NgUldEb3spWDN+LUpaaFNLaWtUOEtZOGZVYHFWVUFgeH43PGxCdEt1TnYq YmpnCit6Nj1xTEo0RyVzUCtvakMoQChXVUshTlFBUipeIzwmdnN0OWleUHNyb3JaKnlBcmJSPHU/ Yj5sNk1YZ0ZLNnRfNSsKK3pzdktGKE5JNSojT2w8MkVGNitCUjlvOGxaX2VuRypxYF9maSoyZ2lJ Vi1JdnAzZmBCfW4heSRsJTJSe00kQEUmRworelV3P0huQFhCd0g2X1hPdUJxbm41OE4kMjsheUhm a1VnWG1EeGNsb18lNmJfKXB7QTJTUW1MI3YwcCRBZ090cyFFCit6N34xIVMmYkApTiheWD4xYn5E cyMqemFNd1NlNCNBSGBsaEZ7Sj5yUD95TmJSRUFgI2BuazY1Q1E1Sll5SktWNlUKK3pGNE9sRWFX PFhKQi1lVWxQdiFkM25Rfl5rWWxYRHFWemhTYFRkPmBHSmA/IXlYSHx4MDZyUXAmdl89V0xXfn5U VAorejZIKy1+bGV4OGppWVJueihCO21FN2YoTmRyJG88SmhNI2FsUGYzYXNBZmo2ME8hVTEwdi1M QCZRTTxUJmZ2P1d9Cit6PkMrcDw8UHxeVDBrQlpuc0F9cTQ3WDR5KVlZYGJ6bGM3MGold0EtQ2I8 SDxPQ2syU0ZSWGNKP3NoNjQzQ2UyPVYKK3oyPSpaRW1zQ3xnIytaZUgybktIek16Tk4zeX5fXj9C Iz11RlRxQ09tWnhtdCY/TGJYYyYzZyU+M28yfFhWIX5JXworejhiMDc9QiUyMnxNP0Z+MkdvMUBx X1JRYjhVQEU5YnQ9N0EzQGxTZ3lAOFJwV3ZGP34waEVlcjBHb3JjcVdlc2J+Cit6JStAJF5CbUJ8 THtxKDRwWj5+ayEocVh9fXNrK3k1YHNMMkZxdyhDUEJPOUJlYDFoMXE0aUtEQGRoISR9T0JVKlAK K3ola3xteUJzQlpQejUkOXB5c3xhNjgkbnhvXzkpc0lmfExpN3pReHEoXihVX0x4fUElWXhvXkBU KkA+M353Z0Amcgoreig7VVRkK2pRKDxoQTZeQUg5a1ZWQyRPTEZjWCllYnR5cmkkdD9FbVV3KGwh azMleHE/UWklOFk5WnlRJDBNfCMwCit6Rz94Nj1WLWFPU3leZCRIMkVOPCMhNXRPSjY5fClzMSMj JChWQmlVM3k8fnttRDQhQ3M0ZWM0fSVZIV5FeCM/eEMKK3ptOyY7akl+TzNteGIocytfMFgjKzVI UURfbyl9c34pRDM/JEFZcEJmNj02bE1WcnwmWkN5P3ctRDl4eXBDYUEjQworekxYM3pGcnZmUWo/ X1BuMUVJey17KmpCMXczZzAye0xiVV5mNUdxWV40VjQ+PG9lTVUoUGNtJn5Pam89TWdrWClBCit6 VWpRWDhfODdaaGM4SXFsQXcmYHBDS3RucUExZk9zaHxBS1g/R0BKMyR7Rll2WWVsTmZBLSk7WEFv cj9hb3ZoJDkKK3p5ck9sJjIxVlQqczRXdFNGV3tyRmB+NHsobk1QfntGaDdHPj9Zb2JORyViVEhu VXY4czNUMmgyRXEwakQ8UClJUAorekppMVFwRmx9e3dUd05IZihaKS1PMSFsRzNnckVrfmxgaFUt VTNub0k3aXQ+flNFOGthQyM1SVgxXm5gNVQ9QGpfCit6YypFVnlLUm0+ZVAwbXp1bURXQnFBVSNy TkxTRUlHR08+VD8jV2dyb1MlT1VXJT5xPipESlZET1grOG9+QmFPeiYKK3ojfU5hRGJYPCZfbFBz PlJvWXNiJjghe0AkYSokNjlXaUhheWpEb0slPj8+Y0ImJSEwQXYxTnJWPU8qUTwlVmt0cAorei09 YVM2PXtIUjg2OEVwMV84WUFYeU5zaSNLMTBXaD4zeXomWnsoQT02bCU0RVFNaXRpPGx3SkpZcSZy OT1HP0JDCit6R0kmIWBIYWQoMkp1dn1YX19wZj0zVykoaiNPZU96I2ZRZ3hucykkYGY8Z3s9Sihi VDBNMjtZZkg7NVpEPy1MJUEKK3pOK0MmWHFRKkpHSWY2ck9KPy0hfVY8MEEhaSlWPXpadD1qKXZh Xz1tZiREdUBxUzdzfXlURiMmKn5GeWhfUEh4OQorenpKandaNH4jcTF3TWQ5T2UmMGlQTiFtcG11 aUw+YmwrSCE9S0Y5TzxweGhIel9IaihHTGhMVDIrQ25tQVh4Y18hCit6NkRJIWNkZGpReyNeTyhs cENxNiUzR3s/KXZxUip4dzZ1MlRYdDk+XiRDMiNQS3MjalpPNGNLQCNVN3l3TTkyflAKK3pVMTs0 QjkhJSV0NHdTR2hUeyYmSCFOJkwzR2hvJUhlOUNxVl47V3lYc2heN0AjPkpqbXZUYyUpZDxeYmE+ N1FUUQorenBCVmJTbkR5WDdPNVVCTCFKazEkI0YkQ0VAS0lxNlVne2VAeyswTX5IZ3UqX1F5Mkxn P1F7M1RNSDU0I3RgZFAmCit6bGszPzw+Rk8mdTdOQGRWKV5gdys0KnFBYnZVSVdmaHdTOFo5MnxP TTdSQ2w3aVVmQ1doKTRUOFchTnBGcXdeIVAKK3poRj9pRm1AfVNBLW9sNWp1QVM+WXpSQ2ZrPExN fU1EaloqNCNnb3swK30xXl4tO3JqKEE/ZCV3TSY0PyZscExodworemAySXEyMVQxVGpMMD1fJWU5 cEFCP1R1d1I/QH1ra3dEX3A/VFg8PGJRaUh2Nj4yajducF8lc31Kd3M/SmlyQz8pCit6cFZud1g0 SEc5fm0wITE2UmVHKEE0d29EOSk2dFg1UkV2JTszNklOPEVoKm1zLWI9QHlNXm91Y2s7JlAoQiF2 XmIKK3o2VClncz1GRCY+YyhMWThDcTFxZmFNKz5qUyUxeSlEQj1VYCZFbGFBVn4tXyM2dW05fXIp NVpQLVh8ZE5rPFhrdworekcxbm1vI2xqQFliSk58Kkk+b2A/RGlEPShyZlkqKXBwZUgzLW08fTwj KHIzb2x0NEF9Kk59X210ZiRoRWl6YXJ1Cit6ZitwPXk+PUo/QSRzU3YxaUhsJk0tS2tqYTlWQWlY PHUxWk1ITmx7dDtQMFlTUUt3YGljdkxCP1VwWihGXn41VnUKK3p7QkNwKUR7MXpMMndjQjhpanpl aXIwZ0wlPlplVWxpTE5sNSZUe0JhOWglQU9IfCZTNjJTWVd9O0EmQzVAKEhyQQoremlIMTBZRHdX bDZtWSVvX1pVc1RkWT9MM1JPXjxyKURfdmFWd29TaVFpZklScmNuY2dKSyl7JVhLJiVCV1hjNTlk Cit6TVQzU3Y9fk9oVSVEZ19kZjxtaXg7RmM9R0VHZW4hbVMoZCFsdTdSPTROWHl3PH18S2J5UiY/ PHNqVjV5STBQP1MKK3pEZXpIcDQlJVJ3anEoOyM8Qjc8fSNgdXJMNEk8fWR4PyN0cndYZG5HUUlu VV4rSihod0w9QkgxKF9ZfDJ3NFE4eworeio1ZXtAbXhQRkxFYHwwYSFCcSRiQE4oTnFVPXJpM3RO PEtJMjJ3ZTIkfkVVS2JTNGpMKXxiTyVFMUV8K0Z9MFR1Cit6JXsxMHlAUjgleWJJR0EyKUcoZXZj aV5kTFctYmBpTSZQVHExQyZ8JU1tfnNfO2w3ZDtkO1gjSTMmSSEqUXg5ZzAKK3pWVExxQ2ooY2dn SV9ka1NMVVJTU3g7TzVFWmJPWTlVTENRTm98RG9CYWtkIWJRS0xpQ0JyekM2QyhwbU1wMExTRQor ejNkZ1BTNTBwSiNzUFZiKmJVRCUtVz1CKz9SSX5EWEx5OHo4Q3pVUHk+OCZUSWItdFZzaGlFWEkx ZktTMDkyQXFRCit6WEhSRU8lVU81fDIqcHMzXnI0PmIwZzNOR3Bqdyo+Ukx4RE1tbVZVek55SnJq d3s2K0UjJGVAWVA/VEQ1aTxAUUoKK3phQnc4dVEkeUxZbmhCe1QoeSUldUxNOGNvSTx7PzdhQ0Um JTB5RVE8cTBEVUZ4ezJreTtWLXQ2V2lUWDJTJnpVPworekkkRSZtcWYtKT4hQW0oZW9xTHp4dV5E dzUoRFVBNnJZRkI8T21KUUhOZndnVzc2WS10NXZuZmA2cHFlKEtISkleCit6YFpAP2Q+UDJeST13 UkNreSpeQl9wKmQtT3RCfHVOUnxfX0VQYD9oTSg8Pn1qSVdmb0dOcFNud05ZfHJITCNObj8KK3pX dGRaQlVYfSZGSG9eMilfVXZQSV9pNTE+ODdOUWt7TiFhV0R1ZEtldlFRWnZSJTE7NHAhbDljMl5o aFNeeT9NfgorekEhMz9YIS1AcXxKZEhwWSlgSiYteCNIdH07dShMbzZUJm9+b0RJc0h3WjBGekpq VjB0NysqTTdGbzVPQHY9WDNrCit6aG9CSDVVYF84dUpmWmZCYCsmQn53dSpwLShMb30yIzJMJGdt TzhRPCpZO2xqYlBRemtjUzJPUUk9WSpXNyNnUzcKK3poJWRgR0Q2NV5YJl4mNzlDblU/cmBVSU19 NEBVUEV1R0lfcXc/dTk3S0k7bHdFP3dkbEMtPlYzMGh+aHpEd30zSworej4tazQlYzhsfHcrOEI7 OSR1TkVUbk80cURTVkY1O2Z7Wl5id1V4ITAjVEZgQFE4XlJ4KjVacT9KWmQ2bStLNGMqCit6IyNo Y0VUM0E4cTBsJj0yNjF6WCZUYmkqcz0mSEl7VllzX01AYUY5I048fjhXMF5USVEmRUkkamNnSmJX Rk8+WEkKK3piPEhsbEokJjV0PUdJNmpfdC0pKDRyOEtmPXJ5RnZzRlVmXlloSDE+NWxqN2VYTVMx STcoRiF1fEoyOTgtZUhaTAorek9MXjslI1dLTVRnQDZsRURhbEBrOzhhPUMka00yQT5MbFVuNUst USRAfGI1bWkpPEhSWFdebUA4Z3RYd2pVTTtnCit6U3NufFg5X0xrRTBaKChUeX02dHY2alhWeWFu Q0RUX3RZNTJke0p3M3ZkamdCOGpuTmRWRFlBPUh4WDI/Sz1nIUgKK3pYP0A5Zi1sZj9fQmBHQmBN YmdOTnhjNHJDcFMobkoqSnBqaV9KeVdiTF9AX157Yk0oYHMmRylANXt8Q3tvenpSYAoreip1ZTZi czV9S0RKPD02S01rWWM+NUNVX0JCPWRyQnRnJXJ3TX1MczBzU01qYlcpSVRMbSYlX3E4SGJlO0Yl UVowCit6VlR5S3JWVW1UfFRHKmo2eENlIzNAfT1mKjFvfVNPTWRjc0MkTTxjZ01uanlCcD5kVkck ZFMlcENZRXpXXl9rI0cKK3pHdVlxK2dOcjFvZklnaTM7JXBtaGd2UHtUeiZFJW47SHA0djAhfElU ViFIZWM4akRqJSNHZ1Q5dWI2KTsxRnFiaAorejQ8RyhnZihoSClnPX4hTj5AfDF9WVYpV1VneV9j MGBFYk9fNnlEMEhYUGh3P3Q9I0Z2Z0U+QmN3ZlhIX0VtKnBlCit6PmU2UGx6fkZfRjxsc2VCeEZM UyF6PVQ2JmJpfnh3Ozgtb1MwWSZwYldNKjxSRCNUfE4yXnFQOyZDZjxIVXp4cTIKK3orRl54JUJJ cWN0b3xaTyZGZEh+YllkSG19V1QhT0p7KkpUd0lsOyM8bDlFeCl7TmQmX1g3fWs7QXdBP2hGNSpl NgoremFuUCFhYFJOaWVhJkd4emY9RkdLc0Q8d0lCd29ibCFUZk0yazRAPnNGTSNoYVBnbU5Od3hh STNZV1p7NXM3Y1pyCit6KUB8KkQ9WCFINil+O1lZJThpfT5OT3NlMXgjZEsjQit2WGRrNX5gfVE7 dndtNk1JYjJZMEpOYCl2USVMWU81JU4KK3p0SlNqM2hGSFFDMyRmRE1hI3NLK2BCND1aQ0djST5S dWRTc0hYJHU2d1k0OypfZTI5cjU9UHJPeGc/Mm5JfTltJAoreml6bnE1dHtUajVTcjRBP1lERztN Tz1IeTQye2JUfGlPUSFGaENqOGpEWnR7TFpaQUQzSk5KZElucVN8KSkyTjVMCit6dG48RVA3MGMt O0FqRH5wbUBCaEtzeWRNbUIwSFIoRzshazYoSU4yPUFxIUpYRUtteWcocWB5UG1ASTY+bkBOdDUK K3orT2N8SV4zZ1g/WDxYMkFaY3J0JG5ZdVQySCZ7OFBMT2czdmxCdSlzdTwmeFlqc2tnVnRoIzVP VS03TyRvK2omSworemItIVNXeHdVLWwyYmo7JkFfdmZeVyo2Yn5IbUtMNmlDcmBTQEQ8QXA5fTkw aSFDJCtaNnc4VzZHSCY2VmZUQD1oCit6dlhScjxwXk9DTmEleTRiSFlUZ0pMfTFmbjFscUhvMWgp OHR4fjs+bXdrKjZ8N2x8P3kxVT4xOz0jcHgyLThRV3sKK3pvVEp2b3JefkIhUkxfZ1VTR2Zrd1Io YDQ0dkFzenIoRGdBQDBLbTt3UXpVUlZPeFBzOGpTaTYqYnRRQGIyaFlKdQorekZGdXFDSTFeZCRN fiZzR25fVz53OWh2Sz93ZnZ5TUhad1pDbUNIS29sek5EMWxBKEJ7PCZ4dXFjQm92IUtlJlJJCit6 YWcoUE84N2wkNWtoeF9NIUFsVXJUdmZIZCh9JHA9JktKM0VyekJUUlF5KkwjQ0pWUCs5ViFvclIm djB6VihRUygKK3ozV2VEd1Joa2BQMXxjI317WCZEPkpfP3xMdHAtWVMhSzhyWWs7WCV0cnBjZmRs alpvVlYhVDNKc0syI2YjJWNqIworejBoUUFYMUE0eCE9eEYoSVpJLT5WPW8/R2NPJnZwIWIhPVI3 dm9gMjQqY1IxY3BHfmJJSmIzP3NXdjViNlNwN0tECit6TlV9fjZTT35jYms7LSRJdiRGJkV2fUE8 SkQ0R0pxI3NnKzl5NShuZGszKzVid2xzRT9OKWV0dDdhJXAzSEtGJkkKK3p6VV5YUGp6QlE4WkYp LWI3K3pJcEgwO2crUzFqP2F1T017a1Q2VUIwX1RGekNRQih5M1N3NCRnd1lsKDlgWVZrMworekhI fmVBcDJDQz1BfntGaCMyT1chaGp4eEkoZkMrVjJtNThVQEV7YmY3TG1laHNYWCtqTyRoN3NMK2ZZ I3MwNy1OCit6NUQ9VkhzfUo/dyYjcjdecXRpT0ZXKEdScCVSQj5MI3RKTXFDdz9SN3pIZVFtdkF5 MFM3d0UxUEpwZm1NUUZoflYKK3owYlR6JUtZVjRTJCkkYSZhdCUpcmlBRz1vWWhsRGt3KWU8S2Mw NH4mY0dHRkBRUWJgUFpxMmpfYCpHOUUlKkhNKAorektTRT5nYzdOTW8pOXgxZ2JEUHA3ZzxnRmxa eytOblNVO3BlempKZXQlWCE8THJ2bSVyYHhReXBwYl9VWW8xQWYyCit6JWgraDAjcyNeRkM9PE49 RFp0YUA8OHY1dll6MiYtJGtgdVBzMFp8cmJtemRvT3BoQUBkLXEwXlgyX19gRTVrV0IKK3pETDFz NTg2MXJ0YVojeU5yNl5+MG0rVmd2MWJtb0pGezFxLS1IeEk2TDZiRXBNbiZ8MVF+VHt3JihtdyZx XlImMQoremNsM05iSCl9NU4wXzlNMHg5YjNIZDJxOE9vS3tIflR+b1ZDdjt5O0w7eylGPGFLTyZ6 aEdoaVNON1BRSXhtJipHCit6O0NiNXZnO2cjcChLYHdLcEooKllxeHE7NUpFSk1vMj5jNGNNKkVJ PWBodyZHUkN8WnhRUF5DeEsxJjdCdW0mK08KK3pCXmxfUHNFUiQ+aSkwI0IzJVdkXm8+eEd0amZz Yi1OSHRMXlhFemokV0FuSWJVQnxpKTMtV0s1ck0tfmF5SXszdQorenJnd01DJENXZmZfU3xXe1dZ MU48c0tLaDIqMyg/JE1kK29qIUZgS2VBaGZxPnlMVXApcEozdiEhcGJ9RCtebVJ8Cit6LXM9JCFq VilWbVQ/RVRNdTJ+eHN6MGIpU1d7SXloLU53OFoxLU90UzJve25pdzxDMWd3eXtybk03Xy1MRHR0 aHIKK3p4UEM/flhZUEhaUnQ7ZWVMSSVpcnVAUEE4XmV1TCNOS3Boa3JScVRrP29pZ2pRPUZiNEtV K1ckZ0FuYCp2Jn4+eQorel8qbndgN05eZipJSHNkPTs1dUtVMjFpbykkcTUwcWUyaCFmMk18cCh0 MzlALSttSWF5UGo/VXxeXjFMUjFHLXJlCit6QngwUDQjYzlhOGs+OVk0MVNoXn5OVFkrcUE4Vj0y TjV+SWdSKWpFKVU5WHlzSUlFRSptN3p7O25CT0UpT0ZWO1UKK3paam4zclRvQjFeVHxmcD1FJiFa bVNuIWRubiE+cDYqXnxzMEdhX3wldmhIeXRXcldQYXN1KDJ2b3FeZ1JycGRTQworeiNaXnJSR21t VytQVmI1ZXA0YG1zLXlkezZAIUZweVdvYnslXllGQm1DNklueEtLTHBwWWc5UjhUWm97YT5TRH07 Cit6V3ckb3lOO29ZZGlIamdlUXxJPWomQjZxeHc4UyN+a2Zyd0ZheTNFfGZ2dHl6WXJ+Xk4/SmxM KXZTUUFhbkZoQzAKK3o5MjV8YV92UChiWDE2eCskcHs4bEhfbC1ZP14yQ0AlLTt3KkwkUlJ1IWEr TGpibUwoSy1uLV5CV3lmN2peTng/cAorekA3QTFEd3pnQ3hqY01ieE9ZQFIyJXNqV3NBOUMmfGti MSRNMD9rJk48Y3VpaHpZUUtAcGxGcldVeEt5ZTRCN21NCit6OElQUUl6an5KQmlTZ3Z8JEpTY2JL Q01uXnAlfjRVdnwxfWc9fG1Falc1TSFuekZYOUgyMjJiUXMmMTwrYz1XYFgKK3p2LVJVSUQ9O19T YnF0MVJuanw2XnUmRmkrSWVZS0xURkI0dnJZOU8qamNiaFBgWmB0MmowZWpmYTlwSmJDfldNWAor el5wPl4zdGw2ekhqdHtTNCpvNnUrJUFfO083R2hKQWBYel5nMlFNYztBMHhpaXZnYU5WbENeeUA+ MEZaIzhoYkBnCit6WWVfP3NtYlMlM1V9ZX0wRWx4YGdtQ1hzfnBnQDtQe3dmdVl7NVROMHJzVkNF PXspbz9wfVg1bHVSTS0pK0FLT2QKK3pJMzY8S3NvRVM5clphfGxQWlJBeWBwKTxZdyoxWHRMVz9W eihHITAqcFF8eEwxbHl7cWp9MW9XM3NwSD1KNStUOQoremt7eEAlTjFOTW84NjAmKkRLYDUlVW12 OXdCV2ROPjFuZC0/M1pJM3d2QmdUS1ZkWWxFUyRIcSslV2o9NzlHQEhBCit6LWEqfm4kJDF2ZlhF fE0zLVE1fTctb2JjI3QyWnF5P0heeT1EJkZ6dSZLRnRPelNfREt2WkBjRERAfiFCbylOa3sKK3pp KWl2dllxX3tYeTFBNzxlV0JyZHRKI282NSM7VUctJFpAbUlSYWdFeSFFOX1waFF4Qm4qQHYldExW amBiXn1JSAorejw3YzFSU2oyJVBlR0kjVU9IPlNLcmVRMFYxKmNvcXIpNnp6QkI9V3BgMFRfblQ4 Q0Ryb1pRIzsyV0Y9bTw/bzx1Cit6ZUgxIS1xY0lHKF9mRnkwXnUxRX4lVEZ+e0JRMTZ8ZyVydkIh JW1WS3UkNXJnUFg+azJRczIwWmI/JH1ydlZLbXIKK3pSTWYlTzs/bXFuXmB6VVB4YXlHMGp1NyY5 S0ZxKF5ZUSMldnMhR0B5dk5CRnhESGEjNT0yN2FXJD5WaWk9SnNsYQoreiVIbFNuQn5nNUBaezFX U0YqRDxwb24+dWhJUXlkWCp6c0o9bF5HSWJ0OzhpS09Ne3hiPFdwe0RDV0NJJGJKPlE9Cit6YTZs KH5NP30zWFdjazIjSmpzPGtENj1ndEMyaXFVRFRKZHI2ajVMJmFIZzAqdWgtVUFubFJDUG5PMiti WkZzVksKK3pyKGZTU15yejhoZEJTYUMhTlZHaVh+SmJzVztQdSVNa3ZwbDN0Jj8+Tzl0aHh4S3lu fjRxKU1GYFdYfkRPcV5obworejVsaHRYMVdhZVRBclRmPzNoKEJAIXA+bSMmemZ0TVpHN1pKXl52 UXZkbTZzTFlKTz1hM3VZR1VLKER3IztuOWp6Cit6RiNBWXo8WCY+PSh2WFQ7VXxIcDZWeTVvWT1I a1YwUSlzPHxgUGUlK3hSTDltSjZWO1J2KHVnTVNofXIjUkxWKDUKK3piaHtIekBVWHtOemxoY2p5 PStNQ3NEISZMcz8taHBzWDUjbSFxeUM7bWokSTM/YE1acCl8NDlNTyM+VFJjQHVwWAoreiZ6U0F6 Sk1sWmFsRGpIRFd0JWE3X0E4VSNEKHNHaW9hLSt4ZFIpd18pODwpd3AjUS1yTyRoXiZSYSttdTgr XnQwCit6ZmBUcSlTYXlQaWc9e1A5JWdMLT43fk8lPTFqaHxsYUZBZ3YtVngkI0xHbHo0eXpkcFZO TGl9aStLcTJlbiZhd0QKK3poR21+PV5PIXhqZFpofXBNWUAqckdRTTtmXnJqKWk+UkUyQ1g5Rl5P ej9VOFlnWVl8eXdSZ3N3OWR7Q2F1b1VrcworemkrODRAQnN2KndXI0lDN0k0ViQtSloxMyM8ciZD KFctSG0oK0JyeXtJaTVUQXdIVCl+OSNvSn5QcWBsblI/ZkxJCit6TC10K0BWUVU7MkV0YFU4UjlU eiMmR1Zifk9Zb1J9aU9aNUAxPj5rPjlNQTVaXiU+TGAoXnwhTiRKI05CMHVxZmYKK3o1VjQlN1Al RnpFY15eQVJ3MzYpb21iQF94JmReITQteUZQPmtSMVBOWHZsMH4hVkY+Yz11cTk5OSk0UFRwRXBL XworeiVDVnlpOEUoVWZZdnk5RlpWRj5QM2RpVmokXzQ4JTtEU2ZXekFCMUJ0dX02MXRDbU1XO3V1 NH1MeiE9RiN8ZV5aCit6PlBFMlBiaUh6ZUF+WSF7NFpSZHFHOGtybUdrZEhgXmZWfXN7WTZqMVkt Ji1JQStvTXFnb2dlQSVnWTQ2cGtCS3oKK3pVN2FMU3R3YWp5WExVJnxCZ01ecD4lRFNxU35PdEdm P0IoZnEkYGRMVmNOLXQpJWZ9ZllWbGZFWWx2NFBTNGl+PAoremh8fURHOVI7PldsPGU/JUxgJGIo Wl9GR3NYO25HLV84NlJhPyMzLVVaT3B2NDZMeXJ9JXIkaiZgY25wYmZaZlkqCit6Ky1wQ3Y3WWkk d0VFanNjTTJTfjVoKWQ8KFh1NjVTdVZ2YUhZRVNrKVhRUSlSRzJHWXhVVT9uT1hNbnNfTDdIWUsK K3p6QnBwZW5BQzR1YT9obD8rZWxHRFUqQG90djUtX1VJMU5sVjIyeW0jKF9KaFprNkQkJWROKF92 Z0w9flUkJi1vQworekQ0aWNgdiYhLW8+JFcqPj1mdklXdjxzblktSXZeSGJ8JD1wPzgmaFg0WiRe RG40XjIqaiR7O3JYckFOT3IkfUFVCit6JWlgJHhDMTE/P1clOEhMYShZTmUjPEtDY0hTT2V0M1J2 U2dxRSpWcHc/bCR1cFBscytaa2JAb3pzKG4lcWlPMk0KK3okPUV4Z1Y3YX15dFNibUBAK2BZdFox Tlkmc0pwLTMpaGx9OWRWYmU8bypqUHFrI05udjRXQnBPLTFLY1dRdUd0bAoremYjUChWO2x8KmEh PmhuQk8jeCFiQ3cmJE0hVkdRYzl9QUJmV0VTbEM0aVMwMTg8YWRkR2tmRmY2NVc5WlE4clU1Cit6 VGdTME4jOWQwZmVidnFWY3o3S2Izfmk2MDEyaUo5RmwpNVo7RWBzP2FCJVVlaSRXV1gydU5VYS14 LVMxXlA7IUYKK3pCOXNNK1B7LThSKE53RjQ5VypBcTYydTg9ZiRvSXhLSmhwe2F5PDJUa3F9JDBg byMpJjx2ZEYlczV0RHJ1ZW9iMgorek0+U2hgbk5KNEg0ZnFub2M9KWI0ZU57SUlxeTlAZXJJck9x ZVc2KmpgezMlMWF1ZHdXb08/Y3FreEVlUGxTJFI1Cit6IWR3IyY/ZX00VlByJSpOaCl4ODNmXjN0 Y296a3czS2BUS1BuOXc/YFRrfSRRSU9PXng/Y2tDejxuNSEjcSNQISQKK3p0OSpDbXg7N3xmXiNz RWBTT3hzcjM/dypNYC1BZkFEQ2RWI0dOUTA0KF5qYHlsMDU4WGNJM15MP2JXPDdGXmpMUworem87 KkMzdDsxX005dDgjZmgjJigxQnRQa2UzaGM7ZHJlfHM5eypQeXo4a0R0Y01qNnEpX0tWKWNYSHBf Ujdwai07Cit6NXJQb213RkRiKE5IcSh9VXYqWms3Qjg3QWQzbXZ+JHM/b0JCVTJlOz00S1hre2x5 X1hvVWhsUlJXKF5tJjU9ejkKK3pFWCF8cnA/U20xdSVVcG49PD4jJGVkZlImQDZwbytRT0NOeG52 bGp2Z007TV9aMWFLP0F7Smcmam1sMGk2SjJVOAorelo7JkhaTmNRWTB2ZFctUzIpR2Z2V0tFezQ+ c3t9XjlEbHlDY2UtMSViZ09CRj1yZVFrSlN0NCZJNzROWlBhWH5HCit6O1NHbDxtY3x1JEsxTllz VF5kfmJPMzktRlg/N1I7KFU4aXNSLT1fNlpAKm1ENnppOTg+TUhCZlp9SE9aLX17ZWUKK3pOSVdf TkoqdmNZcDE0RWM8Wl9EMUpKdXJ3YyRDZl5JJkU2a2lhYV5DKi1WZjFhWHd3YTZAaGJvJDEmUVF7 PXsxZworek85NWxTZzBPVjQraSpWS0FAXz5jWldrZ0NCNn1hVXspUDRfQX10PnNvTlRSflZEPURH KjEkPFFtfU80TD1lSi19Cit6ZyY1OXN6fVhCNW0lMHElJXplWUJyOyZeeE5kKW1UdVFpZztYbXl7 aXN9VDVUdmR3YHZPNWBWa0I2YlU1R1pmYzwKK3ptaXl2Szs5QT5DdmROY2d7aypwXig+SiZATTFN dXJfPDJtZkNncElgc3orTjtoQjAxVGF+fWh7MSZfVjJLM3FWZAorelAxIWJ2aFluXz5pTHBmWlFi NnNiNEdMZXZmKyhPQU1jbUcpRnlecmlOa313VFpVbE1TVHd3P0NNMTB0JCRiT19+Cit6c0ZlQlpM eyVCRnB1bXBRIyFDZGdEblRkc1FXZnFfbDJlTkc3e3lLa1hHdzVfZElnbHZkWDFPMnhDe0IwdUQ8 dnkKK3ohbXJGZWdMITlAd01lTyhIa0BVclYhWnU4SjhmNjZ2X1pJciFaNXA1SVZlaFNqYXEzd04y X1ptSW11cmZPPkNyOworelRETmhramRObHY8SUpQOTVzM01zblVBbk5fZTNDNipZJGB+SGZkWXwo O0hkOStIZGxkR0ktdEA1cX51cVp9fW9GCit6ZW5ybXA+OW5WSHJtTTx3d1hjSGsyUzEpWDAhT05K cXFqbXFeNmJ+dz0yRjlQdmAlR3FQQkUoajNSbXhWb1h1Tl4KK3pzeCFvMVVoezdkb0JLOygpQ0dJ UzQ/eVZvZylgPVchQE8+bms9c2BIbHVEfmNsNnYmd3FrUjZBUjY/JStHZFc3dworem8xSiVfM1po QUw7e2I1eDx4c1U9cVJkZVhfMDYkJnFuPlpDRGhxKXBLKD1gJjItSD9zTGlKUnEkRFE2SSp4PFNp Cit6NXwzKE0waVIzcS1UNGdvREhHN29eUz13UGo5S1hMMDVeZmRMXkNIU1M9al9ubUBkOWp2Mkdi QDNWX1V5LTxiYHMKK3pXMGwzd2tpfVFCcShnanB5VWV9X0o7cTZHUCpvKXFlYlc/UmBPJGtoTTB5 bzJeckQlcDdjWG1JTkdGJDRoVmspYAoreiZ4ang3VT9UYClSR2owbzhGTztAe2RkUDExK0hVTDhH KVVUNSZtWHV2Nz9RSmtAWV99U25WfW1WTUwkMXJVUiMjCit6Z3liTlNxaHUqQkZUPEh1YF9NLVRv O0p4KmhecnclUTl9V0x5cV4ofVFuMj02TlUtNyFgaHZxaSFeUmZNMlolYDIKK3p4bnFMakgjVVNN JmtzZD5QUCVvMjg4YnNATCYjdHsqYVp8JihybUBzODNkWXs+dkQmVXY0YHMwUWJvY1UhUHlLRQor eiV3aWk3TEM/fCRyV0MwcFV9fCZGcFleTm5GOFdrejYwPDAtRD1gaDI9SF4rXl5ydmRIUzJMP2Rz V3ItLUJFTSQwCit6eiVDTCk/VzRlPTRYUyg3b3JmQ0Z7SF9pQl58Nj9ZU347d1ZKcmYkcWA/UDEw Uk1iI0x0WHN4a1diSk07cXFZMEIKK3o4bDN7clFmWFR2ViNBRD9FMms/cz5nMkp2Rn59JSU2Q0k1 QDFaPnlPNCE2ej1XK2Jsaj5SZ08oTyk/S2A1YDAxMQorek1JYj9PXzd+Y1NaU3lUP1BafiF9dTxi cEBAJiEhYVpySH0+cU1rP3YhT0hOXl9Ae1JDdiU7JCk1UkBFNEJeN3FrCit6JFhmTnJgZnNedFdO Nytwcik9JFcoRE13OD1rVG02eiEweEZEd3tEYDRQPzAzK0k4Vkw/bUJyeEtfUk80dT1McEQKK3pU QDN8S2dIQHdyRjIpS0NEbUxVMkFhT2ZBS1g5el8lYVo3QWFjcENVJTxaK0V7RzRGKStXT09yQjF2 dSRWQi18fAoremNRan5XZDxPPyppO3Q8KVIxdjdOKDYzIXNLTTh3bm0hUDl2Y3Q1KHMhdUwhaWRi QWx7bGZnZ1B2Q1RsYzZ2SW4yCit6I3N3cC16Ryk7N2MoTW8yQiE0Z00tbGNkTl87YGR1bEJvSz9x ajsmdmRPM01qOCFCajNye1RzKDAoTi07JSZiakoKK3pkSXdIJHN2N0l+UklZaUdoaiohJGJ9Sigz JDt4VHZiMlNoP3NGcld+KWs4VDJpO3Facj0lKWQ4I1FBfj4wSEZTcgoremJYQGN0NE5RJmZ8Rmtf bTY9fkhVYmxweDtaTHl6V017YztMbFFZVlVSZnZod29URnMxUEg/c2w8ZiN9WFRuPlNiCit6cT1S RDx1Pn1tM3pXPnk4e3N7MFkpc2lhZE4+PzdUYyslX29ZPEktYHYpUEpZOFg4OU8+X2tOVmF9Tmpt UVlMcFEKK3oqeEk2TzJaPGA+X0Q5fGt5OVk3elctaSk/cX5sYW5STHt1QEZ5YXVxVClmM3F0VW1R Y204MXtIU1luemBmaiVqbAorej5obiR4d2whYFZrTS1PQWRgRzhONShQeTxOOTlPSWtNaERUQlJ5 NklifDN4QlN5WkxIRSpRO2JoblooeWdLRzBkCit6LWJCeX1OeSlIdSM8e0lmO3lyTHNVP29pdHZh b2IhZG50OzdRZiZifCpVYGtMX0ZrPWpgdEMrTHkkYW5wWkl5Yj0KK3pNPikme3c8Jm9DV0d8e2pP ITdQe1NpTHxFQyt7K2hrKVpqclFaO3VMKCh1RVlkRVVWJGpZTCFQNT13Yi1wQGNAZworekpSVWQ2 Oy1gVyghZS1aRDRSY19zTDElX2cqeFZUKGVEajdDQ3VlQz9Ba2pZemhDe3RuJnd8ZkM/XzcqKmJH aihFCit6ZD47cEZOM3VLeXdlNkE4O3I+YlEqPHNgSm44STY4JU5DLVVYKHxhMWApKWAlSzt3TTVE b1JnZTxoRE9TY3hQcjsKK3pLfElUNWNTKTYoKDQjWStuQD5kVFozQH0xVjhNcXVBd0dhZWpIKjZH RXI/a1lLdn0jaE5zMEg7aVZkYmZSKFJIXworeiVfald9aiZUbGU0VmwzcE5WbSZVNyZCPl5jUjRa PkdrNGI9PnNUOC1lTFFTblU+UmhWWFVYTHFSbTJfIUsmND1sCit6SlB3Nj0qZDFKVkQkLVV8eHIm ZnVNckZualk0fiVoezkxZnNIKz9mMiR4Q1dsKWwlbzhDOGRJYHZvUlJuZyYtUlUKK3pvRDQ0WVBE VjlCXjE2WTkkVWJaVUgwITc1IUpyPm9oKXVtYkIqelhCamkhS2F1O1ZoNjdvX3R6dnJTRllLezRt ZQorejBkODtgZ1FYWGd3SVQxMklNKlVrYnQ3M3dLKE1LXiklfVNBbzJ7JnZ0SW8hWGFDI0pGSX4y aX1EJUdaYXRPYDZmCit6YV44cTd3cTlybUxWbXomZ0s/U0JDKl4wZUF7fXYlPl5IYE4oYEU4ISoq UV9iN3xXKF9WfFc3eTkjKExDQU48VHsKK3okSFk/X3kmSHR+aj57bStuUkpEMkNuV0F0QH5MVygt NDI3IU1yOUE7WWNtWU1RQX0rbi11UlY9e3xFJjdHcFFHOQorejJPV2V7RFB3REdMR1ZzKFl6VWgk ens0WCFWI0FDSTAjVV5HSHQkR3poQFlPflE1dTxwaUVDfTMkPyUjMjIrYDRmCit6PG5PXyZDY0hE U0wwSlR5Y2l2RjR2XlhvfWd5ITAhUXN8QE5jfjhfT1Mqd01TOEkzSll0QlJEbVR3VXVIUkJFNHMK K3pGcEFBbmNobFI/ZTZGUHpkcnpKV0tUWSV3d01kKENGcXMlKDImOXpaMUN0R0JXMjNyMHRmVHxC ZlVEbyohQD4rPAorelFuMmZJNHlMVC1PckxYTz1pOFRMKXB3a3RlTjMyeGdUQGdabmkhdjFuWXhy bmw9KylHU0w/cHUhUiVKPV9YKzdrCit6NiF8eDJTIS1FQUY8KGt1b2BgaHRqaV5IbCRrbW1HZkx2 OF9tdFo8WlpndFVJTk5ILV8qeE54KWs/blFsIWNeRXYKK3pMZzlmNVVeXjBCdmZ7M1RWOylLem5t PWBePHBtRW9VOXpoY0FQR0tLXjxyV3MkNXIzdTlvIVhHVX5hdkxxVnJedAorem0wUmJxX1J+R0Bk Jn5MXmlefHFrclEoeVdPKyFkbzF4eyZBakVoNzl6NFUkIXc1IWEpTkheNH1ITThDJj11OXZCCit6 WUprVitxPEtKKCNEcHN8dGZHKl5NUSVDLXJxN14yUGtjfXNhanphVE8+bVlKeXh9PiFmQUtwQm09 TFApdXh8ZysKK3pNO14kaE9zbTE0JDcobVVeVktNVjA/Z2c9Qk8/MmxhJTUycz1RX3B7JHsxVXB6 SF5OaCFhQllSQXE7P1J1QndrYQoreiVwS2dgai13SSUhdEMpaEErfVk4anJseEozQmkpJGwpNXd0 aXsyRmh3QCRZUC1peCV+JHBkdX0hWT1Edj07WTw+Cit6K3g8OGZiLW5hdiMmO3NEYSMjTk5FOWpS QSEpJntqVz0qWX53bGgjb0Q/MH0zcWFPemBJQEB8b2RxPHswUTdVbE8KK3o3PE5POHViQW9CaX5T aDVXazByXzdxPz1AMUB+UUQ3cHxNWmczTzdnPSgpPmd4dUV4dDgkMyVgXjNSYyZxN249bAorelQ7 Pl47PEpzODhUSXNoZDRUYkVneSp+bSFsJlV7bnEzP0RTNk5QN0RjdzE9dWlZYCNyd3EqdmhfVUwx NTR4eXFFCit6I2A9NXRJPz1TaXBvcXJ8OVhVdkFqIWREdkEkQDN9a19neEYjPlhkKVZgY1p6dTUm KXQyWUJOMUJjM2l4OUFyfW4KK3pZYi1MQUBtajN1eHdGMipuP1c4MXdnTUF1Tz5qQENUdEFyUzIq Xkd3VjUwODZLKmdNWXE3OzI1dU9hOVEyUFVEJAoremR6N2lwM35jZShRal9pMTdDSndmV2EqeXI/ eXpFV1k0ZjVZUXVtI3V2R3s/Rj9YZnwmJj1JQnheUUNRTHs4PnMxCit6YkRaOXU+dlZBb0xQT2c0 V0h4MjU5Mjs7ZitHQFFYPGMkaSRlWT0tYFljVlQ0Mz1NUWs8MjRzJi1uJWllQ2oxTHEKK3p5SzNn VCF9XiE2VWFmRCskaj88e0pCQk8zcVZSe0xWMHFleEVCN2l2QUMySV5yI1Z3QENTe1Y8N2AmTG94 WT00LQorejNwaDNIZjxGYV9WNkZPXyhZWGw8eGFAVXRSZCFSKk48eVA/Q25tKXtZTVE3PUVqell6 dVZAVC13Pl8xR2x+UUVWCit6X1dES2MmQitub0Bud1A8TkdrRlA+IVByYWFJeUdpQFRZWS0hRXAy O3tKVHxFJT54aGRYNXVpNlN5JUhYOylvVEMKK3o3eCZtVm1HSj8wN3N5PENuPXhOI0hyaGchNCVg WGVVfnwyfXRtYkVZTmRYelp0WGRLXmJQTTxKUEh6ZnlgNzlrYworems2PDJuITJ5JTVqKmdYe25Z RTQlMTh+XjA1KTEoQm5hWSpRKlVRTmo0Z2RtdjJKRkhReyZtNihUV0FZI2BUKUhECit6ekRFI2pv RXx0WUVAfkx8cHkoaCVrQntpKk5Hb0pGazlVR0x3QHBSMkRfWj5BYlZUaG4lUHteXj1sJndfVS0o flYKK3owbFQ0cz9vfk9zIXYrJWJWUTtyb1RWe0pUNjw5a2pEYD9TQ2JHJjZVdGVLRD90dnBlRjZS NyYoMzh7MEJ5QnFKKgorellIYDAqT2wwM3NYZEBWdV51aj10NDhkbVIweWYrP3o/YmRSMEw3SnY2 T05TPVBwRWlSaD5xK0xTYT9kTVAhQSNHCit6QnRidzQhR0lNbEBhSm9GQHQrVUJ8QTdLdnxOYVJY dXEqS09xbldpY3UpdXglVG5QZElfTy16SFpuP2pLe1dlPDEKK3orQSZ4aHFhNXxFS0NvaTgxeF9T RHtUJlJiOG8tQl9VKHRSQyk2cEBySGdvKTRsfFdvIzwtZiZzME9BVGdyYzMxbQorekJGRj07aHEo SmR3bSkhej8/T0E2Kjt4TilpLTVTYWV+PGdAd1lhIUBeQDNJPXUmZ1RKMFJZZSskbTxIYyVse3FN Cit6entiK2okaVZSJTxSNUpPeDA/OGhPemk+ZCs2Ml5zS0dPRlJUVmo1TFktTVh7PFlAR1YjUSVX bjMpSUFVb2s9N0kKK3pLSmNESTB7fXBOQWg4U1p6a2Y8PlpFUi1wMlAkeXBeNTUtUzVEKnBlJTNu NEZfPy1xYkpwaDM2MFFHfE5UVTE5UQorelNJMGtLNzVeVWdzfWkxQzZQI1pHbH40ZHcwPlQ1Pkw3 PzZKRjA3SFleQjw3XnU+THJwcXleSDhmIVhpP0tzeGRGCit6SkJCUng3b0A5IWs/cSRGYD5pK3or SmZ+ejN0UCk+SVVOV0cwMn4wM0FLRG5DKTtHdlQyMlBIQGtBPyFgeyk1Q3sKK3ptN3dxUjd+YHV5 VHFBdEhWPjcwSTsoanlRPGt3SlZGKUV7aWYhQCNzeWJ2RiNIcGNvLSlVUDR5QTllZCVERUtOVgor ejViRHBMS1FPPF95ZW5YOF5DI3dTR2JldEYyKjByVSNTX1R7Qk9xIWdAV09jQFhZcWV3ZWpnWnEw VWkmZ0BZNGN0Cit6V1h1NTJCcCQrPitJfXl4cDFwfmE2fG12aEtXZ04rYz1sQno1Kz4pPDxpTEhh QXAtenF8MUNLRjdTRzswZUdoTTcKK3oxTUZxP213V3R6QEZeNnhSIy1yPGxWU3FedXBYY3pgK2ty OSY4VXhtSGpvNk1xZDRPJlFrNEtaTkRRSFVaX2NoIQoremV9UC0tSVUzdjhUbTdMRD1mOEs4Mz9T fCNWPCNwJjRnZ0BNXm5JdnNPOGc3Zy1wMGdVP0AhcDVlLUIjP2duaE1vCit6LTtjfSUwTmhvNDU4 RFUpJitubmEtcyRWQnFrbFNlLXJ2TDQxN1I9V143MCFvMDAxRj0wMDhOTWltQ1NoZ211KCYKK3ow RkZFVm4lSUc9RSZxR2E3OWduSFNnPjlRUF9AMjVMOzFyYGV6T1YmMiNgTnliI2dTYmB+JFAqWFBD ZEBkIVVHYQorelZnamRaOFFSJFlnWVckcV5BRzN2PmZqJDxPOGdoKkZaPHEpO3J9cS0tQC0tR2Y1 OTdESSsrPW9JbEJGVz8wPFApCit6dlA4VXs4Qm9AQzs2P2dpPE13X0l7PnpLX2k+S3tLMFRDRjYw Umd+XjxeZkxgKClXNyphfW9NXzF7Ti1RX0okNHkKK3pIZGVOSnwwYlhxcCghQX0xZVBwWno/ZW4m ZmJJcUlQd0F3QGcreWMmTWdDKSt6WXRiKGk7R30hZiMkaEteN1NGYgorenc/UnQ8P1dZYDhkSXFM dSo4ZzBJe0NOOEBmMmE5dmB9Xj58cj9FNzBIM1A9U1UqM0ppK1pLdGhIOG00Wk8lSW9WCit6a04t MzV8NiVpdzI2fTheZkR9VCY1S3MwJVEmeG1PcVg5bkooUjB1LUcmQUAmK1lWKVNkWG9hUUZlJWBn czImaUYKK3psS3p5KShiMyphLV50UEYtOyNZIWlZditqKzg4T1k9cGNBVk0pb3RaZV8+KVB6ekZ6 R1JhKUpFMDA0T0ZebkRkSgorek8hKzs5Z1BIM2VhcSNOaiNsYiUrXjUzbExtR0prLVpoQlVoJSll fD8rOGdNYFJLVHhNODdhVEVSUWxFfWhKSiRsCit6S1VtWlI4NDVadCg0eDQyU0AkN3s5Qn1We1Bo LURfQCEhUCU4YldPVG5Cdyklc3JfcUpHVypJYz1tdUNmYU9yO14KK3o4YHRFMU1xPSZZWHp5aDM/ PCFZJnRNUSNTcHY2dURpITF5RzhzcFJkM0Q0SXh7anVBPjVVVDE7THlSbmQzQE5+eworel4zWVYz NFMmcEY9d3hPNGA7Km1RUWBWTDhXUExvYW1wcDBDX1lvSntfe1M3UlIlVldXYmZ4X0Bqd080ZXN4 Nj8kCit6LU5Tc1pEQ24wejtyTWdEPzV7Q0E5SyFqbkBqbW5XMj9ObHxlam15Q1laUnotYnVxS1I3 LWIxRy0tbWxxPT5LRGkKK3plfF4qUGFBNHVMdDVeY2dHNW5FdHs1OEp0KkFgTDVqPyt+TW9TTjVa QGNra2gxQW9sJHVMfHEwLWp+U1RPe05jdworekJrS1BkUTFJO3tkZ0ZnZ0B5KW5gVXQ3aGFBbmA+ ZFV7Mlore0AlZztRaCFHQXUkJUkpQHFsdz0+VSNuITEkZn0/Cit6JkJKS0xUS0ZAYlorZyFDOFZS bVNBV2p1STAxKF4leSN2Qmp7Z353MjdCUm9acGBGQnJ7Mm1QMFB5YHFpQUp6LWwKK3p2cD9aQGN1 TTJmWGRYVGd7JndwVDdKcDNoJkV3Jn1xeGYtRV4pVVpNRmFMO3c8KEtteHJ7MjlQNjN9aH5EOEFx OQorejwpMHdgNUJhYWxvTC1YIzcoaF98RUJ7R3N7YUYwfUFeJG1WcXdvI15jWHxacTxQWXgrYHUy V0NeMXROMmA/blRDCit6VS1SR21mOTFjNmA9OVhxJWx3eWVvVmoyTFdYU2xoe0QlU3hgaCRTVF43 dm9wemY4b0hOQyNsMz5kRUB2e2w+dDQKK3pPITRwWS1AfVJPLX0qJWc7WkhkSi19MnU4JHhqJm1a VEA+V2Yld30rdSMqM247e1AlS25Oc3xpO0B7QEtoZmB5fQorelU0I2hMan5WYFR7KENyfT1VV09z XzgoTEg+LV9ne2UhI2FCQXBBZTBfK1JxaCEhRTFlQCg3OWxqT1NuSHpsVGxICit6ejlxU298MXJ0 RyZ3bWZrQzRTMj4/ZmVzdHxLSSVBP2Z6cSRVKEEyTWVJTjdSaGg0czFpTEJTMzZjM0tSMFEyZlUK K3RKZW00aHdMTl5FX1pQMHUlWFVBfGhmbnVAbVole2hmej5mVTlRZXpMMkxSLX4xe1ZCKXt7dFoo e2BDTD0KKworZGlmZiAtLWdpdCBhL3Rhc2tzL192ZW5kb3IvcGF0aC5weSBiL3Rhc2tzL192ZW5k b3IvcGF0aC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyYzdhNzFjLi4wMDAw MDAwCistLS0gYS90YXNrcy9fdmVuZG9yL3BhdGgucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDE3 MjUgKzAsMCBAQAorLSMKKy0jIFNPVVJDRTogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9w YXRoLnB5CistIyBWRVJTSU9OOiA4LjIuMQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENv cHlyaWdodCAoYykgMjAxMCBNaWtoYWlsIEd1c2Fyb3YKKy0jCistIyBQZXJtaXNzaW9uIGlzIGhl cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBj b3B5CistIyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls ZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAorLSMgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cworLSMg dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl bnNlLCBhbmQvb3Igc2VsbAorLSMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1p dCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCistIyBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorLSMKKy0jIFRoZSBhYm92ZSBj b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1 ZGVkIGluCistIyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0 d2FyZS4KKy0jCistIyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorLSMgSU1QTElFRCwgSU5DTFVESU5HIEJV VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCistIyBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO TyBFVkVOVCBTSEFMTCBUSEUKKy0jIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKy0jIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS T00sCistIyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorLSMgU09GVFdBUkUuCistIworLQorLSIiIgor LXBhdGgucHkgLSBBbiBvYmplY3QgcmVwcmVzZW50aW5nIGEgcGF0aCB0byBhIGZpbGUgb3IgZGly ZWN0b3J5LgorLQorLWh0dHBzOi8vZ2l0aHViLmNvbS9qYXJhY28vcGF0aC5weQorLQorLUV4YW1w bGU6OgorLQorLSAgICBmcm9tIHBhdGggaW1wb3J0IFBhdGgKKy0gICAgZCA9IFBhdGgoJy9ob21l L2d1aWRvL2JpbicpCistICAgIGZvciBmIGluIGQuZmlsZXMoJyoucHknKToKKy0gICAgICAgIGYu Y2htb2QoMG83NTUpCistIiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xp dGVyYWxzCistCistaW1wb3J0IHN5cworLWltcG9ydCB3YXJuaW5ncworLWltcG9ydCBvcworLWlt cG9ydCBmbm1hdGNoCistaW1wb3J0IGdsb2IKKy1pbXBvcnQgc2h1dGlsCistaW1wb3J0IGNvZGVj cworLWltcG9ydCBoYXNobGliCistaW1wb3J0IGVycm5vCistaW1wb3J0IHRlbXBmaWxlCistaW1w b3J0IGZ1bmN0b29scworLWltcG9ydCBvcGVyYXRvcgorLWltcG9ydCByZQorLWltcG9ydCBjb250 ZXh0bGliCistaW1wb3J0IGlvCistZnJvbSBkaXN0dXRpbHMgaW1wb3J0IGRpcl91dGlsCistaW1w b3J0IGltcG9ydGxpYgorLQorLXRyeToKKy0gICAgaW1wb3J0IHdpbjMyc2VjdXJpdHkKKy1leGNl cHQgSW1wb3J0RXJyb3I6CistICAgIHBhc3MKKy0KKy10cnk6CistICAgIGltcG9ydCBwd2QKKy1l eGNlcHQgSW1wb3J0RXJyb3I6CistICAgIHBhc3MKKy0KKy10cnk6CistICAgIGltcG9ydCBncnAK Ky1leGNlcHQgSW1wb3J0RXJyb3I6CistICAgIHBhc3MKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKy0jIFB5dGhvbiAyLzMgc3VwcG9ydAorLVBZMyA9IHN5cy52ZXJzaW9uX2luZm8gPj0gKDMs KQorLVBZMiA9IG5vdCBQWTMKKy0KKy1zdHJpbmdfdHlwZXMgPSBzdHIsCistdGV4dF90eXBlID0g c3RyCistZ2V0Y3dkdSA9IG9zLmdldGN3ZAorLQorLWRlZiBzdXJyb2dhdGVfZXNjYXBlKGVycm9y KToKKy0gICAgIiIiCistICAgIFNpbXVsYXRlIHRoZSBQeXRob24gMyBgYHN1cnJvZ2F0ZWVzY2Fw ZWBgIGhhbmRsZXIsIGJ1dCBmb3IgUHl0aG9uIDIgb25seS4KKy0gICAgIiIiCistICAgIGNoYXJz ID0gZXJyb3Iub2JqZWN0W2Vycm9yLnN0YXJ0OmVycm9yLmVuZF0KKy0gICAgYXNzZXJ0IGxlbihj aGFycykgPT0gMQorLSAgICB2YWwgPSBvcmQoY2hhcnMpCistICAgIHZhbCArPSAweGRjMDAKKy0g ICAgcmV0dXJuIF9fYnVpbHRpbl9fLnVuaWNocih2YWwpLCBlcnJvci5lbmQKKy0KKy1pZiBQWTI6 CistICAgIGltcG9ydCBfX2J1aWx0aW5fXworLSAgICBzdHJpbmdfdHlwZXMgPSBfX2J1aWx0aW5f Xy5iYXNlc3RyaW5nLAorLSAgICB0ZXh0X3R5cGUgPSBfX2J1aWx0aW5fXy51bmljb2RlCistICAg IGdldGN3ZHUgPSBvcy5nZXRjd2R1CistICAgIGNvZGVjcy5yZWdpc3Rlcl9lcnJvcignc3Vycm9n YXRlZXNjYXBlJywgc3Vycm9nYXRlX2VzY2FwZSkKKy0KKy1AY29udGV4dGxpYi5jb250ZXh0bWFu YWdlcgorLWRlZiBpb19lcnJvcl9jb21wYXQoKToKKy0gICAgdHJ5OgorLSAgICAgICAgeWllbGQK Ky0gICAgZXhjZXB0IElPRXJyb3IgYXMgaW9fZXJyOgorLSAgICAgICAgIyBPbiBQeXRob24gMiwg aW8ub3BlbiByYWlzZXMgSU9FcnJvcjsgdHJhbnNmb3JtIHRvIE9TRXJyb3IgZm9yCistICAgICAg ICAjIGZ1dHVyZSBjb21wYXRpYmlsaXR5LgorLSAgICAgICAgb3NfZXJyID0gT1NFcnJvcigqaW9f ZXJyLmFyZ3MpCistICAgICAgICBvc19lcnIuZmlsZW5hbWUgPSBnZXRhdHRyKGlvX2VyciwgJ2Zp bGVuYW1lJywgTm9uZSkKKy0gICAgICAgIHJhaXNlIG9zX2VycgorLQorLSMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworLQorLV9fYWxsX18gPSBbJ1BhdGgnLCAnQ2FzZUluc2Vuc2l0aXZlUGF0dGVybidd CistCistCistTElORVNFUFMgPSBbJ1xyXG4nLCAnXHInLCAnXG4nXQorLVVfTElORVNFUFMgPSBM SU5FU0VQUyArIFsnXHUwMDg1JywgJ1x1MjAyOCcsICdcdTIwMjknXQorLU5FV0xJTkUgPSByZS5j b21waWxlKCd8Jy5qb2luKExJTkVTRVBTKSkKKy1VX05FV0xJTkUgPSByZS5jb21waWxlKCd8Jy5q b2luKFVfTElORVNFUFMpKQorLU5MX0VORCA9IHJlLmNvbXBpbGUocicoPzp7MH0pJCcuZm9ybWF0 KE5FV0xJTkUucGF0dGVybikpCistVV9OTF9FTkQgPSByZS5jb21waWxlKHInKD86ezB9KSQnLmZv cm1hdChVX05FV0xJTkUucGF0dGVybikpCistCistCistdHJ5OgorLSAgICBpbXBvcnQgcGtnX3Jl c291cmNlcworLSAgICBfX3ZlcnNpb25fXyA9IHBrZ19yZXNvdXJjZXMucmVxdWlyZSgncGF0aC5w eScpWzBdLnZlcnNpb24KKy1leGNlcHQgRXhjZXB0aW9uOgorLSAgICBfX3ZlcnNpb25fXyA9ICc4 LjIuMScgICAjIFhYWC1NT0RJRklFRC1XQVM6ICd1bmtub3duJworLQorLQorLWNsYXNzIFRyZWVX YWxrV2FybmluZyhXYXJuaW5nKToKKy0gICAgcGFzcworLQorLQorLSMgZnJvbSBqYXJhY28uZnVu Y3Rvb2xzCistZGVmIGNvbXBvc2UoKmZ1bmNzKToKKy0gICAgY29tcG9zZV90d28gPSBsYW1iZGEg ZjEsIGYyOiBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiBmMShmMigqYXJncywgKiprd2FyZ3MpKQor LSAgICByZXR1cm4gZnVuY3Rvb2xzLnJlZHVjZShjb21wb3NlX3R3bywgZnVuY3MpCistCistCist ZGVmIHNpbXBsZV9jYWNoZShmdW5jKToKKy0gICAgIiIiCistICAgIFNhdmUgcmVzdWx0cyBmb3Ig dGhlIDptZXRoOidwYXRoLnVzaW5nX21vZHVsZScgY2xhc3NtZXRob2QuCistICAgIFdoZW4gUHl0 aG9uIDMuMiBpcyBhdmFpbGFibGUsIHVzZSBmdW5jdG9vbHMubHJ1X2NhY2hlIGluc3RlYWQuCist ICAgICIiIgorLSAgICBzYXZlZF9yZXN1bHRzID0ge30KKy0KKy0gICAgZGVmIHdyYXBwZXIoY2xz LCBtb2R1bGUpOgorLSAgICAgICAgaWYgbW9kdWxlIGluIHNhdmVkX3Jlc3VsdHM6CistICAgICAg ICAgICAgcmV0dXJuIHNhdmVkX3Jlc3VsdHNbbW9kdWxlXQorLSAgICAgICAgc2F2ZWRfcmVzdWx0 c1ttb2R1bGVdID0gZnVuYyhjbHMsIG1vZHVsZSkKKy0gICAgICAgIHJldHVybiBzYXZlZF9yZXN1 bHRzW21vZHVsZV0KKy0gICAgcmV0dXJuIHdyYXBwZXIKKy0KKy0KKy1jbGFzcyBDbGFzc1Byb3Bl cnR5KHByb3BlcnR5KToKKy0gICAgZGVmIF9fZ2V0X18oc2VsZiwgY2xzLCBvd25lcik6CistICAg ICAgICByZXR1cm4gc2VsZi5mZ2V0Ll9fZ2V0X18oTm9uZSwgb3duZXIpKCkKKy0KKy0KKy1jbGFz cyBtdWx0aW1ldGhvZChvYmplY3QpOgorLSAgICAiIiIKKy0gICAgQWN0cyBsaWtlIGEgY2xhc3Nt ZXRob2Qgd2hlbiBpbnZva2VkIGZyb20gdGhlIGNsYXNzIGFuZCBsaWtlIGFuCistICAgIGluc3Rh bmNlbWV0aG9kIHdoZW4gaW52b2tlZCBmcm9tIHRoZSBpbnN0YW5jZS4KKy0gICAgIiIiCistICAg IGRlZiBfX2luaXRfXyhzZWxmLCBmdW5jKToKKy0gICAgICAgIHNlbGYuZnVuYyA9IGZ1bmMKKy0K Ky0gICAgZGVmIF9fZ2V0X18oc2VsZiwgaW5zdGFuY2UsIG93bmVyKToKKy0gICAgICAgIHJldHVy biAoCistICAgICAgICAgICAgZnVuY3Rvb2xzLnBhcnRpYWwoc2VsZi5mdW5jLCBvd25lcikgaWYg aW5zdGFuY2UgaXMgTm9uZQorLSAgICAgICAgICAgIGVsc2UgZnVuY3Rvb2xzLnBhcnRpYWwoc2Vs Zi5mdW5jLCBvd25lciwgaW5zdGFuY2UpCistICAgICAgICApCistCistCistY2xhc3MgUGF0aCh0 ZXh0X3R5cGUpOgorLSAgICAiIiIKKy0gICAgUmVwcmVzZW50cyBhIGZpbGVzeXN0ZW0gcGF0aC4K Ky0KKy0gICAgRm9yIGRvY3VtZW50YXRpb24gb24gaW5kaXZpZHVhbCBtZXRob2RzLCBjb25zdWx0 IHRoZWlyCistICAgIGNvdW50ZXJwYXJ0cyBpbiA6bW9kOmBvcy5wYXRoYC4KKy0KKy0gICAgU29t ZSBtZXRob2RzIGFyZSBhZGRpdGlvbmFsbHkgaW5jbHVkZWQgZnJvbSA6bW9kOmBzaHV0aWxgLgor LSAgICBUaGUgZnVuY3Rpb25zIGFyZSBsaW5rZWQgZGlyZWN0bHkgaW50byB0aGUgY2xhc3MgbmFt ZXNwYWNlCistICAgIHN1Y2ggdGhhdCB0aGV5IHdpbGwgYmUgYm91bmQgdG8gdGhlIFBhdGggaW5z dGFuY2UuIEZvciBleGFtcGxlLAorLSAgICBgYFBhdGgoc3JjKS5jb3B5KHRhcmdldClgYCBpcyBl cXVpdmFsZW50IHRvCistICAgIGBgc2h1dGlsLmNvcHkoc3JjLCB0YXJnZXQpYGAuIFRoZXJlZm9y ZSwgd2hlbiByZWZlcmVuY2luZworLSAgICB0aGUgZG9jcyBmb3IgdGhlc2UgbWV0aG9kcywgYXNz dW1lIGBzcmNgIHJlZmVyZW5jZXMgYHNlbGZgLAorLSAgICB0aGUgUGF0aCBpbnN0YW5jZS4KKy0g ICAgIiIiCistCistICAgIG1vZHVsZSA9IG9zLnBhdGgKKy0gICAgIiIiIFRoZSBwYXRoIG1vZHVs ZSB0byB1c2UgZm9yIHBhdGggb3BlcmF0aW9ucy4KKy0KKy0gICAgLi4gc2VlYWxzbzo6IDptb2Q6 YG9zLnBhdGhgCistICAgICIiIgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3RoZXI9Jycp OgorLSAgICAgICAgaWYgb3RoZXIgaXMgTm9uZToKKy0gICAgICAgICAgICByYWlzZSBUeXBlRXJy b3IoIkludmFsaWQgaW5pdGlhbCB2YWx1ZSBmb3IgcGF0aDogTm9uZSIpCistCistICAgIEBjbGFz c21ldGhvZAorLSAgICBAc2ltcGxlX2NhY2hlCistICAgIGRlZiB1c2luZ19tb2R1bGUoY2xzLCBt b2R1bGUpOgorLSAgICAgICAgc3ViY2xhc3NfbmFtZSA9IGNscy5fX25hbWVfXyArICdfJyArIG1v ZHVsZS5fX25hbWVfXworLSAgICAgICAgaWYgUFkyOgorLSAgICAgICAgICAgIHN1YmNsYXNzX25h bWUgPSBzdHIoc3ViY2xhc3NfbmFtZSkKKy0gICAgICAgIGJhc2VzID0gKGNscywpCistICAgICAg ICBucyA9IHsnbW9kdWxlJzogbW9kdWxlfQorLSAgICAgICAgcmV0dXJuIHR5cGUoc3ViY2xhc3Nf bmFtZSwgYmFzZXMsIG5zKQorLQorLSAgICBAQ2xhc3NQcm9wZXJ0eQorLSAgICBAY2xhc3NtZXRo b2QKKy0gICAgZGVmIF9uZXh0X2NsYXNzKGNscyk6CistICAgICAgICAiIiIKKy0gICAgICAgIFdo YXQgY2xhc3Mgc2hvdWxkIGJlIHVzZWQgdG8gY29uc3RydWN0IG5ldyBpbnN0YW5jZXMgZnJvbSB0 aGlzIGNsYXNzCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBjbHMKKy0KKy0gICAgQGNs YXNzbWV0aG9kCistICAgIGRlZiBfYWx3YXlzX3VuaWNvZGUoY2xzLCBwYXRoKToKKy0gICAgICAg ICIiIgorLSAgICAgICAgRW5zdXJlIHRoZSBwYXRoIGFzIHJldHJpZXZlZCBmcm9tIGEgUHl0aG9u IEFQSSwgc3VjaCBhcyA6ZnVuYzpgb3MubGlzdGRpcmAsCistICAgICAgICBpcyBhIHByb3BlciBV bmljb2RlIHN0cmluZy4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgUFkzIG9yIGlzaW5zdGFu Y2UocGF0aCwgdGV4dF90eXBlKToKKy0gICAgICAgICAgICByZXR1cm4gcGF0aAorLSAgICAgICAg cmV0dXJuIHBhdGguZGVjb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSwgJ3N1cnJvZ2F0 ZWVzY2FwZScpCistCistICAgICMgLS0tIFNwZWNpYWwgUHl0aG9uIG1ldGhvZHMuCistCistICAg IGRlZiBfX3JlcHJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiAnJXMoJXMpJyAlICh0eXBlKHNl bGYpLl9fbmFtZV9fLCBzdXBlcihQYXRoLCBzZWxmKS5fX3JlcHJfXygpKQorLQorLSAgICAjIEFk ZGluZyBhIFBhdGggYW5kIGEgc3RyaW5nIHlpZWxkcyBhIFBhdGguCistICAgIGRlZiBfX2FkZF9f KHNlbGYsIG1vcmUpOgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9u ZXh0X2NsYXNzKHN1cGVyKFBhdGgsIHNlbGYpLl9fYWRkX18obW9yZSkpCistICAgICAgICBleGNl cHQgVHlwZUVycm9yOiAgIyBQeXRob24gYnVnCistICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxl bWVudGVkCistCistICAgIGRlZiBfX3JhZGRfXyhzZWxmLCBvdGhlcik6CistICAgICAgICBpZiBu b3QgaXNpbnN0YW5jZShvdGhlciwgc3RyaW5nX3R5cGVzKToKKy0gICAgICAgICAgICByZXR1cm4g Tm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKG90aGVyLl9f YWRkX18oc2VsZikpCistCistICAgICMgVGhlIC8gb3BlcmF0b3Igam9pbnMgUGF0aHMuCistICAg IGRlZiBfX2Rpdl9fKHNlbGYsIHJlbCk6CistICAgICAgICAiIiIgZnAuX19kaXZfXyhyZWwpID09 IGZwIC8gcmVsID09IGZwLmpvaW5wYXRoKHJlbCkKKy0KKy0gICAgICAgIEpvaW4gdHdvIHBhdGgg Y29tcG9uZW50cywgYWRkaW5nIGEgc2VwYXJhdG9yIGNoYXJhY3RlciBpZgorLSAgICAgICAgbmVl ZGVkLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmpvaW5gCistICAg ICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmpv aW4oc2VsZiwgcmVsKSkKKy0KKy0gICAgIyBNYWtlIHRoZSAvIG9wZXJhdG9yIHdvcmsgZXZlbiB3 aGVuIHRydWUgZGl2aXNpb24gaXMgZW5hYmxlZC4KKy0gICAgX190cnVlZGl2X18gPSBfX2Rpdl9f CistCistICAgICMgVGhlIC8gb3BlcmF0b3Igam9pbnMgUGF0aHMgdGhlIG90aGVyIHdheSBhcm91 bmQKKy0gICAgZGVmIF9fcmRpdl9fKHNlbGYsIHJlbCk6CistICAgICAgICAiIiIgZnAuX19yZGl2 X18ocmVsKSA9PSByZWwgLyBmcAorLQorLSAgICAgICAgSm9pbiB0d28gcGF0aCBjb21wb25lbnRz LCBhZGRpbmcgYSBzZXBhcmF0b3IgY2hhcmFjdGVyIGlmCistICAgICAgICBuZWVkZWQuCistCist ICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguam9pbmAKKy0gICAgICAgICIiIgor LSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUuam9pbihyZWwsIHNl bGYpKQorLQorLSAgICAjIE1ha2UgdGhlIC8gb3BlcmF0b3Igd29yayBldmVuIHdoZW4gdHJ1ZSBk aXZpc2lvbiBpcyBlbmFibGVkLgorLSAgICBfX3J0cnVlZGl2X18gPSBfX3JkaXZfXworLQorLSAg ICBkZWYgX19lbnRlcl9fKHNlbGYpOgorLSAgICAgICAgc2VsZi5fb2xkX2RpciA9IHNlbGYuZ2V0 Y3dkKCkKKy0gICAgICAgIG9zLmNoZGlyKHNlbGYpCistICAgICAgICByZXR1cm4gc2VsZgorLQor LSAgICBkZWYgX19leGl0X18oc2VsZiwgKl8pOgorLSAgICAgICAgb3MuY2hkaXIoc2VsZi5fb2xk X2RpcikKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBnZXRjd2QoY2xzKToKKy0gICAg ICAgICIiIiBSZXR1cm4gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgYXMgYSBwYXRoIG9i amVjdC4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MuZ2V0Y3dkdWAKKy0gICAg ICAgICIiIgorLSAgICAgICAgcmV0dXJuIGNscyhnZXRjd2R1KCkpCistCistICAgICMKKy0gICAg IyAtLS0gT3BlcmF0aW9ucyBvbiBQYXRoIHN0cmluZ3MuCistCistICAgIGRlZiBhYnNwYXRoKHNl bGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5hYnNwYXRoYCAi IiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmFic3BhdGgo c2VsZikpCistCistICAgIGRlZiBub3JtY2FzZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVh bHNvOjogOmZ1bmM6YG9zLnBhdGgubm9ybWNhc2VgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYu X25leHRfY2xhc3Moc2VsZi5tb2R1bGUubm9ybWNhc2Uoc2VsZikpCistCistICAgIGRlZiBub3Jt cGF0aChzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGgubm9y bXBhdGhgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUu bm9ybXBhdGgoc2VsZikpCistCistICAgIGRlZiByZWFscGF0aChzZWxmKToKKy0gICAgICAgICIi IiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGgucmVhbHBhdGhgICIiIgorLSAgICAgICAgcmV0 dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUucmVhbHBhdGgoc2VsZikpCistCistICAg IGRlZiBleHBhbmR1c2VyKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpg b3MucGF0aC5leHBhbmR1c2VyYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNz KHNlbGYubW9kdWxlLmV4cGFuZHVzZXIoc2VsZikpCistCistICAgIGRlZiBleHBhbmR2YXJzKHNl bGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5leHBhbmR2YXJz YCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmV4cGFu ZHZhcnMoc2VsZikpCistCistICAgIGRlZiBkaXJuYW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4u IHNlZWFsc286OiA6YXR0cjpgcGFyZW50YCwgOmZ1bmM6YG9zLnBhdGguZGlybmFtZWAgIiIiCist ICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5kaXJuYW1lKHNlbGYp KQorLQorLSAgICBkZWYgYmFzZW5hbWUoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6 IDphdHRyOmBuYW1lYCwgOmZ1bmM6YG9zLnBhdGguYmFzZW5hbWVgICIiIgorLSAgICAgICAgcmV0 dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUuYmFzZW5hbWUoc2VsZikpCistCistICAg IGRlZiBleHBhbmQoc2VsZik6CistICAgICAgICAiIiIgQ2xlYW4gdXAgYSBmaWxlbmFtZSBieSBj YWxsaW5nIDptZXRoOmBleHBhbmR2YXJzKClgLAorLSAgICAgICAgOm1ldGg6YGV4cGFuZHVzZXIo KWAsIGFuZCA6bWV0aDpgbm9ybXBhdGgoKWAgb24gaXQuCistCistICAgICAgICBUaGlzIGlzIGNv bW1vbmx5IGV2ZXJ5dGhpbmcgbmVlZGVkIHRvIGNsZWFuIHVwIGEgZmlsZW5hbWUKKy0gICAgICAg IHJlYWQgZnJvbSBhIGNvbmZpZ3VyYXRpb24gZmlsZSwgZm9yIGV4YW1wbGUuCistICAgICAgICAi IiIKKy0gICAgICAgIHJldHVybiBzZWxmLmV4cGFuZHZhcnMoKS5leHBhbmR1c2VyKCkubm9ybXBh dGgoKQorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIG5hbWViYXNlKHNlbGYpOgorLSAgICAg ICAgIiIiIFRoZSBzYW1lIGFzIDptZXRoOmBuYW1lYCwgYnV0IHdpdGggb25lIGZpbGUgZXh0ZW5z aW9uIHN0cmlwcGVkIG9mZi4KKy0KKy0gICAgICAgIEZvciBleGFtcGxlLAorLSAgICAgICAgYGBQ YXRoKCcvaG9tZS9ndWlkby9weXRob24udGFyLmd6JykubmFtZSA9PSAncHl0aG9uLnRhci5neidg YCwKKy0gICAgICAgIGJ1dAorLSAgICAgICAgYGBQYXRoKCcvaG9tZS9ndWlkby9weXRob24udGFy Lmd6JykubmFtZWJhc2UgPT0gJ3B5dGhvbi50YXInYGAuCistICAgICAgICAiIiIKKy0gICAgICAg IGJhc2UsIGV4dCA9IHNlbGYubW9kdWxlLnNwbGl0ZXh0KHNlbGYubmFtZSkKKy0gICAgICAgIHJl dHVybiBiYXNlCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgZXh0KHNlbGYpOgorLSAgICAg ICAgIiIiIFRoZSBmaWxlIGV4dGVuc2lvbiwgZm9yIGV4YW1wbGUgYGAnLnB5J2BgLiAiIiIKKy0g ICAgICAgIGYsIGV4dCA9IHNlbGYubW9kdWxlLnNwbGl0ZXh0KHNlbGYpCistICAgICAgICByZXR1 cm4gZXh0CistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgZHJpdmUoc2VsZik6CistICAgICAg ICAiIiIgVGhlIGRyaXZlIHNwZWNpZmllciwgZm9yIGV4YW1wbGUgYGAnQzonYGAuCistCistICAg ICAgICBUaGlzIGlzIGFsd2F5cyBlbXB0eSBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3QgdXNlIGRyaXZl IHNwZWNpZmllcnMuCistICAgICAgICAiIiIKKy0gICAgICAgIGRyaXZlLCByID0gc2VsZi5tb2R1 bGUuc3BsaXRkcml2ZShzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MoZHJp dmUpCistCistICAgIHBhcmVudCA9IHByb3BlcnR5KAorLSAgICAgICAgZGlybmFtZSwgTm9uZSwg Tm9uZSwKKy0gICAgICAgICIiIiBUaGlzIHBhdGgncyBwYXJlbnQgZGlyZWN0b3J5LCBhcyBhIG5l dyBQYXRoIG9iamVjdC4KKy0KKy0gICAgICAgIEZvciBleGFtcGxlLAorLSAgICAgICAgYGBQYXRo KCcvdXNyL2xvY2FsL2xpYi9saWJweXRob24uc28nKS5wYXJlbnQgPT0KKy0gICAgICAgIFBhdGgo Jy91c3IvbG9jYWwvbGliJylgYAorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBkaXJu YW1lYCwgOmZ1bmM6YG9zLnBhdGguZGlybmFtZWAKKy0gICAgICAgICIiIikKKy0KKy0gICAgbmFt ZSA9IHByb3BlcnR5KAorLSAgICAgICAgYmFzZW5hbWUsIE5vbmUsIE5vbmUsCistICAgICAgICAi IiIgVGhlIG5hbWUgb2YgdGhpcyBmaWxlIG9yIGRpcmVjdG9yeSB3aXRob3V0IHRoZSBmdWxsIHBh dGguCistCistICAgICAgICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBgUGF0aCgnL3Vzci9sb2Nh bC9saWIvbGlicHl0aG9uLnNvJykubmFtZSA9PSAnbGlicHl0aG9uLnNvJ2BgCistCistICAgICAg ICAuLiBzZWVhbHNvOjogOm1ldGg6YGJhc2VuYW1lYCwgOmZ1bmM6YG9zLnBhdGguYmFzZW5hbWVg CistICAgICAgICAiIiIpCistCistICAgIGRlZiBzcGxpdHBhdGgoc2VsZik6CistICAgICAgICAi IiIgcC5zcGxpdHBhdGgoKSAtPiBSZXR1cm4gYGAocC5wYXJlbnQsIHAubmFtZSlgYC4KKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6YXR0cjpgcGFyZW50YCwgOmF0dHI6YG5hbWVgLCA6ZnVuYzpg b3MucGF0aC5zcGxpdGAKKy0gICAgICAgICIiIgorLSAgICAgICAgcGFyZW50LCBjaGlsZCA9IHNl bGYubW9kdWxlLnNwbGl0KHNlbGYpCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhw YXJlbnQpLCBjaGlsZAorLQorLSAgICBkZWYgc3BsaXRkcml2ZShzZWxmKToKKy0gICAgICAgICIi IiBwLnNwbGl0ZHJpdmUoKSAtPiBSZXR1cm4gYGAocC5kcml2ZSwgPHRoZSByZXN0IG9mIHA+KWBg LgorLQorLSAgICAgICAgU3BsaXQgdGhlIGRyaXZlIHNwZWNpZmllciBmcm9tIHRoaXMgcGF0aC4g IElmIHRoZXJlIGlzCistICAgICAgICBubyBkcml2ZSBzcGVjaWZpZXIsIDpzYW1wOmB7cC5kcml2 ZX1gIGlzIGVtcHR5LCBzbyB0aGUgcmV0dXJuIHZhbHVlCistICAgICAgICBpcyBzaW1wbHkgYGAo UGF0aCgnJyksIHApYGAuICBUaGlzIGlzIGFsd2F5cyB0aGUgY2FzZSBvbiBVbml4LgorLQorLSAg ICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLnNwbGl0ZHJpdmVgCistICAgICAgICAi IiIKKy0gICAgICAgIGRyaXZlLCByZWwgPSBzZWxmLm1vZHVsZS5zcGxpdGRyaXZlKHNlbGYpCist ICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhkcml2ZSksIHJlbAorLQorLSAgICBkZWYg c3BsaXRleHQoc2VsZik6CistICAgICAgICAiIiIgcC5zcGxpdGV4dCgpIC0+IFJldHVybiBgYChw LnN0cmlwZXh0KCksIHAuZXh0KWBgLgorLQorLSAgICAgICAgU3BsaXQgdGhlIGZpbGVuYW1lIGV4 dGVuc2lvbiBmcm9tIHRoaXMgcGF0aCBhbmQgcmV0dXJuCistICAgICAgICB0aGUgdHdvIHBhcnRz LiAgRWl0aGVyIHBhcnQgbWF5IGJlIGVtcHR5LgorLQorLSAgICAgICAgVGhlIGV4dGVuc2lvbiBp cyBldmVyeXRoaW5nIGZyb20gYGAnLidgYCB0byB0aGUgZW5kIG9mIHRoZQorLSAgICAgICAgbGFz dCBwYXRoIHNlZ21lbnQuICBUaGlzIGhhcyB0aGUgcHJvcGVydHkgdGhhdCBpZgorLSAgICAgICAg YGAoYSwgYikgPT0gcC5zcGxpdGV4dCgpYGAsIHRoZW4gYGBhICsgYiA9PSBwYGAuCistCistICAg ICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguc3BsaXRleHRgCistICAgICAgICAiIiIK Ky0gICAgICAgIGZpbGVuYW1lLCBleHQgPSBzZWxmLm1vZHVsZS5zcGxpdGV4dChzZWxmKQorLSAg ICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MoZmlsZW5hbWUpLCBleHQKKy0KKy0gICAgZGVm IHN0cmlwZXh0KHNlbGYpOgorLSAgICAgICAgIiIiIHAuc3RyaXBleHQoKSAtPiBSZW1vdmUgb25l IGZpbGUgZXh0ZW5zaW9uIGZyb20gdGhlIHBhdGguCistCistICAgICAgICBGb3IgZXhhbXBsZSwg YGBQYXRoKCcvaG9tZS9ndWlkby9weXRob24udGFyLmd6Jykuc3RyaXBleHQoKWBgCistICAgICAg ICByZXR1cm5zIGBgUGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9uLnRhcicpYGAuCistICAgICAgICAi IiIKKy0gICAgICAgIHJldHVybiBzZWxmLnNwbGl0ZXh0KClbMF0KKy0KKy0gICAgZGVmIHNwbGl0 dW5jKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5zcGxp dHVuY2AgIiIiCistICAgICAgICB1bmMsIHJlc3QgPSBzZWxmLm1vZHVsZS5zcGxpdHVuYyhzZWxm KQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3ModW5jKSwgcmVzdAorLQorLSAgICBA cHJvcGVydHkKKy0gICAgZGVmIHVuY3NoYXJlKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAg ICBUaGUgVU5DIG1vdW50IHBvaW50IGZvciB0aGlzIHBhdGguCistICAgICAgICBUaGlzIGlzIGVt cHR5IGZvciBwYXRocyBvbiBsb2NhbCBkcml2ZXMuCistICAgICAgICAiIiIKKy0gICAgICAgIHVu YywgciA9IHNlbGYubW9kdWxlLnNwbGl0dW5jKHNlbGYpCistICAgICAgICByZXR1cm4gc2VsZi5f bmV4dF9jbGFzcyh1bmMpCistCistICAgIEBtdWx0aW1ldGhvZAorLSAgICBkZWYgam9pbnBhdGgo Y2xzLCBmaXJzdCwgKm90aGVycyk6CistICAgICAgICAiIiIKKy0gICAgICAgIEpvaW4gZmlyc3Qg dG8gemVybyBvciBtb3JlIDpjbGFzczpgUGF0aGAgY29tcG9uZW50cywgYWRkaW5nIGEgc2VwYXJh dG9yCistICAgICAgICBjaGFyYWN0ZXIgKDpzYW1wOmB7Zmlyc3R9Lm1vZHVsZS5zZXBgKSBpZiBu ZWVkZWQuICBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mCistICAgICAgICA6c2FtcDpge2ZpcnN0 fS5fbmV4dF9jbGFzc2AuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGgu am9pbmAKKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZmlyc3QsIGNs cyk6CistICAgICAgICAgICAgZmlyc3QgPSBjbHMoZmlyc3QpCistICAgICAgICByZXR1cm4gZmly c3QuX25leHRfY2xhc3MoZmlyc3QubW9kdWxlLmpvaW4oZmlyc3QsICpvdGhlcnMpKQorLQorLSAg ICBkZWYgc3BsaXRhbGwoc2VsZik6CistICAgICAgICByIiIiIFJldHVybiBhIGxpc3Qgb2YgdGhl IHBhdGggY29tcG9uZW50cyBpbiB0aGlzIHBhdGguCistCistICAgICAgICBUaGUgZmlyc3QgaXRl bSBpbiB0aGUgbGlzdCB3aWxsIGJlIGEgUGF0aC4gIEl0cyB2YWx1ZSB3aWxsIGJlCistICAgICAg ICBlaXRoZXIgOmRhdGE6YG9zLmN1cmRpcmAsIDpkYXRhOmBvcy5wYXJkaXJgLCBlbXB0eSwgb3Ig dGhlIHJvb3QKKy0gICAgICAgIGRpcmVjdG9yeSBvZiB0aGlzIHBhdGggKGZvciBleGFtcGxlLCBg YCcvJ2BgIG9yIGBgJ0M6XFwnYGApLiAgVGhlCistICAgICAgICBvdGhlciBpdGVtcyBpbiB0aGUg bGlzdCB3aWxsIGJlIHN0cmluZ3MuCistCistICAgICAgICBgYHBhdGguUGF0aC5qb2lucGF0aCgq cmVzdWx0KWBgIHdpbGwgeWllbGQgdGhlIG9yaWdpbmFsIHBhdGguCistICAgICAgICAiIiIKKy0g ICAgICAgIHBhcnRzID0gW10KKy0gICAgICAgIGxvYyA9IHNlbGYKKy0gICAgICAgIHdoaWxlIGxv YyAhPSBvcy5jdXJkaXIgYW5kIGxvYyAhPSBvcy5wYXJkaXI6CistICAgICAgICAgICAgcHJldiA9 IGxvYworLSAgICAgICAgICAgIGxvYywgY2hpbGQgPSBwcmV2LnNwbGl0cGF0aCgpCistICAgICAg ICAgICAgaWYgbG9jID09IHByZXY6CistICAgICAgICAgICAgICAgIGJyZWFrCistICAgICAgICAg ICAgcGFydHMuYXBwZW5kKGNoaWxkKQorLSAgICAgICAgcGFydHMuYXBwZW5kKGxvYykKKy0gICAg ICAgIHBhcnRzLnJldmVyc2UoKQorLSAgICAgICAgcmV0dXJuIHBhcnRzCistCistICAgIGRlZiBy ZWxwYXRoKHNlbGYsIHN0YXJ0PScuJyk6CistICAgICAgICAiIiIgUmV0dXJuIHRoaXMgcGF0aCBh cyBhIHJlbGF0aXZlIHBhdGgsCistICAgICAgICBiYXNlZCBmcm9tIGBzdGFydGAsIHdoaWNoIGRl ZmF1bHRzIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorLSAgICAgICAgIiIiCist ICAgICAgICBjd2QgPSBzZWxmLl9uZXh0X2NsYXNzKHN0YXJ0KQorLSAgICAgICAgcmV0dXJuIGN3 ZC5yZWxwYXRodG8oc2VsZikKKy0KKy0gICAgZGVmIHJlbHBhdGh0byhzZWxmLCBkZXN0KToKKy0g ICAgICAgICIiIiBSZXR1cm4gYSByZWxhdGl2ZSBwYXRoIGZyb20gYHNlbGZgIHRvIGBkZXN0YC4K Ky0KKy0gICAgICAgIElmIHRoZXJlIGlzIG5vIHJlbGF0aXZlIHBhdGggZnJvbSBgc2VsZmAgdG8g YGRlc3RgLCBmb3IgZXhhbXBsZSBpZgorLSAgICAgICAgdGhleSByZXNpZGUgb24gZGlmZmVyZW50 IGRyaXZlcyBpbiBXaW5kb3dzLCB0aGVuIHRoaXMgcmV0dXJucworLSAgICAgICAgYGBkZXN0LmFi c3BhdGgoKWBgLgorLSAgICAgICAgIiIiCistICAgICAgICBvcmlnaW4gPSBzZWxmLmFic3BhdGgo KQorLSAgICAgICAgZGVzdCA9IHNlbGYuX25leHRfY2xhc3MoZGVzdCkuYWJzcGF0aCgpCistCist ICAgICAgICBvcmlnX2xpc3QgPSBvcmlnaW4ubm9ybWNhc2UoKS5zcGxpdGFsbCgpCistICAgICAg ICAjIERvbid0IG5vcm1jYXNlIGRlc3QhICBXZSB3YW50IHRvIHByZXNlcnZlIHRoZSBjYXNlLgor LSAgICAgICAgZGVzdF9saXN0ID0gZGVzdC5zcGxpdGFsbCgpCistCistICAgICAgICBpZiBvcmln X2xpc3RbMF0gIT0gc2VsZi5tb2R1bGUubm9ybWNhc2UoZGVzdF9saXN0WzBdKToKKy0gICAgICAg ICAgICAjIENhbid0IGdldCBoZXJlIGZyb20gdGhlcmUuCistICAgICAgICAgICAgcmV0dXJuIGRl c3QKKy0KKy0gICAgICAgICMgRmluZCB0aGUgbG9jYXRpb24gd2hlcmUgdGhlIHR3byBwYXRocyBz dGFydCB0byBkaWZmZXIuCistICAgICAgICBpID0gMAorLSAgICAgICAgZm9yIHN0YXJ0X3NlZywg ZGVzdF9zZWcgaW4gemlwKG9yaWdfbGlzdCwgZGVzdF9saXN0KToKKy0gICAgICAgICAgICBpZiBz dGFydF9zZWcgIT0gc2VsZi5tb2R1bGUubm9ybWNhc2UoZGVzdF9zZWcpOgorLSAgICAgICAgICAg ICAgICBicmVhaworLSAgICAgICAgICAgIGkgKz0gMQorLQorLSAgICAgICAgIyBOb3cgaSBpcyB0 aGUgcG9pbnQgd2hlcmUgdGhlIHR3byBwYXRocyBkaXZlcmdlLgorLSAgICAgICAgIyBOZWVkIGEg Y2VydGFpbiBudW1iZXIgb2YgIm9zLnBhcmRpciJzIHRvIHdvcmsgdXAKKy0gICAgICAgICMgZnJv bSB0aGUgb3JpZ2luIHRvIHRoZSBwb2ludCBvZiBkaXZlcmdlbmNlLgorLSAgICAgICAgc2VnbWVu dHMgPSBbb3MucGFyZGlyXSAqIChsZW4ob3JpZ19saXN0KSAtIGkpCistICAgICAgICAjIE5lZWQg dG8gYWRkIHRoZSBkaXZlcmdpbmcgcGFydCBvZiBkZXN0X2xpc3QuCistICAgICAgICBzZWdtZW50 cyArPSBkZXN0X2xpc3RbaTpdCistICAgICAgICBpZiBsZW4oc2VnbWVudHMpID09IDA6CistICAg ICAgICAgICAgIyBJZiB0aGV5IGhhcHBlbiB0byBiZSBpZGVudGljYWwsIHVzZSBvcy5jdXJkaXIu CistICAgICAgICAgICAgcmVscGF0aCA9IG9zLmN1cmRpcgorLSAgICAgICAgZWxzZToKKy0gICAg ICAgICAgICByZWxwYXRoID0gc2VsZi5tb2R1bGUuam9pbigqc2VnbWVudHMpCistICAgICAgICBy ZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhyZWxwYXRoKQorLQorLSAgICAjIC0tLSBMaXN0aW5nLCBz ZWFyY2hpbmcsIHdhbGtpbmcsIGFuZCBtYXRjaGluZworLQorLSAgICBkZWYgbGlzdGRpcihzZWxm LCBwYXR0ZXJuPU5vbmUpOgorLSAgICAgICAgIiIiIEQubGlzdGRpcigpIC0+IExpc3Qgb2YgaXRl bXMgaW4gdGhpcyBkaXJlY3RvcnkuCistCistICAgICAgICBVc2UgOm1ldGg6YGZpbGVzYCBvciA6 bWV0aDpgZGlyc2AgaW5zdGVhZCBpZiB5b3Ugd2FudCBhIGxpc3RpbmcKKy0gICAgICAgIG9mIGp1 c3QgZmlsZXMgb3IganVzdCBzdWJkaXJlY3Rvcmllcy4KKy0KKy0gICAgICAgIFRoZSBlbGVtZW50 cyBvZiB0aGUgbGlzdCBhcmUgUGF0aCBvYmplY3RzLgorLQorLSAgICAgICAgV2l0aCB0aGUgb3B0 aW9uYWwgYHBhdHRlcm5gIGFyZ3VtZW50LCB0aGlzIG9ubHkgbGlzdHMKKy0gICAgICAgIGl0ZW1z IHdob3NlIG5hbWVzIG1hdGNoIHRoZSBnaXZlbiBwYXR0ZXJuLgorLQorLSAgICAgICAgLi4gc2Vl YWxzbzo6IDptZXRoOmBmaWxlc2AsIDptZXRoOmBkaXJzYAorLSAgICAgICAgIiIiCistICAgICAg ICBpZiBwYXR0ZXJuIGlzIE5vbmU6CistICAgICAgICAgICAgcGF0dGVybiA9ICcqJworLSAgICAg ICAgcmV0dXJuIFsKKy0gICAgICAgICAgICBzZWxmIC8gY2hpbGQKKy0gICAgICAgICAgICBmb3Ig Y2hpbGQgaW4gbWFwKHNlbGYuX2Fsd2F5c191bmljb2RlLCBvcy5saXN0ZGlyKHNlbGYpKQorLSAg ICAgICAgICAgIGlmIHNlbGYuX25leHRfY2xhc3MoY2hpbGQpLmZubWF0Y2gocGF0dGVybikKKy0g ICAgICAgIF0KKy0KKy0gICAgZGVmIGRpcnMoc2VsZiwgcGF0dGVybj1Ob25lKToKKy0gICAgICAg ICIiIiBELmRpcnMoKSAtPiBMaXN0IG9mIHRoaXMgZGlyZWN0b3J5J3Mgc3ViZGlyZWN0b3JpZXMu CistCistICAgICAgICBUaGUgZWxlbWVudHMgb2YgdGhlIGxpc3QgYXJlIFBhdGggb2JqZWN0cy4K Ky0gICAgICAgIFRoaXMgZG9lcyBub3Qgd2FsayByZWN1cnNpdmVseSBpbnRvIHN1YmRpcmVjdG9y aWVzCistICAgICAgICAoYnV0IHNlZSA6bWV0aDpgd2Fsa2RpcnNgKS4KKy0KKy0gICAgICAgIFdp dGggdGhlIG9wdGlvbmFsIGBwYXR0ZXJuYCBhcmd1bWVudCwgdGhpcyBvbmx5IGxpc3RzCistICAg ICAgICBkaXJlY3RvcmllcyB3aG9zZSBuYW1lcyBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybi4gIEZv cgorLSAgICAgICAgZXhhbXBsZSwgYGBkLmRpcnMoJ2J1aWxkLSonKWBgLgorLSAgICAgICAgIiIi CistICAgICAgICByZXR1cm4gW3AgZm9yIHAgaW4gc2VsZi5saXN0ZGlyKHBhdHRlcm4pIGlmIHAu aXNkaXIoKV0KKy0KKy0gICAgZGVmIGZpbGVzKHNlbGYsIHBhdHRlcm49Tm9uZSk6CistICAgICAg ICAiIiIgRC5maWxlcygpIC0+IExpc3Qgb2YgdGhlIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5Lgor LQorLSAgICAgICAgVGhlIGVsZW1lbnRzIG9mIHRoZSBsaXN0IGFyZSBQYXRoIG9iamVjdHMuCist ICAgICAgICBUaGlzIGRvZXMgbm90IHdhbGsgaW50byBzdWJkaXJlY3RvcmllcyAoc2VlIDptZXRo OmB3YWxrZmlsZXNgKS4KKy0KKy0gICAgICAgIFdpdGggdGhlIG9wdGlvbmFsIGBwYXR0ZXJuYCBh cmd1bWVudCwgdGhpcyBvbmx5IGxpc3RzIGZpbGVzCistICAgICAgICB3aG9zZSBuYW1lcyBtYXRj aCB0aGUgZ2l2ZW4gcGF0dGVybi4gIEZvciBleGFtcGxlLAorLSAgICAgICAgYGBkLmZpbGVzKCcq LnB5YycpYGAuCistICAgICAgICAiIiIKKy0KKy0gICAgICAgIHJldHVybiBbcCBmb3IgcCBpbiBz ZWxmLmxpc3RkaXIocGF0dGVybikgaWYgcC5pc2ZpbGUoKV0KKy0KKy0gICAgZGVmIHdhbGsoc2Vs ZiwgcGF0dGVybj1Ob25lLCBlcnJvcnM9J3N0cmljdCcpOgorLSAgICAgICAgIiIiIEQud2Fsaygp IC0+IGl0ZXJhdG9yIG92ZXIgZmlsZXMgYW5kIHN1YmRpcnMsIHJlY3Vyc2l2ZWx5LgorLQorLSAg ICAgICAgVGhlIGl0ZXJhdG9yIHlpZWxkcyBQYXRoIG9iamVjdHMgbmFtaW5nIGVhY2ggY2hpbGQg aXRlbSBvZgorLSAgICAgICAgdGhpcyBkaXJlY3RvcnkgYW5kIGl0cyBkZXNjZW5kYW50cy4gIFRo aXMgcmVxdWlyZXMgdGhhdAorLSAgICAgICAgYGBELmlzZGlyKClgYC4KKy0KKy0gICAgICAgIFRo aXMgcGVyZm9ybXMgYSBkZXB0aC1maXJzdCB0cmF2ZXJzYWwgb2YgdGhlIGRpcmVjdG9yeSB0cmVl LgorLSAgICAgICAgRWFjaCBkaXJlY3RvcnkgaXMgcmV0dXJuZWQganVzdCBiZWZvcmUgYWxsIGl0 cyBjaGlsZHJlbi4KKy0KKy0gICAgICAgIFRoZSBgZXJyb3JzPWAga2V5d29yZCBhcmd1bWVudCBj b250cm9scyBiZWhhdmlvciB3aGVuIGFuCistICAgICAgICBlcnJvciBvY2N1cnMuICBUaGUgZGVm YXVsdCBpcyBgYCdzdHJpY3QnYGAsIHdoaWNoIGNhdXNlcyBhbgorLSAgICAgICAgZXhjZXB0aW9u LiAgT3RoZXIgYWxsb3dlZCB2YWx1ZXMgYXJlIGBgJ3dhcm4nYGAgKHdoaWNoCistICAgICAgICBy ZXBvcnRzIHRoZSBlcnJvciB2aWEgOmZ1bmM6YHdhcm5pbmdzLndhcm4oKWApLCBhbmQgYGAnaWdu b3JlJ2BgLgorLSAgICAgICAgYGVycm9yc2AgbWF5IGFsc28gYmUgYW4gYXJiaXRyYXJ5IGNhbGxh YmxlIHRha2luZyBhIG1zZyBwYXJhbWV0ZXIuCistICAgICAgICAiIiIKKy0gICAgICAgIGNsYXNz IEhhbmRsZXJzOgorLSAgICAgICAgICAgIGRlZiBzdHJpY3QobXNnKToKKy0gICAgICAgICAgICAg ICAgcmFpc2UKKy0KKy0gICAgICAgICAgICBkZWYgd2Fybihtc2cpOgorLSAgICAgICAgICAgICAg ICB3YXJuaW5ncy53YXJuKG1zZywgVHJlZVdhbGtXYXJuaW5nKQorLQorLSAgICAgICAgICAgIGRl ZiBpZ25vcmUobXNnKToKKy0gICAgICAgICAgICAgICAgcGFzcworLQorLSAgICAgICAgaWYgbm90 IGNhbGxhYmxlKGVycm9ycykgYW5kIGVycm9ycyBub3QgaW4gdmFycyhIYW5kbGVycyk6CistICAg ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiaW52YWxpZCBlcnJvcnMgcGFyYW1ldGVyIikKKy0g ICAgICAgIGVycm9ycyA9IHZhcnMoSGFuZGxlcnMpLmdldChlcnJvcnMsIGVycm9ycykKKy0KKy0g ICAgICAgIHRyeToKKy0gICAgICAgICAgICBjaGlsZExpc3QgPSBzZWxmLmxpc3RkaXIoKQorLSAg ICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKy0gICAgICAgICAgICBleGMgPSBzeXMuZXhjX2luZm8o KVsxXQorLSAgICAgICAgICAgIHRtcGwgPSAiVW5hYmxlIHRvIGxpc3QgZGlyZWN0b3J5ICclKHNl bGYpcyc6ICUoZXhjKXMiCistICAgICAgICAgICAgbXNnID0gdG1wbCAlIGxvY2FscygpCistICAg ICAgICAgICAgZXJyb3JzKG1zZykKKy0gICAgICAgICAgICByZXR1cm4KKy0KKy0gICAgICAgIGZv ciBjaGlsZCBpbiBjaGlsZExpc3Q6CistICAgICAgICAgICAgaWYgcGF0dGVybiBpcyBOb25lIG9y IGNoaWxkLmZubWF0Y2gocGF0dGVybik6CistICAgICAgICAgICAgICAgIHlpZWxkIGNoaWxkCist ICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBpc2RpciA9IGNoaWxkLmlzZGlyKCkK Ky0gICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorLSAgICAgICAgICAgICAgICBleGMgPSBz eXMuZXhjX2luZm8oKVsxXQorLSAgICAgICAgICAgICAgICB0bXBsID0gIlVuYWJsZSB0byBhY2Nl c3MgJyUoY2hpbGQpcyc6ICUoZXhjKXMiCistICAgICAgICAgICAgICAgIG1zZyA9IHRtcGwgJSBs b2NhbHMoKQorLSAgICAgICAgICAgICAgICBlcnJvcnMobXNnKQorLSAgICAgICAgICAgICAgICBp c2RpciA9IEZhbHNlCistCistICAgICAgICAgICAgaWYgaXNkaXI6CistICAgICAgICAgICAgICAg IGZvciBpdGVtIGluIGNoaWxkLndhbGsocGF0dGVybiwgZXJyb3JzKToKKy0gICAgICAgICAgICAg ICAgICAgIHlpZWxkIGl0ZW0KKy0KKy0gICAgZGVmIHdhbGtkaXJzKHNlbGYsIHBhdHRlcm49Tm9u ZSwgZXJyb3JzPSdzdHJpY3QnKToKKy0gICAgICAgICIiIiBELndhbGtkaXJzKCkgLT4gaXRlcmF0 b3Igb3ZlciBzdWJkaXJzLCByZWN1cnNpdmVseS4KKy0KKy0gICAgICAgIFdpdGggdGhlIG9wdGlv bmFsIGBwYXR0ZXJuYCBhcmd1bWVudCwgdGhpcyB5aWVsZHMgb25seQorLSAgICAgICAgZGlyZWN0 b3JpZXMgd2hvc2UgbmFtZXMgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICBGb3IKKy0gICAgICAg IGV4YW1wbGUsIGBgbXlkaXIud2Fsa2RpcnMoJyp0ZXN0JylgYCB5aWVsZHMgb25seSBkaXJlY3Rv cmllcworLSAgICAgICAgd2l0aCBuYW1lcyBlbmRpbmcgaW4gYGAndGVzdCdgYC4KKy0KKy0gICAg ICAgIFRoZSBgZXJyb3JzPWAga2V5d29yZCBhcmd1bWVudCBjb250cm9scyBiZWhhdmlvciB3aGVu IGFuCistICAgICAgICBlcnJvciBvY2N1cnMuICBUaGUgZGVmYXVsdCBpcyBgYCdzdHJpY3QnYGAs IHdoaWNoIGNhdXNlcyBhbgorLSAgICAgICAgZXhjZXB0aW9uLiAgVGhlIG90aGVyIGFsbG93ZWQg dmFsdWVzIGFyZSBgYCd3YXJuJ2BgICh3aGljaAorLSAgICAgICAgcmVwb3J0cyB0aGUgZXJyb3Ig dmlhIDpmdW5jOmB3YXJuaW5ncy53YXJuKClgKSwgYW5kIGBgJ2lnbm9yZSdgYC4KKy0gICAgICAg ICIiIgorLSAgICAgICAgaWYgZXJyb3JzIG5vdCBpbiAoJ3N0cmljdCcsICd3YXJuJywgJ2lnbm9y ZScpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImludmFsaWQgZXJyb3JzIHBhcmFt ZXRlciIpCistCistICAgICAgICB0cnk6CistICAgICAgICAgICAgZGlycyA9IHNlbGYuZGlycygp CistICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorLSAgICAgICAgICAgIGlmIGVycm9ycyA9PSAn aWdub3JlJzoKKy0gICAgICAgICAgICAgICAgcmV0dXJuCistICAgICAgICAgICAgZWxpZiBlcnJv cnMgPT0gJ3dhcm4nOgorLSAgICAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKAorLSAgICAgICAg ICAgICAgICAgICAgIlVuYWJsZSB0byBsaXN0IGRpcmVjdG9yeSAnJXMnOiAlcyIKKy0gICAgICAg ICAgICAgICAgICAgICUgKHNlbGYsIHN5cy5leGNfaW5mbygpWzFdKSwKKy0gICAgICAgICAgICAg ICAgICAgIFRyZWVXYWxrV2FybmluZykKKy0gICAgICAgICAgICAgICAgcmV0dXJuCistICAgICAg ICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0KKy0gICAgICAgIGZvciBjaGls ZCBpbiBkaXJzOgorLSAgICAgICAgICAgIGlmIHBhdHRlcm4gaXMgTm9uZSBvciBjaGlsZC5mbm1h dGNoKHBhdHRlcm4pOgorLSAgICAgICAgICAgICAgICB5aWVsZCBjaGlsZAorLSAgICAgICAgICAg IGZvciBzdWJzdWJkaXIgaW4gY2hpbGQud2Fsa2RpcnMocGF0dGVybiwgZXJyb3JzKToKKy0gICAg ICAgICAgICAgICAgeWllbGQgc3Vic3ViZGlyCistCistICAgIGRlZiB3YWxrZmlsZXMoc2VsZiwg cGF0dGVybj1Ob25lLCBlcnJvcnM9J3N0cmljdCcpOgorLSAgICAgICAgIiIiIEQud2Fsa2ZpbGVz KCkgLT4gaXRlcmF0b3Igb3ZlciBmaWxlcyBpbiBELCByZWN1cnNpdmVseS4KKy0KKy0gICAgICAg IFRoZSBvcHRpb25hbCBhcmd1bWVudCBgcGF0dGVybmAgbGltaXRzIHRoZSByZXN1bHRzIHRvIGZp bGVzCistICAgICAgICB3aXRoIG5hbWVzIHRoYXQgbWF0Y2ggdGhlIHBhdHRlcm4uICBGb3IgZXhh bXBsZSwKKy0gICAgICAgIGBgbXlkaXIud2Fsa2ZpbGVzKCcqLnRtcCcpYGAgeWllbGRzIG9ubHkg ZmlsZXMgd2l0aCB0aGUgYGAudG1wYGAKKy0gICAgICAgIGV4dGVuc2lvbi4KKy0gICAgICAgICIi IgorLSAgICAgICAgaWYgZXJyb3JzIG5vdCBpbiAoJ3N0cmljdCcsICd3YXJuJywgJ2lnbm9yZScp OgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImludmFsaWQgZXJyb3JzIHBhcmFtZXRl ciIpCistCistICAgICAgICB0cnk6CistICAgICAgICAgICAgY2hpbGRMaXN0ID0gc2VsZi5saXN0 ZGlyKCkKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CistICAgICAgICAgICAgaWYgZXJyb3Jz ID09ICdpZ25vcmUnOgorLSAgICAgICAgICAgICAgICByZXR1cm4KKy0gICAgICAgICAgICBlbGlm IGVycm9ycyA9PSAnd2Fybic6CistICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oCistICAg ICAgICAgICAgICAgICAgICAiVW5hYmxlIHRvIGxpc3QgZGlyZWN0b3J5ICclcyc6ICVzIgorLSAg ICAgICAgICAgICAgICAgICAgJSAoc2VsZiwgc3lzLmV4Y19pbmZvKClbMV0pLAorLSAgICAgICAg ICAgICAgICAgICAgVHJlZVdhbGtXYXJuaW5nKQorLSAgICAgICAgICAgICAgICByZXR1cm4KKy0g ICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICByYWlzZQorLQorLSAgICAgICAgZm9y IGNoaWxkIGluIGNoaWxkTGlzdDoKKy0gICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAg IGlzZmlsZSA9IGNoaWxkLmlzZmlsZSgpCistICAgICAgICAgICAgICAgIGlzZGlyID0gbm90IGlz ZmlsZSBhbmQgY2hpbGQuaXNkaXIoKQorLSAgICAgICAgICAgIGV4Y2VwdDoKKy0gICAgICAgICAg ICAgICAgaWYgZXJyb3JzID09ICdpZ25vcmUnOgorLSAgICAgICAgICAgICAgICAgICAgY29udGlu dWUKKy0gICAgICAgICAgICAgICAgZWxpZiBlcnJvcnMgPT0gJ3dhcm4nOgorLSAgICAgICAgICAg ICAgICAgICAgd2FybmluZ3Mud2FybigKKy0gICAgICAgICAgICAgICAgICAgICAgICAiVW5hYmxl IHRvIGFjY2VzcyAnJXMnOiAlcyIKKy0gICAgICAgICAgICAgICAgICAgICAgICAlIChzZWxmLCBz eXMuZXhjX2luZm8oKVsxXSksCistICAgICAgICAgICAgICAgICAgICAgICAgVHJlZVdhbGtXYXJu aW5nKQorLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAgZWxz ZToKKy0gICAgICAgICAgICAgICAgICAgIHJhaXNlCistCistICAgICAgICAgICAgaWYgaXNmaWxl OgorLSAgICAgICAgICAgICAgICBpZiBwYXR0ZXJuIGlzIE5vbmUgb3IgY2hpbGQuZm5tYXRjaChw YXR0ZXJuKToKKy0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGNoaWxkCistICAgICAgICAgICAg ZWxpZiBpc2RpcjoKKy0gICAgICAgICAgICAgICAgZm9yIGYgaW4gY2hpbGQud2Fsa2ZpbGVzKHBh dHRlcm4sIGVycm9ycyk6CistICAgICAgICAgICAgICAgICAgICB5aWVsZCBmCistCistICAgIGRl ZiBmbm1hdGNoKHNlbGYsIHBhdHRlcm4sIG5vcm1jYXNlPU5vbmUpOgorLSAgICAgICAgIiIiIFJl dHVybiBgYFRydWVgYCBpZiBgc2VsZi5uYW1lYCBtYXRjaGVzIHRoZSBnaXZlbiBgcGF0dGVybmAu CistCistICAgICAgICBgcGF0dGVybmAgLSBBIGZpbGVuYW1lIHBhdHRlcm4gd2l0aCB3aWxkY2Fy ZHMsCistICAgICAgICAgICAgZm9yIGV4YW1wbGUgYGAnKi5weSdgYC4gSWYgdGhlIHBhdHRlcm4g Y29udGFpbnMgYSBgbm9ybWNhc2VgCistICAgICAgICAgICAgYXR0cmlidXRlLCBpdCBpcyBhcHBs aWVkIHRvIHRoZSBuYW1lIGFuZCBwYXRoIHByaW9yIHRvIGNvbXBhcmlzb24uCistCistICAgICAg ICBgbm9ybWNhc2VgIC0gKG9wdGlvbmFsKSBBIGZ1bmN0aW9uIHVzZWQgdG8gbm9ybWFsaXplIHRo ZSBwYXR0ZXJuIGFuZAorLSAgICAgICAgICAgIGZpbGVuYW1lIGJlZm9yZSBtYXRjaGluZy4gRGVm YXVsdHMgdG8gOm1ldGg6YHNlbGYubW9kdWxlYCwgd2hpY2ggZGVmYXVsdHMKKy0gICAgICAgICAg ICB0byA6bWV0aDpgb3MucGF0aC5ub3JtY2FzZWAuCistCistICAgICAgICAuLiBzZWVhbHNvOjog OmZ1bmM6YGZubWF0Y2guZm5tYXRjaGAKKy0gICAgICAgICIiIgorLSAgICAgICAgZGVmYXVsdF9u b3JtY2FzZSA9IGdldGF0dHIocGF0dGVybiwgJ25vcm1jYXNlJywgc2VsZi5tb2R1bGUubm9ybWNh c2UpCistICAgICAgICBub3JtY2FzZSA9IG5vcm1jYXNlIG9yIGRlZmF1bHRfbm9ybWNhc2UKKy0g ICAgICAgIG5hbWUgPSBub3JtY2FzZShzZWxmLm5hbWUpCistICAgICAgICBwYXR0ZXJuID0gbm9y bWNhc2UocGF0dGVybikKKy0gICAgICAgIHJldHVybiBmbm1hdGNoLmZubWF0Y2hjYXNlKG5hbWUs IHBhdHRlcm4pCistCistICAgIGRlZiBnbG9iKHNlbGYsIHBhdHRlcm4pOgorLSAgICAgICAgIiIi IFJldHVybiBhIGxpc3Qgb2YgUGF0aCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHBhdHRlcm4uCist CistICAgICAgICBgcGF0dGVybmAgLSBhIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBkaXJlY3Rvcnks IHdpdGggd2lsZGNhcmRzLgorLQorLSAgICAgICAgRm9yIGV4YW1wbGUsIGBgUGF0aCgnL3VzZXJz JykuZ2xvYignKi9iaW4vKicpYGAgcmV0dXJucyBhIGxpc3QKKy0gICAgICAgIG9mIGFsbCB0aGUg ZmlsZXMgdXNlcnMgaGF2ZSBpbiB0aGVpciA6ZmlsZTpgYmluYCBkaXJlY3Rvcmllcy4KKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgZ2xvYi5nbG9iYAorLSAgICAgICAgIiIiCistICAg ICAgICBjbHMgPSBzZWxmLl9uZXh0X2NsYXNzCistICAgICAgICByZXR1cm4gW2NscyhzKSBmb3Ig cyBpbiBnbG9iLmdsb2Ioc2VsZiAvIHBhdHRlcm4pXQorLQorLSAgICAjCistICAgICMgLS0tIFJl YWRpbmcgb3Igd3JpdGluZyBhbiBlbnRpcmUgZmlsZSBhdCBvbmNlLgorLQorLSAgICBkZWYgb3Bl bihzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgIiIiIE9wZW4gdGhpcyBmaWxlIGFu ZCByZXR1cm4gYSBjb3JyZXNwb25kaW5nIDpjbGFzczpgZmlsZWAgb2JqZWN0LgorLQorLSAgICAg ICAgS2V5d29yZCBhcmd1bWVudHMgd29yayBhcyBpbiA6ZnVuYzpgaW8ub3BlbmAuICBJZiB0aGUg ZmlsZSBjYW5ub3QgYmUKKy0gICAgICAgIG9wZW5lZCwgYW4gOmNsYXNzOmB+ZXhjZXB0aW9ucy5P U0Vycm9yYCBpcyByYWlzZWQuCistICAgICAgICAiIiIKKy0gICAgICAgIHdpdGggaW9fZXJyb3Jf Y29tcGF0KCk6CistICAgICAgICAgICAgcmV0dXJuIGlvLm9wZW4oc2VsZiwgKmFyZ3MsICoqa3dh cmdzKQorLQorLSAgICBkZWYgYnl0ZXMoc2VsZik6CistICAgICAgICAiIiIgT3BlbiB0aGlzIGZp bGUsIHJlYWQgYWxsIGJ5dGVzLCByZXR1cm4gdGhlbSBhcyBhIHN0cmluZy4gIiIiCistICAgICAg ICB3aXRoIHNlbGYub3BlbigncmInKSBhcyBmOgorLSAgICAgICAgICAgIHJldHVybiBmLnJlYWQo KQorLQorLSAgICBkZWYgY2h1bmtzKHNlbGYsIHNpemUsICphcmdzLCAqKmt3YXJncyk6CistICAg ICAgICAiIiIgUmV0dXJucyBhIGdlbmVyYXRvciB5aWVsZGluZyBjaHVua3Mgb2YgdGhlIGZpbGUs IHNvIGl0IGNhbgorLSAgICAgICAgICAgIGJlIHJlYWQgcGllY2UgYnkgcGllY2Ugd2l0aCBhIHNp bXBsZSBmb3IgbG9vcC4KKy0KKy0gICAgICAgICAgIEFueSBhcmd1bWVudCB5b3UgcGFzcyBhZnRl ciBgc2l6ZWAgd2lsbCBiZSBwYXNzZWQgdG8gOm1ldGg6YG9wZW5gLgorLQorLSAgICAgICAgICAg OmV4YW1wbGU6CistCistICAgICAgICAgICAgICAgPj4+IGhhc2ggPSBoYXNobGliLm1kNSgpCist ICAgICAgICAgICAgICAgPj4+IGZvciBjaHVuayBpbiBQYXRoKCJwYXRoLnB5IikuY2h1bmtzKDgx OTIsIG1vZGU9J3JiJyk6CistICAgICAgICAgICAgICAgLi4uICAgICBoYXNoLnVwZGF0ZShjaHVu aykKKy0KKy0gICAgICAgICAgICBUaGlzIHdpbGwgcmVhZCB0aGUgZmlsZSBieSBjaHVua3Mgb2Yg ODE5MiBieXRlcy4KKy0gICAgICAgICIiIgorLSAgICAgICAgd2l0aCBzZWxmLm9wZW4oKmFyZ3Ms ICoqa3dhcmdzKSBhcyBmOgorLSAgICAgICAgICAgIGZvciBjaHVuayBpbiBpdGVyKGxhbWJkYTog Zi5yZWFkKHNpemUpIG9yIE5vbmUsIE5vbmUpOgorLSAgICAgICAgICAgICAgICB5aWVsZCBjaHVu aworLQorLSAgICBkZWYgd3JpdGVfYnl0ZXMoc2VsZiwgYnl0ZXMsIGFwcGVuZD1GYWxzZSk6Cist ICAgICAgICAiIiIgT3BlbiB0aGlzIGZpbGUgYW5kIHdyaXRlIHRoZSBnaXZlbiBieXRlcyB0byBp dC4KKy0KKy0gICAgICAgIERlZmF1bHQgYmVoYXZpb3IgaXMgdG8gb3ZlcndyaXRlIGFueSBleGlz dGluZyBmaWxlLgorLSAgICAgICAgQ2FsbCBgYHAud3JpdGVfYnl0ZXMoYnl0ZXMsIGFwcGVuZD1U cnVlKWBgIHRvIGFwcGVuZCBpbnN0ZWFkLgorLSAgICAgICAgIiIiCistICAgICAgICBpZiBhcHBl bmQ6CistICAgICAgICAgICAgbW9kZSA9ICdhYicKKy0gICAgICAgIGVsc2U6CistICAgICAgICAg ICAgbW9kZSA9ICd3YicKKy0gICAgICAgIHdpdGggc2VsZi5vcGVuKG1vZGUpIGFzIGY6CistICAg ICAgICAgICAgZi53cml0ZShieXRlcykKKy0KKy0gICAgZGVmIHRleHQoc2VsZiwgZW5jb2Rpbmc9 Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKKy0gICAgICAgIHIiIiIgT3BlbiB0aGlzIGZpbGUsIHJl YWQgaXQgaW4sIHJldHVybiB0aGUgY29udGVudCBhcyBhIHN0cmluZy4KKy0KKy0gICAgICAgIEFs bCBuZXdsaW5lIHNlcXVlbmNlcyBhcmUgY29udmVydGVkIHRvIGBgJ1xuJ2BgLiAgS2V5d29yZCBh cmd1bWVudHMKKy0gICAgICAgIHdpbGwgYmUgcGFzc2VkIHRvIDptZXRoOmBvcGVuYC4KKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgbGluZXNgCistICAgICAgICAiIiIKKy0gICAgICAg IHdpdGggc2VsZi5vcGVuKG1vZGU9J3InLCBlbmNvZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9y cykgYXMgZjoKKy0gICAgICAgICAgICByZXR1cm4gVV9ORVdMSU5FLnN1YignXG4nLCBmLnJlYWQo KSkKKy0KKy0gICAgZGVmIHdyaXRlX3RleHQoc2VsZiwgdGV4dCwgZW5jb2Rpbmc9Tm9uZSwgZXJy b3JzPSdzdHJpY3QnLAorLSAgICAgICAgICAgICAgICAgICBsaW5lc2VwPW9zLmxpbmVzZXAsIGFw cGVuZD1GYWxzZSk6CistICAgICAgICByIiIiIFdyaXRlIHRoZSBnaXZlbiB0ZXh0IHRvIHRoaXMg ZmlsZS4KKy0KKy0gICAgICAgIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIG92ZXJ3cml0ZSBh bnkgZXhpc3RpbmcgZmlsZTsKKy0gICAgICAgIHRvIGFwcGVuZCBpbnN0ZWFkLCB1c2UgdGhlIGBh cHBlbmQ9VHJ1ZWAga2V5d29yZCBhcmd1bWVudC4KKy0KKy0gICAgICAgIFRoZXJlIGFyZSB0d28g ZGlmZmVyZW5jZXMgYmV0d2VlbiA6bWV0aDpgd3JpdGVfdGV4dGAgYW5kCistICAgICAgICA6bWV0 aDpgd3JpdGVfYnl0ZXNgOiBuZXdsaW5lIGhhbmRsaW5nIGFuZCBVbmljb2RlIGhhbmRsaW5nLgor LSAgICAgICAgU2VlIGJlbG93LgorLQorLSAgICAgICAgUGFyYW1ldGVyczoKKy0KKy0gICAgICAg ICAgYHRleHRgIC0gc3RyL3VuaWNvZGUgLSBUaGUgdGV4dCB0byBiZSB3cml0dGVuLgorLQorLSAg ICAgICAgICBgZW5jb2RpbmdgIC0gc3RyIC0gVGhlIFVuaWNvZGUgZW5jb2RpbmcgdGhhdCB3aWxs IGJlIHVzZWQuCistICAgICAgICAgICAgICBUaGlzIGlzIGlnbm9yZWQgaWYgYHRleHRgIGlzbid0 IGEgVW5pY29kZSBzdHJpbmcuCistCistICAgICAgICAgIGBlcnJvcnNgIC0gc3RyIC0gSG93IHRv IGhhbmRsZSBVbmljb2RlIGVuY29kaW5nIGVycm9ycy4KKy0gICAgICAgICAgICAgIERlZmF1bHQg aXMgYGAnc3RyaWN0J2BgLiAgU2VlIGBgaGVscCh1bmljb2RlLmVuY29kZSlgYCBmb3IgdGhlCist ICAgICAgICAgICAgICBvcHRpb25zLiAgVGhpcyBpcyBpZ25vcmVkIGlmIGB0ZXh0YCBpc24ndCBh IFVuaWNvZGUKKy0gICAgICAgICAgICAgIHN0cmluZy4KKy0KKy0gICAgICAgICAgYGxpbmVzZXBg IC0ga2V5d29yZCBhcmd1bWVudCAtIHN0ci91bmljb2RlIC0gVGhlIHNlcXVlbmNlIG9mCistICAg ICAgICAgICAgICBjaGFyYWN0ZXJzIHRvIGJlIHVzZWQgdG8gbWFyayBlbmQtb2YtbGluZS4gIFRo ZSBkZWZhdWx0IGlzCistICAgICAgICAgICAgICA6ZGF0YTpgb3MubGluZXNlcGAuICBZb3UgY2Fu IGFsc28gc3BlY2lmeSBgYE5vbmVgYCB0bworLSAgICAgICAgICAgICAgbGVhdmUgYWxsIG5ld2xp bmVzIGFzIHRoZXkgYXJlIGluIGB0ZXh0YC4KKy0KKy0gICAgICAgICAgYGFwcGVuZGAgLSBrZXl3 b3JkIGFyZ3VtZW50IC0gYm9vbCAtIFNwZWNpZmllcyB3aGF0IHRvIGRvIGlmCistICAgICAgICAg ICAgICB0aGUgZmlsZSBhbHJlYWR5IGV4aXN0cyAoYGBUcnVlYGA6IGFwcGVuZCB0byB0aGUgZW5k IG9mIGl0OworLSAgICAgICAgICAgICAgYGBGYWxzZWBgOiBvdmVyd3JpdGUgaXQuKSAgVGhlIGRl ZmF1bHQgaXMgYGBGYWxzZWBgLgorLQorLQorLSAgICAgICAgLS0tIE5ld2xpbmUgaGFuZGxpbmcu CistCistICAgICAgICBgYHdyaXRlX3RleHQoKWBgIGNvbnZlcnRzIGFsbCBzdGFuZGFyZCBlbmQt b2YtbGluZSBzZXF1ZW5jZXMKKy0gICAgICAgIChgYCdcbidgYCwgYGAnXHInYGAsIGFuZCBgYCdc clxuJ2BgKSB0byB5b3VyIHBsYXRmb3JtJ3MgZGVmYXVsdAorLSAgICAgICAgZW5kLW9mLWxpbmUg c2VxdWVuY2UgKHNlZSA6ZGF0YTpgb3MubGluZXNlcGA7IG9uIFdpbmRvd3MsIGZvciBleGFtcGxl LAorLSAgICAgICAgdGhlIGVuZC1vZi1saW5lIG1hcmtlciBpcyBgYCdcclxuJ2BgKS4KKy0KKy0g ICAgICAgIElmIHlvdSBkb24ndCBsaWtlIHlvdXIgcGxhdGZvcm0ncyBkZWZhdWx0LCB5b3UgY2Fu IG92ZXJyaWRlIGl0CistICAgICAgICB1c2luZyB0aGUgYGxpbmVzZXA9YCBrZXl3b3JkIGFyZ3Vt ZW50LiAgSWYgeW91IHNwZWNpZmljYWxseSB3YW50CistICAgICAgICBgYHdyaXRlX3RleHQoKWBg IHRvIHByZXNlcnZlIHRoZSBuZXdsaW5lcyBhcy1pcywgdXNlIGBgbGluZXNlcD1Ob25lYGAuCist CistICAgICAgICBUaGlzIGFwcGxpZXMgdG8gVW5pY29kZSB0ZXh0IHRoZSBzYW1lIGFzIHRvIDgt Yml0IHRleHQsIGV4Y2VwdAorLSAgICAgICAgdGhlcmUgYXJlIHRocmVlIGFkZGl0aW9uYWwgc3Rh bmRhcmQgVW5pY29kZSBlbmQtb2YtbGluZSBzZXF1ZW5jZXM6CistICAgICAgICBgYHUnXHg4NSdg YCwgYGB1J1xyXHg4NSdgYCwgYW5kIGBgdSdcdTIwMjgnYGAuCistCistICAgICAgICAoVGhpcyBp cyBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSB3aGVuIHlvdSBvcGVuIGEgZmlsZSBmb3IKKy0gICAg ICAgIHdyaXRpbmcgd2l0aCBgYGZvcGVuKGZpbGVuYW1lLCAidyIpYGAgaW4gQyBvciBgYG9wZW4o ZmlsZW5hbWUsICd3JylgYAorLSAgICAgICAgaW4gUHl0aG9uLikKKy0KKy0KKy0gICAgICAgIC0t LSBVbmljb2RlCistCistICAgICAgICBJZiBgdGV4dGAgaXNuJ3QgVW5pY29kZSwgdGhlbiBhcGFy dCBmcm9tIG5ld2xpbmUgaGFuZGxpbmcsIHRoZQorLSAgICAgICAgYnl0ZXMgYXJlIHdyaXR0ZW4g dmVyYmF0aW0gdG8gdGhlIGZpbGUuICBUaGUgYGVuY29kaW5nYCBhbmQKKy0gICAgICAgIGBlcnJv cnNgIGFyZ3VtZW50cyBhcmUgbm90IHVzZWQgYW5kIG11c3QgYmUgb21pdHRlZC4KKy0KKy0gICAg ICAgIElmIGB0ZXh0YCBpcyBVbmljb2RlLCBpdCBpcyBmaXJzdCBjb252ZXJ0ZWQgdG8gOmZ1bmM6 YGJ5dGVzYCB1c2luZyB0aGUKKy0gICAgICAgIHNwZWNpZmllZCBgZW5jb2RpbmdgIChvciB0aGUg ZGVmYXVsdCBlbmNvZGluZyBpZiBgZW5jb2RpbmdgCistICAgICAgICBpc24ndCBzcGVjaWZpZWQp LiAgVGhlIGBlcnJvcnNgIGFyZ3VtZW50IGFwcGxpZXMgb25seSB0byB0aGlzCistICAgICAgICBj b252ZXJzaW9uLgorLQorLSAgICAgICAgIiIiCistICAgICAgICBpZiBpc2luc3RhbmNlKHRleHQs IHRleHRfdHlwZSk6CistICAgICAgICAgICAgaWYgbGluZXNlcCBpcyBub3QgTm9uZToKKy0gICAg ICAgICAgICAgICAgdGV4dCA9IFVfTkVXTElORS5zdWIobGluZXNlcCwgdGV4dCkKKy0gICAgICAg ICAgICB0ZXh0ID0gdGV4dC5lbmNvZGUoZW5jb2Rpbmcgb3Igc3lzLmdldGRlZmF1bHRlbmNvZGlu ZygpLCBlcnJvcnMpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIGFzc2VydCBlbmNvZGlu ZyBpcyBOb25lCistICAgICAgICAgICAgdGV4dCA9IE5FV0xJTkUuc3ViKGxpbmVzZXAsIHRleHQp CistICAgICAgICBzZWxmLndyaXRlX2J5dGVzKHRleHQsIGFwcGVuZD1hcHBlbmQpCistCistICAg IGRlZiBsaW5lcyhzZWxmLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9J3N0cmljdCcsIHJldGFpbj1U cnVlKToKKy0gICAgICAgIHIiIiIgT3BlbiB0aGlzIGZpbGUsIHJlYWQgYWxsIGxpbmVzLCByZXR1 cm4gdGhlbSBpbiBhIGxpc3QuCistCistICAgICAgICBPcHRpb25hbCBhcmd1bWVudHM6CistICAg ICAgICAgICAgYGVuY29kaW5nYCAtIFRoZSBVbmljb2RlIGVuY29kaW5nIChvciBjaGFyYWN0ZXIg c2V0KSBvZgorLSAgICAgICAgICAgICAgICB0aGUgZmlsZS4gIFRoZSBkZWZhdWx0IGlzIGBgTm9u ZWBgLCBtZWFuaW5nIHRoZSBjb250ZW50CistICAgICAgICAgICAgICAgIG9mIHRoZSBmaWxlIGlz IHJlYWQgYXMgOC1iaXQgY2hhcmFjdGVycyBhbmQgcmV0dXJuZWQKKy0gICAgICAgICAgICAgICAg YXMgYSBsaXN0IG9mIChub24tVW5pY29kZSkgc3RyIG9iamVjdHMuCistICAgICAgICAgICAgYGVy cm9yc2AgLSBIb3cgdG8gaGFuZGxlIFVuaWNvZGUgZXJyb3JzOyBzZWUgaGVscChzdHIuZGVjb2Rl KQorLSAgICAgICAgICAgICAgICBmb3IgdGhlIG9wdGlvbnMuICBEZWZhdWx0IGlzIGBgJ3N0cmlj dCdgYC4KKy0gICAgICAgICAgICBgcmV0YWluYCAtIElmIGBgVHJ1ZWBgLCByZXRhaW4gbmV3bGlu ZSBjaGFyYWN0ZXJzOyBidXQgYWxsIG5ld2xpbmUKKy0gICAgICAgICAgICAgICAgY2hhcmFjdGVy IGNvbWJpbmF0aW9ucyAoYGAnXHInYGAsIGBgJ1xuJ2BgLCBgYCdcclxuJ2BgKSBhcmUKKy0gICAg ICAgICAgICAgICAgdHJhbnNsYXRlZCB0byBgYCdcbidgYC4gIElmIGBgRmFsc2VgYCwgbmV3bGlu ZSBjaGFyYWN0ZXJzIGFyZQorLSAgICAgICAgICAgICAgICBzdHJpcHBlZCBvZmYuICBEZWZhdWx0 IGlzIGBgVHJ1ZWBgLgorLQorLSAgICAgICAgVGhpcyB1c2VzIGBgJ1UnYGAgbW9kZS4KKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgdGV4dGAKKy0gICAgICAgICIiIgorLSAgICAgICAg aWYgZW5jb2RpbmcgaXMgTm9uZSBhbmQgcmV0YWluOgorLSAgICAgICAgICAgIHdpdGggc2VsZi5v cGVuKCdVJykgYXMgZjoKKy0gICAgICAgICAgICAgICAgcmV0dXJuIGYucmVhZGxpbmVzKCkKKy0g ICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYudGV4dChlbmNvZGluZywgZXJy b3JzKS5zcGxpdGxpbmVzKHJldGFpbikKKy0KKy0gICAgZGVmIHdyaXRlX2xpbmVzKHNlbGYsIGxp bmVzLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9J3N0cmljdCcsCistICAgICAgICAgICAgICAgICAg ICBsaW5lc2VwPW9zLmxpbmVzZXAsIGFwcGVuZD1GYWxzZSk6CistICAgICAgICByIiIiIFdyaXRl IHRoZSBnaXZlbiBsaW5lcyBvZiB0ZXh0IHRvIHRoaXMgZmlsZS4KKy0KKy0gICAgICAgIEJ5IGRl ZmF1bHQgdGhpcyBvdmVyd3JpdGVzIGFueSBleGlzdGluZyBmaWxlIGF0IHRoaXMgcGF0aC4KKy0K Ky0gICAgICAgIFRoaXMgcHV0cyBhIHBsYXRmb3JtLXNwZWNpZmljIG5ld2xpbmUgc2VxdWVuY2Ug b24gZXZlcnkgbGluZS4KKy0gICAgICAgIFNlZSBgbGluZXNlcGAgYmVsb3cuCistCistICAgICAg ICAgICAgYGxpbmVzYCAtIEEgbGlzdCBvZiBzdHJpbmdzLgorLQorLSAgICAgICAgICAgIGBlbmNv ZGluZ2AgLSBBIFVuaWNvZGUgZW5jb2RpbmcgdG8gdXNlLiAgVGhpcyBhcHBsaWVzIG9ubHkgaWYK Ky0gICAgICAgICAgICAgICAgYGxpbmVzYCBjb250YWlucyBhbnkgVW5pY29kZSBzdHJpbmdzLgor LQorLSAgICAgICAgICAgIGBlcnJvcnNgIC0gSG93IHRvIGhhbmRsZSBlcnJvcnMgaW4gVW5pY29k ZSBlbmNvZGluZy4gIFRoaXMKKy0gICAgICAgICAgICAgICAgYWxzbyBhcHBsaWVzIG9ubHkgdG8g VW5pY29kZSBzdHJpbmdzLgorLQorLSAgICAgICAgICAgIGxpbmVzZXAgLSBUaGUgZGVzaXJlZCBs aW5lLWVuZGluZy4gIFRoaXMgbGluZS1lbmRpbmcgaXMKKy0gICAgICAgICAgICAgICAgYXBwbGll ZCB0byBldmVyeSBsaW5lLiAgSWYgYSBsaW5lIGFscmVhZHkgaGFzIGFueQorLSAgICAgICAgICAg ICAgICBzdGFuZGFyZCBsaW5lIGVuZGluZyAoYGAnXHInYGAsIGBgJ1xuJ2BgLCBgYCdcclxuJ2Bg LAorLSAgICAgICAgICAgICAgICBgYHUnXHg4NSdgYCwgYGB1J1xyXHg4NSdgYCwgYGB1J1x1MjAy OCdgYCksIHRoYXQgd2lsbAorLSAgICAgICAgICAgICAgICBiZSBzdHJpcHBlZCBvZmYgYW5kIHRo aXMgd2lsbCBiZSB1c2VkIGluc3RlYWQuICBUaGUKKy0gICAgICAgICAgICAgICAgZGVmYXVsdCBp cyBvcy5saW5lc2VwLCB3aGljaCBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQKKy0gICAgICAgICAgICAg ICAgKGBgJ1xyXG4nYGAgb24gV2luZG93cywgYGAnXG4nYGAgb24gVW5peCwgZXRjLikuCistICAg ICAgICAgICAgICAgIFNwZWNpZnkgYGBOb25lYGAgdG8gd3JpdGUgdGhlIGxpbmVzIGFzLWlzLCBs aWtlCistICAgICAgICAgICAgICAgIDptZXRoOmBmaWxlLndyaXRlbGluZXNgLgorLQorLSAgICAg ICAgVXNlIHRoZSBrZXl3b3JkIGFyZ3VtZW50IGBgYXBwZW5kPVRydWVgYCB0byBhcHBlbmQgbGlu ZXMgdG8gdGhlCistICAgICAgICBmaWxlLiAgVGhlIGRlZmF1bHQgaXMgdG8gb3ZlcndyaXRlIHRo ZSBmaWxlLgorLQorLSAgICAgICAgLi4gd2FybmluZyA6OgorLQorLSAgICAgICAgICAgIFdoZW4g eW91IHVzZSB0aGlzIHdpdGggVW5pY29kZSBkYXRhLCBpZiB0aGUgZW5jb2Rpbmcgb2YgdGhlCist ICAgICAgICAgICAgZXhpc3RpbmcgZGF0YSBpbiB0aGUgZmlsZSBpcyBkaWZmZXJlbnQgZnJvbSB0 aGUgZW5jb2RpbmcKKy0gICAgICAgICAgICB5b3Ugc3BlY2lmeSB3aXRoIHRoZSBgZW5jb2Rpbmc9 YCBwYXJhbWV0ZXIsIHRoZSByZXN1bHQgaXMKKy0gICAgICAgICAgICBtaXhlZC1lbmNvZGluZyBk YXRhLCB3aGljaCBjYW4gcmVhbGx5IGNvbmZ1c2Ugc29tZW9uZSB0cnlpbmcKKy0gICAgICAgICAg ICB0byByZWFkIHRoZSBmaWxlIGxhdGVyLgorLSAgICAgICAgIiIiCistICAgICAgICB3aXRoIHNl bGYub3BlbignYWInIGlmIGFwcGVuZCBlbHNlICd3YicpIGFzIGY6CistICAgICAgICAgICAgZm9y IGwgaW4gbGluZXM6CistICAgICAgICAgICAgICAgIGlzVW5pY29kZSA9IGlzaW5zdGFuY2UobCwg dGV4dF90eXBlKQorLSAgICAgICAgICAgICAgICBpZiBsaW5lc2VwIGlzIG5vdCBOb25lOgorLSAg ICAgICAgICAgICAgICAgICAgcGF0dGVybiA9IFVfTkxfRU5EIGlmIGlzVW5pY29kZSBlbHNlIE5M X0VORAorLSAgICAgICAgICAgICAgICAgICAgbCA9IHBhdHRlcm4uc3ViKCcnLCBsKSArIGxpbmVz ZXAKKy0gICAgICAgICAgICAgICAgaWYgaXNVbmljb2RlOgorLSAgICAgICAgICAgICAgICAgICAg bCA9IGwuZW5jb2RlKGVuY29kaW5nIG9yIHN5cy5nZXRkZWZhdWx0ZW5jb2RpbmcoKSwgZXJyb3Jz KQorLSAgICAgICAgICAgICAgICBmLndyaXRlKGwpCistCistICAgIGRlZiByZWFkX21kNShzZWxm KToKKy0gICAgICAgICIiIiBDYWxjdWxhdGUgdGhlIG1kNSBoYXNoIGZvciB0aGlzIGZpbGUuCist CistICAgICAgICBUaGlzIHJlYWRzIHRocm91Z2ggdGhlIGVudGlyZSBmaWxlLgorLQorLSAgICAg ICAgLi4gc2VlYWxzbzo6IDptZXRoOmByZWFkX2hhc2hgCistICAgICAgICAiIiIKKy0gICAgICAg IHJldHVybiBzZWxmLnJlYWRfaGFzaCgnbWQ1JykKKy0KKy0gICAgZGVmIF9oYXNoKHNlbGYsIGhh c2hfbmFtZSk6CistICAgICAgICAiIiIgUmV0dXJucyBhIGhhc2ggb2JqZWN0IGZvciB0aGUgZmls ZSBhdCB0aGUgY3VycmVudCBwYXRoLgorLQorLSAgICAgICAgICAgIGBoYXNoX25hbWVgIHNob3Vs ZCBiZSBhIGhhc2ggYWxnbyBuYW1lIChzdWNoIGFzIGBgJ21kNSdgYCBvciBgYCdzaGExJ2BgKQor LSAgICAgICAgICAgIHRoYXQncyBhdmFpbGFibGUgaW4gdGhlIDptb2Q6YGhhc2hsaWJgIG1vZHVs ZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgbSA9IGhhc2hsaWIubmV3KGhhc2hfbmFtZSkKKy0g ICAgICAgIGZvciBjaHVuayBpbiBzZWxmLmNodW5rcyg4MTkyLCBtb2RlPSJyYiIpOgorLSAgICAg ICAgICAgIG0udXBkYXRlKGNodW5rKQorLSAgICAgICAgcmV0dXJuIG0KKy0KKy0gICAgZGVmIHJl YWRfaGFzaChzZWxmLCBoYXNoX25hbWUpOgorLSAgICAgICAgIiIiIENhbGN1bGF0ZSBnaXZlbiBo YXNoIGZvciB0aGlzIGZpbGUuCistCistICAgICAgICBMaXN0IG9mIHN1cHBvcnRlZCBoYXNoZXMg Y2FuIGJlIG9idGFpbmVkIGZyb20gOm1vZDpgaGFzaGxpYmAgcGFja2FnZS4KKy0gICAgICAgIFRo aXMgcmVhZHMgdGhlIGVudGlyZSBmaWxlLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRo OmBoYXNobGliLmhhc2guZGlnZXN0YAorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2Vs Zi5faGFzaChoYXNoX25hbWUpLmRpZ2VzdCgpCistCistICAgIGRlZiByZWFkX2hleGhhc2goc2Vs ZiwgaGFzaF9uYW1lKToKKy0gICAgICAgICIiIiBDYWxjdWxhdGUgZ2l2ZW4gaGFzaCBmb3IgdGhp cyBmaWxlLCByZXR1cm5pbmcgaGV4ZGlnZXN0LgorLQorLSAgICAgICAgTGlzdCBvZiBzdXBwb3J0 ZWQgaGFzaGVzIGNhbiBiZSBvYnRhaW5lZCBmcm9tIDptb2Q6YGhhc2hsaWJgIHBhY2thZ2UuCist ICAgICAgICBUaGlzIHJlYWRzIHRoZSBlbnRpcmUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFs c286OiA6bWV0aDpgaGFzaGxpYi5oYXNoLmhleGRpZ2VzdGAKKy0gICAgICAgICIiIgorLSAgICAg ICAgcmV0dXJuIHNlbGYuX2hhc2goaGFzaF9uYW1lKS5oZXhkaWdlc3QoKQorLQorLSAgICAjIC0t LSBNZXRob2RzIGZvciBxdWVyeWluZyB0aGUgZmlsZXN5c3RlbS4KKy0gICAgIyBOLkIuIE9uIHNv bWUgcGxhdGZvcm1zLCB0aGUgb3MucGF0aCBmdW5jdGlvbnMgbWF5IGJlIGltcGxlbWVudGVkIGlu IEMKKy0gICAgIyAoZS5nLiBpc2RpciBvbiBXaW5kb3dzLCBQeXRob24gMy4yLjIpLCBhbmQgY29t cGlsZWQgZnVuY3Rpb25zIGRvbid0IGdldAorLSAgICAjIGJvdW5kLiBQbGF5aW5nIGl0IHNhZmUg YW5kIHdyYXBwaW5nIHRoZW0gYWxsIGluIG1ldGhvZCBjYWxscy4KKy0KKy0gICAgZGVmIGlzYWJz KHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5pc2Fic2Ag IiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuaXNhYnMoc2VsZikKKy0KKy0gICAgZGVm IGV4aXN0cyhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGgu ZXhpc3RzYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5leGlzdHMoc2VsZikKKy0K Ky0gICAgZGVmIGlzZGlyKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpg b3MucGF0aC5pc2RpcmAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuaXNkaXIoc2Vs ZikKKy0KKy0gICAgZGVmIGlzZmlsZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjog OmZ1bmM6YG9zLnBhdGguaXNmaWxlYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5p c2ZpbGUoc2VsZikKKy0KKy0gICAgZGVmIGlzbGluayhzZWxmKToKKy0gICAgICAgICIiIiAuLiBz ZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguaXNsaW5rYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxm Lm1vZHVsZS5pc2xpbmsoc2VsZikKKy0KKy0gICAgZGVmIGlzbW91bnQoc2VsZik6CistICAgICAg ICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmlzbW91bnRgICIiIgorLSAgICAgICAg cmV0dXJuIHNlbGYubW9kdWxlLmlzbW91bnQoc2VsZikKKy0KKy0gICAgZGVmIHNhbWVmaWxlKHNl bGYsIG90aGVyKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguc2Ft ZWZpbGVgICIiIgorLSAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZi5tb2R1bGUsICdzYW1lZmls ZScpOgorLSAgICAgICAgICAgIG90aGVyID0gUGF0aChvdGhlcikucmVhbHBhdGgoKS5ub3JtcGF0 aCgpLm5vcm1jYXNlKCkKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5yZWFscGF0aCgpLm5vcm1w YXRoKCkubm9ybWNhc2UoKSA9PSBvdGhlcgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLnNh bWVmaWxlKHNlbGYsIG90aGVyKQorLQorLSAgICBkZWYgZ2V0YXRpbWUoc2VsZik6CistICAgICAg ICAiIiIgLi4gc2VlYWxzbzo6IDphdHRyOmBhdGltZWAsIDpmdW5jOmBvcy5wYXRoLmdldGF0aW1l YCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5nZXRhdGltZShzZWxmKQorLQorLSAg ICBhdGltZSA9IHByb3BlcnR5KAorLSAgICAgICAgZ2V0YXRpbWUsIE5vbmUsIE5vbmUsCistICAg ICAgICAiIiIgTGFzdCBhY2Nlc3MgdGltZSBvZiB0aGUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNl ZWFsc286OiA6bWV0aDpgZ2V0YXRpbWVgLCA6ZnVuYzpgb3MucGF0aC5nZXRhdGltZWAKKy0gICAg ICAgICIiIikKKy0KKy0gICAgZGVmIGdldG10aW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNl ZWFsc286OiA6YXR0cjpgbXRpbWVgLCA6ZnVuYzpgb3MucGF0aC5nZXRtdGltZWAgIiIiCistICAg ICAgICByZXR1cm4gc2VsZi5tb2R1bGUuZ2V0bXRpbWUoc2VsZikKKy0KKy0gICAgbXRpbWUgPSBw cm9wZXJ0eSgKKy0gICAgICAgIGdldG10aW1lLCBOb25lLCBOb25lLAorLSAgICAgICAgIiIiIExh c3QtbW9kaWZpZWQgdGltZSBvZiB0aGUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6 bWV0aDpgZ2V0bXRpbWVgLCA6ZnVuYzpgb3MucGF0aC5nZXRtdGltZWAKKy0gICAgICAgICIiIikK Ky0KKy0gICAgZGVmIGdldGN0aW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6 YXR0cjpgY3RpbWVgLCA6ZnVuYzpgb3MucGF0aC5nZXRjdGltZWAgIiIiCistICAgICAgICByZXR1 cm4gc2VsZi5tb2R1bGUuZ2V0Y3RpbWUoc2VsZikKKy0KKy0gICAgY3RpbWUgPSBwcm9wZXJ0eSgK Ky0gICAgICAgIGdldGN0aW1lLCBOb25lLCBOb25lLAorLSAgICAgICAgIiIiIENyZWF0aW9uIHRp bWUgb2YgdGhlIGZpbGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldGN0aW1l YCwgOmZ1bmM6YG9zLnBhdGguZ2V0Y3RpbWVgCistICAgICAgICAiIiIpCistCistICAgIGRlZiBn ZXRzaXplKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpgc2l6ZWAsIDpm dW5jOmBvcy5wYXRoLmdldHNpemVgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmdl dHNpemUoc2VsZikKKy0KKy0gICAgc2l6ZSA9IHByb3BlcnR5KAorLSAgICAgICAgZ2V0c2l6ZSwg Tm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBTaXplIG9mIHRoZSBmaWxlLCBpbiBieXRlcy4KKy0K Ky0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgZ2V0c2l6ZWAsIDpmdW5jOmBvcy5wYXRoLmdl dHNpemVgCistICAgICAgICAiIiIpCistCistICAgIGlmIGhhc2F0dHIob3MsICdhY2Nlc3MnKToK Ky0gICAgICAgIGRlZiBhY2Nlc3Moc2VsZiwgbW9kZSk6CistICAgICAgICAgICAgIiIiIFJldHVy biBgYFRydWVgYCBpZiBjdXJyZW50IHVzZXIgaGFzIGFjY2VzcyB0byB0aGlzIHBhdGguCistCist ICAgICAgICAgICAgbW9kZSAtIE9uZSBvZiB0aGUgY29uc3RhbnRzIDpkYXRhOmBvcy5GX09LYCwg OmRhdGE6YG9zLlJfT0tgLAorLSAgICAgICAgICAgIDpkYXRhOmBvcy5XX09LYCwgOmRhdGE6YG9z LlhfT0tgCistCistICAgICAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5hY2Nlc3NgCist ICAgICAgICAgICAgIiIiCistICAgICAgICAgICAgcmV0dXJuIG9zLmFjY2VzcyhzZWxmLCBtb2Rl KQorLQorLSAgICBkZWYgc3RhdChzZWxmKToKKy0gICAgICAgICIiIiBQZXJmb3JtIGEgYGBzdGF0 KClgYCBzeXN0ZW0gY2FsbCBvbiB0aGlzIHBhdGguCistCistICAgICAgICAuLiBzZWVhbHNvOjog Om1ldGg6YGxzdGF0YCwgOmZ1bmM6YG9zLnN0YXRgCistICAgICAgICAiIiIKKy0gICAgICAgIHJl dHVybiBvcy5zdGF0KHNlbGYpCistCistICAgIGRlZiBsc3RhdChzZWxmKToKKy0gICAgICAgICIi IiBMaWtlIDptZXRoOmBzdGF0YCwgYnV0IGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3MuCist CistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YHN0YXRgLCA6ZnVuYzpgb3MubHN0YXRgCist ICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBvcy5sc3RhdChzZWxmKQorLQorLSAgICBkZWYg X19nZXRfb3duZXJfd2luZG93cyhzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJu IHRoZSBuYW1lIG9mIHRoZSBvd25lciBvZiB0aGlzIGZpbGUgb3IgZGlyZWN0b3J5LiBGb2xsb3cK Ky0gICAgICAgIHN5bWJvbGljIGxpbmtzLgorLQorLSAgICAgICAgUmV0dXJuIGEgbmFtZSBvZiB0 aGUgZm9ybSBgYHInRE9NQUlOXFxVc2VyIE5hbWUnYGA7IG1heSBiZSBhIGdyb3VwLgorLQorLSAg ICAgICAgLi4gc2VlYWxzbzo6IDphdHRyOmBvd25lcmAKKy0gICAgICAgICIiIgorLSAgICAgICAg ZGVzYyA9IHdpbjMyc2VjdXJpdHkuR2V0RmlsZVNlY3VyaXR5KAorLSAgICAgICAgICAgIHNlbGYs IHdpbjMyc2VjdXJpdHkuT1dORVJfU0VDVVJJVFlfSU5GT1JNQVRJT04pCistICAgICAgICBzaWQg PSBkZXNjLkdldFNlY3VyaXR5RGVzY3JpcHRvck93bmVyKCkKKy0gICAgICAgIGFjY291bnQsIGRv bWFpbiwgdHlwZWNvZGUgPSB3aW4zMnNlY3VyaXR5Lkxvb2t1cEFjY291bnRTaWQoTm9uZSwgc2lk KQorLSAgICAgICAgcmV0dXJuIGRvbWFpbiArICdcXCcgKyBhY2NvdW50CistCistICAgIGRlZiBf X2dldF9vd25lcl91bml4KHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gdGhl IG5hbWUgb2YgdGhlIG93bmVyIG9mIHRoaXMgZmlsZSBvciBkaXJlY3RvcnkuIEZvbGxvdworLSAg ICAgICAgc3ltYm9saWMgbGlua3MuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmF0dHI6YG93 bmVyYAorLSAgICAgICAgIiIiCistICAgICAgICBzdCA9IHNlbGYuc3RhdCgpCistICAgICAgICBy ZXR1cm4gcHdkLmdldHB3dWlkKHN0LnN0X3VpZCkucHdfbmFtZQorLQorLSAgICBkZWYgX19nZXRf b3duZXJfbm90X2ltcGxlbWVudGVkKHNlbGYpOgorLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50 ZWRFcnJvcigiT3duZXJzaGlwIG5vdCBhdmFpbGFibGUgb24gdGhpcyBwbGF0Zm9ybS4iKQorLQor LSAgICBpZiAnd2luMzJzZWN1cml0eScgaW4gZ2xvYmFscygpOgorLSAgICAgICAgZ2V0X293bmVy ID0gX19nZXRfb3duZXJfd2luZG93cworLSAgICBlbGlmICdwd2QnIGluIGdsb2JhbHMoKToKKy0g ICAgICAgIGdldF9vd25lciA9IF9fZ2V0X293bmVyX3VuaXgKKy0gICAgZWxzZToKKy0gICAgICAg IGdldF9vd25lciA9IF9fZ2V0X293bmVyX25vdF9pbXBsZW1lbnRlZAorLQorLSAgICBvd25lciA9 IHByb3BlcnR5KAorLSAgICAgICAgZ2V0X293bmVyLCBOb25lLCBOb25lLAorLSAgICAgICAgIiIi IE5hbWUgb2YgdGhlIG93bmVyIG9mIHRoaXMgZmlsZSBvciBkaXJlY3RvcnkuCistCistICAgICAg ICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldF9vd25lcmAiIiIpCistCistICAgIGlmIGhhc2F0dHIo b3MsICdzdGF0dmZzJyk6CistICAgICAgICBkZWYgc3RhdHZmcyhzZWxmKToKKy0gICAgICAgICAg ICAiIiIgUGVyZm9ybSBhIGBgc3RhdHZmcygpYGAgc3lzdGVtIGNhbGwgb24gdGhpcyBwYXRoLgor LQorLSAgICAgICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3Muc3RhdHZmc2AKKy0gICAgICAg ICAgICAiIiIKKy0gICAgICAgICAgICByZXR1cm4gb3Muc3RhdHZmcyhzZWxmKQorLQorLSAgICBp ZiBoYXNhdHRyKG9zLCAncGF0aGNvbmYnKToKKy0gICAgICAgIGRlZiBwYXRoY29uZihzZWxmLCBu YW1lKToKKy0gICAgICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoY29uZmAg IiIiCistICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGhjb25mKHNlbGYsIG5hbWUpCistCistICAg ICMKKy0gICAgIyAtLS0gTW9kaWZ5aW5nIG9wZXJhdGlvbnMgb24gZmlsZXMgYW5kIGRpcmVjdG9y aWVzCistCistICAgIGRlZiB1dGltZShzZWxmLCB0aW1lcyk6CistICAgICAgICAiIiIgU2V0IHRo ZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWVzIG9mIHRoaXMgZmlsZS4KKy0KKy0gICAgICAgIC4u IHNlZWFsc286OiA6ZnVuYzpgb3MudXRpbWVgCistICAgICAgICAiIiIKKy0gICAgICAgIG9zLnV0 aW1lKHNlbGYsIHRpbWVzKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIGNobW9k KHNlbGYsIG1vZGUpOgorLSAgICAgICAgIiIiCistICAgICAgICBTZXQgdGhlIG1vZGUuIE1heSBi ZSB0aGUgbmV3IG1vZGUgKG9zLmNobW9kIGJlaGF2aW9yKSBvciBhIGBzeW1ib2xpYworLSAgICAg ICAgbW9kZSA8aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DaG1vZCNTeW1ib2xpY19tb2Rl cz5gXy4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MuY2htb2RgCistICAgICAg ICAiIiIKKy0gICAgICAgIGlmIGlzaW5zdGFuY2UobW9kZSwgc3RyaW5nX3R5cGVzKToKKy0gICAg ICAgICAgICBtYXNrID0gX211bHRpX3Blcm1pc3Npb25fbWFzayhtb2RlKQorLSAgICAgICAgICAg IG1vZGUgPSBtYXNrKHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBvcy5jaG1vZChzZWxm LCBtb2RlKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIGNob3duKHNlbGYsIHVp ZD0tMSwgZ2lkPS0xKToKKy0gICAgICAgICIiIgorLSAgICAgICAgQ2hhbmdlIHRoZSBvd25lciBh bmQgZ3JvdXAgYnkgbmFtZXMgcmF0aGVyIHRoYW4gdGhlIHVpZCBvciBnaWQgbnVtYmVycy4KKy0K Ky0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MuY2hvd25gCistICAgICAgICAiIiIKKy0g ICAgICAgIGlmIGhhc2F0dHIob3MsICdjaG93bicpOgorLSAgICAgICAgICAgIGlmICdwd2QnIGlu IGdsb2JhbHMoKSBhbmQgaXNpbnN0YW5jZSh1aWQsIHN0cmluZ190eXBlcyk6CistICAgICAgICAg ICAgICAgIHVpZCA9IHB3ZC5nZXRwd25hbSh1aWQpLnB3X3VpZAorLSAgICAgICAgICAgIGlmICdn cnAnIGluIGdsb2JhbHMoKSBhbmQgaXNpbnN0YW5jZShnaWQsIHN0cmluZ190eXBlcyk6CistICAg ICAgICAgICAgICAgIGdpZCA9IGdycC5nZXRncm5hbShnaWQpLmdyX2dpZAorLSAgICAgICAgICAg IG9zLmNob3duKHNlbGYsIHVpZCwgZ2lkKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBy YWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJPd25lcnNoaXAgbm90IGF2YWlsYWJsZSBvbiB0aGlz IHBsYXRmb3JtLiIpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgcmVuYW1lKHNl bGYsIG5ldyk6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5yZW5hbWVgICIi IgorLSAgICAgICAgb3MucmVuYW1lKHNlbGYsIG5ldykKKy0gICAgICAgIHJldHVybiBzZWxmLl9u ZXh0X2NsYXNzKG5ldykKKy0KKy0gICAgZGVmIHJlbmFtZXMoc2VsZiwgbmV3KToKKy0gICAgICAg ICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnJlbmFtZXNgICIiIgorLSAgICAgICAgb3MucmVu YW1lcyhzZWxmLCBuZXcpCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhuZXcpCist CistICAgICMKKy0gICAgIyAtLS0gQ3JlYXRlL2RlbGV0ZSBvcGVyYXRpb25zIG9uIGRpcmVjdG9y aWVzCistCistICAgIGRlZiBta2RpcihzZWxmLCBtb2RlPTBvNzc3KToKKy0gICAgICAgICIiIiAu LiBzZWVhbHNvOjogOmZ1bmM6YG9zLm1rZGlyYCAiIiIKKy0gICAgICAgIG9zLm1rZGlyKHNlbGYs IG1vZGUpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgbWtkaXJfcChzZWxmLCBt b2RlPTBvNzc3KToKKy0gICAgICAgICIiIiBMaWtlIDptZXRoOmBta2RpcmAsIGJ1dCBkb2VzIG5v dCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlCistICAgICAgICBkaXJlY3RvcnkgYWxyZWFkeSBl eGlzdHMuICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHNlbGYubWtkaXIobW9kZSkK Ky0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorLSAgICAgICAgICAgIF8sIGUsIF8gPSBzeXMuZXhj X2luZm8oKQorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorLSAgICAg ICAgICAgICAgICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIG1ha2Vk aXJzKHNlbGYsIG1vZGU9MG83NzcpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpg b3MubWFrZWRpcnNgICIiIgorLSAgICAgICAgb3MubWFrZWRpcnMoc2VsZiwgbW9kZSkKKy0gICAg ICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBtYWtlZGlyc19wKHNlbGYsIG1vZGU9MG83Nzcp OgorLSAgICAgICAgIiIiIExpa2UgOm1ldGg6YG1ha2VkaXJzYCwgYnV0IGRvZXMgbm90IHJhaXNl IGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGRpcmVjdG9yeSBhbHJlYWR5IGV4aXN0cy4g IiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgc2VsZi5tYWtlZGlycyhtb2RlKQorLSAg ICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgXywgZSwgXyA9IHN5cy5leGNfaW5m bygpCistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CistICAgICAgICAg ICAgICAgIHJhaXNlCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgcm1kaXIoc2Vs Zik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5ybWRpcmAgIiIiCistICAg ICAgICBvcy5ybWRpcihzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJt ZGlyX3Aoc2VsZik6CistICAgICAgICAiIiIgTGlrZSA6bWV0aDpgcm1kaXJgLCBidXQgZG9lcyBu b3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZQorLSAgICAgICAgZGlyZWN0b3J5IGlzIG5vdCBl bXB0eSBvciBkb2VzIG5vdCBleGlzdC4gIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAg c2VsZi5ybWRpcigpCistICAgICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAgICAgICAgICBfLCBl LCBfID0gc3lzLmV4Y19pbmZvKCkKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVO T1RFTVBUWSBhbmQgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CistICAgICAgICAgICAgICAgIHJh aXNlCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgcmVtb3ZlZGlycyhzZWxmKToK Ky0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnJlbW92ZWRpcnNgICIiIgorLSAg ICAgICAgb3MucmVtb3ZlZGlycyhzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAg ZGVmIHJlbW92ZWRpcnNfcChzZWxmKToKKy0gICAgICAgICIiIiBMaWtlIDptZXRoOmByZW1vdmVk aXJzYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGRp cmVjdG9yeSBpcyBub3QgZW1wdHkgb3IgZG9lcyBub3QgZXhpc3QuICIiIgorLSAgICAgICAgdHJ5 OgorLSAgICAgICAgICAgIHNlbGYucmVtb3ZlZGlycygpCistICAgICAgICBleGNlcHQgT1NFcnJv cjoKKy0gICAgICAgICAgICBfLCBlLCBfID0gc3lzLmV4Y19pbmZvKCkKKy0gICAgICAgICAgICBp ZiBlLmVycm5vICE9IGVycm5vLkVOT1RFTVBUWSBhbmQgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6 CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICAj IC0tLSBNb2RpZnlpbmcgb3BlcmF0aW9ucyBvbiBmaWxlcworLQorLSAgICBkZWYgdG91Y2goc2Vs Zik6CistICAgICAgICAiIiIgU2V0IHRoZSBhY2Nlc3MvbW9kaWZpZWQgdGltZXMgb2YgdGhpcyBm aWxlIHRvIHRoZSBjdXJyZW50IHRpbWUuCistICAgICAgICBDcmVhdGUgdGhlIGZpbGUgaWYgaXQg ZG9lcyBub3QgZXhpc3QuCistICAgICAgICAiIiIKKy0gICAgICAgIGZkID0gb3Mub3BlbihzZWxm LCBvcy5PX1dST05MWSB8IG9zLk9fQ1JFQVQsIDBvNjY2KQorLSAgICAgICAgb3MuY2xvc2UoZmQp CistICAgICAgICBvcy51dGltZShzZWxmLCBOb25lKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0K Ky0gICAgZGVmIHJlbW92ZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6 YG9zLnJlbW92ZWAgIiIiCistICAgICAgICBvcy5yZW1vdmUoc2VsZikKKy0gICAgICAgIHJldHVy biBzZWxmCistCistICAgIGRlZiByZW1vdmVfcChzZWxmKToKKy0gICAgICAgICIiIiBMaWtlIDpt ZXRoOmByZW1vdmVgLCBidXQgZG9lcyBub3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZQorLSAg ICAgICAgZmlsZSBkb2VzIG5vdCBleGlzdC4gIiIiCistICAgICAgICB0cnk6CistICAgICAgICAg ICAgc2VsZi51bmxpbmsoKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAg XywgZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJu by5FTk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICByZXR1cm4gc2VsZgor LQorLSAgICBkZWYgdW5saW5rKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVu Yzpgb3MudW5saW5rYCAiIiIKKy0gICAgICAgIG9zLnVubGluayhzZWxmKQorLSAgICAgICAgcmV0 dXJuIHNlbGYKKy0KKy0gICAgZGVmIHVubGlua19wKHNlbGYpOgorLSAgICAgICAgIiIiIExpa2Ug Om1ldGg6YHVubGlua2AsIGJ1dCBkb2VzIG5vdCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlCist ICAgICAgICBmaWxlIGRvZXMgbm90IGV4aXN0LiAiIiIKKy0gICAgICAgIHNlbGYucmVtb3ZlX3Ao KQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgIyAtLS0gTGlua3MKKy0KKy0gICAgaWYg aGFzYXR0cihvcywgJ2xpbmsnKToKKy0gICAgICAgIGRlZiBsaW5rKHNlbGYsIG5ld3BhdGgpOgor LSAgICAgICAgICAgICIiIiBDcmVhdGUgYSBoYXJkIGxpbmsgYXQgYG5ld3BhdGhgLCBwb2ludGlu ZyB0byB0aGlzIGZpbGUuCistCistICAgICAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5s aW5rYAorLSAgICAgICAgICAgICIiIgorLSAgICAgICAgICAgIG9zLmxpbmsoc2VsZiwgbmV3cGF0 aCkKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhuZXdwYXRoKQorLQorLSAg ICBpZiBoYXNhdHRyKG9zLCAnc3ltbGluaycpOgorLSAgICAgICAgZGVmIHN5bWxpbmsoc2VsZiwg bmV3bGluayk6CistICAgICAgICAgICAgIiIiIENyZWF0ZSBhIHN5bWJvbGljIGxpbmsgYXQgYG5l d2xpbmtgLCBwb2ludGluZyBoZXJlLgorLQorLSAgICAgICAgICAgIC4uIHNlZWFsc286OiA6ZnVu Yzpgb3Muc3ltbGlua2AKKy0gICAgICAgICAgICAiIiIKKy0gICAgICAgICAgICBvcy5zeW1saW5r KHNlbGYsIG5ld2xpbmspCistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MobmV3 bGluaykKKy0KKy0gICAgaWYgaGFzYXR0cihvcywgJ3JlYWRsaW5rJyk6CistICAgICAgICBkZWYg cmVhZGxpbmsoc2VsZik6CistICAgICAgICAgICAgIiIiIFJldHVybiB0aGUgcGF0aCB0byB3aGlj aCB0aGlzIHN5bWJvbGljIGxpbmsgcG9pbnRzLgorLQorLSAgICAgICAgICAgIFRoZSByZXN1bHQg bWF5IGJlIGFuIGFic29sdXRlIG9yIGEgcmVsYXRpdmUgcGF0aC4KKy0KKy0gICAgICAgICAgICAu LiBzZWVhbHNvOjogOm1ldGg6YHJlYWRsaW5rYWJzYCwgOmZ1bmM6YG9zLnJlYWRsaW5rYAorLSAg ICAgICAgICAgICIiIgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKG9zLnJl YWRsaW5rKHNlbGYpKQorLQorLSAgICAgICAgZGVmIHJlYWRsaW5rYWJzKHNlbGYpOgorLSAgICAg ICAgICAgICIiIiBSZXR1cm4gdGhlIHBhdGggdG8gd2hpY2ggdGhpcyBzeW1ib2xpYyBsaW5rIHBv aW50cy4KKy0KKy0gICAgICAgICAgICBUaGUgcmVzdWx0IGlzIGFsd2F5cyBhbiBhYnNvbHV0ZSBw YXRoLgorLQorLSAgICAgICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgcmVhZGxpbmtgLCA6ZnVu Yzpgb3MucmVhZGxpbmtgCistICAgICAgICAgICAgIiIiCistICAgICAgICAgICAgcCA9IHNlbGYu cmVhZGxpbmsoKQorLSAgICAgICAgICAgIGlmIHAuaXNhYnMoKToKKy0gICAgICAgICAgICAgICAg cmV0dXJuIHAKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICByZXR1cm4gKHNl bGYucGFyZW50IC8gcCkuYWJzcGF0aCgpCistCistICAgICMgSGlnaC1sZXZlbCBmdW5jdGlvbnMg ZnJvbSBzaHV0aWwKKy0gICAgIyBUaGVzZSBmdW5jdGlvbnMgd2lsbCBiZSBib3VuZCB0byB0aGUg aW5zdGFuY2Ugc3VjaCB0aGF0CistICAgICMgUGF0aChuYW1lKS5jb3B5KHRhcmdldCkgd2lsbCBp bnZva2Ugc2h1dGlsLmNvcHkobmFtZSwgdGFyZ2V0KQorLQorLSAgICBjb3B5ZmlsZSA9IHNodXRp bC5jb3B5ZmlsZQorLSAgICBjb3B5bW9kZSA9IHNodXRpbC5jb3B5bW9kZQorLSAgICBjb3B5c3Rh dCA9IHNodXRpbC5jb3B5c3RhdAorLSAgICBjb3B5ID0gc2h1dGlsLmNvcHkKKy0gICAgY29weTIg PSBzaHV0aWwuY29weTIKKy0gICAgY29weXRyZWUgPSBzaHV0aWwuY29weXRyZWUKKy0gICAgaWYg aGFzYXR0cihzaHV0aWwsICdtb3ZlJyk6CistICAgICAgICBtb3ZlID0gc2h1dGlsLm1vdmUKKy0g ICAgcm10cmVlID0gc2h1dGlsLnJtdHJlZQorLQorLSAgICBkZWYgcm10cmVlX3Aoc2VsZik6Cist ICAgICAgICAiIiIgTGlrZSA6bWV0aDpgcm10cmVlYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFuIGV4 Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4gIiIiCist ICAgICAgICB0cnk6CistICAgICAgICAgICAgc2VsZi5ybXRyZWUoKQorLSAgICAgICAgZXhjZXB0 IE9TRXJyb3I6CistICAgICAgICAgICAgXywgZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAgICAg ICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNl CistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgY2hkaXIoc2VsZik6CistICAgICAg ICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5jaGRpcmAgIiIiCistICAgICAgICBvcy5jaGRp cihzZWxmKQorLQorLSAgICBjZCA9IGNoZGlyCistCistICAgIGRlZiBtZXJnZV90cmVlKHNlbGYs IGRzdCwgc3ltbGlua3M9RmFsc2UsICphcmdzLCAqKmt3YXJncyk6CistICAgICAgICAiIiIKKy0g ICAgICAgIENvcHkgZW50aXJlIGNvbnRlbnRzIG9mIHNlbGYgdG8gZHN0LCBvdmVyd3JpdGluZyBl eGlzdGluZworLSAgICAgICAgY29udGVudHMgaW4gZHN0IHdpdGggdGhvc2UgaW4gc2VsZi4KKy0K Ky0gICAgICAgIElmIHRoZSBhZGRpdGlvbmFsIGtleXdvcmQgYHVwZGF0ZWAgaXMgVHJ1ZSwgZWFj aAorLSAgICAgICAgYHNyY2Agd2lsbCBvbmx5IGJlIGNvcGllZCBpZiBgZHN0YCBkb2VzIG5vdCBl eGlzdCwKKy0gICAgICAgIG9yIGBzcmNgIGlzIG5ld2VyIHRoYW4gYGRzdGAuCistCistICAgICAg ICBOb3RlIHRoYXQgdGhlIHRlY2huaXF1ZSBlbXBsb3llZCBzdGFnZXMgdGhlIGZpbGVzIGluIGEg dGVtcG9yYXJ5CistICAgICAgICBkaXJlY3RvcnkgZmlyc3QsIHNvIHRoaXMgZnVuY3Rpb24gaXMg bm90IHN1aXRhYmxlIGZvciBtZXJnaW5nCistICAgICAgICB0cmVlcyB3aXRoIGxhcmdlIGZpbGVz LCBlc3BlY2lhbGx5IGlmIHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5CistICAgICAgICBpcyBub3Qg Y2FwYWJsZSBvZiBzdG9yaW5nIGEgY29weSBvZiB0aGUgZW50aXJlIHNvdXJjZSB0cmVlLgorLSAg ICAgICAgIiIiCistICAgICAgICB1cGRhdGUgPSBrd2FyZ3MucG9wKCd1cGRhdGUnLCBGYWxzZSkK Ky0gICAgICAgIHdpdGggdGVtcGRpcigpIGFzIF90ZW1wX2RpcjoKKy0gICAgICAgICAgICAjIGZp cnN0IGNvcHkgdGhlIHRyZWUgdG8gYSBzdGFnZSBkaXJlY3RvcnkgdG8gc3VwcG9ydAorLSAgICAg ICAgICAgICMgIHRoZSBwYXJhbWV0ZXJzIGFuZCBiZWhhdmlvciBvZiBjb3B5dHJlZS4KKy0gICAg ICAgICAgICBzdGFnZSA9IF90ZW1wX2RpciAvIHN0cihoYXNoKHNlbGYpKQorLSAgICAgICAgICAg IHNlbGYuY29weXRyZWUoc3RhZ2UsIHN5bWxpbmtzLCAqYXJncywgKiprd2FyZ3MpCistICAgICAg ICAgICAgIyBub3cgY29weSBldmVyeXRoaW5nIGZyb20gdGhlIHN0YWdlIGRpcmVjdG9yeSB1c2lu ZworLSAgICAgICAgICAgICMgIHRoZSBzZW1hbnRpY3Mgb2YgZGlyX3V0aWwuY29weV90cmVlCist ICAgICAgICAgICAgZGlyX3V0aWwuY29weV90cmVlKHN0YWdlLCBkc3QsIHByZXNlcnZlX3N5bWxp bmtzPXN5bWxpbmtzLAorLSAgICAgICAgICAgICAgICB1cGRhdGU9dXBkYXRlKQorLQorLSAgICAj CistICAgICMgLS0tIFNwZWNpYWwgc3R1ZmYgZnJvbSBvcworLQorLSAgICBpZiBoYXNhdHRyKG9z LCAnY2hyb290Jyk6CistICAgICAgICBkZWYgY2hyb290KHNlbGYpOgorLSAgICAgICAgICAgICIi IiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLmNocm9vdGAgIiIiCistICAgICAgICAgICAgb3MuY2hy b290KHNlbGYpCistCistICAgIGlmIGhhc2F0dHIob3MsICdzdGFydGZpbGUnKToKKy0gICAgICAg IGRlZiBzdGFydGZpbGUoc2VsZik6CistICAgICAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVu Yzpgb3Muc3RhcnRmaWxlYCAiIiIKKy0gICAgICAgICAgICBvcy5zdGFydGZpbGUoc2VsZikKKy0g ICAgICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICAjIGluLXBsYWNlIHJlLXdyaXRpbmcsIGNv dXJ0ZXN5IG9mIE1hcnRpam4gUGlldGVycworLSAgICAjIGh0dHA6Ly93d3cuem9wYXRpc3RhLmNv bS9weXRob24vMjAxMy8xMS8yNi9pbnBsYWNlLWZpbGUtcmV3cml0aW5nLworLSAgICBAY29udGV4 dGxpYi5jb250ZXh0bWFuYWdlcgorLSAgICBkZWYgaW5fcGxhY2Uoc2VsZiwgbW9kZT0ncicsIGJ1 ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUsCistICAgICAgICAgICAgbmV3 bGluZT1Ob25lLCBiYWNrdXBfZXh0ZW5zaW9uPU5vbmUpOgorLSAgICAgICAgIiIiCistICAgICAg ICBBIGNvbnRleHQgaW4gd2hpY2ggYSBmaWxlIG1heSBiZSByZS13cml0dGVuIGluLXBsYWNlIHdp dGggbmV3IGNvbnRlbnQuCistCistICAgICAgICBZaWVsZHMgYSB0dXBsZSBvZiA6c2FtcDpgKHty ZWFkYWJsZX0sIHt3cml0YWJsZX0pYCBmaWxlIG9iamVjdHMsIHdoZXJlIGB3cml0YWJsZWAKKy0g ICAgICAgIHJlcGxhY2VzIGByZWFkYWJsZWAuCistCistICAgICAgICBJZiBhbiBleGNlcHRpb24g b2NjdXJzLCB0aGUgb2xkIGZpbGUgaXMgcmVzdG9yZWQsIHJlbW92aW5nIHRoZQorLSAgICAgICAg d3JpdHRlbiBkYXRhLgorLQorLSAgICAgICAgTW9kZSAqbXVzdCBub3QqIHVzZSBgYCd3J2BgLCBg YCdhJ2BgLCBvciBgYCcrJ2BgOyBvbmx5IHJlYWQtb25seS1tb2RlcyBhcmUKKy0gICAgICAgIGFs bG93ZWQuIEEgOmV4YzpgVmFsdWVFcnJvcmAgaXMgcmFpc2VkIG9uIGludmFsaWQgbW9kZXMuCist CistICAgICAgICBGb3IgZXhhbXBsZSwgdG8gYWRkIGxpbmUgbnVtYmVycyB0byBhIGZpbGU6Ogor LQorLSAgICAgICAgICAgIHAgPSBQYXRoKGZpbGVuYW1lKQorLSAgICAgICAgICAgIGFzc2VydCBw LmlzZmlsZSgpCistICAgICAgICAgICAgd2l0aCBwLmluX3BsYWNlKCkgYXMgKHJlYWRlciwgd3Jp dGVyKToKKy0gICAgICAgICAgICAgICAgZm9yIG51bWJlciwgbGluZSBpbiBlbnVtZXJhdGUocmVh ZGVyLCAxKToKKy0gICAgICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZSgnezA6M306ICcuZm9y bWF0KG51bWJlcikpKQorLSAgICAgICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlKGxpbmUpCist CistICAgICAgICBUaGVyZWFmdGVyLCB0aGUgZmlsZSBhdCBgZmlsZW5hbWVgIHdpbGwgaGF2ZSBs aW5lIG51bWJlcnMgaW4gaXQuCistICAgICAgICAiIiIKKy0gICAgICAgIGltcG9ydCBpbworLQor LSAgICAgICAgaWYgc2V0KG1vZGUpLmludGVyc2VjdGlvbignd2ErJyk6CistICAgICAgICAgICAg cmFpc2UgVmFsdWVFcnJvcignT25seSByZWFkLW9ubHkgZmlsZSBtb2RlcyBjYW4gYmUgdXNlZCcp CistCistICAgICAgICAjIG1vdmUgZXhpc3RpbmcgZmlsZSB0byBiYWNrdXAsIGNyZWF0ZSBuZXcg ZmlsZSB3aXRoIHNhbWUgcGVybWlzc2lvbnMKKy0gICAgICAgICMgYm9ycm93ZWQgZXh0ZW5zaXZl bHkgZnJvbSB0aGUgZmlsZWlucHV0IG1vZHVsZQorLSAgICAgICAgYmFja3VwX2ZuID0gc2VsZiAr IChiYWNrdXBfZXh0ZW5zaW9uIG9yIG9zLmV4dHNlcCArICdiYWsnKQorLSAgICAgICAgdHJ5Ogor LSAgICAgICAgICAgIG9zLnVubGluayhiYWNrdXBfZm4pCistICAgICAgICBleGNlcHQgb3MuZXJy b3I6CistICAgICAgICAgICAgcGFzcworLSAgICAgICAgb3MucmVuYW1lKHNlbGYsIGJhY2t1cF9m bikKKy0gICAgICAgIHJlYWRhYmxlID0gaW8ub3BlbihiYWNrdXBfZm4sIG1vZGUsIGJ1ZmZlcmlu Zz1idWZmZXJpbmcsCistICAgICAgICAgICAgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJv cnMsIG5ld2xpbmU9bmV3bGluZSkKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBwZXJtID0g b3MuZnN0YXQocmVhZGFibGUuZmlsZW5vKCkpLnN0X21vZGUKKy0gICAgICAgIGV4Y2VwdCBPU0Vy cm9yOgorLSAgICAgICAgICAgIHdyaXRhYmxlID0gb3BlbihzZWxmLCAndycgKyBtb2RlLnJlcGxh Y2UoJ3InLCAnJyksCistICAgICAgICAgICAgICAgIGJ1ZmZlcmluZz1idWZmZXJpbmcsIGVuY29k aW5nPWVuY29kaW5nLCBlcnJvcnM9ZXJyb3JzLAorLSAgICAgICAgICAgICAgICBuZXdsaW5lPW5l d2xpbmUpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIG9zX21vZGUgPSBvcy5PX0NSRUFU IHwgb3MuT19XUk9OTFkgfCBvcy5PX1RSVU5DCistICAgICAgICAgICAgaWYgaGFzYXR0cihvcywg J09fQklOQVJZJyk6CistICAgICAgICAgICAgICAgIG9zX21vZGUgfD0gb3MuT19CSU5BUlkKKy0g ICAgICAgICAgICBmZCA9IG9zLm9wZW4oc2VsZiwgb3NfbW9kZSwgcGVybSkKKy0gICAgICAgICAg ICB3cml0YWJsZSA9IGlvLm9wZW4oZmQsICJ3IiArIG1vZGUucmVwbGFjZSgncicsICcnKSwKKy0g ICAgICAgICAgICAgICAgYnVmZmVyaW5nPWJ1ZmZlcmluZywgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVy cm9ycz1lcnJvcnMsCistICAgICAgICAgICAgICAgIG5ld2xpbmU9bmV3bGluZSkKKy0gICAgICAg ICAgICB0cnk6CistICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIob3MsICdjaG1vZCcpOgorLSAg ICAgICAgICAgICAgICAgICAgb3MuY2htb2Qoc2VsZiwgcGVybSkKKy0gICAgICAgICAgICBleGNl cHQgT1NFcnJvcjoKKy0gICAgICAgICAgICAgICAgcGFzcworLSAgICAgICAgdHJ5OgorLSAgICAg ICAgICAgIHlpZWxkIHJlYWRhYmxlLCB3cml0YWJsZQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlv bjoKKy0gICAgICAgICAgICAjIG1vdmUgYmFja3VwIGJhY2sKKy0gICAgICAgICAgICByZWFkYWJs ZS5jbG9zZSgpCistICAgICAgICAgICAgd3JpdGFibGUuY2xvc2UoKQorLSAgICAgICAgICAgIHRy eToKKy0gICAgICAgICAgICAgICAgb3MudW5saW5rKHNlbGYpCistICAgICAgICAgICAgZXhjZXB0 IG9zLmVycm9yOgorLSAgICAgICAgICAgICAgICBwYXNzCistICAgICAgICAgICAgb3MucmVuYW1l KGJhY2t1cF9mbiwgc2VsZikKKy0gICAgICAgICAgICByYWlzZQorLSAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICByZWFkYWJsZS5jbG9zZSgpCistICAgICAgICAgICAgd3JpdGFibGUuY2xvc2Uo KQorLSAgICAgICAgZmluYWxseToKKy0gICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAg IG9zLnVubGluayhiYWNrdXBfZm4pCistICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorLSAg ICAgICAgICAgICAgICBwYXNzCistCistICAgIEBDbGFzc1Byb3BlcnR5CistICAgIEBjbGFzc21l dGhvZAorLSAgICBkZWYgc3BlY2lhbChjbHMpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1 cm4gYSBTcGVjaWFsUmVzb2x2ZXIgb2JqZWN0IHN1aXRhYmxlIHJlZmVyZW5jaW5nIGEgc3VpdGFi bGUKKy0gICAgICAgIGRpcmVjdG9yeSBmb3IgdGhlIHJlbGV2YW50IHBsYXRmb3JtIGZvciB0aGUg Z2l2ZW4KKy0gICAgICAgIHR5cGUgb2YgY29udGVudC4KKy0KKy0gICAgICAgIEZvciBleGFtcGxl LCB0byBnZXQgYSB1c2VyIGNvbmZpZyBkaXJlY3RvcnksIGludm9rZToKKy0KKy0gICAgICAgICAg ICBkaXIgPSBQYXRoLnNwZWNpYWwoKS51c2VyLmNvbmZpZworLQorLSAgICAgICAgVXNlcyB0aGUg YGFwcGRpcnMKKy0gICAgICAgIDxodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpL2FwcGRpcnMv MS40LjA+YF8gdG8gcmVzb2x2ZQorLSAgICAgICAgdGhlIHBhdGhzIGluIGEgcGxhdGZvcm0tZnJp ZW5kbHkgd2F5LgorLQorLSAgICAgICAgVG8gY3JlYXRlIGEgY29uZmlnIGRpcmVjdG9yeSBmb3Ig J015IEFwcCcsIGNvbnNpZGVyOgorLQorLSAgICAgICAgICAgIGRpciA9IFBhdGguc3BlY2lhbCgi TXkgQXBwIikudXNlci5jb25maWcubWFrZWRpcnNfcCgpCistCistICAgICAgICBJZiB0aGUgYGBh cHBkaXJzYGAgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQsIGludm9jYXRpb24KKy0gICAgICAgIG9m IHNwZWNpYWwgd2lsbCByYWlzZSBhbiBJbXBvcnRFcnJvci4KKy0gICAgICAgICIiIgorLSAgICAg ICAgcmV0dXJuIGZ1bmN0b29scy5wYXJ0aWFsKFNwZWNpYWxSZXNvbHZlciwgY2xzKQorLQorLQor LWNsYXNzIFNwZWNpYWxSZXNvbHZlcihvYmplY3QpOgorLSAgICBjbGFzcyBSZXNvbHZlclNjb3Bl OgorLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGhzLCBzY29wZSk6CistICAgICAgICAg ICAgc2VsZi5wYXRocyA9IHBhdGhzCistICAgICAgICAgICAgc2VsZi5zY29wZSA9IHNjb3BlCist CistICAgICAgICBkZWYgX19nZXRhdHRyX18oc2VsZiwgY2xhc3NfKToKKy0gICAgICAgICAgICBy ZXR1cm4gc2VsZi5wYXRocy5nZXRfZGlyKHNlbGYuc2NvcGUsIGNsYXNzXykKKy0KKy0gICAgZGVm IF9faW5pdF9fKHNlbGYsIHBhdGhfY2xhc3MsICphcmdzLCAqKmt3YXJncyk6CistICAgICAgICBh cHBkaXJzID0gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUoJ2FwcGRpcnMnKQorLQorLSAgICAgICAg IyBsZXQgYXBwbmFtZSBkZWZhdWx0IHRvIE5vbmUgdW50aWwKKy0gICAgICAgICMgaHR0cHM6Ly9n aXRodWIuY29tL0FjdGl2ZVN0YXRlL2FwcGRpcnMvaXNzdWVzLzU1IGlzIHNvbHZlZC4KKy0gICAg ICAgIG5vdCBhcmdzIGFuZCBrd2FyZ3Muc2V0ZGVmYXVsdCgnYXBwbmFtZScsIE5vbmUpCistCist ICAgICAgICB2YXJzKHNlbGYpLnVwZGF0ZSgKKy0gICAgICAgICAgICBwYXRoX2NsYXNzPXBhdGhf Y2xhc3MsCistICAgICAgICAgICAgd3JhcHBlcj1hcHBkaXJzLkFwcERpcnMoKmFyZ3MsICoqa3dh cmdzKSwKKy0gICAgICAgICkKKy0KKy0gICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIHNjb3BlKToK Ky0gICAgICAgIHJldHVybiBzZWxmLlJlc29sdmVyU2NvcGUoc2VsZiwgc2NvcGUpCistCistICAg IGRlZiBnZXRfZGlyKHNlbGYsIHNjb3BlLCBjbGFzc18pOgorLSAgICAgICAgIiIiCistICAgICAg ICBSZXR1cm4gdGhlIGNhbGxhYmxlIGZ1bmN0aW9uIGZyb20gYXBwZGlycywgYnV0IHdpdGggdGhl CistICAgICAgICByZXN1bHQgd3JhcHBlZCBpbiBzZWxmLnBhdGhfY2xhc3MKKy0gICAgICAgICIi IgorLSAgICAgICAgcHJvcF9uYW1lID0gJ3tzY29wZX1fe2NsYXNzX31fZGlyJy5mb3JtYXQoKips b2NhbHMoKSkKKy0gICAgICAgIHZhbHVlID0gZ2V0YXR0cihzZWxmLndyYXBwZXIsIHByb3BfbmFt ZSkKKy0gICAgICAgIE11bHRpUGF0aCA9IE11bHRpLmZvcl9jbGFzcyhzZWxmLnBhdGhfY2xhc3Mp CistICAgICAgICByZXR1cm4gTXVsdGlQYXRoLmRldGVjdCh2YWx1ZSkKKy0KKy0KKy1jbGFzcyBN dWx0aToKKy0gICAgIiIiCistICAgIEEgbWl4LWluIGZvciBhIFBhdGggd2hpY2ggbWF5IGNvbnRh aW4gbXVsdGlwbGUgUGF0aCBzZXBhcmF0ZWQgYnkgcGF0aHNlcC4KKy0gICAgIiIiCistICAgIEBj bGFzc21ldGhvZAorLSAgICBkZWYgZm9yX2NsYXNzKGNscywgcGF0aF9jbHMpOgorLSAgICAgICAg bmFtZSA9ICdNdWx0aScgKyBwYXRoX2Nscy5fX25hbWVfXworLSAgICAgICAgaWYgUFkyOgorLSAg ICAgICAgICAgIG5hbWUgPSBzdHIobmFtZSkKKy0gICAgICAgIHJldHVybiB0eXBlKG5hbWUsIChj bHMsIHBhdGhfY2xzKSwge30pCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgZGV0ZWN0 KGNscywgaW5wdXQpOgorLSAgICAgICAgaWYgb3MucGF0aHNlcCBub3QgaW4gaW5wdXQ6CistICAg ICAgICAgICAgY2xzID0gY2xzLl9uZXh0X2NsYXNzCistICAgICAgICByZXR1cm4gY2xzKGlucHV0 KQorLQorLSAgICBkZWYgX19pdGVyX18oc2VsZik6CistICAgICAgICByZXR1cm4gaXRlcihtYXAo c2VsZi5fbmV4dF9jbGFzcywgc2VsZi5zcGxpdChvcy5wYXRoc2VwKSkpCistCistICAgIEBDbGFz c1Byb3BlcnR5CistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX25leHRfY2xhc3MoY2xzKToK Ky0gICAgICAgICIiIgorLSAgICAgICAgTXVsdGktc3ViY2xhc3NlcyBzaG91bGQgdXNlIHRoZSBw YXJlbnQgY2xhc3MKKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIG5leHQoCistICAgICAg ICAgICAgY2xhc3NfCistICAgICAgICAgICAgZm9yIGNsYXNzXyBpbiBjbHMuX19tcm9fXworLSAg ICAgICAgICAgIGlmIG5vdCBpc3N1YmNsYXNzKGNsYXNzXywgTXVsdGkpCistICAgICAgICApCist CistCistY2xhc3MgdGVtcGRpcihQYXRoKToKKy0gICAgIiIiCistICAgIEEgdGVtcG9yYXJ5IGRp cmVjdG9yeSB2aWEgOmZ1bmM6YHRlbXBmaWxlLm1rZHRlbXBgLCBhbmQgY29uc3RydWN0ZWQgd2l0 aCB0aGUKKy0gICAgc2FtZSBwYXJhbWV0ZXJzIHRoYXQgeW91IGNhbiB1c2UgYXMgYSBjb250ZXh0 IG1hbmFnZXIuCistCistICAgIEV4YW1wbGU6CistCistICAgICAgICB3aXRoIHRlbXBkaXIoKSBh cyBkOgorLSAgICAgICAgICAgICMgZG8gc3R1ZmYgd2l0aCB0aGUgUGF0aCBvYmplY3QgImQiCist CistICAgICAgICAjIGhlcmUgdGhlIGRpcmVjdG9yeSBpcyBkZWxldGVkIGF1dG9tYXRpY2FsbHkK Ky0KKy0gICAgLi4gc2VlYWxzbzo6IDpmdW5jOmB0ZW1wZmlsZS5ta2R0ZW1wYAorLSAgICAiIiIK Ky0KKy0gICAgQENsYXNzUHJvcGVydHkKKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfbmV4 dF9jbGFzcyhjbHMpOgorLSAgICAgICAgcmV0dXJuIFBhdGgKKy0KKy0gICAgZGVmIF9fbmV3X18o Y2xzLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgZGlybmFtZSA9IHRlbXBmaWxlLm1rZHRl bXAoKmFyZ3MsICoqa3dhcmdzKQorLSAgICAgICAgcmV0dXJuIHN1cGVyKHRlbXBkaXIsIGNscyku X19uZXdfXyhjbHMsIGRpcm5hbWUpCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywg Kiprd2FyZ3MpOgorLSAgICAgICAgcGFzcworLQorLSAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgor LSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIF9fZXhpdF9fKHNlbGYsIGV4Y190eXBl LCBleGNfdmFsdWUsIHRyYWNlYmFjayk6CistICAgICAgICBpZiBub3QgZXhjX3ZhbHVlOgorLSAg ICAgICAgICAgIHNlbGYucm10cmVlKCkKKy0KKy0KKy1kZWYgX211bHRpX3Blcm1pc3Npb25fbWFz ayhtb2RlKToKKy0gICAgIiIiCistICAgIFN1cHBvcnQgbXVsdGlwbGUsIGNvbW1hLXNlcGFyYXRl ZCBVbml4IGNobW9kIHN5bWJvbGljIG1vZGVzLgorLQorLSAgICA+Pj4gX211bHRpX3Blcm1pc3Np b25fbWFzaygnYT1yLHUrdycpKDApID09IDBvNjQ0CistICAgIFRydWUKKy0gICAgIiIiCistICAg IGNvbXBvc2UgPSBsYW1iZGEgZiwgZzogbGFtYmRhICphcmdzLCAqKmt3YXJnczogZyhmKCphcmdz LCAqKmt3YXJncykpCistICAgIHJldHVybiBmdW5jdG9vbHMucmVkdWNlKGNvbXBvc2UsIG1hcChf cGVybWlzc2lvbl9tYXNrLCBtb2RlLnNwbGl0KCcsJykpKQorLQorLQorLWRlZiBfcGVybWlzc2lv bl9tYXNrKG1vZGUpOgorLSAgICAiIiIKKy0gICAgQ29udmVydCBhIFVuaXggY2htb2Qgc3ltYm9s aWMgbW9kZSBsaWtlIGBgJ3Vnbytyd3gnYGAgdG8gYSBmdW5jdGlvbgorLSAgICBzdWl0YWJsZSBm b3IgYXBwbHlpbmcgdG8gYSBtYXNrIHRvIGFmZmVjdCB0aGF0IGNoYW5nZS4KKy0KKy0gICAgPj4+ IG1hc2sgPSBfcGVybWlzc2lvbl9tYXNrKCd1Z28rcnd4JykKKy0gICAgPj4+IG1hc2soMG81NTQp ID09IDBvNzc3CistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ2dvLXgn KSgwbzc3NykgPT0gMG83NjYKKy0gICAgVHJ1ZQorLQorLSAgICA+Pj4gX3Blcm1pc3Npb25fbWFz aygnby14JykoMG80NDUpID09IDBvNDQ0CistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNz aW9uX21hc2soJ2EreCcpKDApID09IDBvMTExCistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJt aXNzaW9uX21hc2soJ2E9cncnKSgwbzA1NykgPT0gMG82NjYKKy0gICAgVHJ1ZQorLQorLSAgICA+ Pj4gX3Blcm1pc3Npb25fbWFzaygndT14JykoMG82NjYpID09IDBvMTY2CistICAgIFRydWUKKy0K Ky0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ2c9JykoMG8xNTcpID09IDBvMTA3CistICAgIFRy dWUKKy0gICAgIiIiCistICAgICMgcGFyc2UgdGhlIHN5bWJvbGljIG1vZGUKKy0gICAgcGFyc2Vk ID0gcmUubWF0Y2goJyg/UDx3aG8+W3Vnb2FdKykoP1A8b3A+Wy0rPV0pKD9QPHdoYXQ+W3J3eF0q KSQnLCBtb2RlKQorLSAgICBpZiBub3QgcGFyc2VkOgorLSAgICAgICAgcmFpc2UgVmFsdWVFcnJv cigiVW5yZWNvZ25pemVkIHN5bWJvbGljIG1vZGUiLCBtb2RlKQorLQorLSAgICAjIGdlbmVyYXRl IGEgbWFzayByZXByZXNlbnRpbmcgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uCistICAgIHNwZWNf bWFwID0gZGljdChyPTQsIHc9MiwgeD0xKQorLSAgICBzcGVjcyA9IChzcGVjX21hcFtwZXJtXSBm b3IgcGVybSBpbiBwYXJzZWQuZ3JvdXAoJ3doYXQnKSkKKy0gICAgc3BlYyA9IGZ1bmN0b29scy5y ZWR1Y2Uob3BlcmF0b3Iub3JfLCBzcGVjcywgMCkKKy0KKy0gICAgIyBub3cgYXBwbHkgc3BlYyB0 byBlYWNoIHN1YmplY3QgaW4gd2hvCistICAgIHNoaWZ0X21hcCA9IGRpY3QodT02LCBnPTMsIG89 MCkKKy0gICAgd2hvID0gcGFyc2VkLmdyb3VwKCd3aG8nKS5yZXBsYWNlKCdhJywgJ3VnbycpCist ICAgIG1hc2tzID0gKHNwZWMgPDwgc2hpZnRfbWFwW3N1YmpdIGZvciBzdWJqIGluIHdobykKKy0g ICAgbWFzayA9IGZ1bmN0b29scy5yZWR1Y2Uob3BlcmF0b3Iub3JfLCBtYXNrcykKKy0KKy0gICAg b3AgPSBwYXJzZWQuZ3JvdXAoJ29wJykKKy0KKy0gICAgIyBpZiBvcCBpcyAtLCBpbnZlcnQgdGhl IG1hc2sKKy0gICAgaWYgb3AgPT0gJy0nOgorLSAgICAgICAgbWFzayBePSAwbzc3NworLQorLSAg ICAjIGlmIG9wIGlzID0sIHJldGFpbiBleHRhbnQgdmFsdWVzIGZvciB1bnJlZmVyZW5jZWQgc3Vi amVjdHMKKy0gICAgaWYgb3AgPT0gJz0nOgorLSAgICAgICAgbWFza3MgPSAoMG83IDw8IHNoaWZ0 X21hcFtzdWJqXSBmb3Igc3ViaiBpbiB3aG8pCistICAgICAgICByZXRhaW4gPSBmdW5jdG9vbHMu cmVkdWNlKG9wZXJhdG9yLm9yXywgbWFza3MpIF4gMG83NzcKKy0KKy0gICAgb3BfbWFwID0gewor LSAgICAgICAgJysnOiBvcGVyYXRvci5vcl8sCistICAgICAgICAnLSc6IG9wZXJhdG9yLmFuZF8s CistICAgICAgICAnPSc6IGxhbWJkYSBtYXNrLCB0YXJnZXQ6IHRhcmdldCAmIHJldGFpbiBeIG1h c2ssCistICAgIH0KKy0gICAgcmV0dXJuIGZ1bmN0b29scy5wYXJ0aWFsKG9wX21hcFtvcF0sIG1h c2spCistCistCistY2xhc3MgQ2FzZUluc2Vuc2l0aXZlUGF0dGVybih0ZXh0X3R5cGUpOgorLSAg ICAiIiIKKy0gICAgQSBzdHJpbmcgd2l0aCBhIGBgJ25vcm1jYXNlJ2BgIHByb3BlcnR5LCBzdWl0 YWJsZSBmb3IgcGFzc2luZyB0bworLSAgICA6bWV0aDpgbGlzdGRpcmAsIDptZXRoOmBkaXJzYCwg Om1ldGg6YGZpbGVzYCwgOm1ldGg6YHdhbGtgLAorLSAgICA6bWV0aDpgd2Fsa2RpcnNgLCBvciA6 bWV0aDpgd2Fsa2ZpbGVzYCB0byBtYXRjaCBjYXNlLWluc2Vuc2l0aXZlLgorLQorLSAgICBGb3Ig ZXhhbXBsZSwgdG8gZ2V0IGFsbCBmaWxlcyBlbmRpbmcgaW4gLnB5LCAuUHksIC5wWSwgb3IgLlBZ IGluIHRoZQorLSAgICBjdXJyZW50IGRpcmVjdG9yeTo6CistCistICAgICAgICBmcm9tIHBhdGgg aW1wb3J0IFBhdGgsIENhc2VJbnNlbnNpdGl2ZVBhdHRlcm4gYXMgY2kKKy0gICAgICAgIFBhdGgo Jy4nKS5maWxlcyhjaSgnKi5weScpKQorLSAgICAiIiIKKy0KKy0gICAgQHByb3BlcnR5CistICAg IGRlZiBub3JtY2FzZShzZWxmKToKKy0gICAgICAgIHJldHVybiBfX2ltcG9ydF9fKCdudHBhdGgn KS5ub3JtY2FzZQorLQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLSMgQmFja3dhcmQtY29t cGF0aWJpbGl0eQorLWNsYXNzIHBhdGgoUGF0aCk6CistICAgIGRlZiBfX25ld19fKGNscywgKmFy Z3MsICoqa3dhcmdzKToKKy0gICAgICAgIG1zZyA9ICJwYXRoIGlzIGRlcHJlY2F0ZWQuIFVzZSBQ YXRoIGluc3RlYWQuIgorLSAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2Fy bmluZykKKy0gICAgICAgIHJldHVybiBQYXRoLl9fbmV3X18oY2xzLCAqYXJncywgKiprd2FyZ3Mp CistCistCistX19hbGxfXyArPSBbJ3BhdGgnXQorLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor ZGlmZiAtLWdpdCBhL3Rhc2tzL192ZW5kb3IvcGF0aGxpYi5weSBiL3Rhc2tzL192ZW5kb3IvcGF0 aGxpYi5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA5YWIwZTcwLi4wMDAwMDAw CistLS0gYS90YXNrcy9fdmVuZG9yL3BhdGhsaWIucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDEy ODAgKzAsMCBAQAorLWltcG9ydCBmbm1hdGNoCistaW1wb3J0IGZ1bmN0b29scworLWltcG9ydCBp bworLWltcG9ydCBudHBhdGgKKy1pbXBvcnQgb3MKKy1pbXBvcnQgcG9zaXhwYXRoCistaW1wb3J0 IHJlCistaW1wb3J0IHN5cworLWltcG9ydCB0aW1lCistZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQg U2VxdWVuY2UKKy1mcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCistZnJvbSBl cnJubyBpbXBvcnQgRUlOVkFMLCBFTk9FTlQKKy1mcm9tIG9wZXJhdG9yIGltcG9ydCBhdHRyZ2V0 dGVyCistZnJvbSBzdGF0IGltcG9ydCBTX0lTRElSLCBTX0lTTE5LLCBTX0lTUkVHLCBTX0lTU09D SywgU19JU0JMSywgU19JU0NIUiwgU19JU0ZJRk8KKy10cnk6CistICAgIGZyb20gdXJsbGliIGlt cG9ydCBxdW90ZSBhcyB1cmxxdW90ZSwgcXVvdGUgYXMgdXJscXVvdGVfZnJvbV9ieXRlcworLWV4 Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHF1b3RlIGFz IHVybHF1b3RlLCBxdW90ZV9mcm9tX2J5dGVzIGFzIHVybHF1b3RlX2Zyb21fYnl0ZXMKKy0KKy0K Ky10cnk6CistICAgIGludGVybiA9IGludGVybgorLWV4Y2VwdCBOYW1lRXJyb3I6CistICAgIGlu dGVybiA9IHN5cy5pbnRlcm4KKy10cnk6CistICAgIGJhc2VzdHJpbmcgPSBiYXNlc3RyaW5nCist ZXhjZXB0IE5hbWVFcnJvcjoKKy0gICAgYmFzZXN0cmluZyA9IHN0cgorLQorLXN1cHBvcnRzX3N5 bWxpbmtzID0gVHJ1ZQorLXRyeToKKy0gICAgaW1wb3J0IG50CistZXhjZXB0IEltcG9ydEVycm9y OgorLSAgICBudCA9IE5vbmUKKy1lbHNlOgorLSAgICBpZiBzeXMuZ2V0d2luZG93c3ZlcnNpb24o KVs6Ml0gPj0gKDYsIDApIGFuZCBzeXMudmVyc2lvbl9pbmZvID49ICgzLCAyKToKKy0gICAgICAg IGZyb20gbnQgaW1wb3J0IF9nZXRmaW5hbHBhdGhuYW1lCistICAgIGVsc2U6CistICAgICAgICBz dXBwb3J0c19zeW1saW5rcyA9IEZhbHNlCistICAgICAgICBfZ2V0ZmluYWxwYXRobmFtZSA9IE5v bmUKKy0KKy0KKy1fX2FsbF9fID0gWworLSAgICAiUHVyZVBhdGgiLCAiUHVyZVBvc2l4UGF0aCIs ICJQdXJlV2luZG93c1BhdGgiLAorLSAgICAiUGF0aCIsICJQb3NpeFBhdGgiLCAiV2luZG93c1Bh dGgiLAorLSAgICBdCistCistIworLSMgSW50ZXJuYWxzCistIworLQorLV9weTIgPSBzeXMudmVy c2lvbl9pbmZvIDwgKDMsKQorLV9weTJfZnNfZW5jb2RpbmcgPSAnYXNjaWknCistCistZGVmIF9w eTJfZnNlbmNvZGUocGFydHMpOgorLSAgICAjIHB5MiA9PiBtaW5pbWFsIHVuaWNvZGUgc3VwcG9y dAorLSAgICByZXR1cm4gW3BhcnQuZW5jb2RlKF9weTJfZnNfZW5jb2RpbmcpIGlmIGlzaW5zdGFu Y2UocGFydCwgdW5pY29kZSkKKy0gICAgICAgICAgICBlbHNlIHBhcnQgZm9yIHBhcnQgaW4gcGFy dHNdCistCistZGVmIF9pc193aWxkY2FyZF9wYXR0ZXJuKHBhdCk6CistICAgICMgV2hldGhlciB0 aGlzIHBhdHRlcm4gbmVlZHMgYWN0dWFsIG1hdGNoaW5nIHVzaW5nIGZubWF0Y2gsIG9yIGNhbgor LSAgICAjIGJlIGxvb2tlZCB1cCBkaXJlY3RseSBhcyBhIGZpbGUuCistICAgIHJldHVybiAiKiIg aW4gcGF0IG9yICI/IiBpbiBwYXQgb3IgIlsiIGluIHBhdAorLQorLQorLWNsYXNzIF9GbGF2b3Vy KG9iamVjdCk6CistICAgICIiIkEgZmxhdm91ciBpbXBsZW1lbnRzIGEgcGFydGljdWxhciAocGxh dGZvcm0tc3BlY2lmaWMpIHNldCBvZiBwYXRoCistICAgIHNlbWFudGljcy4iIiIKKy0KKy0gICAg ZGVmIF9faW5pdF9fKHNlbGYpOgorLSAgICAgICAgc2VsZi5qb2luID0gc2VsZi5zZXAuam9pbgor LQorLSAgICBkZWYgcGFyc2VfcGFydHMoc2VsZiwgcGFydHMpOgorLSAgICAgICAgaWYgX3B5MjoK Ky0gICAgICAgICAgICBwYXJ0cyA9IF9weTJfZnNlbmNvZGUocGFydHMpCistICAgICAgICBwYXJz ZWQgPSBbXQorLSAgICAgICAgc2VwID0gc2VsZi5zZXAKKy0gICAgICAgIGFsdHNlcCA9IHNlbGYu YWx0c2VwCistICAgICAgICBkcnYgPSByb290ID0gJycKKy0gICAgICAgIGl0ID0gcmV2ZXJzZWQo cGFydHMpCistICAgICAgICBmb3IgcGFydCBpbiBpdDoKKy0gICAgICAgICAgICBpZiBub3QgcGFy dDoKKy0gICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICBpZiBhbHRzZXA6Cist ICAgICAgICAgICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoYWx0c2VwLCBzZXApCistICAgICAg ICAgICAgZHJ2LCByb290LCByZWwgPSBzZWxmLnNwbGl0cm9vdChwYXJ0KQorLSAgICAgICAgICAg IGlmIHNlcCBpbiByZWw6CistICAgICAgICAgICAgICAgIGZvciB4IGluIHJldmVyc2VkKHJlbC5z cGxpdChzZXApKToKKy0gICAgICAgICAgICAgICAgICAgIGlmIHggYW5kIHggIT0gJy4nOgorLSAg ICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZC5hcHBlbmQoaW50ZXJuKHgpKQorLSAgICAgICAg ICAgIGVsc2U6CistICAgICAgICAgICAgICAgIGlmIHJlbCBhbmQgcmVsICE9ICcuJzoKKy0gICAg ICAgICAgICAgICAgICAgIHBhcnNlZC5hcHBlbmQoaW50ZXJuKHJlbCkpCistICAgICAgICAgICAg aWYgZHJ2IG9yIHJvb3Q6CistICAgICAgICAgICAgICAgIGlmIG5vdCBkcnY6CistICAgICAgICAg ICAgICAgICAgICAjIElmIG5vIGRyaXZlIGlzIHByZXNlbnQsIHRyeSB0byBmaW5kIG9uZSBpbiB0 aGUgcHJldmlvdXMKKy0gICAgICAgICAgICAgICAgICAgICMgcGFydHMuIFRoaXMgbWFrZXMgdGhl IHJlc3VsdCBvZiBwYXJzaW5nIGUuZy4KKy0gICAgICAgICAgICAgICAgICAgICMgKCJDOiIsICIv IiwgImEiKSByZWFzb25hYmx5IGludHVpdGl2ZS4KKy0gICAgICAgICAgICAgICAgICAgIGZvciBw YXJ0IGluIGl0OgorLSAgICAgICAgICAgICAgICAgICAgICAgIGRydiA9IHNlbGYuc3BsaXRyb290 KHBhcnQpWzBdCistICAgICAgICAgICAgICAgICAgICAgICAgaWYgZHJ2OgorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBicmVhaworLSAgICAgICAgICAgICAgICBicmVhaworLSAgICAgICAg aWYgZHJ2IG9yIHJvb3Q6CistICAgICAgICAgICAgcGFyc2VkLmFwcGVuZChkcnYgKyByb290KQor LSAgICAgICAgcGFyc2VkLnJldmVyc2UoKQorLSAgICAgICAgcmV0dXJuIGRydiwgcm9vdCwgcGFy c2VkCistCistICAgIGRlZiBqb2luX3BhcnNlZF9wYXJ0cyhzZWxmLCBkcnYsIHJvb3QsIHBhcnRz LCBkcnYyLCByb290MiwgcGFydHMyKToKKy0gICAgICAgICIiIgorLSAgICAgICAgSm9pbiB0aGUg dHdvIHBhdGhzIHJlcHJlc2VudGVkIGJ5IHRoZSByZXNwZWN0aXZlCistICAgICAgICAoZHJpdmUs IHJvb3QsIHBhcnRzKSB0dXBsZXMuICBSZXR1cm4gYSBuZXcgKGRyaXZlLCByb290LCBwYXJ0cykg dHVwbGUuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIHJvb3QyOgorLSAgICAgICAgICAgIGlm IG5vdCBkcnYyIGFuZCBkcnY6CistICAgICAgICAgICAgICAgIHJldHVybiBkcnYsIHJvb3QyLCBb ZHJ2ICsgcm9vdDJdICsgcGFydHMyWzE6XQorLSAgICAgICAgZWxpZiBkcnYyOgorLSAgICAgICAg ICAgIGlmIGRydjIgPT0gZHJ2IG9yIHNlbGYuY2FzZWZvbGQoZHJ2MikgPT0gc2VsZi5jYXNlZm9s ZChkcnYpOgorLSAgICAgICAgICAgICAgICAjIFNhbWUgZHJpdmUgPT4gc2Vjb25kIHBhdGggaXMg cmVsYXRpdmUgdG8gdGhlIGZpcnN0CistICAgICAgICAgICAgICAgIHJldHVybiBkcnYsIHJvb3Qs IHBhcnRzICsgcGFydHMyWzE6XQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAjIFNlY29u ZCBwYXRoIGlzIG5vbi1hbmNob3JlZCAoY29tbW9uIGNhc2UpCistICAgICAgICAgICAgcmV0dXJu IGRydiwgcm9vdCwgcGFydHMgKyBwYXJ0czIKKy0gICAgICAgIHJldHVybiBkcnYyLCByb290Miwg cGFydHMyCistCistCistY2xhc3MgX1dpbmRvd3NGbGF2b3VyKF9GbGF2b3VyKToKKy0gICAgIyBS ZWZlcmVuY2UgZm9yIFdpbmRvd3MgcGF0aHMgY2FuIGJlIGZvdW5kIGF0CistICAgICMgaHR0cDov L21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2FhMzY1MjQ3JTI4dj12cy44NSUyOS5h c3B4CistCistICAgIHNlcCA9ICdcXCcKKy0gICAgYWx0c2VwID0gJy8nCistICAgIGhhc19kcnYg PSBUcnVlCistICAgIHBhdGhtb2QgPSBudHBhdGgKKy0KKy0gICAgaXNfc3VwcG9ydGVkID0gKG50 IGlzIG5vdCBOb25lKQorLQorLSAgICBkcml2ZV9sZXR0ZXJzID0gKAorLSAgICAgICAgc2V0KGNo cih4KSBmb3IgeCBpbiByYW5nZShvcmQoJ2EnKSwgb3JkKCd6JykgKyAxKSkgfAorLSAgICAgICAg c2V0KGNocih4KSBmb3IgeCBpbiByYW5nZShvcmQoJ0EnKSwgb3JkKCdaJykgKyAxKSkKKy0gICAg KQorLSAgICBleHRfbmFtZXNwYWNlX3ByZWZpeCA9ICdcXFxcP1xcJworLQorLSAgICByZXNlcnZl ZF9uYW1lcyA9ICgKKy0gICAgICAgIHNldChbJ0NPTicsICdQUk4nLCAnQVVYJywgJ05VTCddKSB8 CistICAgICAgICBzZXQoWydDT00lZCcgJSBpIGZvciBpIGluIHJhbmdlKDEsIDEwKV0pIHwKKy0g ICAgICAgIHNldChbJ0xQVCVkJyAlIGkgZm9yIGkgaW4gcmFuZ2UoMSwgMTApXSkKKy0gICAgICAg ICkKKy0KKy0gICAgIyBJbnRlcmVzdGluZyBmaW5kaW5ncyBhYm91dCBleHRlbmRlZCBwYXRoczoK Ky0gICAgIyAtICdcXD9cYzpcYScsICcvLz8vYzpcYScgYW5kICcvLz8vYzovYScgYXJlIGFsbCBz dXBwb3J0ZWQKKy0gICAgIyAgIGJ1dCAnXFw/XGM6L2EnIGlzIG5vdAorLSAgICAjIC0gZXh0ZW5k ZWQgcGF0aHMgYXJlIGFsd2F5cyBhYnNvbHV0ZTsgInJlbGF0aXZlIiBleHRlbmRlZCBwYXRocyB3 aWxsCistICAgICMgICBmYWlsLgorLQorLSAgICBkZWYgc3BsaXRyb290KHNlbGYsIHBhcnQsIHNl cD1zZXApOgorLSAgICAgICAgZmlyc3QgPSBwYXJ0WzA6MV0KKy0gICAgICAgIHNlY29uZCA9IHBh cnRbMToyXQorLSAgICAgICAgaWYgKHNlY29uZCA9PSBzZXAgYW5kIGZpcnN0ID09IHNlcCk6Cist ICAgICAgICAgICAgIyBYWFggZXh0ZW5kZWQgcGF0aHMgc2hvdWxkIGFsc28gZGlzYWJsZSB0aGUg Y29sbGFwc2luZyBvZiAiLiIKKy0gICAgICAgICAgICAjIGNvbXBvbmVudHMgKGFjY29yZGluZyB0 byBNU0ROIGRvY3MpLgorLSAgICAgICAgICAgIHByZWZpeCwgcGFydCA9IHNlbGYuX3NwbGl0X2V4 dGVuZGVkX3BhdGgocGFydCkKKy0gICAgICAgICAgICBmaXJzdCA9IHBhcnRbMDoxXQorLSAgICAg ICAgICAgIHNlY29uZCA9IHBhcnRbMToyXQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBw cmVmaXggPSAnJworLSAgICAgICAgdGhpcmQgPSBwYXJ0WzI6M10KKy0gICAgICAgIGlmIChzZWNv bmQgPT0gc2VwIGFuZCBmaXJzdCA9PSBzZXAgYW5kIHRoaXJkICE9IHNlcCk6CistICAgICAgICAg ICAgIyBpcyBhIFVOQyBwYXRoOgorLSAgICAgICAgICAgICMgdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2 IHJvb3QKKy0gICAgICAgICAgICAjIFxcbWFjaGluZVxtb3VudHBvaW50XGRpcmVjdG9yeVxldGNc Li4uCistICAgICAgICAgICAgIyAgICAgICAgICAgIGRpcmVjdG9yeSBeXl5eXl5eXl5eXl5eXgor LSAgICAgICAgICAgIGluZGV4ID0gcGFydC5maW5kKHNlcCwgMikKKy0gICAgICAgICAgICBpZiBp bmRleCAhPSAtMToKKy0gICAgICAgICAgICAgICAgaW5kZXgyID0gcGFydC5maW5kKHNlcCwgaW5k ZXggKyAxKQorLSAgICAgICAgICAgICAgICAjIGEgVU5DIHBhdGggY2FuJ3QgaGF2ZSB0d28gc2xh c2hlcyBpbiBhIHJvdworLSAgICAgICAgICAgICAgICAjIChhZnRlciB0aGUgaW5pdGlhbCB0d28p CistICAgICAgICAgICAgICAgIGlmIGluZGV4MiAhPSBpbmRleCArIDE6CistICAgICAgICAgICAg ICAgICAgICBpZiBpbmRleDIgPT0gLTE6CistICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgy ID0gbGVuKHBhcnQpCistICAgICAgICAgICAgICAgICAgICBpZiBwcmVmaXg6CistICAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIHBhcnRbMTppbmRleDJdLCBzZXAsIHBhcnRb aW5kZXgyKzE6XQorLSAgICAgICAgICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4gcGFydFs6aW5kZXgyXSwgc2VwLCBwYXJ0W2luZGV4MisxOl0KKy0gICAg ICAgIGRydiA9IHJvb3QgPSAnJworLSAgICAgICAgaWYgc2Vjb25kID09ICc6JyBhbmQgZmlyc3Qg aW4gc2VsZi5kcml2ZV9sZXR0ZXJzOgorLSAgICAgICAgICAgIGRydiA9IHBhcnRbOjJdCistICAg ICAgICAgICAgcGFydCA9IHBhcnRbMjpdCistICAgICAgICAgICAgZmlyc3QgPSB0aGlyZAorLSAg ICAgICAgaWYgZmlyc3QgPT0gc2VwOgorLSAgICAgICAgICAgIHJvb3QgPSBmaXJzdAorLSAgICAg ICAgICAgIHBhcnQgPSBwYXJ0LmxzdHJpcChzZXApCistICAgICAgICByZXR1cm4gcHJlZml4ICsg ZHJ2LCByb290LCBwYXJ0CistCistICAgIGRlZiBjYXNlZm9sZChzZWxmLCBzKToKKy0gICAgICAg IHJldHVybiBzLmxvd2VyKCkKKy0KKy0gICAgZGVmIGNhc2Vmb2xkX3BhcnRzKHNlbGYsIHBhcnRz KToKKy0gICAgICAgIHJldHVybiBbcC5sb3dlcigpIGZvciBwIGluIHBhcnRzXQorLQorLSAgICBk ZWYgcmVzb2x2ZShzZWxmLCBwYXRoKToKKy0gICAgICAgIHMgPSBzdHIocGF0aCkKKy0gICAgICAg IGlmIG5vdCBzOgorLSAgICAgICAgICAgIHJldHVybiBvcy5nZXRjd2QoKQorLSAgICAgICAgaWYg X2dldGZpbmFscGF0aG5hbWUgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYu X2V4dF90b19ub3JtYWwoX2dldGZpbmFscGF0aG5hbWUocykpCistICAgICAgICAjIE1lYW5zIGZh bGxiYWNrIG9uIGFic29sdXRlCistICAgICAgICByZXR1cm4gTm9uZQorLQorLSAgICBkZWYgX3Nw bGl0X2V4dGVuZGVkX3BhdGgoc2VsZiwgcywgZXh0X3ByZWZpeD1leHRfbmFtZXNwYWNlX3ByZWZp eCk6CistICAgICAgICBwcmVmaXggPSAnJworLSAgICAgICAgaWYgcy5zdGFydHN3aXRoKGV4dF9w cmVmaXgpOgorLSAgICAgICAgICAgIHByZWZpeCA9IHNbOjRdCistICAgICAgICAgICAgcyA9IHNb NDpdCistICAgICAgICAgICAgaWYgcy5zdGFydHN3aXRoKCdVTkNcXCcpOgorLSAgICAgICAgICAg ICAgICBwcmVmaXggKz0gc1s6M10KKy0gICAgICAgICAgICAgICAgcyA9ICdcXCcgKyBzWzM6XQor LSAgICAgICAgcmV0dXJuIHByZWZpeCwgcworLQorLSAgICBkZWYgX2V4dF90b19ub3JtYWwoc2Vs Ziwgcyk6CistICAgICAgICAjIFR1cm4gYmFjayBhbiBleHRlbmRlZCBwYXRoIGludG8gYSBub3Jt YWwgRE9TLWxpa2UgcGF0aAorLSAgICAgICAgcmV0dXJuIHNlbGYuX3NwbGl0X2V4dGVuZGVkX3Bh dGgocylbMV0KKy0KKy0gICAgZGVmIGlzX3Jlc2VydmVkKHNlbGYsIHBhcnRzKToKKy0gICAgICAg ICMgTk9URTogdGhlIHJ1bGVzIGZvciByZXNlcnZlZCBuYW1lcyBzZWVtIHNvbWV3aGF0IGNvbXBs aWNhdGVkCistICAgICAgICAjIChlLmcuIHIiLi5cTlVMIiBpcyByZXNlcnZlZCBidXQgbm90IHIi Zm9vXE5VTCIpLgorLSAgICAgICAgIyBXZSBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiBhbmQg cmV0dXJuIFRydWUgZm9yIHBhdGhzIHdoaWNoIGFyZQorLSAgICAgICAgIyBub3QgY29uc2lkZXJl ZCByZXNlcnZlZCBieSBXaW5kb3dzLgorLSAgICAgICAgaWYgbm90IHBhcnRzOgorLSAgICAgICAg ICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgaWYgcGFydHNbMF0uc3RhcnRzd2l0aCgnXFxcXCcp OgorLSAgICAgICAgICAgICMgVU5DIHBhdGhzIGFyZSBuZXZlciByZXNlcnZlZAorLSAgICAgICAg ICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgcmV0dXJuIHBhcnRzWy0xXS5wYXJ0aXRpb24oJy4n KVswXS51cHBlcigpIGluIHNlbGYucmVzZXJ2ZWRfbmFtZXMKKy0KKy0gICAgZGVmIG1ha2VfdXJp KHNlbGYsIHBhdGgpOgorLSAgICAgICAgIyBVbmRlciBXaW5kb3dzLCBmaWxlIFVSSXMgdXNlIHRo ZSBVVEYtOCBlbmNvZGluZy4KKy0gICAgICAgIGRyaXZlID0gcGF0aC5kcml2ZQorLSAgICAgICAg aWYgbGVuKGRyaXZlKSA9PSAyIGFuZCBkcml2ZVsxXSA9PSAnOic6CistICAgICAgICAgICAgIyBJ dCdzIGEgcGF0aCBvbiBhIGxvY2FsIGRyaXZlID0+ICdmaWxlOi8vL2M6L2EvYicKKy0gICAgICAg ICAgICByZXN0ID0gcGF0aC5hc19wb3NpeCgpWzI6XS5sc3RyaXAoJy8nKQorLSAgICAgICAgICAg IHJldHVybiAnZmlsZTovLy8lcy8lcycgJSAoCistICAgICAgICAgICAgICAgIGRyaXZlLCB1cmxx dW90ZV9mcm9tX2J5dGVzKHJlc3QuZW5jb2RlKCd1dGYtOCcpKSkKKy0gICAgICAgIGVsc2U6Cist ICAgICAgICAgICAgIyBJdCdzIGEgcGF0aCBvbiBhIG5ldHdvcmsgZHJpdmUgPT4gJ2ZpbGU6Ly9o b3N0L3NoYXJlL2EvYicKKy0gICAgICAgICAgICByZXR1cm4gJ2ZpbGU6JyArIHVybHF1b3RlX2Zy b21fYnl0ZXMocGF0aC5hc19wb3NpeCgpLmVuY29kZSgndXRmLTgnKSkKKy0KKy0KKy1jbGFzcyBf UG9zaXhGbGF2b3VyKF9GbGF2b3VyKToKKy0gICAgc2VwID0gJy8nCistICAgIGFsdHNlcCA9ICcn CistICAgIGhhc19kcnYgPSBGYWxzZQorLSAgICBwYXRobW9kID0gcG9zaXhwYXRoCistCistICAg IGlzX3N1cHBvcnRlZCA9IChvcy5uYW1lICE9ICdudCcpCistCistICAgIGRlZiBzcGxpdHJvb3Qo c2VsZiwgcGFydCwgc2VwPXNlcCk6CistICAgICAgICBpZiBwYXJ0IGFuZCBwYXJ0WzBdID09IHNl cDoKKy0gICAgICAgICAgICBzdHJpcHBlZF9wYXJ0ID0gcGFydC5sc3RyaXAoc2VwKQorLSAgICAg ICAgICAgICMgQWNjb3JkaW5nIHRvIFBPU0lYIHBhdGggcmVzb2x1dGlvbjoKKy0gICAgICAgICAg ICAjIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvYmFzZWRl ZnMveGJkX2NoYXAwNC5odG1sI3RhZ18wNF8xMQorLSAgICAgICAgICAgICMgIkEgcGF0aG5hbWUg dGhhdCBiZWdpbnMgd2l0aCB0d28gc3VjY2Vzc2l2ZSBzbGFzaGVzIG1heSBiZQorLSAgICAgICAg ICAgICMgaW50ZXJwcmV0ZWQgaW4gYW4gaW1wbGVtZW50YXRpb24tZGVmaW5lZCBtYW5uZXIsIGFs dGhvdWdoIG1vcmUKKy0gICAgICAgICAgICAjIHRoYW4gdHdvIGxlYWRpbmcgc2xhc2hlcyBzaGFs bCBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIHNsYXNoIi4KKy0gICAgICAgICAgICBpZiBsZW4ocGFy dCkgLSBsZW4oc3RyaXBwZWRfcGFydCkgPT0gMjoKKy0gICAgICAgICAgICAgICAgcmV0dXJuICcn LCBzZXAgKiAyLCBzdHJpcHBlZF9wYXJ0CistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAg ICAgICAgcmV0dXJuICcnLCBzZXAsIHN0cmlwcGVkX3BhcnQKKy0gICAgICAgIGVsc2U6CistICAg ICAgICAgICAgcmV0dXJuICcnLCAnJywgcGFydAorLQorLSAgICBkZWYgY2FzZWZvbGQoc2VsZiwg cyk6CistICAgICAgICByZXR1cm4gcworLQorLSAgICBkZWYgY2FzZWZvbGRfcGFydHMoc2VsZiwg cGFydHMpOgorLSAgICAgICAgcmV0dXJuIHBhcnRzCistCistICAgIGRlZiByZXNvbHZlKHNlbGYs IHBhdGgpOgorLSAgICAgICAgc2VwID0gc2VsZi5zZXAKKy0gICAgICAgIGFjY2Vzc29yID0gcGF0 aC5fYWNjZXNzb3IKKy0gICAgICAgIHNlZW4gPSB7fQorLSAgICAgICAgZGVmIF9yZXNvbHZlKHBh dGgsIHJlc3QpOgorLSAgICAgICAgICAgIGlmIHJlc3Quc3RhcnRzd2l0aChzZXApOgorLSAgICAg ICAgICAgICAgICBwYXRoID0gJycKKy0KKy0gICAgICAgICAgICBmb3IgbmFtZSBpbiByZXN0LnNw bGl0KHNlcCk6CistICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lIG9yIG5hbWUgPT0gJy4nOgor LSAgICAgICAgICAgICAgICAgICAgIyBjdXJyZW50IGRpcgorLSAgICAgICAgICAgICAgICAgICAg Y29udGludWUKKy0gICAgICAgICAgICAgICAgaWYgbmFtZSA9PSAnLi4nOgorLSAgICAgICAgICAg ICAgICAgICAgIyBwYXJlbnQgZGlyCistICAgICAgICAgICAgICAgICAgICBwYXRoLCBfLCBfID0g cGF0aC5ycGFydGl0aW9uKHNlcCkKKy0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAg ICAgICAgICAgICAgIG5ld3BhdGggPSBwYXRoICsgc2VwICsgbmFtZQorLSAgICAgICAgICAgICAg ICBpZiBuZXdwYXRoIGluIHNlZW46CistICAgICAgICAgICAgICAgICAgICAjIEFscmVhZHkgc2Vl biB0aGlzIHBhdGgKKy0gICAgICAgICAgICAgICAgICAgIHBhdGggPSBzZWVuW25ld3BhdGhdCist ICAgICAgICAgICAgICAgICAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgICAg ICAgICAgICAgICMgdXNlIGNhY2hlZCB2YWx1ZQorLSAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRpbnVlCistICAgICAgICAgICAgICAgICAgICAjIFRoZSBzeW1saW5rIGlzIG5vdCByZXNvbHZl ZCwgc28gd2UgbXVzdCBoYXZlIGEgc3ltbGluayBsb29wLgorLSAgICAgICAgICAgICAgICAgICAg cmFpc2UgUnVudGltZUVycm9yKCJTeW1saW5rIGxvb3AgZnJvbSAlciIgJSBuZXdwYXRoKQorLSAg ICAgICAgICAgICAgICAjIFJlc29sdmUgdGhlIHN5bWJvbGljIGxpbmsKKy0gICAgICAgICAgICAg ICAgdHJ5OgorLSAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gYWNjZXNzb3IucmVhZGxpbmso bmV3cGF0aCkKKy0gICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAg ICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRUlOVkFMOgorLSAgICAgICAgICAgICAgICAgICAg ICAgIHJhaXNlCistICAgICAgICAgICAgICAgICAgICAjIE5vdCBhIHN5bWxpbmsKKy0gICAgICAg ICAgICAgICAgICAgIHBhdGggPSBuZXdwYXRoCistICAgICAgICAgICAgICAgIGVsc2U6CistICAg ICAgICAgICAgICAgICAgICBzZWVuW25ld3BhdGhdID0gTm9uZSAjIG5vdCByZXNvbHZlZCBzeW1s aW5rCistICAgICAgICAgICAgICAgICAgICBwYXRoID0gX3Jlc29sdmUocGF0aCwgdGFyZ2V0KQor LSAgICAgICAgICAgICAgICAgICAgc2VlbltuZXdwYXRoXSA9IHBhdGggIyByZXNvbHZlZCBzeW1s aW5rCistCistICAgICAgICAgICAgcmV0dXJuIHBhdGgKKy0gICAgICAgICMgTk9URTogYWNjb3Jk aW5nIHRvIFBPU0lYLCBnZXRjd2QoKSBjYW5ub3QgY29udGFpbiBwYXRoIGNvbXBvbmVudHMKKy0g ICAgICAgICMgd2hpY2ggYXJlIHN5bWxpbmtzLgorLSAgICAgICAgYmFzZSA9ICcnIGlmIHBhdGgu aXNfYWJzb2x1dGUoKSBlbHNlIG9zLmdldGN3ZCgpCistICAgICAgICByZXR1cm4gX3Jlc29sdmUo YmFzZSwgc3RyKHBhdGgpKSBvciBzZXAKKy0KKy0gICAgZGVmIGlzX3Jlc2VydmVkKHNlbGYsIHBh cnRzKToKKy0gICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgbWFrZV91cmkoc2VsZiwg cGF0aCk6CistICAgICAgICAjIFdlIHJlcHJlc2VudCB0aGUgcGF0aCB1c2luZyB0aGUgbG9jYWwg ZmlsZXN5c3RlbSBlbmNvZGluZywKKy0gICAgICAgICMgZm9yIHBvcnRhYmlsaXR5IHRvIG90aGVy IGFwcGxpY2F0aW9ucy4KKy0gICAgICAgIGJwYXRoID0gYnl0ZXMocGF0aCkKKy0gICAgICAgIHJl dHVybiAnZmlsZTovLycgKyB1cmxxdW90ZV9mcm9tX2J5dGVzKGJwYXRoKQorLQorLQorLV93aW5k b3dzX2ZsYXZvdXIgPSBfV2luZG93c0ZsYXZvdXIoKQorLV9wb3NpeF9mbGF2b3VyID0gX1Bvc2l4 Rmxhdm91cigpCistCistCistY2xhc3MgX0FjY2Vzc29yOgorLSAgICAiIiJBbiBhY2Nlc3NvciBp bXBsZW1lbnRzIGEgcGFydGljdWxhciAoc3lzdGVtLXNwZWNpZmljIG9yIG5vdCkgd2F5IG9mCist ICAgIGFjY2Vzc2luZyBwYXRocyBvbiB0aGUgZmlsZXN5c3RlbS4iIiIKKy0KKy0KKy1jbGFzcyBf Tm9ybWFsQWNjZXNzb3IoX0FjY2Vzc29yKToKKy0KKy0gICAgZGVmIF93cmFwX3N0cmZ1bmMoc3Ry ZnVuYyk6CistICAgICAgICBAZnVuY3Rvb2xzLndyYXBzKHN0cmZ1bmMpCistICAgICAgICBkZWYg d3JhcHBlZChwYXRob2JqLCAqYXJncyk6CistICAgICAgICAgICAgcmV0dXJuIHN0cmZ1bmMoc3Ry KHBhdGhvYmopLCAqYXJncykKKy0gICAgICAgIHJldHVybiBzdGF0aWNtZXRob2Qod3JhcHBlZCkK Ky0KKy0gICAgZGVmIF93cmFwX2JpbmFyeV9zdHJmdW5jKHN0cmZ1bmMpOgorLSAgICAgICAgQGZ1 bmN0b29scy53cmFwcyhzdHJmdW5jKQorLSAgICAgICAgZGVmIHdyYXBwZWQocGF0aG9iakEsIHBh dGhvYmpCLCAqYXJncyk6CistICAgICAgICAgICAgcmV0dXJuIHN0cmZ1bmMoc3RyKHBhdGhvYmpB KSwgc3RyKHBhdGhvYmpCKSwgKmFyZ3MpCistICAgICAgICByZXR1cm4gc3RhdGljbWV0aG9kKHdy YXBwZWQpCistCistICAgIHN0YXQgPSBfd3JhcF9zdHJmdW5jKG9zLnN0YXQpCistCistICAgIGxz dGF0ID0gX3dyYXBfc3RyZnVuYyhvcy5sc3RhdCkKKy0KKy0gICAgb3BlbiA9IF93cmFwX3N0cmZ1 bmMob3Mub3BlbikKKy0KKy0gICAgbGlzdGRpciA9IF93cmFwX3N0cmZ1bmMob3MubGlzdGRpcikK Ky0KKy0gICAgY2htb2QgPSBfd3JhcF9zdHJmdW5jKG9zLmNobW9kKQorLQorLSAgICBpZiBoYXNh dHRyKG9zLCAibGNobW9kIik6CistICAgICAgICBsY2htb2QgPSBfd3JhcF9zdHJmdW5jKG9zLmxj aG1vZCkKKy0gICAgZWxzZToKKy0gICAgICAgIGRlZiBsY2htb2Qoc2VsZiwgcGF0aG9iaiwgbW9k ZSk6CistICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigibGNobW9kKCkgbm90 IGF2YWlsYWJsZSBvbiB0aGlzIHN5c3RlbSIpCistCistICAgIG1rZGlyID0gX3dyYXBfc3RyZnVu Yyhvcy5ta2RpcikKKy0KKy0gICAgdW5saW5rID0gX3dyYXBfc3RyZnVuYyhvcy51bmxpbmspCist CistICAgIHJtZGlyID0gX3dyYXBfc3RyZnVuYyhvcy5ybWRpcikKKy0KKy0gICAgcmVuYW1lID0g X3dyYXBfYmluYXJ5X3N0cmZ1bmMob3MucmVuYW1lKQorLQorLSAgICBpZiBzeXMudmVyc2lvbl9p bmZvID49ICgzLCAzKToKKy0gICAgICAgIHJlcGxhY2UgPSBfd3JhcF9iaW5hcnlfc3RyZnVuYyhv cy5yZXBsYWNlKQorLQorLSAgICBpZiBudDoKKy0gICAgICAgIGlmIHN1cHBvcnRzX3N5bWxpbmtz OgorLSAgICAgICAgICAgIHN5bWxpbmsgPSBfd3JhcF9iaW5hcnlfc3RyZnVuYyhvcy5zeW1saW5r KQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBkZWYgc3ltbGluayhhLCBiLCB0YXJnZXRf aXNfZGlyZWN0b3J5KToKKy0gICAgICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJv cigic3ltbGluaygpIG5vdCBhdmFpbGFibGUgb24gdGhpcyBzeXN0ZW0iKQorLSAgICBlbHNlOgor LSAgICAgICAgIyBVbmRlciBQT1NJWCwgb3Muc3ltbGluaygpIHRha2VzIHR3byBhcmdzCistICAg ICAgICBAc3RhdGljbWV0aG9kCistICAgICAgICBkZWYgc3ltbGluayhhLCBiLCB0YXJnZXRfaXNf ZGlyZWN0b3J5KToKKy0gICAgICAgICAgICByZXR1cm4gb3Muc3ltbGluayhzdHIoYSksIHN0cihi KSkKKy0KKy0gICAgdXRpbWUgPSBfd3JhcF9zdHJmdW5jKG9zLnV0aW1lKQorLQorLSAgICAjIEhl bHBlciBmb3IgcmVzb2x2ZSgpCistICAgIGRlZiByZWFkbGluayhzZWxmLCBwYXRoKToKKy0gICAg ICAgIHJldHVybiBvcy5yZWFkbGluayhwYXRoKQorLQorLQorLV9ub3JtYWxfYWNjZXNzb3IgPSBf Tm9ybWFsQWNjZXNzb3IoKQorLQorLQorLSMKKy0jIEdsb2JiaW5nIGhlbHBlcnMKKy0jCistCist QGNvbnRleHRtYW5hZ2VyCistZGVmIF9jYWNoZWQoZnVuYyk6CistICAgIHRyeToKKy0gICAgICAg IGZ1bmMuX19jYWNoZWRfXworLSAgICAgICAgeWllbGQgZnVuYworLSAgICBleGNlcHQgQXR0cmli dXRlRXJyb3I6CistICAgICAgICBjYWNoZSA9IHt9CistICAgICAgICBkZWYgd3JhcHBlcigqYXJn cyk6CistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICByZXR1cm4gY2FjaGVbYXJn c10KKy0gICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CistICAgICAgICAgICAgICAgIHZhbHVl ID0gY2FjaGVbYXJnc10gPSBmdW5jKCphcmdzKQorLSAgICAgICAgICAgICAgICByZXR1cm4gdmFs dWUKKy0gICAgICAgIHdyYXBwZXIuX19jYWNoZWRfXyA9IFRydWUKKy0gICAgICAgIHRyeToKKy0g ICAgICAgICAgICB5aWVsZCB3cmFwcGVyCistICAgICAgICBmaW5hbGx5OgorLSAgICAgICAgICAg IGNhY2hlLmNsZWFyKCkKKy0KKy1kZWYgX21ha2Vfc2VsZWN0b3IocGF0dGVybl9wYXJ0cyk6Cist ICAgIHBhdCA9IHBhdHRlcm5fcGFydHNbMF0KKy0gICAgY2hpbGRfcGFydHMgPSBwYXR0ZXJuX3Bh cnRzWzE6XQorLSAgICBpZiBwYXQgPT0gJyoqJzoKKy0gICAgICAgIGNscyA9IF9SZWN1cnNpdmVX aWxkY2FyZFNlbGVjdG9yCistICAgIGVsaWYgJyoqJyBpbiBwYXQ6CistICAgICAgICByYWlzZSBW YWx1ZUVycm9yKCJJbnZhbGlkIHBhdHRlcm46ICcqKicgY2FuIG9ubHkgYmUgYW4gZW50aXJlIHBh dGggY29tcG9uZW50IikKKy0gICAgZWxpZiBfaXNfd2lsZGNhcmRfcGF0dGVybihwYXQpOgorLSAg ICAgICAgY2xzID0gX1dpbGRjYXJkU2VsZWN0b3IKKy0gICAgZWxzZToKKy0gICAgICAgIGNscyA9 IF9QcmVjaXNlU2VsZWN0b3IKKy0gICAgcmV0dXJuIGNscyhwYXQsIGNoaWxkX3BhcnRzKQorLQor LWlmIGhhc2F0dHIoZnVuY3Rvb2xzLCAibHJ1X2NhY2hlIik6CistICAgIF9tYWtlX3NlbGVjdG9y ID0gZnVuY3Rvb2xzLmxydV9jYWNoZSgpKF9tYWtlX3NlbGVjdG9yKQorLQorLQorLWNsYXNzIF9T ZWxlY3RvcjoKKy0gICAgIiIiQSBzZWxlY3RvciBtYXRjaGVzIGEgc3BlY2lmaWMgZ2xvYiBwYXR0 ZXJuIHBhcnQgYWdhaW5zdCB0aGUgY2hpbGRyZW4KKy0gICAgb2YgYSBnaXZlbiBwYXRoLiIiIgor LQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgY2hpbGRfcGFydHMpOgorLSAgICAgICAgc2VsZi5j aGlsZF9wYXJ0cyA9IGNoaWxkX3BhcnRzCistICAgICAgICBpZiBjaGlsZF9wYXJ0czoKKy0gICAg ICAgICAgICBzZWxmLnN1Y2Nlc3NvciA9IF9tYWtlX3NlbGVjdG9yKGNoaWxkX3BhcnRzKQorLSAg ICAgICAgZWxzZToKKy0gICAgICAgICAgICBzZWxmLnN1Y2Nlc3NvciA9IF9UZXJtaW5hdGluZ1Nl bGVjdG9yKCkKKy0KKy0gICAgZGVmIHNlbGVjdF9mcm9tKHNlbGYsIHBhcmVudF9wYXRoKToKKy0g ICAgICAgICIiIkl0ZXJhdGUgb3ZlciBhbGwgY2hpbGQgcGF0aHMgb2YgYHBhcmVudF9wYXRoYCBt YXRjaGVkIGJ5IHRoaXMKKy0gICAgICAgIHNlbGVjdG9yLiAgVGhpcyBjYW4gY29udGFpbiBwYXJl bnRfcGF0aCBpdHNlbGYuIiIiCistICAgICAgICBwYXRoX2NscyA9IHR5cGUocGFyZW50X3BhdGgp CistICAgICAgICBpc19kaXIgPSBwYXRoX2Nscy5pc19kaXIKKy0gICAgICAgIGV4aXN0cyA9IHBh dGhfY2xzLmV4aXN0cworLSAgICAgICAgbGlzdGRpciA9IHBhcmVudF9wYXRoLl9hY2Nlc3Nvci5s aXN0ZGlyCistICAgICAgICByZXR1cm4gc2VsZi5fc2VsZWN0X2Zyb20ocGFyZW50X3BhdGgsIGlz X2RpciwgZXhpc3RzLCBsaXN0ZGlyKQorLQorLQorLWNsYXNzIF9UZXJtaW5hdGluZ1NlbGVjdG9y OgorLQorLSAgICBkZWYgX3NlbGVjdF9mcm9tKHNlbGYsIHBhcmVudF9wYXRoLCBpc19kaXIsIGV4 aXN0cywgbGlzdGRpcik6CistICAgICAgICB5aWVsZCBwYXJlbnRfcGF0aAorLQorLQorLWNsYXNz IF9QcmVjaXNlU2VsZWN0b3IoX1NlbGVjdG9yKToKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYs IG5hbWUsIGNoaWxkX3BhcnRzKToKKy0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKy0gICAgICAg IF9TZWxlY3Rvci5fX2luaXRfXyhzZWxmLCBjaGlsZF9wYXJ0cykKKy0KKy0gICAgZGVmIF9zZWxl Y3RfZnJvbShzZWxmLCBwYXJlbnRfcGF0aCwgaXNfZGlyLCBleGlzdHMsIGxpc3RkaXIpOgorLSAg ICAgICAgaWYgbm90IGlzX2RpcihwYXJlbnRfcGF0aCk6CistICAgICAgICAgICAgcmV0dXJuCist ICAgICAgICBwYXRoID0gcGFyZW50X3BhdGguX21ha2VfY2hpbGRfcmVscGF0aChzZWxmLm5hbWUp CistICAgICAgICBpZiBleGlzdHMocGF0aCk6CistICAgICAgICAgICAgZm9yIHAgaW4gc2VsZi5z dWNjZXNzb3IuX3NlbGVjdF9mcm9tKHBhdGgsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0g ICAgICAgICAgICAgICAgeWllbGQgcAorLQorLQorLWNsYXNzIF9XaWxkY2FyZFNlbGVjdG9yKF9T ZWxlY3Rvcik6CistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXQsIGNoaWxkX3BhcnRzKToK Ky0gICAgICAgIHNlbGYucGF0ID0gcmUuY29tcGlsZShmbm1hdGNoLnRyYW5zbGF0ZShwYXQpKQor LSAgICAgICAgX1NlbGVjdG9yLl9faW5pdF9fKHNlbGYsIGNoaWxkX3BhcnRzKQorLQorLSAgICBk ZWYgX3NlbGVjdF9mcm9tKHNlbGYsIHBhcmVudF9wYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRp cik6CistICAgICAgICBpZiBub3QgaXNfZGlyKHBhcmVudF9wYXRoKToKKy0gICAgICAgICAgICBy ZXR1cm4KKy0gICAgICAgIGNmID0gcGFyZW50X3BhdGguX2ZsYXZvdXIuY2FzZWZvbGQKKy0gICAg ICAgIGZvciBuYW1lIGluIGxpc3RkaXIocGFyZW50X3BhdGgpOgorLSAgICAgICAgICAgIGNhc2Vm b2xkZWQgPSBjZihuYW1lKQorLSAgICAgICAgICAgIGlmIHNlbGYucGF0Lm1hdGNoKGNhc2Vmb2xk ZWQpOgorLSAgICAgICAgICAgICAgICBwYXRoID0gcGFyZW50X3BhdGguX21ha2VfY2hpbGRfcmVs cGF0aChuYW1lKQorLSAgICAgICAgICAgICAgICBmb3IgcCBpbiBzZWxmLnN1Y2Nlc3Nvci5fc2Vs ZWN0X2Zyb20ocGF0aCwgaXNfZGlyLCBleGlzdHMsIGxpc3RkaXIpOgorLSAgICAgICAgICAgICAg ICAgICAgeWllbGQgcAorLQorLQorLWNsYXNzIF9SZWN1cnNpdmVXaWxkY2FyZFNlbGVjdG9yKF9T ZWxlY3Rvcik6CistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXQsIGNoaWxkX3BhcnRzKToK Ky0gICAgICAgIF9TZWxlY3Rvci5fX2luaXRfXyhzZWxmLCBjaGlsZF9wYXJ0cykKKy0KKy0gICAg ZGVmIF9pdGVyYXRlX2RpcmVjdG9yaWVzKHNlbGYsIHBhcmVudF9wYXRoLCBpc19kaXIsIGxpc3Rk aXIpOgorLSAgICAgICAgeWllbGQgcGFyZW50X3BhdGgKKy0gICAgICAgIGZvciBuYW1lIGluIGxp c3RkaXIocGFyZW50X3BhdGgpOgorLSAgICAgICAgICAgIHBhdGggPSBwYXJlbnRfcGF0aC5fbWFr ZV9jaGlsZF9yZWxwYXRoKG5hbWUpCistICAgICAgICAgICAgaWYgaXNfZGlyKHBhdGgpOgorLSAg ICAgICAgICAgICAgICBmb3IgcCBpbiBzZWxmLl9pdGVyYXRlX2RpcmVjdG9yaWVzKHBhdGgsIGlz X2RpciwgbGlzdGRpcik6CistICAgICAgICAgICAgICAgICAgICB5aWVsZCBwCistCistICAgIGRl ZiBfc2VsZWN0X2Zyb20oc2VsZiwgcGFyZW50X3BhdGgsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGly KToKKy0gICAgICAgIGlmIG5vdCBpc19kaXIocGFyZW50X3BhdGgpOgorLSAgICAgICAgICAgIHJl dHVybgorLSAgICAgICAgd2l0aCBfY2FjaGVkKGxpc3RkaXIpIGFzIGxpc3RkaXI6CistICAgICAg ICAgICAgeWllbGRlZCA9IHNldCgpCistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAg ICBzdWNjZXNzb3Jfc2VsZWN0ID0gc2VsZi5zdWNjZXNzb3IuX3NlbGVjdF9mcm9tCistICAgICAg ICAgICAgICAgIGZvciBzdGFydGluZ19wb2ludCBpbiBzZWxmLl9pdGVyYXRlX2RpcmVjdG9yaWVz KHBhcmVudF9wYXRoLCBpc19kaXIsIGxpc3RkaXIpOgorLSAgICAgICAgICAgICAgICAgICAgZm9y IHAgaW4gc3VjY2Vzc29yX3NlbGVjdChzdGFydGluZ19wb2ludCwgaXNfZGlyLCBleGlzdHMsIGxp c3RkaXIpOgorLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIHAgbm90IGluIHlpZWxkZWQ6Cist ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHAKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgeWllbGRlZC5hZGQocCkKKy0gICAgICAgICAgICBmaW5hbGx5OgorLSAgICAgICAg ICAgICAgICB5aWVsZGVkLmNsZWFyKCkKKy0KKy0KKy0jCistIyBQdWJsaWMgQVBJCistIworLQor LWNsYXNzIF9QYXRoUGFyZW50cyhTZXF1ZW5jZSk6CistICAgICIiIlRoaXMgb2JqZWN0IHByb3Zp ZGVzIHNlcXVlbmNlLWxpa2UgYWNjZXNzIHRvIHRoZSBsb2dpY2FsIGFuY2VzdG9ycworLSAgICBv ZiBhIHBhdGguICBEb24ndCB0cnkgdG8gY29uc3RydWN0IGl0IHlvdXJzZWxmLiIiIgorLSAgICBf X3Nsb3RzX18gPSAoJ19wYXRoY2xzJywgJ19kcnYnLCAnX3Jvb3QnLCAnX3BhcnRzJykKKy0KKy0g ICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgpOgorLSAgICAgICAgIyBXZSBkb24ndCBzdG9yZSB0 aGUgaW5zdGFuY2UgdG8gYXZvaWQgcmVmZXJlbmNlIGN5Y2xlcworLSAgICAgICAgc2VsZi5fcGF0 aGNscyA9IHR5cGUocGF0aCkKKy0gICAgICAgIHNlbGYuX2RydiA9IHBhdGguX2RydgorLSAgICAg ICAgc2VsZi5fcm9vdCA9IHBhdGguX3Jvb3QKKy0gICAgICAgIHNlbGYuX3BhcnRzID0gcGF0aC5f cGFydHMKKy0KKy0gICAgZGVmIF9fbGVuX18oc2VsZik6CistICAgICAgICBpZiBzZWxmLl9kcnYg b3Igc2VsZi5fcm9vdDoKKy0gICAgICAgICAgICByZXR1cm4gbGVuKHNlbGYuX3BhcnRzKSAtIDEK Ky0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9wYXJ0cykKKy0K Ky0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGlkeCk6CistICAgICAgICBpZiBpZHggPCAwIG9y IGlkeCA+PSBsZW4oc2VsZik6CistICAgICAgICAgICAgcmFpc2UgSW5kZXhFcnJvcihpZHgpCist ICAgICAgICByZXR1cm4gc2VsZi5fcGF0aGNscy5fZnJvbV9wYXJzZWRfcGFydHMoc2VsZi5fZHJ2 LCBzZWxmLl9yb290LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuX3BhcnRzWzotaWR4IC0gMV0pCistCistICAgIGRlZiBfX3JlcHJfXyhzZWxm KToKKy0gICAgICAgIHJldHVybiAiPHswfS5wYXJlbnRzPiIuZm9ybWF0KHNlbGYuX3BhdGhjbHMu X19uYW1lX18pCistCistCistY2xhc3MgUHVyZVBhdGgob2JqZWN0KToKKy0gICAgIiIiUHVyZVBh dGggcmVwcmVzZW50cyBhIGZpbGVzeXN0ZW0gcGF0aCBhbmQgb2ZmZXJzIG9wZXJhdGlvbnMgd2hp Y2gKKy0gICAgZG9uJ3QgaW1wbHkgYW55IGFjdHVhbCBmaWxlc3lzdGVtIEkvTy4gIERlcGVuZGlu ZyBvbiB5b3VyIHN5c3RlbSwKKy0gICAgaW5zdGFudGlhdGluZyBhIFB1cmVQYXRoIHdpbGwgcmV0 dXJuIGVpdGhlciBhIFB1cmVQb3NpeFBhdGggb3IgYQorLSAgICBQdXJlV2luZG93c1BhdGggb2Jq ZWN0LiAgWW91IGNhbiBhbHNvIGluc3RhbnRpYXRlIGVpdGhlciBvZiB0aGVzZSBjbGFzc2VzCist ICAgIGRpcmVjdGx5LCByZWdhcmRsZXNzIG9mIHlvdXIgc3lzdGVtLgorLSAgICAiIiIKKy0gICAg X19zbG90c19fID0gKAorLSAgICAgICAgJ19kcnYnLCAnX3Jvb3QnLCAnX3BhcnRzJywKKy0gICAg ICAgICdfc3RyJywgJ19oYXNoJywgJ19wcGFydHMnLCAnX2NhY2hlZF9jcGFydHMnLAorLSAgICAp CistCistICAgIGRlZiBfX25ld19fKGNscywgKmFyZ3MpOgorLSAgICAgICAgIiIiQ29uc3RydWN0 IGEgUHVyZVBhdGggZnJvbSBvbmUgb3Igc2V2ZXJhbCBzdHJpbmdzIGFuZCBvciBleGlzdGluZwor LSAgICAgICAgUHVyZVBhdGggb2JqZWN0cy4gIFRoZSBzdHJpbmdzIGFuZCBwYXRoIG9iamVjdHMg YXJlIGNvbWJpbmVkIHNvIGFzCistICAgICAgICB0byB5aWVsZCBhIGNhbm9uaWNhbGl6ZWQgcGF0 aCwgd2hpY2ggaXMgaW5jb3Jwb3JhdGVkIGludG8gdGhlCistICAgICAgICBuZXcgUHVyZVBhdGgg b2JqZWN0LgorLSAgICAgICAgIiIiCistICAgICAgICBpZiBjbHMgaXMgUHVyZVBhdGg6CistICAg ICAgICAgICAgY2xzID0gUHVyZVdpbmRvd3NQYXRoIGlmIG9zLm5hbWUgPT0gJ250JyBlbHNlIFB1 cmVQb3NpeFBhdGgKKy0gICAgICAgIHJldHVybiBjbHMuX2Zyb21fcGFydHMoYXJncykKKy0KKy0g ICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CistICAgICAgICAjIFVzaW5nIHRoZSBwYXJ0cyB0dXBs ZSBoZWxwcyBzaGFyZSBpbnRlcm5lZCBwYXRoIHBhcnRzCistICAgICAgICAjIHdoZW4gcGlja2xp bmcgcmVsYXRlZCBwYXRocy4KKy0gICAgICAgIHJldHVybiAoc2VsZi5fX2NsYXNzX18sIHR1cGxl KHNlbGYuX3BhcnRzKSkKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfcGFyc2VfYXJn cyhjbHMsIGFyZ3MpOgorLSAgICAgICAgIyBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSBkb24ndCB3 YW50IHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSwganVzdAorLSAgICAgICAgIyBjYW5vbmljYWxpemUg c29tZSBjb25zdHJ1Y3RvciBhcmd1bWVudHMuCistICAgICAgICBwYXJ0cyA9IFtdCistICAgICAg ICBmb3IgYSBpbiBhcmdzOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoYSwgUHVyZVBhdGgp OgorLSAgICAgICAgICAgICAgICBwYXJ0cyArPSBhLl9wYXJ0cworLSAgICAgICAgICAgIGVsaWYg aXNpbnN0YW5jZShhLCBiYXNlc3RyaW5nKToKKy0gICAgICAgICAgICAgICAgcGFydHMuYXBwZW5k KGEpCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9y KAorLSAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IHNob3VsZCBiZSBhIHBhdGggb3Igc3Ry IG9iamVjdCwgbm90ICVyIgorLSAgICAgICAgICAgICAgICAgICAgJSB0eXBlKGEpKQorLSAgICAg ICAgcmV0dXJuIGNscy5fZmxhdm91ci5wYXJzZV9wYXJ0cyhwYXJ0cykKKy0KKy0gICAgQGNsYXNz bWV0aG9kCistICAgIGRlZiBfZnJvbV9wYXJ0cyhjbHMsIGFyZ3MsIGluaXQ9VHJ1ZSk6CistICAg ICAgICAjIFdlIG5lZWQgdG8gY2FsbCBfcGFyc2VfYXJncyBvbiB0aGUgaW5zdGFuY2UsIHNvIGFz IHRvIGdldCB0aGUKKy0gICAgICAgICMgcmlnaHQgZmxhdm91ci4KKy0gICAgICAgIHNlbGYgPSBv YmplY3QuX19uZXdfXyhjbHMpCistICAgICAgICBkcnYsIHJvb3QsIHBhcnRzID0gc2VsZi5fcGFy c2VfYXJncyhhcmdzKQorLSAgICAgICAgc2VsZi5fZHJ2ID0gZHJ2CistICAgICAgICBzZWxmLl9y b290ID0gcm9vdAorLSAgICAgICAgc2VsZi5fcGFydHMgPSBwYXJ0cworLSAgICAgICAgaWYgaW5p dDoKKy0gICAgICAgICAgICBzZWxmLl9pbml0KCkKKy0gICAgICAgIHJldHVybiBzZWxmCistCist ICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX2Zyb21fcGFyc2VkX3BhcnRzKGNscywgZHJ2LCBy b290LCBwYXJ0cywgaW5pdD1UcnVlKToKKy0gICAgICAgIHNlbGYgPSBvYmplY3QuX19uZXdfXyhj bHMpCistICAgICAgICBzZWxmLl9kcnYgPSBkcnYKKy0gICAgICAgIHNlbGYuX3Jvb3QgPSByb290 CistICAgICAgICBzZWxmLl9wYXJ0cyA9IHBhcnRzCistICAgICAgICBpZiBpbml0OgorLSAgICAg ICAgICAgIHNlbGYuX2luaXQoKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgQGNsYXNz bWV0aG9kCistICAgIGRlZiBfZm9ybWF0X3BhcnNlZF9wYXJ0cyhjbHMsIGRydiwgcm9vdCwgcGFy dHMpOgorLSAgICAgICAgaWYgZHJ2IG9yIHJvb3Q6CistICAgICAgICAgICAgcmV0dXJuIGRydiAr IHJvb3QgKyBjbHMuX2ZsYXZvdXIuam9pbihwYXJ0c1sxOl0pCistICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgIHJldHVybiBjbHMuX2ZsYXZvdXIuam9pbihwYXJ0cykKKy0KKy0gICAgZGVmIF9p bml0KHNlbGYpOgorLSAgICAgICAgIyBPdmVycmlkZW4gaW4gY29uY3JldGUgUGF0aAorLSAgICAg ICAgcGFzcworLQorLSAgICBkZWYgX21ha2VfY2hpbGQoc2VsZiwgYXJncyk6CistICAgICAgICBk cnYsIHJvb3QsIHBhcnRzID0gc2VsZi5fcGFyc2VfYXJncyhhcmdzKQorLSAgICAgICAgZHJ2LCBy b290LCBwYXJ0cyA9IHNlbGYuX2ZsYXZvdXIuam9pbl9wYXJzZWRfcGFydHMoCistICAgICAgICAg ICAgc2VsZi5fZHJ2LCBzZWxmLl9yb290LCBzZWxmLl9wYXJ0cywgZHJ2LCByb290LCBwYXJ0cykK Ky0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNlZF9wYXJ0cyhkcnYsIHJvb3QsIHBhcnRz KQorLQorLSAgICBkZWYgX19zdHJfXyhzZWxmKToKKy0gICAgICAgICIiIlJldHVybiB0aGUgc3Ry aW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwYXRoLCBzdWl0YWJsZSBmb3IKKy0gICAgICAgIHBh c3NpbmcgdG8gc3lzdGVtIGNhbGxzLiIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJl dHVybiBzZWxmLl9zdHIKKy0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0gICAgICAg ICAgICBzZWxmLl9zdHIgPSBzZWxmLl9mb3JtYXRfcGFyc2VkX3BhcnRzKHNlbGYuX2Rydiwgc2Vs Zi5fcm9vdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuX3BhcnRzKSBvciAnLicKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc3RyCist CistICAgIGRlZiBhc19wb3NpeChzZWxmKToKKy0gICAgICAgICIiIlJldHVybiB0aGUgc3RyaW5n IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwYXRoIHdpdGggZm9yd2FyZCAoLykKKy0gICAgICAgIHNs YXNoZXMuIiIiCistICAgICAgICBmID0gc2VsZi5fZmxhdm91cgorLSAgICAgICAgcmV0dXJuIHN0 cihzZWxmKS5yZXBsYWNlKGYuc2VwLCAnLycpCistCistICAgIGRlZiBfX2J5dGVzX18oc2VsZik6 CistICAgICAgICAiIiJSZXR1cm4gdGhlIGJ5dGVzIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwYXRo LiAgVGhpcyBpcyBvbmx5CistICAgICAgICByZWNvbW1lbmRlZCB0byB1c2UgdW5kZXIgVW5peC4i IiIKKy0gICAgICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMik6CistICAgICAgICAgICAg cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigibmVlZHMgUHl0aG9uIDMuMiBvciBsYXRlciIpCist ICAgICAgICByZXR1cm4gb3MuZnNlbmNvZGUoc3RyKHNlbGYpKQorLQorLSAgICBkZWYgX19yZXBy X18oc2VsZik6CistICAgICAgICByZXR1cm4gInswfSh7MSFyfSkiLmZvcm1hdChzZWxmLl9fY2xh c3NfXy5fX25hbWVfXywgc2VsZi5hc19wb3NpeCgpKQorLQorLSAgICBkZWYgYXNfdXJpKHNlbGYp OgorLSAgICAgICAgIiIiUmV0dXJuIHRoZSBwYXRoIGFzIGEgJ2ZpbGUnIFVSSS4iIiIKKy0gICAg ICAgIGlmIG5vdCBzZWxmLmlzX2Fic29sdXRlKCk6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVF cnJvcigicmVsYXRpdmUgcGF0aCBjYW4ndCBiZSBleHByZXNzZWQgYXMgYSBmaWxlIFVSSSIpCist ICAgICAgICByZXR1cm4gc2VsZi5fZmxhdm91ci5tYWtlX3VyaShzZWxmKQorLQorLSAgICBAcHJv cGVydHkKKy0gICAgZGVmIF9jcGFydHMoc2VsZik6CistICAgICAgICAjIENhY2hlZCBjYXNlZm9s ZGVkIHBhcnRzLCBmb3IgaGFzaGluZyBhbmQgY29tcGFyaXNvbgorLSAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgIHJldHVybiBzZWxmLl9jYWNoZWRfY3BhcnRzCistICAgICAgICBleGNlcHQgQXR0 cmlidXRlRXJyb3I6CistICAgICAgICAgICAgc2VsZi5fY2FjaGVkX2NwYXJ0cyA9IHNlbGYuX2Zs YXZvdXIuY2FzZWZvbGRfcGFydHMoc2VsZi5fcGFydHMpCistICAgICAgICAgICAgcmV0dXJuIHNl bGYuX2NhY2hlZF9jcGFydHMKKy0KKy0gICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CistICAg ICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgUHVyZVBhdGgpOgorLSAgICAgICAgICAgIHJl dHVybiBOb3RJbXBsZW1lbnRlZAorLSAgICAgICAgcmV0dXJuIHNlbGYuX2NwYXJ0cyA9PSBvdGhl ci5fY3BhcnRzIGFuZCBzZWxmLl9mbGF2b3VyIGlzIG90aGVyLl9mbGF2b3VyCistCistICAgIGRl ZiBfX25lX18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmID09IG90aGVy CistCistICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAg ICByZXR1cm4gc2VsZi5faGFzaAorLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAg ICAgICAgICAgIHNlbGYuX2hhc2ggPSBoYXNoKHR1cGxlKHNlbGYuX2NwYXJ0cykpCistICAgICAg ICAgICAgcmV0dXJuIHNlbGYuX2hhc2gKKy0KKy0gICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6 CistICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgUHVyZVBhdGgpIG9yIHNlbGYuX2Zs YXZvdXIgaXMgbm90IG90aGVyLl9mbGF2b3VyOgorLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBs ZW1lbnRlZAorLSAgICAgICAgcmV0dXJuIHNlbGYuX2NwYXJ0cyA8IG90aGVyLl9jcGFydHMKKy0K Ky0gICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlcik6CistICAgICAgICBpZiBub3QgaXNpbnN0YW5j ZShvdGhlciwgUHVyZVBhdGgpIG9yIHNlbGYuX2ZsYXZvdXIgaXMgbm90IG90aGVyLl9mbGF2b3Vy OgorLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorLSAgICAgICAgcmV0dXJuIHNl bGYuX2NwYXJ0cyA8PSBvdGhlci5fY3BhcnRzCistCistICAgIGRlZiBfX2d0X18oc2VsZiwgb3Ro ZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxm Ll9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxhdm91cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90 SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBzZWxmLl9jcGFydHMgPiBvdGhlci5fY3BhcnRz CistCistICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5z dGFuY2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxmLl9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxh dm91cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVy biBzZWxmLl9jcGFydHMgPj0gb3RoZXIuX2NwYXJ0cworLQorLSAgICBkcml2ZSA9IHByb3BlcnR5 KGF0dHJnZXR0ZXIoJ19kcnYnKSwKKy0gICAgICAgICAgICAgICAgICAgICBkb2M9IiIiVGhlIGRy aXZlIHByZWZpeCAobGV0dGVyIG9yIFVOQyBwYXRoKSwgaWYgYW55LiIiIikKKy0KKy0gICAgcm9v dCA9IHByb3BlcnR5KGF0dHJnZXR0ZXIoJ19yb290JyksCistICAgICAgICAgICAgICAgICAgICBk b2M9IiIiVGhlIHJvb3Qgb2YgdGhlIHBhdGgsIGlmIGFueS4iIiIpCistCistICAgIEBwcm9wZXJ0 eQorLSAgICBkZWYgYW5jaG9yKHNlbGYpOgorLSAgICAgICAgIiIiVGhlIGNvbmNhdGVuYXRpb24g b2YgdGhlIGRyaXZlIGFuZCByb290LCBvciAnJy4iIiIKKy0gICAgICAgIGFuY2hvciA9IHNlbGYu X2RydiArIHNlbGYuX3Jvb3QKKy0gICAgICAgIHJldHVybiBhbmNob3IKKy0KKy0gICAgQHByb3Bl cnR5CistICAgIGRlZiBuYW1lKHNlbGYpOgorLSAgICAgICAgIiIiVGhlIGZpbmFsIHBhdGggY29t cG9uZW50LCBpZiBhbnkuIiIiCistICAgICAgICBwYXJ0cyA9IHNlbGYuX3BhcnRzCistICAgICAg ICBpZiBsZW4ocGFydHMpID09ICgxIGlmIChzZWxmLl9kcnYgb3Igc2VsZi5fcm9vdCkgZWxzZSAw KToKKy0gICAgICAgICAgICByZXR1cm4gJycKKy0gICAgICAgIHJldHVybiBwYXJ0c1stMV0KKy0K Ky0gICAgQHByb3BlcnR5CistICAgIGRlZiBzdWZmaXgoc2VsZik6CistICAgICAgICAiIiJUaGUg ZmluYWwgY29tcG9uZW50J3MgbGFzdCBzdWZmaXgsIGlmIGFueS4iIiIKKy0gICAgICAgIG5hbWUg PSBzZWxmLm5hbWUKKy0gICAgICAgIGkgPSBuYW1lLnJmaW5kKCcuJykKKy0gICAgICAgIGlmIDAg PCBpIDwgbGVuKG5hbWUpIC0gMToKKy0gICAgICAgICAgICByZXR1cm4gbmFtZVtpOl0KKy0gICAg ICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuICcnCistCistICAgIEBwcm9wZXJ0eQorLSAg ICBkZWYgc3VmZml4ZXMoc2VsZik6CistICAgICAgICAiIiJBIGxpc3Qgb2YgdGhlIGZpbmFsIGNv bXBvbmVudCdzIHN1ZmZpeGVzLCBpZiBhbnkuIiIiCistICAgICAgICBuYW1lID0gc2VsZi5uYW1l CistICAgICAgICBpZiBuYW1lLmVuZHN3aXRoKCcuJyk6CistICAgICAgICAgICAgcmV0dXJuIFtd CistICAgICAgICBuYW1lID0gbmFtZS5sc3RyaXAoJy4nKQorLSAgICAgICAgcmV0dXJuIFsnLicg KyBzdWZmaXggZm9yIHN1ZmZpeCBpbiBuYW1lLnNwbGl0KCcuJylbMTpdXQorLQorLSAgICBAcHJv cGVydHkKKy0gICAgZGVmIHN0ZW0oc2VsZik6CistICAgICAgICAiIiJUaGUgZmluYWwgcGF0aCBj b21wb25lbnQsIG1pbnVzIGl0cyBsYXN0IHN1ZmZpeC4iIiIKKy0gICAgICAgIG5hbWUgPSBzZWxm Lm5hbWUKKy0gICAgICAgIGkgPSBuYW1lLnJmaW5kKCcuJykKKy0gICAgICAgIGlmIDAgPCBpIDwg bGVuKG5hbWUpIC0gMToKKy0gICAgICAgICAgICByZXR1cm4gbmFtZVs6aV0KKy0gICAgICAgIGVs c2U6CistICAgICAgICAgICAgcmV0dXJuIG5hbWUKKy0KKy0gICAgZGVmIHdpdGhfbmFtZShzZWxm LCBuYW1lKToKKy0gICAgICAgICIiIlJldHVybiBhIG5ldyBwYXRoIHdpdGggdGhlIGZpbGUgbmFt ZSBjaGFuZ2VkLiIiIgorLSAgICAgICAgaWYgbm90IHNlbGYubmFtZToKKy0gICAgICAgICAgICBy YWlzZSBWYWx1ZUVycm9yKCIlciBoYXMgYW4gZW1wdHkgbmFtZSIgJSAoc2VsZiwpKQorLSAgICAg ICAgcmV0dXJuIHNlbGYuX2Zyb21fcGFyc2VkX3BhcnRzKHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJ0c1s6LTFd ICsgW25hbWVdKQorLQorLSAgICBkZWYgd2l0aF9zdWZmaXgoc2VsZiwgc3VmZml4KToKKy0gICAg ICAgICIiIlJldHVybiBhIG5ldyBwYXRoIHdpdGggdGhlIGZpbGUgc3VmZml4IGNoYW5nZWQgKG9y IGFkZGVkLCBpZiBub25lKS4iIiIKKy0gICAgICAgICMgWFhYIGlmIHN1ZmZpeCBpcyBOb25lLCBz aG91bGQgdGhlIGN1cnJlbnQgc3VmZml4IGJlIHJlbW92ZWQ/CistICAgICAgICBkcnYsIHJvb3Qs IHBhcnRzID0gc2VsZi5fZmxhdm91ci5wYXJzZV9wYXJ0cygoc3VmZml4LCkpCistICAgICAgICBp ZiBkcnYgb3Igcm9vdCBvciBsZW4ocGFydHMpICE9IDE6CistICAgICAgICAgICAgcmFpc2UgVmFs dWVFcnJvcigiSW52YWxpZCBzdWZmaXggJXIiICUgKHN1ZmZpeCkpCistICAgICAgICBzdWZmaXgg PSBwYXJ0c1swXQorLSAgICAgICAgaWYgbm90IHN1ZmZpeC5zdGFydHN3aXRoKCcuJyk6CistICAg ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBzdWZmaXggJXIiICUgKHN1ZmZpeCkp CistICAgICAgICBuYW1lID0gc2VsZi5uYW1lCistICAgICAgICBpZiBub3QgbmFtZToKKy0gICAg ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCIlciBoYXMgYW4gZW1wdHkgbmFtZSIgJSAoc2VsZiwp KQorLSAgICAgICAgb2xkX3N1ZmZpeCA9IHNlbGYuc3VmZml4CistICAgICAgICBpZiBub3Qgb2xk X3N1ZmZpeDoKKy0gICAgICAgICAgICBuYW1lID0gbmFtZSArIHN1ZmZpeAorLSAgICAgICAgZWxz ZToKKy0gICAgICAgICAgICBuYW1lID0gbmFtZVs6LWxlbihvbGRfc3VmZml4KV0gKyBzdWZmaXgK Ky0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNlbGYu X3Jvb3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFy dHNbOi0xXSArIFtuYW1lXSkKKy0KKy0gICAgZGVmIHJlbGF0aXZlX3RvKHNlbGYsICpvdGhlcik6 CistICAgICAgICAiIiJSZXR1cm4gdGhlIHJlbGF0aXZlIHBhdGggdG8gYW5vdGhlciBwYXRoIGlk ZW50aWZpZWQgYnkgdGhlIHBhc3NlZAorLSAgICAgICAgYXJndW1lbnRzLiAgSWYgdGhlIG9wZXJh dGlvbiBpcyBub3QgcG9zc2libGUgKGJlY2F1c2UgdGhpcyBpcyBub3QKKy0gICAgICAgIGEgc3Vi cGF0aCBvZiB0aGUgb3RoZXIgcGF0aCksIHJhaXNlIFZhbHVlRXJyb3IuCistICAgICAgICAiIiIK Ky0gICAgICAgICMgRm9yIHRoZSBwdXJwb3NlIG9mIHRoaXMgbWV0aG9kLCBkcml2ZSBhbmQgcm9v dCBhcmUgY29uc2lkZXJlZAorLSAgICAgICAgIyBzZXBhcmF0ZSBwYXJ0cywgaS5lLjoKKy0gICAg ICAgICMgICBQYXRoKCdjOi8nKS5yZWxhdGl2ZV90bygnYzonKSAgZ2l2ZXMgUGF0aCgnLycpCist ICAgICAgICAjICAgUGF0aCgnYzovJykucmVsYXRpdmVfdG8oJy8nKSAgIHJhaXNlIFZhbHVlRXJy b3IKKy0gICAgICAgIGlmIG5vdCBvdGhlcjoKKy0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3Io Im5lZWQgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IikKKy0gICAgICAgIHBhcnRzID0gc2VsZi5fcGFy dHMKKy0gICAgICAgIGRydiA9IHNlbGYuX2RydgorLSAgICAgICAgcm9vdCA9IHNlbGYuX3Jvb3QK Ky0gICAgICAgIGlmIHJvb3Q6CistICAgICAgICAgICAgYWJzX3BhcnRzID0gW2Rydiwgcm9vdF0g KyBwYXJ0c1sxOl0KKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgYWJzX3BhcnRzID0gcGFy dHMKKy0gICAgICAgIHRvX2RydiwgdG9fcm9vdCwgdG9fcGFydHMgPSBzZWxmLl9wYXJzZV9hcmdz KG90aGVyKQorLSAgICAgICAgaWYgdG9fcm9vdDoKKy0gICAgICAgICAgICB0b19hYnNfcGFydHMg PSBbdG9fZHJ2LCB0b19yb290XSArIHRvX3BhcnRzWzE6XQorLSAgICAgICAgZWxzZToKKy0gICAg ICAgICAgICB0b19hYnNfcGFydHMgPSB0b19wYXJ0cworLSAgICAgICAgbiA9IGxlbih0b19hYnNf cGFydHMpCistICAgICAgICBjZiA9IHNlbGYuX2ZsYXZvdXIuY2FzZWZvbGRfcGFydHMKKy0gICAg ICAgIGlmIChyb290IG9yIGRydikgaWYgbiA9PSAwIGVsc2UgY2YoYWJzX3BhcnRzWzpuXSkgIT0g Y2YodG9fYWJzX3BhcnRzKToKKy0gICAgICAgICAgICBmb3JtYXR0ZWQgPSBzZWxmLl9mb3JtYXRf cGFyc2VkX3BhcnRzKHRvX2RydiwgdG9fcm9vdCwgdG9fcGFydHMpCistICAgICAgICAgICAgcmFp c2UgVmFsdWVFcnJvcigieyFyfSBkb2VzIG5vdCBzdGFydCB3aXRoIHshcn0iCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHN0cihzZWxmKSwgc3RyKGZvcm1hdHRlZCkpKQor LSAgICAgICAgcmV0dXJuIHNlbGYuX2Zyb21fcGFyc2VkX3BhcnRzKCcnLCByb290IGlmIG4gPT0g MSBlbHNlICcnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFic19w YXJ0c1tuOl0pCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgcGFydHMoc2VsZik6CistICAg ICAgICAiIiJBbiBvYmplY3QgcHJvdmlkaW5nIHNlcXVlbmNlLWxpa2UgYWNjZXNzIHRvIHRoZQor LSAgICAgICAgY29tcG9uZW50cyBpbiB0aGUgZmlsZXN5c3RlbSBwYXRoLiIiIgorLSAgICAgICAg IyBXZSBjYWNoZSB0aGUgdHVwbGUgdG8gYXZvaWQgYnVpbGRpbmcgYSBuZXcgb25lIGVhY2ggdGlt ZSAucGFydHMKKy0gICAgICAgICMgaXMgYWNjZXNzZWQuICBYWFggaXMgdGhpcyBuZWNlc3Nhcnk/ CistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BwYXJ0cworLSAgICAg ICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgICAgIHNlbGYuX3BwYXJ0cyA9IHR1 cGxlKHNlbGYuX3BhcnRzKQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9wcGFydHMKKy0KKy0g ICAgZGVmIGpvaW5wYXRoKHNlbGYsICphcmdzKToKKy0gICAgICAgICIiIkNvbWJpbmUgdGhpcyBw YXRoIHdpdGggb25lIG9yIHNldmVyYWwgYXJndW1lbnRzLCBhbmQgcmV0dXJuIGEKKy0gICAgICAg IG5ldyBwYXRoIHJlcHJlc2VudGluZyBlaXRoZXIgYSBzdWJwYXRoIChpZiBhbGwgYXJndW1lbnRz IGFyZSByZWxhdGl2ZQorLSAgICAgICAgcGF0aHMpIG9yIGEgdG90YWxseSBkaWZmZXJlbnQgcGF0 aCAoaWYgb25lIG9mIHRoZSBhcmd1bWVudHMgaXMKKy0gICAgICAgIGFuY2hvcmVkKS4KKy0gICAg ICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX21ha2VfY2hpbGQoYXJncykKKy0KKy0gICAg ZGVmIF9fdHJ1ZWRpdl9fKHNlbGYsIGtleSk6CistICAgICAgICByZXR1cm4gc2VsZi5fbWFrZV9j aGlsZCgoa2V5LCkpCistCistICAgIGRlZiBfX3J0cnVlZGl2X18oc2VsZiwga2V5KToKKy0gICAg ICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnRzKFtrZXldICsgc2VsZi5fcGFydHMpCistCistICAg IGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywpOgorLSAgICAgICAgX19kaXZfXyA9IF9fdHJ1ZWRp dl9fCistICAgICAgICBfX3JkaXZfXyA9IF9fcnRydWVkaXZfXworLQorLSAgICBAcHJvcGVydHkK Ky0gICAgZGVmIHBhcmVudChzZWxmKToKKy0gICAgICAgICIiIlRoZSBsb2dpY2FsIHBhcmVudCBv ZiB0aGUgcGF0aC4iIiIKKy0gICAgICAgIGRydiA9IHNlbGYuX2RydgorLSAgICAgICAgcm9vdCA9 IHNlbGYuX3Jvb3QKKy0gICAgICAgIHBhcnRzID0gc2VsZi5fcGFydHMKKy0gICAgICAgIGlmIGxl bihwYXJ0cykgPT0gMSBhbmQgKGRydiBvciByb290KToKKy0gICAgICAgICAgICByZXR1cm4gc2Vs ZgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2Zyb21fcGFyc2VkX3BhcnRzKGRydiwgcm9vdCwgcGFy dHNbOi0xXSkKKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBwYXJlbnRzKHNlbGYpOgorLSAg ICAgICAgIiIiQSBzZXF1ZW5jZSBvZiB0aGlzIHBhdGgncyBsb2dpY2FsIHBhcmVudHMuIiIiCist ICAgICAgICByZXR1cm4gX1BhdGhQYXJlbnRzKHNlbGYpCistCistICAgIGRlZiBpc19hYnNvbHV0 ZShzZWxmKToKKy0gICAgICAgICIiIlRydWUgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUgKGhhcyBi b3RoIGEgcm9vdCBhbmQsIGlmIGFwcGxpY2FibGUsCistICAgICAgICBhIGRyaXZlKS4iIiIKKy0g ICAgICAgIGlmIG5vdCBzZWxmLl9yb290OgorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAg ICAgICAgcmV0dXJuIG5vdCBzZWxmLl9mbGF2b3VyLmhhc19kcnYgb3IgYm9vbChzZWxmLl9kcnYp CistCistICAgIGRlZiBpc19yZXNlcnZlZChzZWxmKToKKy0gICAgICAgICIiIlJldHVybiBUcnVl IGlmIHRoZSBwYXRoIGNvbnRhaW5zIG9uZSBvZiB0aGUgc3BlY2lhbCBuYW1lcyByZXNlcnZlZAor LSAgICAgICAgYnkgdGhlIHN5c3RlbSwgaWYgYW55LiIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYu X2ZsYXZvdXIuaXNfcmVzZXJ2ZWQoc2VsZi5fcGFydHMpCistCistICAgIGRlZiBtYXRjaChzZWxm LCBwYXRoX3BhdHRlcm4pOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gVHJ1ZSBpZiB0 aGlzIHBhdGggbWF0Y2hlcyB0aGUgZ2l2ZW4gcGF0dGVybi4KKy0gICAgICAgICIiIgorLSAgICAg ICAgY2YgPSBzZWxmLl9mbGF2b3VyLmNhc2Vmb2xkCistICAgICAgICBwYXRoX3BhdHRlcm4gPSBj ZihwYXRoX3BhdHRlcm4pCistICAgICAgICBkcnYsIHJvb3QsIHBhdF9wYXJ0cyA9IHNlbGYuX2Zs YXZvdXIucGFyc2VfcGFydHMoKHBhdGhfcGF0dGVybiwpKQorLSAgICAgICAgaWYgbm90IHBhdF9w YXJ0czoKKy0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJlbXB0eSBwYXR0ZXJuIikKKy0g ICAgICAgIGlmIGRydiBhbmQgZHJ2ICE9IGNmKHNlbGYuX2Rydik6CistICAgICAgICAgICAgcmV0 dXJuIEZhbHNlCistICAgICAgICBpZiByb290IGFuZCByb290ICE9IGNmKHNlbGYuX3Jvb3QpOgor LSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgcGFydHMgPSBzZWxmLl9jcGFydHMK Ky0gICAgICAgIGlmIGRydiBvciByb290OgorLSAgICAgICAgICAgIGlmIGxlbihwYXRfcGFydHMp ICE9IGxlbihwYXJ0cyk6CistICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAg ICAgIHBhdF9wYXJ0cyA9IHBhdF9wYXJ0c1sxOl0KKy0gICAgICAgIGVsaWYgbGVuKHBhdF9wYXJ0 cykgPiBsZW4ocGFydHMpOgorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgZm9y IHBhcnQsIHBhdCBpbiB6aXAocmV2ZXJzZWQocGFydHMpLCByZXZlcnNlZChwYXRfcGFydHMpKToK Ky0gICAgICAgICAgICBpZiBub3QgZm5tYXRjaC5mbm1hdGNoY2FzZShwYXJ0LCBwYXQpOgorLSAg ICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHJldHVybiBUcnVlCistCistCist Y2xhc3MgUHVyZVBvc2l4UGF0aChQdXJlUGF0aCk6CistICAgIF9mbGF2b3VyID0gX3Bvc2l4X2Zs YXZvdXIKKy0gICAgX19zbG90c19fID0gKCkKKy0KKy0KKy1jbGFzcyBQdXJlV2luZG93c1BhdGgo UHVyZVBhdGgpOgorLSAgICBfZmxhdm91ciA9IF93aW5kb3dzX2ZsYXZvdXIKKy0gICAgX19zbG90 c19fID0gKCkKKy0KKy0KKy0jIEZpbGVzeXN0ZW0tYWNjZXNzaW5nIGNsYXNzZXMKKy0KKy0KKy1j bGFzcyBQYXRoKFB1cmVQYXRoKToKKy0gICAgX19zbG90c19fID0gKAorLSAgICAgICAgJ19hY2Nl c3NvcicsCistICAgICkKKy0KKy0gICAgZGVmIF9fbmV3X18oY2xzLCAqYXJncywgKiprd2FyZ3Mp OgorLSAgICAgICAgaWYgY2xzIGlzIFBhdGg6CistICAgICAgICAgICAgY2xzID0gV2luZG93c1Bh dGggaWYgb3MubmFtZSA9PSAnbnQnIGVsc2UgUG9zaXhQYXRoCistICAgICAgICBzZWxmID0gY2xz Ll9mcm9tX3BhcnRzKGFyZ3MsIGluaXQ9RmFsc2UpCistICAgICAgICBpZiBub3Qgc2VsZi5fZmxh dm91ci5pc19zdXBwb3J0ZWQ6CistICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJv cigiY2Fubm90IGluc3RhbnRpYXRlICVyIG9uIHlvdXIgc3lzdGVtIgorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJSAoY2xzLl9fbmFtZV9fLCkpCistICAgICAgICBzZWxm Ll9pbml0KCkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBfaW5pdChzZWxmLAor LSAgICAgICAgICAgICAgIyBQcml2YXRlIG5vbi1jb25zdHJ1Y3RvciBhcmd1bWVudHMKKy0gICAg ICAgICAgICAgIHRlbXBsYXRlPU5vbmUsCistICAgICAgICAgICAgICApOgorLSAgICAgICAgaWYg dGVtcGxhdGUgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IgPSB0ZW1w bGF0ZS5fYWNjZXNzb3IKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgc2VsZi5fYWNjZXNz b3IgPSBfbm9ybWFsX2FjY2Vzc29yCistCistICAgIGRlZiBfbWFrZV9jaGlsZF9yZWxwYXRoKHNl bGYsIHBhcnQpOgorLSAgICAgICAgIyBUaGlzIGlzIGFuIG9wdGltaXphdGlvbiB1c2VkIGZvciBk aXIgd2Fsa2luZy4gIGBwYXJ0YCBtdXN0IGJlCistICAgICAgICAjIGEgc2luZ2xlIHBhcnQgcmVs YXRpdmUgdG8gdGhpcyBwYXRoLgorLSAgICAgICAgcGFydHMgPSBzZWxmLl9wYXJ0cyArIFtwYXJ0 XQorLSAgICAgICAgcmV0dXJuIHNlbGYuX2Zyb21fcGFyc2VkX3BhcnRzKHNlbGYuX2Rydiwgc2Vs Zi5fcm9vdCwgcGFydHMpCistCistICAgIGRlZiBfb3BlbmVyKHNlbGYsIG5hbWUsIGZsYWdzLCBt b2RlPTBvNjY2KToKKy0gICAgICAgICMgQSBzdHViIGZvciB0aGUgb3BlbmVyIGFyZ3VtZW50IHRv IGJ1aWx0LWluIG9wZW4oKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX2FjY2Vzc29yLm9wZW4oc2Vs ZiwgZmxhZ3MsIG1vZGUpCistCistICAgIGRlZiBfcmF3X29wZW4oc2VsZiwgZmxhZ3MsIG1vZGU9 MG83NzcpOgorLSAgICAgICAgIiIiCistICAgICAgICBPcGVuIHRoZSBmaWxlIHBvaW50ZWQgYnkg dGhpcyBwYXRoIGFuZCByZXR1cm4gYSBmaWxlIGRlc2NyaXB0b3IsCistICAgICAgICBhcyBvcy5v cGVuKCkgZG9lcy4KKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2FjY2Vzc29y Lm9wZW4oc2VsZiwgZmxhZ3MsIG1vZGUpCistCistICAgICMgUHVibGljIEFQSQorLQorLSAgICBA Y2xhc3NtZXRob2QKKy0gICAgZGVmIGN3ZChjbHMpOgorLSAgICAgICAgIiIiUmV0dXJuIGEgbmV3 IHBhdGggcG9pbnRpbmcgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkKKy0gICAgICAg IChhcyByZXR1cm5lZCBieSBvcy5nZXRjd2QoKSkuCistICAgICAgICAiIiIKKy0gICAgICAgIHJl dHVybiBjbHMob3MuZ2V0Y3dkKCkpCistCistICAgIGRlZiBpdGVyZGlyKHNlbGYpOgorLSAgICAg ICAgIiIiSXRlcmF0ZSBvdmVyIHRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4gIERvZXMgbm90 IHlpZWxkIGFueQorLSAgICAgICAgcmVzdWx0IGZvciB0aGUgc3BlY2lhbCBwYXRocyAnLicgYW5k ICcuLicuCistICAgICAgICAiIiIKKy0gICAgICAgIGZvciBuYW1lIGluIHNlbGYuX2FjY2Vzc29y Lmxpc3RkaXIoc2VsZik6CistICAgICAgICAgICAgaWYgbmFtZSBpbiAoJy4nLCAnLi4nKToKKy0g ICAgICAgICAgICAgICAgIyBZaWVsZGluZyBhIHBhdGggb2JqZWN0IGZvciB0aGVzZSBtYWtlcyBs aXR0bGUgc2Vuc2UKKy0gICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICB5aWVs ZCBzZWxmLl9tYWtlX2NoaWxkX3JlbHBhdGgobmFtZSkKKy0KKy0gICAgZGVmIGdsb2Ioc2VsZiwg cGF0dGVybik6CistICAgICAgICAiIiJJdGVyYXRlIG92ZXIgdGhpcyBzdWJ0cmVlIGFuZCB5aWVs ZCBhbGwgZXhpc3RpbmcgZmlsZXMgKG9mIGFueQorLSAgICAgICAga2luZCwgaW5jbHVkaW5nIGRp cmVjdG9yaWVzKSBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0dGVybi4KKy0gICAgICAgICIiIgorLSAg ICAgICAgcGF0dGVybiA9IHNlbGYuX2ZsYXZvdXIuY2FzZWZvbGQocGF0dGVybikKKy0gICAgICAg IGRydiwgcm9vdCwgcGF0dGVybl9wYXJ0cyA9IHNlbGYuX2ZsYXZvdXIucGFyc2VfcGFydHMoKHBh dHRlcm4sKSkKKy0gICAgICAgIGlmIGRydiBvciByb290OgorLSAgICAgICAgICAgIHJhaXNlIE5v dEltcGxlbWVudGVkRXJyb3IoIk5vbi1yZWxhdGl2ZSBwYXR0ZXJucyBhcmUgdW5zdXBwb3J0ZWQi KQorLSAgICAgICAgc2VsZWN0b3IgPSBfbWFrZV9zZWxlY3Rvcih0dXBsZShwYXR0ZXJuX3BhcnRz KSkKKy0gICAgICAgIGZvciBwIGluIHNlbGVjdG9yLnNlbGVjdF9mcm9tKHNlbGYpOgorLSAgICAg ICAgICAgIHlpZWxkIHAKKy0KKy0gICAgZGVmIHJnbG9iKHNlbGYsIHBhdHRlcm4pOgorLSAgICAg ICAgIiIiUmVjdXJzaXZlbHkgeWllbGQgYWxsIGV4aXN0aW5nIGZpbGVzIChvZiBhbnkga2luZCwg aW5jbHVkaW5nCistICAgICAgICBkaXJlY3RvcmllcykgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdHRl cm4sIGFueXdoZXJlIGluIHRoaXMgc3VidHJlZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgcGF0 dGVybiA9IHNlbGYuX2ZsYXZvdXIuY2FzZWZvbGQocGF0dGVybikKKy0gICAgICAgIGRydiwgcm9v dCwgcGF0dGVybl9wYXJ0cyA9IHNlbGYuX2ZsYXZvdXIucGFyc2VfcGFydHMoKHBhdHRlcm4sKSkK Ky0gICAgICAgIGlmIGRydiBvciByb290OgorLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVu dGVkRXJyb3IoIk5vbi1yZWxhdGl2ZSBwYXR0ZXJucyBhcmUgdW5zdXBwb3J0ZWQiKQorLSAgICAg ICAgc2VsZWN0b3IgPSBfbWFrZV9zZWxlY3RvcigoIioqIiwpICsgdHVwbGUocGF0dGVybl9wYXJ0 cykpCistICAgICAgICBmb3IgcCBpbiBzZWxlY3Rvci5zZWxlY3RfZnJvbShzZWxmKToKKy0gICAg ICAgICAgICB5aWVsZCBwCistCistICAgIGRlZiBhYnNvbHV0ZShzZWxmKToKKy0gICAgICAgICIi IlJldHVybiBhbiBhYnNvbHV0ZSB2ZXJzaW9uIG9mIHRoaXMgcGF0aC4gIFRoaXMgZnVuY3Rpb24g d29ya3MKKy0gICAgICAgIGV2ZW4gaWYgdGhlIHBhdGggZG9lc24ndCBwb2ludCB0byBhbnl0aGlu Zy4KKy0KKy0gICAgICAgIE5vIG5vcm1hbGl6YXRpb24gaXMgZG9uZSwgaS5lLiBhbGwgJy4nIGFu ZCAnLi4nIHdpbGwgYmUga2VwdCBhbG9uZy4KKy0gICAgICAgIFVzZSByZXNvbHZlKCkgdG8gZ2V0 IHRoZSBjYW5vbmljYWwgcGF0aCB0byBhIGZpbGUuCistICAgICAgICAiIiIKKy0gICAgICAgICMg WFhYIHVudGVzdGVkIHlldCEKKy0gICAgICAgIGlmIHNlbGYuaXNfYWJzb2x1dGUoKToKKy0gICAg ICAgICAgICByZXR1cm4gc2VsZgorLSAgICAgICAgIyBGSVhNRSB0aGlzIG11c3QgZGVmZXIgdG8g dGhlIHNwZWNpZmljIGZsYXZvdXIgKGFuZCwgdW5kZXIgV2luZG93cywKKy0gICAgICAgICMgdXNl IG50Ll9nZXRmdWxscGF0aG5hbWUoKSkKKy0gICAgICAgIG9iaiA9IHNlbGYuX2Zyb21fcGFydHMo W29zLmdldGN3ZCgpXSArIHNlbGYuX3BhcnRzLCBpbml0PUZhbHNlKQorLSAgICAgICAgb2JqLl9p bml0KHRlbXBsYXRlPXNlbGYpCistICAgICAgICByZXR1cm4gb2JqCistCistICAgIGRlZiByZXNv bHZlKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBNYWtlIHRoZSBwYXRoIGFic29sdXRl LCByZXNvbHZpbmcgYWxsIHN5bWxpbmtzIG9uIHRoZSB3YXkgYW5kIGFsc28KKy0gICAgICAgIG5v cm1hbGl6aW5nIGl0IChmb3IgZXhhbXBsZSB0dXJuaW5nIHNsYXNoZXMgaW50byBiYWNrc2xhc2hl cyB1bmRlcgorLSAgICAgICAgV2luZG93cykuCistICAgICAgICAiIiIKKy0gICAgICAgIHMgPSBz ZWxmLl9mbGF2b3VyLnJlc29sdmUoc2VsZikKKy0gICAgICAgIGlmIHMgaXMgTm9uZToKKy0gICAg ICAgICAgICAjIE5vIHN5bWxpbmsgcmVzb2x1dGlvbiA9PiBmb3IgY29uc2lzdGVuY3ksIHJhaXNl IGFuIGVycm9yIGlmCistICAgICAgICAgICAgIyB0aGUgcGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlz IGZvcmJpZGRlbgorLSAgICAgICAgICAgIHNlbGYuc3RhdCgpCistICAgICAgICAgICAgcyA9IHN0 cihzZWxmLmFic29sdXRlKCkpCistICAgICAgICAjIE5vdyB3ZSBoYXZlIG5vIHN5bWxpbmtzIGlu IHRoZSBwYXRoLCBpdCdzIHNhZmUgdG8gbm9ybWFsaXplIGl0LgorLSAgICAgICAgbm9ybWVkID0g c2VsZi5fZmxhdm91ci5wYXRobW9kLm5vcm1wYXRoKHMpCistICAgICAgICBvYmogPSBzZWxmLl9m cm9tX3BhcnRzKChub3JtZWQsKSwgaW5pdD1GYWxzZSkKKy0gICAgICAgIG9iai5faW5pdCh0ZW1w bGF0ZT1zZWxmKQorLSAgICAgICAgcmV0dXJuIG9iagorLQorLSAgICBkZWYgc3RhdChzZWxmKToK Ky0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIHN0YXQoKSBz eXN0ZW0gY2FsbCBvbiB0aGlzIHBhdGgsIGxpa2UKKy0gICAgICAgIG9zLnN0YXQoKSBkb2VzLgor LSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5fYWNjZXNzb3Iuc3RhdChzZWxmKQor LQorLSAgICBkZWYgb3duZXIoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFJldHVybiB0 aGUgbG9naW4gbmFtZSBvZiB0aGUgZmlsZSBvd25lci4KKy0gICAgICAgICIiIgorLSAgICAgICAg aW1wb3J0IHB3ZAorLSAgICAgICAgcmV0dXJuIHB3ZC5nZXRwd3VpZChzZWxmLnN0YXQoKS5zdF91 aWQpLnB3X25hbWUKKy0KKy0gICAgZGVmIGdyb3VwKHNlbGYpOgorLSAgICAgICAgIiIiCistICAg ICAgICBSZXR1cm4gdGhlIGdyb3VwIG5hbWUgb2YgdGhlIGZpbGUgZ2lkLgorLSAgICAgICAgIiIi CistICAgICAgICBpbXBvcnQgZ3JwCistICAgICAgICByZXR1cm4gZ3JwLmdldGdyZ2lkKHNlbGYu c3RhdCgpLnN0X2dpZCkuZ3JfbmFtZQorLQorLSAgICBkZWYgb3BlbihzZWxmLCBtb2RlPSdyJywg YnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLAorLSAgICAgICAgICAgICBlcnJvcnM9Tm9uZSwg bmV3bGluZT1Ob25lKToKKy0gICAgICAgICIiIgorLSAgICAgICAgT3BlbiB0aGUgZmlsZSBwb2lu dGVkIGJ5IHRoaXMgcGF0aCBhbmQgcmV0dXJuIGEgZmlsZSBvYmplY3QsIGFzCistICAgICAgICB0 aGUgYnVpbHQtaW4gb3BlbigpIGZ1bmN0aW9uIGRvZXMuCistICAgICAgICAiIiIKKy0gICAgICAg IGlmIHN5cy52ZXJzaW9uX2luZm8gPj0gKDMsIDMpOgorLSAgICAgICAgICAgIHJldHVybiBpby5v cGVuKHN0cihzZWxmKSwgbW9kZSwgYnVmZmVyaW5nLCBlbmNvZGluZywgZXJyb3JzLCBuZXdsaW5l LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lcj1zZWxmLl9vcGVuZXIpCistICAg ICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiBpby5vcGVuKHN0cihzZWxmKSwgbW9kZSwg YnVmZmVyaW5nLCBlbmNvZGluZywgZXJyb3JzLCBuZXdsaW5lKQorLQorLSAgICBkZWYgdG91Y2go c2VsZiwgbW9kZT0wbzY2NiwgZXhpc3Rfb2s9VHJ1ZSk6CistICAgICAgICAiIiIKKy0gICAgICAg IENyZWF0ZSB0aGlzIGZpbGUgd2l0aCB0aGUgZ2l2ZW4gYWNjZXNzIG1vZGUsIGlmIGl0IGRvZXNu J3QgZXhpc3QuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGV4aXN0X29rOgorLSAgICAgICAg ICAgICMgRmlyc3QgdHJ5IHRvIGJ1bXAgbW9kaWZpY2F0aW9uIHRpbWUKKy0gICAgICAgICAgICAj IEltcGxlbWVudGF0aW9uIG5vdGU6IEdOVSB0b3VjaCB1c2VzIHRoZSBVVElNRV9OT1cgb3B0aW9u IG9mCistICAgICAgICAgICAgIyB0aGUgdXRpbWVuc2F0KCkgLyBmdXRpbWVucygpIGZ1bmN0aW9u cy4KKy0gICAgICAgICAgICB0ID0gdGltZS50aW1lKCkKKy0gICAgICAgICAgICB0cnk6CistICAg ICAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yLnV0aW1lKHNlbGYsICh0LCB0KSkKKy0gICAgICAg ICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAgICAgICAgICAgICAgIyBBdm9pZCBleGNlcHRpb24g Y2hhaW5pbmcKKy0gICAgICAgICAgICAgICAgcGFzcworLSAgICAgICAgICAgIGVsc2U6CistICAg ICAgICAgICAgICAgIHJldHVybgorLSAgICAgICAgZmxhZ3MgPSBvcy5PX0NSRUFUIHwgb3MuT19X Uk9OTFkKKy0gICAgICAgIGlmIG5vdCBleGlzdF9vazoKKy0gICAgICAgICAgICBmbGFncyB8PSBv cy5PX0VYQ0wKKy0gICAgICAgIGZkID0gc2VsZi5fcmF3X29wZW4oZmxhZ3MsIG1vZGUpCistICAg ICAgICBvcy5jbG9zZShmZCkKKy0KKy0gICAgZGVmIG1rZGlyKHNlbGYsIG1vZGU9MG83NzcsIHBh cmVudHM9RmFsc2UpOgorLSAgICAgICAgaWYgbm90IHBhcmVudHM6CistICAgICAgICAgICAgc2Vs Zi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAg ICAgdHJ5OgorLSAgICAgICAgICAgICAgICBzZWxmLl9hY2Nlc3Nvci5ta2RpcihzZWxmLCBtb2Rl KQorLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgICAgIGlm IGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAg ICAgICAgICAgc2VsZi5wYXJlbnQubWtkaXIocGFyZW50cz1UcnVlKQorLSAgICAgICAgICAgICAg ICBzZWxmLl9hY2Nlc3Nvci5ta2RpcihzZWxmLCBtb2RlKQorLQorLSAgICBkZWYgY2htb2Qoc2Vs ZiwgbW9kZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIENoYW5nZSB0aGUgcGVybWlzc2lvbnMg b2YgdGhlIHBhdGgsIGxpa2Ugb3MuY2htb2QoKS4KKy0gICAgICAgICIiIgorLSAgICAgICAgc2Vs Zi5fYWNjZXNzb3IuY2htb2Qoc2VsZiwgbW9kZSkKKy0KKy0gICAgZGVmIGxjaG1vZChzZWxmLCBt b2RlKToKKy0gICAgICAgICIiIgorLSAgICAgICAgTGlrZSBjaG1vZCgpLCBleGNlcHQgaWYgdGhl IHBhdGggcG9pbnRzIHRvIGEgc3ltbGluaywgdGhlIHN5bWxpbmsncworLSAgICAgICAgcGVybWlz c2lvbnMgYXJlIGNoYW5nZWQsIHJhdGhlciB0aGFuIGl0cyB0YXJnZXQncy4KKy0gICAgICAgICIi IgorLSAgICAgICAgc2VsZi5fYWNjZXNzb3IubGNobW9kKHNlbGYsIG1vZGUpCistCistICAgIGRl ZiB1bmxpbmsoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFJlbW92ZSB0aGlzIGZpbGUg b3IgbGluay4KKy0gICAgICAgIElmIHRoZSBwYXRoIGlzIGEgZGlyZWN0b3J5LCB1c2Ugcm1kaXIo KSBpbnN0ZWFkLgorLSAgICAgICAgIiIiCistICAgICAgICBzZWxmLl9hY2Nlc3Nvci51bmxpbmso c2VsZikKKy0KKy0gICAgZGVmIHJtZGlyKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBS ZW1vdmUgdGhpcyBkaXJlY3RvcnkuICBUaGUgZGlyZWN0b3J5IG11c3QgYmUgZW1wdHkuCistICAg ICAgICAiIiIKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29yLnJtZGlyKHNlbGYpCistCistICAgIGRl ZiBsc3RhdChzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgTGlrZSBzdGF0KCksIGV4Y2Vw dCBpZiB0aGUgcGF0aCBwb2ludHMgdG8gYSBzeW1saW5rLCB0aGUgc3ltbGluaydzCistICAgICAg ICBzdGF0dXMgaW5mb3JtYXRpb24gaXMgcmV0dXJuZWQsIHJhdGhlciB0aGFuIGl0cyB0YXJnZXQn cy4KKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2FjY2Vzc29yLmxzdGF0KHNl bGYpCistCistICAgIGRlZiByZW5hbWUoc2VsZiwgdGFyZ2V0KToKKy0gICAgICAgICIiIgorLSAg ICAgICAgUmVuYW1lIHRoaXMgcGF0aCB0byB0aGUgZ2l2ZW4gcGF0aC4KKy0gICAgICAgICIiIgor LSAgICAgICAgc2VsZi5fYWNjZXNzb3IucmVuYW1lKHNlbGYsIHRhcmdldCkKKy0KKy0gICAgZGVm IHJlcGxhY2Uoc2VsZiwgdGFyZ2V0KToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmVuYW1lIHRo aXMgcGF0aCB0byB0aGUgZ2l2ZW4gcGF0aCwgY2xvYmJlcmluZyB0aGUgZXhpc3RpbmcKKy0gICAg ICAgIGRlc3RpbmF0aW9uIGlmIGl0IGV4aXN0cy4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYg c3lzLnZlcnNpb25faW5mbyA8ICgzLCAzKToKKy0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1l bnRlZEVycm9yKCJyZXBsYWNlKCkgaXMgb25seSBhdmFpbGFibGUgIgorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIndpdGggUHl0aG9uIDMuMyBhbmQgbGF0ZXIiKQorLSAg ICAgICAgc2VsZi5fYWNjZXNzb3IucmVwbGFjZShzZWxmLCB0YXJnZXQpCistCistICAgIGRlZiBz eW1saW5rX3RvKHNlbGYsIHRhcmdldCwgdGFyZ2V0X2lzX2RpcmVjdG9yeT1GYWxzZSk6CistICAg ICAgICAiIiIKKy0gICAgICAgIE1ha2UgdGhpcyBwYXRoIGEgc3ltbGluayBwb2ludGluZyB0byB0 aGUgZ2l2ZW4gcGF0aC4KKy0gICAgICAgIE5vdGUgdGhlIG9yZGVyIG9mIGFyZ3VtZW50cyAoc2Vs ZiwgdGFyZ2V0KSBpcyB0aGUgcmV2ZXJzZSBvZiBvcy5zeW1saW5rJ3MuCistICAgICAgICAiIiIK Ky0gICAgICAgIHNlbGYuX2FjY2Vzc29yLnN5bWxpbmsodGFyZ2V0LCBzZWxmLCB0YXJnZXRfaXNf ZGlyZWN0b3J5KQorLQorLSAgICAjIENvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgcXVlcnlpbmcg dGhlIHN0YXQgcmVzdWx0cworLQorLSAgICBkZWYgZXhpc3RzKHNlbGYpOgorLSAgICAgICAgIiIi CistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0aCBleGlzdHMuCistICAgICAgICAiIiIKKy0gICAg ICAgIHRyeToKKy0gICAgICAgICAgICBzZWxmLnN0YXQoKQorLSAgICAgICAgZXhjZXB0IE9TRXJy b3IgYXMgZToKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAg ICAgICAgcmFpc2UKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHJldHVybiBU cnVlCistCistICAgIGRlZiBpc19kaXIoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdo ZXRoZXIgdGhpcyBwYXRoIGlzIGEgZGlyZWN0b3J5LgorLSAgICAgICAgIiIiCistICAgICAgICB0 cnk6CistICAgICAgICAgICAgcmV0dXJuIFNfSVNESVIoc2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0g ICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBF Tk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAgIyBQYXRoIGRvZXNu J3QgZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3ltbGluaworLSAgICAgICAgICAgICMgKHNlZSBodHRw czovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUvMTIvKQorLSAgICAgICAgICAg IHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgaXNfZmlsZShzZWxmKToKKy0gICAgICAgICIiIgor LSAgICAgICAgV2hldGhlciB0aGlzIHBhdGggaXMgYSByZWd1bGFyIGZpbGUgKGFsc28gVHJ1ZSBm b3Igc3ltbGlua3MgcG9pbnRpbmcKKy0gICAgICAgIHRvIHJlZ3VsYXIgZmlsZXMpLgorLSAgICAg ICAgIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIFNfSVNSRUcoc2VsZi5z dGF0KCkuc3RfbW9kZSkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAg ICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAg ICAgICAgIyBQYXRoIGRvZXNuJ3QgZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3ltbGluaworLSAgICAg ICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUv MTIvKQorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgaXNfc3ltbGluayhz ZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgV2hldGhlciB0aGlzIHBhdGggaXMgYSBzeW1i b2xpYyBsaW5rLgorLSAgICAgICAgIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0 dXJuIFNfSVNMTksoc2VsZi5sc3RhdCgpLnN0X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJv ciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAg ICAgICByYWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0CistICAgICAgICAg ICAgcmV0dXJuIEZhbHNlCistCistICAgIGRlZiBpc19ibG9ja19kZXZpY2Uoc2VsZik6CistICAg ICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgYmxvY2sgZGV2aWNlLgor LSAgICAgICAgIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIFNfSVNCTEso c2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAg ICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCist ICAgICAgICAgICAgIyBQYXRoIGRvZXNuJ3QgZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3ltbGluawor LSAgICAgICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIv aXNzdWUvMTIvKQorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgaXNfY2hh cl9kZXZpY2Uoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRo IGlzIGEgY2hhcmFjdGVyIGRldmljZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgIHJldHVybiBTX0lTQ0hSKHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBl eGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgor LSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0 IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0gICAgICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRi dWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lzc3VlLzEyLykKKy0gICAgICAgICAgICByZXR1cm4g RmFsc2UKKy0KKy0gICAgZGVmIGlzX2ZpZm8oc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAg IFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgRklGTy4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5 OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTRklGTyhzZWxmLnN0YXQoKS5zdF9tb2RlKQorLSAg ICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IEVO T0VOVDoKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICAjIFBhdGggZG9lc24n dCBleGlzdCBvciBpcyBhIGJyb2tlbiBzeW1saW5rCistICAgICAgICAgICAgIyAoc2VlIGh0dHBz Oi8vYml0YnVja2V0Lm9yZy9waXRyb3UvcGF0aGxpYi9pc3N1ZS8xMi8pCistICAgICAgICAgICAg cmV0dXJuIEZhbHNlCistCistICAgIGRlZiBpc19zb2NrZXQoc2VsZik6CistICAgICAgICAiIiIK Ky0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgc29ja2V0LgorLSAgICAgICAgIiIiCist ICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIFNfSVNTT0NLKHNlbGYuc3RhdCgpLnN0 X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUu ZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMg UGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0gICAgICAgICAgICAj IChzZWUgaHR0cHM6Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lzc3VlLzEyLykKKy0g ICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0KKy0KKy1jbGFzcyBQb3NpeFBhdGgoUGF0aCwgUHVy ZVBvc2l4UGF0aCk6CistICAgIF9fc2xvdHNfXyA9ICgpCistCistY2xhc3MgV2luZG93c1BhdGgo UGF0aCwgUHVyZVdpbmRvd3NQYXRoKToKKy0gICAgX19zbG90c19fID0gKCkKKy0KK2RpZmYgLS1n aXQgYS90YXNrcy9fdmVuZG9yL3NpeC5weSBiL3Rhc2tzL192ZW5kb3Ivc2l4LnB5CitkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDE5MGMwMjMuLjAwMDAwMDAKKy0tLSBhL3Rhc2tzL192 ZW5kb3Ivc2l4LnB5CisrKysgL2Rldi9udWxsCitAQCAtMSw4NjggKzAsMCBAQAorLSIiIlV0aWxp dGllcyBmb3Igd3JpdGluZyBjb2RlIHRoYXQgcnVucyBvbiBQeXRob24gMiBhbmQgMyIiIgorLQor LSMgQ29weXJpZ2h0IChjKSAyMDEwLTIwMTUgQmVuamFtaW4gUGV0ZXJzb24KKy0jCistIyBQZXJt aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv YnRhaW5pbmcgYSBjb3B5CistIyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3Vt ZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAorLSMgaW4gdGhlIFNvZnR3 YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhl IHJpZ2h0cworLSMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmli dXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorLSMgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwg YW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCistIyBmdXJuaXNo ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorLSMKKy0j IFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNo YWxsIGJlIGluY2x1ZGVkIGluIGFsbAorLSMgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z IG9mIHRoZSBTb2Z0d2FyZS4KKy0jCistIyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElT IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorLSMgSU1QTElFRCwg SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC SUxJVFksCistIyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO R0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKy0jIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP TERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKy0jIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HIEZST00sCistIyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZU V0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorLSMgU09GVFdBUkUuCist CistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy0KKy1pbXBvcnQgZnVu Y3Rvb2xzCistaW1wb3J0IGl0ZXJ0b29scworLWltcG9ydCBvcGVyYXRvcgorLWltcG9ydCBzeXMK Ky1pbXBvcnQgdHlwZXMKKy0KKy1fX2F1dGhvcl9fID0gIkJlbmphbWluIFBldGVyc29uIDxiZW5q YW1pbkBweXRob24ub3JnPiIKKy1fX3ZlcnNpb25fXyA9ICIxLjEwLjAiCistCistCistIyBVc2Vm dWwgZm9yIHZlcnkgY29hcnNlIHZlcnNpb24gZGlmZmVyZW50aWF0aW9uLgorLVBZMiA9IHN5cy52 ZXJzaW9uX2luZm9bMF0gPT0gMgorLVBZMyA9IHN5cy52ZXJzaW9uX2luZm9bMF0gPT0gMworLVBZ MzQgPSBzeXMudmVyc2lvbl9pbmZvWzA6Ml0gPj0gKDMsIDQpCistCistaWYgUFkzOgorLSAgICBz dHJpbmdfdHlwZXMgPSBzdHIsCistICAgIGludGVnZXJfdHlwZXMgPSBpbnQsCistICAgIGNsYXNz X3R5cGVzID0gdHlwZSwKKy0gICAgdGV4dF90eXBlID0gc3RyCistICAgIGJpbmFyeV90eXBlID0g Ynl0ZXMKKy0KKy0gICAgTUFYU0laRSA9IHN5cy5tYXhzaXplCistZWxzZToKKy0gICAgc3RyaW5n X3R5cGVzID0gYmFzZXN0cmluZywKKy0gICAgaW50ZWdlcl90eXBlcyA9IChpbnQsIGxvbmcpCist ICAgIGNsYXNzX3R5cGVzID0gKHR5cGUsIHR5cGVzLkNsYXNzVHlwZSkKKy0gICAgdGV4dF90eXBl ID0gdW5pY29kZQorLSAgICBiaW5hcnlfdHlwZSA9IHN0cgorLQorLSAgICBpZiBzeXMucGxhdGZv cm0uc3RhcnRzd2l0aCgiamF2YSIpOgorLSAgICAgICAgIyBKeXRob24gYWx3YXlzIHVzZXMgMzIg Yml0cy4KKy0gICAgICAgIE1BWFNJWkUgPSBpbnQoKDEgPDwgMzEpIC0gMSkKKy0gICAgZWxzZToK Ky0gICAgICAgICMgSXQncyBwb3NzaWJsZSB0byBoYXZlIHNpemVvZihsb25nKSAhPSBzaXplb2Yo UHlfc3NpemVfdCkuCistICAgICAgICBjbGFzcyBYKG9iamVjdCk6CistCistICAgICAgICAgICAg ZGVmIF9fbGVuX18oc2VsZik6CistICAgICAgICAgICAgICAgIHJldHVybiAxIDw8IDMxCistICAg ICAgICB0cnk6CistICAgICAgICAgICAgbGVuKFgoKSkKKy0gICAgICAgIGV4Y2VwdCBPdmVyZmxv d0Vycm9yOgorLSAgICAgICAgICAgICMgMzItYml0CistICAgICAgICAgICAgTUFYU0laRSA9IGlu dCgoMSA8PCAzMSkgLSAxKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAjIDY0LWJpdAor LSAgICAgICAgICAgIE1BWFNJWkUgPSBpbnQoKDEgPDwgNjMpIC0gMSkKKy0gICAgICAgIGRlbCBY CistCistCistZGVmIF9hZGRfZG9jKGZ1bmMsIGRvYyk6CistICAgICIiIkFkZCBkb2N1bWVudGF0 aW9uIHRvIGEgZnVuY3Rpb24uIiIiCistICAgIGZ1bmMuX19kb2NfXyA9IGRvYworLQorLQorLWRl ZiBfaW1wb3J0X21vZHVsZShuYW1lKToKKy0gICAgIiIiSW1wb3J0IG1vZHVsZSwgcmV0dXJuaW5n IHRoZSBtb2R1bGUgYWZ0ZXIgdGhlIGxhc3QgZG90LiIiIgorLSAgICBfX2ltcG9ydF9fKG5hbWUp CistICAgIHJldHVybiBzeXMubW9kdWxlc1tuYW1lXQorLQorLQorLWNsYXNzIF9MYXp5RGVzY3Io b2JqZWN0KToKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUpOgorLSAgICAgICAgc2Vs Zi5uYW1lID0gbmFtZQorLQorLSAgICBkZWYgX19nZXRfXyhzZWxmLCBvYmosIHRwKToKKy0gICAg ICAgIHJlc3VsdCA9IHNlbGYuX3Jlc29sdmUoKQorLSAgICAgICAgc2V0YXR0cihvYmosIHNlbGYu bmFtZSwgcmVzdWx0KSAgIyBJbnZva2VzIF9fc2V0X18uCistICAgICAgICB0cnk6CistICAgICAg ICAgICAgIyBUaGlzIGlzIGEgYml0IHVnbHksIGJ1dCBpdCBhdm9pZHMgcnVubmluZyB0aGlzIGFn YWluIGJ5CistICAgICAgICAgICAgIyByZW1vdmluZyB0aGlzIGRlc2NyaXB0b3IuCistICAgICAg ICAgICAgZGVsYXR0cihvYmouX19jbGFzc19fLCBzZWxmLm5hbWUpCistICAgICAgICBleGNlcHQg QXR0cmlidXRlRXJyb3I6CistICAgICAgICAgICAgcGFzcworLSAgICAgICAgcmV0dXJuIHJlc3Vs dAorLQorLQorLWNsYXNzIE1vdmVkTW9kdWxlKF9MYXp5RGVzY3IpOgorLQorLSAgICBkZWYgX19p bml0X18oc2VsZiwgbmFtZSwgb2xkLCBuZXc9Tm9uZSk6CistICAgICAgICBzdXBlcihNb3ZlZE1v ZHVsZSwgc2VsZikuX19pbml0X18obmFtZSkKKy0gICAgICAgIGlmIFBZMzoKKy0gICAgICAgICAg ICBpZiBuZXcgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgbmV3ID0gbmFtZQorLSAgICAgICAg ICAgIHNlbGYubW9kID0gbmV3CistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHNlbGYubW9k ID0gb2xkCistCistICAgIGRlZiBfcmVzb2x2ZShzZWxmKToKKy0gICAgICAgIHJldHVybiBfaW1w b3J0X21vZHVsZShzZWxmLm1vZCkKKy0KKy0gICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIp OgorLSAgICAgICAgX21vZHVsZSA9IHNlbGYuX3Jlc29sdmUoKQorLSAgICAgICAgdmFsdWUgPSBn ZXRhdHRyKF9tb2R1bGUsIGF0dHIpCistICAgICAgICBzZXRhdHRyKHNlbGYsIGF0dHIsIHZhbHVl KQorLSAgICAgICAgcmV0dXJuIHZhbHVlCistCistCistY2xhc3MgX0xhenlNb2R1bGUodHlwZXMu TW9kdWxlVHlwZSk6CistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKy0gICAgICAg IHN1cGVyKF9MYXp5TW9kdWxlLCBzZWxmKS5fX2luaXRfXyhuYW1lKQorLSAgICAgICAgc2VsZi5f X2RvY19fID0gc2VsZi5fX2NsYXNzX18uX19kb2NfXworLQorLSAgICBkZWYgX19kaXJfXyhzZWxm KToKKy0gICAgICAgIGF0dHJzID0gWyJfX2RvY19fIiwgIl9fbmFtZV9fIl0KKy0gICAgICAgIGF0 dHJzICs9IFthdHRyLm5hbWUgZm9yIGF0dHIgaW4gc2VsZi5fbW92ZWRfYXR0cmlidXRlc10KKy0g ICAgICAgIHJldHVybiBhdHRycworLQorLSAgICAjIFN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRl IHRoaXMKKy0gICAgX21vdmVkX2F0dHJpYnV0ZXMgPSBbXQorLQorLQorLWNsYXNzIE1vdmVkQXR0 cmlidXRlKF9MYXp5RGVzY3IpOgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgb2xk X21vZCwgbmV3X21vZCwgb2xkX2F0dHI9Tm9uZSwgbmV3X2F0dHI9Tm9uZSk6CistICAgICAgICBz dXBlcihNb3ZlZEF0dHJpYnV0ZSwgc2VsZikuX19pbml0X18obmFtZSkKKy0gICAgICAgIGlmIFBZ MzoKKy0gICAgICAgICAgICBpZiBuZXdfbW9kIGlzIE5vbmU6CistICAgICAgICAgICAgICAgIG5l d19tb2QgPSBuYW1lCistICAgICAgICAgICAgc2VsZi5tb2QgPSBuZXdfbW9kCistICAgICAgICAg ICAgaWYgbmV3X2F0dHIgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgaWYgb2xkX2F0dHIgaXMg Tm9uZToKKy0gICAgICAgICAgICAgICAgICAgIG5ld19hdHRyID0gbmFtZQorLSAgICAgICAgICAg ICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgbmV3X2F0dHIgPSBvbGRfYXR0cgorLSAg ICAgICAgICAgIHNlbGYuYXR0ciA9IG5ld19hdHRyCistICAgICAgICBlbHNlOgorLSAgICAgICAg ICAgIHNlbGYubW9kID0gb2xkX21vZAorLSAgICAgICAgICAgIGlmIG9sZF9hdHRyIGlzIE5vbmU6 CistICAgICAgICAgICAgICAgIG9sZF9hdHRyID0gbmFtZQorLSAgICAgICAgICAgIHNlbGYuYXR0 ciA9IG9sZF9hdHRyCistCistICAgIGRlZiBfcmVzb2x2ZShzZWxmKToKKy0gICAgICAgIG1vZHVs ZSA9IF9pbXBvcnRfbW9kdWxlKHNlbGYubW9kKQorLSAgICAgICAgcmV0dXJuIGdldGF0dHIobW9k dWxlLCBzZWxmLmF0dHIpCistCistCistY2xhc3MgX1NpeE1ldGFQYXRoSW1wb3J0ZXIob2JqZWN0 KToKKy0KKy0gICAgIiIiCistICAgIEEgbWV0YSBwYXRoIGltcG9ydGVyIHRvIGltcG9ydCBzaXgu bW92ZXMgYW5kIGl0cyBzdWJtb2R1bGVzLgorLQorLSAgICBUaGlzIGNsYXNzIGltcGxlbWVudHMg YSBQRVAzMDIgZmluZGVyIGFuZCBsb2FkZXIuIEl0IHNob3VsZCBiZSBjb21wYXRpYmxlCistICAg IHdpdGggUHl0aG9uIDIuNSBhbmQgYWxsIGV4aXN0aW5nIHZlcnNpb25zIG9mIFB5dGhvbjMKKy0g ICAgIiIiCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzaXhfbW9kdWxlX25hbWUpOgorLSAg ICAgICAgc2VsZi5uYW1lID0gc2l4X21vZHVsZV9uYW1lCistICAgICAgICBzZWxmLmtub3duX21v ZHVsZXMgPSB7fQorLQorLSAgICBkZWYgX2FkZF9tb2R1bGUoc2VsZiwgbW9kLCAqZnVsbG5hbWVz KToKKy0gICAgICAgIGZvciBmdWxsbmFtZSBpbiBmdWxsbmFtZXM6CistICAgICAgICAgICAgc2Vs Zi5rbm93bl9tb2R1bGVzW3NlbGYubmFtZSArICIuIiArIGZ1bGxuYW1lXSA9IG1vZAorLQorLSAg ICBkZWYgX2dldF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgorLSAgICAgICAgcmV0dXJuIHNlbGYu a25vd25fbW9kdWxlc1tzZWxmLm5hbWUgKyAiLiIgKyBmdWxsbmFtZV0KKy0KKy0gICAgZGVmIGZp bmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBwYXRoPU5vbmUpOgorLSAgICAgICAgaWYgZnVsbG5h bWUgaW4gc2VsZi5rbm93bl9tb2R1bGVzOgorLSAgICAgICAgICAgIHJldHVybiBzZWxmCistICAg ICAgICByZXR1cm4gTm9uZQorLQorLSAgICBkZWYgX19nZXRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1l KToKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5rbm93bl9tb2R1bGVz W2Z1bGxuYW1lXQorLSAgICAgICAgZXhjZXB0IEtleUVycm9yOgorLSAgICAgICAgICAgIHJhaXNl IEltcG9ydEVycm9yKCJUaGlzIGxvYWRlciBkb2VzIG5vdCBrbm93IG1vZHVsZSAiICsgZnVsbG5h bWUpCistCistICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBmdWxsbmFtZSk6CistICAgICAgICB0 cnk6CistICAgICAgICAgICAgIyBpbiBjYXNlIG9mIGEgcmVsb2FkCistICAgICAgICAgICAgcmV0 dXJuIHN5cy5tb2R1bGVzW2Z1bGxuYW1lXQorLSAgICAgICAgZXhjZXB0IEtleUVycm9yOgorLSAg ICAgICAgICAgIHBhc3MKKy0gICAgICAgIG1vZCA9IHNlbGYuX19nZXRfbW9kdWxlKGZ1bGxuYW1l KQorLSAgICAgICAgaWYgaXNpbnN0YW5jZShtb2QsIE1vdmVkTW9kdWxlKToKKy0gICAgICAgICAg ICBtb2QgPSBtb2QuX3Jlc29sdmUoKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBtb2Qu X19sb2FkZXJfXyA9IHNlbGYKKy0gICAgICAgIHN5cy5tb2R1bGVzW2Z1bGxuYW1lXSA9IG1vZAor LSAgICAgICAgcmV0dXJuIG1vZAorLQorLSAgICBkZWYgaXNfcGFja2FnZShzZWxmLCBmdWxsbmFt ZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIFJldHVybiB0cnVlLCBpZiB0aGUgbmFtZWQgbW9k dWxlIGlzIGEgcGFja2FnZS4KKy0KKy0gICAgICAgIFdlIG5lZWQgdGhpcyBtZXRob2QgdG8gZ2V0 IGNvcnJlY3Qgc3BlYyBvYmplY3RzIHdpdGgKKy0gICAgICAgIFB5dGhvbiAzLjQgKHNlZSBQRVA0 NTEpCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBoYXNhdHRyKHNlbGYuX19nZXRfbW9k dWxlKGZ1bGxuYW1lKSwgIl9fcGF0aF9fIikKKy0KKy0gICAgZGVmIGdldF9jb2RlKHNlbGYsIGZ1 bGxuYW1lKToKKy0gICAgICAgICIiIlJldHVybiBOb25lCistCistICAgICAgICBSZXF1aXJlZCwg aWYgaXNfcGFja2FnZSBpcyBpbXBsZW1lbnRlZCIiIgorLSAgICAgICAgc2VsZi5fX2dldF9tb2R1 bGUoZnVsbG5hbWUpICAjIGV2ZW50dWFsbHkgcmFpc2VzIEltcG9ydEVycm9yCistICAgICAgICBy ZXR1cm4gTm9uZQorLSAgICBnZXRfc291cmNlID0gZ2V0X2NvZGUgICMgc2FtZSBhcyBnZXRfY29k ZQorLQorLV9pbXBvcnRlciA9IF9TaXhNZXRhUGF0aEltcG9ydGVyKF9fbmFtZV9fKQorLQorLQor LWNsYXNzIF9Nb3ZlZEl0ZW1zKF9MYXp5TW9kdWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2FkaW5n IG9mIG1vdmVkIG9iamVjdHMiIiIKKy0gICAgX19wYXRoX18gPSBbXSAgIyBtYXJrIGFzIHBhY2th Z2UKKy0KKy0KKy1fbW92ZWRfYXR0cmlidXRlcyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImNT dHJpbmdJTyIsICJjU3RyaW5nSU8iLCAiaW8iLCAiU3RyaW5nSU8iKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoImZpbHRlciIsICJpdGVydG9vbHMiLCAiYnVpbHRpbnMiLCAiaWZpbHRlciIsICJmaWx0 ZXIiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImZpbHRlcmZhbHNlIiwgIml0ZXJ0b29scyIsICJp dGVydG9vbHMiLCAiaWZpbHRlcmZhbHNlIiwgImZpbHRlcmZhbHNlIiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJpbnB1dCIsICJfX2J1aWx0aW5fXyIsICJidWlsdGlucyIsICJyYXdfaW5wdXQiLCAi aW5wdXQiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImludGVybiIsICJfX2J1aWx0aW5fXyIsICJz eXMiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIm1hcCIsICJpdGVydG9vbHMiLCAiYnVpbHRpbnMi LCAiaW1hcCIsICJtYXAiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImdldGN3ZCIsICJvcyIsICJv cyIsICJnZXRjd2R1IiwgImdldGN3ZCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiZ2V0Y3dkYiIs ICJvcyIsICJvcyIsICJnZXRjd2QiLCAiZ2V0Y3dkYiIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgi cmFuZ2UiLCAiX19idWlsdGluX18iLCAiYnVpbHRpbnMiLCAieHJhbmdlIiwgInJhbmdlIiksCist ICAgIE1vdmVkQXR0cmlidXRlKCJyZWxvYWRfbW9kdWxlIiwgIl9fYnVpbHRpbl9fIiwgImltcG9y dGxpYiIgaWYgUFkzNCBlbHNlICJpbXAiLCAicmVsb2FkIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJyZWR1Y2UiLCAiX19idWlsdGluX18iLCAiZnVuY3Rvb2xzIiksCistICAgIE1vdmVkQXR0cmli dXRlKCJzaGxleF9xdW90ZSIsICJwaXBlcyIsICJzaGxleCIsICJxdW90ZSIpLAorLSAgICBNb3Zl ZEF0dHJpYnV0ZSgiU3RyaW5nSU8iLCAiU3RyaW5nSU8iLCAiaW8iKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoIlVzZXJEaWN0IiwgIlVzZXJEaWN0IiwgImNvbGxlY3Rpb25zIiksCistICAgIE1vdmVk QXR0cmlidXRlKCJVc2VyTGlzdCIsICJVc2VyTGlzdCIsICJjb2xsZWN0aW9ucyIpLAorLSAgICBN b3ZlZEF0dHJpYnV0ZSgiVXNlclN0cmluZyIsICJVc2VyU3RyaW5nIiwgImNvbGxlY3Rpb25zIiks CistICAgIE1vdmVkQXR0cmlidXRlKCJ4cmFuZ2UiLCAiX19idWlsdGluX18iLCAiYnVpbHRpbnMi LCAieHJhbmdlIiwgInJhbmdlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ6aXAiLCAiaXRlcnRv b2xzIiwgImJ1aWx0aW5zIiwgIml6aXAiLCAiemlwIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ6 aXBfbG9uZ2VzdCIsICJpdGVydG9vbHMiLCAiaXRlcnRvb2xzIiwgIml6aXBfbG9uZ2VzdCIsICJ6 aXBfbG9uZ2VzdCIpLAorLSAgICBNb3ZlZE1vZHVsZSgiYnVpbHRpbnMiLCAiX19idWlsdGluX18i KSwKKy0gICAgTW92ZWRNb2R1bGUoImNvbmZpZ3BhcnNlciIsICJDb25maWdQYXJzZXIiKSwKKy0g ICAgTW92ZWRNb2R1bGUoImNvcHlyZWciLCAiY29weV9yZWciKSwKKy0gICAgTW92ZWRNb2R1bGUo ImRibV9nbnUiLCAiZ2RibSIsICJkYm0uZ251IiksCistICAgIE1vdmVkTW9kdWxlKCJfZHVtbXlf dGhyZWFkIiwgImR1bW15X3RocmVhZCIsICJfZHVtbXlfdGhyZWFkIiksCistICAgIE1vdmVkTW9k dWxlKCJodHRwX2Nvb2tpZWphciIsICJjb29raWVsaWIiLCAiaHR0cC5jb29raWVqYXIiKSwKKy0g ICAgTW92ZWRNb2R1bGUoImh0dHBfY29va2llcyIsICJDb29raWUiLCAiaHR0cC5jb29raWVzIiks CistICAgIE1vdmVkTW9kdWxlKCJodG1sX2VudGl0aWVzIiwgImh0bWxlbnRpdHlkZWZzIiwgImh0 bWwuZW50aXRpZXMiKSwKKy0gICAgTW92ZWRNb2R1bGUoImh0bWxfcGFyc2VyIiwgIkhUTUxQYXJz ZXIiLCAiaHRtbC5wYXJzZXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoImh0dHBfY2xpZW50IiwgImh0 dHBsaWIiLCAiaHR0cC5jbGllbnQiKSwKKy0gICAgTW92ZWRNb2R1bGUoImVtYWlsX21pbWVfbXVs dGlwYXJ0IiwgImVtYWlsLk1JTUVNdWx0aXBhcnQiLCAiZW1haWwubWltZS5tdWx0aXBhcnQiKSwK Ky0gICAgTW92ZWRNb2R1bGUoImVtYWlsX21pbWVfbm9ubXVsdGlwYXJ0IiwgImVtYWlsLk1JTUVO b25NdWx0aXBhcnQiLCAiZW1haWwubWltZS5ub25tdWx0aXBhcnQiKSwKKy0gICAgTW92ZWRNb2R1 bGUoImVtYWlsX21pbWVfdGV4dCIsICJlbWFpbC5NSU1FVGV4dCIsICJlbWFpbC5taW1lLnRleHQi KSwKKy0gICAgTW92ZWRNb2R1bGUoImVtYWlsX21pbWVfYmFzZSIsICJlbWFpbC5NSU1FQmFzZSIs ICJlbWFpbC5taW1lLmJhc2UiKSwKKy0gICAgTW92ZWRNb2R1bGUoIkJhc2VIVFRQU2VydmVyIiwg IkJhc2VIVFRQU2VydmVyIiwgImh0dHAuc2VydmVyIiksCistICAgIE1vdmVkTW9kdWxlKCJDR0lI VFRQU2VydmVyIiwgIkNHSUhUVFBTZXJ2ZXIiLCAiaHR0cC5zZXJ2ZXIiKSwKKy0gICAgTW92ZWRN b2R1bGUoIlNpbXBsZUhUVFBTZXJ2ZXIiLCAiU2ltcGxlSFRUUFNlcnZlciIsICJodHRwLnNlcnZl ciIpLAorLSAgICBNb3ZlZE1vZHVsZSgiY1BpY2tsZSIsICJjUGlja2xlIiwgInBpY2tsZSIpLAor LSAgICBNb3ZlZE1vZHVsZSgicXVldWUiLCAiUXVldWUiKSwKKy0gICAgTW92ZWRNb2R1bGUoInJl cHJsaWIiLCAicmVwciIpLAorLSAgICBNb3ZlZE1vZHVsZSgic29ja2V0c2VydmVyIiwgIlNvY2tl dFNlcnZlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgiX3RocmVhZCIsICJ0aHJlYWQiLCAiX3RocmVh ZCIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlciIsICJUa2ludGVyIiksCistICAgIE1vdmVk TW9kdWxlKCJ0a2ludGVyX2RpYWxvZyIsICJEaWFsb2ciLCAidGtpbnRlci5kaWFsb2ciKSwKKy0g ICAgTW92ZWRNb2R1bGUoInRraW50ZXJfZmlsZWRpYWxvZyIsICJGaWxlRGlhbG9nIiwgInRraW50 ZXIuZmlsZWRpYWxvZyIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9zY3JvbGxlZHRleHQi LCAiU2Nyb2xsZWRUZXh0IiwgInRraW50ZXIuc2Nyb2xsZWR0ZXh0IiksCistICAgIE1vdmVkTW9k dWxlKCJ0a2ludGVyX3NpbXBsZWRpYWxvZyIsICJTaW1wbGVEaWFsb2ciLCAidGtpbnRlci5zaW1w bGVkaWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfdGl4IiwgIlRpeCIsICJ0a2lu dGVyLnRpeCIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl90dGsiLCAidHRrIiwgInRraW50 ZXIudHRrIiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX2NvbnN0YW50cyIsICJUa2NvbnN0 YW50cyIsICJ0a2ludGVyLmNvbnN0YW50cyIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9k bmQiLCAiVGtkbmQiLCAidGtpbnRlci5kbmQiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJf Y29sb3JjaG9vc2VyIiwgInRrQ29sb3JDaG9vc2VyIiwKKy0gICAgICAgICAgICAgICAgInRraW50 ZXIuY29sb3JjaG9vc2VyIiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX2NvbW1vbmRpYWxv ZyIsICJ0a0NvbW1vbkRpYWxvZyIsCistICAgICAgICAgICAgICAgICJ0a2ludGVyLmNvbW1vbmRp YWxvZyIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl90a2ZpbGVkaWFsb2ciLCAidGtGaWxl RGlhbG9nIiwgInRraW50ZXIuZmlsZWRpYWxvZyIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRl cl9mb250IiwgInRrRm9udCIsICJ0a2ludGVyLmZvbnQiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRr aW50ZXJfbWVzc2FnZWJveCIsICJ0a01lc3NhZ2VCb3giLCAidGtpbnRlci5tZXNzYWdlYm94Iiks CistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX3Rrc2ltcGxlZGlhbG9nIiwgInRrU2ltcGxlRGlh bG9nIiwKKy0gICAgICAgICAgICAgICAgInRraW50ZXIuc2ltcGxlZGlhbG9nIiksCistICAgIE1v dmVkTW9kdWxlKCJ1cmxsaWJfcGFyc2UiLCBfX25hbWVfXyArICIubW92ZXMudXJsbGliX3BhcnNl IiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZE1vZHVsZSgidXJsbGliX2Vycm9yIiwgX19u YW1lX18gKyAiLm1vdmVzLnVybGxpYl9lcnJvciIsICJ1cmxsaWIuZXJyb3IiKSwKKy0gICAgTW92 ZWRNb2R1bGUoInVybGxpYiIsIF9fbmFtZV9fICsgIi5tb3Zlcy51cmxsaWIiLCBfX25hbWVfXyAr ICIubW92ZXMudXJsbGliIiksCistICAgIE1vdmVkTW9kdWxlKCJ1cmxsaWJfcm9ib3RwYXJzZXIi LCAicm9ib3RwYXJzZXIiLCAidXJsbGliLnJvYm90cGFyc2VyIiksCistICAgIE1vdmVkTW9kdWxl KCJ4bWxycGNfY2xpZW50IiwgInhtbHJwY2xpYiIsICJ4bWxycGMuY2xpZW50IiksCistICAgIE1v dmVkTW9kdWxlKCJ4bWxycGNfc2VydmVyIiwgIlNpbXBsZVhNTFJQQ1NlcnZlciIsICJ4bWxycGMu c2VydmVyIiksCistXQorLSMgQWRkIHdpbmRvd3Mgc3BlY2lmaWMgbW9kdWxlcy4KKy1pZiBzeXMu cGxhdGZvcm0gPT0gIndpbjMyIjoKKy0gICAgX21vdmVkX2F0dHJpYnV0ZXMgKz0gWworLSAgICAg ICAgTW92ZWRNb2R1bGUoIndpbnJlZyIsICJfd2lucmVnIiksCistICAgIF0KKy0KKy1mb3IgYXR0 ciBpbiBfbW92ZWRfYXR0cmlidXRlczoKKy0gICAgc2V0YXR0cihfTW92ZWRJdGVtcywgYXR0ci5u YW1lLCBhdHRyKQorLSAgICBpZiBpc2luc3RhbmNlKGF0dHIsIE1vdmVkTW9kdWxlKToKKy0gICAg ICAgIF9pbXBvcnRlci5fYWRkX21vZHVsZShhdHRyLCAibW92ZXMuIiArIGF0dHIubmFtZSkKKy1k ZWwgYXR0cgorLQorLV9Nb3ZlZEl0ZW1zLl9tb3ZlZF9hdHRyaWJ1dGVzID0gX21vdmVkX2F0dHJp YnV0ZXMKKy0KKy1tb3ZlcyA9IF9Nb3ZlZEl0ZW1zKF9fbmFtZV9fICsgIi5tb3ZlcyIpCistX2lt cG9ydGVyLl9hZGRfbW9kdWxlKG1vdmVzLCAibW92ZXMiKQorLQorLQorLWNsYXNzIE1vZHVsZV9z aXhfbW92ZXNfdXJsbGliX3BhcnNlKF9MYXp5TW9kdWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2Fk aW5nIG9mIG1vdmVkIG9iamVjdHMgaW4gc2l4Lm1vdmVzLnVybGxpYl9wYXJzZSIiIgorLQorLQor LV91cmxsaWJfcGFyc2VfbW92ZWRfYXR0cmlidXRlcyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUo IlBhcnNlUmVzdWx0IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0 dHJpYnV0ZSgiU3BsaXRSZXN1bHQiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAg IE1vdmVkQXR0cmlidXRlKCJwYXJzZV9xcyIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwK Ky0gICAgTW92ZWRBdHRyaWJ1dGUoInBhcnNlX3FzbCIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFy c2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybGRlZnJhZyIsICJ1cmxwYXJzZSIsICJ1cmxs aWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybGpvaW4iLCAidXJscGFyc2UiLCAi dXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxwYXJzZSIsICJ1cmxwYXJz ZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybHNwbGl0IiwgInVy bHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJsdW5wYXJz ZSIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVy bHVuc3BsaXQiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmli dXRlKCJxdW90ZSIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmli dXRlKCJxdW90ZV9wbHVzIiwgInVybGxpYiIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRB dHRyaWJ1dGUoInVucXVvdGUiLCAidXJsbGliIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3Zl ZEF0dHJpYnV0ZSgidW5xdW90ZV9wbHVzIiwgInVybGxpYiIsICJ1cmxsaWIucGFyc2UiKSwKKy0g ICAgTW92ZWRBdHRyaWJ1dGUoInVybGVuY29kZSIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiks CistICAgIE1vdmVkQXR0cmlidXRlKCJzcGxpdHF1ZXJ5IiwgInVybGxpYiIsICJ1cmxsaWIucGFy c2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInNwbGl0dGFnIiwgInVybGxpYiIsICJ1cmxsaWIu cGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInNwbGl0dXNlciIsICJ1cmxsaWIiLCAidXJs bGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1c2VzX2ZyYWdtZW50IiwgInVybHBh cnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXNlc19uZXRsb2Mi LCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1c2Vz X3BhcmFtcyIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1 dGUoInVzZXNfcXVlcnkiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVk QXR0cmlidXRlKCJ1c2VzX3JlbGF0aXZlIiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAor LV0KKy1mb3IgYXR0ciBpbiBfdXJsbGliX3BhcnNlX21vdmVkX2F0dHJpYnV0ZXM6CistICAgIHNl dGF0dHIoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcGFyc2UsIGF0dHIubmFtZSwgYXR0cikKKy1k ZWwgYXR0cgorLQorLU1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3BhcnNlLl9tb3ZlZF9hdHRyaWJ1 dGVzID0gX3VybGxpYl9wYXJzZV9tb3ZlZF9hdHRyaWJ1dGVzCistCistX2ltcG9ydGVyLl9hZGRf bW9kdWxlKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3BhcnNlKF9fbmFtZV9fICsgIi5tb3Zlcy51 cmxsaWJfcGFyc2UiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgIm1vdmVzLnVybGxpYl9wYXJz ZSIsICJtb3Zlcy51cmxsaWIucGFyc2UiKQorLQorLQorLWNsYXNzIE1vZHVsZV9zaXhfbW92ZXNf dXJsbGliX2Vycm9yKF9MYXp5TW9kdWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1v dmVkIG9iamVjdHMgaW4gc2l4Lm1vdmVzLnVybGxpYl9lcnJvciIiIgorLQorLQorLV91cmxsaWJf ZXJyb3JfbW92ZWRfYXR0cmlidXRlcyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlVSTEVycm9y IiwgInVybGxpYjIiLCAidXJsbGliLmVycm9yIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQ RXJyb3IiLCAidXJsbGliMiIsICJ1cmxsaWIuZXJyb3IiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUo IkNvbnRlbnRUb29TaG9ydEVycm9yIiwgInVybGxpYiIsICJ1cmxsaWIuZXJyb3IiKSwKKy1dCist Zm9yIGF0dHIgaW4gX3VybGxpYl9lcnJvcl9tb3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBzZXRhdHRy KE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX2Vycm9yLCBhdHRyLm5hbWUsIGF0dHIpCistZGVsIGF0 dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVzX3VybGxpYl9lcnJvci5fbW92ZWRfYXR0cmlidXRlcyA9 IF91cmxsaWJfZXJyb3JfbW92ZWRfYXR0cmlidXRlcworLQorLV9pbXBvcnRlci5fYWRkX21vZHVs ZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9lcnJvcihfX25hbWVfXyArICIubW92ZXMudXJsbGli LmVycm9yIiksCistICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51cmxsaWJfZXJyb3IiLCAi bW92ZXMudXJsbGliLmVycm9yIikKKy0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxp Yl9yZXF1ZXN0KF9MYXp5TW9kdWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVk IG9iamVjdHMgaW4gc2l4Lm1vdmVzLnVybGxpYl9yZXF1ZXN0IiIiCistCistCistX3VybGxpYl9y ZXF1ZXN0X21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxvcGVu IiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImlu c3RhbGxfb3BlbmVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRB dHRyaWJ1dGUoImJ1aWxkX29wZW5lciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCist ICAgIE1vdmVkQXR0cmlidXRlKCJwYXRobmFtZTJ1cmwiLCAidXJsbGliIiwgInVybGxpYi5yZXF1 ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmwycGF0aG5hbWUiLCAidXJsbGliIiwgInVy bGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJnZXRwcm94aWVzIiwgInVybGxp YiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiUmVxdWVzdCIsICJ1 cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJPcGVuZXJE aXJlY3RvciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmli dXRlKCJIVFRQRGVmYXVsdEVycm9ySGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0 IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQUmVkaXJlY3RIYW5kbGVyIiwgInVybGxpYjIi LCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkhUVFBDb29raWVQcm9j ZXNzb3IiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0 ZSgiUHJveHlIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92 ZWRBdHRyaWJ1dGUoIkJhc2VIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwK Ky0gICAgTW92ZWRBdHRyaWJ1dGUoIkhUVFBQYXNzd29yZE1nciIsICJ1cmxsaWIyIiwgInVybGxp Yi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQUGFzc3dvcmRNZ3JXaXRoRGVm YXVsdFJlYWxtIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoIkFic3RyYWN0QmFzaWNBdXRoSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1 ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQQmFzaWNBdXRoSGFuZGxlciIsICJ1cmxs aWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJQcm94eUJhc2lj QXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0 dHJpYnV0ZSgiQWJzdHJhY3REaWdlc3RBdXRoSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5y ZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQRGlnZXN0QXV0aEhhbmRsZXIiLCAi dXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiUHJveHlE aWdlc3RBdXRoSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1v dmVkQXR0cmlidXRlKCJIVFRQSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0Iiks CistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQU0hhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIu cmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiRmlsZUhhbmRsZXIiLCAidXJsbGliMiIs ICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiRlRQSGFuZGxlciIsICJ1 cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJDYWNoZUZU UEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgiVW5rbm93bkhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAg ICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUEVycm9yUHJvY2Vzc29yIiwgInVybGxpYjIiLCAidXJsbGli LnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybHJldHJpZXZlIiwgInVybGxpYiIs ICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJsY2xlYW51cCIsICJ1 cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlVSTG9wZW5l ciIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkZh bmN5VVJMb3BlbmVyIiwgInVybGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0 dHJpYnV0ZSgicHJveHlfYnlwYXNzIiwgInVybGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLV0K Ky1mb3IgYXR0ciBpbiBfdXJsbGliX3JlcXVlc3RfbW92ZWRfYXR0cmlidXRlczoKKy0gICAgc2V0 YXR0cihNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yZXF1ZXN0LCBhdHRyLm5hbWUsIGF0dHIpCist ZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yZXF1ZXN0Ll9tb3ZlZF9hdHRy aWJ1dGVzID0gX3VybGxpYl9yZXF1ZXN0X21vdmVkX2F0dHJpYnV0ZXMKKy0KKy1faW1wb3J0ZXIu X2FkZF9tb2R1bGUoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVxdWVzdChfX25hbWVfXyArICIu bW92ZXMudXJsbGliLnJlcXVlc3QiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgIm1vdmVzLnVy bGxpYl9yZXF1ZXN0IiwgIm1vdmVzLnVybGxpYi5yZXF1ZXN0IikKKy0KKy0KKy1jbGFzcyBNb2R1 bGVfc2l4X21vdmVzX3VybGxpYl9yZXNwb25zZShfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxh enkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51cmxsaWJfcmVzcG9uc2Ui IiIKKy0KKy0KKy1fdXJsbGliX3Jlc3BvbnNlX21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1v dmVkQXR0cmlidXRlKCJhZGRiYXNlIiwgInVybGxpYiIsICJ1cmxsaWIucmVzcG9uc2UiKSwKKy0g ICAgTW92ZWRBdHRyaWJ1dGUoImFkZGNsb3NlaG9vayIsICJ1cmxsaWIiLCAidXJsbGliLnJlc3Bv bnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJhZGRpbmZvIiwgInVybGxpYiIsICJ1cmxsaWIu cmVzcG9uc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImFkZGluZm91cmwiLCAidXJsbGliIiwg InVybGxpYi5yZXNwb25zZSIpLAorLV0KKy1mb3IgYXR0ciBpbiBfdXJsbGliX3Jlc3BvbnNlX21v dmVkX2F0dHJpYnV0ZXM6CistICAgIHNldGF0dHIoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVz cG9uc2UsIGF0dHIubmFtZSwgYXR0cikKKy1kZWwgYXR0cgorLQorLU1vZHVsZV9zaXhfbW92ZXNf dXJsbGliX3Jlc3BvbnNlLl9tb3ZlZF9hdHRyaWJ1dGVzID0gX3VybGxpYl9yZXNwb25zZV9tb3Zl ZF9hdHRyaWJ1dGVzCistCistX2ltcG9ydGVyLl9hZGRfbW9kdWxlKE1vZHVsZV9zaXhfbW92ZXNf dXJsbGliX3Jlc3BvbnNlKF9fbmFtZV9fICsgIi5tb3Zlcy51cmxsaWIucmVzcG9uc2UiKSwKKy0g ICAgICAgICAgICAgICAgICAgICAgIm1vdmVzLnVybGxpYl9yZXNwb25zZSIsICJtb3Zlcy51cmxs aWIucmVzcG9uc2UiKQorLQorLQorLWNsYXNzIE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3JvYm90 cGFyc2VyKF9MYXp5TW9kdWxlKToKKy0KKy0gICAgIiIiTGF6eSBsb2FkaW5nIG9mIG1vdmVkIG9i amVjdHMgaW4gc2l4Lm1vdmVzLnVybGxpYl9yb2JvdHBhcnNlciIiIgorLQorLQorLV91cmxsaWJf cm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRlcyA9IFsKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlJv Ym90RmlsZVBhcnNlciIsICJyb2JvdHBhcnNlciIsICJ1cmxsaWIucm9ib3RwYXJzZXIiKSwKKy1d CistZm9yIGF0dHIgaW4gX3VybGxpYl9yb2JvdHBhcnNlcl9tb3ZlZF9hdHRyaWJ1dGVzOgorLSAg ICBzZXRhdHRyKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3JvYm90cGFyc2VyLCBhdHRyLm5hbWUs IGF0dHIpCistZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNl ci5fbW92ZWRfYXR0cmlidXRlcyA9IF91cmxsaWJfcm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRl cworLQorLV9pbXBvcnRlci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2Jv dHBhcnNlcihfX25hbWVfXyArICIubW92ZXMudXJsbGliLnJvYm90cGFyc2VyIiksCistICAgICAg ICAgICAgICAgICAgICAgICJtb3Zlcy51cmxsaWJfcm9ib3RwYXJzZXIiLCAibW92ZXMudXJsbGli LnJvYm90cGFyc2VyIikKKy0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYih0eXBl cy5Nb2R1bGVUeXBlKToKKy0KKy0gICAgIiIiQ3JlYXRlIGEgc2l4Lm1vdmVzLnVybGxpYiBuYW1l c3BhY2UgdGhhdCByZXNlbWJsZXMgdGhlIFB5dGhvbiAzIG5hbWVzcGFjZSIiIgorLSAgICBfX3Bh dGhfXyA9IFtdICAjIG1hcmsgYXMgcGFja2FnZQorLSAgICBwYXJzZSA9IF9pbXBvcnRlci5fZ2V0 X21vZHVsZSgibW92ZXMudXJsbGliX3BhcnNlIikKKy0gICAgZXJyb3IgPSBfaW1wb3J0ZXIuX2dl dF9tb2R1bGUoIm1vdmVzLnVybGxpYl9lcnJvciIpCistICAgIHJlcXVlc3QgPSBfaW1wb3J0ZXIu X2dldF9tb2R1bGUoIm1vdmVzLnVybGxpYl9yZXF1ZXN0IikKKy0gICAgcmVzcG9uc2UgPSBfaW1w b3J0ZXIuX2dldF9tb2R1bGUoIm1vdmVzLnVybGxpYl9yZXNwb25zZSIpCistICAgIHJvYm90cGFy c2VyID0gX2ltcG9ydGVyLl9nZXRfbW9kdWxlKCJtb3Zlcy51cmxsaWJfcm9ib3RwYXJzZXIiKQor LQorLSAgICBkZWYgX19kaXJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiBbJ3BhcnNlJywgJ2Vy cm9yJywgJ3JlcXVlc3QnLCAncmVzcG9uc2UnLCAncm9ib3RwYXJzZXInXQorLQorLV9pbXBvcnRl ci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYihfX25hbWVfXyArICIubW92ZXMu dXJsbGliIiksCistICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51cmxsaWIiKQorLQorLQor LWRlZiBhZGRfbW92ZShtb3ZlKToKKy0gICAgIiIiQWRkIGFuIGl0ZW0gdG8gc2l4Lm1vdmVzLiIi IgorLSAgICBzZXRhdHRyKF9Nb3ZlZEl0ZW1zLCBtb3ZlLm5hbWUsIG1vdmUpCistCistCistZGVm IHJlbW92ZV9tb3ZlKG5hbWUpOgorLSAgICAiIiJSZW1vdmUgaXRlbSBmcm9tIHNpeC5tb3Zlcy4i IiIKKy0gICAgdHJ5OgorLSAgICAgICAgZGVsYXR0cihfTW92ZWRJdGVtcywgbmFtZSkKKy0gICAg ZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIGRlbCBt b3Zlcy5fX2RpY3RfX1tuYW1lXQorLSAgICAgICAgZXhjZXB0IEtleUVycm9yOgorLSAgICAgICAg ICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJubyBzdWNoIG1vdmUsICVyIiAlIChuYW1lLCkpCist CistCistaWYgUFkzOgorLSAgICBfbWV0aF9mdW5jID0gIl9fZnVuY19fIgorLSAgICBfbWV0aF9z ZWxmID0gIl9fc2VsZl9fIgorLQorLSAgICBfZnVuY19jbG9zdXJlID0gIl9fY2xvc3VyZV9fIgor LSAgICBfZnVuY19jb2RlID0gIl9fY29kZV9fIgorLSAgICBfZnVuY19kZWZhdWx0cyA9ICJfX2Rl ZmF1bHRzX18iCistICAgIF9mdW5jX2dsb2JhbHMgPSAiX19nbG9iYWxzX18iCistZWxzZToKKy0g ICAgX21ldGhfZnVuYyA9ICJpbV9mdW5jIgorLSAgICBfbWV0aF9zZWxmID0gImltX3NlbGYiCist CistICAgIF9mdW5jX2Nsb3N1cmUgPSAiZnVuY19jbG9zdXJlIgorLSAgICBfZnVuY19jb2RlID0g ImZ1bmNfY29kZSIKKy0gICAgX2Z1bmNfZGVmYXVsdHMgPSAiZnVuY19kZWZhdWx0cyIKKy0gICAg X2Z1bmNfZ2xvYmFscyA9ICJmdW5jX2dsb2JhbHMiCistCistCistdHJ5OgorLSAgICBhZHZhbmNl X2l0ZXJhdG9yID0gbmV4dAorLWV4Y2VwdCBOYW1lRXJyb3I6CistICAgIGRlZiBhZHZhbmNlX2l0 ZXJhdG9yKGl0KToKKy0gICAgICAgIHJldHVybiBpdC5uZXh0KCkKKy1uZXh0ID0gYWR2YW5jZV9p dGVyYXRvcgorLQorLQorLXRyeToKKy0gICAgY2FsbGFibGUgPSBjYWxsYWJsZQorLWV4Y2VwdCBO YW1lRXJyb3I6CistICAgIGRlZiBjYWxsYWJsZShvYmopOgorLSAgICAgICAgcmV0dXJuIGFueSgi X19jYWxsX18iIGluIGtsYXNzLl9fZGljdF9fIGZvciBrbGFzcyBpbiB0eXBlKG9iaikuX19tcm9f XykKKy0KKy0KKy1pZiBQWTM6CistICAgIGRlZiBnZXRfdW5ib3VuZF9mdW5jdGlvbih1bmJvdW5k KToKKy0gICAgICAgIHJldHVybiB1bmJvdW5kCistCistICAgIGNyZWF0ZV9ib3VuZF9tZXRob2Qg PSB0eXBlcy5NZXRob2RUeXBlCistCistICAgIGRlZiBjcmVhdGVfdW5ib3VuZF9tZXRob2QoZnVu YywgY2xzKToKKy0gICAgICAgIHJldHVybiBmdW5jCistCistICAgIEl0ZXJhdG9yID0gb2JqZWN0 CistZWxzZToKKy0gICAgZGVmIGdldF91bmJvdW5kX2Z1bmN0aW9uKHVuYm91bmQpOgorLSAgICAg ICAgcmV0dXJuIHVuYm91bmQuaW1fZnVuYworLQorLSAgICBkZWYgY3JlYXRlX2JvdW5kX21ldGhv ZChmdW5jLCBvYmopOgorLSAgICAgICAgcmV0dXJuIHR5cGVzLk1ldGhvZFR5cGUoZnVuYywgb2Jq LCBvYmouX19jbGFzc19fKQorLQorLSAgICBkZWYgY3JlYXRlX3VuYm91bmRfbWV0aG9kKGZ1bmMs IGNscyk6CistICAgICAgICByZXR1cm4gdHlwZXMuTWV0aG9kVHlwZShmdW5jLCBOb25lLCBjbHMp CistCistICAgIGNsYXNzIEl0ZXJhdG9yKG9iamVjdCk6CistCistICAgICAgICBkZWYgbmV4dChz ZWxmKToKKy0gICAgICAgICAgICByZXR1cm4gdHlwZShzZWxmKS5fX25leHRfXyhzZWxmKQorLQor LSAgICBjYWxsYWJsZSA9IGNhbGxhYmxlCistX2FkZF9kb2MoZ2V0X3VuYm91bmRfZnVuY3Rpb24s CistICAgICAgICAgIiIiR2V0IHRoZSBmdW5jdGlvbiBvdXQgb2YgYSBwb3NzaWJseSB1bmJvdW5k IGZ1bmN0aW9uIiIiKQorLQorLQorLWdldF9tZXRob2RfZnVuY3Rpb24gPSBvcGVyYXRvci5hdHRy Z2V0dGVyKF9tZXRoX2Z1bmMpCistZ2V0X21ldGhvZF9zZWxmID0gb3BlcmF0b3IuYXR0cmdldHRl cihfbWV0aF9zZWxmKQorLWdldF9mdW5jdGlvbl9jbG9zdXJlID0gb3BlcmF0b3IuYXR0cmdldHRl cihfZnVuY19jbG9zdXJlKQorLWdldF9mdW5jdGlvbl9jb2RlID0gb3BlcmF0b3IuYXR0cmdldHRl cihfZnVuY19jb2RlKQorLWdldF9mdW5jdGlvbl9kZWZhdWx0cyA9IG9wZXJhdG9yLmF0dHJnZXR0 ZXIoX2Z1bmNfZGVmYXVsdHMpCistZ2V0X2Z1bmN0aW9uX2dsb2JhbHMgPSBvcGVyYXRvci5hdHRy Z2V0dGVyKF9mdW5jX2dsb2JhbHMpCistCistCistaWYgUFkzOgorLSAgICBkZWYgaXRlcmtleXMo ZCwgKiprdyk6CistICAgICAgICByZXR1cm4gaXRlcihkLmtleXMoKiprdykpCistCistICAgIGRl ZiBpdGVydmFsdWVzKGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGl0ZXIoZC52YWx1ZXMoKipr dykpCistCistICAgIGRlZiBpdGVyaXRlbXMoZCwgKiprdyk6CistICAgICAgICByZXR1cm4gaXRl cihkLml0ZW1zKCoqa3cpKQorLQorLSAgICBkZWYgaXRlcmxpc3RzKGQsICoqa3cpOgorLSAgICAg ICAgcmV0dXJuIGl0ZXIoZC5saXN0cygqKmt3KSkKKy0KKy0gICAgdmlld2tleXMgPSBvcGVyYXRv ci5tZXRob2RjYWxsZXIoImtleXMiKQorLQorLSAgICB2aWV3dmFsdWVzID0gb3BlcmF0b3IubWV0 aG9kY2FsbGVyKCJ2YWx1ZXMiKQorLQorLSAgICB2aWV3aXRlbXMgPSBvcGVyYXRvci5tZXRob2Rj YWxsZXIoIml0ZW1zIikKKy1lbHNlOgorLSAgICBkZWYgaXRlcmtleXMoZCwgKiprdyk6CistICAg ICAgICByZXR1cm4gZC5pdGVya2V5cygqKmt3KQorLQorLSAgICBkZWYgaXRlcnZhbHVlcyhkLCAq Kmt3KToKKy0gICAgICAgIHJldHVybiBkLml0ZXJ2YWx1ZXMoKiprdykKKy0KKy0gICAgZGVmIGl0 ZXJpdGVtcyhkLCAqKmt3KToKKy0gICAgICAgIHJldHVybiBkLml0ZXJpdGVtcygqKmt3KQorLQor LSAgICBkZWYgaXRlcmxpc3RzKGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGQuaXRlcmxpc3Rz KCoqa3cpCistCistICAgIHZpZXdrZXlzID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2aWV3a2V5 cyIpCistCistICAgIHZpZXd2YWx1ZXMgPSBvcGVyYXRvci5tZXRob2RjYWxsZXIoInZpZXd2YWx1 ZXMiKQorLQorLSAgICB2aWV3aXRlbXMgPSBvcGVyYXRvci5tZXRob2RjYWxsZXIoInZpZXdpdGVt cyIpCistCistX2FkZF9kb2MoaXRlcmtleXMsICJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUg a2V5cyBvZiBhIGRpY3Rpb25hcnkuIikKKy1fYWRkX2RvYyhpdGVydmFsdWVzLCAiUmV0dXJuIGFu IGl0ZXJhdG9yIG92ZXIgdGhlIHZhbHVlcyBvZiBhIGRpY3Rpb25hcnkuIikKKy1fYWRkX2RvYyhp dGVyaXRlbXMsCistICAgICAgICAgIlJldHVybiBhbiBpdGVyYXRvciBvdmVyIHRoZSAoa2V5LCB2 YWx1ZSkgcGFpcnMgb2YgYSBkaWN0aW9uYXJ5LiIpCistX2FkZF9kb2MoaXRlcmxpc3RzLAorLSAg ICAgICAgICJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUgKGtleSwgW3ZhbHVlc10pIHBhaXJz IG9mIGEgZGljdGlvbmFyeS4iKQorLQorLQorLWlmIFBZMzoKKy0gICAgZGVmIGIocyk6CistICAg ICAgICByZXR1cm4gcy5lbmNvZGUoImxhdGluLTEiKQorLQorLSAgICBkZWYgdShzKToKKy0gICAg ICAgIHJldHVybiBzCistICAgIHVuaWNociA9IGNocgorLSAgICBpbXBvcnQgc3RydWN0CistICAg IGludDJieXRlID0gc3RydWN0LlN0cnVjdCgiPkIiKS5wYWNrCistICAgIGRlbCBzdHJ1Y3QKKy0g ICAgYnl0ZTJpbnQgPSBvcGVyYXRvci5pdGVtZ2V0dGVyKDApCistICAgIGluZGV4Ynl0ZXMgPSBv cGVyYXRvci5nZXRpdGVtCistICAgIGl0ZXJieXRlcyA9IGl0ZXIKKy0gICAgaW1wb3J0IGlvCist ICAgIFN0cmluZ0lPID0gaW8uU3RyaW5nSU8KKy0gICAgQnl0ZXNJTyA9IGlvLkJ5dGVzSU8KKy0g ICAgX2Fzc2VydENvdW50RXF1YWwgPSAiYXNzZXJ0Q291bnRFcXVhbCIKKy0gICAgaWYgc3lzLnZl cnNpb25faW5mb1sxXSA8PSAxOgorLSAgICAgICAgX2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2Vy dFJhaXNlc1JlZ2V4cCIKKy0gICAgICAgIF9hc3NlcnRSZWdleCA9ICJhc3NlcnRSZWdleHBNYXRj aGVzIgorLSAgICBlbHNlOgorLSAgICAgICAgX2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2VydFJh aXNlc1JlZ2V4IgorLSAgICAgICAgX2Fzc2VydFJlZ2V4ID0gImFzc2VydFJlZ2V4IgorLWVsc2U6 CistICAgIGRlZiBiKHMpOgorLSAgICAgICAgcmV0dXJuIHMKKy0gICAgIyBXb3JrYXJvdW5kIGZv ciBzdGFuZGFsb25lIGJhY2tzbGFzaAorLQorLSAgICBkZWYgdShzKToKKy0gICAgICAgIHJldHVy biB1bmljb2RlKHMucmVwbGFjZShyJ1xcJywgcidcXFxcJyksICJ1bmljb2RlX2VzY2FwZSIpCist ICAgIHVuaWNociA9IHVuaWNocgorLSAgICBpbnQyYnl0ZSA9IGNocgorLQorLSAgICBkZWYgYnl0 ZTJpbnQoYnMpOgorLSAgICAgICAgcmV0dXJuIG9yZChic1swXSkKKy0KKy0gICAgZGVmIGluZGV4 Ynl0ZXMoYnVmLCBpKToKKy0gICAgICAgIHJldHVybiBvcmQoYnVmW2ldKQorLSAgICBpdGVyYnl0 ZXMgPSBmdW5jdG9vbHMucGFydGlhbChpdGVydG9vbHMuaW1hcCwgb3JkKQorLSAgICBpbXBvcnQg U3RyaW5nSU8KKy0gICAgU3RyaW5nSU8gPSBCeXRlc0lPID0gU3RyaW5nSU8uU3RyaW5nSU8KKy0g ICAgX2Fzc2VydENvdW50RXF1YWwgPSAiYXNzZXJ0SXRlbXNFcXVhbCIKKy0gICAgX2Fzc2VydFJh aXNlc1JlZ2V4ID0gImFzc2VydFJhaXNlc1JlZ2V4cCIKKy0gICAgX2Fzc2VydFJlZ2V4ID0gImFz c2VydFJlZ2V4cE1hdGNoZXMiCistX2FkZF9kb2MoYiwgIiIiQnl0ZSBsaXRlcmFsIiIiKQorLV9h ZGRfZG9jKHUsICIiIlRleHQgbGl0ZXJhbCIiIikKKy0KKy0KKy1kZWYgYXNzZXJ0Q291bnRFcXVh bChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBfYXNz ZXJ0Q291bnRFcXVhbCkoKmFyZ3MsICoqa3dhcmdzKQorLQorLQorLWRlZiBhc3NlcnRSYWlzZXNS ZWdleChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBf YXNzZXJ0UmFpc2VzUmVnZXgpKCphcmdzLCAqKmt3YXJncykKKy0KKy0KKy1kZWYgYXNzZXJ0UmVn ZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fz c2VydFJlZ2V4KSgqYXJncywgKiprd2FyZ3MpCistCistCistaWYgUFkzOgorLSAgICBleGVjXyA9 IGdldGF0dHIobW92ZXMuYnVpbHRpbnMsICJleGVjIikKKy0KKy0gICAgZGVmIHJlcmFpc2UodHAs IHZhbHVlLCB0Yj1Ob25lKToKKy0gICAgICAgIGlmIHZhbHVlIGlzIE5vbmU6CistICAgICAgICAg ICAgdmFsdWUgPSB0cCgpCistICAgICAgICBpZiB2YWx1ZS5fX3RyYWNlYmFja19fIGlzIG5vdCB0 YjoKKy0gICAgICAgICAgICByYWlzZSB2YWx1ZS53aXRoX3RyYWNlYmFjayh0YikKKy0gICAgICAg IHJhaXNlIHZhbHVlCistCistZWxzZToKKy0gICAgZGVmIGV4ZWNfKF9jb2RlXywgX2dsb2JzXz1O b25lLCBfbG9jc189Tm9uZSk6CistICAgICAgICAiIiJFeGVjdXRlIGNvZGUgaW4gYSBuYW1lc3Bh Y2UuIiIiCistICAgICAgICBpZiBfZ2xvYnNfIGlzIE5vbmU6CistICAgICAgICAgICAgZnJhbWUg PSBzeXMuX2dldGZyYW1lKDEpCistICAgICAgICAgICAgX2dsb2JzXyA9IGZyYW1lLmZfZ2xvYmFs cworLSAgICAgICAgICAgIGlmIF9sb2NzXyBpcyBOb25lOgorLSAgICAgICAgICAgICAgICBfbG9j c18gPSBmcmFtZS5mX2xvY2FscworLSAgICAgICAgICAgIGRlbCBmcmFtZQorLSAgICAgICAgZWxp ZiBfbG9jc18gaXMgTm9uZToKKy0gICAgICAgICAgICBfbG9jc18gPSBfZ2xvYnNfCistICAgICAg ICBleGVjKCIiImV4ZWMgX2NvZGVfIGluIF9nbG9ic18sIF9sb2NzXyIiIikKKy0KKy0gICAgZXhl Y18oIiIiZGVmIHJlcmFpc2UodHAsIHZhbHVlLCB0Yj1Ob25lKToKKy0gICAgcmFpc2UgdHAsIHZh bHVlLCB0YgorLSIiIikKKy0KKy0KKy1pZiBzeXMudmVyc2lvbl9pbmZvWzoyXSA9PSAoMywgMik6 CistICAgIGV4ZWNfKCIiImRlZiByYWlzZV9mcm9tKHZhbHVlLCBmcm9tX3ZhbHVlKToKKy0gICAg aWYgZnJvbV92YWx1ZSBpcyBOb25lOgorLSAgICAgICAgcmFpc2UgdmFsdWUKKy0gICAgcmFpc2Ug dmFsdWUgZnJvbSBmcm9tX3ZhbHVlCistIiIiKQorLWVsaWYgc3lzLnZlcnNpb25faW5mb1s6Ml0g PiAoMywgMik6CistICAgIGV4ZWNfKCIiImRlZiByYWlzZV9mcm9tKHZhbHVlLCBmcm9tX3ZhbHVl KToKKy0gICAgcmFpc2UgdmFsdWUgZnJvbSBmcm9tX3ZhbHVlCistIiIiKQorLWVsc2U6CistICAg IGRlZiByYWlzZV9mcm9tKHZhbHVlLCBmcm9tX3ZhbHVlKToKKy0gICAgICAgIHJhaXNlIHZhbHVl CistCistCistcHJpbnRfID0gZ2V0YXR0cihtb3Zlcy5idWlsdGlucywgInByaW50IiwgTm9uZSkK Ky1pZiBwcmludF8gaXMgTm9uZToKKy0gICAgZGVmIHByaW50XygqYXJncywgKiprd2FyZ3MpOgor LSAgICAgICAgIiIiVGhlIG5ldy1zdHlsZSBwcmludCBmdW5jdGlvbiBmb3IgUHl0aG9uIDIuNCBh bmQgMi41LiIiIgorLSAgICAgICAgZnAgPSBrd2FyZ3MucG9wKCJmaWxlIiwgc3lzLnN0ZG91dCkK Ky0gICAgICAgIGlmIGZwIGlzIE5vbmU6CistICAgICAgICAgICAgcmV0dXJuCistCistICAgICAg ICBkZWYgd3JpdGUoZGF0YSk6CistICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwg YmFzZXN0cmluZyk6CistICAgICAgICAgICAgICAgIGRhdGEgPSBzdHIoZGF0YSkKKy0gICAgICAg ICAgICAjIElmIHRoZSBmaWxlIGhhcyBhbiBlbmNvZGluZywgZW5jb2RlIHVuaWNvZGUgd2l0aCBp dC4KKy0gICAgICAgICAgICBpZiAoaXNpbnN0YW5jZShmcCwgZmlsZSkgYW5kCistICAgICAgICAg ICAgICAgICAgICBpc2luc3RhbmNlKGRhdGEsIHVuaWNvZGUpIGFuZAorLSAgICAgICAgICAgICAg ICAgICAgZnAuZW5jb2RpbmcgaXMgbm90IE5vbmUpOgorLSAgICAgICAgICAgICAgICBlcnJvcnMg PSBnZXRhdHRyKGZwLCAiZXJyb3JzIiwgTm9uZSkKKy0gICAgICAgICAgICAgICAgaWYgZXJyb3Jz IGlzIE5vbmU6CistICAgICAgICAgICAgICAgICAgICBlcnJvcnMgPSAic3RyaWN0IgorLSAgICAg ICAgICAgICAgICBkYXRhID0gZGF0YS5lbmNvZGUoZnAuZW5jb2RpbmcsIGVycm9ycykKKy0gICAg ICAgICAgICBmcC53cml0ZShkYXRhKQorLSAgICAgICAgd2FudF91bmljb2RlID0gRmFsc2UKKy0g ICAgICAgIHNlcCA9IGt3YXJncy5wb3AoInNlcCIsIE5vbmUpCistICAgICAgICBpZiBzZXAgaXMg bm90IE5vbmU6CistICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzZXAsIHVuaWNvZGUpOgorLSAg ICAgICAgICAgICAgICB3YW50X3VuaWNvZGUgPSBUcnVlCistICAgICAgICAgICAgZWxpZiBub3Qg aXNpbnN0YW5jZShzZXAsIHN0cik6CistICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigi c2VwIG11c3QgYmUgTm9uZSBvciBhIHN0cmluZyIpCistICAgICAgICBlbmQgPSBrd2FyZ3MucG9w KCJlbmQiLCBOb25lKQorLSAgICAgICAgaWYgZW5kIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAg IGlmIGlzaW5zdGFuY2UoZW5kLCB1bmljb2RlKToKKy0gICAgICAgICAgICAgICAgd2FudF91bmlj b2RlID0gVHJ1ZQorLSAgICAgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZW5kLCBzdHIpOgor LSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImVuZCBtdXN0IGJlIE5vbmUgb3IgYSBz dHJpbmciKQorLSAgICAgICAgaWYga3dhcmdzOgorLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJv cigiaW52YWxpZCBrZXl3b3JkIGFyZ3VtZW50cyB0byBwcmludCgpIikKKy0gICAgICAgIGlmIG5v dCB3YW50X3VuaWNvZGU6CistICAgICAgICAgICAgZm9yIGFyZyBpbiBhcmdzOgorLSAgICAgICAg ICAgICAgICBpZiBpc2luc3RhbmNlKGFyZywgdW5pY29kZSk6CistICAgICAgICAgICAgICAgICAg ICB3YW50X3VuaWNvZGUgPSBUcnVlCistICAgICAgICAgICAgICAgICAgICBicmVhaworLSAgICAg ICAgaWYgd2FudF91bmljb2RlOgorLSAgICAgICAgICAgIG5ld2xpbmUgPSB1bmljb2RlKCJcbiIp CistICAgICAgICAgICAgc3BhY2UgPSB1bmljb2RlKCIgIikKKy0gICAgICAgIGVsc2U6CistICAg ICAgICAgICAgbmV3bGluZSA9ICJcbiIKKy0gICAgICAgICAgICBzcGFjZSA9ICIgIgorLSAgICAg ICAgaWYgc2VwIGlzIE5vbmU6CistICAgICAgICAgICAgc2VwID0gc3BhY2UKKy0gICAgICAgIGlm IGVuZCBpcyBOb25lOgorLSAgICAgICAgICAgIGVuZCA9IG5ld2xpbmUKKy0gICAgICAgIGZvciBp LCBhcmcgaW4gZW51bWVyYXRlKGFyZ3MpOgorLSAgICAgICAgICAgIGlmIGk6CistICAgICAgICAg ICAgICAgIHdyaXRlKHNlcCkKKy0gICAgICAgICAgICB3cml0ZShhcmcpCistICAgICAgICB3cml0 ZShlbmQpCistaWYgc3lzLnZlcnNpb25faW5mb1s6Ml0gPCAoMywgMyk6CistICAgIF9wcmludCA9 IHByaW50XworLQorLSAgICBkZWYgcHJpbnRfKCphcmdzLCAqKmt3YXJncyk6CistICAgICAgICBm cCA9IGt3YXJncy5nZXQoImZpbGUiLCBzeXMuc3Rkb3V0KQorLSAgICAgICAgZmx1c2ggPSBrd2Fy Z3MucG9wKCJmbHVzaCIsIEZhbHNlKQorLSAgICAgICAgX3ByaW50KCphcmdzLCAqKmt3YXJncykK Ky0gICAgICAgIGlmIGZsdXNoIGFuZCBmcCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICBmcC5m bHVzaCgpCistCistX2FkZF9kb2MocmVyYWlzZSwgIiIiUmVyYWlzZSBhbiBleGNlcHRpb24uIiIi KQorLQorLWlmIHN5cy52ZXJzaW9uX2luZm9bMDoyXSA8ICgzLCA0KToKKy0gICAgZGVmIHdyYXBz KHdyYXBwZWQsIGFzc2lnbmVkPWZ1bmN0b29scy5XUkFQUEVSX0FTU0lHTk1FTlRTLAorLSAgICAg ICAgICAgICAgdXBkYXRlZD1mdW5jdG9vbHMuV1JBUFBFUl9VUERBVEVTKToKKy0gICAgICAgIGRl ZiB3cmFwcGVyKGYpOgorLSAgICAgICAgICAgIGYgPSBmdW5jdG9vbHMud3JhcHMod3JhcHBlZCwg YXNzaWduZWQsIHVwZGF0ZWQpKGYpCistICAgICAgICAgICAgZi5fX3dyYXBwZWRfXyA9IHdyYXBw ZWQKKy0gICAgICAgICAgICByZXR1cm4gZgorLSAgICAgICAgcmV0dXJuIHdyYXBwZXIKKy1lbHNl OgorLSAgICB3cmFwcyA9IGZ1bmN0b29scy53cmFwcworLQorLQorLWRlZiB3aXRoX21ldGFjbGFz cyhtZXRhLCAqYmFzZXMpOgorLSAgICAiIiJDcmVhdGUgYSBiYXNlIGNsYXNzIHdpdGggYSBtZXRh Y2xhc3MuIiIiCistICAgICMgVGhpcyByZXF1aXJlcyBhIGJpdCBvZiBleHBsYW5hdGlvbjogdGhl IGJhc2ljIGlkZWEgaXMgdG8gbWFrZSBhIGR1bW15CistICAgICMgbWV0YWNsYXNzIGZvciBvbmUg bGV2ZWwgb2YgY2xhc3MgaW5zdGFudGlhdGlvbiB0aGF0IHJlcGxhY2VzIGl0c2VsZiB3aXRoCist ICAgICMgdGhlIGFjdHVhbCBtZXRhY2xhc3MuCistICAgIGNsYXNzIG1ldGFjbGFzcyhtZXRhKToK Ky0KKy0gICAgICAgIGRlZiBfX25ld19fKGNscywgbmFtZSwgdGhpc19iYXNlcywgZCk6CistICAg ICAgICAgICAgcmV0dXJuIG1ldGEobmFtZSwgYmFzZXMsIGQpCistICAgIHJldHVybiB0eXBlLl9f bmV3X18obWV0YWNsYXNzLCAndGVtcG9yYXJ5X2NsYXNzJywgKCksIHt9KQorLQorLQorLWRlZiBh ZGRfbWV0YWNsYXNzKG1ldGFjbGFzcyk6CistICAgICIiIkNsYXNzIGRlY29yYXRvciBmb3IgY3Jl YXRpbmcgYSBjbGFzcyB3aXRoIGEgbWV0YWNsYXNzLiIiIgorLSAgICBkZWYgd3JhcHBlcihjbHMp OgorLSAgICAgICAgb3JpZ192YXJzID0gY2xzLl9fZGljdF9fLmNvcHkoKQorLSAgICAgICAgc2xv dHMgPSBvcmlnX3ZhcnMuZ2V0KCdfX3Nsb3RzX18nKQorLSAgICAgICAgaWYgc2xvdHMgaXMgbm90 IE5vbmU6CistICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzbG90cywgc3RyKToKKy0gICAgICAg ICAgICAgICAgc2xvdHMgPSBbc2xvdHNdCistICAgICAgICAgICAgZm9yIHNsb3RzX3ZhciBpbiBz bG90czoKKy0gICAgICAgICAgICAgICAgb3JpZ192YXJzLnBvcChzbG90c192YXIpCistICAgICAg ICBvcmlnX3ZhcnMucG9wKCdfX2RpY3RfXycsIE5vbmUpCistICAgICAgICBvcmlnX3ZhcnMucG9w KCdfX3dlYWtyZWZfXycsIE5vbmUpCistICAgICAgICByZXR1cm4gbWV0YWNsYXNzKGNscy5fX25h bWVfXywgY2xzLl9fYmFzZXNfXywgb3JpZ192YXJzKQorLSAgICByZXR1cm4gd3JhcHBlcgorLQor LQorLWRlZiBweXRob25fMl91bmljb2RlX2NvbXBhdGlibGUoa2xhc3MpOgorLSAgICAiIiIKKy0g ICAgQSBkZWNvcmF0b3IgdGhhdCBkZWZpbmVzIF9fdW5pY29kZV9fIGFuZCBfX3N0cl9fIG1ldGhv ZHMgdW5kZXIgUHl0aG9uIDIuCistICAgIFVuZGVyIFB5dGhvbiAzIGl0IGRvZXMgbm90aGluZy4K Ky0KKy0gICAgVG8gc3VwcG9ydCBQeXRob24gMiBhbmQgMyB3aXRoIGEgc2luZ2xlIGNvZGUgYmFz ZSwgZGVmaW5lIGEgX19zdHJfXyBtZXRob2QKKy0gICAgcmV0dXJuaW5nIHRleHQgYW5kIGFwcGx5 IHRoaXMgZGVjb3JhdG9yIHRvIHRoZSBjbGFzcy4KKy0gICAgIiIiCistICAgIGlmIFBZMjoKKy0g ICAgICAgIGlmICdfX3N0cl9fJyBub3QgaW4ga2xhc3MuX19kaWN0X186CistICAgICAgICAgICAg cmFpc2UgVmFsdWVFcnJvcigiQHB5dGhvbl8yX3VuaWNvZGVfY29tcGF0aWJsZSBjYW5ub3QgYmUg YXBwbGllZCAiCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG8gJXMgYmVjYXVzZSBp dCBkb2Vzbid0IGRlZmluZSBfX3N0cl9fKCkuIiAlCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBrbGFzcy5fX25hbWVfXykKKy0gICAgICAgIGtsYXNzLl9fdW5pY29kZV9fID0ga2xhc3Mu X19zdHJfXworLSAgICAgICAga2xhc3MuX19zdHJfXyA9IGxhbWJkYSBzZWxmOiBzZWxmLl9fdW5p Y29kZV9fKCkuZW5jb2RlKCd1dGYtOCcpCistICAgIHJldHVybiBrbGFzcworLQorLQorLSMgQ29t cGxldGUgdGhlIG1vdmVzIGltcGxlbWVudGF0aW9uLgorLSMgVGhpcyBjb2RlIGlzIGF0IHRoZSBl bmQgb2YgdGhpcyBtb2R1bGUgdG8gc3BlZWQgdXAgbW9kdWxlIGxvYWRpbmcuCistIyBUdXJuIHRo aXMgbW9kdWxlIGludG8gYSBwYWNrYWdlLgorLV9fcGF0aF9fID0gW10gICMgcmVxdWlyZWQgZm9y IFBFUCAzMDIgYW5kIFBFUCA0NTEKKy1fX3BhY2thZ2VfXyA9IF9fbmFtZV9fICAjIHNlZSBQRVAg MzY2IEBSZXNlcnZlZEFzc2lnbm1lbnQKKy1pZiBnbG9iYWxzKCkuZ2V0KCJfX3NwZWNfXyIpIGlz IG5vdCBOb25lOgorLSAgICBfX3NwZWNfXy5zdWJtb2R1bGVfc2VhcmNoX2xvY2F0aW9ucyA9IFtd ICAjIFBFUCA0NTEgQFVuZGVmaW5lZFZhcmlhYmxlCistIyBSZW1vdmUgb3RoZXIgc2l4IG1ldGEg cGF0aCBpbXBvcnRlcnMsIHNpbmNlIHRoZXkgY2F1c2UgcHJvYmxlbXMuIFRoaXMgY2FuCistIyBo YXBwZW4gaWYgc2l4IGlzIHJlbW92ZWQgZnJvbSBzeXMubW9kdWxlcyBhbmQgdGhlbiByZWxvYWRl ZC4gKFNldHVwdG9vbHMgZG9lcworLSMgdGhpcyBmb3Igc29tZSByZWFzb24uKQorLWlmIHN5cy5t ZXRhX3BhdGg6CistICAgIGZvciBpLCBpbXBvcnRlciBpbiBlbnVtZXJhdGUoc3lzLm1ldGFfcGF0 aCk6CistICAgICAgICAjIEhlcmUncyBzb21lIHJlYWwgbmFzdGluZXNzOiBBbm90aGVyICJpbnN0 YW5jZSIgb2YgdGhlIHNpeCBtb2R1bGUgbWlnaHQKKy0gICAgICAgICMgYmUgZmxvYXRpbmcgYXJv dW5kLiBUaGVyZWZvcmUsIHdlIGNhbid0IHVzZSBpc2luc3RhbmNlKCkgdG8gY2hlY2sgZm9yCist ICAgICAgICAjIHRoZSBzaXggbWV0YSBwYXRoIGltcG9ydGVyLCBzaW5jZSB0aGUgb3RoZXIgc2l4 IGluc3RhbmNlIHdpbGwgaGF2ZQorLSAgICAgICAgIyBpbnNlcnRlZCBhbiBpbXBvcnRlciB3aXRo IGRpZmZlcmVudCBjbGFzcy4KKy0gICAgICAgIGlmICh0eXBlKGltcG9ydGVyKS5fX25hbWVfXyA9 PSAiX1NpeE1ldGFQYXRoSW1wb3J0ZXIiIGFuZAorLSAgICAgICAgICAgICAgICBpbXBvcnRlci5u YW1lID09IF9fbmFtZV9fKToKKy0gICAgICAgICAgICBkZWwgc3lzLm1ldGFfcGF0aFtpXQorLSAg ICAgICAgICAgIGJyZWFrCistICAgIGRlbCBpLCBpbXBvcnRlcgorLSMgRmluYWxseSwgYWRkIHRo ZSBpbXBvcnRlciB0byB0aGUgbWV0YSBwYXRoIGltcG9ydCBob29rLgorLXN5cy5tZXRhX3BhdGgu YXBwZW5kKF9pbXBvcnRlcikKK2RpZmYgLS1naXQgYS90YXNrcy9kb2NzLnB5IGIvdGFza3MvZG9j cy5weQoraW5kZXggMzM2MDI3OS4uNzdjMWQ4MyAxMDA2NDQKKy0tLSBhL3Rhc2tzL2RvY3MucHkK KysrKyBiL3Rhc2tzL2RvY3MucHkKK0BAIC0xMSw3ICsxMSw4IEBAIGZyb20gaW52b2tlLnV0aWwg aW1wb3J0IGNkCisgZnJvbSBwYXRoIGltcG9ydCBQYXRoCisgCisgIyAtLSBUQVNLLUxJQlJBUlk6 CistZnJvbSAuX3Rhc2tsZXRfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9k aXJzCisrIyBQUkVQQVJFRDogZnJvbSBpbnZva2VfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNr cywgY2xlYW51cF9kaXJzCisrZnJvbSAuaW52b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFz a3MsIGNsZWFudXBfZGlycworIAorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC02OSw2 ICs3MCw3IEBAIGRlZiBidWlsZChjdHgsIGJ1aWxkZXI9Imh0bWwiLCBsYW5ndWFnZT1Ob25lLCBv cHRpb25zPSIiKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0cz1vcHRpb25zKQor ICAgICAgICAgY3R4LnJ1bihjb21tYW5kKQorIAorKworIEB0YXNrKGhlbHA9eworICAgICAiYnVp bGRlciI6ICJCdWlsZGVyIHRvIHVzZSAoaHRtbCwgLi4uKSIsCisgICAgICJsYW5ndWFnZSI6ICJM YW5ndWFnZSB0byB1c2UgKGVuLCAuLi4pIiwKK0BAIC04MSwxMiArODMsMzggQEAgZGVmIHJlYnVp bGQoY3R4LCBidWlsZGVyPSJodG1sIiwgbGFuZ3VhZ2U9Tm9uZSwgb3B0aW9ucz0iIik6CisgICAg IGNsZWFuKGN0eCkKKyAgICAgYnVpbGQoY3R4LCBidWlsZGVyPWJ1aWxkZXIsIGxhbmd1YWdlPU5v bmUsIG9wdGlvbnM9b3B0aW9ucykKKyAKKysKKytAdGFzayhhbGlhc2VzPVsiYXV0byIsICJ3YXRj aCJdLAorKyAgICBoZWxwPXsKKysgICAgICAgICJidWlsZGVyIjogIkJ1aWxkZXIgdG8gdXNlICho dG1sLCAuLi4pIiwKKysgICAgICAgICJsYW5ndWFnZSI6ICJMYW5ndWFnZSB0byB1c2UgKGVuLCAu Li4pIiwKKysgICAgICAgICJvcHRpb25zIjogIkFkZGl0aW9uYWwgb3B0aW9ucyBmb3Igc3BoaW54 LWJ1aWxkIiwKKyt9KQorK2RlZiBhdXRvYnVpbGQoY3R4LCBidWlsZGVyPSJodG1sIiwgbGFuZ3Vh Z2U9Tm9uZSwgb3B0aW9ucz0iIik6CisrICAgICIiIkJ1aWxkIGRvY3Mgd2l0aCBzcGhpbngtYnVp bGQiIiIKKysgICAgbGFuZ3VhZ2UgPSBfc3BoaW54ZG9jX2dldF9sYW5ndWFnZShjdHgsIGxhbmd1 YWdlKQorKyAgICBzb3VyY2VkaXIgPSBjdHguY29uZmlnLnNwaGlueC5zb3VyY2VkaXIKKysgICAg ZGVzdGRpciA9IF9zcGhpbnhkb2NfZ2V0X2Rlc3RkaXIoY3R4LCBidWlsZGVyLCBsYW5ndWFnZT1s YW5ndWFnZSkKKysgICAgZGVzdGRpciA9IGRlc3RkaXIuYWJzcGF0aCgpCisrICAgIHdpdGggY2Qo c291cmNlZGlyKToKKysgICAgICAgIGRlc3RkaXJfcmVsYXRpdmUgPSBQYXRoKCIuIikucmVscGF0 aHRvKGRlc3RkaXIpCisrICAgICAgICBjb21tYW5kID0gInNwaGlueC1hdXRvYnVpbGQge29wdHN9 IC1iIHtidWlsZGVyfSAtRCBsYW5ndWFnZT17bGFuZ3VhZ2V9IHtzb3VyY2VkaXJ9IHtkZXN0ZGly fSIgXAorKyAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChidWlsZGVyPWJ1aWxkZXIsIHNvdXJj ZWRpcj0iLiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RkaXI9ZGVzdGRpcl9y ZWxhdGl2ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U9bGFuZ3VhZ2Us CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdHM9b3B0aW9ucykKKysgICAgICAgIGN0 eC5ydW4oY29tbWFuZCkKKysKKysKKyBAdGFzaworIGRlZiBsaW5rY2hlY2soY3R4KToKKyAgICAg IiIiQ2hlY2sgaWYgYWxsIGxpbmtzIGFyZSBjb3JlY3QuIiIiCisgICAgIGJ1aWxkKGN0eCwgYnVp bGRlcj0ibGlua2NoZWNrIikKKyAKKy1AdGFzayhoZWxwPXsibGFuZ3VhZ2UiOiAiTGFuZ3VhZ2Ug dG8gdXNlIChlbiwgLi4uKSJ9KQorKworK0B0YXNrKGFsaWFzZXM9WyJvcGVuIl0sCisrICAgIGhl bHA9eyJsYW5ndWFnZSI6ICJMYW5ndWFnZSB0byB1c2UgKGVuLCAuLi4pIn0KKyspCisgZGVmIGJy b3dzZShjdHgsIGxhbmd1YWdlPU5vbmUpOgorICAgICAiIiJPcGVuIGRvY3VtZW50YXRpb24gaW4g d2ViIGJyb3dzZXIuIiIiCisgICAgIG91dHB1dF9kaXIgPSBfc3BoaW54ZG9jX2dldF9kZXN0ZGly KGN0eCwgImh0bWwiLCBsYW5ndWFnZT1sYW5ndWFnZSkKK0BAIC0xODIsNiArMjEwLDcgQEAgZGVm IHVwZGF0ZV90cmFuc2xhdGlvbihjdHgsIGxhbmd1YWdlPSJhbGwiKToKKyAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgbmFtZXNwYWNlID0gQ29sbGVjdGlvbihjbGVhbiwgcmVidWlsZCwgbGlua2No ZWNrLCBicm93c2UsIHNhdmUsIHVwZGF0ZV90cmFuc2xhdGlvbikKKyBuYW1lc3BhY2UuYWRkX3Rh c2soYnVpbGQsIGRlZmF1bHQ9VHJ1ZSkKKytuYW1lc3BhY2UuYWRkX3Rhc2soYXV0b2J1aWxkKQor IG5hbWVzcGFjZS5jb25maWd1cmUoeworICAgICAic3BoaW54IjogeworICAgICAgICAgIyAtLSBG T1IgVEFTS1M6IGRvY3MuYnVpbGQsIGRvY3MucmVidWlsZCwgZG9jcy5jbGVhbiwgLi4uCitkaWZm IC0tZ2l0IGEvdGFza3MvaW52b2tlX2NsZWFudXAucHkgYi90YXNrcy9pbnZva2VfY2xlYW51cC5w eQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjRlNjMxYzQKKy0tLSAvZGV2 L251bGwKKysrKyBiL3Rhc2tzL2ludm9rZV9jbGVhbnVwLnB5CitAQCAtMCwwICsxLDQ0NyBAQAor KyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisrUHJvdmlkZXMgY2xlYW51cCB0YXNrcyBm b3IgaW52b2tlIGJ1aWxkIHNjcmlwdHMgKGFzIGdlbmVyaWMgaW52b2tlIHRhc2tsZXQpLgorK1Np bXBsaWZpZXMgd3JpdGluZyBjb21tb24sIGNvbXBvc2FibGUgYW5kIGV4dGVuZGFibGUgY2xlYW51 cCB0YXNrcy4KKysKKytQWVRIT04gUEFDS0FHRSBERVBFTkRFTkNJRVM6CisrCisrKiBwYXRoIChw eXRob24gPj0gMy41KSBvciBwYXRoLnB5ID49IDExLjUuMCAoYXMgcGF0aC1vYmplY3QgYWJzdHJh Y3Rpb24pCisrKiBwYXRobGliIChmb3IgYW50LWxpa2Ugd2lsZGNhcmQgcGF0dGVybnM7IHNpbmNl OiBweXRob24gPiAzLjUpCisrKiBweWNtZCAocmVxdWlyZWQtYnk6IGNsZWFuX3B5dGhvbigpKQor KworKworK2NsZWFudXAgdGFzazogQWRkIEFkZGl0aW9uYWwgRGlyZWN0b3JpZXMgYW5kIEZpbGVz IHRvIGJlIHJlbW92ZWQKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrQ3JlYXRlIGFuIGlu dm9rZSBjb25maWd1cmF0aW9uIGZpbGUgKFlBTUwgb2YgSlNPTikgd2l0aCB0aGUgYWRkaXRpb25h bAorK2NvbmZpZ3VyYXRpb24gZGF0YToKKysKKysuLiBjb2RlLWJsb2NrOjogeWFtbAorKworKyAg ICAjIC0tIEZJTEU6IGludm9rZS55YW1sCisrICAgICMgVVNFOiBjbGVhbnVwLmRpcmVjdG9yaWVz LCBjbGVhbnVwLmZpbGVzIHRvIG92ZXJyaWRlIGN1cnJlbnQgY29uZmlndXJhdGlvbi4KKysgICAg Y2xlYW51cDoKKysgICAgICAgICMgZGlyZWN0b3JpZXM6IERlZmF1bHQgZGlyZWN0b3J5IHBhdHRl cm5zIChjYW4gYmUgb3ZlcndyaXR0ZW4pLgorKyAgICAgICAgIyBmaWxlczogICAgICAgRGVmYXVs dCBmaWxlIHBhdHRlcm5zICAgICAgKGNhbiBiZSBvdmV3cml0dGVuKS4KKysgICAgICAgIGV4dHJh X2RpcmVjdG9yaWVzOgorKyAgICAgICAgICAgIC0gKiovdG1wLworKyAgICAgICAgZXh0cmFfZmls ZXM6CisrICAgICAgICAgICAgLSAqKi8qLmxvZworKyAgICAgICAgICAgIC0gKiovKi5iYWsKKysK KysKKytSZWdpc3RyYXRpb24gb2YgQ2xlYW51cCBUYXNrcworKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKworK090aGVyIHRhc2sgbW9kdWxlcyBvZnRlbiBoYXZlIGFuIG93biBjbGVh bnVwIHRhc2sgdG8gcmVjb3ZlciB0aGUgY2xlYW4gc3RhdGUuCisrVGhlIDptZXRoOmBjbGVhbnVw YCB0YXNrLCB0aGF0IGlzIHByb3ZpZGVkIGhlcmUsIHN1cHBvcnRzIHRoZSByZWdpc3RyYXRpb24K KytvZiBhZGRpdGlvbmFsIGNsZWFudXAgdGFza3MuIFRoZXJlZm9yZSwgd2hlbiB0aGUgOm1ldGg6 YGNsZWFudXBgIHRhc2sgaXMgZXhlY3V0ZWQsCisrYWxsIHJlZ2lzdGVyZWQgY2xlYW51cCB0YXNr cyB3aWxsIGJlIGV4ZWN1dGVkLgorKworK0VYQU1QTEU6OgorKworKyAgICAjIC0tIEZJTEU6IHRh c2tzL2RvY3MucHkKKysgICAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQK KysgICAgZnJvbSBpbnZva2UgaW1wb3J0IHRhc2ssIENvbGxlY3Rpb24KKysgICAgZnJvbSBpbnZv a2VfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJzCisrCisrICAgIEB0 YXNrCisrICAgIGRlZiBjbGVhbihjdHgpOgorKyAgICAgICAgIkNsZWFudXAgZ2VuZXJhdGVkIGRv Y3VtZW50YXRpb24gYXJ0aWZhY3RzLiIKKysgICAgICAgIGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1 bi5kcnkKKysgICAgICAgIGNsZWFudXBfZGlycyhbImJ1aWxkL2RvY3MiXSwgZHJ5X3J1bj1kcnlf cnVuKQorKworKyAgICBuYW1lc3BhY2UgPSBDb2xsZWN0aW9uKGNsZWFuKQorKyAgICAuLi4KKysK KysgICAgIyAtLSBSRUdJU1RFUiBDTEVBTlVQIFRBU0s6CisrICAgIGNsZWFudXBfdGFza3MuYWRk X3Rhc2soY2xlYW4sICJjbGVhbl9kb2NzIikKKysgICAgY2xlYW51cF90YXNrcy5jb25maWd1cmUo bmFtZXNwYWNlLmNvbmZpZ3VyYXRpb24oKSkKKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1w b3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytpbXBvcnQgb3MKKytpbXBvcnQg c3lzCisrZnJvbSBpbnZva2UgaW1wb3J0IHRhc2ssIENvbGxlY3Rpb24KKytmcm9tIGludm9rZS5l eGVjdXRvciBpbXBvcnQgRXhlY3V0b3IKKytmcm9tIGludm9rZS5leGNlcHRpb25zIGltcG9ydCBF eGl0LCBGYWlsdXJlLCBVbmV4cGVjdGVkRXhpdAorK2Zyb20gaW52b2tlLnV0aWwgaW1wb3J0IGNk CisrZnJvbSBwYXRoIGltcG9ydCBQYXRoCisrCisrIyAtLSBQWVRIT04gQkFDS1dBUkQgQ09NUEFU SUJJTElUWToKKytweXRob25fdmVyc2lvbiA9IHN5cy52ZXJzaW9uX2luZm9bOjJdCisrcHl0aG9u MzUgPSAoMywgNSkgICAjIEhJTlQ6IHB5dGhvbjMuOCBkb2VzIG5vdCByYWlzZSBPU0Vycm9ycy4K KytpZiBweXRob25fdmVyc2lvbiA8IHB5dGhvbjM1OiAgICMgbm9xYQorKyAgICBpbXBvcnQgcGF0 aGxpYjIgYXMgcGF0aGxpYgorK2Vsc2U6CisrICAgIGltcG9ydCBwYXRobGliICAgICAgICAgICAg ICAjIG5vcWEKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDT05TVEFOVFM6Cisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK1ZFUlNJT04gPSAiMC4zLjYiCisrCisrCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorKyMgQ0xFQU5VUCBVVElMSVRJRVM6CisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorK2RlZiBleGVjdXRlX2NsZWFudXBfdGFza3MoY3R4LCBjbGVhbnVwX3Rhc2tzLCB3 b3JrZGlyPSIuIiwgdmVyYm9zZT1GYWxzZSk6CisrICAgICIiIkV4ZWN1dGUgc2V2ZXJhbCBjbGVh bnVwIHRhc2tzIGFzIHBhcnQgb2YgdGhlIGNsZWFudXAuCisrCisrICAgIDpwYXJhbSBjdHg6ICAg ICAgICAgICAgIENvbnRleHQgb2JqZWN0IGZvciB0aGUgdGFza3MuCisrICAgIDpwYXJhbSBjbGVh bnVwX3Rhc2tzOiAgIENvbGxlY3Rpb24gb2YgY2xlYW51cCB0YXNrcyAoYXMgQ29sbGVjdGlvbiku CisrICAgICIiIgorKyAgICAjIHB5bGludDogZGlzYWJsZT1yZWRlZmluZWQtb3V0ZXItbmFtZQor KyAgICBleGVjdXRvciA9IEV4ZWN1dG9yKGNsZWFudXBfdGFza3MsIGN0eC5jb25maWcpCisrICAg IGZhaWx1cmVfY291bnQgPSAwCisrICAgIHdpdGggY2Qod29ya2RpcikgYXMgY3dkOgorKyAgICAg ICAgZm9yIGNsZWFudXBfdGFzayBpbiBjbGVhbnVwX3Rhc2tzLnRhc2tzOgorKyAgICAgICAgICAg IHRyeToKKysgICAgICAgICAgICAgICAgcHJpbnQoIkNMRUFOVVAgVEFTSzogJXMiICUgY2xlYW51 cF90YXNrKQorKyAgICAgICAgICAgICAgICBleGVjdXRvci5leGVjdXRlKGNsZWFudXBfdGFzaykK KysgICAgICAgICAgICBleGNlcHQgKEV4aXQsIEZhaWx1cmUsIFVuZXhwZWN0ZWRFeGl0KSBhcyBl OgorKyAgICAgICAgICAgICAgICBwcmludChlKQorKyAgICAgICAgICAgICAgICBwcmludCgiRkFJ TFVSRSBpbiBDTEVBTlVQIFRBU0s6ICVzIChHUkFDRUZVTExZLUlHTk9SRUQpIiAlIGNsZWFudXBf dGFzaykKKysgICAgICAgICAgICAgICAgZmFpbHVyZV9jb3VudCArPSAxCisrCisrICAgIGlmIGZh aWx1cmVfY291bnQ6CisrICAgICAgICBwcmludCgiQ0xFQU5VUCBUQVNLUzogJWQgZmFpbHVyZShz KSBvY2N1cmVkIiAlIGZhaWx1cmVfY291bnQpCisrCisrCisrZGVmIG1ha2VfZXhjbHVkZWQoZXhj bHVkZWQsIGNvbmZpZ19kaXI9Tm9uZSwgd29ya2Rpcj1Ob25lKToKKysgICAgd29ya2RpciA9IHdv cmtkaXIgb3IgUGF0aC5nZXRjd2QoKQorKyAgICBjb25maWdfZGlyID0gY29uZmlnX2RpciBvciB3 b3JrZGlyCisrICAgIHdvcmtkaXIgPSBQYXRoKHdvcmtkaXIpCisrICAgIGNvbmZpZ19kaXIgPSBQ YXRoKGNvbmZpZ19kaXIpCisrCisrICAgIGV4Y2x1ZGVkMiA9IFtdCisrICAgIGZvciBwIGluIGV4 Y2x1ZGVkOgorKyAgICAgICAgYXNzZXJ0IHAsICJSRVFVSVJFOiBub24tZW1wdHkiCisrICAgICAg ICBwID0gUGF0aChwKQorKyAgICAgICAgaWYgcC5pc2FicygpOgorKyAgICAgICAgICAgIGV4Y2x1 ZGVkMi5hcHBlbmQocC5ub3JtcGF0aCgpKQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICAj IC0tIFJFTEFUSVZFIFBBVEg6CisrICAgICAgICAgICAgIyBEZXNjcmliZWQgcmVsYXRpdmUgdG8g Y29uZmlnX2Rpci4KKysgICAgICAgICAgICAjIFJlY29tcHV0ZSBpdCByZWxhdGl2ZSB0byBjdXJy ZW50IHdvcmtkaXIuCisrICAgICAgICAgICAgcCA9IFBhdGgoY29uZmlnX2RpcikvcAorKyAgICAg ICAgICAgIHAgPSB3b3JrZGlyLnJlbHBhdGh0byhwKQorKyAgICAgICAgICAgIGV4Y2x1ZGVkMi5h cHBlbmQocC5ub3JtcGF0aCgpKQorKyAgICAgICAgICAgIGV4Y2x1ZGVkMi5hcHBlbmQocC5hYnNw YXRoKCkpCisrICAgIHJldHVybiBzZXQoZXhjbHVkZWQyKQorKworKworK2RlZiBpc19kaXJlY3Rv cnlfZXhjbHVkZWQoZGlyZWN0b3J5LCBleGNsdWRlZCk6CisrICAgIGRpcmVjdG9yeSA9IFBhdGgo ZGlyZWN0b3J5KS5ub3JtcGF0aCgpCisrICAgIGRpcmVjdG9yeTIgPSBkaXJlY3RvcnkuYWJzcGF0 aCgpCisrICAgIGlmIChkaXJlY3RvcnkgaW4gZXhjbHVkZWQpIG9yIChkaXJlY3RvcnkyIGluIGV4 Y2x1ZGVkKToKKysgICAgICAgIHJldHVybiBUcnVlCisrICAgICMgLS0gT1RIRVJXSVNFOgorKyAg ICByZXR1cm4gRmFsc2UKKysKKysKKytkZWYgY2xlYW51cF9kaXJzKHBhdHRlcm5zLCB3b3JrZGly PSIuIiwgZXhjbHVkZWQ9Tm9uZSwKKysgICAgICAgICAgICAgICAgIGRyeV9ydW49RmFsc2UsIHZl cmJvc2U9RmFsc2UsIHNob3dfc2tpcHBlZD1GYWxzZSk6CisrICAgICIiIlJlbW92ZSBkaXJlY3Rv cmllcyAoYW5kIHRoZWlyIGNvbnRlbnRzKSByZWN1cnNpdmVseS4KKysgICAgU2tpcHMgcmVtb3Zh bCBpZiBkaXJlY3RvcmllcyBkb2VzIG5vdCBleGlzdC4KKysKKysgICAgOnBhcmFtIHBhdHRlcm5z OiAgICBEaXJlY3RvcnkgbmFtZSBwYXR0ZXJucywgbGlrZSAiKiovdG1wKiIgKGFzIGxpc3QpLgor KyAgICA6cGFyYW0gd29ya2RpcjogICAgIEN1cnJlbnQgd29yayBkaXJlY3RvcnkgKGRlZmF1bHQ9 Ii4iKQorKyAgICA6cGFyYW0gZHJ5X3J1bjogICAgIERyeS1ydW4gbW9kZSBpbmRpY2F0b3IgKGFz IGJvb2wpLgorKyAgICAiIiIKKysgICAgZXhjbHVkZWQgPSBleGNsdWRlZCBvciBbXQorKyAgICBl eGNsdWRlZCA9IHNldChbUGF0aChwKSBmb3IgcCBpbiBleGNsdWRlZF0pCisrICAgIHNob3dfc2tp cHBlZCA9IHNob3dfc2tpcHBlZCBvciB2ZXJib3NlCisrICAgIGN1cnJlbnRfZGlyID0gUGF0aCh3 b3JrZGlyKQorKyAgICBweXRob25fYmFzZWRpciA9IFBhdGgoUGF0aChzeXMuZXhlY3V0YWJsZSku ZGlybmFtZSgpKS5qb2lucGF0aCgiLi4iKS5hYnNwYXRoKCkKKysgICAgd2FybjJfY291bnRlciA9 IDAKKysgICAgZm9yIGRpcl9wYXR0ZXJuIGluIHBhdHRlcm5zOgorKyAgICAgICAgZm9yIGRpcmVj dG9yeSBpbiBwYXRoX2dsb2IoZGlyX3BhdHRlcm4sIGN1cnJlbnRfZGlyKToKKysgICAgICAgICAg ICBpZiBpc19kaXJlY3RvcnlfZXhjbHVkZWQoZGlyZWN0b3J5LCBleGNsdWRlZCk6CisrICAgICAg ICAgICAgICAgIHByaW50KCJTS0lQLURJUjogJXMgKGV4Y2x1ZGVkKSIgJSBkaXJlY3RvcnkpCisr ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAgICAgZGlyZWN0b3J5MiA9IGRpcmVj dG9yeS5hYnNwYXRoKCkKKysgICAgICAgICAgICBpZiBzeXMuZXhlY3V0YWJsZS5zdGFydHN3aXRo KGRpcmVjdG9yeTIpOgorKyAgICAgICAgICAgICAgICAjIC0tIFBST1RFQ1QgVklSVFVBTCBFTlZJ Uk9OTUVOVCAoY3VycmVudGx5IGluIHVzZSk6CisrICAgICAgICAgICAgICAgICMgcHlsaW50OiBk aXNhYmxlPWxpbmUtdG9vLWxvbmcKKysgICAgICAgICAgICAgICAgcHJpbnQoIlNLSVAtU1VJQ0lE RTogJyVzJyBjb250YWlucyBjdXJyZW50IHB5dGhvbiBleGVjdXRhYmxlIiAlIGRpcmVjdG9yeSkK KysgICAgICAgICAgICAgICAgY29udGludWUKKysgICAgICAgICAgICBlbGlmIGRpcmVjdG9yeTIu c3RhcnRzd2l0aChweXRob25fYmFzZWRpcik6CisrICAgICAgICAgICAgICAgICMgLS0gUFJPVEVD VCBWSVJUVUFMIEVOVklST05NRU5UIChjdXJyZW50bHkgaW4gdXNlKToKKysgICAgICAgICAgICAg ICAgIyBISU5UOiBMaW1pdCBub2lzZSBpbiBESUFHTk9TVElDIE9VVFBVVCB0byBYIG1lc3NhZ2Vz LgorKyAgICAgICAgICAgICAgICBpZiB3YXJuMl9jb3VudGVyIDw9IDQ6ICAjIG5vcWEKKysgICAg ICAgICAgICAgICAgICAgIHByaW50KCJTS0lQLVNVSUNJREU6ICclcyciICUgZGlyZWN0b3J5KQor KyAgICAgICAgICAgICAgICB3YXJuMl9jb3VudGVyICs9IDEKKysgICAgICAgICAgICAgICAgY29u dGludWUKKysKKysgICAgICAgICAgICBpZiBub3QgZGlyZWN0b3J5LmlzZGlyKCk6CisrICAgICAg ICAgICAgICAgIGlmIHNob3dfc2tpcHBlZDoKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJS TVRSRUU6ICVzIChTS0lQUEVEOiBOb3QgYSBkaXJlY3RvcnkpIiAlIGRpcmVjdG9yeSkKKysgICAg ICAgICAgICAgICAgY29udGludWUKKysKKysgICAgICAgICAgICBpZiBkcnlfcnVuOgorKyAgICAg ICAgICAgICAgICBwcmludCgiUk1UUkVFOiAlcyAoZHJ5LXJ1bikiICUgZGlyZWN0b3J5KQorKyAg ICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAg ICAgICMgLS0gTUFZQkU6IGRpcmVjdG9yeS5ybXRyZWUoaWdub3JlX2Vycm9ycz1UcnVlKQorKyAg ICAgICAgICAgICAgICAgICAgcHJpbnQoIlJNVFJFRTogJXMiICUgZGlyZWN0b3J5KQorKyAgICAg ICAgICAgICAgICAgICAgZGlyZWN0b3J5LnJtdHJlZV9wKCkKKysgICAgICAgICAgICAgICAgZXhj ZXB0IE9TRXJyb3IgYXMgZToKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJSTVRSRUUtRkFJ TEVEOiAlcyAoZm9yOiAlcykiICUgKGUsIGRpcmVjdG9yeSkpCisrCisrCisrZGVmIGNsZWFudXBf ZmlsZXMocGF0dGVybnMsIHdvcmtkaXI9Ii4iLCBkcnlfcnVuPUZhbHNlLCB2ZXJib3NlPUZhbHNl LCBzaG93X3NraXBwZWQ9RmFsc2UpOgorKyAgICAiIiJSZW1vdmUgZmlsZXMgb3IgZmlsZXMgc2Vs ZWN0ZWQgYnkgZmlsZSBwYXR0ZXJucy4KKysgICAgU2tpcHMgcmVtb3ZhbCBpZiBmaWxlIGRvZXMg bm90IGV4aXN0LgorKworKyAgICA6cGFyYW0gcGF0dGVybnM6ICAgIEZpbGUgcGF0dGVybnMsIGxp a2UgIioqLyoucHljIiAoYXMgbGlzdCkuCisrICAgIDpwYXJhbSB3b3JrZGlyOiAgICAgQ3VycmVu dCB3b3JrIGRpcmVjdG9yeSAoZGVmYXVsdD0iLiIpCisrICAgIDpwYXJhbSBkcnlfcnVuOiAgICAg RHJ5LXJ1biBtb2RlIGluZGljYXRvciAoYXMgYm9vbCkuCisrICAgICIiIgorKyAgICBzaG93X3Nr aXBwZWQgPSBzaG93X3NraXBwZWQgb3IgdmVyYm9zZQorKyAgICBjdXJyZW50X2RpciA9IFBhdGgo d29ya2RpcikKKysgICAgcHl0aG9uX2Jhc2VkaXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFibGUp LmRpcm5hbWUoKSkuam9pbnBhdGgoIi4uIikuYWJzcGF0aCgpCisrICAgIGVycm9yX21lc3NhZ2Ug PSBOb25lCisrICAgIGVycm9yX2NvdW50ID0gMAorKyAgICBmb3IgZmlsZV9wYXR0ZXJuIGluIHBh dHRlcm5zOgorKyAgICAgICAgZm9yIGZpbGVfIGluIHBhdGhfZ2xvYihmaWxlX3BhdHRlcm4sIGN1 cnJlbnRfZGlyKToKKysgICAgICAgICAgICBpZiBmaWxlXy5hYnNwYXRoKCkuc3RhcnRzd2l0aChw eXRob25fYmFzZWRpcik6CisrICAgICAgICAgICAgICAgICMgLS0gUFJPVEVDVCBWSVJUVUFMIEVO VklST05NRU5UIChjdXJyZW50bHkgaW4gdXNlKToKKysgICAgICAgICAgICAgICAgY29udGludWUK KysgICAgICAgICAgICBpZiBub3QgZmlsZV8uaXNmaWxlKCk6CisrICAgICAgICAgICAgICAgIGlm IHNob3dfc2tpcHBlZDoKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVzIChT S0lQUEVEOiBOb3QgYSBmaWxlKSIgJSBmaWxlXykKKysgICAgICAgICAgICAgICAgY29udGludWUK KysKKysgICAgICAgICAgICBpZiBkcnlfcnVuOgorKyAgICAgICAgICAgICAgICBwcmludCgiUkVN T1ZFOiAlcyAoZHJ5LXJ1bikiICUgZmlsZV8pCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAg ICAgICAgICAgcHJpbnQoIlJFTU9WRTogJXMiICUgZmlsZV8pCisrICAgICAgICAgICAgICAgIHRy eToKKysgICAgICAgICAgICAgICAgICAgIGZpbGVfLnJlbW92ZV9wKCkKKysgICAgICAgICAgICAg ICAgZXhjZXB0IG9zLmVycm9yIGFzIGU6CisrICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0g IiVzOiAlcyIgJSAoZS5fX2NsYXNzX18uX19uYW1lX18sIGUpCisrICAgICAgICAgICAgICAgICAg ICBwcmludChtZXNzYWdlICsgIiBiYXNlZGlyOiAiKyBweXRob25fYmFzZWRpcikKKysgICAgICAg ICAgICAgICAgICAgIGVycm9yX2NvdW50ICs9IDEKKysgICAgICAgICAgICAgICAgICAgIGlmIG5v dCBlcnJvcl9tZXNzYWdlOgorKyAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX21lc3NhZ2Ug PSBtZXNzYWdlCisrICAgIGlmIEZhbHNlIGFuZCBlcnJvcl9tZXNzYWdlOiAjIG5vcWEKKysgICAg ICAgIGNsYXNzIENsZWFudXBFcnJvcihSdW50aW1lRXJyb3IpOgorKyAgICAgICAgICAgIHBhc3MK KysgICAgICAgIHJhaXNlIENsZWFudXBFcnJvcihlcnJvcl9tZXNzYWdlKQorKworKworK2RlZiBw YXRoX2dsb2IocGF0dGVybiwgY3VycmVudF9kaXI9Tm9uZSk6CisrICAgICIiIlVzZSBwYXRobGli IGZvciBhbnQtbGlrZSBwYXR0ZXJucywgbGlrZTogIioqLyoucHkiCisrCisrICAgIDpwYXJhbSBw YXR0ZXJuOiAgICAgIEZpbGUvZGlyZWN0b3J5IHBhdHRlcm4gdG8gdXNlIChhcyBzdHJpbmcpLgor KyAgICA6cGFyYW0gY3VycmVudF9kaXI6ICBDdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IChhcyBQ YXRoLCBwYXRobGliLlBhdGgsIHN0cikKKysgICAgOnJldHVybiBSZXNvbHZlZCBQYXRoIChhcyBw YXRoLlBhdGgpLgorKyAgICAiIiIKKysgICAgaWYgbm90IGN1cnJlbnRfZGlyOiAjIG5vcWEKKysg ICAgICAgIGN1cnJlbnRfZGlyID0gcGF0aGxpYi5QYXRoLmN3ZCgpCisrICAgIGVsaWYgbm90IGlz aW5zdGFuY2UoY3VycmVudF9kaXIsIHBhdGhsaWIuUGF0aCk6CisrICAgICAgICAjIC0tIENBU0U6 IHN0cmluZywgcGF0aC5QYXRoIChzdHJpbmctbGlrZSkKKysgICAgICAgIGN1cnJlbnRfZGlyID0g cGF0aGxpYi5QYXRoKHN0cihjdXJyZW50X2RpcikpCisrCisrICAgIHBhdHRlcm5fcGF0aCA9IFBh dGgocGF0dGVybikKKysgICAgaWYgcGF0dGVybl9wYXRoLmlzYWJzKCk6CisrICAgICAgICAjIC0t IFNQRUNJQUwgQ0FTRTogUGF0aC5nbG9iKCkgb25seSBzdXBwb3J0cyByZWxhdGl2ZS1wYXRoKHMp IC8gcGF0dGVybihzKS4KKysgICAgICAgIGlmIHBhdHRlcm5fcGF0aC5pc2RpcigpOgorKyAgICAg ICAgICAgIHlpZWxkIHBhdHRlcm5fcGF0aAorKyAgICAgICAgcmV0dXJuCisrCisrICAgICMgLS0g SElOVDogT1NFcnJvciBpcyBubyBsb25nZXIgcmFpc2VkIGluIHBhdGhsaWIyIG9yIHB5dGhvbjM1 LnBhdGhsaWIKKysgICAgIyB0cnk6CisrICAgIGZvciBwIGluIGN1cnJlbnRfZGlyLmdsb2IocGF0 dGVybik6CisrICAgICAgICB5aWVsZCBQYXRoKHN0cihwKSkKKysgICAgIyBleGNlcHQgT1NFcnJv ciBhcyBlOgorKyAgICAjICAgICAjIC0tIENPUk5FUi1DQVNFIDE6IHguZ2xvYihwYXR0ZXJuKSBt YXkgZmFpbCB3aXRoOgorKyAgICAjICAgICAjIE9TRXJyb3I6IFtFcnJubyAxM10gUGVybWlzc2lv biBkZW5pZWQ6IDxmaWxlbmFtZT4KKysgICAgIyAgICAgIyBISU5UOiBEaXJlY3RvcnkgbGFja3Mg ZXhjdXRhYmxlIHBlcm1pc3Npb25zIGZvciB0cmF2ZXJzYWwuCisrICAgICMgICAgICMgLS0gQ09S TkVSLUNBU0UgMjogc3ltbGlua2VkIGVuZGxlc3MgbG9vcAorKyAgICAjICAgICAjIE9TRXJyb3I6 IFtFcnJubyA2Ml0gVG9vIG1hbnkgbGV2ZWxzIG9mIHN5bWJvbGljIGxpbmtzOiA8ZmlsZW5hbWU+ CisrICAgICMgICAgIHByaW50KCJ7MH06IHsxfSIuZm9ybWF0KGUuX19jbGFzc19fLl9fbmFtZV9f LCBlKSkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBHRU5FUklDIENMRUFOVVAg VEFTS1M6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK0B0YXNrKGhlbHA9eworKyAgICAid29y a2RpciI6ICJEaXJlY3RvcnkgdG8gY2xlYW4odXApIChkZWZhdWx0OiAkQ1dEKS4iLAorKyAgICAi dmVyYm9zZSI6ICJFbmFibGUgdmVyYm9zZSBtb2RlIChkZWZhdWx0OiBPRkYpLiIsCisrfSkKKytk ZWYgY2xlYW4oY3R4LCB3b3JrZGlyPSIuIiwgdmVyYm9zZT1GYWxzZSk6CisrICAgICIiIkNsZWFu dXAgdGVtcG9yYXJ5IGRpcnMvZmlsZXMgdG8gcmVnYWluIGEgY2xlYW4gc3RhdGUuIiIiCisrICAg IGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1bi5kcnkKKysgICAgY29uZmlnX2RpciA9IGdldGF0dHIo Y3R4LmNvbmZpZywgImNvbmZpZ19kaXIiLCB3b3JrZGlyKQorKyAgICBkaXJlY3RvcmllcyA9IGxp c3QoY3R4LmNvbmZpZy5jbGVhbnVwLmRpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBkaXJlY3Rvcmll cy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVwLmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAg ICBmaWxlcyA9IGxpc3QoY3R4LmNvbmZpZy5jbGVhbnVwLmZpbGVzIG9yIFtdKQorKyAgICBmaWxl cy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVwLmV4dHJhX2ZpbGVzIG9yIFtdKQorKyAgICBleGNs dWRlZF9kaXJlY3RvcmllcyA9IGxpc3QoY3R4LmNvbmZpZy5jbGVhbnVwLmV4Y2x1ZGVkX2RpcmVj dG9yaWVzIG9yIFtdKQorKyAgICBleGNsdWRlZF9kaXJlY3RvcmllcyA9IG1ha2VfZXhjbHVkZWQo ZXhjbHVkZWRfZGlyZWN0b3JpZXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25maWdfZGlyPWNvbmZpZ19kaXIsIHdvcmtkaXI9Ii4iKQorKworKyAgICAjIC0t IFBFUkZPUk0gQ0xFQU5VUDoKKysgICAgZXhlY3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51 cF90YXNrcykKKysgICAgY2xlYW51cF9kaXJzKGRpcmVjdG9yaWVzLCB3b3JrZGlyPXdvcmtkaXIs IGV4Y2x1ZGVkPWV4Y2x1ZGVkX2RpcmVjdG9yaWVzLAorKyAgICAgICAgICAgICAgICAgZHJ5X3J1 bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2UpCisrICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIHdv cmtkaXI9d29ya2RpciwgZHJ5X3J1bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2UpCisrCisrICAg ICMgLS0gQ09ORklHVVJBQkxFIEVYVEVOU0lPTi1QT0lOVDoKKysgICAgIyB1c2VfY2xlYW51cF9w eXRob24gPSBjdHguY29uZmlnLmNsZWFudXAudXNlX2NsZWFudXBfcHl0aG9uIG9yIEZhbHNlCisr ICAgICMgaWYgdXNlX2NsZWFudXBfcHl0aG9uOgorKyAgICAjICAgICBjbGVhbl9weXRob24oY3R4 KQorKworKworK0B0YXNrKG5hbWU9ImFsbCIsIGFsaWFzZXM9KCJkaXN0Y2xlYW4iLCksCisrICAg ICAgaGVscD17CisrICAgICAgICAid29ya2RpciI6ICJEaXJlY3RvcnkgdG8gY2xlYW4odXApIChk ZWZhdWx0OiAkQ1dEKS4iLAorKyAgICAgICAgInZlcmJvc2UiOiAiRW5hYmxlIHZlcmJvc2UgbW9k ZSAoZGVmYXVsdDogT0ZGKS4iLAorK30pCisrZGVmIGNsZWFuX2FsbChjdHgsIHdvcmtkaXI9Ii4i LCB2ZXJib3NlPUZhbHNlKToKKysgICAgIiIiQ2xlYW4gdXAgZXZlcnl0aGluZywgZXZlbiB0aGUg cHJlY2lvdXMgc3R1ZmYuCisrICAgIE5PVEU6IGNsZWFuIHRhc2sgaXMgZXhlY3V0ZWQgbGFzdC4K KysgICAgIiIiCisrICAgIGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1bi5kcnkKKysgICAgY29uZmln X2RpciA9IGdldGF0dHIoY3R4LmNvbmZpZywgImNvbmZpZ19kaXIiLCB3b3JrZGlyKQorKyAgICBk aXJlY3RvcmllcyA9IGxpc3QoY3R4LmNvbmZpZy5jbGVhbnVwX2FsbC5kaXJlY3RvcmllcyBvciBb XSkKKysgICAgZGlyZWN0b3JpZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51cF9hbGwuZXh0cmFf ZGlyZWN0b3JpZXMgb3IgW10pCisrICAgIGZpbGVzID0gbGlzdChjdHguY29uZmlnLmNsZWFudXBf YWxsLmZpbGVzIG9yIFtdKQorKyAgICBmaWxlcy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVwX2Fs bC5leHRyYV9maWxlcyBvciBbXSkKKysgICAgZXhjbHVkZWRfZGlyZWN0b3JpZXMgPSBsaXN0KGN0 eC5jb25maWcuY2xlYW51cF9hbGwuZXhjbHVkZWRfZGlyZWN0b3JpZXMgb3IgW10pCisrICAgIGV4 Y2x1ZGVkX2RpcmVjdG9yaWVzLmV4dGVuZChjdHguY29uZmlnLmNsZWFudXAuZXhjbHVkZWRfZGly ZWN0b3JpZXMgb3IgW10pCisrICAgIGV4Y2x1ZGVkX2RpcmVjdG9yaWVzID0gbWFrZV9leGNsdWRl ZChleGNsdWRlZF9kaXJlY3RvcmllcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbmZpZ19kaXI9Y29uZmlnX2Rpciwgd29ya2Rpcj0iLiIpCisrCisrICAgICMg LS0gUEVSRk9STSBDTEVBTlVQOgorKyAgICAjIEhJTlQ6IFJlbW92ZSBub3cgZGlyZWN0b3JpZXMs IGZpbGVzIGZpcnN0IGJlZm9yZSBjbGVhbnVwLXRhc2tzLgorKyAgICBjbGVhbnVwX2RpcnMoZGly ZWN0b3JpZXMsIHdvcmtkaXI9d29ya2RpciwgZXhjbHVkZWQ9ZXhjbHVkZWRfZGlyZWN0b3JpZXMs CisrICAgICAgICAgICAgICAgICBkcnlfcnVuPWRyeV9ydW4sIHZlcmJvc2U9dmVyYm9zZSkKKysg ICAgY2xlYW51cF9maWxlcyhmaWxlcywgd29ya2Rpcj13b3JrZGlyLCBkcnlfcnVuPWRyeV9ydW4s IHZlcmJvc2U9dmVyYm9zZSkKKysgICAgZXhlY3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51 cF9hbGxfdGFza3MpCisrICAgIGNsZWFuKGN0eCwgd29ya2Rpcj13b3JrZGlyLCB2ZXJib3NlPXZl cmJvc2UpCisrCisrICAgICMgLS0gQ09ORklHVVJBQkxFIEVYVEVOU0lPTi1QT0lOVDoKKysgICAg IyB1c2VfY2xlYW51cF9weXRob24xID0gY3R4LmNvbmZpZy5jbGVhbnVwLnVzZV9jbGVhbnVwX3B5 dGhvbiBvciBGYWxzZQorKyAgICAjIHVzZV9jbGVhbnVwX3B5dGhvbjIgPSBjdHguY29uZmlnLmNs ZWFudXBfYWxsLnVzZV9jbGVhbnVwX3B5dGhvbiBvciBGYWxzZQorKyAgICAjIGlmIHVzZV9jbGVh bnVwX3B5dGhvbjIgYW5kIG5vdCB1c2VfY2xlYW51cF9weXRob24xOgorKyAgICAjICAgICBjbGVh bl9weXRob24oY3R4KQorKworKworK0B0YXNrKGFsaWFzZXM9WyJweXRob24iXSkKKytkZWYgY2xl YW5fcHl0aG9uKGN0eCwgd29ya2Rpcj0iLiIsIHZlcmJvc2U9RmFsc2UpOgorKyAgICAiIiJDbGVh bnVwIHB5dGhvbiByZWxhdGVkIGZpbGVzL2RpcnM6ICoucHljLCAqLnB5bywgLi4uIiIiCisrICAg IGRyeV9ydW4gPSBjdHguY29uZmlnLnJ1bi5kcnkgb3IgRmFsc2UKKysgICAgIyBNQVlCRSBOT1Q6 ICIqKi9fX3B5Y2FjaGVfXyIKKysgICAgY2xlYW51cF9kaXJzKFsiYnVpbGQiLCAiZGlzdCIsICIq LmVnZy1pbmZvIiwgIioqL19fcHljYWNoZV9fIl0sCisrICAgICAgICAgICAgICAgICB3b3JrZGly PXdvcmtkaXIsIGRyeV9ydW49ZHJ5X3J1biwgdmVyYm9zZT12ZXJib3NlKQorKyAgICBpZiBub3Qg ZHJ5X3J1bjoKKysgICAgICAgIGN0eC5ydW4oInB5LmNsZWFudXAiKQorKyAgICBjbGVhbnVwX2Zp bGVzKFsiKiovKi5weWMiLCAiKiovKi5weW8iLCAiKiovKiRweS5jbGFzcyJdLAorKyAgICAgICAg ICAgICAgICAgIHdvcmtkaXI9d29ya2RpciwgZHJ5X3J1bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJv c2UpCisrCisrCisrQHRhc2soaGVscD17CisrICAgICJwYXRoIjogIlBhdGggdG8gY2xlYW51cC4i LAorKyAgICAiaW50ZXJhY3RpdmUiOiAiRW5hYmxlIGludGVyYWN0aXZlIG1vZGUuIiwKKysgICAg ImZvcmNlIjogIkVuYWJsZSBmb3JjZSBtb2RlLiIsCisrICAgICJvcHRpb25zIjogIkFkZGl0aW9u YWwgZ2l0LWNsZWFuIG9wdGlvbnMiLAorK30pCisrZGVmIGdpdF9jbGVhbihjdHgsIHBhdGg9Tm9u ZSwgaW50ZXJhY3RpdmU9RmFsc2UsIGZvcmNlPUZhbHNlLAorKyAgICAgICAgICAgICAgZHJ5X3J1 bj1GYWxzZSwgb3B0aW9ucz1Ob25lKToKKysgICAgIiIiUGVyZm9ybSBnaXQtY2xlYW4gY29tbWFu ZCB0byBjbGVhbnVwIHRoZSB3b3JrdHJlZSBvZiBhIGdpdCByZXBvc2l0b3J5LgorKworKyAgICBC RVdBUkU6IFRoaXMgbWF5IHJlbW92ZSBhbnkgcHJlY2lvdXMgZmlsZXMgdGhhdCBhcmUgbm90IGNo ZWNrZWQgaW4uCisrICAgIFdBUk5JTkc6IERBTkdFUk9VUyBDT01NQU5ELgorKyAgICAiIiIKKysg ICAgYXJncyA9IFtdCisrICAgIGZvcmNlID0gZm9yY2Ugb3IgY3R4LmNvbmZpZy5naXRfY2xlYW4u Zm9yY2UKKysgICAgcGF0aCA9IHBhdGggb3IgY3R4LmNvbmZpZy5naXRfY2xlYW4ucGF0aCBvciAi LiIKKysgICAgaW50ZXJhY3RpdmUgPSBpbnRlcmFjdGl2ZSBvciBjdHguY29uZmlnLmdpdF9jbGVh bi5pbnRlcmFjdGl2ZQorKyAgICBkcnlfcnVuID0gZHJ5X3J1biBvciBjdHguY29uZmlnLnJ1bi5k cnkgb3IgY3R4LmNvbmZpZy5naXRfY2xlYW4uZHJ5X3J1bgorKworKyAgICBpZiBpbnRlcmFjdGl2 ZToKKysgICAgICAgIGFyZ3MuYXBwZW5kKCItLWludGVyYWN0aXZlIikKKysgICAgaWYgZm9yY2U6 CisrICAgICAgICBhcmdzLmFwcGVuZCgiLS1mb3JjZSIpCisrICAgIGlmIGRyeV9ydW46CisrICAg ICAgICBhcmdzLmFwcGVuZCgiLS1kcnktcnVuIikKKysgICAgYXJncy5hcHBlbmQob3B0aW9ucyBv ciAiIikKKysgICAgYXJncyA9ICIgIi5qb2luKGFyZ3MpLnN0cmlwKCkKKysKKysgICAgY3R4LnJ1 bigiZ2l0IGNsZWFuIHtvcHRpb25zfSB7cGF0aH0iLmZvcm1hdChvcHRpb25zPWFyZ3MsIHBhdGg9 cGF0aCkpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEFTSyBDT05GSUdVUkFU SU9OOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytDTEVBTlVQX0VNUFRZX0NPTkZJRyA9IHsK KysgICAgImRpcmVjdG9yaWVzIjogW10sCisrICAgICJmaWxlcyI6IFtdLAorKyAgICAiZXh0cmFf ZGlyZWN0b3JpZXMiOiBbXSwKKysgICAgImV4dHJhX2ZpbGVzIjogW10sCisrICAgICJleGNsdWRl ZF9kaXJlY3RvcmllcyI6IFtdLAorKyAgICAiZXhjbHVkZWRfZmlsZXMiOiBbXSwKKysgICAgInVz ZV9jbGVhbnVwX3B5dGhvbiI6IEZhbHNlLAorK30KKytkZWYgbWFrZV9jbGVhbnVwX2NvbmZpZygq Kmt3YXJncyk6CisrICAgIGNvbmZpZ19kYXRhID0gQ0xFQU5VUF9FTVBUWV9DT05GSUcuY29weSgp CisrICAgIGNvbmZpZ19kYXRhLnVwZGF0ZShrd2FyZ3MpCisrICAgIHJldHVybiBjb25maWdfZGF0 YQorKworKworK25hbWVzcGFjZSA9IENvbGxlY3Rpb24oY2xlYW5fYWxsLCBjbGVhbl9weXRob24p CisrbmFtZXNwYWNlLmFkZF90YXNrKGNsZWFuLCBkZWZhdWx0PVRydWUpCisrbmFtZXNwYWNlLmFk ZF90YXNrKGdpdF9jbGVhbikKKytuYW1lc3BhY2UuY29uZmlndXJlKHsKKysgICAgImNsZWFudXAi OiBtYWtlX2NsZWFudXBfY29uZmlnKAorKyAgICAgICAgZmlsZXM9WyIqKi8qLmJhayIsICIqKi8q LmxvZyIsICIqKi8qLnRtcCIsICIqKi8uRFNfU3RvcmUiXSwKKysgICAgICAgIGV4Y2x1ZGVkX2Rp cmVjdG9yaWVzPVsiLmdpdCIsICIuaGciLCAiLmJ6ciIsICIuc3ZuIl0sCisrICAgICksCisrICAg ICJjbGVhbnVwX2FsbCI6IG1ha2VfY2xlYW51cF9jb25maWcoCisrICAgICAgICBkaXJlY3Rvcmll cz1bIi52ZW52KiIsICIudG94IiwgImRvd25sb2FkcyIsICJ0bXAiXSwKKysgICAgKSwKKysgICAg ImdpdF9jbGVhbiI6IHsKKysgICAgICAgICJpbnRlcmFjdGl2ZSI6IFRydWUsCisrICAgICAgICAi Zm9yY2UiOiBGYWxzZSwKKysgICAgICAgICJwYXRoIjogIi4iLAorKyAgICAgICAgImRyeV9ydW4i OiBGYWxzZSwKKysgICAgfSwKKyt9KQorKworKworKyMgLS0gRVhURU5TSU9OLVBPSU5UOiBDTEVB TlVQIFRBU0tTIChjYWxsZWQgYnk6IGNsZWFuLCBjbGVhbl9hbGwgdGFzaykKKysjIE5PVEU6IENh biBiZSB1c2VkIGJ5IG90aGVyIHRhc2tsZXRzIHRvIHJlZ2lzdGVyIGNsZWFudXAgdGFza3MuCisr Y2xlYW51cF90YXNrcyA9IENvbGxlY3Rpb24oImNsZWFudXBfdGFza3MiKQorK2NsZWFudXBfYWxs X3Rhc2tzID0gQ29sbGVjdGlvbigiY2xlYW51cF9hbGxfdGFza3MiKQorKworKyMgLS0gRVhURU5E IE5PUk1BTCBDTEVBTlVQLVRBU0tTOgorKyMgRElTQUJMRUQ6IGNsZWFudXBfdGFza3MuYWRkX3Rh c2soY2xlYW5fcHl0aG9uKQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEVYVEVOU0lP Ti1QT0lOVDogQ09ORklHVVJBVElPTiBIRUxQRVJTOiBDYW4gYmUgdXNlZCBmcm9tIG90aGVyIHRh c2sgbW9kdWxlcworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgY29uZmlnX2FkZF9jbGVh bnVwX2RpcnMoZGlyZWN0b3JpZXMpOgorKyAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQt YWNjZXNzCisrICAgIHRoZV9jbGVhbnVwX2RpcmVjdG9yaWVzID0gbmFtZXNwYWNlLl9jb25maWd1 cmF0aW9uWyJjbGVhbnVwIl1bImRpcmVjdG9yaWVzIl0KKysgICAgdGhlX2NsZWFudXBfZGlyZWN0 b3JpZXMuZXh0ZW5kKGRpcmVjdG9yaWVzKQorKworK2RlZiBjb25maWdfYWRkX2NsZWFudXBfZmls ZXMoZmlsZXMpOgorKyAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAg IHRoZV9jbGVhbnVwX2ZpbGVzID0gbmFtZXNwYWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbnVwIl1b ImZpbGVzIl0KKysgICAgdGhlX2NsZWFudXBfZmlsZXMuZXh0ZW5kKGZpbGVzKQorKyAgICAjIG5h bWVzcGFjZS5jb25maWd1cmUoeyJjbGVhbnVwIjogeyJmaWxlcyI6IGZpbGVzfX0pCisrICAgICMg cHJpbnQoIkRJQUcgY2xlYW51cC5jb25maWcuY2xlYW51cDogJXIiICUgbmFtZXNwYWNlLmNvbmZp Z3VyYXRpb24oKSkKKysKKytkZWYgY29uZmlnX2FkZF9jbGVhbnVwX2FsbF9kaXJzKGRpcmVjdG9y aWVzKToKKysgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworKyAgICB0aGVf Y2xlYW51cF9kaXJlY3RvcmllcyA9IG5hbWVzcGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW51cF9h bGwiXVsiZGlyZWN0b3JpZXMiXQorKyAgICB0aGVfY2xlYW51cF9kaXJlY3Rvcmllcy5leHRlbmQo ZGlyZWN0b3JpZXMpCisrCisrZGVmIGNvbmZpZ19hZGRfY2xlYW51cF9hbGxfZmlsZXMoZmlsZXMp OgorKyAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAgIHRoZV9jbGVh bnVwX2ZpbGVzID0gbmFtZXNwYWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbnVwX2FsbCJdWyJmaWxl cyJdCisrICAgIHRoZV9jbGVhbnVwX2ZpbGVzLmV4dGVuZChmaWxlcykKK2RpZmYgLS1naXQgYS90 YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAoraW5k ZXggOWM4MmQxMS4uYWMxOWU5NCAxMDA2NDQKKy0tLSBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50 eHQKKysrKyBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKK0BAIC0xMyw4ICsxMyw4IEBAIHB5 Y21kCisgc2l4PT0xLjE1LjAKKyAKKyAjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9u LWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKy1wYXRoLnB5ID49IDEx LjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKyBwYXRoID49IDEzLjEuMDsgICAgcHl0aG9u X3ZlcnNpb24gPj0gJzMuNScKKytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAg JzMuNScKKyAKKyAjIC0tIFBZVEhPTjIgQkFDS1BPUlRTOgorIHBhdGhsaWI7ICAgIHB5dGhvbl92 ZXJzaW9uIDw9ICczLjQnCitkaWZmIC0tZ2l0IGEvdGFza3MvcmVsZWFzZS5weSBiL3Rhc2tzL3Jl bGVhc2UucHkKK2luZGV4IGRiYTg1YzguLmUxN2E0NmYgMTAwNjQ0CistLS0gYS90YXNrcy9yZWxl YXNlLnB5CisrKysgYi90YXNrcy9yZWxlYXNlLnB5CitAQCAtNTEsNyArNTEsNyBAQCBDb25maWd1 cmF0aW9uIGZpbGUgZm9yIHB5cGkgcmVwb3NpdG9yaWVzOgorIAorIGZyb20gX19mdXR1cmVfXyBp bXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGZyb20gaW52b2tlIGltcG9y dCBDb2xsZWN0aW9uLCB0YXNrCistZnJvbSAuX3Rhc2tsZXRfY2xlYW51cCBpbXBvcnQgcGF0aF9n bG9iCisrZnJvbSAuaW52b2tlX2NsZWFudXAgaW1wb3J0IHBhdGhfZ2xvYgorIGZyb20gLl9kcnlf cnVuIGltcG9ydCBEcnlSdW5Db250ZXh0CisgCisgCitkaWZmIC0tZ2l0IGEvdGFza3MvdGVzdC5w eSBiL3Rhc2tzL3Rlc3QucHkKK2luZGV4IGJmYTJkODAuLmQ2YjQxODkgMTAwNjQ0CistLS0gYS90 YXNrcy90ZXN0LnB5CisrKysgYi90YXNrcy90ZXN0LnB5CitAQCAtOSw3ICs5LDggQEAgaW1wb3J0 IHN5cworIGZyb20gaW52b2tlIGltcG9ydCB0YXNrLCBDb2xsZWN0aW9uCisgCisgIyAtLSBUQVNL LUxJQlJBUlk6CistZnJvbSAuX3Rhc2tsZXRfY2xlYW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywg Y2xlYW51cF9kaXJzLCBjbGVhbnVwX2ZpbGVzCisrIyBQUkVQQVJFRDogZnJvbSBpbnZva2VfY2xl YW51cCBpbXBvcnQgY2xlYW51cF90YXNrcywgY2xlYW51cF9kaXJzLCBjbGVhbnVwX2ZpbGVzCisr ZnJvbSAuaW52b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycywg Y2xlYW51cF9maWxlcworIAorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkxLURv Y3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZyb20tYmFzaC10by1jb25zb2xlLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5MS1Eb2NzLWNo YW5nZS1jb2RlLWJsb2Nrcy1mcm9tLWJhc2gtdG8tY29uc29sZS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjgxY2RhMjY5MQotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTEtRG9j cy1jaGFuZ2UtY29kZS1ibG9ja3MtZnJvbS1iYXNoLXRvLWNvbnNvbGUucGF0Y2gKQEAgLTAsMCAr MSwzNiBAQAorRnJvbSBiMGI0ZmM0YTgwNTg4MDc1NjY4NzEwYjcwMDY5ZjA2ZmUyOTY4N2VhIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIExlbW0gPDYxODAwMjk4K2ZmZTRA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogRnJpLCAyNiBKdW4gMjAyMCAxMToyNzox MCArMDIwMAorU3ViamVjdDogW1BBVENIXSBEb2NzOiBjaGFuZ2UgY29kZSBibG9ja3MgZnJvbSBi YXNoIHRvIGNvbnNvbGUKKworLS0tCisgUkVBRE1FLnJzdCAgICAgICAgICAgICAgfCAyICstCisg ZG9jcy9wcmFjdGljYWxfdGlwcy5yc3QgfCAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9SRUFETUUucnN0IGIvUkVB RE1FLnJzdAoraW5kZXggNGE5MDVhYi4uMjJiMDM1MiAxMDA2NDQKKy0tLSBhL1JFQURNRS5yc3QK KysrKyBiL1JFQURNRS5yc3QKK0BAIC03Niw3ICs3Niw3IEBAIEluIHRoYXQgZGlyZWN0b3J5IGNy ZWF0ZSBhIGZpbGUgY2FsbGVkICJleGFtcGxlX3N0ZXBzLnB5IiBjb250YWluaW5nOgorIAorIFJ1 biBiZWhhdmU6CisgCistLi4gY29kZS1ibG9jazo6IGJhc2gKKysuLiBjb2RlLWJsb2NrOjogY29u c29sZQorIAorICAgICAkIGJlaGF2ZQorICAgICBGZWF0dXJlOiBTaG93aW5nIG9mZiBiZWhhdmUg IyBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmU6MgorZGlmZiAtLWdpdCBhL2RvY3MvcHJhY3RpY2Fs X3RpcHMucnN0IGIvZG9jcy9wcmFjdGljYWxfdGlwcy5yc3QKK2luZGV4IGI3MDU2OWYuLjc1YmM3 MzYgMTAwNjQ0CistLS0gYS9kb2NzL3ByYWN0aWNhbF90aXBzLnJzdAorKysrIGIvZG9jcy9wcmFj dGljYWxfdGlwcy5yc3QKK0BAIC0zMCw3ICszMCw3IEBAIEZvciBleGFtcGxlLCBpZiB5b3Ugd2Fu dCB0byB1c2UgdGhlIGZlYXR1cmUgZmlsZXMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IGZvcgorIHRl c3RpbmcgdGhlIG1vZGVsIGxheWVyIGFuZCB0aGUgVUkgbGF5ZXIsIHRoaXMgY2FuIGJlIGRvbmUg YnkgdXNpbmcgdGhlCisgYGAtLXN0YWdlYGAgb3B0aW9uLCBsaWtlIHdpdGg6CisgCistLi4gY29k ZS1ibG9jazo6IGJhc2gKKysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorIAorICAgICAkIGJlaGF2 ZSAtLXN0YWdlPW1vZGVsIGZlYXR1cmVzLworICAgICAkIGJlaGF2ZSAtLXN0YWdlPXVpICAgIGZl YXR1cmVzLyAgIyBOT1RFOiBOb3JtYWxseSB1c2VkIG9uIGEgc3Vic2V0IG9mIGZlYXR1cmVzLgpk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA5Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTItRml4LXR5cG8taW4tdHV0b3Jp YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45ZDAzYjMwMTIK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDkyLUZpeC10eXBvLWluLXR1dG9yaWFsLnBhdGNoCkBAIC0wLDAgKzEs MjQgQEAKK0Zyb20gZTdkMzRlMjBiNzhmNzNiYzQ2MzdjOGQ2MDcyMjE1YWIxYzE1MWFkYyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXggTWNMYXJ0eSA8YWxleGptY2xhcnR5QGdt YWlsLmNvbT4KK0RhdGU6IEZyaSwgMTIgSnVsIDIwMTkgMDg6MjI6MzEgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gRml4IHR5cG8gaW4gdHV0b3JpYWwKKworLS0tCisgZG9jcy90dXRvcmlhbC5yc3Qg fCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvZG9jcy90dXRvcmlhbC5yc3QgYi9kb2NzL3R1dG9yaWFsLnJzdAor aW5kZXggMDRiMmY2My4uMjc2OThhNCAxMDA2NDQKKy0tLSBhL2RvY3MvdHV0b3JpYWwucnN0Cisr KysgYi9kb2NzL3R1dG9yaWFsLnJzdAorQEAgLTE1Nyw4ICsxNTcsOCBAQCBiYXNpYyBhY3Rpb25z LiBZb3UgbWF5IHVzZSBhIFNjZW5hcmlvIE91dGxpbmUgdG8gYWNoaWV2ZSB0aGlzOgorIAorICAg U2NlbmFyaW8gT3V0bGluZTogQmxlbmRlcnMKKyAgICAgIEdpdmVuIEkgcHV0IDx0aGluZz4gaW4g YSBibGVuZGVyLAorLSAgICAgIHdoZW4gSSBzd2l0Y2ggdGhlIGJsZW5kZXIgb24KKy0gICAgICB0 aGVuIGl0IHNob3VsZCB0cmFuc2Zvcm0gaW50byA8b3RoZXIgdGhpbmc+CisrICAgICAgV2hlbiBJ IHN3aXRjaCB0aGUgYmxlbmRlciBvbgorKyAgICAgIFRoZW4gaXQgc2hvdWxkIHRyYW5zZm9ybSBp bnRvIDxvdGhlciB0aGluZz4KKyAKKyAgICBFeGFtcGxlczogQW1waGliaWFucworICAgICAgfCB0 aGluZyAgICAgICAgIHwgb3RoZXIgdGhpbmcgfApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5My1weS5yZXF1aXJlbWVudHMt VXNlLVB5SGFtY3Jlc3QtMi4wLWZvci1weXRob24yLjcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkzLXB5LnJlcXVpcmVtZW50cy1V c2UtUHlIYW1jcmVzdC0yLjAtZm9yLXB5dGhvbjIuNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLmI0NGZkNDRlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTMtcHkucmVxdWly ZW1lbnRzLVVzZS1QeUhhbWNyZXN0LTIuMC1mb3ItcHl0aG9uMi43LnBhdGNoCkBAIC0wLDAgKzEs ODAgQEAKK0Zyb20gNTUwZDkxNzJkOTk4M2U1NzEzYWFjNWYxZTZlMmJjZWE5OTllZmNjYyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAxIERlYyAyMDIwIDIzOjE5OjUxICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdIHB5LnJlcXVpcmVtZW50czogVXNlIFB5SGFtY3Jlc3QgPCAyLjAgZm9yIHB5 dGhvbjIuNworCistLS0KKyBpc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IHwgMyAr Ky0KKyBweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAgICAgICAgIHwgNiArKysrLS0KKyBweS5y ZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCAgICAgIHwgNyArKysrKy0tCisgcHkucmVxdWlyZW1l bnRzL3Rlc3RpbmcudHh0ICAgICAgICB8IDYgKysrKy0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxNSBp bnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVy ZXMvcHkucmVxdWlyZW1lbnRzLnR4dCBiL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50 eHQKK2luZGV4IDZlM2NmODMuLmY4YTJmOGQgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9w eS5yZXF1aXJlbWVudHMudHh0CisrKysgYi9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMu dHh0CitAQCAtOCw0ICs4LDUgQEAKKyAjCisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistUHlI YW1jcmVzdCA9PSAyLjAuMgorK1B5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9uID49 ICczLjAnCisrUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKK2Rp ZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9j aS50b3gudHh0CitpbmRleCAyMGFlNzkxLi41YmVlNTI0IDEwMDY0NAorLS0tIGEvcHkucmVxdWly ZW1lbnRzL2NpLnRveC50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CitAQCAt NCw5ICs0LDExIEBACisgCisgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcg IyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcK Ky1weXRlc3QtaHRtbCA+PSAxLjE5LjAKKysKKytweXRlc3QtaHRtbCA+PSAxLjE5LjAsPDIuMAor IG1vY2sgPj0gMi4wCistUHlIYW1jcmVzdCA9PSAyLjAuMgorK1B5SGFtY3Jlc3QgPj0gMi4wLjI7 IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisrUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3Zl cnNpb24gPCAgJzMuMCcKKyAKKyAjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWlu c3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKyBwYXRoLnB5ID49IDExLjUu MDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv Y2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitpbmRleCBjNjk0 NDVjLi4zNzIxMTZhIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQK KysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitAQCAtMSwxMSArMSwxNCBAQAor ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorICMgUFlUSE9OIFBBQ0tBR0UgUkVRVUlSRU1FTlRTIEZP UjogYmVoYXZlIC0tIGNpLnRyYXZpcy50eHQKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKyBw eXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIHB5dGVzdCA+PSA1LjA7IHB5 dGhvbl92ZXJzaW9uID49ICczLjAnCistcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisrCisrcHl0ZXN0 LWh0bWwgPj0gMS4xOS4wLDwyLjAKKyBtb2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID09IDIuMC4y CisrUHlIYW1jcmVzdCA+PSAyLjAuMjsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKytQeUhhbWNy ZXN0IDwgIDIuMDsgICBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIAorICMgLS0gTkVFREVEOiBC eSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4x IGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMv dGVzdGluZy50eHQgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK2luZGV4IGQzYmNhMTgu LmZjOGZkODIgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysrKyBi L3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorQEAgLTYsOSArNiwxMSBAQAorICMgUFJFUEFS RUQtRlVUVVJFOiBiZWhhdmU0Y21kMCwgYmVoYXZlNGNtZAorIHB5dGVzdCA8ICA1LjA7IHB5dGhv bl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+PSA1LjA7IHB5dGhv bl92ZXJzaW9uID49ICczLjAnCistcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisrCisrcHl0ZXN0LWh0 bWwgPj0gMS4xOS4wLDwyLjAKKyBtb2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID09IDIuMC4yCisr UHlIYW1jcmVzdCA+PSAyLjAuMjsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKytQeUhhbWNyZXN0 IDwgIDIuMDsgICBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIAorICMgLS0gTkVFREVEOiBCeSBz b21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlz IHJlcXVpcmVkIGZvciBweXRob24yLjYKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTQtVVBEQVRFLVBSLTg3Ny13YXMtbWVy Z2VkLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA5NC1VUERBVEUtUFItODc3LXdhcy1tZXJnZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wZGI0MDA5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk0LVVQREFU RS1QUi04Nzctd2FzLW1lcmdlZC5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIDc1OTZjOWFm M2FhNWZlNmMwZTI2N2IyNjM1NzQwYjU2MjA0MTliMGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6 IFNhdCwgNSBEZWMgMjAyMCAwMDozMzoyMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEU6 IFBSICM4Nzcgd2FzIG1lcmdlZC4KKworLS0tCisgQ0hBTkdFUy5yc3QgfCAxICsKKyAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hB TkdFUy5yc3QKK2luZGV4IGQ3NTgzNjQuLjRlMjBiYjggMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJz dAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC01OCw2ICs1OCw3IEBAIE1JTk9SOgorIAorIERPQ1VN RU5UQVRJT046CisgCisrKiBwdWxsICAjODc3OiBkb2NzOiBBUEkgcmVmZXJlbmNlIC0gQ2FwaXRh bGl6aW5nIFN0ZXAgS2V5d29yZHMgaW4gZXhhbXBsZSAocHJvdmlkZWQgYnk6IElicmlhbjkzKQor ICogcHVsbCAgIzczMTogVXBkYXRlIGxpbmtzIHRvIERqYW5nbyBkb2NzIChwcm92aWRlZCBieTog Yml0dG5lcikKKyAqIHB1bGwgICM3MjI6IERPQyByZW1vdmUgcmVtYWluaW5nIHB5dGhvbmhvc3Rl ZCBsaW5rcyAocHJvdmlkZWQgYnk6IGxlc3pla2hhbnVzeikKKyAqIHB1bGwgICM3MDE6IGJlaGF2 ZS9ydW5uZXIucHkgZG9jc3RyaW5ncyAocHJvdmlkZWQgYnk6IHNwaXRHbHVlZCkKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw OTUtY2FwaXRhbGl6aW5nLXN0ZXBzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5NS1jYXBpdGFsaXppbmctc3RlcHMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wNTRhYzJjMzEKLS0tIC9kZXYvbnVs bAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDk1LWNhcGl0YWxpemluZy1zdGVwcy5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGI1 OWFkMTEzZTYzZDAxZjkwOWRhM2VjNDljNDUzNTljODY5YjM3ZjQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBCcmlhbiBJY29jaGVhIDxpYnJpYW45M0BnbWFpbC5jb20+CitEYXRlOiBT dW4sIDE1IE5vdiAyMDIwIDE4OjM1OjE2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhcGl0YWxp emluZyBzdGVwcworCistLS0KKyBkb2NzL2FwaS5yc3QgfCA4ICsrKystLS0tCisgMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Rv Y3MvYXBpLnJzdCBiL2RvY3MvYXBpLnJzdAoraW5kZXggNDc2M2FkNi4uNzQ2Mzg2MyAxMDA2NDQK Ky0tLSBhL2RvY3MvYXBpLnJzdAorKysrIGIvZG9jcy9hcGkucnN0CitAQCAtNzQsMTAgKzc0LDEw IEBAIHRoZSBuYW1lIG9mIHRoZWlyIHByZWNlZGluZyBrZXl3b3JkLCBzbyBnaXZlbiB0aGUgZm9s bG93aW5nIGZlYXR1cmUgZmlsZToKKyAuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorIAorICAgICBH aXZlbiBzb21lIGtub3duIHN0YXRlCistICAgICAgYW5kIHNvbWUgb3RoZXIga25vd24gc3RhdGUK Ky0gICAgIHdoZW4gc29tZSBhY3Rpb24gaXMgdGFrZW4KKy0gICAgIHRoZW4gc29tZSBvdXRjb21l IGlzIG9ic2VydmVkCistICAgICAgYnV0IHNvbWUgb3RoZXIgb3V0Y29tZSBpcyBub3Qgb2JzZXJ2 ZWQuCisrICAgICAgQW5kIHNvbWUgb3RoZXIga25vd24gc3RhdGUKKysgICAgIFdoZW4gc29tZSBh Y3Rpb24gaXMgdGFrZW4KKysgICAgIFRoZW4gc29tZSBvdXRjb21lIGlzIG9ic2VydmVkCisrICAg ICAgQnV0IHNvbWUgb3RoZXIgb3V0Y29tZSBpcyBub3Qgb2JzZXJ2ZWQuCisgCisgdGhlIGZpcnN0 ICJhbmQiIHN0ZXAgd2lsbCBiZSByZW5hbWVkIGludGVybmFsbHkgdG8gImdpdmVuIiBhbmQgKmJl aGF2ZSoKKyB3aWxsIGxvb2sgZm9yIGEgc3RlcCBpbXBsZW1lbnRhdGlvbiBkZWNvcmF0ZWQgd2l0 aCBlaXRoZXIgImdpdmVuIiBvciAic3RlcCI6CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk2LUZJWC1pbnZva2UtdGFzay1k ZXZlbG9wLnVwZGF0ZS1naGVya2luLXRoYXQtYWJvcnRlZC0ucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk2LUZJWC1pbnZva2UtdGFz ay1kZXZlbG9wLnVwZGF0ZS1naGVya2luLXRoYXQtYWJvcnRlZC0ucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5kYjY3OGI0MjYKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk2LUZJ WC1pbnZva2UtdGFzay1kZXZlbG9wLnVwZGF0ZS1naGVya2luLXRoYXQtYWJvcnRlZC0ucGF0Y2gK QEAgLTAsMCArMSw1NiBAQAorRnJvbSA5NzY5Y2I2NzA5NjQxZjZhYmVjZmE1ZThlZWZkMWRiYzIz MjMzZTk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBGcmksIDExIERlYyAyMDIwIDIwOjUxOjQ0 ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogaW52b2tlLXRhc2sgZGV2ZWxvcC51cGRhdGUt Z2hlcmtpbiB0aGF0IGFib3J0ZWQgYWZ0ZXIKKyBkaWZmCisKKyogU2hvdyBub3cgaWYgImdoZXJr aW4tbGFuZ3VhZ2VzLmpzb24iIGRvZXMgbm90IGNoYW5nZQorKiBBZGQgLS12ZXJib3NlIG9wdGlv biB0byBzaG93IGRpZmYgb3V0cHV0IGlmIGZpbGUgaGFzIGNoYW5nZWQKKy0tLQorIHRhc2tzL2Rl dmVsb3AucHkgfCAxOSArKysrKysrKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90YXNrcy9kZXZlbG9w LnB5IGIvdGFza3MvZGV2ZWxvcC5weQoraW5kZXggOWEyMTM2My4uZWI1ZmVkZCAxMDA2NDQKKy0t LSBhL3Rhc2tzL2RldmVsb3AucHkKKysrKyBiL3Rhc2tzL2RldmVsb3AucHkKK0BAIC05LDYgKzks NyBAQCBmcm9tIGludm9rZS51dGlsIGltcG9ydCBjZAorIGZyb20gcGF0aCBpbXBvcnQgUGF0aAor IGltcG9ydCByZXF1ZXN0cworIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIENPTlNU QU5UUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTgsOCArMTksOCBAQCBHSEVSS0lO X0xBTkdVQUdFU19VUkwgPSAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N1Y3Vt YmVyL2N1Y3VtYmVyL21hcworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRBU0tTOgorICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1AdGFzaworLWRlZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRy eV9ydW49RmFsc2UpOgorK0B0YXNrKGFsaWFzZXM9WyJ1cGRhdGUtbGFuZ3VhZ2VzIl0pCisrZGVm IHVwZGF0ZV9naGVya2luKGN0eCwgZHJ5X3J1bj1GYWxzZSwgdmVyYm9zZT1GYWxzZSk6CisgICAg ICIiIlVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZmlsZSBmcm9tIGN1Y3VtYmVyLXJl cG8uCisgCisgICAgICogRG93bmxvYWQgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZyb20gY3Vj dW1iZXIgcmVwbworQEAgLTQxLDggKzQyLDE4IEBAIGRlZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRy eV9ydW49RmFsc2UpOgorIAorICAgICAgICAgcHJpbnQoJ0dlbmVyYXRpbmcgImkxOG4ucHkiIC4u LicpCisgICAgICAgICBjdHgucnVuKCIuL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkiKQor LSAgICAgICAgY3R4LnJ1bigiZGlmZiBpMThuLnB5IC4uLy4uL2JlaGF2ZS9pMThuLnB5IikKKy0g ICAgICAgIGlmIG5vdCBkcnlfcnVuOgorKworKyAgICAgICAgIyAtLSBESUZGOiBSZXR1cm5zIG5v cm1hbGx5IHcvIG5vbi16ZXJvIGV4aXRjb2RlID0+IE5FRURTOiB3YXJuPVRydWUKKysgICAgICAg IGxhbmd1YWdlc19oYXZlX2NoYW5nZWQgPSBGYWxzZQorKyAgICAgICAgcmVzdWx0ID0gY3R4LnJ1 bigiZGlmZiBpMThuLnB5IC4uLy4uL2JlaGF2ZS9pMThuLnB5Iiwgd2Fybj1UcnVlLCBoaWRlPVRy dWUpCisrICAgICAgICBsYW5ndWFnZXNfaGF2ZV9jaGFuZ2VkID0gbm90IHJlc3VsdC5vaworKyAg ICAgICAgaWYgdmVyYm9zZSBhbmQgbGFuZ3VhZ2VzX2hhdmVfY2hhbmdlZDoKKysgICAgICAgICAg ICAjIC0tIFNIT1cgRElGRjoKKysgICAgICAgICAgICBwcmludChyZXN1bHQuc3Rkb3V0KQorKwor KyAgICAgICAgaWYgbm90IGxhbmd1YWdlc19oYXZlX2NoYW5nZWQ6CisrICAgICAgICAgICAgcHJp bnQoIk5PX0NIQU5HRUQ6IGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iKQorKyAgICAgICAgZWxpZiBu b3QgZHJ5X3J1bjoKKyAgICAgICAgICAgICBwcmludCgiVXBkYXRpbmcgYmVoYXZlL2kxOG4ucHkg Li4uIikKKyAgICAgICAgICAgICBQYXRoKCJpMThuLnB5IikubW92ZSgiLi4vLi4vYmVoYXZlL2kx OG4ucHkiKQorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFnYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1U cmF2aXMtODY3LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFnYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMt ODY3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMTU2MzA3M2M4 Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA5Ny1UZXN0LWFnYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2 aXMtODY3LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gZmJjNzMyZWQwZmY2MDdiOGVlZTEy MGZhNmQ4OTIwODk1YTg2OTNlMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHNhbnRv c2g2NTMgPDcwNjM3OTYxK3NhbnRvc2g2NTNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0 ZTogTW9uLCAxNCBEZWMgMjAyMCAxMjowNTo1MCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBUZXN0 IGFnYWluc3QgUG93ZXJQQyBDUFUgc3VwcG9ydCAoVHJhdmlzKSAoIzg2NykKKworUnVuIHRlc3Qg c3VpdGUgYWdhaW5zdCBib3RoIEFNRCBhbmQgUG93ZXJQQyBhcmNoaXRlY3R1cmUKKy0tLQorIC50 cmF2aXMueW1sIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitk aWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggNzgxYTYxMC4uMmI3 OGQ5NyAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTEs MyArMSw3IEBACisrYXJjaDogCisrICAtIGFtZDY0CisrICAtIHBwYzY0bGUKKysgIAorIGxhbmd1 YWdlOiBweXRob24KKyBzdWRvOiBmYWxzZQorIGRpc3Q6IHhlbmlhbCAgICMgcmVxdWlyZWQgZm9y IFB5dGhvbiA+PSAzLjcKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRl c3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDk4LUFkZC1Db250ZXh0LmF0dGFjaC1kb2NzLWFuZC10ZXN0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOGZlZTNjODhlCi0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5 OC1BZGQtQ29udGV4dC5hdHRhY2gtZG9jcy1hbmQtdGVzdC5wYXRjaApAQCAtMCwwICsxLDEzMiBA QAorRnJvbSBmYWEyODcyMTIyM2Y1ZWI4MTY1YWJiNmI4ODU5MWMxZWQzYTMzZmE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS29yaWpuIHZhbiBHb2xlbiA8ay52YW5nb2xlbkBjbGlu aWNhbGdyYXBoaWNzLmNvbT4KK0RhdGU6IFNhdCwgMjggTm92IDIwMjAgMTE6Mzk6MjggKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gQWRkIENvbnRleHQuYXR0YWNoLCBkb2NzIGFuZCB0ZXN0CisKKy0t LQorIGJlaGF2ZS9mb3JtYXR0ZXIvanNvbi5weSAgICAgICAgfCAgNiArKystLQorIGJlaGF2ZS9y dW5uZXIucHkgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysKKyBkb2NzL2Zvcm1hdHRlcnMu cnN0ICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysKKyBmZWF0dXJlcy9mb3JtYXR0ZXIu anNvbi5mZWF0dXJlIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBm aWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9qc29uLnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9qc29uLnB5 CitpbmRleCA2ZGEwZDU5Li5lZGZlM2Q3IDEwMDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9q c29uLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0dGVyL2pzb24ucHkKK0BAIC0xNjgsMTAgKzE2OCwx MiBAQCBjbGFzcyBKU09ORm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICBzZWxmLl9zdGVw X2luZGV4ICs9IDEKKyAKKyAgICAgZGVmIGVtYmVkZGluZyhzZWxmLCBtaW1lX3R5cGUsIGRhdGEp OgorLSAgICAgICAgc3RlcCA9IHNlbGYuY3VycmVudF9mZWF0dXJlX2VsZW1lbnRbInN0ZXBzIl1b LTFdCisrICAgICAgICBzdGVwID0gc2VsZi5jdXJyZW50X2ZlYXR1cmVfZWxlbWVudFsic3RlcHMi XVtzZWxmLl9zdGVwX2luZGV4XQorKyAgICAgICAgaWYgImVtYmVkZGluZ3MiIG5vdCBpbiBzdGVw OgorKyAgICAgICAgICAgIHN0ZXBbImVtYmVkZGluZ3MiXSA9IFtdCisgICAgICAgICBzdGVwWyJl bWJlZGRpbmdzIl0uYXBwZW5kKHsKKyAgICAgICAgICAgICAibWltZV90eXBlIjogbWltZV90eXBl LAorLSAgICAgICAgICAgICJkYXRhIjogYmFzZTY0LmI2NGVuY29kZShkYXRhKS5yZXBsYWNlKCJc biIsICIiKSwKKysgICAgICAgICAgICAiZGF0YSI6IGJhc2U2NC5iNjRlbmNvZGUoZGF0YSkuZGVj b2RlKHNlbGYuc3RyZWFtLmVuY29kaW5nIG9yICJ1dGYtOCIpLAorICAgICAgICAgfSkKKyAKKyAg ICAgZGVmIGVvZihzZWxmKToKK2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyLnB5IGIvYmVoYXZl L3J1bm5lci5weQoraW5kZXggZDAxYmZmMC4uYzU4M2NhZiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9y dW5uZXIucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXIucHkKK0BAIC00NzUsNiArNDc1LDE3IEBAIGNs YXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgICAgICAgICAjIC0tIEFWT0lEIERVUExJQ0FURVM6 CisgICAgICAgICAgICAgY3VycmVudF9mcmFtZVsiQGNsZWFudXBzIl0uYXBwZW5kKGludGVybmFs X2NsZWFudXBfZnVuYykKKyAKKysgICAgZGVmIGF0dGFjaChzZWxmLCBtaW1lX3R5cGUsIGRhdGEp OgorKyAgICAgICAgIiIiRW1iZWRzIGRhdGEgKGUuZy4gYSBzY3JlZW5zaG90KSBpbiByZXBvcnRz IGZvciBhbGwKKysgICAgICAgIGZvcm1hdHRlcnMgdGhhdCBzdXBwb3J0IGl0LCBzdWNoIGFzIHRo ZSBKU09OIGZvcm1hdHRlci4KKysKKysgICAgICAgIDpwYXJhbSBtaW1lX3R5cGU6ICAgICAgIE1J TUUgdHlwZSBvZiB0aGUgYmluYXJ5IGRhdGEuCisrICAgICAgICA6cGFyYW0gZGF0YTogICAgICAg ICAgICBCeXRlcy1saWtlIG9iamVjdCB0byBlbWJlZC4KKysgICAgICAgICIiIgorKyAgICAgICAg aXNfY29tcGF0aWJsZSA9IGxhbWJkYSBmOiBoYXNhdHRyKGYsICJlbWJlZGRpbmciKQorKyAgICAg ICAgZm9yIGZvcm1hdHRlciBpbiBmaWx0ZXIoaXNfY29tcGF0aWJsZSwgc2VsZi5fcnVubmVyLmZv cm1hdHRlcnMpOgorKyAgICAgICAgICAgIGZvcm1hdHRlci5lbWJlZGRpbmcobWltZV90eXBlLCBk YXRhKQorKworIAorIEBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCisgZGVmIHVzZV9jb250ZXh0 X3dpdGhfbW9kZShjb250ZXh0LCBtb2RlKToKK2RpZmYgLS1naXQgYS9kb2NzL2Zvcm1hdHRlcnMu cnN0IGIvZG9jcy9mb3JtYXR0ZXJzLnJzdAoraW5kZXggYTQwZmQ4ZC4uNTM0NDY4YSAxMDA2NDQK Ky0tLSBhL2RvY3MvZm9ybWF0dGVycy5yc3QKKysrKyBiL2RvY3MvZm9ybWF0dGVycy5yc3QKK0BA IC0xMTYsMyArMTE2LDIxIEBAIHRlYW1jaXR5ICAgICAgIDpweXBpOmBiZWhhdmUtdGVhbWNpdHlg LCBhIGZvcm1hdHRlciBmb3IgSmV0YnJhaW5zIFRlYW1DaXR5IENJIHRlCisgICAgIFtiZWhhdmUu Zm9ybWF0dGVyc10KKyAgICAgYWxsdXJlICAgPSBhbGx1cmVfYmVoYXZlLmZvcm1hdHRlcjpBbGx1 cmVGb3JtYXR0ZXIKKyAgICAgdGVhbWNpdHkgPSBiZWhhdmVfdGVhbWNpdHk6VGVhbWNpdHlGb3Jt YXR0ZXIKKysKKysKKytFbWJlZGRpbmcgZGF0YSAoZS5nLiBzY3JlZW5zaG90cykgaW4gcmVwb3J0 cworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK1lvdSBjYW4gZW1iZWQgZGF0YSBpbiByZXBv cnRzIHdpdGggdGhlIDpjbGFzczpgfmJlaGF2ZS5ydW5uZXIuQ29udGV4dGAgbWV0aG9kCisrOmZ1 bmM6YH5iZWhhdmUucnVubmVyLkNvbnRleHQuYXR0YWNoYCwgaWYgeW91IGhhdmUgY29uZmlndXJl ZCBhIGZvcm1hdHRlciB0aGF0Cisrc3VwcG9ydHMgaXQuIEN1cnJlbnRseSBvbmx5IHRoZSBKU09O IGZvcm1hdHRlciBzdXBwb3J0cyBlbWJlZGRpbmcgZGF0YS4KKysKKytGb3IgZXhhbXBsZToKKysK KysuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgIEB3aGVuKHUnSSBvcGVuIHRoZSBHb29n bGUgd2VicGFnZScpCisrICAgIGRlZiBzdGVwX2ltcGwoY29udGV4dCk6CisrICAgICAgICBjb250 ZXh0LmJyb3dzZXIuZ2V0KCdodHRwOi8vd3d3Lmdvb2dsZS5jb20nKQorKyAgICAgICAgaW1nID0g Y29udGV4dC5icm93c2VyLmdldF9mdWxsX3BhZ2Vfc2NyZWVuc2hvdF9hc19wbmcoKQorKyAgICAg ICAgY29udGV4dC5hdHRhY2goImltYWdlL3BuZyIsIGltZykKK2RpZmYgLS1naXQgYS9mZWF0dXJl cy9mb3JtYXR0ZXIuanNvbi5mZWF0dXJlIGIvZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24uZmVhdHVy ZQoraW5kZXggOTZiMjhjNy4uNjdjOTdhZSAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL2Zvcm1hdHRl ci5qc29uLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL2Zvcm1hdHRlci5qc29uLmZlYXR1cmUKK0BA IC0zMDksNiArMzA5LDQ4IEBAIEZlYXR1cmU6IEpTT04gRm9ybWF0dGVyCisgICAgICAgQnV0IG5v dGUgdGhhdCAiYm90aCBtYXRjaGVkIGFyZ3VtZW50cy52YWx1ZXMgYXJlIHByb3ZpZGVkIGFzIHN0 cmluZyIKKyAKKyAKKysgICAgU2NlbmFyaW86IFVzZSBKU09OIGZvcm1hdHRlciBhbmQgZW1iZWQg YmluYXJ5IGRhdGEgaW4gcmVwb3J0IGZyb20gdHdvIHN0ZXBzCisrICAgICAgR2l2ZW4gYSBmaWxl IG5hbWVkICJmZWF0dXJlcy9qc29uX2VtYmVkZGluZ3MuZmVhdHVyZSIgd2l0aDoKKysgICAgICAg ICAgIiIiCisrICAgICAgICAgIEZlYXR1cmU6CisrICAgICAgICAgICAgU2NlbmFyaW86IFVzZSBl bWJlZGRpbmdzCisrICAgICAgICAgICAgICAgIEdpdmVuICJmb29iYXIiIGFzIHBsYWluIHRleHQK KysgICAgICAgICAgICAgICAgQW5kICJyZWQiIGFzIHBsYWluIHRleHQKKysgICAgICAgICAgIiIi CisrICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvanNvbl9lbWJlZGRpbmdz X3N0ZXBzLnB5IiB3aXRoOgorKyAgICAgICAgICAiIiIKKysgICAgICAgICAgZnJvbSBiZWhhdmUg aW1wb3J0IHN0ZXAKKysKKysgICAgICAgICAgQHN0ZXAoJyJ7ZGF0YX0iIGFzIHBsYWluIHRleHQn KQorKyAgICAgICAgICBkZWYgc3RlcF9zdHJpbmcoY29udGV4dCwgZGF0YSk6CisrICAgICAgICAg ICAgICBjb250ZXh0LmF0dGFjaCgidGV4dC9wbGFpbiIsIGRhdGEuZW5jb2RlKCJ1dGYtOCIpKQor KyAgICAgICAgICAiIiIKKysgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYganNvbi5wcmV0dHkg ZmVhdHVyZXMvanNvbl9lbWJlZGRpbmdzLmZlYXR1cmUiCisrICAgICAgVGhlbiBpdCBzaG91bGQg cGFzcyB3aXRoOgorKyAgICAgICAgICAiIiIKKysgICAgICAgICAgMSBmZWF0dXJlIHBhc3NlZCwg MCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAgICAgICAxIHNjZW5hcmlvIHBhc3NlZCwgMCBmYWls ZWQsIDAgc2tpcHBlZAorKyAgICAgICAgICAiIiIKKysgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0 cHV0IHNob3VsZCBjb250YWluOgorKyAgICAgICAgICAiIiIKKysgICAgICAgICAgICAgICAgICAg ICJlbWJlZGRpbmdzIjogWworKyAgICAgICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAg ICAgICAgICAgICAgImRhdGEiOiAiWm05dlltRnkiLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICJtaW1lX3R5cGUiOiAidGV4dC9wbGFpbiIKKysgICAgICAgICAgICAgICAgICAgICAgfQorKyAg ICAgICAgICAgICAgICAgICAgXSwKKysgICAgICAgICAgIiIiCisrICAgICAgQW5kIHRoZSBjb21t YW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKysgICAgICAgICAgIiIiCisrICAgICAgICAgICAg ICAgICAgICAiZW1iZWRkaW5ncyI6IFsKKysgICAgICAgICAgICAgICAgICAgICAgeworKyAgICAg ICAgICAgICAgICAgICAgICAgICJkYXRhIjogImNtVmsiLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICJtaW1lX3R5cGUiOiAidGV4dC9wbGFpbiIKKysgICAgICAgICAgICAgICAgICAgICAgfQor KyAgICAgICAgICAgICAgICAgICAgXSwKKysgICAgICAgICAgIiIiCisrCisrCisgICAgIEB4ZmFp bAorICAgICBAcmVncmVzc2lvbl9wcm9ibGVtLndpdGhfZHVyYXRpb24KKyAgICAgU2NlbmFyaW86 IFVzZSBKU09OIGZvcm1hdHRlciB3aXRoIGZlYXR1cmUgYW5kIG9uZSBzY2VuYXJpbyB3aXRoIHN0 ZXBzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDk5LUFkZC1Db250cmlidXRpbmctY2hhcHRlci5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTktQWRkLUNvbnRy aWJ1dGluZy1jaGFwdGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uMGExMGJkNDI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5OS1BZGQtQ29udHJpYnV0aW5nLWNoYXB0ZXIu cGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gNDQ1ZWFjYWZlNTA0ODE1YmMwYmM1NTQ3ZTNi NWU2MGVkZjZiMzhlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBldGVyIEJpdHRu ZXIgPGRqYW5nb0BiaXR0bmVyLml0PgorRGF0ZTogU2F0LCAxMiBEZWMgMjAyMCAxOTo0NToyNiAr MDEwMAorU3ViamVjdDogW1BBVENIXSBBZGQgQ29udHJpYnV0aW5nIGNoYXB0ZXIKKworLS0tCisg ZG9jcy9jb25mLnB5ICAgICAgICAgIHwgIDIgKy0KKyBkb2NzL2NvbnRyaWJ1dGluZy5yc3QgfCA4 MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZG9jcy9pbmRl eC5yc3QgICAgICAgIHwgIDEgKworIDMgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL2NvbnRyaWJ1dGluZy5yc3QK KworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2RvY3MvY29uZi5weQoraW5kZXggZTU1ZmIy MS4uMTU3OWEzNiAxMDA2NDQKKy0tLSBhL2RvY3MvY29uZi5weQorKysrIGIvZG9jcy9jb25mLnB5 CitAQCAtMTA4LDcgKzEwOCw3IEBAIGlmIFVTRV9TUEhJTlhfSU5URVJOQVRJT05BTDoKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgcHJvamVjdCA9IHUiYmVoYXZlIgorIGF1dGhvcnMgPSB1Ikpl bnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJpY2hhcmQgSm9uZXMiCistY29weXJpZ2h0ID0gdSIy MDEyLTIwMTksICVzIiAlIGF1dGhvcnMKKytjb3B5cmlnaHQgPSB1IjIwMTItMjAyMCwgJXMiICUg YXV0aG9ycworIAorICMgVGhlIHZlcnNpb24gaW5mbyBmb3IgdGhlIHByb2plY3QgeW91J3JlIGRv Y3VtZW50aW5nLCBhY3RzIGFzIHJlcGxhY2VtZW50IGZvcgorICMgfHZlcnNpb258IGFuZCB8cmVs ZWFzZXwsIGFsc28gdXNlZCBpbiB2YXJpb3VzIG90aGVyIHBsYWNlcyB0aHJvdWdob3V0IHRoZQor ZGlmZiAtLWdpdCBhL2RvY3MvY29udHJpYnV0aW5nLnJzdCBiL2RvY3MvY29udHJpYnV0aW5nLnJz dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjc4ZjM2YmQKKy0tLSAvZGV2 L251bGwKKysrKyBiL2RvY3MvY29udHJpYnV0aW5nLnJzdAorQEAgLTAsMCArMSw4MiBAQAorK0Nv bnRyaWJ1dGluZworKz09PT09PT09PT09PQorKworK0lmIHlvdSBmaW5kIGEgYnVnIHlvdSBjYW4g Zml4IG9yIHdhbnQgdG8gY29udHJpYnV0ZSBhbiBlbmhhbmNlbWVudCB5b3UncmUKKyt3ZWxjb21l IHRvIGBvcGVuIGFuIGlzc3VlYF8gb24gR2l0SHViIG9yIGNyZWF0ZSBhIGBwdWxsIHJlcXVlc3Rg XyBkaXJlY3RseS4KKysKKysuLiBfb3BlbiBhbiBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2Jl aGF2ZS9iZWhhdmUvaXNzdWVzCisrLi4gX3B1bGwgcmVxdWVzdDogaHR0cHM6Ly9naXRodWIuY29t L2JlaGF2ZS9iZWhhdmUvcHVsbHMKKysKKytVc2luZyBgYGludm9rZWBgIGZvciBEZXZlbG9wbWVu dAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrRm9yIG1vc3QgZGV2ZWxv cG1lbnQgdGFza3Mgd2UgaGF2ZSBgaW52b2tlYF8gY29tbWFuZHMuCisrCisrSW5zdGFsbCBhbGwg cmVxdWlyZW1lbnRzIGZvciBydW5uaW5nIHRhc2tzIHVzaW5nIFBpcCwgZS5nLgorKworKy4uIGNv ZGUtYmxvY2s6OiBjb25zb2xlCisrCisrICAgIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLXIgdGFz a3MvcHkucmVxdWlyZW1lbnRzLnR4dAorKworK0Rpc3BsYXkgYWxsIGF2YWlsYWJsZSBgYGludm9r ZWBgIGNvbW1hbmRzIGxpa2UgdGhpczoKKysKKysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorKwor KyAgICBpbnZva2UgLWwKKysKKytJZiB5b3UncmUgY3VyaW91cywgYWxsIGBgaW52b2tlYGAgdGFz a3MgYXJlIGxvY2F0ZWQgaW4gdGhlIGBgdGFza3MvYGAKKytmb2xkZXIuCisrCisrLi4gX2ludm9r ZTogaHR0cHM6Ly93d3cucHlpbnZva2Uub3JnLworKworK1VwZGF0ZSBHaGVya2luIExhbmd1YWdl IFNwZWNpZmljYXRpb24KKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr CisrQW4gYGBpbnZva2VgYCBjb21tYW5kIHdpbGwgZG93bmxvYWQgdGhlIGxhdGVzdCBHaGVya2lu IGxhbmd1YWdlCisrc3BlY2lmaWNhdGlvbiBhbmQgdXBkYXRlIHRoZSBgYmVoYXZlL2kxOG4ucHlg XyBtb2R1bGU6CisrCisrLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKysKKysgICAgaW52b2tlIGRl dmVsb3AudXBkYXRlLWdoZXJraW4KKysKKytJZiB0aGVyZSB3ZXJlIGNoYW5nZXMgdGhpcyBjb21t YW5kIHdpbGwgaGF2ZSB1cGRhdGVkIHR3byBmaWxlczoKKysKKysjLiBgYGV0Yy9naGVya2luL2do ZXJraW4tbGFuZ3VhZ2VzLmpzb25gYCAob3JpZ2luYWwgQ3VjdW1iZXIgSlNPTiBzcGVjKQorKyMu IGBgYmVoYXZlL2kxOG4ucHlgYCAoUHl0aG9uIG1vZHVsZSBnZW5lcmF0ZWQgZnJvbSB0aGUgSlNP TiBzcGVjKQorKworK1B1dCBib3RoIHVuZGVyIHZlcnNpb24gY29udHJvbCBhbmQgb3BlbiBhIFBS IHRvIG1lcmdlIHRoZW0uCisrCisrLi4gX2JlaGF2ZS9pMThuLnB5OgorKyAgICBodHRwczovL2dp dGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9ibG9iL21hc3Rlci9iZWhhdmUvaTE4bi5weQorKworK1Vw ZGF0ZSBEb2N1bWVudGF0aW9uCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytPdXIgZG9jdW1l bnRhdGlvbiBpcyB3cml0dGVuIGluIGByZVN0cnVjdHVyZWRUZXh0YF8sIGFuZCBidWlsdCBhbmQg aG9zdGVkCisrb24gYFJlYWRUaGVEb2NzYF8uIE1ha2UgeW91ciBjaGFuZ2VzIHRvIHRoZSBmaWxl cyBpbiB0aGUgYGBkb2NzL2BgIGZvbGRlcgorK2FuZCBidWlsZCB0aGUgZG9jdW1lbnRhdGlvbiB3 aXRoOgorKworKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisrCisrICAgIGludm9rZSBkb2NzCisr Cisrb3IsIGFsdGVybmF0aXZlbHksIHVzaW5nIFRveDoKKysKKysuLiBjb2RlLWJsb2NrOjogY29u c29sZQorKworKyAgICB0b3ggLWUgZG9jcworKworKy4uIGhpbnQ6OgorKworKyAgICBCdWlsZGlu ZyB0aGUgZG9jcyByZXF1aXJlcyBTcGhpbnggYW5kIERvY1V0aWxzLiBJZiB5b3VyIGJ1aWxkIGZh aWxzCisrICAgIGJlY2F1c2UgdGhvc2UgYXJlIG1pc3NpbmcsIHJ1bjoKKysKKysgICAgICAgIHB5 dGhvbjMgLW0gcGlwIGluc3RhbGwgLXIgcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0CisrCisrT25j ZSB0aGUgZG9jcyBhcmUgYnVpbHQgc3VjY2Vzc2Z1bGx5LCBgYHNwaGlueGBgIHdpbGwgdGVsbCB5 b3Ugd2hlcmUgaXQKKytnZW5lcmF0ZWQgdGhlIEhUTUwgb3V0cHV0ICh0eXBpY2FsbHkgYGBidWls ZC9kb2NzL2h0bWxgYCksIHdoaWNoIHlvdSBjYW4KKyt0aGVuIGluc3BlY3QgbG9jYWxseS4KKysK KysuLiBfcmVTdHJ1Y3R1cmVkVGV4dDoKKysgICAgaHR0cHM6Ly93d3cuc3BoaW54LWRvYy5vcmcv ZW4vbWFzdGVyL3VzYWdlL3Jlc3RydWN0dXJlZHRleHQvYmFzaWNzLmh0bWwKKysuLiBfUmVhZFRo ZURvY3M6IGh0dHBzOi8vcmVhZHRoZWRvY3Mub3JnLworZGlmZiAtLWdpdCBhL2RvY3MvaW5kZXgu cnN0IGIvZG9jcy9pbmRleC5yc3QKK2luZGV4IGYwZGQyMGUuLmUwMDA3OWMgMTAwNjQ0CistLS0g YS9kb2NzL2luZGV4LnJzdAorKysrIGIvZG9jcy9pbmRleC5yc3QKK0BAIC00Myw2ICs0Myw3IEBA IENvbnRlbnRzCisgICAgY29tcGFyaXNvbgorICAgIG5ld19hbmRfbm90ZXdvcnRoeQorICAgIG1v cmVfaW5mbworKyAgIGNvbnRyaWJ1dGluZworICAgIGFwcGVuZGl4CisgCisgLi4gc2VlYWxzbzo6 CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTAwLUFkYXB0LVRveC10YXJnZXQtZm9yLWJ1aWxkaW5nLXRoZS1kb2NzLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEw MC1BZGFwdC1Ub3gtdGFyZ2V0LWZvci1idWlsZGluZy10aGUtZG9jcy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjAwMTAyYmFhOAotLS0gL2Rldi9udWxsCisrKyBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDAt QWRhcHQtVG94LXRhcmdldC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0Y2gKQEAgLTAsMCArMSwz NCBAQAorRnJvbSBjZDBmMTE2ODZlNDcwZDZlMTA3ZTAyYzVlYTNjZWJmNTJhNTNjZTBiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgQml0dG5lciA8ZGphbmdvQGJpdHRuZXIu aXQ+CitEYXRlOiBTYXQsIDEyIERlYyAyMDIwIDE5OjQ2OjI5ICswMTAwCitTdWJqZWN0OiBbUEFU Q0hdIEFkYXB0IFRveCB0YXJnZXQgZm9yIGJ1aWxkaW5nIHRoZSBkb2NzCisKK1RoaXMgd2lsbCBn ZW5lcmF0ZSB0aGUgSFRNTCBkb2NzIGluIHRoZSBzYW1lIGxvY2F0aW9uIGFzIGBpbnZva2UgZG9j c2AuCistLS0KKyB0b3guaW5pIHwgOCArKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90b3guaW5pIGIvdG94Lmlu aQoraW5kZXggYjgyNTkyMS4uOGNjYjU4YiAxMDA2NDQKKy0tLSBhL3RveC5pbmkKKysrKyBiL3Rv eC5pbmkKK0BAIC03NywxMiArNzcsOSBAQCBzZXRlbnYgPQorIAorIAorIFt0ZXN0ZW52OmRvY3Nd CistYmFzZXB5dGhvbj0gcHl0aG9uMgorIGNoYW5nZWRpciA9IGRvY3MKKy1jb21tYW5kcz0KKy0g ICAgc3BoaW54LWJ1aWxkIC1XIC1iIGh0bWwgLUQgbGFuZ3VhZ2U9ZW4gLWQge2VudnRtcGRpcn0v ZG9jdHJlZXMgLiB7ZW52dG1wZGlyfS9odG1sL2VuCistZGVwcz0KKy0gICAgLXJ7dG94aW5pZGly fS9weS5yZXF1aXJlbWVudHMvZG9jcy50eHQKKytjb21tYW5kcyA9IHNwaGlueC1idWlsZCAtVyAt YiBodG1sIC1EIGxhbmd1YWdlPWVuIC1kIHt0b3hpbmlkaXJ9L2J1aWxkL2RvY3MvZG9jdHJlZXMg LiB7dG94aW5pZGlyfS9idWlsZC9kb2NzL2h0bWwvZW4KKytkZXBzID0gLXJ7dG94aW5pZGlyfS9w eS5yZXF1aXJlbWVudHMvZG9jcy50eHQKKyAKKyAKKyBbdGVzdGVudjpjbGVhbnJvb20yXQorQEAg LTE0Niw0ICsxNDMsMyBAQCBjb21tYW5kcz0KKyBkZXBzPQorICAgICBqaXQKKyAgICAge1t0ZXN0 ZW52XWRlcHN9CistCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMTAxLU1lbnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9jdW1l bnRhdGlvbi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMDEtTWVudGlvbi1IVE1MLWZvcm1hdHRlci1pbi1kb2N1bWVudGF0aW9uLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNmI5ZGM5ZmM4Ci0tLSAv ZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEwMS1NZW50aW9uLUhUTUwtZm9ybWF0dGVyLWluLWRvY3VtZW50YXRpb24ucGF0 Y2gKQEAgLTAsMCArMSw4MyBAQAorRnJvbSAyNzFmOTVhM2ZmOGI3ODQzZWQxMDM0ZWIzMTE1YjI2 OTM1YWU5Njk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgQml0dG5lciA8 ZGphbmdvQGJpdHRuZXIuaXQ+CitEYXRlOiBUdWUsIDE1IERlYyAyMDIwIDExOjMwOjE3ICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIE1lbnRpb24gSFRNTCBmb3JtYXR0ZXIgaW4gZG9jdW1lbnRhdGlv bgorCistLS0KKyBkb2NzL2Zvcm1hdHRlcnMucnN0IHwgMjMgKysrKysrKysrKysrLS0tLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9kb2NzL2Zvcm1hdHRlcnMucnN0IGIvZG9jcy9mb3JtYXR0ZXJzLnJzdAor aW5kZXggNTM0NDY4YS4uNjA4MGZjNCAxMDA2NDQKKy0tLSBhL2RvY3MvZm9ybWF0dGVycy5yc3QK KysrKyBiL2RvY3MvZm9ybWF0dGVycy5yc3QKK0BAIC0xLDggKzEsOCBAQAorIC4uIF9pZC5hcHBl bmRpeC5mb3JtYXR0ZXJzOgorIAorLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKz09PT09PT09PT09 PT09PT09PT09PT09PQorIEZvcm1hdHRlcnMgYW5kIFJlcG9ydGVycworLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorKz09PT09PT09PT09PT09PT09PT09PT09PQorIAorIDpweXBpOmBiZWhhdmVgIHBy b3ZpZGVzIDIgZGlmZmVyZW50IGNvbmNlcHRzIGZvciByZXBvcnRpbmcgcmVzdWx0cyBvZiBhIHRl c3QgcnVuOgorIAorQEAgLTE1LDcgKzE1LDcgQEAgVGhlIGBgUmVwb3J0ZXJgYCBoYXMgYSBtb3Jl IGNvYXJzZS1ncmFpbmVkIEFQSS4KKyAKKyAKKyBSZXBvcnRlcnMKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKystLS0tLS0tLS0KKyAKKyBUaGUgZm9sbG93aW5nIHJlcG9ydGVycyBhcmUgY3VycmVu dGx5IHN1cHBvcnRlZDoKKyAKK0BAIC0yOCw3ICsyOCw3IEBAIHN1bW1hcnkgICAgICAgICBQcm92 aWRlcyBhIHN1bW1hcnkgb2YgdGhlIHRlc3QgcnVuLgorIAorIAorIEZvcm1hdHRlcnMKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKystLS0tLS0tLS0tCisgCisgVGhlIGZvbGxvd2luZyBmb3JtYXR0 ZXJzIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkOgorIAorQEAgLTYyLDcgKzYyLDcgQEAgdGFncy5s b2NhdGlvbiAgZHJ5LXJ1biAgU2hvd3MgdGFncyBhbmQgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZXkg YXJlIHVzZWQuCisgCisgCisgVXNlci1EZWZpbmVkIEZvcm1hdHRlcnMKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorIEJlaGF2ZSBhbGxvd3MgeW91 IHRvIHByb3ZpZGUgeW91ciBvd24gZm9ybWF0dGVyIChjbGFzcyk6OgorIAorQEAgLTk2LDE2ICs5 NiwxNiBAQCB0byBwcm92aWRlIHRoZW0uIFRoZSBmb3JtYXR0ZXIgc2hvdWxkIHVzZSB0aGUgYXR0 cmlidXRlIHNjaGVtYToKKyAKKyAKKyBNb3JlIEZvcm1hdHRlcnMKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKystLS0tLS0tLS0tLS0tLS0KKyAKKy1UaGUgZm9sbG93aW5nIGZvcm1hdHRlcnMgYXJl IGN1cnJlbnRseSBrbm93bjoKKytUaGUgZm9sbG93aW5nIGNvbnRyaWJ1dGVkIGZvcm1hdHRlcnMg YXJlIGN1cnJlbnRseSBrbm93bjoKKyAKKyA9PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CisgTmFtZSAgICAgICAgICAgRGVzY3JpcHRpb24KKyA9PT09PT09PT09PT09PSA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistYWxsdXJlICAgICAgICAgOnB5cGk6YGFsbHVyZS1iZWhhdmVgLCBhbiBBbGx1cmUg Zm9ybWF0dGVyIGZvciBiZWhhdmU6CistICAgICAgICAgICAgICAgYGBhbGx1cmVfYmVoYXZlLmZv cm1hdHRlcjpBbGx1cmVGb3JtYXR0ZXJgYAorLXRlYW1jaXR5ICAgICAgIDpweXBpOmBiZWhhdmUt dGVhbWNpdHlgLCBhIGZvcm1hdHRlciBmb3IgSmV0YnJhaW5zIFRlYW1DaXR5IENJIHRlc3RydW5z CisrYWxsdXJlICAgICAgICAgOnB5cGk6YGFsbHVyZS1iZWhhdmVgLCBhbiBBbGx1cmUgZm9ybWF0 dGVyIGZvciBiZWhhdmUuCisraHRtbCAgICAgICAgICAgOnB5cGk6YGJlaGF2ZS1odG1sLWZvcm1h dHRlcmAsIGEgc2ltcGxlIEhUTUwgZm9ybWF0dGVyIGZvciBiZWhhdmUuCisrdGVhbWNpdHkgICAg ICAgOnB5cGk6YGJlaGF2ZS10ZWFtY2l0eWAsIGEgZm9ybWF0dGVyIGZvciBKZXRCcmFpbnMgVGVh bUNpdHkgQ0kgdGVzdHJ1bnMKKyAgICAgICAgICAgICAgICB3aXRoIGJlaGF2ZS4KKyA9PT09PT09 PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisgCitAQCAtMTE0LDcgKzExNCw4IEBAIHRlYW1jaXR5 ICAgICAgIDpweXBpOmBiZWhhdmUtdGVhbWNpdHlgLCBhIGZvcm1hdHRlciBmb3IgSmV0YnJhaW5z IFRlYW1DaXR5IENJIHRlCisgICAgICMgLS0gRklMRTogYmVoYXZlLmluaQorICAgICAjIEZPUk1B VFRFUiBBTElBU0VTOiBiZWhhdmUgLWYgYWxsdXJlIC4uLgorICAgICBbYmVoYXZlLmZvcm1hdHRl cnNdCistICAgIGFsbHVyZSAgID0gYWxsdXJlX2JlaGF2ZS5mb3JtYXR0ZXI6QWxsdXJlRm9ybWF0 dGVyCisrICAgIGFsbHVyZSA9IGFsbHVyZV9iZWhhdmUuZm9ybWF0dGVyOkFsbHVyZUZvcm1hdHRl cgorKyAgICBodG1sID0gYmVoYXZlX2h0bWxfZm9ybWF0dGVyOkhUTUxGb3JtYXR0ZXIKKyAgICAg dGVhbWNpdHkgPSBiZWhhdmVfdGVhbWNpdHk6VGVhbWNpdHlGb3JtYXR0ZXIKKyAKKyAKZGlmZiAt LWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAxMDItVXNlLWNvbnNvbGUtaGlnaGxpZ2h0aW5nLWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEw Mi1Vc2UtY29uc29sZS1oaWdobGlnaHRpbmctZm9yLXBpcC1pbnN0YWxsLWRvY3MucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lNTNiODVkODAKLS0tIC9kZXYvbnVs bAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTAyLVVzZS1jb25zb2xlLWhpZ2hsaWdodGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRj aApAQCAtMCwwICsxLDIyIEBACitGcm9tIDBkNzA4YTVhMzgxMTlkOGY4ZWIzNTkxYWZiNDExYWRm ZmNlOGQ5ZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBCaXR0bmVyIDxk amFuZ29AYml0dG5lci5pdD4KK0RhdGU6IFR1ZSwgMTUgRGVjIDIwMjAgMTI6NDQ6NTIgKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gVXNlIGNvbnNvbGUgaGlnaGxpZ2h0aW5nIGZvciBgcGlwIGluc3Rh bGxgIChkb2NzKQorCistLS0KKyBkb2NzL2NvbnRyaWJ1dGluZy5yc3QgfCAyICsrCisgMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9jb250cmlidXRp bmcucnN0IGIvZG9jcy9jb250cmlidXRpbmcucnN0CitpbmRleCA3OGYzNmJkLi5mM2RlYjg3IDEw MDY0NAorLS0tIGEvZG9jcy9jb250cmlidXRpbmcucnN0CisrKysgYi9kb2NzL2NvbnRyaWJ1dGlu Zy5yc3QKK0BAIC03MSw2ICs3MSw4IEBAIG9yLCBhbHRlcm5hdGl2ZWx5LCB1c2luZyBUb3g6Cisg ICAgIEJ1aWxkaW5nIHRoZSBkb2NzIHJlcXVpcmVzIFNwaGlueCBhbmQgRG9jVXRpbHMuIElmIHlv dXIgYnVpbGQgZmFpbHMKKyAgICAgYmVjYXVzZSB0aG9zZSBhcmUgbWlzc2luZywgcnVuOgorIAor KyAgICAuLiBjb2RlLWJsb2NrOjogY29uc29sZQorKworICAgICAgICAgcHl0aG9uMyAtbSBwaXAg aW5zdGFsbCAtciBweS5yZXF1aXJlbWVudHMvZG9jcy50eHQKKyAKKyBPbmNlIHRoZSBkb2NzIGFy ZSBidWlsdCBzdWNjZXNzZnVsbHksIGBgc3BoaW54YGAgd2lsbCB0ZWxsIHlvdSB3aGVyZSBpdApk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDEwMy1kb2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMy1k b2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uN2IxZWZhYjNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMy1kb2Nz LWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAK K0Zyb20gZDQ0MjE0MTg5ZmMzNzMzYzE4YmFiYzQzMThmNzU2ODVhZTUyMGQ1ZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRpbSBHYXRlcyA8dGltLmdhdGVzQGlyZXNzLmNvbT4KK0Rh dGU6IFN1biwgMjcgRGVjIDIwMjAgMDg6MTY6MTYgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9j czogZml4IHNpbXBsZSB0eXBvLCB0dW9yaWFsIC0+IHR1dG9yaWFsCisKK1RoZXJlIGlzIGEgc21h bGwgdHlwbyBpbiBkb2NzL21vcmVfaW5mby5yc3QuCisKK1Nob3VsZCByZWFkIGB0dXRvcmlhbGAg cmF0aGVyIHRoYW4gYHR1b3JpYWxgLgorLS0tCisgZG9jcy9tb3JlX2luZm8ucnN0IHwgOCArKysr LS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9kb2NzL21vcmVfaW5mby5yc3QgYi9kb2NzL21vcmVfaW5mby5yc3QKK2lu ZGV4IGQwYjlmY2QuLjBkODdhOWMgMTAwNjQ0CistLS0gYS9kb2NzL21vcmVfaW5mby5yc3QKKysr KyBiL2RvY3MvbW9yZV9pbmZvLnJzdAorQEAgLTY2LDcgKzY2LDcgQEAgUHJlc2VudGF0aW9uIFZp ZGVvcworICogQmVubm8gUmljZTogYE1ha2luZyBZb3VyIEFwcGxpY2F0aW9uIEJlaGF2ZWBfICgz MG1pbiksCisgICAyMDEyLTA4LTEyLCBQeUNvbiBBdXN0cmFsaWEuCisgCistKiBTZWxlbml1bTog YEZpcnN0IGJlaGF2ZSBweXRob24gdHVvcmlhbCB3aXRoIHNlbGVuaXVtYF8gKDhtaW4pLCAyMDE1 LTAxLTI4LAorKyogU2VsZW5pdW06IGBGaXJzdCBiZWhhdmUgcHl0aG9uIHR1dG9yaWFsIHdpdGgg c2VsZW5pdW1gXyAoOG1pbiksIDIwMTUtMDEtMjgsCisgICBodHRwOi8vd3d3LnNlbGVuaXVtZnJh bWV3b3JrLmNvbS9weXRob24tYmFzaWMvZmlyc3QtYmVoYXZlLWdoZXJraW4vCisgCisgKiBKZXNz aWNhIEluZ3Jhc3NlbGlubzogYEF1dG9tYXRpb24gd2l0aCBQeXRob24gYW5kIEJlaGF2ZWBfICg2 N21pbiksIDIwMTUtMTItMTYKK0BAIC04NCw3ICs4NCw3IEBAIFByZXNlbnRhdGlvbiBWaWRlb3MK KyAgICAgICAgICogQmVubm8gUmljZTogYE1ha2luZyBZb3VyIEFwcGxpY2F0aW9uIEJlaGF2ZWBf ICgzMG1pbiksCisgICAgICAgICAgIFB5Q29uIEF1c3RyYWxpYSwgMjAxMi0wOC0xMgorIAorLSAg ICAgICAgKiBTZWxlbml1bTogYEZpcnN0IGJlaGF2ZSBweXRob24gdHVvcmlhbCB3aXRoIHNlbGVu aXVtYF8gKDhtaW4pLCAyMDE1LTAxLTI4LAorKyAgICAgICAgKiBTZWxlbml1bTogYEZpcnN0IGJl aGF2ZSBweXRob24gdHV0b3JpYWwgd2l0aCBzZWxlbml1bWBfICg4bWluKSwgMjAxNS0wMS0yOCwK KyAgICAgICAgICAgaHR0cDovL3d3dy5zZWxlbml1bWZyYW1ld29yay5jb20vcHl0aG9uLWJhc2lj L2ZpcnN0LWJlaGF2ZS1naGVya2luLworIAorICAgICAgICAgKiBKZXNzaWNhIEluZ3Jhc3NlbGlu bzogYEF1dG9tYXRpb24gd2l0aCBQeXRob24gYW5kIEJlaGF2ZWBfICg2N21pbiksIDIwMTUtMTIt MTYKK0BAIC0xMTIsNyArMTEyLDcgQEAgUHJlc2VudGF0aW9uIFZpZGVvcworICAgICAgICAgICAg IDp3aWR0aDogNjAwCisgICAgICAgICAgICAgOmhlaWdodDogNDAwCisgCistICAgICAgICBTZWxl bml1bTogYEZpcnN0IGJlaGF2ZSBweXRob24gdHVvcmlhbCB3aXRoIHNlbGVuaXVtYF8KKysgICAg ICAgIFNlbGVuaXVtOiBgRmlyc3QgYmVoYXZlIHB5dGhvbiB0dXRvcmlhbCB3aXRoIHNlbGVuaXVt YF8KKyAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgorIAorICAgICAgICAgOkRhdGU6IDIwMTUtMDEtMjgKK0BAIC0xNDYsNyArMTQ2 LDcgQEAgUHJlc2VudGF0aW9uIFZpZGVvcworIAorIAorIC4uIF9gTWFraW5nIFlvdXIgQXBwbGlj YXRpb24gQmVoYXZlYDogaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj11OEJPS3VOa21o ZworLS4uIF9gRmlyc3QgYmVoYXZlIHB5dGhvbiB0dW9yaWFsIHdpdGggc2VsZW5pdW1gOiBodHRw czovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUQyNF9RckdVQ0ZrCisrLi4gX2BGaXJzdCBiZWhh dmUgcHl0aG9uIHR1dG9yaWFsIHdpdGggc2VsZW5pdW1gOiBodHRwczovL3d3dy55b3V0dWJlLmNv bS93YXRjaD92PUQyNF9RckdVQ0ZrCisgLi4gX2BBdXRvbWF0aW9uIHdpdGggUHl0aG9uIGFuZCBC ZWhhdmVgOiBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWU3OGM3aDZEUkRRCisgLi4g X2BTZWxlbml1bSBQeXRob24gV2ViZHJpdmVyIFR1dG9yaWFsIC0gQmVoYXZlIChCREQpYDogaHR0 cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1tZXh0U28wVUV4YworIApkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNC1B ZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNC1BZGQt c3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2NmYWExYWU2Ci0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEw NC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoCkBA IC0wLDAgKzEsMjI3IEBACitGcm9tIDQxNDU4N2FhOWFjMzQ5OTdjN2ZlYjc3NmY5MTRkZDIzYWFl MGQwNmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMTIgT2N0IDIwMjAgMjE6NTI6MjUg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIHB5dGhvbjMuOSAoYnkgdXNp bmcgYWN0aXZlLXRhZ3MpLgorCistLS0KKyBmZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1 cmUgfCAyMSArKysrKysrKysrKysrKysrKysrKysKKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAu ZmVhdHVyZSAgfCAgNiArKysrKysKKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSAg fCAgNCArKysrCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUgIHwgIDUgKysrKysK KyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZSAgfCAgMyArKysKKyA1IGZpbGVzIGNo YW5nZWQsIDM5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0ZXAuYXN5 bmNfc3RlcHMuZmVhdHVyZSBiL2ZlYXR1cmVzL3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQoraW5k ZXggM2ExOGZhOS4uMDY3MDlkOSAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL3N0ZXAuYXN5bmNfc3Rl cHMuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJlCitAQCAt MzIsNiArMzIsOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4u LikKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2UgYXN5bmMtc3RlcCB3aXRoIEBhc3luY19ydW5f dW50aWxfY29tcGxldGUgKGFzeW5jKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0 b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMz NS5weSIgd2l0aDoKK0BAIC02Myw2ICs2Niw5IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9y dCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40Cisg ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuNgorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OQorICAgICBTY2VuYXJpbzogVXNlIGFzeW5jLXN0ZXAgd2l0aCBAYXN5bmNfcnVuX3VudGlsX2Nv bXBsZXRlIChAY29yb3V0aW5lKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5 CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5w eSIgd2l0aDoKK0BAIC05Myw2ICs5OSw5IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAo YXN5bmMtc3RlcCwgLi4uKQorIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41Cisg ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuNworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3Vu dGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBhbmQgVElNRU9VVCBvY2N1cnMgKGFzeW5jKQorICAg ICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1l ZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHNfdGltZW91dDM1LnB5IiB3aXRoOgorQEAgLTEy OCw2ICsxMzcsOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4u LikKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My45CisgICAgIEBhc3luY19zdGVwX2ZhaWxzCisgICAgIFNjZW5hcmlvOiBVc2UgQGFz eW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCBmYWlscworICAgICAgIEdpdmVu IGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CitAQCAtMTcwLDYgKzE4Miw5IEBAIEZlYXR1cmU6IEFz eW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorIAorICAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My41CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgQGFzeW5jX3N0 ZXBfZmFpbHMKKyAgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFu ZCBhc3luYy1zdGVwIHJhaXNlcyBlcnJvcgorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGly ZWN0b3J5CitAQCAtMjEzLDYgKzIyOCw5IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAo YXN5bmMtc3RlcCwgLi4uKQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CisgICAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJz aW9uPTMuNgorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQor ICAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUodGltZW91dD0uLi4p IGFuZCBUSU1FT1VUIG9jY3VycyAoQGNvcm91dGluZSkKKyAgICAgICBHaXZlbiBhIG5ldyB3b3Jr aW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2Fz eW5jX3N0ZXBzX3RpbWVvdXQzNC5weSIgd2l0aDoKK0BAIC0yNTAsNiArMjY4LDkgQEAgRmVhdHVy ZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAgIEB1c2Uud2l0aF9w eXRob24udmVyc2lvbj0zLjQKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVy c2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2UgYXN5bmMtZGlzcGF0Y2gg YW5kIGFzeW5jLWNvbGxlY3QgY29uY2VwdHMKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRp cmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rp c3BhdGNoX3N0ZXBzLnB5IiB3aXRoOgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDMzMC5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKK2luZGV4IDgx Y2I2ZTIuLmJlNGQzNzggMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVh dHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKK0BAIC03MSw2ICs3 MSw3IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRl ZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisgCisgICBAbm90LndpdGhfcHl0aG9u LnZlcnNpb249My44CisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICBTY2VuYXJp bzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hv dy1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hv dy1za2lwcGVkIEBhbGljZV9hbmRfYm9iLmZlYXR1cmVzZXQiCisgICAgIFRoZW4gaXQgc2hvdWxk IHBhc3Mgd2l0aDoKK0BAIC04NSw2ICs4Niw3IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBw ZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisg ICAgICAgIiIiCisgCisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My45CisgICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lw cGVkIGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBy dW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIEBhbGljZV9hbmRfYm9i LmZlYXR1cmVzZXQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC0xMDEsNiAr MTAzLDcgQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1 ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAgICAgICAjIDx0ZXN0c3VpdGUgZXJy b3JzPSIwIiBmYWlsdXJlcz0iMCIgbmFtZT0iYm9iLkJvYiIgc2tpcHBlZD0iMSIgdGVzdHM9IjEi IHRpbWU9IjAuMCI+CisgCisgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICBAbm90 LndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBz a2lwcGVkIHNjZW5hcmlvIGlzIG5laXRoZXIgc2hvd24gbm9yIGNvdW50ZWQgd2l0aCAtLW5vLXNr aXBwZWQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1uby1za2lw cGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTIxLDYgKzEyNCw3IEBA IEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBq dW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgICAgIEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMg dGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNoYXJseS5mZWF0dXJlIgorIAorICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAg U2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNo b3duIG5vciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2 ZSAtLWp1bml0IC10IEB0YWcxIC0tbm8tc2tpcHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFz cyB3aXRoOgorQEAgLTE0NCw2ICsxNDgsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVk IHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAor IAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQG5vdC53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJp byBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBy dW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgorICAgICBUaGVuIGl0 IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTY1LDYgKzE3MCw3IEBAIEZlYXR1cmU6IElzc3VlICMz MzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4g LS1uby1zCisgCisgCisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My45CisgICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lw cGVkIHNjZW5hcmlvIGlzIHNob3duIGFuZCBjb3VudGVkIHdpdGggLS1zaG93LXNraXBwZWQKKyAg ICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQiCisg ICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJl cy9pc3N1ZTA0NDYuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitp bmRleCA5MDFiZGVjLi4xMmRlMzdhIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUw NDQ2LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCitAQCAt NTksNiArNTksNyBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9v ay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgICAgICAgICAiIiIKKyAKKyAgICAgQG5vdC53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45 CisgICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGJlZm9yZV9zY2VuYXJpbygpCisgICAgICAg V2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYmVmb3JlX3NjZW5h cmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CitA QCAtODgsNiArODksNyBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8g aG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgCisgCisgICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBT Y2VuYXJpbzogSG9vayBlcnJvciBpbiBiZWZvcmVfc2NlbmFyaW8oKQorICAgICAgIFdoZW4gSSBy dW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2JlZm9yZV9zY2VuYXJpb19mYWls dXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorQEAgLTEyMSw2 ICsxMjMsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1l cnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgCisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVy c2lvbj0zLjgKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJp bzogSG9vayBlcnJvciBpbiBhZnRlcl9zY2VuYXJpbygpCisgICAgICAgV2hlbiBJIHJ1biAiYmVo YXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5mZWF0 dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKK0BAIC0xNTIsNiArMTU1LDcg QEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdp dGggSlVuaXRSZXBvcnRlcgorIAorIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IEhvb2sg ZXJyb3IgaW4gYWZ0ZXJfc2NlbmFyaW8oKQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBw bGFpbiAtLWp1bml0IGZlYXR1cmVzL2FmdGVyX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAg ICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVy ZXMvaXNzdWUwNDU3LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQor aW5kZXggNDZmOTZlOS4uNmQyZjQ4ZiAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDQ1Ny5mZWF0dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQorQEAg LTI1LDYgKzI1LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVy cm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisgCisgCisgICAgIEBub3Qud2l0aF9w eXRob24udmVyc2lvbj0zLjgKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAg ICBTY2VuYXJpbzogVXNlIGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0 CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczEuZmVhdHVyZSIgd2l0 aDoKKyAgICAgICAgICIiIgorQEAgLTQ2LDYgKzQ3LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAt LSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisg ICAgICAgICAiIiIKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBh c3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFt ZWQgImZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtNzAs NiArNzIsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3Ig bWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhv bi52ZXJzaW9uPTMuOAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNj ZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVu IGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAi IiIKK0BAIC05MCw3ICs5Myw5IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3Rl cyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworICAgICAgICAgPGVycm9y IG1lc3NhZ2U9Ik15IG5hbWUgaXMgJnF1b3Q7Qm9iJnF1b3Q7IGFuZCAmbHQ7aGVyZSZndDsgSSBh bSIKKyAgICAgICAgICIiIgorIAorKworICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IFVzZSBl eGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVk ICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorZGlmZiAtLWdp dCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNz dWUwNjU3LmZlYXR1cmUKK2luZGV4IGY2Njc4OTMuLmFlYWVmZDIgMTAwNjQ0CistLS0gYS9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUw NjU3LmZlYXR1cmUKK0BAIC01LDYgKzUsOSBAQCBGZWF0dXJlOiBJc3N1ZSAjNjU3IC0tIEFsbG93 IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2UgZQorIAor ICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CisgICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjkKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMKKyAgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVu X3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVwIGZhaWxzCisgICAgICAgR2l2ZW4gYSBuZXcg d29ya2luZyBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDUtUFJFRkVSLXB5dGhvbjMtZnJvbS1ub3ctb24u cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTA1LVBSRUZFUi1weXRob24zLWZyb20tbm93LW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uYWI2YjU3ODViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNS1QUkVGRVIt cHl0aG9uMy1mcm9tLW5vdy1vbi5wYXRjaApAQCAtMCwwICsxLDE5IEBACitGcm9tIDRlNTM3NWQy OGUzYWRhNzE3MTZjYTZmZTUwN2Q4MjExMDlkODMyZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6 IE1vbiwgMTIgT2N0IDIwMjAgMjI6MTQ6NTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUFJFRkVS OiBweXRob24zIGZyb20gbm93IG9uLgorCistLS0KKyBiaW4vYmVoYXZlIHwgMiArLQorIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEv YmluL2JlaGF2ZSBiL2Jpbi9iZWhhdmUKK2luZGV4IGMwMmU4ZDMuLjllYmI1ODQgMTAwNzU1Cist LS0gYS9iaW4vYmVoYXZlCisrKysgYi9iaW4vYmVoYXZlCitAQCAtMSw0ICsxLDQgQEAKKy0jIS91 c3IvYmluL2VudiBweXRob24KKysjIS91c3IvYmluL2VudiBweXRob24zCisgIyAtKi0gY29kaW5n OiB1dGYtOCAtKi0KKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydApk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDEwNi1SRU1PVkUtaW52b2tlLXNjcmlwdHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA2LVJFTU9WRS1pbnZva2Utc2Ny aXB0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjMzNzc3Nzk3 OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAxMDYtUkVNT1ZFLWludm9rZS1zY3JpcHRzLnBhdGNoCkBAIC0wLDAg KzEsNDEgQEAKK0Zyb20gOGU1NjJhNDIwN2Y4MDhkMmM1ZjQ2OTMzYWY2NWM4ZmUzMWNlMmU4ZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIxOjUyOjA0ICswMTAwCitT dWJqZWN0OiBbUEFUQ0hdIFJFTU9WRTogaW52b2tlIHNjcmlwdHMKKworLS0tCisgYmluL2ludm9r ZSAgICAgfCA4IC0tLS0tLS0tCisgYmluL2ludm9rZS5jbWQgfCA5IC0tLS0tLS0tLQorIDIgZmls ZXMgY2hhbmdlZCwgMTcgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNzU1IGJpbi9pbnZv a2UKKyBkZWxldGUgbW9kZSAxMDA2NDQgYmluL2ludm9rZS5jbWQKKworZGlmZiAtLWdpdCBhL2Jp bi9pbnZva2UgYi9iaW4vaW52b2tlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IGU5 ODAwZTguLjAwMDAwMDAKKy0tLSBhL2Jpbi9pbnZva2UKKysrKyAvZGV2L251bGwKK0BAIC0xLDgg KzAsMCBAQAorLSMhL2Jpbi9zaAorLSMhL2Jpbi9iYXNoCistIyBSVU4gSU5WT0tFOiBGcm9tIGJ1 bmRsZWQgWklQIGZpbGUuCistCistSEVSRT0kKGRpcm5hbWUgJDApCistZXhwb3J0IElOVk9LRV9U QVNLU19VU0VfVkVORE9SX0JVTkRMRVM9InllcyIKKy0KKy1weXRob24gJHtIRVJFfS8uLi90YXNr cy9fdmVuZG9yL2ludm9rZS56aXAgJCoKK2RpZmYgLS1naXQgYS9iaW4vaW52b2tlLmNtZCBiL2Jp bi9pbnZva2UuY21kCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDkzMDM0MzIuLjAw MDAwMDAKKy0tLSBhL2Jpbi9pbnZva2UuY21kCisrKysgL2Rldi9udWxsCitAQCAtMSw5ICswLDAg QEAKKy1AZWNobyBvZmYKKy1SRU0gUlVOIElOVk9LRTogRnJvbSBidW5kbGVkIFpJUCBmaWxlLgor LQorLXNldGxvY2FsCistc2V0IEhFUkU9JX5kcDAKKy1zZXQgSU5WT0tFX1RBU0tTX1VTRV9WRU5E T1JfQlVORExFUz0ieWVzIgorLWlmIG5vdCBkZWZpbmVkIFBZVEhPTiAgIHNldCBQWVRIT049cHl0 aG9uCistCistJVBZVEhPTiUgJUhFUkUlLi4vdGFza3MvX3ZlbmRvci9pbnZva2UuemlwICIlKiIK ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAxMDctRklYLURlcHJlY2F0ZWQtd2FybmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA3 LUZJWC1EZXByZWNhdGVkLXdhcm5pbmdzLWZvci1QeXRob24tMy54LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDJhZjQwNzc1Ci0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNy1G SVgtRGVwcmVjYXRlZC13YXJuaW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaApAQCAtMCwwICsxLDEy NCBAQAorRnJvbSBmYTUyYzYzNDA5OTBmZWU5N2ZiY2RmODUyZTE2OGUwZjNlMjgxODIxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIwMjEgMjE6NTI6NDIgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gRklYOiBEZXByZWNhdGVkIHdhcm5pbmdzIGZvciBQeXRob24gMy54CisKKy0t LQorIGJpbi9qc29uLmZvcm1hdC5weSAgICAgICAgIHwgMTUgKysrKysrKysrKy0tLS0tCisgYmlu L2pzb25zY2hlbWFfdmFsaWRhdGUucHkgfCAyMyArKysrKysrKysrKysrKysrLS0tLS0tLQorIDIg ZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9iaW4vanNvbi5mb3JtYXQucHkgYi9iaW4vanNvbi5mb3JtYXQucHkKK2luZGV4IGI3 ZWIwNWYuLmI3NWQ4OGEgMTAwNzU1CistLS0gYS9iaW4vanNvbi5mb3JtYXQucHkKKysrKyBiL2Jp bi9qc29uLmZvcm1hdC5weQorQEAgLTEwLDggKzEwLDggQEAgTElDRU5TRTogIEJTRAorIGZyb20g X19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgCisgX19hdXRob3JfXyAgICA9ICJK ZW5zIEVuZ2VsIgorLV9fY29weXJpZ2h0X18gPSAiKGMpIDIwMTEtMjAxMyBieSBKZW5zIEVuZ2Vs IgorLVZFUlNJT04gPSAiMC4yLjIiCisrX19jb3B5cmlnaHRfXyA9ICIoYykgMjAxMS0yMDIxIGJ5 IEplbnMgRW5nZWwiCisrVkVSU0lPTiA9ICIwLjMuMCIKKyAKKyAjIC0tIElNUE9SVFM6CisgaW1w b3J0IG9zLnBhdGgKK0BAIC0yOSw2ICsyOSw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAjIENP TlNUQU5UUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBERUZBVUxUX0lOREVOVF9TSVpFID0g MgorK1BZVEhPTl9WRVJTSU9OID0gc3lzLnZlcnNpb25faW5mb1s6Ml0KKyAKKyAjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAjIEZVTkNUSU9OUzoKK0BAIC01OCw3ICs1OSwxMSBAQCBkZWYganNvbl9m b3JtYXQoZmlsZW5hbWUsIGluZGVudD1ERUZBVUxUX0lOREVOVF9TSVpFLCAqKmt3YXJncyk6Cisg IyAgICAgICAgcmV0dXJuIDAKKyAKKyAgICAgY29udGVudHMgPSBvcGVuKGZpbGVuYW1lLCAiciIp LnJlYWQoKQorLSAgICBkYXRhICAgICAgPSBqc29uLmxvYWRzKGNvbnRlbnRzLCBlbmNvZGluZz1l bmNvZGluZykKKysgICAgaWYgUFlUSE9OX1ZFUlNJT04gPj0gKDMsIDEpOgorKyAgICAgICAgIyAt LSBOT1RFOiBlbmNvZGluZyBrZXl3b3JkIGlzIGRlcHJlY2F0ZWQgc2luY2UgcHl0aG9uIDMuMQor KyAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMoY29udGVudHMpCisrICAgIGVsc2U6CisrICAgICAg ICBkYXRhID0ganNvbi5sb2Fkcyhjb250ZW50cywgZW5jb2Rpbmc9ZW5jb2RpbmcpCisgICAgIGNv bnRlbnRzMiA9IGpzb24uZHVtcHMoZGF0YSwgaW5kZW50PWluZGVudCwgc29ydF9rZXlzPXNvcnRf a2V5cykKKyAgICAgY29udGVudHMyID0gY29udGVudHMyLnN0cmlwKCkKKyAgICAgY29udGVudHMy ID0gIiVzXG4iICUgY29udGVudHMyCitAQCAtNjksNyArNzQsNyBAQCBkZWYganNvbl9mb3JtYXQo ZmlsZW5hbWUsIGluZGVudD1ERUZBVUxUX0lOREVOVF9TSVpFLCAqKmt3YXJncyk6CisgICAgICAg ICBvdXRmaWxlID0gb3BlbihmaWxlbmFtZSwgInciKQorICAgICAgICAgb3V0ZmlsZS53cml0ZShj b250ZW50czIpCisgICAgICAgICBvdXRmaWxlLmNsb3NlKCkKKy0gICAgICAgIGNvbnNvbGUud2Fy bigiJXMgT0siLCBtZXNzYWdlKQorKyAgICAgICAgY29uc29sZS53YXJuaW5nKCIlcyBPSyIsIG1l c3NhZ2UpCisgICAgICAgICByZXR1cm4gMSAjPCBPSworIAorIGRlZiBqc29uX2Zvcm1hdGFsbChm aWxlbmFtZXMsIGluZGVudD1ERUZBVUxUX0lOREVOVF9TSVpFLCBkcnlfcnVuPUZhbHNlKToKK0BA IC0xNDMsNyArMTQ4LDcgQEAgRm9ybWF0L0JlYXV0aWZ5IG9uZSBvciBtb3JlIEpTT04gZmlsZShz KS4iIiIKKyAgICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCJTS0lQICVzLCBubyBKU09OIGZp bGVzIGZvdW5kIGluIGRpci4iLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgc2tpcHBlZCAr PSAxCisgICAgICAgICBlbGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSk6CistICAgICAg ICAgICAgY29uc29sZS53YXJuKCJTS0lQICVzLCBmaWxlIG5vdCBmb3VuZC4iLCBmaWxlbmFtZSkK KysgICAgICAgICAgICBjb25zb2xlLndhcm5pbmcoIlNLSVAgJXMsIGZpbGUgbm90IGZvdW5kLiIs IGZpbGVuYW1lKQorICAgICAgICAgICAgIHNraXBwZWQgKz0gMQorICAgICAgICAgICAgIGNvbnRp bnVlCisgICAgICAgICBlbHNlOgorZGlmZiAtLWdpdCBhL2Jpbi9qc29uc2NoZW1hX3ZhbGlkYXRl LnB5IGIvYmluL2pzb25zY2hlbWFfdmFsaWRhdGUucHkKK2luZGV4IGRiMmVkYjEuLmZlNzU5NmUg MTAwNzU1CistLS0gYS9iaW4vanNvbnNjaGVtYV92YWxpZGF0ZS5weQorKysrIGIvYmluL2pzb25z Y2hlbWFfdmFsaWRhdGUucHkKK0BAIC0xOCwxMSArMTgsMTEgQEAgZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgX19hdXRob3JfXyAgPSAiSmVu cyBFbmdlbCIKKyBfX3ZlcnNpb25fXyA9ICIwLjEuMCIKKyAKKy1mcm9tIGpzb25zY2hlbWEgaW1w b3J0IHZhbGlkYXRlCisgaW1wb3J0IGFyZ3BhcnNlCisgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQg c3lzCisgaW1wb3J0IHRleHR3cmFwCisrZnJvbSBqc29uc2NoZW1hIGltcG9ydCB2YWxpZGF0ZQor IHRyeToKKyAgICAgaW1wb3J0IGpzb24KKyBleGNlcHQgSW1wb3J0RXJyb3I6CitAQCAtMzgsMTYg KzM4LDI4IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyBIRVJFID0gb3MucGF0aC5kaXJuYW1lKF9f ZmlsZV9fKQorIFRPUCAgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihIRVJFLCAiLi4i KSkKKyBTQ0hFTUEgPSBvcy5wYXRoLmpvaW4oVE9QLCAiZXRjIiwgImpzb24iLCAiYmVoYXZlLmpz b24tc2NoZW1hIikKKytQWVRIT05fVkVSU0lPTiA9IHN5cy52ZXJzaW9uX2luZm9bOjJdCisgCisg CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgRlVOQ1RJT05TOgorICMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKy1kZWYganNvbnNjaGVtYV92YWxpZGF0ZShmaWxlbmFtZSwgc2NoZW1hLCBlbmNv ZGluZz1Ob25lKToKKytkZWYganNvbl9sb2Fkcyh0ZXh0LCBlbmNvZGluZz1Ob25lKToKKysgICAg a3dhcmdzID0ge30KKysgICAgaWYgZW5jb2RpbmcgYW5kIFBZVEhPTl9WRVJTSU9OIDwgKDMsIDEp OgorKyAgICAgICAgIyAtLSBOT1RFOiBlbmNvZGluZyBrZXl3b3JkIGlzIGRlcHJlY2F0ZWQgc2lu Y2UgcHl0aG9uIDMuMQorKyAgICAgICAga3dhcmdzWyJlbmNvZGluZyJdID0gZW5jb2RpbmcKKysg ICAgcmV0dXJuIGpzb24ubG9hZHModGV4dCwgKiprd2FyZ3MpCisrCisrZGVmIGpzb25fbG9hZChm aWxlbmFtZSwgZW5jb2Rpbmc9Tm9uZSk6CisgICAgIGYgPSBvcGVuKGZpbGVuYW1lLCAiciIpCisg ICAgIGNvbnRlbnRzID0gZi5yZWFkKCkKKyAgICAgZi5jbG9zZSgpCistICAgIGRhdGEgPSBqc29u LmxvYWRzKGNvbnRlbnRzLCBlbmNvZGluZz1lbmNvZGluZykKKysgICAgZGF0YSA9IGpzb25fbG9h ZHMoY29udGVudHMsIGVuY29kaW5nPWVuY29kaW5nKQorKyAgICByZXR1cm4gZGF0YQorKworK2Rl ZiBqc29uc2NoZW1hX3ZhbGlkYXRlKGZpbGVuYW1lLCBzY2hlbWEsIGVuY29kaW5nPU5vbmUpOgor KyAgICBkYXRhID0ganNvbl9sb2FkKGZpbGVuYW1lLCBlbmNvZGluZz1lbmNvZGluZykKKyAgICAg cmV0dXJuIHZhbGlkYXRlKGRhdGEsIHNjaGVtYSkKKyAKKyAKK0BAIC04OSwxMCArMTAxLDcgQEAg ZGVmIG1haW4oYXJncz1Ob25lKToKKyAgICAgICAgIHBhcnNlci5lcnJvcigiU0NIRU1BIG5vdCBm b3VuZDogJXMiICUgb3B0aW9ucy5zY2hlbWEpCisgCisgICAgIHRyeToKKy0gICAgICAgIGYgPSBv cGVuKG9wdGlvbnMuc2NoZW1hLCAiciIpCistICAgICAgICBjb250ZW50cyA9IGYucmVhZCgpCist ICAgICAgICBmLmNsb3NlKCkKKy0gICAgICAgIHNjaGVtYSA9IGpzb24ubG9hZHMoY29udGVudHMs IGVuY29kaW5nPW9wdGlvbnMuZW5jb2RpbmcpCisrICAgICAgICBzY2hlbWEgPSBqc29uX2xvYWQo b3B0aW9ucy5zY2hlbWEsIGVuY29kaW5nPW9wdGlvbnMuZW5jb2RpbmcpCisgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZToKKyAgICAgICAgIG1zZyA9ICJFUlJPUjogJXM6ICVzICh3aGlsZSBsb2Fk aW5nIHNjaGVtYSkiICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBlKQorICAgICAgICAgc3lzLmV4 aXQobXNnKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDEwOC1GSVgtUHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52cy13 LWJlaGF2ZTRjbWQwLXN0LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDEwOC1GSVgtUHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52 cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uYjhkMWRmMDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOC1GSVgtUHl0aG9uMi1wcm9ibGVtcy1p bi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK0Zy b20gYzY2ZWJhYzE3NjM3NjgyOTdkZWMzZGU5NmI1MWIwNTk3MGYzMTZhMCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIxOjUzOjMyICswMTAwCitTdWJqZWN0OiBbUEFU Q0hdIEZJWDogUHl0aG9uMiBwcm9ibGVtcyBpbiB2aXJ0dWFsZW52cyB3LyBiZWhhdmU0Y21kMCBz dGVwcy4KKworLS0tCisgYmluL2JlaGF2ZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQorCitkaWZmIC0tZ2l0IGEvYmluL2JlaGF2ZSBiL2Jpbi9iZWhhdmUKK2luZGV4IDll YmI1ODQuLjBmMzdkZWMgMTAwNzU1CistLS0gYS9iaW4vYmVoYXZlCisrKysgYi9iaW4vYmVoYXZl CitAQCAtMSwzICsxLDQgQEAKKysjIS91c3IvYmluL2VudiBweXRob24KKyAjIS91c3IvYmluL2Vu diBweXRob24zCisgIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKyAKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDktRklYLUFj dGl2ZS10YWctbG9naWMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMTA5LUZJWC1BY3RpdmUtdGFnLWxvZ2ljLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDhhZTRmODg5Ci0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEw OS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5wYXRjaApAQCAtMCwwICsxLDg3NSBAQAorRnJvbSBkNDQx YjQyMDdlNGI4NjJkOTM1Njg3ZjA0MDQ2YjVjMGY1ZDA5MGM3IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBTYXQsIDkgSmFuIDIwMjEgMjI6MDQ6MTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklY OiBBY3RpdmUtdGFnIGxvZ2ljCisKK0ZpeCBhY3RpdmUtdGFnIGNvbXB1dGF0aW9uIGxvZ2ljIGlm IG11bHRpcGxlIGFjdGl2ZS10YWdzIGV4aXN0Cit0aGF0IHVzZSB0aGUgc2FtZSBjYXRlZ29yeS4g SXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZQorcG9zaXRpdmUgKHVzZS53aXRoX3h4eCkgYW5kIG5l Z2F0aXZlIChub3Qud2l0aF94eHgpIHRhZ3MKK29uIHRoZSBzYW1lIG1vZGVsIGVsZW1lbnQgKEZl YXR1cmUsIFNjZW5hcmlvLCAuLi4pLgorLS0tCisgYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFp bnQucHkgICAgIHwgIDEyICstCisgYmVoYXZlL3RhZ19tYXRjaGVyLnB5ICAgICAgICAgICAgICAg IHwgIDgyICsrKystCisgZmVhdHVyZXMvdGFncy5hY3RpdmVfdGFncy5mZWF0dXJlICAgIHwgIDIy ICstCisgdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2ZV90YWdzLnB5IHwgNTI5ICsrKysrKysr KysrKysrKysrKysrKysrKysrKworIHRlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSAgICAg ICB8ICA0NSArLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDYyNCBpbnNlcnRpb25zKCspLCA2NiBkZWxl dGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2 ZV90YWdzLnB5CisKK2RpZmYgLS1naXQgYS9iZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5w eSBiL2JlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5CitpbmRleCAzMTBlNTI5Li5lNWEz NmEwIDEwMDY0NAorLS0tIGEvYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQucHkKKysrKyBi L2JlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5CitAQCAtNyw2ICs3LDggQEAgU2ltcGxp ZmllcyB0byBzcGVjaWZ5IHJ1bnRpbWUgY29uc3RyYWludHMgaW4KKyAiIiIKKyAKKyBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2ltcG9ydCBzaXgKKytpbXBvcnQgc3lz CisgZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBDb25zdHJhaW50RXJyb3IKKyAKKyAKK0BA IC0xOSwxMSArMjEsMTAgQEAgZGVmIHJlcXVpcmVfbWluX3B5dGhvbl92ZXJzaW9uKG1pbmltYWxf dmVyc2lvbik6CisgICAgIDpwYXJhbSBtaW5pbWFsX3ZlcnNpb246IE1pbmltdW0gdmVyc2lvbiAo YXMgc3RyaW5nLCB0dXBsZSkKKyAgICAgOnJhaXNlczogYmVoYXZlLmV4Y2VwdGlvbi5Db25zdHJh aW50RXJyb3IKKyAgICAgIiIiCistICAgIGltcG9ydCBzaXgKKy0gICAgaW1wb3J0IHN5cworICAg ICBweXRob25fdmVyc2lvbiA9IHN5cy52ZXJzaW9uX2luZm8KKyAgICAgaWYgaXNpbnN0YW5jZSht aW5pbWFsX3ZlcnNpb24sIHNpeC5zdHJpbmdfdHlwZXMpOgorLSAgICAgICAgcHl0aG9uX3ZlcnNp b24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKysgICAgICAgIHB5dGhvbl92ZXJz aW9uID0gZmxvYXQoIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdKQorKyAgICAgICAgbWlu aW1hbF92ZXJzaW9uID0gZmxvYXQobWluaW1hbF92ZXJzaW9uKQorICAgICBlbGlmIG5vdCBpc2lu c3RhbmNlKG1pbmltYWxfdmVyc2lvbiwgdHVwbGUpOgorICAgICAgICAgcmFpc2UgVHlwZUVycm9y KCJzdHJpbmcgb3IgdHVwbGUgKHdhczogJXMpIiAlIHR5cGUobWluaW1hbF92ZXJzaW9uKSkKKyAK K0BAIC00MCw2ICs0MSw5IEBAIGRlZiByZXF1aXJlX21pbl9iZWhhdmVfdmVyc2lvbihtaW5pbWFs X3ZlcnNpb24pOgorICAgICAiIiIKKyAgICAgIyAtLSBTSU1QTElTVElDIElNUExFTUVOVEFUSU9O OgorICAgICBmcm9tIGJlaGF2ZS52ZXJzaW9uIGltcG9ydCBWRVJTSU9OIGFzIGJlaGF2ZV92ZXJz aW9uCistICAgIGlmIGJlaGF2ZV92ZXJzaW9uIDwgbWluaW1hbF92ZXJzaW9uOgorKyAgICBiZWhh dmVfdmVyc2lvbjIgPSBiZWhhdmVfdmVyc2lvbi5zcGxpdCgiLiIpCisrICAgIG1pbmltYWxfdmVy c2lvbjIgPSBtaW5pbWFsX3ZlcnNpb24uc3BsaXQoIi4iKQorKyAgICBpZiBiZWhhdmVfdmVyc2lv bjIgPCBtaW5pbWFsX3ZlcnNpb24yOgorKyAgICAgICAgIyAtLSBVU0U6IFR1cGxlIGNvbXBhcmlz b24gYXMgdmVyc2lvbiBjb21wYXJpc29uLgorICAgICAgICAgcmFpc2UgQ29uc3RyYWludEVycm9y KCJiZWhhdmUgPj0gJXMgZXhwZWN0ZWQgKHdhczogJXMpIiAlIFwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAobWluaW1hbF92ZXJzaW9uLCBiZWhhdmVfdmVyc2lvbikpCitkaWZmIC0t Z2l0IGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5IGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitpbmRl eCA1ZjlkY2UwLi5lMmIxZTgyIDEwMDY0NAorLS0tIGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5Cisr KysgYi9iZWhhdmUvdGFnX21hdGNoZXIucHkKK0BAIC0xLDcgKzEsNyBAQAorICMgLSotIGNvZGlu ZzogVVRGLTggLSotCisgIiIiCistQ29udGFpbnMgY2xhc3NlcyBhbmQgZnVuY3Rpb25hbGl0eSB0 byBwcm92aWRlIGEgc2tpcC1pZiBsb2dpYyBiYXNlZCBvbiB0YWdzCistaW4gZmVhdHVyZSBmaWxl cy4KKytDb250YWlucyBjbGFzc2VzIGFuZCBmdW5jdGlvbmFsaXR5IHRvIHByb3ZpZGUgdGhlIGFj dGl2ZS10YWcgbWVjaGFuaXNtLgorK0FjdGl2ZS10YWdzIHByb3ZpZGUgYSBza2lwLWlmIGxvZ2lj IGJhc2VkIG9uIHRhZ3MgaW4gZmVhdHVyZSBmaWxlcy4KKyAiIiIKKyAKKyBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorQEAgLTEwLDYgKzEwLDExIEBAIGltcG9ydCBvcGVy YXRvcgorIGltcG9ydCBzaXgKKyAKKyAKKytkZWYgYm9vbF90b19zdHJpbmcodmFsdWUpOgorKyAg ICAiIiJDb252ZXJ0cyBhIEJvb2xlYW4gdmFsdWUgaW50byBpdHMgbm9ybWFsaXplZCBzdHJpbmcg cmVwcmVzZW50YXRpb24uIiIiCisrICAgIHJldHVybiBzdHIoYm9vbCh2YWx1ZSkpLmxvd2VyKCkK KysKKysKKyBjbGFzcyBUYWdNYXRjaGVyKG9iamVjdCk6CisgICAgICIiIkFic3RyYWN0IGJhc2Ug Y2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBUYWdNYXRjaGVyIHByb3RvY29sLiIiIgorIAorQEAgLTM2 LDEyICs0MSwxMyBAQCBjbGFzcyBUYWdNYXRjaGVyKG9iamVjdCk6CisgY2xhc3MgQWN0aXZlVGFn TWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgIiIiUHJvdmlkZXMgYW4gYWN0aXZlIHRhZyBtYXRj aGVyIGZvciBtYW55IGNhdGVnb3JpZXMuCisgCistICAgIFRBRyBTQ0hFTUE6CisrICAgIFRBRyBT Q0hFTUEgMSAocHJlZmVycmVkKToKKyAgICAgICAqIHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVl fQorICAgICAgICogbm90LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisrCisrICAgIFRBRyBTQ0hF TUEgMjoKKyAgICAgICAqIGFjdGl2ZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICAgICAgICog bm90X2FjdGl2ZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorLSAgICAgICogb25seS53aXRoX3tj YXRlZ29yeX09e3ZhbHVlfSAgICAgICAgKE5PVEU6IEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5 KQorIAorICAgICBUQUcgTE9HSUMKKyAgICAgLS0tLS0tLS0tLQorQEAgLTUyLDcgKzU4LDcgQEAg Y2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgICAgIGFjdGl2ZV9ncm91 cC5lbmFibGVkIDo9IGVuYWJsZWQoZ3JvdXAudGFnMSkgb3IgZW5hYmxlZChncm91cC50YWcyKSBv ciAuLi4KKyAgICAgICAgIGFjdGl2ZV90YWdzLmVuYWJsZWQgIDo9IGVuYWJsZWQoZ3JvdXAxKSBh bmQgZW5hYmxlZChncm91cDIpIGFuZCAuLi4KKyAKKy0gICAgQWxsIGFjdGl2ZS10YWcgZ3JvdXBz IG11c3QgYmUgdHVybmVkICJvbiIuCisrICAgIEFsbCBhY3RpdmUtdGFnIGdyb3VwcyBtdXN0IGJl IHR1cm5lZCAib24iIChlbmFibGVkKS4KKyAgICAgT3RoZXJ3aXNlLCB0aGUgbW9kZWwgZWxlbWVu dCBzaG91bGQgYmUgZXhjbHVkZWQuCisgCisgICAgIENPTkNFUFQ6IFZhbHVlUHJvdmlkZXIKK0BA IC04MSwxMiArODcsMTIgQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAg ICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvYWxpY2UuZmVhdHVyZQorICAgICAgICAgRmVhdHVy ZToKKyAKKy0gICAgICAgICAgQGFjdGl2ZS53aXRoX29zPXdpbjMyCisrICAgICAgICAgIEB1c2Uu d2l0aF9vcz13aW4zMgorICAgICAgICAgICBTY2VuYXJpbzogQWxpY2UgKFJ1biBvbmx5IG9uIFdp bmRvd3MpCisgICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcKKyAgICAgICAgICAgICAu Li4KKyAKKy0gICAgICAgICAgQG5vdF9hY3RpdmUud2l0aF9icm93c2VyPWNocm9tZQorKyAgICAg ICAgICBAbm90LndpdGhfYnJvd3Nlcj1jaHJvbWUKKyAgICAgICAgICAgU2NlbmFyaW86IEJvYiAo RXhjbHVkZWQgd2l0aCBXZWItQnJvd3NlciBDaHJvbWUpCisgICAgICAgICAgICAgR2l2ZW4gSSBk byBzb21ldGhpbmcgZWxzZQorICAgICAgICAgICAgIC4uLgorQEAgLTExNiw3ICsxMjIsNyBAQCBj bGFzcyBBY3RpdmVUYWdNYXRjaGVyKFRhZ01hdGNoZXIpOgorICAgICAgICAgICAgICAgICBzY2Vu YXJpby5za2lwKGV4Y2x1ZGVfcmVhc29uKSAgICM8IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQu CisgICAgICIiIgorICAgICB2YWx1ZV9zZXBhcmF0b3IgPSAiPSIKKy0gICAgdGFnX3ByZWZpeGVz ID0gWyJhY3RpdmUiLCAibm90X2FjdGl2ZSIsICJ1c2UiLCAibm90IiwgIm9ubHkiXQorKyAgICB0 YWdfcHJlZml4ZXMgPSBbInVzZSIsICJub3QiLCAiYWN0aXZlIiwgIm5vdF9hY3RpdmUiLCAib25s eSJdCisgICAgIHRhZ19zY2hlbWEgPSByIl4oP1A8cHJlZml4PiVzKVwud2l0aF8oP1A8Y2F0ZWdv cnk+XHcrKFwuXHcrKSopJXMoP1A8dmFsdWU+LiopJCIKKyAgICAgaWdub3JlX3Vua25vd25fY2F0 ZWdvcmllcyA9IFRydWUKKyAgICAgdXNlX2V4Y2x1ZGVfcmVhc29uID0gRmFsc2UKK0BAIC0xNjMs MjEgKzE2OSw0OSBAQCBjbGFzcyBBY3RpdmVUYWdNYXRjaGVyKFRhZ01hdGNoZXIpOgorIAorICAg ICBkZWYgaXNfdGFnX2dyb3VwX2VuYWJsZWQoc2VsZiwgZ3JvdXBfY2F0ZWdvcnksIGdyb3VwX3Rh Z19wYWlycyk6CisgICAgICAgICAiIiJQcm92aWRlcyBib29sZWFuIGxvZ2ljIHRvIGRldGVybWlu ZSBpZiBhbGwgYWN0aXZlLXRhZ3MKKy0gICAgICAgIHdoaWNoIHVzZSB0aGUgc2FtZSBjYXRlZ29y eSByZXN1bHQgaW4gYSBlbmFibGVkIHZhbHVlLgorLQorLSAgICAgICAgVXNlIExPR0lDQUwtT1Ig ZXhwcmVzc2lvbiBmb3IgYWN0aXZlLXRhZ3Mgd2l0aCBzYW1lIGNhdGVnb3J5OjoKKy0KKy0gICAg ICAgICAgICBjYXRlZ29yeV90YWdfZ3JvdXAuZW5hYmxlZCA6PSBlbmFibGVkKHRhZzEpIG9yIGVu YWJsZWQodGFnMikgb3IgLi4uCisrICAgICAgICB3aGljaCB1c2UgdGhlIHNhbWUgY2F0ZWdvcnkg cmVzdWx0IGluIGFuIGVuYWJsZWQgdmFsdWUuCisgCisgICAgICAgICAuLiBjb2RlLWJsb2NrOjog Z2hlcmtpbgorIAorICAgICAgICAgICAgIEB1c2Uud2l0aF94eHg9YWxpY2UKKyAgICAgICAgICAg ICBAdXNlLndpdGhfeHh4PWJvYgorICAgICAgICAgICAgIEBub3Qud2l0aF94eHg9Y2hhcmx5Cisr ICAgICAgICAgICAgQG5vdC53aXRoX3h4eD1kb3JvCisgICAgICAgICAgICAgU2NlbmFyaW86Cisg ICAgICAgICAgICAgICAgIEdpdmVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAgICAgICAgLi4u CisgCisrICAgICAgICBVc2UgTE9HSUNBTCBleHByZXNzaW9uIGZvciBhY3RpdmUtdGFncyB3aXRo IHNhbWUgY2F0ZWdvcnk6OgorKworKyAgICAgICAgICAgIGNhdGVnb3J5X3RhZ19ncm91cC5lbmFi bGVkIDo9IHBvc2l0aXZlLXRhZy1leHByZXNzaW9uIGFuZCBub3QgbmVnYXRpdmUtdGFnLWV4cHJl c3Npb24KKysgICAgICAgICAgICAgIHBvc2l0aXZlLXRhZy1leHByZXNzaW9uICA6PSBlbmFibGVk KHRhZzEpIG9yIGVuYWJsZWQodGFnMikgb3IgLi4uCisrICAgICAgICAgICAgICBuZWdhdGl2ZS10 YWctZXhwcmVzc2lvbiAgOj0gZW5hYmxlZCh0YWczKSBvciBlbmFibGVkKHRhZzQpIG9yIC4uLgor KyAgICAgICAgICAgICAgIHRhZzEsIHRhZzIgYXJlIHBvc2l0aXZlLXRhZ3MsIGxpa2UgQHVzZS53 aXRoX2NhdGVnb3J5PXZhbHVlCisrICAgICAgICAgICAgICAgdGFnMywgdGFnNCBhcmUgbmVnYXRp dmUtdGFncywgbGlrZSBAbm90LndpdGhfY2F0ZWdvcnk9dmFsdWUKKysKKysgICAgICAgICAgICAg eHh4ICAgfCBPbmx5IHVzZSBwYXJ0czogKHh4eCA9PSAiYWxpY2UiKSBvciAoeHh4ID09ICJib2Ii KQorKyAgICAgICAgICAgIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorKyAgICAgICAgICAg IGFsaWNlICB8IHRydWUKKysgICAgICAgICAgICBib2IgICAgfCB0cnVlCisrICAgICAgICAgICAg b3RoZXIgIHwgZmFsc2UKKysKKysgICAgICAgICAgICAgeHh4ICAgfCBPbmx5IG5vdCBwYXJ0czoK KysgICAgICAgICAgICAgICAgICAgfCAobm90IHh4eCA9PSAiY2hhcmx5IikgYW5kIChub3QgeHh4 ID09ICJkb3JvIikKKysgICAgICAgICAgICAgICAgICAgfCA9IG5vdCgoeHh4ID09ICJjaGFybHki KSBvciAoeHh4ID09ICJkb3JvIikpCisrICAgICAgICAgICAgLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tCisrICAgICAgICAgICAgY2hhcmx5IHwgZmFsc2UKKysgICAgICAgICAgICBkb3JvICAg fCBmYWxzZQorKyAgICAgICAgICAgIG90aGVyICB8IHRydWUKKysKKysgICAgICAgICAgICAgeHh4 ICAgfCBVc2UgYW5kIG5vdCBwYXJ0czoKKysgICAgICAgICAgICAgICAgICAgfCAoKHh4eCA9PSAi YWxpY2UiKSBvciAoeHh4ID09ICJib2IiKSkgYW5kIG5vdCgoeHh4ID09ICJjaGFybHkiKSBvciAo eHh4ID09ICJkb3JvIikpCisrICAgICAgICAgICAgLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t CisrICAgICAgICAgICAgYWxpY2UgIHwgdHJ1ZQorKyAgICAgICAgICAgIGJvYiAgICB8IHRydWUK KysgICAgICAgICAgICBjaGFybHkgfCBmYWxzZQorKyAgICAgICAgICAgIGRvcm8gICB8IGZhbHNl CisrICAgICAgICAgICAgb3RoZXIgIHwgZmFsc2UKKysKKyAgICAgICAgIDpwYXJhbSBncm91cF9j YXRlZ29yeTogICAgICBDYXRlZ29yeSBmb3IgdGhpcyB0YWctZ3JvdXAgKGFzIHN0cmluZykuCisg ICAgICAgICA6cGFyYW0gY2F0ZWdvcnlfdGFnX2dyb3VwOiAgTGlzdCBvZiBhY3RpdmUtdGFnIG1h dGNoLXBhaXJzLgorICAgICAgICAgOnJldHVybjogVHJ1ZSwgaWYgdGFnLWdyb3VwIGlzIGVuYWJs ZWQuCitAQCAtMTkxLDIwICsyMjUsMjggQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRj aGVyKToKKyAgICAgICAgICAgICAjIC0tIENBU0U6IFVua25vd24gY2F0ZWdvcnksIGlnbm9yZSBp dC4KKyAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorIAorLSAgICAgICAgdGFnc19lbmFibGVkID0g W10KKysgICAgICAgIHBvc2l0aXZlX3RhZ3NfbWF0Y2hlZCA9IFtdCisrICAgICAgICBuZWdhdGl2 ZV90YWdzX21hdGNoZWQgPSBbXQorICAgICAgICAgZm9yIGNhdGVnb3J5X3RhZywgdGFnX21hdGNo IGluIGdyb3VwX3RhZ19wYWlyczoKKyAgICAgICAgICAgICB0YWdfcHJlZml4ID0gdGFnX21hdGNo Lmdyb3VwKCJwcmVmaXgiKQorICAgICAgICAgICAgIGNhdGVnb3J5ID0gdGFnX21hdGNoLmdyb3Vw KCJjYXRlZ29yeSIpCisgICAgICAgICAgICAgdGFnX3ZhbHVlID0gdGFnX21hdGNoLmdyb3VwKCJ2 YWx1ZSIpCisgICAgICAgICAgICAgYXNzZXJ0IGNhdGVnb3J5ID09IGdyb3VwX2NhdGVnb3J5Cisg CistICAgICAgICAgICAgaXNfY2F0ZWdvcnlfdGFnX3N3aXRjaGVkX29uID0gb3BlcmF0b3IuZXEg ICAgICAgIyBlcXVhbF90bworICAgICAgICAgICAgIGlmIHNlbGYuaXNfdGFnX25lZ2F0ZWQodGFn X3ByZWZpeCk6CistICAgICAgICAgICAgICAgIGlzX2NhdGVnb3J5X3RhZ19zd2l0Y2hlZF9vbiA9 IG9wZXJhdG9yLm5lICAgIyBub3RfZXF1YWxfdG8KKy0KKy0gICAgICAgICAgICB0YWdfZW5hYmxl ZCA9IGlzX2NhdGVnb3J5X3RhZ19zd2l0Y2hlZF9vbih0YWdfdmFsdWUsIGN1cnJlbnRfdmFsdWUp CistICAgICAgICAgICAgdGFnc19lbmFibGVkLmFwcGVuZCh0YWdfZW5hYmxlZCkKKy0gICAgICAg IHJldHVybiBhbnkodGFnc19lbmFibGVkKSAgICAjIC0tIFBST1ZJREVTOiBMT0dJQ0FMLU9SIGV4 cHJlc3Npb24KKysgICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBAbm90LndpdGhfQ0FURUdPUlk9 VkFMVUUKKysgICAgICAgICAgICAgICAgdGFnX21hdGNoZWQgPSAodGFnX3ZhbHVlID09IGN1cnJl bnRfdmFsdWUpCisrICAgICAgICAgICAgICAgIG5lZ2F0aXZlX3RhZ3NfbWF0Y2hlZC5hcHBlbmQo dGFnX21hdGNoZWQpCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgIyAtLSBD QVNFOiBAdXNlLndpdGhfQ0FURUdPUlk9VkFMVUUKKysgICAgICAgICAgICAgICAgdGFnX21hdGNo ZWQgPSAodGFnX3ZhbHVlID09IGN1cnJlbnRfdmFsdWUpCisrICAgICAgICAgICAgICAgIHBvc2l0 aXZlX3RhZ3NfbWF0Y2hlZC5hcHBlbmQodGFnX21hdGNoZWQpCisrICAgICAgICB0YWdfZXhwcmVz c2lvbjEgPSBhbnkocG9zaXRpdmVfdGFnc19tYXRjaGVkKSAgICAjPCBMT0dJQ0FMLU9SIGV4cHJl c3Npb24KKysgICAgICAgIHRhZ19leHByZXNzaW9uMiA9IGFueShuZWdhdGl2ZV90YWdzX21hdGNo ZWQpICAgICM8IExPR0lDQUwtT1IgZXhwcmVzc2lvbgorKyAgICAgICAgaWYgbm90IHBvc2l0aXZl X3RhZ3NfbWF0Y2hlZDoKKysgICAgICAgICAgICB0YWdfZXhwcmVzc2lvbjEgPSBUcnVlCisrICAg ICAgICB0YWdfZ3JvdXBfZW5hYmxlZCA9IGJvb2wodGFnX2V4cHJlc3Npb24xIGFuZCBub3QgdGFn X2V4cHJlc3Npb24yKQorKyAgICAgICAgcmV0dXJuIHRhZ19ncm91cF9lbmFibGVkCisgCisgICAg IGRlZiBzaG91bGRfZXhjbHVkZV93aXRoKHNlbGYsIHRhZ3MpOgorICAgICAgICAgZ3JvdXBfY2F0 ZWdvcmllcyA9IHNlbGYuZ3JvdXBfYWN0aXZlX3RhZ3NfYnlfY2F0ZWdvcnkodGFncykKK2RpZmYg LS1naXQgYS9mZWF0dXJlcy90YWdzLmFjdGl2ZV90YWdzLmZlYXR1cmUgYi9mZWF0dXJlcy90YWdz LmFjdGl2ZV90YWdzLmZlYXR1cmUKK2luZGV4IDRhYjU1YzIuLjZhZGNiNjAgMTAwNjQ0CistLS0g YS9mZWF0dXJlcy90YWdzLmFjdGl2ZV90YWdzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3RhZ3Mu YWN0aXZlX3RhZ3MuZmVhdHVyZQorQEAgLTI0MCw5ICsyNDAsMjUgQEAgRmVhdHVyZTogQWN0aXZl IFRhZ3MKKyAgICAgICAgIHwgdGFncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBlbmFibGVkPyB8IENvbW1lbnQgfAorICAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAg IEB1c2Uud2l0aF9mb289b3RoZXIgICB8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSB8CisgICAg ICAgICB8IEB1c2Uud2l0aF9mb289eHh4ICAgQG5vdC53aXRoX2Zvbz1vdGhlciAgIHwgIHllcyAg ICAgfCBFbmFibGVkOiB0YWcxLCB0YWcyfAorLSAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAg IEBub3Qud2l0aF9mb289eHh4ICAgICB8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSAoQkFELVNQ RUMpIHwKKy0gICAgICAgIHwgQHVzZS53aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPXh4eCAg ICAgfCAgbm8gICAgICB8IEVuYWJsZWQ6IG5vbmUgfAorLSAgICAgICAgfCBAbm90LndpdGhfZm9v PW90aGVyIEBub3Qud2l0aF9mb289eHh4ICAgICB8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSB8 CisrICAgICAgICB8IEB1c2Uud2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zvbz14eHggICAgIHwg IG5vICAgICAgfCBEaXNhYmxlZDogbm9uZSB8CisrICAgICAgICB8IEBub3Qud2l0aF9mb289b3Ro ZXIgQG5vdC53aXRoX2Zvbz14eHggICAgIHwgIG5vICAgICAgfCBEaXNhYmxlZDogdGFnMSB8Cisr ICAgICAgICB8IEB1c2Uud2l0aF9mb289eHh4ICAgQG5vdC53aXRoX2Zvbz14eHggICAgIHwgIG5v ICAgICAgfCBEaXNhYmxlZDogdGFnMSAoQkFELVNQRUMsIENPTkZMSUNUUykgfAorKworKworKyAg U2NlbmFyaW86IFRhZyBsb2dpYyB3aXRoIHRocmVlIGFjdGl2ZSB0YWdzIG9mIHNhbWUgY2F0ZWdv cnkKKysgICAgICBHaXZlbiBJIHNldHVwIHRoZSBjdXJyZW50IHZhbHVlcyBmb3IgYWN0aXZlIHRh Z3Mgd2l0aDoKKysgICAgICAgIHwgY2F0ZWdvcnkgfCB2YWx1ZSB8CisrICAgICAgICB8IGZvbyAg ICAgIHwgeHh4ICAgfAorKyAgICAgIFRoZW4gdGhlIGZvbGxvd2luZyBhY3RpdmUgdGFnIGNvbWJp bmF0aW9ucyBhcmUgZW5hYmxlZDoKKysgICAgICAgIHwgdGFncyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBlbmFibGVkPyB8IENvbW1lbnQg fAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgQHVzZS53aXRoX2Zvbz1vdGhlciBAdXNl LndpdGhfZm9vPW90aGVyMnwgIHllcyAgICAgfCBFbmFibGVkOiB0YWcxICB8CisrICAgICAgICB8 IEB1c2Uud2l0aF9mb289eHh4ICBAdXNlLndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289b3Ro ZXIyfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgIHwKKysgICAgICAgIHwgQHVzZS53aXRoX2Zv bz14eHggIEBub3Qud2l0aF9mb289b3RoZXIgQHVzZS53aXRoX2Zvbz1vdGhlcjJ8ICB5ZXMgICAg IHwgRW5hYmxlZDogdGFnMSAgfAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgQG5vdC53 aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPW90aGVyMnwgIHllcyAgICAgfCBFbmFibGVkOiB0 YWcxICB8CisrICAgICAgICB8IEBub3Qud2l0aF9mb289eHh4ICBAdXNlLndpdGhfZm9vPW90aGVy IEB1c2Uud2l0aF9mb289b3RoZXIyfCAgbm8gICAgICB8IERpc2FibGVkOiB0YWcxIHwKKysgICAg ICAgIHwgQG5vdC53aXRoX2Zvbz14eHggIEB1c2Uud2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zv bz1vdGhlcjJ8ICBubyAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgfAorKyAgICAgICAgfCBAbm90Lndp dGhfZm9vPXh4eCAgQG5vdC53aXRoX2Zvbz1vdGhlciBAdXNlLndpdGhfZm9vPW90aGVyMnwgIG5v ICAgICAgfCBEaXNhYmxlZDogdGFnMSB8CisrICAgICAgICB8IEBub3Qud2l0aF9mb289eHh4ICBA bm90LndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289b3RoZXIyfCAgbm8gICAgICB8IERpc2Fi bGVkOiB0YWcxIHwKKyAKKyAKKyAgICAgU2NlbmFyaW86IFRhZyBsb2dpYyB3aXRoIHVua25vd24g Y2F0ZWdvcmllcyAoY2FzZTogaWdub3JlZCkKK2RpZmYgLS1naXQgYS90ZXN0cy9mdW5jdGlvbmFs L3Rlc3RfYWN0aXZlX3RhZ3MucHkgYi90ZXN0cy9mdW5jdGlvbmFsL3Rlc3RfYWN0aXZlX3RhZ3Mu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mZDYxMzhmCistLS0gL2Rl di9udWxsCisrKysgYi90ZXN0cy9mdW5jdGlvbmFsL3Rlc3RfYWN0aXZlX3RhZ3MucHkKK0BAIC0w LDAgKzEsNTI5IEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysiIiIKKytGdW5jdGlvbmFs cyB0ZXN0cyBmb3IgYWN0aXZlIHRhZy1tYXRjaGVyIChtb2Q6YGJlaGF2ZS50YWdfbWF0Y2hlcmAp LgorKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmlu dF9mdW5jdGlvbgorK2ltcG9ydCBweXRlc3QKKytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBv cnQgQWN0aXZlVGFnTWF0Y2hlcgorKworKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjIFRFU1Qg REFUQToKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyBWQUxVRV9QUk9WSURFUiA9IHsKKysj ICAgICAiZm9vIjogImFsaWNlIiwKKysjICAgICAiYmFyIjogIkJPQiIsCisrIyB9CisrCisrIyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorKyMgUFlURVNUIEZJWFRVUkVTOgorKyMgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKysjIEBweXRlc3QuZml4dHVyZQorKyMgZGVmIGFjdGl2ZV90YWdfbWF0Y2hlcigp OgorKyMgICAgIHRhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihWQUxVRV9QUk9WSURFUikK KysjICAgICByZXR1cm4gdGFnX21hdGNoZXIKKysKKysKKysjID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CisrIyBURVNUIFNVSVRFOgorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKytjbGFzcyBUZXN0QWN0 aXZhdGVUYWdzKG9iamVjdCk6CisrICAgIFZBTFVFX1BST1ZJREVSID0geworKyAgICAgICAgImZv byI6ICJGcmFuayIsCisrICAgICAgICAiYmFyIjogIkJvYiIsCisrICAgICAgICAjICJPVEhFUiI6 ICJWQUxVRSIsCisrICAgIH0KKysKKysgICAgZGVmIGNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3Rp dmVfdGFncyhzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICAjIC0tIHRhZ19t YXRjaGVyLnNob3VsZF9ydW5fd2l0aCh0YWdzKS5yZXN1bHQgOj0gZXhwZWN0ZWQKKysgICAgICAg IGNhc2UgKz0gIiAodGFnczoge3RhZ3N9KSIKKysgICAgICAgIHRhZ19tYXRjaGVyID0gQWN0aXZl VGFnTWF0Y2hlcihzZWxmLlZBTFVFX1BST1ZJREVSKQorKyAgICAgICAgYWN0dWFsX3Jlc3VsdDEg PSB0YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykKKysgICAgICAgIGFjdHVhbF9yZXN1 bHQyID0gdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgYXNz ZXJ0IGV4cGVjdGVkID09IGFjdHVhbF9yZXN1bHQxLCBjYXNlLmZvcm1hdCh0YWdzPXRhZ3MpCisr ICAgICAgICBhc3NlcnQgKG5vdCBleHBlY3RlZCkgPT0gYWN0dWFsX3Jlc3VsdDIKKysKKysgICAg QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAg ICAgICgidXNlLndpdGhfZm9vPVZBTFVFIG1hdGNoZXMiLCAgICAgVHJ1ZSwgWyJ1c2Uud2l0aF9m b289RnJhbmsiXSksCisrICAgICAgICAoInVzZS53aXRoX2Zvbz1WQUxVRSBtaXNtYXRjaGVzIiwg RmFsc2UsIFsidXNlLndpdGhfZm9vPU9USEVSIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF9mb289 VkFMVUUgbWF0Y2hlcyIsICAgIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFuayJdKSwKKysgICAg ICAgICgibm90LndpdGhfZm9vPVZBTFVFIG1pc21hdGNoZXMiLCAgVHJ1ZSwgWyJub3Qud2l0aF9m b289T1RIRVIiXSksCisrICAgICAgICAoIk5PX1RBR1MiLCBUcnVlLCBbXSksCisrICAgIF0pCisr ICAgIGRlZiB0ZXN0X29uZV90YWdfZm9yX2NhdGVnb3J5MShzZWxmLCBjYXNlLCBleHBlY3RlZCwg dGFncyk6CisrICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhj YXNlLCBleHBlY3RlZCwgdGFncykKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJj YXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICgidXNlLndpdGhfYmFyPUJvYiBtYXRj aGVzIiwgICAgICAgVHJ1ZSwgWyJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2Uu d2l0aF9iYXI9VkFMVUUgbWlzbWF0Y2hlcyIsIEZhbHNlLCBbInVzZS53aXRoX2Jhcj1PVEhFUiJd KSwKKysgICAgICAgICgibm90LndpdGhfYmFyPVZBTFVFIG1hdGNoZXMiLCAgICBGYWxzZSwgWyJu b3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF9iYXI9VkFMVUUgbWlzbWF0 Y2hlcyIsICBUcnVlLCBbIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgXSkKKysgICAgZGVm IHRlc3Rfb25lX3RhZ19mb3JfY2F0ZWdvcnkyKHNlbGYsIGNhc2UsIGV4cGVjdGVkLCB0YWdzKToK KysgICAgICAgIHNlbGYuY2hlY2tfc2hvdWxkX3J1bl93aXRoX2FjdGl2ZV90YWdzKGNhc2UsIGV4 cGVjdGVkLCB0YWdzKQorKworKyAgICAjIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwg ZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICMgICAgICgidXNlLndpdGhfT1RIRVI9VkFMVUUgbWF0 Y2hlcyIsICAgICBUcnVlLCBbInVzZS53aXRoX09USEVSPVZBTFVFIl0pLAorKyAgICAjICAgICAo InVzZS53aXRoX09USEVSPVZBTFVFIG1pc21hdGNoZXMiLCBGYWxzZSwgWyJ1c2Uud2l0aF9PVEhF Uj1PVEhFUiJdKSwKKysgICAgIyAgICAgKCJub3Qud2l0aF9PVEhFUj1WQUxVRSBtYXRjaGVzIiwg ICAgRmFsc2UsIFsibm90LndpdGhfT1RIRVI9VkFMVUUiXSksCisrICAgICMgICAgICgibm90Lndp dGhfT1RIRVI9VkFMVUUgbWlzbWF0Y2hlcyIsICBUcnVlLCBbIm5vdC53aXRoX09USEVSPU9USEVS Il0pLAorKyAgICAjIF0pCisrICAgICMgZGVmIHRlc3Rfb25lX3RhZ19mb3Jfb3RoZXJfY2F0ZWdv cnkoc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAjICAgICBzZWxmLmNoZWNrX3No b3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwgdGFncykKKysKKysgICAg QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAg ICAgICgiMnggdXNlLndpdGhfZm9vPVZBTFVFOiBvbmUgbWF0Y2hlcyIsIFRydWUsCisrICAgICAg ICAgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSIl0pLAorKyAgICAg ICAgKCIyeCBub3Qud2l0aF9mb289VkFMVUU6IG9uZSBtYXRjaGVzIiwgRmFsc2UsCisrICAgICAg ICAgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSIl0pLAorKyAgICAg ICAgKCIxeCB1c2UuL25vdC53aXRoX2Zvbz1WQUxVRTogdXNlLW1hdGNoZXMiLCBUcnVlLAorKyAg ICAgICAgIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUiJdKSwKKysg ICAgICAgICgiMXggdXNlLi9ub3Qud2l0aF9mb289VkFMVUU6IG5vdC1tYXRjaGVzIiwgRmFsc2Us CisrICAgICAgICAgWyJub3Qud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSIl0p LAorKyAgICBdKQorKyAgICBkZWYgdGVzdF9vbmVfY2F0ZWdvcnlfd2l0aF90d29fdGFncyhzZWxm LCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5f d2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwgdGFncykKKysKKysgICAgQHB5dGVzdC5t YXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICgiM3gg dXNlLndpdGhfZm9vPVZBTFVFOiBvbmUgbWF0Y2hlcyIsIFRydWUsCisrICAgICAgICAgWyJ1c2Uu d2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSXzEiLCAidXNlLndpdGhfZm9vPU9U SEVSXzIiXSksCisrICAgICAgICAoIjN4IG5vdC53aXRoX2Zvbz1WQUxVRTogb25lIG1hdGNoZXMi LCBGYWxzZSwKKysgICAgICAgICBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9mb289 T1RIRVJfMSIsICJub3Qud2l0aF9mb289T1RIRVJfMiJdKSwKKysgICAgICAgICgiMnggdXNlLndp dGhfZm9vPVZBTFVFOiB1c2UtbWF0Y2hlcyIsIFRydWUsCisrICAgICAgICAgWyJ1c2Uud2l0aF9m b289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSXzEiLCAibm90LndpdGhfZm9vPU9USEVSXzIi XSksCisrICAgICAgICAoIjJ4IG5vdC53aXRoX2Zvbz1WQUxVRTogbm90LW1hdGNoZXMiLCBGYWxz ZSwKKysgICAgICAgICBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9mb289T1RIRVJf MSIsICJ1c2Uud2l0aF9mb289T1RIRVJfMiJdKSwKKysgICAgICAgICgiMXggdXNlLndpdGhfZm9v PVZBTFVFOiB1c2UtbWF0Y2hlcyIsIFRydWUsCisrICAgICAgICAgWyJ1c2Uud2l0aF9mb289RnJh bmsiLCAibm90LndpdGhfZm9vPU9USEVSXzEiLCAibm90LndpdGhfZm9vPU9USEVSXzIiXSksCisr ICAgICAgICAoIjF4IG5vdC53aXRoX2Zvbz1WQUxVRTogbm90LW1hdGNoZXMiLCBGYWxzZSwKKysg ICAgICAgICBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9mb289T1RIRVJfMSIsICJ1 c2Uud2l0aF9mb289T1RIRVJfMiJdKSwKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfb25lX2NhdGVn b3J5X3dpdGhfdGhyZWVfdGFncyhzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAg ICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwg dGFncykKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwg dGFncyIsIFsKKysgICAgICAgICMgLS0gdXNlLndpdGhfQ0FURUdPUlk9VkFMVUUKKysgICAgICAg ICgidXNlLndpdGhfLi4uIDJ4IG1hdGNoZXMiLCAgICAgIFRydWUsIFsidXNlLndpdGhfZm9vPUZy YW5rIiwgInVzZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoInVzZS53aXRoXy4uLiAxeCBt YXRjaGVzIiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9iYXI9 T1RIRVIiXSksCisrICAgICAgICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVzIiwgICAgIEZhbHNl LCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAg ICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVzIiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1P VEhFUiIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMHgg bWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFy PU9USEVSIl0pLAorKyAgICAgICAgIyAtLSBub3Qud2l0aF9DQVRFR09SWT1WQUxVRQorKyAgICAg ICAgKCJub3Qud2l0aF8uLi4gMnggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFu ayIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMXggbWF0 Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9iYXI9T1RIRVIi XSksCisrICAgICAgICAoIm5vdC53aXRoXy4uLiAxeCBtYXRjaGVzIiwgRmFsc2UsIFsibm90Lndp dGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoIm5vdC53aXRo Xy4uLiAweCBtYXRjaGVzIiwgIFRydWUsIFsibm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRo X2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICMgLS0gdXNlLndpdGhfQ0FURUdPUllfMT1WQUxVRV8x LCBub3Qud2l0aF9DQVRFR09SWV8yPVZBTFVFXzIKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8u Li4gdXNlLW1hdGNoZXMiLCAgVHJ1ZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhf YmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiBub3QtbWF0Y2hlcyIs IEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAg ICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAyeCBtYXRjaGVzIiwgIEZhbHNlLCBbInVzZS53aXRo X2Zvbz1GcmFuayIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53 aXRoXy4uLiAweCBtYXRjaGVzIiwgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJub3Qu d2l0aF9iYXI9T1RIRVIiXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3R3b19jYXRlZ29yaWVz X3dpdGhfdHdvX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgc2Vs Zi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3Mp CisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3Mi LCBbCisrICAgICAgICAjIC0tIHVzZS53aXRoX0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAoInVz ZS53aXRoXy4uLiAyeCBtYXRjaGVzIiwgICAgICBUcnVlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIs ICJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgi dXNlLndpdGhfLi4uIDF4IG1hdGNoZXMiLCAgICAgRmFsc2UsIFsidXNlLndpdGhfZm9vPUZyYW5r IiwgInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAg ICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVzIiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1P VEhFUiIsICJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAg ICAgICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9m b289T1RIRVIiLCAidXNlLndpdGhfZm9vPU9USEVSMiIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAor KyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMHggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0 aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFyPU9USEVSMiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIi XSksCisrICAgICAgICAjIC0tIG5vdC53aXRoX0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAoIm5v dC53aXRoXy4uLiAyeCBtYXRjaGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9vPUZyYW5rIiwgIm5v dC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qu d2l0aF8uLi4gMXggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qu d2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJub3Qu d2l0aF8uLi4gMXggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qu d2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoIm5vdC53 aXRoXy4uLiAweCBtYXRjaGVzIiwgIFRydWUsIFsibm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53 aXRoX2Zvbz1PVEhFUjIiLCAibm90LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgIyAtLSB1 c2Uud2l0aF9DQVRFR09SWV8xPVZBTFVFXzEsIG5vdC53aXRoX0NBVEVHT1JZXzI9VkFMVUVfMgor KyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiB1c2UtbWF0Y2hlcyIsICBUcnVlLCBbInVzZS53 aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfYmFyPU9USEVS Il0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiBub3QtbWF0Y2hlcyIsIEZhbHNlLCBb InVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRoX2Jh cj1Cb2IiXSksCisrICAgICAgICAoInVzZS4vbm90LndpdGhfLi4uIDJ4IG1hdGNoZXMiLCAgRmFs c2UsIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0 aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAweCBtYXRjaGVzIiwg IEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9mb289T1RIRVIyIiwgIm5v dC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICMgLS0gbm90LndpdGhfQ0FURUdPUllfMT1W QUxVRV8xLCB1c2Uud2l0aF9DQVRFR09SWV8yPVZBTFVFXzIKKysgICAgICAgICgidXNlLi9ub3Qu d2l0aF8uLi4gbm90LW1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90 LndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgidXNl Li9ub3Qud2l0aF8uLi4gdXNlLW1hdGNoZXMiLCBUcnVlLCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIs ICJub3Qud2l0aF9mb289T1RIRVIyIiwgInVzZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAo InVzZS4vbm90LndpdGhfLi4uIDJ4IG1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJh bmsiLCAibm90LndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAg ICAoInVzZS4vbm90LndpdGhfLi4uIDB4IG1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289 T1RIRVIiLCAibm90LndpdGhfZm9vPU9USEVSMiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisr ICAgIF0pCisrICAgIGRlZiB0ZXN0X3R3b19jYXRlZ29yaWVzX3dpdGhfdGhyZWVfdGFncyhzZWxm LCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5f d2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwgdGFncykKKysKKysnJycKKytjbGFzcyBU cmFpdHM0QWN0aXZlVGFnTWF0Y2hlcihvYmplY3QpOgorKyAgICBUYWdNYXRjaGVyID0gQWN0aXZl VGFnTWF0Y2hlcgorKyAgICB2YWx1ZV9wcm92aWRlciA9IHsKKysgICAgICAgICJmb28iOiAiYWxp Y2UiLAorKyAgICAgICAgImJhciI6ICJCT0IiLAorKyAgICB9CisrCisrICAgIGNhdGVnb3J5MV9l bmFibGVkX3RhZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIp CisrICAgIGNhdGVnb3J5MV9kaXNhYmxlZF90YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlf dGFnKCJmb28iLCAiYm9iIikKKysgICAgY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZzIgPSBUYWdNYXRj aGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiY2hhcmx5IikKKysgICAgY2F0ZWdvcnkxX3Np bWlsYXJfdGFnID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNlMiIp CisrICAgIGNhdGVnb3J5Ml9lbmFibGVkX3RhZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90 YWcoImJhciIsICJCT0IiKQorKyAgICBjYXRlZ29yeTJfZGlzYWJsZWRfdGFnID0gVGFnTWF0Y2hl ci5tYWtlX2NhdGVnb3J5X3RhZygiYmFyIiwgIkNIQVJMWSIpCisrICAgIGNhdGVnb3J5Ml9zaW1p bGFyX3RhZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0IyIikKKysg ICAgdW5rbm93bl9jYXRlZ29yeV90YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJV TktOT1dOIiwgIm9uZSIpCisrCisrICAgICMgLS0gTkVHQVRFRCBUQUdTOgorKyAgICBjYXRlZ29y eTFfbm90X2VuYWJsZWRfdGFnID0gXAorKyAgICAgICAgVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5 X3RhZygiZm9vIiwgImFsaWNlIiwgIm5vdF9hY3RpdmUiKQorKyAgICBjYXRlZ29yeTFfbm90X2Vu YWJsZWRfdGFnMiA9IFwKKysgICAgICAgIFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZv byIsICJhbGljZSIsICJub3QiKQorKyAgICBjYXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZyA9IFwK KysgICAgICAgIFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJib2IiLCAibm90 X2FjdGl2ZSIpCisrICAgIGNhdGVnb3J5MV9uZWdhdGVkX3NpbWlsYXJfdGFnMSA9IFwKKysgICAg ICAgIFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZTIiLCAibm90X2Fj dGl2ZSIpCisrCisrCisrICAgIGFjdGl2ZV90YWdzMSA9IFsKKysgICAgICAgIGNhdGVnb3J5MV9l bmFibGVkX3RhZywgY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgY2F0ZWdvcnkxX3NpbWlsYXJfdGFn LAorKyAgICAgICAgY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywgY2F0ZWdvcnkxX25vdF9lbmFi bGVkX3RhZzIsCisrICAgIF0KKysgICAgYWN0aXZlX3RhZ3MyID0gWworKyAgICAgICAgY2F0ZWdv cnkyX2VuYWJsZWRfdGFnLCBjYXRlZ29yeTJfZGlzYWJsZWRfdGFnLCBjYXRlZ29yeTJfc2ltaWxh cl90YWcsCisrICAgIF0KKysgICAgYWN0aXZlX3RhZ3MgPSBhY3RpdmVfdGFnczEgKyBhY3RpdmVf dGFnczIKKysKKysKKysjIC0tIFJFUVVJUkVTOiBweXRlc3QKKytjbGFzcyBUZXN0QWN0aXZlVGFn TWF0Y2hlcjIob2JqZWN0KToKKysgICAgVGFnTWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIKKysg ICAgdHJhaXRzID0gVHJhaXRzNEFjdGl2ZVRhZ01hdGNoZXIKKysKKysgICAgQGNsYXNzbWV0aG9k CisrICAgIGRlZiBtYWtlX3RhZ19tYXRjaGVyKGNscyk6CisrICAgICAgICB2YWx1ZV9wcm92aWRl ciA9IHsKKysgICAgICAgICAgICAiZm9vIjogImFsaWNlIiwKKysgICAgICAgICAgICAiYmFyIjog IkJPQiIsCisrICAgICAgICB9CisrICAgICAgICB0YWdfbWF0Y2hlciA9IGNscy5UYWdNYXRjaGVy KHZhbHVlX3Byb3ZpZGVyKQorKyAgICAgICAgcmV0dXJuIHRhZ19tYXRjaGVyCisrCisrICAgIEBw eXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWRfbGVuLCB0YWdzIiwgWworKyAg ICAgICAgKCJjYXNlOiBUd28gZW5hYmxlZCB0YWdzIiwgMiwKKysgICAgICAgICBbdHJhaXRzLmNh dGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAg ICAgICAgKCJjYXNlOiBBY3RpdmUgZW5hYmxlZCBhbmQgbm9ybWFsIHRhZyIsIDEsCisrICAgICAg ICAgW3RyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsICAiZm9vIl0pLAorKyAgICAgICAgKCJj YXNlOiBBY3RpdmUgZGlzYWJsZWQgYW5kIG5vcm1hbCB0YWciLCAxLAorKyAgICAgICAgIFt0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyJdKSwKKysgICAgICAgICgiY2FzZTogTm9y bWFsIGFuZCBhY3RpdmUgbmVnYXRlZCB0YWciLCAxLAorKyAgICAgICAgIFsiZm9vIiwgdHJhaXRz LmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZTogVHdvIG5vcm1h bCB0YWdzIiwgMCwKKysgICAgICAgICBbImZvbyIsICJiYXIiXSksCisrICAgIF0pCisrICAgIGRl ZiB0ZXN0X3NlbGVjdF9hY3RpdmVfdGFnc19fd2l0aF90d29fdGFncyhzZWxmLCBjYXNlLCBleHBl Y3RlZF9sZW4sIHRhZ3MpOgorKyAgICAgICAgdGFnX21hdGNoZXIgPSBzZWxmLm1ha2VfdGFnX21h dGNoZXIoKQorKyAgICAgICAgc2VsZWN0ZWQgPSB0YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3Rh Z3ModGFncykKKysgICAgICAgIHNlbGVjdGVkID0gbGlzdChzZWxlY3RlZCkKKysgICAgICAgIGFz c2VydCBsZW4oc2VsZWN0ZWQpID09IGV4cGVjdGVkX2xlbiwgY2FzZQorKworKyAgICBAcHl0ZXN0 Lm1hcmsucGFyYW1ldHJpemUoImNhc2UsIGV4cGVjdGVkLCB0YWdzIiwgWworKyAgICAgICAgIyAt LSBHUk9VUDogV2l0aCBwb3NpdGl2ZSBsb2dpYyAobm9uLW5lZ2F0ZWQgdGFncykKKysgICAgICAg ICgiY2FzZSBQMDA6IDIgZGlzYWJsZWQgdGFncyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwK KysgICAgICAgICgiY2FzZSBQMDE6IGRpc2FibGVkIGFuZCBlbmFibGVkIHRhZyIsIFRydWUsCisr ICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5 Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFAxMDogZW5hYmxlZCBhbmQgZGlzYWJs ZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcs IHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgUDExOiAy IGVuYWJsZWQgdGFncyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgWyB0cmFp dHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSks CisrICAgICAgICAjIC0tIEdST1VQOiBXaXRoIG5lZ2F0ZWQgdGFnCisrICAgICAgICAoImNhc2Ug TjAwOiBub3QtZW5hYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRy YWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVk X3RhZ10pLAorKyAgICAgICAgKCJjYXNlIE4wMTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgdGFn IiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgTjEwOiBub3Qt ZGlzYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0 ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSks CisrICAgICAgICAoImNhc2UgTjExOiBub3QtZGlzYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgRmFs c2UsICMgLS0gU0hPVUxELVJVTgorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlz YWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAjIC0t IEdST1VQOiBXaXRoIHVua25vd24gY2F0ZWdvcnkKKysgICAgICAgICgiY2FzZSBVMHg6IGRpc2Fi bGVkIGFuZCB1bmtub3duIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZywgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnXSksCisrICAgICAgICAo ImNhc2UgVTF4OiBlbmFibGVkIGFuZCB1bmtub3duIHRhZyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQt UlVOCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMudW5r bm93bl9jYXRlZ29yeV90YWddKSwKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1 ZGVfd2l0aF9fY29tYmluYXRpb25zX29mXzJfY2F0ZWdvcmllcyhzZWxmLCBjYXNlLCBleHBlY3Rl ZCwgdGFncyk6CisrICAgICAgICB0YWdfbWF0Y2hlciA9IHNlbGYubWFrZV90YWdfbWF0Y2hlcigp CisrICAgICAgICBhY3R1YWxfcmVzdWx0ID0gdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzKQorKyAgICAgICAgYXNzZXJ0IGV4cGVjdGVkID09IGFjdHVhbF9yZXN1bHQsIGNhc2UK KysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIs IFsKKysgICAgICAgICMgLS0gR1JPVVA6IFdpdGggcG9zaXRpdmUgbG9naWMgKG5vbi1uZWdhdGVk IHRhZ3MpCisrICAgICAgICAoImNhc2UgUDAwOiAyIGRpc2FibGVkIHRhZ3MiLCBUcnVlLAorKyAg ICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFf ZGlzYWJsZWRfdGFnMl0pLAorKyAgICAgICAgKCJjYXNlIFAwMTogZGlzYWJsZWQgYW5kIGVuYWJs ZWQgdGFnIiwgRmFsc2UsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3Rh ZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFAxMDog ZW5hYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgRmFsc2UsCisrICAgICAgICAgWyB0cmFpdHMuY2F0 ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZ10pLAorKyAg ICAgICAgKCJjYXNlIFAxMTogMiBlbmFibGVkIHRhZ3MgKHNhbWUpIiwgRmFsc2UsICAjIC0tIFNI T1VMRC1SVU4KKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0 cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwKKysgICAgICAgICMgLS0gR1JPVVA6IFdpdGggbmVn YXRlZCB0YWcKKysgICAgICAgICgiY2FzZSBOMDA6IG5vdC1lbmFibGVkIGFuZCBkaXNhYmxlZCB0 YWciLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcs IHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgTjAxOiBu b3QtZW5hYmxlZCBhbmQgZW5hYmxlZCB0YWciLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNh dGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwK KysgICAgICAgICgiY2FzZSBOMTA6IG5vdC1kaXNhYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgVHJ1 ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZywgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBOMTE6IG5vdC1kaXNh YmxlZCBhbmQgZW5hYmxlZCB0YWciLCBGYWxzZSwgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAg WyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5h YmxlZF90YWddKSwKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9f Y29tYmluYXRpb25zX3dpdGhfc2FtZV9jYXRlZ29yeShzZWxmLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSwgZXhwZWN0ZWQsIHRh Z3MpOgorKyAgICAgICAgdGFnX21hdGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQorKyAg ICAgICAgcHJpbnQoInRhZ3M6IHt9Ii5mb3JtYXQodGFncykgKQorKyAgICAgICAgcHJpbnQoInRh Z19tYXRjaGVyLnZhbHVlOiB7fSIuZm9ybWF0KHRhZ19tYXRjaGVyLnZhbHVlX3Byb3ZpZGVyKSAp CisrICAgICAgICBhY3R1YWxfcmVzdWx0ID0gdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzKQorKyAgICAgICAgYXNzZXJ0IGV4cGVjdGVkID09IGFjdHVhbF9yZXN1bHQsIGNhc2UK KysKKysKKytjbGFzcyBUZXN0QWN0aXZlVGFncyhUZXN0Q2FzZSk6CisrICAgIFRhZ01hdGNoZXIg PSBBY3RpdmVUYWdNYXRjaGVyCisrICAgIHRyYWl0cyA9IFRyYWl0czRBY3RpdmVUYWdNYXRjaGVy CisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFrZV90YWdfbWF0Y2hlcihjbHMpOgor KyAgICAgICAgdGFnX21hdGNoZXIgPSBjbHMuVGFnTWF0Y2hlcihjbHMudHJhaXRzLnZhbHVlX3By b3ZpZGVyKQorKyAgICAgICAgcmV0dXJuIHRhZ19tYXRjaGVyCisrCisrICAgIGRlZiBzZXRVcChz ZWxmKToKKysgICAgICAgIHNlbGYudGFnX21hdGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIo KQorKworKyAgICBkZWYgdGVzdF9zZWxlY3RfYWN0aXZlX3RhZ3NfX2Jhc2ljcyhzZWxmKToKKysg ICAgICAgIGFjdGl2ZV90YWcgPSAiYWN0aXZlLndpdGhfQ0FURUdPUlk9VkFMVUUiCisrICAgICAg ICB0YWdzID0gWyJmb28iLCBhY3RpdmVfdGFnLCAiYmFyIl0KKysgICAgICAgIHNlbGVjdGVkID0g bGlzdChzZWxmLnRhZ19tYXRjaGVyLnNlbGVjdF9hY3RpdmVfdGFncyh0YWdzKSkKKysgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGVjdGVkKSwgMSkKKysgICAgICAgIHNlbGVjdGVkX3Rh Zywgc2VsZWN0ZWRfbWF0Y2ggPSBzZWxlY3RlZFswXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChzZWxlY3RlZF90YWcsIGFjdGl2ZV90YWcpCisrCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9hY3Rp dmVfdGFnc19fbWF0Y2hlc190YWdfcGFydHMoc2VsZik6CisrICAgICAgICB0YWdzID0gWyJhY3Rp dmUud2l0aF9DQVRFR09SWT1WQUxVRSJdCisrICAgICAgICBzZWxlY3RlZCA9IGxpc3Qoc2VsZi50 YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3RhZ3ModGFncykpCisrICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKGxlbihzZWxlY3RlZCksIDEpCisrICAgICAgICBzZWxlY3RlZF90YWcsIHNlbGVjdGVk X21hdGNoID0gc2VsZWN0ZWRbMF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZWN0ZWRf bWF0Y2guZ3JvdXAoInByZWZpeCIpLCAiYWN0aXZlIikKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoc2VsZWN0ZWRfbWF0Y2guZ3JvdXAoImNhdGVnb3J5IiksICJDQVRFR09SWSIpCisrICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKHNlbGVjdGVkX21hdGNoLmdyb3VwKCJ2YWx1ZSIpLCAiVkFMVUUi KQorKworKyAgICBkZWYgdGVzdF9zZWxlY3RfYWN0aXZlX3RhZ3NfX2ZpbmRzX3RhZ193aXRoX2Fu eV92YWxpZF90YWdfcHJlZml4KHNlbGYpOgorKyAgICAgICAgVGFnTWF0Y2hlciA9IHNlbGYuVGFn TWF0Y2hlcgorKyAgICAgICAgZm9yIHRhZ19wcmVmaXggaW4gVGFnTWF0Y2hlci50YWdfcHJlZml4 ZXM6CisrICAgICAgICAgICAgdGFnID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9v IiwgImFsaWNlIiwgdGFnX3ByZWZpeCkKKysgICAgICAgICAgICB0YWdzID0gWyB0YWcgXQorKyAg ICAgICAgICAgIHNlbGVjdGVkID0gc2VsZi50YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3RhZ3Mo dGFncykKKysgICAgICAgICAgICBzZWxlY3RlZCA9IGxpc3Qoc2VsZWN0ZWQpCisrICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZWN0ZWQpLCAxKQorKyAgICAgICAgICAgIHNlbGVj dGVkX3RhZzAgPSBzZWxlY3RlZFswXVswXQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo c2VsZWN0ZWRfdGFnMCwgdGFnKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxlY3Rl ZF90YWcwLnN0YXJ0c3dpdGgodGFnX3ByZWZpeCkpCisrCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9h Y3RpdmVfdGFnc19faWdub3Jlc19pbnZhbGlkX2FjdGl2ZV90YWdzKHNlbGYpOgorKyAgICAgICAg aW52YWxpZF9hY3RpdmVfdGFncyA9IFsKKysgICAgICAgICAgICAoImZvby5hbGljZSIsICAgICAg ICAgICAgICAgImNhc2U6IE5vcm1hbCB0YWciKSwKKysgICAgICAgICAgICAoIndpdGhfZm9vPUZy YW5rIiwgICAgICAgICAgImNhc2U6IFN1YnNldCBvZiBhbiBhY3RpdmUgdGFnIiksCisrICAgICAg ICAgICAgKCJBQ1RJVkUud2l0aF9mb28uYWxpY2UiLCAgICJjYXNlOiBXcm9uZyB0YWdfcHJlZml4 ICh1cHBlcmNhc2UpIiksCisrICAgICAgICAgICAgKCJvbmx5LndpdGhfZm9vLmFsaWNlIiwgICAg ICJjYXNlOiBXcm9uZyB2YWx1ZV9zZXBhcmF0b3IiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZv ciBpbnZhbGlkX3RhZywgY2FzZSBpbiBpbnZhbGlkX2FjdGl2ZV90YWdzOgorKyAgICAgICAgICAg IHRhZ3MgPSBbIGludmFsaWRfdGFnIF0KKysgICAgICAgICAgICBzZWxlY3RlZCA9IHNlbGYudGFn X21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdzKHRhZ3MpCisrICAgICAgICAgICAgc2VsZWN0ZWQg PSBsaXN0KHNlbGVjdGVkKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGVj dGVkKSwgMCwgY2FzZSkKKysKKysgICAgZGVmIHRlc3Rfc2VsZWN0X2FjdGl2ZV90YWdzX193aXRo X3R3b190YWdzKHNlbGYpOgorKyAgICAgICAgIyBYWFgtSkUtRFVQTElDQVRFRDoKKysgICAgICAg IHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAg ICAgICAgICgiY2FzZTogVHdvIGVuYWJsZWQgdGFncyIsCisrICAgICAgICAgICAgIFt0cmFpdHMu Y2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisr ICAgICAgICAgICAgKCJjYXNlOiBBY3RpdmUgZW5hYmxlZCBhbmQgbm9ybWFsIHRhZyIsCisrICAg ICAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCAgImZvbyJdKSwKKysgICAg ICAgICAgICAoImNhc2U6IEFjdGl2ZSBkaXNhYmxlZCBhbmQgbm9ybWFsIHRhZyIsCisrICAgICAg ICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyJdKSwKKysgICAgICAg ICAgICAoImNhc2U6IEFjdGl2ZSBuZWdhdGVkIGFuZCBub3JtYWwgdGFnIiwKKysgICAgICAgICAg ICAgW3RyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCAiZm9vIl0pLAorKyAgICAgICAg XQorKyAgICAgICAgZm9yIGNhc2UsIHRhZ3MgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAg ICBzZWxlY3RlZCA9IHNlbGYudGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdzKHRhZ3MpCisr ICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaXN0KHNlbGVjdGVkKQorKyAgICAgICAgICAgIHNlbGYu YXNzZXJ0VHJ1ZShsZW4oc2VsZWN0ZWQpID49IDEsIGNhc2UpCisrCisrCisrICAgIGRlZiB0ZXN0 X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9lbmFibGVkX3RhZyhzZWxm KToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzMSA9IFsgdHJh aXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdCisrICAgICAgICB0YWdzMiA9IFsgdHJhaXRzLmNh dGVnb3J5Ml9lbmFibGVkX3RhZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFnczEpKQorKyAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRo KHRhZ3MyKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19m YWxzZV93aXRoX2Rpc2FibGVkX3RhZ19hbmRfbW9yZShzZWxmKToKKysgICAgICAgICMgLS0gTk9U RTogTmVlZCAxKyBlbmFibGVkIGFjdGl2ZS10YWdzIG9mIHNhbWUgY2F0ZWdvcnkgPT4gRU5BQkxF RAorKyAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworKyAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAg ICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNh YmxlZF90YWcgXSwgImNhc2U6IGZpcnN0IiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVn b3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcgXSwgImNhc2U6 IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVk X3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRk bGUiKSwKKysgICAgICAgIF0KKysgICAgICAgIGVuYWJsZWQgPSBUcnVlICAjIEVYUEVDVEVECisr ICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwobm90IGVuYWJsZWQsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0l cyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhf X3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNl bGYudHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3Rh ZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hv dWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVf d2l0aF9fcmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2FuZF9tb3JlKHNlbGYpOgorKyAgICAg ICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAg ICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iIF0sICJjYXNl OiBmaXJzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2Fi bGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAg ICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0l cyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhf X3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfdGFnKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0g c2VsZi50cmFpdHMKKysgICAgICAgIHRhZ3MgPSBbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90 YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNo b3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRl X3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX3NpbWlsYXJfYW5kX21vcmUoc2VsZik6CisrICAgICAg ICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAg ICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTog Zmlyc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFy X3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0 ZWdvcnkxX3NpbWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBd CisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93 aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAl IChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0 dXJuc19mYWxzZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxmKToKKysgICAgICAgIHRlc3RfcGF0 dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiks CisrICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNlOiBPbmUgdGFnIiksCisrICAgICAg ICAgICAgKFsgImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28gdGFncyIpLAorKyAgICAgICAgXQor KyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUg KGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX2ZhbHNlX3dpdGhfdW5rbm93bl9jYXRlZ29yeV90YWcoc2VsZik6CisrICAgICAgICAiIiJU YWdzIGZyb20gdW5rbm93biBjYXRlZ29yaWVzLCBub3Qgc3VwcG9ydGVkIGJ5IHZhbHVlX3Byb3Zp ZGVyLAorKyAgICAgICAgc2hvdWxkIG5vdCBiZSBleGNsdWRlZC4KKysgICAgICAgICIiIgorKyAg ICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRhZ3MgPSBbIHRyYWl0cy51bmtu b3duX2NhdGVnb3J5X3RhZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJ1c2Uud2l0aF9V TktOT1dOPW9uZSIsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZykKKysgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWwoTm9uZSwgc2VsZi50YWdfbWF0Y2hlci52YWx1ZV9wcm92aWRlci5nZXQoIlVO S05PV04iKSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNo ZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4 Y2x1ZGVfd2l0aF9fY29tYmluYXRpb25zX29mXzJfY2F0ZWdvcmllcyhzZWxmKToKKysgICAgICAg ICMgWFhYLUpFLURVUExJQ0FURUQ6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAg ICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoImNhc2UgUDAwOiAyIGRpc2Fi bGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29y eTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAg ICAgICAgICgiY2FzZSBQMDE6IGRpc2FibGVkIGFuZCBlbmFibGVkIGNhdGVnb3J5IHRhZ3MiLCBU cnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFp dHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIFAxMDogZW5h YmxlZCBhbmQgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsg dHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90 YWddKSwKKysgICAgICAgICAgICAoImNhc2UgUDExOiAyIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIs IEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5 MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAg ICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBXaXRoIG5lZ2F0ZWQgY2F0ZWdvcnkKKysgICAgICAgICAg ICAoImNhc2UgTjAwOiBub3QtZW5hYmxlZCBhbmQgZGlzYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRy dWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRy YWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIE4wMTog bm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAg ICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJf ZW5hYmxlZF90YWddKSwKKysgICAgICAgICAgICAoImNhc2UgTjEwOiBub3QtZGlzYWJsZWQgYW5k IGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5j YXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWdd KSwKKysgICAgICAgICAgICAoImNhc2UgTjExOiBub3QtZW5hYmxlZCBhbmQgZW5hYmxlZCBjYXRl Z29yeSB0YWdzIiwgRmFsc2UsICAjIC0tIFNIT1VMRC1SVU4KKysgICAgICAgICAgICAgWyB0cmFp dHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90 YWddKSwKKysgICAgICAgICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogV2l0aCB1bmtub3duIGNhdGVn b3J5CisrICAgICAgICAgICAgKCJjYXNlIDB4OiBkaXNhYmxlZCBhbmQgdW5rbm93biBjYXRlZ29y eSB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVk X3RhZywgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNl IDF4OiBlbmFibGVkIGFuZCB1bmtub3duIGNhdGVnb3J5IHRhZ3MiLCBGYWxzZSwgICMgU0hPVUxE LVJVTgorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0 cy51bmtub3duX2NhdGVnb3J5X3RhZ10pLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIGNhc2Us IGV4cGVjdGVkLCB0YWdzIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgYWN0dWFsX3Jl c3VsdCA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIGFjdHVhbF9yZXN1bHQsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKwor KyAgICBkZWYgdGVzdF9zaG91bGRfcnVuX3dpdGhfX25lZ2F0ZXNfcmVzdWx0X29mX3Nob3VsZF9l eGNsdWRlX3dpdGgoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAg ICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBdLCAgICAgICAgICAgICAgICAg ICAiY2FzZTogTm8gdGFncyIpLAorKyAgICAgICAgICAgIChbICJmb28iIF0sICAgICAgICAgICAg ICJjYXNlOiBPbmUgbm9uLWNhdGVnb3J5IHRhZyIpLAorKyAgICAgICAgICAgIChbICJmb28iLCAi YmFyIiBdLCAgICAgICJjYXNlOiBUd28gbm9uLWNhdGVnb3J5IHRhZ3MiKSwKKysgICAgICAgICAg ICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0sICAgImNhc2U6IGVuYWJsZWQgdGFn IiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgICJjYXNlOiBlbmFibGVkIGFuZCBvdGhlciB0YWci KSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCAiZm9vIiBd LCAgICAiY2FzZTogZW5hYmxlZCBhbmQgZm9vIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0 cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICAgICAgICAgICAgImNhc2U6IG90aGVyIHRhZyIp LAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiZm9vIiBd LCAgICAgImNhc2U6IG90aGVyIGFuZCBmb28gdGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRz LmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAgICAgICAgICAiY2FzZTogc2ltaWxhciB0YWciKSwK KysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZyBdLCAg ICJjYXNlOiBmb28gYW5kIHNpbWlsYXIgdGFnIiksCisrICAgICAgICBdCisrICAgICAgICBmb3Ig dGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHJlc3VsdDEgPSBzZWxm LnRhZ19tYXRjaGVyLnNob3VsZF9ydW5fd2l0aCh0YWdzKQorKyAgICAgICAgICAgIHJlc3VsdDIg PSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdDEsIG5vdCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUg KGNhc2UsIHRhZ3MpKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobm90IHJlc3VsdDEs IHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrCisrY2xhc3MgVGVz dENvbXBvc2l0ZVRhZ01hdGNoZXIoVGVzdENhc2UpOgorKworKyAgICBAc3RhdGljbWV0aG9kCisr ICAgIGRlZiBjb3VudF90YWdfbWF0Y2hlcl93aXRoX3Jlc3VsdCh0YWdfbWF0Y2hlcnMsIHRhZ3Ms IHJlc3VsdF92YWx1ZSk6CisrICAgICAgICBjb3VudCA9IDAKKysgICAgICAgIGZvciB0YWdfbWF0 Y2hlciBpbiB0YWdfbWF0Y2hlcnM6CisrICAgICAgICAgICAgY3VycmVudF9yZXN1bHQgPSB0YWdf bWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgaWYgY3VycmVu dF9yZXN1bHQgPT0gcmVzdWx0X3ZhbHVlOgorKyAgICAgICAgICAgICAgICBjb3VudCArPSAxCisr ICAgICAgICByZXR1cm4gY291bnQKKysKKysgICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAg cHJlZGljYXRlX2ZhbHNlID0gbGFtYmRhIHRhZ3M6IEZhbHNlCisrICAgICAgICBwcmVkaWNhdGVf Y29udGFpbnNfZm9vID0gbGFtYmRhIHRhZ3M6IGFueSh4ID09ICJmb28iIGZvciB4IGluIHRhZ3Mp CisrICAgICAgICBzZWxmLnRhZ19tYXRjaGVyX2ZhbHNlID0gUHJlZGljYXRlVGFnTWF0Y2hlcihw cmVkaWNhdGVfZmFsc2UpCisrICAgICAgICBzZWxmLnRhZ19tYXRjaGVyX2ZvbyA9IFByZWRpY2F0 ZVRhZ01hdGNoZXIocHJlZGljYXRlX2NvbnRhaW5zX2ZvbykKKysgICAgICAgIHRhZ19tYXRjaGVy cyA9IFsKKysgICAgICAgICAgICBzZWxmLnRhZ19tYXRjaGVyX2ZvbywKKysgICAgICAgICAgICBz ZWxmLnRhZ19tYXRjaGVyX2ZhbHNlCisrICAgICAgICBdCisrICAgICAgICBzZWxmLmN0YWdfbWF0 Y2hlciA9IENvbXBvc2l0ZVRhZ01hdGNoZXIodGFnX21hdGNoZXJzKQorKworKyAgICBkZWYgdGVz dF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2hlbl9hbnlfdGFnX21hdGNoZXJf cmV0dXJuc190cnVlKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAg ICAgICAoImNhc2U6IHdpdGggZm9vIiwgIFsiZm9vIiwgImJhciJdKSwKKysgICAgICAgICAgICAo ImNhc2U6IHdpdGggZm9vMiIsIFsiZm9venkiLCAiZm9vIiwgImJhciJdKSwKKysgICAgICAgIF0K KysgICAgICAgIGZvciBjYXNlLCB0YWdzIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAg YWN0dWFsX3Jlc3VsdCA9IHNlbGYuY3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFn cykKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIGFjdHVhbF9yZXN1bHQsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3Mp KQorKworKyAgICAgICAgICAgIGFjdHVhbF90cnVlX2NvdW50ID0gc2VsZi5jb3VudF90YWdfbWF0 Y2hlcl93aXRoX3Jlc3VsdCgKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu Y3RhZ19tYXRjaGVyLnRhZ19tYXRjaGVycywgdGFncywgVHJ1ZSkKKysgICAgICAgICAgICBzZWxm LmFzc2VydEVxdWFsKDEsIGFjdHVhbF90cnVlX2NvdW50KQorKworKyAgICBkZWYgdGVzdF9zaG91 bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3doZW5fbm9fdGFnX21hdGNoZXJfcmV0dXJu X3RydWUoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgICgi Y2FzZTogd2l0aG91dCBmb28iLCAgIFsiZm9vbCIsICJiYXIiXSksCisrICAgICAgICAgICAgKCJj YXNlOiB3aXRob3V0IGZvbzIiLCAgWyJmb296eSIsICJiYXIiXSksCisrICAgICAgICBdCisrICAg ICAgICBmb3IgY2FzZSwgdGFncyBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIGFjdHVh bF9yZXN1bHQgPSBzZWxmLmN0YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisr ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgYWN0dWFsX3Jlc3VsdCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisr CisrICAgICAgICAgICAgYWN0dWFsX3RydWVfY291bnQgPSBzZWxmLmNvdW50X3RhZ19tYXRjaGVy X3dpdGhfcmVzdWx0KAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu Y3RhZ19tYXRjaGVyLnRhZ19tYXRjaGVycywgdGFncywgVHJ1ZSkKKysgICAgICAgICAgICBzZWxm LmFzc2VydEVxdWFsKDAsIGFjdHVhbF90cnVlX2NvdW50KQorKycnJworKworZGlmZiAtLWdpdCBh L3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0 Y2hlci5weQoraW5kZXggYTA0YzFkNC4uNDNmNWFmMCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQv dGVzdF90YWdfbWF0Y2hlci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5 CitAQCAtMTI4LDkgKzEyOCw5IEBAIGNsYXNzIFRlc3RBY3RpdmVUYWdNYXRjaGVyMihvYmplY3Qp OgorICAgICAgICAgIyAtLSBHUk9VUDogV2l0aCBuZWdhdGVkIHRhZworICAgICAgICAgKCJjYXNl IE4wMDogbm90LWVuYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIFRydWUsCisgICAgICAgICAgWyB0 cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxl ZF90YWddKSwKKy0gICAgICAgICgiY2FzZSBOMDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIHRh ZyIsIEZhbHNlLAorKyAgICAgICAgKCJjYXNlIE4wMTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQg dGFnIiwgVHJ1ZSwKKyAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFn LCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnXSksCistICAgICAgICAoImNhc2UgTjEwOiBu b3QtZGlzYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIEZhbHNlLAorKyAgICAgICAgKCJjYXNlIE4x MDogbm90LWRpc2FibGVkIGFuZCBkaXNhYmxlZCB0YWciLCBUcnVlLAorICAgICAgICAgIFsgdHJh aXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVk X3RhZ10pLAorICAgICAgICAgKCJjYXNlIE4xMTogbm90LWRpc2FibGVkIGFuZCBlbmFibGVkIHRh ZyIsIEZhbHNlLCAjIC0tIFNIT1VMRC1SVU4KKyAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFf bm90X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZ10pLAorQEAgLTEz OCw2ICsxMzgsOCBAQCBjbGFzcyBUZXN0QWN0aXZlVGFnTWF0Y2hlcjIob2JqZWN0KToKKyAgICAg ZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fY29tYmluYXRpb25zX3dpdGhfc2FtZV9jYXRl Z29yeShzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorICAgICAgICAgdGFnX21hdGNoZXIg PSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQorKyAgICAgICAgcHJpbnQoInRhZ3M6IHt9Ii5mb3Jt YXQodGFncykgKQorKyAgICAgICAgcHJpbnQoInRhZ19tYXRjaGVyLnZhbHVlOiB7fSIuZm9ybWF0 KHRhZ19tYXRjaGVyLnZhbHVlX3Byb3ZpZGVyKSApCisgICAgICAgICBhY3R1YWxfcmVzdWx0ID0g dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorICAgICAgICAgYXNzZXJ0IGV4 cGVjdGVkID09IGFjdHVhbF9yZXN1bHQsIGNhc2UKKyAKK0BAIC0yMjQsNiArMjI2LDcgQEAgY2xh c3MgVGVzdEFjdGl2ZVRhZ01hdGNoZXIxKFRlc3RDYXNlKToKKyAKKyAgICAgZGVmIHRlc3Rfc2hv dWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2Rpc2FibGVkX3RhZ19hbmRfbW9y ZShzZWxmKToKKyAgICAgICAgICMgLS0gTk9URTogTmVlZCAxKyBlbmFibGVkIGFjdGl2ZS10YWdz IG9mIHNhbWUgY2F0ZWdvcnkgPT4gRU5BQkxFRAorKyAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9 bGluZS10b28tbG9uZworICAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKyAgICAgICAgIHRl c3RfcGF0dGVybnMgPSBbCisgICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVk X3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgImNhc2U6IGZpcnN0IiksCitA QCAtMjgzLDcgKzI4Niw3IEBAIGNsYXNzIFRlc3RBY3RpdmVUYWdNYXRjaGVyMShUZXN0Q2FzZSk6 CisgICAgICAgICAiIiIKKyAgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisgICAgICAgICB0 YWdzID0gWyB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcgXQorLSAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbCgiYWN0aXZlLndpdGhfVU5LTk9XTj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29y eV90YWcpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJ1c2Uud2l0aF9VTktOT1dOPW9uZSIs IHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZykKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo Tm9uZSwgc2VsZi50YWdfbWF0Y2hlci52YWx1ZV9wcm92aWRlci5nZXQoIlVOS05PV04iKSkKKyAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKSkKKyAKK0BAIC0zNzYsNDIgKzM3OSw2IEBAIGNsYXNzIFRlc3RQcmVk aWNhdGVUYWdNYXRjaGVyKFRlc3RDYXNlKToKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFs c2UsIHByZWRpY2F0ZV9hbHdheXNfZmFsc2UodGFncykpCisgCisgCistY2xhc3MgVGVzdFByZWRp Y2F0ZVRhZ01hdGNoZXIoVGVzdENhc2UpOgorLQorLSAgICBkZWYgdGVzdF9leGNsdWRlX3dpdGhf X21lY2hhbmljcyhzZWxmKToKKy0gICAgICAgIHByZWRpY2F0ZV9mdW5jdGlvbl9ibHVlcHJpbnQg PSBsYW1iZGEgdGFnczogRmFsc2UKKy0gICAgICAgIHByZWRpY2F0ZV9mdW5jdGlvbiA9IE1vY2so cHJlZGljYXRlX2Z1bmN0aW9uX2JsdWVwcmludCkKKy0gICAgICAgIHByZWRpY2F0ZV9mdW5jdGlv bi5yZXR1cm5fdmFsdWUgPSBUcnVlCistICAgICAgICB0YWdfbWF0Y2hlciA9IFByZWRpY2F0ZVRh Z01hdGNoZXIocHJlZGljYXRlX2Z1bmN0aW9uKQorLSAgICAgICAgdGFncyA9IFsgImZvbyIsICJi YXIiIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgdGFnX21hdGNoZXIuc2hvdWxk X2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0gICAgICAgIHByZWRpY2F0ZV9mdW5jdGlvbi5hc3NlcnRf Y2FsbGVkX29uY2Vfd2l0aCh0YWdzKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBw cmVkaWNhdGVfZnVuY3Rpb24odGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRl X3dpdGhfX3JldHVybnNfdHJ1ZV93aGVuX3ByZWRpY2F0ZV9pc190cnVlKHNlbGYpOgorLSAgICAg ICAgcHJlZGljYXRlX2Fsd2F5c190cnVlID0gbGFtYmRhIHRhZ3M6IFRydWUKKy0gICAgICAgIHRh Z19tYXRjaGVyMSA9IFByZWRpY2F0ZVRhZ01hdGNoZXIocHJlZGljYXRlX2Fsd2F5c190cnVlKQor LSAgICAgICAgdGFncyA9IFsgImZvbyIsICJiYXIiIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoVHJ1ZSwgdGFnX21hdGNoZXIxLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHByZWRpY2F0ZV9hbHdheXNfdHJ1ZSh0YWdzKSkKKy0K Ky0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3doZW5fcHJl ZGljYXRlX2lzX3RydWUyKHNlbGYpOgorLSAgICAgICAgIyAtLSBDQVNFOiBVc2UgcHJlZGljYXRl IGZ1bmN0aW9uIGluc3RlYWQgb2YgbGFtYmRhLgorLSAgICAgICAgZGVmIHByZWRpY2F0ZV9jb250 YWluc19mb28odGFncyk6CistICAgICAgICAgICAgcmV0dXJuIGFueSh4ID09ICJmb28iIGZvciB4 IGluIHRhZ3MpCistICAgICAgICB0YWdfbWF0Y2hlcjIgPSBQcmVkaWNhdGVUYWdNYXRjaGVyKHBy ZWRpY2F0ZV9jb250YWluc19mb28pCistICAgICAgICB0YWdzID0gWyAiZm9vIiwgImJhciIgXQor LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCB0YWdfbWF0Y2hlcjIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKSkKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgcHJlZGljYXRl X2NvbnRhaW5zX2Zvbyh0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0 aF9fcmV0dXJuc19mYWxzZV93aGVuX3ByZWRpY2F0ZV9pc19mYWxzZShzZWxmKToKKy0gICAgICAg IHByZWRpY2F0ZV9hbHdheXNfZmFsc2UgPSBsYW1iZGEgdGFnczogRmFsc2UKKy0gICAgICAgIHRh Z19tYXRjaGVyMSA9IFByZWRpY2F0ZVRhZ01hdGNoZXIocHJlZGljYXRlX2Fsd2F5c19mYWxzZSkK Ky0gICAgICAgIHRhZ3MgPSBbICJmb28iLCAiYmFyIiBdCistICAgICAgICBzZWxmLmFzc2VydEVx dWFsKEZhbHNlLCB0YWdfbWF0Y2hlcjEuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0gICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHByZWRpY2F0ZV9hbHdheXNfZmFsc2UodGFncykp CistCistCisgY2xhc3MgVGVzdENvbXBvc2l0ZVRhZ01hdGNoZXIoVGVzdENhc2UpOgorIAorICAg ICBAc3RhdGljbWV0aG9kCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEwLUZJWC1UZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MTEwLUZJWC1UZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi4xZWJkNWFhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEwLUZJWC1UZXN0cy13 LW1vcmUuZmVhdHVyZXMucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorRnJvbSBiZjFjM2M4NTVjNWQw NWE4M2ZjZDI4ZTE0YTMzYzJhYjRjNzIwODcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQs IDkgSmFuIDIwMjEgMjI6MDk6NTkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBUZXN0cyB3 LyBtb3JlLmZlYXR1cmVzLworCistLS0KKyBweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAgICB8 IDIgKysKKyBweS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCB8IDIgKysKKyB0b3guaW5pICAg ICAgICAgICAgICAgICAgICAgICB8IDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2Np LnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAoraW5kZXggNWJlZTUyNC4uMzg3 ZTkwNSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CisrKysgYi9weS5y ZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAgLTEzLDMgKzEzLDUgQEAgUHlIYW1jcmVzdCA8ICAy LjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyAjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0 aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKyBwYXRo LnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKyBwYXRoID49IDEzLjEuMDsg ICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKKysKKytqc29uc2NoZW1hCitkaWZmIC0tZ2l0IGEv cHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlz LnR4dAoraW5kZXggMzcyMTE2YS4uY2JjNjBjMCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50 cy9jaS50cmF2aXMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorQEAg LTE2LDYgKzE2LDggQEAgUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMu MCcKKyBwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKyBwYXRoID49 IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKKyAKKytqc29uc2NoZW1hCisrCisg IyAtLSBOT1RFOiBUcmF2aXMuQ0kgdHdlYWsgcmVsYXRlZCB3LyBpbnZhbGlkIGxpbmVjYWNoZTIg dGVzdHMuCisgIyAgICBUaGlzIHByb2JsZW0gZG9lcyBub3QgZXhpc3QgaWYgeW91IHVzZSBwaXAu CisgbGluZWNhY2hlMiA+PSAxLjA7IHB5dGhvbl92ZXJzaW9uIDwgJzMuMCcKK2RpZmYgLS1naXQg YS90b3guaW5pIGIvdG94LmluaQoraW5kZXggOGNjYjU4Yi4uYzE0NWI1MSAxMDA2NDQKKy0tLSBh L3RveC5pbmkKKysrKyBiL3RveC5pbmkKK0BAIC02LDcgKzYsNyBAQAorICMgICBVc2UgdG94IHRv IHJ1biB0YXNrcyAodGVzdHMsIC4uLikgaW4gYSBjbGVhbiB2aXJ0dWFsIGVudmlyb25tZW50Lgor ICMgICBBZnRlcndhcmRzIHlvdSBjYW4gcnVuIHRveCBpbiBvZmZsaW5lIG1vZGUsIGxpa2U6Cisg IworLSMgICAgICAgdG94IC1lIHB5MjcKKysjICAgICAgIHRveCAtZSBweTM4CisgIworICMgICBU b3ggY2FuIGJlIGNvbmZpZ3VyZWQgZm9yIG9mZmxpbmUgdXNhZ2UuCisgIyAgIEluaXRpYWxpemUg bG9jYWwgd29ya3NwYWNlIG9uY2UgKGRvd25sb2FkIHBhY2thZ2VzLCBjcmVhdGUgUHlQSSBpbmRl eCk6CitAQCAtMjgsNyArMjgsNyBAQAorIAorIFt0b3hdCisgbWludmVyc2lvbiAgID0gMi4zCist ZW52bGlzdCAgICAgID0gcHkyNywgcHkzNywgcHkzOCwgcHkzNiwgcHkzNSwgcHlweSwgZG9jcwor K2Vudmxpc3QgICAgICA9IHB5MzksIHB5MzgsIHB5MjcsIHB5MzcsIHB5MzYsIHB5MzUsIHB5cHkz LCBweXB5LCBkb2NzCisgc2tpcF9taXNzaW5nX2ludGVycHJldGVycyA9IFRydWUKKyBzaXRlcGFj a2FnZXMgPSBGYWxzZQorIGluZGV4c2VydmVyID0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTEtRklYLVNvbWUtcmVncmVz c2lvbnMtd2l0aC1QeXRob24tMy45LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMS1GSVgtU29tZS1yZWdyZXNzaW9ucy13aXRoLVB5 dGhvbi0zLjkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iYjA1 MzcyYzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMTExLUZJWC1Tb21lLXJlZ3Jlc3Npb25zLXdpdGgtUHl0aG9u LTMuOS5wYXRjaApAQCAtMCwwICsxLDc0MSBAQAorRnJvbSAxMmU0ZTIzOGFiMjkxNjU3ZjdlMmI3 ZDM3YjAwMGE5ODYxZGVhZmE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIw MjEgMjI6MTE6MzggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBTb21lIHJlZ3Jlc3Npb25z IHdpdGggUHl0aG9uIDMuOQorCisqIGFzeW5jLXN0ZXBzOiBVc2UgbW9yZSBzdGFibGUgYWN0aXZl LXRhZ3Mgbm93LgorKiBKVW5pdCBYTUwgcmVsYXRlZDogQWRhcHQgdG8gWE1MIGF0dHJpYnV0ZSBv cmRlcmluZyBjaGFuZ2VzIHNpbmNlIFB5dGhvbiAzLjguCisqIFByZXBhcmUgYWN0aXZlLXRhZ3Mg dXNhZ2UgZm9yIFB5dGhvbiAzLjEwCisqIEJlaGF2ZSBqc29uc2NoZW1hOiBBZGQgc29tZSBleHRy YSBlbGVtZW50cyAocmVsYXRlZCB0bzogZ2hlcmtpbiB2NiBSdWxlKS4KKy0tLQorIC5naXRpZ25v cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyBDSEFOR0VTLnJz dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArCisgYmVoYXZlL3B5dGhv bl9mZWF0dXJlLnB5ICAgICAgICAgICAgICAgICAgICAgIHwgODEgKysrKysrKysrKysrKysrKysr KworIGV0Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYSAgICAgICAgICAgICAgICAgICB8IDI4ICsr KysrKy0KKyAuLi4vZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZSAgICAgICAgICAgfCAg NyArLQorIC4uLi9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlICAgICB8ICA3 ICstCisgZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgIHwgMTYg KystLQorIC4uLi9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5weSAgICAgICAgICB8ICA0 ICstCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5ICAgIHwgMTMg Ky0tCisgLi4uL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkgIHwgIDYg Ky0KKyBmZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgICAgICAgICAgICAgICAgICAgICAgfCAxMiAr Ky0KKyBmZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUgICAgICAgICAgICAgfCA2NCAr KysrLS0tLS0tLS0tLS0KKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSAgICAgICAg ICAgICAgfCAxOCArKystLQorIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlICAgICAg ICAgICAgICB8IDEyICsrLQorIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlICAgICAg ICAgICAgICB8IDEyICsrLQorIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlICAgICAg ICAgICAgICB8IDExICstLQorIG1vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAg ICAgICAgICB8IDEwICstLQorIG1vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUgICAg ICAgICAgICB8ICA5ICstLQorIDE4IGZpbGVzIGNoYW5nZWQsIDE5NSBpbnNlcnRpb25zKCspLCAx MTggZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJlaGF2ZS9weXRob25fZmVhdHVy ZS5weQorCitkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKK2luZGV4IDljNWMz M2QuLjhkN2MyOGUgMTAwNjQ0CistLS0gYS8uZ2l0aWdub3JlCisrKysgYi8uZ2l0aWdub3JlCitA QCAtMjUsMyArMjUsNCBAQCB0b29scy92aXJ0dWFsZW52cworIC5yb3BlcHJvamVjdAorIG5vc2V0 ZXN0cy54bWwKKyByZXJ1bi50eHQKKyt0ZXN0cnVuKi5qc29uCitkaWZmIC0tZ2l0IGEvQ0hBTkdF Uy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggNGUyMGJiOC4uYTMzOThkOCAxMDA2NDQKKy0tLSBh L0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTM4LDYgKzM4LDggQEAgQ0xBUklG SUNBVElPTjoKKyAKKyBGSVhFRDoKKyAKKysqIEZJWEVEOiBTb21lIHRlc3RzIHJlbGF0ZWQgdG8g cHl0aG9uMy45CisrKiBGSVhFRDogYWN0aXZlLXRhZyBsb2dpYyBpZiBtdWx0aXBsZSB0YWdzIHdp dGggc2FtZSBjYXRlZ29yeSBleGlzdHMuCisgKiBpc3N1ZSAjNzcyOiBTY2VuYXJpb091dGxpbmUu RXhhbXBsZXMgd2l0aG91dCB0YWJsZSAoc3VibWl0dGVkIGJ5OiBUaGUtUUEtR2VlaykKKyAqIGlz c3VlICM3NTU6IEZhaWx1cmVzIHdpdGggUHl0aG9uIDMuOCAoc3VibWl0dGVkIGJ5OiBocm9uY29r KQorICogaXNzdWUgIzcyNTogU2NlbmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBsaW5lcyBzZWVt IHRvIGJlIGlnbm9yZWQgKHN1Ym1pdHRlZCBieTogbml6d2l6KQorZGlmZiAtLWdpdCBhL2JlaGF2 ZS9weXRob25fZmVhdHVyZS5weSBiL2JlaGF2ZS9weXRob25fZmVhdHVyZS5weQorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjRlMTM0ZGUKKy0tLSAvZGV2L251bGwKKysrKyBi L2JlaGF2ZS9weXRob25fZmVhdHVyZS5weQorQEAgLTAsMCArMSw4MSBAQAorKyMgLSotIGNvZGlu ZzogVVRGLTggLSotCisrIiIiCisrUHJvdmlkZXMgYSBrbm93bGVkZ2UgZGF0YWJhc2UgaWYgc29t ZSBQeXRob24gZmVhdHVyZXMgYXJlIHN1cHBvcnRlZAorK2luIHRoZSBjdXJyZW50IHB5dGhvbiB2 ZXJzaW9uLgorKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0 CisraW1wb3J0IHN5cworK2ltcG9ydCBzaXgKKytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBv cnQgYm9vbF90b19zdHJpbmcKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDT05T VEFOVFM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK1BZVEhPTl9WRVJTSU9OID0gc3lzLnZl cnNpb25faW5mb1s6Ml0KKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDTEFTU0VT OgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytjbGFzcyBQeXRob25GZWF0dXJlKG9iamVjdCk6 CisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIGhhc19hc3luY2lvX2Nvcm91dGluZV9k ZWNvcmF0b3IoKToKKysgICAgICAgICIiIkluZGljYXRlcyBpZiBweXRob24gc3VwcG9ydHMgYGBA YXN5bmNpby5jb3JvdXRpbmVgYCBkZWNvcmF0b3IuCisrCisrICAgICAgICBFWEFNUExFOjoKKysK KysgICAgICAgICAgICBpbXBvcnQgYXN5bmNpbworKyAgICAgICAgICAgIEBhc3luY2lvLmNvcm91 dGluZQorKyAgICAgICAgICAgIGRlZiBhc3luY193YWl0c19zZWNvbmRzKGR1cmF0aW9uKToKKysg ICAgICAgICAgICAgICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVwKGR1cmF0aW9uKQorKworKyAg ICAgICAgOnJldHVybnM6IFRydWUsIGlmIHRoaXMgcHl0aG9uIHZlcnNpb24gc3VwcG9ydHMgdGhp cyBmZWF0dXJlLgorKworKyAgICAgICAgLi4gc2luY2U6OiBQeXRob24gPj0gMy40CisrICAgICAg ICAuLiBkZXByZWNhdGVkOjogU2luY2UgUHl0aG9uIDMuOCAodXNlIGFzeW5jLWZ1bmN0aW9uIGlu c3RlYWQpCisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0gTk9URTogQGFzeW5jaW8uY29yb3V0 aW5lIGlzIGRlcHJlY2F0ZWQgaW4gcHkzLjgsIHJlbW92ZWQgaW4gcHkzLjEwCisrICAgICAgICBy ZXR1cm4gKDMsIDQpIDw9IFBZVEhPTl9WRVJTSU9OIDwgKDMsIDEwKQorKworKyAgICBAc3RhdGlj bWV0aG9kCisrICAgIGRlZiBoYXNfYXN5bmNfZnVuY3Rpb24oKToKKysgICAgICAgICIiIkluZGlj YXRlcyBpZiBweXRob24gc3VwcG9ydHMgYXN5bmMtZnVuY3Rpb25zIC8gYXN5bmMta2V5d29yZC4K KysKKysgICAgICAgIEVYQU1QTEU6OgorKworKyAgICAgICAgICAgIGltcG9ydCBhc3luY2lvCisr ICAgICAgICAgICAgYXN5bmMgZGVmIGFzeW5jX3dhaXRzX3NlY29uZHMoZHVyYXRpb24pOgorKyAg ICAgICAgICAgICAgICB5aWVsZCBmcm9tIGFzeW5jaW8uc2xlZXAoZHVyYXRpb24pCisrCisrICAg ICAgICA6cmV0dXJuczogVHJ1ZSwgaWYgdGhpcyBweXRob24gdmVyc2lvbiBzdXBwb3J0cyB0aGlz IGZlYXR1cmUuCisrICAgICAgICAuLiBzaW5jZTo6IFB5dGhvbiA+PSAzLjUKKysgICAgICAgICIi IgorKyAgICAgICAgcmV0dXJuICgzLCA1KSA8PSBQWVRIT05fVkVSU0lPTgorKworKyAgICBAY2xh c3NtZXRob2QKKysgICAgZGVmIGhhc19jb3JvdXRpbmUoY2xzKToKKysgICAgICAgIHJldHVybiBj bHMuaGFzX2FzeW5jX2Z1bmN0aW9uKCkgb3IgY2xzLmhhc19hc3luY2lvX2Nvcm91dGluZV9kZWNv cmF0b3IoKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFNVUFBPUlRFRDogQUNU SVZFLVRBR1MKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrUFlUSE9OX0hBU19BU1lOQ0lPX0NP Uk9VVElORV9ERUNPUkFUT1IgPSBQeXRob25GZWF0dXJlLmhhc19hc3luY2lvX2Nvcm91dGluZV9k ZWNvcmF0b3IoKQorK1BZVEhPTl9IQVNfQVNZTkNfRlVOQ1RJT04gPSBQeXRob25GZWF0dXJlLmhh c19hc3luY19mdW5jdGlvbigpCisrUFlUSE9OX0hBU19DT1JPVVRJTkUgPSBQeXRob25GZWF0dXJl Lmhhc19jb3JvdXRpbmUoKQorK0FDVElWRV9UQUdfVkFMVUVfUFJPVklERVIgPSB7CisrICAgICJw eXRob24yIjogYm9vbF90b19zdHJpbmcoc2l4LlBZMiksCisrICAgICJweXRob24zIjogYm9vbF90 b19zdHJpbmcoc2l4LlBZMyksCisrICAgICJweXRob24udmVyc2lvbiI6ICIlcy4lcyIgJSBQWVRI T05fVkVSU0lPTiwKKysgICAgIm9zIjogICAgICBzeXMucGxhdGZvcm0ubG93ZXIoKSwKKysKKysg ICAgIyAtLSBQWVRIT04gRkVBVFVSRSwgbGlrZTogQHVzZS53aXRoX3B5LmZlYXR1cmVfYXN5bmNp by5jb3JvdXRpbmUKKysgICAgInB5dGhvbl9oYXNfY29yb3V0aW5lIjogYm9vbF90b19zdHJpbmco UFlUSE9OX0hBU19DT1JPVVRJTkUpLAorKyAgICAicHl0aG9uX2hhc19hc3luY2lvLmNvcm91dGlu ZV9kZWNvcmF0b3IiOgorKyAgICAgICAgYm9vbF90b19zdHJpbmcoUFlUSE9OX0hBU19BU1lOQ0lP X0NPUk9VVElORV9ERUNPUkFUT1IpLAorKyAgICAicHl0aG9uX2hhc19hc3luY19mdW5jdGlvbiI6 IGJvb2xfdG9fc3RyaW5nKFBZVEhPTl9IQVNfQVNZTkNfRlVOQ1RJT04pLAorKyAgICAicHl0aG9u X2hhc19hc3luY19rZXl3b3JkIjogYm9vbF90b19zdHJpbmcoUFlUSE9OX0hBU19BU1lOQ19GVU5D VElPTiksCisrfQorZGlmZiAtLWdpdCBhL2V0Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYSBiL2V0 Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYQoraW5kZXggOWNmM2U2Mi4uMTEwZTI0MCAxMDA2NDQK Ky0tLSBhL2V0Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYQorKysrIGIvZXRjL2pzb24vYmVoYXZl Lmpzb24tc2NoZW1hCitAQCAtMjgsMTAgKzI4LDM2IEBACisgICAgICAgICAgICAgInR5cGUiOiAi b2JqZWN0IiwKKyAgICAgICAgICAgICAiYW55T2YiOiBbCisgICAgICAgICAgICAgICAgIHsgIiRy ZWYiOiAiIy9kZWZpbml0aW9ucy9CYWNrZ3JvdW5kIiB9LAorKyAgICAgICAgICAgICAgICB7ICIk cmVmIjogIiMvZGVmaW5pdGlvbnMvUnVsZSIgfSwKKyAgICAgICAgICAgICAgICAgeyAiJHJlZiI6 ICIjL2RlZmluaXRpb25zL1NjZW5hcmlvIiB9LAorICAgICAgICAgICAgICAgICB7ICIkcmVmIjog IiMvZGVmaW5pdGlvbnMvU2NlbmFyaW9PdXRsaW5lIiB9CisgICAgICAgICAgICAgXQorICAgICAg ICAgfSwKKysgICAgICAgICJSdWxlIjogeworKyAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIs CisrICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlcHJlc2VudHMgYSBSdWxlIG9iamVjdC4i LAorKyAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogeworKyAgICAgICAgICAgICAgICAibmFtZSI6 ICAgICB7ICJ0eXBlIjogInN0cmluZyIgfSwKKysgICAgICAgICAgICAgICAgImtleXdvcmQiOiAg eyAidHlwZSI6ICJzdHJpbmciIH0sCisrICAgICAgICAgICAgICAgICJsb2NhdGlvbiI6IHsgInR5 cGUiOiAic3RyaW5nIiB9LAorKyAgICAgICAgICAgICAgICAic3RhdHVzIjogICB7ICJ0eXBlIjog InN0cmluZyIgfSwKKysgICAgICAgICAgICAgICAgInRhZ3MiOiAgICAgeyAiJHJlZiI6ICIjL2Rl ZmluaXRpb25zL1RhZ3MiIH0sCisrICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IHsgIiRy ZWYiOiAiIy9kZWZpbml0aW9ucy9NdWx0aUxpbmVUZXh0IiB9LAorKyAgICAgICAgICAgICAgICAi ZWxlbWVudHMiOiB7CisrICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJhcnJheSIsCisrICAg ICAgICAgICAgICAgICAgICAiaXRlbXMiOiB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvUnVsZUVs ZW1lbnQiIH0KKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0sCisrICAgICAgICAg ICAgInJlcXVpcmVkIjogWyAibmFtZSIsICJrZXl3b3JkIiwgImxvY2F0aW9uIiBdCisrICAgICAg ICB9LAorKyAgICAgICAgIlJ1bGVFbGVtZW50IjogeworKyAgICAgICAgICAgICJ0eXBlIjogIm9i amVjdCIsCisrICAgICAgICAgICAgImFueU9mIjogWworKyAgICAgICAgICAgICAgICB7ICIkcmVm IjogIiMvZGVmaW5pdGlvbnMvU2NlbmFyaW8iIH0sCisrICAgICAgICAgICAgICAgIHsgIiRyZWYi OiAiIy9kZWZpbml0aW9ucy9TY2VuYXJpb091dGxpbmUiIH0sCisrICAgICAgICAgICAgICAgIHsg IiRyZWYiOiAiIy9kZWZpbml0aW9ucy9CYWNrZ3JvdW5kIiB9CisrICAgICAgICAgICAgXQorKyAg ICAgICAgfSwKKyAgICAgICAgICJCYWNrZ3JvdW5kIjogeworICAgICAgICAgICAgICJ0eXBlIjog Im9iamVjdCIsCisgICAgICAgICAgICAgInByb3BlcnRpZXMiOiB7CitAQCAtMTY5LDQgKzE5NSw0 IEBACisgICAgICAgICAgICAgImVudW0iOiBbICJhcnJheSIsICJib29sZWFuIiwgImludGVnZXIi LCAibnVsbCIsICJudW1iZXIiLCAib2JqZWN0IiwgInN0cmluZyIgXQorICAgICAgICAgfQorICAg ICB9CistfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrfQorZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZSBiL2V4YW1w bGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQoraW5kZXggMThl OTg2OS4uZTBlYmExZSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMv YXN5bmNfZGlzcGF0Y2guZmVhdHVyZQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJl cy9hc3luY19kaXNwYXRjaC5mZWF0dXJlCitAQCAtMSw4ICsxLDUgQEAKKy1AdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My40CistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLUB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjYKKy1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CistQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorK0B1c2Uud2l0aF9weXRob25faGFzX2FzeW5jX2Z1 bmN0aW9uPXRydWUKKytAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY2lvLmNvcm91dGluZV9kZWNv cmF0b3I9dHJ1ZQorIEZlYXR1cmU6CisgICBTY2VuYXJpbzoKKyAgICAgR2l2ZW4gSSBkaXNwYXRj aCBhbiBhc3luYy1jYWxsIHdpdGggcGFyYW0gIkFsaWNlIgorZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUgYi9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlCitpbmRleCAyOWI4ZmE3Li44YjZlNTU1IDEw MDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVy ZQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQor QEAgLTEsOCArMSw1IEBACistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorLUB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjUKKy1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgK KytAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10cnVlCisrQHVzZS53aXRoX3B5 dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yPXRydWUKKyBGZWF0dXJlOgorICAg U2NlbmFyaW86CisgICAgIEdpdmVuIGFuIGFzeW5jLXN0ZXAgd2FpdHMgMC4zIHNlY29uZHMKK2Rp ZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIv ZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQoraW5kZXggMDJjNGQ5 Mi4uM2ZhOTYwNCAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52 aXJvbm1lbnQucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1l bnQucHkKK0BAIC0yLDcgKzIsOCBAQAorIAorIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9y dCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworIGZyb20gYmVoYXZl LmFwaS5ydW50aW1lX2NvbnN0cmFpbnQgaW1wb3J0IHJlcXVpcmVfbWluX3B5dGhvbl92ZXJzaW9u CistaW1wb3J0IHN5cworK2Zyb20gYmVoYXZlIGltcG9ydCBweXRob25fZmVhdHVyZQorKworIAor ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFJFUVVJUkU6IHB5dGhvbiA+PSAzLjQKK0BAIC0x NSwyNyArMTYsMjQgQEAgcmVxdWlyZV9taW5fcHl0aG9uX3ZlcnNpb24oIjMuNCIpCisgIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRl Z29yeX09e3ZhbHVlfQorICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRl cyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorLXB5dGhvbl92ZXJzaW9uID0gIiVz LiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCistYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9 IHsKKy0gICAgInB5dGhvbi52ZXJzaW9uIjogcHl0aG9uX3ZlcnNpb24sCistfQorK2FjdGl2ZV90 YWdfdmFsdWVfcHJvdmlkZXIgPSBweXRob25fZmVhdHVyZS5BQ1RJVkVfVEFHX1ZBTFVFX1BST1ZJ REVSLmNvcHkoKQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZl X3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBI T09LUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistZGVmIGJlZm9yZV9hbGwoY29udGV4dCk6 CisrZGVmIGJlZm9yZV9hbGwoY3R4KToKKyAgICAgIyAtLSBTRVRVUCBBQ1RJVkUtVEFHIE1BVENI RVIgKHdpdGggdXNlcmRhdGEpOgorLSAgICBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVf dGFnX3ZhbHVlX3Byb3ZpZGVyLCBjb250ZXh0LmNvbmZpZy51c2VyZGF0YSkKKysgICAgc2V0dXBf YWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgY3R4LmNvbmZpZy51 c2VyZGF0YSkKKyAKKyAKKy1kZWYgYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSk6Cisr ZGVmIGJlZm9yZV9mZWF0dXJlKGN0eCwgZmVhdHVyZSk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0 Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKGZlYXR1cmUudGFncyk6CisgICAgICAgICBmZWF0dXJl LnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKyAKKyAKKy1k ZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKytkZWYgYmVmb3JlX3NjZW5h cmlvKGN0eCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5z a2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCitkaWZmIC0t Z2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5w eSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkK K2luZGV4IDU1NjUwMGYuLmZjNGM4ZDEgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVw L2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM0LnB5CisrKysgYi9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM0LnB5CitAQCAtMSw1ICsxLDUgQEAKKy0j IC0tIFJFUVVJUkVTOiBQeXRob24gPj0gMy40IGFuZCBQeXRob24gPCAzLjgKKy0jIEhJTlQ6IERl Y29yYXRvciBAYXN5bmNpby5jb3JvdXRpbmUgaXMgcHJvaGliaXRlZCBpbiBweXRob24gMy44Cisr IyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMuNCBhbmQgUHl0aG9uIDwgMy4xMCAocmVtb3ZlZCBp bjogMy4xMCkKKysjIEhJTlQ6IEBhc3luY2lvLmNvcm91dGluZSBkZWNvcmF0b3IgaXMgZGVwcmVj YXRlZCBzaW5jZSBweXRob24gMy44CisgIyBVU0U6ICBBc3luYyBnZW5lcmF0b3IvY29yb3V0aW5l IGluc3RlYWQuCisgCisgZnJvbSBiZWhhdmUgaW1wb3J0IHN0ZXAKK2RpZmYgLS1naXQgYS9leGFt cGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5IGIv ZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5w eQoraW5kZXggMjIyZTU0ZC4uZGVmOTYxNiAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKKysrKyBiL2V4YW1wbGVz L2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKK0BAIC0x LDggKzEsOSBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCisgIyBSRVFVSVJFUzogUHl0aG9u ID49IDMuNC8zLjUKKy1pbXBvcnQgc3lzCisrCisgZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB0 aGVuLCBzdGVwCisgZnJvbSBiZWhhdmUuYXBpLmFzeW5jX3N0ZXAgaW1wb3J0IHVzZV9vcl9jcmVh dGVfYXN5bmNfY29udGV4dAorK2Zyb20gYmVoYXZlLnB5dGhvbl9mZWF0dXJlIGltcG9ydCBQeXRo b25GZWF0dXJlCisgZnJvbSBoYW1jcmVzdCBpbXBvcnQgYXNzZXJ0X3RoYXQsIGVxdWFsX3RvLCBl bXB0eQorIGltcG9ydCBhc3luY2lvCisgCitAQCAtMTAsMTMgKzExLDE1IEBAIGltcG9ydCBhc3lu Y2lvCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEFTWU5DIEVYQU1QTEUgRlVOQ1RJT046Cisg IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1weXRob25fdmVyc2lvbiA9ICIlcy4lcyIgJSBzeXMudmVy c2lvbl9pbmZvWzoyXQorLWlmIHB5dGhvbl92ZXJzaW9uID49ICIzLjUiOgorK2lmIFB5dGhvbkZl YXR1cmUuaGFzX2FzeW5jX2Z1bmN0aW9uKCk6CisrICAgICMgLS0gVVNFOiBhc3luYy1mdW5jdGlv biBhcyBjb3JvdXRpbmUtZnVuY3Rpb24KKysgICAgIyBTSU5DRTogUHl0aG9uIDMuNSAocHJlZmVy cmVkKQorICAgICBhc3luYyBkZWYgYXN5bmNfZnVuYyhwYXJhbSk6CisgICAgICAgICBhd2FpdCBh c3luY2lvLnNsZWVwKDAuMikKKyAgICAgICAgIHJldHVybiBzdHIocGFyYW0pLnVwcGVyKCkKKy1l bHNlOgorLSAgICAjIC0tIEhJTlQ6IERlY29yYXRvciBAYXN5bmNpby5jb3JvdXRpbmUgaXMgcHJv aGliaXRlZCBpbiBweXRob24gMy44CisrZWxpZiBQeXRob25GZWF0dXJlLmhhc19hc3luY2lvX2Nv cm91dGluZV9kZWNvcmF0b3IoKToKKysgICAgIyAtLSBVU0U6IEBhc3luY2lvLmNvcm91dGluZSBk ZWNvcmF0b3IKKysgICAgIyBTSU5DRTogUHl0aG9uIDMuNCwgZGVwcmVjYXRlZCBzaW5jZSBQeXRo b24gMy44LCByZW1vdmVkIGluIFB5dGhvbiAzLjEwCisgICAgIEBhc3luY2lvLmNvcm91dGluZQor ICAgICBkZWYgYXN5bmNfZnVuYyhwYXJhbSk6CisgICAgICAgICB5aWVsZCBmcm9tIGFzeW5jaW8u c2xlZXAoMC4yKQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3Rl cHMvYXN5bmNfc3RlcHMucHkgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2Fz eW5jX3N0ZXBzLnB5CitpbmRleCBkYzAzYzcyLi4zM2QyMzkyIDEwMDY0NAorLS0tIGEvZXhhbXBs ZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwcy5weQorKysrIGIvZXhhbXBs ZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwcy5weQorQEAgLTUsOCArNSw4 IEBACisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBpbXBvcnQgc3lz CisgCistcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKy1p ZiBweXRob25fdmVyc2lvbiA+PSAiMy41IjoKKytweXRob25fdmVyc2lvbiA9IHN5cy52ZXJzaW9u X2luZm9bOjJdCisraWYgcHl0aG9uX3ZlcnNpb24gPj0gKDMsIDUpOgorICAgICBpbXBvcnQgX2Fz eW5jX3N0ZXBzMzUKKy1lbGlmIHB5dGhvbl92ZXJzaW9uID09ICIzLjQiOgorK2VsaWYgcHl0aG9u X3ZlcnNpb24gPT0gKDMsIDQpOgorICAgICBpbXBvcnQgX2FzeW5jX3N0ZXBzMzQKK2RpZmYgLS1n aXQgYS9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5Citp bmRleCAzNzY5ZWU0Li42ZmFmNGUyIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkKKysrKyBiL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtNCwyMiArNCwxOSBAQAorIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGZy b20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3Rp dmVfdGFnX3ZhbHVlcworIGZyb20gYmVoYXZlNGNtZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBv cnQgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZQorK2Zyb20gYmVoYXZlIGlt cG9ydCBweXRob25fZmVhdHVyZQorIGltcG9ydCBwbGF0Zm9ybQorIGltcG9ydCBzeXMKKy1pbXBv cnQgc2l4CisrCisgCisgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNlLndpdGhfe2NhdGVnb3J5 fT17dmFsdWV9CisgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGNh dGVnb3J5IHZhbHVlcyBmb3IgYWN0aXZlIHRhZ3MuCistcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMi ICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0gewor LSAgICAicHl0aG9uMiI6IHN0cihzaXguUFkyKS5sb3dlcigpLAorLSAgICAicHl0aG9uMyI6IHN0 cihzaXguUFkzKS5sb3dlcigpLAorLSAgICAicHl0aG9uLnZlcnNpb24iOiBweXRob25fdmVyc2lv biwKKyAgICAgIyAtLSBweXRob24uaW1wbGVtZW50YXRpb246IGNweXRob24sIHB5cHksIGp5dGhv biwgaXJvbnB5dGhvbgorICAgICAicHl0aG9uLmltcGxlbWVudGF0aW9uIjogcGxhdGZvcm0ucHl0 aG9uX2ltcGxlbWVudGF0aW9uKCkubG93ZXIoKSwKKyAgICAgInB5cHkiOiAgICBzdHIoIl9fcHlw eV9fIiBpbiBzeXMubW9kdWxlcykubG93ZXIoKSwKKy0gICAgIm9zIjogICAgICBzeXMucGxhdGZv cm0sCisgfQorK2FjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIudXBkYXRlKHB5dGhvbl9mZWF0dXJl LkFDVElWRV9UQUdfVkFMVUVfUFJPVklERVIpCisgYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZl VGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorIAorIAorQEAgLTI3LDcgKzI0 LDcgQEAgZGVmIHByaW50X2FjdGl2ZV90YWdzX3N1bW1hcnkoKToKKyAgICAgYWN0aXZlX3RhZ19k YXRhID0gYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcgorICAgICBwcmludCgiQUNUSVZFLVRBRyBT VU1NQVJZOiIpCisgICAgIHByaW50KCJ1c2Uud2l0aF9weXRob24udmVyc2lvbj0lcyIgJSBhY3Rp dmVfdGFnX2RhdGEuZ2V0KCJweXRob24udmVyc2lvbiIpKQorLSAgICAjIHByaW50KCJ1c2Uud2l0 aF9vcz0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJvcyIpKQorKyAgICBwcmludCgidXNlLndp dGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgib3MiKSkKKyAgICAgcHJpbnQoKQorIAor IAorQEAgLTUzLDYgKzUwLDcgQEAgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJp byk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5h cmlvLmVmZmVjdGl2ZV90YWdzKToKKyAgICAgICAgIHNjZW5hcmlvLnNraXAocmVhc29uPWFjdGl2 ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgIyBTUEVDSUZJQyBGVU5DVElPTkFMSVRZOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K K2RpZmYgLS1naXQgYS9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUgYi9mZWF0dXJl cy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUKK2luZGV4IDA2NzA5ZDkuLjU5MTkzOTcgMTAwNjQ0 CistLS0gYS9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVz L3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQorQEAgLTEsNCArMSw1IEBACisgQG5vdC53aXRoX3B5 dGhvbjI9dHJ1ZQorK0B1c2Uud2l0aF9weXRob25faGFzX2Nvcm91dGluZT10cnVlCisgRmVhdHVy ZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgCisgICBBcyBhIHRlc3Qg d3JpdGVyIGFuZCBzdGVwIHByb3ZpZGVyCitAQCAtMTYsMTEgKzE3LDExIEBAIEZlYXR1cmU6IEFz eW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgLiAgICAqIGFuIGFzeW5jLWZ1 bmN0aW9uIGFzIGNvcm91dGluZSB1c2luZyBhc3luYy9hd2FpdCBrZXl3b3JkcyAoUHl0aG9uIDMu NSkKKyAgIC4gICAgKiBhbiBhc3luYy1mdW5jdGlvbiB0YWdnZWQgd2l0aCBAYXN5bmNpby5jb3Jv dXRpbmUgYW5kIHVzaW5nICJ5aWVsZCBmcm9tIgorICAgLgorLSAgLiAgIyAtLSBFWEFNUExFIENB U0UgMSAoc2luY2UgUHl0aG9uIDMuNSk6CisrICAuICAjIC0tIEVYQU1QTEUgQ0FTRSAxIChzaW5j ZSBQeXRob24gMy41OyBwcmVmZXJyZWQpOgorICAgLiAgYXN5bmMgZGVmIGNvcm91dGluZTEoZHVy YXRpb24pOgorICAgLiAgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAoZHVyYXRpb24pCisgICAuCist ICAuICAjIC0tIEVYQU1QTEUgQ0FTRSAyIChzaW5jZSBQeXRob24gMy40KToKKysgIC4gICMgLS0g RVhBTVBMRSBDQVNFIDIgKHNpbmNlIFB5dGhvbiAzLjQ7IGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9u IDMuODsgcmVtb3ZlZCBpbiBQeXRob24gMy4xMCk6CisgICAuICBAYXN5bmNpby5jb3JvdXRpbmUK KyAgIC4gIGRlZiBjb3JvdXRpbmUyKGR1cmF0aW9uKToKKyAgIC4gICAgICB5aWVsZCBmcm9tIGFz eW5jaW8uc2xlZXAoZHVyYXRpb24pCitAQCAtMzAsMTIgKzMxLDggQEAgRmVhdHVyZTogQXN5bmMt VGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAuICAgVGhlIGFzeW5jLXN0ZXAgY2Fu IGRpcmVjdGx5IGludGVyYWN0IHdpdGggb3RoZXIgYXN5bmMtZnVuY3Rpb25zLgorIAorIAorLSAg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVy c2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkK Ky0gICAgU2NlbmFyaW86IFVzZSBhc3luYy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9jb21w bGV0ZSAoYXN5bmMpCisrICAgIEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRy dWUKKysgICAgU2NlbmFyaW86IFVzZSBhc3luYy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9j b21wbGV0ZSAoYXN5bmM7IHJlcXVpcmVzOiBweS52ZXJzaW9uID49IDMuNSkKKyAgICAgICBHaXZl biBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1 cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC02Mywx MyArNjAsOCBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikK KyAgICAgICAgICIiIgorIAorIAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40Cist ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuNgorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CistICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OQorLSAgICBTY2VuYXJpbzogVXNlIGFzeW5jLXN0ZXAgd2l0aCBAYXN5bmNfcnVuX3VudGlsX2Nv bXBsZXRlIChAY29yb3V0aW5lKQorKyAgICBAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY2lvLmNv cm91dGluZV9kZWNvcmF0b3I9dHJ1ZQorKyAgICBTY2VuYXJpbzogVXNlIGFzeW5jLXN0ZXAgd2l0 aCBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIChAYXN5bmNpby5jb3JvdXRpbmUpCisgICAgICAg R2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJm ZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM0LnB5IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAt OTcsMTIgKzg5LDggQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAu Li4pCisgICAgICAgICAgICAgIEdpdmVuIGFuIGFzeW5jLXN0ZXAgd2FpdHMgMC4zIHNlY29uZHMg Li4uIHBhc3NlZCBpbiAwLjMKKyAgICAgICAgICIiIgorIAorLSAgICBAdXNlLndpdGhfcHl0aG9u LnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVz ZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBhbmQgVElNRU9VVCBvY2N1 cnMgKGFzeW5jKQorKyAgICBAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10cnVl CisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4u LikgYW5kIFRJTUVPVVQgb2NjdXJzIChhc3luYy1mdW5jdGlvbikKKyAgICAgICBHaXZlbiBhIG5l dyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0 ZXBzL2FzeW5jX3N0ZXBzX3RpbWVvdXQzNS5weSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTEz NSwxMyArMTIzLDkgQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAu Li4pCisgICAgICAgICBBc3NlcnRpb24gRmFpbGVkOiBUSU1FT1VULU9DQ1VSRUQ6IHRpbWVvdXQ9 MC4xCisgICAgICAgICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQor LSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My45CisrICAgIEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5j X2Z1bmN0aW9uPXRydWUKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMKKy0gICAgU2NlbmFyaW86IFVz ZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVwIGZhaWxzCisrICAgIFNj ZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCBmYWls cyAoYXN5bmMtZnVuY3Rpb24pCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkK KyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwc19mYWls czM1LnB5IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtMTgwLDEzICsxNjQsOSBAQCBGZWF0dXJl OiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgICAgICAgIEFzc2VydGlv biBGYWlsZWQ6IFhGQUlMIGluIGFzeW5jLXN0ZXAKKyAgICAgICAgICIiIgorIAorLSAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKysgICAg QHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb249dHJ1ZQorICAgICBAYXN5bmNfc3Rl cF9mYWlscworLSAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgYW5k IGFzeW5jLXN0ZXAgcmFpc2VzIGVycm9yCisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91 bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCByYWlzZXMgZXJyb3IgKGFzeW5jLWZ1bmN0aW9u KQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmls ZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHNfZXhjZXB0aW9uMzUucHkiIHdpdGg6 CisgICAgICAgICAiIiIKK0BAIC0yMjUsMTMgKzIwNSw4IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3Qg U3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJY RkFJTCBpbiBhc3luYy1zdGVwIikKKyAgICAgICAgICIiIgorIAorLSAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My40CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKy0gICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My43CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKy0gICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxf Y29tcGxldGUodGltZW91dD0uLi4pIGFuZCBUSU1FT1VUIG9jY3VycyAoQGNvcm91dGluZSkKKysg ICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yPXRydWUK KysgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4u KSBhbmQgVElNRU9VVCBvY2N1cnMgKEBhc3luY2lvLmNvcm91dGluZSkKKyAgICAgICBHaXZlbiBh IG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVz L3N0ZXBzL2FzeW5jX3N0ZXBzX3RpbWVvdXQzNC5weSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAg LTI2NSwxMyArMjQwLDggQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVw LCAuLi4pCisgICAgICAgICBBc3NlcnRpb24gRmFpbGVkOiBUSU1FT1VULU9DQ1VSRUQ6IHRpbWVv dXQ9MC4yCisgICAgICAgICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu NAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBhc3luYy1kaXNwYXRjaCBhbmQgYXN5bmMtY29sbGVj dCBjb25jZXB0cworKyAgICBAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY2lvLmNvcm91dGluZV9k ZWNvcmF0b3I9dHJ1ZQorKyAgICBTY2VuYXJpbzogVXNlIGFzeW5jLWRpc3BhdGNoIGFuZCBhc3lu Yy1jb2xsZWN0IGNvbmNlcHRzIChAYXN5bmNpby5jb3JvdXRpbmUpCisgICAgICAgR2l2ZW4gYSBu ZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9z dGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSIgd2l0aDoKKyAgICAgICAgICIiIgorZGlmZiAt LWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMv aXNzdWUwMzMwLmZlYXR1cmUKK2luZGV4IGJlNGQzNzguLjU2YWMyMzggMTAwNjQ0CistLS0gYS9p c3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNz dWUwMzMwLmZlYXR1cmUKK0BAIC03Miw3ICs3Miw4IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNr aXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1z CisgCisgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICBAbm90LndpdGhfcHl0aG9u LnZlcnNpb249My45CistICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIGZlYXR1 cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisrICBAbm90LndpdGhfcHl0aG9uLnZl cnNpb249My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJl IGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZCAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAg V2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQgQGFsaWNl X2FuZF9ib2IuZmVhdHVyZXNldCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAg ICAgICIiIgorQEAgLTg3LDcgKzg4LDggQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBz Y2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgZmVhdHVyZSBpcyBj cmVhdGVkIHdpdGggLS1zaG93LXNraXBwZWQKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjEwCisrICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMgY3Jl YXRlZCB3aXRoIC0tc2hvdy1za2lwcGVkIChweS52ZXJzaW9uID49IDMuOCkKKyAgICAgV2hlbiBJ IHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQgQGFsaWNlX2FuZF9i b2IuZmVhdHVyZXNldCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICIi IgorQEAgLTEwNCw3ICsxMDYsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5h cmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorICAgQG5v dC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OQorLSAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0 aGVyIHNob3duIG5vciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVkCisrICBAbm90LndpdGhfcHl0 aG9uLnZlcnNpb249My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBz Y2VuYXJpbyBpcyBuZWl0aGVyIHNob3duIG5vciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVkIChw eS52ZXJzaW9uIDwgMy44KQorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFn MSAtLW5vLXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAi IiIKK0BAIC0xMjUsNyArMTI4LDggQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2Vu YXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVp dGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZAorKyAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQg c2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZCAo cHkudmVyc2lvbiA+PSAzLjgpCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0 YWcxIC0tbm8tc2tpcHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAg ICIiIgorQEAgLTE0OSw3ICsxNTMsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNj ZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorICAg QG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9u PTMuOQorLSAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBz aG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisrICBAbm90LndpdGhfcHl0aG9u LnZlcnNpb249My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2Vu YXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkIChweS52ZXJzaW9u IDwgMy44KQorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ct c2tpcHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICIiIgorQEAg LTE3MSw3ICsxNzYsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBh cmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAg U2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQg Y291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisrICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBz aG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkIChweS52ZXJzaW9uID49IDMuOCkK KyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQi CisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK2RpZmYgLS1naXQg YS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDQ0Ni5mZWF0dXJlCitpbmRleCAxMmRlMzdhLi5kN2RiNzY0IDEwMDY0NAorLS0tIGEvaXNzdWUu ZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0 Ni5mZWF0dXJlCitAQCAtNjAsNyArNjAsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBv cnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgCisgICAgIEBub3Qu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OQorLSAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBiZWZvcmVfc2NlbmFyaW8oKQorKyAgICBA bm90LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgICBTY2VuYXJpbzogSG9vayBlcnJvciBp biBiZWZvcmVfc2NlbmFyaW8oKSAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgICBXaGVuIEkgcnVu ICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVy ZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIi IgorQEAgLTkwLDcgKzkxLDggQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5h cmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorIAorICAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My44CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAg U2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkKKysgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3Jl X3NjZW5hcmlvKCkgKHB5LnZlcnNpb24gPj0gMy44KQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2 ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2JlZm9yZV9zY2VuYXJpb19mYWlsdXJlLmZlYXR1 cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorICAgICAgICAgIiIiCitAQCAt MTI0LDcgKzEyNiw4IEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBo b29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5h cmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkKKysgICAgQG5vdC53aXRoX3B5dGhv bi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYWZ0ZXJfc2NlbmFy aW8oKSAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxh aW4gLS1qdW5pdCBmZWF0dXJlcy9hZnRlcl9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAg ICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorICAgICAgICAgIiIiCitAQCAtMTU2LDcgKzE1 OSw4IEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9y cyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBIb29r IGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuMTAKKysgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYWZ0ZXJfc2NlbmFyaW8oKSAocHku dmVyc2lvbiA+PSAzLjgpCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVu aXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4g aXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorZGlmZiAtLWdpdCBhL2lzc3VlLmZl YXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1 cmUKK2luZGV4IDZkMmY0OGYuLmMxNGM3YTQgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9p c3N1ZTA0NTcuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUK K0BAIC0yNiw3ICsyNiw4IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBp biBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworIAorICAgICBAbm90LndpdGhf cHl0aG9uLnZlcnNpb249My44CisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0g ICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFzc2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9y dAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgICBTY2VuYXJpbzogVXNl IGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0IChweS52ZXJzaW9uIDwg My44KQorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUi IHdpdGg6CisgICAgICAgICAiIiIKKyAgICAgICAgIEZlYXR1cmU6CitAQCAtNDgsNyArNDksOCBA QCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMg b2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2Ug ZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKysgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFzc2VydGF0 aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydCAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgICAgR2l2 ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczEuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAg ICIiIgorICAgICAgICAgRmVhdHVyZToKK0BAIC03Myw3ICs3NSw4IEBAIEZlYXR1cmU6IElzc3Vl ICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVw b3J0cworIAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIEBub3Qud2l0 aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBK VW5pdCBYTUwgcmVwb3J0CisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAg IFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydCAocHkudmVyc2lv biA8IDMuOCkKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMi5mZWF0 dXJlIiB3aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICBGZWF0dXJlOgorQEAgLTk2LDcgKzk5 LDggQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3Nh Z2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjgKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzog VXNlIGV4Y2VwdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKysgICAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBY TUwgcmVwb3J0IChweS52ZXJzaW9uID49IDMuOCkKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQg ImZlYXR1cmVzL2ZhaWxzMi5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICBG ZWF0dXJlOgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlIGIv aXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUKK2luZGV4IGFlYWVmZDIuLmE2NzRhMjYg MTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZQorKysrIGIvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUKK0BAIC0xLDE1ICsxLDEwIEBACistQG5vdC53 aXRoX3B5dGhvbjI9dHJ1ZQorIEBpc3N1ZQorK0Bub3Qud2l0aF9weXRob24yPXRydWUKKyBGZWF0 dXJlOiBJc3N1ZSAjNjU3IC0tIEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91dHMgdG8gZmFp bCB3aGVuIHRoZXkgcmFpc2UgZXhjZXB0aW9ucworIAorLQorLSAgICBAdXNlLndpdGhfcHl0aG9u LnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKysgICAgQHVzZS53aXRoX3B5 dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb249dHJ1ZQorICAgICBAYXN5bmNfc3RlcF9mYWlscworLSAg ICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAg ZmFpbHMKKysgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBh c3luYy1zdGVwIGZhaWxzIChweS52ZXJzaW9uID49IDMuOCkKKyAgICAgICBHaXZlbiBhIG5ldyB3 b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBz L2FzeW5jX3N0ZXBzX2ZhaWxzMzUucHkiIHdpdGg6CisgICAgICAgICAiIiIKK2RpZmYgLS1naXQg YS9tb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVu dC5weQoraW5kZXggOWQ0MzAyYi4uMTRkOTA0YyAxMDA2NDQKKy0tLSBhL21vcmUuZmVhdHVyZXMv ZW52aXJvbm1lbnQucHkKKysrKyBiL21vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0x LDE2ICsxLDE0IEBACisgIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKyAKKyBmcm9tIGJlaGF2ZS50 YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1 ZXMKKy1pbXBvcnQgc3lzCisrZnJvbSBiZWhhdmUgaW1wb3J0IHB5dGhvbl9mZWF0dXJlCisgCisg IyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAdXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgIyBO T1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGNhdGVnb3J5IHZhbHVlcyBm b3IgYWN0aXZlIHRhZ3MuCistcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25f aW5mb1s6Ml0KKy1hY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworLSAgICAicHl0aG9uLnZl cnNpb24iOiBweXRob25fdmVyc2lvbiwKKy19CisrYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9 IHB5dGhvbl9mZWF0dXJlLkFDVElWRV9UQUdfVkFMVUVfUFJPVklERVIuY29weSgpCisgYWN0aXZl X3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVy KQorIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEhPT0tTOgorICMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KK0BAIC0xOCwxMCArMTYsMTIgQEAgZGVmIGJlZm9yZV9hbGwoY29udGV4dCk6 CisgICAgICMgLS0gU0VUVVAgQUNUSVZFLVRBRyBNQVRDSEVSICh3aXRoIHVzZXJkYXRhKToKKyAg ICAgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgY29u dGV4dC5jb25maWcudXNlcmRhdGEpCisgCisrCisgZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQs IGZlYXR1cmUpOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aChmZWF0dXJlLnRhZ3MpOgorICAgICAgICAgZmVhdHVyZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFn X21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCisrCisgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250 ZXh0LCBzY2VuYXJpbyk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVk ZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToKKyAgICAgICAgIHNjZW5hcmlvLnNraXAo cmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKK2RpZmYgLS1naXQgYS9t b3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlIGIvbW9yZS5mZWF0dXJlcy9ydW5fZXhh bXBsZXMuZmVhdHVyZQoraW5kZXggNDc3ODg2Ni4uMTRhY2Y5OCAxMDA2NDQKKy0tLSBhL21vcmUu ZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKKysrKyBiL21vcmUuZmVhdHVyZXMvcnVuX2V4 YW1wbGVzLmZlYXR1cmUKK0BAIC0yOSwxMyArMjksOCBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBh bGwgZXhhbXBsZXMgYXJlIHVzYWJsZQorICAgICAgICAgZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0 dXJlOjE2ICBGMiAtLSBGYWlscworICAgICAgICIiIgorIAorLQorLSAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuNAorLSAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLSAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNwor LSAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgU2NlbmFyaW86IGV4YW1wbGVzL2Fz eW5jX3N0ZXAgKG5lZWRzOiBweTM0IG9yIG5ld2VyKQorKyAgQHVzZS53aXRoX3B5dGhvbl9oYXNf Y29yb3V0aW5lPXRydWUKKysgIFNjZW5hcmlvOiBleGFtcGxlcy9hc3luY19zdGVwIChyZXF1aXJl czogcHl0aG9uLnZlcnNpb24gPj0gMy40KQorICAgICBHaXZlbiBJIHVzZSB0aGUgZGlyZWN0b3J5 ICJleGFtcGxlcy9hc3luY19zdGVwIiBhcyB3b3JraW5nIGRpcmVjdG9yeQorICAgICBXaGVuIEkg cnVuICJiZWhhdmUgZmVhdHVyZXMvIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzCmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MTEyLWRvY3MtVXBkYXRlLW5ldy1hbmQtbm90ZXdvcnRoeS5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTItZG9jcy1VcGRhdGUtbmV3 LWFuZC1ub3Rld29ydGh5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uMmRhMjRlNjIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5vdGV3 b3J0aHkucGF0Y2gKQEAgLTAsMCArMSw4NCBAQAorRnJvbSA4NDlhOWExZmE2MTNlZTk1YTkyOWRm M2EwYWJlZTNhZjczYzY1ODg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDkgSmFuIDIw MjEgMjM6NDg6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9jczogVXBkYXRlIG5ldyBhbmQg bm90ZXdvcnRoeQorCisqIEFkZCBzZWN0aW9uIG9uIGltcHJvdmVkIGFjdGl2ZS10YWcgbG9naWMK Ky0tLQorIGRvY3MvY29uZi5weSAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIGRvY3Mv bmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QgfCA0NSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2RvY3MvY29uZi5weQoraW5kZXggMTU3 OWEzNi4uY2VjZTg2YSAxMDA2NDQKKy0tLSBhL2RvY3MvY29uZi5weQorKysrIGIvZG9jcy9jb25m LnB5CitAQCAtMTA4LDcgKzEwOCw3IEBAIGlmIFVTRV9TUEhJTlhfSU5URVJOQVRJT05BTDoKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcHJvamVjdCA9IHUiYmVoYXZlIgorIGF1dGhvcnMgPSB1 IkplbnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJpY2hhcmQgSm9uZXMiCistY29weXJpZ2h0ID0g dSIyMDEyLTIwMjAsICVzIiAlIGF1dGhvcnMKKytjb3B5cmlnaHQgPSB1IjIwMTItMjAyMSwgJXMi ICUgYXV0aG9ycworIAorICMgVGhlIHZlcnNpb24gaW5mbyBmb3IgdGhlIHByb2plY3QgeW91J3Jl IGRvY3VtZW50aW5nLCBhY3RzIGFzIHJlcGxhY2VtZW50IGZvcgorICMgfHZlcnNpb258IGFuZCB8 cmVsZWFzZXwsIGFsc28gdXNlZCBpbiB2YXJpb3VzIG90aGVyIHBsYWNlcyB0aHJvdWdob3V0IHRo ZQorZGlmZiAtLWdpdCBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QgYi9kb2Nz L25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CitpbmRleCBiNzI0MmY3Li4yZWI5NGFkIDEw MDY0NAorLS0tIGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorKysrIGIvZG9j cy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorQEAgLTksNiArOSw3IEBAIFN1bW1hcnk6 CisgICB0byBtYXRjaCBwYXJ0aWFsIHRhZyBuYW1lcywgbGlrZTogYGBAZm9vLipgYAorICogYFNl bGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8gQ29udGFpbmVyc2BfIChGZWF0dXJlLCBSdWxl LCBTY2VuYXJpb091dGxpbmUpCisgKiBgU3VwcG9ydCBmb3IgZW1vamlzIGluIGZlYXR1cmUgZmls ZXMgYW5kIHN0ZXBzYF8KKysqIGBJbXByb3ZlIEFjdGl2ZS1UYWdzIExvZ2ljYF8KKyAKKyAuLiBf YEV4YW1wbGUgTWFwcGluZ2A6IGh0dHBzOi8vY3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1hcHBp bmctaW50cm9kdWN0aW9uLworIC4uIF9gRXhhbXBsZSBNYXBwaW5nIFdlYmluYXJgOiBodHRwczov L2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1tYXBwaW5nLXdlYmluYXIvCitAQCAtMTUyLDMgKzE1 Myw0NyBAQCBTdXBwb3J0IGZvciBFbW9qaXMgaW4gRmVhdHVyZSBGaWxlcyBhbmQgU3RlcHMKKyAu LiBsaXRlcmFsaW5jbHVkZTo6IC4uL2ZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkK KyAgICAgOnByZXBlbmQ6ICAjIC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3Rl cHMucHkKKyAgICAgOmxhbmd1YWdlOiBweXRob24KKysKKysKKytJbXByb3ZlIEFjdGl2ZS1UYWdz IExvZ2ljCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK1RoZSBhY3RpdmUtdGFnIGNvbXB1 dGF0aW9uIGxvZ2ljIHdhcyBzbGlnaHRseSBjaGFuZ2VkIChhbmQgZml4ZWQpOgorKworKyogaWYg bXVsdGlwbGUgYWN0aXZlLXRhZ3Mgd2l0aCBzYW1lIGNhdGVnb3J5IGFyZSB1c2VkCisrKiBjb21i aW5hdGlvbiBvZiBwb3NpdGl2ZSBhY3RpdmUtdGFncyAoYGB1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2 YWx1ZX1gYCkgYW5kCisrICBuZWdhdGl2ZSBhY3RpdmUtdGFncyAoYGBub3Qud2l0aF97Y2F0ZWdv cnl9PXt2YWx1ZX1gYCkgd2l0aCBzYW1lIGNhdGVnb3J5CisrICBhcmUgbm93IHN1cHBvcnRlZAor KworK0FsbCBhY3RpdmUtdGFncyB3aXRoIHNhbWUgY2F0ZWdvcnkgYXJlIGNvbWJpbmVkIGludG8g b25lIGNhdGVnb3J5IHRhZy1ncm91cC4KKytUaGUgZm9sbG93aW5nIGxvZ2ljYWwgZXhwcmVzc2lv biBpcyB1c2VkIGZvciBhY3RpdmUtdGFncyB3aXRoIHRoZSBzYW1lIGNhdGVnb3J5OjoKKysKKysg ICAgY2F0ZWdvcnlfdGFnX2dyb3VwLmVuYWJsZWQgOj0gcG9zaXRpdmUtdGFnLWV4cHJlc3Npb24g YW5kIG5vdCBuZWdhdGl2ZS10YWctZXhwcmVzc2lvbgorKyAgICAgIHBvc2l0aXZlLXRhZy1leHBy ZXNzaW9uICA6PSBlbmFibGVkKHRhZzEpIG9yIGVuYWJsZWQodGFnMikgb3IgLi4uCisrICAgICAg bmVnYXRpdmUtdGFnLWV4cHJlc3Npb24gIDo9IGVuYWJsZWQodGFnMykgb3IgZW5hYmxlZCh0YWc0 KSBvciAuLi4KKysgICAgICAgdGFnMSwgdGFnMiBhcmUgcG9zaXRpdmUtdGFncywgbGlrZSBAdXNl LndpdGhfY2F0ZWdvcnk9dmFsdWUKKysgICAgICAgdGFnMywgdGFnNCBhcmUgbmVnYXRpdmUtdGFn cywgbGlrZSBAbm90LndpdGhfY2F0ZWdvcnk9dmFsdWUKKysKKysKKytFWEFNUExFOgorKworKy4u IGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisrICAgIEZlYXR1cmU6IEFjdGl2ZS1UYWcgRXhhbXBs ZQorKworKyAgICAgIEB1c2Uud2l0aF9icm93c2VyPVNhZmFyaQorKyAgICAgIEB1c2Uud2l0aF9i cm93c2VyPUNocm9tZQorKyAgICAgIEBub3Qud2l0aF9icm93c2VyPUZpcmVmb3gKKysgICAgICBT Y2VuYXJpbzogVXNlIG9uZSBhY3RpdmUtdGFnIGdyb3VwL2NhdGVnb3J5CisrCisrICAgICAgICBI SU5UOiBPbmx5IGV4ZWN1dGVkIHdpdGggd2ViIGJyb3dzZXIgU2FmYXJpIGFuZCBDaHJvbWUsIEZp cmVmb3ggaXMgZXhwbGljaXRseSBleGNsdWRlZC4KKysgICAgICAgIC4uLgorKworKyAgICAgIEB1 c2Uud2l0aF9icm93c2VyPUZpcmVmb3gKKysgICAgICBAdXNlLndpdGhfb3M9bGludXgKKysgICAg ICBAdXNlLndpdGhfb3M9ZGFyd2luCisrICAgICAgU2NlbmFyaW86IFVzZSB0d28gYWN0aXZlLXRh ZyBncm91cHMvY2F0ZWdvcmllcworKworKyAgICAgICAgSElOVCAxOiBPbmx5IGV4ZWN1dGVkIHdp dGggYnJvd3NlcjogRmlyZWZveAorKyAgICAgICAgSElOVCAyOiBPbmx5IGV4ZWN1dGVkIG9uIE9T OiBMaW51eCBhbmQgRGFyd2luIChtYWNPUykKKysgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMy1BZGQt ZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMy1B ZGQtZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMGEyNTc0MzZmCi0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDExMy1BZGQtZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1 cnJlbnQtLnBhdGNoCkBAIC0wLDAgKzEsMjc4IEBACitGcm9tIDIxODJlNTk1ZDNkZjJjZjRhNzk2 ZGUyZWVlODU2NGNkYjJmMjgxZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTAgSmFu IDIwMjEgMTM6NDA6MjYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gKiBBZGQgZGlhZ25vc3RpYyBo ZWxwZXIgZnVuY3Rpb24gdG8gcHJpbnQgdGhlIGN1cnJlbnQgdmFsdWVzCisgb2YgYWN0aXZlLXRh Z3MuICogQWRkIGhlbHBlciBjbGFzc2VzIGZvciBhY3RpdmUtdGFnIHZhbHVlIHByb3ZpZGVycy4K KworLS0tCisgYmVoYXZlL2NvbXBhdC9jb2xsZWN0aW9ucy5weSAgfCAgMjUgKysrKysrCisgYmVo YXZlL3RhZ19tYXRjaGVyLnB5ICAgICAgICAgfCAxNDUgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLQorIGZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgIHwgICA5ICstLQorIGlz c3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5IHwgICA5ICstLQorIDQgZmlsZXMgY2hhbmdlZCwg MTY2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZl L2NvbXBhdC9jb2xsZWN0aW9ucy5weSBiL2JlaGF2ZS9jb21wYXQvY29sbGVjdGlvbnMucHkKK2lu ZGV4IDAwNDQ0ZjQuLmY0ZWVhMmMgMTAwNjQ0CistLS0gYS9iZWhhdmUvY29tcGF0L2NvbGxlY3Rp b25zLnB5CisrKysgYi9iZWhhdmUvY29tcGF0L2NvbGxlY3Rpb25zLnB5CitAQCAtMTgsMyArMTgs MjggQEAgZXhjZXB0IEltcG9ydEVycm9yOiAgICAgIyBwcmFnbWE6IG5vIGNvdmVyCisgICAgICAg ICB3YXJuaW5ncy53YXJuKG1lc3NhZ2UpCisgICAgICAgICAjIC0tIEJBQ0tXQVJELUNPTVBBVElC TEU6IEJldHRlciB0aGFuIG5vdGhpbmcgKGZvciBiZWhhdmUgdXNlIGNhc2UpLgorICAgICAgICAg T3JkZXJlZERpY3QgPSBkaWN0CisrCisrdHJ5OgorKyAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9y dCBVc2VyRGljdAorK2V4Y2VwdCBJbXBvcnRFcnJvcjogICAgICAjIHByYWdtYTogbm8gY292ZXIK KysgICAgY2xhc3MgVXNlckRpY3Qob2JqZWN0KToKKysgICAgICAgICIiIkVtdWxhdGUgY29sbGVj dGlvbnMuVXNlckRpY3QgY2xhc3MgaW4gcHl0aG9uMy4iIiIKKysgICAgICAgIGRlZiBfX2luaXRf XyhzZWxmLCBkYXRhPU5vbmUpOgorKyAgICAgICAgICAgIGlmIGRhdGEgaXMgTm9uZToKKysgICAg ICAgICAgICAgICAgZGF0YSA9IHt9CisrICAgICAgICAgICAgc2VsZi5kYXRhID0gZGF0YQorKwor KyAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6CisrICAgICAgICAgICAgcmV0dXJuIGxlbihzZWxm LmRhdGEpCisrCisrICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisrICAgICAgICAgICAgcmV0 dXJuIGxlbihzZWxmLmRhdGEpCisrCisrICAgICAgICBkZWYga2V5cyhzZWxmKToKKysgICAgICAg ICAgICByZXR1cm4gc2VsZi5kYXRhLmtleXMoKQorKworKyAgICAgICAgZGVmIHZhbHVlcyhzZWxm KToKKysgICAgICAgICAgICByZXR1cm4gc2VsZi5kYXRhLnZhbHVlcygpCisrCisrICAgICAgICBk ZWYgaXRlbXMoc2VsZik6CisrICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YS5pdGVtcygpCitk aWZmIC0tZ2l0IGEvYmVoYXZlL3RhZ19tYXRjaGVyLnB5IGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5 CitpbmRleCBlMmIxZTgyLi43OGQ3MDYxIDEwMDY0NAorLS0tIGEvYmVoYXZlL3RhZ19tYXRjaGVy LnB5CisrKysgYi9iZWhhdmUvdGFnX21hdGNoZXIucHkKK0BAIC00LDE3ICs0LDE2IEBAIENvbnRh aW5zIGNsYXNzZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gcHJvdmlkZSB0aGUgYWN0aXZlLXRhZyBt ZWNoYW5pc20uCisgQWN0aXZlLXRhZ3MgcHJvdmlkZSBhIHNraXAtaWYgbG9naWMgYmFzZWQgb24g dGFncyBpbiBmZWF0dXJlIGZpbGVzLgorICIiIgorIAorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQg YWJzb2x1dGVfaW1wb3J0CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQs IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHJlCistaW1wb3J0IG9wZXJhdG9yCisgaW1wb3J0IHNp eAorK2Zyb20gLl90eXBlcyBpbXBvcnQgVW5rbm93bgorK2Zyb20gLmNvbXBhdC5jb2xsZWN0aW9u cyBpbXBvcnQgVXNlckRpY3QKKyAKKyAKKy1kZWYgYm9vbF90b19zdHJpbmcodmFsdWUpOgorLSAg ICAiIiJDb252ZXJ0cyBhIEJvb2xlYW4gdmFsdWUgaW50byBpdHMgbm9ybWFsaXplZCBzdHJpbmcg cmVwcmVzZW50YXRpb24uIiIiCistICAgIHJldHVybiBzdHIoYm9vbCh2YWx1ZSkpLmxvd2VyKCkK Ky0KKy0KKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDTEFTU0VTIEZPUjogQWN0aXZlLVRh Z3MgYW5kIEFjdGl2ZVRhZ01hdGNoZXJzCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGNsYXNz IFRhZ01hdGNoZXIob2JqZWN0KToKKyAgICAgIiIiQWJzdHJhY3QgYmFzZSBjbGFzcyB0aGF0IGRl ZmluZXMgdGhlIFRhZ01hdGNoZXIgcHJvdG9jb2wuIiIiCisgCitAQCAtMjIwLDggKzIxOSw4IEBA IGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICAgICAgICAgIyAtLSBD QVNFOiBFbXB0eSBncm91cCBpcyBhbHdheXMgZW5hYmxlZCAoQ09STkVSLUNBU0UpLgorICAgICAg ICAgICAgIHJldHVybiBUcnVlCisgCistICAgICAgICBjdXJyZW50X3ZhbHVlID0gc2VsZi52YWx1 ZV9wcm92aWRlci5nZXQoZ3JvdXBfY2F0ZWdvcnksIE5vbmUpCistICAgICAgICBpZiBjdXJyZW50 X3ZhbHVlIGlzIE5vbmUgYW5kIHNlbGYuaWdub3JlX3Vua25vd25fY2F0ZWdvcmllczoKKysgICAg ICAgIGN1cnJlbnRfdmFsdWUgPSBzZWxmLnZhbHVlX3Byb3ZpZGVyLmdldChncm91cF9jYXRlZ29y eSwgVW5rbm93bikKKysgICAgICAgIGlmIGN1cnJlbnRfdmFsdWUgaXMgVW5rbm93biBhbmQgc2Vs Zi5pZ25vcmVfdW5rbm93bl9jYXRlZ29yaWVzOgorICAgICAgICAgICAgICMgLS0gQ0FTRTogVW5r bm93biBjYXRlZ29yeSwgaWdub3JlIGl0LgorICAgICAgICAgICAgIHJldHVybiBUcnVlCisgCitA QCAtMzIwLDYgKzMxOSwxMTUgQEAgY2xhc3MgQ29tcG9zaXRlVGFnTWF0Y2hlcihUYWdNYXRjaGVy KToKKyAgICAgICAgIHJldHVybiBGYWxzZQorIAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KysjIEFDVElWRSBUQUcgVkFMVUUgUFJPVklERVIgQ0xBU1NFUzoKKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrY2xhc3MgSUFjdGl2ZVRhZ1ZhbHVlUHJvdmlkZXIob2JqZWN0KToKKysgICAgIiIi UHJvdG9jb2wvSW50ZXJmYWNlIGZvciBhY3RpdmUtdGFnIHZhbHVlIHByb3ZpZGVycy4iIiIKKysK KysgICAgZGVmIGdldChzZWxmLCBjYXRlZ29yeSwgZGVmYXVsdD1Ob25lKToKKysgICAgICAgIHJl dHVybiBOb3RJbXBsZW1lbnRlZAorKworKworK2NsYXNzIEFjdGl2ZVRhZ1ZhbHVlUHJvdmlkZXIo VXNlckRpY3QpOgorKyAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YT1Ob25lKToKKysgICAgICAg IGlmIGRhdGEgaXMgTm9uZToKKysgICAgICAgICAgICBkYXRhID0ge30KKysgICAgICAgIFVzZXJE aWN0Ll9faW5pdF9fKHNlbGYsIGRhdGEpCisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVm IHVzZV92YWx1ZSh2YWx1ZSk6CisrICAgICAgICBpZiBjYWxsYWJsZSh2YWx1ZSk6CisrICAgICAg ICAgICAgIyAtLSBSRS1FVkFMVUFURSBWQUxVRTogRWFjaCB0aW1lCisrICAgICAgICAgICAgdmFs dWVfZnVuYyA9IHZhbHVlCisrICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZV9mdW5jKCkKKysgICAg ICAgIHJldHVybiB2YWx1ZQorKworKyAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgbmFtZSk6Cisr ICAgICAgICB2YWx1ZSA9IHNlbGYuZGF0YVtuYW1lXQorKyAgICAgICAgcmV0dXJuIHNlbGYudXNl X3ZhbHVlKHZhbHVlKQorKworKyAgICBkZWYgZ2V0KHNlbGYsIGNhdGVnb3J5LCBkZWZhdWx0PU5v bmUpOgorKyAgICAgICAgdmFsdWUgPSBzZWxmLmRhdGEuZ2V0KGNhdGVnb3J5LCBkZWZhdWx0KQor KyAgICAgICAgcmV0dXJuIHNlbGYudXNlX3ZhbHVlKHZhbHVlKQorKworKyAgICBkZWYgdmFsdWVz KHNlbGYpOgorKyAgICAgICAgZm9yIHZhbHVlIGluIHNlbGYuZGF0YS52YWx1ZXMoc2VsZik6Cisr ICAgICAgICAgICAgeWllbGQgc2VsZi51c2VfdmFsdWUodmFsdWUpCisrCisrICAgIGRlZiBpdGVt cyhzZWxmKToKKysgICAgICAgIGZvciBjYXRlZ29yeSwgdmFsdWUgaW4gc2VsZi5kYXRhLml0ZW1z KCk6CisrICAgICAgICAgICAgeWllbGQgKGNhdGVnb3J5LCBzZWxmLnVzZV92YWx1ZSh2YWx1ZSkp CisrCisrICAgIGRlZiBjYXRlZ29yaWVzKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYua2V5 cygpCisrCisrCisrY2xhc3MgQ29tcG9zaXRlQWN0aXZlVGFnVmFsdWVQcm92aWRlcihBY3RpdmVU YWdWYWx1ZVByb3ZpZGVyKToKKysgICAgIiIiUHJvdmlkZXMgYSBjb21wb3NpdGUgaGVscGVyIGNs YXNzIHRvIHJlc29sdmUgYWN0aXZlLXRhZyB2YWx1ZXMKKysgICAgZnJvbSBhIGxpc3Qgb2YgdmFs dWUtcHJvdmlkZXJzLgorKyAgICAiIiIKKysKKysgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVl X3Byb3ZpZGVycz1Ob25lKToKKysgICAgICAgIGlmIHZhbHVlX3Byb3ZpZGVycyBpcyBOb25lOgor KyAgICAgICAgICAgIHZhbHVlX3Byb3ZpZGVycyA9IFtdCisrICAgICAgICBzdXBlcihDb21wb3Np dGVBY3RpdmVUYWdWYWx1ZVByb3ZpZGVyLCBzZWxmKS5fX2luaXRfXygpCisrICAgICAgICBzZWxm LnZhbHVlX3Byb3ZpZGVycyA9IGxpc3QodmFsdWVfcHJvdmlkZXJzKQorKworKyAgICBkZWYgZ2V0 KHNlbGYsIGNhdGVnb3J5LCBkZWZhdWx0PU5vbmUpOgorKyAgICAgICAgIyAtLSBGSVJTVDogQ2hl Y2sgY2F0ZWdvcnkgY2FjaGVkLW1hcCAoPXNlbGYuZGF0YSkKKysgICAgICAgIHZhbHVlID0gc2Vs Zi5kYXRhLmdldChjYXRlZ29yeSwgVW5rbm93bikKKysgICAgICAgIGlmIHZhbHVlIGlzIFVua25v d246CisrICAgICAgICAgICAgIyAtLSBOT1QgRElTQ09WRVJFRDogU2VhcmNoIG92ZXIgdmFsdWVf cHJvdmlkZXJzLgorKyAgICAgICAgICAgIGZvciB2YWx1ZV9wcm92aWRlciBpbiBzZWxmLnZhbHVl X3Byb3ZpZGVyczoKKysgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZV9wcm92aWRlci5nZXQo Y2F0ZWdvcnksIFVua25vd24pCisrICAgICAgICAgICAgICAgIGlmIHZhbHVlIGlzIFVua25vd246 CisrICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorKworKyAgICAgICAgICAgICAgICAjIC0t IEZPVU5EIENBVEVHT1JZOgorKyAgICAgICAgICAgICAgICBzZWxmLmRhdGFbY2F0ZWdvcnldID0g dmFsdWUKKysgICAgICAgICAgICAgICAgYnJlYWsKKysgICAgICAgICAgICAjIC0tIEZPVU5ELUNB VEVHT1JZIG9yIE5PVC1GT1VORDoKKysgICAgICAgICAgICBpZiB2YWx1ZSBpcyBVbmtub3duOgor KyAgICAgICAgICAgICAgICB2YWx1ZSA9IGRlZmF1bHQKKysKKysgICAgICAgIHJldHVybiBzZWxm LnVzZV92YWx1ZSh2YWx1ZSkKKysKKysgICAgIyAtLSBNT1JFOiBQcm92aWRlIGEgZGljdC1saWtl IGludGVyZmFjZS4KKysgICAgZGVmIGtleXMoc2VsZik6CisrICAgICAgICBmb3IgdmFsdWVfcHJv dmlkZXIgaW4gc2VsZi52YWx1ZV9wcm92aWRlcnM6CisrICAgICAgICAgICAgdHJ5OgorKyAgICAg ICAgICAgICAgICBmb3IgY2F0ZWdvcnkgaW4gdmFsdWVfcHJvdmlkZXIua2V5cygpOgorKyAgICAg ICAgICAgICAgICAgICAgeWllbGQgY2F0ZWdvcnkKKysgICAgICAgICAgICBleGNlcHQgQXR0cmli dXRlRXJyb3I6CisrICAgICAgICAgICAgICAgICMgLS0ga2V5cygpIG1ldGhvZCBub3Qgc3VwcG9y dGVkLgorKyAgICAgICAgICAgICAgICBwYXNzCisrCisrICAgIGRlZiB2YWx1ZXMoc2VsZik6Cisr ICAgICAgICBmb3IgY2F0ZWdvcnkgaW4gc2VsZi5rZXlzKCk6CisrICAgICAgICAgICAgdmFsdWUg PSBzZWxmLmdldChjYXRlZ29yeSkKKysgICAgICAgICAgICB5aWVsZCB2YWx1ZQorKworKyAgICBk ZWYgaXRlbXMoc2VsZik6CisrICAgICAgICBmb3IgY2F0ZWdvcnkgaW4gc2VsZi5rZXlzKCk6Cisr ICAgICAgICAgICAgdmFsdWUgPSBzZWxmLmdldChjYXRlZ29yeSkKKysgICAgICAgICAgICB5aWVs ZCAoY2F0ZWdvcnksIHZhbHVlKQorKworKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysj IFVUSUxJVFkgRlVOQ1RJT05TOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgYm9vbF90 b19zdHJpbmcodmFsdWUpOgorKyAgICAiIiJDb252ZXJ0cyBhIGJvb2xlYW4gYWN0aXZlLXRhZyB2 YWx1ZSBpbnRvIGl0cyBub3JtYWxpemVkCisrICAgIHN0cmluZyByZXByZXNlbnRhdGlvbi4KKysK KysgICAgOnBhcmFtIHZhbHVlOiAgQm9vbGVhbiB2YWx1ZSB0byB1c2UgKG9yIHZhbHVlIGNvbnZl cnRlZCBpbnRvIGJvb2wpLgorKyAgICA6cmV0dXJuczogQm9vbGVhbiB2YWx1ZSBjb252ZXJ0ZWQg aW50byBhIG5vcm1hbGl6ZWQgc3RyaW5nLgorKyAgICAiIiIKKysgICAgcmV0dXJuIHN0cihib29s KHZhbHVlKSkubG93ZXIoKQorKworKworIGRlZiBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3Rp dmVfdGFnX3ZhbHVlcywgZGF0YSk6CisgICAgICIiIlNldHVwL3VwZGF0ZSBhY3RpdmVfdGFnIHZh bHVlcyB3aXRoIGRpY3QtbGlrZSBkYXRhLgorICAgICBPbmx5IHZhbHVlcyBmb3Iga2V5cyB0aGF0 IGFyZSBhbHJlYWR5IHByZXNlbnQgYXJlIHVwZGF0ZWQuCitAQCAtMzMwLDMgKzQzOCwyMiBAQCBk ZWYgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZXMsIGRhdGEpOgorICAg ICBmb3IgY2F0ZWdvcnkgaW4gbGlzdChhY3RpdmVfdGFnX3ZhbHVlcy5rZXlzKCkpOgorICAgICAg ICAgaWYgY2F0ZWdvcnkgaW4gZGF0YToKKyAgICAgICAgICAgICBhY3RpdmVfdGFnX3ZhbHVlc1tj YXRlZ29yeV0gPSBkYXRhW2NhdGVnb3J5XQorKworKworK2RlZiBwcmludF9hY3RpdmVfdGFncyhh Y3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBjYXRlZ29yaWVzPU5vbmUpOgorKyAgICAiIiJQcmlu dCBhIHN1bW1hcnkgb2YgdGhlIGN1cnJlbnQgYWN0aXZlLXRhZyB2YWx1ZXMuIiIiCisrICAgIGlm IGNhdGVnb3JpZXMgaXMgTm9uZToKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBjYXRlZ29y aWVzID0gbGlzdChhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorKyAgICAgICAgZXhjZXB0IFR5 cGVFcnJvcjogICAjIFR5cGVFcnJvcjogb2JqZWN0IGlzIG5vdCBpdGVyYWJsZQorKyAgICAgICAg ICAgIGNhdGVnb3JpZXMgPSBbXQorKworKyAgICBhY3RpdmVfdGFnX2RhdGEgPSBhY3RpdmVfdGFn X3ZhbHVlX3Byb3ZpZGVyCisrICAgIHByaW50KCJBQ1RJVkUtVEFHUzoiKQorKyAgICBmb3IgY2F0 ZWdvcnkgaW4gY2F0ZWdvcmllczoKKysgICAgICAgIGFjdGl2ZV90YWdfdmFsdWUgPSBhY3RpdmVf dGFnX2RhdGEuZ2V0KGNhdGVnb3J5KQorKyAgICAgICAgcHJpbnQoInVzZS53aXRoX3tjYXRlZ29y eX09e3ZhbHVlfSIuZm9ybWF0KAorKyAgICAgICAgICAgIGNhdGVnb3J5PWNhdGVnb3J5LCB2YWx1 ZT1hY3RpdmVfdGFnX3ZhbHVlKSkKKysKKysgICAgIyAtLSBGSU5BTExZOiBUUkFJTElORyBORVct TElORQorKyAgICBwcmludCgpCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkg Yi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQoraW5kZXggNmZhZjRlMi4uNzJlYmFhMCAxMDA2NDQK Ky0tLSBhL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysgYi9mZWF0dXJlcy9lbnZpcm9ubWVu dC5weQorQEAgLTIsNyArMiw4IEBACisgIyBGSUxFOiBmZWF0dXJlcy9lbnZpcm9uZW1udC5weQor IAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlv bgorLWZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1 cF9hY3RpdmVfdGFnX3ZhbHVlcworK2Zyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBcCisr ICAgIEFjdGl2ZVRhZ01hdGNoZXIsIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzLCBwcmludF9hY3Rp dmVfdGFncworIGZyb20gYmVoYXZlNGNtZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQgc2V0 dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZQorIGZyb20gYmVoYXZlIGltcG9ydCBw eXRob25fZmVhdHVyZQorIGltcG9ydCBwbGF0Zm9ybQorQEAgLTIxLDExICsyMiw3IEBAIGFjdGl2 ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRl cikKKyAKKyAKKyBkZWYgcHJpbnRfYWN0aXZlX3RhZ3Nfc3VtbWFyeSgpOgorLSAgICBhY3RpdmVf dGFnX2RhdGEgPSBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyCistICAgIHByaW50KCJBQ1RJVkUt VEFHIFNVTU1BUlk6IikKKy0gICAgcHJpbnQoInVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPSVzIiAl IGFjdGl2ZV90YWdfZGF0YS5nZXQoInB5dGhvbi52ZXJzaW9uIikpCistICAgIHByaW50KCJ1c2Uu d2l0aF9vcz0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJvcyIpKQorLSAgICBwcmludCgpCisr ICAgIHByaW50X2FjdGl2ZV90YWdzKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIFsicHl0aG9u LnZlcnNpb24iLCAib3MiXSkKKyAKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkaWZmIC0t Z2l0IGEvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgYi9pc3N1ZS5mZWF0dXJlcy9lbnZp cm9ubWVudC5weQoraW5kZXggN2U0OGVlMC4uYWI4NWU2YyAxMDA2NDQKKy0tLSBhL2lzc3VlLmZl YXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysgYi9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5w eQorQEAgLTEzLDcgKzEzLDcgQEAgaW1wb3J0IHN5cworIGltcG9ydCBwbGF0Zm9ybQorIGltcG9y dCBvcy5wYXRoCisgaW1wb3J0IHNpeAorLWZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBB Y3RpdmVUYWdNYXRjaGVyCisrZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRh Z01hdGNoZXIsIHByaW50X2FjdGl2ZV90YWdzCisgZnJvbSBiZWhhdmU0Y21kMC5zZXR1cF9jb21t YW5kX3NoZWxsIGltcG9ydCBzZXR1cF9jb21tYW5kX3NoZWxsX3Byb2Nlc3NvcnM0YmVoYXZlCisg IyBQUkVQQVJFRDogZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IHNldHVwX2FjdGl2ZV90 YWdfdmFsdWVzCisgCitAQCAtOTQsMTIgKzk0LDcgQEAgYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0 aXZlVGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorIAorIAorIGRlZiBwcmlu dF9hY3RpdmVfdGFnc19zdW1tYXJ5KCk6CistICAgIGFjdGl2ZV90YWdfZGF0YSA9IGFjdGl2ZV90 YWdfdmFsdWVfcHJvdmlkZXIKKy0gICAgcHJpbnQoIkFDVElWRS1UQUcgU1VNTUFSWToiKQorLSAg ICBwcmludCgidXNlLndpdGhfcHl0aG9uLnZlcnNpb249JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdl dCgicHl0aG9uLnZlcnNpb24iKSkKKy0gICAgIyBwcmludCgidXNlLndpdGhfcGxhdGZvcm09JXMi ICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicGxhdGZvcm0iKSkKKy0gICAgIyBwcmludCgidXNlLndp dGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgib3MiKSkKKy0gICAgcHJpbnQoKQorKyAg ICBwcmludF9hY3RpdmVfdGFncyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBbInB5dGhvbi52 ZXJzaW9uIiwgIm9zIl0pCisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBh L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTQt VVBEQVRFLWkxOG4tZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi1mcm9tLWN1Y3VtYmVyLXJlcC5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MTQtVVBEQVRFLWkxOG4tZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi1mcm9tLWN1Y3VtYmVyLXJlcC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjFmM2IzMTEwZgotLS0g L2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMTQtVVBEQVRFLWkxOG4tZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi1mcm9tLWN1 Y3VtYmVyLXJlcC5wYXRjaApAQCAtMCwwICsxLDU0MSBAQAorRnJvbSBlZjYyNjY2MDc3ZjBlYmI2 OGRlNzEzMDJmNDViNTMzZmJhYTIwZmFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEy IEphbiAyMDIxIDEzOjIxOjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFURTogaTE4bi9n aGVya2luLWxhbmd1YWdlcy5qc29uIGZyb20gY3VjdW1iZXIgcmVwb3NpdG9yeS4KKworQ09OVEFJ TlM6IFBSICM4MjcgKEVzdG9uaWFuIGxhbmd1YWdlIHVwZGF0ZXMgY29udGFpbmVkKQorTEFTVCBD T01NSVQ6IDIwMjEtMDEtMDcgKGluIEN1Y3VtYmVyIHJlcG9zaXRvcnkpCitMQU5HVUFHRSBDSEFO R0VTOgorCisqIFN3ZWRpc2g6IFJ1bGUga2V5d29yZAorKiBUZWx1Z3U6IEZpeGluZyBJU08gNjM5 LTEgY29kZQorKiBSdXNzaWFuOiBSdWxlIGtleXdvcmQKKyogSGVicmV3OiBSdWxlIGtleXdvcmQK KyogR2VybWFuOiBBZGRpdGlvbiBrZXl3b3JkcworKiBFc3RvbmlhbjogUnVsZSBrZXl3b3JkLCBT Y2VuYXJpb091dGxpbmUga2V5d29yZAorKiBJbmRvbmVzaWFuOiBHaXZlbiBrZXl3b3Jkcywgd2hp dGVzcGFjZQorLS0tCisgYmVoYXZlL2kxOG4ucHkgICAgICAgICAgICAgICAgICAgICB8ICA5MiAr KysrKysrKysrKystLS0tLS0KKyBldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIHwg MTQ1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tCisgZmVhdHVyZXMvY21kbGluZS5sYW5n X2xpc3QuZmVhdHVyZSB8ICA2NCArKysrKysrKystLS0tCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUw MzA5LmZlYXR1cmUgICB8ICAgMiArLQorIDQgZmlsZXMgY2hhbmdlZCwgMjQwIGluc2VydGlvbnMo KyksIDYzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2kxOG4ucHkgYi9iZWhh dmUvaTE4bi5weQoraW5kZXggMjc4MWFmZS4uYTU3MjYyNiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9p MThuLnB5CisrKysgYi9iZWhhdmUvaTE4bi5weQorQEAgLTE4OCwxNiArMTg4LDE5IEBAIGxhbmd1 YWdlcyA9IFwKKyAgICAgICAgICd0aGVuJzogWycqICcsICdTw6UgJ10sCisgICAgICAgICAnd2hl bic6IFsnKiAnLCAnTsOlciAnXX0sCisgICdkZSc6IHsnYW5kJzogWycqICcsICdVbmQgJ10sCist ICAgICAgICAnYmFja2dyb3VuZCc6IFsnR3J1bmRsYWdlJ10sCisrICAgICAgICAnYmFja2dyb3Vu ZCc6IFsnR3J1bmRsYWdlJywKKysgICAgICAgICAgICAgICAgICAgICAgICdIaW50ZXJncnVuZCcs CisrICAgICAgICAgICAgICAgICAgICAgICAnVm9yYXVzc2V0enVuZ2VuJywKKysgICAgICAgICAg ICAgICAgICAgICAgICdWb3JiZWRpbmd1bmdlbiddLAorICAgICAgICAgJ2J1dCc6IFsnKiAnLCAn QWJlciAnXSwKKyAgICAgICAgICdleGFtcGxlcyc6IFsnQmVpc3BpZWxlJ10sCistICAgICAgICAn ZmVhdHVyZSc6IFsnRnVua3Rpb25hbGl0w6R0J10sCisrICAgICAgICAnZmVhdHVyZSc6IFsnRnVu a3Rpb25hbGl0w6R0JywgJ0Z1bmt0aW9uJ10sCisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ0Fu Z2Vub21tZW4gJywgJ0dlZ2ViZW4gc2VpICcsICdHZWdlYmVuIHNlaWVuICddLAorICAgICAgICAg J25hbWUnOiAnR2VybWFuJywKKyAgICAgICAgICduYXRpdmUnOiAnRGV1dHNjaCcsCistICAgICAg ICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnLCAnUmVnZWwnXSwK KyAgICAgICAgICdzY2VuYXJpbyc6IFsnQmVpc3BpZWwnLCAnU3plbmFyaW8nXSwKKy0gICAgICAg ICdzY2VuYXJpb19vdXRsaW5lJzogWydTemVuYXJpb2dydW5kcmlzcyddLAorKyAgICAgICAgJ3Nj ZW5hcmlvX291dGxpbmUnOiBbJ1N6ZW5hcmlvZ3J1bmRyaXNzJywgJ1N6ZW5hcmllbiddLAorICAg ICAgICAgJ3RoZW4nOiBbJyogJywgJ0Rhbm4gJ10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAn V2VubiAnXX0sCisgICdlbCc6IHsnYW5kJzogWycqICcsICfOms6xzrkgJ10sCitAQCAtMzQ0LDkg KzM0Nyw5IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdnaXZlbic6IFsnKiAnLCAnRWVsZGFk ZXMgJ10sCisgICAgICAgICAnbmFtZSc6ICdFc3RvbmlhbicsCisgICAgICAgICAnbmF0aXZlJzog J2Vlc3RpIGtlZWwnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxl JzogWydSZWVnZWwnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnSnVodHVtJywgJ1N0c2VuYWFy aXVtJ10sCistICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnUmFhbXN0anVodHVtJywgJ1Jh YW1zdHNlbmFhcml1bSddLAorKyAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ1JhYW1qdWh0 dW0nLCAnUmFhbXN0c2VuYWFyaXVtJ10sCisgICAgICAgICAndGhlbic6IFsnKiAnLCAnU2lpcyAn XSwKKyAgICAgICAgICd3aGVuJzogWycqICcsICdLdWkgJ119LAorICAnZmEnOiB7J2FuZCc6IFsn KiAnLCAn2YggJ10sCitAQCAtNDU1LDcgKzQ1OCw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAg ICdnaXZlbic6IFsnKiAnLCAn15HXlNeZ16DXqtefICddLAorICAgICAgICAgJ25hbWUnOiAnSGVi cmV3JywKKyAgICAgICAgICduYXRpdmUnOiAn16LXkdeo15nXqicsCistICAgICAgICAncnVsZSc6 IFsnUnVsZSddLAorKyAgICAgICAgJ3J1bGUnOiBbJ9eb15zXnCddLAorICAgICAgICAgJ3NjZW5h cmlvJzogWyfXk9eV15LXnteQJywgJ9eq16jXl9eZ16knXSwKKyAgICAgICAgICdzY2VuYXJpb19v dXRsaW5lJzogWyfXqteR16DXmdeqINeq16jXl9eZ16knXSwKKyAgICAgICAgICd0aGVuJzogWycq ICcsICfXkNeWICcsICfXkNeW15kgJ10sCitAQCAtNTE4LDE3ICs1MjEsMjIgQEAgbGFuZ3VhZ2Vz ID0gXAorICAgICAgICAgJ3RoZW4nOiBbJyogJywgJ0Fra29yICddLAorICAgICAgICAgJ3doZW4n OiBbJyogJywgJ01hamQgJywgJ0hhICcsICdBbWlrb3IgJ119LAorICAnaWQnOiB7J2FuZCc6IFsn KiAnLCAnRGFuICddLAorLSAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0Rhc2FyJ10sCistICAgICAg ICAnYnV0JzogWycqICcsICdUYXBpICddLAorLSAgICAgICAgJ2V4YW1wbGVzJzogWydDb250b2gn XSwKKysgICAgICAgICdiYWNrZ3JvdW5kJzogWydEYXNhcicsICdMYXRhciBCZWxha2FuZyddLAor KyAgICAgICAgJ2J1dCc6IFsnKiAnLCAnVGFwaSAnLCAnVGV0YXBpICddLAorKyAgICAgICAgJ2V4 YW1wbGVzJzogWydDb250b2gnLCAnTWlzYWwnXSwKKyAgICAgICAgICdmZWF0dXJlJzogWydGaXR1 ciddLAorLSAgICAgICAgJ2dpdmVuJzogWycqICcsICdEZW5nYW4gJ10sCisrICAgICAgICAnZ2l2 ZW4nOiBbJyogJywKKysgICAgICAgICAgICAgICAgICAnRGVuZ2FuICcsCisrICAgICAgICAgICAg ICAgICAgJ0Rpa2V0YWh1aSAnLAorKyAgICAgICAgICAgICAgICAgICdEaWFzdW1zaWthbiAnLAor KyAgICAgICAgICAgICAgICAgICdCaWxhICcsCisrICAgICAgICAgICAgICAgICAgJ0ppa2EgJ10s CisgICAgICAgICAnbmFtZSc6ICdJbmRvbmVzaWFuJywKKyAgICAgICAgICduYXRpdmUnOiAnQmFo YXNhIEluZG9uZXNpYScsCistICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3J1 bGUnOiBbJ1J1bGUnLCAnQXR1cmFuJ10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ1NrZW5hcmlv J10sCistICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnU2tlbmFyaW8ga29uc2VwJ10sCist ICAgICAgICAndGhlbic6IFsnKiAnLCAnTWFrYSAnXSwKKysgICAgICAgICdzY2VuYXJpb19vdXRs aW5lJzogWydTa2VuYXJpbyBrb25zZXAnLCAnR2FyaXMtQmVzYXIgU2tlbmFyaW8nXSwKKysgICAg ICAgICd0aGVuJzogWycqICcsICdNYWthICcsICdLZW11ZGlhbiAnXSwKKyAgICAgICAgICd3aGVu JzogWycqICcsICdLZXRpa2EgJ119LAorICAnaXMnOiB7J2FuZCc6IFsnKiAnLCAnT2cgJ10sCisg ICAgICAgICAnYmFja2dyb3VuZCc6IFsnQmFrZ3J1bm51ciddLAorQEAgLTY5OSw2ICs3MDcsMzIg QEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ9Ch0YbQtdC9 0LDRgNGL0L0g0YLTqdC706nQstC706nQs9Op06knXSwKKyAgICAgICAgICd0aGVuJzogWycqICcs ICfQotGN0LPRjdGF0Y3QtCAnLCAn0q7Sr9C90LjQuSDQtNCw0YDQsNCwICddLAorICAgICAgICAg J3doZW4nOiBbJyogJywgJ9Cl0Y3RgNGN0LIgJ119LAorKyAnbXInOiB7J2FuZCc6IFsnKiAnLCAn 4KSG4KSj4KS/ICcsICfgpKTgpLjgpYfgpJogJ10sCisrICAgICAgICAnYmFja2dyb3VuZCc6IFsn 4KSq4KS+4KSw4KWN4KS24KWN4KS14KSt4KWC4KSu4KWAJ10sCisrICAgICAgICAnYnV0JzogWycq ICcsICfgpKrgpKMgJywgJ+CkquCksOCkguCkpOClgSAnXSwKKysgICAgICAgICdleGFtcGxlcyc6 IFsn4KSJ4KSm4KS+4KS54KSw4KSjJ10sCisrICAgICAgICAnZmVhdHVyZSc6IFsn4KS14KWI4KS2 4KS/4KS34KWN4KSf4KWN4KSvJywgJ+CkuOClgeCkteCkv+Ckp+CkviddLAorKyAgICAgICAgJ2dp dmVuJzogWycqICcsICfgpJzgpLAnLCAn4KSm4KS/4KSy4KWH4KSy4KWN4KSv4KS+IOCkquCljeCk sOCkruCkvuCko+ClhyAnXSwKKysgICAgICAgICduYW1lJzogJ01hcmF0aGknLAorKyAgICAgICAg J25hdGl2ZSc6ICfgpK7gpLDgpL7gpKDgpYAnLAorKyAgICAgICAgJ3J1bGUnOiBbJ+CkqOCkv+Ck r+CkriddLAorKyAgICAgICAgJ3NjZW5hcmlvJzogWyfgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8n XSwKKysgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWyfgpKrgpLDgpL/gpKbgpYPgpLbgpY3g pK8g4KSw4KWC4KSq4KSw4KWH4KSW4KS+J10sCisrICAgICAgICAndGhlbic6IFsnKiAnLCAn4KSu 4KSXICcsICfgpKTgpYfgpLXgpY3gpLngpL4gJ10sCisrICAgICAgICAnd2hlbic6IFsnKiAnLCAn 4KSc4KWH4KS14KWN4KS54KS+ICddfSwKKysgJ25lJzogeydhbmQnOiBbJyogJywgJ+CksCAnLCAn 4KSF4KSo4KWAICddLAorKyAgICAgICAgJ2JhY2tncm91bmQnOiBbJ+CkquClg+Ckt+CljeCkoOCk reClguCkruClgCddLAorKyAgICAgICAgJ2J1dCc6IFsnKiAnLCAn4KSk4KSwICddLAorKyAgICAg ICAgJ2V4YW1wbGVzJzogWyfgpIngpKbgpL7gpLngpLDgpKMnLCAn4KSJ4KSm4KS+4KS54KSw4KSj 4KS54KSw4KWBJ10sCisrICAgICAgICAnZmVhdHVyZSc6IFsn4KS44KWB4KS14KS/4KSn4KS+Jywg J+CkteCkv+CktuClh+Ckt+CkpOCkviddLAorKyAgICAgICAgJ2dpdmVuJzogWycqICcsICfgpKbg pL/gpIfgpI/gpJXgpYsgJywgJ+CkpuCkv+Ckj+CkleCliyAnLCAn4KSv4KSm4KS/ICddLAorKyAg ICAgICAgJ25hbWUnOiAnTmVwYWxpJywKKysgICAgICAgICduYXRpdmUnOiAn4KSo4KWH4KSq4KS+ 4KSy4KWAJywKKysgICAgICAgICdydWxlJzogWyfgpKjgpL/gpK/gpK4nXSwKKysgICAgICAgICdz Y2VuYXJpbyc6IFsn4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvJ10sCisrICAgICAgICAnc2NlbmFy aW9fb3V0bGluZSc6IFsn4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvIOCksOClguCkquCksOClh+Ck luCkviddLAorKyAgICAgICAgJ3RoZW4nOiBbJyogJywgJ+CkpOCljeCkr+CkuOCkquCkm+CkvyAn LCAn4KSF4KSo4KWAICddLAorKyAgICAgICAgJ3doZW4nOiBbJyogJywgJ+CknOCkrCAnXX0sCisg ICdubCc6IHsnYW5kJzogWycqICcsICdFbiAnXSwKKyAgICAgICAgICdiYWNrZ3JvdW5kJzogWydB Y2h0ZXJncm9uZCddLAorICAgICAgICAgJ2J1dCc6IFsnKiAnLCAnTWFhciAnXSwKK0BAIC03OTcs NyArODMxLDcgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ2dpdmVuJzogWycqICcsICfQlNC+ 0L/Rg9GB0YLQuNC8ICcsICfQlNCw0L3QviAnLCAn0J/Rg9GB0YLRjCAnXSwKKyAgICAgICAgICdu YW1lJzogJ1J1c3NpYW4nLAorICAgICAgICAgJ25hdGl2ZSc6ICfRgNGD0YHRgdC60LjQuScsCist ICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3J1bGUnOiBbJ9Cf0YDQsNCy0LjQ u9C+J10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ9Cf0YDQuNC80LXRgCcsICfQodGG0LXQvdCw 0YDQuNC5J10sCisgICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn0KHRgtGA0YPQutGC0YPR gNCwINGB0YbQtdC90LDRgNC40Y8nXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICfQotC+ICcs ICfQl9Cw0YLQtdC8ICcsICfQotC+0LPQtNCwICddLAorQEAgLTg3Myw3ICs5MDcsNyBAQCBsYW5n dWFnZXMgPSBcCisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ0dpdmV0ICddLAorICAgICAgICAg J25hbWUnOiAnU3dlZGlzaCcsCisgICAgICAgICAnbmF0aXZlJzogJ1N2ZW5za2EnLAorLSAgICAg ICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWydSZWdlbCddLAorICAgICAg ICAgJ3NjZW5hcmlvJzogWydTY2VuYXJpbyddLAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUn OiBbJ0Fic3RyYWt0IFNjZW5hcmlvJywgJ1NjZW5hcmlvbWFsbCddLAorICAgICAgICAgJ3RoZW4n OiBbJyogJywgJ1PDpSAnXSwKK0BAIC04OTEsNiArOTI1LDE5IEBAIGxhbmd1YWdlcyA9IFwKKyAg ICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWyfgrpXgrr7grp/gr43grprgrr8g4K6a4K+B4K6w 4K+B4K6V4K+N4K6V4K6u4K+NJywgJ+CuleCuvuCun+CvjeCumuCuvyDgrrXgrr7grrDgr43grqrg r43grqrgr4HgrrDgr4EnXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICfgroXgrqrgr43grqrg r4bgrr7grrTgr4HgrqTgr4EgJ10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAn4K6O4K6q4K+N 4K6q4K+H4K6+4K6k4K+BICddfSwKKysgJ3RlJzogeydhbmQnOiBbJyogJywgJ+CwruCwsOCwv+Cw r+CxgSAnXSwKKysgICAgICAgICdiYWNrZ3JvdW5kJzogWyfgsKjgsYfgsKrgsKXgsY3gsK/gsIIn XSwKKysgICAgICAgICdidXQnOiBbJyogJywgJ+CwleCwvuCwqOCwvyAnXSwKKysgICAgICAgICdl eGFtcGxlcyc6IFsn4LCJ4LCm4LC+4LC54LCw4LCj4LCy4LGBJ10sCisrICAgICAgICAnZmVhdHVy ZSc6IFsn4LCX4LGB4LCj4LCu4LGBJ10sCisrICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ+CwmuCx huCwquCxjeCwquCwrOCwoeCwv+CwqOCwpuCwvyAnXSwKKysgICAgICAgICduYW1lJzogJ1RlbHVn dScsCisrICAgICAgICAnbmF0aXZlJzogJ+CwpOCxhuCwsuCxgeCwl+CxgScsCisrICAgICAgICAn cnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3NjZW5hcmlvJzogWyfgsIngsKbgsL7gsLngsLDg sKMnLCAn4LC44LCo4LGN4LCo4LC/4LC14LGH4LC24LCCJ10sCisrICAgICAgICAnc2NlbmFyaW9f b3V0bGluZSc6IFsn4LCV4LCl4LCo4LCCJ10sCisrICAgICAgICAndGhlbic6IFsnKiAnLCAn4LCF 4LCq4LGN4LCq4LGB4LCh4LGBICddLAorKyAgICAgICAgJ3doZW4nOiBbJyogJywgJ+CwiCDgsKrg sLDgsL/gsLjgsY3gsKXgsL/gsKTgsL/gsLLgsYsgJ119LAorICAndGgnOiB7J2FuZCc6IFsnKiAn LCAn4LmB4Lil4LiwICddLAorICAgICAgICAgJ2JhY2tncm91bmQnOiBbJ+C5geC4meC4p+C4hOC4 tOC4lCddLAorICAgICAgICAgJ2J1dCc6IFsnKiAnLCAn4LmB4LiV4LmIICddLAorQEAgLTkwNCwx OSArOTUxLDYgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBb J+C4quC4o+C4uOC4m+C5gOC4q+C4leC4uOC4geC4suC4o+C4k+C5jCcsICfguYLguITguKPguIfg uKrguKPguYnguLLguIfguILguK3guIfguYDguKvguJXguLjguIHguLLguKPguJPguYwnXSwKKyAg ICAgICAgICd0aGVuJzogWycqICcsICfguJTguLHguIfguJnguLHguYnguJkgJ10sCisgICAgICAg ICAnd2hlbic6IFsnKiAnLCAn4LmA4Lih4Li34LmI4LitICddfSwKKy0gJ3RsJzogeydhbmQnOiBb JyogJywgJ+CwruCwsOCwv+Cwr+CxgSAnXSwKKy0gICAgICAgICdiYWNrZ3JvdW5kJzogWyfgsKjg sYfgsKrgsKXgsY3gsK/gsIInXSwKKy0gICAgICAgICdidXQnOiBbJyogJywgJ+CwleCwvuCwqOCw vyAnXSwKKy0gICAgICAgICdleGFtcGxlcyc6IFsn4LCJ4LCm4LC+4LC54LCw4LCj4LCy4LGBJ10s CistICAgICAgICAnZmVhdHVyZSc6IFsn4LCX4LGB4LCj4LCu4LGBJ10sCistICAgICAgICAnZ2l2 ZW4nOiBbJyogJywgJ+CwmuCxhuCwquCxjeCwquCwrOCwoeCwv+CwqOCwpuCwvyAnXSwKKy0gICAg ICAgICduYW1lJzogJ1RlbHVndScsCistICAgICAgICAnbmF0aXZlJzogJ+CwpOCxhuCwsuCxgeCw l+CxgScsCistICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorLSAgICAgICAgJ3NjZW5hcmlvJzog WyfgsIngsKbgsL7gsLngsLDgsKMnLCAn4LC44LCo4LGN4LCo4LC/4LC14LGH4LC24LCCJ10sCist ICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn4LCV4LCl4LCo4LCCJ10sCistICAgICAgICAn dGhlbic6IFsnKiAnLCAn4LCF4LCq4LGN4LCq4LGB4LCh4LGBICddLAorLSAgICAgICAgJ3doZW4n OiBbJyogJywgJ+CwiCDgsKrgsLDgsL/gsLjgsY3gsKXgsL/gsKTgsL/gsLLgsYsgJ119LAorICAn dGxoJzogeydhbmQnOiBbJyogJywgIidlaiAiLCAnbGF0bGggJ10sCisgICAgICAgICAgJ2JhY2tn cm91bmQnOiBbIm1vJyJdLAorICAgICAgICAgICdidXQnOiBbJyogJywgIidhY2ggIiwgIidhICJd LAorZGlmZiAtLWdpdCBhL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gYi9ldGMv Z2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCitpbmRleCAyOWNiY2ExLi42MDY5NjY0IDEw MDY0NAorLS0tIGEvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorKysrIGIvZXRj L2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorQEAgLTYwNSw3ICs2MDUsMTAgQEAKKyAg ICAgICAiVW5kICIKKyAgICAgXSwKKyAgICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkdydW5k bGFnZSIKKysgICAgICAiR3J1bmRsYWdlIiwKKysgICAgICAiSGludGVyZ3J1bmQiLAorKyAgICAg ICJWb3JhdXNzZXR6dW5nZW4iLAorKyAgICAgICJWb3JiZWRpbmd1bmdlbiIKKyAgICAgXSwKKyAg ICAgImJ1dCI6IFsKKyAgICAgICAiKiAiLAorQEAgLTYxNSw3ICs2MTgsOCBAQAorICAgICAgICJC ZWlzcGllbGUiCisgICAgIF0sCisgICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5rdGlvbmFs aXTDpHQiCisrICAgICAgIkZ1bmt0aW9uYWxpdMOkdCIsCisrICAgICAgIkZ1bmt0aW9uIgorICAg ICBdLAorICAgICAiZ2l2ZW4iOiBbCisgICAgICAgIiogIiwKK0BAIC02MjYsMTQgKzYzMCwxNiBA QAorICAgICAibmFtZSI6ICJHZXJtYW4iLAorICAgICAibmF0aXZlIjogIkRldXRzY2giLAorICAg ICAicnVsZSI6IFsKKy0gICAgICAiUnVsZSIKKysgICAgICAiUnVsZSIsCisrICAgICAgIlJlZ2Vs IgorICAgICBdLAorICAgICAic2NlbmFyaW8iOiBbCisgICAgICAgIkJlaXNwaWVsIiwKKyAgICAg ICAiU3plbmFyaW8iCisgICAgIF0sCisgICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg IlN6ZW5hcmlvZ3J1bmRyaXNzIgorKyAgICAgICJTemVuYXJpb2dydW5kcmlzcyIsCisrICAgICAg IlN6ZW5hcmllbiIKKyAgICAgXSwKKyAgICAgInRoZW4iOiBbCisgICAgICAgIiogIiwKK0BAIC0x MTI3LDE0ICsxMTMzLDE0IEBACisgICAgICJuYW1lIjogIkVzdG9uaWFuIiwKKyAgICAgIm5hdGl2 ZSI6ICJlZXN0aSBrZWVsIiwKKyAgICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAgICAg IlJlZWdlbCIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICJKdWh0dW0iLAor ICAgICAgICJTdHNlbmFhcml1bSIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvT3V0bGluZSI6IFsK Ky0gICAgICAiUmFhbXN0anVodHVtIiwKKysgICAgICAiUmFhbWp1aHR1bSIsCisgICAgICAgIlJh YW1zdHNlbmFhcml1bSIKKyAgICAgXSwKKyAgICAgInRoZW4iOiBbCitAQCAtMTQ2NSw3ICsxNDcx LDcgQEAKKyAgICAgIm5hbWUiOiAiSGVicmV3IiwKKyAgICAgIm5hdGl2ZSI6ICLXoteR16jXmdeq IiwKKyAgICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAgICAgIteb15zXnCIKKyAgICAg XSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICLXk9eV15LXnteQIiwKK0BAIC0xNjkyLDM2 ICsxNjk4LDQ2IEBACisgICAgICAgIkRhbiAiCisgICAgIF0sCisgICAgICJiYWNrZ3JvdW5kIjog WworLSAgICAgICJEYXNhciIKKysgICAgICAiRGFzYXIiLAorKyAgICAgICJMYXRhciBCZWxha2Fu ZyIKKyAgICAgXSwKKyAgICAgImJ1dCI6IFsKKyAgICAgICAiKiAiLAorLSAgICAgICJUYXBpICIK KysgICAgICAiVGFwaSAiLAorKyAgICAgICJUZXRhcGkgIgorICAgICBdLAorICAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIkNvbnRvaCIKKysgICAgICAiQ29udG9oIiwKKysgICAgICAiTWlzYWwi CisgICAgIF0sCisgICAgICJmZWF0dXJlIjogWworICAgICAgICJGaXR1ciIKKyAgICAgXSwKKyAg ICAgImdpdmVuIjogWworICAgICAgICIqICIsCistICAgICAgIkRlbmdhbiAiCisrICAgICAgIkRl bmdhbiAiLAorKyAgICAgICJEaWtldGFodWkgIiwKKysgICAgICAiRGlhc3Vtc2lrYW4gIiwKKysg ICAgICAiQmlsYSAiLAorKyAgICAgICJKaWthICIKKyAgICAgXSwKKyAgICAgIm5hbWUiOiAiSW5k b25lc2lhbiIsCisgICAgICJuYXRpdmUiOiAiQmFoYXNhIEluZG9uZXNpYSIsCisgICAgICJydWxl IjogWworLSAgICAgICJSdWxlIgorKyAgICAgICJSdWxlIiwKKysgICAgICAiQXR1cmFuIgorICAg ICBdLAorICAgICAic2NlbmFyaW8iOiBbCisgICAgICAgIlNrZW5hcmlvIgorICAgICBdLAorICAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTa2VuYXJpbyBrb25zZXAiCisrICAgICAg IlNrZW5hcmlvIGtvbnNlcCIsCisrICAgICAgIkdhcmlzLUJlc2FyIFNrZW5hcmlvIgorICAgICBd LAorICAgICAidGhlbiI6IFsKKyAgICAgICAiKiAiLAorLSAgICAgICJNYWthICIKKysgICAgICAi TWFrYSAiLAorKyAgICAgICJLZW11ZGlhbiAiCisgICAgIF0sCisgICAgICJ3aGVuIjogWworICAg ICAgICIqICIsCitAQCAtMjMzMCw2ICsyMzQ2LDU0IEBACisgICAgICAgItCl0Y3RgNGN0LIgIgor ICAgICBdCisgICB9LAorKyAgIm5lIjogeworKyAgICAiYW5kIjogWworKyAgICAgICIqICIsCisr ICAgICAgIuCksCAiLAorKyAgICAgICLgpIXgpKjgpYAgIgorKyAgICBdLAorKyAgICAiYmFja2dy b3VuZCI6IFsKKysgICAgICAi4KSq4KWD4KS34KWN4KSg4KSt4KWC4KSu4KWAIgorKyAgICBdLAor KyAgICAiYnV0IjogWworKyAgICAgICIqICIsCisrICAgICAgIuCkpOCksCAiCisrICAgIF0sCisr ICAgICJleGFtcGxlcyI6IFsKKysgICAgICAi4KSJ4KSm4KS+4KS54KSw4KSjIiwKKysgICAgICAi 4KSJ4KSm4KS+4KS54KSw4KSj4KS54KSw4KWBIgorKyAgICBdLAorKyAgICAiZmVhdHVyZSI6IFsK KysgICAgICAi4KS44KWB4KS14KS/4KSn4KS+IiwKKysgICAgICAi4KS14KS/4KS24KWH4KS34KSk 4KS+IgorKyAgICBdLAorKyAgICAiZ2l2ZW4iOiBbCisrICAgICAgIiogIiwKKysgICAgICAi4KSm 4KS/4KSH4KSP4KSV4KWLICIsCisrICAgICAgIuCkpuCkv+Ckj+CkleCliyAiLAorKyAgICAgICLg pK/gpKbgpL8gIgorKyAgICBdLAorKyAgICAibmFtZSI6ICJOZXBhbGkiLAorKyAgICAibmF0aXZl IjogIuCkqOClh+CkquCkvuCksuClgCIsCisrICAgICJydWxlIjogWworKyAgICAgICLgpKjgpL/g pK/gpK4iCisrICAgIF0sCisrICAgICJzY2VuYXJpbyI6IFsKKysgICAgICAi4KSq4KSw4KS/4KSm 4KWD4KS24KWN4KSvIgorKyAgICBdLAorKyAgICAic2NlbmFyaW9PdXRsaW5lIjogWworKyAgICAg ICLgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8g4KSw4KWC4KSq4KSw4KWH4KSW4KS+IgorKyAgICBd LAorKyAgICAidGhlbiI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpKTgpY3gpK/gpLjgpKrg pJvgpL8gIiwKKysgICAgICAi4KSF4KSo4KWAICIKKysgICAgXSwKKysgICAgIndoZW4iOiBbCisr ICAgICAgIiogIiwKKysgICAgICAi4KSc4KSsICIKKysgICAgXQorKyAgfSwKKyAgICJubCI6IHsK KyAgICAgImFuZCI6IFsKKyAgICAgICAiKiAiLAorQEAgLTI2NjUsNyArMjcyOSw3IEBACisgICAg ICJuYW1lIjogIlJ1c3NpYW4iLAorICAgICAibmF0aXZlIjogItGA0YPRgdGB0LrQuNC5IiwKKyAg ICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAgICAgItCf0YDQsNCy0LjQu9C+IgorICAg ICBdLAorICAgICAic2NlbmFyaW8iOiBbCisgICAgICAgItCf0YDQuNC80LXRgCIsCitAQCAtMjkz Myw3ICsyOTk3LDcgQEAKKyAgICAgIm5hbWUiOiAiU3dlZGlzaCIsCisgICAgICJuYXRpdmUiOiAi U3ZlbnNrYSIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAgICJSZWdlbCIK KyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICJTY2VuYXJpbyIKK0BAIC0zMDQ2 LDcgKzMxMTAsNyBAQAorICAgICAgICLguYDguKHguLfguYjguK0gIgorICAgICBdCisgICB9LAor LSAgInRsIjogeworKyAgInRlIjogeworICAgICAiYW5kIjogWworICAgICAgICIqICIsCisgICAg ICAgIuCwruCwsOCwv+Cwr+CxgSAiCitAQCAtMzUxMCw1ICszNTc0LDUyIEBACisgICAgICAgIiog IiwKKyAgICAgICAi55W2IgorICAgICBdCisrICB9LAorKyAgIm1yIjogeworKyAgICAiYW5kIjog WworKyAgICAgICIqICIsCisrICAgICAgIuCkhuCko+CkvyAiLAorKyAgICAgICLgpKTgpLjgpYfg pJogIgorKyAgICBdLAorKyAgICAiYmFja2dyb3VuZCI6IFsKKysgICAgICAi4KSq4KS+4KSw4KWN 4KS24KWN4KS14KSt4KWC4KSu4KWAIgorKyAgICBdLAorKyAgICAiYnV0IjogWworKyAgICAgICIq ICIsCisrICAgICAgIuCkquCkoyAiLAorKyAgICAgICLgpKrgpLDgpILgpKTgpYEgIgorKyAgICBd LAorKyAgICAiZXhhbXBsZXMiOiBbCisrICAgICAgIuCkieCkpuCkvuCkueCksOCkoyIKKysgICAg XSwKKysgICAgImZlYXR1cmUiOiBbCisrICAgICAgIuCkteCliOCktuCkv+Ckt+CljeCkn+CljeCk ryIsCisrICAgICAgIuCkuOClgeCkteCkv+Ckp+CkviIKKysgICAgXSwKKysgICAgImdpdmVuIjog WworKyAgICAgICIqICIsCisrICAgICAgIuCknOCksCIsCisrICAgICAgIuCkpuCkv+CksuClh+Ck suCljeCkr+CkviDgpKrgpY3gpLDgpK7gpL7gpKPgpYcgIgorKyAgICBdLAorKyAgICAibmFtZSI6 ICJNYXJhdGhpIiwKKysgICAgIm5hdGl2ZSI6ICLgpK7gpLDgpL7gpKDgpYAiLAorKyAgICAicnVs ZSI6IFsKKysgICAgICAi4KSo4KS/4KSv4KSuIgorKyAgICBdLAorKyAgICAic2NlbmFyaW8iOiBb CisrICAgICAgIuCkquCksOCkv+CkpuClg+CktuCljeCkryIKKysgICAgXSwKKysgICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKysgICAgICAi4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvIOCksOClguCk quCksOClh+CkluCkviIKKysgICAgXSwKKysgICAgInRoZW4iOiBbCisrICAgICAgIiogIiwKKysg ICAgICAi4KSu4KSXICIsCisrICAgICAgIuCkpOClh+CkteCljeCkueCkviAiCisrICAgIF0sCisr ICAgICJ3aGVuIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCknOClh+CkteCljeCkueCkviAi CisrICAgIF0KKyAgIH0KKyB9CitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvY21kbGluZS5sYW5nX2xp c3QuZmVhdHVyZSBiL2ZlYXR1cmVzL2NtZGxpbmUubGFuZ19saXN0LmZlYXR1cmUKK2luZGV4IGY3 N2U3NDcuLjIwODIyZWMgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9jbWRsaW5lLmxhbmdfbGlzdC5m ZWF0dXJlCisrKysgYi9mZWF0dXJlcy9jbWRsaW5lLmxhbmdfbGlzdC5mZWF0dXJlCitAQCAtMzks MjEgKzM5LDUzIEBAIEZlYXR1cmU6IENvbW1hbmQtbGluZSBvcHRpb25zOiBVc2UgYmVoYXZlIC0t bGFuZy1saXN0CisgICAgICAgICAgIGZhOiDZgdin2LHYs9uMIC8gUGVyc2lhbgorICAgICAgICAg ICBmaTogc3VvbWkgLyBGaW5uaXNoCisgICAgICAgICAgIGZyOiBmcmFuw6dhaXMgLyBGcmVuY2gK Ky0gICAgICAgICIiIgorLSAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWlu OgorLSAgICAgICAgIiIiCistICAgICAgICBzdjogU3ZlbnNrYSAvIFN3ZWRpc2gKKy0gICAgICAg IHRhOiDgrqTgrq7grr/grrTgr40gLyBUYW1pbAorLSAgICAgICAgdGg6IOC5hOC4l+C4oiAvIFRo YWkKKy0gICAgICAgIHRsOiDgsKTgsYbgsLLgsYHgsJfgsYEgLyBUZWx1Z3UKKy0gICAgICAgIHRs aDogdGxoSW5nYW4gLyBLbGluZ29uCistICAgICAgICB0cjogVMO8cmvDp2UgLyBUdXJraXNoCist ICAgICAgICB0dDog0KLQsNGC0LDRgNGH0LAgLyBUYXRhcgorLSAgICAgICAgdWs6INCj0LrRgNCw 0ZfQvdGB0YzQutCwIC8gVWtyYWluaWFuCistICAgICAgICB1cjog2KfYsdiv2YggLyBVcmR1Cist ICAgICAgICB1ejog0KPQt9Cx0LXQutGH0LAgLyBVemJlaworLSAgICAgICAgdmk6IFRp4bq/bmcg Vmnhu4d0IC8gVmlldG5hbWVzZQorLSAgICAgICAgemgtQ046IOeugOS9k+S4reaWhyAvIENoaW5l c2Ugc2ltcGxpZmllZAorLSAgICAgICAgemgtVFc6IOe5gemrlOS4reaWhyAvIENoaW5lc2UgdHJh ZGl0aW9uYWwKKysgICAgICAgICAgZ2E6IEdhZWlsZ2UgLyBJcmlzaAorKyAgICAgICAgICBnajog 4KqX4KuB4Kqc4Kqw4Kq+4Kqk4KuAIC8gR3VqYXJhdGkKKysgICAgICAgICAgZ2w6IGdhbGVnbyAv IEdhbGljaWFuCisrICAgICAgICAgIGhlOiDXoteR16jXmdeqIC8gSGVicmV3CisrICAgICAgICAg IGhpOiDgpLngpL/gpILgpKbgpYAgLyBIaW5kaQorKyAgICAgICAgICBocjogaHJ2YXRza2kgLyBD cm9hdGlhbgorKyAgICAgICAgICBodDoga3JlecOybCAvIENyZW9sZQorKyAgICAgICAgICBodTog bWFneWFyIC8gSHVuZ2FyaWFuCisrICAgICAgICAgIGlkOiBCYWhhc2EgSW5kb25lc2lhIC8gSW5k b25lc2lhbgorKyAgICAgICAgICBpczogw41zbGVuc2thIC8gSWNlbGFuZGljCisrICAgICAgICAg IGl0OiBpdGFsaWFubyAvIEl0YWxpYW4KKysgICAgICAgICAgamE6IOaXpeacrOiqniAvIEphcGFu ZXNlCisrICAgICAgICAgIGp2OiBCYXNhIEphd2EgLyBKYXZhbmVzZQorKyAgICAgICAgICBrYTog 4YOl4YOQ4YOg4YOX4YOV4YOU4YOa4YOYIC8gR2VvcmdpYW4KKysgICAgICAgICAga246IOCyleCy qOCzjeCyqOCyoSAvIEthbm5hZGEKKysgICAgICAgICAga286IO2VnOq1reyWtCAvIEtvcmVhbgor KyAgICAgICAgICBsdDogbGlldHV2acWzIGthbGJhIC8gTGl0aHVhbmlhbgorKyAgICAgICAgICBs dTogTMOrdHplYnVlcmdlc2NoIC8gTHV4ZW1idXJnaXNoCisrICAgICAgICAgIGx2OiBsYXR2aWXF oXUgLyBMYXR2aWFuCisrICAgICAgICAgIG1rLUN5cmw6INCc0LDQutC10LTQvtC90YHQutC4IC8g TWFjZWRvbmlhbgorKyAgICAgICAgICBtay1MYXRuOiBNYWtlZG9uc2tpIChMYXRpbmljYSkgLyBN YWNlZG9uaWFuIChMYXRpbikKKysgICAgICAgICAgbW46INC80L7QvdCz0L7QuyAvIE1vbmdvbGlh bgorKyAgICAgICAgICBtcjog4KSu4KSw4KS+4KSg4KWAIC8gTWFyYXRoaQorKyAgICAgICAgICBu ZTog4KSo4KWH4KSq4KS+4KSy4KWAIC8gTmVwYWxpCisrICAgICAgICAgIG5sOiBOZWRlcmxhbmRz IC8gRHV0Y2gKKysgICAgICAgICAgbm86IG5vcnNrIC8gTm9yd2VnaWFuCisrICAgICAgICAgIHBh OiDgqKrgqbDgqJzgqL7gqKzgqYAgLyBQYW5qYWJpCisrICAgICAgICAgIHBsOiBwb2xza2kgLyBQ b2xpc2gKKysgICAgICAgICAgcHQ6IHBvcnR1Z3XDqnMgLyBQb3J0dWd1ZXNlCisrICAgICAgICAg IHJvOiByb23Dom7EgyAvIFJvbWFuaWFuCisrICAgICAgICAgIHJ1OiDRgNGD0YHRgdC60LjQuSAv IFJ1c3NpYW4KKysgICAgICAgICAgc2s6IFNsb3ZlbnNreSAvIFNsb3ZhaworKyAgICAgICAgICBz bDogU2xvdmVuc2tpIC8gU2xvdmVuaWFuCisrICAgICAgICAgIHNyLUN5cmw6INCh0YDQv9GB0LrQ uCAvIFNlcmJpYW4KKysgICAgICAgICAgc3ItTGF0bjogU3Jwc2tpIChMYXRpbmljYSkgLyBTZXJi aWFuIChMYXRpbikKKysgICAgICAgICAgc3Y6IFN2ZW5za2EgLyBTd2VkaXNoCisrICAgICAgICAg IHRhOiDgrqTgrq7grr/grrTgr40gLyBUYW1pbAorKyAgICAgICAgICB0ZTog4LCk4LGG4LCy4LGB 4LCX4LGBIC8gVGVsdWd1CisrICAgICAgICAgIHRoOiDguYTguJfguKIgLyBUaGFpCisrICAgICAg ICAgIHRsaDogdGxoSW5nYW4gLyBLbGluZ29uCisrICAgICAgICAgIHRyOiBUw7xya8OnZSAvIFR1 cmtpc2gKKysgICAgICAgICAgdHQ6INCi0LDRgtCw0YDRh9CwIC8gVGF0YXIKKysgICAgICAgICAg dWs6INCj0LrRgNCw0ZfQvdGB0YzQutCwIC8gVWtyYWluaWFuCisrICAgICAgICAgIHVyOiDYp9ix 2K/ZiCAvIFVyZHUKKysgICAgICAgICAgdXo6INCj0LfQsdC10LrRh9CwIC8gVXpiZWsKKysgICAg ICAgICAgdmk6IFRp4bq/bmcgVmnhu4d0IC8gVmlldG5hbWVzZQorKyAgICAgICAgICB6aC1DTjog 566A5L2T5Lit5paHIC8gQ2hpbmVzZSBzaW1wbGlmaWVkCisrICAgICAgICAgIHpoLVRXOiDnuYHp q5TkuK3mlocgLyBDaGluZXNlIHRyYWRpdGlvbmFsCisgICAgICAgICAiIiIKKyAgICAgQnV0IHRo ZSBjb21tYW5kIG91dHB1dCBzaG91bGQgbm90IGNvbnRhaW4gIlRyYWNlYmFjayIKK2RpZmYgLS1n aXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMDkuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lz c3VlMDMwOS5mZWF0dXJlCitpbmRleCBjOGE4ODU3Li5iNTBlMzJkIDEwMDY0NAorLS0tIGEvaXNz dWUuZmVhdHVyZXMvaXNzdWUwMzA5LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDMwOS5mZWF0dXJlCitAQCAtNTIsOCArNTIsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzA5IC0tIGJl aGF2ZSAtLWxhbmctbGlzdCBmYWlscyBvbiBQeXRob24zCisgICAgICAgICAiIiIKKyAgICAgICAg IHN2OiBTdmVuc2thIC8gU3dlZGlzaAorICAgICAgICAgdGE6IOCupOCuruCuv+CutOCvjSAvIFRh bWlsCisrICAgICAgICB0ZTog4LCk4LGG4LCy4LGB4LCX4LGBIC8gVGVsdWd1CisgICAgICAgICB0 aDog4LmE4LiX4LiiIC8gVGhhaQorLSAgICAgICAgdGw6IOCwpOCxhuCwsuCxgeCwl+CxgSAvIFRl bHVndQorICAgICAgICAgdGxoOiB0bGhJbmdhbiAvIEtsaW5nb24KKyAgICAgICAgIHRyOiBUw7xy a8OnZSAvIFR1cmtpc2gKKyAgICAgICAgIHR0OiDQotCw0YLQsNGA0YfQsCAvIFRhdGFyCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2ggYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE1LVVQ REFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44Zjk4NWJkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE1LVVQ REFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2gKQEAgLTAsMCArMSwy MiBAQAorRnJvbSBmZWQyNmEwMDFhODhlZDYyOWVmY2NiNWZmNjg1MmE1ODhlNWFhNjM4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEyIEphbiAyMDIxIDEzOjQwOjU4ICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdIFVQREFURSBDSEFOR0VTOiBSZWxhdGVkIHRvIFBSICM4OTUgYW5kICM4MjcK KworLS0tCisgQ0hBTkdFUy5yc3QgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggYTMz OThkOC4uZmY4MjEzMiAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJz dAorQEAgLTI4LDYgKzI4LDggQEAgRU5IQU5DRU1FTlRTOgorICogVXNlIGN1Y3VtYmVyICJnaGVy a2luLWxhbmd1YWdlcy5qc29uIiBub3cgKHNpbXBsaWZ5OiBHaGVya2luIHY2IGFsaWFzZXMsIGxh bmd1YWdlIHVzYWdlKQorICogU3VwcG9ydCBlbW9qaXMgaW4gYGAqLmZlYXR1cmVgYCBmaWxlcyBh bmQgc3RlcHMKKyAqIFNlbGVjdC1ieS1sb2NhdGlvbjogQWRkIHN1cHBvcnQgZm9yICJTY2VuYXJp byBjb250YWluZXIiIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpIChyZWxhdGVkIHRv OiAjMzkxKQorKyogcHVsbCAgIzg5NTogVVBEQVRFOiBpMThuL2doZXJraW4tbGFuZ3VhZ2VzLmpz b24gZnJvbSBjdWN1bWJlciByZXBvc2l0b3J5ICM4OTUgKHJlbGF0ZWQgdG86ICM4MjcpCisrKiBw dWxsICAjODI3OiBGaXhlZCBrZXl3b3JkIHRyYW5zbGF0aW9uIGluIEVzdG9uaWFuICM4MjcgKHBy b3ZpZGVkIGJ5OiBvb2t1bGwpCisgKiBpc3N1ZSAjNzQwOiBFbmhhbmNlbWVudDogcG9zc2liaWxp dHkgdG8gYWRkIGNsZWFudXAgdG8gYmUgY2FsbGVkIHVwb24gbGVhdmluZyBvdXRlciBjb250ZXh0 IHN0YWNrIGZyYW1lcyAoc3VibWl0dGVkIGJ5OiBuaXp3aXosIGRjdm1vb2xlKQorICogaXNzdWUg IzY3ODogU2NlbmFyaW8gT3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGggY29tbWFzIGFuZCBzZW1p Y29sb25zIChwcm92aWRlZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3OSkKKyAqIGlzc3Vl ICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVj dG9yaWVzIChwcm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTYtRklY LUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIuNy1idWlsZHMtbW9jay00LjAtb25seS1mby5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTYt RklYLUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIuNy1idWlsZHMtbW9jay00LjAtb25seS1mby5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjY3YWI0YTJjZAotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAxMTYtRklYLUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIuNy1idWlsZHMtbW9jay00LjAt b25seS1mby5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDNhZGQ0NTgxNGYzYTIxMjU0OTM2 NTg3NDRmZmEyOGNiODU4Mzk4ZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMTIgSmFu IDIwMjEgMTM6NTE6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYIENJLVRSQVZJUzogRm9y IHB5dGhvbiAyLjcgYnVpbGRzIChtb2NrID49IDQuMCBvbmx5IGZvcgorIHB5dGhvbi52ZXJzaW9u ID49IDMuNikKKworLS0tCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgfCAzICsrLQor IHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVp cmVtZW50cy9jaS50cmF2aXMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK2lu ZGV4IGNiYzYwYzAuLjFkNmUwNTAgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvY2kudHJh dmlzLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK0BAIC02LDcgKzYs OCBAQCBweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIHB5dGVzdCA+PSA1 LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wLDwy LjAKKy1tb2NrICA+PSAyLjAKKyttb2NrICA8ICA0LjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMu NicKKyttb2NrICA+PSA0LjA7ICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNicKKyBQeUhhbWNyZXN0 ID49IDIuMC4yOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIFB5SGFtY3Jlc3QgPCAgMi4wOyAg IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCisgCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitpbmRleCBmYzhmZDgy Li45MjMwYzFmIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysg Yi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK0BAIC04LDcgKzgsOCBAQCBweXRlc3QgPCAg NS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJyAjIHB5dGVzdCA+PSA0LjIKKyBweXRlc3QgPj0g NS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIAorIHB5dGVzdC1odG1sID49IDEuMTkuMCw8 Mi4wCistbW9jayAgPj0gMi4wCisrbW9jayAgPCAgNC4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICcz LjYnCisrbW9jayAgPj0gNC4wOyAgIHB5dGhvbl92ZXJzaW9uID49ICczLjYnCisgUHlIYW1jcmVz dCA+PSAyLjAuMjsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBQeUhhbWNyZXN0IDwgIDIuMDsg ICBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNy1BZGRzLXRoZS1hYmlsaXR5 LXRvLXVzZS1hLWN1c3RvbS1ydW5uZXItaW4tdGhlLWJlaGF2LnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNy1BZGRzLXRoZS1hYmls aXR5LXRvLXVzZS1hLWN1c3RvbS1ydW5uZXItaW4tdGhlLWJlaGF2LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uODc2NzE2N2U3Ci0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNy1B ZGRzLXRoZS1hYmlsaXR5LXRvLXVzZS1hLWN1c3RvbS1ydW5uZXItaW4tdGhlLWJlaGF2LnBhdGNo CkBAIC0wLDAgKzEsMTI2IEBACitGcm9tIDMxNzZlMTcwNzI2N2RmMWM1YzQ0MjRjM2M3YTU5MWQ2 NjQ0NGM5NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBraW5nYnV6em1hbiA8YnV6 emkuamF2aWVyQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTkgSnVuIDIwMjAgMDk6MTg6NTEgLTA0 MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkcyB0aGUgYWJpbGl0eSB0byB1c2UgYSBjdXN0b20gcnVu bmVyIGluIHRoZSBiZWhhdmUgY29tbWFuZAorCistLS0KKyBiZWhhdmUvX19tYWluX18ucHkgICAg ICAgICAgICAgICB8ICAyICstCisgYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgICAgICAgICAgfCAx NiArKysrKysrKysrKysrKysrCisgZG9jcy9iZWhhdmUucnN0ICAgICAgICAgICAgICAgICAgfCAg NSArKysrKworIHRlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0aW9uLnB5IHwgMTkgKysrKysrKysr KysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL19fbWFpbl9fLnB5IGIvYmVoYXZlL19fbWFpbl9f LnB5CitpbmRleCAzY2FlMzZkLi5lZGI5OWM0IDEwMDY0NAorLS0tIGEvYmVoYXZlL19fbWFpbl9f LnB5CisrKysgYi9iZWhhdmUvX19tYWluX18ucHkKK0BAIC0yMTUsNyArMjE1LDcgQEAgZGVmIG1h aW4oYXJncz1Ob25lKToKKyAgICAgOnJldHVybjogMCwgaWYgc3VjY2Vzc2Z1bC4gTm9uLXplcm8s IGluIGNhc2Ugb2YgZXJyb3JzL2ZhaWx1cmVzLgorICAgICAiIiIKKyAgICAgY29uZmlnID0gQ29u ZmlndXJhdGlvbihhcmdzKQorLSAgICByZXR1cm4gcnVuX2JlaGF2ZShjb25maWcpCisrICAgIHJl dHVybiBydW5fYmVoYXZlKGNvbmZpZywgcnVubmVyX2NsYXNzPWNvbmZpZy5ydW5uZXJfY2xhc3Mp CisgCisgCisgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKK2RpZmYgLS1naXQgYS9iZWhhdmUv Y29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCA2NWUyZTNl Li4wNGMwMTRhIDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2Jl aGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtOCw2ICs4LDcgQEAgaW1wb3J0IHJlCisgaW1wb3J0 IHN5cworIGltcG9ydCBzaGxleAorIGltcG9ydCBzaXgKKytmcm9tIGltcG9ydGxpYiBpbXBvcnQg aW1wb3J0X21vZHVsZQorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCBjb25maWdwYXJzZXIKKyAKKyBm cm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgU2NlbmFyaW9PdXRsaW5lCitAQCAtNjUsNiArNjYsMTYg QEAgY2xhc3MgTG9nTGV2ZWwob2JqZWN0KToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBD T05GSUdVUkFUSU9OIFNDSEVNQToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrZGVmIHZh bGlkX3B5dGhvbl9tb2R1bGUocGF0aCk6CisrICAgIHRyeToKKysgICAgICAgIG1vZHVsZV9wYXRo LCBjbGFzc19uYW1lID0gcGF0aC5yc3BsaXQoJy4nLCAxKQorKyAgICAgICAgbW9kdWxlID0gaW1w b3J0X21vZHVsZShtb2R1bGVfcGF0aCkKKysgICAgICAgIHJldHVybiBnZXRhdHRyKG1vZHVsZSwg Y2xhc3NfbmFtZSkKKysgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBBdHRyaWJ1dGVFcnJvciwgSW1w b3J0RXJyb3IpOgorKyAgICAgICAgcmFpc2UgYXJncGFyc2UuQXJndW1lbnRUeXBlRXJyb3IoIk5v IG1vZHVsZSBuYW1lZCAnJXMnIHdhcyBmb3VuZC4iICUgcGF0aCkKKysKKysKKyBvcHRpb25zID0g WworICAgICAoKCItYyIsICItLW5vLWNvbG9yIiksCisgICAgICBkaWN0KGFjdGlvbj0ic3RvcmVf ZmFsc2UiLCBkZXN0PSJjb2xvciIsCitAQCAtMTExLDYgKzEyMiwxMSBAQCBvcHRpb25zID0gWwor ICAgICAgZGljdChtZXRhdmFyPSJQQVRIIiwgZGVzdD0ianVuaXRfZGlyZWN0b3J5IiwKKyAgICAg ICAgICAgZGVmYXVsdD0icmVwb3J0cyIsCisgICAgICAgICAgIGhlbHA9IiIiRGlyZWN0b3J5IGlu IHdoaWNoIHRvIHN0b3JlIEpVbml0IHJlcG9ydHMuIiIiKSksCisrICAgIAorKyAgICAoKCItLXJ1 bm5lci1jbGFzcyIsKSwKKysgICAgIGRpY3QoYWN0aW9uPSJzdG9yZSIsCisrICAgICAgICAgIGRl ZmF1bHQ9ImJlaGF2ZS5ydW5uZXIuUnVubmVyIiwgdHlwZT12YWxpZF9weXRob25fbW9kdWxlLAor KyAgICAgICAgICBoZWxwPSJUZWxscyBCZWhhdmUgdG8gdXNlIGEgc3BlY2lmaWMgcnVubmVyLiAo ZGVmYXVsdDogJShkZWZhdWx0KXMpIikpLAorIAorICAgICAoKCksICAjIC0tIENPTkZJR0ZJTEUg b25seQorICAgICAgZGljdChkZXN0PSJkZWZhdWx0X2Zvcm1hdCIsCitkaWZmIC0tZ2l0IGEvZG9j cy9iZWhhdmUucnN0IGIvZG9jcy9iZWhhdmUucnN0CitpbmRleCAyNWNlNTIzLi44YzFjMTI1IDEw MDY0NAorLS0tIGEvZG9jcy9iZWhhdmUucnN0CisrKysgYi9kb2NzL2JlaGF2ZS5yc3QKK0BAIC01 NSw2ICs1NSwxMSBAQCBZb3UgbWF5IHNlZSB0aGUgc2FtZSBpbmZvcm1hdGlvbiBwcmVzZW50ZWQg YmVsb3cgYXQgYW55IHRpbWUgdXNpbmcgYGBiZWhhdmUKKyAKKyAgICAgRGlyZWN0b3J5IGluIHdo aWNoIHRvIHN0b3JlIEpVbml0IHJlcG9ydHMuCisgCisrLi4gb3B0aW9uOjogLS1ydW5uZXItY2xh c3MKKysKKysgICAgVGhpcyBhbGxvd3MgeW91IHRvIHVzZSB5b3VyIG93biBjdXN0b20gcnVubmVy LiBUaGUgZGVmYXVsdCBpcyAKKysgICAgYGBiZWhhdmUucnVubmVyLlJ1bm5lcmBgLgorKworIC4u IG9wdGlvbjo6IC1mLCAtLWZvcm1hdAorIAorICAgICBTcGVjaWZ5IGEgZm9ybWF0dGVyLiBJZiBu b25lIGlzIHNwZWNpZmllZCB0aGUgZGVmYXVsdCBmb3JtYXR0ZXIgaXMKK2RpZmYgLS1naXQgYS90 ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlvbi5weSBiL3Rlc3RzL3VuaXQvdGVzdF9jb25maWd1 cmF0aW9uLnB5CitpbmRleCBjOTZjZjYzLi4wMjVhNmQwIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5p dC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0 aW9uLnB5CitAQCAtNSw2ICs1LDcgQEAgaW1wb3J0IHNpeAorIGltcG9ydCBweXRlc3QKKyBmcm9t IGJlaGF2ZSBpbXBvcnQgY29uZmlndXJhdGlvbgorIGZyb20gYmVoYXZlLmNvbmZpZ3VyYXRpb24g aW1wb3J0IENvbmZpZ3VyYXRpb24sIFVzZXJEYXRhCisrZnJvbSBiZWhhdmUucnVubmVyIGltcG9y dCBSdW5uZXIgYXMgQmFzZVJ1bm5lcgorIGZyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlCisg CisgCitAQCAtMzcsNiArMzgsMTAgQEAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoIndpbiIp OgorICAgICBST09URElSX1BSRUZJWCA9IG9zLmVudmlyb24uZ2V0KCJCRUhBVkVfUk9PVERJUl9Q UkVGSVgiLCBST09URElSX1BSRUZJWF9ERUZBVUxUKQorIAorIAorK2NsYXNzIEN1c3RvbVRlc3RS dW5uZXIoQmFzZVJ1bm5lcik6CisrICAgICIiIkN1c3RvbSwgZHVtbXkgcnVubmVyIiIiCisrCisr CisgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb24ob2JqZWN0KToKKyAKKyAgICAgZGVmIHRlc3RfcmVh ZF9maWxlKHNlbGYpOgorQEAgLTkyLDYgKzk3LDIwIEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9u KG9iamVjdCk6CisgICAgICAgICBhc3NlcnQgIlNUQUdFMl9lbnZpcm9ubWVudC5weSIgPT0gY29u ZmlnLmVudmlyb25tZW50X2ZpbGUKKyAgICAgICAgIGRlbCBvcy5lbnZpcm9uWyJCRUhBVkVfU1RB R0UiXQorIAorKyAgICBkZWYgdGVzdF9zZXR0aW5nc19ydW5uZXJfY2xhc3Moc2VsZiwgY2Fwc3lz KToKKysgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIiIpCisrICAgICAgICBhc3NlcnQg QmFzZVJ1bm5lciA9PSBjb25maWcucnVubmVyX2NsYXNzCisrCisrICAgIGRlZiB0ZXN0X3NldHRp bmdzX3J1bm5lcl9jbGFzc19jdXN0b20oc2VsZiwgY2Fwc3lzKToKKysgICAgICAgIGNvbmZpZyA9 IENvbmZpZ3VyYXRpb24oWyItLXJ1bm5lci1jbGFzcz10ZXN0cy51bml0LnRlc3RfY29uZmlndXJh dGlvbi5DdXN0b21UZXN0UnVubmVyIl0pCisrICAgICAgICBhc3NlcnQgQ3VzdG9tVGVzdFJ1bm5l ciA9PSBjb25maWcucnVubmVyX2NsYXNzCisrCisrICAgIGRlZiB0ZXN0X3NldHRpbmdzX3J1bm5l cl9jbGFzc19pbnZhbGlkKHNlbGYsIGNhcHN5cyk6CisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlz ZXMoU3lzdGVtRXhpdCk6CisrICAgICAgICAgICAgQ29uZmlndXJhdGlvbihbIi0tcnVubmVyLWNs YXNzPWRvZXMubm90LmV4aXN0LlJ1bm5lciJdKQorKyAgICAgICAgY2FwdHVyZWQgPSBjYXBzeXMu cmVhZG91dGVycigpCisrICAgICAgICBhc3NlcnQgIk5vIG1vZHVsZSBuYW1lZCAnZG9lcy5ub3Qu ZXhpc3QuUnVubmVyJyB3YXMgZm91bmQuIiBpbiBjYXB0dXJlZC5lcnIKKysKKyAKKyBjbGFzcyBU ZXN0Q29uZmlndXJhdGlvblVzZXJEYXRhKFRlc3RDYXNlKToKKyAgICAgIiIiVGVzdCB1c2VyZGF0 YSBhc3BlY3RzIGluIGJlaGF2ZS5jb25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb24gY2xhc3MuIiIi CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTE4LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4 LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41MzEzYTFiMjQKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE4LUFs bG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1hbHdheXMucGF0Y2gKQEAgLTAsMCArMSw1OSBA QAorRnJvbSBlZTY3MGYzOGQ2MDQzY2Y5NDkxNmZlODk1ZjI5NzM4ZDY1MjZmYjQwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyYyBBYnJhbW93aXR6IDxhYnJhbW93aUBhZG9iZS5j b20+CitEYXRlOiBUaHUsIDMgQXVnIDIwMTcgMDc6Mjk6MzggLTA3MDAKK1N1YmplY3Q6IFtQQVRD SF0gQWxsb3cgZm9yY2luZyBjb2xvciB3aXRoIC0tY29sb3I9YWx3YXlzCisKK2V2ZW4gaWYgc3Rk b3V0IGlzIG5vdCBhIHR0eSAoZS5nLjogSmVua2lucykKKy0tLQorIGJlaGF2ZS9jb25maWd1cmF0 aW9uLnB5ICAgIHwgIDcgKysrKy0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5IHwgMTIg KysrKysrKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUv Y29uZmlndXJhdGlvbi5weQoraW5kZXggMDRjMDE0YS4uMWIwYmMyYiAxMDA2NDQKKy0tLSBhL2Jl aGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAg LTgyLDkgKzgyLDEwIEBAIG9wdGlvbnMgPSBbCisgICAgICAgICAgIGhlbHA9IkRpc2FibGUgdGhl IHVzZSBvZiBBTlNJIGNvbG9yIGVzY2FwZXMuIikpLAorIAorICAgICAoKCItLWNvbG9yIiwpLAor LSAgICAgZGljdChhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJjb2xvciIsCistICAgICAgICAg IGhlbHA9IiIiVXNlIEFOU0kgY29sb3IgZXNjYXBlcy4gVGhpcyBpcyB0aGUgZGVmYXVsdAorLSAg ICAgICAgICAgICAgICAgIGJlaGF2aW91ci4gVGhpcyBzd2l0Y2ggaXMgdXNlZCB0byBvdmVycmlk ZSBhCisrICAgICBkaWN0KGRlc3Q9ImNvbG9yIiwgY2hvaWNlcz1bIm5ldmVyIiwgImFsd2F5cyIs ICJhdXRvIl0sCisrICAgICAgICAgIGRlZmF1bHQ9ImF1dG8iLCBjb25zdD0iYXV0byIsIG5hcmdz PSI/IiwKKysgICAgICAgICAgaGVscD0iIiJVc2UgQU5TSSBjb2xvciBlc2NhcGVzLiBEZWZhdWx0 cyB0byAlKGNvbnN0KXIuCisrICAgICAgICAgICAgICAgICAgVGhpcyBzd2l0Y2ggaXMgdXNlZCB0 byBvdmVycmlkZSBhCisgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBmaWxlIHNldHRp bmcuIiIiKSksCisgCisgICAgICgoIi1kIiwgIi0tZHJ5LXJ1biIpLAorZGlmZiAtLWdpdCBhL2Jl aGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKK2lu ZGV4IDc5NGUxZDcuLmI5NzQzOGEgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL3ByZXR0 eS5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKK0BAIC02Niw5ICs2Niw3IEBA IGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgc3VwZXIoUHJldHR5 Rm9ybWF0dGVyLCBzZWxmKS5fX2luaXRfXyhzdHJlYW1fb3BlbmVyLCBjb25maWcpCisgICAgICAg ICAjIC0tIEVOU1VSRTogT3V0cHV0IHN0cmVhbSBpcyBvcGVuLgorICAgICAgICAgc2VsZi5zdHJl YW0gPSBzZWxmLm9wZW4oKQorLSAgICAgICAgaXNhdHR5ID0gZ2V0YXR0cihzZWxmLnN0cmVhbSwg ImlzYXR0eSIsIGxhbWJkYTogVHJ1ZSkKKy0gICAgICAgIHN0cmVhbV9zdXBwb3J0c19jb2xvcnMg PSBpc2F0dHkoKQorLSAgICAgICAgc2VsZi5tb25vY2hyb21lID0gbm90IGNvbmZpZy5jb2xvciBv ciBub3Qgc3RyZWFtX3N1cHBvcnRzX2NvbG9ycworKyAgICAgICAgc2VsZi5tb25vY2hyb21lID0g c2VsZi5fZ2V0X21vbm9jaHJvbWUoY29uZmlnKQorICAgICAgICAgc2VsZi5zaG93X3NvdXJjZSA9 IGNvbmZpZy5zaG93X3NvdXJjZQorICAgICAgICAgc2VsZi5zaG93X3RpbWluZ3MgPSBjb25maWcu c2hvd190aW1pbmdzCisgICAgICAgICBzZWxmLnNob3dfbXVsdGlsaW5lID0gY29uZmlnLnNob3df bXVsdGlsaW5lCitAQCAtODMsNiArODEsMTQgQEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1h dHRlcik6CisgICAgICAgICBzZWxmLmluZGVudGF0aW9ucyA9IFtdCisgICAgICAgICBzZWxmLnN0 ZXBfbGluZXMgPSAwCisgCisrICAgIGRlZiBfZ2V0X21vbm9jaHJvbWUoc2VsZiwgY29uZmlnKToK KysgICAgICAgIGlzYXR0eSA9IGdldGF0dHIoc2VsZi5zdHJlYW0sICJpc2F0dHkiLCBsYW1iZGE6 IFRydWUpCisrICAgICAgICBpZiBjb25maWcuY29sb3IgPT0gJ2Fsd2F5cyc6CisrICAgICAgICAg ICAgcmV0dXJuIEZhbHNlCisrICAgICAgICBlbGlmIGNvbmZpZy5jb2xvciA9PSAnbmV2ZXInOgor KyAgICAgICAgICAgIHJldHVybiBUcnVlCisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIHJl dHVybiBub3QgaXNhdHR5KCkKKyAKKyAgICAgZGVmIHJlc2V0KHNlbGYpOgorICAgICAgICAgIyAt LSBVTlVTRUQ6IHNlbGYudGFnX3N0YXRlbWVudCA9IE5vbmUKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTktQWxsb3ctY29s b3Itd2l0aC1uby12YWx1ZS1mb2xsb3dlZC1ieS1wb3NhcmcucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE5LUFsbG93LWNvbG9yLXdp dGgtbm8tdmFsdWUtZm9sbG93ZWQtYnktcG9zYXJnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uYmI3ZWRjODRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOS1BbGxvdy1jb2xv ci13aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5wYXRjaApAQCAtMCwwICsxLDQzIEBA CitGcm9tIDIyNWFlM2FhMTEzNTg0ZDI2NTc5Y2UwYjM1MzdhOGZlYzZlYTg3MGEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJjIEFicmFtb3dpdHogPGFicmFtb3dpQGFkb2JlLmNv bT4KK0RhdGU6IFRodSwgMyBBdWcgMjAxNyAwOToxMToyMiAtMDcwMAorU3ViamVjdDogW1BBVENI XSBBbGxvdyAtLWNvbG9yIHdpdGggbm8gdmFsdWUgZm9sbG93ZWQgYnkgcG9zYXJnCisKK0FsbG93 IGNvbW1hbmRzIGxpa2UgYC0tY29sb3IgZmVhdHVyZXMvd2hpemJhbmcuZmVhdHVyZWAgdG8gd29y aworV2l0aG91dCB0aGlzLCBhcmdwYXJzZSB3aWxsIHRyZWF0IHRoZSBwb3NpdGlvbmFsIGFyZyBh cyB0aGUgdmFsdWUgdG8KKy0tY29sb3IgYW5kIHdlJ2QgZ2V0OgorICBhcmd1bWVudCAtLWNvbG9y OiBpbnZhbGlkIGNob2ljZTogJ2ZlYXR1cmVzL3doaXpiYW5nLmZlYXR1cmUnCistLS0KKyBiZWhh dmUvY29uZmlndXJhdGlvbi5weSB8IDEyICsrKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29u ZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCAxYjBiYzJiLi4w ZmRmZDVlIDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2 ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtODMsNyArODMsNyBAQCBvcHRpb25zID0gWworIAorICAg ICAoKCItLWNvbG9yIiwpLAorICAgICAgZGljdChkZXN0PSJjb2xvciIsIGNob2ljZXM9WyJuZXZl ciIsICJhbHdheXMiLCAiYXV0byJdLAorLSAgICAgICAgICBkZWZhdWx0PSJhdXRvIiwgY29uc3Q9 ImF1dG8iLCBuYXJncz0iPyIsCisrICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgY29uc3Q9ImF1dG8i LCBuYXJncz0iPyIsCisgICAgICAgICAgIGhlbHA9IiIiVXNlIEFOU0kgY29sb3IgZXNjYXBlcy4g RGVmYXVsdHMgdG8gJShjb25zdClyLgorICAgICAgICAgICAgICAgICAgIFRoaXMgc3dpdGNoIGlz IHVzZWQgdG8gb3ZlcnJpZGUgYQorICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZmls ZSBzZXR0aW5nLiIiIikpLAorQEAgLTU2Miw2ICs1NjIsMTYgQEAgY2xhc3MgQ29uZmlndXJhdGlv bihvYmplY3QpOgorICAgICAgICAgICAgICMgLS0gQVVUTy1ESVNDT1ZFUjogVmVyYm9zZSBtb2Rl IGZyb20gY29tbWFuZC1saW5lIGFyZ3MuCisgICAgICAgICAgICAgdmVyYm9zZSA9ICgiLXYiIGlu IGNvbW1hbmRfYXJncykgb3IgKCItLXZlcmJvc2UiIGluIGNvbW1hbmRfYXJncykKKyAKKysgICAg ICAgICMgQWxsb3cgY29tbWFuZHMgbGlrZSBgLS1jb2xvciBmZWF0dXJlcy93aGl6YmFuZy5mZWF0 dXJlYCB0byB3b3JrCisrICAgICAgICAjIFdpdGhvdXQgdGhpcywgYXJncGFyc2Ugd2lsbCB0cmVh dCB0aGUgcG9zaXRpb25hbCBhcmcgYXMgdGhlIHZhbHVlIHRvCisrICAgICAgICAjIC0tY29sb3Ig YW5kIHdlJ2QgZ2V0OgorKyAgICAgICAgIyAgIGFyZ3VtZW50IC0tY29sb3I6IGludmFsaWQgY2hv aWNlOiAnZmVhdHVyZXMvd2hpemJhbmcuZmVhdHVyZScKKysgICAgICAgICMgICAoY2hvb3NlIGZy b20gJ25ldmVyJywgJ2Fsd2F5cycsICdhdXRvJykKKysgICAgICAgIGlmICctLWNvbG9yJyBpbiBj b21tYW5kX2FyZ3M6CisrICAgICAgICAgICAgY29sb3JfYXJnX3BvcyA9IGNvbW1hbmRfYXJncy5p bmRleCgnLS1jb2xvcicpCisrICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoY29tbWFuZF9h cmdzW2NvbG9yX2FyZ19wb3MgKyAxXSk6CisrICAgICAgICAgICAgICAgIGNvbW1hbmRfYXJncy5p bnNlcnQoY29sb3JfYXJnX3BvcyArIDEsICctLScpCisrCisgICAgICAgICBzZWxmLnZlcnNpb24g PSBOb25lCisgICAgICAgICBzZWxmLnRhZ3NfaGVscCA9IE5vbmUKKyAgICAgICAgIHNlbGYubGFu Z19saXN0ID0gTm9uZQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMC1BZGQtQkVIQVZFX0NPTE9SLWVudi12YXIucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIw LUFkZC1CRUhBVkVfQ09MT1ItZW52LXZhci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmQ3M2I2OWQ1NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjAtQWRkLUJFSEFWRV9DT0xP Ui1lbnYtdmFyLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMWEwM2IxZDI2MTU2MWIzOWE1 NmJkODFiMWZkMGE4MzdiOGEyZmZmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1h cmMgQWJyYW1vd2l0eiA8YWJyYW1vd2lAYWRvYmUuY29tPgorRGF0ZTogVGh1LCAzIEF1ZyAyMDE3 IDEzOjI5OjU1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBCRUhBVkVfQ09MT1IgZW52IHZh cgorCistLS0KKyBiZWhhdmUvY29uZmlndXJhdGlvbi5weSB8IDQgKystLQorIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhh dmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCAwZmRm ZDVlLi5lN2QzODVkIDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBi L2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtODMsNyArODMsNyBAQCBvcHRpb25zID0gWwor IAorICAgICAoKCItLWNvbG9yIiwpLAorICAgICAgZGljdChkZXN0PSJjb2xvciIsIGNob2ljZXM9 WyJuZXZlciIsICJhbHdheXMiLCAiYXV0byJdLAorLSAgICAgICAgICBkZWZhdWx0PU5vbmUsIGNv bnN0PSJhdXRvIiwgbmFyZ3M9Ij8iLAorKyAgICAgICAgICBkZWZhdWx0PW9zLmdldGVudignQkVI QVZFX0NPTE9SJyksIGNvbnN0PSJhdXRvIiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICBoZWxwPSIi IlVzZSBBTlNJIGNvbG9yIGVzY2FwZXMuIERlZmF1bHRzIHRvICUoY29uc3Qpci4KKyAgICAgICAg ICAgICAgICAgICBUaGlzIHN3aXRjaCBpcyB1c2VkIHRvIG92ZXJyaWRlIGEKKyAgICAgICAgICAg ICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUgc2V0dGluZy4iIiIpKSwKK0BAIC01MDcsNyArNTA3 LDcgQEAgY2xhc3MgQ29uZmlndXJhdGlvbihvYmplY3QpOgorICAgICAiIiJDb25maWd1cmF0aW9u IG9iamVjdCBmb3IgYmVoYXZlIGFuZCBiZWhhdmUgcnVubmVycy4iIiIKKyAgICAgIyBweWxpbnQ6 IGRpc2FibGU9dG9vLW1hbnktaW5zdGFuY2UtYXR0cmlidXRlcworICAgICBkZWZhdWx0cyA9IGRp Y3QoCistICAgICAgICBjb2xvcj1zeXMucGxhdGZvcm0gIT0gIndpbjMyIiwKKysgICAgICAgIGNv bG9yPSduZXZlcicgaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIgZWxzZSBvcy5nZXRlbnYoJ0JF SEFWRV9DT0xPUicsICdhdXRvJyksCisgICAgICAgICBzaG93X3NuaXBwZXRzPVRydWUsCisgICAg ICAgICBzaG93X3NraXBwZWQ9VHJ1ZSwKKyAgICAgICAgIGRyeV9ydW49RmFsc2UsCmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93cy13YXJuaW5nLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMS1maXgtbWFsZm9ybWVk LXRhYmxlLXJvd3Mtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmIyYmRjOTQ1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjEtZml4LW1hbGZvcm1lZC10YWJsZS1y b3dzLXdhcm5pbmcucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA3OWRhM2M3YTA1MWUyYzAz NDNmNWM3YWZmZWI5MDQ3YjRiNWQ2NWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog PT9VVEYtOD9xP1BhYmxvPTIwRG9tPUMzPUFEbmd1ZXo/PQorIDxwYWJsby5kb21pbmd1ZXpzYW50 YW5hQHRlbGVmb25pY2EuY29tPgorRGF0ZTogVGh1LCA5IFNlcCAyMDIxIDEyOjE5OjIxICswMjAw CitTdWJqZWN0OiBbUEFUQ0hdIGZpeDogbWFsZm9ybWVkIHRhYmxlIHJvd3Mgd2FybmluZworCist LS0KKyBiZWhhdmUvcGFyc2VyLnB5IHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2Vy dGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9wYXJzZXIucHkgYi9iZWhhdmUvcGFyc2Vy LnB5CitpbmRleCA1OGM2OGJlLi5iNzFhZGZlIDEwMDY0NAorLS0tIGEvYmVoYXZlL3BhcnNlci5w eQorKysrIGIvYmVoYXZlL3BhcnNlci5weQorQEAgLTQxLDYgKzQxLDcgQEAgS2V5d29yZCBhbGlh c2VzOgorICMgcHlsaW50OiBlbmFibGU9bGluZS10b28tbG9uZworIAorIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3aXRoX3N0YXRlbWVudAorK2ltcG9ydCBsb2dnaW5n CisgaW1wb3J0IHJlCisgaW1wb3J0IHN5cworIGltcG9ydCBzaXgKK0BAIC02NDQsNiArNjQ1LDEw IEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSAic3Rl cHMiCisgICAgICAgICAgICAgcmV0dXJuIHNlbGYuYWN0aW9uX3N0ZXBzKGxpbmUpCisgCisrICAg ICAgICBpZiBub3QgcmUubWF0Y2gociJeKHwuKylcfCQiLCBsaW5lKToKKysgICAgICAgICAgICBs b2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiYmVoYXZlIikKKysgICAgICAgICAgICBsb2dnZXIu d2FybmluZyh1Ik1hbGZvcm1lZCB0YWJsZSByb3cgYXQgJXM6IGxpbmUgJWkiLCBzZWxmLmZlYXR1 cmUuZmlsZW5hbWUsIHNlbGYubGluZSkKKysKKyAgICAgICAgICMgLS0gU1VQUE9SVDogRXNjYXBl ZC1waXBlKHMpIGluIEdoZXJraW4gY2VsbCB2YWx1ZXMuCisgICAgICAgICAjICAgIFNlYXJjaCBm b3IgcGlwZShzKSB0aGF0IGFyZSBub3QgcHJlY2VlZGVkIHdpdGggYW4gZXNjYXBlIGNoYXIuCisg ICAgICAgICBjZWxscyA9IFtjZWxsLnJlcGxhY2UoIlxcfCIsICJ8Iikuc3RyaXAoKQpkaWZmIC0t Z2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDEyMi1GSVgtOTU1LXNldHVwLVJlbW92ZS1hdHRyaWJ1dGUtdXNlXzJ0bzMucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIyLUZJWC05 NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11c2VfMnRvMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjJmMzBmMTIzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjItRklYLTk1 NS1zZXR1cC1SZW1vdmUtYXR0cmlidXRlLXVzZV8ydG8zLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAK K0Zyb20gZmQ5Yzk4Mjk5YTY1ZDA5ZGFhMDM4ODk5MDQzMDRlMTUxNmI3ZDdlNSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU3VuLCAxMiBTZXAgMjAyMSAxNjowNzozMiArMDIwMAorU3ViamVjdDog W1BBVENIXSBGSVggIzk1NTogc2V0dXA6IFJlbW92ZSBhdHRyaWJ1dGUgJ3VzZV8ydG8zJworCitS RUFTT046CisqIFRoaXMgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQgc2luY2Ugc2V0dXB0b29scyA+ PSB2NTguMC4yICgyMDIxLTA5LTA2KS4KKyogMnRvMyBjb252ZXJzaW9uIHNob3VsZCBub3QgYmUg bmVlZGVkIGFueW1vcmUuCisgIEN1cnJlbnRseSwgY29kZSBzaG91bGQgcnVuIG9uIHB5dGhvbjIg YW5kIHB5dGhvbjMgKGJ5IHVzaW5nIHNpeCwgZXRjLikuCistLS0KKyBzZXR1cC5weSB8IDcgKysr LS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBmZDg5YmRhLi5iYTQwN2Zk IDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMTE4LDggKzExOCw4 IEBAIHNldHVwKAorICAgICAgICAgICAgICJweWxpbnQiLAorICAgICAgICAgXSwKKyAgICAgfSwK Ky0gICAgIyBNQVlCRS1ESVNBQkxFOiB1c2VfMnRvMworLSAgICB1c2VfMnRvMz0gYm9vbChweXRo b25fdmVyc2lvbiA+PSAzLjApLAorKyAgICAjIERJU0FCTEVEOiB1c2VfMnRvMz0gYm9vbChweXRo b25fdmVyc2lvbiA+PSAzLjApLAorKyAgICAjIERFUFJFQ0FURUQgU0lOQ0U6IHNldHVwdG9vbHMg djU4LjAuMiAoMjAyMS0wOS0wNikKKyAgICAgbGljZW5zZT0iQlNEIiwKKyAgICAgY2xhc3NpZmll cnM9WworICAgICAgICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIsCitAQCAtMTI5 LDEyICsxMjksMTEgQEAgc2V0dXAoCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjog UHl0aG9uIDo6IDIiLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6 OiAyLjciLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzIiwK Ky0gICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy4zIiwKKy0gICAg ICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy40IiwKKyAgICAgICAgICJQ cm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy41IiwKKyAgICAgICAgICJQcm9ncmFt bWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy42IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBM YW5ndWFnZSA6OiBQeXRob24gOjogMy43IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFn ZSA6OiBQeXRob24gOjogMy44IiwKKysgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQ eXRob24gOjogMy45IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24g OjogSW1wbGVtZW50YXRpb24gOjogQ1B5dGhvbiIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFu Z3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IEp5dGhvbiIsCisgICAgICAgICAi UHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IFB5UHki LApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEyMy1BZGQtaW5mby1mb3ItZml4ZWQtaXNzdWUtOTU1LnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMy1BZGQtaW5m by1mb3ItZml4ZWQtaXNzdWUtOTU1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uMWJlNzMzNzE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMy1BZGQtaW5mby1mb3ItZml4ZWQt aXNzdWUtOTU1LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb20gN2U0ODU1YmMxYTUxZGFhMTZk OTk3ODk4ZjM0MDMyYjA2MmJmOTdmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAyMCBT ZXAgMjAyMSAxNjoxMzo1OSArMDIwMAorU3ViamVjdDogW1BBVENIXSBBZGQgaW5mbyBmb3IgZml4 ZWQgaXNzdWUgIzk1NQorCistLS0KKyBDSEFOR0VTLnJzdCB8IDEgKworIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJz dAoraW5kZXggZmY4MjEzMi4uODgwZmQ5MSAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysg Yi9DSEFOR0VTLnJzdAorQEAgLTQyLDYgKzQyLDcgQEAgRklYRUQ6CisgCisgKiBGSVhFRDogU29t ZSB0ZXN0cyByZWxhdGVkIHRvIHB5dGhvbjMuOQorICogRklYRUQ6IGFjdGl2ZS10YWcgbG9naWMg aWYgbXVsdGlwbGUgdGFncyB3aXRoIHNhbWUgY2F0ZWdvcnkgZXhpc3RzLgorKyogaXNzdWUgIzk1 NTogc2V0dXA6IFJlbW92ZSBhdHRyaWJ1dGUgJ3VzZV8ydG8zJyAoc3VibWl0dGVkIGJ5OiBrcmlz Z2VzbGluZykKKyAqIGlzc3VlICM3NzI6IFNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcyB3aXRob3V0 IHRhYmxlIChzdWJtaXR0ZWQgYnk6IFRoZS1RQS1HZWVrKQorICogaXNzdWUgIzc1NTogRmFpbHVy ZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6IGhyb25jb2spCisgKiBpc3N1ZSAjNzI1 OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAo c3VibWl0dGVkIGJ5OiBuaXp3aXopCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5iYiBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlXzEuMi42LmJiCmluZGV4IDFkY2M3ZDIx OC4uNzQ1ZDFlMmIyIDEwMDY0NAotLS0gYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5iYgorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5iYgpAQCAtNCw4ICs0LDEzMSBAQCBM SUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VO U0U7bWQ1PWQ5NTA0MzllOGVhNmVkMjMzZTQyODhmNWUxYTQ5YzA2IgogCiBQViAuPSAiK2dpdCR7 U1JDUkVWfSIKLVNSQ1JFViA9ICI5NTIwMTE5Mzc2MDQ2YWVmZjczODA0YjVmMWVhMDVkODdhNjNm MzcwIgotU1JDX1VSSSArPSAiZ2l0Oi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlO2JyYW5jaD1t YXN0ZXI7cHJvdG9jb2w9aHR0cHMiCitTUkNSRVYgPSAiYzBmM2ZhZjQ3ZmYwNWY1NDllYzA0OTU5 OWViMmYyNDA2OWIwZTUxZSIKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUZJWEVTLTcyNS1TY2Vu YXJpb091dGxpbmVCdWlsZGVyLXdhcy1ub3QtY29weWluZy1kZXMucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDAwMi1VUERBVEUtRklYRUQtNzI1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwMDMtQURELVRFU1QtdG8tdmVyaWZ5LXRoYXQtaXNzdWUtNzI1LWlzLWZpeGVkLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAwMDQtRklYLVN1bW1hcnlSZXBvcnRlci1jb3VudHMtY29tcHV0 YXRpb24td2hlbi1SdWxlcy1hci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LVN1bW1h cnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDAwNi1Gb3JtYXR0ZXItQWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0 LWZvci1SdWxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LUJVTVAtVkVSU0lPTi0x LjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgt Q29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwMDktRklYLWZlYXR1cmUucnVuX2l0ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxlLXMucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDAxMC1kb2NzLURpc2FibGUtc3BoaW54LWludGwtc3VwcG9y dC1mb3ItUkVBRFRIRURPQ1MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMS1DbGVhbnVw LURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25zLWluLXJlcXVpcmVtZW50cy5wYXRjaCBcCisgICAg ICAgICAgIGZpbGU6Ly8wMDEyLWRvY3MtY29uZi5weS10d2Vha3MucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDAxMy1GSVgtTWlzc3BlbGxlZC1hZnRlcl9ydWxlLWhvb2std2FzLWFmdGVyX2Fm dGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTQtQWRkLWhpbnRzLW9uLUdoZXJraW4t djYtZ3JhbW1hci1pc3N1ZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNS1SRUFETUUt UmVTVC10d2Vha3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNi1FeGFtcGxlLXVzaW5n LUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE3LVBSRVBB UkUtUHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtcHkz LjgtVHJ5LXRvLWZpeC1sb2dnaW5nLkZvcm1hdHRlci12YWxpZGF0ZS1wcm9ibGVtLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAwMTktdHJhdmlzLmNpLVRlbXBvcmFyaWx5LW1vdmUtcHkzOC1k ZXYtdG8tZnJvbnQtYnVpbGQtZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIwLXRyYXZp cy5jaS1Ud2Vha3MtZm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDAyMS1GSVgtcHkzLjgtbG9nZ2luZy5Gb3JtYXR0ZXIudmFsaWRhdGUtcHJv YmxlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIyLVBSRVBBUkUtRk9SLVB5dGhvbi0z LjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAw MjQtRklYLVdBUk5JTkctUmVsYXRlZC10by1kb2NzdHJpbmctZXhhbXBsZS1hbmQtd2VpcmQtYi5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI1LUZJWC1pbnZhbGlkLWVzY2FwZS1zZXF1ZW5j ZS13YXJuaW5ncy13LXJlZ2V4LXBhdHRlcm4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAy Ni1ERVBSRUNBVElORy1DTEVBTlVQLU1vdmUtZGVwcmVjYXRlZC10YWctbWF0Y2hlci1jbGFzLnBh dGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjctQ29tbWVudC10d2Vha3MucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDAyOC1GSVgtd2FybmluZ3MtcmVsYXRlZC10by1pbnZhbGlkLWVzY2Fw ZXMtaW4tcmVnZXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOS1TdGVwcy1jYXRhbG9n LXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1yZXJ1bi1zZXR0LnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwMzAtQWRkLWZlYXR1cmUtdy1ydWxlcy1hbmQtZmFpbGluZy1zY2VuYXJpb3Mt ZW5hYmxlLXZpYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMxLWV4YW1wbGVzLWdoZXJr aW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDAzMi1BZGQtaW5mby1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDAzMy1Ud2Vhay10ZXN0cy1yZXF1aXJlZC1ieS1weXRlc3QtNS4wLnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwMzQtQ0xFQU5VUC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Yt bm9zZS10by1yZW1vdmUtbm9zZS5pbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LVJF TU9WRS1ERVBFTkRFTkNZLW5vc2UtdG8tYXZvaWQtbm9zZS5pbXBvcnRlci13YXJuaW4ucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDAzNi1GSVgtUmVtb3ZlLXRlc3QtZnJvbS1weXRlc3QtcnVu LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1z dXBwb3J0LWZvci1TY2VuYXJpby1jb250YWluZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8w MDM4LWRvY3MtQWRkLWRlc2NyaXB0aW9uLWZvci1TZWxlY3QtYnktbG9jYXRpb24tZm9yLVNjZW4u cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzOS10ZXN0cy1GaXgtd2FybmluZ3MtZm9yLXB5 dGhvbjMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0MC1Vc2UtY3VjdW1iZXItdGFnLWV4 cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJuaW5ncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDQxLU1FTlRJT04tRU5IQU5DRU1FTlQtU3VwcG9ydC1lbW9qaXMtaW4tZmVhdHVyZS1maWxl cy0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0Mi1GSVgtSW52YWxpZC1lc2NhcGUtY2hh ci1pbi1yZWdleC13LXB5dGhvbjMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0My1FeGFt cGxlLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tNzU2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwNDQtRklYLXB5dGhvbjMuOC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDA0NS1VUERBVEUtTWFyay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDA0Ni1VUERBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFn ZXMuanNvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDQ3LWdoZXJraW4tQWRkaW5nLVJ1 bGUta2V5d29yZC10cmFuc2xhdGlvbi1pbi1wb3J0dWd1ZXMucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDA0OC1Ud2Vha3MtdG8tdXBkYXRlLWdlbmVyYXRlLWZyb20tZ2hlcmtpbi1sYW5ndWFn ZXMuanNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDktRVhBTVBMRS1Ud2Vhay1uYW1p bmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMDUwLUVYQU1QTEUtQ2xlYW51cC1HaGVya2luLXY2LVJFQURNRS5wYXRjaCBcCisgICAg ICAgICAgIGZpbGU6Ly8wMDUxLUltcHJvdmUtc3VwcG9ydC1mb3ItZmVhdHVyZS5iYWNrZ3JvdW5k LWluaGVyaXRhbmNlLWYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1Mi1BZGQtc3VwcG9y dC1mb3ItcnVudGltZS1jb25zdHJhaW50cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDUz LVVzZS1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNTQt Q0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDU1LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA1Ni1tb3JlLmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNr cy1hbmQtcnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNTctVVRJTC1Db3JyZWN0LVVS TC1hbmQtcHl0aG9uLW1vZHVsZS1vbGQtd2FzLWJyb2tlbi1uby5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMDU4LVVUSUwtRm9ybWF0dGluZy10d2Vha3MucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDA1OS1GaXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJl dHVybi10LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNjAtQWRkZWQtaXNzdWUtdW5pdC10 ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2 Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDYyLUNIRUNL LUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXItVW5pY29kZUVycm9yLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwNjMtRklYLWlzc3VlLTc3Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBsZXMtd2l0 aG91dC10YWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDY0LUZJWC1pc3N1ZS03NzIt U2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA2NS1OaWJibGUtVHJhdmlzQ0ktdG8td2FrZS11cC5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDY2LVR3ZWFrLXB5dGVzdC12ZXJzaW9uLXNlbGVjdGlvbi5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDY3LVR3ZWFrLXB5dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVu Y2UtSlVuaXQtWE1MLWRpYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA2OC1BZGQtYmFz aWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwNjktVVBEQVRFLWRlcGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0 ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVj YXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDcxLUNMRUFOVVAtQWRkLUNvbnRleHRNb2RlLWVudW0tcmVsYXRlZC10by03OTcucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDA3Mi1DbGVhbnVwLWNvbW1lbnRzLnBhdGNoIFwKKyAgICAg ICAgICAgZmlsZTovLzAwNzMtRklYLXNwaGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBzM3gu cHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNl X2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwNzUtZG9jcy1wYXJzZV9leHByZXNzaW9uLWFkZC1saW5rcy10by1wYXJzZV90eXBlLW1vZHVs ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDc2LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYy LXdhcy0xLjIuNy5kZXYxLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzctR2hlcmtpbi1w YXJzZXItQ2xlYW51cHMtcmVsYXRlZC10by1xdWVzdGlvbi1pbi04MDAtUC5wYXRjaCBcCisgICAg ICAgICAgIGZpbGU6Ly8wMDc4LUNsYXJpZnktc2VsZWN0LWJ5LW5hbWUtdXNlcy1yZWdleC1wYXR0 ZXJuLXJlbGF0ZWQtdG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA3OS1GSVgtQ3Jvc3Mt cmVmZXJlbmNlLXByb2JsZW0tY29weS1wYXN0ZS1pbi1SdWxlLWNsYXNzLnBhdGNoIFwKKyAgICAg ICAgICAgZmlsZTovLzAwODAtRE9DUy1VcGRhdGUtQVBJLWRlc2NyaXB0aW9uLWZvci1SdW5uZXIt T3BlcmF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwODEtRklYLURPQ1MtUnVubmVy LW9wZXJhdGlvbnMtdHlwby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDgyLWlzc3VlLTc0 MC1FbmhhbmNlbWVudC1Db250ZXh0LmFkZF9jbGVhbnVwLXdpdGgtbGF5ZXIucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDA4My1VUERBVEUtcGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEu MTYuMC0uLTEuMTcueC1oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwODQtUkVMQVRFRC1U Ty1EdXBsaWNhdGVkLXN0ZXBzLUFtYmlndW91c1N0ZXBFcnJvcnMucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA4NS1BZGQtcmVub3ZhdGUuanNvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdpdGgtYWRhcHRpb25zLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwODctUGluLWRlcGVuZGVuY2llcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDg4LXJlbm92YXRlLUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDg5LVBJTi1SRVFVSVJFTUVOVFMtRXh0ZW5kLXRvLWFsbC1w bGFjZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5MC10YXNrcy1BZGQtaW52b2tlX2Ns ZWFudXAtcmVwbGFjZXMtX3Rhc2tsZXRfY2xlYW51cC1yLnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwOTEtRG9jcy1jaGFuZ2UtY29kZS1ibG9ja3MtZnJvbS1iYXNoLXRvLWNvbnNvbGUucGF0 Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDkzLXB5LnJlcXVpcmVtZW50cy1Vc2UtUHlIYW1jcmVzdC0y LjAtZm9yLXB5dGhvbjIuNy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDk0LVVQREFURS1Q Ui04Nzctd2FzLW1lcmdlZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDk1LWNhcGl0YWxp emluZy1zdGVwcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDk2LUZJWC1pbnZva2UtdGFz ay1kZXZlbG9wLnVwZGF0ZS1naGVya2luLXRoYXQtYWJvcnRlZC0ucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA5Ny1UZXN0LWFnYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3 LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3Mt YW5kLXRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5OS1BZGQtQ29udHJpYnV0aW5n LWNoYXB0ZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwMC1BZGFwdC1Ub3gtdGFyZ2V0 LWZvci1idWlsZGluZy10aGUtZG9jcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTAxLU1l bnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMTAyLVVzZS1jb25zb2xlLWhpZ2hsaWdodGluZy1mb3ItcGlwLWluc3RhbGwtZG9j cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTAzLWRvY3MtZml4LXNpbXBsZS10eXBvLXR1 b3JpYWwtdHV0b3JpYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwNC1BZGQtc3VwcG9y dC1mb3ItcHl0aG9uMy45LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAxMDUtUFJFRkVSLXB5dGhvbjMtZnJvbS1ub3ctb24ucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDEwNi1SRU1PVkUtaW52b2tlLXNjcmlwdHMucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDEwNy1GSVgtRGVwcmVjYXRlZC13YXJuaW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMTA4LUZJWC1QeXRob24yLXByb2JsZW1zLWluLXZpcnR1YWxl bnZzLXctYmVoYXZlNGNtZDAtc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwOS1GSVgt QWN0aXZlLXRhZy1sb2dpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTEwLUZJWC1UZXN0 cy13LW1vcmUuZmVhdHVyZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExMS1GSVgtU29t ZS1yZWdyZXNzaW9ucy13aXRoLVB5dGhvbi0zLjkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8v MDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5vdGV3b3J0aHkucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDExMy1BZGQtZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1 cnJlbnQtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTQtVVBEQVRFLWkxOG4tZ2hlcmtp bi1sYW5ndWFnZXMuanNvbi1mcm9tLWN1Y3VtYmVyLXJlcC5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMTE1LVVQREFURS1DSEFOR0VTLVJlbGF0ZWQtdG8tUFItODk1LWFuZC04MjcucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDExNi1GSVgtQ0ktVFJBVklTLUZvci1weXRob24tMi43LWJ1 aWxkcy1tb2NrLTQuMC1vbmx5LWZvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTctQWRk cy10aGUtYWJpbGl0eS10by11c2UtYS1jdXN0b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMTE4LUFsbG93LWZvcmNpbmctY29sb3Itd2l0aC1jb2xvci1h bHdheXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExOS1BbGxvdy1jb2xvci13aXRoLW5v LXZhbHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTIw LUFkZC1CRUhBVkVfQ09MT1ItZW52LXZhci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTIx LWZpeC1tYWxmb3JtZWQtdGFibGUtcm93cy13YXJuaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAxMjItRklYLTk1NS1zZXR1cC1SZW1vdmUtYXR0cmlidXRlLXVzZV8ydG8zLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAxMjMtQWRkLWluZm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRj aCBcCisgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApAQCAtMTYsMyArMTM5 LDUgQEAgUkRFUEVORFM6JHtQTn0gKz0gIiBcCiAgICAgJHtQWVRIT05fUE59LXNldHVwdG9vbHMg XAogICAgICR7UFlUSE9OX1BOfS1zaXggXAogICAgICIKKworUFYgPSAiNiIKLS0gCjIuMjUuMQoK --===============7076379965885076310== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="bitbake-output-qemux86-64.txt" Loading cache...done. Loaded 12633 entries from dependency cache. Parsing recipes...done. Parsing of 7341 .bb files complete (7338 cached, 3 parsed). 12618 targets, 325 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies Build Configuration (mc:default): BB_VERSION = "2.4.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.2" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:058a44165ce375f405063e73a9fcd1b2757ef8da" meta-oe meta-python meta-perl = "heads/origin/master-next:29edbe45640096081b9b50755d33107dc9237953" workspace = ":" Build Configuration (mc:qemux86-musl): BB_VERSION = "2.4.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux-musl" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.2" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:058a44165ce375f405063e73a9fcd1b2757ef8da" meta-oe meta-python meta-perl = "heads/origin/master-next:29edbe45640096081b9b50755d33107dc9237953" workspace = ":" Build Configuration (mc:qemuarm64): BB_VERSION = "2.4.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.2" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:058a44165ce375f405063e73a9fcd1b2757ef8da" meta-oe meta-python meta-perl = "heads/origin/master-next:29edbe45640096081b9b50755d33107dc9237953" workspace = ":" Initialising tasks...done. Checking sstate mirror object availability...done. Sstate summary: Wanted 376 Local 186 Mirrors 181 Missed 9 Current 259 (97% match, 98% complete) NOTE: Executing Tasks NOTE: Running setscene task 269 of 635 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_recipe_qa_setscene) NOTE: recipe python3-behave-6-r0: task do_recipe_qa_setscene: Started NOTE: recipe python3-behave-6-r0: task do_recipe_qa_setscene: Succeeded NOTE: Running task 1339 of 1806 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_fetch) NOTE: recipe python3-behave-6-r0: task do_fetch: Started NOTE: recipe python3-behave-6-r0: task do_fetch: Succeeded NOTE: Running task 1790 of 1806 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_unpack) NOTE: Running task 1791 of 1806 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_prepare_recipe_sysroot) NOTE: recipe python3-behave-6-r0: task do_unpack: Started NOTE: recipe python3-behave-6-r0: task do_prepare_recipe_sysroot: Started NOTE: recipe python3-behave-6-r0: task do_prepare_recipe_sysroot: Succeeded NOTE: recipe python3-behave-6-r0: task do_unpack: Succeeded NOTE: Running task 1792 of 1806 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_patch) NOTE: Running task 1793 of 1806 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_collect_spdx_deps) NOTE: recipe python3-behave-6-r0: task do_patch: Started NOTE: recipe python3-behave-6-r0: task do_collect_spdx_deps: Started NOTE: recipe python3-behave-6-r0: task do_collect_spdx_deps: Succeeded NOTE: recipe python3-behave-6-r0: task do_patch: Failed NOTE: Tasks Summary: Attempted 1793 tasks of which 1788 didn't need to be rerun and 1 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 3 seconds NOTE: Writing buildhistory NOTE: Writing buildhistory took: 6 seconds NOTE: Writing buildhistory NOTE: Writing buildhistory took: 4 seconds Summary: 1 task failed: /home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_patch Summary: There was 1 ERROR message, returning a non-zero exit code. ERROR: python3-behave-6-r0 do_patch: Applying patch '0001-FIXES-725-ScenarioOutlineBuilder-was-not-copying-des.patch' on target directory '/scratch1/auh/build-auh/tmp/work/core2-64-poky-linux/python3-behave/6-r0/git' CmdError('quilt --quiltrc /scratch1/auh/build-auh/tmp/work/core2-64-poky-linux/python3-behave/6-r0/recipe-sysroot-native/etc/quiltrc push', 0, "stdout: Applying patch 0001-FIXES-725-ScenarioOutlineBuilder-was-not-copying-des.patch can't find file to patch at input line 15 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |From e1f9e76db224f08d20fe57d2a259c430dc39670f Mon Sep 17 00:00:00 2001 |From: jenisys |Date: Mon, 11 Mar 2019 22:37:04 +0100 |Subject: [PATCH] FIXES #725: ScenarioOutlineBuilder was not copying | description to created Scenario. | |--- | behave/model.py | 1 + | 1 file changed, 1 insertion(+) | |diff --git a/behave/model.py b/behave/model.py |index 4ad4b9d..9dd68fd 100644 |--- a/behave/model.py |+++ b/behave/model.py -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored Patch 0001-FIXES-725-ScenarioOutlineBuilder-was-not-copying-des.patch does not apply (enforce with -f) stderr: ") ERROR: Logfile of failure stored in: /scratch1/auh/build-auh/tmp/work/core2-64-poky-linux/python3-behave/6-r0/temp/log.do_patch.2909069 ERROR: Task (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_patch) failed with exit code '1' --===============7076379965885076310==--