<?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>232382</bug_id>
          
          <creation_ts>2021-10-27 08:47:30 -0700</creation_ts>
          <short_desc>Javascript URLs do not run in the right context when using frame targeting</short_desc>
          <delta_ts>2021-11-03 10:28:50 -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>Page Loading</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>
          
          <blocked>232334</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809270</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-27 08:47:30 -0700</bug_when>
    <thetext>Javascript URLs do not run in the right context when using frame targeting (e.g. `&lt;a target=&quot;foo&quot; src=&quot;javascript:...&quot;&gt;`).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809289</commentid>
    <comment_count>1</comment_count>
      <attachid>442600</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-27 09:55:12 -0700</bug_when>
    <thetext>Created attachment 442600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809393</commentid>
    <comment_count>2</comment_count>
      <attachid>442624</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-27 13:01:10 -0700</bug_when>
    <thetext>Created attachment 442624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809404</commentid>
    <comment_count>3</comment_count>
      <attachid>442627</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-27 13:36:10 -0700</bug_when>
    <thetext>Created attachment 442627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809463</commentid>
    <comment_count>4</comment_count>
      <attachid>442640</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-27 15:42:35 -0700</bug_when>
    <thetext>Created attachment 442640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810610</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-01 07:37:43 -0700</bug_when>
    <thetext>ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811470</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-03 08:48:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/84976051&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811471</commentid>
    <comment_count>7</comment_count>
      <attachid>442640</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-11-03 08:52:55 -0700</bug_when>
    <thetext>Comment on attachment 442640
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=442640&amp;action=review

&gt; LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/010-expected.txt:2
&gt; +FAIL Link with onclick form submit to javascript url with delayed document.write and href navigation  assert_equals: expected &quot;href&quot; but got &quot;write&quot;

Chrome and Firefox pass this test.  While this appears to be a step in the right direction, do you know what it would take to pass?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811472</commentid>
    <comment_count>8</comment_count>
      <attachid>442640</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-03 08:55:29 -0700</bug_when>
    <thetext>Comment on attachment 442640
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=442640&amp;action=review

&gt;&gt; LayoutTests/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/010-expected.txt:2
&gt;&gt; +FAIL Link with onclick form submit to javascript url with delayed document.write and href navigation  assert_equals: expected &quot;href&quot; but got &quot;write&quot;
&gt; 
&gt; Chrome and Firefox pass this test.  While this appears to be a step in the right direction, do you know what it would take to pass?

I explained it in the changelog. I haven&apos;t done a full investigation yet but I suspect it is because we&apos;re running the Javascript URL synchronously in the form submission case.

However, I tried running the JavaScript URL asynchronously and this caused some other side effects and other test failures so I am not making that change in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811475</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-03 09:00:21 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 442640 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811494</commentid>
    <comment_count>10</comment_count>
      <attachid>443204</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-03 09:30:10 -0700</bug_when>
    <thetext>Created attachment 443204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811512</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-03 10:28:46 -0700</bug_when>
    <thetext>Committed r285214 (243839@main): &lt;https://commits.webkit.org/243839@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443204.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442600</attachid>
            <date>2021-10-27 09:55:12 -0700</date>
            <delta_ts>2021-10-27 13:01:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232382-20211027095511.patch</filename>
            <type>text/plain</type>
            <size>18372</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIxN2JjMjBlOGE1OGE3
NWYzZWRjYjY1NjRjOWI2MmJlYTBjZTA3ZS4uMmE3NjZjODc3N2VhM2I2ZjllNzUwNTViNzA4MmE0
Yjk3MDZiZGRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRv
IG5vdCBydW4gaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjM4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFzY3Jp
cHQgVVJMcyBkaWQgbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5nIGZyYW1l
IHRhcmdldGluZworICAgICAgICAoZS5nLiBgPGEgdGFyZ2V0PSJmb28iIHNyYz0iamF2YXNjcmlw
dDouLi4iPmApLiBXZSB3b3VsZCBwcmV2aW91c2x5IHJ1biB0aGUKKyAgICAgICAgSmF2YVNjcmlw
dCBVUkwgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGFuY2hvciBpbnN0ZWFkIG9mIHRoZSB0YXJnZXQg
ZnJhbWUvd2luZG93LgorCisgICAgICAgIEFsc28sIHdlIHdvdWxkIGZhaWwgdG8gb3BlbiBhIG5l
dyBwb3B1cCB3aGVuIHRoZXJlIGlzIG5vIGV4aXN0aW5nIGZyYW1lIHdpdGgKKyAgICAgICAgdGhl
IGdpdmVuIHRhcmdldCBuYW1lLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGlzc3Vl
IGJ5IGRvaW5nIHRoZSBleGVjdXRlSmF2YVNjcmlwdFVSTCgpIGNhbGwgbGF0ZXIsCisgICAgICAg
IGluc2lkZSBvZiBGcmFtZUxvYWRlcjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKCksIG9uY2Ug
d2UndmUgYWxyZWFkeSByZXNvbHZlZAorICAgICAgICB0aGUgdGFyZ2V0IGZyYW1lIGFuZCBjcmVh
dGVkIGEgbmV3IHdpbmRvdyBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgVGhpcyBhbGlnbnMgb3Vy
IGJlaGF2aW9yIHdpdGggYm90aCBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6
IGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFy
Z2V0LW5ldy13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvamF2YXNjcmlw
dC11cmwtZm9ybS10YXJnZXQuaHRtbAorCisgICAgICAgICogbG9hZGVyL0Zvcm1TdWJtaXNzaW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1TdWJtaXNzaW9uOjpyZXF1ZXN0VVJMIGNvbnN0
KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVMb2FkZXI6OmNoYW5nZUxvY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpzdWJtaXRGb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkVVJM
KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkV2l0aE5hdmlnYXRpb25BY3Rp
b24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOZXdXaW5kb3dQ
b2xpY3kpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3Jp
cHRVUkwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlvbjo6c2V0U2hv
dWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKToKKyAgICAgICAgKiBsb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHA6CisKIDIwMjEtMTAtMjcgIE1hcnRpbiBSb2JpbnNvbiAgPG1y
b2JpbnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEVsaW1pbmF0ZSBkdXBsaWNhdGVkIHBsYXRm
b3JtLXNwZWNpZmljIGNvZGUgaW4gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCmluZGV4IGFlOTJhZGQ4NzU2MDUxZDA1NmEyMzAy
ZGRjYmM0ODliMTBlNzQ4NDIuLjQ2NDk1N2UzMGQxM2FlMGI2MzEwY2VjZWIwMWY1ZjQ1ZTI5ZDBi
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcApAQCAtMjQ2LDcg
KzI0Niw4IEBAIFVSTCBGb3JtU3VibWlzc2lvbjo6cmVxdWVzdFVSTCgpIGNvbnN0CiAgICAgICAg
IHJldHVybiBtX2FjdGlvbjsKIAogICAgIFVSTCByZXF1ZXN0VVJMKG1fYWN0aW9uKTsKLSAgICBy
ZXF1ZXN0VVJMLnNldFF1ZXJ5KG1fZm9ybURhdGEtPmZsYXR0ZW5Ub1N0cmluZygpKTsKKyAgICBp
ZiAoIXJlcXVlc3RVUkwucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkKKyAgICAgICAgcmVxdWVzdFVS
TC5zZXRRdWVyeShtX2Zvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKSk7CiAgICAgcmV0dXJuIHJl
cXVlc3RVUkw7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGU1
YTZjYzMwMWE5OWNkOTA0MGIwM2FiMzdhNTVjOTYyYjA5Njg0Y2QuLjA4MDU3NjYyOTFiMjA2YThi
OWFhYjQ2OGVmZTA3YTcwMjFjNjM0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcApAQCAtNDQ2LDEyICs0NDYsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjaGFuZ2VMb2NhdGlv
bihGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVSZXF1ZXN0LCBFdmVudCogdHJpZ2dlcgogCiAgICAg
UmVmPEZyYW1lPiBwcm90ZWN0KG1fZnJhbWUpOwogCi0gICAgaWYgKGZyYW1lUmVxdWVzdC5yZXNv
dXJjZVJlcXVlc3QoKS51cmwoKS5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSB7Ci0gICAgICAgIG1f
ZnJhbWUuc2NyaXB0KCkuZXhlY3V0ZUphdmFTY3JpcHRVUkwoZnJhbWVSZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnVybCgpLCAmZnJhbWVSZXF1ZXN0LnJlcXVlc3RlcigpLnNlY3VyaXR5T3JpZ2lu
KCksIGZyYW1lUmVxdWVzdC5zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7
Ci0gICAgICAgIG1fcXVpY2tSZWRpcmVjdENvbWluZyA9IGZhbHNlOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCiAgICAgaWYgKGZyYW1lUmVxdWVzdC5mcmFtZU5hbWUoKS5pc0VtcHR5KCkpCiAg
ICAgICAgIGZyYW1lUmVxdWVzdC5zZXRGcmFtZU5hbWUobV9mcmFtZS5kb2N1bWVudCgpLT5iYXNl
VGFyZ2V0KCkpOwogCkBAIC00ODMsMTQgKzQ3Nyw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN1Ym1p
dEZvcm0oUmVmPEZvcm1TdWJtaXNzaW9uPiYmIHN1Ym1pc3Npb24pCiAgICAgaWYgKCFtX2ZyYW1l
LmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0Zvcm1BY3Rpb24oZm9y
bUFjdGlvbikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChmb3JtQWN0aW9uLnByb3RvY29s
SXNKYXZhU2NyaXB0KCkpIHsKLSAgICAgICAgbV9pc0V4ZWN1dGluZ0phdmFTY3JpcHRGb3JtQWN0
aW9uID0gdHJ1ZTsKLSAgICAgICAgUmVmPEZyYW1lPiBwcm90ZWN0KG1fZnJhbWUpOwotICAgICAg
ICBtX2ZyYW1lLnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKHN1Ym1pc3Npb24tPmFjdGlv
bigpLCBudWxscHRyLCBEb05vdFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCk7Ci0gICAg
ICAgIG1faXNFeGVjdXRpbmdKYXZhU2NyaXB0Rm9ybUFjdGlvbiA9IGZhbHNlOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCiAgICAgRnJhbWUqIHRhcmdldEZyYW1lID0gZmluZEZyYW1lRm9yTmF2
aWdhdGlvbihzdWJtaXNzaW9uLT50YXJnZXQoKSwgJnN1Ym1pc3Npb24tPnN0YXRlKCkuc291cmNl
RG9jdW1lbnQoKSk7CiAgICAgaWYgKCF0YXJnZXRGcmFtZSkgewogICAgICAgICBpZiAoIURPTVdp
bmRvdzo6YWxsb3dQb3BVcChtX2ZyYW1lKSAmJiAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nl
c3NpbmdVc2VyR2VzdHVyZSgpKQpAQCAtMTM2Niw2ICsxMzUyLDcgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiByZWYKICAgICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlvbiB7IGZyYW1lTG9hZFJlcXVlc3Qu
cmVxdWVzdGVyKCksIHJlcXVlc3QsIGZyYW1lTG9hZFJlcXVlc3QuaW5pdGlhdGVkQnlNYWluRnJh
bWUoKSwgbmV3TG9hZFR5cGUsIGlzRm9ybVN1Ym1pc3Npb24sIGV2ZW50LCBmcmFtZUxvYWRSZXF1
ZXN0LnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSwgZnJhbWVMb2FkUmVxdWVzdC5kb3du
bG9hZEF0dHJpYnV0ZSgpIH07CiAgICAgYWN0aW9uLnNldExvY2tIaXN0b3J5KGZyYW1lTG9hZFJl
cXVlc3QubG9ja0hpc3RvcnkoKSk7CiAgICAgYWN0aW9uLnNldExvY2tCYWNrRm9yd2FyZExpc3Qo
ZnJhbWVMb2FkUmVxdWVzdC5sb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgIGFjdGlvbi5zZXRT
aG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoZnJhbWVMb2FkUmVxdWVzdC5zaG91
bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7CiAgICAgaWYgKHByaXZhdGVDbGlj
a01lYXN1cmVtZW50ICYmIG1fZnJhbWUuaXNNYWluRnJhbWUoKSkKICAgICAgICAgYWN0aW9uLnNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUoKnByaXZhdGVDbGlja01lYXN1cmVtZW50
KSk7CiAKQEAgLTE0OTYsNiArMTQ4MywxMiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5h
dmlnYXRpb25BY3Rpb24oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBOYXZpZwogewog
ICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HKFJlc291cmNlTG9hZGluZywgImxvYWRXaXRoTmF2
aWdhdGlvbkFjdGlvbjogZnJhbWUgbG9hZCBzdGFydGVkIik7CiAKKyAgICBpZiAocmVxdWVzdC51
cmwoKS5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSB7CisgICAgICAgIG1fZnJhbWUuc2NyaXB0KCku
ZXhlY3V0ZUphdmFTY3JpcHRVUkwocmVxdWVzdC51cmwoKSwgYWN0aW9uLnJlcXVlc3RlcigpID8g
YWN0aW9uLnJlcXVlc3RlcigpLT5zZWN1cml0eU9yaWdpbi5wdHIoKSA6IG51bGxwdHIsIGFjdGlv
bi5zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7CisgICAgICAgIG1fcXVp
Y2tSZWRpcmVjdENvbWluZyA9IGZhbHNlOworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRs
ZXIoKTsKKyAgICB9CisKICAgICBSZWY8RG9jdW1lbnRMb2FkZXI+IGxvYWRlciA9IG1fY2xpZW50
LT5jcmVhdGVEb2N1bWVudExvYWRlcihyZXF1ZXN0LCBkZWZhdWx0U3Vic3RpdHV0ZURhdGFGb3JV
UkwocmVxdWVzdC51cmwoKSkpOwogICAgIGFwcGx5U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eVRvTmV3RG9jdW1lbnRMb2FkZXIobV9mcmFtZSwgbG9hZGVyLCBhY3Rpb24uaW5pdGlhdGVkQnlN
YWluRnJhbWUoKSwgYWN0aW9uLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSk7CiAKQEAg
LTMwNzIsNiArMzA2NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdChGcmFt
ZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWZlCiAKICAgICBOYXZpZ2F0
aW9uQWN0aW9uIGFjdGlvbiB7IHJlcXVlc3QucmVxdWVzdGVyKCksIHdvcmtpbmdSZXNvdXJjZVJl
cXVlc3QsIHJlcXVlc3QuaW5pdGlhdGVkQnlNYWluRnJhbWUoKSwgbG9hZFR5cGUsIHRydWUsIGV2
ZW50LCByZXF1ZXN0LnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSwgeyB9IH07CiAgICAg
YWN0aW9uLnNldExvY2tIaXN0b3J5KGxvY2tIaXN0b3J5KTsKKyAgICBhY3Rpb24uc2V0U2hvdWxk
UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKHJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3Vt
ZW50SWZKYXZhU2NyaXB0VVJMKCkpOwogCiAgICAgaWYgKCFmcmFtZU5hbWUuaXNFbXB0eSgpKSB7
CiAgICAgICAgIC8vIFRoZSBzZWFyY2ggZm9yIGEgdGFyZ2V0IGZyYW1lIGlzIGRvbmUgZWFybGll
ciBpbiB0aGUgY2FzZSBvZiBmb3JtIHN1Ym1pc3Npb24uCkBAIC0zNTg1LDYgKzM1NzksNyBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeShjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlcwogICAgIH0KIAogICAgIE5hdmlnYXRpb25BY3Rpb24gbmV3
QWN0aW9uIHsgKmZyYW1lLT5kb2N1bWVudCgpLCByZXF1ZXN0LCBJbml0aWF0ZWRCeU1haW5GcmFt
ZTo6VW5rbm93biwgTmF2aWdhdGlvblR5cGU6Ok90aGVyLCBhY3Rpb24uc2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSgpLCBudWxscHRyLCBhY3Rpb24uZG93bmxvYWRBdHRyaWJ1dGUoKSB9Owor
ICAgIG5ld0FjdGlvbi5zZXRTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoYWN0
aW9uLnNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpKTsKICAgICBtYWluRnJh
bWUtPmxvYWRlcigpLmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBXVEZNb3ZlKG5l
d0FjdGlvbiksIEZyYW1lTG9hZFR5cGU6OlN0YW5kYXJkLCBmb3JtU3RhdGUsIGFsbG93TmF2aWdh
dGlvblRvSW52YWxpZFVSTCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9OYXZpZ2F0aW9uQWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFj
dGlvbi5oCmluZGV4IDE2M2NjN2U4M2NiZDU1OTlmZWE3NTM3MGQ3OTM0Y2MwOWFkZjEzZmMuLmM5
ZTQyY2I0MTRhY2Y2N2IzZDA3NGYxYThjYmQ0YTFiNDZjMzIzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaApAQCAtMTI5LDYgKzEyOSwxMSBAQCBwdWJsaWM6CiAg
ICAgY29uc3Qgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4mIHByaXZhdGVD
bGlja01lYXN1cmVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDsgfTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50KFByaXZhdGVDbGlja01l
YXN1cmVtZW50JiYgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpIHsgbV9wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCA9IHByaXZhdGVDbGlja01lYXN1cmVtZW50OyB9OwogCisgICAgLy8gVGhlIHNob3Vs
ZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBwYXJhbWV0ZXIgd2lsbCBnbyBhd2F5IHdo
ZW4gdGhlIEZJWE1FIHRvIGVsaW1pbmF0ZSB0aGUKKyAgICAvLyBjb3JyZXNwb25kaW5nIHBhcmFt
ZXRlciBmcm9tIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwoKSBpcyBh
ZGRyZXNzZWQuCisgICAgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3Vs
ZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxk
UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMOyB9CisgICAgdm9pZCBzZXRTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCkgeyBtX3Nob3VsZFJl
cGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCA9IHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2
YVNjcmlwdFVSTDsgfQorCiBwcml2YXRlOgogICAgIC8vIERvIG5vdCBhZGQgYSBzdHJvbmcgcmVm
ZXJlbmNlIHRvIHRoZSBvcmlnaW5hdGluZyBkb2N1bWVudCBvciBhIHN1Ym9iamVjdCB0aGF0IGhv
bGRzIHRoZQogICAgIC8vIG9yaWdpbmF0aW5nIGRvY3VtZW50LiBTZWUgY29tbWVudCBhYm92ZSB0
aGUgY2xhc3MgZm9yIG1vcmUgZGV0YWlscy4KQEAgLTE0OSw2ICsxNTQsNyBAQCBwcml2YXRlOgog
ICAgIExvY2tIaXN0b3J5IG1fbG9ja0hpc3RvcnkgeyBMb2NrSGlzdG9yeTo6Tm8gfTsKICAgICBM
b2NrQmFja0ZvcndhcmRMaXN0IG1fbG9ja0JhY2tGb3J3YXJkTGlzdCB7IExvY2tCYWNrRm9yd2Fy
ZExpc3Q6Ok5vIH07CiAgICAgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4g
bV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsKKyAgICBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkph
dmFTY3JpcHRVUkwgbV9zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgeyBSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRl
eCA2ZDc0YzdjZDM5M2RhNWE2ZjQ1ZTBkZDBlNTlhMTU3ZmE2MzM5NWM1Li5jNTU3MDllMjA4NWQ0
ZGJkMTVjNDBiNzkwYzQwNmRlZGViY2EzM2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC0zMTgsNiArMzE4LDcgQEAgcHVibGljOgogICAg
ICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldFJlZmVycmVyUG9saWN5KG1fc3VibWlzc2lvbi0+cmVm
ZXJyZXJQb2xpY3koKSk7CiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0TmV3RnJhbWVPcGVu
ZXJQb2xpY3kobV9zdWJtaXNzaW9uLT5uZXdGcmFtZU9wZW5lclBvbGljeSgpKTsKICAgICAgICAg
ZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9w
ZW5FeHRlcm5hbFVSTHMoKSk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVlc3QuZGlzYWJsZVNob3Vs
ZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpOwogICAgICAgICBtX3N1Ym1pc3Npb24t
PnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVzdChmcmFtZUxvYWRSZXF1ZXN0KTsKICAgICAgICAgZnJh
bWUubG9hZGVyKCkubG9hZEZyYW1lUmVxdWVzdChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpLCBt
X3N1Ym1pc3Npb24tPmV2ZW50KCksIG1fc3VibWlzc2lvbi0+dGFrZVN0YXRlKCkpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5OWQ1YWM4NzNjNzU1NjFmZmNlNGJjOTIwYTYyNDliY2Q1Y2MxMmU1Li44ZTU2OTc5
NGI4NzMyNTQ3MTQ2OWUzYjQxY2EzMTM0YzVmODE0ODYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMjEtMTAtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBK
YXZhc2NyaXB0IFVSTHMgZG8gbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5n
IGZyYW1lIHRhcmdldGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyMzgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLiBJIGhhdmUgdmVyaWZpZWQgdGhhdCB0
aGVzZSB0ZXN0cyBhcmUgcGFzc2luZyBpbiBib3RoCisgICAgICAgIENocm9tZSA5NCBhbmQgRmly
ZWZveCA5NC4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10
YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2Ny
aXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5k
b3cuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5j
aG9yLXRhcmdldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0
LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJh
bWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1u
ZXctd2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWZvcm0tdGFyZ2V0Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTI3ICBBcmNhZHkgR29sZG1p
bnRzLU9ybG92ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBVcGRh
dGUgdGVzdCBleHBlY3RhdGlvbnMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFu
Y2hvci10YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNmQ5YWZiNTYyOWIxYTUzZWIz
NWFlYWZhNTljZTU3MTA1MDA0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0
IGNvbnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBmcmFt
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMg
InRlc3RGcmFtZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVy
bC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNjkwYjk5YzdlNzAxNGQxOTIxY2Y5NzY0MDZlNWVlMGU2MzgxYzgz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11
cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQg
d2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBwb3B1cC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMgInRlc3RQb3B1
cCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3It
dGFyZ2V0LW5ldy13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3Jp
cHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZWMxNDk4
OGJkODhjODA1YTQ1NTgyMDQ4YTcxMDYyMTgwN2Y0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5k
b3cuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4g
dGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRh
cmdldCBwb3B1cC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBkaWRSdW5K
U1VSTEluQ29udGV4dChfY29udGV4dE5hbWUpCit7CisgICAgY29udGV4dE5hbWUgPSBfY29udGV4
dE5hbWU7CisgICAgLy8gU2luY2UgdGhlIGFuY2hvciBoYXMgdGFyZ2V0PSJ0ZXN0UG9wdXAiLCB0
aGUgamF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHBv
cHVwLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRl
eHROYW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQg
PSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGVzdEFuY2hvciIpLmNsaWNrKCk7Cit9OworPC9zY3JpcHQ+Cis8YSBp
ZD0idGVzdEFuY2hvciIgdGFyZ2V0PSJ0ZXN0UG9wdXAiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbmVy
LmRpZFJ1bkpTVVJMSW5Db250ZXh0KHdpbmRvdy5uYW1lKTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUi
PkNsaWNrIG1lPC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYwMzM1OGMwZmVlYzI4NTQ3Mjg2ZDA1MzVhMDlmYmY0MjE3MDZjMjYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFy
Z2V0Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVjdXRlIGlu
IHRoZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGhyZWYgb24gYW4gYW5jaG9yIHdpdGggYSB0
YXJnZXQgZnJhbWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVu
SlNVUkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRl
eHROYW1lOworICAgIC8vIFNpbmNlIHRoZSBhbmNob3IgaGFzIHRhcmdldD0idGVzdEZyYW1lIiwg
dGhlIGphdmFzY3JpcHQgVVJMIHNob3VsZCBleGVjdXRlIGluIHRoZSBjb250ZXh0IG9mIHRoZSB0
ZXN0RnJhbWUsIG5vdCB0aGUgdG9wIGZyYW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Y29udGV4dE5hbWUiLCAidGVzdEZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29u
bG9hZCA9ICgpID0+IHsKKyAgICB3aW5kb3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0QW5jaG9yIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4K
KzxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4KKzxhIGlk
PSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgaHJlZj0iamF2YXNjcmlwdDp0b3AuZGlk
UnVuSlNVUkxJbkNvbnRleHQod2luZG93Lm5hbWUpOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Q2xp
Y2sgbWU8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTRhN2QyYTE4OWU4NjY3OTNhZGI0NWU0NTVkNjJjMDI2OTIzNWU3MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZv
cm0tdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IGphdmFz
Y3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0aW9u
IG9uIGEgZm9ybSB3aXRoIGEgdGFyZ2V0IGZyYW1lLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBjb250ZXh0TmFtZSBpcyAidGVzdEZyYW1lIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3Jt
LXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjUyODMyOTQwNGNl
Y2U2Y2ZjODBhNGEyMzg2NWYxNjhjNDkwMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVj
dXRlIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGFjdGlvbiBvbiBhIGZvcm0gd2l0
aCBhIHRhcmdldCBwb3B1cC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
Y29udGV4dE5hbWUgaXMgInRlc3RQb3B1cCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmM1Zjc4ODk4Y2NhNWRhMDZlNGNlZjY0YTFiZjhjZjUyYzA3ZGE4NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZv
cm0tdGFyZ2V0LW5ldy13aW5kb3cuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3Jp
cHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0aW9uIG9u
IGEgZm9ybSB3aXRoIGEgdGFyZ2V0IHBvcHVwLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisK
K2Z1bmN0aW9uIGRpZFJ1bkpTVVJMSW5Db250ZXh0KF9jb250ZXh0TmFtZSkKK3sKKyAgICBjb250
ZXh0TmFtZSA9IF9jb250ZXh0TmFtZTsKKyAgICAvLyBTaW5jZSB0aGUgZm9ybSBoYXMgdGFyZ2V0
PSJ0ZXN0UG9wdXAiLCB0aGUgamF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNv
bnRleHQgb2YgdGhlIHBvcHVwLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImNvbnRleHROYW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgp
OworfQorCitvbmxvYWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307
Cis8L3NjcmlwdD4KKzxmb3JtIGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RQb3B1cCIgYWN0
aW9uPSJqYXZhc2NyaXB0Om9wZW5lci5kaWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7
Ij4KKzxpbnB1dCBpZD0ic3VibWl0QnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBt
ZSI+PC9pbnB1dD4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjA1OThlOTA5YWY4ZGVjMDdkZWJjN2UyZGQ4OGZjYTNlYmRjMDhhYzkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRh
cmdldC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBp
biB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBhcyBhY3Rpb24gb24gYSBmb3JtIHdpdGggYSB0
YXJnZXQgZnJhbWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVu
SlNVUkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRl
eHROYW1lOworICAgIC8vIFNpbmNlIHRoZSBmb3JtIGhhcyB0YXJnZXQ9InRlc3RGcmFtZSIsIHRo
ZSBqYXZhc2NyaXB0IFVSTCBzaG91bGQgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgdGVz
dEZyYW1lLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNv
bnRleHROYW1lIiwgInRlc3RGcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxv
YWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4K
KzxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4KKzxmb3Jt
IGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgYWN0aW9uPSJqYXZhc2NyaXB0OnRv
cC5kaWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7Ij4KKzxpbnB1dCBpZD0ic3VibWl0
QnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBtZSI+PC9pbnB1dD4KKzwvZm9ybT4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442624</attachid>
            <date>2021-10-27 13:01:10 -0700</date>
            <delta_ts>2021-10-27 13:36:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232382-20211027130109.patch</filename>
            <type>text/plain</type>
            <size>26556</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIxN2JjMjBlOGE1OGE3
NWYzZWRjYjY1NjRjOWI2MmJlYTBjZTA3ZS4uMjQyMjE5YjMwN2RkYjJmYzA1NjJjZThmMGRkOTEw
NDFhYTA2YzQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRv
IG5vdCBydW4gaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjM4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFzY3Jp
cHQgVVJMcyBkaWQgbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5nIGZyYW1l
IHRhcmdldGluZworICAgICAgICAoZS5nLiBgPGEgdGFyZ2V0PSJmb28iIHNyYz0iamF2YXNjcmlw
dDouLi4iPmApLiBXZSB3b3VsZCBwcmV2aW91c2x5IHJ1biB0aGUKKyAgICAgICAgSmF2YVNjcmlw
dCBVUkwgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGFuY2hvciBpbnN0ZWFkIG9mIHRoZSB0YXJnZXQg
ZnJhbWUvd2luZG93LgorCisgICAgICAgIEFsc28sIHdlIHdvdWxkIGZhaWwgdG8gb3BlbiBhIG5l
dyBwb3B1cCB3aGVuIHRoZXJlIGlzIG5vIGV4aXN0aW5nIGZyYW1lIHdpdGgKKyAgICAgICAgdGhl
IGdpdmVuIHRhcmdldCBuYW1lLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGlzc3Vl
IGJ5IGRvaW5nIHRoZSBleGVjdXRlSmF2YVNjcmlwdFVSTCgpIGNhbGwgbGF0ZXIsCisgICAgICAg
IGluc2lkZSBvZiBGcmFtZUxvYWRlcjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKCksIG9uY2Ug
d2UndmUgYWxyZWFkeSByZXNvbHZlZAorICAgICAgICB0aGUgdGFyZ2V0IGZyYW1lIGFuZCBjcmVh
dGVkIGEgbmV3IHdpbmRvdyBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgVGhpcyBhbGlnbnMgb3Vy
IGJlaGF2aW9yIHdpdGggYm90aCBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6
IGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFy
Z2V0LW5ldy13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvamF2YXNjcmlw
dC11cmwtZm9ybS10YXJnZXQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpleGVjdXRl
SmF2YVNjcmlwdFVSTCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2spOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudDo6c3VibWl0KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OnJlcXVlc3RVUkwgY29uc3QpOgorICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6Y2hhbmdlTG9jYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1
Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRVUkwpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSk6
CisgICAgICAgICogbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRpb25BY3Rpb246OnNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNj
aGVkdWxlRm9ybVN1Ym1pc3Npb24pOgorCiAyMDIxLTEwLTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxt
cm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBFbGltaW5hdGUgZHVwbGljYXRlZCBwbGF0
Zm9ybS1zcGVjaWZpYyBjb2RlIGluIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGE0M2FlZTA0
OGY0YmM4NTA0ODY4OWVjZjE3MTA4Y2JkODUxOWI2YmEuLjJlMDc3NWJmZTNkMDcxZjUzNGJlYWQz
NDZlNzlhNTNkZTdjYWRjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENvbnRyb2xsZXIuY3BwCkBAIC04MTYsNiArODE2LDcgQEAgdm9pZCBTY3JpcHRDb250cm9s
bGVyOjpleGVjdXRlSmF2YVNjcmlwdFVSTChjb25zdCBVUkwmIHVybCwgUmVmUHRyPFNlY3VyaXR5
T3JpZ2kKICAgICBpZiAocmVxdWVzdGVyU2VjdXJpdHlPcmlnaW4gJiYgIXJlcXVlc3RlclNlY3Vy
aXR5T3JpZ2luLT5pc1NhbWVPcmlnaW5Eb21haW4obV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gRklYTUU6IGFsbG93SmF2YVNj
cmlwdFVSTHMoKSBzaG91bGQgZmlyZSB0aGUgc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24gYXQgdGhl
IG5hdmlnYXRpb24gY2xpZW50J3MgZ2xvYmFsIG9iamVjdC4gQ3VycmVudGx5LCBpdCBmaXJlcyBp
dCBhdCB0aGUgY3VycmVudCBmcmFtZSdzIGdsb2JhbCBvYmplY3QuCiAgICAgaWYgKCFtX2ZyYW1l
LnBhZ2UoKSB8fCAhbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
YWxsb3dKYXZhU2NyaXB0VVJMcyhtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLnN0cmluZygpLCBl
dmVudEhhbmRsZXJQb3NpdGlvbigpLm1fbGluZSwgdXJsLnN0cmluZygpKSkKICAgICAgICAgcmV0
dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDkz
OGJkM2ViN2NjNjhhMTQzNGI1MzM5ZTBkZjM0NTVhNDEyZjExNTYuLmM5NmUzZjVmY2I2Njk3YTBh
OTZmYTU2OTY5ZGIzMjEwOTQwZGViOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwCkBAIC01MjgsNyArNTI4LDcgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6
aGFuZGxlQ2xpY2soRXZlbnQmIGV2ZW50KQogCiAgICAgYXV0byBlZmZlY3RpdmVUYXJnZXQgPSB0
aGlzLT5lZmZlY3RpdmVUYXJnZXQoKTsKICAgICBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFt
ZU9wZW5lclBvbGljeSA9IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdzsKLSAgICBpZiAoaGFz
UmVsKFJlbGF0aW9uOjpOb09wZW5lcikgfHwgaGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSB8
fCAoIWhhc1JlbChSZWxhdGlvbjo6T3BlbmVyKSAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkuYmxh
bmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FT
Q0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCisgICAgaWYgKGhhc1JlbChSZWxh
dGlvbjo6Tm9PcGVuZXIpIHx8IGhhc1JlbChSZWxhdGlvbjo6Tm9SZWZlcnJlcikgfHwgKCFoYXNS
ZWwoUmVsYXRpb246Ok9wZW5lcikgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLmJsYW5rQW5jaG9y
VGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2Uo
ZWZmZWN0aXZlVGFyZ2V0LCAiX2JsYW5rIikgJiYgIWNvbXBsZXRlZFVSTC5wcm90b2NvbElzSmF2
YVNjcmlwdCgpKSkKICAgICAgICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdGcmFtZU9wZW5l
clBvbGljeTo6U3VwcHJlc3M7CiAKICAgICBhdXRvIHByaXZhdGVDbGlja01lYXN1cmVtZW50ID0g
cGFyc2VQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUVsZW1lbnQuY3BwCmluZGV4IDk3NDM0YTZhODc3NjhjNWM5MDNmYTc0MjY1OGY5ZmExZWQ1YjBm
ZDYuLjNjZDY2NTY1ZTc1NjZkNGNkNjU5Y2VmN2U0NTQ0YzE3NjJiYTkyNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTQyOCw3ICs0MjgsNyBAQCB2b2lkIEhU
TUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1
dHRvbiwgYm9vbCBwcm9jZQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIHJlbEF0dHJpYnV0
ZXMgPSBwYXJzZUZvcm1SZWxBdHRyaWJ1dGVzKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlbEF0
dHIpKTsKLSAgICBpZiAocmVsQXR0cmlidXRlcy5ub29wZW5lciB8fCByZWxBdHRyaWJ1dGVzLm5v
cmVmZXJyZXIgfHwgKCFyZWxBdHRyaWJ1dGVzLm9wZW5lciAmJiBkb2N1bWVudCgpLnNldHRpbmdz
KCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25v
cmluZ0FTQ0lJQ2FzZShmb3JtU3VibWlzc2lvbi0+dGFyZ2V0KCksICJfYmxhbmsiKSkpCisgICAg
aWYgKHJlbEF0dHJpYnV0ZXMubm9vcGVuZXIgfHwgcmVsQXR0cmlidXRlcy5ub3JlZmVycmVyIHx8
ICghcmVsQXR0cmlidXRlcy5vcGVuZXIgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLmJsYW5rQW5j
aG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNh
c2UoZm9ybVN1Ym1pc3Npb24tPnRhcmdldCgpLCAiX2JsYW5rIikgJiYgIWZvcm1TdWJtaXNzaW9u
LT5yZXF1ZXN0VVJMKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkpCiAgICAgICAgIGZvcm1TdWJt
aXNzaW9uLT5zZXROZXdGcmFtZU9wZW5lclBvbGljeShOZXdGcmFtZU9wZW5lclBvbGljeTo6U3Vw
cHJlc3MpOwogICAgIGlmIChyZWxBdHRyaWJ1dGVzLm5vcmVmZXJyZXIpCiAgICAgICAgIGZvcm1T
dWJtaXNzaW9uLT5zZXRSZWZlcnJlclBvbGljeShSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCBhZTkyYWRkODc1
NjA1MWQwNTZhMjMwMmRkY2JjNDg5YjEwZTc0ODQyLi40NjQ5NTdlMzBkMTNhZTBiNjMxMGNlY2Vi
MDFmNWY0NWUyOWQwYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5j
cHAKQEAgLTI0Niw3ICsyNDYsOCBAQCBVUkwgRm9ybVN1Ym1pc3Npb246OnJlcXVlc3RVUkwoKSBj
b25zdAogICAgICAgICByZXR1cm4gbV9hY3Rpb247CiAKICAgICBVUkwgcmVxdWVzdFVSTChtX2Fj
dGlvbik7Ci0gICAgcmVxdWVzdFVSTC5zZXRRdWVyeShtX2Zvcm1EYXRhLT5mbGF0dGVuVG9TdHJp
bmcoKSk7CisgICAgaWYgKCFyZXF1ZXN0VVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCkpCisgICAg
ICAgIHJlcXVlc3RVUkwuc2V0UXVlcnkobV9mb3JtRGF0YS0+ZmxhdHRlblRvU3RyaW5nKCkpOwog
ICAgIHJldHVybiByZXF1ZXN0VVJMOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAppbmRleCBlNWE2Y2MzMDFhOTljZDkwNDBiMDNhYjM3YTU1Yzk2MmIwOTY4NGNkLi4wODA1
NzY2MjkxYjIwNmE4YjlhYWI0NjhlZmUwN2E3MDIxYzYzNDNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKQEAgLTQ0NiwxMiArNDQ2LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
Y2hhbmdlTG9jYXRpb24oRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lUmVxdWVzdCwgRXZlbnQqIHRy
aWdnZXIKIAogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIAotICAgIGlmIChmcmFt
ZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkg
ewotICAgICAgICBtX2ZyYW1lLnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKGZyYW1lUmVx
dWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKSwgJmZyYW1lUmVxdWVzdC5yZXF1ZXN0ZXIoKS5z
ZWN1cml0eU9yaWdpbigpLCBmcmFtZVJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMKCkpOwotICAgICAgICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGlmIChmcmFtZVJlcXVlc3QuZnJhbWVOYW1lKCku
aXNFbXB0eSgpKQogICAgICAgICBmcmFtZVJlcXVlc3Quc2V0RnJhbWVOYW1lKG1fZnJhbWUuZG9j
dW1lbnQoKS0+YmFzZVRhcmdldCgpKTsKIApAQCAtNDgzLDE0ICs0NzcsNiBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpzdWJtaXRGb3JtKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9uKQogICAg
IGlmICghbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dG
b3JtQWN0aW9uKGZvcm1BY3Rpb24pKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZm9ybUFj
dGlvbi5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSB7Ci0gICAgICAgIG1faXNFeGVjdXRpbmdKYXZh
U2NyaXB0Rm9ybUFjdGlvbiA9IHRydWU7Ci0gICAgICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2Zy
YW1lKTsKLSAgICAgICAgbV9mcmFtZS5zY3JpcHQoKS5leGVjdXRlSmF2YVNjcmlwdFVSTChzdWJt
aXNzaW9uLT5hY3Rpb24oKSwgbnVsbHB0ciwgRG9Ob3RSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3Jp
cHRVUkwpOwotICAgICAgICBtX2lzRXhlY3V0aW5nSmF2YVNjcmlwdEZvcm1BY3Rpb24gPSBmYWxz
ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IGZp
bmRGcmFtZUZvck5hdmlnYXRpb24oc3VibWlzc2lvbi0+dGFyZ2V0KCksICZzdWJtaXNzaW9uLT5z
dGF0ZSgpLnNvdXJjZURvY3VtZW50KCkpOwogICAgIGlmICghdGFyZ2V0RnJhbWUpIHsKICAgICAg
ICAgaWYgKCFET01XaW5kb3c6OmFsbG93UG9wVXAobV9mcmFtZSkgJiYgIVVzZXJHZXN0dXJlSW5k
aWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKQEAgLTEzNjYsNiArMTM1Miw3IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OmxvYWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lTG9hZFJlcXVl
c3QsIGNvbnN0IFN0cmluZyYgcmVmCiAgICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyBmcmFt
ZUxvYWRSZXF1ZXN0LnJlcXVlc3RlcigpLCByZXF1ZXN0LCBmcmFtZUxvYWRSZXF1ZXN0LmluaXRp
YXRlZEJ5TWFpbkZyYW1lKCksIG5ld0xvYWRUeXBlLCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCwg
ZnJhbWVMb2FkUmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIGZyYW1lTG9h
ZFJlcXVlc3QuZG93bmxvYWRBdHRyaWJ1dGUoKSB9OwogICAgIGFjdGlvbi5zZXRMb2NrSGlzdG9y
eShmcmFtZUxvYWRSZXF1ZXN0LmxvY2tIaXN0b3J5KCkpOwogICAgIGFjdGlvbi5zZXRMb2NrQmFj
a0ZvcndhcmRMaXN0KGZyYW1lTG9hZFJlcXVlc3QubG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAg
ICBhY3Rpb24uc2V0U2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKGZyYW1lTG9h
ZFJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOwogICAgIGlm
IChwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCAmJiBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpCiAgICAg
ICAgIGFjdGlvbi5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKCpwcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCkpOwogCkBAIC0xNDk2LDYgKzE0ODMsMTIgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgTmF2aWcKIHsKICAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPRyhSZXNvdXJjZUxvYWRpbmcs
ICJsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb246IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCisgICAg
aWYgKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkgeworICAgICAgICBtX2Zy
YW1lLnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKHJlcXVlc3QudXJsKCksIGFjdGlvbi5y
ZXF1ZXN0ZXIoKSA/IGFjdGlvbi5yZXF1ZXN0ZXIoKS0+c2VjdXJpdHlPcmlnaW4ucHRyKCkgOiBu
dWxscHRyLCBhY3Rpb24uc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOwor
ICAgICAgICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKCk7CisgICAgfQorCiAgICAgUmVmPERvY3VtZW50TG9hZGVyPiBsb2Fk
ZXIgPSBtX2NsaWVudC0+Y3JlYXRlRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGVmYXVsdFN1YnN0
aXR1dGVEYXRhRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKICAgICBhcHBseVNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3lUb05ld0RvY3VtZW50TG9hZGVyKG1fZnJhbWUsIGxvYWRlciwgYWN0aW9u
LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGFjdGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KCkpOwogCkBAIC0zMDcyLDYgKzMwNjUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkUG9z
dFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgcmVmZQog
CiAgICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyByZXF1ZXN0LnJlcXVlc3RlcigpLCB3b3Jr
aW5nUmVzb3VyY2VSZXF1ZXN0LCByZXF1ZXN0LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGxvYWRU
eXBlLCB0cnVlLCBldmVudCwgcmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCks
IHsgfSB9OwogICAgIGFjdGlvbi5zZXRMb2NrSGlzdG9yeShsb2NrSGlzdG9yeSk7CisgICAgYWN0
aW9uLnNldFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTChyZXF1ZXN0LnNob3Vs
ZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpKTsKIAogICAgIGlmICghZnJhbWVOYW1l
LmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUaGUgc2VhcmNoIGZvciBhIHRhcmdldCBmcmFtZSBp
cyBkb25lIGVhcmxpZXIgaW4gdGhlIGNhc2Ugb2YgZm9ybSBzdWJtaXNzaW9uLgpAQCAtMzU4NSw2
ICszNTc5LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOZXdXaW5kb3dQ
b2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXMKICAgICB9CiAKICAgICBOYXZpZ2F0
aW9uQWN0aW9uIG5ld0FjdGlvbiB7ICpmcmFtZS0+ZG9jdW1lbnQoKSwgcmVxdWVzdCwgSW5pdGlh
dGVkQnlNYWluRnJhbWU6OlVua25vd24sIE5hdmlnYXRpb25UeXBlOjpPdGhlciwgYWN0aW9uLnNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSwgbnVsbHB0ciwgYWN0aW9uLmRvd25sb2FkQXR0
cmlidXRlKCkgfTsKKyAgICBuZXdBY3Rpb24uc2V0U2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMKGFjdGlvbi5zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7
CiAgICAgbWFpbkZyYW1lLT5sb2FkZXIoKS5sb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVz
dCwgV1RGTW92ZShuZXdBY3Rpb24pLCBGcmFtZUxvYWRUeXBlOjpTdGFuZGFyZCwgZm9ybVN0YXRl
LCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25BY3Rpb24uaAppbmRleCAxNjNjYzdlODNjYmQ1NTk5ZmVhNzUzNzBkNzkzNGNj
MDlhZGYxM2ZjLi5jOWU0MmNiNDE0YWNmNjdiM2QwNzRmMWE4Y2JkNGExYjQ2YzMyMzBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKQEAgLTEyOSw2ICsxMjksMTEg
QEAgcHVibGljOgogICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQ+JiBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ7IH07CiAgICAgdm9pZCBzZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmIHByaXZhdGVDbGlja01lYXN1cmVtZW50KSB7IG1fcHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsgfTsKIAorICAg
IC8vIFRoZSBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgcGFyYW1ldGVyIHdp
bGwgZ28gYXdheSB3aGVuIHRoZSBGSVhNRSB0byBlbGltaW5hdGUgdGhlCisgICAgLy8gY29ycmVz
cG9uZGluZyBwYXJhbWV0ZXIgZnJvbSBTY3JpcHRDb250cm9sbGVyOjpleGVjdXRlSWZKYXZhU2Ny
aXB0VVJMKCkgaXMgYWRkcmVzc2VkLgorICAgIFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNj
cmlwdFVSTCBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSBjb25zdCB7IHJl
dHVybiBtX3Nob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTDsgfQorICAgIHZvaWQg
c2V0U2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKFNob3VsZFJlcGxhY2VEb2N1
bWVudElmSmF2YVNjcmlwdFVSTCBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwp
IHsgbV9zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgPSBzaG91bGRSZXBsYWNl
RG9jdW1lbnRJZkphdmFTY3JpcHRVUkw7IH0KKwogcHJpdmF0ZToKICAgICAvLyBEbyBub3QgYWRk
IGEgc3Ryb25nIHJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYXRpbmcgZG9jdW1lbnQgb3IgYSBzdWJv
YmplY3QgdGhhdCBob2xkcyB0aGUKICAgICAvLyBvcmlnaW5hdGluZyBkb2N1bWVudC4gU2VlIGNv
bW1lbnQgYWJvdmUgdGhlIGNsYXNzIGZvciBtb3JlIGRldGFpbHMuCkBAIC0xNDksNiArMTU0LDcg
QEAgcHJpdmF0ZToKICAgICBMb2NrSGlzdG9yeSBtX2xvY2tIaXN0b3J5IHsgTG9ja0hpc3Rvcnk6
Ok5vIH07CiAgICAgTG9ja0JhY2tGb3J3YXJkTGlzdCBtX2xvY2tCYWNrRm9yd2FyZExpc3QgeyBM
b2NrQmFja0ZvcndhcmRMaXN0OjpObyB9OwogICAgIHN0ZDo6b3B0aW9uYWw8UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQ+IG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CisgICAgU2hvdWxkUmVwbGFj
ZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIG1fc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMIHsgUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAKaW5kZXggNmQ3NGM3Y2QzOTNkYTVhNmY0NWUwZGQwZTU5YTE1N2ZhNjMzOTVjNS4u
ODVhODNlNWVlMGQ5NzM0NzU3OWUxZWI4MjhjOGUxMTVjNjQzODgxOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtMzE4LDYgKzMxOCw3IEBA
IHB1YmxpYzoKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRSZWZlcnJlclBvbGljeShtX3N1
Ym1pc3Npb24tPnJlZmVycmVyUG9saWN5KCkpOwogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNl
dE5ld0ZyYW1lT3BlbmVyUG9saWN5KG1fc3VibWlzc2lvbi0+bmV3RnJhbWVPcGVuZXJQb2xpY3ko
KSk7CiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0U2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeShzaG91bGRPcGVuRXh0ZXJuYWxVUkxzKCkpOworICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0
LmRpc2FibGVTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKTsKICAgICAgICAg
bV9zdWJtaXNzaW9uLT5wb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCk7
CiAgICAgICAgIGZyYW1lLmxvYWRlcigpLmxvYWRGcmFtZVJlcXVlc3QoV1RGTW92ZShmcmFtZUxv
YWRSZXF1ZXN0KSwgbV9zdWJtaXNzaW9uLT5ldmVudCgpLCBtX3N1Ym1pc3Npb24tPnRha2VTdGF0
ZSgpKTsKICAgICB9CkBAIC01MDUsOCArNTA2LDE4IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxl
cjo6c2NoZWR1bGVGb3JtU3VibWlzc2lvbihSZWY8Rm9ybVN1Ym1pc3Npb24+JiYgc3VibWlzc2lv
CiAgICAgICAgICYmIChzdWJtaXNzaW9uLT5zdGF0ZSgpLmZvcm1TdWJtaXNzaW9uVHJpZ2dlcigp
ID09IFN1Ym1pdHRlZEJ5SmF2YVNjcmlwdCAmJiBtX2ZyYW1lLnRyZWUoKS5wYXJlbnQoKSAmJiAh
VXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSkgewogICAgICAg
ICBsb2NrQmFja0ZvcndhcmRMaXN0ID0gTG9ja0JhY2tGb3J3YXJkTGlzdDo6WWVzOwogICAgIH0K
KworICAgIGJvb2wgaXNKYXZhU2NyaXB0VVJMID0gc3VibWlzc2lvbi0+cmVxdWVzdFVSTCgpLnBy
b3RvY29sSXNKYXZhU2NyaXB0KCk7CisKKyAgICBhdXRvIHNjaGVkdWxlZEZvcm1TdWJtaXNzaW9u
ID0gbWFrZVVuaXF1ZTxTY2hlZHVsZWRGb3JtU3VibWlzc2lvbj4oV1RGTW92ZShzdWJtaXNzaW9u
KSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgZHVyaW5nTG9hZCk7CisKKyAgICAvLyBGSVhNRTogV2Ug
Y3VycmVudGx5IHJ1biBKYXZhU2NyaXB0IFVSTHMgc3luY2hyb25vdXNseSBldmVuIHRob3VnaCB0
aGlzIGRvZXNuJ3QgYXBwZWFyIHRvIG1hdGNoIHRoZSBzcGVjaWZpY2F0aW9uLgorICAgIGlmIChp
c0phdmFTY3JpcHRVUkwpIHsKKyAgICAgICAgc2NoZWR1bGVkRm9ybVN1Ym1pc3Npb24tPmZpcmUo
bV9mcmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgCi0gICAgc2NoZWR1bGUobWFr
ZVVuaXF1ZTxTY2hlZHVsZWRGb3JtU3VibWlzc2lvbj4oV1RGTW92ZShzdWJtaXNzaW9uKSwgbG9j
a0JhY2tGb3J3YXJkTGlzdCwgZHVyaW5nTG9hZCkpOworICAgIHNjaGVkdWxlKFdURk1vdmUoc2No
ZWR1bGVkRm9ybVN1Ym1pc3Npb24pKTsKIH0KIAogdm9pZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpz
Y2hlZHVsZVJlZnJlc2goRG9jdW1lbnQmIGluaXRpYXRpbmdEb2N1bWVudCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMWMy
N2RjMmJkNjJlZTFlZjA5YWQ2NGM3ZDBkNmVlMTk1OWJmZjhlLi4zMDJlZTU4MWU1NDY4N2EyOGQ5
YjcxMGFmMTg1MmMzMjVjNWE0NDUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTAtMjcg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBKYXZhc2NyaXB0IFVS
THMgZG8gbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5nIGZyYW1lIHRhcmdl
dGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMy
MzgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGxheW91dCB0ZXN0IGNvdmVyYWdlLiBJIGhhdmUgdmVyaWZpZWQgdGhhdCB0aGVzZSB0ZXN0cyBh
cmUgcGFzc2luZyBpbiBib3RoCisgICAgICAgIENocm9tZSA5NCBhbmQgRmlyZWZveCA5NC4KKwor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNo
b3ItdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3cuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRh
cmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3Jp
cHQtdXJsLWZvcm0tdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFy
Z2V0Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNYXJrIHNvbWUgV1BUIHRyYW5zZm9ybXMgdGVzdHMg
YXMgcGFzc2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNTE3NTU3MmJkZDYy
MmJiZjhhMDdkMWJjOTkxNzUwM2Q1Mjc5NTc1Ny4uZjVkNTMyNGVhYTBiMDdhMWFlNTEyZDA4NTlm
ZjRiOWU2N2NkNjNkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjMgQEAKKzIwMjEtMTAtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBKYXZhc2NyaXB0IFVSTHMgZG8gbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVu
IHVzaW5nIGZyYW1lIHRhcmdldGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMyMzgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xp
Y3kvdW5zYWZlLWhhc2hlcy9qYXZhc2NyaXB0X3NyY19kZW5pZWRfd3JvbmdfaGFzaC1ocmVmX2Js
YW5rLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhpcyB0ZXN0IGlzIHVzaW5nIGEgSmF2YVNjcmlw
dCBVUkwgb24gYW4gYW5jaG9yIHdpdGggdGFyZ2V0PSJfYmxhbmsiLCB3aGljaCBub3cgY2F1c2Vz
IHRoZSBqYXZhc2NyaXB0IHRvIHJ1biBpbiBhCisgICAgICAgIG5ldyBwb3B1cCB3aW5kb3cgKGlu
c3RlYWQgb2YgcHJldmlvdXNseSB0aGUgYW5jaG9yJ3Mgd2luZG93LiBJIGhhdmUgdmVyaWZpZWQg
dGhhdCBDU1AgZG9lcyBibG9jayB0aGUgSmF2YVNjcmlwdCBmcm9tCisgICAgICAgIHJ1bm5pbmcu
IEhvd2V2ZXIsIHRoZSB0ZXN0IGlzIHRpbWluZyBvdXQgYmVjYXVzZSB0aGUgYW5jaG9yJ3Mgd2lu
ZG93IGlzIG5vdCBnZXR0aW5nIHRoZSAnc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24nCisgICAgICAg
IGV2ZW50LiBUaGlzIGlzIGR1ZSB0byBhIGJ1ZyBpbiBvdXIgaW1wbGVtZW50YXRpb24gd2hlcmUg
d2UgZmlyZSB0aGUgJ3NlY3VyaXR5cG9saWN5dmlvbGF0aW9uJyBldmVudCBhdCB0aGUgd2luZG93
CisgICAgICAgIG9mIHRoZSBmcmFtZSB3aGVyZSB3ZSB0cnkgdG8gZXhlY3V0ZSB0aGUgSlMgVVJM
IChzbyB0aGUgcG9wdXAgd2luZG93IGluIHRoZSBjb250ZXh0IG9mIHRoZSB0ZXN0KSBpbnN0ZWFk
IG9mIHRoZQorICAgICAgICBuYXZpZ2F0aW9uIGNsaWVudCdzIHdpbmRvdyAocGVyIHRoZSBzcGVj
aWZpY2F0aW9uKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGluZy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IGlzIG5vIGxvbmdlciB0aW1pbmcgb3V0IG5vdyB0aGF0
IHdlIHJ1biB0aGUgamF2YXNjcmlwdCBVUkwgY29udGFpbmVkIGluIHRoZSA8Zm9ybT4ncyBhY3Rp
b24gaW4gdGhlIGNvbnRleHQKKyAgICAgICAgb2YgdGhlICJ0ZXN0IiBpZnJhbWUgaW5zdGVhZCBv
ZiB0aGUgdG9wIGZyYW1lLiBIb3dldmVyLCB0aGUgdGVzdCBpcyBzdGlsbCBmYWlsaW5nLCBwb3Nz
aWJseSBiZWNhdXNlIHRoZSBKYXZhU2NyaXB0CisgICAgICAgIFVSTCBpcyBydW4gc3luY2hyb25v
dXNseS4KKwogMjAyMS0xMC0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIENoYW5naW5nIHRoZSBzcmMgYXR0cmlidXRlIG9mIHRoZSA8aW1nPiBlbGVtZW50IGlu
c2lkZSBhbiBJbWFnZURvY3VtZW50IGRvZXMgbm90IHRyaWdnZXIgYSBsb2FkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hv
ci10YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNmQ5YWZiNTYyOWIxYTUzZWIzNWFl
YWZhNTljZTU3MTA1MDA0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNv
bnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBmcmFtZS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMgInRl
c3RGcmFtZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1h
bmNob3ItdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNjkwYjk5YzdlNzAxNGQxOTIxY2Y5NzY0MDZlNWVlMGU2MzgxYzgzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwt
YW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitU
ZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hl
biBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBwb3B1cC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMgInRlc3RQb3B1cCIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFy
Z2V0LW5ldy13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZWMxNDk4OGJk
ODhjODA1YTQ1NTgyMDQ4YTcxMDYyMTgwN2Y0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3cu
aHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhl
IHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdl
dCBwb3B1cC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBkaWRSdW5KU1VS
TEluQ29udGV4dChfY29udGV4dE5hbWUpCit7CisgICAgY29udGV4dE5hbWUgPSBfY29udGV4dE5h
bWU7CisgICAgLy8gU2luY2UgdGhlIGFuY2hvciBoYXMgdGFyZ2V0PSJ0ZXN0UG9wdXAiLCB0aGUg
amF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHBvcHVw
LCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHRO
YW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQgPSAo
KSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdEFuY2hvciIpLmNsaWNrKCk7Cit9OworPC9zY3JpcHQ+Cis8YSBpZD0i
dGVzdEFuY2hvciIgdGFyZ2V0PSJ0ZXN0UG9wdXAiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbmVyLmRp
ZFJ1bkpTVVJMSW5Db250ZXh0KHdpbmRvdy5uYW1lKTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkNs
aWNrIG1lPC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmYwMzM1OGMwZmVlYzI4NTQ3Mjg2ZDA1MzVhMDlmYmY0MjE3MDZjMjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVjdXRlIGluIHRo
ZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGhyZWYgb24gYW4gYW5jaG9yIHdpdGggYSB0YXJn
ZXQgZnJhbWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVuSlNV
UkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRleHRO
YW1lOworICAgIC8vIFNpbmNlIHRoZSBhbmNob3IgaGFzIHRhcmdldD0idGVzdEZyYW1lIiwgdGhl
IGphdmFzY3JpcHQgVVJMIHNob3VsZCBleGVjdXRlIGluIHRoZSBjb250ZXh0IG9mIHRoZSB0ZXN0
RnJhbWUsIG5vdCB0aGUgdG9wIGZyYW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29u
dGV4dE5hbWUiLCAidGVzdEZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29ubG9h
ZCA9ICgpID0+IHsKKyAgICB3aW5kb3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0QW5jaG9yIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4KKzxp
ZnJhbWUgaWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4KKzxhIGlkPSJ0
ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgaHJlZj0iamF2YXNjcmlwdDp0b3AuZGlkUnVu
SlNVUkxJbkNvbnRleHQod2luZG93Lm5hbWUpOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Q2xpY2sg
bWU8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTRhN2QyYTE4OWU4NjY3OTNhZGI0NWU0NTVkNjJjMDI2OTIzNWU3MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0t
dGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IGphdmFzY3Jp
cHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0aW9uIG9u
IGEgZm9ybSB3aXRoIGEgdGFyZ2V0IGZyYW1lLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBjb250ZXh0TmFtZSBpcyAidGVzdEZyYW1lIgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRh
cmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjUyODMyOTQwNGNlY2U2
Y2ZjODBhNGEyMzg2NWYxNjhjNDkwMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVjdXRl
IGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGFjdGlvbiBvbiBhIGZvcm0gd2l0aCBh
IHRhcmdldCBwb3B1cC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29u
dGV4dE5hbWUgaXMgInRlc3RQb3B1cCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9q
YXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmM1Zjc4ODk4Y2NhNWRhMDZlNGNlZjY0YTFiZjhjZjUyYzA3ZGE4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0t
dGFyZ2V0LW5ldy13aW5kb3cuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3JpcHQg
VVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0aW9uIG9uIGEg
Zm9ybSB3aXRoIGEgdGFyZ2V0IHBvcHVwLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1
bmN0aW9uIGRpZFJ1bkpTVVJMSW5Db250ZXh0KF9jb250ZXh0TmFtZSkKK3sKKyAgICBjb250ZXh0
TmFtZSA9IF9jb250ZXh0TmFtZTsKKyAgICAvLyBTaW5jZSB0aGUgZm9ybSBoYXMgdGFyZ2V0PSJ0
ZXN0UG9wdXAiLCB0aGUgamF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRl
eHQgb2YgdGhlIHBvcHVwLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImNvbnRleHROYW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgpOwor
fQorCitvbmxvYWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307Cis8
L3NjcmlwdD4KKzxmb3JtIGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RQb3B1cCIgYWN0aW9u
PSJqYXZhc2NyaXB0Om9wZW5lci5kaWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7Ij4K
KzxpbnB1dCBpZD0ic3VibWl0QnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBtZSI+
PC9pbnB1dD4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA1OThlOTA5YWY4ZGVjMDdkZWJjN2UyZGQ4OGZjYTNlYmRjMDhhYzkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdl
dC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBpbiB0
aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBhcyBhY3Rpb24gb24gYSBmb3JtIHdpdGggYSB0YXJn
ZXQgZnJhbWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVuSlNV
UkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRleHRO
YW1lOworICAgIC8vIFNpbmNlIHRoZSBmb3JtIGhhcyB0YXJnZXQ9InRlc3RGcmFtZSIsIHRoZSBq
YXZhc2NyaXB0IFVSTCBzaG91bGQgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgdGVzdEZy
YW1lLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRl
eHROYW1lIiwgInRlc3RGcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQg
PSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4KKzxp
ZnJhbWUgaWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4KKzxmb3JtIGlk
PSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgYWN0aW9uPSJqYXZhc2NyaXB0OnRvcC5k
aWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7Ij4KKzxpbnB1dCBpZD0ic3VibWl0QnV0
dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBtZSI+PC9pbnB1dD4KKzwvZm9ybT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvdW5zYWZlLWhhc2hlcy9qYXZh
c2NyaXB0X3NyY19kZW5pZWRfd3JvbmdfaGFzaC1ocmVmX2JsYW5rLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0
eS1wb2xpY3kvdW5zYWZlLWhhc2hlcy9qYXZhc2NyaXB0X3NyY19kZW5pZWRfd3JvbmdfaGFzaC1o
cmVmX2JsYW5rLWV4cGVjdGVkLnR4dAppbmRleCA4NTM3YjUyNjAzNDViZTJkNTRlNWQ2ZGUyZWM3
ZmZiZWI2MDA0MzhkLi5mNGFhOGIwZjlmNmJiNDVkZTExYjliNDYzNWQ1MmQzOTg2MDRiZTA5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnRlbnQtc2VjdXJpdHktcG9saWN5L3Vuc2FmZS1oYXNoZXMvamF2YXNjcmlwdF9zcmNfZGVuaWVk
X3dyb25nX2hhc2gtaHJlZl9ibGFuay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS91bnNh
ZmUtaGFzaGVzL2phdmFzY3JpcHRfc3JjX2RlbmllZF93cm9uZ19oYXNoLWhyZWZfYmxhbmstZXhw
ZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCB0aGUgamF2YXNjcmlw
dDogc3JjIGlzIG5vdCBhbGxvd2VkIHRvIHJ1bgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCisKK05PVFJVTiBUZXN0IHRoYXQgdGhlIGphdmFzY3JpcHQ6IHNyYyBpcyBu
b3QgYWxsb3dlZCB0byBydW4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdh
dGluZy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3NpbmctdGhlLXdl
Yi9uYXZpZ2F0aW5nLWFjcm9zcy1kb2N1bWVudHMvMDEwLWV4cGVjdGVkLnR4dAppbmRleCAwMGM3
NDkxM2JjNDE0YzZhN2M2ZmJkNWUyYWU4YTllYjg4N2RiOGM3Li41NTVmYTg1NDVhNDliOGM0YWUw
YWZmMTdhZjljZTdiNDg5ZTFjNzk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3NpbmctdGhlLXdlYi9uYXZp
Z2F0aW5nLWFjcm9zcy1kb2N1bWVudHMvMDEwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3Npbmct
dGhlLXdlYi9uYXZpZ2F0aW5nLWFjcm9zcy1kb2N1bWVudHMvMDEwLWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDQgQEAKIAotSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCi0K
LVRJTUVPVVQgTGluayB3aXRoIG9uY2xpY2sgZm9ybSBzdWJtaXQgdG8gamF2YXNjcmlwdCB1cmwg
d2l0aCBkZWxheWVkIGRvY3VtZW50LndyaXRlIGFuZCBocmVmIG5hdmlnYXRpb24gIFRlc3QgdGlt
ZWQgb3V0CitGQUlMIExpbmsgd2l0aCBvbmNsaWNrIGZvcm0gc3VibWl0IHRvIGphdmFzY3JpcHQg
dXJsIHdpdGggZGVsYXllZCBkb2N1bWVudC53cml0ZSBhbmQgaHJlZiBuYXZpZ2F0aW9uICBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiaHJlZiIgYnV0IGdvdCAid3JpdGUiCiAKK1Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442627</attachid>
            <date>2021-10-27 13:36:10 -0700</date>
            <delta_ts>2021-10-27 15:42:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232382-20211027133609.patch</filename>
            <type>text/plain</type>
            <size>24436</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIxN2JjMjBlOGE1OGE3
NWYzZWRjYjY1NjRjOWI2MmJlYTBjZTA3ZS4uMjQyMjE5YjMwN2RkYjJmYzA1NjJjZThmMGRkOTEw
NDFhYTA2YzQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRv
IG5vdCBydW4gaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjM4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFzY3Jp
cHQgVVJMcyBkaWQgbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5nIGZyYW1l
IHRhcmdldGluZworICAgICAgICAoZS5nLiBgPGEgdGFyZ2V0PSJmb28iIHNyYz0iamF2YXNjcmlw
dDouLi4iPmApLiBXZSB3b3VsZCBwcmV2aW91c2x5IHJ1biB0aGUKKyAgICAgICAgSmF2YVNjcmlw
dCBVUkwgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGFuY2hvciBpbnN0ZWFkIG9mIHRoZSB0YXJnZXQg
ZnJhbWUvd2luZG93LgorCisgICAgICAgIEFsc28sIHdlIHdvdWxkIGZhaWwgdG8gb3BlbiBhIG5l
dyBwb3B1cCB3aGVuIHRoZXJlIGlzIG5vIGV4aXN0aW5nIGZyYW1lIHdpdGgKKyAgICAgICAgdGhl
IGdpdmVuIHRhcmdldCBuYW1lLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGlzc3Vl
IGJ5IGRvaW5nIHRoZSBleGVjdXRlSmF2YVNjcmlwdFVSTCgpIGNhbGwgbGF0ZXIsCisgICAgICAg
IGluc2lkZSBvZiBGcmFtZUxvYWRlcjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKCksIG9uY2Ug
d2UndmUgYWxyZWFkeSByZXNvbHZlZAorICAgICAgICB0aGUgdGFyZ2V0IGZyYW1lIGFuZCBjcmVh
dGVkIGEgbmV3IHdpbmRvdyBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgVGhpcyBhbGlnbnMgb3Vy
IGJlaGF2aW9yIHdpdGggYm90aCBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6
IGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFy
Z2V0LW5ldy13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvamF2YXNjcmlw
dC11cmwtZm9ybS10YXJnZXQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpleGVjdXRl
SmF2YVNjcmlwdFVSTCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2spOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudDo6c3VibWl0KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OnJlcXVlc3RVUkwgY29uc3QpOgorICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6Y2hhbmdlTG9jYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1
Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRVUkwpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSk6
CisgICAgICAgICogbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRpb25BY3Rpb246OnNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNj
aGVkdWxlRm9ybVN1Ym1pc3Npb24pOgorCiAyMDIxLTEwLTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxt
cm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBFbGltaW5hdGUgZHVwbGljYXRlZCBwbGF0
Zm9ybS1zcGVjaWZpYyBjb2RlIGluIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDkzOGJkM2ViN2NjNjhhMTQzNGI1
MzM5ZTBkZjM0NTVhNDEyZjExNTYuLmM5NmUzZjVmY2I2Njk3YTBhOTZmYTU2OTY5ZGIzMjEwOTQw
ZGViOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCkBAIC01
MjgsNyArNTI4LDcgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2soRXZlbnQm
IGV2ZW50KQogCiAgICAgYXV0byBlZmZlY3RpdmVUYXJnZXQgPSB0aGlzLT5lZmZlY3RpdmVUYXJn
ZXQoKTsKICAgICBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSA9IE5l
d0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdzsKLSAgICBpZiAoaGFzUmVsKFJlbGF0aW9uOjpOb09w
ZW5lcikgfHwgaGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSB8fCAoIWhhc1JlbChSZWxhdGlv
bjo6T3BlbmVyKSAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkuYmxhbmtBbmNob3JUYXJnZXRJbXBs
aWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVU
YXJnZXQsICJfYmxhbmsiKSkpCisgICAgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8
IGhhc1JlbChSZWxhdGlvbjo6Tm9SZWZlcnJlcikgfHwgKCFoYXNSZWwoUmVsYXRpb246Ok9wZW5l
cikgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3Bl
bmVyRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoZWZmZWN0aXZlVGFyZ2V0LCAi
X2JsYW5rIikgJiYgIWNvbXBsZXRlZFVSTC5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSkKICAgICAg
ICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3M7
CiAKICAgICBhdXRvIHByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gcGFyc2VQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCmluZGV4
IDk3NDM0YTZhODc3NjhjNWM5MDNmYTc0MjY1OGY5ZmExZWQ1YjBmZDYuLjNjZDY2NTY1ZTc1NjZk
NGNkNjU5Y2VmN2U0NTQ0YzE3NjJiYTkyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5jcHAKQEAgLTQyOCw3ICs0MjgsNyBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3Vi
bWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQog
ICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIHJlbEF0dHJpYnV0ZXMgPSBwYXJzZUZvcm1SZWxB
dHRyaWJ1dGVzKGdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlbEF0dHIpKTsKLSAgICBpZiAocmVs
QXR0cmlidXRlcy5ub29wZW5lciB8fCByZWxBdHRyaWJ1dGVzLm5vcmVmZXJyZXIgfHwgKCFyZWxB
dHRyaWJ1dGVzLm9wZW5lciAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkuYmxhbmtBbmNob3JUYXJn
ZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShmb3Jt
U3VibWlzc2lvbi0+dGFyZ2V0KCksICJfYmxhbmsiKSkpCisgICAgaWYgKHJlbEF0dHJpYnV0ZXMu
bm9vcGVuZXIgfHwgcmVsQXR0cmlidXRlcy5ub3JlZmVycmVyIHx8ICghcmVsQXR0cmlidXRlcy5v
cGVuZXIgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05v
T3BlbmVyRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoZm9ybVN1Ym1pc3Npb24t
PnRhcmdldCgpLCAiX2JsYW5rIikgJiYgIWZvcm1TdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCkucHJv
dG9jb2xJc0phdmFTY3JpcHQoKSkpCiAgICAgICAgIGZvcm1TdWJtaXNzaW9uLT5zZXROZXdGcmFt
ZU9wZW5lclBvbGljeShOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3MpOwogICAgIGlmIChy
ZWxBdHRyaWJ1dGVzLm5vcmVmZXJyZXIpCiAgICAgICAgIGZvcm1TdWJtaXNzaW9uLT5zZXRSZWZl
cnJlclBvbGljeShSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCBhZTkyYWRkODc1NjA1MWQwNTZhMjMwMmRkY2Jj
NDg5YjEwZTc0ODQyLi40NjQ5NTdlMzBkMTNhZTBiNjMxMGNlY2ViMDFmNWY0NWUyOWQwYmFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAgLTI0Niw3ICsyNDYs
OCBAQCBVUkwgRm9ybVN1Ym1pc3Npb246OnJlcXVlc3RVUkwoKSBjb25zdAogICAgICAgICByZXR1
cm4gbV9hY3Rpb247CiAKICAgICBVUkwgcmVxdWVzdFVSTChtX2FjdGlvbik7Ci0gICAgcmVxdWVz
dFVSTC5zZXRRdWVyeShtX2Zvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKSk7CisgICAgaWYgKCFy
ZXF1ZXN0VVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCkpCisgICAgICAgIHJlcXVlc3RVUkwuc2V0
UXVlcnkobV9mb3JtRGF0YS0+ZmxhdHRlblRvU3RyaW5nKCkpOwogICAgIHJldHVybiByZXF1ZXN0
VVJMOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlNWE2Y2Mz
MDFhOTljZDkwNDBiMDNhYjM3YTU1Yzk2MmIwOTY4NGNkLi43YmVlNzgyYTQ0NzQ3MTg5OTE4NGNm
ODgyMWVmZjNkMTg1YmMxNWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
QEAgLTQ0NiwxMiArNDQ2LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2hhbmdlTG9jYXRpb24oRnJh
bWVMb2FkUmVxdWVzdCYmIGZyYW1lUmVxdWVzdCwgRXZlbnQqIHRyaWdnZXIKIAogICAgIFJlZjxG
cmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIAotICAgIGlmIChmcmFtZVJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkgewotICAgICAgICBtX2ZyYW1l
LnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKGZyYW1lUmVxdWVzdC5yZXNvdXJjZVJlcXVl
c3QoKS51cmwoKSwgJmZyYW1lUmVxdWVzdC5yZXF1ZXN0ZXIoKS5zZWN1cml0eU9yaWdpbigpLCBm
cmFtZVJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOwotICAg
ICAgICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQogICAgIGlmIChmcmFtZVJlcXVlc3QuZnJhbWVOYW1lKCkuaXNFbXB0eSgpKQogICAgICAg
ICBmcmFtZVJlcXVlc3Quc2V0RnJhbWVOYW1lKG1fZnJhbWUuZG9jdW1lbnQoKS0+YmFzZVRhcmdl
dCgpKTsKIApAQCAtNDgzLDE0ICs0NzcsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdWJtaXRGb3Jt
KFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9uKQogICAgIGlmICghbV9mcmFtZS5kb2N1
bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dGb3JtQWN0aW9uKGZvcm1BY3Rp
b24pKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZm9ybUFjdGlvbi5wcm90b2NvbElzSmF2
YVNjcmlwdCgpKSB7Ci0gICAgICAgIG1faXNFeGVjdXRpbmdKYXZhU2NyaXB0Rm9ybUFjdGlvbiA9
IHRydWU7Ci0gICAgICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKLSAgICAgICAgbV9m
cmFtZS5zY3JpcHQoKS5leGVjdXRlSmF2YVNjcmlwdFVSTChzdWJtaXNzaW9uLT5hY3Rpb24oKSwg
bnVsbHB0ciwgRG9Ob3RSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwpOwotICAgICAgICBt
X2lzRXhlY3V0aW5nSmF2YVNjcmlwdEZvcm1BY3Rpb24gPSBmYWxzZTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQogICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IGZpbmRGcmFtZUZvck5hdmlnYXRp
b24oc3VibWlzc2lvbi0+dGFyZ2V0KCksICZzdWJtaXNzaW9uLT5zdGF0ZSgpLnNvdXJjZURvY3Vt
ZW50KCkpOwogICAgIGlmICghdGFyZ2V0RnJhbWUpIHsKICAgICAgICAgaWYgKCFET01XaW5kb3c6
OmFsbG93UG9wVXAobV9mcmFtZSkgJiYgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5n
VXNlckdlc3R1cmUoKSkKQEAgLTEzNjYsNiArMTM1Miw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6Omxv
YWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lTG9hZFJlcXVlc3QsIGNvbnN0IFN0cmluZyYg
cmVmCiAgICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyBmcmFtZUxvYWRSZXF1ZXN0LnJlcXVl
c3RlcigpLCByZXF1ZXN0LCBmcmFtZUxvYWRSZXF1ZXN0LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCks
IG5ld0xvYWRUeXBlLCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCwgZnJhbWVMb2FkUmVxdWVzdC5z
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIGZyYW1lTG9hZFJlcXVlc3QuZG93bmxvYWRB
dHRyaWJ1dGUoKSB9OwogICAgIGFjdGlvbi5zZXRMb2NrSGlzdG9yeShmcmFtZUxvYWRSZXF1ZXN0
LmxvY2tIaXN0b3J5KCkpOwogICAgIGFjdGlvbi5zZXRMb2NrQmFja0ZvcndhcmRMaXN0KGZyYW1l
TG9hZFJlcXVlc3QubG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAgICBhY3Rpb24uc2V0U2hvdWxk
UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKGZyYW1lTG9hZFJlcXVlc3Quc2hvdWxkUmVw
bGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOwogICAgIGlmIChwcml2YXRlQ2xpY2tNZWFz
dXJlbWVudCAmJiBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpCiAgICAgICAgIGFjdGlvbi5zZXRQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKCpwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCkpOwog
CkBAIC0xNDk2LDYgKzE0ODMsMTIgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhOYXZpZ2F0
aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgTmF2aWcKIHsKICAgICBG
UkFNRUxPQURFUl9SRUxFQVNFX0xPRyhSZXNvdXJjZUxvYWRpbmcsICJsb2FkV2l0aE5hdmlnYXRp
b25BY3Rpb246IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCisgICAgaWYgKHJlcXVlc3QudXJsKCku
cHJvdG9jb2xJc0phdmFTY3JpcHQoKSkgeworICAgICAgICBtX2ZyYW1lLnNjcmlwdCgpLmV4ZWN1
dGVKYXZhU2NyaXB0VVJMKHJlcXVlc3QudXJsKCksIGFjdGlvbi5yZXF1ZXN0ZXIoKSA/IGFjdGlv
bi5yZXF1ZXN0ZXIoKS0+c2VjdXJpdHlPcmlnaW4ucHRyKCkgOiBudWxscHRyLCBhY3Rpb24uc2hv
dWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOworICAgICAgICBtX3F1aWNrUmVk
aXJlY3RDb21pbmcgPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKCk7
CisgICAgfQorCiAgICAgUmVmPERvY3VtZW50TG9hZGVyPiBsb2FkZXIgPSBtX2NsaWVudC0+Y3Jl
YXRlRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGVmYXVsdFN1YnN0aXR1dGVEYXRhRm9yVVJMKHJl
cXVlc3QudXJsKCkpKTsKICAgICBhcHBseVNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb05l
d0RvY3VtZW50TG9hZGVyKG1fZnJhbWUsIGxvYWRlciwgYWN0aW9uLmluaXRpYXRlZEJ5TWFpbkZy
YW1lKCksIGFjdGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCkpOwogCkBAIC0zMDcy
LDYgKzMwNjUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkUG9zdFJlcXVlc3QoRnJhbWVMb2Fk
UmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgcmVmZQogCiAgICAgTmF2aWdhdGlvbkFj
dGlvbiBhY3Rpb24geyByZXF1ZXN0LnJlcXVlc3RlcigpLCB3b3JraW5nUmVzb3VyY2VSZXF1ZXN0
LCByZXF1ZXN0LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGxvYWRUeXBlLCB0cnVlLCBldmVudCwg
cmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIHsgfSB9OwogICAgIGFjdGlv
bi5zZXRMb2NrSGlzdG9yeShsb2NrSGlzdG9yeSk7CisgICAgYWN0aW9uLnNldFNob3VsZFJlcGxh
Y2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTChyZXF1ZXN0LnNob3VsZFJlcGxhY2VEb2N1bWVudElm
SmF2YVNjcmlwdFVSTCgpKTsKIAogICAgIGlmICghZnJhbWVOYW1lLmlzRW1wdHkoKSkgewogICAg
ICAgICAvLyBUaGUgc2VhcmNoIGZvciBhIHRhcmdldCBmcmFtZSBpcyBkb25lIGVhcmxpZXIgaW4g
dGhlIGNhc2Ugb2YgZm9ybSBzdWJtaXNzaW9uLgpAQCAtMzU2Niw2ICszNTYwLDEwIEBAIHZvaWQg
RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmV3V2luZG93UG9saWN5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzCiAgICAgICAgIHJldHVybjsKIAogICAgIFJlZjxGcmFtZT4gZnJh
bWUobV9mcmFtZSk7CisKKyAgICBpZiAocmVxdWVzdC51cmwoKS5wcm90b2NvbElzSmF2YVNjcmlw
dCgpICYmICFmcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93
SmF2YVNjcmlwdFVSTHMoZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLnN0cmluZygpLCB7IH0sIHJl
cXVlc3QudXJsKCkuc3RyaW5nKCkpKQorICAgICAgICByZXR1cm47CisKICAgICBSZWZQdHI8RnJh
bWU+IG1haW5GcmFtZSA9IG1fY2xpZW50LT5kaXNwYXRjaENyZWF0ZVBhZ2UoYWN0aW9uLCBvcGVu
ZXJQb2xpY3kpOwogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAgICByZXR1cm47CkBAIC0zNTg1
LDYgKzM1ODMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRv
d1BvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlcwogICAgIH0KIAogICAgIE5hdmln
YXRpb25BY3Rpb24gbmV3QWN0aW9uIHsgKmZyYW1lLT5kb2N1bWVudCgpLCByZXF1ZXN0LCBJbml0
aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biwgTmF2aWdhdGlvblR5cGU6Ok90aGVyLCBhY3Rpb24u
c2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBudWxscHRyLCBhY3Rpb24uZG93bmxvYWRB
dHRyaWJ1dGUoKSB9OworICAgIG5ld0FjdGlvbi5zZXRTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkph
dmFTY3JpcHRVUkwoYWN0aW9uLnNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgp
KTsKICAgICBtYWluRnJhbWUtPmxvYWRlcigpLmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1
ZXN0LCBXVEZNb3ZlKG5ld0FjdGlvbiksIEZyYW1lTG9hZFR5cGU6OlN0YW5kYXJkLCBmb3JtU3Rh
dGUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvTmF2aWdhdGlvbkFjdGlvbi5oCmluZGV4IDE2M2NjN2U4M2NiZDU1OTlmZWE3NTM3MGQ3OTM0
Y2MwOWFkZjEzZmMuLmM5ZTQyY2I0MTRhY2Y2N2IzZDA3NGYxYThjYmQ0YTFiNDZjMzIzMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaApAQCAtMTI5LDYgKzEyOSwx
MSBAQCBwdWJsaWM6CiAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudD4mIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9wcml2YXRl
Q2xpY2tNZWFzdXJlbWVudDsgfTsKICAgICB2b2lkIHNldFByaXZhdGVDbGlja01lYXN1cmVtZW50
KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQpIHsgbV9w
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IHByaXZhdGVDbGlja01lYXN1cmVtZW50OyB9OwogCisg
ICAgLy8gVGhlIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBwYXJhbWV0ZXIg
d2lsbCBnbyBhd2F5IHdoZW4gdGhlIEZJWE1FIHRvIGVsaW1pbmF0ZSB0aGUKKyAgICAvLyBjb3Jy
ZXNwb25kaW5nIHBhcmFtZXRlciBmcm9tIFNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1dGVJZkphdmFT
Y3JpcHRVUkwoKSBpcyBhZGRyZXNzZWQuCisgICAgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpIGNvbnN0IHsg
cmV0dXJuIG1fc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMOyB9CisgICAgdm9p
ZCBzZXRTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoU2hvdWxkUmVwbGFjZURv
Y3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVS
TCkgeyBtX3Nob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCA9IHNob3VsZFJlcGxh
Y2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTDsgfQorCiBwcml2YXRlOgogICAgIC8vIERvIG5vdCBh
ZGQgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hdGluZyBkb2N1bWVudCBvciBhIHN1
Ym9iamVjdCB0aGF0IGhvbGRzIHRoZQogICAgIC8vIG9yaWdpbmF0aW5nIGRvY3VtZW50LiBTZWUg
Y29tbWVudCBhYm92ZSB0aGUgY2xhc3MgZm9yIG1vcmUgZGV0YWlscy4KQEAgLTE0OSw2ICsxNTQs
NyBAQCBwcml2YXRlOgogICAgIExvY2tIaXN0b3J5IG1fbG9ja0hpc3RvcnkgeyBMb2NrSGlzdG9y
eTo6Tm8gfTsKICAgICBMb2NrQmFja0ZvcndhcmRMaXN0IG1fbG9ja0JhY2tGb3J3YXJkTGlzdCB7
IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vIH07CiAgICAgc3RkOjpvcHRpb25hbDxQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudD4gbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsKKyAgICBTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgbV9zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFT
Y3JpcHRVUkwgeyBSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcAppbmRleCA2ZDc0YzdjZDM5M2RhNWE2ZjQ1ZTBkZDBlNTlhMTU3ZmE2MzM5NWM1
Li44NWE4M2U1ZWUwZDk3MzQ3NTc5ZTFlYjgyOGM4ZTExNWM2NDM4ODE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC0zMTgsNiArMzE4LDcg
QEAgcHVibGljOgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldFJlZmVycmVyUG9saWN5KG1f
c3VibWlzc2lvbi0+cmVmZXJyZXJQb2xpY3koKSk7CiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Qu
c2V0TmV3RnJhbWVPcGVuZXJQb2xpY3kobV9zdWJtaXNzaW9uLT5uZXdGcmFtZU9wZW5lclBvbGlj
eSgpKTsKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91bGRPcGVuRXh0ZXJuYWxVUkxz
UG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSk7CisgICAgICAgIGZyYW1lTG9hZFJlcXVl
c3QuZGlzYWJsZVNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpOwogICAgICAg
ICBtX3N1Ym1pc3Npb24tPnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVzdChmcmFtZUxvYWRSZXF1ZXN0
KTsKICAgICAgICAgZnJhbWUubG9hZGVyKCkubG9hZEZyYW1lUmVxdWVzdChXVEZNb3ZlKGZyYW1l
TG9hZFJlcXVlc3QpLCBtX3N1Ym1pc3Npb24tPmV2ZW50KCksIG1fc3VibWlzc2lvbi0+dGFrZVN0
YXRlKCkpOwogICAgIH0KQEAgLTUwNSw4ICs1MDYsMTggQEAgdm9pZCBOYXZpZ2F0aW9uU2NoZWR1
bGVyOjpzY2hlZHVsZUZvcm1TdWJtaXNzaW9uKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNz
aW8KICAgICAgICAgJiYgKHN1Ym1pc3Npb24tPnN0YXRlKCkuZm9ybVN1Ym1pc3Npb25UcmlnZ2Vy
KCkgPT0gU3VibWl0dGVkQnlKYXZhU2NyaXB0ICYmIG1fZnJhbWUudHJlZSgpLnBhcmVudCgpICYm
ICFVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpKSB7CiAgICAg
ICAgIGxvY2tCYWNrRm9yd2FyZExpc3QgPSBMb2NrQmFja0ZvcndhcmRMaXN0OjpZZXM7CiAgICAg
fQorCisgICAgYm9vbCBpc0phdmFTY3JpcHRVUkwgPSBzdWJtaXNzaW9uLT5yZXF1ZXN0VVJMKCku
cHJvdG9jb2xJc0phdmFTY3JpcHQoKTsKKworICAgIGF1dG8gc2NoZWR1bGVkRm9ybVN1Ym1pc3Np
b24gPSBtYWtlVW5pcXVlPFNjaGVkdWxlZEZvcm1TdWJtaXNzaW9uPihXVEZNb3ZlKHN1Ym1pc3Np
b24pLCBsb2NrQmFja0ZvcndhcmRMaXN0LCBkdXJpbmdMb2FkKTsKKworICAgIC8vIEZJWE1FOiBX
ZSBjdXJyZW50bHkgcnVuIEphdmFTY3JpcHQgVVJMcyBzeW5jaHJvbm91c2x5IGV2ZW4gdGhvdWdo
IHRoaXMgZG9lc24ndCBhcHBlYXIgdG8gbWF0Y2ggdGhlIHNwZWNpZmljYXRpb24uCisgICAgaWYg
KGlzSmF2YVNjcmlwdFVSTCkgeworICAgICAgICBzY2hlZHVsZWRGb3JtU3VibWlzc2lvbi0+Zmly
ZShtX2ZyYW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICAKLSAgICBzY2hlZHVsZSht
YWtlVW5pcXVlPFNjaGVkdWxlZEZvcm1TdWJtaXNzaW9uPihXVEZNb3ZlKHN1Ym1pc3Npb24pLCBs
b2NrQmFja0ZvcndhcmRMaXN0LCBkdXJpbmdMb2FkKSk7CisgICAgc2NoZWR1bGUoV1RGTW92ZShz
Y2hlZHVsZWRGb3JtU3VibWlzc2lvbikpOwogfQogCiB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6
OnNjaGVkdWxlUmVmcmVzaChEb2N1bWVudCYgaW5pdGlhdGluZ0RvY3VtZW50KQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIx
YzI3ZGMyYmQ2MmVlMWVmMDlhZDY0YzdkMGQ2ZWUxOTU5YmZmOGUuLjMwMmVlNTgxZTU0Njg3YTI4
ZDliNzEwYWYxODUyYzMyNWM1YTQ0NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0y
NyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEphdmFzY3JpcHQg
VVJMcyBkbyBub3QgcnVuIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gdXNpbmcgZnJhbWUgdGFy
Z2V0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzIzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZXNlIHRlc3Rz
IGFyZSBwYXNzaW5nIGluIGJvdGgKKyAgICAgICAgQ2hyb21lIDk0IGFuZCBGaXJlZm94IDk0Lgor
CisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFu
Y2hvci10YXJnZXQtbmV3LXdpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0t
dGFyZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNj
cmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0LW5ldy13aW5kb3cu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10
YXJnZXQuaHRtbDogQWRkZWQuCisKIDIwMjEtMTAtMjcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1hcmsgc29tZSBXUFQgdHJhbnNmb3JtcyB0ZXN0
cyBhcyBwYXNzaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MTc1NTcyYmRk
NjIyYmJmOGEwN2QxYmM5OTE3NTAzZDUyNzk1NzU3Li41MGY1NmY1Mzc4OGZmN2EwNTFlNzJmZWQ3
NGViZjI3ZmU2NjM1NDI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0xMC0yNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIEphdmFzY3JpcHQgVVJMcyBkbyBub3QgcnVuIGluIHRoZSByaWdodCBjb250ZXh0IHdo
ZW4gdXNpbmcgZnJhbWUgdGFyZ2V0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzIzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dz
aW5nLXRoZS13ZWIvbmF2aWdhdGluZy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQ6
CisgICAgICAgIFRoZSB0ZXN0IGlzIG5vIGxvbmdlciB0aW1pbmcgb3V0IG5vdyB0aGF0IHdlIHJ1
biB0aGUgamF2YXNjcmlwdCBVUkwgY29udGFpbmVkIGluIHRoZSA8Zm9ybT4ncyBhY3Rpb24gaW4g
dGhlIGNvbnRleHQKKyAgICAgICAgb2YgdGhlICJ0ZXN0IiBpZnJhbWUgaW5zdGVhZCBvZiB0aGUg
dG9wIGZyYW1lLiBIb3dldmVyLCB0aGUgdGVzdCBpcyBzdGlsbCBmYWlsaW5nLCBwb3NzaWJseSBi
ZWNhdXNlIHRoZSBKYXZhU2NyaXB0CisgICAgICAgIFVSTCBpcyBydW4gc3luY2hyb25vdXNseS4K
KwogMjAyMS0xMC0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IENoYW5naW5nIHRoZSBzcmMgYXR0cmlidXRlIG9mIHRoZSA8aW1nPiBlbGVtZW50IGluc2lkZSBh
biBJbWFnZURvY3VtZW50IGRvZXMgbm90IHRyaWdnZXIgYSBsb2FkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJn
ZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNmQ5YWZiNTYyOWIxYTUzZWIzNWFlYWZhNTlj
ZTU3MTA1MDA0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9q
YXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBA
CitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQg
d2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBmcmFtZS4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMgInRlc3RGcmFt
ZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3It
dGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
amF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lNjkwYjk5YzdlNzAxNGQxOTIxY2Y5NzY0MDZlNWVlMGU2MzgxYzgzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9y
LXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0
aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQg
YXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBwb3B1cC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMgInRlc3RQb3B1cCIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5l
dy13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFu
Y2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0ZWMxNDk4OGJkODhjODA1
YTQ1NTgyMDQ4YTcxMDYyMTgwN2Y0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3cuaHRtbApA
QCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0
IGNvbnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBwb3B1
cC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBkaWRSdW5KU1VSTEluQ29u
dGV4dChfY29udGV4dE5hbWUpCit7CisgICAgY29udGV4dE5hbWUgPSBfY29udGV4dE5hbWU7Cisg
ICAgLy8gU2luY2UgdGhlIGFuY2hvciBoYXMgdGFyZ2V0PSJ0ZXN0UG9wdXAiLCB0aGUgamF2YXNj
cmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHBvcHVwLCBub3Qg
dGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHROYW1lIiwg
InRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQgPSAoKSA9PiB7
CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdEFuY2hvciIpLmNsaWNrKCk7Cit9OworPC9zY3JpcHQ+Cis8YSBpZD0idGVzdEFu
Y2hvciIgdGFyZ2V0PSJ0ZXN0UG9wdXAiIGhyZWY9ImphdmFzY3JpcHQ6b3BlbmVyLmRpZFJ1bkpT
VVJMSW5Db250ZXh0KHdpbmRvdy5uYW1lKTsiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPkNsaWNrIG1l
PC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwMzM1
OGMwZmVlYzI4NTQ3Mjg2ZDA1MzVhMDlmYmY0MjE3MDZjMjYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0Lmh0bWwK
QEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVjdXRlIGluIHRoZSByaWdo
dCBjb250ZXh0IHdoZW4gc2V0IGFzIGhyZWYgb24gYW4gYW5jaG9yIHdpdGggYSB0YXJnZXQgZnJh
bWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVuSlNVUkxJbkNv
bnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRleHROYW1lOwor
ICAgIC8vIFNpbmNlIHRoZSBhbmNob3IgaGFzIHRhcmdldD0idGVzdEZyYW1lIiwgdGhlIGphdmFz
Y3JpcHQgVVJMIHNob3VsZCBleGVjdXRlIGluIHRoZSBjb250ZXh0IG9mIHRoZSB0ZXN0RnJhbWUs
IG5vdCB0aGUgdG9wIGZyYW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE5h
bWUiLCAidGVzdEZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29ubG9hZCA9ICgp
ID0+IHsKKyAgICB3aW5kb3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0QW5jaG9yIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4KKzxpZnJhbWUg
aWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4KKzxhIGlkPSJ0ZXN0QW5j
aG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgaHJlZj0iamF2YXNjcmlwdDp0b3AuZGlkUnVuSlNVUkxJ
bkNvbnRleHQod2luZG93Lm5hbWUpOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Q2xpY2sgbWU8L2E+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9q
YXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTRhN2QyYTE4OWU4NjY3OTNhZGI0NWU0NTVkNjJjMDI2OTIzNWU3MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJM
IGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0aW9uIG9uIGEgZm9y
bSB3aXRoIGEgdGFyZ2V0IGZyYW1lLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBjb250ZXh0TmFtZSBpcyAidGVzdEZyYW1lIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1u
ZXctd2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjUyODMyOTQwNGNlY2U2Y2ZjODBh
NGEyMzg2NWYxNjhjNDkwMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMCBAQAorVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVjdXRlIGluIHRo
ZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGFjdGlvbiBvbiBhIGZvcm0gd2l0aCBhIHRhcmdl
dCBwb3B1cC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5h
bWUgaXMgInRlc3RQb3B1cCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2Ny
aXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmM1Zjc4ODk4Y2NhNWRhMDZlNGNlZjY0YTFiZjhjZjUyYzA3ZGE4NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0
LW5ldy13aW5kb3cuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4
ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0aW9uIG9uIGEgZm9ybSB3
aXRoIGEgdGFyZ2V0IHBvcHVwLiIpOworanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9u
IGRpZFJ1bkpTVVJMSW5Db250ZXh0KF9jb250ZXh0TmFtZSkKK3sKKyAgICBjb250ZXh0TmFtZSA9
IF9jb250ZXh0TmFtZTsKKyAgICAvLyBTaW5jZSB0aGUgZm9ybSBoYXMgdGFyZ2V0PSJ0ZXN0UG9w
dXAiLCB0aGUgamF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRleHQgb2Yg
dGhlIHBvcHVwLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImNvbnRleHROYW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitv
bmxvYWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307Cis8L3Njcmlw
dD4KKzxmb3JtIGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RQb3B1cCIgYWN0aW9uPSJqYXZh
c2NyaXB0Om9wZW5lci5kaWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7Ij4KKzxpbnB1
dCBpZD0ic3VibWl0QnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBtZSI+PC9pbnB1
dD4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1
OThlOTA5YWY4ZGVjMDdkZWJjN2UyZGQ4OGZjYTNlYmRjMDhhYzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC5odG1s
CkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBpbiB0aGUgcmln
aHQgY29udGV4dCB3aGVuIHNldCBhcyBhY3Rpb24gb24gYSBmb3JtIHdpdGggYSB0YXJnZXQgZnJh
bWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVuSlNVUkxJbkNv
bnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRleHROYW1lOwor
ICAgIC8vIFNpbmNlIHRoZSBmb3JtIGhhcyB0YXJnZXQ9InRlc3RGcmFtZSIsIHRoZSBqYXZhc2Ny
aXB0IFVSTCBzaG91bGQgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgdGVzdEZyYW1lLCBu
b3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHROYW1l
IiwgInRlc3RGcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitvbmxvYWQgPSAoKSA9
PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4KKzxpZnJhbWUg
aWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4KKzxmb3JtIGlkPSJ0ZXN0
QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgYWN0aW9uPSJqYXZhc2NyaXB0OnRvcC5kaWRSdW5K
U1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7Ij4KKzxpbnB1dCBpZD0ic3VibWl0QnV0dG9uIiB0
eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBtZSI+PC9pbnB1dD4KKzwvZm9ybT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL25hdmlnYXRpbmctYWNyb3Nz
LWRvY3VtZW50cy8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGlu
Zy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQKaW5kZXggMDBjNzQ5MTNiYzQxNGM2
YTdjNmZiZDVlMmFlOGE5ZWI4ODdkYjhjNy4uNTU1ZmE4NTQ1YTQ5YjhjNGFlMGFmZjE3YWY5Y2U3
YjQ4OWUxYzc5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGluZy1hY3Jv
c3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2
aWdhdGluZy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBA
CiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIExp
bmsgd2l0aCBvbmNsaWNrIGZvcm0gc3VibWl0IHRvIGphdmFzY3JpcHQgdXJsIHdpdGggZGVsYXll
ZCBkb2N1bWVudC53cml0ZSBhbmQgaHJlZiBuYXZpZ2F0aW9uICBUZXN0IHRpbWVkIG91dAorRkFJ
TCBMaW5rIHdpdGggb25jbGljayBmb3JtIHN1Ym1pdCB0byBqYXZhc2NyaXB0IHVybCB3aXRoIGRl
bGF5ZWQgZG9jdW1lbnQud3JpdGUgYW5kIGhyZWYgbmF2aWdhdGlvbiAgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImhyZWYiIGJ1dCBnb3QgIndyaXRlIgogCitUZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442640</attachid>
            <date>2021-10-27 15:42:35 -0700</date>
            <delta_ts>2021-11-03 09:30:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232382-20211027154234.patch</filename>
            <type>text/plain</type>
            <size>28223</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFkNTQ1NGQ1MTBlNDQ4
MDhlODU5MTM3NTUyOGE3N2U2MDRiMGU2ZC4uNDc0NTU1NjZjYjA3NWNmYjkxNWIwODRiN2NiODIx
Mjc4YmRiYTJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRv
IG5vdCBydW4gaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjM4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFzY3Jp
cHQgVVJMcyBkaWQgbm90IHJ1biBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5nIGZyYW1l
IHRhcmdldGluZworICAgICAgICAoZS5nLiBgPGEgdGFyZ2V0PSJmb28iIHNyYz0iamF2YXNjcmlw
dDouLi4iPmApLiBXZSB3b3VsZCBwcmV2aW91c2x5IHJ1biB0aGUKKyAgICAgICAgSmF2YVNjcmlw
dCBVUkwgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGFuY2hvciBpbnN0ZWFkIG9mIHRoZSB0YXJnZXQg
ZnJhbWUvd2luZG93LgorCisgICAgICAgIEFsc28sIHdlIHdvdWxkIGZhaWwgdG8gb3BlbiBhIG5l
dyBwb3B1cCB3aGVuIHRoZXJlIGlzIG5vIGV4aXN0aW5nIGZyYW1lIHdpdGgKKyAgICAgICAgdGhl
IGdpdmVuIHRhcmdldCBuYW1lLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIGlzc3Vl
IGJ5IGRvaW5nIHRoZSBleGVjdXRlSmF2YVNjcmlwdFVSTCgpIGNhbGwgbGF0ZXIsCisgICAgICAg
IGluc2lkZSBvZiBGcmFtZUxvYWRlcjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKCksIG9uY2Ug
d2UndmUgYWxyZWFkeSByZXNvbHZlZAorICAgICAgICB0aGUgdGFyZ2V0IGZyYW1lIGFuZCBjcmVh
dGVkIGEgbmV3IHdpbmRvdyBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgVGhpcyBhbGlnbnMgb3Vy
IGJlaGF2aW9yIHdpdGggYm90aCBDaHJvbWUgYW5kIEZpcmVmb3guCisKKyAgICAgICAgVGVzdHM6
IGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFy
Z2V0LW5ldy13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvamF2YXNjcmlw
dC11cmwtZm9ybS10YXJnZXQuaHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpleGVjdXRl
SmF2YVNjcmlwdFVSTCk6CisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2spOgorICAgICAg
ICAqIGh0bWwvSFRNTEZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3Jt
RWxlbWVudDo6c3VibWl0KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9ybVN1Ym1pc3Npb246OnJlcXVlc3RVUkwgY29uc3QpOgorICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6Y2hhbmdlTG9jYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnN1
Ym1pdEZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRVUkwpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFBvc3RSZXF1ZXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSk6
CisgICAgICAgICogbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRpb25BY3Rpb246OnNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNj
aGVkdWxlRm9ybVN1Ym1pc3Npb24pOgorCiAyMDIxLTEwLTI3ICBLYXRlIENoZW5leSAgPGthdGhl
cmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyODQ2NTAtMjg0
NjYxKTogW2lPUzE1IFNpbV0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50
LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtbXVsdGlwbGUtcG9saWNpZXMt
bXVsdGlwbGUtaGFzaGluZy1hbGdvcml0aG1zLmh0bWwgaXMgYSB0ZXh0IGZhaWx1cmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKaW5kZXggOTM4YmQzZWI3Y2M2OGEx
NDM0YjUzMzllMGRmMzQ1NWE0MTJmMTE1Ni4uYzk2ZTNmNWZjYjY2OTdhMGE5NmZhNTY5NjlkYjMy
MTA5NDBkZWI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAK
QEAgLTUyOCw3ICs1MjgsNyBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhF
dmVudCYgZXZlbnQpCiAKICAgICBhdXRvIGVmZmVjdGl2ZVRhcmdldCA9IHRoaXMtPmVmZmVjdGl2
ZVRhcmdldCgpOwogICAgIE5ld0ZyYW1lT3BlbmVyUG9saWN5IG5ld0ZyYW1lT3BlbmVyUG9saWN5
ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93OwotICAgIGlmIChoYXNSZWwoUmVsYXRpb246
Ok5vT3BlbmVyKSB8fCBoYXNSZWwoUmVsYXRpb246Ok5vUmVmZXJyZXIpIHx8ICghaGFzUmVsKFJl
bGF0aW9uOjpPcGVuZXIpICYmIGRvY3VtZW50KCkuc2V0dGluZ3MoKS5ibGFua0FuY2hvclRhcmdl
dEltcGxpZXNOb09wZW5lckVuYWJsZWQoKSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGVmZmVj
dGl2ZVRhcmdldCwgIl9ibGFuayIpKSkKKyAgICBpZiAoaGFzUmVsKFJlbGF0aW9uOjpOb09wZW5l
cikgfHwgaGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSB8fCAoIWhhc1JlbChSZWxhdGlvbjo6
T3BlbmVyKSAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVz
Tm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJn
ZXQsICJfYmxhbmsiKSAmJiAhY29tcGxldGVkVVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCkpKQog
ICAgICAgICBuZXdGcmFtZU9wZW5lclBvbGljeSA9IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBw
cmVzczsKIAogICAgIGF1dG8gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBwYXJzZVByaXZhdGVD
bGlja01lYXN1cmVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
b3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAK
aW5kZXggOTc0MzRhNmE4Nzc2OGM1YzkwM2ZhNzQyNjU4ZjlmYTFlZDViMGZkNi4uM2NkNjY1NjVl
NzU2NmQ0Y2Q2NTljZWY3ZTQ1NDRjMTc2MmJhOTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmNwcApAQCAtNDI4LDcgKzQyOCw3IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50
OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHBy
b2NlCiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gcmVsQXR0cmlidXRlcyA9IHBhcnNlRm9y
bVJlbEF0dHJpYnV0ZXMoZ2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0cikpOwotICAgIGlm
IChyZWxBdHRyaWJ1dGVzLm5vb3BlbmVyIHx8IHJlbEF0dHJpYnV0ZXMubm9yZWZlcnJlciB8fCAo
IXJlbEF0dHJpYnV0ZXMub3BlbmVyICYmIGRvY3VtZW50KCkuc2V0dGluZ3MoKS5ibGFua0FuY2hv
clRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQoKSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KGZvcm1TdWJtaXNzaW9uLT50YXJnZXQoKSwgIl9ibGFuayIpKSkKKyAgICBpZiAocmVsQXR0cmli
dXRlcy5ub29wZW5lciB8fCByZWxBdHRyaWJ1dGVzLm5vcmVmZXJyZXIgfHwgKCFyZWxBdHRyaWJ1
dGVzLm9wZW5lciAmJiBkb2N1bWVudCgpLnNldHRpbmdzKCkuYmxhbmtBbmNob3JUYXJnZXRJbXBs
aWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShmb3JtU3VibWlz
c2lvbi0+dGFyZ2V0KCksICJfYmxhbmsiKSAmJiAhZm9ybVN1Ym1pc3Npb24tPnJlcXVlc3RVUkwo
KS5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSkKICAgICAgICAgZm9ybVN1Ym1pc3Npb24tPnNldE5l
d0ZyYW1lT3BlbmVyUG9saWN5KE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzcyk7CiAgICAg
aWYgKHJlbEF0dHJpYnV0ZXMubm9yZWZlcnJlcikKICAgICAgICAgZm9ybVN1Ym1pc3Npb24tPnNl
dFJlZmVycmVyUG9saWN5KFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCmluZGV4IGFlOTJhZGQ4NzU2MDUxZDA1NmEyMzAy
ZGRjYmM0ODliMTBlNzQ4NDIuLjQ2NDk1N2UzMGQxM2FlMGI2MzEwY2VjZWIwMWY1ZjQ1ZTI5ZDBi
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcApAQCAtMjQ2LDcg
KzI0Niw4IEBAIFVSTCBGb3JtU3VibWlzc2lvbjo6cmVxdWVzdFVSTCgpIGNvbnN0CiAgICAgICAg
IHJldHVybiBtX2FjdGlvbjsKIAogICAgIFVSTCByZXF1ZXN0VVJMKG1fYWN0aW9uKTsKLSAgICBy
ZXF1ZXN0VVJMLnNldFF1ZXJ5KG1fZm9ybURhdGEtPmZsYXR0ZW5Ub1N0cmluZygpKTsKKyAgICBp
ZiAoIXJlcXVlc3RVUkwucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkKKyAgICAgICAgcmVxdWVzdFVS
TC5zZXRRdWVyeShtX2Zvcm1EYXRhLT5mbGF0dGVuVG9TdHJpbmcoKSk7CiAgICAgcmV0dXJuIHJl
cXVlc3RVUkw7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGU1
YTZjYzMwMWE5OWNkOTA0MGIwM2FiMzdhNTVjOTYyYjA5Njg0Y2QuLjdiZWU3ODJhNDQ3NDcxODk5
MTg0Y2Y4ODIxZWZmM2QxODViYzE1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcApAQCAtNDQ2LDEyICs0NDYsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjaGFuZ2VMb2NhdGlv
bihGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVSZXF1ZXN0LCBFdmVudCogdHJpZ2dlcgogCiAgICAg
UmVmPEZyYW1lPiBwcm90ZWN0KG1fZnJhbWUpOwogCi0gICAgaWYgKGZyYW1lUmVxdWVzdC5yZXNv
dXJjZVJlcXVlc3QoKS51cmwoKS5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSB7Ci0gICAgICAgIG1f
ZnJhbWUuc2NyaXB0KCkuZXhlY3V0ZUphdmFTY3JpcHRVUkwoZnJhbWVSZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnVybCgpLCAmZnJhbWVSZXF1ZXN0LnJlcXVlc3RlcigpLnNlY3VyaXR5T3JpZ2lu
KCksIGZyYW1lUmVxdWVzdC5zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7
Ci0gICAgICAgIG1fcXVpY2tSZWRpcmVjdENvbWluZyA9IGZhbHNlOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCiAgICAgaWYgKGZyYW1lUmVxdWVzdC5mcmFtZU5hbWUoKS5pc0VtcHR5KCkpCiAg
ICAgICAgIGZyYW1lUmVxdWVzdC5zZXRGcmFtZU5hbWUobV9mcmFtZS5kb2N1bWVudCgpLT5iYXNl
VGFyZ2V0KCkpOwogCkBAIC00ODMsMTQgKzQ3Nyw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN1Ym1p
dEZvcm0oUmVmPEZvcm1TdWJtaXNzaW9uPiYmIHN1Ym1pc3Npb24pCiAgICAgaWYgKCFtX2ZyYW1l
LmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0Zvcm1BY3Rpb24oZm9y
bUFjdGlvbikpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChmb3JtQWN0aW9uLnByb3RvY29s
SXNKYXZhU2NyaXB0KCkpIHsKLSAgICAgICAgbV9pc0V4ZWN1dGluZ0phdmFTY3JpcHRGb3JtQWN0
aW9uID0gdHJ1ZTsKLSAgICAgICAgUmVmPEZyYW1lPiBwcm90ZWN0KG1fZnJhbWUpOwotICAgICAg
ICBtX2ZyYW1lLnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKHN1Ym1pc3Npb24tPmFjdGlv
bigpLCBudWxscHRyLCBEb05vdFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCk7Ci0gICAg
ICAgIG1faXNFeGVjdXRpbmdKYXZhU2NyaXB0Rm9ybUFjdGlvbiA9IGZhbHNlOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCiAgICAgRnJhbWUqIHRhcmdldEZyYW1lID0gZmluZEZyYW1lRm9yTmF2
aWdhdGlvbihzdWJtaXNzaW9uLT50YXJnZXQoKSwgJnN1Ym1pc3Npb24tPnN0YXRlKCkuc291cmNl
RG9jdW1lbnQoKSk7CiAgICAgaWYgKCF0YXJnZXRGcmFtZSkgewogICAgICAgICBpZiAoIURPTVdp
bmRvdzo6YWxsb3dQb3BVcChtX2ZyYW1lKSAmJiAhVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nl
c3NpbmdVc2VyR2VzdHVyZSgpKQpAQCAtMTM2Niw2ICsxMzUyLDcgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiByZWYKICAgICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlvbiB7IGZyYW1lTG9hZFJlcXVlc3Qu
cmVxdWVzdGVyKCksIHJlcXVlc3QsIGZyYW1lTG9hZFJlcXVlc3QuaW5pdGlhdGVkQnlNYWluRnJh
bWUoKSwgbmV3TG9hZFR5cGUsIGlzRm9ybVN1Ym1pc3Npb24sIGV2ZW50LCBmcmFtZUxvYWRSZXF1
ZXN0LnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSwgZnJhbWVMb2FkUmVxdWVzdC5kb3du
bG9hZEF0dHJpYnV0ZSgpIH07CiAgICAgYWN0aW9uLnNldExvY2tIaXN0b3J5KGZyYW1lTG9hZFJl
cXVlc3QubG9ja0hpc3RvcnkoKSk7CiAgICAgYWN0aW9uLnNldExvY2tCYWNrRm9yd2FyZExpc3Qo
ZnJhbWVMb2FkUmVxdWVzdC5sb2NrQmFja0ZvcndhcmRMaXN0KCkpOworICAgIGFjdGlvbi5zZXRT
aG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoZnJhbWVMb2FkUmVxdWVzdC5zaG91
bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7CiAgICAgaWYgKHByaXZhdGVDbGlj
a01lYXN1cmVtZW50ICYmIG1fZnJhbWUuaXNNYWluRnJhbWUoKSkKICAgICAgICAgYWN0aW9uLnNl
dFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUoKnByaXZhdGVDbGlja01lYXN1cmVtZW50
KSk7CiAKQEAgLTE0OTYsNiArMTQ4MywxMiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5h
dmlnYXRpb25BY3Rpb24oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBOYXZpZwogewog
ICAgIEZSQU1FTE9BREVSX1JFTEVBU0VfTE9HKFJlc291cmNlTG9hZGluZywgImxvYWRXaXRoTmF2
aWdhdGlvbkFjdGlvbjogZnJhbWUgbG9hZCBzdGFydGVkIik7CiAKKyAgICBpZiAocmVxdWVzdC51
cmwoKS5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSB7CisgICAgICAgIG1fZnJhbWUuc2NyaXB0KCku
ZXhlY3V0ZUphdmFTY3JpcHRVUkwocmVxdWVzdC51cmwoKSwgYWN0aW9uLnJlcXVlc3RlcigpID8g
YWN0aW9uLnJlcXVlc3RlcigpLT5zZWN1cml0eU9yaWdpbi5wdHIoKSA6IG51bGxwdHIsIGFjdGlv
bi5zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoKSk7CisgICAgICAgIG1fcXVp
Y2tSZWRpcmVjdENvbWluZyA9IGZhbHNlOworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRs
ZXIoKTsKKyAgICB9CisKICAgICBSZWY8RG9jdW1lbnRMb2FkZXI+IGxvYWRlciA9IG1fY2xpZW50
LT5jcmVhdGVEb2N1bWVudExvYWRlcihyZXF1ZXN0LCBkZWZhdWx0U3Vic3RpdHV0ZURhdGFGb3JV
UkwocmVxdWVzdC51cmwoKSkpOwogICAgIGFwcGx5U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eVRvTmV3RG9jdW1lbnRMb2FkZXIobV9mcmFtZSwgbG9hZGVyLCBhY3Rpb24uaW5pdGlhdGVkQnlN
YWluRnJhbWUoKSwgYWN0aW9uLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSk7CiAKQEAg
LTMwNzIsNiArMzA2NSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdChGcmFt
ZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJiByZWZlCiAKICAgICBOYXZpZ2F0
aW9uQWN0aW9uIGFjdGlvbiB7IHJlcXVlc3QucmVxdWVzdGVyKCksIHdvcmtpbmdSZXNvdXJjZVJl
cXVlc3QsIHJlcXVlc3QuaW5pdGlhdGVkQnlNYWluRnJhbWUoKSwgbG9hZFR5cGUsIHRydWUsIGV2
ZW50LCByZXF1ZXN0LnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3koKSwgeyB9IH07CiAgICAg
YWN0aW9uLnNldExvY2tIaXN0b3J5KGxvY2tIaXN0b3J5KTsKKyAgICBhY3Rpb24uc2V0U2hvdWxk
UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKHJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3Vt
ZW50SWZKYXZhU2NyaXB0VVJMKCkpOwogCiAgICAgaWYgKCFmcmFtZU5hbWUuaXNFbXB0eSgpKSB7
CiAgICAgICAgIC8vIFRoZSBzZWFyY2ggZm9yIGEgdGFyZ2V0IGZyYW1lIGlzIGRvbmUgZWFybGll
ciBpbiB0aGUgY2FzZSBvZiBmb3JtIHN1Ym1pc3Npb24uCkBAIC0zNTY2LDYgKzM1NjAsMTAgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOZXdXaW5kb3dQb2xpY3koY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXMKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmPEZyYW1l
PiBmcmFtZShtX2ZyYW1lKTsKKworICAgIGlmIChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNKYXZh
U2NyaXB0KCkgJiYgIWZyYW1lLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
YWxsb3dKYXZhU2NyaXB0VVJMcyhmcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkuc3RyaW5nKCksIHsg
fSwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSkpCisgICAgICAgIHJldHVybjsKKwogICAgIFJlZlB0
cjxGcmFtZT4gbWFpbkZyYW1lID0gbV9jbGllbnQtPmRpc3BhdGNoQ3JlYXRlUGFnZShhY3Rpb24s
IG9wZW5lclBvbGljeSk7CiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJldHVybjsKQEAg
LTM1ODUsNiArMzU4Myw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmV3
V2luZG93UG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzCiAgICAgfQogCiAgICAg
TmF2aWdhdGlvbkFjdGlvbiBuZXdBY3Rpb24geyAqZnJhbWUtPmRvY3VtZW50KCksIHJlcXVlc3Qs
IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duLCBOYXZpZ2F0aW9uVHlwZTo6T3RoZXIsIGFj
dGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIG51bGxwdHIsIGFjdGlvbi5kb3du
bG9hZEF0dHJpYnV0ZSgpIH07CisgICAgbmV3QWN0aW9uLnNldFNob3VsZFJlcGxhY2VEb2N1bWVu
dElmSmF2YVNjcmlwdFVSTChhY3Rpb24uc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0
VVJMKCkpOwogICAgIG1haW5GcmFtZS0+bG9hZGVyKCkubG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9u
KHJlcXVlc3QsIFdURk1vdmUobmV3QWN0aW9uKSwgRnJhbWVMb2FkVHlwZTo6U3RhbmRhcmQsIGZv
cm1TdGF0ZSwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKaW5kZXggMTYzY2M3ZTgzY2JkNTU5OWZlYTc1Mzcw
ZDc5MzRjYzA5YWRmMTNmYy4uYzllNDJjYjQxNGFjZjY3YjNkMDc0ZjFhOGNiZDRhMWI0NmMzMjMw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCkBAIC0xMjksNiAr
MTI5LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPFByaXZhdGVDbGlja01l
YXN1cmVtZW50PiYgcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3By
aXZhdGVDbGlja01lYXN1cmVtZW50OyB9OwogICAgIHZvaWQgc2V0UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQoUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQmJiBwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCkg
eyBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ7IH07
CiAKKyAgICAvLyBUaGUgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHBhcmFt
ZXRlciB3aWxsIGdvIGF3YXkgd2hlbiB0aGUgRklYTUUgdG8gZWxpbWluYXRlIHRoZQorICAgIC8v
IGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIGZyb20gU2NyaXB0Q29udHJvbGxlcjo6ZXhlY3V0ZUlm
SmF2YVNjcmlwdFVSTCgpIGlzIGFkZHJlc3NlZC4KKyAgICBTaG91bGRSZXBsYWNlRG9jdW1lbnRJ
ZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkw7IH0KKyAg
ICB2b2lkIHNldFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTChTaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMKSB7IG1fc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMID0gc2hvdWxk
UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMOyB9CisKIHByaXZhdGU6CiAgICAgLy8gRG8g
bm90IGFkZCBhIHN0cm9uZyByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmF0aW5nIGRvY3VtZW50IG9y
IGEgc3Vib2JqZWN0IHRoYXQgaG9sZHMgdGhlCiAgICAgLy8gb3JpZ2luYXRpbmcgZG9jdW1lbnQu
IFNlZSBjb21tZW50IGFib3ZlIHRoZSBjbGFzcyBmb3IgbW9yZSBkZXRhaWxzLgpAQCAtMTQ5LDYg
KzE1NCw3IEBAIHByaXZhdGU6CiAgICAgTG9ja0hpc3RvcnkgbV9sb2NrSGlzdG9yeSB7IExvY2tI
aXN0b3J5OjpObyB9OwogICAgIExvY2tCYWNrRm9yd2FyZExpc3QgbV9sb2NrQmFja0ZvcndhcmRM
aXN0IHsgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8gfTsKICAgICBzdGQ6Om9wdGlvbmFsPFByaXZh
dGVDbGlja01lYXN1cmVtZW50PiBtX3ByaXZhdGVDbGlja01lYXN1cmVtZW50OworICAgIFNob3Vs
ZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBtX3Nob3VsZFJlcGxhY2VEb2N1bWVudElm
SmF2YVNjcmlwdFVSTCB7IFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCB9OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwCmluZGV4IDZkNzRjN2NkMzkzZGE1YTZmNDVlMGRkMGU1OWExNTdmYTYz
Mzk1YzUuLjg1YTgzZTVlZTBkOTczNDc1NzllMWViODI4YzhlMTE1YzY0Mzg4MTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTMxOCw2ICsz
MTgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGZyYW1lTG9hZFJlcXVlc3Quc2V0UmVmZXJyZXJQb2xp
Y3kobV9zdWJtaXNzaW9uLT5yZWZlcnJlclBvbGljeSgpKTsKICAgICAgICAgZnJhbWVMb2FkUmVx
dWVzdC5zZXROZXdGcmFtZU9wZW5lclBvbGljeShtX3N1Ym1pc3Npb24tPm5ld0ZyYW1lT3BlbmVy
UG9saWN5KCkpOwogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNldFNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3koc2hvdWxkT3BlbkV4dGVybmFsVVJMcygpKTsKKyAgICAgICAgZnJhbWVMb2Fk
UmVxdWVzdC5kaXNhYmxlU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCk7CiAg
ICAgICAgIG1fc3VibWlzc2lvbi0+cG9wdWxhdGVGcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJl
cXVlc3QpOwogICAgICAgICBmcmFtZS5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KFdURk1vdmUo
ZnJhbWVMb2FkUmVxdWVzdCksIG1fc3VibWlzc2lvbi0+ZXZlbnQoKSwgbV9zdWJtaXNzaW9uLT50
YWtlU3RhdGUoKSk7CiAgICAgfQpAQCAtNTA1LDggKzUwNiwxOCBAQCB2b2lkIE5hdmlnYXRpb25T
Y2hlZHVsZXI6OnNjaGVkdWxlRm9ybVN1Ym1pc3Npb24oUmVmPEZvcm1TdWJtaXNzaW9uPiYmIHN1
Ym1pc3NpbwogICAgICAgICAmJiAoc3VibWlzc2lvbi0+c3RhdGUoKS5mb3JtU3VibWlzc2lvblRy
aWdnZXIoKSA9PSBTdWJtaXR0ZWRCeUphdmFTY3JpcHQgJiYgbV9mcmFtZS50cmVlKCkucGFyZW50
KCkgJiYgIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkpIHsK
ICAgICAgICAgbG9ja0JhY2tGb3J3YXJkTGlzdCA9IExvY2tCYWNrRm9yd2FyZExpc3Q6OlllczsK
ICAgICB9CisKKyAgICBib29sIGlzSmF2YVNjcmlwdFVSTCA9IHN1Ym1pc3Npb24tPnJlcXVlc3RV
UkwoKS5wcm90b2NvbElzSmF2YVNjcmlwdCgpOworCisgICAgYXV0byBzY2hlZHVsZWRGb3JtU3Vi
bWlzc2lvbiA9IG1ha2VVbmlxdWU8U2NoZWR1bGVkRm9ybVN1Ym1pc3Npb24+KFdURk1vdmUoc3Vi
bWlzc2lvbiksIGxvY2tCYWNrRm9yd2FyZExpc3QsIGR1cmluZ0xvYWQpOworCisgICAgLy8gRklY
TUU6IFdlIGN1cnJlbnRseSBydW4gSmF2YVNjcmlwdCBVUkxzIHN5bmNocm9ub3VzbHkgZXZlbiB0
aG91Z2ggdGhpcyBkb2Vzbid0IGFwcGVhciB0byBtYXRjaCB0aGUgc3BlY2lmaWNhdGlvbi4KKyAg
ICBpZiAoaXNKYXZhU2NyaXB0VVJMKSB7CisgICAgICAgIHNjaGVkdWxlZEZvcm1TdWJtaXNzaW9u
LT5maXJlKG1fZnJhbWUpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIAotICAgIHNjaGVk
dWxlKG1ha2VVbmlxdWU8U2NoZWR1bGVkRm9ybVN1Ym1pc3Npb24+KFdURk1vdmUoc3VibWlzc2lv
biksIGxvY2tCYWNrRm9yd2FyZExpc3QsIGR1cmluZ0xvYWQpKTsKKyAgICBzY2hlZHVsZShXVEZN
b3ZlKHNjaGVkdWxlZEZvcm1TdWJtaXNzaW9uKSk7CiB9CiAKIHZvaWQgTmF2aWdhdGlvblNjaGVk
dWxlcjo6c2NoZWR1bGVSZWZyZXNoKERvY3VtZW50JiBpbml0aWF0aW5nRG9jdW1lbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmNwcAppbmRleCAxMzAzMDIzM2JjMzBmNjYw
ZmU3NDY3MGEyOTE2YmY4MWE3NmZiNDk0Li44MjkwMThjNWM5ODEwMDE0NzA2NGZlZDZjMWU0ZDlm
ZWYyOTgxYWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKQEAg
LTIyMyw2ICsyMjMsMTAgQEAgYm9vbCBGcmFtZUxvYWRlcjo6U3ViZnJhbWVMb2FkZXI6OnJlcXVl
c3RPYmplY3QoSFRNTFBsdWdJbkltYWdlRWxlbWVudCYgb3duZXJFbGUKIAogICAgIGRvY3VtZW50
LmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT51cGdyYWRlSW5zZWN1cmVSZXF1ZXN0SWZOZWVkZWQo
Y29tcGxldGVkVVJMLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Okluc2VjdXJlUmVxdWVzdFR5cGU6
OkxvYWQpOwogCisgICAgLy8gSGlzdG9yaWNhbGx5LCB3ZSBoYXZlbid0IHJ1biBqYXZhc2NyaXB0
IFVSTHMgaW4gPGVtYmVkPiAvIDxvYmplY3Q+IGVsZW1lbnRzLgorICAgIGlmIChjb21wbGV0ZWRV
UkwucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
Ym9vbCBoYXNGYWxsYmFja0NvbnRlbnQgPSBpczxIVE1MT2JqZWN0RWxlbWVudD4ob3duZXJFbGVt
ZW50KSAmJiBkb3duY2FzdDxIVE1MT2JqZWN0RWxlbWVudD4ob3duZXJFbGVtZW50KS5oYXNGYWxs
YmFja0NvbnRlbnQoKTsKIAogICAgIGJvb2wgdXNlRmFsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDZjNzY4MzI0
ODIwNjNmNmU1OTRmM2M1NTgyZGRmZDY3NTQ3ZGJmMS4uNzgyMmE5MGEzMjkzNTc2MDJmNjgwMWMy
ZDNhNjVjYmQyNWIyM2Y1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRv
IG5vdCBydW4gaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjM4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlv
dXQgdGVzdCBjb3ZlcmFnZS4gSSBoYXZlIHZlcmlmaWVkIHRoYXQgdGhlc2UgdGVzdHMgYXJlIHBh
c3NpbmcgaW4gYm90aAorICAgICAgICBDaHJvbWUgOTQgYW5kIEZpcmVmb3ggOTQuCisKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRh
cmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFt
ZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVy
bC1mb3JtLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRvdy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC5o
dG1sOiBBZGRlZC4KKwogMjAyMS0xMC0yNyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjg0NjUwLTI4NDY2MSk6IFtpT1Mx
NSBTaW1dIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1w
b2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLW11bHRpcGxlLXBvbGljaWVzLW11bHRpcGxlLWhh
c2hpbmctYWxnb3JpdGhtcy5odG1sIGlzIGEgdGV4dCBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCBjY2UzNTgxYjQxOTU5MjI2MTM2M2QyMjRhOGU4YmY4NzFmMTRhYjc2
Li4yY2YwOGVjZTdkNzc2NDE3MTRlNWE4NDAxNzY1MTJjNzMwYjg5OGJmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMC0yNyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEphdmFzY3JpcHQgVVJMcyBkbyBub3Qg
cnVuIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gdXNpbmcgZnJhbWUgdGFyZ2V0aW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIzODIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGluZy1hY3Jvc3Mt
ZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IGlzIG5vIGxvbmdl
ciB0aW1pbmcgb3V0IG5vdyB0aGF0IHdlIHJ1biB0aGUgamF2YXNjcmlwdCBVUkwgY29udGFpbmVk
IGluIHRoZSA8Zm9ybT4ncyBhY3Rpb24gaW4gdGhlIGNvbnRleHQKKyAgICAgICAgb2YgdGhlICJ0
ZXN0IiBpZnJhbWUgaW5zdGVhZCBvZiB0aGUgdG9wIGZyYW1lLiBIb3dldmVyLCB0aGUgdGVzdCBp
cyBzdGlsbCBmYWlsaW5nLCBwb3NzaWJseSBiZWNhdXNlIHRoZSBKYXZhU2NyaXB0CisgICAgICAg
IFVSTCBpcyBydW4gc3luY2hyb25vdXNseS4KKwogMjAyMS0xMC0yNyAgS2F0ZSBDaGVuZXkgIDxr
YXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjg0NjUw
LTI4NDY2MSk6IFtpT1MxNSBTaW1dIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29u
dGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLW11bHRpcGxlLXBvbGlj
aWVzLW11bHRpcGxlLWhhc2hpbmctYWxnb3JpdGhtcy5odG1sIGlzIGEgdGV4dCBmYWlsdXJlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3It
dGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlNmQ5YWZiNTYyOWIx
YTUzZWIzNWFlYWZhNTljZTU3MTA1MDA0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhl
IHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdl
dCBmcmFtZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5h
bWUgaXMgInRlc3RGcmFtZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2Ny
aXB0LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjkwYjk5YzdlNzAxNGQxOTIxY2Y5NzY0MDZlNWVlMGU2
MzgxYzgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNj
cmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNv
bnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBwb3B1cC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY29udGV4dE5hbWUgaXMgInRl
c3RQb3B1cCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1h
bmNob3ItdGFyZ2V0LW5ldy13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ph
dmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0
ZWMxNDk4OGJkODhjODA1YTQ1NTgyMDQ4YTcxMDYyMTgwN2Y0NzIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5l
dy13aW5kb3cuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1
dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0
aCBhIHRhcmdldCBwb3B1cC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBk
aWRSdW5KU1VSTEluQ29udGV4dChfY29udGV4dE5hbWUpCit7CisgICAgY29udGV4dE5hbWUgPSBf
Y29udGV4dE5hbWU7CisgICAgLy8gU2luY2UgdGhlIGFuY2hvciBoYXMgdGFyZ2V0PSJ0ZXN0UG9w
dXAiLCB0aGUgamF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRleHQgb2Yg
dGhlIHBvcHVwLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImNvbnRleHROYW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitv
bmxvYWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdEFuY2hvciIpLmNsaWNrKCk7Cit9OworPC9zY3JpcHQ+
Cis8YSBpZD0idGVzdEFuY2hvciIgdGFyZ2V0PSJ0ZXN0UG9wdXAiIGhyZWY9ImphdmFzY3JpcHQ6
b3BlbmVyLmRpZFJ1bkpTVVJMSW5Db250ZXh0KHdpbmRvdy5uYW1lKTsiIHN0eWxlPSJkaXNwbGF5
Om5vbmUiPkNsaWNrIG1lPC9hPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYwMzM1OGMwZmVlYzI4NTQ3Mjg2ZDA1MzVhMDlmYmY0MjE3MDZjMjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNo
b3ItdGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVj
dXRlIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGhyZWYgb24gYW4gYW5jaG9yIHdp
dGggYSB0YXJnZXQgZnJhbWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24g
ZGlkUnVuSlNVUkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0g
X2NvbnRleHROYW1lOworICAgIC8vIFNpbmNlIHRoZSBhbmNob3IgaGFzIHRhcmdldD0idGVzdEZy
YW1lIiwgdGhlIGphdmFzY3JpcHQgVVJMIHNob3VsZCBleGVjdXRlIGluIHRoZSBjb250ZXh0IG9m
IHRoZSB0ZXN0RnJhbWUsIG5vdCB0aGUgdG9wIGZyYW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiY29udGV4dE5hbWUiLCAidGVzdEZyYW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9
CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICB3aW5kb3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0QW5jaG9yIikuY2xpY2soKTsKK307Cis8L3Nj
cmlwdD4KKzxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4K
KzxhIGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgaHJlZj0iamF2YXNjcmlwdDp0
b3AuZGlkUnVuSlNVUkxJbkNvbnRleHQod2luZG93Lm5hbWUpOyIgc3R5bGU9ImRpc3BsYXk6bm9u
ZSI+Q2xpY2sgbWU8L2E+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTRhN2QyYTE4OWU4NjY3OTNhZGI0NWU0NTVkNjJjMDI2OTIzNWU3
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWZvcm0tdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUZXN0cyB0aGF0
IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMg
YWN0aW9uIG9uIGEgZm9ybSB3aXRoIGEgdGFyZ2V0IGZyYW1lLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBjb250ZXh0TmFtZSBpcyAidGVzdEZyYW1lIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdp
bmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVy
bC1mb3JtLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjUyODMy
OTQwNGNlY2U2Y2ZjODBhNGEyMzg2NWYxNjhjNDkwMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRv
dy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVS
TCBleGVjdXRlIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gc2V0IGFzIGFjdGlvbiBvbiBhIGZv
cm0gd2l0aCBhIHRhcmdldCBwb3B1cC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgY29udGV4dE5hbWUgaXMgInRlc3RQb3B1cCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmM1Zjc4ODk4Y2NhNWRhMDZlNGNlZjY0YTFiZjhjZjUyYzA3ZGE4
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWZvcm0tdGFyZ2V0LW5ldy13aW5kb3cuaHRtbApAQCAtMCwwICsxLDI2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGph
dmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiBzZXQgYXMgYWN0
aW9uIG9uIGEgZm9ybSB3aXRoIGEgdGFyZ2V0IHBvcHVwLiIpOworanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKK2Z1bmN0aW9uIGRpZFJ1bkpTVVJMSW5Db250ZXh0KF9jb250ZXh0TmFtZSkKK3sKKyAg
ICBjb250ZXh0TmFtZSA9IF9jb250ZXh0TmFtZTsKKyAgICAvLyBTaW5jZSB0aGUgZm9ybSBoYXMg
dGFyZ2V0PSJ0ZXN0UG9wdXAiLCB0aGUgamF2YXNjcmlwdCBVUkwgc2hvdWxkIGV4ZWN1dGUgaW4g
dGhlIGNvbnRleHQgb2YgdGhlIHBvcHVwLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImNvbnRleHROYW1lIiwgInRlc3RQb3B1cCIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfQorCitvbmxvYWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2lu
ZG93IjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2so
KTsKK307Cis8L3NjcmlwdD4KKzxmb3JtIGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RQb3B1
cCIgYWN0aW9uPSJqYXZhc2NyaXB0Om9wZW5lci5kaWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cu
bmFtZSk7Ij4KKzxpbnB1dCBpZD0ic3VibWl0QnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJD
bGljayBtZSI+PC9pbnB1dD4KKzwvZm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA1OThlOTA5YWY4ZGVjMDdkZWJjN2UyZGQ4OGZjYTNlYmRjMDhhYzkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1m
b3JtLXRhcmdldC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhl
Y3V0ZSBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBhcyBhY3Rpb24gb24gYSBmb3JtIHdp
dGggYSB0YXJnZXQgZnJhbWUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24g
ZGlkUnVuSlNVUkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0g
X2NvbnRleHROYW1lOworICAgIC8vIFNpbmNlIHRoZSBmb3JtIGhhcyB0YXJnZXQ9InRlc3RGcmFt
ZSIsIHRoZSBqYXZhc2NyaXB0IFVSTCBzaG91bGQgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0
aGUgdGVzdEZyYW1lLCBub3QgdGhlIHRvcCBmcmFtZS4KKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImNvbnRleHROYW1lIiwgInRlc3RGcmFtZSIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQor
CitvbmxvYWQgPSAoKSA9PiB7CisgICAgd2luZG93Lm5hbWUgPSAidG9wV2luZG93IjsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3VibWl0QnV0dG9uIikuY2xpY2soKTsKK307Cis8L3Nj
cmlwdD4KKzxpZnJhbWUgaWQ9InRlc3RGcmFtZSIgbmFtZT0idGVzdEZyYW1lIj48L2lmcmFtZT4K
Kzxmb3JtIGlkPSJ0ZXN0QW5jaG9yIiB0YXJnZXQ9InRlc3RGcmFtZSIgYWN0aW9uPSJqYXZhc2Ny
aXB0OnRvcC5kaWRSdW5KU1VSTEluQ29udGV4dCh3aW5kb3cubmFtZSk7Ij4KKzxpbnB1dCBpZD0i
c3VibWl0QnV0dG9uIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDbGljayBtZSI+PC9pbnB1dD4KKzwv
Zm9ybT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2phdmFzY3JpcHQtdXJsLWFsbG93ZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYWxsb3dlZC1leHBlY3RlZC50eHQKaW5kZXggM2Ex
YTlmNDc0NjZlNmY3MjE3MTc0MTBlNDFlZDIzY2M5ODBkN2I4Zi4uYTdhZmNjMTIwMWU2YTdiMGFl
MGYzZTg1OTkxYjRlM2ZkOTNlYTgzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYWxsb3dlZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTEs
NyArMSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IFRoZSAnYWxsb3cnIGRpcmVjdGl2ZSBoYXMgYmVl
biByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNyYycuIFBsZWFzZSB1c2UgdGhhdCBkaXJlY3RpdmUg
aW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8gZWZmZWN0LgogQ09OU09MRSBNRVNTQUdFOiBUaGUg
J2FsbG93JyBkaXJlY3RpdmUgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAnZGVmYXVsdC1zcmMnLiBQ
bGVhc2UgdXNlIHRoYXQgZGlyZWN0aXZlIGluc3RlYWQsIGFzICdhbGxvdycgaGFzIG5vIGVmZmVj
dC4KIENPTlNPTEUgTUVTU0FHRTogVGhlICdhbGxvdycgZGlyZWN0aXZlIGhhcyBiZWVuIHJlcGxh
Y2VkIHdpdGggJ2RlZmF1bHQtc3JjJy4gUGxlYXNlIHVzZSB0aGF0IGRpcmVjdGl2ZSBpbnN0ZWFk
LCBhcyAnYWxsb3cnIGhhcyBubyBlZmZlY3QuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSAnYWxsb3cn
IGRpcmVjdGl2ZSBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNyYycuIFBsZWFzZSB1
c2UgdGhhdCBkaXJlY3RpdmUgaW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8gZWZmZWN0LgotQ09O
U09MRSBNRVNTQUdFOiBUaGUgJ2FsbG93JyBkaXJlY3RpdmUgaGFzIGJlZW4gcmVwbGFjZWQgd2l0
aCAnZGVmYXVsdC1zcmMnLiBQbGVhc2UgdXNlIHRoYXQgZGlyZWN0aXZlIGluc3RlYWQsIGFzICdh
bGxvdycgaGFzIG5vIGVmZmVjdC4KIEFMRVJUOiBQQVNTCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2phdmFzY3JpcHQt
dXJsLWJsb2NrZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYmxvY2tlZC1leHBlY3RlZC50
eHQKaW5kZXggMjA2MWIzY2YzMTZjNWE3MmNhY2RhNWFlZGUyYjRhMjgwYzBkZjkwZC4uOTMyZTA1
MWZkNWZmYjRjNTQ4MjBlZWY2MGE1MzBjZmM2NDgxZGE2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvamF2YXNjcmlwdC11
cmwtYmxvY2tlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYmxvY2tlZC1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSw1IEBACiBDT05TT0xFIE1FU1NBR0U6IFRoZSAnYWxsb3cnIGRpcmVj
dGl2ZSBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNyYycuIFBsZWFzZSB1c2UgdGhh
dCBkaXJlY3RpdmUgaW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8gZWZmZWN0LgogQ09OU09MRSBN
RVNTQUdFOiBUaGUgJ2FsbG93JyBkaXJlY3RpdmUgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAnZGVm
YXVsdC1zcmMnLiBQbGVhc2UgdXNlIHRoYXQgZGlyZWN0aXZlIGluc3RlYWQsIGFzICdhbGxvdycg
aGFzIG5vIGVmZmVjdC4KIENPTlNPTEUgTUVTU0FHRTogVGhlICdhbGxvdycgZGlyZWN0aXZlIGhh
cyBiZWVuIHJlcGxhY2VkIHdpdGggJ2RlZmF1bHQtc3JjJy4gUGxlYXNlIHVzZSB0aGF0IGRpcmVj
dGl2ZSBpbnN0ZWFkLCBhcyAnYWxsb3cnIGhhcyBubyBlZmZlY3QuCi1DT05TT0xFIE1FU1NBR0U6
IFRoZSAnYWxsb3cnIGRpcmVjdGl2ZSBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNy
YycuIFBsZWFzZSB1c2UgdGhhdCBkaXJlY3RpdmUgaW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8g
ZWZmZWN0LgotQ09OU09MRSBNRVNTQUdFOiBUaGUgJ2FsbG93JyBkaXJlY3RpdmUgaGFzIGJlZW4g
cmVwbGFjZWQgd2l0aCAnZGVmYXVsdC1zcmMnLiBQbGVhc2UgdXNlIHRoYXQgZGlyZWN0aXZlIGlu
c3RlYWQsIGFzICdhbGxvdycgaGFzIG5vIGVmZmVjdC4KIENPTlNPTEUgTUVTU0FHRTogUmVmdXNl
ZCB0byBleGVjdXRlIGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25jZSwgb3IgJ3Vu
c2FmZS1pbmxpbmUnIGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUg
b2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvYnJvd3Npbmct
dGhlLXdlYi9uYXZpZ2F0aW5nLWFjcm9zcy1kb2N1bWVudHMvMDEwLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9i
cm93c2luZy10aGUtd2ViL25hdmlnYXRpbmctYWNyb3NzLWRvY3VtZW50cy8wMTAtZXhwZWN0ZWQu
dHh0CmluZGV4IDAwYzc0OTEzYmM0MTRjNmE3YzZmYmQ1ZTJhZThhOWViODg3ZGI4YzcuLjU1NWZh
ODU0NWE0OWI4YzRhZTBhZmYxN2FmOWNlN2I0ODllMWM3OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2lu
Zy10aGUtd2ViL25hdmlnYXRpbmctYWNyb3NzLWRvY3VtZW50cy8wMTAtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy9icm93c2luZy10aGUtd2ViL25hdmlnYXRpbmctYWNyb3NzLWRvY3VtZW50cy8wMTAtZXhw
ZWN0ZWQudHh0CkBAIC0xLDUgKzEsNCBAQAogCi1IYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKLQotVElNRU9VVCBMaW5rIHdpdGggb25jbGljayBmb3JtIHN1Ym1pdCB0byBq
YXZhc2NyaXB0IHVybCB3aXRoIGRlbGF5ZWQgZG9jdW1lbnQud3JpdGUgYW5kIGhyZWYgbmF2aWdh
dGlvbiAgVGVzdCB0aW1lZCBvdXQKK0ZBSUwgTGluayB3aXRoIG9uY2xpY2sgZm9ybSBzdWJtaXQg
dG8gamF2YXNjcmlwdCB1cmwgd2l0aCBkZWxheWVkIGRvY3VtZW50LndyaXRlIGFuZCBocmVmIG5h
dmlnYXRpb24gIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJocmVmIiBidXQgZ290ICJ3cml0ZSIK
IAorVGVzdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443204</attachid>
            <date>2021-11-03 09:30:10 -0700</date>
            <delta_ts>2021-11-03 10:28:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232382-20211103093009.patch</filename>
            <type>text/plain</type>
            <size>27799</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWY0MWU0NzFlMWQzMTg3
NjVhNTg2NjBhY2ZiYWFmOTQyN2VlM2Y0MS4uOWQ4MzZlY2I2YWZjZDIyNjU4NDJmNmQxYjc2ZmU2
ZWE5M2IzNjU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSmF2YXNjcmlwdCBVUkxzIGRv
IG5vdCBydW4gaW4gdGhlIHJpZ2h0IGNvbnRleHQgd2hlbiB1c2luZyBmcmFtZSB0YXJnZXRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjM4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgSmF2YXNj
cmlwdCBVUkxzIGRpZCBub3QgcnVuIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gdXNpbmcgZnJh
bWUgdGFyZ2V0aW5nCisgICAgICAgIChlLmcuIGA8YSB0YXJnZXQ9ImZvbyIgc3JjPSJqYXZhc2Ny
aXB0Oi4uLiI+YCkuIFdlIHdvdWxkIHByZXZpb3VzbHkgcnVuIHRoZQorICAgICAgICBKYXZhU2Ny
aXB0IFVSTCBpbiB0aGUgY29udGV4dCBvZiB0aGUgYW5jaG9yIGluc3RlYWQgb2YgdGhlIHRhcmdl
dCBmcmFtZS93aW5kb3cuCisKKyAgICAgICAgQWxzbywgd2Ugd291bGQgZmFpbCB0byBvcGVuIGEg
bmV3IHBvcHVwIHdoZW4gdGhlcmUgaXMgbm8gZXhpc3RpbmcgZnJhbWUgd2l0aAorICAgICAgICB0
aGUgZ2l2ZW4gdGFyZ2V0IG5hbWUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGUgaXNz
dWUgYnkgZG9pbmcgdGhlIGV4ZWN1dGVKYXZhU2NyaXB0VVJMKCkgY2FsbCBsYXRlciwKKyAgICAg
ICAgaW5zaWRlIG9mIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24oKSwgb25j
ZSB3ZSd2ZSBhbHJlYWR5IHJlc29sdmVkCisgICAgICAgIHRoZSB0YXJnZXQgZnJhbWUgYW5kIGNy
ZWF0ZWQgYSBuZXcgd2luZG93IGlmIG5lY2Vzc2FyeS4KKworICAgICAgICBUaGlzIGFsaWducyBv
dXIgYmVoYXZpb3Igd2l0aCBib3RoIENocm9tZSBhbmQgRmlyZWZveC4KKworICAgICAgICBUZXN0
czogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJn
ZXQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10
YXJnZXQtbmV3LXdpbmRvdy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2ZyYW1lcy9qYXZhc2Ny
aXB0LXVybC1mb3JtLXRhcmdldC5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmV4ZWN1
dGVKYXZhU2NyaXB0VVJMKToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayk6CisgICAg
ICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEZv
cm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAqIGxvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGb3JtU3VibWlzc2lvbjo6cmVxdWVzdFVSTCBjb25zdCk6Cisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpjaGFuZ2VMb2NhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6
c3VibWl0Rm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFVSTCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkUG9zdFJlcXVlc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmV3V2luZG93UG9saWN5
KToKKyAgICAgICAgKiBsb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6TmF2aWdhdGlvbkFjdGlvbjo6c2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJM
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246OnNldFNob3VsZFJl
cGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCk6CisgICAgICAgICogbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6
c2NoZWR1bGVGb3JtU3VibWlzc2lvbik6CisKIDIwMjEtMTEtMDMgIENocmlzIExvcmQgIDxjbG9y
ZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXNlIHRoZSBkaXNwbGF5IHJlZnJl
c2ggdG8gZHJpdmUgc2Nyb2xsaW5nIGFuaW1hdGlvbnMgKHN5bmMgc2Nyb2xsKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAppbmRleCBhMDI5ZDQ2M2ZhMDg3MzgzMjAw
YWMxYmJmNDhlMDM4OTdmMzNlMDA3Li43NTc1ZTIwMGZmZDI5YThhZWI2MjFlNDFkYTRiYWMwY2Uy
ZThjOGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAt
NTI4LDcgKzUyOCw3IEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKEV2ZW50
JiBldmVudCkKIAogICAgIGF1dG8gZWZmZWN0aXZlVGFyZ2V0ID0gdGhpcy0+ZWZmZWN0aXZlVGFy
Z2V0KCk7CiAgICAgTmV3RnJhbWVPcGVuZXJQb2xpY3kgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBO
ZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3c7Ci0gICAgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9P
cGVuZXIpIHx8IGhhc1JlbChSZWxhdGlvbjo6Tm9SZWZlcnJlcikgfHwgKCFoYXNSZWwoUmVsYXRp
b246Ok9wZW5lcikgJiYgZG9jdW1lbnQoKS5zZXR0aW5ncygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1w
bGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGlzQmxhbmtUYXJnZXRGcmFtZU5hbWUoZWZmZWN0aXZl
VGFyZ2V0KSkpCisgICAgaWYgKGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpIHx8IGhhc1JlbChS
ZWxhdGlvbjo6Tm9SZWZlcnJlcikgfHwgKCFoYXNSZWwoUmVsYXRpb246Ok9wZW5lcikgJiYgZG9j
dW1lbnQoKS5zZXR0aW5ncygpLmJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxl
ZCgpICYmIGlzQmxhbmtUYXJnZXRGcmFtZU5hbWUoZWZmZWN0aXZlVGFyZ2V0KSAmJiAhY29tcGxl
dGVkVVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCkpKQogICAgICAgICBuZXdGcmFtZU9wZW5lclBv
bGljeSA9IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzczsKIAogICAgIGF1dG8gcHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQgPSBwYXJzZVByaXZhdGVDbGlja01lYXN1cmVtZW50KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggNTgzNWUwMDY1ZGVhMGUwOTg3
NzQzMWMyZGZjYjMwM2JjOWIwNDVmOC4uNjJmYTk5ZWEwODlmOWQ3NTc5OGZhMmQ4OWZiMzI2NTEy
NjE0ODIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtNDI4
LDcgKzQyOCw3IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBi
b29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHByb2NlCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGF1dG8gcmVsQXR0cmlidXRlcyA9IHBhcnNlRm9ybVJlbEF0dHJpYnV0ZXMoZ2V0QXR0cmli
dXRlKEhUTUxOYW1lczo6cmVsQXR0cikpOwotICAgIGlmIChyZWxBdHRyaWJ1dGVzLm5vb3BlbmVy
IHx8IHJlbEF0dHJpYnV0ZXMubm9yZWZlcnJlciB8fCAoIXJlbEF0dHJpYnV0ZXMub3BlbmVyICYm
IGRvY3VtZW50KCkuc2V0dGluZ3MoKS5ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVu
YWJsZWQoKSAmJiBpc0JsYW5rVGFyZ2V0RnJhbWVOYW1lKGZvcm1TdWJtaXNzaW9uLT50YXJnZXQo
KSkpKQorICAgIGlmIChyZWxBdHRyaWJ1dGVzLm5vb3BlbmVyIHx8IHJlbEF0dHJpYnV0ZXMubm9y
ZWZlcnJlciB8fCAoIXJlbEF0dHJpYnV0ZXMub3BlbmVyICYmIGRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQoKSAmJiBpc0JsYW5rVGFy
Z2V0RnJhbWVOYW1lKGZvcm1TdWJtaXNzaW9uLT50YXJnZXQoKSkgJiYgIWZvcm1TdWJtaXNzaW9u
LT5yZXF1ZXN0VVJMKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkpCiAgICAgICAgIGZvcm1TdWJt
aXNzaW9uLT5zZXROZXdGcmFtZU9wZW5lclBvbGljeShOZXdGcmFtZU9wZW5lclBvbGljeTo6U3Vw
cHJlc3MpOwogICAgIGlmIChyZWxBdHRyaWJ1dGVzLm5vcmVmZXJyZXIpCiAgICAgICAgIGZvcm1T
dWJtaXNzaW9uLT5zZXRSZWZlcnJlclBvbGljeShSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCBhZTkyYWRkODc1
NjA1MWQwNTZhMjMwMmRkY2JjNDg5YjEwZTc0ODQyLi40NjQ5NTdlMzBkMTNhZTBiNjMxMGNlY2Vi
MDFmNWY0NWUyOWQwYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5j
cHAKQEAgLTI0Niw3ICsyNDYsOCBAQCBVUkwgRm9ybVN1Ym1pc3Npb246OnJlcXVlc3RVUkwoKSBj
b25zdAogICAgICAgICByZXR1cm4gbV9hY3Rpb247CiAKICAgICBVUkwgcmVxdWVzdFVSTChtX2Fj
dGlvbik7Ci0gICAgcmVxdWVzdFVSTC5zZXRRdWVyeShtX2Zvcm1EYXRhLT5mbGF0dGVuVG9TdHJp
bmcoKSk7CisgICAgaWYgKCFyZXF1ZXN0VVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCkpCisgICAg
ICAgIHJlcXVlc3RVUkwuc2V0UXVlcnkobV9mb3JtRGF0YS0+ZmxhdHRlblRvU3RyaW5nKCkpOwog
ICAgIHJldHVybiByZXF1ZXN0VVJMOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAppbmRleCAyMDYzZWFkOTdhYWYzYjQxZTU0NjhhZmViZmM0N2M0OGE5OTMzYWY0Li45NWVm
NWNhODVjZTA2ZDFiYzgyYzdmNWVlN2Q1NWRjNzdlYzQ4YjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKQEAgLTQ0NiwxMiArNDQ2LDYgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
Y2hhbmdlTG9jYXRpb24oRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lUmVxdWVzdCwgRXZlbnQqIHRy
aWdnZXIKIAogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKIAotICAgIGlmIChmcmFt
ZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkg
ewotICAgICAgICBtX2ZyYW1lLnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKGZyYW1lUmVx
dWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKSwgJmZyYW1lUmVxdWVzdC5yZXF1ZXN0ZXIoKS5z
ZWN1cml0eU9yaWdpbigpLCBmcmFtZVJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZh
U2NyaXB0VVJMKCkpOwotICAgICAgICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIGlmIChmcmFtZVJlcXVlc3QuZnJhbWVOYW1lKCku
aXNFbXB0eSgpKQogICAgICAgICBmcmFtZVJlcXVlc3Quc2V0RnJhbWVOYW1lKG1fZnJhbWUuZG9j
dW1lbnQoKS0+YmFzZVRhcmdldCgpKTsKIApAQCAtNDgzLDE0ICs0NzcsNiBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpzdWJtaXRGb3JtKFJlZjxGb3JtU3VibWlzc2lvbj4mJiBzdWJtaXNzaW9uKQogICAg
IGlmICghbV9mcmFtZS5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dG
b3JtQWN0aW9uKGZvcm1BY3Rpb24pKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoZm9ybUFj
dGlvbi5wcm90b2NvbElzSmF2YVNjcmlwdCgpKSB7Ci0gICAgICAgIG1faXNFeGVjdXRpbmdKYXZh
U2NyaXB0Rm9ybUFjdGlvbiA9IHRydWU7Ci0gICAgICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2Zy
YW1lKTsKLSAgICAgICAgbV9mcmFtZS5zY3JpcHQoKS5leGVjdXRlSmF2YVNjcmlwdFVSTChzdWJt
aXNzaW9uLT5hY3Rpb24oKSwgbnVsbHB0ciwgRG9Ob3RSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3Jp
cHRVUkwpOwotICAgICAgICBtX2lzRXhlY3V0aW5nSmF2YVNjcmlwdEZvcm1BY3Rpb24gPSBmYWxz
ZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAgIEZyYW1lKiB0YXJnZXRGcmFtZSA9IGZp
bmRGcmFtZUZvck5hdmlnYXRpb24oc3VibWlzc2lvbi0+dGFyZ2V0KCksICZzdWJtaXNzaW9uLT5z
dGF0ZSgpLnNvdXJjZURvY3VtZW50KCkpOwogICAgIGlmICghdGFyZ2V0RnJhbWUpIHsKICAgICAg
ICAgaWYgKCFET01XaW5kb3c6OmFsbG93UG9wVXAobV9mcmFtZSkgJiYgIVVzZXJHZXN0dXJlSW5k
aWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSkKQEAgLTEzNjYsNiArMTM1Miw3IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OmxvYWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lTG9hZFJlcXVl
c3QsIGNvbnN0IFN0cmluZyYgcmVmCiAgICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyBmcmFt
ZUxvYWRSZXF1ZXN0LnJlcXVlc3RlcigpLCByZXF1ZXN0LCBmcmFtZUxvYWRSZXF1ZXN0LmluaXRp
YXRlZEJ5TWFpbkZyYW1lKCksIG5ld0xvYWRUeXBlLCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCwg
ZnJhbWVMb2FkUmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCksIGZyYW1lTG9h
ZFJlcXVlc3QuZG93bmxvYWRBdHRyaWJ1dGUoKSB9OwogICAgIGFjdGlvbi5zZXRMb2NrSGlzdG9y
eShmcmFtZUxvYWRSZXF1ZXN0LmxvY2tIaXN0b3J5KCkpOwogICAgIGFjdGlvbi5zZXRMb2NrQmFj
a0ZvcndhcmRMaXN0KGZyYW1lTG9hZFJlcXVlc3QubG9ja0JhY2tGb3J3YXJkTGlzdCgpKTsKKyAg
ICBhY3Rpb24uc2V0U2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKGZyYW1lTG9h
ZFJlcXVlc3Quc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOwogICAgIGlm
IChwcml2YXRlQ2xpY2tNZWFzdXJlbWVudCAmJiBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpCiAgICAg
ICAgIGFjdGlvbi5zZXRQcml2YXRlQ2xpY2tNZWFzdXJlbWVudChXVEZNb3ZlKCpwcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudCkpOwogCkBAIC0xNDk2LDYgKzE0ODMsMTIgQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgTmF2aWcKIHsKICAgICBGUkFNRUxPQURFUl9SRUxFQVNFX0xPRyhSZXNvdXJjZUxvYWRpbmcs
ICJsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb246IGZyYW1lIGxvYWQgc3RhcnRlZCIpOwogCisgICAg
aWYgKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKSkgeworICAgICAgICBtX2Zy
YW1lLnNjcmlwdCgpLmV4ZWN1dGVKYXZhU2NyaXB0VVJMKHJlcXVlc3QudXJsKCksIGFjdGlvbi5y
ZXF1ZXN0ZXIoKSA/IGFjdGlvbi5yZXF1ZXN0ZXIoKS0+c2VjdXJpdHlPcmlnaW4ucHRyKCkgOiBu
dWxscHRyLCBhY3Rpb24uc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKCkpOwor
ICAgICAgICBtX3F1aWNrUmVkaXJlY3RDb21pbmcgPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKCk7CisgICAgfQorCiAgICAgUmVmPERvY3VtZW50TG9hZGVyPiBsb2Fk
ZXIgPSBtX2NsaWVudC0+Y3JlYXRlRG9jdW1lbnRMb2FkZXIocmVxdWVzdCwgZGVmYXVsdFN1YnN0
aXR1dGVEYXRhRm9yVVJMKHJlcXVlc3QudXJsKCkpKTsKICAgICBhcHBseVNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3lUb05ld0RvY3VtZW50TG9hZGVyKG1fZnJhbWUsIGxvYWRlciwgYWN0aW9u
LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGFjdGlvbi5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5KCkpOwogCkBAIC0zMDcyLDYgKzMwNjUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkUG9z
dFJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdCYmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgcmVmZQog
CiAgICAgTmF2aWdhdGlvbkFjdGlvbiBhY3Rpb24geyByZXF1ZXN0LnJlcXVlc3RlcigpLCB3b3Jr
aW5nUmVzb3VyY2VSZXF1ZXN0LCByZXF1ZXN0LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIGxvYWRU
eXBlLCB0cnVlLCBldmVudCwgcmVxdWVzdC5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KCks
IHsgfSB9OwogICAgIGFjdGlvbi5zZXRMb2NrSGlzdG9yeShsb2NrSGlzdG9yeSk7CisgICAgYWN0
aW9uLnNldFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTChyZXF1ZXN0LnNob3Vs
ZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCgpKTsKIAogICAgIGlmICghZnJhbWVOYW1l
LmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUaGUgc2VhcmNoIGZvciBhIHRhcmdldCBmcmFtZSBp
cyBkb25lIGVhcmxpZXIgaW4gdGhlIGNhc2Ugb2YgZm9ybSBzdWJtaXNzaW9uLgpAQCAtMzU2Niw2
ICszNTYwLDEwIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmV3V2luZG93
UG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzCiAgICAgICAgIHJldHVybjsKIAog
ICAgIFJlZjxGcmFtZT4gZnJhbWUobV9mcmFtZSk7CisKKyAgICBpZiAocmVxdWVzdC51cmwoKS5w
cm90b2NvbElzSmF2YVNjcmlwdCgpICYmICFmcmFtZS0+ZG9jdW1lbnQoKS0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmFsbG93SmF2YVNjcmlwdFVSTHMoZnJhbWUtPmRvY3VtZW50KCktPnVybCgp
LnN0cmluZygpLCB7IH0sIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkpKQorICAgICAgICByZXR1cm47
CisKICAgICBSZWZQdHI8RnJhbWU+IG1haW5GcmFtZSA9IG1fY2xpZW50LT5kaXNwYXRjaENyZWF0
ZVBhZ2UoYWN0aW9uLCBvcGVuZXJQb2xpY3kpOwogICAgIGlmICghbWFpbkZyYW1lKQogICAgICAg
ICByZXR1cm47CkBAIC0zNTg1LDYgKzM1ODMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51
ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlcwog
ICAgIH0KIAogICAgIE5hdmlnYXRpb25BY3Rpb24gbmV3QWN0aW9uIHsgKmZyYW1lLT5kb2N1bWVu
dCgpLCByZXF1ZXN0LCBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biwgTmF2aWdhdGlvblR5
cGU6Ok90aGVyLCBhY3Rpb24uc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBudWxscHRy
LCBhY3Rpb24uZG93bmxvYWRBdHRyaWJ1dGUoKSB9OworICAgIG5ld0FjdGlvbi5zZXRTaG91bGRS
ZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwoYWN0aW9uLnNob3VsZFJlcGxhY2VEb2N1bWVu
dElmSmF2YVNjcmlwdFVSTCgpKTsKICAgICBtYWluRnJhbWUtPmxvYWRlcigpLmxvYWRXaXRoTmF2
aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBXVEZNb3ZlKG5ld0FjdGlvbiksIEZyYW1lTG9hZFR5cGU6
OlN0YW5kYXJkLCBmb3JtU3RhdGUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCmluZGV4IDE2M2NjN2U4M2Ni
ZDU1OTlmZWE3NTM3MGQ3OTM0Y2MwOWFkZjEzZmMuLmM5ZTQyY2I0MTRhY2Y2N2IzZDA3NGYxYThj
YmQ0YTFiNDZjMzIzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24u
aApAQCAtMTI5LDYgKzEyOSwxMSBAQCBwdWJsaWM6CiAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudD4mIHByaXZhdGVDbGlja01lYXN1cmVtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudDsgfTsKICAgICB2b2lkIHNldFByaXZh
dGVDbGlja01lYXN1cmVtZW50KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYgcHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQpIHsgbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVudCA9IHByaXZhdGVDbGlja01l
YXN1cmVtZW50OyB9OwogCisgICAgLy8gVGhlIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNj
cmlwdFVSTCBwYXJhbWV0ZXIgd2lsbCBnbyBhd2F5IHdoZW4gdGhlIEZJWE1FIHRvIGVsaW1pbmF0
ZSB0aGUKKyAgICAvLyBjb3JyZXNwb25kaW5nIHBhcmFtZXRlciBmcm9tIFNjcmlwdENvbnRyb2xs
ZXI6OmV4ZWN1dGVJZkphdmFTY3JpcHRVUkwoKSBpcyBhZGRyZXNzZWQuCisgICAgU2hvdWxkUmVw
bGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNj
cmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2Ny
aXB0VVJMOyB9CisgICAgdm9pZCBzZXRTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRV
UkwoU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1
bWVudElmSmF2YVNjcmlwdFVSTCkgeyBtX3Nob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlw
dFVSTCA9IHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTDsgfQorCiBwcml2YXRl
OgogICAgIC8vIERvIG5vdCBhZGQgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hdGlu
ZyBkb2N1bWVudCBvciBhIHN1Ym9iamVjdCB0aGF0IGhvbGRzIHRoZQogICAgIC8vIG9yaWdpbmF0
aW5nIGRvY3VtZW50LiBTZWUgY29tbWVudCBhYm92ZSB0aGUgY2xhc3MgZm9yIG1vcmUgZGV0YWls
cy4KQEAgLTE0OSw2ICsxNTQsNyBAQCBwcml2YXRlOgogICAgIExvY2tIaXN0b3J5IG1fbG9ja0hp
c3RvcnkgeyBMb2NrSGlzdG9yeTo6Tm8gfTsKICAgICBMb2NrQmFja0ZvcndhcmRMaXN0IG1fbG9j
a0JhY2tGb3J3YXJkTGlzdCB7IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vIH07CiAgICAgc3RkOjpv
cHRpb25hbDxQcml2YXRlQ2xpY2tNZWFzdXJlbWVudD4gbV9wcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDsKKyAgICBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgbV9zaG91bGRSZXBs
YWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgeyBSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRV
UkwgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCBmNmI1NjhjZjNlNmU0YjFiNzU4MDk4
NWQwYjJkNDY4YjlhYjI5ZWYxLi43NjRmODg2ODQ0N2I2ZTVhNjQ3ZDk5MDgxOWZjNGRlZDRmZDIx
YzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC0zMTgsNiArMzE4LDcgQEAgcHVibGljOgogICAgICAgICBmcmFtZUxvYWRSZXF1ZXN0LnNl
dFJlZmVycmVyUG9saWN5KG1fc3VibWlzc2lvbi0+cmVmZXJyZXJQb2xpY3koKSk7CiAgICAgICAg
IGZyYW1lTG9hZFJlcXVlc3Quc2V0TmV3RnJhbWVPcGVuZXJQb2xpY3kobV9zdWJtaXNzaW9uLT5u
ZXdGcmFtZU9wZW5lclBvbGljeSgpKTsKICAgICAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRTaG91
bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KHNob3VsZE9wZW5FeHRlcm5hbFVSTHMoKSk7CisgICAg
ICAgIGZyYW1lTG9hZFJlcXVlc3QuZGlzYWJsZVNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNj
cmlwdFVSTCgpOwogICAgICAgICBtX3N1Ym1pc3Npb24tPnBvcHVsYXRlRnJhbWVMb2FkUmVxdWVz
dChmcmFtZUxvYWRSZXF1ZXN0KTsKICAgICAgICAgZnJhbWUubG9hZGVyKCkubG9hZEZyYW1lUmVx
dWVzdChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpLCBtX3N1Ym1pc3Npb24tPmV2ZW50KCksIG1f
c3VibWlzc2lvbi0+dGFrZVN0YXRlKCkpOwogICAgIH0KQEAgLTUwNSw4ICs1MDYsMTggQEAgdm9p
ZCBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVsZUZvcm1TdWJtaXNzaW9uKFJlZjxGb3JtU3Vi
bWlzc2lvbj4mJiBzdWJtaXNzaW8KICAgICAgICAgJiYgKHN1Ym1pc3Npb24tPnN0YXRlKCkuZm9y
bVN1Ym1pc3Npb25UcmlnZ2VyKCkgPT0gU3VibWl0dGVkQnlKYXZhU2NyaXB0ICYmIG1fZnJhbWUu
dHJlZSgpLnBhcmVudCgpICYmICFVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlKCkpKSB7CiAgICAgICAgIGxvY2tCYWNrRm9yd2FyZExpc3QgPSBMb2NrQmFja0Zvcndh
cmRMaXN0OjpZZXM7CiAgICAgfQorCisgICAgYm9vbCBpc0phdmFTY3JpcHRVUkwgPSBzdWJtaXNz
aW9uLT5yZXF1ZXN0VVJMKCkucHJvdG9jb2xJc0phdmFTY3JpcHQoKTsKKworICAgIGF1dG8gc2No
ZWR1bGVkRm9ybVN1Ym1pc3Npb24gPSBtYWtlVW5pcXVlPFNjaGVkdWxlZEZvcm1TdWJtaXNzaW9u
PihXVEZNb3ZlKHN1Ym1pc3Npb24pLCBsb2NrQmFja0ZvcndhcmRMaXN0LCBkdXJpbmdMb2FkKTsK
KworICAgIC8vIEZJWE1FOiBXZSBjdXJyZW50bHkgcnVuIEphdmFTY3JpcHQgVVJMcyBzeW5jaHJv
bm91c2x5IGV2ZW4gdGhvdWdoIHRoaXMgZG9lc24ndCBhcHBlYXIgdG8gbWF0Y2ggdGhlIHNwZWNp
ZmljYXRpb24uCisgICAgaWYgKGlzSmF2YVNjcmlwdFVSTCkgeworICAgICAgICBzY2hlZHVsZWRG
b3JtU3VibWlzc2lvbi0+ZmlyZShtX2ZyYW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAg
ICAKLSAgICBzY2hlZHVsZShtYWtlVW5pcXVlPFNjaGVkdWxlZEZvcm1TdWJtaXNzaW9uPihXVEZN
b3ZlKHN1Ym1pc3Npb24pLCBsb2NrQmFja0ZvcndhcmRMaXN0LCBkdXJpbmdMb2FkKSk7CisgICAg
c2NoZWR1bGUoV1RGTW92ZShzY2hlZHVsZWRGb3JtU3VibWlzc2lvbikpOwogfQogCiB2b2lkIE5h
dmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlUmVmcmVzaChEb2N1bWVudCYgaW5pdGlhdGluZ0Rv
Y3VtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5jcHAKaW5kZXggMTMw
MzAyMzNiYzMwZjY2MGZlNzQ2NzBhMjkxNmJmODFhNzZmYjQ5NC4uODI5MDE4YzVjOTgxMDAxNDcw
NjRmZWQ2YzFlNGQ5ZmVmMjk4MWFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YmZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVM
b2FkZXIuY3BwCkBAIC0yMjMsNiArMjIzLDEwIEBAIGJvb2wgRnJhbWVMb2FkZXI6OlN1YmZyYW1l
TG9hZGVyOjpyZXF1ZXN0T2JqZWN0KEhUTUxQbHVnSW5JbWFnZUVsZW1lbnQmIG93bmVyRWxlCiAK
ICAgICBkb2N1bWVudC5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+dXBncmFkZUluc2VjdXJlUmVx
dWVzdElmTmVlZGVkKGNvbXBsZXRlZFVSTCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpJbnNlY3Vy
ZVJlcXVlc3RUeXBlOjpMb2FkKTsKIAorICAgIC8vIEhpc3RvcmljYWxseSwgd2UgaGF2ZW4ndCBy
dW4gamF2YXNjcmlwdCBVUkxzIGluIDxlbWJlZD4gLyA8b2JqZWN0PiBlbGVtZW50cy4KKyAgICBp
ZiAoY29tcGxldGVkVVJMLnByb3RvY29sSXNKYXZhU2NyaXB0KCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKwogICAgIGJvb2wgaGFzRmFsbGJhY2tDb250ZW50ID0gaXM8SFRNTE9iamVjdEVsZW1l
bnQ+KG93bmVyRWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTE9iamVjdEVsZW1lbnQ+KG93bmVyRWxl
bWVudCkuaGFzRmFsbGJhY2tDb250ZW50KCk7CiAKICAgICBib29sIHVzZUZhbGxiYWNrOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDAzZjk2ZGMyOTYxYjk5MmM2NDYyNTRjZWRlMWE2NzVjOGY5MjQ0NmUuLjMzOTZmY2RhNTFk
MzM5MTBmYTk5YWJjODU3NjI1YWUyZWYwZDg2NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
MS0xMC0yNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEphdmFz
Y3JpcHQgVVJMcyBkbyBub3QgcnVuIGluIHRoZSByaWdodCBjb250ZXh0IHdoZW4gdXNpbmcgZnJh
bWUgdGFyZ2V0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzIzODIKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisg
ICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4gSSBoYXZlIHZlcmlmaWVkIHRoYXQgdGhl
c2UgdGVzdHMgYXJlIHBhc3NpbmcgaW4gYm90aAorICAgICAgICBDaHJvbWUgOTQgYW5kIEZpcmVm
b3ggOTQuCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFy
Z2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlw
dC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1uZXctd2luZG93
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hv
ci10YXJnZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11
cmwtZm9ybS10YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9qYXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3
LXdpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVy
bC1mb3JtLXRhcmdldC5odG1sOiBBZGRlZC4KKwogMjAyMS0xMS0wMyAgVGltIE5ndXllbiAgPG50
aW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgcmVuZGVyLWxheWVyLXJlYnVpbGQtei1vcmRl
ci1saXN0cy5odG1sIHVzZSBhbiBIVE1MIHJlZmVyZW5jZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggM2RmZWUzN2M1NTA4NDkyNzA5YmE3ZTI1ZGFiNTU3NzNkNGUxZDQ1Zi4uYzIy
YmRhZjY1NTAzNTg5NzI0Mjc5MjIwZDFkOTBmOGU2NDQyOTM0YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMjcgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBKYXZhc2NyaXB0IFVSTHMgZG8gbm90IHJ1biBp
biB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHVzaW5nIGZyYW1lIHRhcmdldGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMzgyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGluZy1hY3Jvc3MtZG9j
dW1lbnRzLzAxMC1leHBlY3RlZC50eHQ6CisgICAgICAgIFRoZSB0ZXN0IGlzIG5vIGxvbmdlciB0
aW1pbmcgb3V0IG5vdyB0aGF0IHdlIHJ1biB0aGUgamF2YXNjcmlwdCBVUkwgY29udGFpbmVkIGlu
IHRoZSA8Zm9ybT4ncyBhY3Rpb24gaW4gdGhlIGNvbnRleHQKKyAgICAgICAgb2YgdGhlICJ0ZXN0
IiBpZnJhbWUgaW5zdGVhZCBvZiB0aGUgdG9wIGZyYW1lLiBIb3dldmVyLCB0aGUgdGVzdCBpcyBz
dGlsbCBmYWlsaW5nLCBwb3NzaWJseSBiZWNhdXNlIHRoZSBKYXZhU2NyaXB0CisgICAgICAgIFVS
TCBpcyBydW4gc3luY2hyb25vdXNseS4KKwogMjAyMS0xMS0wMSAgTWljaGFlbFt0bV0gU21pdGgg
IDxtaWtlQHczLm9yZz4KIAogICAgICAgICBbV2ViSW5zcGVjdG9yXVtDT1JTXSBTaG93IEhUVFAg
c3RhdHVzIGNvZGUgaW4gQ09SUyBtZXNzYWdlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdldC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2U2ZDlhZmI1NjI5YjFhNTNlYjM1YWVhZmE1OWNlNTcxMDUwMDQ4
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWFuY2hvci10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRo
YXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBh
cyBocmVmIG9uIGFuIGFuY2hvciB3aXRoIGEgdGFyZ2V0IGZyYW1lLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBjb250ZXh0TmFtZSBpcyAidGVzdEZyYW1lIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3
LXdpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0
LXVybC1hbmNob3ItdGFyZ2V0LW5ldy13aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2
OTBiOTljN2U3MDE0ZDE5MjFjZjk3NjQwNmU1ZWUwZTYzODFjODMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0LW5l
dy13aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3RzIHRoYXQgamF2YXNj
cmlwdCBVUkwgZXhlY3V0ZSBpbiB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBhcyBocmVmIG9u
IGFuIGFuY2hvciB3aXRoIGEgdGFyZ2V0IHBvcHVwLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBjb250ZXh0TmFtZSBpcyAidGVzdFBvcHVwIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtYW5jaG9yLXRhcmdl
dC1uZXctd2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDRlYzE0OTg4YmQ4OGM4MDVhNDU1ODIwNDhh
NzEwNjIxODA3ZjQ3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQtbmV3LXdpbmRvdy5odG1sCkBAIC0wLDAgKzEs
MjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBpbiB0aGUgcmlnaHQgY29udGV4dCB3
aGVuIHNldCBhcyBocmVmIG9uIGFuIGFuY2hvciB3aXRoIGEgdGFyZ2V0IHBvcHVwLiIpOworanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIGRpZFJ1bkpTVVJMSW5Db250ZXh0KF9jb250
ZXh0TmFtZSkKK3sKKyAgICBjb250ZXh0TmFtZSA9IF9jb250ZXh0TmFtZTsKKyAgICAvLyBTaW5j
ZSB0aGUgYW5jaG9yIGhhcyB0YXJnZXQ9InRlc3RQb3B1cCIsIHRoZSBqYXZhc2NyaXB0IFVSTCBz
aG91bGQgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgcG9wdXAsIG5vdCB0aGUgdG9wIGZy
YW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE5hbWUiLCAidGVzdFBvcHVw
Iik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICB3aW5k
b3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
QW5jaG9yIikuY2xpY2soKTsKK307Cis8L3NjcmlwdD4KKzxhIGlkPSJ0ZXN0QW5jaG9yIiB0YXJn
ZXQ9InRlc3RQb3B1cCIgaHJlZj0iamF2YXNjcmlwdDpvcGVuZXIuZGlkUnVuSlNVUkxJbkNvbnRl
eHQod2luZG93Lm5hbWUpOyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+Q2xpY2sgbWU8L2E+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZhc2Ny
aXB0LXVybC1hbmNob3ItdGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZh
c2NyaXB0LXVybC1hbmNob3ItdGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAzMzU4YzBmZWVjMjg1
NDcyODZkMDUzNWEwOWZiZjQyMTcwNmMyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWFuY2hvci10YXJnZXQuaHRtbApAQCAtMCwwICsx
LDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCJUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNvbnRleHQg
d2hlbiBzZXQgYXMgaHJlZiBvbiBhbiBhbmNob3Igd2l0aCBhIHRhcmdldCBmcmFtZS4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBkaWRSdW5KU1VSTEluQ29udGV4dChfY29u
dGV4dE5hbWUpCit7CisgICAgY29udGV4dE5hbWUgPSBfY29udGV4dE5hbWU7CisgICAgLy8gU2lu
Y2UgdGhlIGFuY2hvciBoYXMgdGFyZ2V0PSJ0ZXN0RnJhbWUiLCB0aGUgamF2YXNjcmlwdCBVUkwg
c2hvdWxkIGV4ZWN1dGUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHRlc3RGcmFtZSwgbm90IHRoZSB0
b3AgZnJhbWUuCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TmFtZSIsICJ0ZXN0
RnJhbWUiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworb25sb2FkID0gKCkgPT4geworICAg
IHdpbmRvdy5uYW1lID0gInRvcFdpbmRvdyI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRlc3RBbmNob3IiKS5jbGljaygpOworfTsKKzwvc2NyaXB0PgorPGlmcmFtZSBpZD0idGVzdEZy
YW1lIiBuYW1lPSJ0ZXN0RnJhbWUiPjwvaWZyYW1lPgorPGEgaWQ9InRlc3RBbmNob3IiIHRhcmdl
dD0idGVzdEZyYW1lIiBocmVmPSJqYXZhc2NyaXB0OnRvcC5kaWRSdW5KU1VSTEluQ29udGV4dCh3
aW5kb3cubmFtZSk7IiBzdHlsZT0iZGlzcGxheTpub25lIj5DbGljayBtZTwvYT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQt
dXJsLWZvcm0tdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ph
dmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGE3ZDJh
MTg5ZTg2Njc5M2FkYjQ1ZTQ1NWQ2MmMwMjY5MjM1ZTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Rlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBp
biB0aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBhcyBhY3Rpb24gb24gYSBmb3JtIHdpdGggYSB0
YXJnZXQgZnJhbWUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNvbnRl
eHROYW1lIGlzICJ0ZXN0RnJhbWUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9q
YXZhc2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0LW5ldy13aW5kb3ct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NTI4MzI5NDA0Y2VjZTZjZmM4MGE0YTIzODY1ZjE2
OGM0OTAxOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9qYXZh
c2NyaXB0LXVybC1mb3JtLXRhcmdldC1uZXctd2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACitUZXN0cyB0aGF0IGphdmFzY3JpcHQgVVJMIGV4ZWN1dGUgaW4gdGhlIHJpZ2h0IGNv
bnRleHQgd2hlbiBzZXQgYXMgYWN0aW9uIG9uIGEgZm9ybSB3aXRoIGEgdGFyZ2V0IHBvcHVwLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBjb250ZXh0TmFtZSBpcyAidGVz
dFBvcHVwIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZv
cm0tdGFyZ2V0LW5ldy13aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2phdmFz
Y3JpcHQtdXJsLWZvcm0tdGFyZ2V0LW5ldy13aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzVmNzg4
OThjY2E1ZGEwNmU0Y2VmNjRhMWJmOGNmNTJjMDdkYTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvamF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQtbmV3LXdpbmRv
dy5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgamF2YXNjcmlwdCBVUkwgZXhlY3V0ZSBpbiB0
aGUgcmlnaHQgY29udGV4dCB3aGVuIHNldCBhcyBhY3Rpb24gb24gYSBmb3JtIHdpdGggYSB0YXJn
ZXQgcG9wdXAuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gZGlkUnVuSlNV
UkxJbkNvbnRleHQoX2NvbnRleHROYW1lKQoreworICAgIGNvbnRleHROYW1lID0gX2NvbnRleHRO
YW1lOworICAgIC8vIFNpbmNlIHRoZSBmb3JtIGhhcyB0YXJnZXQ9InRlc3RQb3B1cCIsIHRoZSBq
YXZhc2NyaXB0IFVSTCBzaG91bGQgZXhlY3V0ZSBpbiB0aGUgY29udGV4dCBvZiB0aGUgcG9wdXAs
IG5vdCB0aGUgdG9wIGZyYW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE5h
bWUiLCAidGVzdFBvcHVwIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29ubG9hZCA9ICgp
ID0+IHsKKyAgICB3aW5kb3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdWJtaXRCdXR0b24iKS5jbGljaygpOworfTsKKzwvc2NyaXB0PgorPGZvcm0g
aWQ9InRlc3RBbmNob3IiIHRhcmdldD0idGVzdFBvcHVwIiBhY3Rpb249ImphdmFzY3JpcHQ6b3Bl
bmVyLmRpZFJ1bkpTVVJMSW5Db250ZXh0KHdpbmRvdy5uYW1lKTsiPgorPGlucHV0IGlkPSJzdWJt
aXRCdXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IkNsaWNrIG1lIj48L2lucHV0PgorPC9mb3Jt
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
amF2YXNjcmlwdC11cmwtZm9ybS10YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDU5OGU5MDlhZjhk
ZWMwN2RlYmM3ZTJkZDg4ZmNhM2ViZGMwOGFjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2phdmFzY3JpcHQtdXJsLWZvcm0tdGFyZ2V0Lmh0bWwKQEAgLTAsMCAr
MSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCBqYXZhc2NyaXB0IFVSTCBleGVjdXRlIGluIHRoZSByaWdodCBjb250ZXh0
IHdoZW4gc2V0IGFzIGFjdGlvbiBvbiBhIGZvcm0gd2l0aCBhIHRhcmdldCBmcmFtZS4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBkaWRSdW5KU1VSTEluQ29udGV4dChfY29u
dGV4dE5hbWUpCit7CisgICAgY29udGV4dE5hbWUgPSBfY29udGV4dE5hbWU7CisgICAgLy8gU2lu
Y2UgdGhlIGZvcm0gaGFzIHRhcmdldD0idGVzdEZyYW1lIiwgdGhlIGphdmFzY3JpcHQgVVJMIHNo
b3VsZCBleGVjdXRlIGluIHRoZSBjb250ZXh0IG9mIHRoZSB0ZXN0RnJhbWUsIG5vdCB0aGUgdG9w
IGZyYW1lLgorICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE5hbWUiLCAidGVzdEZy
YW1lIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICB3
aW5kb3cubmFtZSA9ICJ0b3BXaW5kb3ciOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
dWJtaXRCdXR0b24iKS5jbGljaygpOworfTsKKzwvc2NyaXB0PgorPGlmcmFtZSBpZD0idGVzdEZy
YW1lIiBuYW1lPSJ0ZXN0RnJhbWUiPjwvaWZyYW1lPgorPGZvcm0gaWQ9InRlc3RBbmNob3IiIHRh
cmdldD0idGVzdEZyYW1lIiBhY3Rpb249ImphdmFzY3JpcHQ6dG9wLmRpZFJ1bkpTVVJMSW5Db250
ZXh0KHdpbmRvdy5uYW1lKTsiPgorPGlucHV0IGlkPSJzdWJtaXRCdXR0b24iIHR5cGU9InN1Ym1p
dCIgdmFsdWU9IkNsaWNrIG1lIj48L2lucHV0PgorPC9mb3JtPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9qYXZhc2NyaXB0LXVy
bC1hbGxvd2VkLWV4cGVjdGVkLnR4dAppbmRleCAzYTFhOWY0NzQ2NmU2ZjcyMTcxNzQxMGU0MWVk
MjNjYzk4MGQ3YjhmLi5hN2FmY2MxMjAxZTZhN2IwYWUwZjNlODU5OTFiNGUzZmQ5M2VhODMyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9qYXZhc2NyaXB0LXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9qYXZhc2NyaXB0
LXVybC1hbGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIENPTlNPTEUgTUVTU0FH
RTogVGhlICdhbGxvdycgZGlyZWN0aXZlIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJ2RlZmF1bHQt
c3JjJy4gUGxlYXNlIHVzZSB0aGF0IGRpcmVjdGl2ZSBpbnN0ZWFkLCBhcyAnYWxsb3cnIGhhcyBu
byBlZmZlY3QuCiBDT05TT0xFIE1FU1NBR0U6IFRoZSAnYWxsb3cnIGRpcmVjdGl2ZSBoYXMgYmVl
biByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNyYycuIFBsZWFzZSB1c2UgdGhhdCBkaXJlY3RpdmUg
aW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8gZWZmZWN0LgogQ09OU09MRSBNRVNTQUdFOiBUaGUg
J2FsbG93JyBkaXJlY3RpdmUgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAnZGVmYXVsdC1zcmMnLiBQ
bGVhc2UgdXNlIHRoYXQgZGlyZWN0aXZlIGluc3RlYWQsIGFzICdhbGxvdycgaGFzIG5vIGVmZmVj
dC4KLUNPTlNPTEUgTUVTU0FHRTogVGhlICdhbGxvdycgZGlyZWN0aXZlIGhhcyBiZWVuIHJlcGxh
Y2VkIHdpdGggJ2RlZmF1bHQtc3JjJy4gUGxlYXNlIHVzZSB0aGF0IGRpcmVjdGl2ZSBpbnN0ZWFk
LCBhcyAnYWxsb3cnIGhhcyBubyBlZmZlY3QuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSAnYWxsb3cn
IGRpcmVjdGl2ZSBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNyYycuIFBsZWFzZSB1
c2UgdGhhdCBkaXJlY3RpdmUgaW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8gZWZmZWN0LgogQUxF
UlQ6IFBBU1MKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvamF2YXNjcmlwdC11cmwtYmxvY2tlZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9q
YXZhc2NyaXB0LXVybC1ibG9ja2VkLWV4cGVjdGVkLnR4dAppbmRleCAyMDYxYjNjZjMxNmM1YTcy
Y2FjZGE1YWVkZTJiNGEyODBjMGRmOTBkLi45MzJlMDUxZmQ1ZmZiNGM1NDgyMGVlZjYwYTUzMGNm
YzY0ODFkYTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9qYXZhc2NyaXB0LXVybC1ibG9ja2VkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9qYXZhc2NyaXB0LXVybC1ibG9ja2VkLWV4cGVjdGVkLnR4dApAQCAtMSw3ICsxLDUgQEAKIENP
TlNPTEUgTUVTU0FHRTogVGhlICdhbGxvdycgZGlyZWN0aXZlIGhhcyBiZWVuIHJlcGxhY2VkIHdp
dGggJ2RlZmF1bHQtc3JjJy4gUGxlYXNlIHVzZSB0aGF0IGRpcmVjdGl2ZSBpbnN0ZWFkLCBhcyAn
YWxsb3cnIGhhcyBubyBlZmZlY3QuCiBDT05TT0xFIE1FU1NBR0U6IFRoZSAnYWxsb3cnIGRpcmVj
dGl2ZSBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNyYycuIFBsZWFzZSB1c2UgdGhh
dCBkaXJlY3RpdmUgaW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8gZWZmZWN0LgogQ09OU09MRSBN
RVNTQUdFOiBUaGUgJ2FsbG93JyBkaXJlY3RpdmUgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAnZGVm
YXVsdC1zcmMnLiBQbGVhc2UgdXNlIHRoYXQgZGlyZWN0aXZlIGluc3RlYWQsIGFzICdhbGxvdycg
aGFzIG5vIGVmZmVjdC4KLUNPTlNPTEUgTUVTU0FHRTogVGhlICdhbGxvdycgZGlyZWN0aXZlIGhh
cyBiZWVuIHJlcGxhY2VkIHdpdGggJ2RlZmF1bHQtc3JjJy4gUGxlYXNlIHVzZSB0aGF0IGRpcmVj
dGl2ZSBpbnN0ZWFkLCBhcyAnYWxsb3cnIGhhcyBubyBlZmZlY3QuCi1DT05TT0xFIE1FU1NBR0U6
IFRoZSAnYWxsb3cnIGRpcmVjdGl2ZSBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICdkZWZhdWx0LXNy
YycuIFBsZWFzZSB1c2UgdGhhdCBkaXJlY3RpdmUgaW5zdGVhZCwgYXMgJ2FsbG93JyBoYXMgbm8g
ZWZmZWN0LgogQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBzY3JpcHQgYmVj
YXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZlLWlubGluZScgZG9lcyBub3QgYXBw
ZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQ
b2xpY3kuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy9icm93c2luZy10aGUtd2ViL25hdmlnYXRpbmctYWNyb3Nz
LWRvY3VtZW50cy8wMTAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGlu
Zy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQKaW5kZXggMDBjNzQ5MTNiYzQxNGM2
YTdjNmZiZDVlMmFlOGE5ZWI4ODdkYjhjNy4uNTU1ZmE4NTQ1YTQ5YjhjNGFlMGFmZjE3YWY5Y2U3
YjQ4OWUxYzc5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2aWdhdGluZy1hY3Jv
c3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL2Jyb3dzaW5nLXRoZS13ZWIvbmF2
aWdhdGluZy1hY3Jvc3MtZG9jdW1lbnRzLzAxMC1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBA
CiAKLUhhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAotCi1USU1FT1VUIExp
bmsgd2l0aCBvbmNsaWNrIGZvcm0gc3VibWl0IHRvIGphdmFzY3JpcHQgdXJsIHdpdGggZGVsYXll
ZCBkb2N1bWVudC53cml0ZSBhbmQgaHJlZiBuYXZpZ2F0aW9uICBUZXN0IHRpbWVkIG91dAorRkFJ
TCBMaW5rIHdpdGggb25jbGljayBmb3JtIHN1Ym1pdCB0byBqYXZhc2NyaXB0IHVybCB3aXRoIGRl
bGF5ZWQgZG9jdW1lbnQud3JpdGUgYW5kIGhyZWYgbmF2aWdhdGlvbiAgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImhyZWYiIGJ1dCBnb3QgIndyaXRlIgogCitUZXN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>