<?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>225943</bug_id>
          
          <creation_ts>2021-05-18 16:55:34 -0700</creation_ts>
          <short_desc>[webkitpy] Deprecate webkitpy/tool/grammar.py</short_desc>
          <delta_ts>2021-05-19 11:09:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1761380</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-18 16:55:34 -0700</bug_when>
    <thetext>We have the function of webkitpy/tool/grammar.py implemented in webkitcorepy, we should use that implementation and remove webkitpy&apos;s duplicate implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761381</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-18 16:55:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/78180111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761383</commentid>
    <comment_count>2</comment_count>
      <attachid>429001</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-18 16:59:40 -0700</bug_when>
    <thetext>Created attachment 429001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761617</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-19 11:09:51 -0700</bug_when>
    <thetext>Committed r277735 (237909@main): &lt;https://commits.webkit.org/237909@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429001.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429001</attachid>
            <date>2021-05-18 16:59:40 -0700</date>
            <delta_ts>2021-05-19 11:09:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225943-20210518165939.patch</filename>
            <type>text/plain</type>
            <size>33572</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NjgzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2U1ZDEzYmUwYjZmOTBhYjZhM2RlYjI2MDYxNDFhOWMw
NjViNmYzNy4uODQyMzFmYjM4ODhjMTdlNjQyY2RmOWEyZGU1NDE2YTY3MTBjMDU2NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDIxLTA1LTE4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0cHldIERlcHJlY2F0ZSB3ZWJraXRweS90b29sL2dyYW1tYXIucHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTk0MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzgxODAxMTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2Jpc2VjdC1idWlsZHM6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3Rf
cnVubmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdFJ1bm5lci5ydW5fdGVzdHMpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmcu
cHk6CisgICAgICAgIChQcmludGVyLnByaW50X2ZvdW5kKToKKyAgICAgICAgKFByaW50ZXIucHJp
bnRfd29ya2Vyc19hbmRfc2hhcmRzKToKKyAgICAgICAgKFByaW50ZXIuX3ByaW50X29uZV9saW5l
X3N1bW1hcnkpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9wcmludGVyLnB5Ogor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXIucHk6
CisgICAgICAgIChGbGFreVRlc3RSZXBvcnRlci5fbG9va3VwX2J1Z19mb3JfZmxha3lfdGVzdCk6
CisgICAgICAgIChGbGFreVRlc3RSZXBvcnRlci5fY3JlYXRlX2J1Z19mb3JfZmxha3lfdGVzdCk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2FkLnB5Ogor
ICAgICAgICAoQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kLmV4ZWN1dGUpOgorICAgICAg
ICAoUHJvY2Vzc0J1Z3NNaXhpbi5fZmV0Y2hfbGlzdF9vZl9wYXRjaGVzX3RvX3Byb2Nlc3MpOgor
ICAgICAgICAoUHJvY2Vzc1VSTHNNaXhpbi5fZmV0Y2hfbGlzdF9vZl9wYXRjaGVzX3RvX3Byb2Nl
c3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZF91
bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVl
cmllcy5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2Vz
dG5vbWluYXRpb25zLnB5OgorICAgICAgICAoU3VnZ2VzdE5vbWluYXRpb25zLl9wcmludF9ub21p
bmF0aW9ucyk6CisgICAgICAgIChTdWdnZXN0Tm9taW5hdGlvbnMuX3ByaW50X2NvdW50cyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZC5weToKKyAgICAg
ICAgKENsZWFuUGVuZGluZ0NvbW1pdC5fZmxhZ3NfdG9fY2xlYXJfb25fcGF0Y2gpOgorICAgICAg
ICAoUG9zdENvbW1pdHMuZXhlY3V0ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2dyYW1tYXIucHk6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2dy
YW1tYXJfdW5pdHRlc3QucHk6IFJlbW92ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
b29sL211bHRpY29tbWFuZHRvb2wucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L3N0ZXBzL29ic29sZXRlcGF0Y2hlcy5weToKKyAgICAgICAgKE9ic29sZXRlUGF0Y2hlcy5ydW4p
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9n
Zm9ycmV2ZXJ0LnB5OgorICAgICAgICAoUHJlcGFyZUNoYW5nZUxvZ0ZvclJldmVydC5fbWVzc2Fn
ZV9mb3JfcmV2ZXJ0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJl
cGFyZWNoYW5nZWxvZ2ZvcnJldmVydF91bml0dGVzdC5weToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvcmVvcGVuYnVnYWZ0ZXJyZXZlcnQucHk6CisgICAgICAgIChSZW9w
ZW5CdWdBZnRlclJldmVydC5ydW4pOgorCiAyMDIxLTA1LTE4ICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0cHldIEZvcndhcmQgYm9vdGVkIHNp
bXVsYXRvcnMgdG8gY2hpbGRyZW4gcHJvY2Vzc2VzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L2Jpc2VjdC1idWlsZHMgYi9Ub29scy9TY3JpcHRzL2Jpc2VjdC1idWlsZHMKaW5kZXggODFhZDBj
MmZlNzc4MzIxNWQzMWZiNjM3N2JkMTJhYzdkZDhkN2I4My4uNzVjMmIwYWNjYWIxZTMzMTI5Nzkw
ZjU5YmU5MjZhMTE0MGE4NDQ1MSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9iaXNlY3QtYnVp
bGRzCisrKyBiL1Rvb2xzL1NjcmlwdHMvYmlzZWN0LWJ1aWxkcwpAQCAtMzAsNyArMzAsOCBAQAog
ZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBmcm9tIHdlYmtp
dHB5LmNvbW1vbi5zeXN0ZW0uc3lzdGVtaG9zdCBpbXBvcnQgU3lzdGVtSG9zdAogZnJvbSB3ZWJr
aXRweS5jb21tb24udmVyc2lvbl9uYW1lX21hcCBpbXBvcnQgVmVyc2lvbk5hbWVNYXAKLWZyb20g
d2Via2l0cHkudG9vbC5ncmFtbWFyIGltcG9ydCBwbHVyYWxpemUKKworZnJvbSB3ZWJraXRjb3Jl
cHkuc3RyaW5nX3V0aWxzIGltcG9ydCBwbHVyYWxpemUKIAogaW1wb3J0IGFyZ3BhcnNlCiBpbXBv
cnQgYmlzZWN0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5uZXIucHkKaW5kZXgg
MmM2OTc4ZGU5OGQzNzNiY2I1OWI2MDRhMDUwZTIyNDE2NmI1YTA5My4uNWY5OWZhYTk0YTkzNmFm
ZDk1YjdmYjJkOTYyZjRiMTZmNzNlNmRiMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90
ZXN0X3J1bm5lci5weQpAQCAtMzEsNiArMzEsOCBAQCBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHRo
cmVhZGluZwogaW1wb3J0IHRpbWUKIAorZnJvbSB3ZWJraXRjb3JlcHkuc3RyaW5nX3V0aWxzIGlt
cG9ydCBwbHVyYWxpemUKKwogZnJvbSB3ZWJraXRweS5jb21tb24gaW1wb3J0IG1lc3NhZ2VfcG9v
bAogZnJvbSB3ZWJraXRweS5jb21tb24uaXRlcmF0aW9uX2NvbXBhdGliaWxpdHkgaW1wb3J0IGl0
ZXJpdGVtcwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMgaW1wb3J0IHNp
bmdsZV90ZXN0X3J1bm5lcgpAQCAtMzgsNyArNDAsNiBAQCBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5tb2RlbHMudGVzdF9ydW5fcmVzdWx0cyBpbXBvcnQgVGVzdFJ1blJlc3VsdHMKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9leHBlY3RhdGlvbnMKIGZy
b20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9mYWlsdXJlcwogZnJv
bSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X3Jlc3VsdHMKLWZyb20g
d2Via2l0cHkudG9vbCBpbXBvcnQgZ3JhbW1hcgogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dl
cihfX25hbWVfXykKQEAgLTExNCw3ICsxMTUsNyBAQCBjbGFzcyBMYXlvdXRUZXN0UnVubmVyKG9i
amVjdCk6CiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuZHJ5X3J1bjoKICAgICAgICAgICAgIHJl
dHVybiBydW5fcmVzdWx0cwogCi0gICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGVfdXBkYXRlKCdT
dGFydGluZyAlcyAuLi4nICUgZ3JhbW1hci5wbHVyYWxpemUobnVtX3dvcmtlcnMsICJ3b3JrZXIi
KSkKKyAgICAgICAgc2VsZi5fcHJpbnRlci53cml0ZV91cGRhdGUoJ1N0YXJ0aW5nICVzIC4uLicg
JSBwbHVyYWxpemUobnVtX3dvcmtlcnMsICJ3b3JrZXIiKSkKIAogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICB3aXRoIG1lc3NhZ2VfcG9vbC5nZXQoc2VsZiwgc2VsZi5fd29ya2VyX2ZhY3Rvcnks
IG51bV93b3JrZXJzLCBzZWxmLl9wb3J0Lndvcmtlcl9zdGFydHVwX2RlbGF5X3NlY3MoKSwgc2Vs
Zi5fcG9ydC5ob3N0KSBhcyBwb29sOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggOWE4OWY4ZDhl
MTEyZGM4ZTU1ZWViZTEwMWFlMjEzZjE3YTIzM2VkMi4uYmJkNWVjZGQxOTllMDVjN2JiYThiNzg2
ZjQ5ZmRhZDdhMDdiODg0OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC00Miw2ICs0Miw4IEBA
IGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0
ZGljdCwgT3JkZXJlZERpY3QKIAorZnJvbSB3ZWJraXRjb3JlcHkuc3RyaW5nX3V0aWxzIGltcG9y
dCBwbHVyYWxpemUKKwogZnJvbSB3ZWJraXRweS5jb21tb24uaXRlcmF0aW9uX2NvbXBhdGliaWxp
dHkgaW1wb3J0IGl0ZXJpdGVtcywgaXRlcnZhbHVlcwogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVz
dHMuY29udHJvbGxlcnMubGF5b3V0X3Rlc3RfZmluZGVyIGltcG9ydCBMYXlvdXRUZXN0RmluZGVy
CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5jb250cm9sbGVycy5sYXlvdXRfdGVzdF9ydW5u
ZXIgaW1wb3J0IExheW91dFRlc3RSdW5uZXIKQEAgLTU0LDcgKzU2LDYgQEAgZnJvbSB3ZWJraXRw
eS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydCB0ZXN0X3Jlc3VsdHMKIGZyb20gd2Via2l0cHku
bGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9ydW5fcmVzdWx0cwogZnJvbSB3ZWJraXRw
eS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfaW5wdXQgaW1wb3J0IFRlc3RJbnB1dAogZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfcnVuX3Jlc3VsdHMgaW1wb3J0IElOVEVS
UlVQVEVEX0VYSVRfU1RBVFVTLCBUZXN0UnVuUmVzdWx0cwotZnJvbSB3ZWJraXRweS50b29sLmdy
YW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQogZnJvbSB3ZWJraXRweS5yZXN1bHRzLnVwbG9hZCBpbXBv
cnQgVXBsb2FkCiBmcm9tIHdlYmtpdHB5Lnhjb2RlLmRldmljZV90eXBlIGltcG9ydCBEZXZpY2VU
eXBlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Zp
ZXdzL3ByaW50aW5nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmll
d3MvcHJpbnRpbmcucHkKaW5kZXggMDQzNzc2MjU2YmQzMWYyMWZjZWI4MmJmYmYxNmY4OGU1MTM2
NjU0OC4uNjJjYzQ3NmIyYTAxN2JjNmQxYzhkYmY1NjU4Nzc5NjJkMDM3NWFlOSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmcucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmcu
cHkKQEAgLTMxLDcgKzMxLDggQEAKIGltcG9ydCBtYXRoCiBpbXBvcnQgb3B0cGFyc2UKIAotZnJv
bSB3ZWJraXRweS50b29sIGltcG9ydCBncmFtbWFyCitmcm9tIHdlYmtpdGNvcmVweS5zdHJpbmdf
dXRpbHMgaW1wb3J0IHBsdXJhbGl6ZQorCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2Rl
bHMgaW1wb3J0IHRlc3RfZXhwZWN0YXRpb25zCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy52
aWV3cy5tZXRlcmVkX3N0cmVhbSBpbXBvcnQgTWV0ZXJlZFN0cmVhbQogCkBAIC0xMDcsOSArMTA4
LDkgQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogICAgICAgICBzZWxmLl9wcmludF9kZWZhdWx0
KCcnKQogCiAgICAgZGVmIHByaW50X2ZvdW5kKHNlbGYsIG51bV9hbGxfdGVzdF9maWxlcywgbnVt
X3RvX3J1biwgcmVwZWF0X2VhY2gsIGl0ZXJhdGlvbnMpOgotICAgICAgICBmb3VuZF9zdHIgPSAn
Rm91bmQgJXM7IHJ1bm5pbmcgJWQnICUgKGdyYW1tYXIucGx1cmFsaXplKG51bV9hbGxfdGVzdF9m
aWxlcywgInRlc3QiKSwgbnVtX3RvX3J1bikKKyAgICAgICAgZm91bmRfc3RyID0gJ0ZvdW5kICVz
OyBydW5uaW5nICVkJyAlIChwbHVyYWxpemUobnVtX2FsbF90ZXN0X2ZpbGVzLCAidGVzdCIpLCBu
dW1fdG9fcnVuKQogICAgICAgICBpZiByZXBlYXRfZWFjaCAqIGl0ZXJhdGlvbnMgPiAxOgotICAg
ICAgICAgICAgZm91bmRfc3RyICs9ICcgKCVzIGVhY2g6IC0tcmVwZWF0LWVhY2g9JWQgLS1pdGVy
YXRpb25zPSVkKScgJSAoZ3JhbW1hci5wbHVyYWxpemUocmVwZWF0X2VhY2ggKiBpdGVyYXRpb25z
LCAidGltZSIpLCByZXBlYXRfZWFjaCwgaXRlcmF0aW9ucykKKyAgICAgICAgICAgIGZvdW5kX3N0
ciArPSAnICglcyBlYWNoOiAtLXJlcGVhdC1lYWNoPSVkIC0taXRlcmF0aW9ucz0lZCknICUgKHBs
dXJhbGl6ZShyZXBlYXRfZWFjaCAqIGl0ZXJhdGlvbnMsICJ0aW1lIiksIHJlcGVhdF9lYWNoLCBp
dGVyYXRpb25zKQogICAgICAgICBmb3VuZF9zdHIgKz0gJywgc2tpcHBpbmcgJWQnICUgKG51bV9h
bGxfdGVzdF9maWxlcyAtIG51bV90b19ydW4pCiAgICAgICAgIHNlbGYuX3ByaW50X2RlZmF1bHQo
Zm91bmRfc3RyICsgJy4nKQogCkBAIC0xMjQsOSArMTI1LDkgQEAgY2xhc3MgUHJpbnRlcihvYmpl
Y3QpOgogCiAgICAgICAgIGlmIG51bV93b3JrZXJzID09IDE6CiAgICAgICAgICAgICBzZWxmLl9w
cmludF9kZWZhdWx0KCdSdW5uaW5nIDEge30uJy5mb3JtYXQoZHJpdmVyX25hbWUpKQotICAgICAg
ICAgICAgc2VsZi5fcHJpbnRfZGVidWcoJyh7fSkuJy5mb3JtYXQoZ3JhbW1hci5wbHVyYWxpemUo
bnVtX3NoYXJkcywgInNoYXJkIikpKQorICAgICAgICAgICAgc2VsZi5fcHJpbnRfZGVidWcoJyh7
fSkuJy5mb3JtYXQocGx1cmFsaXplKG51bV9zaGFyZHMsICJzaGFyZCIpKSkKICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIHNlbGYuX3ByaW50X2RlZmF1bHQoJ1J1bm5pbmcge30gaW4gcGFyYWxs
ZWwuJy5mb3JtYXQoZ3JhbW1hci5wbHVyYWxpemUobnVtX3dvcmtlcnMsIGRyaXZlcl9uYW1lKSkp
CisgICAgICAgICAgICBzZWxmLl9wcmludF9kZWZhdWx0KCdSdW5uaW5nIHt9IGluIHBhcmFsbGVs
LicuZm9ybWF0KHBsdXJhbGl6ZShudW1fd29ya2VycywgZHJpdmVyX25hbWUpKSkKICAgICAgICAg
ICAgIHNlbGYuX3ByaW50X2RlYnVnKCcoe30gc2hhcmRzKS4nLmZvcm1hdChudW1fc2hhcmRzKSkK
ICAgICAgICAgc2VsZi5fcHJpbnRfZGVmYXVsdCgnJykKIApAQCAtMjkwLDkgKzI5MSw5IEBAIGNs
YXNzIFByaW50ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ICAgICAgICBzdW1tYXJ5ID0gIlRoZSB0ZXN0IHJhbiBhcyBleHBlY3RlZC4iCiAgICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgIHN1bW1hcnkgPSAiJXMgcmFuIGFzIGV4cGVjdGVkJXMu
IiAlIChncmFtbWFyLnBsdXJhbGl6ZShleHBlY3RlZCwgInRlc3QiKSwgaW5jb21wbGV0ZV9zdHIp
CisgICAgICAgICAgICAgICAgc3VtbWFyeSA9ICIlcyByYW4gYXMgZXhwZWN0ZWQlcy4iICUgKHBs
dXJhbGl6ZShleHBlY3RlZCwgInRlc3QiKSwgaW5jb21wbGV0ZV9zdHIpCiAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBzdW1tYXJ5ID0gIiVzIHJhbiBhcyBleHBlY3RlZCwgJWQgZGlkbid0JXM6
IiAlIChncmFtbWFyLnBsdXJhbGl6ZShleHBlY3RlZCwgInRlc3QiKSwgdW5leHBlY3RlZCwgaW5j
b21wbGV0ZV9zdHIpCisgICAgICAgICAgICBzdW1tYXJ5ID0gIiVzIHJhbiBhcyBleHBlY3RlZCwg
JWQgZGlkbid0JXM6IiAlIChwbHVyYWxpemUoZXhwZWN0ZWQsICJ0ZXN0IiksIHVuZXhwZWN0ZWQs
IGluY29tcGxldGVfc3RyKQogCiAgICAgICAgIHNlbGYuX3ByaW50X3F1aWV0KHN1bW1hcnkpCiAg
ICAgICAgIHNlbGYuX3ByaW50X3F1aWV0KCIiKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90ZXN0L3ByaW50ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJp
bnRlci5weQppbmRleCBiZDUyNGFiMjc3NWJlNzc0YzdjODZmYjhhZjVlYjVhYWI5MDM2ZDYzLi5l
MjIyZjAxOGZlZDhhZDgzYTQ5ZDM3NGMxMWQ4ZTM2OWY5ZWUzZWU3IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvcHJpbnRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rlc3QvcHJpbnRlci5weQpAQCAtMjMsOSArMjMsMTAgQEAKIAogaW1wb3J0IGxvZ2dp
bmcKIAorZnJvbSB3ZWJraXRjb3JlcHkuc3RyaW5nX3V0aWxzIGltcG9ydCBwbHVyYWxpemUKKwog
ZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnN5c3RlbWhvc3QgaW1wb3J0IFN5c3RlbUhvc3QK
IGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzLm1ldGVyZWRfc3RyZWFtIGltcG9ydCBN
ZXRlcmVkU3RyZWFtCi1mcm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgcGx1cmFsaXpl
CiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXIucHkKaW5kZXggZmM0
MWMzMDliNjhhNDE5YTk5MzRiMzhmZTkxODQwYzQzMjAwZmM0Yi4uNmI4OGQxYjgzY2YyMWI0ZjIy
MjY4Y2FlMWY4NmZiODFkZTJiZGY1NiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyLnB5CkBAIC0yOSwxMCArMjksMTIgQEAKIGlt
cG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MucGF0aAogCitmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQg
c3RyaW5nX3V0aWxzCisKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5sYXlvdXR0ZXN0cmVzdWx0
cyBpbXBvcnQgcGF0aF9mb3JfbGF5b3V0X3Rlc3QKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZp
ZyBpbXBvcnQgdXJscwogZnJvbSB3ZWJraXRweS50b29sLmJvdC5ib3RpbmZvIGltcG9ydCBCb3RJ
bmZvCi1mcm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgcGx1cmFsLCBwbHVyYWxpemUs
IGpvaW5fd2l0aF9zZXBhcmF0b3JzCisKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt
ZV9fKQogCkBAIC03OCw3ICs4MCw3IEBAIGNsYXNzIEZsYWt5VGVzdFJlcG9ydGVyKG9iamVjdCk6
CiAgICAgICAgIGlmIGxlbihidWdzKSA+IDE6CiAgICAgICAgICAgICAjIEZJWE1FOiBUaGVyZSBh
cmUgcHJvYmFibHkgaGV1cmlzdGljcyB3ZSBjb3VsZCB1c2UgZm9yIGZpbmRpbmcKICAgICAgICAg
ICAgICMgdGhlIHJpZ2h0IGJ1ZyBpbnN0ZWFkIG9mIHRoZSBmaXJzdCwgbGlrZSBvcGVuIHZzLiBj
bG9zZWQuCi0gICAgICAgICAgICBfbG9nLndhcm4oIkZvdW5kICVzICVzIG1hdGNoaW5nICclcycg
ZmlsZWQgYnkgYSBib3QsIHVzaW5nIHRoZSBmaXJzdC4iICUgKHBsdXJhbGl6ZShsZW4oYnVncyks
ICJidWciKSwgW2J1Zy5pZCgpIGZvciBidWcgaW4gYnVnc10sIGZsYWt5X3Rlc3QpKQorICAgICAg
ICAgICAgX2xvZy53YXJuKCJGb3VuZCAlcyAlcyBtYXRjaGluZyAnJXMnIGZpbGVkIGJ5IGEgYm90
LCB1c2luZyB0aGUgZmlyc3QuIiAlIChzdHJpbmdfdXRpbHMucGx1cmFsaXplKGxlbihidWdzKSwg
ImJ1ZyIpLCBbYnVnLmlkKCkgZm9yIGJ1ZyBpbiBidWdzXSwgZmxha3lfdGVzdCkpCiAgICAgICAg
IHJldHVybiBidWdzWzBdCiAKICAgICBkZWYgX3ZpZXdfc291cmNlX3VybF9mb3JfdGVzdChzZWxm
LCB0ZXN0X3BhdGgpOgpAQCAtODcsNyArODksNyBAQCBjbGFzcyBGbGFreVRlc3RSZXBvcnRlcihv
YmplY3QpOgogICAgIGRlZiBfY3JlYXRlX2J1Z19mb3JfZmxha3lfdGVzdChzZWxmLCBmbGFreV90
ZXN0LCBhdXRob3JfZW1haWxzLCBsYXRlc3RfZmxha2VfbWVzc2FnZSk6CiAgICAgICAgIGZvcm1h
dF92YWx1ZXMgPSB7CiAgICAgICAgICAgICAndGVzdCc6IGZsYWt5X3Rlc3QsCi0gICAgICAgICAg
ICAnYXV0aG9ycyc6IGpvaW5fd2l0aF9zZXBhcmF0b3JzKHNvcnRlZChhdXRob3JfZW1haWxzKSks
CisgICAgICAgICAgICAnYXV0aG9ycyc6IHN0cmluZ191dGlscy5qb2luKHNvcnRlZChhdXRob3Jf
ZW1haWxzKSksCiAgICAgICAgICAgICAnZmxha2VfbWVzc2FnZSc6IGxhdGVzdF9mbGFrZV9tZXNz
YWdlLAogICAgICAgICAgICAgJ3Rlc3RfdXJsJzogc2VsZi5fdmlld19zb3VyY2VfdXJsX2Zvcl90
ZXN0KGZsYWt5X3Rlc3QpLAogICAgICAgICAgICAgJ2JvdF9uYW1lJzogc2VsZi5fYm90X25hbWUs
CkBAIC0xMTgsOCArMTIwLDggQEAgSWYgeW91IHdvdWxkIGxpa2UgdG8gdHJhY2sgdGhpcyB0ZXN0
IGZpeCB3aXRoIGFub3RoZXIgYnVnLCBwbGVhc2UgY2xvc2UgdGhpcyBidWcKICAgICBkZWYgX29w
dGlvbmFsX2F1dGhvcl9zdHJpbmcoc2VsZiwgYXV0aG9yX2VtYWlscyk6CiAgICAgICAgIGlmIG5v
dCBhdXRob3JfZW1haWxzOgogICAgICAgICAgICAgcmV0dXJuICIiCi0gICAgICAgIGhlYWRpbmdf
c3RyaW5nID0gcGx1cmFsKCdhdXRob3InKSBpZiBsZW4oYXV0aG9yX2VtYWlscykgPiAxIGVsc2Ug
J2F1dGhvcicKLSAgICAgICAgYXV0aG9yc19zdHJpbmcgPSBqb2luX3dpdGhfc2VwYXJhdG9ycyhz
b3J0ZWQoYXV0aG9yX2VtYWlscykpCisgICAgICAgIGhlYWRpbmdfc3RyaW5nID0gJ2F1dGhvcnMn
IGlmIGxlbihhdXRob3JfZW1haWxzKSA+IDEgZWxzZSAnYXV0aG9yJworICAgICAgICBhdXRob3Jz
X3N0cmluZyA9IHN0cmluZ191dGlscy5qb2luKHNvcnRlZChhdXRob3JfZW1haWxzKSkKICAgICAg
ICAgcmV0dXJuICIgKCVzOiAlcykiICUgKGhlYWRpbmdfc3RyaW5nLCBhdXRob3JzX3N0cmluZykK
IAogICAgIGRlZiBfbGF0ZXN0X2ZsYWtlX21lc3NhZ2Uoc2VsZiwgZmxha3lfcmVzdWx0LCBwYXRj
aCk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93
bmxvYWQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWQu
cHkKaW5kZXggOWY0NTg3MjM3MjJjMDI1ZTc0MDNjYzliZGNhZTBlMDNmM2M1ZDZlNy4uNDgxMGQ5
NmU5ZGZkYmUwYzVjZTUwYjZlMzQzM2QwOTEyNDYwYzAwNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2FkLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZC5weQpAQCAtMzEsNiArMzEsOCBAQCBp
bXBvcnQgbG9nZ2luZwogCiBmcm9tIHdlYmtpdHB5LnRvb2wgaW1wb3J0IHN0ZXBzCiAKK2Zyb20g
d2Via2l0Y29yZXB5LnN0cmluZ191dGlscyBpbXBvcnQgcGx1cmFsaXplCisKIGZyb20gd2Via2l0
cHkuY29tbW9uLmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgQ2hhbmdlTG9nCiBmcm9tIHdlYmtp
dHB5LmNvbW1vbi5jb25maWcgaW1wb3J0IHVybHMKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5i
dWd6aWxsYSBpbXBvcnQgQnVnemlsbGEKQEAgLTM5LDcgKzQxLDYgQEAgZnJvbSB3ZWJraXRweS50
b29sLmNvbW1hbmRzLmFic3RyYWN0c2VxdWVuY2VkY29tbWFuZCBpbXBvcnQgQWJzdHJhY3RTZXF1
ZW5jZWRDb20KIGZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5kZXByZWNhdGVkY29tbWFuZCBp
bXBvcnQgRGVwcmVjYXRlZENvbW1hbmQKIGZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5zdGVw
c2VxdWVuY2UgaW1wb3J0IFN0ZXBTZXF1ZW5jZQogZnJvbSB3ZWJraXRweS50b29sLmNvbW1lbnRz
IGltcG9ydCBidWdfY29tbWVudF9mcm9tX2NvbW1pdF90ZXh0Ci1mcm9tIHdlYmtpdHB5LnRvb2wu
Z3JhbW1hciBpbXBvcnQgcGx1cmFsaXplCiBmcm9tIHdlYmtpdHB5LnRvb2wubXVsdGljb21tYW5k
dG9vbCBpbXBvcnQgQ29tbWFuZAogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18p
CkBAIC0xNzQsNyArMTc1LDcgQEAgY2xhc3MgQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5k
KENvbW1hbmQpOgogCiAgICAgICAgICMgSXQncyBuaWNlIHRvIHByaW50IG91dCB0b3RhbCBzdGF0
aXN0aWNzLgogICAgICAgICBidWdzX3RvX3BhdGNoZXMgPSBzZWxmLl9jb2xsZWN0X3BhdGNoZXNf
YnlfYnVnKHBhdGNoZXMpCi0gICAgICAgIF9sb2cuaW5mbygiUHJvY2Vzc2luZyAlcyBmcm9tICVz
LiIgJSAocGx1cmFsaXplKGxlbihwYXRjaGVzKSwgInBhdGNoIiksIHBsdXJhbGl6ZShsZW4oYnVn
c190b19wYXRjaGVzKSwgImJ1ZyIpKSkKKyAgICAgICAgX2xvZy5pbmZvKCJQcm9jZXNzaW5nICVz
IGZyb20gJXMuIiAlIChwbHVyYWxpemUobGVuKHBhdGNoZXMpLCAncGF0Y2gnLCBwbHVyYWw9J3Bh
dGNoZXMnKSwgcGx1cmFsaXplKGxlbihidWdzX3RvX3BhdGNoZXMpLCAiYnVnIikpKQogCiAgICAg
ICAgIGZvciBwYXRjaCBpbiBwYXRjaGVzOgogICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc19wYXRj
aChwYXRjaCwgb3B0aW9ucywgYXJncywgdG9vbCkKQEAgLTIxOCwxMyArMjE5LDEzIEBAIGNsYXNz
IFByb2Nlc3NCdWdzTWl4aW4ob2JqZWN0KToKICAgICAgICAgYWxsX3BhdGNoZXMgPSBbXQogICAg
ICAgICBmb3IgYnVnX2lkIGluIGFyZ3M6CiAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdz
LmZldGNoX2J1ZyhidWdfaWQpLnJldmlld2VkX3BhdGNoZXMoKQotICAgICAgICAgICAgX2xvZy5p
bmZvKCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUobGVuKHBhdGNoZXMpLCAicmV2
aWV3ZWQgcGF0Y2giKSwgYnVnX2lkKSkKKyAgICAgICAgICAgIF9sb2cuaW5mbygiJXMgZm91bmQg
b24gYnVnICVzLiIgJSAocGx1cmFsaXplKGxlbihwYXRjaGVzKSwgJ3Jldmlld2VkIHBhdGNoJywg
cGx1cmFsPSdyZXZpZXdlZCBwYXRjaGVzJyksIGJ1Z19pZCkpCiAgICAgICAgICAgICBhbGxfcGF0
Y2hlcyArPSBwYXRjaGVzCiAgICAgICAgIGlmIG5vdCBhbGxfcGF0Y2hlczoKICAgICAgICAgICAg
IF9sb2cuaW5mbygiTm8gcmV2aWV3ZWQgcGF0Y2hlcyBmb3VuZCwgbG9va2luZyBmb3IgdW5yZXZp
ZXdlZCBwYXRjaGVzLiIpCiAgICAgICAgICAgICBmb3IgYnVnX2lkIGluIGFyZ3M6CiAgICAgICAg
ICAgICAgICAgcGF0Y2hlcyA9IHRvb2wuYnVncy5mZXRjaF9idWcoYnVnX2lkKS5wYXRjaGVzKCkK
LSAgICAgICAgICAgICAgICBfbG9nLmluZm8oIiVzIGZvdW5kIG9uIGJ1ZyAlcy4iICUgKHBsdXJh
bGl6ZShsZW4ocGF0Y2hlcyksICJwYXRjaCIpLCBidWdfaWQpKQorICAgICAgICAgICAgICAgIF9s
b2cuaW5mbygiJXMgZm91bmQgb24gYnVnICVzLiIgJSAocGx1cmFsaXplKGxlbihwYXRjaGVzKSwg
J3BhdGNoJywgcGx1cmFsPSdwYXRjaGVzJyksIGJ1Z19pZCkpCiAgICAgICAgICAgICAgICAgYWxs
X3BhdGNoZXMgKz0gcGF0Y2hlcwogICAgICAgICByZXR1cm4gYWxsX3BhdGNoZXMKIApAQCAtMjM2
LDcgKzIzNyw3IEBAIGNsYXNzIFByb2Nlc3NVUkxzTWl4aW4ob2JqZWN0KToKICAgICAgICAgICAg
IGJ1Z19pZCA9IHVybHMucGFyc2VfYnVnX2lkKHVybCkKICAgICAgICAgICAgIGlmIGJ1Z19pZDoK
ICAgICAgICAgICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZldGNoX2J1ZyhidWdfaWQpLnBh
dGNoZXMoKQotICAgICAgICAgICAgICAgIF9sb2cuaW5mbygiJXMgZm91bmQgb24gYnVnICVzLiIg
JSAocGx1cmFsaXplKGxlbihwYXRjaGVzKSwgInBhdGNoIiksIGJ1Z19pZCkpCisgICAgICAgICAg
ICAgICAgX2xvZy5pbmZvKCIlcyBmb3VuZCBvbiBidWcgJXMuIiAlIChwbHVyYWxpemUobGVuKHBh
dGNoZXMpLCAncGF0Y2gnLCBwbHVyYWw9J3BhdGNoZXMnKSwgYnVnX2lkKSkKICAgICAgICAgICAg
ICAgICBhbGxfcGF0Y2hlcyArPSBwYXRjaGVzCiAKICAgICAgICAgICAgIGF0dGFjaG1lbnRfaWQg
PSB1cmxzLnBhcnNlX2F0dGFjaG1lbnRfaWQodXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5CmluZGV4IDNk
ZWE3MTNjZWNhNzdjMjI2Y2UwMTM5OTUyMjU3YjkyY2QxYWJkYjkuLjg5YWFkMmVmYWZjODYzZDk0
NmY2YmQ1MTY4NjAwZGRiODE2YWQ1YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKQEAgLTQ2NywxNyAr
NDY3LDE3IEBAIE1PQ0s6IHVzZXIub3Blbl91cmw6IGZpbGU6Ly8uLi4KIFdhcyB0aGF0IGRpZmYg
Y29ycmVjdD8KIEJ1aWxkaW5nIFdlYktpdAogQ29tbWl0dGVkIHI0OTgyNDogPGh0dHBzOi8vY29t
bWl0cy53ZWJraXQub3JnL3I0OTgyND4KLU1PQ0sgcmVvcGVuX2J1ZyA1MDAwMCB3aXRoIGNvbW1l
bnQgJ1JldmVydGVkIHI4NTIsIHI5NjMsIGFuZCByMzAwMSBmb3IgcmVhc29uOgorTU9DSyByZW9w
ZW5fYnVnIDUwMDAwIHdpdGggY29tbWVudCAnUmV2ZXJ0ZWQgcjg1Miwgcjk2MyBhbmQgcjMwMDEg
Zm9yIHJlYXNvbjoKIAogUmVhc29uCiAKIENvbW1pdHRlZCByNDk4MjQgKDVAbWFpbik6IDxodHRw
czovL2NvbW1pdHMud2Via2l0Lm9yZy81QG1haW4+JwotTU9DSyByZW9wZW5fYnVnIDUwMDA1IHdp
dGggY29tbWVudCAnUmV2ZXJ0ZWQgcjg1Miwgcjk2MywgYW5kIHIzMDAxIGZvciByZWFzb246CitN
T0NLIHJlb3Blbl9idWcgNTAwMDUgd2l0aCBjb21tZW50ICdSZXZlcnRlZCByODUyLCByOTYzIGFu
ZCByMzAwMSBmb3IgcmVhc29uOgogCiBSZWFzb24KIAogQ29tbWl0dGVkIHI0OTgyNCAoNUBtYWlu
KTogPGh0dHBzOi8vY29tbWl0cy53ZWJraXQub3JnLzVAbWFpbj4nCi1NT0NLIHJlb3Blbl9idWcg
NTAwMDQgd2l0aCBjb21tZW50ICdSZXZlcnRlZCByODUyLCByOTYzLCBhbmQgcjMwMDEgZm9yIHJl
YXNvbjoKK01PQ0sgcmVvcGVuX2J1ZyA1MDAwNCB3aXRoIGNvbW1lbnQgJ1JldmVydGVkIHI4NTIs
IHI5NjMgYW5kIHIzMDAxIGZvciByZWFzb246CiAKIFJlYXNvbgogCkBAIC00OTUsMTIgKzQ5NSwx
MiBAQCBNT0NLOiB1c2VyLm9wZW5fdXJsOiBmaWxlOi8vLi4uCiBXYXMgdGhhdCBkaWZmIGNvcnJl
Y3Q/CiBCdWlsZGluZyBXZWJLaXQKIENvbW1pdHRlZCByNDk4MjQ6IDxodHRwczovL2NvbW1pdHMu
d2Via2l0Lm9yZy9yNDk4MjQ+Ci1NT0NLIHJlb3Blbl9idWcgNTAwMDAgd2l0aCBjb21tZW50ICdS
ZXZlcnRlZCByODUyLCByOTYzLCBhbmQgcjk5OSBmb3IgcmVhc29uOgorTU9DSyByZW9wZW5fYnVn
IDUwMDAwIHdpdGggY29tbWVudCAnUmV2ZXJ0ZWQgcjg1Miwgcjk2MyBhbmQgcjk5OSBmb3IgcmVh
c29uOgogCiBSZWFzb24KIAogQ29tbWl0dGVkIHI0OTgyNCAoNUBtYWluKTogPGh0dHBzOi8vY29t
bWl0cy53ZWJraXQub3JnLzVAbWFpbj4nCi1NT0NLIHJlb3Blbl9idWcgNTAwMDUgd2l0aCBjb21t
ZW50ICdSZXZlcnRlZCByODUyLCByOTYzLCBhbmQgcjk5OSBmb3IgcmVhc29uOgorTU9DSyByZW9w
ZW5fYnVnIDUwMDA1IHdpdGggY29tbWVudCAnUmV2ZXJ0ZWQgcjg1Miwgcjk2MyBhbmQgcjk5OSBm
b3IgcmVhc29uOgogCiBSZWFzb24KIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3F1ZXJpZXMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvcXVlcmllcy5weQppbmRleCAxNmY5ZjE0MjNkOWE3NWYxMGYxNmI3M2U1ZWNmODgy
ZDA5MWE0MjNhLi4zYzE5YjRmNTFlNTg1ZmJlMDJmNTEwNjBjM2JlZjczYTIxOWY2ZjQ4IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVlcmllcy5weQpAQCAt
MzcsNiArMzcsOCBAQCBpbXBvcnQgcmUKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCiBm
cm9tIG9wdHBhcnNlIGltcG9ydCBtYWtlX29wdGlvbgogCitmcm9tIHdlYmtpdGNvcmVweS5zdHJp
bmdfdXRpbHMgaW1wb3J0IHBsdXJhbGl6ZQorCiBmcm9tIHdlYmtpdHB5LnRvb2wgaW1wb3J0IHN0
ZXBzCiAKIGltcG9ydCB3ZWJraXRweS5jb21tb24uY29uZmlnLnVybHMgYXMgY29uZmlnX3VybHMK
QEAgLTUyLDcgKzU0LDYgQEAgZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3Rf
ZXhwZWN0YXRpb25zIGltcG9ydCBUZXN0RXhwZWN0YXRpb25zCiBmcm9tIHdlYmtpdHB5LnBvcnQg
aW1wb3J0IHBsYXRmb3JtX29wdGlvbnMsIGNvbmZpZ3VyYXRpb25fb3B0aW9ucwogZnJvbSB3ZWJr
aXRweS50b29sLmNvbW1hbmRzLmFic3RyYWN0c2VxdWVuY2VkY29tbWFuZCBpbXBvcnQgQWJzdHJh
Y3RTZXF1ZW5jZWRDb21tYW5kCiBmcm9tIHdlYmtpdHB5LnRvb2wuY29tbWFuZHMuZGVwcmVjYXRl
ZGNvbW1hbmQgaW1wb3J0IERlcHJlY2F0ZWRDb21tYW5kCi1mcm9tIHdlYmtpdHB5LnRvb2wuZ3Jh
bW1hciBpbXBvcnQgcGx1cmFsaXplCiBmcm9tIHdlYmtpdHB5LnRvb2wubXVsdGljb21tYW5kdG9v
bCBpbXBvcnQgQ29tbWFuZAogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5v
bWluYXRpb25zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1Z2dl
c3Rub21pbmF0aW9ucy5weQppbmRleCBhMWEyNzQ2NWEzNWU3YTYwMWRjYWM1ZGFlMzgwNjNiMTM4
YmFjYmVlLi41NWRmOTAzODhmZTJjNjI1MTViZGE2OTUyNDI3M2U3N2VkODljMDJiIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRp
b25zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdWdnZXN0
bm9taW5hdGlvbnMucHkKQEAgLTMwLDkgKzMwLDEwIEBACiBmcm9tIG9wdHBhcnNlIGltcG9ydCBt
YWtlX29wdGlvbgogaW1wb3J0IHJlCiAKK2Zyb20gd2Via2l0Y29yZXB5IGltcG9ydCBzdHJpbmdf
dXRpbHMKKwogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hhbmdlbG9nIGltcG9ydCBD
aGFuZ2VMb2dFbnRyeQogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRlcnMgaW1w
b3J0IENvbW1pdHRlckxpc3QKLWZyb20gd2Via2l0cHkudG9vbCBpbXBvcnQgZ3JhbW1hcgogZnJv
bSB3ZWJraXRweS50b29sLm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IENvbW1hbmQKIAogCkBAIC0y
NDksNyArMjUwLDcgQEAgY2xhc3MgU3VnZ2VzdE5vbWluYXRpb25zKEFic3RyYWN0Q29tbWl0TG9n
Q29tbWFuZCk6CiAKICAgICAgICAgZm9yIG5vbWluYXRpb24gaW4gbm9taW5hdGlvbnM6CiAgICAg
ICAgICAgICAjIFRoaXMgaXMgYSBsaXR0bGUgYml0IG9mIGEgaGFjaywgYnV0IGl0cyBjb252aWVu
ZW50IHRvIGp1c3QgcGFzcyB0aGUgbm9taW5hdGlvbiBkaWN0aW9uYXJ5IHRvIHRoZSBmb3JtYXRp
bmcgb3BlcmF0b3IuCi0gICAgICAgICAgICBub21pbmF0aW9uWydyb2xlc19zdHJpbmcnXSA9IGdy
YW1tYXIuam9pbl93aXRoX3NlcGFyYXRvcnMobm9taW5hdGlvblsncm9sZXMnXSkudXBwZXIoKQor
ICAgICAgICAgICAgbm9taW5hdGlvblsncm9sZXNfc3RyaW5nJ10gPSBzdHJpbmdfdXRpbHMuam9p
bihub21pbmF0aW9uWydyb2xlcyddKS51cHBlcigpCiAgICAgICAgICAgICBwcmludCgiJShyb2xl
c19zdHJpbmcpczogJShhdXRob3JfbmFtZSlzICglKGF1dGhvcl9lbWFpbClzKSBoYXMgJShwYXRj
aF9jb3VudClzIHJldmlld2VkIHBhdGNoZXMiICUgbm9taW5hdGlvbikKICAgICAgICAgICAgIGNv
dW50ZXIgPSBjb3VudGVyc19ieV9lbWFpbFtub21pbmF0aW9uWydhdXRob3JfZW1haWwnXV0KIApA
QCAtMjc0LDkgKzI3NSw5IEBAIGNsYXNzIFN1Z2dlc3ROb21pbmF0aW9ucyhBYnN0cmFjdENvbW1p
dExvZ0NvbW1hbmQpOgogICAgICAgICAgICAgZm9yIGFsaWFzIGluIGNvdW50ZXJbJ2VtYWlscydd
OgogICAgICAgICAgICAgICAgIGFsaWFzX2xpc3QuYXBwZW5kKGFsaWFzKQogICAgICAgICAgICAg
aWYgYWxpYXNfbGlzdDoKLSAgICAgICAgICAgICAgICBwcmludCgiQ09OVFJJQlVUT1I6ICVzICgl
cykgaGFzICVzICVzIiAlIChhdXRob3JfbmFtZSwgYXV0aG9yX2VtYWlsLCBncmFtbWFyLnBsdXJh
bGl6ZShwYXRjaF9jb3VudCwgInJldmlld2VkIHBhdGNoIiksICIoYWxpYXNlczogIiArICIsICIu
am9pbihhbGlhc19saXN0KSArICIpIikpCisgICAgICAgICAgICAgICAgcHJpbnQoIkNPTlRSSUJV
VE9SOiAlcyAoJXMpIGhhcyAlcyAlcyIgJSAoYXV0aG9yX25hbWUsIGF1dGhvcl9lbWFpbCwgc3Ry
aW5nX3V0aWxzLnBsdXJhbGl6ZShwYXRjaF9jb3VudCwgJ3Jldmlld2VkIHBhdGNoJywgcGx1cmFs
PSdyZXZpZXdlZCBwYXRjaGVzJyksICIoYWxpYXNlczogIiArICIsICIuam9pbihhbGlhc19saXN0
KSArICIpIikpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHByaW50KCJDT05U
UklCVVRPUjogJXMgKCVzKSBoYXMgJXMiICUgKGF1dGhvcl9uYW1lLCBhdXRob3JfZW1haWwsIGdy
YW1tYXIucGx1cmFsaXplKHBhdGNoX2NvdW50LCAicmV2aWV3ZWQgcGF0Y2giKSkpCisgICAgICAg
ICAgICAgICAgcHJpbnQoIkNPTlRSSUJVVE9SOiAlcyAoJXMpIGhhcyAlcyIgJSAoYXV0aG9yX25h
bWUsIGF1dGhvcl9lbWFpbCwgc3RyaW5nX3V0aWxzLnBsdXJhbGl6ZShwYXRjaF9jb3VudCwgJ3Jl
dmlld2VkIHBhdGNoJywgcGx1cmFsPSdyZXZpZXdlZCBwYXRjaGVzJykpKQogICAgICAgICByZXR1
cm4KIAogICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3VwbG9hZC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy91cGxvYWQucHkKaW5kZXggNTI3MDRj
MDk1M2ZkYzY4YWQ1ZDFhNGUxMDdjNTE5Y2RmMDk0MzU1NC4uYmIzOGM3NWY5YzNlOWMyZjQ5NTI5
NGM0ZGRlY2U3ZDgwNGIyNmViZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3VwbG9hZC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvdXBsb2FkLnB5CkBAIC0zNiwxMyArMzYsMTQgQEAgZnJvbSBvcHRwYXJzZSBpbXBv
cnQgbWFrZV9vcHRpb24KIAogZnJvbSB3ZWJraXRweS50b29sIGltcG9ydCBzdGVwcwogCitmcm9t
IHdlYmtpdGNvcmVweSBpbXBvcnQgc3RyaW5nX3V0aWxzCisKIGZyb20gd2Via2l0cHkuY29tbW9u
LmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgcGFyc2VfYnVnX2lkX2Zyb21fY2hhbmdlbG9nCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29tbWl0dGVycyBpbXBvcnQgQ29tbWl0dGVyTGlz
dAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLnVzZXIgaW1wb3J0IFVzZXIKIGZyb20gd2Vi
a2l0cHkudG9vbC5jb21tYW5kcy5hYnN0cmFjdHNlcXVlbmNlZGNvbW1hbmQgaW1wb3J0IEFic3Ry
YWN0U2VxdWVuY2VkQ29tbWFuZAogZnJvbSB3ZWJraXRweS50b29sLmNvbW1hbmRzLmRlcHJlY2F0
ZWRjb21tYW5kIGltcG9ydCBEZXByZWNhdGVkQ29tbWFuZAogZnJvbSB3ZWJraXRweS50b29sLmNv
bW1lbnRzIGltcG9ydCBidWdfY29tbWVudF9mcm9tX3N2bl9yZXZpc2lvbgotZnJvbSB3ZWJraXRw
eS50b29sLmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZSwgam9pbl93aXRoX3NlcGFyYXRvcnMKIGZy
b20gd2Via2l0cHkudG9vbC5tdWx0aWNvbW1hbmR0b29sIGltcG9ydCBDb21tYW5kCiAKIF9sb2cg
PSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTgwLDcgKzgxLDcgQEAgY2xhc3MgQ2xl
YW5QZW5kaW5nQ29tbWl0KENvbW1hbmQpOgogICAgICAgICAgICAgICAgIHdoYXRfd2FzX2NsZWFy
ZWQuYXBwZW5kKHUiJXMncyByZXZpZXcrIiAlIHBhdGNoLnJldmlld2VyKCkuZnVsbF9uYW1lKQog
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB3aGF0X3dhc19jbGVhcmVkLmFwcGVu
ZCgicmV2aWV3KyIpCi0gICAgICAgIHJldHVybiBqb2luX3dpdGhfc2VwYXJhdG9ycyh3aGF0X3dh
c19jbGVhcmVkKQorICAgICAgICByZXR1cm4gc3RyaW5nX3V0aWxzLmpvaW4od2hhdF93YXNfY2xl
YXJlZCkKIAogICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgogICAg
ICAgICBmb3IgYnVnX2lkIGluIHRvb2wuYnVncy5xdWVyaWVzLmZldGNoX2J1Z19pZHNfZnJvbV9w
ZW5kaW5nX2NvbW1pdF9saXN0KCk6CkBAIC0zNDcsNyArMzQ4LDcgQEAgY2xhc3MgUG9zdENvbW1p
dHMoQ29tbWFuZCk6CiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywgdG9vbCk6
CiAgICAgICAgIGNvbW1pdF9pZHMgPSB0b29sLnNjbSgpLmNvbW1pdF9pZHNfZnJvbV9jb21taXRp
c2hfYXJndW1lbnRzKGFyZ3MpCiAgICAgICAgIGlmIGxlbihjb21taXRfaWRzKSA+IDEwOiAgIyBX
ZSBjb3VsZCBsb3dlciB0aGlzIGxpbWl0LCAxMCBpcyB0b28gbWFueSBmb3Igb25lIGJ1ZyBhcy1p
cy4KLSAgICAgICAgICAgIF9sb2cuZXJyb3IoIndlYmtpdC1wYXRjaCBkb2VzIG5vdCBzdXBwb3J0
IGF0dGFjaGluZyAlcyBhdCBvbmNlLiAgQXJlIHlvdSBzdXJlIHlvdSBwYXNzZWQgdGhlIHJpZ2h0
IGNvbW1pdCByYW5nZT8iICUgKHBsdXJhbGl6ZShsZW4oY29tbWl0X2lkcyksICJwYXRjaCIpKSkK
KyAgICAgICAgICAgIF9sb2cuZXJyb3IoIndlYmtpdC1wYXRjaCBkb2VzIG5vdCBzdXBwb3J0IGF0
dGFjaGluZyAlcyBhdCBvbmNlLiAgQXJlIHlvdSBzdXJlIHlvdSBwYXNzZWQgdGhlIHJpZ2h0IGNv
bW1pdCByYW5nZT8iICUgKHN0cmluZ191dGlscy5wbHVyYWxpemUobGVuKGNvbW1pdF9pZHMpLCAn
cGF0Y2gnLCBwbHVyYWw9J3BhdGNoZXMnKSkpCiAgICAgICAgICAgICBzeXMuZXhpdCgxKQogCiAg
ICAgICAgIGhhdmVfb2Jzb2xldGVkX3BhdGNoZXMgPSBzZXQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2dyYW1tYXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvZ3JhbW1hci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTljNGI2MDlk
YWYyYmRkNDZhYmUxYzFjY2I4ZmRiZjNlMjU4N2Y1NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvZ3JhbW1h
ci5weQorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLSMgQ29weXJpZ2h0IChjKSAyMDA5
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIENvcHlyaWdodCAoYykgMjAwOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCi0jIG1ldDoKLSMKLSMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0jIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKLSMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQotIyBkaXN0cmlidXRpb24uCi0jICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSMg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
LSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSMgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKLSMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0jIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQotIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1pbXBv
cnQgcmUKLQotCi1kZWYgcGx1cmFsKG5vdW4pOgotICAgICMgVGhpcyBpcyBhIGR1bWIgcGx1cmFs
KCkgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBqdXN0IGVub3VnaCBmb3Igb3VyIHVzZXMuCi0gICAg
aWYgcmUuc2VhcmNoKCJoJCIsIG5vdW4pOgotICAgICAgICByZXR1cm4gbm91biArICJlcyIKLSAg
ICBlbHNlOgotICAgICAgICByZXR1cm4gbm91biArICJzIgotCi0KLWRlZiBwbHVyYWxpemUoY291
bnQsIG5vdW4sIHNob3dDb3VudD1UcnVlKToKLSAgICBpZiBjb3VudCAhPSAxOgotICAgICAgICBu
b3VuID0gcGx1cmFsKG5vdW4pCi0gICAgaWYgc2hvd0NvdW50OgotICAgICAgICByZXR1cm4gIiVk
ICVzIiAlIChjb3VudCwgbm91bikKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gIiVzIiAlIG5v
dW4KLQotCi1kZWYgam9pbl93aXRoX3NlcGFyYXRvcnMobGlzdF9vZl9zdHJpbmdzLCBzZXBhcmF0
b3I9JywgJywgb25seV90d29fc2VwYXJhdG9yPSIgYW5kICIsIGxhc3Rfc2VwYXJhdG9yPScsIGFu
ZCAnKToKLSAgICBpZiBub3QgbGlzdF9vZl9zdHJpbmdzOgotICAgICAgICByZXR1cm4gIiIKLSAg
ICBpZiBsZW4obGlzdF9vZl9zdHJpbmdzKSA9PSAxOgotICAgICAgICByZXR1cm4gbGlzdF9vZl9z
dHJpbmdzWzBdCi0gICAgaWYgbGVuKGxpc3Rfb2Zfc3RyaW5ncykgPT0gMjoKLSAgICAgICAgcmV0
dXJuIG9ubHlfdHdvX3NlcGFyYXRvci5qb2luKGxpc3Rfb2Zfc3RyaW5ncykKLSAgICByZXR1cm4g
IiVzJXMlcyIgJSAoc2VwYXJhdG9yLmpvaW4obGlzdF9vZl9zdHJpbmdzWzotMV0pLCBsYXN0X3Nl
cGFyYXRvciwgbGlzdF9vZl9zdHJpbmdzWy0xXSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ncmFtbWFyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2dyYW1tYXJfdW5pdHRlc3QucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM1OGIwYzU0NThkZGExZTM1MjVlNjhlNGU3NTM0NjU5OWRlYmFkYTIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2dyYW1tYXJfdW5pdHRlc3QucHkKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0j
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwot
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotIyBtZXQ6Ci0jCi0jICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotIyAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
Ci0jIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0jIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSMgIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0jIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0jIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotIyBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAotIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLQotaW1wb3J0IHVuaXR0ZXN0Ci0KLWZyb20gd2Via2l0cHkudG9vbC5ncmFt
bWFyIGltcG9ydCBqb2luX3dpdGhfc2VwYXJhdG9ycwotZnJvbSB3ZWJraXRweS50b29sLmdyYW1t
YXIgaW1wb3J0IHBsdXJhbAotZnJvbSB3ZWJraXRweS50b29sLmdyYW1tYXIgaW1wb3J0IHBsdXJh
bGl6ZQotCi0KLWNsYXNzIEdyYW1tYXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKLQotICAgIGRl
ZiB0ZXN0X2pvaW5fd2l0aF9zZXBhcmF0b3JzKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGpvaW5fd2l0aF9zZXBhcmF0b3JzKFsib25lIl0pLCAib25lIikKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChqb2luX3dpdGhfc2VwYXJhdG9ycyhbIm9uZSIsICJ0d28iXSksICJvbmUgYW5k
IHR3byIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoam9pbl93aXRoX3NlcGFyYXRvcnMoWyJv
bmUiLCAidHdvIiwgInRocmVlIl0pLCAib25lLCB0d28sIGFuZCB0aHJlZSIpCi0KLSAgICBkZWYg
dGVzdF9wbHVyYWwoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGx1cmFsKCJwYXRj
aCIpLCAicGF0Y2hlcyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGx1cmFsKCJ0ZXN0Iiks
ICJ0ZXN0cyIpCi0KLSAgICBkZWYgdGVzdF9wbHVyYWxpemUoc2VsZik6Ci0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocGx1cmFsaXplKDEsICJwYXRjaCIpLCAiMSBwYXRjaCIpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocGx1cmFsaXplKDIsICJwYXRjaCIpLCAiMiBwYXRjaGVzIikKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChwbHVyYWxpemUoMSwgInBhdGNoIiwgVHJ1ZSksICIxIHBhdGNo
IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwbHVyYWxpemUoMiwgInBhdGNoIiwgVHJ1ZSks
ICIyIHBhdGNoZXMiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsdXJhbGl6ZSgxLCAicGF0
Y2giLCBGYWxzZSksICJwYXRjaCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGx1cmFsaXpl
KDIsICJwYXRjaCIsIEZhbHNlKSwgInBhdGNoZXMiKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvbXVsdGljb21tYW5kdG9vbC5weQppbmRleCAyYWVhYzNiN2ZhZTU5ODZjNGUyMGU1
MTI2Nzc3OWMyOWEwMGY3MTY4Li5hZWU5NWM1NjczMTQyZTk1ZjczOTc5NzM0Mjc1MWY4ZGQ2ZmY0
YTg5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5k
dG9vbC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbXVsdGljb21tYW5kdG9v
bC5weQpAQCAtMzYsNyArMzYsNyBAQCBpbXBvcnQgc3lzCiAKIGZyb20gb3B0cGFyc2UgaW1wb3J0
IE9wdGlvblBhcnNlciwgSW5kZW50ZWRIZWxwRm9ybWF0dGVyLCBTVVBQUkVTU19VU0FHRSwgbWFr
ZV9vcHRpb24KIAotZnJvbSB3ZWJraXRweS50b29sLmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQor
ZnJvbSB3ZWJraXRjb3JlcHkuc3RyaW5nX3V0aWxzIGltcG9ydCBwbHVyYWxpemUKIAogX2xvZyA9
IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvb2Jzb2xldGVwYXRjaGVzLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL29ic29sZXRlcGF0Y2hlcy5weQppbmRleCA3MDFkM2MxNDYwZjYz
MWE5MjUwMDVmNGI4Y2I1ZjA4NDEzZTIyZGI2Li5hYjllY2U1ZjQzNTI3MzI3N2IwZjYzMzk4N2Zm
ZTZkNDViZTg4MzMxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvb2Jzb2xldGVwYXRjaGVzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
dGVwcy9vYnNvbGV0ZXBhdGNoZXMucHkKQEAgLTI4LDcgKzI4LDggQEAKIAogaW1wb3J0IGxvZ2dp
bmcKIAotZnJvbSB3ZWJraXRweS50b29sLmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQorZnJvbSB3
ZWJraXRjb3JlcHkuc3RyaW5nX3V0aWxzIGltcG9ydCBwbHVyYWxpemUKKwogZnJvbSB3ZWJraXRw
eS50b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQgQWJzdHJhY3RTdGVwCiBmcm9tIHdlYmtp
dHB5LnRvb2wuc3RlcHMub3B0aW9ucyBpbXBvcnQgT3B0aW9ucwogCkBAIC00OSw2ICs1MCw2IEBA
IGNsYXNzIE9ic29sZXRlUGF0Y2hlcyhBYnN0cmFjdFN0ZXApOgogICAgICAgICBwYXRjaGVzID0g
c2VsZi5fdG9vbC5idWdzLmZldGNoX2J1ZyhidWdfaWQpLnBhdGNoZXMoKQogICAgICAgICBpZiBu
b3QgcGF0Y2hlczoKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBfbG9nLmluZm8oIk9ic29s
ZXRpbmcgJXMgb24gYnVnICVzIiAlIChwbHVyYWxpemUobGVuKHBhdGNoZXMpLCAib2xkIHBhdGNo
IiksIGJ1Z19pZCkpCisgICAgICAgIF9sb2cuaW5mbygiT2Jzb2xldGluZyAlcyBvbiBidWcgJXMi
ICUgKHBsdXJhbGl6ZShsZW4ocGF0Y2hlcyksICdvbGQgcGF0Y2gnLCBwbHVyYWw9J29sZCBwYXRj
aGVzJyksIGJ1Z19pZCkpCiAgICAgICAgIGZvciBwYXRjaCBpbiBwYXRjaGVzOgogICAgICAgICAg
ICAgc2VsZi5fdG9vbC5idWdzLm9ic29sZXRlX2F0dGFjaG1lbnQocGF0Y2guaWQoKSkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9n
Zm9ycmV2ZXJ0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVj
aGFuZ2Vsb2dmb3JyZXZlcnQucHkKaW5kZXggMDkzY2U3YzI4NjI0ZWRkMWJlMjMwNzViZTY3ZWNj
ZDdjZGJjODBlMC4uNzc1ZDk3MzA1ODc3M2Y2MmJhYjRlZTFiZWM2MThkNjJiOGRiMzkyZCAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vs
b2dmb3JyZXZlcnQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3By
ZXBhcmVjaGFuZ2Vsb2dmb3JyZXZlcnQucHkKQEAgLTI2LDIzICsyNiwyNCBAQAogIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KIAorZnJvbSB3ZWJraXRjb3JlcHkgaW1wb3J0IHN0cmluZ191
dGlscworCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jaGFuZ2Vsb2cgaW1wb3J0IENo
YW5nZUxvZwogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxzCi1mcm9tIHdl
YmtpdHB5LnRvb2wgaW1wb3J0IGdyYW1tYXIKIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5hYnN0
cmFjdHN0ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogCiAKIGNsYXNzIFByZXBhcmVDaGFuZ2VMb2dG
b3JSZXZlcnQoQWJzdHJhY3RTdGVwKToKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX21lc3Nh
Z2VfZm9yX3JldmVydChjbHMsIHJldmlzaW9uX2xpc3QsIHJlYXNvbiwgZGVzY3JpcHRpb25fbGlz
dCwgcmV2ZXJ0ZWRfYnVnX3VybF9saXN0LCByZXZlcnRfYnVnX3VybD1Ob25lKToKLSAgICAgICAg
bWVzc2FnZSA9ICJVbnJldmlld2VkLCByZXZlcnRpbmcgJXMuXG4iICUgZ3JhbW1hci5qb2luX3dp
dGhfc2VwYXJhdG9ycyhbJ3InICsgc3RyKHJldmlzaW9uKSBmb3IgcmV2aXNpb24gaW4gcmV2aXNp
b25fbGlzdF0pCisgICAgICAgIG1lc3NhZ2UgPSAiVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nICVzLlxu
IiAlIHN0cmluZ191dGlscy5qb2luKFsncicgKyBzdHIocmV2aXNpb24pIGZvciByZXZpc2lvbiBp
biByZXZpc2lvbl9saXN0XSkKICAgICAgICAgaWYgcmV2ZXJ0X2J1Z191cmw6CiAgICAgICAgICAg
ICBtZXNzYWdlICs9ICIlc1xuIiAlIHJldmVydF9idWdfdXJsCiAgICAgICAgIG1lc3NhZ2UgKz0g
IlxuIgogICAgICAgICBpZiByZWFzb246CiAgICAgICAgICAgICBtZXNzYWdlICs9ICIlc1xuIiAl
IHJlYXNvbgogICAgICAgICBtZXNzYWdlICs9ICJcbiIKLSAgICAgICAgbWVzc2FnZSArPSAiUmV2
ZXJ0ZWQgJXM6XG5cbiIgJSBncmFtbWFyLnBsdXJhbGl6ZShsZW4ocmV2aXNpb25fbGlzdCksICJj
aGFuZ2VzZXQiLCBzaG93Q291bnQ9RmFsc2UpCisgICAgICAgIG1lc3NhZ2UgKz0gIlJldmVydGVk
IGNoYW5nZXNldCVzOlxuXG4iICUgKCdzJyBpZiBsZW4ocmV2aXNpb25fbGlzdCkgPiAxIGVsc2Ug
JycpCiAgICAgICAgIGZvciBpbmRleCBpbiByYW5nZShsZW4ocmV2aXNpb25fbGlzdCkpOgogICAg
ICAgICAgICAgaWYgZGVzY3JpcHRpb25fbGlzdFtpbmRleF06CiAgICAgICAgICAgICAgICAgbWVz
c2FnZSArPSAiXCIlc1wiXG4iICUgZGVzY3JpcHRpb25fbGlzdFtpbmRleF0KZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9ycmV2
ZXJ0X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBh
cmVjaGFuZ2Vsb2dmb3JyZXZlcnRfdW5pdHRlc3QucHkKaW5kZXggNmI1Y2NjNmI4ZDg0YWUzM2Ex
YzEzNzk2NTJmNTEyMDhlYTQ5ZmI5MC4uMzk2N2RhMzA3MzZmZmVmZGZiYjljNWVlYjBhYmM3MWI2
YjkzZDAzZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3By
ZXBhcmVjaGFuZ2Vsb2dmb3JyZXZlcnRfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JyZXZlcnRfdW5pdHRlc3QucHkK
QEAgLTYzLDcgKzYzLDcgQEAgY2xhc3MgVXBkYXRlQ2hhbmdlTG9nc0ZvclJldmVydFRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgogCiAgICAgX211bHRpcGxlX3JldmVydF9lbnRyeSA9ICcnJzIwMDkt
MDgtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCi0gICAgICAgIFVucmV2aWV3
ZWQsIHJldmVydGluZyByMTIzNDUsIHIxMjM0NiwgYW5kIHIxMjM0Ny4KKyAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIxMjM0NSwgcjEyMzQ2IGFuZCByMTIzNDcuCiAKICAgICAgICAgUmVh
c29uCiAKQEAgLTg0LDcgKzg0LDcgQEAgY2xhc3MgVXBkYXRlQ2hhbmdlTG9nc0ZvclJldmVydFRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgX211bHRpcGxlX3JldmVydF9lbnRyeV93aXRo
X21pc3NpbmdfYnVnX3VybHNfYW5kX2Rlc2NyaXB0aW9ucyA9ICcnJzIwMDktMDgtMTkgIEVyaWMg
U2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCi0gICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGlu
ZyByMTIzNDUsIHIxMjM0NiwgYW5kIHIxMjM0Ny4KKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0
aW5nIHIxMjM0NSwgcjEyMzQ2IGFuZCByMTIzNDcuCiAKICAgICAgICAgUmVhc29uCiAKQEAgLTk5
LDcgKzk5LDcgQEAgY2xhc3MgVXBkYXRlQ2hhbmdlTG9nc0ZvclJldmVydFRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogCiAgICAgX211bHRpcGxlX3JldmVydF9lbnRyeV93aXRoX2FfbWlzc2luZ19i
dWdfdXJsX2FuZF9kZXNjcmlwdGlvbiA9ICcnJzIwMDktMDgtMTkgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgogCi0gICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMTIzNDUsIHIx
MjM0NiwgYW5kIHIxMjM0Ny4KKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIxMjM0NSwg
cjEyMzQ2IGFuZCByMTIzNDcuCiAKICAgICAgICAgUmVhc29uCiAKQEAgLTEzNSw3ICsxMzUsNyBA
QCBjbGFzcyBVcGRhdGVDaGFuZ2VMb2dzRm9yUmV2ZXJ0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAKICAgICBfbXVsdGlwbGVfcmV2ZXJ0X2VudHJ5X3dpdGhfcmV2ZXJ0X2J1Z191cmwgPSAnJycy
MDA5LTA4LTE5ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAotICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjEyMzQ1LCByMTIzNDYsIGFuZCByMTIzNDcuCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByMTIzNDUsIHIxMjM0NiBhbmQgcjEyMzQ3LgogICAgICAgICBo
dHRwOi8vcmV2ZXJ0LmV4YW1wbGUuY29tLzU2Nzg5CiAKICAgICAgICAgUmVhc29uCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcmVvcGVuYnVnYWZ0ZXJyZXZl
cnQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcmVvcGVuYnVnYWZ0ZXJy
ZXZlcnQucHkKaW5kZXggMThkZmQ2N2YwNDM2NDE3MWMzZTk5NmQzZjgyNGU2MDEyYTY0ZGM2Ny4u
ZTI2NTY3YTNkMjg1NWNkZTgxNGU4NTIwZDU0ZTkxNjRiMmVlZDI1NCAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3Jlb3BlbmJ1Z2FmdGVycmV2ZXJ0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9yZW9wZW5idWdhZnRlcnJldmVy
dC5weQpAQCAtMjgsOCArMjgsOSBAQAogCiBpbXBvcnQgbG9nZ2luZwogCitmcm9tIHdlYmtpdGNv
cmVweSBpbXBvcnQgc3RyaW5nX3V0aWxzCisKIGZyb20gd2Via2l0cHkudG9vbC5jb21tZW50cyBp
bXBvcnQgYnVnX2NvbW1lbnRfZnJvbV9jb21taXRfdGV4dAotZnJvbSB3ZWJraXRweS50b29sLmdy
YW1tYXIgaW1wb3J0IGpvaW5fd2l0aF9zZXBhcmF0b3JzCiBmcm9tIHdlYmtpdHB5LnRvb2wuc3Rl
cHMuYWJzdHJhY3RzdGVwIGltcG9ydCBBYnN0cmFjdFN0ZXAKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQpAQCAtMzgsNyArMzksNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dn
ZXIoX19uYW1lX18pCiBjbGFzcyBSZW9wZW5CdWdBZnRlclJldmVydChBYnN0cmFjdFN0ZXApOgog
ICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgogICAgICAgICBjb21taXRfY29tbWVudCA9IGJ1Z19j
b21tZW50X2Zyb21fY29tbWl0X3RleHQoc2VsZi5fdG9vbC5zY20oKSwgc3RhdGVbImNvbW1pdF90
ZXh0Il0pCi0gICAgICAgIHJldmlzaW9uX2xpc3QgPSBqb2luX3dpdGhfc2VwYXJhdG9ycyhbJ3In
ICsgc3RyKHJldmlzaW9uKSBmb3IgcmV2aXNpb24gaW4gc3RhdGVbInJldmlzaW9uX2xpc3QiXV0p
CisgICAgICAgIHJldmlzaW9uX2xpc3QgPSBzdHJpbmdfdXRpbHMuam9pbihbJ3InICsgc3RyKHJl
dmlzaW9uKSBmb3IgcmV2aXNpb24gaW4gc3RhdGVbInJldmlzaW9uX2xpc3QiXV0pCiAgICAgICAg
IGNvbW1lbnRfdGV4dCA9ICJSZXZlcnRlZCAlcyBmb3IgcmVhc29uOlxuXG4lc1xuXG4lcyIgJSAo
cmV2aXNpb25fbGlzdCwgc3RhdGVbInJlYXNvbiJdLCBjb21taXRfY29tbWVudCkKICAgICAgICAg
YnVnX2lkcyA9IHN0YXRlWyJidWdfaWRfbGlzdCJdCiAgICAgICAgIGlmIG5vdCBidWdfaWRzOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>