<?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>232095</bug_id>
          
          <creation_ts>2021-10-21 11:14:01 -0700</creation_ts>
          <short_desc>[webkitscmpy] Comment and close pull-requests</short_desc>
          <delta_ts>2021-10-26 13:10:41 -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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1807265</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-21 11:14:01 -0700</bug_when>
    <thetext>We need to be able to comment on and close pull-requests for both GitHub and Bitbucket.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807272</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-21 11:19:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/84515738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807285</commentid>
    <comment_count>2</comment_count>
      <attachid>442052</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-21 11:31:46 -0700</bug_when>
    <thetext>Created attachment 442052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808856</commentid>
    <comment_count>3</comment_count>
      <attachid>442491</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-10-26 08:22:18 -0700</bug_when>
    <thetext>Created attachment 442491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809002</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-26 13:10:40 -0700</bug_when>
    <thetext>Committed r284892 (243569@main): &lt;https://commits.webkit.org/243569@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442491.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442052</attachid>
            <date>2021-10-21 11:31:46 -0700</date>
            <delta_ts>2021-10-26 08:22:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232095-20211021113145.patch</filename>
            <type>text/plain</type>
            <size>27412</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmQ2OGU5ZTZiZjVjZmFmYzViZmE3NWMzMGM2NmE5NWM4
NGVkMjdmOS4uZWVhYThmNGJiNGI3ZjAwNGYyMDBlZDQzYWQxNjkwNGNmZmZiYTFlMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDIxLTEwLTIxICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIENvbW1lbnQgYW5kIGNsb3NlIHB1bGwtcmVxdWVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjA5NQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODQ1MTU3Mzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5OgorICAgICAgICAoQml0QnVja2V0
LnJlcXVlc3QpOiBBZGQgc3VwcG9ydCBmb3IgYWN0aXZpdGllcywgb3BlbmluZyBhbmQgY2xvc2lu
ZyBwdWxsLXJlcXVlc3QuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2dpdF9odWIucHk6CisgICAgICAgIChHaXRIdWIuX19p
bml0X18pOiBBZGQgaXNzdWVzLgorICAgICAgICAoR2l0SHViLnJlcXVlc3QpOiBBY2Nlc3MgaXNz
dWUgdW5kZXJseWluZyBwdWxsLXJlcXVlc3QgKHdoaWNoIGluY2x1ZGVzIGdsb2JhbCBjb21tZW50
cykuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
cHVsbF9yZXF1ZXN0LnB5OgorICAgICAgICAoUHVsbFJlcXVlc3QuRXhjZXB0aW9uKTogQWRkZWQu
CisgICAgICAgIChQdWxsUmVxdWVzdC5Db21tZW50KTogQWRkZWQuCisgICAgICAgIChQdWxsUmVx
dWVzdC5fX2luaXRfXyk6IEFkZCBsaXN0IG9mIHB1bGwtcmVxdWVzdCBjb21tZW50cywgbWV0YWRh
dGEgdXNlZCBieSBnZW5lcmF0b3IuCisgICAgICAgIChQdWxsUmVxdWVzdC5vcGVuKTogUmUtb3Bl
biB0aGUgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoUHVsbFJlcXVlc3QuY2xvc2UpOiBDbG9zZSB0
aGUgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoUHVsbFJlcXVlc3QuY29tbWVudCk6IE1ha2UgYSBj
b21tZW50IG9uIHRoZSBwdWxsLXJlcXVlc3QuCisgICAgICAgIChQdWxsUmVxdWVzdC5jb21tZW50
cyk6IExpc3QgYWxsIGNvbW1lbnRzIG9uIGEgcHVsbC1yZXF1ZXN0LgorICAgICAgICAqIFNjcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9iaXRidWNrZXQucHk6
CisgICAgICAgIChCaXRCdWNrZXQuUFJHZW5lcmF0b3IudXBkYXRlKTogSGFuZGxlIGNsb3Npbmcg
YW5kIG9wZW5pbmcgb2YgdGhlIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKEJpdEJ1Y2tldC5QUkdl
bmVyYXRvci5jb21tZW50KTogTWFrZSBhIGNvbW1lbnQgb24gYSBwdWxsLXJlcXVlc3QuCisgICAg
ICAgIChCaXRCdWNrZXQuUFJHZW5lcmF0b3IuY29tbWVudHMpOiBMaXN0IGFsbCBjb21tZW50cyBv
biBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weToKKyAgICAgICAgKEdpdEh1Yi5QUkdlbmVy
YXRvci51cGRhdGUpOiBIYW5kbGUgY2xvc2luZyBhbmQgb3BlbmluZyBvZiB0aGUgcHVsbC1yZXF1
ZXN0LgorICAgICAgICAoR2l0SHViLlBSR2VuZXJhdG9yLmNvbW1lbnQpOiBNYWtlIGEgY29tbWVu
dCBvbiBhIGlzc3VlIHVuZGVycGlubmluZyBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKEdpdEh1
Yi5QUkdlbmVyYXRvci5jb21tZW50cyk6IExpc3QgYWxsIGNvbW1lbnRzIG9uIHRoZSBwdWxsLXJl
cXVlc3QuCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvcmVtb3RlL3NjbS5weToKKyAgICAgICAgKFNjbS5QUkdlbmVyYXRvci51cGRhdGUpOiBBZGQg
c3VwcG9ydCBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBhIHB1bGwtcmVxdWVzdC4KKyAgICAgICAg
KFNjbS5QUkdlbmVyYXRvci5jb21tZW50KTogTWFrZSBhIGNvbW1lbnQgb24gYSBwdWxsLXJlcXVl
c3QuCisgICAgICAgIChTY20uUFJHZW5lcmF0b3IuY29tbWVudHMpOiBMaXN0IGFsbCBjb21tZW50
cyBmb3IgYSBwdWxsLXJlcXVlc3QKKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRz
Y21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVzdC5weToKKwogMjAyMS0x
MC0yMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW2Nzcy12
YWx1ZXMtNF0gU3VwcG9ydCBzbWFsbCAoc3YqKSwgbGFyZ2UgKGx2KikgYW5kIGR5bmFtaWMgKGR2
Kikgdmlld3BvcnQgdW5pdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9iaXRidWNrZXQucHkgYi9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvYml0
YnVja2V0LnB5CmluZGV4IDRiOWQ0Mjk3M2IzNzgwYWYzMTA4ZGE1MzkxNjUxZTI1MWFkMjIzMWIu
LjIyODhlYmI0NTY0MDM0YzFjN2Q1NmY2MmViNDA4ZmQ2Yzg2ODQxOTkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90
ZS9iaXRidWNrZXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkv
d2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2JpdGJ1Y2tldC5weQpAQCAtMjIsNiArMjIsNyBAQAog
CiBpbXBvcnQgb3MKIGltcG9ydCBqc29uCitpbXBvcnQgdGltZQogCiBmcm9tIHdlYmtpdGNvcmVw
eSBpbXBvcnQgbW9ja3MKIGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IENvbW1pdCwgcmVtb3RlIGFz
IHNjbXJlbW90ZQpAQCAtMjA3LDcgKzIwOCw3IEBAIGNsYXNzIEJpdEJ1Y2tldChtb2Nrcy5SZXF1
ZXN0cyk6CiAgICAgICAgICAgICAgICAgYXQgPSAocGFyYW1zIG9yIHt9KS5nZXQoJ2F0JywgTm9u
ZSkKICAgICAgICAgICAgICAgICBpZiBhdCBhbmQgY2FuZGlkYXRlLmdldCgnZnJvbVJlZicsIHt9
KS5nZXQoJ2lkJykgIT0gYXQ6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAg
ICAgICAgICAgcHJzLmFwcGVuZChjYW5kaWRhdGUpCisgICAgICAgICAgICAgICAgcHJzLmFwcGVu
ZCh7a2V5OiB2YWx1ZSBmb3Iga2V5LCB2YWx1ZSBpbiBjYW5kaWRhdGUuaXRlbXMoKSBpZiBrZXkg
IT0gJ2FjdGl2aXRpZXMnfSkKIAogICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZy
b21Kc29uKGRpY3QoCiAgICAgICAgICAgICAgICAgc2l6ZT1sZW4ocHJzKSwKQEAgLTIyMywxMiAr
MjI0LDE0IEBAIGNsYXNzIEJpdEJ1Y2tldChtb2Nrcy5SZXF1ZXN0cyk6CiAgICAgICAgICAgICBq
c29uWydmcm9tUmVmJ11bJ2Rpc3BsYXlJZCddID0ganNvblsnZnJvbVJlZiddWydpZCddLnNwbGl0
KCcvJylbLTI6XQogICAgICAgICAgICAganNvblsndG9SZWYnXVsnZGlzcGxheUlkJ10gPSBqc29u
Wyd0b1JlZiddWydpZCddLnNwbGl0KCcvJylbLTI6XQogICAgICAgICAgICAganNvblsnc3RhdGUn
XSA9ICdPUEVOJworICAgICAgICAgICAganNvblsnYWN0aXZpdGllcyddID0gW10KICAgICAgICAg
ICAgIHNlbGYucHVsbF9yZXF1ZXN0cy5hcHBlbmQoanNvbikKICAgICAgICAgICAgIHJldHVybiBt
b2Nrcy5SZXNwb25zZS5mcm9tSnNvbihqc29uKQogCiAgICAgICAgICMgVXBkYXRlIG9yIGFjY2Vz
cyBwdWxsLXJlcXVlc3QKICAgICAgICAgaWYgc3RyaXBwZWRfdXJsLnN0YXJ0c3dpdGgocHJfYmFz
ZSk6Ci0gICAgICAgICAgICBudW1iZXIgPSBpbnQoc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbLTFd
KQorICAgICAgICAgICAgc3BsaXRfdXJsID0gc3RyaXBwZWRfdXJsLnNwbGl0KCcvJykKKyAgICAg
ICAgICAgIG51bWJlciA9IGludChzcGxpdF91cmxbOV0pCiAgICAgICAgICAgICBleGlzdGluZyA9
IE5vbmUKICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihzZWxmLnB1bGxfcmVxdWVzdHMp
KToKICAgICAgICAgICAgICAgICBpZiBzZWxmLnB1bGxfcmVxdWVzdHNbaV0uZ2V0KCdpZCcpID09
IG51bWJlcjoKQEAgLTIzNyw2ICsyNDAsMzMgQEAgY2xhc3MgQml0QnVja2V0KG1vY2tzLlJlcXVl
c3RzKToKICAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVy
bCkKICAgICAgICAgICAgIGlmIG1ldGhvZCA9PSAnUFVUJzoKICAgICAgICAgICAgICAgICBzZWxm
LnB1bGxfcmVxdWVzdHNbZXhpc3RpbmddLnVwZGF0ZShqc29uKQotICAgICAgICAgICAgcmV0dXJu
IG1vY2tzLlJlc3BvbnNlLmZyb21Kc29uKHNlbGYucHVsbF9yZXF1ZXN0c1tleGlzdGluZ10pCisg
ICAgICAgICAgICBpZiBsZW4oc3BsaXRfdXJsKSA8IDExOgorICAgICAgICAgICAgICAgIHJldHVy
biBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbih7a2V5OiB2YWx1ZSBmb3Iga2V5LCB2YWx1ZSBpbiBz
ZWxmLnB1bGxfcmVxdWVzdHNbZXhpc3RpbmddLml0ZW1zKCkgaWYga2V5ICE9ICdhY3Rpdml0aWVz
J30pCisKKyAgICAgICAgICAgIGlmIG1ldGhvZCA9PSAnR0VUJyBhbmQgc3BsaXRfdXJsWy0xXSA9
PSAnYWN0aXZpdGllcyc6CisgICAgICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZy
b21Kc29uKGRpY3QoCisgICAgICAgICAgICAgICAgICAgIHNpemU9bGVuKHNlbGYucHVsbF9yZXF1
ZXN0c1tleGlzdGluZ10uZ2V0KCdhY3Rpdml0aWVzJywgW10pKSwKKyAgICAgICAgICAgICAgICAg
ICAgaXNMYXN0UGFnZT1UcnVlLAorICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9c2VsZi5wdWxs
X3JlcXVlc3RzW2V4aXN0aW5nXS5nZXQoJ2FjdGl2aXRpZXMnLCBbXSksCisgICAgICAgICAgICAg
ICAgKSkKKyAgICAgICAgICAgIGlmIG1ldGhvZCA9PSAnUE9TVCcgYW5kIHNwbGl0X3VybFstMV0g
PT0gJ2NvbW1lbnRzJzoKKyAgICAgICAgICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHNbZXhpc3Rp
bmddWydhY3Rpdml0aWVzJ10uYXBwZW5kKGRpY3QoY29tbWVudD1kaWN0KAorICAgICAgICAgICAg
ICAgICAgICBhdXRob3I9ZGljdChkaXNwbGF5TmFtZT0nVGltIENvbW1pdHRlcicsIGVtYWlsQWRk
cmVzcz0nY29tbWl0dGVyQHdlYmtpdC5vcmcnKSwKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRl
ZERhdGU9aW50KHRpbWUudGltZSgpICogMTAwMCksCisgICAgICAgICAgICAgICAgICAgIHVwZGF0
ZWREYXRlPWludCh0aW1lLnRpbWUoKSAqIDEwMDApLAorICAgICAgICAgICAgICAgICAgICB0ZXh0
PWpzb24uZ2V0KCd0ZXh0JywgJycpLAorICAgICAgICAgICAgICAgICkpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbih7fSkKKyAgICAgICAgICAgIGlmIG1l
dGhvZCA9PSAnUE9TVCcgYW5kIHNwbGl0X3VybFstMV0gPT0gJ2RlY2xpbmUnOgorICAgICAgICAg
ICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0c1tleGlzdGluZ11bJ29wZW4nXSA9IEZhbHNlCisgICAg
ICAgICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3RzW2V4aXN0aW5nXVsnY2xvc2VkJ10gPSBUcnVl
CisgICAgICAgICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3RzW2V4aXN0aW5nXVsnc3RhdGUnXSA9
ICdERUNMSU5FRCcKKyAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpz
b24oe30pCisgICAgICAgICAgICBpZiBtZXRob2QgPT0gJ1BPU1QnIGFuZCBzcGxpdF91cmxbLTFd
ID09ICdyZW9wZW4nOgorICAgICAgICAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0c1tleGlzdGlu
Z11bJ29wZW4nXSA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHNbZXhp
c3RpbmddWydjbG9zZWQnXSA9IEZhbHNlCisgICAgICAgICAgICAgICAgc2VsZi5wdWxsX3JlcXVl
c3RzW2V4aXN0aW5nXVsnc3RhdGUnXSA9ICdPUEVOJworICAgICAgICAgICAgICAgIHJldHVybiBt
b2Nrcy5SZXNwb25zZS5mcm9tSnNvbih7fSkKKyAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNw
b25zZS5jcmVhdGU0MDQodXJsKQogCiAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5jcmVh
dGU0MDQodXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2Nt
cHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2dpdF9odWIucHkgYi9Ub29scy9TY3JpcHRzL2xp
YnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0X2h1Yi5weQpp
bmRleCBjYzg2ZjBmYWI2N2Y5M2M3NDMyYjE5NjNjMjhkOWMzNmFhN2QyNGU0Li5hMDdjZmMwOGRj
ZGY2MDZlNmJlMmFkZWExYjgwZTI3ODRhMDMzMjk0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0X2h1Yi5w
eQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9t
b2Nrcy9yZW1vdGUvZ2l0X2h1Yi5weQpAQCAtMjIsNiArMjIsNyBAQAogCiBpbXBvcnQgb3MKIGlt
cG9ydCBqc29uCitpbXBvcnQgdGltZQogCiBmcm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgbW9ja3MK
IGZyb20gd2Via2l0c2NtcHkgaW1wb3J0IENvbW1pdCwgcmVtb3RlIGFzIHNjbXJlbW90ZQpAQCAt
NTksNiArNjAsNyBAQCBjbGFzcyBHaXRIdWIobW9ja3MuUmVxdWVzdHMpOgogICAgICAgICBzZWxm
LmhlYWQgPSBzZWxmLmNvbW1pdHNbc2VsZi5kZWZhdWx0X2JyYW5jaF1bLTFdCiAgICAgICAgIHNl
bGYudGFncyA9IHt9CiAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0cyA9IFtdCisgICAgICAgIHNl
bGYuaXNzdWVzID0gZGljdCgpCiAgICAgICAgIHNlbGYudXNlcnMgPSBkaWN0KCkKICAgICAgICAg
c2VsZi5fZW52aXJvbm1lbnQgPSBOb25lCiAKQEAgLTI5Miw2ICsyOTQsOCBAQCBjbGFzcyBHaXRI
dWIobW9ja3MuUmVxdWVzdHMpOgogICAgICAgICApLCB1cmw9dXJsKQogCiAgICAgZGVmIHJlcXVl
c3Qoc2VsZiwgbWV0aG9kLCB1cmwsIGRhdGE9Tm9uZSwgcGFyYW1zPU5vbmUsIGF1dGg9Tm9uZSwg
anNvbj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0
aW1lLCB0aW1lZGVsdGEKKwogICAgICAgICBpZiBub3QgdXJsLnN0YXJ0c3dpdGgoJ2h0dHA6Ly8n
KSBhbmQgbm90IHVybC5zdGFydHN3aXRoKCdodHRwczovLycpOgogICAgICAgICAgICAgcmV0dXJu
IG1vY2tzLlJlc3BvbnNlLmNyZWF0ZTQwNCh1cmwpCiAKQEAgLTM5OCwxMSArNDAyLDE0IEBAIGNs
YXNzIEdpdEh1Yihtb2Nrcy5SZXF1ZXN0cyk6CiAgICAgICAgICAgICAgICAgICAgIHJlZj1qc29u
WydiYXNlJ10sCiAgICAgICAgICAgICAgICAgICAgIHVzZXI9ZGljdChsb2dpbj1zZWxmLnJlbW90
ZS5zcGxpdCgnLycpWy0yXSksCiAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgaWYganNv
bi5nZXQoJ3N0YXRlJyk6CisgICAgICAgICAgICAgICAgcHJbJ3N0YXRlJ10gPSBqc29uLmdldCgn
c3RhdGUnKQogCiAgICAgICAgICMgQ3JlYXRlIHNwZWNpZmljYWxseQogICAgICAgICBpZiBtZXRo
b2QgPT0gJ1BPU1QnIGFuZCBhdXRoIGFuZCBzdHJpcHBlZF91cmwgPT0gcHJfYmFzZToKICAgICAg
ICAgICAgIHByWydudW1iZXInXSA9IDEgKyBtYXgoWzBdICsgW3ByLmdldCgnbnVtYmVyJywgMCkg
Zm9yIHByIGluIHNlbGYucHVsbF9yZXF1ZXN0c10pCiAgICAgICAgICAgICBwclsndXNlciddID0g
ZGljdChsb2dpbj1hdXRoLnVzZXJuYW1lKQorICAgICAgICAgICAgcHJbJ19saW5rcyddID0gZGlj
dChpc3N1ZT1kaWN0KGhyZWY9J2h0dHBzOi8ve30vaXNzdWVzL3t9Jy5mb3JtYXQoc2VsZi5hcGlf
cmVtb3RlLCBwclsnbnVtYmVyJ10pKSkKICAgICAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0cy5h
cHBlbmQocHIpCiAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpzb24ocHIs
IHVybD11cmwpCiAKQEAgLTQyMiw0ICs0MjksMjEgQEAgY2xhc3MgR2l0SHViKG1vY2tzLlJlcXVl
c3RzKToKICAgICAgICAgaWYgbWV0aG9kID09ICdHRVQnIGFuZCBzdHJpcHBlZF91cmwuc3RhcnRz
d2l0aCgne30vdXNlcnMnLmZvcm1hdChzZWxmLmFwaV9yZW1vdGUuc3BsaXQoJy8nKVswXSkpOgog
ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3VzZXJzKHVybCwgc3RyaXBwZWRfdXJsLnNwbGl0KCcv
JylbLTFdKQogCisgICAgICAgICMgQWNjZXNzIHVuZGVybHlpbmcgaXNzdWUKKyAgICAgICAgaWYg
c3RyaXBwZWRfdXJsLnN0YXJ0c3dpdGgoJ3t9L2lzc3Vlcy8nLmZvcm1hdChzZWxmLmFwaV9yZW1v
dGUpKToKKyAgICAgICAgICAgIG51bWJlciA9IGludChzdHJpcHBlZF91cmwuc3BsaXQoJy8nKVs1
XSkKKyAgICAgICAgICAgIGlzc3VlID0gc2VsZi5pc3N1ZXMuZ2V0KG51bWJlciwgZGljdChjb21t
ZW50cz1bXSkpCisgICAgICAgICAgICBpZiBtZXRob2QgPT0gJ0dFVCcgYW5kIHN0cmlwcGVkX3Vy
bC5zcGxpdCgnLycpWzZdID09ICdjb21tZW50cyc6CisgICAgICAgICAgICAgICAgcmV0dXJuIG1v
Y2tzLlJlc3BvbnNlLmZyb21Kc29uKGlzc3VlWydjb21tZW50cyddLCB1cmw9dXJsKQorICAgICAg
ICAgICAgaWYgbWV0aG9kID09ICdQT1NUJyBhbmQgc3RyaXBwZWRfdXJsLnNwbGl0KCcvJylbNl0g
PT0gJ2NvbW1lbnRzJzoKKyAgICAgICAgICAgICAgICBzZWxmLmlzc3Vlc1tudW1iZXJdID0gaXNz
dWUKKyAgICAgICAgICAgICAgICBub3cgPSBkYXRldGltZS51dGNmcm9tdGltZXN0YW1wKGludCh0
aW1lLnRpbWUoKSkgLSB0aW1lZGVsdGEoaG91cnM9Nykuc2Vjb25kcykuc3RyZnRpbWUoJyVZLSVt
LSVkVCVIOiVNOiVTWicpCisgICAgICAgICAgICAgICAgc2VsZi5pc3N1ZXNbbnVtYmVyXVsnY29t
bWVudHMnXS5hcHBlbmQoZGljdCgKKyAgICAgICAgICAgICAgICAgICAgdXNlcj1kaWN0KGxvZ2lu
PWF1dGgudXNlcm5hbWUpLAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVkX2F0PW5vdywgdXBk
YXRlZF9hdD1ub3csCisgICAgICAgICAgICAgICAgICAgIGJvZHk9anNvbi5nZXQoJ2JvZHknLCAn
JyksCisgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVz
cG9uc2UuZnJvbUpzb24oaXNzdWVbJ2NvbW1lbnRzJ10sIHVybD11cmwpCisgICAgICAgICAgICBy
ZXR1cm4gbW9ja3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVybCkKKwogICAgICAgICByZXR1cm4gbW9j
a3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVybCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weQpp
bmRleCA1NTFjMWM2YmI4NTJhYzRhYTFlNDhmZmNkOTg5N2YyYTE5OGUwNmY0Li4zZmIyNzhmZDgy
NmMzMjY5NDA5YWJjZjVlN2Q2MmM4OGVmMzkxOGZjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wdWxsX3JlcXVlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1
ZXN0LnB5CkBAIC0yMSwxMSArMjEsNDYgQEAKICMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIGltcG9ydCByZQoraW1wb3J0IHNp
eAogCiBmcm9tIC5jb21taXQgaW1wb3J0IENvbW1pdAorZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0
ZXRpbWUKK2Zyb20gd2Via2l0c2NtcHkgaW1wb3J0IENvbnRyaWJ1dG9yCiAKIAogY2xhc3MgUHVs
bFJlcXVlc3Qob2JqZWN0KToKKyAgICBjbGFzcyBFeGNlcHRpb24oUnVudGltZUVycm9yKToKKyAg
ICAgICAgcGFzcworCisgICAgY2xhc3MgQ29tbWVudChvYmplY3QpOgorICAgICAgICBkZWYgX19p
bml0X18oc2VsZiwgYXV0aG9yLCB0aW1lc3RhbXAsIGNvbnRlbnQpOgorICAgICAgICAgICAgaWYg
YXV0aG9yIGFuZCBpc2luc3RhbmNlKGF1dGhvciwgZGljdCkgYW5kIGF1dGhvci5nZXQoJ25hbWUn
KToKKyAgICAgICAgICAgICAgICBzZWxmLmF1dGhvciA9IENvbnRyaWJ1dG9yKGF1dGhvci5nZXQo
J25hbWUnKSwgYXV0aG9yLmdldCgnZW1haWxzJykpCisgICAgICAgICAgICBlbGlmIGF1dGhvciBh
bmQgaXNpbnN0YW5jZShhdXRob3IsIHNpeC5zdHJpbmdfdHlwZXMpIGFuZCAnQCcgaW4gYXV0aG9y
OgorICAgICAgICAgICAgICAgIHNlbGYuYXV0aG9yID0gQ29udHJpYnV0b3IoYXV0aG9yLCBbYXV0
aG9yXSkKKyAgICAgICAgICAgIGVsaWYgYXV0aG9yIGFuZCBub3QgaXNpbnN0YW5jZShhdXRob3Is
IENvbnRyaWJ1dG9yKToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkV4cGVjdGVk
ICdhdXRob3InIHRvIGJlIG9mIHR5cGUge30sIGdvdCAne30nIi5mb3JtYXQoQ29udHJpYnV0b3Is
IGF1dGhvcikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXV0aG9y
ID0gYXV0aG9yCisKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodGltZXN0YW1wLCBzaXguc3Ry
aW5nX3R5cGVzKSBhbmQgdGltZXN0YW1wLmlzZGlnaXQoKToKKyAgICAgICAgICAgICAgICB0aW1l
c3RhbXAgPSBpbnQodGltZXN0YW1wKQorICAgICAgICAgICAgaWYgdGltZXN0YW1wIGFuZCBub3Qg
aXNpbnN0YW5jZSh0aW1lc3RhbXAsIGludCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVy
cm9yKCJFeHBlY3RlZCAndGltZXN0YW1wJyB0byBiZSBvZiB0eXBlIGludCwgZ290ICd7fSciLmZv
cm1hdCh0aW1lc3RhbXApKQorICAgICAgICAgICAgc2VsZi50aW1lc3RhbXAgPSB0aW1lc3RhbXAK
KworICAgICAgICAgICAgaWYgY29udGVudCBhbmQgbm90IGlzaW5zdGFuY2UoY29udGVudCwgc2l4
LnN0cmluZ190eXBlcyk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiRXhwZWN0
ZWQgJ2NvbnRlbnQnIHRvIGJlIGEgc3RyaW5nLCBnb3QgJ3t9JyIuZm9ybWF0KGNvbnRlbnQpKQor
ICAgICAgICAgICAgc2VsZi5jb250ZW50ID0gY29udGVudAorCisgICAgICAgIGRlZiBfX3JlcHJf
XyhzZWxmKToKKyAgICAgICAgICAgIHJldHVybiAnKHt9IEAge30pIHt9Jy5mb3JtYXQoCisgICAg
ICAgICAgICAgICAgc2VsZi5hdXRob3IsCisgICAgICAgICAgICAgICAgZGF0ZXRpbWUudXRjZnJv
bXRpbWVzdGFtcChzZWxmLnRpbWVzdGFtcCkgaWYgc2VsZi50aW1lc3RhbXAgZWxzZSAnLScsCisg
ICAgICAgICAgICAgICAgc2VsZi5jb250ZW50LAorICAgICAgICAgICAgKQorCisKICAgICBDT01N
SVRfQk9EWV9SRVMgPSBbCiAgICAgICAgIGRpY3QoCiAgICAgICAgICAgICByZT1yZS5jb21waWxl
KHInXEEjIyMjICg/UDxoYXNoPlswLTlhLWZdKylcbmBgYFxuKD9QPG1lc3NhZ2U+LispXG5gYGBc
bj9cWicsIGZsYWdzPXJlLkRPVEFMTCksCkBAIC05OSw3ICsxMzQsMTIgQEAgY2xhc3MgUHVsbFJl
cXVlc3Qob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgYm9keSA9IHBhcnQucnN0cmlwKCku
bHN0cmlwKCkKICAgICAgICAgcmV0dXJuIGJvZHkgb3IgTm9uZSwgY29tbWl0cwogCi0gICAgZGVm
IF9faW5pdF9fKHNlbGYsIG51bWJlciwgdGl0bGU9Tm9uZSwgYm9keT1Ob25lLCBhdXRob3I9Tm9u
ZSwgaGVhZD1Ob25lLCBiYXNlPU5vbmUsIG9wZW5lZD1Ob25lLCBnZW5lcmF0b3I9Tm9uZSk6Cisg
ICAgZGVmIF9faW5pdF9fKAorICAgICAgICBzZWxmLCBudW1iZXIsIHRpdGxlPU5vbmUsCisgICAg
ICAgIGJvZHk9Tm9uZSwgYXV0aG9yPU5vbmUsCisgICAgICAgIGhlYWQ9Tm9uZSwgYmFzZT1Ob25l
LAorICAgICAgICBvcGVuZWQ9Tm9uZSwgZ2VuZXJhdG9yPU5vbmUsIG1ldGFkYXRhPU5vbmUsCisg
ICAgKToKICAgICAgICAgc2VsZi5udW1iZXIgPSBudW1iZXIKICAgICAgICAgc2VsZi50aXRsZSA9
IHRpdGxlCiAgICAgICAgIHNlbGYuYm9keSwgc2VsZi5jb21taXRzID0gc2VsZi5wYXJzZV9ib2R5
KGJvZHkpCkBAIC0xMTAsNiArMTUwLDggQEAgY2xhc3MgUHVsbFJlcXVlc3Qob2JqZWN0KToKICAg
ICAgICAgc2VsZi5fcmV2aWV3ZXJzID0gTm9uZQogICAgICAgICBzZWxmLl9hcHByb3ZlcnMgPSBO
b25lCiAgICAgICAgIHNlbGYuX2Jsb2NrZXJzID0gTm9uZQorICAgICAgICBzZWxmLl9tZXRhZGF0
YSA9IG1ldGFkYXRhCisgICAgICAgIHNlbGYuX2NvbW1lbnRzID0gTm9uZQogICAgICAgICBzZWxm
LmdlbmVyYXRvciA9IGdlbmVyYXRvcgogCiAgICAgQHByb3BlcnR5CkBAIC0xMzYsNSArMTc4LDMy
IEBAIGNsYXNzIFB1bGxSZXF1ZXN0KG9iamVjdCk6CiAgICAgICAgICAgICByZXR1cm4gJz8nCiAg
ICAgICAgIHJldHVybiBzZWxmLl9vcGVuZWQKIAorICAgIGRlZiBvcGVuKHNlbGYpOgorICAgICAg
ICBpZiBzZWxmLm9wZW5lZCBpcyBUcnVlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAg
ICAgaWYgbm90IHNlbGYuZ2VuZXJhdG9yOgorICAgICAgICAgICAgcmFpc2Ugc2VsZi5FeGNlcHRp
b24oJ05vIGFzc29jaWF0ZWQgcHVsbC1yZXF1ZXN0IGdlbmVyYXRvcicpCisgICAgICAgIHJldHVy
biBzZWxmLmdlbmVyYXRvci51cGRhdGUoc2VsZiwgb3BlbmVkPVRydWUpCisKKyAgICBkZWYgY2xv
c2Uoc2VsZik6CisgICAgICAgIGlmIHNlbGYub3BlbmVkIGlzIEZhbHNlOgorICAgICAgICAgICAg
cmV0dXJuIHNlbGYKKyAgICAgICAgaWYgbm90IHNlbGYuZ2VuZXJhdG9yOgorICAgICAgICAgICAg
cmFpc2Ugc2VsZi5FeGNlcHRpb24oJ05vIGFzc29jaWF0ZWQgcHVsbC1yZXF1ZXN0IGdlbmVyYXRv
cicpCisgICAgICAgIHJldHVybiBzZWxmLmdlbmVyYXRvci51cGRhdGUoc2VsZiwgb3BlbmVkPUZh
bHNlKQorCisgICAgZGVmIGNvbW1lbnQoc2VsZiwgY29udGVudCk6CisgICAgICAgIGlmIG5vdCBz
ZWxmLmdlbmVyYXRvcjoKKyAgICAgICAgICAgIHJhaXNlIHNlbGYuRXhjZXB0aW9uKCdObyBhc3Nv
Y2lhdGVkIHB1bGwtcmVxdWVzdCBnZW5lcmF0b3InKQorICAgICAgICBzZWxmLmdlbmVyYXRvci5j
b21tZW50KHNlbGYsIGNvbnRlbnQpCisgICAgICAgIHNlbGYuX2NvbW1lbnRzID0gTm9uZQorICAg
ICAgICByZXR1cm4gc2VsZgorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGNvbW1lbnRzKHNlbGYp
OgorICAgICAgICBpZiBzZWxmLl9jb21tZW50cyBpcyBOb25lIGFuZCBzZWxmLmdlbmVyYXRvcjoK
KyAgICAgICAgICAgIHNlbGYuX2NvbW1lbnRzID0gbGlzdChzZWxmLmdlbmVyYXRvci5jb21tZW50
cyhzZWxmKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2NvbW1lbnRzCisKICAgICBkZWYgX19yZXBy
X18oc2VsZik6CiAgICAgICAgIHJldHVybiAnUFIge317fScuZm9ybWF0KHNlbGYubnVtYmVyLCAn
IHwge30nLmZvcm1hdChzZWxmLnRpdGxlKSBpZiBzZWxmLnRpdGxlIGVsc2UgJycpCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1v
dGUvYml0YnVja2V0LnB5IGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Vi
a2l0c2NtcHkvcmVtb3RlL2JpdGJ1Y2tldC5weQppbmRleCAyZjUwZjZiNzEwNWQ4MGYxMDU3ODBl
YzM4MTBkYzg5M2YyNjBjMzk0Li5lOGYzYWYwZDJhZDA0ZGU4MDA2MTkwY2M2ZDIzMTEwMzBmYzZi
YjllIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9yZW1vdGUvYml0YnVja2V0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVz
L3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9iaXRidWNrZXQucHkKQEAgLTE0MiwxMCAr
MTQyLDMyIEBAIGNsYXNzIEJpdEJ1Y2tldChTY20pOgogICAgICAgICAgICAgICAgIHJldHVybiBO
b25lCiAgICAgICAgICAgICByZXR1cm4gc2VsZi5QdWxsUmVxdWVzdChyZXNwb25zZS5qc29uKCkp
CiAKLSAgICAgICAgZGVmIHVwZGF0ZShzZWxmLCBwdWxsX3JlcXVlc3QsIGhlYWQ9Tm9uZSwgdGl0
bGU9Tm9uZSwgYm9keT1Ob25lLCBjb21taXRzPU5vbmUsIGJhc2U9Tm9uZSk6CisgICAgICAgIGRl
ZiB1cGRhdGUoc2VsZiwgcHVsbF9yZXF1ZXN0LCBoZWFkPU5vbmUsIHRpdGxlPU5vbmUsIGJvZHk9
Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUsIG9wZW5lZD1Ob25lKToKICAgICAgICAgICAg
IGlmIG5vdCBpc2luc3RhbmNlKHB1bGxfcmVxdWVzdCwgUHVsbFJlcXVlc3QpOgotICAgICAgICAg
ICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICJFeHBlY3RlZCAn
cHVsbF9yZXF1ZXN0JyB0byBiZSBvZiB0eXBlICd7fScgbm90ICd7fSciLmZvcm1hdChQdWxsUmVx
dWVzdCwgdHlwZShwdWxsX3JlcXVlc3QpKSkKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVy
cm9yKCJFeHBlY3RlZCAncHVsbF9yZXF1ZXN0JyB0byBiZSBvZiB0eXBlICd7fScgbm90ICd7fSci
LmZvcm1hdChQdWxsUmVxdWVzdCwgdHlwZShwdWxsX3JlcXVlc3QpKSkKKworICAgICAgICAgICAg
cHJfdXJsID0gJ2h0dHBzOi8ve2RvbWFpbn0vcmVzdC9hcGkvMS4wL3Byb2plY3RzL3twcm9qZWN0
fS9yZXBvcy97bmFtZX0vcHVsbC1yZXF1ZXN0cy97aWR9Jy5mb3JtYXQoCisgICAgICAgICAgICAg
ICAgZG9tYWluPXNlbGYucmVwb3NpdG9yeS5kb21haW4sCisgICAgICAgICAgICAgICAgcHJvamVj
dD1zZWxmLnJlcG9zaXRvcnkucHJvamVjdCwKKyAgICAgICAgICAgICAgICBuYW1lPXNlbGYucmVw
b3NpdG9yeS5uYW1lLAorICAgICAgICAgICAgICAgIGlkPXB1bGxfcmVxdWVzdC5udW1iZXIsCisg
ICAgICAgICAgICApCisKKyAgICAgICAgICAgIGlmIG9wZW5lZCBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldChwcl91cmwpCisgICAgICAgICAgICAg
ICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwICE9IDI6CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5wb3N0
KAorICAgICAgICAgICAgICAgICAgICAne30ve30nLmZvcm1hdChwcl91cmwsICdyZW9wZW4nIGlm
IG9wZW5lZCBlbHNlICdkZWNsaW5lJyksCisgICAgICAgICAgICAgICAgICAgIGpzb249ZGljdCh2
ZXJzaW9uPXJlc3BvbnNlLmpzb24oKS5nZXQoJ3ZlcnNpb24nLCAwKSksCisgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgIGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAy
OgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgcHVs
bF9yZXF1ZXN0Ll9vcGVuZWQgPSBvcGVuZWQKKyAgICAgICAgICAgICAgICBpZiBub3QgYW55KCho
ZWFkLCB0aXRsZSwgYm9keSwgY29tbWl0cywgYmFzZSkpOgorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gcHVsbF9yZXF1ZXN0CisKICAgICAgICAgICAgIGlmIG5vdCBhbnkoKGhlYWQsIHRpdGxl
LCBib2R5LCBjb21taXRzLCBiYXNlKSk6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJv
cignTm8gYXJndW1lbnRzIHRvIHVwZGF0ZSBwdWxsLXJlcXVlc3QgcHJvdmlkZWQnKQogCkBAIC0x
NzYsMTIgKzE5OCw2IEBAIGNsYXNzIEJpdEJ1Y2tldChTY20pOgogICAgICAgICAgICAgICAgICAg
ICApLAogICAgICAgICAgICAgICAgICkKIAotICAgICAgICAgICAgcHJfdXJsID0gJ2h0dHBzOi8v
e2RvbWFpbn0vcmVzdC9hcGkvMS4wL3Byb2plY3RzL3twcm9qZWN0fS9yZXBvcy97bmFtZX0vcHVs
bC1yZXF1ZXN0cy97aWR9Jy5mb3JtYXQoCi0gICAgICAgICAgICAgICAgZG9tYWluPXNlbGYucmVw
b3NpdG9yeS5kb21haW4sCi0gICAgICAgICAgICAgICAgcHJvamVjdD1zZWxmLnJlcG9zaXRvcnku
cHJvamVjdCwKLSAgICAgICAgICAgICAgICBuYW1lPXNlbGYucmVwb3NpdG9yeS5uYW1lLAotICAg
ICAgICAgICAgICAgIGlkPXB1bGxfcmVxdWVzdC5udW1iZXIsCi0gICAgICAgICAgICApCiAgICAg
ICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldChwcl91cmwpCiAgICAgICAgICAgICBpZiBy
ZXNwb25zZS5zdGF0dXNfY29kZSAvLyAxMDAgIT0gMjoKICAgICAgICAgICAgICAgICByZXR1cm4g
Tm9uZQpAQCAtMjEzLDYgKzIyOSwzMiBAQCBjbGFzcyBCaXRCdWNrZXQoU2NtKToKICAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdC5fYXBwcm92ZXJzID0gZ290Ll9hcHByb3ZlcnMgaWYgZ290IGVsc2Ug
W10KICAgICAgICAgICAgIHJldHVybiBwdWxsX3JlcXVlc3QKIAorICAgICAgICBkZWYgY29tbWVu
dChzZWxmLCBwdWxsX3JlcXVlc3QsIGNvbnRlbnQpOgorICAgICAgICAgICAgcmVzcG9uc2UgPSBy
ZXF1ZXN0cy5wb3N0KAorICAgICAgICAgICAgICAgICdodHRwczovL3tkb21haW59L3Jlc3QvYXBp
LzEuMC9wcm9qZWN0cy97cHJvamVjdH0vcmVwb3Mve25hbWV9L3B1bGwtcmVxdWVzdHMve2lkfS9j
b21tZW50cycuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICBkb21haW49c2VsZi5yZXBvc2l0
b3J5LmRvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgcHJvamVjdD1zZWxmLnJlcG9zaXRvcnku
cHJvamVjdCwKKyAgICAgICAgICAgICAgICAgICAgbmFtZT1zZWxmLnJlcG9zaXRvcnkubmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgaWQ9cHVsbF9yZXF1ZXN0Lm51bWJlciwKKyAgICAgICAgICAg
ICAgICApLCBqc29uPWRpY3QodGV4dD1jb250ZW50KSwKKyAgICAgICAgICAgICkKKyAgICAgICAg
ICAgIGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgorICAgICAgICAgICAgICAg
IHN5cy5zdGRlcnIud3JpdGUoIkZhaWxlZCB0byBhZGQgY29tbWVudCB0byAne30nXG4iLmZvcm1h
dChwdWxsX3JlcXVlc3QpKQorCisgICAgICAgIGRlZiBjb21tZW50cyhzZWxmLCBwdWxsX3JlcXVl
c3QpOgorICAgICAgICAgICAgZm9yIGFjdGlvbiBpbiByZXZlcnNlZChzZWxmLnJlcG9zaXRvcnku
cmVxdWVzdCgncHVsbC1yZXF1ZXN0cy97fS9hY3Rpdml0aWVzJy5mb3JtYXQocHVsbF9yZXF1ZXN0
Lm51bWJlcikpIG9yIFtdKToKKyAgICAgICAgICAgICAgICBjb21tZW50ID0gYWN0aW9uLmdldCgn
Y29tbWVudCcsIHt9KQorICAgICAgICAgICAgICAgIHVzZXIgPSBjb21tZW50LmdldCgnYXV0aG9y
Jywge30pCisgICAgICAgICAgICAgICAgaWYgbm90IGNvbW1lbnQgb3Igbm90IHVzZXIgb3Igbm90
IGNvbW1lbnQuZ2V0KCd0ZXh0Jyk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAg
ICAgICAgICAgICAgICB5aWVsZCBQdWxsUmVxdWVzdC5Db21tZW50KAorICAgICAgICAgICAgICAg
ICAgICBhdXRob3I9c2VsZi5yZXBvc2l0b3J5LmNvbnRyaWJ1dG9ycy5jcmVhdGUodXNlclsnZGlz
cGxheU5hbWUnXSwgdXNlclsnZW1haWxBZGRyZXNzJ10pLAorICAgICAgICAgICAgICAgICAgICB0
aW1lc3RhbXA9Y29tbWVudC5nZXQoJ3VwZGF0ZWREYXRlJywgY29tbWVudC5nZXQoJ2NyZWF0ZWRE
YXRlJykpIC8vIDEwMDAsCisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9Y29tbWVudC5nZXQo
J3RleHQnKSwKKyAgICAgICAgICAgICAgICApCisKKwogICAgIEBjbGFzc21ldGhvZAogICAgIGRl
ZiBpc193ZWJzZXJ2ZXIoY2xzLCB1cmwpOgogICAgICAgICByZXR1cm4gVHJ1ZSBpZiBjbHMuVVJM
X1JFLm1hdGNoKHVybCkgZWxzZSBGYWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2dpdF9odWIucHkgYi9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5w
eQppbmRleCAwYTEwMWIwMjFmOWM1YjdmNmFjNjNlYTAxZTk2YjMxNGE2MzE2YWQwLi5jZmQ0N2Uw
YjhhNzhhOTMyMjNhNGZkZDVmZDg4ZTZlNDYxNTQzZTUzIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weQor
KysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1v
dGUvZ2l0X2h1Yi5weQpAQCAtNTQsNiArNTQsOSBAQCBjbGFzcyBHaXRIdWIoU2NtKToKICAgICAg
ICAgICAgICAgICAgICAgY2xvc2VkPUZhbHNlLAogICAgICAgICAgICAgICAgICkuZ2V0KGRhdGEu
Z2V0KCdzdGF0ZScpLCBOb25lKSwKICAgICAgICAgICAgICAgICBnZW5lcmF0b3I9c2VsZiwKKyAg
ICAgICAgICAgICAgICBtZXRhZGF0YT1kaWN0KAorICAgICAgICAgICAgICAgICAgICBpc3N1ZT1k
YXRhLmdldCgnX2xpbmtzJywge30pLmdldCgnaXNzdWUnLCB7fSkuZ2V0KCdocmVmJyksCisgICAg
ICAgICAgICAgICAgKSwKICAgICAgICAgICAgICkKIAogICAgICAgICBkZWYgZ2V0KHNlbGYsIG51
bWJlcik6CkBAIC0xMDMsMTAgKzEwNiwxMCBAQCBjbGFzcyBHaXRIdWIoU2NtKToKICAgICAgICAg
ICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICAgcmV0dXJuIHNlbGYuUHVsbFJlcXVlc3Qo
cmVzcG9uc2UuanNvbigpKQogCi0gICAgICAgIGRlZiB1cGRhdGUoc2VsZiwgcHVsbF9yZXF1ZXN0
LCBoZWFkPU5vbmUsIHRpdGxlPU5vbmUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5v
bmUpOgorICAgICAgICBkZWYgdXBkYXRlKHNlbGYsIHB1bGxfcmVxdWVzdCwgaGVhZD1Ob25lLCB0
aXRsZT1Ob25lLCBib2R5PU5vbmUsIGNvbW1pdHM9Tm9uZSwgYmFzZT1Ob25lLCBvcGVuZWQ9Tm9u
ZSk6CiAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShwdWxsX3JlcXVlc3QsIFB1bGxSZXF1
ZXN0KToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBlY3RlZCAncHVsbF9y
ZXF1ZXN0JyB0byBiZSBvZiB0eXBlICd7fScgbm90ICd7fSciLmZvcm1hdChQdWxsUmVxdWVzdCwg
dHlwZShwdWxsX3JlcXVlc3QpKSkKLSAgICAgICAgICAgIGlmIG5vdCBhbnkoKGhlYWQsIHRpdGxl
LCBib2R5LCBjb21taXRzLCBiYXNlKSk6CisgICAgICAgICAgICBpZiBub3QgYW55KChoZWFkLCB0
aXRsZSwgYm9keSwgY29tbWl0cywgYmFzZSkpIGFuZCBvcGVuZWQgaXMgTm9uZToKICAgICAgICAg
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdObyBhcmd1bWVudHMgdG8gdXBkYXRlIHB1bGwtcmVx
dWVzdCBwcm92aWRlZCcpCiAKICAgICAgICAgICAgIHVzZXIsIF8gPSBzZWxmLnJlcG9zaXRvcnku
Y3JlZGVudGlhbHMocmVxdWlyZWQ9VHJ1ZSkKQEAgLTExNyw2ICsxMjAsOCBAQCBjbGFzcyBHaXRI
dWIoU2NtKToKICAgICAgICAgICAgICkKICAgICAgICAgICAgIGlmIGJvZHkgb3IgY29tbWl0czoK
ICAgICAgICAgICAgICAgICB1cGRhdGVzWydib2R5J10gPSBQdWxsUmVxdWVzdC5jcmVhdGVfYm9k
eShib2R5LCBjb21taXRzKQorICAgICAgICAgICAgaWYgb3BlbmVkIGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgICAgIHVwZGF0ZXNbJ3N0YXRlJ10gPSAnb3BlbicgaWYgb3BlbmVkIGVsc2UgJ2Ns
b3NlZCcKICAgICAgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMucG9zdCgKICAgICAgICAgICAg
ICAgICAne2FwaV91cmx9L3JlcG9zL3tvd25lcn0ve25hbWV9L3B1bGxzL3tudW1iZXJ9Jy5mb3Jt
YXQoCiAgICAgICAgICAgICAgICAgICAgIGFwaV91cmw9c2VsZi5yZXBvc2l0b3J5LmFwaV91cmws
CkBAIC0xMjcsNiArMTMyLDkgQEAgY2xhc3MgR2l0SHViKFNjbSk6CiAgICAgICAgICAgICAgICAg
aGVhZGVycz1kaWN0KEFjY2VwdD0nYXBwbGljYXRpb24vdm5kLmdpdGh1Yi52Mytqc29uJyksCiAg
ICAgICAgICAgICAgICAganNvbj11cGRhdGVzLAogICAgICAgICAgICAgKQorICAgICAgICAgICAg
aWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgPT0gNDIyOgorICAgICAgICAgICAgICAgIHB1bGxfcmVx
dWVzdC5fb3BlbmVkID0gRmFsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gcHVsbF9yZXF1ZXN0
CiAgICAgICAgICAgICBpZiByZXNwb25zZS5zdGF0dXNfY29kZSAvLyAxMDAgIT0gMjoKICAgICAg
ICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICAgZGF0YSA9IHJlc3BvbnNlLmpzb24o
KQpAQCAtMTQxLDggKzE0OSwxMSBAQCBjbGFzcyBHaXRIdWIoU2NtKToKICAgICAgICAgICAgIHB1
bGxfcmVxdWVzdC5fb3BlbmVkID0gZGljdCgKICAgICAgICAgICAgICAgICBvcGVuPVRydWUsCiAg
ICAgICAgICAgICAgICAgY2xvc2VkPUZhbHNlLAotICAgICAgICAgICAgKS5nZXQoZGF0YS5nZXQo
J3N0YXRlJyksIE5vbmUpLAorICAgICAgICAgICAgKS5nZXQoZGF0YS5nZXQoJ3N0YXRlJyksIE5v
bmUpCiAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuZ2VuZXJhdG9yID0gc2VsZgorICAgICAgICAg
ICAgcHVsbF9yZXF1ZXN0Ll9tZXRhZGF0YSA9IGRpY3QoCisgICAgICAgICAgICAgICAgaXNzdWU9
ZGF0YS5nZXQoJ19saW5rcycsIHt9KS5nZXQoJ2lzc3VlJywge30pLmdldCgnaHJlZicpLAorICAg
ICAgICAgICAgKQogCiAgICAgICAgICAgICByZXR1cm4gcHVsbF9yZXF1ZXN0CiAKQEAgLTE4NCw2
ICsxOTUsNTYgQEAgY2xhc3MgR2l0SHViKFNjbSk6CiAgICAgICAgICAgICBwdWxsX3JlcXVlc3Qu
X3Jldmlld2VycyA9IHNvcnRlZChwdWxsX3JlcXVlc3QuX3Jldmlld2VycykKICAgICAgICAgICAg
IHJldHVybiBwdWxsX3JlcXVlc3QKIAorICAgICAgICBkZWYgY29tbWVudChzZWxmLCBwdWxsX3Jl
cXVlc3QsIGNvbnRlbnQpOgorICAgICAgICAgICAgaXNzdWUgPSBwdWxsX3JlcXVlc3QuX21ldGFk
YXRhLmdldCgnaXNzdWUnKQorICAgICAgICAgICAgaWYgbm90IGlzc3VlOgorICAgICAgICAgICAg
ICAgIG9sZCA9IHB1bGxfcmVxdWVzdAorICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdCA9IHNl
bGYuZ2V0KG9sZC5udW1iZXIpCisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9yZXZpZXdl
cnMgPSBvbGQuX3Jldmlld2VycworICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYXBwcm92
ZXJzID0gb2xkLl9hcHByb3ZlcnMKKyAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuX2Jsb2Nr
ZXJzID0gb2xkLl9ibG9ja2VycworICAgICAgICAgICAgICAgIGlzc3VlID0gcHVsbF9yZXF1ZXN0
Ll9tZXRhZGF0YS5nZXQoJ2lzc3VlJykKKyAgICAgICAgICAgIGlmIG5vdCBpc3N1ZToKKyAgICAg
ICAgICAgICAgICByYWlzZSBzZWxmLnJlcG9zaXRvcnkuRXhjZXB0aW9uKCdGYWlsZWQgdG8gZmlu
ZCBpc3N1ZSB1bmRlcmx5aW5nIHB1bGwtcmVxdWVzdCcpCisgICAgICAgICAgICByZXNwb25zZSA9
IHJlcXVlc3RzLnBvc3QoCisgICAgICAgICAgICAgICAgJ3t9L2NvbW1lbnRzJy5mb3JtYXQoaXNz
dWUpLAorICAgICAgICAgICAgICAgIGF1dGg9SFRUUEJhc2ljQXV0aCgqc2VsZi5yZXBvc2l0b3J5
LmNyZWRlbnRpYWxzKHJlcXVpcmVkPVRydWUpKSwKKyAgICAgICAgICAgICAgICBoZWFkZXJzPWRp
Y3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0aHViLnYzK2pzb24nKSwKKyAgICAgICAgICAg
ICAgICBqc29uPWRpY3QoYm9keT1jb250ZW50KSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAg
IGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgorICAgICAgICAgICAgICAgIHN5
cy5zdGRlcnIud3JpdGUoIkZhaWxlZCB0byBhZGQgY29tbWVudCB0byAne30nXG4iLmZvcm1hdChw
dWxsX3JlcXVlc3QpKQorCisgICAgICAgIGRlZiBjb21tZW50cyhzZWxmLCBwdWxsX3JlcXVlc3Qp
OgorICAgICAgICAgICAgaXNzdWUgPSBwdWxsX3JlcXVlc3QuX21ldGFkYXRhLmdldCgnaXNzdWUn
KQorICAgICAgICAgICAgaWYgbm90IGlzc3VlOgorICAgICAgICAgICAgICAgIG9sZCA9IHB1bGxf
cmVxdWVzdAorICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdCA9IHNlbGYuZ2V0KG9sZC5udW1i
ZXIpCisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9yZXZpZXdlcnMgPSBvbGQuX3Jldmll
d2VycworICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYXBwcm92ZXJzID0gb2xkLl9hcHBy
b3ZlcnMKKyAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuX2Jsb2NrZXJzID0gb2xkLl9ibG9j
a2VycworICAgICAgICAgICAgICAgIGlzc3VlID0gcHVsbF9yZXF1ZXN0Ll9tZXRhZGF0YS5nZXQo
J2lzc3VlJykKKyAgICAgICAgICAgIGlmIG5vdCBpc3N1ZToKKyAgICAgICAgICAgICAgICByYWlz
ZSBzZWxmLnJlcG9zaXRvcnkuRXhjZXB0aW9uKCdGYWlsZWQgdG8gZmluZCBpc3N1ZSB1bmRlcmx5
aW5nIHB1bGwtcmVxdWVzdCcpCisgICAgICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCgK
KyAgICAgICAgICAgICAgICAne30vY29tbWVudHMnLmZvcm1hdChpc3N1ZSksCisgICAgICAgICAg
ICAgICAgYXV0aD1IVFRQQmFzaWNBdXRoKCpzZWxmLnJlcG9zaXRvcnkuY3JlZGVudGlhbHMoKSks
CisgICAgICAgICAgICAgICAgaGVhZGVycz1kaWN0KEFjY2VwdD0nYXBwbGljYXRpb24vdm5kLmdp
dGh1Yi52Mytqc29uJyksCisgICAgICAgICAgICApCisgICAgICAgICAgICBmb3Igbm9kZSBpbiBy
ZXNwb25zZS5qc29uKCkgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwID09IDIgZWxzZSBb
XToKKyAgICAgICAgICAgICAgICB1c2VyID0gbm9kZS5nZXQoJ3VzZXInLCB7fSkuZ2V0KCdsb2dp
bicpCisgICAgICAgICAgICAgICAgaWYgbm90IHVzZXI6CisgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlCisgICAgICAgICAgICAgICAgdG0gPSBub2RlLmdldCgndXBkYXRlZF9hdCcsIG5vZGUu
Z2V0KCdjcmVhdGVkX2F0JykpCisgICAgICAgICAgICAgICAgaWYgdG06CisgICAgICAgICAgICAg
ICAgICAgIHRtID0gaW50KGNhbGVuZGFyLnRpbWVnbShkYXRldGltZS5zdHJwdGltZSh0bSwgJyVZ
LSVtLSVkVCVIOiVNOiVTWicpLnRpbWV0dXBsZSgpKSkKKworICAgICAgICAgICAgICAgIHlpZWxk
IFB1bGxSZXF1ZXN0LkNvbW1lbnQoCisgICAgICAgICAgICAgICAgICAgIGF1dGhvcj1zZWxmLl9j
b250cmlidXRvcih1c2VyKSwKKyAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXRtLAorICAg
ICAgICAgICAgICAgICAgICBjb250ZW50PW5vZGUuZ2V0KCdib2R5JyksCisgICAgICAgICAgICAg
ICAgKQorCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgaXNfd2Vic2VydmVyKGNscywgdXJs
KToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3JlbW90ZS9zY20ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvc2NtLnB5CmluZGV4IDJmZThhODUyNWI4OGQwNDAyOTFiZWE5
YmEyZjNjMzA2OTcwMWMwOWIuLmNkZTc1OWZkY2E4MzMzMzk2MDY0MWQyMmNlMzFmM2JmOWIzNjEw
MTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3JlbW90ZS9zY20ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL3NjbS5weQpAQCAtMzksMTIgKzM5LDE4IEBAIGNsYXNz
IFNjbShTY21CYXNlKToKICAgICAgICAgZGVmIGNyZWF0ZShzZWxmLCBoZWFkLCB0aXRsZSwgYm9k
eT1Ob25lLCBjb21taXRzPU5vbmUsIGJhc2U9Tm9uZSk6CiAgICAgICAgICAgICByYWlzZSBOb3RJ
bXBsZW1lbnRlZEVycm9yKCkKIAotICAgICAgICBkZWYgdXBkYXRlKHNlbGYsIHB1bGxfcmVxdWVz
dCwgaGVhZD1Ob25lLCB0aXRsZT1Ob25lLCBib2R5PU5vbmUsIGNvbW1pdHM9Tm9uZSwgYmFzZT1O
b25lKToKKyAgICAgICAgZGVmIHVwZGF0ZShzZWxmLCBwdWxsX3JlcXVlc3QsIGhlYWQ9Tm9uZSwg
dGl0bGU9Tm9uZSwgYm9keT1Ob25lLCBjb21taXRzPU5vbmUsIGJhc2U9Tm9uZSwgb3BlbmVkPU5v
bmUpOgogICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCiAKICAgICAgICAg
ZGVmIHJldmlld2VycyhzZWxmLCBwdWxsX3JlcXVlc3QpOgogICAgICAgICAgICAgcmFpc2UgTm90
SW1wbGVtZW50ZWRFcnJvcigpCiAKKyAgICAgICAgZGVmIGNvbW1lbnQoc2VsZiwgcHVsbF9yZXF1
ZXN0LCBjb250ZW50KToKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQor
CisgICAgICAgIGRlZiBjb21tZW50cyhzZWxmLCBwdWxsX3JlcXVlc3QpOgorICAgICAgICAgICAg
cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCisKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRl
ZiBmcm9tX3VybChjbHMsIHVybCwgY29udHJpYnV0b3JzPU5vbmUpOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9wdWxsX3Jl
cXVlc3RfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVzdC5weQppbmRleCBmOTZiZmVmMzAy
NWZlOTAwMjNhZDQ5Njg3Mjg1MWNkZGRiMDcxZjNlLi5iMTVmMzAwMGUzMTA5OWRmZGZiN2MyY2M5
MDk2NmNlNWIwNGE4ZGZiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJr
aXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVzdF91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxf
cmVxdWVzdF91bml0dGVzdC5weQpAQCAtNDYwLDcgKzQ2MCw5IEBAIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgogICAgICAgICAgICAgcmV2aWV3cz1bCiAgICAgICAgICAgICAgICAgZGljdCh1
c2VyPWRpY3QobG9naW49J2VyZXZpZXdlcicpLCBzdGF0ZT0nQVBQUk9WRUQnKSwKICAgICAgICAg
ICAgICAgICBkaWN0KHVzZXI9ZGljdChsb2dpbj0nc3Jldmlld2VyJyksIHN0YXRlPSdDSEFOR0VT
X1JFUVVFU1RFRCcpLAotICAgICAgICAgICAgXSwKKyAgICAgICAgICAgIF0sIF9saW5rcz1kaWN0
KAorICAgICAgICAgICAgICAgIGlzc3VlPWRpY3QoaHJlZj0naHR0cHM6Ly97fS9pc3N1ZXMvMScu
Zm9ybWF0KHJlc3VsdC5hcGlfcmVtb3RlKSksCisgICAgICAgICAgICApLAogICAgICAgICApXQog
ICAgICAgICByZXR1cm4gcmVzdWx0CiAKQEAgLTUwOSw2ICs1MTEsMjQgQEAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLmFwcHJvdmVy
cywgW10pCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLmJsb2NrZXJzLCBbQ29udHJp
YnV0b3IoJ1N1c3BpY2lvdXMgUmV2aWV3ZXInLCBbJ3NyZXZpZXdlckB3ZWJraXQub3JnJ10pXSkK
IAorICAgIGRlZiB0ZXN0X2NvbW1lbnRzKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYud2Vic2Vy
dmVyKCk6CisgICAgICAgICAgICByZXBvID0gcmVtb3RlLkdpdEh1YihzZWxmLnJlbW90ZSkKKyAg
ICAgICAgICAgIHByID0gcmVwby5wdWxsX3JlcXVlc3RzLmdldCgxKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChwci5jb21tZW50cywgW10pCisgICAgICAgICAgICBwci5jb21tZW50KCdD
b21tZW50aW5nIScpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtjLmNvbnRlbnQgZm9y
IGMgaW4gcHIuY29tbWVudHNdLCBbJ0NvbW1lbnRpbmchJ10pCisKKyAgICBkZWYgdGVzdF9vcGVu
X2Nsb3NlKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYud2Vic2VydmVyKCk6CisgICAgICAgICAg
ICByZXBvID0gcmVtb3RlLkdpdEh1YihzZWxmLnJlbW90ZSkKKyAgICAgICAgICAgIHByID0gcmVw
by5wdWxsX3JlcXVlc3RzLmdldCgxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByLm9w
ZW5lZCkKKyAgICAgICAgICAgIHByLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2UocHIub3BlbmVkKQorICAgICAgICAgICAgcHIub3BlbigpCisgICAgICAgICAgICBzZWxmLmFz
c2VydFRydWUocHIub3BlbmVkKQorCiAKIGNsYXNzIFRlc3ROZXR3b3JrUHVsbFJlcXVlc3RCaXRC
dWNrZXQodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIHJlbW90ZSA9ICdodHRwczovL2JpdGJ1Y2tl
dC5leGFtcGxlLmNvbS9wcm9qZWN0cy9XRUJLSVQvcmVwb3Mvd2Via2l0JwpAQCAtNTIxLDYgKzU0
MSw3IEBAIGNsYXNzIFRlc3ROZXR3b3JrUHVsbFJlcXVlc3RCaXRCdWNrZXQodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgICAgICAgICAgc3RhdGU9J09QRU4nLAogICAgICAgICAgICAgb3Blbj1UcnVl
LAogICAgICAgICAgICAgY2xvc2VkPUZhbHNlLAorICAgICAgICAgICAgYWN0aXZpdGllcz1bXSwK
ICAgICAgICAgICAgIHRpdGxlPSdFeGFtcGxlIENoYW5nZScsCiAgICAgICAgICAgICBhdXRob3I9
ZGljdCgKICAgICAgICAgICAgICAgICB1c2VyPWRpY3QoCkBAIC02MDYsMyArNjI3LDIxIEBAIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogICAgICAgICAgICAgXSkKICAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwocHIuYXBwcm92ZXJzLCBbXSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocHIuYmxvY2tlcnMsIFtDb250cmlidXRvcignU3VzcGljaW91cyBSZXZpZXdlcicsIFsn
c3Jldmlld2VyQHdlYmtpdC5vcmcnXSldKQorCisgICAgZGVmIHRlc3RfY29tbWVudHMoc2VsZik6
CisgICAgICAgIHdpdGggc2VsZi53ZWJzZXJ2ZXIoKToKKyAgICAgICAgICAgIHJlcG8gPSByZW1v
dGUuQml0QnVja2V0KHNlbGYucmVtb3RlKQorICAgICAgICAgICAgcHIgPSByZXBvLnB1bGxfcmVx
dWVzdHMuZ2V0KDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByLmNvbW1lbnRzLCBb
XSkKKyAgICAgICAgICAgIHByLmNvbW1lbnQoJ0NvbW1lbnRpbmchJykKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoW2MuY29udGVudCBmb3IgYyBpbiBwci5jb21tZW50c10sIFsnQ29tbWVu
dGluZyEnXSkKKworICAgIGRlZiB0ZXN0X29wZW5fY2xvc2Uoc2VsZik6CisgICAgICAgIHdpdGgg
c2VsZi53ZWJzZXJ2ZXIoKToKKyAgICAgICAgICAgIHJlcG8gPSByZW1vdGUuQml0QnVja2V0KHNl
bGYucmVtb3RlKQorICAgICAgICAgICAgcHIgPSByZXBvLnB1bGxfcmVxdWVzdHMuZ2V0KDEpCisg
ICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocHIub3BlbmVkKQorICAgICAgICAgICAgcHIuY2xv
c2UoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwci5vcGVuZWQpCisgICAgICAgICAg
ICBwci5vcGVuKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwci5vcGVuZWQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442491</attachid>
            <date>2021-10-26 08:22:18 -0700</date>
            <delta_ts>2021-10-26 13:10:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232095-20211026082217.patch</filename>
            <type>text/plain</type>
            <size>28776</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0ODY2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2ExNTMzNmExMjU0ODljOTY3MDE3YmE4ZDVlNGE3NjQz
YTM3ZmIyOS4uNDAyYmU2ZTRhMTI1ZGE0M2RkODY5YTk1Y2NjZTliZjM4Mzc1NDUzZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQw
IEBACisyMDIxLTEwLTI2ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbd2Via2l0c2NtcHldIENvbW1lbnQgYW5kIGNsb3NlIHB1bGwtcmVxdWVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjA5NQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODQ1MTU3Mzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV3
ZWkgWmh1LgorCisgICAgICAgICogU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvc2V0dXAu
cHk6IEJ1bXAgdmVyc2lvbi4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9fX2luaXRfXy5weTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy9saWJy
YXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2JpdGJ1Y2tldC5weToK
KyAgICAgICAgKEJpdEJ1Y2tldC5yZXF1ZXN0KTogQWRkIHN1cHBvcnQgZm9yIGFjdGl2aXRpZXMs
IG9wZW5pbmcgYW5kIGNsb3NpbmcgcHVsbC1yZXF1ZXN0LgorICAgICAgICAqIFNjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9naXRfaHViLnB5Ogor
ICAgICAgICAoR2l0SHViLl9faW5pdF9fKTogQWRkIGlzc3Vlcy4KKyAgICAgICAgKEdpdEh1Yi5y
ZXF1ZXN0KTogQWNjZXNzIGlzc3VlIHVuZGVybHlpbmcgcHVsbC1yZXF1ZXN0ICh3aGljaCBpbmNs
dWRlcyBnbG9iYWwgY29tbWVudHMpLgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dlYmtp
dHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weToKKyAgICAgICAgKFB1bGxSZXF1ZXN0
LkV4Y2VwdGlvbik6IEFkZGVkLgorICAgICAgICAoUHVsbFJlcXVlc3QuQ29tbWVudCk6IEFkZGVk
LgorICAgICAgICAoUHVsbFJlcXVlc3QuX19pbml0X18pOiBBZGQgbGlzdCBvZiBwdWxsLXJlcXVl
c3QgY29tbWVudHMsIG1ldGFkYXRhIHVzZWQgYnkgZ2VuZXJhdG9yLgorICAgICAgICAoUHVsbFJl
cXVlc3Qub3Blbik6IFJlLW9wZW4gdGhlIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKFB1bGxSZXF1
ZXN0LmNsb3NlKTogQ2xvc2UgdGhlIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKFB1bGxSZXF1ZXN0
LmNvbW1lbnQpOiBNYWtlIGEgY29tbWVudCBvbiB0aGUgcHVsbC1yZXF1ZXN0LgorICAgICAgICAo
UHVsbFJlcXVlc3QuY29tbWVudHMpOiBMaXN0IGFsbCBjb21tZW50cyBvbiBhIHB1bGwtcmVxdWVz
dC4KKyAgICAgICAgKiBTY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9y
ZW1vdGUvYml0YnVja2V0LnB5OgorICAgICAgICAoQml0QnVja2V0LlBSR2VuZXJhdG9yLnVwZGF0
ZSk6IEhhbmRsZSBjbG9zaW5nIGFuZCBvcGVuaW5nIG9mIHRoZSBwdWxsLXJlcXVlc3QuCisgICAg
ICAgIChCaXRCdWNrZXQuUFJHZW5lcmF0b3IuY29tbWVudCk6IE1ha2UgYSBjb21tZW50IG9uIGEg
cHVsbC1yZXF1ZXN0LgorICAgICAgICAoQml0QnVja2V0LlBSR2VuZXJhdG9yLmNvbW1lbnRzKTog
TGlzdCBhbGwgY29tbWVudHMgb24gYSBwdWxsLXJlcXVlc3QuCisgICAgICAgICogU2NyaXB0cy9s
aWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2dpdF9odWIucHk6CisgICAg
ICAgIChHaXRIdWIuUFJHZW5lcmF0b3IudXBkYXRlKTogSGFuZGxlIGNsb3NpbmcgYW5kIG9wZW5p
bmcgb2YgdGhlIHB1bGwtcmVxdWVzdC4KKyAgICAgICAgKEdpdEh1Yi5QUkdlbmVyYXRvci5jb21t
ZW50KTogTWFrZSBhIGNvbW1lbnQgb24gYSBpc3N1ZSB1bmRlcnBpbm5pbmcgYSBwdWxsLXJlcXVl
c3QuCisgICAgICAgIChHaXRIdWIuUFJHZW5lcmF0b3IuY29tbWVudHMpOiBMaXN0IGFsbCBjb21t
ZW50cyBvbiB0aGUgcHVsbC1yZXF1ZXN0LgorICAgICAgICAqIFNjcmlwdHMvbGlicmFyaWVzL3dl
YmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9zY20ucHk6CisgICAgICAgIChTY20uUFJHZW5l
cmF0b3IudXBkYXRlKTogQWRkIHN1cHBvcnQgZm9yIG9wZW5pbmcgYW5kIGNsb3NpbmcgYSBwdWxs
LXJlcXVlc3QuCisgICAgICAgIChTY20uUFJHZW5lcmF0b3IuY29tbWVudCk6IE1ha2UgYSBjb21t
ZW50IG9uIGEgcHVsbC1yZXF1ZXN0LgorICAgICAgICAoU2NtLlBSR2VuZXJhdG9yLmNvbW1lbnRz
KTogTGlzdCBhbGwgY29tbWVudHMgZm9yIGEgcHVsbC1yZXF1ZXN0CisgICAgICAgICogU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvdGVzdC9wdWxsX3JlcXVlc3RfdW5p
dHRlc3QucHk6CisKIDIwMjEtMTAtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgRG9uJ3QgcnVuIEltYWdlRGlmZiBhIHNlY29uZCB0aW1lIHRvIGdl
bmVyYXRlIGRpZmYgaW1hZ2VzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93
ZWJraXRzY21weS9zZXR1cC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5
L3NldHVwLnB5CmluZGV4IGFjYTU3OTgyNjQxODY3ZmM2NzFlMDk3MjQzOTA5ZjMwZmZmZDBhZDAu
LjQ5ZmQ3Njk4ZDA2ODVhZTg1ZTIyZTQ3Y2M4MGZlYjIzODU5YmEzMjQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3NldHVwLnB5CkBAIC0yOSw3ICsyOSw3IEBAIGRl
ZiByZWFkbWUoKToKIAogc2V0dXAoCiAgICAgbmFtZT0nd2Via2l0c2NtcHknLAotICAgIHZlcnNp
b249JzIuMi4xNScsCisgICAgdmVyc2lvbj0nMi4yLjE2JywKICAgICBkZXNjcmlwdGlvbj0nTGli
cmFyeSBkZXNpZ25lZCB0byBpbnRlcmFjdCB3aXRoIGdpdCBhbmQgc3ZuIHJlcG9zaXRvcmllcy4n
LAogICAgIGxvbmdfZGVzY3JpcHRpb249cmVhZG1lKCksCiAgICAgY2xhc3NpZmllcnM9WwpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkv
X19pbml0X18ucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9fX2luaXRfXy5weQppbmRleCAyYWI2ZGZhMTNmN2JiMzE5MGVmYjhmMDk1NWU0YzEzYzI4
YWNjYjQzLi4yOTJkNGE1NDgzOGNmNzk4NmNkOTI5NTA0MDJhZDczNWRmMzNhZThjIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9fX2lu
aXRfXy5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9fX2luaXRfXy5weQpAQCAtNDYsNyArNDYsNyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CiAg
ICAgICAgICJQbGVhc2UgaW5zdGFsbCB3ZWJraXRjb3JlcHkgd2l0aCBgcGlwIGluc3RhbGwgd2Vi
a2l0Y29yZXB5IC0tZXh0cmEtaW5kZXgtdXJsIDxwYWNrYWdlIGluZGV4IFVSTD5gIgogICAgICkK
IAotdmVyc2lvbiA9IFZlcnNpb24oMiwgMiwgMTUpCit2ZXJzaW9uID0gVmVyc2lvbigyLCAyLCAx
NikKIAogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnZmFzdGVuZXJzJywgVmVyc2lvbigw
LCAxNSwgMCkpKQogQXV0b0luc3RhbGwucmVnaXN0ZXIoUGFja2FnZSgnamluamEyJywgVmVyc2lv
bigyLCAxMSwgMykpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0
c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2JpdGJ1Y2tldC5weSBiL1Rvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9iaXRidWNr
ZXQucHkKaW5kZXggNGI5ZDQyOTczYjM3ODBhZjMxMDhkYTUzOTE2NTFlMjUxYWQyMjMxYi4uMjI4
OGViYjQ1NjQwMzRjMWM3ZDU2ZjYyZWI0MDhmZDZjODY4NDE5OSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvbW9ja3MvcmVtb3RlL2Jp
dGJ1Y2tldC5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJr
aXRzY21weS9tb2Nrcy9yZW1vdGUvYml0YnVja2V0LnB5CkBAIC0yMiw2ICsyMiw3IEBACiAKIGlt
cG9ydCBvcwogaW1wb3J0IGpzb24KK2ltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0Y29yZXB5IGlt
cG9ydCBtb2NrcwogZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCByZW1vdGUgYXMgc2Nt
cmVtb3RlCkBAIC0yMDcsNyArMjA4LDcgQEAgY2xhc3MgQml0QnVja2V0KG1vY2tzLlJlcXVlc3Rz
KToKICAgICAgICAgICAgICAgICBhdCA9IChwYXJhbXMgb3Ige30pLmdldCgnYXQnLCBOb25lKQog
ICAgICAgICAgICAgICAgIGlmIGF0IGFuZCBjYW5kaWRhdGUuZ2V0KCdmcm9tUmVmJywge30pLmdl
dCgnaWQnKSAhPSBhdDoKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAg
ICAgICBwcnMuYXBwZW5kKGNhbmRpZGF0ZSkKKyAgICAgICAgICAgICAgICBwcnMuYXBwZW5kKHtr
ZXk6IHZhbHVlIGZvciBrZXksIHZhbHVlIGluIGNhbmRpZGF0ZS5pdGVtcygpIGlmIGtleSAhPSAn
YWN0aXZpdGllcyd9KQogCiAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpz
b24oZGljdCgKICAgICAgICAgICAgICAgICBzaXplPWxlbihwcnMpLApAQCAtMjIzLDEyICsyMjQs
MTQgQEAgY2xhc3MgQml0QnVja2V0KG1vY2tzLlJlcXVlc3RzKToKICAgICAgICAgICAgIGpzb25b
J2Zyb21SZWYnXVsnZGlzcGxheUlkJ10gPSBqc29uWydmcm9tUmVmJ11bJ2lkJ10uc3BsaXQoJy8n
KVstMjpdCiAgICAgICAgICAgICBqc29uWyd0b1JlZiddWydkaXNwbGF5SWQnXSA9IGpzb25bJ3Rv
UmVmJ11bJ2lkJ10uc3BsaXQoJy8nKVstMjpdCiAgICAgICAgICAgICBqc29uWydzdGF0ZSddID0g
J09QRU4nCisgICAgICAgICAgICBqc29uWydhY3Rpdml0aWVzJ10gPSBbXQogICAgICAgICAgICAg
c2VsZi5wdWxsX3JlcXVlc3RzLmFwcGVuZChqc29uKQogICAgICAgICAgICAgcmV0dXJuIG1vY2tz
LlJlc3BvbnNlLmZyb21Kc29uKGpzb24pCiAKICAgICAgICAgIyBVcGRhdGUgb3IgYWNjZXNzIHB1
bGwtcmVxdWVzdAogICAgICAgICBpZiBzdHJpcHBlZF91cmwuc3RhcnRzd2l0aChwcl9iYXNlKToK
LSAgICAgICAgICAgIG51bWJlciA9IGludChzdHJpcHBlZF91cmwuc3BsaXQoJy8nKVstMV0pCisg
ICAgICAgICAgICBzcGxpdF91cmwgPSBzdHJpcHBlZF91cmwuc3BsaXQoJy8nKQorICAgICAgICAg
ICAgbnVtYmVyID0gaW50KHNwbGl0X3VybFs5XSkKICAgICAgICAgICAgIGV4aXN0aW5nID0gTm9u
ZQogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHNlbGYucHVsbF9yZXF1ZXN0cykpOgog
ICAgICAgICAgICAgICAgIGlmIHNlbGYucHVsbF9yZXF1ZXN0c1tpXS5nZXQoJ2lkJykgPT0gbnVt
YmVyOgpAQCAtMjM3LDYgKzI0MCwzMyBAQCBjbGFzcyBCaXRCdWNrZXQobW9ja3MuUmVxdWVzdHMp
OgogICAgICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5jcmVhdGU0MDQodXJsKQog
ICAgICAgICAgICAgaWYgbWV0aG9kID09ICdQVVQnOgogICAgICAgICAgICAgICAgIHNlbGYucHVs
bF9yZXF1ZXN0c1tleGlzdGluZ10udXBkYXRlKGpzb24pCi0gICAgICAgICAgICByZXR1cm4gbW9j
a3MuUmVzcG9uc2UuZnJvbUpzb24oc2VsZi5wdWxsX3JlcXVlc3RzW2V4aXN0aW5nXSkKKyAgICAg
ICAgICAgIGlmIGxlbihzcGxpdF91cmwpIDwgMTE6CisgICAgICAgICAgICAgICAgcmV0dXJuIG1v
Y2tzLlJlc3BvbnNlLmZyb21Kc29uKHtrZXk6IHZhbHVlIGZvciBrZXksIHZhbHVlIGluIHNlbGYu
cHVsbF9yZXF1ZXN0c1tleGlzdGluZ10uaXRlbXMoKSBpZiBrZXkgIT0gJ2FjdGl2aXRpZXMnfSkK
KworICAgICAgICAgICAgaWYgbWV0aG9kID09ICdHRVQnIGFuZCBzcGxpdF91cmxbLTFdID09ICdh
Y3Rpdml0aWVzJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3MuUmVzcG9uc2UuZnJvbUpz
b24oZGljdCgKKyAgICAgICAgICAgICAgICAgICAgc2l6ZT1sZW4oc2VsZi5wdWxsX3JlcXVlc3Rz
W2V4aXN0aW5nXS5nZXQoJ2FjdGl2aXRpZXMnLCBbXSkpLAorICAgICAgICAgICAgICAgICAgICBp
c0xhc3RQYWdlPVRydWUsCisgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1zZWxmLnB1bGxfcmVx
dWVzdHNbZXhpc3RpbmddLmdldCgnYWN0aXZpdGllcycsIFtdKSwKKyAgICAgICAgICAgICAgICAp
KQorICAgICAgICAgICAgaWYgbWV0aG9kID09ICdQT1NUJyBhbmQgc3BsaXRfdXJsWy0xXSA9PSAn
Y29tbWVudHMnOgorICAgICAgICAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0c1tleGlzdGluZ11b
J2FjdGl2aXRpZXMnXS5hcHBlbmQoZGljdChjb21tZW50PWRpY3QoCisgICAgICAgICAgICAgICAg
ICAgIGF1dGhvcj1kaWN0KGRpc3BsYXlOYW1lPSdUaW0gQ29tbWl0dGVyJywgZW1haWxBZGRyZXNz
PSdjb21taXR0ZXJAd2Via2l0Lm9yZycpLAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVkRGF0
ZT1pbnQodGltZS50aW1lKCkgKiAxMDAwKSwKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlZERh
dGU9aW50KHRpbWUudGltZSgpICogMTAwMCksCisgICAgICAgICAgICAgICAgICAgIHRleHQ9anNv
bi5nZXQoJ3RleHQnLCAnJyksCisgICAgICAgICAgICAgICAgKSkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG1vY2tzLlJlc3BvbnNlLmZyb21Kc29uKHt9KQorICAgICAgICAgICAgaWYgbWV0aG9k
ID09ICdQT1NUJyBhbmQgc3BsaXRfdXJsWy0xXSA9PSAnZGVjbGluZSc6CisgICAgICAgICAgICAg
ICAgc2VsZi5wdWxsX3JlcXVlc3RzW2V4aXN0aW5nXVsnb3BlbiddID0gRmFsc2UKKyAgICAgICAg
ICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHNbZXhpc3RpbmddWydjbG9zZWQnXSA9IFRydWUKKyAg
ICAgICAgICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHNbZXhpc3RpbmddWydzdGF0ZSddID0gJ0RF
Q0xJTkVEJworICAgICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbih7
fSkKKyAgICAgICAgICAgIGlmIG1ldGhvZCA9PSAnUE9TVCcgYW5kIHNwbGl0X3VybFstMV0gPT0g
J3Jlb3Blbic6CisgICAgICAgICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3RzW2V4aXN0aW5nXVsn
b3BlbiddID0gVHJ1ZQorICAgICAgICAgICAgICAgIHNlbGYucHVsbF9yZXF1ZXN0c1tleGlzdGlu
Z11bJ2Nsb3NlZCddID0gRmFsc2UKKyAgICAgICAgICAgICAgICBzZWxmLnB1bGxfcmVxdWVzdHNb
ZXhpc3RpbmddWydzdGF0ZSddID0gJ09QRU4nCisgICAgICAgICAgICAgICAgcmV0dXJuIG1vY2tz
LlJlc3BvbnNlLmZyb21Kc29uKHt9KQorICAgICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNl
LmNyZWF0ZTQwNCh1cmwpCiAKICAgICAgICAgcmV0dXJuIG1vY2tzLlJlc3BvbnNlLmNyZWF0ZTQw
NCh1cmwpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93
ZWJraXRzY21weS9tb2Nrcy9yZW1vdGUvZ2l0X2h1Yi5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFy
aWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9naXRfaHViLnB5CmluZGV4
IGNjODZmMGZhYjY3ZjkzYzc0MzJiMTk2M2MyOGQ5YzM2YWE3ZDI0ZTQuLmEwN2NmYzA4ZGNkZjYw
NmU2YmUyYWRlYTFiODBlMjc4NGEwMzMyOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tzL3JlbW90ZS9naXRfaHViLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L21vY2tz
L3JlbW90ZS9naXRfaHViLnB5CkBAIC0yMiw2ICsyMiw3IEBACiAKIGltcG9ydCBvcwogaW1wb3J0
IGpzb24KK2ltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBtb2NrcwogZnJv
bSB3ZWJraXRzY21weSBpbXBvcnQgQ29tbWl0LCByZW1vdGUgYXMgc2NtcmVtb3RlCkBAIC01OSw2
ICs2MCw3IEBAIGNsYXNzIEdpdEh1Yihtb2Nrcy5SZXF1ZXN0cyk6CiAgICAgICAgIHNlbGYuaGVh
ZCA9IHNlbGYuY29tbWl0c1tzZWxmLmRlZmF1bHRfYnJhbmNoXVstMV0KICAgICAgICAgc2VsZi50
YWdzID0ge30KICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3RzID0gW10KKyAgICAgICAgc2VsZi5p
c3N1ZXMgPSBkaWN0KCkKICAgICAgICAgc2VsZi51c2VycyA9IGRpY3QoKQogICAgICAgICBzZWxm
Ll9lbnZpcm9ubWVudCA9IE5vbmUKIApAQCAtMjkyLDYgKzI5NCw4IEBAIGNsYXNzIEdpdEh1Yiht
b2Nrcy5SZXF1ZXN0cyk6CiAgICAgICAgICksIHVybD11cmwpCiAKICAgICBkZWYgcmVxdWVzdChz
ZWxmLCBtZXRob2QsIHVybCwgZGF0YT1Ob25lLCBwYXJhbXM9Tm9uZSwgYXV0aD1Ob25lLCBqc29u
PU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUs
IHRpbWVkZWx0YQorCiAgICAgICAgIGlmIG5vdCB1cmwuc3RhcnRzd2l0aCgnaHR0cDovLycpIGFu
ZCBub3QgdXJsLnN0YXJ0c3dpdGgoJ2h0dHBzOi8vJyk6CiAgICAgICAgICAgICByZXR1cm4gbW9j
a3MuUmVzcG9uc2UuY3JlYXRlNDA0KHVybCkKIApAQCAtMzk4LDExICs0MDIsMTQgQEAgY2xhc3Mg
R2l0SHViKG1vY2tzLlJlcXVlc3RzKToKICAgICAgICAgICAgICAgICAgICAgcmVmPWpzb25bJ2Jh
c2UnXSwKICAgICAgICAgICAgICAgICAgICAgdXNlcj1kaWN0KGxvZ2luPXNlbGYucmVtb3RlLnNw
bGl0KCcvJylbLTJdKSwKICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBpZiBqc29uLmdl
dCgnc3RhdGUnKToKKyAgICAgICAgICAgICAgICBwclsnc3RhdGUnXSA9IGpzb24uZ2V0KCdzdGF0
ZScpCiAKICAgICAgICAgIyBDcmVhdGUgc3BlY2lmaWNhbGx5CiAgICAgICAgIGlmIG1ldGhvZCA9
PSAnUE9TVCcgYW5kIGF1dGggYW5kIHN0cmlwcGVkX3VybCA9PSBwcl9iYXNlOgogICAgICAgICAg
ICAgcHJbJ251bWJlciddID0gMSArIG1heChbMF0gKyBbcHIuZ2V0KCdudW1iZXInLCAwKSBmb3Ig
cHIgaW4gc2VsZi5wdWxsX3JlcXVlc3RzXSkKICAgICAgICAgICAgIHByWyd1c2VyJ10gPSBkaWN0
KGxvZ2luPWF1dGgudXNlcm5hbWUpCisgICAgICAgICAgICBwclsnX2xpbmtzJ10gPSBkaWN0KGlz
c3VlPWRpY3QoaHJlZj0naHR0cHM6Ly97fS9pc3N1ZXMve30nLmZvcm1hdChzZWxmLmFwaV9yZW1v
dGUsIHByWydudW1iZXInXSkpKQogICAgICAgICAgICAgc2VsZi5wdWxsX3JlcXVlc3RzLmFwcGVu
ZChwcikKICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25zZS5mcm9tSnNvbihwciwgdXJs
PXVybCkKIApAQCAtNDIyLDQgKzQyOSwyMSBAQCBjbGFzcyBHaXRIdWIobW9ja3MuUmVxdWVzdHMp
OgogICAgICAgICBpZiBtZXRob2QgPT0gJ0dFVCcgYW5kIHN0cmlwcGVkX3VybC5zdGFydHN3aXRo
KCd7fS91c2VycycuZm9ybWF0KHNlbGYuYXBpX3JlbW90ZS5zcGxpdCgnLycpWzBdKSk6CiAgICAg
ICAgICAgICByZXR1cm4gc2VsZi5fdXNlcnModXJsLCBzdHJpcHBlZF91cmwuc3BsaXQoJy8nKVst
MV0pCiAKKyAgICAgICAgIyBBY2Nlc3MgdW5kZXJseWluZyBpc3N1ZQorICAgICAgICBpZiBzdHJp
cHBlZF91cmwuc3RhcnRzd2l0aCgne30vaXNzdWVzLycuZm9ybWF0KHNlbGYuYXBpX3JlbW90ZSkp
OgorICAgICAgICAgICAgbnVtYmVyID0gaW50KHN0cmlwcGVkX3VybC5zcGxpdCgnLycpWzVdKQor
ICAgICAgICAgICAgaXNzdWUgPSBzZWxmLmlzc3Vlcy5nZXQobnVtYmVyLCBkaWN0KGNvbW1lbnRz
PVtdKSkKKyAgICAgICAgICAgIGlmIG1ldGhvZCA9PSAnR0VUJyBhbmQgc3RyaXBwZWRfdXJsLnNw
bGl0KCcvJylbNl0gPT0gJ2NvbW1lbnRzJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gbW9ja3Mu
UmVzcG9uc2UuZnJvbUpzb24oaXNzdWVbJ2NvbW1lbnRzJ10sIHVybD11cmwpCisgICAgICAgICAg
ICBpZiBtZXRob2QgPT0gJ1BPU1QnIGFuZCBzdHJpcHBlZF91cmwuc3BsaXQoJy8nKVs2XSA9PSAn
Y29tbWVudHMnOgorICAgICAgICAgICAgICAgIHNlbGYuaXNzdWVzW251bWJlcl0gPSBpc3N1ZQor
ICAgICAgICAgICAgICAgIG5vdyA9IGRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoaW50KHRpbWUu
dGltZSgpKSAtIHRpbWVkZWx0YShob3Vycz03KS5zZWNvbmRzKS5zdHJmdGltZSgnJVktJW0tJWRU
JUg6JU06JVNaJykKKyAgICAgICAgICAgICAgICBzZWxmLmlzc3Vlc1tudW1iZXJdWydjb21tZW50
cyddLmFwcGVuZChkaWN0KAorICAgICAgICAgICAgICAgICAgICB1c2VyPWRpY3QobG9naW49YXV0
aC51c2VybmFtZSksCisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRfYXQ9bm93LCB1cGRhdGVk
X2F0PW5vdywKKyAgICAgICAgICAgICAgICAgICAgYm9keT1qc29uLmdldCgnYm9keScsICcnKSwK
KyAgICAgICAgICAgICAgICApKQorICAgICAgICAgICAgICAgIHJldHVybiBtb2Nrcy5SZXNwb25z
ZS5mcm9tSnNvbihpc3N1ZVsnY29tbWVudHMnXSwgdXJsPXVybCkKKyAgICAgICAgICAgIHJldHVy
biBtb2Nrcy5SZXNwb25zZS5jcmVhdGU0MDQodXJsKQorCiAgICAgICAgIHJldHVybiBtb2Nrcy5S
ZXNwb25zZS5jcmVhdGU0MDQodXJsKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJp
ZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2NtcHkvcHVsbF9yZXF1ZXN0LnB5CmluZGV4
IDU1MWMxYzZiYjg1MmFjNGFhMWU0OGZmY2Q5ODk3ZjJhMTk4ZTA2ZjQuLjNmYjI3OGZkODI2YzMy
Njk0MDlhYmNmNWU3ZDYyYzg4ZWYzOTE4ZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGli
cmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3B1bGxfcmVxdWVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS9wdWxsX3JlcXVlc3Qu
cHkKQEAgLTIxLDExICsyMSw0NiBAQAogIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogaW1wb3J0IHJlCitpbXBvcnQgc2l4CiAK
IGZyb20gLmNvbW1pdCBpbXBvcnQgQ29tbWl0Citmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGlt
ZQorZnJvbSB3ZWJraXRzY21weSBpbXBvcnQgQ29udHJpYnV0b3IKIAogCiBjbGFzcyBQdWxsUmVx
dWVzdChvYmplY3QpOgorICAgIGNsYXNzIEV4Y2VwdGlvbihSdW50aW1lRXJyb3IpOgorICAgICAg
ICBwYXNzCisKKyAgICBjbGFzcyBDb21tZW50KG9iamVjdCk6CisgICAgICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBhdXRob3IsIHRpbWVzdGFtcCwgY29udGVudCk6CisgICAgICAgICAgICBpZiBhdXRo
b3IgYW5kIGlzaW5zdGFuY2UoYXV0aG9yLCBkaWN0KSBhbmQgYXV0aG9yLmdldCgnbmFtZScpOgor
ICAgICAgICAgICAgICAgIHNlbGYuYXV0aG9yID0gQ29udHJpYnV0b3IoYXV0aG9yLmdldCgnbmFt
ZScpLCBhdXRob3IuZ2V0KCdlbWFpbHMnKSkKKyAgICAgICAgICAgIGVsaWYgYXV0aG9yIGFuZCBp
c2luc3RhbmNlKGF1dGhvciwgc2l4LnN0cmluZ190eXBlcykgYW5kICdAJyBpbiBhdXRob3I6Cisg
ICAgICAgICAgICAgICAgc2VsZi5hdXRob3IgPSBDb250cmlidXRvcihhdXRob3IsIFthdXRob3Jd
KQorICAgICAgICAgICAgZWxpZiBhdXRob3IgYW5kIG5vdCBpc2luc3RhbmNlKGF1dGhvciwgQ29u
dHJpYnV0b3IpOgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiRXhwZWN0ZWQgJ2F1
dGhvcicgdG8gYmUgb2YgdHlwZSB7fSwgZ290ICd7fSciLmZvcm1hdChDb250cmlidXRvciwgYXV0
aG9yKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hdXRob3IgPSBh
dXRob3IKKworICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh0aW1lc3RhbXAsIHNpeC5zdHJpbmdf
dHlwZXMpIGFuZCB0aW1lc3RhbXAuaXNkaWdpdCgpOgorICAgICAgICAgICAgICAgIHRpbWVzdGFt
cCA9IGludCh0aW1lc3RhbXApCisgICAgICAgICAgICBpZiB0aW1lc3RhbXAgYW5kIG5vdCBpc2lu
c3RhbmNlKHRpbWVzdGFtcCwgaW50KToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3Io
IkV4cGVjdGVkICd0aW1lc3RhbXAnIHRvIGJlIG9mIHR5cGUgaW50LCBnb3QgJ3t9JyIuZm9ybWF0
KHRpbWVzdGFtcCkpCisgICAgICAgICAgICBzZWxmLnRpbWVzdGFtcCA9IHRpbWVzdGFtcAorCisg
ICAgICAgICAgICBpZiBjb250ZW50IGFuZCBub3QgaXNpbnN0YW5jZShjb250ZW50LCBzaXguc3Ry
aW5nX3R5cGVzKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFeHBlY3RlZCAn
Y29udGVudCcgdG8gYmUgYSBzdHJpbmcsIGdvdCAne30nIi5mb3JtYXQoY29udGVudCkpCisgICAg
ICAgICAgICBzZWxmLmNvbnRlbnQgPSBjb250ZW50CisKKyAgICAgICAgZGVmIF9fcmVwcl9fKHNl
bGYpOgorICAgICAgICAgICAgcmV0dXJuICcoe30gQCB7fSkge30nLmZvcm1hdCgKKyAgICAgICAg
ICAgICAgICBzZWxmLmF1dGhvciwKKyAgICAgICAgICAgICAgICBkYXRldGltZS51dGNmcm9tdGlt
ZXN0YW1wKHNlbGYudGltZXN0YW1wKSBpZiBzZWxmLnRpbWVzdGFtcCBlbHNlICctJywKKyAgICAg
ICAgICAgICAgICBzZWxmLmNvbnRlbnQsCisgICAgICAgICAgICApCisKKwogICAgIENPTU1JVF9C
T0RZX1JFUyA9IFsKICAgICAgICAgZGljdCgKICAgICAgICAgICAgIHJlPXJlLmNvbXBpbGUocidc
QSMjIyMgKD9QPGhhc2g+WzAtOWEtZl0rKVxuYGBgXG4oP1A8bWVzc2FnZT4uKylcbmBgYFxuP1xa
JywgZmxhZ3M9cmUuRE9UQUxMKSwKQEAgLTk5LDcgKzEzNCwxMiBAQCBjbGFzcyBQdWxsUmVxdWVz
dChvYmplY3QpOgogICAgICAgICAgICAgICAgICAgICBib2R5ID0gcGFydC5yc3RyaXAoKS5sc3Ry
aXAoKQogICAgICAgICByZXR1cm4gYm9keSBvciBOb25lLCBjb21taXRzCiAKLSAgICBkZWYgX19p
bml0X18oc2VsZiwgbnVtYmVyLCB0aXRsZT1Ob25lLCBib2R5PU5vbmUsIGF1dGhvcj1Ob25lLCBo
ZWFkPU5vbmUsIGJhc2U9Tm9uZSwgb3BlbmVkPU5vbmUsIGdlbmVyYXRvcj1Ob25lKToKKyAgICBk
ZWYgX19pbml0X18oCisgICAgICAgIHNlbGYsIG51bWJlciwgdGl0bGU9Tm9uZSwKKyAgICAgICAg
Ym9keT1Ob25lLCBhdXRob3I9Tm9uZSwKKyAgICAgICAgaGVhZD1Ob25lLCBiYXNlPU5vbmUsCisg
ICAgICAgIG9wZW5lZD1Ob25lLCBnZW5lcmF0b3I9Tm9uZSwgbWV0YWRhdGE9Tm9uZSwKKyAgICAp
OgogICAgICAgICBzZWxmLm51bWJlciA9IG51bWJlcgogICAgICAgICBzZWxmLnRpdGxlID0gdGl0
bGUKICAgICAgICAgc2VsZi5ib2R5LCBzZWxmLmNvbW1pdHMgPSBzZWxmLnBhcnNlX2JvZHkoYm9k
eSkKQEAgLTExMCw2ICsxNTAsOCBAQCBjbGFzcyBQdWxsUmVxdWVzdChvYmplY3QpOgogICAgICAg
ICBzZWxmLl9yZXZpZXdlcnMgPSBOb25lCiAgICAgICAgIHNlbGYuX2FwcHJvdmVycyA9IE5vbmUK
ICAgICAgICAgc2VsZi5fYmxvY2tlcnMgPSBOb25lCisgICAgICAgIHNlbGYuX21ldGFkYXRhID0g
bWV0YWRhdGEKKyAgICAgICAgc2VsZi5fY29tbWVudHMgPSBOb25lCiAgICAgICAgIHNlbGYuZ2Vu
ZXJhdG9yID0gZ2VuZXJhdG9yCiAKICAgICBAcHJvcGVydHkKQEAgLTEzNiw1ICsxNzgsMzIgQEAg
Y2xhc3MgUHVsbFJlcXVlc3Qob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiAnPycKICAgICAg
ICAgcmV0dXJuIHNlbGYuX29wZW5lZAogCisgICAgZGVmIG9wZW4oc2VsZik6CisgICAgICAgIGlm
IHNlbGYub3BlbmVkIGlzIFRydWU6CisgICAgICAgICAgICByZXR1cm4gc2VsZgorICAgICAgICBp
ZiBub3Qgc2VsZi5nZW5lcmF0b3I6CisgICAgICAgICAgICByYWlzZSBzZWxmLkV4Y2VwdGlvbign
Tm8gYXNzb2NpYXRlZCBwdWxsLXJlcXVlc3QgZ2VuZXJhdG9yJykKKyAgICAgICAgcmV0dXJuIHNl
bGYuZ2VuZXJhdG9yLnVwZGF0ZShzZWxmLCBvcGVuZWQ9VHJ1ZSkKKworICAgIGRlZiBjbG9zZShz
ZWxmKToKKyAgICAgICAgaWYgc2VsZi5vcGVuZWQgaXMgRmFsc2U6CisgICAgICAgICAgICByZXR1
cm4gc2VsZgorICAgICAgICBpZiBub3Qgc2VsZi5nZW5lcmF0b3I6CisgICAgICAgICAgICByYWlz
ZSBzZWxmLkV4Y2VwdGlvbignTm8gYXNzb2NpYXRlZCBwdWxsLXJlcXVlc3QgZ2VuZXJhdG9yJykK
KyAgICAgICAgcmV0dXJuIHNlbGYuZ2VuZXJhdG9yLnVwZGF0ZShzZWxmLCBvcGVuZWQ9RmFsc2Up
CisKKyAgICBkZWYgY29tbWVudChzZWxmLCBjb250ZW50KToKKyAgICAgICAgaWYgbm90IHNlbGYu
Z2VuZXJhdG9yOgorICAgICAgICAgICAgcmFpc2Ugc2VsZi5FeGNlcHRpb24oJ05vIGFzc29jaWF0
ZWQgcHVsbC1yZXF1ZXN0IGdlbmVyYXRvcicpCisgICAgICAgIHNlbGYuZ2VuZXJhdG9yLmNvbW1l
bnQoc2VsZiwgY29udGVudCkKKyAgICAgICAgc2VsZi5fY29tbWVudHMgPSBOb25lCisgICAgICAg
IHJldHVybiBzZWxmCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgY29tbWVudHMoc2VsZik6Cisg
ICAgICAgIGlmIHNlbGYuX2NvbW1lbnRzIGlzIE5vbmUgYW5kIHNlbGYuZ2VuZXJhdG9yOgorICAg
ICAgICAgICAgc2VsZi5fY29tbWVudHMgPSBsaXN0KHNlbGYuZ2VuZXJhdG9yLmNvbW1lbnRzKHNl
bGYpKQorICAgICAgICByZXR1cm4gc2VsZi5fY29tbWVudHMKKwogICAgIGRlZiBfX3JlcHJfXyhz
ZWxmKToKICAgICAgICAgcmV0dXJuICdQUiB7fXt9Jy5mb3JtYXQoc2VsZi5udW1iZXIsICcgfCB7
fScuZm9ybWF0KHNlbGYudGl0bGUpIGlmIHNlbGYudGl0bGUgZWxzZSAnJykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9i
aXRidWNrZXQucHkgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRz
Y21weS9yZW1vdGUvYml0YnVja2V0LnB5CmluZGV4IDJmNTBmNmI3MTA1ZDgwZjEwNTc4MGVjMzgx
MGRjODkzZjI2MGMzOTQuLmU4ZjNhZjBkMmFkMDRkZTgwMDYxOTBjYzZkMjMxMTAzMGZjNmJiOWUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNj
bXB5L3JlbW90ZS9iaXRidWNrZXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Vi
a2l0c2NtcHkvd2Via2l0c2NtcHkvcmVtb3RlL2JpdGJ1Y2tldC5weQpAQCAtMTQyLDEwICsxNDIs
MzIgQEAgY2xhc3MgQml0QnVja2V0KFNjbSk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUK
ICAgICAgICAgICAgIHJldHVybiBzZWxmLlB1bGxSZXF1ZXN0KHJlc3BvbnNlLmpzb24oKSkKIAot
ICAgICAgICBkZWYgdXBkYXRlKHNlbGYsIHB1bGxfcmVxdWVzdCwgaGVhZD1Ob25lLCB0aXRsZT1O
b25lLCBib2R5PU5vbmUsIGNvbW1pdHM9Tm9uZSwgYmFzZT1Ob25lKToKKyAgICAgICAgZGVmIHVw
ZGF0ZShzZWxmLCBwdWxsX3JlcXVlc3QsIGhlYWQ9Tm9uZSwgdGl0bGU9Tm9uZSwgYm9keT1Ob25l
LCBjb21taXRzPU5vbmUsIGJhc2U9Tm9uZSwgb3BlbmVkPU5vbmUpOgogICAgICAgICAgICAgaWYg
bm90IGlzaW5zdGFuY2UocHVsbF9yZXF1ZXN0LCBQdWxsUmVxdWVzdCk6Ci0gICAgICAgICAgICAg
ICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgIkV4cGVjdGVkICdwdWxs
X3JlcXVlc3QnIHRvIGJlIG9mIHR5cGUgJ3t9JyBub3QgJ3t9JyIuZm9ybWF0KFB1bGxSZXF1ZXN0
LCB0eXBlKHB1bGxfcmVxdWVzdCkpKQorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io
IkV4cGVjdGVkICdwdWxsX3JlcXVlc3QnIHRvIGJlIG9mIHR5cGUgJ3t9JyBub3QgJ3t9JyIuZm9y
bWF0KFB1bGxSZXF1ZXN0LCB0eXBlKHB1bGxfcmVxdWVzdCkpKQorCisgICAgICAgICAgICBwcl91
cmwgPSAnaHR0cHM6Ly97ZG9tYWlufS9yZXN0L2FwaS8xLjAvcHJvamVjdHMve3Byb2plY3R9L3Jl
cG9zL3tuYW1lfS9wdWxsLXJlcXVlc3RzL3tpZH0nLmZvcm1hdCgKKyAgICAgICAgICAgICAgICBk
b21haW49c2VsZi5yZXBvc2l0b3J5LmRvbWFpbiwKKyAgICAgICAgICAgICAgICBwcm9qZWN0PXNl
bGYucmVwb3NpdG9yeS5wcm9qZWN0LAorICAgICAgICAgICAgICAgIG5hbWU9c2VsZi5yZXBvc2l0
b3J5Lm5hbWUsCisgICAgICAgICAgICAgICAgaWQ9cHVsbF9yZXF1ZXN0Lm51bWJlciwKKyAgICAg
ICAgICAgICkKKworICAgICAgICAgICAgaWYgb3BlbmVkIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KHByX3VybCkKKyAgICAgICAgICAgICAgICBp
ZiByZXNwb25zZS5zdGF0dXNfY29kZSAvLyAxMDAgIT0gMjoKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKyAgICAgICAgICAgICAgICByZXNwb25zZSA9IHJlcXVlc3RzLnBvc3QoCisg
ICAgICAgICAgICAgICAgICAgICd7fS97fScuZm9ybWF0KHByX3VybCwgJ3Jlb3BlbicgaWYgb3Bl
bmVkIGVsc2UgJ2RlY2xpbmUnKSwKKyAgICAgICAgICAgICAgICAgICAganNvbj1kaWN0KHZlcnNp
b249cmVzcG9uc2UuanNvbigpLmdldCgndmVyc2lvbicsIDApKSwKKyAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwICE9IDI6Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgICAgICAgICBwdWxsX3Jl
cXVlc3QuX29wZW5lZCA9IG9wZW5lZAorICAgICAgICAgICAgICAgIGlmIG5vdCBhbnkoKGhlYWQs
IHRpdGxlLCBib2R5LCBjb21taXRzLCBiYXNlKSk6CisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBwdWxsX3JlcXVlc3QKKwogICAgICAgICAgICAgaWYgbm90IGFueSgoaGVhZCwgdGl0bGUsIGJv
ZHksIGNvbW1pdHMsIGJhc2UpKToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdO
byBhcmd1bWVudHMgdG8gdXBkYXRlIHB1bGwtcmVxdWVzdCBwcm92aWRlZCcpCiAKQEAgLTE3Niwx
MiArMTk4LDYgQEAgY2xhc3MgQml0QnVja2V0KFNjbSk6CiAgICAgICAgICAgICAgICAgICAgICks
CiAgICAgICAgICAgICAgICAgKQogCi0gICAgICAgICAgICBwcl91cmwgPSAnaHR0cHM6Ly97ZG9t
YWlufS9yZXN0L2FwaS8xLjAvcHJvamVjdHMve3Byb2plY3R9L3JlcG9zL3tuYW1lfS9wdWxsLXJl
cXVlc3RzL3tpZH0nLmZvcm1hdCgKLSAgICAgICAgICAgICAgICBkb21haW49c2VsZi5yZXBvc2l0
b3J5LmRvbWFpbiwKLSAgICAgICAgICAgICAgICBwcm9qZWN0PXNlbGYucmVwb3NpdG9yeS5wcm9q
ZWN0LAotICAgICAgICAgICAgICAgIG5hbWU9c2VsZi5yZXBvc2l0b3J5Lm5hbWUsCi0gICAgICAg
ICAgICAgICAgaWQ9cHVsbF9yZXF1ZXN0Lm51bWJlciwKLSAgICAgICAgICAgICkKICAgICAgICAg
ICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KHByX3VybCkKICAgICAgICAgICAgIGlmIHJlc3Bv
bnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgogICAgICAgICAgICAgICAgIHJldHVybiBOb25l
CkBAIC0yMTMsNiArMjI5LDMyIEBAIGNsYXNzIEJpdEJ1Y2tldChTY20pOgogICAgICAgICAgICAg
cHVsbF9yZXF1ZXN0Ll9hcHByb3ZlcnMgPSBnb3QuX2FwcHJvdmVycyBpZiBnb3QgZWxzZSBbXQog
ICAgICAgICAgICAgcmV0dXJuIHB1bGxfcmVxdWVzdAogCisgICAgICAgIGRlZiBjb21tZW50KHNl
bGYsIHB1bGxfcmVxdWVzdCwgY29udGVudCk6CisgICAgICAgICAgICByZXNwb25zZSA9IHJlcXVl
c3RzLnBvc3QoCisgICAgICAgICAgICAgICAgJ2h0dHBzOi8ve2RvbWFpbn0vcmVzdC9hcGkvMS4w
L3Byb2plY3RzL3twcm9qZWN0fS9yZXBvcy97bmFtZX0vcHVsbC1yZXF1ZXN0cy97aWR9L2NvbW1l
bnRzJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgIGRvbWFpbj1zZWxmLnJlcG9zaXRvcnku
ZG9tYWluLAorICAgICAgICAgICAgICAgICAgICBwcm9qZWN0PXNlbGYucmVwb3NpdG9yeS5wcm9q
ZWN0LAorICAgICAgICAgICAgICAgICAgICBuYW1lPXNlbGYucmVwb3NpdG9yeS5uYW1lLAorICAg
ICAgICAgICAgICAgICAgICBpZD1wdWxsX3JlcXVlc3QubnVtYmVyLAorICAgICAgICAgICAgICAg
ICksIGpzb249ZGljdCh0ZXh0PWNvbnRlbnQpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAg
aWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwICE9IDI6CisgICAgICAgICAgICAgICAgc3lz
LnN0ZGVyci53cml0ZSgiRmFpbGVkIHRvIGFkZCBjb21tZW50IHRvICd7fSdcbiIuZm9ybWF0KHB1
bGxfcmVxdWVzdCkpCisKKyAgICAgICAgZGVmIGNvbW1lbnRzKHNlbGYsIHB1bGxfcmVxdWVzdCk6
CisgICAgICAgICAgICBmb3IgYWN0aW9uIGluIHJldmVyc2VkKHNlbGYucmVwb3NpdG9yeS5yZXF1
ZXN0KCdwdWxsLXJlcXVlc3RzL3t9L2FjdGl2aXRpZXMnLmZvcm1hdChwdWxsX3JlcXVlc3QubnVt
YmVyKSkgb3IgW10pOgorICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBhY3Rpb24uZ2V0KCdjb21t
ZW50Jywge30pCisgICAgICAgICAgICAgICAgdXNlciA9IGNvbW1lbnQuZ2V0KCdhdXRob3InLCB7
fSkKKyAgICAgICAgICAgICAgICBpZiBub3QgY29tbWVudCBvciBub3QgdXNlciBvciBub3QgY29t
bWVudC5nZXQoJ3RleHQnKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAg
ICAgICAgICAgIHlpZWxkIFB1bGxSZXF1ZXN0LkNvbW1lbnQoCisgICAgICAgICAgICAgICAgICAg
IGF1dGhvcj1zZWxmLnJlcG9zaXRvcnkuY29udHJpYnV0b3JzLmNyZWF0ZSh1c2VyWydkaXNwbGF5
TmFtZSddLCB1c2VyWydlbWFpbEFkZHJlc3MnXSksCisgICAgICAgICAgICAgICAgICAgIHRpbWVz
dGFtcD1jb21tZW50LmdldCgndXBkYXRlZERhdGUnLCBjb21tZW50LmdldCgnY3JlYXRlZERhdGUn
KSkgLy8gMTAwMCwKKyAgICAgICAgICAgICAgICAgICAgY29udGVudD1jb21tZW50LmdldCgndGV4
dCcpLAorICAgICAgICAgICAgICAgICkKKworCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGlz
X3dlYnNlcnZlcihjbHMsIHVybCk6CiAgICAgICAgIHJldHVybiBUcnVlIGlmIGNscy5VUkxfUkUu
bWF0Y2godXJsKSBlbHNlIEZhbHNlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2xpYnJhcmll
cy93ZWJraXRzY21weS93ZWJraXRzY21weS9yZW1vdGUvZ2l0X2h1Yi5weSBiL1Rvb2xzL1Njcmlw
dHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHViLnB5Cmlu
ZGV4IDBhMTAxYjAyMWY5YzViN2Y2YWM2M2VhMDFlOTZiMzE0YTYzMTZhZDAuLmNmZDQ3ZTBiOGE3
OGE5MzIyM2E0ZmRkNWZkODhlNmU0NjE1NDNlNTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
bGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9naXRfaHViLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3JlbW90ZS9n
aXRfaHViLnB5CkBAIC01NCw2ICs1NCw5IEBAIGNsYXNzIEdpdEh1YihTY20pOgogICAgICAgICAg
ICAgICAgICAgICBjbG9zZWQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgKS5nZXQoZGF0YS5nZXQo
J3N0YXRlJyksIE5vbmUpLAogICAgICAgICAgICAgICAgIGdlbmVyYXRvcj1zZWxmLAorICAgICAg
ICAgICAgICAgIG1ldGFkYXRhPWRpY3QoCisgICAgICAgICAgICAgICAgICAgIGlzc3VlPWRhdGEu
Z2V0KCdfbGlua3MnLCB7fSkuZ2V0KCdpc3N1ZScsIHt9KS5nZXQoJ2hyZWYnKSwKKyAgICAgICAg
ICAgICAgICApLAogICAgICAgICAgICAgKQogCiAgICAgICAgIGRlZiBnZXQoc2VsZiwgbnVtYmVy
KToKQEAgLTEwMywxMCArMTA2LDEwIEBAIGNsYXNzIEdpdEh1YihTY20pOgogICAgICAgICAgICAg
ICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICByZXR1cm4gc2VsZi5QdWxsUmVxdWVzdChyZXNw
b25zZS5qc29uKCkpCiAKLSAgICAgICAgZGVmIHVwZGF0ZShzZWxmLCBwdWxsX3JlcXVlc3QsIGhl
YWQ9Tm9uZSwgdGl0bGU9Tm9uZSwgYm9keT1Ob25lLCBjb21taXRzPU5vbmUsIGJhc2U9Tm9uZSk6
CisgICAgICAgIGRlZiB1cGRhdGUoc2VsZiwgcHVsbF9yZXF1ZXN0LCBoZWFkPU5vbmUsIHRpdGxl
PU5vbmUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUsIG9wZW5lZD1Ob25lKToK
ICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHB1bGxfcmVxdWVzdCwgUHVsbFJlcXVlc3Qp
OgogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkV4cGVjdGVkICdwdWxsX3JlcXVl
c3QnIHRvIGJlIG9mIHR5cGUgJ3t9JyBub3QgJ3t9JyIuZm9ybWF0KFB1bGxSZXF1ZXN0LCB0eXBl
KHB1bGxfcmVxdWVzdCkpKQotICAgICAgICAgICAgaWYgbm90IGFueSgoaGVhZCwgdGl0bGUsIGJv
ZHksIGNvbW1pdHMsIGJhc2UpKToKKyAgICAgICAgICAgIGlmIG5vdCBhbnkoKGhlYWQsIHRpdGxl
LCBib2R5LCBjb21taXRzLCBiYXNlKSkgYW5kIG9wZW5lZCBpcyBOb25lOgogICAgICAgICAgICAg
ICAgIHJhaXNlIFZhbHVlRXJyb3IoJ05vIGFyZ3VtZW50cyB0byB1cGRhdGUgcHVsbC1yZXF1ZXN0
IHByb3ZpZGVkJykKIAogICAgICAgICAgICAgdXNlciwgXyA9IHNlbGYucmVwb3NpdG9yeS5jcmVk
ZW50aWFscyhyZXF1aXJlZD1UcnVlKQpAQCAtMTE3LDYgKzEyMCw4IEBAIGNsYXNzIEdpdEh1YihT
Y20pOgogICAgICAgICAgICAgKQogICAgICAgICAgICAgaWYgYm9keSBvciBjb21taXRzOgogICAg
ICAgICAgICAgICAgIHVwZGF0ZXNbJ2JvZHknXSA9IFB1bGxSZXF1ZXN0LmNyZWF0ZV9ib2R5KGJv
ZHksIGNvbW1pdHMpCisgICAgICAgICAgICBpZiBvcGVuZWQgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgICAgdXBkYXRlc1snc3RhdGUnXSA9ICdvcGVuJyBpZiBvcGVuZWQgZWxzZSAnY2xvc2Vk
JwogICAgICAgICAgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5wb3N0KAogICAgICAgICAgICAgICAg
ICd7YXBpX3VybH0vcmVwb3Mve293bmVyfS97bmFtZX0vcHVsbHMve251bWJlcn0nLmZvcm1hdCgK
ICAgICAgICAgICAgICAgICAgICAgYXBpX3VybD1zZWxmLnJlcG9zaXRvcnkuYXBpX3VybCwKQEAg
LTEyNyw2ICsxMzIsOSBAQCBjbGFzcyBHaXRIdWIoU2NtKToKICAgICAgICAgICAgICAgICBoZWFk
ZXJzPWRpY3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0aHViLnYzK2pzb24nKSwKICAgICAg
ICAgICAgICAgICBqc29uPXVwZGF0ZXMsCiAgICAgICAgICAgICApCisgICAgICAgICAgICBpZiBy
ZXNwb25zZS5zdGF0dXNfY29kZSA9PSA0MjI6CisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0
Ll9vcGVuZWQgPSBGYWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBwdWxsX3JlcXVlc3QKICAg
ICAgICAgICAgIGlmIHJlc3BvbnNlLnN0YXR1c19jb2RlIC8vIDEwMCAhPSAyOgogICAgICAgICAg
ICAgICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICBkYXRhID0gcmVzcG9uc2UuanNvbigpCkBA
IC0xNDEsOCArMTQ5LDExIEBAIGNsYXNzIEdpdEh1YihTY20pOgogICAgICAgICAgICAgcHVsbF9y
ZXF1ZXN0Ll9vcGVuZWQgPSBkaWN0KAogICAgICAgICAgICAgICAgIG9wZW49VHJ1ZSwKICAgICAg
ICAgICAgICAgICBjbG9zZWQ9RmFsc2UsCi0gICAgICAgICAgICApLmdldChkYXRhLmdldCgnc3Rh
dGUnKSwgTm9uZSksCisgICAgICAgICAgICApLmdldChkYXRhLmdldCgnc3RhdGUnKSwgTm9uZSkK
ICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5nZW5lcmF0b3IgPSBzZWxmCisgICAgICAgICAgICBw
dWxsX3JlcXVlc3QuX21ldGFkYXRhID0gZGljdCgKKyAgICAgICAgICAgICAgICBpc3N1ZT1kYXRh
LmdldCgnX2xpbmtzJywge30pLmdldCgnaXNzdWUnLCB7fSkuZ2V0KCdocmVmJyksCisgICAgICAg
ICAgICApCiAKICAgICAgICAgICAgIHJldHVybiBwdWxsX3JlcXVlc3QKIApAQCAtMTg0LDYgKzE5
NSw1NiBAQCBjbGFzcyBHaXRIdWIoU2NtKToKICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fcmV2
aWV3ZXJzID0gc29ydGVkKHB1bGxfcmVxdWVzdC5fcmV2aWV3ZXJzKQogICAgICAgICAgICAgcmV0
dXJuIHB1bGxfcmVxdWVzdAogCisgICAgICAgIGRlZiBjb21tZW50KHNlbGYsIHB1bGxfcmVxdWVz
dCwgY29udGVudCk6CisgICAgICAgICAgICBpc3N1ZSA9IHB1bGxfcmVxdWVzdC5fbWV0YWRhdGEu
Z2V0KCdpc3N1ZScpCisgICAgICAgICAgICBpZiBub3QgaXNzdWU6CisgICAgICAgICAgICAgICAg
b2xkID0gcHVsbF9yZXF1ZXN0CisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0ID0gc2VsZi5n
ZXQob2xkLm51bWJlcikKKyAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuX3Jldmlld2VycyA9
IG9sZC5fcmV2aWV3ZXJzCisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9hcHByb3ZlcnMg
PSBvbGQuX2FwcHJvdmVycworICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYmxvY2tlcnMg
PSBvbGQuX2Jsb2NrZXJzCisgICAgICAgICAgICAgICAgaXNzdWUgPSBwdWxsX3JlcXVlc3QuX21l
dGFkYXRhLmdldCgnaXNzdWUnKQorICAgICAgICAgICAgaWYgbm90IGlzc3VlOgorICAgICAgICAg
ICAgICAgIHJhaXNlIHNlbGYucmVwb3NpdG9yeS5FeGNlcHRpb24oJ0ZhaWxlZCB0byBmaW5kIGlz
c3VlIHVuZGVybHlpbmcgcHVsbC1yZXF1ZXN0JykKKyAgICAgICAgICAgIHJlc3BvbnNlID0gcmVx
dWVzdHMucG9zdCgKKyAgICAgICAgICAgICAgICAne30vY29tbWVudHMnLmZvcm1hdChpc3N1ZSks
CisgICAgICAgICAgICAgICAgYXV0aD1IVFRQQmFzaWNBdXRoKCpzZWxmLnJlcG9zaXRvcnkuY3Jl
ZGVudGlhbHMocmVxdWlyZWQ9VHJ1ZSkpLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9ZGljdChB
Y2NlcHQ9J2FwcGxpY2F0aW9uL3ZuZC5naXRodWIudjMranNvbicpLAorICAgICAgICAgICAgICAg
IGpzb249ZGljdChib2R5PWNvbnRlbnQpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgaWYg
cmVzcG9uc2Uuc3RhdHVzX2NvZGUgLy8gMTAwICE9IDI6CisgICAgICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZSgiRmFpbGVkIHRvIGFkZCBjb21tZW50IHRvICd7fSdcbiIuZm9ybWF0KHB1bGxf
cmVxdWVzdCkpCisKKyAgICAgICAgZGVmIGNvbW1lbnRzKHNlbGYsIHB1bGxfcmVxdWVzdCk6Cisg
ICAgICAgICAgICBpc3N1ZSA9IHB1bGxfcmVxdWVzdC5fbWV0YWRhdGEuZ2V0KCdpc3N1ZScpCisg
ICAgICAgICAgICBpZiBub3QgaXNzdWU6CisgICAgICAgICAgICAgICAgb2xkID0gcHVsbF9yZXF1
ZXN0CisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0ID0gc2VsZi5nZXQob2xkLm51bWJlcikK
KyAgICAgICAgICAgICAgICBwdWxsX3JlcXVlc3QuX3Jldmlld2VycyA9IG9sZC5fcmV2aWV3ZXJz
CisgICAgICAgICAgICAgICAgcHVsbF9yZXF1ZXN0Ll9hcHByb3ZlcnMgPSBvbGQuX2FwcHJvdmVy
cworICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdC5fYmxvY2tlcnMgPSBvbGQuX2Jsb2NrZXJz
CisgICAgICAgICAgICAgICAgaXNzdWUgPSBwdWxsX3JlcXVlc3QuX21ldGFkYXRhLmdldCgnaXNz
dWUnKQorICAgICAgICAgICAgaWYgbm90IGlzc3VlOgorICAgICAgICAgICAgICAgIHJhaXNlIHNl
bGYucmVwb3NpdG9yeS5FeGNlcHRpb24oJ0ZhaWxlZCB0byBmaW5kIGlzc3VlIHVuZGVybHlpbmcg
cHVsbC1yZXF1ZXN0JykKKyAgICAgICAgICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KAorICAg
ICAgICAgICAgICAgICd7fS9jb21tZW50cycuZm9ybWF0KGlzc3VlKSwKKyAgICAgICAgICAgICAg
ICBhdXRoPUhUVFBCYXNpY0F1dGgoKnNlbGYucmVwb3NpdG9yeS5jcmVkZW50aWFscygpKSwKKyAg
ICAgICAgICAgICAgICBoZWFkZXJzPWRpY3QoQWNjZXB0PSdhcHBsaWNhdGlvbi92bmQuZ2l0aHVi
LnYzK2pzb24nKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGZvciBub2RlIGluIHJlc3Bv
bnNlLmpzb24oKSBpZiByZXNwb25zZS5zdGF0dXNfY29kZSAvLyAxMDAgPT0gMiBlbHNlIFtdOgor
ICAgICAgICAgICAgICAgIHVzZXIgPSBub2RlLmdldCgndXNlcicsIHt9KS5nZXQoJ2xvZ2luJykK
KyAgICAgICAgICAgICAgICBpZiBub3QgdXNlcjoKKyAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKKyAgICAgICAgICAgICAgICB0bSA9IG5vZGUuZ2V0KCd1cGRhdGVkX2F0Jywgbm9kZS5nZXQo
J2NyZWF0ZWRfYXQnKSkKKyAgICAgICAgICAgICAgICBpZiB0bToKKyAgICAgICAgICAgICAgICAg
ICAgdG0gPSBpbnQoY2FsZW5kYXIudGltZWdtKGRhdGV0aW1lLnN0cnB0aW1lKHRtLCAnJVktJW0t
JWRUJUg6JU06JVNaJykudGltZXR1cGxlKCkpKQorCisgICAgICAgICAgICAgICAgeWllbGQgUHVs
bFJlcXVlc3QuQ29tbWVudCgKKyAgICAgICAgICAgICAgICAgICAgYXV0aG9yPXNlbGYuX2NvbnRy
aWJ1dG9yKHVzZXIpLAorICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA9dG0sCisgICAgICAg
ICAgICAgICAgICAgIGNvbnRlbnQ9bm9kZS5nZXQoJ2JvZHknKSwKKyAgICAgICAgICAgICAgICAp
CisKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBpc193ZWJzZXJ2ZXIoY2xzLCB1cmwpOgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvcmVtb3RlL3NjbS5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dl
YmtpdHNjbXB5L3JlbW90ZS9zY20ucHkKaW5kZXggMmZlOGE4NTI1Yjg4ZDA0MDI5MWJlYTliYTJm
M2MzMDY5NzAxYzA5Yi4uY2RlNzU5ZmRjYTgzMzMzOTYwNjQxZDIyY2UzMWYzYmY5YjM2MTAxMyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy9saWJyYXJpZXMvd2Via2l0c2NtcHkvd2Via2l0c2Nt
cHkvcmVtb3RlL3NjbS5weQorKysgYi9Ub29scy9TY3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21w
eS93ZWJraXRzY21weS9yZW1vdGUvc2NtLnB5CkBAIC0zOSwxMiArMzksMTggQEAgY2xhc3MgU2Nt
KFNjbUJhc2UpOgogICAgICAgICBkZWYgY3JlYXRlKHNlbGYsIGhlYWQsIHRpdGxlLCBib2R5PU5v
bmUsIGNvbW1pdHM9Tm9uZSwgYmFzZT1Ob25lKToKICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IoKQogCi0gICAgICAgIGRlZiB1cGRhdGUoc2VsZiwgcHVsbF9yZXF1ZXN0LCBo
ZWFkPU5vbmUsIHRpdGxlPU5vbmUsIGJvZHk9Tm9uZSwgY29tbWl0cz1Ob25lLCBiYXNlPU5vbmUp
OgorICAgICAgICBkZWYgdXBkYXRlKHNlbGYsIHB1bGxfcmVxdWVzdCwgaGVhZD1Ob25lLCB0aXRs
ZT1Ob25lLCBib2R5PU5vbmUsIGNvbW1pdHM9Tm9uZSwgYmFzZT1Ob25lLCBvcGVuZWQ9Tm9uZSk6
CiAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKIAogICAgICAgICBkZWYg
cmV2aWV3ZXJzKHNlbGYsIHB1bGxfcmVxdWVzdCk6CiAgICAgICAgICAgICByYWlzZSBOb3RJbXBs
ZW1lbnRlZEVycm9yKCkKIAorICAgICAgICBkZWYgY29tbWVudChzZWxmLCBwdWxsX3JlcXVlc3Qs
IGNvbnRlbnQpOgorICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCisKKyAg
ICAgICAgZGVmIGNvbW1lbnRzKHNlbGYsIHB1bGxfcmVxdWVzdCk6CisgICAgICAgICAgICByYWlz
ZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKKwogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZy
b21fdXJsKGNscywgdXJsLCBjb250cmlidXRvcnM9Tm9uZSk6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL2xpYnJhcmllcy93ZWJraXRzY21weS93ZWJraXRzY21weS90ZXN0L3B1bGxfcmVxdWVz
dF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtp
dHNjbXB5L3Rlc3QvcHVsbF9yZXF1ZXN0X3VuaXR0ZXN0LnB5CmluZGV4IGY5NmJmZWYzMDI1ZmU5
MDAyM2FkNDk2ODcyODUxY2RkZGIwNzFmM2UuLmIxNWYzMDAwZTMxMDk5ZGZkZmI3YzJjYzkwOTY2
Y2U1YjA0YThkZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNj
bXB5L3dlYmtpdHNjbXB5L3Rlc3QvcHVsbF9yZXF1ZXN0X3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvbGlicmFyaWVzL3dlYmtpdHNjbXB5L3dlYmtpdHNjbXB5L3Rlc3QvcHVsbF9yZXF1
ZXN0X3VuaXR0ZXN0LnB5CkBAIC00NjAsNyArNDYwLDkgQEAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCiAgICAgICAgICAgICByZXZpZXdzPVsKICAgICAgICAgICAgICAgICBkaWN0KHVzZXI9
ZGljdChsb2dpbj0nZXJldmlld2VyJyksIHN0YXRlPSdBUFBST1ZFRCcpLAogICAgICAgICAgICAg
ICAgIGRpY3QodXNlcj1kaWN0KGxvZ2luPSdzcmV2aWV3ZXInKSwgc3RhdGU9J0NIQU5HRVNfUkVR
VUVTVEVEJyksCi0gICAgICAgICAgICBdLAorICAgICAgICAgICAgXSwgX2xpbmtzPWRpY3QoCisg
ICAgICAgICAgICAgICAgaXNzdWU9ZGljdChocmVmPSdodHRwczovL3t9L2lzc3Vlcy8xJy5mb3Jt
YXQocmVzdWx0LmFwaV9yZW1vdGUpKSwKKyAgICAgICAgICAgICksCiAgICAgICAgICldCiAgICAg
ICAgIHJldHVybiByZXN1bHQKIApAQCAtNTA5LDYgKzUxMSwyNCBAQCBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIuYXBwcm92ZXJzLCBb
XSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIuYmxvY2tlcnMsIFtDb250cmlidXRv
cignU3VzcGljaW91cyBSZXZpZXdlcicsIFsnc3Jldmlld2VyQHdlYmtpdC5vcmcnXSldKQogCisg
ICAgZGVmIHRlc3RfY29tbWVudHMoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi53ZWJzZXJ2ZXIo
KToKKyAgICAgICAgICAgIHJlcG8gPSByZW1vdGUuR2l0SHViKHNlbGYucmVtb3RlKQorICAgICAg
ICAgICAgcHIgPSByZXBvLnB1bGxfcmVxdWVzdHMuZ2V0KDEpCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHByLmNvbW1lbnRzLCBbXSkKKyAgICAgICAgICAgIHByLmNvbW1lbnQoJ0NvbW1l
bnRpbmchJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW2MuY29udGVudCBmb3IgYyBp
biBwci5jb21tZW50c10sIFsnQ29tbWVudGluZyEnXSkKKworICAgIGRlZiB0ZXN0X29wZW5fY2xv
c2Uoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi53ZWJzZXJ2ZXIoKToKKyAgICAgICAgICAgIHJl
cG8gPSByZW1vdGUuR2l0SHViKHNlbGYucmVtb3RlKQorICAgICAgICAgICAgcHIgPSByZXBvLnB1
bGxfcmVxdWVzdHMuZ2V0KDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocHIub3BlbmVk
KQorICAgICAgICAgICAgcHIuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShw
ci5vcGVuZWQpCisgICAgICAgICAgICBwci5vcGVuKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShwci5vcGVuZWQpCisKIAogY2xhc3MgVGVzdE5ldHdvcmtQdWxsUmVxdWVzdEJpdEJ1Y2tl
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgcmVtb3RlID0gJ2h0dHBzOi8vYml0YnVja2V0LmV4
YW1wbGUuY29tL3Byb2plY3RzL1dFQktJVC9yZXBvcy93ZWJraXQnCkBAIC01MjEsNiArNTQxLDcg
QEAgY2xhc3MgVGVzdE5ldHdvcmtQdWxsUmVxdWVzdEJpdEJ1Y2tldCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgICAgICAgICBzdGF0ZT0nT1BFTicsCiAgICAgICAgICAgICBvcGVuPVRydWUsCiAg
ICAgICAgICAgICBjbG9zZWQ9RmFsc2UsCisgICAgICAgICAgICBhY3Rpdml0aWVzPVtdLAogICAg
ICAgICAgICAgdGl0bGU9J0V4YW1wbGUgQ2hhbmdlJywKICAgICAgICAgICAgIGF1dGhvcj1kaWN0
KAogICAgICAgICAgICAgICAgIHVzZXI9ZGljdCgKQEAgLTYwNiwzICs2MjcsMjEgQEAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAgICAgICAgICAgICBdKQogICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChwci5hcHByb3ZlcnMsIFtdKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChwci5ibG9ja2VycywgW0NvbnRyaWJ1dG9yKCdTdXNwaWNpb3VzIFJldmlld2VyJywgWydzcmV2
aWV3ZXJAd2Via2l0Lm9yZyddKV0pCisKKyAgICBkZWYgdGVzdF9jb21tZW50cyhzZWxmKToKKyAg
ICAgICAgd2l0aCBzZWxmLndlYnNlcnZlcigpOgorICAgICAgICAgICAgcmVwbyA9IHJlbW90ZS5C
aXRCdWNrZXQoc2VsZi5yZW1vdGUpCisgICAgICAgICAgICBwciA9IHJlcG8ucHVsbF9yZXF1ZXN0
cy5nZXQoMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHIuY29tbWVudHMsIFtdKQor
ICAgICAgICAgICAgcHIuY29tbWVudCgnQ29tbWVudGluZyEnKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChbYy5jb250ZW50IGZvciBjIGluIHByLmNvbW1lbnRzXSwgWydDb21tZW50aW5n
ISddKQorCisgICAgZGVmIHRlc3Rfb3Blbl9jbG9zZShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxm
LndlYnNlcnZlcigpOgorICAgICAgICAgICAgcmVwbyA9IHJlbW90ZS5CaXRCdWNrZXQoc2VsZi5y
ZW1vdGUpCisgICAgICAgICAgICBwciA9IHJlcG8ucHVsbF9yZXF1ZXN0cy5nZXQoMSkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwci5vcGVuZWQpCisgICAgICAgICAgICBwci5jbG9zZSgp
CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHByLm9wZW5lZCkKKyAgICAgICAgICAgIHBy
Lm9wZW4oKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByLm9wZW5lZCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>