<?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>189433</bug_id>
          
          <creation_ts>2018-09-07 14:41:17 -0700</creation_ts>
          <short_desc>Touch Bar displays an active PIP button for audio elements (and it doesn&apos;t do anything)</short_desc>
          <delta_ts>2018-09-10 10:20:35 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Matt Rajca">mrajca</assigned_to>
          <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1457690</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-07 14:41:17 -0700</bug_when>
    <thetext>When playing an audio element, the media Touch Bar displays an active PIP button even though only videos are PIP-able. Pressing it does not do anything. It seems like canTogglePictureInPicture is set to YES unconditionally on the WebPlaybackControlsManager. It should be set based on the media type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457691</commentid>
    <comment_count>1</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-07 14:41:50 -0700</bug_when>
    <thetext>&lt;rdar://problem/44186498&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457713</commentid>
    <comment_count>2</comment_count>
      <attachid>349199</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-07 14:59:26 -0700</bug_when>
    <thetext>Created attachment 349199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457724</commentid>
    <comment_count>3</comment_count>
      <attachid>349206</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-07 15:25:22 -0700</bug_when>
    <thetext>Created attachment 349206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457734</commentid>
    <comment_count>4</comment_count>
      <attachid>349209</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-07 15:40:01 -0700</bug_when>
    <thetext>Created attachment 349209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457773</commentid>
    <comment_count>5</comment_count>
      <attachid>349216</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-07 16:40:41 -0700</bug_when>
    <thetext>Created attachment 349216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457806</commentid>
    <comment_count>6</comment_count>
      <attachid>349216</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-09-07 17:46:48 -0700</bug_when>
    <thetext>Comment on attachment 349216
Patch

Very nice, thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458151</commentid>
    <comment_count>7</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2018-09-10 10:20:35 -0700</bug_when>
    <thetext>Committed r235850: &lt;https://trac.webkit.org/changeset/235850&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349199</attachid>
            <date>2018-09-07 14:59:26 -0700</date>
            <delta_ts>2018-09-07 15:25:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189433-20180907145925.patch</filename>
            <type>text/plain</type>
            <size>33242</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NlZTQ1MmNhOThmNGIw
NjhjMGVkZWU5MTA2MmQyOThhMWU2MThjNC4uMDA1NjNjYzBiZGY0YjU1NTRmYjBmODc5ZTMxNDNk
YTVkMjAyOTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA5LTA3ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMg
YW4gYWN0aXZlIFBJUCBidXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBk
byBhbnl0aGluZykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBk
aXNwbGF5cyBhbiBhY3RpdmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBk
b2Vzbid0IGRvIGFueXRoaW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdoZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91
Y2ggQmFyIGRpc3BsYXlzIGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAg
ICAgICAgdmlkZW9zIGFyZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhp
bmcuIFRoZSBpc3N1ZSBpcyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAg
ICB0byBZRVMgdW5jb25kaXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdl
ci4gSXQgaXMgdGhlbiBvbmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBu
b3QgZXh0ZXJuYWwgcGxheWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4
dGVuZHMgdGhhdCBsb2dpYyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBC
YXIgYnV0dG9uIHdpbGwgYmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBT
aW5jZSBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93
IHdoZXRoZXIgd2UncmUgZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVs
ZW1lbnQsIGEgbmV3IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFk
ZGVkIChhcyB3ZWxsIGFzCisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRo
ZSBzdGF0ZSBvdmVyIGZyb20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVz
dCBoYXMgYmVlbiBhZGRlZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUgYW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBl
bGVtZW50cyBhcmUgcGxheWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRl
ZCB0byB0aGUgV0tUZXN0aW5nIGNhdGVnb3J5LgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
UGxheWJhY2tTZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ2xpZW50Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OnNldE1lZGlhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6aXNQaWN0dXJlSW5QaWN0dXJl
U3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VNYWM6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJD
YW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKToKKwogMjAxOC0wOS0wNyAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkgZG9lcyBub3Qg
dGhyb3cgYSBTWU5UQVhfRVJSIGV4Y2VwdGlvbiBpZiBtZXRob2QgaXMgZW1wdHkgb3IgdXJsIGNh
bm5vdCBiZSByZXNvbHZlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3N2NjZTk0NTRkZmVkZWI4ZmZlZGUxN2ExNzE2
MWUwZjE5MzRhNmI5Li5kNDI4N2NkNDBkZjRkN2I1OGM4N2U2YzkzMjcyNDU3MGQ5MGZjNjQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA5LTA3ICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMgYW4gYWN0aXZlIFBJUCBi
dXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBkbyBhbnl0aGluZykKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQzMworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBkaXNwbGF5cyBhbiBhY3Rp
dmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBkb2Vzbid0IGRvIGFueXRo
aW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91Y2ggQmFyIGRpc3BsYXlz
IGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAgICAgICAgdmlkZW9zIGFy
ZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhpbmcuIFRoZSBpc3N1ZSBp
cyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAgICB0byBZRVMgdW5jb25k
aXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci4gSXQgaXMgdGhlbiBv
bmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBub3QgZXh0ZXJuYWwgcGxh
eWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4dGVuZHMgdGhhdCBsb2dp
YyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBCYXIgYnV0dG9uIHdpbGwg
YmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBTaW5jZSBQbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93IHdoZXRoZXIgd2UncmUg
ZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVsZW1lbnQsIGEgbmV3IGlz
UGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFkZGVkIChhcyB3ZWxsIGFz
CisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRoZSBzdGF0ZSBvdmVyIGZy
b20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVzdCBoYXMgYmVlbiBhZGRl
ZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUg
YW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBlbGVtZW50cyBhcmUgcGxh
eWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgV0tUZXN0
aW5nIGNhdGVnb3J5LgorCisgICAgICAgIFNvdXJjZS9XZWJLaXQ6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfY2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRD
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpw
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAg
IChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZENoYW5nZWQpOgorCiAyMDE4LTA5LTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEFsbG93IFdlYkNvbnRlbnQgYWNjZXNzIHRvIEFWQ1N1cHBvcnRl
ZCBJT0tpdCBwcm9wZXJ0eSBpbiBzYW5kYm94CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaAppbmRleCBlZmYwMThlMDMzNDBjZDY2
MGRkMmFiMWRlNTZjYjFhN2YxYjkxMWU1Li5jNDNmNzMyZmQ2NDNkZDlmZGJhZDNjYTU3ZmE5MTdh
OGZhMjVhNDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1vZGVsLmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNNdXRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2b2x1
bWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlQWN0
aXZlKCkgY29uc3QgPSAwOwogfTsKIApAQCAtMTA1LDYgKzEwNiw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaXNQaWN0dXJl
SW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGlj
dHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVu
c3VyZUNvbnRyb2xzTWFuYWdlcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5oCmluZGV4IGY3NDIwYjM0YmI5ZjllYTY1NDA2NTBhY2IzY2IyMjM3MmU2ODQ4MmYuLjllZWZk
MTBmMmEzZGNlZWFkMTE5NGVjOTQ4NTMxMzk0ODQ3MjM3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaApAQCAtOTUsNiArOTUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3aXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNNdXRlZCgp
IGNvbnN0IGZpbmFsOwogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29s
IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNQ
aWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3QgZmluYWw7CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggYTE5MGQ2OGQ3ZWVmYTlhYjRlMDI3YmU4
ZTRhOGNmYTY1MDc2ZDc3OC4uYzAxNzkyMTc1ZGQzM2QyOWZhMzg0YTVlOTcyNTUwNTI0NzM5ZDUx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTEwMSw2ICsxMDEsOSBA
QCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNZWRpYUVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbAogICAgIH0KIAogICAgIHVwZGF0ZUZvckV2ZW50TmFt
ZShldmVudE5hbWVBbGwoKSk7CisKKyAgICBmb3IgKGF1dG8gY2xpZW50IDogbV9jbGllbnRzKQor
ICAgICAgICBjbGllbnQtPmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoaXNQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgV2ViQ29yZTo6RXZlbnQmIGV2ZW50KQpAQCAtNTczLDYgKzU3NiwxMSBAQCBkb3VibGUgUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnZvbHVtZSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fbWVkaWFFbGVtZW50ID8gbV9tZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDogMDsKIH0KIAorYm9v
bCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxl
bWVudC0+aXNWaWRlbygpIDogZmFsc2U7Cit9CisKIGJvb2wgUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQ6OmlzUGljdHVyZUluUGljdHVyZUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX21lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaAppbmRleCA5YWE5NTVmYzQ0ZmE0Yzg0
YjllNGEwZjY2YTk0M2FhNWI4NGIyOWU4Li5lN2RiMzk3Y2NlNDBmZDViZGNjNGY1YWYyNmU3YmYz
Mjc0MTlmNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCkBAIC02MiwxMiArNjIsMTUgQEAgcHVibGlj
OgogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCkgZmlu
YWw7CiAgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3Qp
IGZpbmFsOwogICAgIHZvaWQgZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCAvKiBlbmFibGVk
ICovLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNv
bnN0IFN0cmluZyYgLyogbG9jYWxpemVkRGV2aWNlTmFtZSAqLykgZmluYWw7CisgICAgdm9pZCBp
c1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpIGZpbmFsOwogCiAgICAgdm9p
ZCBpbnZhbGlkYXRlKCk7CiAgICAgdm9pZCBlbnN1cmVDb250cm9sc01hbmFnZXIoKTsKICNpZiBF
TkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCiAgICAgdm9pZCBzZXRQbGF5QmFj
a0NvbnRyb2xzTWFuYWdlcihXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciAqKTsKICAgICBXZWJQ
bGF5YmFja0NvbnRyb2xzTWFuYWdlciAqcGxheUJhY2tDb250cm9sc01hbmFnZXIoKTsKKworICAg
IHZvaWQgdXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlKCk7CiAjZW5kaWYKICAgICB2b2lkIGJlZ2luU2NydWJiaW5nKCk7CiAgICAgdm9pZCBlbmRT
Y3J1YmJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCmluZGV4IDYwMmVkZGJhNTFmY2UxMTM5M2Ri
Y2U0NDVmYmI4NjA4NjY0OGM5NjcuLmI4NjI2NmQ0ZTMzZDAwN2JmZDc4YTZmZTUzM2M3ZjUzODZk
MzkzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQpAQCAtMTg0LDEyICsxODQsMTcgQEAgdm9pZCBQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hh
bmdlZCh1aW50NjRfdCBzZWwKICNlbmRpZgogfQogCi12b2lkIFBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYzo6ZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nl
c3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpCit2
b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dGVkQ2hhbmdlZChib29sKQogewogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFO
QUdFUikKLSAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRDYW5Ub2dnbGVQaWN0dXJl
SW5QaWN0dXJlOiFlbmFibGVkXTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwor
ICAgIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9nZ2xlUGljdHVyZUluUGljdHVy
ZSgpOworI2VuZGlmCit9CisKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpleHRl
cm5hbFBsYXliYWNrQ2hhbmdlZChib29sLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQ
bGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpCit7CisjaWYgRU5BQkxFKFdFQl9QTEFZ
QkFDS19DT05UUk9MU19NQU5BR0VSKQorICAgIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZSgpOwogI2VuZGlmCiB9CiAKQEAgLTIzNyw2ICsyNDIs
MTcgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnNldFBsYXlCYWNrQ29udHJv
bHNNYW5hZ2VyKFdlYlBsYXliYWNrQ29udHJvbHMKICAgICBbbWFuYWdlciBzZXRMZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zOm1fcGxheWJhY2tTZXNzaW9uTW9kZWwtPmxlZ2libGVNZWRpYVNl
bGVjdGlvbk9wdGlvbnMoKSB3aXRoU2VsZWN0ZWRJbmRleDpzdGF0aWNfY2FzdDxOU1VJbnRlZ2Vy
PihtX3BsYXliYWNrU2Vzc2lvbk1vZGVsLT5sZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KCkpXTsK
IH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnVwZGF0ZVBsYXliYWNrQ29u
dHJvbHNNYW5hZ2VyQ2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZSgpCit7CisgICAgUGxheWJhY2tT
ZXNzaW9uTW9kZWwqIG1vZGVsID0gcGxheWJhY2tTZXNzaW9uTW9kZWwoKTsKKyAgICBpZiAoIW1v
ZGVsKSB7CisgICAgICAgIFtwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigpIHNldENhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmU6Tk9dOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3BsYXlC
YWNrQ29udHJvbHNNYW5hZ2VyKCkgc2V0Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZTptb2RlbC0+
aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkgJiYgIW1vZGVsLT5leHRlcm5hbFBsYXliYWNr
RW5hYmxlZCgpXTsKK30KKwogdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnVwZGF0
ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVGltaW5nKGRvdWJsZSBjdXJyZW50VGltZSwgZG91Ymxl
IGFuY2hvclRpbWUsIGRvdWJsZSBwbGF5YmFja1JhdGUsIGJvb2wgaXNQbGF5aW5nKQogewogICAg
IFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyICptYW5hZ2VyID0gcGxheUJhY2tDb250cm9sc01h
bmFnZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCmluZGV4IDY2YzI4ZWJmZmNkNTIzYjcwNDVjMTVhZGIyNzU0ZjQyYTBjZDgyNDMuLjhjMWY2
MDcyOTBkN2VlZmY0YTMzMTZhNjAwMmM5NTFkZTAxOGQ2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNjQ5NSw2ICs2NDk1LDE1IEBA
IC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRpbmcK
ICAgICBfcGFnZS0+c2V0RGVmZXJzTG9hZGluZ0ZvclRlc3RpbmcoZGVmZXJzTG9hZGluZyk7CiB9
CiAKKyNpZiBIQVZFKFRPVUNIX0JBUikKKworLSAoQk9PTClfY2FuVG9nZ2xlUGljdHVyZUluUGlj
dHVyZUZvclRlc3RpbmcKK3sKKyAgICByZXR1cm4gX2ltcGwtPmNhblRvZ2dsZVBpY3R1cmVJblBp
Y3R1cmVGb3JUZXN0aW5nKCk7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFRPVUNIX0JBUikKKwogLSAo
X1dLSW5zcGVjdG9yICopX2luc3BlY3RvcgogewogICAgIGlmIChhdXRvKiBpbnNwZWN0b3IgPSBf
cGFnZS0+aW5zcGVjdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCA2ZDFjYjFkZjBkNDNlZTIzYmNjMDgxMmNl
ODRjMWU2ZmMyN2E3ZDczLi4zYTQ1MTYyN2JjMmRjYTY1ZTI0NGEzZWZlMzYyM2Y2NTBkZjUzY2Nk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKQEAgLTQ3Miw2ICs0NzIsMTAgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUlu
dGVnZXIsIF9XS1JlY3RFZGdlKSB7CiAtIChCT09MKV9jb21wbGV0ZUJhY2tTd2lwZUZvclRlc3Rp
bmc7CiAtICh2b2lkKV9zZXREZWZlcnNMb2FkaW5nRm9yVGVzdGluZzooQk9PTClkZWZlcnNMb2Fk
aW5nOwogCisjaWYgSEFWRShUT1VDSF9CQVIpCistIChCT09MKV9jYW5Ub2dnbGVQaWN0dXJlSW5Q
aWN0dXJlRm9yVGVzdGluZzsKKyNlbmRpZgorCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25s
eSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXgg
NjhhODhiNTQ1MTU3OWU4ODI0Y2FkMWVkZTg4OWY1ZjViMjA2YWQzNC4uYTI3NzNlNmY5ZjIzYmEy
NjY0ODc1YjVlODE5YTI3MmNlNzU0MzU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKQEAgLTg1
LDYgKzg1LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJs
ZWRDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgbXV0ZWRDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQg
dm9sdW1lQ2hhbmdlZChkb3VibGUpOworICAgIHZvaWQgcGljdHVyZUluUGljdHVyZVN1cHBvcnRl
ZENoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBwaWN0dXJlSW5QaWN0dXJlQWN0aXZlQ2hhbmdlZChi
b29sKTsKIAogcHJpdmF0ZToKQEAgLTEzNiw2ICsxMzcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wg
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3dp
cmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOyB9CiAgICAgYm9vbCBpc011dGVkKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9tdXRlZDsgfQogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX3ZvbHVtZTsgfQorICAgIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dGVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9waWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkOyB9
CiAgICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVBY3RpdmUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX3BpY3R1cmVJblBpY3R1cmVBY3RpdmU7IH0KIAogICAgIFBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eSogbV9tYW5hZ2VyOwpAQCAtMTYzLDYgKzE2NSw3IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
bXV0ZWQgeyBmYWxzZSB9OwogICAgIGRvdWJsZSBtX3ZvbHVtZSB7IDAgfTsKKyAgICBib29sIG1f
cGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3BpY3R1cmVJ
blBpY3R1cmVBY3RpdmUgeyBmYWxzZSB9OwogfTsKIApAQCAtMjEzLDYgKzIxNiw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UodWludDY0X3Qs
IFN0cmluZykgY29uc3Q7CiAgICAgdm9pZCBtdXRlZENoYW5nZWQodWludDY0X3QgY29udGV4dElk
LCBib29sIG11dGVkKTsKICAgICB2b2lkIHZvbHVtZUNoYW5nZWQodWludDY0X3QgY29udGV4dElk
LCBkb3VibGUgdm9sdW1lKTsKKyAgICB2b2lkIHBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFu
Z2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBwaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKTsK
ICAgICB2b2lkIHBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgYm9vbCBwaWN0dXJlSW5QaWN0dXJlQWN0aXZlKTsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIFBs
YXliYWNrU2Vzc2lvbk1hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgppbmRleCBiMTUxYzljYTNlNjExNjljOWNjNDZmNzc2NTE4NjVmMjhmZGY2Njc0Li5iMzFi
NTgyMTI2Mzg1OWRiMzc0NTYzYTk5NzQ4NTBiNmU4ODgxNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zOCw2ICszOCw3IEBAIG1lc3NhZ2VzIC0+IFBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSB7CiAgICAgUmF0ZUNoYW5nZWQodWludDY0X3QgY29u
dGV4dElkLCBib29sIGlzUGxheWluZywgZG91YmxlIHJhdGUpCiAgICAgTXV0ZWRDaGFuZ2VkKHVp
bnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCk7CiAgICAgVm9sdW1lQ2hhbmdlZCh1aW50NjRf
dCBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpOworICAgIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJRCwgYm9vbCBwaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dGVkKQogICAgIFBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgYm9vbCBwaWN0dXJlSW5QaWN0dXJlQWN0aXZlKQogICAgIFNldFVwUGxheWJhY2tDb250cm9s
c01hbmFnZXJXaXRoSUQodWludDY0X3QgY29udGV4dElkKQogICAgIENsZWFyUGxheWJhY2tDb250
cm9sc01hbmFnZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCmluZGV4IDYzMDRiZTdlOGNlNmVk
ODg5Yjk0ZjdlNTJjZjUwNGE4ZGViMWU1NDMuLmRjMzYxNzFiN2I0MWY2MmVhZTRiZTNkZmQzZWUz
Y2RmOWUzYzA2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KQEAgLTI3Niw2ICsyNzYsMTMg
QEAgdm9pZCBQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnZvbHVtZUNoYW5nZWQoZG91Ymxl
IHZvbHVtZSkKICAgICAgICAgY2xpZW50LT52b2x1bWVDaGFuZ2VkKHZvbHVtZSk7CiB9CiAKK3Zv
aWQgUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpwaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVk
Q2hhbmdlZChib29sIHN1cHBvcnRlZCkKK3sKKyAgICBtX3BpY3R1cmVJblBpY3R1cmVTdXBwb3J0
ZWQgPSBzdXBwb3J0ZWQ7CisgICAgZm9yIChhdXRvKiBjbGllbnQgOiBtX2NsaWVudHMpCisgICAg
ICAgIGNsaWVudC0+aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChzdXBwb3J0ZWQp
OworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6cGljdHVyZUluUGljdHVy
ZUFjdGl2ZUNoYW5nZWQoYm9vbCBhY3RpdmUpCiB7CiAgICAgbV9waWN0dXJlSW5QaWN0dXJlQWN0
aXZlID0gYWN0aXZlOwpAQCAtNDc4LDYgKzQ4NSwxMSBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6cmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWlu
ZwogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkucmF0ZUNoYW5nZWQoaXNQbGF5aW5nLCByYXRl
KTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnBpY3R1cmVJblBpY3R1
cmVTdXBwb3J0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBzdXBwb3J0ZWQpCit7
CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5waWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hh
bmdlZChzdXBwb3J0ZWQpOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
cGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGFj
dGl2ZSkKIHsKICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnBpY3R1cmVJblBpY3R1cmVBY3Rp
dmVDaGFuZ2VkKGFjdGl2ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwuaAppbmRleCA3OTZjOTI4ZDA5MWMwYTY2Yjk4YjRjZTI3MjE5NTVjNGIwM2YzMmIzLi5k
OTY0ZDUwOWQ5MGJkMzAzOGFjOWU1OGMzOWZlMjcyYmNhMTdhOGYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAgLTU1OSw2ICs1NTksOCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHVwZGF0ZVRvdWNoQmFyQW5kUmVmcmVzaFRleHRCYXJJZGVudGlmaWVy
cygpOwogICAgIHZvaWQgc2V0SXNDdXN0b21pemluZ1RvdWNoQmFyKGJvb2wgaXNDdXN0b21pemlu
Z1RvdWNoQmFyKSB7IG1faXNDdXN0b21pemluZ1RvdWNoQmFyID0gaXNDdXN0b21pemluZ1RvdWNo
QmFyOyB9OworCisgICAgYm9vbCBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZygp
OwogI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQogCiAgICAgYm9vbCBiZWdpbkJhY2tTd2lwZUZv
clRlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0KaW5kZXggNTUyZDY1MDVkMjUzOGI4NmM1ZmNlZWU3N2Q5NTBiYThjMjVhNDAwNi4uYTA3YjZi
NjBmMTVjYTk2NWNiZTQzMWViZTU1NzM5YzZiYWY1NmI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTEyMzUsMTEgKzEyMzUsMTMgQEAgdm9p
ZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcigpCiAgICAgaWYgKCFtX3BsYXliYWNr
Q29udHJvbHNNYW5hZ2VyKSB7CiAgICAgICAgIG1fcGxheWJhY2tDb250cm9sc01hbmFnZXIgPSBh
ZG9wdE5TKFtbV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIgYWxsb2NdIGluaXRdKTsKICAgICAg
ICAgW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZVBs
YXliYWNrOm1fcGFnZS0+cHJlZmVyZW5jZXMoKS5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQ
bGF5YmFjaygpXTsKLSAgICAgICAgW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgc2V0Q2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZTpZRVNdOworICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFu
YWdlciBzZXRDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlOk5PXTsKICAgICB9CiAKLSAgICBpZiAo
UGxhdGZvcm1QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2UqIGludGVyZmFjZSA9IG1fcGFnZS0+cGxh
eWJhY2tTZXNzaW9uTWFuYWdlcigpLT5jb250cm9sc01hbmFnZXJJbnRlcmZhY2UoKSkKKyAgICBp
ZiAoUGxhdGZvcm1QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2UqIGludGVyZmFjZSA9IG1fcGFnZS0+
cGxheWJhY2tTZXNzaW9uTWFuYWdlcigpLT5jb250cm9sc01hbmFnZXJJbnRlcmZhY2UoKSkgewog
ICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VNYWM6aW50ZXJmYWNlXTsKKyAgICAgICAgaW50ZXJmYWNlLT51cGRhdGVQbGF5YmFja0Nv
bnRyb2xzTWFuYWdlckNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKTsKKyAgICB9CiAKICAgICBb
bV9tZWRpYVRvdWNoQmFyUHJvdmlkZXIgc2V0UGxheWJhY2tDb250cm9sc0NvbnRyb2xsZXI6bV9w
bGF5YmFja0NvbnRyb2xzTWFuYWdlci5nZXQoKV07CiAgICAgW21fbWVkaWFQbGF5YmFja0NvbnRy
b2xzVmlldyBzZXRQbGF5YmFja0NvbnRyb2xzQ29udHJvbGxlcjptX3BsYXliYWNrQ29udHJvbHNN
YW5hZ2VyLmdldCgpXTsKQEAgLTEyNzUsNiArMTI3NywxNSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1
cGRhdGVNZWRpYVRvdWNoQmFyKCkKICNlbmRpZgogfQogCisjaWYgSEFWRShUT1VDSF9CQVIpCisK
K2Jvb2wgV2ViVmlld0ltcGw6OmNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nKCkK
K3sKKyAgICByZXR1cm4gW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIgY2FuVG9nZ2xlUGljdHVy
ZUluUGljdHVyZV07Cit9CisKKyNlbmRpZiAvLyBIQVZFKFRPVUNIX0JBUikKKwogdm9pZCBXZWJW
aWV3SW1wbDo6Zm9yY2VSZXF1ZXN0Q2FuZGlkYXRlc0ZvclRlc3RpbmcoKQogewogICAgIG1fY2Fu
Q3JlYXRlVG91Y2hCYXJzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlblZpZXdDb250cm9sbGVyLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xs
ZXIubW0KaW5kZXggZDg4ZDYzZDg2ZTdlMDZlZGRjYWFmNjY2NjRlYWZmMmFmMzU1MzY2Mi4uMGZj
Mzg4NTUwY2FmZTRmM2NhNzIxOTY5ZjA5NDY0Njk1OTAzZTY3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xs
ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxs
U2NyZWVuVmlld0NvbnRyb2xsZXIubW0KQEAgLTY1LDYgKzY1LDEwIEBAIHB1YmxpYzoKICAgICAg
ICAgbV9wYXJlbnQucGxheWluZyA9IGlzUGxheWluZzsKICAgICB9CiAKKyAgICB2b2lkIHBpY3R1
cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpIG92ZXJyaWRlCisgICAgeworICAgIH0K
KwogICAgIHZvaWQgcGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYm9vbCBhY3RpdmUpIG92
ZXJyaWRlCiAgICAgewogICAgICAgICBtX3BhcmVudC5waWN0dXJlSW5QaWN0dXJlQWN0aXZlID0g
YWN0aXZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXli
YWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5
YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5kZXggMWE4NTc2MjY5OTExMzliNjlkZTZjODMxMDEwNTUx
MTQ5N2UyOTJhYS4uZjBkZTYyYjhkYjA1YTM3ZWFlN2Q5NzJiYTY2ZmJjNTg3ZTMyNDBmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlci5oCkBAIC04OSw2ICs4OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB3aXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQoYm9vbCkgZmluYWw7CiAgICAgdm9pZCBtdXRl
ZENoYW5nZWQoYm9vbCkgZmluYWw7CiAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkKGRvdWJsZSkgZmlu
YWw7CisgICAgdm9pZCBpc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpIGZp
bmFsOwogCiAgICAgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dChQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyJiwgdWludDY0X3QgY29udGV4dElkKTsKIApAQCAtMTQzLDYgKzE0NCw3IEBAIHBy
b3RlY3RlZDoKICAgICB2b2lkIHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZCh1
aW50NjRfdCBjb250ZXh0SWQsIGJvb2wpOwogICAgIHZvaWQgbXV0ZWRDaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgYm9vbCk7CiAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRl
eHRJZCwgZG91YmxlKTsKKyAgICB2b2lkIGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5n
ZWQodWludDY0X3QgY29udGV4dElkLCBib29sKTsKIAogICAgIC8vIE1lc3NhZ2VzIGZyb20gUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5CiAgICAgdm9pZCBwbGF5KHVpbnQ2NF90IGNvbnRleHRJ
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLm1tCmluZGV4IDA4ODQ5NGJiNjdhYjQ5ZGViNGJjMjcwOGRkYjNiNDBk
NjBiYTIxNTYuLmQwYWVjMjVlOTJlOTdjMjg1MmI5NmRkMzVmYzQxNjcxNjYyZDhkODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Np
b25NYW5hZ2VyLm1tCkBAIC0xNTQsNiArMTU0LDEyIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlQ29udGV4dDo6bXV0ZWRDaGFuZ2VkKGJvb2wgbXV0ZWQpCiAgICAgICAgIG1fbWFuYWdl
ci0+bXV0ZWRDaGFuZ2VkKG1fY29udGV4dElkLCBtdXRlZCk7CiB9CiAKK3ZvaWQgUGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdl
ZChib29sIHN1cHBvcnRlZCkKK3sKKyAgICBpZiAobV9tYW5hZ2VyKQorICAgICAgICBtX21hbmFn
ZXItPmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQobV9jb250ZXh0SWQsIHN1cHBv
cnRlZCk7Cit9CisKIHZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6dm9sdW1l
Q2hhbmdlZChkb3VibGUgdm9sdW1lKQogewogICAgIGlmIChtX21hbmFnZXIpCkBAIC00MDIsNiAr
NDA4LDExIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6dm9sdW1lQ2hhbmdlZCh1aW50
NjRfdCBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlZvbHVtZUNoYW5nZWQoY29udGV4dElkLCB2
b2x1bWUpKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjppc1BpY3R1cmVJblBp
Y3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBzdXBwb3J0ZWQp
Cit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHk6OlBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGNvbnRleHRJZCwgc3VwcG9ydGVk
KSk7Cit9CisKICNwcmFnbWEgbWFyayBNZXNzYWdlcyBmcm9tIFBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eToKIAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpwbGF5KHVpbnQ2NF90IGNv
bnRleHRJZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAzYWQyYjIxM2M5N2ZlN2JmYzMyYWNkM2I1NjI1MDg2NjdiZGQ0MDM5Li4yOGMyOGRiODEy
MDIzMzNkZDI2ZTA4MTBkNWE5Nzg4NTEyN2MzNTRkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDktMDcgIE1h
dHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0MzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0
MTg2NDk4PiBUb3VjaCBCYXIgZGlzcGxheXMgYW4gYWN0aXZlIFBJUCBidXR0b24gZm9yIGF1ZGlv
IGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBkbyBhbnl0aGluZykKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbiBBUEkgdGVzdCBoYXMgYmVlbiBhZGRl
ZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUg
YW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBlbGVtZW50cyBhcmUgcGxh
eWluZy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW06CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL2F1ZGlvLXdpdGgtY29udHJvbHMuaHRtbDogQWRkZWQuCisKIDIwMTgtMDktMDcg
IEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1NPTSBWaWV3
XSBIYW5kbGUgdGhlIHNjcm9sbGluZ0VsZW1lbnQgaW4gRWxlbWVudDo6c2Nyb2xsKExlZnQvVG9w
L1dpZHRoL0hlaWdodC9UbykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGNiNWVjY2E0YzRh
NzE5MGNkMWUzNGVhYzZmMTQ0MWM5YjdkMTVjNC4uZjc0NGQ1ODI3MjJjMzA5MDBhMzZkMTM0ODhj
MWM4YTQ5MWYzMzg0NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcwMCw2ICs3MDAsNyBA
QAogCQlDNTQwRjc4NDE1MkU1QTlBMDBBNDBDOEMgLyogdmVyYm9zZU1hcmt1cC5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NDBGNzgz
MTUyRTVBNzgwMEE0MEM4QyAvKiB2ZXJib3NlTWFya3VwLmh0bWwgKi87IH07CiAJCUM1NDIzN0Yx
MTZCODk1N0QwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU0MjM3RUQxNkI4
OTU1ODAwRTYzOEZDIC8qIFBhc3RlYm9hcmROb3RpZmljYXRpb25zX0J1bmRsZS5jcHAgKi87IH07
CiAJCUM1RTFBRkZFMTZCMjIxRjEwMDZDQzFGMiAvKiBleGVjQ29weS5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1RTFBRkZEMTZCMjIx
NzkwMDZDQzFGMiAvKiBleGVjQ29weS5odG1sICovOyB9OworCQlDOTQ0MTYwMDIxNDMwRTg5MDBC
MUVEREEgLyogYXVkaW8td2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NDQxNUZGMjE0MzBCNjcwMEIxRUREQSAv
KiBhdWRpby13aXRoLWNvbnRyb2xzLmh0bWwgKi87IH07CiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJD
MEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRv
cGxheS1jaGVjay5odG1sICovOyB9OwogCQlDOTU5ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0
b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3Bs
YXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1
IC8qIHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8q
IHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQgKi87IH07CkBAIC05NDcsNiArOTQ4LDcgQEAK
IAkJCQk3QzlFRDk4QjE3QTE5RjRCMDBFNERDMzMgLyogYXR0cmlidXRlZFN0cmluZ1N0cmlrZXRo
cm91Z2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkzNzEzN0U0QjIxMTI0RDAxMDAy
QkVFQTQgLyogQXR0clN0eWxlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQ0Q5RTI5
MkUxQzkwQzMzRjAwMEJCODAwIC8qIGF1ZGlvLW9ubHkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKKwkJCQlDOTQ0MTYwMDIxNDMwRTg5MDBCMUVEREEgLyogYXVkaW8td2l0aC1jb250cm9scy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNENTc3NzlDMjExQ0U5MUYwMDFCMzcxRSAv
KiBhdWRpby13aXRoLXdlYi1hdWRpby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTc2
RTE4MkRGMTU0NzY3RTYwMEYxRkFERCAvKiBhdXRvLXN1Ym1pdHRpbmctZm9ybS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLAogCQkJCUY0MUFCOTlGMUVGNDY5NkIwMDgzRkEwOCAvKiBhdXRvZm9j
dXMtY29udGVudGVkaXRhYmxlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC0xOTE3LDYg
KzE5MTksNyBAQAogCQlDNTQyMzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlm
aWNhdGlvbnNfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhc3RlYm9hcmROb3RpZmljYXRpb25zX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUM1NDIzN0VFMTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0
aW9ucy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhc3RlYm9h
cmROb3RpZmljYXRpb25zLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNUUxQUZG
RDE2QjIyMTc5MDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9IGV4ZWNDb3B5Lmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5NDQx
NUZGMjE0MzBCNjcwMEIxRUREQSAvKiBhdWRpby13aXRoLWNvbnRyb2xzLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXVkaW8td2l0aC1jb250cm9scy5odG1sIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1NTAxQkUxOUFEMkZBRjAwNDlCRTNFIC8qIFByZWZlcmVu
Y2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5j
ZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5NTk4NEYyMUUzNkJDNTUwMDJD
MEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0g
ImF1dG9wbGF5LWNoZWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU5
ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRvcGxheS1uby1hdWRpby1jaGVjay5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI2MjEsNiArMjYyNCw3IEBACiAJCQkJNUM5
RTU5NDAxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUuZGItd2FsICovLAogCQkJ
CUY0ODU2Q0EyMUU2NDk4QTgwMDlEN0VFNyAvKiBhdHRhY2htZW50LWVsZW1lbnQuaHRtbCAqLywK
IAkJCQkzNzYwQzRGMjIxMTI0QkQwMDAyMzNBQ0MgLyogQXR0clN0eWxlLmh0bWwgKi8sCisJCQkJ
Qzk0NDE1RkYyMTQzMEI2NzAwQjFFRERBIC8qIGF1ZGlvLXdpdGgtY29udHJvbHMuaHRtbCAqLywK
IAkJCQlDRDU3Nzc5QTIxMUNFNkI3MDAxQjM3MUUgLyogYXVkaW8td2l0aC13ZWItYXVkaW8uaHRt
bCAqLywKIAkJCQlGNDFBQjk5ODFFRjQ2OTJDMDA4M0ZBMDggLyogYXV0b2ZvY3VzLWNvbnRlbnRl
ZGl0YWJsZS5odG1sICovLAogCQkJCTkzQ0ZBODY2MUNFQjlERTEwMDA1NjVBOCAvKiBhdXRvZm9j
dXNlZC10ZXh0LWlucHV0Lmh0bWwgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUu
aHRtbAppbmRleCBmOTViN2YxOTliMDBkZjdhZjUwZGUwNzNkZTlkYzEzNTMxODI1ZDM3Li44MmNk
YzgxYTQyZGFlZjYyYzcxM2FhMmE3N2NiYmJhYjdjNmRkNzQzIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5o
dG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUlu
UGljdHVyZURlbGVnYXRlLmh0bWwKQEAgLTgsNiArOCw5IEBACiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgZnVuY3Rpb24gbG9hZCgpIHsKKyAgICAgICAgICAgICAg
ICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICAg
ICAgICAgICAgdGFyZ2V0LnBsYXkoKTsKKwogICAgICAgICAgICAgICAgIGlmICh3aW5kb3cud2Vi
a2l0ICE9PSB1bmRlZmluZWQgJiYgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGljdHVy
ZUluUGljdHVyZUNoYW5nZUhhbmRsZXIgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJlSW5QaWN0dXJlQ2hhbmdl
SGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVy
ZURlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0
dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0KaW5kZXggYzIyNDQ5MDg2OWQ4YjhlN2MyMDU1YzYyNGI5
NmQ2M2E2YjUxMmNlNS4uYWNhYzQ4NGViNjRkNzllZjkyMWRlN2FmMGMzMTEyZDA4NTMzYjI2NCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJl
SW5QaWN0dXJlRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNp
bXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVdlYlZpZXcuaCIK
ICNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKICNpbXBvcnQgPEph
dmFTY3JpcHRDb3JlL0pTUmV0YWluUHRyLmg+CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUGFnZVByaXZhdGVNYWMuaD4KQEAgLTEx
OSwxMyArMTIwLDE3IEBAIFRFU1QoUGljdHVyZUluUGljdHVyZSwgV0tVSURlbGVnYXRlKQogICAg
IFJldGFpblB0cjxQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0TlMo
W1tQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIFtbY29uZmln
dXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhh
bmRsZXIuZ2V0KCkgbmFtZTpAInBpY3R1cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyIl07CiAgICAg
W3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpoYW5kbGVyLmdldCgpXTsKLSAgICAKKworI2lmIEhBVkUo
VE9VQ0hfQkFSKQorICAgIFt3ZWJWaWV3IF9mb3JjZVJlcXVlc3RDYW5kaWRhdGVzXTsKKyNlbmRp
ZgorCiAgICAgUmV0YWluUHRyPE5TV2luZG93PiB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cg
YWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6W3dlYlZpZXcgZnJhbWVdIHN0eWxlTWFzazpOU1dp
bmRvd1N0eWxlTWFza0JvcmRlcmxlc3MgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRl
ZmVyOk5PXSk7CiAgICAgW1t3aW5kb3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6d2ViVmlldy5n
ZXQoKV07CiAgICAgW3dpbmRvdyBtYWtlS2V5QW5kT3JkZXJGcm9udDpuaWxdOwogCiAgICAgTlNV
UkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVu
ZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiUGljdHVyZUluUGljdHVyZURlbGVnYXRl
IiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNv
dXJjZXMiXV07Ci0gICAgCisKICAgICByZWNlaXZlZExvYWRlZE1lc3NhZ2UgPSBmYWxzZTsKICAg
ICAKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKQEAgLTEzOCwxNiArMTQzLDQ2
IEBAIFRFU1QoUGljdHVyZUluUGljdHVyZSwgV0tVSURlbGVnYXRlKQogICAgIFt3ZWJWaWV3IG1v
dXNlRG93bjpldmVudF07CiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZoYXNWaWRlb0lu
UGljdHVyZUluUGljdHVyZUNhbGxlZCk7CiAgICAgQVNTRVJUX1RSVUUoaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVWYWx1ZSk7Ci0gICAgCi0gICAgc2xlZXAoMV9zKTsgLy8gV2FpdCBmb3IgUElQ
QWdlbnQgdG8gbGF1bmNoLCBvciBpdCB3b24ndCBjYWxsIC1waXBEaWRDbG9zZTogY2FsbGJhY2su
Ci0gICAgCisKKyAgICAvLyBXYWl0IGZvciBQSVBBZ2VudCB0byBsYXVuY2gsIG9yIGl0IHdvbid0
IGNhbGwgLXBpcERpZENsb3NlOiBjYWxsYmFjay4KKyAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVu
TG9vcF0gcnVuVW50aWxEYXRlOltOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZU5vdzox
XV07CisKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICBBU1NFUlRfVFJVRShbd2ViVmlldyBfY2Fu
VG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKTsKKyNlbmRpZgorCiAgICAgaGFzVmlk
ZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSBmYWxzZTsKICAgICBbd2ViVmlldyBtb3VzZURv
d246ZXZlbnRdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVDYWxsZWQpOwogICAgIEFTU0VSVF9GQUxTRShoYXNWaWRlb0luUGljdHVyZUlu
UGljdHVyZVZhbHVlKTsKIH0KLSAgICAKLSAgICAKKworI2lmIEhBVkUoVE9VQ0hfQkFSKQorCitU
RVNUKFBpY3R1cmVJblBpY3R1cmUsIEF1ZGlvQ2Fubm90VG9nZ2xlUGljdHVyZUluUGljdHVyZSkK
K3sKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9
IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgUmV0
YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQwMCwgNTQpIGNvbmZpZ3VyYXRp
b246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2Vz
XS5fZnVsbFNjcmVlbkVuYWJsZWQgPSBZRVM7CisgICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5j
ZXNdLl9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IFlFUzsKKyAgICBSZXRh
aW5QdHI8UGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGU+IGhhbmRsZXIgPSBhZG9wdE5TKFtbUGlj
dHVyZUluUGljdHVyZVVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRp
b24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVy
LmdldCgpIG5hbWU6QCJwaWN0dXJlSW5QaWN0dXJlQ2hhbmdlSGFuZGxlciJdOworICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6aGFuZGxlci5nZXQoKV07CisgICAgW3dlYlZpZXcgX2ZvcmNlUmVx
dWVzdENhbmRpZGF0ZXNdOworCisgICAgUmV0YWluUHRyPE5TV2luZG93PiB3aW5kb3cgPSBhZG9w
dE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6W3dlYlZpZXcgZnJhbWVd
IHN0eWxlTWFzazpOU1dpbmRvd1N0eWxlTWFza0JvcmRlcmxlc3MgYmFja2luZzpOU0JhY2tpbmdT
dG9yZUJ1ZmZlcmVkIGRlZmVyOk5PXSk7CisgICAgW1t3aW5kb3cgY29udGVudFZpZXddIGFkZFN1
YnZpZXc6d2ViVmlldy5nZXQoKV07CisgICAgW3dpbmRvdyBtYWtlS2V5QW5kT3JkZXJGcm9udDpu
aWxdOworCisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiYXVk
aW8td2l0aC1jb250cm9scyJdOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInBs
YXkoKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKworICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRS
dW5Mb29wXSBydW5VbnRpbERhdGU6W05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93
OjFdXTsKKyAgICBBU1NFUlRfRkFMU0UoW3dlYlZpZXcgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1
cmVGb3JUZXN0aW5nXSk7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFRPVUNIX0JBUikKKwogVEVTVChQ
aWN0dXJlSW5QaWN0dXJlLCBXS1BhZ2VVSUNsaWVudCkKIHsKICAgICBXS1JldGFpblB0cjxXS0Nv
bnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFdLQ29udGV4dENyZWF0ZSgpKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXVkaW8td2l0aC1jb250
cm9scy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRpby13
aXRoLWNvbnRyb2xzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ3MjdiN2ZhYzZkOGIwOTNjNDE3MzE0M2E4
ZWQzMmJlY2QxODU0NQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvYXVkaW8td2l0aC1jb250cm9scy5odG1sCkBAIC0wLDAgKzEsMjQgQEAK
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rp
b24gcGFnZUxvYWRlZCgpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAg
ICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJlSW5QaWN0dXJlQ2hhbmdl
SGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHBsYXkoKSB7CisgICAg
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1ZGlvIikucGxheSgpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBkaWRTdGFydFBsYXlpbmcoKSB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5t
ZXNzYWdlSGFuZGxlcnMucGljdHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIucG9zdE1lc3NhZ2Uo
J3BsYXlpbmcnKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAg
fQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJwYWdl
TG9hZGVkKCkiPgorICAgICAgICA8YXVkaW8gY29udHJvbHMgaWQ9ImF1ZGlvIiBzcmM9InNpbGVu
Y2UtbG9uZy5tNGEiIG9ucGxheWluZz0iZGlkU3RhcnRQbGF5aW5nKCkiIC8+CisgICAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349206</attachid>
            <date>2018-09-07 15:25:22 -0700</date>
            <delta_ts>2018-09-07 15:39:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189433-20180907152522.patch</filename>
            <type>text/plain</type>
            <size>33212</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NlZTQ1MmNhOThmNGIw
NjhjMGVkZWU5MTA2MmQyOThhMWU2MThjNC4uMDA1NjNjYzBiZGY0YjU1NTRmYjBmODc5ZTMxNDNk
YTVkMjAyOTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA5LTA3ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMg
YW4gYWN0aXZlIFBJUCBidXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBk
byBhbnl0aGluZykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBk
aXNwbGF5cyBhbiBhY3RpdmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBk
b2Vzbid0IGRvIGFueXRoaW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdoZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91
Y2ggQmFyIGRpc3BsYXlzIGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAg
ICAgICAgdmlkZW9zIGFyZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhp
bmcuIFRoZSBpc3N1ZSBpcyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAg
ICB0byBZRVMgdW5jb25kaXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdl
ci4gSXQgaXMgdGhlbiBvbmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBu
b3QgZXh0ZXJuYWwgcGxheWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4
dGVuZHMgdGhhdCBsb2dpYyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBC
YXIgYnV0dG9uIHdpbGwgYmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBT
aW5jZSBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93
IHdoZXRoZXIgd2UncmUgZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVs
ZW1lbnQsIGEgbmV3IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFk
ZGVkIChhcyB3ZWxsIGFzCisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRo
ZSBzdGF0ZSBvdmVyIGZyb20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVz
dCBoYXMgYmVlbiBhZGRlZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUgYW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBl
bGVtZW50cyBhcmUgcGxheWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRl
ZCB0byB0aGUgV0tUZXN0aW5nIGNhdGVnb3J5LgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
UGxheWJhY2tTZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ2xpZW50Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OnNldE1lZGlhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6aXNQaWN0dXJlSW5QaWN0dXJl
U3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VNYWM6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJD
YW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKToKKwogMjAxOC0wOS0wNyAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkgZG9lcyBub3Qg
dGhyb3cgYSBTWU5UQVhfRVJSIGV4Y2VwdGlvbiBpZiBtZXRob2QgaXMgZW1wdHkgb3IgdXJsIGNh
bm5vdCBiZSByZXNvbHZlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3N2NjZTk0NTRkZmVkZWI4ZmZlZGUxN2ExNzE2
MWUwZjE5MzRhNmI5Li5kNDI4N2NkNDBkZjRkN2I1OGM4N2U2YzkzMjcyNDU3MGQ5MGZjNjQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA5LTA3ICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMgYW4gYWN0aXZlIFBJUCBi
dXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBkbyBhbnl0aGluZykKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQzMworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBkaXNwbGF5cyBhbiBhY3Rp
dmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBkb2Vzbid0IGRvIGFueXRo
aW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91Y2ggQmFyIGRpc3BsYXlz
IGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAgICAgICAgdmlkZW9zIGFy
ZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhpbmcuIFRoZSBpc3N1ZSBp
cyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAgICB0byBZRVMgdW5jb25k
aXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci4gSXQgaXMgdGhlbiBv
bmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBub3QgZXh0ZXJuYWwgcGxh
eWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4dGVuZHMgdGhhdCBsb2dp
YyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBCYXIgYnV0dG9uIHdpbGwg
YmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBTaW5jZSBQbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93IHdoZXRoZXIgd2UncmUg
ZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVsZW1lbnQsIGEgbmV3IGlz
UGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFkZGVkIChhcyB3ZWxsIGFz
CisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRoZSBzdGF0ZSBvdmVyIGZy
b20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVzdCBoYXMgYmVlbiBhZGRl
ZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUg
YW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBlbGVtZW50cyBhcmUgcGxh
eWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgV0tUZXN0
aW5nIGNhdGVnb3J5LgorCisgICAgICAgIFNvdXJjZS9XZWJLaXQ6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfY2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRD
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpw
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAg
IChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZENoYW5nZWQpOgorCiAyMDE4LTA5LTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEFsbG93IFdlYkNvbnRlbnQgYWNjZXNzIHRvIEFWQ1N1cHBvcnRl
ZCBJT0tpdCBwcm9wZXJ0eSBpbiBzYW5kYm94CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaAppbmRleCBlZmYwMThlMDMzNDBjZDY2
MGRkMmFiMWRlNTZjYjFhN2YxYjkxMWU1Li5jNDNmNzMyZmQ2NDNkZDlmZGJhZDNjYTU3ZmE5MTdh
OGZhMjVhNDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1vZGVsLmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNNdXRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2b2x1
bWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlQWN0
aXZlKCkgY29uc3QgPSAwOwogfTsKIApAQCAtMTA1LDYgKzEwNiw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaXNQaWN0dXJl
SW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGlj
dHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVu
c3VyZUNvbnRyb2xzTWFuYWdlcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5oCmluZGV4IGY3NDIwYjM0YmI5ZjllYTY1NDA2NTBhY2IzY2IyMjM3MmU2ODQ4MmYuLjllZWZk
MTBmMmEzZGNlZWFkMTE5NGVjOTQ4NTMxMzk0ODQ3MjM3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaApAQCAtOTUsNiArOTUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3aXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNNdXRlZCgp
IGNvbnN0IGZpbmFsOwogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29s
IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNQ
aWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3QgZmluYWw7CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggYTE5MGQ2OGQ3ZWVmYTlhYjRlMDI3YmU4
ZTRhOGNmYTY1MDc2ZDc3OC4uYzAxNzkyMTc1ZGQzM2QyOWZhMzg0YTVlOTcyNTUwNTI0NzM5ZDUx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTEwMSw2ICsxMDEsOSBA
QCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNZWRpYUVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbAogICAgIH0KIAogICAgIHVwZGF0ZUZvckV2ZW50TmFt
ZShldmVudE5hbWVBbGwoKSk7CisKKyAgICBmb3IgKGF1dG8gY2xpZW50IDogbV9jbGllbnRzKQor
ICAgICAgICBjbGllbnQtPmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoaXNQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgV2ViQ29yZTo6RXZlbnQmIGV2ZW50KQpAQCAtNTczLDYgKzU3NiwxMSBAQCBkb3VibGUgUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnZvbHVtZSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fbWVkaWFFbGVtZW50ID8gbV9tZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDogMDsKIH0KIAorYm9v
bCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxl
bWVudC0+aXNWaWRlbygpIDogZmFsc2U7Cit9CisKIGJvb2wgUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQ6OmlzUGljdHVyZUluUGljdHVyZUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX21lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaAppbmRleCA5YWE5NTVmYzQ0ZmE0Yzg0
YjllNGEwZjY2YTk0M2FhNWI4NGIyOWU4Li5lN2RiMzk3Y2NlNDBmZDViZGNjNGY1YWYyNmU3YmYz
Mjc0MTlmNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxheWJh
Y2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCkBAIC02MiwxMiArNjIsMTUgQEAgcHVibGlj
OgogICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCkgZmlu
YWw7CiAgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3Qp
IGZpbmFsOwogICAgIHZvaWQgZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCAvKiBlbmFibGVk
ICovLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNv
bnN0IFN0cmluZyYgLyogbG9jYWxpemVkRGV2aWNlTmFtZSAqLykgZmluYWw7CisgICAgdm9pZCBp
c1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpIGZpbmFsOwogCiAgICAgdm9p
ZCBpbnZhbGlkYXRlKCk7CiAgICAgdm9pZCBlbnN1cmVDb250cm9sc01hbmFnZXIoKTsKICNpZiBF
TkFCTEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCiAgICAgdm9pZCBzZXRQbGF5QmFj
a0NvbnRyb2xzTWFuYWdlcihXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlciAqKTsKICAgICBXZWJQ
bGF5YmFja0NvbnRyb2xzTWFuYWdlciAqcGxheUJhY2tDb250cm9sc01hbmFnZXIoKTsKKworICAg
IHZvaWQgdXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlKCk7CiAjZW5kaWYKICAgICB2b2lkIGJlZ2luU2NydWJiaW5nKCk7CiAgICAgdm9pZCBlbmRT
Y3J1YmJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5
YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCmluZGV4IDYwMmVkZGJhNTFmY2UxMTM5M2Ri
Y2U0NDVmYmI4NjA4NjY0OGM5NjcuLmI4NjI2NmQ0ZTMzZDAwN2JmZDc4YTZmZTUzM2M3ZjUzODZk
MzkzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF5YmFja1Nl
c3Npb25JbnRlcmZhY2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQpAQCAtMTg0LDEyICsxODQsMTcgQEAgdm9pZCBQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hh
bmdlZCh1aW50NjRfdCBzZWwKICNlbmRpZgogfQogCi12b2lkIFBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZU1hYzo6ZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoYm9vbCBlbmFibGVkLCBQbGF5YmFja1Nl
c3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpCit2
b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dGVkQ2hhbmdlZChib29sKQogewogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFO
QUdFUikKLSAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRDYW5Ub2dnbGVQaWN0dXJl
SW5QaWN0dXJlOiFlbmFibGVkXTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwor
ICAgIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9nZ2xlUGljdHVyZUluUGljdHVy
ZSgpOworI2VuZGlmCit9CisKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjpleHRl
cm5hbFBsYXliYWNrQ2hhbmdlZChib29sLCBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQ
bGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpCit7CisjaWYgRU5BQkxFKFdFQl9QTEFZ
QkFDS19DT05UUk9MU19NQU5BR0VSKQorICAgIHVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZSgpOwogI2VuZGlmCiB9CiAKQEAgLTIzNyw2ICsyNDIs
MTcgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnNldFBsYXlCYWNrQ29udHJv
bHNNYW5hZ2VyKFdlYlBsYXliYWNrQ29udHJvbHMKICAgICBbbWFuYWdlciBzZXRMZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zOm1fcGxheWJhY2tTZXNzaW9uTW9kZWwtPmxlZ2libGVNZWRpYVNl
bGVjdGlvbk9wdGlvbnMoKSB3aXRoU2VsZWN0ZWRJbmRleDpzdGF0aWNfY2FzdDxOU1VJbnRlZ2Vy
PihtX3BsYXliYWNrU2Vzc2lvbk1vZGVsLT5sZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KCkpXTsK
IH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnVwZGF0ZVBsYXliYWNrQ29u
dHJvbHNNYW5hZ2VyQ2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZSgpCit7CisgICAgUGxheWJhY2tT
ZXNzaW9uTW9kZWwqIG1vZGVsID0gcGxheWJhY2tTZXNzaW9uTW9kZWwoKTsKKyAgICBpZiAoIW1v
ZGVsKSB7CisgICAgICAgIFtwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigpIHNldENhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmU6Tk9dOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3BsYXlC
YWNrQ29udHJvbHNNYW5hZ2VyKCkgc2V0Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZTptb2RlbC0+
aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkgJiYgIW1vZGVsLT5leHRlcm5hbFBsYXliYWNr
RW5hYmxlZCgpXTsKK30KKwogdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6OnVwZGF0
ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyVGltaW5nKGRvdWJsZSBjdXJyZW50VGltZSwgZG91Ymxl
IGFuY2hvclRpbWUsIGRvdWJsZSBwbGF5YmFja1JhdGUsIGJvb2wgaXNQbGF5aW5nKQogewogICAg
IFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyICptYW5hZ2VyID0gcGxheUJhY2tDb250cm9sc01h
bmFnZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCmluZGV4IDY2YzI4ZWJmZmNkNTIzYjcwNDVjMTVhZGIyNzU0ZjQyYTBjZDgyNDMuLmUwYzI5
YzVlNGI3ZmQ5MWVkM2NhMDY0YjljOTIzZTQ4YWJhYzhmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNjQ5NSw2ICs2NDk1LDE1IEBA
IC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRpbmcK
ICAgICBfcGFnZS0+c2V0RGVmZXJzTG9hZGluZ0ZvclRlc3RpbmcoZGVmZXJzTG9hZGluZyk7CiB9
CiAKKy0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nCit7CisjaWYg
SEFWRShUT1VDSF9CQVIpCisgICAgcmV0dXJuIF9pbXBsLT5jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlRm9yVGVzdGluZygpOworI2Vsc2UKKyAgICByZXR1cm4gTk87CisjZW5kaWYKK30KKwogLSAo
X1dLSW5zcGVjdG9yICopX2luc3BlY3RvcgogewogICAgIGlmIChhdXRvKiBpbnNwZWN0b3IgPSBf
cGFnZS0+aW5zcGVjdG9yKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCA2ZDFjYjFkZjBkNDNlZTIzYmNjMDgxMmNl
ODRjMWU2ZmMyN2E3ZDczLi5mNWU5OTk3MjI5OGU3Y2U1OGQ2YjMxYTFhZjJjYTcyMGM2NWZmZTU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKQEAgLTQ3Miw2ICs0NzIsOCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIC0gKEJPT0wpX2NvbXBsZXRlQmFja1N3aXBlRm9yVGVzdGlu
ZzsKIC0gKHZvaWQpX3NldERlZmVyc0xvYWRpbmdGb3JUZXN0aW5nOihCT09MKWRlZmVyc0xvYWRp
bmc7CiAKKy0gKEJPT0wpX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nOworCiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLRnJhbWVIYW5kbGUgKl9tYWluRnJhbWUg
V0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXggNjhhODhiNTQ1MTU3OWU4ODI0Y2FkMWVkZTg4OWY1
ZjViMjA2YWQzNC4uYTI3NzNlNmY5ZjIzYmEyNjY0ODc1YjVlODE5YTI3MmNlNzU0MzU5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5LmgKQEAgLTg1LDYgKzg1LDcgQEAgcHVibGljOgogICAgIHZvaWQg
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgbXV0
ZWRDaGFuZ2VkKGJvb2wpOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZChkb3VibGUpOworICAgIHZv
aWQgcGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBwaWN0
dXJlSW5QaWN0dXJlQWN0aXZlQ2hhbmdlZChib29sKTsKIAogcHJpdmF0ZToKQEAgLTEzNiw2ICsx
MzcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkOyB9
CiAgICAgYm9vbCBpc011dGVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9tdXRlZDsgfQogICAg
IGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3ZvbHVtZTsgfQorICAgIGJv
b2wgaXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9w
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkOyB9CiAgICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVB
Y3RpdmUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3BpY3R1cmVJblBpY3R1cmVBY3RpdmU7IH0K
IAogICAgIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSogbV9tYW5hZ2VyOwpAQCAtMTYzLDYg
KzE2NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGRvdWJsZSBt
X3ZvbHVtZSB7IDAgfTsKKyAgICBib29sIG1fcGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX3BpY3R1cmVJblBpY3R1cmVBY3RpdmUgeyBmYWxzZSB9OwogfTsK
IApAQCAtMjEzLDYgKzIxNiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVDb250cm9sbGVk
RWxlbWVudElEUmVzcG9uc2UodWludDY0X3QsIFN0cmluZykgY29uc3Q7CiAgICAgdm9pZCBtdXRl
ZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIG11dGVkKTsKICAgICB2b2lkIHZvbHVt
ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgdm9sdW1lKTsKKyAgICB2b2lkIHBp
Y3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBw
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKTsKICAgICB2b2lkIHBpY3R1cmVJblBpY3R1cmVBY3Rp
dmVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBwaWN0dXJlSW5QaWN0dXJlQWN0aXZl
KTsKIAogICAgIC8vIE1lc3NhZ2VzIHRvIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCBiMTUxYzljYTNlNjExNjljOWNj
NDZmNzc2NTE4NjVmMjhmZGY2Njc0Li5iMzFiNTgyMTI2Mzg1OWRiMzc0NTYzYTk5NzQ4NTBiNmU4
ODgxNzIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0z
OCw2ICszOCw3IEBAIG1lc3NhZ2VzIC0+IFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eSB7CiAg
ICAgUmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91Ymxl
IHJhdGUpCiAgICAgTXV0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCk7
CiAgICAgVm9sdW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpOwor
ICAgIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJRCwg
Ym9vbCBwaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKQogICAgIFBpY3R1cmVJblBpY3R1cmVBY3Rp
dmVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBwaWN0dXJlSW5QaWN0dXJlQWN0aXZl
KQogICAgIFNldFVwUGxheWJhY2tDb250cm9sc01hbmFnZXJXaXRoSUQodWludDY0X3QgY29udGV4
dElkKQogICAgIENsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXIoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5Lm1tCmluZGV4IDYzMDRiZTdlOGNlNmVkODg5Yjk0ZjdlNTJjZjUwNGE4ZGViMWU1NDMuLmRj
MzYxNzFiN2I0MWY2MmVhZTRiZTNkZmQzZWUzY2RmOWUzYzA2ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkubW0KQEAgLTI3Niw2ICsyNzYsMTMgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25Nb2RlbENv
bnRleHQ6OnZvbHVtZUNoYW5nZWQoZG91YmxlIHZvbHVtZSkKICAgICAgICAgY2xpZW50LT52b2x1
bWVDaGFuZ2VkKHZvbHVtZSk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0
OjpwaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sIHN1cHBvcnRlZCkKK3sKKyAg
ICBtX3BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQgPSBzdXBwb3J0ZWQ7CisgICAgZm9yIChhdXRv
KiBjbGllbnQgOiBtX2NsaWVudHMpCisgICAgICAgIGNsaWVudC0+aXNQaWN0dXJlSW5QaWN0dXJl
U3VwcG9ydGVkQ2hhbmdlZChzdXBwb3J0ZWQpOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1v
ZGVsQ29udGV4dDo6cGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYm9vbCBhY3RpdmUpCiB7
CiAgICAgbV9waWN0dXJlSW5QaWN0dXJlQWN0aXZlID0gYWN0aXZlOwpAQCAtNDc4LDYgKzQ4NSwx
MSBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cmF0ZUNoYW5nZWQodWludDY0
X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZwogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCku
cmF0ZUNoYW5nZWQoaXNQbGF5aW5nLCByYXRlKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBzdXBwb3J0ZWQpCit7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5w
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChzdXBwb3J0ZWQpOworfQorCiB2b2lkIFBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQo
dWludDY0X3QgY29udGV4dElkLCBib29sIGFjdGl2ZSkKIHsKICAgICBlbnN1cmVNb2RlbChjb250
ZXh0SWQpLnBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKGFjdGl2ZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAppbmRleCA3OTZjOTI4ZDA5MWMwYTY2
Yjk4YjRjZTI3MjE5NTVjNGIwM2YzMmIzLi5kOTY0ZDUwOWQ5MGJkMzAzOGFjOWU1OGMzOWZlMjcy
YmNhMTdhOGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
LmgKQEAgLTU1OSw2ICs1NTksOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0ZVRvdWNoQmFy
QW5kUmVmcmVzaFRleHRCYXJJZGVudGlmaWVycygpOwogICAgIHZvaWQgc2V0SXNDdXN0b21pemlu
Z1RvdWNoQmFyKGJvb2wgaXNDdXN0b21pemluZ1RvdWNoQmFyKSB7IG1faXNDdXN0b21pemluZ1Rv
dWNoQmFyID0gaXNDdXN0b21pemluZ1RvdWNoQmFyOyB9OworCisgICAgYm9vbCBjYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZygpOwogI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQog
CiAgICAgYm9vbCBiZWdpbkJhY2tTd2lwZUZvclRlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggNTUyZDY1MDVkMjUzOGI4NmM1ZmNl
ZWU3N2Q5NTBiYThjMjVhNDAwNi4uYTA3YjZiNjBmMTVjYTk2NWNiZTQzMWViZTU1NzM5YzZiYWY1
NmI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0K
QEAgLTEyMzUsMTEgKzEyMzUsMTMgQEAgdm9pZCBXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3Vj
aEJhcigpCiAgICAgaWYgKCFtX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyKSB7CiAgICAgICAgIG1f
cGxheWJhY2tDb250cm9sc01hbmFnZXIgPSBhZG9wdE5TKFtbV2ViUGxheWJhY2tDb250cm9sc01h
bmFnZXIgYWxsb2NdIGluaXRdKTsKICAgICAgICAgW21fcGxheWJhY2tDb250cm9sc01hbmFnZXIg
c2V0QWxsb3dzUGljdHVyZUluUGljdHVyZVBsYXliYWNrOm1fcGFnZS0+cHJlZmVyZW5jZXMoKS5h
bGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpXTsKLSAgICAgICAgW21fcGxheWJh
Y2tDb250cm9sc01hbmFnZXIgc2V0Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZTpZRVNdOworICAg
ICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlOk5PXTsKICAgICB9CiAKLSAgICBpZiAoUGxhdGZvcm1QbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2UqIGludGVyZmFjZSA9IG1fcGFnZS0+cGxheWJhY2tTZXNzaW9uTWFuYWdlcigpLT5jb250cm9s
c01hbmFnZXJJbnRlcmZhY2UoKSkKKyAgICBpZiAoUGxhdGZvcm1QbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2UqIGludGVyZmFjZSA9IG1fcGFnZS0+cGxheWJhY2tTZXNzaW9uTWFuYWdlcigpLT5jb250
cm9sc01hbmFnZXJJbnRlcmZhY2UoKSkgewogICAgICAgICBbbV9wbGF5YmFja0NvbnRyb2xzTWFu
YWdlciBzZXRQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWM6aW50ZXJmYWNlXTsKKyAgICAgICAg
aW50ZXJmYWNlLT51cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlckNhblRvZ2dsZVBpY3R1cmVJ
blBpY3R1cmUoKTsKKyAgICB9CiAKICAgICBbbV9tZWRpYVRvdWNoQmFyUHJvdmlkZXIgc2V0UGxh
eWJhY2tDb250cm9sc0NvbnRyb2xsZXI6bV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlci5nZXQoKV07
CiAgICAgW21fbWVkaWFQbGF5YmFja0NvbnRyb2xzVmlldyBzZXRQbGF5YmFja0NvbnRyb2xzQ29u
dHJvbGxlcjptX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyLmdldCgpXTsKQEAgLTEyNzUsNiArMTI3
NywxNSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVNZWRpYVRvdWNoQmFyKCkKICNlbmRpZgog
fQogCisjaWYgSEFWRShUT1VDSF9CQVIpCisKK2Jvb2wgV2ViVmlld0ltcGw6OmNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nKCkKK3sKKyAgICByZXR1cm4gW21fcGxheWJhY2tDb250
cm9sc01hbmFnZXIgY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZV07Cit9CisKKyNlbmRpZiAvLyBI
QVZFKFRPVUNIX0JBUikKKwogdm9pZCBXZWJWaWV3SW1wbDo6Zm9yY2VSZXF1ZXN0Q2FuZGlkYXRl
c0ZvclRlc3RpbmcoKQogewogICAgIG1fY2FuQ3JlYXRlVG91Y2hCYXJzID0gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVl
blZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3Jl
ZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0KaW5kZXggZDg4ZDYzZDg2ZTdlMDZlZGRj
YWFmNjY2NjRlYWZmMmFmMzU1MzY2Mi4uMGZjMzg4NTUwY2FmZTRmM2NhNzIxOTY5ZjA5NDY0Njk1
OTAzZTY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3Jl
ZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL2Z1bGxzY3JlZW4vV0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0KQEAgLTY1
LDYgKzY1LDEwIEBAIHB1YmxpYzoKICAgICAgICAgbV9wYXJlbnQucGxheWluZyA9IGlzUGxheWlu
ZzsKICAgICB9CiAKKyAgICB2b2lkIHBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJv
b2wpIG92ZXJyaWRlCisgICAgeworICAgIH0KKwogICAgIHZvaWQgcGljdHVyZUluUGljdHVyZUFj
dGl2ZUNoYW5nZWQoYm9vbCBhY3RpdmUpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBtX3BhcmVu
dC5waWN0dXJlSW5QaWN0dXJlQWN0aXZlID0gYWN0aXZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5kZXggMWE4
NTc2MjY5OTExMzliNjlkZTZjODMxMDEwNTUxMTQ5N2UyOTJhYS4uZjBkZTYyYjhkYjA1YTM3ZWFl
N2Q5NzJiYTY2ZmJjNTg3ZTMyNDBmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBAIC04OSw2ICs4OSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQo
Ym9vbCkgZmluYWw7CiAgICAgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCkgZmluYWw7CiAgICAgdm9p
ZCB2b2x1bWVDaGFuZ2VkKGRvdWJsZSkgZmluYWw7CisgICAgdm9pZCBpc1BpY3R1cmVJblBpY3R1
cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpIGZpbmFsOwogCiAgICAgUGxheWJhY2tTZXNzaW9uSW50
ZXJmYWNlQ29udGV4dChQbGF5YmFja1Nlc3Npb25NYW5hZ2VyJiwgdWludDY0X3QgY29udGV4dElk
KTsKIApAQCAtMTQzLDYgKzE0NCw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHdpcmVsZXNzVmlk
ZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wpOwogICAg
IHZvaWQgbXV0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCk7CiAgICAgdm9pZCB2
b2x1bWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlKTsKKyAgICB2b2lkIGlzUGlj
dHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sKTsK
IAogICAgIC8vIE1lc3NhZ2VzIGZyb20gUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5CiAgICAg
dm9pZCBwbGF5KHVpbnQ2NF90IGNvbnRleHRJZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCmluZGV4IDA4ODQ5
NGJiNjdhYjQ5ZGViNGJjMjcwOGRkYjNiNDBkNjBiYTIxNTYuLmQwYWVjMjVlOTJlOTdjMjg1MmI5
NmRkMzVmYzQxNjcxNjYyZDhkODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCkBAIC0xNTQsNiArMTU0LDEy
IEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6bXV0ZWRDaGFuZ2VkKGJv
b2wgbXV0ZWQpCiAgICAgICAgIG1fbWFuYWdlci0+bXV0ZWRDaGFuZ2VkKG1fY29udGV4dElkLCBt
dXRlZCk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQ29udGV4dDo6aXNQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sIHN1cHBvcnRlZCkKK3sKKyAgICBpZiAo
bV9tYW5hZ2VyKQorICAgICAgICBtX21hbmFnZXItPmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRl
ZENoYW5nZWQobV9jb250ZXh0SWQsIHN1cHBvcnRlZCk7Cit9CisKIHZvaWQgUGxheWJhY2tTZXNz
aW9uSW50ZXJmYWNlQ29udGV4dDo6dm9sdW1lQ2hhbmdlZChkb3VibGUgdm9sdW1lKQogewogICAg
IGlmIChtX21hbmFnZXIpCkBAIC00MDIsNiArNDA4LDExIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6dm9sdW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUp
CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6
OlZvbHVtZUNoYW5nZWQoY29udGV4dElkLCB2b2x1bWUpKTsKIH0KIAordm9pZCBQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyOjppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgYm9vbCBzdXBwb3J0ZWQpCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRD
aGFuZ2VkKGNvbnRleHRJZCwgc3VwcG9ydGVkKSk7Cit9CisKICNwcmFnbWEgbWFyayBNZXNzYWdl
cyBmcm9tIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eToKIAogdm9pZCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyOjpwbGF5KHVpbnQ2NF90IGNvbnRleHRJZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYWQyYjIxM2M5N2ZlN2JmYzMyYWNkM2I1
NjI1MDg2NjdiZGQ0MDM5Li4yOGMyOGRiODEyMDIzMzNkZDI2ZTA4MTBkNWE5Nzg4NTEyN2MzNTRk
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTgtMDktMDcgIE1hdHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk0MzMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0MTg2NDk4PiBUb3VjaCBCYXIgZGlzcGxheXMgYW4g
YWN0aXZlIFBJUCBidXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBkbyBh
bnl0aGluZykKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbiBBUEkgdGVzdCBoYXMgYmVlbiBhZGRlZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhl
IGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUgYW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8g
d2hlbiBhdWRpbyBlbGVtZW50cyBhcmUgcGxheWluZy4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0
bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5Q
aWN0dXJlRGVsZWdhdGUubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2F1ZGlvLXdpdGgtY29udHJvbHMu
aHRtbDogQWRkZWQuCisKIDIwMTgtMDktMDcgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtDU1NPTSBWaWV3XSBIYW5kbGUgdGhlIHNjcm9sbGluZ0VsZW1lbnQg
aW4gRWxlbWVudDo6c2Nyb2xsKExlZnQvVG9wL1dpZHRoL0hlaWdodC9UbykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNGNiNWVjY2E0YzRhNzE5MGNkMWUzNGVhYzZmMTQ0MWM5YjdkMTVjNC4u
Zjc0NGQ1ODI3MjJjMzA5MDBhMzZkMTM0ODhjMWM4YTQ5MWYzMzg0NiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTcwMCw2ICs3MDAsNyBAQAogCQlDNTQwRjc4NDE1MkU1QTlBMDBBNDBDOEMg
LyogdmVyYm9zZU1hcmt1cC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM1NDBGNzgzMTUyRTVBNzgwMEE0MEM4QyAvKiB2ZXJib3NlTWFy
a3VwLmh0bWwgKi87IH07CiAJCUM1NDIzN0YxMTZCODk1N0QwMEU2MzhGQyAvKiBQYXN0ZWJvYXJk
Tm90aWZpY2F0aW9uc19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzU0MjM3RUQxNkI4OTU1ODAwRTYzOEZDIC8qIFBhc3RlYm9hcmROb3Rp
ZmljYXRpb25zX0J1bmRsZS5jcHAgKi87IH07CiAJCUM1RTFBRkZFMTZCMjIxRjEwMDZDQzFGMiAv
KiBleGVjQ29weS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM1RTFBRkZEMTZCMjIxNzkwMDZDQzFGMiAvKiBleGVjQ29weS5odG1sICov
OyB9OworCQlDOTQ0MTYwMDIxNDMwRTg5MDBCMUVEREEgLyogYXVkaW8td2l0aC1jb250cm9scy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM5NDQxNUZGMjE0MzBCNjcwMEIxRUREQSAvKiBhdWRpby13aXRoLWNvbnRyb2xzLmh0bWwgKi87
IH07CiAJCUM5NTk4NEY0MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NTk4
NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sICovOyB9OwogCQlDOTU5
ODRGNTFFMzZCQzZCMDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTU5ODRG
MzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLzsgfTsK
IAkJQzk1OTg0RjcxRTM2QkNFRjAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5t
cDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Qzk1OTg0RjYxRTM2QkNENzAwMkMwRDQ1IC8qIHRlc3Qtd2l0aG91dC1hdWRpby10cmFjay5tcDQg
Ki87IH07CkBAIC05NDcsNiArOTQ4LDcgQEAKIAkJCQk3QzlFRDk4QjE3QTE5RjRCMDBFNERDMzMg
LyogYXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQkzNzEzN0U0QjIxMTI0RDAxMDAyQkVFQTQgLyogQXR0clN0eWxlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJQ0Q5RTI5MkUxQzkwQzMzRjAwMEJCODAwIC8qIGF1ZGlvLW9u
bHkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQlDOTQ0MTYwMDIxNDMwRTg5MDBCMUVE
REEgLyogYXVkaW8td2l0aC1jb250cm9scy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJ
CUNENTc3NzlDMjExQ0U5MUYwMDFCMzcxRSAvKiBhdWRpby13aXRoLXdlYi1hdWRpby5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovLAogCQkJCTc2RTE4MkRGMTU0NzY3RTYwMEYxRkFERCAvKiBhdXRv
LXN1Ym1pdHRpbmctZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0MUFCOTlG
MUVGNDY5NkIwMDgzRkEwOCAvKiBhdXRvZm9jdXMtY29udGVudGVkaXRhYmxlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCkBAIC0xOTE3LDYgKzE5MTksNyBAQAogCQlDNTQyMzdFRDE2Qjg5NTU4
MDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhc3RlYm9hcmROb3RpZmljYXRpb25zX0J1bmRs
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1NDIzN0VFMTZCODk1NTgwMEU2
MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFBhc3RlYm9hcmROb3RpZmljYXRpb25zLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDNUUxQUZGRDE2QjIyMTc5MDA2Q0MxRjIgLyogZXhlY0NvcHku
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IGV4ZWNDb3B5Lmh0bWw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUM5NDQxNUZGMjE0MzBCNjcwMEIxRUREQSAvKiBhdWRpby13
aXRoLWNvbnRyb2xzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXVkaW8td2l0
aC1jb250cm9scy5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1NTAxQkUx
OUFEMkZBRjAwNDlCRTNFIC8qIFByZWZlcmVuY2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUM5NTk4NEYyMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1jaGVjay5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImF1dG9wbGF5LWNoZWNrLmh0bWwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU5ODRGMzFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3Bs
YXktbm8tYXVkaW8tY2hlY2suaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdXRv
cGxheS1uby1hdWRpby1jaGVjay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTI2MjEsNiArMjYyNCw3IEBACiAJCQkJNUM5RTU5NDAxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxp
Y2F0aW9uQ2FjaGUuZGItd2FsICovLAogCQkJCUY0ODU2Q0EyMUU2NDk4QTgwMDlEN0VFNyAvKiBh
dHRhY2htZW50LWVsZW1lbnQuaHRtbCAqLywKIAkJCQkzNzYwQzRGMjIxMTI0QkQwMDAyMzNBQ0Mg
LyogQXR0clN0eWxlLmh0bWwgKi8sCisJCQkJQzk0NDE1RkYyMTQzMEI2NzAwQjFFRERBIC8qIGF1
ZGlvLXdpdGgtY29udHJvbHMuaHRtbCAqLywKIAkJCQlDRDU3Nzc5QTIxMUNFNkI3MDAxQjM3MUUg
LyogYXVkaW8td2l0aC13ZWItYXVkaW8uaHRtbCAqLywKIAkJCQlGNDFBQjk5ODFFRjQ2OTJDMDA4
M0ZBMDggLyogYXV0b2ZvY3VzLWNvbnRlbnRlZGl0YWJsZS5odG1sICovLAogCQkJCTkzQ0ZBODY2
MUNFQjlERTEwMDA1NjVBOCAvKiBhdXRvZm9jdXNlZC10ZXh0LWlucHV0Lmh0bWwgKi8sCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBp
Y3R1cmVEZWxlZ2F0ZS5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUuaHRtbAppbmRleCBmOTViN2YxOTliMDBkZjdhZjUw
ZGUwNzNkZTlkYzEzNTMxODI1ZDM3Li44MmNkYzgxYTQyZGFlZjYyYzcxM2FhMmE3N2NiYmJhYjdj
NmRkNzQzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwKQEAgLTgsNiAr
OCw5IEBACiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZnVuY3Rp
b24gbG9hZCgpIHsKKyAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3ZpZGVvJyk7CisgICAgICAgICAgICAgICAgdGFyZ2V0LnBsYXkoKTsKKwogICAg
ICAgICAgICAgICAgIGlmICh3aW5kb3cud2Via2l0ICE9PSB1bmRlZmluZWQgJiYgd2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMucGljdHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIgIT09IHVu
ZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5k
bGVycy5waWN0dXJlSW5QaWN0dXJlQ2hhbmdlSGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOwog
ICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0KaW5kZXgg
YzIyNDQ5MDg2OWQ4YjhlN2MyMDU1YzYyNGI5NmQ2M2E2YjUxMmNlNS4uYWNhYzQ4NGViNjRkNzll
ZjkyMWRlN2FmMGMzMTEyZDA4NTMzYjI2NCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdh
dGUubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCiAj
aW1wb3J0ICJQbGF0Zm9ybVdlYlZpZXcuaCIKICNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgIlRl
c3RXS1dlYlZpZXcuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTUmV0YWluUHRyLmg+CiAj
aW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgogI2ltcG9ydCA8V2ViS2l0
L1dLUGFnZVByaXZhdGVNYWMuaD4KQEAgLTExOSwxMyArMTIwLDE3IEBAIFRFU1QoUGljdHVyZUlu
UGljdHVyZSwgV0tVSURlbGVnYXRlKQogICAgIFJldGFpblB0cjxQaWN0dXJlSW5QaWN0dXJlVUlE
ZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0TlMoW1tQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSBh
bGxvY10gaW5pdF0pOwogICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJd
IGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAInBpY3R1cmVJblBp
Y3R1cmVDaGFuZ2VIYW5kbGVyIl07CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpoYW5kbGVy
LmdldCgpXTsKLSAgICAKKworI2lmIEhBVkUoVE9VQ0hfQkFSKQorICAgIFt3ZWJWaWV3IF9mb3Jj
ZVJlcXVlc3RDYW5kaWRhdGVzXTsKKyNlbmRpZgorCiAgICAgUmV0YWluUHRyPE5TV2luZG93PiB3
aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6W3dl
YlZpZXcgZnJhbWVdIHN0eWxlTWFzazpOU1dpbmRvd1N0eWxlTWFza0JvcmRlcmxlc3MgYmFja2lu
ZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOk5PXSk7CiAgICAgW1t3aW5kb3cgY29udGVu
dFZpZXddIGFkZFN1YnZpZXc6d2ViVmlldy5nZXQoKV07CiAgICAgW3dpbmRvdyBtYWtlS2V5QW5k
T3JkZXJGcm9udDpuaWxdOwogCiAgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVx
dWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNl
OkAiUGljdHVyZUluUGljdHVyZURlbGVnYXRlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGly
ZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07Ci0gICAgCisKICAgICByZWNlaXZl
ZExvYWRlZE1lc3NhZ2UgPSBmYWxzZTsKICAgICAKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpy
ZXF1ZXN0XTsKQEAgLTEzOCwxNiArMTQzLDQ2IEBAIFRFU1QoUGljdHVyZUluUGljdHVyZSwgV0tV
SURlbGVnYXRlKQogICAgIFt3ZWJWaWV3IG1vdXNlRG93bjpldmVudF07CiAgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCk7CiAgICAg
QVNTRVJUX1RSVUUoaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1ZSk7Ci0gICAgCi0gICAg
c2xlZXAoMV9zKTsgLy8gV2FpdCBmb3IgUElQQWdlbnQgdG8gbGF1bmNoLCBvciBpdCB3b24ndCBj
YWxsIC1waXBEaWRDbG9zZTogY2FsbGJhY2suCi0gICAgCisKKyAgICAvLyBXYWl0IGZvciBQSVBB
Z2VudCB0byBsYXVuY2gsIG9yIGl0IHdvbid0IGNhbGwgLXBpcERpZENsb3NlOiBjYWxsYmFjay4K
KyAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gcnVuVW50aWxEYXRlOltOU0RhdGUgZGF0
ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZU5vdzoxXV07CisKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAg
ICBBU1NFUlRfVFJVRShbd2ViVmlldyBfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3Rp
bmddKTsKKyNlbmRpZgorCiAgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSBm
YWxzZTsKICAgICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOwogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQpOwogICAgIEFTU0VS
VF9GQUxTRShoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsKIH0KLSAgICAKLSAgICAK
KworI2lmIEhBVkUoVE9VQ0hfQkFSKQorCitURVNUKFBpY3R1cmVJblBpY3R1cmUsIEF1ZGlvQ2Fu
bm90VG9nZ2xlUGljdHVyZUluUGljdHVyZSkKK3sKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29u
ZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDQwMCwgNTQpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAg
IFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXS5fZnVsbFNjcmVlbkVuYWJsZWQgPSBZRVM7Cisg
ICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayA9IFlFUzsKKyAgICBSZXRhaW5QdHI8UGljdHVyZUluUGljdHVyZVVJRGVsZWdh
dGU+IGhhbmRsZXIgPSBhZG9wdE5TKFtbUGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGUgYWxsb2Nd
IGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRT
Y3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJwaWN0dXJlSW5QaWN0dXJl
Q2hhbmdlSGFuZGxlciJdOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6aGFuZGxlci5nZXQo
KV07CisgICAgW3dlYlZpZXcgX2ZvcmNlUmVxdWVzdENhbmRpZGF0ZXNdOworCisgICAgUmV0YWlu
UHRyPE5TV2luZG93PiB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGluaXRXaXRo
Q29udGVudFJlY3Q6W3dlYlZpZXcgZnJhbWVdIHN0eWxlTWFzazpOU1dpbmRvd1N0eWxlTWFza0Jv
cmRlcmxlc3MgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOk5PXSk7CisgICAg
W1t3aW5kb3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6d2ViVmlldy5nZXQoKV07CisgICAgW3dp
bmRvdyBtYWtlS2V5QW5kT3JkZXJGcm9udDpuaWxdOworCisgICAgW3dlYlZpZXcgc3luY2hyb25v
dXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiYXVkaW8td2l0aC1jb250cm9scyJdOworICAgIFt3ZWJW
aWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInBsYXkoKSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsK
KworICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5VbnRpbERhdGU6W05TRGF0ZSBk
YXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93OjFdXTsKKyAgICBBU1NFUlRfRkFMU0UoW3dlYlZp
ZXcgX2NhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nXSk7Cit9CisKKyNlbmRpZiAv
LyBIQVZFKFRPVUNIX0JBUikKKwogVEVTVChQaWN0dXJlSW5QaWN0dXJlLCBXS1BhZ2VVSUNsaWVu
dCkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFdL
Q29udGV4dENyZWF0ZSgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvYXVkaW8td2l0aC1jb250cm9scy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRpby13aXRoLWNvbnRyb2xzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmQ3MjdiN2ZhYzZkOGIwOTNjNDE3MzE0M2E4ZWQzMmJlY2QxODU0NQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXVkaW8td2l0aC1jb250
cm9scy5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcGFnZUxvYWRlZCgpIHsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5k
bGVycy5waWN0dXJlSW5QaWN0dXJlQ2hhbmdlSGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHBsYXkoKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImF1ZGlvIikucGxheSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBkaWRTdGFydFBsYXlpbmcoKSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGljdHVyZUluUGljdHVy
ZUNoYW5nZUhhbmRsZXIucG9zdE1lc3NhZ2UoJ3BsYXlpbmcnKTsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHkgb25sb2FkPSJwYWdlTG9hZGVkKCkiPgorICAgICAgICA8YXVkaW8gY29u
dHJvbHMgaWQ9ImF1ZGlvIiBzcmM9InNpbGVuY2UtbG9uZy5tNGEiIG9ucGxheWluZz0iZGlkU3Rh
cnRQbGF5aW5nKCkiIC8+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349209</attachid>
            <date>2018-09-07 15:40:01 -0700</date>
            <delta_ts>2018-09-07 16:40:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189433-20180907154000.patch</filename>
            <type>text/plain</type>
            <size>34420</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NlZTQ1MmNhOThmNGIw
NjhjMGVkZWU5MTA2MmQyOThhMWU2MThjNC4uMDA1NjNjYzBiZGY0YjU1NTRmYjBmODc5ZTMxNDNk
YTVkMjAyOTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA5LTA3ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMg
YW4gYWN0aXZlIFBJUCBidXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBk
byBhbnl0aGluZykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBk
aXNwbGF5cyBhbiBhY3RpdmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBk
b2Vzbid0IGRvIGFueXRoaW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdoZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91
Y2ggQmFyIGRpc3BsYXlzIGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAg
ICAgICAgdmlkZW9zIGFyZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhp
bmcuIFRoZSBpc3N1ZSBpcyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAg
ICB0byBZRVMgdW5jb25kaXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdl
ci4gSXQgaXMgdGhlbiBvbmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBu
b3QgZXh0ZXJuYWwgcGxheWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4
dGVuZHMgdGhhdCBsb2dpYyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBC
YXIgYnV0dG9uIHdpbGwgYmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBT
aW5jZSBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93
IHdoZXRoZXIgd2UncmUgZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVs
ZW1lbnQsIGEgbmV3IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFk
ZGVkIChhcyB3ZWxsIGFzCisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRo
ZSBzdGF0ZSBvdmVyIGZyb20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVz
dCBoYXMgYmVlbiBhZGRlZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUgYW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBl
bGVtZW50cyBhcmUgcGxheWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRl
ZCB0byB0aGUgV0tUZXN0aW5nIGNhdGVnb3J5LgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
UGxheWJhY2tTZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ2xpZW50Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OnNldE1lZGlhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6aXNQaWN0dXJlSW5QaWN0dXJl
U3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VNYWM6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJD
YW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKToKKwogMjAxOC0wOS0wNyAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkgZG9lcyBub3Qg
dGhyb3cgYSBTWU5UQVhfRVJSIGV4Y2VwdGlvbiBpZiBtZXRob2QgaXMgZW1wdHkgb3IgdXJsIGNh
bm5vdCBiZSByZXNvbHZlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3N2NjZTk0NTRkZmVkZWI4ZmZlZGUxN2ExNzE2
MWUwZjE5MzRhNmI5Li5kNDI4N2NkNDBkZjRkN2I1OGM4N2U2YzkzMjcyNDU3MGQ5MGZjNjQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA5LTA3ICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMgYW4gYWN0aXZlIFBJUCBi
dXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBkbyBhbnl0aGluZykKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQzMworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBkaXNwbGF5cyBhbiBhY3Rp
dmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBkb2Vzbid0IGRvIGFueXRo
aW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91Y2ggQmFyIGRpc3BsYXlz
IGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAgICAgICAgdmlkZW9zIGFy
ZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhpbmcuIFRoZSBpc3N1ZSBp
cyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAgICB0byBZRVMgdW5jb25k
aXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci4gSXQgaXMgdGhlbiBv
bmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBub3QgZXh0ZXJuYWwgcGxh
eWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4dGVuZHMgdGhhdCBsb2dp
YyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBCYXIgYnV0dG9uIHdpbGwg
YmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBTaW5jZSBQbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93IHdoZXRoZXIgd2UncmUg
ZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVsZW1lbnQsIGEgbmV3IGlz
UGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFkZGVkIChhcyB3ZWxsIGFz
CisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRoZSBzdGF0ZSBvdmVyIGZy
b20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVzdCBoYXMgYmVlbiBhZGRl
ZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUg
YW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBlbGVtZW50cyBhcmUgcGxh
eWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgV0tUZXN0
aW5nIGNhdGVnb3J5LgorCisgICAgICAgIFNvdXJjZS9XZWJLaXQ6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfY2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRD
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpw
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAg
IChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZENoYW5nZWQpOgorCiAyMDE4LTA5LTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEFsbG93IFdlYkNvbnRlbnQgYWNjZXNzIHRvIEFWQ1N1cHBvcnRl
ZCBJT0tpdCBwcm9wZXJ0eSBpbiBzYW5kYm94CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaAppbmRleCBlZmYwMThlMDMzNDBjZDY2
MGRkMmFiMWRlNTZjYjFhN2YxYjkxMWU1Li5jNDNmNzMyZmQ2NDNkZDlmZGJhZDNjYTU3ZmE5MTdh
OGZhMjVhNDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1vZGVsLmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNNdXRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2b2x1
bWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlQWN0
aXZlKCkgY29uc3QgPSAwOwogfTsKIApAQCAtMTA1LDYgKzEwNiw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaXNQaWN0dXJl
SW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGlj
dHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVu
c3VyZUNvbnRyb2xzTWFuYWdlcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5oCmluZGV4IGY3NDIwYjM0YmI5ZjllYTY1NDA2NTBhY2IzY2IyMjM3MmU2ODQ4MmYuLjllZWZk
MTBmMmEzZGNlZWFkMTE5NGVjOTQ4NTMxMzk0ODQ3MjM3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaApAQCAtOTUsNiArOTUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3aXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNNdXRlZCgp
IGNvbnN0IGZpbmFsOwogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29s
IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNQ
aWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3QgZmluYWw7CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggYTE5MGQ2OGQ3ZWVmYTlhYjRlMDI3YmU4
ZTRhOGNmYTY1MDc2ZDc3OC4uYzAxNzkyMTc1ZGQzM2QyOWZhMzg0YTVlOTcyNTUwNTI0NzM5ZDUx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTEwMSw2ICsxMDEsOSBA
QCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNZWRpYUVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbAogICAgIH0KIAogICAgIHVwZGF0ZUZvckV2ZW50TmFt
ZShldmVudE5hbWVBbGwoKSk7CisKKyAgICBmb3IgKGF1dG8gY2xpZW50IDogbV9jbGllbnRzKQor
ICAgICAgICBjbGllbnQtPmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoaXNQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgV2ViQ29yZTo6RXZlbnQmIGV2ZW50KQpAQCAtNTczLDYgKzU3NiwxMSBAQCBkb3VibGUgUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnZvbHVtZSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fbWVkaWFFbGVtZW50ID8gbV9tZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDogMDsKIH0KIAorYm9v
bCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxl
bWVudC0+aXNWaWRlbygpIDogZmFsc2U7Cit9CisKIGJvb2wgUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQ6OmlzUGljdHVyZUluUGljdHVyZUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX21lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IDMy
YTFlNzIyZWZjZTA2ODc1NWE0MGI0MTkzNjEwMWNjMjkwMmIzZjIuLmQ0M2I4N2MwZDk1MjIwYTE3
ZjRjMTBiZjI0N2RkY2JhMzBkMDk4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5t
bQpAQCAtMjAyLDYgKzIwMiw3IEBAIHByaXZhdGU6CiAgICAgRmxvYXRTaXplIHZpZGVvRGltZW5z
aW9ucygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNNdXRlZCgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzUGljdHVy
ZUluUGljdHVyZVN1cHBvcnRlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNQaWN0dXJl
SW5QaWN0dXJlQWN0aXZlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsRW50ZXJQaWN0
dXJlSW5QaWN0dXJlKCkgZmluYWw7CiAgICAgdm9pZCBkaWRFbnRlclBpY3R1cmVJblBpY3R1cmUo
KSBmaW5hbDsKQEAgLTYzNCw2ICs2MzUsMTIgQEAgYm9vbCBWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4g
bV9wbGF5YmFja01vZGVsID8gbV9wbGF5YmFja01vZGVsLT5pc1BpY3R1cmVJblBpY3R1cmVBY3Rp
dmUoKSA6IGZhbHNlOwogfQogCitib29sIFZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0
Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSBjb25zdAoreworICAgIEFTU0VSVChpc1VJ
VGhyZWFkKCkpOworICAgIHJldHVybiBtX3BsYXliYWNrTW9kZWwgPyBtX3BsYXliYWNrTW9kZWwt
PmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpIDogZmFsc2U7Cit9CisKIHZvaWQgVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OndpbGxFbnRlclBpY3R1cmVJblBpY3R1cmUoKQog
ewogICAgIEFTU0VSVChpc1VJVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCmluZGV4IDlhYTk1
NWZjNDRmYTRjODRiOWU0YTBmNjZhOTQzYWE1Yjg0YjI5ZTguLmU3ZGIzOTdjY2U0MGZkNWJkY2M0
ZjVhZjI2ZTdiZjMyNzQxOWY2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKQEAgLTYyLDEyICs2Miwx
NSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVp
bnQ2NF90KSBmaW5hbDsKICAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdl
ZCh1aW50NjRfdCkgZmluYWw7CiAgICAgdm9pZCBleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29s
IC8qIGVuYWJsZWQgKi8sIFBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFy
Z2V0VHlwZSwgY29uc3QgU3RyaW5nJiAvKiBsb2NhbGl6ZWREZXZpY2VOYW1lICovKSBmaW5hbDsK
KyAgICB2b2lkIGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoYm9vbCkgZmluYWw7
CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKICAgICB2b2lkIGVuc3VyZUNvbnRyb2xzTWFuYWdl
cigpOwogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKICAgICB2b2lk
IHNldFBsYXlCYWNrQ29udHJvbHNNYW5hZ2VyKFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyICop
OwogICAgIFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyICpwbGF5QmFja0NvbnRyb2xzTWFuYWdl
cigpOworCisgICAgdm9pZCB1cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlckNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUoKTsKICNlbmRpZgogICAgIHZvaWQgYmVnaW5TY3J1YmJpbmcoKTsKICAg
ICB2b2lkIGVuZFNjcnViYmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggNjAyZWRkYmE1
MWZjZTExMzkzZGJjZTQ0NWZiYjg2MDg2NjQ4Yzk2Ny4uYjg2MjY2ZDRlMzNkMDA3YmZkNzhhNmZl
NTMzYzdmNTM4NmQzOTM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0xODQsMTIgKzE4NCwx
NyBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6bGVnaWJsZU1lZGlhU2VsZWN0
aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90IHNlbAogI2VuZGlmCiB9CiAKLXZvaWQgUGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjOjpleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sIGVuYWJsZWQs
IFBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3Qg
U3RyaW5nJikKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjppc1BpY3R1cmVJblBp
Y3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpCiB7CiAjaWYgRU5BQkxFKFdFQl9QTEFZQkFDS19D
T05UUk9MU19NQU5BR0VSKQotICAgIFtwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigpIHNldENhblRv
Z2dsZVBpY3R1cmVJblBpY3R1cmU6IWVuYWJsZWRdOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZW5hYmxlZCk7CisgICAgdXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0
dXJlSW5QaWN0dXJlKCk7CisjZW5kaWYKK30KKwordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWM6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKGJvb2wsIFBsYXliYWNrU2Vzc2lvbk1vZGVs
OjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3QgU3RyaW5nJikKK3sKKyNpZiBFTkFC
TEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCisgICAgdXBkYXRlUGxheWJhY2tDb250
cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CiAjZW5kaWYKIH0KIApAQCAt
MjM3LDYgKzI0MiwxNyBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6c2V0UGxh
eUJhY2tDb250cm9sc01hbmFnZXIoV2ViUGxheWJhY2tDb250cm9scwogICAgIFttYW5hZ2VyIHNl
dExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnM6bV9wbGF5YmFja1Nlc3Npb25Nb2RlbC0+bGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpIHdpdGhTZWxlY3RlZEluZGV4OnN0YXRpY19jYXN0
PE5TVUludGVnZXI+KG1fcGxheWJhY2tTZXNzaW9uTW9kZWwtPmxlZ2libGVNZWRpYVNlbGVjdGVk
SW5kZXgoKSldOwogfQogCit2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6dXBkYXRl
UGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKK3sKKyAg
ICBQbGF5YmFja1Nlc3Npb25Nb2RlbCogbW9kZWwgPSBwbGF5YmFja1Nlc3Npb25Nb2RlbCgpOwor
ICAgIGlmICghbW9kZWwpIHsKKyAgICAgICAgW3BsYXlCYWNrQ29udHJvbHNNYW5hZ2VyKCkgc2V0
Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZTpOT107CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlOm1vZGVsLT5pc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSAmJiAhbW9kZWwtPmV4dGVy
bmFsUGxheWJhY2tFbmFibGVkKCldOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZU1hYzo6dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJUaW1pbmcoZG91YmxlIGN1cnJlbnRU
aW1lLCBkb3VibGUgYW5jaG9yVGltZSwgZG91YmxlIHBsYXliYWNrUmF0ZSwgYm9vbCBpc1BsYXlp
bmcpCiB7CiAgICAgV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIgKm1hbmFnZXIgPSBwbGF5QmFj
a0NvbnRyb2xzTWFuYWdlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggNjZjMjhlYmZmY2Q1MjNiNzA0NWMxNWFkYjI3NTRmNDJhMGNk
ODI0My4uZTBjMjljNWU0YjdmZDkxZWQzY2EwNjRiOWM5MjNlNDhhYmFjOGZiOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC02NDk1LDYg
KzY0OTUsMTUgQEAgLSAodm9pZClfc2V0RGVmZXJzTG9hZGluZ0ZvclRlc3Rpbmc6KEJPT0wpZGVm
ZXJzTG9hZGluZwogICAgIF9wYWdlLT5zZXREZWZlcnNMb2FkaW5nRm9yVGVzdGluZyhkZWZlcnNM
b2FkaW5nKTsKIH0KIAorLSAoQk9PTClfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3Rp
bmcKK3sKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICByZXR1cm4gX2ltcGwtPmNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nKCk7CisjZWxzZQorICAgIHJldHVybiBOTzsKKyNlbmRp
ZgorfQorCiAtIChfV0tJbnNwZWN0b3IgKilfaW5zcGVjdG9yCiB7CiAgICAgaWYgKGF1dG8qIGlu
c3BlY3RvciA9IF9wYWdlLT5pbnNwZWN0b3IoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDZkMWNiMWRmMGQ0M2Vl
MjNiY2MwODEyY2U4NGMxZTZmYzI3YTdkNzMuLmY1ZTk5OTcyMjk4ZTdjZTU4ZDZiMzFhMWFmMmNh
NzIwYzY1ZmZlNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNDcyLDYgKzQ3Miw4IEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogLSAoQk9PTClfY29tcGxldGVCYWNrU3dp
cGVGb3JUZXN0aW5nOwogLSAodm9pZClfc2V0RGVmZXJzTG9hZGluZ0ZvclRlc3Rpbmc6KEJPT0wp
ZGVmZXJzTG9hZGluZzsKIAorLSAoQk9PTClfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRl
c3Rpbmc7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLSW5zcGVjdG9yICpf
aW5zcGVjdG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tGcmFtZUhhbmRsZSAq
X21haW5GcmFtZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaAppbmRleCA2OGE4OGI1NDUxNTc5ZTg4MjRj
YWQxZWRlODg5ZjVmNWIyMDZhZDM0Li5hMjc3M2U2ZjlmMjNiYTI2NjQ4NzViNWU4MTlhMjcyY2U3
NTQzNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAtODUsNiArODUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQoYm9vbCk7CiAg
ICAgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkKGRvdWJs
ZSk7CisgICAgdm9pZCBwaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKTsKICAg
ICB2b2lkIHBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKGJvb2wpOwogCiBwcml2YXRlOgpA
QCAtMTM2LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJh
Y2tEaXNhYmxlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fd2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQ7IH0KICAgICBib29sIGlzTXV0ZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX211
dGVkOyB9CiAgICAgZG91YmxlIHZvbHVtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdm9sdW1l
OyB9CisgICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQ7IH0KICAgICBib29sIGlzUGljdHVy
ZUluUGljdHVyZUFjdGl2ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcGljdHVyZUluUGljdHVy
ZUFjdGl2ZTsgfQogCiAgICAgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5KiBtX21hbmFnZXI7
CkBAIC0xNjMsNiArMTY1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2lyZWxlc3NWaWRlb1Bs
YXliYWNrRGlzYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tdXRlZCB7IGZhbHNlIH07CiAg
ICAgZG91YmxlIG1fdm9sdW1lIHsgMCB9OworICAgIGJvb2wgbV9waWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fcGljdHVyZUluUGljdHVyZUFjdGl2ZSB7IGZh
bHNlIH07CiB9OwogCkBAIC0yMTMsNiArMjE2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhbmRs
ZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZSh1aW50NjRfdCwgU3RyaW5nKSBjb25zdDsKICAg
ICB2b2lkIG11dGVkQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgbXV0ZWQpOwogICAg
IHZvaWQgdm9sdW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpOwor
ICAgIHZvaWQgcGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQodWludDY0X3QgY29udGV4
dElkLCBib29sIHBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQpOwogICAgIHZvaWQgcGljdHVyZUlu
UGljdHVyZUFjdGl2ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHBpY3R1cmVJblBp
Y3R1cmVBY3RpdmUpOwogCiAgICAgLy8gTWVzc2FnZXMgdG8gUGxheWJhY2tTZXNzaW9uTWFuYWdl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGIxNTFjOWNh
M2U2MTE2OWM5Y2M0NmY3NzY1MTg2NWYyOGZkZjY2NzQuLmIzMWI1ODIxMjYzODU5ZGIzNzQ1NjNh
OTk3NDg1MGI2ZTg4ODE3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTM4LDYgKzM4LDcgQEAgbWVzc2FnZXMgLT4gUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5IHsKICAgICBSYXRlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5
aW5nLCBkb3VibGUgcmF0ZSkKICAgICBNdXRlZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBi
b29sIG11dGVkKTsKICAgICBWb2x1bWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91Ymxl
IHZvbHVtZSk7CisgICAgUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQodWludDY0X3Qg
Y29udGV4dElELCBib29sIHBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQpCiAgICAgUGljdHVyZUlu
UGljdHVyZUFjdGl2ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHBpY3R1cmVJblBp
Y3R1cmVBY3RpdmUpCiAgICAgU2V0VXBQbGF5YmFja0NvbnRyb2xzTWFuYWdlcldpdGhJRCh1aW50
NjRfdCBjb250ZXh0SWQpCiAgICAgQ2xlYXJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHkubW0KaW5kZXggNjMwNGJlN2U4Y2U2ZWQ4ODliOTRmN2U1MmNmNTA0YThk
ZWIxZTU0My4uZGMzNjE3MWI3YjQxZjYyZWFlNGJlM2RmZDNlZTNjZGY5ZTNjMDZkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5tbQpAQCAtMjc2LDYgKzI3NiwxMyBAQCB2b2lkIFBsYXliYWNrU2Vz
c2lvbk1vZGVsQ29udGV4dDo6dm9sdW1lQ2hhbmdlZChkb3VibGUgdm9sdW1lKQogICAgICAgICBj
bGllbnQtPnZvbHVtZUNoYW5nZWQodm9sdW1lKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25N
b2RlbENvbnRleHQ6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wgc3VwcG9y
dGVkKQoreworICAgIG1fcGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCA9IHN1cHBvcnRlZDsKKyAg
ICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xpZW50cykKKyAgICAgICAgY2xpZW50LT5pc1BpY3R1
cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHN1cHBvcnRlZCk7Cit9CisKIHZvaWQgUGxheWJh
Y2tTZXNzaW9uTW9kZWxDb250ZXh0OjpwaWN0dXJlSW5QaWN0dXJlQWN0aXZlQ2hhbmdlZChib29s
IGFjdGl2ZSkKIHsKICAgICBtX3BpY3R1cmVJblBpY3R1cmVBY3RpdmUgPSBhY3RpdmU7CkBAIC00
NzgsNiArNDg1LDExIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpyYXRlQ2hh
bmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5nCiAgICAgZW5zdXJlTW9kZWwo
Y29udGV4dElkKS5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHJhdGUpOwogfQogCit2b2lkIFBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQo
dWludDY0X3QgY29udGV4dElkLCBib29sIHN1cHBvcnRlZCkKK3sKKyAgICBlbnN1cmVNb2RlbChj
b250ZXh0SWQpLnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHN1cHBvcnRlZCk7Cit9
CisKIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpwaWN0dXJlSW5QaWN0dXJlQWN0
aXZlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgYWN0aXZlKQogewogICAgIGVuc3Vy
ZU1vZGVsKGNvbnRleHRJZCkucGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYWN0aXZlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDc5NmM5
MjhkMDkxYzBhNjZiOThiNGNlMjcyMTk1NWM0YjAzZjMyYjMuLmQ5NjRkNTA5ZDkwYmQzMDM4YWM5
ZTU4YzM5ZmUyNzJiY2ExN2E4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaApAQCAtNTU5LDYgKzU1OSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBk
YXRlVG91Y2hCYXJBbmRSZWZyZXNoVGV4dEJhcklkZW50aWZpZXJzKCk7CiAgICAgdm9pZCBzZXRJ
c0N1c3RvbWl6aW5nVG91Y2hCYXIoYm9vbCBpc0N1c3RvbWl6aW5nVG91Y2hCYXIpIHsgbV9pc0N1
c3RvbWl6aW5nVG91Y2hCYXIgPSBpc0N1c3RvbWl6aW5nVG91Y2hCYXI7IH07CisKKyAgICBib29s
IGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nKCk7CiAjZW5kaWYgLy8gSEFWRShU
T1VDSF9CQVIpCiAKICAgICBib29sIGJlZ2luQmFja1N3aXBlRm9yVGVzdGluZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA1NTJkNjUwNWQy
NTM4Yjg2YzVmY2VlZTc3ZDk1MGJhOGMyNWE0MDA2Li5hMDdiNmI2MGYxNWNhOTY1Y2JlNDMxZWJl
NTU3MzljNmJhZjU2Yjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5tbQpAQCAtMTIzNSwxMSArMTIzNSwxMyBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRh
dGVNZWRpYVRvdWNoQmFyKCkKICAgICBpZiAoIW1fcGxheWJhY2tDb250cm9sc01hbmFnZXIpIHsK
ICAgICAgICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciA9IGFkb3B0TlMoW1tXZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlciBhbGxvY10gaW5pdF0pOwogICAgICAgICBbbV9wbGF5YmFja0NvbnRy
b2xzTWFuYWdlciBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6bV9wYWdlLT5wcmVm
ZXJlbmNlcygpLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCldOwotICAgICAg
ICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
OllFU107CisgICAgICAgIFttX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldENhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmU6Tk9dOwogICAgIH0KIAotICAgIGlmIChQbGF0Zm9ybVBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZSogaW50ZXJmYWNlID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
KCktPmNvbnRyb2xzTWFuYWdlckludGVyZmFjZSgpKQorICAgIGlmIChQbGF0Zm9ybVBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZSogaW50ZXJmYWNlID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5h
Z2VyKCktPmNvbnRyb2xzTWFuYWdlckludGVyZmFjZSgpKSB7CiAgICAgICAgIFttX3BsYXliYWNr
Q29udHJvbHNNYW5hZ2VyIHNldFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzppbnRlcmZhY2Vd
OworICAgICAgICBpbnRlcmZhY2UtPnVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZSgpOworICAgIH0KIAogICAgIFttX21lZGlhVG91Y2hCYXJQcm92
aWRlciBzZXRQbGF5YmFja0NvbnRyb2xzQ29udHJvbGxlcjptX3BsYXliYWNrQ29udHJvbHNNYW5h
Z2VyLmdldCgpXTsKICAgICBbbV9tZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IHNldFBsYXliYWNr
Q29udHJvbHNDb250cm9sbGVyOm1fcGxheWJhY2tDb250cm9sc01hbmFnZXIuZ2V0KCldOwpAQCAt
MTI3NSw2ICsxMjc3LDE1IEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhVG91Y2hCYXIo
KQogI2VuZGlmCiB9CiAKKyNpZiBIQVZFKFRPVUNIX0JBUikKKworYm9vbCBXZWJWaWV3SW1wbDo6
Y2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmcoKQoreworICAgIHJldHVybiBbbV9w
bGF5YmFja0NvbnRyb2xzTWFuYWdlciBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlXTsKK30KKwor
I2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQorCiB2b2lkIFdlYlZpZXdJbXBsOjpmb3JjZVJlcXVl
c3RDYW5kaWRhdGVzRm9yVGVzdGluZygpCiB7CiAgICAgbV9jYW5DcmVhdGVUb3VjaEJhcnMgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4v
V0tGdWxsU2NyZWVuVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5tbQppbmRleCBkODhkNjNk
ODZlN2UwNmVkZGNhYWY2NjY2NGVhZmYyYWYzNTUzNjYyLi4wZmMzODg1NTBjYWZlNGYzY2E3MjE5
NjlmMDk0NjQ2OTU5MDNlNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxl
ci5tbQpAQCAtNjUsNiArNjUsMTAgQEAgcHVibGljOgogICAgICAgICBtX3BhcmVudC5wbGF5aW5n
ID0gaXNQbGF5aW5nOwogICAgIH0KIAorICAgIHZvaWQgcGljdHVyZUluUGljdHVyZVN1cHBvcnRl
ZENoYW5nZWQoYm9vbCkgb3ZlcnJpZGUKKyAgICB7CisgICAgfQorCiAgICAgdm9pZCBwaWN0dXJl
SW5QaWN0dXJlQWN0aXZlQ2hhbmdlZChib29sIGFjdGl2ZSkgb3ZlcnJpZGUKICAgICB7CiAgICAg
ICAgIG1fcGFyZW50LnBpY3R1cmVJblBpY3R1cmVBY3RpdmUgPSBhY3RpdmU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIu
aAppbmRleCAxYTg1NzYyNjk5MTEzOWI2OWRlNmM4MzEwMTA1NTExNDk3ZTI5MmFhLi5mMGRlNjJi
OGRiMDVhMzdlYWU3ZDk3MmJhNjZmYmM1ODdlMzI0MGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKQEAgLTg5
LDYgKzg5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkQ2hhbmdlZChib29sKSBmaW5hbDsKICAgICB2b2lkIG11dGVkQ2hhbmdlZChib29sKSBmaW5h
bDsKICAgICB2b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKSBmaW5hbDsKKyAgICB2b2lkIGlzUGlj
dHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoYm9vbCkgZmluYWw7CiAKICAgICBQbGF5YmFj
a1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0KFBsYXliYWNrU2Vzc2lvbk1hbmFnZXImLCB1aW50NjRf
dCBjb250ZXh0SWQpOwogCkBAIC0xNDMsNiArMTQ0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwg
Ym9vbCk7CiAgICAgdm9pZCBtdXRlZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sKTsK
ICAgICB2b2lkIHZvbHVtZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUpOworICAg
IHZvaWQgaXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIGJvb2wpOwogCiAgICAgLy8gTWVzc2FnZXMgZnJvbSBQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkKICAgICB2b2lkIHBsYXkodWludDY0X3QgY29udGV4dElkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0K
aW5kZXggMDg4NDk0YmI2N2FiNDlkZWI0YmMyNzA4ZGRiM2I0MGQ2MGJhMjE1Ni4uZDBhZWMyNWU5
MmU5N2MyODUyYjk2ZGQzNWZjNDE2NzE2NjJkOGQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KQEAgLTE1
NCw2ICsxNTQsMTIgQEAgdm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0OjptdXRl
ZENoYW5nZWQoYm9vbCBtdXRlZCkKICAgICAgICAgbV9tYW5hZ2VyLT5tdXRlZENoYW5nZWQobV9j
b250ZXh0SWQsIG11dGVkKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250
ZXh0Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wgc3VwcG9ydGVkKQor
eworICAgIGlmIChtX21hbmFnZXIpCisgICAgICAgIG1fbWFuYWdlci0+aXNQaWN0dXJlSW5QaWN0
dXJlU3VwcG9ydGVkQ2hhbmdlZChtX2NvbnRleHRJZCwgc3VwcG9ydGVkKTsKK30KKwogdm9pZCBQ
bGF5YmFja1Nlc3Npb25JbnRlcmZhY2VDb250ZXh0Ojp2b2x1bWVDaGFuZ2VkKGRvdWJsZSB2b2x1
bWUpCiB7CiAgICAgaWYgKG1fbWFuYWdlcikKQEAgLTQwMiw2ICs0MDgsMTEgQEAgdm9pZCBQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyOjp2b2x1bWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91
YmxlIHZvbHVtZSkKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6Vm9sdW1lQ2hhbmdlZChjb250ZXh0SWQsIHZvbHVtZSkpOwogfQogCit2b2lk
IFBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5n
ZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHN1cHBvcnRlZCkKK3sKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6UGljdHVyZUluUGljdHVy
ZVN1cHBvcnRlZENoYW5nZWQoY29udGV4dElkLCBzdXBwb3J0ZWQpKTsKK30KKwogI3ByYWdtYSBt
YXJrIE1lc3NhZ2VzIGZyb20gUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OgogCiB2b2lkIFBs
YXliYWNrU2Vzc2lvbk1hbmFnZXI6OnBsYXkodWludDY0X3QgY29udGV4dElkKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNhZDJiMjEzYzk3ZmU3
YmZjMzJhY2QzYjU2MjUwODY2N2JkZDQwMzkuLjI4YzI4ZGI4MTIwMjMzM2RkMjZlMDgxMGQ1YTk3
ODg1MTI3YzM1NGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wOS0wNyAgTWF0dCBSYWpjYSAgPG1yYWpjYUBh
cHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBk
aXNwbGF5cyBhbiBhY3RpdmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBk
b2Vzbid0IGRvIGFueXRoaW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFuIEFQSSB0ZXN0IGhhcyBiZWVuIGFkZGVkIHRoYXQgY2hlY2tzIHRoZSB2
YWx1ZSBvZiB0aGUgY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZSBhbmQgZW5zdXJlcyBpdAorICAg
ICAgICBpcyBOTyB3aGVuIGF1ZGlvIGVsZW1lbnRzIGFyZSBwbGF5aW5nLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJl
RGVsZWdhdGUuaHRtbDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXVkaW8td2l0
aC1jb250cm9scy5odG1sOiBBZGRlZC4KKwogMjAxOC0wOS0wNyAgRnJlZGVyaWMgV2FuZyAgPGZ3
YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTU09NIFZpZXddIEhhbmRsZSB0aGUgc2Nyb2xs
aW5nRWxlbWVudCBpbiBFbGVtZW50OjpzY3JvbGwoTGVmdC9Ub3AvV2lkdGgvSGVpZ2h0L1RvKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0Y2I1ZWNjYTRjNGE3MTkwY2QxZTM0ZWFjNmYxNDQx
YzliN2QxNWM0Li5mNzQ0ZDU4MjcyMmMzMDkwMGEzNmQxMzQ4OGMxYzhhNDkxZjMzODQ2IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzAwLDYgKzcwMCw3IEBACiAJCUM1NDBGNzg0MTUyRTVB
OUEwMEE0MEM4QyAvKiB2ZXJib3NlTWFya3VwLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU0MEY3ODMxNTJFNUE3ODAwQTQwQzhDIC8q
IHZlcmJvc2VNYXJrdXAuaHRtbCAqLzsgfTsKIAkJQzU0MjM3RjExNkI4OTU3RDAwRTYzOEZDIC8q
IFBhc3RlYm9hcmROb3RpZmljYXRpb25zX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQyMzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFz
dGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzVFMUFGRkUxNkIyMjFG
MTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVFMUFGRkQxNkIyMjE3OTAwNkNDMUYyIC8qIGV4ZWND
b3B5Lmh0bWwgKi87IH07CisJCUM5NDQxNjAwMjE0MzBFODkwMEIxRUREQSAvKiBhdWRpby13aXRo
LWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzk0NDE1RkYyMTQzMEI2NzAwQjFFRERBIC8qIGF1ZGlvLXdpdGgtY29udHJv
bHMuaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjQxRTM2QkM2QjAwMkMwRDQ1IC8qIGF1dG9wbGF5LWNo
ZWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzk1OTg0RjIxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5LWNoZWNrLmh0bWwgKi87
IH07CiAJCUM5NTk4NEY1MUUzNkJDNkIwMDJDMEQ0NSAvKiBhdXRvcGxheS1uby1hdWRpby1jaGVj
ay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM5NTk4NEYzMUUzNkJDNTUwMDJDMEQ0NSAvKiBhdXRvcGxheS1uby1hdWRpby1jaGVjay5o
dG1sICovOyB9OwogCQlDOTU5ODRGNzFFMzZCQ0VGMDAyQzBENDUgLyogdGVzdC13aXRob3V0LWF1
ZGlvLXRyYWNrLm1wNCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDOTU5ODRGNjFFMzZCQ0Q3MDAyQzBENDUgLyogdGVzdC13aXRob3V0LWF1ZGlv
LXRyYWNrLm1wNCAqLzsgfTsKQEAgLTk0Nyw2ICs5NDgsNyBAQAogCQkJCTdDOUVEOThCMTdBMTlG
NEIwMEU0REMzMyAvKiBhdHRyaWJ1dGVkU3RyaW5nU3RyaWtldGhyb3VnaC5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTM3MTM3RTRCMjExMjREMDEwMDJCRUVBNCAvKiBBdHRyU3R5bGUu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDRDlFMjkyRTFDOTBDMzNGMDAwQkI4MDAg
LyogYXVkaW8tb25seS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCUM5NDQxNjAwMjE0
MzBFODkwMEIxRUREQSAvKiBhdWRpby13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8sCiAJCQkJQ0Q1Nzc3OUMyMTFDRTkxRjAwMUIzNzFFIC8qIGF1ZGlvLXdpdGgtd2ViLWF1
ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNzZFMTgyREYxNTQ3NjdFNjAwRjFG
QUREIC8qIGF1dG8tc3VibWl0dGluZy1mb3JtLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJRjQxQUI5OUYxRUY0Njk2QjAwODNGQTA4IC8qIGF1dG9mb2N1cy1jb250ZW50ZWRpdGFibGUu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE5MTcsNiArMTkxOSw3IEBACiAJCUM1NDIz
N0VEMTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFzdGVib2FyZE5vdGlmaWNh
dGlvbnNfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzU0MjM3RUUx
NkI4OTU1ODAwRTYzOEZDIC8qIFBhc3RlYm9hcmROb3RpZmljYXRpb25zLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGFzdGVib2FyZE5vdGlmaWNhdGlvbnMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1RTFBRkZEMTZCMjIxNzkwMDZDQzFGMiAv
KiBleGVjQ29weS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZXhlY0NvcHkuaHRt
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzk0NDE1RkYyMTQzMEI2NzAwQjFFRERB
IC8qIGF1ZGlvLXdpdGgtY29udHJvbHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
ICJhdWRpby13aXRoLWNvbnRyb2xzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmVmZXJlbmNlcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzk1OTg0RjIxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5LWNo
ZWNrLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXV0b3BsYXktY2hlY2suaHRt
bCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM5NTk4NEYzMUUzNkJDNTUwMDJDMEQ0
NSAvKiBhdXRvcGxheS1uby1hdWRpby1jaGVjay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImF1dG9wbGF5LW5vLWF1ZGlvLWNoZWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjYyMSw2ICsyNjI0LDcgQEAKIAkJCQk1QzlFNTk0MDFEM0VCMURFMDBFM0M2
MkUgLyogQXBwbGljYXRpb25DYWNoZS5kYi13YWwgKi8sCiAJCQkJRjQ4NTZDQTIxRTY0OThBODAw
OUQ3RUU3IC8qIGF0dGFjaG1lbnQtZWxlbWVudC5odG1sICovLAogCQkJCTM3NjBDNEYyMjExMjRC
RDAwMDIzM0FDQyAvKiBBdHRyU3R5bGUuaHRtbCAqLywKKwkJCQlDOTQ0MTVGRjIxNDMwQjY3MDBC
MUVEREEgLyogYXVkaW8td2l0aC1jb250cm9scy5odG1sICovLAogCQkJCUNENTc3NzlBMjExQ0U2
QjcwMDFCMzcxRSAvKiBhdWRpby13aXRoLXdlYi1hdWRpby5odG1sICovLAogCQkJCUY0MUFCOTk4
MUVGNDY5MkMwMDgzRkEwOCAvKiBhdXRvZm9jdXMtY29udGVudGVkaXRhYmxlLmh0bWwgKi8sCiAJ
CQkJOTNDRkE4NjYxQ0VCOURFMTAwMDU2NUE4IC8qIGF1dG9mb2N1c2VkLXRleHQtaW5wdXQuaHRt
bCAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCmluZGV4IGY5NWI3ZjE5
OWIwMGRmN2FmNTBkZTA3M2RlOWRjMTM1MzE4MjVkMzcuLjgyY2RjODFhNDJkYWVmNjJjNzEzYWEy
YTc3Y2JiYmFiN2M2ZGQ3NDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUuaHRt
bApAQCAtOCw2ICs4LDkgQEAKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgCiAgICAgICAg
ICAgICBmdW5jdGlvbiBsb2FkKCkgeworICAgICAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKKyAgICAgICAgICAgICAgICB0YXJnZXQucGxh
eSgpOworCiAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy53ZWJraXQgIT09IHVuZGVmaW5lZCAm
JiB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJlSW5QaWN0dXJlQ2hhbmdlSGFu
ZGxlciAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLnBpY3R1cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyLnBvc3RNZXNzYWdl
KCdsb2FkJyk7CiAgICAgICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0
ZS5tbQppbmRleCBjMjI0NDkwODY5ZDhiOGU3YzIwNTVjNjI0Yjk2ZDYzYTZiNTEyY2U1Li5hY2Fj
NDg0ZWI2NGQ3OWVmOTIxZGU3YWYwYzMxMTJkMDg1MzNiMjY0IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBp
Y3R1cmVEZWxlZ2F0ZS5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiUGxhdGZvcm1VdGls
aXRpZXMuaCIKICNpbXBvcnQgIlBsYXRmb3JtV2ViVmlldy5oIgogI2ltcG9ydCAiVGVzdC5oIgor
I2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNSZXRh
aW5QdHIuaD4KICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+CiAjaW1w
b3J0IDxXZWJLaXQvV0tQYWdlUHJpdmF0ZU1hYy5oPgpAQCAtMTE5LDEzICsxMjAsMTcgQEAgVEVT
VChQaWN0dXJlSW5QaWN0dXJlLCBXS1VJRGVsZWdhdGUpCiAgICAgUmV0YWluUHRyPFBpY3R1cmVJ
blBpY3R1cmVVSURlbGVnYXRlPiBoYW5kbGVyID0gYWRvcHROUyhbW1BpY3R1cmVJblBpY3R1cmVV
SURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50
Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBuYW1lOkAi
cGljdHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIiXTsKICAgICBbd2ViVmlldyBzZXRVSURlbGVn
YXRlOmhhbmRsZXIuZ2V0KCldOwotICAgIAorCisjaWYgSEFWRShUT1VDSF9CQVIpCisgICAgW3dl
YlZpZXcgX2ZvcmNlUmVxdWVzdENhbmRpZGF0ZXNdOworI2VuZGlmCisKICAgICBSZXRhaW5QdHI8
TlNXaW5kb3c+IHdpbmRvdyA9IGFkb3B0TlMoW1tOU1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250
ZW50UmVjdDpbd2ViVmlldyBmcmFtZV0gc3R5bGVNYXNrOk5TV2luZG93U3R5bGVNYXNrQm9yZGVy
bGVzcyBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKICAgICBbW3dp
bmRvdyBjb250ZW50Vmlld10gYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKICAgICBbd2luZG93
IG1ha2VLZXlBbmRPcmRlckZyb250Om5pbF07CiAKICAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJQaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUiIHdpdGhFeHRlbnNpb246QCJo
dG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXTsKLSAgICAKKwog
ICAgIHJlY2VpdmVkTG9hZGVkTWVzc2FnZSA9IGZhbHNlOwogICAgIAogICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OnJlcXVlc3RdOwpAQCAtMTM4LDE2ICsxNDMsNDYgQEAgVEVTVChQaWN0dXJlSW5Q
aWN0dXJlLCBXS1VJRGVsZWdhdGUpCiAgICAgW3dlYlZpZXcgbW91c2VEb3duOmV2ZW50XTsKICAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2Fs
bGVkKTsKICAgICBBU1NFUlRfVFJVRShoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsK
LSAgICAKLSAgICBzbGVlcCgxX3MpOyAvLyBXYWl0IGZvciBQSVBBZ2VudCB0byBsYXVuY2gsIG9y
IGl0IHdvbid0IGNhbGwgLXBpcERpZENsb3NlOiBjYWxsYmFjay4KLSAgICAKKworICAgIC8vIFdh
aXQgZm9yIFBJUEFnZW50IHRvIGxhdW5jaCwgb3IgaXQgd29uJ3QgY2FsbCAtcGlwRGlkQ2xvc2U6
IGNhbGxiYWNrLgorICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5VbnRpbERhdGU6
W05TRGF0ZSBkYXRlV2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93OjFdXTsKKworI2lmIEhBVkUoVE9V
Q0hfQkFSKQorICAgIEFTU0VSVF9UUlVFKFt3ZWJWaWV3IF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlRm9yVGVzdGluZ10pOworI2VuZGlmCisKICAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVy
ZUNhbGxlZCA9IGZhbHNlOwogICAgIFt3ZWJWaWV3IG1vdXNlRG93bjpldmVudF07CiAgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCk7
CiAgICAgQVNTRVJUX0ZBTFNFKGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUpOwogfQot
ICAgIAotICAgIAorCisjaWYgSEFWRShUT1VDSF9CQVIpCisKK1RFU1QoUGljdHVyZUluUGljdHVy
ZSwgQXVkaW9DYW5ub3RUb2dnbGVQaWN0dXJlSW5QaWN0dXJlKQoreworICAgIFJldGFpblB0cjxX
S1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmll
dz4gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
Ok5TTWFrZVJlY3QoMCwgMCwgNDAwLCA1NCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdl
dCgpXSk7CisgICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9mdWxsU2NyZWVuRW5hYmxl
ZCA9IFlFUzsKKyAgICBbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10uX2FsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOworICAgIFJldGFpblB0cjxQaWN0dXJlSW5QaWN0
dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0TlMoW1tQaWN0dXJlSW5QaWN0dXJlVUlEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRy
b2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAInBpY3R1
cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyIl07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpo
YW5kbGVyLmdldCgpXTsKKyAgICBbd2ViVmlldyBfZm9yY2VSZXF1ZXN0Q2FuZGlkYXRlc107CisK
KyAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IHdpbmRvdyA9IGFkb3B0TlMoW1tOU1dpbmRvdyBhbGxv
Y10gaW5pdFdpdGhDb250ZW50UmVjdDpbd2ViVmlldyBmcmFtZV0gc3R5bGVNYXNrOk5TV2luZG93
U3R5bGVNYXNrQm9yZGVybGVzcyBiYWNraW5nOk5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6
Tk9dKTsKKyAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgp
XTsKKyAgICBbd2luZG93IG1ha2VLZXlBbmRPcmRlckZyb250Om5pbF07CisKKyAgICBbd2ViVmll
dyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJhdWRpby13aXRoLWNvbnRyb2xzIl07
CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAicGxheSgpIiBjb21wbGV0aW9uSGFu
ZGxlcjpuaWxdOworCisgICAgW1tOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdIHJ1blVudGlsRGF0
ZTpbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2VOb3c6MV1dOworICAgIEFTU0VSVF9G
QUxTRShbd2ViVmlldyBfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKTsKK30K
KworI2VuZGlmIC8vIEhBVkUoVE9VQ0hfQkFSKQorCiBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdL
UGFnZVVJQ2xpZW50KQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9
IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRpby13aXRoLWNvbnRyb2xzLmh0bWwgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2F1ZGlvLXdpdGgtY29udHJvbHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZDcyN2I3ZmFjNmQ4YjA5M2M0MTczMTQzYThlZDMyYmVjZDE4NTQ1Ci0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9hdWRp
by13aXRoLWNvbnRyb2xzLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiBwYWdlTG9hZGVkKCkgewor
ICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLnBpY3R1cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyLnBvc3RNZXNzYWdl
KCdsb2FkJyk7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gcGxheSgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiYXVkaW8iKS5wbGF5KCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIGRpZFN0YXJ0UGxheWluZygpIHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0
dXJlSW5QaWN0dXJlQ2hhbmdlSGFuZGxlci5wb3N0TWVzc2FnZSgncGxheWluZycpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InBhZ2VMb2FkZWQoKSI+CisgICAgICAg
IDxhdWRpbyBjb250cm9scyBpZD0iYXVkaW8iIHNyYz0ic2lsZW5jZS1sb25nLm00YSIgb25wbGF5
aW5nPSJkaWRTdGFydFBsYXlpbmcoKSIgLz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349216</attachid>
            <date>2018-09-07 16:40:41 -0700</date>
            <delta_ts>2018-09-07 17:46:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189433-20180907164040.patch</filename>
            <type>text/plain</type>
            <size>34494</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NlZTQ1MmNhOThmNGIw
NjhjMGVkZWU5MTA2MmQyOThhMWU2MThjNC4uMDA1NjNjYzBiZGY0YjU1NTRmYjBmODc5ZTMxNDNk
YTVkMjAyOTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA5LTA3ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMg
YW4gYWN0aXZlIFBJUCBidXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBk
byBhbnl0aGluZykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBk
aXNwbGF5cyBhbiBhY3RpdmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBk
b2Vzbid0IGRvIGFueXRoaW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdoZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91
Y2ggQmFyIGRpc3BsYXlzIGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAg
ICAgICAgdmlkZW9zIGFyZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhp
bmcuIFRoZSBpc3N1ZSBpcyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAg
ICB0byBZRVMgdW5jb25kaXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdl
ci4gSXQgaXMgdGhlbiBvbmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBu
b3QgZXh0ZXJuYWwgcGxheWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4
dGVuZHMgdGhhdCBsb2dpYyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBC
YXIgYnV0dG9uIHdpbGwgYmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBT
aW5jZSBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93
IHdoZXRoZXIgd2UncmUgZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVs
ZW1lbnQsIGEgbmV3IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFk
ZGVkIChhcyB3ZWxsIGFzCisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRo
ZSBzdGF0ZSBvdmVyIGZyb20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVz
dCBoYXMgYmVlbiBhZGRlZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUgYW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBl
bGVtZW50cyBhcmUgcGxheWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQ
aWN0dXJlSW5QaWN0dXJlRm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRl
ZCB0byB0aGUgV0tUZXN0aW5nIGNhdGVnb3J5LgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
UGxheWJhY2tTZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ2xpZW50Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6
OnNldE1lZGlhRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkIGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmg6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6aXNQaWN0dXJlSW5QaWN0dXJl
U3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1Nlc3Npb25JbnRl
cmZhY2VNYWM6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJD
YW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKToKKwogMjAxOC0wOS0wNyAgUm9iIEJ1aXMgIDxyYnVp
c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFhNTEh0dHBSZXF1ZXN0OiBvcGVuKCkgZG9lcyBub3Qg
dGhyb3cgYSBTWU5UQVhfRVJSIGV4Y2VwdGlvbiBpZiBtZXRob2QgaXMgZW1wdHkgb3IgdXJsIGNh
bm5vdCBiZSByZXNvbHZlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3N2NjZTk0NTRkZmVkZWI4ZmZlZGUxN2ExNzE2
MWUwZjE5MzRhNmI5Li5kNDI4N2NkNDBkZjRkN2I1OGM4N2U2YzkzMjcyNDU3MGQ5MGZjNjQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE4LTA5LTA3ICBNYXR0IFJhamNhICA8bXJhamNh
QGFwcGxlLmNvbT4KKworICAgICAgICBUb3VjaCBCYXIgZGlzcGxheXMgYW4gYWN0aXZlIFBJUCBi
dXR0b24gZm9yIGF1ZGlvIGVsZW1lbnRzIChhbmQgaXQgZG9lc24ndCBkbyBhbnl0aGluZykKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTQzMworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQxODY0OTg+IFRvdWNoIEJhciBkaXNwbGF5cyBhbiBhY3Rp
dmUgUElQIGJ1dHRvbiBmb3IgYXVkaW8gZWxlbWVudHMgKGFuZCBpdCBkb2Vzbid0IGRvIGFueXRo
aW5nKQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdo
ZW4gcGxheWluZyBhbiBhdWRpbyBlbGVtZW50LCB0aGUgbWVkaWEgVG91Y2ggQmFyIGRpc3BsYXlz
IGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGV2ZW4gdGhvdWdoIG9ubHkKKyAgICAgICAgdmlkZW9zIGFy
ZSBQSVAtYWJsZS4gUHJlc3NpbmcgaXQgZG9lcyBub3QgZG8gYW55dGhpbmcuIFRoZSBpc3N1ZSBp
cyBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGlzIHNldAorICAgICAgICB0byBZRVMgdW5jb25k
aXRpb25hbGx5IG9uIHRoZSBXZWJQbGF5YmFja0NvbnRyb2xzTWFuYWdlci4gSXQgaXMgdGhlbiBv
bmx5IHVwZGF0ZWQgYmFzZWQgb24gd2hldGhlciBvcgorICAgICAgICBub3QgZXh0ZXJuYWwgcGxh
eWJhY2sgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIHBhdGNoIGV4dGVuZHMgdGhhdCBsb2dp
YyBzdWNoIHRoYXQgdGhlIHBpY3R1cmUtaW4tcGljdHVyZSBUb3VjaCBCYXIgYnV0dG9uIHdpbGwg
YmUgZGlzYWJsZWQgZm9yCisgICAgICAgIGF1ZGlvIGVsZW1lbnRzLiBTaW5jZSBQbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudCB0b2RheSBkb2VzIG5vdCBrbm93IHdoZXRoZXIgd2UncmUg
ZGVhbGluZworICAgICAgICB3aXRoIGFuIGF1ZGlvIG9yIHZpZGVvIGVsZW1lbnQsIGEgbmV3IGlz
UGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCBmbGFnIGhhcyBiZWVuIGFkZGVkIChhcyB3ZWxsIGFz
CisgICAgICAgIHRoZSBwbHVtYmluZyBuZWNlc3NhcnkgdG8gZ2V0IHRoZSBzdGF0ZSBvdmVyIGZy
b20gdGhlIHdlYiBwcm9jZXNzKS4KKworICAgICAgICBBbiBBUEkgdGVzdCBoYXMgYmVlbiBhZGRl
ZCB0aGF0IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhlIGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmUg
YW5kIGVuc3VyZXMgaXQKKyAgICAgICAgaXMgTk8gd2hlbiBhdWRpbyBlbGVtZW50cyBhcmUgcGxh
eWluZy4gVG8gZXhwb3NlIGl0IHRvIHRlc3RzLCBhIF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZworICAgICAgICBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgV0tUZXN0
aW5nIGNhdGVnb3J5LgorCisgICAgICAgIFNvdXJjZS9XZWJLaXQ6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfY2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmddKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRD
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpw
aWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlTWVkaWFUb3VjaEJhcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uSW50ZXJm
YWNlQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZCk6CisgICAgICAg
IChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZENoYW5nZWQpOgorCiAyMDE4LTA5LTA3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIEFsbG93IFdlYkNvbnRlbnQgYWNjZXNzIHRvIEFWQ1N1cHBvcnRl
ZCBJT0tpdCBwcm9wZXJ0eSBpbiBzYW5kYm94CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWwuaAppbmRleCBlZmYwMThlMDMzNDBjZDY2
MGRkMmFiMWRlNTZjYjFhN2YxYjkxMWU1Li5jNDNmNzMyZmQ2NDNkZDlmZGJhZDNjYTU3ZmE5MTdh
OGZhMjVhNDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1vZGVsLmgKQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNNdXRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGRvdWJsZSB2b2x1
bWUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzUGljdHVyZUluUGljdHVyZVN1cHBv
cnRlZCgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlQWN0
aXZlKCkgY29uc3QgPSAwOwogfTsKIApAQCAtMTA1LDYgKzEwNiw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHZvbHVtZUNoYW5nZWQoZG91YmxlKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgaXNQaWN0dXJl
SW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGlj
dHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYm9vbCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGVu
c3VyZUNvbnRyb2xzTWFuYWdlcigpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVu
dC5oCmluZGV4IGY3NDIwYjM0YmI5ZjllYTY1NDA2NTBhY2IzY2IyMjM3MmU2ODQ4MmYuLjllZWZk
MTBmMmEzZGNlZWFkMTE5NGVjOTQ4NTMxMzk0ODQ3MjM3OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaApAQCAtOTUsNiArOTUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCB3aXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNNdXRlZCgp
IGNvbnN0IGZpbmFsOwogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29s
IGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNQ
aWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3QgZmluYWw7CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggYTE5MGQ2OGQ3ZWVmYTlhYjRlMDI3YmU4
ZTRhOGNmYTY1MDc2ZDc3OC4uYzAxNzkyMTc1ZGQzM2QyOWZhMzg0YTVlOTcyNTUwNTI0NzM5ZDUx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTEwMSw2ICsxMDEsOSBA
QCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNZWRpYUVsZW1lbnQo
SFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbAogICAgIH0KIAogICAgIHVwZGF0ZUZvckV2ZW50TmFt
ZShldmVudE5hbWVBbGwoKSk7CisKKyAgICBmb3IgKGF1dG8gY2xpZW50IDogbV9jbGllbnRzKQor
ICAgICAgICBjbGllbnQtPmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoaXNQaWN0
dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVs
TWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgV2ViQ29yZTo6RXZlbnQmIGV2ZW50KQpAQCAtNTczLDYgKzU3NiwxMSBAQCBkb3VibGUgUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnZvbHVtZSgpIGNvbnN0CiAgICAgcmV0dXJu
IG1fbWVkaWFFbGVtZW50ID8gbV9tZWRpYUVsZW1lbnQtPnZvbHVtZSgpIDogMDsKIH0KIAorYm9v
bCBQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6aXNQaWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9tZWRpYUVsZW1lbnQgPyBtX21lZGlhRWxl
bWVudC0+aXNWaWRlbygpIDogZmFsc2U7Cit9CisKIGJvb2wgUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQ6OmlzUGljdHVyZUluUGljdHVyZUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX21lZGlhRWxlbWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IDMy
YTFlNzIyZWZjZTA2ODc1NWE0MGI0MTkzNjEwMWNjMjkwMmIzZjIuLmQ0M2I4N2MwZDk1MjIwYTE3
ZjRjMTBiZjI0N2RkY2JhMzBkMDk4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5t
bQpAQCAtMjAyLDYgKzIwMiw3IEBAIHByaXZhdGU6CiAgICAgRmxvYXRTaXplIHZpZGVvRGltZW5z
aW9ucygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNNdXRlZCgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzUGljdHVy
ZUluUGljdHVyZVN1cHBvcnRlZCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNQaWN0dXJl
SW5QaWN0dXJlQWN0aXZlKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB3aWxsRW50ZXJQaWN0
dXJlSW5QaWN0dXJlKCkgZmluYWw7CiAgICAgdm9pZCBkaWRFbnRlclBpY3R1cmVJblBpY3R1cmUo
KSBmaW5hbDsKQEAgLTYzNCw2ICs2MzUsMTIgQEAgYm9vbCBWaWRlb0Z1bGxzY3JlZW5Db250cm9s
bGVyQ29udGV4dDo6aXNQaWN0dXJlSW5QaWN0dXJlQWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4g
bV9wbGF5YmFja01vZGVsID8gbV9wbGF5YmFja01vZGVsLT5pc1BpY3R1cmVJblBpY3R1cmVBY3Rp
dmUoKSA6IGZhbHNlOwogfQogCitib29sIFZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0
Ojppc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSBjb25zdAoreworICAgIEFTU0VSVChpc1VJ
VGhyZWFkKCkpOworICAgIHJldHVybiBtX3BsYXliYWNrTW9kZWwgPyBtX3BsYXliYWNrTW9kZWwt
PmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCgpIDogZmFsc2U7Cit9CisKIHZvaWQgVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OndpbGxFbnRlclBpY3R1cmVJblBpY3R1cmUoKQog
ewogICAgIEFTU0VSVChpc1VJVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5oCmluZGV4IDlhYTk1
NWZjNDRmYTRjODRiOWU0YTBmNjZhOTQzYWE1Yjg0YjI5ZTguLmU3ZGIzOTdjY2U0MGZkNWJkY2M0
ZjVhZjI2ZTdiZjMyNzQxOWY2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLmgKQEAgLTYyLDEyICs2Miwx
NSBAQCBwdWJsaWM6CiAgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVp
bnQ2NF90KSBmaW5hbDsKICAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdl
ZCh1aW50NjRfdCkgZmluYWw7CiAgICAgdm9pZCBleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29s
IC8qIGVuYWJsZWQgKi8sIFBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFy
Z2V0VHlwZSwgY29uc3QgU3RyaW5nJiAvKiBsb2NhbGl6ZWREZXZpY2VOYW1lICovKSBmaW5hbDsK
KyAgICB2b2lkIGlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoYm9vbCkgZmluYWw7
CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKICAgICB2b2lkIGVuc3VyZUNvbnRyb2xzTWFuYWdl
cigpOwogI2lmIEVOQUJMRShXRUJfUExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKICAgICB2b2lk
IHNldFBsYXlCYWNrQ29udHJvbHNNYW5hZ2VyKFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyICop
OwogICAgIFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyICpwbGF5QmFja0NvbnRyb2xzTWFuYWdl
cigpOworCisgICAgdm9pZCB1cGRhdGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlckNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmUoKTsKICNlbmRpZgogICAgIHZvaWQgYmVnaW5TY3J1YmJpbmcoKTsKICAg
ICB2b2lkIGVuZFNjcnViYmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9QbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VNYWMubW0KaW5kZXggNjAyZWRkYmE1
MWZjZTExMzkzZGJjZTQ0NWZiYjg2MDg2NjQ4Yzk2Ny4uYjg2MjY2ZDRlMzNkMDA3YmZkNzhhNmZl
NTMzYzdmNTM4NmQzOTM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjLm1tCkBAIC0xODQsMTIgKzE4NCwx
NyBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6bGVnaWJsZU1lZGlhU2VsZWN0
aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90IHNlbAogI2VuZGlmCiB9CiAKLXZvaWQgUGxheWJhY2tT
ZXNzaW9uSW50ZXJmYWNlTWFjOjpleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sIGVuYWJsZWQs
IFBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3Qg
U3RyaW5nJikKK3ZvaWQgUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlTWFjOjppc1BpY3R1cmVJblBp
Y3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wpCiB7CiAjaWYgRU5BQkxFKFdFQl9QTEFZQkFDS19D
T05UUk9MU19NQU5BR0VSKQotICAgIFtwbGF5QmFja0NvbnRyb2xzTWFuYWdlcigpIHNldENhblRv
Z2dsZVBpY3R1cmVJblBpY3R1cmU6IWVuYWJsZWRdOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZW5hYmxlZCk7CisgICAgdXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0
dXJlSW5QaWN0dXJlKCk7CisjZW5kaWYKK30KKwordm9pZCBQbGF5YmFja1Nlc3Npb25JbnRlcmZh
Y2VNYWM6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKGJvb2wsIFBsYXliYWNrU2Vzc2lvbk1vZGVs
OjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZSwgY29uc3QgU3RyaW5nJikKK3sKKyNpZiBFTkFC
TEUoV0VCX1BMQVlCQUNLX0NPTlRST0xTX01BTkFHRVIpCisgICAgdXBkYXRlUGxheWJhY2tDb250
cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCk7CiAjZW5kaWYKIH0KIApAQCAt
MjM3LDYgKzI0MiwxNyBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6c2V0UGxh
eUJhY2tDb250cm9sc01hbmFnZXIoV2ViUGxheWJhY2tDb250cm9scwogICAgIFttYW5hZ2VyIHNl
dExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnM6bV9wbGF5YmFja1Nlc3Npb25Nb2RlbC0+bGVn
aWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpIHdpdGhTZWxlY3RlZEluZGV4OnN0YXRpY19jYXN0
PE5TVUludGVnZXI+KG1fcGxheWJhY2tTZXNzaW9uTW9kZWwtPmxlZ2libGVNZWRpYVNlbGVjdGVk
SW5kZXgoKSldOwogfQogCit2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzo6dXBkYXRl
UGxheWJhY2tDb250cm9sc01hbmFnZXJDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKK3sKKyAg
ICBQbGF5YmFja1Nlc3Npb25Nb2RlbCogbW9kZWwgPSBwbGF5YmFja1Nlc3Npb25Nb2RlbCgpOwor
ICAgIGlmICghbW9kZWwpIHsKKyAgICAgICAgW3BsYXlCYWNrQ29udHJvbHNNYW5hZ2VyKCkgc2V0
Q2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZTpOT107CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBbcGxheUJhY2tDb250cm9sc01hbmFnZXIoKSBzZXRDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0
dXJlOm1vZGVsLT5pc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSAmJiAhbW9kZWwtPmV4dGVy
bmFsUGxheWJhY2tFbmFibGVkKCldOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFj
ZU1hYzo6dXBkYXRlUGxheWJhY2tDb250cm9sc01hbmFnZXJUaW1pbmcoZG91YmxlIGN1cnJlbnRU
aW1lLCBkb3VibGUgYW5jaG9yVGltZSwgZG91YmxlIHBsYXliYWNrUmF0ZSwgYm9vbCBpc1BsYXlp
bmcpCiB7CiAgICAgV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIgKm1hbmFnZXIgPSBwbGF5QmFj
a0NvbnRyb2xzTWFuYWdlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggNjZjMjhlYmZmY2Q1MjNiNzA0NWMxNWFkYjI3NTRmNDJhMGNk
ODI0My4uZTBjMjljNWU0YjdmZDkxZWQzY2EwNjRiOWM5MjNlNDhhYmFjOGZiOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC02NDk1LDYg
KzY0OTUsMTUgQEAgLSAodm9pZClfc2V0RGVmZXJzTG9hZGluZ0ZvclRlc3Rpbmc6KEJPT0wpZGVm
ZXJzTG9hZGluZwogICAgIF9wYWdlLT5zZXREZWZlcnNMb2FkaW5nRm9yVGVzdGluZyhkZWZlcnNM
b2FkaW5nKTsKIH0KIAorLSAoQk9PTClfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3Rp
bmcKK3sKKyNpZiBIQVZFKFRPVUNIX0JBUikKKyAgICByZXR1cm4gX2ltcGwtPmNhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nKCk7CisjZWxzZQorICAgIHJldHVybiBOTzsKKyNlbmRp
ZgorfQorCiAtIChfV0tJbnNwZWN0b3IgKilfaW5zcGVjdG9yCiB7CiAgICAgaWYgKGF1dG8qIGlu
c3BlY3RvciA9IF9wYWdlLT5pbnNwZWN0b3IoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IDZkMWNiMWRmMGQ0M2Vl
MjNiY2MwODEyY2U4NGMxZTZmYzI3YTdkNzMuLmY1ZTk5OTcyMjk4ZTdjZTU4ZDZiMzFhMWFmMmNh
NzIwYzY1ZmZlNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtNDcyLDYgKzQ3Miw4IEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBfV0tSZWN0RWRnZSkgewogLSAoQk9PTClfY29tcGxldGVCYWNrU3dp
cGVGb3JUZXN0aW5nOwogLSAodm9pZClfc2V0RGVmZXJzTG9hZGluZ0ZvclRlc3Rpbmc6KEJPT0wp
ZGVmZXJzTG9hZGluZzsKIAorLSAoQk9PTClfY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRl
c3Rpbmc7CisKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgX1dLSW5zcGVjdG9yICpf
aW5zcGVjdG9yIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9T
X1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBfV0tGcmFtZUhhbmRsZSAq
X21haW5GcmFtZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaAppbmRleCA2OGE4OGI1NDUxNTc5ZTg4MjRj
YWQxZWRlODg5ZjVmNWIyMDZhZDM0Li5hMjc3M2U2ZjlmMjNiYTI2NjQ4NzViNWU4MTlhMjcyY2U3
NTQzNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAtODUsNiArODUsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQoYm9vbCk7CiAg
ICAgdm9pZCBtdXRlZENoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkKGRvdWJs
ZSk7CisgICAgdm9pZCBwaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKTsKICAg
ICB2b2lkIHBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKGJvb2wpOwogCiBwcml2YXRlOgpA
QCAtMTM2LDYgKzEzNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJh
Y2tEaXNhYmxlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fd2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQ7IH0KICAgICBib29sIGlzTXV0ZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX211
dGVkOyB9CiAgICAgZG91YmxlIHZvbHVtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdm9sdW1l
OyB9CisgICAgYm9vbCBpc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQ7IH0KICAgICBib29sIGlzUGljdHVy
ZUluUGljdHVyZUFjdGl2ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcGljdHVyZUluUGljdHVy
ZUFjdGl2ZTsgfQogCiAgICAgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5KiBtX21hbmFnZXI7
CkBAIC0xNjMsNiArMTY1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2lyZWxlc3NWaWRlb1Bs
YXliYWNrRGlzYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9tdXRlZCB7IGZhbHNlIH07CiAg
ICAgZG91YmxlIG1fdm9sdW1lIHsgMCB9OworICAgIGJvb2wgbV9waWN0dXJlSW5QaWN0dXJlU3Vw
cG9ydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fcGljdHVyZUluUGljdHVyZUFjdGl2ZSB7IGZh
bHNlIH07CiB9OwogCkBAIC0yMTMsNiArMjE2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhhbmRs
ZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZSh1aW50NjRfdCwgU3RyaW5nKSBjb25zdDsKICAg
ICB2b2lkIG11dGVkQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgbXV0ZWQpOwogICAg
IHZvaWQgdm9sdW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSB2b2x1bWUpOwor
ICAgIHZvaWQgcGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQodWludDY0X3QgY29udGV4
dElkLCBib29sIHBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQpOwogICAgIHZvaWQgcGljdHVyZUlu
UGljdHVyZUFjdGl2ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHBpY3R1cmVJblBp
Y3R1cmVBY3RpdmUpOwogCiAgICAgLy8gTWVzc2FnZXMgdG8gUGxheWJhY2tTZXNzaW9uTWFuYWdl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGIxNTFjOWNh
M2U2MTE2OWM5Y2M0NmY3NzY1MTg2NWYyOGZkZjY2NzQuLmIzMWI1ODIxMjYzODU5ZGIzNzQ1NjNh
OTk3NDg1MGI2ZTg4ODE3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTM4LDYgKzM4LDcgQEAgbWVzc2FnZXMgLT4gUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5IHsKICAgICBSYXRlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5
aW5nLCBkb3VibGUgcmF0ZSkKICAgICBNdXRlZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBi
b29sIG11dGVkKTsKICAgICBWb2x1bWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91Ymxl
IHZvbHVtZSk7CisgICAgUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQodWludDY0X3Qg
Y29udGV4dElELCBib29sIHBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQpCiAgICAgUGljdHVyZUlu
UGljdHVyZUFjdGl2ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHBpY3R1cmVJblBp
Y3R1cmVBY3RpdmUpCiAgICAgU2V0VXBQbGF5YmFja0NvbnRyb2xzTWFuYWdlcldpdGhJRCh1aW50
NjRfdCBjb250ZXh0SWQpCiAgICAgQ2xlYXJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHkubW0KaW5kZXggNjMwNGJlN2U4Y2U2ZWQ4ODliOTRmN2U1MmNmNTA0YThk
ZWIxZTU0My4uZGMzNjE3MWI3YjQxZjYyZWFlNGJlM2RmZDNlZTNjZGY5ZTNjMDZkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5tbQpAQCAtMjc2LDYgKzI3NiwxMyBAQCB2b2lkIFBsYXliYWNrU2Vz
c2lvbk1vZGVsQ29udGV4dDo6dm9sdW1lQ2hhbmdlZChkb3VibGUgdm9sdW1lKQogICAgICAgICBj
bGllbnQtPnZvbHVtZUNoYW5nZWQodm9sdW1lKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Npb25N
b2RlbENvbnRleHQ6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKGJvb2wgc3VwcG9y
dGVkKQoreworICAgIG1fcGljdHVyZUluUGljdHVyZVN1cHBvcnRlZCA9IHN1cHBvcnRlZDsKKyAg
ICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xpZW50cykKKyAgICAgICAgY2xpZW50LT5pc1BpY3R1
cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHN1cHBvcnRlZCk7Cit9CisKIHZvaWQgUGxheWJh
Y2tTZXNzaW9uTW9kZWxDb250ZXh0OjpwaWN0dXJlSW5QaWN0dXJlQWN0aXZlQ2hhbmdlZChib29s
IGFjdGl2ZSkKIHsKICAgICBtX3BpY3R1cmVJblBpY3R1cmVBY3RpdmUgPSBhY3RpdmU7CkBAIC00
NzgsNiArNDg1LDExIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpyYXRlQ2hh
bmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5nCiAgICAgZW5zdXJlTW9kZWwo
Y29udGV4dElkKS5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHJhdGUpOwogfQogCit2b2lkIFBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQo
dWludDY0X3QgY29udGV4dElkLCBib29sIHN1cHBvcnRlZCkKK3sKKyAgICBlbnN1cmVNb2RlbChj
b250ZXh0SWQpLnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKHN1cHBvcnRlZCk7Cit9
CisKIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpwaWN0dXJlSW5QaWN0dXJlQWN0
aXZlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgYWN0aXZlKQogewogICAgIGVuc3Vy
ZU1vZGVsKGNvbnRleHRJZCkucGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYWN0aXZlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDc5NmM5
MjhkMDkxYzBhNjZiOThiNGNlMjcyMTk1NWM0YjAzZjMyYjMuLmQ5NjRkNTA5ZDkwYmQzMDM4YWM5
ZTU4YzM5ZmUyNzJiY2ExN2E4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaApAQCAtNTU5LDYgKzU1OSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBk
YXRlVG91Y2hCYXJBbmRSZWZyZXNoVGV4dEJhcklkZW50aWZpZXJzKCk7CiAgICAgdm9pZCBzZXRJ
c0N1c3RvbWl6aW5nVG91Y2hCYXIoYm9vbCBpc0N1c3RvbWl6aW5nVG91Y2hCYXIpIHsgbV9pc0N1
c3RvbWl6aW5nVG91Y2hCYXIgPSBpc0N1c3RvbWl6aW5nVG91Y2hCYXI7IH07CisKKyAgICBib29s
IGNhblRvZ2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nKCk7CiAjZW5kaWYgLy8gSEFWRShU
T1VDSF9CQVIpCiAKICAgICBib29sIGJlZ2luQmFja1N3aXBlRm9yVGVzdGluZygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCA1NTJkNjUwNWQy
NTM4Yjg2YzVmY2VlZTc3ZDk1MGJhOGMyNWE0MDA2Li4xYWY0YWRkZjFkN2M0N2E3MTI4NjI5YWVl
MzYxOGRkOTgxNzcwYmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5tbQpAQCAtMTIzNSwxMSArMTIzNSwxMyBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRh
dGVNZWRpYVRvdWNoQmFyKCkKICAgICBpZiAoIW1fcGxheWJhY2tDb250cm9sc01hbmFnZXIpIHsK
ICAgICAgICAgbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciA9IGFkb3B0TlMoW1tXZWJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlciBhbGxvY10gaW5pdF0pOwogICAgICAgICBbbV9wbGF5YmFja0NvbnRy
b2xzTWFuYWdlciBzZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s6bV9wYWdlLT5wcmVm
ZXJlbmNlcygpLmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCldOwotICAgICAg
ICBbbV9wbGF5YmFja0NvbnRyb2xzTWFuYWdlciBzZXRDYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
OllFU107CisgICAgICAgIFttX3BsYXliYWNrQ29udHJvbHNNYW5hZ2VyIHNldENhblRvZ2dsZVBp
Y3R1cmVJblBpY3R1cmU6Tk9dOwogICAgIH0KIAotICAgIGlmIChQbGF0Zm9ybVBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZSogaW50ZXJmYWNlID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
KCktPmNvbnRyb2xzTWFuYWdlckludGVyZmFjZSgpKQorICAgIGlmIChQbGF0Zm9ybVBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZSogaW50ZXJmYWNlID0gbV9wYWdlLT5wbGF5YmFja1Nlc3Npb25NYW5h
Z2VyKCktPmNvbnRyb2xzTWFuYWdlckludGVyZmFjZSgpKSB7CiAgICAgICAgIFttX3BsYXliYWNr
Q29udHJvbHNNYW5hZ2VyIHNldFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZU1hYzppbnRlcmZhY2Vd
OworICAgICAgICBpbnRlcmZhY2UtPnVwZGF0ZVBsYXliYWNrQ29udHJvbHNNYW5hZ2VyQ2FuVG9n
Z2xlUGljdHVyZUluUGljdHVyZSgpOworICAgIH0KIAogICAgIFttX21lZGlhVG91Y2hCYXJQcm92
aWRlciBzZXRQbGF5YmFja0NvbnRyb2xzQ29udHJvbGxlcjptX3BsYXliYWNrQ29udHJvbHNNYW5h
Z2VyLmdldCgpXTsKICAgICBbbV9tZWRpYVBsYXliYWNrQ29udHJvbHNWaWV3IHNldFBsYXliYWNr
Q29udHJvbHNDb250cm9sbGVyOm1fcGxheWJhY2tDb250cm9sc01hbmFnZXIuZ2V0KCldOwpAQCAt
MTI3NSw2ICsxMjc3LDE5IEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZU1lZGlhVG91Y2hCYXIo
KQogI2VuZGlmCiB9CiAKKyNpZiBIQVZFKFRPVUNIX0JBUikKKworYm9vbCBXZWJWaWV3SW1wbDo6
Y2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZUZvclRlc3RpbmcoKQoreworI2lmIEVOQUJMRShXRUJf
UExBWUJBQ0tfQ09OVFJPTFNfTUFOQUdFUikKKyAgICByZXR1cm4gW21fcGxheWJhY2tDb250cm9s
c01hbmFnZXIgY2FuVG9nZ2xlUGljdHVyZUluUGljdHVyZV07CisjZWxzZQorICAgIHJldHVybiBO
TzsKKyNlbmRpZgorfQorCisjZW5kaWYgLy8gSEFWRShUT1VDSF9CQVIpCisKIHZvaWQgV2ViVmll
d0ltcGw6OmZvcmNlUmVxdWVzdENhbmRpZGF0ZXNGb3JUZXN0aW5nKCkKIHsKICAgICBtX2NhbkNy
ZWF0ZVRvdWNoQmFycyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvZnVsbHNjcmVlbi9XS0Z1bGxTY3JlZW5WaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlblZpZXdDb250cm9sbGVy
Lm1tCmluZGV4IGQ4OGQ2M2Q4NmU3ZTA2ZWRkY2FhZjY2NjY0ZWFmZjJhZjM1NTM2NjIuLjBmYzM4
ODU1MGNhZmU0ZjNjYTcyMTk2OWYwOTQ2NDY5NTkwM2U2NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNjcmVlblZpZXdDb250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL1dLRnVsbFNj
cmVlblZpZXdDb250cm9sbGVyLm1tCkBAIC02NSw2ICs2NSwxMCBAQCBwdWJsaWM6CiAgICAgICAg
IG1fcGFyZW50LnBsYXlpbmcgPSBpc1BsYXlpbmc7CiAgICAgfQogCisgICAgdm9pZCBwaWN0dXJl
SW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKSBvdmVycmlkZQorICAgIHsKKyAgICB9CisK
ICAgICB2b2lkIHBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKGJvb2wgYWN0aXZlKSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgbV9wYXJlbnQucGljdHVyZUluUGljdHVyZUFjdGl2ZSA9IGFj
dGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJh
Y2tTZXNzaW9uTWFuYWdlci5oCmluZGV4IDFhODU3NjI2OTkxMTM5YjY5ZGU2YzgzMTAxMDU1MTE0
OTdlMjkyYWEuLmYwZGU2MmI4ZGIwNWEzN2VhZTdkOTcyYmE2NmZiYzU4N2UzMjQwZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1hbmFnZXIuaApAQCAtODksNiArODksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgd2lyZWxlc3NW
aWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpIGZpbmFsOwogICAgIHZvaWQgbXV0ZWRD
aGFuZ2VkKGJvb2wpIGZpbmFsOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZChkb3VibGUpIGZpbmFs
OworICAgIHZvaWQgaXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChib29sKSBmaW5h
bDsKIAogICAgIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQoUGxheWJhY2tTZXNzaW9u
TWFuYWdlciYsIHVpbnQ2NF90IGNvbnRleHRJZCk7CiAKQEAgLTE0Myw2ICsxNDQsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQodWlu
dDY0X3QgY29udGV4dElkLCBib29sKTsKICAgICB2b2lkIG11dGVkQ2hhbmdlZCh1aW50NjRfdCBj
b250ZXh0SWQsIGJvb2wpOwogICAgIHZvaWQgdm9sdW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIGRvdWJsZSk7CisgICAgdm9pZCBpc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2Vk
KHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCk7CiAKICAgICAvLyBNZXNzYWdlcyBmcm9tIFBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eQogICAgIHZvaWQgcGxheSh1aW50NjRfdCBjb250ZXh0SWQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vz
c2lvbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tT
ZXNzaW9uTWFuYWdlci5tbQppbmRleCAwODg0OTRiYjY3YWI0OWRlYjRiYzI3MDhkZGIzYjQwZDYw
YmEyMTU2Li5kMGFlYzI1ZTkyZTk3YzI4NTJiOTZkZDM1ZmM0MTY3MTY2MmQ4ZDg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9u
TWFuYWdlci5tbQpAQCAtMTU0LDYgKzE1NCwxMiBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVy
ZmFjZUNvbnRleHQ6Om11dGVkQ2hhbmdlZChib29sIG11dGVkKQogICAgICAgICBtX21hbmFnZXIt
Pm11dGVkQ2hhbmdlZChtX2NvbnRleHRJZCwgbXV0ZWQpOwogfQogCit2b2lkIFBsYXliYWNrU2Vz
c2lvbkludGVyZmFjZUNvbnRleHQ6OmlzUGljdHVyZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQo
Ym9vbCBzdXBwb3J0ZWQpCit7CisgICAgaWYgKG1fbWFuYWdlcikKKyAgICAgICAgbV9tYW5hZ2Vy
LT5pc1BpY3R1cmVJblBpY3R1cmVTdXBwb3J0ZWRDaGFuZ2VkKG1fY29udGV4dElkLCBzdXBwb3J0
ZWQpOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUNvbnRleHQ6OnZvbHVtZUNo
YW5nZWQoZG91YmxlIHZvbHVtZSkKIHsKICAgICBpZiAobV9tYW5hZ2VyKQpAQCAtNDAyLDYgKzQw
OCwxMSBAQCB2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnZvbHVtZUNoYW5nZWQodWludDY0
X3QgY29udGV4dElkLCBkb3VibGUgdm9sdW1lKQogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpWb2x1bWVDaGFuZ2VkKGNvbnRleHRJZCwgdm9s
dW1lKSk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6aXNQaWN0dXJlSW5QaWN0
dXJlU3VwcG9ydGVkQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgc3VwcG9ydGVkKQor
eworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChjb250ZXh0SWQsIHN1cHBvcnRlZCkp
OworfQorCiAjcHJhZ21hIG1hcmsgTWVzc2FnZXMgZnJvbSBQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6CiAKIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6cGxheSh1aW50NjRfdCBjb250
ZXh0SWQpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggM2FkMmIyMTNjOTdmZTdiZmMzMmFjZDNiNTYyNTA4NjY3YmRkNDAzOS4uMjhjMjhkYjgxMjAy
MzMzZGQyNmUwODEwZDVhOTc4ODUxMjdjMzU0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA5LTA3ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NDMzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDE4
NjQ5OD4gVG91Y2ggQmFyIGRpc3BsYXlzIGFuIGFjdGl2ZSBQSVAgYnV0dG9uIGZvciBhdWRpbyBl
bGVtZW50cyAoYW5kIGl0IGRvZXNuJ3QgZG8gYW55dGhpbmcpCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQW4gQVBJIHRlc3QgaGFzIGJlZW4gYWRkZWQg
dGhhdCBjaGVja3MgdGhlIHZhbHVlIG9mIHRoZSBjYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJlIGFu
ZCBlbnN1cmVzIGl0CisgICAgICAgIGlzIE5PIHdoZW4gYXVkaW8gZWxlbWVudHMgYXJlIHBsYXlp
bmcuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9hdWRpby13aXRoLWNvbnRyb2xzLmh0bWw6IEFkZGVkLgorCiAyMDE4LTA5LTA3ICBG
cmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ1NTT00gVmlld10g
SGFuZGxlIHRoZSBzY3JvbGxpbmdFbGVtZW50IGluIEVsZW1lbnQ6OnNjcm9sbChMZWZ0L1RvcC9X
aWR0aC9IZWlnaHQvVG8pCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRjYjVlY2NhNGM0YTcx
OTBjZDFlMzRlYWM2ZjE0NDFjOWI3ZDE1YzQuLmY3NDRkNTgyNzIyYzMwOTAwYTM2ZDEzNDg4YzFj
OGE0OTFmMzM4NDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03MDAsNiArNzAwLDcgQEAK
IAkJQzU0MEY3ODQxNTJFNUE5QTAwQTQwQzhDIC8qIHZlcmJvc2VNYXJrdXAuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQwRjc4MzE1
MkU1QTc4MDBBNDBDOEMgLyogdmVyYm9zZU1hcmt1cC5odG1sICovOyB9OwogCQlDNTQyMzdGMTE2
Qjg5NTdEMDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1NDIzN0VEMTZCODk1
NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwICovOyB9Owog
CQlDNUUxQUZGRTE2QjIyMUYxMDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUUxQUZGRDE2QjIyMTc5
MDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCAqLzsgfTsKKwkJQzk0NDE2MDAyMTQzMEU4OTAwQjFF
RERBIC8qIGF1ZGlvLXdpdGgtY29udHJvbHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTQ0MTVGRjIxNDMwQjY3MDBCMUVEREEgLyog
YXVkaW8td2l0aC1jb250cm9scy5odG1sICovOyB9OwogCQlDOTU5ODRGNDFFMzZCQzZCMDAyQzBE
NDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTU5ODRGMjFFMzZCQzU1MDAyQzBENDUgLyogYXV0b3Bs
YXktY2hlY2suaHRtbCAqLzsgfTsKIAkJQzk1OTg0RjUxRTM2QkM2QjAwMkMwRDQ1IC8qIGF1dG9w
bGF5LW5vLWF1ZGlvLWNoZWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzk1OTg0RjMxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5
LW5vLWF1ZGlvLWNoZWNrLmh0bWwgKi87IH07CiAJCUM5NTk4NEY3MUUzNkJDRUYwMDJDMEQ0NSAv
KiB0ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NTk4NEY2MUUzNkJDRDcwMDJDMEQ0NSAvKiB0
ZXN0LXdpdGhvdXQtYXVkaW8tdHJhY2subXA0ICovOyB9OwpAQCAtOTQ3LDYgKzk0OCw3IEBACiAJ
CQkJN0M5RUQ5OEIxN0ExOUY0QjAwRTREQzMzIC8qIGF0dHJpYnV0ZWRTdHJpbmdTdHJpa2V0aHJv
dWdoLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMzcxMzdFNEIyMTEyNEQwMTAwMkJF
RUE0IC8qIEF0dHJTdHlsZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUNEOUUyOTJF
MUM5MEMzM0YwMDBCQjgwMCAvKiBhdWRpby1vbmx5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CisJCQkJQzk0NDE2MDAyMTQzMEU4OTAwQjFFRERBIC8qIGF1ZGlvLXdpdGgtY29udHJvbHMuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlDRDU3Nzc5QzIxMUNFOTFGMDAxQjM3MUUgLyog
YXVkaW8td2l0aC13ZWItYXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk3NkUx
ODJERjE1NDc2N0U2MDBGMUZBREQgLyogYXV0by1zdWJtaXR0aW5nLWZvcm0uaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQlGNDFBQjk5RjFFRjQ2OTZCMDA4M0ZBMDggLyogYXV0b2ZvY3Vz
LWNvbnRlbnRlZGl0YWJsZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMTkxNyw2ICsx
OTE5LDcgQEAKIAkJQzU0MjM3RUQxNkI4OTU1ODAwRTYzOEZDIC8qIFBhc3RlYm9hcmROb3RpZmlj
YXRpb25zX0J1bmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQ
YXN0ZWJvYXJkTm90aWZpY2F0aW9uc19CdW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDNTQyMzdFRTE2Qjg5NTU4MDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlv
bnMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQYXN0ZWJvYXJk
Tm90aWZpY2F0aW9ucy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVFMUFGRkQx
NkIyMjE3OTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSBleGVjQ29weS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDOTQ0MTVG
RjIxNDMwQjY3MDBCMUVEREEgLyogYXVkaW8td2l0aC1jb250cm9scy5odG1sICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dC5odG1sOyBwYXRoID0gImF1ZGlvLXdpdGgtY29udHJvbHMuaHRtbCI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNl
cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZlcmVuY2Vz
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDOTU5ODRGMjFFMzZCQzU1MDAyQzBE
NDUgLyogYXV0b3BsYXktY2hlY2suaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJh
dXRvcGxheS1jaGVjay5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzk1OTg0
RjMxRTM2QkM1NTAwMkMwRDQ1IC8qIGF1dG9wbGF5LW5vLWF1ZGlvLWNoZWNrLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiYXV0b3BsYXktbm8tYXVkaW8tY2hlY2suaHRtbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNjIxLDYgKzI2MjQsNyBAQAogCQkJCTVDOUU1
OTQwMUQzRUIxREUwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRiLXdhbCAqLywKIAkJCQlG
NDg1NkNBMjFFNjQ5OEE4MDA5RDdFRTcgLyogYXR0YWNobWVudC1lbGVtZW50Lmh0bWwgKi8sCiAJ
CQkJMzc2MEM0RjIyMTEyNEJEMDAwMjMzQUNDIC8qIEF0dHJTdHlsZS5odG1sICovLAorCQkJCUM5
NDQxNUZGMjE0MzBCNjcwMEIxRUREQSAvKiBhdWRpby13aXRoLWNvbnRyb2xzLmh0bWwgKi8sCiAJ
CQkJQ0Q1Nzc3OUEyMTFDRTZCNzAwMUIzNzFFIC8qIGF1ZGlvLXdpdGgtd2ViLWF1ZGlvLmh0bWwg
Ki8sCiAJCQkJRjQxQUI5OTgxRUY0NjkyQzAwODNGQTA4IC8qIGF1dG9mb2N1cy1jb250ZW50ZWRp
dGFibGUuaHRtbCAqLywKIAkJCQk5M0NGQTg2NjFDRUI5REUxMDAwNTY1QTggLyogYXV0b2ZvY3Vz
ZWQtdGV4dC1pbnB1dC5odG1sICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUuaHRtbCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0
bWwKaW5kZXggZjk1YjdmMTk5YjAwZGY3YWY1MGRlMDczZGU5ZGMxMzUzMTgyNWQzNy4uODJjZGM4
MWE0MmRhZWY2MmM3MTNhYTJhNzdjYmJiYWI3YzZkZDc0MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUuaHRt
bAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBp
Y3R1cmVEZWxlZ2F0ZS5odG1sCkBAIC04LDYgKzgsOSBAQAogICAgICAgICAgICAgfSk7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIGZ1bmN0aW9uIGxvYWQoKSB7CisgICAgICAgICAgICAgICAg
dmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOworICAgICAgICAg
ICAgICAgIHRhcmdldC5wbGF5KCk7CisKICAgICAgICAgICAgICAgICBpZiAod2luZG93LndlYmtp
dCAhPT0gdW5kZWZpbmVkICYmIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnBpY3R1cmVJ
blBpY3R1cmVDaGFuZ2VIYW5kbGVyICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGljdHVyZUluUGljdHVyZUNoYW5nZUhh
bmRsZXIucG9zdE1lc3NhZ2UoJ2xvYWQnKTsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1BpY3R1cmVJblBpY3R1cmVE
ZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVy
ZUluUGljdHVyZURlbGVnYXRlLm1tCmluZGV4IGMyMjQ0OTA4NjlkOGI4ZTdjMjA1NWM2MjRiOTZk
NjNhNmI1MTJjZTUuLmFjYWM0ODRlYjY0ZDc5ZWY5MjFkZTdhZjBjMzExMmQwODUzM2IyNjQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGljdHVyZUlu
UGljdHVyZURlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1w
b3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCAiUGxhdGZvcm1XZWJWaWV3LmgiCiAj
aW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxKYXZh
U2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1BhZ2VQcml2YXRlTWFjLmg+CkBAIC0xMTks
MTMgKzEyMCwxNyBAQCBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKICAgICBS
ZXRhaW5QdHI8UGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGU+IGhhbmRsZXIgPSBhZG9wdE5TKFtb
UGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKICAgICBbW2NvbmZpZ3Vy
YXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5k
bGVyLmdldCgpIG5hbWU6QCJwaWN0dXJlSW5QaWN0dXJlQ2hhbmdlSGFuZGxlciJdOwogICAgIFt3
ZWJWaWV3IHNldFVJRGVsZWdhdGU6aGFuZGxlci5nZXQoKV07Ci0gICAgCisKKyNpZiBIQVZFKFRP
VUNIX0JBUikKKyAgICBbd2ViVmlldyBfZm9yY2VSZXF1ZXN0Q2FuZGlkYXRlc107CisjZW5kaWYK
KwogICAgIFJldGFpblB0cjxOU1dpbmRvdz4gd2luZG93ID0gYWRvcHROUyhbW05TV2luZG93IGFs
bG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Olt3ZWJWaWV3IGZyYW1lXSBzdHlsZU1hc2s6TlNXaW5k
b3dTdHlsZU1hc2tCb3JkZXJsZXNzIGJhY2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZl
cjpOT10pOwogICAgIFtbd2luZG93IGNvbnRlbnRWaWV3XSBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0
KCldOwogICAgIFt3aW5kb3cgbWFrZUtleUFuZE9yZGVyRnJvbnQ6bmlsXTsKIAogICAgIE5TVVJM
UmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIlBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZSIg
d2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3Vy
Y2VzIl1dOwotICAgIAorCiAgICAgcmVjZWl2ZWRMb2FkZWRNZXNzYWdlID0gZmFsc2U7CiAgICAg
CiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CkBAIC0xMzgsMTYgKzE0Myw0NiBA
QCBURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKICAgICBbd2ViVmlldyBtb3Vz
ZURvd246ZXZlbnRdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaGFzVmlkZW9JblBp
Y3R1cmVJblBpY3R1cmVDYWxsZWQpOwogICAgIEFTU0VSVF9UUlVFKGhhc1ZpZGVvSW5QaWN0dXJl
SW5QaWN0dXJlVmFsdWUpOwotICAgIAotICAgIHNsZWVwKDFfcyk7IC8vIFdhaXQgZm9yIFBJUEFn
ZW50IHRvIGxhdW5jaCwgb3IgaXQgd29uJ3QgY2FsbCAtcGlwRGlkQ2xvc2U6IGNhbGxiYWNrLgot
ICAgIAorCisgICAgLy8gV2FpdCBmb3IgUElQQWdlbnQgdG8gbGF1bmNoLCBvciBpdCB3b24ndCBj
YWxsIC1waXBEaWRDbG9zZTogY2FsbGJhY2suCisgICAgW1tOU1J1bkxvb3AgY3VycmVudFJ1bkxv
b3BdIHJ1blVudGlsRGF0ZTpbTlNEYXRlIGRhdGVXaXRoVGltZUludGVydmFsU2luY2VOb3c6MV1d
OworCisjaWYgSEFWRShUT1VDSF9CQVIpCisgICAgQVNTRVJUX1RSVUUoW3dlYlZpZXcgX2NhblRv
Z2dsZVBpY3R1cmVJblBpY3R1cmVGb3JUZXN0aW5nXSk7CisjZW5kaWYKKwogICAgIGhhc1ZpZGVv
SW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gZmFsc2U7CiAgICAgW3dlYlZpZXcgbW91c2VEb3du
OmV2ZW50XTsKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmhhc1ZpZGVvSW5QaWN0dXJl
SW5QaWN0dXJlQ2FsbGVkKTsKICAgICBBU1NFUlRfRkFMU0UoaGFzVmlkZW9JblBpY3R1cmVJblBp
Y3R1cmVWYWx1ZSk7CiB9Ci0gICAgCi0gICAgCisKKyNpZiBIQVZFKFRPVUNIX0JBUikKKworVEVT
VChQaWN0dXJlSW5QaWN0dXJlLCBBdWRpb0Nhbm5vdFRvZ2dsZVBpY3R1cmVJblBpY3R1cmUpCit7
CisgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFJldGFp
blB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA0MDAsIDU0KSBjb25maWd1cmF0aW9u
OmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10u
X2Z1bGxTY3JlZW5FbmFibGVkID0gWUVTOworICAgIFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2Vz
XS5fYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBZRVM7CisgICAgUmV0YWlu
UHRyPFBpY3R1cmVJblBpY3R1cmVVSURlbGVnYXRlPiBoYW5kbGVyID0gYWRvcHROUyhbW1BpY3R1
cmVJblBpY3R1cmVVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW1tjb25maWd1cmF0aW9u
IHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5n
ZXQoKSBuYW1lOkAicGljdHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIiXTsKKyAgICBbd2ViVmll
dyBzZXRVSURlbGVnYXRlOmhhbmRsZXIuZ2V0KCldOworICAgIFt3ZWJWaWV3IF9mb3JjZVJlcXVl
c3RDYW5kaWRhdGVzXTsKKworICAgIFJldGFpblB0cjxOU1dpbmRvdz4gd2luZG93ID0gYWRvcHRO
UyhbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Olt3ZWJWaWV3IGZyYW1lXSBz
dHlsZU1hc2s6TlNXaW5kb3dTdHlsZU1hc2tCb3JkZXJsZXNzIGJhY2tpbmc6TlNCYWNraW5nU3Rv
cmVCdWZmZXJlZCBkZWZlcjpOT10pOworICAgIFtbd2luZG93IGNvbnRlbnRWaWV3XSBhZGRTdWJ2
aWV3OndlYlZpZXcuZ2V0KCldOworICAgIFt3aW5kb3cgbWFrZUtleUFuZE9yZGVyRnJvbnQ6bmls
XTsKKworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImF1ZGlv
LXdpdGgtY29udHJvbHMiXTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJwbGF5
KCkiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisKKyAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVu
TG9vcF0gcnVuVW50aWxEYXRlOltOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZU5vdzox
XV07CisgICAgQVNTRVJUX0ZBTFNFKFt3ZWJWaWV3IF9jYW5Ub2dnbGVQaWN0dXJlSW5QaWN0dXJl
Rm9yVGVzdGluZ10pOworfQorCisjZW5kaWYgLy8gSEFWRShUT1VDSF9CQVIpCisKIFRFU1QoUGlj
dHVyZUluUGljdHVyZSwgV0tQYWdlVUlDbGllbnQpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250
ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7CmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2F1ZGlvLXdpdGgtY29udHJv
bHMuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvYXVkaW8td2l0
aC1jb250cm9scy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNzI3YjdmYWM2ZDhiMDkzYzQxNzMxNDNhOGVk
MzJiZWNkMTg1NDUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL2F1ZGlvLXdpdGgtY29udHJvbHMuaHRtbApAQCAtMCwwICsxLDI0IEBACis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9u
IHBhZ2VMb2FkZWQoKSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGljdHVyZUluUGljdHVyZUNoYW5nZUhh
bmRsZXIucG9zdE1lc3NhZ2UoJ2xvYWQnKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBwbGF5KCkgeworICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdWRpbyIpLnBsYXkoKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZGlkU3RhcnRQbGF5aW5nKCkgeworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVz
c2FnZUhhbmRsZXJzLnBpY3R1cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyLnBvc3RNZXNzYWdlKCdw
bGF5aW5nJyk7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icGFnZUxv
YWRlZCgpIj4KKyAgICAgICAgPGF1ZGlvIGNvbnRyb2xzIGlkPSJhdWRpbyIgc3JjPSJzaWxlbmNl
LWxvbmcubTRhIiBvbnBsYXlpbmc9ImRpZFN0YXJ0UGxheWluZygpIiAvPgorICAgIDwvYm9keT4K
KzwvaHRtbD4K
</data>
<flag name="review"
          id="366799"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>