<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>34273</bug_id>
          
          <creation_ts>2010-01-28 10:00:43 -0800</creation_ts>
          <short_desc>Web Inspector: migrate to tokenizer-based highlighting in the Elements panel.</short_desc>
          <delta_ts>2010-01-29 03:04:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185530</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-28 10:00:43 -0800</bug_when>
    <thetext>Currently we use two types of highlighters: regex-based one for elements panel and lex-based one for the source view. Latter seems to be faster, we should migrate to it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185531</commentid>
    <comment_count>1</comment_count>
      <attachid>47626</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-28 10:02:22 -0800</bug_when>
    <thetext>Created attachment 47626
[PATCH] Proposed change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185793</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-01-29 03:04:19 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	D	WebCore/inspector/front-end/CSSSourceSyntaxHighlighter.js
	D	WebCore/inspector/front-end/JavaScriptSourceSyntaxHighlighter.js
	D	WebCore/inspector/front-end/SourceSyntaxHighlighter.js
	M	LayoutTests/ChangeLog
	M	LayoutTests/inspector/syntax-highlight-css-expected.txt
	M	LayoutTests/inspector/syntax-highlight-css.html
	M	LayoutTests/inspector/syntax-highlight-javascript-expected.txt
	M	LayoutTests/inspector/syntax-highlight-javascript.html
	M	LayoutTests/inspector/syntax-highlight.js
	M	WebCore/ChangeLog
	M	WebCore/WebCore.gypi
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	A	WebCore/inspector/front-end/DOMSyntaxHighlighter.js
	M	WebCore/inspector/front-end/ElementsTreeOutline.js
	M	WebCore/inspector/front-end/SourceCSSTokenizer.js
	M	WebCore/inspector/front-end/SourceCSSTokenizer.re2js
	M	WebCore/inspector/front-end/SourceHTMLTokenizer.js
	M	WebCore/inspector/front-end/SourceHTMLTokenizer.re2js
	M	WebCore/inspector/front-end/SourceJavaScriptTokenizer.js
	M	WebCore/inspector/front-end/SourceJavaScriptTokenizer.re2js
	A	WebCore/inspector/front-end/SourceTokenizer.js
	M	WebCore/inspector/front-end/TextEditorHighlighter.js
	M	WebCore/inspector/front-end/WebKit.qrc
	M	WebCore/inspector/front-end/inspector.html
Committed r54053</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47626</attachid>
            <date>2010-01-28 10:02:22 -0800</date>
            <delta_ts>2010-01-28 23:19:52 -0800</delta_ts>
            <desc>[PATCH] Proposed change.</desc>
            <filename>highlighter</filename>
            <type>text/plain</type>
            <size>137538</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYjY4MmUyLi5iYzNkYzBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEt
MjggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogbWlncmF0
ZSB0byB0b2tlbml6ZXItYmFzZWQgaGlnaGxpZ2h0aW5nIGluIHRoZSBFbGVtZW50cyBwYW5lbC4K
KworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQyNzMKKwor
ICAgICAgICAqIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWw6CisgICAgICAgICog
aW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2YXNjcmlwdC5odG1sOgorICAgICAg
ICAqIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LmpzOgorICAgICAgICAoZnJvbnRlbmRfZHVt
cFN5bnRheEhpZ2hsaWdodCk6CisKIDIwMTAtMDEtMjggIEJlbiBNdXJkb2NoICA8YmVubUBnb29n
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy1leHBlY3RlZC50
eHQKaW5kZXggN2FhZjgwZi4uNGQ4N2RjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOSBA
QAogVGVzdHMgdGhhdCBDU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlciBkZXRlY3RzIHRoZSB0b2tl
bnMuCiAKIGFbaHJlZj0nLyddOiB3ZWJraXQtY3NzLXNlbGVjdG9yCi0jY29udGVudCA+IGE6aG92
ZXI6IHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtY3NzLXNlbGVjdG9yCi1AaW1wb3J0IHVy
bChzdHlsZS5jc3MpOzogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy11cmwsKgotQGlt
cG9ydCB1cmwoInN0eWxlLmNzcyIpIHByb2plY3Rpb24sIHR2Ozogd2Via2l0LWNzcy1hdC1ydWxl
LCosd2Via2l0LWNzcy11cmwsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtY3NzLWtleXdv
cmQsKgorI2NvbnRlbnQgPiBhOmhvdmVyOiAqLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQt
Y3NzLXNlbGVjdG9yLCosd2Via2l0LWNzcy1zZWxlY3RvcgorQGltcG9ydCB1cmwoc3R5bGUuY3Nz
KTs6IHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mta2V5d29yZCwqCitAaW1wb3J0IHVy
bCgic3R5bGUuY3NzIikgcHJvamVjdGlvbiwgdHY7OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJr
aXQtY3NzLWtleXdvcmQsKix3ZWJraXQtY3NzLXN0cmluZywqLHdlYmtpdC1jc3Mta2V5d29yZCwq
LHdlYmtpdC1jc3Mta2V5d29yZCwqCiBAbWVkaWEgc2NyZWVuIHsgYm9keSB7IGNvbG9yOiByZWQ7
IH0gfTogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LWNz
cy1zZWxlY3RvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWtleXdvcmQsKgog
QGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBNeUhlbHZldGljYTsgfTogd2Via2l0LWNzcy1hdC1y
dWxlLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqCiBwIHsgY29sb3I6IGNvbG9yOyByZWQ6IHJlZDsg
fTogd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3Nz
LWtleXdvcmQsKgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdo
bGlnaHQtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1j
c3MuaHRtbAppbmRleCBmYjcyMTdkLi45Njc0MGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbApAQCAtOCw3ICs4LDcgQEAKIAogZnVuY3Rp
b24gZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodENTUyhzdHIpCiB7Ci0gICAgcmV0dXJuIGZy
b250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHQoc3RyLCBXZWJJbnNwZWN0b3IuQ1NTU291cmNlU3lu
dGF4SGlnaGxpZ2h0ZXIpOworICAgIHJldHVybiBmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0
KHN0ciwgInRleHQvY3NzIik7CiB9CiAKIGZ1bmN0aW9uIGZyb250ZW5kX2RvaXRBbmREdW1wKCkg
ewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtamF2
YXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dAppbmRleCAzMTZlYjk5Li42MjllYjkyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdo
dC1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtNyw4ICs3LDggQEAgcmV0dXJuJ2Zvbyc7OiB3
ZWJraXQtamF2YXNjcmlwdC1rZXl3b3JkLHdlYmtpdC1qYXZhc2NyaXB0LXN0cmluZywqCiAiXCIv
Ii5sZW5ndGggLyAyOiB3ZWJraXQtamF2YXNjcmlwdC1zdHJpbmcsKix3ZWJraXQtamF2YXNjcmlw
dC1pZGVudCwqLHdlYmtpdC1qYXZhc2NyaXB0LW51bWJlcgogdmFyIGZvbyA9IDEvKi8qKiovLzI6
IHdlYmtpdC1qYXZhc2NyaXB0LWtleXdvcmQsKix3ZWJraXQtamF2YXNjcmlwdC1pZGVudCwqLHdl
YmtpdC1qYXZhc2NyaXB0LW51bWJlcix3ZWJraXQtamF2YXNjcmlwdC1jb21tZW50LCosd2Via2l0
LWphdmFzY3JpcHQtbnVtYmVyCiAvKmNvbW1lbnQqLy8uKi8udGVzdCgnYScpOiB3ZWJraXQtamF2
YXNjcmlwdC1jb21tZW50LHdlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4cCwqLHdlYmtpdC1qYXZhc2Ny
aXB0LWlkZW50LCosd2Via2l0LWphdmFzY3JpcHQtc3RyaW5nLCoKLSdmXCBvbyc7OiB3ZWJraXQt
amF2YXNjcmlwdC1zdHJpbmcsKgorJ2ZcIG9vJzs6IHdlYmtpdC1qYXZhc2NyaXB0LXN0cmluZyws
d2Via2l0LWphdmFzY3JpcHQtc3RyaW5nLCoKICdcZlxiXHQnOzogd2Via2l0LWphdmFzY3JpcHQt
c3RyaW5nLCoKLScvXCAvJzs6IHdlYmtpdC1qYXZhc2NyaXB0LXN0cmluZywqCi1mb28vKiogLyAq
L2Zvbzogd2Via2l0LWphdmFzY3JpcHQtaWRlbnQsd2Via2l0LWphdmFzY3JpcHQtY29tbWVudCx3
ZWJraXQtamF2YXNjcmlwdC1pZGVudAorJy9cIC8nOzogd2Via2l0LWphdmFzY3JpcHQtc3RyaW5n
LCx3ZWJraXQtamF2YXNjcmlwdC1zdHJpbmcsKgorZm9vLyoqIC8gKi9mb286IHdlYmtpdC1qYXZh
c2NyaXB0LWlkZW50LHdlYmtpdC1qYXZhc2NyaXB0LWNvbW1lbnQsLHdlYmtpdC1qYXZhc2NyaXB0
LWNvbW1lbnQsLHdlYmtpdC1qYXZhc2NyaXB0LWNvbW1lbnQsd2Via2l0LWphdmFzY3JpcHQtaWRl
bnQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
amF2YXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
amF2YXNjcmlwdC5odG1sCmluZGV4IDk3NzAwZTguLjcyMGExYzUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWphdmFzY3JpcHQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1qYXZhc2NyaXB0Lmh0bWwKQEAg
LTgsNyArOCw3IEBACiAKIGZ1bmN0aW9uIGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHRKUyhz
dHIpCiB7Ci0gICAgcmV0dXJuIGZyb250ZW5kX2R1bXBTeW50YXhIaWdobGlnaHQoc3RyLCBXZWJJ
bnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hsaWdodGVyKTsKKyAgICByZXR1cm4g
ZnJvbnRlbmRfZHVtcFN5bnRheEhpZ2hsaWdodChzdHIsICJ0ZXh0L2phdmFzY3JpcHQiKTsKIH0K
IAogZnVuY3Rpb24gZnJvbnRlbmRfZG9pdEFuZER1bXAoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC5qcyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9zeW50YXgtaGlnaGxpZ2h0LmpzCmluZGV4IDU3MmMyOTkuLjliZGYyYjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LmpzCisrKyBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LmpzCkBAIC0xMywxMSArMTMsMTEgQEAgZnVu
Y3Rpb24gZG9pdCgpCiAKIC8vIEZyb250ZW5kIGZ1bmN0aW9ucy4KIAotZnVuY3Rpb24gZnJvbnRl
bmRfZHVtcFN5bnRheEhpZ2hsaWdodChzdHIsIGhpZ2hsaWdodGVyQ29uc3RydWN0b3IpCitmdW5j
dGlvbiBmcm9udGVuZF9kdW1wU3ludGF4SGlnaGxpZ2h0KHN0ciwgbWltZVR5cGUpCiB7CiAgICAg
dmFyIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgbm9kZS50ZXh0
Q29udGVudCA9IHN0cjsKLSAgICB2YXIgamF2YXNjcmlwdFN5bnRheEhpZ2hsaWdodGVyID0gbmV3
IGhpZ2hsaWdodGVyQ29uc3RydWN0b3IobnVsbCwgbnVsbCk7CisgICAgdmFyIGphdmFzY3JpcHRT
eW50YXhIaWdobGlnaHRlciA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NU3ludGF4SGlnaGxpZ2h0ZXIo
bWltZVR5cGUpOwogICAgIGphdmFzY3JpcHRTeW50YXhIaWdobGlnaHRlci5zeW50YXhIaWdobGln
aHROb2RlKG5vZGUpOwogICAgIHZhciBub2RlX3BhcnRzID0gW107CiAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBub2RlLmNoaWxkTm9kZXMubGVuZ3RoOyBpKyspIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk4ODlhNS4uNWQxZWM3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTIsNiArMiw1NCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IG1pZ3JhdGUgdG8gdG9rZW5pemVyLWJhc2VkIGhpZ2hsaWdo
dGluZyBpbiB0aGUgRWxlbWVudHMgcGFuZWwuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM0MjczCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9DU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlci5qczogUmVtb3ZlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN5bnRheEhpZ2hsaWdodGVyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01TeW50YXhIaWdobGlnaHRlcik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRE9NU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90eXBlLmNyZWF0ZVNwYW4p
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZS5z
eW50YXhIaWdobGlnaHROb2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1l
bnRzVHJlZU91dGxpbmUuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2Ny
aXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanM6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU291cmNlQ1NTVG9rZW5pemVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NU
b2tlbml6ZXIucHJvdG90eXBlLm5leHRUb2tlbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VIVE1MVG9rZW5pemVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZUhUTUxUb2tlbml6ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxUb2tlbml6
ZXIucHJvdG90eXBlLm5leHRUb2tlbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VIVE1MVG9rZW5pemVyLnJlMmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlSmF2YVNjcmlwdFRva2VuaXplci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VKYXZhU2NyaXB0VG9rZW5pemVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VKYXZh
U2NyaXB0VG9rZW5pemVyLnByb3RvdHlwZS5uZXh0VG9rZW4pOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5yZTJqczoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyLmpzOiBSZW1vdmVkLgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVG9rZW5pemVyLmpzOiBBZGRlZC4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGUuc2V0IGxpbmUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGUuc2V0IGNvbmRpdGlvbik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLnByb3RvdHlwZS5nZXQgY29uZGl0aW9u
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBlLmhhc0Nv
bmRpdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLnByb3RvdHlw
ZS5nZXRMZXhDb25kaXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXpl
ci5wcm90b3R5cGUuc2V0TGV4Q29uZGl0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VUb2tlbml6ZXIucHJvdG90eXBlLl9jaGFyQXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNv
dXJjZVRva2VuaXplci5SZWdpc3RyeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlVG9r
ZW5pemVyLlJlZ2lzdHJ5LmdldEluc3RhbmNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VUb2tlbml6ZXIuUmVnaXN0cnkucHJvdG90eXBlLmdldFRva2VuaXplcik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvckhpZ2hsaWdodGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIucHJvdG90eXBlLnNldCBtaW1lVHlwZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisKKzIwMTAtMDEtMjggIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKICAgICAgICAgV2ViIEluc3BlY3RvcjogTm8gbmVlZCB0byByZW5kZXIgYmFja2dyb3Vu
ZCBzb3VyY2VzCiAgICAgICAgIHdoZW4gcGVyZm9ybWluZyBzZWFyY2guCiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTdlMTg2
Zi4uMjE5ZjUwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTM2ODUsNyArMzY4NSw2IEBACiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9Db250ZXh0TWVudS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db29raWVJdGVtc1ZpZXcuanMnLAotICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
Q1NTU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9m
cm9udC1lbmQvRGF0YWJhc2UuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
RGF0YWJhc2VRdWVyeVZpZXcuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
RGF0YWJhc2VUYWJsZVZpZXcuanMnLApAQCAtMzY5Myw2ICszNjkyLDcgQEAKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2UuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvRE9NU3RvcmFnZUl0ZW1zVmlldy5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9ET01TeW50YXhIaWdobGlnaHRlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L2Zyb250LWVuZC9EcmF3ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
RWxlbWVudHNQYW5lbC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVt
ZW50c1RyZWVPdXRsaW5lLmpzJywKQEAgLTM3MDQsNyArMzcwNCw2IEBACiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdEFjY2Vzcy5qcycsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMnLAotICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0tleWJvYXJkU2hvcnRjdXQuanMnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdC5qcycsCkBAIC0zNzM1LDcgKzM3MzQs
NyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlSFRNTFRva2VuaXplci5qcycs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VKYXZhU2NyaXB0VG9rZW5p
emVyLmpzJywKLSAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVN5bnRheEhp
Z2hsaWdodGVyLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVRv
a2VuaXplci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3
LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5q
cycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwuanMnLApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYmZkNTlkYS4uYmE5NTUwNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MjcyOCwxMCArNDI3Mjgs
NiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxDU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlci5qcyIN
Ci0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxpbnNwZWN0b3JcZnJvbnQtZW5kXERhdGFiYXNlLmpzIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+
DQpAQCAtNDI3NjAsNiArNDI3NTYsMTAgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxG
aWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcRE9NU3ludGF4
SGlnaGxpZ2h0ZXIuanMiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxEcmF3ZXIuanMiDQogCQkJCQk+
DQogCQkJCTwvRmlsZT4NCkBAIC00MjgwOCwxMCArNDI4MDgsNiBAQAogCQkJCQk+DQogCQkJCTwv
RmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250
LWVuZFxKYXZhU2NyaXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanMiDQotCQkJCQk+DQotCQkJ
CTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxNZXRyaWNzU2lkZWJhclBhbmUuanMiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCkBA
IC00MjkyOCw3ICs0MjkyNCw3IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0K
LQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFNvdXJjZVN5bnRheEhp
Z2hsaWdodGVyLmpzIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5k
XFNvdXJjZVRva2VuaXplci5qcyINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTb3VyY2VTeW50YXhI
aWdobGlnaHRlci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTb3VyY2VTeW50
YXhIaWdobGlnaHRlci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY5MTk1MC4u
MDAwMDAwMAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU291cmNlU3ludGF4
SGlnaGxpZ2h0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzMTEgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLVdlYkluc3BlY3Rvci5DU1NTb3VyY2VTeW50YXhIaWdobGlnaHRl
ciA9IGZ1bmN0aW9uKHRhYmxlLCBzb3VyY2VGcmFtZSkgewotICAgIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VTeW50YXhIaWdobGlnaHRlci5jYWxsKHRoaXMsIHRhYmxlLCBzb3VyY2VGcmFtZSk7Ci0KLSAg
ICB0aGlzLkxleFN0YXRlID0gewotICAgICAgICBJbml0aWFsOiAxLAotICAgICAgICBEZWNsYXJh
dGlvblByb3BlcnR5OiAyLAotICAgICAgICBEZWNsYXJhdGlvblZhbHVlOiAzLAotICAgICAgICBB
dE1lZGlhOiA0LAotICAgICAgICBBdFJ1bGU6IDUsCi0gICAgICAgIEF0S2V5ZnJhbWVzOiA2Ci0g
ICAgfTsKLSAgICB0aGlzLkNvbnRpbnVlU3RhdGUgPSB7Ci0gICAgICAgIE5vbmU6IDAsCi0gICAg
ICAgIENvbW1lbnQ6IDEKLSAgICB9OwotICAgIAotICAgIHRoaXMubm9uVG9rZW4gPSAiIjsKLSAg
ICB0aGlzLmN1cnNvciA9IDA7Ci0gICAgdGhpcy5saW5lSW5kZXggPSAtMTsKLSAgICB0aGlzLmxp
bmVDb2RlID0gIiI7Ci0gICAgdGhpcy5uZXdMaW5lID0gbnVsbDsKLSAgICB0aGlzLmxleFN0YXRl
ID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOwotICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMu
Q29udGludWVTdGF0ZS5Ob25lOwotICAgIAotICAgIGNvbnN0IHVybFBhdHRlcm4gPSAvXnVybFwo
XHMqKD86KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxc
XCddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJyl8KD86WyEjJCUmKi1+XHddfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqKVxzKlwpL2k7Ci0gICAgY29uc3Qgc3RyaW5nUGF0dGVybiA9IC9e
KD86Iig/OlteXFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqJykvaTsKLSAgICBjb25zdCBpZGVudFBhdHRlcm4gPSAv
Xi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqL2k7Ci0gICAgY29uc3Qgc3RhcnRCbG9ja1BhdHRlcm4gPSAvXnsvaTsKLSAg
ICBjb25zdCBlbmRCbG9ja1BhdHRlcm4gPSAvXn0vaTsKLQotICAgIGNvbnN0IHByb3BlcnR5S2V5
d29yZHMgPSBbCi0gICAgICAgICJiYWNrZ3JvdW5kIiwgImJhY2tncm91bmQtYXR0YWNobWVudCIs
ICJiYWNrZ3JvdW5kLWNsaXAiLCAiYmFja2dyb3VuZC1jb2xvciIsICJiYWNrZ3JvdW5kLWltYWdl
IiwKLSAgICAgICAgImJhY2tncm91bmQtb3JpZ2luIiwgImJhY2tncm91bmQtcG9zaXRpb24iLCAi
YmFja2dyb3VuZC1wb3NpdGlvbi14IiwgImJhY2tncm91bmQtcG9zaXRpb24teSIsCi0gICAgICAg
ICJiYWNrZ3JvdW5kLXJlcGVhdCIsICJiYWNrZ3JvdW5kLXJlcGVhdC14IiwgImJhY2tncm91bmQt
cmVwZWF0LXkiLCAiYmFja2dyb3VuZC1zaXplIiwgImJvcmRlciIsCi0gICAgICAgICJib3JkZXIt
Ym90dG9tIiwgImJvcmRlci1ib3R0b20tY29sb3IiLCAiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1
cyIsICJib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyIsCi0gICAgICAgICJib3JkZXItYm90dG9t
LXN0eWxlIiwgImJvcmRlci1ib3R0b20td2lkdGgiLCAiYm9yZGVyLWNvbGxhcHNlIiwgImJvcmRl
ci1jb2xvciIsICJib3JkZXItbGVmdCIsCi0gICAgICAgICJib3JkZXItbGVmdC1jb2xvciIsICJi
b3JkZXItbGVmdC1zdHlsZSIsICJib3JkZXItbGVmdC13aWR0aCIsICJib3JkZXItcmFkaXVzIiwg
ImJvcmRlci1yaWdodCIsCi0gICAgICAgICJib3JkZXItcmlnaHQtY29sb3IiLCAiYm9yZGVyLXJp
Z2h0LXN0eWxlIiwgImJvcmRlci1yaWdodC13aWR0aCIsICJib3JkZXItc3BhY2luZyIsICJib3Jk
ZXItc3R5bGUiLAotICAgICAgICAiYm9yZGVyLXRvcCIsICJib3JkZXItdG9wLWNvbG9yIiwgImJv
cmRlci10b3AtbGVmdC1yYWRpdXMiLCAiYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMiLCAiYm9yZGVy
LXRvcC1zdHlsZSIsCi0gICAgICAgICJib3JkZXItdG9wLXdpZHRoIiwgImJvcmRlci13aWR0aCIs
ICJib3R0b20iLCAiY2FwdGlvbi1zaWRlIiwgImNsZWFyIiwgImNsaXAiLCAiY29sb3IiLCAiY29u
dGVudCIsCi0gICAgICAgICJjb3VudGVyLWluY3JlbWVudCIsICJjb3VudGVyLXJlc2V0IiwgImN1
cnNvciIsICJkaXJlY3Rpb24iLCAiZGlzcGxheSIsICJlbXB0eS1jZWxscyIsICJmbG9hdCIsCi0g
ICAgICAgICJmb250IiwgImZvbnQtZmFtaWx5IiwgImZvbnQtc2l6ZSIsICJmb250LXN0cmV0Y2gi
LCAiZm9udC1zdHlsZSIsICJmb250LXZhcmlhbnQiLCAiZm9udC13ZWlnaHQiLAotICAgICAgICAi
aGVpZ2h0IiwgImxlZnQiLCAibGV0dGVyLXNwYWNpbmciLCAibGluZS1oZWlnaHQiLCAibGlzdC1z
dHlsZSIsICJsaXN0LXN0eWxlLWltYWdlIiwgImxpc3Qtc3R5bGUtcG9zaXRpb24iLAotICAgICAg
ICAibGlzdC1zdHlsZS10eXBlIiwgIm1hcmdpbiIsICJtYXJnaW4tYm90dG9tIiwgIm1hcmdpbi1s
ZWZ0IiwgIm1hcmdpbi1yaWdodCIsICJtYXJnaW4tdG9wIiwgIm1heC1oZWlnaHQiLAotICAgICAg
ICAibWF4LXdpZHRoIiwgIm1pbi1oZWlnaHQiLCAibWluLXdpZHRoIiwgIm9wYWNpdHkiLCAib3Jw
aGFucyIsICJvdXRsaW5lIiwgIm91dGxpbmUtY29sb3IiLCAib3V0bGluZS1vZmZzZXQiLAotICAg
ICAgICAib3V0bGluZS1zdHlsZSIsICJvdXRsaW5lLXdpZHRoIiwgIm92ZXJmbG93IiwgIm92ZXJm
bG93LXgiLCAib3ZlcmZsb3cteSIsICJwYWRkaW5nIiwgInBhZGRpbmctYm90dG9tIiwKLSAgICAg
ICAgInBhZGRpbmctbGVmdCIsICJwYWRkaW5nLXJpZ2h0IiwgInBhZGRpbmctdG9wIiwgInBhZ2Ui
LCAicGFnZS1icmVhay1hZnRlciIsICJwYWdlLWJyZWFrLWJlZm9yZSIsCi0gICAgICAgICJwYWdl
LWJyZWFrLWluc2lkZSIsICJwb2ludGVyLWV2ZW50cyIsICJwb3NpdGlvbiIsICJxdW90ZXMiLCAi
cmVzaXplIiwgInJpZ2h0IiwgInNpemUiLCAic3JjIiwKLSAgICAgICAgInRhYmxlLWxheW91dCIs
ICJ0ZXh0LWFsaWduIiwgInRleHQtZGVjb3JhdGlvbiIsICJ0ZXh0LWluZGVudCIsICJ0ZXh0LWxp
bmUtdGhyb3VnaCIsICJ0ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciIsCi0gICAgICAgICJ0ZXh0LWxp
bmUtdGhyb3VnaC1tb2RlIiwgInRleHQtbGluZS10aHJvdWdoLXN0eWxlIiwgInRleHQtbGluZS10
aHJvdWdoLXdpZHRoIiwgInRleHQtb3ZlcmZsb3ciLCAidGV4dC1vdmVybGluZSIsCi0gICAgICAg
ICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIiwgInRleHQtb3ZlcmxpbmUtbW9kZSIsICJ0ZXh0LW92ZXJs
aW5lLXN0eWxlIiwgInRleHQtb3ZlcmxpbmUtd2lkdGgiLCAidGV4dC1yZW5kZXJpbmciLAotICAg
ICAgICAidGV4dC1zaGFkb3ciLCAidGV4dC10cmFuc2Zvcm0iLCAidGV4dC11bmRlcmxpbmUiLCAi
dGV4dC11bmRlcmxpbmUtY29sb3IiLCAidGV4dC11bmRlcmxpbmUtbW9kZSIsCi0gICAgICAgICJ0
ZXh0LXVuZGVybGluZS1zdHlsZSIsICJ0ZXh0LXVuZGVybGluZS13aWR0aCIsICJ0b3AiLCAidW5p
Y29kZS1iaWRpIiwgInVuaWNvZGUtcmFuZ2UiLCAidmVydGljYWwtYWxpZ24iLAotICAgICAgICAi
dmlzaWJpbGl0eSIsICJ3aGl0ZS1zcGFjZSIsICJ3aWRvd3MiLCAid2lkdGgiLCAid29yZC1icmVh
ayIsICJ3b3JkLXNwYWNpbmciLCAid29yZC13cmFwIiwgInotaW5kZXgiLCAiem9vbSIsCi0gICAg
ICAgICItd2Via2l0LWFuaW1hdGlvbiIsICItd2Via2l0LWFuaW1hdGlvbi1kZWxheSIsICItd2Vi
a2l0LWFuaW1hdGlvbi1kaXJlY3Rpb24iLCAiLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb24iLAot
ICAgICAgICAiLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50IiwgIi13ZWJraXQtYW5p
bWF0aW9uLW5hbWUiLCAiLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZSIsCi0gICAgICAgICIt
d2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24iLCAiLXdlYmtpdC1hcHBlYXJhbmNlIiwg
Ii13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSIsCi0gICAgICAgICItd2Via2l0LWJhY2tncm91
bmQtY2xpcCIsICItd2Via2l0LWJhY2tncm91bmQtY29tcG9zaXRlIiwgIi13ZWJraXQtYmFja2dy
b3VuZC1vcmlnaW4iLCAiLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUiLAotICAgICAgICAiLXdlYmtp
dC1iaW5kaW5nIiwgIi13ZWJraXQtYm9yZGVyLWZpdCIsICItd2Via2l0LWJvcmRlci1ob3Jpem9u
dGFsLXNwYWNpbmciLCAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiLAotICAgICAgICAiLXdlYmtpdC1i
b3JkZXItcmFkaXVzIiwgIi13ZWJraXQtYm9yZGVyLXZlcnRpY2FsLXNwYWNpbmciLCAiLXdlYmtp
dC1ib3gtYWxpZ24iLCAiLXdlYmtpdC1ib3gtZGlyZWN0aW9uIiwKLSAgICAgICAgIi13ZWJraXQt
Ym94LWZsZXgiLCAiLXdlYmtpdC1ib3gtZmxleC1ncm91cCIsICItd2Via2l0LWJveC1saW5lcyIs
ICItd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwIiwKLSAgICAgICAgIi13ZWJraXQtYm94LW9yaWVu
dCIsICItd2Via2l0LWJveC1wYWNrIiwgIi13ZWJraXQtYm94LXJlZmxlY3QiLCAiLXdlYmtpdC1i
b3gtc2hhZG93IiwgIi13ZWJraXQtYm94LXNpemluZyIsCi0gICAgICAgICItd2Via2l0LWNvbHVt
bi1icmVhay1hZnRlciIsICItd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmUiLCAiLXdlYmtpdC1j
b2x1bW4tYnJlYWstaW5zaWRlIiwgIi13ZWJraXQtY29sdW1uLWNvdW50IiwKLSAgICAgICAgIi13
ZWJraXQtY29sdW1uLWdhcCIsICItd2Via2l0LWNvbHVtbi1ydWxlIiwgIi13ZWJraXQtY29sdW1u
LXJ1bGUtY29sb3IiLCAiLXdlYmtpdC1jb2x1bW4tcnVsZS1zdHlsZSIsCi0gICAgICAgICItd2Vi
a2l0LWNvbHVtbi1ydWxlLXdpZHRoIiwgIi13ZWJraXQtY29sdW1uLXdpZHRoIiwgIi13ZWJraXQt
Y29sdW1ucyIsICItd2Via2l0LWZvbnQtc2l6ZS1kZWx0YSIsCi0gICAgICAgICItd2Via2l0LWZv
bnQtc21vb3RoaW5nIiwgIi13ZWJraXQtaGlnaGxpZ2h0IiwgIi13ZWJraXQtbGluZS1icmVhayIs
ICItd2Via2l0LWxpbmUtY2xhbXAiLAotICAgICAgICAiLXdlYmtpdC1tYXJnaW4tYm90dG9tLWNv
bGxhcHNlIiwgIi13ZWJraXQtbWFyZ2luLWNvbGxhcHNlIiwgIi13ZWJraXQtbWFyZ2luLXN0YXJ0
IiwgIi13ZWJraXQtbWFyZ2luLXRvcC1jb2xsYXBzZSIsCi0gICAgICAgICItd2Via2l0LW1hcnF1
ZWUiLCAiLXdlYmtpdC1tYXJxdWVlLWRpcmVjdGlvbiIsICItd2Via2l0LW1hcnF1ZWUtaW5jcmVt
ZW50IiwgIi13ZWJraXQtbWFycXVlZS1yZXBldGl0aW9uIiwKLSAgICAgICAgIi13ZWJraXQtbWFy
cXVlZS1zcGVlZCIsICItd2Via2l0LW1hcnF1ZWUtc3R5bGUiLCAiLXdlYmtpdC1tYXNrIiwgIi13
ZWJraXQtbWFzay1hdHRhY2htZW50IiwKLSAgICAgICAgIi13ZWJraXQtbWFzay1ib3gtaW1hZ2Ui
LCAiLXdlYmtpdC1tYXNrLWNsaXAiLCAiLXdlYmtpdC1tYXNrLWNvbXBvc2l0ZSIsICItd2Via2l0
LW1hc2staW1hZ2UiLAotICAgICAgICAiLXdlYmtpdC1tYXNrLW9yaWdpbiIsICItd2Via2l0LW1h
c2stcG9zaXRpb24iLCAiLXdlYmtpdC1tYXNrLXBvc2l0aW9uLXgiLCAiLXdlYmtpdC1tYXNrLXBv
c2l0aW9uLXkiLAotICAgICAgICAiLXdlYmtpdC1tYXNrLXJlcGVhdCIsICItd2Via2l0LW1hc2st
cmVwZWF0LXgiLCAiLXdlYmtpdC1tYXNrLXJlcGVhdC15IiwgIi13ZWJraXQtbWFzay1zaXplIiwK
LSAgICAgICAgIi13ZWJraXQtbWF0Y2gtbmVhcmVzdC1tYWlsLWJsb2NrcXVvdGUtY29sb3IiLCAi
LXdlYmtpdC1uYnNwLW1vZGUiLCAiLXdlYmtpdC1wYWRkaW5nLXN0YXJ0IiwKLSAgICAgICAgIi13
ZWJraXQtcGVyc3BlY3RpdmUiLCAiLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4iLCAiLXdlYmtp
dC1wZXJzcGVjdGl2ZS1vcmlnaW4teCIsICItd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbi15IiwK
LSAgICAgICAgIi13ZWJraXQtcnRsLW9yZGVyaW5nIiwgIi13ZWJraXQtdGV4dC1kZWNvcmF0aW9u
cy1pbi1lZmZlY3QiLCAiLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IiLCAiLXdlYmtpdC10ZXh0LXNl
Y3VyaXR5IiwKLSAgICAgICAgIi13ZWJraXQtdGV4dC1zaXplLWFkanVzdCIsICItd2Via2l0LXRl
eHQtc3Ryb2tlIiwgIi13ZWJraXQtdGV4dC1zdHJva2UtY29sb3IiLCAiLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aCIsCi0gICAgICAgICItd2Via2l0LXRyYW5zZm9ybSIsICItd2Via2l0LXRyYW5z
Zm9ybS1vcmlnaW4iLCAiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXgiLCAiLXdlYmtpdC10cmFu
c2Zvcm0tb3JpZ2luLXkiLAotICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXoiLCAi
LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGUiLCAiLXdlYmtpdC10cmFuc2l0aW9uIiwgIi13ZWJraXQt
dHJhbnNpdGlvbi1kZWxheSIsCi0gICAgICAgICItd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb24i
LCAiLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IiwgIi13ZWJraXQtdHJhbnNpdGlvbi10aW1p
bmctZnVuY3Rpb24iLAotICAgICAgICAiLXdlYmtpdC11c2VyLWRyYWciLCAiLXdlYmtpdC11c2Vy
LW1vZGlmeSIsICItd2Via2l0LXVzZXItc2VsZWN0IiwgIi13ZWJraXQtdmFyaWFibGUtZGVjbGFy
YXRpb24tYmxvY2siCi0gICAgXS5rZXlTZXQoKTsKLSAgICAKLSAgICBjb25zdCB2YWx1ZUtleXdv
cmRzID0gWwotICAgICAgICAiYWJvdmUiLCAiYWJzb2x1dGUiLCAiYWN0aXZlYm9yZGVyIiwgImFj
dGl2ZWNhcHRpb24iLCAiYWZhciIsICJhZnRlci13aGl0ZS1zcGFjZSIsICJhaGVhZCIsICJhbGlh
cyIsICJhbGwiLCAiYWxsLXNjcm9sbCIsCi0gICAgICAgICJhbHRlcm5hdGUiLCAiYWx3YXlzIiwi
YW1oYXJpYyIsICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3NwYWNl
IiwgImFxdWEiLCAiYXJtZW5pYW4iLCAiYXV0byIsICJhdm9pZCIsCi0gICAgICAgICJiYWNrZ3Jv
dW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIsICJiZWxvdyIsICJiaWRpLW92ZXJyaWRlIiwg
ImJsYWNrIiwgImJsaW5rIiwgImJsb2NrIiwgImJsb2NrLWF4aXMiLCAiYmx1ZSIsICJib2xkIiwK
LSAgICAgICAgImJvbGRlciIsICJib3JkZXIiLCAiYm9yZGVyLWJveCIsICJib3RoIiwgImJvdHRv
bSIsICJicmVhay1hbGwiLCAiYnJlYWstd29yZCIsICJidXR0b24iLCAiYnV0dG9uLWJldmVsIiwg
ImJ1dHRvbmZhY2UiLAotICAgICAgICAiYnV0dG9uaGlnaGxpZ2h0IiwgImJ1dHRvbnNoYWRvdyIs
ICJidXR0b250ZXh0IiwgImNhcGl0YWxpemUiLCAiY2Fwcy1sb2NrLWluZGljYXRvciIsICJjYXB0
aW9uIiwgImNhcHRpb250ZXh0IiwgImNhcmV0IiwgImNlbGwiLAotICAgICAgICAiY2VudGVyIiwg
ImNoZWNrYm94IiwgImNpcmNsZSIsICJjamstZWFydGhseS1icmFuY2giLCAiY2prLWhlYXZlbmx5
LXN0ZW0iLCAiY2prLWlkZW9ncmFwaGljIiwgImNsZWFyIiwgImNsaXAiLCAiY2xvc2UtcXVvdGUi
LAotICAgICAgICAiY29sLXJlc2l6ZSIsICJjb2xsYXBzZSIsICJjb21wYWN0IiwgImNvbmRlbnNl
ZCIsICJjb250YWluIiwgImNvbnRlbnQiLCAiY29udGVudC1ib3giLCAiY29udGV4dC1tZW51Iiwg
ImNvbnRpbnVvdXMiLCAiY29weSIsCi0gICAgICAgICJjb3ZlciIsICJjcm9wIiwgImNyb3NzIiwg
ImNyb3NzaGFpciIsICJjdXJyZW50Y29sb3IiLCAiY3Vyc2l2ZSIsICJkYXNoZWQiLCAiZGVjaW1h
bCIsICJkZWNpbWFsLWxlYWRpbmctemVybyIsICJkZWZhdWx0IiwKLSAgICAgICAgImRlZmF1bHQt
YnV0dG9uIiwgImRlc3RpbmF0aW9uLWF0b3AiLCAiZGVzdGluYXRpb24taW4iLCAiZGVzdGluYXRp
b24tb3V0IiwgImRlc3RpbmF0aW9uLW92ZXIiLCAiZGlzYyIsICJkaXNjYXJkIiwgImRvY3VtZW50
IiwKLSAgICAgICAgImRvdC1kYXNoIiwgImRvdC1kb3QtZGFzaCIsICJkb3R0ZWQiLCAiZG91Ymxl
IiwgImRvd24iLCAiZS1yZXNpemUiLCAiZWFzZSIsICJlYXNlLWluIiwgImVhc2UtaW4tb3V0Iiwg
ImVhc2Utb3V0IiwgImVsZW1lbnQiLAotICAgICAgICAiZWxsaXBzaXMiLCAiZW1iZWQiLCAiZW5k
IiwgImV0aGlvcGljIiwgImV0aGlvcGljLWFiZWdlZGUiLCAiZXRoaW9waWMtYWJlZ2VkZS1hbS1l
dCIsICJldGhpb3BpYy1hYmVnZWRlLWdleiIsCi0gICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRp
LWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIi
LCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAotICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUt
YW0tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwgImV0aGlvcGljLWhhbGVoYW1lLW9tLWV0
IiwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCIsCi0gICAgICAgICJldGhpb3BpYy1oYWxlaGFt
ZS1zby1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciIsICJldGhpb3BpYy1oYWxlaGFtZS10
aS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aWciLCAiZXctcmVzaXplIiwgImV4cGFuZGVkIiwK
LSAgICAgICAgImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIsICJmYW50YXN5Iiwg
ImZhc3QiLCAiZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvcndhcmRzIiwgImZ1Y2hzaWEiLCAi
Z2VvbWV0cmljUHJlY2lzaW9uIiwKLSAgICAgICAgImdlb3JnaWFuIiwgImdyYXkiLCAiZ3JheXRl
eHQiLCAiZ3JlZW4iLCAiZ3JleSIsICJncm9vdmUiLCAiaGFuZCIsICJoYW5ndWwiLCAiaGFuZ3Vs
LWNvbnNvbmFudCIsICJoZWJyZXciLCAiaGVscCIsICJoaWRkZW4iLCAiaGlkZSIsCi0gICAgICAg
ICJoaWdoZXIiLCAiaGlnaGxpZ2h0IiwgImhpZ2hsaWdodHRleHQiLCAiaGlyYWdhbmEiLCAiaGly
YWdhbmEtaXJvaGEiLCAiaG9yaXpvbnRhbCIsICJpY29uIiwgImlnbm9yZSIsCi0gICAgICAgICJp
bmFjdGl2ZWJvcmRlciIsICJpbmFjdGl2ZWNhcHRpb24iLCAiaW5hY3RpdmVjYXB0aW9udGV4dCIs
ICJpbmZpbml0ZSIsICJpbmZvYmFja2dyb3VuZCIsICJpbmZvdGV4dCIsICJpbmhlcml0IiwgImlu
aXRpYWwiLCAiaW5saW5lIiwKLSAgICAgICAgImlubGluZS1heGlzIiwgImlubGluZS1ibG9jayIs
ICJpbmxpbmUtdGFibGUiLCAiaW5zZXQiLCAiaW5zaWRlIiwgImludHJpbnNpYyIsICJpbnZlcnQi
LCAiaXRhbGljIiwgImp1c3RpZnkiLCAia2F0YWthbmEiLAotICAgICAgICAia2F0YWthbmEtaXJv
aGEiLCAibGFuZHNjYXBlIiwgImxhcmdlIiwgImxhcmdlciIsICJsZWZ0IiwgImxldmVsIiwgImxp
Z2h0ZXIiLCAibGltZSIsICJsaW5lLXRocm91Z2giLCAibGluZWFyIiwgImxpbmVzIiwKLSAgICAg
ICAgImxpc3QtYnV0dG9uIiwgImxpc3QtaXRlbSIsICJsaXN0Ym94IiwgImxpc3RpdGVtIiwgImxv
Y2FsIiwgImxvZ2ljYWwiLCAibG91ZCIsICJsb3dlciIsICJsb3dlci1hbHBoYSIsICJsb3dlci1n
cmVlayIsICJsb3dlci1sYXRpbiIsCi0gICAgICAgICJsb3dlci1ub3J3ZWdpYW4iLCAibG93ZXIt
cm9tYW4iLCAibG93ZXJjYXNlIiwgImx0ciIsICJtYXJvb24iLCAibWF0Y2giLCAibWVkaWEtY29u
dHJvbHMtYmFja2dyb3VuZCIsICJtZWRpYS1jdXJyZW50LXRpbWUtZGlzcGxheSIsCi0gICAgICAg
ICJtZWRpYS1mdWxsc2NyZWVuLWJ1dHRvbiIsICJtZWRpYS1tdXRlLWJ1dHRvbiIsICJtZWRpYS1w
bGF5LWJ1dHRvbiIsICJtZWRpYS1yZXR1cm4tdG8tcmVhbHRpbWUtYnV0dG9uIiwgIm1lZGlhLXJl
d2luZC1idXR0b24iLAotICAgICAgICAibWVkaWEtc2Vlay1iYWNrLWJ1dHRvbiIsICJtZWRpYS1z
ZWVrLWZvcndhcmQtYnV0dG9uIiwgIm1lZGlhLXNsaWRlciIsICJtZWRpYS1zbGlkZXJ0aHVtYiIs
ICJtZWRpYS10aW1lLXJlbWFpbmluZy1kaXNwbGF5IiwKLSAgICAgICAgIm1lZGlhLXZvbHVtZS1z
bGlkZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlci1jb250YWluZXIiLCAibWVkaWEtdm9sdW1lLXNs
aWRlcnRodW1iIiwgIm1lZGl1bSIsICJtZW51IiwgIm1lbnVsaXN0IiwgIm1lbnVsaXN0LWJ1dHRv
biIsCi0gICAgICAgICJtZW51bGlzdC10ZXh0IiwgIm1lbnVsaXN0LXRleHRmaWVsZCIsICJtZW51
dGV4dCIsICJtZXNzYWdlLWJveCIsICJtaWRkbGUiLCAibWluLWludHJpbnNpYyIsICJtaXgiLCAi
bW9ub3NwYWNlIiwgIm1vdmUiLCAibXVsdGlwbGUiLAotICAgICAgICAibi1yZXNpemUiLCAibmFy
cm93ZXIiLCAibmF2eSIsICJuZS1yZXNpemUiLCAibmVzdy1yZXNpemUiLCAibm8tY2xvc2UtcXVv
dGUiLCAibm8tZHJvcCIsICJuby1vcGVuLXF1b3RlIiwgIm5vLXJlcGVhdCIsICJub25lIiwKLSAg
ICAgICAgIm5vcm1hbCIsICJub3QtYWxsb3dlZCIsICJub3dyYXAiLCAibnMtcmVzaXplIiwgIm53
LXJlc2l6ZSIsICJud3NlLXJlc2l6ZSIsICJvYmxpcXVlIiwgIm9saXZlIiwgIm9wZW4tcXVvdGUi
LCAib3B0aW1pemVMZWdpYmlsaXR5IiwKLSAgICAgICAgIm9wdGltaXplU3BlZWQiLCAib3Jhbmdl
IiwgIm9yb21vIiwgIm91dHNldCIsICJvdXRzaWRlIiwgIm92ZXJsYXkiLCAib3ZlcmxpbmUiLCAi
cGFkZGluZyIsICJwYWRkaW5nLWJveCIsICJwYWludGVkIiwgInBhdXNlZCIsCi0gICAgICAgICJw
bHVzLWRhcmtlciIsICJwbHVzLWxpZ2h0ZXIiLCAicG9pbnRlciIsICJwb3J0cmFpdCIsICJwcmUi
LCAicHJlLWxpbmUiLCAicHJlLXdyYXAiLCAicHJlc2VydmUtM2QiLCAicHJvZ3Jlc3MiLCAicHVy
cGxlIiwKLSAgICAgICAgInB1c2gtYnV0dG9uIiwgInJhZGlvIiwgInJlYWQtb25seSIsICJyZWFk
LXdyaXRlIiwgInJlYWQtd3JpdGUtcGxhaW50ZXh0LW9ubHkiLCAicmVkIiwgInJlbGF0aXZlIiwg
InJlcGVhdCIsICJyZXBlYXQteCIsCi0gICAgICAgICJyZXBlYXQteSIsICJyZXNldCIsICJyZXZl
cnNlIiwgInJpZGdlIiwgInJpZ2h0IiwgInJvdW5kIiwgInJvdy1yZXNpemUiLCAicnRsIiwgInJ1
bi1pbiIsICJydW5uaW5nIiwgInMtcmVzaXplIiwgInNhbnMtc2VyaWYiLAotICAgICAgICAic2Ny
b2xsIiwgInNjcm9sbGJhciIsICJzZS1yZXNpemUiLCAic2VhcmNoZmllbGQiLCAic2VhcmNoZmll
bGQtY2FuY2VsLWJ1dHRvbiIsICJzZWFyY2hmaWVsZC1kZWNvcmF0aW9uIiwgInNlYXJjaGZpZWxk
LXJlc3VsdHMtYnV0dG9uIiwKLSAgICAgICAgInNlYXJjaGZpZWxkLXJlc3VsdHMtZGVjb3JhdGlv
biIsICJzZW1pLWNvbmRlbnNlZCIsICJzZW1pLWV4cGFuZGVkIiwgInNlcGFyYXRlIiwgInNlcmlm
IiwgInNob3ciLCAic2lkYW1hIiwgInNpbHZlciIsICJzaW5nbGUiLAotICAgICAgICAic2tpcC13
aGl0ZS1zcGFjZSIsICJzbGlkZSIsICJzbGlkZXItaG9yaXpvbnRhbCIsICJzbGlkZXItdmVydGlj
YWwiLCAic2xpZGVydGh1bWItaG9yaXpvbnRhbCIsICJzbGlkZXJ0aHVtYi12ZXJ0aWNhbCIsICJz
bG93IiwKLSAgICAgICAgInNtYWxsIiwgInNtYWxsLWNhcHMiLCAic21hbGwtY2FwdGlvbiIsICJz
bWFsbGVyIiwgInNvbGlkIiwgInNvbWFsaSIsICJzb3VyY2UtYXRvcCIsICJzb3VyY2UtaW4iLCAi
c291cmNlLW91dCIsICJzb3VyY2Utb3ZlciIsCi0gICAgICAgICJzcGFjZSIsICJzcXVhcmUiLCAi
c3F1YXJlLWJ1dHRvbiIsICJzdGFydCIsICJzdGF0aWMiLCAic3RhdHVzLWJhciIsICJzdHJldGNo
IiwgInN0cm9rZSIsICJzdWIiLCAic3VicGl4ZWwtYW50aWFsaWFzZWQiLCAic3VwZXIiLAotICAg
ICAgICAic3ctcmVzaXplIiwgInRhYmxlIiwgInRhYmxlLWNhcHRpb24iLCAidGFibGUtY2VsbCIs
ICJ0YWJsZS1jb2x1bW4iLCAidGFibGUtY29sdW1uLWdyb3VwIiwgInRhYmxlLWZvb3Rlci1ncm91
cCIsICJ0YWJsZS1oZWFkZXItZ3JvdXAiLAotICAgICAgICAidGFibGUtcm93IiwgInRhYmxlLXJv
dy1ncm91cCIsICJ0ZWFsIiwgInRleHQiLCAidGV4dC1ib3R0b20iLCAidGV4dC10b3AiLCAidGV4
dGFyZWEiLCAidGV4dGZpZWxkIiwgInRoaWNrIiwgInRoaW4iLCAidGhyZWVkZGFya3NoYWRvdyIs
Ci0gICAgICAgICJ0aHJlZWRmYWNlIiwgInRocmVlZGhpZ2hsaWdodCIsICJ0aHJlZWRsaWdodHNo
YWRvdyIsICJ0aHJlZWRzaGFkb3ciLCAidGlncmUiLCAidGlncmlueWEtZXIiLCAidGlncmlueWEt
ZXItYWJlZ2VkZSIsICJ0aWdyaW55YS1ldCIsCi0gICAgICAgICJ0aWdyaW55YS1ldC1hYmVnZWRl
IiwgInRvcCIsICJ0cmFuc3BhcmVudCIsICJ1bHRyYS1jb25kZW5zZWQiLCAidWx0cmEtZXhwYW5k
ZWQiLCAidW5kZXJsaW5lIiwgInVwIiwgInVwcGVyLWFscGhhIiwgInVwcGVyLWdyZWVrIiwKLSAg
ICAgICAgInVwcGVyLWxhdGluIiwgInVwcGVyLW5vcndlZ2lhbiIsICJ1cHBlci1yb21hbiIsICJ1
cHBlcmNhc2UiLCAidmVydGljYWwiLCAidmVydGljYWwtdGV4dCIsICJ2aXNpYmxlIiwgInZpc2li
bGVGaWxsIiwgInZpc2libGVQYWludGVkIiwKLSAgICAgICAgInZpc2libGVTdHJva2UiLCAidmlz
dWFsIiwgInctcmVzaXplIiwgIndhaXQiLCAid2F2ZSIsICJ3aGl0ZSIsICJ3aWRlciIsICJ3aW5k
b3ciLCAid2luZG93ZnJhbWUiLCAid2luZG93dGV4dCIsICJ4LWxhcmdlIiwgIngtc21hbGwiLAot
ICAgICAgICAieG9yIiwgInh4LWxhcmdlIiwgInh4LXNtYWxsIiwgInllbGxvdyIsICItd2FwLW1h
cnF1ZWUiLCAiLXdlYmtpdC1hY3RpdmVsaW5rIiwgIi13ZWJraXQtYXV0byIsICItd2Via2l0LWJh
c2VsaW5lLW1pZGRsZSIsICItd2Via2l0LWJvZHkiLAotICAgICAgICAiLXdlYmtpdC1ib3giLCAi
LXdlYmtpdC1jZW50ZXIiLCAiLXdlYmtpdC1jb250cm9sIiwgIi13ZWJraXQtZm9jdXMtcmluZy1j
b2xvciIsICItd2Via2l0LWdyYWIiLCAiLXdlYmtpdC1ncmFiYmluZyIsICItd2Via2l0LWlubGlu
ZS1ib3giLAotICAgICAgICAiLXdlYmtpdC1sZWZ0IiwgIi13ZWJraXQtbGluayIsICItd2Via2l0
LW1hcnF1ZWUiLCAiLXdlYmtpdC1taW5pLWNvbnRyb2wiLCAiLXdlYmtpdC1ub3dyYXAiLCAiLXdl
YmtpdC1yaWdodCIsICItd2Via2l0LXNtYWxsLWNvbnRyb2wiLAotICAgICAgICAiLXdlYmtpdC10
ZXh0IiwgIi13ZWJraXQteHh4LWxhcmdlIiwgIi13ZWJraXQtem9vbS1pbiIsICItd2Via2l0LXpv
b20tb3V0IiwKLSAgICBdLmtleVNldCgpOwotCi0gICAgY29uc3QgbWVkaWFUeXBlcyA9IFsiYWxs
IiwgImF1cmFsIiwgImJyYWlsbGUiLCAiZW1ib3NzZWQiLCAiaGFuZGhlbGQiLCAicHJpbnQiLCAi
cHJvamVjdGlvbiIsICJzY3JlZW4iLCAidHR5IiwgInR2Il0ua2V5U2V0KCk7Ci0KLSAgICB0aGlz
LnJ1bGVzID0gW3sKLSAgICAgICAgbmFtZTogImNvbW1lbnRBY3Rpb24iLAotICAgICAgICBwYXR0
ZXJuOiAvXlwvXCpbXlwqXSpcKisoW15cLypdW14qXSpcKispKlwvL2ksCi0gICAgICAgIHN0eWxl
OiAid2Via2l0LWNzcy1jb21tZW50IgotICAgIH0sIHsKLSAgICAgICAgbmFtZTogImNvbW1lbnRT
dGFydEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86XC9cKig/OlteXCpdfFwqW15cL10p
KikvaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3NzLWNvbW1lbnQiLAotICAgICAgICBwb3N0
Q29udGludWVTdGF0ZTogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQKLSAgICB9LCB7Ci0gICAg
ICAgIG5hbWU6ICJjb21tZW50RW5kQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL14oPzooPzpb
XlwqXXxcKlteXC9dKSpcKitcLykvaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3NzLWNvbW1l
bnQiLAotICAgICAgICBwcmVDb250aW51ZVN0YXRlOiB0aGlzLkNvbnRpbnVlU3RhdGUuQ29tbWVu
dCwKLSAgICAgICAgcG9zdENvbnRpbnVlU3RhdGU6IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lCi0g
ICAgfSwgewotICAgICAgICBuYW1lOiAiY29tbWVudE1pZGRsZUFjdGlvbiIsCi0gICAgICAgIHBh
dHRlcm46IC9eLiovaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3NzLWNvbW1lbnQiLAotICAg
ICAgICBwcmVDb250aW51ZVN0YXRlOiB0aGlzLkNvbnRpbnVlU3RhdGUuQ29tbWVudAotICAgIH0s
IHsKLSAgICAgICAgbmFtZTogInNlbGVjdG9yQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL14o
PzooPzotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEt
Zl17MSw2fVxzP3xcLikpKnxcKikoPzojLT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xcLikp
KD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8XC4tPyg/Olx3fCg/OlxcW1xkYS1m
XXsxLDZ9XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKnxcW1xzKi0/
KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqXHMqKD86KD86PXx+PXxcfD0pXHMqKD86LT8oPzpcd3woPzpcXFtcZGEtZl17MSw2
fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8KD86Iig/OlteXFxc
Il18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqJykpXHMqKT9cXXw6KD86LT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xc
LikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8LT8oPzpcd3woPzpcXFtcZGEt
Zl17MSw2fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSpcKFxzKig/
Oi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqXHMqKT9cKSkpKnwoPzojLT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xc
LikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8XC4tPyg/Olx3fCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKnxcW1xz
Ki0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqXHMqKD86KD86PXx+PXxcfD0pXHMqKD86LT8oPzpcd3woPzpcXFtcZGEtZl17
MSw2fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8KD86Iig/Olte
XFxcIl18KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSoifCcoPzpbXlxcXCddfCg/OlxcW1xkYS1m
XXsxLDZ9XHM/fFwuKSkqJykpXHMqKT9cXXw6KD86LT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8LT8oPzpcd3woPzpcXFtc
ZGEtZl17MSw2fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSpcKFxz
Kig/Oi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1m
XXsxLDZ9XHM/fFwuKSkqXHMqKT9cKSkpKykvaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3Nz
LXNlbGVjdG9yIiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuSW5pdGlhbAot
ICAgIH0sIHsKLSAgICAgICAgbmFtZTogInN0YXJ0UnVsZXNldEJsb2NrQWN0aW9uIiwKLSAgICAg
ICAgcGF0dGVybjogc3RhcnRCbG9ja1BhdHRlcm4sCi0gICAgICAgIHByZUxleFN0YXRlOiB0aGlz
LkxleFN0YXRlLkluaXRpYWwsCi0gICAgICAgIHBvc3RMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5E
ZWNsYXJhdGlvblByb3BlcnR5Ci0gICAgfSwgewotICAgICAgICBuYW1lOiAicHJvcGVydHlBY3Rp
b24iLAotICAgICAgICBwYXR0ZXJuOiBpZGVudFBhdHRlcm4sCi0gICAgICAgIHN0eWxlOiAid2Vi
a2l0LWNzcy1wcm9wZXJ0eSIsCi0gICAgICAgIGtleXdvcmRzOiBwcm9wZXJ0eUtleXdvcmRzLAot
ICAgICAgICBwcmVMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblByb3BlcnR5LAot
ICAgIH0sIHsKLSAgICAgICAgbmFtZTogImRlY2xhcmF0aW9uQ29sb25BY3Rpb24iLAotICAgICAg
ICBwYXR0ZXJuOiAvXjovaSwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuRGVj
bGFyYXRpb25Qcm9wZXJ0eSwKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlzLkxleFN0YXRlLkRl
Y2xhcmF0aW9uVmFsdWUKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJjb2xvckFjdGlvbiIsCi0g
ICAgICAgIHBhdHRlcm46IC9eKD86Iyg/OltcZGEtZl17Nn18W1xkYS1mXXszfSl8cmdiYVwoXHMq
KD86XGQrfFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8
XGQqXC5cZCspJT9ccyosXHMqKD86XGQrfFxkKlwuXGQrKSU/XHMqXCl8aHNsYVwoXHMqKD86XGQr
fFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8XGQqXC5c
ZCspJT9ccyosXHMqKD86XGQrfFxkKlwuXGQrKSU/XHMqXCl8cmdiXChccyooPzpcZCt8XGQqXC5c
ZCspJT9ccyosXHMqKD86XGQrfFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xz
KlwpfGhzbFwoXHMqKD86XGQrfFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xz
KixccyooPzpcZCt8XGQqXC5cZCspJT9ccypcKSkvaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQt
Y3NzLWNvbG9yIiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRp
b25WYWx1ZQotICAgIH0sIHsKLSAgICAgICAgbmFtZTogIm51bXZhbHVlQWN0aW9uIiwKLSAgICAg
ICAgcGF0dGVybjogL14oPzotPyg/OlxkK3xcZCpcLlxkKykoPzplbXxyZW18X19xZW18ZXh8cHh8
Y218bW18aW58cHR8cGN8ZGVnfHJhZHxncmFkfHR1cm58bXN8c3xIenxrSHp8JSk/KS9pLAotICAg
ICAgICBzdHlsZTogIndlYmtpdC1jc3MtbnVtYmVyIiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRo
aXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQotICAgIH0sIHsKLSAgICAgICAgbmFtZTogInVy
bEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IHVybFBhdHRlcm4sCi0gICAgICAgIHN0eWxlOiAi
d2Via2l0LWNzcy11cmwiLAotICAgICAgICBwcmVMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5EZWNs
YXJhdGlvblZhbHVlCi0gICAgfSwgewotICAgICAgICBuYW1lOiAic3RyaW5nQWN0aW9uIiwKLSAg
ICAgICAgcGF0dGVybjogc3RyaW5nUGF0dGVybiwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3Nz
LXN0cmluZyIsCi0gICAgICAgIHByZUxleFN0YXRlOiB0aGlzLkxleFN0YXRlLkRlY2xhcmF0aW9u
VmFsdWUKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJpbXBvcnRhbnRBY3Rpb24iLAotICAgICAg
ICBwYXR0ZXJuOiAvXiFccyppbXBvcnRhbnQvaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3Nz
LWltcG9ydGFudCIsCi0gICAgICAgIHByZUxleFN0YXRlOiB0aGlzLkxleFN0YXRlLkRlY2xhcmF0
aW9uVmFsdWUKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJ2YWx1ZUlkZW50QWN0aW9uIiwKLSAg
ICAgICAgcGF0dGVybjogaWRlbnRQYXR0ZXJuLAotICAgICAgICBrZXl3b3JkczogdmFsdWVLZXl3
b3JkcywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3NzLWtleXdvcmQiLAotICAgICAgICBwcmVM
ZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblZhbHVlCi0gICAgfSwgewotICAgICAg
ICBuYW1lOiAiZGVjbGFyYXRpb25TZW1pY29sb25BY3Rpb24iLAotICAgICAgICBwYXR0ZXJuOiAv
XjsvaSwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1
ZSwKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlzLkxleFN0YXRlLkRlY2xhcmF0aW9uUHJvcGVy
dHkKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJlbmRSdWxlc2V0QmxvY2tBY3Rpb24iLAotICAg
ICAgICBwYXR0ZXJuOiBlbmRCbG9ja1BhdHRlcm4sCi0gICAgICAgIHByZUxleFN0YXRlOiB0aGlz
LkxleFN0YXRlLkRlY2xhcmF0aW9uUHJvcGVydHksCi0gICAgICAgIHBvc3RMZXhTdGF0ZTogdGhp
cy5MZXhTdGF0ZS5Jbml0aWFsCi0gICAgfSwgewotICAgICAgICBuYW1lOiAiYXRNZWRpYUFjdGlv
biIsCi0gICAgICAgIHBhdHRlcm46IC9eQG1lZGlhL2ksCi0gICAgICAgIHN0eWxlOiAid2Via2l0
LWNzcy1hdC1ydWxlIiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuSW5pdGlh
bCwKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlzLkxleFN0YXRlLkF0TWVkaWEKLSAgICB9LCB7
Ci0gICAgICAgIG5hbWU6ICJzdGFydEF0TWVkaWFCbG9ja0FjdGlvbiIsCi0gICAgICAgIHBhdHRl
cm46IHN0YXJ0QmxvY2tQYXR0ZXJuLAotICAgICAgICBwcmVMZXhTdGF0ZTogdGhpcy5MZXhTdGF0
ZS5BdE1lZGlhLAotICAgICAgICBwb3N0TGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuSW5pdGlhbAot
ICAgIH0sIHsKLSAgICAgICAgbmFtZTogImF0S2V5ZnJhbWVzQWN0aW9uIiwKLSAgICAgICAgcGF0
dGVybjogL15ALXdlYmtpdC1rZXlmcmFtZXMvaSwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3Nz
LWF0LXJ1bGUiLAotICAgICAgICBwcmVMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5Jbml0aWFsLAot
ICAgICAgICBwb3N0TGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuQXRLZXlmcmFtZXMKLSAgICB9LCB7
Ci0gICAgICAgIG5hbWU6ICJzdGFydEF0S2V5ZnJhbWVzQmxvY2tBY3Rpb24iLAotICAgICAgICBw
YXR0ZXJuOiBzdGFydEJsb2NrUGF0dGVybiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4
U3RhdGUuQXRLZXlmcmFtZXMsCi0gICAgICAgIHBvc3RMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5J
bml0aWFsCi0gICAgfSwgewotICAgICAgICBuYW1lOiAiYXRSdWxlQWN0aW9uIiwKLSAgICAgICAg
c3R5bGU6ICJ3ZWJraXQtY3NzLWF0LXJ1bGUiLAotICAgICAgICBwYXR0ZXJuOiAvXkAtPyg/Olx3
fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xc
LikpKi9pLAotICAgICAgICBwcmVMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5Jbml0aWFsLAotICAg
ICAgICBwb3N0TGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuQXRSdWxlCi0gICAgfSwgewotICAgICAg
ICBuYW1lOiAiZW5kQXRSdWxlQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL147L2ksCi0gICAg
ICAgIHByZUxleFN0YXRlOiB0aGlzLkxleFN0YXRlLkF0UnVsZSwKLSAgICAgICAgcG9zdExleFN0
YXRlOiB0aGlzLkxleFN0YXRlLkluaXRpYWwKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJ1cmxB
Y3Rpb24iLAotICAgICAgICBwYXR0ZXJuOiB1cmxQYXR0ZXJuLAotICAgICAgICBzdHlsZTogIndl
YmtpdC1jc3MtdXJsIiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuQXRSdWxl
Ci0gICAgfSwgewotICAgICAgICBuYW1lOiAic3RyaW5nQWN0aW9uIiwKLSAgICAgICAgcGF0dGVy
bjogc3RyaW5nUGF0dGVybiwKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3NzLXN0cmluZyIsCi0g
ICAgICAgIHByZUxleFN0YXRlOiB0aGlzLkxleFN0YXRlLkF0UnVsZQotICAgIH0sIHsKLSAgICAg
ICAgbmFtZTogInN0cmluZ0FjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IHN0cmluZ1BhdHRlcm4s
Ci0gICAgICAgIHN0eWxlOiAid2Via2l0LWNzcy1zdHJpbmciLAotICAgICAgICBwcmVMZXhTdGF0
ZTogdGhpcy5MZXhTdGF0ZS5BdEtleWZyYW1lcwotICAgIH0sIHsKLSAgICAgICAgbmFtZTogImF0
UnVsZUlkZW50QWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogaWRlbnRQYXR0ZXJuLAotICAgICAg
ICBrZXl3b3JkczogbWVkaWFUeXBlcywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtY3NzLWtleXdv
cmQiLAotICAgICAgICBwcmVMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5BdFJ1bGUKLSAgICB9LCB7
Ci0gICAgICAgIG5hbWU6ICJhdFJ1bGVJZGVudEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IGlk
ZW50UGF0dGVybiwKLSAgICAgICAga2V5d29yZHM6IG1lZGlhVHlwZXMsCi0gICAgICAgIHN0eWxl
OiAid2Via2l0LWNzcy1rZXl3b3JkIiwKLSAgICAgICAgcHJlTGV4U3RhdGU6IHRoaXMuTGV4U3Rh
dGUuQXRNZWRpYSwKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJzdGFydEF0UnVsZUJsb2NrQWN0
aW9uIiwKLSAgICAgICAgcGF0dGVybjogc3RhcnRCbG9ja1BhdHRlcm4sCi0gICAgICAgIHByZUxl
eFN0YXRlOiB0aGlzLkxleFN0YXRlLkF0UnVsZSwKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlz
LkxleFN0YXRlLkRlY2xhcmF0aW9uUHJvcGVydHkKLSAgICB9XTsKLX0KLQotV2ViSW5zcGVjdG9y
LkNTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN5bnRheEhpZ2hsaWdodGVyLmpzIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN5bnRheEhpZ2hsaWdodGVyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MjMzZDMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3ludGF4SGlnaGxpZ2h0ZXIuanMKQEAgLTAsMCAr
MSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1dlYkluc3BlY3Rvci5ET01TeW50YXhIaWdobGlnaHRlciA9IGZ1bmN0aW9uKG1pbWVU
eXBlKQoreworICAgIHRoaXMuX3Rva2VuaXplciA9IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6
ZXIuUmVnaXN0cnkuZ2V0SW5zdGFuY2UoKS5nZXRUb2tlbml6ZXIobWltZVR5cGUpOworfQorCitX
ZWJJbnNwZWN0b3IuRE9NU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90eXBlID0geworICAgIGNyZWF0
ZVNwYW46IGZ1bmN0aW9uKGNvbnRlbnQsIGNsYXNzTmFtZSkKKyAgICB7CisgICAgICAgIHZhciBz
cGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgICAgICBzcGFuLmNsYXNz
TmFtZSA9ICJ3ZWJraXQtIiArIGNsYXNzTmFtZTsKKyAgICAgICAgc3Bhbi5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSk7CisgICAgICAgIHJldHVybiBzcGFuOwor
ICAgIH0sCisKKyAgICBzeW50YXhIaWdobGlnaHROb2RlOiBmdW5jdGlvbihub2RlKQorICAgIHsK
KyAgICAgICAgdGhpcy5fdG9rZW5pemVyLmNvbmRpdGlvbiA9IHRoaXMuX3Rva2VuaXplci5pbml0
aWFsQ29uZGl0aW9uOworICAgICAgICB2YXIgbGluZXMgPSBub2RlLnRleHRDb250ZW50LnNwbGl0
KCJcbiIpOworICAgICAgICBub2RlLnJlbW92ZUNoaWxkcmVuKCk7CisKKyAgICAgICAgZm9yICh2
YXIgaSA9IGxpbmVzWzBdLmxlbmd0aCA/IDAgOiAxOyBpIDwgbGluZXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgICAgIHZhciBsaW5lID0gbGluZXNbaV07CisgICAgICAgICAgICB2YXIgcGxhaW5U
ZXh0U3RhcnQgPSAwOworICAgICAgICAgICAgdGhpcy5fdG9rZW5pemVyLmxpbmUgPSBsaW5lOwor
ICAgICAgICAgICAgdmFyIGNvbHVtbiA9IDA7CisgICAgICAgICAgICBkbyB7CisgICAgICAgICAg
ICAgICAgdmFyIG5ld0NvbHVtbiA9IHRoaXMuX3Rva2VuaXplci5uZXh0VG9rZW4oY29sdW1uKTsK
KyAgICAgICAgICAgICAgICB2YXIgdG9rZW5UeXBlID0gdGhpcy5fdG9rZW5pemVyLnRva2VuVHlw
ZTsKKyAgICAgICAgICAgICAgICBpZiAodG9rZW5UeXBlKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChjb2x1bW4gPiBwbGFpblRleHRTdGFydCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIHBsYWluVGV4dCA9IGxpbmUuc3Vic3RyaW5nKHBsYWluVGV4dFN0YXJ0LCBjb2x1bW4pOwor
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShwbGFpblRleHQpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgICAgICB2YXIgdG9rZW4gPSBsaW5lLnN1YnN0cmluZyhjb2x1bW4sIG5ld0NvbHVtbik7Cisg
ICAgICAgICAgICAgICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2Vu
LCB0b2tlblR5cGUpKTsKKyAgICAgICAgICAgICAgICAgICAgcGxhaW5UZXh0U3RhcnQgPSBuZXdD
b2x1bW47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNvbHVtbiA9IG5ld0Nv
bHVtbjsKKyAgICAgICAgICAgfSB3aGlsZSAoY29sdW1uIDwgbGluZS5sZW5ndGgpCisKKyAgICAg
ICAgICAgaWYgKHBsYWluVGV4dFN0YXJ0IDwgbGluZS5sZW5ndGgpIHsKKyAgICAgICAgICAgICAg
IHZhciBwbGFpblRleHQgPSBsaW5lLnN1YnN0cmluZyhwbGFpblRleHRTdGFydCwgbGluZS5sZW5n
dGgpOworICAgICAgICAgICAgICAgbm9kZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZShwbGFpblRleHQpKTsKKyAgICAgICAgICAgfQorICAgICAgICAgICBpZiAoaSA8IGxpbmVz
Lmxlbmd0aCAtIDEpCisgICAgICAgICAgICAgICBub2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImJyIikpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwppbmRleCA4N2ZiOGNl
Li5kMzhhN2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVu
dHNUcmVlT3V0bGluZS5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVu
dHNUcmVlT3V0bGluZS5qcwpAQCAtOTc5LDcgKzk3OSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50
c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBu
ZXdOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3Tm9kZS50ZXh0Q29udGVudCA9IG5vZGUudGV4dENvbnRlbnQ7CiAKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHZhciBqYXZhc2NyaXB0U3ludGF4SGlnaGxpZ2h0ZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VTeW50YXhIaWdobGlnaHRlcihudWxsLCBudWxs
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBqYXZhc2NyaXB0U3ludGF4SGlnaGxpZ2h0
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTVN5bnRheEhpZ2hsaWdodGVyKCJ0ZXh0L2phdmFzY3Jp
cHQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGphdmFzY3JpcHRTeW50YXhIaWdobGlnaHRl
ci5zeW50YXhIaWdobGlnaHROb2RlKG5ld05vZGUpOwogICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLnRpdGxlID0gIjxzcGFuIGNsYXNzPVwid2Vi
a2l0LWh0bWwtdGV4dC1ub2RlIHdlYmtpdC1odG1sLWpzLW5vZGVcIj4iICsgbmV3Tm9kZS5pbm5l
ckhUTUwucmVwbGFjZSgvXltcblxyXSovLCAiIikucmVwbGFjZSgvXHMqJC8sICIiKSArICI8L3Nw
YW4+IjsKQEAgLTk4Nyw3ICs5ODcsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVu
dC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmV3Tm9kZSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG5l
d05vZGUudGV4dENvbnRlbnQgPSBub2RlLnRleHRDb250ZW50OwogICAgICAgICAgICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3NzU3ludGF4SGlnaGxpZ2h0ZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkNTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyKG51bGwsIG51bGwp
OworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNzc1N5bnRheEhpZ2hsaWdodGVyID0gbmV3
IFdlYkluc3BlY3Rvci5ET01TeW50YXhIaWdobGlnaHRlcigidGV4dC9jc3MiKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGNzc1N5bnRheEhpZ2hsaWdodGVyLnN5bnRheEhpZ2hsaWdodE5vZGUo
bmV3Tm9kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgIGluZm8udGl0bGUgPSAiPHNwYW4gY2xhc3M9XCJ3ZWJraXQtaHRtbC10ZXh0LW5vZGUgd2Vi
a2l0LWh0bWwtY3NzLW5vZGVcIj4iICsgbmV3Tm9kZS5pbm5lckhUTUwucmVwbGFjZSgvXltcblxy
XSovLCAiIikucmVwbGFjZSgvXHMqJC8sICIiKSArICI8L3NwYW4+IjsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlU3ludGF4SGlnaGxpZ2h0
ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZVN5bnRh
eEhpZ2hsaWdodGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjBjMjJiLi4w
MDAwMDAwCi0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNl
U3ludGF4SGlnaGxpZ2h0ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwyMDMgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDkgSm9zZXBoIFBlY29yYXJvCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlU3lu
dGF4SGlnaGxpZ2h0ZXIgPSBmdW5jdGlvbih0YWJsZSwgc291cmNlRnJhbWUpIHsKLSAgICBXZWJJ
bnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuY2FsbCh0aGlzLCB0YWJsZSwgc291cmNl
RnJhbWUpOwotCi0gICAgdGhpcy5MZXhTdGF0ZSA9IHsKLSAgICAgICAgSW5pdGlhbDogMSwKLSAg
ICAgICAgRGl2aXNpb25BbGxvd2VkOiAyLAotICAgIH07Ci0gICAgdGhpcy5Db250aW51ZVN0YXRl
ID0gewotICAgICAgICBOb25lOiAwLAotICAgICAgICBDb21tZW50OiAxLAotICAgICAgICBTaW5n
bGVRdW90ZVN0cmluZzogMiwKLSAgICAgICAgRG91YmxlUXVvdGVTdHJpbmc6IDMsCi0gICAgICAg
IFJlZ0V4cDogNAotICAgIH07Ci0gICAgCi0gICAgdGhpcy5ub25Ub2tlbiA9ICIiOwotICAgIHRo
aXMuY3Vyc29yID0gMDsKLSAgICB0aGlzLmxpbmVJbmRleCA9IC0xOwotICAgIHRoaXMubGluZUNv
ZGUgPSAiIjsKLSAgICB0aGlzLm5ld0xpbmUgPSBudWxsOwotICAgIHRoaXMubGV4U3RhdGUgPSB0
aGlzLkxleFN0YXRlLkluaXRpYWw7Ci0gICAgdGhpcy5jb250aW51ZVN0YXRlID0gdGhpcy5Db250
aW51ZVN0YXRlLk5vbmU7Ci0KLSAgICBjb25zdCBrZXl3b3JkcyA9IFsKLSAgICAgICAgIm51bGwi
LCAidHJ1ZSIsICJmYWxzZSIsICJicmVhayIsICJjYXNlIiwgImNhdGNoIiwgImNvbnN0IiwgImRl
ZmF1bHQiLCAiZmluYWxseSIsICJmb3IiLAotICAgICAgICAiaW5zdGFuY2VvZiIsICJuZXciLCAi
dmFyIiwgImNvbnRpbnVlIiwgImZ1bmN0aW9uIiwgInJldHVybiIsICJ2b2lkIiwgImRlbGV0ZSIs
ICJpZiIsCi0gICAgICAgICJ0aGlzIiwgImRvIiwgIndoaWxlIiwgImVsc2UiLCAiaW4iLCAic3dp
dGNoIiwgInRocm93IiwgInRyeSIsICJ0eXBlb2YiLCAiZGVidWdnZXIiLAotICAgICAgICAiY2xh
c3MiLCAiZW51bSIsICJleHBvcnQiLCAiZXh0ZW5kcyIsICJpbXBvcnQiLCAic3VwZXIiLCAiZ2V0
IiwgInNldCIKLSAgICBdLmtleVNldCgpOwotCi0gICAgdGhpcy5ydWxlcyA9IFt7Ci0gICAgICAg
IG5hbWU6ICJzaW5nbGVMaW5lQ29tbWVudEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86
XC9cLy4qKS8sCi0gICAgICAgIHN0eWxlOiAid2Via2l0LWphdmFzY3JpcHQtY29tbWVudCIKLSAg
ICB9LCB7Ci0gICAgICAgIG5hbWU6ICJtdWx0aUxpbmVTaW5nbGVMaW5lQ29tbWVudEFjdGlvbiIs
Ci0gICAgICAgIHBhdHRlcm46IC9eKD86XC9cKig/OlteXCpdfFwqW15cL10pKlwqK1wvKS8sCi0g
ICAgICAgIHN0eWxlOiAid2Via2l0LWphdmFzY3JpcHQtY29tbWVudCIKLSAgICB9LCB7Ci0gICAg
ICAgIG5hbWU6ICJtdWx0aUxpbmVDb21tZW50U3RhcnRBY3Rpb24iLAotICAgICAgICBwYXR0ZXJu
OiAvXig/OlwvXCooPzpbXlwqXXxcKlteXC9dKSopLywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQt
amF2YXNjcmlwdC1jb21tZW50IiwKLSAgICAgICAgcG9zdENvbnRpbnVlU3RhdGU6IHRoaXMuQ29u
dGludWVTdGF0ZS5Db21tZW50Ci0gICAgfSwgewotICAgICAgICBuYW1lOiAibXVsdGlMaW5lQ29t
bWVudEVuZEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86KD86W15cKl18XCpbXlwvXSkq
XCorXC8pLywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtamF2YXNjcmlwdC1jb21tZW50IiwKLSAg
ICAgICAgcHJlQ29udGludWVTdGF0ZTogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQsCi0gICAg
ICAgIHBvc3RDb250aW51ZVN0YXRlOiB0aGlzLkNvbnRpbnVlU3RhdGUuTm9uZQotICAgIH0sIHsK
LSAgICAgICAgbmFtZTogIm11bHRpTGluZUNvbW1lbnRNaWRkbGVBY3Rpb24iLAotICAgICAgICBw
YXR0ZXJuOiAvXi4qLywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtamF2YXNjcmlwdC1jb21tZW50
IiwKLSAgICAgICAgcHJlQ29udGludWVTdGF0ZTogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQK
LSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJudW1lcmljTGl0ZXJhbEFjdGlvbiIsCi0gICAgICAg
IHBhdHRlcm46IC9eKD86KD86MHxbMS05XVxkKilcLlxkKz8oPzpbZUVdKD86XGQrfFwrXGQrfC1c
ZCspKT98XC5cZCsoPzpbZUVdKD86XGQrfFwrXGQrfC1cZCspKT98KD86MHxbMS05XVxkKikoPzpb
ZUVdKD86XGQrfFwrXGQrfC1cZCspKT98MHhbMC05YS1mQS1GXSt8MFhbMC05YS1mQS1GXSspLywK
LSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtamF2YXNjcmlwdC1udW1iZXIiLAotICAgICAgICBwb3N0
TGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuRGl2aXNpb25BbGxvd2VkCi0gICAgfSwgewotICAgICAg
ICBuYW1lOiAic3RyaW5nTGl0ZXJhbEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86Iig/
OlteIlxcXXxcXCg/OlsnIlxiZm5ydHZdfFteJyJcYmZucnR2MC05eHVdfDB8eFswLTlhLWZBLUZd
WzAtOWEtZkEtRl18KD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZB
LUZdKSkpKiJ8Jyg/OlteJ1xcXXxcXCg/OlsnIlxiZm5ydHZdfFteJyJcYmZucnR2MC05eHVdfDB8
eFswLTlhLWZBLUZdWzAtOWEtZkEtRl18KD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1m
QS1GXVswLTlhLWZBLUZdKSkpKicpLywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtamF2YXNjcmlw
dC1zdHJpbmciLAotICAgICAgICBwb3N0TGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuSW5pdGlhbAot
ICAgIH0sIHsKLSAgICAgICAgbmFtZTogInNpbmdsZVF1b3RlU3RyaW5nU3RhcnRBY3Rpb24iLAot
ICAgICAgICBwYXR0ZXJuOiAvXig/OicoPzpbXidcXF18XFwoPzpbJyJcYmZucnR2XXxbXiciXGJm
bnJ0djAtOXh1XXwwfHhbMC05YS1mQS1GXVswLTlhLWZBLUZdfCg/OnVbMC05YS1mQS1GXVswLTlh
LWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXSkpKSopXFwkLywKLSAgICAgICAgc3R5bGU6ICJ3
ZWJraXQtamF2YXNjcmlwdC1zdHJpbmciLAotICAgICAgICBwb3N0Q29udGludWVTdGF0ZTogIHRo
aXMuQ29udGludWVTdGF0ZS5TaW5nbGVRdW90ZVN0cmluZwotICAgIH0sIHsKLSAgICAgICAgbmFt
ZTogInNpbmdsZVF1b3RlU3RyaW5nRW5kQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL14oPzoo
PzpbXidcXF18XFwoPzpbJyJcYmZucnR2XXxbXiciXGJmbnJ0djAtOXh1XXwwfHhbMC05YS1mQS1G
XVswLTlhLWZBLUZdfCg/OnVbMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1m
QS1GXSkpKSonKS8sCi0gICAgICAgIHN0eWxlOiAid2Via2l0LWphdmFzY3JpcHQtc3RyaW5nIiwK
LSAgICAgICAgcHJlQ29udGludWVTdGF0ZTogdGhpcy5Db250aW51ZVN0YXRlLlNpbmdsZVF1b3Rl
U3RyaW5nLAotICAgICAgICBwb3N0Q29udGludWVTdGF0ZTogdGhpcy5Db250aW51ZVN0YXRlLk5v
bmUKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJzaW5nbGVRdW90ZVN0cmluZ01pZGRsZUFjdGlv
biIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86KD86W14nXFxdfFxcKD86WyciXGJmbnJ0dl18W14n
IlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAtOWEtZkEtRl1b
MC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqKVxcJC8sCi0gICAgICAgIHN0eWxl
OiAid2Via2l0LWphdmFzY3JpcHQtc3RyaW5nIiwKLSAgICAgICAgcHJlQ29udGludWVTdGF0ZTog
dGhpcy5Db250aW51ZVN0YXRlLlNpbmdsZVF1b3RlU3RyaW5nCi0gICAgfSwgewotICAgICAgICBu
YW1lOiAiZG91YmxlUXVvdGVTdHJpbmdTdGFydEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9e
KD86Iig/OlteIlxcXXxcXCg/OlsnIlxiZm5ydHZdfFteJyJcYmZucnR2MC05eHVdfDB8eFswLTlh
LWZBLUZdWzAtOWEtZkEtRl18KD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVsw
LTlhLWZBLUZdKSkpKilcXCQvLAotICAgICAgICBzdHlsZTogIndlYmtpdC1qYXZhc2NyaXB0LXN0
cmluZyIsCi0gICAgICAgIHBvc3RDb250aW51ZVN0YXRlOiB0aGlzLkNvbnRpbnVlU3RhdGUuRG91
YmxlUXVvdGVTdHJpbmcKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJkb3VibGVRdW90ZVN0cmlu
Z0VuZEFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86KD86W14iXFxdfFxcKD86WyciXGJm
bnJ0dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAt
OWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqIikvLAotICAgICAg
ICBzdHlsZTogIndlYmtpdC1qYXZhc2NyaXB0LXN0cmluZyIsCi0gICAgICAgIHByZUNvbnRpbnVl
U3RhdGU6IHRoaXMuQ29udGludWVTdGF0ZS5Eb3VibGVRdW90ZVN0cmluZywKLSAgICAgICAgcG9z
dENvbnRpbnVlU3RhdGU6IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lCi0gICAgfSwgewotICAgICAg
ICBuYW1lOiAiZG91YmxlUXVvdGVTdHJpbmdNaWRkbGVBY3Rpb24iLAotICAgICAgICBwYXR0ZXJu
OiAvXig/Oig/OlteIlxcXXxcXCg/OlsnIlxiZm5ydHZdfFteJyJcYmZucnR2MC05eHVdfDB8eFsw
LTlhLWZBLUZdWzAtOWEtZkEtRl18KD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1G
XVswLTlhLWZBLUZdKSkpKilcXCQvLAotICAgICAgICBzdHlsZTogIndlYmtpdC1qYXZhc2NyaXB0
LXN0cmluZyIsCi0gICAgICAgIHByZUNvbnRpbnVlU3RhdGU6IHRoaXMuQ29udGludWVTdGF0ZS5E
b3VibGVRdW90ZVN0cmluZwotICAgIH0sIHsKLSAgICAgICAgbmFtZTogImtleXdvcmRBY3Rpb24i
LAotICAgICAgICBwYXR0ZXJuOiAvXig/Oig/OlthLXpBLVpdfFskX118XFwoPzp1WzAtOWEtZkEt
Rl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSg/Oig/OlthLXpBLVpdfFskX118
XFwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKXxbMC05
XSkqKS8sCi0gICAgICAgIGtleXdvcmRzOiBrZXl3b3JkcywKLSAgICAgICAgc3R5bGU6ICJ3ZWJr
aXQtamF2YXNjcmlwdC1rZXl3b3JkIiwKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlzLkxleFN0
YXRlLkluaXRpYWwKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJpZGVudEFjdGlvbiIsCi0gICAg
ICAgIHBhdHRlcm46IC9eKD86KD86W2EtekEtWl18WyRfXXxcXCg/OnVbMC05YS1mQS1GXVswLTlh
LWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXSkpKD86KD86W2EtekEtWl18WyRfXXxcXCg/OnVb
MC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXSkpfFswLTldKSopLywK
LSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtamF2YXNjcmlwdC1pZGVudCIsCi0gICAgICAgIGNhbGxi
YWNrOiBmdW5jdGlvbihpZGVudEVsZW1lbnQpIHsgaWRlbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoIm1vdXNlb3ZlciIsIHNob3dEYXRhdGlwLCBmYWxzZSk7IH0sCi0gICAgICAgIHBvc3RMZXhT
dGF0ZTogdGhpcy5MZXhTdGF0ZS5EaXZpc2lvbkFsbG93ZWQKLSAgICB9LCB7Ci0gICAgICAgIG5h
bWU6ICJyaWdodFBhcmVuQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL15cKS8sCi0gICAgICAg
IHBvc3RMZXhTdGF0ZTogdGhpcy5MZXhTdGF0ZS5EaXZpc2lvbkFsbG93ZWQKLSAgICB9LCB7Ci0g
ICAgICAgIG5hbWU6ICJwdW5jdHVhdG9yQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL14oPzo8
PXw+PXw9PT18PT18IT18IT09fFwrXCt8XC1cLXw8PHw+Pnw+Pj58JiZ8XHxcfHxcKz18XC09fFwq
PXwlPXw8PD18Pj49fD4+Pj18Jj18XHw9fF49fFt7fVwoXFtcXVwuOyw8PlwrXC1cKiUmXHxcXiF+
XD86PV0pLywKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlzLkxleFN0YXRlLkluaXRpYWwKLSAg
ICB9LCB7Ci0gICAgICAgIG5hbWU6ICJkaXZQdW5jdHVhdG9yQWN0aW9uIiwKLSAgICAgICAgcGF0
dGVybjogL14oPzpcLz0/KS8sCi0gICAgICAgIHByZUxleFN0YXRlOiB0aGlzLkxleFN0YXRlLkRp
dmlzaW9uQWxsb3dlZCwKLSAgICAgICAgcG9zdExleFN0YXRlOiB0aGlzLkxleFN0YXRlLkluaXRp
YWwKLSAgICB9LCB7Ci0gICAgICAgIG5hbWU6ICJyZWdFeHBMaXRlcmFsQWN0aW9uIiwKLSAgICAg
ICAgcGF0dGVybjogL14oPzpcLyg/Oig/OlxcLil8W15cXCpcL10pKD86KD86XFwuKXxbXlxcL10p
KlwvKD86KD86W2EtekEtWl18WyRfXXxcXCg/OnVbMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEt
ZkEtRl1bMC05YS1mQS1GXSkpfFswLTldKSopLywKLSAgICAgICAgc3R5bGU6ICJ3ZWJraXQtamF2
YXNjcmlwdC1yZWdleHAiLAotICAgICAgICBwb3N0TGV4U3RhdGU6IHRoaXMuTGV4U3RhdGUuSW5p
dGlhbAotICAgIH0sIHsKLSAgICAgICAgbmFtZTogInJlZ0V4cFN0YXJ0QWN0aW9uIiwKLSAgICAg
ICAgcGF0dGVybjogL14oPzpcLyg/Oig/OlxcLil8W15cXCpcL10pKD86KD86XFwuKXxbXlxcL10p
KilcXCQvLAotICAgICAgICBzdHlsZTogIndlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4cCIsCi0gICAg
ICAgIHBvc3RDb250aW51ZVN0YXRlOiB0aGlzLkNvbnRpbnVlU3RhdGUuUmVnRXhwCi0gICAgfSwg
ewotICAgICAgICBuYW1lOiAicmVnRXhwRW5kQWN0aW9uIiwKLSAgICAgICAgcGF0dGVybjogL14o
PzooPzooPzpcXC4pfFteXFwvXSkqXC8oPzooPzpbYS16QS1aXXxbJF9dfFxcKD86dVswLTlhLWZB
LUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdKSl8WzAtOV0pKikvLAotICAgICAg
ICBzdHlsZTogIndlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4cCIsCi0gICAgICAgIHByZUNvbnRpbnVl
U3RhdGU6IHRoaXMuQ29udGludWVTdGF0ZS5SZWdFeHAsCi0gICAgICAgIHBvc3RDb250aW51ZVN0
YXRlOiB0aGlzLkNvbnRpbnVlU3RhdGUuTm9uZQotICAgIH0sIHsKLSAgICAgICAgbmFtZTogInJl
Z0V4cE1pZGRsZUFjdGlvbiIsCi0gICAgICAgIHBhdHRlcm46IC9eKD86KD86KD86XFwuKXxbXlxc
L10pKilcXCQvLAotICAgICAgICBzdHlsZTogIndlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4cCIsCi0g
ICAgICAgIHByZUNvbnRpbnVlU3RhdGU6IHRoaXMuQ29udGludWVTdGF0ZS5SZWdFeHAKLSAgICB9
XTsKLQotICAgIGZ1bmN0aW9uIHNob3dEYXRhdGlwKGV2ZW50KSB7Ci0gICAgICAgIGlmICghV2Vi
SW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzIHx8ICFXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMu
cGF1c2VkKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHZhciBub2RlID0gZXZlbnQu
dGFyZ2V0OwotICAgICAgICB2YXIgcGFydHMgPSBbbm9kZS50ZXh0Q29udGVudF07Ci0gICAgICAg
IHdoaWxlIChub2RlLnByZXZpb3VzU2libGluZyAmJiBub2RlLnByZXZpb3VzU2libGluZy50ZXh0
Q29udGVudCA9PT0gIi4iKSB7Ci0gICAgICAgICAgICBub2RlID0gbm9kZS5wcmV2aW91c1NpYmxp
bmcucHJldmlvdXNTaWJsaW5nOwotICAgICAgICAgICAgaWYgKCFub2RlIHx8ICFub2RlLmhhc1N0
eWxlQ2xhc3MoIndlYmtpdC1qYXZhc2NyaXB0LWlkZW50IikpCi0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBwYXJ0cy51bnNoaWZ0KG5vZGUudGV4dENvbnRlbnQpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgdmFyIGV4cHJlc3Npb24gPSBwYXJ0cy5qb2luKCIuIik7Ci0KLSAgICAg
ICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmV2YWx1YXRlSW5TZWxlY3RlZENhbGxGcmFt
ZShleHByZXNzaW9uLCBmYWxzZSwgImNvbnNvbGUiLCBjYWxsYmFjayk7Ci0gICAgICAgIGZ1bmN0
aW9uIGNhbGxiYWNrKHJlc3VsdCwgZXhjZXB0aW9uKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGV2ZW50
LnRhcmdldC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgcmVzdWx0LmRlc2NyaXB0aW9uKTsKLSAgICAg
ICAgICAgIGV2ZW50LnRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIG9ubW91c2Vv
dXQsIGZhbHNlKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZnVuY3Rpb24gb25tb3VzZW91
dChldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBldmVudC50YXJnZXQucmVt
b3ZlQXR0cmlidXRlKCJ0aXRsZSIpOwotICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5yZW1v
dmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIG9ubW91c2VvdXQsIGZhbHNlKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KLQotV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VTeW50YXhIaWdobGlnaHRlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNv
dXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCmluZGV4IDFjMGQwYTIuLjU5OWNmYjMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6
ZXIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXpl
ci5qcwpAQCAtMSw0ICsxLDQgQEAKLS8qIEdlbmVyYXRlZCBieSByZTJjIDAuMTMuNSBvbiBUdWUg
SmFuIDI2IDAxOjE2OjMzIDIwMTAgKi8KKy8qIEdlbmVyYXRlZCBieSByZTJjIDAuMTMuNSBvbiBU
aHUgSmFuIDI4IDIwOjQ5OjIyIDIwMTAgKi8KIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC00Myw3ICs0Myw3IEBACiAKIFdl
Ykluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIgPSBmdW5jdGlvbigpCiB7Ci0gICAgV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5Ub2tlbml6ZXIuY2FsbCh0aGlzKTsKKyAgICBX
ZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKICAgICB0aGlzLl9wcm9w
ZXJ0eUtleXdvcmRzID0gWwogICAgICAgICAiYmFja2dyb3VuZCIsICJiYWNrZ3JvdW5kLWF0dGFj
aG1lbnQiLCAiYmFja2dyb3VuZC1jbGlwIiwgImJhY2tncm91bmQtY29sb3IiLCAiYmFja2dyb3Vu
ZC1pbWFnZSIsCkBAIC0zNzMsNDAgKzM3Myw0MSBAQCBjYXNlIDI2OgogLyogKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKiogKi8KIGNhc2UgdGhpcy5jYXNlX0lOSVRJQUw6CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXlj
aCA8PSAnOScpIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsKKyAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc7JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycp
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAyOTsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIScpIHsgZ290b0Nhc2UgPSAz
MTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzM7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyQnKSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wnJykgeyBnb3RvQ2FzZSA9
IDM0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDM0OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICctJykgeyBnb3Rv
Q2FzZSA9IDM1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jy4nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nh
c2UgPSAyOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnLScpIHsgZ290b0Nhc2UgPSAzNTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMzY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9D
YXNlID0gMzY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJy8nKSB7IGdvdG9DYXNlID0gMzc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDM4OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc6JykgeyBnb3RvQ2FzZSA9IDQwOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MjsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnPycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc6JykgeyBn
b3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc7JykgeyBnb3RvQ2FzZSA9IDQyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICc9JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdaJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID49ICdfJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nhc2Ug
PSAyOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XScpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAneycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3Rv
Q2FzZSA9IDI5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICd6JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA0NDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICd6JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0g
J2AnKSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3snKSB7IGdvdG9D
YXNlID0gNDQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ30nKSB7IGdvdG9DYXNlID0gNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfQpAQCAtNDI2LDcgKzQyNyw5IEBAIGNhc2UgMzI6CiAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gPT09ICJAaW1wb3J0IiB8fCB0b2tlbiA9PT0g
IkBtZWRpYSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9
ICJjc3MtYXQtcnVsZSI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGFyc2VD
b25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVMRTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tl
bi5pbmRleE9mKCJAIikgPT09IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50
b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3Rv
ciI7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo
dGhpcy5fcGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFICYm
IHRva2VuIGluIHRoaXMuX21lZGlhVHlwZXMpCkBAIC00NDQsMTcgKzQ0Nyw5OCBAQCBjYXNlIDMy
OgogY2FzZSAzMzoKICAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2gg
PSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXlj
aCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ1xyJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMjA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jy0nKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicp
IHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyMjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnJCcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICciJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnIycpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyMjsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA9PSAnXCcnKSB7IGdvdG9DYXNlID0gMTIyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc8JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyMjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9IDEyMjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyMjsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdcXCcpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7IGdvdG9DYXNlID0gMTIyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ2AnKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEy
MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KIGNhc2UgMzQ6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KFlZTUFSS0VSID0gKytjdXJzb3IpOwotICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgIGlmICh5eWNoID09ICdccicpIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07
Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewor
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnXHInKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnJCcpIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXCcnKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc8JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJy4nKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDExMjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9IDExMjsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExMjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdcXCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7IGdvdG9DYXNlID0gMTEyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ2AnKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDExMjsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE2OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KIGNhc2UgMzU6Ci0gICAgICAgICAgICB5eWFjY2VwdCA9IDE7CisgICAgICAg
ICAgICB5eWFjY2VwdCA9IDA7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KFlZTUFS
S0VSID0gKytjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4nKSB7IGdvdG9DYXNl
ID0gNjU7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9D
YXNlID0gNDk7IGNvbnRpbnVlOyB9OwpAQCAtNDY5LDE0ICs1NTMsMTggQEAgY2FzZSAzNzoKICAg
ICAgICAgICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQo
WVlNQVJLRVIgPSArK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA9PSAnKicpIHsgZ290
b0Nhc2UgPSAxMDQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07CiBj
YXNlIDM4OgotICAgICAgICAgICAgeXlhY2NlcHQgPSAyOworICAgICAgICAgICAgeXlhY2NlcHQg
PSAxOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29y
KTsKICAgICAgICAgICAgIHN3aXRjaCAoeXljaCkgewogICAgICAgICAgICAgY2FzZSAnISc6Cisg
ICAgICAgICAgICBjYXNlICciJzoKICAgICAgICAgICAgIGNhc2UgJyQnOgorICAgICAgICAgICAg
Y2FzZSAnXCcnOgogICAgICAgICAgICAgY2FzZSAnLSc6CisgICAgICAgICAgICBjYXNlICcvJzoK
KyAgICAgICAgICAgIGNhc2UgJz0nOgogICAgICAgICAgICAgY2FzZSAnQCc6CiAgICAgICAgICAg
ICBjYXNlICdBJzoKICAgICAgICAgICAgIGNhc2UgJ0InOgpAQCAtNTAzLDYgKzU5MSw4IEBAIGNh
c2UgMzg6CiAgICAgICAgICAgICBjYXNlICdYJzoKICAgICAgICAgICAgIGNhc2UgJ1knOgogICAg
ICAgICAgICAgY2FzZSAnWic6CisgICAgICAgICAgICBjYXNlICdbJzoKKyAgICAgICAgICAgIGNh
c2UgJ10nOgogICAgICAgICAgICAgY2FzZSAnYSc6CiAgICAgICAgICAgICBjYXNlICdiJzoKICAg
ICAgICAgICAgIGNhc2UgJ2YnOgpAQCAtNTkyLDM1ICs2ODIsNTcgQEAgY2FzZSA0ODoKICAgICAg
ICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3Ip
OwogY2FzZSA0OToKLSAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgewotICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICcjJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
IScpIHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScp
IHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJyInKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnICcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyQnKSB7IGdvdG9D
YXNlID0gNDg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICckJykgeyBnb3Rv
Q2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
Jy0nKSB7IGdvdG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnLCcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsg
Z290b0Nhc2UgPSA0ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4nKSB7IGdvdG9DYXNlID0gMzI7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQ4OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14nKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNl
ID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWicp
IHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xc
JykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2AnKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA0
ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiBjYXNlIDUwOgotICAgICAgICAgICAgeXlhY2NlcHQgPSAyOworICAgICAgICAgICAg
eXlhY2NlcHQgPSAxOwogICAgICAgICAgICAgWVlNQVJLRVIgPSArK2N1cnNvcjsKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAgIHN3aXRjaCAoeXlj
aCkgewogICAgICAgICAgICAgY2FzZSAnISc6CisgICAgICAgICAgICBjYXNlICciJzoKICAgICAg
ICAgICAgIGNhc2UgJyQnOgorICAgICAgICAgICAgY2FzZSAnXCcnOgogICAgICAgICAgICAgY2Fz
ZSAnLSc6CisgICAgICAgICAgICBjYXNlICcvJzoKKyAgICAgICAgICAgIGNhc2UgJz0nOgogICAg
ICAgICAgICAgY2FzZSAnQCc6CiAgICAgICAgICAgICBjYXNlICdBJzoKICAgICAgICAgICAgIGNh
c2UgJ0InOgpAQCAtNjQ3LDYgKzc1OSw4IEBAIGNhc2UgNTA6CiAgICAgICAgICAgICBjYXNlICdY
JzoKICAgICAgICAgICAgIGNhc2UgJ1knOgogICAgICAgICAgICAgY2FzZSAnWic6CisgICAgICAg
ICAgICBjYXNlICdbJzoKKyAgICAgICAgICAgIGNhc2UgJ10nOgogICAgICAgICAgICAgY2FzZSAn
YSc6CiAgICAgICAgICAgICBjYXNlICdiJzoKICAgICAgICAgICAgIGNhc2UgJ2YnOgpAQCAtNzQ0
LDI1ICs4NTgsNDMgQEAgY2FzZSA2MjoKICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0OTsgY29u
dGludWU7IH07CiBjYXNlIDYzOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnIycpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyEnKSB7
IGdvdG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9D
YXNlID0gMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICciJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAn
KSB7IGdvdG9DYXNlID0gMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICckJykgeyBnb3RvQ2FzZSA9
IDQ4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAz
OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsgZ290b0Nhc2Ug
PSA0ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICctJykg
eyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDM5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JywnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7IGdvdG9D
YXNlID0gNDg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDM5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICcuJykgeyBnb3RvQ2FzZSA9IDM5OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0ODsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9IDM5
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1onKSB7IGdv
dG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsgZ290b0Nhc2UgPSAzOTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICdgJykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gNDg7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzk7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICdeJykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAzOTsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA0ODsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzk7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogY2FzZSA2NDoKQEAgLTc3NSwxMiArOTA3LDggQEAgY2FzZSA2NToKICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgNjY6CiAg
ICAgICAgICAgICBjdXJzb3IgPSBZWU1BUktFUjsKLSAgICAgICAgICAgIGlmICh5eWFjY2VwdCA8
PSAxKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5YWNjZXB0IDw9IDApIHsKLSAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh5eWFjY2VwdCA8PSAwKSB7Cisg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgIH0KQEAgLTc4OCw3ICs5MTYsNyBAQCBjYXNlIDY3OgogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CiAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
Mzk7IGNvbnRpbnVlOyB9OwogY2FzZSA2ODoKLSAgICAgICAgICAgIHl5YWNjZXB0ID0gMjsKKyAg
ICAgICAgICAgIHl5YWNjZXB0ID0gMTsKICAgICAgICAgICAgIFlZTUFSS0VSID0gKytjdXJzb3I7
CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnZicpIHsKQEAgLTk4NCw4NSArMTExMiwyMDQgQEAgY2FzZSAxMTA6CiAgICAg
ICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNv
bW1lbnQiOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDExMjoKKyAgICAgICAgICAgIHl5YWNjZXB0
ID0gMDsKKyAgICAgICAgICAgIFlZTUFSS0VSID0gKytjdXJzb3I7CisgICAgICAgICAgICB5eWNo
ID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsK
KyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1xmJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J1xuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3Rv
Q2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcgJykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcmJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyQnKSB7
IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3RvQ2FzZSA9
IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
LCcpIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdbJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9
IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
OScpIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nh
c2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJz8nKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ14nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICddJykgeyBnb3RvQ2FzZSA9IDExMjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdg
JykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CitjYXNlIDEx
NDoKKyAgICAgICAgICAgICsrY3Vyc29yOworICAgICAgICAgICAgaWYgKCh5eWNoID0gdGhpcy5f
Y2hhckF0KGN1cnNvcikpIDw9ICc5JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcm
JykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID49ICchJykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICckJykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICcsJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICcuJykgeyBn
b3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ1xcJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICc9JykgeyBnb3RvQ2FzZSA9IDQ4OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSA0
ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdeJykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA0ODsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CitjYXNlIDExNToKKyAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3N0cmluZ1Rv
a2VuKGN1cnNvciwgdHJ1ZSk7IH0KK2Nhc2UgMTE2OgogICAgICAgICAgICAgKytjdXJzb3I7CiAg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci1jYXNlIDExMzoKICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
XG4nKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NjsgY29udGludWU7IH07CiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjE7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CitjYXNlIDExODoKICAgICAgICAgICAgICsr
Y3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ2EnKSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEn
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcbicpIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcdCcpIHsgZ290b0Nhc2UgPSA2NjsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICdccicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdccicpIHsgZ290b0Nhc2UgPSA2NjsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTE2
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykg
eyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0g
MTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdc
XCcpIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ3EnKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdmJykg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2InKSB7IGdvdG9DYXNlID0g
MTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdi
JykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnZScpIHsgZ290b0Nhc2UgPSA2NjsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J24nKSB7IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA9PSAncycpIHsgZ290b0Nhc2UgPSA2NjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7IGdv
dG9DYXNlID0gMTEyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotY2FzZSAxMTU6Ci0gICAg
ICAgICAgICArK2N1cnNvcjsKLSAgICAgICAgICAgIHsgcmV0dXJuIHRoaXMuX3N0cmluZ1Rva2Vu
KGN1cnNvciwgdHJ1ZSk7IH0KLWNhc2UgMTE3OgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAg
ICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLlNTVFJJTkcp
OwogICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yKTsgfQotY2Fz
ZSAxMTk6CitjYXNlIDEyMToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07CitjYXNlIDEy
MjoKKyAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKKyAgICAgICAgICAgIFlZTUFSS0VSID0gKytj
dXJzb3I7CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CisgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIScp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnIScpIHsgZ290b0Nhc2UgPSAxMjI7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyQnKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyQnKSB7IGdvdG9DYXNlID0gMTIy
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICdcJycpIHsgZ290b0Nhc2UgPSAxMjI7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNl
ID0gMTIyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1snKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2Fz
ZSA9IDEyMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSAxMjI7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ0AnKSB7IGdv
dG9DYXNlID0gMTIyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykg
eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgeyBnb3RvQ2FzZSA9
IDEyNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XScpIHsgZ290b0Nhc2UgPSAxMjI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2AnKSB7IGdvdG9D
YXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEyMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CitjYXNlIDEyNDoKICAgICAg
ICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3Ip
OwotY2FzZSAxMjA6CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHInKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTE5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTI0
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
IicpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7IGdvdG9DYXNlID0g
MTE5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykgeyBnb3Rv
Q2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSAxMjE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAxMTk7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMTI0
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CitjYXNlIDEy
NjoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2EnKSB7CkBAIC0xMDc0LDMwICsx
MzIxLDMwIEBAIGNhc2UgMTIwOgogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTE5OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBn
b3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSA2NjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykg
eyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NjsgY29udGludWU7IH07CiAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgewogICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnZicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdiJykg
eyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnYicpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd0JykgewogICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICd2JykgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9Owog
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KQEAgLTExMDksMTE4ICsxMzU2
LDExOCBAQCBjYXNlIDEyMDoKIGNhc2UgdGhpcy5jYXNlX1NTVFJJTkc6CiAgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHIn
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDEyODsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeyBnb3RvQ2Fz
ZSA9IDEyNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2Fz
ZSA9IDEzMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykg
eyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDEzMzsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdcJycpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JyYnKSB7IGdvdG9DYXNlID0gMTI3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMzU7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nhc2Ug
PSAxMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI3
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBn
b3RvQ2FzZSA9IDEzNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAxMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
LWNhc2UgMTI2OgorY2FzZSAxMzE6CiAgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdU
b2tlbihjdXJzb3IpOyB9Ci1jYXNlIDEyNzoKK2Nhc2UgMTMyOgogICAgICAgICAgICAgeXlhY2Nl
cHQgPSAwOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vy
c29yKTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzQ7IGNvbnRpbnVlOyB9OwotY2FzZSAx
Mjg6CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKK2Nhc2UgMTMz
OgogICAgICAgICAgICAgKytjdXJzb3I7Ci1jYXNlIDEyOToKK2Nhc2UgMTM0OgogICAgICAgICAg
ICAgeyB0aGlzLnRva2VuVHlwZSA9IG51bGw7IHJldHVybiBjdXJzb3I7IH0KLWNhc2UgMTMwOgor
Y2FzZSAxMzU6CiAgICAgICAgICAgICArK2N1cnNvcjsKLWNhc2UgMTMxOgorY2FzZSAxMzY6CiAg
ICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLklOSVRJ
QUwpOwogICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yLCB0cnVl
KTsgfQotY2FzZSAxMzI6CitjYXNlIDEzNzoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnIicpIHsgZ290b0Nhc2UgPSAxMzM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMjk7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAx
MzQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDEyOTsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSAxMzQ7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggIT0gJ2InKSB7IGdvdG9DYXNlID0gMTI5OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdiJykgeyBnb3RvQ2FzZSA9IDEzNDsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdyJykgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbScpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID49ICdnJykgeyBnb3RvQ2FzZSA9IDEyOTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnZycpIHsgZ290b0Nhc2UgPSAxMzQ7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ24nKSB7IGdvdG9DYXNlID0gMTMzOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgeyBnb3RvQ2FzZSA9IDEyOTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbicpIHsg
Z290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ3EnKSB7IGdvdG9DYXNlID0gMTM0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICd0JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J3MnKSB7IGdvdG9DYXNlID0gMTI5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdzJykgeyBnb3RvQ2FzZSA9IDEzNDsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCAhPSAndicpIHsgZ290b0Nhc2UgPSAxMjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggIT0gJ3YnKSB7IGdvdG9DYXNlID0gMTM0OyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
LWNhc2UgMTMzOgorY2FzZSAxMzg6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAgICAg
ICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dChjdXJzb3IpOwotY2FzZSAxMzQ6CitjYXNlIDEzOToKICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdccicpIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0g
MTI2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7IGdv
dG9DYXNlID0gMTMzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
MTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdv
dG9DYXNlID0gMTMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XGYnKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gMTMxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMzM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTM3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3Rv
Q2FzZSA9IDEzMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9
ICdcXCcpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxMzM7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA+PSAnXCcnKSB7IGdvdG9DYXNlID0gMTMzOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyInKSB7IGdvdG9DYXNlID0gMTM4
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wnJykgeyBn
b3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPj0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEzMzsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXFwnKSB7IGdvdG9DYXNlID0gMTM4
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICdiJykgeyBnb3RvQ2FzZSA9IDEzMzsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYicpIHsgZ290b0Nhc2Ug
PSAxMzg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
cicpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ20nKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsgZ290b0Nhc2UgPSAxMzM7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7IGdvdG9DYXNl
ID0gMTM4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICduJykgeyBnb3RvQ2FzZSA9IDEzMzsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAncicpIHsgZ290
b0Nhc2UgPSAxMzM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ24nKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID49ICdyJykgeyBnb3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID49ICd0JykgeyBnb3RvQ2FzZSA9IDEzMzsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAndCcpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7IGdvdG9DYXNlID0gMTMzOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9IDEzODsg
Y29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBjdXJzb3IgPSBZWU1BUktFUjsKLSAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OwotY2FzZSAxMzc6CisgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTMxOyBjb250aW51ZTsgfTsKK2Nhc2UgMTQyOgogICAgICAgICAgICAgKytj
dXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAxMzY7IGNvbnRpbnVlOyB9OwogICAgICAgICB9CiAKICAgICAgICAgfQogICAgIH0KIH0K
IAotV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5Ub2tlbml6ZXIucHJvdG90eXBlOwor
V2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUuX19wcm90b19fID0gV2Vi
SW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcwppbmRleCAxZTkyMWNh
Li44ZDZjNWYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
Q1NTVG9rZW5pemVyLnJlMmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VDU1NUb2tlbml6ZXIucmUyanMKQEAgLTQyLDcgKzQyLDcgQEAKIAogV2ViSW5zcGVjdG9yLlNv
dXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKLSAgICBXZWJJbnNwZWN0b3IuVGV4dEVk
aXRvckhpZ2hsaWdodGVyLlRva2VuaXplci5jYWxsKHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5T
b3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlzKTsKIAogICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMg
PSBbCiAgICAgICAgICJiYWNrZ3JvdW5kIiwgImJhY2tncm91bmQtYXR0YWNobWVudCIsICJiYWNr
Z3JvdW5kLWNsaXAiLCAiYmFja2dyb3VuZC1jb2xvciIsICJiYWNrZ3JvdW5kLWltYWdlIiwKQEAg
LTIxMiwxNiArMjEyLDEzIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90
eXBlID0gewogICAgICAgICAgICAgICAgIE9wZW5DdXJseUJyYWNrZXQgPSAieyI7CiAgICAgICAg
ICAgICAgICAgQ2xvc2VDdXJseUJyYWNrZXQgPSAifSI7CiAKLSAgICAgICAgICAgICAgICBPcGVu
QnJhY2tldCA9ICIoIjsKLSAgICAgICAgICAgICAgICBDbG9zZUJyYWNrZXQgPSAiKSI7Ci0KICAg
ICAgICAgICAgICAgICBDb2xvbiA9ICI6IjsKICAgICAgICAgICAgICAgICBTZW1pY29sb24gPSAi
OyI7CiAKICAgICAgICAgICAgICAgICBOdW1lcmljTGl0ZXJhbCA9ICItIj8gKFswLTldKyB8IFsw
LTldKiAiLiIgWzAtOV0rKSAgKCJlbSIgfCAicmVtIiB8ICJfX3FlbSIgfCAiZXgiIHwgInB4IiB8
ICJjbSIgfCAKICAgICAgICAgICAgICAgICAgICAgIm1tIiB8ICJpbiIgfCAicHQiIHwgInBjIiB8
ICJkZWciIHwgInJhZCIgfCAiZ3JhZCIgfCAidHVybiIgfCAibXMiIHwgInMiIHwgIkh6IiB8ICJr
SHoiIHwgIiUiKT87CiAKLSAgICAgICAgICAgICAgICBJZGVudGlmaWVyID0gW0AhX1wtJDAtOWEt
ekEtWl0rOworICAgICAgICAgICAgICAgIElkZW50aWZpZXIgPSBbQCFfXC0kMC05YS16QS1aXFtc
XT0nIi9dKzsKIAogICAgICAgICAgICAgICAgIERvdWJsZVN0cmluZ0NvbnRlbnQgPSAoW15cclxu
XCJcXF0gfCAiXFwiIFsnIlxcYmZucnR2XSkqOwogICAgICAgICAgICAgICAgIFNpbmdsZVN0cmlu
Z0NvbnRlbnQgPSAoW15cclxuXCdcXF0gfCAiXFwiIFsnIlxcYmZucnR2XSkqOwpAQCAtMjk1LDcg
KzI5Miw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuID09PSAiQGltcG9ydCIgfHwgdG9rZW4g
PT09ICJAbWVkaWEiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5
cGUgPSAiY3NzLWF0LXJ1bGUiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Bh
cnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEU7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAo
dG9rZW4uaW5kZXhPZigiQCIpID09PSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gImNzcy1hdC1ydWxlIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mtc2Vs
ZWN0b3IiOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKHRoaXMuX3BhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVM
RSAmJiB0b2tlbiBpbiB0aGlzLl9tZWRpYVR5cGVzKQpAQCAtMzE2LDQgKzMxNSw0IEBAIFdlYklu
c3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgIH0KIH0KIAotV2Vi
SW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5Ub2tlbml6ZXIucHJvdG90eXBlOworV2ViSW5z
cGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlSFRNTFRva2VuaXplci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VIVE1MVG9rZW5pemVyLmpzCmluZGV4IDQxNjY0YWYuLjEyMTJmZmUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VIVE1MVG9rZW5p
emVyLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VIVE1MVG9rZW5p
emVyLmpzCkBAIC0xLDQgKzEsNCBAQAotLyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIFR1
ZSBKYW4gMjYgMjM6MTA6MzggMjAxMCAqLworLyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9u
IFRodSBKYW4gMjggMjA6NDk6MjIgMjAxMCAqLwogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTQzLDcgKzQzLDcgQEAKIAog
V2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxUb2tlbml6ZXIgPSBmdW5jdGlvbigpCiB7Ci0gICAgV2Vi
SW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5Ub2tlbml6ZXIuY2FsbCh0aGlzKTsKKyAg
ICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKICAgICB0aGlzLl9s
ZXhDb25kaXRpb25zID0gewogICAgICAgICBJTklUSUFMOiAwLApAQCAtMjM0LDI1ICsyMzQsMzEg
QEAgY2FzZSAyNDoKIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiBj
YXNlIHRoaXMuY2FzZV9JTklUSUFMOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChj
dXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz4nKSB7CisgICAgICAgICAgICBpZiAo
eXljaCA8PSAnPScpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICciJykgeyBnb3RvQ2FzZSA9IDI5OyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wnJykgeyBnb3RvQ2FzZSA9
IDMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnOycpIHsgZ290b0Nhc2UgPSAyNzsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7IGdvdG9DYXNl
ID0gMzM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzU7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICcwJykgeyBnb3RvQ2FzZSA9IDMxOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc7JykgeyBnb3RvQ2FzZSA9IDI3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgeyBnb3RvQ2FzZSA9IDMz
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzNTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgewor
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnPicpIHsgZ290b0Nhc2UgPSAzNzsgY29udGludWU7IH07CiAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdAJykgeyBnb3RvQ2FzZSA9IDI3OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1onKSB7IGdvdG9DYXNlID0gMzc7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXycpIHsgZ290b0Nh
c2UgPSAzNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICda
JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAyNzsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3Rv
Q2FzZSA9IDM3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0g
MHg4MCkgeyBnb3RvQ2FzZSA9IDM3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ2AnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XycpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nh
c2UgPSAzMTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+
PSAweDgwKSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogY2FzZSAyNzoKQEAgLTI2OCwx
OSArMjc0LDQzIEBAIGNhc2UgMzA6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KFlZ
TUFSS0VSID0gKytjdXJzb3IpOwogICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDc2OyBjb250aW51
ZTsgfTsKIGNhc2UgMzE6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2gg
PSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA3NDsgY29u
dGludWU7IH07CitjYXNlIDMyOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBp
ZiAodGhpcy5fcGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5TQ1JJUFQp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CisgICAgICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fcGFyc2VDb25kaXRpb24gPT09IHRoaXMu
X3BhcnNlQ29uZGl0aW9ucy5UQUcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9r
ZW5UeXBlID0gImh0bWwtdGFnIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhcnNl
Q29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUVFJJQlVURTsKKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9pc0F0dHJpYnV0ZSgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiaHRtbC1hdHRyLW5hbWUiOworICAgICAgICAgICAg
ICAgICAgICBlbHNlIGlmICh0aGlzLl9pc0F0dHJpYnV0ZVZhbHVlKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJodG1sLWF0dHItdmFsdWUiOworICAgICAgICAg
ICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VD
b25kaXRpb25zLkRPQ1RZUEUpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlw
ZSA9ICJodG1sLWRvY3R5cGUiOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBjdXJzb3I7CisgICAgICAgICAgICAgICAgfQorY2FzZSAzMzoKICAgICAgICAgICAg
IHl5YWNjZXB0ID0gMTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIg
PSArK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnIScpIHsgZ290b0Nhc2UgPSA0NDsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJy8nKSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICchJykgeyBnb3RvQ2FzZSA9IDQyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnLycpIHsgZ290b0Nhc2UgPSAz
OTsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdTJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnUycpIHsg
Z290b0Nhc2UgPSA0MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID49ICdTJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAncycpIHsgZ290b0Nhc2Ug
PSA0MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdzJykg
eyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9Ci1jYXNlIDMyOgorY2FzZSAzNDoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKHRoaXMuX3BhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMu
U0NSSVBUKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7
CkBAIC0yOTEsNyArMzIxLDcgQEAgY2FzZSAzMjoKICAgICAgICAgICAgICAgICAgICAgdGhpcy5f
cGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuVEFHOwogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNhc2UgMzM6CitjYXNl
IDM1OgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmICh0aGlzLl9pc0F0dHJpYnV0ZSgpKSB7CkBAIC0zMDMsNyArMzMzLDcgQEAgY2Fz
ZSAzMzoKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNl
IDM1OgorY2FzZSAzNzoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICBpZiAodGhpcy5fcGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNl
Q29uZGl0aW9ucy5TQ1JJUFQpIHsKQEAgLTMyMiwxNzkgKzM1MiwxNjMgQEAgY2FzZSAzNToKICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3BhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VD
b25kaXRpb25zLklOSVRJQUw7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CiAg
ICAgICAgICAgICAgICAgfQotY2FzZSAzNzoKLSAgICAgICAgICAgICsrY3Vyc29yOwotICAgICAg
ICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwotICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDQwOyBjb250aW51ZTsgfTsKLWNhc2UgMzg6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh0aGlzLl9wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRp
b25zLlNDUklQVCkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBu
dWxsOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKLSAgICAgICAgICAg
ICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9wYXJzZUNvbmRpdGlv
biA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlRBRykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy50b2tlblR5cGUgPSAiaHRtbC10YWciOwotICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5fcGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRUUklCVVRFOwot
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2lzQXR0cmlidXRlKCkpCi0gICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJodG1sLWF0dHItbmFtZSI7Ci0g
ICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2lzQXR0cmlidXRlVmFsdWUoKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImh0bWwtYXR0ci12YWx1ZSI7
Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX3BhcnNlQ29uZGl0aW9uID09PSB0
aGlzLl9wYXJzZUNvbmRpdGlvbnMuRE9DVFlQRSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gImh0bWwtZG9jdHlwZSI7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKLSAgICAgICAgICAgICAgICB9CiBjYXNlIDM5Ogot
ICAgICAgICAgICAgKytjdXJzb3I7Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1
cnNvcik7Ci1jYXNlIDQwOgotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ0AnKSB7IGdvdG9DYXNlID0gMzg7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdaJykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsgZ290b0Nhc2UgPSAzODsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2An
KSB7IGdvdG9DYXNlID0gMzg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICd6JykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAweDdGKSB7IGdvdG9DYXNlID0gMzg7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAzOTsgY29udGludWU7IH07Ci0gICAgICAgICAgICB9Ci1jYXNl
IDQxOgogICAgICAgICAgICAgeXlhY2NlcHQgPSAxOwogICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdT
JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoID09
ICdzJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAzMjsgY29udGludWU7IH07Ci1jYXNlIDQyOgorICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J1MnKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ3MnKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDM0OyBjb250aW51ZTsgfTsKK2Nhc2UgNDA6CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdDJykgeyBnb3Rv
Q2FzZSA9IDYyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdjJykgeyBn
b3RvQ2FzZSA9IDYyOyBjb250aW51ZTsgfTsKLWNhc2UgNDM6CisgICAgICAgICAgICBpZiAoeXlj
aCA9PSAnQycpIHsgZ290b0Nhc2UgPSA2MDsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAo
eXljaCA9PSAnYycpIHsgZ290b0Nhc2UgPSA2MDsgY29udGludWU7IH07CitjYXNlIDQxOgogICAg
ICAgICAgICAgY3Vyc29yID0gWVlNQVJLRVI7CiAgICAgICAgICAgICBpZiAoeXlhY2NlcHQgPD0g
MCkgewogICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAyODsgY29udGludWU7IH07CiAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDM0OyBjb250aW51ZTsgfTsKICAg
ICAgICAgICAgIH0KLWNhc2UgNDQ6CitjYXNlIDQyOgogICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdCgrK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnQycpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoeXljaCAhPSAnLScpIHsgZ290b0Nhc2UgPSA0MzsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJy0nKSB7IGdvdG9DYXNlID0gNDE7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnRCcpIHsgZ290b0Nhc2UgPSA0NjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ2QnKSB7IGdvdG9DYXNlID0gNDY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA0MzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ0QnKSB7IGdvdG9DYXNlID0gNDQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICdkJykgeyBnb3RvQ2FzZSA9IDQ0OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAo
eXljaCA9PSAnLScpIHsgZ290b0Nhc2UgPSA1NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7
IGdvdG9DYXNlID0gNDM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy0n
KSB7IGdvdG9DYXNlID0gNTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDQxOyBjb250aW51ZTsgfTsKK2Nhc2UgNDQ6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hh
ckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdPJykgeyBnb3RvQ2FzZSA9
IDQ1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdvJykgeyBnb3RvQ2Fz
ZSA9IDQxOyBjb250aW51ZTsgfTsKK2Nhc2UgNDU6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5f
Y2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdDJykgeyBnb3RvQ2Fz
ZSA9IDQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdjJykgeyBnb3Rv
Q2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNDY6CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdPJykgeyBnb3Rv
Q2FzZSA9IDQ3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdvJykgeyBn
b3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdUJykg
eyBnb3RvQ2FzZSA9IDQ3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICd0
JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNDc6CiAgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdD
JykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9
ICdjJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNo
ID09ICdZJykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5
eWNoICE9ICd5JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNDg6CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5
eWNoID09ICdUJykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlm
ICh5eWNoICE9ICd0JykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IGlmICh5eWNoID09ICdQJykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIGlmICh5eWNoICE9ICdwJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2Ug
NDk6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAg
ICAgIGlmICh5eWNoID09ICdZJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgIGlmICh5eWNoICE9ICd5JykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGlmICh5eWNoID09ICdFJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGlmICh5eWNoICE9ICdlJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsg
fTsKIGNhc2UgNTA6Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsK
LSAgICAgICAgICAgIGlmICh5eWNoID09ICdQJykgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdwJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51
ZTsgfTsKLWNhc2UgNTE6Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29y
KTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdFJykgeyBnb3RvQ2FzZSA9IDUyOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdlJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250
aW51ZTsgfTsKLWNhc2UgNTI6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiaHRtbC1kb2N0eXBlIjsKICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fcGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRp
dGlvbnMuRE9DVFlQRTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAg
ICAgICAgICAgICB9Ci1jYXNlIDU0OgorY2FzZSA1MjoKICAgICAgICAgICAgICsrY3Vyc29yOwog
ICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ1xmJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290
b0Nhc2UgPSA1NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDU0
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9D
YXNlID0gNTU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1Mjsg
Y29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSA1NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJy0nKSB7IGdvdG9DYXNlID0gNTQ7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSA1NTsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJy0nKSB7IGdvdG9DYXNlID0gNTI7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAn
LScpIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNDM7IGNvbnRpbnVlOyB9OwotY2FzZSA1NzoKKyAgICAgICAgICAgIGlmICh5eWNoID09ICct
JykgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA0MTsgY29udGludWU7IH07CitjYXNlIDU1OgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAg
ICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLkNPTU1FTlQp
OwogICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJodG1sLWNvbW1lbnQiOyByZXR1cm4g
Y3Vyc29yOyB9Ci1jYXNlIDU5OgorY2FzZSA1NzoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAg
ICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5
Y2ggIT0gJz4nKSB7IGdvdG9DYXNlID0gNTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYg
KHl5Y2ggIT0gJz4nKSB7IGdvdG9DYXNlID0gNTI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
KytjdXJzb3I7CiAgICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImh0bWwtY29tbWVudCI7
IHJldHVybiBjdXJzb3I7IH0KK2Nhc2UgNjA6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hh
ckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdSJykgeyBnb3RvQ2FzZSA9
IDYxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2Fz
ZSA9IDQxOyBjb250aW51ZTsgfTsKK2Nhc2UgNjE6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5f
Y2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdJJykgeyBnb3RvQ2Fz
ZSA9IDYyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdpJykgeyBnb3Rv
Q2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNjI6CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdSJykgeyBnb3Rv
Q2FzZSA9IDYzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBn
b3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdQJykg
eyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdw
JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNjM6CiAgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdJ
JykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9
ICdpJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNo
ID09ICdUJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5
eWNoICE9ICd0JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNjQ6Ci0gICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5
eWNoID09ICdQJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlm
ICh5eWNoICE9ICdwJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKLWNhc2UgNjU6Ci0g
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlm
ICh5eWNoID09ICdUJykgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
IGlmICh5eWNoICE9ICd0JykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKLWNhc2UgNjY6
CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg
ICAgdGhpcy50b2tlblR5cGUgPSAiaHRtbC10YWciOwogICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5TQ1JJUFRfQVRUUklCVVRF
OwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0K
K2Nhc2UgNjY6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAg
ICAgICAgICAgIGlmICh5eWNoID09ICdDJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGlmICh5eWNoICE9ICdjJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsg
fTsKK2Nhc2UgNjc6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsK
KyAgICAgICAgICAgIGlmICh5eWNoID09ICdSJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51
ZTsgfTsKIGNhc2UgNjg6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29y
KTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdDJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdjJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdJJykgeyBnb3RvQ2FzZSA9IDY5OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdpJykgeyBnb3RvQ2FzZSA9IDQx
OyBjb250aW51ZTsgfTsKIGNhc2UgNjk6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0
KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdSJykgeyBnb3RvQ2FzZSA9IDcw
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9
IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdQJykgeyBnb3RvQ2Fz
ZSA9IDcwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdwJykgeyBnb3Rv
Q2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNzA6CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdJJykgeyBnb3Rv
Q2FzZSA9IDcxOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdpJykgeyBn
b3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdUJykg
eyBnb3RvQ2FzZSA9IDcxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICd0
JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKIGNhc2UgNzE6Ci0gICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdQ
JykgeyBnb3RvQ2FzZSA9IDcyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9
ICdwJykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKLWNhc2UgNzI6Ci0gICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09
ICdUJykgeyBnb3RvQ2FzZSA9IDczOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNo
ICE9ICd0JykgeyBnb3RvQ2FzZSA9IDQzOyBjb250aW51ZTsgfTsKLWNhc2UgNzM6CiAgICAgICAg
ICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy50
b2tlblR5cGUgPSAiaHRtbC10YWciOwogICAgICAgICAgICAgICAgICAgICB0aGlzLl9wYXJzZUNv
bmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMOwogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KK2Nhc2UgNzM6CisgICAgICAg
ICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsK
K2Nhc2UgNzQ6CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnOScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8n
KSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNzM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdAJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1onKSB7IGdvdG9DYXNlID0g
NzM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzI7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdfJykgeyBnb3RvQ2FzZSA9IDczOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA3
MzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9IDB4N0YpIHsg
Z290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA3MzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQog
Y2FzZSA3NToKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdChjdXJzb3IpOwpAQCAtNTczLDQgKzU4Nyw0IEBAIGNhc2UgOTU6CiAgICAgfQogfQog
Ci1XZWJJbnNwZWN0b3IuU291cmNlSFRNTFRva2VuaXplci5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5Ub2tlbml6ZXIucHJvdG90eXBlOwor
V2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxUb2tlbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdl
Ykluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUhUTUxUb2tlbml6ZXIucmUyanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlSFRNTFRva2VuaXplci5yZTJqcwppbmRleCA1NWQ0
MWEyLi5lNTZmM2ZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291
cmNlSFRNTFRva2VuaXplci5yZTJqcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U291cmNlSFRNTFRva2VuaXplci5yZTJqcwpAQCAtNDIsNyArNDIsNyBAQAogCiBXZWJJbnNwZWN0
b3IuU291cmNlSFRNTFRva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKLSAgICBXZWJJbnNwZWN0b3Iu
VGV4dEVkaXRvckhpZ2hsaWdodGVyLlRva2VuaXplci5jYWxsKHRoaXMpOworICAgIFdlYkluc3Bl
Y3Rvci5Tb3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlzKTsKIAogICAgIHRoaXMuX2xleENvbmRpdGlv
bnMgPSB7CiAgICAgICAgIElOSVRJQUw6IDAsCkBAIC0xNTAsNyArMTUwLDcgQEAgV2ViSW5zcGVj
dG9yLlNvdXJjZUhUTUxUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIFNp
bmdsZVN0cmluZ1N0YXJ0ID0gIiciIFNpbmdsZVN0cmluZ0NvbnRlbnQgW1xyXG5dOwogICAgICAg
ICAgICAgICAgIFNpbmdsZVN0cmluZ0VuZCA9IFNpbmdsZVN0cmluZ0NvbnRlbnQgIiciOwogCi0g
ICAgICAgICAgICAgICAgSWRlbnRpZmllciA9IFtfYS16QS1aXHg4MC1ceEZGXSs7CisgICAgICAg
ICAgICAgICAgSWRlbnRpZmllciA9IFtfYS16QS1aMC05XHg4MC1ceEZGXSs7CiAKICAgICAgICAg
ICAgICAgICA8SU5JVElBTD4gQ29tbWVudCB7IHRoaXMudG9rZW5UeXBlID0gImh0bWwtY29tbWVu
dCI7IHJldHVybiBjdXJzb3I7IH0KICAgICAgICAgICAgICAgICA8SU5JVElBTD4gQ29tbWVudFN0
YXJ0ID0+IENPTU1FTlQgeyB0aGlzLnRva2VuVHlwZSA9ICJodG1sLWNvbW1lbnQiOyByZXR1cm4g
Y3Vyc29yOyB9CkBAIC0yNTUsNCArMjU1LDQgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxUb2tl
bml6ZXIucHJvdG90eXBlID0gewogICAgIH0KIH0KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxU
b2tlbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9ySGln
aGxpZ2h0ZXIuVG9rZW5pemVyLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rvci5Tb3VyY2VIVE1MVG9r
ZW5pemVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVy
LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VKYXZhU2NyaXB0VG9rZW5pemVyLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nv
dXJjZUphdmFTY3JpcHRUb2tlbml6ZXIuanMKaW5kZXggMGM4NmFjZC4uODE2MDIzZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUphdmFTY3JpcHRUb2tlbml6
ZXIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUphdmFTY3JpcHRU
b2tlbml6ZXIuanMKQEAgLTEsNCArMSw0IEBACi0vKiBHZW5lcmF0ZWQgYnkgcmUyYyAwLjEzLjUg
b24gVHVlIEphbiAyNiAwMToxNjozMyAyMDEwICovCisvKiBHZW5lcmF0ZWQgYnkgcmUyYyAwLjEz
LjUgb24gVGh1IEphbiAyOCAyMDo0OToyMyAyMDEwICovCiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNDMsNyArNDMsNyBA
QAogCiBXZWJJbnNwZWN0b3IuU291cmNlSmF2YVNjcmlwdFRva2VuaXplciA9IGZ1bmN0aW9uKCkK
IHsKLSAgICBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckhpZ2hsaWdodGVyLlRva2VuaXplci5jYWxs
KHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlzKTsKIAog
ICAgIHRoaXMuX2tleXdvcmRzID0gWwogICAgICAgICAibnVsbCIsICJ0cnVlIiwgImZhbHNlIiwg
ImJyZWFrIiwgImNhc2UiLCAiY2F0Y2giLCAiY29uc3QiLCAiZGVmYXVsdCIsICJmaW5hbGx5Iiwg
ImZvciIsCkBAIC0xMTcsNyArMTE3LDcgQEAgY2FzZSB0aGlzLmNhc2VfQ09NTUVOVDoKICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMzsgY29udGludWU7IH07CiAgICAgICAgICAgICB9CiBj
YXNlIDI6Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLWNvbW1lbnQiOyByZXR1
cm4gY3Vyc29yOyB9CisgICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImphdmFzY3JpcHQt
Y29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KIGNhc2UgMzoKICAgICAgICAgICAgIHl5YWNjZXB0
ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNv
cik7CkBAIC0xMzMsNyArMTMzLDcgQEAgY2FzZSA2OgogY2FzZSA3OgogICAgICAgICAgICAgKytj
dXJzb3I7CiAgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRp
b25zLk5PRElWKTsKLSAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAianMtY29tbWVudCI7
IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNj
cmlwdC1jb21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQogY2FzZSA5OgogICAgICAgICAgICAgKytj
dXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CkBAIC0yNDcs
OSArMjQ3LDkgQEAgY2FzZSAyMToKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg
dmFyIHRva2VuID0gdGhpcy5fbGluZS5zdWJzdHJpbmcoY3Vyc29yT25FbnRlciwgY3Vyc29yKTsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuIGluIHRoaXMuX2tleXdvcmRzKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAianMta2V5d29yZCI7CisgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LWtleXdvcmQiOwog
ICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRv
a2VuVHlwZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9
ICJqYXZhc2NyaXB0LWlkZW50IjsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsK
ICAgICAgICAgICAgICAgICB9CiBjYXNlIDIyOgpAQCAtMzIzLDcgKzMyMyw3IEBAIGNhc2UgMzQ6
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogY2FzZSAzNToKLSAgICAgICAgICAg
IHsgdGhpcy50b2tlblR5cGUgPSAianMtbnVtYmVyIjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAg
ICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LW51bWJlciI7IHJldHVybiBjdXJz
b3I7IH0KIGNhc2UgMzY6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDM7CiAgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KFlZTUFSS0VSID0gKytjdXJzb3IpOwpAQCAtNjM2LDcgKzYzNiw3
IEBAIGNhc2UgODA6CiAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0g
ODI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBnb3RvQ2Fz
ZSA9IDgwOyBjb250aW51ZTsgfTsKIGNhc2UgODI6Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5U
eXBlID0gImpzLWNvbW1lbnQiOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICB7IHRoaXMu
dG9rZW5UeXBlID0gImphdmFzY3JpcHQtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KIGNhc2Ug
ODM6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoY3Vyc29yKTsKQEAgLTY0NiwxMCArNjQ2LDEwIEBAIGNhc2UgODM6CiBjYXNlIDg1OgogICAg
ICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlz
Ll9sZXhDb25kaXRpb25zLkNPTU1FTlQpOwotICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9
ICJqcy1jb21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAgICAgICAgeyB0aGlzLnRva2Vu
VHlwZSA9ICJqYXZhc2NyaXB0LWNvbW1lbnQiOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDg3Ogog
ICAgICAgICAgICAgKytjdXJzb3I7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpz
LWNvbW1lbnQiOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBl
ID0gImphdmFzY3JpcHQtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KIGNhc2UgODk6CiAgICAg
ICAgICAgICB5eWFjY2VwdCA9IDM7CiAgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwpA
QCAtNzQyLDcgKzc0Miw3IEBAIGNhc2UgOTY6CiAgICAgICAgICAgICB9CiBjYXNlIDk4OgogICAg
ICAgICAgICAgKytjdXJzb3I7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLXN0
cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAi
amF2YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDEwMDoKICAgICAgICAg
ICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwpA
QCAtNzU5LDcgKzc1OSw3IEBAIGNhc2UgMTAwOgogY2FzZSAxMDE6CiAgICAgICAgICAgICArK2N1
cnNvcjsKICAgICAgICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlv
bnMuU1NUUklORyk7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLXN0cmluZyI7
IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNj
cmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDEwMzoKICAgICAgICAgICAgICsr
Y3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwpAQCAtODY5
LDcgKzg2OSw3IEBAIGNhc2UgMTA5OgogY2FzZSAxMTA6CiAgICAgICAgICAgICArK2N1cnNvcjsK
ICAgICAgICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlvbnMuRFNU
UklORyk7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLXN0cmluZyI7IHJldHVy
biBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNjcmlwdC1z
dHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDExMjoKICAgICAgICAgICAgICsrY3Vyc29y
OwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwpAQCAtOTI2LDcgKzky
Niw3IEBAIGNhc2UgdGhpcy5jYXNlX0RTVFJJTkc6CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogY2FzZSAxMTg6Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLXN0
cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAi
amF2YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDExOToKICAgICAgICAg
ICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJL
RVIgPSArK2N1cnNvcik7CkBAIC05MzksNyArOTM5LDcgQEAgY2FzZSAxMjI6CiAgICAgICAgICAg
ICArK2N1cnNvcjsKIGNhc2UgMTIzOgogICAgICAgICAgICAgdGhpcy5zZXRMZXhDb25kaXRpb24o
dGhpcy5fbGV4Q29uZGl0aW9ucy5OT0RJVik7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBl
ID0gImpzLXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tl
blR5cGUgPSAiamF2YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDEyNDoK
ICAgICAgICAgICAgIHl5YWNjZXB0ID0gMTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoWVlNQVJLRVIgPSArK2N1cnNvcik7CkBAIC0xMTc5LDkgKzExNzksOSBAQCBjYXNlIDE0MjoK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5fbGlu
ZS5zdWJzdHJpbmcoY3Vyc29yT25FbnRlciwgY3Vyc29yKTsKICAgICAgICAgICAgICAgICAgICAg
aWYgKHRva2VuIGluIHRoaXMuX2tleXdvcmRzKQotICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy50b2tlblR5cGUgPSAianMta2V5d29yZCI7CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
LnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LWtleXdvcmQiOwogICAgICAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CisgICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LWlkZW50IjsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9CiBj
YXNlIDE0MzoKQEAgLTEyNjgsNyArMTI2OCw3IEBAIGNhc2UgMTU0OgogICAgICAgICAgICAgfQog
Y2FzZSAxNTU6CiAgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25k
aXRpb25zLkRJVik7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLW51bWJlciI7
IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNj
cmlwdC1udW1iZXIiOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDE1NjoKICAgICAgICAgICAgIHl5
YWNjZXB0ID0gMjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSAr
K2N1cnNvcik7CkBAIC0xNjI3LDcgKzE2MjcsNyBAQCBjYXNlIDIwNDoKICAgICAgICAgICAgIGlm
ICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAyMDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBnb3RvQ2FzZSA9IDIwNDsgY29udGludWU7IH07CiBjYXNl
IDIwNjoKLSAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAianMtY29tbWVudCI7IHJldHVy
biBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNjcmlwdC1j
b21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQogY2FzZSAyMDc6CiAgICAgICAgICAgICArK2N1cnNv
cjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKQEAgLTE2MzcsMTAg
KzE2MzcsMTAgQEAgY2FzZSAyMDc6CiBjYXNlIDIwOToKICAgICAgICAgICAgICsrY3Vyc29yOwog
ICAgICAgICAgICAgdGhpcy5zZXRMZXhDb25kaXRpb24odGhpcy5fbGV4Q29uZGl0aW9ucy5DT01N
RU5UKTsKLSAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAianMtY29tbWVudCI7IHJldHVy
biBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNjcmlwdC1j
b21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQogY2FzZSAyMTE6CiAgICAgICAgICAgICArK2N1cnNv
cjsKLSAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAianMtY29tbWVudCI7IHJldHVybiBj
dXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiamF2YXNjcmlwdC1jb21t
ZW50IjsgcmV0dXJuIGN1cnNvcjsgfQogY2FzZSAyMTM6CiAgICAgICAgICAgICArK2N1cnNvcjsK
ICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKQEAgLTE2NzcsNyArMTY3
Nyw3IEBAIGNhc2UgMjE2OgogICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBnb3RvQ2Fz
ZSA9IDIxMzsgY29udGludWU7IH07CiBjYXNlIDIxNzoKICAgICAgICAgICAgIHRoaXMuc2V0TGV4
Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlvbnMuUkVHRVgpOwotICAgICAgICAgICAgeyB0aGlz
LnRva2VuVHlwZSA9ICJqcy1yZWdleCI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsg
dGhpcy50b2tlblR5cGUgPSAiamF2YXNjcmlwdC1yZWdleHAiOyByZXR1cm4gY3Vyc29yOyB9CiBj
YXNlIDIxODoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdChjdXJzb3IpOwpAQCAtMTcwOSw3ICsxNzA5LDcgQEAgY2FzZSAyMjA6CiAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ2knKSB7IGdvdG9DYXNlID0gMjIwOyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSAyMjA7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJq
cy1yZWdleCI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUg
PSAiamF2YXNjcmlwdC1yZWdleHAiOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDIyMzoKICAgICAg
ICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3Ip
OwpAQCAtMTkwMCw3ICsxOTAwLDcgQEAgY2FzZSAyNDE6CiAgICAgICAgICAgICB9CiBjYXNlIDI0
MzoKICAgICAgICAgICAgICsrY3Vyc29yOwotICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9
ICJqcy1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICB7IHRoaXMudG9rZW5U
eXBlID0gImphdmFzY3JpcHQtc3RyaW5nIjsgcmV0dXJuIGN1cnNvcjsgfQogY2FzZSAyNDU6CiAg
ICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vy
c29yKTsKQEAgLTE5MTcsNyArMTkxNyw3IEBAIGNhc2UgMjQ1OgogY2FzZSAyNDY6CiAgICAgICAg
ICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xl
eENvbmRpdGlvbnMuU1NUUklORyk7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpz
LXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUg
PSAiamF2YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNlIDI0ODoKICAgICAg
ICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3Ip
OwpAQCAtMjAyNyw3ICsyMDI3LDcgQEAgY2FzZSAyNTQ6CiBjYXNlIDI1NToKICAgICAgICAgICAg
ICsrY3Vyc29yOwogICAgICAgICAgICAgdGhpcy5zZXRMZXhDb25kaXRpb24odGhpcy5fbGV4Q29u
ZGl0aW9ucy5EU1RSSU5HKTsKLSAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAianMtc3Ry
aW5nIjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJq
YXZhc2NyaXB0LXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KIGNhc2UgMjU3OgogICAgICAgICAg
ICAgKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CkBA
IC0yMDkwLDcgKzIwOTAsNyBAQCBjYXNlIHRoaXMuY2FzZV9SRUdFWDoKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiBjYXNlIDI2MzoKLSAgICAgICAgICAgIHsgdGhpcy50b2tlblR5
cGUgPSAianMtcmVnZXgiOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICB7IHRoaXMudG9r
ZW5UeXBlID0gImphdmFzY3JpcHQtcmVnZXhwIjsgcmV0dXJuIGN1cnNvcjsgfQogY2FzZSAyNjQ6
CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hh
ckF0KFlZTUFSS0VSID0gKytjdXJzb3IpOwpAQCAtMjEwNSw3ICsyMTA1LDcgQEAgY2FzZSAyNjc6
CiAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMjc4OyBjb250aW51ZTsgfTsKIGNhc2UgMjY4Ogog
ICAgICAgICAgICAgdGhpcy5zZXRMZXhDb25kaXRpb24odGhpcy5fbGV4Q29uZGl0aW9ucy5OT0RJ
Vik7Ci0gICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImpzLXJlZ2V4IjsgcmV0dXJuIGN1
cnNvcjsgfQorICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LXJlZ2V4
cCI7IHJldHVybiBjdXJzb3I7IH0KIGNhc2UgMjY5OgogICAgICAgICAgICAgeXlhY2NlcHQgPSAx
OwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsK
QEAgLTIyNDksNyArMjI0OSw3IEBAIGNhc2UgdGhpcy5jYXNlX1NTVFJJTkc6CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogY2FzZSAyODU6Ci0gICAgICAgICAgICB7IHRoaXMudG9r
ZW5UeXBlID0gImpzLXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgIHsgdGhp
cy50b2tlblR5cGUgPSAiamF2YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CiBjYXNl
IDI4NjoKICAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7CkBAIC0yMjYyLDcgKzIyNjIsNyBAQCBjYXNl
IDI4OToKICAgICAgICAgICAgICsrY3Vyc29yOwogY2FzZSAyOTA6CiAgICAgICAgICAgICB0aGlz
LnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLk5PRElWKTsKLSAgICAgICAgICAg
IHsgdGhpcy50b2tlblR5cGUgPSAianMtc3RyaW5nIjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAg
ICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LXN0cmluZyI7IHJldHVybiBjdXJz
b3I7IH0KIGNhc2UgMjkxOgogICAgICAgICAgICAgeXlhY2NlcHQgPSAxOwogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKQEAgLTI0MTMsNCArMjQx
Myw0IEBAIGNhc2UgMzAwOgogICAgIH0KIH0KIAotV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFTY3Jp
cHRUb2tlbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9y
SGlnaGxpZ2h0ZXIuVG9rZW5pemVyLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rvci5Tb3VyY2VKYXZh
U2NyaXB0VG9rZW5pemVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU291cmNl
VG9rZW5pemVyLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLnJlMmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIucmUyanMKaW5kZXggZDNlMTc5NS4u
ODYzMGNjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUph
dmFTY3JpcHRUb2tlbml6ZXIucmUyanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIucmUyanMKQEAgLTQyLDcgKzQyLDcgQEAKIAogV2Vi
SW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIgPSBmdW5jdGlvbigpCiB7Ci0gICAg
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5Ub2tlbml6ZXIuY2FsbCh0aGlzKTsK
KyAgICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKICAgICB0aGlz
Ll9rZXl3b3JkcyA9IFsKICAgICAgICAgIm51bGwiLCAidHJ1ZSIsICJmYWxzZSIsICJicmVhayIs
ICJjYXNlIiwgImNhdGNoIiwgImNvbnN0IiwgImRlZmF1bHQiLCAiZmluYWxseSIsICJmb3IiLApA
QCAtMTM2LDMzICsxMzYsMzMgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6
ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIFJlZ2V4U3RhcnQgPSAiLyIgUmVnZXhG
aXJzdENoYXIgUmVnZXhDb250ZW50ICJcXCI7CiAgICAgICAgICAgICAgICAgUmVnZXhFbmQgPSBS
ZWdleENvbnRlbnQgIi8iIFtpZ21dKjsKIAotICAgICAgICAgICAgICAgIDxESVYsTk9ESVY+IExp
bmVDb21tZW50IHsgdGhpcy50b2tlblR5cGUgPSAianMtY29tbWVudCI7IHJldHVybiBjdXJzb3I7
IH0KLSAgICAgICAgICAgICAgICA8RElWLE5PRElWPiBDb21tZW50IHsgdGhpcy50b2tlblR5cGUg
PSAianMtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KLSAgICAgICAgICAgICAgICA8RElWLE5P
RElWPiBDb21tZW50U3RhcnQgPT4gQ09NTUVOVCB7IHRoaXMudG9rZW5UeXBlID0gImpzLWNvbW1l
bnQiOyByZXR1cm4gY3Vyc29yOyB9Ci0gICAgICAgICAgICAgICAgPENPTU1FTlQ+IENvbW1lbnRD
b250ZW50ID0+IENPTU1FTlQgeyB0aGlzLnRva2VuVHlwZSA9ICJqcy1jb21tZW50IjsgcmV0dXJu
IGN1cnNvcjsgfQotICAgICAgICAgICAgICAgIDxDT01NRU5UPiBDb21tZW50RW5kID0+IE5PRElW
IHsgdGhpcy50b2tlblR5cGUgPSAianMtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KLQotICAg
ICAgICAgICAgICAgIDxESVYsTk9ESVY+IFN0cmluZ0xpdGVyYWwgeyB0aGlzLnRva2VuVHlwZSA9
ICJqcy1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9Ci0gICAgICAgICAgICAgICAgPERJVixOT0RJ
Vj4gRG91YmxlU3RyaW5nU3RhcnQgPT4gRFNUUklORyB7IHRoaXMudG9rZW5UeXBlID0gImpzLXN0
cmluZyI7IHJldHVybiBjdXJzb3I7IH0KLSAgICAgICAgICAgICAgICA8RFNUUklORz4gRG91Ymxl
U3RyaW5nQ29udGVudCA9PiBEU1RSSU5HIHsgdGhpcy50b2tlblR5cGUgPSAianMtc3RyaW5nIjsg
cmV0dXJuIGN1cnNvcjsgfQotICAgICAgICAgICAgICAgIDxEU1RSSU5HPiBEb3VibGVTdHJpbmdF
bmQgPT4gTk9ESVYgeyB0aGlzLnRva2VuVHlwZSA9ICJqcy1zdHJpbmciOyByZXR1cm4gY3Vyc29y
OyB9Ci0gICAgICAgICAgICAgICAgPERJVixOT0RJVj4gU2luZ2xlU3RyaW5nU3RhcnQgPT4gU1NU
UklORyB7IHRoaXMudG9rZW5UeXBlID0gImpzLXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KLSAg
ICAgICAgICAgICAgICA8U1NUUklORz4gU2luZ2xlU3RyaW5nQ29udGVudCA9PiBTU1RSSU5HIHsg
dGhpcy50b2tlblR5cGUgPSAianMtc3RyaW5nIjsgcmV0dXJuIGN1cnNvcjsgfQotICAgICAgICAg
ICAgICAgIDxTU1RSSU5HPiBTaW5nbGVTdHJpbmdFbmQgPT4gTk9ESVYgeyB0aGlzLnRva2VuVHlw
ZSA9ICJqcy1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9Ci0KLSAgICAgICAgICAgICAgICA8Tk9E
SVY+IFJlZ2V4IHsgdGhpcy50b2tlblR5cGUgPSAianMtcmVnZXgiOyByZXR1cm4gY3Vyc29yOyB9
Ci0gICAgICAgICAgICAgICAgPE5PRElWPiBSZWdleFN0YXJ0ID0+IFJFR0VYIHsgdGhpcy50b2tl
blR5cGUgPSAianMtcmVnZXgiOyByZXR1cm4gY3Vyc29yOyB9Ci0gICAgICAgICAgICAgICAgPFJF
R0VYPiBSZWdleENvbnRlbnQgPT4gUkVHRVggeyB0aGlzLnRva2VuVHlwZSA9ICJqcy1yZWdleCI7
IHJldHVybiBjdXJzb3I7IH0KLSAgICAgICAgICAgICAgICA8UkVHRVg+IFJlZ2V4RW5kID0+IE5P
RElWIHsgdGhpcy50b2tlblR5cGUgPSAianMtcmVnZXgiOyByZXR1cm4gY3Vyc29yOyB9Ci0KLSAg
ICAgICAgICAgICAgICA8RElWLE5PRElWPiBOdW1lcmljTGl0ZXJhbCA9PiBESVYgeyB0aGlzLnRv
a2VuVHlwZSA9ICJqcy1udW1iZXIiOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICAgICAg
PERJVixOT0RJVj4gTGluZUNvbW1lbnQgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LWNv
bW1lbnQiOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICAgICAgPERJVixOT0RJVj4gQ29t
bWVudCB7IHRoaXMudG9rZW5UeXBlID0gImphdmFzY3JpcHQtY29tbWVudCI7IHJldHVybiBjdXJz
b3I7IH0KKyAgICAgICAgICAgICAgICA8RElWLE5PRElWPiBDb21tZW50U3RhcnQgPT4gQ09NTUVO
VCB7IHRoaXMudG9rZW5UeXBlID0gImphdmFzY3JpcHQtY29tbWVudCI7IHJldHVybiBjdXJzb3I7
IH0KKyAgICAgICAgICAgICAgICA8Q09NTUVOVD4gQ29tbWVudENvbnRlbnQgPT4gQ09NTUVOVCB7
IHRoaXMudG9rZW5UeXBlID0gImphdmFzY3JpcHQtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0K
KyAgICAgICAgICAgICAgICA8Q09NTUVOVD4gQ29tbWVudEVuZCA9PiBOT0RJViB7IHRoaXMudG9r
ZW5UeXBlID0gImphdmFzY3JpcHQtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KKworICAgICAg
ICAgICAgICAgIDxESVYsTk9ESVY+IFN0cmluZ0xpdGVyYWwgeyB0aGlzLnRva2VuVHlwZSA9ICJq
YXZhc2NyaXB0LXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgICAgICA8RElW
LE5PRElWPiBEb3VibGVTdHJpbmdTdGFydCA9PiBEU1RSSU5HIHsgdGhpcy50b2tlblR5cGUgPSAi
amF2YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICAgICAgPERT
VFJJTkc+IERvdWJsZVN0cmluZ0NvbnRlbnQgPT4gRFNUUklORyB7IHRoaXMudG9rZW5UeXBlID0g
ImphdmFzY3JpcHQtc3RyaW5nIjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAgICAgICAgICAgIDxE
U1RSSU5HPiBEb3VibGVTdHJpbmdFbmQgPT4gTk9ESVYgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZh
c2NyaXB0LXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAgICAgICAgICAgICA8RElWLE5P
RElWPiBTaW5nbGVTdHJpbmdTdGFydCA9PiBTU1RSSU5HIHsgdGhpcy50b2tlblR5cGUgPSAiamF2
YXNjcmlwdC1zdHJpbmciOyByZXR1cm4gY3Vyc29yOyB9CisgICAgICAgICAgICAgICAgPFNTVFJJ
Tkc+IFNpbmdsZVN0cmluZ0NvbnRlbnQgPT4gU1NUUklORyB7IHRoaXMudG9rZW5UeXBlID0gImph
dmFzY3JpcHQtc3RyaW5nIjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAgICAgICAgICAgIDxTU1RS
SU5HPiBTaW5nbGVTdHJpbmdFbmQgPT4gTk9ESVYgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2Ny
aXB0LXN0cmluZyI7IHJldHVybiBjdXJzb3I7IH0KKworICAgICAgICAgICAgICAgIDxOT0RJVj4g
UmVnZXggeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LXJlZ2V4cCI7IHJldHVybiBjdXJz
b3I7IH0KKyAgICAgICAgICAgICAgICA8Tk9ESVY+IFJlZ2V4U3RhcnQgPT4gUkVHRVggeyB0aGlz
LnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0LXJlZ2V4cCI7IHJldHVybiBjdXJzb3I7IH0KKyAgICAg
ICAgICAgICAgICA8UkVHRVg+IFJlZ2V4Q29udGVudCA9PiBSRUdFWCB7IHRoaXMudG9rZW5UeXBl
ID0gImphdmFzY3JpcHQtcmVnZXhwIjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAgICAgICAgICAg
IDxSRUdFWD4gUmVnZXhFbmQgPT4gTk9ESVYgeyB0aGlzLnRva2VuVHlwZSA9ICJqYXZhc2NyaXB0
LXJlZ2V4cCI7IHJldHVybiBjdXJzb3I7IH0KKworICAgICAgICAgICAgICAgIDxESVYsTk9ESVY+
IE51bWVyaWNMaXRlcmFsID0+IERJViB7IHRoaXMudG9rZW5UeXBlID0gImphdmFzY3JpcHQtbnVt
YmVyIjsgcmV0dXJuIGN1cnNvcjsgfQogICAgICAgICAgICAgICAgIDxESVYsTk9ESVY+IElkZW50
aWZpZXIgPT4gRElWCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICB2YXIg
dG9rZW4gPSB0aGlzLl9saW5lLnN1YnN0cmluZyhjdXJzb3JPbkVudGVyLCBjdXJzb3IpOwogICAg
ICAgICAgICAgICAgICAgICBpZiAodG9rZW4gaW4gdGhpcy5fa2V5d29yZHMpCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJqcy1rZXl3b3JkIjsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImphdmFzY3JpcHQta2V5d29yZCI7CiAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5U
eXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImph
dmFzY3JpcHQtaWRlbnQiOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICA8RElWLE5PRElWPiBSaWdodFBhcmVuID0+
IERJViB7IHRoaXMudG9rZW5UeXBlID0gbnVsbDsgcmV0dXJuIGN1cnNvcjsgfQpAQCAtMTc0LDQg
KzE3NCw0IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLnByb3RvdHlw
ZSA9IHsKICAgICB9CiB9CiAKLVdlYkluc3BlY3Rvci5Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVy
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckhpZ2hsaWdodGVy
LlRva2VuaXplci5wcm90b3R5cGU7CitXZWJJbnNwZWN0b3IuU291cmNlSmF2YVNjcmlwdFRva2Vu
aXplci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5w
cm90b3R5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
U3ludGF4SGlnaGxpZ2h0ZXIuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
U3ludGF4SGlnaGxpZ2h0ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzYzkx
YzYuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVN5bnRh
eEhpZ2hsaWdodGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTgxICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDA5IEpvc2VwaCBQZWNvcmFybwotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi1XZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIg
PSBmdW5jdGlvbih0YWJsZSwgc291cmNlRnJhbWUpCi17Ci0gICAgdGhpcy50YWJsZSA9IHRhYmxl
OwotICAgIHRoaXMuc291cmNlRnJhbWUgPSBzb3VyY2VGcmFtZTsKLX0KLQotV2ViSW5zcGVjdG9y
LlNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKLSAgICBjcmVhdGVTcGFuOiBm
dW5jdGlvbihjb250ZW50LCBjbGFzc05hbWUpCi0gICAgewotICAgICAgICB2YXIgc3BhbiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICAgICAgc3Bhbi5jbGFzc05hbWUgPSBj
bGFzc05hbWU7Ci0gICAgICAgIHNwYW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoY29udGVudCkpOwotICAgICAgICByZXR1cm4gc3BhbjsKLSAgICB9LAotCi0gICAgcHJvY2Vz
czogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgLy8gU3BsaXQgdXAgdGhlIHdvcmsgaW50byBj
aHVua3Mgc28gd2UgZG9uJ3QgYmxvY2sgdGhlCi0gICAgICAgIC8vIFVJIHRocmVhZCB3aGlsZSBw
cm9jZXNzaW5nLgotCi0gICAgICAgIHZhciByb3dzID0gdGhpcy50YWJsZS5yb3dzOwotICAgICAg
ICB2YXIgcm93c0xlbmd0aCA9IHJvd3MubGVuZ3RoOwotICAgICAgICBjb25zdCB0b2tlbnNQZXJD
aHVuayA9IDEwMDsKLSAgICAgICAgY29uc3QgbGluZUxlbmd0aExpbWl0ID0gMjAwMDA7Ci0gICAg
ICAgIAotICAgICAgICB2YXIgYm91bmRQcm9jZXNzQ2h1bmsgPSBwcm9jZXNzQ2h1bmsuYmluZCh0
aGlzKTsKLSAgICAgICAgdmFyIHByb2Nlc3NDaHVua0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYm91
bmRQcm9jZXNzQ2h1bmssIDI1KTsKLSAgICAgICAgYm91bmRQcm9jZXNzQ2h1bmsoKTsKLSAgICAg
ICAgCi0gICAgICAgIGZ1bmN0aW9uIHByb2Nlc3NDaHVuaygpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG9rZW5zUGVyQ2h1bms7IGkrKykgewotICAgICAgICAg
ICAgICAgIGlmICh0aGlzLmN1cnNvciA+PSB0aGlzLmxpbmVDb2RlLmxlbmd0aCkKLSAgICAgICAg
ICAgICAgICAgICAgbW92ZVRvTmV4dExpbmUuY2FsbCh0aGlzKTsKLSAgICAgICAgICAgICAgICBp
ZiAodGhpcy5saW5lSW5kZXggPj0gcm93c0xlbmd0aCkgewotICAgICAgICAgICAgICAgICAgICB0
aGlzLnNvdXJjZUZyYW1lLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygic3ludGF4IGhpZ2hsaWdo
dGluZyBjb21wbGV0ZSIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvciA+IGxpbmVMZW5ndGhMaW1p
dCkgewotICAgICAgICAgICAgICAgICAgICB2YXIgY29kZUZyYWdtZW50ID0gdGhpcy5saW5lQ29k
ZS5zdWJzdHJpbmcodGhpcy5jdXJzb3IpOwotICAgICAgICAgICAgICAgICAgICB0aGlzLm5vblRv
a2VuICs9IGNvZGVGcmFnbWVudDsKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJzb3IgKz0g
Y29kZUZyYWdtZW50Lmxlbmd0aDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAg
ICB0aGlzLmxleCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBmdW5jdGlvbiBtb3ZlVG9OZXh0TGluZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRoaXMu
YXBwZW5kTm9uVG9rZW4oKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIHJvdyA9IHJv
d3NbdGhpcy5saW5lSW5kZXhdOwotICAgICAgICAgICAgdmFyIGxpbmUgPSByb3cgPyByb3cuY2Vs
bHNbMV0gOiBudWxsOwotICAgICAgICAgICAgaWYgKGxpbmUgJiYgdGhpcy5uZXdMaW5lKSB7Ci0g
ICAgICAgICAgICAgICAgbGluZS5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VCdWJibGUpCi0gICAgICAgICAgICAgICAg
ICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLm1lc3NhZ2VCdWJibGUpOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgIGxpbmUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUo
dGhpcy5uZXdMaW5lLCBsaW5lKTsKLSAgICAgICAgICAgICAgICBsaW5lLnBhcmVudE5vZGUucmVt
b3ZlQ2hpbGQobGluZSk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdGhpcy5u
ZXdMaW5lID0gbnVsbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRoaXMubGluZUluZGV4
Kys7Ci0gICAgICAgICAgICBpZiAodGhpcy5saW5lSW5kZXggPj0gcm93c0xlbmd0aCAmJiBwcm9j
ZXNzQ2h1bmtJbnRlcnZhbCkgewotICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwocHJvY2Vz
c0NodW5rSW50ZXJ2YWwpOwotICAgICAgICAgICAgICAgIHRoaXMuc291cmNlRnJhbWUuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKCJzeW50YXggaGlnaGxpZ2h0aW5nIGNvbXBsZXRlIik7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcm93ID0gcm93
c1t0aGlzLmxpbmVJbmRleF07Ci0gICAgICAgICAgICBsaW5lID0gcm93ID8gcm93LmNlbGxzWzFd
IDogbnVsbDsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgdGhpcy5tZXNzYWdlQnViYmxlID0g
bnVsbDsKLSAgICAgICAgICAgIGlmIChsaW5lLmxhc3RDaGlsZCAmJiBsaW5lLmxhc3RDaGlsZC5u
b2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgbGluZS5sYXN0Q2hpbGQuaGFzU3R5bGVD
bGFzcygid2Via2l0LWh0bWwtbWVzc2FnZS1idWJibGUiKSkgewotICAgICAgICAgICAgICAgIHRo
aXMubWVzc2FnZUJ1YmJsZSA9IGxpbmUubGFzdENoaWxkOwotICAgICAgICAgICAgICAgIGxpbmUu
cmVtb3ZlQ2hpbGQodGhpcy5tZXNzYWdlQnViYmxlKTsKLSAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgdGhpcy5saW5lQ29kZSA9IGxpbmUudGV4dENvbnRlbnQ7Ci0gICAgICAgICAgICB0aGlz
Lm5ld0xpbmUgPSBsaW5lLmNsb25lTm9kZShmYWxzZSk7Ci0gICAgICAgICAgICB0aGlzLmN1cnNv
ciA9IDA7Ci0gICAgICAgICAgICBpZiAoIWxpbmUpCi0gICAgICAgICAgICAgICAgbW92ZVRvTmV4
dExpbmUoKTsKLSAgICAgICAgfQotICAgIH0sCi0gICAgCi0gICAgbGV4OiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICB2YXIgdG9rZW4gPSBudWxsOwotICAgICAgICB2YXIgY29kZUZyYWdtZW50
ID0gdGhpcy5saW5lQ29kZS5zdWJzdHJpbmcodGhpcy5jdXJzb3IpOwotICAgICAgICAKLSAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnJ1bGVzLmxlbmd0aDsgaSsrKSB7Ci0gICAgICAg
ICAgICB2YXIgcnVsZSA9IHRoaXMucnVsZXNbaV07Ci0gICAgICAgICAgICB2YXIgcnVsZUNvbnRp
bnVlU3RhdGVDb25kaXRpb24gPSAoInByZUNvbnRpbnVlU3RhdGUiIGluIHJ1bGUpID8gcnVsZS5w
cmVDb250aW51ZVN0YXRlIDogdGhpcy5Db250aW51ZVN0YXRlLk5vbmU7Ci0gICAgICAgICAgICBp
ZiAodGhpcy5jb250aW51ZVN0YXRlICE9PSBydWxlQ29udGludWVTdGF0ZUNvbmRpdGlvbikKLSAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmICgoInByZUxleFN0YXRlIiBp
biBydWxlKSAmJiB0aGlzLmxleFN0YXRlICE9PSBydWxlLnByZUxleFN0YXRlKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICB2YXIgbWF0Y2ggPSBydWxlLnBhdHRlcm4u
ZXhlYyhjb2RlRnJhZ21lbnQpOwotICAgICAgICAgICAgaWYgKG1hdGNoKSB7Ci0gICAgICAgICAg
ICAgICAgdG9rZW4gPSBtYXRjaFswXTsKLSAgICAgICAgICAgICAgICBpZiAodG9rZW4gJiYgKCFy
dWxlLmtleXdvcmRzIHx8ICh0b2tlbiBpbiBydWxlLmtleXdvcmRzKSkpIHsKLSAgICAgICAgICAg
ICAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICAgICAgICAgICAg
ICBpZiAocnVsZS5zdHlsZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRO
b25Ub2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVsZW0gPSB0aGlzLmNyZWF0
ZVNwYW4odG9rZW4sIHJ1bGUuc3R5bGUpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5u
ZXdMaW5lLmFwcGVuZENoaWxkKGVsZW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJ1
bGUuY2FsbGJhY2spCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5jYWxsYmFjay5j
YWxsKHRoaXMsIGVsZW0pOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47Ci0KLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCJwb3N0TGV4U3RhdGUiIGluIHJ1bGUpCi0gICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLmxleFN0YXRlID0gcnVsZS5wb3N0TGV4U3RhdGU7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICgicG9zdENvbnRpbnVlU3RhdGUiIGluIHJ1bGUpCi0gICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLmNvbnRpbnVlU3RhdGUgPSBydWxlLnBvc3RDb250aW51ZVN0YXRlOwotICAgICAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgICAgIHRoaXMubm9uVG9rZW4gKz0gY29kZUZyYWdtZW50WzBdOwotICAgICAgICB0
aGlzLmN1cnNvcisrOwotICAgIH0sCi0gICAgCi0gICAgYXBwZW5kTm9uVG9rZW46IGZ1bmN0aW9u
ICgpCi0gICAgewotICAgICAgICBpZiAodGhpcy5ub25Ub2tlbi5sZW5ndGggPiAwKSB7Ci0gICAg
ICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
dGhpcy5ub25Ub2tlbikpOwotICAgICAgICAgICAgdGhpcy5ub25Ub2tlbiA9ICIiOwotICAgICAg
ICB9Ci0gICAgfSwKLSAgICAKLSAgICBzeW50YXhIaWdobGlnaHROb2RlOiBmdW5jdGlvbihub2Rl
KQotICAgIHsKLSAgICAgICAgdGhpcy5saW5lQ29kZSA9IG5vZGUudGV4dENvbnRlbnQ7Ci0gICAg
ICAgIG5vZGUucmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICAgICAgdGhpcy5uZXdMaW5lID0gbm9kZTsK
LSAgICAgICAgdGhpcy5jdXJzb3IgPSAwOwotICAgICAgICB3aGlsZSAodHJ1ZSkgewotICAgICAg
ICAgICAgaWYgKHRoaXMuY3Vyc29yID49IHRoaXMubGluZUNvZGUubGVuZ3RoKSB7Ci0gICAgICAg
ICAgICAgICAgdmFyIGNvZGVGcmFnbWVudCA9IHRoaXMubGluZUNvZGUuc3Vic3RyaW5nKHRoaXMu
Y3Vyc29yKTsKLSAgICAgICAgICAgICAgICB0aGlzLm5vblRva2VuICs9IGNvZGVGcmFnbWVudDsK
LSAgICAgICAgICAgICAgICB0aGlzLmN1cnNvciArPSBjb2RlRnJhZ21lbnQubGVuZ3RoOwotICAg
ICAgICAgICAgICAgIHRoaXMuYXBwZW5kTm9uVG9rZW4oKTsKLSAgICAgICAgICAgICAgICB0aGlz
Lm5ld0xpbmUgPSBudWxsOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgdGhpcy5sZXgoKTsKLSAgICAgICAgfQotICAgIH0KLX0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VUb2tlbml6ZXIuanMgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVG9rZW5pemVyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExOTIzODMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVG9rZW5pemVyLmpzCkBAIC0wLDAgKzEsMTAzIEBA
CisvKiBHZW5lcmF0ZWQgYnkgcmUyYyAwLjEzLjUgb24gVHVlIEphbiAyNiAwMToxNjozMyAyMDEw
ICovCisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplciA9IGZ1bmN0aW9uKCkKK3sKK30KKworV2Vi
SW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGUgPSB7CisgICAgc2V0IGxpbmUobGlu
ZSkgeworICAgICAgICB0aGlzLl9saW5lID0gbGluZTsKKyAgICB9LAorCisgICAgc2V0IGNvbmRp
dGlvbihjb25kaXRpb24pCisgICAgeworICAgICAgICB0aGlzLl9sZXhDb25kaXRpb24gPSBjb25k
aXRpb24ubGV4Q29uZGl0aW9uOworICAgICAgICB0aGlzLl9wYXJzZUNvbmRpdGlvbiA9IGNvbmRp
dGlvbi5wYXJzZUNvbmRpdGlvbjsKKyAgICB9LAorCisgICAgZ2V0IGNvbmRpdGlvbigpCisgICAg
eworICAgICAgICByZXR1cm4geyBsZXhDb25kaXRpb246IHRoaXMuX2xleENvbmRpdGlvbiwgcGFy
c2VDb25kaXRpb246IHRoaXMuX3BhcnNlQ29uZGl0aW9uIH07CisgICAgfSwKKworICAgIGhhc0Nv
bmRpdGlvbjogZnVuY3Rpb24oY29uZGl0aW9uKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X2xleENvbmRpdGlvbiA9PT0gY29uZGl0aW9uLmxleENvbmRpdGlvbiAmJiB0aGlzLl9wYXJzZUNv
bmRpdGlvbiA9PT0gY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uOworICAgIH0sCisKKyAgICBnZXRM
ZXhDb25kaXRpb246IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9sZXhD
b25kaXRpb247CisgICAgfSwKKworICAgIHNldExleENvbmRpdGlvbjogZnVuY3Rpb24obGV4Q29u
ZGl0aW9uKQorICAgIHsKKyAgICAgICAgdGhpcy5fbGV4Q29uZGl0aW9uID0gbGV4Q29uZGl0aW9u
OworICAgIH0sCisKKyAgICBfY2hhckF0OiBmdW5jdGlvbihjdXJzb3IpCisgICAgeworICAgICAg
ICByZXR1cm4gY3Vyc29yIDwgdGhpcy5fbGluZS5sZW5ndGggPyB0aGlzLl9saW5lLmNoYXJBdChj
dXJzb3IpIDogIlxuIjsKKyAgICB9Cit9CisKKworV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXpl
ci5SZWdpc3RyeSA9IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX3Rva2VuaXplcnMgPSB7fTsKKyAg
ICB0aGlzLl90b2tlbml6ZXJDb25zdHJ1Y3RvcnMgPSB7CisgICAgICAgICJ0ZXh0L2NzcyI6IFdl
Ykluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIsCisgICAgICAgICJ0ZXh0L2h0bWwiOiBXZWJJ
bnNwZWN0b3IuU291cmNlSFRNTFRva2VuaXplciwKKyAgICAgICAgInRleHQvamF2YXNjcmlwdCI6
IFdlYkluc3BlY3Rvci5Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLAorICAgICAgICAiYXBwbGlj
YXRpb24veC1qYXZhc2NyaXB0IjogV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6
ZXIKKyAgICB9OworfQorCitXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLlJlZ2lzdHJ5Lmdl
dEluc3RhbmNlID0gZnVuY3Rpb24oKQoreworICAgIGlmICghV2ViSW5zcGVjdG9yLlNvdXJjZVRv
a2VuaXplci5SZWdpc3RyeS5faW5zdGFuY2UpCisgICAgICAgIFdlYkluc3BlY3Rvci5Tb3VyY2VU
b2tlbml6ZXIuUmVnaXN0cnkuX2luc3RhbmNlID0gbmV3IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tl
bml6ZXIuUmVnaXN0cnkoKTsKKyAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXpl
ci5SZWdpc3RyeS5faW5zdGFuY2U7Cit9CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIu
UmVnaXN0cnkucHJvdG90eXBlID0geworICAgIGdldFRva2VuaXplcjogZnVuY3Rpb24obWltZVR5
cGUpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX3Rva2VuaXplckNvbnN0cnVjdG9yc1ttaW1l
VHlwZV0pCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgdmFyIHRva2VuaXplciA9
IHRoaXMuX3Rva2VuaXplcnNbbWltZVR5cGVdOworICAgICAgICBpZiAoIXRva2VuaXplcikgewor
ICAgICAgICAgICAgdG9rZW5pemVyID0gbmV3IHRoaXMuX3Rva2VuaXplckNvbnN0cnVjdG9yc1tt
aW1lVHlwZV0oKTsKKyAgICAgICAgICAgIHRoaXMuX3Rva2VuaXplcnNbbWltZVR5cGVdID0gdG9r
ZW5pemVyOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0b2tlbml6ZXI7CisgICAgfQorfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JIaWdobGln
aHRlci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9ySGlnaGxpZ2h0
ZXIuanMKaW5kZXggODUzYjY2Ni4uOThjYzVhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JIaWdobGlnaHRlci5qcworKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvckhpZ2hsaWdodGVyLmpzCkBAIC01MiwxOSArNTIsMTEg
QEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlciA9IGZ1bmN0aW9uKHRleHRNb2Rl
bCwgZGFtYWdlQ2FsbGJhY2spCiAgICAgdGhpcy5fc3R5bGVzWyJodG1sLWNvbW1lbnQiXSA9ICJy
Z2IoMzUsIDExMCwgMzcpIjsKICAgICB0aGlzLl9zdHlsZXNbImh0bWwtZG9jdHlwZSJdID0gInJn
YigxOTIsIDE5MiwgMTkyKSI7CiAKLSAgICB0aGlzLl9zdHlsZXNbImpzLWNvbW1lbnQiXSA9ICJy
Z2IoMCwgMTE2LCAwKSI7Ci0gICAgdGhpcy5fc3R5bGVzWyJqcy1zdHJpbmciXSA9ICJyZ2IoMTk2
LCAyNiwgMjIpIjsKLSAgICB0aGlzLl9zdHlsZXNbImpzLXJlZ2V4Il0gPSAicmdiKDE5NiwgMjYs
IDIyKSI7Ci0gICAgdGhpcy5fc3R5bGVzWyJqcy1rZXl3b3JkIl0gPSAicmdiKDE3MCwgMTMsIDE0
NSkiOwotICAgIHRoaXMuX3N0eWxlc1sianMtbnVtYmVyIl0gPSAicmdiKDI4LCAwLCAyMDcpIjsK
LQotICAgIHRoaXMuX3Rva2VuaXplcnMgPSB7fTsKLSAgICB0aGlzLl90b2tlbml6ZXJDb25zdHJ1
Y3RvcnMgPSB7Ci0gICAgICAgICJ0ZXh0L2NzcyI6IFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tl
bml6ZXIsCi0gICAgICAgICJ0ZXh0L2h0bWwiOiBXZWJJbnNwZWN0b3IuU291cmNlSFRNTFRva2Vu
aXplciwKLSAgICAgICAgInRleHQvamF2YXNjcmlwdCI6IFdlYkluc3BlY3Rvci5Tb3VyY2VKYXZh
U2NyaXB0VG9rZW5pemVyLAotICAgICAgICAiYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IjogV2Vi
SW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIKLSAgICB9OworICAgIHRoaXMuX3N0
eWxlc1siamF2YXNjcmlwdC1jb21tZW50Il0gPSAicmdiKDAsIDExNiwgMCkiOworICAgIHRoaXMu
X3N0eWxlc1siamF2YXNjcmlwdC1zdHJpbmciXSA9ICJyZ2IoMTk2LCAyNiwgMjIpIjsKKyAgICB0
aGlzLl9zdHlsZXNbImphdmFzY3JpcHQtcmVnZXhwIl0gPSAicmdiKDE5NiwgMjYsIDIyKSI7Cisg
ICAgdGhpcy5fc3R5bGVzWyJqYXZhc2NyaXB0LWtleXdvcmQiXSA9ICJyZ2IoMTcwLCAxMywgMTQ1
KSI7CisgICAgdGhpcy5fc3R5bGVzWyJqYXZhc2NyaXB0LW51bWJlciJdID0gInJnYigyOCwgMCwg
MjA3KSI7CiAKICAgICB0aGlzLm1pbWVUeXBlID0gInRleHQvaHRtbCI7CiAgICAgdGhpcy5fZGFt
YWdlQ2FsbGJhY2sgPSBkYW1hZ2VDYWxsYmFjazsgICAgCkBAIC03MywxMyArNjUsNyBAQCBXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvckhpZ2hsaWdodGVyID0gZnVuY3Rpb24odGV4dE1vZGVsLCBkYW1h
Z2VDYWxsYmFjaykKIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIucHJvdG90eXBl
ID0gewogICAgIHNldCBtaW1lVHlwZShtaW1lVHlwZSkKICAgICB7Ci0gICAgICAgIGlmICghdGhp
cy5fdG9rZW5pemVyQ29uc3RydWN0b3JzW21pbWVUeXBlXSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgdGhpcy5fdG9rZW5pemVyID0gdGhpcy5fdG9rZW5pemVyc1ttaW1lVHlwZV07Ci0g
ICAgICAgIGlmICghdGhpcy5fdG9rZW5pemVyKSB7Ci0gICAgICAgICAgICB0aGlzLl90b2tlbml6
ZXIgPSBuZXcgdGhpcy5fdG9rZW5pemVyQ29uc3RydWN0b3JzW21pbWVUeXBlXSgpOwotICAgICAg
ICAgICAgdGhpcy5fdG9rZW5pemVyc1ttaW1lVHlwZV0gPSB0aGlzLl90b2tlbml6ZXI7Ci0gICAg
ICAgIH0KKyAgICAgICAgdGhpcy5fdG9rZW5pemVyID0gV2ViSW5zcGVjdG9yLlNvdXJjZVRva2Vu
aXplci5SZWdpc3RyeS5nZXRJbnN0YW5jZSgpLmdldFRva2VuaXplcihtaW1lVHlwZSk7CiAgICAg
fSwKIAogICAgIGhpZ2hsaWdodDogZnVuY3Rpb24oZW5kTGluZSkKQEAgLTIwNSw0NCArMTkxLDMg
QEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JIaWdobGlnaHRlci5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICB9IHdoaWxlIChjb2x1bW4gPCBsaW5lLmxlbmd0aCkKICAgICB9CiB9Ci0KLVdlYkluc3Bl
Y3Rvci5UZXh0RWRpdG9ySGlnaGxpZ2h0ZXIuVG9rZW5pemVyID0gZnVuY3Rpb24oKQotewotfQot
Ci1XZWJJbnNwZWN0b3IuVGV4dEVkaXRvckhpZ2hsaWdodGVyLlRva2VuaXplci5wcm90b3R5cGUg
PSB7Ci0gICAgc2V0IGxpbmUobGluZSkgewotICAgICAgICB0aGlzLl9saW5lID0gbGluZTsKLSAg
ICB9LAotCi0gICAgc2V0IGNvbmRpdGlvbihjb25kaXRpb24pCi0gICAgewotICAgICAgICB0aGlz
Ll9sZXhDb25kaXRpb24gPSBjb25kaXRpb24ubGV4Q29uZGl0aW9uOwotICAgICAgICB0aGlzLl9w
YXJzZUNvbmRpdGlvbiA9IGNvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbjsKLSAgICB9LAotCi0gICAg
Z2V0IGNvbmRpdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4geyBsZXhDb25kaXRpb246IHRo
aXMuX2xleENvbmRpdGlvbiwgcGFyc2VDb25kaXRpb246IHRoaXMuX3BhcnNlQ29uZGl0aW9uIH07
Ci0gICAgfSwKLQotICAgIGhhc0NvbmRpdGlvbjogZnVuY3Rpb24oY29uZGl0aW9uKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIHRoaXMuX2xleENvbmRpdGlvbiA9PT0gY29uZGl0aW9uLmxleENvbmRp
dGlvbiAmJiB0aGlzLl9wYXJzZUNvbmRpdGlvbiA9PT0gY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
OwotICAgIH0sCi0KLSAgICBnZXRMZXhDb25kaXRpb246IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9sZXhDb25kaXRpb247Ci0gICAgfSwKLQotICAgIHNldExleENvbmRp
dGlvbjogZnVuY3Rpb24obGV4Q29uZGl0aW9uKQotICAgIHsKLSAgICAgICAgdGhpcy5fbGV4Q29u
ZGl0aW9uID0gbGV4Q29uZGl0aW9uOwotICAgIH0sCi0KLSAgICBfY2hhckF0OiBmdW5jdGlvbihj
dXJzb3IpCi0gICAgewotICAgICAgICByZXR1cm4gY3Vyc29yIDwgdGhpcy5fbGluZS5sZW5ndGgg
PyB0aGlzLl9saW5lLmNoYXJBdChjdXJzb3IpIDogIlxuIjsKLSAgICB9Ci19CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDM2M2JiOTkuLjFkMzdkMzYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC0xNiw3ICsxNiw2IEBACiAgICAgPGZp
bGU+Q29uc29sZVZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+Q29udGV4dE1lbnUuanM8L2ZpbGU+
CiAgICAgPGZpbGU+Q29va2llSXRlbXNWaWV3LmpzPC9maWxlPgotICAgIDxmaWxlPkNTU1NvdXJj
ZVN5bnRheEhpZ2hsaWdodGVyLmpzPC9maWxlPgogICAgIDxmaWxlPkRhdGFiYXNlLmpzPC9maWxl
PgogICAgIDxmaWxlPkRhdGFiYXNlUXVlcnlWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkRhdGFi
YXNlVGFibGVWaWV3LmpzPC9maWxlPgpAQCAtMjQsNiArMjMsNyBAQAogICAgIDxmaWxlPkRPTUFn
ZW50LmpzPC9maWxlPgogICAgIDxmaWxlPkRPTVN0b3JhZ2UuanM8L2ZpbGU+CiAgICAgPGZpbGU+
RE9NU3RvcmFnZUl0ZW1zVmlldy5qczwvZmlsZT4KKyAgICA8ZmlsZT5ET01TeW50YXhIaWdobGln
aHRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5EcmF3ZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+RWxl
bWVudHNQYW5lbC5qczwvZmlsZT4KICAgICA8ZmlsZT5FbGVtZW50c1RyZWVPdXRsaW5lLmpzPC9m
aWxlPgpAQCAtMzUsNyArMzUsNiBAQAogICAgIDxmaWxlPmluc3BlY3Rvci5qczwvZmlsZT4KICAg
ICA8ZmlsZT5JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qczwvZmlsZT4KICAgICA8ZmlsZT5JbnNwZWN0
b3JGcm9udGVuZEhvc3RTdHViLmpzPC9maWxlPgotICAgIDxmaWxlPkphdmFTY3JpcHRTb3VyY2VT
eW50YXhIaWdobGlnaHRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5LZXlib2FyZFNob3J0Y3V0Lmpz
PC9maWxlPgogICAgIDxmaWxlPk1ldHJpY3NTaWRlYmFyUGFuZS5qczwvZmlsZT4KICAgICA8Zmls
ZT5PYmplY3QuanM8L2ZpbGU+CkBAIC02Niw3ICs2NSw3IEBACiAgICAgPGZpbGU+U291cmNlRnJh
bWUuanM8L2ZpbGU+CiAgICAgPGZpbGU+U291cmNlSFRNTFRva2VuaXplci5qczwvZmlsZT4KICAg
ICA8ZmlsZT5Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLmpzPC9maWxlPgotICAgIDxmaWxlPlNv
dXJjZVN5bnRheEhpZ2hsaWdodGVyLmpzPC9maWxlPgorICAgIDxmaWxlPlNvdXJjZVRva2VuaXpl
ci5qczwvZmlsZT4KICAgICA8ZmlsZT5Tb3VyY2VWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPlN0
YXR1c0JhckJ1dHRvbi5qczwvZmlsZT4KICAgICA8ZmlsZT5TdG9yYWdlUGFuZWwuanM8L2ZpbGU+
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwg
Yi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggYTg2NjAw
My4uODU2NmE4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bApAQCAtOTMsMTIgKzkzLDExIEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iQXVkaXRMYXVuY2hlclZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJlc291cmNlVmlldy5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU291cmNlRnJhbWUuanMi
Pjwvc2NyaXB0PgotICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJj
ZVN5bnRheEhpZ2hsaWdodGVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJDU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlci5qcyI+PC9zY3JpcHQ+
Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iSmF2YVNjcmlwdFNvdXJj
ZVN5bnRheEhpZ2hsaWdodGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJET01TeW50YXhIaWdobGlnaHRlci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGV4dEVkaXRvck1vZGVsLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUZXh0RWRp
dG9yLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJUZXh0RWRpdG9ySGlnaGxpZ2h0ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJjZVRva2VuaXplci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU291cmNlQ1NTVG9rZW5pemVyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3Vy
Y2VIVE1MVG9rZW5pemVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJTb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLmpzIj48L3NjcmlwdD4K
</data>
<flag name="review"
          id="30119"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>