<?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>228026</bug_id>
          
          <creation_ts>2021-07-16 10:07:30 -0700</creation_ts>
          <short_desc>Web Inspector: propagate changes from `Page.overrideSetting` to the UIProcess</short_desc>
          <delta_ts>2021-07-23 10:08:14 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pangle</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</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>1777524</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-16 10:07:30 -0700</bug_when>
    <thetext>this would allow `WKWebView` clients to see whether Web Inspector has disabled various settings/preferences</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777534</commentid>
    <comment_count>1</comment_count>
      <attachid>433683</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-16 10:38:33 -0700</bug_when>
    <thetext>Created attachment 433683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777536</commentid>
    <comment_count>2</comment_count>
      <attachid>433683</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-16 10:46:54 -0700</bug_when>
    <thetext>Comment on attachment 433683
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.h:794
&gt; +    bool shouldAlwaysUseMaximumObscuredInsets() const { return m_shouldAlwaysUseMaximumObscuredInsets; }
&gt; +    void setShouldAlwaysUseMaximumObscuredInsets(bool);

This looks unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777537</commentid>
    <comment_count>3</comment_count>
      <attachid>433683</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-16 10:50:18 -0700</bug_when>
    <thetext>Comment on attachment 433683
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebPageProxy.h:794
&gt;&gt; +    void setShouldAlwaysUseMaximumObscuredInsets(bool);
&gt; 
&gt; This looks unused.

oops!  forgot to remove old code 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777541</commentid>
    <comment_count>4</comment_count>
      <attachid>433686</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-07-16 10:55:34 -0700</bug_when>
    <thetext>Created attachment 433686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779082</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-23 10:08:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/81023726&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433683</attachid>
            <date>2021-07-16 10:38:33 -0700</date>
            <delta_ts>2021-07-16 11:00:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228026-20210716103833.patch</filename>
            <type>text/plain</type>
            <size>57592</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMzRiNGQyNWFiNzIzYjg3M2Y3NGNkZjdhMzY0NWYxN2EwMDMxOWFjNy4uOGQ3NzFlMjJl
YzgxYzU1NzkzMGE3MTE4MDUzZDMwYThhNjZiMGY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNy0xNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogcHJvcGFnYXRlIGNoYW5nZXMgZnJvbSBgUGFnZS5vdmVycmlkZVNldHRpbmdg
IHRvIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyODAyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNhZmFyaSB3YW50cyB0byBiZSBhYmxlIHRvIHNlZSB3aGV0aGVyIFdlYiBJbnNw
ZWN0b3IgaGFzIG92ZXJyaWRkZW4gYW55IGBXZWJDb3JlOjpTZXR0aW5nYAorICAgICAgICB2aWEg
aXQncyBEZXZpY2UgU2V0dGluZ3MgbWVudS4gSW5zdGVhZCBvZiBhZGRpbmcgbmV3IFNQSSwgbGV2
ZXJhZ2UgZXhpc3RpbmcgYFdLUHJlZmVyZW5jZXNgCisgICAgICAgIFNQSSBieSBwcm9wYWdhdGlu
ZyBjaGFuZ2VzIGZyb20gYFBhZ2Uub3ZlcnJpZGVTZXR0aW5nYCB0byBgV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc2AuCisKKyAgICAgICAgKiBTY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmI6Cisg
ICAgICAgIEV4cG9zZSBgaW5zcGVjdG9yT3ZlcnJpZGVgIGZvciB1c2UgaW4gdGVtcGxhdGVzIChq
dXN0IGxpa2Ugd2hhdCBgR2VuZXJhdGVTZXR0aW5ncy5yYmAgZG9lcykuCisKIDIwMjEtMDctMTMg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBV
cGRhdGUgYW5kIGZpeCBVUkwgV1BUIHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM1ZDU3MDBlMGMyNGNl
ZGYxMjE1YmJlNmJjMTQ1MGY1MWFmN2RmNy4uYTQzY2VlZTg2OWU5NmE0ZjM1ZjhiMGM4MzllOTU2
YjliMzNmOTNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA3LTE2ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm9wYWdhdGUgY2hhbmdlcyBmcm9tIGBQYWdlLm92ZXJyaWRlU2V0dGluZ2AgdG8gdGhlIFVJUHJv
Y2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2Fm
YXJpIHdhbnRzIHRvIGJlIGFibGUgdG8gc2VlIHdoZXRoZXIgV2ViIEluc3BlY3RvciBoYXMgb3Zl
cnJpZGRlbiBhbnkgYFdlYkNvcmU6OlNldHRpbmdgCisgICAgICAgIHZpYSBpdCdzIERldmljZSBT
ZXR0aW5ncyBtZW51LiBJbnN0ZWFkIG9mIGFkZGluZyBuZXcgU1BJLCBsZXZlcmFnZSBleGlzdGlu
ZyBgV0tQcmVmZXJlbmNlc2AKKyAgICAgICAgU1BJIGJ5IHByb3BhZ2F0aW5nIGNoYW5nZXMgZnJv
bSBgUGFnZS5vdmVycmlkZVNldHRpbmdgIHRvIGBXZWJLaXQ6OldlYlByZWZlcmVuY2VzYC4KKwor
ICAgICAgICBUZXN0OiBXZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5PdmVycmlk
ZVNldHRpbmdQcm9wYWdhdGVzVG9XS1ByZWZlcmVuY2VzCisKKyAgICAgICAgKiBTY3JpcHRzL0dl
bmVyYXRlU2V0dGluZ3MucmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9J
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiOgorICAgICAgICAq
IFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwu
ZXJiOgorICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuY3BwLmVy
YjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiOgor
ICAgICAgICBSZW5hbWUgYG5hbWVgIHRvIGBub3JtYWxpemVkTmFtZWAgYW5kIHNhdmUgdGhlIG9y
aWdpbmFsIGBuYW1lYCBzbyB0aGF0IHRoZXJlJ3MgYSB3YXkgdG8gZ2V0CisgICAgICAgIHRoZSBz
YW1lIHN0cmluZyB1c2VkIGJ5IHRoZSByZWxhdGVkIGBXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5
YC4KKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnQ6OnBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKToKKyAgICAg
ICAgVXNlIGBpbnNwZWN0b3JPdmVycmlkZWAgaW5zaWRlIGBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
YCBieSBjcmVhdGluZyBhIGBzdGQ6Om9wdGlvbmFsYCBtZW1iZXIKKyAgICAgICAgdmFyaWFibGUg
Zm9yIGVhY2ggcHJlZmVyZW5jZSB0aGF0J3MgY29uc3VsdGVkIGJlZm9yZSBmZXRjaGluZyB0aGUg
dmFsdWUgZnJvbSB0aGUgc3RvcmUuIEFkZAorICAgICAgICBhIHdheSBmb3IgdGhlIFdlYlByb2Nl
c3MgdG8gdXBkYXRlIHRoZXNlIG1lbWJlciB2YXJpYWJsZXMgd2hlbiB0aGUgYGluc3BlY3Rvck92
ZXJyaWRlYCBmb3IKKyAgICAgICAgdGhlIHJlbGF0ZWQgYFdlYkNvcmU6OlNldHRpbmdgIGluIHRo
ZSBXZWJQcm9jZXNzIGlzIG1vZGlmaWVkLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckNsaWVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6Om92ZXJyaWRlU2V0dGluZyk6Cisg
ICAgICAgIE5vdyB0aGF0IGBpbnNwZWN0b3JPdmVycmlkZWAgaXMgcHJvcGFnYXRlZCBmcm9tIGBX
ZWJDb3JlOjpTZXR0aW5nYCB0byBgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc2AKKyAgICAgICAgdGhl
cmUncyBubyBsb25nZXIgYSBuZWVkIGZvciBgSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVm
ZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkYAorICAgICAgICBhcyBpdCBjYW4gaW5z
dGVhZCBob29rIGludG8gdGhlIGdlbmVyaWMgYFdlYlBhZ2VQcm94eTo6cGFnZVNldHRpbmdJbnNw
ZWN0b3JPdmVycmlkZUNoYW5nZWRgLgorCiAyMDIxLTA3LTE0ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gTnVsbC1wb2ludGVyIGRlcmVmIGluIE1l
ZGlhS2V5U3lzdGVtQWNjZXNzOjpjcmVhdGVNZWRpYUtleXMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwMDUzZjM5
NDJiY2YwZWUyOGQ3MjQ4ZTRkZjY0MWM3N2I5NWMxYTE3Li4xMDI4Yjg0YTg5NzY3OGYyYmYyNTMy
MmRmNTc4MTg5ZmJkNGU0ZWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIxLTA3LTE2
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBwcm9wYWdhdGUgY2hhbmdlcyBmcm9tIGBQYWdlLm92ZXJyaWRlU2V0dGluZ2AgdG8gdGhl
IFVJUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI4MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2FmYXJpIHdhbnRzIHRvIGJlIGFibGUgdG8gc2VlIHdoZXRoZXIgV2ViIEluc3BlY3RvciBo
YXMgb3ZlcnJpZGRlbiBhbnkgYFdlYkNvcmU6OlNldHRpbmdgCisgICAgICAgIHZpYSBpdCdzIERl
dmljZSBTZXR0aW5ncyBtZW51LiBJbnN0ZWFkIG9mIGFkZGluZyBuZXcgU1BJLCBsZXZlcmFnZSBl
eGlzdGluZyBgV0tQcmVmZXJlbmNlc2AKKyAgICAgICAgU1BJIGJ5IHByb3BhZ2F0aW5nIGNoYW5n
ZXMgZnJvbSBgUGFnZS5vdmVycmlkZVNldHRpbmdgIHRvIGBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
YC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxh
dGVzL1dlYlByZWZlcmVuY2VzR2V0dGVyU2V0dGVycy5jcHAuZXJiOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKTogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92
ZXJyaWRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpwYWdl
U2V0dGluZ0luc3BlY3Rvck92ZXJyaWRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICBVc2UgYGlu
c3BlY3Rvck92ZXJyaWRlYCBpbnNpZGUgYFdlYktpdDo6V2ViUHJlZmVyZW5jZXNgIGJ5IGNyZWF0
aW5nIGEgYHN0ZDo6b3B0aW9uYWxgIG1lbWJlcgorICAgICAgICB2YXJpYWJsZSBmb3IgZWFjaCBw
cmVmZXJlbmNlIHRoYXQncyBjb25zdWx0ZWQgYmVmb3JlIGZldGNoaW5nIHRoZSB2YWx1ZSBmcm9t
IHRoZSBzdG9yZS4gQWRkCisgICAgICAgIGEgd2F5IGZvciB0aGUgV2ViUHJvY2VzcyB0byB1cGRh
dGUgdGhlc2UgbWVtYmVyIHZhcmlhYmxlcyB3aGVuIHRoZSBgaW5zcGVjdG9yT3ZlcnJpZGVgIGZv
cgorICAgICAgICB0aGUgcmVsYXRlZCBgV2ViQ29yZTo6U2V0dGluZ2AgaW4gdGhlIFdlYlByb2Nl
c3MgaXMgbW9kaWZpZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3Bl
Y3RvclByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rv
clByaXZhdGVGb3JUZXN0aW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnNwZWN0b3JJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5z
cGVjdG9yLm1tOgorICAgICAgICAoLVtfV0tJbnNwZWN0b3IgaW5zcGVjdG9yV2ViVmlld10pOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclRlc3Rpbmcu
bW06CisgICAgICAgICgtW19XS0luc3BlY3RvciBfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGlu
ZzpdKTogQWRkZWQuCisgICAgICAgIChKYXZhU2NyaXB0U25pcHBldFRvT3BlblVSTEV4dGVybmFs
bHkpOiBEZWxldGVkLgorICAgICAgICAoSmF2YVNjcmlwdFNuaXBwZXRUb0ZldGNoVVJMKTogRGVs
ZXRlZC4KKyAgICAgICAgKC1bX1dLSW5zcGVjdG9yIGluc3BlY3RvcldlYlZpZXddKTogRGVsZXRl
ZC4KKyAgICAgICAgKC1bX1dLSW5zcGVjdG9yIF9mZXRjaFVSTEZvclRlc3Rpbmc6XSk6IERlbGV0
ZWQuCisgICAgICAgICgtW19XS0luc3BlY3RvciBfb3BlblVSTEV4dGVybmFsbHlGb3JUZXN0aW5n
OnVzZUZyb250ZW5kQVBJOl0pOiBEZWxldGVkLgorICAgICAgICBDbGVhbiB1cCBgX1dLSW5zcGVj
dG9yYCBTUEk6CisgICAgICAgICAtIG1vdmUgYGluc3BlY3RvcldlYlZpZXdgIHRvICJyZWd1bGFy
IiAoaS5lLiBub3QgdGVzdGluZyBvbmx5KSBTUEkgc2luY2UgaXQncyB1c2VkIGJ5IG90aGVyCisg
ICAgICAgICAgIHRoaW5ncyB1bnJlbGF0ZWQgdG8gdGVzdGluZworICAgICAgICAgLSByZXdvcmsg
YF9mZXRjaFVSTEZvclRlc3Rpbmc6YCBhbmQgYF9vcGVuVVJMRXh0ZXJuYWxseUZvclRlc3Rpbmc6
dXNlRnJvbnRlbmRBUEk6YCBpbnRvIGEKKyAgICAgICAgICAgc2luZ2xlIGdlbmVyaWMgYF9ldmFs
dWF0ZUluRnJvbnRlbmRGb3JUZXN0aW5nOmAgdG8gYWxsb3cgZm9yIG1vcmUgZmxleGliaWxpdHkK
KworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJUHJveHk6OnNldERldmVsb3BlclByZWZl
cmVuY2VPdmVycmlkZSk6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN5bmNXaXRoV2ViQ29yZVByZWZzIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk6OnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZSk6IERlbGV0ZWQuCisgICAg
ICAgIE5vdyB0aGF0IGBpbnNwZWN0b3JPdmVycmlkZWAgaXMgcHJvcGFnYXRlZCBmcm9tIGBXZWJD
b3JlOjpTZXR0aW5nYCB0byBgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc2AKKyAgICAgICAgdGhlcmUn
cyBubyBsb25nZXIgYSBuZWVkIGZvciBgSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJl
bmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkYAorICAgICAgICBhcyBpdCBjYW4gaW5zdGVh
ZCBob29rIGludG8gdGhlIGdlbmVyaWMgYFdlYlBhZ2VQcm94eTo6cGFnZVNldHRpbmdJbnNwZWN0
b3JPdmVycmlkZUNoYW5nZWRgLgorCiAyMDIxLTA3LTE0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSRUdSRVNTSU9OKHIyNzk3MjApOiBjaGFuZ2lu
ZyBTdWJ0aXRsZXMgdG8gT2ZmIGRvZXNuJ3QgaGlkZSB0aGVtIG9yIGRvIGFueXRoaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiBiL1NvdXJj
ZS9XVEYvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiCmluZGV4IDUyMmVlM2M1MDZjZmQ0
YWU1ODFmMDNiN2RkMjBjYjY3MmZlMTczYjguLmQzNWM5ZGJiNmE4OTIwOGZiZmNiN2ZmZGE4NjQ5
YTFlNzcwNTRiMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9HZW5lcmF0ZVByZWZl
cmVuY2VzLnJiCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJi
CkBAIC0xMDEsNiArMTAxLDcgQEAgY2xhc3MgUHJlZmVyZW5jZQogICBhdHRyX2FjY2Vzc29yIDpo
aWRkZW4KICAgYXR0cl9hY2Nlc3NvciA6ZGVmYXVsdFZhbHVlcwogICBhdHRyX2FjY2Vzc29yIDpl
eHBvc2VkCisgIGF0dHJfYWNjZXNzb3IgOmluc3BlY3Rvck92ZXJyaWRlCiAKICAgZGVmIGluaXRp
YWxpemUobmFtZSwgb3B0cywgZnJvbnRlbmQpCiAgICAgQG5hbWUgPSBuYW1lCkBAIC0xMTUsNiAr
MTE2LDcgQEAgY2xhc3MgUHJlZmVyZW5jZQogICAgIEBoaWRkZW4gPSBvcHRzWyJoaWRkZW4iXSB8
fCBmYWxzZQogICAgIEBkZWZhdWx0VmFsdWVzID0gb3B0c1siZGVmYXVsdFZhbHVlIl1bZnJvbnRl
bmRdCiAgICAgQGV4cG9zZWQgPSAhb3B0c1siZXhwb3NlZCJdIHx8IG9wdHNbImV4cG9zZWQiXS5p
bmNsdWRlPyhmcm9udGVuZCkKKyAgICBAaW5zcGVjdG9yT3ZlcnJpZGUgPSBvcHRzWyJpbnNwZWN0
b3JPdmVycmlkZSJdCiAgIGVuZAogCiAgIGRlZiBuYW1lTG93ZXIKQEAgLTE0Nyw2ICsxNDksOSBA
QCBjbGFzcyBQcmVmZXJlbmNlCiAgICAgZW5kCiAgIGVuZAogCisgIGRlZiBoYXNJbnNwZWN0b3JP
dmVycmlkZT8KKyAgICBAaW5zcGVjdG9yT3ZlcnJpZGUgPT0gdHJ1ZQorICBlbmQKIAogICAjIFdl
YktpdExlZ2FjeSBzcGVjaWZpYyBoZWxwZXJzLgogCkBAIC0xODUsMTggKzE5MCwyMSBAQCBjbGFz
cyBQcmVmZXJlbmNlcwogICAgIEBwcmVmZXJlbmNlc0RlYnVnID0gaW5pdGlhbGl6ZVBhcnNlZFBy
ZWZlcmVuY2VzKHBhcnNlZERlYnVnUHJlZmVyZW5jZXMpCiAgICAgQGV4cGVyaW1lbnRhbEZlYXR1
cmVzID0gaW5pdGlhbGl6ZVBhcnNlZFByZWZlcmVuY2VzKHBhcnNlZEV4cGVyaW1lbnRhbFByZWZl
cmVuY2VzKQogICAgIEBpbnRlcm5hbEZlYXR1cmVzID0gaW5pdGlhbGl6ZVBhcnNlZFByZWZlcmVu
Y2VzKHBhcnNlZEludGVybmFsUHJlZmVyZW5jZXMpCisgICAgQGluc3BlY3Rvck92ZXJyaWRlcyA9
IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5oYXNJbnNwZWN0b3JPdmVycmlkZT8gfQogCiAg
ICAgQHByZWZlcmVuY2VzLnNvcnQhIHsgfHgsIHl8IHgubmFtZSA8PT4geS5uYW1lIH0KICAgICBA
cHJlZmVyZW5jZXNOb3REZWJ1Zy5zb3J0ISB7IHx4LCB5fCB4Lm5hbWUgPD0+IHkubmFtZSB9CiAg
ICAgQHByZWZlcmVuY2VzRGVidWcuc29ydCEgeyB8eCwgeXwgeC5uYW1lIDw9PiB5Lm5hbWUgfQog
ICAgIEBleHBlcmltZW50YWxGZWF0dXJlcy5zb3J0ISB7IHx4LCB5fCB4Lm5hbWUgPD0+IHkubmFt
ZSB9LnNvcnQhIHsgfHgsIHl8IHguaHVtYW5SZWFkYWJsZU5hbWUgPD0+IHkuaHVtYW5SZWFkYWJs
ZU5hbWUgfQogICAgIEBpbnRlcm5hbEZlYXR1cmVzLnNvcnQhIHsgfHgsIHl8IHgubmFtZSA8PT4g
eS5uYW1lIH0uc29ydCEgeyB8eCwgeXwgeC5odW1hblJlYWRhYmxlTmFtZSA8PT4geS5odW1hblJl
YWRhYmxlTmFtZSB9CisgICAgQGluc3BlY3Rvck92ZXJyaWRlcy5zb3J0ISB7IHx4LCB5fCB4Lm5h
bWUgPD0+IHkubmFtZSB9CiAKICAgICBAZXhwb3NlZFByZWZlcmVuY2VzID0gQHByZWZlcmVuY2Vz
LnNlbGVjdCB7IHxwfCBwLmV4cG9zZWQgfQogICAgIEBleHBvc2VkUHJlZmVyZW5jZXNOb3REZWJ1
ZyA9IEBwcmVmZXJlbmNlc05vdERlYnVnLnNlbGVjdCB7IHxwfCBwLmV4cG9zZWQgfQogICAgIEBl
eHBvc2VkUHJlZmVyZW5jZXNEZWJ1ZyA9IEBwcmVmZXJlbmNlc0RlYnVnLnNlbGVjdCB7IHxwfCBw
LmV4cG9zZWQgfQogICAgIEBleHBvc2VkRXhwZXJpbWVudGFsRmVhdHVyZXMgPSBAZXhwZXJpbWVu
dGFsRmVhdHVyZXMuc2VsZWN0IHsgfHB8IHAuZXhwb3NlZCB9CiAgICAgQGV4cG9zZWRJbnRlcm5h
bEZlYXR1cmVzID0gQGludGVybmFsRmVhdHVyZXMuc2VsZWN0IHsgfHB8IHAuZXhwb3NlZCB9Cisg
ICAgQGV4cG9zZWRJbnNwZWN0b3JPdmVycmlkZXMgPSBAaW5zcGVjdG9yT3ZlcnJpZGVzLnNlbGVj
dCB7IHxwfCBwLmV4cG9zZWQgfQogCiAgICAgQHByZWZlcmVuY2VzQm91bmRUb1NldHRpbmcgPSBA
cHJlZmVyZW5jZXMuc2VsZWN0IHsgfHB8ICFwLndlYmNvcmVCaW5kaW5nIH0KICAgICBAcHJlZmVy
ZW5jZXNCb3VuZFRvRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzID0gQHByZWZlcmVuY2VzLnNlbGVj
dCB7IHxwfCBwLndlYmNvcmVCaW5kaW5nID09ICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MiIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvR2VuZXJhdGVTZXR0aW5ncy5yYiBi
L1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvR2VuZXJhdGVTZXR0aW5ncy5yYgppbmRleCAyN2U2MzEw
MGYxMzhmZjJmMTg5MWM5ZDc1ODhhOTdiZWFhNzY5NDA1Li4yNGY3ZDdjNDkwMzIzMTQ5Njc1NzNj
NDQzNWRjODA4ZDFkNDQxMjEzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL0dl
bmVyYXRlU2V0dGluZ3MucmIKKysrIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9HZW5lcmF0ZVNl
dHRpbmdzLnJiCkBAIC0xMDAsNiArMTAwLDcgQEAgcGFyc2VkUHJlZmVyZW5jZXMubWVyZ2UhKGxv
YWQob3B0aW9uc1s6aW50ZXJuYWxQcmVmZXJlbmNlc10pKQogCiBjbGFzcyBTZXR0aW5nCiAgIGF0
dHJfYWNjZXNzb3IgOm5hbWUKKyAgYXR0cl9hY2Nlc3NvciA6bm9ybWFsaXplZE5hbWUKICAgYXR0
cl9hY2Nlc3NvciA6b3B0aW9ucwogICBhdHRyX2FjY2Vzc29yIDp0eXBlCiAgIGF0dHJfYWNjZXNz
b3IgOmRlZmF1bHRWYWx1ZXMKQEAgLTExMSw3ICsxMTIsOCBAQCBjbGFzcyBTZXR0aW5nCiAgIGF0
dHJfYWNjZXNzb3IgOmN1c3RvbUltcGxlbWVudGF0aW9uCiAKICAgZGVmIGluaXRpYWxpemUobmFt
ZSwgb3B0aW9ucykKLSAgICBAbmFtZSA9IG5vcm1hbGl6ZU5hbWVGb3JXZWJDb3JlKG5hbWUsIG9w
dGlvbnMpCisgICAgQG5hbWUgPSBuYW1lCisgICAgQG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXpl
TmFtZUZvcldlYkNvcmUobmFtZSwgb3B0aW9ucykKICAgICBAb3B0aW9ucyA9IG9wdGlvbnMKICAg
ICBAdHlwZSA9IG9wdGlvbnNbInJlZmluZWRUeXBlIl0gfHwgb3B0aW9uc1sidHlwZSJdCiAgICAg
QGRlZmF1bHRWYWx1ZXMgPSBvcHRpb25zWyJkZWZhdWx0VmFsdWUiXVsiV2ViQ29yZSJdCkBAIC0x
NzUsMTkgKzE3NywxOSBAQCBjbGFzcyBTZXR0aW5nCiAgIGVuZAogCiAgIGRlZiBzZXR0ZXJGdW5j
dGlvbk5hbWUKLSAgICBpZiBAbmFtZS5zdGFydF93aXRoPygiaHRtbCIpCi0gICAgICAic2V0IiAr
IEBuYW1lWzAuLjNdLnVwY2FzZSArIEBuYW1lWzQuLkBuYW1lLmxlbmd0aF0KLSAgICBlbHNpZiBA
bmFtZS5zdGFydF93aXRoPygiY3NzIiwgInhzcyIsICJmdHAiLCAiZG9tIiwgImRucyIsICJpY2Ui
LCAiaGRyIikKLSAgICAgICJzZXQiICsgQG5hbWVbMC4uMl0udXBjYXNlICsgQG5hbWVbMy4uQG5h
bWUubGVuZ3RoXQotICAgIGVsc2lmIEBuYW1lLnN0YXJ0X3dpdGg/KCJ2cCIpCi0gICAgICAic2V0
IiArIEBuYW1lWzAuLjFdLnVwY2FzZSArIEBuYW1lWzIuLkBuYW1lLmxlbmd0aF0KKyAgICBpZiBA
bm9ybWFsaXplZE5hbWUuc3RhcnRfd2l0aD8oImh0bWwiKQorICAgICAgInNldCIgKyBAbm9ybWFs
aXplZE5hbWVbMC4uM10udXBjYXNlICsgQG5vcm1hbGl6ZWROYW1lWzQuLkBub3JtYWxpemVkTmFt
ZS5sZW5ndGhdCisgICAgZWxzaWYgQG5vcm1hbGl6ZWROYW1lLnN0YXJ0X3dpdGg/KCJjc3MiLCAi
eHNzIiwgImZ0cCIsICJkb20iLCAiZG5zIiwgImljZSIsICJoZHIiKQorICAgICAgInNldCIgKyBA
bm9ybWFsaXplZE5hbWVbMC4uMl0udXBjYXNlICsgQG5vcm1hbGl6ZWROYW1lWzMuLkBub3JtYWxp
emVkTmFtZS5sZW5ndGhdCisgICAgZWxzaWYgQG5vcm1hbGl6ZWROYW1lLnN0YXJ0X3dpdGg/KCJ2
cCIpCisgICAgICAic2V0IiArIEBub3JtYWxpemVkTmFtZVswLi4xXS51cGNhc2UgKyBAbm9ybWFs
aXplZE5hbWVbMi4uQG5vcm1hbGl6ZWROYW1lLmxlbmd0aF0KICAgICBlbHNlCi0gICAgICAic2V0
IiArIEBuYW1lWzBdLnVwY2FzZSArIEBuYW1lWzEuLkBuYW1lLmxlbmd0aF0KKyAgICAgICJzZXQi
ICsgQG5vcm1hbGl6ZWROYW1lWzBdLnVwY2FzZSArIEBub3JtYWxpemVkTmFtZVsxLi5Abm9ybWFs
aXplZE5hbWUubGVuZ3RoXQogICAgIGVuZAogICBlbmQKIAogICBkZWYgZ2V0dGVyRnVuY3Rpb25O
YW1lCi0gICAgQGdldHRlciB8fCBAbmFtZQorICAgIEBnZXR0ZXIgfHwgQG5vcm1hbGl6ZWROYW1l
CiAgIGVuZAogCiAgIGRlZiBoYXNJbnNwZWN0b3JPdmVycmlkZT8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5jcHAuZXJiIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9J
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIKaW5kZXggNGU0NWRmYjdiZjVlMzkwNjVi
NDljOGU1OWIxNjQ4M2YzOTViMjg1YS4uZTFhNzY5ZDNlYTc5NmQwN2RiZDJjNWZlZGQ3M2IyOWQ5
OWJjY2FmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBs
YXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIKKysrIGIvU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNw
cC5lcmIKQEAgLTQwLDcgKzQwLDcgQEAgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6SW50ZXJu
YWxTZXR0aW5nc0dlbmVyYXRlZChQYWdlKiBwYWdlKQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlv
biAtJT4KICNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uICU+CiA8JS0gZW5kIC0lPgotICAgICwg
bV88JT0gQHNldHRpbmcubmFtZSAlPihwYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5nZXR0
ZXJGdW5jdGlvbk5hbWUgJT4oKSkKKyAgICAsIG1fPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1l
ICU+KHBhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigp
KQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbiAtJT4KICNlbmRpZgogPCUtIGVuZCAtJT4KQEAg
LTYwLDcgKzYwLDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlKCkKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb24gLSU+CiAjaWYgPCU9IEBz
ZXR0aW5nLmNvbmRpdGlvbiAlPgogPCUtIGVuZCAtJT4KLSAgICBtX3BhZ2UtPnNldHRpbmdzKCku
PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPihtXzwlPSBAc2V0dGluZy5uYW1lICU+
KTsKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPihtXzwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPik7CiA8JS0gaWYgQHNldHRpbmcu
Y29uZGl0aW9uIC0lPgogI2VuZGlmCiA8JS0gZW5kIC0lPgpAQCAtNzAsMTYgKzcwLDE2IEBAIHZv
aWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCiAK
IDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0LnNldHRpbmdzIGRvIC0lPgogPCUt
IGlmIEBzZXR0aW5nLmV4Y2x1ZGVGcm9tSW50ZXJuYWxTZXR0aW5ncyA9PSBmYWxzZSBhbmQgQHNl
dHRpbmcuaWRsVHlwZSAtJT4KLXZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBz
ZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAl
PiA8JT0gQHNldHRpbmcubmFtZSAlPikKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6
PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVy
VHlwZSAlPiA8JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4pCiB7CiA8JS0gaWYgQHNldHRp
bmcuY29uZGl0aW9uIC0lPgogI2lmIDwlPSBAc2V0dGluZy5jb25kaXRpb24gJT4KLSAgICBtX3Bh
Z2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNl
dHRpbmcubmFtZSAlPik7CisgICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0
ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+KTsKICNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKDwlPSBAc2V0dGluZy5uYW1lICU+KTsKKyAgICBVTlVTRURfUEFS
QU0oPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+KTsKICNlbmRpZgogPCUtIGVsc2UgLSU+
Ci0gICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUg
JT4oPCU9IEBzZXR0aW5nLm5hbWUgJT4pOworICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0gQHNl
dHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAl
Pik7CiA8JS0gZW5kIC0lPgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRz
L1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaC5lcmIgYi9Tb3Vy
Y2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmIKaW5kZXggMThmZGFkMGE0MGVjMjYyYTliZWJlMzE0ZDQ1NmU3NjE2NTU4NDI3
Ny4uODZhYjIxNTA5MDQ5NDUyMmZjYjQ4ODJhYTJhMTY5NzliYWY3ZmFlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdz
R2VuZXJhdGVkLmguZXJiCisrKyBiL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1w
bGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgpAQCAtNDMsNyArNDMsNyBAQCBw
dWJsaWM6CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0LnNldHRpbmdzIGRv
IC0lPgogPCUtIGlmIEBzZXR0aW5nLmV4Y2x1ZGVGcm9tSW50ZXJuYWxTZXR0aW5ncyA9PSBmYWxz
ZSBhbmQgQHNldHRpbmcuaWRsVHlwZSAtJT4KLSAgICB2b2lkIDwlPSBAc2V0dGluZy5zZXR0ZXJG
dW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5n
Lm5hbWUgJT4pOworICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8
JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUg
JT4pOwogPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+CiAKQEAgLTU1LDcgKzU1LDcgQEAgcHJpdmF0
ZToKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb24gLSU+CiAjaWYgPCU9IEBzZXR0aW5nLmNvbmRp
dGlvbiAlPgogPCUtIGVuZCAtJT4KLSAgICA8JT0gQHNldHRpbmcudHlwZSAlPiBtXzwlPSBAc2V0
dGluZy5uYW1lICU+OworICAgIDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5v
cm1hbGl6ZWROYW1lICU+OwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbiAtJT4KICNlbmRpZgog
PCUtIGVuZCAtJT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NU
ZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwuZXJiIGIvU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlk
bC5lcmIKaW5kZXggY2Q2YTA3MzkxOGJmODVkNDRhYTFhZTNiOWIwMGYwZGMwZjg3ZjgyOC4uMTMz
M2RkYzQ3MjVkNzgyNzEzNjk0N2Q4YTg0Y2EzMDVkYjVkYTk3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmlkbC5lcmIKKysrIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRl
cy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIKQEAgLTMxLDcgKzMxLDcgQEAKIF0g
aW50ZXJmYWNlIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQgewogPCUtIGZvciBAc2V0dGluZyBp
biBAYWxsU2V0dGluZ3NTZXQuc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVk
ZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgot
ICAgIHVuZGVmaW5lZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0
dGluZy5pZGxUeXBlICU+IDwlPSBAc2V0dGluZy5uYW1lICU+KTsKKyAgICB1bmRlZmluZWQgPCU9
IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcuaWRsVHlwZSAlPiA8
JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4pOwogPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRl
cy9TZXR0aW5ncy5jcHAuZXJiIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBs
YXRlcy9TZXR0aW5ncy5jcHAuZXJiCmluZGV4IDdlOTFkMzVjMzliZTQ2MjBiNzM0ZGM2NzRmMmIx
YWY2MTdiZjgzNWQuLmYwN2ViMjcxYmJmMmZkM2I4MmI4NTQzMmVhYjVmZDBjNDg1MjYzMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGlu
Z3MuY3BwLmVyYgorKysgYi9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVz
L1NldHRpbmdzLmNwcC5lcmIKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAi
Q2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogCkBAIC0zOCw3ICs0MCw3IEBACiAjaWYgPCU9IEBzZXR0aW5nLmNv
bmRpdGlvbiAlPgogPCUtICAgZW5kIC0lPgogPCUtICAgaWYgQHNldHRpbmcuZGVmYXVsdFZhbHVl
cy5zaXplKCkgPT0gMSAtJT4KLSNkZWZpbmUgU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88JT0g
QHNldHRpbmcubmFtZSAlPiA8JT0gQHNldHRpbmcuZGVmYXVsdFZhbHVlc1snZGVmYXVsdCddICU+
CisjZGVmaW5lIFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9IEBzZXR0aW5nLm5vcm1hbGl6
ZWROYW1lICU+IDwlPSBAc2V0dGluZy5kZWZhdWx0VmFsdWVzWydkZWZhdWx0J10gJT4KIDwlLSAg
IGVsc2UgLSU+CiA8JS0gICAgIEBzZXR0aW5nLmRlZmF1bHRWYWx1ZXMuZWFjaF93aXRoX2luZGV4
IGRvIHwoa2V5LCB2YWx1ZSksIGluZGV4fCAtJT4KIDwlLSAgICAgICBpZiBpbmRleCA9PSAwIC0l
PgpAQCAtNDgsNyArNTAsNyBAQAogPCUtICAgICAgIGVsc2UgLSU+CiAjZWxzZQogPCUtICAgICAg
IGVuZCAtJT4KLSNkZWZpbmUgU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88JT0gQHNldHRpbmcu
bmFtZSAlPiA8JT0gdmFsdWUgJT4KKyNkZWZpbmUgU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88
JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4gPCU9IHZhbHVlICU+CiA8JS0gICAgIGVuZCAt
JT4KICNlbmRpZgogPCUtICAgZW5kIC0lPgpAQCAtODIsNyArODQsNyBAQCB2b2lkIFNldHRpbmdz
OjpWYWx1ZXM6OmluaXRpYWxpemUoKQogI2lmIDwlPSBAY29uZGl0aW9uLmNvbmRpdGlvbiAlPgog
PCUtIGVuZCAtJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbi5ub25Cb29sU2V0dGlu
Z3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSBT
RVRUSU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIDwlPSBA
c2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPiA9IFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9
IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0
aW9uLmNvbmRpdGlvbiAtJT4KICNlbmRpZgpAQCAtOTUsNyArOTcsNyBAQCB2b2lkIFNldHRpbmdz
OjpWYWx1ZXM6OmluaXRpYWxpemUoKQogI2lmIDwlPSBAY29uZGl0aW9uLmNvbmRpdGlvbiAlPgog
PCUtIGVuZCAtJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbi5ib29sU2V0dGluZ3NO
ZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSBTRVRU
SU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIDwlPSBAc2V0
dGluZy5ub3JtYWxpemVkTmFtZSAlPiA9IFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9IEBz
ZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0aW9u
LmNvbmRpdGlvbiAtJT4KICNlbmRpZgpAQCAtMTA4LDcgKzExMCw3IEBAIFNldHRpbmdzOjpWYWx1
ZXMgU2V0dGluZ3M6OlZhbHVlczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKICAgICByZXR1cm4g
ewogPCUtIGZvciBAc2V0dGluZyBpbiBAYWxsU2V0dGluZ3NTZXQuaW5zcGVjdG9yT3ZlcnJpZGVT
ZXR0aW5ncyBkbyAtJT4KLSAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGluZy5uYW1l
ICU+SW5zcGVjdG9yT3ZlcnJpZGUpLAorICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0
aW5nLm5vcm1hbGl6ZWROYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpLAogPCUtIGVuZCAtJT4KICAg
ICAgICAgY3Jvc3NUaHJlYWRDb3B5KGZvbnRHZW5lcmljRmFtaWxpZXMpLAogPCUtIGZvciBAY29u
ZGl0aW9uIGluIEBhbGxTZXR0aW5nc1NldC5jb25kaXRpb25zIGRvIC0lPgpAQCAtMTE3LDcgKzEx
OSw3IEBAIFNldHRpbmdzOjpWYWx1ZXMgU2V0dGluZ3M6OlZhbHVlczo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKICNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiA8JS0g
Zm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVu
dGF0aW9uIC0lPgotICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0aW5nLm5hbWUgJT4p
LAorICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+
KSwKIDwlLSBlbmQgLSU+CiA8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CiAjZW5kaWYK
QEAgLTEzMCw3ICsxMzIsNyBAQCBTZXR0aW5nczo6VmFsdWVzIFNldHRpbmdzOjpWYWx1ZXM6Omlz
b2xhdGVkQ29weSgpIGNvbnN0CiAjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9uICU+CiA8JS0g
ZW5kIC0lPgogPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uLmJvb2xTZXR0aW5nc05lZWRp
bmdJbXBsZW1lbnRhdGlvbiAtJT4KLSAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGlu
Zy5uYW1lICU+KSwKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGluZy5ub3JtYWxp
emVkTmFtZSAlPiksCiA8JS0gZW5kIC0lPgogPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0l
PgogI2VuZGlmCkBAIC0xNTMsMjEgKzE1NSwyMSBAQCBTZXR0aW5nczo6flNldHRpbmdzKCkKIDwl
PSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IFNldHRpbmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVy
RnVuY3Rpb25OYW1lICU+KCkgY29uc3QKIHsKIDwlLSBpZiBAc2V0dGluZy5oYXNJbnNwZWN0b3JP
dmVycmlkZT8gLSU+Ci0gICAgaWYgKFVOTElLRUxZKG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1l
ICU+SW5zcGVjdG9yT3ZlcnJpZGUpKSB7CisgICAgaWYgKFVOTElLRUxZKG1fdmFsdWVzLjwlPSBA
c2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKSkgewogICAgICAgICBB
U1NFUlQoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSk7Ci0gICAgICAg
IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlLnZh
bHVlKCk7CisgICAgICAgIHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5h
bWUgJT5JbnNwZWN0b3JPdmVycmlkZS52YWx1ZSgpOwogICAgIH0KIDwlLSBlbmQgLSU+Ci0gICAg
cmV0dXJuIG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIHJldHVybiBtX3ZhbHVl
cy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT47CiB9CiA8JS0gZW5kIC0lPgogCiA8JS0g
Zm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24uc2V0dGluZ3NXaXRoQ29tcGxleFNldHRlcnNOZWVk
aW5nSW1wbGVtZW50YXRpb24gLSU+Ci12b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVy
RnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGlu
Zy5uYW1lICU+KQordm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubm9ybWFsaXpl
ZE5hbWUgJT4pCiB7Ci0gICAgaWYgKG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+ID09IDwl
PSBAc2V0dGluZy5uYW1lICU+KQorICAgIGlmIChtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9ybWFs
aXplZE5hbWUgJT4gPT0gPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+KQogICAgICAgICBy
ZXR1cm47Ci0gICAgbV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSA8JT0gQHNldHRpbmcu
bmFtZSAlPjsKKyAgICBtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4gPSA8
JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT47CiAgICAgPCU9IEBzZXR0aW5nLm9uQ2hhbmdl
ICU+KCk7CiB9CiA8JS0gZW5kIC0lPgpAQCAtMTc4LDIzICsxODAsMjMgQEAgdm9pZCBTZXR0aW5n
czo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1l
dGVyVHlwZSAlPgogPCUtIGVuZCAtJT4KIAogPCUtIGZvciBAc2V0dGluZyBpbiBAYWxsU2V0dGlu
Z3NTZXQuaW5zcGVjdG9yT3ZlcnJpZGVTZXR0aW5ncyBkbyAtJT4KLTwlLSBpZiBAc2V0dGluZy5o
YXNDb21wbGV4U2V0dGVyPyAtJT4KLXZvaWQgU2V0dGluZ3M6OjwlPSBAc2V0dGluZy5zZXR0ZXJG
dW5jdGlvbk5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZShzdGQ6Om9wdGlvbmFsPDwlPSBAc2V0dGlu
Zy5wYXJhbWV0ZXJUeXBlICU+PiA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRl
KQordm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPkluc3Bl
Y3Rvck92ZXJyaWRlKHN0ZDo6b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4+
IDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKQogewotICAg
IGlmIChtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID09IDwl
PSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpCisgICAgaWYgKG1fdmFsdWVzLjwl
PSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID09IDwlPSBAc2V0
dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKQogICAgICAgICByZXR1cm47
Ci0gICAgICAgIG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUg
PSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlOworICAgIG1fdmFsdWVzLjwl
PSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID0gPCU9IEBzZXR0
aW5nLm5vcm1hbGl6ZWROYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7Cis8JS0gaWYgQHNldHRpbmcu
aGFzQ29tcGxleFNldHRlcj8gLSU+CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uIC0lPgogI2lm
IDwlPSBAc2V0dGluZy5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiAgICAgPCU9IEBzZXR0aW5n
Lm9uQ2hhbmdlICU+KCk7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uIC0lPgotPCUtIGlmIEBj
b25kaXRpb24uY29uZGl0aW9uIC0lPgogI2VuZGlmCiA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4K
KyAgICBpZiAobV9wYWdlKQorICAgICAgICBtX3BhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnBhZ2VT
ZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKCI8JT0gQHNldHRpbmcubmFtZSAlPiJfcywg
bV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUp
OwogfQogCi08JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmIgYi9Tb3VyY2Uv
V2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCmluZGV4IDY4
MmFkZjcyODkyMDY3MDI3ZGIzMWExMmRlMjA3NTVlNmRlMWExY2EuLmRkYzIxZTdmNzg0YmRlODQ0
MjUxNzI5ODlhZTA1OTFlY2I1NjhlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Njcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmIKKysrIGIvU291cmNlL1dlYkNvcmUv
U2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgpAQCAtNDgsMTIgKzQ4LDEy
IEBAIHB1YmxpYzoKICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAg
ICAgV0VCQ09SRV9FWFBPUlQgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0
aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0OwogICAgIDwlLSBlbHNlIC0lPgotICAg
IDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5nZXR0ZXJGdW5jdGlv
bk5hbWUgJT4oKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPjsg
fQorICAgIDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5nZXR0ZXJG
dW5jdGlvbk5hbWUgJT4oKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9y
bWFsaXplZE5hbWUgJT47IH0KICAgICA8JS0gZW5kIC0lPgogICAgIDwlLSBpZiBAc2V0dGluZy5o
YXNDb21wbGV4U2V0dGVyPyAtJT4KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIDwlPSBAc2V0dGlu
Zy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4pOwog
ICAgIDwlLSBlbHNlIC0lPgotICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPikg
eyBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPiA9IDwlPSBAc2V0dGluZy5uYW1lICU+OyB9
CisgICAgdm9pZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGlu
Zy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPikgeyBtX3Zh
bHVlcy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4gPSA8JT0gQHNldHRpbmcubm9ybWFs
aXplZE5hbWUgJT47IH0KICAgICA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29u
ZGl0aW9uLmNvbmRpdGlvbiAtJT4KQEAgLTYyLDEyICs2Miw5IEBAIHB1YmxpYzoKIDwlLSBlbmQg
LSU+CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0Lmluc3BlY3Rvck92ZXJy
aWRlU2V0dGluZ3MgZG8gLSU+Ci0gICAgPCUtIGlmIEBzZXR0aW5nLmhhc0NvbXBsZXhTZXR0ZXI/
IC0lPgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9u
TmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKHN0ZDo6b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFt
ZXRlclR5cGUgJT4+KTsKLSAgICA8JS0gZWxzZSAtJT4KLSAgICB2b2lkIDwlPSBAc2V0dGluZy5z
ZXR0ZXJGdW5jdGlvbk5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZShzdGQ6Om9wdGlvbmFsPDwlPSBA
c2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+PiA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlKSB7IG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUg
PSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlOyB9Ci0gICAgPCUtIGVuZCAt
JT4KIDwlLSBlbmQgLSU+CisKICAgICBGb250R2VuZXJpY0ZhbWlsaWVzJiBmb250R2VuZXJpY0Zh
bWlsaWVzKCkgZmluYWwgeyByZXR1cm4gbV92YWx1ZXMuZm9udEdlbmVyaWNGYW1pbGllczsgfQog
ICAgIGNvbnN0IEZvbnRHZW5lcmljRmFtaWxpZXMmIGZvbnRHZW5lcmljRmFtaWxpZXMoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3ZhbHVlcy5mb250R2VuZXJpY0ZhbWlsaWVzOyB9CiAKQEAgLTc2
LDcgKzczLDcgQEAgcHVibGljOgogICAgICAgICBWYWx1ZXMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7
CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0Lmluc3BlY3Rvck92ZXJyaWRl
U2V0dGluZ3MgZG8gLSU+Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnR5cGUg
JT4+IDwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7CisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnR5cGUgJT4+IDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFt
ZSAlPkluc3BlY3Rvck92ZXJyaWRlOwogPCUtIGVuZCAtJT4KIAogICAgICAgICBGb250R2VuZXJp
Y0ZhbWlsaWVzIGZvbnRHZW5lcmljRmFtaWxpZXM7CkBAIC04Niw3ICs4Myw3IEBAIHB1YmxpYzoK
ICNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiA8JS0gZm9yIEBz
ZXR0aW5nIGluIEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVudGF0aW9u
IC0lPgotICAgICAgICA8JT0gQHNldHRpbmcudHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPjsK
KyAgICAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1l
ICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KICNlbmRp
ZgpAQCAtOTksNyArOTYsNyBAQCBwdWJsaWM6CiAjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9u
ICU+CiAgICAgICAgIDwlLSBlbmQgLSU+CiAgICAgICAgIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNv
bmRpdGlvbi5ib29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgICAgIDwl
PSBAc2V0dGluZy50eXBlICU+IDwlPSBAc2V0dGluZy5uYW1lICU+IDogMTsKKyAgICAgICAgPCU9
IEBzZXR0aW5nLnR5cGUgJT4gPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+IDogMTsKICAg
ICAgICAgPCUtIGVuZCAtJT4KICAgICAgICAgPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0l
PgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKaW5k
ZXggNjZkMWI1OWMyOTQ3ODY5MDk3YWYyNGIyMTdlY2ZiZTg4YWFkNTgwZS4uZDkwYjlhNDNmMzI5
N2EwNGMwZTY2NzQzMzlhYzRlZjg4MGMyMzM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDbGllbnQuaApAQCAtNjcsNyArNjcsNiBAQCBwdWJsaWM6CiAgICAgZW51bSBj
bGFzcyBEZXZlbG9wZXJQcmVmZXJlbmNlIHsKICAgICAgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnREZWJ1Z01vZGVFbmFibGVkLAogICAgICAgICBJVFBEZWJ1Z01vZGVFbmFibGVkLAotICAgICAg
ICBNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLAogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIHNl
dERldmVsb3BlclByZWZlcmVuY2VPdmVycmlkZShEZXZlbG9wZXJQcmVmZXJlbmNlLCBzdGQ6Om9w
dGlvbmFsPGJvb2w+KSB7IH0KIApAQCAtODQsOCArODMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5jZT4g
ewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6Okluc3Bl
Y3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5jZSwKICAgICAgICAgV2ViQ29yZTo6SW5zcGVj
dG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJlbmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudERl
YnVnTW9kZUVuYWJsZWQsCi0gICAgICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6RGV2ZWxv
cGVyUHJlZmVyZW5jZTo6SVRQRGVidWdNb2RlRW5hYmxlZCwKLSAgICAgICAgV2ViQ29yZTo6SW5z
cGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkCisgICAgICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5j
ZTo6SVRQRGVidWdNb2RlRW5hYmxlZAogICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKaW5kZXggNjQx
MTc0MjViYTVjNWI2YTcxZDE5MGRmYzhmMWVlZmI0ZmZjNjM3Yy4uZTZkYmE4NTY3NzU5YjRjYmY2
MWMyZWQ3MmZkMWY0ZWI3MzMxZTc1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMzg0LDcgKzM4NCw2IEBA
IFByb3RvY29sOjpFcnJvclN0cmluZ09yPHZvaWQ+IEluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJs
ZSgpCiAKICAgICBtX2NsaWVudC0+c2V0RGV2ZWxvcGVyUHJlZmVyZW5jZU92ZXJyaWRlKEluc3Bl
Y3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5jZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRE
ZWJ1Z01vZGVFbmFibGVkLCBzdGQ6Om51bGxvcHQpOwogICAgIG1fY2xpZW50LT5zZXREZXZlbG9w
ZXJQcmVmZXJlbmNlT3ZlcnJpZGUoSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJlbmNl
OjpJVFBEZWJ1Z01vZGVFbmFibGVkLCBzdGQ6Om51bGxvcHQpOwotICAgIG1fY2xpZW50LT5zZXRE
ZXZlbG9wZXJQcmVmZXJlbmNlT3ZlcnJpZGUoSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVm
ZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCBzdGQ6Om51bGxvcHQpOwogCiAgICAg
cmV0dXJuIHsgfTsKIH0KQEAgLTQ1Nyw3ICs0NTYsNiBAQCBQcm90b2NvbDo6RXJyb3JTdHJpbmdP
cjx2b2lkPiBJbnNwZWN0b3JQYWdlQWdlbnQ6Om92ZXJyaWRlU2V0dGluZyhQcm90b2NvbDo6UGFn
ZQogCiAgICAgY2FzZSBQcm90b2NvbDo6UGFnZTo6U2V0dGluZzo6TW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZDoKICAgICAgICAgaW5zcGVjdGVkUGFnZVNldHRpbmdzLnNldE1vY2tDYXB0dXJlRGV2
aWNlc0VuYWJsZWRJbnNwZWN0b3JPdmVycmlkZSh2YWx1ZSk7Ci0gICAgICAgIG1fY2xpZW50LT5z
ZXREZXZlbG9wZXJQcmVmZXJlbmNlT3ZlcnJpZGUoSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQ
cmVmZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCB2YWx1ZSk7CiAgICAgICAgIHJl
dHVybiB7IH07CiAKICAgICBjYXNlIFByb3RvY29sOjpQYWdlOjpTZXR0aW5nOjpOZWVkc1NpdGVT
cGVjaWZpY1F1aXJrczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE4OTY4Yzk0
NGU0YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLjg5ZmI4ODdmMzQyMzNmOTBkNGU1ZGEw
YTJkYTJhNWJkODQ5MjgwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNjA3
LDYgKzYwNyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3Jl
YXRlUHJldmlldyhXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50JiwgY29uc3QgVVJMJiwgY29uc3Qg
U3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJikgY29uc3QgeyB9OwogI2VuZGlmCiAK
KyAgICB2aXJ0dWFsIHZvaWQgcGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQoY29u
c3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxib29sPikgeyB9OworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmlu
aXRpb25zLmguZXJiIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVz
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKaW5kZXggM2YzOTkyODJmN2M5NGJkN2Qy
YjAzYzI4ZWZkMjk2ZjE1YzY5NTZlOC4uNzBlMjkwM2I1ZTQyMDQ1ZjBkMTMzMzk0MzU1NTdhNDZl
Y2I5YjBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVt
cGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKKysrIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aC5lcmIKQEAgLTg2LDMgKzg2LDEwIEBACiA8JS0gZW5kIC0lPgogICAgIFwKIAorLy8gSW5zcGVj
dG9yIE92ZXJyaWRlcworCisjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9QUkVGRVJFTkNFX0lOU1BF
Q1RPUl9PVkVSUklERShtYWNybykgXAorPCUtIGZvciBAcHJlZiBpbiBAZXhwb3NlZEluc3BlY3Rv
ck92ZXJyaWRlcyBkbyAtJT4KKyAgICBtYWNybyg8JT0gQHByZWYubmFtZUxvd2VyICU+LCA8JT0g
QHByZWYudHlwZSAlPikgXAorPCUtIGVuZCAtJT4KKyAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNHZXR0ZXJT
ZXR0ZXJzLmNwcC5lcmIgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNHZXR0ZXJTZXR0ZXJzLmNwcC5lcmIKaW5kZXggZDJjZTQ5YjQyMWM4
NjBkZTc1N2FjMGRkMmUzY2FiZTk0MzhmOTg5Ny4uMTMxY2YzZWZkYmZhYTcxZGYwNWYyYzRhN2Iw
MTgyMzU1M2RhYzQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVu
Y2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzR2V0dGVyU2V0dGVycy5jcHAuZXJiCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0dl
dHRlclNldHRlcnMuY3BwLmVyYgpAQCAtNDIsNiArNDIsMTAgQEAgdm9pZCBXZWJQcmVmZXJlbmNl
czo6c2V0PCU9IEBwcmVmLm5hbWUgJT4oY29uc3QgPCU9IEBwcmVmLnR5cGUgJT4mIHZhbHVlKQog
CiA8JT0gQHByZWYudHlwZSAlPiBXZWJQcmVmZXJlbmNlczo6PCU9IEBwcmVmLm5hbWVMb3dlciAl
PigpIGNvbnN0CiB7CisgICAgPCUtIGlmIEBwcmVmLmhhc0luc3BlY3Rvck92ZXJyaWRlPyAtJT4K
KyAgICBpZiAoVU5MSUtFTFkobV88JT0gQHByZWYubmFtZUxvd2VyICU+SW5zcGVjdG9yT3ZlcnJp
ZGUpKQorICAgICAgICByZXR1cm4gbV88JT0gQHByZWYubmFtZUxvd2VyICU+SW5zcGVjdG9yT3Zl
cnJpZGUudmFsdWUoKTsKKyAgICA8JS0gZW5kIC0lPgogICAgIHJldHVybiBtX3N0b3JlLmdldDwl
PSBAcHJlZi50eXBlVXBwZXIgJT5WYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6PCU9IEBw
cmVmLm5hbWVMb3dlciAlPktleSgpKTsKIH0KIApAQCAtNjIsNiArNjYsMTAgQEAgdm9pZCBXZWJQ
cmVmZXJlbmNlczo6c2V0PCU9IEBwcmVmLm5hbWUgJT4oY29uc3QgYm9vbCYgdmFsdWUpCiAKIGJv
b2wgV2ViUHJlZmVyZW5jZXM6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT4oKSBjb25zdAogeworICAg
IDwlLSBpZiBAcHJlZi5oYXNJbnNwZWN0b3JPdmVycmlkZT8gLSU+CisgICAgaWYgKFVOTElLRUxZ
KG1fPCU9IEBwcmVmLm5hbWVMb3dlciAlPkluc3BlY3Rvck92ZXJyaWRlKSkKKyAgICAgICAgcmV0
dXJuIG1fPCU9IEBwcmVmLm5hbWVMb3dlciAlPkluc3BlY3Rvck92ZXJyaWRlLnZhbHVlKCk7Cisg
ICAgPCUtIGVuZCAtJT4KICAgICByZXR1cm4gbV9zdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT5LZXkoKSk7CiB9CiAKQEAgLTgy
LDYgKzkwLDEwIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldDwlPSBAcHJlZi5uYW1lICU+KGNv
bnN0IGJvb2wmIHZhbHVlKQogCiBib29sIFdlYlByZWZlcmVuY2VzOjo8JT0gQHByZWYubmFtZUxv
d2VyICU+KCkgY29uc3QKIHsKKyAgICA8JS0gaWYgQHByZWYuaGFzSW5zcGVjdG9yT3ZlcnJpZGU/
IC0lPgorICAgIGlmIChVTkxJS0VMWShtXzwlPSBAcHJlZi5uYW1lTG93ZXIgJT5JbnNwZWN0b3JP
dmVycmlkZSkpCisgICAgICAgIHJldHVybiBtXzwlPSBAcHJlZi5uYW1lTG93ZXIgJT5JbnNwZWN0
b3JPdmVycmlkZS52YWx1ZSgpOworICAgIDwlLSBlbmQgLSU+CiAgICAgcmV0dXJuIG1fc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2Vy
ICU+S2V5KCkpOwogfQogCkBAIC05Miw0ICsxMDQsMTQgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6
ZGVsZXRlPCU9IEBwcmVmLm5hbWUgJT4oKQogCiA8JS0gZW5kIC0lPgogCit2b2lkIFdlYlByZWZl
cmVuY2VzOjpwYWdlU2V0dGluZ0luc3BlY3Rvck92ZXJyaWRlQ2hhbmdlZChjb25zdCBTdHJpbmcm
IG5hbWUsIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gdmFsdWUpCit7Cis8JS0gZm9yIEBwcmVmIGluIEBl
eHBvc2VkSW5zcGVjdG9yT3ZlcnJpZGVzIGRvIC0lPgorICAgIGlmIChuYW1lID09IFdlYlByZWZl
cmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCkpIHsKKyAgICAgICAgbV88JT0g
QHByZWYubmFtZUxvd2VyICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSB2YWx1ZTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKzwlLSBlbmQgLSU+Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tCmluZGV4IGQ2OTVmMWZmZmMzOGFkMTg5
NTRkZjc1NDcyYWIzZjQ3OWQ2YTY0M2IuLmFjMGI2MTI2YTMwMDY1MzIyOTEzYjQ5M2IxZTczNDgy
NTFkM2Y3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tJbnNwZWN0b3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0luc3BlY3Rvci5tbQpAQCAtMTkyLDYgKzE5MiwxMiBAQCAtICh2b2lkKXByaW50RXJyb3JUb0Nv
bnNvbGU6KE5TU3RyaW5nICopZXJyb3IKIAogLy8gTUFSSzogX1dLSW5zcGVjdG9yUHJpdmF0ZSBt
ZXRob2RzCiAKKy0gKFdLV2ViVmlldyAqKWluc3BlY3RvcldlYlZpZXcKK3sKKyAgICBhdXRvIHBh
Z2UgPSBfaW5zcGVjdG9yLT5pbnNwZWN0b3JQYWdlKCk7CisgICAgcmV0dXJuIHBhZ2UgPyBwYWdl
LT5jb2NvYVZpZXcoKS5hdXRvcmVsZWFzZSgpIDogbmlsOworfQorCiAtICh2b2lkKV9zZXREaWFn
bm9zdGljTG9nZ2luZ0RlbGVnYXRlOihpZDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPilk
ZWxlZ2F0ZQogewogICAgIGF1dG8gaW5zcGVjdG9yV2ViVmlldyA9IHNlbGYuaW5zcGVjdG9yV2Vi
VmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnNwZWN0b3JJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0luc3BlY3RvckludGVybmFsLmgKaW5kZXggODZiZmRhMGFiYjczZjM4NTdiNzBlZjBkMmQ5ZWI5
YmViOTdhZjgyYy4uOGM4YzlkNzdhMzA3MWY0MDkzOTk0YzI3ZGJlOGU0NDhlZDFjNjJkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvcklu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3Bl
Y3RvckludGVybmFsLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2ltcG9ydCAiV0tPYmplY3QuaCIK
ICNpbXBvcnQgIldlYkluc3BlY3RvclVJUHJveHkuaCIKKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0
ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JQcml2YXRlLmgKaW5kZXggM2RjZGYxNTk2
MTdhY2IzMDlkOTcyMTMzN2M2ZWZmODE0NjY4NzNhZi4uOGRkOGQ4MTRlZjhmYmMxOGJhNzY2MTQ4
ZTcxMmMzNzBmMGExYmY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0luc3BlY3RvclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yUHJpdmF0ZS5oCkBAIC0zMCw2ICszMCw4IEBACiAKIEBp
bnRlcmZhY2UgX1dLSW5zcGVjdG9yIChXS1ByaXZhdGUpCiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgV0tXZWJWaWV3ICppbnNwZWN0b3JXZWJWaWV3OworCiBAcHJvcGVydHkgKG5v
bmF0b21pYywgd2Vhaywgc2V0dGVyPV9zZXREaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlOikgaWQ8
X1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZT4gX2RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGU7
CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tXZWJWaWV3ICpleHRlbnNpb25I
b3N0V2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tJbnNwZWN0b3JQcml2YXRlRm9yVGVzdGluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmgKaW5kZXggOTZhOTcx
ODRmNGJjMWY1NjlkODRiMmU5YmZlOTMwZGIxNDczNmY4My4uNGMzZGE4YzNjYjRkYWVjZDY4MDgz
OGIyNjFkNWZiOGI3MGU5YTZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmgK
QEAgLTI2LDcgKzI2LDUgQEAKICNpbXBvcnQgIl9XS0luc3BlY3Rvci5oIgogCiBAaW50ZXJmYWNl
IF9XS0luc3BlY3RvciAoV0tUZXN0aW5nKQotLSAodm9pZClfZmV0Y2hVUkxGb3JUZXN0aW5nOihO
U1VSTCAqKXVybDsKLS0gKHZvaWQpX29wZW5VUkxFeHRlcm5hbGx5Rm9yVGVzdGluZzooTlNVUkwg
Kil1cmwgdXNlRnJvbnRlbmRBUEk6KEJPT0wpdXNlRnJvbnRlbmRBUEk7Ci0tIChXS1dlYlZpZXcg
KilpbnNwZWN0b3JXZWJWaWV3OworLSAodm9pZClfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGlu
ZzooTlNTdHJpbmcgKilleHByZXNzaW9uOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclRlc3RpbmcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yVGVzdGluZy5tbQppbmRleCBiM2M4
ZTE3YjI2MThhNzk2NjkzMTFkNDIxN2Q4ZjljOGVjODg1MTk5Li5hZWRkYzE4NzY2ZGViNGNmYTRj
MjE3ZmNjNzFkZTM4YjdmN2Q4NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yVGVzdGluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yVGVzdGluZy5tbQpAQCAtMjUsNDYgKzI1LDE0
IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5o
IgotI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJfV0tJbnNwZWN0b3JJbnRlcm5h
bC5oIgogI2ltcG9ydCAiX1dLSW5zcGVjdG9yUHJpdmF0ZUZvclRlc3RpbmcuaCIKIAotLy8gVGhp
cyBmaWxlIGV4aXN0cyB0byBjZW50cmFsaXplIGFsbCBmcmFnaWxlIGNvZGUgdGhhdCBpcyB1c2Vk
IGJ5IF9XS0luc3BlY3RvciBBUEkgdGVzdHMuIFRoZSB0ZXN0cwotLy8gdHJpZ2dlciBXZWJJbnNw
ZWN0b3JVSSBiZWhhdmlvciBieSBldmFsdWF0aW5nIEphdmFTY3JpcHQgb3IgYnkgY2FsbGluZyBp
bnRlcm5hbCBtZXRob2RzLgotCi1zdGF0aWMgTlNTdHJpbmcgKkphdmFTY3JpcHRTbmlwcGV0VG9P
cGVuVVJMRXh0ZXJuYWxseShOU1VSTCAqdXJsKQotewotICAgIHJldHVybiBbTlNTdHJpbmcgc3Ry
aW5nV2l0aEZvcm1hdDpAIkluc3BlY3RvckZyb250ZW5kSG9zdC5vcGVuVVJMRXh0ZXJuYWxseShc
IiVAXCIpIiwgdXJsLmFic29sdXRlU3RyaW5nXTsKLX0KLQotc3RhdGljIE5TU3RyaW5nICpKYXZh
U2NyaXB0U25pcHBldFRvRmV0Y2hVUkwoTlNVUkwgKnVybCkKLXsKLSAgICByZXR1cm4gW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJmZXRjaChcIiVAXCIpIiwgdXJsLmFic29sdXRlU3RyaW5n
XTsKLX0KLQogQGltcGxlbWVudGF0aW9uIF9XS0luc3BlY3RvciAoV0tUZXN0aW5nKQogCi0tIChX
S1dlYlZpZXcgKilpbnNwZWN0b3JXZWJWaWV3CistICh2b2lkKV9ldmFsdWF0ZUluRnJvbnRlbmRG
b3JUZXN0aW5nOihOU1N0cmluZyAqKWV4cHJlc3Npb24KIHsKLSAgICBhdXRvIHBhZ2UgPSBfaW5z
cGVjdG9yLT5pbnNwZWN0b3JQYWdlKCk7Ci0gICAgcmV0dXJuIHBhZ2UgPyBwYWdlLT5jb2NvYVZp
ZXcoKS5hdXRvcmVsZWFzZSgpIDogbmlsOwotfQotCi0tICh2b2lkKV9mZXRjaFVSTEZvclRlc3Rp
bmc6KE5TVVJMICopdXJsCi17Ci0gICAgX2luc3BlY3Rvci0+ZXZhbHVhdGVJbkZyb250ZW5kRm9y
VGVzdGluZyhKYXZhU2NyaXB0U25pcHBldFRvRmV0Y2hVUkwodXJsKSk7Ci19Ci0KLS0gKHZvaWQp
X29wZW5VUkxFeHRlcm5hbGx5Rm9yVGVzdGluZzooTlNVUkwgKil1cmwgdXNlRnJvbnRlbmRBUEk6
KEJPT0wpdXNlRnJvbnRlbmRBUEkKLXsKLSAgICBpZiAodXNlRnJvbnRlbmRBUEkpCi0gICAgICAg
IF9pbnNwZWN0b3ItPmV2YWx1YXRlSW5Gcm9udGVuZEZvclRlc3RpbmcoSmF2YVNjcmlwdFNuaXBw
ZXRUb09wZW5VUkxFeHRlcm5hbGx5KHVybCkpOwotICAgIGVsc2UgewotICAgICAgICAvLyBGb3Jj
ZSB0aGUgbmF2aWdhdGlvbiByZXF1ZXN0IHRvIGJlIGhhbmRsZWQgbmF0dXJhbGx5IHRocm91Z2gg
dGhlCi0gICAgICAgIC8vIGludGVybmFsIE5hdmlnYXRpb25EZWxlZ2F0ZSBvZiBXS0luc3BlY3Rv
clZpZXdDb250cm9sbGVyLgotICAgICAgICBbc2VsZi5pbnNwZWN0b3JXZWJWaWV3IGxvYWRSZXF1
ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsXV07Ci0gICAgfQorICAgIF9pbnNw
ZWN0b3ItPmV2YWx1YXRlSW5Gcm9udGVuZEZvclRlc3RpbmcoZXhwcmVzc2lvbik7CiB9CiAKIEBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNw
ZWN0b3JVSVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JVSVByb3h5LmNwcAppbmRleCA1NzJkMjM1YzZkMWYxNGRjZTIxMjI4OTE5MzUzYjcz
NDRhOTAzY2UyLi5lM2Q5Nzk4OTU3ODNmZWMwZTA0NmM0NTIyMjU1MjIxYzBmNDNmMGY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJUHJveHkuY3BwCkBAIC02ODIsMTMgKzY4Miw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUlQ
cm94eTo6c2V0RGV2ZWxvcGVyUHJlZmVyZW5jZU92ZXJyaWRlKFdlYkNvcmU6Okluc3BlY3RvckNs
aWVuCiAgICAgICAgIGlmIChtX2luc3BlY3RlZFBhZ2UpCiAgICAgICAgICAgICBtX2luc3BlY3Rl
ZFBhZ2UtPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdN
b2RlKG92ZXJyaWRlVmFsdWUgJiYgb3ZlcnJpZGVWYWx1ZS52YWx1ZSgpKTsKICAgICAgICAgcmV0
dXJuOwotCi0gICAgY2FzZSBJbnNwZWN0b3JDbGllbnQ6OkRldmVsb3BlclByZWZlcmVuY2U6Ok1v
Y2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQ6Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICAg
ICAgaWYgKG1faW5zcGVjdGVkUGFnZSkKLSAgICAgICAgICAgIG1faW5zcGVjdGVkUGFnZS0+c2V0
TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92ZXJyaWRlKG92ZXJyaWRlVmFsdWUpOwotI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcApp
bmRleCBiZjY1ZDM2NDY0MmI1NmZmOGUzZjRiN2JlOWUyOTM0ZDk0NDA0NTQxLi44OGEzYmRjNzcx
NGVkYzdiMmYwMThiOWQ1YmIzMmNhMzQzZWE4ZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkuY3BwCkBAIC04NDIsMTggKzg0MiwxMiBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5OjplbnVtZXJhdGVNZWRpYURldmljZXNGb3JGcmFtZShGcmFt
ZQogI2VuZGlmCiB9CiAKLXZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk6OnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZShzdGQ6Om9wdGlvbmFsPGJv
b2w+IGVuYWJsZWQpCi17Ci0gICAgbV9tb2NrRGV2aWNlc0VuYWJsZWRPdmVycmlkZSA9IGVuYWJs
ZWQ7Ci0gICAgc3luY1dpdGhXZWJDb3JlUHJlZnMoKTsKLX0KLQogdm9pZCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c3luY1dpdGhXZWJDb3JlUHJlZnMoKSBjb25zdAog
ewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLy8gRW5hYmxlL2Rpc2FibGUgdGhlIG1v
Y2sgY2FwdHVyZSBkZXZpY2VzIGZvciB0aGUgVUkgcHJvY2VzcyBhcyBwZXIgdGhlIFdlYkNvcmUg
cHJlZmVyZW5jZXMuIE5vdGUgdGhhdAogICAgIC8vIHRoaXMgaXMgYSBub29wIGlmIHRoZSBwcmVm
ZXJlbmNlIGhhc24ndCBjaGFuZ2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgdGhpcyB3YXMgY2FsbGVk
LgotICAgIGJvb2wgbW9ja0RldmljZXNFbmFibGVkID0gbV9tb2NrRGV2aWNlc0VuYWJsZWRPdmVy
cmlkZSA/ICptX21vY2tEZXZpY2VzRW5hYmxlZE92ZXJyaWRlIDogbV9wYWdlLnByZWZlcmVuY2Vz
KCkubW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpOworICAgIGJvb2wgbW9ja0RldmljZXNFbmFi
bGVkID0gbV9wYWdlLnByZWZlcmVuY2VzKCkubW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpOwog
CiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIGlmIChtX3BhZ2UucHJlZmVyZW5jZXMoKS5j
YXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkKCkgfHwgbV9wYWdlLnByZWZlcmVuY2VzKCku
Y2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmgKaW5kZXggYWI4MTlkYjk2YjhmM2IzMTI5MWVlNWQ0ZmZlYjhlNTY1M2MxYmEyMy4u
ZDZhZTE5ODEwNjZhZTMwNjA1N2Q2MTI3NTc0NWMzOThmNmE0NjdkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eS5oCkBAIC05NCw3ICs5NCw2IEBAIHB1YmxpYzoKICAgICAgICAgUHJv
bXB0CiAgICAgfTsKIAotICAgIHZvaWQgc2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92ZXJy
aWRlKHN0ZDo6b3B0aW9uYWw8Ym9vbD4pOwogICAgIGJvb2wgaGFzUGVuZGluZ0NhcHR1cmUoKSBj
b25zdCB7IHJldHVybiBtX2hhc1BlbmRpbmdDYXB0dXJlOyB9CiAKICAgICB2b2lkIGNoZWNrVXNl
ck1lZGlhUGVybWlzc2lvbkZvclNwZWVjaFJlY29nbml0aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UmLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKQEAgLTE3Niw3ICsxNzUsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9oYXNDcmVhdGVkU2FuZGJveEV4dGVuc2lvbkZvclRDQ0QgeyBmYWxzZSB9OwogI2VuZGlm
CiAgICAgdWludDY0X3QgbV9oYXNQZW5kaW5nQ2FwdHVyZSB7IDAgfTsKLSAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IG1fbW9ja0RldmljZXNFbmFibGVkT3ZlcnJpZGU7CiB9OwogCiBTdHJpbmcgY29u
dmVydEVudW1lcmF0aW9uVG9TdHJpbmcoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHk6OlJlcXVlc3RBY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggYmFjMjhiN2I5ZGI0ZTQ3ZDE1ZjA3YzQzODJkMGZkZWM2OGI1OWI1Zi4uOWE1
MzU2ODY3NjM1N2U1M2IxMzU1MmY0YmZhZTJhNzEwYzZjZDFlZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xOTA3LDYgKzE5MDcsMTQgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnJlbW90ZUluc3BlY3RvckluZm9ybWF0aW9uRGlkQ2hhbmdlKCkKIH0KICNlbmRp
ZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5n
ZWQoY29uc3QgU3RyaW5nJiBuYW1lLCBzdGQ6Om9wdGlvbmFsPGJvb2w+IHZhbHVlKQoreworICAg
IHByZWZlcmVuY2VzKCkucGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQobmFtZSwg
dmFsdWUpOworCisgICAgaWYgKG5hbWUgPT0gV2ViUHJlZmVyZW5jZXNLZXk6Om1vY2tDYXB0dXJl
RGV2aWNlc0VuYWJsZWRLZXkoKSkKKyAgICAgICAgdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyKCkuc3luY1dpdGhXZWJDb3JlUHJlZnMoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6
OnNldEJhY2tncm91bmRDb2xvcihjb25zdCBzdGQ6Om9wdGlvbmFsPENvbG9yPiYgY29sb3IpCiB7
CiAgICAgaWYgKG1fYmFja2dyb3VuZENvbG9yID09IGNvbG9yKQpAQCAtODQxNywxMSArODQyNSw2
IEBAIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5JiBXZWJQYWdlUHJveHk6
OnVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0CiAgICAgcmV0dXJuICptX3VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlcjsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnNldE1vY2tDYXB0
dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZShzdGQ6Om9wdGlvbmFsPGJvb2w+IGVuYWJsZWQpCi17
Ci0gICAgdXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyKCkuc2V0TW9ja0NhcHR1cmVE
ZXZpY2VzRW5hYmxlZE92ZXJyaWRlKGVuYWJsZWQpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6
d2lsbFN0YXJ0Q2FwdHVyZShjb25zdCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5JiBy
ZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY2FsbGJhY2spCiB7CiAjaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCAxZGRlMmFhMGFkNjQ2MzU1ZTI5MDZjNmUzZmZiMDgwMDhkNTI3MzY1Li5hMTE5Nzc4NzEzMWNl
NjFhNjhmNmJjNjcyMjE3MmQ1YzkyNzcyMGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtNTUwLDYgKzU1MCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW90ZUlu
c3BlY3RvckluZm9ybWF0aW9uRGlkQ2hhbmdlKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgcGFnZVNl
dHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQoY29uc3QgU3RyaW5nJiwgc3RkOjpvcHRpb25h
bDxib29sPik7CisKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgV2ViRnVsbFNjcmVl
bk1hbmFnZXJQcm94eSogZnVsbFNjcmVlbk1hbmFnZXIoKTsKIApAQCAtNzg4LDYgKzc5MCw5IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgcmVzZW5kTGFzdFZpc2libGVDb250ZW50UmVjdHMoKTsKIAor
ICAgIGJvb2wgc2hvdWxkQWx3YXlzVXNlTWF4aW11bU9ic2N1cmVkSW5zZXRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9zaG91bGRBbHdheXNVc2VNYXhpbXVtT2JzY3VyZWRJbnNldHM7IH0KKyAgICB2b2lk
IHNldFNob3VsZEFsd2F5c1VzZU1heGltdW1PYnNjdXJlZEluc2V0cyhib29sKTsKKwogICAgIFdl
YkNvcmU6OkZsb2F0UmVjdCBjb21wdXRlTGF5b3V0Vmlld3BvcnRSZWN0KGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgdW5vYnNjdXJlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIHVub2JzY3VyZWRDb250ZW50UmVjdFJlc3BlY3RpbmdJbnB1dFZpZXdCb3VuZHMsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgY3VycmVudExheW91dFZpZXdwb3J0UmVjdCwgZG91YmxlIGRp
c3BsYXllZENvbnRlbnRTY2FsZSwgV2ViQ29yZTo6RnJhbWVWaWV3OjpMYXlvdXRWaWV3cG9ydENv
bnN0cmFpbnQgPSBXZWJDb3JlOjpGcmFtZVZpZXc6OkxheW91dFZpZXdwb3J0Q29uc3RyYWludDo6
VW5jb25zdHJhaW5lZCkgY29uc3Q7CiAKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgdW5jb25zdHJh
aW5lZExheW91dFZpZXdwb3J0UmVjdCgpIGNvbnN0OwpAQCAtMjU5NCw2ICsyNTk5LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faGFzTmV0d29ya1JlcXVlc3RzT25TdXNwZW5kZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc0tleWJvYXJkQW5pbWF0aW5nSW4geyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1Njcm9sbGluZ09yWm9vbWluZyB7IGZhbHNlIH07CisgICAgYm9vbCBtX3Nob3VsZEFsd2F5
c1VzZU1heGltdW1PYnNjdXJlZEluc2V0cyB7IGZhbHNlIH07CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShVSV9TSURFX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGRiNWI1NmVmMjM1MjA5ZWExNzM5NDY5YTkxMTYx
NDBlMjk3NmQ5NmUuLmE5OWEwZTA3MzNhNjExZGJmMjVkODE2ZjVhNWEwZmI1NDc1ZWNhOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
QEAgLTU5OSw0ICs1OTksNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEhBVkUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZp
ZXcoc3RydWN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0IGVsZW1lbnRDb250ZXh0LCBVUkwgdXJs
LCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUpCiAjZW5kaWYKKworICAgIFBh
Z2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKFN0cmluZyBuYW1lLCBzdGQ6Om9wdGlv
bmFsPGJvb2w+IHZhbHVlKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmgKaW5kZXggOTM3NDNjYjAwZDQzMGJjM2E4Mzg1OTcwZjViNWEwZTBjZTE4MmRmZS4uZWIxZDll
NzQwYTFhMmFlZWEwNjUzNTBlNzBkMjg1ZWFiMjRjNjI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oCkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICBGT1Jf
RUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FO
RF9TRVRURVJTKQogICAgIEZPUl9FQUNIX1dFQktJVF9JTlRFUk5BTF9ERUJVR19GRUFUVVJFX1BS
RUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKICAgICBGT1Jf
RUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZF
UkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQorICAgIHZvaWQgcGFnZVNldHRpbmdJbnNwZWN0b3JP
dmVycmlkZUNoYW5nZWQoY29uc3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxib29sPik7CiAKICAg
ICBzdGF0aWMgY29uc3QgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+JiBleHBlcmltZW50YWxG
ZWF0dXJlcygpOwogICAgIGJvb2wgaXNGZWF0dXJlRW5hYmxlZChjb25zdCBBUEk6OkV4cGVyaW1l
bnRhbEZlYXR1cmUmKSBjb25zdDsKQEAgLTEzOCw2ICsxMzksMTMgQEAgcHJpdmF0ZToKICAgICBj
b25zdCBTdHJpbmcgbV9nbG9iYWxEZWJ1Z0tleVByZWZpeDsKICAgICBXZWJQcmVmZXJlbmNlc1N0
b3JlIG1fc3RvcmU7CiAKKyNkZWZpbmUgREVDTEFSRV9QUkVGRVJFTkNFX0lOU1BFQ1RPUl9PVkVS
UklERV9NRU1CRVIoS2V5TG93ZXIsIFR5cGUpIFwKKyAgICBzdGQ6Om9wdGlvbmFsPFR5cGU+IG1f
IyNLZXlMb3dlciMjSW5zcGVjdG9yT3ZlcnJpZGU7CisKKyAgICBGT1JfRUFDSF9XRUJLSVRfUFJF
RkVSRU5DRV9JTlNQRUNUT1JfT1ZFUlJJREUoREVDTEFSRV9QUkVGRVJFTkNFX0lOU1BFQ1RPUl9P
VkVSUklERV9NRU1CRVIpCisKKyN1bmRlZiBERUNMQVJFX1BSRUZFUkVOQ0VfSU5TUEVDVE9SX09W
RVJSSURFX01FTUJFUgorCiAgICAgV2Vha0hhc2hTZXQ8V2ViUGFnZVByb3h5PiBtX3BhZ2VzOwog
ICAgIHVuc2lnbmVkIG1fdXBkYXRlQmF0Y2hDb3VudCB7IDAgfTsKICAgICBib29sIG1fbmVlZFVw
ZGF0ZUFmdGVyQmF0Y2ggeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAzMDc3
NmEwMGRiMDc0ZjJkMTk3ZDI3YTAwMDg5MjkyYjU4ODA3ODU3Li44ODQyNDQ3M2ZmM2EzNWVmYTli
YTQwYmFjN2RjNWJiMWJhOGZlODEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTUyOSw0
ICsxNTI5LDkgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6Om1vZGVsRWxlbWVudERpZENyZWF0ZVBy
ZXZpZXcoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudCYgZWwKIH0KICNlbmRpZgogCit2b2lkIFdl
YkNocm9tZUNsaWVudDo6cGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQoY29uc3Qg
U3RyaW5nJiBuYW1lLCBzdGQ6Om9wdGlvbmFsPGJvb2w+IHZhbHVlKQoreworICAgIG1fcGFnZS5z
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVD
aGFuZ2VkIHsgbmFtZSwgdmFsdWUgfSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCmluZGV4IGMxNTEyZjk5ODc1ZDk5NzA3NDVmNjJjNjVmNWRiMjk1MjExMTU1
MDMuLjQ5Y2Q3NmE3MDY5OWJiYTZjZTY1ZjgwOTlmMDkxYjczNWQxMTk3MzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTQ1OSw2ICs0NTksOCBAQCBwcml2YXRlOgogICAgIHZvaWQgbW9kZWxFbGVt
ZW50RGlkQ3JlYXRlUHJldmlldyhXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50JiwgY29uc3QgVVJM
JiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJikgY29uc3QgZmluYWw7
CiAjZW5kaWYKIAorICAgIHZvaWQgcGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQo
Y29uc3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxib29sPikgZmluYWw7CisKICAgICBtdXRhYmxl
IGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHsgZmFsc2UgfTsK
ICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRNYWluRnJhbWVIYXNWZXJ0aWNhbFNjcm9sbGJhciB7
IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA5OTUxNWEwZjkxZGIwNDM4ODNiYTg1ZDQ5ZTQyYjQwMGI3MWI1ZTdjLi5mYjNhZDdj
ZmFiMWY4ZjlkODA2ZGU3YzQ0YjU5MjBiNzEzNTM4ZTc2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDctMTYg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHByb3BhZ2F0ZSBjaGFuZ2VzIGZyb20gYFBhZ2Uub3ZlcnJpZGVTZXR0aW5nYCB0byB0aGUg
VUlQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjgwMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2ViSW5zcGVjdG9ySW5zcGVjdGVk
UGFnZU9wZXJhdGlvbnMubW06IEFkZGVkLgorICAgICAgICAocmVzZXRHbG9iYWxTdGF0ZSk6Cisg
ICAgICAgICgtW0luc3BlY3RvckRlbGVnYXRlRm9yVGVzdGluZ0luc3BlY3RlZFBhZ2VPcGVyYXRp
b25zIGluc3BlY3RvckZyb250ZW5kTG9hZGVkOl0pOgorICAgICAgICAoLVtVSURlbGVnYXRlRm9y
VGVzdGluZ0luc3BlY3RlZFBhZ2VPcGVyYXRpb25zIF93ZWJWaWV3OmNvbmZpZ3VyYXRpb25Gb3JM
b2NhbEluc3BlY3RvcjpdKToKKyAgICAgICAgKFRFU1QuV2ViSW5zcGVjdG9ySW5zcGVjdGVkUGFn
ZU9wZXJhdGlvbnMuT3ZlcnJpZGVTZXR0aW5nUHJvcGFnYXRlc1RvV0tQcmVmZXJlbmNlcyk6CisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSW5zcGVjdG9yRGVs
ZWdhdGUubW06CisgICAgICAgIChURVNULldLSW5zcGVjdG9yRGVsZWdhdGUuU2hvd1VSTEV4dGVy
bmFsbHkpOgorICAgICAgICAoVEVTVC5XS0luc3BlY3RvckRlbGVnYXRlLkluc3BlY3RvckNvbmZp
Z3VyYXRpb24pOgorICAgICAgICBDaGFuZ2VkIHRvIHVzZSBnZW5lcmljIGAtW1dLSW5zcGVjdG9y
IF9ldmFsdWF0ZUluRnJvbnRlbmRGb3JUZXN0aW5nOl1gIGluc3RlYWQuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwog
MjAyMS0wNy0xNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBDb252ZXJ0IHNtYWxsIEpJVCBwb29sIHRlc3RzIGludG8gZXhlY3V0YWJsZSBmdXp6aW5n
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNkZTc5NmMxZjM2N2I5MDYwZjMzOTU4MjA3ZWM0
ZDZhYmI3YTE3NzYuLmRhMDFmMWQ1ZjlkMDY0ZDU0ODIwMDU2OWE0ZTRjMDVhOGJhOWY3NTUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04ODMsNiArODgzLDcgQEAKIAkJOTUwOTVGMjAyNjJG
RkZBNTAwMDBEOTIwIC8qIFNhbXBsZWRQYWdlVG9wQ29sb3IubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTA5NUYxRjI2MkZGRkE1MDAwMEQ5MjAgLyog
U2FtcGxlZFBhZ2VUb3BDb2xvci5tbSAqLzsgfTsKIAkJOTUwRTRDQzEyNTJFNzUyNDAwNzE2NTlG
IC8qIGlPU1N0eWx1c1N1cHBvcnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5NTBFNENDMDI1MkU3NTIzMDA3MTY1OUYgLyogaU9TU3R5bHVzU3VwcG9y
dC5tbSAqLzsgfTsKIAkJOTUzQUJCMzUyNUMwRDY4MjAwNEM4QjczIC8qIFdLV2ViVmlld1VuZGVy
UGFnZUJhY2tncm91bmRDb2xvci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk1M0FCQjM0MjVDMEQ2ODEwMDRDOEI3MyAvKiBXS1dlYlZpZXdVbmRlclBh
Z2VCYWNrZ3JvdW5kQ29sb3IubW0gKi87IH07CisJCTk1OTBDMjdGMjZBMTFEMzEwMEE1RDU3NSAv
KiBXZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1OTBDMjdFMjZBMTFEMzEwMEE1RDU3NSAv
KiBXZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5tbSAqLzsgfTsKIAkJOTVBNTI0
OTUyNTgxQTEwRDAwNDYxRkU5IC8qIFdLV2ViVmlld1RoZW1lQ29sb3IubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NUE1MjQ5NDI1ODFBMTBEMDA0NjFG
RTkgLyogV0tXZWJWaWV3VGhlbWVDb2xvci5tbSAqLzsgfTsKIAkJOTVCNkIzQjcyNTFFQkYyRjAw
RkM0MzgyIC8qIE1lZGlhRG9jdW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5NUI2QjNCNjI1MUVCRjJGMDBGQzQzODIgLyogTWVkaWFEb2N1bWVu
dC5tbSAqLzsgfTsKIAkJOTk4NEZBQ0MxQ0ZGQUY2MDAwOEQxOThDIC8qIFdLV2ViVmlld1RleHRJ
bnB1dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
ODRGQUNBMUNGRkFFRUUwMDhEMTk4QyAvKiBXS1dlYlZpZXdUZXh0SW5wdXQubW0gKi87IH07CkBA
IC0yNjA0LDYgKzI2MDUsNyBAQAogCQk5NTA5NUYxRjI2MkZGRkE1MDAwMEQ5MjAgLyogU2FtcGxl
ZFBhZ2VUb3BDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFNhbXBsZWRQYWdlVG9wQ29sb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1
MEU0Q0MwMjUyRTc1MjMwMDcxNjU5RiAvKiBpT1NTdHlsdXNTdXBwb3J0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaU9TU3R5bHVzU3VwcG9ydC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTUzQUJCMzQyNUMwRDY4MTAwNEM4QjczIC8qIFdLV2Vi
Vmlld1VuZGVyUGFnZUJhY2tncm91bmRDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdLV2ViVmlld1VuZGVyUGFnZUJhY2tncm91bmRDb2xvci5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTU5MEMyN0UyNkExMUQzMTAwQTVENTc1IC8qIFdl
Ykluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVyYXRpb25zLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViSW5zcGVjdG9ySW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk1QTUyNDk0MjU4MUExMEQwMDQ2MUZF
OSAvKiBXS1dlYlZpZXdUaGVtZUNvbG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV0tXZWJWaWV3VGhlbWVDb2xvci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTVCNkIzQjYyNTFFQkYyRjAwRkM0MzgyIC8qIE1lZGlhRG9jdW1lbnQubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZWRpYURvY3VtZW50Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTg0RkFDQTFDRkZBRUVFMDA4RDE5OEMgLyog
V0tXZWJWaWV3VGV4dElucHV0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV0tXZWJWaWV3VGV4dElucHV0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMzYzMiw2ICszNjM0LDcgQEAKIAkJCQk4MzBGMkUwQjIwOUE2QTc0MDBEMzZGRjEgLyogV2Vi
Q29udGVudFByb2Nlc3NEaWRUZXJtaW5hdGUubW0gKi8sCiAJCQkJNTdBNzk4NTYyMjRBQjM0RTAw
QTdGNkYxIC8qIFdlYkNyeXB0b01hc3RlcktleS5tbSAqLywKIAkJCQk1Qzk3M0Y1QjFGNThFRjBB
MDAzNTlDMjcgLyogV2ViR0xQb2xpY3kubW0gKi8sCisJCQkJOTU5MEMyN0UyNkExMUQzMTAwQTVE
NTc1IC8qIFdlYkluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVyYXRpb25zLm1tICovLAogCQkJCTUx
NzE0RUI2MUNGOEM3QTQwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElEQkNsZWFudXAubW0gKi8s
CiAJCQkJQzFEOEVFMjEyMDI4RThFMzAwOEVCMTQxIC8qIFdlYlByb2Nlc3NUZXJtaW5hdGUubW0g
Ki8sCiAJCQkJNTEyMEM4M0MxRTY3NTA3OTAwMjVCMjUwIC8qIFdlYnNpdGVEYXRhU3RvcmVDdXN0
b21QYXRocy5tbSAqLywKQEAgLTU4NzIsNiArNTg3NSw3IEBACiAJCQkJN0I3RDA5NkEyNTE5RjhG
OTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1Qzk3M0Y1QzFGNThFRjhCMDAzNTlDMjcgLyogV2ViR0xQb2xpY3kubW0gaW4g
U291cmNlcyAqLywKIAkJCQkzMUU5QkRBMTI0N0Y0QzYyMDAyRTUxQTIgLyogV2ViR0xQcmVwYXJl
RGlzcGxheU9uV2ViVGhyZWFkLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJOTU5MEMyN0YyNkExMUQz
MTAwQTVENTc1IC8qIFdlYkluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVyYXRpb25zLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0NDRTdFQUIxQTQxMUEyNDAwNDQ3QzRDIC8qIFdlYktpdEFnbm9zdGlj
VGVzdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ0ODExMEMyMjUzRjQwMzAwMDk3RkMzMyAvKiBX
ZWJQcmVmZXJlbmNlc1Rlc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTcxNEVCODFDRjhDQTE3
MDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVhbnVwLm1tIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSW5zcGVj
dG9yRGVsZWdhdGUubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dL
SW5zcGVjdG9yRGVsZWdhdGUubW0KaW5kZXggN2YzY2FmNTM3NjNhMzUwM2Y4MjE2ZDRjODQyODc4
OWI2MTJiM2Y4OC4uNWQ1YzdkYzgwOWJkZjZiZjM0MTQzYjkwYjllZWE5YjFmYWY4YTg2ZiAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0luc3BlY3Rv
ckRlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
V0tJbnNwZWN0b3JEZWxlZ2F0ZS5tbQpAQCAtMzYsNiArMzYsNyBAQAogI2ltcG9ydCA8V2ViS2l0
L19XS0luc3BlY3RvckNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9fV0tJbnNwZWN0
b3JEZWJ1Z2dhYmxlSW5mby5oPgogI2ltcG9ydCA8V2ViS2l0L19XS0luc3BlY3RvckRlbGVnYXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLSW5zcGVjdG9yUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2Vi
S2l0L19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CiAjaW1wb3J0IDx3dGYvU2V0Rm9yU2NvcGUuaD4KQEAgLTIzMiwxMSArMjMzLDExIEBA
IFRFU1QoV0tJbnNwZWN0b3JEZWxlZ2F0ZSwgU2hvd1VSTEV4dGVybmFsbHkpCiAgICAgdXJsVG9P
cGVuID0gW05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwczovL3d3dy53ZWJraXQub3JnLyJdOwog
CiAgICAgLy8gQ2hlY2sgdGhlIGNhc2Ugd2hlcmUgdGhlIGxvYWQgaXMgaW50ZXJjZXB0ZWQgYnkg
dGhlIG5hdmlnYXRpb24gZGVsZWdhdGUuCi0gICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3JdIF9vcGVu
VVJMRXh0ZXJuYWxseUZvclRlc3Rpbmc6dXJsVG9PcGVuLmdldCgpIHVzZUZyb250ZW5kQVBJOk5P
XTsKKyAgICBbW3dlYlZpZXcgX2luc3BlY3Rvcl0uaW5zcGVjdG9yV2ViVmlldyBsb2FkUmVxdWVz
dDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnVybFRvT3Blbi5nZXQoKV1dOwogICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmb3BlblVSTEV4dGVybmFsbHlDYWxsZWQpOwogCiAgICAg
Ly8gQ2hlY2sgdGhlIGNhc2Ugd2hlcmUgdGhlIGZyb250ZW5kIGNhbGxzIEluc3BlY3RvckZyb250
ZW5kSG9zdC5vcGVuVVJMRXh0ZXJuYWxseSgpLgotICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBf
b3BlblVSTEV4dGVybmFsbHlGb3JUZXN0aW5nOnVybFRvT3Blbi5nZXQoKSB1c2VGcm9udGVuZEFQ
STpZRVNdOworICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBfZXZhbHVhdGVJbkZyb250ZW5kRm9y
VGVzdGluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIkluc3BlY3RvckZyb250ZW5kSG9z
dC5vcGVuVVJMRXh0ZXJuYWxseShcIiVAXCIpIiwgW3VybFRvT3BlbiBhYnNvbHV0ZVN0cmluZ11d
XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJm9wZW5VUkxFeHRlcm5hbGx5Q2FsbGVk
KTsKIH0KIApAQCAtMjYxLDcgKzI2Miw3IEBAIFRFU1QoV0tJbnNwZWN0b3JEZWxlZ2F0ZSwgSW5z
cGVjdG9yQ29uZmlndXJhdGlvbikKIAogICAgIHVybFRvT3BlbiA9IFtOU1VSTCBVUkxXaXRoU3Ry
aW5nOkAidGVzdGluZzptYWluMSJdOwogICAgIHNoYXJlZFVSTFNjaGVtZUhhbmRsZXIuZ2V0KCku
ZXhwZWN0ZWRVUkwgPSB1cmxUb09wZW4uZ2V0KCk7Ci0gICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3Jd
IF9mZXRjaFVSTEZvclRlc3Rpbmc6dXJsVG9PcGVuLmdldCgpXTsKKyAgICBbW3dlYlZpZXcgX2lu
c3BlY3Rvcl0gX2V2YWx1YXRlSW5Gcm9udGVuZEZvclRlc3Rpbmc6W05TU3RyaW5nIHN0cmluZ1dp
dGhGb3JtYXQ6QCJmZXRjaChcIiVAXCIpIiwgW3VybFRvT3BlbiBhYnNvbHV0ZVN0cmluZ11dXTsK
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnN0YXJ0VVJMU2NoZW1lVGFza0NhbGxlZCk7
CiAKICAgICBbW3dlYlZpZXcgX2luc3BlY3Rvcl0gY2xvc2VdOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdl
T3BlcmF0aW9ucy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vi
SW5zcGVjdG9ySW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGEwMzEyZmNm
MWFlNjMzNmNmOGEzMmE2MWY3ZDgwOTM2MmE4NjM4MAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2ViSW5zcGVjdG9ySW5zcGVjdGVkUGFn
ZU9wZXJhdGlvbnMubW0KQEAgLTAsMCArMSwxMTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorCisjaW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0ICJVdGlsaXRpZXMuaCIK
KyNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0
L1dLVUlEZWxlZ2F0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNp
bXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2ltcG9ydCA8V2Vi
S2l0L19XS0luc3BlY3Rvci5oPgorI2ltcG9ydCA8V2ViS2l0L19XS0luc3BlY3RvckNvbmZpZ3Vy
YXRpb24uaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJbnNwZWN0b3JEZWxlZ2F0ZS5oPgorI2ltcG9y
dCA8V2ViS2l0L19XS0luc3BlY3RvclByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJbnNw
ZWN0b3JQcml2YXRlRm9yVGVzdGluZy5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisj
aWYgUExBVEZPUk0oTUFDKQorCitzdGF0aWMgYm9vbCBpbnNwZWN0b3JGcm9udGVuZExvYWRlZENh
bGxlZCA9IGZhbHNlOworCitzdGF0aWMgUmV0YWluUHRyPGlkIDxfV0tJbnNwZWN0b3JEZWxlZ2F0
ZT4+IHNoYXJlZEluc3BlY3RvckRlbGVnYXRlOworCitzdGF0aWMgdm9pZCByZXNldEdsb2JhbFN0
YXRlKCkKK3sKKyAgICBpbnNwZWN0b3JGcm9udGVuZExvYWRlZENhbGxlZCA9IGZhbHNlOworCisg
ICAgc2hhcmVkSW5zcGVjdG9yRGVsZWdhdGUuY2xlYXIoKTsKK30KKworQGludGVyZmFjZSBJbnNw
ZWN0b3JEZWxlZ2F0ZUZvclRlc3RpbmdJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucyA6IE5TT2JqZWN0
IDxfV0tJbnNwZWN0b3JEZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIEluc3BlY3Rv
ckRlbGVnYXRlRm9yVGVzdGluZ0luc3BlY3RlZFBhZ2VPcGVyYXRpb25zCisKKy0gKHZvaWQpaW5z
cGVjdG9yRnJvbnRlbmRMb2FkZWQ6KF9XS0luc3BlY3RvciAqKWluc3BlY3RvcgoreworICAgIGlu
c3BlY3RvckZyb250ZW5kTG9hZGVkQ2FsbGVkID0gdHJ1ZTsKK30KKworQGVuZAorCitAaW50ZXJm
YWNlIFVJRGVsZWdhdGVGb3JUZXN0aW5nSW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMgOiBOU09iamVj
dCA8V0tVSURlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gVUlEZWxlZ2F0ZUZvclRl
c3RpbmdJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucworCistIChfV0tJbnNwZWN0b3JDb25maWd1cmF0
aW9uICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29uZmlndXJhdGlvbkZvckxvY2Fs
SW5zcGVjdG9yOihfV0tJbnNwZWN0b3IgKilpbnNwZWN0b3IKK3sKKyAgICBzaGFyZWRJbnNwZWN0
b3JEZWxlZ2F0ZSA9IFtJbnNwZWN0b3JEZWxlZ2F0ZUZvclRlc3RpbmdJbnNwZWN0ZWRQYWdlT3Bl
cmF0aW9ucyBuZXddOworICAgIFtpbnNwZWN0b3Igc2V0RGVsZWdhdGU6c2hhcmVkSW5zcGVjdG9y
RGVsZWdhdGUuZ2V0KCldOworCisgICAgcmV0dXJuIFtfV0tJbnNwZWN0b3JDb25maWd1cmF0aW9u
IG5ld107Cit9CisKK0BlbmQKKworVEVTVChXZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0
aW9ucywgT3ZlcnJpZGVTZXR0aW5nUHJvcGFnYXRlc1RvV0tQcmVmZXJlbmNlcykKK3sKKyAgICBy
ZXNldEdsb2JhbFN0YXRlKCk7CisKKyAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRv
cHROUyhbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBuZXddKTsKKyAgICBbd2ViVmlld0NvbmZpZ3Vy
YXRpb24gcHJlZmVyZW5jZXNdLl9kZXZlbG9wZXJFeHRyYXNFbmFibGVkID0gWUVTOworICAgIFt3
ZWJWaWV3Q29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10uX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtz
ID0gWUVTOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndl
YlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBj
b25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MpOworCisg
ICAgYXV0byB1aURlbGVnYXRlID0gYWRvcHROUyhbVUlEZWxlZ2F0ZUZvclRlc3RpbmdJbnNwZWN0
ZWRQYWdlT3BlcmF0aW9ucyBuZXddKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOnVpRGVs
ZWdhdGUuZ2V0KCldOworCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8aGVhZD48dGl0
bGU+VGVzdCBwYWdlIHRvIGJlIGluc3BlY3RlZDwvdGl0bGU+PC9oZWFkPjxib2R5PjxwPkZpbGxl
ciBjb250ZW50PC9wPjwvYm9keT4iIGJhc2VVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRw
Oi8vZXhhbXBsZS5jb20vIl1dOworCisgICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3JdIHNob3ddOwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaW5zcGVjdG9yRnJvbnRlbmRMb2FkZWRDYWxs
ZWQpOworCisgICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3JdIF9ldmFsdWF0ZUluRnJvbnRlbmRGb3JU
ZXN0aW5nOkAiV0kubWFpblRhcmdldC5QYWdlQWdlbnQub3ZlcnJpZGVTZXR0aW5nKEluc3BlY3Rv
ckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuTmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGZhbHNl
KSJdOworICAgIHdoaWxlIChbd2ViVmlldyBjb25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5fbmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3MpCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVw
KDAuMDEpOworCisgICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3JdIF9ldmFsdWF0ZUluRnJvbnRlbmRG
b3JUZXN0aW5nOkAiV0kubWFpblRhcmdldC5QYWdlQWdlbnQub3ZlcnJpZGVTZXR0aW5nKEluc3Bl
Y3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuTmVlZHNTaXRlU3BlY2lmaWNRdWlya3MpIl07
CisgICAgd2hpbGUgKCFbd2ViVmlldyBjb25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5fbmVlZHNT
aXRlU3BlY2lmaWNRdWlya3MpCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAu
MDEpOworCisgICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3JdIF9ldmFsdWF0ZUluRnJvbnRlbmRGb3JU
ZXN0aW5nOkAiV0kubWFpblRhcmdldC5QYWdlQWdlbnQub3ZlcnJpZGVTZXR0aW5nKEluc3BlY3Rv
ckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuTmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIGZhbHNl
KSJdOworICAgIHdoaWxlIChbd2ViVmlldyBjb25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5fbmVl
ZHNTaXRlU3BlY2lmaWNRdWlya3MpCisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVw
KDAuMDEpOworCisgICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3JdIGNsb3NlXTsKKyAgICB3aGlsZSAo
IVt3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dLnByZWZlcmVuY2VzLl9uZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcykKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMC4wMSk7Cit9CisKKyNl
bmRpZiAvLyBQTEFURk9STShNQUMpCg==
</data>
<flag name="commit-queue"
          id="456016"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433686</attachid>
            <date>2021-07-16 10:55:34 -0700</date>
            <delta_ts>2021-07-19 12:20:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228026-20210716105533.patch</filename>
            <type>text/plain</type>
            <size>56672</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMzRiNGQyNWFiNzIzYjg3M2Y3NGNkZjdhMzY0NWYxN2EwMDMxOWFjNy4uOGQ3NzFlMjJl
YzgxYzU1NzkzMGE3MTE4MDUzZDMwYThhNjZiMGY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNy0xNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogcHJvcGFnYXRlIGNoYW5nZXMgZnJvbSBgUGFnZS5vdmVycmlkZVNldHRpbmdg
IHRvIHRoZSBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyODAyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFNhZmFyaSB3YW50cyB0byBiZSBhYmxlIHRvIHNlZSB3aGV0aGVyIFdlYiBJbnNw
ZWN0b3IgaGFzIG92ZXJyaWRkZW4gYW55IGBXZWJDb3JlOjpTZXR0aW5nYAorICAgICAgICB2aWEg
aXQncyBEZXZpY2UgU2V0dGluZ3MgbWVudS4gSW5zdGVhZCBvZiBhZGRpbmcgbmV3IFNQSSwgbGV2
ZXJhZ2UgZXhpc3RpbmcgYFdLUHJlZmVyZW5jZXNgCisgICAgICAgIFNQSSBieSBwcm9wYWdhdGlu
ZyBjaGFuZ2VzIGZyb20gYFBhZ2Uub3ZlcnJpZGVTZXR0aW5nYCB0byBgV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc2AuCisKKyAgICAgICAgKiBTY3JpcHRzL0dlbmVyYXRlUHJlZmVyZW5jZXMucmI6Cisg
ICAgICAgIEV4cG9zZSBgaW5zcGVjdG9yT3ZlcnJpZGVgIGZvciB1c2UgaW4gdGVtcGxhdGVzIChq
dXN0IGxpa2Ugd2hhdCBgR2VuZXJhdGVTZXR0aW5ncy5yYmAgZG9lcykuCisKIDIwMjEtMDctMTMg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBV
cGRhdGUgYW5kIGZpeCBVUkwgV1BUIHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM1ZDU3MDBlMGMyNGNl
ZGYxMjE1YmJlNmJjMTQ1MGY1MWFmN2RmNy4uYTQzY2VlZTg2OWU5NmE0ZjM1ZjhiMGM4MzllOTU2
YjliMzNmOTNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA3LTE2ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm9wYWdhdGUgY2hhbmdlcyBmcm9tIGBQYWdlLm92ZXJyaWRlU2V0dGluZ2AgdG8gdGhlIFVJUHJv
Y2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2Fm
YXJpIHdhbnRzIHRvIGJlIGFibGUgdG8gc2VlIHdoZXRoZXIgV2ViIEluc3BlY3RvciBoYXMgb3Zl
cnJpZGRlbiBhbnkgYFdlYkNvcmU6OlNldHRpbmdgCisgICAgICAgIHZpYSBpdCdzIERldmljZSBT
ZXR0aW5ncyBtZW51LiBJbnN0ZWFkIG9mIGFkZGluZyBuZXcgU1BJLCBsZXZlcmFnZSBleGlzdGlu
ZyBgV0tQcmVmZXJlbmNlc2AKKyAgICAgICAgU1BJIGJ5IHByb3BhZ2F0aW5nIGNoYW5nZXMgZnJv
bSBgUGFnZS5vdmVycmlkZVNldHRpbmdgIHRvIGBXZWJLaXQ6OldlYlByZWZlcmVuY2VzYC4KKwor
ICAgICAgICBUZXN0OiBXZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5PdmVycmlk
ZVNldHRpbmdQcm9wYWdhdGVzVG9XS1ByZWZlcmVuY2VzCisKKyAgICAgICAgKiBTY3JpcHRzL0dl
bmVyYXRlU2V0dGluZ3MucmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9J
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmI6CisgICAgICAgICogU2NyaXB0cy9TZXR0
aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmguZXJiOgorICAgICAgICAq
IFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwu
ZXJiOgorICAgICAgICAqIFNjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuY3BwLmVy
YjoKKyAgICAgICAgKiBTY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiOgor
ICAgICAgICBSZW5hbWUgYG5hbWVgIHRvIGBub3JtYWxpemVkTmFtZWAgYW5kIHNhdmUgdGhlIG9y
aWdpbmFsIGBuYW1lYCBzbyB0aGF0IHRoZXJlJ3MgYSB3YXkgdG8gZ2V0CisgICAgICAgIHRoZSBz
YW1lIHN0cmluZyB1c2VkIGJ5IHRoZSByZWxhdGVkIGBXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5
YC4KKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWVDbGllbnQ6OnBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKToKKyAgICAg
ICAgVXNlIGBpbnNwZWN0b3JPdmVycmlkZWAgaW5zaWRlIGBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
YCBieSBjcmVhdGluZyBhIGBzdGQ6Om9wdGlvbmFsYCBtZW1iZXIKKyAgICAgICAgdmFyaWFibGUg
Zm9yIGVhY2ggcHJlZmVyZW5jZSB0aGF0J3MgY29uc3VsdGVkIGJlZm9yZSBmZXRjaGluZyB0aGUg
dmFsdWUgZnJvbSB0aGUgc3RvcmUuIEFkZAorICAgICAgICBhIHdheSBmb3IgdGhlIFdlYlByb2Nl
c3MgdG8gdXBkYXRlIHRoZXNlIG1lbWJlciB2YXJpYWJsZXMgd2hlbiB0aGUgYGluc3BlY3Rvck92
ZXJyaWRlYCBmb3IKKyAgICAgICAgdGhlIHJlbGF0ZWQgYFdlYkNvcmU6OlNldHRpbmdgIGluIHRo
ZSBXZWJQcm9jZXNzIGlzIG1vZGlmaWVkLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckNsaWVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6Om92ZXJyaWRlU2V0dGluZyk6Cisg
ICAgICAgIE5vdyB0aGF0IGBpbnNwZWN0b3JPdmVycmlkZWAgaXMgcHJvcGFnYXRlZCBmcm9tIGBX
ZWJDb3JlOjpTZXR0aW5nYCB0byBgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc2AKKyAgICAgICAgdGhl
cmUncyBubyBsb25nZXIgYSBuZWVkIGZvciBgSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVm
ZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkYAorICAgICAgICBhcyBpdCBjYW4gaW5z
dGVhZCBob29rIGludG8gdGhlIGdlbmVyaWMgYFdlYlBhZ2VQcm94eTo6cGFnZVNldHRpbmdJbnNw
ZWN0b3JPdmVycmlkZUNoYW5nZWRgLgorCiAyMDIxLTA3LTE0ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gTnVsbC1wb2ludGVyIGRlcmVmIGluIE1l
ZGlhS2V5U3lzdGVtQWNjZXNzOjpjcmVhdGVNZWRpYUtleXMoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwMDUzZjM5
NDJiY2YwZWUyOGQ3MjQ4ZTRkZjY0MWM3N2I5NWMxYTE3Li4xMDI4Yjg0YTg5NzY3OGYyYmYyNTMy
MmRmNTc4MTg5ZmJkNGU0ZWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIxLTA3LTE2
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBwcm9wYWdhdGUgY2hhbmdlcyBmcm9tIGBQYWdlLm92ZXJyaWRlU2V0dGluZ2AgdG8gdGhl
IFVJUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI4MDI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgU2FmYXJpIHdhbnRzIHRvIGJlIGFibGUgdG8gc2VlIHdoZXRoZXIgV2ViIEluc3BlY3RvciBo
YXMgb3ZlcnJpZGRlbiBhbnkgYFdlYkNvcmU6OlNldHRpbmdgCisgICAgICAgIHZpYSBpdCdzIERl
dmljZSBTZXR0aW5ncyBtZW51LiBJbnN0ZWFkIG9mIGFkZGluZyBuZXcgU1BJLCBsZXZlcmFnZSBl
eGlzdGluZyBgV0tQcmVmZXJlbmNlc2AKKyAgICAgICAgU1BJIGJ5IHByb3BhZ2F0aW5nIGNoYW5n
ZXMgZnJvbSBgUGFnZS5vdmVycmlkZVNldHRpbmdgIHRvIGBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
YC4KKworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oLmVyYjoKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxh
dGVzL1dlYlByZWZlcmVuY2VzR2V0dGVyU2V0dGVycy5jcHAuZXJiOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKTogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92
ZXJyaWRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpwYWdl
U2V0dGluZ0luc3BlY3Rvck92ZXJyaWRlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICBVc2UgYGlu
c3BlY3Rvck92ZXJyaWRlYCBpbnNpZGUgYFdlYktpdDo6V2ViUHJlZmVyZW5jZXNgIGJ5IGNyZWF0
aW5nIGEgYHN0ZDo6b3B0aW9uYWxgIG1lbWJlcgorICAgICAgICB2YXJpYWJsZSBmb3IgZWFjaCBw
cmVmZXJlbmNlIHRoYXQncyBjb25zdWx0ZWQgYmVmb3JlIGZldGNoaW5nIHRoZSB2YWx1ZSBmcm9t
IHRoZSBzdG9yZS4gQWRkCisgICAgICAgIGEgd2F5IGZvciB0aGUgV2ViUHJvY2VzcyB0byB1cGRh
dGUgdGhlc2UgbWVtYmVyIHZhcmlhYmxlcyB3aGVuIHRoZSBgaW5zcGVjdG9yT3ZlcnJpZGVgIGZv
cgorICAgICAgICB0aGUgcmVsYXRlZCBgV2ViQ29yZTo6U2V0dGluZ2AgaW4gdGhlIFdlYlByb2Nl
c3MgaXMgbW9kaWZpZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3Bl
Y3RvclByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rv
clByaXZhdGVGb3JUZXN0aW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnNwZWN0b3JJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5z
cGVjdG9yLm1tOgorICAgICAgICAoLVtfV0tJbnNwZWN0b3IgaW5zcGVjdG9yV2ViVmlld10pOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclRlc3Rpbmcu
bW06CisgICAgICAgICgtW19XS0luc3BlY3RvciBfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGlu
ZzpdKTogQWRkZWQuCisgICAgICAgIChKYXZhU2NyaXB0U25pcHBldFRvT3BlblVSTEV4dGVybmFs
bHkpOiBEZWxldGVkLgorICAgICAgICAoSmF2YVNjcmlwdFNuaXBwZXRUb0ZldGNoVVJMKTogRGVs
ZXRlZC4KKyAgICAgICAgKC1bX1dLSW5zcGVjdG9yIGluc3BlY3RvcldlYlZpZXddKTogRGVsZXRl
ZC4KKyAgICAgICAgKC1bX1dLSW5zcGVjdG9yIF9mZXRjaFVSTEZvclRlc3Rpbmc6XSk6IERlbGV0
ZWQuCisgICAgICAgICgtW19XS0luc3BlY3RvciBfb3BlblVSTEV4dGVybmFsbHlGb3JUZXN0aW5n
OnVzZUZyb250ZW5kQVBJOl0pOiBEZWxldGVkLgorICAgICAgICBDbGVhbiB1cCBgX1dLSW5zcGVj
dG9yYCBTUEk6CisgICAgICAgICAtIG1vdmUgYGluc3BlY3RvcldlYlZpZXdgIHRvICJyZWd1bGFy
IiAoaS5lLiBub3QgdGVzdGluZyBvbmx5KSBTUEkgc2luY2UgaXQncyB1c2VkIGJ5IG90aGVyCisg
ICAgICAgICAgIHRoaW5ncyB1bnJlbGF0ZWQgdG8gdGVzdGluZworICAgICAgICAgLSByZXdvcmsg
YF9mZXRjaFVSTEZvclRlc3Rpbmc6YCBhbmQgYF9vcGVuVVJMRXh0ZXJuYWxseUZvclRlc3Rpbmc6
dXNlRnJvbnRlbmRBUEk6YCBpbnRvIGEKKyAgICAgICAgICAgc2luZ2xlIGdlbmVyaWMgYF9ldmFs
dWF0ZUluRnJvbnRlbmRGb3JUZXN0aW5nOmAgdG8gYWxsb3cgZm9yIG1vcmUgZmxleGliaWxpdHkK
KworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJUHJveHk6OnNldERldmVsb3BlclByZWZl
cmVuY2VPdmVycmlkZSk6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnN5bmNXaXRoV2ViQ29yZVByZWZzIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk6OnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZSk6IERlbGV0ZWQuCisgICAg
ICAgIE5vdyB0aGF0IGBpbnNwZWN0b3JPdmVycmlkZWAgaXMgcHJvcGFnYXRlZCBmcm9tIGBXZWJD
b3JlOjpTZXR0aW5nYCB0byBgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc2AKKyAgICAgICAgdGhlcmUn
cyBubyBsb25nZXIgYSBuZWVkIGZvciBgSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJl
bmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkYAorICAgICAgICBhcyBpdCBjYW4gaW5zdGVh
ZCBob29rIGludG8gdGhlIGdlbmVyaWMgYFdlYlBhZ2VQcm94eTo6cGFnZVNldHRpbmdJbnNwZWN0
b3JPdmVycmlkZUNoYW5nZWRgLgorCiAyMDIxLTA3LTE0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSRUdSRVNTSU9OKHIyNzk3MjApOiBjaGFuZ2lu
ZyBTdWJ0aXRsZXMgdG8gT2ZmIGRvZXNuJ3QgaGlkZSB0aGVtIG9yIGRvIGFueXRoaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiBiL1NvdXJj
ZS9XVEYvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJiCmluZGV4IDUyMmVlM2M1MDZjZmQ0
YWU1ODFmMDNiN2RkMjBjYjY3MmZlMTczYjguLmQzNWM5ZGJiNmE4OTIwOGZiZmNiN2ZmZGE4NjQ5
YTFlNzcwNTRiMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9HZW5lcmF0ZVByZWZl
cmVuY2VzLnJiCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9HZW5lcmF0ZVByZWZlcmVuY2VzLnJi
CkBAIC0xMDEsNiArMTAxLDcgQEAgY2xhc3MgUHJlZmVyZW5jZQogICBhdHRyX2FjY2Vzc29yIDpo
aWRkZW4KICAgYXR0cl9hY2Nlc3NvciA6ZGVmYXVsdFZhbHVlcwogICBhdHRyX2FjY2Vzc29yIDpl
eHBvc2VkCisgIGF0dHJfYWNjZXNzb3IgOmluc3BlY3Rvck92ZXJyaWRlCiAKICAgZGVmIGluaXRp
YWxpemUobmFtZSwgb3B0cywgZnJvbnRlbmQpCiAgICAgQG5hbWUgPSBuYW1lCkBAIC0xMTUsNiAr
MTE2LDcgQEAgY2xhc3MgUHJlZmVyZW5jZQogICAgIEBoaWRkZW4gPSBvcHRzWyJoaWRkZW4iXSB8
fCBmYWxzZQogICAgIEBkZWZhdWx0VmFsdWVzID0gb3B0c1siZGVmYXVsdFZhbHVlIl1bZnJvbnRl
bmRdCiAgICAgQGV4cG9zZWQgPSAhb3B0c1siZXhwb3NlZCJdIHx8IG9wdHNbImV4cG9zZWQiXS5p
bmNsdWRlPyhmcm9udGVuZCkKKyAgICBAaW5zcGVjdG9yT3ZlcnJpZGUgPSBvcHRzWyJpbnNwZWN0
b3JPdmVycmlkZSJdCiAgIGVuZAogCiAgIGRlZiBuYW1lTG93ZXIKQEAgLTE0Nyw2ICsxNDksOSBA
QCBjbGFzcyBQcmVmZXJlbmNlCiAgICAgZW5kCiAgIGVuZAogCisgIGRlZiBoYXNJbnNwZWN0b3JP
dmVycmlkZT8KKyAgICBAaW5zcGVjdG9yT3ZlcnJpZGUgPT0gdHJ1ZQorICBlbmQKIAogICAjIFdl
YktpdExlZ2FjeSBzcGVjaWZpYyBoZWxwZXJzLgogCkBAIC0xODUsMTggKzE5MCwyMSBAQCBjbGFz
cyBQcmVmZXJlbmNlcwogICAgIEBwcmVmZXJlbmNlc0RlYnVnID0gaW5pdGlhbGl6ZVBhcnNlZFBy
ZWZlcmVuY2VzKHBhcnNlZERlYnVnUHJlZmVyZW5jZXMpCiAgICAgQGV4cGVyaW1lbnRhbEZlYXR1
cmVzID0gaW5pdGlhbGl6ZVBhcnNlZFByZWZlcmVuY2VzKHBhcnNlZEV4cGVyaW1lbnRhbFByZWZl
cmVuY2VzKQogICAgIEBpbnRlcm5hbEZlYXR1cmVzID0gaW5pdGlhbGl6ZVBhcnNlZFByZWZlcmVu
Y2VzKHBhcnNlZEludGVybmFsUHJlZmVyZW5jZXMpCisgICAgQGluc3BlY3Rvck92ZXJyaWRlcyA9
IEBwcmVmZXJlbmNlcy5zZWxlY3QgeyB8cHwgcC5oYXNJbnNwZWN0b3JPdmVycmlkZT8gfQogCiAg
ICAgQHByZWZlcmVuY2VzLnNvcnQhIHsgfHgsIHl8IHgubmFtZSA8PT4geS5uYW1lIH0KICAgICBA
cHJlZmVyZW5jZXNOb3REZWJ1Zy5zb3J0ISB7IHx4LCB5fCB4Lm5hbWUgPD0+IHkubmFtZSB9CiAg
ICAgQHByZWZlcmVuY2VzRGVidWcuc29ydCEgeyB8eCwgeXwgeC5uYW1lIDw9PiB5Lm5hbWUgfQog
ICAgIEBleHBlcmltZW50YWxGZWF0dXJlcy5zb3J0ISB7IHx4LCB5fCB4Lm5hbWUgPD0+IHkubmFt
ZSB9LnNvcnQhIHsgfHgsIHl8IHguaHVtYW5SZWFkYWJsZU5hbWUgPD0+IHkuaHVtYW5SZWFkYWJs
ZU5hbWUgfQogICAgIEBpbnRlcm5hbEZlYXR1cmVzLnNvcnQhIHsgfHgsIHl8IHgubmFtZSA8PT4g
eS5uYW1lIH0uc29ydCEgeyB8eCwgeXwgeC5odW1hblJlYWRhYmxlTmFtZSA8PT4geS5odW1hblJl
YWRhYmxlTmFtZSB9CisgICAgQGluc3BlY3Rvck92ZXJyaWRlcy5zb3J0ISB7IHx4LCB5fCB4Lm5h
bWUgPD0+IHkubmFtZSB9CiAKICAgICBAZXhwb3NlZFByZWZlcmVuY2VzID0gQHByZWZlcmVuY2Vz
LnNlbGVjdCB7IHxwfCBwLmV4cG9zZWQgfQogICAgIEBleHBvc2VkUHJlZmVyZW5jZXNOb3REZWJ1
ZyA9IEBwcmVmZXJlbmNlc05vdERlYnVnLnNlbGVjdCB7IHxwfCBwLmV4cG9zZWQgfQogICAgIEBl
eHBvc2VkUHJlZmVyZW5jZXNEZWJ1ZyA9IEBwcmVmZXJlbmNlc0RlYnVnLnNlbGVjdCB7IHxwfCBw
LmV4cG9zZWQgfQogICAgIEBleHBvc2VkRXhwZXJpbWVudGFsRmVhdHVyZXMgPSBAZXhwZXJpbWVu
dGFsRmVhdHVyZXMuc2VsZWN0IHsgfHB8IHAuZXhwb3NlZCB9CiAgICAgQGV4cG9zZWRJbnRlcm5h
bEZlYXR1cmVzID0gQGludGVybmFsRmVhdHVyZXMuc2VsZWN0IHsgfHB8IHAuZXhwb3NlZCB9Cisg
ICAgQGV4cG9zZWRJbnNwZWN0b3JPdmVycmlkZXMgPSBAaW5zcGVjdG9yT3ZlcnJpZGVzLnNlbGVj
dCB7IHxwfCBwLmV4cG9zZWQgfQogCiAgICAgQHByZWZlcmVuY2VzQm91bmRUb1NldHRpbmcgPSBA
cHJlZmVyZW5jZXMuc2VsZWN0IHsgfHB8ICFwLndlYmNvcmVCaW5kaW5nIH0KICAgICBAcHJlZmVy
ZW5jZXNCb3VuZFRvRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzID0gQHByZWZlcmVuY2VzLnNlbGVj
dCB7IHxwfCBwLndlYmNvcmVCaW5kaW5nID09ICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MiIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvR2VuZXJhdGVTZXR0aW5ncy5yYiBi
L1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvR2VuZXJhdGVTZXR0aW5ncy5yYgppbmRleCAyN2U2MzEw
MGYxMzhmZjJmMTg5MWM5ZDc1ODhhOTdiZWFhNzY5NDA1Li4yNGY3ZDdjNDkwMzIzMTQ5Njc1NzNj
NDQzNWRjODA4ZDFkNDQxMjEzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL0dl
bmVyYXRlU2V0dGluZ3MucmIKKysrIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9HZW5lcmF0ZVNl
dHRpbmdzLnJiCkBAIC0xMDAsNiArMTAwLDcgQEAgcGFyc2VkUHJlZmVyZW5jZXMubWVyZ2UhKGxv
YWQob3B0aW9uc1s6aW50ZXJuYWxQcmVmZXJlbmNlc10pKQogCiBjbGFzcyBTZXR0aW5nCiAgIGF0
dHJfYWNjZXNzb3IgOm5hbWUKKyAgYXR0cl9hY2Nlc3NvciA6bm9ybWFsaXplZE5hbWUKICAgYXR0
cl9hY2Nlc3NvciA6b3B0aW9ucwogICBhdHRyX2FjY2Vzc29yIDp0eXBlCiAgIGF0dHJfYWNjZXNz
b3IgOmRlZmF1bHRWYWx1ZXMKQEAgLTExMSw3ICsxMTIsOCBAQCBjbGFzcyBTZXR0aW5nCiAgIGF0
dHJfYWNjZXNzb3IgOmN1c3RvbUltcGxlbWVudGF0aW9uCiAKICAgZGVmIGluaXRpYWxpemUobmFt
ZSwgb3B0aW9ucykKLSAgICBAbmFtZSA9IG5vcm1hbGl6ZU5hbWVGb3JXZWJDb3JlKG5hbWUsIG9w
dGlvbnMpCisgICAgQG5hbWUgPSBuYW1lCisgICAgQG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXpl
TmFtZUZvcldlYkNvcmUobmFtZSwgb3B0aW9ucykKICAgICBAb3B0aW9ucyA9IG9wdGlvbnMKICAg
ICBAdHlwZSA9IG9wdGlvbnNbInJlZmluZWRUeXBlIl0gfHwgb3B0aW9uc1sidHlwZSJdCiAgICAg
QGRlZmF1bHRWYWx1ZXMgPSBvcHRpb25zWyJkZWZhdWx0VmFsdWUiXVsiV2ViQ29yZSJdCkBAIC0x
NzUsMTkgKzE3NywxOSBAQCBjbGFzcyBTZXR0aW5nCiAgIGVuZAogCiAgIGRlZiBzZXR0ZXJGdW5j
dGlvbk5hbWUKLSAgICBpZiBAbmFtZS5zdGFydF93aXRoPygiaHRtbCIpCi0gICAgICAic2V0IiAr
IEBuYW1lWzAuLjNdLnVwY2FzZSArIEBuYW1lWzQuLkBuYW1lLmxlbmd0aF0KLSAgICBlbHNpZiBA
bmFtZS5zdGFydF93aXRoPygiY3NzIiwgInhzcyIsICJmdHAiLCAiZG9tIiwgImRucyIsICJpY2Ui
LCAiaGRyIikKLSAgICAgICJzZXQiICsgQG5hbWVbMC4uMl0udXBjYXNlICsgQG5hbWVbMy4uQG5h
bWUubGVuZ3RoXQotICAgIGVsc2lmIEBuYW1lLnN0YXJ0X3dpdGg/KCJ2cCIpCi0gICAgICAic2V0
IiArIEBuYW1lWzAuLjFdLnVwY2FzZSArIEBuYW1lWzIuLkBuYW1lLmxlbmd0aF0KKyAgICBpZiBA
bm9ybWFsaXplZE5hbWUuc3RhcnRfd2l0aD8oImh0bWwiKQorICAgICAgInNldCIgKyBAbm9ybWFs
aXplZE5hbWVbMC4uM10udXBjYXNlICsgQG5vcm1hbGl6ZWROYW1lWzQuLkBub3JtYWxpemVkTmFt
ZS5sZW5ndGhdCisgICAgZWxzaWYgQG5vcm1hbGl6ZWROYW1lLnN0YXJ0X3dpdGg/KCJjc3MiLCAi
eHNzIiwgImZ0cCIsICJkb20iLCAiZG5zIiwgImljZSIsICJoZHIiKQorICAgICAgInNldCIgKyBA
bm9ybWFsaXplZE5hbWVbMC4uMl0udXBjYXNlICsgQG5vcm1hbGl6ZWROYW1lWzMuLkBub3JtYWxp
emVkTmFtZS5sZW5ndGhdCisgICAgZWxzaWYgQG5vcm1hbGl6ZWROYW1lLnN0YXJ0X3dpdGg/KCJ2
cCIpCisgICAgICAic2V0IiArIEBub3JtYWxpemVkTmFtZVswLi4xXS51cGNhc2UgKyBAbm9ybWFs
aXplZE5hbWVbMi4uQG5vcm1hbGl6ZWROYW1lLmxlbmd0aF0KICAgICBlbHNlCi0gICAgICAic2V0
IiArIEBuYW1lWzBdLnVwY2FzZSArIEBuYW1lWzEuLkBuYW1lLmxlbmd0aF0KKyAgICAgICJzZXQi
ICsgQG5vcm1hbGl6ZWROYW1lWzBdLnVwY2FzZSArIEBub3JtYWxpemVkTmFtZVsxLi5Abm9ybWFs
aXplZE5hbWUubGVuZ3RoXQogICAgIGVuZAogICBlbmQKIAogICBkZWYgZ2V0dGVyRnVuY3Rpb25O
YW1lCi0gICAgQGdldHRlciB8fCBAbmFtZQorICAgIEBnZXR0ZXIgfHwgQG5vcm1hbGl6ZWROYW1l
CiAgIGVuZAogCiAgIGRlZiBoYXNJbnNwZWN0b3JPdmVycmlkZT8KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVy
YXRlZC5jcHAuZXJiIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9J
bnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIKaW5kZXggNGU0NWRmYjdiZjVlMzkwNjVi
NDljOGU1OWIxNjQ4M2YzOTViMjg1YS4uZTFhNzY5ZDNlYTc5NmQwN2RiZDJjNWZlZGQ3M2IyOWQ5
OWJjY2FmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBs
YXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNwcC5lcmIKKysrIGIvU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmNw
cC5lcmIKQEAgLTQwLDcgKzQwLDcgQEAgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6SW50ZXJu
YWxTZXR0aW5nc0dlbmVyYXRlZChQYWdlKiBwYWdlKQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlv
biAtJT4KICNpZiA8JT0gQHNldHRpbmcuY29uZGl0aW9uICU+CiA8JS0gZW5kIC0lPgotICAgICwg
bV88JT0gQHNldHRpbmcubmFtZSAlPihwYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5nZXR0
ZXJGdW5jdGlvbk5hbWUgJT4oKSkKKyAgICAsIG1fPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1l
ICU+KHBhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigp
KQogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbiAtJT4KICNlbmRpZgogPCUtIGVuZCAtJT4KQEAg
LTYwLDcgKzYwLDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlKCkKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb24gLSU+CiAjaWYgPCU9IEBz
ZXR0aW5nLmNvbmRpdGlvbiAlPgogPCUtIGVuZCAtJT4KLSAgICBtX3BhZ2UtPnNldHRpbmdzKCku
PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPihtXzwlPSBAc2V0dGluZy5uYW1lICU+
KTsKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPihtXzwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPik7CiA8JS0gaWYgQHNldHRpbmcu
Y29uZGl0aW9uIC0lPgogI2VuZGlmCiA8JS0gZW5kIC0lPgpAQCAtNzAsMTYgKzcwLDE2IEBAIHZv
aWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCiAK
IDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0LnNldHRpbmdzIGRvIC0lPgogPCUt
IGlmIEBzZXR0aW5nLmV4Y2x1ZGVGcm9tSW50ZXJuYWxTZXR0aW5ncyA9PSBmYWxzZSBhbmQgQHNl
dHRpbmcuaWRsVHlwZSAtJT4KLXZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6PCU9IEBz
ZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAl
PiA8JT0gQHNldHRpbmcubmFtZSAlPikKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZDo6
PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVy
VHlwZSAlPiA8JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4pCiB7CiA8JS0gaWYgQHNldHRp
bmcuY29uZGl0aW9uIC0lPgogI2lmIDwlPSBAc2V0dGluZy5jb25kaXRpb24gJT4KLSAgICBtX3Bh
Z2UtPnNldHRpbmdzKCkuPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNl
dHRpbmcubmFtZSAlPik7CisgICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0
ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+KTsKICNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKDwlPSBAc2V0dGluZy5uYW1lICU+KTsKKyAgICBVTlVTRURfUEFS
QU0oPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+KTsKICNlbmRpZgogPCUtIGVsc2UgLSU+
Ci0gICAgbV9wYWdlLT5zZXR0aW5ncygpLjwlPSBAc2V0dGluZy5zZXR0ZXJGdW5jdGlvbk5hbWUg
JT4oPCU9IEBzZXR0aW5nLm5hbWUgJT4pOworICAgIG1fcGFnZS0+c2V0dGluZ3MoKS48JT0gQHNl
dHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAl
Pik7CiA8JS0gZW5kIC0lPgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRz
L1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaC5lcmIgYi9Tb3Vy
Y2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL0ludGVybmFsU2V0dGluZ3NHZW5l
cmF0ZWQuaC5lcmIKaW5kZXggMThmZGFkMGE0MGVjMjYyYTliZWJlMzE0ZDQ1NmU3NjE2NTU4NDI3
Ny4uODZhYjIxNTA5MDQ5NDUyMmZjYjQ4ODJhYTJhMTY5NzliYWY3ZmFlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdz
R2VuZXJhdGVkLmguZXJiCisrKyBiL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1w
bGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5oLmVyYgpAQCAtNDMsNyArNDMsNyBAQCBw
dWJsaWM6CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0LnNldHRpbmdzIGRv
IC0lPgogPCUtIGlmIEBzZXR0aW5nLmV4Y2x1ZGVGcm9tSW50ZXJuYWxTZXR0aW5ncyA9PSBmYWxz
ZSBhbmQgQHNldHRpbmcuaWRsVHlwZSAtJT4KLSAgICB2b2lkIDwlPSBAc2V0dGluZy5zZXR0ZXJG
dW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0aW5n
Lm5hbWUgJT4pOworICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8
JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUg
JT4pOwogPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+CiAKQEAgLTU1LDcgKzU1LDcgQEAgcHJpdmF0
ZToKIDwlLSBpZiBAc2V0dGluZy5jb25kaXRpb24gLSU+CiAjaWYgPCU9IEBzZXR0aW5nLmNvbmRp
dGlvbiAlPgogPCUtIGVuZCAtJT4KLSAgICA8JT0gQHNldHRpbmcudHlwZSAlPiBtXzwlPSBAc2V0
dGluZy5uYW1lICU+OworICAgIDwlPSBAc2V0dGluZy50eXBlICU+IG1fPCU9IEBzZXR0aW5nLm5v
cm1hbGl6ZWROYW1lICU+OwogPCUtIGlmIEBzZXR0aW5nLmNvbmRpdGlvbiAtJT4KICNlbmRpZgog
PCUtIGVuZCAtJT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NU
ZW1wbGF0ZXMvSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGwuZXJiIGIvU291cmNlL1dlYkNv
cmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlk
bC5lcmIKaW5kZXggY2Q2YTA3MzkxOGJmODVkNDRhYTFhZTNiOWIwMGYwZGMwZjg3ZjgyOC4uMTMz
M2RkYzQ3MjVkNzgyNzEzNjk0N2Q4YTg0Y2EzMDVkYjVkYTk3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9JbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmlkbC5lcmIKKysrIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRl
cy9JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbC5lcmIKQEAgLTMxLDcgKzMxLDcgQEAKIF0g
aW50ZXJmYWNlIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQgewogPCUtIGZvciBAc2V0dGluZyBp
biBAYWxsU2V0dGluZ3NTZXQuc2V0dGluZ3MgZG8gLSU+CiA8JS0gaWYgQHNldHRpbmcuZXhjbHVk
ZUZyb21JbnRlcm5hbFNldHRpbmdzID09IGZhbHNlIGFuZCBAc2V0dGluZy5pZGxUeXBlIC0lPgot
ICAgIHVuZGVmaW5lZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0
dGluZy5pZGxUeXBlICU+IDwlPSBAc2V0dGluZy5uYW1lICU+KTsKKyAgICB1bmRlZmluZWQgPCU9
IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcuaWRsVHlwZSAlPiA8
JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4pOwogPCUtIGVuZCAtJT4KIDwlLSBlbmQgLSU+
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRl
cy9TZXR0aW5ncy5jcHAuZXJiIGIvU291cmNlL1dlYkNvcmUvU2NyaXB0cy9TZXR0aW5nc1RlbXBs
YXRlcy9TZXR0aW5ncy5jcHAuZXJiCmluZGV4IDdlOTFkMzVjMzliZTQ2MjBiNzM0ZGM2NzRmMmIx
YWY2MTdiZjgzNWQuLmYwN2ViMjcxYmJmMmZkM2I4MmI4NTQzMmVhYjVmZDBjNDg1MjYzMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGlu
Z3MuY3BwLmVyYgorKysgYi9Tb3VyY2UvV2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVz
L1NldHRpbmdzLmNwcC5lcmIKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgogCisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAi
Q2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogCkBAIC0zOCw3ICs0MCw3IEBACiAjaWYgPCU9IEBzZXR0aW5nLmNv
bmRpdGlvbiAlPgogPCUtICAgZW5kIC0lPgogPCUtICAgaWYgQHNldHRpbmcuZGVmYXVsdFZhbHVl
cy5zaXplKCkgPT0gMSAtJT4KLSNkZWZpbmUgU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88JT0g
QHNldHRpbmcubmFtZSAlPiA8JT0gQHNldHRpbmcuZGVmYXVsdFZhbHVlc1snZGVmYXVsdCddICU+
CisjZGVmaW5lIFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9IEBzZXR0aW5nLm5vcm1hbGl6
ZWROYW1lICU+IDwlPSBAc2V0dGluZy5kZWZhdWx0VmFsdWVzWydkZWZhdWx0J10gJT4KIDwlLSAg
IGVsc2UgLSU+CiA8JS0gICAgIEBzZXR0aW5nLmRlZmF1bHRWYWx1ZXMuZWFjaF93aXRoX2luZGV4
IGRvIHwoa2V5LCB2YWx1ZSksIGluZGV4fCAtJT4KIDwlLSAgICAgICBpZiBpbmRleCA9PSAwIC0l
PgpAQCAtNDgsNyArNTAsNyBAQAogPCUtICAgICAgIGVsc2UgLSU+CiAjZWxzZQogPCUtICAgICAg
IGVuZCAtJT4KLSNkZWZpbmUgU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88JT0gQHNldHRpbmcu
bmFtZSAlPiA8JT0gdmFsdWUgJT4KKyNkZWZpbmUgU0VUVElOR19ERUZBVUxUX1ZBTFVFX0ZPUl88
JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4gPCU9IHZhbHVlICU+CiA8JS0gICAgIGVuZCAt
JT4KICNlbmRpZgogPCUtICAgZW5kIC0lPgpAQCAtODIsNyArODQsNyBAQCB2b2lkIFNldHRpbmdz
OjpWYWx1ZXM6OmluaXRpYWxpemUoKQogI2lmIDwlPSBAY29uZGl0aW9uLmNvbmRpdGlvbiAlPgog
PCUtIGVuZCAtJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbi5ub25Cb29sU2V0dGlu
Z3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSBT
RVRUSU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIDwlPSBA
c2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPiA9IFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9
IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0
aW9uLmNvbmRpdGlvbiAtJT4KICNlbmRpZgpAQCAtOTUsNyArOTcsNyBAQCB2b2lkIFNldHRpbmdz
OjpWYWx1ZXM6OmluaXRpYWxpemUoKQogI2lmIDwlPSBAY29uZGl0aW9uLmNvbmRpdGlvbiAlPgog
PCUtIGVuZCAtJT4KIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNvbmRpdGlvbi5ib29sU2V0dGluZ3NO
ZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSBTRVRU
SU5HX0RFRkFVTFRfVkFMVUVfRk9SXzwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIDwlPSBAc2V0
dGluZy5ub3JtYWxpemVkTmFtZSAlPiA9IFNFVFRJTkdfREVGQVVMVF9WQUxVRV9GT1JfPCU9IEBz
ZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0aW9u
LmNvbmRpdGlvbiAtJT4KICNlbmRpZgpAQCAtMTA4LDcgKzExMCw3IEBAIFNldHRpbmdzOjpWYWx1
ZXMgU2V0dGluZ3M6OlZhbHVlczo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKIHsKICAgICByZXR1cm4g
ewogPCUtIGZvciBAc2V0dGluZyBpbiBAYWxsU2V0dGluZ3NTZXQuaW5zcGVjdG9yT3ZlcnJpZGVT
ZXR0aW5ncyBkbyAtJT4KLSAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGluZy5uYW1l
ICU+SW5zcGVjdG9yT3ZlcnJpZGUpLAorICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0
aW5nLm5vcm1hbGl6ZWROYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpLAogPCUtIGVuZCAtJT4KICAg
ICAgICAgY3Jvc3NUaHJlYWRDb3B5KGZvbnRHZW5lcmljRmFtaWxpZXMpLAogPCUtIGZvciBAY29u
ZGl0aW9uIGluIEBhbGxTZXR0aW5nc1NldC5jb25kaXRpb25zIGRvIC0lPgpAQCAtMTE3LDcgKzEx
OSw3IEBAIFNldHRpbmdzOjpWYWx1ZXMgU2V0dGluZ3M6OlZhbHVlczo6aXNvbGF0ZWRDb3B5KCkg
Y29uc3QKICNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiA8JS0g
Zm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVu
dGF0aW9uIC0lPgotICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0aW5nLm5hbWUgJT4p
LAorICAgICAgICBjcm9zc1RocmVhZENvcHkoPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+
KSwKIDwlLSBlbmQgLSU+CiA8JS0gaWYgQGNvbmRpdGlvbi5jb25kaXRpb24gLSU+CiAjZW5kaWYK
QEAgLTEzMCw3ICsxMzIsNyBAQCBTZXR0aW5nczo6VmFsdWVzIFNldHRpbmdzOjpWYWx1ZXM6Omlz
b2xhdGVkQ29weSgpIGNvbnN0CiAjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9uICU+CiA8JS0g
ZW5kIC0lPgogPCUtIGZvciBAc2V0dGluZyBpbiBAY29uZGl0aW9uLmJvb2xTZXR0aW5nc05lZWRp
bmdJbXBsZW1lbnRhdGlvbiAtJT4KLSAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGlu
Zy5uYW1lICU+KSwKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KDwlPSBAc2V0dGluZy5ub3JtYWxp
emVkTmFtZSAlPiksCiA8JS0gZW5kIC0lPgogPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0l
PgogI2VuZGlmCkBAIC0xNTMsMjEgKzE1NSwyMSBAQCBTZXR0aW5nczo6flNldHRpbmdzKCkKIDwl
PSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IFNldHRpbmdzOjo8JT0gQHNldHRpbmcuZ2V0dGVy
RnVuY3Rpb25OYW1lICU+KCkgY29uc3QKIHsKIDwlLSBpZiBAc2V0dGluZy5oYXNJbnNwZWN0b3JP
dmVycmlkZT8gLSU+Ci0gICAgaWYgKFVOTElLRUxZKG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1l
ICU+SW5zcGVjdG9yT3ZlcnJpZGUpKSB7CisgICAgaWYgKFVOTElLRUxZKG1fdmFsdWVzLjwlPSBA
c2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKSkgewogICAgICAgICBB
U1NFUlQoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9udGVuZHMoKSk7Ci0gICAgICAg
IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlLnZh
bHVlKCk7CisgICAgICAgIHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5h
bWUgJT5JbnNwZWN0b3JPdmVycmlkZS52YWx1ZSgpOwogICAgIH0KIDwlLSBlbmQgLSU+Ci0gICAg
cmV0dXJuIG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+OworICAgIHJldHVybiBtX3ZhbHVl
cy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT47CiB9CiA8JS0gZW5kIC0lPgogCiA8JS0g
Zm9yIEBzZXR0aW5nIGluIEBjb25kaXRpb24uc2V0dGluZ3NXaXRoQ29tcGxleFNldHRlcnNOZWVk
aW5nSW1wbGVtZW50YXRpb24gLSU+Ci12b2lkIFNldHRpbmdzOjo8JT0gQHNldHRpbmcuc2V0dGVy
RnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGlu
Zy5uYW1lICU+KQordm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubm9ybWFsaXpl
ZE5hbWUgJT4pCiB7Ci0gICAgaWYgKG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+ID09IDwl
PSBAc2V0dGluZy5uYW1lICU+KQorICAgIGlmIChtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9ybWFs
aXplZE5hbWUgJT4gPT0gPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+KQogICAgICAgICBy
ZXR1cm47Ci0gICAgbV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5hbWUgJT4gPSA8JT0gQHNldHRpbmcu
bmFtZSAlPjsKKyAgICBtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4gPSA8
JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT47CiAgICAgPCU9IEBzZXR0aW5nLm9uQ2hhbmdl
ICU+KCk7CiB9CiA8JS0gZW5kIC0lPgpAQCAtMTc4LDIzICsxODAsMjMgQEAgdm9pZCBTZXR0aW5n
czo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPig8JT0gQHNldHRpbmcucGFyYW1l
dGVyVHlwZSAlPgogPCUtIGVuZCAtJT4KIAogPCUtIGZvciBAc2V0dGluZyBpbiBAYWxsU2V0dGlu
Z3NTZXQuaW5zcGVjdG9yT3ZlcnJpZGVTZXR0aW5ncyBkbyAtJT4KLTwlLSBpZiBAc2V0dGluZy5o
YXNDb21wbGV4U2V0dGVyPyAtJT4KLXZvaWQgU2V0dGluZ3M6OjwlPSBAc2V0dGluZy5zZXR0ZXJG
dW5jdGlvbk5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZShzdGQ6Om9wdGlvbmFsPDwlPSBAc2V0dGlu
Zy5wYXJhbWV0ZXJUeXBlICU+PiA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRl
KQordm9pZCBTZXR0aW5nczo6PCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFtZSAlPkluc3Bl
Y3Rvck92ZXJyaWRlKHN0ZDo6b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4+
IDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKQogewotICAg
IGlmIChtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID09IDwl
PSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUpCisgICAgaWYgKG1fdmFsdWVzLjwl
PSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID09IDwlPSBAc2V0
dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKQogICAgICAgICByZXR1cm47
Ci0gICAgICAgIG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUg
PSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlOworICAgIG1fdmFsdWVzLjwl
PSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlID0gPCU9IEBzZXR0
aW5nLm5vcm1hbGl6ZWROYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7Cis8JS0gaWYgQHNldHRpbmcu
aGFzQ29tcGxleFNldHRlcj8gLSU+CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uIC0lPgogI2lm
IDwlPSBAc2V0dGluZy5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiAgICAgPCU9IEBzZXR0aW5n
Lm9uQ2hhbmdlICU+KCk7CiA8JS0gaWYgQHNldHRpbmcuY29uZGl0aW9uIC0lPgotPCUtIGlmIEBj
b25kaXRpb24uY29uZGl0aW9uIC0lPgogI2VuZGlmCiA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4K
KyAgICBpZiAobV9wYWdlKQorICAgICAgICBtX3BhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnBhZ2VT
ZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKCI8JT0gQHNldHRpbmcubmFtZSAlPiJfcywg
bV92YWx1ZXMuPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUp
OwogfQogCi08JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NjcmlwdHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmIgYi9Tb3VyY2Uv
V2ViQ29yZS9TY3JpcHRzL1NldHRpbmdzVGVtcGxhdGVzL1NldHRpbmdzLmguZXJiCmluZGV4IDY4
MmFkZjcyODkyMDY3MDI3ZGIzMWExMmRlMjA3NTVlNmRlMWExY2EuLmRkYzIxZTdmNzg0YmRlODQ0
MjUxNzI5ODlhZTA1OTFlY2I1NjhlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Njcmlw
dHMvU2V0dGluZ3NUZW1wbGF0ZXMvU2V0dGluZ3MuaC5lcmIKKysrIGIvU291cmNlL1dlYkNvcmUv
U2NyaXB0cy9TZXR0aW5nc1RlbXBsYXRlcy9TZXR0aW5ncy5oLmVyYgpAQCAtNDgsMTIgKzQ4LDEy
IEBAIHB1YmxpYzoKICAgICA8JS0gaWYgQHNldHRpbmcuaGFzQ29tcGxleEdldHRlcj8gLSU+CiAg
ICAgV0VCQ09SRV9FWFBPUlQgPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4gPCU9IEBzZXR0
aW5nLmdldHRlckZ1bmN0aW9uTmFtZSAlPigpIGNvbnN0OwogICAgIDwlLSBlbHNlIC0lPgotICAg
IDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5nZXR0ZXJGdW5jdGlv
bk5hbWUgJT4oKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPjsg
fQorICAgIDwlPSBAc2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5nZXR0ZXJG
dW5jdGlvbk5hbWUgJT4oKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlcy48JT0gQHNldHRpbmcubm9y
bWFsaXplZE5hbWUgJT47IH0KICAgICA8JS0gZW5kIC0lPgogICAgIDwlLSBpZiBAc2V0dGluZy5o
YXNDb21wbGV4U2V0dGVyPyAtJT4KICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIDwlPSBAc2V0dGlu
Zy5zZXR0ZXJGdW5jdGlvbk5hbWUgJT4oPCU9IEBzZXR0aW5nLnBhcmFtZXRlclR5cGUgJT4pOwog
ICAgIDwlLSBlbHNlIC0lPgotICAgIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9uTmFt
ZSAlPig8JT0gQHNldHRpbmcucGFyYW1ldGVyVHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPikg
eyBtX3ZhbHVlcy48JT0gQHNldHRpbmcubmFtZSAlPiA9IDwlPSBAc2V0dGluZy5uYW1lICU+OyB9
CisgICAgdm9pZCA8JT0gQHNldHRpbmcuc2V0dGVyRnVuY3Rpb25OYW1lICU+KDwlPSBAc2V0dGlu
Zy5wYXJhbWV0ZXJUeXBlICU+IDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFtZSAlPikgeyBtX3Zh
bHVlcy48JT0gQHNldHRpbmcubm9ybWFsaXplZE5hbWUgJT4gPSA8JT0gQHNldHRpbmcubm9ybWFs
aXplZE5hbWUgJT47IH0KICAgICA8JS0gZW5kIC0lPgogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29u
ZGl0aW9uLmNvbmRpdGlvbiAtJT4KQEAgLTYyLDEyICs2Miw5IEBAIHB1YmxpYzoKIDwlLSBlbmQg
LSU+CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0Lmluc3BlY3Rvck92ZXJy
aWRlU2V0dGluZ3MgZG8gLSU+Ci0gICAgPCUtIGlmIEBzZXR0aW5nLmhhc0NvbXBsZXhTZXR0ZXI/
IC0lPgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgPCU9IEBzZXR0aW5nLnNldHRlckZ1bmN0aW9u
TmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlKHN0ZDo6b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnBhcmFt
ZXRlclR5cGUgJT4+KTsKLSAgICA8JS0gZWxzZSAtJT4KLSAgICB2b2lkIDwlPSBAc2V0dGluZy5z
ZXR0ZXJGdW5jdGlvbk5hbWUgJT5JbnNwZWN0b3JPdmVycmlkZShzdGQ6Om9wdGlvbmFsPDwlPSBA
c2V0dGluZy5wYXJhbWV0ZXJUeXBlICU+PiA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92
ZXJyaWRlKSB7IG1fdmFsdWVzLjwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGUg
PSA8JT0gQHNldHRpbmcubmFtZSAlPkluc3BlY3Rvck92ZXJyaWRlOyB9Ci0gICAgPCUtIGVuZCAt
JT4KIDwlLSBlbmQgLSU+CisKICAgICBGb250R2VuZXJpY0ZhbWlsaWVzJiBmb250R2VuZXJpY0Zh
bWlsaWVzKCkgZmluYWwgeyByZXR1cm4gbV92YWx1ZXMuZm9udEdlbmVyaWNGYW1pbGllczsgfQog
ICAgIGNvbnN0IEZvbnRHZW5lcmljRmFtaWxpZXMmIGZvbnRHZW5lcmljRmFtaWxpZXMoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX3ZhbHVlcy5mb250R2VuZXJpY0ZhbWlsaWVzOyB9CiAKQEAgLTc2
LDcgKzczLDcgQEAgcHVibGljOgogICAgICAgICBWYWx1ZXMgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7
CiAKIDwlLSBmb3IgQHNldHRpbmcgaW4gQGFsbFNldHRpbmdzU2V0Lmluc3BlY3Rvck92ZXJyaWRl
U2V0dGluZ3MgZG8gLSU+Ci0gICAgICAgIHN0ZDo6b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnR5cGUg
JT4+IDwlPSBAc2V0dGluZy5uYW1lICU+SW5zcGVjdG9yT3ZlcnJpZGU7CisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8PCU9IEBzZXR0aW5nLnR5cGUgJT4+IDwlPSBAc2V0dGluZy5ub3JtYWxpemVkTmFt
ZSAlPkluc3BlY3Rvck92ZXJyaWRlOwogPCUtIGVuZCAtJT4KIAogICAgICAgICBGb250R2VuZXJp
Y0ZhbWlsaWVzIGZvbnRHZW5lcmljRmFtaWxpZXM7CkBAIC04Niw3ICs4Myw3IEBAIHB1YmxpYzoK
ICNpZiA8JT0gQGNvbmRpdGlvbi5jb25kaXRpb24gJT4KIDwlLSBlbmQgLSU+CiA8JS0gZm9yIEBz
ZXR0aW5nIGluIEBjb25kaXRpb24ubm9uQm9vbFNldHRpbmdzTmVlZGluZ0ltcGxlbWVudGF0aW9u
IC0lPgotICAgICAgICA8JT0gQHNldHRpbmcudHlwZSAlPiA8JT0gQHNldHRpbmcubmFtZSAlPjsK
KyAgICAgICAgPCU9IEBzZXR0aW5nLnR5cGUgJT4gPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1l
ICU+OwogPCUtIGVuZCAtJT4KIDwlLSBpZiBAY29uZGl0aW9uLmNvbmRpdGlvbiAtJT4KICNlbmRp
ZgpAQCAtOTksNyArOTYsNyBAQCBwdWJsaWM6CiAjaWYgPCU9IEBjb25kaXRpb24uY29uZGl0aW9u
ICU+CiAgICAgICAgIDwlLSBlbmQgLSU+CiAgICAgICAgIDwlLSBmb3IgQHNldHRpbmcgaW4gQGNv
bmRpdGlvbi5ib29sU2V0dGluZ3NOZWVkaW5nSW1wbGVtZW50YXRpb24gLSU+Ci0gICAgICAgIDwl
PSBAc2V0dGluZy50eXBlICU+IDwlPSBAc2V0dGluZy5uYW1lICU+IDogMTsKKyAgICAgICAgPCU9
IEBzZXR0aW5nLnR5cGUgJT4gPCU9IEBzZXR0aW5nLm5vcm1hbGl6ZWROYW1lICU+IDogMTsKICAg
ICAgICAgPCUtIGVuZCAtJT4KICAgICAgICAgPCUtIGlmIEBjb25kaXRpb24uY29uZGl0aW9uIC0l
PgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKaW5k
ZXggNjZkMWI1OWMyOTQ3ODY5MDk3YWYyNGIyMTdlY2ZiZTg4YWFkNTgwZS4uZDkwYjlhNDNmMzI5
N2EwNGMwZTY2NzQzMzlhYzRlZjg4MGMyMzM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDbGllbnQuaApAQCAtNjcsNyArNjcsNiBAQCBwdWJsaWM6CiAgICAgZW51bSBj
bGFzcyBEZXZlbG9wZXJQcmVmZXJlbmNlIHsKICAgICAgICAgUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnREZWJ1Z01vZGVFbmFibGVkLAogICAgICAgICBJVFBEZWJ1Z01vZGVFbmFibGVkLAotICAgICAg
ICBNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLAogICAgIH07CiAgICAgdmlydHVhbCB2b2lkIHNl
dERldmVsb3BlclByZWZlcmVuY2VPdmVycmlkZShEZXZlbG9wZXJQcmVmZXJlbmNlLCBzdGQ6Om9w
dGlvbmFsPGJvb2w+KSB7IH0KIApAQCAtODQsOCArODMsNyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5jZT4g
ewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6Okluc3Bl
Y3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5jZSwKICAgICAgICAgV2ViQ29yZTo6SW5zcGVj
dG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJlbmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudERl
YnVnTW9kZUVuYWJsZWQsCi0gICAgICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6RGV2ZWxv
cGVyUHJlZmVyZW5jZTo6SVRQRGVidWdNb2RlRW5hYmxlZCwKLSAgICAgICAgV2ViQ29yZTo6SW5z
cGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkCisgICAgICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5j
ZTo6SVRQRGVidWdNb2RlRW5hYmxlZAogICAgID47CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKaW5kZXggNjQx
MTc0MjViYTVjNWI2YTcxZDE5MGRmYzhmMWVlZmI0ZmZjNjM3Yy4uZTZkYmE4NTY3NzU5YjRjYmY2
MWMyZWQ3MmZkMWY0ZWI3MzMxZTc1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMzg0LDcgKzM4NCw2IEBA
IFByb3RvY29sOjpFcnJvclN0cmluZ09yPHZvaWQ+IEluc3BlY3RvclBhZ2VBZ2VudDo6ZGlzYWJs
ZSgpCiAKICAgICBtX2NsaWVudC0+c2V0RGV2ZWxvcGVyUHJlZmVyZW5jZU92ZXJyaWRlKEluc3Bl
Y3RvckNsaWVudDo6RGV2ZWxvcGVyUHJlZmVyZW5jZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRE
ZWJ1Z01vZGVFbmFibGVkLCBzdGQ6Om51bGxvcHQpOwogICAgIG1fY2xpZW50LT5zZXREZXZlbG9w
ZXJQcmVmZXJlbmNlT3ZlcnJpZGUoSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVmZXJlbmNl
OjpJVFBEZWJ1Z01vZGVFbmFibGVkLCBzdGQ6Om51bGxvcHQpOwotICAgIG1fY2xpZW50LT5zZXRE
ZXZlbG9wZXJQcmVmZXJlbmNlT3ZlcnJpZGUoSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQcmVm
ZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCBzdGQ6Om51bGxvcHQpOwogCiAgICAg
cmV0dXJuIHsgfTsKIH0KQEAgLTQ1Nyw3ICs0NTYsNiBAQCBQcm90b2NvbDo6RXJyb3JTdHJpbmdP
cjx2b2lkPiBJbnNwZWN0b3JQYWdlQWdlbnQ6Om92ZXJyaWRlU2V0dGluZyhQcm90b2NvbDo6UGFn
ZQogCiAgICAgY2FzZSBQcm90b2NvbDo6UGFnZTo6U2V0dGluZzo6TW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZDoKICAgICAgICAgaW5zcGVjdGVkUGFnZVNldHRpbmdzLnNldE1vY2tDYXB0dXJlRGV2
aWNlc0VuYWJsZWRJbnNwZWN0b3JPdmVycmlkZSh2YWx1ZSk7Ci0gICAgICAgIG1fY2xpZW50LT5z
ZXREZXZlbG9wZXJQcmVmZXJlbmNlT3ZlcnJpZGUoSW5zcGVjdG9yQ2xpZW50OjpEZXZlbG9wZXJQ
cmVmZXJlbmNlOjpNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCB2YWx1ZSk7CiAgICAgICAgIHJl
dHVybiB7IH07CiAKICAgICBjYXNlIFByb3RvY29sOjpQYWdlOjpTZXR0aW5nOjpOZWVkc1NpdGVT
cGVjaWZpY1F1aXJrczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGE4OTY4Yzk0
NGU0YTFhYmFjYzhjMmZkMDNiOTcxZmQzYjNmOGU3MmMuLjg5ZmI4ODdmMzQyMzNmOTBkNGU1ZGEw
YTJkYTJhNWJkODQ5MjgwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtNjA3
LDYgKzYwNyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3Jl
YXRlUHJldmlldyhXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50JiwgY29uc3QgVVJMJiwgY29uc3Qg
U3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJikgY29uc3QgeyB9OwogI2VuZGlmCiAK
KyAgICB2aXJ0dWFsIHZvaWQgcGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQoY29u
c3QgU3RyaW5nJiwgc3RkOjpvcHRpb25hbDxib29sPikgeyB9OworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB+Q2hyb21lQ2xpZW50KCkgPSBkZWZhdWx0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0RlZmlu
aXRpb25zLmguZXJiIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVz
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKaW5kZXggM2YzOTkyODJmN2M5NGJkN2Qy
YjAzYzI4ZWZkMjk2ZjE1YzY5NTZlOC4uNzBlMjkwM2I1ZTQyMDQ1ZjBkMTMzMzk0MzU1NTdhNDZl
Y2I5YjBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVt
cGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaC5lcmIKKysrIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aC5lcmIKQEAgLTg2LDMgKzg2LDEwIEBACiA8JS0gZW5kIC0lPgogICAgIFwKIAorLy8gSW5zcGVj
dG9yIE92ZXJyaWRlcworCisjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9QUkVGRVJFTkNFX0lOU1BF
Q1RPUl9PVkVSUklERShtYWNybykgXAorPCUtIGZvciBAcHJlZiBpbiBAZXhwb3NlZEluc3BlY3Rv
ck92ZXJyaWRlcyBkbyAtJT4KKyAgICBtYWNybyg8JT0gQHByZWYubmFtZUxvd2VyICU+LCA8JT0g
QHByZWYudHlwZSAlPikgXAorPCUtIGVuZCAtJT4KKyAgICBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvV2ViUHJlZmVyZW5jZXNHZXR0ZXJT
ZXR0ZXJzLmNwcC5lcmIgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0
ZXMvV2ViUHJlZmVyZW5jZXNHZXR0ZXJTZXR0ZXJzLmNwcC5lcmIKaW5kZXggZDJjZTQ5YjQyMWM4
NjBkZTc1N2FjMGRkMmUzY2FiZTk0MzhmOTg5Ny4uMTMxY2YzZWZkYmZhYTcxZGYwNWYyYzRhN2Iw
MTgyMzU1M2RhYzQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL1ByZWZlcmVu
Y2VzVGVtcGxhdGVzL1dlYlByZWZlcmVuY2VzR2V0dGVyU2V0dGVycy5jcHAuZXJiCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9XZWJQcmVmZXJlbmNlc0dl
dHRlclNldHRlcnMuY3BwLmVyYgpAQCAtNDIsNiArNDIsMTAgQEAgdm9pZCBXZWJQcmVmZXJlbmNl
czo6c2V0PCU9IEBwcmVmLm5hbWUgJT4oY29uc3QgPCU9IEBwcmVmLnR5cGUgJT4mIHZhbHVlKQog
CiA8JT0gQHByZWYudHlwZSAlPiBXZWJQcmVmZXJlbmNlczo6PCU9IEBwcmVmLm5hbWVMb3dlciAl
PigpIGNvbnN0CiB7CisgICAgPCUtIGlmIEBwcmVmLmhhc0luc3BlY3Rvck92ZXJyaWRlPyAtJT4K
KyAgICBpZiAoVU5MSUtFTFkobV88JT0gQHByZWYubmFtZUxvd2VyICU+SW5zcGVjdG9yT3ZlcnJp
ZGUpKQorICAgICAgICByZXR1cm4gbV88JT0gQHByZWYubmFtZUxvd2VyICU+SW5zcGVjdG9yT3Zl
cnJpZGUudmFsdWUoKTsKKyAgICA8JS0gZW5kIC0lPgogICAgIHJldHVybiBtX3N0b3JlLmdldDwl
PSBAcHJlZi50eXBlVXBwZXIgJT5WYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6PCU9IEBw
cmVmLm5hbWVMb3dlciAlPktleSgpKTsKIH0KIApAQCAtNjIsNiArNjYsMTAgQEAgdm9pZCBXZWJQ
cmVmZXJlbmNlczo6c2V0PCU9IEBwcmVmLm5hbWUgJT4oY29uc3QgYm9vbCYgdmFsdWUpCiAKIGJv
b2wgV2ViUHJlZmVyZW5jZXM6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT4oKSBjb25zdAogeworICAg
IDwlLSBpZiBAcHJlZi5oYXNJbnNwZWN0b3JPdmVycmlkZT8gLSU+CisgICAgaWYgKFVOTElLRUxZ
KG1fPCU9IEBwcmVmLm5hbWVMb3dlciAlPkluc3BlY3Rvck92ZXJyaWRlKSkKKyAgICAgICAgcmV0
dXJuIG1fPCU9IEBwcmVmLm5hbWVMb3dlciAlPkluc3BlY3Rvck92ZXJyaWRlLnZhbHVlKCk7Cisg
ICAgPCUtIGVuZCAtJT4KICAgICByZXR1cm4gbV9zdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2Vi
UHJlZmVyZW5jZXNLZXk6OjwlPSBAcHJlZi5uYW1lTG93ZXIgJT5LZXkoKSk7CiB9CiAKQEAgLTgy
LDYgKzkwLDEwIEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldDwlPSBAcHJlZi5uYW1lICU+KGNv
bnN0IGJvb2wmIHZhbHVlKQogCiBib29sIFdlYlByZWZlcmVuY2VzOjo8JT0gQHByZWYubmFtZUxv
d2VyICU+KCkgY29uc3QKIHsKKyAgICA8JS0gaWYgQHByZWYuaGFzSW5zcGVjdG9yT3ZlcnJpZGU/
IC0lPgorICAgIGlmIChVTkxJS0VMWShtXzwlPSBAcHJlZi5uYW1lTG93ZXIgJT5JbnNwZWN0b3JP
dmVycmlkZSkpCisgICAgICAgIHJldHVybiBtXzwlPSBAcHJlZi5uYW1lTG93ZXIgJT5JbnNwZWN0
b3JPdmVycmlkZS52YWx1ZSgpOworICAgIDwlLSBlbmQgLSU+CiAgICAgcmV0dXJuIG1fc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2Vy
ICU+S2V5KCkpOwogfQogCkBAIC05Miw0ICsxMDQsMTQgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6
ZGVsZXRlPCU9IEBwcmVmLm5hbWUgJT4oKQogCiA8JS0gZW5kIC0lPgogCit2b2lkIFdlYlByZWZl
cmVuY2VzOjpwYWdlU2V0dGluZ0luc3BlY3Rvck92ZXJyaWRlQ2hhbmdlZChjb25zdCBTdHJpbmcm
IG5hbWUsIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gdmFsdWUpCit7Cis8JS0gZm9yIEBwcmVmIGluIEBl
eHBvc2VkSW5zcGVjdG9yT3ZlcnJpZGVzIGRvIC0lPgorICAgIGlmIChuYW1lID09IFdlYlByZWZl
cmVuY2VzS2V5Ojo8JT0gQHByZWYubmFtZUxvd2VyICU+S2V5KCkpIHsKKyAgICAgICAgbV88JT0g
QHByZWYubmFtZUxvd2VyICU+SW5zcGVjdG9yT3ZlcnJpZGUgPSB2YWx1ZTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKzwlLSBlbmQgLSU+Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tCmluZGV4IGQ2OTVmMWZmZmMzOGFkMTg5
NTRkZjc1NDcyYWIzZjQ3OWQ2YTY0M2IuLmFjMGI2MTI2YTMwMDY1MzIyOTEzYjQ5M2IxZTczNDgy
NTFkM2Y3MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tJbnNwZWN0b3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0luc3BlY3Rvci5tbQpAQCAtMTkyLDYgKzE5MiwxMiBAQCAtICh2b2lkKXByaW50RXJyb3JUb0Nv
bnNvbGU6KE5TU3RyaW5nICopZXJyb3IKIAogLy8gTUFSSzogX1dLSW5zcGVjdG9yUHJpdmF0ZSBt
ZXRob2RzCiAKKy0gKFdLV2ViVmlldyAqKWluc3BlY3RvcldlYlZpZXcKK3sKKyAgICBhdXRvIHBh
Z2UgPSBfaW5zcGVjdG9yLT5pbnNwZWN0b3JQYWdlKCk7CisgICAgcmV0dXJuIHBhZ2UgPyBwYWdl
LT5jb2NvYVZpZXcoKS5hdXRvcmVsZWFzZSgpIDogbmlsOworfQorCiAtICh2b2lkKV9zZXREaWFn
bm9zdGljTG9nZ2luZ0RlbGVnYXRlOihpZDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPilk
ZWxlZ2F0ZQogewogICAgIGF1dG8gaW5zcGVjdG9yV2ViVmlldyA9IHNlbGYuaW5zcGVjdG9yV2Vi
VmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnNwZWN0b3JJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0luc3BlY3RvckludGVybmFsLmgKaW5kZXggODZiZmRhMGFiYjczZjM4NTdiNzBlZjBkMmQ5ZWI5
YmViOTdhZjgyYy4uOGM4YzlkNzdhMzA3MWY0MDkzOTk0YzI3ZGJlOGU0NDhlZDFjNjJkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvcklu
dGVybmFsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3Bl
Y3RvckludGVybmFsLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2ltcG9ydCAiV0tPYmplY3QuaCIK
ICNpbXBvcnQgIldlYkluc3BlY3RvclVJUHJveHkuaCIKKyNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0
ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JQcml2YXRlLmgKaW5kZXggM2RjZGYxNTk2
MTdhY2IzMDlkOTcyMTMzN2M2ZWZmODE0NjY4NzNhZi4uOGRkOGQ4MTRlZjhmYmMxOGJhNzY2MTQ4
ZTcxMmMzNzBmMGExYmY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0luc3BlY3RvclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yUHJpdmF0ZS5oCkBAIC0zMCw2ICszMCw4IEBACiAKIEBp
bnRlcmZhY2UgX1dLSW5zcGVjdG9yIChXS1ByaXZhdGUpCiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgV0tXZWJWaWV3ICppbnNwZWN0b3JXZWJWaWV3OworCiBAcHJvcGVydHkgKG5v
bmF0b21pYywgd2Vhaywgc2V0dGVyPV9zZXREaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlOikgaWQ8
X1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZT4gX2RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGU7
CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgV0tXZWJWaWV3ICpleHRlbnNpb25I
b3N0V2ViVmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tJbnNwZWN0b3JQcml2YXRlRm9yVGVzdGluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmgKaW5kZXggOTZhOTcx
ODRmNGJjMWY1NjlkODRiMmU5YmZlOTMwZGIxNDczNmY4My4uNGMzZGE4YzNjYjRkYWVjZDY4MDgz
OGIyNjFkNWZiOGI3MGU5YTZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclByaXZhdGVGb3JUZXN0aW5nLmgK
QEAgLTI2LDcgKzI2LDUgQEAKICNpbXBvcnQgIl9XS0luc3BlY3Rvci5oIgogCiBAaW50ZXJmYWNl
IF9XS0luc3BlY3RvciAoV0tUZXN0aW5nKQotLSAodm9pZClfZmV0Y2hVUkxGb3JUZXN0aW5nOihO
U1VSTCAqKXVybDsKLS0gKHZvaWQpX29wZW5VUkxFeHRlcm5hbGx5Rm9yVGVzdGluZzooTlNVUkwg
Kil1cmwgdXNlRnJvbnRlbmRBUEk6KEJPT0wpdXNlRnJvbnRlbmRBUEk7Ci0tIChXS1dlYlZpZXcg
KilpbnNwZWN0b3JXZWJWaWV3OworLSAodm9pZClfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGlu
ZzooTlNTdHJpbmcgKilleHByZXNzaW9uOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvclRlc3RpbmcubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yVGVzdGluZy5tbQppbmRleCBiM2M4
ZTE3YjI2MThhNzk2NjkzMTFkNDIxN2Q4ZjljOGVjODg1MTk5Li5hZWRkYzE4NzY2ZGViNGNmYTRj
MjE3ZmNjNzFkZTM4YjdmN2Q4NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yVGVzdGluZy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yVGVzdGluZy5tbQpAQCAtMjUsNDYgKzI1LDE0
IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5o
IgotI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJfV0tJbnNwZWN0b3JJbnRlcm5h
bC5oIgogI2ltcG9ydCAiX1dLSW5zcGVjdG9yUHJpdmF0ZUZvclRlc3RpbmcuaCIKIAotLy8gVGhp
cyBmaWxlIGV4aXN0cyB0byBjZW50cmFsaXplIGFsbCBmcmFnaWxlIGNvZGUgdGhhdCBpcyB1c2Vk
IGJ5IF9XS0luc3BlY3RvciBBUEkgdGVzdHMuIFRoZSB0ZXN0cwotLy8gdHJpZ2dlciBXZWJJbnNw
ZWN0b3JVSSBiZWhhdmlvciBieSBldmFsdWF0aW5nIEphdmFTY3JpcHQgb3IgYnkgY2FsbGluZyBp
bnRlcm5hbCBtZXRob2RzLgotCi1zdGF0aWMgTlNTdHJpbmcgKkphdmFTY3JpcHRTbmlwcGV0VG9P
cGVuVVJMRXh0ZXJuYWxseShOU1VSTCAqdXJsKQotewotICAgIHJldHVybiBbTlNTdHJpbmcgc3Ry
aW5nV2l0aEZvcm1hdDpAIkluc3BlY3RvckZyb250ZW5kSG9zdC5vcGVuVVJMRXh0ZXJuYWxseShc
IiVAXCIpIiwgdXJsLmFic29sdXRlU3RyaW5nXTsKLX0KLQotc3RhdGljIE5TU3RyaW5nICpKYXZh
U2NyaXB0U25pcHBldFRvRmV0Y2hVUkwoTlNVUkwgKnVybCkKLXsKLSAgICByZXR1cm4gW05TU3Ry
aW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJmZXRjaChcIiVAXCIpIiwgdXJsLmFic29sdXRlU3RyaW5n
XTsKLX0KLQogQGltcGxlbWVudGF0aW9uIF9XS0luc3BlY3RvciAoV0tUZXN0aW5nKQogCi0tIChX
S1dlYlZpZXcgKilpbnNwZWN0b3JXZWJWaWV3CistICh2b2lkKV9ldmFsdWF0ZUluRnJvbnRlbmRG
b3JUZXN0aW5nOihOU1N0cmluZyAqKWV4cHJlc3Npb24KIHsKLSAgICBhdXRvIHBhZ2UgPSBfaW5z
cGVjdG9yLT5pbnNwZWN0b3JQYWdlKCk7Ci0gICAgcmV0dXJuIHBhZ2UgPyBwYWdlLT5jb2NvYVZp
ZXcoKS5hdXRvcmVsZWFzZSgpIDogbmlsOwotfQotCi0tICh2b2lkKV9mZXRjaFVSTEZvclRlc3Rp
bmc6KE5TVVJMICopdXJsCi17Ci0gICAgX2luc3BlY3Rvci0+ZXZhbHVhdGVJbkZyb250ZW5kRm9y
VGVzdGluZyhKYXZhU2NyaXB0U25pcHBldFRvRmV0Y2hVUkwodXJsKSk7Ci19Ci0KLS0gKHZvaWQp
X29wZW5VUkxFeHRlcm5hbGx5Rm9yVGVzdGluZzooTlNVUkwgKil1cmwgdXNlRnJvbnRlbmRBUEk6
KEJPT0wpdXNlRnJvbnRlbmRBUEkKLXsKLSAgICBpZiAodXNlRnJvbnRlbmRBUEkpCi0gICAgICAg
IF9pbnNwZWN0b3ItPmV2YWx1YXRlSW5Gcm9udGVuZEZvclRlc3RpbmcoSmF2YVNjcmlwdFNuaXBw
ZXRUb09wZW5VUkxFeHRlcm5hbGx5KHVybCkpOwotICAgIGVsc2UgewotICAgICAgICAvLyBGb3Jj
ZSB0aGUgbmF2aWdhdGlvbiByZXF1ZXN0IHRvIGJlIGhhbmRsZWQgbmF0dXJhbGx5IHRocm91Z2gg
dGhlCi0gICAgICAgIC8vIGludGVybmFsIE5hdmlnYXRpb25EZWxlZ2F0ZSBvZiBXS0luc3BlY3Rv
clZpZXdDb250cm9sbGVyLgotICAgICAgICBbc2VsZi5pbnNwZWN0b3JXZWJWaWV3IGxvYWRSZXF1
ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsXV07Ci0gICAgfQorICAgIF9pbnNw
ZWN0b3ItPmV2YWx1YXRlSW5Gcm9udGVuZEZvclRlc3RpbmcoZXhwcmVzc2lvbik7CiB9CiAKIEBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNw
ZWN0b3JVSVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JVSVByb3h5LmNwcAppbmRleCA1NzJkMjM1YzZkMWYxNGRjZTIxMjI4OTE5MzUzYjcz
NDRhOTAzY2UyLi5lM2Q5Nzk4OTU3ODNmZWMwZTA0NmM0NTIyMjU1MjIxYzBmNDNmMGY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUlQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJUHJveHkuY3BwCkBAIC02ODIsMTMgKzY4Miw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUlQ
cm94eTo6c2V0RGV2ZWxvcGVyUHJlZmVyZW5jZU92ZXJyaWRlKFdlYkNvcmU6Okluc3BlY3RvckNs
aWVuCiAgICAgICAgIGlmIChtX2luc3BlY3RlZFBhZ2UpCiAgICAgICAgICAgICBtX2luc3BlY3Rl
ZFBhZ2UtPndlYnNpdGVEYXRhU3RvcmUoKS5zZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdN
b2RlKG92ZXJyaWRlVmFsdWUgJiYgb3ZlcnJpZGVWYWx1ZS52YWx1ZSgpKTsKICAgICAgICAgcmV0
dXJuOwotCi0gICAgY2FzZSBJbnNwZWN0b3JDbGllbnQ6OkRldmVsb3BlclByZWZlcmVuY2U6Ok1v
Y2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQ6Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKLSAgICAg
ICAgaWYgKG1faW5zcGVjdGVkUGFnZSkKLSAgICAgICAgICAgIG1faW5zcGVjdGVkUGFnZS0+c2V0
TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92ZXJyaWRlKG92ZXJyaWRlVmFsdWUpOwotI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCi0gICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcApp
bmRleCBiZjY1ZDM2NDY0MmI1NmZmOGUzZjRiN2JlOWUyOTM0ZDk0NDA0NTQxLi44OGEzYmRjNzcx
NGVkYzdiMmYwMThiOWQ1YmIzMmNhMzQzZWE4ZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkuY3BwCkBAIC04NDIsMTggKzg0MiwxMiBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5OjplbnVtZXJhdGVNZWRpYURldmljZXNGb3JGcmFtZShGcmFt
ZQogI2VuZGlmCiB9CiAKLXZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHk6OnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZShzdGQ6Om9wdGlvbmFsPGJv
b2w+IGVuYWJsZWQpCi17Ci0gICAgbV9tb2NrRGV2aWNlc0VuYWJsZWRPdmVycmlkZSA9IGVuYWJs
ZWQ7Ci0gICAgc3luY1dpdGhXZWJDb3JlUHJlZnMoKTsKLX0KLQogdm9pZCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c3luY1dpdGhXZWJDb3JlUHJlZnMoKSBjb25zdAog
ewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLy8gRW5hYmxlL2Rpc2FibGUgdGhlIG1v
Y2sgY2FwdHVyZSBkZXZpY2VzIGZvciB0aGUgVUkgcHJvY2VzcyBhcyBwZXIgdGhlIFdlYkNvcmUg
cHJlZmVyZW5jZXMuIE5vdGUgdGhhdAogICAgIC8vIHRoaXMgaXMgYSBub29wIGlmIHRoZSBwcmVm
ZXJlbmNlIGhhc24ndCBjaGFuZ2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgdGhpcyB3YXMgY2FsbGVk
LgotICAgIGJvb2wgbW9ja0RldmljZXNFbmFibGVkID0gbV9tb2NrRGV2aWNlc0VuYWJsZWRPdmVy
cmlkZSA/ICptX21vY2tEZXZpY2VzRW5hYmxlZE92ZXJyaWRlIDogbV9wYWdlLnByZWZlcmVuY2Vz
KCkubW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpOworICAgIGJvb2wgbW9ja0RldmljZXNFbmFi
bGVkID0gbV9wYWdlLnByZWZlcmVuY2VzKCkubW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCgpOwog
CiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIGlmIChtX3BhZ2UucHJlZmVyZW5jZXMoKS5j
YXB0dXJlQXVkaW9JbkdQVVByb2Nlc3NFbmFibGVkKCkgfHwgbV9wYWdlLnByZWZlcmVuY2VzKCku
Y2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmgKaW5kZXggYWI4MTlkYjk2YjhmM2IzMTI5MWVlNWQ0ZmZlYjhlNTY1M2MxYmEyMy4u
ZDZhZTE5ODEwNjZhZTMwNjA1N2Q2MTI3NTc0NWMzOThmNmE0NjdkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eS5oCkBAIC05NCw3ICs5NCw2IEBAIHB1YmxpYzoKICAgICAgICAgUHJv
bXB0CiAgICAgfTsKIAotICAgIHZvaWQgc2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZE92ZXJy
aWRlKHN0ZDo6b3B0aW9uYWw8Ym9vbD4pOwogICAgIGJvb2wgaGFzUGVuZGluZ0NhcHR1cmUoKSBj
b25zdCB7IHJldHVybiBtX2hhc1BlbmRpbmdDYXB0dXJlOyB9CiAKICAgICB2b2lkIGNoZWNrVXNl
ck1lZGlhUGVybWlzc2lvbkZvclNwZWVjaFJlY29nbml0aW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mLCBjb25zdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbiYsIGNvbnN0IFdlYkNvcmU6OkNhcHR1cmVEZXZpY2UmLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKQEAgLTE3Niw3ICsxNzUsNiBAQCBwcml2YXRlOgogICAgIGJv
b2wgbV9oYXNDcmVhdGVkU2FuZGJveEV4dGVuc2lvbkZvclRDQ0QgeyBmYWxzZSB9OwogI2VuZGlm
CiAgICAgdWludDY0X3QgbV9oYXNQZW5kaW5nQ2FwdHVyZSB7IDAgfTsKLSAgICBzdGQ6Om9wdGlv
bmFsPGJvb2w+IG1fbW9ja0RldmljZXNFbmFibGVkT3ZlcnJpZGU7CiB9OwogCiBTdHJpbmcgY29u
dmVydEVudW1lcmF0aW9uVG9TdHJpbmcoVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHk6OlJlcXVlc3RBY3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggYmFjMjhiN2I5ZGI0ZTQ3ZDE1ZjA3YzQzODJkMGZkZWM2OGI1OWI1Zi4uNWI5
YWE3MTEzNTcyYTdlMmU0NWU4Nzg2NWM5M2MwMTFiYTIzNmVhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xOTA3LDYgKzE5MDcsMTYgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnJlbW90ZUluc3BlY3RvckluZm9ybWF0aW9uRGlkQ2hhbmdlKCkKIH0KICNlbmRp
ZgogCit2b2lkIFdlYlBhZ2VQcm94eTo6cGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5n
ZWQoY29uc3QgU3RyaW5nJiBuYW1lLCBzdGQ6Om9wdGlvbmFsPGJvb2w+IHZhbHVlKQoreworICAg
IHByZWZlcmVuY2VzKCkucGFnZVNldHRpbmdJbnNwZWN0b3JPdmVycmlkZUNoYW5nZWQobmFtZSwg
dmFsdWUpOworCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBpZiAobmFtZSA9PSBXZWJQ
cmVmZXJlbmNlc0tleTo6bW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZEtleSgpKQorICAgICAgICB1
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKS5zeW5jV2l0aFdlYkNvcmVQcmVmcygp
OworI2VuZGlmCit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRCYWNrZ3JvdW5kQ29sb3IoY29u
c3Qgc3RkOjpvcHRpb25hbDxDb2xvcj4mIGNvbG9yKQogewogICAgIGlmIChtX2JhY2tncm91bmRD
b2xvciA9PSBjb2xvcikKQEAgLTg0MTcsMTEgKzg0MjcsNiBAQCBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdE1hbmFnZXJQcm94eSYgV2ViUGFnZVByb3h5Ojp1c2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdAogICAgIHJldHVybiAqbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI7CiB9
CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkT3ZlcnJp
ZGUoc3RkOjpvcHRpb25hbDxib29sPiBlbmFibGVkKQotewotICAgIHVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcigpLnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRPdmVycmlkZShl
bmFibGVkKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OndpbGxTdGFydENhcHR1cmUoY29uc3Qg
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eSYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZCgpPiYmIGNhbGxiYWNrKQogewogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMWRkZTJhYTBhZDY0NjM1NWUyOTA2
YzZlM2ZmYjA4MDA4ZDUyNzM2NS4uZmU5MzMwNDA1YzQ0MjFiNTRhMTc2MzNlNmU3ODU4OTU2ZWNj
OTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTU1MCw2ICs1
NTAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdGVJbnNwZWN0b3JJbmZvcm1hdGlvbkRpZENo
YW5nZSgpOwogI2VuZGlmCiAKKyAgICB2b2lkIHBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVD
aGFuZ2VkKGNvbnN0IFN0cmluZyYsIHN0ZDo6b3B0aW9uYWw8Ym9vbD4pOworCiAjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkqIGZ1bGxTY3Jl
ZW5NYW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbgppbmRleCBkYjViNTZlZjIzNTIwOWVhMTczOTQ2OWE5MTE2MTQwZTI5NzZk
OTZlLi5hOTlhMGUwNzMzYTYxMWRiZjI1ZDgxNmY1YTVhMGZiNTQ3NWVjYTk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01OTks
NCArNTk5LDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNpZiBIQVZFKEFSS0lUX0lO
TElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KHN0cnVj
dCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCBlbGVtZW50Q29udGV4dCwgVVJMIHVybCwgU3RyaW5n
IHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplKQogI2VuZGlmCisKKyAgICBQYWdlU2V0dGlu
Z0luc3BlY3Rvck92ZXJyaWRlQ2hhbmdlZChTdHJpbmcgbmFtZSwgc3RkOjpvcHRpb25hbDxib29s
PiB2YWx1ZSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmluZGV4
IDkzNzQzY2IwMGQ0MzBiYzNhODM4NTk3MGY1YjVhMGUwY2UxODJkZmUuLmViMWQ5ZTc0MGExYTJh
ZWVhMDY1MzUwZTcwZDI4NWVhYjI0YzYyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJlZmVyZW5jZXMuaApAQCAtNjQsNiArNjQsNyBAQCBwdWJsaWM6CiAgICAgRk9SX0VBQ0hfV0VC
S0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVS
UykKICAgICBGT1JfRUFDSF9XRUJLSVRfSU5URVJOQUxfREVCVUdfRkVBVFVSRV9QUkVGRVJFTkNF
KERFQ0xBUkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMpCiAgICAgRk9SX0VBQ0hfV0VC
S0lUX0VYUEVSSU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dF
VFRFUl9BTkRfU0VUVEVSUykKKyAgICB2b2lkIHBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVD
aGFuZ2VkKGNvbnN0IFN0cmluZyYsIHN0ZDo6b3B0aW9uYWw8Ym9vbD4pOwogCiAgICAgc3RhdGlj
IGNvbnN0IFZlY3RvcjxSZWZQdHI8QVBJOjpPYmplY3Q+PiYgZXhwZXJpbWVudGFsRmVhdHVyZXMo
KTsKICAgICBib29sIGlzRmVhdHVyZUVuYWJsZWQoY29uc3QgQVBJOjpFeHBlcmltZW50YWxGZWF0
dXJlJikgY29uc3Q7CkBAIC0xMzgsNiArMTM5LDEzIEBAIHByaXZhdGU6CiAgICAgY29uc3QgU3Ry
aW5nIG1fZ2xvYmFsRGVidWdLZXlQcmVmaXg7CiAgICAgV2ViUHJlZmVyZW5jZXNTdG9yZSBtX3N0
b3JlOwogCisjZGVmaW5lIERFQ0xBUkVfUFJFRkVSRU5DRV9JTlNQRUNUT1JfT1ZFUlJJREVfTUVN
QkVSKEtleUxvd2VyLCBUeXBlKSBcCisgICAgc3RkOjpvcHRpb25hbDxUeXBlPiBtXyMjS2V5TG93
ZXIjI0luc3BlY3Rvck92ZXJyaWRlOworCisgICAgRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0Vf
SU5TUEVDVE9SX09WRVJSSURFKERFQ0xBUkVfUFJFRkVSRU5DRV9JTlNQRUNUT1JfT1ZFUlJJREVf
TUVNQkVSKQorCisjdW5kZWYgREVDTEFSRV9QUkVGRVJFTkNFX0lOU1BFQ1RPUl9PVkVSUklERV9N
RU1CRVIKKwogICAgIFdlYWtIYXNoU2V0PFdlYlBhZ2VQcm94eT4gbV9wYWdlczsKICAgICB1bnNp
Z25lZCBtX3VwZGF0ZUJhdGNoQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX25lZWRVcGRhdGVBZnRl
ckJhdGNoIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggMzA3NzZhMDBkYjA3
NGYyZDE5N2QyN2EwMDA4OTI5MmI1ODgwNzg1Ny4uODg0MjQ0NzNmZjNhMzVlZmE5YmE0MGJhYzdk
YzViYjFiYThmZTgxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTE1MjksNCArMTUyOSw5
IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojptb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQmIGVsCiB9CiAjZW5kaWYKIAordm9pZCBXZWJDaHJvbWVD
bGllbnQ6OnBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKGNvbnN0IFN0cmluZyYg
bmFtZSwgc3RkOjpvcHRpb25hbDxib29sPiB2YWx1ZSkKK3sKKyAgICBtX3BhZ2Uuc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpQYWdlU2V0dGluZ0luc3BlY3Rvck92ZXJyaWRlQ2hhbmdlZCB7
IG5hbWUsIHZhbHVlIH0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAppbmRleCBjMTUxMmY5OTg3NWQ5OTcwNzQ1ZjYyYzY1ZjVkYjI5NTIxMTE1NTAzLi40OWNk
NzZhNzA2OTliYmE2Y2U2NWY4MDk5ZjA5MWI3MzVkMTE5NzMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CkBAIC00NTksNiArNDU5LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIG1vZGVsRWxlbWVudERpZENy
ZWF0ZVByZXZpZXcoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudCYsIGNvbnN0IFVSTCYsIGNvbnN0
IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYpIGNvbnN0IGZpbmFsOwogI2VuZGlm
CiAKKyAgICB2b2lkIHBhZ2VTZXR0aW5nSW5zcGVjdG9yT3ZlcnJpZGVDaGFuZ2VkKGNvbnN0IFN0
cmluZyYsIHN0ZDo6b3B0aW9uYWw8Ym9vbD4pIGZpbmFsOworCiAgICAgbXV0YWJsZSBib29sIG1f
Y2FjaGVkTWFpbkZyYW1lSGFzSG9yaXpvbnRhbFNjcm9sbGJhciB7IGZhbHNlIH07CiAgICAgbXV0
YWJsZSBib29sIG1fY2FjaGVkTWFpbkZyYW1lSGFzVmVydGljYWxTY3JvbGxiYXIgeyBmYWxzZSB9
OwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
OTk1MTVhMGY5MWRiMDQzODgzYmE4NWQ0OWU0MmI0MDBiNzFiNWU3Yy4uZmIzYWQ3Y2ZhYjFmOGY5
ZDgwNmRlN2M0NGI1OTIwYjcxMzUzOGU3NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA3LTE2ICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm9w
YWdhdGUgY2hhbmdlcyBmcm9tIGBQYWdlLm92ZXJyaWRlU2V0dGluZ2AgdG8gdGhlIFVJUHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDI2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYkluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVy
YXRpb25zLm1tOiBBZGRlZC4KKyAgICAgICAgKHJlc2V0R2xvYmFsU3RhdGUpOgorICAgICAgICAo
LVtJbnNwZWN0b3JEZWxlZ2F0ZUZvclRlc3RpbmdJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucyBpbnNw
ZWN0b3JGcm9udGVuZExvYWRlZDpdKToKKyAgICAgICAgKC1bVUlEZWxlZ2F0ZUZvclRlc3RpbmdJ
bnNwZWN0ZWRQYWdlT3BlcmF0aW9ucyBfd2ViVmlldzpjb25maWd1cmF0aW9uRm9yTG9jYWxJbnNw
ZWN0b3I6XSk6CisgICAgICAgIChURVNULldlYkluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVyYXRp
b25zLk92ZXJyaWRlU2V0dGluZ1Byb3BhZ2F0ZXNUb1dLUHJlZmVyZW5jZXMpOgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0luc3BlY3RvckRlbGVnYXRlLm1t
OgorICAgICAgICAoVEVTVC5XS0luc3BlY3RvckRlbGVnYXRlLlNob3dVUkxFeHRlcm5hbGx5KToK
KyAgICAgICAgKFRFU1QuV0tJbnNwZWN0b3JEZWxlZ2F0ZS5JbnNwZWN0b3JDb25maWd1cmF0aW9u
KToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgZ2VuZXJpYyBgLVtXS0luc3BlY3RvciBfZXZhbHVh
dGVJbkZyb250ZW5kRm9yVGVzdGluZzpdYCBpbnN0ZWFkLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMDct
MTQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ29u
dmVydCBzbWFsbCBKSVQgcG9vbCB0ZXN0cyBpbnRvIGV4ZWN1dGFibGUgZnV6emluZwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBjZGU3OTZjMWYzNjdiOTA2MGYzMzk1ODIwN2VjNGQ2YWJiN2Ex
Nzc2Li5kYTAxZjFkNWY5ZDA2NGQ1NDgyMDA1NjlhNGU0YzA1YThiYTlmNzU1IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtODgzLDYgKzg4Myw3IEBACiAJCTk1MDk1RjIwMjYyRkZGQTUwMDAw
RDkyMCAvKiBTYW1wbGVkUGFnZVRvcENvbG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTUwOTVGMUYyNjJGRkZBNTAwMDBEOTIwIC8qIFNhbXBsZWRQ
YWdlVG9wQ29sb3IubW0gKi87IH07CiAJCTk1MEU0Q0MxMjUyRTc1MjQwMDcxNjU5RiAvKiBpT1NT
dHlsdXNTdXBwb3J0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOTUwRTRDQzAyNTJFNzUyMzAwNzE2NTlGIC8qIGlPU1N0eWx1c1N1cHBvcnQubW0gKi87
IH07CiAJCTk1M0FCQjM1MjVDMEQ2ODIwMDRDOEI3MyAvKiBXS1dlYlZpZXdVbmRlclBhZ2VCYWNr
Z3JvdW5kQ29sb3IubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5NTNBQkIzNDI1QzBENjgxMDA0QzhCNzMgLyogV0tXZWJWaWV3VW5kZXJQYWdlQmFja2dy
b3VuZENvbG9yLm1tICovOyB9OworCQk5NTkwQzI3RjI2QTExRDMxMDBBNUQ1NzUgLyogV2ViSW5z
cGVjdG9ySW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NTkwQzI3RTI2QTExRDMxMDBBNUQ1NzUgLyogV2ViSW5z
cGVjdG9ySW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMubW0gKi87IH07CiAJCTk1QTUyNDk1MjU4MUEx
MEQwMDQ2MUZFOSAvKiBXS1dlYlZpZXdUaGVtZUNvbG9yLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTVBNTI0OTQyNTgxQTEwRDAwNDYxRkU5IC8qIFdL
V2ViVmlld1RoZW1lQ29sb3IubW0gKi87IH07CiAJCTk1QjZCM0I3MjUxRUJGMkYwMEZDNDM4MiAv
KiBNZWRpYURvY3VtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTVCNkIzQjYyNTFFQkYyRjAwRkM0MzgyIC8qIE1lZGlhRG9jdW1lbnQubW0gKi87
IH07CiAJCTk5ODRGQUNDMUNGRkFGNjAwMDhEMTk4QyAvKiBXS1dlYlZpZXdUZXh0SW5wdXQubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTg0RkFDQTFD
RkZBRUVFMDA4RDE5OEMgLyogV0tXZWJWaWV3VGV4dElucHV0Lm1tICovOyB9OwpAQCAtMjYwNCw2
ICsyNjA1LDcgQEAKIAkJOTUwOTVGMUYyNjJGRkZBNTAwMDBEOTIwIC8qIFNhbXBsZWRQYWdlVG9w
Q29sb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTYW1wbGVk
UGFnZVRvcENvbG9yLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NTBFNENDMDI1
MkU3NTIzMDA3MTY1OUYgLyogaU9TU3R5bHVzU3VwcG9ydC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IGlPU1N0eWx1c1N1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk1M0FCQjM0MjVDMEQ2ODEwMDRDOEI3MyAvKiBXS1dlYlZpZXdVbmRl
clBhZ2VCYWNrZ3JvdW5kQ29sb3IubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXS1dlYlZpZXdVbmRlclBhZ2VCYWNrZ3JvdW5kQ29sb3IubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTk1OTBDMjdFMjZBMTFEMzEwMEE1RDU3NSAvKiBXZWJJbnNwZWN0
b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVyYXRpb25zLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NUE1MjQ5NDI1ODFBMTBEMDA0NjFGRTkgLyogV0tX
ZWJWaWV3VGhlbWVDb2xvci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdLV2ViVmlld1RoZW1lQ29sb3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk1QjZCM0I2MjUxRUJGMkYwMEZDNDM4MiAvKiBNZWRpYURvY3VtZW50Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVkaWFEb2N1bWVudC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTk4NEZBQ0ExQ0ZGQUVFRTAwOEQxOThDIC8qIFdLV2ViVmll
d1RleHRJbnB1dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdL
V2ViVmlld1RleHRJbnB1dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM2MzIs
NiArMzYzNCw3IEBACiAJCQkJODMwRjJFMEIyMDlBNkE3NDAwRDM2RkYxIC8qIFdlYkNvbnRlbnRQ
cm9jZXNzRGlkVGVybWluYXRlLm1tICovLAogCQkJCTU3QTc5ODU2MjI0QUIzNEUwMEE3RjZGMSAv
KiBXZWJDcnlwdG9NYXN0ZXJLZXkubW0gKi8sCiAJCQkJNUM5NzNGNUIxRjU4RUYwQTAwMzU5QzI3
IC8qIFdlYkdMUG9saWN5Lm1tICovLAorCQkJCTk1OTBDMjdFMjZBMTFEMzEwMEE1RDU3NSAvKiBX
ZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5tbSAqLywKIAkJCQk1MTcxNEVCNjFD
RjhDN0E0MDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVhbnVwLm1tICovLAogCQkJCUMx
RDhFRTIxMjAyOEU4RTMwMDhFQjE0MSAvKiBXZWJQcm9jZXNzVGVybWluYXRlLm1tICovLAogCQkJ
CTUxMjBDODNDMUU2NzUwNzkwMDI1QjI1MCAvKiBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMu
bW0gKi8sCkBAIC01ODcyLDYgKzU4NzUsNyBAQAogCQkJCTdCN0QwOTZBMjUxOUY4RjkwMDE3QTA3
OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNUM5NzNGNUMxRjU4RUY4QjAwMzU5QzI3IC8qIFdlYkdMUG9saWN5Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzFFOUJEQTEyNDdGNEM2MjAwMkU1MUEyIC8qIFdlYkdMUHJlcGFyZURpc3BsYXlP
bldlYlRocmVhZC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTk1OTBDMjdGMjZBMTFEMzEwMEE1RDU3
NSAvKiBXZWJJbnNwZWN0b3JJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RUFCMUE0MTFBMjQwMDQ0N0M0QyAvKiBXZWJLaXRBZ25vc3RpY1Rlc3QubW0g
aW4gU291cmNlcyAqLywKIAkJCQk0NDgxMTBDMjI1M0Y0MDMwMDA5N0ZDMzMgLyogV2ViUHJlZmVy
ZW5jZXNUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE3MTRFQjgxQ0Y4Q0ExNzAwNDcyM0M0
IC8qIFdlYlByb2Nlc3NLaWxsSURCQ2xlYW51cC5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0luc3BlY3RvckRlbGVn
YXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0luc3BlY3Rv
ckRlbGVnYXRlLm1tCmluZGV4IDdmM2NhZjUzNzYzYTM1MDNmODIxNmQ0Yzg0Mjg3ODliNjEyYjNm
ODguLjVkNWM3ZGM4MDliZGY2YmYzNDE0M2I5MGI5ZWVhOWIxZmFmOGE4NmYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tJbnNwZWN0b3JEZWxlZ2F0
ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSW5zcGVj
dG9yRGVsZWdhdGUubW0KQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgPFdlYktpdC9fV0tJbnNw
ZWN0b3JDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLSW5zcGVjdG9yRGVidWdn
YWJsZUluZm8uaD4KICNpbXBvcnQgPFdlYktpdC9fV0tJbnNwZWN0b3JEZWxlZ2F0ZS5oPgorI2lt
cG9ydCA8V2ViS2l0L19XS0luc3BlY3RvclByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tJ
bnNwZWN0b3JQcml2YXRlRm9yVGVzdGluZy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgog
I2ltcG9ydCA8d3RmL1NldEZvclNjb3BlLmg+CkBAIC0yMzIsMTEgKzIzMywxMSBAQCBURVNUKFdL
SW5zcGVjdG9yRGVsZWdhdGUsIFNob3dVUkxFeHRlcm5hbGx5KQogICAgIHVybFRvT3BlbiA9IFtO
U1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cHM6Ly93d3cud2Via2l0Lm9yZy8iXTsKIAogICAgIC8v
IENoZWNrIHRoZSBjYXNlIHdoZXJlIHRoZSBsb2FkIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBuYXZp
Z2F0aW9uIGRlbGVnYXRlLgotICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBfb3BlblVSTEV4dGVy
bmFsbHlGb3JUZXN0aW5nOnVybFRvT3Blbi5nZXQoKSB1c2VGcm9udGVuZEFQSTpOT107CisgICAg
W1t3ZWJWaWV3IF9pbnNwZWN0b3JdLmluc3BlY3RvcldlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmxUb09wZW4uZ2V0KCldXTsKICAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJm9wZW5VUkxFeHRlcm5hbGx5Q2FsbGVkKTsKIAogICAgIC8vIENoZWNr
IHRoZSBjYXNlIHdoZXJlIHRoZSBmcm9udGVuZCBjYWxscyBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
b3BlblVSTEV4dGVybmFsbHkoKS4KLSAgICBbW3dlYlZpZXcgX2luc3BlY3Rvcl0gX29wZW5VUkxF
eHRlcm5hbGx5Rm9yVGVzdGluZzp1cmxUb09wZW4uZ2V0KCkgdXNlRnJvbnRlbmRBUEk6WUVTXTsK
KyAgICBbW3dlYlZpZXcgX2luc3BlY3Rvcl0gX2V2YWx1YXRlSW5Gcm9udGVuZEZvclRlc3Rpbmc6
W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJJbnNwZWN0b3JGcm9udGVuZEhvc3Qub3BlblVS
TEV4dGVybmFsbHkoXCIlQFwiKSIsIFt1cmxUb09wZW4gYWJzb2x1dGVTdHJpbmddXV07CiAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZvcGVuVVJMRXh0ZXJuYWxseUNhbGxlZCk7CiB9CiAK
QEAgLTI2MSw3ICsyNjIsNyBAQCBURVNUKFdLSW5zcGVjdG9yRGVsZWdhdGUsIEluc3BlY3RvckNv
bmZpZ3VyYXRpb24pCiAKICAgICB1cmxUb09wZW4gPSBbTlNVUkwgVVJMV2l0aFN0cmluZzpAInRl
c3Rpbmc6bWFpbjEiXTsKICAgICBzaGFyZWRVUkxTY2hlbWVIYW5kbGVyLmdldCgpLmV4cGVjdGVk
VVJMID0gdXJsVG9PcGVuLmdldCgpOwotICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBfZmV0Y2hV
UkxGb3JUZXN0aW5nOnVybFRvT3Blbi5nZXQoKV07CisgICAgW1t3ZWJWaWV3IF9pbnNwZWN0b3Jd
IF9ldmFsdWF0ZUluRnJvbnRlbmRGb3JUZXN0aW5nOltOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0
OkAiZmV0Y2goXCIlQFwiKSIsIFt1cmxUb09wZW4gYWJzb2x1dGVTdHJpbmddXV07CiAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZzdGFydFVSTFNjaGVtZVRhc2tDYWxsZWQpOwogCiAgICAg
W1t3ZWJWaWV3IF9pbnNwZWN0b3JdIGNsb3NlXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2ViSW5zcGVjdG9ySW5zcGVjdGVkUGFnZU9wZXJhdGlv
bnMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYkluc3BlY3Rv
ckluc3BlY3RlZFBhZ2VPcGVyYXRpb25zLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMDMxMmZjZjFhZTYzMzZj
ZjhhMzJhNjFmN2Q4MDkzNjJhODYzODAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYkluc3BlY3Rvckluc3BlY3RlZFBhZ2VPcGVyYXRp
b25zLm1tCkBAIC0wLDAgKzEsMTE4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKworI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0
IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1VJRGVs
ZWdhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisjaW1wb3J0IDxX
ZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJ
bnNwZWN0b3IuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tJbnNwZWN0b3JDb25maWd1cmF0aW9uLmg+
CisjaW1wb3J0IDxXZWJLaXQvX1dLSW5zcGVjdG9yRGVsZWdhdGUuaD4KKyNpbXBvcnQgPFdlYktp
dC9fV0tJbnNwZWN0b3JQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLSW5zcGVjdG9yUHJp
dmF0ZUZvclRlc3RpbmcuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworI2lmIFBMQVRG
T1JNKE1BQykKKworc3RhdGljIGJvb2wgaW5zcGVjdG9yRnJvbnRlbmRMb2FkZWRDYWxsZWQgPSBm
YWxzZTsKKworc3RhdGljIFJldGFpblB0cjxpZCA8X1dLSW5zcGVjdG9yRGVsZWdhdGU+PiBzaGFy
ZWRJbnNwZWN0b3JEZWxlZ2F0ZTsKKworc3RhdGljIHZvaWQgcmVzZXRHbG9iYWxTdGF0ZSgpCit7
CisgICAgaW5zcGVjdG9yRnJvbnRlbmRMb2FkZWRDYWxsZWQgPSBmYWxzZTsKKworICAgIHNoYXJl
ZEluc3BlY3RvckRlbGVnYXRlLmNsZWFyKCk7Cit9CisKK0BpbnRlcmZhY2UgSW5zcGVjdG9yRGVs
ZWdhdGVGb3JUZXN0aW5nSW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMgOiBOU09iamVjdCA8X1dLSW5z
cGVjdG9yRGVsZWdhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBJbnNwZWN0b3JEZWxlZ2F0
ZUZvclRlc3RpbmdJbnNwZWN0ZWRQYWdlT3BlcmF0aW9ucworCistICh2b2lkKWluc3BlY3RvckZy
b250ZW5kTG9hZGVkOihfV0tJbnNwZWN0b3IgKilpbnNwZWN0b3IKK3sKKyAgICBpbnNwZWN0b3JG
cm9udGVuZExvYWRlZENhbGxlZCA9IHRydWU7Cit9CisKK0BlbmQKKworQGludGVyZmFjZSBVSURl
bGVnYXRlRm9yVGVzdGluZ0luc3BlY3RlZFBhZ2VPcGVyYXRpb25zIDogTlNPYmplY3QgPFdLVUlE
ZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFVJRGVsZWdhdGVGb3JUZXN0aW5nSW5z
cGVjdGVkUGFnZU9wZXJhdGlvbnMKKworLSAoX1dLSW5zcGVjdG9yQ29uZmlndXJhdGlvbiAqKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbmZpZ3VyYXRpb25Gb3JMb2NhbEluc3BlY3Rv
cjooX1dLSW5zcGVjdG9yICopaW5zcGVjdG9yCit7CisgICAgc2hhcmVkSW5zcGVjdG9yRGVsZWdh
dGUgPSBbSW5zcGVjdG9yRGVsZWdhdGVGb3JUZXN0aW5nSW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMg
bmV3XTsKKyAgICBbaW5zcGVjdG9yIHNldERlbGVnYXRlOnNoYXJlZEluc3BlY3RvckRlbGVnYXRl
LmdldCgpXTsKKworICAgIHJldHVybiBbX1dLSW5zcGVjdG9yQ29uZmlndXJhdGlvbiBuZXddOwor
fQorCitAZW5kCisKK1RFU1QoV2ViSW5zcGVjdG9ySW5zcGVjdGVkUGFnZU9wZXJhdGlvbnMsIE92
ZXJyaWRlU2V0dGluZ1Byb3BhZ2F0ZXNUb1dLUHJlZmVyZW5jZXMpCit7CisgICAgcmVzZXRHbG9i
YWxTdGF0ZSgpOworCisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gbmV3XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHBy
ZWZlcmVuY2VzXS5fZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCA9IFlFUzsKKyAgICBbd2ViVmlld0Nv
bmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyA9IFlFUzsK
KworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29u
ZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgRVhQRUNUX1RSVUUoW3dlYlZpZXcgY29uZmlndXJh
dGlvbl0ucHJlZmVyZW5jZXMuX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKTsKKworICAgIGF1dG8g
dWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1VJRGVsZWdhdGVGb3JUZXN0aW5nSW5zcGVjdGVkUGFnZU9w
ZXJhdGlvbnMgbmV3XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdl
dCgpXTsKKworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiPGhlYWQ+PHRpdGxlPlRlc3Qg
cGFnZSB0byBiZSBpbnNwZWN0ZWQ8L3RpdGxlPjwvaGVhZD48Ym9keT48cD5GaWxsZXIgY29udGVu
dDwvcD48L2JvZHk+IiBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiaHR0cDovL2V4YW1w
bGUuY29tLyJdXTsKKworICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBzaG93XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmluc3BlY3RvckZyb250ZW5kTG9hZGVkQ2FsbGVkKTsKKwor
ICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGluZzpA
IldJLm1haW5UYXJnZXQuUGFnZUFnZW50Lm92ZXJyaWRlU2V0dGluZyhJbnNwZWN0b3JCYWNrZW5k
LkVudW0uUGFnZS5TZXR0aW5nLk5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBmYWxzZSkiXTsKKyAg
ICB3aGlsZSAoW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ucHJlZmVyZW5jZXMuX25lZWRzU2l0ZVNw
ZWNpZmljUXVpcmtzKQorICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjAxKTsK
KworICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGlu
ZzpAIldJLm1haW5UYXJnZXQuUGFnZUFnZW50Lm92ZXJyaWRlU2V0dGluZyhJbnNwZWN0b3JCYWNr
ZW5kLkVudW0uUGFnZS5TZXR0aW5nLk5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKSJdOworICAgIHdo
aWxlICghW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ucHJlZmVyZW5jZXMuX25lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzKQorICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjAxKTsKKwor
ICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBfZXZhbHVhdGVJbkZyb250ZW5kRm9yVGVzdGluZzpA
IldJLm1haW5UYXJnZXQuUGFnZUFnZW50Lm92ZXJyaWRlU2V0dGluZyhJbnNwZWN0b3JCYWNrZW5k
LkVudW0uUGFnZS5TZXR0aW5nLk5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBmYWxzZSkiXTsKKyAg
ICB3aGlsZSAoW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ucHJlZmVyZW5jZXMuX25lZWRzU2l0ZVNw
ZWNpZmljUXVpcmtzKQorICAgICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgwLjAxKTsK
KworICAgIFtbd2ViVmlldyBfaW5zcGVjdG9yXSBjbG9zZV07CisgICAgd2hpbGUgKCFbd2ViVmll
dyBjb25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5fbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MpCisg
ICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDAuMDEpOworfQorCisjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQo=
</data>
<flag name="review"
          id="456014"
          type_id="1"
          status="?"
          setter="hi"
    />
          </attachment>
      

    </bug>

</bugzilla>