<?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>239351</bug_id>
          
          <creation_ts>2022-04-14 12:48:07 -0700</creation_ts>
          <short_desc>Undo option after invoking &quot;Markup Image&quot; says &quot;Undo Paste&quot;</short_desc>
          <delta_ts>2022-04-14 21:45:17 -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>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mifenton</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>1861602</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-14 12:48:07 -0700</bug_when>
    <thetext>rdar://91647863</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861606</commentid>
    <comment_count>1</comment_count>
      <attachid>457644</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-14 13:03:30 -0700</bug_when>
    <thetext>Created attachment 457644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861641</commentid>
    <comment_count>2</comment_count>
      <attachid>457644</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-14 15:22:46 -0700</bug_when>
    <thetext>Comment on attachment 457644
Patch

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

&gt; Source/WebCore/editing/EditAction.h:97
&gt; +    Outdent,
&gt; +    MarkupImage,

Looks like this was alphabetical before. Maybe keep it alphabetical?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861642</commentid>
    <comment_count>3</comment_count>
      <attachid>457644</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-14 15:28:36 -0700</bug_when>
    <thetext>Comment on attachment 457644
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/editing/EditAction.h:97
&gt;&gt; +    MarkupImage,
&gt; 
&gt; Looks like this was alphabetical before. Maybe keep it alphabetical?

Will do!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861643</commentid>
    <comment_count>4</comment_count>
      <attachid>457644</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-14 15:32:31 -0700</bug_when>
    <thetext>Comment on attachment 457644
Patch

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

&gt;&gt;&gt; Source/WebCore/editing/EditAction.h:97
&gt;&gt;&gt; +    MarkupImage,
&gt;&gt; 
&gt;&gt; Looks like this was alphabetical before. Maybe keep it alphabetical?
&gt; 
&gt; Will do!

…since these enums are already unsorted, I&apos;ll go ahead and just put them all in sorted order while I&apos;m here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861653</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-14 16:05:05 -0700</bug_when>
    <thetext>Ah, only the part that showed up as context in diff was alphabetical! I should have suspected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861654</commentid>
    <comment_count>6</comment_count>
      <attachid>457654</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-04-14 16:08:45 -0700</bug_when>
    <thetext>Created attachment 457654
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861685</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-14 18:47:07 -0700</bug_when>
    <thetext>Committed r292898 (249668@main): &lt;https://commits.webkit.org/249668@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457654.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457644</attachid>
            <date>2022-04-14 13:03:30 -0700</date>
            <delta_ts>2022-04-14 15:22:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239351-20220414130329.patch</filename>
            <type>text/plain</type>
            <size>27370</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkNzU1ZGY0MjliYjUw
YjRhMDQzNGIyOTM0OTQzZjMyMGE2ZWQ3Yy4uYzkxMzZkYjZlOTMxZmM5MzM0MWQ4YTcyMmJlYzcw
MWNiNTE0NTI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIyLTA0LTE0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG8gb3B0aW9u
IGFmdGVyIGludm9raW5nICJNYXJrdXAgSW1hZ2UiIHNheXMgIlVuZG8gUGFzdGUiCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkzNTEKKyAgICAgICAg
cmRhcjovLzkxNjQ3ODYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IGEgY2FsbGVyIG9mIGBFZGl0b3I6OnJlcGxh
Y2VOb2RlRnJvbVBhc3RlYm9hcmRgIHRvIHNwZWNpZnkgYW4gYEVkaXRBY3Rpb25gIGZvciB0aGUg
ZWRpdGluZworICAgICAgICBjb21tYW5kIHRoYXQgaXMgbm90IGp1c3QgYEVkaXRBY3Rpb246OlBh
c3RlYCwgYW5kIHVzZSBpdCB0byBzdXBwbHkgYSBtb3JlIHNwZWNpZmljIGVkaXQgYWN0aW9uIHR5
cGUgb2YKKyAgICAgICAgYE1hcmt1cEltYWdlYCBpbiB0aGUgY2FzZSB3aGVyZSAiTWFya3VwIElt
YWdlIiBpcyB1c2VkIHRvIHJlcGxhY2UgYW4gaW1hZ2UgZWxlbWVudCB3aXRoIG90aGVyIGltYWdl
IGRhdGEuIFRoaXMKKyAgICAgICAgYWxsb3dzIHRoZSB1bmRvL3JlZG8gdGl0bGUgdG8gYmUgbW9y
ZSBhY2N1cmF0ZSB0aGFuIHNpbXBseSAiVW5kby9SZWRvIFBhc3RlIi4KKworICAgICAgICBUZXN0
OiBJbWFnZUFuYWx5c2lzVGVzdHMuUGVyZm9ybUltYWdlQW5hbHlzaXNNYXJrdXAKKworICAgICAg
ICAqIGRvbS9UZXh0RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50OjpjcmVh
dGVGb3JQbGFpblRleHRQYXN0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RXZlbnQ6OmNyZWF0
ZUZvckZyYWdtZW50UGFzdGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50OjpUZXh0RXZl
bnQpOgorICAgICAgICAqIGRvbS9UZXh0RXZlbnQuaDoKKyAgICAgICAgKiBkb20vVGV4dEV2ZW50
SW5wdXRUeXBlLmg6CisKKyAgICAgICAgSW50cm9kdWNlIFRleHRFdmVudElucHV0TWFya3VwLiBU
aGlzIGlzIHVzZWQgdG8gcHJlc2VydmUgdGhlIGZhY3QgdGhhdCBhIGBUZXh0RXZlbnRgIHdhcyB0
cmlnZ2VyZWQgdmlhCisgICAgICAgICJNYXJrdXAgSW1hZ2UiIGFzIG9wcG9zZWQgdG8gYSByZWd1
bGFyICJQYXN0ZSIgY29tbWFuZCwgd2hlbiBwbHVtYmluZyB0aGlzIGV2ZW50IG9iamVjdCB0aHJv
dWdoIERPTSBldmVudAorICAgICAgICBwcm9wYWdhdGlvbiBjb2RlLiBPbmNlIGl0IHJlZW50ZXJz
IGVkaXRpbmcgY29kZSwgd2UgY29uc3VsdCB0aGlzIHR5cGUgdG8gcmUtbWFwIHRoaXMgZXZlbnQg
dG8KKyAgICAgICAgYEVkaXRBY3Rpb246Ok1hcmt1cEltYWdlYCBpZiBhcHByb3ByaWF0ZS4KKwor
ICAgICAgICBJIG9wdGVkIGZvciB0aGlzIChzbGlnaHRseSBtb3JlIHJvdW5kYWJvdXQpIGFwcHJv
YWNoIHRvIHByZXZlbnQgYSBwb3RlbnRpYWwgbGF5ZXJpbmcgdmlvbGF0aW9uLCBkdWUgdG8gVGV4
dEV2ZW50CisgICAgICAgIG90aGVyd2lzZSBrbm93aW5nIGFib3V0IGBFZGl0QWN0aW9uYC4KKwor
ICAgICAgICAqIGVkaXRpbmcvRWRpdEFjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1bmRv
UmVkb0xhYmVsKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRBY3Rpb24uaDoKKworICAgICAgICBJ
bnRyb2R1Y2UgRWRpdEFjdGlvbjo6TWFya3VwSW1hZ2UuCisKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZVRleHRFdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnBhc3RlQXNGcmFnbWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3I6OnJlcGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21lbnQpOgorICAgICAgICAqIGVk
aXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbToK
KyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6cmVwbGFjZU5vZGVGcm9tUGFzdGVib2FyZCk6CisK
KyAgICAgICAgQWRkIGFuIGBFZGl0QWN0aW9uYCBhcmd1bWVudDsgYnkgZGVmYXVsdCwgdGhpcyBp
cyBgRWRpdEFjdGlvbjo6UGFzdGVgLgorCisgICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUu
c3RyaW5nczoKKworICAgICAgICBBZGQgYSBuZXcgbG9jYWxpemVkIHN0cmluZyB0byByZXByZXNl
bnQgdGhlIG5hbWUgb2YgdGhlICJNYXJrdXAgSW1hZ2UiIGl0ZW0sIGZvciB0aGUgcHVycG9zZXMg
b2Ygc2V0dGluZyB0aGUKKyAgICAgICAgUmVkby9VbmRvIGFjdGlvbiB0aXRsZS4KKwogMjAyMi0w
NC0xMyAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAg
Rml4IGZvciBhY2Nlc3NpYmlsaXR5L3RhYmxlLWFkZC1yZW1vdmUtcm93cy5odG1sIGluIGlzb2xh
dGVkIHRyZWUgbW9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzczZWE3MWJmNGQ1OTE4ODM5YjMxMWFmOWRiMmY3
ZTAyOTBlNzU0NC4uMDcwZGNiNWZhNGNlMzBjNzU0ZDg4NGU0MDcxY2Q5ODg3YTAxZmRhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAyMi0wNC0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBVbmRvIG9wdGlvbiBhZnRlciBpbnZva2luZyAi
TWFya3VwIEltYWdlIiBzYXlzICJVbmRvIFBhc3RlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MzUxCisgICAgICAgIHJkYXI6Ly85MTY0Nzg2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBg
cmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YWAgdG8gdGhlIG1vcmUgc3BlY2lmaWMgYHJlcGxhY2VJ
bWFnZVdpdGhNYXJrdXBSZXN1bHRzYC4gVGhpcyBtZXRob2Qgd2FzCisgICAgICAgIGludHJvZHVj
ZWQgKGFuZCBpcyBjdXJyZW50bHkgb25seSB1c2VkKSB0byBkcml2ZSBpbWFnZSByZXBsYWNlbWVu
dCB1c2luZyAiTWFya3VwIEltYWdlIjsgZ2l2aW5nIHRoaXMgbWV0aG9kIGEKKyAgICAgICAgbW9y
ZSBzcGVjaWZpYyBuYW1lIGFsbG93cyB1cyB0byBoYXJkLWNvZGUgYEVkaXRBY3Rpb246Ok1hcmt1
cEltYWdlYCB3aGVuIGNhbGxpbmcgaW50byBFZGl0b3IgdG8gY2Fycnkgb3V0IHRoZQorICAgICAg
ICByZXBsYWNlbWVudCBlZGl0aW5nIGFjdGlvbiBpbiBgV2ViUGFnZTo6cmVwbGFjZUltYWdlV2l0
aE1hcmt1cFJlc3VsdHNgLgorCisgICAgICAgIFNlZSBXZWJDb3JlL0NoYW5nZUxvZyBmb3IgYWRk
aXRpb25hbCBkZXRhaWxzLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcGxhY2VJbWFnZVdp
dGhNYXJrdXBSZXN1bHRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXBsYWNl
V2l0aFBhc3RlYm9hcmREYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW1hZ2VBbmFseXNpc01hcmt1cE1lbnVd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlNYWM6OmFwcGx5TWFya3VwVG9Db250
cm9sbGVkSW1hZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdl
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlcGxhY2VJbWFnZVdpdGhNYXJr
dXBSZXN1bHRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVwbGFjZVdpdGhQYXN0ZWJv
YXJkRGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwog
MjAyMi0wNC0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbY3NzLXNjcm9sbC1zbmFwXSBzY3JvbGxJbnRvVmlldyBmYWlscyB3aXRoIHNjcm9sbC1z
bmFwLXR5cGUgb24gOnJvb3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5jcHAKaW5kZXggMjU1M2EwYzcz
MmRkMjkyOTQzYmI3MzFlNzk3NDFlMTBhNmY2NDAwNS4uZjkyOGE0NGM4MWMxOGFjNjczNjNhNTkw
OTJiODZjOGFlZTE4MTFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5jcHAKQEAgLTQ4LDEyICs0
OCwxMiBAQCBSZWY8VGV4dEV2ZW50PiBUZXh0RXZlbnQ6OmNyZWF0ZShSZWZQdHI8V2luZG93UHJv
eHk+JiYgdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLAogCiBSZWY8VGV4dEV2ZW50PiBUZXh0RXZl
bnQ6OmNyZWF0ZUZvclBsYWluVGV4dFBhc3RlKFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBj
b25zdCBTdHJpbmcmIGRhdGEsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlKQogewotICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFRleHRFdmVudChXVEZNb3ZlKHZpZXcpLCBkYXRhLCBudWxscHRyLCBz
aG91bGRTbWFydFJlcGxhY2UsIGZhbHNlLCBNYWlsQmxvY2txdW90ZUhhbmRsaW5nOjpSZXNwZWN0
QmxvY2txdW90ZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRleHRFdmVudChXVEZNb3Zl
KHZpZXcpLCBkYXRhLCBudWxscHRyLCBUZXh0RXZlbnRJbnB1dFBhc3RlLCBzaG91bGRTbWFydFJl
cGxhY2UsIGZhbHNlLCBNYWlsQmxvY2txdW90ZUhhbmRsaW5nOjpSZXNwZWN0QmxvY2txdW90ZSkp
OwogfQogCi1SZWY8VGV4dEV2ZW50PiBUZXh0RXZlbnQ6OmNyZWF0ZUZvckZyYWdtZW50UGFzdGUo
UmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiYmIGRh
dGEsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNoU3R5bGUsIE1haWxC
bG9ja3F1b3RlSGFuZGxpbmcgbWFpbEJsb2NrcXVvdGVIYW5kbGluZykKK1JlZjxUZXh0RXZlbnQ+
IFRleHRFdmVudDo6Y3JlYXRlRm9yRnJhZ21lbnRQYXN0ZShSZWZQdHI8V2luZG93UHJveHk+JiYg
dmlldywgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+JiYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBl
IGlucHV0VHlwZSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHls
ZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyBtYWlsQmxvY2txdW90ZUhhbmRsaW5nKQogewotICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFRleHRFdmVudChXVEZNb3ZlKHZpZXcpLCBlbXB0eVN0cmlu
ZygpLCBXVEZNb3ZlKGRhdGEpLCBzaG91bGRTbWFydFJlcGxhY2UsIHNob3VsZE1hdGNoU3R5bGUs
IG1haWxCbG9ja3F1b3RlSGFuZGxpbmcpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBUZXh0
RXZlbnQoV1RGTW92ZSh2aWV3KSwgZW1wdHlTdHJpbmcoKSwgV1RGTW92ZShkYXRhKSwgaW5wdXRU
eXBlLCBzaG91bGRTbWFydFJlcGxhY2UsIHNob3VsZE1hdGNoU3R5bGUsIG1haWxCbG9ja3F1b3Rl
SGFuZGxpbmcpKTsKIH0KIAogUmVmPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGVGb3JEcm9w
KFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEpCkBAIC04NCw5
ICs4NCw5IEBAIFRleHRFdmVudDo6VGV4dEV2ZW50KFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3
LCBjb25zdCBTdHJpbmcmIGRhdGEsIFRleHRFdmVudEluCiB7CiB9CiAKLVRleHRFdmVudDo6VGV4
dEV2ZW50KFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIFJl
ZlB0cjxEb2N1bWVudEZyYWdtZW50PiYmIHBhc3RpbmdGcmFnbWVudCwgYm9vbCBzaG91bGRTbWFy
dFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyBt
YWlsQmxvY2txdW90ZUhhbmRsaW5nKQorVGV4dEV2ZW50OjpUZXh0RXZlbnQoUmVmUHRyPFdpbmRv
d1Byb3h5PiYmIHZpZXcsIGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+JiYgcGFzdGluZ0ZyYWdtZW50LCBUZXh0RXZlbnRJbnB1dFR5cGUgaW5wdXRUeXBlLCBib29s
IHNob3VsZFNtYXJ0UmVwbGFjZSwgYm9vbCBzaG91bGRNYXRjaFN0eWxlLCBNYWlsQmxvY2txdW90
ZUhhbmRsaW5nIG1haWxCbG9ja3F1b3RlSGFuZGxpbmcpCiAgICAgOiBVSUV2ZW50KGV2ZW50TmFt
ZXMoKS50ZXh0SW5wdXRFdmVudCwgQ2FuQnViYmxlOjpZZXMsIElzQ2FuY2VsYWJsZTo6WWVzLCBJ
c0NvbXBvc2VkOjpZZXMsIFdURk1vdmUodmlldyksIDApCi0gICAgLCBtX2lucHV0VHlwZShUZXh0
RXZlbnRJbnB1dFBhc3RlKQorICAgICwgbV9pbnB1dFR5cGUoaW5wdXRUeXBlKQogICAgICwgbV9k
YXRhKGRhdGEpCiAgICAgLCBtX3Bhc3RpbmdGcmFnbWVudChXVEZNb3ZlKHBhc3RpbmdGcmFnbWVu
dCkpCiAgICAgLCBtX3Nob3VsZFNtYXJ0UmVwbGFjZShzaG91bGRTbWFydFJlcGxhY2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dEV2ZW50LmgKaW5kZXggZDM4YWE0MjBmMWNmYWFlZTllZTM5YTkxY2ZlNzJmY2E5ZGRl
M2NlZC4uNTY4MmU0YzEyOTYxMjEzNGMxNzgzYTVkYjIxZWRkMDg4MDY3ODZjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UZXh0RXZlbnQuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHN0YXRpYyBSZWY8VGV4dEV2ZW50PiBjcmVhdGUoUmVmUHRyPFdpbmRvd1Byb3h5PiYmLCBj
b25zdCBTdHJpbmcmIGRhdGEsIFRleHRFdmVudElucHV0VHlwZSA9IFRleHRFdmVudElucHV0S2V5
Ym9hcmQpOwogICAgICAgICBzdGF0aWMgUmVmPFRleHRFdmVudD4gY3JlYXRlRm9yQmluZGluZ3Mo
KTsKICAgICAgICAgc3RhdGljIFJlZjxUZXh0RXZlbnQ+IGNyZWF0ZUZvclBsYWluVGV4dFBhc3Rl
KFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgY29uc3QgU3RyaW5nJiBkYXRhLCBib29sIHNob3VsZFNt
YXJ0UmVwbGFjZSk7Ci0gICAgICAgIHN0YXRpYyBSZWY8VGV4dEV2ZW50PiBjcmVhdGVGb3JGcmFn
bWVudFBhc3RlKFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+
JiYgZGF0YSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSwg
TWFpbEJsb2NrcXVvdGVIYW5kbGluZyk7CisgICAgICAgIHN0YXRpYyBSZWY8VGV4dEV2ZW50PiBj
cmVhdGVGb3JGcmFnbWVudFBhc3RlKFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgUmVmUHRyPERvY3Vt
ZW50RnJhZ21lbnQ+JiYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBlLCBib29sIHNob3VsZFNtYXJ0
UmVwbGFjZSwgYm9vbCBzaG91bGRNYXRjaFN0eWxlLCBNYWlsQmxvY2txdW90ZUhhbmRsaW5nKTsK
ICAgICAgICAgc3RhdGljIFJlZjxUZXh0RXZlbnQ+IGNyZWF0ZUZvckRyb3AoUmVmUHRyPFdpbmRv
d1Byb3h5PiYmLCBjb25zdCBTdHJpbmcmIGRhdGEpOwogICAgICAgICBzdGF0aWMgUmVmPFRleHRF
dmVudD4gY3JlYXRlRm9yRGljdGF0aW9uKFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgY29uc3QgU3Ry
aW5nJiBkYXRhLCBjb25zdCBWZWN0b3I8RGljdGF0aW9uQWx0ZXJuYXRpdmU+JiBkaWN0YXRpb25B
bHRlcm5hdGl2ZXMpOwogCkBAIC02Miw2ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBpc0RpY3RhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09IFRl
eHRFdmVudElucHV0RGljdGF0aW9uOyB9CiAgICAgICAgIGJvb2wgaXNBdXRvY29tcGxldGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09IFRleHRFdmVudElucHV0QXV0b2NvbXBsZXRp
b247IH0KICAgICAgICAgYm9vbCBpc0tleWJvYXJkKCkgY29uc3QgeyByZXR1cm4gbV9pbnB1dFR5
cGUgPT0gVGV4dEV2ZW50SW5wdXRLZXlib2FyZDsgfQorICAgICAgICBib29sIGlzTWFya3VwKCkg
Y29uc3QgeyByZXR1cm4gbV9pbnB1dFR5cGUgPT0gVGV4dEV2ZW50SW5wdXRNYXJrdXA7IH0KIAog
ICAgICAgICBib29sIHNob3VsZFNtYXJ0UmVwbGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxk
U21hcnRSZXBsYWNlOyB9CiAgICAgICAgIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2hvdWxkTWF0Y2hTdHlsZTsgfQpAQCAtNzMsNyArNzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIFRleHRFdmVudCgpOwogCiAgICAgICAgIFRleHRFdmVudChSZWZQ
dHI8V2luZG93UHJveHk+JiYsIGNvbnN0IFN0cmluZyYgZGF0YSwgVGV4dEV2ZW50SW5wdXRUeXBl
ID0gVGV4dEV2ZW50SW5wdXRLZXlib2FyZCk7Ci0gICAgICAgIFRleHRFdmVudChSZWZQdHI8V2lu
ZG93UHJveHk+JiYsIGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+
JiYsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNoU3R5bGUsIE1haWxC
bG9ja3F1b3RlSGFuZGxpbmcpOworICAgICAgICBUZXh0RXZlbnQoUmVmUHRyPFdpbmRvd1Byb3h5
PiYmLCBjb25zdCBTdHJpbmcmIGRhdGEsIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiYmLCBUZXh0
RXZlbnRJbnB1dFR5cGUsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNo
U3R5bGUsIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcpOwogICAgICAgICBUZXh0RXZlbnQoUmVmUHRy
PFdpbmRvd1Byb3h5PiYmLCBjb25zdCBTdHJpbmcmIGRhdGEsIGNvbnN0IFZlY3RvcjxEaWN0YXRp
b25BbHRlcm5hdGl2ZT4mIGRpY3RhdGlvbkFsdGVybmF0aXZlcyk7CiAKICAgICAgICAgYm9vbCBp
c1RleHRFdmVudCgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1RleHRFdmVudElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudElu
cHV0VHlwZS5oCmluZGV4IDY4ZWVmNDdiYzE2ZGMyOWEwNmMzYmIyZTgwNjcwNmEyNGRlZDZkMjku
LjdiMWVlYmIyMDhkNzk3NzI1ZWQ0NzA1ZGJjMmUwMDU1Yjk4ZTAzMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVGV4dEV2ZW50SW5wdXRUeXBlLmgKQEAgLTM2LDYgKzM2LDcgQEAgZW51bSBUZXh0RXZl
bnRJbnB1dFR5cGUgewogICAgIFRleHRFdmVudElucHV0UGFzdGUsCiAgICAgVGV4dEV2ZW50SW5w
dXREcm9wLAogICAgIFRleHRFdmVudElucHV0RGljdGF0aW9uLAorICAgIFRleHRFdmVudElucHV0
TWFya3VwLAogICAgIFRleHRFdmVudElucHV0T3RoZXIsCiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9FZGl0QWN0aW9uLmNwcAppbmRleCAyODgyZWE0NDMwNTMyMmNjNjgwZmVlZTM3MGU4NWIxODJh
ZmU0YjNlLi4wZTJiZDkwODg0YTk1ZjZmYzUwNWEzZjllZTkzM2QyOGJmNTI2NWQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdEFjdGlvbi5jcHAKQEAgLTE0Miw2ICsxNDIsOCBAQCBTdHJpbmcg
dW5kb1JlZG9MYWJlbChFZGl0QWN0aW9uIGVkaXRBY3Rpb24pCiAgICAgICAgIHJldHVybiBXRUJf
VUlfU1RSSU5HX0tFWSgiQ29udmVydCB0byBPcmRlcmVkIExpc3QiLCAiQ29udmVydCB0byBPcmRl
cmVkIExpc3QgKFVuZG8gYWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAgICBj
YXNlIEVkaXRBY3Rpb246OkNvbnZlcnRUb1Vub3JkZXJlZExpc3Q6CiAgICAgICAgIHJldHVybiBX
RUJfVUlfU1RSSU5HX0tFWSgiQ29udmVydCB0byBVbm9yZGVyZWQgTGlzdCIsICJDb252ZXJ0IHRv
IFVub3JkZXJlZCBMaXN0IChVbmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7
CisgICAgY2FzZSBFZGl0QWN0aW9uOjpNYXJrdXBJbWFnZToKKyAgICAgICAgcmV0dXJuIFdFQl9V
SV9TVFJJTkdfS0VZKCJNYXJrdXAgSW1hZ2UiLCAiSW1hZ2UgYW5hbHlzaXMgbWFya3VwIG1lbnUg
aXRlbSAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOwogICAgIH0KICAg
ICByZXR1cm4geyB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
QWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uaAppbmRleCBjNjBj
NmJjYzgwNTU1NTY3YTNjYmRmNjFiODg3ZDQ0YzJlMjFkYWY4Li40ZWVmMWRhNGRkNDhiZjYxODNk
ZDI0OTE0YjJmNzZmZTBlMjk3YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRBY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRBY3Rpb24uaApA
QCAtOTMsNyArOTMsOCBAQCBlbnVtIGNsYXNzIEVkaXRBY3Rpb24gOiB1aW50OF90IHsKICAgICBD
b252ZXJ0VG9PcmRlcmVkTGlzdCwKICAgICBDb252ZXJ0VG9Vbm9yZGVyZWRMaXN0LAogICAgIElu
ZGVudCwKLSAgICBPdXRkZW50CisgICAgT3V0ZGVudCwKKyAgICBNYXJrdXBJbWFnZSwKIH07CiAK
IFdURjo6U3RyaW5nIHVuZG9SZWRvTGFiZWwoRWRpdEFjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5jcHAKaW5kZXggOTc0Nzg4YTNiM2FhODEzZWYwMWUyZDIxYmIyNzkyMmMyMGZiN2RjZC4u
N2I0YjcxYWI5M2M2ZWQ3ZDU2ODhmNDg0NWIzMzQxODRlYjJjMGNiZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmNwcApAQCAtMzM3LDE1ICszMzcsMTYgQEAgYm9vbCBFZGl0b3I6OmhhbmRsZVRl
eHRFdmVudChUZXh0RXZlbnQmIGV2ZW50KQogICAgIGlmIChldmVudC5pc0Ryb3AoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGV2ZW50LmlzUGFzdGUoKSkgeworICAgIGlmIChl
dmVudC5pc1Bhc3RlKCkgfHwgZXZlbnQuaXNNYXJrdXAoKSkgeworICAgICAgICBhdXRvIGFjdGlv
biA9IGV2ZW50LmlzTWFya3VwKCkgPyBFZGl0QWN0aW9uOjpNYXJrdXBJbWFnZSA6IEVkaXRBY3Rp
b246OlBhc3RlOwogICAgICAgICBpZiAoZXZlbnQucGFzdGluZ0ZyYWdtZW50KCkpIHsKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgICAgICAgICAgaWYgKGNsaWVudCgpLT5wZXJmb3Jtc1R3
b1N0ZXBQYXN0ZShldmVudC5wYXN0aW5nRnJhZ21lbnQoKSkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAjZW5kaWYKLSAgICAgICAgICAgIHJlcGxhY2VTZWxlY3Rpb25XaXRoRnJhZ21l
bnQoKmV2ZW50LnBhc3RpbmdGcmFnbWVudCgpLCBTZWxlY3RSZXBsYWNlbWVudDo6Tm8sIGV2ZW50
LnNob3VsZFNtYXJ0UmVwbGFjZSgpID8gU21hcnRSZXBsYWNlOjpZZXMgOiBTbWFydFJlcGxhY2U6
Ok5vLCBldmVudC5zaG91bGRNYXRjaFN0eWxlKCkgPyBNYXRjaFN0eWxlOjpZZXMgOiBNYXRjaFN0
eWxlOjpObywgRWRpdEFjdGlvbjo6UGFzdGUsIGV2ZW50Lm1haWxCbG9ja3F1b3RlSGFuZGxpbmco
KSk7CisgICAgICAgICAgICByZXBsYWNlU2VsZWN0aW9uV2l0aEZyYWdtZW50KCpldmVudC5wYXN0
aW5nRnJhZ21lbnQoKSwgU2VsZWN0UmVwbGFjZW1lbnQ6Ok5vLCBldmVudC5zaG91bGRTbWFydFJl
cGxhY2UoKSA/IFNtYXJ0UmVwbGFjZTo6WWVzIDogU21hcnRSZXBsYWNlOjpObywgZXZlbnQuc2hv
dWxkTWF0Y2hTdHlsZSgpID8gTWF0Y2hTdHlsZTo6WWVzIDogTWF0Y2hTdHlsZTo6Tm8sIGFjdGlv
biwgZXZlbnQubWFpbEJsb2NrcXVvdGVIYW5kbGluZygpKTsKICAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICByZXBsYWNlU2VsZWN0aW9uV2l0aFRleHQoZXZlbnQuZGF0YSgpLCBTZWxlY3RSZXBs
YWNlbWVudDo6Tm8sIGV2ZW50LnNob3VsZFNtYXJ0UmVwbGFjZSgpID8gU21hcnRSZXBsYWNlOjpZ
ZXMgOiBTbWFydFJlcGxhY2U6Ok5vLCBFZGl0QWN0aW9uOjpQYXN0ZSk7CisgICAgICAgICAgICBy
ZXBsYWNlU2VsZWN0aW9uV2l0aFRleHQoZXZlbnQuZGF0YSgpLCBTZWxlY3RSZXBsYWNlbWVudDo6
Tm8sIGV2ZW50LnNob3VsZFNtYXJ0UmVwbGFjZSgpID8gU21hcnRSZXBsYWNlOjpZZXMgOiBTbWFy
dFJlcGxhY2U6Ok5vLCBhY3Rpb24pOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAg
LTYyNiwxMiArNjI3LDE1IEBAIHZvaWQgRWRpdG9yOjpwYXN0ZUFzUGxhaW5UZXh0KGNvbnN0IFN0
cmluZyYgcGFzdGluZ1RleHQsIGJvb2wgc21hcnRSZXBsYWNlKQogICAgIHRhcmdldC0+ZGlzcGF0
Y2hFdmVudChUZXh0RXZlbnQ6OmNyZWF0ZUZvclBsYWluVGV4dFBhc3RlKGRvY3VtZW50KCkud2lu
ZG93UHJveHkoKSwgcGFzdGluZ1RleHQsIHNtYXJ0UmVwbGFjZSkpOwogfQogCi12b2lkIEVkaXRv
cjo6cGFzdGVBc0ZyYWdtZW50KFJlZjxEb2N1bWVudEZyYWdtZW50PiYmIHBhc3RpbmdGcmFnbWVu
dCwgYm9vbCBzbWFydFJlcGxhY2UsIGJvb2wgbWF0Y2hTdHlsZSwgTWFpbEJsb2NrcXVvdGVIYW5k
bGluZyByZXNwZWN0c01haWxCbG9ja3F1b3RlKQordm9pZCBFZGl0b3I6OnBhc3RlQXNGcmFnbWVu
dChSZWY8RG9jdW1lbnRGcmFnbWVudD4mJiBwYXN0aW5nRnJhZ21lbnQsIGJvb2wgc21hcnRSZXBs
YWNlLCBib29sIG1hdGNoU3R5bGUsIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcgcmVzcGVjdHNNYWls
QmxvY2txdW90ZSwgRWRpdEFjdGlvbiBhY3Rpb24pCiB7CiAgICAgYXV0byB0YXJnZXQgPSBmaW5k
RXZlbnRUYXJnZXRGcm9tU2VsZWN0aW9uKCk7CiAgICAgaWYgKCF0YXJnZXQpCiAgICAgICAgIHJl
dHVybjsKLSAgICB0YXJnZXQtPmRpc3BhdGNoRXZlbnQoVGV4dEV2ZW50OjpjcmVhdGVGb3JGcmFn
bWVudFBhc3RlKGRvY3VtZW50KCkud2luZG93UHJveHkoKSwgV1RGTW92ZShwYXN0aW5nRnJhZ21l
bnQpLCBzbWFydFJlcGxhY2UsIG1hdGNoU3R5bGUsIHJlc3BlY3RzTWFpbEJsb2NrcXVvdGUpKTsK
KworICAgIEFTU0VSVChhY3Rpb24gPT0gRWRpdEFjdGlvbjo6TWFya3VwSW1hZ2UgfHwgYWN0aW9u
ID09IEVkaXRBY3Rpb246OlBhc3RlKTsKKyAgICBhdXRvIHR5cGUgPSBhY3Rpb24gPT0gRWRpdEFj
dGlvbjo6TWFya3VwSW1hZ2UgPyBUZXh0RXZlbnRJbnB1dE1hcmt1cCA6IFRleHRFdmVudElucHV0
UGFzdGU7CisgICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KFRleHRFdmVudDo6Y3JlYXRlRm9yRnJh
Z21lbnRQYXN0ZShkb2N1bWVudCgpLndpbmRvd1Byb3h5KCksIFdURk1vdmUocGFzdGluZ0ZyYWdt
ZW50KSwgdHlwZSwgc21hcnRSZXBsYWNlLCBtYXRjaFN0eWxlLCByZXNwZWN0c01haWxCbG9ja3F1
b3RlKSk7CiB9CiAKIHZvaWQgRWRpdG9yOjpwYXN0ZUFzUGxhaW5UZXh0QnlwYXNzaW5nREhUTUwo
KQpAQCAtNjg2LDcgKzY5MCw3IEBAIHZvaWQgRWRpdG9yOjpyZXBsYWNlU2VsZWN0aW9uV2l0aEZy
YWdtZW50KERvY3VtZW50RnJhZ21lbnQmIGZyYWdtZW50LCBTZWxlY3RSZXBsCiAgICAgICAgIHJl
dHVybjsKIAogICAgIEFjY2Vzc2liaWxpdHlSZXBsYWNlZFRleHQgcmVwbGFjZWRUZXh0OwotICAg
IGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpICYmIChlZGl0aW5nQWN0
aW9uID09IEVkaXRBY3Rpb246OlBhc3RlIHx8IGVkaXRpbmdBY3Rpb24gPT0gRWRpdEFjdGlvbjo6
SW5zZXJ0KSkKKyAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSAm
JiAoZWRpdGluZ0FjdGlvbiA9PSBFZGl0QWN0aW9uOjpQYXN0ZSB8fCBlZGl0aW5nQWN0aW9uID09
IEVkaXRBY3Rpb246Okluc2VydCB8fCBlZGl0aW5nQWN0aW9uID09IEVkaXRBY3Rpb246Ok1hcmt1
cEltYWdlKSkKICAgICAgICAgcmVwbGFjZWRUZXh0ID0gQWNjZXNzaWJpbGl0eVJlcGxhY2VkVGV4
dChzZWxlY3Rpb24pOwogCiAgICAgT3B0aW9uU2V0PFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpD
b21tYW5kT3B0aW9uPiBvcHRpb25zIHsgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OlByZXZlbnRO
ZXN0aW5nLCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6U2FuaXRpemVGcmFnbWVudCB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yLmgKaW5kZXggZmFkYWIyOGY1MzJiYjNiZGEwZmM5MzUzYzFmNGQxODU5
ZTgzMzE3My4uODVhMmYxMmExZDI3YjJjN2MzOGI5NzIwZDMzZTExZmFjNzE3MDA2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5oCkBAIC00NDQsNyArNDQ0LDcgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgaGFuZGxlQWx0ZXJuYXRpdmVUZXh0VUlSZXN1bHQoY29uc3QgU3RyaW5n
JiBjb3JyZWN0aW9uKTsKICAgICB2b2lkIGRpc21pc3NDb3JyZWN0aW9uUGFuZWxBc0lnbm9yZWQo
KTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcGFzdGVBc0ZyYWdtZW50KFJlZjxEb2N1bWVu
dEZyYWdtZW50PiYmLCBib29sIHNtYXJ0UmVwbGFjZSwgYm9vbCBtYXRjaFN0eWxlLCBNYWlsQmxv
Y2txdW90ZUhhbmRsaW5nID0gTWFpbEJsb2NrcXVvdGVIYW5kbGluZzo6UmVzcGVjdEJsb2NrcXVv
dGUpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcGFzdGVBc0ZyYWdtZW50KFJlZjxEb2N1bWVu
dEZyYWdtZW50PiYmLCBib29sIHNtYXJ0UmVwbGFjZSwgYm9vbCBtYXRjaFN0eWxlLCBNYWlsQmxv
Y2txdW90ZUhhbmRsaW5nID0gTWFpbEJsb2NrcXVvdGVIYW5kbGluZzo6UmVzcGVjdEJsb2NrcXVv
dGUsIEVkaXRBY3Rpb24gPSBFZGl0QWN0aW9uOjpQYXN0ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBwYXN0ZUFzUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYsIGJvb2wgc21hcnRSZXBsYWNlKTsK
IAogICAgIC8vIFRoaXMgaXMgb25seSBjYWxsZWQgb24gdGhlIG1hYyB3aGVyZSBwYXN0ZSBpcyBp
bXBsZW1lbnRlZCBwcmltYXJpbHkgYXQgdGhlIFdlYktpdCBsZXZlbC4KQEAgLTUzNyw3ICs1Mzcs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCB0YWtlRmluZFN0cmluZ0Zyb21TZWxlY3Rpb24oKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcGxhY2VTZWxlY3Rpb25XaXRoQXR0cmlidXRlZFN0cmlu
ZyhOU0F0dHJpYnV0ZWRTdHJpbmcgKiwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyA9IE1haWxCbG9j
a3F1b3RlSGFuZGxpbmc6OlJlc3BlY3RCbG9ja3F1b3RlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRO
YW1lKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQo
Tm9kZSYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgcmVwbGFjZU5vZGVGcm9tUGFzdGVib2FyZChOb2RlJiwgY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgRWRpdEFjdGlvbiA9IEVkaXRBY3Rpb246OlBhc3RlKTsKICNlbmRpZgogCiAj
aWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2Nv
YS9FZGl0b3JDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29j
b2EubW0KaW5kZXggZjg4YTgxNmVhNjM3NmQxNzI0MGE2NDgxMWU5NjhhOTVmMzg5YzgwMy4uMTAw
OTZhMTA4ZWMzOTdlMTg2NWE5NmYyZjJmZmNjYmMwMGI5NjQyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2NvY29hL0VkaXRvckNvY29hLm1tCkBAIC0zNDYsNyArMzQ2LDcgQEAgc3RhdGlj
IHZvaWQgbWF5YmVDb3B5Tm9kZUF0dHJpYnV0ZXNUb0ZyYWdtZW50KGNvbnN0IE5vZGUmIG5vZGUs
IERvY3VtZW50RnJhZ21lbnQKICAgICB9CiB9CiAKLXZvaWQgRWRpdG9yOjpyZXBsYWNlTm9kZUZy
b21QYXN0ZWJvYXJkKE5vZGUmIG5vZGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpCit2
b2lkIEVkaXRvcjo6cmVwbGFjZU5vZGVGcm9tUGFzdGVib2FyZChOb2RlJiBub2RlLCBjb25zdCBT
dHJpbmcmIHBhc3RlYm9hcmROYW1lLCBFZGl0QWN0aW9uIGFjdGlvbikKIHsKICAgICBpZiAobm9k
ZS5kb2N1bWVudCgpICE9IG1fZG9jdW1lbnQpCiAgICAgICAgIHJldHVybjsKQEAgLTM3Nyw3ICsz
NzcsNyBAQCB2b2lkIEVkaXRvcjo6cmVwbGFjZU5vZGVGcm9tUGFzdGVib2FyZChOb2RlJiBub2Rl
LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQogICAgIGlmIChhdXRvIGZyYWdtZW50ID0g
d2ViQ29udGVudEZyb21QYXN0ZWJvYXJkKHBhc3RlYm9hcmQsICpyYW5nZSwgdHJ1ZSwgY2hvc2VQ
bGFpblRleHQpKSB7CiAgICAgICAgIG1heWJlQ29weU5vZGVBdHRyaWJ1dGVzVG9GcmFnbWVudChu
b2RlLCAqZnJhZ21lbnQpOwogICAgICAgICBpZiAoc2hvdWxkSW5zZXJ0RnJhZ21lbnQoKmZyYWdt
ZW50LCAqcmFuZ2UsIEVkaXRvckluc2VydEFjdGlvbjo6UGFzdGVkKSkKLSAgICAgICAgICAgIHBh
c3RlQXNGcmFnbWVudChmcmFnbWVudC5yZWxlYXNlTm9uTnVsbCgpLCBmYWxzZSwgZmFsc2UsIE1h
aWxCbG9ja3F1b3RlSGFuZGxpbmc6Oklnbm9yZUJsb2NrcXVvdGUpOworICAgICAgICAgICAgcGFz
dGVBc0ZyYWdtZW50KGZyYWdtZW50LnJlbGVhc2VOb25OdWxsKCksIGZhbHNlLCBmYWxzZSwgTWFp
bEJsb2NrcXVvdGVIYW5kbGluZzo6SWdub3JlQmxvY2txdW90ZSwgYWN0aW9uKTsKICAgICB9CiAK
ICNpZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lbi5scHJvai9M
b2NhbGl6YWJsZS5zdHJpbmdzIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUu
c3RyaW5ncwppbmRleCBkNzQ2ODY5YzAxZWExNTU4OTJlNjE5ZTQyZGMyNGRiZTg4YzgxOWZiLi44
YWU4NTMxOWFmYjU2ZjIzY2JjMTcwZjJkN2RjMTJmNzQwNTQ1Y2NiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKQEAgLTU0Nyw2ICs1NDcsOSBAQAogLyog
SWdub3JlIFNwZWxsaW5nIGNvbnRleHQgbWVudSBpdGVtICovCiAiSWdub3JlIFNwZWxsaW5nIiA9
ICJJZ25vcmUgU3BlbGxpbmciOwogCisvKiBVbmRvIGFjdGlvbiBuYW1lICovCisiSW1hZ2UgYW5h
bHlzaXMgbWFya3VwIG1lbnUgaXRlbSAoVW5kbyBhY3Rpb24gbmFtZSkiID0gIk1hcmt1cCBJbWFn
ZSI7CisKIC8qIFVuZG8gYWN0aW9uIG5hbWUgKi8KICJJbmRlbnQgKFVuZG8gYWN0aW9uIG5hbWUp
IiA9ICJJbmRlbnQiOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IDhjOWJhYTUwODU1NGQ0NjViMmY0ZDVlMjliM2E1ZGEw
MjFmOWM0NjIuLjIwNzM5ZTVhZGIwYjc3YWZlYjMxMDU4MWViOTZkN2UzYTc4MDJiNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
CkBAIC05MTUsOSArOTE1LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlcGxhY2VTZWxlY3Rpb25X
aXRoUGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGUKICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpSZXBsYWNlU2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKHR5cGVz
LCBkYXRhKSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZXBsYWNlV2l0aFBhc3RlYm9hcmRE
YXRhKGNvbnN0IEVsZW1lbnRDb250ZXh0JiBlbGVtZW50Q29udGV4dCwgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCit2b2lkIFdlYlBh
Z2VQcm94eTo6cmVwbGFjZUltYWdlV2l0aE1hcmt1cFJlc3VsdHMoY29uc3QgRWxlbWVudENvbnRl
eHQmIGVsZW1lbnRDb250ZXh0LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsIGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpS
ZXBsYWNlV2l0aFBhc3RlYm9hcmREYXRhKGVsZW1lbnRDb250ZXh0LCB0eXBlcywgZGF0YSkpOwor
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1bHRz
KGVsZW1lbnRDb250ZXh0LCB0eXBlcywgZGF0YSkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDNmMTdmMjZlOTU2
ZjBhNjJlMWRkZGY5MTk3YjUwOTlmNzYwN2ZkYi4uMTJlZDE4MmI3ODc0ZTgwOWRjZWZmZDUxN2Mx
Zjg2ZjQzNGY5Y2RjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTI2Nyw2ICsyNjcsNyBAQCBlbnVtIGNsYXNzIENvb2tpZUNvbnNlbnREZWNpc2lvblJlc3VsdCA6
IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIENyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0IDogYm9vbDsK
IGVudW0gY2xhc3MgRE9NUGFzdGVBY2Nlc3NDYXRlZ29yeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNz
IERPTVBhc3RlQWNjZXNzUmVzcG9uc2UgOiB1aW50OF90OworZW51bSBjbGFzcyBFZGl0QWN0aW9u
IDogdWludDhfdDsKIGVudW0gY2xhc3MgRXZlbnRNYWtlc0dhbWVwYWRzVmlzaWJsZSA6IGJvb2w7
CiBlbnVtIGNsYXNzIExvY2tCYWNrRm9yd2FyZExpc3QgOiBib29sOwogZW51bSBjbGFzcyBIYXNJ
bnNlY3VyZUNvbnRlbnQgOiBib29sOwpAQCAtMTE5NCw3ICsxMTk1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgcmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2VuKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYpOwogICAgIC8vIENhbGxlZCBieSB0aGUgVUkgcHJvY2VzcyB3aGVuIGl0IGlz
IHJlYWR5IHRvIHNlbmQgaXRzIHRva2VucyB0byB0aGUgd2ViIHByb2Nlc3MuCiAgICAgdm9pZCBy
ZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJiBlbGVtZW5Ub2tlbiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB3aW5kb3dUb2tlbik7
Ci0gICAgdm9pZCByZXBsYWNlV2l0aFBhc3RlYm9hcmREYXRhKGNvbnN0IFdlYkNvcmU6OkVsZW1l
bnRDb250ZXh0JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmKTsKKyAgICB2b2lkIHJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1bHRzKGNvbnN0
IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICB2b2lkIHJlcGxhY2VTZWxlY3Rpb25XaXRo
UGFzdGVib2FyZERhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmKTsKICAgICBib29sIHJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKICAgICBTdHJpbmcgc3RyaW5nU2VsZWN0aW9uRm9y
UGFzdGVib2FyZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggNDJkYzRhZjE3ZTIwMzcxODM3YmYwYTVh
YzZhMDZhNWEwMzFlNmYwNy4uYWRjNjlkZDY4Yjc0ZmU2NzRjZTVkOTc2NmUxOTdhZjk0MDE4MGFl
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00NzMxLDcgKzQ3MzEsNyBAQCAtIChVSU1lbnUgKilpbWFn
ZUFuYWx5c2lzTWFya3VwTWVudQogCiAgICAgICAgIGF1dG8gW2VsZW1lbnRDb250ZXh0LCBpbWFn
ZSwgcHJlZmVycmVkTUlNRVR5cGVdID0gKnZpZXctPl9pbWFnZUFuYWx5c2lzTWFya3VwRGF0YTsK
ICAgICAgICAgaWYgKGF1dG8gW2RhdGEsIHR5cGVdID0gV2ViS2l0Ojp0cmFuc2NvZGVXaXRoUHJl
ZmVycmVkTUlNRVR5cGUoaW1hZ2UuZ2V0KCksIHByZWZlcnJlZE1JTUVUeXBlLmNyZWF0ZUNGU3Ry
aW5nKCkuZ2V0KCksIChfX2JyaWRnZSBDRlN0cmluZ1JlZilVVFR5cGVUSUZGLmlkZW50aWZpZXIp
OyBkYXRhKQotICAgICAgICAgICAgdmlldy0+X3BhZ2UtPnJlcGxhY2VXaXRoUGFzdGVib2FyZERh
dGEoZWxlbWVudENvbnRleHQsIHsgU3RyaW5nIHsgdHlwZS5nZXQoKSB9IH0sIHsgc3RhdGljX2Nh
c3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0aF0gfSk7CisgICAg
ICAgICAgICB2aWV3LT5fcGFnZS0+cmVwbGFjZUltYWdlV2l0aE1hcmt1cFJlc3VsdHMoZWxlbWVu
dENvbnRleHQsIHsgU3RyaW5nIHsgdHlwZS5nZXQoKSB9IH0sIHsgc3RhdGljX2Nhc3Q8Y29uc3Qg
dWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0aF0gfSk7CiAgICAgfV07CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVBy
b3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJv
eHlNYWMubW0KaW5kZXggNmJiYjA1ZTAzNTU2MzFiOTA3NjI4ZWUyNGM1OWY1N2U2Y2JiY2I0Yi4u
M2FhNWM3ZDZmMzczMGQ4MWJiY2M1NDY4ODE5MWY3MzdiZjE0OWY2NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAg
LTM0OSw3ICszNDksNyBAQCB2b2lkIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OmFwcGx5TWFya3Vw
VG9Db250cm9sbGVkSW1hZ2UoKQogICAgICAgICBpZiAoIWRhdGEpCiAgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgcHJvdGVjdGVkUGFnZS0+cmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YShl
bGVtZW50Q29udGV4dCwgeyBTdHJpbmcodHlwZS5nZXQoKSkgfSwgSVBDOjpEYXRhUmVmZXJlbmNl
KHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihbZGF0YSBieXRlc10pLCBbZGF0YSBsZW5ndGhd
KSk7CisgICAgICAgIHByb3RlY3RlZFBhZ2UtPnJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1bHRz
KGVsZW1lbnRDb250ZXh0LCB7IFN0cmluZyh0eXBlLmdldCgpKSB9LCBJUEM6OkRhdGFSZWZlcmVu
Y2Uoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KFtkYXRhIGJ5dGVzXSksIFtkYXRhIGxlbmd0
aF0pKTsKICAgICB9KTsKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1F
TlRTKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29j
b2EvV2ViUGFnZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29j
b2EvV2ViUGFnZUNvY29hLm1tCmluZGV4IGY5MGVhMDAwN2JhNjc3MWI2OGE5YjljNzAxMTZiNGI4
NWM4MmE3ZDUuLmIyOTQwM2VmY2UyYjhlYzNhNDhjMjU0NjhmMTg5NjY3OWY4MTU2YzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdl
Q29jb2EubW0KQEAgLTU2Niw3ICs1NjYsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxTdHJpbmc+
IG1fdHlwZXM7CiB9OwogCi12b2lkIFdlYlBhZ2U6OnJlcGxhY2VXaXRoUGFzdGVib2FyZERhdGEo
Y29uc3QgRWxlbWVudENvbnRleHQmIGVsZW1lbnRDb250ZXh0LCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSkKK3ZvaWQgV2ViUGFnZTo6
cmVwbGFjZUltYWdlV2l0aE1hcmt1cFJlc3VsdHMoY29uc3QgRWxlbWVudENvbnRleHQmIGVsZW1l
bnRDb250ZXh0LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgZGF0YSkKIHsKICAgICBSZWYgZnJhbWUgPSBDaGVja2VkUmVmKG1fcGFnZS0+Zm9j
dXNDb250cm9sbGVyKCkpLT5mb2N1c2VkT3JNYWluRnJhbWUoKTsKICAgICBhdXRvIGVsZW1lbnQg
PSBlbGVtZW50Rm9yQ29udGV4dChlbGVtZW50Q29udGV4dCk7CkBAIC01OTQsNyArNTk0LDcgQEAg
dm9pZCBXZWJQYWdlOjpyZXBsYWNlV2l0aFBhc3RlYm9hcmREYXRhKGNvbnN0IEVsZW1lbnRDb250
ZXh0JiBlbGVtZW50Q29udGV4dCwgY28KICAgICB7CiAgICAgICAgIE92ZXJyaWRlUGFzdGVib2Fy
ZEZvclNlbGVjdGlvblJlcGxhY2VtZW50IG92ZXJyaWRlUGFzdGVib2FyZCB7IHR5cGVzLCBkYXRh
IH07CiAgICAgICAgIElnbm9yZVNlbGVjdGlvbkNoYW5nZUZvclNjb3BlIGlnbm9yZVNlbGVjdGlv
bkNoYW5nZXMgeyBmcmFtZS5nZXQoKSB9OwotICAgICAgICBmcmFtZS0+ZWRpdG9yKCkucmVwbGFj
ZU5vZGVGcm9tUGFzdGVib2FyZCgqZWxlbWVudCwgcmVwbGFjZVNlbGVjdGlvblBhc3RlYm9hcmRO
YW1lKCkpOworICAgICAgICBmcmFtZS0+ZWRpdG9yKCkucmVwbGFjZU5vZGVGcm9tUGFzdGVib2Fy
ZCgqZWxlbWVudCwgcmVwbGFjZVNlbGVjdGlvblBhc3RlYm9hcmROYW1lKCksIEVkaXRBY3Rpb246
Ok1hcmt1cEltYWdlKTsKICAgICB9CiAKICAgICBjb25zdGV4cHIgYXV0byByZXN0b3JlU2VsZWN0
aW9uT3B0aW9ucyA9IEZyYW1lU2VsZWN0aW9uOjpkZWZhdWx0U2V0U2VsZWN0aW9uT3B0aW9ucyhV
c2VyVHJpZ2dlcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAppbmRleCBiMjQzMTM4M2I1MTA0Yzk1MDg0MTZlYzEzNTRjYzY4MWFhYzkyYjMzLi5iMDMzYTJh
ZTkyMzEyYzFjODM5N2VmMGFmNWVkOWE1YTE4N2E5ZTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05NzcsNyArOTc3LDcgQEAgcHVibGljOgogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICB2b2lkIHJlcGxhY2VXaXRoUGFzdGVib2Fy
ZERhdGEoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOworICAgIHZvaWQgcmVwbGFjZUlt
YWdlV2l0aE1hcmt1cFJlc3VsdHMoY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogICAg
IHZvaWQgcmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgdHlwZXMsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CmluZGV4IDI1YzI4YjdjZDQ1OGM5YjI3MmM3MWNkMDBhMzc2ZDI2YzRlNjM3ODEuLmVhZDZiNjY5
YmRlZjYxNjQ3NmU3NDA2OWNlODJjOGMzY2E1ZGM5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNDcwLDcgKzQ3
MCw3IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktp
dDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAgICAgR2V0U3RyaW5nU2VsZWN0aW9uRm9y
UGFzdGVib2FyZCgpIC0+IChTdHJpbmcgc3RyaW5nVmFsdWUpIFN5bmNocm9ub3VzCiAgICAgR2V0
RGF0YVNlbGVjdGlvbkZvclBhc3RlYm9hcmQoU3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBpcGNIYW5kbGUpIFN5bmNocm9ub3VzCiAgICAg
UmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKGJv
b2wgcmVzdWx0KSBTeW5jaHJvbm91cwotICAgIFJlcGxhY2VXaXRoUGFzdGVib2FyZERhdGEoc3Ry
dWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGNvbnRleHQsIFZlY3RvcjxTdHJpbmc+IHR5cGVz
LCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKKyAgICBSZXBsYWNlSW1hZ2VXaXRoTWFya3VwUmVz
dWx0cyhzdHJ1Y3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQgY29udGV4dCwgVmVjdG9yPFN0cmlu
Zz4gdHlwZXMsIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQogICAgIFJlcGxhY2VTZWxlY3Rpb25X
aXRoUGFzdGVib2FyZERhdGEoVmVjdG9yPFN0cmluZz4gdHlwZXMsIElQQzo6RGF0YVJlZmVyZW5j
ZSBkYXRhKQogCiAgICAgU2hvdWxkRGVsYXlXaW5kb3dPcmRlcmluZ0V2ZW50KFdlYktpdDo6V2Vi
TW91c2VFdmVudCBldmVudCkgLT4gKGJvb2wgcmVzdWx0KSBTeW5jaHJvbm91cwpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE4NjJmMjljNWE2MTZj
MzFkYThkNjYwMjBiZTc3YjNlODRhMDIxMmIuLjAxNjRkZDAzZjcwZGI2MjQ0ZTMyYmJlZGVlNmNi
YTJlYmZjYmVjZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMi0wNC0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBVbmRvIG9wdGlvbiBhZnRlciBpbnZva2luZyAi
TWFya3VwIEltYWdlIiBzYXlzICJVbmRvIFBhc3RlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MzUxCisgICAgICAgIHJkYXI6Ly85MTY0Nzg2Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF1Z21lbnQg
YW4gZXhpc3RpbmcgQVBJIHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGhlIHJlc3VsdGluZyB1bmRvIGFj
dGlvbiB0aXRsZSBhZnRlciBpbnZva2luZyAiTWFya3VwIEltYWdlIiBpcyBub3QKKyAgICAgICAg
IlVuZG8gUGFzdGUiLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9JbWFnZUFuYWx5c2lzVGVzdHMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KwogMjAyMi0wNC0xMiAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4K
IAogICAgICAgICBbV2luQ2Fpcm9dIFdFQktJVF9MSUJSQVJJRVMgZW52IHZhciBzaG91bGQgYmUg
Y3VzdG9taXphYmxlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCmluZGV4IDA0YTQ0OTEyMDZkM2E0ZjFl
NWU3YmFhNGU2OGY1YTUwY2Q0NjViNTcuLjQ1YjU5MzdkMDhjNmI1NTZhNGIwZmFkMmRkMzgzMzdh
NzMzNWRkNzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tCkBAIC0zNDEsNiArMzQxLDEwIEBAIFRF
U1QoSW1hZ2VBbmFseXNpc1Rlc3RzLCBQZXJmb3JtSW1hZ2VBbmFseXNpc01hcmt1cCkKICAgICBV
dGlsOjp3YWl0Rm9yQ29uZGl0aW9uV2l0aExvZ2dpbmcoWyZdIHsKICAgICAgICAgcmV0dXJuIFtb
d2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuaW1hZ2VzWzBd
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIl0gaW50VmFsdWVdID09IDIxNTsKICAgICB9
LCAzLCBAIkV4cGVjdGVkIGJvdW5kaW5nIGNsaWVudCByZWN0IHRvIGJlY29tZSAyMTUuIik7CisK
KyAgICBOU1N0cmluZyAqdW5kb1RpdGxlID0gW3dlYlZpZXcgdW5kb01hbmFnZXJdLnVuZG9NZW51
SXRlbVRpdGxlOworICAgIEVYUEVDVF9HVCh1bmRvVGl0bGUubGVuZ3RoLCAwVSk7CisgICAgRVhQ
RUNUX0ZBTFNFKFt1bmRvVGl0bGUgY29udGFpbnNTdHJpbmc6QCJQYXN0ZSJdKTsKIH0KIAogI2Vu
ZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpICYmIFBMQVRGT1JNKElP
U19GQU1JTFkpCg==
</data>
<flag name="review"
          id="486326"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457654</attachid>
            <date>2022-04-14 16:08:45 -0700</date>
            <delta_ts>2022-04-14 21:45:17 -0700</delta_ts>
            <desc>For landing</desc>
            <filename>bug-239351-20220414160844.patch</filename>
            <type>text/plain</type>
            <size>29657</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkNzU1ZGY0MjliYjUw
YjRhMDQzNGIyOTM0OTQzZjMyMGE2ZWQ3Yy4uNzE0ZTBmMmU1MDZiYjI0ZGIxYmM2MzhhNTYxZDk5
NmMzNDNlNzc3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIyLTA0LTE0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFVuZG8gb3B0aW9u
IGFmdGVyIGludm9raW5nICJNYXJrdXAgSW1hZ2UiIHNheXMgIlVuZG8gUGFzdGUiCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkzNTEKKyAgICAgICAg
cmRhcjovLzkxNjQ3ODYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgQWRkIHBsdW1iaW5nIHRvIGFsbG93IGEgY2FsbGVyIG9mIGBFZGl0b3I6OnJlcGxhY2VO
b2RlRnJvbVBhc3RlYm9hcmRgIHRvIHNwZWNpZnkgYW4gYEVkaXRBY3Rpb25gIGZvciB0aGUgZWRp
dGluZworICAgICAgICBjb21tYW5kIHRoYXQgaXMgbm90IGp1c3QgYEVkaXRBY3Rpb246OlBhc3Rl
YCwgYW5kIHVzZSBpdCB0byBzdXBwbHkgYSBtb3JlIHNwZWNpZmljIGVkaXQgYWN0aW9uIHR5cGUg
b2YKKyAgICAgICAgYE1hcmt1cEltYWdlYCBpbiB0aGUgY2FzZSB3aGVyZSAiTWFya3VwIEltYWdl
IiBpcyB1c2VkIHRvIHJlcGxhY2UgYW4gaW1hZ2UgZWxlbWVudCB3aXRoIG90aGVyIGltYWdlIGRh
dGEuIFRoaXMKKyAgICAgICAgYWxsb3dzIHRoZSB1bmRvL3JlZG8gdGl0bGUgdG8gYmUgbW9yZSBh
Y2N1cmF0ZSB0aGFuIHNpbXBseSAiVW5kby9SZWRvIFBhc3RlIi4KKworICAgICAgICBUZXN0OiBJ
bWFnZUFuYWx5c2lzVGVzdHMuUGVyZm9ybUltYWdlQW5hbHlzaXNNYXJrdXAKKworICAgICAgICAq
IGRvbS9UZXh0RXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50OjpjcmVhdGVG
b3JQbGFpblRleHRQYXN0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0RXZlbnQ6OmNyZWF0ZUZv
ckZyYWdtZW50UGFzdGUpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEV2ZW50OjpUZXh0RXZlbnQp
OgorICAgICAgICAqIGRvbS9UZXh0RXZlbnQuaDoKKyAgICAgICAgKiBkb20vVGV4dEV2ZW50SW5w
dXRUeXBlLmg6CisKKyAgICAgICAgSW50cm9kdWNlIFRleHRFdmVudElucHV0TWFya3VwLiBUaGlz
IGlzIHVzZWQgdG8gcHJlc2VydmUgdGhlIGZhY3QgdGhhdCBhIGBUZXh0RXZlbnRgIHdhcyB0cmln
Z2VyZWQgdmlhCisgICAgICAgICJNYXJrdXAgSW1hZ2UiIGFzIG9wcG9zZWQgdG8gYSByZWd1bGFy
ICJQYXN0ZSIgY29tbWFuZCwgd2hlbiBwbHVtYmluZyB0aGlzIGV2ZW50IG9iamVjdCB0aHJvdWdo
IERPTSBldmVudAorICAgICAgICBwcm9wYWdhdGlvbiBjb2RlLiBPbmNlIGl0IHJlZW50ZXJzIGVk
aXRpbmcgY29kZSwgd2UgY29uc3VsdCB0aGlzIHR5cGUgdG8gcmUtbWFwIHRoaXMgZXZlbnQgdG8K
KyAgICAgICAgYEVkaXRBY3Rpb246Ok1hcmt1cEltYWdlYCBpZiBhcHByb3ByaWF0ZS4KKworICAg
ICAgICBJIG9wdGVkIGZvciB0aGlzIChzbGlnaHRseSBtb3JlIHJvdW5kYWJvdXQpIGFwcHJvYWNo
IHRvIHByZXZlbnQgYSBwb3RlbnRpYWwgbGF5ZXJpbmcgdmlvbGF0aW9uLCBkdWUgdG8gVGV4dEV2
ZW50CisgICAgICAgIG90aGVyd2lzZSBrbm93aW5nIGFib3V0IGBFZGl0QWN0aW9uYC4KKworICAg
ICAgICAqIGVkaXRpbmcvRWRpdEFjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp1bmRvUmVk
b0xhYmVsKToKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRBY3Rpb24uaDoKKworICAgICAgICBJbnRy
b2R1Y2UgRWRpdEFjdGlvbjo6TWFya3VwSW1hZ2UuIEFkZGl0aW9uYWxseSwgYWxwaGFiZXRpY2Fs
bHkgc29ydCB0aGVzZSBlbnVtIHR5cGVzLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpoYW5kbGVUZXh0RXZlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6RWRpdG9yOjpwYXN0ZUFzRnJhZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yOjpyZXBsYWNlU2VsZWN0aW9uV2l0aEZyYWdtZW50KToKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvci5oOgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW06CisgICAgICAg
IChXZWJDb3JlOjpFZGl0b3I6OnJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQpOgorCisgICAgICAg
IEFkZCBhbiBgRWRpdEFjdGlvbmAgYXJndW1lbnQ7IGJ5IGRlZmF1bHQsIHRoaXMgaXMgYEVkaXRB
Y3Rpb246OlBhc3RlYC4KKworICAgICAgICAqIGVuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3M6
CisKKyAgICAgICAgQWRkIGEgbmV3IGxvY2FsaXplZCBzdHJpbmcgdG8gcmVwcmVzZW50IHRoZSBu
YW1lIG9mIHRoZSAiTWFya3VwIEltYWdlIiBpdGVtLCBmb3IgdGhlIHB1cnBvc2VzIG9mIHNldHRp
bmcgdGhlCisgICAgICAgIFJlZG8vVW5kbyBhY3Rpb24gdGl0bGUuCisKIDIwMjItMDQtMTMgIEFu
ZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBmb3Ig
YWNjZXNzaWJpbGl0eS90YWJsZS1hZGQtcmVtb3ZlLXJvd3MuaHRtbCBpbiBpc29sYXRlZCB0cmVl
IG1vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDM3M2VhNzFiZjRkNTkxODgzOWIzMTFhZjlkYjJmN2UwMjkwZTc1
NDQuLjAxNGVjOGRhNmM1ZmIyN2QxYTYzNzRmMTUzZDc5MDM4NDFjNGQ3MzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzIgQEAKKzIwMjItMDQtMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CisKKyAgICAgICAgVW5kbyBvcHRpb24gYWZ0ZXIgaW52b2tpbmcgIk1hcmt1cCBJ
bWFnZSIgc2F5cyAiVW5kbyBQYXN0ZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTM1MQorICAgICAgICByZGFyOi8vOTE2NDc4NjMKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBSZW5hbWUgYHJlcGxhY2VXaXRo
UGFzdGVib2FyZERhdGFgIHRvIHRoZSBtb3JlIHNwZWNpZmljIGByZXBsYWNlSW1hZ2VXaXRoTWFy
a3VwUmVzdWx0c2AuIFRoaXMgbWV0aG9kIHdhcworICAgICAgICBpbnRyb2R1Y2VkIChhbmQgaXMg
Y3VycmVudGx5IG9ubHkgdXNlZCkgdG8gZHJpdmUgaW1hZ2UgcmVwbGFjZW1lbnQgdXNpbmcgIk1h
cmt1cCBJbWFnZSI7IGdpdmluZyB0aGlzIG1ldGhvZCBhCisgICAgICAgIG1vcmUgc3BlY2lmaWMg
bmFtZSBhbGxvd3MgdXMgdG8gaGFyZC1jb2RlIGBFZGl0QWN0aW9uOjpNYXJrdXBJbWFnZWAgd2hl
biBjYWxsaW5nIGludG8gRWRpdG9yIHRvIGNhcnJ5IG91dCB0aGUKKyAgICAgICAgcmVwbGFjZW1l
bnQgZWRpdGluZyBhY3Rpb24gaW4gYFdlYlBhZ2U6OnJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1
bHRzYC4KKworICAgICAgICBTZWUgV2ViQ29yZS9DaGFuZ2VMb2cgZm9yIGFkZGl0aW9uYWwgZGV0
YWlscy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZXBsYWNlSW1hZ2VXaXRoTWFya3VwUmVz
dWx0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVwbGFjZVdpdGhQYXN0ZWJv
YXJkRGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IGltYWdlQW5hbHlzaXNNYXJrdXBNZW51XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0TWVudVByb3h5TWFjOjphcHBseU1hcmt1cFRvQ29udHJvbGxlZEltYWdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXBsYWNlSW1hZ2VXaXRoTWFya3VwUmVzdWx0cyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlcGxhY2VXaXRoUGFzdGVib2FyZERhdGEpOiBE
ZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMjItMDQtMTMg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2Nzcy1z
Y3JvbGwtc25hcF0gc2Nyb2xsSW50b1ZpZXcgZmFpbHMgd2l0aCBzY3JvbGwtc25hcC10eXBlIG9u
IDpyb290CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCmluZGV4IDI1NTNhMGM3MzJkZDI5Mjk0M2Ji
NzMxZTc5NzQxZTEwYTZmNjQwMDUuLmY5MjhhNDRjODFjMThhYzY3MzYzYTU5MDkyYjg2YzhhZWUx
ODExYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnQuY3BwCkBAIC00OCwxMiArNDgsMTIgQEAgUmVm
PFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGUoUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcs
IGNvbnN0IFN0cmluZyYgZGF0YSwKIAogUmVmPFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGVG
b3JQbGFpblRleHRQYXN0ZShSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgY29uc3QgU3RyaW5n
JiBkYXRhLCBib29sIHNob3VsZFNtYXJ0UmVwbGFjZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBUZXh0RXZlbnQoV1RGTW92ZSh2aWV3KSwgZGF0YSwgbnVsbHB0ciwgc2hvdWxkU21hcnRS
ZXBsYWNlLCBmYWxzZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZzo6UmVzcGVjdEJsb2NrcXVvdGUp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBUZXh0RXZlbnQoV1RGTW92ZSh2aWV3KSwgZGF0
YSwgbnVsbHB0ciwgVGV4dEV2ZW50SW5wdXRQYXN0ZSwgc2hvdWxkU21hcnRSZXBsYWNlLCBmYWxz
ZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZzo6UmVzcGVjdEJsb2NrcXVvdGUpKTsKIH0KIAotUmVm
PFRleHRFdmVudD4gVGV4dEV2ZW50OjpjcmVhdGVGb3JGcmFnbWVudFBhc3RlKFJlZlB0cjxXaW5k
b3dQcm94eT4mJiB2aWV3LCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4mJiBkYXRhLCBib29sIHNo
b3VsZFNtYXJ0UmVwbGFjZSwgYm9vbCBzaG91bGRNYXRjaFN0eWxlLCBNYWlsQmxvY2txdW90ZUhh
bmRsaW5nIG1haWxCbG9ja3F1b3RlSGFuZGxpbmcpCitSZWY8VGV4dEV2ZW50PiBUZXh0RXZlbnQ6
OmNyZWF0ZUZvckZyYWdtZW50UGFzdGUoUmVmUHRyPFdpbmRvd1Byb3h5PiYmIHZpZXcsIFJlZlB0
cjxEb2N1bWVudEZyYWdtZW50PiYmIGRhdGEsIFRleHRFdmVudElucHV0VHlwZSBpbnB1dFR5cGUs
IGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNoU3R5bGUsIE1haWxCbG9j
a3F1b3RlSGFuZGxpbmcgbWFpbEJsb2NrcXVvdGVIYW5kbGluZykKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBUZXh0RXZlbnQoV1RGTW92ZSh2aWV3KSwgZW1wdHlTdHJpbmcoKSwgV1RGTW92
ZShkYXRhKSwgc2hvdWxkU21hcnRSZXBsYWNlLCBzaG91bGRNYXRjaFN0eWxlLCBtYWlsQmxvY2tx
dW90ZUhhbmRsaW5nKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVGV4dEV2ZW50KFdURk1v
dmUodmlldyksIGVtcHR5U3RyaW5nKCksIFdURk1vdmUoZGF0YSksIGlucHV0VHlwZSwgc2hvdWxk
U21hcnRSZXBsYWNlLCBzaG91bGRNYXRjaFN0eWxlLCBtYWlsQmxvY2txdW90ZUhhbmRsaW5nKSk7
CiB9CiAKIFJlZjxUZXh0RXZlbnQ+IFRleHRFdmVudDo6Y3JlYXRlRm9yRHJvcChSZWZQdHI8V2lu
ZG93UHJveHk+JiYgdmlldywgY29uc3QgU3RyaW5nJiBkYXRhKQpAQCAtODQsOSArODQsOSBAQCBU
ZXh0RXZlbnQ6OlRleHRFdmVudChSZWZQdHI8V2luZG93UHJveHk+JiYgdmlldywgY29uc3QgU3Ry
aW5nJiBkYXRhLCBUZXh0RXZlbnRJbgogewogfQogCi1UZXh0RXZlbnQ6OlRleHRFdmVudChSZWZQ
dHI8V2luZG93UHJveHk+JiYgdmlldywgY29uc3QgU3RyaW5nJiBkYXRhLCBSZWZQdHI8RG9jdW1l
bnRGcmFnbWVudD4mJiBwYXN0aW5nRnJhZ21lbnQsIGJvb2wgc2hvdWxkU21hcnRSZXBsYWNlLCBi
b29sIHNob3VsZE1hdGNoU3R5bGUsIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcgbWFpbEJsb2NrcXVv
dGVIYW5kbGluZykKK1RleHRFdmVudDo6VGV4dEV2ZW50KFJlZlB0cjxXaW5kb3dQcm94eT4mJiB2
aWV3LCBjb25zdCBTdHJpbmcmIGRhdGEsIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiYmIHBhc3Rp
bmdGcmFnbWVudCwgVGV4dEV2ZW50SW5wdXRUeXBlIGlucHV0VHlwZSwgYm9vbCBzaG91bGRTbWFy
dFJlcGxhY2UsIGJvb2wgc2hvdWxkTWF0Y2hTdHlsZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyBt
YWlsQmxvY2txdW90ZUhhbmRsaW5nKQogICAgIDogVUlFdmVudChldmVudE5hbWVzKCkudGV4dElu
cHV0RXZlbnQsIENhbkJ1YmJsZTo6WWVzLCBJc0NhbmNlbGFibGU6OlllcywgSXNDb21wb3NlZDo6
WWVzLCBXVEZNb3ZlKHZpZXcpLCAwKQotICAgICwgbV9pbnB1dFR5cGUoVGV4dEV2ZW50SW5wdXRQ
YXN0ZSkKKyAgICAsIG1faW5wdXRUeXBlKGlucHV0VHlwZSkKICAgICAsIG1fZGF0YShkYXRhKQog
ICAgICwgbV9wYXN0aW5nRnJhZ21lbnQoV1RGTW92ZShwYXN0aW5nRnJhZ21lbnQpKQogICAgICwg
bV9zaG91bGRTbWFydFJlcGxhY2Uoc2hvdWxkU21hcnRSZXBsYWNlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRFdmVu
dC5oCmluZGV4IGQzOGFhNDIwZjFjZmFhZWU5ZWUzOWE5MWNmZTcyZmNhOWRkZTNjZWQuLjU2ODJl
NGMxMjk2MTIxMzRjMTc4M2E1ZGIyMWVkZDA4ODA2Nzg2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UZXh0RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dEV2ZW50
LmgKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMg
UmVmPFRleHRFdmVudD4gY3JlYXRlKFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgY29uc3QgU3RyaW5n
JiBkYXRhLCBUZXh0RXZlbnRJbnB1dFR5cGUgPSBUZXh0RXZlbnRJbnB1dEtleWJvYXJkKTsKICAg
ICAgICAgc3RhdGljIFJlZjxUZXh0RXZlbnQ+IGNyZWF0ZUZvckJpbmRpbmdzKCk7CiAgICAgICAg
IHN0YXRpYyBSZWY8VGV4dEV2ZW50PiBjcmVhdGVGb3JQbGFpblRleHRQYXN0ZShSZWZQdHI8V2lu
ZG93UHJveHk+JiYsIGNvbnN0IFN0cmluZyYgZGF0YSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2Up
OwotICAgICAgICBzdGF0aWMgUmVmPFRleHRFdmVudD4gY3JlYXRlRm9yRnJhZ21lbnRQYXN0ZShS
ZWZQdHI8V2luZG93UHJveHk+JiYsIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiYmIGRhdGEsIGJv
b2wgc2hvdWxkU21hcnRSZXBsYWNlLCBib29sIHNob3VsZE1hdGNoU3R5bGUsIE1haWxCbG9ja3F1
b3RlSGFuZGxpbmcpOworICAgICAgICBzdGF0aWMgUmVmPFRleHRFdmVudD4gY3JlYXRlRm9yRnJh
Z21lbnRQYXN0ZShSZWZQdHI8V2luZG93UHJveHk+JiYsIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50
PiYmIGRhdGEsIFRleHRFdmVudElucHV0VHlwZSwgYm9vbCBzaG91bGRTbWFydFJlcGxhY2UsIGJv
b2wgc2hvdWxkTWF0Y2hTdHlsZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyk7CiAgICAgICAgIHN0
YXRpYyBSZWY8VGV4dEV2ZW50PiBjcmVhdGVGb3JEcm9wKFJlZlB0cjxXaW5kb3dQcm94eT4mJiwg
Y29uc3QgU3RyaW5nJiBkYXRhKTsKICAgICAgICAgc3RhdGljIFJlZjxUZXh0RXZlbnQ+IGNyZWF0
ZUZvckRpY3RhdGlvbihSZWZQdHI8V2luZG93UHJveHk+JiYsIGNvbnN0IFN0cmluZyYgZGF0YSwg
Y29uc3QgVmVjdG9yPERpY3RhdGlvbkFsdGVybmF0aXZlPiYgZGljdGF0aW9uQWx0ZXJuYXRpdmVz
KTsKIApAQCAtNjIsNiArNjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wg
aXNEaWN0YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2lucHV0VHlwZSA9PSBUZXh0RXZlbnRJbnB1
dERpY3RhdGlvbjsgfQogICAgICAgICBib29sIGlzQXV0b2NvbXBsZXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX2lucHV0VHlwZSA9PSBUZXh0RXZlbnRJbnB1dEF1dG9jb21wbGV0aW9uOyB9CiAgICAg
ICAgIGJvb2wgaXNLZXlib2FyZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5wdXRUeXBlID09IFRleHRF
dmVudElucHV0S2V5Ym9hcmQ7IH0KKyAgICAgICAgYm9vbCBpc01hcmt1cCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5wdXRUeXBlID09IFRleHRFdmVudElucHV0TWFya3VwOyB9CiAKICAgICAgICAgYm9v
bCBzaG91bGRTbWFydFJlcGxhY2UoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNtYXJ0UmVwbGFj
ZTsgfQogICAgICAgICBib29sIHNob3VsZE1hdGNoU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3No
b3VsZE1hdGNoU3R5bGU7IH0KQEAgLTczLDcgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBUZXh0RXZlbnQoKTsKIAogICAgICAgICBUZXh0RXZlbnQoUmVmUHRyPFdpbmRvd1By
b3h5PiYmLCBjb25zdCBTdHJpbmcmIGRhdGEsIFRleHRFdmVudElucHV0VHlwZSA9IFRleHRFdmVu
dElucHV0S2V5Ym9hcmQpOwotICAgICAgICBUZXh0RXZlbnQoUmVmUHRyPFdpbmRvd1Byb3h5PiYm
LCBjb25zdCBTdHJpbmcmIGRhdGEsIFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiYmLCBib29sIHNo
b3VsZFNtYXJ0UmVwbGFjZSwgYm9vbCBzaG91bGRNYXRjaFN0eWxlLCBNYWlsQmxvY2txdW90ZUhh
bmRsaW5nKTsKKyAgICAgICAgVGV4dEV2ZW50KFJlZlB0cjxXaW5kb3dQcm94eT4mJiwgY29uc3Qg
U3RyaW5nJiBkYXRhLCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4mJiwgVGV4dEV2ZW50SW5wdXRU
eXBlLCBib29sIHNob3VsZFNtYXJ0UmVwbGFjZSwgYm9vbCBzaG91bGRNYXRjaFN0eWxlLCBNYWls
QmxvY2txdW90ZUhhbmRsaW5nKTsKICAgICAgICAgVGV4dEV2ZW50KFJlZlB0cjxXaW5kb3dQcm94
eT4mJiwgY29uc3QgU3RyaW5nJiBkYXRhLCBjb25zdCBWZWN0b3I8RGljdGF0aW9uQWx0ZXJuYXRp
dmU+JiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMpOwogCiAgICAgICAgIGJvb2wgaXNUZXh0RXZlbnQo
KSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZl
bnRJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaApp
bmRleCA2OGVlZjQ3YmMxNmRjMjlhMDZjM2JiMmU4MDY3MDZhMjRkZWQ2ZDI5Li43YjFlZWJiMjA4
ZDc5NzcyNWVkNDcwNWRiYzJlMDA1NWI5OGUwMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVGV4dEV2ZW50SW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHRF
dmVudElucHV0VHlwZS5oCkBAIC0zNiw2ICszNiw3IEBAIGVudW0gVGV4dEV2ZW50SW5wdXRUeXBl
IHsKICAgICBUZXh0RXZlbnRJbnB1dFBhc3RlLAogICAgIFRleHRFdmVudElucHV0RHJvcCwKICAg
ICBUZXh0RXZlbnRJbnB1dERpY3RhdGlvbiwKKyAgICBUZXh0RXZlbnRJbnB1dE1hcmt1cCwKICAg
ICBUZXh0RXZlbnRJbnB1dE90aGVyLAogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0QWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdEFjdGlv
bi5jcHAKaW5kZXggMjg4MmVhNDQzMDUzMjJjYzY4MGZlZWUzNzBlODViMTgyYWZlNGIzZS4uMGUy
YmQ5MDg4NGE5NWY2ZmM1MDVhM2Y5ZWU5MzNkMjhiZjUyNjVkMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRBY3Rpb24uY3BwCkBAIC0xNDIsNiArMTQyLDggQEAgU3RyaW5nIHVuZG9SZWRvTGFi
ZWwoRWRpdEFjdGlvbiBlZGl0QWN0aW9uKQogICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklOR19L
RVkoIkNvbnZlcnQgdG8gT3JkZXJlZCBMaXN0IiwgIkNvbnZlcnQgdG8gT3JkZXJlZCBMaXN0IChV
bmRvIGFjdGlvbiBuYW1lKSIsICJVbmRvIGFjdGlvbiBuYW1lIik7CiAgICAgY2FzZSBFZGl0QWN0
aW9uOjpDb252ZXJ0VG9Vbm9yZGVyZWRMaXN0OgogICAgICAgICByZXR1cm4gV0VCX1VJX1NUUklO
R19LRVkoIkNvbnZlcnQgdG8gVW5vcmRlcmVkIExpc3QiLCAiQ29udmVydCB0byBVbm9yZGVyZWQg
TGlzdCAoVW5kbyBhY3Rpb24gbmFtZSkiLCAiVW5kbyBhY3Rpb24gbmFtZSIpOworICAgIGNhc2Ug
RWRpdEFjdGlvbjo6TWFya3VwSW1hZ2U6CisgICAgICAgIHJldHVybiBXRUJfVUlfU1RSSU5HX0tF
WSgiTWFya3VwIEltYWdlIiwgIkltYWdlIGFuYWx5c2lzIG1hcmt1cCBtZW51IGl0ZW0gKFVuZG8g
YWN0aW9uIG5hbWUpIiwgIlVuZG8gYWN0aW9uIG5hbWUiKTsKICAgICB9CiAgICAgcmV0dXJuIHsg
fTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdEFjdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmgKaW5kZXggYzYwYzZiY2M4MDU1NTU2
N2EzY2JkZjYxYjg4N2Q0NGMyZTIxZGFmOC4uZjI1YzNkNzg0YmVhZDZhZWFjNzA2MGQwOTlkYzgz
MDg3ZTc2MWYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0QWN0aW9uLmgKQEAgLTMyLDY4ICsz
Miw2OSBAQCBjbGFzcyBTdHJpbmc7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGVudW0gY2xhc3Mg
RWRpdEFjdGlvbiA6IHVpbnQ4X3QgewotICAgIFVuc3BlY2lmaWVkLAotICAgIEluc2VydCwKLSAg
ICBJbnNlcnRSZXBsYWNlbWVudCwKLSAgICBJbnNlcnRGcm9tRHJvcCwKLSAgICBTZXRDb2xvciwK
LSAgICBTZXRCYWNrZ3JvdW5kQ29sb3IsCi0gICAgVHVybk9mZktlcm5pbmcsCi0gICAgVGlnaHRl
bktlcm5pbmcsCi0gICAgTG9vc2VuS2VybmluZywKLSAgICBVc2VTdGFuZGFyZEtlcm5pbmcsCi0g
ICAgVHVybk9mZkxpZ2F0dXJlcywKLSAgICBVc2VTdGFuZGFyZExpZ2F0dXJlcywKLSAgICBVc2VB
bGxMaWdhdHVyZXMsCi0gICAgUmFpc2VCYXNlbGluZSwKLSAgICBMb3dlckJhc2VsaW5lLAotICAg
IFNldFRyYWRpdGlvbmFsQ2hhcmFjdGVyU2hhcGUsCi0gICAgU2V0Rm9udCwKLSAgICBDaGFuZ2VB
dHRyaWJ1dGVzLAogICAgIEFsaWduTGVmdCwKICAgICBBbGlnblJpZ2h0LAorICAgIEJvbGQsCiAg
ICAgQ2VudGVyLAotICAgIEp1c3RpZnksCi0gICAgU2V0SW5saW5lV3JpdGluZ0RpcmVjdGlvbiwK
LSAgICBTZXRCbG9ja1dyaXRpbmdEaXJlY3Rpb24sCi0gICAgU3Vic2NyaXB0LAotICAgIFN1cGVy
c2NyaXB0LAotICAgIFVuZGVybGluZSwKLSAgICBTdHJpa2VUaHJvdWdoLAotICAgIE91dGxpbmUs
Ci0gICAgVW5zY3JpcHQsCi0gICAgRGVsZXRlQnlEcmFnLAorICAgIENoYW5nZUF0dHJpYnV0ZXMs
CisgICAgQ29udmVydFRvT3JkZXJlZExpc3QsCisgICAgQ29udmVydFRvVW5vcmRlcmVkTGlzdCwK
KyAgICBDcmVhdGVMaW5rLAogICAgIEN1dCwKLSAgICBCb2xkLAotICAgIEl0YWxpY3MsCiAgICAg
RGVsZXRlLAorICAgIERlbGV0ZUJ5RHJhZywKICAgICBEaWN0YXRpb24sCisgICAgRm9ybWF0Qmxv
Y2ssCisgICAgSW5kZW50LAorICAgIEluc2VydCwKKyAgICBJbnNlcnRGcm9tRHJvcCwKKyAgICBJ
bnNlcnRPcmRlcmVkTGlzdCwKKyAgICBJbnNlcnRSZXBsYWNlbWVudCwKKyAgICBJbnNlcnRVbm9y
ZGVyZWRMaXN0LAorICAgIEl0YWxpY3MsCisgICAgSnVzdGlmeSwKKyAgICBMb29zZW5LZXJuaW5n
LAorICAgIExvd2VyQmFzZWxpbmUsCisgICAgTWFya3VwSW1hZ2UsCisgICAgT3V0ZGVudCwKKyAg
ICBPdXRsaW5lLAogICAgIFBhc3RlLAogICAgIFBhc3RlRm9udCwKICAgICBQYXN0ZVJ1bGVyLAot
ICAgIFR5cGluZ0RlbGV0ZVNlbGVjdGlvbiwKKyAgICBSYWlzZUJhc2VsaW5lLAorICAgIFNldEJh
Y2tncm91bmRDb2xvciwKKyAgICBTZXRCbG9ja1dyaXRpbmdEaXJlY3Rpb24sCisgICAgU2V0Q29s
b3IsCisgICAgU2V0Rm9udCwKKyAgICBTZXRJbmxpbmVXcml0aW5nRGlyZWN0aW9uLAorICAgIFNl
dFRyYWRpdGlvbmFsQ2hhcmFjdGVyU2hhcGUsCisgICAgU3RyaWtlVGhyb3VnaCwKKyAgICBTdWJz
Y3JpcHQsCisgICAgU3VwZXJzY3JpcHQsCisgICAgVGlnaHRlbktlcm5pbmcsCisgICAgVHVybk9m
Zktlcm5pbmcsCisgICAgVHVybk9mZkxpZ2F0dXJlcywKICAgICBUeXBpbmdEZWxldGVCYWNrd2Fy
ZCwKKyAgICBUeXBpbmdEZWxldGVGaW5hbENvbXBvc2l0aW9uLAogICAgIFR5cGluZ0RlbGV0ZUZv
cndhcmQsCi0gICAgVHlwaW5nRGVsZXRlV29yZEJhY2t3YXJkLAotICAgIFR5cGluZ0RlbGV0ZVdv
cmRGb3J3YXJkLAogICAgIFR5cGluZ0RlbGV0ZUxpbmVCYWNrd2FyZCwKICAgICBUeXBpbmdEZWxl
dGVMaW5lRm9yd2FyZCwKICAgICBUeXBpbmdEZWxldGVQZW5kaW5nQ29tcG9zaXRpb24sCi0gICAg
VHlwaW5nRGVsZXRlRmluYWxDb21wb3NpdGlvbiwKLSAgICBUeXBpbmdJbnNlcnRUZXh0LAorICAg
IFR5cGluZ0RlbGV0ZVNlbGVjdGlvbiwKKyAgICBUeXBpbmdEZWxldGVXb3JkQmFja3dhcmQsCisg
ICAgVHlwaW5nRGVsZXRlV29yZEZvcndhcmQsCisgICAgVHlwaW5nSW5zZXJ0RmluYWxDb21wb3Np
dGlvbiwKICAgICBUeXBpbmdJbnNlcnRMaW5lQnJlYWssCiAgICAgVHlwaW5nSW5zZXJ0UGFyYWdy
YXBoLAogICAgIFR5cGluZ0luc2VydFBlbmRpbmdDb21wb3NpdGlvbiwKLSAgICBUeXBpbmdJbnNl
cnRGaW5hbENvbXBvc2l0aW9uLAotICAgIENyZWF0ZUxpbmssCisgICAgVHlwaW5nSW5zZXJ0VGV4
dCwKKyAgICBVbmRlcmxpbmUsCiAgICAgVW5saW5rLAotICAgIEZvcm1hdEJsb2NrLAotICAgIElu
c2VydE9yZGVyZWRMaXN0LAotICAgIEluc2VydFVub3JkZXJlZExpc3QsCi0gICAgQ29udmVydFRv
T3JkZXJlZExpc3QsCi0gICAgQ29udmVydFRvVW5vcmRlcmVkTGlzdCwKLSAgICBJbmRlbnQsCi0g
ICAgT3V0ZGVudAorICAgIFVuc2NyaXB0LAorICAgIFVuc3BlY2lmaWVkLAorICAgIFVzZUFsbExp
Z2F0dXJlcywKKyAgICBVc2VTdGFuZGFyZEtlcm5pbmcsCisgICAgVXNlU3RhbmRhcmRMaWdhdHVy
ZXMsCiB9OwogCiBXVEY6OlN0cmluZyB1bmRvUmVkb0xhYmVsKEVkaXRBY3Rpb24pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4IDk3NDc4OGEzYjNhYTgxM2VmMDFlMmQyMWJiMjc5MjJj
MjBmYjdkY2QuLjdiNGI3MWFiOTNjNmVkN2Q1Njg4ZjQ4NDViMzM0MTg0ZWIyYzBjYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTMzNywxNSArMzM3LDE2IEBAIGJvb2wgRWRpdG9y
OjpoYW5kbGVUZXh0RXZlbnQoVGV4dEV2ZW50JiBldmVudCkKICAgICBpZiAoZXZlbnQuaXNEcm9w
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChldmVudC5pc1Bhc3RlKCkpIHsK
KyAgICBpZiAoZXZlbnQuaXNQYXN0ZSgpIHx8IGV2ZW50LmlzTWFya3VwKCkpIHsKKyAgICAgICAg
YXV0byBhY3Rpb24gPSBldmVudC5pc01hcmt1cCgpID8gRWRpdEFjdGlvbjo6TWFya3VwSW1hZ2Ug
OiBFZGl0QWN0aW9uOjpQYXN0ZTsKICAgICAgICAgaWYgKGV2ZW50LnBhc3RpbmdGcmFnbWVudCgp
KSB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgICAgIGlmIChjbGllbnQoKS0+
cGVyZm9ybXNUd29TdGVwUGFzdGUoZXZlbnQucGFzdGluZ0ZyYWdtZW50KCkpKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCi0gICAgICAgICAgICByZXBsYWNlU2VsZWN0aW9u
V2l0aEZyYWdtZW50KCpldmVudC5wYXN0aW5nRnJhZ21lbnQoKSwgU2VsZWN0UmVwbGFjZW1lbnQ6
Ok5vLCBldmVudC5zaG91bGRTbWFydFJlcGxhY2UoKSA/IFNtYXJ0UmVwbGFjZTo6WWVzIDogU21h
cnRSZXBsYWNlOjpObywgZXZlbnQuc2hvdWxkTWF0Y2hTdHlsZSgpID8gTWF0Y2hTdHlsZTo6WWVz
IDogTWF0Y2hTdHlsZTo6Tm8sIEVkaXRBY3Rpb246OlBhc3RlLCBldmVudC5tYWlsQmxvY2txdW90
ZUhhbmRsaW5nKCkpOworICAgICAgICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhGcmFnbWVudCgq
ZXZlbnQucGFzdGluZ0ZyYWdtZW50KCksIFNlbGVjdFJlcGxhY2VtZW50OjpObywgZXZlbnQuc2hv
dWxkU21hcnRSZXBsYWNlKCkgPyBTbWFydFJlcGxhY2U6OlllcyA6IFNtYXJ0UmVwbGFjZTo6Tm8s
IGV2ZW50LnNob3VsZE1hdGNoU3R5bGUoKSA/IE1hdGNoU3R5bGU6OlllcyA6IE1hdGNoU3R5bGU6
Ok5vLCBhY3Rpb24sIGV2ZW50Lm1haWxCbG9ja3F1b3RlSGFuZGxpbmcoKSk7CiAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KGV2ZW50LmRhdGEoKSwg
U2VsZWN0UmVwbGFjZW1lbnQ6Ok5vLCBldmVudC5zaG91bGRTbWFydFJlcGxhY2UoKSA/IFNtYXJ0
UmVwbGFjZTo6WWVzIDogU21hcnRSZXBsYWNlOjpObywgRWRpdEFjdGlvbjo6UGFzdGUpOworICAg
ICAgICAgICAgcmVwbGFjZVNlbGVjdGlvbldpdGhUZXh0KGV2ZW50LmRhdGEoKSwgU2VsZWN0UmVw
bGFjZW1lbnQ6Ok5vLCBldmVudC5zaG91bGRTbWFydFJlcGxhY2UoKSA/IFNtYXJ0UmVwbGFjZTo6
WWVzIDogU21hcnRSZXBsYWNlOjpObywgYWN0aW9uKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCkBAIC02MjYsMTIgKzYyNywxNSBAQCB2b2lkIEVkaXRvcjo6cGFzdGVBc1BsYWluVGV4
dChjb25zdCBTdHJpbmcmIHBhc3RpbmdUZXh0LCBib29sIHNtYXJ0UmVwbGFjZSkKICAgICB0YXJn
ZXQtPmRpc3BhdGNoRXZlbnQoVGV4dEV2ZW50OjpjcmVhdGVGb3JQbGFpblRleHRQYXN0ZShkb2N1
bWVudCgpLndpbmRvd1Byb3h5KCksIHBhc3RpbmdUZXh0LCBzbWFydFJlcGxhY2UpKTsKIH0KIAot
dm9pZCBFZGl0b3I6OnBhc3RlQXNGcmFnbWVudChSZWY8RG9jdW1lbnRGcmFnbWVudD4mJiBwYXN0
aW5nRnJhZ21lbnQsIGJvb2wgc21hcnRSZXBsYWNlLCBib29sIG1hdGNoU3R5bGUsIE1haWxCbG9j
a3F1b3RlSGFuZGxpbmcgcmVzcGVjdHNNYWlsQmxvY2txdW90ZSkKK3ZvaWQgRWRpdG9yOjpwYXN0
ZUFzRnJhZ21lbnQoUmVmPERvY3VtZW50RnJhZ21lbnQ+JiYgcGFzdGluZ0ZyYWdtZW50LCBib29s
IHNtYXJ0UmVwbGFjZSwgYm9vbCBtYXRjaFN0eWxlLCBNYWlsQmxvY2txdW90ZUhhbmRsaW5nIHJl
c3BlY3RzTWFpbEJsb2NrcXVvdGUsIEVkaXRBY3Rpb24gYWN0aW9uKQogewogICAgIGF1dG8gdGFy
Z2V0ID0gZmluZEV2ZW50VGFyZ2V0RnJvbVNlbGVjdGlvbigpOwogICAgIGlmICghdGFyZ2V0KQog
ICAgICAgICByZXR1cm47Ci0gICAgdGFyZ2V0LT5kaXNwYXRjaEV2ZW50KFRleHRFdmVudDo6Y3Jl
YXRlRm9yRnJhZ21lbnRQYXN0ZShkb2N1bWVudCgpLndpbmRvd1Byb3h5KCksIFdURk1vdmUocGFz
dGluZ0ZyYWdtZW50KSwgc21hcnRSZXBsYWNlLCBtYXRjaFN0eWxlLCByZXNwZWN0c01haWxCbG9j
a3F1b3RlKSk7CisKKyAgICBBU1NFUlQoYWN0aW9uID09IEVkaXRBY3Rpb246Ok1hcmt1cEltYWdl
IHx8IGFjdGlvbiA9PSBFZGl0QWN0aW9uOjpQYXN0ZSk7CisgICAgYXV0byB0eXBlID0gYWN0aW9u
ID09IEVkaXRBY3Rpb246Ok1hcmt1cEltYWdlID8gVGV4dEV2ZW50SW5wdXRNYXJrdXAgOiBUZXh0
RXZlbnRJbnB1dFBhc3RlOworICAgIHRhcmdldC0+ZGlzcGF0Y2hFdmVudChUZXh0RXZlbnQ6OmNy
ZWF0ZUZvckZyYWdtZW50UGFzdGUoZG9jdW1lbnQoKS53aW5kb3dQcm94eSgpLCBXVEZNb3ZlKHBh
c3RpbmdGcmFnbWVudCksIHR5cGUsIHNtYXJ0UmVwbGFjZSwgbWF0Y2hTdHlsZSwgcmVzcGVjdHNN
YWlsQmxvY2txdW90ZSkpOwogfQogCiB2b2lkIEVkaXRvcjo6cGFzdGVBc1BsYWluVGV4dEJ5cGFz
c2luZ0RIVE1MKCkKQEAgLTY4Niw3ICs2OTAsNyBAQCB2b2lkIEVkaXRvcjo6cmVwbGFjZVNlbGVj
dGlvbldpdGhGcmFnbWVudChEb2N1bWVudEZyYWdtZW50JiBmcmFnbWVudCwgU2VsZWN0UmVwbAog
ICAgICAgICByZXR1cm47CiAKICAgICBBY2Nlc3NpYmlsaXR5UmVwbGFjZWRUZXh0IHJlcGxhY2Vk
VGV4dDsKLSAgICBpZiAoQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSAmJiAo
ZWRpdGluZ0FjdGlvbiA9PSBFZGl0QWN0aW9uOjpQYXN0ZSB8fCBlZGl0aW5nQWN0aW9uID09IEVk
aXRBY3Rpb246Okluc2VydCkpCisgICAgaWYgKEFYT2JqZWN0Q2FjaGU6OmFjY2Vzc2liaWxpdHlF
bmFibGVkKCkgJiYgKGVkaXRpbmdBY3Rpb24gPT0gRWRpdEFjdGlvbjo6UGFzdGUgfHwgZWRpdGlu
Z0FjdGlvbiA9PSBFZGl0QWN0aW9uOjpJbnNlcnQgfHwgZWRpdGluZ0FjdGlvbiA9PSBFZGl0QWN0
aW9uOjpNYXJrdXBJbWFnZSkpCiAgICAgICAgIHJlcGxhY2VkVGV4dCA9IEFjY2Vzc2liaWxpdHlS
ZXBsYWNlZFRleHQoc2VsZWN0aW9uKTsKIAogICAgIE9wdGlvblNldDxSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZDo6Q29tbWFuZE9wdGlvbj4gb3B0aW9ucyB7IFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
OjpQcmV2ZW50TmVzdGluZywgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OlNhbml0aXplRnJhZ21l
bnQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IGZhZGFiMjhmNTMyYmIzYmRhMGZjOTM1
M2MxZjRkMTg1OWU4MzMxNzMuLjg1YTJmMTJhMWQyN2IyYzdjMzhiOTcyMGQzM2UxMWZhYzcxNzAw
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNDQ0LDcgKzQ0NCw3IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGhhbmRsZUFsdGVybmF0aXZlVGV4dFVJUmVzdWx0KGNv
bnN0IFN0cmluZyYgY29ycmVjdGlvbik7CiAgICAgdm9pZCBkaXNtaXNzQ29ycmVjdGlvblBhbmVs
QXNJZ25vcmVkKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBhc3RlQXNGcmFnbWVudChS
ZWY8RG9jdW1lbnRGcmFnbWVudD4mJiwgYm9vbCBzbWFydFJlcGxhY2UsIGJvb2wgbWF0Y2hTdHls
ZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyA9IE1haWxCbG9ja3F1b3RlSGFuZGxpbmc6OlJlc3Bl
Y3RCbG9ja3F1b3RlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBhc3RlQXNGcmFnbWVudChS
ZWY8RG9jdW1lbnRGcmFnbWVudD4mJiwgYm9vbCBzbWFydFJlcGxhY2UsIGJvb2wgbWF0Y2hTdHls
ZSwgTWFpbEJsb2NrcXVvdGVIYW5kbGluZyA9IE1haWxCbG9ja3F1b3RlSGFuZGxpbmc6OlJlc3Bl
Y3RCbG9ja3F1b3RlLCBFZGl0QWN0aW9uID0gRWRpdEFjdGlvbjo6UGFzdGUpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgcGFzdGVBc1BsYWluVGV4dChjb25zdCBTdHJpbmcmLCBib29sIHNtYXJ0
UmVwbGFjZSk7CiAKICAgICAvLyBUaGlzIGlzIG9ubHkgY2FsbGVkIG9uIHRoZSBtYWMgd2hlcmUg
cGFzdGUgaXMgaW1wbGVtZW50ZWQgcHJpbWFyaWx5IGF0IHRoZSBXZWJLaXQgbGV2ZWwuCkBAIC01
MzcsNyArNTM3LDcgQEAgcHVibGljOgogICAgIHZvaWQgdGFrZUZpbmRTdHJpbmdGcm9tU2VsZWN0
aW9uKCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBsYWNlU2VsZWN0aW9uV2l0aEF0dHJp
YnV0ZWRTdHJpbmcoTlNBdHRyaWJ1dGVkU3RyaW5nICosIE1haWxCbG9ja3F1b3RlSGFuZGxpbmcg
PSBNYWlsQmxvY2txdW90ZUhhbmRsaW5nOjpSZXNwZWN0QmxvY2txdW90ZSk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCByZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQoY29uc3QgU3RyaW5nJiBw
YXN0ZWJvYXJkTmFtZSk7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXBsYWNlTm9kZUZyb21Q
YXN0ZWJvYXJkKE5vZGUmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQoTm9kZSYsIGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIEVkaXRBY3Rpb24gPSBFZGl0QWN0aW9uOjpQYXN0ZSk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29h
L0VkaXRvckNvY29hLm1tCmluZGV4IGY4OGE4MTZlYTYzNzZkMTcyNDBhNjQ4MTFlOTY4YTk1ZjM4
OWM4MDMuLjEwMDk2YTEwOGVjMzk3ZTE4NjVhOTZmMmYyZmZjY2JjMDBiOTY0MjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRWRpdG9yQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9FZGl0b3JDb2NvYS5tbQpAQCAtMzQ2LDcgKzM0Niw3
IEBAIHN0YXRpYyB2b2lkIG1heWJlQ29weU5vZGVBdHRyaWJ1dGVzVG9GcmFnbWVudChjb25zdCBO
b2RlJiBub2RlLCBEb2N1bWVudEZyYWdtZW50CiAgICAgfQogfQogCi12b2lkIEVkaXRvcjo6cmVw
bGFjZU5vZGVGcm9tUGFzdGVib2FyZChOb2RlJiBub2RlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9h
cmROYW1lKQordm9pZCBFZGl0b3I6OnJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQoTm9kZSYgbm9k
ZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgRWRpdEFjdGlvbiBhY3Rpb24pCiB7CiAg
ICAgaWYgKG5vZGUuZG9jdW1lbnQoKSAhPSBtX2RvY3VtZW50KQogICAgICAgICByZXR1cm47CkBA
IC0zNzcsNyArMzc3LDcgQEAgdm9pZCBFZGl0b3I6OnJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQo
Tm9kZSYgbm9kZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkKICAgICBpZiAoYXV0byBm
cmFnbWVudCA9IHdlYkNvbnRlbnRGcm9tUGFzdGVib2FyZChwYXN0ZWJvYXJkLCAqcmFuZ2UsIHRy
dWUsIGNob3NlUGxhaW5UZXh0KSkgewogICAgICAgICBtYXliZUNvcHlOb2RlQXR0cmlidXRlc1Rv
RnJhZ21lbnQobm9kZSwgKmZyYWdtZW50KTsKICAgICAgICAgaWYgKHNob3VsZEluc2VydEZyYWdt
ZW50KCpmcmFnbWVudCwgKnJhbmdlLCBFZGl0b3JJbnNlcnRBY3Rpb246OlBhc3RlZCkpCi0gICAg
ICAgICAgICBwYXN0ZUFzRnJhZ21lbnQoZnJhZ21lbnQucmVsZWFzZU5vbk51bGwoKSwgZmFsc2Us
IGZhbHNlLCBNYWlsQmxvY2txdW90ZUhhbmRsaW5nOjpJZ25vcmVCbG9ja3F1b3RlKTsKKyAgICAg
ICAgICAgIHBhc3RlQXNGcmFnbWVudChmcmFnbWVudC5yZWxlYXNlTm9uTnVsbCgpLCBmYWxzZSwg
ZmFsc2UsIE1haWxCbG9ja3F1b3RlSGFuZGxpbmc6Oklnbm9yZUJsb2NrcXVvdGUsIGFjdGlvbik7
CiAgICAgfQogCiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncyBiL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MKaW5kZXggZDc0Njg2OWMwMWVhMTU1ODkyZTYxOWU0MmRjMjRkYmU4
OGM4MTlmYi4uOGFlODUzMTlhZmI1NmYyM2NiYzE3MGYyZDdkYzEyZjc0MDU0NWNjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncworKysgYi9T
b3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCkBAIC01NDcsNiArNTQ3
LDkgQEAKIC8qIElnbm9yZSBTcGVsbGluZyBjb250ZXh0IG1lbnUgaXRlbSAqLwogIklnbm9yZSBT
cGVsbGluZyIgPSAiSWdub3JlIFNwZWxsaW5nIjsKIAorLyogVW5kbyBhY3Rpb24gbmFtZSAqLwor
IkltYWdlIGFuYWx5c2lzIG1hcmt1cCBtZW51IGl0ZW0gKFVuZG8gYWN0aW9uIG5hbWUpIiA9ICJN
YXJrdXAgSW1hZ2UiOworCiAvKiBVbmRvIGFjdGlvbiBuYW1lICovCiAiSW5kZW50IChVbmRvIGFj
dGlvbiBuYW1lKSIgPSAiSW5kZW50IjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA4YzliYWE1MDg1NTRkNDY1YjJmNGQ1
ZTI5YjNhNWRhMDIxZjljNDYyLi4yMDczOWU1YWRiMGI3N2FmZWIzMTA1ODFlYjk2ZDdlM2E3ODAy
YjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQpAQCAtOTE1LDkgKzkxNSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXBsYWNl
U2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0eXBlCiAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJk
RGF0YSh0eXBlcywgZGF0YSkpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVwbGFjZVdpdGhQ
YXN0ZWJvYXJkRGF0YShjb25zdCBFbGVtZW50Q29udGV4dCYgZWxlbWVudENvbnRleHQsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiB0eXBlcywgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhKQor
dm9pZCBXZWJQYWdlUHJveHk6OnJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1bHRzKGNvbnN0IEVs
ZW1lbnRDb250ZXh0JiBlbGVtZW50Q29udGV4dCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVz
LCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6UmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YShlbGVtZW50Q29udGV4dCwgdHlwZXMs
IGRhdGEpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXBsYWNlSW1hZ2VXaXRoTWFy
a3VwUmVzdWx0cyhlbGVtZW50Q29udGV4dCwgdHlwZXMsIGRhdGEpKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDQz
ZjE3ZjI2ZTk1NmYwYTYyZTFkZGRmOTE5N2I1MDk5Zjc2MDdmZGIuLjEyZWQxODJiNzg3NGU4MDlk
Y2VmZmQ1MTdjMWY4NmY0MzRmOWNkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC0yNjcsNiArMjY3LDcgQEAgZW51bSBjbGFzcyBDb29raWVDb25zZW50RGVjaXNp
b25SZXN1bHQgOiB1aW50OF90OwogZW51bSBjbGFzcyBDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdo
dCA6IGJvb2w7CiBlbnVtIGNsYXNzIERPTVBhc3RlQWNjZXNzQ2F0ZWdvcnkgOiB1aW50OF90Owog
ZW51bSBjbGFzcyBET01QYXN0ZUFjY2Vzc1Jlc3BvbnNlIDogdWludDhfdDsKK2VudW0gY2xhc3Mg
RWRpdEFjdGlvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIEV2ZW50TWFrZXNHYW1lcGFkc1Zpc2li
bGUgOiBib29sOwogZW51bSBjbGFzcyBMb2NrQmFja0ZvcndhcmRMaXN0IDogYm9vbDsKIGVudW0g
Y2xhc3MgSGFzSW5zZWN1cmVDb250ZW50IDogYm9vbDsKQEAgLTExOTQsNyArMTE5NSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICAgICAvLyBDYWxsZWQgYnkgdGhlIFVJIHByb2Nlc3Mg
d2hlbiBpdCBpcyByZWFkeSB0byBzZW5kIGl0cyB0b2tlbnMgdG8gdGhlIHdlYiBwcm9jZXNzLgog
ICAgIHZvaWQgcmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5zKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgZWxlbWVuVG9rZW4sIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgd2lu
ZG93VG9rZW4pOwotICAgIHZvaWQgcmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBXZWJD
b3JlOjpFbGVtZW50Q29udGV4dCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0eXBlcywgY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJik7CisgICAgdm9pZCByZXBsYWNlSW1hZ2VXaXRoTWFya3VwUmVz
dWx0cyhjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiB0eXBlcywgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CiAgICAgdm9pZCByZXBsYWNlU2Vs
ZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0eXBlcywgY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJik7CiAgICAgYm9vbCByZWFkU2VsZWN0aW9uRnJvbVBhc3Rl
Ym9hcmQoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSk7CiAgICAgU3RyaW5nIHN0cmluZ1Nl
bGVjdGlvbkZvclBhc3RlYm9hcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDQyZGM0YWYxN2UyMDM3
MTgzN2JmMGE1YWM2YTA2YTVhMDMxZTZmMDcuLmFkYzY5ZGQ2OGI3NGZlNjc0Y2U1ZDk3NjZlMTk3
YWY5NDAxODBhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDczMSw3ICs0NzMxLDcgQEAgLSAoVUlN
ZW51ICopaW1hZ2VBbmFseXNpc01hcmt1cE1lbnUKIAogICAgICAgICBhdXRvIFtlbGVtZW50Q29u
dGV4dCwgaW1hZ2UsIHByZWZlcnJlZE1JTUVUeXBlXSA9ICp2aWV3LT5faW1hZ2VBbmFseXNpc01h
cmt1cERhdGE7CiAgICAgICAgIGlmIChhdXRvIFtkYXRhLCB0eXBlXSA9IFdlYktpdDo6dHJhbnNj
b2RlV2l0aFByZWZlcnJlZE1JTUVUeXBlKGltYWdlLmdldCgpLCBwcmVmZXJyZWRNSU1FVHlwZS5j
cmVhdGVDRlN0cmluZygpLmdldCgpLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpVVRUeXBlVElGRi5p
ZGVudGlmaWVyKTsgZGF0YSkKLSAgICAgICAgICAgIHZpZXctPl9wYWdlLT5yZXBsYWNlV2l0aFBh
c3RlYm9hcmREYXRhKGVsZW1lbnRDb250ZXh0LCB7IFN0cmluZyB7IHR5cGUuZ2V0KCkgfSB9LCB7
IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihbZGF0YSBieXRlc10pLCBbZGF0YSBsZW5ndGhd
IH0pOworICAgICAgICAgICAgdmlldy0+X3BhZ2UtPnJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1
bHRzKGVsZW1lbnRDb250ZXh0LCB7IFN0cmluZyB7IHR5cGUuZ2V0KCkgfSB9LCB7IHN0YXRpY19j
YXN0PGNvbnN0IHVpbnQ4X3QqPihbZGF0YSBieXRlc10pLCBbZGF0YSBsZW5ndGhdIH0pOwogICAg
IH1dOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViQ29u
dGV4dE1lbnVQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250
ZXh0TWVudVByb3h5TWFjLm1tCmluZGV4IDZiYmIwNWUwMzU1NjMxYjkwNzYyOGVlMjRjNTlmNTdl
NmNiYmNiNGIuLjNhYTVjN2Q2ZjM3MzBkODFiYmNjNTQ2ODgxOTFmNzM3YmYxNDlmNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5
TWFjLm1tCkBAIC0zNDksNyArMzQ5LDcgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjph
cHBseU1hcmt1cFRvQ29udHJvbGxlZEltYWdlKCkKICAgICAgICAgaWYgKCFkYXRhKQogICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgICAgIHByb3RlY3RlZFBhZ2UtPnJlcGxhY2VXaXRoUGFzdGVi
b2FyZERhdGEoZWxlbWVudENvbnRleHQsIHsgU3RyaW5nKHR5cGUuZ2V0KCkpIH0sIElQQzo6RGF0
YVJlZmVyZW5jZShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oW2RhdGEgYnl0ZXNdKSwgW2Rh
dGEgbGVuZ3RoXSkpOworICAgICAgICBwcm90ZWN0ZWRQYWdlLT5yZXBsYWNlSW1hZ2VXaXRoTWFy
a3VwUmVzdWx0cyhlbGVtZW50Q29udGV4dCwgeyBTdHJpbmcodHlwZS5nZXQoKSkgfSwgSVBDOjpE
YXRhUmVmZXJlbmNlKHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihbZGF0YSBieXRlc10pLCBb
ZGF0YSBsZW5ndGhdKSk7CiAgICAgfSk7CiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lT
X0VOSEFOQ0VNRU5UUykKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQppbmRleCBmOTBlYTAwMDdiYTY3NzFiNjhhOWI5
YzcwMTE2YjRiODVjODJhN2Q1Li5iMjk0MDNlZmNlMmI4ZWMzYTQ4YzI1NDY4ZjE4OTY2NzlmODE1
NmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9X
ZWJQYWdlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29j
b2EvV2ViUGFnZUNvY29hLm1tCkBAIC01NjYsNyArNTY2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0
b3I8U3RyaW5nPiBtX3R5cGVzOwogfTsKIAotdm9pZCBXZWJQYWdlOjpyZXBsYWNlV2l0aFBhc3Rl
Ym9hcmREYXRhKGNvbnN0IEVsZW1lbnRDb250ZXh0JiBlbGVtZW50Q29udGV4dCwgY29uc3QgVmVj
dG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCit2b2lk
IFdlYlBhZ2U6OnJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1bHRzKGNvbnN0IEVsZW1lbnRDb250
ZXh0JiBlbGVtZW50Q29udGV4dCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEpCiB7CiAgICAgUmVmIGZyYW1lID0gQ2hlY2tlZFJlZiht
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAgICAgYXV0
byBlbGVtZW50ID0gZWxlbWVudEZvckNvbnRleHQoZWxlbWVudENvbnRleHQpOwpAQCAtNTk0LDcg
KzU5NCw3IEBAIHZvaWQgV2ViUGFnZTo6cmVwbGFjZVdpdGhQYXN0ZWJvYXJkRGF0YShjb25zdCBF
bGVtZW50Q29udGV4dCYgZWxlbWVudENvbnRleHQsIGNvCiAgICAgewogICAgICAgICBPdmVycmlk
ZVBhc3RlYm9hcmRGb3JTZWxlY3Rpb25SZXBsYWNlbWVudCBvdmVycmlkZVBhc3RlYm9hcmQgeyB0
eXBlcywgZGF0YSB9OwogICAgICAgICBJZ25vcmVTZWxlY3Rpb25DaGFuZ2VGb3JTY29wZSBpZ25v
cmVTZWxlY3Rpb25DaGFuZ2VzIHsgZnJhbWUuZ2V0KCkgfTsKLSAgICAgICAgZnJhbWUtPmVkaXRv
cigpLnJlcGxhY2VOb2RlRnJvbVBhc3RlYm9hcmQoKmVsZW1lbnQsIHJlcGxhY2VTZWxlY3Rpb25Q
YXN0ZWJvYXJkTmFtZSgpKTsKKyAgICAgICAgZnJhbWUtPmVkaXRvcigpLnJlcGxhY2VOb2RlRnJv
bVBhc3RlYm9hcmQoKmVsZW1lbnQsIHJlcGxhY2VTZWxlY3Rpb25QYXN0ZWJvYXJkTmFtZSgpLCBF
ZGl0QWN0aW9uOjpNYXJrdXBJbWFnZSk7CiAgICAgfQogCiAgICAgY29uc3RleHByIGF1dG8gcmVz
dG9yZVNlbGVjdGlvbk9wdGlvbnMgPSBGcmFtZVNlbGVjdGlvbjo6ZGVmYXVsdFNldFNlbGVjdGlv
bk9wdGlvbnMoVXNlclRyaWdnZXJlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggYjI0MzEzODNiNTEwNGM5NTA4NDE2ZWMxMzU0Y2M2ODFhYWM5MmIz
My4uYjAzM2EyYWU5MjMxMmMxYzgzOTdlZjBhZjVlZDlhNWExODdhOWUwMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtOTc3LDcgKzk3Nyw3IEBAIHB1
YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCByZXBsYWNlV2l0
aFBhc3RlYm9hcmREYXRhKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiwgY29uc3QgVmVj
dG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKKyAgICB2b2lk
IHJlcGxhY2VJbWFnZVdpdGhNYXJrdXBSZXN1bHRzKGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250
ZXh0JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmKTsKICAgICB2b2lkIHJlcGxhY2VTZWxlY3Rpb25XaXRoUGFzdGVib2FyZERhdGEoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHR5cGVzLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKTsKICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgppbmRleCAyNWMyOGI3Y2Q0NThjOWIyNzJjNzFjZDAwYTM3NmQyNmM0ZTYzNzgx
Li5lYWQ2YjY2OWJkZWY2MTY0NzZlNzQwNjljZTgyYzhjM2NhNWRjOWZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAg
LTQ3MCw3ICs0NzAsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWlu
dDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogICAgIEdldFN0cmluZ1Nl
bGVjdGlvbkZvclBhc3RlYm9hcmQoKSAtPiAoU3RyaW5nIHN0cmluZ1ZhbHVlKSBTeW5jaHJvbm91
cwogICAgIEdldERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkVHlw
ZSkgLT4gKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgaXBjSGFuZGxlKSBTeW5jaHJv
bm91cwogICAgIFJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChTdHJpbmcgcGFzdGVib2FyZE5h
bWUpIC0+IChib29sIHJlc3VsdCkgU3luY2hyb25vdXMKLSAgICBSZXBsYWNlV2l0aFBhc3RlYm9h
cmREYXRhKHN0cnVjdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBjb250ZXh0LCBWZWN0b3I8U3Ry
aW5nPiB0eXBlcywgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCisgICAgUmVwbGFjZUltYWdlV2l0
aE1hcmt1cFJlc3VsdHMoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGNvbnRleHQsIFZl
Y3RvcjxTdHJpbmc+IHR5cGVzLCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKICAgICBSZXBsYWNl
U2VsZWN0aW9uV2l0aFBhc3RlYm9hcmREYXRhKFZlY3RvcjxTdHJpbmc+IHR5cGVzLCBJUEM6OkRh
dGFSZWZlcmVuY2UgZGF0YSkKIAogICAgIFNob3VsZERlbGF5V2luZG93T3JkZXJpbmdFdmVudChX
ZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpIC0+IChib29sIHJlc3VsdCkgU3luY2hyb25vdXMK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhODYy
ZjI5YzVhNjE2YzMxZGE4ZDY2MDIwYmU3N2IzZTg0YTAyMTJiLi4wYWI5Y2UwNmIzMDFjYjQ0YTEy
MjQzMzNiZWY3OTRmZTVlZjdjOWMxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDQtMTQgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgVW5kbyBvcHRpb24gYWZ0ZXIg
aW52b2tpbmcgIk1hcmt1cCBJbWFnZSIgc2F5cyAiVW5kbyBQYXN0ZSIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTM1MQorICAgICAgICByZGFyOi8v
OTE2NDc4NjMKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBB
dWdtZW50IGFuIGV4aXN0aW5nIEFQSSB0ZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSByZXN1bHRpbmcg
dW5kbyBhY3Rpb24gdGl0bGUgYWZ0ZXIgaW52b2tpbmcgIk1hcmt1cCBJbWFnZSIgaXMgbm90Cisg
ICAgICAgICJVbmRvIFBhc3RlIi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvSW1hZ2VBbmFseXNpc1Rlc3RzLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VEVTVCk6CisKIDIwMjItMDQtMTIgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29u
eS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBXRUJLSVRfTElCUkFSSUVTIGVudiB2YXIgc2hv
dWxkIGJlIGN1c3RvbWl6YWJsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9JbWFnZUFuYWx5c2lzVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbQppbmRleCAwNGE0NDkxMjA2
ZDNhNGYxZTVlN2JhYTRlNjhmNWE1MGNkNDY1YjU3Li40NWI1OTM3ZDA4YzZiNTU2YTRiMGZhZDJk
ZDM4MzM3YTczMzVkZDc3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0ltYWdlQW5hbHlzaXNUZXN0cy5tbQpAQCAtMzQxLDYgKzM0MSwx
MCBAQCBURVNUKEltYWdlQW5hbHlzaXNUZXN0cywgUGVyZm9ybUltYWdlQW5hbHlzaXNNYXJrdXAp
CiAgICAgVXRpbDo6d2FpdEZvckNvbmRpdGlvbldpdGhMb2dnaW5nKFsmXSB7CiAgICAgICAgIHJl
dHVybiBbW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50Lmlt
YWdlc1swXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCJdIGludFZhbHVlXSA9PSAyMTU7
CiAgICAgfSwgMywgQCJFeHBlY3RlZCBib3VuZGluZyBjbGllbnQgcmVjdCB0byBiZWNvbWUgMjE1
LiIpOworCisgICAgTlNTdHJpbmcgKnVuZG9UaXRsZSA9IFt3ZWJWaWV3IHVuZG9NYW5hZ2VyXS51
bmRvTWVudUl0ZW1UaXRsZTsKKyAgICBFWFBFQ1RfR1QodW5kb1RpdGxlLmxlbmd0aCwgMFUpOwor
ICAgIEVYUEVDVF9GQUxTRShbdW5kb1RpdGxlIGNvbnRhaW5zU3RyaW5nOkAiUGFzdGUiXSk7CiB9
CiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKSAmJiBQTEFU
Rk9STShJT1NfRkFNSUxZKQo=
</data>
<flag name="commit-queue"
          id="486351"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>