<?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>182877</bug_id>
          
          <creation_ts>2018-02-16 09:50:34 -0800</creation_ts>
          <short_desc>[Extra zoom mode] Form control values are stale after dismissing and representing input view controllers</short_desc>
          <delta_ts>2018-02-17 22:13:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1399914</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-16 09:50:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/37604395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400183</commentid>
    <comment_count>1</comment_count>
      <attachid>334110</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-17 15:35:48 -0800</bug_when>
    <thetext>Created attachment 334110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400184</commentid>
    <comment_count>2</comment_count>
      <attachid>334111</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-17 15:45:55 -0800</bug_when>
    <thetext>Created attachment 334111
Fix non-iOS builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400186</commentid>
    <comment_count>3</comment_count>
      <attachid>334112</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-17 17:35:40 -0800</bug_when>
    <thetext>Created attachment 334112
ChangeLog tweaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400191</commentid>
    <comment_count>4</comment_count>
      <attachid>334112</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-02-17 20:17:04 -0800</bug_when>
    <thetext>Comment on attachment 334112
ChangeLog tweaks.

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

&gt; Source/WebKit/Shared/AssistedNodeInformation.h:117
&gt; +    unsigned assistedNodeIdentifier { 0 };

maybe a sized type? We usually use uint64 for IDs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400193</commentid>
    <comment_count>5</comment_count>
      <attachid>334112</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-17 20:58:48 -0800</bug_when>
    <thetext>Comment on attachment 334112
ChangeLog tweaks.

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

Thanks for the review!

&gt;&gt; Source/WebKit/Shared/AssistedNodeInformation.h:117
&gt;&gt; +    unsigned assistedNodeIdentifier { 0 };
&gt; 
&gt; maybe a sized type? We usually use uint64 for IDs

Got it — changed to a `uint64_t` instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400194</commentid>
    <comment_count>6</comment_count>
      <attachid>334114</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-02-17 21:14:36 -0800</bug_when>
    <thetext>Created attachment 334114
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400195</commentid>
    <comment_count>7</comment_count>
      <attachid>334114</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-17 21:50:19 -0800</bug_when>
    <thetext>Comment on attachment 334114
Patch for landing

Clearing flags on attachment: 334114

Committed r228602: &lt;https://trac.webkit.org/changeset/228602&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334110</attachid>
            <date>2018-02-17 15:35:48 -0800</date>
            <delta_ts>2018-02-17 15:45:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182877-20180217153547.patch</filename>
            <type>text/plain</type>
            <size>22402</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmNWZmOTA1YjhkNjQ1Nzg4
Yzk2ZjA1YTViZTY2NDJhMmM2NTliNjIuLmZkMjNmMmE0MDFiNGRjYmI1MDRhZDdjYzM5YzcwNzIy
ZTJkNzAzZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTExIEBACisyMDE4LTAyLTE3ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29tIG1v
ZGVdIEZvcm0gY29udHJvbCB2YWx1ZXMgYXJlIHN0YWxlIGFmdGVyIGRpc21pc3NpbmcgYW5kIHJl
cHJlc2VudGluZyBpbnB1dCB2aWV3IGNvbnRyb2xsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4NzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM3NjA0Mzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEN1cnJlbnRseSwgd2hlbiBwcmVzZW50aW5nIGFuIGlucHV0IHZpZXcgY29udHJvbGxlciBm
b3IgYSBmb2N1c2VkIGVsZW1lbnQsIHdlIHVzZSBwb3B1bGF0ZSB0aGUgaW5pdGlhbCBmb3JtCisg
ICAgICAgIGNvbnRyb2wgdmFsdWUgdXNpbmcgdGhlIFdLQ29udGVudFZpZXcncyBhc3Npc3RlZCBu
b2RlIGluZm9ybWF0aW9uIHdoZW4gaXQgd2FzIGxhc3QgZm9jdXNlZC4gSG93ZXZlciwgaWYgdGhl
IHVzZXIKKyAgICAgICAgZWRpdHMgdGhlIHZhbHVlIG9mIGEgZm9ybSBjb250cm9sLCBkaXNtaXNz
ZXMgdG8gdGhlIGZvcm0gY29udHJvbCB2aWV3IGNvbnRyb2xsZXIgKHdoaWxlIHRoZSBlbGVtZW50
IGlzIHN0aWxsCisgICAgICAgIGZvY3VzZWQpIGFuZCB0aGVuIGJlZ2lucyBlZGl0aW5nIHRoZSBm
aWVsZCBhZ2FpbiwgdGhlIGluaXRpYWwgdGV4dCB3aWxsIGJlIHRoZSBwcmV2aW91cyB2YWx1ZSBv
ZiB0aGUgaW5wdXQsCisgICAgICAgIHNpbmNlIHRoZSBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBp
c24ndCB1cCB0byBkYXRlLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSBt
ZWNoYW5pc20gdG8gdXBkYXRlIFdLQ29udGVudFZpZXcncyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
biBmb3IgdGhlIGN1cnJlbnQgYXNzaXN0ZWQKKyAgICAgICAgbm9kZS4gVGhpcyBvdmVyd3JpdGVz
IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB3aXRoIG5ldyBpbmZvcm1hdGlvbiBjb21wdXRlZCBm
cm9tIHRoZSB3ZWIgcHJvY2VzcywgYXMgbG9uZyBhcworICAgICAgICB0aGUgYXNzaXN0ZWQgbm9k
ZSBoYXMgbm90IGNoYW5nZWQgYmVmb3JlIGFuZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBtYWRlIGlu
IHRoZSBVSSBwcm9jZXNzLiBXZSBhY2NvbXBsaXNoIHRoaXMgYnkKKyAgICAgICAgYWRkaW5nIGFu
IGlkZW50aWZpZXIgdG8gQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24sIHdoaWNoIGlzIG1vbm90b25p
Y2FsbHkgaW5jcmVtZW50ZWQgd2hlbiBhbiBlbGVtZW50IGlzIGZvY3VzZWQKKyAgICAgICAgaW4g
dGhlIHdlYiBwcm9jZXNzLiBUaGUgVUkgcHJvY2VzcyBtYXkgdGhlbiB1c2UgdGhpcyBpZGVudGlm
aWVyIHRvIGRldGVybWluZSB3aGV0aGVyIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9ucworICAgICAg
ICBhcmUgZGVzY3JpYmluZyB0aGUgc2FtZSBmb2N1c2VkIGVsZW1lbnQuCisKKyAgICAgICAgT25l
IGludGVyZXN0aW5nIGNvbnNpZGVyYXRpb24gaGVyZSBpcyB0aGF0IGEgbm9ybWFsIEFzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uIHVwZGF0ZSAocHJvcGFnYXRlZCB3aGVuIGZvY3VzaW5nIGFuCisgICAg
ICAgIGVsZW1lbnQpIG1heSBiZSBkZWZlcnJlZCBpbiB0aGUgVUkgcHJvY2VzcyB1bnRpbCB0aGUg
bmV4dCBsYXllciB0cmVlIGNvbW1pdC4gSW4gdGhlIGFic2VuY2Ugb2YgdGhlIGFzc2lzdGVkIG5v
ZGUKKyAgICAgICAgaWRlbnRpZmllciBjaGVjaywgb25lIGNvdWxkIGltYWdpbmUgYSBzY2VuYXJp
byBpbiB3aGljaCB0aGUgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbiBpbiB0aGUgVUkgcHJvY2Vz
cworICAgICAgICAidXBkYXRlcyIgZnJvbSBhIG5ldyB2YWx1ZSB0byBhbiBvbGQgdmFsdWU6CisK
KyAgICAgICAgMS4gVGhlIHdlYiBwcm9jZXNzIGZvY3VzZXMgYW4gZWxlbWVudCBhbmQgc2VuZHMg
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gYEFgLgorICAgICAgICAyLiBXS0NvbnRlbnRWaWV3IGNh
bGxzIC11cGRhdGVDdXJyZW50QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uCisgICAgICAgIDMuIFRo
ZSB3ZWIgcHJvY2VzcyBzZW5kcyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBgQmAuCisgICAgICAg
IDQuIGBBYCBpcyByZWNlaXZlZCBpbiB0aGUgVUkgcHJvY2VzcywgYnV0IGRlZmVycmVkLgorICAg
ICAgICA1LiBUaGUgVUkgcHJvY2VzcyByZWNlaXZlcyBgQmAgYW5kIHNldHMgX2Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uIHRvIGBCYC4KKyAgICAgICAgNi4gVGhlIFVJIHByb2Nlc3MgdGhlbiBjYWxs
cyAtX3N0YXJ0QXNzaXN0aW5nTm9kZTogYW5kIHNldHMgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
IHRvIGBBYC4KKworICAgICAgICBXaGljaCB3b3VsZCBtZWFuIHRoYXQgdGhlIF9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbiBpcyBzZXQgdG8gYW4gZWFybGllciB2YWx1ZSwgYEFgLCBhZnRlciBiZWlu
ZyBzZXQgdG8gYSBsYXRlcgorICAgICAgICB2YWx1ZSwgYEJgLiBIb3dldmVyLCBiZWNhdXNlIHRo
ZSBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBpZGVudGlmaWVyIGluIHN0ZXAgKDIpIHJlZmVycyB0
byB0aGUgYXNzaXN0ZWQgbm9kZQorICAgICAgICBwcmlvciB0byBzdGVwICgxKSwgdGhlIGFzc2lz
dGVkIG5vZGUgaWRlbnRpZmllciBpbiAoNSkgd291bGQgbm90IG1hdGNoIHRoaXMgaWRlbnRpZmll
ciwgYW5kIHdlIHdvdWxkIHNpbXBseSBiYWlsCisgICAgICAgIGluc3RlYWQgb2Ygb3ZlcndyaXRp
bmcgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIFNoYXJlZC9Bc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9y
bWF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uaDoKKworICAgICAgICBBZGQgYSBuZXcgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGlkZW50
aWZpZXIgKHBlciBXZWJQYWdlKSB3aGljaCBhc3NvY2lhdGVzIGEgQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24gd2l0aCBhCisgICAgICAgIGZvY3VzZWQgZWxlbWVudC4gSW4gdGhlIGV2ZW50IHRoYXQg
dGhlIHdlYiBwcm9jZXNzIGNyYXNoZXMgYW5kIHJlbGF1bmNoZXMgKHRodXMgcmVzZXR0aW5nIHRo
aXMgaWRlbnRpZmllciksCisgICAgICAgIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHN0YXRlIGlu
IHRoZSBVSSBwcm9jZXNzIGlzIG5vdyBhbHNvIHJlc2V0IChzZWUgLWNsZWFudXBJbnRlcmFjdGlv
biksIHNvIHdlIHdvbid0IGVuZCB1cAorICAgICAgICBjb25mdXNpbmcgQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb25zIGNvbXB1dGVkIGJ5IGRpZmZlcmVudCBXZWJQYWdlcyBiZXR3ZWVuIGEgd2ViIHBy
b2Nlc3MgY3Jhc2guCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKKyAg
ICAgICAgQSBiaXQgb2YgcmVsYXRlZCByZWZhY3RvcmluZyBoZXJlIHRvIHJlbW92ZSBhbiB1bm5l
Y2Vzc2FyeSBib29sIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB3ZSBoYXZlIGEgZGVmZXJy
ZWQKKyAgICAgICAgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbi4gSW5zdGVhZCwganVzdCB1c2Ug
dGhlIHByZXNlbmNlIG9mIG1fZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFyZ3VtZW50cy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisKKyAgICAgICAgQWRk
IGEgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayBJUEMgbWVzc2FnZS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGNsZWFudXBJbnRlcmFjdGlvbl0pOgorCisgICAgICAgIENsZWFyIG91
dCB0aGUgcHJldmlvdXMgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uIFNlZSBhYm92ZSBmb3IgZGV0
YWlscy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zdGFydEFzc2lzdGluZ05vZGU6dXNl
cklzSW50ZXJhY3Rpbmc6Ymx1clByZXZpb3VzTm9kZTpjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6dXNl
ck9iamVjdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB1cGRhdGVDdXJyZW50QXNzaXN0
ZWROb2RlSW5mb3JtYXRpb246XSk6CisKKyAgICAgICAgVHJpZXMgdG8gdXBkYXRlIEFzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBhc3Npc3RlZCBub2RlLCBpbnZva2luZyB0
aGUgY29tcGxldGlvbiBjYWxsYmFjayB3aGVuCisgICAgICAgIGZpbmlzaGVkLiBUaGlzIG1heSBy
ZXN1bHQgaW4gdGhlIGFzc2lzdGVkIG5vZGUgaW5mb3JtYXRpb24gbm90IGJlaW5nIHVwZGF0ZWQg
ZHVlIHRvIHRoZSBjdXJyZW50IGFzc2lzdGVkIG5vZGUKKyAgICAgICAgY2hhbmdpbmcgaW4gdGhl
IHRpbWUgYmV0d2VlbiB0aGUgc3RhcnQgb2YgdGhlIHJlcXVlc3QgYW5kIHRoZSBpbmZvcm1hdGlv
biBiZWluZyByZWNlaXZlZCBpbiB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IHByZXNlbnRWaWV3Q29udHJvbGxlckZvckN1cnJlbnRBc3Npc3RlZE5vZGVdKToKKwor
ICAgICAgICBSZWZhY3RvcmVkIGZyb20gLXByZXNlbnRWaWV3Q29udHJvbGxlckZvckFzc2lzdGVk
Tm9kZTosIHN1Y2ggdGhhdCBpdCBubyBsb25nZXIgdGFrZXMgYW4gQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24KKyAgICAgICAgYXMgYW4gYXJndW1lbnQsIGJ1dCByYXRoZXIganVzdCB1c2VzIFdLQ29u
dGVudFZpZXcncyBjdXJyZW50IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi4gVGhpcyB3YXMganVz
dCBiZWluZworICAgICAgICBjYWxsZWQgd2l0aCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gZnJv
bSBhbGwgY2FsbCBzaXRlcyBhbnl3YXlzLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4
dElucHV0Q29udHJvbGxlcjpkaWRDb21taXRUZXh0Ol0pOgorCisgICAgICAgIFJlcXVlc3QgYW4g
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gdXBkYXRlIGFmdGVyIHNldHRpbmcgdGhlIHZhbHVlIG9m
IGEgZm9ybSBjb250cm9sOyBpZiB0aGUgYXNzaXN0ZWQgbm9kZSBoYXNuJ3QKKyAgICAgICAgY2hh
bmdlZCwgdXBkYXRlIHRoZSBmb2N1c2VkIGZvcm0gY29udHJvbCBvdmVybGF5LiBUaGlzIGlzIG5l
ZWRlZCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIGZvY3VzZWQgZWxlbWVudCdzCisgICAgICAg
IGZyYW1lIG1heSBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5zZXJ0aW5nIHRleHQgKGUuZy4gZHVlIHRv
IGxpbmUgd3JhcHBpbmcpLCBhbmQgdGhlIGZvY3VzZWQgZm9ybSBjb250cm9sIG92ZXJsYXkKKyAg
ICAgICAgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoaXMgY2hhbmdlLgorCisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgZm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlckRpZEJlZ2lu
RWRpdGluZzpdKToKKworICAgICAgICBSZXF1ZXN0IGFuIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9u
IHVwZGF0ZSBiZWZvcmUgcmVlbnRlcmluZyBlZGl0IG1vZGU7IGlmIHRoZSBhc3Npc3RlZCBub2Rl
IGhhc24ndCBjaGFuZ2VkIHNpbmNlCisgICAgICAgIHRoZSBzdGFydCBvZiB0aGUgcmVxdWVzdCwg
cHJlc2VudCB0aGUgYXBwcm9wcmlhdGUgaW5wdXQgdmlldyBjb250cm9sbGVyLgorCisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQXNzaXN0ZWROb2RlOl0p
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFzc2lzdGVkTm9kZUluZm9ybWF0aW9uQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RBc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0
TGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzdGFydEFzc2lzdGlu
Z05vZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN0b3BBc3Npc3RpbmdOb2Rl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyk6CisKKyAgICAgICAgSW5jcmVtZW50IHRo
ZSBhc3Npc3RlZCBub2RlIGlkZW50aWZpZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9u
KToKKworICAgICAgICBDb21wdXRlIGFuZCByZXR1cm4gYW4gQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24pOgorCiAyMDE4LTAyLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIEFkZCBiYXNpYyBzdXBwb3J0IGZvciA8aW5w
dXQgdHlwZT0nZGF0ZSc+IHVzaW5nIGRhdGUgcGlja2VyIFVJCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKaW5kZXggNDIzNmUwOTA4YmQzM2Y3
ODk1N2NiY2E4ZjdjYTBhMjM5YTU3ZmFkMS4uZGM5ODRjODI1NjY3M2U5MDhjN2JhYzNhYWU3NDQw
YjhlOGVkMzdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmNwcApAQCAtODksNiArODksNyBAQCB2b2lkIEFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwg
YWNjZXB0c0F1dG9maWxsZWRMb2dpbkNyZWRlbnRpYWxzOwogICAgIGVuY29kZXIgPDwgcmVwcmVz
ZW50aW5nUGFnZVVSTDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oYXV0b2ZpbGxGaWVsZE5hbWUp
OworICAgIGVuY29kZXIgPDwgYXNzaXN0ZWROb2RlSWRlbnRpZmllcjsKIH0KIAogYm9vbCBBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24mIHJlc3VsdCkKQEAgLTE3MSw2ICsxNzIsOSBAQCBib29sIEFzc2lz
dGVkTm9kZUluZm9ybWF0aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBBc3Npc3Rl
ZE5vZGVJbmZvcm1hdAogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5hdXRvZmls
bEZpZWxkTmFtZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0LmFzc2lzdGVkTm9kZUlkZW50aWZpZXIpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKaW5kZXggMDhhOWY3MjRlNDJkNTljNjg5ODZi
NTVjNThhYWQ1ZGE4ZTkyMWZiMy4uYzJlMDY4YmM4NjJlOWRhMGIwYjJlYmNmZjEzYjE0YWNiZjlh
ZmE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5oCkBAIC0xMTQsNiArMTE0LDggQEAgc3RydWN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHsK
ICAgICBXZWJDb3JlOjpVUkwgcmVwcmVzZW50aW5nUGFnZVVSTDsKICAgICBXZWJDb3JlOjpBdXRv
ZmlsbEZpZWxkTmFtZSBhdXRvZmlsbEZpZWxkTmFtZSB7IFdlYkNvcmU6OkF1dG9maWxsRmllbGRO
YW1lOjpOb25lIH07CiAKKyAgICB1bnNpZ25lZCBhc3Npc3RlZE5vZGVJZGVudGlmaWVyIHsgMCB9
OworCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkYWIyNDAwOGY5MjU3YWJh
NjUzNzRjOGM1MTJmNTRlOGM1ZDZhYTQxLi45MjI3MDFhMGUzMzY3Y2IzMzE2ZjE1YTMyN2UzZGNj
NDFjYmM4YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjg1
LDYgKzI4NSw3IEBAIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFN0cmluZyYsIGRvdWJs
ZSwgYm9vbD4gRm9udEF0U2VsZWN0aW9uQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFj
azxjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIHVpbnQzMl90LCB1aW50MzJfdCwgdWludDMyX3Q+
IEdlc3R1cmVDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgdWludDMyX3QsIHVpbnQzMl90PiBUb3VjaGVzQ2FsbGJhY2s7CiB0eXBlZGVm
IEdlbmVyaWNDYWxsYmFjazxjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4mPiBT
ZWxlY3Rpb25SZWN0c0NhbGxiYWNrOwordHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24mPiBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrOwog
c3RydWN0IE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzIHsKICAgICBBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbiBtX25vZGVJbmZvcm1hdGlvbjsKICAgICBib29sIG1fdXNlcklzSW50ZXJhY3Rpbmc7CkBA
IC0xMDkwLDYgKzEwOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG91bGRSZWNvcmROYXZp
Z2F0aW9uU25hcHNob3RzKGJvb2wgc2hvdWxkUmVjb3JkU25hcHNob3RzKSB7IG1fc2hvdWxkUmVj
b3JkTmF2aWdhdGlvblNuYXBzaG90cyA9IHNob3VsZFJlY29yZFNuYXBzaG90czsgfQogICAgIHZv
aWQgcmVjb3JkQXV0b21hdGljTmF2aWdhdGlvblNuYXBzaG90KCk7CiAgICAgdm9pZCByZWNvcmRO
YXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOworICAgIHZvaWQgcmVx
dWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEZ1bmN0aW9uPHZvaWQoY29uc3QgQXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24mLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBSZWZQdHI8Vmlld1NuYXBzaG90PiB0YWtlVmlld1NuYXBzaG90KCk7CkBA
IC0xNjI1LDYgKzE2MjcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbmFibGVJbnNwZWN0b3JO
b2RlU2VhcmNoKCk7CiAgICAgdm9pZCBkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpOworICAg
IHZvaWQgYXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayhjb25zdCBBc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbiYsIENhbGxiYWNrSUQpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lm
IEVOQUJMRShEQVRBX0RFVEVDVElPTikKQEAgLTIwODEsNyArMjA4NCw2IEBAIHByaXZhdGU6CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBib29sIG1faGFzRGVmZXJyZWRTdGFydEFz
c2lzdGluZ05vZGUgeyBmYWxzZSB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxOb2RlQXNzaXN0YW5j
ZUFyZ3VtZW50cz4gbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzOwogICAgIGJvb2wg
bV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6RmxvYXRT
aXplIG1fdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTJkNDg0
ZGY5NWJiYWM5NjJlZTVlNGY5Y2JmNjUzZDVjNDI2NzBiZS4uMWJmMGYwNWQ0YTdmOWQxMTQwYzY0
YjRmNzJjYTkwODAxZTMwZWNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDAwLDYgKzQwMCw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgT3ZlcmZsb3dTY3JvbGxEaWRFbmRTY3JvbGwoKQogICAgIFNob3dJ
bnNwZWN0b3JIaWdobGlnaHQoc3RydWN0IFdlYkNvcmU6OkhpZ2hsaWdodCBoaWdobGlnaHQpCiAg
ICAgSGlkZUluc3BlY3RvckhpZ2hsaWdodCgpCisgICAgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25D
YWxsYmFjayhzdHJ1Y3QgV2ViS2l0OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBpbmZvcm1hdGlv
biwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKICAgICBTaG93SW5zcGVjdG9ySW5k
aWNhdGlvbigpCiAgICAgSGlkZUluc3BlY3RvckluZGljYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5k
ZXggMjkzODFjYTk1ZDdjYmNhZTg5NTkxOWJjZGM1MWM5NDMwY2I0ZmRmMC4uNDE3MWVmYjc4OWNh
ZTIyNTVkYjQxODk0M2VhMTUzYjQyODdhNjk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC03MTcsNiAr
NzE3LDcgQEAgLSAodm9pZCljbGVhbnVwSW50ZXJhY3Rpb24KICAgICB9CiAgICAgCiAgICAgX2lu
cHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVsbHB0cjsKKyAgICBfYXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24gPSB7IH07CiB9CiAKIC0gKHZvaWQpX3JlbW92ZURlZmF1bHRHZXN0dXJlUmVjb2duaXpl
cnMKQEAgLTQwMzIsNyArNDAzMyw3IEBAIC0gKHZvaWQpX3N0YXJ0QXNzaXN0aW5nTm9kZTooY29u
c3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mKWluZm9ybWF0aW9uIHVzZXJJc0luCiAjaWYgRU5B
QkxFKEVYVFJBX1pPT01fTU9ERSkKICAgICBbc2VsZiBwcmVzZW50Rm9jdXNlZEZvcm1Db250cm9s
Vmlld0NvbnRyb2xsZXI6Tk9dOwogICAgIGlmICghX2lzQ2hhbmdpbmdGb2N1cykKLSAgICAgICAg
W3NlbGYgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQXNzaXN0ZWROb2RlOl9hc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbl07CisgICAgICAgIFtzZWxmIHByZXNlbnRWaWV3Q29udHJvbGxlckZvckN1cnJl
bnRBc3Npc3RlZE5vZGVdOwogI2Vsc2UKICAgICBbc2VsZiByZWxvYWRJbnB1dFZpZXdzXTsKICNl
bmRpZgpAQCAtNDEwMSw2ICs0MTAyLDIyIEBAIC0gKHZvaWQpX3N0b3BBc3Npc3RpbmdOb2RlCiAg
ICAgW193ZWJWaWV3IGRpZEVuZEZvcm1Db250cm9sSW50ZXJhY3Rpb25dOwogfQogCistICh2b2lk
KXVwZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjooRnVuY3Rpb248dm9pZChib29s
IGRpZFVwZGF0ZSk+JiYpY2FsbGJhY2sKK3sKKyAgICBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3
PiB3ZWFrU2VsZiB7IHNlbGYgfTsKKyAgICBhdXRvIGlkZW50aWZpZXJCZWZvcmVVcGRhdGUgPSBf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXNzaXN0ZWROb2RlSWRlbnRpZmllcjsKKyAgICBfcGFn
ZS0+cmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKFtjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spLCBpZGVudGlmaWVyQmVmb3JlVXBkYXRlLCB3ZWFrU2VsZl0gKGF1dG8mIGluZm8sIGF1
dG8gZXJyb3IpIHsKKyAgICAgICAgaWYgKCF3ZWFrU2VsZiB8fCBlcnJvciAhPSBDYWxsYmFja0Jh
c2U6OkVycm9yOjpOb25lIHx8IGluZm8uYXNzaXN0ZWROb2RlSWRlbnRpZmllciAhPSBpZGVudGlm
aWVyQmVmb3JlVXBkYXRlKSB7CisgICAgICAgICAgICAvLyBJZiB0aGUgYXNzaXN0ZWQgbm9kZSBt
YXkgaGF2ZSBjaGFuZ2VkIGluIHRoZSBtZWFudGltZSwgZG9uJ3Qgb3ZlcndyaXRlIGFzc2lzdGVk
IG5vZGUgaW5mb3JtYXRpb24uCisgICAgICAgICAgICBjYWxsYmFjayhmYWxzZSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB3ZWFrU2VsZi5nZXQoKS0+X2Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uID0gaW5mbzsKKyAgICAgICAgY2FsbGJhY2sodHJ1ZSk7CisgICAg
fSk7Cit9CisKICNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQogCiAtICh2b2lkKWRpc21pc3NB
bGxJbnB1dFZpZXdDb250cm9sbGVycwpAQCAtNDIwNyw5ICs0MjI0LDExIEBAIC0gKHZvaWQpcHJl
c2VudE51bWJlclBhZFZpZXdDb250cm9sbGVyOihCT09MKWFuaW1hdGVkCiAgICAgW19mb2N1c2Vk
Rm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xsZXI6X251bWJlclBh
ZFZpZXdDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOmFuaW1hdGVkIGNvbXBsZXRpb246bmlsXTsK
IH0KIAotLSAodm9pZClwcmVzZW50Vmlld0NvbnRyb2xsZXJGb3JBc3Npc3RlZE5vZGU6KGNvbnN0
IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJilpbmZvCistICh2b2lkKXByZXNlbnRWaWV3Q29udHJv
bGxlckZvckN1cnJlbnRBc3Npc3RlZE5vZGUKIHsKLSAgICBzd2l0Y2ggKGluZm8uZWxlbWVudFR5
cGUpIHsKKyAgICBbc2VsZiBkaXNtaXNzQWxsSW5wdXRWaWV3Q29udHJvbGxlcnNdOworCisgICAg
c3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKICAgICBjYXNl
IElucHV0VHlwZTo6TnVtYmVyOgogICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQYWQ6CiAgICAg
Y2FzZSBJbnB1dFR5cGU6OlBob25lOgpAQCAtNDI1Myw3ICs0MjcyLDYgQEAgLSAodm9pZClkaXNt
aXNzVGV4dElucHV0Vmlld0NvbnRyb2xsZXI6KEJPT0wpYW5pbWF0ZWQKIAogLSAodm9pZCl0ZXh0
SW5wdXRDb250cm9sbGVyOihXS1RleHRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJv
bGxlciBkaWRDb21taXRUZXh0OihOU1N0cmluZyAqKXRleHQKIHsKLSAgICAvLyBGSVhNRTogVXBk
YXRlIGNhY2hlZCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBzdGF0ZSBpbiB0aGUgVUkgcHJvY2Vz
cy4KICAgICBfcGFnZS0+c2V0VGV4dEFzeW5jKHRleHQpOwogCiAgICAgaWYgKCFbc2VsZiBhY3Rp
b25OYW1lRm9yRm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlcjpfZm9jdXNlZEZvcm1Db250cm9s
Vmlld0NvbnRyb2xsZXIuZ2V0KCldICYmICFfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaGFzTmV4
dE5vZGUgJiYgIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oYXNQcmV2aW91c05vZGUpIHsKQEAg
LTQyNjUsNiArNDI4MywxMCBAQCAtICh2b2lkKXRleHRJbnB1dENvbnRyb2xsZXI6KFdLVGV4dEZv
cm1Db250cm9sVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGRpZENvbQogCiAgICAgW19mb2N1
c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBzaG93Ok5PXTsKICAgICBbc2VsZiBkaXNtaXNz
QWxsSW5wdXRWaWV3Q29udHJvbGxlcnNdOworICAgIFtzZWxmIHVwZGF0ZUN1cnJlbnRBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbjpbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3Pihz
ZWxmKV0gKGJvb2wgZGlkVXBkYXRlKSB7CisgICAgICAgIGlmIChkaWRVcGRhdGUpCisgICAgICAg
ICAgICBbd2Vha1NlbGYuZ2V0KCktPl9mb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBy
ZWxvYWREYXRhOllFU107CisgICAgfV07CiB9CiAKIC0gKHZvaWQpdGV4dElucHV0Q29udHJvbGxl
ckRpZFJlcXVlc3REaXNtaXNzYWw6KFdLVGV4dEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgKilj
b250cm9sbGVyCkBAIC00Mjg1LDcgKzQzMDcsMTAgQEAgLSAodm9pZClmb2N1c2VkRm9ybUNvbnRy
b2xDb250cm9sbGVyRGlkQ2FuY2VsOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGUK
IAogLSAodm9pZClmb2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyRGlkQmVnaW5FZGl0aW5nOihX
S0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgogewotICAgIFtz
ZWxmIHByZXNlbnRWaWV3Q29udHJvbGxlckZvckFzc2lzdGVkTm9kZTpfYXNzaXN0ZWROb2RlSW5m
b3JtYXRpb25dOworICAgIFtzZWxmIHVwZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bjpbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PihzZWxmKV0gKGJvb2wgZGlk
VXBkYXRlKSB7CisgICAgICAgIGlmIChkaWRVcGRhdGUpCisgICAgICAgICAgICBbd2Vha1NlbGYg
cHJlc2VudFZpZXdDb250cm9sbGVyRm9yQ3VycmVudEFzc2lzdGVkTm9kZV07CisgICAgfV07CiB9
CiAKIC0gKENHUmVjdCloaWdobGlnaHRlZFJlY3RGb3JGb2N1c2VkRm9ybUNvbnRyb2xDb250cm9s
bGVyOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBpbkNv
b3JkaW5hdGVTcGFjZTooaWQgPFVJQ29vcmRpbmF0ZVNwYWNlPiljb29yZGluYXRlU3BhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDk2
YThiZmVjNTA3YjJhYzkxYmUwODA2OWE1NDZhZTgwMGY2NTBhN2QuLmNhNmQ4ZDIxYzY5ZmEwMGFi
ZjhlNThjMjc5ZGJlOGUwYzg5MmUyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTkyLDYgKzE5MiwyOCBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6c2VsZWN0aW9uUmVjdHNDYWxsYmFjayhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0
aW9uUmVjdD4mCiAgICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShz
ZWxlY3Rpb25SZWN0cyk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojphc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbkNhbGxiYWNrKGNvbnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvLCBDYWxs
YmFja0lEIGNhbGxiYWNrSUQpCit7CisgICAgYXV0byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRh
a2U8QXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjaz4oY2FsbGJhY2tJRCk7CisgICAgaWYg
KCFjYWxsYmFjaykgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFs
dWUoaW5mbyk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0QXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24oRnVuY3Rpb248dm9pZChjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYsIENh
bGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIGlmICghaXNWYWxpZCgpKSB7
CisgICAgICAgIGNhbGxiYWNrKHsgfSwgQ2FsbGJhY2tCYXNlOjpFcnJvcjo6T3duZXJXYXNJbnZh
bGlkYXRlZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNhbGxiYWNrSUQg
PSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFjayksIG1fcHJvY2Vzcy0+dGhyb3R0bGVy
KCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKSk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpSZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oY2FsbGJhY2tJRCks
IG1fcGFnZUlEKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVZpc2libGVDb250ZW50
UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgdmlzaWJsZUNvbnRlbnRS
ZWN0VXBkYXRlKQogewogICAgIGlmICghaXNWYWxpZCgpKQpAQCAtMzk3LDEwICs0MTksOSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKGNvbnN0IFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24mCiAgICAgICAgIGRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKFdl
YkNvcmU6OlJlYWNoZWRTZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCk7
CiAgICAgfQogCi0gICAgaWYgKG1faGFzRGVmZXJyZWRTdGFydEFzc2lzdGluZ05vZGUpIHsKKyAg
ICBpZiAobV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzKSB7CiAgICAgICAgIG1fcGFn
ZUNsaWVudC5zdGFydEFzc2lzdGluZ05vZGUobV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1l
bnRzLT5tX25vZGVJbmZvcm1hdGlvbiwgbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRz
LT5tX3VzZXJJc0ludGVyYWN0aW5nLCBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMt
Pm1fYmx1clByZXZpb3VzTm9kZSwKICAgICAgICAgICAgIG1fZGVmZXJyZWROb2RlQXNzaXN0YW5j
ZUFyZ3VtZW50cy0+bV9jaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIG1fZGVmZXJyZWROb2RlQXNzaXN0
YW5jZUFyZ3VtZW50cy0+bV91c2VyRGF0YS5nZXQoKSk7Ci0gICAgICAgIG1faGFzRGVmZXJyZWRT
dGFydEFzc2lzdGluZ05vZGUgPSBmYWxzZTsKICAgICAgICAgbV9kZWZlcnJlZE5vZGVBc3Npc3Rh
bmNlQXJndW1lbnRzID0gbnVsbHB0cjsKICAgICB9CiB9CkBAIC05MTUsNyArOTM2LDYgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnN0YXJ0QXNzaXN0aW5nTm9kZShjb25zdCBBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbiYgaW5mb3JtYXRpb24KICAgICBBUEk6Ok9iamVjdCogdXNlckRhdGFPYmplY3QgPSBw
cm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0
KCk7CiAgICAgaWYgKG1fZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEpIHsKICAg
ICAgICAgbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzID0gc3RkOjptYWtlX3VuaXF1
ZTxOb2RlQXNzaXN0YW5jZUFyZ3VtZW50cz4oTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgeyBpbmZv
cm1hdGlvbiwgdXNlcklzSW50ZXJhY3RpbmcsIGJsdXJQcmV2aW91c05vZGUsIGNoYW5naW5nQWN0
aXZpdHlTdGF0ZSwgdXNlckRhdGFPYmplY3QgfSk7Ci0gICAgICAgIG1faGFzRGVmZXJyZWRTdGFy
dEFzc2lzdGluZ05vZGUgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC05MjQs
MTAgKzk0NCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdGFydEFzc2lzdGluZ05vZGUoY29uc3Qg
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uCiAKIHZvaWQgV2ViUGFnZVByb3h5
OjpzdG9wQXNzaXN0aW5nTm9kZSgpCiB7Ci0gICAgaWYgKG1faGFzRGVmZXJyZWRTdGFydEFzc2lz
dGluZ05vZGUpIHsKLSAgICAgICAgbV9oYXNEZWZlcnJlZFN0YXJ0QXNzaXN0aW5nTm9kZSA9IGZh
bHNlOwotICAgICAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgPSBudWxscHRy
OwotICAgIH0KKyAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgPSBudWxscHRy
OwogICAgIG1fcGFnZUNsaWVudC5zdG9wQXNzaXN0aW5nTm9kZSgpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDkyZTQ4NmZlYzQ2NGRj
YWVhN2EzM2JhN2JkNGI5Njc4MDEzOWJiZjQuLmI5MWUxMGJkYTdmNWRiYjM4YzZjM2M1NjdhMmEx
YTIxYzRlMTE5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC00ODkzLDYgKzQ4OTMsNyBAQCB2b2lkIFdlYlBhZ2U6OmVsZW1lbnREaWRGb2N1
cyhXZWJDb3JlOjpOb2RlKiBub2RlKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobm9kZS0+
aGFzVGFnTmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OnNlbGVjdFRhZykgfHwgbm9kZS0+aGFzVGFn
TmFtZShXZWJDb3JlOjpIVE1MTmFtZXM6OmlucHV0VGFnKSB8fCBub2RlLT5oYXNUYWdOYW1lKFdl
YkNvcmU6OkhUTUxOYW1lczo6dGV4dGFyZWFUYWcpIHx8IG5vZGUtPmhhc0VkaXRhYmxlU3R5bGUo
KSkgeworICAgICAgICArK21fY3VycmVudEFzc2lzdGVkTm9kZUlkZW50aWZpZXI7CiAgICAgICAg
IG1fYXNzaXN0ZWROb2RlID0gbm9kZTsKICAgICAgICAgbV9pc0Fzc2lzdGluZ05vZGVEdWVUb1Vz
ZXJJbnRlcmFjdGlvbiB8PSBtX3VzZXJJc0ludGVyYWN0aW5nOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggOGZkY2VmMGRhMDc3Zjk2NDNkMjU5ZWJi
Y2MxMjc1Mzg1NmMxY2M3My4uODM4MGI4NzVmMGQzMjdkNWU4MjVjNjg3OTQ0NmU5YzQwYzMyMmY1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNTY4
LDYgKzU2OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc3BlY3Rvck5vZGVTZWFyY2hFbmRlZEF0
UG9zaXRpb24oY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwogCiAgICAgdm9pZCBibHVyQXNz
aXN0ZWROb2RlKCk7CisgICAgdm9pZCByZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQ2Fs
bGJhY2tJRCk7CiAgICAgdm9pZCBzZWxlY3RXaXRoR2VzdHVyZShjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYsIHVpbnQzMl90IGdyYW51bGFyaXR5LCB1aW50MzJfdCBnZXN0dXJlVHlwZSwgdWludDMy
X3QgZ2VzdHVyZVN0YXRlLCBib29sIGlzSW50ZXJhY3RpbmdXaXRoQXNzaXN0ZWROb2RlLCBDYWxs
YmFja0lEKTsKICAgICB2b2lkIHVwZGF0ZVNlbGVjdGlvbldpdGhUb3VjaGVzKGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiwgdWludDMyX3QgdG91Y2hlcywgYm9vbCBiYXNlSXNTdGFydCwgQ2FsbGJh
Y2tJRCk7CiAjaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEyMDAwMApAQCAt
MTYyNSw2ICsxNjI2LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbV9w
ZW5kaW5nU3ludGhldGljQ2xpY2tOb2RlOwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9wZW5k
aW5nU3ludGhldGljQ2xpY2tMb2NhdGlvbjsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9wcmV2
aW91c0V4cG9zZWRDb250ZW50UmVjdDsKKyAgICB1bnNpZ25lZCBtX2N1cnJlbnRBc3Npc3RlZE5v
ZGVJZGVudGlmaWVyIHsgMCB9OwogI2VuZGlmCiAKICAgICBXZWJDb3JlOjpUaW1lciBtX2xheWVy
Vm9sYXRpbGl0eVRpbWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMWYxMzUxMjE0MmQyOWQyMzUwYTNlY2E5NTM2
ZmQ4ZDhhYWNkNWUxNy4uMzE3MWI0MGQ5NDg1NjI4ZTQxN2EwNTEwNjJjY2IwYmU4NmJmNzFhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCkBAIC0xMDQsNiArMTA0LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lS
ZWNlaXZlciB7CiAgICAgU3RvcmVTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KGJvb2wgc2hvdWxk
U3RvcmUpCiAgICAgU3RhcnRBdXRvc2Nyb2xsQXRQb3NpdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50
IHBvc2l0aW9uSW5XaW5kb3cpCiAgICAgQ2FuY2VsQXV0b3Njcm9sbCgpCisgICAgUmVxdWVzdEFz
c2lzdGVkTm9kZUluZm9ybWF0aW9uKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogI2Vu
ZGlmCiAKICAgICBTZXRDb250cm9sbGVkQnlBdXRvbWF0aW9uKGJvb2wgY29udHJvbGxlZCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0K
aW5kZXggN2ZmYjNmODFhZGMzZDZiN2Q3YTZjNTM5YWFkZWJlZDBjZTZkZDNmNC4uNTY5YjgxNTY0
YzA2MGE2YzkxMzA3Y2E0NzlmNjVkNzViN2FlOTY1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTY0OSw2ICs2NDksMTUg
QEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVUYXAoY29uc3QgSW50UG9pbnQmIHBvaW50LCB1aW50NjRf
dCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb24KICAgICAgICAgaGFuZGxlU3ludGhldGljQ2xpY2so
bm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBhZGp1c3RlZFBvaW50KTsKIH0KIAordm9pZCBXZWJQYWdl
OjpyZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCit7CisgICAgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gaW5mbzsKKyAgICBpZiAobV9h
c3Npc3RlZE5vZGUpCisgICAgICAgIGdldEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKGluZm8pOwor
CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bkNhbGxiYWNrKGluZm8sIGNhbGxiYWNrSUQpKTsKK30KKwogI2lmIEVOQUJMRShEQVRBX0lOVEVS
QUNUSU9OKQogdm9pZCBXZWJQYWdlOjpyZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24oY29uc3Qg
SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24p
CiB7CkBAIC0yNzMxLDYgKzI3NDAsNyBAQCB2b2lkIFdlYlBhZ2U6OmdldEFzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uKEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvcm1hdGlvbikKICAgICBpbmZv
cm1hdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0lnbm9yaW5nQWx3YXlzU2NhbGFibGUgPSBtX3ZpZXdw
b3J0Q29uZmlndXJhdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0lnbm9yaW5nQWx3YXlzU2NhbGFibGUo
KTsKICAgICBpbmZvcm1hdGlvbi5oYXNOZXh0Tm9kZSA9IGhhc0Fzc2lzdGFibGVFbGVtZW50KG1f
YXNzaXN0ZWROb2RlLmdldCgpLCAqbV9wYWdlLCB0cnVlKTsKICAgICBpbmZvcm1hdGlvbi5oYXNQ
cmV2aW91c05vZGUgPSBoYXNBc3Npc3RhYmxlRWxlbWVudChtX2Fzc2lzdGVkTm9kZS5nZXQoKSwg
Km1fcGFnZSwgZmFsc2UpOworICAgIGluZm9ybWF0aW9uLmFzc2lzdGVkTm9kZUlkZW50aWZpZXIg
PSBtX2N1cnJlbnRBc3Npc3RlZE5vZGVJZGVudGlmaWVyOwogCiAgICAgaWYgKGlzPEhUTUxTZWxl
Y3RFbGVtZW50PigqbV9hc3Npc3RlZE5vZGUpKSB7CiAgICAgICAgIEhUTUxTZWxlY3RFbGVtZW50
JiBlbGVtZW50ID0gZG93bmNhc3Q8SFRNTFNlbGVjdEVsZW1lbnQ+KCptX2Fzc2lzdGVkTm9kZSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334111</attachid>
            <date>2018-02-17 15:45:55 -0800</date>
            <delta_ts>2018-02-17 17:35:38 -0800</delta_ts>
            <desc>Fix non-iOS builds</desc>
            <filename>bug-182877-20180217154554.patch</filename>
            <type>text/plain</type>
            <size>22314</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmNWZmOTA1YjhkNjQ1Nzg4
Yzk2ZjA1YTViZTY2NDJhMmM2NTliNjIuLmZkMjNmMmE0MDFiNGRjYmI1MDRhZDdjYzM5YzcwNzIy
ZTJkNzAzZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTExIEBACisyMDE4LTAyLTE3ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29tIG1v
ZGVdIEZvcm0gY29udHJvbCB2YWx1ZXMgYXJlIHN0YWxlIGFmdGVyIGRpc21pc3NpbmcgYW5kIHJl
cHJlc2VudGluZyBpbnB1dCB2aWV3IGNvbnRyb2xsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4NzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM3NjA0Mzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEN1cnJlbnRseSwgd2hlbiBwcmVzZW50aW5nIGFuIGlucHV0IHZpZXcgY29udHJvbGxlciBm
b3IgYSBmb2N1c2VkIGVsZW1lbnQsIHdlIHVzZSBwb3B1bGF0ZSB0aGUgaW5pdGlhbCBmb3JtCisg
ICAgICAgIGNvbnRyb2wgdmFsdWUgdXNpbmcgdGhlIFdLQ29udGVudFZpZXcncyBhc3Npc3RlZCBu
b2RlIGluZm9ybWF0aW9uIHdoZW4gaXQgd2FzIGxhc3QgZm9jdXNlZC4gSG93ZXZlciwgaWYgdGhl
IHVzZXIKKyAgICAgICAgZWRpdHMgdGhlIHZhbHVlIG9mIGEgZm9ybSBjb250cm9sLCBkaXNtaXNz
ZXMgdG8gdGhlIGZvcm0gY29udHJvbCB2aWV3IGNvbnRyb2xsZXIgKHdoaWxlIHRoZSBlbGVtZW50
IGlzIHN0aWxsCisgICAgICAgIGZvY3VzZWQpIGFuZCB0aGVuIGJlZ2lucyBlZGl0aW5nIHRoZSBm
aWVsZCBhZ2FpbiwgdGhlIGluaXRpYWwgdGV4dCB3aWxsIGJlIHRoZSBwcmV2aW91cyB2YWx1ZSBv
ZiB0aGUgaW5wdXQsCisgICAgICAgIHNpbmNlIHRoZSBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBp
c24ndCB1cCB0byBkYXRlLgorCisgICAgICAgIFRvIGZpeCB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSBt
ZWNoYW5pc20gdG8gdXBkYXRlIFdLQ29udGVudFZpZXcncyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
biBmb3IgdGhlIGN1cnJlbnQgYXNzaXN0ZWQKKyAgICAgICAgbm9kZS4gVGhpcyBvdmVyd3JpdGVz
IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB3aXRoIG5ldyBpbmZvcm1hdGlvbiBjb21wdXRlZCBm
cm9tIHRoZSB3ZWIgcHJvY2VzcywgYXMgbG9uZyBhcworICAgICAgICB0aGUgYXNzaXN0ZWQgbm9k
ZSBoYXMgbm90IGNoYW5nZWQgYmVmb3JlIGFuZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBtYWRlIGlu
IHRoZSBVSSBwcm9jZXNzLiBXZSBhY2NvbXBsaXNoIHRoaXMgYnkKKyAgICAgICAgYWRkaW5nIGFu
IGlkZW50aWZpZXIgdG8gQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24sIHdoaWNoIGlzIG1vbm90b25p
Y2FsbHkgaW5jcmVtZW50ZWQgd2hlbiBhbiBlbGVtZW50IGlzIGZvY3VzZWQKKyAgICAgICAgaW4g
dGhlIHdlYiBwcm9jZXNzLiBUaGUgVUkgcHJvY2VzcyBtYXkgdGhlbiB1c2UgdGhpcyBpZGVudGlm
aWVyIHRvIGRldGVybWluZSB3aGV0aGVyIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9ucworICAgICAg
ICBhcmUgZGVzY3JpYmluZyB0aGUgc2FtZSBmb2N1c2VkIGVsZW1lbnQuCisKKyAgICAgICAgT25l
IGludGVyZXN0aW5nIGNvbnNpZGVyYXRpb24gaGVyZSBpcyB0aGF0IGEgbm9ybWFsIEFzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uIHVwZGF0ZSAocHJvcGFnYXRlZCB3aGVuIGZvY3VzaW5nIGFuCisgICAg
ICAgIGVsZW1lbnQpIG1heSBiZSBkZWZlcnJlZCBpbiB0aGUgVUkgcHJvY2VzcyB1bnRpbCB0aGUg
bmV4dCBsYXllciB0cmVlIGNvbW1pdC4gSW4gdGhlIGFic2VuY2Ugb2YgdGhlIGFzc2lzdGVkIG5v
ZGUKKyAgICAgICAgaWRlbnRpZmllciBjaGVjaywgb25lIGNvdWxkIGltYWdpbmUgYSBzY2VuYXJp
byBpbiB3aGljaCB0aGUgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbiBpbiB0aGUgVUkgcHJvY2Vz
cworICAgICAgICAidXBkYXRlcyIgZnJvbSBhIG5ldyB2YWx1ZSB0byBhbiBvbGQgdmFsdWU6CisK
KyAgICAgICAgMS4gVGhlIHdlYiBwcm9jZXNzIGZvY3VzZXMgYW4gZWxlbWVudCBhbmQgc2VuZHMg
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gYEFgLgorICAgICAgICAyLiBXS0NvbnRlbnRWaWV3IGNh
bGxzIC11cGRhdGVDdXJyZW50QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uCisgICAgICAgIDMuIFRo
ZSB3ZWIgcHJvY2VzcyBzZW5kcyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBgQmAuCisgICAgICAg
IDQuIGBBYCBpcyByZWNlaXZlZCBpbiB0aGUgVUkgcHJvY2VzcywgYnV0IGRlZmVycmVkLgorICAg
ICAgICA1LiBUaGUgVUkgcHJvY2VzcyByZWNlaXZlcyBgQmAgYW5kIHNldHMgX2Fzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uIHRvIGBCYC4KKyAgICAgICAgNi4gVGhlIFVJIHByb2Nlc3MgdGhlbiBjYWxs
cyAtX3N0YXJ0QXNzaXN0aW5nTm9kZTogYW5kIHNldHMgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
IHRvIGBBYC4KKworICAgICAgICBXaGljaCB3b3VsZCBtZWFuIHRoYXQgdGhlIF9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbiBpcyBzZXQgdG8gYW4gZWFybGllciB2YWx1ZSwgYEFgLCBhZnRlciBiZWlu
ZyBzZXQgdG8gYSBsYXRlcgorICAgICAgICB2YWx1ZSwgYEJgLiBIb3dldmVyLCBiZWNhdXNlIHRo
ZSBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBpZGVudGlmaWVyIGluIHN0ZXAgKDIpIHJlZmVycyB0
byB0aGUgYXNzaXN0ZWQgbm9kZQorICAgICAgICBwcmlvciB0byBzdGVwICgxKSwgdGhlIGFzc2lz
dGVkIG5vZGUgaWRlbnRpZmllciBpbiAoNSkgd291bGQgbm90IG1hdGNoIHRoaXMgaWRlbnRpZmll
ciwgYW5kIHdlIHdvdWxkIHNpbXBseSBiYWlsCisgICAgICAgIGluc3RlYWQgb2Ygb3ZlcndyaXRp
bmcgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbi4KKworICAgICAgICAqIFNoYXJlZC9Bc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9y
bWF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uaDoKKworICAgICAgICBBZGQgYSBuZXcgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIGlkZW50
aWZpZXIgKHBlciBXZWJQYWdlKSB3aGljaCBhc3NvY2lhdGVzIGEgQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24gd2l0aCBhCisgICAgICAgIGZvY3VzZWQgZWxlbWVudC4gSW4gdGhlIGV2ZW50IHRoYXQg
dGhlIHdlYiBwcm9jZXNzIGNyYXNoZXMgYW5kIHJlbGF1bmNoZXMgKHRodXMgcmVzZXR0aW5nIHRo
aXMgaWRlbnRpZmllciksCisgICAgICAgIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHN0YXRlIGlu
IHRoZSBVSSBwcm9jZXNzIGlzIG5vdyBhbHNvIHJlc2V0IChzZWUgLWNsZWFudXBJbnRlcmFjdGlv
biksIHNvIHdlIHdvbid0IGVuZCB1cAorICAgICAgICBjb25mdXNpbmcgQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb25zIGNvbXB1dGVkIGJ5IGRpZmZlcmVudCBXZWJQYWdlcyBiZXR3ZWVuIGEgd2ViIHBy
b2Nlc3MgY3Jhc2guCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKKyAg
ICAgICAgQSBiaXQgb2YgcmVsYXRlZCByZWZhY3RvcmluZyBoZXJlIHRvIHJlbW92ZSBhbiB1bm5l
Y2Vzc2FyeSBib29sIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB3ZSBoYXZlIGEgZGVmZXJy
ZWQKKyAgICAgICAgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbi4gSW5zdGVhZCwganVzdCB1c2Ug
dGhlIHByZXNlbmNlIG9mIG1fZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFyZ3VtZW50cy4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisKKyAgICAgICAgQWRk
IGEgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayBJUEMgbWVzc2FnZS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGNsZWFudXBJbnRlcmFjdGlvbl0pOgorCisgICAgICAgIENsZWFyIG91
dCB0aGUgcHJldmlvdXMgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uIFNlZSBhYm92ZSBmb3IgZGV0
YWlscy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9zdGFydEFzc2lzdGluZ05vZGU6dXNl
cklzSW50ZXJhY3Rpbmc6Ymx1clByZXZpb3VzTm9kZTpjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6dXNl
ck9iamVjdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB1cGRhdGVDdXJyZW50QXNzaXN0
ZWROb2RlSW5mb3JtYXRpb246XSk6CisKKyAgICAgICAgVHJpZXMgdG8gdXBkYXRlIEFzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBhc3Npc3RlZCBub2RlLCBpbnZva2luZyB0
aGUgY29tcGxldGlvbiBjYWxsYmFjayB3aGVuCisgICAgICAgIGZpbmlzaGVkLiBUaGlzIG1heSBy
ZXN1bHQgaW4gdGhlIGFzc2lzdGVkIG5vZGUgaW5mb3JtYXRpb24gbm90IGJlaW5nIHVwZGF0ZWQg
ZHVlIHRvIHRoZSBjdXJyZW50IGFzc2lzdGVkIG5vZGUKKyAgICAgICAgY2hhbmdpbmcgaW4gdGhl
IHRpbWUgYmV0d2VlbiB0aGUgc3RhcnQgb2YgdGhlIHJlcXVlc3QgYW5kIHRoZSBpbmZvcm1hdGlv
biBiZWluZyByZWNlaXZlZCBpbiB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IHByZXNlbnRWaWV3Q29udHJvbGxlckZvckN1cnJlbnRBc3Npc3RlZE5vZGVdKToKKwor
ICAgICAgICBSZWZhY3RvcmVkIGZyb20gLXByZXNlbnRWaWV3Q29udHJvbGxlckZvckFzc2lzdGVk
Tm9kZTosIHN1Y2ggdGhhdCBpdCBubyBsb25nZXIgdGFrZXMgYW4gQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24KKyAgICAgICAgYXMgYW4gYXJndW1lbnQsIGJ1dCByYXRoZXIganVzdCB1c2VzIFdLQ29u
dGVudFZpZXcncyBjdXJyZW50IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi4gVGhpcyB3YXMganVz
dCBiZWluZworICAgICAgICBjYWxsZWQgd2l0aCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gZnJv
bSBhbGwgY2FsbCBzaXRlcyBhbnl3YXlzLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4
dElucHV0Q29udHJvbGxlcjpkaWRDb21taXRUZXh0Ol0pOgorCisgICAgICAgIFJlcXVlc3QgYW4g
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gdXBkYXRlIGFmdGVyIHNldHRpbmcgdGhlIHZhbHVlIG9m
IGEgZm9ybSBjb250cm9sOyBpZiB0aGUgYXNzaXN0ZWQgbm9kZSBoYXNuJ3QKKyAgICAgICAgY2hh
bmdlZCwgdXBkYXRlIHRoZSBmb2N1c2VkIGZvcm0gY29udHJvbCBvdmVybGF5LiBUaGlzIGlzIG5l
ZWRlZCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIGZvY3VzZWQgZWxlbWVudCdzCisgICAgICAg
IGZyYW1lIG1heSBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5zZXJ0aW5nIHRleHQgKGUuZy4gZHVlIHRv
IGxpbmUgd3JhcHBpbmcpLCBhbmQgdGhlIGZvY3VzZWQgZm9ybSBjb250cm9sIG92ZXJsYXkKKyAg
ICAgICAgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoaXMgY2hhbmdlLgorCisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgZm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlckRpZEJlZ2lu
RWRpdGluZzpdKToKKworICAgICAgICBSZXF1ZXN0IGFuIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9u
IHVwZGF0ZSBiZWZvcmUgcmVlbnRlcmluZyBlZGl0IG1vZGU7IGlmIHRoZSBhc3Npc3RlZCBub2Rl
IGhhc24ndCBjaGFuZ2VkIHNpbmNlCisgICAgICAgIHRoZSBzdGFydCBvZiB0aGUgcmVxdWVzdCwg
cHJlc2VudCB0aGUgYXBwcm9wcmlhdGUgaW5wdXQgdmlldyBjb250cm9sbGVyLgorCisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQXNzaXN0ZWROb2RlOl0p
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFzc2lzdGVkTm9kZUluZm9ybWF0aW9uQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlcXVlc3RBc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0
TGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzdGFydEFzc2lzdGlu
Z05vZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN0b3BBc3Npc3RpbmdOb2Rl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyk6CisKKyAgICAgICAgSW5jcmVtZW50IHRo
ZSBhc3Npc3RlZCBub2RlIGlkZW50aWZpZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9u
KToKKworICAgICAgICBDb21wdXRlIGFuZCByZXR1cm4gYW4gQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24pOgorCiAyMDE4LTAyLTE2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIEFkZCBiYXNpYyBzdXBwb3J0IGZvciA8aW5w
dXQgdHlwZT0nZGF0ZSc+IHVzaW5nIGRhdGUgcGlja2VyIFVJCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKaW5kZXggNDIzNmUwOTA4YmQzM2Y3
ODk1N2NiY2E4ZjdjYTBhMjM5YTU3ZmFkMS4uZGM5ODRjODI1NjY3M2U5MDhjN2JhYzNhYWU3NDQw
YjhlOGVkMzdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmNwcApAQCAtODksNiArODksNyBAQCB2b2lkIEFzc2lzdGVkTm9kZUluZm9ybWF0
aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwg
YWNjZXB0c0F1dG9maWxsZWRMb2dpbkNyZWRlbnRpYWxzOwogICAgIGVuY29kZXIgPDwgcmVwcmVz
ZW50aW5nUGFnZVVSTDsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oYXV0b2ZpbGxGaWVsZE5hbWUp
OworICAgIGVuY29kZXIgPDwgYXNzaXN0ZWROb2RlSWRlbnRpZmllcjsKIH0KIAogYm9vbCBBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24mIHJlc3VsdCkKQEAgLTE3MSw2ICsxNzIsOSBAQCBib29sIEFzc2lz
dGVkTm9kZUluZm9ybWF0aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBBc3Npc3Rl
ZE5vZGVJbmZvcm1hdAogICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5hdXRvZmls
bEZpZWxkTmFtZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0LmFzc2lzdGVkTm9kZUlkZW50aWZpZXIpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKaW5kZXggMDhhOWY3MjRlNDJkNTljNjg5ODZi
NTVjNThhYWQ1ZGE4ZTkyMWZiMy4uYzJlMDY4YmM4NjJlOWRhMGIwYjJlYmNmZjEzYjE0YWNiZjlh
ZmE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5oCkBAIC0xMTQsNiArMTE0LDggQEAgc3RydWN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHsK
ICAgICBXZWJDb3JlOjpVUkwgcmVwcmVzZW50aW5nUGFnZVVSTDsKICAgICBXZWJDb3JlOjpBdXRv
ZmlsbEZpZWxkTmFtZSBhdXRvZmlsbEZpZWxkTmFtZSB7IFdlYkNvcmU6OkF1dG9maWxsRmllbGRO
YW1lOjpOb25lIH07CiAKKyAgICB1bnNpZ25lZCBhc3Npc3RlZE5vZGVJZGVudGlmaWVyIHsgMCB9
OworCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIGJv
b2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBkYWIyNDAwOGY5MjU3YWJh
NjUzNzRjOGM1MTJmNTRlOGM1ZDZhYTQxLi45MjI3MDFhMGUzMzY3Y2IzMzE2ZjE1YTMyN2UzZGNj
NDFjYmM4YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMjg1
LDYgKzI4NSw3IEBAIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFN0cmluZyYsIGRvdWJs
ZSwgYm9vbD4gRm9udEF0U2VsZWN0aW9uQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFj
azxjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIHVpbnQzMl90LCB1aW50MzJfdCwgdWludDMyX3Q+
IEdlc3R1cmVDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgdWludDMyX3QsIHVpbnQzMl90PiBUb3VjaGVzQ2FsbGJhY2s7CiB0eXBlZGVm
IEdlbmVyaWNDYWxsYmFjazxjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4mPiBT
ZWxlY3Rpb25SZWN0c0NhbGxiYWNrOwordHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24mPiBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrOwog
c3RydWN0IE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzIHsKICAgICBBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbiBtX25vZGVJbmZvcm1hdGlvbjsKICAgICBib29sIG1fdXNlcklzSW50ZXJhY3Rpbmc7CkBA
IC0xMDkwLDYgKzEwOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTaG91bGRSZWNvcmROYXZp
Z2F0aW9uU25hcHNob3RzKGJvb2wgc2hvdWxkUmVjb3JkU25hcHNob3RzKSB7IG1fc2hvdWxkUmVj
b3JkTmF2aWdhdGlvblNuYXBzaG90cyA9IHNob3VsZFJlY29yZFNuYXBzaG90czsgfQogICAgIHZv
aWQgcmVjb3JkQXV0b21hdGljTmF2aWdhdGlvblNuYXBzaG90KCk7CiAgICAgdm9pZCByZWNvcmRO
YXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOworICAgIHZvaWQgcmVx
dWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEZ1bmN0aW9uPHZvaWQoY29uc3QgQXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24mLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBSZWZQdHI8Vmlld1NuYXBzaG90PiB0YWtlVmlld1NuYXBzaG90KCk7CkBA
IC0xNjI1LDYgKzE2MjcsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbmFibGVJbnNwZWN0b3JO
b2RlU2VhcmNoKCk7CiAgICAgdm9pZCBkaXNhYmxlSW5zcGVjdG9yTm9kZVNlYXJjaCgpOworICAg
IHZvaWQgYXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayhjb25zdCBBc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbiYsIENhbGxiYWNrSUQpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lm
IEVOQUJMRShEQVRBX0RFVEVDVElPTikKQEAgLTIwODEsNyArMjA4NCw2IEBAIHByaXZhdGU6CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBib29sIG1faGFzRGVmZXJyZWRTdGFydEFz
c2lzdGluZ05vZGUgeyBmYWxzZSB9OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxOb2RlQXNzaXN0YW5j
ZUFyZ3VtZW50cz4gbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzOwogICAgIGJvb2wg
bV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6RmxvYXRT
aXplIG1fdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTJkNDg0
ZGY5NWJiYWM5NjJlZTVlNGY5Y2JmNjUzZDVjNDI2NzBiZS4uMWJmMGYwNWQ0YTdmOWQxMTQwYzY0
YjRmNzJjYTkwODAxZTMwZWNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDAwLDYgKzQwMCw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgT3ZlcmZsb3dTY3JvbGxEaWRFbmRTY3JvbGwoKQogICAgIFNob3dJ
bnNwZWN0b3JIaWdobGlnaHQoc3RydWN0IFdlYkNvcmU6OkhpZ2hsaWdodCBoaWdobGlnaHQpCiAg
ICAgSGlkZUluc3BlY3RvckhpZ2hsaWdodCgpCisgICAgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25D
YWxsYmFjayhzdHJ1Y3QgV2ViS2l0OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBpbmZvcm1hdGlv
biwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKICAgICBTaG93SW5zcGVjdG9ySW5k
aWNhdGlvbigpCiAgICAgSGlkZUluc3BlY3RvckluZGljYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5k
ZXggMjkzODFjYTk1ZDdjYmNhZTg5NTkxOWJjZGM1MWM5NDMwY2I0ZmRmMC4uNDE3MWVmYjc4OWNh
ZTIyNTVkYjQxODk0M2VhMTUzYjQyODdhNjk1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC03MTcsNiAr
NzE3LDcgQEAgLSAodm9pZCljbGVhbnVwSW50ZXJhY3Rpb24KICAgICB9CiAgICAgCiAgICAgX2lu
cHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVsbHB0cjsKKyAgICBfYXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24gPSB7IH07CiB9CiAKIC0gKHZvaWQpX3JlbW92ZURlZmF1bHRHZXN0dXJlUmVjb2duaXpl
cnMKQEAgLTQwMzIsNyArNDAzMyw3IEBAIC0gKHZvaWQpX3N0YXJ0QXNzaXN0aW5nTm9kZTooY29u
c3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mKWluZm9ybWF0aW9uIHVzZXJJc0luCiAjaWYgRU5B
QkxFKEVYVFJBX1pPT01fTU9ERSkKICAgICBbc2VsZiBwcmVzZW50Rm9jdXNlZEZvcm1Db250cm9s
Vmlld0NvbnRyb2xsZXI6Tk9dOwogICAgIGlmICghX2lzQ2hhbmdpbmdGb2N1cykKLSAgICAgICAg
W3NlbGYgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQXNzaXN0ZWROb2RlOl9hc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbl07CisgICAgICAgIFtzZWxmIHByZXNlbnRWaWV3Q29udHJvbGxlckZvckN1cnJl
bnRBc3Npc3RlZE5vZGVdOwogI2Vsc2UKICAgICBbc2VsZiByZWxvYWRJbnB1dFZpZXdzXTsKICNl
bmRpZgpAQCAtNDEwMSw2ICs0MTAyLDIyIEBAIC0gKHZvaWQpX3N0b3BBc3Npc3RpbmdOb2RlCiAg
ICAgW193ZWJWaWV3IGRpZEVuZEZvcm1Db250cm9sSW50ZXJhY3Rpb25dOwogfQogCistICh2b2lk
KXVwZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjooRnVuY3Rpb248dm9pZChib29s
IGRpZFVwZGF0ZSk+JiYpY2FsbGJhY2sKK3sKKyAgICBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3
PiB3ZWFrU2VsZiB7IHNlbGYgfTsKKyAgICBhdXRvIGlkZW50aWZpZXJCZWZvcmVVcGRhdGUgPSBf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXNzaXN0ZWROb2RlSWRlbnRpZmllcjsKKyAgICBfcGFn
ZS0+cmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKFtjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spLCBpZGVudGlmaWVyQmVmb3JlVXBkYXRlLCB3ZWFrU2VsZl0gKGF1dG8mIGluZm8sIGF1
dG8gZXJyb3IpIHsKKyAgICAgICAgaWYgKCF3ZWFrU2VsZiB8fCBlcnJvciAhPSBDYWxsYmFja0Jh
c2U6OkVycm9yOjpOb25lIHx8IGluZm8uYXNzaXN0ZWROb2RlSWRlbnRpZmllciAhPSBpZGVudGlm
aWVyQmVmb3JlVXBkYXRlKSB7CisgICAgICAgICAgICAvLyBJZiB0aGUgYXNzaXN0ZWQgbm9kZSBt
YXkgaGF2ZSBjaGFuZ2VkIGluIHRoZSBtZWFudGltZSwgZG9uJ3Qgb3ZlcndyaXRlIGFzc2lzdGVk
IG5vZGUgaW5mb3JtYXRpb24uCisgICAgICAgICAgICBjYWxsYmFjayhmYWxzZSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB3ZWFrU2VsZi5nZXQoKS0+X2Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uID0gaW5mbzsKKyAgICAgICAgY2FsbGJhY2sodHJ1ZSk7CisgICAg
fSk7Cit9CisKICNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQogCiAtICh2b2lkKWRpc21pc3NB
bGxJbnB1dFZpZXdDb250cm9sbGVycwpAQCAtNDIwNyw5ICs0MjI0LDExIEBAIC0gKHZvaWQpcHJl
c2VudE51bWJlclBhZFZpZXdDb250cm9sbGVyOihCT09MKWFuaW1hdGVkCiAgICAgW19mb2N1c2Vk
Rm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xsZXI6X251bWJlclBh
ZFZpZXdDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOmFuaW1hdGVkIGNvbXBsZXRpb246bmlsXTsK
IH0KIAotLSAodm9pZClwcmVzZW50Vmlld0NvbnRyb2xsZXJGb3JBc3Npc3RlZE5vZGU6KGNvbnN0
IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJilpbmZvCistICh2b2lkKXByZXNlbnRWaWV3Q29udHJv
bGxlckZvckN1cnJlbnRBc3Npc3RlZE5vZGUKIHsKLSAgICBzd2l0Y2ggKGluZm8uZWxlbWVudFR5
cGUpIHsKKyAgICBbc2VsZiBkaXNtaXNzQWxsSW5wdXRWaWV3Q29udHJvbGxlcnNdOworCisgICAg
c3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKICAgICBjYXNl
IElucHV0VHlwZTo6TnVtYmVyOgogICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQYWQ6CiAgICAg
Y2FzZSBJbnB1dFR5cGU6OlBob25lOgpAQCAtNDI1Myw3ICs0MjcyLDYgQEAgLSAodm9pZClkaXNt
aXNzVGV4dElucHV0Vmlld0NvbnRyb2xsZXI6KEJPT0wpYW5pbWF0ZWQKIAogLSAodm9pZCl0ZXh0
SW5wdXRDb250cm9sbGVyOihXS1RleHRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJv
bGxlciBkaWRDb21taXRUZXh0OihOU1N0cmluZyAqKXRleHQKIHsKLSAgICAvLyBGSVhNRTogVXBk
YXRlIGNhY2hlZCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBzdGF0ZSBpbiB0aGUgVUkgcHJvY2Vz
cy4KICAgICBfcGFnZS0+c2V0VGV4dEFzeW5jKHRleHQpOwogCiAgICAgaWYgKCFbc2VsZiBhY3Rp
b25OYW1lRm9yRm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxlcjpfZm9jdXNlZEZvcm1Db250cm9s
Vmlld0NvbnRyb2xsZXIuZ2V0KCldICYmICFfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaGFzTmV4
dE5vZGUgJiYgIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oYXNQcmV2aW91c05vZGUpIHsKQEAg
LTQyNjUsNiArNDI4MywxMCBAQCAtICh2b2lkKXRleHRJbnB1dENvbnRyb2xsZXI6KFdLVGV4dEZv
cm1Db250cm9sVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGRpZENvbQogCiAgICAgW19mb2N1
c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBzaG93Ok5PXTsKICAgICBbc2VsZiBkaXNtaXNz
QWxsSW5wdXRWaWV3Q29udHJvbGxlcnNdOworICAgIFtzZWxmIHVwZGF0ZUN1cnJlbnRBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbjpbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3Pihz
ZWxmKV0gKGJvb2wgZGlkVXBkYXRlKSB7CisgICAgICAgIGlmIChkaWRVcGRhdGUpCisgICAgICAg
ICAgICBbd2Vha1NlbGYuZ2V0KCktPl9mb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBy
ZWxvYWREYXRhOllFU107CisgICAgfV07CiB9CiAKIC0gKHZvaWQpdGV4dElucHV0Q29udHJvbGxl
ckRpZFJlcXVlc3REaXNtaXNzYWw6KFdLVGV4dEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgKilj
b250cm9sbGVyCkBAIC00Mjg1LDcgKzQzMDcsMTAgQEAgLSAodm9pZClmb2N1c2VkRm9ybUNvbnRy
b2xDb250cm9sbGVyRGlkQ2FuY2VsOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGUK
IAogLSAodm9pZClmb2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyRGlkQmVnaW5FZGl0aW5nOihX
S0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgogewotICAgIFtz
ZWxmIHByZXNlbnRWaWV3Q29udHJvbGxlckZvckFzc2lzdGVkTm9kZTpfYXNzaXN0ZWROb2RlSW5m
b3JtYXRpb25dOworICAgIFtzZWxmIHVwZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bjpbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PihzZWxmKV0gKGJvb2wgZGlk
VXBkYXRlKSB7CisgICAgICAgIGlmIChkaWRVcGRhdGUpCisgICAgICAgICAgICBbd2Vha1NlbGYg
cHJlc2VudFZpZXdDb250cm9sbGVyRm9yQ3VycmVudEFzc2lzdGVkTm9kZV07CisgICAgfV07CiB9
CiAKIC0gKENHUmVjdCloaWdobGlnaHRlZFJlY3RGb3JGb2N1c2VkRm9ybUNvbnRyb2xDb250cm9s
bGVyOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBpbkNv
b3JkaW5hdGVTcGFjZTooaWQgPFVJQ29vcmRpbmF0ZVNwYWNlPiljb29yZGluYXRlU3BhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDk2
YThiZmVjNTA3YjJhYzkxYmUwODA2OWE1NDZhZTgwMGY2NTBhN2QuLmNhNmQ4ZDIxYzY5ZmEwMGFi
ZjhlNThjMjc5ZGJlOGUwYzg5MmUyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTkyLDYgKzE5MiwyOCBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6c2VsZWN0aW9uUmVjdHNDYWxsYmFjayhjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0
aW9uUmVjdD4mCiAgICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShz
ZWxlY3Rpb25SZWN0cyk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojphc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbkNhbGxiYWNrKGNvbnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvLCBDYWxs
YmFja0lEIGNhbGxiYWNrSUQpCit7CisgICAgYXV0byBjYWxsYmFjayA9IG1fY2FsbGJhY2tzLnRh
a2U8QXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjaz4oY2FsbGJhY2tJRCk7CisgICAgaWYg
KCFjYWxsYmFjaykgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFs
dWUoaW5mbyk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0QXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24oRnVuY3Rpb248dm9pZChjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYsIENh
bGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrKQoreworICAgIGlmICghaXNWYWxpZCgpKSB7
CisgICAgICAgIGNhbGxiYWNrKHsgfSwgQ2FsbGJhY2tCYXNlOjpFcnJvcjo6T3duZXJXYXNJbnZh
bGlkYXRlZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGNhbGxiYWNrSUQg
PSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFjayksIG1fcHJvY2Vzcy0+dGhyb3R0bGVy
KCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKSk7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpSZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oY2FsbGJhY2tJRCks
IG1fcGFnZUlEKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVZpc2libGVDb250ZW50
UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgdmlzaWJsZUNvbnRlbnRS
ZWN0VXBkYXRlKQogewogICAgIGlmICghaXNWYWxpZCgpKQpAQCAtMzk3LDEwICs0MTksOSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKGNvbnN0IFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24mCiAgICAgICAgIGRpZFJlYWNoTGF5b3V0TWlsZXN0b25lKFdl
YkNvcmU6OlJlYWNoZWRTZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCk7
CiAgICAgfQogCi0gICAgaWYgKG1faGFzRGVmZXJyZWRTdGFydEFzc2lzdGluZ05vZGUpIHsKKyAg
ICBpZiAobV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzKSB7CiAgICAgICAgIG1fcGFn
ZUNsaWVudC5zdGFydEFzc2lzdGluZ05vZGUobV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1l
bnRzLT5tX25vZGVJbmZvcm1hdGlvbiwgbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRz
LT5tX3VzZXJJc0ludGVyYWN0aW5nLCBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMt
Pm1fYmx1clByZXZpb3VzTm9kZSwKICAgICAgICAgICAgIG1fZGVmZXJyZWROb2RlQXNzaXN0YW5j
ZUFyZ3VtZW50cy0+bV9jaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIG1fZGVmZXJyZWROb2RlQXNzaXN0
YW5jZUFyZ3VtZW50cy0+bV91c2VyRGF0YS5nZXQoKSk7Ci0gICAgICAgIG1faGFzRGVmZXJyZWRT
dGFydEFzc2lzdGluZ05vZGUgPSBmYWxzZTsKICAgICAgICAgbV9kZWZlcnJlZE5vZGVBc3Npc3Rh
bmNlQXJndW1lbnRzID0gbnVsbHB0cjsKICAgICB9CiB9CkBAIC05MTUsNyArOTM2LDYgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnN0YXJ0QXNzaXN0aW5nTm9kZShjb25zdCBBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbiYgaW5mb3JtYXRpb24KICAgICBBUEk6Ok9iamVjdCogdXNlckRhdGFPYmplY3QgPSBw
cm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0
KCk7CiAgICAgaWYgKG1fZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91dERhdGEpIHsKICAg
ICAgICAgbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzID0gc3RkOjptYWtlX3VuaXF1
ZTxOb2RlQXNzaXN0YW5jZUFyZ3VtZW50cz4oTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgeyBpbmZv
cm1hdGlvbiwgdXNlcklzSW50ZXJhY3RpbmcsIGJsdXJQcmV2aW91c05vZGUsIGNoYW5naW5nQWN0
aXZpdHlTdGF0ZSwgdXNlckRhdGFPYmplY3QgfSk7Ci0gICAgICAgIG1faGFzRGVmZXJyZWRTdGFy
dEFzc2lzdGluZ05vZGUgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC05MjQs
MTAgKzk0NCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdGFydEFzc2lzdGluZ05vZGUoY29uc3Qg
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uCiAKIHZvaWQgV2ViUGFnZVByb3h5
OjpzdG9wQXNzaXN0aW5nTm9kZSgpCiB7Ci0gICAgaWYgKG1faGFzRGVmZXJyZWRTdGFydEFzc2lz
dGluZ05vZGUpIHsKLSAgICAgICAgbV9oYXNEZWZlcnJlZFN0YXJ0QXNzaXN0aW5nTm9kZSA9IGZh
bHNlOwotICAgICAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgPSBudWxscHRy
OwotICAgIH0KKyAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgPSBudWxscHRy
OwogICAgIG1fcGFnZUNsaWVudC5zdG9wQXNzaXN0aW5nTm9kZSgpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDkyZTQ4NmZlYzQ2NGRj
YWVhN2EzM2JhN2JkNGI5Njc4MDEzOWJiZjQuLjU4MWUxODZkOTgyOTNiMDBmMGM0Yjk5N2M4OWQ2
YTc3MWQ5NmNiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC00ODk3LDYgKzQ4OTcsNyBAQCB2b2lkIFdlYlBhZ2U6OmVsZW1lbnREaWRGb2N1
cyhXZWJDb3JlOjpOb2RlKiBub2RlKQogICAgICAgICBtX2lzQXNzaXN0aW5nTm9kZUR1ZVRvVXNl
ckludGVyYWN0aW9uIHw9IG1fdXNlcklzSW50ZXJhY3Rpbmc7CiAKICNpZiBQTEFURk9STShJT1Mp
CisgICAgICAgICsrbV9jdXJyZW50QXNzaXN0ZWROb2RlSWRlbnRpZmllcjsKICAgICAgICAgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24gaW5mb3JtYXRpb247CiAgICAgICAgIGdldEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uKGluZm9ybWF0aW9uKTsKICAgICAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1
c2VyRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRl
eCA4ZmRjZWYwZGEwNzdmOTY0M2QyNTllYmJjYzEyNzUzODU2YzFjYzczLi44MzgwYjg3NWYwZDMy
N2Q1ZTgyNWM2ODc5NDQ2ZTljNDBjMzIyZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01NjgsNiArNTY4LDcgQEAgcHVibGljOgogICAgIHZvaWQg
aW5zcGVjdG9yTm9kZVNlYXJjaEVuZGVkQXRQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpGbG9hdFBv
aW50Jik7CiAKICAgICB2b2lkIGJsdXJBc3Npc3RlZE5vZGUoKTsKKyAgICB2b2lkIHJlcXVlc3RB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbihDYWxsYmFja0lEKTsKICAgICB2b2lkIHNlbGVjdFdpdGhH
ZXN0dXJlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgdWludDMyX3QgZ3JhbnVsYXJpdHksIHVp
bnQzMl90IGdlc3R1cmVUeXBlLCB1aW50MzJfdCBnZXN0dXJlU3RhdGUsIGJvb2wgaXNJbnRlcmFj
dGluZ1dpdGhBc3Npc3RlZE5vZGUsIENhbGxiYWNrSUQpOwogICAgIHZvaWQgdXBkYXRlU2VsZWN0
aW9uV2l0aFRvdWNoZXMoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCB1aW50MzJfdCB0b3VjaGVz
LCBib29sIGJhc2VJc1N0YXJ0LCBDYWxsYmFja0lEKTsKICNpZiBfX0lQSE9ORV9PU19WRVJTSU9O
X01BWF9BTExPV0VEIDwgMTIwMDAwCkBAIC0xNjI1LDYgKzE2MjYsNyBAQCBwcml2YXRlOgogICAg
IFJlZlB0cjxXZWJDb3JlOjpOb2RlPiBtX3BlbmRpbmdTeW50aGV0aWNDbGlja05vZGU7CiAgICAg
V2ViQ29yZTo6RmxvYXRQb2ludCBtX3BlbmRpbmdTeW50aGV0aWNDbGlja0xvY2F0aW9uOwogICAg
IFdlYkNvcmU6OkZsb2F0UmVjdCBtX3ByZXZpb3VzRXhwb3NlZENvbnRlbnRSZWN0OworICAgIHVu
c2lnbmVkIG1fY3VycmVudEFzc2lzdGVkTm9kZUlkZW50aWZpZXIgeyAwIH07CiAjZW5kaWYKIAog
ICAgIFdlYkNvcmU6OlRpbWVyIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAx
ZjEzNTEyMTQyZDI5ZDIzNTBhM2VjYTk1MzZmZDhkOGFhY2Q1ZTE3Li4zMTcxYjQwZDk0ODU2Mjhl
NDE3YTA1MTA2MmNjYjBiZTg2YmY3MWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTEwNCw2ICsxMDQsNyBAQCBt
ZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdG9yZVNlbGVjdGlvbkZv
ckFjY2Vzc2liaWxpdHkoYm9vbCBzaG91bGRTdG9yZSkKICAgICBTdGFydEF1dG9zY3JvbGxBdFBv
c2l0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQgcG9zaXRpb25JbldpbmRvdykKICAgICBDYW5jZWxB
dXRvc2Nyb2xsKCkKKyAgICBSZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oV2ViS2l0OjpD
YWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYKIAogICAgIFNldENvbnRyb2xsZWRCeUF1dG9t
YXRpb24oYm9vbCBjb250cm9sbGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCA3ZmZiM2Y4MWFkYzNkNmI3ZDdhNmM1Mzlh
YWRlYmVkMGNlNmRkM2Y0Li41NjliODE1NjRjMDYwYTZjOTEzMDdjYTQ3OWY2NWQ3NWI3YWU5NjU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFn
ZUlPUy5tbQpAQCAtNjQ5LDYgKzY0OSwxNSBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChjb25z
dCBJbnRQb2ludCYgcG9pbnQsIHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbgogICAg
ICAgICBoYW5kbGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVk
UG9pbnQpOwogfQogCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3RBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bihXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3sKKyAgICBBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbiBpbmZvOworICAgIGlmIChtX2Fzc2lzdGVkTm9kZSkKKyAgICAgICAgZ2V0QXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24oaW5mbyk7CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uQ2FsbGJhY2soaW5mbywgY2FsbGJhY2tJRCkpOwor
fQorCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiB2b2lkIFdlYlBhZ2U6OnJlcXVlc3RT
dGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbikKIHsKQEAgLTI3MzEsNiArMjc0MCw3IEBAIHZvaWQg
V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24mIGluZm9ybWF0aW9uKQogICAgIGluZm9ybWF0aW9uLmFsbG93c1VzZXJTY2FsaW5nSWdub3Jp
bmdBbHdheXNTY2FsYWJsZSA9IG1fdmlld3BvcnRDb25maWd1cmF0aW9uLmFsbG93c1VzZXJTY2Fs
aW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSgpOwogICAgIGluZm9ybWF0aW9uLmhhc05leHROb2Rl
ID0gaGFzQXNzaXN0YWJsZUVsZW1lbnQobV9hc3Npc3RlZE5vZGUuZ2V0KCksICptX3BhZ2UsIHRy
dWUpOwogICAgIGluZm9ybWF0aW9uLmhhc1ByZXZpb3VzTm9kZSA9IGhhc0Fzc2lzdGFibGVFbGVt
ZW50KG1fYXNzaXN0ZWROb2RlLmdldCgpLCAqbV9wYWdlLCBmYWxzZSk7CisgICAgaW5mb3JtYXRp
b24uYXNzaXN0ZWROb2RlSWRlbnRpZmllciA9IG1fY3VycmVudEFzc2lzdGVkTm9kZUlkZW50aWZp
ZXI7CiAKICAgICBpZiAoaXM8SFRNTFNlbGVjdEVsZW1lbnQ+KCptX2Fzc2lzdGVkTm9kZSkpIHsK
ICAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQmIGVsZW1lbnQgPSBkb3duY2FzdDxIVE1MU2VsZWN0
RWxlbWVudD4oKm1fYXNzaXN0ZWROb2RlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334112</attachid>
            <date>2018-02-17 17:35:40 -0800</date>
            <delta_ts>2018-02-17 20:17:04 -0800</delta_ts>
            <desc>ChangeLog tweaks.</desc>
            <filename>bug-182877-20180217173539.patch</filename>
            <type>text/plain</type>
            <size>22791</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmNWZmOTA1YjhkNjQ1Nzg4
Yzk2ZjA1YTViZTY2NDJhMmM2NTliNjIuLjM5ZWVjMmJlMzgyYjkzNDJkMjE2Nzg2NGJlNjA0MTE5
NGJkMDAyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE2IEBACisyMDE4LTAyLTE3ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29tIG1v
ZGVdIEZvcm0gY29udHJvbCB2YWx1ZXMgYXJlIHN0YWxlIGFmdGVyIGRpc21pc3NpbmcgYW5kIHJl
cHJlc2VudGluZyBpbnB1dCB2aWV3IGNvbnRyb2xsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4NzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM3NjA0Mzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEN1cnJlbnRseSwgd2hlbiBwcmVzZW50aW5nIGFuIGlucHV0IHZpZXcgY29udHJvbGxlciBm
b3IgYSBmb2N1c2VkIGVsZW1lbnQsIHdlIHBvcHVsYXRlIHRoZSBpbml0aWFsIGZvcm0gY29udHJv
bAorICAgICAgICB2YWx1ZSB1c2luZyB0aGUgV0tDb250ZW50VmlldydzIGFzc2lzdGVkIG5vZGUg
aW5mb3JtYXRpb24gd2hlbiBpdCB3YXMgbGFzdCBmb2N1c2VkLiBIb3dldmVyLCBpZiB0aGUgdXNl
ciBlZGl0cworICAgICAgICB0aGUgdmFsdWUgb2YgYSBmb3JtIGNvbnRyb2wsIGRpc21pc3NlcyB0
byB0aGUgZm9ybSBjb250cm9sIHZpZXcgY29udHJvbGxlciAod2hpbGUgdGhlIGVsZW1lbnQgaXMg
c3RpbGwgZm9jdXNlZCkKKyAgICAgICAgYW5kIHRoZW4gYmVnaW5zIGVkaXRpbmcgdGhlIGZpZWxk
IGFnYWluLCB0aGUgaW5pdGlhbCB0ZXh0IHdpbGwgYmUgdGhlIHByZXZpb3VzIHZhbHVlIG9mIHRo
ZSBpbnB1dCwgc2luY2UgdGhlCisgICAgICAgIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIGlzbid0
IHVwIHRvIGRhdGUuCisKKyAgICAgICAgVG8gZml4IHRoaXMsIHdlIGludHJvZHVjZSBhIG1lY2hh
bmlzbSB0byB1cGRhdGUgV0tDb250ZW50VmlldydzIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIGZv
ciB0aGUgY3VycmVudCBhc3Npc3RlZAorICAgICAgICBub2RlLiBUaGlzIG92ZXJ3cml0ZXMgX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uIHdpdGggbmV3IGluZm9ybWF0aW9uIGNvbXB1dGVkIGZyb20g
dGhlIHdlYiBwcm9jZXNzLCBhcyBsb25nIGFzCisgICAgICAgIHRoZSBhc3Npc3RlZCBub2RlIGJl
Zm9yZSBhbmQgYWZ0ZXIgdGhlIHJlcXVlc3QgaXMgbWFkZSBpbiB0aGUgVUkgcHJvY2VzcyBoYXMg
bm90IGNoYW5nZWQuIFdlIGFjY29tcGxpc2ggdGhpcyBieQorICAgICAgICBhZGRpbmcgYW4gaWRl
bnRpZmllciB0byBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiwgd2hpY2ggaXMgbW9ub3RvbmljYWxs
eSBpbmNyZW1lbnRlZCB3aGVuIGFuIGVsZW1lbnQgaXMgZm9jdXNlZAorICAgICAgICBpbiB0aGUg
d2ViIHByb2Nlc3MuIFRoZSBVSSBwcm9jZXNzIG1heSB0aGVuIHVzZSB0aGlzIGlkZW50aWZpZXIg
dG8gZGV0ZXJtaW5lIHdoZXRoZXIgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25zCisgICAgICAgIGFy
ZSBkZXNjcmliaW5nIHRoZSBzYW1lIGZvY3VzZWQgZWxlbWVudC4KKworICAgICAgICBPbmUgaW50
ZXJlc3RpbmcgY29uc2lkZXJhdGlvbiBoZXJlIGlzIHRoYXQgYSBub3JtYWwgQXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24gdXBkYXRlIChwcm9wYWdhdGVkIHdoZW4gZm9jdXNpbmcgYW4KKyAgICAgICAg
ZWxlbWVudCkgbWF5IGJlIGRlZmVycmVkIGluIHRoZSBVSSBwcm9jZXNzIHVudGlsIHRoZSBuZXh0
IGxheWVyIHRyZWUgY29tbWl0LiBJbiB0aGUgYWJzZW5jZSBvZiB0aGUgYXNzaXN0ZWQgbm9kZQor
ICAgICAgICBpZGVudGlmaWVyIGNoZWNrLCBvbmUgY291bGQgaW1hZ2luZSBhIHNjZW5hcmlvIGlu
IHdoaWNoIHRoZSBhc3Npc3RlZCBub2RlIGluZm9ybWF0aW9uIGluIHRoZSBVSSBwcm9jZXNzIGdl
dHMKKyAgICAgICAgInVwZGF0ZWQiIGZyb20gYSBuZXcgdmFsdWUgdG8gYW4gb2xkIHZhbHVlOgor
CisgICAgICAgIDEuIFRoZSB3ZWIgcHJvY2VzcyBmb2N1c2VzIGFuIGVsZW1lbnQgYW5kIHNlbmRz
IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIGBBYC4KKyAgICAgICAgMi4gV0tDb250ZW50VmlldyBj
YWxscyAtdXBkYXRlQ3VycmVudEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uLgorICAgICAgICAzLiBU
aGUgd2ViIHByb2Nlc3Mgc2VuZHMgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gYEJgLgorICAgICAg
ICA0LiBgQWAgaXMgcmVjZWl2ZWQgaW4gdGhlIFVJIHByb2Nlc3MsIGJ1dCBkZWZlcnJlZC4KKyAg
ICAgICAgNS4gVGhlIFVJIHByb2Nlc3MgcmVjZWl2ZXMgYEJgIGFuZCBzZXRzIF9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbiB0byBgQmAuCisgICAgICAgIDYuIFRoZSBVSSBwcm9jZXNzIGNhbGxzIC1f
c3RhcnRBc3Npc3RpbmdOb2RlOiBhbmQgc2V0cyBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gdG8g
YEFgLgorCisgICAgICAgIFRoaXMgd291bGQgbWVhbiB0aGF0IHRoZSBfYXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24gaXMgc2V0IHRvIGFuIGVhcmxpZXIgdmFsdWUsIGBBYCwgYWZ0ZXIgYmVpbmcgc2V0
IHRvIGEgbGF0ZXIKKyAgICAgICAgdmFsdWUsIGBCYC4gSG93ZXZlciwgYmVjYXVzZSB0aGUgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24gaWRlbnRpZmllciBpbiBzdGVwICgyKSByZWZlcnMgdG8gdGhl
IGFzc2lzdGVkIG5vZGUKKyAgICAgICAgcHJpb3IgdG8gc3RlcCAoMSksIHRoZSBhc3Npc3RlZCBu
b2RlIGlkZW50aWZpZXIgaW4gKDUpIHdvdWxkIG5vdCBtYXRjaCB0aGlzIGlkZW50aWZpZXIsIGFu
ZCB3ZSB3b3VsZCBzaW1wbHkgYmFpbAorICAgICAgICBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGFz
c2lzdGVkIG5vZGUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgV2UgdXNlIHRoaXMgQXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24gdXBkYXRlIG1lY2hhbmlzbSBhZnRlciBpbnNlcnRpbmcgdGV4dCB2aWEg
aW5wdXQgdmlldyBjb250cm9sbGVycywgYW5kIGFsc28KKyAgICAgICAgYWZ0ZXIgcmVlbnRlcmlu
ZyBlZGl0IG1vZGUgZnJvbSB0aGUgZm9jdXNlZCBmb3JtIGNvbnRyb2wgdmlldyBjb250cm9sbGVy
LiBUaGlzIGZpeGVzIHR3byBpc3N1ZXMgd2hlcmUgY2hhbmdpbmcKKyAgICAgICAgdGhlIHNpemUg
b2YgdGhlIGZvY3VzZWQgZWxlbWVudCBhZnRlciBlZGl0aW5nIGl0IHJlc3VsdHMgaW4gdGhlIGZv
Y3VzZWQgZm9ybSBvdmVybGF5IGhpZ2hsaWdodGluZyBhIHN0YWxlIGZyYW1lLAorICAgICAgICBh
bmQgYWxzbyB3aGVuIHNldHRpbmcgdGhlIGluaXRpYWwgdGV4dCB3aGVuIHJlZW50ZXJpbmcgZWRp
dCBtb2RlIGZvciBhIGZvcm0gY29udHJvbCB0aGF0IGlzIGFscmVhZHkgZm9jdXNlZC4KKworICAg
ICAgICAqIFNoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQv
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaDoKKworICAgICAgICBBZGQgYSBuZXcgbW9ub3Rvbmlj
YWxseSBpbmNyZWFzaW5nIGlkZW50aWZpZXIgKHBlciBXZWJQYWdlKSB3aGljaCBhc3NvY2lhdGVz
IGEgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gd2l0aCBhCisgICAgICAgIGZvY3VzZWQgZWxlbWVu
dC4gSW4gdGhlIGV2ZW50IHRoYXQgdGhlIHdlYiBwcm9jZXNzIGNyYXNoZXMgYW5kIHJlbGF1bmNo
ZXMgKHRodXMgcmVzZXR0aW5nIHRoaXMgaWRlbnRpZmllciksCisgICAgICAgIEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uIHN0YXRlIGluIHRoZSBVSSBwcm9jZXNzIGlzIG5vdyBhbHNvIHJlc2V0IChz
ZWUgLWNsZWFudXBJbnRlcmFjdGlvbiksIHNvIHdlIHdvbid0IGVuZCB1cAorICAgICAgICBjb25m
dXNpbmcgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25zIGNvbXB1dGVkIGJ5IGRpZmZlcmVudCBXZWJQ
YWdlcyBiZXR3ZWVuIGEgd2ViIHByb2Nlc3MgY3Jhc2guCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisKKyAgICAgICAgQSBiaXQgb2YgcmVsYXRlZCByZWZhY3RvcmluZyBo
ZXJlIHRvIHJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBib29sIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hl
dGhlciB3ZSBoYXZlIGEgZGVmZXJyZWQKKyAgICAgICAgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlv
bi4gSW5zdGVhZCwganVzdCB1c2UgdGhlIHByZXNlbmNlIG9mIG1fZGVmZXJyZWROb2RlQXNzaXN0
YW5jZUFyZ3VtZW50cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW46CisKKyAgICAgICAgQWRkIGEgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayBJ
UEMgbWVzc2FnZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNsZWFudXBJbnRlcmFjdGlvbl0p
OgorCisgICAgICAgIENsZWFyIG91dCB0aGUgcHJldmlvdXMgQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uIFNlZSBhYm92ZSBmb3IgZGV0YWlscy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9z
dGFydEFzc2lzdGluZ05vZGU6dXNlcklzSW50ZXJhY3Rpbmc6Ymx1clByZXZpb3VzTm9kZTpjaGFu
Z2luZ0FjdGl2aXR5U3RhdGU6dXNlck9iamVjdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyB1cGRhdGVDdXJyZW50QXNzaXN0ZWROb2RlSW5mb3JtYXRpb246XSk6CisKKyAgICAgICAgVHJp
ZXMgdG8gdXBkYXRlIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCBhc3Np
c3RlZCBub2RlLCBpbnZva2luZyB0aGUgY29tcGxldGlvbiBjYWxsYmFjayB3aGVuCisgICAgICAg
IGZpbmlzaGVkLiBUaGlzIG1heSByZXN1bHQgaW4gdGhlIGFzc2lzdGVkIG5vZGUgaW5mb3JtYXRp
b24gbm90IGJlaW5nIHVwZGF0ZWQgZHVlIHRvIHRoZSBjdXJyZW50IGFzc2lzdGVkIG5vZGUKKyAg
ICAgICAgY2hhbmdpbmcgaW4gdGhlIHRpbWUgYmV0d2VlbiB0aGUgc3RhcnQgb2YgdGhlIHJlcXVl
c3QgYW5kIHRoZSBpbmZvcm1hdGlvbiBiZWluZyByZWNlaXZlZCBpbiB0aGUgVUkgcHJvY2Vzcy4K
KworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHByZXNlbnRWaWV3Q29udHJvbGxlckZvckN1cnJl
bnRBc3Npc3RlZE5vZGVdKToKKworICAgICAgICBSZWZhY3RvcmVkIGZyb20gLXByZXNlbnRWaWV3
Q29udHJvbGxlckZvckFzc2lzdGVkTm9kZTosIHN1Y2ggdGhhdCBpdCBubyBsb25nZXIgdGFrZXMg
YW4gQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24KKyAgICAgICAgYXMgYW4gYXJndW1lbnQsIGJ1dCBy
YXRoZXIganVzdCB1c2VzIFdLQ29udGVudFZpZXcncyBjdXJyZW50IF9hc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbi4gVGhpcyB3YXMganVzdCBiZWluZworICAgICAgICBjYWxsZWQgd2l0aCBfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24gZnJvbSBhbGwgY2FsbCBzaXRlcyBhbnl3YXlzLgorCisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgdGV4dElucHV0Q29udHJvbGxlcjpkaWRDb21taXRUZXh0Ol0pOgor
CisgICAgICAgIFJlcXVlc3QgYW4gQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gdXBkYXRlIGFmdGVy
IHNldHRpbmcgdGhlIHZhbHVlIG9mIGEgZm9ybSBjb250cm9sOyBpZiB0aGUgYXNzaXN0ZWQgbm9k
ZSBoYXNuJ3QKKyAgICAgICAgY2hhbmdlZCwgdXBkYXRlIHRoZSBmb2N1c2VkIGZvcm0gY29udHJv
bCBvdmVybGF5LiBUaGlzIGlzIG5lZWRlZCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgdGhlIGZvY3Vz
ZWQgZWxlbWVudCdzCisgICAgICAgIGZyYW1lIG1heSBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5zZXJ0
aW5nIHRleHQgKGUuZy4gZHVlIHRvIGxpbmUgd3JhcHBpbmcpLCBhbmQgdGhlIGZvY3VzZWQgZm9y
bSBjb250cm9sIG92ZXJsYXkKKyAgICAgICAgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byByZWZsZWN0
IHRoaXMgY2hhbmdlLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZm9jdXNlZEZvcm1Db250
cm9sQ29udHJvbGxlckRpZEJlZ2luRWRpdGluZzpdKToKKworICAgICAgICBSZXF1ZXN0IGFuIEFz
c2lzdGVkTm9kZUluZm9ybWF0aW9uIHVwZGF0ZSBiZWZvcmUgcmVlbnRlcmluZyBlZGl0IG1vZGU7
IGlmIHRoZSBhc3Npc3RlZCBub2RlIGhhc24ndCBjaGFuZ2VkIHNpbmNlCisgICAgICAgIHRoZSBz
dGFydCBvZiB0aGUgcmVxdWVzdCwgcHJlc2VudCB0aGUgYXBwcm9wcmlhdGUgaW5wdXQgdmlldyBj
b250cm9sbGVyLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgcHJlc2VudFZpZXdDb250cm9s
bGVyRm9yQXNzaXN0ZWROb2RlOl0pOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFzc2lz
dGVkTm9kZUluZm9ybWF0aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnJlcXVlc3RBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpzdGFydEFzc2lzdGluZ05vZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnN0b3BBc3Npc3RpbmdOb2RlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmVsZW1lbnREaWRGb2N1cyk6CisK
KyAgICAgICAgSW5jcmVtZW50IHRoZSBhc3Npc3RlZCBub2RlIGlkZW50aWZpZXIuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFz
c2lzdGVkTm9kZUluZm9ybWF0aW9uKToKKworICAgICAgICBDb21wdXRlIGFuZCByZXR1cm4gYW4g
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uCisKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Z2V0
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24pOgorCiAyMDE4LTAyLTE2ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtFeHRyYSB6b29tIG1vZGVdIEFkZCBi
YXNpYyBzdXBwb3J0IGZvciA8aW5wdXQgdHlwZT0nZGF0ZSc+IHVzaW5nIGRhdGUgcGlja2VyIFVJ
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAK
aW5kZXggNDIzNmUwOTA4YmQzM2Y3ODk1N2NiY2E4ZjdjYTBhMjM5YTU3ZmFkMS4uZGM5ODRjODI1
NjY3M2U5MDhjN2JhYzNhYWU3NDQwYjhlOGVkMzdhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcApAQCAtODksNiArODksNyBAQCB2b2lk
IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogICAgIGVuY29kZXIgPDwgYWNjZXB0c0F1dG9maWxsZWRMb2dpbkNyZWRlbnRpYWxzOwog
ICAgIGVuY29kZXIgPDwgcmVwcmVzZW50aW5nUGFnZVVSTDsKICAgICBlbmNvZGVyLmVuY29kZUVu
dW0oYXV0b2ZpbGxGaWVsZE5hbWUpOworICAgIGVuY29kZXIgPDwgYXNzaXN0ZWROb2RlSWRlbnRp
ZmllcjsKIH0KIAogYm9vbCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjo6ZGVjb2RlKElQQzo6RGVj
b2RlciYgZGVjb2RlciwgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIHJlc3VsdCkKQEAgLTE3MSw2
ICsxNzIsOSBAQCBib29sIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjpkZWNvZGUoSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyLCBBc3Npc3RlZE5vZGVJbmZvcm1hdAogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGVFbnVtKHJlc3VsdC5hdXRvZmlsbEZpZWxkTmFtZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFzc2lzdGVkTm9kZUlkZW50aWZpZXIp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKaW5kZXgg
MDhhOWY3MjRlNDJkNTljNjg5ODZiNTVjNThhYWQ1ZGE4ZTkyMWZiMy4uYzJlMDY4YmM4NjJlOWRh
MGIwYjJlYmNmZjEzYjE0YWNiZjlhZmE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCkBAIC0xMTQsNiArMTE0LDggQEAgc3RydWN0IEFzc2lz
dGVkTm9kZUluZm9ybWF0aW9uIHsKICAgICBXZWJDb3JlOjpVUkwgcmVwcmVzZW50aW5nUGFnZVVS
TDsKICAgICBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZSBhdXRvZmlsbEZpZWxkTmFtZSB7IFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpOb25lIH07CiAKKyAgICB1bnNpZ25lZCBhc3Npc3Rl
ZE5vZGVJZGVudGlmaWVyIHsgMCB9OworCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikg
Y29uc3Q7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uJik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCBkYWIyNDAwOGY5MjU3YWJhNjUzNzRjOGM1MTJmNTRlOGM1ZDZhYTQxLi45MjI3MDFhMGUz
MzY3Y2IzMzE2ZjE1YTMyN2UzZGNjNDFjYmM4YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaApAQCAtMjg1LDYgKzI4NSw3IEBAIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNr
PGNvbnN0IFN0cmluZyYsIGRvdWJsZSwgYm9vbD4gRm9udEF0U2VsZWN0aW9uQ2FsbGJhY2s7CiB0
eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIHVpbnQzMl90
LCB1aW50MzJfdCwgdWludDMyX3Q+IEdlc3R1cmVDYWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0Nh
bGxiYWNrPGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgdWludDMyX3QsIHVpbnQzMl90PiBUb3Vj
aGVzQ2FsbGJhY2s7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25zdCBWZWN0b3I8V2ViQ29y
ZTo6U2VsZWN0aW9uUmVjdD4mPiBTZWxlY3Rpb25SZWN0c0NhbGxiYWNrOwordHlwZWRlZiBHZW5l
cmljQ2FsbGJhY2s8Y29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mPiBBc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbkNhbGxiYWNrOwogc3RydWN0IE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzIHsKICAg
ICBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBtX25vZGVJbmZvcm1hdGlvbjsKICAgICBib29sIG1f
dXNlcklzSW50ZXJhY3Rpbmc7CkBAIC0xMDkwLDYgKzEwOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRTaG91bGRSZWNvcmROYXZpZ2F0aW9uU25hcHNob3RzKGJvb2wgc2hvdWxkUmVjb3JkU25h
cHNob3RzKSB7IG1fc2hvdWxkUmVjb3JkTmF2aWdhdGlvblNuYXBzaG90cyA9IHNob3VsZFJlY29y
ZFNuYXBzaG90czsgfQogICAgIHZvaWQgcmVjb3JkQXV0b21hdGljTmF2aWdhdGlvblNuYXBzaG90
KCk7CiAgICAgdm9pZCByZWNvcmROYXZpZ2F0aW9uU25hcHNob3QoV2ViQmFja0ZvcndhcmRMaXN0
SXRlbSYpOworICAgIHZvaWQgcmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEZ1bmN0aW9u
PHZvaWQoY29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mLCBDYWxsYmFja0Jhc2U6OkVycm9y
KT4mJik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZWZQdHI8Vmlld1NuYXBzaG90PiB0
YWtlVmlld1NuYXBzaG90KCk7CkBAIC0xNjI1LDYgKzE2MjcsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBlbmFibGVJbnNwZWN0b3JOb2RlU2VhcmNoKCk7CiAgICAgdm9pZCBkaXNhYmxlSW5zcGVj
dG9yTm9kZVNlYXJjaCgpOworICAgIHZvaWQgYXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFj
ayhjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYsIENhbGxiYWNrSUQpOwogI2VuZGlmIC8v
IFBMQVRGT1JNKElPUykKIAogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKQEAgLTIwODEsNyAr
MjA4NCw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBib29s
IG1faGFzRGVmZXJyZWRTdGFydEFzc2lzdGluZ05vZGUgeyBmYWxzZSB9OwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxOb2RlQXNzaXN0YW5jZUFyZ3VtZW50cz4gbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNl
QXJndW1lbnRzOwogICAgIGJvb2wgbV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB7IGZhbHNlIH07
CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxh
eW91dFNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggYTJkNDg0ZGY5NWJiYWM5NjJlZTVlNGY5Y2JmNjUzZDVjNDI2NzBiZS4u
MWJmMGYwNWQ0YTdmOWQxMTQwYzY0YjRmNzJjYTkwODAxZTMwZWNhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNDAwLDYgKzQw
MCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgT3ZlcmZsb3dTY3JvbGxEaWRF
bmRTY3JvbGwoKQogICAgIFNob3dJbnNwZWN0b3JIaWdobGlnaHQoc3RydWN0IFdlYkNvcmU6Okhp
Z2hsaWdodCBoaWdobGlnaHQpCiAgICAgSGlkZUluc3BlY3RvckhpZ2hsaWdodCgpCisgICAgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayhzdHJ1Y3QgV2ViS2l0OjpBc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbiBpbmZvcm1hdGlvbiwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAK
ICAgICBTaG93SW5zcGVjdG9ySW5kaWNhdGlvbigpCiAgICAgSGlkZUluc3BlY3RvckluZGljYXRp
b24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggMjkzODFjYTk1ZDdjYmNhZTg5NTkxOWJjZGM1MWM5NDMw
Y2I0ZmRmMC4uNDE3MWVmYjc4OWNhZTIyNTVkYjQxODk0M2VhMTUzYjQyODdhNjk1OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCkBAIC03MTcsNiArNzE3LDcgQEAgLSAodm9pZCljbGVhbnVwSW50ZXJhY3Rpb24K
ICAgICB9CiAgICAgCiAgICAgX2lucHV0Vmlld1VwZGF0ZURlZmVycmVyID0gbnVsbHB0cjsKKyAg
ICBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gPSB7IH07CiB9CiAKIC0gKHZvaWQpX3JlbW92ZURl
ZmF1bHRHZXN0dXJlUmVjb2duaXplcnMKQEAgLTQwMzIsNyArNDAzMyw3IEBAIC0gKHZvaWQpX3N0
YXJ0QXNzaXN0aW5nTm9kZTooY29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mKWluZm9ybWF0
aW9uIHVzZXJJc0luCiAjaWYgRU5BQkxFKEVYVFJBX1pPT01fTU9ERSkKICAgICBbc2VsZiBwcmVz
ZW50Rm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXI6Tk9dOwogICAgIGlmICghX2lzQ2hh
bmdpbmdGb2N1cykKLSAgICAgICAgW3NlbGYgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQXNzaXN0
ZWROb2RlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbl07CisgICAgICAgIFtzZWxmIHByZXNlbnRW
aWV3Q29udHJvbGxlckZvckN1cnJlbnRBc3Npc3RlZE5vZGVdOwogI2Vsc2UKICAgICBbc2VsZiBy
ZWxvYWRJbnB1dFZpZXdzXTsKICNlbmRpZgpAQCAtNDEwMSw2ICs0MTAyLDIyIEBAIC0gKHZvaWQp
X3N0b3BBc3Npc3RpbmdOb2RlCiAgICAgW193ZWJWaWV3IGRpZEVuZEZvcm1Db250cm9sSW50ZXJh
Y3Rpb25dOwogfQogCistICh2b2lkKXVwZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bjooRnVuY3Rpb248dm9pZChib29sIGRpZFVwZGF0ZSk+JiYpY2FsbGJhY2sKK3sKKyAgICBXZWFr
T2JqQ1B0cjxXS0NvbnRlbnRWaWV3PiB3ZWFrU2VsZiB7IHNlbGYgfTsKKyAgICBhdXRvIGlkZW50
aWZpZXJCZWZvcmVVcGRhdGUgPSBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXNzaXN0ZWROb2Rl
SWRlbnRpZmllcjsKKyAgICBfcGFnZS0+cmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKFtj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spLCBpZGVudGlmaWVyQmVmb3JlVXBkYXRlLCB3ZWFr
U2VsZl0gKGF1dG8mIGluZm8sIGF1dG8gZXJyb3IpIHsKKyAgICAgICAgaWYgKCF3ZWFrU2VsZiB8
fCBlcnJvciAhPSBDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lIHx8IGluZm8uYXNzaXN0ZWROb2Rl
SWRlbnRpZmllciAhPSBpZGVudGlmaWVyQmVmb3JlVXBkYXRlKSB7CisgICAgICAgICAgICAvLyBJ
ZiB0aGUgYXNzaXN0ZWQgbm9kZSBtYXkgaGF2ZSBjaGFuZ2VkIGluIHRoZSBtZWFudGltZSwgZG9u
J3Qgb3ZlcndyaXRlIGFzc2lzdGVkIG5vZGUgaW5mb3JtYXRpb24uCisgICAgICAgICAgICBjYWxs
YmFjayhmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB3
ZWFrU2VsZi5nZXQoKS0+X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uID0gaW5mbzsKKyAgICAgICAg
Y2FsbGJhY2sodHJ1ZSk7CisgICAgfSk7Cit9CisKICNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RF
KQogCiAtICh2b2lkKWRpc21pc3NBbGxJbnB1dFZpZXdDb250cm9sbGVycwpAQCAtNDIwNyw5ICs0
MjI0LDExIEBAIC0gKHZvaWQpcHJlc2VudE51bWJlclBhZFZpZXdDb250cm9sbGVyOihCT09MKWFu
aW1hdGVkCiAgICAgW19mb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBwcmVzZW50Vmll
d0NvbnRyb2xsZXI6X251bWJlclBhZFZpZXdDb250cm9sbGVyLmdldCgpIGFuaW1hdGVkOmFuaW1h
dGVkIGNvbXBsZXRpb246bmlsXTsKIH0KIAotLSAodm9pZClwcmVzZW50Vmlld0NvbnRyb2xsZXJG
b3JBc3Npc3RlZE5vZGU6KGNvbnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJilpbmZvCistICh2
b2lkKXByZXNlbnRWaWV3Q29udHJvbGxlckZvckN1cnJlbnRBc3Npc3RlZE5vZGUKIHsKLSAgICBz
d2l0Y2ggKGluZm8uZWxlbWVudFR5cGUpIHsKKyAgICBbc2VsZiBkaXNtaXNzQWxsSW5wdXRWaWV3
Q29udHJvbGxlcnNdOworCisgICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxl
bWVudFR5cGUpIHsKICAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyOgogICAgIGNhc2UgSW5wdXRU
eXBlOjpOdW1iZXJQYWQ6CiAgICAgY2FzZSBJbnB1dFR5cGU6OlBob25lOgpAQCAtNDI1Myw3ICs0
MjcyLDYgQEAgLSAodm9pZClkaXNtaXNzVGV4dElucHV0Vmlld0NvbnRyb2xsZXI6KEJPT0wpYW5p
bWF0ZWQKIAogLSAodm9pZCl0ZXh0SW5wdXRDb250cm9sbGVyOihXS1RleHRGb3JtQ29udHJvbFZp
ZXdDb250cm9sbGVyICopY29udHJvbGxlciBkaWRDb21taXRUZXh0OihOU1N0cmluZyAqKXRleHQK
IHsKLSAgICAvLyBGSVhNRTogVXBkYXRlIGNhY2hlZCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBz
dGF0ZSBpbiB0aGUgVUkgcHJvY2Vzcy4KICAgICBfcGFnZS0+c2V0VGV4dEFzeW5jKHRleHQpOwog
CiAgICAgaWYgKCFbc2VsZiBhY3Rpb25OYW1lRm9yRm9jdXNlZEZvcm1Db250cm9sQ29udHJvbGxl
cjpfZm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIuZ2V0KCldICYmICFfYXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24uaGFzTmV4dE5vZGUgJiYgIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5o
YXNQcmV2aW91c05vZGUpIHsKQEAgLTQyNjUsNiArNDI4MywxMCBAQCAtICh2b2lkKXRleHRJbnB1
dENvbnRyb2xsZXI6KFdLVGV4dEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVy
IGRpZENvbQogCiAgICAgW19mb2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciBzaG93Ok5P
XTsKICAgICBbc2VsZiBkaXNtaXNzQWxsSW5wdXRWaWV3Q29udHJvbGxlcnNdOworICAgIFtzZWxm
IHVwZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjpbd2Vha1NlbGYgPSBXZWFrT2Jq
Q1B0cjxXS0NvbnRlbnRWaWV3PihzZWxmKV0gKGJvb2wgZGlkVXBkYXRlKSB7CisgICAgICAgIGlm
IChkaWRVcGRhdGUpCisgICAgICAgICAgICBbd2Vha1NlbGYuZ2V0KCktPl9mb2N1c2VkRm9ybUNv
bnRyb2xWaWV3Q29udHJvbGxlciByZWxvYWREYXRhOllFU107CisgICAgfV07CiB9CiAKIC0gKHZv
aWQpdGV4dElucHV0Q29udHJvbGxlckRpZFJlcXVlc3REaXNtaXNzYWw6KFdLVGV4dEZvcm1Db250
cm9sVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyCkBAIC00Mjg1LDcgKzQzMDcsMTAgQEAgLSAo
dm9pZClmb2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyRGlkQ2FuY2VsOihXS0ZvY3VzZWRGb3Jt
Q29udHJvbFZpZXdDb250cm9sbGUKIAogLSAodm9pZClmb2N1c2VkRm9ybUNvbnRyb2xDb250cm9s
bGVyRGlkQmVnaW5FZGl0aW5nOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyICop
Y29udHJvbGxlcgogewotICAgIFtzZWxmIHByZXNlbnRWaWV3Q29udHJvbGxlckZvckFzc2lzdGVk
Tm9kZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb25dOworICAgIFtzZWxmIHVwZGF0ZUN1cnJlbnRB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbjpbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRW
aWV3PihzZWxmKV0gKGJvb2wgZGlkVXBkYXRlKSB7CisgICAgICAgIGlmIChkaWRVcGRhdGUpCisg
ICAgICAgICAgICBbd2Vha1NlbGYgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQ3VycmVudEFzc2lz
dGVkTm9kZV07CisgICAgfV07CiB9CiAKIC0gKENHUmVjdCloaWdobGlnaHRlZFJlY3RGb3JGb2N1
c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyOihXS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9s
bGVyICopY29udHJvbGxlciBpbkNvb3JkaW5hdGVTcGFjZTooaWQgPFVJQ29vcmRpbmF0ZVNwYWNl
Piljb29yZGluYXRlU3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCmluZGV4IDk2YThiZmVjNTA3YjJhYzkxYmUwODA2OWE1NDZhZTgwMGY2NTBh
N2QuLmNhNmQ4ZDIxYzY5ZmEwMGFiZjhlNThjMjc5ZGJlOGUwYzg5MmUyNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTkyLDYgKzE5
MiwyOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2VsZWN0aW9uUmVjdHNDYWxsYmFjayhjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4mCiAgICAgY2FsbGJhY2stPnBlcmZvcm1DYWxs
YmFja1dpdGhSZXR1cm5WYWx1ZShzZWxlY3Rpb25SZWN0cyk7CiB9CiAKK3ZvaWQgV2ViUGFnZVBy
b3h5Ojphc3Npc3RlZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrKGNvbnN0IEFzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uJiBpbmZvLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCit7CisgICAgYXV0byBjYWxs
YmFjayA9IG1fY2FsbGJhY2tzLnRha2U8QXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjaz4o
Y2FsbGJhY2tJRCk7CisgICAgaWYgKCFjYWxsYmFjaykgeworICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNhbGxiYWNrLT5wZXJmb3Jt
Q2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUoaW5mbyk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojpy
ZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oRnVuY3Rpb248dm9pZChjb25zdCBBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbiYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrKQorewor
ICAgIGlmICghaXNWYWxpZCgpKSB7CisgICAgICAgIGNhbGxiYWNrKHsgfSwgQ2FsbGJhY2tCYXNl
OjpFcnJvcjo6T3duZXJXYXNJbnZhbGlkYXRlZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFjayks
IG1fcHJvY2Vzcy0+dGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKSk7CisgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXF1ZXN0QXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24oY2FsbGJhY2tJRCksIG1fcGFnZUlEKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6
OnVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
SW5mbyYgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlKQogewogICAgIGlmICghaXNWYWxpZCgpKQpA
QCAtMzk3LDEwICs0MTksOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TGF5ZXJUcmVl
KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mCiAgICAgICAgIGRpZFJl
YWNoTGF5b3V0TWlsZXN0b25lKFdlYkNvcmU6OlJlYWNoZWRTZXNzaW9uUmVzdG9yYXRpb25SZW5k
ZXJUcmVlU2l6ZVRocmVzaG9sZCk7CiAgICAgfQogCi0gICAgaWYgKG1faGFzRGVmZXJyZWRTdGFy
dEFzc2lzdGluZ05vZGUpIHsKKyAgICBpZiAobV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1l
bnRzKSB7CiAgICAgICAgIG1fcGFnZUNsaWVudC5zdGFydEFzc2lzdGluZ05vZGUobV9kZWZlcnJl
ZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzLT5tX25vZGVJbmZvcm1hdGlvbiwgbV9kZWZlcnJlZE5v
ZGVBc3Npc3RhbmNlQXJndW1lbnRzLT5tX3VzZXJJc0ludGVyYWN0aW5nLCBtX2RlZmVycmVkTm9k
ZUFzc2lzdGFuY2VBcmd1bWVudHMtPm1fYmx1clByZXZpb3VzTm9kZSwKICAgICAgICAgICAgIG1f
ZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFyZ3VtZW50cy0+bV9jaGFuZ2luZ0FjdGl2aXR5U3RhdGUs
IG1fZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFyZ3VtZW50cy0+bV91c2VyRGF0YS5nZXQoKSk7Ci0g
ICAgICAgIG1faGFzRGVmZXJyZWRTdGFydEFzc2lzdGluZ05vZGUgPSBmYWxzZTsKICAgICAgICAg
bV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzID0gbnVsbHB0cjsKICAgICB9CiB9CkBA
IC05MTUsNyArOTM2LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnN0YXJ0QXNzaXN0aW5nTm9kZShj
b25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24KICAgICBBUEk6Ok9iamVj
dCogdXNlckRhdGFPYmplY3QgPSBwcm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1
c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCk7CiAgICAgaWYgKG1fZWRpdG9yU3RhdGUuaXNNaXNzaW5n
UG9zdExheW91dERhdGEpIHsKICAgICAgICAgbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1l
bnRzID0gc3RkOjptYWtlX3VuaXF1ZTxOb2RlQXNzaXN0YW5jZUFyZ3VtZW50cz4oTm9kZUFzc2lz
dGFuY2VBcmd1bWVudHMgeyBpbmZvcm1hdGlvbiwgdXNlcklzSW50ZXJhY3RpbmcsIGJsdXJQcmV2
aW91c05vZGUsIGNoYW5naW5nQWN0aXZpdHlTdGF0ZSwgdXNlckRhdGFPYmplY3QgfSk7Ci0gICAg
ICAgIG1faGFzRGVmZXJyZWRTdGFydEFzc2lzdGluZ05vZGUgPSB0cnVlOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCkBAIC05MjQsMTAgKzk0NCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzdGFy
dEFzc2lzdGluZ05vZGUoY29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9u
CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzdG9wQXNzaXN0aW5nTm9kZSgpCiB7Ci0gICAgaWYgKG1f
aGFzRGVmZXJyZWRTdGFydEFzc2lzdGluZ05vZGUpIHsKLSAgICAgICAgbV9oYXNEZWZlcnJlZFN0
YXJ0QXNzaXN0aW5nTm9kZSA9IGZhbHNlOwotICAgICAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFu
Y2VBcmd1bWVudHMgPSBudWxscHRyOwotICAgIH0KKyAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFu
Y2VBcmd1bWVudHMgPSBudWxscHRyOwogICAgIG1fcGFnZUNsaWVudC5zdG9wQXNzaXN0aW5nTm9k
ZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CmluZGV4IDkyZTQ4NmZlYzQ2NGRjYWVhN2EzM2JhN2JkNGI5Njc4MDEzOWJiZjQuLjU4MWUxODZk
OTgyOTNiMDBmMGM0Yjk5N2M4OWQ2YTc3MWQ5NmNiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC00ODk3LDYgKzQ4OTcsNyBAQCB2b2lkIFdl
YlBhZ2U6OmVsZW1lbnREaWRGb2N1cyhXZWJDb3JlOjpOb2RlKiBub2RlKQogICAgICAgICBtX2lz
QXNzaXN0aW5nTm9kZUR1ZVRvVXNlckludGVyYWN0aW9uIHw9IG1fdXNlcklzSW50ZXJhY3Rpbmc7
CiAKICNpZiBQTEFURk9STShJT1MpCisgICAgICAgICsrbV9jdXJyZW50QXNzaXN0ZWROb2RlSWRl
bnRpZmllcjsKICAgICAgICAgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gaW5mb3JtYXRpb247CiAg
ICAgICAgIGdldEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKGluZm9ybWF0aW9uKTsKICAgICAgICAg
UmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA4ZmRjZWYwZGEwNzdmOTY0M2QyNTllYmJjYzEyNzUzODU2
YzFjYzczLi44MzgwYjg3NWYwZDMyN2Q1ZTgyNWM2ODc5NDQ2ZTljNDBjMzIyZjVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01NjgsNiArNTY4LDcg
QEAgcHVibGljOgogICAgIHZvaWQgaW5zcGVjdG9yTm9kZVNlYXJjaEVuZGVkQXRQb3NpdGlvbihj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAKICAgICB2b2lkIGJsdXJBc3Npc3RlZE5vZGUo
KTsKKyAgICB2b2lkIHJlcXVlc3RBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihDYWxsYmFja0lEKTsK
ICAgICB2b2lkIHNlbGVjdFdpdGhHZXN0dXJlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgdWlu
dDMyX3QgZ3JhbnVsYXJpdHksIHVpbnQzMl90IGdlc3R1cmVUeXBlLCB1aW50MzJfdCBnZXN0dXJl
U3RhdGUsIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhBc3Npc3RlZE5vZGUsIENhbGxiYWNrSUQpOwog
ICAgIHZvaWQgdXBkYXRlU2VsZWN0aW9uV2l0aFRvdWNoZXMoY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmLCB1aW50MzJfdCB0b3VjaGVzLCBib29sIGJhc2VJc1N0YXJ0LCBDYWxsYmFja0lEKTsKICNp
ZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEIDwgMTIwMDAwCkBAIC0xNjI1LDYgKzE2
MjYsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJDb3JlOjpOb2RlPiBtX3BlbmRpbmdTeW50
aGV0aWNDbGlja05vZGU7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX3BlbmRpbmdTeW50aGV0
aWNDbGlja0xvY2F0aW9uOwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX3ByZXZpb3VzRXhwb3Nl
ZENvbnRlbnRSZWN0OworICAgIHVuc2lnbmVkIG1fY3VycmVudEFzc2lzdGVkTm9kZUlkZW50aWZp
ZXIgeyAwIH07CiAjZW5kaWYKIAogICAgIFdlYkNvcmU6OlRpbWVyIG1fbGF5ZXJWb2xhdGlsaXR5
VGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbgppbmRleCAxZjEzNTEyMTQyZDI5ZDIzNTBhM2VjYTk1MzZmZDhkOGFhY2Q1
ZTE3Li4zMTcxYjQwZDk0ODU2MjhlNDE3YTA1MTA2MmNjYjBiZTg2YmY3MWExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4K
QEAgLTEwNCw2ICsxMDQsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBTdG9yZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoYm9vbCBzaG91bGRTdG9yZSkKICAg
ICBTdGFydEF1dG9zY3JvbGxBdFBvc2l0aW9uKFdlYkNvcmU6OkZsb2F0UG9pbnQgcG9zaXRpb25J
bldpbmRvdykKICAgICBDYW5jZWxBdXRvc2Nyb2xsKCkKKyAgICBSZXF1ZXN0QXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24oV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAjZW5kaWYKIAogICAg
IFNldENvbnRyb2xsZWRCeUF1dG9tYXRpb24oYm9vbCBjb250cm9sbGVkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQppbmRleCA3ZmZi
M2Y4MWFkYzNkNmI3ZDdhNmM1MzlhYWRlYmVkMGNlNmRkM2Y0Li41NjliODE1NjRjMDYwYTZjOTEz
MDdjYTQ3OWY2NWQ3NWI3YWU5NjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNjQ5LDYgKzY0OSwxNSBAQCB2b2lkIFdl
YlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2ludCYgcG9pbnQsIHVpbnQ2NF90IGxhc3RMYXll
clRyZWVUcmFuc2FjdGlvbgogICAgICAgICBoYW5kbGVTeW50aGV0aWNDbGljayhub2RlUmVzcG9u
ZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9pbnQpOwogfQogCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3RB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbihXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3sK
KyAgICBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBpbmZvOworICAgIGlmIChtX2Fzc2lzdGVkTm9k
ZSkKKyAgICAgICAgZ2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oaW5mbyk7CisKKyAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uQ2FsbGJhY2so
aW5mbywgY2FsbGJhY2tJRCkpOworfQorCiAjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiB2
b2lkIFdlYlBhZ2U6OnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBJbnRQb2ludCYg
Y2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbikKIHsKQEAgLTI3
MzEsNiArMjc0MCw3IEBAIHZvaWQgV2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24o
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0aW9uKQogICAgIGluZm9ybWF0aW9uLmFs
bG93c1VzZXJTY2FsaW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSA9IG1fdmlld3BvcnRDb25maWd1
cmF0aW9uLmFsbG93c1VzZXJTY2FsaW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSgpOwogICAgIGlu
Zm9ybWF0aW9uLmhhc05leHROb2RlID0gaGFzQXNzaXN0YWJsZUVsZW1lbnQobV9hc3Npc3RlZE5v
ZGUuZ2V0KCksICptX3BhZ2UsIHRydWUpOwogICAgIGluZm9ybWF0aW9uLmhhc1ByZXZpb3VzTm9k
ZSA9IGhhc0Fzc2lzdGFibGVFbGVtZW50KG1fYXNzaXN0ZWROb2RlLmdldCgpLCAqbV9wYWdlLCBm
YWxzZSk7CisgICAgaW5mb3JtYXRpb24uYXNzaXN0ZWROb2RlSWRlbnRpZmllciA9IG1fY3VycmVu
dEFzc2lzdGVkTm9kZUlkZW50aWZpZXI7CiAKICAgICBpZiAoaXM8SFRNTFNlbGVjdEVsZW1lbnQ+
KCptX2Fzc2lzdGVkTm9kZSkpIHsKICAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQmIGVsZW1lbnQg
PSBkb3duY2FzdDxIVE1MU2VsZWN0RWxlbWVudD4oKm1fYXNzaXN0ZWROb2RlKTsK
</data>
<flag name="review"
          id="352916"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334114</attachid>
            <date>2018-02-17 21:14:36 -0800</date>
            <delta_ts>2018-02-17 21:50:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182877-20180217211435.patch</filename>
            <type>text/plain</type>
            <size>22787</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmNWZmOTA1YjhkNjQ1Nzg4
Yzk2ZjA1YTViZTY2NDJhMmM2NTliNjIuLmM4OTUwNzU3ZDhjYzhkYWZmYTNlYjc2ZGMzYTEyZWNl
ZjA3OGY1YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTE2IEBACisyMDE4LTAyLTE3ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtFeHRyYSB6b29tIG1v
ZGVdIEZvcm0gY29udHJvbCB2YWx1ZXMgYXJlIHN0YWxlIGFmdGVyIGRpc21pc3NpbmcgYW5kIHJl
cHJlc2VudGluZyBpbnB1dCB2aWV3IGNvbnRyb2xsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4NzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzM3NjA0Mzk1PgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAg
Q3VycmVudGx5LCB3aGVuIHByZXNlbnRpbmcgYW4gaW5wdXQgdmlldyBjb250cm9sbGVyIGZvciBh
IGZvY3VzZWQgZWxlbWVudCwgd2UgcG9wdWxhdGUgdGhlIGluaXRpYWwgZm9ybSBjb250cm9sCisg
ICAgICAgIHZhbHVlIHVzaW5nIHRoZSBXS0NvbnRlbnRWaWV3J3MgYXNzaXN0ZWQgbm9kZSBpbmZv
cm1hdGlvbiB3aGVuIGl0IHdhcyBsYXN0IGZvY3VzZWQuIEhvd2V2ZXIsIGlmIHRoZSB1c2VyIGVk
aXRzCisgICAgICAgIHRoZSB2YWx1ZSBvZiBhIGZvcm0gY29udHJvbCwgZGlzbWlzc2VzIHRvIHRo
ZSBmb3JtIGNvbnRyb2wgdmlldyBjb250cm9sbGVyICh3aGlsZSB0aGUgZWxlbWVudCBpcyBzdGls
bCBmb2N1c2VkKQorICAgICAgICBhbmQgdGhlbiBiZWdpbnMgZWRpdGluZyB0aGUgZmllbGQgYWdh
aW4sIHRoZSBpbml0aWFsIHRleHQgd2lsbCBiZSB0aGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGlu
cHV0LCBzaW5jZSB0aGUKKyAgICAgICAgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gaXNuJ3QgdXAg
dG8gZGF0ZS4KKworICAgICAgICBUbyBmaXggdGhpcywgd2UgaW50cm9kdWNlIGEgbWVjaGFuaXNt
IHRvIHVwZGF0ZSBXS0NvbnRlbnRWaWV3J3MgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gZm9yIHRo
ZSBjdXJyZW50IGFzc2lzdGVkCisgICAgICAgIG5vZGUuIFRoaXMgb3ZlcndyaXRlcyBfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24gd2l0aCBuZXcgaW5mb3JtYXRpb24gY29tcHV0ZWQgZnJvbSB0aGUg
d2ViIHByb2Nlc3MsIGFzIGxvbmcgYXMKKyAgICAgICAgdGhlIGFzc2lzdGVkIG5vZGUgYmVmb3Jl
IGFuZCBhZnRlciB0aGUgcmVxdWVzdCBpcyBtYWRlIGluIHRoZSBVSSBwcm9jZXNzIGhhcyBub3Qg
Y2hhbmdlZC4gV2UgYWNjb21wbGlzaCB0aGlzIGJ5CisgICAgICAgIGFkZGluZyBhbiBpZGVudGlm
aWVyIHRvIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uLCB3aGljaCBpcyBtb25vdG9uaWNhbGx5IGlu
Y3JlbWVudGVkIHdoZW4gYW4gZWxlbWVudCBpcyBmb2N1c2VkCisgICAgICAgIGluIHRoZSB3ZWIg
cHJvY2Vzcy4gVGhlIFVJIHByb2Nlc3MgbWF5IHRoZW4gdXNlIHRoaXMgaWRlbnRpZmllciB0byBk
ZXRlcm1pbmUgd2hldGhlciBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbnMKKyAgICAgICAgYXJlIGRl
c2NyaWJpbmcgdGhlIHNhbWUgZm9jdXNlZCBlbGVtZW50LgorCisgICAgICAgIE9uZSBpbnRlcmVz
dGluZyBjb25zaWRlcmF0aW9uIGhlcmUgaXMgdGhhdCBhIG5vcm1hbCBBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbiB1cGRhdGUgKHByb3BhZ2F0ZWQgd2hlbiBmb2N1c2luZyBhbgorICAgICAgICBlbGVt
ZW50KSBtYXkgYmUgZGVmZXJyZWQgaW4gdGhlIFVJIHByb2Nlc3MgdW50aWwgdGhlIG5leHQgbGF5
ZXIgdHJlZSBjb21taXQuIEluIHRoZSBhYnNlbmNlIG9mIHRoZSBhc3Npc3RlZCBub2RlCisgICAg
ICAgIGlkZW50aWZpZXIgY2hlY2ssIG9uZSBjb3VsZCBpbWFnaW5lIGEgc2NlbmFyaW8gaW4gd2hp
Y2ggdGhlIGFzc2lzdGVkIG5vZGUgaW5mb3JtYXRpb24gaW4gdGhlIFVJIHByb2Nlc3MgZ2V0cwor
ICAgICAgICAidXBkYXRlZCIgZnJvbSBhIG5ldyB2YWx1ZSB0byBhbiBvbGQgdmFsdWU6CisKKyAg
ICAgICAgMS4gVGhlIHdlYiBwcm9jZXNzIGZvY3VzZXMgYW4gZWxlbWVudCBhbmQgc2VuZHMgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb24gYEFgLgorICAgICAgICAyLiBXS0NvbnRlbnRWaWV3IGNhbGxz
IC11cGRhdGVDdXJyZW50QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uCisgICAgICAgIDMuIFRoZSB3
ZWIgcHJvY2VzcyBzZW5kcyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBgQmAuCisgICAgICAgIDQu
IGBBYCBpcyByZWNlaXZlZCBpbiB0aGUgVUkgcHJvY2VzcywgYnV0IGRlZmVycmVkLgorICAgICAg
ICA1LiBUaGUgVUkgcHJvY2VzcyByZWNlaXZlcyBgQmAgYW5kIHNldHMgX2Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uIHRvIGBCYC4KKyAgICAgICAgNi4gVGhlIFVJIHByb2Nlc3MgY2FsbHMgLV9zdGFy
dEFzc2lzdGluZ05vZGU6IGFuZCBzZXRzIF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB0byBgQWAu
CisKKyAgICAgICAgVGhpcyB3b3VsZCBtZWFuIHRoYXQgdGhlIF9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbiBpcyBzZXQgdG8gYW4gZWFybGllciB2YWx1ZSwgYEFgLCBhZnRlciBiZWluZyBzZXQgdG8g
YSBsYXRlcgorICAgICAgICB2YWx1ZSwgYEJgLiBIb3dldmVyLCBiZWNhdXNlIHRoZSBBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbiBpZGVudGlmaWVyIGluIHN0ZXAgKDIpIHJlZmVycyB0byB0aGUgYXNz
aXN0ZWQgbm9kZQorICAgICAgICBwcmlvciB0byBzdGVwICgxKSwgdGhlIGFzc2lzdGVkIG5vZGUg
aWRlbnRpZmllciBpbiAoNSkgd291bGQgbm90IG1hdGNoIHRoaXMgaWRlbnRpZmllciwgYW5kIHdl
IHdvdWxkIHNpbXBseSBiYWlsCisgICAgICAgIGluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgYXNzaXN0
ZWQgbm9kZSBpbmZvcm1hdGlvbi4KKworICAgICAgICBXZSB1c2UgdGhpcyBBc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbiB1cGRhdGUgbWVjaGFuaXNtIGFmdGVyIGluc2VydGluZyB0ZXh0IHZpYSBpbnB1
dCB2aWV3IGNvbnRyb2xsZXJzLCBhbmQgYWxzbworICAgICAgICBhZnRlciByZWVudGVyaW5nIGVk
aXQgbW9kZSBmcm9tIHRoZSBmb2N1c2VkIGZvcm0gY29udHJvbCB2aWV3IGNvbnRyb2xsZXIuIFRo
aXMgZml4ZXMgdHdvIGlzc3VlcyB3aGVyZSBjaGFuZ2luZworICAgICAgICB0aGUgc2l6ZSBvZiB0
aGUgZm9jdXNlZCBlbGVtZW50IGFmdGVyIGVkaXRpbmcgaXQgcmVzdWx0cyBpbiB0aGUgZm9jdXNl
ZCBmb3JtIG92ZXJsYXkgaGlnaGxpZ2h0aW5nIGEgc3RhbGUgZnJhbWUsCisgICAgICAgIGFuZCBh
bHNvIHdoZW4gc2V0dGluZyB0aGUgaW5pdGlhbCB0ZXh0IHdoZW4gcmVlbnRlcmluZyBlZGl0IG1v
ZGUgZm9yIGEgZm9ybSBjb250cm9sIHRoYXQgaXMgYWxyZWFkeSBmb2N1c2VkLgorCisgICAgICAg
ICogU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6
OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9Bc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5oOgorCisgICAgICAgIEFkZCBhIG5ldyBtb25vdG9uaWNhbGx5
IGluY3JlYXNpbmcgaWRlbnRpZmllciAocGVyIFdlYlBhZ2UpIHdoaWNoIGFzc29jaWF0ZXMgYSBB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB3aXRoIGEKKyAgICAgICAgZm9jdXNlZCBlbGVtZW50LiBJ
biB0aGUgZXZlbnQgdGhhdCB0aGUgd2ViIHByb2Nlc3MgY3Jhc2hlcyBhbmQgcmVsYXVuY2hlcyAo
dGh1cyByZXNldHRpbmcgdGhpcyBpZGVudGlmaWVyKSwKKyAgICAgICAgQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24gc3RhdGUgaW4gdGhlIFVJIHByb2Nlc3MgaXMgbm93IGFsc28gcmVzZXQgKHNlZSAt
Y2xlYW51cEludGVyYWN0aW9uKSwgc28gd2Ugd29uJ3QgZW5kIHVwCisgICAgICAgIGNvbmZ1c2lu
ZyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbnMgY29tcHV0ZWQgYnkgZGlmZmVyZW50IFdlYlBhZ2Vz
IGJldHdlZW4gYSB3ZWIgcHJvY2VzcyBjcmFzaC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKworICAgICAgICBBIGJpdCBvZiByZWxhdGVkIHJlZmFjdG9yaW5nIGhlcmUg
dG8gcmVtb3ZlIGFuIHVubmVjZXNzYXJ5IGJvb2wgZmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVy
IHdlIGhhdmUgYSBkZWZlcnJlZAorICAgICAgICBhc3Npc3RlZCBub2RlIGluZm9ybWF0aW9uLiBJ
bnN0ZWFkLCBqdXN0IHVzZSB0aGUgcHJlc2VuY2Ugb2YgbV9kZWZlcnJlZE5vZGVBc3Npc3RhbmNl
QXJndW1lbnRzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKworICAgICAgICBBZGQgYSBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrIElQQyBt
ZXNzYWdlLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2xlYW51cEludGVyYWN0aW9uXSk6CisK
KyAgICAgICAgQ2xlYXIgb3V0IHRoZSBwcmV2aW91cyBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi4g
U2VlIGFib3ZlIGZvciBkZXRhaWxzLgorCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3N0YXJ0
QXNzaXN0aW5nTm9kZTp1c2VySXNJbnRlcmFjdGluZzpibHVyUHJldmlvdXNOb2RlOmNoYW5naW5n
QWN0aXZpdHlTdGF0ZTp1c2VyT2JqZWN0Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHVw
ZGF0ZUN1cnJlbnRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbjpdKToKKworICAgICAgICBUcmllcyB0
byB1cGRhdGUgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IGFzc2lzdGVk
IG5vZGUsIGludm9raW5nIHRoZSBjb21wbGV0aW9uIGNhbGxiYWNrIHdoZW4KKyAgICAgICAgZmlu
aXNoZWQuIFRoaXMgbWF5IHJlc3VsdCBpbiB0aGUgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbiBu
b3QgYmVpbmcgdXBkYXRlZCBkdWUgdG8gdGhlIGN1cnJlbnQgYXNzaXN0ZWQgbm9kZQorICAgICAg
ICBjaGFuZ2luZyBpbiB0aGUgdGltZSBiZXR3ZWVuIHRoZSBzdGFydCBvZiB0aGUgcmVxdWVzdCBh
bmQgdGhlIGluZm9ybWF0aW9uIGJlaW5nIHJlY2VpdmVkIGluIHRoZSBVSSBwcm9jZXNzLgorCisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQ3VycmVudEFz
c2lzdGVkTm9kZV0pOgorCisgICAgICAgIFJlZmFjdG9yZWQgZnJvbSAtcHJlc2VudFZpZXdDb250
cm9sbGVyRm9yQXNzaXN0ZWROb2RlOiwgc3VjaCB0aGF0IGl0IG5vIGxvbmdlciB0YWtlcyBhbiBB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbgorICAgICAgICBhcyBhbiBhcmd1bWVudCwgYnV0IHJhdGhl
ciBqdXN0IHVzZXMgV0tDb250ZW50VmlldydzIGN1cnJlbnQgX2Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLiBUaGlzIHdhcyBqdXN0IGJlaW5nCisgICAgICAgIGNhbGxlZCB3aXRoIF9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbiBmcm9tIGFsbCBjYWxsIHNpdGVzIGFueXdheXMuCisKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyB0ZXh0SW5wdXRDb250cm9sbGVyOmRpZENvbW1pdFRleHQ6XSk6CisKKyAg
ICAgICAgUmVxdWVzdCBhbiBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiB1cGRhdGUgYWZ0ZXIgc2V0
dGluZyB0aGUgdmFsdWUgb2YgYSBmb3JtIGNvbnRyb2w7IGlmIHRoZSBhc3Npc3RlZCBub2RlIGhh
c24ndAorICAgICAgICBjaGFuZ2VkLCB1cGRhdGUgdGhlIGZvY3VzZWQgZm9ybSBjb250cm9sIG92
ZXJsYXkuIFRoaXMgaXMgbmVlZGVkIHRvIGhhbmRsZSBjYXNlcyB3aGVyZSB0aGUgZm9jdXNlZCBl
bGVtZW50J3MKKyAgICAgICAgZnJhbWUgbWF5IGhhdmUgY2hhbmdlZCBhZnRlciBpbnNlcnRpbmcg
dGV4dCAoZS5nLiBkdWUgdG8gbGluZSB3cmFwcGluZyksIGFuZCB0aGUgZm9jdXNlZCBmb3JtIGNv
bnRyb2wgb3ZlcmxheQorICAgICAgICBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhp
cyBjaGFuZ2UuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBmb2N1c2VkRm9ybUNvbnRyb2xD
b250cm9sbGVyRGlkQmVnaW5FZGl0aW5nOl0pOgorCisgICAgICAgIFJlcXVlc3QgYW4gQXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24gdXBkYXRlIGJlZm9yZSByZWVudGVyaW5nIGVkaXQgbW9kZTsgaWYg
dGhlIGFzc2lzdGVkIG5vZGUgaGFzbid0IGNoYW5nZWQgc2luY2UKKyAgICAgICAgdGhlIHN0YXJ0
IG9mIHRoZSByZXF1ZXN0LCBwcmVzZW50IHRoZSBhcHByb3ByaWF0ZSBpbnB1dCB2aWV3IGNvbnRy
b2xsZXIuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBwcmVzZW50Vmlld0NvbnRyb2xsZXJG
b3JBc3Npc3RlZE5vZGU6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6YXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb25DYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
cmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5OjpkaWRDb21taXRMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnN0YXJ0QXNzaXN0aW5nTm9kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
c3RvcEFzc2lzdGluZ05vZGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZWxlbWVudERpZEZvY3VzKToKKworICAg
ICAgICBJbmNyZW1lbnQgdGhlIGFzc2lzdGVkIG5vZGUgaWRlbnRpZmllci4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0QXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24pOgorCisgICAgICAgIENvbXB1dGUgYW5kIHJldHVybiBhbiBBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpnZXRBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbik6CisKIDIwMTgtMDItMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0V4dHJhIHpvb20gbW9kZV0gQWRkIGJhc2lj
IHN1cHBvcnQgZm9yIDxpbnB1dCB0eXBlPSdkYXRlJz4gdXNpbmcgZGF0ZSBwaWNrZXIgVUkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcAppbmRl
eCA0MjM2ZTA5MDhiZDMzZjc4OTU3Y2JjYThmN2NhMGEyMzlhNTdmYWQxLi5kYzk4NGM4MjU2Njcz
ZTkwOGM3YmFjM2FhZTc0NDBiOGU4ZWQzN2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwCkBAIC04OSw2ICs4OSw3IEBAIHZvaWQgQXNz
aXN0ZWROb2RlSW5mb3JtYXRpb246OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBhY2NlcHRzQXV0b2ZpbGxlZExvZ2luQ3JlZGVudGlhbHM7CiAgICAg
ZW5jb2RlciA8PCByZXByZXNlbnRpbmdQYWdlVVJMOwogICAgIGVuY29kZXIuZW5jb2RlRW51bShh
dXRvZmlsbEZpZWxkTmFtZSk7CisgICAgZW5jb2RlciA8PCBhc3Npc3RlZE5vZGVJZGVudGlmaWVy
OwogfQogCiBib29sIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVy
JiBkZWNvZGVyLCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgcmVzdWx0KQpAQCAtMTcxLDYgKzE3
Miw5IEBAIGJvb2wgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb246OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIEFzc2lzdGVkTm9kZUluZm9ybWF0CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVu
dW0ocmVzdWx0LmF1dG9maWxsRmllbGROYW1lKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYXNzaXN0ZWROb2RlSWRlbnRpZmllcikpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiB0cnVlOwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaAppbmRleCAwOGE5
ZjcyNGU0MmQ1OWM2ODk4NmI1NWM1OGFhZDVkYThlOTIxZmIzLi5lNGYzZDQ5MDg3NWFjNDI0ZTg5
N2Q2Y2FlYTE5OTBmZDZhNDU4MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uLmgKQEAgLTExNCw2ICsxMTQsOCBAQCBzdHJ1Y3QgQXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24gewogICAgIFdlYkNvcmU6OlVSTCByZXByZXNlbnRpbmdQYWdlVVJMOwog
ICAgIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lIGF1dG9maWxsRmllbGROYW1lIHsgV2ViQ29y
ZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5vbmUgfTsKIAorICAgIHVpbnQ2NF90IGFzc2lzdGVkTm9k
ZUlkZW50aWZpZXIgeyAwIH07CisKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25z
dDsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24mKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IGRhYjI0MDA4ZjkyNTdhYmE2NTM3NGM4YzUxMmY1NGU4YzVkNmFhNDEuLjkyMjcwMWEwZTMzNjdj
YjMzMTZmMTVhMzI3ZTNkY2M0MWNiYzhhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC0yODUsNiArMjg1LDcgQEAgdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29u
c3QgU3RyaW5nJiwgZG91YmxlLCBib29sPiBGb250QXRTZWxlY3Rpb25DYWxsYmFjazsKIHR5cGVk
ZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgdWludDMyX3QsIHVp
bnQzMl90LCB1aW50MzJfdD4gR2VzdHVyZUNhbGxiYWNrOwogdHlwZWRlZiBHZW5lcmljQ2FsbGJh
Y2s8Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCB1aW50MzJfdCwgdWludDMyX3Q+IFRvdWNoZXND
YWxsYmFjazsKIHR5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpT
ZWxlY3Rpb25SZWN0PiY+IFNlbGVjdGlvblJlY3RzQ2FsbGJhY2s7Cit0eXBlZGVmIEdlbmVyaWND
YWxsYmFjazxjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiY+IEFzc2lzdGVkTm9kZUluZm9y
bWF0aW9uQ2FsbGJhY2s7CiBzdHJ1Y3QgTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgewogICAgIEFz
c2lzdGVkTm9kZUluZm9ybWF0aW9uIG1fbm9kZUluZm9ybWF0aW9uOwogICAgIGJvb2wgbV91c2Vy
SXNJbnRlcmFjdGluZzsKQEAgLTEwOTAsNiArMTA5MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFNob3VsZFJlY29yZE5hdmlnYXRpb25TbmFwc2hvdHMoYm9vbCBzaG91bGRSZWNvcmRTbmFwc2hv
dHMpIHsgbV9zaG91bGRSZWNvcmROYXZpZ2F0aW9uU25hcHNob3RzID0gc2hvdWxkUmVjb3JkU25h
cHNob3RzOyB9CiAgICAgdm9pZCByZWNvcmRBdXRvbWF0aWNOYXZpZ2F0aW9uU25hcHNob3QoKTsK
ICAgICB2b2lkIHJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVt
Jik7CisgICAgdm9pZCByZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oRnVuY3Rpb248dm9p
ZChjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYm
KTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJlZlB0cjxWaWV3U25hcHNob3Q+IHRha2VW
aWV3U25hcHNob3QoKTsKQEAgLTE2MjUsNiArMTYyNyw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lk
IGVuYWJsZUluc3BlY3Rvck5vZGVTZWFyY2goKTsKICAgICB2b2lkIGRpc2FibGVJbnNwZWN0b3JO
b2RlU2VhcmNoKCk7CisgICAgdm9pZCBhc3Npc3RlZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrKGNv
bnN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiwgQ2FsbGJhY2tJRCk7CiAjZW5kaWYgLy8gUExB
VEZPUk0oSU9TKQogCiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQpAQCAtMjA4MSw3ICsyMDg0
LDYgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIGJvb2wgbV9o
YXNEZWZlcnJlZFN0YXJ0QXNzaXN0aW5nTm9kZSB7IGZhbHNlIH07CiAgICAgc3RkOjp1bmlxdWVf
cHRyPE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzPiBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1
bWVudHM7CiAgICAgYm9vbCBtX2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlIHsgZmFsc2UgfTsKICAg
ICBXZWJDb3JlOjpGbG9hdFNpemUgbV92aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0
U2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgppbmRleCBhMmQ0ODRkZjk1YmJhYzk2MmVlNWU0ZjljYmY2NTNkNWM0MjY3MGJlLi4xYmYw
ZjA1ZDRhN2Y5ZDExNDBjNjRiNGY3MmNhOTA4MDFlMzBlY2EyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00MDAsNiArNDAwLDcg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBPdmVyZmxvd1Njcm9sbERpZEVuZFNj
cm9sbCgpCiAgICAgU2hvd0luc3BlY3RvckhpZ2hsaWdodChzdHJ1Y3QgV2ViQ29yZTo6SGlnaGxp
Z2h0IGhpZ2hsaWdodCkKICAgICBIaWRlSW5zcGVjdG9ySGlnaGxpZ2h0KCkKKyAgICBBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrKHN0cnVjdCBXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9y
bWF0aW9uIGluZm9ybWF0aW9uLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKIAogICAg
IFNob3dJbnNwZWN0b3JJbmRpY2F0aW9uKCkKICAgICBIaWRlSW5zcGVjdG9ySW5kaWNhdGlvbigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQppbmRleCAyOTM4MWNhOTVkN2NiY2FlODk1OTE5YmNkYzUxYzk0MzBjYjRm
ZGYwLi40MTcxZWZiNzg5Y2FlMjI1NWRiNDE4OTQzZWExNTNiNDI4N2E2OTU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KQEAgLTcxNyw2ICs3MTcsNyBAQCAtICh2b2lkKWNsZWFudXBJbnRlcmFjdGlvbgogICAg
IH0KICAgICAKICAgICBfaW5wdXRWaWV3VXBkYXRlRGVmZXJyZXIgPSBudWxscHRyOworICAgIF9h
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbiA9IHsgfTsKIH0KIAogLSAodm9pZClfcmVtb3ZlRGVmYXVs
dEdlc3R1cmVSZWNvZ25pemVycwpAQCAtNDAzMiw3ICs0MDMzLDcgQEAgLSAodm9pZClfc3RhcnRB
c3Npc3RpbmdOb2RlOihjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYpaW5mb3JtYXRpb24g
dXNlcklzSW4KICNpZiBFTkFCTEUoRVhUUkFfWk9PTV9NT0RFKQogICAgIFtzZWxmIHByZXNlbnRG
b2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlcjpOT107CiAgICAgaWYgKCFfaXNDaGFuZ2lu
Z0ZvY3VzKQotICAgICAgICBbc2VsZiBwcmVzZW50Vmlld0NvbnRyb2xsZXJGb3JBc3Npc3RlZE5v
ZGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uXTsKKyAgICAgICAgW3NlbGYgcHJlc2VudFZpZXdD
b250cm9sbGVyRm9yQ3VycmVudEFzc2lzdGVkTm9kZV07CiAjZWxzZQogICAgIFtzZWxmIHJlbG9h
ZElucHV0Vmlld3NdOwogI2VuZGlmCkBAIC00MTAxLDYgKzQxMDIsMjIgQEAgLSAodm9pZClfc3Rv
cEFzc2lzdGluZ05vZGUKICAgICBbX3dlYlZpZXcgZGlkRW5kRm9ybUNvbnRyb2xJbnRlcmFjdGlv
bl07CiB9CiAKKy0gKHZvaWQpdXBkYXRlQ3VycmVudEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOihG
dW5jdGlvbjx2b2lkKGJvb2wgZGlkVXBkYXRlKT4mJiljYWxsYmFjaworeworICAgIFdlYWtPYmpD
UHRyPFdLQ29udGVudFZpZXc+IHdlYWtTZWxmIHsgc2VsZiB9OworICAgIGF1dG8gaWRlbnRpZmll
ckJlZm9yZVVwZGF0ZSA9IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hc3Npc3RlZE5vZGVJZGVu
dGlmaWVyOworICAgIF9wYWdlLT5yZXF1ZXN0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oW2NhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayksIGlkZW50aWZpZXJCZWZvcmVVcGRhdGUsIHdlYWtTZWxm
XSAoYXV0byYgaW5mbywgYXV0byBlcnJvcikgeworICAgICAgICBpZiAoIXdlYWtTZWxmIHx8IGVy
cm9yICE9IENhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUgfHwgaW5mby5hc3Npc3RlZE5vZGVJZGVu
dGlmaWVyICE9IGlkZW50aWZpZXJCZWZvcmVVcGRhdGUpIHsKKyAgICAgICAgICAgIC8vIElmIHRo
ZSBhc3Npc3RlZCBub2RlIG1heSBoYXZlIGNoYW5nZWQgaW4gdGhlIG1lYW50aW1lLCBkb24ndCBv
dmVyd3JpdGUgYXNzaXN0ZWQgbm9kZSBpbmZvcm1hdGlvbi4KKyAgICAgICAgICAgIGNhbGxiYWNr
KGZhbHNlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHdlYWtT
ZWxmLmdldCgpLT5fYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gPSBpbmZvOworICAgICAgICBjYWxs
YmFjayh0cnVlKTsKKyAgICB9KTsKK30KKwogI2lmIEVOQUJMRShFWFRSQV9aT09NX01PREUpCiAK
IC0gKHZvaWQpZGlzbWlzc0FsbElucHV0Vmlld0NvbnRyb2xsZXJzCkBAIC00MjA3LDkgKzQyMjQs
MTEgQEAgLSAodm9pZClwcmVzZW50TnVtYmVyUGFkVmlld0NvbnRyb2xsZXI6KEJPT0wpYW5pbWF0
ZWQKICAgICBbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29u
dHJvbGxlcjpfbnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuZ2V0KCkgYW5pbWF0ZWQ6YW5pbWF0ZWQg
Y29tcGxldGlvbjpuaWxdOwogfQogCi0tICh2b2lkKXByZXNlbnRWaWV3Q29udHJvbGxlckZvckFz
c2lzdGVkTm9kZTooY29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mKWluZm8KKy0gKHZvaWQp
cHJlc2VudFZpZXdDb250cm9sbGVyRm9yQ3VycmVudEFzc2lzdGVkTm9kZQogewotICAgIHN3aXRj
aCAoaW5mby5lbGVtZW50VHlwZSkgeworICAgIFtzZWxmIGRpc21pc3NBbGxJbnB1dFZpZXdDb250
cm9sbGVyc107CisKKyAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSkgewogICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CiAgICAgY2FzZSBJbnB1dFR5cGU6
Ok51bWJlclBhZDoKICAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6CkBAIC00MjUzLDcgKzQyNzIs
NiBAQCAtICh2b2lkKWRpc21pc3NUZXh0SW5wdXRWaWV3Q29udHJvbGxlcjooQk9PTClhbmltYXRl
ZAogCiAtICh2b2lkKXRleHRJbnB1dENvbnRyb2xsZXI6KFdLVGV4dEZvcm1Db250cm9sVmlld0Nv
bnRyb2xsZXIgKiljb250cm9sbGVyIGRpZENvbW1pdFRleHQ6KE5TU3RyaW5nICopdGV4dAogewot
ICAgIC8vIEZJWE1FOiBVcGRhdGUgY2FjaGVkIEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHN0YXRl
IGluIHRoZSBVSSBwcm9jZXNzLgogICAgIF9wYWdlLT5zZXRUZXh0QXN5bmModGV4dCk7CiAKICAg
ICBpZiAoIVtzZWxmIGFjdGlvbk5hbWVGb3JGb2N1c2VkRm9ybUNvbnRyb2xDb250cm9sbGVyOl9m
b2N1c2VkRm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlci5nZXQoKV0gJiYgIV9hc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbi5oYXNOZXh0Tm9kZSAmJiAhX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmhhc1By
ZXZpb3VzTm9kZSkgewpAQCAtNDI2NSw2ICs0MjgzLDEwIEBAIC0gKHZvaWQpdGV4dElucHV0Q29u
dHJvbGxlcjooV0tUZXh0Rm9ybUNvbnRyb2xWaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgZGlk
Q29tCiAKICAgICBbX2ZvY3VzZWRGb3JtQ29udHJvbFZpZXdDb250cm9sbGVyIHNob3c6Tk9dOwog
ICAgIFtzZWxmIGRpc21pc3NBbGxJbnB1dFZpZXdDb250cm9sbGVyc107CisgICAgW3NlbGYgdXBk
YXRlQ3VycmVudEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOlt3ZWFrU2VsZiA9IFdlYWtPYmpDUHRy
PFdLQ29udGVudFZpZXc+KHNlbGYpXSAoYm9vbCBkaWRVcGRhdGUpIHsKKyAgICAgICAgaWYgKGRp
ZFVwZGF0ZSkKKyAgICAgICAgICAgIFt3ZWFrU2VsZi5nZXQoKS0+X2ZvY3VzZWRGb3JtQ29udHJv
bFZpZXdDb250cm9sbGVyIHJlbG9hZERhdGE6WUVTXTsKKyAgICB9XTsKIH0KIAogLSAodm9pZCl0
ZXh0SW5wdXRDb250cm9sbGVyRGlkUmVxdWVzdERpc21pc3NhbDooV0tUZXh0Rm9ybUNvbnRyb2xW
aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIKQEAgLTQyODUsNyArNDMwNywxMCBAQCAtICh2b2lk
KWZvY3VzZWRGb3JtQ29udHJvbENvbnRyb2xsZXJEaWRDYW5jZWw6KFdLRm9jdXNlZEZvcm1Db250
cm9sVmlld0NvbnRyb2xsZQogCiAtICh2b2lkKWZvY3VzZWRGb3JtQ29udHJvbENvbnRyb2xsZXJE
aWRCZWdpbkVkaXRpbmc6KFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIgKiljb250
cm9sbGVyCiB7Ci0gICAgW3NlbGYgcHJlc2VudFZpZXdDb250cm9sbGVyRm9yQXNzaXN0ZWROb2Rl
Ol9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbl07CisgICAgW3NlbGYgdXBkYXRlQ3VycmVudEFzc2lz
dGVkTm9kZUluZm9ybWF0aW9uOlt3ZWFrU2VsZiA9IFdlYWtPYmpDUHRyPFdLQ29udGVudFZpZXc+
KHNlbGYpXSAoYm9vbCBkaWRVcGRhdGUpIHsKKyAgICAgICAgaWYgKGRpZFVwZGF0ZSkKKyAgICAg
ICAgICAgIFt3ZWFrU2VsZiBwcmVzZW50Vmlld0NvbnRyb2xsZXJGb3JDdXJyZW50QXNzaXN0ZWRO
b2RlXTsKKyAgICB9XTsKIH0KIAogLSAoQ0dSZWN0KWhpZ2hsaWdodGVkUmVjdEZvckZvY3VzZWRG
b3JtQ29udHJvbENvbnRyb2xsZXI6KFdLRm9jdXNlZEZvcm1Db250cm9sVmlld0NvbnRyb2xsZXIg
Kiljb250cm9sbGVyIGluQ29vcmRpbmF0ZVNwYWNlOihpZCA8VUlDb29yZGluYXRlU3BhY2U+KWNv
b3JkaW5hdGVTcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dl
YlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KaW5kZXggOTZhOGJmZWM1MDdiMmFjOTFiZTA4MDY5YTU0NmFlODAwZjY1MGE3ZC4u
Y2E2ZDhkMjFjNjlmYTAwYWJmOGU1OGMyNzlkYmU4ZTBjODkyZTI2OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0xOTIsNiArMTkyLDI4
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZWxlY3Rpb25SZWN0c0NhbGxiYWNrKGNvbnN0IFZlY3Rv
cjxXZWJDb3JlOjpTZWxlY3Rpb25SZWN0PiYKICAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNr
V2l0aFJldHVyblZhbHVlKHNlbGVjdGlvblJlY3RzKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6
OmFzc2lzdGVkTm9kZUluZm9ybWF0aW9uQ2FsbGJhY2soY29uc3QgQXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24mIGluZm8sIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3sKKyAgICBhdXRvIGNhbGxiYWNr
ID0gbV9jYWxsYmFja3MudGFrZTxBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbkNhbGxiYWNrPihjYWxs
YmFja0lEKTsKKyAgICBpZiAoIWNhbGxiYWNrKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsbGJhY2stPnBlcmZvcm1DYWxs
YmFja1dpdGhSZXR1cm5WYWx1ZShpbmZvKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVl
c3RBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihGdW5jdGlvbjx2b2lkKGNvbnN0IEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uJiwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYgY2FsbGJhY2spCit7CisgICAg
aWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAgICAgY2FsbGJhY2soeyB9LCBDYWxsYmFja0Jhc2U6OkVy
cm9yOjpPd25lcldhc0ludmFsaWRhdGVkKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGF1dG8gY2FsbGJhY2tJRCA9IG1fY2FsbGJhY2tzLnB1dChXVEZNb3ZlKGNhbGxiYWNrKSwgbV9w
cm9jZXNzLT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpKTsKKyAgICBtX3By
b2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJlcXVlc3RBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbihjYWxsYmFja0lEKSwgbV9wYWdlSUQpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZv
JiB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGUpCiB7CiAgICAgaWYgKCFpc1ZhbGlkKCkpCkBAIC0z
OTcsMTAgKzQxOSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMYXllclRyZWUoY29u
c3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYKICAgICAgICAgZGlkUmVhY2hM
YXlvdXRNaWxlc3RvbmUoV2ViQ29yZTo6UmVhY2hlZFNlc3Npb25SZXN0b3JhdGlvblJlbmRlclRy
ZWVTaXplVGhyZXNob2xkKTsKICAgICB9CiAKLSAgICBpZiAobV9oYXNEZWZlcnJlZFN0YXJ0QXNz
aXN0aW5nTm9kZSkgeworICAgIGlmIChtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMp
IHsKICAgICAgICAgbV9wYWdlQ2xpZW50LnN0YXJ0QXNzaXN0aW5nTm9kZShtX2RlZmVycmVkTm9k
ZUFzc2lzdGFuY2VBcmd1bWVudHMtPm1fbm9kZUluZm9ybWF0aW9uLCBtX2RlZmVycmVkTm9kZUFz
c2lzdGFuY2VBcmd1bWVudHMtPm1fdXNlcklzSW50ZXJhY3RpbmcsIG1fZGVmZXJyZWROb2RlQXNz
aXN0YW5jZUFyZ3VtZW50cy0+bV9ibHVyUHJldmlvdXNOb2RlLAogICAgICAgICAgICAgbV9kZWZl
cnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzLT5tX2NoYW5naW5nQWN0aXZpdHlTdGF0ZSwgbV9k
ZWZlcnJlZE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzLT5tX3VzZXJEYXRhLmdldCgpKTsKLSAgICAg
ICAgbV9oYXNEZWZlcnJlZFN0YXJ0QXNzaXN0aW5nTm9kZSA9IGZhbHNlOwogICAgICAgICBtX2Rl
ZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMgPSBudWxscHRyOwogICAgIH0KIH0KQEAgLTkx
NSw3ICs5MzYsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c3RhcnRBc3Npc3RpbmdOb2RlKGNvbnN0
IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBpbmZvcm1hdGlvbgogICAgIEFQSTo6T2JqZWN0KiB1
c2VyRGF0YU9iamVjdCA9IHByb2Nlc3MoKS50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHVzZXJE
YXRhLm9iamVjdCgpKS5nZXQoKTsKICAgICBpZiAobV9lZGl0b3JTdGF0ZS5pc01pc3NpbmdQb3N0
TGF5b3V0RGF0YSkgewogICAgICAgICBtX2RlZmVycmVkTm9kZUFzc2lzdGFuY2VBcmd1bWVudHMg
PSBzdGQ6Om1ha2VfdW5pcXVlPE5vZGVBc3Npc3RhbmNlQXJndW1lbnRzPihOb2RlQXNzaXN0YW5j
ZUFyZ3VtZW50cyB7IGluZm9ybWF0aW9uLCB1c2VySXNJbnRlcmFjdGluZywgYmx1clByZXZpb3Vz
Tm9kZSwgY2hhbmdpbmdBY3Rpdml0eVN0YXRlLCB1c2VyRGF0YU9iamVjdCB9KTsKLSAgICAgICAg
bV9oYXNEZWZlcnJlZFN0YXJ0QXNzaXN0aW5nTm9kZSA9IHRydWU7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTkyNCwxMCArOTQ0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnN0YXJ0QXNz
aXN0aW5nTm9kZShjb25zdCBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24KIAog
dm9pZCBXZWJQYWdlUHJveHk6OnN0b3BBc3Npc3RpbmdOb2RlKCkKIHsKLSAgICBpZiAobV9oYXNE
ZWZlcnJlZFN0YXJ0QXNzaXN0aW5nTm9kZSkgewotICAgICAgICBtX2hhc0RlZmVycmVkU3RhcnRB
c3Npc3RpbmdOb2RlID0gZmFsc2U7Ci0gICAgICAgIG1fZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFy
Z3VtZW50cyA9IG51bGxwdHI7Ci0gICAgfQorICAgIG1fZGVmZXJyZWROb2RlQXNzaXN0YW5jZUFy
Z3VtZW50cyA9IG51bGxwdHI7CiAgICAgbV9wYWdlQ2xpZW50LnN0b3BBc3Npc3RpbmdOb2RlKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5k
ZXggOTJlNDg2ZmVjNDY0ZGNhZWE3YTMzYmE3YmQ0Yjk2NzgwMTM5YmJmNC4uNTgxZTE4NmQ5ODI5
M2IwMGYwYzRiOTk3Yzg5ZDZhNzcxZDk2Y2I2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTQ4OTcsNiArNDg5Nyw3IEBAIHZvaWQgV2ViUGFn
ZTo6ZWxlbWVudERpZEZvY3VzKFdlYkNvcmU6Ok5vZGUqIG5vZGUpCiAgICAgICAgIG1faXNBc3Np
c3RpbmdOb2RlRHVlVG9Vc2VySW50ZXJhY3Rpb24gfD0gbV91c2VySXNJbnRlcmFjdGluZzsKIAog
I2lmIFBMQVRGT1JNKElPUykKKyAgICAgICAgKyttX2N1cnJlbnRBc3Npc3RlZE5vZGVJZGVudGlm
aWVyOwogICAgICAgICBBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiBpbmZvcm1hdGlvbjsKICAgICAg
ICAgZ2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oaW5mb3JtYXRpb24pOwogICAgICAgICBSZWZQ
dHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCmluZGV4IDhmZGNlZjBkYTA3N2Y5NjQzZDI1OWViYmNjMTI3NTM4NTZjMWNj
NzMuLjc2ODlkYmI4MjVkZWE0NWY3YWY5OTZkODYxZjllNjYzODQ0NTQyZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTU2OCw2ICs1NjgsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBpbnNwZWN0b3JOb2RlU2VhcmNoRW5kZWRBdFBvc2l0aW9uKGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKIAogICAgIHZvaWQgYmx1ckFzc2lzdGVkTm9kZSgpOwor
ICAgIHZvaWQgcmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKENhbGxiYWNrSUQpOwogICAg
IHZvaWQgc2VsZWN0V2l0aEdlc3R1cmUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCB1aW50MzJf
dCBncmFudWxhcml0eSwgdWludDMyX3QgZ2VzdHVyZVR5cGUsIHVpbnQzMl90IGdlc3R1cmVTdGF0
ZSwgYm9vbCBpc0ludGVyYWN0aW5nV2l0aEFzc2lzdGVkTm9kZSwgQ2FsbGJhY2tJRCk7CiAgICAg
dm9pZCB1cGRhdGVTZWxlY3Rpb25XaXRoVG91Y2hlcyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYs
IHVpbnQzMl90IHRvdWNoZXMsIGJvb2wgYmFzZUlzU3RhcnQsIENhbGxiYWNrSUQpOwogI2lmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMjAwMDAKQEAgLTE2MjUsNiArMTYyNiw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG1fcGVuZGluZ1N5bnRoZXRp
Y0NsaWNrTm9kZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fcGVuZGluZ1N5bnRoZXRpY0Ns
aWNrTG9jYXRpb247CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fcHJldmlvdXNFeHBvc2VkQ29u
dGVudFJlY3Q7CisgICAgdWludDY0X3QgbV9jdXJyZW50QXNzaXN0ZWROb2RlSWRlbnRpZmllciB7
IDAgfTsKICNlbmRpZgogCiAgICAgV2ViQ29yZTo6VGltZXIgbV9sYXllclZvbGF0aWxpdHlUaW1l
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCmluZGV4IDFmMTM1MTIxNDJkMjlkMjM1MGEzZWNhOTUzNmZkOGQ4YWFjZDVlMTcu
LjMxNzFiNDBkOTQ4NTYyOGU0MTdhMDUxMDYyY2NiMGJlODZiZjcxYTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAt
MTA0LDYgKzEwNCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAg
IFN0b3JlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eShib29sIHNob3VsZFN0b3JlKQogICAgIFN0
YXJ0QXV0b3Njcm9sbEF0UG9zaXRpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBwb3NpdGlvbkluV2lu
ZG93KQogICAgIENhbmNlbEF1dG9zY3JvbGwoKQorICAgIFJlcXVlc3RBc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbihXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNlbmRpZgogCiAgICAgU2V0
Q29udHJvbGxlZEJ5QXV0b21hdGlvbihib29sIGNvbnRyb2xsZWQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDdmZmIzZjgx
YWRjM2Q2YjdkN2E2YzUzOWFhZGViZWQwY2U2ZGQzZjQuLjU2OWI4MTU2NGMwNjBhNmM5MTMwN2Nh
NDc5ZjY1ZDc1YjdhZTk2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC02NDksNiArNjQ5LDE1IEBAIHZvaWQgV2ViUGFn
ZTo6aGFuZGxlVGFwKGNvbnN0IEludFBvaW50JiBwb2ludCwgdWludDY0X3QgbGFzdExheWVyVHJl
ZVRyYW5zYWN0aW9uCiAgICAgICAgIGhhbmRsZVN5bnRoZXRpY0NsaWNrKG5vZGVSZXNwb25kaW5n
VG9DbGljaywgYWRqdXN0ZWRQb2ludCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6cmVxdWVzdEFzc2lz
dGVkTm9kZUluZm9ybWF0aW9uKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQoreworICAg
IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIGluZm87CisgICAgaWYgKG1fYXNzaXN0ZWROb2RlKQor
ICAgICAgICBnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihpbmZvKTsKKworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6QXNzaXN0ZWROb2RlSW5mb3JtYXRpb25DYWxsYmFjayhpbmZv
LCBjYWxsYmFja0lEKSk7Cit9CisKICNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKIHZvaWQg
V2ViUGFnZTo6cmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKGNvbnN0IEludFBvaW50JiBjbGll
bnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uKQogewpAQCAtMjczMSw2
ICsyNzQwLDcgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiAgICAgaW5mb3JtYXRpb24uYWxsb3dz
VXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlID0gbV92aWV3cG9ydENvbmZpZ3VyYXRp
b24uYWxsb3dzVXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlKCk7CiAgICAgaW5mb3Jt
YXRpb24uaGFzTmV4dE5vZGUgPSBoYXNBc3Npc3RhYmxlRWxlbWVudChtX2Fzc2lzdGVkTm9kZS5n
ZXQoKSwgKm1fcGFnZSwgdHJ1ZSk7CiAgICAgaW5mb3JtYXRpb24uaGFzUHJldmlvdXNOb2RlID0g
aGFzQXNzaXN0YWJsZUVsZW1lbnQobV9hc3Npc3RlZE5vZGUuZ2V0KCksICptX3BhZ2UsIGZhbHNl
KTsKKyAgICBpbmZvcm1hdGlvbi5hc3Npc3RlZE5vZGVJZGVudGlmaWVyID0gbV9jdXJyZW50QXNz
aXN0ZWROb2RlSWRlbnRpZmllcjsKIAogICAgIGlmIChpczxIVE1MU2VsZWN0RWxlbWVudD4oKm1f
YXNzaXN0ZWROb2RlKSkgewogICAgICAgICBIVE1MU2VsZWN0RWxlbWVudCYgZWxlbWVudCA9IGRv
d25jYXN0PEhUTUxTZWxlY3RFbGVtZW50PigqbV9hc3Npc3RlZE5vZGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>