<?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>223207</bug_id>
          
          <creation_ts>2021-03-15 12:26:42 -0700</creation_ts>
          <short_desc>[iOS] WebPageProxy&apos;s EditorState may be stale until the next remote layer tree commit</short_desc>
          <delta_ts>2021-03-15 20:57:01 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739584</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-15 12:26:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/75410700&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739627</commentid>
    <comment_count>1</comment_count>
      <attachid>423228</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-15 13:19:09 -0700</bug_when>
    <thetext>Created attachment 423228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739633</commentid>
    <comment_count>2</comment_count>
      <attachid>423228</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-03-15 13:28:17 -0700</bug_when>
    <thetext>Comment on attachment 423228
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Refactor some codepaths for updating EditorState in the UI process

Is it possible for this to state the problem instead of the solution?

&gt; Source/WebKit/ChangeLog:20
&gt; +        3.  The pending `BackingStoreFlusher` created in step (1) dispatches on the background queue, and sends its
&gt; +            editor state over to the UI process.

Oh no</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739636</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-15 13:35:28 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; Comment on attachment 423228 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423228&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:3
&gt; &gt; +        Refactor some codepaths for updating EditorState in the UI process
&gt; 
&gt; Is it possible for this to state the problem instead of the solution?

Good point! Retitling the bug...

&gt; 
&gt; &gt; Source/WebKit/ChangeLog:20
&gt; &gt; +        3.  The pending `BackingStoreFlusher` created in step (1) dispatches on the background queue, and sends its
&gt; &gt; +            editor state over to the UI process.
&gt; 
&gt; Oh no

Quite 😬</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739667</commentid>
    <comment_count>4</comment_count>
      <attachid>423239</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-03-15 14:24:38 -0700</bug_when>
    <thetext>Created attachment 423239
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739783</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-15 18:25:47 -0700</bug_when>
    <thetext>Committed r274457: &lt;https://commits.webkit.org/r274457&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423239.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423228</attachid>
            <date>2021-03-15 13:19:09 -0700</date>
            <delta_ts>2021-03-15 14:24:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223207-20210315131908.patch</filename>
            <type>text/plain</type>
            <size>21245</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNlMmYwYTdmZTgxYWVhMzYz
NzlhMTNlM2M4ZTcxY2U3ZjM2OTcxZTkuLjM3MWVmNDkyYzgxZmQ0ZWI4MWViZjMxNDI4YWZkMzI1
OGE3NWJjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMjEtMDMtMTUgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3Igc29tZSBj
b2RlcGF0aHMgZm9yIHVwZGF0aW5nIEVkaXRvclN0YXRlIGluIHRoZSBVSSBwcm9jZXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMyMDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDEwNzAwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzIGEgcmFjZSBjb25kaXRpb24gd2hlcmVpbiBpdCdz
IHBvc3NpYmxlIGZvciB0aGUgY2FjaGVkIGBFZGl0b3JTdGF0ZWAgaW4gdGhlIFVJIHByb2Nlc3Mg
KG9uIGBXZWJQYWdlUHJveHlgKQorICAgICAgICB0byBiZSBzZXQgdG8gYSBzdGFsZSAob2xkZXIp
IHZhbHVlIGFmdGVyIGJlaW5nIHNldCB0byBhIG5ld2VyIHZhbHVlLiBUaGlzIGNhbiBoYXBwZW4g
aW4gdGhlIGNhc2Ugd2hlcmU6CisKKyAgICAgICAgMS4gIEFuIGVkaXRvciBzdGF0ZSB1cGRhdGUg
aXMgY29tcHV0ZWQgYW5kIHNldCBvbiBhIHJlbW90ZSBsYXllciB0cmVlIHRyYW5zYWN0aW9uIGlu
IHRoZSB3ZWIgcHJvY2VzcywgaW5zaWRlCisgICAgICAgICAgICBgV2ViUGFnZTo6d2lsbENvbW1p
dExheWVyVHJlZWAuIEEgcGVuZGluZyBgQmFja2luZ1N0b3JlRmx1c2hlcmAgaXMgY3JlYXRlZCwg
YW5kIHdlIGRpc3BhdGNoIGEgdGFzayBvbnRvIGEKKyAgICAgICAgICAgIGJhY2tncm91bmQgcXVl
dWUgdG8gZmx1c2ggdGhlIGxheWVyIHRyZWUgY29tbWl0LgorCisgICAgICAgIDIuICBJUEMgdGhh
dCB1cGRhdGVzIHRoZSBzZWxlY3Rpb24gYXJyaXZlcyBpbiB0aGUgd2ViIHByb2Nlc3MgKGUuZy4g
V2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQpLAorICAgICAgICAgICAg
YW5kIGNhdXNlcyB1cyB0byBzZW5kIGFuIGBFZGl0b3JTdGF0ZUNoYW5nZWRgIG1lc3NhZ2UgdG8g
dGhlIFVJIHByb2Nlc3Mgd2l0aCB0aGlzIG5ldyBzZWxlY3Rpb24uCisKKyAgICAgICAgMy4gIFRo
ZSBwZW5kaW5nIGBCYWNraW5nU3RvcmVGbHVzaGVyYCBjcmVhdGVkIGluIHN0ZXAgKDEpIGRpc3Bh
dGNoZXMgb24gdGhlIGJhY2tncm91bmQgcXVldWUsIGFuZCBzZW5kcyBpdHMKKyAgICAgICAgICAg
IGVkaXRvciBzdGF0ZSBvdmVyIHRvIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgIEFzIGEgcmVz
dWx0LCB0aGUgVUkgcHJvY2VzcyByZWNlaXZlcyB0aGUgYEVkaXRvclN0YXRlQ2hhbmdlZGAgbWVz
c2FnZSBpbiBzdGVwICgyKSBiZWZvcmUgaXQgcmVjZWl2ZXMgdGhlIHJlbW90ZQorICAgICAgICBs
YXllciB0cmVlIHRyYW5zYWN0aW9uIHNlbnQgaW4gc3RlcCAoMyksIHdoaWNoIGNvbnRhaW5zIHRo
ZSBlZGl0b3Igc3RhdGUgY29tcHV0ZWQgcHJpb3IgdG8gc3RlcCAoMik7IHdlIHRoZW4gc2V0Cisg
ICAgICAgIGBXZWJQYWdlUHJveHk6Om1fZWRpdG9yU3RhdGVgIGZyb20gaXRzIHZhbHVlIGNvbXB1
dGVkIGluIHN0ZXAgKDIpIHRvIHRoZSB2YWx1ZSBjb21wdXRlZCBpbiBzdGVwICgxKS4KKworICAg
ICAgICBUbyBmaXggdGhpcyAoYW5kIGFueSBzaW1pbGFyIGlzc3VlcyBpbnZvbHZpbmcgb3V0LW9m
LWJhbmQgZWRpdG9yIHN0YXRlIHVwZGF0ZXMpLCB3ZSBpbnRyb2R1Y2UgYSBtb25vdG9uaWNhbGx5
CisgICAgICAgIGluY3JlYXNpbmcgdHJhbnNhY3Rpb24gSUQgb24gZWRpdG9yIHN0YXRlIHRoYXQn
cyBzaW1pbGFyIHRvIHRoZSBvbmUgdXNlZCBmb3IgcmVtb3RlIGxheWVyIHRyZWUgY29tbWl0czsg
d2UgdGhlbgorICAgICAgICBhdm9pZCB1cGRhdGluZyB0aGUgZWRpdG9yIHN0YXRlIGluIGBXZWJQ
YWdlUHJveHlgIGlmIHdlIHJlY2VpdmUgYW4gYEVkaXRvclN0YXRlYCB3aG9zZSB0cmFuc2FjdGlv
biBJRCBpcyBsZXNzCisgICAgICAgIHRoYW4gb3VyIGN1cnJlbnQgSUQuCisKKyAgICAgICAgVGVz
dDogZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9pb3MvcmVzZWxlY3Qtd29yZC1pbi1pbWFn
ZS1vdmVybGF5Lmh0bWwKKworICAgICAgICAqIFNoYXJlZC9FZGl0b3JTdGF0ZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpFZGl0b3JTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvRWRpdG9yU3RhdGUuaDoK
KworICAgICAgICBBZGQgdGhlIFRyYW5zYWN0aW9uSUQsIGFuZCBhZGQgZW5jb2RpbmcvZGVjb2Rp
bmcgc3VwcG9ydCBmb3IgdGhlIG5ldyBtZW1iZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJl
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZSk6CisKKyAgICAgICAgUmVmYWN0b3IgdGhp
cyB0byByZXR1cm4gYSBgYm9vbGAsIGluZGljYXRpbmcgd2hldGhlciB0aGUgZWRpdG9yIHN0YXRl
IHdhcyBtb2RpZmllZCAodGhpcyBvbmx5IHJldHVybnMgYGZhbHNlYCBpbgorICAgICAgICB0aGUg
Y2FzZSB3aGVyZSB0aGUgaW5jb21pbmcgZWRpdG9yIHN0YXRlIHdhcyBvbGRlciB0aGFuIHRoZSBv
bmUgd2UgY3VycmVudGx5IGhhdmUpLiBXZSBhbHNvIG1ha2UgdGhpcyBtZXRob2QKKyAgICAgICAg
cGxhdGZvcm0tYWdub3N0aWMsIGFuZCBtb3ZlIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgbG9naWMg
cHJldmlvdXNseSBpbXBsZW1lbnRlZCBieSBpbmRpdmlkdWFsIGB1cGRhdGVFZGl0b3JTdGF0ZWAK
KyAgICAgICAgaW1wbGVtZW50YXRpb25zIGludG8gYFdlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRp
dG9yU3RhdGVgIGluc3RlYWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFVwZGF0ZUVkaXRvclN0YXRlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZSk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUpOgorCisgICAgICAgIEFkZCBhIG5ldyBw
bGF0Zm9ybSBtZXRob2QgaG9vayB0aGF0IGlzIGNhbGxlZCB3aGVuIGBtX2VkaXRvclN0YXRlYCBp
cyB1cGRhdGVkIGR1ZSB0byBhbiBpbmNvbWluZyBgRWRpdG9yU3RhdGVgCisgICAgICAgIGZyb20g
dGhlIHdlYiBwcm9jZXNzLiBUaGUgb2xkIGFuZCBuZXcgY2FjaGVkIGBFZGl0b3JTdGF0ZWAgdmFs
dWVzIGFyZSBwYXNzZWQgaW50byB0aGlzIG1ldGhvZDsgbm90ZSB0aGF0IGV2ZW4KKyAgICAgICAg
dGhvdWdoIG9ubHkgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5lY2Vzc2FyeSBhcyBhbiBhcmd1bWVu
dCAoc2luY2UgYG1fZWRpdG9yU3RhdGVgIGlzIGFscmVhZHkgZXF1YWwgdG8gdGhlIG5ldworICAg
ICAgICB2YWx1ZSBoZXJlKSwgSSBjaG9zZSB0byBwYXNzIGluIGJvdGggdG8gbWFrZSBpdCBjbGVh
ciB0aGF0IGJvdGggb2xkIGFuZCBuZXcgdmFsdWVzIGNhbiBiZSBjb25zdWx0ZWQgaGVyZS4KKwor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRVcGRhdGVFZGl0b3JTdGF0ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXBkYXRlRWRpdG9yU3RhdGUpOiBEZWxldGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQYWdlUHJveHlQbGF5U3RhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKTogRGVsZXRlZC4KKworICAgICAgICBSZW5hbWUg
dGhlc2UgbWV0aG9kIGltcGxlbWVudGF0aW9ucywgYW5kIGFkanVzdCB0aGVtIHRvIHVzZSBgb2xk
RWRpdG9yU3RhdGVgIGFuZCBgbmV3RWRpdG9yU3RhdGVgLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjplZGl0b3JT
dGF0ZSBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwog
MjAyMS0wMy0xNSAgRGFuaWVsIEtvbGVzYSAgPGRrb2xlc2FAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR0xJQl0gQmUgbW9yZSBzZWxlY3RpdmUgYWJvdXQgYnVibGV3cmFwcGluZyBsaWJkaXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAKaW5kZXggNWYyOWIzNTlhNWVlNjk0ZDY3MTVl
ZmI2MDcyMWNiNmQyMDIyZDBmZi4uOWQwNmRiNTRlZjhjOWJhOWUzZDk2OGE0NWQ5MmM1NTYzOGRi
NGQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcApAQCAtMzQsNiArMzQsNyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBFZGl0b3JTdGF0ZTo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVyIDw8IHRyYW5zYWN0aW9u
SUQ7CiAgICAgZW5jb2RlciA8PCBvcmlnaW5JZGVudGlmaWVyRm9yUGFzdGVib2FyZDsKICAgICBl
bmNvZGVyIDw8IHNob3VsZElnbm9yZVNlbGVjdGlvbkNoYW5nZXM7CiAgICAgZW5jb2RlciA8PCBz
ZWxlY3Rpb25Jc05vbmU7CkBAIC01MCw2ICs1MSw5IEBAIHZvaWQgRWRpdG9yU3RhdGU6OmVuY29k
ZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAKIGJvb2wgRWRpdG9yU3RhdGU6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEVkaXRvclN0YXRlJiByZXN1bHQpCiB7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQudHJhbnNhY3Rpb25JRCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm9yaWdpbklkZW50aWZpZXJG
b3JQYXN0ZWJvYXJkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRp
dG9yU3RhdGUuaAppbmRleCA2ZGZkZjA4YmFhN2IxYWU4NWUyM2I4MGZkZDIzZDE5MzllZmQ5YTAz
Li5lODI4ZTQxYTcyODJhYmFlYzhkZDg1ZGU3ODgxMjhjZmRjNTI0NTI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0VkaXRvclN0YXRlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5j
bHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlICJUcmFuc2FjdGlvbklELmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9Db2xvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRm9udEF0dHJpYnV0ZXMu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KQEAgLTY5LDYgKzcwLDcgQEAgZW51bSBM
aXN0VHlwZSB7CiB9OwogCiBzdHJ1Y3QgRWRpdG9yU3RhdGUgeworICAgIFRyYW5zYWN0aW9uSUQg
dHJhbnNhY3Rpb25JRDsKICAgICBTdHJpbmcgb3JpZ2luSWRlbnRpZmllckZvclBhc3RlYm9hcmQ7
CiAgICAgYm9vbCBzaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzIHsgZmFsc2UgfTsKICAgICBi
b29sIHNlbGVjdGlvbklzTm9uZSB7IHRydWUgfTsgLy8gVGhpcyB3aWxsIGJlIGZhbHNlIHdoZW4g
dGhlcmUgaXMgYSBjYXJldCBzZWxlY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IDY0OWEwODQ4MGNiYzlmN2QxMWRmM2I3YjYzNTQ2
ZWJmZmFlZDYwNjguLjk4MzVhNjQ1NzA0YTVmOTZjMjM0Y2I5MDMzNGZiODQ5ODUxOGMwYWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0y
MTIsOCArMjEyLDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21t
aXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICAgICBtX3RyYW5zYWN0aW9u
SURGb3JQZW5kaW5nQ0FDb21taXQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklE
KCk7CiAgICAgbV9hY3Rpdml0eVN0YXRlQ2hhbmdlSUQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi5h
Y3Rpdml0eVN0YXRlQ2hhbmdlSUQoKTsKIAotICAgIGlmIChsYXllclRyZWVUcmFuc2FjdGlvbi5o
YXNFZGl0b3JTdGF0ZSgpKQotICAgICAgICBtX3dlYlBhZ2VQcm94eS51cGRhdGVFZGl0b3JTdGF0
ZShsYXllclRyZWVUcmFuc2FjdGlvbi5lZGl0b3JTdGF0ZSgpKTsKKyAgICBib29sIGRpZFVwZGF0
ZUVkaXRvclN0YXRlID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24uaGFzRWRpdG9yU3RhdGUoKSAmJiBt
X3dlYlBhZ2VQcm94eS51cGRhdGVFZGl0b3JTdGF0ZShsYXllclRyZWVUcmFuc2FjdGlvbi5lZGl0
b3JTdGF0ZSgpKTsKIAogICAgIGlmIChtX3JlbW90ZUxheWVyVHJlZUhvc3QtPnVwZGF0ZUxheWVy
VHJlZShsYXllclRyZWVUcmFuc2FjdGlvbikpIHsKICAgICAgICAgaWYgKGxheWVyVHJlZVRyYW5z
YWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBtX3RyYW5zYWN0aW9uSURGb3JVbmhpZGluZ0NvbnRl
bnQpCkBAIC0yNjMsNyArMjYyLDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICAgICBkaWRS
ZWZyZXNoRGlzcGxheSgpOwogI2VuZGlmCiAKLSAgICBpZiAobGF5ZXJUcmVlVHJhbnNhY3Rpb24u
aGFzRWRpdG9yU3RhdGUoKSkKKyAgICBpZiAoZGlkVXBkYXRlRWRpdG9yU3RhdGUpCiAgICAgICAg
IG1fd2ViUGFnZVByb3h5LmRpc3BhdGNoRGlkVXBkYXRlRWRpdG9yU3RhdGUoKTsKIAogICAgIGlm
IChhdXRvIG1pbGVzdG9uZXMgPSBsYXllclRyZWVUcmFuc2FjdGlvbi5uZXdseVJlYWNoZWRQYWlu
dGluZ01pbGVzdG9uZXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDJkOGZjMzhhMzA1ZTU1NTE5Y2M1MTQwZmE5ZmEyMjI4MDRhMDYxNjAuLmRkMTNkYzBj
YmFjNDNkYmU1NjY5OTNkZWRkMmFiY2ZiMTQzOTMyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzE2Nyw4ICs3MTY3LDE4IEBAIHZvaWQgV2ViUGFnZVBy
b3h5OjpkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKQog
CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKGNvbnN0IEVkaXRvclN0YXRl
JiBlZGl0b3JTdGF0ZSkKIHsKLSAgICB1cGRhdGVFZGl0b3JTdGF0ZShlZGl0b3JTdGF0ZSk7Ci0g
ICAgZGlzcGF0Y2hEaWRVcGRhdGVFZGl0b3JTdGF0ZSgpOworICAgIGlmICh1cGRhdGVFZGl0b3JT
dGF0ZShlZGl0b3JTdGF0ZSkpCisgICAgICAgIGRpc3BhdGNoRGlkVXBkYXRlRWRpdG9yU3RhdGUo
KTsKK30KKworYm9vbCBXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKGNvbnN0IEVkaXRv
clN0YXRlJiBuZXdFZGl0b3JTdGF0ZSkKK3sKKyAgICBpZiAobmV3RWRpdG9yU3RhdGUudHJhbnNh
Y3Rpb25JRCA8IG1fZWRpdG9yU3RhdGUudHJhbnNhY3Rpb25JRCkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgYXV0byBvbGRFZGl0b3JTdGF0ZSA9IHN0ZDo6ZXhjaGFuZ2UobV9lZGl0b3JT
dGF0ZSwgbmV3RWRpdG9yU3RhdGUpOworICAgIGRpZFVwZGF0ZUVkaXRvclN0YXRlKG9sZEVkaXRv
clN0YXRlLCBuZXdFZGl0b3JTdGF0ZSk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKICNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggMDFjMGFhOWY4NGZjNDRhMTQxOGY3MjhmYjJlYjVkOTA3OWMzYzBmMy4uZWI2MDRhNTAyNjA1
MDdhMDEzNjQyNjE1ZTFlYjU4MWI1OWUwMTBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTE2MDAsNyArMTYwMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0
ZVNhbmRib3hFeHRlbnNpb25zSWZOZWVkZWQoY29uc3QgVmVjdG9yPFN0cmluZz4mIGZpbGVzLCBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIGZpbGVSZWFkSGFuZGxlLCBTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGVBcnJheSYgZmlsZVVwbG9hZEhhbmRsZXMpOwogI2VuZGlmCiAgICAgdm9pZCBlZGl0
b3JTdGF0ZUNoYW5nZWQoY29uc3QgRWRpdG9yU3RhdGUmKTsKLSAgICB2b2lkIHVwZGF0ZUVkaXRv
clN0YXRlKGNvbnN0IEVkaXRvclN0YXRlJik7CisgICAgYm9vbCB1cGRhdGVFZGl0b3JTdGF0ZShj
b25zdCBFZGl0b3JTdGF0ZSYgbmV3RWRpdG9yU3RhdGUpOwogICAgIHZvaWQgc2NoZWR1bGVGdWxs
RWRpdG9yU3RhdGVVcGRhdGUoKTsKICAgICB2b2lkIGRpc3BhdGNoRGlkVXBkYXRlRWRpdG9yU3Rh
dGUoKTsKIApAQCAtMjI1Miw3ICsyMjUyLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZUlu
cHV0Q29udGV4dEFmdGVyQmx1cnJpbmdBbmRSZWZvY3VzaW5nRWxlbWVudCgpOwogICAgIHZvaWQg
Zm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6SW5wdXRNb2RlKTsKICAg
ICB2b2lkIGRpZFJlbGVhc2VBbGxUb3VjaFBvaW50cygpOwotICAgIHZvaWQgZGlkVXBkYXRlRWRp
dG9yU3RhdGUoKTsKIAogICAgIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJD
b3JlOjpJbnNwZWN0b3JPdmVybGF5OjpIaWdobGlnaHQmKTsKICAgICB2b2lkIGhpZGVJbnNwZWN0
b3JIaWdobGlnaHQoKTsKQEAgLTI0MTcsNiArMjQxNiw4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0
aWMgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRkTWFjaEV4dGVuc2lvbkhhbmRsZSgpOwog
CisgICAgdm9pZCBkaWRVcGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYgb2xkRWRp
dG9yU3RhdGUsIGNvbnN0IEVkaXRvclN0YXRlJiBuZXdFZGl0b3JTdGF0ZSk7CisKICAgICBjb25z
dCBJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBt
X3dlYlBhZ2VJRDsKICAgICBXZWFrUHRyPFBhZ2VDbGllbnQ+IG1fcGFnZUNsaWVudDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKaW5kZXggZWI1
OGY4NjQ1YzA4NDJmMDQ3ODY3NzdkZjJkNTc1NzlkMWU3MjdmZS4uZWE5MTZhN2QxOGI1MmNmY2Zj
Mjc5Y2FhZDE5NWJhNjlhY2YxODEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Z3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKQEAgLTU4LDEzICs1OCwxMSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6YmluZEFjY2Vzc2liaWxpdHlUcmVlKGNvbnN0IFN0cmluZyYgcGx1Z0lEKQogI2VuZGlm
CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JT
dGF0ZSYgZWRpdG9yU3RhdGUpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3Rh
dGUoY29uc3QgRWRpdG9yU3RhdGUmLCBjb25zdCBFZGl0b3JTdGF0ZSYgbmV3RWRpdG9yU3RhdGUp
CiB7Ci0gICAgbV9lZGl0b3JTdGF0ZSA9IGVkaXRvclN0YXRlOwotICAgIAotICAgIGlmIChlZGl0
b3JTdGF0ZS5zaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKQorICAgIGlmIChuZXdFZGl0b3JT
dGF0ZS5zaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKQogICAgICAgICByZXR1cm47Ci0gICAg
aWYgKG1fZWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNSYW5nZSkKKyAgICBpZiAobmV3RWRpdG9yU3Rh
dGUuc2VsZWN0aW9uSXNSYW5nZSkKICAgICAgICAgV2ViUGFzdGVib2FyZFByb3h5OjpzaW5nbGV0
b24oKS5zZXRQcmltYXJ5U2VsZWN0aW9uT3duZXIoZm9jdXNlZEZyYW1lKCkpOwogICAgIHBhZ2VD
bGllbnQoKS5zZWxlY3Rpb25EaWRDaGFuZ2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IGJkYzU0YjlkZTc4Y2JmYjZiOGI4NTMz
ZjJmZDY2MDkyMDU2ZmUxNGEuLjVkZTE1YTNkYmJmMjQ3NjUxNzFmNmJkMGFlYTA3MzlkYzIxODU2
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQpAQCAtMTA1MiwxNyArMTA1MiwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Z2VuZXJhdGVTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZChXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYQogICAgIHNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OkdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoY29t
bWFuZCkpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlRWRpdG9yU3RhdGUoY29uc3Qg
RWRpdG9yU3RhdGUmIGVkaXRvclN0YXRlKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZFVwZGF0ZUVk
aXRvclN0YXRlKGNvbnN0IEVkaXRvclN0YXRlJiBvbGRFZGl0b3JTdGF0ZSwgY29uc3QgRWRpdG9y
U3RhdGUmIG5ld0VkaXRvclN0YXRlKQogewotICAgIGJvb2wgY291bGRDaGFuZ2VTZWN1cmVJbnB1
dFN0YXRlID0gbV9lZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCAhPSBlZGl0b3JTdGF0ZS5p
c0luUGFzc3dvcmRGaWVsZCB8fCBtX2VkaXRvclN0YXRlLnNlbGVjdGlvbklzTm9uZTsKLSAgICAK
LSAgICBtX2VkaXRvclN0YXRlID0gZWRpdG9yU3RhdGU7CisgICAgYm9vbCBjb3VsZENoYW5nZVNl
Y3VyZUlucHV0U3RhdGUgPSBuZXdFZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCAhPSBvbGRF
ZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCB8fCBvbGRFZGl0b3JTdGF0ZS5zZWxlY3Rpb25J
c05vbmU7CiAgICAgCiAgICAgLy8gU2VsZWN0aW9uIGJlaW5nIG5vbmUgaXMgYSB0ZW1wb3Jhcnkg
c3RhdGUgd2hlbiBlZGl0aW5nLiBGbGlwcGluZyBzZWN1cmUgaW5wdXQgc3RhdGUgdG9vIHF1aWNr
bHkgd2FzIGNhdXNpbmcgdHJvdWJsZSAobm90IGZ1bGx5IHVuZGVyc3Rvb2QpLgotICAgIGlmIChj
b3VsZENoYW5nZVNlY3VyZUlucHV0U3RhdGUgJiYgIWVkaXRvclN0YXRlLnNlbGVjdGlvbklzTm9u
ZSkKKyAgICBpZiAoY291bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlICYmICFuZXdFZGl0b3JTdGF0
ZS5zZWxlY3Rpb25Jc05vbmUpCiAgICAgICAgIHBhZ2VDbGllbnQoKS51cGRhdGVTZWN1cmVJbnB1
dFN0YXRlKCk7CiAgICAgCi0gICAgaWYgKGVkaXRvclN0YXRlLnNob3VsZElnbm9yZVNlbGVjdGlv
bkNoYW5nZXMpCisgICAgaWYgKG5ld0VkaXRvclN0YXRlLnNob3VsZElnbm9yZVNlbGVjdGlvbkNo
YW5nZXMpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICAvLyBXZSBhbHdheXMgbmVlZCB0byBu
b3RpZnkgdGhlIGNsaWVudCBvbiBpT1MgdG8gbWFrZSBzdXJlIHRoZSBzZWxlY3Rpb24gaXMgcmVk
cmF3biwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1t
CmluZGV4IGYxYjFmZmZjMjFhMjhjMWRkZDFiMjAxNTJhNzU0M2I4YjYzM2UxMTIuLjY0OTgyYjEy
YWIwOGM0MDBiNmUzYzAzMjUzYTVmODI3ZDVlNDQxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNTc0LDE3ICs1NzQsMTQgQEAgQ0dS
ZWN0IFdlYlBhZ2VQcm94eTo6Ym91bmRzT2ZMYXllckluTGF5ZXJCYWNrZWRXaW5kb3dDb29yZGlu
YXRlcyhDQUxheWVyICpsYXllcikKICAgICByZXR1cm4gcGFnZUNsaWVudCgpLmJvdW5kc09mTGF5
ZXJJbkxheWVyQmFja2VkV2luZG93Q29vcmRpbmF0ZXMobGF5ZXIpOwogfQogCi12b2lkIFdlYlBh
Z2VQcm94eTo6dXBkYXRlRWRpdG9yU3RhdGUoY29uc3QgRWRpdG9yU3RhdGUmIGVkaXRvclN0YXRl
KQordm9pZCBXZWJQYWdlUHJveHk6OmRpZFVwZGF0ZUVkaXRvclN0YXRlKGNvbnN0IEVkaXRvclN0
YXRlJiBvbGRFZGl0b3JTdGF0ZSwgY29uc3QgRWRpdG9yU3RhdGUmIG5ld0VkaXRvclN0YXRlKQog
ewotICAgIGJvb2wgY291bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlID0gbV9lZGl0b3JTdGF0ZS5p
c0luUGFzc3dvcmRGaWVsZCAhPSBlZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCB8fCBtX2Vk
aXRvclN0YXRlLnNlbGVjdGlvbklzTm9uZTsKLSAgICAKLSAgICBtX2VkaXRvclN0YXRlID0gZWRp
dG9yU3RhdGU7Ci0gICAgCisgICAgYm9vbCBjb3VsZENoYW5nZVNlY3VyZUlucHV0U3RhdGUgPSBu
ZXdFZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCAhPSBvbGRFZGl0b3JTdGF0ZS5pc0luUGFz
c3dvcmRGaWVsZCB8fCBvbGRFZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05vbmU7CiAgICAgLy8gU2Vs
ZWN0aW9uIGJlaW5nIG5vbmUgaXMgYSB0ZW1wb3Jhcnkgc3RhdGUgd2hlbiBlZGl0aW5nLiBGbGlw
cGluZyBzZWN1cmUgaW5wdXQgc3RhdGUgdG9vIHF1aWNrbHkgd2FzIGNhdXNpbmcgdHJvdWJsZSAo
bm90IGZ1bGx5IHVuZGVyc3Rvb2QpLgotICAgIGlmIChjb3VsZENoYW5nZVNlY3VyZUlucHV0U3Rh
dGUgJiYgIWVkaXRvclN0YXRlLnNlbGVjdGlvbklzTm9uZSkKKyAgICBpZiAoY291bGRDaGFuZ2VT
ZWN1cmVJbnB1dFN0YXRlICYmICFuZXdFZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05vbmUpCiAgICAg
ICAgIHBhZ2VDbGllbnQoKS51cGRhdGVTZWN1cmVJbnB1dFN0YXRlKCk7CiAgICAgCi0gICAgaWYg
KGVkaXRvclN0YXRlLnNob3VsZElnbm9yZVNlbGVjdGlvbkNoYW5nZXMpCisgICAgaWYgKG5ld0Vk
aXRvclN0YXRlLnNob3VsZElnbm9yZVNlbGVjdGlvbkNoYW5nZXMpCiAgICAgICAgIHJldHVybjsK
ICAgICAKICAgICBwYWdlQ2xpZW50KCkuc2VsZWN0aW9uRGlkQ2hhbmdlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQYWdlUHJveHlQbGF5U3Rh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQYWdlUHJv
eHlQbGF5U3RhdGlvbi5jcHAKaW5kZXggOGFlNjQzNDMxNDgyNzEyZDE0NDBkZTcwNWFhZGM3ODU2
Y2QzN2EwMS4uMzlmZWJmNzdkZjMyNzcwODJlYjkyNTk0MDcxYWZjMjI0YjNmYzAwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvcGxheXN0YXRpb24vV2ViUGFnZVByb3h5UGxh
eVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3BsYXlzdGF0aW9uL1dl
YlBhZ2VQcm94eVBsYXlTdGF0aW9uLmNwcApAQCAtNjQsOSArNjQsOCBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoVmVjdAogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiB9CiAKLXZvaWQgV2ViUGFn
ZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYgZWRpdG9yU3RhdGUp
Cit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUoY29uc3QgRWRpdG9yU3Rh
dGUmLCBjb25zdCBFZGl0b3JTdGF0ZSYpCiB7Ci0gICAgbV9lZGl0b3JTdGF0ZSA9IGVkaXRvclN0
YXRlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKaW5kZXggMzFlMzkyN2E0YmRkOGFjNGMyMDU2
ZTAwMzlhMTQwYzBiNWI5ZjQyYS4uZTc0ZTlhMGRkNTBhZDg1ZWU5NmJlNzM4NTZkM2Q3MGFmNWY5
YWZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94
eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdp
bi5jcHAKQEAgLTcwLDkgKzcwLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRSZWNlbnRTZWFy
Y2hlcyhjb25zdCBTdHJpbmcmIG5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQKICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKHNlYXJjaEl0ZW1zKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVBy
b3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYgZWRpdG9yU3RhdGUpCit2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUoY29uc3QgRWRpdG9yU3RhdGUm
LCBjb25zdCBFZGl0b3JTdGF0ZSYpCiB7Ci0gICAgbV9lZGl0b3JTdGF0ZSA9IGVkaXRvclN0YXRl
OwogfQogCiBQbGF0Zm9ybVZpZXdXaWRnZXQgV2ViUGFnZVByb3h5Ojp2aWV3V2lkZ2V0KCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQYWdlUHJveHlXUEUuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKaW5kZXgg
NzIyZTliYWVmYTEwYzQzYjdkMjkyMzNmNjFmZTU0MWMxOWI4Y2FlZS4uNzlkMDVhYTkxOTBhZWMw
MzZjNTI5NTUxZjgwN2Y2YTljZDg4ODYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKQEAgLTU0LDEwICs1NCw5IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpiaW5kQWNjZXNzaWJpbGl0eVRyZWUoY29uc3QgU3RyaW5nJiBwbHVnSUQpCiB9CiAj
ZW5kaWYKIAotdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKGNvbnN0IEVkaXRv
clN0YXRlJiBlZGl0b3JTdGF0ZSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRVcGRhdGVFZGl0b3JT
dGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYsIGNvbnN0IEVkaXRvclN0YXRlJiBuZXdFZGl0b3JTdGF0
ZSkKIHsKLSAgICBtX2VkaXRvclN0YXRlID0gZWRpdG9yU3RhdGU7Ci0gICAgaWYgKCFlZGl0b3JT
dGF0ZS5zaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKQorICAgIGlmICghbmV3RWRpdG9yU3Rh
dGUuc2hvdWxkSWdub3JlU2VsZWN0aW9uQ2hhbmdlcykKICAgICAgICAgcGFnZUNsaWVudCgpLnNl
bGVjdGlvbkRpZENoYW5nZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY5YTkxYTgyYzdkMTMyOWNhY2Q2ZDk0ZWExMmQ0MzAxY2Fj
ZTM0MjMuLjAyMzM0YzlmZjc3MTEzMmFlMDc5MWI1MDM2YjdiMWQwY2I3MjZmNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMTgzLDYgKzEx
ODMsNyBAQCBFZGl0b3JTdGF0ZSBXZWJQYWdlOjplZGl0b3JTdGF0ZShTaG91bGRQZXJmb3JtTGF5
b3V0IHNob3VsZFBlcmZvcm1MYXlvdXQpIGNvbnN0CiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlv
biYgc2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigpOwogICAgIGNvbnN0
IEVkaXRvciYgZWRpdG9yID0gZnJhbWUtPmVkaXRvcigpOwogCisgICAgcmVzdWx0LnRyYW5zYWN0
aW9uSUQgPSBtX2xhc3RFZGl0b3JTdGF0ZVRyYW5zYWN0aW9uSUQuaW5jcmVtZW50KCk7CiAgICAg
cmVzdWx0LnNlbGVjdGlvbklzTm9uZSA9IHNlbGVjdGlvbi5pc05vbmUoKTsKICAgICByZXN1bHQu
c2VsZWN0aW9uSXNSYW5nZSA9IHNlbGVjdGlvbi5pc1JhbmdlKCk7CiAgICAgcmVzdWx0LmlzQ29u
dGVudEVkaXRhYmxlID0gc2VsZWN0aW9uLmlzQ29udGVudEVkaXRhYmxlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggODRjNWM0OWQ3MmQ4MzI2M2Y4
ZmJkYTQ0ZGY4MzhmMWM1MjdlZThiMS4uM2IyNzYxYTUxMWI0ZTE4YzA2MDk0ZTM2NTFmYjQ1Mjk5
NjE0MTE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtMjE3Niw2ICsyMTc2LDcgQEAgcHJpdmF0ZToKIAogICAgIGVudW0gY2xhc3MgRWRpdG9yU3Rh
dGVJc0NvbnRlbnRFZGl0YWJsZSB7IE5vLCBZZXMsIFVuc2V0IH07CiAgICAgbXV0YWJsZSBFZGl0
b3JTdGF0ZUlzQ29udGVudEVkaXRhYmxlIG1fbGFzdEVkaXRvclN0YXRlV2FzQ29udGVudEVkaXRh
YmxlIHsgRWRpdG9yU3RhdGVJc0NvbnRlbnRFZGl0YWJsZTo6VW5zZXQgfTsKKyAgICBtdXRhYmxl
IFRyYW5zYWN0aW9uSUQgbV9sYXN0RWRpdG9yU3RhdGVUcmFuc2FjdGlvbklEOwogCiAjaWYgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAgICAgT3B0aW9uYWw8SW5wdXRNZXRob2RTdGF0
ZT4gbV9pbnB1dE1ldGhvZFN0YXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM1NjQyODZjYjI4YWViMWZjMzNjMjk4ZmFm
NmMwM2U5ZjQzZDY4YzguLmM4YjJkZGRmNWExNjU2NWZhMWU1ZWMyMDRiZTIxYmE0ZGNkOTJiNjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0xNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZhY3RvciBzb21lIGNvZGVwYXRocyBmb3Ig
dXBkYXRpbmcgRWRpdG9yU3RhdGUgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzIwNworICAgICAgICA8cmRhcjovL3By
b2JsZW0vNzU0MTA3MDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9yZXNlbGVjdC13b3Jk
LWluLWltYWdlLW92ZXJsYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2lt
YWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9yZXNlbGVjdC13b3JkLWluLWltYWdlLW92ZXJsYXku
aHRtbDogQWRkZWQuCisKIDIwMjEtMDMtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgSW1hZ2Ugb3ZlcmxheSBjcmVhdGlvbiBzaG91bGQgYmUgaWRl
bXBvdGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFj
dGlvbi9pb3MvcmVzZWxlY3Qtd29yZC1pbi1pbWFnZS1vdmVybGF5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL3Jlc2VsZWN0LXdvcmQt
aW4taW1hZ2Utb3ZlcmxheS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWRlMWE3MmIyMzczYmE2
Y2NhZTBlZGZlYzI1NjM5MzhjMTY5OThmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL3Jlc2VsZWN0LXdvcmQtaW4taW1hZ2Ut
b3ZlcmxheS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitQQVNTIHNlbGVjdGlvblJlY3Rz
Lmxlbmd0aCBpcyAxCitQQVNTIERpc21pc3NlZCBzZWxlY3Rpb24KK1BBU1Mgc2VsZWN0aW9uUmVj
dHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRy
YWN0aW9uL2lvcy9yZXNlbGVjdC13b3JkLWluLWltYWdlLW92ZXJsYXkuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vaW9zL3Jlc2VsZWN0LXdvcmQtaW4taW1h
Z2Utb3ZlcmxheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0NWNlNTU3ZDhkMGFkZGNmZDFmOTdhMDk0ZDcx
MzkzMGFmZDM0ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1leHRyYWN0aW9uL2lvcy9yZXNlbGVjdC13b3JkLWluLWltYWdlLW92ZXJsYXkuaHRtbApA
QCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgoraW1nIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxl
ZnQ6IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8aW1nIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2dyZWVuLTQwMHg0MDAucG5nIj48L2ltZz4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgbGV0
IGltYWdlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW1nIik7CisgICAgaW50ZXJuYWxzLmlu
c3RhbGxJbWFnZU92ZXJsYXkoaW1hZ2UsIFsKKyAgICAgICAgeworICAgICAgICAgICAgdGV4dCA6
ICJmb28iLAorICAgICAgICAgICAgdG9wTGVmdCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAsIDAp
LAorICAgICAgICAgICAgdG9wUmlnaHQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgxLCAwKSwKKyAg
ICAgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMSwgMC41KSwKKyAg
ICAgICAgICAgIGJvdHRvbUxlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLCAwLjUpLAorICAg
ICAgICB9CisgICAgXSk7CisgICAgYXdhaXQgVUlIZWxwZXIubG9uZ1ByZXNzQXRQb2ludCgyMDAs
IDEwMCk7CisgICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhlbHBlci53YWl0Rm9yU2VsZWN0
aW9uVG9BcHBlYXIoKTsKKyAgICBzaG91bGRCZSgic2VsZWN0aW9uUmVjdHMubGVuZ3RoIiwgIjEi
KTsKKworICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlQXQoMjAwLCAzMDApOworICAgIGF3YWl0
IFVJSGVscGVyLndhaXRGb3JTZWxlY3Rpb25Ub0Rpc2FwcGVhcigpOworICAgIHRlc3RQYXNzZWQo
IkRpc21pc3NlZCBzZWxlY3Rpb24iKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmxvbmdQcmVzc0F0
UG9pbnQoMjAwLCAxMDApOworICAgIHNlbGVjdGlvblJlY3RzID0gYXdhaXQgVUlIZWxwZXIud2Fp
dEZvclNlbGVjdGlvblRvQXBwZWFyKCk7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzLmxl
bmd0aCIsICIxIik7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423239</attachid>
            <date>2021-03-15 14:24:38 -0700</date>
            <delta_ts>2021-03-15 20:57:01 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-223207-20210315142437.patch</filename>
            <type>text/plain</type>
            <size>21275</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNlMmYwYTdmZTgxYWVhMzYz
NzlhMTNlM2M4ZTcxY2U3ZjM2OTcxZTkuLjJjNmUyNTE3NDQ4ODMxOWNmYWViNzIyYzFkOWVhZWYx
OWI2MjVlMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMjEtMDMtMTUgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gV2ViUGFnZVBy
b3h5J3MgRWRpdG9yU3RhdGUgbWF5IGJlIHN0YWxlIHVudGlsIHRoZSBuZXh0IHJlbW90ZSBsYXll
ciB0cmVlIGNvbW1pdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzMjA3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTQxMDcwMD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEZpeGVzIGEgcmFjZSBjb25kaXRp
b24gd2hlcmVpbiBpdCdzIHBvc3NpYmxlIGZvciB0aGUgY2FjaGVkIGBFZGl0b3JTdGF0ZWAgaW4g
dGhlIFVJIHByb2Nlc3MgKG9uIGBXZWJQYWdlUHJveHlgKQorICAgICAgICB0byBiZSBzZXQgdG8g
YSBzdGFsZSAob2xkZXIpIHZhbHVlIGFmdGVyIGJlaW5nIHNldCB0byBhIG5ld2VyIHZhbHVlLiBU
aGlzIGNhbiBoYXBwZW4gaW4gdGhlIGNhc2Ugd2hlcmU6CisKKyAgICAgICAgMS4gIEFuIGVkaXRv
ciBzdGF0ZSB1cGRhdGUgaXMgY29tcHV0ZWQgYW5kIHNldCBvbiBhIHJlbW90ZSBsYXllciB0cmVl
IHRyYW5zYWN0aW9uIGluIHRoZSB3ZWIgcHJvY2VzcywgaW5zaWRlCisgICAgICAgICAgICBgV2Vi
UGFnZTo6d2lsbENvbW1pdExheWVyVHJlZWAuIEEgcGVuZGluZyBgQmFja2luZ1N0b3JlRmx1c2hl
cmAgaXMgY3JlYXRlZCwgYW5kIHdlIGRpc3BhdGNoIGEgdGFzayBvbnRvIGEKKyAgICAgICAgICAg
IGJhY2tncm91bmQgcXVldWUgdG8gZmx1c2ggdGhlIGxheWVyIHRyZWUgY29tbWl0LgorCisgICAg
ICAgIDIuICBJUEMgdGhhdCB1cGRhdGVzIHRoZSBzZWxlY3Rpb24gYXJyaXZlcyBpbiB0aGUgd2Vi
IHByb2Nlc3MgKGUuZy4gV2ViUGFnZTo6c2VsZWN0VGV4dFdpdGhHcmFudWxhcml0eUF0UG9pbnQp
LAorICAgICAgICAgICAgYW5kIGNhdXNlcyB1cyB0byBzZW5kIGFuIGBFZGl0b3JTdGF0ZUNoYW5n
ZWRgIG1lc3NhZ2UgdG8gdGhlIFVJIHByb2Nlc3Mgd2l0aCB0aGlzIG5ldyBzZWxlY3Rpb24uCisK
KyAgICAgICAgMy4gIFRoZSBwZW5kaW5nIGBCYWNraW5nU3RvcmVGbHVzaGVyYCBjcmVhdGVkIGlu
IHN0ZXAgKDEpIGRpc3BhdGNoZXMgb24gdGhlIGJhY2tncm91bmQgcXVldWUsIGFuZCBzZW5kcyBp
dHMKKyAgICAgICAgICAgIGVkaXRvciBzdGF0ZSBvdmVyIHRvIHRoZSBVSSBwcm9jZXNzLgorCisg
ICAgICAgIEFzIGEgcmVzdWx0LCB0aGUgVUkgcHJvY2VzcyByZWNlaXZlcyB0aGUgYEVkaXRvclN0
YXRlQ2hhbmdlZGAgbWVzc2FnZSBpbiBzdGVwICgyKSBiZWZvcmUgaXQgcmVjZWl2ZXMgdGhlIHJl
bW90ZQorICAgICAgICBsYXllciB0cmVlIHRyYW5zYWN0aW9uIHNlbnQgaW4gc3RlcCAoMyksIHdo
aWNoIGNvbnRhaW5zIHRoZSBlZGl0b3Igc3RhdGUgY29tcHV0ZWQgcHJpb3IgdG8gc3RlcCAoMik7
IHdlIHRoZW4gc2V0CisgICAgICAgIGBXZWJQYWdlUHJveHk6Om1fZWRpdG9yU3RhdGVgIGZyb20g
aXRzIHZhbHVlIGNvbXB1dGVkIGluIHN0ZXAgKDIpIHRvIHRoZSB2YWx1ZSBjb21wdXRlZCBpbiBz
dGVwICgxKS4KKworICAgICAgICBUbyBmaXggdGhpcyAoYW5kIGFueSBzaW1pbGFyIGlzc3VlcyBp
bnZvbHZpbmcgb3V0LW9mLWJhbmQgZWRpdG9yIHN0YXRlIHVwZGF0ZXMpLCB3ZSBpbnRyb2R1Y2Ug
YSBtb25vdG9uaWNhbGx5CisgICAgICAgIGluY3JlYXNpbmcgdHJhbnNhY3Rpb24gSUQgb24gZWRp
dG9yIHN0YXRlIHRoYXQncyBzaW1pbGFyIHRvIHRoZSBvbmUgdXNlZCBmb3IgcmVtb3RlIGxheWVy
IHRyZWUgY29tbWl0czsgd2UgdGhlbgorICAgICAgICBhdm9pZCB1cGRhdGluZyB0aGUgZWRpdG9y
IHN0YXRlIGluIGBXZWJQYWdlUHJveHlgIGlmIHdlIHJlY2VpdmUgYW4gYEVkaXRvclN0YXRlYCB3
aG9zZSB0cmFuc2FjdGlvbiBJRCBpcyBsZXNzCisgICAgICAgIHRoYW4gb3VyIGN1cnJlbnQgSUQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9pb3MvcmVzZWxl
Y3Qtd29yZC1pbi1pbWFnZS1vdmVybGF5Lmh0bWwKKworICAgICAgICAqIFNoYXJlZC9FZGl0b3JT
dGF0ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjplbmNvZGUgY29uc3QpOgor
ICAgICAgICAoV2ViS2l0OjpFZGl0b3JTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQv
RWRpdG9yU3RhdGUuaDoKKworICAgICAgICBBZGQgdGhlIFRyYW5zYWN0aW9uSUQsIGFuZCBhZGQg
ZW5jb2RpbmcvZGVjb2Rpbmcgc3VwcG9ydCBmb3IgdGhlIG5ldyBtZW1iZXIuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6
OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZSk6CisKKyAgICAg
ICAgUmVmYWN0b3IgdGhpcyB0byByZXR1cm4gYSBgYm9vbGAsIGluZGljYXRpbmcgd2hldGhlciB0
aGUgZWRpdG9yIHN0YXRlIHdhcyBtb2RpZmllZCAodGhpcyBvbmx5IHJldHVybnMgYGZhbHNlYCBp
bgorICAgICAgICB0aGUgY2FzZSB3aGVyZSB0aGUgaW5jb21pbmcgZWRpdG9yIHN0YXRlIHdhcyBv
bGRlciB0aGFuIHRoZSBvbmUgd2UgY3VycmVudGx5IGhhdmUpLiBXZSBhbHNvIG1ha2UgdGhpcyBt
ZXRob2QKKyAgICAgICAgcGxhdGZvcm0tYWdub3N0aWMsIGFuZCBtb3ZlIHRoZSBwbGF0Zm9ybS1k
ZXBlbmRlbnQgbG9naWMgcHJldmlvdXNseSBpbXBsZW1lbnRlZCBieSBpbmRpdmlkdWFsIGB1cGRh
dGVFZGl0b3JTdGF0ZWAKKyAgICAgICAgaW1wbGVtZW50YXRpb25zIGludG8gYFdlYlBhZ2VQcm94
eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGVgIGluc3RlYWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQYWdlUHJveHlHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFVwZGF0ZUVkaXRvclN0YXRl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZSk6IERl
bGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUpOgorCisgICAg
ICAgIEFkZCBhIG5ldyBwbGF0Zm9ybSBtZXRob2QgaG9vayB0aGF0IGlzIGNhbGxlZCB3aGVuIGBt
X2VkaXRvclN0YXRlYCBpcyB1cGRhdGVkIGR1ZSB0byBhbiBpbmNvbWluZyBgRWRpdG9yU3RhdGVg
CisgICAgICAgIGZyb20gdGhlIHdlYiBwcm9jZXNzLiBUaGUgb2xkIGFuZCBuZXcgY2FjaGVkIGBF
ZGl0b3JTdGF0ZWAgdmFsdWVzIGFyZSBwYXNzZWQgaW50byB0aGlzIG1ldGhvZDsgbm90ZSB0aGF0
IGV2ZW4KKyAgICAgICAgdGhvdWdoIG9ubHkgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5lY2Vzc2Fy
eSBhcyBhbiBhcmd1bWVudCAoc2luY2UgYG1fZWRpdG9yU3RhdGVgIGlzIGFscmVhZHkgZXF1YWwg
dG8gdGhlIG5ldworICAgICAgICB2YWx1ZSBoZXJlKSwgSSBjaG9zZSB0byBwYXNzIGluIGJvdGgg
dG8gbWFrZSBpdCBjbGVhciB0aGF0IGJvdGggb2xkIGFuZCBuZXcgdmFsdWVzIGNhbiBiZSBjb25z
dWx0ZWQgaGVyZS4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRv
clN0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRVcGRhdGVFZGl0b3JTdGF0
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dXBkYXRlRWRpdG9yU3RhdGUpOiBE
ZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQYWdlUHJveHlQbGF5
U3RhdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRp
dG9yU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0
YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0YXRlKTogRGVsZXRlZC4KKwor
ICAgICAgICBSZW5hbWUgdGhlc2UgbWV0aG9kIGltcGxlbWVudGF0aW9ucywgYW5kIGFkanVzdCB0
aGVtIHRvIHVzZSBgb2xkRWRpdG9yU3RhdGVgIGFuZCBgbmV3RWRpdG9yU3RhdGVgLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjplZGl0b3JTdGF0ZSBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKwogMjAyMS0wMy0xNSAgRGFuaWVsIEtvbGVzYSAgPGRrb2xlc2FAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR0xJQl0gQmUgbW9yZSBzZWxlY3RpdmUgYWJvdXQgYnVibGV3cmFw
cGluZyBsaWJkaXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAKaW5kZXggNWYyOWIz
NTlhNWVlNjk0ZDY3MTVlZmI2MDcyMWNiNmQyMDIyZDBmZi4uOWQwNmRiNTRlZjhjOWJhOWUzZDk2
OGE0NWQ5MmM1NTYzOGRiNGQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRWRp
dG9yU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcApA
QCAtMzQsNiArMzQsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBFZGl0b3JT
dGF0ZTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKKyAgICBlbmNvZGVy
IDw8IHRyYW5zYWN0aW9uSUQ7CiAgICAgZW5jb2RlciA8PCBvcmlnaW5JZGVudGlmaWVyRm9yUGFz
dGVib2FyZDsKICAgICBlbmNvZGVyIDw8IHNob3VsZElnbm9yZVNlbGVjdGlvbkNoYW5nZXM7CiAg
ICAgZW5jb2RlciA8PCBzZWxlY3Rpb25Jc05vbmU7CkBAIC01MCw2ICs1MSw5IEBAIHZvaWQgRWRp
dG9yU3RhdGU6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAKIGJvb2wgRWRp
dG9yU3RhdGU6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEVkaXRvclN0YXRlJiByZXN1
bHQpCiB7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudHJhbnNhY3Rpb25JRCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm9y
aWdpbklkZW50aWZpZXJGb3JQYXN0ZWJvYXJkKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuaAppbmRleCA2ZGZkZjA4YmFhN2IxYWU4NWUyM2I4MGZk
ZDIzZDE5MzllZmQ5YTAzLi5lODI4ZTQxYTcyODJhYmFlYzhkZDg1ZGU3ODgxMjhjZmRjNTI0NTI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFn
bWEgb25jZQogCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRlICJUcmFuc2Fj
dGlvbklELmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
Rm9udEF0dHJpYnV0ZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KQEAgLTY5LDYg
KzcwLDcgQEAgZW51bSBMaXN0VHlwZSB7CiB9OwogCiBzdHJ1Y3QgRWRpdG9yU3RhdGUgeworICAg
IFRyYW5zYWN0aW9uSUQgdHJhbnNhY3Rpb25JRDsKICAgICBTdHJpbmcgb3JpZ2luSWRlbnRpZmll
ckZvclBhc3RlYm9hcmQ7CiAgICAgYm9vbCBzaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzIHsg
ZmFsc2UgfTsKICAgICBib29sIHNlbGVjdGlvbklzTm9uZSB7IHRydWUgfTsgLy8gVGhpcyB3aWxs
IGJlIGZhbHNlIHdoZW4gdGhlcmUgaXMgYSBjYXJldCBzZWxlY3Rpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4IDY0OWEwODQ4MGNiYzlm
N2QxMWRmM2I3YjYzNTQ2ZWJmZmFlZDYwNjguLjk4MzVhNjQ1NzA0YTVmOTZjMjM0Y2I5MDMzNGZi
ODQ5ODUxOGMwYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5Lm1tCkBAIC0yMTIsOCArMjEyLDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICAg
ICBtX3RyYW5zYWN0aW9uSURGb3JQZW5kaW5nQ0FDb21taXQgPSBsYXllclRyZWVUcmFuc2FjdGlv
bi50cmFuc2FjdGlvbklEKCk7CiAgICAgbV9hY3Rpdml0eVN0YXRlQ2hhbmdlSUQgPSBsYXllclRy
ZWVUcmFuc2FjdGlvbi5hY3Rpdml0eVN0YXRlQ2hhbmdlSUQoKTsKIAotICAgIGlmIChsYXllclRy
ZWVUcmFuc2FjdGlvbi5oYXNFZGl0b3JTdGF0ZSgpKQotICAgICAgICBtX3dlYlBhZ2VQcm94eS51
cGRhdGVFZGl0b3JTdGF0ZShsYXllclRyZWVUcmFuc2FjdGlvbi5lZGl0b3JTdGF0ZSgpKTsKKyAg
ICBib29sIGRpZFVwZGF0ZUVkaXRvclN0YXRlID0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24uaGFzRWRp
dG9yU3RhdGUoKSAmJiBtX3dlYlBhZ2VQcm94eS51cGRhdGVFZGl0b3JTdGF0ZShsYXllclRyZWVU
cmFuc2FjdGlvbi5lZGl0b3JTdGF0ZSgpKTsKIAogICAgIGlmIChtX3JlbW90ZUxheWVyVHJlZUhv
c3QtPnVwZGF0ZUxheWVyVHJlZShsYXllclRyZWVUcmFuc2FjdGlvbikpIHsKICAgICAgICAgaWYg
KGxheWVyVHJlZVRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSUQoKSA+PSBtX3RyYW5zYWN0aW9uSURG
b3JVbmhpZGluZ0NvbnRlbnQpCkBAIC0yNjMsNyArMjYyLDcgQEAgdm9pZCBSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVl
VHJhbnMKICAgICBkaWRSZWZyZXNoRGlzcGxheSgpOwogI2VuZGlmCiAKLSAgICBpZiAobGF5ZXJU
cmVlVHJhbnNhY3Rpb24uaGFzRWRpdG9yU3RhdGUoKSkKKyAgICBpZiAoZGlkVXBkYXRlRWRpdG9y
U3RhdGUpCiAgICAgICAgIG1fd2ViUGFnZVByb3h5LmRpc3BhdGNoRGlkVXBkYXRlRWRpdG9yU3Rh
dGUoKTsKIAogICAgIGlmIChhdXRvIG1pbGVzdG9uZXMgPSBsYXllclRyZWVUcmFuc2FjdGlvbi5u
ZXdseVJlYWNoZWRQYWludGluZ01pbGVzdG9uZXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCmluZGV4IDJkOGZjMzhhMzA1ZTU1NTE5Y2M1MTQwZmE5ZmEyMjI4MDRh
MDYxNjAuLmRkMTNkYzBjYmFjNDNkYmU1NjY5OTNkZWRkMmFiY2ZiMTQzOTMyMzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzE2Nyw4ICs3MTY3LDE4IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQodWludDMyX3Qgb3BhcXVlVHlwZSwg
Ym9vbCBoYW5kbGVkKQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKGNv
bnN0IEVkaXRvclN0YXRlJiBlZGl0b3JTdGF0ZSkKIHsKLSAgICB1cGRhdGVFZGl0b3JTdGF0ZShl
ZGl0b3JTdGF0ZSk7Ci0gICAgZGlzcGF0Y2hEaWRVcGRhdGVFZGl0b3JTdGF0ZSgpOworICAgIGlm
ICh1cGRhdGVFZGl0b3JTdGF0ZShlZGl0b3JTdGF0ZSkpCisgICAgICAgIGRpc3BhdGNoRGlkVXBk
YXRlRWRpdG9yU3RhdGUoKTsKK30KKworYm9vbCBXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0
YXRlKGNvbnN0IEVkaXRvclN0YXRlJiBuZXdFZGl0b3JTdGF0ZSkKK3sKKyAgICBpZiAobmV3RWRp
dG9yU3RhdGUudHJhbnNhY3Rpb25JRCA8IG1fZWRpdG9yU3RhdGUudHJhbnNhY3Rpb25JRCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBvbGRFZGl0b3JTdGF0ZSA9IHN0ZDo6ZXhj
aGFuZ2UobV9lZGl0b3JTdGF0ZSwgbmV3RWRpdG9yU3RhdGUpOworICAgIGRpZFVwZGF0ZUVkaXRv
clN0YXRlKG9sZEVkaXRvclN0YXRlLCBuZXdFZGl0b3JTdGF0ZSk7CisgICAgcmV0dXJuIHRydWU7
CiB9CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggMDFjMGFhOWY4NGZjNDRhMTQxOGY3MjhmYjJlYjVkOTA3OWMzYzBm
My4uZWI2MDRhNTAyNjA1MDdhMDEzNjQyNjE1ZTFlYjU4MWI1OWUwMTBkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE2MDAsNyArMTYwMCw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNyZWF0ZVNhbmRib3hFeHRlbnNpb25zSWZOZWVkZWQoY29uc3QgVmVjdG9yPFN0
cmluZz4mIGZpbGVzLCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIGZpbGVSZWFkSGFuZGxlLCBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYgZmlsZVVwbG9hZEhhbmRsZXMpOwogI2VuZGlm
CiAgICAgdm9pZCBlZGl0b3JTdGF0ZUNoYW5nZWQoY29uc3QgRWRpdG9yU3RhdGUmKTsKLSAgICB2
b2lkIHVwZGF0ZUVkaXRvclN0YXRlKGNvbnN0IEVkaXRvclN0YXRlJik7CisgICAgYm9vbCB1cGRh
dGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYgbmV3RWRpdG9yU3RhdGUpOwogICAgIHZv
aWQgc2NoZWR1bGVGdWxsRWRpdG9yU3RhdGVVcGRhdGUoKTsKICAgICB2b2lkIGRpc3BhdGNoRGlk
VXBkYXRlRWRpdG9yU3RhdGUoKTsKIApAQCAtMjI1Miw3ICsyMjUyLDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHVwZGF0ZUlucHV0Q29udGV4dEFmdGVyQmx1cnJpbmdBbmRSZWZvY3VzaW5nRWxlbWVu
dCgpOwogICAgIHZvaWQgZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6
SW5wdXRNb2RlKTsKICAgICB2b2lkIGRpZFJlbGVhc2VBbGxUb3VjaFBvaW50cygpOwotICAgIHZv
aWQgZGlkVXBkYXRlRWRpdG9yU3RhdGUoKTsKIAogICAgIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hs
aWdodChjb25zdCBXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5OjpIaWdobGlnaHQmKTsKICAgICB2
b2lkIGhpZGVJbnNwZWN0b3JIaWdobGlnaHQoKTsKQEAgLTI0MTcsNiArMjQxNiw4IEBAIHByaXZh
dGU6CiAKICAgICBzdGF0aWMgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGZvbnRkTWFjaEV4dGVu
c2lvbkhhbmRsZSgpOwogCisgICAgdm9pZCBkaWRVcGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0
b3JTdGF0ZSYgb2xkRWRpdG9yU3RhdGUsIGNvbnN0IEVkaXRvclN0YXRlJiBuZXdFZGl0b3JTdGF0
ZSk7CisKICAgICBjb25zdCBJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKICAgICBXZWJDb3JlOjpQ
YWdlSWRlbnRpZmllciBtX3dlYlBhZ2VJRDsKICAgICBXZWFrUHRyPFBhZ2VDbGllbnQ+IG1fcGFn
ZUNsaWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQYWdl
UHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0
ay5jcHAKaW5kZXggZWI1OGY4NjQ1YzA4NDJmMDQ3ODY3NzdkZjJkNTc1NzlkMWU3MjdmZS4uZWE5
MTZhN2QxOGI1MmNmY2ZjMjc5Y2FhZDE5NWJhNjlhY2YxODEyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvZ3RrL1dlYlBhZ2VQcm94eUd0ay5jcHAKQEAgLTU4LDEzICs1OCwxMSBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6YmluZEFjY2Vzc2liaWxpdHlUcmVlKGNvbnN0IFN0cmluZyYg
cGx1Z0lEKQogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0
ZShjb25zdCBFZGl0b3JTdGF0ZSYgZWRpdG9yU3RhdGUpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
VXBkYXRlRWRpdG9yU3RhdGUoY29uc3QgRWRpdG9yU3RhdGUmLCBjb25zdCBFZGl0b3JTdGF0ZSYg
bmV3RWRpdG9yU3RhdGUpCiB7Ci0gICAgbV9lZGl0b3JTdGF0ZSA9IGVkaXRvclN0YXRlOwotICAg
IAotICAgIGlmIChlZGl0b3JTdGF0ZS5zaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKQorICAg
IGlmIChuZXdFZGl0b3JTdGF0ZS5zaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKQogICAgICAg
ICByZXR1cm47Ci0gICAgaWYgKG1fZWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNSYW5nZSkKKyAgICBp
ZiAobmV3RWRpdG9yU3RhdGUuc2VsZWN0aW9uSXNSYW5nZSkKICAgICAgICAgV2ViUGFzdGVib2Fy
ZFByb3h5OjpzaW5nbGV0b24oKS5zZXRQcmltYXJ5U2VsZWN0aW9uT3duZXIoZm9jdXNlZEZyYW1l
KCkpOwogICAgIHBhZ2VDbGllbnQoKS5zZWxlY3Rpb25EaWRDaGFuZ2UoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IGJkYzU0Yjlk
ZTc4Y2JmYjZiOGI4NTMzZjJmZDY2MDkyMDU2ZmUxNGEuLjVkZTE1YTNkYmJmMjQ3NjUxNzFmNmJk
MGFlYTA3MzlkYzIxODU2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbQpAQCAtMTA1MiwxNyArMTA1MiwxNSBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6Z2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChXZWJLaXQ6OlN5bnRoZXRpY0VkaXRp
bmdDb21tYQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkdlbmVyYXRlU3ludGhldGljRWRp
dGluZ0NvbW1hbmQoY29tbWFuZCkpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlRWRp
dG9yU3RhdGUoY29uc3QgRWRpdG9yU3RhdGUmIGVkaXRvclN0YXRlKQordm9pZCBXZWJQYWdlUHJv
eHk6OmRpZFVwZGF0ZUVkaXRvclN0YXRlKGNvbnN0IEVkaXRvclN0YXRlJiBvbGRFZGl0b3JTdGF0
ZSwgY29uc3QgRWRpdG9yU3RhdGUmIG5ld0VkaXRvclN0YXRlKQogewotICAgIGJvb2wgY291bGRD
aGFuZ2VTZWN1cmVJbnB1dFN0YXRlID0gbV9lZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCAh
PSBlZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCB8fCBtX2VkaXRvclN0YXRlLnNlbGVjdGlv
bklzTm9uZTsKLSAgICAKLSAgICBtX2VkaXRvclN0YXRlID0gZWRpdG9yU3RhdGU7CisgICAgYm9v
bCBjb3VsZENoYW5nZVNlY3VyZUlucHV0U3RhdGUgPSBuZXdFZGl0b3JTdGF0ZS5pc0luUGFzc3dv
cmRGaWVsZCAhPSBvbGRFZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCB8fCBvbGRFZGl0b3JT
dGF0ZS5zZWxlY3Rpb25Jc05vbmU7CiAgICAgCiAgICAgLy8gU2VsZWN0aW9uIGJlaW5nIG5vbmUg
aXMgYSB0ZW1wb3Jhcnkgc3RhdGUgd2hlbiBlZGl0aW5nLiBGbGlwcGluZyBzZWN1cmUgaW5wdXQg
c3RhdGUgdG9vIHF1aWNrbHkgd2FzIGNhdXNpbmcgdHJvdWJsZSAobm90IGZ1bGx5IHVuZGVyc3Rv
b2QpLgotICAgIGlmIChjb3VsZENoYW5nZVNlY3VyZUlucHV0U3RhdGUgJiYgIWVkaXRvclN0YXRl
LnNlbGVjdGlvbklzTm9uZSkKKyAgICBpZiAoY291bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlICYm
ICFuZXdFZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05vbmUpCiAgICAgICAgIHBhZ2VDbGllbnQoKS51
cGRhdGVTZWN1cmVJbnB1dFN0YXRlKCk7CiAgICAgCi0gICAgaWYgKGVkaXRvclN0YXRlLnNob3Vs
ZElnbm9yZVNlbGVjdGlvbkNoYW5nZXMpCisgICAgaWYgKG5ld0VkaXRvclN0YXRlLnNob3VsZEln
bm9yZVNlbGVjdGlvbkNoYW5nZXMpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICAvLyBXZSBh
bHdheXMgbmVlZCB0byBub3RpZnkgdGhlIGNsaWVudCBvbiBpT1MgdG8gbWFrZSBzdXJlIHRoZSBz
ZWxlY3Rpb24gaXMgcmVkcmF3biwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2Vi
UGFnZVByb3h5TWFjLm1tCmluZGV4IGYxYjFmZmZjMjFhMjhjMWRkZDFiMjAxNTJhNzU0M2I4YjYz
M2UxMTIuLjY0OTgyYjEyYWIwOGM0MDBiNmUzYzAzMjUzYTVmODI3ZDVlNDQxZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNTc0LDE3
ICs1NzQsMTQgQEAgQ0dSZWN0IFdlYlBhZ2VQcm94eTo6Ym91bmRzT2ZMYXllckluTGF5ZXJCYWNr
ZWRXaW5kb3dDb29yZGluYXRlcyhDQUxheWVyICpsYXllcikKICAgICByZXR1cm4gcGFnZUNsaWVu
dCgpLmJvdW5kc09mTGF5ZXJJbkxheWVyQmFja2VkV2luZG93Q29vcmRpbmF0ZXMobGF5ZXIpOwog
fQogCi12b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlRWRpdG9yU3RhdGUoY29uc3QgRWRpdG9yU3Rh
dGUmIGVkaXRvclN0YXRlKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZFVwZGF0ZUVkaXRvclN0YXRl
KGNvbnN0IEVkaXRvclN0YXRlJiBvbGRFZGl0b3JTdGF0ZSwgY29uc3QgRWRpdG9yU3RhdGUmIG5l
d0VkaXRvclN0YXRlKQogewotICAgIGJvb2wgY291bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlID0g
bV9lZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCAhPSBlZGl0b3JTdGF0ZS5pc0luUGFzc3dv
cmRGaWVsZCB8fCBtX2VkaXRvclN0YXRlLnNlbGVjdGlvbklzTm9uZTsKLSAgICAKLSAgICBtX2Vk
aXRvclN0YXRlID0gZWRpdG9yU3RhdGU7Ci0gICAgCisgICAgYm9vbCBjb3VsZENoYW5nZVNlY3Vy
ZUlucHV0U3RhdGUgPSBuZXdFZGl0b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCAhPSBvbGRFZGl0
b3JTdGF0ZS5pc0luUGFzc3dvcmRGaWVsZCB8fCBvbGRFZGl0b3JTdGF0ZS5zZWxlY3Rpb25Jc05v
bmU7CiAgICAgLy8gU2VsZWN0aW9uIGJlaW5nIG5vbmUgaXMgYSB0ZW1wb3Jhcnkgc3RhdGUgd2hl
biBlZGl0aW5nLiBGbGlwcGluZyBzZWN1cmUgaW5wdXQgc3RhdGUgdG9vIHF1aWNrbHkgd2FzIGNh
dXNpbmcgdHJvdWJsZSAobm90IGZ1bGx5IHVuZGVyc3Rvb2QpLgotICAgIGlmIChjb3VsZENoYW5n
ZVNlY3VyZUlucHV0U3RhdGUgJiYgIWVkaXRvclN0YXRlLnNlbGVjdGlvbklzTm9uZSkKKyAgICBp
ZiAoY291bGRDaGFuZ2VTZWN1cmVJbnB1dFN0YXRlICYmICFuZXdFZGl0b3JTdGF0ZS5zZWxlY3Rp
b25Jc05vbmUpCiAgICAgICAgIHBhZ2VDbGllbnQoKS51cGRhdGVTZWN1cmVJbnB1dFN0YXRlKCk7
CiAgICAgCi0gICAgaWYgKGVkaXRvclN0YXRlLnNob3VsZElnbm9yZVNlbGVjdGlvbkNoYW5nZXMp
CisgICAgaWYgKG5ld0VkaXRvclN0YXRlLnNob3VsZElnbm9yZVNlbGVjdGlvbkNoYW5nZXMpCiAg
ICAgICAgIHJldHVybjsKICAgICAKICAgICBwYWdlQ2xpZW50KCkuc2VsZWN0aW9uRGlkQ2hhbmdl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQ
YWdlUHJveHlQbGF5U3RhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9wbGF5c3Rh
dGlvbi9XZWJQYWdlUHJveHlQbGF5U3RhdGlvbi5jcHAKaW5kZXggOGFlNjQzNDMxNDgyNzEyZDE0
NDBkZTcwNWFhZGM3ODU2Y2QzN2EwMS4uMzlmZWJmNzdkZjMyNzcwODJlYjkyNTk0MDcxYWZjMjI0
YjNmYzAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvcGxheXN0YXRpb24v
V2ViUGFnZVByb3h5UGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3BsYXlzdGF0aW9uL1dlYlBhZ2VQcm94eVBsYXlTdGF0aW9uLmNwcApAQCAtNjQsOSArNjQsOCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IFN0cmluZyYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdAogICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSk7CiB9
CiAKLXZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0
ZSYgZWRpdG9yU3RhdGUpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUo
Y29uc3QgRWRpdG9yU3RhdGUmLCBjb25zdCBFZGl0b3JTdGF0ZSYpCiB7Ci0gICAgbV9lZGl0b3JT
dGF0ZSA9IGVkaXRvclN0YXRlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQYWdlUHJveHlXaW4uY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKaW5kZXggMzFlMzky
N2E0YmRkOGFjNGMyMDU2ZTAwMzlhMTQwYzBiNWI5ZjQyYS4uZTc0ZTlhMGRkNTBhZDg1ZWU5NmJl
NzM4NTZkM2Q3MGFmNWY5YWZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
d2luL1dlYlBhZ2VQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYlBhZ2VQcm94eVdpbi5jcHAKQEAgLTcwLDkgKzcwLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmxvYWRSZWNlbnRTZWFyY2hlcyhjb25zdCBTdHJpbmcmIG5hbWUsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQKICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHNlYXJjaEl0ZW1zKSk7CiB9CiAK
LXZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYg
ZWRpdG9yU3RhdGUpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkVXBkYXRlRWRpdG9yU3RhdGUoY29u
c3QgRWRpdG9yU3RhdGUmLCBjb25zdCBFZGl0b3JTdGF0ZSYpCiB7Ci0gICAgbV9lZGl0b3JTdGF0
ZSA9IGVkaXRvclN0YXRlOwogfQogCiBQbGF0Zm9ybVZpZXdXaWRnZXQgV2ViUGFnZVByb3h5Ojp2
aWV3V2lkZ2V0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQ
YWdlUHJveHlXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94
eVdQRS5jcHAKaW5kZXggNzIyZTliYWVmYTEwYzQzYjdkMjkyMzNmNjFmZTU0MWMxOWI4Y2FlZS4u
NzlkMDVhYTkxOTBhZWMwMzZjNTI5NTUxZjgwN2Y2YTljZDg4ODYwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBhZ2VQcm94eVdQRS5jcHAKQEAgLTU0LDEwICs1NCw5
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpiaW5kQWNjZXNzaWJpbGl0eVRyZWUoY29uc3QgU3RyaW5n
JiBwbHVnSUQpCiB9CiAjZW5kaWYKIAotdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZUVkaXRvclN0
YXRlKGNvbnN0IEVkaXRvclN0YXRlJiBlZGl0b3JTdGF0ZSkKK3ZvaWQgV2ViUGFnZVByb3h5Ojpk
aWRVcGRhdGVFZGl0b3JTdGF0ZShjb25zdCBFZGl0b3JTdGF0ZSYsIGNvbnN0IEVkaXRvclN0YXRl
JiBuZXdFZGl0b3JTdGF0ZSkKIHsKLSAgICBtX2VkaXRvclN0YXRlID0gZWRpdG9yU3RhdGU7Ci0g
ICAgaWYgKCFlZGl0b3JTdGF0ZS5zaG91bGRJZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKQorICAgIGlm
ICghbmV3RWRpdG9yU3RhdGUuc2hvdWxkSWdub3JlU2VsZWN0aW9uQ2hhbmdlcykKICAgICAgICAg
cGFnZUNsaWVudCgpLnNlbGVjdGlvbkRpZENoYW5nZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY5YTkxYTgyYzdkMTMyOWNhY2Q2
ZDk0ZWExMmQ0MzAxY2FjZTM0MjMuLjAyMzM0YzlmZjc3MTEzMmFlMDc5MWI1MDM2YjdiMWQwY2I3
MjZmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC0xMTgzLDYgKzExODMsNyBAQCBFZGl0b3JTdGF0ZSBXZWJQYWdlOjplZGl0b3JTdGF0ZShT
aG91bGRQZXJmb3JtTGF5b3V0IHNob3VsZFBlcmZvcm1MYXlvdXQpIGNvbnN0CiAgICAgY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlv
bigpOwogICAgIGNvbnN0IEVkaXRvciYgZWRpdG9yID0gZnJhbWUtPmVkaXRvcigpOwogCisgICAg
cmVzdWx0LnRyYW5zYWN0aW9uSUQgPSBtX2xhc3RFZGl0b3JTdGF0ZVRyYW5zYWN0aW9uSUQuaW5j
cmVtZW50KCk7CiAgICAgcmVzdWx0LnNlbGVjdGlvbklzTm9uZSA9IHNlbGVjdGlvbi5pc05vbmUo
KTsKICAgICByZXN1bHQuc2VsZWN0aW9uSXNSYW5nZSA9IHNlbGVjdGlvbi5pc1JhbmdlKCk7CiAg
ICAgcmVzdWx0LmlzQ29udGVudEVkaXRhYmxlID0gc2VsZWN0aW9uLmlzQ29udGVudEVkaXRhYmxl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggODRj
NWM0OWQ3MmQ4MzI2M2Y4ZmJkYTQ0ZGY4MzhmMWM1MjdlZThiMS4uM2IyNzYxYTUxMWI0ZTE4YzA2
MDk0ZTM2NTFmYjQ1Mjk5NjE0MTE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaApAQCAtMjE3Niw2ICsyMTc2LDcgQEAgcHJpdmF0ZToKIAogICAgIGVudW0g
Y2xhc3MgRWRpdG9yU3RhdGVJc0NvbnRlbnRFZGl0YWJsZSB7IE5vLCBZZXMsIFVuc2V0IH07CiAg
ICAgbXV0YWJsZSBFZGl0b3JTdGF0ZUlzQ29udGVudEVkaXRhYmxlIG1fbGFzdEVkaXRvclN0YXRl
V2FzQ29udGVudEVkaXRhYmxlIHsgRWRpdG9yU3RhdGVJc0NvbnRlbnRFZGl0YWJsZTo6VW5zZXQg
fTsKKyAgICBtdXRhYmxlIFRyYW5zYWN0aW9uSUQgbV9sYXN0RWRpdG9yU3RhdGVUcmFuc2FjdGlv
bklEOwogCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAgICAgT3B0aW9uYWw8
SW5wdXRNZXRob2RTdGF0ZT4gbV9pbnB1dE1ldGhvZFN0YXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM1NjQyODZjYjI4
YWViMWZjMzNjMjk4ZmFmNmMwM2U5ZjQzZDY4YzguLjI5YjJjZDRkZmY4M2YxMWNkZTczOGFkYjBl
N2MxMGUzNTEyYzQ2ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0xNSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBXZWJQYWdl
UHJveHkncyBFZGl0b3JTdGF0ZSBtYXkgYmUgc3RhbGUgdW50aWwgdGhlIG5leHQgcmVtb3RlIGxh
eWVyIHRyZWUgY29tbWl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjMyMDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NDEwNzAwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFn
ZS1leHRyYWN0aW9uL2lvcy9yZXNlbGVjdC13b3JkLWluLWltYWdlLW92ZXJsYXktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9y
ZXNlbGVjdC13b3JkLWluLWltYWdlLW92ZXJsYXkuaHRtbDogQWRkZWQuCisKIDIwMjEtMDMtMTUg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgSW1hZ2Ug
b3ZlcmxheSBjcmVhdGlvbiBzaG91bGQgYmUgaWRlbXBvdGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9pb3MvcmVzZWxlY3Qtd29yZC1pbi1p
bWFnZS1vdmVybGF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdl
LWV4dHJhY3Rpb24vaW9zL3Jlc2VsZWN0LXdvcmQtaW4taW1hZ2Utb3ZlcmxheS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWRlMWE3MmIyMzczYmE2Y2NhZTBlZGZlYzI1NjM5MzhjMTY5OThmOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rp
b24vaW9zL3Jlc2VsZWN0LXdvcmQtaW4taW1hZ2Utb3ZlcmxheS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACitQQVNTIHNlbGVjdGlvblJlY3RzLmxlbmd0aCBpcyAxCitQQVNTIERpc21pc3Nl
ZCBzZWxlY3Rpb24KK1BBU1Mgc2VsZWN0aW9uUmVjdHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9yZXNlbGVjdC13b3JkLWlu
LWltYWdlLW92ZXJsYXkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJh
Y3Rpb24vaW9zL3Jlc2VsZWN0LXdvcmQtaW4taW1hZ2Utb3ZlcmxheS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0NWNlNTU3ZDhkMGFkZGNmZDFmOTdhMDk0ZDcxMzkzMGFmZDM0ZjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL2lvcy9yZXNlbGVj
dC13b3JkLWluLWltYWdlLW92ZXJsYXkuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgoraW1nIHsKKyAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8aW1nIHNyYz0iLi4vLi4vcmVzb3VyY2VzL2dyZWVuLTQwMHg0MDAucG5nIj48
L2ltZz4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2FkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgbGV0IGltYWdlID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcigiaW1nIik7CisgICAgaW50ZXJuYWxzLmluc3RhbGxJbWFnZU92ZXJsYXkoaW1hZ2UsIFsK
KyAgICAgICAgeworICAgICAgICAgICAgdGV4dCA6ICJmb28iLAorICAgICAgICAgICAgdG9wTGVm
dCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDAsIDApLAorICAgICAgICAgICAgdG9wUmlnaHQgOiBu
ZXcgRE9NUG9pbnRSZWFkT25seSgxLCAwKSwKKyAgICAgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3
IERPTVBvaW50UmVhZE9ubHkoMSwgMC41KSwKKyAgICAgICAgICAgIGJvdHRvbUxlZnQgOiBuZXcg
RE9NUG9pbnRSZWFkT25seSgwLCAwLjUpLAorICAgICAgICB9CisgICAgXSk7CisgICAgYXdhaXQg
VUlIZWxwZXIubG9uZ1ByZXNzQXRQb2ludCgyMDAsIDEwMCk7CisgICAgc2VsZWN0aW9uUmVjdHMg
PSBhd2FpdCBVSUhlbHBlci53YWl0Rm9yU2VsZWN0aW9uVG9BcHBlYXIoKTsKKyAgICBzaG91bGRC
ZSgic2VsZWN0aW9uUmVjdHMubGVuZ3RoIiwgIjEiKTsKKworICAgIGF3YWl0IFVJSGVscGVyLmFj
dGl2YXRlQXQoMjAwLCAzMDApOworICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JTZWxlY3Rpb25U
b0Rpc2FwcGVhcigpOworICAgIHRlc3RQYXNzZWQoIkRpc21pc3NlZCBzZWxlY3Rpb24iKTsKKwor
ICAgIGF3YWl0IFVJSGVscGVyLmxvbmdQcmVzc0F0UG9pbnQoMjAwLCAxMDApOworICAgIHNlbGVj
dGlvblJlY3RzID0gYXdhaXQgVUlIZWxwZXIud2FpdEZvclNlbGVjdGlvblRvQXBwZWFyKCk7Cisg
ICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzLmxlbmd0aCIsICIxIik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>
<flag name="commit-queue"
          id="442632"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>