<?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>182893</bug_id>
          
          <creation_ts>2018-02-16 15:27:30 -0800</creation_ts>
          <short_desc>[WebAuthn] Require user gestures for LocalAuthenticator</short_desc>
          <delta_ts>2020-04-30 21:43:33 -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>WebCore Misc.</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>181943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiewen Tan">jiewen_tan</reporter>
          <assigned_to name="Jiewen Tan">jiewen_tan</assigned_to>
          <cc>ackermann.yuriy</cc>
    
    <cc>alex.gaynor</cc>
    
    <cc>bfulgham</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>jonathan</cc>
    
    <cc>jschoi</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1400070</commentid>
    <comment_count>0</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-02-16 15:27:30 -0800</bug_when>
    <thetext>Malicious sites could employ WebAuthN to bother users for requests to use biometrics infinitely. It would be nice to require user gestures to prevent such attacks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450530</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-15 17:07:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/43357293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455048</commentid>
    <comment_count>2</comment_count>
    <who name="Yuriy Ackermann">ackermann.yuriy</who>
    <bug_when>2018-08-29 17:15:30 -0700</bug_when>
    <thetext>Authenticators must do TUP/UV before every operation. The only check you must do is when attestation returned and its set DIRECT, then you must obtain consent from the user to return it to the server.

Biometrics authenticators block fingerprint after 5 tries per security requirements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455051</commentid>
    <comment_count>3</comment_count>
    <who name="Yuriy Ackermann">ackermann.yuriy</who>
    <bug_when>2018-08-29 17:17:00 -0700</bug_when>
    <thetext>https://w3c.github.io/webauthn/#user-verification</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455846</commentid>
    <comment_count>4</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-08-31 13:56:28 -0700</bug_when>
    <thetext>(In reply to Yuriy Ackermann (FIDO Alliance) from comment #2)
&gt; Authenticators must do TUP/UV before every operation. The only check you
&gt; must do is when attestation returned and its set DIRECT, then you must
&gt; obtain consent from the user to return it to the server.
&gt; 
&gt; Biometrics authenticators block fingerprint after 5 tries per security
&gt; requirements

Thanks for your comment. I didn&apos;t see that user consent is needed for &quot;DIRECT&quot; attestation in the https://www.w3.org/TR/webauthn/ as of Aug 7th 2018. I know FireFox does this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455847</commentid>
    <comment_count>5</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-08-31 13:58:38 -0700</bug_when>
    <thetext>Besides user gesture, we might want to consider:
2) focus, if the requesting page has focus,
3) or even background tab.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455957</commentid>
    <comment_count>6</comment_count>
    <who name="Yuriy Ackermann">ackermann.yuriy</who>
    <bug_when>2018-09-01 04:37:25 -0700</bug_when>
    <thetext>As far as I know Chrome/Firefox are blocking secure API&apos;s if page is out of focus:

&gt; https://w3c.github.io/webauthn/#abortoperation

&gt; The visibility and focus state of the Window object determines whether the [[Create]](origin, options, sameOriginWithAncestors) and [[DiscoverFromExternalSource]](origin, options, sameOriginWithAncestors) operations should continue. When the Window object associated with the [Document loses focus, [[Create]](origin, options, sameOriginWithAncestors) and [[DiscoverFromExternalSource]](origin, options, sameOriginWithAncestors) operations SHOULD be aborted.

Again, this has issues for softAuthenticatos, like SoftU2F, which obviously changes a focus and so causes API to fail. So need careful consideration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459294</commentid>
    <comment_count>7</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2018-09-13 01:12:57 -0700</bug_when>
    <thetext>Another attach scenario could also be solved by requiring user gesture: https://www.w3.org/TR/webauthn/#sec-make-credential-privacy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532583</commentid>
    <comment_count>8</comment_count>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2019-05-02 18:48:29 -0700</bug_when>
    <thetext>UserGesture is hard to be required for cross-platform authenticators as RPs nowadays like Google would not expect that. Instead, it should be required for our platform authenticators only.

Will have a separate bug to add the check whether the document has focus. This though can be required for all, which also aligns with Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647178</commentid>
    <comment_count>9</comment_count>
      <attachid>398000</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-04-29 15:12:55 -0700</bug_when>
    <thetext>Created attachment 398000
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647182</commentid>
    <comment_count>10</comment_count>
      <attachid>398001</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-04-29 15:30:49 -0700</bug_when>
    <thetext>Created attachment 398001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647237</commentid>
    <comment_count>11</comment_count>
      <attachid>398015</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-04-29 18:32:13 -0700</bug_when>
    <thetext>Created attachment 398015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647238</commentid>
    <comment_count>12</comment_count>
      <attachid>398016</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-04-29 18:33:15 -0700</bug_when>
    <thetext>Created attachment 398016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647518</commentid>
    <comment_count>13</comment_count>
      <attachid>398016</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-04-30 13:11:34 -0700</bug_when>
    <thetext>Comment on attachment 398016
Patch

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

Looks good. r=me

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:-1194
&gt; -    [[configuration preferences] _setEnabled:YES forExperimentalFeature:webAuthenticationLocalAuthenticatorExperimentalFeature()];

I assume these preferences are no longer needed, and this is just cleanup?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647590</commentid>
    <comment_count>14</comment_count>
      <attachid>398016</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-04-30 15:24:04 -0700</bug_when>
    <thetext>Comment on attachment 398016
Patch

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

Thanks Brent for the r+.

&gt;&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:-1194
&gt;&gt; -    [[configuration preferences] _setEnabled:YES forExperimentalFeature:webAuthenticationLocalAuthenticatorExperimentalFeature()];
&gt; 
&gt; I assume these preferences are no longer needed, and this is just cleanup?

No, I change the mock testing implementation such that it will have the feature enabled by default. In real environment, it is still a default off experimental feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647592</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-30 15:28:03 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 398016 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647757</commentid>
    <comment_count>16</comment_count>
      <attachid>398157</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2020-04-30 21:15:00 -0700</bug_when>
    <thetext>Created attachment 398157
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647759</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-30 21:43:33 -0700</bug_when>
    <thetext>Committed r260983: &lt;https://trac.webkit.org/changeset/260983&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398157.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398000</attachid>
            <date>2020-04-29 15:12:55 -0700</date>
            <delta_ts>2020-04-29 15:30:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182893-20200429151254.patch</filename>
            <type>text/plain</type>
            <size>41176</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZjN2MyOTU1ZjM1MWFmNjky
ZjI0ZTZkNDVlYzhiMTc2MzQ0ZWIwZjUuLjkwNzc4NTRlMTc2NDQyMDM2NGE1NTM0YWUyNWM3ZDU1
ZmUzN2MyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMDQtMjkgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFJlcXVpcmUg
dXNlciBnZXN0dXJlcyBmb3IgTG9jYWxBdXRoZW50aWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzMzU3MjkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRvck1hbmFnZXI6OmZpbHRlclRyYW5zcG9ydHMgY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdG9yTWFuYWdlcjo6Z2V0VHJhbnNwb3J0cyBjb25zdCk6CisgICAg
ICAgIENoZWNrcyBVc2VyR2VzdHVyZSBoZXJlLiBTaW5jZSBmaWx0ZXJUcmFuc3BvcnRzIHdpbGwg
YmUgb3ZlcnJpZGVkIGluIG1vY2sgdGVzdGluZ3MsCisgICAgICAgIGFsbCBtb2NrIHRlc3RzIGRv
bid0IHJlcXVpcmUgdXNlciBnZXN0dXJlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
Om1ha2VDcmVkZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVudGlhbCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6Z2V0QXNzZXJ0aW9uKToKKyAgICAgICAgQWRk
cyB1c2VyIGdlc3R1cmUgY29ycmVzcG9uZGluZyBmaWVsZHMuCisKIDIwMjAtMDQtMjQgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBTUEkgY2xp
ZW50cyB1c2luZyBmYXN0U2VydmVyVHJ1c3RFdmFsdWF0aW9uRW5hYmxlZCBuZWVkIFNQSSB0byBp
bmZvcm0gdGhlbSBvZiBtb2Rlcm4gVExTIG5lZ290aWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dG9yTWFuYWdlci5jcHAKaW5kZXggNWFiNWM5MGYwZmFhYmIxNDgzN2NjYzdhNGViNmQ2MzVjODYy
YzFlYS4uMzU5ZWU0Y2RjZmYzNTdhYTE4ZTkzYjljZjZkN2NhMDkwNWU5YmU2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcApAQCAtMzEwLDYgKzMxMCwxMiBAQCB2b2lkIEF1
dGhlbnRpY2F0b3JNYW5hZ2VyOjpmaWx0ZXJUcmFuc3BvcnRzKFRyYW5zcG9ydFNldCYgdHJhbnNw
b3J0cykgY29uc3QKICAgICAgICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGljYXRvclRyYW5z
cG9ydDo6TmZjKTsKICAgICBpZiAoIUxvY2FsU2VydmljZTo6aXNBdmFpbGFibGUoKSkKICAgICAg
ICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGljYXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwor
CisgICAgaWYgKCFpc0ZlYXR1cmVFbmFibGVkKG1fcGVuZGluZ1JlcXVlc3REYXRhLnBhZ2UuZ2V0
KCksIFdlYlByZWZlcmVuY2VzS2V5Ojp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckVuYWJsZWRLZXkoKSkpCisgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRpY2F0b3JU
cmFuc3BvcnQ6OkludGVybmFsKTsKKyAgICAvLyBMb2NhbCBhdXRoZW50aWNhdG9yIG1pZ2h0IGlu
dm9rZSBzeXN0ZW0gVUkgd2hpY2ggc2hvdWxkIGRlZmluaXRlbHkgbm90IGJlIGFibGUgdG8gdHJp
Z2dlciBieSBzY3JpcHRzIGF1dG9tYXRpY2FsbHkuCisgICAgaWYgKCFtX3BlbmRpbmdSZXF1ZXN0
RGF0YS5wcm9jZXNzaW5nVXNlckdlc3R1cmUpCisgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1
dGhlbnRpY2F0b3JUcmFuc3BvcnQ6OkludGVybmFsKTsKIH0KIAogdm9pZCBBdXRoZW50aWNhdG9y
TWFuYWdlcjo6c3RhcnREaXNjb3ZlcnkoY29uc3QgVHJhbnNwb3J0U2V0JiB0cmFuc3BvcnRzKQpA
QCAtMzk1LDggKzQwMSw2IEBAIGF1dG8gQXV0aGVudGljYXRvck1hbmFnZXI6OmdldFRyYW5zcG9y
dHMoKSBjb25zdCAtPiBUcmFuc3BvcnRTZXQKICAgICB9LCBbJl0oY29uc3QgUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zJiBvcHRpb25zKSB7CiAgICAgICAgIHRyYW5zcG9ydHMgPSBj
b2xsZWN0VHJhbnNwb3J0cyhvcHRpb25zLmFsbG93Q3JlZGVudGlhbHMpOwogICAgIH0pOwotICAg
IGlmICghaXNGZWF0dXJlRW5hYmxlZChtX3BlbmRpbmdSZXF1ZXN0RGF0YS5wYWdlLmdldCgpLCBX
ZWJQcmVmZXJlbmNlc0tleTo6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFbmFi
bGVkS2V5KCkpKQotICAgICAgICB0cmFuc3BvcnRzLnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNw
b3J0OjpJbnRlcm5hbCk7CiAgICAgZmlsdGVyVHJhbnNwb3J0cyh0cmFuc3BvcnRzKTsKICAgICBy
ZXR1cm4gdHJhbnNwb3J0czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVx
dWVzdERhdGEuaAppbmRleCAyZjYxMzQ1M2VlMzRkNGFlN2FjN2E2N2UyOGZhYzY1NjA4MTdlNGRj
Li4wNGVkYzY3NTQyMzZiN2JmNWUyMjI1NTg4NDFjNDkxMzY4NWQyYjAyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlv
blJlcXVlc3REYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oCkBAIC01MCw2ICs1MCw3IEBAIHN0
cnVjdCBXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhIHsKICAgICBSZWZQdHI8QVBJOjpXZWJB
dXRoZW50aWNhdGlvblBhbmVsPiBwYW5lbDsKICAgICBXVEY6Ok9wdGlvbmFsPFdlYkNvcmU6Okds
b2JhbEZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRDsKICAgICBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEg
ZnJhbWVJbmZvOworICAgIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOwogfTsKIAogV2ViQ29y
ZTo6Q2xpZW50RGF0YVR5cGUgZ2V0Q2xpZW50RGF0YVR5cGUoY29uc3QgVmFyaWFudDxXZWJDb3Jl
OjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLCBXZWJDb3JlOjpQdWJsaWNLZXlD
cmVkZW50aWFsUmVxdWVzdE9wdGlvbnM+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggYjFkMTRhZmRkMDZlZWFmMjk4YmVi
YmFmOGU3MDVlOGRmOThkNWZmNy4uN2FlY2QxODk2Njk4M2Q1MWJlZmQ4OGJmMzljNjA3Y2UzNjU5
MWRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5LmNwcApAQCAtNTUsMTQgKzU1LDE0IEBAIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
clByb3h5Ojp+V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkoKQogICAgIG1fd2ViUGFn
ZVByb3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFn
ZVByb3h5LndlYlBhZ2VJRCgpKTsKIH0KIAotdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3JQcm94eTo6bWFrZUNyZWRlbnRpYWwoRnJhbWVJZGVudGlmaWVyIGZyYW1lSWQsIEZyYW1lSW5m
b0RhdGEmJiBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFB1YmxpY0tleUNyZWRl
bnRpYWxDcmVhdGlvbk9wdGlvbnMmJiBvcHRpb25zLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXIm
JiBoYW5kbGVyKQordm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6bWFrZUNy
ZWRlbnRpYWwoRnJhbWVJZGVudGlmaWVyIGZyYW1lSWQsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUlu
Zm8sIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMmJiBvcHRpb25zLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgUmVxdWVzdENvbXBs
ZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKIHsKLSAgICBoYW5kbGVSZXF1ZXN0KHsgV1RGTW92ZSho
YXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIobV93ZWJQYWdlUHJveHkpLCBXZWJB
dXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJsZSwgbnVsbHB0ciwgR2xvYmFsRnJh
bWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCksIGZyYW1lSWQgfSwgV1RG
TW92ZShmcmFtZUluZm8pIH0sIFdURk1vdmUoaGFuZGxlcikpOworICAgIGhhbmRsZVJlcXVlc3Qo
eyBXVEZNb3ZlKGhhc2gpLCBXVEZNb3ZlKG9wdGlvbnMpLCBtYWtlV2Vha1B0cihtX3dlYlBhZ2VQ
cm94eSksIFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxSZXN1bHQ6OlVuYXZhaWxhYmxlLCBudWxscHRy
LCBHbG9iYWxGcmFtZUlkZW50aWZpZXIgeyBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgZnJh
bWVJZCB9LCBXVEZNb3ZlKGZyYW1lSW5mbyksIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSB9LCBXVEZN
b3ZlKGhhbmRsZXIpKTsKIH0KIAotdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94
eTo6Z2V0QXNzZXJ0aW9uKEZyYW1lSWRlbnRpZmllciBmcmFtZUlkLCBGcmFtZUluZm9EYXRhJiYg
ZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJsaWNLZXlDcmVkZW50aWFsUmVx
dWVzdE9wdGlvbnMmJiBvcHRpb25zLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVy
KQordm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6Z2V0QXNzZXJ0aW9uKEZy
YW1lSWRlbnRpZmllciBmcmFtZUlkLCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBWZWN0b3I8
dWludDhfdD4mJiBoYXNoLCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiBvcHRp
b25zLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVy
JiYgaGFuZGxlcikKIHsKLSAgICBoYW5kbGVSZXF1ZXN0KHsgV1RGTW92ZShoYXNoKSwgV1RGTW92
ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIobV93ZWJQYWdlUHJveHkpLCBXZWJBdXRoZW50aWNhdGlv
blBhbmVsUmVzdWx0OjpVbmF2YWlsYWJsZSwgbnVsbHB0ciwgR2xvYmFsRnJhbWVJZGVudGlmaWVy
IHsgbV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCksIGZyYW1lSWQgfSwgV1RGTW92ZShmcmFtZUlu
Zm8pIH0sIFdURk1vdmUoaGFuZGxlcikpOworICAgIGhhbmRsZVJlcXVlc3QoeyBXVEZNb3ZlKGhh
c2gpLCBXVEZNb3ZlKG9wdGlvbnMpLCBtYWtlV2Vha1B0cihtX3dlYlBhZ2VQcm94eSksIFdlYkF1
dGhlbnRpY2F0aW9uUGFuZWxSZXN1bHQ6OlVuYXZhaWxhYmxlLCBudWxscHRyLCBHbG9iYWxGcmFt
ZUlkZW50aWZpZXIgeyBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgZnJhbWVJZCB9LCBXVEZN
b3ZlKGZyYW1lSW5mbyksIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSB9LCBXVEZNb3ZlKGhhbmRsZXIp
KTsKIH0KIAogdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6aGFuZGxlUmVx
dWVzdChXZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhJiYgZGF0YSwgUmVxdWVzdENvbXBsZXRp
b25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eS5oCmluZGV4IDQ3YjJiYmVhMjRjYTUwMDliN2M5MDBlOTliY2Q2MDJm
ZThkMGY1MjEuLjMzZWIwN2YzOTIwMDU2ZTVkNzcyNDBlMjJkZTA5N2M5YzY2MGI0ZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaApAQCAt
NjIsOCArNjIsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAKICAgICAvLyBSZWNlaXZlcnMu
Ci0gICAgdm9pZCBtYWtlQ3JlZGVudGlhbChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIEZyYW1l
SW5mb0RhdGEmJiwgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgV2ViQ29yZTo6UHVibGljS2V5Q3Jl
ZGVudGlhbENyZWF0aW9uT3B0aW9ucyYmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJik7Ci0g
ICAgdm9pZCBnZXRBc3NlcnRpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFtZUluZm9E
YXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucyYmLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJik7CisgICAgdm9p
ZCBtYWtlQ3JlZGVudGlhbChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEm
JiwgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENy
ZWF0aW9uT3B0aW9ucyYmLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgUmVxdWVzdENvbXBs
ZXRpb25IYW5kbGVyJiYpOworICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZyYW1lSWRl
bnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBXZWJDb3Jl
OjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiwgYm9vbCBwcm9jZXNzaW5nVXNl
ckdlc3R1cmUsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKICAgICB2b2lkIGlzVXNlclZl
cmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvckF2YWlsYWJsZShRdWVyeUNvbXBsZXRpb25IYW5k
bGVyJiYpOwogCiAgICAgdm9pZCBoYW5kbGVSZXF1ZXN0KFdlYkF1dGhlbnRpY2F0aW9uUmVxdWVz
dERhdGEmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCAxZmQwY2U5MmRhMDM4NzcxMDRkOTc1ZTNjYjg0OGJmY2I1Mzg0ZDQ5Li5kZjk4YjhlMzZj
Mjg2ZTAyYjFhNjU0ODA5NDFlZDkwNGI5MjM2MzQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAt
MjYsOCArMjYsOCBAQAogCiBtZXNzYWdlcyAtPiBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eSBOb3RSZWZDb3VudGVkIHsKIAotICAgIE1ha2VDcmVkZW50aWFsKFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGZyYW1lSW5m
bywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gsIHN0cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50
aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGlj
YXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNl
cHRpb24pIEFzeW5jCi0gICAgR2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBm
cmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGZyYW1lSW5mbywgVmVjdG9yPHVp
bnQ4X3Q+IGhhc2gsIHN0cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9w
dGlvbnMgb3B0aW9ucykgLT4gKHN0cnVjdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VE
YXRhIGRhdGEsIHN0cnVjdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhIGV4Y2VwdGlvbikgQXN5bmMK
KyAgICBNYWtlQ3JlZGVudGlhbChXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3Ry
dWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90PiBoYXNo
LCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBvcHRp
b25zLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSkgLT4gKHN0cnVjdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdG9yUmVzcG9uc2VEYXRhIGRhdGEsIHN0cnVjdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRh
IGV4Y2VwdGlvbikgQXN5bmMKKyAgICBHZXRBc3NlcnRpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0
b3I8dWludDhfdD4gaGFzaCwgc3RydWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1
ZXN0T3B0aW9ucyBvcHRpb25zLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSkgLT4gKHN0cnVj
dCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVzcG9uc2VEYXRhIGRhdGEsIHN0cnVjdCBXZWJDb3Jl
OjpFeGNlcHRpb25EYXRhIGV4Y2VwdGlvbikgQXN5bmMKICAgICBJc1VzZXJWZXJpZnlpbmdQbGF0
Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoKSAtPiAoYm9vbCByZXN1bHQpIEFzeW5jCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAKaW5kZXgg
ZDJhMDJhNTE1MWU0Y2NhYmM2MDE0OTg3M2YzOTg5YmJiODk2MWIyNi4uNWFiZTk4M2MxMTQyNWNl
NjQ4YjgzYWE1MDc3YTQ1NjkzMDQzMDRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvci5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1VzZXJHZXN0dXJlSW5kaWNh
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBA
IC01MCw3ICs1MSw3IEBAIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3Jl
ZGVudGlhbChjb25zdCBGcmFtZSYgZnJhbWUsIGNvbnN0IFNlY3VyCiAgICAgYXV0byogd2ViRnJh
bWUgPSBXZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZShmcmFtZSk7CiAgICAgaWYgKCF3ZWJGcmFtZSkK
ICAgICAgICAgcmV0dXJuOwotICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2Fn
ZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpNYWtlQ3JlZGVudGlhbCh3ZWJG
cmFtZS0+ZnJhbWVJRCgpLCB3ZWJGcmFtZS0+aW5mbygpLCBoYXNoLCBvcHRpb25zKSwgV1RGTW92
ZShoYW5kbGVyKSk7CisgICAgbV93ZWJQYWdlLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6Ok1ha2VDcmVkZW50aWFsKHdlYkZyYW1l
LT5mcmFtZUlEKCksIHdlYkZyYW1lLT5pbmZvKCksIGhhc2gsIG9wdGlvbnMsIFVzZXJHZXN0dXJl
SW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSksIFdURk1vdmUoaGFuZGxlcikpOwog
fQogCiB2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6Z2V0QXNzZXJ0aW9uKGNvbnN0
IEZyYW1lJiBmcmFtZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBWZWN0b3I8dWludDhf
dD4mIGhhc2gsIGNvbnN0IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9u
cywgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKQEAgLTU4LDcgKzU5LDcgQEAg
dm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmdldEFzc2VydGlvbihjb25zdCBGcmFt
ZSYgZnJhbWUsIGNvbnN0IFNlY3VyaXQKICAgICBhdXRvKiB3ZWJGcmFtZSA9IFdlYkZyYW1lOjpm
cm9tQ29yZUZyYW1lKGZyYW1lKTsKICAgICBpZiAoIXdlYkZyYW1lKQogICAgICAgICByZXR1cm47
Ci0gICAgbV93ZWJQYWdlLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViQXV0aGVudGlj
YXRvckNvb3JkaW5hdG9yUHJveHk6OkdldEFzc2VydGlvbih3ZWJGcmFtZS0+ZnJhbWVJRCgpLCB3
ZWJGcmFtZS0+aW5mbygpLCBoYXNoLCBvcHRpb25zKSwgV1RGTW92ZShoYW5kbGVyKSk7CisgICAg
bV93ZWJQYWdlLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHk6OkdldEFzc2VydGlvbih3ZWJGcmFtZS0+ZnJhbWVJRCgpLCB3ZWJGcmFt
ZS0+aW5mbygpLCBoYXNoLCBvcHRpb25zLCBVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCkpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKIH0KIAogdm9pZCBXZWJBdXRoZW50
aWNhdG9yQ29vcmRpbmF0b3I6OmlzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0aGVudGljYXRvckF2
YWlsYWJsZShRdWVyeUNvbXBsZXRpb25IYW5kbGVyJiYgaGFuZGxlcikKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiOWUwMmE4ZGZjOTc1ZjJkYTc1
MGRiZjdlMmZmMzk3NTVlZjgxMDcwLi4wOTdlOTc0ZWQxZjgxMDUxZTg2OGNhOTU3N2M3NmY0YTNm
ZDM2OTdjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMjkgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFw
cGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFJlcXVpcmUgdXNlciBnZXN0dXJlcyBmb3Ig
TG9jYWxBdXRoZW50aWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODI4OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQzMzU3MjkzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVs
Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1s
YS1uby1tb2NrLXVzZXItZ2VzdHVyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxh
LW5vLW1vY2suaHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2stdXNl
ci1nZXN0dXJlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0
bWw6IEFkZGVkLgorCiAyMDIwLTA0LTI0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgU1BJIGNsaWVudHMgdXNpbmcgZmFzdFNlcnZlclRydXN0
RXZhbHVhdGlvbkVuYWJsZWQgbmVlZCBTUEkgdG8gaW5mb3JtIHRoZW0gb2YgbW9kZXJuIFRMUyBu
ZWdvdGlhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiOWNiOTgyYWRlZWVjMjJjYTEy
NWE4ZjUzNjNiODRjYmNlMDE0YzM0Li44YjY1MmMxY2JkNTJjMzA1NmZkZmY2ZTM5ZjdmMjZhZmJk
ZWIzOWRkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzkzLDYgKzM5MywxMCBAQAogCQk1
N0MzRkE2NjFGN0MyNDhGMDA5RDRCODAgLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0I5QkMzNzFBNjc0ODIzMDBGRTU2NzggLyog
V2Vha1B0ci5jcHAgKi87IH07CiAJCTU3QzYyNDRFMjM0NkJDRkEwMDM4M0ZFNyAvKiBfV0tXZWJB
dXRoZW50aWNhdGlvblBhbmVsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTdDNjI0NEQyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0
aW9uUGFuZWwubW0gKi87IH07CiAJCTU3QzYyNDUwMjM0NkMyMUUwMDM4M0ZFNyAvKiB3ZWItYXV0
aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QzYyNDRGMjM0NkMxRUMwMDM4M0ZFNyAvKiB3
ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi5odG1sICovOyB9OworCQk1N0VERkM1QzI0
NUExQTNGMDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1u
by1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTdFREZDNUIyNDVBMThGNTAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1t
YWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay5odG1sICovOyB9OworCQk1N0VERkM1RTI0NUExRUUz
MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2Nr
LXVzZXItZ2VzdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDU3RURGQzVEMjQ1QTFFOUMwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGlj
YXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwgKi87IH07
CisJCTU3RURGQzYwMjQ1QTI5OUMwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFz
c2VydGlvbi1sYS1uby1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFREZDNUYyNDVBMjc5OTAwOTU5NTIxIC8qIHdlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCAqLzsgfTsKKwkJNTdFREZD
NjIyNDVBMkQ3MTAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxh
LW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFREZDNjEyNDVBMkNGRTAwOTU5NTIxIC8qIHdlYi1h
dXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwg
Ki87IH07CiAJCTU3RjRBQUEwMjA4RkFFRjAwMEE2OEU5RSAvKiBTU0xLZXlHZW5lcmF0b3IubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Y0QUE5RjIw
OEZBODNEMDBBNjhFOUUgLyogU1NMS2V5R2VuZXJhdG9yLm1tICovOyB9OwogCQk1N0Y1NkE1QzFD
N0Y4Q0MxMDBGMzFEN0UgLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RjU2QTVCMUM3
RjhBNDAwMEYzMUQ3RSAvKiBJc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkLmh0bWwgKi87IH07CiAJ
CTVDMDE2MEMxMjFBMTMyNDYwMDc3RkEzMiAvKiBKSVRFbmFibGVkLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMwMTYwQzAyMUExMzIzMjAwNzdGQTMy
IC8qIEpJVEVuYWJsZWQubW0gKi87IH07CkBAIC0xMjAyLDcgKzEyMDYsNiBAQAogCQkJZHN0UGF0
aCA9IFRlc3RXZWJLaXRBUEkucmVzb3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJ
CQlmaWxlcyA9ICgKLQkJCQk0OTcxQjExODI0NTFGMjlBMDA5Njk5NEQgLyogaW5jb3JyZWN0Q3Jl
YXRlVGFibGVTY2hlbWEuZGIgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTVBODE3RkYyMTgx
MDIxQTAwMDRBMzlBIC8qIDEwMHgxMDAtcmVkLnRnYSBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQkxQTlFNTJDOTEzRTY1RUY0MDA2OTE3RjUgLyogMTgtY2hhcmFjdGVycy5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTU1QTgxODAwMjE4MTAyMjEwMDA0QTM5QSAvKiA0MDB4NDAwLWdy
ZWVuLnBuZyBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTEzNjEsNiArMTM2NCw3IEBACiAJCQkJ
MzEyOEE4MTUyMzc2NDEzMzAwRDkwRDQwIC8qIGltYWdlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJNzI4M0E5RDAyMkZBNzU0OTAwQjIxQzdEIC8qIGltZy13aXRoLXJvdGF0ZWQtaW1h
Z2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk0OTg5N0Q2QzI0MUZFOUU0MDBFQ0Yx
NTMgLyogaW4tYXBwLWJyb3dzZXItcHJpdmFjeS1sb2NhbC1maWxlLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCisJCQkJNDk3MUIxMTgyNDUxRjI5QTAwOTY5OTREIC8qIGluY29ycmVjdENyZWF0
ZVRhYmxlU2NoZW1hLmRiIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTkzNTc4NkNEMjBGNkEy
OTEwMDAwQ0RGQyAvKiBJbmRleGVkREIuc3FsaXRlMyBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQk5MzU3ODZDRTIwRjZBMkExMDAwMENERkMgLyogSW5kZXhlZERCLnNxbGl0ZTMtc2htIGluIENv
cHkgUmVzb3VyY2VzICovLAogCQkJCTkzNTc4NkNDMjBGNkEyNzAwMDAwQ0RGQyAvKiBJbmRleGVk
REIuc3FsaXRlMy13YWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNTQ5LDYgKzE1NTMsOCBA
QAogCQkJCTU3OERBNDRFMjNFQ0QyOEIwMDI0NjAxMCAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0
LWFzc2VydGlvbi1oaWQtcGluLWludmFsaWQtZXJyb3ItcmV0cnkuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1NzBEMjZGQzIzQzNGODcwMDBENUNGNjcgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24taGlkLXBpbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJ
CTU3NjYzREVDMjM0RjFGOTMwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2Vy
dGlvbi1oaWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQk1N0VERkM2MjI0NUEyRDcx
MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay11
c2VyLWdlc3R1cmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQk1N0VERkM2MDI0NUEy
OTlDMDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9j
ay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3MkNFRjcxMjQwRjg3NDcwMEM0MTJB
MiAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovLAogCQkJCTU3OTgzMzkyMjM2OEZBMzcwMDhFNTU0NyAvKiB3ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1uZmMtbXVsdGlwbGUtdGFncy5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTU3NjYzREVBMjM0RUE2NkQwMEU4NUUwOSAvKiB3ZWItYXV0aGVudGljYXRp
b24tZ2V0LWFzc2VydGlvbi1uZmMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE1NjYs
NiArMTU3Miw4IEBACiAJCQkJNTc5ODMzN0UyMzYwMTlBNDAwOEU1NTQ3IC8qIHdlYi1hdXRoZW50
aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtaGlkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJNTc0MjE3OEEyNDAwQUVEODAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNy
ZWRlbnRpYWwtbGEtZHVwbGljYXRlLWNyZWRlbnRpYWwuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQk1NzQyMTc4ODI0MDBBQzI1MDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1h
a2UtY3JlZGVudGlhbC1sYS1lcnJvci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTU3
RURGQzVFMjQ1QTFFRTMwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50
aWFsLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJ
CQkJNTdFREZDNUMyNDVBMUEzRjAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNy
ZWRlbnRpYWwtbGEtbm8tbW9jay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3NDIx
NzhFMjQwMEQyREYwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFs
LWxhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMUMyQjgxODYxQzg5MjU5RDAwQTU1
MjlGIC8qIHdlYmZvbnQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTcxNEVCNDFD
RjhDNzhDMDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVhbnVwLTEuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKQEAgLTIwMDYsNyArMjAxNCw2IEBACiAJCTU3NDIxNzg3MjQwMEFCRkQw
MDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWVycm9yLmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1lcnJv
ci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0MjE3ODkyNDAwQUVEMDAw
MkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZHVwbGljYXRl
LWNyZWRlbnRpYWwuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1NzQyMTc4RDI0MDBEMjZDMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9u
LW1ha2UtY3JlZGVudGlhbC1sYS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1t
YWtlLWNyZWRlbnRpYWwtbGEuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3
NDIxNzhGMjQwMEQ1NEQwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50
aWFsLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC5o
dG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0RjU1RDAyMDRENDcxQzAwMjk0
OEM2IC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gU2VjdXJpdHkuZnJh
bWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eS5mcmFtZXdv
cms7IHNvdXJjZVRyZWUgPSBTREtST09UOyB9OwogCQk1NzU4NTk3RDIzQTI1MjdBMDBDNzQ1NzIg
LyogQ3RhcFBpblRlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3RhcFBpblRlc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc1ODU5N0UyM0EyNTI3QTAwQzc0NTcyIC8qIEN0YXBQaW5U
ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEN0YXBQaW5UZXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNDYsNiArMjA1MywxMCBAQAogCQk1N0M2MjQ0RDIzNDZCQ0ZB
MDAzODNGRTcgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3QzYyNDRGMjM0NkMxRUMwMDM4M0ZFNyAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1N0QxRDc1RTIxRENCN0E4MDA5M0U4NkEgLyogVTJmQ29tbWFuZENvbnN0cnVjdG9yVGVz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVMmZDb21tYW5kQ29u
c3RydWN0b3JUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdFREZDNUIy
NDVBMThGNTAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRp
YWwtbGEtbm8tbW9jay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdFREZD
NUQyNDVBMUU5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwt
bGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRp
b24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1N0VERkM1RjI0NUEyNzk5MDA5NTk1MjEgLyogd2ViLWF1
dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndl
Yi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RURGQzYxMjQ1QTJDRkUwMDk1OTUyMSAvKiB3ZWItYXV0
aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLXVzZXItZ2VzdHVyZS5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2stdXNl
ci1nZXN0dXJlLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0YxMEQ5MjFD
N0U3QjM4MDBFQ0RGMzAgLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IElzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RjRBQTlGMjA4RkE4M0QwMEE2OEU5
RSAvKiBTU0xLZXlHZW5lcmF0b3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTU0xLZXlHZW5l
cmF0b3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RjU2QTVCMUM3RjhBNDAw
MEYzMUQ3RSAvKiBJc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSBJc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkLmh0bWw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zNDU2LDcgKzM0NjcsNiBAQAogCQlBMTZGNjZCODFDNDBFOUUx
MDBCRDREMjQgLyogUmVzb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKLQkJCQk0OTcxQjExNzI0NTFGMjc4MDA5Njk5NEQgLyogaW5jb3JyZWN0Q3JlYXRl
VGFibGVTY2hlbWEuZGIgKi8sCiAJCQkJNTVBODE3RkUyMTgxMDFERjAwMDRBMzlBIC8qIDEwMHgx
MDAtcmVkLnRnYSAqLywKIAkJCQk1NUE4MTdGRDIxODEwMURGMDAwNEEzOUEgLyogNDAweDQwMC1n
cmVlbi5wbmcgKi8sCiAJCQkJQzI1Q0NBMEMxRTUxNDBFNTAwMjZDQjhBIC8qIEFsbEFoZW0uc3Zn
ICovLApAQCAtMzU1Miw2ICszNTYyLDcgQEAKIAkJCQkzMTI4QTgxNDIzNzY0MEZEMDBEOTBENDAg
LyogaW1hZ2UuaHRtbCAqLywKIAkJCQk3MjgzQTlDRTIyRkE2QkJFMDBCMjFDN0QgLyogaW1nLXdp
dGgtcm90YXRlZC1pbWFnZS5odG1sICovLAogCQkJCTQ5RDdGQkE3MjQxRkREREEwMEFCNjdGQSAv
KiBpbi1hcHAtYnJvd3Nlci1wcml2YWN5LWxvY2FsLWZpbGUuaHRtbCAqLywKKwkJCQk0OTcxQjEx
NzI0NTFGMjc4MDA5Njk5NEQgLyogaW5jb3JyZWN0Q3JlYXRlVGFibGVTY2hlbWEuZGIgKi8sCiAJ
CQkJOTM0RkE1QzcyMEY2OUZFRTAwNDBEQzFCIC8qIEluZGV4ZWREQi5zcWxpdGUzICovLAogCQkJ
CTkzNEZBNUM2MjBGNjlGRUQwMDQwREMxQiAvKiBJbmRleGVkREIuc3FsaXRlMy1zaG0gKi8sCiAJ
CQkJOTM0RkE1QzUyMEY2OUZFRDAwNDBEQzFCIC8qIEluZGV4ZWREQi5zcWxpdGUzLXdhbCAqLywK
QEAgLTM2NjcsNiArMzY3OCw4IEBACiAJCQkJNTc4REE0NEQyM0VDRDI2MTAwMjQ2MDEwIC8qIHdl
Yi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1waW4taW52YWxpZC1lcnJvci1yZXRy
eS5odG1sICovLAogCQkJCTU3MEQyNkZCMjNDM0Y4NjUwMEQ1Q0Y2NyAvKiB3ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtcGluLmh0bWwgKi8sCiAJCQkJNTc2NjNERUIyMzRGMUY4
MDAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC5odG1sICov
LAorCQkJCTU3RURGQzYxMjQ1QTJDRkUwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0
LWFzc2VydGlvbi1sYS1uby1tb2NrLXVzZXItZ2VzdHVyZS5odG1sICovLAorCQkJCTU3RURGQzVG
MjQ1QTI3OTkwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1u
by1tb2NrLmh0bWwgKi8sCiAJCQkJNTcyQ0VGNzAyNDBGODZBRTAwQzQxMkEyIC8qIHdlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLmh0bWwgKi8sCiAJCQkJNTc5ODMzN0IyMzVFQjY1
QzAwOEU1NTQ3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLW5mYy1tdWx0aXBs
ZS10YWdzLmh0bWwgKi8sCiAJCQkJNTc2NjNERTkyMzRFQTYwQjAwRTg1RTA5IC8qIHdlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLW5mYy5odG1sICovLApAQCAtMzY4NCw4ICszNjk3LDkg
QEAKIAkJCQk1Nzk4MzM3RDIzNjAxOTZEMDA4RTU1NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1h
a2UtY3JlZGVudGlhbC1oaWQuaHRtbCAqLywKIAkJCQk1NzQyMTc4OTI0MDBBRUQwMDAyQjMwM0Qg
Lyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1kdXBsaWNhdGUtY3JlZGVu
dGlhbC5odG1sICovLAogCQkJCTU3NDIxNzg3MjQwMEFCRkQwMDJCMzAzRCAvKiB3ZWItYXV0aGVu
dGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWVycm9yLmh0bWwgKi8sCisJCQkJNTdFREZDNUQy
NDVBMUU5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCAqLywKKwkJCQk1N0VERkM1QjI0NUExOEY1MDA5NTk1
MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwg
Ki8sCiAJCQkJNTc0MjE3OEQyNDAwRDI2QzAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1t
YWtlLWNyZWRlbnRpYWwtbGEuaHRtbCAqLywKLQkJCQk1NzQyMTc4RjI0MDBENTREMDAyQjMwM0Qg
Lyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC5odG1sICovLAogCQkJCTUxNzE0
RUIyMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5odG1sICov
LAogCQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFu
dXAtMi5odG1sICovLAogCQkJCTUxMjBDODNCMUU2NzRFMzUwMDI1QjI1MCAvKiBXZWJzaXRlRGF0
YVN0b3JlQ3VzdG9tUGF0aHMuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5l
bC5tbQppbmRleCA2YjgyZGJhNDg0NmU5N2VkZTc5MTEwYWQ3MGVlZTY0ZGNmNjNlYjcwLi4zMGIw
ZmVjMzRiMzI2Y2NmMjAyMjc2NTQwYWMwYTAwMzJkNzM3NmJiIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xMTkxLDcgKzExOTEsNiBAQCBURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBRXJyb3IpCiAKICAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NO
YW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rp
bmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllF
UyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVh
dHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllF
UyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNh
dG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0
V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTEyMDgs
NyArMTIwNyw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNhdGVDcmVk
ZW50aWFsKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nl
c3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0
aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjI3LDcgKzEyMjUsNiBAQCBU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTm9DcmVkZW50aWFsKQogCiAgICAgYXV0byAq
Y29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRp
b25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxz
IiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFs
bG9jXSBpbml0XSk7CkBAIC0xMjQ0LDcgKzEyNDEsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9u
UGFuZWwsIExBTWFrZUNyZWRlbnRpYWxOdWxsRGVsZWdhdGUpCiAKICAgICBhdXRvICpjb25maWd1
cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhU
ZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZp
Z3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNd
IF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9u
RXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNd
IF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9u
TG9jYWxBdXRoZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVy
b1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9
IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKQEAgLTEyNjIsNyArMTI1OCw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwg
TEFNYWtlQ3JlZGVudGlhbERpc2FsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogCiAgICAgYXV0byAq
Y29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRp
b25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxz
IiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFs
bG9jXSBpbml0XSk7CkBAIC0xMjc5LDcgKzEyNzQsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9u
UGFuZWwsIExBTWFrZUNyZWRlbnRpYWxBbGxvd0xvY2FsQXV0aGVudGljYXRvcikKIAogICAgIGF1
dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1
cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVy
bmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwogICAgIFtbY29uZmlndXJhdGlvbiBw
cmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0
aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwotICAgIFtbY29uZmlndXJhdGlvbiBw
cmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0
aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmltZW50YWxGZWF0dXJlKCldOwogCiAg
ICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKICAgICBhdXRv
IGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0
ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTI5Miw4ICsxMjg2LDYyIEBAIFRFU1QoV2ViQXV0aGVudGlj
YXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbEFsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogICAg
IGNsZWFuVXBLZXljaGFpbigiIik7CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwg
TEFOb01vY2tEZWZhdWx0T2ZmKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJM
PiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1h
dXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jayIgd2l0aEV4dGVuc2lvbjpA
Imh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBh
dXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmln
dXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRl
cm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24g
cHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1
dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKKworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3Qg
Y29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsK
KyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQo
KV1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbik7CisgICAgY2hl
Y2tQYW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVyIGFsbG9j
XSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdldCgpXSwg
X1dLV2ViQXV0aGVudGljYXRpb25UeXBlQ3JlYXRlKTsKK30KKworVEVTVChXZWJBdXRoZW50aWNh
dGlvblBhbmVsLCBMQU1ha2VDcmVkZW50aWFsTm9Nb2NrTm9Vc2VyR2VzdHVyZSkKK3sKKyAgICBy
ZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFs
LWxhLW5vLW1vY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFt
ZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5n
OllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMg
Zm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1
cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMg
Zm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRv
ckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRp
b246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdl
YkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZp
ZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsKKyAgICBV
dGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNoZWNrUGFuZWwoW2Rl
bGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJ
bnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKV0sIF9XS1dlYkF1dGhl
bnRpY2F0aW9uVHlwZUNyZWF0ZSk7Cit9CisKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwg
TEFNYWtlQ3JlZGVudGlhbE5vTW9jaykKK3sKKyAgICByZXNldCgpOworICAgIFJldGFpblB0cjxO
U1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3
ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2stdXNlci1nZXN0dXJl
IiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNv
dXJjZXMiXTsKKworICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9j
ZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOworICAg
IFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1l
bnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOworICAg
IFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1l
bnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmltZW50
YWxGZWF0dXJlKCldOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb25dKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNh
dGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldFVJRGVs
ZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVXRpbDo6cnVuKCZ3
ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKKyAgICBjaGVja1BhbmVsKFtkZWxlZ2F0ZSBwYW5l
bF0sIEAiIiwgQFthZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoSW50Ol9XS1dlYkF1
dGhlbnRpY2F0aW9uVHJhbnNwb3J0VVNCXSkuZ2V0KCksIGFkb3B0TlMoW1tOU051bWJlciBhbGxv
Y10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRJbnRlcm5hbF0pLmdl
dCgpXSwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlQ3JlYXRlKTsKK30KKwogLy8gU2tpcCB0aGUg
dGVzdCBiZWNhdXNlIG9mIDxyZGFyOi8vcHJvYmxlbS81OTYzNTQ4Nj4uCiAjaWYgUExBVEZPUk0o
TUFDKQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBR2V0QXNzZXJ0aW9uKQogewog
ICAgIHJlc2V0KCk7CkBAIC0xMzAxLDcgKzEzNDksNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9u
UGFuZWwsIExBR2V0QXNzZXJ0aW9uKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dl
YlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNz
TmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0
aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZ
RVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZl
YXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZ
RVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGlj
YXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3Vy
YXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVz
dFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMzEz
LDcgKzEzNjAsNDQgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdldEFzc2VydGlv
bikKICAgICBjaGVja1BhbmVsKFtkZWxlZ2F0ZSBwYW5lbF0sIEAiIiwgQFthZG9wdE5TKFtbTlNO
dW1iZXIgYWxsb2NdIGluaXRXaXRoSW50Ol9XS1dlYkF1dGhlbnRpY2F0aW9uVHJhbnNwb3J0VVNC
XSkuZ2V0KCksIGFkb3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0
aGVudGljYXRpb25UcmFuc3BvcnRJbnRlcm5hbF0pLmdldCgpXSwgX1dLV2ViQXV0aGVudGljYXRp
b25UeXBlR2V0KTsKICAgICBjbGVhblVwS2V5Y2hhaW4oIiIpOwogfQotI2VuZGlmCisKK1RFU1Qo
V2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRpb25Ob01vY2tOb1VzZXJHZXN0dXJl
KQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJMPiB0ZXN0VVJMID0gW1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWxhLW5vLW1vY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6
QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9
IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJ
bkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NG
b3JUZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5h
YmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1l
bnRhbEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5h
YmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0
aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7Cisg
ICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmll
dyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0KCld
XTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNoZWNr
UGFuZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxvY10g
aW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKV0sIF9X
S1dlYkF1dGhlbnRpY2F0aW9uVHlwZUdldCk7Cit9CisKK1RFU1QoV2ViQXV0aGVudGljYXRpb25Q
YW5lbCwgTEFHZXRBc3NlcnRpb25Ob01vY2spCit7CisgICAgcmVzZXQoKTsKKyAgICBSZXRhaW5Q
dHI8TlNVUkw+IHRlc3RVUkwgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNl
OkAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay11c2VyLWdlc3R1
cmUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJl
c291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1
cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlBy
b2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107Cisg
ICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Cisg
ICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJp
bWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1l
bnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsKKyAgICBVdGlsOjpydW4o
JndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNoZWNrUGFuZWwoW2RlbGVnYXRlIHBh
bmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2Vi
QXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKSwgYWRvcHROUyhbW05TTnVtYmVyIGFs
bG9jXSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydEludGVybmFsXSku
Z2V0KCldLCBfV0tXZWJBdXRoZW50aWNhdGlvblR5cGVHZXQpOworfQorCisjZW5kaWYgLy8gUExB
VEZPUk0oTUFDKQogCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykgfHwgUExBVEZP
Uk0oSU9TKQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2stdXNlci1nZXN0
dXJlLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGJhZWMyNGQ5OGUzNWJjMzhlZDQ5ZGI5OWVhMDFkNzFhMmUzMDQ1MwotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1
dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbApA
QCAtMCwwICsxLDIxIEBACis8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0Ij4KKzxzY3JpcHQ+
CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgIGlucHV0LmZv
Y3VzKCk7CisKKyAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKKyAgICAgICAgICAgIHB1YmxpY0tl
eTogeworICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogbmV3IFVpbnQ4QXJyYXkoMTYpLAorICAg
ICAgICAgICAgICAgIHRpbWVvdXQ6IDEwMAorICAgICAgICAgICAgfQorICAgICAgICB9OworCisg
ICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0aW9ucykudGhlbihjcmVkZW50aWFs
ID0+IHsKKyAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAg
ICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2Fn
ZSgiU3VjY2VlZGVkISIpOworICAgICAgICB9LCBlcnJvciA9PiB7CisgICAgICAgICAgICAvLyBj
b25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVz
c2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKGVycm9yLm1lc3NhZ2UpOworICAg
ICAgICB9KTsKKyAgICB9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1s
YS1uby1tb2NrLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dl
Yi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMjU0ZWVkYTlmYTZhOGMwYzViYmU2MmU0ZTQ0NmQ0NjI3ZDI2OTczCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGlu
cHV0IHR5cGU9InRleHQiIGlkPSJpbnB1dCI+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsgaW5wdXQu
Zm9jdXMoKTsgfSk7CisKKyAgICBjb25zdCBvcHRpb25zID0geworICAgICAgICBwdWJsaWNLZXk6
IHsKKyAgICAgICAgICAgIGNoYWxsZW5nZTogbmV3IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAg
ICAgdGltZW91dDogMTAwCisgICAgICAgIH0KKyAgICB9OworCisgICAgbmF2aWdhdG9yLmNyZWRl
bnRpYWxzLmdldChvcHRpb25zKS50aGVuKGNyZWRlbnRpYWwgPT4geworICAgICAgICAvLyBjb25z
b2xlLmxvZygiU3VjY2VlZGVkISIpOworICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5k
bGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOworICAgIH0sIGVycm9y
ID0+IHsKKyAgICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7CisgICAgICAgIHdp
bmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKGVycm9y
Lm1lc3NhZ2UpOworICAgIH0pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRp
YWwtbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1t
b2NrLXVzZXItZ2VzdHVyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxMzUwMzE1YzEyZDRiNmE4MWQ1NDU0
NDBhOWZjYmJhYWY0YmJlM2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbApAQCAtMCwwICsxLDMwIEBACis8aW5wdXQgdHlwZT0i
dGV4dCIgaWQ9ImlucHV0Ij4KKzxzY3JpcHQ+CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVy
ZSgoKSA9PiB7CisgICAgICAgIGlucHV0LmZvY3VzKCk7CisKKyAgICAgICAgY29uc3Qgb3B0aW9u
cyA9IHsKKyAgICAgICAgICAgIHB1YmxpY0tleTogeworICAgICAgICAgICAgICAgIHJwOiB7Cisg
ICAgICAgICAgICAgICAgICAgIG5hbWU6ICJsb2NhbGhvc3QiLAorICAgICAgICAgICAgICAgIH0s
CisgICAgICAgICAgICAgICAgdXNlcjogeworICAgICAgICAgICAgICAgICAgICBuYW1lOiAiSm9o
biBBcHBsZXNlZWQiLAorICAgICAgICAgICAgICAgICAgICBpZDogbmV3IFVpbnQ4QXJyYXkoMTYp
LAorICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2VlZCIsCisgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICBjaGFsbGVuZ2U6IG5ldyBVaW50OEFycmF5KDE2
KSwKKyAgICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtl
eSIsIGFsZzogLTcgfV0sCisgICAgICAgICAgICAgICAgdGltZW91dDogMTAwLAorICAgICAgICAg
ICAgfQorICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUo
b3B0aW9ucykudGhlbihjcmVkZW50aWFsID0+IHsKKyAgICAgICAgICAgIC8vIGNvbnNvbGUubG9n
KCJTdWNjZWVkZWQhIik7CisgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVy
cy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOworICAgICAgICB9LCBlcnJv
ciA9PiB7CisgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNz
YWdlKGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9KTsKKyAgICB9KTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVu
dGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlh
bC1sYS1uby1tb2NrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUyODczMWI0M2EwODc0Y2RkZDY4NjRiYTI2
MWYxNjU4Y2IwZDgzMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1t
b2NrLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPGlucHV0IHR5cGU9InRleHQiIGlkPSJpbnB1dCI+
Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMu
d2l0aFVzZXJHZXN0dXJlKCgpID0+IHsgaW5wdXQuZm9jdXMoKTsgfSk7CisKKyAgICBjb25zdCBv
cHRpb25zID0geworICAgICAgICBwdWJsaWNLZXk6IHsKKyAgICAgICAgICAgIHJwOiB7CisgICAg
ICAgICAgICAgICAgbmFtZTogImxvY2FsaG9zdCIsCisgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgdXNlcjogeworICAgICAgICAgICAgICAgIG5hbWU6ICJKb2huIEFwcGxlc2VlZCIsCisgICAg
ICAgICAgICAgICAgaWQ6IG5ldyBVaW50OEFycmF5KDE2KSwKKyAgICAgICAgICAgICAgICBkaXNw
bGF5TmFtZTogIkFwcGxlc2VlZCIsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgY2hhbGxl
bmdlOiBuZXcgVWludDhBcnJheSgxNiksCisgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1zOiBb
eyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCisgICAgICAgICAgICB0aW1lb3V0OiAx
MDAsCisgICAgICAgIH0KKyAgICB9OworCisgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmNyZWF0
ZShvcHRpb25zKS50aGVuKGNyZWRlbnRpYWwgPT4geworICAgICAgICAvLyBjb25zb2xlLmxvZygi
U3VjY2VlZGVkISIpOworICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0
SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOworICAgIH0sIGVycm9yID0+IHsKKyAg
ICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7CisgICAgICAgIHdpbmRvdy53ZWJr
aXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKGVycm9yLm1lc3NhZ2Up
OworICAgIH0pOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398001</attachid>
            <date>2020-04-29 15:30:49 -0700</date>
            <delta_ts>2020-04-29 18:32:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182893-20200429153048.patch</filename>
            <type>text/plain</type>
            <size>39316</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFlZmFhMTMxNDljODJmODY0
YmQzOWI3NTI5ZTUyM2VlNDgxNWQ1MGYuLjkyOWQxZjI4MjAzNDIxODg3MDgyMWQzOWM3NTVhMWE1
OTE3OTczODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMDQtMjkgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFJlcXVpcmUg
dXNlciBnZXN0dXJlcyBmb3IgTG9jYWxBdXRoZW50aWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzMzU3MjkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRvck1hbmFnZXI6OmZpbHRlclRyYW5zcG9ydHMgY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdG9yTWFuYWdlcjo6Z2V0VHJhbnNwb3J0cyBjb25zdCk6CisgICAg
ICAgIENoZWNrcyBVc2VyR2VzdHVyZSBoZXJlLiBTaW5jZSBmaWx0ZXJUcmFuc3BvcnRzIHdpbGwg
YmUgb3ZlcnJpZGVkIGluIG1vY2sgdGVzdGluZ3MsCisgICAgICAgIGFsbCBtb2NrIHRlc3RzIGRv
bid0IHJlcXVpcmUgdXNlciBnZXN0dXJlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
Om1ha2VDcmVkZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVudGlhbCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6Z2V0QXNzZXJ0aW9uKToKKyAgICAgICAgQWRk
cyB1c2VyIGdlc3R1cmUgY29ycmVzcG9uZGluZyBmaWVsZHMuCisKIDIwMjAtMDQtMjkgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV0tO
YXZpZ2F0aW9uRGVsZWdhdGUgQVBJIHNob3VsZEFsbG93RGVwcmVjYXRlZFRMUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRvck1hbmFnZXIuY3BwCmluZGV4IDVhYjVjOTBmMGZhYWJiMTQ4MzdjY2M3YTRl
YjZkNjM1Yzg2MmMxZWEuLjM1OWVlNGNkY2ZmMzU3YWExOGU5M2I5Y2Y2ZDdjYTA5MDVlOWJlNmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAKQEAgLTMxMCw2ICszMTAsMTIg
QEAgdm9pZCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6ZmlsdGVyVHJhbnNwb3J0cyhUcmFuc3BvcnRT
ZXQmIHRyYW5zcG9ydHMpIGNvbnN0CiAgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRp
Y2F0b3JUcmFuc3BvcnQ6Ok5mYyk7CiAgICAgaWYgKCFMb2NhbFNlcnZpY2U6OmlzQXZhaWxhYmxl
KCkpCiAgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Oklu
dGVybmFsKTsKKworICAgIGlmICghaXNGZWF0dXJlRW5hYmxlZChtX3BlbmRpbmdSZXF1ZXN0RGF0
YS5wYWdlLmdldCgpLCBXZWJQcmVmZXJlbmNlc0tleTo6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkS2V5KCkpKQorICAgICAgICB0cmFuc3BvcnRzLnJlbW92ZShBdXRo
ZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CisgICAgLy8gTG9jYWwgYXV0aGVudGljYXRv
ciBtaWdodCBpbnZva2Ugc3lzdGVtIFVJIHdoaWNoIHNob3VsZCBkZWZpbml0ZWx5IG5vdCBiZSBh
YmxlIHRvIHRyaWdnZXIgYnkgc2NyaXB0cyBhdXRvbWF0aWNhbGx5LgorICAgIGlmICghbV9wZW5k
aW5nUmVxdWVzdERhdGEucHJvY2Vzc2luZ1VzZXJHZXN0dXJlKQorICAgICAgICB0cmFuc3BvcnRz
LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiB9CiAKIHZvaWQgQXV0
aGVudGljYXRvck1hbmFnZXI6OnN0YXJ0RGlzY292ZXJ5KGNvbnN0IFRyYW5zcG9ydFNldCYgdHJh
bnNwb3J0cykKQEAgLTM5NSw4ICs0MDEsNiBAQCBhdXRvIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpn
ZXRUcmFuc3BvcnRzKCkgY29uc3QgLT4gVHJhbnNwb3J0U2V0CiAgICAgfSwgWyZdKGNvbnN0IFB1
YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9ucykgewogICAgICAgICB0cmFu
c3BvcnRzID0gY29sbGVjdFRyYW5zcG9ydHMob3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzKTsKICAg
ICB9KTsKLSAgICBpZiAoIWlzRmVhdHVyZUVuYWJsZWQobV9wZW5kaW5nUmVxdWVzdERhdGEucGFn
ZS5nZXQoKSwgV2ViUHJlZmVyZW5jZXNLZXk6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50
aWNhdG9yRW5hYmxlZEtleSgpKSkKLSAgICAgICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGlj
YXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogICAgIGZpbHRlclRyYW5zcG9ydHModHJhbnNwb3J0
cyk7CiAgICAgcmV0dXJuIHRyYW5zcG9ydHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRh
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50
aWNhdGlvblJlcXVlc3REYXRhLmgKaW5kZXggMmY2MTM0NTNlZTM0ZDRhZTdhYzdhNjdlMjhmYWM2
NTYwODE3ZTRkYy4uMDRlZGM2NzU0MjM2YjdiZjVlMjIyNTU4ODQxYzQ5MTM2ODVkMmIwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuaApAQCAtNTAsNiAr
NTAsNyBAQCBzdHJ1Y3QgV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSB7CiAgICAgUmVmUHRy
PEFQSTo6V2ViQXV0aGVudGljYXRpb25QYW5lbD4gcGFuZWw7CiAgICAgV1RGOjpPcHRpb25hbDxX
ZWJDb3JlOjpHbG9iYWxGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQ7CiAgICAgV2ViS2l0OjpGcmFt
ZUluZm9EYXRhIGZyYW1lSW5mbzsKKyAgICBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZTsKIH07
CiAKIFdlYkNvcmU6OkNsaWVudERhdGFUeXBlIGdldENsaWVudERhdGFUeXBlKGNvbnN0IFZhcmlh
bnQ8V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucywgV2ViQ29yZTo6
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGIxZDE0YWZkZDA2
ZWVhZjI5OGJlYmJhZjhlNzA1ZThkZjk4ZDVmZjcuLjdhZWNkMTg5NjY5ODNkNTFiZWZkODhiZjM5
YzYwN2NlMzY1OTFkYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTU1LDE0ICs1NSwxNCBAQCBXZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eTo6fldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5KCkKICAg
ICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHk6Om1ha2VDcmVkZW50aWFsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlk
LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiYgb3B0aW9ucywgUmVxdWVzdENvbXBsZXRp
b25IYW5kbGVyJiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHk6Om1ha2VDcmVkZW50aWFsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlkLCBGcmFtZUluZm9EYXRh
JiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zJiYgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJl
cXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFuZGxlUmVxdWVzdCh7
IFdURk1vdmUoaGFzaCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVBy
b3h5KSwgV2ViQXV0aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIs
IEdsb2JhbEZyYW1lSWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFt
ZUlkIH0sIFdURk1vdmUoZnJhbWVJbmZvKSB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5k
bGVSZXF1ZXN0KHsgV1RGTW92ZShoYXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIo
bV93ZWJQYWdlUHJveHkpLCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJs
ZSwgbnVsbHB0ciwgR2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFn
ZUlEKCksIGZyYW1lSWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBwcm9jZXNzaW5nVXNlckdlc3R1
cmUgfSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJ
bmZvRGF0YSYmIGZyYW1lSW5mbywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zJiYgb3B0aW9ucywgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVy
JiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OmdldEFz
c2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5m
bywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zJiYgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJlcXVlc3RDb21wbGV0
aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFuZGxlUmVxdWVzdCh7IFdURk1vdmUoaGFz
aCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVByb3h5KSwgV2ViQXV0
aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIsIEdsb2JhbEZyYW1l
SWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFtZUlkIH0sIFdURk1v
dmUoZnJhbWVJbmZvKSB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5kbGVSZXF1ZXN0KHsg
V1RGTW92ZShoYXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIobV93ZWJQYWdlUHJv
eHkpLCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJsZSwgbnVsbHB0ciwg
R2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCksIGZyYW1l
SWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBwcm9jZXNzaW5nVXNlckdlc3R1cmUgfSwgV1RGTW92
ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
OmhhbmRsZVJlcXVlc3QoV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSYmIGRhdGEsIFJlcXVl
c3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaAppbmRleCA0N2IyYmJlYTI0Y2E1MDA5YjdjOTAw
ZTk5YmNkNjAyZmU4ZDBmNTIxLi4zM2ViMDdmMzkyMDA1NmU1ZDc3MjQwZTIyZGUwOTdjOWM2NjBi
NGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5LmgKQEAgLTYyLDggKzYyLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8g
UmVjZWl2ZXJzLgotICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCBGcmFtZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5k
bGVyJiYpOwotICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwg
RnJhbWVJbmZvRGF0YSYmLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBXZWJDb3JlOjpQdWJsaWNL
ZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYp
OworICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFt
ZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJl
cXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIGdldEFzc2VydGlvbihXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFz
aCwgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiYsIGJvb2wgcHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9p
ZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21w
bGV0aW9uSGFuZGxlciYmKTsKIAogICAgIHZvaWQgaGFuZGxlUmVxdWVzdChXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhJiYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMWZkMGNlOTJkYTAzODc3MTA0ZDk3NWUzY2I4NDhiZmNiNTM4NGQ0OS4u
ZGY5OGI4ZTM2YzI4NmUwMmIxYTY1NDgwOTQxZWQ5MDRiOTIzNjM0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTI2LDggKzI2LDggQEAKIAogbWVzc2FnZXMgLT4gV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkgTm90UmVmQ291bnRlZCB7CiAKLSAgICBNYWtlQ3JlZGVudGlhbChXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0
YSBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBvcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6
OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgZGF0YSwgc3RydWN0IFdlYkNvcmU6OkV4Y2VwdGlv
bkRhdGEgZXhjZXB0aW9uKSBBc3luYwotICAgIEdldEFzc2VydGlvbihXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUluZm8s
IFZlY3Rvcjx1aW50OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zIG9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRv
clJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRp
b24pIEFzeW5jCisgICAgTWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0b3I8dWlu
dDhfdD4gaGFzaCwgc3RydWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUpIC0+IChzdHJ1Y3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YSBleGNlcHRpb24pIEFzeW5jCisgICAgR2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGZyYW1l
SW5mbywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gsIHN0cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUp
IC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1
Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRpb24pIEFzeW5jCiAgICAgSXNVc2VyVmVy
aWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKCkgLT4gKGJvb2wgcmVzdWx0KSBB
c3luYwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IGQyYTAyYTUxNTFlNGNjYWJjNjAxNDk4NzNmMzk4OWJiYjg5NjFiMjYuLjVhYmU5
ODNjMTE0MjVjZTY0OGI4M2FhNTA3N2E0NTY5MzA0MzA0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwpAQCAtNTAsNyArNTEsNyBAQCB2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
cjo6bWFrZUNyZWRlbnRpYWwoY29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBTZWN1cgogICAgIGF1
dG8qIHdlYkZyYW1lID0gV2ViRnJhbWU6OmZyb21Db3JlRnJhbWUoZnJhbWUpOwogICAgIGlmICgh
d2ViRnJhbWUpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3dlYlBhZ2Uuc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6TWFrZUNyZWRl
bnRpYWwod2ViRnJhbWUtPmZyYW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9u
cyksIFdURk1vdmUoaGFuZGxlcikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpNYWtlQ3JlZGVudGlh
bCh3ZWJGcmFtZS0+ZnJhbWVJRCgpLCB3ZWJGcmFtZS0+aW5mbygpLCBoYXNoLCBvcHRpb25zLCBV
c2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpLCBXVEZNb3ZlKGhh
bmRsZXIpKTsKIH0KIAogdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmdldEFzc2Vy
dGlvbihjb25zdCBGcmFtZSYgZnJhbWUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiwgY29uc3QgVmVj
dG9yPHVpbnQ4X3Q+JiBoYXNoLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMmIG9wdGlvbnMsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCkBAIC01OCw3
ICs1OSw3IEBAIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24o
Y29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBTZWN1cml0CiAgICAgYXV0byogd2ViRnJhbWUgPSBX
ZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZShmcmFtZSk7CiAgICAgaWYgKCF3ZWJGcmFtZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZy
YW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucyksIFdURk1vdmUoaGFuZGxl
cikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZyYW1lSUQo
KSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucywgVXNlckdlc3R1cmVJbmRpY2F0b3I6
OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQg
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhl
bnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjJiYmQzMDIz
MWUzOGU0OTU2M2Y5Y2VhNjFkYzE1YjQ0NzZjZGMyZi4uYTg2NmFlYmIyMGNlYjAxOTAyYjk2NjMw
NGNlM2VmZWIwMTE4YTAzZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTI5ICBKaWV3ZW4gVGFuICA8amll
d2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBSZXF1aXJlIHVzZXIgZ2Vz
dHVyZXMgZm9yIExvY2FsQXV0aGVudGljYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyODkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MzM1
NzI5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24tbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbDogQWRkZWQuCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFz
c2VydGlvbi1sYS1uby1tb2NrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1u
by1tb2NrLXVzZXItZ2VzdHVyZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sOiBBZGRlZC4KKwogMjAyMC0wNC0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBidWlsZC1qc2Mgc2hvdWxkIHF1b3RlIHRoZSB2YWx1ZSBv
ZiBjb21waWxlIGZsYWdzIGl0IGZvcndhcmRzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDcz
MTI5NTQ4MGM3YTc1YzliOWY2ZjE4Y2U0ZWY2YTZmZTgwNmZiZjkuLjczZmVjYjI2ZTk2ODZlYjRm
OWQwZTkzNDAyYThkNzQ2YmYwZjM2M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zOTQs
NiArMzk0LDEwIEBACiAJCTU3QzNGQTY2MUY3QzI0OEYwMDlENEI4MCAvKiBXZWFrUHRyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQjlCQzM3MUE2
NzQ4MjMwMEZFNTY3OCAvKiBXZWFrUHRyLmNwcCAqLzsgfTsKIAkJNTdDNjI0NEUyMzQ2QkNGQTAw
MzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0M2MjQ0RDIzNDZCQ0ZBMDAzODNGRTcgLyog
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSAqLzsgfTsKIAkJNTdDNjI0NTAyMzQ2QzIxRTAw
MzgzRkU3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdDNjI0NEYyMzQ2
QzFFQzAwMzgzRkU3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLmh0bWwgKi87
IH07CisJCTU3RURGQzVDMjQ1QTFBM0YwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFr
ZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VERkM1QjI0NUExOEY1MDA5NTk1MjEgLyogd2Vi
LWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgKi87IH07CisJ
CTU3RURGQzVFMjQ1QTFFRTMwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdFREZDNUQyNDVBMUU5QzAwOTU5NTIx
IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay11c2VyLWdl
c3R1cmUuaHRtbCAqLzsgfTsKKwkJNTdFREZDNjAyNDVBMjk5QzAwOTU5NTIxIC8qIHdlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VERkM1RjI0NUEyNzk5MDA5
NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1s
ICovOyB9OworCQk1N0VERkM2MjI0NUEyRDcxMDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9u
LWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VERkM2MTI0NUEyQ0ZF
MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay11
c2VyLWdlc3R1cmUuaHRtbCAqLzsgfTsKIAkJNTdGNEFBQTAyMDhGQUVGMDAwQTY4RTlFIC8qIFNT
TEtleUdlbmVyYXRvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDU3RjRBQTlGMjA4RkE4M0QwMEE2OEU5RSAvKiBTU0xLZXlHZW5lcmF0b3IubW0gKi87
IH07CiAJCTU3RjU2QTVDMUM3RjhDQzEwMEYzMUQ3RSAvKiBJc05hdmlnYXRpb25BY3Rpb25UcnVz
dGVkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTdGNTZBNUIxQzdGOEE0MDAwRjMxRDdFIC8qIElzTmF2aWdhdGlvbkFjdGlvblRydXN0
ZWQuaHRtbCAqLzsgfTsKIAkJNUMwMTYwQzEyMUExMzI0NjAwNzdGQTMyIC8qIEpJVEVuYWJsZWQu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzAxNjBD
MDIxQTEzMjMyMDA3N0ZBMzIgLyogSklURW5hYmxlZC5tbSAqLzsgfTsKQEAgLTE1NTAsNiArMTU1
NCw4IEBACiAJCQkJNTc4REE0NEUyM0VDRDI4QjAwMjQ2MDEwIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1nZXQtYXNzZXJ0aW9uLWhpZC1waW4taW52YWxpZC1lcnJvci1yZXRyeS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTU3MEQyNkZDMjNDM0Y4NzAwMEQ1Q0Y2NyAvKiB3ZWItYXV0aGVu
dGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtcGluLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJNTc2NjNERUMyMzRGMUY5MzAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTU3RURGQzYyMjQ1
QTJENzEwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1t
b2NrLXVzZXItZ2VzdHVyZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTU3RURGQzYw
MjQ1QTI5OUMwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1u
by1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTcyQ0VGNzEyNDBGODc0NzAw
QzQxMkEyIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc5ODMzOTIyMzY4RkEzNzAwOEU1NTQ3IC8qIHdlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLW5mYy1tdWx0aXBsZS10YWdzLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCiAJCQkJNTc2NjNERUEyMzRFQTY2RDAwRTg1RTA5IC8qIHdlYi1hdXRoZW50
aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLW5mYy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAt
MTU2Nyw2ICsxNTczLDggQEAKIAkJCQk1Nzk4MzM3RTIzNjAxOUE0MDA4RTU1NDcgLyogd2ViLWF1
dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1oaWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQk1NzQyMTc4QTI0MDBBRUQ4MDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1h
a2UtY3JlZGVudGlhbC1sYS1kdXBsaWNhdGUtY3JlZGVudGlhbC5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTU3NDIxNzg4MjQwMEFDMjUwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRp
b24tbWFrZS1jcmVkZW50aWFsLWxhLWVycm9yLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJ
CQkJNTdFREZDNUUyNDVBMUVFMzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNy
ZWRlbnRpYWwtbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKKwkJCQk1N0VERkM1QzI0NUExQTNGMDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1h
a2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJ
NTc0MjE3OEUyNDAwRDJERjAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRl
bnRpYWwtbGEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQzJCODE4NjFDODkyNTlE
MDBBNTUyOUYgLyogd2ViZm9udC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxNzE0
RUI0MUNGOEM3OEMwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLApAQCAtMjAwOCw3ICsyMDE2LDYgQEAKIAkJNTc0MjE3ODcyNDAw
QUJGRDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJy
b3IuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxh
LWVycm9yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQyMTc4OTI0MDBB
RUQwMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1kdXBs
aWNhdGUtY3JlZGVudGlhbC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1tYWtl
LWNyZWRlbnRpYWwtbGEtZHVwbGljYXRlLWNyZWRlbnRpYWwuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU3NDIxNzhEMjQwMEQyNkMwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGlj
YXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0
aW9uLW1ha2UtY3JlZGVudGlhbC1sYS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNTc0MjE3OEYyNDAwRDU0RDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNy
ZWRlbnRpYWwuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50
aWFsLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzRGNTVEMDIwNEQ0NzFD
MDAyOTQ4QzYgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0
eS5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZy
YW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTU3NTg1OTdEMjNBMjUyN0EwMEM3
NDU3MiAvKiBDdGFwUGluVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDdGFwUGluVGVzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzU4NTk3RTIzQTI1MjdBMDBDNzQ1NzIgLyogQ3Rh
cFBpblRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3RhcFBpblRlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA0OCw2ICsyMDU1LDEwIEBACiAJCTU3QzYyNDREMjM0
NkJDRkEwMDM4M0ZFNyAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTdDNjI0NEYyMzQ2QzFFQzAwMzgzRkU3IC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1nZXQtYXNzZXJ0aW9uLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU3RDFENzVFMjFEQ0I3QTgwMDkzRTg2QSAvKiBVMmZDb21tYW5kQ29uc3RydWN0
b3JUZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFUyZkNvbW1h
bmRDb25zdHJ1Y3RvclRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1N0VE
RkM1QjI0NUExOEY1MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlh
bC1sYS1uby1tb2NrLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3Jl
ZGVudGlhbC1sYS1uby1tb2NrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
N0VERkM1RDI0NUExRTlDMDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVu
dGlhbC1sYS1uby1tb2NrLXVzZXItZ2VzdHVyZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50
aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RURGQzVGMjQ1QTI3OTkwMDk1OTUyMSAvKiB3
ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGgg
PSAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1sIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTdFREZDNjEyNDVBMkNGRTAwOTU5NTIxIC8qIHdl
Yi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9j
ay11c2VyLWdlc3R1cmUuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3RjEw
RDkyMUM3RTdCMzgwMEVDREYzMCAvKiBJc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1
c3RlZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGNEFBOUYyMDhGQTgzRDAw
QTY4RTlFIC8qIFNTTEtleUdlbmVyYXRvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNTTEtl
eUdlbmVyYXRvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGNTZBNUIxQzdG
OEE0MDAwRjMxRDdFIC8qIElzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQuaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9IElzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQuaHRtbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM2NjcsNiArMzY3OCw4IEBACiAJCQkJNTc4REE0NEQy
M0VDRDI2MTAwMjQ2MDEwIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1w
aW4taW52YWxpZC1lcnJvci1yZXRyeS5odG1sICovLAogCQkJCTU3MEQyNkZCMjNDM0Y4NjUwMEQ1
Q0Y2NyAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1oaWQtcGluLmh0bWwgKi8s
CiAJCQkJNTc2NjNERUIyMzRGMUY4MDAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLWhpZC5odG1sICovLAorCQkJCTU3RURGQzYxMjQ1QTJDRkUwMDk1OTUyMSAvKiB3
ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLXVzZXItZ2VzdHVyZS5o
dG1sICovLAorCQkJCTU3RURGQzVGMjQ1QTI3OTkwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRp
b24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwgKi8sCiAJCQkJNTcyQ0VGNzAyNDBGODZB
RTAwQzQxMkEyIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLmh0bWwgKi8s
CiAJCQkJNTc5ODMzN0IyMzVFQjY1QzAwOEU1NTQ3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQt
YXNzZXJ0aW9uLW5mYy1tdWx0aXBsZS10YWdzLmh0bWwgKi8sCiAJCQkJNTc2NjNERTkyMzRFQTYw
QjAwRTg1RTA5IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLW5mYy5odG1sICov
LApAQCAtMzY4NCw4ICszNjk3LDkgQEAKIAkJCQk1Nzk4MzM3RDIzNjAxOTZEMDA4RTU1NDcgLyog
d2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1oaWQuaHRtbCAqLywKIAkJCQk1NzQy
MTc4OTI0MDBBRUQwMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlh
bC1sYS1kdXBsaWNhdGUtY3JlZGVudGlhbC5odG1sICovLAogCQkJCTU3NDIxNzg3MjQwMEFCRkQw
MDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWVycm9yLmh0
bWwgKi8sCisJCQkJNTdFREZDNUQyNDVBMUU5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCAqLywKKwkJCQk1
N0VERkM1QjI0NUExOEY1MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVu
dGlhbC1sYS1uby1tb2NrLmh0bWwgKi8sCiAJCQkJNTc0MjE3OEQyNDAwRDI2QzAwMkIzMDNEIC8q
IHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEuaHRtbCAqLywKLQkJCQk1NzQy
MTc4RjI0MDBENTREMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlh
bC5odG1sICovLAogCQkJCTUxNzE0RUIyMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2ls
bElEQkNsZWFudXAtMS5odG1sICovLAogCQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBX
ZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMi5odG1sICovLAogCQkJCTUxMjBDODNCMUU2NzRFMzUw
MDI1QjI1MCAvKiBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMuaHRtbCAqLywKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dL
V2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCA2YjgyZGJhNDg0NmU5N2VkZTc5MTEwYWQ3
MGVlZTY0ZGNmNjNlYjcwLi4zMGIwZmVjMzRiMzI2Y2NmMjAyMjc2NTQwYWMwYTAwMzJkNzM3NmJi
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dl
YkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xMTkxLDcgKzExOTEs
NiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBRXJyb3IpCiAKICAgICBhdXRvICpj
b25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlv
bldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMi
IGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKQEAgLTEyMDgsNyArMTIwNyw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25Q
YW5lbCwgTEFEdXBsaWNhdGVDcmVkZW50aWFsKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9
IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJ
bkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NG
b3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5h
YmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1l
bnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5h
YmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0
aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5T
KFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBA
IC0xMjI3LDcgKzEyMjUsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTm9DcmVk
ZW50aWFsKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nl
c3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0
aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjQ0LDcgKzEyNDEsNiBAQCBU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxOdWxsRGVsZWdhdGUp
CiAKICAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rl
c3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJ
bldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZp
Z3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0
dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZp
Z3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0
dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVy
ZSgpXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7
CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5l
bFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTEyNjIsNyArMTI1OCw2IEBAIFRFU1QoV2Vi
QXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbERpc2FsbG93TG9jYWxBdXRoZW50
aWNhdG9yKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nl
c3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAg
W1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVu
dGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0
aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjc5LDcgKzEyNzQsNiBAQCBU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxBbGxvd0xvY2FsQXV0
aGVudGljYXRvcikKIAogICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQ
cm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwog
ICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVy
aW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwot
ICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVy
aW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmlt
ZW50YWxGZWF0dXJlKCldOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50
aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTI5Miw4ICsxMjg2LDYy
IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbEFsbG93TG9j
YWxBdXRoZW50aWNhdG9yKQogICAgIGNsZWFuVXBLZXljaGFpbigiIik7CiB9CiAKK1RFU1QoV2Vi
QXV0aGVudGljYXRpb25QYW5lbCwgTEFOb01vY2tEZWZhdWx0T2ZmKQoreworICAgIHJlc2V0KCk7
CisgICAgUmV0YWluUHRyPE5TVVJMPiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBV
UkxGb3JSZXNvdXJjZTpAIndlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8t
bW9jayIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEku
cmVzb3VyY2VzIl07CisKKyAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2Vi
UHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsK
KyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBl
cmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAg
YXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVs
ZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRl
LmdldCgpXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRp
b25QYW5lbFJhbik7CisgICAgY2hlY2tQYW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRv
cHROUyhbW05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRy
YW5zcG9ydFVTQl0pLmdldCgpXSwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlQ3JlYXRlKTsKK30K
KworVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQU1ha2VDcmVkZW50aWFsTm9Nb2NrTm9V
c2VyR2VzdHVyZSkKK3sKKyAgICByZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVS
TCA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGlj
YXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBz
dWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAqY29u
ZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25X
aXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBj
b25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVu
Y2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNh
dGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVu
Y2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNh
dGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdh
dGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisK
KyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRl
c3RVUkwuZ2V0KCldXTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4p
OworICAgIGNoZWNrUGFuZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051
bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0Jd
KS5nZXQoKV0sIF9XS1dlYkF1dGhlbnRpY2F0aW9uVHlwZUNyZWF0ZSk7Cit9CisKK1RFU1QoV2Vi
QXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbE5vTW9jaykKK3sKKyAgICByZXNl
dCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRs
ZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxh
LW5vLW1vY2stdXNlci1nZXN0dXJlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24g
PSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVn
SW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlND
Rm9yVGVzdGluZzpZRVNdOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVu
YWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmlt
ZW50YWxGZWF0dXJlKCldOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVu
YWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFeHBlcmltZW50YWxGZWF0dXJlKCldOworCisgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwor
ICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgp
XV07CisgICAgVXRpbDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKKyAgICBjaGVj
a1BhbmVsKFtkZWxlZ2F0ZSBwYW5lbF0sIEAiIiwgQFthZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2Nd
IGluaXRXaXRoSW50Ol9XS1dlYkF1dGhlbnRpY2F0aW9uVHJhbnNwb3J0VVNCXSkuZ2V0KCksIGFk
b3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25U
cmFuc3BvcnRJbnRlcm5hbF0pLmdldCgpXSwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlQ3JlYXRl
KTsKK30KKwogLy8gU2tpcCB0aGUgdGVzdCBiZWNhdXNlIG9mIDxyZGFyOi8vcHJvYmxlbS81OTYz
NTQ4Nj4uCiAjaWYgUExBVEZPUk0oTUFDKQorCiBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWws
IExBR2V0QXNzZXJ0aW9uKQogewogICAgIHJlc2V0KCk7CkBAIC0xMzAxLDcgKzEzNDksNiBAQCBU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBR2V0QXNzZXJ0aW9uKQogCiAgICAgYXV0byAq
Y29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRp
b25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxz
IiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZl
cmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50
aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFs
bG9jXSBpbml0XSk7CkBAIC0xMzEzLDcgKzEzNjAsNDQgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlv
blBhbmVsLCBMQUdldEFzc2VydGlvbikKICAgICBjaGVja1BhbmVsKFtkZWxlZ2F0ZSBwYW5lbF0s
IEAiIiwgQFthZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoSW50Ol9XS1dlYkF1dGhl
bnRpY2F0aW9uVHJhbnNwb3J0VVNCXSkuZ2V0KCksIGFkb3B0TlMoW1tOU051bWJlciBhbGxvY10g
aW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRJbnRlcm5hbF0pLmdldCgp
XSwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlR2V0KTsKICAgICBjbGVhblVwS2V5Y2hhaW4oIiIp
OwogfQotI2VuZGlmCisKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRp
b25Ob01vY2tOb1VzZXJHZXN0dXJlKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5T
VVJMPiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndl
Yi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2siIHdpdGhFeHRlbnNpb246
QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAg
YXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZp
Z3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50
ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisK
KyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RX
aXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9u
UGFuZWxSYW4pOworICAgIGNoZWNrUGFuZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0
TlMoW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFu
c3BvcnRVU0JdKS5nZXQoKV0sIF9XS1dlYkF1dGhlbnRpY2F0aW9uVHlwZUdldCk7Cit9CisKK1RF
U1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRpb25Ob01vY2spCit7CisgICAg
cmVzZXQoKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IHRlc3RVUkwgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
bGEtbm8tbW9jay11c2VyLWdlc3R1cmUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rv
cnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlv
biA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBs
dWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVK
U0NGb3JUZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0
RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVy
aW1lbnRhbEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0
RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2Fs
QXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0
IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9w
dE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7
CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2Vi
VmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0
KCldXTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNo
ZWNrUGFuZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxv
Y10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKSwg
YWRvcHROUyhbW05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlv
blRyYW5zcG9ydEludGVybmFsXSkuZ2V0KCldLCBfV0tXZWJBdXRoZW50aWNhdGlvblR5cGVHZXQp
OworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lO
VEVSTkFMX1NESykgfHwgUExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9u
LWxhLW5vLW1vY2stdXNlci1nZXN0dXJlLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2st
dXNlci1nZXN0dXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJhZWMyNGQ5OGUzNWJjMzhlZDQ5ZGI5OWVh
MDFkNzFhMmUzMDQ1MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9j
ay11c2VyLWdlc3R1cmUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8aW5wdXQgdHlwZT0idGV4dCIg
aWQ9ImlucHV0Ij4KKzxzY3JpcHQ+CisgICAgaW50ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9
PiB7CisgICAgICAgIGlucHV0LmZvY3VzKCk7CisKKyAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsK
KyAgICAgICAgICAgIHB1YmxpY0tleTogeworICAgICAgICAgICAgICAgIGNoYWxsZW5nZTogbmV3
IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAgICAgICAgIHRpbWVvdXQ6IDEwMAorICAgICAgICAg
ICAgfQorICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5nZXQob3B0
aW9ucykudGhlbihjcmVkZW50aWFsID0+IHsKKyAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCJT
dWNjZWVkZWQhIik7CisgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50
ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOworICAgICAgICB9LCBlcnJvciA9
PiB7CisgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNzYWdlKTsKKyAgICAgICAg
ICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdl
KGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9KTsKKyAgICB9KTsKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGlj
YXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5v
LW1vY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjU0ZWVkYTlmYTZhOGMwYzViYmU2MmU0ZTQ0NmQ0NjI3
ZDI2OTczCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwK
QEAgLTAsMCArMSwyMCBAQAorPGlucHV0IHR5cGU9InRleHQiIGlkPSJpbnB1dCI+Cis8c2NyaXB0
PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMud2l0aFVzZXJH
ZXN0dXJlKCgpID0+IHsgaW5wdXQuZm9jdXMoKTsgfSk7CisKKyAgICBjb25zdCBvcHRpb25zID0g
eworICAgICAgICBwdWJsaWNLZXk6IHsKKyAgICAgICAgICAgIGNoYWxsZW5nZTogbmV3IFVpbnQ4
QXJyYXkoMTYpLAorICAgICAgICAgICAgdGltZW91dDogMTAwCisgICAgICAgIH0KKyAgICB9Owor
CisgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxzLmdldChvcHRpb25zKS50aGVuKGNyZWRlbnRpYWwg
PT4geworICAgICAgICAvLyBjb25zb2xlLmxvZygiU3VjY2VlZGVkISIpOworICAgICAgICB3aW5k
b3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2Vl
ZGVkISIpOworICAgIH0sIGVycm9yID0+IHsKKyAgICAgICAgLy8gY29uc29sZS5sb2coZXJyb3Iu
bWVzc2FnZSk7CisgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5k
bGVyLnBvc3RNZXNzYWdlKGVycm9yLm1lc3NhZ2UpOworICAgIH0pOworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50
aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1h
a2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLXVzZXItZ2VzdHVyZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcx
MzUwMzE1YzEyZDRiNmE4MWQ1NDU0NDBhOWZjYmJhYWY0YmJlM2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay11c2VyLWdlc3R1cmUuaHRtbApAQCAtMCwwICsx
LDMwIEBACis8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0Ij4KKzxzY3JpcHQ+CisgICAgaW50
ZXJuYWxzLndpdGhVc2VyR2VzdHVyZSgoKSA9PiB7CisgICAgICAgIGlucHV0LmZvY3VzKCk7CisK
KyAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHsKKyAgICAgICAgICAgIHB1YmxpY0tleTogeworICAg
ICAgICAgICAgICAgIHJwOiB7CisgICAgICAgICAgICAgICAgICAgIG5hbWU6ICJsb2NhbGhvc3Qi
LAorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgdXNlcjogeworICAgICAgICAg
ICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAorICAgICAgICAgICAgICAgICAgICBp
ZDogbmV3IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTog
IkFwcGxlc2VlZCIsCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICBjaGFsbGVu
Z2U6IG5ldyBVaW50OEFycmF5KDE2KSwKKyAgICAgICAgICAgICAgICBwdWJLZXlDcmVkUGFyYW1z
OiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCisgICAgICAgICAgICAgICAgdGlt
ZW91dDogMTAwLAorICAgICAgICAgICAgfQorICAgICAgICB9OworCisgICAgICAgIG5hdmlnYXRv
ci5jcmVkZW50aWFscy5jcmVhdGUob3B0aW9ucykudGhlbihjcmVkZW50aWFsID0+IHsKKyAgICAg
ICAgICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAgICAgICB3aW5kb3cu
d2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVk
ISIpOworICAgICAgICB9LCBlcnJvciA9PiB7CisgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhl
cnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJz
LnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9KTsKKyAg
ICB9KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2su
aHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRp
Y2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUyODcz
MWI0M2EwODc0Y2RkZDY4NjRiYTI2MWYxNjU4Y2IwZDgzMQotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLW1h
a2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPGlucHV0IHR5
cGU9InRleHQiIGlkPSJpbnB1dCI+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsgaW5wdXQuZm9jdXMo
KTsgfSk7CisKKyAgICBjb25zdCBvcHRpb25zID0geworICAgICAgICBwdWJsaWNLZXk6IHsKKyAg
ICAgICAgICAgIHJwOiB7CisgICAgICAgICAgICAgICAgbmFtZTogImxvY2FsaG9zdCIsCisgICAg
ICAgICAgICB9LAorICAgICAgICAgICAgdXNlcjogeworICAgICAgICAgICAgICAgIG5hbWU6ICJK
b2huIEFwcGxlc2VlZCIsCisgICAgICAgICAgICAgICAgaWQ6IG5ldyBVaW50OEFycmF5KDE2KSwK
KyAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogIkFwcGxlc2VlZCIsCisgICAgICAgICAgICB9
LAorICAgICAgICAgICAgY2hhbGxlbmdlOiBuZXcgVWludDhBcnJheSgxNiksCisgICAgICAgICAg
ICBwdWJLZXlDcmVkUGFyYW1zOiBbeyB0eXBlOiAicHVibGljLWtleSIsIGFsZzogLTcgfV0sCisg
ICAgICAgICAgICB0aW1lb3V0OiAxMDAsCisgICAgICAgIH0KKyAgICB9OworCisgICAgbmF2aWdh
dG9yLmNyZWRlbnRpYWxzLmNyZWF0ZShvcHRpb25zKS50aGVuKGNyZWRlbnRpYWwgPT4geworICAg
ICAgICAvLyBjb25zb2xlLmxvZygiU3VjY2VlZGVkISIpOworICAgICAgICB3aW5kb3cud2Via2l0
Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOwor
ICAgIH0sIGVycm9yID0+IHsKKyAgICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7
CisgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RN
ZXNzYWdlKGVycm9yLm1lc3NhZ2UpOworICAgIH0pOworPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398015</attachid>
            <date>2020-04-29 18:32:13 -0700</date>
            <delta_ts>2020-04-29 18:33:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182893-20200429183212.patch</filename>
            <type>text/plain</type>
            <size>32564</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFlZmFhMTMxNDljODJmODY0
YmQzOWI3NTI5ZTUyM2VlNDgxNWQ1MGYuLjkyOWQxZjI4MjAzNDIxODg3MDgyMWQzOWM3NTVhMWE1
OTE3OTczODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMDQtMjkgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFJlcXVpcmUg
dXNlciBnZXN0dXJlcyBmb3IgTG9jYWxBdXRoZW50aWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzMzU3MjkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRvck1hbmFnZXI6OmZpbHRlclRyYW5zcG9ydHMgY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdG9yTWFuYWdlcjo6Z2V0VHJhbnNwb3J0cyBjb25zdCk6CisgICAg
ICAgIENoZWNrcyBVc2VyR2VzdHVyZSBoZXJlLiBTaW5jZSBmaWx0ZXJUcmFuc3BvcnRzIHdpbGwg
YmUgb3ZlcnJpZGVkIGluIG1vY2sgdGVzdGluZ3MsCisgICAgICAgIGFsbCBtb2NrIHRlc3RzIGRv
bid0IHJlcXVpcmUgdXNlciBnZXN0dXJlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
Om1ha2VDcmVkZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVudGlhbCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6Z2V0QXNzZXJ0aW9uKToKKyAgICAgICAgQWRk
cyB1c2VyIGdlc3R1cmUgY29ycmVzcG9uZGluZyBmaWVsZHMuCisKIDIwMjAtMDQtMjkgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV0tO
YXZpZ2F0aW9uRGVsZWdhdGUgQVBJIHNob3VsZEFsbG93RGVwcmVjYXRlZFRMUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRvck1hbmFnZXIuY3BwCmluZGV4IDVhYjVjOTBmMGZhYWJiMTQ4MzdjY2M3YTRl
YjZkNjM1Yzg2MmMxZWEuLjM1OWVlNGNkY2ZmMzU3YWExOGU5M2I5Y2Y2ZDdjYTA5MDVlOWJlNmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAKQEAgLTMxMCw2ICszMTAsMTIg
QEAgdm9pZCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6ZmlsdGVyVHJhbnNwb3J0cyhUcmFuc3BvcnRT
ZXQmIHRyYW5zcG9ydHMpIGNvbnN0CiAgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRp
Y2F0b3JUcmFuc3BvcnQ6Ok5mYyk7CiAgICAgaWYgKCFMb2NhbFNlcnZpY2U6OmlzQXZhaWxhYmxl
KCkpCiAgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Oklu
dGVybmFsKTsKKworICAgIGlmICghaXNGZWF0dXJlRW5hYmxlZChtX3BlbmRpbmdSZXF1ZXN0RGF0
YS5wYWdlLmdldCgpLCBXZWJQcmVmZXJlbmNlc0tleTo6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkS2V5KCkpKQorICAgICAgICB0cmFuc3BvcnRzLnJlbW92ZShBdXRo
ZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CisgICAgLy8gTG9jYWwgYXV0aGVudGljYXRv
ciBtaWdodCBpbnZva2Ugc3lzdGVtIFVJIHdoaWNoIHNob3VsZCBkZWZpbml0ZWx5IG5vdCBiZSBh
YmxlIHRvIHRyaWdnZXIgYnkgc2NyaXB0cyBhdXRvbWF0aWNhbGx5LgorICAgIGlmICghbV9wZW5k
aW5nUmVxdWVzdERhdGEucHJvY2Vzc2luZ1VzZXJHZXN0dXJlKQorICAgICAgICB0cmFuc3BvcnRz
LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiB9CiAKIHZvaWQgQXV0
aGVudGljYXRvck1hbmFnZXI6OnN0YXJ0RGlzY292ZXJ5KGNvbnN0IFRyYW5zcG9ydFNldCYgdHJh
bnNwb3J0cykKQEAgLTM5NSw4ICs0MDEsNiBAQCBhdXRvIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpn
ZXRUcmFuc3BvcnRzKCkgY29uc3QgLT4gVHJhbnNwb3J0U2V0CiAgICAgfSwgWyZdKGNvbnN0IFB1
YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9ucykgewogICAgICAgICB0cmFu
c3BvcnRzID0gY29sbGVjdFRyYW5zcG9ydHMob3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzKTsKICAg
ICB9KTsKLSAgICBpZiAoIWlzRmVhdHVyZUVuYWJsZWQobV9wZW5kaW5nUmVxdWVzdERhdGEucGFn
ZS5nZXQoKSwgV2ViUHJlZmVyZW5jZXNLZXk6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50
aWNhdG9yRW5hYmxlZEtleSgpKSkKLSAgICAgICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGlj
YXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogICAgIGZpbHRlclRyYW5zcG9ydHModHJhbnNwb3J0
cyk7CiAgICAgcmV0dXJuIHRyYW5zcG9ydHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRh
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50
aWNhdGlvblJlcXVlc3REYXRhLmgKaW5kZXggMmY2MTM0NTNlZTM0ZDRhZTdhYzdhNjdlMjhmYWM2
NTYwODE3ZTRkYy4uMDRlZGM2NzU0MjM2YjdiZjVlMjIyNTU4ODQxYzQ5MTM2ODVkMmIwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuaApAQCAtNTAsNiAr
NTAsNyBAQCBzdHJ1Y3QgV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSB7CiAgICAgUmVmUHRy
PEFQSTo6V2ViQXV0aGVudGljYXRpb25QYW5lbD4gcGFuZWw7CiAgICAgV1RGOjpPcHRpb25hbDxX
ZWJDb3JlOjpHbG9iYWxGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQ7CiAgICAgV2ViS2l0OjpGcmFt
ZUluZm9EYXRhIGZyYW1lSW5mbzsKKyAgICBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZTsKIH07
CiAKIFdlYkNvcmU6OkNsaWVudERhdGFUeXBlIGdldENsaWVudERhdGFUeXBlKGNvbnN0IFZhcmlh
bnQ8V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucywgV2ViQ29yZTo6
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGIxZDE0YWZkZDA2
ZWVhZjI5OGJlYmJhZjhlNzA1ZThkZjk4ZDVmZjcuLjdhZWNkMTg5NjY5ODNkNTFiZWZkODhiZjM5
YzYwN2NlMzY1OTFkYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTU1LDE0ICs1NSwxNCBAQCBXZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eTo6fldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5KCkKICAg
ICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHk6Om1ha2VDcmVkZW50aWFsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlk
LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiYgb3B0aW9ucywgUmVxdWVzdENvbXBsZXRp
b25IYW5kbGVyJiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHk6Om1ha2VDcmVkZW50aWFsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlkLCBGcmFtZUluZm9EYXRh
JiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zJiYgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJl
cXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFuZGxlUmVxdWVzdCh7
IFdURk1vdmUoaGFzaCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVBy
b3h5KSwgV2ViQXV0aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIs
IEdsb2JhbEZyYW1lSWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFt
ZUlkIH0sIFdURk1vdmUoZnJhbWVJbmZvKSB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5k
bGVSZXF1ZXN0KHsgV1RGTW92ZShoYXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIo
bV93ZWJQYWdlUHJveHkpLCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJs
ZSwgbnVsbHB0ciwgR2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFn
ZUlEKCksIGZyYW1lSWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBwcm9jZXNzaW5nVXNlckdlc3R1
cmUgfSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJ
bmZvRGF0YSYmIGZyYW1lSW5mbywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zJiYgb3B0aW9ucywgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVy
JiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OmdldEFz
c2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5m
bywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zJiYgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJlcXVlc3RDb21wbGV0
aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFuZGxlUmVxdWVzdCh7IFdURk1vdmUoaGFz
aCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVByb3h5KSwgV2ViQXV0
aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIsIEdsb2JhbEZyYW1l
SWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFtZUlkIH0sIFdURk1v
dmUoZnJhbWVJbmZvKSB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5kbGVSZXF1ZXN0KHsg
V1RGTW92ZShoYXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIobV93ZWJQYWdlUHJv
eHkpLCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJsZSwgbnVsbHB0ciwg
R2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCksIGZyYW1l
SWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBwcm9jZXNzaW5nVXNlckdlc3R1cmUgfSwgV1RGTW92
ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
OmhhbmRsZVJlcXVlc3QoV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSYmIGRhdGEsIFJlcXVl
c3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaAppbmRleCA0N2IyYmJlYTI0Y2E1MDA5YjdjOTAw
ZTk5YmNkNjAyZmU4ZDBmNTIxLi4zM2ViMDdmMzkyMDA1NmU1ZDc3MjQwZTIyZGUwOTdjOWM2NjBi
NGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5LmgKQEAgLTYyLDggKzYyLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8g
UmVjZWl2ZXJzLgotICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCBGcmFtZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5k
bGVyJiYpOwotICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwg
RnJhbWVJbmZvRGF0YSYmLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBXZWJDb3JlOjpQdWJsaWNL
ZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYp
OworICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFt
ZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJl
cXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIGdldEFzc2VydGlvbihXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFz
aCwgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiYsIGJvb2wgcHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9p
ZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21w
bGV0aW9uSGFuZGxlciYmKTsKIAogICAgIHZvaWQgaGFuZGxlUmVxdWVzdChXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhJiYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMWZkMGNlOTJkYTAzODc3MTA0ZDk3NWUzY2I4NDhiZmNiNTM4NGQ0OS4u
ZGY5OGI4ZTM2YzI4NmUwMmIxYTY1NDgwOTQxZWQ5MDRiOTIzNjM0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTI2LDggKzI2LDggQEAKIAogbWVzc2FnZXMgLT4gV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkgTm90UmVmQ291bnRlZCB7CiAKLSAgICBNYWtlQ3JlZGVudGlhbChXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0
YSBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBvcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6
OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgZGF0YSwgc3RydWN0IFdlYkNvcmU6OkV4Y2VwdGlv
bkRhdGEgZXhjZXB0aW9uKSBBc3luYwotICAgIEdldEFzc2VydGlvbihXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUluZm8s
IFZlY3Rvcjx1aW50OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zIG9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRv
clJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRp
b24pIEFzeW5jCisgICAgTWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0b3I8dWlu
dDhfdD4gaGFzaCwgc3RydWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUpIC0+IChzdHJ1Y3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YSBleGNlcHRpb24pIEFzeW5jCisgICAgR2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGZyYW1l
SW5mbywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gsIHN0cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUp
IC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1
Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRpb24pIEFzeW5jCiAgICAgSXNVc2VyVmVy
aWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKCkgLT4gKGJvb2wgcmVzdWx0KSBB
c3luYwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IGQyYTAyYTUxNTFlNGNjYWJjNjAxNDk4NzNmMzk4OWJiYjg5NjFiMjYuLjVhYmU5
ODNjMTE0MjVjZTY0OGI4M2FhNTA3N2E0NTY5MzA0MzA0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwpAQCAtNTAsNyArNTEsNyBAQCB2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
cjo6bWFrZUNyZWRlbnRpYWwoY29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBTZWN1cgogICAgIGF1
dG8qIHdlYkZyYW1lID0gV2ViRnJhbWU6OmZyb21Db3JlRnJhbWUoZnJhbWUpOwogICAgIGlmICgh
d2ViRnJhbWUpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3dlYlBhZ2Uuc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6TWFrZUNyZWRl
bnRpYWwod2ViRnJhbWUtPmZyYW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9u
cyksIFdURk1vdmUoaGFuZGxlcikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpNYWtlQ3JlZGVudGlh
bCh3ZWJGcmFtZS0+ZnJhbWVJRCgpLCB3ZWJGcmFtZS0+aW5mbygpLCBoYXNoLCBvcHRpb25zLCBV
c2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpLCBXVEZNb3ZlKGhh
bmRsZXIpKTsKIH0KIAogdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmdldEFzc2Vy
dGlvbihjb25zdCBGcmFtZSYgZnJhbWUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiwgY29uc3QgVmVj
dG9yPHVpbnQ4X3Q+JiBoYXNoLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMmIG9wdGlvbnMsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCkBAIC01OCw3
ICs1OSw3IEBAIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24o
Y29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBTZWN1cml0CiAgICAgYXV0byogd2ViRnJhbWUgPSBX
ZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZShmcmFtZSk7CiAgICAgaWYgKCF3ZWJGcmFtZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZy
YW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucyksIFdURk1vdmUoaGFuZGxl
cikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZyYW1lSUQo
KSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucywgVXNlckdlc3R1cmVJbmRpY2F0b3I6
OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQg
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhl
bnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjJiYmQzMDIz
MWUzOGU0OTU2M2Y5Y2VhNjFkYzE1YjQ0NzZjZGMyZi4uMGMyMGNhZGFjYTA5NTAxOWRiYmY3YWY0
MTkwZTA3OWYxNmVmNjNlNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA0LTI5ICBKaWV3ZW4gVGFuICA8amll
d2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBSZXF1aXJlIHVzZXIgZ2Vz
dHVyZXMgZm9yIExvY2FsQXV0aGVudGljYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyODkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MzM1
NzI5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24tbGEtbm8tbW9jay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sOiBBZGRlZC4KKwogMjAyMC0wNC0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBidWlsZC1qc2Mgc2hvdWxkIHF1b3RlIHRoZSB2YWx1ZSBv
ZiBjb21waWxlIGZsYWdzIGl0IGZvcndhcmRzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDcz
MTI5NTQ4MGM3YTc1YzliOWY2ZjE4Y2U0ZWY2YTZmZTgwNmZiZjkuLjJmMDY0ZmJiMTRhZmZlMTM2
MmUzN2QyODY4YTRhY2ExMGEzMGZhMjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zOTQs
NiArMzk0LDggQEAKIAkJNTdDM0ZBNjYxRjdDMjQ4RjAwOUQ0QjgwIC8qIFdlYWtQdHIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNCOUJDMzcxQTY3
NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIuY3BwICovOyB9OwogCQk1N0M2MjQ0RTIzNDZCQ0ZBMDAz
ODNGRTcgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QzYyNDREMjM0NkJDRkEwMDM4M0ZFNyAvKiBf
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tICovOyB9OwogCQk1N0M2MjQ1MDIzNDZDMjFFMDAz
ODNGRTcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0M2MjQ0RjIzNDZD
MUVDMDAzODNGRTcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCAqLzsg
fTsKKwkJNTdFREZDNUMyNDVBMUEzRjAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtl
LWNyZWRlbnRpYWwtbGEtbm8tbW9jay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RURGQzVCMjQ1QTE4RjUwMDk1OTUyMSAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCAqLzsgfTsKKwkJ
NTdFREZDNjAyNDVBMjk5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0
aW9uLWxhLW5vLW1vY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1N0VERkM1RjI0NUEyNzk5MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRp
Y2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1sICovOyB9OwogCQk1N0Y0QUFBMDIw
OEZBRUYwMDBBNjhFOUUgLyogU1NMS2V5R2VuZXJhdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGNEFBOUYyMDhGQTgzRDAwQTY4RTlFIC8qIFNT
TEtleUdlbmVyYXRvci5tbSAqLzsgfTsKIAkJNTdGNTZBNUMxQzdGOENDMTAwRjMxRDdFIC8qIElz
TmF2aWdhdGlvbkFjdGlvblRydXN0ZWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Y1NkE1QjFDN0Y4QTQwMDBGMzFEN0UgLyogSXNO
YXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5odG1sICovOyB9OwogCQk1QzAxNjBDMTIxQTEzMjQ2MDA3
N0ZBMzIgLyogSklURW5hYmxlZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDMDE2MEMwMjFBMTMyMzIwMDc3RkEzMiAvKiBKSVRFbmFibGVkLm1tICov
OyB9OwpAQCAtMTU1MCw2ICsxNTUyLDcgQEAKIAkJCQk1NzhEQTQ0RTIzRUNEMjhCMDAyNDYwMTAg
Lyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLXBpbi1pbnZhbGlkLWVycm9y
LXJldHJ5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTcwRDI2RkMyM0MzRjg3MDAw
RDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1waW4uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzY2M0RFQzIzNEYxRjkzMDBFODVFMDkgLyogd2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCisJCQkJNTdFREZDNjAyNDVBMjk5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1
NzJDRUY3MTI0MEY4NzQ3MDBDNDEyQTIgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRp
b24tbGEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1Nzk4MzM5MjIzNjhGQTM3MDA4
RTU1NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRh
Z3MuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzY2M0RFQTIzNEVBNjZEMDBFODVF
MDkgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCkBAIC0xNTY3LDYgKzE1NzAsNyBAQAogCQkJCTU3OTgzMzdFMjM2MDE5QTQw
MDhFNTU0NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3NDIxNzhBMjQwMEFFRDgwMDJCMzAzRCAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc0MjE3ODgyNDAwQUMyNTAwMkIzMDNEIC8q
IHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJyb3IuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKKwkJCQk1N0VERkM1QzI0NUExQTNGMDA5NTk1MjEgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCiAJCQkJNTc0MjE3OEUyNDAwRDJERjAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQzJC
ODE4NjFDODkyNTlEMDBBNTUyOUYgLyogd2ViZm9udC5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTUxNzE0RUI0MUNGOEM3OEMwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFu
dXAtMS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMjAwOCw3ICsyMDEyLDYgQEAKIAkJ
NTc0MjE3ODcyNDAwQUJGRDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRl
bnRpYWwtbGEtZXJyb3IuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1j
cmVkZW50aWFsLWxhLWVycm9yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
NzQyMTc4OTI0MDBBRUQwMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVu
dGlhbC1sYS1kdXBsaWNhdGUtY3JlZGVudGlhbC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50
aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZHVwbGljYXRlLWNyZWRlbnRpYWwuaHRtbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NDIxNzhEMjQwMEQyNkMwMDJCMzAzRCAvKiB3
ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2Vi
LWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS5odG1sIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTc0MjE3OEYyNDAwRDU0RDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1tYWtlLWNyZWRlbnRpYWwuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24t
bWFrZS1jcmVkZW50aWFsLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzRG
NTVEMDIwNEQ0NzFDMDAyOTQ4QzYgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5h
bWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTU3NTg1OTdE
MjNBMjUyN0EwMEM3NDU3MiAvKiBDdGFwUGluVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDdGFwUGlu
VGVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzU4NTk3RTIzQTI1MjdBMDBD
NzQ1NzIgLyogQ3RhcFBpblRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3RhcFBpblRlc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA0OCw2ICsyMDUxLDggQEAKIAkJ
NTdDNjI0NEQyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0M2MjQ0RjIzNDZDMUVDMDAzODNGRTcgLyogd2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi5odG1sIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdEMUQ3NUUyMURDQjdBODAwOTNFODZBIC8qIFUyZkNvbW1h
bmRDb25zdHJ1Y3RvclRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVTJmQ29tbWFuZENvbnN0cnVjdG9yVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3RURGQzVCMjQ1QTE4RjUwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFr
ZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRp
b24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU3RURGQzVGMjQ1QTI3OTkwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTdGMTBEOTIxQzdFN0IzODAwRUNERjMwIC8qIElzTmF2aWdhdGlvbkFjdGlvblRy
dXN0ZWQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJc05hdmln
YXRpb25BY3Rpb25UcnVzdGVkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0Y0
QUE5RjIwOEZBODNEMDBBNjhFOUUgLyogU1NMS2V5R2VuZXJhdG9yLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU1NMS2V5R2VuZXJhdG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1N0Y1NkE1QjFDN0Y4QTQwMDBGMzFEN0UgLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3Rl
ZC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzY2Nyw2ICszNjcyLDcgQEAK
IAkJCQk1NzhEQTQ0RDIzRUNEMjYxMDAyNDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24taGlkLXBpbi1pbnZhbGlkLWVycm9yLXJldHJ5Lmh0bWwgKi8sCiAJCQkJNTcwRDI2
RkIyM0MzRjg2NTAwRDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhp
ZC1waW4uaHRtbCAqLywKIAkJCQk1NzY2M0RFQjIzNEYxRjgwMDBFODVFMDkgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLmh0bWwgKi8sCisJCQkJNTdFREZDNUYyNDVBMjc5
OTAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2su
aHRtbCAqLywKIAkJCQk1NzJDRUY3MDI0MEY4NkFFMDBDNDEyQTIgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbGEuaHRtbCAqLywKIAkJCQk1Nzk4MzM3QjIzNUVCNjVDMDA4RTU1
NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3Mu
aHRtbCAqLywKIAkJCQk1NzY2M0RFOTIzNEVBNjBCMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbmZjLmh0bWwgKi8sCkBAIC0zNjg0LDggKzM2OTAsOCBAQAogCQkJ
CTU3OTgzMzdEMjM2MDE5NkQwMDhFNTU0NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWhpZC5odG1sICovLAogCQkJCTU3NDIxNzg5MjQwMEFFRDAwMDJCMzAzRCAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0
bWwgKi8sCiAJCQkJNTc0MjE3ODcyNDAwQUJGRDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJyb3IuaHRtbCAqLywKKwkJCQk1N0VERkM1QjI0NUExOEY1
MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2Nr
Lmh0bWwgKi8sCiAJCQkJNTc0MjE3OEQyNDAwRDI2QzAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEuaHRtbCAqLywKLQkJCQk1NzQyMTc4RjI0MDBENTREMDAy
QjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC5odG1sICovLAogCQkJ
CTUxNzE0RUIyMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5o
dG1sICovLAogCQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElE
QkNsZWFudXAtMi5odG1sICovLAogCQkJCTUxMjBDODNCMUU2NzRFMzUwMDI1QjI1MCAvKiBXZWJz
aXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5tbQppbmRleCA2YjgyZGJhNDg0NmU5N2VkZTc5MTEwYWQ3MGVlZTY0ZGNmNjNlYjcw
Li4xN2JlM2M1ZjZkNDFiNmIwOTdiM2U5MzlkNDg3OGQxY2NjYzY5MjYxIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xMTkxLDcgKzExOTEsNiBAQCBURVNUKFdlYkF1
dGhlbnRpY2F0aW9uUGFuZWwsIExBRXJyb3IpCiAKICAgICBhdXRvICpjb25maWd1cmF0aW9uID0g
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0lu
Q2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0Zv
clRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFi
bGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVu
dGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFi
bGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRo
ZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFk
b3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAg
LTEyMDgsNyArMTIwNyw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNh
dGVDcmVkZW50aWFsKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldl
YlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107
CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhw
ZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07
Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhw
ZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVy
aW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhl
bnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjI3LDcgKzEyMjUs
NiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTm9DcmVkZW50aWFsKQogCiAgICAg
YXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZp
Z3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50
ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAK
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjQ0LDcgKzEyNDEsNiBAQCBURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxOdWxsRGVsZWdhdGUpCiAKICAgICBhdXRvICpj
b25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlv
bldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMi
IGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKQEAgLTEyNjIsNyArMTI1OCw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25Q
YW5lbCwgTEFNYWtlQ3JlZGVudGlhbERpc2FsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogCiAgICAg
YXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZp
Z3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50
ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAK
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjc5LDcgKzEyNzQsNiBAQCBURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxBbGxvd0xvY2FsQXV0aGVudGljYXRvcikKIAog
ICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9j
b25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0
aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwogICAgIFtbY29uZmlndXJh
dGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6
d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwotICAgIFtbY29uZmlndXJh
dGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6
d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmltZW50YWxGZWF0dXJlKCld
OwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKICAg
ICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlE
ZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTI5Miw4ICsxMjg2LDQ0IEBAIFRFU1QoV2ViQXV0
aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbEFsbG93TG9jYWxBdXRoZW50aWNhdG9y
KQogICAgIGNsZWFuVXBLZXljaGFpbigiIik7CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25Q
YW5lbCwgTEFOb01vY2tEZWZhdWx0T2ZmKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRy
PE5TVVJMPiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpA
IndlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jayIgd2l0aEV4dGVu
c2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisK
KyAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3Rf
Y29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldp
dGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3Vy
YXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJl
OndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKKworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVy
b1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9
IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVS
TC5nZXQoKV1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbik7Cisg
ICAgY2hlY2tQYW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVy
IGFsbG9jXSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdl
dCgpXSwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlQ3JlYXRlKTsKK30KKworVEVTVChXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLCBMQU1ha2VDcmVkZW50aWFsTm9Nb2NrTm9Vc2VyR2VzdHVyZSkKK3sK
KyAgICByZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUg
bWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLW5vLW1vY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJU
ZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNs
YXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JU
ZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVu
dGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtb
VGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAg
W3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsK
KyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNoZWNrUGFu
ZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5p
dFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKV0sIF9XS1dl
YkF1dGhlbnRpY2F0aW9uVHlwZUNyZWF0ZSk7Cit9CisKIC8vIFNraXAgdGhlIHRlc3QgYmVjYXVz
ZSBvZiA8cmRhcjovL3Byb2JsZW0vNTk2MzU0ODY+LgogI2lmIFBMQVRGT1JNKE1BQykKKwogVEVT
VChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdldEFzc2VydGlvbikKIHsKICAgICByZXNldCgp
OwpAQCAtMTMwMSw3ICsxMzMxLDYgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdl
dEFzc2VydGlvbikKIAogICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQ
cm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwog
ICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVy
aW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwot
ICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVy
aW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmlt
ZW50YWxGZWF0dXJlKCldOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50
aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTMxMyw3ICsxMzQyLDI2
IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRpb24pCiAgICAgY2hl
Y2tQYW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVyIGFsbG9j
XSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdldCgpLCBh
ZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoSW50Ol9XS1dlYkF1dGhlbnRpY2F0aW9u
VHJhbnNwb3J0SW50ZXJuYWxdKS5nZXQoKV0sIF9XS1dlYkF1dGhlbnRpY2F0aW9uVHlwZUdldCk7
CiAgICAgY2xlYW5VcEtleWNoYWluKCIiKTsKIH0KLSNlbmRpZgorCitURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBR2V0QXNzZXJ0aW9uTm9Nb2NrTm9Vc2VyR2VzdHVyZSkKK3sKKyAgICBy
ZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1s
YS1uby1tb2NrIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXMiXTsKKworICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6
QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZ
RVNdOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZv
ckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJl
KCldOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZv
ckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JF
eHBlcmltZW50YWxGZWF0dXJlKCldOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9u
OmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJB
dXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3
IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKKyAgICBjaGVja1BhbmVsKFtkZWxl
Z2F0ZSBwYW5lbF0sIEAiIiwgQFthZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoSW50
Ol9XS1dlYkF1dGhlbnRpY2F0aW9uVHJhbnNwb3J0VVNCXSkuZ2V0KCldLCBfV0tXZWJBdXRoZW50
aWNhdGlvblR5cGVHZXQpOworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykgfHwgUExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlv
bi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9j
ay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIyNTRlZWRhOWZhNmE4YzBjNWJiZTYyZTRlNDQ2ZDQ2MjdkMjY5
NzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbApAQCAt
MCwwICsxLDIwIEBACis8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0Ij4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy53aXRoVXNlckdlc3R1
cmUoKCkgPT4geyBpbnB1dC5mb2N1cygpOyB9KTsKKworICAgIGNvbnN0IG9wdGlvbnMgPSB7Cisg
ICAgICAgIHB1YmxpY0tleTogeworICAgICAgICAgICAgY2hhbGxlbmdlOiBuZXcgVWludDhBcnJh
eSgxNiksCisgICAgICAgICAgICB0aW1lb3V0OiAxMDAKKyAgICAgICAgfQorICAgIH07CisKKyAg
ICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLnRoZW4oY3JlZGVudGlhbCA9PiB7
CisgICAgICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAgIHdpbmRvdy53
ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJTdWNjZWVkZWQh
Iik7CisgICAgfSwgZXJyb3IgPT4geworICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNz
YWdlKTsKKyAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIu
cG9zdE1lc3NhZ2UoZXJyb3IubWVzc2FnZSk7CisgICAgfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0
aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMjg3MzFiNDNhMDg3NGNkZGQ2ODY0YmEyNjFmMTY1
OGNiMGQ4MzEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay5o
dG1sCkBAIC0wLDAgKzEsMjkgQEAKKzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQiPgorPHNj
cmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLndpdGhV
c2VyR2VzdHVyZSgoKSA9PiB7IGlucHV0LmZvY3VzKCk7IH0pOworCisgICAgY29uc3Qgb3B0aW9u
cyA9IHsKKyAgICAgICAgcHVibGljS2V5OiB7CisgICAgICAgICAgICBycDogeworICAgICAgICAg
ICAgICAgIG5hbWU6ICJsb2NhbGhvc3QiLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHVz
ZXI6IHsKKyAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAorICAgICAgICAg
ICAgICAgIGlkOiBuZXcgVWludDhBcnJheSgxNiksCisgICAgICAgICAgICAgICAgZGlzcGxheU5h
bWU6ICJBcHBsZXNlZWQiLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNoYWxsZW5nZTog
bmV3IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlw
ZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dLAorICAgICAgICAgICAgdGltZW91dDogMTAwLAor
ICAgICAgICB9CisgICAgfTsKKworICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0
aW9ucykudGhlbihjcmVkZW50aWFsID0+IHsKKyAgICAgICAgLy8gY29uc29sZS5sb2coIlN1Y2Nl
ZWRlZCEiKTsKKyAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRs
ZXIucG9zdE1lc3NhZ2UoIlN1Y2NlZWRlZCEiKTsKKyAgICB9LCBlcnJvciA9PiB7CisgICAgICAg
IC8vIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpOworICAgICAgICB3aW5kb3cud2Via2l0Lm1l
c3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShlcnJvci5tZXNzYWdlKTsKKyAg
ICB9KTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398016</attachid>
            <date>2020-04-29 18:33:15 -0700</date>
            <delta_ts>2020-04-30 15:28:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182893-20200429183314.patch</filename>
            <type>text/plain</type>
            <size>32564</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFlZmFhMTMxNDljODJmODY0
YmQzOWI3NTI5ZTUyM2VlNDgxNWQ1MGYuLjkyOWQxZjI4MjAzNDIxODg3MDgyMWQzOWM3NTVhMWE1
OTE3OTczODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMDQtMjkgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFJlcXVpcmUg
dXNlciBnZXN0dXJlcyBmb3IgTG9jYWxBdXRoZW50aWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzMzU3MjkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgQVBJIHRlc3RzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXV0aGVudGljYXRvck1hbmFnZXI6OmZpbHRlclRyYW5zcG9ydHMgY29uc3QpOgorICAgICAgICAo
V2ViS2l0OjpBdXRoZW50aWNhdG9yTWFuYWdlcjo6Z2V0VHJhbnNwb3J0cyBjb25zdCk6CisgICAg
ICAgIENoZWNrcyBVc2VyR2VzdHVyZSBoZXJlLiBTaW5jZSBmaWx0ZXJUcmFuc3BvcnRzIHdpbGwg
YmUgb3ZlcnJpZGVkIGluIG1vY2sgdGVzdGluZ3MsCisgICAgICAgIGFsbCBtb2NrIHRlc3RzIGRv
bid0IHJlcXVpcmUgdXNlciBnZXN0dXJlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
Om1ha2VDcmVkZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yOjptYWtlQ3JlZGVudGlhbCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6Z2V0QXNzZXJ0aW9uKToKKyAgICAgICAgQWRk
cyB1c2VyIGdlc3R1cmUgY29ycmVzcG9uZGluZyBmaWVsZHMuCisKIDIwMjAtMDQtMjkgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV0tO
YXZpZ2F0aW9uRGVsZWdhdGUgQVBJIHNob3VsZEFsbG93RGVwcmVjYXRlZFRMUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRv
ck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRvck1hbmFnZXIuY3BwCmluZGV4IDVhYjVjOTBmMGZhYWJiMTQ4MzdjY2M3YTRl
YjZkNjM1Yzg2MmMxZWEuLjM1OWVlNGNkY2ZmMzU3YWExOGU5M2I5Y2Y2ZDdjYTA5MDVlOWJlNmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJB
dXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdlci5jcHAKQEAgLTMxMCw2ICszMTAsMTIg
QEAgdm9pZCBBdXRoZW50aWNhdG9yTWFuYWdlcjo6ZmlsdGVyVHJhbnNwb3J0cyhUcmFuc3BvcnRT
ZXQmIHRyYW5zcG9ydHMpIGNvbnN0CiAgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRp
Y2F0b3JUcmFuc3BvcnQ6Ok5mYyk7CiAgICAgaWYgKCFMb2NhbFNlcnZpY2U6OmlzQXZhaWxhYmxl
KCkpCiAgICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Oklu
dGVybmFsKTsKKworICAgIGlmICghaXNGZWF0dXJlRW5hYmxlZChtX3BlbmRpbmdSZXF1ZXN0RGF0
YS5wYWdlLmdldCgpLCBXZWJQcmVmZXJlbmNlc0tleTo6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFbmFibGVkS2V5KCkpKQorICAgICAgICB0cmFuc3BvcnRzLnJlbW92ZShBdXRo
ZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CisgICAgLy8gTG9jYWwgYXV0aGVudGljYXRv
ciBtaWdodCBpbnZva2Ugc3lzdGVtIFVJIHdoaWNoIHNob3VsZCBkZWZpbml0ZWx5IG5vdCBiZSBh
YmxlIHRvIHRyaWdnZXIgYnkgc2NyaXB0cyBhdXRvbWF0aWNhbGx5LgorICAgIGlmICghbV9wZW5k
aW5nUmVxdWVzdERhdGEucHJvY2Vzc2luZ1VzZXJHZXN0dXJlKQorICAgICAgICB0cmFuc3BvcnRz
LnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CiB9CiAKIHZvaWQgQXV0
aGVudGljYXRvck1hbmFnZXI6OnN0YXJ0RGlzY292ZXJ5KGNvbnN0IFRyYW5zcG9ydFNldCYgdHJh
bnNwb3J0cykKQEAgLTM5NSw4ICs0MDEsNiBAQCBhdXRvIEF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpn
ZXRUcmFuc3BvcnRzKCkgY29uc3QgLT4gVHJhbnNwb3J0U2V0CiAgICAgfSwgWyZdKGNvbnN0IFB1
YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYgb3B0aW9ucykgewogICAgICAgICB0cmFu
c3BvcnRzID0gY29sbGVjdFRyYW5zcG9ydHMob3B0aW9ucy5hbGxvd0NyZWRlbnRpYWxzKTsKICAg
ICB9KTsKLSAgICBpZiAoIWlzRmVhdHVyZUVuYWJsZWQobV9wZW5kaW5nUmVxdWVzdERhdGEucGFn
ZS5nZXQoKSwgV2ViUHJlZmVyZW5jZXNLZXk6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50
aWNhdG9yRW5hYmxlZEtleSgpKSkKLSAgICAgICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGlj
YXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogICAgIGZpbHRlclRyYW5zcG9ydHModHJhbnNwb3J0
cyk7CiAgICAgcmV0dXJuIHRyYW5zcG9ydHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRh
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50
aWNhdGlvblJlcXVlc3REYXRhLmgKaW5kZXggMmY2MTM0NTNlZTM0ZDRhZTdhYzdhNjdlMjhmYWM2
NTYwODE3ZTRkYy4uMDRlZGM2NzU0MjM2YjdiZjVlMjIyNTU4ODQxYzQ5MTM2ODVkMmIwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuaApAQCAtNTAsNiAr
NTAsNyBAQCBzdHJ1Y3QgV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSB7CiAgICAgUmVmUHRy
PEFQSTo6V2ViQXV0aGVudGljYXRpb25QYW5lbD4gcGFuZWw7CiAgICAgV1RGOjpPcHRpb25hbDxX
ZWJDb3JlOjpHbG9iYWxGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQ7CiAgICAgV2ViS2l0OjpGcmFt
ZUluZm9EYXRhIGZyYW1lSW5mbzsKKyAgICBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZTsKIH07
CiAKIFdlYkNvcmU6OkNsaWVudERhdGFUeXBlIGdldENsaWVudERhdGFUeXBlKGNvbnN0IFZhcmlh
bnQ8V2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucywgV2ViQ29yZTo6
UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRp
b24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGIxZDE0YWZkZDA2
ZWVhZjI5OGJlYmJhZjhlNzA1ZThkZjk4ZDVmZjcuLjdhZWNkMTg5NjY5ODNkNTFiZWZkODhiZjM5
YzYwN2NlMzY1OTFkYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1
dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTU1LDE0ICs1NSwxNCBAQCBXZWJBdXRoZW50aWNhdG9y
Q29vcmRpbmF0b3JQcm94eTo6fldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5KCkKICAg
ICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2Vz
OjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
LCBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHk6Om1ha2VDcmVkZW50aWFsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlk
LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJs
aWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zJiYgb3B0aW9ucywgUmVxdWVzdENvbXBsZXRp
b25IYW5kbGVyJiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHk6Om1ha2VDcmVkZW50aWFsKEZyYW1lSWRlbnRpZmllciBmcmFtZUlkLCBGcmFtZUluZm9EYXRh
JiYgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zJiYgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJl
cXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFuZGxlUmVxdWVzdCh7
IFdURk1vdmUoaGFzaCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVBy
b3h5KSwgV2ViQXV0aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIs
IEdsb2JhbEZyYW1lSWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFt
ZUlkIH0sIFdURk1vdmUoZnJhbWVJbmZvKSB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5k
bGVSZXF1ZXN0KHsgV1RGTW92ZShoYXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIo
bV93ZWJQYWdlUHJveHkpLCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJs
ZSwgbnVsbHB0ciwgR2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFn
ZUlEKCksIGZyYW1lSWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBwcm9jZXNzaW5nVXNlckdlc3R1
cmUgfSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViQXV0aGVudGljYXRvckNvb3Jk
aW5hdG9yUHJveHk6OmdldEFzc2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJ
bmZvRGF0YSYmIGZyYW1lSW5mbywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zJiYgb3B0aW9ucywgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVy
JiYgaGFuZGxlcikKK3ZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6OmdldEFz
c2VydGlvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5m
bywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zJiYgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJlcXVlc3RDb21wbGV0
aW9uSGFuZGxlciYmIGhhbmRsZXIpCiB7Ci0gICAgaGFuZGxlUmVxdWVzdCh7IFdURk1vdmUoaGFz
aCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVByb3h5KSwgV2ViQXV0
aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIsIEdsb2JhbEZyYW1l
SWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFtZUlkIH0sIFdURk1v
dmUoZnJhbWVJbmZvKSB9LCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBoYW5kbGVSZXF1ZXN0KHsg
V1RGTW92ZShoYXNoKSwgV1RGTW92ZShvcHRpb25zKSwgbWFrZVdlYWtQdHIobV93ZWJQYWdlUHJv
eHkpLCBXZWJBdXRoZW50aWNhdGlvblBhbmVsUmVzdWx0OjpVbmF2YWlsYWJsZSwgbnVsbHB0ciwg
R2xvYmFsRnJhbWVJZGVudGlmaWVyIHsgbV93ZWJQYWdlUHJveHkud2ViUGFnZUlEKCksIGZyYW1l
SWQgfSwgV1RGTW92ZShmcmFtZUluZm8pLCBwcm9jZXNzaW5nVXNlckdlc3R1cmUgfSwgV1RGTW92
ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
OmhhbmRsZVJlcXVlc3QoV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSYmIGRhdGEsIFJlcXVl
c3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0
aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaAppbmRleCA0N2IyYmJlYTI0Y2E1MDA5YjdjOTAw
ZTk5YmNkNjAyZmU4ZDBmNTIxLi4zM2ViMDdmMzkyMDA1NmU1ZDc3MjQwZTIyZGUwOTdjOWM2NjBi
NGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclBy
b3h5LmgKQEAgLTYyLDggKzYyLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogCiAgICAgLy8g
UmVjZWl2ZXJzLgotICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCBGcmFtZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1
YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5k
bGVyJiYpOwotICAgIHZvaWQgZ2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwg
RnJhbWVJbmZvRGF0YSYmLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBXZWJDb3JlOjpQdWJsaWNL
ZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMmJiwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYp
OworICAgIHZvaWQgbWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyLCBGcmFt
ZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1YmxpY0tleUNy
ZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMmJiwgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUsIFJl
cXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIGdldEFzc2VydGlvbihXZWJDb3Jl
OjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFz
aCwgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiYsIGJvb2wgcHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9p
ZCBpc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhlbnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21w
bGV0aW9uSGFuZGxlciYmKTsKIAogICAgIHZvaWQgaGFuZGxlUmVxdWVzdChXZWJBdXRoZW50aWNh
dGlvblJlcXVlc3REYXRhJiYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRp
Y2F0b3JDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMWZkMGNlOTJkYTAzODc3MTA0ZDk3NWUzY2I4NDhiZmNiNTM4NGQ0OS4u
ZGY5OGI4ZTM2YzI4NmUwMmIxYTY1NDgwOTQxZWQ5MDRiOTIzNjM0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTI2LDggKzI2LDggQEAKIAogbWVzc2FnZXMgLT4gV2ViQXV0aGVudGljYXRvckNv
b3JkaW5hdG9yUHJveHkgTm90UmVmQ291bnRlZCB7CiAKLSAgICBNYWtlQ3JlZGVudGlhbChXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0
YSBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGlj
S2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyBvcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6
OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgZGF0YSwgc3RydWN0IFdlYkNvcmU6OkV4Y2VwdGlv
bkRhdGEgZXhjZXB0aW9uKSBBc3luYwotICAgIEdldEFzc2VydGlvbihXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUluZm8s
IFZlY3Rvcjx1aW50OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zIG9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRv
clJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRp
b24pIEFzeW5jCisgICAgTWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZy
YW1lSUQsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0b3I8dWlu
dDhfdD4gaGFzaCwgc3RydWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9w
dGlvbnMgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUpIC0+IChzdHJ1Y3QgV2Vi
Q29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1Y3QgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YSBleGNlcHRpb24pIEFzeW5jCisgICAgR2V0QXNzZXJ0aW9uKFdlYkNvcmU6OkZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGZyYW1l
SW5mbywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gsIHN0cnVjdCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMgb3B0aW9ucywgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUp
IC0+IChzdHJ1Y3QgV2ViQ29yZTo6QXV0aGVudGljYXRvclJlc3BvbnNlRGF0YSBkYXRhLCBzdHJ1
Y3QgV2ViQ29yZTo6RXhjZXB0aW9uRGF0YSBleGNlcHRpb24pIEFzeW5jCiAgICAgSXNVc2VyVmVy
aWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKCkgLT4gKGJvb2wgcmVzdWx0KSBB
c3luYwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IGQyYTAyYTUxNTFlNGNjYWJjNjAxNDk4NzNmMzk4OWJiYjg5NjFiMjYuLjVhYmU5
ODNjMTE0MjVjZTY0OGI4M2FhNTA3N2E0NTY5MzA0MzA0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9QdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwpAQCAtNTAsNyArNTEsNyBAQCB2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRv
cjo6bWFrZUNyZWRlbnRpYWwoY29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBTZWN1cgogICAgIGF1
dG8qIHdlYkZyYW1lID0gV2ViRnJhbWU6OmZyb21Db3JlRnJhbWUoZnJhbWUpOwogICAgIGlmICgh
d2ViRnJhbWUpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3dlYlBhZ2Uuc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6TWFrZUNyZWRl
bnRpYWwod2ViRnJhbWUtPmZyYW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9u
cyksIFdURk1vdmUoaGFuZGxlcikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpNYWtlQ3JlZGVudGlh
bCh3ZWJGcmFtZS0+ZnJhbWVJRCgpLCB3ZWJGcmFtZS0+aW5mbygpLCBoYXNoLCBvcHRpb25zLCBV
c2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpLCBXVEZNb3ZlKGhh
bmRsZXIpKTsKIH0KIAogdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6OmdldEFzc2Vy
dGlvbihjb25zdCBGcmFtZSYgZnJhbWUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiwgY29uc3QgVmVj
dG9yPHVpbnQ4X3Q+JiBoYXNoLCBjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMmIG9wdGlvbnMsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCkBAIC01OCw3
ICs1OSw3IEBAIHZvaWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24o
Y29uc3QgRnJhbWUmIGZyYW1lLCBjb25zdCBTZWN1cml0CiAgICAgYXV0byogd2ViRnJhbWUgPSBX
ZWJGcmFtZTo6ZnJvbUNvcmVGcmFtZShmcmFtZSk7CiAgICAgaWYgKCF3ZWJGcmFtZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Oldl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZy
YW1lSUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucyksIFdURk1vdmUoaGFuZGxl
cikpOworICAgIG1fd2ViUGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpHZXRBc3NlcnRpb24od2ViRnJhbWUtPmZyYW1lSUQo
KSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucywgVXNlckdlc3R1cmVJbmRpY2F0b3I6
OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKIHZvaWQg
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjppc1VzZXJWZXJpZnlpbmdQbGF0Zm9ybUF1dGhl
bnRpY2F0b3JBdmFpbGFibGUoUXVlcnlDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjJiYmQzMDIz
MWUzOGU0OTU2M2Y5Y2VhNjFkYzE1YjQ0NzZjZGMyZi4uMGMyMGNhZGFjYTA5NTAxOWRiYmY3YWY0
MTkwZTA3OWYxNmVmNjNlNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA0LTI5ICBKaWV3ZW4gVGFuICA8amll
d2VuX3RhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYkF1dGhuXSBSZXF1aXJlIHVzZXIgZ2Vz
dHVyZXMgZm9yIExvY2FsQXV0aGVudGljYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyODkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MzM1
NzI5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24tbGEtbm8tbW9jay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sOiBBZGRlZC4KKwogMjAyMC0wNC0yOSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBidWlsZC1qc2Mgc2hvdWxkIHF1b3RlIHRoZSB2YWx1ZSBv
ZiBjb21waWxlIGZsYWdzIGl0IGZvcndhcmRzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDcz
MTI5NTQ4MGM3YTc1YzliOWY2ZjE4Y2U0ZWY2YTZmZTgwNmZiZjkuLjJmMDY0ZmJiMTRhZmZlMTM2
MmUzN2QyODY4YTRhY2ExMGEzMGZhMjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zOTQs
NiArMzk0LDggQEAKIAkJNTdDM0ZBNjYxRjdDMjQ4RjAwOUQ0QjgwIC8qIFdlYWtQdHIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNCOUJDMzcxQTY3
NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIuY3BwICovOyB9OwogCQk1N0M2MjQ0RTIzNDZCQ0ZBMDAz
ODNGRTcgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3QzYyNDREMjM0NkJDRkEwMDM4M0ZFNyAvKiBf
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tICovOyB9OwogCQk1N0M2MjQ1MDIzNDZDMjFFMDAz
ODNGRTcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0M2MjQ0RjIzNDZD
MUVDMDAzODNGRTcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCAqLzsg
fTsKKwkJNTdFREZDNUMyNDVBMUEzRjAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtl
LWNyZWRlbnRpYWwtbGEtbm8tbW9jay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3RURGQzVCMjQ1QTE4RjUwMDk1OTUyMSAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCAqLzsgfTsKKwkJ
NTdFREZDNjAyNDVBMjk5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0
aW9uLWxhLW5vLW1vY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1N0VERkM1RjI0NUEyNzk5MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRp
Y2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1sICovOyB9OwogCQk1N0Y0QUFBMDIw
OEZBRUYwMDBBNjhFOUUgLyogU1NMS2V5R2VuZXJhdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdGNEFBOUYyMDhGQTgzRDAwQTY4RTlFIC8qIFNT
TEtleUdlbmVyYXRvci5tbSAqLzsgfTsKIAkJNTdGNTZBNUMxQzdGOENDMTAwRjMxRDdFIC8qIElz
TmF2aWdhdGlvbkFjdGlvblRydXN0ZWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0Y1NkE1QjFDN0Y4QTQwMDBGMzFEN0UgLyogSXNO
YXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5odG1sICovOyB9OwogCQk1QzAxNjBDMTIxQTEzMjQ2MDA3
N0ZBMzIgLyogSklURW5hYmxlZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDMDE2MEMwMjFBMTMyMzIwMDc3RkEzMiAvKiBKSVRFbmFibGVkLm1tICov
OyB9OwpAQCAtMTU1MCw2ICsxNTUyLDcgQEAKIAkJCQk1NzhEQTQ0RTIzRUNEMjhCMDAyNDYwMTAg
Lyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLXBpbi1pbnZhbGlkLWVycm9y
LXJldHJ5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTcwRDI2RkMyM0MzRjg3MDAw
RDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1waW4uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzY2M0RFQzIzNEYxRjkzMDBFODVFMDkgLyogd2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCisJCQkJNTdFREZDNjAyNDVBMjk5QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1n
ZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1
NzJDRUY3MTI0MEY4NzQ3MDBDNDEyQTIgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRp
b24tbGEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1Nzk4MzM5MjIzNjhGQTM3MDA4
RTU1NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRh
Z3MuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzY2M0RFQTIzNEVBNjZEMDBFODVF
MDkgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCkBAIC0xNTY3LDYgKzE1NzAsNyBAQAogCQkJCTU3OTgzMzdFMjM2MDE5QTQw
MDhFNTU0NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCTU3NDIxNzhBMjQwMEFFRDgwMDJCMzAzRCAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc0MjE3ODgyNDAwQUMyNTAwMkIzMDNEIC8q
IHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJyb3IuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKKwkJCQk1N0VERkM1QzI0NUExQTNGMDA5NTk1MjEgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCiAJCQkJNTc0MjE3OEUyNDAwRDJERjAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQzJC
ODE4NjFDODkyNTlEMDBBNTUyOUYgLyogd2ViZm9udC5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTUxNzE0RUI0MUNGOEM3OEMwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFu
dXAtMS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMjAwOCw3ICsyMDEyLDYgQEAKIAkJ
NTc0MjE3ODcyNDAwQUJGRDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRl
bnRpYWwtbGEtZXJyb3IuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1j
cmVkZW50aWFsLWxhLWVycm9yLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
NzQyMTc4OTI0MDBBRUQwMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVu
dGlhbC1sYS1kdXBsaWNhdGUtY3JlZGVudGlhbC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50
aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZHVwbGljYXRlLWNyZWRlbnRpYWwuaHRtbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3NDIxNzhEMjQwMEQyNkMwMDJCMzAzRCAvKiB3
ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2Vi
LWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS5odG1sIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNTc0MjE3OEYyNDAwRDU0RDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1tYWtlLWNyZWRlbnRpYWwuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24t
bWFrZS1jcmVkZW50aWFsLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzRG
NTVEMDIwNEQ0NzFDMDAyOTQ4QzYgLyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5h
bWUgPSBTZWN1cml0eS5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTU3NTg1OTdE
MjNBMjUyN0EwMEM3NDU3MiAvKiBDdGFwUGluVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDdGFwUGlu
VGVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzU4NTk3RTIzQTI1MjdBMDBD
NzQ1NzIgLyogQ3RhcFBpblRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3RhcFBpblRlc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA0OCw2ICsyMDUxLDggQEAKIAkJ
NTdDNjI0NEQyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0M2MjQ0RjIzNDZDMUVDMDAzODNGRTcgLyogd2Vi
LWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi5odG1sIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdEMUQ3NUUyMURDQjdBODAwOTNFODZBIC8qIFUyZkNvbW1h
bmRDb25zdHJ1Y3RvclRlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVTJmQ29tbWFuZENvbnN0cnVjdG9yVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTU3RURGQzVCMjQ1QTE4RjUwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFr
ZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRp
b24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTU3RURGQzVGMjQ1QTI3OTkwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9jay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTdGMTBEOTIxQzdFN0IzODAwRUNERjMwIC8qIElzTmF2aWdhdGlvbkFjdGlvblRy
dXN0ZWQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJc05hdmln
YXRpb25BY3Rpb25UcnVzdGVkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0Y0
QUE5RjIwOEZBODNEMDBBNjhFOUUgLyogU1NMS2V5R2VuZXJhdG9yLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU1NMS2V5R2VuZXJhdG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1N0Y1NkE1QjFDN0Y4QTQwMDBGMzFEN0UgLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3Rl
ZC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzY2Nyw2ICszNjcyLDcgQEAK
IAkJCQk1NzhEQTQ0RDIzRUNEMjYxMDAyNDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24taGlkLXBpbi1pbnZhbGlkLWVycm9yLXJldHJ5Lmh0bWwgKi8sCiAJCQkJNTcwRDI2
RkIyM0MzRjg2NTAwRDVDRjY3IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhp
ZC1waW4uaHRtbCAqLywKIAkJCQk1NzY2M0RFQjIzNEYxRjgwMDBFODVFMDkgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLmh0bWwgKi8sCisJCQkJNTdFREZDNUYyNDVBMjc5
OTAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2su
aHRtbCAqLywKIAkJCQk1NzJDRUY3MDI0MEY4NkFFMDBDNDEyQTIgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbGEuaHRtbCAqLywKIAkJCQk1Nzk4MzM3QjIzNUVCNjVDMDA4RTU1
NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3Mu
aHRtbCAqLywKIAkJCQk1NzY2M0RFOTIzNEVBNjBCMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbmZjLmh0bWwgKi8sCkBAIC0zNjg0LDggKzM2OTAsOCBAQAogCQkJ
CTU3OTgzMzdEMjM2MDE5NkQwMDhFNTU0NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWhpZC5odG1sICovLAogCQkJCTU3NDIxNzg5MjQwMEFFRDAwMDJCMzAzRCAvKiB3ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0
bWwgKi8sCiAJCQkJNTc0MjE3ODcyNDAwQUJGRDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlv
bi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJyb3IuaHRtbCAqLywKKwkJCQk1N0VERkM1QjI0NUExOEY1
MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2Nr
Lmh0bWwgKi8sCiAJCQkJNTc0MjE3OEQyNDAwRDI2QzAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEuaHRtbCAqLywKLQkJCQk1NzQyMTc4RjI0MDBENTREMDAy
QjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC5odG1sICovLAogCQkJ
CTUxNzE0RUIyMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5o
dG1sICovLAogCQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElE
QkNsZWFudXAtMi5odG1sICovLAogCQkJCTUxMjBDODNCMUU2NzRFMzUwMDI1QjI1MCAvKiBXZWJz
aXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMuaHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5tbQppbmRleCA2YjgyZGJhNDg0NmU5N2VkZTc5MTEwYWQ3MGVlZTY0ZGNmNjNlYjcw
Li4xN2JlM2M1ZjZkNDFiNmIwOTdiM2U5MzlkNDg3OGQxY2NjYzY5MjYxIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0xMTkxLDcgKzExOTEsNiBAQCBURVNUKFdlYkF1
dGhlbnRpY2F0aW9uUGFuZWwsIExBRXJyb3IpCiAKICAgICBhdXRvICpjb25maWd1cmF0aW9uID0g
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0lu
Q2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0Zv
clRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFi
bGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVu
dGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFi
bGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRo
ZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFk
b3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAg
LTEyMDgsNyArMTIwNyw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNh
dGVDcmVkZW50aWFsKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldl
YlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107
CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhw
ZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07
Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhw
ZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVy
aW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29u
ZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhl
bnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjI3LDcgKzEyMjUs
NiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTm9DcmVkZW50aWFsKQogCiAgICAg
YXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZp
Z3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50
ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAK
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjQ0LDcgKzEyNDEsNiBAQCBURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxOdWxsRGVsZWdhdGUpCiAKICAgICBhdXRvICpj
b25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlv
bldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMi
IGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVy
ZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRp
Y2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKQEAgLTEyNjIsNyArMTI1OCw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25Q
YW5lbCwgTEFNYWtlQ3JlZGVudGlhbERpc2FsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogCiAgICAg
YXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZp
Z3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50
ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9u
IHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJB
dXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAK
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1
dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CkBAIC0xMjc5LDcgKzEyNzQsNiBAQCBURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxBbGxvd0xvY2FsQXV0aGVudGljYXRvcikKIAog
ICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9j
b25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0
aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwogICAgIFtbY29uZmlndXJh
dGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6
d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwotICAgIFtbY29uZmlndXJh
dGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6
d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmltZW50YWxGZWF0dXJlKCld
OwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKICAg
ICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlE
ZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTI5Miw4ICsxMjg2LDQ0IEBAIFRFU1QoV2ViQXV0
aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbEFsbG93TG9jYWxBdXRoZW50aWNhdG9y
KQogICAgIGNsZWFuVXBLZXljaGFpbigiIik7CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25Q
YW5lbCwgTEFOb01vY2tEZWZhdWx0T2ZmKQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRy
PE5TVVJMPiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpA
IndlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jayIgd2l0aEV4dGVu
c2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisK
KyAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3Rf
Y29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldp
dGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3Vy
YXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJl
OndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKKworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVy
b1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9
IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVS
TC5nZXQoKV1dOworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbik7Cisg
ICAgY2hlY2tQYW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVy
IGFsbG9jXSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdl
dCgpXSwgX1dLV2ViQXV0aGVudGljYXRpb25UeXBlQ3JlYXRlKTsKK30KKworVEVTVChXZWJBdXRo
ZW50aWNhdGlvblBhbmVsLCBMQU1ha2VDcmVkZW50aWFsTm9Nb2NrTm9Vc2VyR2VzdHVyZSkKK3sK
KyAgICByZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUg
bWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLW5vLW1vY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJU
ZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNs
YXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JU
ZXN0aW5nOllFU107CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07CisgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVu
dGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtb
VGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAg
W3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsK
KyAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNoZWNrUGFu
ZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIiLCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5p
dFdpdGhJbnQ6X1dLV2ViQXV0aGVudGljYXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKV0sIF9XS1dl
YkF1dGhlbnRpY2F0aW9uVHlwZUNyZWF0ZSk7Cit9CisKIC8vIFNraXAgdGhlIHRlc3QgYmVjYXVz
ZSBvZiA8cmRhcjovL3Byb2JsZW0vNTk2MzU0ODY+LgogI2lmIFBMQVRGT1JNKE1BQykKKwogVEVT
VChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdldEFzc2VydGlvbikKIHsKICAgICByZXNldCgp
OwpAQCAtMTMwMSw3ICsxMzMxLDYgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdl
dEFzc2VydGlvbikKIAogICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQ
cm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwog
ICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVy
aW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJlKCldOwot
ICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVy
aW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmlt
ZW50YWxGZWF0dXJlKCldOwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb25dKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50
aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTMxMyw3ICsxMzQyLDI2
IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRpb24pCiAgICAgY2hl
Y2tQYW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVyIGFsbG9j
XSBpbml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdldCgpLCBh
ZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoSW50Ol9XS1dlYkF1dGhlbnRpY2F0aW9u
VHJhbnNwb3J0SW50ZXJuYWxdKS5nZXQoKV0sIF9XS1dlYkF1dGhlbnRpY2F0aW9uVHlwZUdldCk7
CiAgICAgY2xlYW5VcEtleWNoYWluKCIiKTsKIH0KLSNlbmRpZgorCitURVNUKFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwsIExBR2V0QXNzZXJ0aW9uTm9Nb2NrTm9Vc2VyR2VzdHVyZSkKK3sKKyAgICBy
ZXNldCgpOworICAgIFJldGFpblB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1s
YS1uby1tb2NrIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXMiXTsKKworICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24gPSBbV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFzc05hbWU6
QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlNDRm9yVGVzdGluZzpZ
RVNdOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZv
ckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmltZW50YWxGZWF0dXJl
KCldOworICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVuYWJsZWQ6WUVTIGZv
ckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1dGhlbnRpY2F0b3JF
eHBlcmltZW50YWxGZWF0dXJlKCldOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBjb25maWd1cmF0aW9u
OmNvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RXZWJB
dXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3
IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKKyAgICBjaGVja1BhbmVsKFtkZWxl
Z2F0ZSBwYW5lbF0sIEAiIiwgQFthZG9wdE5TKFtbTlNOdW1iZXIgYWxsb2NdIGluaXRXaXRoSW50
Ol9XS1dlYkF1dGhlbnRpY2F0aW9uVHJhbnNwb3J0VVNCXSkuZ2V0KCldLCBfV0tXZWJBdXRoZW50
aWNhdGlvblR5cGVHZXQpOworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykgfHwgUExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlv
bi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9j
ay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIyNTRlZWRhOWZhNmE4YzBjNWJiZTYyZTRlNDQ2ZDQ2MjdkMjY5
NzMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL3dlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbApAQCAt
MCwwICsxLDIwIEBACis8aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0Ij4KKzxzY3JpcHQ+Cisg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy53aXRoVXNlckdlc3R1
cmUoKCkgPT4geyBpbnB1dC5mb2N1cygpOyB9KTsKKworICAgIGNvbnN0IG9wdGlvbnMgPSB7Cisg
ICAgICAgIHB1YmxpY0tleTogeworICAgICAgICAgICAgY2hhbGxlbmdlOiBuZXcgVWludDhBcnJh
eSgxNiksCisgICAgICAgICAgICB0aW1lb3V0OiAxMDAKKyAgICAgICAgfQorICAgIH07CisKKyAg
ICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuZ2V0KG9wdGlvbnMpLnRoZW4oY3JlZGVudGlhbCA9PiB7
CisgICAgICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAgIHdpbmRvdy53
ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJTdWNjZWVkZWQh
Iik7CisgICAgfSwgZXJyb3IgPT4geworICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5tZXNz
YWdlKTsKKyAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIu
cG9zdE1lc3NhZ2UoZXJyb3IubWVzc2FnZSk7CisgICAgfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0
aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMjg3MzFiNDNhMDg3NGNkZGQ2ODY0YmEyNjFmMTY1
OGNiMGQ4MzEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay5o
dG1sCkBAIC0wLDAgKzEsMjkgQEAKKzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaW5wdXQiPgorPHNj
cmlwdD4KKyAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLndpdGhV
c2VyR2VzdHVyZSgoKSA9PiB7IGlucHV0LmZvY3VzKCk7IH0pOworCisgICAgY29uc3Qgb3B0aW9u
cyA9IHsKKyAgICAgICAgcHVibGljS2V5OiB7CisgICAgICAgICAgICBycDogeworICAgICAgICAg
ICAgICAgIG5hbWU6ICJsb2NhbGhvc3QiLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHVz
ZXI6IHsKKyAgICAgICAgICAgICAgICBuYW1lOiAiSm9obiBBcHBsZXNlZWQiLAorICAgICAgICAg
ICAgICAgIGlkOiBuZXcgVWludDhBcnJheSgxNiksCisgICAgICAgICAgICAgICAgZGlzcGxheU5h
bWU6ICJBcHBsZXNlZWQiLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIGNoYWxsZW5nZTog
bmV3IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAgICAgcHViS2V5Q3JlZFBhcmFtczogW3sgdHlw
ZTogInB1YmxpYy1rZXkiLCBhbGc6IC03IH1dLAorICAgICAgICAgICAgdGltZW91dDogMTAwLAor
ICAgICAgICB9CisgICAgfTsKKworICAgIG5hdmlnYXRvci5jcmVkZW50aWFscy5jcmVhdGUob3B0
aW9ucykudGhlbihjcmVkZW50aWFsID0+IHsKKyAgICAgICAgLy8gY29uc29sZS5sb2coIlN1Y2Nl
ZWRlZCEiKTsKKyAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRs
ZXIucG9zdE1lc3NhZ2UoIlN1Y2NlZWRlZCEiKTsKKyAgICB9LCBlcnJvciA9PiB7CisgICAgICAg
IC8vIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpOworICAgICAgICB3aW5kb3cud2Via2l0Lm1l
c3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZShlcnJvci5tZXNzYWdlKTsKKyAg
ICB9KTsKKzwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="413409"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
    <flag name="commit-queue"
          id="413497"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398157</attachid>
            <date>2020-04-30 21:15:00 -0700</date>
            <delta_ts>2020-04-30 21:43:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182893-20200430211459.patch</filename>
            <type>text/plain</type>
            <size>32541</size>
            <attacher name="Jiewen Tan">jiewen_tan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA5NjVjNWQwMGUzZDY1ODYw
YmY5NDRiYzFmZTQyOTNiZTBhYmNkOTguLmUwYjk2MTEzNWJjNmUwNDIzMTY2YTcxYzg2ZDQ3N2Uz
NjU5ZmM3MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjAtMDQtMjkgIEppZXdlbiBU
YW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViQXV0aG5dIFJlcXVpcmUg
dXNlciBnZXN0dXJlcyBmb3IgTG9jYWxBdXRoZW50aWNhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzMzU3MjkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAg
ICAgICAgQ292ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vQXV0aGVudGljYXRvck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpB
dXRoZW50aWNhdG9yTWFuYWdlcjo6ZmlsdGVyVHJhbnNwb3J0cyBjb25zdCk6CisgICAgICAgIChX
ZWJLaXQ6OkF1dGhlbnRpY2F0b3JNYW5hZ2VyOjpnZXRUcmFuc3BvcnRzIGNvbnN0KToKKyAgICAg
ICAgQ2hlY2tzIFVzZXJHZXN0dXJlIGhlcmUuIFNpbmNlIGZpbHRlclRyYW5zcG9ydHMgd2lsbCBi
ZSBvdmVycmlkZWQgaW4gbW9jayB0ZXN0aW5ncywKKyAgICAgICAgYWxsIG1vY2sgdGVzdHMgZG9u
J3QgcmVxdWlyZSB1c2VyIGdlc3R1cmVzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6
bWFrZUNyZWRlbnRpYWwpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRoZW50aWNhdG9yQ29vcmRp
bmF0b3JQcm94eTo6Z2V0QXNzZXJ0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3I6Om1ha2VDcmVkZW50aWFsKToKKyAgICAgICAgKFdlYktpdDo6
V2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24pOgorICAgICAgICBBZGRz
IHVzZXIgZ2VzdHVyZSBjb3JyZXNwb25kaW5nIGZpZWxkcy4KKwogMjAyMC0wNC0zMCAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjYw
OTMyKTogQVNTRVJUSU9OIEZBSUxFRDogb2sgaW4gd2Via2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpj
b25zdW1lUGVybWFuZW50bHkgZm9yIDMgdGVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0b3JNYW5h
Z2VyLmNwcAppbmRleCBiNGFlZWZhMWY2Yjg2ODBjOWUyZDVlNGQ2YzEyMTU1YmM0MWY1NmI0Li4y
N2JlNTgxMGRlNjUzZTZiMzVjZjkxMGQxNjY5NjQ1NmVmMjNiZDE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdG9yTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQXV0
aGVudGljYXRvck1hbmFnZXIuY3BwCkBAIC0zMDUsNiArMzA1LDEyIEBAIHZvaWQgQXV0aGVudGlj
YXRvck1hbmFnZXI6OmZpbHRlclRyYW5zcG9ydHMoVHJhbnNwb3J0U2V0JiB0cmFuc3BvcnRzKSBj
b25zdAogICAgICAgICB0cmFuc3BvcnRzLnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpO
ZmMpOwogICAgIGlmICghTG9jYWxTZXJ2aWNlOjppc0F2YWlsYWJsZSgpKQogICAgICAgICB0cmFu
c3BvcnRzLnJlbW92ZShBdXRoZW50aWNhdG9yVHJhbnNwb3J0OjpJbnRlcm5hbCk7CisKKyAgICBp
ZiAoIWlzRmVhdHVyZUVuYWJsZWQobV9wZW5kaW5nUmVxdWVzdERhdGEucGFnZS5nZXQoKSwgV2Vi
UHJlZmVyZW5jZXNLZXk6OndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRW5hYmxl
ZEtleSgpKSkKKyAgICAgICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGljYXRvclRyYW5zcG9y
dDo6SW50ZXJuYWwpOworICAgIC8vIExvY2FsIGF1dGhlbnRpY2F0b3IgbWlnaHQgaW52b2tlIHN5
c3RlbSBVSSB3aGljaCBzaG91bGQgZGVmaW5pdGVseSBub3QgYmUgYWJsZSB0byB0cmlnZ2VyIGJ5
IHNjcmlwdHMgYXV0b21hdGljYWxseS4KKyAgICBpZiAoIW1fcGVuZGluZ1JlcXVlc3REYXRhLnBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSkKKyAgICAgICAgdHJhbnNwb3J0cy5yZW1vdmUoQXV0aGVudGlj
YXRvclRyYW5zcG9ydDo6SW50ZXJuYWwpOwogfQogCiB2b2lkIEF1dGhlbnRpY2F0b3JNYW5hZ2Vy
OjpzdGFydERpc2NvdmVyeShjb25zdCBUcmFuc3BvcnRTZXQmIHRyYW5zcG9ydHMpCkBAIC0zOTAs
OCArMzk2LDYgQEAgYXV0byBBdXRoZW50aWNhdG9yTWFuYWdlcjo6Z2V0VHJhbnNwb3J0cygpIGNv
bnN0IC0+IFRyYW5zcG9ydFNldAogICAgIH0sIFsmXShjb25zdCBQdWJsaWNLZXlDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMmIG9wdGlvbnMpIHsKICAgICAgICAgdHJhbnNwb3J0cyA9IGNvbGxlY3RU
cmFuc3BvcnRzKG9wdGlvbnMuYWxsb3dDcmVkZW50aWFscyk7CiAgICAgfSk7Ci0gICAgaWYgKCFp
c0ZlYXR1cmVFbmFibGVkKG1fcGVuZGluZ1JlcXVlc3REYXRhLnBhZ2UuZ2V0KCksIFdlYlByZWZl
cmVuY2VzS2V5Ojp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckVuYWJsZWRLZXko
KSkpCi0gICAgICAgIHRyYW5zcG9ydHMucmVtb3ZlKEF1dGhlbnRpY2F0b3JUcmFuc3BvcnQ6Oklu
dGVybmFsKTsKICAgICBmaWx0ZXJUcmFuc3BvcnRzKHRyYW5zcG9ydHMpOwogICAgIHJldHVybiB0
cmFuc3BvcnRzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0
YS5oCmluZGV4IDJmNjEzNDUzZWUzNGQ0YWU3YWM3YTY3ZTI4ZmFjNjU2MDgxN2U0ZGMuLjA0ZWRj
Njc1NDIzNmI3YmY1ZTIyMjU1ODg0MWM0OTEzNjg1ZDJiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0aW9uUmVxdWVz
dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9X
ZWJBdXRoZW50aWNhdGlvblJlcXVlc3REYXRhLmgKQEAgLTUwLDYgKzUwLDcgQEAgc3RydWN0IFdl
YkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEgewogICAgIFJlZlB0cjxBUEk6OldlYkF1dGhlbnRp
Y2F0aW9uUGFuZWw+IHBhbmVsOwogICAgIFdURjo6T3B0aW9uYWw8V2ViQ29yZTo6R2xvYmFsRnJh
bWVJZGVudGlmaWVyPiBmcmFtZUlEOwogICAgIFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUlu
Zm87CisgICAgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmU7CiB9OwogCiBXZWJDb3JlOjpDbGll
bnREYXRhVHlwZSBnZXRDbGllbnREYXRhVHlwZShjb25zdCBWYXJpYW50PFdlYkNvcmU6OlB1Ymxp
Y0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMsIFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRp
YWxSZXF1ZXN0T3B0aW9ucz4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0
b3JDb29yZGluYXRvclByb3h5LmNwcAppbmRleCBiMWQxNGFmZGQwNmVlYWYyOThiZWJiYWY4ZTcw
NWU4ZGY5OGQ1ZmY3Li43YWVjZDE4OTY2OTgzZDUxYmVmZDg4YmYzOWM2MDdjZTM2NTkxZGMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJB
dXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHku
Y3BwCkBAIC01NSwxNCArNTUsMTQgQEAgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6
On5XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eSgpCiAgICAgbV93ZWJQYWdlUHJveHku
cHJvY2VzcygpLnJlbW92ZU1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlUHJveHku
d2ViUGFnZUlEKCkpOwogfQogCi12b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5
OjptYWtlQ3JlZGVudGlhbChGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJbmZvRGF0YSYm
IGZyYW1lSW5mbywgVmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3JlZGVudGlhbENy
ZWF0aW9uT3B0aW9ucyYmIG9wdGlvbnMsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRs
ZXIpCit2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjptYWtlQ3JlZGVudGlh
bChGcmFtZUlkZW50aWZpZXIgZnJhbWVJZCwgRnJhbWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgVmVj
dG9yPHVpbnQ4X3Q+JiYgaGFzaCwgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyYm
IG9wdGlvbnMsIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCBSZXF1ZXN0Q29tcGxldGlvbkhh
bmRsZXImJiBoYW5kbGVyKQogewotICAgIGhhbmRsZVJlcXVlc3QoeyBXVEZNb3ZlKGhhc2gpLCBX
VEZNb3ZlKG9wdGlvbnMpLCBtYWtlV2Vha1B0cihtX3dlYlBhZ2VQcm94eSksIFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxSZXN1bHQ6OlVuYXZhaWxhYmxlLCBudWxscHRyLCBHbG9iYWxGcmFtZUlkZW50
aWZpZXIgeyBtX3dlYlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgZnJhbWVJZCB9LCBXVEZNb3ZlKGZy
YW1lSW5mbykgfSwgV1RGTW92ZShoYW5kbGVyKSk7CisgICAgaGFuZGxlUmVxdWVzdCh7IFdURk1v
dmUoaGFzaCksIFdURk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVByb3h5KSwg
V2ViQXV0aGVudGljYXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIsIEdsb2Jh
bEZyYW1lSWRlbnRpZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFtZUlkIH0s
IFdURk1vdmUoZnJhbWVJbmZvKSwgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlIH0sIFdURk1vdmUoaGFu
ZGxlcikpOwogfQogCi12b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpnZXRB
c3NlcnRpb24oRnJhbWVJZGVudGlmaWVyIGZyYW1lSWQsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUlu
Zm8sIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0
aW9ucyYmIG9wdGlvbnMsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmIGhhbmRsZXIpCit2b2lk
IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpnZXRBc3NlcnRpb24oRnJhbWVJZGVu
dGlmaWVyIGZyYW1lSWQsIEZyYW1lSW5mb0RhdGEmJiBmcmFtZUluZm8sIFZlY3Rvcjx1aW50OF90
PiYmIGhhc2gsIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYmIG9wdGlvbnMsIGJv
b2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5k
bGVyKQogewotICAgIGhhbmRsZVJlcXVlc3QoeyBXVEZNb3ZlKGhhc2gpLCBXVEZNb3ZlKG9wdGlv
bnMpLCBtYWtlV2Vha1B0cihtX3dlYlBhZ2VQcm94eSksIFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxS
ZXN1bHQ6OlVuYXZhaWxhYmxlLCBudWxscHRyLCBHbG9iYWxGcmFtZUlkZW50aWZpZXIgeyBtX3dl
YlBhZ2VQcm94eS53ZWJQYWdlSUQoKSwgZnJhbWVJZCB9LCBXVEZNb3ZlKGZyYW1lSW5mbykgfSwg
V1RGTW92ZShoYW5kbGVyKSk7CisgICAgaGFuZGxlUmVxdWVzdCh7IFdURk1vdmUoaGFzaCksIFdU
Rk1vdmUob3B0aW9ucyksIG1ha2VXZWFrUHRyKG1fd2ViUGFnZVByb3h5KSwgV2ViQXV0aGVudGlj
YXRpb25QYW5lbFJlc3VsdDo6VW5hdmFpbGFibGUsIG51bGxwdHIsIEdsb2JhbEZyYW1lSWRlbnRp
ZmllciB7IG1fd2ViUGFnZVByb3h5LndlYlBhZ2VJRCgpLCBmcmFtZUlkIH0sIFdURk1vdmUoZnJh
bWVJbmZvKSwgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlIH0sIFdURk1vdmUoaGFuZGxlcikpOwogfQog
CiB2b2lkIFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5OjpoYW5kbGVSZXF1ZXN0KFdl
YkF1dGhlbnRpY2F0aW9uUmVxdWVzdERhdGEmJiBkYXRhLCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRs
ZXImJiBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGlu
YXRvclByb3h5LmgKaW5kZXggNDdiMmJiZWEyNGNhNTAwOWI3YzkwMGU5OWJjZDYwMmZlOGQwZjUy
MS4uMzNlYjA3ZjM5MjAwNTZlNWQ3NzI0MGUyMmRlMDk3YzljNjYwYjRlYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRo
ZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eS5oCkBAIC02Miw4ICs2
Miw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKIAogICAgIC8vIFJlY2VpdmVycy4KLSAgICB2
b2lkIG1ha2VDcmVkZW50aWFsKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0
YSYmLCBWZWN0b3I8dWludDhfdD4mJiBoYXNoLCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFs
Q3JlYXRpb25PcHRpb25zJiYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKLSAgICB2b2lk
IGdldEFzc2VydGlvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIEZyYW1lSW5mb0RhdGEmJiwg
VmVjdG9yPHVpbnQ4X3Q+JiYgaGFzaCwgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVl
c3RPcHRpb25zJiYsIFJlcXVlc3RDb21wbGV0aW9uSGFuZGxlciYmKTsKKyAgICB2b2lkIG1ha2VD
cmVkZW50aWFsKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgRnJhbWVJbmZvRGF0YSYmLCBWZWN0
b3I8dWludDhfdD4mJiBoYXNoLCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zJiYsIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCBSZXF1ZXN0Q29tcGxldGlvbkhh
bmRsZXImJik7CisgICAgdm9pZCBnZXRBc3NlcnRpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVy
LCBGcmFtZUluZm9EYXRhJiYsIFZlY3Rvcjx1aW50OF90PiYmIGhhc2gsIFdlYkNvcmU6OlB1Ymxp
Y0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyYmLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVy
ZSwgUmVxdWVzdENvbXBsZXRpb25IYW5kbGVyJiYpOwogICAgIHZvaWQgaXNVc2VyVmVyaWZ5aW5n
UGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxlKFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXImJik7
CiAKICAgICB2b2lkIGhhbmRsZVJlcXVlc3QoV2ViQXV0aGVudGljYXRpb25SZXF1ZXN0RGF0YSYm
LCBSZXF1ZXN0Q29tcGxldGlvbkhhbmRsZXImJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3JQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0
aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDFm
ZDBjZTkyZGEwMzg3NzEwNGQ5NzVlM2NiODQ4YmZjYjUzODRkNDkuLmRmOThiOGUzNmMyODZlMDJi
MWE2NTQ4MDk0MWVkOTA0YjkyMzYzNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L1dlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNiw4ICsy
Niw4IEBACiAKIG1lc3NhZ2VzIC0+IFdlYkF1dGhlbnRpY2F0b3JDb29yZGluYXRvclByb3h5IE5v
dFJlZkNvdW50ZWQgewogCi0gICAgTWFrZUNyZWRlbnRpYWwoV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0
b3I8dWludDhfdD4gaGFzaCwgc3RydWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxDcmVh
dGlvbk9wdGlvbnMgb3B0aW9ucykgLT4gKHN0cnVjdCBXZWJDb3JlOjpBdXRoZW50aWNhdG9yUmVz
cG9uc2VEYXRhIGRhdGEsIHN0cnVjdCBXZWJDb3JlOjpFeGNlcHRpb25EYXRhIGV4Y2VwdGlvbikg
QXN5bmMKLSAgICBHZXRBc3NlcnRpb24oV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQs
IHN0cnVjdCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgZnJhbWVJbmZvLCBWZWN0b3I8dWludDhfdD4g
aGFzaCwgc3RydWN0IFdlYkNvcmU6OlB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyBv
cHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgZGF0
YSwgc3RydWN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgZXhjZXB0aW9uKSBBc3luYworICAgIE1h
a2VDcmVkZW50aWFsKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBzdHJ1Y3QgV2Vi
S2l0OjpGcmFtZUluZm9EYXRhIGZyYW1lSW5mbywgVmVjdG9yPHVpbnQ4X3Q+IGhhc2gsIHN0cnVj
dCBXZWJDb3JlOjpQdWJsaWNLZXlDcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zIG9wdGlvbnMsIGJv
b2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKSAtPiAoc3RydWN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0
b3JSZXNwb25zZURhdGEgZGF0YSwgc3RydWN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGEgZXhjZXB0
aW9uKSBBc3luYworICAgIEdldEFzc2VydGlvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgc3RydWN0IFdlYktpdDo6RnJhbWVJbmZvRGF0YSBmcmFtZUluZm8sIFZlY3Rvcjx1aW50
OF90PiBoYXNoLCBzdHJ1Y3QgV2ViQ29yZTo6UHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRp
b25zIG9wdGlvbnMsIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKSAtPiAoc3RydWN0IFdlYkNv
cmU6OkF1dGhlbnRpY2F0b3JSZXNwb25zZURhdGEgZGF0YSwgc3RydWN0IFdlYkNvcmU6OkV4Y2Vw
dGlvbkRhdGEgZXhjZXB0aW9uKSBBc3luYwogICAgIElzVXNlclZlcmlmeWluZ1BsYXRmb3JtQXV0
aGVudGljYXRvckF2YWlsYWJsZSgpIC0+IChib29sIHJlc3VsdCkgQXN5bmMKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dlYkF1dGhl
bnRpY2F0b3JDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0
aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcAppbmRleCBkMmEwMmE1
MTUxZTRjY2FiYzYwMTQ5ODczZjM5ODliYmI4OTYxYjI2Li41YWJlOTgzYzExNDI1Y2U2NDhiODNh
YTUwNzdhNDU2OTMwNDMwNGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vV2ViQXV0aGVudGljYXRv
ckNvb3JkaW5hdG9yLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUHVi
bGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHVi
bGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1
cml0eU9yaWdpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVXNlckdlc3R1cmVJbmRpY2F0b3IuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTUwLDcg
KzUxLDcgQEAgdm9pZCBXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0b3I6Om1ha2VDcmVkZW50aWFs
KGNvbnN0IEZyYW1lJiBmcmFtZSwgY29uc3QgU2VjdXIKICAgICBhdXRvKiB3ZWJGcmFtZSA9IFdl
YkZyYW1lOjpmcm9tQ29yZUZyYW1lKGZyYW1lKTsKICAgICBpZiAoIXdlYkZyYW1lKQogICAgICAg
ICByZXR1cm47Ci0gICAgbV93ZWJQYWdlLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2Vi
QXV0aGVudGljYXRvckNvb3JkaW5hdG9yUHJveHk6Ok1ha2VDcmVkZW50aWFsKHdlYkZyYW1lLT5m
cmFtZUlEKCksIHdlYkZyYW1lLT5pbmZvKCksIGhhc2gsIG9wdGlvbnMpLCBXVEZNb3ZlKGhhbmRs
ZXIpKTsKKyAgICBtX3dlYlBhZ2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3JQcm94eTo6TWFrZUNyZWRlbnRpYWwod2ViRnJhbWUtPmZyYW1l
SUQoKSwgd2ViRnJhbWUtPmluZm8oKSwgaGFzaCwgb3B0aW9ucywgVXNlckdlc3R1cmVJbmRpY2F0
b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKSwgV1RGTW92ZShoYW5kbGVyKSk7CiB9CiAKIHZv
aWQgV2ViQXV0aGVudGljYXRvckNvb3JkaW5hdG9yOjpnZXRBc3NlcnRpb24oY29uc3QgRnJhbWUm
IGZyYW1lLCBjb25zdCBTZWN1cml0eU9yaWdpbiYsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgaGFz
aCwgY29uc3QgUHVibGljS2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zJiBvcHRpb25zLCBSZXF1
ZXN0Q29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQpAQCAtNTgsNyArNTksNyBAQCB2b2lkIFdl
YkF1dGhlbnRpY2F0b3JDb29yZGluYXRvcjo6Z2V0QXNzZXJ0aW9uKGNvbnN0IEZyYW1lJiBmcmFt
ZSwgY29uc3QgU2VjdXJpdAogICAgIGF1dG8qIHdlYkZyYW1lID0gV2ViRnJhbWU6OmZyb21Db3Jl
RnJhbWUoZnJhbWUpOwogICAgIGlmICghd2ViRnJhbWUpCiAgICAgICAgIHJldHVybjsKLSAgICBt
X3dlYlBhZ2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRoZW50aWNhdG9yQ29v
cmRpbmF0b3JQcm94eTo6R2V0QXNzZXJ0aW9uKHdlYkZyYW1lLT5mcmFtZUlEKCksIHdlYkZyYW1l
LT5pbmZvKCksIGhhc2gsIG9wdGlvbnMpLCBXVEZNb3ZlKGhhbmRsZXIpKTsKKyAgICBtX3dlYlBh
Z2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJBdXRoZW50aWNhdG9yQ29vcmRpbmF0
b3JQcm94eTo6R2V0QXNzZXJ0aW9uKHdlYkZyYW1lLT5mcmFtZUlEKCksIHdlYkZyYW1lLT5pbmZv
KCksIGhhc2gsIG9wdGlvbnMsIFVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdl
c3R1cmUoKSksIFdURk1vdmUoaGFuZGxlcikpOwogfQogCiB2b2lkIFdlYkF1dGhlbnRpY2F0b3JD
b29yZGluYXRvcjo6aXNVc2VyVmVyaWZ5aW5nUGxhdGZvcm1BdXRoZW50aWNhdG9yQXZhaWxhYmxl
KFF1ZXJ5Q29tcGxldGlvbkhhbmRsZXImJiBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDRjYjgzMWQ4ZWUzMjdmNTE2MmVjZDE2MTA1
ZDJiYTAwNzVlMGY5ZTQuLjE1NmIyYTY4N2ZmZWIwNjIzODMxZGFiM2I5ZTg2MDc3ZTM4ZDEzYWIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wNC0yOSAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgorCisgICAgICAgIFtXZWJBdXRobl0gUmVxdWlyZSB1c2VyIGdlc3R1cmVzIGZvciBMb2NhbEF1
dGhlbnRpY2F0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4Mjg5MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDMzNTcyOTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2Evd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8tbW9j
ay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay5odG1sOiBBZGRl
ZC4KKwogMjAyMC0wNC0zMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFRlc3RXZWJLaXRBUEkuV2ViS2l0LkRlZmF1bHREaXNwbGF5TmFtZSBh
bmQgVGVzdFdlYktpdEFQSS5XZWJLaXQuQ3VzdG9tRGlzcGxheU5hbWUgYXJlIGZsYWt5IGZhaWx1
cmVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDczMTI5NTQ4MGM3YTc1YzliOWY2ZjE4Y2U0
ZWY2YTZmZTgwNmZiZjkuLjJmMDY0ZmJiMTRhZmZlMTM2MmUzN2QyODY4YTRhY2ExMGEzMGZhMjIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zOTQsNiArMzk0LDggQEAKIAkJNTdDM0ZBNjYx
RjdDMjQ4RjAwOUQ0QjgwIC8qIFdlYWtQdHIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUNCOUJDMzcxQTY3NDgyMzAwRkU1Njc4IC8qIFdlYWtQdHIu
Y3BwICovOyB9OwogCQk1N0M2MjQ0RTIzNDZCQ0ZBMDAzODNGRTcgLyogX1dLV2ViQXV0aGVudGlj
YXRpb25QYW5lbC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU3QzYyNDREMjM0NkJDRkEwMDM4M0ZFNyAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVs
Lm1tICovOyB9OwogCQk1N0M2MjQ1MDIzNDZDMjFFMDAzODNGRTcgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1N0M2MjQ0RjIzNDZDMUVDMDAzODNGRTcgLyogd2ViLWF1dGhl
bnRpY2F0aW9uLWdldC1hc3NlcnRpb24uaHRtbCAqLzsgfTsKKwkJNTdFREZDNUMyNDVBMUEzRjAw
OTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtbm8tbW9jay5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU3RURGQzVCMjQ1QTE4RjUwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLW5vLW1vY2suaHRtbCAqLzsgfTsKKwkJNTdFREZDNjAyNDVBMjk5QzAwOTU5NTIx
IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0VERkM1
RjI0NUEyNzk5MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEt
bm8tbW9jay5odG1sICovOyB9OwogCQk1N0Y0QUFBMDIwOEZBRUYwMDBBNjhFOUUgLyogU1NMS2V5
R2VuZXJhdG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTdGNEFBOUYyMDhGQTgzRDAwQTY4RTlFIC8qIFNTTEtleUdlbmVyYXRvci5tbSAqLzsgfTsK
IAkJNTdGNTZBNUMxQzdGOENDMTAwRjMxRDdFIC8qIElzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1N0Y1NkE1QjFDN0Y4QTQwMDBGMzFEN0UgLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5o
dG1sICovOyB9OwogCQk1QzAxNjBDMTIxQTEzMjQ2MDA3N0ZBMzIgLyogSklURW5hYmxlZC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMDE2MEMwMjFB
MTMyMzIwMDc3RkEzMiAvKiBKSVRFbmFibGVkLm1tICovOyB9OwpAQCAtMTU1MCw2ICsxNTUyLDcg
QEAKIAkJCQk1NzhEQTQ0RTIzRUNEMjhCMDAyNDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdl
dC1hc3NlcnRpb24taGlkLXBpbi1pbnZhbGlkLWVycm9yLXJldHJ5Lmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCiAJCQkJNTcwRDI2RkMyM0MzRjg3MDAwRDVDRjY3IC8qIHdlYi1hdXRoZW50aWNh
dGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1waW4uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJ
CQk1NzY2M0RFQzIzNEYxRjkzMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3Nl
cnRpb24taGlkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJNTdFREZDNjAyNDVBMjk5
QzAwOTU5NTIxIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2su
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1NzJDRUY3MTI0MEY4NzQ3MDBDNDEyQTIg
Lyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk1Nzk4MzM5MjIzNjhGQTM3MDA4RTU1NDcgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3MuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQk1NzY2M0RFQTIzNEVBNjZEMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0aW9u
LWdldC1hc3NlcnRpb24tbmZjLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xNTY3LDYg
KzE1NzAsNyBAQAogCQkJCTU3OTgzMzdFMjM2MDE5QTQwMDhFNTU0NyAvKiB3ZWItYXV0aGVudGlj
YXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJ
CTU3NDIxNzhBMjQwMEFFRDgwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJNTc0MjE3ODgyNDAwQUMyNTAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtl
LWNyZWRlbnRpYWwtbGEtZXJyb3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQk1N0VE
RkM1QzI0NUExQTNGMDA5NTk1MjEgLyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlh
bC1sYS1uby1tb2NrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTc0MjE3OEUyNDAw
RDJERjAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkxQzJCODE4NjFDODkyNTlEMDBBNTUyOUYgLyog
d2ViZm9udC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxNzE0RUI0MUNGOEM3OEMw
MDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLApAQCAtMjAwOCw3ICsyMDEyLDYgQEAKIAkJNTc0MjE3ODcyNDAwQUJGRDAwMkIzMDNE
IC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJyb3IuaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLWVycm9yLmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzQyMTc4OTI0MDBBRUQwMDAyQjMwM0Qg
Lyogd2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1kdXBsaWNhdGUtY3JlZGVu
dGlhbC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gIndlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwt
bGEtZHVwbGljYXRlLWNyZWRlbnRpYWwuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTU3NDIxNzhEMjQwMEQyNkMwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1j
cmVkZW50aWFsLWxhLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLW1ha2UtY3Jl
ZGVudGlhbC1sYS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTc0MjE3OEYy
NDAwRDU0RDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLmh0bWwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzRGNTVEMDIwNEQ0NzFDMDAyOTQ4QzYgLyog
U2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdvcms7
IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291
cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCTU3NTg1OTdEMjNBMjUyN0EwMEM3NDU3MiAvKiBDdGFw
UGluVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDdGFwUGluVGVzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1NzU4NTk3RTIzQTI1MjdBMDBDNzQ1NzIgLyogQ3RhcFBpblRlc3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ3RhcFBpblRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjA0OCw2ICsyMDUxLDggQEAKIAkJNTdDNjI0NEQyMzQ2QkNGQTAwMzgzRkU3
IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBf
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1N0M2MjQ0RjIzNDZDMUVDMDAzODNGRTcgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3Nl
cnRpb24uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRp
b24tZ2V0LWFzc2VydGlvbi5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdE
MUQ3NUUyMURDQjdBODAwOTNFODZBIC8qIFUyZkNvbW1hbmRDb25zdHJ1Y3RvclRlc3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVTJmQ29tbWFuZENvbnN0cnVjdG9y
VGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RURGQzVCMjQ1QTE4RjUw
MDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2su
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9ICJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5v
LW1vY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3RURGQzVGMjQ1QTI3
OTkwMDk1OTUyMSAvKiB3ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1tb2Nr
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0Lmh0bWw7IHBhdGggPSAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEtbm8t
bW9jay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTdGMTBEOTIxQzdFN0Iz
ODAwRUNERjMwIC8qIElzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBJc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0Y0QUE5RjIwOEZBODNEMDBBNjhFOUUgLyog
U1NMS2V5R2VuZXJhdG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU1NMS2V5R2VuZXJhdG9y
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0Y1NkE1QjFDN0Y4QTQwMDBGMzFE
N0UgLyogSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1s
OyBwYXRoID0gSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5odG1sOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMzY2Nyw2ICszNjcyLDcgQEAKIAkJCQk1NzhEQTQ0RDIzRUNEMjYxMDAy
NDYwMTAgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24taGlkLXBpbi1pbnZhbGlk
LWVycm9yLXJldHJ5Lmh0bWwgKi8sCiAJCQkJNTcwRDI2RkIyM0MzRjg2NTAwRDVDRjY3IC8qIHdl
Yi1hdXRoZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWhpZC1waW4uaHRtbCAqLywKIAkJCQk1NzY2
M0RFQjIzNEYxRjgwMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24t
aGlkLmh0bWwgKi8sCisJCQkJNTdFREZDNUYyNDVBMjc5OTAwOTU5NTIxIC8qIHdlYi1hdXRoZW50
aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbCAqLywKIAkJCQk1NzJDRUY3MDI0
MEY4NkFFMDBDNDEyQTIgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbGEuaHRt
bCAqLywKIAkJCQk1Nzk4MzM3QjIzNUVCNjVDMDA4RTU1NDcgLyogd2ViLWF1dGhlbnRpY2F0aW9u
LWdldC1hc3NlcnRpb24tbmZjLW11bHRpcGxlLXRhZ3MuaHRtbCAqLywKIAkJCQk1NzY2M0RFOTIz
NEVBNjBCMDBFODVFMDkgLyogd2ViLWF1dGhlbnRpY2F0aW9uLWdldC1hc3NlcnRpb24tbmZjLmh0
bWwgKi8sCkBAIC0zNjg0LDggKzM2OTAsOCBAQAogCQkJCTU3OTgzMzdEMjM2MDE5NkQwMDhFNTU0
NyAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWhpZC5odG1sICovLAogCQkJ
CTU3NDIxNzg5MjQwMEFFRDAwMDJCMzAzRCAvKiB3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVk
ZW50aWFsLWxhLWR1cGxpY2F0ZS1jcmVkZW50aWFsLmh0bWwgKi8sCiAJCQkJNTc0MjE3ODcyNDAw
QUJGRDAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEtZXJy
b3IuaHRtbCAqLywKKwkJCQk1N0VERkM1QjI0NUExOEY1MDA5NTk1MjEgLyogd2ViLWF1dGhlbnRp
Y2F0aW9uLW1ha2UtY3JlZGVudGlhbC1sYS1uby1tb2NrLmh0bWwgKi8sCiAJCQkJNTc0MjE3OEQy
NDAwRDI2QzAwMkIzMDNEIC8qIHdlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEu
aHRtbCAqLywKLQkJCQk1NzQyMTc4RjI0MDBENTREMDAyQjMwM0QgLyogd2ViLWF1dGhlbnRpY2F0
aW9uLW1ha2UtY3JlZGVudGlhbC5odG1sICovLAogCQkJCTUxNzE0RUIyMUNGOEM3NjEwMDQ3MjND
NCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMS5odG1sICovLAogCQkJCTUxNzE0RUIzMUNG
OEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAtMi5odG1sICovLAogCQkJ
CTUxMjBDODNCMUU2NzRFMzUwMDI1QjI1MCAvKiBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMu
aHRtbCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBlMjNmNDAy
YThmNjNhNzViMThjNzcyZGQzMjllMmNiMWM1YjgwMDBjLi5mNzliZDQ1YmVlZGJjMWU5NTdkYWU5
ZmFjYzlkNDU5NDkzM2Q0YTVlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1t
CkBAIC0xMjAxLDcgKzEyMDEsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBRXJy
b3IpCiAKICAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
X3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1Bs
dWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6WUVTXTsKICAgICBbW2Nv
bmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKLSAgICBbW2Nv
bmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxG
ZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9yRXhwZXJpbWVudGFsRmVh
dHVyZSgpXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9u
XSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVudGljYXRpb25Q
YW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTEyMTgsNyArMTIxNyw2IEBAIFRFU1Qo
V2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFEdXBsaWNhdGVDcmVkZW50aWFsKQogCiAgICAgYXV0
byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3Vy
YXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJu
YWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHBy
ZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRo
ZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHBy
ZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRo
ZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAg
ICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRl
IGFsbG9jXSBpbml0XSk7CkBAIC0xMjM3LDcgKzEyMzUsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0
aW9uUGFuZWwsIExBTm9DcmVkZW50aWFsKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNs
YXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JU
ZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVu
dGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtb
VGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0x
MjU0LDcgKzEyNTEsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTWFrZUNyZWRl
bnRpYWxOdWxsRGVsZWdhdGUpCiAKICAgICBhdXRvICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1l
OkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0ZvclRlc3Rpbmc6
WUVTXTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBm
b3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVudGFsRmVhdHVy
ZSgpXTsKLSAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFibGVkOllFUyBm
b3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRoZW50aWNhdG9y
RXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tU
ZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlv
bjpjb25maWd1cmF0aW9uXSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2Vi
QXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKQEAgLTEyNzIsNyAr
MTI2OCw2IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbERp
c2FsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogCiAgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtX
S1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNs
YXNzTmFtZTpAIldlYlByb2Nlc3NQbHVnSW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JU
ZXN0aW5nOllFU107CiAgICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRh
bEZlYXR1cmUoKV07Ci0gICAgW1tjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxl
ZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVhdHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVu
dGljYXRvckV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9w
dE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbl0pOwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtb
VGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CkBAIC0x
Mjg5LDcgKzEyODQsNiBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTWFrZUNyZWRl
bnRpYWxBbGxvd0xvY2FsQXV0aGVudGljYXRvcikKIAogICAgIGF1dG8gKmNvbmZpZ3VyYXRpb24g
PSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVn
SW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29uZmlndXJlSlND
Rm9yVGVzdGluZzpZRVNdOwogICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVu
YWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25FeHBlcmlt
ZW50YWxGZWF0dXJlKCldOwotICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldEVu
YWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRpb25Mb2NhbEF1
dGhlbnRpY2F0b3JFeHBlcmltZW50YWxGZWF0dXJlKCldOwogCiAgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpA
QCAtMTMwMiw2ICsxMjk2LDQxIEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtl
Q3JlZGVudGlhbEFsbG93TG9jYWxBdXRoZW50aWNhdG9yKQogICAgIGNsZWFuVXBLZXljaGFpbigi
Iik7CiB9CiAKK1RFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFOb01vY2tEZWZhdWx0T2Zm
KQoreworICAgIHJlc2V0KCk7CisgICAgUmV0YWluUHRyPE5TVVJMPiB0ZXN0VVJMID0gW1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIndlYi1hdXRoZW50aWNhdGlvbi1tYWtl
LWNyZWRlbnRpYWwtbGEtbm8tbW9jayIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9y
eTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBhdXRvICpjb25maWd1cmF0aW9u
ID0gW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1
Z0luQ2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpT
Q0ZvclRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRF
bmFibGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJp
bWVudGFsRmVhdHVyZSgpXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29uZmlndXJhdGlvbjpjb25m
aWd1cmF0aW9uXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0V2ViQXV0aGVu
dGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRV
SURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltO
U1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1dOworICAgIFV0aWw6OnJ1
bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbik7CisgICAgY2hlY2tQYW5lbChbZGVsZWdhdGUg
cGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVyIGFsbG9jXSBpbml0V2l0aEludDpfV0tX
ZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdldCgpXSwgX1dLV2ViQXV0aGVudGljYXRp
b25UeXBlQ3JlYXRlKTsKK30KKworVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQU1ha2VD
cmVkZW50aWFsTm9Nb2NrTm9Vc2VyR2VzdHVyZSkKK3sKKyAgICByZXNldCgpOworICAgIFJldGFp
blB0cjxOU1VSTD4gdGVzdFVSTCA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJ3ZWItYXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2siIHdpdGhF
eHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJd
OworCisgICAgYXV0byAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90
ZXN0X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIldlYlByb2Nlc3NQbHVn
SW5XaXRoSW50ZXJuYWxzIiBjb25maWd1cmVKU0NGb3JUZXN0aW5nOllFU107CisgICAgW1tjb25m
aWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVh
dHVyZTp3ZWJBdXRoZW50aWNhdGlvbkV4cGVyaW1lbnRhbEZlYXR1cmUoKV07CisgICAgW1tjb25m
aWd1cmF0aW9uIHByZWZlcmVuY2VzXSBfc2V0RW5hYmxlZDpZRVMgZm9yRXhwZXJpbWVudGFsRmVh
dHVyZTp3ZWJBdXRoZW50aWNhdGlvbkxvY2FsQXV0aGVudGljYXRvckV4cGVyaW1lbnRhbEZlYXR1
cmUoKV07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU1plcm9SZWN0IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl0p
OworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRpY2F0aW9uUGFu
ZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpk
ZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0
IHJlcXVlc3RXaXRoVVJMOnRlc3RVUkwuZ2V0KCldXTsKKyAgICBVdGlsOjpydW4oJndlYkF1dGhl
bnRpY2F0aW9uUGFuZWxSYW4pOworICAgIGNoZWNrUGFuZWwoW2RlbGVnYXRlIHBhbmVsXSwgQCIi
LCBAW2Fkb3B0TlMoW1tOU051bWJlciBhbGxvY10gaW5pdFdpdGhJbnQ6X1dLV2ViQXV0aGVudGlj
YXRpb25UcmFuc3BvcnRVU0JdKS5nZXQoKV0sIF9XS1dlYkF1dGhlbnRpY2F0aW9uVHlwZUNyZWF0
ZSk7Cit9CisKIC8vIFNraXAgdGhlIHRlc3QgYmVjYXVzZSBvZiA8cmRhcjovL3Byb2JsZW0vNTk2
MzU0ODY+LgogI2lmIFBMQVRGT1JNKE1BQykKIApAQCAtMTMxMiw3ICsxMzQxLDYgQEAgVEVTVChX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdldEFzc2VydGlvbikKIAogICAgIGF1dG8gKmNvbmZp
Z3VyYXRpb24gPSBbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0
aFRlc3RQbHVnSW5DbGFzc05hbWU6QCJXZWJQcm9jZXNzUGx1Z0luV2l0aEludGVybmFscyIgY29u
ZmlndXJlSlNDRm9yVGVzdGluZzpZRVNdOwogICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNl
c10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRp
b25FeHBlcmltZW50YWxGZWF0dXJlKCldOwotICAgIFtbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNl
c10gX3NldEVuYWJsZWQ6WUVTIGZvckV4cGVyaW1lbnRhbEZlYXR1cmU6d2ViQXV0aGVudGljYXRp
b25Mb2NhbEF1dGhlbnRpY2F0b3JFeHBlcmltZW50YWxGZWF0dXJlKCldOwogCiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNa
ZXJvUmVjdCBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKICAgICBhdXRvIGRlbGVnYXRl
ID0gYWRvcHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10g
aW5pdF0pOwpAQCAtMTMyNSw2ICsxMzUzLDI0IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5l
bCwgTEFHZXRBc3NlcnRpb24pCiAgICAgY2xlYW5VcEtleWNoYWluKCIiKTsKIH0KIAorVEVTVChX
ZWJBdXRoZW50aWNhdGlvblBhbmVsLCBMQUdldEFzc2VydGlvbk5vTW9ja05vVXNlckdlc3R1cmUp
Cit7CisgICAgcmVzZXQoKTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IHRlc3RVUkwgPSBbW05TQnVu
ZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAid2ViLWF1dGhlbnRpY2F0aW9uLWdldC1h
c3NlcnRpb24tbGEtbm8tbW9jayIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpA
IlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBhdXRvICpjb25maWd1cmF0aW9uID0g
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0lu
Q2xhc3NOYW1lOkAiV2ViUHJvY2Vzc1BsdWdJbldpdGhJbnRlcm5hbHMiIGNvbmZpZ3VyZUpTQ0Zv
clRlc3Rpbmc6WUVTXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFi
bGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uRXhwZXJpbWVu
dGFsRmVhdHVyZSgpXTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdIF9zZXRFbmFi
bGVkOllFUyBmb3JFeHBlcmltZW50YWxGZWF0dXJlOndlYkF1dGhlbnRpY2F0aW9uTG9jYWxBdXRo
ZW50aWNhdG9yRXhwZXJpbWVudGFsRmVhdHVyZSgpXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFk
b3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TWmVyb1JlY3QgY29u
ZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tUZXN0V2ViQXV0aGVudGljYXRpb25QYW5lbFVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAg
ICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dGVzdFVSTC5nZXQoKV1d
OworICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbFJhbik7CisgICAgY2hlY2tQ
YW5lbChbZGVsZWdhdGUgcGFuZWxdLCBAIiIsIEBbYWRvcHROUyhbW05TTnVtYmVyIGFsbG9jXSBp
bml0V2l0aEludDpfV0tXZWJBdXRoZW50aWNhdGlvblRyYW5zcG9ydFVTQl0pLmdldCgpXSwgX1dL
V2ViQXV0aGVudGljYXRpb25UeXBlR2V0KTsKK30KKwogVEVTVChXZWJBdXRoZW50aWNhdGlvblBh
bmVsLCBMQUdldEFzc2VydGlvbk11bHRpcGxlT3JkZXIpCiB7CiAgICAgcmVzZXQoKTsKQEAgLTEz
NTIsNyArMTM5OCw3IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFHZXRBc3NlcnRp
b25NdWx0aXBsZU9yZGVyKQogICAgIGNsZWFuVXBLZXljaGFpbigiIik7CiB9CiAKLSNlbmRpZgor
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspIHx8IFBMQVRGT1JNKElPUykKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24tZ2V0LWFzc2VydGlvbi1sYS1uby1t
b2NrLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRo
ZW50aWNhdGlvbi1nZXQtYXNzZXJ0aW9uLWxhLW5vLW1vY2suaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjU0
ZWVkYTlmYTZhOGMwYzViYmU2MmU0ZTQ0NmQ0NjI3ZDI2OTczCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGljYXRpb24t
Z2V0LWFzc2VydGlvbi1sYS1uby1tb2NrLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGlucHV0IHR5
cGU9InRleHQiIGlkPSJpbnB1dCI+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsgaW5wdXQuZm9jdXMo
KTsgfSk7CisKKyAgICBjb25zdCBvcHRpb25zID0geworICAgICAgICBwdWJsaWNLZXk6IHsKKyAg
ICAgICAgICAgIGNoYWxsZW5nZTogbmV3IFVpbnQ4QXJyYXkoMTYpLAorICAgICAgICAgICAgdGlt
ZW91dDogMTAwCisgICAgICAgIH0KKyAgICB9OworCisgICAgbmF2aWdhdG9yLmNyZWRlbnRpYWxz
LmdldChvcHRpb25zKS50aGVuKGNyZWRlbnRpYWwgPT4geworICAgICAgICAvLyBjb25zb2xlLmxv
ZygiU3VjY2VlZGVkISIpOworICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50
ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgiU3VjY2VlZGVkISIpOworICAgIH0sIGVycm9yID0+IHsK
KyAgICAgICAgLy8gY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7CisgICAgICAgIHdpbmRvdy53
ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKGVycm9yLm1lc3Nh
Z2UpOworICAgIH0pOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL3dlYi1hdXRoZW50aWNhdGlvbi1tYWtlLWNyZWRlbnRpYWwtbGEt
bm8tbW9jay5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWIt
YXV0aGVudGljYXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wZTI4NzMxYjQzYTA4NzRjZGRkNjg2NGJhMjYxZjE2NThjYjBkODMxCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS93ZWItYXV0aGVudGlj
YXRpb24tbWFrZS1jcmVkZW50aWFsLWxhLW5vLW1vY2suaHRtbApAQCAtMCwwICsxLDI5IEBACis8
aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImlucHV0Ij4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4geyBpbnB1
dC5mb2N1cygpOyB9KTsKKworICAgIGNvbnN0IG9wdGlvbnMgPSB7CisgICAgICAgIHB1YmxpY0tl
eTogeworICAgICAgICAgICAgcnA6IHsKKyAgICAgICAgICAgICAgICBuYW1lOiAibG9jYWxob3N0
IiwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB1c2VyOiB7CisgICAgICAgICAgICAgICAg
bmFtZTogIkpvaG4gQXBwbGVzZWVkIiwKKyAgICAgICAgICAgICAgICBpZDogbmV3IFVpbnQ4QXJy
YXkoMTYpLAorICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiAiQXBwbGVzZWVkIiwKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICBjaGFsbGVuZ2U6IG5ldyBVaW50OEFycmF5KDE2KSwKKyAg
ICAgICAgICAgIHB1YktleUNyZWRQYXJhbXM6IFt7IHR5cGU6ICJwdWJsaWMta2V5IiwgYWxnOiAt
NyB9XSwKKyAgICAgICAgICAgIHRpbWVvdXQ6IDEwMCwKKyAgICAgICAgfQorICAgIH07CisKKyAg
ICBuYXZpZ2F0b3IuY3JlZGVudGlhbHMuY3JlYXRlKG9wdGlvbnMpLnRoZW4oY3JlZGVudGlhbCA9
PiB7CisgICAgICAgIC8vIGNvbnNvbGUubG9nKCJTdWNjZWVkZWQhIik7CisgICAgICAgIHdpbmRv
dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJTdWNjZWVk
ZWQhIik7CisgICAgfSwgZXJyb3IgPT4geworICAgICAgICAvLyBjb25zb2xlLmxvZyhlcnJvci5t
ZXNzYWdlKTsKKyAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRs
ZXIucG9zdE1lc3NhZ2UoZXJyb3IubWVzc2FnZSk7CisgICAgfSk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>