<?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>223706</bug_id>
          
          <creation_ts>2021-03-24 12:09:12 -0700</creation_ts>
          <short_desc>Allow logging minimal info about uploading media files in the system diagnose</short_desc>
          <delta_ts>2021-05-10 22:27:12 -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>Images</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225636</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743459</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 12:09:12 -0700</bug_when>
    <thetext>Give the WebKit client the ability to log info about the media files which was submitted to a web server through an HTMLFormElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743483</commentid>
    <comment_count>1</comment_count>
      <attachid>424169</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 12:45:30 -0700</bug_when>
    <thetext>Created attachment 424169
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743493</commentid>
    <comment_count>2</comment_count>
      <attachid>424171</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 12:55:41 -0700</bug_when>
    <thetext>Created attachment 424171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743515</commentid>
    <comment_count>3</comment_count>
      <attachid>424171</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-24 13:29:04 -0700</bug_when>
    <thetext>Comment on attachment 424171
Patch

Is doing this by extending the C API the right way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743523</commentid>
    <comment_count>4</comment_count>
      <attachid>424171</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-24 13:46:43 -0700</bug_when>
    <thetext>Comment on attachment 424171
Patch

Let&apos;s not add to the C API.  If someone is using the C API that needs to get this new message, they need to migrate to the ObjC API.
I&apos;m also not sure if we need to add LogDiagnosticMessageWithDomain.  Can one of the other logging methods do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743538</commentid>
    <comment_count>5</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 14:07:53 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 424171 [details]
&gt; Patch
&gt; 
&gt; Let&apos;s not add to the C API.  If someone is using the C API that needs to get
&gt; this new message, they need to migrate to the ObjC API.
&gt; I&apos;m also not sure if we need to add LogDiagnosticMessageWithDomain.  Can one
&gt; of the other logging methods do?

Can you give an example which I can follow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743544</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-24 14:17:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/75804136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743586</commentid>
    <comment_count>7</comment_count>
      <attachid>424196</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 16:02:57 -0700</bug_when>
    <thetext>Created attachment 424196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743601</commentid>
    <comment_count>8</comment_count>
      <attachid>424196</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-03-24 16:49:21 -0700</bug_when>
    <thetext>Comment on attachment 424196
Patch

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

&gt; Source/WebCore/html/HTMLFormElement.cpp:394
&gt; +        diagnosticLoggingClient.logDiagnosticMessageWithDomain(message, &quot;WebKit.media&quot;_s);

Where did the domain come from? The capitalization is sort of vaguely weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743607</commentid>
    <comment_count>9</comment_count>
      <attachid>424196</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-24 17:05:23 -0700</bug_when>
    <thetext>Comment on attachment 424196
Patch

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

&gt;&gt; Source/WebCore/html/HTMLFormElement.cpp:394
&gt;&gt; +        diagnosticLoggingClient.logDiagnosticMessageWithDomain(message, &quot;WebKit.media&quot;_s);
&gt; 
&gt; Where did the domain come from? The capitalization is sort of vaguely weird.

It seems like you want to log an integer.  Would logDiagnosticMessageWithValue work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743612</commentid>
    <comment_count>10</comment_count>
      <attachid>424196</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-24 17:16:15 -0700</bug_when>
    <thetext>Comment on attachment 424196
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLFormElement.cpp:394
&gt;&gt;&gt; +        diagnosticLoggingClient.logDiagnosticMessageWithDomain(message, &quot;WebKit.media&quot;_s);
&gt;&gt; 
&gt;&gt; Where did the domain come from? The capitalization is sort of vaguely weird.
&gt; 
&gt; It seems like you want to log an integer.  Would logDiagnosticMessageWithValue work?

Could the domain be an enum instead, and an NS_ENUM at the API layer?  It would start out with just one thing in it, but we could add more later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743618</commentid>
    <comment_count>11</comment_count>
      <attachid>424196</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 17:27:54 -0700</bug_when>
    <thetext>Comment on attachment 424196
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/html/HTMLFormElement.cpp:394
&gt;&gt;&gt;&gt; +        diagnosticLoggingClient.logDiagnosticMessageWithDomain(message, &quot;WebKit.media&quot;_s);
&gt;&gt;&gt; 
&gt;&gt;&gt; Where did the domain come from? The capitalization is sort of vaguely weird.
&gt;&gt; 
&gt;&gt; It seems like you want to log an integer.  Would logDiagnosticMessageWithValue work?
&gt; 
&gt; Could the domain be an enum instead, and an NS_ENUM at the API layer?  It would start out with just one thing in it, but we could add more later.

I think the enum is a better approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743667</commentid>
    <comment_count>12</comment_count>
      <attachid>424216</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-24 21:48:35 -0700</bug_when>
    <thetext>Created attachment 424216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744221</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-26 10:08:13 -0700</bug_when>
    <thetext>Committed r275103: &lt;https://commits.webkit.org/r275103&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424216.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424169</attachid>
            <date>2021-03-24 12:45:30 -0700</date>
            <delta_ts>2021-03-24 12:55:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223706-20210324124529.patch</filename>
            <type>text/plain</type>
            <size>21092</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU0MGU3MzQ0ZThlZjNm
ZWM0ZGVmMDE5ODU4NjllMTYwYzNkNTcyMy4uNGRhZjQ4NDAwZjVlYmE3MGJjNWExNmNjMDNhYzBh
MmQwMjBmYmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAzLTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcg
bWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBtZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRp
YWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
aXZlIHRoZSBXZWJLaXQgY2xpZW50IHRoZSBhYmlsaXR5IHRvIGxvZyBpbmZvIGFib3V0IHRoZSBt
ZWRpYSBmaWxlcyB3aGljaAorICAgICAgICB3YXMgc3VibWl0dGVkIHRvIGEgd2ViIHNlcnZlciB0
aHJvdWdoIGFuIEhUTUxGb3JtRWxlbWVudC4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6c3VibWl0KToKKyAg
ICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg6CisKIDIwMjEtMDMtMjMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgQm9va3MgYnVuZGxlIGNoZWNr
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA4MGNhMzVkNmU4YmZlM2ZmYTFhMGYzZjQ2MjRkYzIwNmY5NGFjNGNjLi40
YTg0NjFiNTllYjI1YmI1NmNiMWI4ZTI0MWJhMzVjNjY4YTNhZjVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMxIEBACisyMDIxLTAzLTI0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcgbWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBt
ZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRpYWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50Lmg6Cisg
ICAgICAgIChBUEk6OlVJQ2xpZW50OjpyZXBvcnRGaWxlV2FzVXBsb2FkZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tOgorICAgICAgICAoV2ViS2l0
OjpEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0
OjpEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWlu
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhEb21haW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRG9tYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg6CisKIDIwMjEtMDMtMjMgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIERpc3BsYXlSZWZyZXNo
TW9uaXRvckZhY3RvcnkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3Jt
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5k
ZXggMTJlYWY0MzYwN2VlMzQzYmI1YmQ3ZjgwZDVmOTIzMjliZTJmZGI5OC4uNzc5OGYzYTg0NDQ4
MzJiNmNjNjY2NTFhZmE4ZDY5N2RmNTk5N2JiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmNwcApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiRE9NRm9ybURhdGEu
aCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9y
LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTQ0LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJIVE1M
T2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJIVE1MVGFibGVFbGVtZW50LmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2lu
Y2x1ZGUgIk1peGVkQ29udGVudENoZWNrZXIuaCIKICNpbmNsdWRlICJOb2RlUmFyZURhdGEuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCkBAIC0zNjgsMTIgKzM3MCwzMCBAQCB2b2lkIEhUTUxGb3JtRWxl
bWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9v
bCBwcm9jZQogICAgIGF1dG8gZm9ybVN1Ym1pc3Npb24gPSBGb3JtU3VibWlzc2lvbjo6Y3JlYXRl
KCp0aGlzLCBtX2F0dHJpYnV0ZXMsIGV2ZW50LCBzaG91bGRMb2NrSGlzdG9yeSwgZm9ybVN1Ym1p
c3Npb25UcmlnZ2VyKTsKICAgICBpZiAobV9wbGFubmVkRm9ybVN1Ym1pc3Npb24pCiAgICAgICAg
IG1fcGxhbm5lZEZvcm1TdWJtaXNzaW9uLT5jYW5jZWwoKTsKKworICAgIHVuc2lnbmVkIGltYWdl
T3JNZWRpYUZpbGVzID0gMDsKKyAgICBmb3IgKGF1dG8mIGRhdGFFbGVtZW50IDogZm9ybVN1Ym1p
c3Npb24tPmRhdGEoKS5lbGVtZW50cygpKSB7CisgICAgICAgIGF1dG8qIGVuY29kZWRGaWxlRGF0
YSA9IFdURjo6Z2V0X2lmPEZvcm1EYXRhRWxlbWVudDo6RW5jb2RlZEZpbGVEYXRhPihkYXRhRWxl
bWVudC5kYXRhKTsKKyAgICAgICAgaWYgKCFlbmNvZGVkRmlsZURhdGEpCisgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICBhdXRvIG1pbWVUeXBlID0gTUlNRVR5cGVSZWdpc3RyeTo6bWlt
ZVR5cGVGb3JQYXRoKGVuY29kZWRGaWxlRGF0YS0+ZmlsZW5hbWUpOworICAgICAgICBpZiAoTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKG1pbWVUeXBlKSB8fCBNSU1F
VHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUpKQorICAgICAg
ICAgICAgKytpbWFnZU9yTWVkaWFGaWxlczsKKyAgICB9CisKICAgICBtX3BsYW5uZWRGb3JtU3Vi
bWlzc2lvbiA9IG1ha2VXZWFrUHRyKGZvcm1TdWJtaXNzaW9uLmdldCgpKTsKICAgICBmcmFtZS0+
bG9hZGVyKCkuc3VibWl0Rm9ybShXVEZNb3ZlKGZvcm1TdWJtaXNzaW9uKSk7CiAKICAgICBpZiAo
bmVlZEJ1dHRvbkFjdGl2YXRpb24gJiYgZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uKQogICAg
ICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24tPnNldEFjdGl2YXRlZFN1Ym1pdChmYWxz
ZSk7CiAKKyAgICBpZiAoaW1hZ2VPck1lZGlhRmlsZXMpIHsKKyAgICAgICAgYXV0byYgZGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQgPSBkb2N1bWVudCgpLnBhZ2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQoKTsKKyAgICAgICAgYXV0byBtZXNzYWdlID0gbWFrZVN0cmluZyhpbWFnZU9yTWVkaWFG
aWxlcywgaW1hZ2VPck1lZGlhRmlsZXMgPT0gMSA/ICIgbWVkaWEgZmlsZSBoYXMgYmVlbiBzdWJt
aXR0ZWQiIDogIiBtZWRpYSBmaWxlcyBoYXZlIGJlZW4gc3VibWl0dGVkIik7CisgICAgICAgIGRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihtZXNz
YWdlLCAiV2ViS2l0Lm1lZGlhIl9zKTsKKyAgICB9CisKICAgICBtX3Nob3VsZFN1Ym1pdCA9IGZh
bHNlOwogICAgIG1faXNTdWJtaXR0aW5nT3JQcmVwYXJpbmdGb3JTdWJtaXNzaW9uID0gZmFsc2U7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDdlMmQzOTExOTI5
OTE4NjdlYzViMmE4MmY3MTY2NTc4NjQ3NTY2MDAuLjlkODEwNWQ0OTViMzhkODNhNzY1NTJjZWFh
ZTAwNjdiZmVjNTc5ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBA
IC0yMDcsNiArMjA3LDcgQEAgY2xhc3MgRW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5h
bCA6IHB1YmxpYyBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCB7CiAgICAgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBkb3VibGUs
IHVuc2lnbmVkLCBTaG91bGRTYW1wbGUpIGZpbmFsIHsgfQogICAgIHZvaWQgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IFNob3VsZFNhbXBsZSkgZmluYWwgeyB9CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgVmFs
dWVEaWN0aW9uYXJ5JiwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7IH0KKyAgICB2b2lkIGxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBmaW5h
bCB7IH07CiB9OwogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRleCA3YTkyYzcxZjllZGE0OThmYjdh
MmI1ODkzZjBiZTI4OTFmMTg0YjYwLi41OTcxMGRkNWUyMGZjM2E2YjBmOTQ5YjA1ZWQ2M2YyMzYx
ZTcxNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICB1c2luZyBWYWx1ZURpY3Rpb25hcnkg
PSBIYXNoTWFwPFN0cmluZywgVmFsdWVQYXlsb2FkPjsKIAogICAgIHZpcnR1YWwgdm9pZCBsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBWYWx1ZURpY3Rpb25hcnkmLCBTaG91
bGRTYW1wbGUpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RG9tYWluKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkb21haW4pID0gMDsK
IAogICAgIHN0YXRpYyBib29sIHNob3VsZExvZ0FmdGVyU2FtcGxpbmcoU2hvdWxkU2FtcGxlKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSURpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaAppbmRleCBiNGUyYWRlNzI5ZWE2NmQ4ZGRhOGRkNTAyMTE4YWU0YWJk
YjIxODYzLi5iNTVkODViZmVlNjk2ZTVkNTRiYTA1YzhlYzkwNzU5MzRkNjkyYjcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaApAQCAtNDcsNiArNDcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3Jp
cHRpb24pID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZURpY3Rpb25hcnkoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRlc2NyaXB0aW9uLCBSZWY8QVBJOjpEaWN0aW9u
YXJ5PiYmKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RG9tYWluKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFdURjo6U3RyaW5nJiBkb21haW4pID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggOGFlNTEzYTNiZGRjY2E3YzRlMDk0OGEx
NzYxMGQ5MjQ2MTUxMWJkOS4uODQ5Nzc4MzlhN2NkMmFiMzRkZTU4ZjNjYjA0OGJhNjA4MzA3NWE1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC0zNyw2ICszNyw3IEBAIHR5cGVkZWYg
dm9pZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdl
LCBXS1N0cmluZ1JlZiBtCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhSZXN1bHRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2Us
IFdLU3RyaW5nUmVmIGRlc2NyaXB0aW9uLCBXS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSBy
ZXN1bHQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3Ry
aW5nUmVmIG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlc2NyaXB0aW9uLCBXS1N0cmluZ1JlZiB2YWx1
ZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2Us
IFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlc2NyaXB0aW9uLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aERvbWFpbkNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwg
V0tTdHJpbmdSZWYgZG9tYWluKTsKIAogdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnRCYXNlIHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKQEAgLTY0LDYgKzY1LDIx
IEBAIHR5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjEgewogICAg
IFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeUNhbGxiYWNrICAg
ICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3k7CiB9IFdL
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjE7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50VjIgeworICAgIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgLy8g
VmVyc2lvbiAwLgorICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlQ2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZTsKKyAgICBXS1Bh
Z2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OworICAgIFdLUGFnZUxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTsKKworICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1Bh
Z2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lDYWxsYmFjayAgICAgICAg
ICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5OworCisgICAgLy8g
VmVyc2lvbiAyLgorICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbkNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW47
Cit9IFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjI7CisKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaAppbmRleCA1NDFjMzRi
ZDM1MjIxZWMwOGIxMjFiMDM5YzRiODY2NjE3ZTRmNjUxLi5mNDI1MDQxMzVlZjA4NzIyMmFkZjQz
OWQyYjdkZDY2MTJlOWU1YjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgKQEAg
LTQzLDUgKzQzLDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlKSB7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlOihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3Jp
cHRpb246KE5TU3RyaW5nICopZGVzY3JpcHRpb24gdmFsdWU6KE5TU3RyaW5nICopIHZhbHVlOwog
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3k6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNT
dHJpbmcgKilkZXNjcmlwdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzKSwgaW9zKDEx
LjApKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcgKilkZXNj
cmlwdGlvbiB2YWx1ZURpY3Rpb25hcnk6KE5TRGljdGlvbmFyeSAqKXZhbHVlRGljdGlvbmFyeSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEzLjApKTsKKy0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluOihO
U1N0cmluZyAqKW1lc3NhZ2UgZG9tYWluOihOU1N0cmluZyAqKWRvbWFpbiBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaAppbmRleCA1ZmRjY2FjMDA0MzhkNzA5ODI1Mjk0OWYwMDMzOTllNzUzNTM3ODU3Li43OWQ0
NGI0MTBiNzVhNjY3NjAzNjY5MjQ5YmJlYjNkZGY2NzU1YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAg
LTUyLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBs
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2ViUGFnZVByb3h5KiwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBvdmVycmlkZTsK
ICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShXZWJQYWdl
UHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24s
IFJlZjxBUEk6OkRpY3Rpb25hcnk+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRG9tYWluKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkb21haW4pIG92ZXJyaWRlOwogCiAgICAgV0tXZWJWaWV3ICptX3dlYlZp
ZXc7CiAgICAgV2Vha09iakNQdHI8aWQgPF9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGU+PiBt
X2RlbGVnYXRlOwpAQCAtNjIsNiArNjMsNyBAQCBwcml2YXRlOgogICAgICAgICB1bnNpZ25lZCB3
ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUgOiAxOwogICAgICAgICB1bnNpZ25l
ZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5IDogMTsKICAg
ICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlv
bmFyeSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhEb21haW4gOiAxOwogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Lm1tCmluZGV4IGU0N2M0Yjg4YmU3MDc3YjY4NWE4ZmFlM2ViOGYyY2M1MTMzY2Y3MTYuLjljZjU1
M2VlNmY5ZDdhMWM0OWU5ZTg3MDdmODg4MWQ4Yjc1ODU5YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tCkBA
IC01MSw2ICs1MSw3IEBAIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OnNldERlbGVnYXRl
KGlkIDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPiBkZWxlCiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMud2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWU6ZGVzY3JpcHRpb246dmFsdWU6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
dmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeSA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aEVuaGFuY2VkUHJpdmFjeTpkZXNjcmlwdGlvbjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9k
cy53ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5ID0gW2RlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01l
c3NhZ2U6ZGVzY3JpcHRpb246dmFsdWVEaWN0aW9uYXJ5OildOworICAgIG1fZGVsZWdhdGVNZXRo
b2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4gPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhEb21haW46ZG9tYWluOildOwogfQogCiB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pCkBAIC05NSw1ICs5
NiwxMCBAQCB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhWYWx1ZURpY3Rpb25hcnkoV2ViUGFnZVBybwogICAgICAgICBbbV9kZWxlZ2F0ZS5nZXQo
KSBfd2ViVmlldzptX3dlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2U6bWVzc2FnZSBkZXNjcmlw
dGlvbjpkZXNjcmlwdGlvbiB2YWx1ZURpY3Rpb25hcnk6c3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5
Kj4odmFsdWVEaWN0aW9uYXJ5LT53cmFwcGVyKCkpXTsKIH0KIAordm9pZCBEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFdlYlBhZ2VQcm94eSos
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkb21haW4pCit7CisgICAgaWYg
KG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4p
CisgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF93ZWJWaWV3Om1fd2ViVmlldyBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhEb21haW46bWVzc2FnZSBkb21haW46ZG9tYWluXTsKK30KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcAppbmRleCBhNTQ3ZWFkNTI1MWFmMDAy
N2IyODhiMTc5NDUxZTdhMjI3ODk2ZGJjLi41YWVkY2I5MGExZGEyMTg5ODEwYWZkMGJjZDlmYTBk
NDQyMDc2MDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKQEAgLTY5LDQgKzY5LDEyIEBAIHZvaWQg
V2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhF
bmhhbmNlZFByaXZhY3koV2ViCiAgICAgbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5KHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJ
KGRlc2NyaXB0aW9uLmltcGwoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKK3Zv
aWQgV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhEb21haW4oV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgZG9tYWluKQoreworICAgIGlmICghbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoRW5oYW5jZWRQcml2YWN5KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVudC5s
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4odG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2Uu
aW1wbCgpKSwgdG9BUEkoZG9tYWluLmltcGwoKSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggYTVkMzIyZGRlZGY1ODkxZDFhNTQ1NDM2ZDA5NzUzMzIz
NWU2YzJlMS4uNWM5NDQ5OWY2OTEyNjRlNmM3NWY2YmQwYmQ5NjZjZDNjYzBjODE3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBBUEkgewogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNl
PiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
VjAsIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjE+IFZlcnNpb25zOworICAgIHR5cGVk
ZWYgc3RkOjp0dXBsZTxXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYwLCBXS1BhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudFYxLCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYyPiBW
ZXJzaW9uczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpAQCAtNTMsNiArNTMsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShXZWJQYWdlUHJveHkq
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0
IFN0cmluZyYgdmFsdWUpIG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoRW5oYW5jZWRQcml2YWN5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25z
dCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRlc2NyaXB0aW9uLCBS
ZWY8QVBJOjpEaWN0aW9uYXJ5PiYmKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIGxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aERvbWFpbihXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZG9tYWluKSBvdmVycmlkZTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggOTliMzQ2MDk4NzFkZGZhY2Q5NjdkYjk3NmE2NjRkMTYwMzhlMTdhYi4uYTUx
ODY0YWE5N2ZhODNjZGVkY2I4MDc5OWQ5MWVkMzg4NjUxYmEzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03MjE4LDYgKzcyMTgsMTUgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UKICAgICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlRGljdGlvbmFyeSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgV1RGTW92ZShh
cGlEaWN0aW9uYXJ5KSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRvbWFp
bikKK3sKKyAgICBhdXRvKiBlZmZlY3RpdmVDbGllbnQgPSBlZmZlY3RpdmVEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudChTaG91bGRTYW1wbGU6Ok5vKTsKKyAgICBpZiAoIWVmZmVjdGl2ZUNsaWVudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhEb21haW4odGhpcywgbWVzc2FnZSwgZG9tYWluKTsKK30KKwogdm9pZCBXZWJQYWdl
UHJveHk6OmxvZ1Njcm9sbGluZ0V2ZW50KHVpbnQzMl90IGV2ZW50VHlwZSwgTW9ub3RvbmljVGlt
ZSB0aW1lc3RhbXAsIHVpbnQ2NF90IGRhdGEpCiB7CiAgICAgUGVyZm9ybWFuY2VMb2dnaW5nQ2xp
ZW50OjpTY3JvbGxpbmdFdmVudCBldmVudCA9IHN0YXRpY19jYXN0PFBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudDo6U2Nyb2xsaW5nRXZlbnQ+KGV2ZW50VHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IGEyY2JlOGFhODZiYjdlZjJlM2ZiODVkNTg1ODhjYzVjM2Ni
NWI2ZDIuLmQxNTIyYTM5YTk1MDk5YzNjZjIxY2NlMWI1ZDMyYTcyMTcwNDdlYjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNTE5LDYgKzE1MTksNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWdu
ZWQgc2lnbmlmaWNhbnRGaWd1cmVzLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZvaWQg
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKTsK
ICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFdlYkNvcmU6
OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50OjpWYWx1ZURpY3Rpb25hcnkmLCBXZWJDb3JlOjpTaG91
bGRTYW1wbGUpOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkb21haW4pOwogCiAgICAgLy8gUGVyZm9y
bWFuY2UgbG9nZ2luZy4KICAgICB2b2lkIGxvZ1Njcm9sbGluZ0V2ZW50KHVpbnQzMl90IGV2ZW50
VHlwZSwgTW9ub3RvbmljVGltZSwgdWludDY0X3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDcwYThhYzhkYjVjNTljODM3OWQ5
NTZkOWQ0NTIzYTBiYzQyNmU1NGEuLjA3YTM0ZGUxNWUwN2NlMWQ5NWRmNDk0MWJhZjYxMGRlMjFj
MGRjMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KQEAgLTIxMSw2ICsyMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewog
ICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcg
ZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVzLCBl
bnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKICAgICBMb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBk
ZXNjcmlwdGlvbiwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUp
CiAgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KFN0cmluZyBtZXNz
YWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
OjpWYWx1ZURpY3Rpb25hcnkgdmFsdWUsIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUg
c2hvdWxkU2FtcGxlKQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihTdHJpbmcg
bWVzc2FnZSwgU3RyaW5nIGRvbWFpbikKIAogICAgICMgUGVyZm9ybWFuY2UgbG9nZ2luZwogICAg
IExvZ1Njcm9sbGluZ0V2ZW50KHVpbnQzMl90IGV2ZW50VHlwZSwgTW9ub3RvbmljVGltZSB0aW1l
c3RhbXAsIHVpbnQ2NF90IGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmNwcAppbmRleCBkOWNiNGYzN2MyYWQzZTgwOGMwZGZlMmY2NGQ0YTMwY2M2OTU0Mjk4Li42
Y2ExYjk2MjIyYzA1ZWI0ODQ2NzczNjI5NTgyOWViYzBkMzBlNGJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKQEAgLTkzLDQgKzkzLDExIEBAIHZvaWQgV2Vi
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGlj
dGlvbmFyeShjb25zdCBTCiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KG1lc3NhZ2UsIGRlc2NyaXB0
aW9uLCB2YWx1ZSwgU2hvdWxkU2FtcGxlOjpObykpOwogfQogCit2b2lkIFdlYkRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRvbWFpbikKK3sKKyAgICBBU1NFUlQoIW1fcGFnZS5j
b3JlUGFnZSgpIHx8IG1fcGFnZS5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dn
aW5nRW5hYmxlZCgpKTsKKworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihtZXNzYWdlLCBkb21haW4pKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oCmluZGV4IDMyMWFiYzhhMjM4MjA3MzlhMTQ1MWFkNThlODQzYWNmYjcwYWEwN2UuLmY2OTNm
ZDc3NGQ0OWVlNDVkYWUwNjliZDRmY2RjZGIwZGVhYmVmNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC00Myw2ICs0Myw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNh
bnRGaWd1cmVzLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpIG92ZXJyaWRlOwogICAgIHZvaWQgbG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBvdmVy
cmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFZh
bHVlRGljdGlvbmFyeSYsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSkgb3ZlcnJpZGU7CisgICAgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRvbWFpbikgb3ZlcnJpZGU7CiAKICAgICBXZWJQYWdlJiBtX3BhZ2U7CiB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424171</attachid>
            <date>2021-03-24 12:55:41 -0700</date>
            <delta_ts>2021-03-24 16:02:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223706-20210324125540.patch</filename>
            <type>text/plain</type>
            <size>20956</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU0MGU3MzQ0ZThlZjNm
ZWM0ZGVmMDE5ODU4NjllMTYwYzNkNTcyMy4uNGRhZjQ4NDAwZjVlYmE3MGJjNWExNmNjMDNhYzBh
MmQwMjBmYmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAzLTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcg
bWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBtZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRp
YWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
aXZlIHRoZSBXZWJLaXQgY2xpZW50IHRoZSBhYmlsaXR5IHRvIGxvZyBpbmZvIGFib3V0IHRoZSBt
ZWRpYSBmaWxlcyB3aGljaAorICAgICAgICB3YXMgc3VibWl0dGVkIHRvIGEgd2ViIHNlcnZlciB0
aHJvdWdoIGFuIEhUTUxGb3JtRWxlbWVudC4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6c3VibWl0KToKKyAg
ICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg6CisKIDIwMjEtMDMtMjMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgQm9va3MgYnVuZGxlIGNoZWNr
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA4MGNhMzVkNmU4YmZlM2ZmYTFhMGYzZjQ2MjRkYzIwNmY5NGFjNGNjLi4y
ZTEzZDk4Y2E4NjU4YmU3NjY3ODk3NWViNDlkZGRmN2Y4MzVjNjI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDIxLTAzLTI0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcgbWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBt
ZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRpYWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdu
b3N0aWNMb2dnaW5nRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQubW06CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50OjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERv
bWFpbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbik6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaDoKKwogMjAyMS0wMy0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgRGlzcGxheVJlZnJlc2hNb25pdG9yRmFjdG9yeS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCAxMmVhZjQzNjA3ZWUzNDNiYjVi
ZDdmODBkNWY5MjMyOWJlMmZkYjk4Li43Nzk4ZjNhODQ0NDgzMmI2Y2M2NjY1MWFmYThkNjk3ZGY1
OTk3YmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC0yNyw2
ICsyNyw3IEBACiAKICNpbmNsdWRlICJET01Gb3JtRGF0YS5oIgogI2luY2x1ZGUgIkRPTVdpbmRv
dy5oIgorI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJFdmVudC5o
IgpAQCAtNDQsNiArNDUsNyBAQAogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxUYWJsZUVsZW1lbnQuaCIK
KyNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTWl4ZWRDb250ZW50Q2hl
Y2tlci5oIgogI2luY2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAg
LTM2OCwxMiArMzcwLDMwIEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQoRXZlbnQqIGV2
ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHByb2NlCiAgICAgYXV0byBmb3Jt
U3VibWlzc2lvbiA9IEZvcm1TdWJtaXNzaW9uOjpjcmVhdGUoKnRoaXMsIG1fYXR0cmlidXRlcywg
ZXZlbnQsIHNob3VsZExvY2tIaXN0b3J5LCBmb3JtU3VibWlzc2lvblRyaWdnZXIpOwogICAgIGlm
IChtX3BsYW5uZWRGb3JtU3VibWlzc2lvbikKICAgICAgICAgbV9wbGFubmVkRm9ybVN1Ym1pc3Np
b24tPmNhbmNlbCgpOworCisgICAgdW5zaWduZWQgaW1hZ2VPck1lZGlhRmlsZXMgPSAwOworICAg
IGZvciAoYXV0byYgZGF0YUVsZW1lbnQgOiBmb3JtU3VibWlzc2lvbi0+ZGF0YSgpLmVsZW1lbnRz
KCkpIHsKKyAgICAgICAgYXV0byogZW5jb2RlZEZpbGVEYXRhID0gV1RGOjpnZXRfaWY8Rm9ybURh
dGFFbGVtZW50OjpFbmNvZGVkRmlsZURhdGE+KGRhdGFFbGVtZW50LmRhdGEpOworICAgICAgICBp
ZiAoIWVuY29kZWRGaWxlRGF0YSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGF1
dG8gbWltZVR5cGUgPSBNSU1FVHlwZVJlZ2lzdHJ5OjptaW1lVHlwZUZvclBhdGgoZW5jb2RlZEZp
bGVEYXRhLT5maWxlbmFtZSk7CisgICAgICAgIGlmIChNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBv
cnRlZEltYWdlTUlNRVR5cGUobWltZVR5cGUpIHx8IE1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9y
dGVkTWVkaWFNSU1FVHlwZShtaW1lVHlwZSkpCisgICAgICAgICAgICArK2ltYWdlT3JNZWRpYUZp
bGVzOworICAgIH0KKwogICAgIG1fcGxhbm5lZEZvcm1TdWJtaXNzaW9uID0gbWFrZVdlYWtQdHIo
Zm9ybVN1Ym1pc3Npb24uZ2V0KCkpOwogICAgIGZyYW1lLT5sb2FkZXIoKS5zdWJtaXRGb3JtKFdU
Rk1vdmUoZm9ybVN1Ym1pc3Npb24pKTsKIAogICAgIGlmIChuZWVkQnV0dG9uQWN0aXZhdGlvbiAm
JiBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24pCiAgICAgICAgIGZpcnN0U3VjY2Vzc2Z1bFN1
Ym1pdEJ1dHRvbi0+c2V0QWN0aXZhdGVkU3VibWl0KGZhbHNlKTsKIAorICAgIGlmIChpbWFnZU9y
TWVkaWFGaWxlcykgeworICAgICAgICBhdXRvJiBkaWFnbm9zdGljTG9nZ2luZ0NsaWVudCA9IGRv
Y3VtZW50KCkucGFnZSgpLT5kaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpOworICAgICAgICBhdXRv
IG1lc3NhZ2UgPSBtYWtlU3RyaW5nKGltYWdlT3JNZWRpYUZpbGVzLCBpbWFnZU9yTWVkaWFGaWxl
cyA9PSAxID8gIiBtZWRpYSBmaWxlIGhhcyBiZWVuIHN1Ym1pdHRlZCIgOiAiIG1lZGlhIGZpbGVz
IGhhdmUgYmVlbiBzdWJtaXR0ZWQiKTsKKyAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKG1lc3NhZ2UsICJXZWJLaXQubWVkaWEiX3Mp
OworICAgIH0KKwogICAgIG1fc2hvdWxkU3VibWl0ID0gZmFsc2U7CiAgICAgbV9pc1N1Ym1pdHRp
bmdPclByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggN2UyZDM5MTE5Mjk5MTg2N2VjNWIyYTgyZjcxNjY1Nzg2
NDc1NjYwMC4uOWQ4MTA1ZDQ5NWIzOGQ4M2E3NjU1MmNlYWFlMDA2N2JmZWM1NzlkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTIwNyw2ICsyMDcsNyBAQCBjbGFz
cyBFbXB0eURpYWdub3N0aWNMb2dnaW5nQ2xpZW50IGZpbmFsIDogcHVibGljIERpYWdub3N0aWNM
b2dnaW5nQ2xpZW50IHsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGRvdWJsZSwgdW5zaWduZWQsIFNob3VsZFNhbXBs
ZSkgZmluYWwgeyB9CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFBy
aXZhY3koY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7
IH0KICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBWYWx1ZURpY3Rpb25hcnkmLCBTaG91bGRT
YW1wbGUpIGZpbmFsIHsgfQorICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWlu
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIGZpbmFsIHsgfTsKIH07CiAKICNpZiBFTkFC
TEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oCmluZGV4IDdhOTJjNzFmOWVkYTQ5OGZiN2EyYjU4OTNmMGJlMjg5MWYxODRiNjAu
LjU5NzEwZGQ1ZTIwZmMzYTZiMGY5NDliMDVlZDYzZjIzNjFlNzE2NGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4LDcgQEAg
cHVibGljOgogICAgIHVzaW5nIFZhbHVlRGljdGlvbmFyeSA9IEhhc2hNYXA8U3RyaW5nLCBWYWx1
ZVBheWxvYWQ+OwogCiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlRGljdGlvbmFyeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3Jp
cHRpb24sIGNvbnN0IFZhbHVlRGljdGlvbmFyeSYsIFNob3VsZFNhbXBsZSkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRvbWFpbikgPSAwOwogCiAgICAgc3RhdGljIGJvb2wgc2hv
dWxkTG9nQWZ0ZXJTYW1wbGluZyhTaG91bGRTYW1wbGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4
IGI0ZTJhZGU3MjllYTY2ZDhkZGE4ZGQ1MDIxMThhZTRhYmRiMjE4NjMuLmI1NWQ4NWJmZWU2OTZl
NWQ1NGJhMDVjOGVjOTA3NTkzNGQ2OTJiNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC00Nyw2ICs0
Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFdURjo6U3RyaW5nJiBkZXNjcmlwdGlvbikgPSAwOwogCiAgICAgdmly
dHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShXZWJLaXQ6
OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0
cmluZyYgZGVzY3JpcHRpb24sIFJlZjxBUEk6OkRpY3Rpb25hcnk+JiYpID0gMDsKKworICAgIHZp
cnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oV2ViS2l0OjpXZWJQYWdl
UHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRv
bWFpbikgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaAppbmRleCA4YWU1MTNhM2JkZGNjYTdjNGUwOTQ4YTE3NjEwZDkyNDYxNTExYmQ5Li44NDk3
NzgzOWE3Y2QyYWIzNGRlNThmM2NiMDQ4YmE2MDgzMDc1YTUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKQEAgLTM3LDYgKzM3LDcgQEAgdHlwZWRlZiB2b2lkICgqV0tQYWdlTG9nRGlhZ25v
c3RpY01lc3NhZ2VDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG0KIHR5cGVk
ZWYgdm9pZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdENhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRp
b24sIFdLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlIHJlc3VsdCwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJp
bmdSZWYgZGVzY3JpcHRpb24sIFdLU3RyaW5nUmVmIHZhbHVlLCBjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFu
Y2VkUHJpdmFjeUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwg
V0tTdHJpbmdSZWYgZGVzY3JpcHRpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRl
ZiB2b2lkICgqV0tQYWdlTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluQ2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkb21haW4pOwog
CiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2UgewogICAg
IGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZXJzaW9uOwpAQCAtNjQsNiArNjUsMjEgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQ
YWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMSB7CiAgICAgV0tQYWdlTG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5Q2FsbGJhY2sgICAgICAgICAgICAgIGxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTsKIH0gV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnRWMTsKIAordHlwZWRlZiBzdHJ1Y3QgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRW
MiB7CisgICAgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJhc2U7CisKKyAgICAvLyBWZXJzaW9uIDAuCisgICAgV0tQYWdl
TG9nRGlhZ25vc3RpY01lc3NhZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlOworICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFJlc3VsdENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhSZXN1bHQ7CisgICAgV0tQYWdlTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlOworCisgICAgLy8gVmVyc2lvbiAxLgorICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aEVuaGFuY2VkUHJpdmFjeUNhbGxiYWNrICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhFbmhhbmNlZFByaXZhY3k7CisKKyAgICAvLyBWZXJzaW9uIDIuCisgICAgV0tQYWdl
TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbjsKK30gV0tQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnRWMjsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2lu
Z0RlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRGlhZ25v
c3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCmluZGV4IDU0MWMzNGJkMzUyMjFlYzA4YjEyMWIwMzljNGI4
NjY2MTdlNGY2NTEuLmY0MjUwNDEzNWVmMDg3MjIyYWRmNDM5ZDJiN2RkNjYxMmU5ZTViNDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9zdGlj
TG9nZ2luZ0RlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaApAQCAtNDMsNSArNDMsNiBAQCB0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUpIHsKIC0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWU6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcgKilkZXNj
cmlwdGlvbiB2YWx1ZTooTlNTdHJpbmcgKikgdmFsdWU7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeToo
TlNTdHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZTooTlNTdHJpbmcgKilt
ZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIHZhbHVlRGljdGlvbmFy
eTooTlNEaWN0aW9uYXJ5ICopdmFsdWVEaWN0aW9uYXJ5IFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTAuMTUpLCBpb3MoMTMuMCkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW46KE5TU3RyaW5nICopbWVzc2FnZSBkb21h
aW46KE5TU3RyaW5nICopZG9tYWluIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IDVmZGNjYWMwMDQz
OGQ3MDk4MjUyOTQ5ZjAwMzM5OWU3NTM1Mzc4NTcuLjc5ZDQ0YjQxMGI3NWE2Njc2MDM2NjkyNDli
YmViM2RkZjY3NTViYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNTIsNiArNTIsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoV2ViUGFnZVByb3h5Kiwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBT
dHJpbmcmIHZhbHVlKSBvdmVycmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeShXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24pIG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgUmVmPEFQSTo6RGljdGlvbmFyeT4m
Jikgb3ZlcnJpZGU7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oV2Vi
UGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRvbWFpbikg
b3ZlcnJpZGU7CiAKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBXZWFrT2JqQ1B0cjxp
ZCA8X1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZT4+IG1fZGVsZWdhdGU7CkBAIC02Miw2ICs2
Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZSA6IDE7CiAgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kgOiAxOwogICAgICAgICB1bnNpZ25lZCB3ZWJ2aWV3
TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5IDogMTsKKyAgICAgICAgdW5z
aWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbiA6IDE7CiAgICAgfSBt
X2RlbGVnYXRlTWV0aG9kczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubW0KaW5kZXggZTQ3YzRiODhiZTcw
NzdiNjg1YThmYWUzZWI4ZjJjYzUxMzNjZjcxNi4uOWNmNTUzZWU2ZjlkN2ExYzQ5ZTllODcwN2Y4
ODgxZDhiNzU4NTljNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQubW0KQEAgLTUxLDYgKzUxLDcgQEAgdm9pZCBE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6c2V0RGVsZWdhdGUoaWQgPF9XS0RpYWdub3N0aWNMb2dn
aW5nRGVsZWdhdGU+IGRlbGUKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2aWV3TG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoVmFsdWUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTpkZXNjcmlwdGlvbjp2
YWx1ZTopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoRW5oYW5jZWRQcml2YWN5ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5OmRl
c2NyaXB0aW9uOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZTpkZXNjcmlwdGlvbjp2YWx1
ZURpY3Rpb25hcnk6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vidmlld0xvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aERvbWFpbiA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbjpkb21haW46KV07CiB9
CiAKIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlKFdl
YktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBkZXNjcmlwdGlvbikKQEAgLTk1LDUgKzk2LDEwIEBAIHZvaWQgRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShX
ZWJQYWdlUHJvCiAgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF93ZWJWaWV3Om1fd2ViVmlldyBs
b2dEaWFnbm9zdGljTWVzc2FnZTptZXNzYWdlIGRlc2NyaXB0aW9uOmRlc2NyaXB0aW9uIHZhbHVl
RGljdGlvbmFyeTpzdGF0aWNfY2FzdDxOU0RpY3Rpb25hcnkqPih2YWx1ZURpY3Rpb25hcnktPndy
YXBwZXIoKSldOwogfQogCit2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhEb21haW4oV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGRvbWFpbikKK3sKKyAgICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
dmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbikKKyAgICAgICAgW21fZGVsZWdhdGUu
Z2V0KCkgX3dlYlZpZXc6bV93ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbjpt
ZXNzYWdlIGRvbWFpbjpkb21haW5dOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuY3BwCmluZGV4IGE1NDdlYWQ1MjUxYWYwMDI3YjI4OGIxNzk0NTFlN2EyMjc4OTZk
YmMuLjVhZWRjYjkwYTFkYTIxODk4MTBhZmQwYmNkOWZhMGQ0NDIwNzYwN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmNwcApAQCAtNjksNCArNjksMTIgQEAgdm9pZCBXZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShXZWIKICAg
ICBtX2NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kodG9BUEko
cGFnZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZGVzY3JpcHRpb24uaW1wbCgpKSwg
bV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBXZWJQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkb21haW4pCit7Cisg
ICAgaWYgKCFtX2NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kp
CisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aERvbWFpbih0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkb21haW4u
aW1wbCgpKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRl
eCBhNWQzMjJkZGVkZjU4OTFkMWE1NDU0MzZkMDk3NTMzMjM1ZTZjMmUxLi41Yzk0NDk5ZjY5MTI2
NGU2Yzc1ZjZiZDBiZDk2NmNkM2NjMGM4MTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtMzUsNyAr
MzUsNyBAQAogbmFtZXNwYWNlIEFQSSB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0
czxXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2U+IHsKLSAgICB0eXBlZGVmIHN0ZDo6
dHVwbGU8V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMCwgV0tQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnRWMT4gVmVyc2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50VjAsIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjEs
IFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjI+IFZlcnNpb25zOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgQVBJCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2Vi
UGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uKSBvdmVycmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGlj
dGlvbmFyeShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24sIFJlZjxBUEk6OkRpY3Rpb25hcnk+JiYp
IG92ZXJyaWRlIHsgfQorICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFdl
YktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBkb21haW4pIG92ZXJyaWRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA5OWIzNDYwOTg3
MWRkZmFjZDk2N2RiOTc2YTY2NGQxNjAzOGUxN2FiLi5hNTE4NjRhYTk3ZmE4M2NkZWRjYjgwNzk5
ZDkxZWQzODg2NTFiYTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKQEAgLTcyMTgsNiArNzIxOCwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZQogICAgIGVm
ZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KHRo
aXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBXVEZNb3ZlKGFwaURpY3Rpb25hcnkpKTsKIH0KIAor
dm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZG9tYWluKQoreworICAgIGF1dG8qIGVmZmVj
dGl2ZUNsaWVudCA9IGVmZmVjdGl2ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFNob3VsZFNhbXBs
ZTo6Tm8pOworICAgIGlmICghZWZmZWN0aXZlQ2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAg
ICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbih0aGlzLCBt
ZXNzYWdlLCBkb21haW4pOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6bG9nU2Nyb2xsaW5nRXZl
bnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgdWludDY0X3Qg
ZGF0YSkKIHsKICAgICBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ6OlNjcm9sbGluZ0V2ZW50IGV2
ZW50ID0gc3RhdGljX2Nhc3Q8UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50OjpTY3JvbGxpbmdFdmVu
dD4oZXZlbnRUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
YTJjYmU4YWE4NmJiN2VmMmUzZmI4NWQ1ODU4OGNjNWMzY2I1YjZkMi4uZDE1MjJhMzlhOTUwOTlj
M2NmMjFjY2UxYjVkMzJhNzIxNzA0N2ViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTE1MTksNiArMTUxOSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMs
IFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3Qg
U3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQ6OlZhbHVlRGljdGlvbmFyeSYsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBs
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRvbWFpbik7CiAKICAgICAvLyBQZXJmb3JtYW5jZSBsb2dnaW5nLgogICAgIHZv
aWQgbG9nU2Nyb2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lLCB1
aW50NjRfdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggNzBhOGFjOGRiNWM1OWM4Mzc5ZDk1NmQ5ZDQ1MjNhMGJjNDI2ZTU0YS4u
MDdhMzRkZTE1ZTA3Y2UxZDk1ZGY0OTQxYmFmNjEwZGUyMWMwZGMyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjExLDYgKzIx
MSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgTG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoVmFsdWUoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgZG91YmxlIHZh
bHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91
bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFu
Y2VkUHJpdmFjeShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBlbnVtOmJvb2wg
V2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKICAgICBMb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlv
biwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSB2YWx1
ZSwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisgICAgTG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcgZG9tYWlu
KQogCiAgICAgIyBQZXJmb3JtYW5jZSBsb2dnaW5nCiAgICAgTG9nU2Nyb2xsaW5nRXZlbnQodWlu
dDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwgdWludDY0X3QgZGF0YSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCmluZGV4IGQ5Y2I0ZjM3
YzJhZDNlODA4YzBkZmUyZjY0ZDRhMzBjYzY5NTQyOTguLjZjYTFiOTYyMjJjMDVlYjQ4NDY3NzM2
Mjk1ODI5ZWJjMGQzMGU0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmNwcApAQCAtOTMsNCArOTMsMTEgQEAgdm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFMKICAgICBt
X3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhWYWx1ZURpY3Rpb25hcnkobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBTaG91bGRTYW1w
bGU6Ok5vKSk7CiB9CiAKK3ZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmlu
ZyYgZG9tYWluKQoreworICAgIEFTU0VSVCghbV9wYWdlLmNvcmVQYWdlKCkgfHwgbV9wYWdlLmNv
cmVQYWdlKCktPnNldHRpbmdzKCkuZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKCkpOworCisgICAg
bV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoRG9tYWluKG1lc3NhZ2UsIGRvbWFpbikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggMzIxYWJjOGEyMzgy
MDczOWExNDUxYWQ1OGU4NDNhY2ZiNzBhYTA3ZS4uZjY5M2ZkNzc0ZDQ5ZWU0NWRhZTA2OWJkNGZj
ZGNkYjBkZWFiZWY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgK
QEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
biwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNo
b3VsZFNhbXBsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhF
bmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2Ny
aXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpIG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgVmFsdWVEaWN0aW9uYXJ5JiwgV2ViQ29y
ZTo6U2hvdWxkU2FtcGxlKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZG9tYWluKSBv
dmVycmlkZTsKIAogICAgIFdlYlBhZ2UmIG1fcGFnZTsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424196</attachid>
            <date>2021-03-24 16:02:57 -0700</date>
            <delta_ts>2021-03-24 21:48:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223706-20210324160256.patch</filename>
            <type>text/plain</type>
            <size>16411</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU0MGU3MzQ0ZThlZjNm
ZWM0ZGVmMDE5ODU4NjllMTYwYzNkNTcyMy4uNGRhZjQ4NDAwZjVlYmE3MGJjNWExNmNjMDNhYzBh
MmQwMjBmYmZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTAzLTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcg
bWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBtZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRp
YWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
aXZlIHRoZSBXZWJLaXQgY2xpZW50IHRoZSBhYmlsaXR5IHRvIGxvZyBpbmZvIGFib3V0IHRoZSBt
ZWRpYSBmaWxlcyB3aGljaAorICAgICAgICB3YXMgc3VibWl0dGVkIHRvIGEgd2ViIHNlcnZlciB0
aHJvdWdoIGFuIEhUTUxGb3JtRWxlbWVudC4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudDo6c3VibWl0KToKKyAg
ICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg6CisKIDIwMjEtMDMtMjMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgQm9va3MgYnVuZGxlIGNoZWNr
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA4MGNhMzVkNmU4YmZlM2ZmYTFhMGYzZjQ2MjRkYzIwNmY5NGFjNGNjLi5i
NjE0YjI3ZDYwOTIzYmFiYjRmNGM4ZDE2MmY0MjAxZDc0MjMzNWUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI4IEBACisyMDIxLTAzLTI0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29t
PgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcgbWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBt
ZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRpYWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG5ldyBtZXRob2QgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRG9tYWluIHRvIHRoZSBtb2Rlcm4gT2JqQyBBUEkKKyAgICAgICAgV0tEaWFn
bm9zdGljTG9nZ2luZ0RlbGVnYXRlIGFuZCBtYWtlIGl0IGFjY2Vzc2libGUgZnJvbSBEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6
OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tOgorICAgICAgICAoV2ViS2l0OjpEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudDo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4pOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg6
CisKIDIwMjEtMDMtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIERpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKaW5kZXggMTJlYWY0MzYwN2VlMzQzYmI1YmQ3ZjgwZDVm
OTIzMjliZTJmZGI5OC4uNzc5OGYzYTg0NDQ4MzJiNmNjNjY2NTFhZmE4ZDY5N2RmNTk5N2JiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaW5jbHVkZSAiRE9NRm9ybURhdGEuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNp
bmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTQ0
LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MVGFibGVFbGVtZW50LmgiCisjaW5jbHVk
ZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1peGVkQ29udGVudENoZWNrZXIuaCIK
ICNpbmNsdWRlICJOb2RlUmFyZURhdGEuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0zNjgsMTIg
KzM3MCwzMCBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9v
bCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIGF1dG8gZm9ybVN1Ym1pc3Np
b24gPSBGb3JtU3VibWlzc2lvbjo6Y3JlYXRlKCp0aGlzLCBtX2F0dHJpYnV0ZXMsIGV2ZW50LCBz
aG91bGRMb2NrSGlzdG9yeSwgZm9ybVN1Ym1pc3Npb25UcmlnZ2VyKTsKICAgICBpZiAobV9wbGFu
bmVkRm9ybVN1Ym1pc3Npb24pCiAgICAgICAgIG1fcGxhbm5lZEZvcm1TdWJtaXNzaW9uLT5jYW5j
ZWwoKTsKKworICAgIHVuc2lnbmVkIGltYWdlT3JNZWRpYUZpbGVzID0gMDsKKyAgICBmb3IgKGF1
dG8mIGRhdGFFbGVtZW50IDogZm9ybVN1Ym1pc3Npb24tPmRhdGEoKS5lbGVtZW50cygpKSB7Cisg
ICAgICAgIGF1dG8qIGVuY29kZWRGaWxlRGF0YSA9IFdURjo6Z2V0X2lmPEZvcm1EYXRhRWxlbWVu
dDo6RW5jb2RlZEZpbGVEYXRhPihkYXRhRWxlbWVudC5kYXRhKTsKKyAgICAgICAgaWYgKCFlbmNv
ZGVkRmlsZURhdGEpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBhdXRvIG1pbWVU
eXBlID0gTUlNRVR5cGVSZWdpc3RyeTo6bWltZVR5cGVGb3JQYXRoKGVuY29kZWRGaWxlRGF0YS0+
ZmlsZW5hbWUpOworICAgICAgICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFn
ZU1JTUVUeXBlKG1pbWVUeXBlKSB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlh
TUlNRVR5cGUobWltZVR5cGUpKQorICAgICAgICAgICAgKytpbWFnZU9yTWVkaWFGaWxlczsKKyAg
ICB9CisKICAgICBtX3BsYW5uZWRGb3JtU3VibWlzc2lvbiA9IG1ha2VXZWFrUHRyKGZvcm1TdWJt
aXNzaW9uLmdldCgpKTsKICAgICBmcmFtZS0+bG9hZGVyKCkuc3VibWl0Rm9ybShXVEZNb3ZlKGZv
cm1TdWJtaXNzaW9uKSk7CiAKICAgICBpZiAobmVlZEJ1dHRvbkFjdGl2YXRpb24gJiYgZmlyc3RT
dWNjZXNzZnVsU3VibWl0QnV0dG9uKQogICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0
b24tPnNldEFjdGl2YXRlZFN1Ym1pdChmYWxzZSk7CiAKKyAgICBpZiAoaW1hZ2VPck1lZGlhRmls
ZXMpIHsKKyAgICAgICAgYXV0byYgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgPSBkb2N1bWVudCgp
LnBhZ2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKTsKKyAgICAgICAgYXV0byBtZXNzYWdl
ID0gbWFrZVN0cmluZyhpbWFnZU9yTWVkaWFGaWxlcywgaW1hZ2VPck1lZGlhRmlsZXMgPT0gMSA/
ICIgbWVkaWEgZmlsZSBoYXMgYmVlbiBzdWJtaXR0ZWQiIDogIiBtZWRpYSBmaWxlcyBoYXZlIGJl
ZW4gc3VibWl0dGVkIik7CisgICAgICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aERvbWFpbihtZXNzYWdlLCAiV2ViS2l0Lm1lZGlhIl9zKTsKKyAgICB9
CisKICAgICBtX3Nob3VsZFN1Ym1pdCA9IGZhbHNlOwogICAgIG1faXNTdWJtaXR0aW5nT3JQcmVw
YXJpbmdGb3JTdWJtaXNzaW9uID0gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwCmluZGV4IDdlMmQzOTExOTI5OTE4NjdlYzViMmE4MmY3MTY2NTc4NjQ3NTY2MDAu
LjlkODEwNWQ0OTViMzhkODNhNzY1NTJjZWFhZTAwNjdiZmVjNTc5ZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0yMDcsNiArMjA3LDcgQEAgY2xhc3MgRW1wdHlE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5hbCA6IHB1YmxpYyBEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudCB7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmLCBkb3VibGUsIHVuc2lnbmVkLCBTaG91bGRTYW1wbGUpIGZpbmFs
IHsgfQogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFNob3VsZFNhbXBsZSkgZmluYWwgeyB9CiAgICAg
dm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiwgY29uc3QgVmFsdWVEaWN0aW9uYXJ5JiwgU2hvdWxkU2FtcGxlKSBm
aW5hbCB7IH0KKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH07CiB9OwogCiAjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
aAppbmRleCA3YTkyYzcxZjllZGE0OThmYjdhMmI1ODkzZjBiZTI4OTFmMTg0YjYwLi41OTcxMGRk
NWUyMGZjM2E2YjBmOTQ5YjA1ZWQ2M2YyMzYxZTcxNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoK
ICAgICB1c2luZyBWYWx1ZURpY3Rpb25hcnkgPSBIYXNoTWFwPFN0cmluZywgVmFsdWVQYXlsb2Fk
PjsKIAogICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rp
b25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBj
b25zdCBWYWx1ZURpY3Rpb25hcnkmLCBTaG91bGRTYW1wbGUpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkb21haW4pID0gMDsKIAogICAgIHN0YXRpYyBib29sIHNob3VsZExvZ0Fm
dGVyU2FtcGxpbmcoU2hvdWxkU2FtcGxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRleCBiNGUyYWRl
NzI5ZWE2NmQ4ZGRhOGRkNTAyMTE4YWU0YWJkYjIxODYzLi45OTAxNDU2ODliOGNiMTcwOTRmNWRi
MDM0MjBhNmZmZmUwZGExYjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDcsNiArNDcsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2Vk
UHJpdmFjeShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pID0gMDsKIAogICAgIHZpcnR1YWwgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoV2ViS2l0OjpXZWJQYWdl
UHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRl
c2NyaXB0aW9uLCBSZWY8QVBJOjpEaWN0aW9uYXJ5PiYmKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFdlYktpdDo6V2ViUGFnZVByb3h5Kiwg
Y29uc3QgV1RGOjpTdHJpbmcmLCBjb25zdCBXVEY6OlN0cmluZyYpIHsgfQogfTsKIAogfSAvLyBu
YW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaAppbmRleCA1NDFjMzRi
ZDM1MjIxZWMwOGIxMjFiMDM5YzRiODY2NjE3ZTRmNjUxLi5mNDI1MDQxMzVlZjA4NzIyMmFkZjQz
OWQyYjdkZDY2MTJlOWU1YjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgKQEAg
LTQzLDUgKzQzLDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRGlhZ25vc3RpY0xv
Z2dpbmdSZXN1bHRUeXBlKSB7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlOihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3Jp
cHRpb246KE5TU3RyaW5nICopZGVzY3JpcHRpb24gdmFsdWU6KE5TU3RyaW5nICopIHZhbHVlOwog
LSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3k6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNT
dHJpbmcgKilkZXNjcmlwdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzKSwgaW9zKDEx
LjApKTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcgKilkZXNj
cmlwdGlvbiB2YWx1ZURpY3Rpb25hcnk6KE5TRGljdGlvbmFyeSAqKXZhbHVlRGljdGlvbmFyeSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEzLjApKTsKKy0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluOihO
U1N0cmluZyAqKW1lc3NhZ2UgZG9tYWluOihOU1N0cmluZyAqKWRvbWFpbiBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaAppbmRleCA1ZmRjY2FjMDA0MzhkNzA5ODI1Mjk0OWYwMDMzOTllNzUzNTM3ODU3Li43OWQ0
NGI0MTBiNzVhNjY3NjAzNjY5MjQ5YmJlYjNkZGY2NzU1YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAg
LTUyLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBs
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2ViUGFnZVByb3h5KiwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBvdmVycmlkZTsK
ICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShXZWJQYWdl
UHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24s
IFJlZjxBUEk6OkRpY3Rpb25hcnk+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgbG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRG9tYWluKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkb21haW4pIG92ZXJyaWRlOwogCiAgICAgV0tXZWJWaWV3ICptX3dlYlZp
ZXc7CiAgICAgV2Vha09iakNQdHI8aWQgPF9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGU+PiBt
X2RlbGVnYXRlOwpAQCAtNjIsNiArNjMsNyBAQCBwcml2YXRlOgogICAgICAgICB1bnNpZ25lZCB3
ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUgOiAxOwogICAgICAgICB1bnNpZ25l
ZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5IDogMTsKICAg
ICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlv
bmFyeSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhEb21haW4gOiAxOwogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Lm1tCmluZGV4IGU0N2M0Yjg4YmU3MDc3YjY4NWE4ZmFlM2ViOGYyY2M1MTMzY2Y3MTYuLjljZjU1
M2VlNmY5ZDdhMWM0OWU5ZTg3MDdmODg4MWQ4Yjc1ODU5YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tCkBA
IC01MSw2ICs1MSw3IEBAIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OnNldERlbGVnYXRl
KGlkIDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPiBkZWxlCiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMud2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWU6ZGVzY3JpcHRpb246dmFsdWU6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
dmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeSA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aEVuaGFuY2VkUHJpdmFjeTpkZXNjcmlwdGlvbjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9k
cy53ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5ID0gW2RlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01l
c3NhZ2U6ZGVzY3JpcHRpb246dmFsdWVEaWN0aW9uYXJ5OildOworICAgIG1fZGVsZWdhdGVNZXRo
b2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4gPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZVdp
dGhEb21haW46ZG9tYWluOildOwogfQogCiB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pCkBAIC05NSw1ICs5
NiwxMCBAQCB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhWYWx1ZURpY3Rpb25hcnkoV2ViUGFnZVBybwogICAgICAgICBbbV9kZWxlZ2F0ZS5nZXQo
KSBfd2ViVmlldzptX3dlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2U6bWVzc2FnZSBkZXNjcmlw
dGlvbjpkZXNjcmlwdGlvbiB2YWx1ZURpY3Rpb25hcnk6c3RhdGljX2Nhc3Q8TlNEaWN0aW9uYXJ5
Kj4odmFsdWVEaWN0aW9uYXJ5LT53cmFwcGVyKCkpXTsKIH0KIAordm9pZCBEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFdlYlBhZ2VQcm94eSos
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkb21haW4pCit7CisgICAgaWYg
KG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4p
CisgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF93ZWJWaWV3Om1fd2ViVmlldyBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhEb21haW46bWVzc2FnZSBkb21haW46ZG9tYWluXTsKK30KIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCA5OWIzNDYwOTg3MWRkZmFjZDk2N2RiOTc2YTY2NGQxNjAzOGUxN2FiLi5hNTE4NjRhYTk3
ZmE4M2NkZWRjYjgwNzk5ZDkxZWQzODg2NTFiYTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTcyMTgsNiArNzIxOCwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYg
bWVzc2FnZQogICAgIGVmZmVjdGl2ZUNsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWVEaWN0aW9uYXJ5KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBXVEZNb3ZlKGFwaURpY3Rp
b25hcnkpKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZG9tYWluKQorewor
ICAgIGF1dG8qIGVmZmVjdGl2ZUNsaWVudCA9IGVmZmVjdGl2ZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50KFNob3VsZFNhbXBsZTo6Tm8pOworICAgIGlmICghZWZmZWN0aXZlQ2xpZW50KQorICAgICAg
ICByZXR1cm47CisKKyAgICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aERvbWFpbih0aGlzLCBtZXNzYWdlLCBkb21haW4pOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6
bG9nU2Nyb2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lIHRpbWVz
dGFtcCwgdWludDY0X3QgZGF0YSkKIHsKICAgICBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQ6OlNj
cm9sbGluZ0V2ZW50IGV2ZW50ID0gc3RhdGljX2Nhc3Q8UGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50
OjpTY3JvbGxpbmdFdmVudD4oZXZlbnRUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggYTJjYmU4YWE4NmJiN2VmMmUzZmI4NWQ1ODU4OGNjNWMzY2I1YjZkMi4u
ZDE1MjJhMzlhOTUwOTljM2NmMjFjY2UxYjVkMzJhNzIxNzA0N2ViNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1MTksNiArMTUxOSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWdu
aWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CiAgICAgdm9pZCBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgV2ViQ29yZTo6RGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSYsIFdlYkNvcmU6OlNob3VsZFNhbXBs
ZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRvbWFpbik7CiAKICAgICAvLyBQZXJmb3JtYW5jZSBs
b2dnaW5nLgogICAgIHZvaWQgbG9nU2Nyb2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRUeXBlLCBN
b25vdG9uaWNUaW1lLCB1aW50NjRfdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzBhOGFjOGRiNWM1OWM4Mzc5ZDk1NmQ5ZDQ1
MjNhMGJjNDI2ZTU0YS4uMDdhMzRkZTE1ZTA3Y2UxZDk1ZGY0OTQxYmFmNjEwZGUyMWMwZGMyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgpAQCAtMjExLDYgKzIxMSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgTG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlw
dGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIGVudW06Ym9v
bCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxlKQogICAgIExvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0
aW9uLCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKICAgICBM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoU3RyaW5nIG1lc3NhZ2UsIFN0
cmluZyBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVl
RGljdGlvbmFyeSB2YWx1ZSwgZW51bTpib29sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRT
YW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKFN0cmluZyBtZXNzYWdl
LCBTdHJpbmcgZG9tYWluKQogCiAgICAgIyBQZXJmb3JtYW5jZSBsb2dnaW5nCiAgICAgTG9nU2Ny
b2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCwg
dWludDY0X3QgZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3Bw
CmluZGV4IGQ5Y2I0ZjM3YzJhZDNlODA4YzBkZmUyZjY0ZDRhMzBjYzY5NTQyOTguLjZjYTFiOTYy
MjJjMDVlYjQ4NDY3NzM2Mjk1ODI5ZWJjMGQzMGU0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LmNwcApAQCAtOTMsNCArOTMsMTEgQEAgdm9pZCBXZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5
KGNvbnN0IFMKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkobWVzc2FnZSwgZGVzY3JpcHRpb24sIHZh
bHVlLCBTaG91bGRTYW1wbGU6Ok5vKSk7CiB9CiAKK3ZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZG9tYWluKQoreworICAgIEFTU0VSVCghbV9wYWdlLmNvcmVQYWdl
KCkgfHwgbV9wYWdlLmNvcmVQYWdlKCktPnNldHRpbmdzKCkuZGlhZ25vc3RpY0xvZ2dpbmdFbmFi
bGVkKCkpOworCisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKG1lc3NhZ2UsIGRvbWFpbikpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5k
ZXggMzIxYWJjOGEyMzgyMDczOWExNDUxYWQ1OGU4NDNhY2ZiNzBhYTA3ZS4uZjY5M2ZkNzc0ZDQ5
ZWU0NWRhZTA2OWJkNGZjZGNkYjBkZWFiZWY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3Vy
ZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgVmFsdWVEaWN0
aW9uYXJ5JiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZG9tYWluKSBvdmVycmlkZTsKIAogICAgIFdlYlBhZ2UmIG1fcGFnZTsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424216</attachid>
            <date>2021-03-24 21:48:35 -0700</date>
            <delta_ts>2021-03-26 10:08:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223706-20210324214834.patch</filename>
            <type>text/plain</type>
            <size>25669</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU0MGU3MzQ0ZThlZjNm
ZWM0ZGVmMDE5ODU4NjllMTYwYzNkNTcyMy4uYzU0ZDA0YzVlMmRjMzUxMWVhMDJlZWQ0ODA4NjEx
NTRiMTk4NjFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTAzLTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcg
bWluaW1hbCBpbmZvIGFib3V0IHVwbG9hZGluZyBtZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRp
YWdub3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM3MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
aXZlIHRoZSBXZWJLaXQgY2xpZW50IHRoZSBhYmlsaXR5IHRvIGxvZyBpbmZvIGFib3V0IHRoZSBt
ZWRpYSBmaWxlcyB3aGljaAorICAgICAgICB3ZXJlIHN1Ym1pdHRlZCB0byBhIHdlYiBzZXJ2ZXIg
dGhyb3VnaCBhbiBIVE1MRm9ybUVsZW1lbnQuCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBo
dG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUVsZW1l
bnQ6OnN1Ym1pdCk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAg
ICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRGlhZ25v
c3RpY0xvZ2dpbmdEb21haW4uaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmguCisKIDIwMjEtMDMtMjMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgQm9v
a3MgYnVuZGxlIGNoZWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4MGNhMzVkNmU4YmZlM2ZmYTFhMGYzZjQ2MjRk
YzIwNmY5NGFjNGNjLi44YTlhMWQwNGNjMDBjNDA3NTcyNTViMTc3MjY5YjI5NWEwMmM2Y2NhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAzLTI0ICBTYWlkIEFib3UtSGFsbGF3YSAg
PHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGxvZ2dpbmcgbWluaW1hbCBpbmZvIGFi
b3V0IHVwbG9hZGluZyBtZWRpYSBmaWxlcyBpbiB0aGUgc3lzdGVtIGRpYWdub3NlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3MDYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG5ldyBtZXRo
b2QgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluIHRvIHRoZSBtb2Rlcm4gT2JqQyBBUEkK
KyAgICAgICAgV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlIGFuZCBtYWtlIGl0IGFjY2Vzc2li
bGUgZnJvbSBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC4KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAodHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9k
ZWNsYXJlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5oOgorICAgICAgICAoQVBJOjpEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoRG9tYWluKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQubW06CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50OjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OnRvV0tEaWFnbm9zdGlj
TG9nZ2luZ0RvbWFpbik6CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aERvbWFpbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKwogMjAyMS0wMy0yMyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgRGlzcGxh
eVJlZnJlc2hNb25pdG9yRmFjdG9yeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDFjOWM5YjY2ZmM2
Njk1Y2VlYjU1ZWU4MTY3YWQ2OWZiNDNiN2YyNmMuLmQ0Yjk3MDgyNGQ1ZGM4NWFjYzNkOTkxMjQ5
ZGE2MTM5NWQzMGEwNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtODcwLDYgKzg3MCw3IEBAIHNl
dChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwYWdlL0RlcHJlY2F0ZWRH
bG9iYWxTZXR0aW5ncy5oCiAgICAgcGFnZS9EZXZpY2VDbGllbnQuaAogICAgIHBhZ2UvRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaAorICAgIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4uaAog
ICAgIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKICAgICBwYWdlL0RpYWdub3N0aWNMb2dn
aW5nUmVzdWx0VHlwZS5oCiAgICAgcGFnZS9EaXNhYmxlZEFkYXB0YXRpb25zLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4N2Jl
YmUyMTJmZjk2NGE1ZGM5NjgwMTc2NzI1ZDkwM2VhMmFjZDYzLi4xZmYxMzI5OTc4YzlmZTQxZjU2
MGM2MjA2YWQ2MjdjZDViNmQxMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMjIyLDYgKzIyMjIsNyBAQAogCQk3MjlEMDUz
MDI1MzE0MjQzMDA0MjIwOTggLyogUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjlEMDUyRTI1MzEzRTI2
MDA0MjIwOTggLyogUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzJBNzNCRUYyNDVBM0Y5MDAwMUM5
RDAzIC8qIEFuaW1hdGlvbkZyYW1lUmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzIyQTgxNUMyMzhGRDUwNTAwQzAwNTgzIC8qIEFuaW1hdGlvbkZy
YW1lUmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTcyQkFDM0FFMjNFMUYwQjAwMDhENzQxQyAvKiBJbWFnZUJ1ZmZlckJhY2tlbmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyQkFDM0E1MjNFMTcz
MjgwMDhENzQxQyAvKiBJbWFnZUJ1ZmZlckJhY2tlbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3MkY2NjdFMTI2MEMyNkFDMDBFRTM2QUQgLyog
RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcyRjY2N0RGMjYwQzI2NDQwMEVFMzZBRCAvKiBEaWFnbm9zdGljTG9n
Z2luZ0RvbWFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTc1NTNDRkU4MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3Rvcnku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NTNDRkU2
MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuaCAqLzsgfTsKIAkJNzU3
OTNFODQwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU3OTNFODEwRDBDRTBCMzAwN0ZDMEFDIC8q
IE1lc3NhZ2VFdmVudC5oICovOyB9OwogCQk3NTc5M0VDOTBEMENFNzJEMDA3RkMwQUMgLyogSlNN
ZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc1NzkzRUM3MEQwQ0U3MkQwMDdGQzBBQyAvKiBKU01lc3NhZ2VFdmVudC5oICovOyB9OwpA
QCAtMTAyMzgsNiArMTAyMzksNyBAQAogCQk3MkYxQURBMTFBMzkwNEMzMDAwMTRFMTggLyogRVhU
RnJhZ0RlcHRoLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFWFRGcmFnRGVwdGguaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkYxQURBMzFBMzkwQjlGMDAwMTRFMTggLyog
SlNFWFRGcmFnRGVwdGguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNFWFRGcmFnRGVwdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkYxQURB
NDFBMzkwQjlGMDAwMTRFMTggLyogSlNFWFRGcmFnRGVwdGguaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFWFRGcmFnRGVwdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzJGNjY3REYyNjBDMjY0NDAwRUUzNkFEIC8qIERpYWdub3N0aWNMb2dnaW5nRG9tYWlu
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERpYWdub3N0aWNMb2dnaW5nRG9tYWluLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcyRkIyMzg0MjI0OTdBRDQwMDdFNUFDNyAvKiBTVkdWYWx1ZVBy
b3BlcnR5QW5pbWF0b3JJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R1ZhbHVlUHJvcGVydHlBbmltYXRvckltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzJGQjIzODYyMjQ5N0FENTAwN0U1QUM3IC8qIFNWR1ZhbHVlUHJvcGVydHlBbmltYXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdWYWx1ZVByb3BlcnR5QW5pbWF0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzJGQjIzODcyMjQ5N0IxNTAwN0U1
QUM3IC8qIFNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjE3NCw2ICsyMjE3Niw3IEBACiAJCQkJQ0ND
MkI1MTExNUY2MTMwNjAwNDhDREQ2IC8qIERldmljZUNvbnRyb2xsZXIuY3BwICovLAogCQkJCUND
QzJCNTEyMTVGNjEzMDYwMDQ4Q0RENiAvKiBEZXZpY2VDb250cm9sbGVyLmggKi8sCiAJCQkJQ0Qx
OUEyNjcxQTEzRTcwMDAwOEQ2NTBFIC8qIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggKi8sCisJ
CQkJNzJGNjY3REYyNjBDMjY0NDAwRUUzNkFEIC8qIERpYWdub3N0aWNMb2dnaW5nRG9tYWluLmgg
Ki8sCiAJCQkJQ0QzN0IzNzQxNUMxQTdFMTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dnaW5nS2V5
cy5jcHAgKi8sCiAJCQkJQ0QzN0IzNzUxNUMxQTdFMTAwNkRDODk4IC8qIERpYWdub3N0aWNMb2dn
aW5nS2V5cy5oICovLAogCQkJCTgzNzJEQjMwMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGlj
TG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLywKQEAgLTMyMDQ5LDYgKzMyMDUyLDcgQEAKIAkJCQkyNkE1
MTdGRTFBQjkyMjM4MDA2MzM1REYgLyogREZBTWluaW1pemVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyNjc3MjVGRjFBNUIzQUQ5MDAzQzI0REQgLyogREZBTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0QxOUEyNjgxQTEzRTcwMDAwOEQ2NTBFIC8qIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3MkY2NjdFMTI2MEMyNkFDMDBFRTM2QUQgLyogRGlhZ25vc3Rp
Y0xvZ2dpbmdEb21haW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2RkNCNjE4MUE3MDgyMEUwMEM1
QTIxRSAvKiBEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNzJE
QjMxMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNFQ0FERkM3MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRl
cm5hdGl2ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5jcHAKaW5kZXggMTJlYWY0MzYwN2VlMzQzYmI1YmQ3ZjgwZDVmOTIzMjliZTJmZGI5OC4uZjU5
ZDk0YTlhZjc2ZWZjMjE5YWEzNmVlM2FmMzM3OGZlOWRjNDliNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmNwcApAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiRE9N
Rm9ybURhdGEuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVu
dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTQ0LDYgKzQ1LDcgQEAKICNpbmNs
dWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIK
ICNpbmNsdWRlICJIVE1MVGFibGVFbGVtZW50LmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3Ry
eS5oIgogI2luY2x1ZGUgIk1peGVkQ29udGVudENoZWNrZXIuaCIKICNpbmNsdWRlICJOb2RlUmFy
ZURhdGEuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0zNjgsMTIgKzM3MCwzMCBAQCB2b2lkIEhU
TUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1
dHRvbiwgYm9vbCBwcm9jZQogICAgIGF1dG8gZm9ybVN1Ym1pc3Npb24gPSBGb3JtU3VibWlzc2lv
bjo6Y3JlYXRlKCp0aGlzLCBtX2F0dHJpYnV0ZXMsIGV2ZW50LCBzaG91bGRMb2NrSGlzdG9yeSwg
Zm9ybVN1Ym1pc3Npb25UcmlnZ2VyKTsKICAgICBpZiAobV9wbGFubmVkRm9ybVN1Ym1pc3Npb24p
CiAgICAgICAgIG1fcGxhbm5lZEZvcm1TdWJtaXNzaW9uLT5jYW5jZWwoKTsKKworICAgIHVuc2ln
bmVkIGltYWdlT3JNZWRpYUZpbGVzID0gMDsKKyAgICBmb3IgKGF1dG8mIGRhdGFFbGVtZW50IDog
Zm9ybVN1Ym1pc3Npb24tPmRhdGEoKS5lbGVtZW50cygpKSB7CisgICAgICAgIGF1dG8qIGVuY29k
ZWRGaWxlRGF0YSA9IFdURjo6Z2V0X2lmPEZvcm1EYXRhRWxlbWVudDo6RW5jb2RlZEZpbGVEYXRh
PihkYXRhRWxlbWVudC5kYXRhKTsKKyAgICAgICAgaWYgKCFlbmNvZGVkRmlsZURhdGEpCisgICAg
ICAgICAgICBjb250aW51ZTsKKworICAgICAgICBhdXRvIG1pbWVUeXBlID0gTUlNRVR5cGVSZWdp
c3RyeTo6bWltZVR5cGVGb3JQYXRoKGVuY29kZWRGaWxlRGF0YS0+ZmlsZW5hbWUpOworICAgICAg
ICBpZiAoTUlNRVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlKG1pbWVUeXBl
KSB8fCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc1N1cHBvcnRlZE1lZGlhTUlNRVR5cGUobWltZVR5cGUp
KQorICAgICAgICAgICAgKytpbWFnZU9yTWVkaWFGaWxlczsKKyAgICB9CisKICAgICBtX3BsYW5u
ZWRGb3JtU3VibWlzc2lvbiA9IG1ha2VXZWFrUHRyKGZvcm1TdWJtaXNzaW9uLmdldCgpKTsKICAg
ICBmcmFtZS0+bG9hZGVyKCkuc3VibWl0Rm9ybShXVEZNb3ZlKGZvcm1TdWJtaXNzaW9uKSk7CiAK
ICAgICBpZiAobmVlZEJ1dHRvbkFjdGl2YXRpb24gJiYgZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0
dG9uKQogICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24tPnNldEFjdGl2YXRlZFN1
Ym1pdChmYWxzZSk7CiAKKyAgICBpZiAoaW1hZ2VPck1lZGlhRmlsZXMpIHsKKyAgICAgICAgYXV0
byYgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQgPSBkb2N1bWVudCgpLnBhZ2UoKS0+ZGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQoKTsKKyAgICAgICAgYXV0byBtZXNzYWdlID0gbWFrZVN0cmluZyhpbWFn
ZU9yTWVkaWFGaWxlcywgaW1hZ2VPck1lZGlhRmlsZXMgPT0gMSA/ICIgbWVkaWEgZmlsZSBoYXMg
YmVlbiBzdWJtaXR0ZWQiIDogIiBtZWRpYSBmaWxlcyBoYXZlIGJlZW4gc3VibWl0dGVkIik7Cisg
ICAgICAgIGRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERv
bWFpbihtZXNzYWdlLCBEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbjo6TWVkaWEpOworICAgIH0KKwog
ICAgIG1fc2hvdWxkU3VibWl0ID0gZmFsc2U7CiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmlu
Z0ZvclN1Ym1pc3Npb24gPSBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAKaW5kZXggN2UyZDM5MTE5Mjk5MTg2N2VjNWIyYTgyZjcxNjY1Nzg2NDc1NjYwMC4uNzM0
Zjk0YjEwZmZiYmU4MTdhZmQyMTYzZTBjODMzNTBmMDBkNTJiZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTIwNyw2ICsyMDcsNyBAQCBjbGFzcyBFbXB0eURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50IGZpbmFsIDogcHVibGljIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50
IHsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGRvdWJsZSwgdW5zaWduZWQsIFNob3VsZFNhbXBsZSkgZmluYWwgeyB9
CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7IH0KICAgICB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBjb25zdCBWYWx1ZURpY3Rpb25hcnkmLCBTaG91bGRTYW1wbGUpIGZpbmFs
IHsgfQorICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKGNvbnN0IFN0cmlu
ZyYsIERpYWdub3N0aWNMb2dnaW5nRG9tYWluKSBmaW5hbCB7IH07CiB9OwogCiAjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaAppbmRleCA3YTkyYzcxZjllZGE0OThmYjdhMmI1ODkzZjBiZTI4OTFmMTg0YjYwLi5k
Y2VmMGFkZWE3M2IwZTk5MDQ1OGZhZGMyYzc1MjMwY2ZkYWZiOWRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4uaCIKICNp
bmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCIKICNpbmNsdWRlIDx3dGYvRmFz
dE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC00OCw2ICs0OSw3IEBAIHB1
YmxpYzoKICAgICB1c2luZyBWYWx1ZURpY3Rpb25hcnkgPSBIYXNoTWFwPFN0cmluZywgVmFsdWVQ
YXlsb2FkPjsKIAogICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0
aW9uLCBjb25zdCBWYWx1ZURpY3Rpb25hcnkmLCBTaG91bGRTYW1wbGUpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4pID0gMDsKIAogICAgIHN0YXRpYyBib29sIHNo
b3VsZExvZ0FmdGVyU2FtcGxpbmcoU2hvdWxkU2FtcGxlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0RvbWFpbi5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9EaWFnbm9zdGljTG9nZ2luZ0RvbWFpbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5YjNhMDMwZGUyMjVm
MGVmYzJhNmUzOWM1OGUyYmRlZDIwOTAzYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nRG9tYWluLmgKQEAgLTAsMCArMSw0MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xh
c3MgRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4gOiB1aW50OF90IHsgTWVkaWEgfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbj4geworICAgIHVzaW5n
IHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5n
RG9tYWluLAorICAgICAgICBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbjo6TWVkaWEK
KyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQppbmRleCA2NDg3MTY0ODEzZjUxZTQ0YjFmMjEzZmViMDcwN2Y3YmYz
ZTQ2YTFlLi40YzZiN2JjMjNjZjI5MjgzMjc0Yjc5NjU5ODNjYjE4MGMxNjU5OWFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTI3MSw2ICsyNzEsNyBAQCBk
ZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNsYXJlZCgpOgogICAgICAgICAnTWVk
aWFUaW1lJywKICAgICAgICAgJ1N0cmluZycsCiAgICAgICAgICdXZWJDb3JlOjpEZXN0aW5hdGlv
bkNvbG9yU3BhY2UnLAorICAgICAgICAnV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4n
LAogICAgICAgICAnV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCcsCiAgICAgICAgICdXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6Rmx1c2hJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtQnVmZmVySWRlbnRpZmllcicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IGI0ZTJh
ZGU3MjllYTY2ZDhkZGE4ZGQ1MDIxMThhZTRhYmRiMjE4NjMuLjFhYzhmODAwNjJjYmFmNWI0YjQ1
MjQ3ZTI1Njg3ODVmZmZlZmNhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC0yNSw2ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0Rv
bWFpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQ3LDYgKzQ4LDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFBy
aXZhY3koV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgV1RGOjpTdHJpbmcmIGRlc2NyaXB0aW9uKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQg
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KFdlYktpdDo6V2ViUGFnZVBy
b3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdURjo6U3RyaW5nJiBkZXNj
cmlwdGlvbiwgUmVmPEFQSTo6RGljdGlvbmFyeT4mJikgPSAwOworCisgICAgdmlydHVhbCB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNv
bnN0IFdURjo6U3RyaW5nJiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4pIHsgfQog
fTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaApp
bmRleCA1NDFjMzRiZDM1MjIxZWMwOGIxMjFiMDM5YzRiODY2NjE3ZTRmNjUxLi5jZWRjNzJlMTEw
YTFiYjA0ZWU3M2Y0OGQzOWEwNzEzMWQ0Njk4MDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2luZ0Rl
bGVnYXRlLmgKQEAgLTMzLDYgKzMzLDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9X
S0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSkgewogICAgIF9XS0RpYWdub3N0aWNMb2dnaW5n
UmVzdWx0Tm9vcCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMSksIGlvcyg5LjApKTsK
IAordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4p
IHsKKyAgICBfV0tEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbk1lZGlhLAorfSBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAY2xhc3MgV0tXZWJW
aWV3OwogCiBAcHJvdG9jb2wgX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZSA8TlNPYmplY3Q+
CkBAIC00Myw1ICs0Nyw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0RpYWdub3N0
aWNMb2dnaW5nUmVzdWx0VHlwZSkgewogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTooTlNTdHJpbmcgKiltZXNzYWdlIGRl
c2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIHZhbHVlOihOU1N0cmluZyAqKSB2YWx1
ZTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5OihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246
KE5TU3RyaW5nICopZGVzY3JpcHRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlv
cygxMS4wKSk7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdu
b3N0aWNNZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246KE5TU3RyaW5nICop
ZGVzY3JpcHRpb24gdmFsdWVEaWN0aW9uYXJ5OihOU0RpY3Rpb25hcnkgKil2YWx1ZURpY3Rpb25h
cnkgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xNSksIGlvcygxMy4wKSk7CistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFp
bjooTlNTdHJpbmcgKiltZXNzYWdlIGRvbWFpbjooX1dLRGlhZ25vc3RpY0xvZ2dpbmdEb21haW4p
ZG9tYWluIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9E
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IDVmZGNjYWMwMDQzOGQ3MDk4MjUyOTQ5ZjAw
MzM5OWU3NTM1Mzc4NTcuLjhkYjQzMDEzNGU4ZThmZDFlZTBjYzU4MGFlOThmYjJkNTUwYTdmYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaApAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiV0tGb3VuZGF0aW9u
LmgiCiAKICNpbXBvcnQgIkFQSURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCisjaW1wb3J0IDxX
ZWJDb3JlL0RpYWdub3N0aWNMb2dnaW5nRG9tYWluLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RpYWdu
b3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAK
QEAgLTUyLDYgKzUzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3Ry
aW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2ViUGFnZVByb3h5Kiwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBvdmVycmlk
ZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShXZWJQ
YWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRp
b24sIFJlZjxBUEk6OkRpY3Rpb25hcnk+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgbG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoRG9tYWluKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4pIG92ZXJyaWRlOwogCiAgICAgV0tX
ZWJWaWV3ICptX3dlYlZpZXc7CiAgICAgV2Vha09iakNQdHI8aWQgPF9XS0RpYWdub3N0aWNMb2dn
aW5nRGVsZWdhdGU+PiBtX2RlbGVnYXRlOwpAQCAtNjIsNiArNjQsNyBAQCBwcml2YXRlOgogICAg
ICAgICB1bnNpZ25lZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUgOiAxOwog
ICAgICAgICB1bnNpZ25lZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5IDogMTsKICAgICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlRGljdGlvbmFyeSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhEb21haW4gOiAxOwogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lm1tCmluZGV4IGU0N2M0Yjg4YmU3MDc3YjY4NWE4ZmFlM2ViOGYyY2M1
MTMzY2Y3MTYuLmM2YWFjNTQ5OGE4MDQ2YWRiOWMzYTU1OTFhNmJlMjY3OTk0MmEzNzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dn
aW5nQ2xpZW50Lm1tCkBAIC01MSw2ICs1MSw3IEBAIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQ6OnNldERlbGVnYXRlKGlkIDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPiBkZWxlCiAg
ICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVl
ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoVmFsdWU6ZGVzY3JpcHRpb246dmFsdWU6KV07CiAgICAgbV9kZWxl
Z2F0ZU1ldGhvZHMud2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFj
eSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTpkZXNjcmlwdGlvbjopXTsKICAgICBt
X2RlbGVnYXRlTWV0aG9kcy53ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0
aW9uYXJ5ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6
bG9nRGlhZ25vc3RpY01lc3NhZ2U6ZGVzY3JpcHRpb246dmFsdWVEaWN0aW9uYXJ5OildOworICAg
IG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4g
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhEb21haW46ZG9tYWluOildOwogfQogCiB2b2lkIERpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSos
IGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRp
b24pCkBAIC03MSw2ICs3MiwxNCBAQCBzdGF0aWMgX1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRU
eXBlIHRvV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUoV2ViQ29yZTo6RAogICAgIH0KIH0K
IAorc3RhdGljIF9XS0RpYWdub3N0aWNMb2dnaW5nRG9tYWluIHRvV0tEaWFnbm9zdGljTG9nZ2lu
Z0RvbWFpbihXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbiBkb21haW4pCit7CisgICAg
c3dpdGNoIChkb21haW4pIHsKKyAgICBjYXNlIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nRG9t
YWluOjpNZWRpYToKKyAgICAgICAgcmV0dXJuIF9XS0RpYWdub3N0aWNMb2dnaW5nRG9tYWluTWVk
aWE7CisgICAgfQorfQorCiB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhSZXN1bHQoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0
cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUgcmVzdWx0KQogewogICAgIGlmIChtX2RlbGVnYXRl
TWV0aG9kcy53ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KQpAQCAtOTUsNSAr
MTA0LDEwIEBAIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aFZhbHVlRGljdGlvbmFyeShXZWJQYWdlUHJvCiAgICAgICAgIFttX2RlbGVnYXRlLmdl
dCgpIF93ZWJWaWV3Om1fd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZTptZXNzYWdlIGRlc2Ny
aXB0aW9uOmRlc2NyaXB0aW9uIHZhbHVlRGljdGlvbmFyeTpzdGF0aWNfY2FzdDxOU0RpY3Rpb25h
cnkqPih2YWx1ZURpY3Rpb25hcnktPndyYXBwZXIoKSldOwogfQogCit2b2lkIERpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4oV2ViUGFnZVByb3h5
KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFp
biBkb21haW4pCit7CisgICAgaWYgKG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhEb21haW4pCisgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF93ZWJWaWV3
Om1fd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW46bWVzc2FnZSBkb21haW46
dG9XS0RpYWdub3N0aWNMb2dnaW5nRG9tYWluKGRvbWFpbildOworfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDk5
YjM0NjA5ODcxZGRmYWNkOTY3ZGI5NzZhNjY0ZDE2MDM4ZTE3YWIuLjk3NjdiYjZiNDg0ODNkMzE3
YzUwNDkyZGE4NmU4ZjQzZjc4Y2FmMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtNzIxOCw2ICs3MjE4LDE1IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBtZXNzYWdl
CiAgICAgZWZmZWN0aXZlQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rp
b25hcnkodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24sIFdURk1vdmUoYXBpRGljdGlvbmFyeSkp
OwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWlu
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4g
ZG9tYWluKQoreworICAgIGF1dG8qIGVmZmVjdGl2ZUNsaWVudCA9IGVmZmVjdGl2ZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50KFNob3VsZFNhbXBsZTo6Tm8pOworICAgIGlmICghZWZmZWN0aXZlQ2xp
ZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBlZmZlY3RpdmVDbGllbnQtPmxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aERvbWFpbih0aGlzLCBtZXNzYWdlLCBkb21haW4pOworfQorCiB2b2lkIFdl
YlBhZ2VQcm94eTo6bG9nU2Nyb2xsaW5nRXZlbnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9u
aWNUaW1lIHRpbWVzdGFtcCwgdWludDY0X3QgZGF0YSkKIHsKICAgICBQZXJmb3JtYW5jZUxvZ2dp
bmdDbGllbnQ6OlNjcm9sbGluZ0V2ZW50IGV2ZW50ID0gc3RhdGljX2Nhc3Q8UGVyZm9ybWFuY2VM
b2dnaW5nQ2xpZW50OjpTY3JvbGxpbmdFdmVudD4oZXZlbnRUeXBlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTJjYmU4YWE4NmJiN2VmMmUzZmI4NWQ1ODU4OGNj
NWMzY2I1YjZkMi4uNjdkMDQ3N2Q2MjI0ZjRhZmU1ZTE4OTU5MTA4ZWE5NjY1NjM2MDc0OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1MTksNiArMTUxOSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1
bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CiAgICAg
dm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1w
bGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9uYXJ5KGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgV2Vi
Q29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSYsIFdlYkNvcmU6
OlNob3VsZFNhbXBsZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhEb21haW4o
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFpbik7
CiAKICAgICAvLyBQZXJmb3JtYW5jZSBsb2dnaW5nLgogICAgIHZvaWQgbG9nU2Nyb2xsaW5nRXZl
bnQodWludDMyX3QgZXZlbnRUeXBlLCBNb25vdG9uaWNUaW1lLCB1aW50NjRfdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzBh
OGFjOGRiNWM1OWM4Mzc5ZDk1NmQ5ZDQ1MjNhMGJjNDI2ZTU0YS4uNjRlOTFlNGRjZjdmNmNhM2Zl
NmZmYzBiNTA5NDJkYjE4NTJhOTQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjExLDYgKzIxMSw3IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoU3RyaW5n
IG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWdu
aWZpY2FudEZpZ3VyZXMsIGVudW06Ym9vbCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2Ft
cGxlKQogICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShTdHJpbmcg
bWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBlbnVtOmJvb2wgV2ViQ29yZTo6U2hvdWxkU2Ft
cGxlIHNob3VsZFNhbXBsZSkKICAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rp
b25hcnkoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQ6OlZhbHVlRGljdGlvbmFyeSB2YWx1ZSwgZW51bTpib29sIFdlYkNv
cmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoRG9tYWluKFN0cmluZyBtZXNzYWdlLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ0RvbWFp
biBkb21haW4pCiAKICAgICAjIFBlcmZvcm1hbmNlIGxvZ2dpbmcKICAgICBMb2dTY3JvbGxpbmdF
dmVudCh1aW50MzJfdCBldmVudFR5cGUsIE1vbm90b25pY1RpbWUgdGltZXN0YW1wLCB1aW50NjRf
dCBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKaW5kZXgg
ZDljYjRmMzdjMmFkM2U4MDhjMGRmZTJmNjRkNGEzMGNjNjk1NDI5OC4uODE3NDNlMGY2NDNlODA3
N2RlOGI1MzkzY2ZhZmI1MWE1N2ZmYTRhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuY3BwCkBAIC05Myw0ICs5MywxMSBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZURpY3Rpb25hcnkoY29uc3Qg
UwogICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aFZhbHVlRGljdGlvbmFyeShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUsIFNo
b3VsZFNhbXBsZTo6Tm8pKTsKIH0KIAordm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2Vi
Q29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdEb21haW4gZG9tYWluKQoreworICAgIEFTU0VSVCghbV9w
YWdlLmNvcmVQYWdlKCkgfHwgbV9wYWdlLmNvcmVQYWdlKCktPnNldHRpbmdzKCkuZGlhZ25vc3Rp
Y0xvZ2dpbmdFbmFibGVkKCkpOworCisgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRG9tYWluKG1lc3NhZ2UsIGRvbWFpbikpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKaW5kZXggMzIxYWJjOGEyMzgyMDczOWExNDUxYWQ1OGU4NDNhY2ZiNzBhYTA3ZS4u
NTU4MmQwMzk1MDUwOGFiNzZhYzE4YTI2ODU0ZmNlODYzMWVhOTY3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTQzLDYgKzQzLDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWdu
aWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBt
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUp
IG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWVEaWN0aW9u
YXJ5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29u
c3QgVmFsdWVEaWN0aW9uYXJ5JiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aERvbWFpbihjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nRG9tYWluKSBvdmVycmlkZTsKIAogICAgIFdl
YlBhZ2UmIG1fcGFnZTsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>