<?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>162658</bug_id>
          
          <creation_ts>2016-09-27 20:06:05 -0700</creation_ts>
          <short_desc>Adopt MediaRemote SPI to achieve desired Now Playing behavior</short_desc>
          <delta_ts>2016-09-28 11:24:23 -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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1234233</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-27 20:06:05 -0700</bug_when>
    <thetext>Adopt MediaRemote SPI to achieve desired Now Playing behavior</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234235</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-27 20:06:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/28499358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234236</commentid>
    <comment_count>2</comment_count>
      <attachid>290053</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-27 20:14:59 -0700</bug_when>
    <thetext>Created attachment 290053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234237</commentid>
    <comment_count>3</comment_count>
      <attachid>290054</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-27 20:18:52 -0700</bug_when>
    <thetext>Created attachment 290054
Rebased on ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234238</commentid>
    <comment_count>4</comment_count>
      <attachid>290054</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-27 20:21:22 -0700</bug_when>
    <thetext>Comment on attachment 290054
Rebased on ToT

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

&gt; Source/WebCore/ChangeLog:27
&gt; +2016-09-27  Wenson Hsieh  &lt;wenson_hsieh@apple.com&gt;

This ChangeLog entry is from an earlier entry and was erroneously included in this patch. I will remove this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234240</commentid>
    <comment_count>5</comment_count>
      <attachid>290055</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-27 20:49:50 -0700</bug_when>
    <thetext>Created attachment 290055
Fix TestWebKitAPI build on iOS and public SDKs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234413</commentid>
    <comment_count>6</comment_count>
      <attachid>290055</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-09-28 09:32:29 -0700</bug_when>
    <thetext>Comment on attachment 290055
Fix TestWebKitAPI build on iOS and public SDKs.

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

r=me, with nits.

&gt; Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm:133
&gt; +            MRMediaRemoteSetNowPlayingVisibility(MRMediaRemoteGetLocalOrigin(), 3 /* MRNowPlayingClientVisibilityNeverVisible */);

These enums should be added to MediaRemoteSPI.h.

&gt; Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm:154
&gt; +    MRMediaRemoteSetNowPlayingVisibility(MRMediaRemoteGetLocalOrigin(), 1 /* MRNowPlayingClientVisibilityAlwaysVisible */);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234438</commentid>
    <comment_count>7</comment_count>
      <attachid>290098</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-28 10:21:01 -0700</bug_when>
    <thetext>Created attachment 290098
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234439</commentid>
    <comment_count>8</comment_count>
      <attachid>290098</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-28 10:23:19 -0700</bug_when>
    <thetext>Comment on attachment 290098
Patch for landing

Rejecting attachment 290098 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 290098, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/2162576</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234441</commentid>
    <comment_count>9</comment_count>
      <attachid>290099</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-28 10:27:05 -0700</bug_when>
    <thetext>Created attachment 290099
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234455</commentid>
    <comment_count>10</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-28 11:20:13 -0700</bug_when>
    <thetext>Committed r206527: &lt;http://trac.webkit.org/changeset/206527&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234458</commentid>
    <comment_count>11</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-28 11:24:23 -0700</bug_when>
    <thetext>The layout test failure from commit queue does not seem related.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290053</attachid>
            <date>2016-09-27 20:14:59 -0700</date>
            <delta_ts>2016-09-27 20:18:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162658-20160927201200.patch</filename>
            <type>text/plain</type>
            <size>43432</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmZlZTQ3ZDZiYzgyNTIy
Yjg0ZmIwOWViMGNmNWFjMDg3MzQ5Nzk5Yy4uN2EwNmM4YjU3YzE4MDUxMTQ4N2E1MGQ3NjcwNDIz
NGRiMmQzODY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU5IEBACiAyMDE2LTA5LTI3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIEFkb3B0IE1lZGlh
UmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVzdG9yZXMgdGhlIGNoYW5nZXMgcHJldmlvdXNseSByb2xs
ZWQgb3V0IGluIHIyMDY0NDQsIGFuZCBhZG9wdHMgbmV3IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hp
ZXZlIHRoZSBkZXNpcmVkCisgICAgICAgIGJlaGF2aW9yIGZvciBtZWRpYSBpbiBiYWNrZ3JvdW5k
IHRhYnMgd2l0aG91dCBicmVha2luZyBvdGhlciBmZWF0dXJlcy4KKworICAgICAgICBJbnRyb2R1
Y2VzIDIgbmV3IHVuaXQgdGVzdHMgaW4gTm93UGxheWluZ0NvbnRyb2xzVGVzdHMuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6cGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAgICAg
ICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpZXdTdGF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omhhc0FjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFT
ZXNzaW9uTWFuYWdlck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdl
ck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NZWRp
YVJlbW90ZVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVT
b2Z0TGluay5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaDoK
KworMjAxNi0wOS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZWxhdGVkIHZpZGVvcyBvbiBZb3VUdWJlIChhbmQgWW91VHViZSBwbGF5bGlzdHMp
IGNhdXNlIG1lZGlhIGNvbnRyb2xzIHRvIGRpc2FwcGVhcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yODQ4NDE5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAg
VHdlYWtzIHRoZSBtYWluIGNvbnRlbnQgbWVkaWEgaGV1cmlzdGljIGZvciBiZXR0ZXIgTm93IFBs
YXlpbmcgYmVoYXZpb3Igb24gWW91VHViZSBieSBtYWtpbmcgdGhlIGZvbGxvd2luZworICAgICAg
ICBjaGFuZ2VzOgorICAgICAgICAtIFJlbW92ZSB0aGUgc3RyaWN0IHJlcXVpcmVtZW50IGZvciBh
dWRpbyB0byBiZSBhY3RpdmVseSBwbGF5aW5nIGZvciB0aGUgc2Vzc2lvbiB0byBiZSBhYmxlIHRv
IHNob3cKKyAgICAgICAgICBjb250cm9scyBmb3IgdGhlIHB1cnBvc2Ugb2YgTm93IFBsYXlpbmcs
IG1ha2luZyBpdCB0aGUgc2FtZSBhcyBvdXIgcG9saWN5IGZvciB0aGUgY29udHJvbHMgbWFuYWdl
ci4KKyAgICAgICAgLSBNYWtlIHBsYXliYWNrIHJlcXVpcmVtZW50IHJlc3RyaWN0aW9ucyBhcHBs
eSBvbmx5IGZvciB0aGUgY29udHJvbHMgbWFuYWdlci4gVmlkZW9zIHRoYXQgZG8gbm90CisgICAg
ICAgICAgYXV0b3BsYXkgd2lsbCBzdGlsbCBoYXZlIHRoZSBjb3JyZWN0IGJlaGF2aW9yIHdpdGgg
cmVzcGVjdCB0byBOb3cgUGxheWluZywgc2luY2Ugd2Ugd2lsbCBiYWlsIGluIHRoZQorICAgICAg
ICAgIGhhc0V2ZXJOb3RpZmllZEFib3V0UGxheWluZygpIGNoZWNrLgorICAgICAgICAtIE9ubHkg
Y29uc2lkZXIgdGhlIG1haW4gY29udGVudCBoZXVyaXN0aWMgYXMgcHJldmVudGluZyBtZWRpYSBj
b250cm9scyBmcm9tIHNob3dpbmcgdXAgZm9yIHRoZSBwdXJwb3NlcworICAgICAgICAgIG9mIHRo
ZSBjb250cm9scyBtYW5hZ2VyLiBOb3cgUGxheWluZyBzaG91bGQgaW5zdGVhZCBhY2NvdW50IGZv
ciB0aGlzIGJ5IHByZWZlcnJpbmcgZWxlbWVudHMgbGFyZ2UKKyAgICAgICAgICBlbm91Z2ggZm9y
IG1haW4gY29udGVudCBhZnRlciBjb2xsZWN0aW5nIGFsbCBvZiB0aGUgY2FuZGlkYXRlIHNlc3Np
b25zLgorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om1lZGlhRWxlbWVudFNlc3Npb25JbmZvRm9yU2Vzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpwcmVmZXJNZWRpYUNvbnRyb2xzRm9yQ2FuZGlkYXRlU2Vzc2lvbk92ZXJPdGhlckNhbmRp
ZGF0ZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRl
UGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xzTWFuYWdl
cik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjpzZXNzaW9uV2ls
bEJlZ2luUGxheWJhY2spOgorCisyMDE2LTA5LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCiAgICAgICAgIFNvbWUgTm93IFBsYXlpbmcgYmVoYXZpb3IgaXMgYnJv
a2VuIGFmdGVyIHIyMDYzMTUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjYyNQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg0OTY3NTU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggMDgzZGE2ZWYwMmVhYWEyYThlMDQ2ODI4NThlZjE0ZGJjYjQxMTRmMi4uNTNjMzZi
NmVmNmQ5MDU4ZmJmNWE5ZGNlYzkwYTEzNTAxMWFlOThlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMzIEBACisyMDE2LTA5LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCisgICAgICAgIEFkb3B0IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93
IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjY1OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1bWJzIE5vdyBQ
bGF5aW5nIHNlc3Npb24gaW5mb3JtYXRpb24gKGZvciBub3csIHRoaXMgaXMganVzdCBhIGZsYWcg
aW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBhbgorICAgICAgICBhY3RpdmUgc2Vz
c2lvbikgYWNyb3NzIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzIGZvciB0
ZXN0aW5nIGluIHRoZSBmb3JtIG9mIGFzeW5jaHJvbm91cyByZXF1ZXN0LworICAgICAgICBoYW5k
bGUtcmVzcG9uc2UgbWVzc2FnZXMgb24gdGhlIFdlYlBhZ2UgYW5kIGl0cyBwcm94eSBpbiB0aGUg
VUkgcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm9dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lv
bkluZm9SZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8pOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZUFjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uSW5mb1Jlc3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyk6
CisKIDIwMTYtMDktMjcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGRlcHJlY2F0ZWQgRU5DUllQVEVEX01FRElBIGltcGxlbWVudGF0aW9uLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggODBmMzk3NzczMjFhMTEw
ZTVkMGQ0YjY5N2E1YmZhM2NiMjU3ODE3Mi4uYmY2NDkyMTZiZjg1MTJlMzZlYWVkZTMwNDExNTJi
OGMxNTBlM2YwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBA
IC0zMzIsNiArMzMyLDcgQEAgc3RhdGljIHVpbnQ2NF90IG5leHRFbGVtZW50SUQoKQogCiBzdHJ1
Y3QgTWVkaWFFbGVtZW50U2Vzc2lvbkluZm8gewogICAgIGNvbnN0IE1lZGlhRWxlbWVudFNlc3Np
b24qIHNlc3Npb247CisgICAgTWVkaWFFbGVtZW50U2Vzc2lvbjo6UGxheWJhY2tDb250cm9sc1B1
cnBvc2UgcHVycG9zZTsKIAogICAgIGRvdWJsZSB0aW1lT2ZMYXN0VXNlckludGVyYWN0aW9uOwog
ICAgIGJvb2wgY2FuU2hvd0NvbnRyb2xzTWFuYWdlciA6IDE7CkBAIC0zNDUsNiArMzQ2LDcgQEAg
c3RhdGljIE1lZGlhRWxlbWVudFNlc3Npb25JbmZvIG1lZGlhRWxlbWVudFNlc3Npb25JbmZvRm9y
U2Vzc2lvbihjb25zdCBNZWRpYUVsZW0KICAgICBjb25zdCBIVE1MTWVkaWFFbGVtZW50JiBlbGVt
ZW50ID0gc2Vzc2lvbi5lbGVtZW50KCk7CiAgICAgcmV0dXJuIHsKICAgICAgICAgJnNlc3Npb24s
CisgICAgICAgIHB1cnBvc2UsCiAgICAgICAgIHNlc3Npb24ubW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvblRpbWUoKSwKICAgICAgICAgc2Vzc2lvbi5jYW5TaG93Q29udHJvbHNNYW5hZ2VyKHB1cnBv
c2UpLAogICAgICAgICBlbGVtZW50LmlzRnVsbHNjcmVlbigpIHx8IGVsZW1lbnQuaXNWaXNpYmxl
SW5WaWV3cG9ydCgpLApAQCAtMzU1LDEwICszNTcsMTcgQEAgc3RhdGljIE1lZGlhRWxlbWVudFNl
c3Npb25JbmZvIG1lZGlhRWxlbWVudFNlc3Npb25JbmZvRm9yU2Vzc2lvbihjb25zdCBNZWRpYUVs
ZW0KIAogc3RhdGljIGJvb2wgcHJlZmVyTWVkaWFDb250cm9sc0ZvckNhbmRpZGF0ZVNlc3Npb25P
dmVyT3RoZXJDYW5kaWRhdGVTZXNzaW9uKGNvbnN0IE1lZGlhRWxlbWVudFNlc3Npb25JbmZvJiBz
ZXNzaW9uLCBjb25zdCBNZWRpYUVsZW1lbnRTZXNzaW9uSW5mbyYgb3RoZXJTZXNzaW9uKQogewot
ICAgIC8vIFByaW9yaXRpemUgdmlzaWJsZSBtZWRpYSBvdmVyIG9mZnNjcmVlbiBtZWRpYS4KLSAg
ICBpZiAoc2Vzc2lvbi5pc1Zpc2libGVJblZpZXdwb3J0T3JGdWxsc2NyZWVuICE9IG90aGVyU2Vz
c2lvbi5pc1Zpc2libGVJblZpZXdwb3J0T3JGdWxsc2NyZWVuKQorICAgIE1lZGlhRWxlbWVudFNl
c3Npb246OlBsYXliYWNrQ29udHJvbHNQdXJwb3NlIHB1cnBvc2UgPSBzZXNzaW9uLnB1cnBvc2U7
CisgICAgQVNTRVJUKHB1cnBvc2UgPT0gb3RoZXJTZXNzaW9uLnB1cnBvc2UpOworCisgICAgLy8g
Rm9yIHRoZSBjb250cm9scyBtYW5hZ2VyLCBwcmlvcml0aXplIHZpc2libGUgbWVkaWEgb3ZlciBv
ZmZzY3JlZW4gbWVkaWEuCisgICAgaWYgKHB1cnBvc2UgPT0gTWVkaWFFbGVtZW50U2Vzc2lvbjo6
UGxheWJhY2tDb250cm9sc1B1cnBvc2U6OkNvbnRyb2xzTWFuYWdlciAmJiBzZXNzaW9uLmlzVmlz
aWJsZUluVmlld3BvcnRPckZ1bGxzY3JlZW4gIT0gb3RoZXJTZXNzaW9uLmlzVmlzaWJsZUluVmll
d3BvcnRPckZ1bGxzY3JlZW4pCiAgICAgICAgIHJldHVybiBzZXNzaW9uLmlzVmlzaWJsZUluVmll
d3BvcnRPckZ1bGxzY3JlZW47CiAKKyAgICAvLyBGb3IgTm93IFBsYXlpbmcsIHByaW9yaXRpemUg
ZWxlbWVudHMgdGhhdCB3b3VsZCBub3JtYWxseSBzYXRpc2Z5IG1haW4gY29udGVudC4KKyAgICBp
ZiAocHVycG9zZSA9PSBNZWRpYUVsZW1lbnRTZXNzaW9uOjpQbGF5YmFja0NvbnRyb2xzUHVycG9z
ZTo6Tm93UGxheWluZyAmJiBzZXNzaW9uLmlzTGFyZ2VFbm91Z2hGb3JNYWluQ29udGVudCAhPSBv
dGhlclNlc3Npb24uaXNMYXJnZUVub3VnaEZvck1haW5Db250ZW50KQorICAgICAgICByZXR1cm4g
c2Vzc2lvbi5pc0xhcmdlRW5vdWdoRm9yTWFpbkNvbnRlbnQ7CisKICAgICAvLyBBcyBhIHRpZWJy
ZWFrZXIsIHByaW9yaXRpemUgZWxlbWVudHMgdGhhdCB0aGUgdXNlciByZWNlbnRseSBpbnRlcmFj
dGVkIHdpdGguCiAgICAgcmV0dXJuIHNlc3Npb24udGltZU9mTGFzdFVzZXJJbnRlcmFjdGlvbiA+
IG90aGVyU2Vzc2lvbi50aW1lT2ZMYXN0VXNlckludGVyYWN0aW9uOwogfQpAQCAtNTAxMyw2ICs1
MDIyLDkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVQbGF5U3RhdGUoVXBkYXRlU3Rh
dGUgdXBkYXRlU3RhdGUpCiAgICAgCiAgICAgdXBkYXRlTWVkaWFDb250cm9sbGVyKCk7CiAgICAg
dXBkYXRlUmVuZGVyZXIoKTsKKworICAgIG1faGFzRXZlckhhZEF1ZGlvIHw9IGhhc0F1ZGlvKCk7
CisgICAgbV9oYXNFdmVySGFkVmlkZW8gfD0gaGFzVmlkZW8oKTsKIH0KIAogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjpzZXRQbGF5aW5nKGJvb2wgcGxheWluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDQxYWJkNTBmYTQ2ZTkyODZjMDgxNzg3MDE1
ZDEyN2VmZWRjM2ZkYjguLjhlODE0MDc4ODAwOWE4NTRiMjExYzBmZDQ2NGE1ODMyZmI2ZWNjZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMjMz
LDggKzIzMyw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xzTWFu
YWdlcihQbGF5YmFja0NvbnRyb2xzUHVycG9zZSBwdXJwb3NlCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKLSAgICBib29sIG1lZXRzQXVkaW9UcmFja1JlcXVpcmVtZW50cyA9IG1fZWxl
bWVudC5oYXNBdWRpbygpIHx8IChwdXJwb3NlID09IFBsYXliYWNrQ29udHJvbHNQdXJwb3NlOjpD
b250cm9sc01hbmFnZXIgJiYgbV9lbGVtZW50Lmhhc0V2ZXJIYWRBdWRpbygpKTsKLSAgICBpZiAo
IW1lZXRzQXVkaW9UcmFja1JlcXVpcmVtZW50cykgeworICAgIGlmICghbV9lbGVtZW50Lmhhc0F1
ZGlvKCkgJiYgIW1fZWxlbWVudC5oYXNFdmVySGFkQXVkaW8oKSkgewogICAgICAgICBMT0coTWVk
aWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpjYW5TaG93Q29udHJvbHNNYW5hZ2VyIC0gcmV0dXJu
aW5nIEZBTFNFOiBObyBhdWRpbyIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAt
MjU5LDcgKzI1OCw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xz
TWFuYWdlcihQbGF5YmFja0NvbnRyb2xzUHVycG9zZSBwdXJwb3NlCiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KIAotICAgIGlmIChoYXNCZWhhdmlvclJlc3RyaWN0aW9uKFJlcXVpcmVQbGF5
YmFja1RvQ29udHJvbENvbnRyb2xzTWFuYWdlcikgJiYgIW1fZWxlbWVudC5pc1BsYXlpbmcoKSkg
eworICAgIGlmIChwdXJwb3NlID09IFBsYXliYWNrQ29udHJvbHNQdXJwb3NlOjpDb250cm9sc01h
bmFnZXIgJiYgaGFzQmVoYXZpb3JSZXN0cmljdGlvbihSZXF1aXJlUGxheWJhY2tUb0NvbnRyb2xD
b250cm9sc01hbmFnZXIpICYmICFtX2VsZW1lbnQuaXNQbGF5aW5nKCkpIHsKICAgICAgICAgTE9H
KE1lZGlhLCAiTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xzTWFuYWdlciAtIHJl
dHVybmluZyBGQUxTRTogTmVlZHMgdG8gYmUgcGxheWluZyIpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQpAQCAtMjc0LDEzICsyNzMsMTQgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjpjYW5TaG93Q29udHJvbHNNYW5hZ2VyKFBsYXliYWNrQ29udHJvbHNQdXJwb3NlIHB1cnBvc2UK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlmIChtX2VsZW1lbnQuaXNWaWRl
bygpKSB7CisgICAgLy8gT25seSBhbGxvdyB0aGUgbWFpbiBjb250ZW50IGhldXJpc3RpYyB0byBm
b3JiaWQgdmlkZW9zIGZyb20gc2hvd2luZyB1cCBpZiBvdXIgcHVycG9zZSBpcyB0aGUgY29udHJv
bHMgbWFuYWdlci4KKyAgICBpZiAocHVycG9zZSA9PSBQbGF5YmFja0NvbnRyb2xzUHVycG9zZTo6
Q29udHJvbHNNYW5hZ2VyICYmIG1fZWxlbWVudC5pc1ZpZGVvKCkpIHsKICAgICAgICAgaWYgKCFt
X2VsZW1lbnQucmVuZGVyZXIoKSkgewogICAgICAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xzTWFuYWdlciAtIHJldHVybmluZyBGQUxTRTogTm8g
cmVuZGVyZXIiKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCi0gICAg
ICAgIGlmIChwdXJwb3NlID09IFBsYXliYWNrQ29udHJvbHNQdXJwb3NlOjpDb250cm9sc01hbmFn
ZXIgJiYgIW1fZWxlbWVudC5oYXNWaWRlbygpICYmICFtX2VsZW1lbnQuaGFzRXZlckhhZFZpZGVv
KCkpIHsKKyAgICAgICAgaWYgKCFtX2VsZW1lbnQuaGFzVmlkZW8oKSAmJiAhbV9lbGVtZW50Lmhh
c0V2ZXJIYWRWaWRlbygpKSB7CiAgICAgICAgICAgICBMT0coTWVkaWEsICJNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpjYW5TaG93Q29udHJvbHNNYW5hZ2VyIC0gcmV0dXJuaW5nIEZBTFNFOiBObyB2aWRl
byIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0yOTEsNiArMjkx
LDExIEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xzTWFuYWdlcihQ
bGF5YmFja0NvbnRyb2xzUHVycG9zZSBwdXJwb3NlCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBp
ZiAocHVycG9zZSA9PSBQbGF5YmFja0NvbnRyb2xzUHVycG9zZTo6Tm93UGxheWluZykgeworICAg
ICAgICBMT0coTWVkaWEsICJNZWRpYUVsZW1lbnRTZXNzaW9uOjpjYW5TaG93Q29udHJvbHNNYW5h
Z2VyIC0gcmV0dXJuaW5nIFRSVUU6IFBvdGVudGlhbGx5IHBsYXlzIGF1ZGlvIik7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKwogICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Np
b246OmNhblNob3dDb250cm9sc01hbmFnZXIgLSByZXR1cm5pbmcgRkFMU0U6IE5vIHVzZXIgZ2Vz
dHVyZSIpOwogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTczMCw4ICs3MzUsOCBAQCBib29sIE1l
ZGlhRWxlbWVudFNlc3Npb246OnVwZGF0ZUlzTWFpbkNvbnRlbnQoKSBjb25zdAogCiBib29sIE1l
ZGlhRWxlbWVudFNlc3Npb246OnBhZ2VBbGxvd3NOb3dQbGF5aW5nQ29udHJvbHMoKSBjb25zdAog
ewotICAgIC8vIEZJWE1FOiBJZGVhbGx5LCB3ZSBzaG91bGQgbm90IGFsbG93IE5vdyBQbGF5aW5n
IGNvbnRyb2xzIGZvciB0aGUgYWN0aXZlIHRhYiBpbiB0aGUgbWFpbiB3aW5kb3cuCi0gICAgcmV0
dXJuIHRydWU7CisgICAgYXV0byBwYWdlID0gbV9lbGVtZW50LmRvY3VtZW50KCkucGFnZSgpOwor
ICAgIHJldHVybiBwYWdlICYmICFwYWdlLT5pc1Zpc2libGVBbmRBY3RpdmUoKTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKaW5kZXggM2MxYmRkZDIyMWZiMzM5OGI2ZjM3MDA4MDY4YjdmOWM0YmQz
OTBiYi4uYTllMjA5NDIzYjQ1OGNlNTdiM2RlNjhhNDNiNDY1NWEzMjc4Y2YyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCkBAIC0xNDUxLDYgKzE0NTEsNyBAQCB2b2lkIFBhZ2U6OnNldFZpZXdTdGF0ZShW
aWV3U3RhdGU6OkZsYWdzIHZpZXdTdGF0ZSkKIAogICAgIFZpZXdTdGF0ZTo6RmxhZ3Mgb2xkVmll
d1N0YXRlID0gbV92aWV3U3RhdGU7CiAKKyAgICBib29sIHdhc1Zpc2libGVBbmRBY3RpdmUgPSBp
c1Zpc2libGVBbmRBY3RpdmUoKTsKICAgICBtX3ZpZXdTdGF0ZSA9IHZpZXdTdGF0ZTsKIAogICAg
IG1fZm9jdXNDb250cm9sbGVyLT5zZXRWaWV3U3RhdGUodmlld1N0YXRlKTsKQEAgLTE0NjcsNiAr
MTQ2OCw5IEBAIHZvaWQgUGFnZTo6c2V0Vmlld1N0YXRlKFZpZXdTdGF0ZTo6RmxhZ3Mgdmlld1N0
YXRlKQogCiAgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IG1fdmlld1N0YXRlQ2hhbmdlT2JzZXJ2
ZXJzKQogICAgICAgICBvYnNlcnZlci0+dmlld1N0YXRlRGlkQ2hhbmdlKG9sZFZpZXdTdGF0ZSwg
bV92aWV3U3RhdGUpOworCisgICAgaWYgKHdhc1Zpc2libGVBbmRBY3RpdmUgIT0gaXNWaXNpYmxl
QW5kQWN0aXZlKCkpCisgICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6dXBkYXRl
Tm93UGxheWluZ0luZm9JZk5lY2Vzc2FyeSgpOwogfQogCiBib29sIFBhZ2U6OmlzVmlzaWJsZUFu
ZEFjdGl2ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCmluZGV4IDc3NDhmOTdkNDNmZWMy
MGYwZTg0YTA0NjkwODBhYjM4MmQxYWU0NDYuLmFkMmYxMTNmODIxZDFlYWNmYjRkMDA4NzRjZjRk
N2M3M2RkMzE3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1
YmxpYzoKICAgICBib29sIGFjdGl2ZUF1ZGlvU2Vzc2lvblJlcXVpcmVkKCkgY29uc3Q7CiAgICAg
Ym9vbCBjYW5Qcm9kdWNlQXVkaW8oKSBjb25zdDsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1
YWwgYm9vbCBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisKICAgICBib29sIHdpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zKCkgY29uc3QgeyBy
ZXR1cm4gbV93aWxsSWdub3JlU3lzdGVtSW50ZXJydXB0aW9uczsgfQogICAgIHZvaWQgc2V0V2ls
bElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMoYm9vbCBpZ25vcmUpIHsgbV93aWxsSWdub3JlU3lz
dGVtSW50ZXJydXB0aW9ucyA9IGlnbm9yZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaAppbmRleCAy
NmM2ZjQ4ZjM1MjIyNDU1YjFjODZiNWZhODc1ODI5NmEwYjExODRlLi5mN2M3OGM0MWIzNzZhYjBl
ZmFhYmMxMGM3ZjgzMmJmOTAxMjdkM2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKQEAgLTM2LDYg
KzM2LDggQEAgY2xhc3MgTWVkaWFTZXNzaW9uTWFuYWdlck1hYyA6IHB1YmxpYyBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbk1hbmFnZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbk1h
bmFnZXJNYWMoKTsKIAorICAgIGJvb2wgaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX25vd1BsYXlpbmdBY3RpdmU7IH0KKwogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5h
Z2VyTWFjLm1tCmluZGV4IDQwNTQ5MTIwZDk3ZjA2MzFhYTU0MmRjNDRiYzg5MzM4YmNmZGU3M2Iu
LjNjZDJkMjk5YTBlMzlmODc3NzViZGU3NTdhMTgyYzkxMTQxZDAxN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5h
Z2VyTWFjLm1tCkBAIC04MSw3ICs4MSw3IEBAIGJvb2wgTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6
c2Vzc2lvbldpbGxCZWdpblBsYXliYWNrKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIExPRyhNZWRpYSwgIk1lZGlhU2Vzc2lvbk1hbmFnZXJN
YWM6OnNlc3Npb25XaWxsQmVnaW5QbGF5YmFjayIpOwotICAgIHVwZGF0ZU5vd1BsYXlpbmdJbmZv
KCk7CisgICAgc2NoZWR1bGVVcGRhdGVOb3dQbGF5aW5nSW5mbygpOwogICAgIHJldHVybiB0cnVl
OwogfQogCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1
cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAKICAgICBpZiAoIWN1cnJlbnRTZXNzaW9uKSB7CiAgICAg
ICAgIGlmIChtX25vd1BsYXlpbmdBY3RpdmUpIHsKLSAgICAgICAgICAgIE1STWVkaWFSZW1vdGVT
ZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNhdGlvbihmYWxzZSk7CisgICAgICAgICAgICBNUk1lZGlh
UmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJNZWRpYVJlbW90ZUdldExvY2FsT3JpZ2lu
KCksIDMgLyogTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eU5ldmVyVmlzaWJsZSAqLyk7CiAg
ICAgICAgICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQ
bGF5aW5nSW5mbyAtIGNsZWFyaW5nIG5vdyBwbGF5aW5nIGluZm8iKTsKICAgICAgICAgICAgIE1S
TWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nSW5mbyhudWxscHRyKTsKICAgICAgICAgICAgIG1fbm93
UGxheWluZ0FjdGl2ZSA9IGZhbHNlOwpAQCAtMTQ2LDEwICsxNDYsMTIgQEAgdm9pZCBNZWRpYVNl
c3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAoIU1STWVkaWFSZW1vdGVTZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNh
dGlvbih0cnVlKSkgewotICAgICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFj
Ojp1cGRhdGVOb3dQbGF5aW5nSW5mbyAtIE1STWVkaWFSZW1vdGVTZXRDYW5CZU5vd1BsYXlpbmdB
cHBsaWNhdGlvbih0cnVlKSBmYWlsZWQiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBz
dGF0aWMgZGlzcGF0Y2hfb25jZV90IGVuYWJsZU5vd1BsYXlpbmdUb2tlbjsKKyAgICBkaXNwYXRj
aF9vbmNlKCZlbmFibGVOb3dQbGF5aW5nVG9rZW4sIF4oKSB7CisgICAgICAgIE1STWVkaWFSZW1v
dGVTZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNhdGlvbih0cnVlKTsKKyAgICB9KTsKKworICAgIE1S
TWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0TG9jYWxP
cmlnaW4oKSwgMSAvKiBNUk5vd1BsYXlpbmdDbGllbnRWaXNpYmlsaXR5QWx3YXlzVmlzaWJsZSAq
Lyk7CiAKICAgICBTdHJpbmcgdGl0bGUgPSBjdXJyZW50U2Vzc2lvbi0+dGl0bGUoKTsKICAgICBk
b3VibGUgZHVyYXRpb24gPSBjdXJyZW50U2Vzc2lvbi0+ZHVyYXRpb24oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmNwcAppbmRleCBi
MTk1ZmYyNzQ3ODFiNGFkNjhhOTkyMmRlMzQwOGU5OTljMjkzMjE2Li4wOWE2Y2EzMzIyZDU3OGYx
ZGQxNDI4MTdhNDU0NTNkZDYwM2RlZGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuY3BwCkBAIC0zNSw2ICszNSw3IEBAIFNPRlRf
TElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVt
b3RlR2V0TG9jYWxPcmlnaW4sCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUFkZEFzeW5jQ29tbWFuZEhhbmRsZXJCbG9jaywg
dm9pZCosIChNUk1lZGlhUmVtb3RlQXN5bmNDb21tYW5kSGFuZGxlckJsb2NrIGJsb2NrKSwgKGJs
b2NrKSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3Rl
LCBNUk1lZGlhUmVtb3RlUmVtb3ZlQ29tbWFuZEhhbmRsZXJCbG9jaywgdm9pZCwgKHZvaWQqIG9i
c2VydmVyKSwgKG9ic2VydmVyKSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNv
cmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMsIHZvaWQs
IChDRkFycmF5UmVmIGNvbW1hbmRzLCBNUk9yaWdpblJlZiBvcmlnaW4sIGRpc3BhdGNoX3F1ZXVl
X3QgcmVwbHlRLCB2b2lkKF5jb21wbGV0aW9uKShNUk1lZGlhUmVtb3RlRXJyb3IgZXJyKSksIChj
b21tYW5kcywgb3JpZ2luLCByZXBseVEsIGNvbXBsZXRpb24pKQorU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5
aW5nVmlzaWJpbGl0eSwgdm9pZCwgKE1ST3JpZ2luUmVmIG9yaWdpbiwgTVJOb3dQbGF5aW5nQ2xp
ZW50VmlzaWJpbGl0eSB2aXNpYmlsaXR5KSwgKG9yaWdpbiwgdmlzaWJpbGl0eSkpCiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90
ZUNvbW1hbmRJbmZvQ3JlYXRlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9SZWYsIChDRkFsbG9j
YXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSk7CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9S
X1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0
Q29tbWFuZCwgdm9pZCwgKE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1JlZiBjb21tYW5kSW5mbywg
TVJNZWRpYVJlbW90ZUNvbW1hbmQgY29tbWFuZCksIChjb21tYW5kSW5mbywgY29tbWFuZCkpCiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRp
YVJlbW90ZUNvbW1hbmRJbmZvU2V0RW5hYmxlZCwgdm9pZCwgKE1STWVkaWFSZW1vdGVDb21tYW5k
SW5mb1JlZiBjb21tYW5kSW5mbywgQm9vbGVhbiBlbmFibGVkKSwgKGNvbW1hbmRJbmZvLCBlbmFi
bGVkKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90
ZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0
TGluay5oCmluZGV4IGNmOGM2YThkY2RlMGQ0MTgzNDkyNTIxMzVmYTA2MjZkN2RmYjg0YTcuLjMw
ZGU0YTFkMzgyNjIxNDZmYjc0ODQ1MDliZDQzNDk2MmRkMWRkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaApAQCAtMzksNiArMzks
OCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwg
TVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYQogI2RlZmluZSBNUk1lZGlhUmVtb3RlUmVtb3Zl
Q29tbWFuZEhhbmRsZXJCbG9jayBzb2Z0TGlua19NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlUmVt
b3ZlQ29tbWFuZEhhbmRsZXJCbG9jawogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2Vi
Q29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVTZXRTdXBwb3J0ZWRDb21tYW5kcywgdm9p
ZCwgKENGQXJyYXlSZWYgY29tbWFuZHMsIE1ST3JpZ2luUmVmIG9yaWdpbiwgZGlzcGF0Y2hfcXVl
dWVfdCByZXBseVEsIHZvaWQoXmNvbXBsZXRpb24pKE1STWVkaWFSZW1vdGVFcnJvciBlcnIpKSwg
KGNvbW1hbmRzLCBvcmlnaW4sIHJlcGx5USwgY29tcGxldGlvbikpCiAjZGVmaW5lIE1STWVkaWFS
ZW1vdGVTZXRTdXBwb3J0ZWRDb21tYW5kcyBzb2Z0TGlua19NZWRpYVJlbW90ZV9NUk1lZGlhUmVt
b3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdl
YkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHks
IHZvaWQsIChNUk9yaWdpblJlZiBvcmlnaW4sIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHkg
dmlzaWJpbGl0eSksIChvcmlnaW4sIHZpc2liaWxpdHkpKQorI2RlZmluZSBNUk1lZGlhUmVtb3Rl
U2V0Tm93UGxheWluZ1Zpc2liaWxpdHkgc29mdExpbmtfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90
ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvQ3JlYXRlLCBNUk1l
ZGlhUmVtb3RlQ29tbWFuZEluZm9SZWYsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxs
b2NhdG9yKSk7CiAjZGVmaW5lIE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb0NyZWF0ZSBzb2Z0TGlu
a19NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9DcmVhdGUKIFNPRlRfTElOS19G
VU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlQ29t
bWFuZEluZm9TZXRDb21tYW5kLCB2b2lkLCAoTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUmVmIGNv
bW1hbmRJbmZvLCBNUk1lZGlhUmVtb3RlQ29tbWFuZCBjb21tYW5kKSwgKGNvbW1hbmRJbmZvLCBj
b21tYW5kKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTWVk
aWFSZW1vdGVTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1v
dGVTUEkuaAppbmRleCA1MjZjZDUxNDk1NTBlMGMyNTkxN2M1Y2Y4NjM3NTFkMTgwMTEyOTU4Li4w
Y2ViMTRmZjBmOTFkYjRlYjFmODg5MzExNzM4MTA4NzdmY2Q1ODA1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL01lZGlhUmVtb3RlU1BJLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9NZWRpYVJlbW90ZVNQSS5oCkBAIC05Niw2ICs5Niw3
IEBAIFdURl9FWFRFUk5fQ19CRUdJTgogdm9pZCogTVJNZWRpYVJlbW90ZUFkZEFzeW5jQ29tbWFu
ZEhhbmRsZXJCbG9jayhNUk1lZGlhUmVtb3RlQXN5bmNDb21tYW5kSGFuZGxlckJsb2NrKTsKIHZv
aWQgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYW5kbGVyQmxvY2sodm9pZCAqb2JzZXJ2ZXIp
Owogdm9pZCBNUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMoQ0ZBcnJheVJlZiBjb21t
YW5kcywgTVJPcmlnaW5SZWYsIGRpc3BhdGNoX3F1ZXVlX3QgcmVwbHlRLCB2b2lkKF5jb21wbGV0
aW9uKShNUk1lZGlhUmVtb3RlRXJyb3IgZXJyKSk7Cit2b2lkIE1STWVkaWFSZW1vdGVTZXROb3dQ
bGF5aW5nVmlzaWJpbGl0eShNUk9yaWdpblJlZiwgTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0
eSk7CiAKICNwcmFnbWEgbWFyayAtIE1ST3JpZ2luCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYTI5YmRiMWYxYWYzNDdkZmYyNTA0
YzBjNmUyNDAwNDBjNjg3YzFkZC4uYmUwYjVmMDU2MGFlMjJkNTAxYWE3ODJjZmZiYmMxNWYwMzlh
MjNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTQ1NzQsNiArNDU3NCwxNyBAQCAtIChCT09MKV9zaG91bGRSZXF1ZXN0Q2FuZGlk
YXRlcwogewogICAgIHJldHVybiBfaW1wbC0+c2hvdWxkUmVxdWVzdENhbmRpZGF0ZXMoKTsKIH0K
KworLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbworeworICAgIGlm
IChfcGFnZSkKKyAgICAgICAgX3BhZ2UtPnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm8oKTsKK30KKworLSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVz
cG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbgoreworICAgIC8vIE92ZXJyaWRkZW4gYnkgc3Vi
Y2xhc3Nlcy4KK30KICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKIC8vIEV4ZWN1dGUgdGhlIHN1
cHBsaWVkIGJsb2NrIGFmdGVyIHRoZSBuZXh0IHRyYW5zYWN0aW9uIGZyb20gdGhlIFdlYlByb2Nl
c3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oCmluZGV4IDgzNzhiYzA0ZmIyZDY1OGY1Njc1MjUzNDRkMGY4NzhiMDE1MDRl
NmMuLjJmY2FjMjJkODI4ZWEwNWQzODUzODNkZTFjZjAyNWI0ZjhlOTM3NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
CkBAIC0yNzgsNiArMjc4LDggQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLSW1tZWRp
YXRlQWN0aW9uVHlwZSkgewogLSAodm9pZClfZm9yY2VSZXF1ZXN0Q2FuZGlkYXRlcyBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAtICh2b2lkKV9kaWRVcGRhdGVDYW5kaWRh
dGVMaXN0VmlzaWJpbGl0eTooQk9PTCl2aXNpYmxlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfc2hvdWxk
UmVxdWVzdENhbmRpZGF0ZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwor
LSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNBY3RpdmVTZXNzaW9uIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpKTsKICNlbmRpZgogCiAtICh2b2lkKV9kb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKaW5kZXggZjQzYmY5YjFiZDIyNDYxYWVkZjk3ZTM2ZjcwNjk3ODQ4YmUxZmRlNy4u
YTMwZjJiZWI3YjdjOGYzYWQ5MTg5M2I1OTY5NWQ1ZDg1YzY1YmYzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yNDgsNiArMjQ4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKFdlYkNvcmU6OlNj
cm9sbGJhclN0eWxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZU5hdmlnYXRpb25HZXN0
dXJlU25hcHNob3QoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVt
ZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lv
bikgPSAwOwogCiAgICAgdmlydHVhbCBDR1JlY3QgYm91bmRzT2ZMYXllckluTGF5ZXJCYWNrZWRX
aW5kb3dDb29yZGluYXRlcyhDQUxheWVyICopIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1ZTU3NGJhOTAxOTM0N2YxNTBjNDhhOTM5
NzZiYzg3NTE2N2E3MzI1Li4wMmZmZDE4NGQyMTc3ZDIyMzdmNGU4MjRhZmIwNWM2ZGJjZGEwZmNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjM4Niw2
ICs2Mzg2LDE2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29udHJvbGxlZEVsZW1lbnRJ
RCgpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbkluZm8oKQoreworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6UmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpLCBtX3BhZ2VJRCk7
Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24pIGNvbnN0Cit7CisgICAgbV9wYWdlQ2xp
ZW50LmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGhhc0FjdGl2ZVNl
c3Npb24pOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJ
RFJlc3BvbnNlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikgY29uc3QKIHsKICAgICBtX3BhZ2VD
bGllbnQuaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGlkZW50aWZpZXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGQ2N2M1ODVmYTdmYjc5Y2Y1
YTEyYTYzNzU5NjE1OWQyNGJlYmE0ZjguLjJlYTMwNGFmNjZlMjA3ZmUwYWJmMTY5MTk5ZmZmZjky
ZWRiM2U4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEw
MzUsNiArMTAzNSw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0FjdGl2ZVZpZGVvRm9yQ29udHJv
bHNNYW5hZ2VyKCkgY29uc3Q7CiAgICAgdm9pZCByZXF1ZXN0Q29udHJvbGxlZEVsZW1lbnRJRCgp
IGNvbnN0OwogICAgIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGNvbnN0
IFN0cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9u
SW5mbygpOworICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9u
c2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBjb25zdDsKICAgICBib29sIGlzUGxheWluZ1ZpZGVv
SW5FbmhhbmNlZEZ1bGxzY3JlZW4oKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmYWZmMmU3ODNl
NTQyY2VjYWI3ZTg3OTZiZDZiNzExNTQ1ZGY2ZTZmLi5kMTliYzc3ZWQzZTMyMmRlMjBiYmIzMTIz
ZGM1Y2ZiNjhiMDYzYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTQ3MCw1ICs0NzAsNiBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlUHJveHkgewogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIERpZEhhbmRsZUFjY2VwdGVkQ2Fu
ZGlkYXRlKCkKKyAgICBIYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShi
b29sIGhhc0FjdGl2ZVNlc3Npb24pCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCA1MjU5ZmI1YjcyNWNhNDc2OTJlYWQ3YWE0
ODU5MDEyMTNjN2FiNmU5Li45ZDdlM2QwMWUzNmJkMDAyMDc2NzA0NzUyZjM2ZjMxNzNhM2RhNTc0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBA
IC0yMDcsNiArMjA3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmln
YXRpb25Gb3JNYWluRnJhbWUoU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgcmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpIG92ZXJyaWRlOwogICAg
IHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYpIG92
ZXJyaWRlOworICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9u
c2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZGlkUGVyZm9y
bUltbWVkaWF0ZUFjdGlvbkhpdFRlc3QoY29uc3QgV2ViSGl0VGVzdFJlc3VsdERhdGEmLCBib29s
IGNvbnRlbnRQcmV2ZW50c0RlZmF1bHQsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCogaW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJvbGxlckZvckhpdFRlc3RSZXN1bHQoUmVm
UHRyPEFQSTo6SGl0VGVzdFJlc3VsdD4sIHVpbnQ2NF90LCBSZWZQdHI8QVBJOjpPYmplY3Q+KSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
Lm1tCmluZGV4IDViNWExMjFhNjkzOTc2ZmY2MGExOGRiMjU1NmY1ZjRiOTVlMjkyNTguLjVjM2Ey
MmVmN2RjNTY0ZWMzYTFkNWY3ZmVmOTU1N2Q1OTBhNWQwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNzU5LDYgKzc1OSwxMyBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyKQogI2VuZGlmCiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6
OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZl
U2Vzc2lvbikKK3sKKyNpZiBXS19BUElfRU5BQkxFRAorICAgIFttX3dlYlZpZXcgX2hhbmRsZUFj
dGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOmhhc0FjdGl2ZVNlc3Npb25dOworI2Vu
ZGlmCit9CisKIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENoYW5nZUJhY2tncm91bmRDb2xvcigp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCmluZGV4IGZiOGY1ZTFmYTQ2MTE0NzdmZDY3NjcwYWQ4ZDE0ODJkNzli
NjVkYjkuLmYwOTU5ZDRiZmVhNGY3OTg5MmYxZDc4YTU2MDY5NjViMzk3NTEwOTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTIwMSw2ICsxMjAx
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRhdGFEZXRlY3RvcnNEaWRIaWRlVUkoV2ViQ29yZTo6
UGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQpOwogCiAgICAgdm9pZCBoYW5kbGVBY2NlcHRlZENh
bmRpZGF0ZShXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQpOworICAgIHZvaWQgcmVxdWVzdEFj
dGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpOwogI2VuZGlmCiAKICAgICB2b2lkIHNldFNob3Vs
ZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhib29sIGRpc3BhdGNoKSB7IG1fc2hvdWxkRGlz
cGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzID0gZGlzcGF0Y2g7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNmZh
YTZiNGMyZTFlOGNjZGI2NTFlODI2ZmU5YTk1M2MzYmJhNmIwYy4uNDdlMTI3MGI2ZjEyNzE1ZDY2
ZmRmOTZjZTIxNTJhNDg0OWQyNDcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTQxNyw2ICs0MTcsNyBAQCBt
ZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEYXRhRGV0ZWN0b3JzRGlk
Q2hhbmdlVUkoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgcGFnZU92ZXJsYXkp
CiAgICAgRGF0YURldGVjdG9yc0RpZEhpZGVVSShXZWJDb3JlOjpQYWdlT3ZlcmxheTo6UGFnZU92
ZXJsYXlJRCBwYWdlT3ZlcmxheSkKICAgICBIYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShzdHJ1Y3Qg
V2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0IGFjY2VwdGVkQ2FuZGlkYXRlKQorICAgIFJlcXVl
c3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKQogI2VuZGlmCiAKICAgICBTZXRTaG91bGRE
aXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoYm9vbCBzaG91bGREaXNwYXRjaEZha2VNb3VzZU1v
dmVFdmVudHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYlBhZ2VNYWMubW0KaW5kZXggNjlkYTIzMjBjM2VkMTIyMDY0NzU5MDg1YmM1OGQyODBjZDA1
YWRhOS4uZTc5YzkxYmFhOTAzYjlhZTlkOGU4Y2RlODU2MmViODU3MGU1YzQxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpA
QCAtNzUsNiArNzUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUtl
eWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1JlbmRlckVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyT2JqZWN0Lmg+CkBA
IC0xNjAsNiArMTYxLDE1IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUo
V2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0IGFjY2VwdGVkQ2FuZGlkCiAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWRIYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSgpKTsKIH0KIAor
dm9pZCBXZWJQYWdlOjpyZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkKK3sKKyAg
ICBib29sIGhhc0FjdGl2ZVNlc3Npb24gPSBmYWxzZTsKKyAgICBpZiAoYXV0byogc2hhcmVkTWFu
YWdlciA9IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cklmRXhpc3RzKCkpCisgICAgICAgIGhhc0FjdGl2ZVNlc3Npb24gPSBzaGFyZWRNYW5hZ2VyLT5o
YXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbigpOworCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpIYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShoYXNBY3Rp
dmVTZXNzaW9uKSk7Cit9CisKIE5TT2JqZWN0ICpXZWJQYWdlOjphY2Nlc3NpYmlsaXR5T2JqZWN0
Rm9yTWFpbkZyYW1lUGx1Z2luKCkKIHsKICAgICBpZiAoIW1fcGFnZSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmYWQzNDQyY2M4YjZiOTRjYTJl
ZGMwNTM1N2Q0YTYyNjIyNzIyNmFlLi5jNWNkZjNlMmE4MDA0NjcyZjUxYzBhNDFkY2RhNmI1ZDI0
OGI2MDJhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYtMDktMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHQgTWVkaWFSZW1vdGUgU1BJIHRvIGFjaGlldmUg
ZGVzaXJlZCBOb3cgUGxheWluZyBiZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjU4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODQ5
OTM1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnRyb2R1Y2VzIDIgdW5pdCB0ZXN0cyBpbiB0aGUgbmV3IE5vd1BsYXlpbmdDb250cm9sc1Rlc3Rz
IHRlc3Qgc3VpdGUuIEFsc28gcHJvdmlkZXMgc29tZSBiYXNpYyBzdXBwb3J0IGZvcgorICAgICAg
ICBtb2NraW5nIGtleSB3aW5kb3cgc3RhdHVzIGZvciBUZXN0V0tXZWJWaWV3cy4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL05vd1BsYXlpbmdD
b250cm9sc1Rlc3RzLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bTm93UGxheWluZ1Rlc3RXZWJWaWV3
IGhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uXSk6CisgICAgICAgICgtW05vd1BsYXlpbmdUZXN0
V2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpdKToKKyAgICAgICAgKC1b
Tm93UGxheWluZ1Rlc3RXZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9S
ZXNwb25zZTpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlp
bmcuaHRtbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9tYWMvVGVzdFdLV2ViVmll
d01hYy5tbToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgaXNLZXlXaW5kb3dd
KToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgbWFrZUtleVdpbmRvd10pOgor
ICAgICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdpbmRvdyByZXNpZ25LZXlXaW5kb3ddKToKKwog
MjAxNi0wOS0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
Q2Fubm90IHJ1biBkdW1wLWNsYXNzLWxheW91dDsgZGllcyB3aXRoICJnbG9iYWwgbmFtZSAnbGxk
YicgaXMgbm90IGRlZmluZWQiCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM4MjE0MGU4YzYx
ZjQ1MGY0NGI2YzA3Yzg4Mzc5YWRlMzNlMGU2MTYuLmRhMDk1YTExNmEyODJlYTg4NTI1ZTViOWEx
NTc2YWZhZDQzNjViZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03Niw2ICs3Niw3IEBA
CiAJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIx
IC8qIG1haW5JT1MubW0gKi87IH07CiAJCTJFNzc2NUNGMTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWlu
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3
NzY1Q0UxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gKi87IH07CiAJCTJFOTg5NjE1MUQ4
RjA5MzgwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTk4OTYxNDFEOEYw
OTJCMDA3Mzk4OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgKi87IH07CisJCTJF
Q0ZGNTU1MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0MUQ5QjEy
RjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJMkVGRjA2
QzMxRDg4NjIxRTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYwNkMyMUQ4
ODYyMTIwMDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKIAkJMkVG
RjA2QzUxRDg4Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RUZGMDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5o
dG1sICovOyB9OwogCQkyRUZGMDZDNzFEODg2QTU4MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNv
dXJjZS1vbi1lbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNv
dXJjZS1vbi1lbmQuaHRtbCAqLzsgfTsKQEAgLTQ3Niw2ICs0NzcsNyBAQAogCQlFMTIyMERDQTE1
NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVs
ZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0
aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJRTE5NEUxQkQxNzdFNTNDNzAw
OUM0RDRFIC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTRFMUJDMTc3
RTUzNEEwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCAq
LzsgfTsKIAkJRjQyREE1MTYxRDhDRUZFNDAwMzM2RjQwIC8qIGxhcmdlLWlucHV0LWZpZWxkLWZv
Y3VzLW9ubG9hZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVs
ZC1mb2N1cy1vbmxvYWQuaHRtbCAqLzsgfTsKKwkJRjRGMTM3OTIxRDlCNjgzRTAwMkJFQzU3IC8q
IGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcg
LyogbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sICovOyB9OwogCQlGNEY0MDVCQzFE
NEMwRDFDMDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8u
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNEY0MDVCQTFENEMwQ0Y4MDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVv
LXdpdGgtYXVkaW8uaHRtbCAqLzsgfTsKIAkJRjRGNDA1QkQxRDRDMEQxQzAwN0E5NzA3IC8qIHNr
aW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRGNDA1QkIxRDRDMENGODAwN0E5
NzA3IC8qIHNraW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi87IH07CiAJ
CUY2NjBBQTExMTVBNUY2MzEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0
aW9uVXNlckRhdGFDYWxsYmFja19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjY2MEFBMEYxNUE1RjYyNDAwM0ExMjQzIC8qIEdldEluamVj
dGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrX0J1bmRsZS5jcHAgKi87IH07
CkBAIC01NDcsNiArNTQ5LDcgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNl
czsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJRjRGMTM3OTIx
RDlCNjgzRTAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLywKIAkJCQk4MzdBMzVGMTFEOUExRTdEMDA2NjNDNTcgLyogRG93bmxv
YWRSZXF1ZXN0QmxvYlVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTJFOTg5NjE1
MUQ4RjA5MzgwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLywKIAkJCQlGNDJEQTUxNjFEOENFRkU0MDAzMzZGNDAgLyogbGFyZ2UtaW5w
dXQtZmllbGQtZm9jdXMtb25sb2FkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC03OTcs
NiArODAwLDcgQEAKIAkJMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5JT1MubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluSU9TLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRTc3NjVDRTE2QzREODExMDBCQTJCQjEgLyogbWFpbk1h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IG1haW5NYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFOTg5NjE0MUQ4RjA5MkIwMDczOTg5MiAv
KiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0
aCA9ICJ0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJFQ0ZGNTU0MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNU
ZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5vd1BsYXlp
bmdDb250cm9sc1Rlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUZGMDZD
MjFEODg2MjEyMDAwNEJCMzAgLyogbGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSAibGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRUZGMDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdl
LXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0g
ImNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJFRkYwNkM2MUQ4ODZBNTYwMDA0QkIzMCAvKiBjaGFuZ2UtdmlkZW8tc291cmNl
LW9uLWVuZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoYW5nZS12aWRlby1z
b3VyY2Utb24tZW5kLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE4Nyw2
ICsxMTkxLDcgQEAKIAkJRTRDOUFCQzcxQjNEQjE3MTAwNDBBOTg3IC8qIFJ1bkxvb3AuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVuTG9vcC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVz
dC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJj
aGl2ZS5hcjsgcGF0aCA9IGxpYmd0ZXN0LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19E
SVI7IH07CiAJCUY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVsZC1m
b2N1cy1vbmxvYWQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgbmFtZSA9ICJsYXJnZS1pbnB1
dC1maWVsZC1mb2N1cy1vbmxvYWQuaHRtbCI7IHBhdGggPSAiVGVzdHMvV2ViS2l0MkNvY29hL2xh
cmdlLWlucHV0LWZpZWxkLWZvY3VzLW9ubG9hZC5odG1sIjsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OworCQlGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcgLyogbGFyZ2UtdmlkZW8tdGVzdC1u
b3ctcGxheWluZy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxhcmdlLXZpZGVv
LXRlc3Qtbm93LXBsYXlpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
RjQwNUJBMUQ0QzBDRjgwMDdBOTcwNyAvKiBmdWxsLXNpemUtYXV0b3BsYXlpbmctdmlkZW8td2l0
aC1hdWRpby5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImZ1bGwtc2l6ZS1hdXRv
cGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNEY0MDVCQjFENEMwQ0Y4MDA3QTk3MDcgLyogc2tpbm55LWF1dG9wbGF5aW5nLXZpZGVv
LXdpdGgtYXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJza2lubnktYXV0
b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjY2MEFBMEMxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVuZGxlSW5pdGlh
bGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNr
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNjksNiArMTM3NCw3IEBACiAJ
CQkJNDZDNTE5RDgxRDM1NUE3MzAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1t
ICovLAogCQkJCTUxQ0QxQzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5tbSAqLywK
IAkJCQkxQUJDM0RFRDE4OTlCRTZEMDA0RjA2MjYgLyogTmF2aWdhdGlvbi5tbSAqLywKKwkJCQky
RUNGRjU1NDFEOUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gKi8s
CiAJCQkJQ0VBNkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSAq
LywKIAkJCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8sCiAJ
CQkJNTc5OEUyQUYxQ0FGNUMyODAwQzVDQkEwIC8qIFByb3Zpc2lvbmFsVVJMTm90Q2hhbmdlLm1t
ICovLApAQCAtMTQ4Miw2ICsxNDg4LDcgQEAKIAkJQTE2RjY2QjgxQzQwRTlFMTAwQkQ0RDI0IC8q
IFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJRjRGMTM3OTExRDlCNjgzMjAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlp
bmcuaHRtbCAqLywKIAkJCQkyRTk4OTYxNDFEOEYwOTJCMDA3Mzk4OTIgLyogdGV4dC1hbmQtcGFz
c3dvcmQtaW5wdXRzLmh0bWwgKi8sCiAJCQkJMkVGRjA2Q0MxRDhBNDI5MTAwMDRCQjMwIC8qIGlu
cHV0LWZpZWxkLWluLXNjcm9sbGFibGUtZG9jdW1lbnQuaHRtbCAqLywKIAkJCQkyRUZGMDZDNjFE
ODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLywKQEAg
LTIzMzEsNiArMjMzOCw3IEBACiAJCQkJN0NDRTdGMjMxQTQxMUFGNjAwNDQ3QzRDIC8qIERvd25s
b2FkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRUUxQTQxMUFFNjAwNDQ3QzRDIC8qIERv
d25sb2FkRGVjaWRlRGVzdGluYXRpb25DcmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NF
N0VCRTFBNDExQTdFMDA0NDdDNEMgLyogRHluYW1pY0RldmljZVNjYWxlRmFjdG9yLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJMkVDRkY1NTUxRDlCMTJGODAwQjU1Mzk0IC8qIE5vd1BsYXlpbmdDb250
cm9sc1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRTAxQTQxMUE5QTAwNDQ3QzRD
IC8qIEVkaXRvckNvbW1hbmRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkYxQTQxMUE3
RTAwNDQ3QzRDIC8qIEVsZW1lbnRBdFBvaW50SW5XZWJGcmFtZS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdBOTA5QTgzMUQ4Nzc0ODAwMDdFMTBGOCAvKiBJbnRTaXplLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93
UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9Ob3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTdhYTMwOWZj
NzY3ZmY0NjRjZjk4ZjIwZmFhZWNmZjY2Y2ZmNmQwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMu
bW0KQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3TWFj
LmgiCisKKyNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1dpbmRv
d19Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZh
dGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisKKyNpZiBXS19BUElf
RU5BQkxFRCAmJiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA+PSAxMDEyMDEKKworQGludGVyZmFjZSBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgOiBUZXN0V0tX
ZWJWaWV3CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgaGFzQWN0aXZlTm93
UGxheWluZ1Nlc3Npb247CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBOb3dQbGF5aW5nVGVzdFdl
YlZpZXcgeworICAgIGJvb2wgX3JlY2VpdmVkTm93UGxheWluZ0luZm9SZXNwb25zZTsKKyAgICBC
T09MIF9oYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKK30KKy0gKEJPT0wpaGFzQWN0aXZlTm93
UGxheWluZ1Nlc3Npb24KK3sKKyAgICBfcmVjZWl2ZWROb3dQbGF5aW5nSW5mb1Jlc3BvbnNlID0g
ZmFsc2U7CisgICAgW3NlbGYgX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9dOwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmX3JlY2VpdmVkTm93UGxheWluZ0luZm9SZXNw
b25zZSk7CisKKyAgICByZXR1cm4gX2hhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOworfQorCist
ICh2b2lkKWV4cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOihCT09MKWhhc0FjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uCit7CisgICAgYm9vbCBmaW5pc2hlZFdhaXRpbmcgPSBmYWxzZTsKKyAg
ICB3aGlsZSAoIWZpbmlzaGVkV2FpdGluZykgeworICAgICAgICBbW05TUnVuTG9vcCBjdXJyZW50
UnVuTG9vcF0gcnVuTW9kZTpOU0RlZmF1bHRSdW5Mb29wTW9kZSBiZWZvcmVEYXRlOltOU0RhdGUg
ZGlzdGFudFBhc3RdXTsKKyAgICAgICAgZmluaXNoZWRXYWl0aW5nID0gc2VsZi5oYXNBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbiA9PSBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKKyAgICB9Cit9
CisKKy0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihC
T09MKWhhc0FjdGl2ZVNlc3Npb24KK3sKKyAgICBfaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24g
PSBoYXNBY3RpdmVTZXNzaW9uOworICAgIF9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2Ug
PSB0cnVlOworfQorQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoTm93
UGxheWluZ0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc0RvTm90U2hvd0ZvckZvcmVn
cm91bmRQYWdlKQoreworICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24g
PSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgIGNvbmZpZ3VyYXRp
b24ubWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1
YWxNZWRpYVR5cGVOb25lOworICAgIE5vd1BsYXlpbmdUZXN0V2ViVmlldyAqd2ViVmlldyA9IFtb
Tm93UGxheWluZ1Rlc3RXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwg
MCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CisgICAgW3dlYlZpZXcg
bG9hZFRlc3RQYWdlTmFtZWQ6QCJsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nIl07CisgICAg
W3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJwbGF5aW5nIl07CisKKyAgICBbd2ViVmlldy53aW5k
b3cgc2V0SXNWaXNpYmxlOllFU107CisgICAgW3dlYlZpZXcud2luZG93IG1ha2VLZXlXaW5kb3dd
OworICAgIFt3ZWJWaWV3IGV4cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOk5PXTsKK30K
KworVEVTVChOb3dQbGF5aW5nQ29udHJvbHNUZXN0cywgTm93UGxheWluZ0NvbnRyb2xzU2hvd0Zv
ckJhY2tncm91bmRQYWdlKQoreworICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3Vy
YXRpb24gPSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgIGNvbmZp
Z3VyYXRpb24ubWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVk
aW92aXN1YWxNZWRpYVR5cGVOb25lOworICAgIE5vd1BsYXlpbmdUZXN0V2ViVmlldyAqd2ViVmll
dyA9IFtbTm93UGxheWluZ1Rlc3RXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CisgICAgW3dl
YlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nIl07
CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJwbGF5aW5nIl07CisKKyAgICBbd2ViVmll
dy53aW5kb3cgc2V0SXNWaXNpYmxlOk5PXTsKKyAgICBbd2ViVmlldy53aW5kb3cgcmVzaWduS2V5
V2luZG93XTsKKyAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpZ
RVNdOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBXS19B
UElfRU5BQkxFRCAmJiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMDEyMDEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYzc5YTU2MjRjMzE0MjRiYjA0Yjg5MTJiZjZiNzc1MDMzMjliYWU1
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIHZpZGVv
IHsKKyAgICAgICAgICAgIHdpZHRoOiA0ODBweDsKKyAgICAgICAgICAgIGhlaWdodDogMzIwcHg7
CisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIH0KKyAgICA8L3N0eWxl
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHBsYXlpbmcoKSB7CisgICAgICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBv
c3RNZXNzYWdlKCJwbGF5aW5nIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgMCk7CisgICAgICAgIH0KKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDx2aWRlbyBhdXRvcGxheSBvbnBsYXlpbmc9cGxheWlu
ZygpPjxzb3VyY2Ugc3JjPSJsYXJnZS12aWRlby13aXRoLWF1ZGlvLm1wNCI+PC92aWRlbz4KKzwv
Ym9keT4KKzxodG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdFdL
V2ViVmlld01hYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dlYlZpZXdNYWMu
bW0KaW5kZXggNTdhMWY0ZTljNzVkZTVkZmRmZTBlMmU0OTA5YzYzMjY1ZjAyNTIwMi4uNGUxNTRl
ZDc3NjAxYmE5MzM5NTVjODYzNjQ1NTA3ZmJmMDFhNjEwMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvVGVzdFdLV2ViVmlld01hYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9UZXN0V0tXZWJWaWV3TWFjLm1tCkBAIC02Myw3ICs2Myw5IEBAIEBlbmQKIEBpbnRl
cmZhY2UgVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgOiBOU1dpbmRvdwogQGVuZAogCi1AaW1wbGVt
ZW50YXRpb24gVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cKK0BpbXBsZW1lbnRhdGlvbiBUZXN0V0tX
ZWJWaWV3SG9zdFdpbmRvdyB7CisgICAgQk9PTCBfZm9yY2VLZXlXaW5kb3c7Cit9CiAKIHN0YXRp
YyBpbnQgZ0V2ZW50TnVtYmVyID0gMTsKIApAQCAtMTE0LDYgKzExNiwyNiBAQCAtICh2b2lkKV9t
b3VzZURvd25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2lt
dWxhdGVQcmVzc3VyZQogI2VuZGlmCiB9CiAKKy0gKEJPT0wpaXNLZXlXaW5kb3cKK3sKKyAgICBy
ZXR1cm4gX2ZvcmNlS2V5V2luZG93IHx8IFtzdXBlciBpc0tleVdpbmRvd107Cit9CisKKy0gKHZv
aWQpbWFrZUtleVdpbmRvdworeworICAgIGlmIChfZm9yY2VLZXlXaW5kb3cpCisgICAgICAgIHJl
dHVybjsKKworICAgIF9mb3JjZUtleVdpbmRvdyA9IFlFUzsKKyAgICBbW05TTm90aWZpY2F0aW9u
Q2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOk5TV2luZG93RGlkQmVj
b21lS2V5Tm90aWZpY2F0aW9uIG9iamVjdDpzZWxmXTsKK30KKworLSAodm9pZClyZXNpZ25LZXlX
aW5kb3cKK3sKKyAgICBfZm9yY2VLZXlXaW5kb3cgPSBOTzsKKyAgICBbc3VwZXIgcmVzaWduS2V5
V2luZG93XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gVGVzdFdLV2ViVmlldyB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290054</attachid>
            <date>2016-09-27 20:18:52 -0700</date>
            <delta_ts>2016-09-27 20:49:48 -0700</delta_ts>
            <desc>Rebased on ToT</desc>
            <filename>bug-162658-20160927201552.patch</filename>
            <type>text/plain</type>
            <size>38068</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgzOTM0NWVmNjYxODhk
ZTk4YzlmOWE5ZTU2ZTIzMzVlMGJhZGJiMy4uYzdhMzYyZmI5YTFkMGNiMGRlYjY2MTNkN2U1NDFh
ODU1NzY5YjZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE2LTA5LTI3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IE1lZGlh
UmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVzdG9yZXMgdGhlIGNoYW5nZXMgcHJldmlvdXNseSByb2xs
ZWQgb3V0IGluIHIyMDY0NDQsIGFuZCBhZG9wdHMgbmV3IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hp
ZXZlIHRoZSBkZXNpcmVkCisgICAgICAgIGJlaGF2aW9yIGZvciBtZWRpYSBpbiBiYWNrZ3JvdW5k
IHRhYnMgd2l0aG91dCBicmVha2luZyBvdGhlciBmZWF0dXJlcy4KKworICAgICAgICBJbnRyb2R1
Y2VzIDIgbmV3IHVuaXQgdGVzdHMgaW4gTm93UGxheWluZ0NvbnRyb2xzVGVzdHMuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6cGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAgICAg
ICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpZXdTdGF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omhhc0FjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFT
ZXNzaW9uTWFuYWdlck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdl
ck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NZWRp
YVJlbW90ZVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVT
b2Z0TGluay5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaDoK
KworMjAxNi0wOS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZWxhdGVkIHZpZGVvcyBvbiBZb3VUdWJlIChhbmQgWW91VHViZSBwbGF5bGlzdHMp
IGNhdXNlIG1lZGlhIGNvbnRyb2xzIHRvIGRpc2FwcGVhcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjIxCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yODQ4NDE5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAg
VHdlYWtzIHRoZSBtYWluIGNvbnRlbnQgbWVkaWEgaGV1cmlzdGljIGZvciBiZXR0ZXIgTm93IFBs
YXlpbmcgYmVoYXZpb3Igb24gWW91VHViZSBieSBtYWtpbmcgdGhlIGZvbGxvd2luZworICAgICAg
ICBjaGFuZ2VzOgorICAgICAgICAtIFJlbW92ZSB0aGUgc3RyaWN0IHJlcXVpcmVtZW50IGZvciBh
dWRpbyB0byBiZSBhY3RpdmVseSBwbGF5aW5nIGZvciB0aGUgc2Vzc2lvbiB0byBiZSBhYmxlIHRv
IHNob3cKKyAgICAgICAgICBjb250cm9scyBmb3IgdGhlIHB1cnBvc2Ugb2YgTm93IFBsYXlpbmcs
IG1ha2luZyBpdCB0aGUgc2FtZSBhcyBvdXIgcG9saWN5IGZvciB0aGUgY29udHJvbHMgbWFuYWdl
ci4KKyAgICAgICAgLSBNYWtlIHBsYXliYWNrIHJlcXVpcmVtZW50IHJlc3RyaWN0aW9ucyBhcHBs
eSBvbmx5IGZvciB0aGUgY29udHJvbHMgbWFuYWdlci4gVmlkZW9zIHRoYXQgZG8gbm90CisgICAg
ICAgICAgYXV0b3BsYXkgd2lsbCBzdGlsbCBoYXZlIHRoZSBjb3JyZWN0IGJlaGF2aW9yIHdpdGgg
cmVzcGVjdCB0byBOb3cgUGxheWluZywgc2luY2Ugd2Ugd2lsbCBiYWlsIGluIHRoZQorICAgICAg
ICAgIGhhc0V2ZXJOb3RpZmllZEFib3V0UGxheWluZygpIGNoZWNrLgorICAgICAgICAtIE9ubHkg
Y29uc2lkZXIgdGhlIG1haW4gY29udGVudCBoZXVyaXN0aWMgYXMgcHJldmVudGluZyBtZWRpYSBj
b250cm9scyBmcm9tIHNob3dpbmcgdXAgZm9yIHRoZSBwdXJwb3NlcworICAgICAgICAgIG9mIHRo
ZSBjb250cm9scyBtYW5hZ2VyLiBOb3cgUGxheWluZyBzaG91bGQgaW5zdGVhZCBhY2NvdW50IGZv
ciB0aGlzIGJ5IHByZWZlcnJpbmcgZWxlbWVudHMgbGFyZ2UKKyAgICAgICAgICBlbm91Z2ggZm9y
IG1haW4gY29udGVudCBhZnRlciBjb2xsZWN0aW5nIGFsbCBvZiB0aGUgY2FuZGlkYXRlIHNlc3Np
b25zLgorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om1lZGlhRWxlbWVudFNlc3Npb25JbmZvRm9yU2Vzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpwcmVmZXJNZWRpYUNvbnRyb2xzRm9yQ2FuZGlkYXRlU2Vzc2lvbk92ZXJPdGhlckNhbmRp
ZGF0ZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRl
UGxheVN0YXRlKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2FuU2hvd0NvbnRyb2xzTWFuYWdl
cik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjpzZXNzaW9uV2ls
bEJlZ2luUGxheWJhY2spOgorCiAyMDE2LTA5LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW5saW5lIGNyaXRpY2FsIGZ1bmN0aW9ucyBp
biBVUkxQYXJzZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjMjg5MWFhOWU5NjMxYTAwMjdhM2UyN2M2YzNiNDUx
MGYyOTgzYWQ4Li4xYzU3YThjM2YxZGVjNjhiZDNkZTBmNzI4OTBhZGRmYTkzNjY1MmRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTYtMDktMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHQgTWVkaWFSZW1vdGUgU1BJIHRvIGFj
aGlldmUgZGVzaXJlZCBOb3cgUGxheWluZyBiZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjU4CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yODQ5OTM1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQbHVtYnMgTm93IFBsYXlpbmcgc2Vzc2lvbiBpbmZvcm1hdGlvbiAoZm9yIG5vdywgdGhp
cyBpcyBqdXN0IGEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGFuCisg
ICAgICAgIGFjdGl2ZSBzZXNzaW9uKSBhY3Jvc3MgZnJvbSB0aGUgd2ViIHByb2Nlc3MgdG8gdGhl
IFVJIHByb2Nlc3MgZm9yIHRlc3RpbmcgaW4gdGhlIGZvcm0gb2YgYXN5bmNocm9ub3VzIHJlcXVl
c3QvCisgICAgICAgIGhhbmRsZS1yZXNwb25zZSBtZXNzYWdlcyBvbiB0aGUgV2ViUGFnZSBhbmQg
aXRzIHByb3h5IGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfcmVxdWVzdEFjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uSW5mb10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUFjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xp
ZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nl
c3Npb25JbmZvUmVzcG9uc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aGFu
ZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQ
YWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0QWN0aXZlTm93UGxh
eWluZ1Nlc3Npb25JbmZvKToKKwogMjAxNi0wOS0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgTmV0d29ya0xvYWQgYW5kIFBpbmdMb2FkIHNob3VsZCB1c2Ug
cHJpdmF0ZSBpbmhlcml0YW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKaW5kZXggY2IyY2M2ZGRjMmU1ZDlmNzcyMmJmN2IxNDYwZjI4YjBmZGJmMDEwMS4u
OGU4MTQwNzg4MDA5YTg1NGIyMTFjMGZkNDY0YTU4MzJmYjZlY2NkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC03MzUsOCArNzM1LDggQEAgYm9v
bCBNZWRpYUVsZW1lbnRTZXNzaW9uOjp1cGRhdGVJc01haW5Db250ZW50KCkgY29uc3QKIAogYm9v
bCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwYWdlQWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKCkgY29u
c3QKIHsKLSAgICAvLyBGSVhNRTogSWRlYWxseSwgd2Ugc2hvdWxkIG5vdCBhbGxvdyBOb3cgUGxh
eWluZyBjb250cm9scyBmb3IgdGhlIGFjdGl2ZSB0YWIgaW4gdGhlIG1haW4gd2luZG93LgotICAg
IHJldHVybiB0cnVlOworICAgIGF1dG8gcGFnZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLnBhZ2Uo
KTsKKyAgICByZXR1cm4gcGFnZSAmJiAhcGFnZS0+aXNWaXNpYmxlQW5kQWN0aXZlKCk7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDNjMWJkZGQyMjFmYjMzOThiNmYzNzAwODA2OGI3Zjlj
NGJkMzkwYmIuLmE5ZTIwOTQyM2I0NThjZTU3YjNkZTY4YTQzYjQ2NTVhMzI3OGNmMjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtMTQ1MSw2ICsxNDUxLDcgQEAgdm9pZCBQYWdlOjpzZXRWaWV3U3Rh
dGUoVmlld1N0YXRlOjpGbGFncyB2aWV3U3RhdGUpCiAKICAgICBWaWV3U3RhdGU6OkZsYWdzIG9s
ZFZpZXdTdGF0ZSA9IG1fdmlld1N0YXRlOwogCisgICAgYm9vbCB3YXNWaXNpYmxlQW5kQWN0aXZl
ID0gaXNWaXNpYmxlQW5kQWN0aXZlKCk7CiAgICAgbV92aWV3U3RhdGUgPSB2aWV3U3RhdGU7CiAK
ICAgICBtX2ZvY3VzQ29udHJvbGxlci0+c2V0Vmlld1N0YXRlKHZpZXdTdGF0ZSk7CkBAIC0xNDY3
LDYgKzE0NjgsOSBAQCB2b2lkIFBhZ2U6OnNldFZpZXdTdGF0ZShWaWV3U3RhdGU6OkZsYWdzIHZp
ZXdTdGF0ZSkKIAogICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBtX3ZpZXdTdGF0ZUNoYW5nZU9i
c2VydmVycykKICAgICAgICAgb2JzZXJ2ZXItPnZpZXdTdGF0ZURpZENoYW5nZShvbGRWaWV3U3Rh
dGUsIG1fdmlld1N0YXRlKTsKKworICAgIGlmICh3YXNWaXNpYmxlQW5kQWN0aXZlICE9IGlzVmlz
aWJsZUFuZEFjdGl2ZSgpKQorICAgICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnVw
ZGF0ZU5vd1BsYXlpbmdJbmZvSWZOZWNlc3NhcnkoKTsKIH0KIAogYm9vbCBQYWdlOjppc1Zpc2li
bGVBbmRBY3RpdmUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAppbmRleCA3NzQ4Zjk3ZDQz
ZmVjMjBmMGU4NGEwNDY5MDgwYWIzODJkMWFlNDQ2Li5hZDJmMTEzZjgyMWQxZWFjZmI0ZDAwODc0
Y2Y0ZDdjNzNkZDMxN2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaApAQCAtNTcsNiArNTcsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBhY3RpdmVBdWRpb1Nlc3Npb25SZXF1aXJlZCgpIGNvbnN0Owog
ICAgIGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3Q7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2
aXJ0dWFsIGJvb2wgaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorCiAgICAgYm9vbCB3aWxsSWdub3JlU3lzdGVtSW50ZXJydXB0aW9ucygpIGNvbnN0
IHsgcmV0dXJuIG1fd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnM7IH0KICAgICB2b2lkIHNl
dFdpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zKGJvb2wgaWdub3JlKSB7IG1fd2lsbElnbm9y
ZVN5c3RlbUludGVycnVwdGlvbnMgPSBpZ25vcmU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKaW5k
ZXggMjZjNmY0OGYzNTIyMjQ1NWIxYzg2YjVmYTg3NTgyOTZhMGIxMTg0ZS4uZjdjNzhjNDFiMzc2
YWIwZWZhYWJjMTBjN2Y4MzJiZjkwMTI3ZDNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCkBAIC0z
Niw2ICszNiw4IEBAIGNsYXNzIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMgOiBwdWJsaWMgUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNlc3Np
b25NYW5hZ2VyTWFjKCk7CiAKKyAgICBib29sIGhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9ub3dQbGF5aW5nQWN0aXZlOyB9CisKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFn
ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9u
TWFuYWdlck1hYy5tbQppbmRleCAxNTRkMzM0ZWQ2NGI0ZWMzYmU0MGEzNjBmY2U4MjFiOGFjMTA3
M2ZjLi4zY2QyZDI5OWEwZTM5Zjg3Nzc1YmRlNzU3YTE4MmM5MTE0MWQwMTdmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9u
TWFuYWdlck1hYy5tbQpAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdl
ck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8oKQogCiAgICAgaWYgKCFjdXJyZW50U2Vzc2lvbikg
ewogICAgICAgICBpZiAobV9ub3dQbGF5aW5nQWN0aXZlKSB7Ci0gICAgICAgICAgICBNUk1lZGlh
UmVtb3RlU2V0Q2FuQmVOb3dQbGF5aW5nQXBwbGljYXRpb24oZmFsc2UpOworICAgICAgICAgICAg
TVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5KE1STWVkaWFSZW1vdGVHZXRMb2Nh
bE9yaWdpbigpLCAzIC8qIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHlOZXZlclZpc2libGUg
Ki8pOwogICAgICAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBk
YXRlTm93UGxheWluZ0luZm8gLSBjbGVhcmluZyBub3cgcGxheWluZyBpbmZvIik7CiAgICAgICAg
ICAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0luZm8obnVsbHB0cik7CiAgICAgICAgICAg
ICBtX25vd1BsYXlpbmdBY3RpdmUgPSBmYWxzZTsKQEAgLTE0NiwxMCArMTQ2LDEyIEBAIHZvaWQg
TWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8oKQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFNUk1lZGlhUmVtb3RlU2V0Q2FuQmVOb3dQbGF5aW5n
QXBwbGljYXRpb24odHJ1ZSkpIHsKLSAgICAgICAgTE9HKE1lZGlhLCAiTWVkaWFTZXNzaW9uTWFu
YWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8gLSBNUk1lZGlhUmVtb3RlU2V0Q2FuQmVOb3dQ
bGF5aW5nQXBwbGljYXRpb24odHJ1ZSkgZmFpbGVkIik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBlbmFibGVOb3dQbGF5aW5nVG9rZW47CisgICAg
ZGlzcGF0Y2hfb25jZSgmZW5hYmxlTm93UGxheWluZ1Rva2VuLCBeKCkgeworICAgICAgICBNUk1l
ZGlhUmVtb3RlU2V0Q2FuQmVOb3dQbGF5aW5nQXBwbGljYXRpb24odHJ1ZSk7CisgICAgfSk7CisK
KyAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJNZWRpYVJlbW90ZUdl
dExvY2FsT3JpZ2luKCksIDEgLyogTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eUFsd2F5c1Zp
c2libGUgKi8pOwogCiAgICAgU3RyaW5nIHRpdGxlID0gY3VycmVudFNlc3Npb24tPnRpdGxlKCk7
CiAgICAgZG91YmxlIGR1cmF0aW9uID0gY3VycmVudFNlc3Npb24tPmR1cmF0aW9uKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5jcHAK
aW5kZXggYjE5NWZmMjc0NzgxYjRhZDY4YTk5MjJkZTM0MDhlOTk5YzI5MzIxNi4uOWUxNDVjNTJj
MjJjZDIyMjZlM2JjZDVlNjQ3NjFiMTI1NzEzOWNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmNwcApAQCAtMzUsNiArMzUsNyBA
QCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJN
ZWRpYVJlbW90ZUdldExvY2FsT3JpZ2luLAogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0Uo
V2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVBZGRBc3luY0NvbW1hbmRIYW5kbGVy
QmxvY2ssIHZvaWQqLCAoTVJNZWRpYVJlbW90ZUFzeW5jQ29tbWFuZEhhbmRsZXJCbG9jayBibG9j
ayksIChibG9jaykpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRp
YVJlbW90ZSwgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYW5kbGVyQmxvY2ssIHZvaWQsICh2
b2lkKiBvYnNlcnZlciksIChvYnNlcnZlcikpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENvbW1hbmRz
LCB2b2lkLCAoQ0ZBcnJheVJlZiBjb21tYW5kcywgTVJPcmlnaW5SZWYgb3JpZ2luLCBkaXNwYXRj
aF9xdWV1ZV90IHJlcGx5USwgdm9pZCheY29tcGxldGlvbikoTVJNZWRpYVJlbW90ZUVycm9yIGVy
cikpLCAoY29tbWFuZHMsIG9yaWdpbiwgcmVwbHlRLCBjb21wbGV0aW9uKSkKK1NPRlRfTElOS19G
VU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0
Tm93UGxheWluZ1Zpc2liaWxpdHksIHZvaWQsIChNUk9yaWdpblJlZiBvcmlnaW4sIHVuc2lnbmVk
IHZpc2liaWxpdHkpLCAob3JpZ2luLCB2aXNpYmlsaXR5KSkKIFNPRlRfTElOS19GVU5DVElPTl9G
T1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9D
cmVhdGUsIE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1JlZiwgKENGQWxsb2NhdG9yUmVmIGFsbG9j
YXRvciksIChhbGxvY2F0b3IpKTsKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNv
cmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9TZXRDb21tYW5kLCB2b2lk
LCAoTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUmVmIGNvbW1hbmRJbmZvLCBNUk1lZGlhUmVtb3Rl
Q29tbWFuZCBjb21tYW5kKSwgKGNvbW1hbmRJbmZvLCBjb21tYW5kKSkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlQ29tbWFu
ZEluZm9TZXRFbmFibGVkLCB2b2lkLCAoTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUmVmIGNvbW1h
bmRJbmZvLCBCb29sZWFuIGVuYWJsZWQpLCAoY29tbWFuZEluZm8sIGVuYWJsZWQpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmgKaW5kZXgg
Y2Y4YzZhOGRjZGUwZDQxODM0OTI1MjEzNWZhMDYyNmQ3ZGZiODRhNy4uNzUxNWI0YzgwYTZiYzJk
ZTJjZjQzMGU4NWY3MmEyNWExNGJmMjkzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oCkBAIC0zOSw2ICszOSw4IEBAIFNPRlRfTElO
S19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3Rl
UmVtb3ZlQ29tbWFuZEhhCiAjZGVmaW5lIE1STWVkaWFSZW1vdGVSZW1vdmVDb21tYW5kSGFuZGxl
ckJsb2NrIHNvZnRMaW5rX01lZGlhUmVtb3RlX01STWVkaWFSZW1vdGVSZW1vdmVDb21tYW5kSGFu
ZGxlckJsb2NrCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJl
bW90ZSwgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENvbW1hbmRzLCB2b2lkLCAoQ0ZBcnJheVJl
ZiBjb21tYW5kcywgTVJPcmlnaW5SZWYgb3JpZ2luLCBkaXNwYXRjaF9xdWV1ZV90IHJlcGx5USwg
dm9pZCheY29tcGxldGlvbikoTVJNZWRpYVJlbW90ZUVycm9yIGVycikpLCAoY29tbWFuZHMsIG9y
aWdpbiwgcmVwbHlRLCBjb21wbGV0aW9uKSkKICNkZWZpbmUgTVJNZWRpYVJlbW90ZVNldFN1cHBv
cnRlZENvbW1hbmRzIHNvZnRMaW5rX01lZGlhUmVtb3RlX01STWVkaWFSZW1vdGVTZXRTdXBwb3J0
ZWRDb21tYW5kcworU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFS
ZW1vdGUsIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eSwgdm9pZCwgKE1ST3Jp
Z2luUmVmIG9yaWdpbiwgdW5zaWduZWQgdmlzaWJpbGl0eSksIChvcmlnaW4sIHZpc2liaWxpdHkp
KQorI2RlZmluZSBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkgc29mdExpbmtf
TWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5CiBTT0ZUX0xJ
TktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90
ZUNvbW1hbmRJbmZvQ3JlYXRlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9SZWYsIChDRkFsbG9j
YXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSk7CiAjZGVmaW5lIE1STWVkaWFSZW1vdGVD
b21tYW5kSW5mb0NyZWF0ZSBzb2Z0TGlua19NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlQ29tbWFu
ZEluZm9DcmVhdGUKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlh
UmVtb3RlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9TZXRDb21tYW5kLCB2b2lkLCAoTVJNZWRp
YVJlbW90ZUNvbW1hbmRJbmZvUmVmIGNvbW1hbmRJbmZvLCBNUk1lZGlhUmVtb3RlQ29tbWFuZCBj
b21tYW5kKSwgKGNvbW1hbmRJbmZvLCBjb21tYW5kKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaAppbmRleCA1MjZjZDUxNDk1NTBlMGMyNTkx
N2M1Y2Y4NjM3NTFkMTgwMTEyOTU4Li40OGQ4ODIwOTU0MDA1ZTE1ODU2NzZlNDNlMDcxMDBiYmY4
YzQxMmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL01lZGlh
UmVtb3RlU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9NZWRpYVJl
bW90ZVNQSS5oCkBAIC05Niw2ICs5Niw3IEBAIFdURl9FWFRFUk5fQ19CRUdJTgogdm9pZCogTVJN
ZWRpYVJlbW90ZUFkZEFzeW5jQ29tbWFuZEhhbmRsZXJCbG9jayhNUk1lZGlhUmVtb3RlQXN5bmND
b21tYW5kSGFuZGxlckJsb2NrKTsKIHZvaWQgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYW5k
bGVyQmxvY2sodm9pZCAqb2JzZXJ2ZXIpOwogdm9pZCBNUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVk
Q29tbWFuZHMoQ0ZBcnJheVJlZiBjb21tYW5kcywgTVJPcmlnaW5SZWYsIGRpc3BhdGNoX3F1ZXVl
X3QgcmVwbHlRLCB2b2lkKF5jb21wbGV0aW9uKShNUk1lZGlhUmVtb3RlRXJyb3IgZXJyKSk7Cit2
b2lkIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eShNUk9yaWdpblJlZiwgdW5z
aWduZWQpOwogCiAjcHJhZ21hIG1hcmsgLSBNUk9yaWdpbgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGU3MmU0NTBiNGE4Y2EwMDMy
ZGI2MzNiYWI4ZGNiNzM4NjJkZWM4NDUuLjhmOWM3MGQyYTU3ZjM1NjVhOTBlMDM1YjQ3MTEyMDU1
MDRlZjM0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCkBAIC00NTc5LDYgKzQ1NzksMTcgQEAgLSAoQk9PTClfc2hvdWxkUmVxdWVzdENh
bmRpZGF0ZXMKIHsKICAgICByZXR1cm4gX2ltcGwtPnNob3VsZFJlcXVlc3RDYW5kaWRhdGVzKCk7
CiB9CisKKy0gKHZvaWQpX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8KK3sKKyAg
ICBpZiAoX3BhZ2UpCisgICAgICAgIF9wYWdlLT5yZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Np
b25JbmZvKCk7Cit9CisKKy0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5m
b1Jlc3BvbnNlOihCT09MKWhhc0FjdGl2ZVNlc3Npb24KK3sKKyAgICAvLyBPdmVycmlkZGVuIGJ5
IHN1YmNsYXNzZXMuCit9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAvLyBFeGVjdXRlIHRo
ZSBzdXBwbGllZCBibG9jayBhZnRlciB0aGUgbmV4dCB0cmFuc2FjdGlvbiBmcm9tIHRoZSBXZWJQ
cm9jZXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaAppbmRleCBmZDViYzM0N2NlZGI5MDA1YjhhYmIwZDExYzUyMWIxZGJk
MGRkOTVkLi40YWEyZDE2ZDcyNjY3NTZkYWUyMTk4ZmJlNDkyOGQ2NTZlNTQ2NzZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZh
dGUuaApAQCAtMjgwLDYgKzI4MCw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0lt
bWVkaWF0ZUFjdGlvblR5cGUpIHsKIC0gKHZvaWQpX2ZvcmNlUmVxdWVzdENhbmRpZGF0ZXMgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfZGlkVXBkYXRlQ2Fu
ZGlkYXRlTGlzdFZpc2liaWxpdHk6KEJPT0wpdmlzaWJsZSBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX3No
b3VsZFJlcXVlc3RDYW5kaWRhdGVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEp
KTsKKy0gKHZvaWQpX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8gV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxh
eWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbiBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAjZW5kaWYKIAogLSAodm9pZClfZG9BZnRlck5l
eHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCmluZGV4IGY0M2JmOWIxYmQyMjQ2MWFlZGY5N2UzNmY3MDY5Nzg0OGJlMWZk
ZTcuLmEzMGYyYmViN2I3YzhmM2FkOTE4OTNiNTk2OTVkNWQ4NWM2NWJmMzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjQ4LDYgKzI0OCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcmVjb21tZW5kZWRTY3JvbGxiYXJTdHlsZURpZENoYW5nZShXZWJDb3Jl
OjpTY3JvbGxiYXJTdHlsZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVOYXZpZ2F0aW9u
R2VzdHVyZVNuYXBzaG90KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDb250cm9sbGVk
RWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5nJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBo
YW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNl
c3Npb24pID0gMDsKIAogICAgIHZpcnR1YWwgQ0dSZWN0IGJvdW5kc09mTGF5ZXJJbkxheWVyQmFj
a2VkV2luZG93Q29vcmRpbmF0ZXMoQ0FMYXllciAqKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWU1NzRiYTkwMTkzNDdmMTUwYzQ4
YTkzOTc2YmM4NzUxNjdhNzMyNS4uMDJmZmQxODRkMjE3N2QyMjM3ZjRlODI0YWZiMDVjNmRiY2Rh
MGZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTYz
ODYsNiArNjM4NiwxNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdENvbnRyb2xsZWRFbGVt
ZW50SUQoKSBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0QWN0
aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkKK3sKKyAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2U6OlJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKSwgbV9wYWdl
SUQpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Np
b25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBjb25zdAoreworICAgIG1fcGFn
ZUNsaWVudC5oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShoYXNBY3Rp
dmVTZXNzaW9uKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUNvbnRyb2xsZWRFbGVt
ZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpIGNvbnN0CiB7CiAgICAgbV9w
YWdlQ2xpZW50LmhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShpZGVudGlmaWVyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkNjdjNTg1ZmE3ZmI3
OWNmNWExMmE2Mzc1OTYxNTlkMjRiZWJhNGY4Li4yZWEzMDRhZjY2ZTIwN2ZlMGFiZjE2OTE5OWZm
ZmY5MmVkYjNlODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0xMDM1LDYgKzEwMzUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBY3RpdmVWaWRlb0ZvckNv
bnRyb2xzTWFuYWdlcigpIGNvbnN0OwogICAgIHZvaWQgcmVxdWVzdENvbnRyb2xsZWRFbGVtZW50
SUQoKSBjb25zdDsKICAgICB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShj
b25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lkIHJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vz
c2lvbkluZm8oKTsKKyAgICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jl
c3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikgY29uc3Q7CiAgICAgYm9vbCBpc1BsYXlpbmdW
aWRlb0luRW5oYW5jZWRGdWxsc2NyZWVuKCkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZmFmZjJl
NzgzZTU0MmNlY2FiN2U4Nzk2YmQ2YjcxMTU0NWRmNmU2Zi4uZDE5YmM3N2VkM2UzMjJkZTIwYmJi
MzEyM2RjNWNmYjY4YjA2M2JhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00NzAsNSArNDcwLDYgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEaWRIYW5kbGVBY2NlcHRl
ZENhbmRpZGF0ZSgpCisgICAgSGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9u
c2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggNTI1OWZiNWI3MjVjYTQ3NjkyZWFk
N2FhNDg1OTAxMjEzYzdhYjZlOS4uOWQ3ZTNkMDFlMzZiZDAwMjA3NjcwNDc1MmYzNmYzMTczYTNk
YTU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
aApAQCAtMjA3LDYgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uRm9yTWFpbkZyYW1lKFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKSBvdmVycmlk
ZTsKICAgICB2b2lkIHJlbW92ZU5hdmlnYXRpb25HZXN0dXJlU25hcHNob3QoKSBvdmVycmlkZTsK
ICAgICB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcm
KSBvdmVycmlkZTsKKyAgICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jl
c3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZFBl
cmZvcm1JbW1lZGlhdGVBY3Rpb25IaXRUZXN0KGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiwg
Ym9vbCBjb250ZW50UHJldmVudHNEZWZhdWx0LCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOwogICAg
IHZvaWQqIGltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNvbnRyb2xsZXJGb3JIaXRUZXN0UmVzdWx0
KFJlZlB0cjxBUEk6OkhpdFRlc3RSZXN1bHQ+LCB1aW50NjRfdCwgUmVmUHRyPEFQSTo6T2JqZWN0
Pikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5tbQppbmRleCA1YjVhMTIxYTY5Mzk3NmZmNjBhMThkYjI1NTZmNWY0Yjk1ZTI5MjU4Li41
YzNhMjJlZjdkYzU2NGVjM2ExZDVmN2ZlZjk1NTdkNTkwYTVkMGZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTc1OSw2ICs3NTksMTMg
QEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNl
KGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKICNlbmRpZgogfQogCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0Fj
dGl2ZVNlc3Npb24pCit7CisjaWYgV0tfQVBJX0VOQUJMRUQKKyAgICBbbV93ZWJWaWV3IF9oYW5k
bGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpoYXNBY3RpdmVTZXNzaW9uXTsK
KyNlbmRpZgorfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VCYWNrZ3JvdW5kQ29s
b3IoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBmYjhmNWUxZmE0NjExNDc3ZmQ2NzY3MGFkOGQxNDgy
ZDc5YjY1ZGI5Li5mMDk1OWQ0YmZlYTRmNzk4OTJmMWQ3OGE1NjA2OTY1YjM5NzUxMDk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTEyMDEsNiAr
MTIwMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkYXRhRGV0ZWN0b3JzRGlkSGlkZVVJKFdlYkNv
cmU6OlBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEKTsKIAogICAgIHZvaWQgaGFuZGxlQWNjZXB0
ZWRDYW5kaWRhdGUoV2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0KTsKKyAgICB2b2lkIHJlcXVl
c3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKTsKICNlbmRpZgogCiAgICAgdm9pZCBzZXRT
aG91bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoYm9vbCBkaXNwYXRjaCkgeyBtX3Nob3Vs
ZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyA9IGRpc3BhdGNoOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4
IDZmYWE2YjRjMmUxZThjY2RiNjUxZTgyNmZlOWE5NTNjM2JiYTZiMGMuLjQ3ZTEyNzBiNmYxMjcx
NWQ2NmZkZjk2Y2UyMTUyYTQ4NDlkMjQ3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00MTcsNiArNDE3LDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGF0YURldGVjdG9y
c0RpZENoYW5nZVVJKFdlYkNvcmU6OlBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEIHBhZ2VPdmVy
bGF5KQogICAgIERhdGFEZXRlY3RvcnNEaWRIaWRlVUkoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OlBh
Z2VPdmVybGF5SUQgcGFnZU92ZXJsYXkpCiAgICAgSGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoc3Ry
dWN0IFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCBhY2NlcHRlZENhbmRpZGF0ZSkKKyAgICBS
ZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkKICNlbmRpZgogCiAgICAgU2V0U2hv
dWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKGJvb2wgc2hvdWxkRGlzcGF0Y2hGYWtlTW91
c2VNb3ZlRXZlbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XZWJQYWdlTWFjLm1tCmluZGV4IDY5ZGEyMzIwYzNlZDEyMjA2NDc1OTA4NWJjNThkMjgw
Y2QwNWFkYTkuLmU3OWM5MWJhYTkwM2I5YWU5ZDhlOGNkZTg1NjJlYjg1NzBlNWM0MWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMu
bW0KQEAgLTc1LDYgKzc1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZv
cm1LZXlib2FyZEV2ZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9SZW5kZXJFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlck9iamVjdC5o
PgpAQCAtMTYwLDYgKzE2MSwxNSBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUFjY2VwdGVkQ2FuZGlk
YXRlKFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCBhY2NlcHRlZENhbmRpZAogICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkSGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoKSk7CiB9
CiAKK3ZvaWQgV2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpCit7
CisgICAgYm9vbCBoYXNBY3RpdmVTZXNzaW9uID0gZmFsc2U7CisgICAgaWYgKGF1dG8qIHNoYXJl
ZE1hbmFnZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1h
bmFnZXJJZkV4aXN0cygpKQorICAgICAgICBoYXNBY3RpdmVTZXNzaW9uID0gc2hhcmVkTWFuYWdl
ci0+aGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKTsKKworICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6SGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoaGFz
QWN0aXZlU2Vzc2lvbikpOworfQorCiBOU09iamVjdCAqV2ViUGFnZTo6YWNjZXNzaWJpbGl0eU9i
amVjdEZvck1haW5GcmFtZVBsdWdpbigpCiB7CiAgICAgaWYgKCFtX3BhZ2UpCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2MwMDg2NDA3NDJmNjU1
MWQwMGQ1MTE2MzZlYTBiYjY4M2U2YTBmYS4uYTlhYTk3OTkyMjUwMGY1NmMzY2M2NzM2YWRmNTQ1
MmFlYjQ0ZGNiNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hp
ZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Mjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW50cm9kdWNlcyAyIHVuaXQgdGVzdHMgaW4gdGhlIG5ldyBOb3dQbGF5aW5nQ29udHJvbHNU
ZXN0cyB0ZXN0IHN1aXRlLiBBbHNvIHByb3ZpZGVzIHNvbWUgYmFzaWMgc3VwcG9ydCBmb3IKKyAg
ICAgICAgbW9ja2luZyBrZXkgd2luZG93IHN0YXR1cyBmb3IgVGVzdFdLV2ViVmlld3MuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Ob3dQbGF5
aW5nQ29udHJvbHNUZXN0cy5tbTogQWRkZWQuCisgICAgICAgICgtW05vd1BsYXlpbmdUZXN0V2Vi
VmlldyBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbl0pOgorICAgICAgICAoLVtOb3dQbGF5aW5n
VGVzdFdlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246XSk6CisgICAgICAg
ICgtW05vd1BsYXlpbmdUZXN0V2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25J
bmZvUmVzcG9uc2U6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1w
bGF5aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dl
YlZpZXdNYWMubW06CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXdIb3N0V2luZG93IGlzS2V5V2lu
ZG93XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXdIb3N0V2luZG93IG1ha2VLZXlXaW5kb3dd
KToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgcmVzaWduS2V5V2luZG93XSk6
CisKIDIwMTYtMDktMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBDb3JyZWN0bHkgcGFyc2UgVVJMcyB3aXRoIHRoZSBmaXJzdCB0YWIgaW4g
dGhlIGZyYWdtZW50CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQxNzA2NzFiMmZhZjFhOTZl
OGE1YWIwMDk2YzliM2IzODU3MGNiZDguLjU2ZTU2NzBjOGFjYjVlZTI5ZGJjOTkxYmI4YmRlZjA5
ZDc3YzIwOWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03Nyw2ICs3Nyw3IEBACiAJCTJF
Nzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1h
aW5JT1MubW0gKi87IH07CiAJCTJFNzc2NUNGMTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWluTWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0Ux
NkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gKi87IH07CiAJCTJFOTg5NjE1MUQ4RjA5Mzgw
MDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTk4OTYxNDFEOEYwOTJCMDA3
Mzk4OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgKi87IH07CisJCTJFQ0ZGNTU1
MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0MUQ5QjEyRjgwMEI1
NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJMkVGRjA2QzMxRDg4
NjIxRTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYwNkMyMUQ4ODYyMTIw
MDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKIAkJMkVGRjA2QzUx
RDg4Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZGMDZD
NDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1sICov
OyB9OwogCQkyRUZGMDZDNzFEODg2QTU4MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1v
bi1lbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1v
bi1lbmQuaHRtbCAqLzsgfTsKQEAgLTQ3OCw2ICs0NzksNyBAQAogCQlFMTIyMERDQTE1NUIyOEFB
MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVz
b3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJRTE5NEUxQkQxNzdFNTNDNzAwOUM0RDRF
IC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTRFMUJDMTc3RTUzNEEw
MDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCAqLzsgfTsK
IAkJRjQyREE1MTYxRDhDRUZFNDAwMzM2RjQwIC8qIGxhcmdlLWlucHV0LWZpZWxkLWZvY3VzLW9u
bG9hZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVsZC1mb2N1
cy1vbmxvYWQuaHRtbCAqLzsgfTsKKwkJRjRGMTM3OTIxRDlCNjgzRTAwMkJFQzU3IC8qIGxhcmdl
LXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcgLyogbGFy
Z2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sICovOyB9OwogCQlGNEY0MDVCQzFENEMwRDFD
MDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEY0
MDVCQTFENEMwQ0Y4MDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgt
YXVkaW8uaHRtbCAqLzsgfTsKIAkJRjRGNDA1QkQxRDRDMEQxQzAwN0E5NzA3IC8qIHNraW5ueS1h
dXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRGNDA1QkIxRDRDMENGODAwN0E5NzA3IC8q
IHNraW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi87IH07CiAJCUY2NjBB
QTExMTVBNUY2MzEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNl
ckRhdGFDYWxsYmFja19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY2MEFBMEYxNUE1RjYyNDAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVu
ZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrX0J1bmRsZS5jcHAgKi87IH07CkBAIC01
NDksNiArNTUxLDcgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJ
CWRzdFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJRjRGMTM3OTIxRDlCNjgz
RTAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKIAkJCQk4MzdBMzVGMTFEOUExRTdEMDA2NjNDNTcgLyogRG93bmxvYWRSZXF1
ZXN0QmxvYlVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTJFOTg5NjE1MUQ4RjA5
MzgwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQlGNDJEQTUxNjFEOENFRkU0MDAzMzZGNDAgLyogbGFyZ2UtaW5wdXQtZmll
bGQtZm9jdXMtb25sb2FkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC03OTksNiArODAy
LDcgQEAKIAkJMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5JT1MubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluSU9TLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRTc3NjVDRTE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IG1haW5NYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFOTg5NjE0MUQ4RjA5MkIwMDczOTg5MiAvKiB0ZXh0
LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ0
ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJFQ0ZGNTU0MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5vd1BsYXlpbmdDb250
cm9sc1Rlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUZGMDZDMjFEODg2
MjEyMDAwNEJCMzAgLyogbGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAibGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyRUZGMDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVv
LXNvdXJjZS1vbi1jbGljay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoYW5n
ZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJFRkYwNkM2MUQ4ODZBNTYwMDA0QkIzMCAvKiBjaGFuZ2UtdmlkZW8tc291cmNlLW9uLWVu
ZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoYW5nZS12aWRlby1zb3VyY2Ut
b24tZW5kLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE5MCw2ICsxMTk0
LDcgQEAKIAkJRTRDOUFCQzcxQjNEQjE3MTAwNDBBOTg3IC8qIFJ1bkxvb3AuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVuTG9vcC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5h
cjsgcGF0aCA9IGxpYmd0ZXN0LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CiAJCUY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVsZC1mb2N1cy1v
bmxvYWQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgbmFtZSA9ICJsYXJnZS1pbnB1dC1maWVs
ZC1mb2N1cy1vbmxvYWQuaHRtbCI7IHBhdGggPSAiVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLWlu
cHV0LWZpZWxkLWZvY3VzLW9ubG9hZC5odG1sIjsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OworCQlGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcgLyogbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxh
eWluZy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxhcmdlLXZpZGVvLXRlc3Qt
bm93LXBsYXlpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjQwNUJB
MUQ0QzBDRjgwMDdBOTcwNyAvKiBmdWxsLXNpemUtYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRp
by5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImZ1bGwtc2l6ZS1hdXRvcGxheWlu
Zy12aWRlby13aXRoLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
NEY0MDVCQjFENEMwQ0Y4MDA3QTk3MDcgLyogc2tpbm55LWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgt
YXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJza2lubnktYXV0b3BsYXlp
bmctdmlkZW8td2l0aC1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjY2MEFBMEMxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRp
b25Vc2VyRGF0YUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzIsNiArMTM3Nyw3IEBACiAJCQkJNDZD
NTE5RDgxRDM1NUE3MzAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1tICovLAog
CQkJCTUxQ0QxQzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5tbSAqLywKIAkJCQkx
QUJDM0RFRDE4OTlCRTZEMDA0RjA2MjYgLyogTmF2aWdhdGlvbi5tbSAqLywKKwkJCQkyRUNGRjU1
NDFEOUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gKi8sCiAJCQkJ
Q0VBNkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSAqLywKIAkJ
CQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8sCiAJCQkJNTc5
OEUyQUYxQ0FGNUMyODAwQzVDQkEwIC8qIFByb3Zpc2lvbmFsVVJMTm90Q2hhbmdlLm1tICovLApA
QCAtMTQ4NSw2ICsxNDkxLDcgQEAKIAkJQTE2RjY2QjgxQzQwRTlFMTAwQkQ0RDI0IC8qIFJlc291
cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRjRG
MTM3OTExRDlCNjgzMjAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRt
bCAqLywKIAkJCQkyRTk4OTYxNDFEOEYwOTJCMDA3Mzk4OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQt
aW5wdXRzLmh0bWwgKi8sCiAJCQkJMkVGRjA2Q0MxRDhBNDI5MTAwMDRCQjMwIC8qIGlucHV0LWZp
ZWxkLWluLXNjcm9sbGFibGUtZG9jdW1lbnQuaHRtbCAqLywKIAkJCQkyRUZGMDZDNjFEODg2QTU2
MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLywKQEAgLTIzMzcs
NiArMjM0NCw3IEBACiAJCQkJN0NDRTdGMjMxQTQxMUFGNjAwNDQ3QzRDIC8qIERvd25sb2FkLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRUUxQTQxMUFFNjAwNDQ3QzRDIC8qIERvd25sb2Fk
RGVjaWRlRGVzdGluYXRpb25DcmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCRTFB
NDExQTdFMDA0NDdDNEMgLyogRHluYW1pY0RldmljZVNjYWxlRmFjdG9yLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJMkVDRkY1NTUxRDlCMTJGODAwQjU1Mzk0IC8qIE5vd1BsYXlpbmdDb250cm9sc1Rl
c3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRTAxQTQxMUE5QTAwNDQ3QzRDIC8qIEVk
aXRvckNvbW1hbmRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkYxQTQxMUE3RTAwNDQ3
QzRDIC8qIEVsZW1lbnRBdFBvaW50SW5XZWJGcmFtZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdB
OTA5QTgzMUQ4Nzc0ODAwMDdFMTBGOCAvKiBJbnRTaXplLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWlu
Z0NvbnRyb2xzVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9Ob3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMTdhYTMwOWZjNzY3ZmY0
NjRjZjk4ZjIwZmFhZWNmZjY2Y2ZmNmQwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0KQEAg
LTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbXBv
cnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3TWFjLmgiCisK
KyNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1dpbmRvd19Qcml2
YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4K
KyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RCAmJiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAx
MDEyMDEKKworQGludGVyZmFjZSBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgOiBUZXN0V0tXZWJWaWV3
CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgaGFzQWN0aXZlTm93UGxheWlu
Z1Nlc3Npb247CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBOb3dQbGF5aW5nVGVzdFdlYlZpZXcg
eworICAgIGJvb2wgX3JlY2VpdmVkTm93UGxheWluZ0luZm9SZXNwb25zZTsKKyAgICBCT09MIF9o
YXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKK30KKy0gKEJPT0wpaGFzQWN0aXZlTm93UGxheWlu
Z1Nlc3Npb24KK3sKKyAgICBfcmVjZWl2ZWROb3dQbGF5aW5nSW5mb1Jlc3BvbnNlID0gZmFsc2U7
CisgICAgW3NlbGYgX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmX3JlY2VpdmVkTm93UGxheWluZ0luZm9SZXNwb25zZSk7
CisKKyAgICByZXR1cm4gX2hhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOworfQorCistICh2b2lk
KWV4cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOihCT09MKWhhc0FjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uCit7CisgICAgYm9vbCBmaW5pc2hlZFdhaXRpbmcgPSBmYWxzZTsKKyAgICB3aGls
ZSAoIWZpbmlzaGVkV2FpdGluZykgeworICAgICAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVuTG9v
cF0gcnVuTW9kZTpOU0RlZmF1bHRSdW5Mb29wTW9kZSBiZWZvcmVEYXRlOltOU0RhdGUgZGlzdGFu
dFBhc3RdXTsKKyAgICAgICAgZmluaXNoZWRXYWl0aW5nID0gc2VsZi5oYXNBY3RpdmVOb3dQbGF5
aW5nU2Vzc2lvbiA9PSBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKKyAgICB9Cit9CisKKy0g
KHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhh
c0FjdGl2ZVNlc3Npb24KK3sKKyAgICBfaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24gPSBoYXNB
Y3RpdmVTZXNzaW9uOworICAgIF9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2UgPSB0cnVl
OworfQorQGVuZAorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoTm93UGxheWlu
Z0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc0RvTm90U2hvd0ZvckZvcmVncm91bmRQ
YWdlKQoreworICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24gPSBbW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgIGNvbmZpZ3VyYXRpb24ubWVk
aWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1YWxNZWRp
YVR5cGVOb25lOworICAgIE5vd1BsYXlpbmdUZXN0V2ViVmlldyAqd2ViVmlldyA9IFtbTm93UGxh
eWluZ1Rlc3RXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAw
LCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CisgICAgW3dlYlZpZXcgbG9hZFRl
c3RQYWdlTmFtZWQ6QCJsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nIl07CisgICAgW3dlYlZp
ZXcgd2FpdEZvck1lc3NhZ2U6QCJwbGF5aW5nIl07CisKKyAgICBbd2ViVmlldy53aW5kb3cgc2V0
SXNWaXNpYmxlOllFU107CisgICAgW3dlYlZpZXcud2luZG93IG1ha2VLZXlXaW5kb3ddOworICAg
IFt3ZWJWaWV3IGV4cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOk5PXTsKK30KKworVEVT
VChOb3dQbGF5aW5nQ29udHJvbHNUZXN0cywgTm93UGxheWluZ0NvbnRyb2xzU2hvd0ZvckJhY2tn
cm91bmRQYWdlKQoreworICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24g
PSBbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgIGNvbmZpZ3VyYXRp
b24ubWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1
YWxNZWRpYVR5cGVOb25lOworICAgIE5vd1BsYXlpbmdUZXN0V2ViVmlldyAqd2ViVmlldyA9IFtb
Tm93UGxheWluZ1Rlc3RXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwg
MCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CisgICAgW3dlYlZpZXcg
bG9hZFRlc3RQYWdlTmFtZWQ6QCJsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nIl07CisgICAg
W3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJwbGF5aW5nIl07CisKKyAgICBbd2ViVmlldy53aW5k
b3cgc2V0SXNWaXNpYmxlOk5PXTsKKyAgICBbd2ViVmlldy53aW5kb3cgcmVzaWduS2V5V2luZG93
XTsKKyAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpZRVNdOwor
fQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBXS19BUElfRU5B
QkxFRCAmJiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+
PSAxMDEyMDEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYzc5YTU2MjRjMzE0MjRiYjA0Yjg5MTJiZjZiNzc1MDMzMjliYWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvbGFy
Z2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIHZpZGVvIHsKKyAg
ICAgICAgICAgIHdpZHRoOiA0ODBweDsKKyAgICAgICAgICAgIGhlaWdodDogMzIwcHg7CisgICAg
ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAg
IDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHBsYXlpbmcoKSB7CisgICAgICAgICAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNz
YWdlKCJwbGF5aW5nIik7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfSwgMCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorICAgIDx2aWRlbyBhdXRvcGxheSBvbnBsYXlpbmc9cGxheWluZygpPjxz
b3VyY2Ugc3JjPSJsYXJnZS12aWRlby13aXRoLWF1ZGlvLm1wNCI+PC92aWRlbz4KKzwvYm9keT4K
KzxodG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdFdLV2ViVmll
d01hYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dlYlZpZXdNYWMubW0KaW5k
ZXggNTdhMWY0ZTljNzVkZTVkZmRmZTBlMmU0OTA5YzYzMjY1ZjAyNTIwMi4uNGUxNTRlZDc3NjAx
YmE5MzM5NTVjODYzNjQ1NTA3ZmJmMDFhNjEwMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvVGVzdFdLV2ViVmlld01hYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9UZXN0V0tXZWJWaWV3TWFjLm1tCkBAIC02Myw3ICs2Myw5IEBAIEBlbmQKIEBpbnRlcmZhY2Ug
VGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgOiBOU1dpbmRvdwogQGVuZAogCi1AaW1wbGVtZW50YXRp
b24gVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cKK0BpbXBsZW1lbnRhdGlvbiBUZXN0V0tXZWJWaWV3
SG9zdFdpbmRvdyB7CisgICAgQk9PTCBfZm9yY2VLZXlXaW5kb3c7Cit9CiAKIHN0YXRpYyBpbnQg
Z0V2ZW50TnVtYmVyID0gMTsKIApAQCAtMTE0LDYgKzExNiwyNiBAQCAtICh2b2lkKV9tb3VzZURv
d25BdFBvaW50OihOU1BvaW50KXBvaW50IHNpbXVsYXRlUHJlc3N1cmU6KEJPT0wpc2ltdWxhdGVQ
cmVzc3VyZQogI2VuZGlmCiB9CiAKKy0gKEJPT0wpaXNLZXlXaW5kb3cKK3sKKyAgICByZXR1cm4g
X2ZvcmNlS2V5V2luZG93IHx8IFtzdXBlciBpc0tleVdpbmRvd107Cit9CisKKy0gKHZvaWQpbWFr
ZUtleVdpbmRvdworeworICAgIGlmIChfZm9yY2VLZXlXaW5kb3cpCisgICAgICAgIHJldHVybjsK
KworICAgIF9mb3JjZUtleVdpbmRvdyA9IFlFUzsKKyAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVy
IGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25OYW1lOk5TV2luZG93RGlkQmVjb21lS2V5
Tm90aWZpY2F0aW9uIG9iamVjdDpzZWxmXTsKK30KKworLSAodm9pZClyZXNpZ25LZXlXaW5kb3cK
K3sKKyAgICBfZm9yY2VLZXlXaW5kb3cgPSBOTzsKKyAgICBbc3VwZXIgcmVzaWduS2V5V2luZG93
XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gVGVzdFdLV2ViVmlldyB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290055</attachid>
            <date>2016-09-27 20:49:50 -0700</date>
            <delta_ts>2016-09-28 10:20:58 -0700</delta_ts>
            <desc>Fix TestWebKitAPI build on iOS and public SDKs.</desc>
            <filename>bug-162658-20160927204651.patch</filename>
            <type>text/plain</type>
            <size>36333</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgzOTM0NWVmNjYxODhk
ZTk4YzlmOWE5ZTU2ZTIzMzVlMGJhZGJiMy4uYTZjMGFlMzRkYTkyZjA4MWNjNTMyNmM5ZWYyNDQ4
NWExYmY3NTk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA5LTI3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IE1lZGlh
UmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVzdG9yZXMgdGhlIGNoYW5nZXMgcHJldmlvdXNseSByb2xs
ZWQgb3V0IGluIHIyMDY0NDQsIGFuZCBhZG9wdHMgbmV3IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hp
ZXZlIHRoZSBkZXNpcmVkCisgICAgICAgIGJlaGF2aW9yIGZvciBtZWRpYSBpbiBiYWNrZ3JvdW5k
IHRhYnMgd2l0aG91dCBicmVha2luZyBvdGhlciBmZWF0dXJlcy4KKworICAgICAgICBJbnRyb2R1
Y2VzIDIgbmV3IHVuaXQgdGVzdHMgaW4gTm93UGxheWluZ0NvbnRyb2xzVGVzdHMuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6cGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAgICAg
ICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpZXdTdGF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omhhc0FjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFT
ZXNzaW9uTWFuYWdlck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdl
ck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NZWRp
YVJlbW90ZVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVT
b2Z0TGluay5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaDoK
KwogMjAxNi0wOS0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIElubGluZSBjcml0aWNhbCBmdW5jdGlvbnMgaW4gVVJMUGFyc2VyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggYzI4OTFhYTllOTYzMWEwMDI3YTNlMjdjNmMzYjQ1MTBmMjk4M2FkOC4uMWM1N2E4
YzNmMWRlYzY4YmQzZGUwZjcyODkwYWRkZmE5MzY2NTJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMzIEBACisyMDE2LTA5LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCisgICAgICAgIEFkb3B0IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93
IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjY1OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1bWJzIE5vdyBQ
bGF5aW5nIHNlc3Npb24gaW5mb3JtYXRpb24gKGZvciBub3csIHRoaXMgaXMganVzdCBhIGZsYWcg
aW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBhbgorICAgICAgICBhY3RpdmUgc2Vz
c2lvbikgYWNyb3NzIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzIGZvciB0
ZXN0aW5nIGluIHRoZSBmb3JtIG9mIGFzeW5jaHJvbm91cyByZXF1ZXN0LworICAgICAgICBoYW5k
bGUtcmVzcG9uc2UgbWVzc2FnZXMgb24gdGhlIFdlYlBhZ2UgYW5kIGl0cyBwcm94eSBpbiB0aGUg
VUkgcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm9dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lv
bkluZm9SZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8pOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZUFjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uSW5mb1Jlc3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyk6
CisKIDIwMTYtMDktMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIE5ldHdvcmtMb2FkIGFuZCBQaW5nTG9hZCBzaG91bGQgdXNlIHByaXZhdGUgaW5oZXJpdGFu
Y2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IGNi
MmNjNmRkYzJlNWQ5Zjc3MjJiZjdiMTQ2MGYyOGIwZmRiZjAxMDEuLjhlODE0MDc4ODAwOWE4NTRi
MjExYzBmZDQ2NGE1ODMyZmI2ZWNjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNzM1LDggKzczNSw4IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6dXBkYXRlSXNNYWluQ29udGVudCgpIGNvbnN0CiAKIGJvb2wgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6cGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scygpIGNvbnN0CiB7Ci0gICAgLy8gRklY
TUU6IElkZWFsbHksIHdlIHNob3VsZCBub3QgYWxsb3cgTm93IFBsYXlpbmcgY29udHJvbHMgZm9y
IHRoZSBhY3RpdmUgdGFiIGluIHRoZSBtYWluIHdpbmRvdy4KLSAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBhdXRvIHBhZ2UgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgcmV0dXJuIHBh
Z2UgJiYgIXBhZ2UtPmlzVmlzaWJsZUFuZEFjdGl2ZSgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCAzYzFiZGRkMjIxZmIzMzk4YjZmMzcwMDgwNjhiN2Y5YzRiZDM5MGJiLi5hOWUyMDk0
MjNiNDU4Y2U1N2IzZGU2OGE0M2I0NjU1YTMyNzhjZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTE0NTEsNiArMTQ1MSw3IEBAIHZvaWQgUGFnZTo6c2V0Vmlld1N0YXRlKFZpZXdTdGF0ZTo6Rmxh
Z3Mgdmlld1N0YXRlKQogCiAgICAgVmlld1N0YXRlOjpGbGFncyBvbGRWaWV3U3RhdGUgPSBtX3Zp
ZXdTdGF0ZTsKIAorICAgIGJvb2wgd2FzVmlzaWJsZUFuZEFjdGl2ZSA9IGlzVmlzaWJsZUFuZEFj
dGl2ZSgpOwogICAgIG1fdmlld1N0YXRlID0gdmlld1N0YXRlOwogCiAgICAgbV9mb2N1c0NvbnRy
b2xsZXItPnNldFZpZXdTdGF0ZSh2aWV3U3RhdGUpOwpAQCAtMTQ2Nyw2ICsxNDY4LDkgQEAgdm9p
ZCBQYWdlOjpzZXRWaWV3U3RhdGUoVmlld1N0YXRlOjpGbGFncyB2aWV3U3RhdGUpCiAKICAgICBm
b3IgKGF1dG8qIG9ic2VydmVyIDogbV92aWV3U3RhdGVDaGFuZ2VPYnNlcnZlcnMpCiAgICAgICAg
IG9ic2VydmVyLT52aWV3U3RhdGVEaWRDaGFuZ2Uob2xkVmlld1N0YXRlLCBtX3ZpZXdTdGF0ZSk7
CisKKyAgICBpZiAod2FzVmlzaWJsZUFuZEFjdGl2ZSAhPSBpc1Zpc2libGVBbmRBY3RpdmUoKSkK
KyAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjp1cGRhdGVOb3dQbGF5aW5nSW5m
b0lmTmVjZXNzYXJ5KCk7CiB9CiAKIGJvb2wgUGFnZTo6aXNWaXNpYmxlQW5kQWN0aXZlKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNzc0OGY5N2Q0M2ZlYzIwZjBlODRhMDQ2OTA4
MGFiMzgyZDFhZTQ0Ni4uYWQyZjExM2Y4MjFkMWVhY2ZiNGQwMDg3NGNmNGQ3YzczZGQzMTdjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIGJv
b2wgYWN0aXZlQXVkaW9TZXNzaW9uUmVxdWlyZWQoKSBjb25zdDsKICAgICBib29sIGNhblByb2R1
Y2VBdWRpbygpIGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGhhc0Fj
dGl2ZU5vd1BsYXlpbmdTZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJv
b2wgd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3dpbGxJ
Z25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zOyB9CiAgICAgdm9pZCBzZXRXaWxsSWdub3JlU3lzdGVt
SW50ZXJydXB0aW9ucyhib29sIGlnbm9yZSkgeyBtX3dpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRp
b25zID0gaWdub3JlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCmluZGV4IDI2YzZmNDhmMzUyMjI0
NTViMWM4NmI1ZmE4NzU4Mjk2YTBiMTE4NGUuLmY3Yzc4YzQxYjM3NmFiMGVmYWFiYzEwYzdmODMy
YmY5MDEyN2QzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaApAQCAtMzYsNiArMzYsOCBAQCBjbGFz
cyBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjIDogcHVibGljIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTZXNzaW9uTWFuYWdlck1hYygpOwog
CisgICAgYm9vbCBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbigpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1fbm93UGxheWluZ0FjdGl2ZTsgfQorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0KaW5k
ZXggMTU0ZDMzNGVkNjRiNGVjM2JlNDBhMzYwZmNlODIxYjhhYzEwNzNmYy4uM2NkMmQyOTlhMGUz
OWY4Nzc3NWJkZTc1N2ExODJjOTExNDFkMDE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0KQEAg
LTEzMCw3ICsxMzAsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1Bs
YXlpbmdJbmZvKCkKIAogICAgIGlmICghY3VycmVudFNlc3Npb24pIHsKICAgICAgICAgaWYgKG1f
bm93UGxheWluZ0FjdGl2ZSkgewotICAgICAgICAgICAgTVJNZWRpYVJlbW90ZVNldENhbkJlTm93
UGxheWluZ0FwcGxpY2F0aW9uKGZhbHNlKTsKKyAgICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXRO
b3dQbGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4oKSwgMyAvKiBN
Uk5vd1BsYXlpbmdDbGllbnRWaXNpYmlsaXR5TmV2ZXJWaXNpYmxlICovKTsKICAgICAgICAgICAg
IExPRyhNZWRpYSwgIk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZv
IC0gY2xlYXJpbmcgbm93IHBsYXlpbmcgaW5mbyIpOwogICAgICAgICAgICAgTVJNZWRpYVJlbW90
ZVNldE5vd1BsYXlpbmdJbmZvKG51bGxwdHIpOwogICAgICAgICAgICAgbV9ub3dQbGF5aW5nQWN0
aXZlID0gZmFsc2U7CkBAIC0xNDYsMTAgKzE0NiwxMiBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFn
ZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGlmICghTVJNZWRpYVJlbW90ZVNldENhbkJlTm93UGxheWluZ0FwcGxpY2F0aW9uKHRydWUp
KSB7Ci0gICAgICAgIExPRyhNZWRpYSwgIk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5v
d1BsYXlpbmdJbmZvIC0gTVJNZWRpYVJlbW90ZVNldENhbkJlTm93UGxheWluZ0FwcGxpY2F0aW9u
KHRydWUpIGZhaWxlZCIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIHN0YXRpYyBkaXNw
YXRjaF9vbmNlX3QgZW5hYmxlTm93UGxheWluZ1Rva2VuOworICAgIGRpc3BhdGNoX29uY2UoJmVu
YWJsZU5vd1BsYXlpbmdUb2tlbiwgXigpIHsKKyAgICAgICAgTVJNZWRpYVJlbW90ZVNldENhbkJl
Tm93UGxheWluZ0FwcGxpY2F0aW9uKHRydWUpOworICAgIH0pOworCisgICAgTVJNZWRpYVJlbW90
ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5KE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigpLCAx
IC8qIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHlBbHdheXNWaXNpYmxlICovKTsKIAogICAg
IFN0cmluZyB0aXRsZSA9IGN1cnJlbnRTZXNzaW9uLT50aXRsZSgpOwogICAgIGRvdWJsZSBkdXJh
dGlvbiA9IGN1cnJlbnRTZXNzaW9uLT5kdXJhdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuY3BwCmluZGV4IGIxOTVmZjI3NDc4
MWI0YWQ2OGE5OTIyZGUzNDA4ZTk5OWMyOTMyMTYuLjllMTQ1YzUyYzIyY2QyMjI2ZTNiY2Q1ZTY0
NzYxYjEyNTcxMzljYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9N
ZWRpYVJlbW90ZVNvZnRMaW5rLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
TWVkaWFSZW1vdGVTb2Z0TGluay5jcHAKQEAgLTM1LDYgKzM1LDcgQEAgU09GVF9MSU5LX0ZVTkNU
SU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVHZXRMb2Nh
bE9yaWdpbiwKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVt
b3RlLCBNUk1lZGlhUmVtb3RlQWRkQXN5bmNDb21tYW5kSGFuZGxlckJsb2NrLCB2b2lkKiwgKE1S
TWVkaWFSZW1vdGVBc3luY0NvbW1hbmRIYW5kbGVyQmxvY2sgYmxvY2spLCAoYmxvY2spKQogU09G
VF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFS
ZW1vdGVSZW1vdmVDb21tYW5kSGFuZGxlckJsb2NrLCB2b2lkLCAodm9pZCogb2JzZXJ2ZXIpLCAo
b2JzZXJ2ZXIpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFS
ZW1vdGUsIE1STWVkaWFSZW1vdGVTZXRTdXBwb3J0ZWRDb21tYW5kcywgdm9pZCwgKENGQXJyYXlS
ZWYgY29tbWFuZHMsIE1ST3JpZ2luUmVmIG9yaWdpbiwgZGlzcGF0Y2hfcXVldWVfdCByZXBseVEs
IHZvaWQoXmNvbXBsZXRpb24pKE1STWVkaWFSZW1vdGVFcnJvciBlcnIpKSwgKGNvbW1hbmRzLCBv
cmlnaW4sIHJlcGx5USwgY29tcGxldGlvbikpCitTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJD
RShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmls
aXR5LCB2b2lkLCAoTVJPcmlnaW5SZWYgb3JpZ2luLCB1bnNpZ25lZCB2aXNpYmlsaXR5KSwgKG9y
aWdpbiwgdmlzaWJpbGl0eSkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvQ3JlYXRlLCBNUk1lZGlhUmVt
b3RlQ29tbWFuZEluZm9SZWYsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9y
KSk7CiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwg
TVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0Q29tbWFuZCwgdm9pZCwgKE1STWVkaWFSZW1vdGVD
b21tYW5kSW5mb1JlZiBjb21tYW5kSW5mbywgTVJNZWRpYVJlbW90ZUNvbW1hbmQgY29tbWFuZCks
IChjb21tYW5kSW5mbywgY29tbWFuZCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0RW5hYmxlZCwg
dm9pZCwgKE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1JlZiBjb21tYW5kSW5mbywgQm9vbGVhbiBl
bmFibGVkKSwgKGNvbW1hbmRJbmZvLCBlbmFibGVkKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oCmluZGV4IGNmOGM2YThkY2RlMGQ0MTgz
NDkyNTIxMzVmYTA2MjZkN2RmYjg0YTcuLjc1MTViNGM4MGE2YmMyZGUyY2Y0MzBlODVmNzJhMjVh
MTRiZjI5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJl
bW90ZVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVt
b3RlU29mdExpbmsuaApAQCAtMzksNiArMzksOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hF
QURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYQog
I2RlZmluZSBNUk1lZGlhUmVtb3RlUmVtb3ZlQ29tbWFuZEhhbmRsZXJCbG9jayBzb2Z0TGlua19N
ZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlUmVtb3ZlQ29tbWFuZEhhbmRsZXJCbG9jawogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1v
dGVTZXRTdXBwb3J0ZWRDb21tYW5kcywgdm9pZCwgKENGQXJyYXlSZWYgY29tbWFuZHMsIE1ST3Jp
Z2luUmVmIG9yaWdpbiwgZGlzcGF0Y2hfcXVldWVfdCByZXBseVEsIHZvaWQoXmNvbXBsZXRpb24p
KE1STWVkaWFSZW1vdGVFcnJvciBlcnIpKSwgKGNvbW1hbmRzLCBvcmlnaW4sIHJlcGx5USwgY29t
cGxldGlvbikpCiAjZGVmaW5lIE1STWVkaWFSZW1vdGVTZXRTdXBwb3J0ZWRDb21tYW5kcyBzb2Z0
TGlua19NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMKK1NPRlRf
TElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVt
b3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHksIHZvaWQsIChNUk9yaWdpblJlZiBvcmlnaW4sIHVu
c2lnbmVkIHZpc2liaWxpdHkpLCAob3JpZ2luLCB2aXNpYmlsaXR5KSkKKyNkZWZpbmUgTVJNZWRp
YVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5IHNvZnRMaW5rX01lZGlhUmVtb3RlX01STWVk
aWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9I
RUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb0NyZWF0
ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9y
KSwgKGFsbG9jYXRvcikpOwogI2RlZmluZSBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9DcmVhdGUg
c29mdExpbmtfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvQ3JlYXRlCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJl
bW90ZUNvbW1hbmRJbmZvU2V0Q29tbWFuZCwgdm9pZCwgKE1STWVkaWFSZW1vdGVDb21tYW5kSW5m
b1JlZiBjb21tYW5kSW5mbywgTVJNZWRpYVJlbW90ZUNvbW1hbmQgY29tbWFuZCksIChjb21tYW5k
SW5mbywgY29tbWFuZCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkv
bWFjL01lZGlhUmVtb3RlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL01l
ZGlhUmVtb3RlU1BJLmgKaW5kZXggNTI2Y2Q1MTQ5NTUwZTBjMjU5MTdjNWNmODYzNzUxZDE4MDEx
Mjk1OC4uNDhkODgyMDk1NDAwNWUxNTg1Njc2ZTQzZTA3MTAwYmJmOGM0MTJiYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9NZWRpYVJlbW90ZVNQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaApAQCAtOTYs
NiArOTYsNyBAQCBXVEZfRVhURVJOX0NfQkVHSU4KIHZvaWQqIE1STWVkaWFSZW1vdGVBZGRBc3lu
Y0NvbW1hbmRIYW5kbGVyQmxvY2soTVJNZWRpYVJlbW90ZUFzeW5jQ29tbWFuZEhhbmRsZXJCbG9j
ayk7CiB2b2lkIE1STWVkaWFSZW1vdGVSZW1vdmVDb21tYW5kSGFuZGxlckJsb2NrKHZvaWQgKm9i
c2VydmVyKTsKIHZvaWQgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENvbW1hbmRzKENGQXJyYXlS
ZWYgY29tbWFuZHMsIE1ST3JpZ2luUmVmLCBkaXNwYXRjaF9xdWV1ZV90IHJlcGx5USwgdm9pZChe
Y29tcGxldGlvbikoTVJNZWRpYVJlbW90ZUVycm9yIGVycikpOwordm9pZCBNUk1lZGlhUmVtb3Rl
U2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJPcmlnaW5SZWYsIHVuc2lnbmVkKTsKIAogI3ByYWdt
YSBtYXJrIC0gTVJPcmlnaW4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQppbmRleCBlNzJlNDUwYjRhOGNhMDAzMmRiNjMzYmFiOGRjYjczODYy
ZGVjODQ1Li44ZjljNzBkMmE1N2YzNTY1YTkwZTAzNWI0NzExMjA1NTA0ZWYzNDU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDU3
OSw2ICs0NTc5LDE3IEBAIC0gKEJPT0wpX3Nob3VsZFJlcXVlc3RDYW5kaWRhdGVzCiB7CiAgICAg
cmV0dXJuIF9pbXBsLT5zaG91bGRSZXF1ZXN0Q2FuZGlkYXRlcygpOwogfQorCistICh2b2lkKV9y
ZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvCit7CisgICAgaWYgKF9wYWdlKQorICAg
ICAgICBfcGFnZS0+cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpOworfQorCist
ICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTClo
YXNBY3RpdmVTZXNzaW9uCit7CisgICAgLy8gT3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgorfQog
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogLy8gRXhlY3V0ZSB0aGUgc3VwcGxpZWQgYmxvY2sg
YWZ0ZXIgdGhlIG5leHQgdHJhbnNhY3Rpb24gZnJvbSB0aGUgV2ViUHJvY2Vzcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgK
aW5kZXggZmQ1YmMzNDdjZWRiOTAwNWI4YWJiMGQxMWM1MjFiMWRiZDBkZDk1ZC4uNGFhMmQxNmQ3
MjY2NzU2ZGFlMjE5OGZiZTQ5MjhkNjU2ZTU0Njc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTI4MCw2ICsy
ODAsOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tJbW1lZGlhdGVBY3Rpb25UeXBl
KSB7CiAtICh2b2lkKV9mb3JjZVJlcXVlc3RDYW5kaWRhdGVzIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQpX2RpZFVwZGF0ZUNhbmRpZGF0ZUxpc3RWaXNpYmls
aXR5OihCT09MKXZpc2libGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwog
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9zaG91bGRSZXF1ZXN0Q2FuZGlk
YXRlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV9yZXF1
ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpKTsKKy0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jl
c3BvbnNlOihCT09MKWhhc0FjdGl2ZVNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSkpOwogI2VuZGlmCiAKIC0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBk
YXRlOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMiksIGlvcygxMC4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRl
eCBmNDNiZjliMWJkMjI0NjFhZWRmOTdlMzZmNzA2OTc4NDhiZTFmZGU3Li5hMzBmMmJlYjdiN2M4
ZjNhZDkxODkzYjU5Njk1ZDVkODVjNjViZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKQEAgLTI0OCw2ICsyNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJl
Y29tbWVuZGVkU2Nyb2xsYmFyU3R5bGVEaWRDaGFuZ2UoV2ViQ29yZTo6U2Nyb2xsYmFyU3R5bGUp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNl
KGNvbnN0IFN0cmluZyYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxh
eWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSA9IDA7CiAKICAg
ICB2aXJ0dWFsIENHUmVjdCBib3VuZHNPZkxheWVySW5MYXllckJhY2tlZFdpbmRvd0Nvb3JkaW5h
dGVzKENBTGF5ZXIgKikgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDVlNTc0YmE5MDE5MzQ3ZjE1MGM0OGE5Mzk3NmJjODc1MTY3YTcz
MjUuLjAyZmZkMTg0ZDIxNzdkMjIzN2Y0ZTgyNGFmYjA1YzZkYmNkYTBmY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02Mzg2LDYgKzYzODYsMTYgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RDb250cm9sbGVkRWxlbWVudElEKCkgY29uc3QKICNl
bmRpZgogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNz
aW9uSW5mbygpCit7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXF1
ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCksIG1fcGFnZUlEKTsKK30KKwordm9pZCBX
ZWJQYWdlUHJveHk6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJv
b2wgaGFzQWN0aXZlU2Vzc2lvbikgY29uc3QKK3sKKyAgICBtX3BhZ2VDbGllbnQuaGFuZGxlQWN0
aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoaGFzQWN0aXZlU2Vzc2lvbik7Cit9CisK
IHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyKSBjb25zdAogewogICAgIG1fcGFnZUNsaWVudC5oYW5kbGVD
b250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoaWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZDY3YzU4NWZhN2ZiNzljZjVhMTJhNjM3NTk2MTU5
ZDI0YmViYTRmOC4uMmVhMzA0YWY2NmUyMDdmZTBhYmYxNjkxOTlmZmZmOTJlZGIzZTg3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTAzNSw2ICsxMDM1LDgg
QEAgcHVibGljOgogICAgIGJvb2wgaGFzQWN0aXZlVmlkZW9Gb3JDb250cm9sc01hbmFnZXIoKSBj
b25zdDsKICAgICB2b2lkIHJlcXVlc3RDb250cm9sbGVkRWxlbWVudElEKCkgY29uc3Q7CiAgICAg
dm9pZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5nJikgY29u
c3Q7CisgICAgdm9pZCByZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCk7CisgICAg
dm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0Fj
dGl2ZVNlc3Npb24pIGNvbnN0OwogICAgIGJvb2wgaXNQbGF5aW5nVmlkZW9JbkVuaGFuY2VkRnVs
bHNjcmVlbigpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGZhZmYyZTc4M2U1NDJjZWNhYjdlODc5
NmJkNmI3MTE1NDVkZjZlNmYuLmQxOWJjNzdlZDNlMzIyZGUyMGJiYjMxMjNkYzVjZmI2OGIwNjNi
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgpAQCAtNDcwLDUgKzQ3MCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgRGlkSGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoKQorICAg
IEhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZl
U2Vzc2lvbikKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5oCmluZGV4IDUyNTlmYjViNzI1Y2E0NzY5MmVhZDdhYTQ4NTkwMTIxM2M3YWI2
ZTkuLjlkN2UzZDAxZTM2YmQwMDIwNzY3MDQ3NTJmMzZmMzE3M2EzZGE1NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTIwNyw2ICsyMDcs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvck1haW5G
cmFtZShTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1v
dmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVD
b250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CisgICAg
dm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0Fj
dGl2ZVNlc3Npb24pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBkaWRQZXJmb3JtSW1tZWRpYXRlQWN0
aW9uSGl0VGVzdChjb25zdCBXZWJIaXRUZXN0UmVzdWx0RGF0YSYsIGJvb2wgY29udGVudFByZXZl
bnRzRGVmYXVsdCwgQVBJOjpPYmplY3QqKSBvdmVycmlkZTsKICAgICB2b2lkKiBpbW1lZGlhdGVB
Y3Rpb25BbmltYXRpb25Db250cm9sbGVyRm9ySGl0VGVzdFJlc3VsdChSZWZQdHI8QVBJOjpIaXRU
ZXN0UmVzdWx0PiwgdWludDY0X3QsIFJlZlB0cjxBUEk6Ok9iamVjdD4pIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5kZXggNWI1
YTEyMWE2OTM5NzZmZjYwYTE4ZGIyNTU2ZjVmNGI5NWUyOTI1OC4uNWMzYTIyZWY3ZGM1NjRlYzNh
MWQ1ZjdmZWY5NTU3ZDU5MGE1ZDBmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC03NTksNiArNzU5LDEzIEBAIHZvaWQgUGFnZUNsaWVu
dEltcGw6OmhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIpCiAjZW5kaWYKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQWN0aXZl
Tm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKQorewor
I2lmIFdLX0FQSV9FTkFCTEVECisgICAgW21fd2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWlu
Z1Nlc3Npb25JbmZvUmVzcG9uc2U6aGFzQWN0aXZlU2Vzc2lvbl07CisjZW5kaWYKK30KKwogdm9p
ZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hhbmdlQmFja2dyb3VuZENvbG9yKCkKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggZmI4ZjVlMWZhNDYxMTQ3N2ZkNjc2NzBhZDhkMTQ4MmQ3OWI2NWRiOS4uZjA5NTlk
NGJmZWE0Zjc5ODkyZjFkNzhhNTYwNjk2NWIzOTc1MTA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMjAxLDYgKzEyMDEsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgZGF0YURldGVjdG9yc0RpZEhpZGVVSShXZWJDb3JlOjpQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXlJRCk7CiAKICAgICB2b2lkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKFdlYkNv
cmU6OlRleHRDaGVja2luZ1Jlc3VsdCk7CisgICAgdm9pZCByZXF1ZXN0QWN0aXZlTm93UGxheWlu
Z1Nlc3Npb25JbmZvKCk7CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0U2hvdWxkRGlzcGF0Y2hGYWtl
TW91c2VNb3ZlRXZlbnRzKGJvb2wgZGlzcGF0Y2gpIHsgbV9zaG91bGREaXNwYXRjaEZha2VNb3Vz
ZU1vdmVFdmVudHMgPSBkaXNwYXRjaDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA2ZmFhNmI0YzJlMWU4Y2Nk
YjY1MWU4MjZmZTlhOTUzYzNiYmE2YjBjLi40N2UxMjcwYjZmMTI3MTVkNjZmZGY5NmNlMjE1MmE0
ODQ5ZDI0NzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNDE3LDYgKzQxNyw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIERhdGFEZXRlY3RvcnNEaWRDaGFuZ2VVSShXZWJD
b3JlOjpQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBwYWdlT3ZlcmxheSkKICAgICBEYXRhRGV0
ZWN0b3JzRGlkSGlkZVVJKFdlYkNvcmU6OlBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEIHBhZ2VP
dmVybGF5KQogICAgIEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKHN0cnVjdCBXZWJDb3JlOjpUZXh0
Q2hlY2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWRhdGUpCisgICAgUmVxdWVzdEFjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uSW5mbygpCiAjZW5kaWYKIAogICAgIFNldFNob3VsZERpc3BhdGNoRmFrZU1v
dXNlTW92ZUV2ZW50cyhib29sIHNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5t
bQppbmRleCA2OWRhMjMyMGMzZWQxMjIwNjQ3NTkwODViYzU4ZDI4MGNkMDVhZGE5Li5lNzljOTFi
YWE5MDNiOWFlOWQ4ZThjZGU4NTYyZWI4NTcwZTVjNDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCkBAIC03NSw2ICs3NSw3
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZU92ZXJs
YXlDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5o
PgorI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXIuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUGx1Z2luRG9jdW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyRWxl
bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJPYmplY3QuaD4KQEAgLTE2MCw2ICsxNjEs
MTUgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShXZWJDb3JlOjpUZXh0
Q2hlY2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWQKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRpZEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKCkpOwogfQogCit2b2lkIFdlYlBhZ2U6
OnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKQoreworICAgIGJvb2wgaGFzQWN0
aXZlU2Vzc2lvbiA9IGZhbHNlOworICAgIGlmIChhdXRvKiBzaGFyZWRNYW5hZ2VyID0gV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkK
KyAgICAgICAgaGFzQWN0aXZlU2Vzc2lvbiA9IHNoYXJlZE1hbmFnZXItPmhhc0FjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uKCk7CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkhhbmRs
ZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGhhc0FjdGl2ZVNlc3Npb24pKTsK
K30KKwogTlNPYmplY3QgKldlYlBhZ2U6OmFjY2Vzc2liaWxpdHlPYmplY3RGb3JNYWluRnJhbWVQ
bHVnaW4oKQogewogICAgIGlmICghbV9wYWdlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNjMDA4NjQwNzQyZjY1NTFkMDBkNTExNjM2ZWEwYmI2
ODNlNmEwZmEuLmE5YWE5Nzk5MjI1MDBmNTZjM2NjNjczNmFkZjU0NTJhZWI0NGRjYjYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NiBAQAorMjAxNi0wOS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBBZG9wdCBNZWRpYVJlbW90ZSBTUEkgdG8gYWNoaWV2ZSBkZXNpcmVkIE5vdyBQ
bGF5aW5nIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjI2NTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NDk5MzU4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZXMgMiB1
bml0IHRlc3RzIGluIHRoZSBuZXcgTm93UGxheWluZ0NvbnRyb2xzVGVzdHMgdGVzdCBzdWl0ZS4g
QWxzbyBwcm92aWRlcyBzb21lIGJhc2ljIHN1cHBvcnQgZm9yCisgICAgICAgIG1vY2tpbmcga2V5
IHdpbmRvdyBzdGF0dXMgZm9yIFRlc3RXS1dlYlZpZXdzLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMu
bW06IEFkZGVkLgorICAgICAgICAoLVtOb3dQbGF5aW5nVGVzdFdlYlZpZXcgaGFzQWN0aXZlTm93
UGxheWluZ1Nlc3Npb25dKToKKyAgICAgICAgKC1bTm93UGxheWluZ1Rlc3RXZWJWaWV3IGV4cGVj
dEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOl0pOgorICAgICAgICAoLVtOb3dQbGF5aW5nVGVz
dFdlYlZpZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOl0pOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL21hYy9UZXN0V0tXZWJWaWV3TWFjLm1tOgorICAg
ICAgICAoLVtUZXN0V0tXZWJWaWV3SG9zdFdpbmRvdyBpc0tleVdpbmRvd10pOgorICAgICAgICAo
LVtUZXN0V0tXZWJWaWV3SG9zdFdpbmRvdyBtYWtlS2V5V2luZG93XSk6CisgICAgICAgICgtW1Rl
c3RXS1dlYlZpZXdIb3N0V2luZG93IHJlc2lnbktleVdpbmRvd10pOgorCiAyMDE2LTA5LTI3ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ29y
cmVjdGx5IHBhcnNlIFVSTHMgd2l0aCB0aGUgZmlyc3QgdGFiIGluIHRoZSBmcmFnbWVudApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBkMTcwNjcxYjJmYWYxYTk2ZThhNWFiMDA5NmM5YjNiMzg1
NzBjYmQ4Li41NmU1NjcwYzhhY2I1ZWUyOWRiYzk5MWJiOGJkZWYwOWQ3N2MyMDlkIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtNzcsNiArNzcsNyBAQAogCQkyRTc3NjVDRDE2QzREODBBMDBC
QTJCQjEgLyogbWFpbklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJFNzc2NUNDMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tICovOyB9Owog
CQkyRTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFNzc2NUNFMTZDNEQ4MTEwMEJBMkJCMSAv
KiBtYWluTWFjLm1tICovOyB9OwogCQkyRTk4OTYxNTFEOEYwOTM4MDA3Mzk4OTIgLyogdGV4dC1h
bmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkU5ODk2MTQxRDhGMDkyQjAwNzM5ODkyIC8qIHRleHQtYW5k
LXBhc3N3b3JkLWlucHV0cy5odG1sICovOyB9OworCQkyRUNGRjU1NTFEOUIxMkY4MDBCNTUzOTQg
LyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNGRjU1NDFEOUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWlu
Z0NvbnRyb2xzVGVzdHMubW0gKi87IH07CiAJCTJFRkYwNkMzMUQ4ODYyMUUwMDA0QkIzMCAvKiBs
YXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZGMDZDMjFEODg2MjEyMDAwNEJCMzAgLyogbGFyZ2Ut
dmlkZW8tb2Zmc2NyZWVuLmh0bWwgKi87IH07CiAJCTJFRkYwNkM1MUQ4ODY3NzYwMDA0QkIzMCAv
KiBjaGFuZ2UtdmlkZW8tc291cmNlLW9uLWNsaWNrLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVGRjA2QzQxRDg4Njc3MDAwMDRCQjMw
IC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCAqLzsgfTsKIAkJMkVGRjA2Qzcx
RDg4NkE1ODAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tZW5kLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVGRjA2QzYx
RDg4NkE1NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tZW5kLmh0bWwgKi87IH07
CkBAIC00NzgsNiArNDc5LDcgQEAKIAkJRTEyMjBEQ0ExNTVCMjhBQTAwMTNFMkZDIC8qIE1lbW9y
eUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyMjBEQzkxNTVCMjg3
RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRl
Lmh0bWwgKi87IH07CiAJCUUxOTRFMUJEMTc3RTUzQzcwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zy
b21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTk0RTFCQzE3N0U1MzRBMDA5QzRENEUgLyogU3RvcExv
YWRpbmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWwgKi87IH07CiAJCUY0MkRBNTE2MUQ4Q0VG
RTQwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVsZC1mb2N1cy1vbmxvYWQuaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDJEQTUxNTFE
OENFRkRCMDAzMzZGNDAgLyogbGFyZ2UtaW5wdXQtZmllbGQtZm9jdXMtb25sb2FkLmh0bWwgKi87
IH07CisJCUY0RjEzNzkyMUQ5QjY4M0UwMDJCRUM1NyAvKiBsYXJnZS12aWRlby10ZXN0LW5vdy1w
bGF5aW5nLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjRGMTM3OTExRDlCNjgzMjAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93
LXBsYXlpbmcuaHRtbCAqLzsgfTsKIAkJRjRGNDA1QkMxRDRDMEQxQzAwN0E5NzA3IC8qIGZ1bGwt
c2l6ZS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRGNDA1QkExRDRDMENGODAwN0E5
NzA3IC8qIGZ1bGwtc2l6ZS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi87IH07
CiAJCUY0RjQwNUJEMUQ0QzBEMUMwMDdBOTcwNyAvKiBza2lubnktYXV0b3BsYXlpbmctdmlkZW8t
d2l0aC1hdWRpby5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0RjQwNUJCMUQ0QzBDRjgwMDdBOTcwNyAvKiBza2lubnktYXV0b3BsYXlp
bmctdmlkZW8td2l0aC1hdWRpby5odG1sICovOyB9OwogCQlGNjYwQUExMTE1QTVGNjMxMDAzQTEy
NDMgLyogR2V0SW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tfQnVu
ZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
NjBBQTBGMTVBNUY2MjQwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9u
VXNlckRhdGFDYWxsYmFja19CdW5kbGUuY3BwICovOyB9OwpAQCAtNTQ5LDYgKzU1MSw3IEBACiAJ
CQlkc3RQYXRoID0gVGVzdFdlYktpdEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJmb2xkZXJTcGVj
ID0gNzsKIAkJCWZpbGVzID0gKAorCQkJCUY0RjEzNzkyMUQ5QjY4M0UwMDJCRUM1NyAvKiBsYXJn
ZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJ
ODM3QTM1RjExRDlBMUU3RDAwNjYzQzU3IC8qIERvd25sb2FkUmVxdWVzdEJsb2JVUkwuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQkyRTk4OTYxNTFEOEYwOTM4MDA3Mzk4OTIgLyogdGV4
dC1hbmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJRjQy
REE1MTYxRDhDRUZFNDAwMzM2RjQwIC8qIGxhcmdlLWlucHV0LWZpZWxkLWZvY3VzLW9ubG9hZC5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtNzk5LDYgKzgwMiw3IEBACiAJCTJFNzc2NUND
MTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gbWFpbklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkU3NzY1Q0UxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRTk4OTYxNDFEOEYwOTJCMDA3Mzk4OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQtaW5w
dXRzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAidGV4dC1hbmQtcGFzc3dvcmQt
aW5wdXRzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNGRjU1NDFEOUIx
MkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVGRjA2QzIxRDg4NjIxMjAwMDRCQjMwIC8qIGxh
cmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxh
cmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkVGRjA2QzQxRDg4Njc3MDAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2su
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjaGFuZ2UtdmlkZW8tc291cmNlLW9u
LWNsaWNrLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUZGMDZDNjFEODg2
QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9ICJjaGFuZ2UtdmlkZW8tc291cmNlLW9uLWVuZC5odG1sIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExOTAsNiArMTE5NCw3IEBACiAJCUU0QzlBQkM3
MUIzREIxNzEwMDQwQTk4NyAvKiBSdW5Mb29wLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJ1bkxvb3AuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
M0ZDM0VFMjEzNjc4QjczMDAxMjZBNjUgLyogbGliZ3Rlc3QuYSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGFyY2hpdmUuYXI7IHBhdGggPSBsaWJndGVz
dC5hOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlGNDJEQTUxNTFEOENF
RkRCMDAzMzZGNDAgLyogbGFyZ2UtaW5wdXQtZmllbGQtZm9jdXMtb25sb2FkLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IG5hbWUgPSAibGFyZ2UtaW5wdXQtZmllbGQtZm9jdXMtb25sb2FkLmh0
bWwiOyBwYXRoID0gIlRlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS1pbnB1dC1maWVsZC1mb2N1cy1v
bmxvYWQuaHRtbCI7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJRjRGMTM3OTExRDlC
NjgzMjAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY0MDVCQTFENEMwQ0Y4MDA3QTk3MDcg
LyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9ICJmdWxsLXNpemUtYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRp
by5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRGNDA1QkIxRDRDMENGODAw
N0E5NzA3IC8qIHNraW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAic2tpbm55LWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVk
aW8uaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY2NjBBQTBDMTVBNUYwNjEw
MDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFj
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZXRJbmplY3RlZEJ1
bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xMzcyLDYgKzEzNzcsNyBAQAogCQkJCTQ2QzUxOUQ4MUQzNTVBNzMwMERB
QTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLywKIAkJCQk1MUNEMUM2QTFCMzhD
RTM2MDAxNDJDQTUgLyogTW9kYWxBbGVydHMubW0gKi8sCiAJCQkJMUFCQzNERUQxODk5QkU2RDAw
NEYwNjI2IC8qIE5hdmlnYXRpb24ubW0gKi8sCisJCQkJMkVDRkY1NTQxRDlCMTJGODAwQjU1Mzk0
IC8qIE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tICovLAogCQkJCUNFQTZDRjIyMTlDQ0Y1QkQw
MDY0RjVBNyAvKiBPcGVuQW5kQ2xvc2VXaW5kb3cubW0gKi8sCiAJCQkJQzk1NTAxQkUxOUFEMkZB
RjAwNDlCRTNFIC8qIFByZWZlcmVuY2VzLm1tICovLAogCQkJCTU3OThFMkFGMUNBRjVDMjgwMEM1
Q0JBMCAvKiBQcm92aXNpb25hbFVSTE5vdENoYW5nZS5tbSAqLywKQEAgLTE0ODUsNiArMTQ5MSw3
IEBACiAJCUExNkY2NkI4MUM0MEU5RTEwMEJENEQyNCAvKiBSZXNvdXJjZXMgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUY0RjEzNzkxMUQ5QjY4MzIwMDJC
RUM1NyAvKiBsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwgKi8sCiAJCQkJMkU5ODk2
MTQxRDhGMDkyQjAwNzM5ODkyIC8qIHRleHQtYW5kLXBhc3N3b3JkLWlucHV0cy5odG1sICovLAog
CQkJCTJFRkYwNkNDMUQ4QTQyOTEwMDA0QkIzMCAvKiBpbnB1dC1maWVsZC1pbi1zY3JvbGxhYmxl
LWRvY3VtZW50Lmh0bWwgKi8sCiAJCQkJMkVGRjA2QzYxRDg4NkE1NjAwMDRCQjMwIC8qIGNoYW5n
ZS12aWRlby1zb3VyY2Utb24tZW5kLmh0bWwgKi8sCkBAIC0yMzM3LDYgKzIzNDQsNyBAQAogCQkJ
CTdDQ0U3RjIzMUE0MTFBRjYwMDQ0N0M0QyAvKiBEb3dubG9hZC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUVFMUE0MTFBRTYwMDQ0N0M0QyAvKiBEb3dubG9hZERlY2lkZURlc3RpbmF0aW9u
Q3Jhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkUxQTQxMUE3RTAwNDQ3QzRDIC8q
IER5bmFtaWNEZXZpY2VTY2FsZUZhY3Rvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTJFQ0ZGNTU1
MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTdDQ0U3RUUwMUE0MTFBOUEwMDQ0N0M0QyAvKiBFZGl0b3JDb21tYW5kcy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUJGMUE0MTFBN0UwMDQ0N0M0QyAvKiBFbGVtZW50QXRQ
b2ludEluV2ViRnJhbWUubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTkwOUE4MzFEODc3NDgwMDA3
RTEwRjggLyogSW50U2l6ZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRy
b2xzVGVzdHMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTEwMzkxNjI5ZTdlOTc0ZGY0MWM1MTkwOTc1ODMwMWI3
OGExYzhiYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCkBAIC0wLDAgKzEsOTkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0
aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3TWFjLmgiCisKKyNpbXBvcnQgPFdlYktpdC9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmll
d1ByaXZhdGUuaD4KKworI2lmIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTIwMQorCitAaW50ZXJmYWNlIE5vd1Bs
YXlpbmdUZXN0V2ViVmlldyA6IFRlc3RXS1dlYlZpZXcKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkb25seSkgQk9PTCBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIE5vd1BsYXlpbmdUZXN0V2ViVmlldyB7CisgICAgYm9vbCBfcmVjZWl2ZWROb3dQ
bGF5aW5nSW5mb1Jlc3BvbnNlOworICAgIEJPT0wgX2hhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9u
OworfQorLSAoQk9PTCloYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbgoreworICAgIF9yZWNlaXZl
ZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2UgPSBmYWxzZTsKKyAgICBbc2VsZiBfcmVxdWVzdEFjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb107CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZf
cmVjZWl2ZWROb3dQbGF5aW5nSW5mb1Jlc3BvbnNlKTsKKworICAgIHJldHVybiBfaGFzQWN0aXZl
Tm93UGxheWluZ1Nlc3Npb247Cit9CisKKy0gKHZvaWQpZXhwZWN0SGFzQWN0aXZlTm93UGxheWlu
Z1Nlc3Npb246KEJPT0wpaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24KK3sKKyAgICBib29sIGZp
bmlzaGVkV2FpdGluZyA9IGZhbHNlOworICAgIHdoaWxlICghZmluaXNoZWRXYWl0aW5nKSB7Cisg
ICAgICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5Nb2RlOk5TRGVmYXVsdFJ1bkxv
b3BNb2RlIGJlZm9yZURhdGU6W05TRGF0ZSBkaXN0YW50UGFzdF1dOworICAgICAgICBmaW5pc2hl
ZFdhaXRpbmcgPSBzZWxmLmhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uID09IGhhc0FjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uOworICAgIH0KK30KKworLSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxh
eWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbgoreworICAgIF9o
YXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbiA9IGhhc0FjdGl2ZVNlc3Npb247CisgICAgX3JlY2Vp
dmVkTm93UGxheWluZ0luZm9SZXNwb25zZSA9IHRydWU7Cit9CitAZW5kCisKK25hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKKworVEVTVChOb3dQbGF5aW5nQ29udHJvbHNUZXN0cywgTm93UGxheWlu
Z0NvbnRyb2xzRG9Ob3RTaG93Rm9yRm9yZWdyb3VuZFBhZ2UpCit7CisgICAgV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF07CisgICAgY29uZmlndXJhdGlvbi5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlv
bkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAgTm93UGxheWlu
Z1Rlc3RXZWJWaWV3ICp3ZWJWaWV3ID0gW1tOb3dQbGF5aW5nVGVzdFdlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25m
aWd1cmF0aW9uXTsKKyAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAImxhcmdlLXZpZGVv
LXRlc3Qtbm93LXBsYXlpbmciXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAInBsYXlp
bmciXTsKKworICAgIFt3ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6WUVTXTsKKyAgICBbd2Vi
Vmlldy53aW5kb3cgbWFrZUtleVdpbmRvd107CisgICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZl
Tm93UGxheWluZ1Nlc3Npb246Tk9dOworfQorCitURVNUKE5vd1BsYXlpbmdDb250cm9sc1Rlc3Rz
LCBOb3dQbGF5aW5nQ29udHJvbHNTaG93Rm9yQmFja2dyb3VuZFBhZ2UpCit7CisgICAgV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF07CisgICAgY29uZmlndXJhdGlvbi5tZWRpYVR5cGVzUmVxdWlyaW5nVXNl
ckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAgTm93
UGxheWluZ1Rlc3RXZWJWaWV3ICp3ZWJWaWV3ID0gW1tOb3dQbGF5aW5nVGVzdFdlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlv
bjpjb25maWd1cmF0aW9uXTsKKyAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAImxhcmdl
LXZpZGVvLXRlc3Qtbm93LXBsYXlpbmciXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpA
InBsYXlpbmciXTsKKworICAgIFt3ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6Tk9dOworICAg
IFt3ZWJWaWV3LndpbmRvdyByZXNpZ25LZXlXaW5kb3ddOworICAgIFt3ZWJWaWV3IGV4cGVjdEhh
c0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOllFU107Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkKKworI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTIwMQpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ct
cGxheWluZy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvbGFy
Z2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjNzlhNTYyNGMzMTQy
NGJiMDRiODkxMmJmNmI3NzUwMzMyOWJhZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5n
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
ICAgIDxzdHlsZT4KKyAgICAgICAgdmlkZW8geworICAgICAgICAgICAgd2lkdGg6IDQ4MHB4Owor
ICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDsKKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rp
b24gcGxheWluZygpIHsKKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNz
YWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoInBsYXlpbmciKTsKKyAgICAgICAg
ICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LCAw
KTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHZpZGVv
IGF1dG9wbGF5IG9ucGxheWluZz1wbGF5aW5nKCk+PHNvdXJjZSBzcmM9ImxhcmdlLXZpZGVvLXdp
dGgtYXVkaW8ubXA0Ij48L3ZpZGVvPgorPC9ib2R5PgorPGh0bWw+CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0V0tXZWJWaWV3TWFjLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvVGVzdFdLV2ViVmlld01hYy5tbQppbmRleCA1N2ExZjRlOWM3NWRlNWRmZGZlMGUy
ZTQ5MDljNjMyNjVmMDI1MjAyLi40ZTE1NGVkNzc2MDFiYTkzMzk1NWM4NjM2NDU1MDdmYmYwMWE2
MTAxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0V0tXZWJWaWV3TWFj
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dlYlZpZXdNYWMubW0KQEAg
LTYzLDcgKzYzLDkgQEAgQGVuZAogQGludGVyZmFjZSBUZXN0V0tXZWJWaWV3SG9zdFdpbmRvdyA6
IE5TV2luZG93CiBAZW5kCiAKLUBpbXBsZW1lbnRhdGlvbiBUZXN0V0tXZWJWaWV3SG9zdFdpbmRv
dworQGltcGxlbWVudGF0aW9uIFRlc3RXS1dlYlZpZXdIb3N0V2luZG93IHsKKyAgICBCT09MIF9m
b3JjZUtleVdpbmRvdzsKK30KIAogc3RhdGljIGludCBnRXZlbnROdW1iZXIgPSAxOwogCkBAIC0x
MTQsNiArMTE2LDI2IEBAIC0gKHZvaWQpX21vdXNlRG93bkF0UG9pbnQ6KE5TUG9pbnQpcG9pbnQg
c2ltdWxhdGVQcmVzc3VyZTooQk9PTClzaW11bGF0ZVByZXNzdXJlCiAjZW5kaWYKIH0KIAorLSAo
Qk9PTClpc0tleVdpbmRvdworeworICAgIHJldHVybiBfZm9yY2VLZXlXaW5kb3cgfHwgW3N1cGVy
IGlzS2V5V2luZG93XTsKK30KKworLSAodm9pZCltYWtlS2V5V2luZG93Cit7CisgICAgaWYgKF9m
b3JjZUtleVdpbmRvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgX2ZvcmNlS2V5V2luZG93ID0g
WUVTOworICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5vdGlm
aWNhdGlvbk5hbWU6TlNXaW5kb3dEaWRCZWNvbWVLZXlOb3RpZmljYXRpb24gb2JqZWN0OnNlbGZd
OworfQorCistICh2b2lkKXJlc2lnbktleVdpbmRvdworeworICAgIF9mb3JjZUtleVdpbmRvdyA9
IE5POworICAgIFtzdXBlciByZXNpZ25LZXlXaW5kb3ddOworfQorCiBAZW5kCiAKIEBpbXBsZW1l
bnRhdGlvbiBUZXN0V0tXZWJWaWV3IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290098</attachid>
            <date>2016-09-28 10:21:01 -0700</date>
            <delta_ts>2016-09-28 10:27:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162658-20160928101801.patch</filename>
            <type>text/plain</type>
            <size>39588</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgzOTM0NWVmNjYxODhk
ZTk4YzlmOWE5ZTU2ZTIzMzVlMGJhZGJiMy4uYTZjMGFlMzRkYTkyZjA4MWNjNTMyNmM5ZWYyNDQ4
NWExYmY3NTk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA5LTI3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IE1lZGlh
UmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVzdG9yZXMgdGhlIGNoYW5nZXMgcHJldmlvdXNseSByb2xs
ZWQgb3V0IGluIHIyMDY0NDQsIGFuZCBhZG9wdHMgbmV3IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hp
ZXZlIHRoZSBkZXNpcmVkCisgICAgICAgIGJlaGF2aW9yIGZvciBtZWRpYSBpbiBiYWNrZ3JvdW5k
IHRhYnMgd2l0aG91dCBicmVha2luZyBvdGhlciBmZWF0dXJlcy4KKworICAgICAgICBJbnRyb2R1
Y2VzIDIgbmV3IHVuaXQgdGVzdHMgaW4gTm93UGxheWluZ0NvbnRyb2xzVGVzdHMuCisKKyAgICAg
ICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFFbGVtZW50U2Vzc2lvbjo6cGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAgICAg
ICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFZpZXdTdGF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6
CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omhhc0FjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFT
ZXNzaW9uTWFuYWdlck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdl
ck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NZWRp
YVJlbW90ZVNvZnRMaW5rLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVT
b2Z0TGluay5oOgorICAgICAgICAqIHBsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaDoK
KwogMjAxNi0wOS0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIElubGluZSBjcml0aWNhbCBmdW5jdGlvbnMgaW4gVVJMUGFyc2VyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggYzI4OTFhYTllOTYzMWEwMDI3YTNlMjdjNmMzYjQ1MTBmMjk4M2FkOC4uMWM1N2E4
YzNmMWRlYzY4YmQzZGUwZjcyODkwYWRkZmE5MzY2NTJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMzIEBACisyMDE2LTA5LTI3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCisgICAgICAgIEFkb3B0IE1lZGlhUmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93
IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2MjY1OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1bWJzIE5vdyBQ
bGF5aW5nIHNlc3Npb24gaW5mb3JtYXRpb24gKGZvciBub3csIHRoaXMgaXMganVzdCBhIGZsYWcg
aW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGVyZSBpcyBhbgorICAgICAgICBhY3RpdmUgc2Vz
c2lvbikgYWNyb3NzIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzIGZvciB0
ZXN0aW5nIGluIHRoZSBmb3JtIG9mIGFzeW5jaHJvbm91cyByZXF1ZXN0LworICAgICAgICBoYW5k
bGUtcmVzcG9uc2UgbWVzc2FnZXMgb24gdGhlIFdlYlBhZ2UgYW5kIGl0cyBwcm94eSBpbiB0aGUg
VUkgcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm9dKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lv
bkluZm9SZXNwb25zZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8pOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZUFjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uSW5mb1Jlc3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyk6
CisKIDIwMTYtMDktMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAg
ICAgIE5ldHdvcmtMb2FkIGFuZCBQaW5nTG9hZCBzaG91bGQgdXNlIHByaXZhdGUgaW5oZXJpdGFu
Y2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IGNi
MmNjNmRkYzJlNWQ5Zjc3MjJiZjdiMTQ2MGYyOGIwZmRiZjAxMDEuLjhlODE0MDc4ODAwOWE4NTRi
MjExYzBmZDQ2NGE1ODMyZmI2ZWNjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNzM1LDggKzczNSw4IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6dXBkYXRlSXNNYWluQ29udGVudCgpIGNvbnN0CiAKIGJvb2wgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6cGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scygpIGNvbnN0CiB7Ci0gICAgLy8gRklY
TUU6IElkZWFsbHksIHdlIHNob3VsZCBub3QgYWxsb3cgTm93IFBsYXlpbmcgY29udHJvbHMgZm9y
IHRoZSBhY3RpdmUgdGFiIGluIHRoZSBtYWluIHdpbmRvdy4KLSAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBhdXRvIHBhZ2UgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgcmV0dXJuIHBh
Z2UgJiYgIXBhZ2UtPmlzVmlzaWJsZUFuZEFjdGl2ZSgpOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCAzYzFiZGRkMjIxZmIzMzk4YjZmMzcwMDgwNjhiN2Y5YzRiZDM5MGJiLi5hOWUyMDk0
MjNiNDU4Y2U1N2IzZGU2OGE0M2I0NjU1YTMyNzhjZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAg
LTE0NTEsNiArMTQ1MSw3IEBAIHZvaWQgUGFnZTo6c2V0Vmlld1N0YXRlKFZpZXdTdGF0ZTo6Rmxh
Z3Mgdmlld1N0YXRlKQogCiAgICAgVmlld1N0YXRlOjpGbGFncyBvbGRWaWV3U3RhdGUgPSBtX3Zp
ZXdTdGF0ZTsKIAorICAgIGJvb2wgd2FzVmlzaWJsZUFuZEFjdGl2ZSA9IGlzVmlzaWJsZUFuZEFj
dGl2ZSgpOwogICAgIG1fdmlld1N0YXRlID0gdmlld1N0YXRlOwogCiAgICAgbV9mb2N1c0NvbnRy
b2xsZXItPnNldFZpZXdTdGF0ZSh2aWV3U3RhdGUpOwpAQCAtMTQ2Nyw2ICsxNDY4LDkgQEAgdm9p
ZCBQYWdlOjpzZXRWaWV3U3RhdGUoVmlld1N0YXRlOjpGbGFncyB2aWV3U3RhdGUpCiAKICAgICBm
b3IgKGF1dG8qIG9ic2VydmVyIDogbV92aWV3U3RhdGVDaGFuZ2VPYnNlcnZlcnMpCiAgICAgICAg
IG9ic2VydmVyLT52aWV3U3RhdGVEaWRDaGFuZ2Uob2xkVmlld1N0YXRlLCBtX3ZpZXdTdGF0ZSk7
CisKKyAgICBpZiAod2FzVmlzaWJsZUFuZEFjdGl2ZSAhPSBpc1Zpc2libGVBbmRBY3RpdmUoKSkK
KyAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjp1cGRhdGVOb3dQbGF5aW5nSW5m
b0lmTmVjZXNzYXJ5KCk7CiB9CiAKIGJvb2wgUGFnZTo6aXNWaXNpYmxlQW5kQWN0aXZlKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggNzc0OGY5N2Q0M2ZlYzIwZjBlODRhMDQ2OTA4
MGFiMzgyZDFhZTQ0Ni4uYWQyZjExM2Y4MjFkMWVhY2ZiNGQwMDg3NGNmNGQ3YzczZGQzMTdjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIGJv
b2wgYWN0aXZlQXVkaW9TZXNzaW9uUmVxdWlyZWQoKSBjb25zdDsKICAgICBib29sIGNhblByb2R1
Y2VBdWRpbygpIGNvbnN0OwogCisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGhhc0Fj
dGl2ZU5vd1BsYXlpbmdTZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIGJv
b2wgd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3dpbGxJ
Z25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zOyB9CiAgICAgdm9pZCBzZXRXaWxsSWdub3JlU3lzdGVt
SW50ZXJydXB0aW9ucyhib29sIGlnbm9yZSkgeyBtX3dpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRp
b25zID0gaWdub3JlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCmluZGV4IDI2YzZmNDhmMzUyMjI0
NTViMWM4NmI1ZmE4NzU4Mjk2YTBiMTE4NGUuLmY3Yzc4YzQxYjM3NmFiMGVmYWFiYzEwYzdmODMy
YmY5MDEyN2QzZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaApAQCAtMzYsNiArMzYsOCBAQCBjbGFz
cyBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjIDogcHVibGljIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTZXNzaW9uTWFuYWdlck1hYygpOwog
CisgICAgYm9vbCBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbigpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1fbm93UGxheWluZ0FjdGl2ZTsgfQorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0KaW5k
ZXggMTU0ZDMzNGVkNjRiNGVjM2JlNDBhMzYwZmNlODIxYjhhYzEwNzNmYy4uZjgwMDgyMjlmOTNk
YTRjZjI2MDVjN2NhZmUxMWQzYTRkNzcxMTU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0KQEAg
LTEzMCw3ICsxMzAsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1Bs
YXlpbmdJbmZvKCkKIAogICAgIGlmICghY3VycmVudFNlc3Npb24pIHsKICAgICAgICAgaWYgKG1f
bm93UGxheWluZ0FjdGl2ZSkgewotICAgICAgICAgICAgTVJNZWRpYVJlbW90ZVNldENhbkJlTm93
UGxheWluZ0FwcGxpY2F0aW9uKGZhbHNlKTsKKyAgICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXRO
b3dQbGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4oKSwgTVJOb3dQ
bGF5aW5nQ2xpZW50VmlzaWJpbGl0eU5ldmVyVmlzaWJsZSk7CiAgICAgICAgICAgICBMT0coTWVk
aWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbyAtIGNsZWFy
aW5nIG5vdyBwbGF5aW5nIGluZm8iKTsKICAgICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXROb3dQ
bGF5aW5nSW5mbyhudWxscHRyKTsKICAgICAgICAgICAgIG1fbm93UGxheWluZ0FjdGl2ZSA9IGZh
bHNlOwpAQCAtMTQ2LDEwICsxNDYsMTIgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1
cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAo
IU1STWVkaWFSZW1vdGVTZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNhdGlvbih0cnVlKSkgewotICAg
ICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5n
SW5mbyAtIE1STWVkaWFSZW1vdGVTZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNhdGlvbih0cnVlKSBm
YWlsZWQiKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25j
ZV90IGVuYWJsZU5vd1BsYXlpbmdUb2tlbjsKKyAgICBkaXNwYXRjaF9vbmNlKCZlbmFibGVOb3dQ
bGF5aW5nVG9rZW4sIF4oKSB7CisgICAgICAgIE1STWVkaWFSZW1vdGVTZXRDYW5CZU5vd1BsYXlp
bmdBcHBsaWNhdGlvbih0cnVlKTsKKyAgICB9KTsKKworICAgIE1STWVkaWFSZW1vdGVTZXROb3dQ
bGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4oKSwgTVJOb3dQbGF5
aW5nQ2xpZW50VmlzaWJpbGl0eUFsd2F5c1Zpc2libGUpOwogCiAgICAgU3RyaW5nIHRpdGxlID0g
Y3VycmVudFNlc3Npb24tPnRpdGxlKCk7CiAgICAgZG91YmxlIGR1cmF0aW9uID0gY3VycmVudFNl
c3Npb24tPmR1cmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvTWVkaWFSZW1vdGVTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
TWVkaWFSZW1vdGVTb2Z0TGluay5jcHAKaW5kZXggYjE5NWZmMjc0NzgxYjRhZDY4YTk5MjJkZTM0
MDhlOTk5YzI5MzIxNi4uMDlhNmNhMzMyMmQ1NzhmMWRkMTQyODE3YTQ1NDUzZGQ2MDNkZWRkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExp
bmsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRM
aW5rLmNwcApAQCAtMzUsNiArMzUsNyBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUdldExvY2FsT3JpZ2luLAogU09GVF9M
SU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1v
dGVBZGRBc3luY0NvbW1hbmRIYW5kbGVyQmxvY2ssIHZvaWQqLCAoTVJNZWRpYVJlbW90ZUFzeW5j
Q29tbWFuZEhhbmRsZXJCbG9jayBibG9jayksIChibG9jaykpCiBTT0ZUX0xJTktfRlVOQ1RJT05f
Rk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1h
bmRIYW5kbGVyQmxvY2ssIHZvaWQsICh2b2lkKiBvYnNlcnZlciksIChvYnNlcnZlcikpCiBTT0ZU
X0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJl
bW90ZVNldFN1cHBvcnRlZENvbW1hbmRzLCB2b2lkLCAoQ0ZBcnJheVJlZiBjb21tYW5kcywgTVJP
cmlnaW5SZWYgb3JpZ2luLCBkaXNwYXRjaF9xdWV1ZV90IHJlcGx5USwgdm9pZCheY29tcGxldGlv
bikoTVJNZWRpYVJlbW90ZUVycm9yIGVycikpLCAoY29tbWFuZHMsIG9yaWdpbiwgcmVwbHlRLCBj
b21wbGV0aW9uKSkKK1NPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlh
UmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHksIHZvaWQsIChNUk9y
aWdpblJlZiBvcmlnaW4sIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHkgdmlzaWJpbGl0eSks
IChvcmlnaW4sIHZpc2liaWxpdHkpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2Vi
Q29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb0NyZWF0ZSwgTVJNZWRp
YVJlbW90ZUNvbW1hbmRJbmZvUmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKGFsbG9j
YXRvcikpOwogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1v
dGUsIE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1NldENvbW1hbmQsIHZvaWQsIChNUk1lZGlhUmVt
b3RlQ29tbWFuZEluZm9SZWYgY29tbWFuZEluZm8sIE1STWVkaWFSZW1vdGVDb21tYW5kIGNvbW1h
bmQpLCAoY29tbWFuZEluZm8sIGNvbW1hbmQpKQogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VS
Q0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1NldEVuYWJs
ZWQsIHZvaWQsIChNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9SZWYgY29tbWFuZEluZm8sIEJvb2xl
YW4gZW5hYmxlZCksIChjb21tYW5kSW5mbywgZW5hYmxlZCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuaAppbmRleCBjZjhjNmE4ZGNkZTBk
NDE4MzQ5MjUyMTM1ZmEwNjI2ZDdkZmI4NGE3Li4zMGRlNGExZDM4MjYyMTQ2ZmI3NDg0NTA5YmQ0
MzQ5NjJkZDFkZDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVk
aWFSZW1vdGVTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRp
YVJlbW90ZVNvZnRMaW5rLmgKQEAgLTM5LDYgKzM5LDggQEAgU09GVF9MSU5LX0ZVTkNUSU9OX0ZP
Ul9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVSZW1vdmVDb21tYW5k
SGEKICNkZWZpbmUgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYW5kbGVyQmxvY2sgc29mdExp
bmtfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYW5kbGVyQmxvY2sKIFNP
RlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlh
UmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMsIHZvaWQsIChDRkFycmF5UmVmIGNvbW1hbmRzLCBN
Uk9yaWdpblJlZiBvcmlnaW4sIGRpc3BhdGNoX3F1ZXVlX3QgcmVwbHlRLCB2b2lkKF5jb21wbGV0
aW9uKShNUk1lZGlhUmVtb3RlRXJyb3IgZXJyKSksIChjb21tYW5kcywgb3JpZ2luLCByZXBseVEs
IGNvbXBsZXRpb24pKQogI2RlZmluZSBNUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMg
c29mdExpbmtfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENvbW1hbmRzCitT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRp
YVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5LCB2b2lkLCAoTVJPcmlnaW5SZWYgb3JpZ2lu
LCBNUk5vd1BsYXlpbmdDbGllbnRWaXNpYmlsaXR5IHZpc2liaWxpdHkpLCAob3JpZ2luLCB2aXNp
YmlsaXR5KSkKKyNkZWZpbmUgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5IHNv
ZnRMaW5rX01lZGlhUmVtb3RlX01STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eQog
U09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVk
aWFSZW1vdGVDb21tYW5kSW5mb0NyZWF0ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvUmVmLCAo
Q0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yKSwgKGFsbG9jYXRvcikpOwogI2RlZmluZSBNUk1lZGlh
UmVtb3RlQ29tbWFuZEluZm9DcmVhdGUgc29mdExpbmtfTWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90
ZUNvbW1hbmRJbmZvQ3JlYXRlCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0Q29tbWFuZCwgdm9pZCwg
KE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1JlZiBjb21tYW5kSW5mbywgTVJNZWRpYVJlbW90ZUNv
bW1hbmQgY29tbWFuZCksIChjb21tYW5kSW5mbywgY29tbWFuZCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL01lZGlhUmVtb3RlU1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvbWFjL01lZGlhUmVtb3RlU1BJLmgKaW5kZXggNTI2Y2Q1MTQ5NTUw
ZTBjMjU5MTdjNWNmODYzNzUxZDE4MDExMjk1OC4uMDU4NzU4YWI0ZTAzMGNhZjJhYjAyYmE3MTg4
ZTgwMTRmN2VkMzY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21h
Yy9NZWRpYVJlbW90ZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9tYWMv
TWVkaWFSZW1vdGVTUEkuaApAQCAtMjcsNiArMjcsMjIgQEAKIAogI2lmIFVTRShNRURJQVJFTU9U
RSkKIAorI2lmIF9faGFzX2luY2x1ZGUoPE1lZGlhUmVtb3RlL01STm93UGxheWluZ1R5cGVzLmg+
KQorCisjaW5jbHVkZSA8TWVkaWFSZW1vdGUvTVJOb3dQbGF5aW5nVHlwZXMuaD4KKworI2Vsc2UK
KworZW51bSB7CisgICAgTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eVVuZGVmaW5lZCA9IDAs
CisgICAgTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eUFsd2F5c1Zpc2libGUsCisgICAgTVJO
b3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eVZpc2libGVXaGVuQmFja2dyb3VuZGVkLAorICAgIE1S
Tm93UGxheWluZ0NsaWVudFZpc2liaWxpdHlOZXZlclZpc2libGUKK307Cit0eXBlZGVmIHVpbnQz
Ml90IE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHk7CisKKyNlbmRpZgorCiAjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKIAogI2luY2x1ZGUgPE1lZGlhUmVtb3RlL01lZGlhUmVtb3RlLmg+
CkBAIC05Niw2ICsxMTIsNyBAQCBXVEZfRVhURVJOX0NfQkVHSU4KIHZvaWQqIE1STWVkaWFSZW1v
dGVBZGRBc3luY0NvbW1hbmRIYW5kbGVyQmxvY2soTVJNZWRpYVJlbW90ZUFzeW5jQ29tbWFuZEhh
bmRsZXJCbG9jayk7CiB2b2lkIE1STWVkaWFSZW1vdGVSZW1vdmVDb21tYW5kSGFuZGxlckJsb2Nr
KHZvaWQgKm9ic2VydmVyKTsKIHZvaWQgTVJNZWRpYVJlbW90ZVNldFN1cHBvcnRlZENvbW1hbmRz
KENGQXJyYXlSZWYgY29tbWFuZHMsIE1ST3JpZ2luUmVmLCBkaXNwYXRjaF9xdWV1ZV90IHJlcGx5
USwgdm9pZCheY29tcGxldGlvbikoTVJNZWRpYVJlbW90ZUVycm9yIGVycikpOwordm9pZCBNUk1l
ZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJPcmlnaW5SZWYsIE1STm93UGxheWlu
Z0NsaWVudFZpc2liaWxpdHkpOwogCiAjcHJhZ21hIG1hcmsgLSBNUk9yaWdpbgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGU3MmU0
NTBiNGE4Y2EwMDMyZGI2MzNiYWI4ZGNiNzM4NjJkZWM4NDUuLjhmOWM3MGQyYTU3ZjM1NjVhOTBl
MDM1YjQ3MTEyMDU1MDRlZjM0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00NTc5LDYgKzQ1NzksMTcgQEAgLSAoQk9PTClfc2hv
dWxkUmVxdWVzdENhbmRpZGF0ZXMKIHsKICAgICByZXR1cm4gX2ltcGwtPnNob3VsZFJlcXVlc3RD
YW5kaWRhdGVzKCk7CiB9CisKKy0gKHZvaWQpX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lv
bkluZm8KK3sKKyAgICBpZiAoX3BhZ2UpCisgICAgICAgIF9wYWdlLT5yZXF1ZXN0QWN0aXZlTm93
UGxheWluZ1Nlc3Npb25JbmZvKCk7Cit9CisKKy0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhhc0FjdGl2ZVNlc3Npb24KK3sKKyAgICAvLyBP
dmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCit9CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAv
LyBFeGVjdXRlIHRoZSBzdXBwbGllZCBibG9jayBhZnRlciB0aGUgbmV4dCB0cmFuc2FjdGlvbiBm
cm9tIHRoZSBXZWJQcm9jZXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBmZDViYzM0N2NlZGI5MDA1YjhhYmIw
ZDExYzUyMWIxZGJkMGRkOTVkLi40YWEyZDE2ZDcyNjY3NTZkYWUyMTk4ZmJlNDkyOGQ2NTZlNTQ2
NzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaApAQCAtMjgwLDYgKzI4MCw4IEBAIHR5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIF9XS0ltbWVkaWF0ZUFjdGlvblR5cGUpIHsKIC0gKHZvaWQpX2ZvcmNlUmVxdWVzdENh
bmRpZGF0ZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClf
ZGlkVXBkYXRlQ2FuZGlkYXRlTGlzdFZpc2liaWxpdHk6KEJPT0wpdmlzaWJsZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIEJPT0wgX3Nob3VsZFJlcXVlc3RDYW5kaWRhdGVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm8gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfaGFuZGxl
QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lv
biBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAjZW5kaWYKIAogLSAodm9p
ZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJs
b2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGY0M2JmOWIxYmQyMjQ2MWFlZGY5N2UzNmY3
MDY5Nzg0OGJlMWZkZTcuLmEzMGYyYmViN2I3YzhmM2FkOTE4OTNiNTk2OTVkNWQ4NWM2NWJmMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjQ4LDYgKzI0OCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVjb21tZW5kZWRTY3JvbGxiYXJTdHlsZURpZENo
YW5nZShXZWJDb3JlOjpTY3JvbGxiYXJTdHlsZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5k
bGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5nJikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29s
IGhhc0FjdGl2ZVNlc3Npb24pID0gMDsKIAogICAgIHZpcnR1YWwgQ0dSZWN0IGJvdW5kc09mTGF5
ZXJJbkxheWVyQmFja2VkV2luZG93Q29vcmRpbmF0ZXMoQ0FMYXllciAqKSBjb25zdCA9IDA7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNWU1NzRiYTkw
MTkzNDdmMTUwYzQ4YTkzOTc2YmM4NzUxNjdhNzMyNS4uMDJmZmQxODRkMjE3N2QyMjM3ZjRlODI0
YWZiMDVjNmRiY2RhMGZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTYzODYsNiArNjM4NiwxNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdENv
bnRyb2xsZWRFbGVtZW50SUQoKSBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5
OjpyZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkKK3sKKyAgICBtX3Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm8oKSwgbV9wYWdlSUQpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQWN0aXZlTm93
UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBjb25zdAor
eworICAgIG1fcGFnZUNsaWVudC5oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNw
b25zZShoYXNBY3RpdmVTZXNzaW9uKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUNv
bnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpIGNvbnN0
CiB7CiAgICAgbV9wYWdlQ2xpZW50LmhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShp
ZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBk
NjdjNTg1ZmE3ZmI3OWNmNWExMmE2Mzc1OTYxNTlkMjRiZWJhNGY4Li4yZWEzMDRhZjY2ZTIwN2Zl
MGFiZjE2OTE5OWZmZmY5MmVkYjNlODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC0xMDM1LDYgKzEwMzUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBY3Rp
dmVWaWRlb0ZvckNvbnRyb2xzTWFuYWdlcigpIGNvbnN0OwogICAgIHZvaWQgcmVxdWVzdENvbnRy
b2xsZWRFbGVtZW50SUQoKSBjb25zdDsKICAgICB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVtZW50
SURSZXNwb25zZShjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICB2b2lkIHJlcXVlc3RBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbkluZm8oKTsKKyAgICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdT
ZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikgY29uc3Q7CiAgICAgYm9v
bCBpc1BsYXlpbmdWaWRlb0luRW5oYW5jZWRGdWxsc2NyZWVuKCkgY29uc3Q7CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggZmFmZjJlNzgzZTU0MmNlY2FiN2U4Nzk2YmQ2YjcxMTU0NWRmNmU2Zi4uZDE5YmM3N2Vk
M2UzMjJkZTIwYmJiMzEyM2RjNWNmYjY4YjA2M2JhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00NzAsNSArNDcwLDYgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEaWRI
YW5kbGVBY2NlcHRlZENhbmRpZGF0ZSgpCisgICAgSGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Np
b25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKQogI2VuZGlmCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggNTI1OWZiNWI3
MjVjYTQ3NjkyZWFkN2FhNDg1OTAxMjEzYzdhYjZlOS4uOWQ3ZTNkMDFlMzZiZDAwMjA3NjcwNDc1
MmYzNmYzMTczYTNkYTU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwuaApAQCAtMjA3LDYgKzIwNyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFpbkZyYW1lKFNhbWVEb2N1bWVudE5hdmlnYXRpb25U
eXBlKSBvdmVycmlkZTsKICAgICB2b2lkIHJlbW92ZU5hdmlnYXRpb25HZXN0dXJlU25hcHNob3Qo
KSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShj
b25zdCBTdHJpbmcmKSBvdmVycmlkZTsKKyAgICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdT
ZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIGRpZFBlcmZvcm1JbW1lZGlhdGVBY3Rpb25IaXRUZXN0KGNvbnN0IFdlYkhpdFRlc3RS
ZXN1bHREYXRhJiwgYm9vbCBjb250ZW50UHJldmVudHNEZWZhdWx0LCBBUEk6Ok9iamVjdCopIG92
ZXJyaWRlOwogICAgIHZvaWQqIGltbWVkaWF0ZUFjdGlvbkFuaW1hdGlvbkNvbnRyb2xsZXJGb3JI
aXRUZXN0UmVzdWx0KFJlZlB0cjxBUEk6OkhpdFRlc3RSZXN1bHQ+LCB1aW50NjRfdCwgUmVmUHRy
PEFQSTo6T2JqZWN0Pikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA1YjVhMTIxYTY5Mzk3NmZmNjBhMThkYjI1NTZmNWY0
Yjk1ZTI5MjU4Li41YzNhMjJlZjdkYzU2NGVjM2ExZDVmN2ZlZjk1NTdkNTkwYTVkMGZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTc1
OSw2ICs3NTksMTMgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQ29udHJvbGxlZEVsZW1l
bnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKICNlbmRpZgogfQogCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25z
ZShib29sIGhhc0FjdGl2ZVNlc3Npb24pCit7CisjaWYgV0tfQVBJX0VOQUJMRUQKKyAgICBbbV93
ZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpoYXNBY3Rp
dmVTZXNzaW9uXTsKKyNlbmRpZgorfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VC
YWNrZ3JvdW5kQ29sb3IoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBmYjhmNWUxZmE0NjExNDc3ZmQ2
NzY3MGFkOGQxNDgyZDc5YjY1ZGI5Li5mMDk1OWQ0YmZlYTRmNzk4OTJmMWQ3OGE1NjA2OTY1YjM5
NzUxMDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
QEAgLTEyMDEsNiArMTIwMSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkYXRhRGV0ZWN0b3JzRGlk
SGlkZVVJKFdlYkNvcmU6OlBhZ2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEKTsKIAogICAgIHZvaWQg
aGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoV2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0KTsKKyAg
ICB2b2lkIHJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKTsKICNlbmRpZgogCiAg
ICAgdm9pZCBzZXRTaG91bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoYm9vbCBkaXNwYXRj
aCkgeyBtX3Nob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyA9IGRpc3BhdGNoOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCmluZGV4IDZmYWE2YjRjMmUxZThjY2RiNjUxZTgyNmZlOWE5NTNjM2JiYTZiMGMuLjQ3
ZTEyNzBiNmYxMjcxNWQ2NmZkZjk2Y2UyMTUyYTQ4NDlkMjQ3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00
MTcsNiArNDE3LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAg
RGF0YURldGVjdG9yc0RpZENoYW5nZVVJKFdlYkNvcmU6OlBhZ2VPdmVybGF5OjpQYWdlT3Zlcmxh
eUlEIHBhZ2VPdmVybGF5KQogICAgIERhdGFEZXRlY3RvcnNEaWRIaWRlVUkoV2ViQ29yZTo6UGFn
ZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgcGFnZU92ZXJsYXkpCiAgICAgSGFuZGxlQWNjZXB0ZWRD
YW5kaWRhdGUoc3RydWN0IFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCBhY2NlcHRlZENhbmRp
ZGF0ZSkKKyAgICBSZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkKICNlbmRpZgog
CiAgICAgU2V0U2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKGJvb2wgc2hvdWxkRGlz
cGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCmluZGV4IDY5ZGEyMzIwYzNlZDEyMjA2NDc1
OTA4NWJjNThkMjgwY2QwNWFkYTkuLmU3OWM5MWJhYTkwM2I5YWU5ZDhlOGNkZTg1NjJlYjg1NzBl
NWM0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYlBhZ2VNYWMubW0KQEAgLTc1LDYgKzc1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbHVnaW5Eb2N1bWVudC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jl
bmRlck9iamVjdC5oPgpAQCAtMTYwLDYgKzE2MSwxNSBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUFj
Y2VwdGVkQ2FuZGlkYXRlKFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCBhY2NlcHRlZENhbmRp
ZAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkSGFuZGxlQWNjZXB0ZWRDYW5k
aWRhdGUoKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNz
aW9uSW5mbygpCit7CisgICAgYm9vbCBoYXNBY3RpdmVTZXNzaW9uID0gZmFsc2U7CisgICAgaWYg
KGF1dG8qIHNoYXJlZE1hbmFnZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgICAgICBoYXNBY3RpdmVTZXNzaW9uID0g
c2hhcmVkTWFuYWdlci0+aGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKTsKKworICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZv
UmVzcG9uc2UoaGFzQWN0aXZlU2Vzc2lvbikpOworfQorCiBOU09iamVjdCAqV2ViUGFnZTo6YWNj
ZXNzaWJpbGl0eU9iamVjdEZvck1haW5GcmFtZVBsdWdpbigpCiB7CiAgICAgaWYgKCFtX3BhZ2Up
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2Mw
MDg2NDA3NDJmNjU1MWQwMGQ1MTE2MzZlYTBiYjY4M2U2YTBmYS4uYTlhYTk3OTkyMjUwMGY1NmMz
Y2M2NzM2YWRmNTQ1MmFlYjQ0ZGNiNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTI3ICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IE1lZGlhUmVtb3Rl
IFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlcyAyIHVuaXQgdGVzdHMgaW4gdGhlIG5ldyBOb3dQbGF5
aW5nQ29udHJvbHNUZXN0cyB0ZXN0IHN1aXRlLiBBbHNvIHByb3ZpZGVzIHNvbWUgYmFzaWMgc3Vw
cG9ydCBmb3IKKyAgICAgICAgbW9ja2luZyBrZXkgd2luZG93IHN0YXR1cyBmb3IgVGVzdFdLV2Vi
Vmlld3MuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJD
b2NvYS9Ob3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbTogQWRkZWQuCisgICAgICAgICgtW05vd1Bs
YXlpbmdUZXN0V2ViVmlldyBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbl0pOgorICAgICAgICAo
LVtOb3dQbGF5aW5nVGVzdFdlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246
XSk6CisgICAgICAgICgtW05vd1BsYXlpbmdUZXN0V2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxh
eWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNU
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRl
by10ZXN0LW5vdy1wbGF5aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
bWFjL1Rlc3RXS1dlYlZpZXdNYWMubW06CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXdIb3N0V2lu
ZG93IGlzS2V5V2luZG93XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXdIb3N0V2luZG93IG1h
a2VLZXlXaW5kb3ddKToKKyAgICAgICAgKC1bVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgcmVzaWdu
S2V5V2luZG93XSk6CisKIDIwMTYtMDktMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBDb3JyZWN0bHkgcGFyc2UgVVJMcyB3aXRoIHRoZSBm
aXJzdCB0YWIgaW4gdGhlIGZyYWdtZW50CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQxNzA2
NzFiMmZhZjFhOTZlOGE1YWIwMDk2YzliM2IzODU3MGNiZDguLjU2ZTU2NzBjOGFjYjVlZTI5ZGJj
OTkxYmI4YmRlZjA5ZDc3YzIwOWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03Nyw2ICs3
Nyw3IEBACiAJCTJFNzc2NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0MxNkM0RDgwQTAw
QkEyQkIxIC8qIG1haW5JT1MubW0gKi87IH07CiAJCTJFNzc2NUNGMTZDNEQ4MTEwMEJBMkJCMSAv
KiBtYWluTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkU3NzY1Q0UxNkM0RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gKi87IH07CiAJCTJFOTg5
NjE1MUQ4RjA5MzgwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTk4OTYx
NDFEOEYwOTJCMDA3Mzk4OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgKi87IH07
CisJCTJFQ0ZGNTU1MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0
MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJ
MkVGRjA2QzMxRDg4NjIxRTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYw
NkMyMUQ4ODYyMTIwMDA0QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsK
IAkJMkVGRjA2QzUxRDg4Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xp
Y2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRUZGMDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1j
bGljay5odG1sICovOyB9OwogCQkyRUZGMDZDNzFEODg2QTU4MDAwNEJCMzAgLyogY2hhbmdlLXZp
ZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZp
ZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLzsgfTsKQEAgLTQ3OCw2ICs0NzksNyBAQAogCQlFMTIy
MERDQTE1NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNh
YmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJRTE5NEUxQkQxNzdF
NTNDNzAwOUM0RDRFIC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTRF
MUJDMTc3RTUzNEEwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2Uu
aHRtbCAqLzsgfTsKIAkJRjQyREE1MTYxRDhDRUZFNDAwMzM2RjQwIC8qIGxhcmdlLWlucHV0LWZp
ZWxkLWZvY3VzLW9ubG9hZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1
dC1maWVsZC1mb2N1cy1vbmxvYWQuaHRtbCAqLzsgfTsKKwkJRjRGMTM3OTIxRDlCNjgzRTAwMkJF
QzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEYxMzc5MTFEOUI2ODMyMDAy
QkVDNTcgLyogbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sICovOyB9OwogCQlGNEY0
MDVCQzFENEMwRDFDMDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgt
YXVkaW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNEY0MDVCQTFENEMwQ0Y4MDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5n
LXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLzsgfTsKIAkJRjRGNDA1QkQxRDRDMEQxQzAwN0E5NzA3
IC8qIHNraW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRGNDA1QkIxRDRDMENG
ODAwN0E5NzA3IC8qIHNraW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi87
IH07CiAJCUY2NjBBQTExMTVBNUY2MzEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRp
YWxpemF0aW9uVXNlckRhdGFDYWxsYmFja19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY2MEFBMEYxNUE1RjYyNDAwM0ExMjQzIC8qIEdl
dEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrX0J1bmRsZS5jcHAg
Ki87IH07CkBAIC01NDksNiArNTUxLDcgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJl
c291cmNlczsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJRjRG
MTM3OTIxRDlCNjgzRTAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk4MzdBMzVGMTFEOUExRTdEMDA2NjNDNTcgLyog
RG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTJF
OTg5NjE1MUQ4RjA5MzgwMDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDJEQTUxNjFEOENFRkU0MDAzMzZGNDAgLyogbGFy
Z2UtaW5wdXQtZmllbGQtZm9jdXMtb25sb2FkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBA
IC03OTksNiArODAyLDcgQEAKIAkJMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5JT1Mu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluSU9TLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTc3NjVDRTE2QzREODExMDBCQTJCQjEgLyog
bWFpbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IG1haW5N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFOTg5NjE0MUQ4RjA5MkIwMDcz
OTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9ICJ0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJFQ0ZGNTU0MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29u
dHJvbHNUZXN0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5v
d1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RUZGMDZDMjFEODg2MjEyMDAwNEJCMzAgLyogbGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAibGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUZGMDZDNDFEODg2NzcwMDAwNEJCMzAgLyog
Y2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJFRkYwNkM2MUQ4ODZBNTYwMDA0QkIzMCAvKiBjaGFuZ2UtdmlkZW8t
c291cmNlLW9uLWVuZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoYW5nZS12
aWRlby1zb3VyY2Utb24tZW5kLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTE5MCw2ICsxMTk0LDcgQEAKIAkJRTRDOUFCQzcxQjNEQjE3MTAwNDBBOTg3IC8qIFJ1bkxvb3Au
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVuTG9vcC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBs
aWJndGVzdC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gYXJjaGl2ZS5hcjsgcGF0aCA9IGxpYmd0ZXN0LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCUY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1m
aWVsZC1mb2N1cy1vbmxvYWQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgbmFtZSA9ICJsYXJn
ZS1pbnB1dC1maWVsZC1mb2N1cy1vbmxvYWQuaHRtbCI7IHBhdGggPSAiVGVzdHMvV2ViS2l0MkNv
Y29hL2xhcmdlLWlucHV0LWZpZWxkLWZvY3VzLW9ubG9hZC5odG1sIjsgc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOyB9OworCQlGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcgLyogbGFyZ2UtdmlkZW8t
dGVzdC1ub3ctcGxheWluZy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxhcmdl
LXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY0RjQwNUJBMUQ0QzBDRjgwMDdBOTcwNyAvKiBmdWxsLXNpemUtYXV0b3BsYXlpbmctdmlk
ZW8td2l0aC1hdWRpby5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImZ1bGwtc2l6
ZS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNEY0MDVCQjFENEMwQ0Y4MDA3QTk3MDcgLyogc2tpbm55LWF1dG9wbGF5aW5n
LXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJza2lu
bnktYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjY2MEFBMEMxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVuZGxl
SW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNh
bGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzIsNiArMTM3Nyw3
IEBACiAJCQkJNDZDNTE5RDgxRDM1NUE3MzAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRy
aWVzLm1tICovLAogCQkJCTUxQ0QxQzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5t
bSAqLywKIAkJCQkxQUJDM0RFRDE4OTlCRTZEMDA0RjA2MjYgLyogTmF2aWdhdGlvbi5tbSAqLywK
KwkJCQkyRUNGRjU1NDFEOUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMu
bW0gKi8sCiAJCQkJQ0VBNkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRv
dy5tbSAqLywKIAkJCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0g
Ki8sCiAJCQkJNTc5OEUyQUYxQ0FGNUMyODAwQzVDQkEwIC8qIFByb3Zpc2lvbmFsVVJMTm90Q2hh
bmdlLm1tICovLApAQCAtMTQ4NSw2ICsxNDkxLDcgQEAKIAkJQTE2RjY2QjgxQzQwRTlFMTAwQkQ0
RDI0IC8qIFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJRjRGMTM3OTExRDlCNjgzMjAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93
LXBsYXlpbmcuaHRtbCAqLywKIAkJCQkyRTk4OTYxNDFEOEYwOTJCMDA3Mzk4OTIgLyogdGV4dC1h
bmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgKi8sCiAJCQkJMkVGRjA2Q0MxRDhBNDI5MTAwMDRCQjMw
IC8qIGlucHV0LWZpZWxkLWluLXNjcm9sbGFibGUtZG9jdW1lbnQuaHRtbCAqLywKIAkJCQkyRUZG
MDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAq
LywKQEAgLTIzMzcsNiArMjM0NCw3IEBACiAJCQkJN0NDRTdGMjMxQTQxMUFGNjAwNDQ3QzRDIC8q
IERvd25sb2FkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRUUxQTQxMUFFNjAwNDQ3QzRD
IC8qIERvd25sb2FkRGVjaWRlRGVzdGluYXRpb25DcmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3Q0NFN0VCRTFBNDExQTdFMDA0NDdDNEMgLyogRHluYW1pY0RldmljZVNjYWxlRmFjdG9yLm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJMkVDRkY1NTUxRDlCMTJGODAwQjU1Mzk0IC8qIE5vd1BsYXlp
bmdDb250cm9sc1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRTAxQTQxMUE5QTAw
NDQ3QzRDIC8qIEVkaXRvckNvbW1hbmRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkYx
QTQxMUE3RTAwNDQ3QzRDIC8qIEVsZW1lbnRBdFBvaW50SW5XZWJGcmFtZS5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTdBOTA5QTgzMUQ4Nzc0ODAwMDdFMTBGOCAvKiBJbnRTaXplLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDJDb2NvYS9Ob3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTAz
OTE2MjllN2U5NzRkZjQxYzUxOTA5NzU4MzAxYjc4YTFjOGJjCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xz
VGVzdHMubW0KQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZp
ZXdNYWMuaCIKKworI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
Lmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorCisjaWYgV0tfQVBJX0VO
QUJMRUQgJiYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQg
Pj0gMTAxMjAxCisKK0BpbnRlcmZhY2UgTm93UGxheWluZ1Rlc3RXZWJWaWV3IDogVGVzdFdLV2Vi
VmlldworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGhhc0FjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uOworQGVuZAorCitAaW1wbGVtZW50YXRpb24gTm93UGxheWluZ1Rlc3RXZWJW
aWV3IHsKKyAgICBib29sIF9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2U7CisgICAgQk9P
TCBfaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb247Cit9CistIChCT09MKWhhc0FjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uCit7CisgICAgX3JlY2VpdmVkTm93UGxheWluZ0luZm9SZXNwb25zZSA9IGZh
bHNlOworICAgIFtzZWxmIF9yZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvXTsKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJl9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9u
c2UpOworCisgICAgcmV0dXJuIF9oYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKK30KKworLSAo
dm9pZClleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjooQk9PTCloYXNBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbgoreworICAgIGJvb2wgZmluaXNoZWRXYWl0aW5nID0gZmFsc2U7CisgICAg
d2hpbGUgKCFmaW5pc2hlZFdhaXRpbmcpIHsKKyAgICAgICAgW1tOU1J1bkxvb3AgY3VycmVudFJ1
bkxvb3BdIHJ1bk1vZGU6TlNEZWZhdWx0UnVuTG9vcE1vZGUgYmVmb3JlRGF0ZTpbTlNEYXRlIGRp
c3RhbnRQYXN0XV07CisgICAgICAgIGZpbmlzaGVkV2FpdGluZyA9IHNlbGYuaGFzQWN0aXZlTm93
UGxheWluZ1Nlc3Npb24gPT0gaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb247CisgICAgfQorfQor
CistICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9P
TCloYXNBY3RpdmVTZXNzaW9uCit7CisgICAgX2hhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uID0g
aGFzQWN0aXZlU2Vzc2lvbjsKKyAgICBfcmVjZWl2ZWROb3dQbGF5aW5nSW5mb1Jlc3BvbnNlID0g
dHJ1ZTsKK30KK0BlbmQKKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKE5vd1Bs
YXlpbmdDb250cm9sc1Rlc3RzLCBOb3dQbGF5aW5nQ29udHJvbHNEb05vdFNob3dGb3JGb3JlZ3Jv
dW5kUGFnZSkKK3sKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0g
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25maWd1cmF0aW9u
Lm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFs
TWVkaWFUeXBlTm9uZTsKKyAgICBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgKndlYlZpZXcgPSBbW05v
d1BsYXlpbmdUZXN0V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAs
IDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIFt3ZWJWaWV3IGxv
YWRUZXN0UGFnZU5hbWVkOkAibGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZyJdOworICAgIFt3
ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAicGxheWluZyJdOworCisgICAgW3dlYlZpZXcud2luZG93
IHNldElzVmlzaWJsZTpZRVNdOworICAgIFt3ZWJWaWV3LndpbmRvdyBtYWtlS2V5V2luZG93XTsK
KyAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpOT107Cit9CisK
K1RFU1QoTm93UGxheWluZ0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc1Nob3dGb3JC
YWNrZ3JvdW5kUGFnZSkKK3sKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0
aW9uID0gW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25maWd1
cmF0aW9uLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlv
dmlzdWFsTWVkaWFUeXBlTm9uZTsKKyAgICBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgKndlYlZpZXcg
PSBbW05vd1BsYXlpbmdUZXN0V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIFt3ZWJW
aWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAibGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZyJdOwor
ICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAicGxheWluZyJdOworCisgICAgW3dlYlZpZXcu
d2luZG93IHNldElzVmlzaWJsZTpOT107CisgICAgW3dlYlZpZXcud2luZG93IHJlc2lnbktleVdp
bmRvd107CisgICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246WUVT
XTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gV0tfQVBJ
X0VOQUJMRUQgJiYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gMTAxMjAxCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2M3OWE1NjI0YzMxNDI0YmIwNGI4OTEyYmY2Yjc3NTAzMzI5YmFlNQot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICB2aWRlbyB7
CisgICAgICAgICAgICB3aWR0aDogNDgwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDMyMHB4Owor
ICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBwbGF5aW5nKCkgeworICAgICAgICAgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAg
ICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0
TWVzc2FnZSgicGxheWluZyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIDApOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8dmlkZW8gYXV0b3BsYXkgb25wbGF5aW5nPXBsYXlpbmco
KT48c291cmNlIHNyYz0ibGFyZ2UtdmlkZW8td2l0aC1hdWRpby5tcDQiPjwvdmlkZW8+Cis8L2Jv
ZHk+Cis8aHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dl
YlZpZXdNYWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0V0tXZWJWaWV3TWFjLm1t
CmluZGV4IDU3YTFmNGU5Yzc1ZGU1ZGZkZmUwZTJlNDkwOWM2MzI2NWYwMjUyMDIuLjRlMTU0ZWQ3
NzYwMWJhOTMzOTU1Yzg2MzY0NTUwN2ZiZjAxYTYxMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL1Rlc3RXS1dlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9tYWMvVGVzdFdLV2ViVmlld01hYy5tbQpAQCAtNjMsNyArNjMsOSBAQCBAZW5kCiBAaW50ZXJm
YWNlIFRlc3RXS1dlYlZpZXdIb3N0V2luZG93IDogTlNXaW5kb3cKIEBlbmQKIAotQGltcGxlbWVu
dGF0aW9uIFRlc3RXS1dlYlZpZXdIb3N0V2luZG93CitAaW1wbGVtZW50YXRpb24gVGVzdFdLV2Vi
Vmlld0hvc3RXaW5kb3cgeworICAgIEJPT0wgX2ZvcmNlS2V5V2luZG93OworfQogCiBzdGF0aWMg
aW50IGdFdmVudE51bWJlciA9IDE7CiAKQEAgLTExNCw2ICsxMTYsMjYgQEAgLSAodm9pZClfbW91
c2VEb3duQXRQb2ludDooTlNQb2ludClwb2ludCBzaW11bGF0ZVByZXNzdXJlOihCT09MKXNpbXVs
YXRlUHJlc3N1cmUKICNlbmRpZgogfQogCistIChCT09MKWlzS2V5V2luZG93Cit7CisgICAgcmV0
dXJuIF9mb3JjZUtleVdpbmRvdyB8fCBbc3VwZXIgaXNLZXlXaW5kb3ddOworfQorCistICh2b2lk
KW1ha2VLZXlXaW5kb3cKK3sKKyAgICBpZiAoX2ZvcmNlS2V5V2luZG93KQorICAgICAgICByZXR1
cm47CisKKyAgICBfZm9yY2VLZXlXaW5kb3cgPSBZRVM7CisgICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpOU1dpbmRvd0RpZEJlY29t
ZUtleU5vdGlmaWNhdGlvbiBvYmplY3Q6c2VsZl07Cit9CisKKy0gKHZvaWQpcmVzaWduS2V5V2lu
ZG93Cit7CisgICAgX2ZvcmNlS2V5V2luZG93ID0gTk87CisgICAgW3N1cGVyIHJlc2lnbktleVdp
bmRvd107Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFRlc3RXS1dlYlZpZXcgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDZjOTNjNzMzYjVkZDdhZGRkNTM0MWZmMzAyNWQ5N2YxYzU3YzM4NTMuLmNhZWJlZGM1ODkw
MDM0MWRjYTQ4ZjM2NmYyYTU2YmQ1ZTcyYWE1MmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
Ni0wOS0yNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBUb2dn
bGluZyBkaXNwbGF5OiBub25lIG9uIGEgcGFyZW50IGVsZW1lbnQgb2YgYSBzbG90IHdoaWNoIHNo
YXJlcyBzdHlsZSB3aXRoIGl0cyBwYXJlbnQgZG9lc24ndCB1cGRhdGUgdGhlIHNsb3QncyB2aXNp
YmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTg0MjEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQg
YSByZWdyZXNzaW9uIHRlc3Qgbm93IHRoYXQgdGhlIGJ1ZyBoYXMgYmVlbiBmaXhlZCBieSByMjA2
NDAzLgorCisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL3NoYWRvdy1sYXlvdXQtYWZ0ZXItdG9n
Z2xpbmctZGlzcGxheS1zbG90LXBhcmVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3NoYWRvdy1kb20vc2hhZG93LWxheW91dC1hZnRlci10b2dnbGluZy1kaXNwbGF5LXNs
b3QtcGFyZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTA5LTI3ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRml4IHNldmVyYWwgVG91Y2gtcmVsYXRlZCBs
YXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9zaGFk
b3ctbGF5b3V0LWFmdGVyLXRvZ2dsaW5nLWRpc3BsYXktc2xvdC1wYXJlbnQtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9zaGFkb3ctbGF5b3V0LWFmdGVyLXRvZ2ds
aW5nLWRpc3BsYXktc2xvdC1wYXJlbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzA0ZDI0
YTY5NTZiOWE3MzRlOWJiODlhZDU5MDc4YjlmYWNjZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zaGFkb3ctZG9tL3NoYWRvdy1sYXlvdXQtYWZ0ZXItdG9nZ2xpbmctZGlz
cGxheS1zbG90LXBhcmVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxib2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBz
aW5nbGUgMTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93LjwvcD4KKyAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1k
b20vc2hhZG93LWxheW91dC1hZnRlci10b2dnbGluZy1kaXNwbGF5LXNsb3QtcGFyZW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2hhZG93LWxheW91dC1hZnRlci10b2dnbGlu
Zy1kaXNwbGF5LXNsb3QtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFhOTA3YzY0MmU0NjAxZWFj
NmRhODEwYzY1MDI5MjkyNDI1ZjlhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2hhZG93LWRvbS9zaGFkb3ctbGF5b3V0LWFmdGVyLXRvZ2dsaW5nLWRpc3BsYXktc2xvdC1w
YXJlbnQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8cD5UZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgc2luZ2xlIDEwMHB4IGJ5IDEwMHB4IGdy
ZWVuIGJveCBiZWxvdy48L3A+IAorPHN0eWxlPgorCisjdGVzdCB7CisgICAgd2lkdGg6IDEwMHB4
OworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZDogcmVkOworfQorCitkaXZbc2xv
dD1ncmVlbl0geworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJh
Y2tncm91bmQ6IGdyZWVuOworICAgIGNvbG9yOiBncmVlbjsKK30KKworPC9zdHlsZT4KKzxkaXYg
aWQ9InRlc3QiPjxkaXYgc2xvdD0iZ3JlZW4iPlBBU1M8L2Rpdj48L2Rpdj4KKzxzY3JpcHQ+Cit2
YXIgcm9vdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOyAKK3ZhciBy
b290ID0gcm9vdEVsZW1lbnQuYXR0YWNoU2hhZG93KHttb2RlOidvcGVuJ30pOworcm9vdC5pbm5l
ckhUTUwgPSBgCis8c3R5bGU+CisgICAgI2NvbnRhaW5lciB7IGRpc3BsYXk6IG5vbmU7IH0KKyAg
ICAjY29udGFpbmVyLnZpc2libGUgeyBkaXNwbGF5OiBibG9jazsgfQorPC9zdHlsZT4KKzxkaXY+
PGRpdiBpZD0iY29udGFpbmVyIj48c2xvdCBuYW1lPSJncmVlbiI+RkFJTDwvc2xvdD48L2Rpdj48
L2Rpdj4KK2A7CisKK3Jvb3RFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworcm9vdC5n
ZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykuY2xhc3NMaXN0LnRvZ2dsZSgndmlzaWJsZScpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290099</attachid>
            <date>2016-09-28 10:27:05 -0700</date>
            <delta_ts>2016-09-28 10:27:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162658-20160928102405.patch</filename>
            <type>text/plain</type>
            <size>36860</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjgzOTM0NWVmNjYxODhk
ZTk4YzlmOWE5ZTU2ZTIzMzVlMGJhZGJiMy4uM2JlMmU1MzZlYWMzMGI2NGI4ZmQ1ZTQ4OTU5OTEw
MDFkOGM3MmNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA5LTI3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0IE1lZGlh
UmVtb3RlIFNQSSB0byBhY2hpZXZlIGRlc2lyZWQgTm93IFBsYXlpbmcgYmVoYXZpb3IKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjY1OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjg0OTkzNTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5v
YmxlLgorCisgICAgICAgIFJlc3RvcmVzIHRoZSBjaGFuZ2VzIHByZXZpb3VzbHkgcm9sbGVkIG91
dCBpbiByMjA2NDQ0LCBhbmQgYWRvcHRzIG5ldyBNZWRpYVJlbW90ZSBTUEkgdG8gYWNoaWV2ZSB0
aGUgZGVzaXJlZAorICAgICAgICBiZWhhdmlvciBmb3IgbWVkaWEgaW4gYmFja2dyb3VuZCB0YWJz
IHdpdGhvdXQgYnJlYWtpbmcgb3RoZXIgZmVhdHVyZXMuCisKKyAgICAgICAgSW50cm9kdWNlcyAy
IG5ldyB1bml0IHRlc3RzIGluIE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLgorCisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudFNlc3Npb246OnBhZ2VBbGxvd3NOb3dQbGF5aW5nQ29udHJvbHMpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRWaWV3U3RhdGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpoYXNBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lv
bk1hbmFnZXJNYWMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9u
TWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6
OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTWVkaWFSZW1v
dGVTb2Z0TGluay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExp
bmsuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvbWFjL01lZGlhUmVtb3RlU1BJLmg6CisKIDIw
MTYtMDktMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBJbmxpbmUgY3JpdGljYWwgZnVuY3Rpb25zIGluIFVSTFBhcnNlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGMyODkxYWE5ZTk2MzFhMDAyN2EzZTI3YzZjM2I0NTEwZjI5ODNhZDguLmFiZWY3NTIyNGEx
YTUwOGZlNjAyODE1ZjJmM2JiOGQzNGNhNGM1OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBA
QAorMjAxNi0wOS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZG9wdCBNZWRpYVJlbW90ZSBTUEkgdG8gYWNoaWV2ZSBkZXNpcmVkIE5vdyBQbGF5
aW5nIGJlaGF2aW9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjI2NTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NDk5MzU4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEplciBOb2JsZS4KKworICAgICAgICBQbHVtYnMgTm93IFBsYXlpbmcgc2Vz
c2lvbiBpbmZvcm1hdGlvbiAoZm9yIG5vdywgdGhpcyBpcyBqdXN0IGEgZmxhZyBpbmRpY2F0aW5n
IHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGFuCisgICAgICAgIGFjdGl2ZSBzZXNzaW9uKSBhY3Jv
c3MgZnJvbSB0aGUgd2ViIHByb2Nlc3MgdG8gdGhlIFVJIHByb2Nlc3MgZm9yIHRlc3RpbmcgaW4g
dGhlIGZvcm0gb2YgYXN5bmNocm9ub3VzIHJlcXVlc3QvCisgICAgICAgIGhhbmRsZS1yZXNwb25z
ZSBtZXNzYWdlcyBvbiB0aGUgV2ViUGFnZSBhbmQgaXRzIHByb3h5IGluIHRoZSBVSSBwcm9jZXNz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb10pOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3Bv
bnNlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVz
dEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAg
ICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25J
bmZvUmVzcG9uc2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpyZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKToKKwogMjAxNi0w
OS0yNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgTmV0d29y
a0xvYWQgYW5kIFBpbmdMb2FkIHNob3VsZCB1c2UgcHJpdmF0ZSBpbmhlcml0YW5jZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggY2IyY2M2ZGRjMmU1
ZDlmNzcyMmJmN2IxNDYwZjI4YjBmZGJmMDEwMS4uOGU4MTQwNzg4MDA5YTg1NGIyMTFjMGZkNDY0
YTU4MzJmYjZlY2NkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCkBAIC03MzUsOCArNzM1LDggQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjp1cGRh
dGVJc01haW5Db250ZW50KCkgY29uc3QKIAogYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwYWdl
QWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogSWRlYWxs
eSwgd2Ugc2hvdWxkIG5vdCBhbGxvdyBOb3cgUGxheWluZyBjb250cm9scyBmb3IgdGhlIGFjdGl2
ZSB0YWIgaW4gdGhlIG1haW4gd2luZG93LgotICAgIHJldHVybiB0cnVlOworICAgIGF1dG8gcGFn
ZSA9IG1fZWxlbWVudC5kb2N1bWVudCgpLnBhZ2UoKTsKKyAgICByZXR1cm4gcGFnZSAmJiAhcGFn
ZS0+aXNWaXNpYmxlQW5kQWN0aXZlKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDNj
MWJkZGQyMjFmYjMzOThiNmYzNzAwODA2OGI3ZjljNGJkMzkwYmIuLmE5ZTIwOTQyM2I0NThjZTU3
YjNkZTY4YTQzYjQ2NTVhMzI3OGNmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTQ1MSw2ICsx
NDUxLDcgQEAgdm9pZCBQYWdlOjpzZXRWaWV3U3RhdGUoVmlld1N0YXRlOjpGbGFncyB2aWV3U3Rh
dGUpCiAKICAgICBWaWV3U3RhdGU6OkZsYWdzIG9sZFZpZXdTdGF0ZSA9IG1fdmlld1N0YXRlOwog
CisgICAgYm9vbCB3YXNWaXNpYmxlQW5kQWN0aXZlID0gaXNWaXNpYmxlQW5kQWN0aXZlKCk7CiAg
ICAgbV92aWV3U3RhdGUgPSB2aWV3U3RhdGU7CiAKICAgICBtX2ZvY3VzQ29udHJvbGxlci0+c2V0
Vmlld1N0YXRlKHZpZXdTdGF0ZSk7CkBAIC0xNDY3LDYgKzE0NjgsOSBAQCB2b2lkIFBhZ2U6OnNl
dFZpZXdTdGF0ZShWaWV3U3RhdGU6OkZsYWdzIHZpZXdTdGF0ZSkKIAogICAgIGZvciAoYXV0byog
b2JzZXJ2ZXIgOiBtX3ZpZXdTdGF0ZUNoYW5nZU9ic2VydmVycykKICAgICAgICAgb2JzZXJ2ZXIt
PnZpZXdTdGF0ZURpZENoYW5nZShvbGRWaWV3U3RhdGUsIG1fdmlld1N0YXRlKTsKKworICAgIGlm
ICh3YXNWaXNpYmxlQW5kQWN0aXZlICE9IGlzVmlzaWJsZUFuZEFjdGl2ZSgpKQorICAgICAgICBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvSWZOZWNlc3Nh
cnkoKTsKIH0KIAogYm9vbCBQYWdlOjppc1Zpc2libGVBbmRBY3RpdmUoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaAppbmRleCA3NzQ4Zjk3ZDQzZmVjMjBmMGU4NGEwNDY5MDgwYWIzODJkMWFl
NDQ2Li5hZDJmMTEzZjgyMWQxZWFjZmI0ZDAwODc0Y2Y0ZDdjNzNkZDMxN2NjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhY3RpdmVB
dWRpb1Nlc3Npb25SZXF1aXJlZCgpIGNvbnN0OwogICAgIGJvb2wgY2FuUHJvZHVjZUF1ZGlvKCkg
Y29uc3Q7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJvb2wgaGFzQWN0aXZlTm93UGxh
eWluZ1Nlc3Npb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgYm9vbCB3aWxsSWdu
b3JlU3lzdGVtSW50ZXJydXB0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fd2lsbElnbm9yZVN5c3Rl
bUludGVycnVwdGlvbnM7IH0KICAgICB2b2lkIHNldFdpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRp
b25zKGJvb2wgaWdub3JlKSB7IG1fd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMgPSBpZ25v
cmU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01l
ZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKaW5kZXggMjZjNmY0OGYzNTIyMjQ1NWIxYzg2YjVm
YTg3NTgyOTZhMGIxMTg0ZS4uZjdjNzhjNDFiMzc2YWIwZWZhYWJjMTBjN2Y4MzJiZjkwMTI3ZDNk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vz
c2lvbk1hbmFnZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
TWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCkBAIC0zNiw2ICszNiw4IEBAIGNsYXNzIE1lZGlhU2Vz
c2lvbk1hbmFnZXJNYWMgOiBwdWJsaWMgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyIHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5NZWRpYVNlc3Npb25NYW5hZ2VyTWFjKCk7CiAKKyAgICBib29s
IGhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9u
b3dQbGF5aW5nQWN0aXZlOyB9CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uTWFuYWdlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbQppbmRleCAxNTRkMzM0
ZWQ2NGI0ZWMzYmU0MGEzNjBmY2U4MjFiOGFjMTA3M2ZjLi5mODAwODIyOWY5M2RhNGNmMjYwNWM3
Y2FmZTExZDNhNGQ3NzExNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbQpAQCAtMTMwLDcgKzEz
MCw3IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8o
KQogCiAgICAgaWYgKCFjdXJyZW50U2Vzc2lvbikgewogICAgICAgICBpZiAobV9ub3dQbGF5aW5n
QWN0aXZlKSB7Ci0gICAgICAgICAgICBNUk1lZGlhUmVtb3RlU2V0Q2FuQmVOb3dQbGF5aW5nQXBw
bGljYXRpb24oZmFsc2UpOworICAgICAgICAgICAgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdW
aXNpYmlsaXR5KE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigpLCBNUk5vd1BsYXlpbmdDbGll
bnRWaXNpYmlsaXR5TmV2ZXJWaXNpYmxlKTsKICAgICAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlh
U2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvIC0gY2xlYXJpbmcgbm93IHBs
YXlpbmcgaW5mbyIpOwogICAgICAgICAgICAgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZv
KG51bGxwdHIpOwogICAgICAgICAgICAgbV9ub3dQbGF5aW5nQWN0aXZlID0gZmFsc2U7CkBAIC0x
NDYsMTAgKzE0NiwxMiBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1Bs
YXlpbmdJbmZvKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmICghTVJNZWRpYVJl
bW90ZVNldENhbkJlTm93UGxheWluZ0FwcGxpY2F0aW9uKHRydWUpKSB7Ci0gICAgICAgIExPRyhN
ZWRpYSwgIk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvIC0gTVJN
ZWRpYVJlbW90ZVNldENhbkJlTm93UGxheWluZ0FwcGxpY2F0aW9uKHRydWUpIGZhaWxlZCIpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3QgZW5hYmxl
Tm93UGxheWluZ1Rva2VuOworICAgIGRpc3BhdGNoX29uY2UoJmVuYWJsZU5vd1BsYXlpbmdUb2tl
biwgXigpIHsKKyAgICAgICAgTVJNZWRpYVJlbW90ZVNldENhbkJlTm93UGxheWluZ0FwcGxpY2F0
aW9uKHRydWUpOworICAgIH0pOworCisgICAgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNp
YmlsaXR5KE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigpLCBNUk5vd1BsYXlpbmdDbGllbnRW
aXNpYmlsaXR5QWx3YXlzVmlzaWJsZSk7CiAKICAgICBTdHJpbmcgdGl0bGUgPSBjdXJyZW50U2Vz
c2lvbi0+dGl0bGUoKTsKICAgICBkb3VibGUgZHVyYXRpb24gPSBjdXJyZW50U2Vzc2lvbi0+ZHVy
YXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJl
bW90ZVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90
ZVNvZnRMaW5rLmNwcAppbmRleCBiMTk1ZmYyNzQ3ODFiNGFkNjhhOTkyMmRlMzQwOGU5OTljMjkz
MjE2Li4wOWE2Y2EzMzIyZDU3OGYxZGQxNDI4MTdhNDU0NTNkZDYwM2RlZGQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29mdExpbmsuY3BwCkBA
IC0zNSw2ICszNSw3IEBAIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1l
ZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4sCiBTT0ZUX0xJTktfRlVOQ1RJ
T05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUFkZEFzeW5j
Q29tbWFuZEhhbmRsZXJCbG9jaywgdm9pZCosIChNUk1lZGlhUmVtb3RlQXN5bmNDb21tYW5kSGFu
ZGxlckJsb2NrIGJsb2NrKSwgKGJsb2NrKSkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNF
KFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlUmVtb3ZlQ29tbWFuZEhhbmRsZXJC
bG9jaywgdm9pZCwgKHZvaWQqIG9ic2VydmVyKSwgKG9ic2VydmVyKSkKIFNPRlRfTElOS19GVU5D
VElPTl9GT1JfU09VUkNFKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0U3Vw
cG9ydGVkQ29tbWFuZHMsIHZvaWQsIChDRkFycmF5UmVmIGNvbW1hbmRzLCBNUk9yaWdpblJlZiBv
cmlnaW4sIGRpc3BhdGNoX3F1ZXVlX3QgcmVwbHlRLCB2b2lkKF5jb21wbGV0aW9uKShNUk1lZGlh
UmVtb3RlRXJyb3IgZXJyKSksIChjb21tYW5kcywgb3JpZ2luLCByZXBseVEsIGNvbXBsZXRpb24p
KQorU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0UoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1S
TWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eSwgdm9pZCwgKE1ST3JpZ2luUmVmIG9y
aWdpbiwgTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eSB2aXNpYmlsaXR5KSwgKG9yaWdpbiwg
dmlzaWJpbGl0eSkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRp
YVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvQ3JlYXRlLCBNUk1lZGlhUmVtb3RlQ29t
bWFuZEluZm9SZWYsIChDRkFsbG9jYXRvclJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSk7CiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRp
YVJlbW90ZUNvbW1hbmRJbmZvU2V0Q29tbWFuZCwgdm9pZCwgKE1STWVkaWFSZW1vdGVDb21tYW5k
SW5mb1JlZiBjb21tYW5kSW5mbywgTVJNZWRpYVJlbW90ZUNvbW1hbmQgY29tbWFuZCksIChjb21t
YW5kSW5mbywgY29tbWFuZCkpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRShXZWJDb3Jl
LCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNvbW1hbmRJbmZvU2V0RW5hYmxlZCwgdm9pZCwg
KE1STWVkaWFSZW1vdGVDb21tYW5kSW5mb1JlZiBjb21tYW5kSW5mbywgQm9vbGVhbiBlbmFibGVk
KSwgKGNvbW1hbmRJbmZvLCBlbmFibGVkKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9NZWRpYVJlbW90ZVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvTWVkaWFSZW1vdGVTb2Z0TGluay5oCmluZGV4IGNmOGM2YThkY2RlMGQ0MTgzNDkyNTIx
MzVmYTA2MjZkN2RmYjg0YTcuLjMwZGU0YTFkMzgyNjIxNDZmYjc0ODQ1MDliZDQzNDk2MmRkMWRk
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZWRpYVJlbW90ZVNv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lZGlhUmVtb3RlU29m
dExpbmsuaApAQCAtMzksNiArMzksOCBAQCBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihX
ZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYQogI2RlZmlu
ZSBNUk1lZGlhUmVtb3RlUmVtb3ZlQ29tbWFuZEhhbmRsZXJCbG9jayBzb2Z0TGlua19NZWRpYVJl
bW90ZV9NUk1lZGlhUmVtb3RlUmVtb3ZlQ29tbWFuZEhhbmRsZXJCbG9jawogU09GVF9MSU5LX0ZV
TkNUSU9OX0ZPUl9IRUFERVIoV2ViQ29yZSwgTWVkaWFSZW1vdGUsIE1STWVkaWFSZW1vdGVTZXRT
dXBwb3J0ZWRDb21tYW5kcywgdm9pZCwgKENGQXJyYXlSZWYgY29tbWFuZHMsIE1ST3JpZ2luUmVm
IG9yaWdpbiwgZGlzcGF0Y2hfcXVldWVfdCByZXBseVEsIHZvaWQoXmNvbXBsZXRpb24pKE1STWVk
aWFSZW1vdGVFcnJvciBlcnIpKSwgKGNvbW1hbmRzLCBvcmlnaW4sIHJlcGx5USwgY29tcGxldGlv
bikpCiAjZGVmaW5lIE1STWVkaWFSZW1vdGVTZXRTdXBwb3J0ZWRDb21tYW5kcyBzb2Z0TGlua19N
ZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMKK1NPRlRfTElOS19G
VU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVtb3RlLCBNUk1lZGlhUmVtb3RlU2V0
Tm93UGxheWluZ1Zpc2liaWxpdHksIHZvaWQsIChNUk9yaWdpblJlZiBvcmlnaW4sIE1STm93UGxh
eWluZ0NsaWVudFZpc2liaWxpdHkgdmlzaWJpbGl0eSksIChvcmlnaW4sIHZpc2liaWxpdHkpKQor
I2RlZmluZSBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkgc29mdExpbmtfTWVk
aWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5CiBTT0ZUX0xJTktf
RlVOQ1RJT05fRk9SX0hFQURFUihXZWJDb3JlLCBNZWRpYVJlbW90ZSwgTVJNZWRpYVJlbW90ZUNv
bW1hbmRJbmZvQ3JlYXRlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9SZWYsIChDRkFsbG9jYXRv
clJlZiBhbGxvY2F0b3IpLCAoYWxsb2NhdG9yKSk7CiAjZGVmaW5lIE1STWVkaWFSZW1vdGVDb21t
YW5kSW5mb0NyZWF0ZSBzb2Z0TGlua19NZWRpYVJlbW90ZV9NUk1lZGlhUmVtb3RlQ29tbWFuZElu
Zm9DcmVhdGUKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVSKFdlYkNvcmUsIE1lZGlhUmVt
b3RlLCBNUk1lZGlhUmVtb3RlQ29tbWFuZEluZm9TZXRDb21tYW5kLCB2b2lkLCAoTVJNZWRpYVJl
bW90ZUNvbW1hbmRJbmZvUmVmIGNvbW1hbmRJbmZvLCBNUk1lZGlhUmVtb3RlQ29tbWFuZCBjb21t
YW5kKSwgKGNvbW1hbmRJbmZvLCBjb21tYW5kKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9tYWMvTWVkaWFSZW1vdGVTUEkuaAppbmRleCA1MjZjZDUxNDk1NTBlMGMyNTkxN2M1
Y2Y4NjM3NTFkMTgwMTEyOTU4Li4wNTg3NThhYjRlMDMwY2FmMmFiMDJiYTcxODhlODAxNGY3ZWQz
NjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL01lZGlhUmVt
b3RlU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9NZWRpYVJlbW90
ZVNQSS5oCkBAIC0yNyw2ICsyNywyMiBAQAogCiAjaWYgVVNFKE1FRElBUkVNT1RFKQogCisjaWYg
X19oYXNfaW5jbHVkZSg8TWVkaWFSZW1vdGUvTVJOb3dQbGF5aW5nVHlwZXMuaD4pCisKKyNpbmNs
dWRlIDxNZWRpYVJlbW90ZS9NUk5vd1BsYXlpbmdUeXBlcy5oPgorCisjZWxzZQorCitlbnVtIHsK
KyAgICBNUk5vd1BsYXlpbmdDbGllbnRWaXNpYmlsaXR5VW5kZWZpbmVkID0gMCwKKyAgICBNUk5v
d1BsYXlpbmdDbGllbnRWaXNpYmlsaXR5QWx3YXlzVmlzaWJsZSwKKyAgICBNUk5vd1BsYXlpbmdD
bGllbnRWaXNpYmlsaXR5VmlzaWJsZVdoZW5CYWNrZ3JvdW5kZWQsCisgICAgTVJOb3dQbGF5aW5n
Q2xpZW50VmlzaWJpbGl0eU5ldmVyVmlzaWJsZQorfTsKK3R5cGVkZWYgdWludDMyX3QgTVJOb3dQ
bGF5aW5nQ2xpZW50VmlzaWJpbGl0eTsKKworI2VuZGlmCisKICNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQogCiAjaW5jbHVkZSA8TWVkaWFSZW1vdGUvTWVkaWFSZW1vdGUuaD4KQEAgLTk2LDYg
KzExMiw3IEBAIFdURl9FWFRFUk5fQ19CRUdJTgogdm9pZCogTVJNZWRpYVJlbW90ZUFkZEFzeW5j
Q29tbWFuZEhhbmRsZXJCbG9jayhNUk1lZGlhUmVtb3RlQXN5bmNDb21tYW5kSGFuZGxlckJsb2Nr
KTsKIHZvaWQgTVJNZWRpYVJlbW90ZVJlbW92ZUNvbW1hbmRIYW5kbGVyQmxvY2sodm9pZCAqb2Jz
ZXJ2ZXIpOwogdm9pZCBNUk1lZGlhUmVtb3RlU2V0U3VwcG9ydGVkQ29tbWFuZHMoQ0ZBcnJheVJl
ZiBjb21tYW5kcywgTVJPcmlnaW5SZWYsIGRpc3BhdGNoX3F1ZXVlX3QgcmVwbHlRLCB2b2lkKF5j
b21wbGV0aW9uKShNUk1lZGlhUmVtb3RlRXJyb3IgZXJyKSk7Cit2b2lkIE1STWVkaWFSZW1vdGVT
ZXROb3dQbGF5aW5nVmlzaWJpbGl0eShNUk9yaWdpblJlZiwgTVJOb3dQbGF5aW5nQ2xpZW50Vmlz
aWJpbGl0eSk7CiAKICNwcmFnbWEgbWFyayAtIE1ST3JpZ2luCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggZTcyZTQ1MGI0YThjYTAw
MzJkYjYzM2JhYjhkY2I3Mzg2MmRlYzg0NS4uOGY5YzcwZDJhNTdmMzU2NWE5MGUwMzViNDcxMTIw
NTUwNGVmMzQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTQ1NzksNiArNDU3OSwxNyBAQCAtIChCT09MKV9zaG91bGRSZXF1ZXN0
Q2FuZGlkYXRlcwogewogICAgIHJldHVybiBfaW1wbC0+c2hvdWxkUmVxdWVzdENhbmRpZGF0ZXMo
KTsKIH0KKworLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbworewor
ICAgIGlmIChfcGFnZSkKKyAgICAgICAgX3BhZ2UtPnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vz
c2lvbkluZm8oKTsKK30KKworLSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25J
bmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbgoreworICAgIC8vIE92ZXJyaWRkZW4g
Ynkgc3ViY2xhc3Nlcy4KK30KICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKIC8vIEV4ZWN1dGUg
dGhlIHN1cHBsaWVkIGJsb2NrIGFmdGVyIHRoZSBuZXh0IHRyYW5zYWN0aW9uIGZyb20gdGhlIFdl
YlByb2Nlc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGZkNWJjMzQ3Y2VkYjkwMDViOGFiYjBkMTFjNTIxYjFk
YmQwZGQ5NWQuLjRhYTJkMTZkNzI2Njc1NmRhZTIxOThmYmU0OTI4ZDY1NmU1NDY3NmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJp
dmF0ZS5oCkBAIC0yODAsNiArMjgwLDggQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dL
SW1tZWRpYXRlQWN0aW9uVHlwZSkgewogLSAodm9pZClfZm9yY2VSZXF1ZXN0Q2FuZGlkYXRlcyBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAtICh2b2lkKV9kaWRVcGRhdGVD
YW5kaWRhdGVMaXN0VmlzaWJpbGl0eTooQk9PTCl2aXNpYmxlIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBf
c2hvdWxkUmVxdWVzdENhbmRpZGF0ZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSkpOworLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNBY3RpdmVTZXNzaW9uIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKICNlbmRpZgogCiAtICh2b2lkKV9kb0FmdGVy
TmV4dFByZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlQ2xpZW50LmgKaW5kZXggZjQzYmY5YjFiZDIyNDYxYWVkZjk3ZTM2ZjcwNjk3ODQ4YmUx
ZmRlNy4uYTMwZjJiZWI3YjdjOGYzYWQ5MTg5M2I1OTY5NWQ1ZDg1YzY1YmYzMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yNDgsNiArMjQ4LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCByZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKFdlYkNv
cmU6OlNjcm9sbGJhclN0eWxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZU5hdmlnYXRp
b25HZXN0dXJlU25hcHNob3QoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNvbnRyb2xs
ZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZl
U2Vzc2lvbikgPSAwOwogCiAgICAgdmlydHVhbCBDR1JlY3QgYm91bmRzT2ZMYXllckluTGF5ZXJC
YWNrZWRXaW5kb3dDb29yZGluYXRlcyhDQUxheWVyICopIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1ZTU3NGJhOTAxOTM0N2YxNTBj
NDhhOTM5NzZiYzg3NTE2N2E3MzI1Li4wMmZmZDE4NGQyMTc3ZDIyMzdmNGU4MjRhZmIwNWM2ZGJj
ZGEwZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAt
NjM4Niw2ICs2Mzg2LDE2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0Q29udHJvbGxlZEVs
ZW1lbnRJRCgpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RB
Y3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKQoreworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6UmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpLCBtX3Bh
Z2VJRCk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vz
c2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24pIGNvbnN0Cit7CisgICAgbV9w
YWdlQ2xpZW50LmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGhhc0Fj
dGl2ZVNlc3Npb24pOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29udHJvbGxlZEVs
ZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikgY29uc3QKIHsKICAgICBt
X3BhZ2VDbGllbnQuaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGlkZW50aWZpZXIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGQ2N2M1ODVmYTdm
Yjc5Y2Y1YTEyYTYzNzU5NjE1OWQyNGJlYmE0ZjguLjJlYTMwNGFmNjZlMjA3ZmUwYWJmMTY5MTk5
ZmZmZjkyZWRiM2U4NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTEwMzUsNiArMTAzNSw4IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0FjdGl2ZVZpZGVvRm9y
Q29udHJvbHNNYW5hZ2VyKCkgY29uc3Q7CiAgICAgdm9pZCByZXF1ZXN0Q29udHJvbGxlZEVsZW1l
bnRJRCgpIGNvbnN0OwogICAgIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNl
KGNvbnN0IFN0cmluZyYpIGNvbnN0OworICAgIHZvaWQgcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdT
ZXNzaW9uSW5mbygpOworICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZv
UmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBjb25zdDsKICAgICBib29sIGlzUGxheWlu
Z1ZpZGVvSW5FbmhhbmNlZEZ1bGxzY3JlZW4oKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmYWZm
MmU3ODNlNTQyY2VjYWI3ZTg3OTZiZDZiNzExNTQ1ZGY2ZTZmLi5kMTliYzc3ZWQzZTMyMmRlMjBi
YmIzMTIzZGM1Y2ZiNjhiMDYzYmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTQ3MCw1ICs0NzAsNiBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlUHJveHkgewogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIERpZEhhbmRsZUFjY2Vw
dGVkQ2FuZGlkYXRlKCkKKyAgICBIYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNw
b25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24pCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCA1MjU5ZmI1YjcyNWNhNDc2OTJl
YWQ3YWE0ODU5MDEyMTNjN2FiNmU5Li45ZDdlM2QwMWUzNmJkMDAyMDc2NzA0NzUyZjM2ZjMxNzNh
M2RhNTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5oCkBAIC0yMDcsNiArMjA3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25Gb3JNYWluRnJhbWUoU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpIG92ZXJy
aWRlOwogICAgIHZvaWQgcmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpIG92ZXJyaWRl
OwogICAgIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmlu
ZyYpIG92ZXJyaWRlOworICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZv
UmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBvdmVycmlkZTsKIAogICAgIHZvaWQgZGlk
UGVyZm9ybUltbWVkaWF0ZUFjdGlvbkhpdFRlc3QoY29uc3QgV2ViSGl0VGVzdFJlc3VsdERhdGEm
LCBib29sIGNvbnRlbnRQcmV2ZW50c0RlZmF1bHQsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCogaW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJvbGxlckZvckhpdFRlc3RSZXN1
bHQoUmVmUHRyPEFQSTo6SGl0VGVzdFJlc3VsdD4sIHVpbnQ2NF90LCBSZWZQdHI8QVBJOjpPYmpl
Y3Q+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLm1tCmluZGV4IDViNWExMjFhNjkzOTc2ZmY2MGExOGRiMjU1NmY1ZjRiOTVlMjkyNTgu
LjVjM2EyMmVmN2RjNTY0ZWMzYTFkNWY3ZmVmOTU1N2Q1OTBhNWQwZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNzU5LDYgKzc1OSwx
MyBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9u
c2UoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQogI2VuZGlmCiB9CiAKK3ZvaWQgUGFnZUNsaWVu
dEltcGw6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFz
QWN0aXZlU2Vzc2lvbikKK3sKKyNpZiBXS19BUElfRU5BQkxFRAorICAgIFttX3dlYlZpZXcgX2hh
bmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOmhhc0FjdGl2ZVNlc3Npb25d
OworI2VuZGlmCit9CisKIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENoYW5nZUJhY2tncm91bmRD
b2xvcigpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGZiOGY1ZTFmYTQ2MTE0NzdmZDY3NjcwYWQ4ZDE0
ODJkNzliNjVkYjkuLmYwOTU5ZDRiZmVhNGY3OTg5MmYxZDc4YTU2MDY5NjViMzk3NTEwOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTIwMSw2
ICsxMjAxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRhdGFEZXRlY3RvcnNEaWRIaWRlVUkoV2Vi
Q29yZTo6UGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQpOwogCiAgICAgdm9pZCBoYW5kbGVBY2Nl
cHRlZENhbmRpZGF0ZShXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQpOworICAgIHZvaWQgcmVx
dWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpOwogI2VuZGlmCiAKICAgICB2b2lkIHNl
dFNob3VsZERpc3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cyhib29sIGRpc3BhdGNoKSB7IG1fc2hv
dWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzID0gZGlzcGF0Y2g7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5k
ZXggNmZhYTZiNGMyZTFlOGNjZGI2NTFlODI2ZmU5YTk1M2MzYmJhNmIwYy4uNDdlMTI3MGI2ZjEy
NzE1ZDY2ZmRmOTZjZTIxNTJhNDg0OWQyNDcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTQxNyw2ICs0MTcs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEYXRhRGV0ZWN0
b3JzRGlkQ2hhbmdlVUkoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgcGFnZU92
ZXJsYXkpCiAgICAgRGF0YURldGVjdG9yc0RpZEhpZGVVSShXZWJDb3JlOjpQYWdlT3ZlcmxheTo6
UGFnZU92ZXJsYXlJRCBwYWdlT3ZlcmxheSkKICAgICBIYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShz
dHJ1Y3QgV2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0IGFjY2VwdGVkQ2FuZGlkYXRlKQorICAg
IFJlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKQogI2VuZGlmCiAKICAgICBTZXRT
aG91bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoYm9vbCBzaG91bGREaXNwYXRjaEZha2VN
b3VzZU1vdmVFdmVudHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggNjlkYTIzMjBjM2VkMTIyMDY0NzU5MDg1YmM1OGQy
ODBjZDA1YWRhOS4uZTc5YzkxYmFhOTAzYjlhZTlkOGU4Y2RlODU2MmViODU3MGU1YzQxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1h
Yy5tbQpAQCAtNzUsNiArNzUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0
Zm9ybUtleWJvYXJkRXZlbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Np
b25NYW5hZ2VyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkRvY3VtZW50Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1JlbmRlckVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVuZGVyT2JqZWN0
Lmg+CkBAIC0xNjAsNiArMTYxLDE1IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQWNjZXB0ZWRDYW5k
aWRhdGUoV2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0IGFjY2VwdGVkQ2FuZGlkCiAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRIYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSgpKTsK
IH0KIAordm9pZCBXZWJQYWdlOjpyZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkK
K3sKKyAgICBib29sIGhhc0FjdGl2ZVNlc3Npb24gPSBmYWxzZTsKKyAgICBpZiAoYXV0byogc2hh
cmVkTWFuYWdlciA9IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcklmRXhpc3RzKCkpCisgICAgICAgIGhhc0FjdGl2ZVNlc3Npb24gPSBzaGFyZWRNYW5h
Z2VyLT5oYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbigpOworCisgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpIYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZSho
YXNBY3RpdmVTZXNzaW9uKSk7Cit9CisKIE5TT2JqZWN0ICpXZWJQYWdlOjphY2Nlc3NpYmlsaXR5
T2JqZWN0Rm9yTWFpbkZyYW1lUGx1Z2luKCkKIHsKICAgICBpZiAoIW1fcGFnZSkKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYzAwODY0MDc0MmY2
NTUxZDAwZDUxMTYzNmVhMGJiNjgzZTZhMGZhLi42NzUxMTEzNzg4MjAxNjhiZWFmNTZiMGE1NWVj
NTE5YWY5MTY1ZGQ0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYtMDktMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHQgTWVkaWFSZW1vdGUgU1BJIHRvIGFj
aGlldmUgZGVzaXJlZCBOb3cgUGxheWluZyBiZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNjU4CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yODQ5OTM1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAgICAg
SW50cm9kdWNlcyAyIHVuaXQgdGVzdHMgaW4gdGhlIG5ldyBOb3dQbGF5aW5nQ29udHJvbHNUZXN0
cyB0ZXN0IHN1aXRlLiBBbHNvIHByb3ZpZGVzIHNvbWUgYmFzaWMgc3VwcG9ydCBmb3IKKyAgICAg
ICAgbW9ja2luZyBrZXkgd2luZG93IHN0YXR1cyBmb3IgVGVzdFdLV2ViVmlld3MuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Ob3dQbGF5aW5n
Q29udHJvbHNUZXN0cy5tbTogQWRkZWQuCisgICAgICAgICgtW05vd1BsYXlpbmdUZXN0V2ViVmll
dyBoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbl0pOgorICAgICAgICAoLVtOb3dQbGF5aW5nVGVz
dFdlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246XSk6CisgICAgICAgICgt
W05vd1BsYXlpbmdUZXN0V2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZv
UmVzcG9uc2U6XSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5
aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dlYlZp
ZXdNYWMubW06CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXdIb3N0V2luZG93IGlzS2V5V2luZG93
XSk6CisgICAgICAgICgtW1Rlc3RXS1dlYlZpZXdIb3N0V2luZG93IG1ha2VLZXlXaW5kb3ddKToK
KyAgICAgICAgKC1bVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cgcmVzaWduS2V5V2luZG93XSk6CisK
IDIwMTYtMDktMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBDb3JyZWN0bHkgcGFyc2UgVVJMcyB3aXRoIHRoZSBmaXJzdCB0YWIgaW4gdGhl
IGZyYWdtZW50CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQxNzA2NzFiMmZhZjFhOTZlOGE1
YWIwMDk2YzliM2IzODU3MGNiZDguLjU2ZTU2NzBjOGFjYjVlZTI5ZGJjOTkxYmI4YmRlZjA5ZDc3
YzIwOWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03Nyw2ICs3Nyw3IEBACiAJCTJFNzc2
NUNEMTZDNEQ4MEEwMEJBMkJCMSAvKiBtYWluSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5J
T1MubW0gKi87IH07CiAJCTJFNzc2NUNGMTZDNEQ4MTEwMEJBMkJCMSAvKiBtYWluTWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU3NzY1Q0UxNkM0
RDgxMTAwQkEyQkIxIC8qIG1haW5NYWMubW0gKi87IH07CiAJCTJFOTg5NjE1MUQ4RjA5MzgwMDcz
OTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTk4OTYxNDFEOEYwOTJCMDA3Mzk4
OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQtaW5wdXRzLmh0bWwgKi87IH07CisJCTJFQ0ZGNTU1MUQ5
QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0ZGNTU0MUQ5QjEyRjgwMEI1NTM5
NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAqLzsgfTsKIAkJMkVGRjA2QzMxRDg4NjIx
RTAwMDRCQjMwIC8qIGxhcmdlLXZpZGVvLW9mZnNjcmVlbi5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRkYwNkMyMUQ4ODYyMTIwMDA0
QkIzMCAvKiBsYXJnZS12aWRlby1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKIAkJMkVGRjA2QzUxRDg4
Njc3NjAwMDRCQjMwIC8qIGNoYW5nZS12aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUZGMDZDNDFE
ODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1jbGljay5odG1sICovOyB9
OwogCQkyRUZGMDZDNzFEODg2QTU4MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1l
bmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRUZGMDZDNjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1l
bmQuaHRtbCAqLzsgfTsKQEAgLTQ3OCw2ICs0NzksNyBAQAogCQlFMTIyMERDQTE1NUIyOEFBMDAx
M0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJRTE5NEUxQkQxNzdFNTNDNzAwOUM0RDRFIC8q
IFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTRFMUJDMTc3RTUzNEEwMDlD
NEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCAqLzsgfTsKIAkJ
RjQyREE1MTYxRDhDRUZFNDAwMzM2RjQwIC8qIGxhcmdlLWlucHV0LWZpZWxkLWZvY3VzLW9ubG9h
ZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVsZC1mb2N1cy1v
bmxvYWQuaHRtbCAqLzsgfTsKKwkJRjRGMTM3OTIxRDlCNjgzRTAwMkJFQzU3IC8qIGxhcmdlLXZp
ZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcgLyogbGFyZ2Ut
dmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sICovOyB9OwogCQlGNEY0MDVCQzFENEMwRDFDMDA3
QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEY0MDVC
QTFENEMwQ0Y4MDA3QTk3MDcgLyogZnVsbC1zaXplLWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVk
aW8uaHRtbCAqLzsgfTsKIAkJRjRGNDA1QkQxRDRDMEQxQzAwN0E5NzA3IC8qIHNraW5ueS1hdXRv
cGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRGNDA1QkIxRDRDMENGODAwN0E5NzA3IC8qIHNr
aW5ueS1hdXRvcGxheWluZy12aWRlby13aXRoLWF1ZGlvLmh0bWwgKi87IH07CiAJCUY2NjBBQTEx
MTVBNUY2MzEwMDNBMTI0MyAvKiBHZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRh
dGFDYWxsYmFja19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjY2MEFBMEYxNUE1RjYyNDAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVuZGxl
SW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrX0J1bmRsZS5jcHAgKi87IH07CkBAIC01NDks
NiArNTUxLDcgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNlczsKIAkJCWRz
dFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJRjRGMTM3OTIxRDlCNjgzRTAw
MkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLywKIAkJCQk4MzdBMzVGMTFEOUExRTdEMDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0
QmxvYlVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTJFOTg5NjE1MUQ4RjA5Mzgw
MDczOTg5MiAvKiB0ZXh0LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKIAkJCQlGNDJEQTUxNjFEOENFRkU0MDAzMzZGNDAgLyogbGFyZ2UtaW5wdXQtZmllbGQt
Zm9jdXMtb25sb2FkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC03OTksNiArODAyLDcg
QEAKIAkJMkU3NzY1Q0MxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5JT1MubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBtYWluSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRTc3NjVDRTE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IG1haW5NYWMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFOTg5NjE0MUQ4RjA5MkIwMDczOTg5MiAvKiB0ZXh0LWFu
ZC1wYXNzd29yZC1pbnB1dHMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ0ZXh0
LWFuZC1wYXNzd29yZC1pbnB1dHMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJFQ0ZGNTU0MUQ5QjEyRjgwMEI1NTM5NCAvKiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5vd1BsYXlpbmdDb250cm9s
c1Rlc3RzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUZGMDZDMjFEODg2MjEy
MDAwNEJCMzAgLyogbGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0
bWw7IHBhdGggPSAibGFyZ2UtdmlkZW8tb2Zmc2NyZWVuLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkyRUZGMDZDNDFEODg2NzcwMDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNv
dXJjZS1vbi1jbGljay5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoYW5nZS12
aWRlby1zb3VyY2Utb24tY2xpY2suaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJFRkYwNkM2MUQ4ODZBNTYwMDA0QkIzMCAvKiBjaGFuZ2UtdmlkZW8tc291cmNlLW9uLWVuZC5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImNoYW5nZS12aWRlby1zb3VyY2Utb24t
ZW5kLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE5MCw2ICsxMTk0LDcg
QEAKIAkJRTRDOUFCQzcxQjNEQjE3MTAwNDBBOTg3IC8qIFJ1bkxvb3AuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVuTG9vcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsg
cGF0aCA9IGxpYmd0ZXN0LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CUY0MkRBNTE1MUQ4Q0VGREIwMDMzNkY0MCAvKiBsYXJnZS1pbnB1dC1maWVsZC1mb2N1cy1vbmxv
YWQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgbmFtZSA9ICJsYXJnZS1pbnB1dC1maWVsZC1m
b2N1cy1vbmxvYWQuaHRtbCI7IHBhdGggPSAiVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLWlucHV0
LWZpZWxkLWZvY3VzLW9ubG9hZC5odG1sIjsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9Owor
CQlGNEYxMzc5MTFEOUI2ODMyMDAyQkVDNTcgLyogbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWlu
Zy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxhcmdlLXZpZGVvLXRlc3Qtbm93
LXBsYXlpbmcuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjQwNUJBMUQ0
QzBDRjgwMDdBOTcwNyAvKiBmdWxsLXNpemUtYXV0b3BsYXlpbmctdmlkZW8td2l0aC1hdWRpby5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImZ1bGwtc2l6ZS1hdXRvcGxheWluZy12
aWRlby13aXRoLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY0
MDVCQjFENEMwQ0Y4MDA3QTk3MDcgLyogc2tpbm55LWF1dG9wbGF5aW5nLXZpZGVvLXdpdGgtYXVk
aW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJza2lubnktYXV0b3BsYXlpbmct
dmlkZW8td2l0aC1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjY2
MEFBMEMxNUE1RjA2MTAwM0ExMjQzIC8qIEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25V
c2VyRGF0YUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzNzIsNiArMTM3Nyw3IEBACiAJCQkJNDZDNTE5
RDgxRDM1NUE3MzAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1tICovLAogCQkJ
CTUxQ0QxQzZBMUIzOENFMzYwMDE0MkNBNSAvKiBNb2RhbEFsZXJ0cy5tbSAqLywKIAkJCQkxQUJD
M0RFRDE4OTlCRTZEMDA0RjA2MjYgLyogTmF2aWdhdGlvbi5tbSAqLywKKwkJCQkyRUNGRjU1NDFE
OUIxMkY4MDBCNTUzOTQgLyogTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0gKi8sCiAJCQkJQ0VB
NkNGMjIxOUNDRjVCRDAwNjRGNUE3IC8qIE9wZW5BbmRDbG9zZVdpbmRvdy5tbSAqLywKIAkJCQlD
OTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8sCiAJCQkJNTc5OEUy
QUYxQ0FGNUMyODAwQzVDQkEwIC8qIFByb3Zpc2lvbmFsVVJMTm90Q2hhbmdlLm1tICovLApAQCAt
MTQ4NSw2ICsxNDkxLDcgQEAKIAkJQTE2RjY2QjgxQzQwRTlFMTAwQkQ0RDI0IC8qIFJlc291cmNl
cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRjRGMTM3
OTExRDlCNjgzMjAwMkJFQzU3IC8qIGxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbCAq
LywKIAkJCQkyRTk4OTYxNDFEOEYwOTJCMDA3Mzk4OTIgLyogdGV4dC1hbmQtcGFzc3dvcmQtaW5w
dXRzLmh0bWwgKi8sCiAJCQkJMkVGRjA2Q0MxRDhBNDI5MTAwMDRCQjMwIC8qIGlucHV0LWZpZWxk
LWluLXNjcm9sbGFibGUtZG9jdW1lbnQuaHRtbCAqLywKIAkJCQkyRUZGMDZDNjFEODg2QTU2MDAw
NEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLywKQEAgLTIzMzcsNiAr
MjM0NCw3IEBACiAJCQkJN0NDRTdGMjMxQTQxMUFGNjAwNDQ3QzRDIC8qIERvd25sb2FkLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRUUxQTQxMUFFNjAwNDQ3QzRDIC8qIERvd25sb2FkRGVj
aWRlRGVzdGluYXRpb25DcmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCRTFBNDEx
QTdFMDA0NDdDNEMgLyogRHluYW1pY0RldmljZVNjYWxlRmFjdG9yLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJMkVDRkY1NTUxRDlCMTJGODAwQjU1Mzk0IC8qIE5vd1BsYXlpbmdDb250cm9sc1Rlc3Rz
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRTAxQTQxMUE5QTAwNDQ3QzRDIC8qIEVkaXRv
ckNvbW1hbmRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQkYxQTQxMUE3RTAwNDQ3QzRD
IC8qIEVsZW1lbnRBdFBvaW50SW5XZWJGcmFtZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdBOTA5
QTgzMUQ4Nzc0ODAwMDdFMTBGOCAvKiBJbnRTaXplLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0Nv
bnRyb2xzVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9O
b3dQbGF5aW5nQ29udHJvbHNUZXN0cy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTAzOTE2MjllN2U5NzRkZjQx
YzUxOTA5NzU4MzAxYjc4YTFjOGJjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0KQEAgLTAs
MCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2ltcG9ydCAi
UGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXdNYWMuaCIKKworI2lt
cG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxX
ZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMjAxCisKK0Bp
bnRlcmZhY2UgTm93UGxheWluZ1Rlc3RXZWJWaWV3IDogVGVzdFdLV2ViVmlldworQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOwor
QGVuZAorCitAaW1wbGVtZW50YXRpb24gTm93UGxheWluZ1Rlc3RXZWJWaWV3IHsKKyAgICBib29s
IF9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2U7CisgICAgQk9PTCBfaGFzQWN0aXZlTm93
UGxheWluZ1Nlc3Npb247Cit9CistIChCT09MKWhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uCit7
CisgICAgX3JlY2VpdmVkTm93UGxheWluZ0luZm9SZXNwb25zZSA9IGZhbHNlOworICAgIFtzZWxm
IF9yZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvXTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJl9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2UpOworCisgICAgcmV0
dXJuIF9oYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjsKK30KKworLSAodm9pZClleHBlY3RIYXNB
Y3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjooQk9PTCloYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbgor
eworICAgIGJvb2wgZmluaXNoZWRXYWl0aW5nID0gZmFsc2U7CisgICAgd2hpbGUgKCFmaW5pc2hl
ZFdhaXRpbmcpIHsKKyAgICAgICAgW1tOU1J1bkxvb3AgY3VycmVudFJ1bkxvb3BdIHJ1bk1vZGU6
TlNEZWZhdWx0UnVuTG9vcE1vZGUgYmVmb3JlRGF0ZTpbTlNEYXRlIGRpc3RhbnRQYXN0XV07Cisg
ICAgICAgIGZpbmlzaGVkV2FpdGluZyA9IHNlbGYuaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24g
PT0gaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb247CisgICAgfQorfQorCistICh2b2lkKV9oYW5k
bGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNBY3RpdmVTZXNz
aW9uCit7CisgICAgX2hhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uID0gaGFzQWN0aXZlU2Vzc2lv
bjsKKyAgICBfcmVjZWl2ZWROb3dQbGF5aW5nSW5mb1Jlc3BvbnNlID0gdHJ1ZTsKK30KK0BlbmQK
KworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKE5vd1BsYXlpbmdDb250cm9sc1Rl
c3RzLCBOb3dQbGF5aW5nQ29udHJvbHNEb05vdFNob3dGb3JGb3JlZ3JvdW5kUGFnZSkKK3sKKyAg
ICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1tXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25maWd1cmF0aW9uLm1lZGlhVHlwZXNSZXF1
aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsK
KyAgICBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgKndlYlZpZXcgPSBbW05vd1BsYXlpbmdUZXN0V2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVk
OkAibGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JN
ZXNzYWdlOkAicGxheWluZyJdOworCisgICAgW3dlYlZpZXcud2luZG93IHNldElzVmlzaWJsZTpZ
RVNdOworICAgIFt3ZWJWaWV3LndpbmRvdyBtYWtlS2V5V2luZG93XTsKKyAgICBbd2ViVmlldyBl
eHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpOT107Cit9CisKK1RFU1QoTm93UGxheWlu
Z0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc1Nob3dGb3JCYWNrZ3JvdW5kUGFnZSkK
K3sKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1tXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25maWd1cmF0aW9uLm1lZGlhVHlw
ZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBl
Tm9uZTsKKyAgICBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgKndlYlZpZXcgPSBbW05vd1BsYXlpbmdU
ZXN0V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFn
ZU5hbWVkOkAibGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZyJdOworICAgIFt3ZWJWaWV3IHdh
aXRGb3JNZXNzYWdlOkAicGxheWluZyJdOworCisgICAgW3dlYlZpZXcud2luZG93IHNldElzVmlz
aWJsZTpOT107CisgICAgW3dlYlZpZXcud2luZG93IHJlc2lnbktleVdpbmRvd107CisgICAgW3dl
YlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246WUVTXTsKK30KKworfSAvLyBu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQgJiYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMjAxCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12
aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2M3OWE1NjI0YzMxNDI0YmIwNGI4OTEyYmY2Yjc3NTAzMzI5YmFlNQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLXZpZGVvLXRl
c3Qtbm93LXBsYXlpbmcuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICB2aWRlbyB7CisgICAgICAgICAgICB3
aWR0aDogNDgwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDMyMHB4OworICAgICAgICAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0Pgor
ICAgICAgICBmdW5jdGlvbiBwbGF5aW5nKCkgeworICAgICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICB3aW5k
b3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0TWVzc2FnZSgicGxheWlu
ZyIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0sIDApOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8dmlkZW8gYXV0b3BsYXkgb25wbGF5aW5nPXBsYXlpbmcoKT48c291cmNlIHNyYz0i
bGFyZ2UtdmlkZW8td2l0aC1hdWRpby5tcDQiPjwvdmlkZW8+Cis8L2JvZHk+Cis8aHRtbD4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RXS1dlYlZpZXdNYWMubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0V0tXZWJWaWV3TWFjLm1tCmluZGV4IDU3YTFmNGU5
Yzc1ZGU1ZGZkZmUwZTJlNDkwOWM2MzI2NWYwMjUyMDIuLjRlMTU0ZWQ3NzYwMWJhOTMzOTU1Yzg2
MzY0NTUwN2ZiZjAxYTYxMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rl
c3RXS1dlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdFdLV2Vi
Vmlld01hYy5tbQpAQCAtNjMsNyArNjMsOSBAQCBAZW5kCiBAaW50ZXJmYWNlIFRlc3RXS1dlYlZp
ZXdIb3N0V2luZG93IDogTlNXaW5kb3cKIEBlbmQKIAotQGltcGxlbWVudGF0aW9uIFRlc3RXS1dl
YlZpZXdIb3N0V2luZG93CitAaW1wbGVtZW50YXRpb24gVGVzdFdLV2ViVmlld0hvc3RXaW5kb3cg
eworICAgIEJPT0wgX2ZvcmNlS2V5V2luZG93OworfQogCiBzdGF0aWMgaW50IGdFdmVudE51bWJl
ciA9IDE7CiAKQEAgLTExNCw2ICsxMTYsMjYgQEAgLSAodm9pZClfbW91c2VEb3duQXRQb2ludDoo
TlNQb2ludClwb2ludCBzaW11bGF0ZVByZXNzdXJlOihCT09MKXNpbXVsYXRlUHJlc3N1cmUKICNl
bmRpZgogfQogCistIChCT09MKWlzS2V5V2luZG93Cit7CisgICAgcmV0dXJuIF9mb3JjZUtleVdp
bmRvdyB8fCBbc3VwZXIgaXNLZXlXaW5kb3ddOworfQorCistICh2b2lkKW1ha2VLZXlXaW5kb3cK
K3sKKyAgICBpZiAoX2ZvcmNlS2V5V2luZG93KQorICAgICAgICByZXR1cm47CisKKyAgICBfZm9y
Y2VLZXlXaW5kb3cgPSBZRVM7CisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2Vu
dGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFtZTpOU1dpbmRvd0RpZEJlY29tZUtleU5vdGlmaWNhdGlv
biBvYmplY3Q6c2VsZl07Cit9CisKKy0gKHZvaWQpcmVzaWduS2V5V2luZG93Cit7CisgICAgX2Zv
cmNlS2V5V2luZG93ID0gTk87CisgICAgW3N1cGVyIHJlc2lnbktleVdpbmRvd107Cit9CisKIEBl
bmQKIAogQGltcGxlbWVudGF0aW9uIFRlc3RXS1dlYlZpZXcgewo=
</data>
<flag name="commit-queue"
          id="313308"
          type_id="3"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>