<?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>232651</bug_id>
          
          <creation_ts>2021-11-02 18:48:39 -0700</creation_ts>
          <short_desc>Make scroll bar mode an enum class</short_desc>
          <delta_ts>2021-11-05 16:07:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Nikos Mouchtaris">nmouchtaris</reporter>
          <assigned_to name="Nikos Mouchtaris">nmouchtaris</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1811349</commentid>
    <comment_count>0</comment_count>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-02 18:48:39 -0700</bug_when>
    <thetext>Make scroll bar mode an enum class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811352</commentid>
    <comment_count>1</comment_count>
      <attachid>443158</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-02 18:50:35 -0700</bug_when>
    <thetext>Created attachment 443158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811394</commentid>
    <comment_count>2</comment_count>
      <attachid>443175</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-02 22:39:25 -0700</bug_when>
    <thetext>Created attachment 443175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811478</commentid>
    <comment_count>3</comment_count>
      <attachid>443175</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-11-03 09:03:10 -0700</bug_when>
    <thetext>Comment on attachment 443175
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:3525
&gt; +    ScrollbarMode horizonalScrollbarMode = ScrollbarMode::AlwaysOff;
&gt; +    ScrollbarMode verticalScrollbarMode = ScrollbarMode::AlwaysOff;

These could use auto.

&gt; Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:393
&gt; +    ts.dumpProperty(&quot;horizontal scrollbar mode&quot;, static_cast&lt;int&gt;(scrollableAreaParameters.horizontalScrollbarMode));
&gt; +    ts.dumpProperty(&quot;vertical scrollbar mode&quot;, static_cast&lt;int&gt;(scrollableAreaParameters.verticalScrollbarMode));

Ideally you&apos;d fix this by implementing TextStream&amp; operator&lt;&lt;(TextStream&amp; ts, ScrollbarMode)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811703</commentid>
    <comment_count>4</comment_count>
      <attachid>443251</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-03 16:18:24 -0700</bug_when>
    <thetext>Created attachment 443251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811735</commentid>
    <comment_count>5</comment_count>
      <attachid>443265</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-03 18:34:34 -0700</bug_when>
    <thetext>Created attachment 443265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812217</commentid>
    <comment_count>6</comment_count>
      <attachid>443425</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-05 12:49:03 -0700</bug_when>
    <thetext>Created attachment 443425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812222</commentid>
    <comment_count>7</comment_count>
      <attachid>443428</attachid>
    <who name="Nikos Mouchtaris">nmouchtaris</who>
    <bug_when>2021-11-05 13:00:16 -0700</bug_when>
    <thetext>Created attachment 443428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812289</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-05 16:06:57 -0700</bug_when>
    <thetext>Committed r285357 (243916@main): &lt;https://commits.webkit.org/243916@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443428.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812290</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-05 16:07:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/85089344&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443158</attachid>
            <date>2021-11-02 18:50:35 -0700</date>
            <delta_ts>2021-11-02 22:39:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232651-20211102185034.patch</filename>
            <type>text/plain</type>
            <size>44643</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjOTky
MzJmOTQzM2IwODFmNzM2YTFhYjc3OWJhYi4uMGU3YmEzM2EyZTQ5ZThiNDg5NzE2MjEyZDE3ZmUw
M2Q2ZGFiZjk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTExLTAyICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVFbGVtZW50QmFzZTo6c2Nyb2xsaW5nTW9kZSBjb25z
dCk6CisgICAgICAgICogaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudDo6c2Nyb2xsaW5nTW9kZSBjb25zdCk6CisgICAg
ICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6Y3JlYXRlVmll
dyk6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6aW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpwZXJmb3JtRml4ZWRXaWR0aEF1dG9TaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6cGVyZm9ybVNpemVUb0NvbnRlbnRBdXRvU2l6ZSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmlzU2Nyb2xsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmVuYWJsZUF1dG9TaXplTW9kZSk6CisgICAgICAgICogcGFnZS9TcGF0aWFsTmF2aWdhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5TY3JvbGxJbkRpcmVjdGlvbik6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JUeXBlcy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZp
ZXc6OnNldENhbkhhdmVTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZv
cm1TY3JvbGxiYXJNb2RlcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5o
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxhYmxlQXJlYTo6aG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6Y2FuSGF2ZVNjcm9sbGJhcnMgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0FLU2Nyb2xsVmlldy5tbToKKyAgICAg
ICAgKC1bV0FLU2Nyb2xsVmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZV0pOgorICAgICAgICAo
LVtXQUtTY3JvbGxWaWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZV0pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGcmFtZUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJhbWVC
YXNlOjpwZXJmb3JtTGF5b3V0V2l0aEZsYXR0ZW5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySUZyYW1lOjpmbGF0dGVu
RnJhbWUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpmcmFtZUVsZW1lbnRBbmRWaWV3UGVybWl0U2Nyb2xsKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNv
bXB1dGVQYWdlVGlsZWRCYWNraW5nQ292ZXJhZ2UpOgorCiAyMDIxLTEwLTI4ICBBbmRyZXMgR29u
emFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBJc29sYXRlZCB0cmVlIG1v
ZGU6IERpc3BhdGNoIGFsbCBjYWxscyB0byBbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIg
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlXSBpbiBXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQgdG8gdGhlIEFYIHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTAxNGRhNzYzNWM3NTI2YmEyZjAwODcw
ODdiYTc3YzE1MWJjYTNiNS4uMTNjM2JjMDNlYzgxZjgzNjQ4YTEwMTBjNzFkNDU5ZGM2ODIxNGI4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMS0wMiAgTmlrb2xhb3MgTW91Y2h0
YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBiYXIg
bW9kZSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlv
blRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRBbHdheXNTaG93c0hvcml6
b250YWxTY3JvbGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEFsd2F5c1Nob3dz
VmVydGljYWxTY3JvbGxlcik6CisKIDIwMjEtMTAtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdlYlBhZ2VQcm94eSBpZGVudGlmaWVycyB0
byBgVmlld0dlc3R1cmVzYCBjYXRlZ29yeSBsb2dnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDVkZTM3NGQ2ZjkwNzY1MTlkZTc4NThhMTE5ZmU3ODJhZTE0ZjJmNi4uYzU0ZDE2
MjcxNWQ5ZmJkMzVjNjE0OTE4YzQ3OWUyNmZhYzlhMjFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTExLTAyICBOaWtvbGFvcyBNb3VjaHRhcmlz
ICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGJhciBtb2Rl
IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAg
IChXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6
CisgICAgICAgICogV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW06CisgICAgICAg
ICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBzZXRBbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5n
Ol0pOgorICAgICAgICAoLVtXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgdXBkYXRlU2Nyb2xsZXJz
XSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NIb3Jpem9udGFs
U2Nyb2xsaW5nXSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NW
ZXJ0aWNhbFNjcm9sbGluZ10pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViVmlldyBzZXRBbHdheXNTaG93VmVydGljYWxTY3JvbGxlcjpdKToKKyAgICAgICAg
KC1bV2ViVmlldyBhbHdheXNTaG93VmVydGljYWxTY3JvbGxlcl0pOgorICAgICAgICAoLVtXZWJW
aWV3IHNldEFsd2F5c1Nob3dIb3Jpem9udGFsU2Nyb2xsZXI6XSk6CisgICAgICAgICgtW1dlYlZp
ZXcgYWx3YXlzU2hvd0hvcml6b250YWxTY3JvbGxlcl0pOgorCiAyMDIxLTEwLTI4ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azEgXSAyIG1lZGlh
LWNhcGFiaWxpdGllcy93ZWJydGMgdGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCmluZGV4IGYzNWYzYmY3Nzc3MjY1
ZjAxZDA0OGE3MDFkZDJhYzZiNDI0YjAxMzEuLjdjNTc0MTU3YTE4NTVkOTk1NjYwY2JhYTRiODZk
NWFjZjhhMjNiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxl
bWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgU2Nyb2xsYmFyTW9kZSBIVE1MRnJhbWVFbGVtZW50
QmFzZTo6c2Nyb2xsaW5nTW9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHNjcm9sbGluZ0F0dHJpYnV0ZSwgIm5vIikKICAgICAgICAgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc2Nyb2xsaW5nQXR0cmlidXRlLCAibm9zY3JvbGwiKQog
ICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzY3JvbGxpbmdBdHRyaWJ1
dGUsICJvZmYiKQotICAgICAgICA/IFNjcm9sbGJhckFsd2F5c09mZiA6IFNjcm9sbGJhckF1dG87
CisgICAgICAgID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0
bzsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgKaW5kZXggOWY4NTNhYTEzZWY2NmFlMzllMDQ4NjFjM2QxNDM1
YzliNTE2Yzg4Ni4uZTJhZWIyZmUwYjIxODQ1MDBiZDBkMzcwZTY3MTA1NDU3NjhlMjkxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oCkBAIC01MSw3ICs1
MSw3IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gZ2V0U1ZHRG9jdW1l
bnQoKSBjb25zdDsKIAotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3JvbGxpbmdNb2RlKCkg
Y29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9k
ZSBzY3JvbGxpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQog
CiAgICAgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJv
eEZsYWdzOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggN2U4YWMwNTI0MGE1ZTEwM2M4NTRj
MGM0NTczZGRiMmM1YjdkN2EyYS4uNjE2NjIzNmZkMWE3NzYzZWM3NzFkMTY3NzllZWYwMDhlYzFl
MzA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTkxOSw3ICs5MTksNyBAQCB2b2lkIEZyYW1l
OjpjcmVhdGVWaWV3KGNvbnN0IEludFNpemUmIHZpZXdwb3J0U2l6ZSwgY29uc3Qgc3RkOjpvcHRp
b25hbDxDb2xvcj4mCiAgICAgICAgIG93bmVyUmVuZGVyZXIoKS0+c2V0V2lkZ2V0KGZyYW1lVmll
dyk7CiAKICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IG93bmVyRWxlbWVu
dCgpKQotICAgICAgICB2aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93bmVyLT5zY3JvbGxp
bmdNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgdmlldygpLT5zZXRDYW5I
YXZlU2Nyb2xsYmFycyhvd25lci0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZik7CiB9CiAKIERPTVdpbmRvdyogRnJhbWU6OndpbmRvdygpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgKaW5kZXggZjU0OGIwZmM1YjZhODc1NGJmNzA5MmVhZmNkOGVlMjVmOTNmYzFiMC4uMTI0
ZGYxODg1ZjcxZGNkN2Q2NWUwMWQ2OWZkNzliMTA0YTA3ZTY3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApA
QCAtMTI4LDggKzEyOCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFZp
ZXcoUmVmUHRyPEZyYW1lVmlldz4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjcmVhdGVW
aWV3KGNvbnN0IEludFNpemUmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbG9yPiYgYmFja2dyb3Vu
ZENvbG9yLAogICAgICAgICBjb25zdCBJbnRTaXplJiBmaXhlZExheW91dFNpemUsIGNvbnN0IElu
dFJlY3QmIGZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0LAotICAgICAgICBib29sIHVzZUZpeGVkTGF5
b3V0ID0gZmFsc2UsIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIGhvcml6b250
YWxMb2NrID0gZmFsc2UsCi0gICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBi
b29sIHZlcnRpY2FsTG9jayA9IGZhbHNlKTsKKyAgICAgICAgYm9vbCB1c2VGaXhlZExheW91dCA9
IGZhbHNlLCBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywgYm9vbCBob3Jpem9u
dGFsTG9jayA9IGZhbHNlLAorICAgICAgICBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6
QXV0bywgYm9vbCB2ZXJ0aWNhbExvY2sgPSBmYWxzZSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+
RnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU3OGVjZGI2OTNkZmE1
MzEwYTcxNjA2ZjAzNmJmZjZkMmZhYzYyNDYuLjI3ZGM1NDBiYmIzZDc3NDJkZDZkZjkyMTU4YjVm
Mjc2M2ZmMzc3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTI5Nyw5ICsyOTcs
OSBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzKCkKICAgICAvLyBSZXNldCB0aGUg
ZG9jdW1lbnQncyBzY3JvbGxiYXJzIGJhY2sgdG8gb3VyIGRlZmF1bHRzIGJlZm9yZSB3ZSB5aWVs
ZCB0aGUgZmxvb3IuCiAgICAgc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQodHJ1ZSk7CiAgICAgaWYg
KG1fY2FuSGF2ZVNjcm9sbGJhcnMpCi0gICAgICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJh
ckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgICAgICBzZXRTY3JvbGxiYXJNb2RlcyhTY3JvbGxi
YXJNb2RlOjpBdXRvLCBTY3JvbGxiYXJNb2RlOjpBdXRvKTsKICAgICBlbHNlCi0gICAgICAgIHNl
dFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckFsd2F5c09mZiwgU2Nyb2xsYmFyQWx3YXlzT2ZmKTsK
KyAgICAgICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmLCBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPZmYpOwogICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKGZhbHNl
KTsKIH0KIApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgRnJhbWVWaWV3Ojppbml0KCkKIAogICAg
IC8vIFByb3BhZ2F0ZSB0aGUgc2Nyb2xsaW5nIG1vZGUgdG8gdGhlIHZpZXcuCiAgICAgYXV0byog
b3duZXJFbGVtZW50ID0gZnJhbWUoKS5vd25lckVsZW1lbnQoKTsKLSAgICBpZiAoaXM8SFRNTEZy
YW1lRWxlbWVudEJhc2U+KG93bmVyRWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTEZyYW1lRWxlbWVu
dEJhc2U+KCpvd25lckVsZW1lbnQpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdheXNP
ZmYpCisgICAgaWYgKGlzPEhUTUxGcmFtZUVsZW1lbnRCYXNlPihvd25lckVsZW1lbnQpICYmIGRv
d25jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlPigqb3duZXJFbGVtZW50KS5zY3JvbGxpbmdNb2Rl
KCkgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICBzZXRDYW5IYXZlU2Nyb2xs
YmFycyhmYWxzZSk7CiAKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CkBAIC01MjEs
NyArNTIxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJzKCkKICAg
ICBTY3JvbGxiYXJNb2RlIGhNb2RlOwogICAgIFNjcm9sbGJhck1vZGUgdk1vZGU7CiAgICAgc2Ny
b2xsYmFyTW9kZXMoaE1vZGUsIHZNb2RlKTsKLSAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBpZiAoaE1vZGUgPT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09mZikKICAgICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnMoZmFsc2UpOwogICAgIGVsc2UKICAg
ICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnModHJ1ZSk7CkBAIC02NTksMTUgKzY1OSwxNSBAQCB2
b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBj
YXNlIE92ZXJmbG93OjpDbGlwOgogICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAg
ICAgICBoTW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJh
ck1vZGU6OkF1dG87CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFy
QWx3YXlzT2ZmOworICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgaE1v
ZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAg
ICAgaE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkF1dG87CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNl
dCBpdCBhdCBhbGwuCkBAIC02NzgsMTUgKzY3OCwxNSBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlP
dmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJh
cgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92ZXJmbG93OjpDbGlwOgog
ICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJh
ckF1dG87CisgICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICAg
ICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNP
bjsKKyAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJB
dXRvOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGJyZWFr
OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBhdCBhbGwuIFZhbHVlcyBv
ZiBPdmVyZmxvdzo6UGFnZWRYIGFuZCBPdmVyZmxvdzo6UGFnZWRZIGFyZSBoYW5kbGVkIGJ5IGFw
cGx5UGFnaW5hdGlvblRvVmlld1BvcnQoKS4KQEAgLTczMSwxOCArNzMxLDE4IEBAIHZvaWQgRnJh
bWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBo
TW9kZSwgU2Nyb2xsYmFyCiAgICAgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSA9IFZpZXdwb3J0UmVu
ZGVyZXJUeXBlOjpOb25lOwogCiAgICAgY29uc3QgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25l
ciA9IGZyYW1lKCkub3duZXJFbGVtZW50KCk7Ci0gICAgaWYgKG93bmVyICYmIChvd25lci0+c2Ny
b2xsaW5nTW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09mZikpIHsKLSAgICAgICAgaE1vZGUgPSBT
Y3JvbGxiYXJBbHdheXNPZmY7Ci0gICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOwor
ICAgIGlmIChvd25lciAmJiAob3duZXItPnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmYpKSB7CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2Zm
OworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0gIAogICAgIAogICAgIGlmIChtX2NhbkhhdmVTY3JvbGxiYXJzIHx8IHN0cmF0
ZWd5ID09IFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KSB7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xs
YmFyQXV0bzsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9
IFNjcm9sbGJhck1vZGU6OkF1dG87CisgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0
bzsKICAgICB9IGVsc2UgewotICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsKLSAg
ICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgIGhNb2RlID0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09mZjsKICAgICB9CiAgICAgCiAgICAgaWYgKGxheW91dENvbnRleHQoKS5zdWJ0cmVlTGF5b3V0
Um9vdCgpKQpAQCAtNzY3LDggKzc2Nyw4IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3Jv
bGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAg
fQogICAgIAogICAgIGlmIChpczxIVE1MRnJhbWVTZXRFbGVtZW50PigqYm9keU9yRnJhbWVzZXQp
ICYmICFmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxi
YXJBbHdheXNPZmY7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAg
ICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKKyAgICAgICAgaE1vZGUgPSBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEyNTQs
MTEgKzEyNTQsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OmFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQo
Ym9vbCBpc0ZpcnN0TGF5b3V0KQogICAgIGlmIChpc0ZpcnN0TGF5b3V0ICYmICFsYXlvdXRDb250
ZXh0KCkuaXNMYXlvdXROZXN0ZWQoKSkgewogICAgICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3Nl
ZCh0cnVlKTsKICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlm
IHdlJ3JlIGF1dG8uCi0gICAgICAgIGlmICh2TW9kZSA9PSBTY3JvbGxiYXJBdXRvKQotICAgICAg
ICAgICAgc2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09uKTsgLy8gVGhp
cyBjYXVzZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gYXBwZWFyLgorICAgICAgICBpZiAodk1v
ZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAgIHNldFZlcnRpY2FsU2Nyb2xs
YmFyTW9kZShTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7IC8vIFRoaXMgY2F1c2VzIGEgdmVydGlj
YWwgc2Nyb2xsYmFyIHRvIGFwcGVhci4KICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIGhNb2Rl
IHRvIEFsd2F5c09mZiBpZiB3ZSdyZSBhdXRvLgotICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xs
YmFyQXV0bykKLSAgICAgICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJh
ckFsd2F5c09mZik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlz
YXBwZWFyLgorICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAg
ICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
Zik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFyLgog
ICAgICAgICBBU1NFUlQoZnJhbWUoKS5wYWdlKCkpOwogICAgICAgICBpZiAoZnJhbWUoKS5wYWdl
KCktPmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAgICAgICAgICAgICBzY3JvbGxBbmltYXRv
cigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihmcmFtZSgpLnBhZ2UoKS0+d2hlZWxFdmVudFRl
c3RNb25pdG9yKCkpOwpAQCAtMzUyMSw4ICszNTIxLDggQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZv
cm1GaXhlZFdpZHRoQXV0b1NpemUoKQogICAgIGF1dG8qIHJlbmRlclZpZXcgPSBkb2N1bWVudC0+
cmVuZGVyVmlldygpOwogICAgIGF1dG8qIGZpcnN0Q2hpbGQgPSByZW5kZXJWaWV3LT5maXJzdENo
aWxkKCk7CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUg
PSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9uYWxTY3JvbGxi
YXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAgIFNjcm9sbGJhck1vZGUgdmVy
dGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIHNldFZl
cnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxzZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxv
Y2soZmFsc2UpOwogICAgIHNldFNjcm9sbGJhck1vZGVzKGhvcml6b25hbFNjcm9sbGJhck1vZGUs
IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSwgdHJ1ZSwgdHJ1ZSk7CkBAIC0zNjA1LDE1ICszNjA1LDE1
IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtU2l6ZVRvQ29udGVudEF1dG9TaXplKCkKICAgICAg
ICAgbmV3U2l6ZSA9IG5ld1NpemUuZXhwYW5kZWRUbyhtaW5BdXRvU2l6ZSk7CiAKICAgICAgICAg
Ly8gQm91bmQgdGhlIGRpbWVuc2lvbnMgYnkgdGhlIG1heCBib3VuZHMgYW5kIGRldGVybWluZSB3
aGF0IHNjcm9sbGJhcnMgdG8gc2hvdy4KLSAgICAgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9uYWxT
Y3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2Rl
IGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAg
ICAgIGlmIChuZXdTaXplLndpZHRoKCkgPiBtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpKSB7
CiAgICAgICAgICAgICBuZXdTaXplLnNldFdpZHRoKG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRo
KCkpOwotICAgICAgICAgICAgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckFsd2F5
c09uOworICAgICAgICAgICAgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkFsd2F5c09uOwogICAgICAgICB9Ci0gICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3Jv
bGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2RlIHZl
cnRpY2FsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAg
aWYgKG5ld1NpemUuaGVpZ2h0KCkgPiBtX2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQoKSkgewog
ICAgICAgICAgICAgbmV3U2l6ZS5zZXRIZWlnaHQobV9hdXRvU2l6ZUNvbnN0cmFpbnQuaGVpZ2h0
KCkpOwotICAgICAgICAgICAgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlz
T247CisgICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChuZXdTaXplID09IHNpemUpCkBAIC0z
OTUwLDcgKzM5NTAsNyBAQCBib29sIEZyYW1lVmlldzo6aXNTY3JvbGxhYmxlKFNjcm9sbGFiaWxp
dHkgZGVmaW5pdGlvbk9mU2Nyb2xsYWJsZSkKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxN
b2RlOwogICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxNb2RlOwogICAgIGNhbGN1bGF0ZVNjcm9s
bGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUsIFJ1bGVzRnJv
bVdlYkNvbnRlbnRPbmx5KTsKLSAgICBpZiAoaG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmICYmIHZlcnRpY2FsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAgaWYgKGhv
cml6b250YWxNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiAmJiB2ZXJ0aWNhbE1vZGUg
PT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTQ3MjIsNyArNDcyMiw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFi
bGVBdXRvU2l6ZU1vZGUoYm9vbCBlbmFibGUsIGNvbnN0IEludFNpemUmIHZpZXdTaXplLCBBdXRv
U2l6CiAgICAgLy8gU2luY2UgYXV0b3NpemUgbW9kZSBmb3JjZXMgdGhlIHNjcm9sbGJhciBtb2Rl
LCBjaGFuZ2UgdGhlbSB0byBiZWluZyBhdXRvLgogICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
ayhmYWxzZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwotICAgIHNl
dFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgIHNldFNj
cm9sbGJhck1vZGVzKFNjcm9sbGJhck1vZGU6OkF1dG8sIFNjcm9sbGJhck1vZGU6OkF1dG8pOwog
fQogCiB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWVMYXlvdXQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IDk4Mjc1YzU2
ZWEyMjY4ZjIzYzlmNTkxZDRkODc2NmIzZDg5YjA4NTYuLjNlNTllZDI2NzFmY2M1YzBhNzhlZTg4
ZjgwMjI0YjQyNzMwMjIyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlh
bE5hdmlnYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRp
b24uY3BwCkBAIC00NzYsOSArNDc2LDkgQEAgYm9vbCBjYW5TY3JvbGxJbkRpcmVjdGlvbihjb25z
dCBGcmFtZSogZnJhbWUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICBTY3JvbGxiYXJN
b2RlIHZlcnRpY2FsTW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2RlOwogICAg
IGZyYW1lLT52aWV3KCktPmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250
YWxNb2RlLCB2ZXJ0aWNhbE1vZGUpOwotICAgIGlmICgoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0
aW9uOjpMZWZ0IHx8IGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6UmlnaHQpICYmIFNjcm9s
bGJhckFsd2F5c09mZiA9PSBob3Jpem9udGFsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBG
b2N1c0RpcmVjdGlvbjo6TGVmdCB8fCBkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246OlJpZ2h0
KSAmJiBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgPT0gaG9yaXpvbnRhbE1vZGUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6VXAg
fHwgZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFyQWx3YXlz
T2ZmID09IHZlcnRpY2FsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlv
bjo6VXAgfHwgZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT2ZmID09IHZlcnRpY2FsTW9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIExheW91dFNpemUgc2l6ZSA9IGZyYW1lLT52aWV3KCktPnRvdGFsQ29udGVudHNTaXplKCk7
CiAgICAgTGF5b3V0UG9pbnQgc2Nyb2xsUG9zaXRpb24gPSBmcmFtZS0+dmlldygpLT5zY3JvbGxQ
b3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGM4N2U4ZGEzMzQyMTAwMDhiNjU4Y2EzMzU1ZjNh
Y2RhODhhODM3YjguLjY5ODhhMmM1NGQ1ZmM3MWQzODQ0NWQ2ZDc4Mzc1OTRkZmMyOTRiYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5jcHAKQEAgLTM4OSw4ICszODksOCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgc2Nyb2xsYWJsZUFyZWFQYQog
ewogICAgIHRzLmR1bXBQcm9wZXJ0eSgiaG9yaXpvbnRhbCBzY3JvbGwgZWxhc3RpY2l0eSIsIHNj
cm9sbGFibGVBcmVhUGFyYW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSk7CiAgICAg
dHMuZHVtcFByb3BlcnR5KCJ2ZXJ0aWNhbCBzY3JvbGwgZWxhc3RpY2l0eSIsIHNjcm9sbGFibGVB
cmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkpOwotICAgIHRzLmR1bXBQcm9w
ZXJ0eSgiaG9yaXpvbnRhbCBzY3JvbGxiYXIgbW9kZSIsIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVy
cy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSk7Ci0gICAgdHMuZHVtcFByb3BlcnR5KCJ2ZXJ0aWNh
bCBzY3JvbGxiYXIgbW9kZSIsIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9s
bGJhck1vZGUpOworICAgIHRzLmR1bXBQcm9wZXJ0eSgiaG9yaXpvbnRhbCBzY3JvbGxiYXIgbW9k
ZSIsIHN0YXRpY19jYXN0PGludD4oc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxT
Y3JvbGxiYXJNb2RlKSk7CisgICAgdHMuZHVtcFByb3BlcnR5KCJ2ZXJ0aWNhbCBzY3JvbGxiYXIg
bW9kZSIsIHN0YXRpY19jYXN0PGludD4oc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2Fs
U2Nyb2xsYmFyTW9kZSkpOwogCiAgICAgaWYgKHNjcm9sbGFibGVBcmVhUGFyYW1ldGVycy5hbGxv
d3NIb3Jpem9udGFsU2Nyb2xsaW5nKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoImFsbG93cyBo
b3Jpem9udGFsIHNjcm9sbGluZyIsIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVycy5hbGxvd3NIb3Jp
em9udGFsU2Nyb2xsaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaAppbmRleCBkZjY1NDc4ODc4NmE4MDgz
N2Y1MDNlZWU1ODU5ODcxYjA2OWJlN2ZkLi4yZTRiMDhkYmIyNDYwMmY5NWE4MDA5NGEyNzE3MzVj
YzczNzE5YzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvclR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5oCkBAIC03Myw4ICs3Myw4IEBAIHN0cnVjdCBT
Y3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgewogICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRh
bFNjcm9sbEVsYXN0aWNpdHkgeyBTY3JvbGxFbGFzdGljaXR5Tm9uZSB9OwogICAgIFNjcm9sbEVs
YXN0aWNpdHkgdmVydGljYWxTY3JvbGxFbGFzdGljaXR5IHsgU2Nyb2xsRWxhc3RpY2l0eU5vbmUg
fTsKIAotICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxi
YXJBdXRvIH07Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgeyBTY3Jv
bGxiYXJBdXRvIH07CisgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSB7
IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xs
YmFyTW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKIAogICAgIGJvb2wgYWxsb3dzSG9yaXpv
bnRhbFNjcm9sbGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBhbGxvd3NWZXJ0aWNhbFNjcm9sbGlu
ZyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCBjYzU2Yzk0N2M0YjQ2ZjkwOWQx
NzgyMmMyODlhZWYzNjhjNDQ3MzM2Li4zZjNhOWIyNmEzM2YyZjEyNTU0YTgyMGRjYmVhMTg3ZGE1
NTk1ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTk0LDkgKzk0LDkgQEAgcHVibGljOgog
CiAgICAgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5C
eVN0eWxlOyB9CiAgICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25z
dCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhckhp
ZGRlbkJ5U3R5bGU7IH0KLSAgICBib29sIGNhbkhhdmVIb3Jpem9udGFsU2Nyb2xsYmFyKCkgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJh
ck1vZGUgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9Ci0gICAgYm9vbCBjYW5IYXZlVmVydGljYWxT
Y3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0
aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9Ci0gICAgYm9vbCBjYW5I
YXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJz
Lmhvcml6b250YWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCBtX3Njcm9s
bGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmOyB9CisgICAgYm9vbCBjYW5IYXZlSG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJNb2Rl
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQorICAgIGJvb2wgY2FuSGF2ZVZlcnRpY2Fs
U2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVy
dGljYWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQorICAgIGJv
b2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFy
YW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
ZmYgfHwgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVydGljYWxTY3JvbGxiYXJNb2RlICE9
IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQogCiAgICAgY29uc3QgRmxvYXRTY3JvbGxTbmFw
T2Zmc2V0c0luZm8mIHNuYXBPZmZzZXRzSW5mbygpIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9uYWw8
dW5zaWduZWQ+IGN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IGViYWExN2U5MDAyZDhkYjM5OGQ3OGI2
Y2JkMzdiNjYyMTRjZmFlNWYuLmRhYmUyYWZhOTNhNjBhZTQwZTQxYWI3Yzc5MDJhZWYzMTE2Mzlm
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMTQ4LDEwICsxNDgs
MTAgQEAgZW51bSBTY3JvbGxiYXJPcmllbnRhdGlvbiA6IHVpbnQ4X3QgewogICAgIFZlcnRpY2Fs
U2Nyb2xsYmFyCiB9OwogCi1lbnVtIFNjcm9sbGJhck1vZGUgOiB1aW50OF90IHsKLSAgICBTY3Jv
bGxiYXJBdXRvLAotICAgIFNjcm9sbGJhckFsd2F5c09mZiwKLSAgICBTY3JvbGxiYXJBbHdheXNP
bgorZW51bSBjbGFzcyBTY3JvbGxiYXJNb2RlIDogdWludDhfdCB7CisgICAgQXV0bywKKyAgICBB
bHdheXNPZmYsCisgICAgQWx3YXlzT24KIH07CiAKIGVudW0gY2xhc3MgU2Nyb2xsYmFyQ29udHJv
bFNpemUgOiB1aW50OF90IHsKQEAgLTMwMyw5ICszMDMsOSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbElzQW5pbWF0ZWQ+IHsKIHRlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsYmFyTW9kZT4gewogICAgIHVzaW5nIHZhbHVlcyA9
IEVudW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6OlNjcm9sbGJhck1vZGUsCi0gICAgICAgIFdl
YkNvcmU6OlNjcm9sbGJhck1vZGU6OlNjcm9sbGJhckF1dG8sCi0gICAgICAgIFdlYkNvcmU6OlNj
cm9sbGJhck1vZGU6OlNjcm9sbGJhckFsd2F5c09mZiwKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xs
YmFyTW9kZTo6U2Nyb2xsYmFyQWx3YXlzT24KKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9k
ZTo6QXV0bywKKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmLAorICAg
ICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbgogICAgID47CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IGM5MmNlMmU1YzkxOGVjZTFhNWQ0
ODBjMGFkN2VhOGZmNjQ1OTUwNGIuLjFkNGEzNTRmNDA0OGYzMzQ5MjU5N2I5YjYyZThmYzBkZWY0
ODc2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0xNTQsMTUg
KzE1NCwxNSBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldENhbkhhdmVTY3JvbGxiYXJzKGJvb2wgY2Fu
U2Nyb2xsKQogICAgIAogICAgIHNjcm9sbGJhck1vZGVzKG5ld0hvcml6b250YWxNb2RlLCBuZXdW
ZXJ0aWNhbE1vZGUpOwogICAgIAotICAgIGlmIChjYW5TY3JvbGwgJiYgbmV3VmVydGljYWxNb2Rl
ID09IFNjcm9sbGJhckFsd2F5c09mZikKLSAgICAgICAgbmV3VmVydGljYWxNb2RlID0gU2Nyb2xs
YmFyQXV0bzsKKyAgICBpZiAoY2FuU2Nyb2xsICYmIG5ld1ZlcnRpY2FsTW9kZSA9PSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmYpCisgICAgICAgIG5ld1ZlcnRpY2FsTW9kZSA9IFNjcm9sbGJhck1v
ZGU6OkF1dG87CiAgICAgZWxzZSBpZiAoIWNhblNjcm9sbCkKLSAgICAgICAgbmV3VmVydGljYWxN
b2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgCi0gICAgaWYgKGNhblNjcm9sbCAmJiBuZXdIb3Jp
em9udGFsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCi0gICAgICAgIG5ld0hvcml6b250YWxN
b2RlID0gU2Nyb2xsYmFyQXV0bzsKKyAgICBpZiAoY2FuU2Nyb2xsICYmIG5ld0hvcml6b250YWxN
b2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKKyAgICAgICAgbmV3SG9yaXpvbnRhbE1v
ZGUgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOwogICAgIGVsc2UgaWYgKCFjYW5TY3JvbGwpCi0gICAg
ICAgIG5ld0hvcml6b250YWxNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBuZXdI
b3Jpem9udGFsTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAKICAgICBzZXRT
Y3JvbGxiYXJNb2RlcyhuZXdIb3Jpem9udGFsTW9kZSwgbmV3VmVydGljYWxNb2RlKTsKIH0KQEAg
LTYzNCwxNCArNjM0LDE0IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25z
dCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgIFNjcm9sbGJhck1vZGUgaFNj
cm9sbCA9IG1faG9yaXpvbnRhbFNjcm9sbGJhck1vZGU7CiAgICAgU2Nyb2xsYmFyTW9kZSB2U2Ny
b2xsID0gbV92ZXJ0aWNhbFNjcm9sbGJhck1vZGU7CiAKLSAgICBpZiAoaFNjcm9sbCAhPSBTY3Jv
bGxiYXJBdXRvKQotICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyID0gKGhTY3JvbGwg
PT0gU2Nyb2xsYmFyQWx3YXlzT24pOwotICAgIGlmICh2U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8p
Ci0gICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyID0gKHZTY3JvbGwgPT0gU2Nyb2xsYmFy
QWx3YXlzT24pOworICAgIGlmIChoU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pCisgICAg
ICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSAoaFNjcm9sbCA9PSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmYpOworICAgIGlmICh2U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pCisg
ICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyID0gKHZTY3JvbGwgPT0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT24pOwogCiAgICAgYm9vbCBzY3JvbGxiYXJBZGRlZE9yUmVtb3ZlZCA9IGZhbHNl
OwogCi0gICAgaWYgKG1fc2Nyb2xsYmFyc1N1cHByZXNzZWQgfHwgKGhTY3JvbGwgIT0gU2Nyb2xs
YmFyQXV0byAmJiB2U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pKSB7CisgICAgaWYgKG1fc2Nyb2xs
YmFyc1N1cHByZXNzZWQgfHwgKGhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0byAmJiB2U2Ny
b2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pKSB7CiAgICAgICAgIGlmIChoYXNIb3Jpem9udGFs
U2Nyb2xsYmFyICE9IG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgKGhhc0hvcml6b250YWxT
Y3JvbGxiYXIgfHwgIWF2b2lkU2Nyb2xsYmFyQ3JlYXRpb24oKSkpIHsKICAgICAgICAgICAgIGlm
IChzZXRIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIpKQog
ICAgICAgICAgICAgICAgIHNjcm9sbGJhckFkZGVkT3JSZW1vdmVkID0gdHJ1ZTsKQEAgLTY1Nyw5
ICs2NTcsOSBAQCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgU2Nyb2xs
UG9zaXRpb24mIGRlc2lyZWRQb3NpdGlvbikKICAgICAgICAgSW50U2l6ZSBkb2NTaXplID0gdG90
YWxDb250ZW50c1NpemUoKTsKICAgICAgICAgSW50U2l6ZSBmdWxsVmlzaWJsZVNpemUgPSB1bm9i
c2N1cmVkQ29udGVudFJlY3RJbmNsdWRpbmdTY3JvbGxiYXJzKCkuc2l6ZSgpOwogCi0gICAgICAg
IGlmIChoU2Nyb2xsID09IFNjcm9sbGJhckF1dG8pCisgICAgICAgIGlmIChoU2Nyb2xsID09IFNj
cm9sbGJhck1vZGU6OkF1dG8pCiAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFy
ID0gZG9jU2l6ZS53aWR0aCgpID4gdmlzaWJsZVdpZHRoKCk7Ci0gICAgICAgIGlmICh2U2Nyb2xs
ID09IFNjcm9sbGJhckF1dG8pCisgICAgICAgIGlmICh2U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6
OkF1dG8pCiAgICAgICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciA9IGRvY1NpemUuaGVp
Z2h0KCkgPiB2aXNpYmxlSGVpZ2h0KCk7CiAKICAgICAgICAgYm9vbCBuZWVkQW5vdGhlclBhc3Mg
PSBmYWxzZTsKQEAgLTY2NywxNiArNjY3LDE2IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Ny
b2xsYmFycyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgICAgICAg
ICAgLy8gSWYgd2UgZXZlciB0dXJuIG9uZSBzY3JvbGxiYXIgb2ZmLCBkbyBub3QgdHVybiB0aGUg
b3RoZXIgb25lIG9uLiBOZXZlciBldmVyCiAgICAgICAgICAgICAvLyB0cnkgdG8gYm90aCBnYWlu
L2xvc2UgYSBzY3JvbGxiYXIgaW4gdGhlIHNhbWUgcGFzcy4KICAgICAgICAgICAgIGlmICghbV91
cGRhdGVTY3JvbGxiYXJzUGFzcyAmJiBkb2NTaXplLndpZHRoKCkgPD0gZnVsbFZpc2libGVTaXpl
LndpZHRoKCkgJiYgZG9jU2l6ZS5oZWlnaHQoKSA8PSBmdWxsVmlzaWJsZVNpemUuaGVpZ2h0KCkp
IHsKLSAgICAgICAgICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAg
ICAgICAgICAgIGlmIChoU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8pCiAgICAgICAgICAg
ICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmYWxzZTsKLSAgICAgICAgICAg
ICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICAgICAgICAgIGlmICh2
U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8pCiAgICAgICAgICAgICAgICAgICAgIG5ld0hh
c1ZlcnRpY2FsU2Nyb2xsYmFyID0gZmFsc2U7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBp
ZiAoIW5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgaGFzSG9yaXpvbnRhbFNjcm9sbGJhciAm
JiB2U2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09uICYmICFoYXNWZXJ0aWNhbFNjcm9sbGJhcikg
eworICAgICAgICAgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyICYmIGhhc0hvcml6
b250YWxTY3JvbGxiYXIgJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbiAmJiAh
aGFzVmVydGljYWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgICAgICBuZXdIYXNWZXJ0aWNhbFNj
cm9sbGJhciA9IGZhbHNlOwogICAgICAgICAgICAgICAgIG5lZWRBbm90aGVyUGFzcyA9IHRydWU7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFy
ICYmIGhhc1ZlcnRpY2FsU2Nyb2xsYmFyICYmIGhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT24g
JiYgIWhhc0hvcml6b250YWxTY3JvbGxiYXIpIHsKKyAgICAgICAgICAgIGlmICghbmV3SGFzVmVy
dGljYWxTY3JvbGxiYXIgJiYgaGFzVmVydGljYWxTY3JvbGxiYXIgJiYgaFNjcm9sbCAhPSBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPbiAmJiAhaGFzSG9yaXpvbnRhbFNjcm9sbGJhcikgewogICAgICAg
ICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmYWxzZTsKICAgICAgICAgICAg
ICAgICBuZWVkQW5vdGhlclBhc3MgPSB0cnVlOwogICAgICAgICAgICAgfQpAQCAtMTYxOSw4ICsx
NjE5LDggQEAgdm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNldFNjcm9sbGJhck1vZGVzKCkKIAog
dm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNjcm9sbGJhck1vZGVzKFNjcm9sbGJhck1vZGUmIGhv
cml6b250YWwsIFNjcm9sbGJhck1vZGUmIHZlcnRpY2FsKSBjb25zdAogewotICAgIGhvcml6b250
YWwgPSBTY3JvbGxiYXJBdXRvOwotICAgIHZlcnRpY2FsID0gU2Nyb2xsYmFyQXV0bzsKKyAgICBo
b3Jpem9udGFsID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKKyAgICB2ZXJ0aWNhbCA9IFNjcm9sbGJh
ck1vZGU6OkF1dG87CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRDYW5CbGl0T25T
Y3JvbGwoYm9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAppbmRleCAwNzlmNzAy
MmMyNWYzOWM4ZGU0YzQyODNlNGJkOTc3MTM3ODUyZjk4Li5hM2YwYjE3YjEzMWFiMTMwNWI0ZTZk
Yjk4ODI1MjkxMjMyYmM0YjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCkBA
IC01MzQsOCArNTM0LDggQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxTY3JvbGxiYXI+IG1faG9y
aXpvbnRhbFNjcm9sbGJhcjsKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX3ZlcnRpY2FsU2Nyb2xs
YmFyOwotICAgIFNjcm9sbGJhck1vZGUgbV9ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSB7IFNjcm9s
bGJhckF1dG8gfTsKLSAgICBTY3JvbGxiYXJNb2RlIG1fdmVydGljYWxTY3JvbGxiYXJNb2RlIHsg
U2Nyb2xsYmFyQXV0byB9OworICAgIFNjcm9sbGJhck1vZGUgbV9ob3Jpem9udGFsU2Nyb2xsYmFy
TW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2RlIG1fdmVydGlj
YWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9OwogCiAKICAgICAvLyBGSVhN
RTogTW9yZSB0aGluZ3Mgd2lsbCBtb3ZlIGludG8gaGVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IGZlNDJjNGVjNmViYTRmMDQ4Zjk0ZmVmNTkwNDkzNjkw
YmU1MzU2NWEuLjA5OWI5MTE0NTNkNGU0ODVkMTM3ZWJkNDBiM2M0Y2VhNDU2YzllZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMTIxLDkgKzEyMSw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVs
YXN0aWNpdHkgc2Nyb2xsRWxhc3RpY2l0eSkgeyBtX2hvcml6b250YWxTY3JvbGxFbGFzdGljaXR5
ID0gc2Nyb2xsRWxhc3RpY2l0eTsgfQogICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRhbFNj
cm9sbEVsYXN0aWNpdHkoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxTY3JvbGxFbGFzdGlj
aXR5OyB9CiAKLSAgICB2aXJ0dWFsIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1v
ZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJBdXRvOyB9Ci0gICAgdmlydHVhbCBTY3JvbGxi
YXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpIGNvbnN0IHsgcmV0dXJuIFNjcm9sbGJhckF1
dG87IH0KLSAgICBib29sIGNhbkhhdmVTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4gaG9yaXpv
bnRhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmYgfHwgdmVydGljYWxTY3Jv
bGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9CisgICAgdmlydHVhbCBTY3JvbGxi
YXJNb2RlIGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFy
TW9kZTo6QXV0bzsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJh
ck1vZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJNb2RlOjpBdXRvOyB9CisgICAgYm9vbCBj
YW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIGhvcml6b250YWxTY3JvbGxiYXJNb2Rl
KCkgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIHx8IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgp
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQogCiAgICAgdmlydHVhbCBib29sIGhvcml6
b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgdmVydGljYWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV0FLU2Nyb2xsVmlldy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FL
U2Nyb2xsVmlldy5tbQppbmRleCA1MDFhNjhiZWE5MDc4OGQ5YmM5MzY5NzMwZTczOTQ3NjU5YTQ2
NDJmLi41ZjYwMGQ2NzFmM2VkNTVmZGNiZGFlNjM0ZGZlZTIwNjI5MmI3ZDEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtTY3JvbGxWaWV3Lm1tCkBAIC0xOTQs
MTIgKzE5NCwxMiBAQCBzdGF0aWMgdm9pZCBfbm90aWZpY2F0aW9uQ2FsbGJhY2soV0tWaWV3UmVm
IHYsIFdLVmlld05vdGlmaWNhdGlvblR5cGUgdHlwZSwgdm9pZAogCiAtIChXZWJDb3JlOjpTY3Jv
bGxiYXJNb2RlKWhvcml6b250YWxTY3JvbGxpbmdNb2RlCiB7Ci0gICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbGJhckF1dG87CisgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkF1dG87
CiB9CiAKIC0gKFdlYkNvcmU6OlNjcm9sbGJhck1vZGUpdmVydGljYWxTY3JvbGxpbmdNb2RlCiB7
Ci0gICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJhckF1dG87CisgICAgcmV0dXJuIFdlYkNvcmU6
OlNjcm9sbGJhck1vZGU6OkF1dG87CiB9CiAKICNwcmFnbWEgbWFyayAtCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZUJhc2UuY3BwCmluZGV4IGIwOTVkOGU0YWNhN2ZhZjY5
M2RjZTkyNjE4YWIzZDQ4ODQxODdkZTkuLjQ0ZDQ4ZmMyZTU4YzY3YzI3MTJjOWVjM2EwZjMyNDQ5
YjE5NmFjNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFt
ZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZUJhc2Uu
Y3BwCkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgUmVuZGVyRnJhbWVCYXNlOjpwZXJmb3JtTGF5b3V0
V2l0aEZsYXR0ZW5pbmcoYm9vbCBoYXNGaXhlZFdpZHRoLCBib29sIGhhc0ZpCiAgICAgLy8gaWYg
c2Nyb2xsYmFycyBhcmUgb2ZmLCBhbmQgdGhlIHdpZHRoIG9yIGhlaWdodCBhcmUgZml4ZWQKICAg
ICAvLyB3ZSBvYmV5IHRoZW0gYW5kIGRvIG5vdCBleHBhbmQuIFdpdGggZnJhbWUgZmxhdHRlbmlu
ZwogICAgIC8vIG5vIHN1YmZyYW1lIG11Y2ggZXZlciBiZWNvbWUgc2Nyb2xsYWJsZS4KLSAgICBi
b29sIGlzU2Nyb2xsYWJsZSA9IGZyYW1lT3duZXJFbGVtZW50KCkuc2Nyb2xsaW5nTW9kZSgpICE9
IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICBib29sIGlzU2Nyb2xsYWJsZSA9IGZyYW1lT3duZXJF
bGVtZW50KCkuc2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKIAog
ICAgIC8vIGNvbnNpZGVyIGlmcmFtZSBpbnNldCBib3JkZXIKICAgICBpbnQgaEJvcmRlciA9IGJv
cmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJRnJhbWUuY3BwCmluZGV4IDRiMjc2MWUxOTg3N2JlZmRjYWVlYzE1ZmI0OGZjZTczNjNhYjJk
NWMuLjE2ZmM4ODBjYzMyNDU0OWE0MTVmYTdjNWI3ZWI5ZGFkOTMwNTA5NzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuY3BwCkBAIC04Niw3ICs4Niw3IEBAIGJvb2wg
UmVuZGVySUZyYW1lOjpmbGF0dGVuRnJhbWUoKSBjb25zdAogCiAgICAgaWYgKHN0eWxlKCkud2lk
dGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS5oZWlnaHQoKS5pc0ZpeGVkKCkpIHsKICAgICAgICAg
Ly8gRG8gbm90IGZsYXR0ZW4gaWZyYW1lcyB3aXRoIHNjcm9sbGluZz0ibm8iLgotICAgICAgICBp
ZiAoaWZyYW1lRWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdheXNPZmYp
CisgICAgICAgIGlmIChpZnJhbWVFbGVtZW50KCkuc2Nyb2xsaW5nTW9kZSgpID09IFNjcm9sbGJh
ck1vZGU6OkFsd2F5c09mZikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgLy8g
RG8gbm90IGZsYXR0ZW4gaWZyYW1lcyB0aGF0IGhhdmUgemVybyBzaXplLCBhcyBmbGF0dGVuaW5n
IG1pZ2h0IG1ha2UgdGhlbSB2aXNpYmxlLgogICAgICAgICBpZiAoc3R5bGUoKS53aWR0aCgpLnZh
bHVlKCkgPD0gMCB8fCBzdHlsZSgpLmhlaWdodCgpLnZhbHVlKCkgPD0gMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDBjMjY2OTYyOTkxNzRiZDZmZDg5YzYy
YjFhMDIyOTZmYTg5ZTRiZDkuLmMzM2I2NDQyNjY2YjcyZDVjMzQ0MjAyODEyZWY1YzIyNGUyOGY2
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjM5Nyw3
ICsyMzk3LDcgQEAgTGF5b3V0U2l6ZSBSZW5kZXJMYXllcjo6b2Zmc2V0RnJvbUFuY2VzdG9yKGNv
bnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBDb2wKIHN0YXRpYyBpbmxpbmUgYm9vbCBm
cmFtZUVsZW1lbnRBbmRWaWV3UGVybWl0U2Nyb2xsKEhUTUxGcmFtZUVsZW1lbnRCYXNlKiBmcmFt
ZUVsZW1lbnRCYXNlLCBGcmFtZVZpZXcmIGZyYW1lVmlldykKIHsKICAgICAvLyBJZiBzY3JvbGxi
YXJzIGFyZW4ndCBleHBsaWNpdGx5IGZvcmJpZGRlbiwgcGVybWl0IHNjcm9sbGluZy4KLSAgICBp
ZiAoZnJhbWVFbGVtZW50QmFzZSAmJiBmcmFtZUVsZW1lbnRCYXNlLT5zY3JvbGxpbmdNb2RlKCkg
IT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQorICAgIGlmIChmcmFtZUVsZW1lbnRCYXNlICYmIGZyYW1l
RWxlbWVudEJhc2UtPnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gSWYgc2Nyb2xsYmFycyBhcmUgZm9yYmlk
ZGVuLCB1c2VyIGluaXRpYXRlZCBzY3JvbGxzIHNob3VsZCBvYnZpb3VzbHkgYmUgaWdub3JlZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggYmQ5ZjIyYTUxNDVjZTlhNTRjMDI2NmZiNTgzY2FmYTA1YWUxZTE5OS4uNjZlNGMyYWM2ZjVi
NmQ2ZmE0M2ViN2MwMzRjN2QzNjAzZTA4YmI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTQwMywxMCArNDAzLDEwIEBAIHN0YXRp
YyBUaWxlZEJhY2tpbmc6OlRpbGVDb3ZlcmFnZSBjb21wdXRlUGFnZVRpbGVkQmFja2luZ0NvdmVy
YWdlKGNvbnN0IFJlbmRlckxhCiAgICAgYm9vbCB1c2VNaW5pbWFsVGlsZXNEdXJpbmdMaXZlUmVz
aXplID0gZnJhbWVWaWV3LmluTGl2ZVJlc2l6ZSgpOwogICAgIGlmIChmcmFtZVZpZXcuc3BlY3Vs
YXRpdmVUaWxpbmdFbmFibGVkKCkgJiYgIXVzZU1pbmltYWxUaWxlc0R1cmluZ0xpdmVSZXNpemUp
IHsKICAgICAgICAgYm9vbCBjbGlwc1RvRXhwb3NlZFJlY3QgPSBzdGF0aWNfY2FzdDxib29sPihm
cmFtZVZpZXcudmlld0V4cG9zZWRSZWN0KCkpOwotICAgICAgICBpZiAoZnJhbWVWaWV3Lmhvcml6
b250YWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmIHx8IGNsaXBzVG9FeHBv
c2VkUmVjdCkKKyAgICAgICAgaWYgKGZyYW1lVmlldy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgp
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCiAgICAg
ICAgICAgICB0aWxlQ292ZXJhZ2UgfD0gVGlsZWRCYWNraW5nOjpDb3ZlcmFnZUZvckhvcml6b250
YWxTY3JvbGxpbmc7CiAKLSAgICAgICAgaWYgKGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhck1v
ZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmYgfHwgY2xpcHNUb0V4cG9zZWRSZWN0KQorICAgICAg
ICBpZiAoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6
OkFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCiAgICAgICAgICAgICB0aWxlQ292ZXJh
Z2UgfD0gVGlsZWRCYWNraW5nOjpDb3ZlcmFnZUZvclZlcnRpY2FsU2Nyb2xsaW5nOwogICAgIH0K
ICAgICByZXR1cm4gdGlsZUNvdmVyYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
aW5kZXggNzY5YjdkZjdkNGQyMjU0ZTcxZjcxMjlmNjc3NWJjYmYxYWNiN2YyZC4uMTA3ZTM4YTQw
MDIwMGE3MGEwMDM3ODJlNTAxZTJiMThhOTY1MWUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwCkBAIC0xNTI4LDEwICsxNTI4LDEwIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgICAgICAmJiB3ZWJQYWdl
LT5zaG91bGRVc2VDdXN0b21Db250ZW50UHJvdmlkZXJGb3JSZXNwb25zZShtX2ZyYW1lLT5jb3Jl
RnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+cmVzcG9uc2UoKSk7CiAgICAgbV9m
cmFtZUNhbWVGcm9tQmFja0ZvcndhcmRDYWNoZSA9IGZhbHNlOwogCi0gICAgU2Nyb2xsYmFyTW9k
ZSBkZWZhdWx0U2Nyb2xsYmFyTW9kZSA9IHNob3VsZEhpZGVTY3JvbGxiYXJzID8gU2Nyb2xsYmFy
QWx3YXlzT2ZmIDogU2Nyb2xsYmFyQXV0bzsKKyAgICBTY3JvbGxiYXJNb2RlIGRlZmF1bHRTY3Jv
bGxiYXJNb2RlID0gc2hvdWxkSGlkZVNjcm9sbGJhcnMgPyBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
ZmYgOiBTY3JvbGxiYXJNb2RlOjpBdXRvOwogCi0gICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFs
U2Nyb2xsYmFyTW9kZSA9IHdlYlBhZ2UtPmFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKCkg
PyBTY3JvbGxiYXJBbHdheXNPbiA6IGRlZmF1bHRTY3JvbGxiYXJNb2RlOwotICAgIFNjcm9sbGJh
ck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gd2ViUGFnZS0+YWx3YXlzU2hvd3NWZXJ0aWNh
bFNjcm9sbGVyKCkgPyBTY3JvbGxiYXJBbHdheXNPbiA6IGRlZmF1bHRTY3JvbGxiYXJNb2RlOwor
ICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgPSB3ZWJQYWdlLT5hbHdh
eXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gOiBk
ZWZhdWx0U2Nyb2xsYmFyTW9kZTsKKyAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFy
TW9kZSA9IHdlYlBhZ2UtPmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigpID8gU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT24gOiBkZWZhdWx0U2Nyb2xsYmFyTW9kZTsKIAogICAgIGJvb2wgaG9yaXpv
bnRhbExvY2sgPSBzaG91bGRIaWRlU2Nyb2xsYmFycyB8fCB3ZWJQYWdlLT5hbHdheXNTaG93c0hv
cml6b250YWxTY3JvbGxlcigpOwogICAgIGJvb2wgdmVydGljYWxMb2NrID0gc2hvdWxkSGlkZVNj
cm9sbGJhcnMgfHwgd2ViUGFnZS0+YWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDJmMjI0MDY4
N2UyN2FiMWJkMWI5ZWVmNjBiOTVmOTY4Nzk1N2QyMzYuLjBjMDY3OTIzYTRiMmM0Mjk1MGY2NDcz
MDExNWIyMjUzMmNhNmJmMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC02MjA1LDcgKzYyMDUsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldEFsd2F5
c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKGJvb2wgYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xs
ZQogICAgIGF1dG8gdmlldyA9IGNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKTsKICAgICBp
ZiAoIWFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKQogICAgICAgICB2aWV3LT5zZXRIb3Jp
em9udGFsU2Nyb2xsYmFyTG9jayhmYWxzZSk7Ci0gICAgdmlldy0+c2V0SG9yaXpvbnRhbFNjcm9s
bGJhck1vZGUoYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgPyBTY3JvbGxiYXJBbHdheXNP
biA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFyQXV0byA6IFNjcm9sbGJhckFs
d2F5c09mZiwgYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgfHwgIW1fbWFpbkZyYW1lSXNT
Y3JvbGxhYmxlKTsKKyAgICB2aWV3LT5zZXRIb3Jpem9udGFsU2Nyb2xsYmFyTW9kZShhbHdheXNT
aG93c0hvcml6b250YWxTY3JvbGxlciA/IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uIDogbV9tYWlu
RnJhbWVJc1Njcm9sbGFibGUgPyBTY3JvbGxiYXJNb2RlOjpBdXRvIDogU2Nyb2xsYmFyTW9kZTo6
QWx3YXlzT2ZmLCBhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlciB8fCAhbV9tYWluRnJhbWVJ
c1Njcm9sbGFibGUpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnNldEFsd2F5c1Nob3dzVmVydGljYWxT
Y3JvbGxlcihib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcikKQEAgLTYyMTcsNyArNjIx
Nyw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKGJvb2wg
YWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKQogICAgIGF1dG8gdmlldyA9IGNvcmVQYWdlKCkt
Pm1haW5GcmFtZSgpLnZpZXcoKTsKICAgICBpZiAoIWFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxl
cikKICAgICAgICAgdmlldy0+c2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKLSAgICB2
aWV3LT5zZXRWZXJ0aWNhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVy
ID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSA/IFNjcm9sbGJh
ckF1dG8gOiBTY3JvbGxiYXJBbHdheXNPZmYsIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciB8
fCAhbV9tYWluRnJhbWVJc1Njcm9sbGFibGUpOworICAgIHZpZXctPnNldFZlcnRpY2FsU2Nyb2xs
YmFyTW9kZShhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIgPyBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPbiA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFyTW9kZTo6QXV0byA6IFNj
cm9sbGJhck1vZGU6OkFsd2F5c09mZiwgYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyIHx8ICFt
X21haW5GcmFtZUlzU2Nyb2xsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6c2V0TWluaW11bVNp
emVGb3JBdXRvTGF5b3V0KGNvbnN0IEludFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50Lm1tCmluZGV4IDM1NmEzNmEyNzk1ZjM4M2JiYjRjZWZkMTgzMTc4YzdiODE4NThkZjYuLmI5
YThjOGFjODRlZGFjZmJkNWY3MGI5MGQ0ODk2YzM0MmY4ZmI0NDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tCkBAIC0xNDgxLDcgKzE0ODEsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAgICAgZG9jdW1lbnRM
b2FkZXItPnNldFRpdGxlKHsgW2RhdGFTb3VyY2UgcGFnZVRpdGxlXSwgV2ViQ29yZTo6VGV4dERp
cmVjdGlvbjo6TFRSIH0pOwogCiAgICAgaWYgKGF1dG8qIG93bmVyRWxlbWVudCA9IGNvcmVGcmFt
ZS0+b3duZXJFbGVtZW50KCkpCi0gICAgICAgIGNvcmVGcmFtZS0+dmlldygpLT5zZXRDYW5IYXZl
U2Nyb2xsYmFycyhvd25lckVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSAhPSBXZWJDb3JlOjpTY3Jv
bGxiYXJBbHdheXNPZmYpOworICAgICAgICBjb3JlRnJhbWUtPnZpZXcoKS0+c2V0Q2FuSGF2ZVNj
cm9sbGJhcnMob3duZXJFbGVtZW50LT5zY3JvbGxpbmdNb2RlKCkgIT0gV2ViQ29yZTo6U2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmKTsKIAogICAgIC8vIElmIHRoZSBkb2N1bWVudCB2aWV3IGltcGxp
Y2l0bHkgYmVjYW1lIGZpcnN0IHJlc3BvbmRlciwgbWFrZSBzdXJlIHRvIHNldCB0aGUgZm9jdXNl
ZCBmcmFtZSBwcm9wZXJseS4KICAgICBpZiAoW1tkb2N1bWVudFZpZXcgd2luZG93XSBmaXJzdFJl
c3BvbmRlcl0gPT0gZG9jdW1lbnRWaWV3KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lm1tCmluZGV4IDU2
ZGNjYThhNzI0ZjUwZTJiMGI0Zjk2YmNiZmE1OGM2OTgxMTQ0OGUuLjAzOGE5Yzc2NTE0NzJmNWQ3
Y2YzMDhjOTUzN2VlNTc0MWYxNDM4MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lm1tCkBAIC0xMzMs
MTAgKzEzMywxMCBAQCBzdGF0aWMgQ2xhc3MgY3VzdG9tU2Nyb2xsZXJDbGFzczsKIHsKICAgICBp
ZiAoX3ByaXZhdGUtPmhTY3JvbGxNb2RlTG9ja2VkKQogICAgICAgICByZXR1cm47Ci0gICAgaWYg
KGZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQotICAgICAg
ICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhckF1dG87Ci0gICAgZWxzZSBpZiAoIWZsYWcg
JiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQotICAgICAgICBfcHJp
dmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICBpZiAoZmxhZyAmJiBfcHJp
dmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCisgICAgICAgIF9wcml2
YXRlLT5oU2Nyb2xsID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKKyAgICBlbHNlIGlmICghZmxhZyAm
JiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCisgICAgICAg
IF9wcml2YXRlLT5oU2Nyb2xsID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIFtzZWxm
IHVwZGF0ZVNjcm9sbGVyc107CiB9CiAKQEAgLTMwMCwxMiArMzAwLDEyIEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogICAgICAgICBuZXdIYXNW
ZXJ0aWNhbFNjcm9sbGVyID0gTk87CiAgICAgfQogCi0gICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xs
ICE9IFNjcm9sbGJhckF1dG8pCi0gICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxlciA9IChf
cHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7Ci0gICAgaWYgKF9wcml2YXRl
LT52U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pCi0gICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xs
ZXIgPSAoX3ByaXZhdGUtPnZTY3JvbGwgPT0gU2Nyb2xsYmFyQWx3YXlzT24pOworICAgIGlmIChf
cHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKQorICAgICAgICBuZXdIYXNI
b3Jpem9udGFsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6
QWx3YXlzT24pOworICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpB
dXRvKQorICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gKF9wcml2YXRlLT52U2Nyb2xs
ID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKIAotICAgIGlmICghZG9jdW1lbnRWaWV3IHx8
IF9wcml2YXRlLT5zdXBwcmVzc0xheW91dCB8fCBfcHJpdmF0ZS0+c3VwcHJlc3NTY3JvbGxlcnMg
fHwgKF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8gJiYgX3ByaXZhdGUtPnZTY3Jv
bGwgIT0gU2Nyb2xsYmFyQXV0bykpIHsKKyAgICBpZiAoIWRvY3VtZW50VmlldyB8fCBfcHJpdmF0
ZS0+c3VwcHJlc3NMYXlvdXQgfHwgX3ByaXZhdGUtPnN1cHByZXNzU2Nyb2xsZXJzIHx8IChfcHJp
dmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvICYmIF9wcml2YXRlLT52U2Nyb2xs
ICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pKSB7CiAgICAgICAgIF9wcml2YXRlLT5ob3Jpem9udGFs
U2Nyb2xsaW5nQWxsb3dlZEJ1dFNjcm9sbGVySGlkZGVuID0gbmV3SGFzSG9yaXpvbnRhbFNjcm9s
bGVyICYmIF9wcml2YXRlLT5hbHdheXNIaWRlSG9yaXpvbnRhbFNjcm9sbGVyOwogICAgICAgICBp
ZiAoX3ByaXZhdGUtPmhvcml6b250YWxTY3JvbGxpbmdBbGxvd2VkQnV0U2Nyb2xsZXJIaWRkZW4p
CiAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSBOTzsKQEAgLTM0MiwxMyAr
MzQyLDEzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFyc1Bhc3Mg
PSAyOwogICAgIGZyYW1lU2l6ZS53aWR0aCA9IGNlaWxmKGZyYW1lU2l6ZS53aWR0aCk7CiAgICAg
ZnJhbWVTaXplLmhlaWdodCA9IGNlaWxmKGZyYW1lU2l6ZS5oZWlnaHQpOwogCi0gICAgaWYgKF9w
cml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhckF1dG8pIHsKKyAgICBpZiAoX3ByaXZhdGUtPmhT
Y3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykgewogICAgICAgICBuZXdIYXNIb3Jpem9udGFs
U2Nyb2xsZXIgPSBkb2N1bWVudFNpemUud2lkdGggPiB2aXNpYmxlU2l6ZS53aWR0aDsKICAgICAg
ICAgaWYgKG5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiAhX3ByaXZhdGUtPmluVXBkYXRlU2Ny
b2xsZXJzTGF5b3V0UGFzcyAmJiBkb2N1bWVudFNpemUuaGVpZ2h0IDw9IGZyYW1lU2l6ZS5oZWln
aHQgJiYgZG9jdW1lbnRTaXplLndpZHRoIDw9IGZyYW1lU2l6ZS53aWR0aCkKICAgICAgICAgICAg
IG5ld0hhc0hvcml6b250YWxTY3JvbGxlciA9IE5POwogICAgIH0KIAotICAgIGlmIChfcHJpdmF0
ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKSB7CisgICAgaWYgKF9wcml2YXRlLT52U2Nyb2xs
ID09IFNjcm9sbGJhck1vZGU6OkF1dG8pIHsKICAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxl
ciA9IGRvY3VtZW50U2l6ZS5oZWlnaHQgPiB2aXNpYmxlU2l6ZS5oZWlnaHQ7CiAgICAgICAgIGlm
IChuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyICYmICFfcHJpdmF0ZS0+aW5VcGRhdGVTY3JvbGxlcnNM
YXlvdXRQYXNzICYmIGRvY3VtZW50U2l6ZS5oZWlnaHQgPD0gZnJhbWVTaXplLmhlaWdodCAmJiBk
b2N1bWVudFNpemUud2lkdGggPD0gZnJhbWVTaXplLndpZHRoKQogICAgICAgICAgICAgbmV3SGFz
VmVydGljYWxTY3JvbGxlciA9IE5POwpAQCAtMzU2LDkgKzM1Niw5IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogCiAgICAgLy8gVW5sZXNzIGlu
IFNjcm9sbGJhcnNBbHdheXNPbiBtb2RlLCBpZiB3ZSBldmVyIHR1cm4gb25lIHNjcm9sbGJhciBv
ZmYsIGFsd2F5cyB0dXJuIHRoZSBvdGhlciBvbmUgb2ZmIHRvby4KICAgICAvLyBOZXZlciBldmVy
IHRyeSB0byBib3RoIGdhaW4vbG9zZSBhIHNjcm9sbGJhciBpbiB0aGUgc2FtZSBwYXNzLgotICAg
IGlmICghbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyICYmIGhhc0hvcml6b250YWxTY3JvbGxlciAm
JiBfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPbikKKyAgICBpZiAoIW5ld0hh
c0hvcml6b250YWxTY3JvbGxlciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgX3ByaXZhdGUt
PnZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24pCiAgICAgICAgIG5ld0hhc1ZlcnRp
Y2FsU2Nyb2xsZXIgPSBOTzsKLSAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgaGFz
VmVydGljYWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNP
bikKKyAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgaGFzVmVydGljYWxTY3JvbGxl
ciAmJiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbikKICAgICAg
ICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gTk87CiAKICAgICBfcHJpdmF0ZS0+aG9yaXpv
bnRhbFNjcm9sbGluZ0FsbG93ZWRCdXRTY3JvbGxlckhpZGRlbiA9IG5ld0hhc0hvcml6b250YWxT
Y3JvbGxlciAmJiBfcHJpdmF0ZS0+YWx3YXlzSGlkZUhvcml6b250YWxTY3JvbGxlcjsKQEAgLTQz
OCwxMiArNDM4LDEyIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFy
c1Bhc3MgPSAyOwogCiAtIChCT09MKWFsbG93c0hvcml6b250YWxTY3JvbGxpbmcKIHsKLSAgICBy
ZXR1cm4gX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIHJldHVy
biBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiB9CiAKIC0g
KEJPT0wpYWxsb3dzVmVydGljYWxTY3JvbGxpbmcKIHsKLSAgICByZXR1cm4gX3ByaXZhdGUtPnZT
Y3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIHJldHVybiBfcHJpdmF0ZS0+dlNjcm9s
bCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiB9CiAKIC0gKHZvaWQpc2Nyb2xsaW5nTW9k
ZXM6KFdlYkNvcmU6OlNjcm9sbGJhck1vZGUqKWhNb2RlIHZlcnRpY2FsOihXZWJDb3JlOjpTY3Jv
bGxiYXJNb2RlKil2TW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCmluZGV4IDAwMmEyM2NiNmJkODkxOGJlZDk4YTg1MWM0NjM2ZmZiMjFjOWZkYzguLmFkYTY4
NmM2ODQzYmIxNDQ4OThmY2Y5NDg4ZjFjN2U1YTdhM2E3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTM2NTksMjcgKzM2NTksMjcgQEAgSUdOT1JF
X1dBUk5JTkdTX0VORAogewogICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyAqc2Nyb2xsdmll
dyA9IFtbW3NlbGYgbWFpbkZyYW1lXSBmcmFtZVZpZXddIF9zY3JvbGxWaWV3XTsKICAgICBpZiAo
ZmxhZykgewotICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6V2Vi
Q29yZTo6U2Nyb2xsYmFyQWx3YXlzT24gYW5kTG9jazpZRVNdOworICAgICAgICBbc2Nyb2xsdmll
dyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlz
T24gYW5kTG9jazpZRVNdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFtzY3JvbGx2aWV3IHNldFZl
cnRpY2FsU2Nyb2xsaW5nTW9kZUxvY2tlZDpOT107Ci0gICAgICAgIFtzY3JvbGx2aWV3IHNldFZl
cnRpY2FsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJBdXRvIGFuZExvY2s6Tk9dOwor
ICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Ny
b2xsYmFyTW9kZTo6QXV0byBhbmRMb2NrOk5PXTsKICAgICB9CiB9CiAKIC0gKEJPT0wpYWx3YXlz
U2hvd1ZlcnRpY2FsU2Nyb2xsZXIKIHsKICAgICBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgKnNj
cm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVWaWV3XSBfc2Nyb2xsVmlld107Ci0g
ICAgcmV0dXJuIFtzY3JvbGx2aWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Nj
cm9sbHZpZXcgdmVydGljYWxTY3JvbGxpbmdNb2RlXSA9PSBXZWJDb3JlOjpTY3JvbGxiYXJBbHdh
eXNPbjsKKyAgICByZXR1cm4gW3Njcm9sbHZpZXcgdmVydGljYWxTY3JvbGxpbmdNb2RlTG9ja2Vk
XSAmJiBbc2Nyb2xsdmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9s
bGJhck1vZGU6OkFsd2F5c09uOwogfQogCiAtICh2b2lkKXNldEFsd2F5c1Nob3dIb3Jpem9udGFs
U2Nyb2xsZXI6KEJPT0wpZmxhZwogewogICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyAqc2Ny
b2xsdmlldyA9IFtbW3NlbGYgbWFpbkZyYW1lXSBmcmFtZVZpZXddIF9zY3JvbGxWaWV3XTsKICAg
ICBpZiAoZmxhZykgewotICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5n
TW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJBbHdheXNPbiBhbmRMb2NrOllFU107CisgICAgICAgIFtz
Y3JvbGx2aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhck1v
ZGU6OkFsd2F5c09uIGFuZExvY2s6WUVTXTsKICAgICB9IGVsc2UgewogICAgICAgICBbc2Nyb2xs
dmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZDpOT107Ci0gICAgICAgIFtzY3Jv
bGx2aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhckF1dG8g
YW5kTG9jazpOT107CisgICAgICAgIFtzY3JvbGx2aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdN
b2RlOldlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkF1dG8gYW5kTG9jazpOT107CiAgICAgfQogfQog
CkBAIC0zNjkyLDcgKzM2OTIsNyBAQCBJR05PUkVfV0FSTklOR1NfRU5ECiAtIChCT09MKWFsd2F5
c1Nob3dIb3Jpem9udGFsU2Nyb2xsZXIKIHsKICAgICBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcg
KnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVWaWV3XSBfc2Nyb2xsVmlld107
Ci0gICAgcmV0dXJuIFtzY3JvbGx2aWV3IGhvcml6b250YWxTY3JvbGxpbmdNb2RlTG9ja2VkXSAm
JiBbc2Nyb2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZV0gPT0gV2ViQ29yZTo6U2Nyb2xs
YmFyQWx3YXlzT247CisgICAgcmV0dXJuIFtzY3JvbGx2aWV3IGhvcml6b250YWxTY3JvbGxpbmdN
b2RlTG9ja2VkXSAmJiBbc2Nyb2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZV0gPT0gV2Vi
Q29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT247CiB9CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElP
U19GQU1JTFkpCiAK
</data>
<flag name="commit-queue"
          id="467860"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443175</attachid>
            <date>2021-11-02 22:39:25 -0700</date>
            <delta_ts>2021-11-03 09:03:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232651-20211102223923.patch</filename>
            <type>text/plain</type>
            <size>44642</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjOTky
MzJmOTQzM2IwODFmNzM2YTFhYjc3OWJhYi4uMGU3YmEzM2EyZTQ5ZThiNDg5NzE2MjEyZDE3ZmUw
M2Q2ZGFiZjk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTExLTAyICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MRnJhbWVFbGVtZW50QmFzZTo6c2Nyb2xsaW5nTW9kZSBjb25z
dCk6CisgICAgICAgICogaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudDo6c2Nyb2xsaW5nTW9kZSBjb25zdCk6CisgICAg
ICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6Y3JlYXRlVmll
dyk6CisgICAgICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6aW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjpwZXJmb3JtRml4ZWRXaWR0aEF1dG9TaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6cGVyZm9ybVNpemVUb0NvbnRlbnRBdXRvU2l6ZSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmlzU2Nyb2xsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZp
ZXc6OmVuYWJsZUF1dG9TaXplTW9kZSk6CisgICAgICAgICogcGFnZS9TcGF0aWFsTmF2aWdhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYW5TY3JvbGxJbkRpcmVjdGlvbik6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JUeXBlcy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZp
ZXc6OnNldENhbkhhdmVTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6cGxhdGZv
cm1TY3JvbGxiYXJNb2RlcyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsVmlldy5o
OgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxhYmxlQXJlYTo6aG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6Y2FuSGF2ZVNjcm9sbGJhcnMgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy93YWsvV0FLU2Nyb2xsVmlldy5tbToKKyAgICAg
ICAgKC1bV0FLU2Nyb2xsVmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZV0pOgorICAgICAgICAo
LVtXQUtTY3JvbGxWaWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZV0pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGcmFtZUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRnJhbWVC
YXNlOjpwZXJmb3JtTGF5b3V0V2l0aEZsYXR0ZW5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJJRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySUZyYW1lOjpmbGF0dGVu
RnJhbWUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpmcmFtZUVsZW1lbnRBbmRWaWV3UGVybWl0U2Nyb2xsKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNv
bXB1dGVQYWdlVGlsZWRCYWNraW5nQ292ZXJhZ2UpOgorCiAyMDIxLTEwLTI4ICBBbmRyZXMgR29u
emFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBJc29sYXRlZCB0cmVlIG1v
ZGU6IERpc3BhdGNoIGFsbCBjYWxscyB0byBbV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIg
YWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlXSBpbiBXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQgdG8gdGhlIEFYIHRocmVhZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTAxNGRhNzYzNWM3NTI2YmEyZjAwODcw
ODdiYTc3YzE1MWJjYTNiNS4uMTNjM2JjMDNlYzgxZjgzNjQ4YTEwMTBjNzFkNDU5ZGM2ODIxNGI4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMS0wMiAgTmlrb2xhb3MgTW91Y2h0
YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBiYXIg
bW9kZSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzI2NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlv
blRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRBbHdheXNTaG93c0hvcml6
b250YWxTY3JvbGxlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEFsd2F5c1Nob3dz
VmVydGljYWxTY3JvbGxlcik6CisKIDIwMjEtMTAtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdlYlBhZ2VQcm94eSBpZGVudGlmaWVycyB0
byBgVmlld0dlc3R1cmVzYCBjYXRlZ29yeSBsb2dnaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKaW5kZXggMDVkZTM3NGQ2ZjkwNzY1MTlkZTc4NThhMTE5ZmU3ODJhZTE0ZjJmNi4uYzU0ZDE2
MjcxNWQ5ZmJkMzVjNjE0OTE4YzQ3OWUyNmZhYzlhMjFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTExLTAyICBOaWtvbGFvcyBNb3VjaHRhcmlz
ICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsIGJhciBtb2Rl
IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAg
IChXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6
CisgICAgICAgICogV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW06CisgICAgICAg
ICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBzZXRBbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5n
Ol0pOgorICAgICAgICAoLVtXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgdXBkYXRlU2Nyb2xsZXJz
XSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NIb3Jpem9udGFs
U2Nyb2xsaW5nXSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NW
ZXJ0aWNhbFNjcm9sbGluZ10pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViVmlldyBzZXRBbHdheXNTaG93VmVydGljYWxTY3JvbGxlcjpdKToKKyAgICAgICAg
KC1bV2ViVmlldyBhbHdheXNTaG93VmVydGljYWxTY3JvbGxlcl0pOgorICAgICAgICAoLVtXZWJW
aWV3IHNldEFsd2F5c1Nob3dIb3Jpem9udGFsU2Nyb2xsZXI6XSk6CisgICAgICAgICgtW1dlYlZp
ZXcgYWx3YXlzU2hvd0hvcml6b250YWxTY3JvbGxlcl0pOgorCiAyMDIxLTEwLTI4ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azEgXSAyIG1lZGlh
LWNhcGFiaWxpdGllcy93ZWJydGMgdGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCmluZGV4IGYzNWYzYmY3Nzc3MjY1
ZjAxZDA0OGE3MDFkZDJhYzZiNDI0YjAxMzEuLjdjNTc0MTU3YTE4NTVkOTk1NjYwY2JhYTRiODZk
NWFjZjhhMjNiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxl
bWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgU2Nyb2xsYmFyTW9kZSBIVE1MRnJhbWVFbGVtZW50
QmFzZTo6c2Nyb2xsaW5nTW9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHNjcm9sbGluZ0F0dHJpYnV0ZSwgIm5vIikKICAgICAgICAgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc2Nyb2xsaW5nQXR0cmlidXRlLCAibm9zY3JvbGwiKQog
ICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzY3JvbGxpbmdBdHRyaWJ1
dGUsICJvZmYiKQotICAgICAgICA/IFNjcm9sbGJhckFsd2F5c09mZiA6IFNjcm9sbGJhckF1dG87
CisgICAgICAgID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0
bzsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZyYW1lT3duZXJFbGVtZW50LmgKaW5kZXggOWY4NTNhYTEzZWY2NmFlMzllMDQ4NjFjM2QxNDM1
YzliNTE2Yzg4Ni4uZTJhZWIyZmUwYjIxODQ1MDBiZDBkMzcwZTY3MTA1NDU3NjhlMjkxYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oCkBAIC01MSw3ICs1
MSw3IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gZ2V0U1ZHRG9jdW1l
bnQoKSBjb25zdDsKIAotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3JvbGxpbmdNb2RlKCkg
Y29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9k
ZSBzY3JvbGxpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQog
CiAgICAgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJv
eEZsYWdzOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggN2U4YWMwNTI0MGE1ZTEwM2M4NTRj
MGM0NTczZGRiMmM1YjdkN2EyYS4uNjE2NjIzNmZkMWE3NzYzZWM3NzFkMTY3NzllZWYwMDhlYzFl
MzA2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTkxOSw3ICs5MTksNyBAQCB2b2lkIEZyYW1l
OjpjcmVhdGVWaWV3KGNvbnN0IEludFNpemUmIHZpZXdwb3J0U2l6ZSwgY29uc3Qgc3RkOjpvcHRp
b25hbDxDb2xvcj4mCiAgICAgICAgIG93bmVyUmVuZGVyZXIoKS0+c2V0V2lkZ2V0KGZyYW1lVmll
dyk7CiAKICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IG93bmVyRWxlbWVu
dCgpKQotICAgICAgICB2aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93bmVyLT5zY3JvbGxp
bmdNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgdmlldygpLT5zZXRDYW5I
YXZlU2Nyb2xsYmFycyhvd25lci0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZik7CiB9CiAKIERPTVdpbmRvdyogRnJhbWU6OndpbmRvdygpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgKaW5kZXggZjU0OGIwZmM1YjZhODc1NGJmNzA5MmVhZmNkOGVlMjVmOTNmYzFiMC4uMTI0
ZGYxODg1ZjcxZGNkN2Q2NWUwMWQ2OWZkNzliMTA0YTA3ZTY3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApA
QCAtMTI4LDggKzEyOCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFZp
ZXcoUmVmUHRyPEZyYW1lVmlldz4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjcmVhdGVW
aWV3KGNvbnN0IEludFNpemUmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbG9yPiYgYmFja2dyb3Vu
ZENvbG9yLAogICAgICAgICBjb25zdCBJbnRTaXplJiBmaXhlZExheW91dFNpemUsIGNvbnN0IElu
dFJlY3QmIGZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0LAotICAgICAgICBib29sIHVzZUZpeGVkTGF5
b3V0ID0gZmFsc2UsIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIGhvcml6b250
YWxMb2NrID0gZmFsc2UsCi0gICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBi
b29sIHZlcnRpY2FsTG9jayA9IGZhbHNlKTsKKyAgICAgICAgYm9vbCB1c2VGaXhlZExheW91dCA9
IGZhbHNlLCBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywgYm9vbCBob3Jpem9u
dGFsTG9jayA9IGZhbHNlLAorICAgICAgICBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6
QXV0bywgYm9vbCB2ZXJ0aWNhbExvY2sgPSBmYWxzZSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+
RnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU3OGVjZGI2OTNkZmE1
MzEwYTcxNjA2ZjAzNmJmZjZkMmZhYzYyNDYuLjI3ZGM1NDBiYmIzZDc3NDJkZDZkZjkyMTU4YjVm
Mjc2M2ZmMzc3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTI5Nyw5ICsyOTcs
OSBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzKCkKICAgICAvLyBSZXNldCB0aGUg
ZG9jdW1lbnQncyBzY3JvbGxiYXJzIGJhY2sgdG8gb3VyIGRlZmF1bHRzIGJlZm9yZSB3ZSB5aWVs
ZCB0aGUgZmxvb3IuCiAgICAgc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQodHJ1ZSk7CiAgICAgaWYg
KG1fY2FuSGF2ZVNjcm9sbGJhcnMpCi0gICAgICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJh
ckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgICAgICBzZXRTY3JvbGxiYXJNb2RlcyhTY3JvbGxi
YXJNb2RlOjpBdXRvLCBTY3JvbGxiYXJNb2RlOjpBdXRvKTsKICAgICBlbHNlCi0gICAgICAgIHNl
dFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckFsd2F5c09mZiwgU2Nyb2xsYmFyQWx3YXlzT2ZmKTsK
KyAgICAgICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmLCBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPZmYpOwogICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKGZhbHNl
KTsKIH0KIApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgRnJhbWVWaWV3Ojppbml0KCkKIAogICAg
IC8vIFByb3BhZ2F0ZSB0aGUgc2Nyb2xsaW5nIG1vZGUgdG8gdGhlIHZpZXcuCiAgICAgYXV0byog
b3duZXJFbGVtZW50ID0gZnJhbWUoKS5vd25lckVsZW1lbnQoKTsKLSAgICBpZiAoaXM8SFRNTEZy
YW1lRWxlbWVudEJhc2U+KG93bmVyRWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTEZyYW1lRWxlbWVu
dEJhc2U+KCpvd25lckVsZW1lbnQpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdheXNP
ZmYpCisgICAgaWYgKGlzPEhUTUxGcmFtZUVsZW1lbnRCYXNlPihvd25lckVsZW1lbnQpICYmIGRv
d25jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlPigqb3duZXJFbGVtZW50KS5zY3JvbGxpbmdNb2Rl
KCkgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICBzZXRDYW5IYXZlU2Nyb2xs
YmFycyhmYWxzZSk7CiAKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CkBAIC01MjEs
NyArNTIxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJzKCkKICAg
ICBTY3JvbGxiYXJNb2RlIGhNb2RlOwogICAgIFNjcm9sbGJhck1vZGUgdk1vZGU7CiAgICAgc2Ny
b2xsYmFyTW9kZXMoaE1vZGUsIHZNb2RlKTsKLSAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBpZiAoaE1vZGUgPT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09mZikKICAgICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnMoZmFsc2UpOwogICAgIGVsc2UKICAg
ICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnModHJ1ZSk7CkBAIC02NTksMTUgKzY1OSwxNSBAQCB2
b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBj
YXNlIE92ZXJmbG93OjpDbGlwOgogICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAg
ICAgICBoTW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJh
ck1vZGU6OkF1dG87CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFy
QWx3YXlzT2ZmOworICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgaE1v
ZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAg
ICAgaE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkF1dG87CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNl
dCBpdCBhdCBhbGwuCkBAIC02NzgsMTUgKzY3OCwxNSBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlP
dmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJh
cgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92ZXJmbG93OjpDbGlwOgog
ICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJh
ckF1dG87CisgICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICAg
ICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNP
bjsKKyAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJB
dXRvOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGJyZWFr
OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBhdCBhbGwuIFZhbHVlcyBv
ZiBPdmVyZmxvdzo6UGFnZWRYIGFuZCBPdmVyZmxvdzo6UGFnZWRZIGFyZSBoYW5kbGVkIGJ5IGFw
cGx5UGFnaW5hdGlvblRvVmlld1BvcnQoKS4KQEAgLTczMSwxOCArNzMxLDE4IEBAIHZvaWQgRnJh
bWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBo
TW9kZSwgU2Nyb2xsYmFyCiAgICAgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSA9IFZpZXdwb3J0UmVu
ZGVyZXJUeXBlOjpOb25lOwogCiAgICAgY29uc3QgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25l
ciA9IGZyYW1lKCkub3duZXJFbGVtZW50KCk7Ci0gICAgaWYgKG93bmVyICYmIChvd25lci0+c2Ny
b2xsaW5nTW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09mZikpIHsKLSAgICAgICAgaE1vZGUgPSBT
Y3JvbGxiYXJBbHdheXNPZmY7Ci0gICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOwor
ICAgIGlmIChvd25lciAmJiAob3duZXItPnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmYpKSB7CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2Zm
OworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgcmV0
dXJuOwogICAgIH0gIAogICAgIAogICAgIGlmIChtX2NhbkhhdmVTY3JvbGxiYXJzIHx8IHN0cmF0
ZWd5ID09IFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KSB7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xs
YmFyQXV0bzsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9
IFNjcm9sbGJhck1vZGU6OkF1dG87CisgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0
bzsKICAgICB9IGVsc2UgewotICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsKLSAg
ICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgIGhNb2RlID0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09mZjsKICAgICB9CiAgICAgCiAgICAgaWYgKGxheW91dENvbnRleHQoKS5zdWJ0cmVlTGF5b3V0
Um9vdCgpKQpAQCAtNzY3LDggKzc2Nyw4IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3Jv
bGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAg
fQogICAgIAogICAgIGlmIChpczxIVE1MRnJhbWVTZXRFbGVtZW50PigqYm9keU9yRnJhbWVzZXQp
ICYmICFmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxi
YXJBbHdheXNPZmY7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAg
ICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKKyAgICAgICAgaE1vZGUgPSBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEyNTQs
MTEgKzEyNTQsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OmFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQo
Ym9vbCBpc0ZpcnN0TGF5b3V0KQogICAgIGlmIChpc0ZpcnN0TGF5b3V0ICYmICFsYXlvdXRDb250
ZXh0KCkuaXNMYXlvdXROZXN0ZWQoKSkgewogICAgICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3Nl
ZCh0cnVlKTsKICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlm
IHdlJ3JlIGF1dG8uCi0gICAgICAgIGlmICh2TW9kZSA9PSBTY3JvbGxiYXJBdXRvKQotICAgICAg
ICAgICAgc2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09uKTsgLy8gVGhp
cyBjYXVzZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gYXBwZWFyLgorICAgICAgICBpZiAodk1v
ZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAgIHNldFZlcnRpY2FsU2Nyb2xs
YmFyTW9kZShTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7IC8vIFRoaXMgY2F1c2VzIGEgdmVydGlj
YWwgc2Nyb2xsYmFyIHRvIGFwcGVhci4KICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIGhNb2Rl
IHRvIEFsd2F5c09mZiBpZiB3ZSdyZSBhdXRvLgotICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xs
YmFyQXV0bykKLSAgICAgICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJh
ckFsd2F5c09mZik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlz
YXBwZWFyLgorICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAg
ICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
Zik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFyLgog
ICAgICAgICBBU1NFUlQoZnJhbWUoKS5wYWdlKCkpOwogICAgICAgICBpZiAoZnJhbWUoKS5wYWdl
KCktPmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAgICAgICAgICAgICBzY3JvbGxBbmltYXRv
cigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihmcmFtZSgpLnBhZ2UoKS0+d2hlZWxFdmVudFRl
c3RNb25pdG9yKCkpOwpAQCAtMzUyMSw4ICszNTIxLDggQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZv
cm1GaXhlZFdpZHRoQXV0b1NpemUoKQogICAgIGF1dG8qIHJlbmRlclZpZXcgPSBkb2N1bWVudC0+
cmVuZGVyVmlldygpOwogICAgIGF1dG8qIGZpcnN0Q2hpbGQgPSByZW5kZXJWaWV3LT5maXJzdENo
aWxkKCk7CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUg
PSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9uYWxTY3JvbGxi
YXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAgIFNjcm9sbGJhck1vZGUgdmVy
dGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIHNldFZl
cnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxzZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxv
Y2soZmFsc2UpOwogICAgIHNldFNjcm9sbGJhck1vZGVzKGhvcml6b25hbFNjcm9sbGJhck1vZGUs
IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSwgdHJ1ZSwgdHJ1ZSk7CkBAIC0zNjA1LDE1ICszNjA1LDE1
IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtU2l6ZVRvQ29udGVudEF1dG9TaXplKCkKICAgICAg
ICAgbmV3U2l6ZSA9IG5ld1NpemUuZXhwYW5kZWRUbyhtaW5BdXRvU2l6ZSk7CiAKICAgICAgICAg
Ly8gQm91bmQgdGhlIGRpbWVuc2lvbnMgYnkgdGhlIG1heCBib3VuZHMgYW5kIGRldGVybWluZSB3
aGF0IHNjcm9sbGJhcnMgdG8gc2hvdy4KLSAgICAgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9uYWxT
Y3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2Rl
IGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAg
ICAgIGlmIChuZXdTaXplLndpZHRoKCkgPiBtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpKSB7
CiAgICAgICAgICAgICBuZXdTaXplLnNldFdpZHRoKG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRo
KCkpOwotICAgICAgICAgICAgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckFsd2F5
c09uOworICAgICAgICAgICAgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkFsd2F5c09uOwogICAgICAgICB9Ci0gICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3Jv
bGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2RlIHZl
cnRpY2FsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAg
aWYgKG5ld1NpemUuaGVpZ2h0KCkgPiBtX2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQoKSkgewog
ICAgICAgICAgICAgbmV3U2l6ZS5zZXRIZWlnaHQobV9hdXRvU2l6ZUNvbnN0cmFpbnQuaGVpZ2h0
KCkpOwotICAgICAgICAgICAgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlz
T247CisgICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChuZXdTaXplID09IHNpemUpCkBAIC0z
OTUwLDcgKzM5NTAsNyBAQCBib29sIEZyYW1lVmlldzo6aXNTY3JvbGxhYmxlKFNjcm9sbGFiaWxp
dHkgZGVmaW5pdGlvbk9mU2Nyb2xsYWJsZSkKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxN
b2RlOwogICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxNb2RlOwogICAgIGNhbGN1bGF0ZVNjcm9s
bGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUsIFJ1bGVzRnJv
bVdlYkNvbnRlbnRPbmx5KTsKLSAgICBpZiAoaG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmICYmIHZlcnRpY2FsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAgaWYgKGhv
cml6b250YWxNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiAmJiB2ZXJ0aWNhbE1vZGUg
PT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTQ3MjIsNyArNDcyMiw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFi
bGVBdXRvU2l6ZU1vZGUoYm9vbCBlbmFibGUsIGNvbnN0IEludFNpemUmIHZpZXdTaXplLCBBdXRv
U2l6CiAgICAgLy8gU2luY2UgYXV0b3NpemUgbW9kZSBmb3JjZXMgdGhlIHNjcm9sbGJhciBtb2Rl
LCBjaGFuZ2UgdGhlbSB0byBiZWluZyBhdXRvLgogICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
ayhmYWxzZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwotICAgIHNl
dFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgIHNldFNj
cm9sbGJhck1vZGVzKFNjcm9sbGJhck1vZGU6OkF1dG8sIFNjcm9sbGJhck1vZGU6OkF1dG8pOwog
fQogCiB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWVMYXlvdXQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IDk4Mjc1YzU2
ZWEyMjY4ZjIzYzlmNTkxZDRkODc2NmIzZDg5YjA4NTYuLjNlNTllZDI2NzFmY2M1YzBhNzhlZTg4
ZjgwMjI0YjQyNzMwMjIyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlh
bE5hdmlnYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRp
b24uY3BwCkBAIC00NzYsOSArNDc2LDkgQEAgYm9vbCBjYW5TY3JvbGxJbkRpcmVjdGlvbihjb25z
dCBGcmFtZSogZnJhbWUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICBTY3JvbGxiYXJN
b2RlIHZlcnRpY2FsTW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2RlOwogICAg
IGZyYW1lLT52aWV3KCktPmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250
YWxNb2RlLCB2ZXJ0aWNhbE1vZGUpOwotICAgIGlmICgoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0
aW9uOjpMZWZ0IHx8IGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6UmlnaHQpICYmIFNjcm9s
bGJhckFsd2F5c09mZiA9PSBob3Jpem9udGFsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBG
b2N1c0RpcmVjdGlvbjo6TGVmdCB8fCBkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246OlJpZ2h0
KSAmJiBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgPT0gaG9yaXpvbnRhbE1vZGUpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6VXAg
fHwgZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFyQWx3YXlz
T2ZmID09IHZlcnRpY2FsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlv
bjo6VXAgfHwgZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT2ZmID09IHZlcnRpY2FsTW9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIExheW91dFNpemUgc2l6ZSA9IGZyYW1lLT52aWV3KCktPnRvdGFsQ29udGVudHNTaXplKCk7
CiAgICAgTGF5b3V0UG9pbnQgc2Nyb2xsUG9zaXRpb24gPSBmcmFtZS0+dmlldygpLT5zY3JvbGxQ
b3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGM4N2U4ZGEzMzQyMTAwMDhiNjU4Y2EzMzU1ZjNh
Y2RhODhhODM3YjguLjY5ODhhMmM1NGQ1ZmM3MWQzODQ0NWQ2ZDc4Mzc1OTRkZmMyOTRiYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5jcHAKQEAgLTM4OSw4ICszODksOCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgc2Nyb2xsYWJsZUFyZWFQYQog
ewogICAgIHRzLmR1bXBQcm9wZXJ0eSgiaG9yaXpvbnRhbCBzY3JvbGwgZWxhc3RpY2l0eSIsIHNj
cm9sbGFibGVBcmVhUGFyYW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSk7CiAgICAg
dHMuZHVtcFByb3BlcnR5KCJ2ZXJ0aWNhbCBzY3JvbGwgZWxhc3RpY2l0eSIsIHNjcm9sbGFibGVB
cmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHkpOwotICAgIHRzLmR1bXBQcm9w
ZXJ0eSgiaG9yaXpvbnRhbCBzY3JvbGxiYXIgbW9kZSIsIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVy
cy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSk7Ci0gICAgdHMuZHVtcFByb3BlcnR5KCJ2ZXJ0aWNh
bCBzY3JvbGxiYXIgbW9kZSIsIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9s
bGJhck1vZGUpOworICAgIHRzLmR1bXBQcm9wZXJ0eSgiaG9yaXpvbnRhbCBzY3JvbGxiYXIgbW9k
ZSIsIHN0YXRpY19jYXN0PGludD4oc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxT
Y3JvbGxiYXJNb2RlKSk7CisgICAgdHMuZHVtcFByb3BlcnR5KCJ2ZXJ0aWNhbCBzY3JvbGxiYXIg
bW9kZSIsIHN0YXRpY19jYXN0PGludD4oc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2Fs
U2Nyb2xsYmFyTW9kZSkpOwogCiAgICAgaWYgKHNjcm9sbGFibGVBcmVhUGFyYW1ldGVycy5hbGxv
d3NIb3Jpem9udGFsU2Nyb2xsaW5nKQogICAgICAgICB0cy5kdW1wUHJvcGVydHkoImFsbG93cyBo
b3Jpem9udGFsIHNjcm9sbGluZyIsIHNjcm9sbGFibGVBcmVhUGFyYW1ldGVycy5hbGxvd3NIb3Jp
em9udGFsU2Nyb2xsaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaAppbmRleCBkZjY1NDc4ODc4NmE4MDgz
N2Y1MDNlZWU1ODU5ODcxYjA2OWJlN2ZkLi4yZTRiMDhkYmIyNDYwMmY5NWE4MDA5NGEyNzE3MzVj
YzczNzE5YzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvclR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5oCkBAIC03Myw4ICs3Myw4IEBAIHN0cnVjdCBT
Y3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgewogICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRh
bFNjcm9sbEVsYXN0aWNpdHkgeyBTY3JvbGxFbGFzdGljaXR5Tm9uZSB9OwogICAgIFNjcm9sbEVs
YXN0aWNpdHkgdmVydGljYWxTY3JvbGxFbGFzdGljaXR5IHsgU2Nyb2xsRWxhc3RpY2l0eU5vbmUg
fTsKIAotICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxi
YXJBdXRvIH07Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgeyBTY3Jv
bGxiYXJBdXRvIH07CisgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSB7
IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xs
YmFyTW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKIAogICAgIGJvb2wgYWxsb3dzSG9yaXpv
bnRhbFNjcm9sbGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBhbGxvd3NWZXJ0aWNhbFNjcm9sbGlu
ZyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCBjYzU2Yzk0N2M0YjQ2ZjkwOWQx
NzgyMmMyODlhZWYzNjhjNDQ3MzM2Li4zZjNhOWIyNmEzM2YyZjEyNTU0YTgyMGRjYmVhMTg3ZGE1
NTk1ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTk0LDkgKzk0LDkgQEAgcHVibGljOgog
CiAgICAgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5C
eVN0eWxlOyB9CiAgICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25z
dCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhckhp
ZGRlbkJ5U3R5bGU7IH0KLSAgICBib29sIGNhbkhhdmVIb3Jpem9udGFsU2Nyb2xsYmFyKCkgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJh
ck1vZGUgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9Ci0gICAgYm9vbCBjYW5IYXZlVmVydGljYWxT
Y3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0
aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9Ci0gICAgYm9vbCBjYW5I
YXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJz
Lmhvcml6b250YWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCBtX3Njcm9s
bGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmOyB9CisgICAgYm9vbCBjYW5IYXZlSG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJNb2Rl
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQorICAgIGJvb2wgY2FuSGF2ZVZlcnRpY2Fs
U2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVy
dGljYWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQorICAgIGJv
b2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFy
YW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
ZmYgfHwgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVydGljYWxTY3JvbGxiYXJNb2RlICE9
IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQogCiAgICAgY29uc3QgRmxvYXRTY3JvbGxTbmFw
T2Zmc2V0c0luZm8mIHNuYXBPZmZzZXRzSW5mbygpIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9uYWw8
dW5zaWduZWQ+IGN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IGViYWExN2U5MDAyZDhkYjM5OGQ3OGI2
Y2JkMzdiNjYyMTRjZmFlNWYuLmRhYmUyYWZhOTNhNjBhZTQwZTQxYWI3Yzc5MDJhZWYzMTE2Mzlm
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMTQ4LDEwICsxNDgs
MTAgQEAgZW51bSBTY3JvbGxiYXJPcmllbnRhdGlvbiA6IHVpbnQ4X3QgewogICAgIFZlcnRpY2Fs
U2Nyb2xsYmFyCiB9OwogCi1lbnVtIFNjcm9sbGJhck1vZGUgOiB1aW50OF90IHsKLSAgICBTY3Jv
bGxiYXJBdXRvLAotICAgIFNjcm9sbGJhckFsd2F5c09mZiwKLSAgICBTY3JvbGxiYXJBbHdheXNP
bgorZW51bSBjbGFzcyBTY3JvbGxiYXJNb2RlIDogdWludDhfdCB7CisgICAgQXV0bywKKyAgICBB
bHdheXNPZmYsCisgICAgQWx3YXlzT24KIH07CiAKIGVudW0gY2xhc3MgU2Nyb2xsYmFyQ29udHJv
bFNpemUgOiB1aW50OF90IHsKQEAgLTMwMyw5ICszMDMsOSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBF
bnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbElzQW5pbWF0ZWQ+IHsKIHRlbXBsYXRlPD4gc3RydWN0
IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsYmFyTW9kZT4gewogICAgIHVzaW5nIHZhbHVlcyA9
IEVudW1WYWx1ZXM8CiAgICAgICAgIFdlYkNvcmU6OlNjcm9sbGJhck1vZGUsCi0gICAgICAgIFdl
YkNvcmU6OlNjcm9sbGJhck1vZGU6OlNjcm9sbGJhckF1dG8sCi0gICAgICAgIFdlYkNvcmU6OlNj
cm9sbGJhck1vZGU6OlNjcm9sbGJhckFsd2F5c09mZiwKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xs
YmFyTW9kZTo6U2Nyb2xsYmFyQWx3YXlzT24KKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9k
ZTo6QXV0bywKKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmLAorICAg
ICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbgogICAgID47CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IGM5MmNlMmU1YzkxOGVjZTFhNWQ0
ODBjMGFkN2VhOGZmNjQ1OTUwNGIuLmMyNmQ4NDE3Y2E1YTFlM2UxNTExODIzOGNiYWFlZGQ2ZjM2
MWMyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0xNTQsMTUg
KzE1NCwxNSBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldENhbkhhdmVTY3JvbGxiYXJzKGJvb2wgY2Fu
U2Nyb2xsKQogICAgIAogICAgIHNjcm9sbGJhck1vZGVzKG5ld0hvcml6b250YWxNb2RlLCBuZXdW
ZXJ0aWNhbE1vZGUpOwogICAgIAotICAgIGlmIChjYW5TY3JvbGwgJiYgbmV3VmVydGljYWxNb2Rl
ID09IFNjcm9sbGJhckFsd2F5c09mZikKLSAgICAgICAgbmV3VmVydGljYWxNb2RlID0gU2Nyb2xs
YmFyQXV0bzsKKyAgICBpZiAoY2FuU2Nyb2xsICYmIG5ld1ZlcnRpY2FsTW9kZSA9PSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmYpCisgICAgICAgIG5ld1ZlcnRpY2FsTW9kZSA9IFNjcm9sbGJhck1v
ZGU6OkF1dG87CiAgICAgZWxzZSBpZiAoIWNhblNjcm9sbCkKLSAgICAgICAgbmV3VmVydGljYWxN
b2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgCi0gICAgaWYgKGNhblNjcm9sbCAmJiBuZXdIb3Jp
em9udGFsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCi0gICAgICAgIG5ld0hvcml6b250YWxN
b2RlID0gU2Nyb2xsYmFyQXV0bzsKKyAgICBpZiAoY2FuU2Nyb2xsICYmIG5ld0hvcml6b250YWxN
b2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKKyAgICAgICAgbmV3SG9yaXpvbnRhbE1v
ZGUgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOwogICAgIGVsc2UgaWYgKCFjYW5TY3JvbGwpCi0gICAg
ICAgIG5ld0hvcml6b250YWxNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBuZXdI
b3Jpem9udGFsTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAKICAgICBzZXRT
Y3JvbGxiYXJNb2RlcyhuZXdIb3Jpem9udGFsTW9kZSwgbmV3VmVydGljYWxNb2RlKTsKIH0KQEAg
LTYzNCwxNCArNjM0LDE0IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25z
dCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgIFNjcm9sbGJhck1vZGUgaFNj
cm9sbCA9IG1faG9yaXpvbnRhbFNjcm9sbGJhck1vZGU7CiAgICAgU2Nyb2xsYmFyTW9kZSB2U2Ny
b2xsID0gbV92ZXJ0aWNhbFNjcm9sbGJhck1vZGU7CiAKLSAgICBpZiAoaFNjcm9sbCAhPSBTY3Jv
bGxiYXJBdXRvKQotICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyID0gKGhTY3JvbGwg
PT0gU2Nyb2xsYmFyQWx3YXlzT24pOwotICAgIGlmICh2U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8p
Ci0gICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyID0gKHZTY3JvbGwgPT0gU2Nyb2xsYmFy
QWx3YXlzT24pOworICAgIGlmIChoU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pCisgICAg
ICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSAoaFNjcm9sbCA9PSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPbik7CisgICAgaWYgKHZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAg
ICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxiYXIgPSAodlNjcm9sbCA9PSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPbik7CiAKICAgICBib29sIHNjcm9sbGJhckFkZGVkT3JSZW1vdmVkID0gZmFsc2U7
CiAKLSAgICBpZiAobV9zY3JvbGxiYXJzU3VwcHJlc3NlZCB8fCAoaFNjcm9sbCAhPSBTY3JvbGxi
YXJBdXRvICYmIHZTY3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykpIHsKKyAgICBpZiAobV9zY3JvbGxi
YXJzU3VwcHJlc3NlZCB8fCAoaFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvICYmIHZTY3Jv
bGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykpIHsKICAgICAgICAgaWYgKGhhc0hvcml6b250YWxT
Y3JvbGxiYXIgIT0gbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciAmJiAoaGFzSG9yaXpvbnRhbFNj
cm9sbGJhciB8fCAhYXZvaWRTY3JvbGxiYXJDcmVhdGlvbigpKSkgewogICAgICAgICAgICAgaWYg
KHNldEhhc0hvcml6b250YWxTY3JvbGxiYXIobmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhcikpCiAg
ICAgICAgICAgICAgICAgc2Nyb2xsYmFyQWRkZWRPclJlbW92ZWQgPSB0cnVlOwpAQCAtNjU3LDkg
KzY1Nyw5IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgICAgICBJbnRTaXplIGRvY1NpemUgPSB0b3Rh
bENvbnRlbnRzU2l6ZSgpOwogICAgICAgICBJbnRTaXplIGZ1bGxWaXNpYmxlU2l6ZSA9IHVub2Jz
Y3VyZWRDb250ZW50UmVjdEluY2x1ZGluZ1Njcm9sbGJhcnMoKS5zaXplKCk7CiAKLSAgICAgICAg
aWYgKGhTY3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykKKyAgICAgICAgaWYgKGhTY3JvbGwgPT0gU2Ny
b2xsYmFyTW9kZTo6QXV0bykKICAgICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIg
PSBkb2NTaXplLndpZHRoKCkgPiB2aXNpYmxlV2lkdGgoKTsKLSAgICAgICAgaWYgKHZTY3JvbGwg
PT0gU2Nyb2xsYmFyQXV0bykKKyAgICAgICAgaWYgKHZTY3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6
QXV0bykKICAgICAgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyID0gZG9jU2l6ZS5oZWln
aHQoKSA+IHZpc2libGVIZWlnaHQoKTsKIAogICAgICAgICBib29sIG5lZWRBbm90aGVyUGFzcyA9
IGZhbHNlOwpAQCAtNjY3LDE2ICs2NjcsMTYgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVTY3Jv
bGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAgICAgICAgICAg
ICAvLyBJZiB3ZSBldmVyIHR1cm4gb25lIHNjcm9sbGJhciBvZmYsIGRvIG5vdCB0dXJuIHRoZSBv
dGhlciBvbmUgb24uIE5ldmVyIGV2ZXIKICAgICAgICAgICAgIC8vIHRyeSB0byBib3RoIGdhaW4v
bG9zZSBhIHNjcm9sbGJhciBpbiB0aGUgc2FtZSBwYXNzLgogICAgICAgICAgICAgaWYgKCFtX3Vw
ZGF0ZVNjcm9sbGJhcnNQYXNzICYmIGRvY1NpemUud2lkdGgoKSA8PSBmdWxsVmlzaWJsZVNpemUu
d2lkdGgoKSAmJiBkb2NTaXplLmhlaWdodCgpIDw9IGZ1bGxWaXNpYmxlU2l6ZS5oZWlnaHQoKSkg
ewotICAgICAgICAgICAgICAgIGlmIChoU2Nyb2xsID09IFNjcm9sbGJhckF1dG8pCisgICAgICAg
ICAgICAgICAgaWYgKGhTY3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKICAgICAgICAgICAg
ICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9IGZhbHNlOwotICAgICAgICAgICAg
ICAgIGlmICh2U2Nyb2xsID09IFNjcm9sbGJhckF1dG8pCisgICAgICAgICAgICAgICAgaWYgKHZT
Y3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKICAgICAgICAgICAgICAgICAgICAgbmV3SGFz
VmVydGljYWxTY3JvbGxiYXIgPSBmYWxzZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
ICghbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsYmFyICYm
IHZTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT24gJiYgIWhhc1ZlcnRpY2FsU2Nyb2xsYmFyKSB7
CisgICAgICAgICAgICBpZiAoIW5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgaGFzSG9yaXpv
bnRhbFNjcm9sbGJhciAmJiB2U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uICYmICFo
YXNWZXJ0aWNhbFNjcm9sbGJhcikgewogICAgICAgICAgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Ny
b2xsYmFyID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgbmVlZEFub3RoZXJQYXNzID0gdHJ1ZTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICghbmV3SGFzVmVydGljYWxTY3JvbGxiYXIg
JiYgaGFzVmVydGljYWxTY3JvbGxiYXIgJiYgaFNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPbiAm
JiAhaGFzSG9yaXpvbnRhbFNjcm9sbGJhcikgeworICAgICAgICAgICAgaWYgKCFuZXdIYXNWZXJ0
aWNhbFNjcm9sbGJhciAmJiBoYXNWZXJ0aWNhbFNjcm9sbGJhciAmJiBoU2Nyb2xsICE9IFNjcm9s
bGJhck1vZGU6OkFsd2F5c09uICYmICFoYXNIb3Jpem9udGFsU2Nyb2xsYmFyKSB7CiAgICAgICAg
ICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9IGZhbHNlOwogICAgICAgICAgICAg
ICAgIG5lZWRBbm90aGVyUGFzcyA9IHRydWU7CiAgICAgICAgICAgICB9CkBAIC0xNjE5LDggKzE2
MTksOCBAQCB2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0U2Nyb2xsYmFyTW9kZXMoKQogCiB2
b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyTW9kZSYgaG9y
aXpvbnRhbCwgU2Nyb2xsYmFyTW9kZSYgdmVydGljYWwpIGNvbnN0CiB7Ci0gICAgaG9yaXpvbnRh
bCA9IFNjcm9sbGJhckF1dG87Ci0gICAgdmVydGljYWwgPSBTY3JvbGxiYXJBdXRvOworICAgIGhv
cml6b250YWwgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOworICAgIHZlcnRpY2FsID0gU2Nyb2xsYmFy
TW9kZTo6QXV0bzsKIH0KIAogdm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNldENhbkJsaXRPblNj
cm9sbChib29sKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmluZGV4IDA3OWY3MDIy
YzI1ZjM5YzhkZTRjNDI4M2U0YmQ5NzcxMzc4NTJmOTguLmEzZjBiMTdiMTMxYWIxMzA1YjRlNmRi
OTg4MjUyOTEyMzJiYzRiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKQEAg
LTUzNCw4ICs1MzQsOCBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9ob3Jp
em9udGFsU2Nyb2xsYmFyOwogICAgIFJlZlB0cjxTY3JvbGxiYXI+IG1fdmVydGljYWxTY3JvbGxi
YXI7Ci0gICAgU2Nyb2xsYmFyTW9kZSBtX2hvcml6b250YWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xs
YmFyQXV0byB9OwotICAgIFNjcm9sbGJhck1vZGUgbV92ZXJ0aWNhbFNjcm9sbGJhck1vZGUgeyBT
Y3JvbGxiYXJBdXRvIH07CisgICAgU2Nyb2xsYmFyTW9kZSBtX2hvcml6b250YWxTY3JvbGxiYXJN
b2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9OworICAgIFNjcm9sbGJhck1vZGUgbV92ZXJ0aWNh
bFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJNb2RlOjpBdXRvIH07CiAKIAogICAgIC8vIEZJWE1F
OiBNb3JlIHRoaW5ncyB3aWxsIG1vdmUgaW50byBoZXJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmgKaW5kZXggZmU0MmM0ZWM2ZWJhNGYwNDhmOTRmZWY1OTA0OTM2OTBi
ZTUzNTY1YS4uMDk5YjkxMTQ1M2Q0ZTQ4NWQxMzdlYmQ0MGIzYzRjZWE0NTZjOWVkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0xMjEsOSArMTIxLDkgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0SG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoU2Nyb2xsRWxh
c3RpY2l0eSBzY3JvbGxFbGFzdGljaXR5KSB7IG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkg
PSBzY3JvbGxFbGFzdGljaXR5OyB9CiAgICAgU2Nyb2xsRWxhc3RpY2l0eSBob3Jpem9udGFsU2Ny
b2xsRWxhc3RpY2l0eSgpIGNvbnN0IHsgcmV0dXJuIG1faG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNp
dHk7IH0KIAotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9k
ZSgpIGNvbnN0IHsgcmV0dXJuIFNjcm9sbGJhckF1dG87IH0KLSAgICB2aXJ0dWFsIFNjcm9sbGJh
ck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyQXV0
bzsgfQotICAgIGJvb2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBob3Jpem9u
dGFsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCB2ZXJ0aWNhbFNjcm9s
bGJhck1vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGJh
ck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJN
b2RlOjpBdXRvOyB9CisgICAgdmlydHVhbCBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFy
TW9kZSgpIGNvbnN0IHsgcmV0dXJuIFNjcm9sbGJhck1vZGU6OkF1dG87IH0KKyAgICBib29sIGNh
bkhhdmVTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4gaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUo
KSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgfHwgdmVydGljYWxTY3JvbGxiYXJNb2RlKCkg
IT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaG9yaXpv
bnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dh
ay9XQUtTY3JvbGxWaWV3Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtT
Y3JvbGxWaWV3Lm1tCmluZGV4IDUwMWE2OGJlYTkwNzg4ZDliYzkzNjk3MzBlNzM5NDc2NTlhNDY0
MmYuLjVmNjAwZDY3MWYzZWQ1NWZkY2JkYWU2MzRkZmVlMjA2MjkyYjdkMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLU2Nyb2xsVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW0KQEAgLTE5NCwx
MiArMTk0LDEyIEBAIHN0YXRpYyB2b2lkIF9ub3RpZmljYXRpb25DYWxsYmFjayhXS1ZpZXdSZWYg
diwgV0tWaWV3Tm90aWZpY2F0aW9uVHlwZSB0eXBlLCB2b2lkCiAKIC0gKFdlYkNvcmU6OlNjcm9s
bGJhck1vZGUpaG9yaXpvbnRhbFNjcm9sbGluZ01vZGUKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsYmFyQXV0bzsKKyAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QXV0bzsK
IH0KIAogLSAoV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSl2ZXJ0aWNhbFNjcm9sbGluZ01vZGUKIHsK
LSAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsYmFyQXV0bzsKKyAgICByZXR1cm4gV2ViQ29yZTo6
U2Nyb2xsYmFyTW9kZTo6QXV0bzsKIH0KIAogI3ByYWdtYSBtYXJrIC0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZUJhc2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lQmFzZS5jcHAKaW5kZXggYjA5NWQ4ZTRhY2E3ZmFmNjkz
ZGNlOTI2MThhYjNkNDg4NDE4N2RlOS4uNDRkNDhmYzJlNThjNjdjMjcxMmM5ZWMzYTBmMzI0NDli
MTk2YWM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1l
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lQmFzZS5j
cHAKQEAgLTkzLDcgKzkzLDcgQEAgdm9pZCBSZW5kZXJGcmFtZUJhc2U6OnBlcmZvcm1MYXlvdXRX
aXRoRmxhdHRlbmluZyhib29sIGhhc0ZpeGVkV2lkdGgsIGJvb2wgaGFzRmkKICAgICAvLyBpZiBz
Y3JvbGxiYXJzIGFyZSBvZmYsIGFuZCB0aGUgd2lkdGggb3IgaGVpZ2h0IGFyZSBmaXhlZAogICAg
IC8vIHdlIG9iZXkgdGhlbSBhbmQgZG8gbm90IGV4cGFuZC4gV2l0aCBmcmFtZSBmbGF0dGVuaW5n
CiAgICAgLy8gbm8gc3ViZnJhbWUgbXVjaCBldmVyIGJlY29tZSBzY3JvbGxhYmxlLgotICAgIGJv
b2wgaXNTY3JvbGxhYmxlID0gZnJhbWVPd25lckVsZW1lbnQoKS5zY3JvbGxpbmdNb2RlKCkgIT0g
U2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIGJvb2wgaXNTY3JvbGxhYmxlID0gZnJhbWVPd25lckVs
ZW1lbnQoKS5zY3JvbGxpbmdNb2RlKCkgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogCiAg
ICAgLy8gY29uc2lkZXIgaWZyYW1lIGluc2V0IGJvcmRlcgogICAgIGludCBoQm9yZGVyID0gYm9y
ZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklGcmFtZS5jcHAKaW5kZXggNGIyNzYxZTE5ODc3YmVmZGNhZWVjMTVmYjQ4ZmNlNzM2M2FiMmQ1
Yy4uMTZmYzg4MGNjMzI0NTQ5YTQxNWZhN2M1YjdlYjlkYWQ5MzA1MDk3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgYm9vbCBS
ZW5kZXJJRnJhbWU6OmZsYXR0ZW5GcmFtZSgpIGNvbnN0CiAKICAgICBpZiAoc3R5bGUoKS53aWR0
aCgpLmlzRml4ZWQoKSAmJiBzdHlsZSgpLmhlaWdodCgpLmlzRml4ZWQoKSkgewogICAgICAgICAv
LyBEbyBub3QgZmxhdHRlbiBpZnJhbWVzIHdpdGggc2Nyb2xsaW5nPSJubyIuCi0gICAgICAgIGlm
IChpZnJhbWVFbGVtZW50KCkuc2Nyb2xsaW5nTW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09mZikK
KyAgICAgICAgaWYgKGlmcmFtZUVsZW1lbnQoKS5zY3JvbGxpbmdNb2RlKCkgPT0gU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAvLyBE
byBub3QgZmxhdHRlbiBpZnJhbWVzIHRoYXQgaGF2ZSB6ZXJvIHNpemUsIGFzIGZsYXR0ZW5pbmcg
bWlnaHQgbWFrZSB0aGVtIHZpc2libGUuCiAgICAgICAgIGlmIChzdHlsZSgpLndpZHRoKCkudmFs
dWUoKSA8PSAwIHx8IHN0eWxlKCkuaGVpZ2h0KCkudmFsdWUoKSA8PSAwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMGMyNjY5NjI5OTE3NGJkNmZkODljNjJi
MWEwMjI5NmZhODllNGJkOS4uYzMzYjY0NDI2NjZiNzJkNWMzNDQyMDI4MTJlZjVjMjI0ZTI4ZjYw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yMzk3LDcg
KzIzOTcsNyBAQCBMYXlvdXRTaXplIFJlbmRlckxheWVyOjpvZmZzZXRGcm9tQW5jZXN0b3IoY29u
c3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIENvbAogc3RhdGljIGlubGluZSBib29sIGZy
YW1lRWxlbWVudEFuZFZpZXdQZXJtaXRTY3JvbGwoSFRNTEZyYW1lRWxlbWVudEJhc2UqIGZyYW1l
RWxlbWVudEJhc2UsIEZyYW1lVmlldyYgZnJhbWVWaWV3KQogewogICAgIC8vIElmIHNjcm9sbGJh
cnMgYXJlbid0IGV4cGxpY2l0bHkgZm9yYmlkZGVuLCBwZXJtaXQgc2Nyb2xsaW5nLgotICAgIGlm
IChmcmFtZUVsZW1lbnRCYXNlICYmIGZyYW1lRWxlbWVudEJhc2UtPnNjcm9sbGluZ01vZGUoKSAh
PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAgaWYgKGZyYW1lRWxlbWVudEJhc2UgJiYgZnJhbWVF
bGVtZW50QmFzZS0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAvLyBJZiBzY3JvbGxiYXJzIGFyZSBmb3JiaWRk
ZW4sIHVzZXIgaW5pdGlhdGVkIHNjcm9sbHMgc2hvdWxkIG9idmlvdXNseSBiZSBpZ25vcmVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRl
eCBiZDlmMjJhNTE0NWNlOWE1NGMwMjY2ZmI1ODNjYWZhMDVhZTFlMTk5Li42NmU0YzJhYzZmNWI2
ZDZmYTQzZWI3YzAzNGM3ZDM2MDNlMDhiYjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNDAzLDEwICs0MDMsMTAgQEAgc3RhdGlj
IFRpbGVkQmFja2luZzo6VGlsZUNvdmVyYWdlIGNvbXB1dGVQYWdlVGlsZWRCYWNraW5nQ292ZXJh
Z2UoY29uc3QgUmVuZGVyTGEKICAgICBib29sIHVzZU1pbmltYWxUaWxlc0R1cmluZ0xpdmVSZXNp
emUgPSBmcmFtZVZpZXcuaW5MaXZlUmVzaXplKCk7CiAgICAgaWYgKGZyYW1lVmlldy5zcGVjdWxh
dGl2ZVRpbGluZ0VuYWJsZWQoKSAmJiAhdXNlTWluaW1hbFRpbGVzRHVyaW5nTGl2ZVJlc2l6ZSkg
ewogICAgICAgICBib29sIGNsaXBzVG9FeHBvc2VkUmVjdCA9IHN0YXRpY19jYXN0PGJvb2w+KGZy
YW1lVmlldy52aWV3RXhwb3NlZFJlY3QoKSk7Ci0gICAgICAgIGlmIChmcmFtZVZpZXcuaG9yaXpv
bnRhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmYgfHwgY2xpcHNUb0V4cG9z
ZWRSZWN0KQorICAgICAgICBpZiAoZnJhbWVWaWV3Lmhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkg
IT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIHx8IGNsaXBzVG9FeHBvc2VkUmVjdCkKICAgICAg
ICAgICAgIHRpbGVDb3ZlcmFnZSB8PSBUaWxlZEJhY2tpbmc6OkNvdmVyYWdlRm9ySG9yaXpvbnRh
bFNjcm9sbGluZzsKIAotICAgICAgICBpZiAoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFyTW9k
ZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCisgICAgICAg
IGlmIChmcmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyTW9kZTo6
QWx3YXlzT2ZmIHx8IGNsaXBzVG9FeHBvc2VkUmVjdCkKICAgICAgICAgICAgIHRpbGVDb3ZlcmFn
ZSB8PSBUaWxlZEJhY2tpbmc6OkNvdmVyYWdlRm9yVmVydGljYWxTY3JvbGxpbmc7CiAgICAgfQog
ICAgIHJldHVybiB0aWxlQ292ZXJhZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApp
bmRleCA3NjliN2RmN2Q0ZDIyNTRlNzFmNzEyOWY2Nzc1YmNiZjFhY2I3ZjJkLi4xMDdlMzhhNDAw
MjAwYTcwYTAwMzc4MmU1MDFlMmIxOGE5NjUxZTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5jcHAKQEAgLTE1MjgsMTAgKzE1MjgsMTAgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgICAgICYmIHdlYlBhZ2Ut
PnNob3VsZFVzZUN1c3RvbUNvbnRlbnRQcm92aWRlckZvclJlc3BvbnNlKG1fZnJhbWUtPmNvcmVG
cmFtZSgpLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT5yZXNwb25zZSgpKTsKICAgICBtX2Zy
YW1lQ2FtZUZyb21CYWNrRm9yd2FyZENhY2hlID0gZmFsc2U7CiAKLSAgICBTY3JvbGxiYXJNb2Rl
IGRlZmF1bHRTY3JvbGxiYXJNb2RlID0gc2hvdWxkSGlkZVNjcm9sbGJhcnMgPyBTY3JvbGxiYXJB
bHdheXNPZmYgOiBTY3JvbGxiYXJBdXRvOworICAgIFNjcm9sbGJhck1vZGUgZGVmYXVsdFNjcm9s
bGJhck1vZGUgPSBzaG91bGRIaWRlU2Nyb2xsYmFycyA/IFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
ZiA6IFNjcm9sbGJhck1vZGU6OkF1dG87CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxT
Y3JvbGxiYXJNb2RlID0gd2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKSA/
IFNjcm9sbGJhckFsd2F5c09uIDogZGVmYXVsdFNjcm9sbGJhck1vZGU7Ci0gICAgU2Nyb2xsYmFy
TW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSB3ZWJQYWdlLT5hbHdheXNTaG93c1ZlcnRpY2Fs
U2Nyb2xsZXIoKSA/IFNjcm9sbGJhckFsd2F5c09uIDogZGVmYXVsdFNjcm9sbGJhck1vZGU7Cisg
ICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSA9IHdlYlBhZ2UtPmFsd2F5
c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKCkgPyBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbiA6IGRl
ZmF1bHRTY3JvbGxiYXJNb2RlOworICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJN
b2RlID0gd2ViUGFnZS0+YWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKCkgPyBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPbiA6IGRlZmF1bHRTY3JvbGxiYXJNb2RlOwogCiAgICAgYm9vbCBob3Jpem9u
dGFsTG9jayA9IHNob3VsZEhpZGVTY3JvbGxiYXJzIHx8IHdlYlBhZ2UtPmFsd2F5c1Nob3dzSG9y
aXpvbnRhbFNjcm9sbGVyKCk7CiAgICAgYm9vbCB2ZXJ0aWNhbExvY2sgPSBzaG91bGRIaWRlU2Ny
b2xsYmFycyB8fCB3ZWJQYWdlLT5hbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmYyMjQwNjg3
ZTI3YWIxYmQxYjllZWY2MGI5NWY5Njg3OTU3ZDIzNi4uMGMwNjc5MjNhNGIyYzQyOTUwZjY0NzMw
MTE1YjIyNTMyY2E2YmYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTYyMDUsNyArNjIwNSw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0QWx3YXlz
U2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoYm9vbCBhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxl
CiAgICAgYXV0byB2aWV3ID0gY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygpOwogICAgIGlm
ICghYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIpCiAgICAgICAgIHZpZXctPnNldEhvcml6
b250YWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKLSAgICB2aWV3LT5zZXRIb3Jpem9udGFsU2Nyb2xs
YmFyTW9kZShhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlciA/IFNjcm9sbGJhckFsd2F5c09u
IDogbV9tYWluRnJhbWVJc1Njcm9sbGFibGUgPyBTY3JvbGxiYXJBdXRvIDogU2Nyb2xsYmFyQWx3
YXlzT2ZmLCBhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlciB8fCAhbV9tYWluRnJhbWVJc1Nj
cm9sbGFibGUpOworICAgIHZpZXctPnNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKGFsd2F5c1No
b3dzSG9yaXpvbnRhbFNjcm9sbGVyID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gOiBtX21haW5G
cmFtZUlzU2Nyb2xsYWJsZSA/IFNjcm9sbGJhck1vZGU6OkF1dG8gOiBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPZmYsIGFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyIHx8ICFtX21haW5GcmFtZUlz
U2Nyb2xsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NWZXJ0aWNhbFNj
cm9sbGVyKGJvb2wgYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKQpAQCAtNjIxNyw3ICs2MjE3
LDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRBbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoYm9vbCBh
bHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIpCiAgICAgYXV0byB2aWV3ID0gY29yZVBhZ2UoKS0+
bWFpbkZyYW1lKCkudmlldygpOwogICAgIGlmICghYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVy
KQogICAgICAgICB2aWV3LT5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2soZmFsc2UpOwotICAgIHZp
ZXctPnNldFZlcnRpY2FsU2Nyb2xsYmFyTW9kZShhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIg
PyBTY3JvbGxiYXJBbHdheXNPbiA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFy
QXV0byA6IFNjcm9sbGJhckFsd2F5c09mZiwgYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyIHx8
ICFtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSk7CisgICAgdmlldy0+c2V0VmVydGljYWxTY3JvbGxi
YXJNb2RlKGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciA/IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09uIDogbV9tYWluRnJhbWVJc1Njcm9sbGFibGUgPyBTY3JvbGxiYXJNb2RlOjpBdXRvIDogU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmLCBhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIgfHwgIW1f
bWFpbkZyYW1lSXNTY3JvbGxhYmxlKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpzZXRNaW5pbXVtU2l6
ZUZvckF1dG9MYXlvdXQoY29uc3QgSW50U2l6ZSYgc2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQubW0KaW5kZXggMzU2YTM2YTI3OTVmMzgzYmJiNGNlZmQxODMxNzhjN2I4MTg1OGRmNi4uYjlh
OGM4YWM4NGVkYWNmYmQ1ZjcwYjkwZDQ4OTZjMzQyZjhmYjQ0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQubW0KQEAgLTE0ODEsNyArMTQ4MSw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgICAgICBkb2N1bWVudExv
YWRlci0+c2V0VGl0bGUoeyBbZGF0YVNvdXJjZSBwYWdlVGl0bGVdLCBXZWJDb3JlOjpUZXh0RGly
ZWN0aW9uOjpMVFIgfSk7CiAKICAgICBpZiAoYXV0byogb3duZXJFbGVtZW50ID0gY29yZUZyYW1l
LT5vd25lckVsZW1lbnQoKSkKLSAgICAgICAgY29yZUZyYW1lLT52aWV3KCktPnNldENhbkhhdmVT
Y3JvbGxiYXJzKG93bmVyRWxlbWVudC0+c2Nyb2xsaW5nTW9kZSgpICE9IFdlYkNvcmU6OlNjcm9s
bGJhckFsd2F5c09mZik7CisgICAgICAgIGNvcmVGcmFtZS0+dmlldygpLT5zZXRDYW5IYXZlU2Ny
b2xsYmFycyhvd25lckVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSAhPSBXZWJDb3JlOjpTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmYpOwogCiAgICAgLy8gSWYgdGhlIGRvY3VtZW50IHZpZXcgaW1wbGlj
aXRseSBiZWNhbWUgZmlyc3QgcmVzcG9uZGVyLCBtYWtlIHN1cmUgdG8gc2V0IHRoZSBmb2N1c2Vk
IGZyYW1lIHByb3Blcmx5LgogICAgIGlmIChbW2RvY3VtZW50VmlldyB3aW5kb3ddIGZpcnN0UmVz
cG9uZGVyXSA9PSBkb2N1bWVudFZpZXcpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW0KaW5kZXggNTZk
Y2NhOGE3MjRmNTBlMmIwYjRmOTZiY2JmYTU4YzY5ODExNDQ4ZS4uMDM4YTljNzY1MTQ3MmY1ZDdj
ZjMwOGM5NTM3ZWU1NzQxZjE0MzgwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW0KQEAgLTEzMywx
MCArMTMzLDEwIEBAIHN0YXRpYyBDbGFzcyBjdXN0b21TY3JvbGxlckNsYXNzOwogewogICAgIGlm
IChfcHJpdmF0ZS0+aFNjcm9sbE1vZGVMb2NrZWQpCiAgICAgICAgIHJldHVybjsKLSAgICBpZiAo
ZmxhZyAmJiBfcHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCi0gICAgICAg
IF9wcml2YXRlLT5oU2Nyb2xsID0gU2Nyb2xsYmFyQXV0bzsKLSAgICBlbHNlIGlmICghZmxhZyAm
JiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPZmYpCi0gICAgICAgIF9wcml2
YXRlLT5oU2Nyb2xsID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIGlmIChmbGFnICYmIF9wcml2
YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKKyAgICAgICAgX3ByaXZh
dGUtPmhTY3JvbGwgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOworICAgIGVsc2UgaWYgKCFmbGFnICYm
IF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKKyAgICAgICAg
X3ByaXZhdGUtPmhTY3JvbGwgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgW3NlbGYg
dXBkYXRlU2Nyb2xsZXJzXTsKIH0KIApAQCAtMzAwLDEyICszMDAsMTIgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNNYXhVcGRhdGVTY3JvbGxiYXJzUGFzcyA9IDI7CiAgICAgICAgIG5ld0hhc1Zl
cnRpY2FsU2Nyb2xsZXIgPSBOTzsKICAgICB9CiAKLSAgICBpZiAoX3ByaXZhdGUtPmhTY3JvbGwg
IT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gKF9w
cml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhckFsd2F5c09uKTsKLSAgICBpZiAoX3ByaXZhdGUt
PnZTY3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxl
ciA9IChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7CisgICAgaWYgKF9w
cml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pCisgICAgICAgIG5ld0hhc0hv
cml6b250YWxTY3JvbGxlciA9IChfcHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbik7CisgICAgaWYgKF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1
dG8pCisgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPnZTY3JvbGwg
PT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24pOwogCi0gICAgaWYgKCFkb2N1bWVudFZpZXcgfHwg
X3ByaXZhdGUtPnN1cHByZXNzTGF5b3V0IHx8IF9wcml2YXRlLT5zdXBwcmVzc1Njcm9sbGVycyB8
fCAoX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyQXV0byAmJiBfcHJpdmF0ZS0+dlNjcm9s
bCAhPSBTY3JvbGxiYXJBdXRvKSkgeworICAgIGlmICghZG9jdW1lbnRWaWV3IHx8IF9wcml2YXRl
LT5zdXBwcmVzc0xheW91dCB8fCBfcHJpdmF0ZS0+c3VwcHJlc3NTY3JvbGxlcnMgfHwgKF9wcml2
YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8gJiYgX3ByaXZhdGUtPnZTY3JvbGwg
IT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykpIHsKICAgICAgICAgX3ByaXZhdGUtPmhvcml6b250YWxT
Y3JvbGxpbmdBbGxvd2VkQnV0U2Nyb2xsZXJIaWRkZW4gPSBuZXdIYXNIb3Jpem9udGFsU2Nyb2xs
ZXIgJiYgX3ByaXZhdGUtPmFsd2F5c0hpZGVIb3Jpem9udGFsU2Nyb2xsZXI7CiAgICAgICAgIGlm
IChfcHJpdmF0ZS0+aG9yaXpvbnRhbFNjcm9sbGluZ0FsbG93ZWRCdXRTY3JvbGxlckhpZGRlbikK
ICAgICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxlciA9IE5POwpAQCAtMzQyLDEzICsz
NDIsMTMgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNNYXhVcGRhdGVTY3JvbGxiYXJzUGFzcyA9
IDI7CiAgICAgZnJhbWVTaXplLndpZHRoID0gY2VpbGYoZnJhbWVTaXplLndpZHRoKTsKICAgICBm
cmFtZVNpemUuaGVpZ2h0ID0gY2VpbGYoZnJhbWVTaXplLmhlaWdodCk7CiAKLSAgICBpZiAoX3By
aXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykgeworICAgIGlmIChfcHJpdmF0ZS0+aFNj
cm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKSB7CiAgICAgICAgIG5ld0hhc0hvcml6b250YWxT
Y3JvbGxlciA9IGRvY3VtZW50U2l6ZS53aWR0aCA+IHZpc2libGVTaXplLndpZHRoOwogICAgICAg
ICBpZiAobmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyICYmICFfcHJpdmF0ZS0+aW5VcGRhdGVTY3Jv
bGxlcnNMYXlvdXRQYXNzICYmIGRvY3VtZW50U2l6ZS5oZWlnaHQgPD0gZnJhbWVTaXplLmhlaWdo
dCAmJiBkb2N1bWVudFNpemUud2lkdGggPD0gZnJhbWVTaXplLndpZHRoKQogICAgICAgICAgICAg
bmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gTk87CiAgICAgfQogCi0gICAgaWYgKF9wcml2YXRl
LT52U2Nyb2xsID09IFNjcm9sbGJhckF1dG8pIHsKKyAgICBpZiAoX3ByaXZhdGUtPnZTY3JvbGwg
PT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykgewogICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVy
ID0gZG9jdW1lbnRTaXplLmhlaWdodCA+IHZpc2libGVTaXplLmhlaWdodDsKICAgICAgICAgaWYg
KG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgIV9wcml2YXRlLT5pblVwZGF0ZVNjcm9sbGVyc0xh
eW91dFBhc3MgJiYgZG9jdW1lbnRTaXplLmhlaWdodCA8PSBmcmFtZVNpemUuaGVpZ2h0ICYmIGRv
Y3VtZW50U2l6ZS53aWR0aCA8PSBmcmFtZVNpemUud2lkdGgpCiAgICAgICAgICAgICBuZXdIYXNW
ZXJ0aWNhbFNjcm9sbGVyID0gTk87CkBAIC0zNTYsOSArMzU2LDkgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNNYXhVcGRhdGVTY3JvbGxiYXJzUGFzcyA9IDI7CiAKICAgICAvLyBVbmxlc3MgaW4g
U2Nyb2xsYmFyc0Fsd2F5c09uIG1vZGUsIGlmIHdlIGV2ZXIgdHVybiBvbmUgc2Nyb2xsYmFyIG9m
ZiwgYWx3YXlzIHR1cm4gdGhlIG90aGVyIG9uZSBvZmYgdG9vLgogICAgIC8vIE5ldmVyIGV2ZXIg
dHJ5IHRvIGJvdGggZ2Fpbi9sb3NlIGEgc2Nyb2xsYmFyIGluIHRoZSBzYW1lIHBhc3MuCi0gICAg
aWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgaGFzSG9yaXpvbnRhbFNjcm9sbGVyICYm
IF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09uKQorICAgIGlmICghbmV3SGFz
SG9yaXpvbnRhbFNjcm9sbGVyICYmIGhhc0hvcml6b250YWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+
dlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbikKICAgICAgICAgbmV3SGFzVmVydGlj
YWxTY3JvbGxlciA9IE5POwotICAgIGlmICghbmV3SGFzVmVydGljYWxTY3JvbGxlciAmJiBoYXNW
ZXJ0aWNhbFNjcm9sbGVyICYmIF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09u
KQorICAgIGlmICghbmV3SGFzVmVydGljYWxTY3JvbGxlciAmJiBoYXNWZXJ0aWNhbFNjcm9sbGVy
ICYmIF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKQogICAgICAg
ICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSBOTzsKIAogICAgIF9wcml2YXRlLT5ob3Jpem9u
dGFsU2Nyb2xsaW5nQWxsb3dlZEJ1dFNjcm9sbGVySGlkZGVuID0gbmV3SGFzSG9yaXpvbnRhbFNj
cm9sbGVyICYmIF9wcml2YXRlLT5hbHdheXNIaWRlSG9yaXpvbnRhbFNjcm9sbGVyOwpAQCAtNDM4
LDEyICs0MzgsMTIgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNNYXhVcGRhdGVTY3JvbGxiYXJz
UGFzcyA9IDI7CiAKIC0gKEJPT0wpYWxsb3dzSG9yaXpvbnRhbFNjcm9sbGluZwogewotICAgIHJl
dHVybiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgcmV0dXJu
IF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKIH0KIAogLSAo
Qk9PTClhbGxvd3NWZXJ0aWNhbFNjcm9sbGluZwogewotICAgIHJldHVybiBfcHJpdmF0ZS0+dlNj
cm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgcmV0dXJuIF9wcml2YXRlLT52U2Nyb2xs
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKIH0KIAogLSAodm9pZClzY3JvbGxpbmdNb2Rl
czooV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSopaE1vZGUgdmVydGljYWw6KFdlYkNvcmU6OlNjcm9s
bGJhck1vZGUqKXZNb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KaW5kZXggMDAyYTIzY2I2YmQ4OTE4YmVkOThhODUxYzQ2MzZmZmIyMWM5ZmRjOC4uYWRhNjg2
YzY4NDNiYjE0NDg5OGZjZjk0ODhmMWM3ZTVhN2EzYTcyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzY1OSwyNyArMzY1OSwyNyBAQCBJR05PUkVf
V0FSTklOR1NfRU5ECiB7CiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3
ID0gW1tbc2VsZiBtYWluRnJhbWVdIGZyYW1lVmlld10gX3Njcm9sbFZpZXddOwogICAgIGlmIChm
bGFnKSB7Ci0gICAgICAgIFtzY3JvbGx2aWV3IHNldFZlcnRpY2FsU2Nyb2xsaW5nTW9kZTpXZWJD
b3JlOjpTY3JvbGxiYXJBbHdheXNPbiBhbmRMb2NrOllFU107CisgICAgICAgIFtzY3JvbGx2aWV3
IHNldFZlcnRpY2FsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNP
biBhbmRMb2NrOllFU107CiAgICAgfSBlbHNlIHsKICAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVy
dGljYWxTY3JvbGxpbmdNb2RlTG9ja2VkOk5PXTsKLSAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVy
dGljYWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhckF1dG8gYW5kTG9jazpOT107Cisg
ICAgICAgIFtzY3JvbGx2aWV3IHNldFZlcnRpY2FsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3Jv
bGxiYXJNb2RlOjpBdXRvIGFuZExvY2s6Tk9dOwogICAgIH0KIH0KIAogLSAoQk9PTClhbHdheXNT
aG93VmVydGljYWxTY3JvbGxlcgogewogICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyAqc2Ny
b2xsdmlldyA9IFtbW3NlbGYgbWFpbkZyYW1lXSBmcmFtZVZpZXddIF9zY3JvbGxWaWV3XTsKLSAg
ICByZXR1cm4gW3Njcm9sbHZpZXcgdmVydGljYWxTY3JvbGxpbmdNb2RlTG9ja2VkXSAmJiBbc2Ny
b2xsdmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9sbGJhckFsd2F5
c09uOworICAgIHJldHVybiBbc2Nyb2xsdmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVMb2NrZWRd
ICYmIFtzY3JvbGx2aWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZV0gPT0gV2ViQ29yZTo6U2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT247CiB9CiAKIC0gKHZvaWQpc2V0QWx3YXlzU2hvd0hvcml6b250YWxT
Y3JvbGxlcjooQk9PTClmbGFnCiB7CiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3Jv
bGx2aWV3ID0gW1tbc2VsZiBtYWluRnJhbWVdIGZyYW1lVmlld10gX3Njcm9sbFZpZXddOwogICAg
IGlmIChmbGFnKSB7Ci0gICAgICAgIFtzY3JvbGx2aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdN
b2RlOldlYkNvcmU6OlNjcm9sbGJhckFsd2F5c09uIGFuZExvY2s6WUVTXTsKKyAgICAgICAgW3Nj
cm9sbHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT24gYW5kTG9jazpZRVNdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFtzY3JvbGx2
aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdNb2RlTG9ja2VkOk5PXTsKLSAgICAgICAgW3Njcm9s
bHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyQXV0byBh
bmRMb2NrOk5PXTsKKyAgICAgICAgW3Njcm9sbHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01v
ZGU6V2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QXV0byBhbmRMb2NrOk5PXTsKICAgICB9CiB9CiAK
QEAgLTM2OTIsNyArMzY5Miw3IEBAIElHTk9SRV9XQVJOSU5HU19FTkQKIC0gKEJPT0wpYWx3YXlz
U2hvd0hvcml6b250YWxTY3JvbGxlcgogewogICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyAq
c2Nyb2xsdmlldyA9IFtbW3NlbGYgbWFpbkZyYW1lXSBmcmFtZVZpZXddIF9zY3JvbGxWaWV3XTsK
LSAgICByZXR1cm4gW3Njcm9sbHZpZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVMb2NrZWRdICYm
IFtzY3JvbGx2aWV3IGhvcml6b250YWxTY3JvbGxpbmdNb2RlXSA9PSBXZWJDb3JlOjpTY3JvbGxi
YXJBbHdheXNPbjsKKyAgICByZXR1cm4gW3Njcm9sbHZpZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01v
ZGVMb2NrZWRdICYmIFtzY3JvbGx2aWV3IGhvcml6b250YWxTY3JvbGxpbmdNb2RlXSA9PSBXZWJD
b3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKIH0KICNlbmRpZiAvLyAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIAo=
</data>
<flag name="review"
          id="467861"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443251</attachid>
            <date>2021-11-03 16:18:24 -0700</date>
            <delta_ts>2021-11-03 18:27:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232651-20211103161823.patch</filename>
            <type>text/plain</type>
            <size>44575</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjOTky
MzJmOTQzM2IwODFmNzM2YTFhYjc3OWJhYi4uZDJhMTExMTJlYmVkYjg5MDM5YmFhMmI2YjkxMjNh
NzNhMWYyYWY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTExLTAyICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudEJhc2U6OnNjcm9sbGluZ01vZGUgY29uc3Qp
OgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnNjcm9sbGluZ01vZGUgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmNyZWF0ZVZpZXcp
OgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0U2Nyb2xsYmFycyk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp1cGRhdGVDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjphZGp1c3RTY3JvbGxiYXJzRm9yTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6cGVyZm9ybUZpeGVkV2lkdGhBdXRvU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnBlcmZvcm1TaXplVG9Db250ZW50QXV0b1NpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3Ojppc1Njcm9sbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjplbmFibGVBdXRvU2l6ZU1vZGUpOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuU2Nyb2xsSW5EaXJlY3Rpb24pOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yVHlwZXMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpzZXRDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1
cGRhdGVTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3Jt
U2Nyb2xsYmFyTW9kZXMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYWJsZUFyZWE6Omhvcml6b250YWxTY3JvbGxiYXJNb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNhbkhhdmVTY3JvbGxiYXJzIGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW06CisgICAgICAg
ICgtW1dBS1Njcm9sbFZpZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKC1b
V0FLU2Nyb2xsVmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRnJhbWVCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1lQmFz
ZTo6cGVyZm9ybUxheW91dFdpdGhGbGF0dGVuaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVySUZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklGcmFtZTo6ZmxhdHRlbkZy
YW1lIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6ZnJhbWVFbGVtZW50QW5kVmlld1Blcm1pdFNjcm9sbCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21w
dXRlUGFnZVRpbGVkQmFja2luZ0NvdmVyYWdlKToKKwogMjAyMS0xMC0yOCAgQW5kcmVzIEdvbnph
bGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgSXNvbGF0ZWQgdHJlZSBtb2Rl
OiBEaXNwYXRjaCBhbGwgY2FsbHMgdG8gW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZV0gaW4gV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
IHRvIHRoZSBBWCB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEwMTRkYTc2MzVjNzUyNmJhMmYwMDg3MDg3
YmE3N2MxNTFiY2EzYjUuLjRhNTE5MGQzNmE3NTM3MDdmMDIyOTI0MDYxMmRkNzZiNmEyNjJmMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMDIgIE5pa29sYW9zIE1vdWNodGFy
aXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgYmFyIG1v
ZGUgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9D
b21taXR0ZWRGb3JOZXdQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEFsd2F5c1Nob3dzSG9yaXpvbnRh
bFNjcm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NWZXJ0
aWNhbFNjcm9sbGVyKToKKwogMjAyMS0xMC0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2ViUGFnZVByb3h5IGlkZW50aWZpZXJzIHRvIGBW
aWV3R2VzdHVyZXNgIGNhdGVnb3J5IGxvZ2dpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpp
bmRleCAwNWRlMzc0ZDZmOTA3NjUxOWRlNzg1OGExMTlmZTc4MmFlMTRmMmY2Li40MWE0NzIwNDUw
MWQyYjcxNTMzYmNhZDQ1NDdiNmE5YzI4ZDc3YTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTEtMDIgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxu
bW91Y2h0YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4g
ZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAgIChXZWJG
cmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW06CisgICAgICAgICgtW1dl
YkR5bmFtaWNTY3JvbGxCYXJzVmlldyBzZXRBbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5nOl0pOgor
ICAgICAgICAoLVtXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgdXBkYXRlU2Nyb2xsZXJzXSk6Cisg
ICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NIb3Jpem9udGFsU2Nyb2xs
aW5nXSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NWZXJ0aWNh
bFNjcm9sbGluZ10pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V2ViVmlldyBzZXRBbHdheXNTaG93VmVydGljYWxTY3JvbGxlcjpdKToKKyAgICAgICAgKC1bV2Vi
VmlldyBhbHdheXNTaG93VmVydGljYWxTY3JvbGxlcl0pOgorICAgICAgICAoLVtXZWJWaWV3IHNl
dEFsd2F5c1Nob3dIb3Jpem9udGFsU2Nyb2xsZXI6XSk6CisgICAgICAgICgtW1dlYlZpZXcgYWx3
YXlzU2hvd0hvcml6b250YWxTY3JvbGxlcl0pOgorCiAyMDIxLTEwLTI4ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azEgXSAyIG1lZGlhLWNhcGFi
aWxpdGllcy93ZWJydGMgdGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCmluZGV4IGYzNWYzYmY3Nzc3MjY1ZjAxZDA0
OGE3MDFkZDJhYzZiNDI0YjAxMzEuLjdjNTc0MTU3YTE4NTVkOTk1NjYwY2JhYTRiODZkNWFjZjhh
MjNiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3Bw
CkBAIC0yMzEsNyArMjMxLDcgQEAgU2Nyb2xsYmFyTW9kZSBIVE1MRnJhbWVFbGVtZW50QmFzZTo6
c2Nyb2xsaW5nTW9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKHNjcm9sbGluZ0F0dHJpYnV0ZSwgIm5vIikKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2Uoc2Nyb2xsaW5nQXR0cmlidXRlLCAibm9zY3JvbGwiKQogICAgICAg
ICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzY3JvbGxpbmdBdHRyaWJ1dGUsICJv
ZmYiKQotICAgICAgICA/IFNjcm9sbGJhckFsd2F5c09mZiA6IFNjcm9sbGJhckF1dG87CisgICAg
ICAgID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0bzsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgKaW5kZXggOWY4NTNhYTEzZWY2NmFlMzllMDQ4NjFjM2QxNDM1YzliNTE2
Yzg4Ni4uZTJhZWIyZmUwYjIxODQ1MDBiZDBkMzcwZTY3MTA1NDU3NjhlMjkxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oCkBAIC01MSw3ICs1MSw3IEBA
IHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gZ2V0U1ZHRG9jdW1lbnQoKSBj
b25zdDsKIAotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3JvbGxpbmdNb2RlKCkgY29uc3Qg
eyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3Jv
bGxpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQogCiAgICAg
U2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJveEZsYWdz
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggN2U4YWMwNTI0MGE1ZTEwM2M4NTRjMGM0NTcz
ZGRiMmM1YjdkN2EyYS4uNjE2NjIzNmZkMWE3NzYzZWM3NzFkMTY3NzllZWYwMDhlYzFlMzA2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTkxOSw3ICs5MTksNyBAQCB2b2lkIEZyYW1lOjpjcmVh
dGVWaWV3KGNvbnN0IEludFNpemUmIHZpZXdwb3J0U2l6ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxD
b2xvcj4mCiAgICAgICAgIG93bmVyUmVuZGVyZXIoKS0+c2V0V2lkZ2V0KGZyYW1lVmlldyk7CiAK
ICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IG93bmVyRWxlbWVudCgpKQot
ICAgICAgICB2aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93bmVyLT5zY3JvbGxpbmdNb2Rl
KCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgdmlldygpLT5zZXRDYW5IYXZlU2Ny
b2xsYmFycyhvd25lci0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
Zik7CiB9CiAKIERPTVdpbmRvdyogRnJhbWU6OndpbmRvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgK
aW5kZXggZjU0OGIwZmM1YjZhODc1NGJmNzA5MmVhZmNkOGVlMjVmOTNmYzFiMC4uMTI0ZGYxODg1
ZjcxZGNkN2Q2NWUwMWQ2OWZkNzliMTA0YTA3ZTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTI4
LDggKzEyOCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFZpZXcoUmVm
UHRyPEZyYW1lVmlldz4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjcmVhdGVWaWV3KGNv
bnN0IEludFNpemUmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbG9yPiYgYmFja2dyb3VuZENvbG9y
LAogICAgICAgICBjb25zdCBJbnRTaXplJiBmaXhlZExheW91dFNpemUsIGNvbnN0IEludFJlY3Qm
IGZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0LAotICAgICAgICBib29sIHVzZUZpeGVkTGF5b3V0ID0g
ZmFsc2UsIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIGhvcml6b250YWxMb2Nr
ID0gZmFsc2UsCi0gICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIHZl
cnRpY2FsTG9jayA9IGZhbHNlKTsKKyAgICAgICAgYm9vbCB1c2VGaXhlZExheW91dCA9IGZhbHNl
LCBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywgYm9vbCBob3Jpem9udGFsTG9j
ayA9IGZhbHNlLAorICAgICAgICBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywg
Ym9vbCB2ZXJ0aWNhbExvY2sgPSBmYWxzZSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+RnJhbWUo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU3OGVjZGI2OTNkZmE1MzEwYTcx
NjA2ZjAzNmJmZjZkMmZhYzYyNDYuLjBlYWEzYTZlMTFiNGVhNzliODg5OTM4Mjg4ZDBlNGEwMWVj
NGZhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTI5Nyw5ICsyOTcsOSBAQCB2
b2lkIEZyYW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzKCkKICAgICAvLyBSZXNldCB0aGUgZG9jdW1l
bnQncyBzY3JvbGxiYXJzIGJhY2sgdG8gb3VyIGRlZmF1bHRzIGJlZm9yZSB3ZSB5aWVsZCB0aGUg
Zmxvb3IuCiAgICAgc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQodHJ1ZSk7CiAgICAgaWYgKG1fY2Fu
SGF2ZVNjcm9sbGJhcnMpCi0gICAgICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckF1dG8s
IFNjcm9sbGJhckF1dG8pOworICAgICAgICBzZXRTY3JvbGxiYXJNb2RlcyhTY3JvbGxiYXJNb2Rl
OjpBdXRvLCBTY3JvbGxiYXJNb2RlOjpBdXRvKTsKICAgICBlbHNlCi0gICAgICAgIHNldFNjcm9s
bGJhck1vZGVzKFNjcm9sbGJhckFsd2F5c09mZiwgU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAg
ICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmLCBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPZmYpOwogICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKGZhbHNlKTsKIH0K
IApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgRnJhbWVWaWV3Ojppbml0KCkKIAogICAgIC8vIFBy
b3BhZ2F0ZSB0aGUgc2Nyb2xsaW5nIG1vZGUgdG8gdGhlIHZpZXcuCiAgICAgYXV0byogb3duZXJF
bGVtZW50ID0gZnJhbWUoKS5vd25lckVsZW1lbnQoKTsKLSAgICBpZiAoaXM8SFRNTEZyYW1lRWxl
bWVudEJhc2U+KG93bmVyRWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2U+
KCpvd25lckVsZW1lbnQpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCisg
ICAgaWYgKGlzPEhUTUxGcmFtZUVsZW1lbnRCYXNlPihvd25lckVsZW1lbnQpICYmIGRvd25jYXN0
PEhUTUxGcmFtZUVsZW1lbnRCYXNlPigqb3duZXJFbGVtZW50KS5zY3JvbGxpbmdNb2RlKCkgPT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICBzZXRDYW5IYXZlU2Nyb2xsYmFycyhm
YWxzZSk7CiAKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CkBAIC01MjEsNyArNTIx
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJzKCkKICAgICBTY3Jv
bGxiYXJNb2RlIGhNb2RlOwogICAgIFNjcm9sbGJhck1vZGUgdk1vZGU7CiAgICAgc2Nyb2xsYmFy
TW9kZXMoaE1vZGUsIHZNb2RlKTsKLSAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2Zm
ICYmIHZNb2RlID09IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBpZiAoaE1vZGUgPT0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikK
ICAgICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnMoZmFsc2UpOwogICAgIGVsc2UKICAgICAgICAg
c2V0Q2FuSGF2ZVNjcm9sbGJhcnModHJ1ZSk7CkBAIC02NTksMTUgKzY1OSwxNSBAQCB2b2lkIEZy
YW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIsIFNjcm9sbGJhcgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92
ZXJmbG93OjpDbGlwOgogICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICBo
TW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkF1dG87CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlz
T2ZmOworICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgaE1vZGUgPSBT
Y3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgaE1v
ZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBh
dCBhbGwuCkBAIC02NzgsMTUgKzY3OCwxNSBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxv
d1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogICAg
IGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92ZXJmbG93OjpDbGlwOgogICAgICAg
ICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJhckF1dG87
CisgICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICAgICAgdk1v
ZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
T3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAg
ICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOwor
ICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBhdCBhbGwuIFZhbHVlcyBvZiBPdmVy
Zmxvdzo6UGFnZWRYIGFuZCBPdmVyZmxvdzo6UGFnZWRZIGFyZSBoYW5kbGVkIGJ5IGFwcGx5UGFn
aW5hdGlvblRvVmlld1BvcnQoKS4KQEAgLTczMSwxOCArNzMxLDE4IEBAIHZvaWQgRnJhbWVWaWV3
OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwg
U2Nyb2xsYmFyCiAgICAgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSA9IFZpZXdwb3J0UmVuZGVyZXJU
eXBlOjpOb25lOwogCiAgICAgY29uc3QgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IGZy
YW1lKCkub3duZXJFbGVtZW50KCk7Ci0gICAgaWYgKG93bmVyICYmIChvd25lci0+c2Nyb2xsaW5n
TW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09mZikpIHsKLSAgICAgICAgaE1vZGUgPSBTY3JvbGxi
YXJBbHdheXNPZmY7Ci0gICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIGlm
IChvd25lciAmJiAob3duZXItPnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmYpKSB7CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAg
ICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0gIAogICAgIAogICAgIGlmIChtX2NhbkhhdmVTY3JvbGxiYXJzIHx8IHN0cmF0ZWd5ID09
IFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KSB7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQXV0
bzsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9s
bGJhck1vZGU6OkF1dG87CisgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAg
ICB9IGVsc2UgewotICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsKLSAgICAgICAg
dk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT2ZmOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsK
ICAgICB9CiAgICAgCiAgICAgaWYgKGxheW91dENvbnRleHQoKS5zdWJ0cmVlTGF5b3V0Um9vdCgp
KQpAQCAtNzY3LDggKzc2Nyw4IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJN
b2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgfQogICAg
IAogICAgIGlmIChpczxIVE1MRnJhbWVTZXRFbGVtZW50PigqYm9keU9yRnJhbWVzZXQpICYmICFm
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdh
eXNPZmY7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICB2TW9k
ZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPZmY7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEyNTQsMTEgKzEy
NTQsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OmFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQoYm9vbCBp
c0ZpcnN0TGF5b3V0KQogICAgIGlmIChpc0ZpcnN0TGF5b3V0ICYmICFsYXlvdXRDb250ZXh0KCku
aXNMYXlvdXROZXN0ZWQoKSkgewogICAgICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVl
KTsKICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlmIHdlJ3Jl
IGF1dG8uCi0gICAgICAgIGlmICh2TW9kZSA9PSBTY3JvbGxiYXJBdXRvKQotICAgICAgICAgICAg
c2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09uKTsgLy8gVGhpcyBjYXVz
ZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gYXBwZWFyLgorICAgICAgICBpZiAodk1vZGUgPT0g
U2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTW9k
ZShTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7IC8vIFRoaXMgY2F1c2VzIGEgdmVydGljYWwgc2Ny
b2xsYmFyIHRvIGFwcGVhci4KICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIGhNb2RlIHRvIEFs
d2F5c09mZiBpZiB3ZSdyZSBhdXRvLgotICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQXV0
bykKLSAgICAgICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5
c09mZik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFy
LgorICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAg
IHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZik7IC8v
IFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFyLgogICAgICAg
ICBBU1NFUlQoZnJhbWUoKS5wYWdlKCkpOwogICAgICAgICBpZiAoZnJhbWUoKS5wYWdlKCktPmlz
TW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAgICAgICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNl
dFdoZWVsRXZlbnRUZXN0TW9uaXRvcihmcmFtZSgpLnBhZ2UoKS0+d2hlZWxFdmVudFRlc3RNb25p
dG9yKCkpOwpAQCAtMzUyMSw4ICszNTIxLDggQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1GaXhl
ZFdpZHRoQXV0b1NpemUoKQogICAgIGF1dG8qIHJlbmRlclZpZXcgPSBkb2N1bWVudC0+cmVuZGVy
VmlldygpOwogICAgIGF1dG8qIGZpcnN0Q2hpbGQgPSByZW5kZXJWaWV3LT5maXJzdENoaWxkKCk7
CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJB
bHdheXNPZmY7Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7CisgICAgYXV0byBob3Jpem9uYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmOworICAgIGF1dG8gdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxz
ZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwogICAgIHNldFNjcm9s
bGJhck1vZGVzKGhvcml6b25hbFNjcm9sbGJhck1vZGUsIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSwg
dHJ1ZSwgdHJ1ZSk7CkBAIC0zNjA1LDE1ICszNjA1LDE1IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJm
b3JtU2l6ZVRvQ29udGVudEF1dG9TaXplKCkKICAgICAgICAgbmV3U2l6ZSA9IG5ld1NpemUuZXhw
YW5kZWRUbyhtaW5BdXRvU2l6ZSk7CiAKICAgICAgICAgLy8gQm91bmQgdGhlIGRpbWVuc2lvbnMg
YnkgdGhlIG1heCBib3VuZHMgYW5kIGRldGVybWluZSB3aGF0IHNjcm9sbGJhcnMgdG8gc2hvdy4K
LSAgICAgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9uYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFy
QWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUg
PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGlmIChuZXdTaXplLndpZHRoKCkg
PiBtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpKSB7CiAgICAgICAgICAgICBuZXdTaXplLnNl
dFdpZHRoKG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRoKCkpOwotICAgICAgICAgICAgaG9yaXpv
bmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckFsd2F5c09uOworICAgICAgICAgICAgaG9yaXpv
bmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogICAgICAgICB9Ci0g
ICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3
YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSA9IFNj
cm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgaWYgKG5ld1NpemUuaGVpZ2h0KCkgPiBt
X2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQoKSkgewogICAgICAgICAgICAgbmV3U2l6ZS5zZXRI
ZWlnaHQobV9hdXRvU2l6ZUNvbnN0cmFpbnQuaGVpZ2h0KCkpOwotICAgICAgICAgICAgdmVydGlj
YWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT247CisgICAgICAgICAgICB2ZXJ0aWNh
bFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmIChuZXdTaXplID09IHNpemUpCkBAIC0zOTUwLDcgKzM5NTAsNyBAQCBib29sIEZy
YW1lVmlldzo6aXNTY3JvbGxhYmxlKFNjcm9sbGFiaWxpdHkgZGVmaW5pdGlvbk9mU2Nyb2xsYWJs
ZSkKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2RlOwogICAgIFNjcm9sbGJhck1vZGUg
dmVydGljYWxNb2RlOwogICAgIGNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6
b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUsIFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KTsKLSAgICBp
ZiAoaG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmICYmIHZlcnRpY2FsTW9kZSA9
PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAgaWYgKGhvcml6b250YWxNb2RlID09IFNjcm9sbGJh
ck1vZGU6OkFsd2F5c09mZiAmJiB2ZXJ0aWNhbE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlz
T2ZmKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQ3MjIs
NyArNDcyMiw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVBdXRvU2l6ZU1vZGUoYm9vbCBlbmFi
bGUsIGNvbnN0IEludFNpemUmIHZpZXdTaXplLCBBdXRvU2l6CiAgICAgLy8gU2luY2UgYXV0b3Np
emUgbW9kZSBmb3JjZXMgdGhlIHNjcm9sbGJhciBtb2RlLCBjaGFuZ2UgdGhlbSB0byBiZWluZyBh
dXRvLgogICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxzZSk7CiAgICAgc2V0SG9yaXpv
bnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwotICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJh
ckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhck1v
ZGU6OkF1dG8sIFNjcm9sbGJhck1vZGU6OkF1dG8pOwogfQogCiB2b2lkIEZyYW1lVmlldzo6Zm9y
Y2VMYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWVMYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Bh
dGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IDk4Mjc1YzU2ZWEyMjY4ZjIzYzlmNTkxZDRkODc2NmIz
ZDg5YjA4NTYuLjNlNTllZDI2NzFmY2M1YzBhNzhlZTg4ZjgwMjI0YjQyNzMwMjIyNjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCkBAIC00NzYsOSArNDc2LDkg
QEAgYm9vbCBjYW5TY3JvbGxJbkRpcmVjdGlvbihjb25zdCBGcmFtZSogZnJhbWUsIEZvY3VzRGly
ZWN0aW9uIGRpcmVjdGlvbikKICAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsTW9kZTsKICAgICBT
Y3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2RlOwogICAgIGZyYW1lLT52aWV3KCktPmNhbGN1bGF0
ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUpOwot
ICAgIGlmICgoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpMZWZ0IHx8IGRpcmVjdGlvbiA9
PSBGb2N1c0RpcmVjdGlvbjo6UmlnaHQpICYmIFNjcm9sbGJhckFsd2F5c09mZiA9PSBob3Jpem9u
dGFsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6TGVmdCB8fCBk
aXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246OlJpZ2h0KSAmJiBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmYgPT0gaG9yaXpvbnRhbE1vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAo
KGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6VXAgfHwgZGlyZWN0aW9uID09IEZvY3VzRGly
ZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFyQWx3YXlzT2ZmID09IHZlcnRpY2FsTW9kZSkKKyAg
ICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6VXAgfHwgZGlyZWN0aW9uID09IEZv
Y3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmID09IHZlcnRp
Y2FsTW9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIExheW91dFNpemUgc2l6ZSA9IGZy
YW1lLT52aWV3KCktPnRvdGFsQ29udGVudHNTaXplKCk7CiAgICAgTGF5b3V0UG9pbnQgc2Nyb2xs
UG9zaXRpb24gPSBmcmFtZS0+dmlldygpLT5zY3JvbGxQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBl
cy5oCmluZGV4IGRmNjU0Nzg4Nzg2YTgwODM3ZjUwM2VlZTU4NTk4NzFiMDY5YmU3ZmQuLjJlNGIw
OGRiYjI0NjAyZjk1YTgwMDk0YTI3MTczNWNjNzM3MTljN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmgK
QEAgLTczLDggKzczLDggQEAgc3RydWN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyB7CiAgICAg
U2Nyb2xsRWxhc3RpY2l0eSBob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSB7IFNjcm9sbEVsYXN0
aWNpdHlOb25lIH07CiAgICAgU2Nyb2xsRWxhc3RpY2l0eSB2ZXJ0aWNhbFNjcm9sbEVsYXN0aWNp
dHkgeyBTY3JvbGxFbGFzdGljaXR5Tm9uZSB9OwogCi0gICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9u
dGFsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKLSAgICBTY3JvbGxiYXJNb2RlIHZl
cnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2Rl
IGhvcml6b250YWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9OworICAgIFNj
cm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9
OwogCiAgICAgYm9vbCBhbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5nIHsgZmFsc2UgfTsKICAgICBi
b29sIGFsbG93c1ZlcnRpY2FsU2Nyb2xsaW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5o
CmluZGV4IGNjNTZjOTQ3YzRiNDZmOTA5ZDE3ODIyYzI4OWFlZjM2OGM0NDczMzYuLjNmM2E5YjI2
YTMzZjJmMTI1NTRhODIwZGNiZWExODdkYTU1OTVlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApA
QCAtOTQsOSArOTQsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIGhvcml6b250YWxTY3JvbGxiYXJI
aWRkZW5CeVN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMu
aG9yaXpvbnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGU7IH0KICAgICBib29sIHZlcnRpY2FsU2Ny
b2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJh
bWV0ZXJzLnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZTsgfQotICAgIGJvb2wgY2FuSGF2
ZUhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFy
YW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7IH0K
LSAgICBib29sIGNhbkhhdmVWZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
b2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJB
bHdheXNPZmY7IH0KLSAgICBib29sIGNhbkhhdmVTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4g
bV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgIT0gU2Ny
b2xsYmFyQWx3YXlzT2ZmIHx8IG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2FsU2Ny
b2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7IH0KKyAgICBib29sIGNhbkhhdmVIb3Jp
em9udGFsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRl
cnMuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOyB9
CisgICAgYm9vbCBjYW5IYXZlVmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Nj
cm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT2ZmOyB9CisgICAgYm9vbCBjYW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJNb2Rl
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiB8fCBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVy
cy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOyB9CiAK
ICAgICBjb25zdCBGbG9hdFNjcm9sbFNuYXBPZmZzZXRzSW5mbyYgc25hcE9mZnNldHNJbmZvKCkg
Y29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gY3VycmVudEhvcml6b250YWxTbmFw
UG9pbnRJbmRleCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuY3Bw
CmluZGV4IDVkMjZhOTUyN2IzZmNkNjU3OTMyMzRmYTYwMGVkYTQ0Njk5MTZjOTEuLmViNmNmNjJm
ZGFiZTQ2MGRjN2ZmZDYxOTY5MWUwM2FmZDI0ZDI2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5jcHAKQEAgLTYyLDQgKzYyLDIwIEBAIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBiZWhhdmlv
cikKICAgICByZXR1cm4gdHM7CiB9CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIFNjcm9sbGJhck1vZGUgYmVoYXZpb3IpCit7CisgICAgc3dpdGNoIChiZWhhdmlvcikg
eworICAgIGNhc2UgU2Nyb2xsYmFyTW9kZTo6QXV0bzoKKyAgICAgICAgdHMgPDwgImF1dG8iOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjoKKyAgICAg
ICAgdHMgPDwgImFsd2F5c29mZiI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT246CisgICAgICAgIHRzIDw8ICJhbHdheXNvbiI7CisgICAgICAgIGJyZWFr
OworICAgIH0KKyAgICByZXR1cm4gdHM7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCmluZGV4IGViYWExN2U5MDAyZDhkYjM5OGQ3
OGI2Y2JkMzdiNjYyMTRjZmFlNWYuLjE1NTRkMDY0ZjJmNGZhMDhlYmE5OTdjZmQ1ZDQxNWZmMzJm
MzE2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMTQ4LDEwICsx
NDgsMTAgQEAgZW51bSBTY3JvbGxiYXJPcmllbnRhdGlvbiA6IHVpbnQ4X3QgewogICAgIFZlcnRp
Y2FsU2Nyb2xsYmFyCiB9OwogCi1lbnVtIFNjcm9sbGJhck1vZGUgOiB1aW50OF90IHsKLSAgICBT
Y3JvbGxiYXJBdXRvLAotICAgIFNjcm9sbGJhckFsd2F5c09mZiwKLSAgICBTY3JvbGxiYXJBbHdh
eXNPbgorZW51bSBjbGFzcyBTY3JvbGxiYXJNb2RlIDogdWludDhfdCB7CisgICAgQXV0bywKKyAg
ICBBbHdheXNPZmYsCisgICAgQWx3YXlzT24KIH07CiAKIGVudW0gY2xhc3MgU2Nyb2xsYmFyQ29u
dHJvbFNpemUgOiB1aW50OF90IHsKQEAgLTI2MCw2ICsyNjAsNyBAQCB1c2luZyBTY3JvbGxpbmdO
b2RlSUQgPSB1aW50NjRfdDsKIFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxUeXBlKTsKIFdFQkNPUkVfRVhQT1JUIFdURjo6
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxDbGFtcGluZyk7
CiBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3Ry
ZWFtJiwgU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKTsKK1dFQkNPUkVfRVhQT1JUIFdU
Rjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxiYXJNb2Rl
KTsKIAogc3RydWN0IFNjcm9sbFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyB7CiAgICAgU2Nyb2xsVHlw
ZSB0eXBlOwpAQCAtMzAzLDkgKzMwNCw5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8
V2ViQ29yZTo6U2Nyb2xsSXNBbmltYXRlZD4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpTY3JvbGxiYXJNb2RlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVl
czwKICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSwKLSAgICAgICAgV2ViQ29yZTo6U2Ny
b2xsYmFyTW9kZTo6U2Nyb2xsYmFyQXV0bywKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9k
ZTo6U2Nyb2xsYmFyQWx3YXlzT2ZmLAotICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpT
Y3JvbGxiYXJBbHdheXNPbgorICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvLAor
ICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYsCisgICAgICAgIFdlYkNv
cmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggYzkyY2UyZTVjOTE4ZWNlMWE1ZDQ4MGMwYWQ3ZWE4
ZmY2NDU5NTA0Yi4uYzI2ZDg0MTdjYTVhMWUzZTE1MTE4MjM4Y2JhYWVkZDZmMzYxYzJiMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTE1NCwxNSArMTU0LDE1IEBA
IHZvaWQgU2Nyb2xsVmlldzo6c2V0Q2FuSGF2ZVNjcm9sbGJhcnMoYm9vbCBjYW5TY3JvbGwpCiAg
ICAgCiAgICAgc2Nyb2xsYmFyTW9kZXMobmV3SG9yaXpvbnRhbE1vZGUsIG5ld1ZlcnRpY2FsTW9k
ZSk7CiAgICAgCi0gICAgaWYgKGNhblNjcm9sbCAmJiBuZXdWZXJ0aWNhbE1vZGUgPT0gU2Nyb2xs
YmFyQWx3YXlzT2ZmKQotICAgICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3JvbGxiYXJBdXRvOwor
ICAgIGlmIChjYW5TY3JvbGwgJiYgbmV3VmVydGljYWxNb2RlID09IFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZikKKyAgICAgICAgbmV3VmVydGljYWxNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsK
ICAgICBlbHNlIGlmICghY2FuU2Nyb2xsKQotICAgICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7CisgICAgICAgIG5ld1ZlcnRpY2FsTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkFsd2F5c09mZjsKICAgICAKLSAgICBpZiAoY2FuU2Nyb2xsICYmIG5ld0hvcml6b250YWxNb2Rl
ID09IFNjcm9sbGJhckFsd2F5c09mZikKLSAgICAgICAgbmV3SG9yaXpvbnRhbE1vZGUgPSBTY3Jv
bGxiYXJBdXRvOworICAgIGlmIChjYW5TY3JvbGwgJiYgbmV3SG9yaXpvbnRhbE1vZGUgPT0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQorICAgICAgICBuZXdIb3Jpem9udGFsTW9kZSA9IFNjcm9s
bGJhck1vZGU6OkF1dG87CiAgICAgZWxzZSBpZiAoIWNhblNjcm9sbCkKLSAgICAgICAgbmV3SG9y
aXpvbnRhbE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgIG5ld0hvcml6b250YWxN
b2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIAogICAgIHNldFNjcm9sbGJhck1v
ZGVzKG5ld0hvcml6b250YWxNb2RlLCBuZXdWZXJ0aWNhbE1vZGUpOwogfQpAQCAtNjM0LDE0ICs2
MzQsMTQgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAgICAgU2Nyb2xsYmFyTW9kZSBoU2Nyb2xsID0gbV9o
b3Jpem9udGFsU2Nyb2xsYmFyTW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIHZTY3JvbGwgPSBtX3Zl
cnRpY2FsU2Nyb2xsYmFyTW9kZTsKIAotICAgIGlmIChoU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8p
Ci0gICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSAoaFNjcm9sbCA9PSBTY3JvbGxi
YXJBbHdheXNPbik7Ci0gICAgaWYgKHZTY3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAg
bmV3SGFzVmVydGljYWxTY3JvbGxiYXIgPSAodlNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7
CisgICAgaWYgKGhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFz
SG9yaXpvbnRhbFNjcm9sbGJhciA9IChoU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09u
KTsKKyAgICBpZiAodlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKQorICAgICAgICBuZXdI
YXNWZXJ0aWNhbFNjcm9sbGJhciA9ICh2U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09u
KTsKIAogICAgIGJvb2wgc2Nyb2xsYmFyQWRkZWRPclJlbW92ZWQgPSBmYWxzZTsKIAotICAgIGlm
IChtX3Njcm9sbGJhcnNTdXBwcmVzc2VkIHx8IChoU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8gJiYg
dlNjcm9sbCAhPSBTY3JvbGxiYXJBdXRvKSkgeworICAgIGlmIChtX3Njcm9sbGJhcnNTdXBwcmVz
c2VkIHx8IChoU2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8gJiYgdlNjcm9sbCAhPSBTY3Jv
bGxiYXJNb2RlOjpBdXRvKSkgewogICAgICAgICBpZiAoaGFzSG9yaXpvbnRhbFNjcm9sbGJhciAh
PSBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyICYmIChoYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHx8
ICFhdm9pZFNjcm9sbGJhckNyZWF0aW9uKCkpKSB7CiAgICAgICAgICAgICBpZiAoc2V0SGFzSG9y
aXpvbnRhbFNjcm9sbGJhcihuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKSkKICAgICAgICAgICAg
ICAgICBzY3JvbGxiYXJBZGRlZE9yUmVtb3ZlZCA9IHRydWU7CkBAIC02NTcsOSArNjU3LDkgQEAg
dm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBk
ZXNpcmVkUG9zaXRpb24pCiAgICAgICAgIEludFNpemUgZG9jU2l6ZSA9IHRvdGFsQ29udGVudHNT
aXplKCk7CiAgICAgICAgIEludFNpemUgZnVsbFZpc2libGVTaXplID0gdW5vYnNjdXJlZENvbnRl
bnRSZWN0SW5jbHVkaW5nU2Nyb2xsYmFycygpLnNpemUoKTsKIAotICAgICAgICBpZiAoaFNjcm9s
bCA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJNb2Rl
OjpBdXRvKQogICAgICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9IGRvY1NpemUu
d2lkdGgoKSA+IHZpc2libGVXaWR0aCgpOwotICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxi
YXJBdXRvKQorICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAg
ICAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxiYXIgPSBkb2NTaXplLmhlaWdodCgpID4gdmlz
aWJsZUhlaWdodCgpOwogCiAgICAgICAgIGJvb2wgbmVlZEFub3RoZXJQYXNzID0gZmFsc2U7CkBA
IC02NjcsMTYgKzY2NywxNiBAQCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29u
c3QgU2Nyb2xsUG9zaXRpb24mIGRlc2lyZWRQb3NpdGlvbikKICAgICAgICAgICAgIC8vIElmIHdl
IGV2ZXIgdHVybiBvbmUgc2Nyb2xsYmFyIG9mZiwgZG8gbm90IHR1cm4gdGhlIG90aGVyIG9uZSBv
bi4gTmV2ZXIgZXZlcgogICAgICAgICAgICAgLy8gdHJ5IHRvIGJvdGggZ2Fpbi9sb3NlIGEgc2Ny
b2xsYmFyIGluIHRoZSBzYW1lIHBhc3MuCiAgICAgICAgICAgICBpZiAoIW1fdXBkYXRlU2Nyb2xs
YmFyc1Bhc3MgJiYgZG9jU2l6ZS53aWR0aCgpIDw9IGZ1bGxWaXNpYmxlU2l6ZS53aWR0aCgpICYm
IGRvY1NpemUuaGVpZ2h0KCkgPD0gZnVsbFZpc2libGVTaXplLmhlaWdodCgpKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGhTY3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykKKyAgICAgICAgICAgICAgICBp
ZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAgICAgICAgICAgICBu
ZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgaWYgKHZT
Y3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykKKyAgICAgICAgICAgICAgICBpZiAodlNjcm9sbCA9PSBT
Y3JvbGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAgICAgICAgICAgICBuZXdIYXNWZXJ0aWNhbFNj
cm9sbGJhciA9IGZhbHNlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFuZXdIYXNI
b3Jpem9udGFsU2Nyb2xsYmFyICYmIGhhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgdlNjcm9sbCAh
PSBTY3JvbGxiYXJBbHdheXNPbiAmJiAhaGFzVmVydGljYWxTY3JvbGxiYXIpIHsKKyAgICAgICAg
ICAgIGlmICghbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xs
YmFyICYmIHZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gJiYgIWhhc1ZlcnRpY2Fs
U2Nyb2xsYmFyKSB7CiAgICAgICAgICAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxiYXIgPSBm
YWxzZTsKICAgICAgICAgICAgICAgICBuZWVkQW5vdGhlclBhc3MgPSB0cnVlOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgaWYgKCFuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciAmJiBoYXNWZXJ0
aWNhbFNjcm9sbGJhciAmJiBoU2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09uICYmICFoYXNIb3Jp
em9udGFsU2Nyb2xsYmFyKSB7CisgICAgICAgICAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xs
YmFyICYmIGhhc1ZlcnRpY2FsU2Nyb2xsYmFyICYmIGhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6
QWx3YXlzT24gJiYgIWhhc0hvcml6b250YWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgICAgICBu
ZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgbmVlZEFu
b3RoZXJQYXNzID0gdHJ1ZTsKICAgICAgICAgICAgIH0KQEAgLTE2MTksOCArMTYxOSw4IEBAIHZv
aWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRTY3JvbGxiYXJNb2RlcygpCiAKIHZvaWQgU2Nyb2xs
Vmlldzo6cGxhdGZvcm1TY3JvbGxiYXJNb2RlcyhTY3JvbGxiYXJNb2RlJiBob3Jpem9udGFsLCBT
Y3JvbGxiYXJNb2RlJiB2ZXJ0aWNhbCkgY29uc3QKIHsKLSAgICBob3Jpem9udGFsID0gU2Nyb2xs
YmFyQXV0bzsKLSAgICB2ZXJ0aWNhbCA9IFNjcm9sbGJhckF1dG87CisgICAgaG9yaXpvbnRhbCA9
IFNjcm9sbGJhck1vZGU6OkF1dG87CisgICAgdmVydGljYWwgPSBTY3JvbGxiYXJNb2RlOjpBdXRv
OwogfQogCiB2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0Q2FuQmxpdE9uU2Nyb2xsKGJvb2wp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKaW5kZXggMDc5ZjcwMjJjMjVmMzljOGRl
NGM0MjgzZTRiZDk3NzEzNzg1MmY5OC4uYTNmMGIxN2IxMzFhYjEzMDViNGU2ZGI5ODgyNTI5MTIz
MmJjNGI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtNTM0LDggKzUz
NCw4IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2hvcml6b250YWxTY3Jv
bGxiYXI7CiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV92ZXJ0aWNhbFNjcm9sbGJhcjsKLSAgICBT
Y3JvbGxiYXJNb2RlIG1faG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJBdXRvIH07
Ci0gICAgU2Nyb2xsYmFyTW9kZSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1
dG8gfTsKKyAgICBTY3JvbGxiYXJNb2RlIG1faG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3Jv
bGxiYXJNb2RlOjpBdXRvIH07CisgICAgU2Nyb2xsYmFyTW9kZSBtX3ZlcnRpY2FsU2Nyb2xsYmFy
TW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKIAogCiAgICAgLy8gRklYTUU6IE1vcmUgdGhp
bmdzIHdpbGwgbW92ZSBpbnRvIGhlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaAppbmRleCBmZTQyYzRlYzZlYmE0ZjA0OGY5NGZlZjU5MDQ5MzY5MGJlNTM1NjVhLi4w
OTliOTExNDUzZDRlNDg1ZDEzN2ViZDQwYjNjNGNlYTQ1NmM5ZWQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTEyMSw5ICsxMjEsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRIb3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5IHNj
cm9sbEVsYXN0aWNpdHkpIHsgbV9ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSA9IHNjcm9sbEVs
YXN0aWNpdHk7IH0KICAgICBTY3JvbGxFbGFzdGljaXR5IGhvcml6b250YWxTY3JvbGxFbGFzdGlj
aXR5KCkgY29uc3QgeyByZXR1cm4gbV9ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eTsgfQogCi0g
ICAgdmlydHVhbCBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgY29uc3Qg
eyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsgfQotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSB2ZXJ0
aWNhbFNjcm9sbGJhck1vZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJBdXRvOyB9Ci0gICAg
Ym9vbCBjYW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIGhvcml6b250YWxTY3JvbGxi
YXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmIHx8IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgp
ICE9IFNjcm9sbGJhckFsd2F5c09mZjsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBob3Jp
em9udGFsU2Nyb2xsYmFyTW9kZSgpIGNvbnN0IHsgcmV0dXJuIFNjcm9sbGJhck1vZGU6OkF1dG87
IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlKCkgY29u
c3QgeyByZXR1cm4gU2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQorICAgIGJvb2wgY2FuSGF2ZVNjcm9s
bGJhcnMoKSBjb25zdCB7IHJldHVybiBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9s
bGJhck1vZGU6OkFsd2F5c09mZiB8fCB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmY7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBob3Jpem9udGFsU2Nyb2xs
YmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIHZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9s
bFZpZXcubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcu
bW0KaW5kZXggNTAxYTY4YmVhOTA3ODhkOWJjOTM2OTczMGU3Mzk0NzY1OWE0NjQyZi4uNWY2MDBk
NjcxZjNlZDU1ZmRjYmRhZTYzNGRmZWUyMDYyOTJiN2QxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy93YWsvV0FLU2Nyb2xsVmlldy5tbQpAQCAtMTk0LDEyICsxOTQsMTIg
QEAgc3RhdGljIHZvaWQgX25vdGlmaWNhdGlvbkNhbGxiYWNrKFdLVmlld1JlZiB2LCBXS1ZpZXdO
b3RpZmljYXRpb25UeXBlIHR5cGUsIHZvaWQKIAogLSAoV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSlo
b3Jpem9udGFsU2Nyb2xsaW5nTW9kZQogewotICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJB
dXRvOworICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiAtIChX
ZWJDb3JlOjpTY3JvbGxiYXJNb2RlKXZlcnRpY2FsU2Nyb2xsaW5nTW9kZQogewotICAgIHJldHVy
biBXZWJDb3JlOjpTY3JvbGxiYXJBdXRvOworICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJN
b2RlOjpBdXRvOwogfQogCiAjcHJhZ21hIG1hcmsgLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhbWVCYXNlLmNwcAppbmRleCBiMDk1ZDhlNGFjYTdmYWY2OTNkY2U5MjYxOGFi
M2Q0ODg0MTg3ZGU5Li40NGQ0OGZjMmU1OGM2N2MyNzEyYzllYzNhMGYzMjQ0OWIxOTZhYzVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcApAQCAtOTMs
NyArOTMsNyBAQCB2b2lkIFJlbmRlckZyYW1lQmFzZTo6cGVyZm9ybUxheW91dFdpdGhGbGF0dGVu
aW5nKGJvb2wgaGFzRml4ZWRXaWR0aCwgYm9vbCBoYXNGaQogICAgIC8vIGlmIHNjcm9sbGJhcnMg
YXJlIG9mZiwgYW5kIHRoZSB3aWR0aCBvciBoZWlnaHQgYXJlIGZpeGVkCiAgICAgLy8gd2Ugb2Jl
eSB0aGVtIGFuZCBkbyBub3QgZXhwYW5kLiBXaXRoIGZyYW1lIGZsYXR0ZW5pbmcKICAgICAvLyBu
byBzdWJmcmFtZSBtdWNoIGV2ZXIgYmVjb21lIHNjcm9sbGFibGUuCi0gICAgYm9vbCBpc1Njcm9s
bGFibGUgPSBmcmFtZU93bmVyRWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJB
bHdheXNPZmY7CisgICAgYm9vbCBpc1Njcm9sbGFibGUgPSBmcmFtZU93bmVyRWxlbWVudCgpLnNj
cm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAKICAgICAvLyBjb25z
aWRlciBpZnJhbWUgaW5zZXQgYm9yZGVyCiAgICAgaW50IGhCb3JkZXIgPSBib3JkZXJMZWZ0KCkg
KyBib3JkZXJSaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNw
cAppbmRleCA0YjI3NjFlMTk4NzdiZWZkY2FlZWMxNWZiNDhmY2U3MzYzYWIyZDVjLi4xNmZjODgw
Y2MzMjQ1NDlhNDE1ZmE3YzViN2ViOWRhZDkzMDUwOTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySUZyYW1lLmNwcApAQCAtODYsNyArODYsNyBAQCBib29sIFJlbmRlcklGcmFt
ZTo6ZmxhdHRlbkZyYW1lKCkgY29uc3QKIAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhl
ZCgpICYmIHN0eWxlKCkuaGVpZ2h0KCkuaXNGaXhlZCgpKSB7CiAgICAgICAgIC8vIERvIG5vdCBm
bGF0dGVuIGlmcmFtZXMgd2l0aCBzY3JvbGxpbmc9Im5vIi4KLSAgICAgICAgaWYgKGlmcmFtZUVs
ZW1lbnQoKS5zY3JvbGxpbmdNb2RlKCkgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQorICAgICAgICBp
ZiAoaWZyYW1lRWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmYpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIC8vIERvIG5vdCBmbGF0
dGVuIGlmcmFtZXMgdGhhdCBoYXZlIHplcm8gc2l6ZSwgYXMgZmxhdHRlbmluZyBtaWdodCBtYWtl
IHRoZW0gdmlzaWJsZS4KICAgICAgICAgaWYgKHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpIDw9IDAg
fHwgc3R5bGUoKS5oZWlnaHQoKS52YWx1ZSgpIDw9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCAwYzI2Njk2Mjk5MTc0YmQ2ZmQ4OWM2MmIxYTAyMjk2ZmE4
OWU0YmQ5Li5jMzNiNjQ0MjY2NmI3MmQ1YzM0NDIwMjgxMmVmNWMyMjRlMjhmNjA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTIzOTcsNyArMjM5Nyw3IEBA
IExheW91dFNpemUgUmVuZGVyTGF5ZXI6Om9mZnNldEZyb21BbmNlc3Rvcihjb25zdCBSZW5kZXJM
YXllciogYW5jZXN0b3JMYXllciwgQ29sCiBzdGF0aWMgaW5saW5lIGJvb2wgZnJhbWVFbGVtZW50
QW5kVmlld1Blcm1pdFNjcm9sbChIVE1MRnJhbWVFbGVtZW50QmFzZSogZnJhbWVFbGVtZW50QmFz
ZSwgRnJhbWVWaWV3JiBmcmFtZVZpZXcpCiB7CiAgICAgLy8gSWYgc2Nyb2xsYmFycyBhcmVuJ3Qg
ZXhwbGljaXRseSBmb3JiaWRkZW4sIHBlcm1pdCBzY3JvbGxpbmcuCi0gICAgaWYgKGZyYW1lRWxl
bWVudEJhc2UgJiYgZnJhbWVFbGVtZW50QmFzZS0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJh
ckFsd2F5c09mZikKKyAgICBpZiAoZnJhbWVFbGVtZW50QmFzZSAmJiBmcmFtZUVsZW1lbnRCYXNl
LT5zY3JvbGxpbmdNb2RlKCkgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAogICAgIC8vIElmIHNjcm9sbGJhcnMgYXJlIGZvcmJpZGRlbiwgdXNlciBp
bml0aWF0ZWQgc2Nyb2xscyBzaG91bGQgb2J2aW91c2x5IGJlIGlnbm9yZWQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGJkOWYyMmE1
MTQ1Y2U5YTU0YzAyNjZmYjU4M2NhZmEwNWFlMWUxOTkuLjY2ZTRjMmFjNmY1YjZkNmZhNDNlYjdj
MDM0YzdkMzYwM2UwOGJiNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwCkBAIC00MDMsMTAgKzQwMywxMCBAQCBzdGF0aWMgVGlsZWRCYWNr
aW5nOjpUaWxlQ292ZXJhZ2UgY29tcHV0ZVBhZ2VUaWxlZEJhY2tpbmdDb3ZlcmFnZShjb25zdCBS
ZW5kZXJMYQogICAgIGJvb2wgdXNlTWluaW1hbFRpbGVzRHVyaW5nTGl2ZVJlc2l6ZSA9IGZyYW1l
Vmlldy5pbkxpdmVSZXNpemUoKTsKICAgICBpZiAoZnJhbWVWaWV3LnNwZWN1bGF0aXZlVGlsaW5n
RW5hYmxlZCgpICYmICF1c2VNaW5pbWFsVGlsZXNEdXJpbmdMaXZlUmVzaXplKSB7CiAgICAgICAg
IGJvb2wgY2xpcHNUb0V4cG9zZWRSZWN0ID0gc3RhdGljX2Nhc3Q8Ym9vbD4oZnJhbWVWaWV3LnZp
ZXdFeHBvc2VkUmVjdCgpKTsKLSAgICAgICAgaWYgKGZyYW1lVmlldy5ob3Jpem9udGFsU2Nyb2xs
YmFyTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCisg
ICAgICAgIGlmIChmcmFtZVZpZXcuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmYgfHwgY2xpcHNUb0V4cG9zZWRSZWN0KQogICAgICAgICAgICAgdGls
ZUNvdmVyYWdlIHw9IFRpbGVkQmFja2luZzo6Q292ZXJhZ2VGb3JIb3Jpem9udGFsU2Nyb2xsaW5n
OwogCi0gICAgICAgIGlmIChmcmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Ny
b2xsYmFyQWx3YXlzT2ZmIHx8IGNsaXBzVG9FeHBvc2VkUmVjdCkKKyAgICAgICAgaWYgKGZyYW1l
Vmlldy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYg
fHwgY2xpcHNUb0V4cG9zZWRSZWN0KQogICAgICAgICAgICAgdGlsZUNvdmVyYWdlIHw9IFRpbGVk
QmFja2luZzo6Q292ZXJhZ2VGb3JWZXJ0aWNhbFNjcm9sbGluZzsKICAgICB9CiAgICAgcmV0dXJu
IHRpbGVDb3ZlcmFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDc2OWI3
ZGY3ZDRkMjI1NGU3MWY3MTI5ZjY3NzViY2JmMWFjYjdmMmQuLjEwN2UzOGE0MDAyMDBhNzBhMDAz
NzgyZTUwMWUyYjE4YTk2NTFlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApA
QCAtMTUyOCwxMCArMTUyOCwxMCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0
aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAgICAgJiYgd2ViUGFnZS0+c2hvdWxkVXNl
Q3VzdG9tQ29udGVudFByb3ZpZGVyRm9yUmVzcG9uc2UobV9mcmFtZS0+Y29yZUZyYW1lKCktPmxv
YWRlcigpLmRvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNlKCkpOwogICAgIG1fZnJhbWVDYW1lRnJv
bUJhY2tGb3J3YXJkQ2FjaGUgPSBmYWxzZTsKIAotICAgIFNjcm9sbGJhck1vZGUgZGVmYXVsdFNj
cm9sbGJhck1vZGUgPSBzaG91bGRIaWRlU2Nyb2xsYmFycyA/IFNjcm9sbGJhckFsd2F5c09mZiA6
IFNjcm9sbGJhckF1dG87CisgICAgU2Nyb2xsYmFyTW9kZSBkZWZhdWx0U2Nyb2xsYmFyTW9kZSA9
IHNob3VsZEhpZGVTY3JvbGxiYXJzID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xs
YmFyTW9kZTo6QXV0bzsKIAotICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1v
ZGUgPSB3ZWJQYWdlLT5hbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpID8gU2Nyb2xsYmFy
QWx3YXlzT24gOiBkZWZhdWx0U2Nyb2xsYmFyTW9kZTsKLSAgICBTY3JvbGxiYXJNb2RlIHZlcnRp
Y2FsU2Nyb2xsYmFyTW9kZSA9IHdlYlBhZ2UtPmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigp
ID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBkZWZhdWx0U2Nyb2xsYmFyTW9kZTsKKyAgICBTY3JvbGxi
YXJNb2RlIGhvcml6b250YWxTY3JvbGxiYXJNb2RlID0gd2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jp
em9udGFsU2Nyb2xsZXIoKSA/IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uIDogZGVmYXVsdFNjcm9s
bGJhck1vZGU7CisgICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSB3ZWJQ
YWdlLT5hbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoKSA/IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09uIDogZGVmYXVsdFNjcm9sbGJhck1vZGU7CiAKICAgICBib29sIGhvcml6b250YWxMb2NrID0g
c2hvdWxkSGlkZVNjcm9sbGJhcnMgfHwgd2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Ny
b2xsZXIoKTsKICAgICBib29sIHZlcnRpY2FsTG9jayA9IHNob3VsZEhpZGVTY3JvbGxiYXJzIHx8
IHdlYlBhZ2UtPmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyZjIyNDA2ODdlMjdhYjFiZDFi
OWVlZjYwYjk1Zjk2ODc5NTdkMjM2Li4wYzA2NzkyM2E0YjJjNDI5NTBmNjQ3MzAxMTViMjI1MzJj
YTZiZjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtNjIwNSw3ICs2MjA1LDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRBbHdheXNTaG93c0hvcml6
b250YWxTY3JvbGxlcihib29sIGFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGUKICAgICBhdXRv
IHZpZXcgPSBjb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCk7CiAgICAgaWYgKCFhbHdheXNT
aG93c0hvcml6b250YWxTY3JvbGxlcikKICAgICAgICAgdmlldy0+c2V0SG9yaXpvbnRhbFNjcm9s
bGJhckxvY2soZmFsc2UpOwotICAgIHZpZXctPnNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKGFs
d2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBtX21haW5G
cmFtZUlzU2Nyb2xsYWJsZSA/IFNjcm9sbGJhckF1dG8gOiBTY3JvbGxiYXJBbHdheXNPZmYsIGFs
d2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyIHx8ICFtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSk7
CisgICAgdmlldy0+c2V0SG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NIb3Jpem9u
dGFsU2Nyb2xsZXIgPyBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbiA6IG1fbWFpbkZyYW1lSXNTY3Jv
bGxhYmxlID8gU2Nyb2xsYmFyTW9kZTo6QXV0byA6IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiwg
YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgfHwgIW1fbWFpbkZyYW1lSXNTY3JvbGxhYmxl
KTsKIH0KIAogdm9pZCBXZWJQYWdlOjpzZXRBbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoYm9v
bCBhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIpCkBAIC02MjE3LDcgKzYyMTcsNyBAQCB2b2lk
IFdlYlBhZ2U6OnNldEFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcihib29sIGFsd2F5c1Nob3dz
VmVydGljYWxTY3JvbGxlcikKICAgICBhdXRvIHZpZXcgPSBjb3JlUGFnZSgpLT5tYWluRnJhbWUo
KS52aWV3KCk7CiAgICAgaWYgKCFhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIpCiAgICAgICAg
IHZpZXctPnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxzZSk7Ci0gICAgdmlldy0+c2V0VmVy
dGljYWxTY3JvbGxiYXJNb2RlKGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciA/IFNjcm9sbGJh
ckFsd2F5c09uIDogbV9tYWluRnJhbWVJc1Njcm9sbGFibGUgPyBTY3JvbGxiYXJBdXRvIDogU2Ny
b2xsYmFyQWx3YXlzT2ZmLCBhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIgfHwgIW1fbWFpbkZy
YW1lSXNTY3JvbGxhYmxlKTsKKyAgICB2aWV3LT5zZXRWZXJ0aWNhbFNjcm9sbGJhck1vZGUoYWx3
YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gOiBtX21h
aW5GcmFtZUlzU2Nyb2xsYWJsZSA/IFNjcm9sbGJhck1vZGU6OkF1dG8gOiBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmYsIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciB8fCAhbV9tYWluRnJhbWVJ
c1Njcm9sbGFibGUpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnNldE1pbmltdW1TaXplRm9yQXV0b0xh
eW91dChjb25zdCBJbnRTaXplJiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRl
eCAzNTZhMzZhMjc5NWYzODNiYmI0Y2VmZDE4MzE3OGM3YjgxODU4ZGY2Li5iOWE4YzhhYzg0ZWRh
Y2ZiZDVmNzBiOTBkNDg5NmMzNDJmOGZiNDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5t
bQpAQCAtMTQ4MSw3ICsxNDgxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNp
dGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgpCiAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRU
aXRsZSh7IFtkYXRhU291cmNlIHBhZ2VUaXRsZV0sIFdlYkNvcmU6OlRleHREaXJlY3Rpb246OkxU
UiB9KTsKIAogICAgIGlmIChhdXRvKiBvd25lckVsZW1lbnQgPSBjb3JlRnJhbWUtPm93bmVyRWxl
bWVudCgpKQotICAgICAgICBjb3JlRnJhbWUtPnZpZXcoKS0+c2V0Q2FuSGF2ZVNjcm9sbGJhcnMo
b3duZXJFbGVtZW50LT5zY3JvbGxpbmdNb2RlKCkgIT0gV2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlz
T2ZmKTsKKyAgICAgICAgY29yZUZyYW1lLT52aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93
bmVyRWxlbWVudC0+c2Nyb2xsaW5nTW9kZSgpICE9IFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZik7CiAKICAgICAvLyBJZiB0aGUgZG9jdW1lbnQgdmlldyBpbXBsaWNpdGx5IGJlY2Ft
ZSBmaXJzdCByZXNwb25kZXIsIG1ha2Ugc3VyZSB0byBzZXQgdGhlIGZvY3VzZWQgZnJhbWUgcHJv
cGVybHkuCiAgICAgaWYgKFtbZG9jdW1lbnRWaWV3IHdpbmRvd10gZmlyc3RSZXNwb25kZXJdID09
IGRvY3VtZW50VmlldykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbQppbmRleCA1NmRjY2E4YTcyNGY1
MGUyYjBiNGY5NmJjYmZhNThjNjk4MTE0NDhlLi4wMzhhOWM3NjUxNDcyZjVkN2NmMzA4Yzk1Mzdl
ZTU3NDFmMTQzODAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbQpAQCAtMTMzLDEwICsxMzMsMTAg
QEAgc3RhdGljIENsYXNzIGN1c3RvbVNjcm9sbGVyQ2xhc3M7CiB7CiAgICAgaWYgKF9wcml2YXRl
LT5oU2Nyb2xsTW9kZUxvY2tlZCkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChmbGFnICYmIF9w
cml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhckFsd2F5c09mZikKLSAgICAgICAgX3ByaXZhdGUt
PmhTY3JvbGwgPSBTY3JvbGxiYXJBdXRvOwotICAgIGVsc2UgaWYgKCFmbGFnICYmIF9wcml2YXRl
LT5oU2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09mZikKLSAgICAgICAgX3ByaXZhdGUtPmhTY3Jv
bGwgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgaWYgKGZsYWcgJiYgX3ByaXZhdGUtPmhTY3Jv
bGwgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQorICAgICAgICBfcHJpdmF0ZS0+aFNjcm9s
bCA9IFNjcm9sbGJhck1vZGU6OkF1dG87CisgICAgZWxzZSBpZiAoIWZsYWcgJiYgX3ByaXZhdGUt
PmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQorICAgICAgICBfcHJpdmF0ZS0+
aFNjcm9sbCA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICBbc2VsZiB1cGRhdGVTY3Jv
bGxlcnNdOwogfQogCkBAIC0zMDAsMTIgKzMwMCwxMiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKICAgICAgICAgbmV3SGFzVmVydGljYWxTY3Jv
bGxlciA9IE5POwogICAgIH0KIAotICAgIGlmIChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxi
YXJBdXRvKQotICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPmhT
Y3JvbGwgPT0gU2Nyb2xsYmFyQWx3YXlzT24pOwotICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCAh
PSBTY3JvbGxiYXJBdXRvKQotICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gKF9wcml2
YXRlLT52U2Nyb2xsID09IFNjcm9sbGJhckFsd2F5c09uKTsKKyAgICBpZiAoX3ByaXZhdGUtPmhT
Y3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNj
cm9sbGVyID0gKF9wcml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsK
KyAgICBpZiAoX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAg
ICAgbmV3SGFzVmVydGljYWxTY3JvbGxlciA9IChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPbik7CiAKLSAgICBpZiAoIWRvY3VtZW50VmlldyB8fCBfcHJpdmF0ZS0+
c3VwcHJlc3NMYXlvdXQgfHwgX3ByaXZhdGUtPnN1cHByZXNzU2Nyb2xsZXJzIHx8IChfcHJpdmF0
ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJBdXRvICYmIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9s
bGJhckF1dG8pKSB7CisgICAgaWYgKCFkb2N1bWVudFZpZXcgfHwgX3ByaXZhdGUtPnN1cHByZXNz
TGF5b3V0IHx8IF9wcml2YXRlLT5zdXBwcmVzc1Njcm9sbGVycyB8fCAoX3ByaXZhdGUtPmhTY3Jv
bGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0byAmJiBfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxi
YXJNb2RlOjpBdXRvKSkgewogICAgICAgICBfcHJpdmF0ZS0+aG9yaXpvbnRhbFNjcm9sbGluZ0Fs
bG93ZWRCdXRTY3JvbGxlckhpZGRlbiA9IG5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiBfcHJp
dmF0ZS0+YWx3YXlzSGlkZUhvcml6b250YWxTY3JvbGxlcjsKICAgICAgICAgaWYgKF9wcml2YXRl
LT5ob3Jpem9udGFsU2Nyb2xsaW5nQWxsb3dlZEJ1dFNjcm9sbGVySGlkZGVuKQogICAgICAgICAg
ICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gTk87CkBAIC0zNDIsMTMgKzM0MiwxMyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKICAgICBm
cmFtZVNpemUud2lkdGggPSBjZWlsZihmcmFtZVNpemUud2lkdGgpOwogICAgIGZyYW1lU2l6ZS5o
ZWlnaHQgPSBjZWlsZihmcmFtZVNpemUuaGVpZ2h0KTsKIAotICAgIGlmIChfcHJpdmF0ZS0+aFNj
cm9sbCA9PSBTY3JvbGxiYXJBdXRvKSB7CisgICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xsID09IFNj
cm9sbGJhck1vZGU6OkF1dG8pIHsKICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0g
ZG9jdW1lbnRTaXplLndpZHRoID4gdmlzaWJsZVNpemUud2lkdGg7CiAgICAgICAgIGlmIChuZXdI
YXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgIV9wcml2YXRlLT5pblVwZGF0ZVNjcm9sbGVyc0xheW91
dFBhc3MgJiYgZG9jdW1lbnRTaXplLmhlaWdodCA8PSBmcmFtZVNpemUuaGVpZ2h0ICYmIGRvY3Vt
ZW50U2l6ZS53aWR0aCA8PSBmcmFtZVNpemUud2lkdGgpCiAgICAgICAgICAgICBuZXdIYXNIb3Jp
em9udGFsU2Nyb2xsZXIgPSBOTzsKICAgICB9CiAKLSAgICBpZiAoX3ByaXZhdGUtPnZTY3JvbGwg
PT0gU2Nyb2xsYmFyQXV0bykgeworICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxi
YXJNb2RlOjpBdXRvKSB7CiAgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSBkb2N1bWVu
dFNpemUuaGVpZ2h0ID4gdmlzaWJsZVNpemUuaGVpZ2h0OwogICAgICAgICBpZiAobmV3SGFzVmVy
dGljYWxTY3JvbGxlciAmJiAhX3ByaXZhdGUtPmluVXBkYXRlU2Nyb2xsZXJzTGF5b3V0UGFzcyAm
JiBkb2N1bWVudFNpemUuaGVpZ2h0IDw9IGZyYW1lU2l6ZS5oZWlnaHQgJiYgZG9jdW1lbnRTaXpl
LndpZHRoIDw9IGZyYW1lU2l6ZS53aWR0aCkKICAgICAgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Ny
b2xsZXIgPSBOTzsKQEAgLTM1Niw5ICszNTYsOSBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01h
eFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKIAogICAgIC8vIFVubGVzcyBpbiBTY3JvbGxiYXJz
QWx3YXlzT24gbW9kZSwgaWYgd2UgZXZlciB0dXJuIG9uZSBzY3JvbGxiYXIgb2ZmLCBhbHdheXMg
dHVybiB0aGUgb3RoZXIgb25lIG9mZiB0b28uCiAgICAgLy8gTmV2ZXIgZXZlciB0cnkgdG8gYm90
aCBnYWluL2xvc2UgYSBzY3JvbGxiYXIgaW4gdGhlIHNhbWUgcGFzcy4KLSAgICBpZiAoIW5ld0hh
c0hvcml6b250YWxTY3JvbGxlciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgX3ByaXZhdGUt
PnZTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT24pCisgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFs
U2Nyb2xsZXIgJiYgaGFzSG9yaXpvbnRhbFNjcm9sbGVyICYmIF9wcml2YXRlLT52U2Nyb2xsICE9
IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKQogICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVy
ID0gTk87Ci0gICAgaWYgKCFuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyICYmIGhhc1ZlcnRpY2FsU2Ny
b2xsZXIgJiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT24pCisgICAgaWYg
KCFuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyICYmIGhhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgX3ByaXZh
dGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24pCiAgICAgICAgIG5ld0hhc0hv
cml6b250YWxTY3JvbGxlciA9IE5POwogCiAgICAgX3ByaXZhdGUtPmhvcml6b250YWxTY3JvbGxp
bmdBbGxvd2VkQnV0U2Nyb2xsZXJIaWRkZW4gPSBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYg
X3ByaXZhdGUtPmFsd2F5c0hpZGVIb3Jpem9udGFsU2Nyb2xsZXI7CkBAIC00MzgsMTIgKzQzOCwx
MiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsK
IAogLSAoQk9PTClhbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5nCiB7Ci0gICAgcmV0dXJuIF9wcml2
YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICByZXR1cm4gX3ByaXZhdGUt
PmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogfQogCiAtIChCT09MKWFsbG93
c1ZlcnRpY2FsU2Nyb2xsaW5nCiB7Ci0gICAgcmV0dXJuIF9wcml2YXRlLT52U2Nyb2xsICE9IFNj
cm9sbGJhckFsd2F5c09mZjsKKyAgICByZXR1cm4gX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmOwogfQogCiAtICh2b2lkKXNjcm9sbGluZ01vZGVzOihXZWJDb3Jl
OjpTY3JvbGxiYXJNb2RlKiloTW9kZSB2ZXJ0aWNhbDooV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSop
dk1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAw
MDJhMjNjYjZiZDg5MThiZWQ5OGE4NTFjNDYzNmZmYjIxYzlmZGM4Li5hZGE2ODZjNjg0M2JiMTQ0
ODk4ZmNmOTQ4OGYxYzdlNWE3YTNhNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCkBAIC0zNjU5LDI3ICszNjU5LDI3IEBAIElHTk9SRV9XQVJOSU5HU19F
TkQKIHsKICAgICBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxm
IG1haW5GcmFtZV0gZnJhbWVWaWV3XSBfc2Nyb2xsVmlld107CiAgICAgaWYgKGZsYWcpIHsKLSAg
ICAgICAgW3Njcm9sbHZpZXcgc2V0VmVydGljYWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9s
bGJhckFsd2F5c09uIGFuZExvY2s6WUVTXTsKKyAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVydGlj
YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uIGFuZExvY2s6
WUVTXTsKICAgICB9IGVsc2UgewogICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9s
bGluZ01vZGVMb2NrZWQ6Tk9dOwotICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9s
bGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyQXV0byBhbmRMb2NrOk5PXTsKKyAgICAgICAgW3Nj
cm9sbHZpZXcgc2V0VmVydGljYWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhck1vZGU6
OkF1dG8gYW5kTG9jazpOT107CiAgICAgfQogfQogCiAtIChCT09MKWFsd2F5c1Nob3dWZXJ0aWNh
bFNjcm9sbGVyCiB7CiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3ID0g
W1tbc2VsZiBtYWluRnJhbWVdIGZyYW1lVmlld10gX3Njcm9sbFZpZXddOwotICAgIHJldHVybiBb
c2Nyb2xsdmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVMb2NrZWRdICYmIFtzY3JvbGx2aWV3IHZl
cnRpY2FsU2Nyb2xsaW5nTW9kZV0gPT0gV2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT247CisgICAg
cmV0dXJuIFtzY3JvbGx2aWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9s
bHZpZXcgdmVydGljYWxTY3JvbGxpbmdNb2RlXSA9PSBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbjsKIH0KIAogLSAodm9pZClzZXRBbHdheXNTaG93SG9yaXpvbnRhbFNjcm9sbGVyOihC
T09MKWZsYWcKIHsKICAgICBXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBb
W1tzZWxmIG1haW5GcmFtZV0gZnJhbWVWaWV3XSBfc2Nyb2xsVmlld107CiAgICAgaWYgKGZsYWcp
IHsKLSAgICAgICAgW3Njcm9sbHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01vZGU6V2ViQ29y
ZTo6U2Nyb2xsYmFyQWx3YXlzT24gYW5kTG9jazpZRVNdOworICAgICAgICBbc2Nyb2xsdmlldyBz
ZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNP
biBhbmRMb2NrOllFU107CiAgICAgfSBlbHNlIHsKICAgICAgICAgW3Njcm9sbHZpZXcgc2V0SG9y
aXpvbnRhbFNjcm9sbGluZ01vZGVMb2NrZWQ6Tk9dOwotICAgICAgICBbc2Nyb2xsdmlldyBzZXRI
b3Jpem9udGFsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJBdXRvIGFuZExvY2s6Tk9d
OworICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZTpXZWJDb3Jl
OjpTY3JvbGxiYXJNb2RlOjpBdXRvIGFuZExvY2s6Tk9dOwogICAgIH0KIH0KIApAQCAtMzY5Miw3
ICszNjkyLDcgQEAgSUdOT1JFX1dBUk5JTkdTX0VORAogLSAoQk9PTClhbHdheXNTaG93SG9yaXpv
bnRhbFNjcm9sbGVyCiB7CiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3
ID0gW1tbc2VsZiBtYWluRnJhbWVdIGZyYW1lVmlld10gX3Njcm9sbFZpZXddOwotICAgIHJldHVy
biBbc2Nyb2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZp
ZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9sbGJhckFsd2F5c09u
OworICAgIHJldHVybiBbc2Nyb2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZF0g
JiYgW3Njcm9sbHZpZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9s
bGJhck1vZGU6OkFsd2F5c09uOwogfQogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQog
Cg==
</data>
<flag name="commit-queue"
          id="467975"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443265</attachid>
            <date>2021-11-03 18:34:34 -0700</date>
            <delta_ts>2021-11-03 18:34:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232651-20211103183434.patch</filename>
            <type>text/plain</type>
            <size>44551</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNkZTRiODAxM2NjOTky
MzJmOTQzM2IwODFmNzM2YTFhYjc3OWJhYi4uZDJhMTExMTJlYmVkYjg5MDM5YmFhMmI2YjkxMjNh
NzNhMWYyYWY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTExLTAyICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudEJhc2U6OnNjcm9sbGluZ01vZGUgY29uc3Qp
OgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnNjcm9sbGluZ01vZGUgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmNyZWF0ZVZpZXcp
OgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0U2Nyb2xsYmFycyk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp1cGRhdGVDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjphZGp1c3RTY3JvbGxiYXJzRm9yTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6cGVyZm9ybUZpeGVkV2lkdGhBdXRvU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnBlcmZvcm1TaXplVG9Db250ZW50QXV0b1NpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3Ojppc1Njcm9sbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjplbmFibGVBdXRvU2l6ZU1vZGUpOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuU2Nyb2xsSW5EaXJlY3Rpb24pOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yVHlwZXMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpzZXRDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1
cGRhdGVTY3JvbGxiYXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3Jt
U2Nyb2xsYmFyTW9kZXMgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYWJsZUFyZWE6Omhvcml6b250YWxTY3JvbGxiYXJNb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OmNhbkhhdmVTY3JvbGxiYXJzIGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW06CisgICAgICAg
ICgtW1dBS1Njcm9sbFZpZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKC1b
V0FLU2Nyb2xsVmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRnJhbWVCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1lQmFz
ZTo6cGVyZm9ybUxheW91dFdpdGhGbGF0dGVuaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVySUZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklGcmFtZTo6ZmxhdHRlbkZy
YW1lIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6ZnJhbWVFbGVtZW50QW5kVmlld1Blcm1pdFNjcm9sbCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21w
dXRlUGFnZVRpbGVkQmFja2luZ0NvdmVyYWdlKToKKwogMjAyMS0xMC0yOCAgQW5kcmVzIEdvbnph
bGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgSXNvbGF0ZWQgdHJlZSBtb2Rl
OiBEaXNwYXRjaCBhbGwgY2FsbHMgdG8gW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFj
Y2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZV0gaW4gV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
IHRvIHRoZSBBWCB0aHJlYWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGEwMTRkYTc2MzVjNzUyNmJhMmYwMDg3MDg3
YmE3N2MxNTFiY2EzYjUuLjRhNTE5MGQzNmE3NTM3MDdmMDIyOTI0MDYxMmRkNzZiNmEyNjJmMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMDIgIE5pa29sYW9zIE1vdWNodGFy
aXMgIDxubW91Y2h0YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgYmFyIG1v
ZGUgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMyNjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9D
b21taXR0ZWRGb3JOZXdQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEFsd2F5c1Nob3dzSG9yaXpvbnRh
bFNjcm9sbGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NWZXJ0
aWNhbFNjcm9sbGVyKToKKwogMjAyMS0xMC0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2ViUGFnZVByb3h5IGlkZW50aWZpZXJzIHRvIGBW
aWV3R2VzdHVyZXNgIGNhdGVnb3J5IGxvZ2dpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpp
bmRleCAwNWRlMzc0ZDZmOTA3NjUxOWRlNzg1OGExMTlmZTc4MmFlMTRmMmY2Li40MWE0NzIwNDUw
MWQyYjcxNTMzYmNhZDQ1NDdiNmE5YzI4ZDc3YTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTEtMDIgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxu
bW91Y2h0YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4g
ZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAgIChXZWJG
cmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW06CisgICAgICAgICgtW1dl
YkR5bmFtaWNTY3JvbGxCYXJzVmlldyBzZXRBbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5nOl0pOgor
ICAgICAgICAoLVtXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgdXBkYXRlU2Nyb2xsZXJzXSk6Cisg
ICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NIb3Jpem9udGFsU2Nyb2xs
aW5nXSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyBhbGxvd3NWZXJ0aWNh
bFNjcm9sbGluZ10pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V2ViVmlldyBzZXRBbHdheXNTaG93VmVydGljYWxTY3JvbGxlcjpdKToKKyAgICAgICAgKC1bV2Vi
VmlldyBhbHdheXNTaG93VmVydGljYWxTY3JvbGxlcl0pOgorICAgICAgICAoLVtXZWJWaWV3IHNl
dEFsd2F5c1Nob3dIb3Jpem9udGFsU2Nyb2xsZXI6XSk6CisgICAgICAgICgtW1dlYlZpZXcgYWx3
YXlzU2hvd0hvcml6b250YWxTY3JvbGxlcl0pOgorCiAyMDIxLTEwLTI4ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyB3azEgXSAyIG1lZGlhLWNhcGFi
aWxpdGllcy93ZWJydGMgdGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCmluZGV4IGYzNWYzYmY3Nzc3MjY1ZjAxZDA0
OGE3MDFkZDJhYzZiNDI0YjAxMzEuLjdjNTc0MTU3YTE4NTVkOTk1NjYwY2JhYTRiODZkNWFjZjhh
MjNiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3Bw
CkBAIC0yMzEsNyArMjMxLDcgQEAgU2Nyb2xsYmFyTW9kZSBIVE1MRnJhbWVFbGVtZW50QmFzZTo6
c2Nyb2xsaW5nTW9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKHNjcm9sbGluZ0F0dHJpYnV0ZSwgIm5vIikKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2Uoc2Nyb2xsaW5nQXR0cmlidXRlLCAibm9zY3JvbGwiKQogICAgICAg
ICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzY3JvbGxpbmdBdHRyaWJ1dGUsICJv
ZmYiKQotICAgICAgICA/IFNjcm9sbGJhckFsd2F5c09mZiA6IFNjcm9sbGJhckF1dG87CisgICAg
ICAgID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0bzsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1l
T3duZXJFbGVtZW50LmgKaW5kZXggOWY4NTNhYTEzZWY2NmFlMzllMDQ4NjFjM2QxNDM1YzliNTE2
Yzg4Ni4uZTJhZWIyZmUwYjIxODQ1MDBiZDBkMzcwZTY3MTA1NDU3NjhlMjkxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oCkBAIC01MSw3ICs1MSw3IEBA
IHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPERvY3VtZW50Jj4gZ2V0U1ZHRG9jdW1lbnQoKSBj
b25zdDsKIAotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3JvbGxpbmdNb2RlKCkgY29uc3Qg
eyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3Jv
bGxpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQogCiAgICAg
U2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJveEZsYWdz
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggN2U4YWMwNTI0MGE1ZTEwM2M4NTRjMGM0NTcz
ZGRiMmM1YjdkN2EyYS4uNjE2NjIzNmZkMWE3NzYzZWM3NzFkMTY3NzllZWYwMDhlYzFlMzA2NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTkxOSw3ICs5MTksNyBAQCB2b2lkIEZyYW1lOjpjcmVh
dGVWaWV3KGNvbnN0IEludFNpemUmIHZpZXdwb3J0U2l6ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxD
b2xvcj4mCiAgICAgICAgIG93bmVyUmVuZGVyZXIoKS0+c2V0V2lkZ2V0KGZyYW1lVmlldyk7CiAK
ICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IG93bmVyRWxlbWVudCgpKQot
ICAgICAgICB2aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93bmVyLT5zY3JvbGxpbmdNb2Rl
KCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgdmlldygpLT5zZXRDYW5IYXZlU2Ny
b2xsYmFycyhvd25lci0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
Zik7CiB9CiAKIERPTVdpbmRvdyogRnJhbWU6OndpbmRvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgK
aW5kZXggZjU0OGIwZmM1YjZhODc1NGJmNzA5MmVhZmNkOGVlMjVmOTNmYzFiMC4uMTI0ZGYxODg1
ZjcxZGNkN2Q2NWUwMWQ2OWZkNzliMTA0YTA3ZTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTI4
LDggKzEyOCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFZpZXcoUmVm
UHRyPEZyYW1lVmlldz4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjcmVhdGVWaWV3KGNv
bnN0IEludFNpemUmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbG9yPiYgYmFja2dyb3VuZENvbG9y
LAogICAgICAgICBjb25zdCBJbnRTaXplJiBmaXhlZExheW91dFNpemUsIGNvbnN0IEludFJlY3Qm
IGZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0LAotICAgICAgICBib29sIHVzZUZpeGVkTGF5b3V0ID0g
ZmFsc2UsIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIGhvcml6b250YWxMb2Nr
ID0gZmFsc2UsCi0gICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIHZl
cnRpY2FsTG9jayA9IGZhbHNlKTsKKyAgICAgICAgYm9vbCB1c2VGaXhlZExheW91dCA9IGZhbHNl
LCBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywgYm9vbCBob3Jpem9udGFsTG9j
ayA9IGZhbHNlLAorICAgICAgICBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywg
Ym9vbCB2ZXJ0aWNhbExvY2sgPSBmYWxzZSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+RnJhbWUo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDU3OGVjZGI2OTNkZmE1MzEwYTcx
NjA2ZjAzNmJmZjZkMmZhYzYyNDYuLjBlYWEzYTZlMTFiNGVhNzliODg5OTM4Mjg4ZDBlNGEwMWVj
NGZhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTI5Nyw5ICsyOTcsOSBAQCB2
b2lkIEZyYW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzKCkKICAgICAvLyBSZXNldCB0aGUgZG9jdW1l
bnQncyBzY3JvbGxiYXJzIGJhY2sgdG8gb3VyIGRlZmF1bHRzIGJlZm9yZSB3ZSB5aWVsZCB0aGUg
Zmxvb3IuCiAgICAgc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQodHJ1ZSk7CiAgICAgaWYgKG1fY2Fu
SGF2ZVNjcm9sbGJhcnMpCi0gICAgICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckF1dG8s
IFNjcm9sbGJhckF1dG8pOworICAgICAgICBzZXRTY3JvbGxiYXJNb2RlcyhTY3JvbGxiYXJNb2Rl
OjpBdXRvLCBTY3JvbGxiYXJNb2RlOjpBdXRvKTsKICAgICBlbHNlCi0gICAgICAgIHNldFNjcm9s
bGJhck1vZGVzKFNjcm9sbGJhckFsd2F5c09mZiwgU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAg
ICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmLCBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPZmYpOwogICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKGZhbHNlKTsKIH0K
IApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgRnJhbWVWaWV3Ojppbml0KCkKIAogICAgIC8vIFBy
b3BhZ2F0ZSB0aGUgc2Nyb2xsaW5nIG1vZGUgdG8gdGhlIHZpZXcuCiAgICAgYXV0byogb3duZXJF
bGVtZW50ID0gZnJhbWUoKS5vd25lckVsZW1lbnQoKTsKLSAgICBpZiAoaXM8SFRNTEZyYW1lRWxl
bWVudEJhc2U+KG93bmVyRWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2U+
KCpvd25lckVsZW1lbnQpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCisg
ICAgaWYgKGlzPEhUTUxGcmFtZUVsZW1lbnRCYXNlPihvd25lckVsZW1lbnQpICYmIGRvd25jYXN0
PEhUTUxGcmFtZUVsZW1lbnRCYXNlPigqb3duZXJFbGVtZW50KS5zY3JvbGxpbmdNb2RlKCkgPT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICBzZXRDYW5IYXZlU2Nyb2xsYmFycyhm
YWxzZSk7CiAKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CkBAIC01MjEsNyArNTIx
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZUNhbkhhdmVTY3JvbGxiYXJzKCkKICAgICBTY3Jv
bGxiYXJNb2RlIGhNb2RlOwogICAgIFNjcm9sbGJhck1vZGUgdk1vZGU7CiAgICAgc2Nyb2xsYmFy
TW9kZXMoaE1vZGUsIHZNb2RlKTsKLSAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2Zm
ICYmIHZNb2RlID09IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBpZiAoaE1vZGUgPT0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikK
ICAgICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnMoZmFsc2UpOwogICAgIGVsc2UKICAgICAgICAg
c2V0Q2FuSGF2ZVNjcm9sbGJhcnModHJ1ZSk7CkBAIC02NTksMTUgKzY1OSwxNSBAQCB2b2lkIEZy
YW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIsIFNjcm9sbGJhcgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92
ZXJmbG93OjpDbGlwOgogICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICBo
TW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6
OkF1dG87CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlz
T2ZmOworICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgaE1vZGUgPSBT
Y3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
bjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgaE1v
ZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBh
dCBhbGwuCkBAIC02NzgsMTUgKzY3OCwxNSBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxv
d1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogICAg
IGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92ZXJmbG93OjpDbGlwOgogICAgICAg
ICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJhckF1dG87
CisgICAgICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICAgICAgdk1v
ZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
T3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAg
ICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOwor
ICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBhdCBhbGwuIFZhbHVlcyBvZiBPdmVy
Zmxvdzo6UGFnZWRYIGFuZCBPdmVyZmxvdzo6UGFnZWRZIGFyZSBoYW5kbGVkIGJ5IGFwcGx5UGFn
aW5hdGlvblRvVmlld1BvcnQoKS4KQEAgLTczMSwxOCArNzMxLDE4IEBAIHZvaWQgRnJhbWVWaWV3
OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwg
U2Nyb2xsYmFyCiAgICAgbV92aWV3cG9ydFJlbmRlcmVyVHlwZSA9IFZpZXdwb3J0UmVuZGVyZXJU
eXBlOjpOb25lOwogCiAgICAgY29uc3QgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IGZy
YW1lKCkub3duZXJFbGVtZW50KCk7Ci0gICAgaWYgKG93bmVyICYmIChvd25lci0+c2Nyb2xsaW5n
TW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09mZikpIHsKLSAgICAgICAgaE1vZGUgPSBTY3JvbGxi
YXJBbHdheXNPZmY7Ci0gICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIGlm
IChvd25lciAmJiAob3duZXItPnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmYpKSB7CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAg
ICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0gIAogICAgIAogICAgIGlmIChtX2NhbkhhdmVTY3JvbGxiYXJzIHx8IHN0cmF0ZWd5ID09
IFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KSB7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQXV0
bzsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9s
bGJhck1vZGU6OkF1dG87CisgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAg
ICB9IGVsc2UgewotICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsKLSAgICAgICAg
dk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT2ZmOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsK
ICAgICB9CiAgICAgCiAgICAgaWYgKGxheW91dENvbnRleHQoKS5zdWJ0cmVlTGF5b3V0Um9vdCgp
KQpAQCAtNzY3LDggKzc2Nyw4IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJN
b2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgfQogICAg
IAogICAgIGlmIChpczxIVE1MRnJhbWVTZXRFbGVtZW50PigqYm9keU9yRnJhbWVzZXQpICYmICFm
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdh
eXNPZmY7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICB2TW9k
ZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPZmY7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEyNTQsMTEgKzEy
NTQsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OmFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQoYm9vbCBp
c0ZpcnN0TGF5b3V0KQogICAgIGlmIChpc0ZpcnN0TGF5b3V0ICYmICFsYXlvdXRDb250ZXh0KCku
aXNMYXlvdXROZXN0ZWQoKSkgewogICAgICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVl
KTsKICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlmIHdlJ3Jl
IGF1dG8uCi0gICAgICAgIGlmICh2TW9kZSA9PSBTY3JvbGxiYXJBdXRvKQotICAgICAgICAgICAg
c2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09uKTsgLy8gVGhpcyBjYXVz
ZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8gYXBwZWFyLgorICAgICAgICBpZiAodk1vZGUgPT0g
U2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTW9k
ZShTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7IC8vIFRoaXMgY2F1c2VzIGEgdmVydGljYWwgc2Ny
b2xsYmFyIHRvIGFwcGVhci4KICAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIGhNb2RlIHRvIEFs
d2F5c09mZiBpZiB3ZSdyZSBhdXRvLgotICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQXV0
bykKLSAgICAgICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5
c09mZik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFy
LgorICAgICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAg
IHNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZik7IC8v
IFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFyLgogICAgICAg
ICBBU1NFUlQoZnJhbWUoKS5wYWdlKCkpOwogICAgICAgICBpZiAoZnJhbWUoKS5wYWdlKCktPmlz
TW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAgICAgICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNl
dFdoZWVsRXZlbnRUZXN0TW9uaXRvcihmcmFtZSgpLnBhZ2UoKS0+d2hlZWxFdmVudFRlc3RNb25p
dG9yKCkpOwpAQCAtMzUyMSw4ICszNTIxLDggQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1GaXhl
ZFdpZHRoQXV0b1NpemUoKQogICAgIGF1dG8qIHJlbmRlclZpZXcgPSBkb2N1bWVudC0+cmVuZGVy
VmlldygpOwogICAgIGF1dG8qIGZpcnN0Q2hpbGQgPSByZW5kZXJWaWV3LT5maXJzdENoaWxkKCk7
CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJB
bHdheXNPZmY7Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7CisgICAgYXV0byBob3Jpem9uYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmOworICAgIGF1dG8gdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxz
ZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwogICAgIHNldFNjcm9s
bGJhck1vZGVzKGhvcml6b25hbFNjcm9sbGJhck1vZGUsIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSwg
dHJ1ZSwgdHJ1ZSk7CkBAIC0zNjA1LDE1ICszNjA1LDE1IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJm
b3JtU2l6ZVRvQ29udGVudEF1dG9TaXplKCkKICAgICAgICAgbmV3U2l6ZSA9IG5ld1NpemUuZXhw
YW5kZWRUbyhtaW5BdXRvU2l6ZSk7CiAKICAgICAgICAgLy8gQm91bmQgdGhlIGRpbWVuc2lvbnMg
YnkgdGhlIG1heCBib3VuZHMgYW5kIGRldGVybWluZSB3aGF0IHNjcm9sbGJhcnMgdG8gc2hvdy4K
LSAgICAgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9uYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFy
QWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUg
PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGlmIChuZXdTaXplLndpZHRoKCkg
PiBtX2F1dG9TaXplQ29uc3RyYWludC53aWR0aCgpKSB7CiAgICAgICAgICAgICBuZXdTaXplLnNl
dFdpZHRoKG1fYXV0b1NpemVDb25zdHJhaW50LndpZHRoKCkpOwotICAgICAgICAgICAgaG9yaXpv
bmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckFsd2F5c09uOworICAgICAgICAgICAgaG9yaXpv
bmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogICAgICAgICB9Ci0g
ICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3
YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSA9IFNj
cm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgaWYgKG5ld1NpemUuaGVpZ2h0KCkgPiBt
X2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQoKSkgewogICAgICAgICAgICAgbmV3U2l6ZS5zZXRI
ZWlnaHQobV9hdXRvU2l6ZUNvbnN0cmFpbnQuaGVpZ2h0KCkpOwotICAgICAgICAgICAgdmVydGlj
YWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT247CisgICAgICAgICAgICB2ZXJ0aWNh
bFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmIChuZXdTaXplID09IHNpemUpCkBAIC0zOTUwLDcgKzM5NTAsNyBAQCBib29sIEZy
YW1lVmlldzo6aXNTY3JvbGxhYmxlKFNjcm9sbGFiaWxpdHkgZGVmaW5pdGlvbk9mU2Nyb2xsYWJs
ZSkKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2RlOwogICAgIFNjcm9sbGJhck1vZGUg
dmVydGljYWxNb2RlOwogICAgIGNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6
b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUsIFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KTsKLSAgICBp
ZiAoaG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmICYmIHZlcnRpY2FsTW9kZSA9
PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAgaWYgKGhvcml6b250YWxNb2RlID09IFNjcm9sbGJh
ck1vZGU6OkFsd2F5c09mZiAmJiB2ZXJ0aWNhbE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlz
T2ZmKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQ3MjIs
NyArNDcyMiw3IEBAIHZvaWQgRnJhbWVWaWV3OjplbmFibGVBdXRvU2l6ZU1vZGUoYm9vbCBlbmFi
bGUsIGNvbnN0IEludFNpemUmIHZpZXdTaXplLCBBdXRvU2l6CiAgICAgLy8gU2luY2UgYXV0b3Np
emUgbW9kZSBmb3JjZXMgdGhlIHNjcm9sbGJhciBtb2RlLCBjaGFuZ2UgdGhlbSB0byBiZWluZyBh
dXRvLgogICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxzZSk7CiAgICAgc2V0SG9yaXpv
bnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwotICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJh
ckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhck1v
ZGU6OkF1dG8sIFNjcm9sbGJhck1vZGU6OkF1dG8pOwogfQogCiB2b2lkIEZyYW1lVmlldzo6Zm9y
Y2VMYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWVMYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3Bh
dGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IDk4Mjc1YzU2ZWEyMjY4ZjIzYzlmNTkxZDRkODc2NmIz
ZDg5YjA4NTYuLjNlNTllZDI2NzFmY2M1YzBhNzhlZTg4ZjgwMjI0YjQyNzMwMjIyNjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCkBAIC00NzYsOSArNDc2LDkg
QEAgYm9vbCBjYW5TY3JvbGxJbkRpcmVjdGlvbihjb25zdCBGcmFtZSogZnJhbWUsIEZvY3VzRGly
ZWN0aW9uIGRpcmVjdGlvbikKICAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsTW9kZTsKICAgICBT
Y3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2RlOwogICAgIGZyYW1lLT52aWV3KCktPmNhbGN1bGF0
ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUpOwot
ICAgIGlmICgoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpMZWZ0IHx8IGRpcmVjdGlvbiA9
PSBGb2N1c0RpcmVjdGlvbjo6UmlnaHQpICYmIFNjcm9sbGJhckFsd2F5c09mZiA9PSBob3Jpem9u
dGFsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6TGVmdCB8fCBk
aXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246OlJpZ2h0KSAmJiBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmYgPT0gaG9yaXpvbnRhbE1vZGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAo
KGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6VXAgfHwgZGlyZWN0aW9uID09IEZvY3VzRGly
ZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFyQWx3YXlzT2ZmID09IHZlcnRpY2FsTW9kZSkKKyAg
ICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6VXAgfHwgZGlyZWN0aW9uID09IEZv
Y3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmID09IHZlcnRp
Y2FsTW9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIExheW91dFNpemUgc2l6ZSA9IGZy
YW1lLT52aWV3KCktPnRvdGFsQ29udGVudHNTaXplKCk7CiAgICAgTGF5b3V0UG9pbnQgc2Nyb2xs
UG9zaXRpb24gPSBmcmFtZS0+dmlldygpLT5zY3JvbGxQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBl
cy5oCmluZGV4IGRmNjU0Nzg4Nzg2YTgwODM3ZjUwM2VlZTU4NTk4NzFiMDY5YmU3ZmQuLjJlNGIw
OGRiYjI0NjAyZjk1YTgwMDk0YTI3MTczNWNjNzM3MTljN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmgK
QEAgLTczLDggKzczLDggQEAgc3RydWN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyB7CiAgICAg
U2Nyb2xsRWxhc3RpY2l0eSBob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSB7IFNjcm9sbEVsYXN0
aWNpdHlOb25lIH07CiAgICAgU2Nyb2xsRWxhc3RpY2l0eSB2ZXJ0aWNhbFNjcm9sbEVsYXN0aWNp
dHkgeyBTY3JvbGxFbGFzdGljaXR5Tm9uZSB9OwogCi0gICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9u
dGFsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKLSAgICBTY3JvbGxiYXJNb2RlIHZl
cnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2Rl
IGhvcml6b250YWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9OworICAgIFNj
cm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9
OwogCiAgICAgYm9vbCBhbGxvd3NIb3Jpem9udGFsU2Nyb2xsaW5nIHsgZmFsc2UgfTsKICAgICBi
b29sIGFsbG93c1ZlcnRpY2FsU2Nyb2xsaW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5o
CmluZGV4IGNjNTZjOTQ3YzRiNDZmOTA5ZDE3ODIyYzI4OWFlZjM2OGM0NDczMzYuLjNmM2E5YjI2
YTMzZjJmMTI1NTRhODIwZGNiZWExODdkYTU1OTVlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaApA
QCAtOTQsOSArOTQsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIGhvcml6b250YWxTY3JvbGxiYXJI
aWRkZW5CeVN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMu
aG9yaXpvbnRhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGU7IH0KICAgICBib29sIHZlcnRpY2FsU2Ny
b2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJh
bWV0ZXJzLnZlcnRpY2FsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZTsgfQotICAgIGJvb2wgY2FuSGF2
ZUhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFy
YW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7IH0K
LSAgICBib29sIGNhbkhhdmVWZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
b2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJB
bHdheXNPZmY7IH0KLSAgICBib29sIGNhbkhhdmVTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4g
bV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgIT0gU2Ny
b2xsYmFyQWx3YXlzT2ZmIHx8IG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2FsU2Ny
b2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7IH0KKyAgICBib29sIGNhbkhhdmVIb3Jp
em9udGFsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRl
cnMuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOyB9
CisgICAgYm9vbCBjYW5IYXZlVmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Nj
cm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT2ZmOyB9CisgICAgYm9vbCBjYW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJNb2Rl
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiB8fCBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVy
cy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOyB9CiAK
ICAgICBjb25zdCBGbG9hdFNjcm9sbFNuYXBPZmZzZXRzSW5mbyYgc25hcE9mZnNldHNJbmZvKCkg
Y29uc3Q7CiAgICAgc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gY3VycmVudEhvcml6b250YWxTbmFw
UG9pbnRJbmRleCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuY3Bw
CmluZGV4IDVkMjZhOTUyN2IzZmNkNjU3OTMyMzRmYTYwMGVkYTQ0Njk5MTZjOTEuLjA3MDkxMTVm
M2I5MjE2ZDk3ZTBmMDk2OTBjYjIzZWM2NmY5NmU1MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxUeXBlcy5jcHAKQEAgLTYyLDQgKzYyLDIwIEBAIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cyBiZWhhdmlv
cikKICAgICByZXR1cm4gdHM7CiB9CiAKK1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIFNjcm9sbGJhck1vZGUgYmVoYXZpb3IpCit7CisgICAgc3dpdGNoIChiZWhhdmlvcikg
eworICAgIGNhc2UgU2Nyb2xsYmFyTW9kZTo6QXV0bzoKKyAgICAgICAgdHMgPDwgMDsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY6CisgICAgICAgIHRz
IDw8IDE7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT246
CisgICAgICAgIHRzIDw8IDI7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gdHM7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxU
eXBlcy5oCmluZGV4IGViYWExN2U5MDAyZDhkYjM5OGQ3OGI2Y2JkMzdiNjYyMTRjZmFlNWYuLjE1
NTRkMDY0ZjJmNGZhMDhlYmE5OTdjZmQ1ZDQxNWZmMzJmMzE2M2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuaApAQCAtMTQ4LDEwICsxNDgsMTAgQEAgZW51bSBTY3JvbGxiYXJP
cmllbnRhdGlvbiA6IHVpbnQ4X3QgewogICAgIFZlcnRpY2FsU2Nyb2xsYmFyCiB9OwogCi1lbnVt
IFNjcm9sbGJhck1vZGUgOiB1aW50OF90IHsKLSAgICBTY3JvbGxiYXJBdXRvLAotICAgIFNjcm9s
bGJhckFsd2F5c09mZiwKLSAgICBTY3JvbGxiYXJBbHdheXNPbgorZW51bSBjbGFzcyBTY3JvbGxi
YXJNb2RlIDogdWludDhfdCB7CisgICAgQXV0bywKKyAgICBBbHdheXNPZmYsCisgICAgQWx3YXlz
T24KIH07CiAKIGVudW0gY2xhc3MgU2Nyb2xsYmFyQ29udHJvbFNpemUgOiB1aW50OF90IHsKQEAg
LTI2MCw2ICsyNjAsNyBAQCB1c2luZyBTY3JvbGxpbmdOb2RlSUQgPSB1aW50NjRfdDsKIFdFQkNP
UkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBT
Y3JvbGxUeXBlKTsKIFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChX
VEY6OlRleHRTdHJlYW0mLCBTY3JvbGxDbGFtcGluZyk7CiBXRUJDT1JFX0VYUE9SVCBXVEY6OlRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsQmVoYXZpb3JGb3JG
aXhlZEVsZW1lbnRzKTsKK1dFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8
PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxiYXJNb2RlKTsKIAogc3RydWN0IFNjcm9sbFBvc2l0
aW9uQ2hhbmdlT3B0aW9ucyB7CiAgICAgU2Nyb2xsVHlwZSB0eXBlOwpAQCAtMzAzLDkgKzMwNCw5
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsSXNBbmltYXRl
ZD4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTY3JvbGxiYXJNb2Rl
PiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29yZTo6U2Ny
b2xsYmFyTW9kZSwKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6U2Nyb2xsYmFyQXV0
bywKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6U2Nyb2xsYmFyQWx3YXlzT2ZmLAot
ICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpTY3JvbGxiYXJBbHdheXNPbgorICAgICAg
ICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvLAorICAgICAgICBXZWJDb3JlOjpTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmYsCisgICAgICAgIFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5
c09uCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5k
ZXggYzkyY2UyZTVjOTE4ZWNlMWE1ZDQ4MGMwYWQ3ZWE4ZmY2NDU5NTA0Yi4uYzI2ZDg0MTdjYTVh
MWUzZTE1MTE4MjM4Y2JhYWVkZDZmMzYxYzJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHAKQEAgLTE1NCwxNSArMTU0LDE1IEBAIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q2Fu
SGF2ZVNjcm9sbGJhcnMoYm9vbCBjYW5TY3JvbGwpCiAgICAgCiAgICAgc2Nyb2xsYmFyTW9kZXMo
bmV3SG9yaXpvbnRhbE1vZGUsIG5ld1ZlcnRpY2FsTW9kZSk7CiAgICAgCi0gICAgaWYgKGNhblNj
cm9sbCAmJiBuZXdWZXJ0aWNhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQotICAgICAgICBu
ZXdWZXJ0aWNhbE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgIGlmIChjYW5TY3JvbGwgJiYgbmV3
VmVydGljYWxNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKKyAgICAgICAgbmV3VmVy
dGljYWxNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICBlbHNlIGlmICghY2FuU2Nyb2xs
KQotICAgICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAg
IG5ld1ZlcnRpY2FsTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAKLSAgICBp
ZiAoY2FuU2Nyb2xsICYmIG5ld0hvcml6b250YWxNb2RlID09IFNjcm9sbGJhckFsd2F5c09mZikK
LSAgICAgICAgbmV3SG9yaXpvbnRhbE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgIGlmIChjYW5T
Y3JvbGwgJiYgbmV3SG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQor
ICAgICAgICBuZXdIb3Jpem9udGFsTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgZWxz
ZSBpZiAoIWNhblNjcm9sbCkKLSAgICAgICAgbmV3SG9yaXpvbnRhbE1vZGUgPSBTY3JvbGxiYXJB
bHdheXNPZmY7CisgICAgICAgIG5ld0hvcml6b250YWxNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3
YXlzT2ZmOwogICAgIAogICAgIHNldFNjcm9sbGJhck1vZGVzKG5ld0hvcml6b250YWxNb2RlLCBu
ZXdWZXJ0aWNhbE1vZGUpOwogfQpAQCAtNjM0LDE0ICs2MzQsMTQgQEAgdm9pZCBTY3JvbGxWaWV3
Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24p
CiAgICAgU2Nyb2xsYmFyTW9kZSBoU2Nyb2xsID0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZTsK
ICAgICBTY3JvbGxiYXJNb2RlIHZTY3JvbGwgPSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTW9kZTsKIAot
ICAgIGlmIChoU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pCi0gICAgICAgIG5ld0hhc0hvcml6b250
YWxTY3JvbGxiYXIgPSAoaFNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7Ci0gICAgaWYgKHZT
Y3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxiYXIg
PSAodlNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7CisgICAgaWYgKGhTY3JvbGwgIT0gU2Ny
b2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9ICho
U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKKyAgICBpZiAodlNjcm9sbCAhPSBT
Y3JvbGxiYXJNb2RlOjpBdXRvKQorICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciA9ICh2
U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKIAogICAgIGJvb2wgc2Nyb2xsYmFy
QWRkZWRPclJlbW92ZWQgPSBmYWxzZTsKIAotICAgIGlmIChtX3Njcm9sbGJhcnNTdXBwcmVzc2Vk
IHx8IChoU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8gJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJBdXRv
KSkgeworICAgIGlmIChtX3Njcm9sbGJhcnNTdXBwcmVzc2VkIHx8IChoU2Nyb2xsICE9IFNjcm9s
bGJhck1vZGU6OkF1dG8gJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKSkgewogICAg
ICAgICBpZiAoaGFzSG9yaXpvbnRhbFNjcm9sbGJhciAhPSBuZXdIYXNIb3Jpem9udGFsU2Nyb2xs
YmFyICYmIChoYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHx8ICFhdm9pZFNjcm9sbGJhckNyZWF0aW9u
KCkpKSB7CiAgICAgICAgICAgICBpZiAoc2V0SGFzSG9yaXpvbnRhbFNjcm9sbGJhcihuZXdIYXNI
b3Jpem9udGFsU2Nyb2xsYmFyKSkKICAgICAgICAgICAgICAgICBzY3JvbGxiYXJBZGRlZE9yUmVt
b3ZlZCA9IHRydWU7CkBAIC02NTcsOSArNjU3LDkgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVT
Y3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAgICAgICAg
IEludFNpemUgZG9jU2l6ZSA9IHRvdGFsQ29udGVudHNTaXplKCk7CiAgICAgICAgIEludFNpemUg
ZnVsbFZpc2libGVTaXplID0gdW5vYnNjdXJlZENvbnRlbnRSZWN0SW5jbHVkaW5nU2Nyb2xsYmFy
cygpLnNpemUoKTsKIAotICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKQorICAg
ICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAgICAgbmV3
SGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9IGRvY1NpemUud2lkdGgoKSA+IHZpc2libGVXaWR0aCgp
OwotICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICBpZiAodlNj
cm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAgICAgbmV3SGFzVmVydGljYWxT
Y3JvbGxiYXIgPSBkb2NTaXplLmhlaWdodCgpID4gdmlzaWJsZUhlaWdodCgpOwogCiAgICAgICAg
IGJvb2wgbmVlZEFub3RoZXJQYXNzID0gZmFsc2U7CkBAIC02NjcsMTYgKzY2NywxNiBAQCB2b2lk
IFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc2ly
ZWRQb3NpdGlvbikKICAgICAgICAgICAgIC8vIElmIHdlIGV2ZXIgdHVybiBvbmUgc2Nyb2xsYmFy
IG9mZiwgZG8gbm90IHR1cm4gdGhlIG90aGVyIG9uZSBvbi4gTmV2ZXIgZXZlcgogICAgICAgICAg
ICAgLy8gdHJ5IHRvIGJvdGggZ2Fpbi9sb3NlIGEgc2Nyb2xsYmFyIGluIHRoZSBzYW1lIHBhc3Mu
CiAgICAgICAgICAgICBpZiAoIW1fdXBkYXRlU2Nyb2xsYmFyc1Bhc3MgJiYgZG9jU2l6ZS53aWR0
aCgpIDw9IGZ1bGxWaXNpYmxlU2l6ZS53aWR0aCgpICYmIGRvY1NpemUuaGVpZ2h0KCkgPD0gZnVs
bFZpc2libGVTaXplLmhlaWdodCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGhTY3JvbGwgPT0g
U2Nyb2xsYmFyQXV0bykKKyAgICAgICAgICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJN
b2RlOjpBdXRvKQogICAgICAgICAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFy
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgaWYgKHZTY3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykK
KyAgICAgICAgICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAg
ICAgICAgICAgICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciA9IGZhbHNlOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyICYmIGhh
c0hvcml6b250YWxTY3JvbGxiYXIgJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPbiAmJiAh
aGFzVmVydGljYWxTY3JvbGxiYXIpIHsKKyAgICAgICAgICAgIGlmICghbmV3SGFzSG9yaXpvbnRh
bFNjcm9sbGJhciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsYmFyICYmIHZTY3JvbGwgIT0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT24gJiYgIWhhc1ZlcnRpY2FsU2Nyb2xsYmFyKSB7CiAgICAgICAgICAg
ICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxiYXIgPSBmYWxzZTsKICAgICAgICAgICAgICAgICBu
ZWVkQW5vdGhlclBhc3MgPSB0cnVlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFu
ZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciAmJiBoYXNWZXJ0aWNhbFNjcm9sbGJhciAmJiBoU2Nyb2xs
ICE9IFNjcm9sbGJhckFsd2F5c09uICYmICFoYXNIb3Jpem9udGFsU2Nyb2xsYmFyKSB7CisgICAg
ICAgICAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyICYmIGhhc1ZlcnRpY2FsU2Nyb2xs
YmFyICYmIGhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gJiYgIWhhc0hvcml6b250
YWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFy
ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgbmVlZEFub3RoZXJQYXNzID0gdHJ1ZTsKICAgICAg
ICAgICAgIH0KQEAgLTE2MTksOCArMTYxOSw4IEBAIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1T
ZXRTY3JvbGxiYXJNb2RlcygpCiAKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TY3JvbGxiYXJN
b2RlcyhTY3JvbGxiYXJNb2RlJiBob3Jpem9udGFsLCBTY3JvbGxiYXJNb2RlJiB2ZXJ0aWNhbCkg
Y29uc3QKIHsKLSAgICBob3Jpem9udGFsID0gU2Nyb2xsYmFyQXV0bzsKLSAgICB2ZXJ0aWNhbCA9
IFNjcm9sbGJhckF1dG87CisgICAgaG9yaXpvbnRhbCA9IFNjcm9sbGJhck1vZGU6OkF1dG87Cisg
ICAgdmVydGljYWwgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiB2b2lkIFNjcm9sbFZpZXc6
OnBsYXRmb3JtU2V0Q2FuQmxpdE9uU2Nyb2xsKGJvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKaW5kZXggMDc5ZjcwMjJjMjVmMzljOGRlNGM0MjgzZTRiZDk3NzEzNzg1MmY5OC4u
YTNmMGIxN2IxMzFhYjEzMDViNGU2ZGI5ODgyNTI5MTIzMmJjNGI1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtNTM0LDggKzUzNCw4IEBAIHByaXZhdGU6CiAKICAgICBS
ZWZQdHI8U2Nyb2xsYmFyPiBtX2hvcml6b250YWxTY3JvbGxiYXI7CiAgICAgUmVmUHRyPFNjcm9s
bGJhcj4gbV92ZXJ0aWNhbFNjcm9sbGJhcjsKLSAgICBTY3JvbGxiYXJNb2RlIG1faG9yaXpvbnRh
bFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJBdXRvIH07Ci0gICAgU2Nyb2xsYmFyTW9kZSBtX3Zl
cnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2Rl
IG1faG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJNb2RlOjpBdXRvIH07CisgICAg
U2Nyb2xsYmFyTW9kZSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1
dG8gfTsKIAogCiAgICAgLy8gRklYTUU6IE1vcmUgdGhpbmdzIHdpbGwgbW92ZSBpbnRvIGhlcmUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCBmZTQyYzRlYzZl
YmE0ZjA0OGY5NGZlZjU5MDQ5MzY5MGJlNTM1NjVhLi4wOTliOTExNDUzZDRlNDg1ZDEzN2ViZDQw
YjNjNGNlYTQ1NmM5ZWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmgKQEAgLTEyMSw5ICsxMjEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIb3Jpem9udGFsU2Ny
b2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5IHNjcm9sbEVsYXN0aWNpdHkpIHsgbV9ob3Jp
em9udGFsU2Nyb2xsRWxhc3RpY2l0eSA9IHNjcm9sbEVsYXN0aWNpdHk7IH0KICAgICBTY3JvbGxF
bGFzdGljaXR5IGhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5KCkgY29uc3QgeyByZXR1cm4gbV9o
b3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eTsgfQogCi0gICAgdmlydHVhbCBTY3JvbGxiYXJNb2Rl
IGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsg
fQotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKSBjb25z
dCB7IHJldHVybiBTY3JvbGxiYXJBdXRvOyB9Ci0gICAgYm9vbCBjYW5IYXZlU2Nyb2xsYmFycygp
IGNvbnN0IHsgcmV0dXJuIGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3
YXlzT2ZmIHx8IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZjsg
fQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpIGNv
bnN0IHsgcmV0dXJuIFNjcm9sbGJhck1vZGU6OkF1dG87IH0KKyAgICB2aXJ0dWFsIFNjcm9sbGJh
ck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyTW9k
ZTo6QXV0bzsgfQorICAgIGJvb2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBo
b3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiB8fCB2
ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7IH0KIAog
ICAgIHZpcnR1YWwgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHZlcnRpY2FsU2Nyb2xsYmFySGlk
ZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW0KaW5kZXggNTAxYTY4YmVhOTA3ODhk
OWJjOTM2OTczMGU3Mzk0NzY1OWE0NjQyZi4uNWY2MDBkNjcxZjNlZDU1ZmRjYmRhZTYzNGRmZWUy
MDYyOTJiN2QxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9X
QUtTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV0FL
U2Nyb2xsVmlldy5tbQpAQCAtMTk0LDEyICsxOTQsMTIgQEAgc3RhdGljIHZvaWQgX25vdGlmaWNh
dGlvbkNhbGxiYWNrKFdLVmlld1JlZiB2LCBXS1ZpZXdOb3RpZmljYXRpb25UeXBlIHR5cGUsIHZv
aWQKIAogLSAoV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSlob3Jpem9udGFsU2Nyb2xsaW5nTW9kZQog
ewotICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJBdXRvOworICAgIHJldHVybiBXZWJDb3Jl
OjpTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiAtIChXZWJDb3JlOjpTY3JvbGxiYXJNb2RlKXZl
cnRpY2FsU2Nyb2xsaW5nTW9kZQogewotICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJBdXRv
OworICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiAjcHJhZ21h
IG1hcmsgLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1l
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcApp
bmRleCBiMDk1ZDhlNGFjYTdmYWY2OTNkY2U5MjYxOGFiM2Q0ODg0MTg3ZGU5Li40NGQ0OGZjMmU1
OGM2N2MyNzEyYzllYzNhMGYzMjQ0OWIxOTZhYzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIFJlbmRlckZy
YW1lQmFzZTo6cGVyZm9ybUxheW91dFdpdGhGbGF0dGVuaW5nKGJvb2wgaGFzRml4ZWRXaWR0aCwg
Ym9vbCBoYXNGaQogICAgIC8vIGlmIHNjcm9sbGJhcnMgYXJlIG9mZiwgYW5kIHRoZSB3aWR0aCBv
ciBoZWlnaHQgYXJlIGZpeGVkCiAgICAgLy8gd2Ugb2JleSB0aGVtIGFuZCBkbyBub3QgZXhwYW5k
LiBXaXRoIGZyYW1lIGZsYXR0ZW5pbmcKICAgICAvLyBubyBzdWJmcmFtZSBtdWNoIGV2ZXIgYmVj
b21lIHNjcm9sbGFibGUuCi0gICAgYm9vbCBpc1Njcm9sbGFibGUgPSBmcmFtZU93bmVyRWxlbWVu
dCgpLnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgYm9vbCBpc1Nj
cm9sbGFibGUgPSBmcmFtZU93bmVyRWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmY7CiAKICAgICAvLyBjb25zaWRlciBpZnJhbWUgaW5zZXQgYm9yZGVy
CiAgICAgaW50IGhCb3JkZXIgPSBib3JkZXJMZWZ0KCkgKyBib3JkZXJSaWdodCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcAppbmRleCA0YjI3NjFlMTk4NzdiZWZk
Y2FlZWMxNWZiNDhmY2U3MzYzYWIyZDVjLi4xNmZjODgwY2MzMjQ1NDlhNDE1ZmE3YzViN2ViOWRh
ZDkzMDUwOTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZy
YW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcApA
QCAtODYsNyArODYsNyBAQCBib29sIFJlbmRlcklGcmFtZTo6ZmxhdHRlbkZyYW1lKCkgY29uc3QK
IAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkuaGVpZ2h0KCku
aXNGaXhlZCgpKSB7CiAgICAgICAgIC8vIERvIG5vdCBmbGF0dGVuIGlmcmFtZXMgd2l0aCBzY3Jv
bGxpbmc9Im5vIi4KLSAgICAgICAgaWYgKGlmcmFtZUVsZW1lbnQoKS5zY3JvbGxpbmdNb2RlKCkg
PT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQorICAgICAgICBpZiAoaWZyYW1lRWxlbWVudCgpLnNjcm9s
bGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIC8vIERvIG5vdCBmbGF0dGVuIGlmcmFtZXMgdGhhdCBoYXZlIHpl
cm8gc2l6ZSwgYXMgZmxhdHRlbmluZyBtaWdodCBtYWtlIHRoZW0gdmlzaWJsZS4KICAgICAgICAg
aWYgKHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpIDw9IDAgfHwgc3R5bGUoKS5oZWlnaHQoKS52YWx1
ZSgpIDw9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAw
YzI2Njk2Mjk5MTc0YmQ2ZmQ4OWM2MmIxYTAyMjk2ZmE4OWU0YmQ5Li5jMzNiNjQ0MjY2NmI3MmQ1
YzM0NDIwMjgxMmVmNWMyMjRlMjhmNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKQEAgLTIzOTcsNyArMjM5Nyw3IEBAIExheW91dFNpemUgUmVuZGVyTGF5ZXI6
Om9mZnNldEZyb21BbmNlc3Rvcihjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgQ29s
CiBzdGF0aWMgaW5saW5lIGJvb2wgZnJhbWVFbGVtZW50QW5kVmlld1Blcm1pdFNjcm9sbChIVE1M
RnJhbWVFbGVtZW50QmFzZSogZnJhbWVFbGVtZW50QmFzZSwgRnJhbWVWaWV3JiBmcmFtZVZpZXcp
CiB7CiAgICAgLy8gSWYgc2Nyb2xsYmFycyBhcmVuJ3QgZXhwbGljaXRseSBmb3JiaWRkZW4sIHBl
cm1pdCBzY3JvbGxpbmcuCi0gICAgaWYgKGZyYW1lRWxlbWVudEJhc2UgJiYgZnJhbWVFbGVtZW50
QmFzZS0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBpZiAoZnJh
bWVFbGVtZW50QmFzZSAmJiBmcmFtZUVsZW1lbnRCYXNlLT5zY3JvbGxpbmdNb2RlKCkgIT0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIElm
IHNjcm9sbGJhcnMgYXJlIGZvcmJpZGRlbiwgdXNlciBpbml0aWF0ZWQgc2Nyb2xscyBzaG91bGQg
b2J2aW91c2x5IGJlIGlnbm9yZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGJkOWYyMmE1MTQ1Y2U5YTU0YzAyNjZmYjU4M2NhZmEw
NWFlMWUxOTkuLjY2ZTRjMmFjNmY1YjZkNmZhNDNlYjdjMDM0YzdkMzYwM2UwOGJiNTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC00
MDMsMTAgKzQwMywxMCBAQCBzdGF0aWMgVGlsZWRCYWNraW5nOjpUaWxlQ292ZXJhZ2UgY29tcHV0
ZVBhZ2VUaWxlZEJhY2tpbmdDb3ZlcmFnZShjb25zdCBSZW5kZXJMYQogICAgIGJvb2wgdXNlTWlu
aW1hbFRpbGVzRHVyaW5nTGl2ZVJlc2l6ZSA9IGZyYW1lVmlldy5pbkxpdmVSZXNpemUoKTsKICAg
ICBpZiAoZnJhbWVWaWV3LnNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlZCgpICYmICF1c2VNaW5pbWFs
VGlsZXNEdXJpbmdMaXZlUmVzaXplKSB7CiAgICAgICAgIGJvb2wgY2xpcHNUb0V4cG9zZWRSZWN0
ID0gc3RhdGljX2Nhc3Q8Ym9vbD4oZnJhbWVWaWV3LnZpZXdFeHBvc2VkUmVjdCgpKTsKLSAgICAg
ICAgaWYgKGZyYW1lVmlldy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhckFs
d2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCisgICAgICAgIGlmIChmcmFtZVZpZXcuaG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgfHwgY2xp
cHNUb0V4cG9zZWRSZWN0KQogICAgICAgICAgICAgdGlsZUNvdmVyYWdlIHw9IFRpbGVkQmFja2lu
Zzo6Q292ZXJhZ2VGb3JIb3Jpem9udGFsU2Nyb2xsaW5nOwogCi0gICAgICAgIGlmIChmcmFtZVZp
ZXcudmVydGljYWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmIHx8IGNsaXBz
VG9FeHBvc2VkUmVjdCkKKyAgICAgICAgaWYgKGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhck1v
ZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgfHwgY2xpcHNUb0V4cG9zZWRSZWN0KQog
ICAgICAgICAgICAgdGlsZUNvdmVyYWdlIHw9IFRpbGVkQmFja2luZzo6Q292ZXJhZ2VGb3JWZXJ0
aWNhbFNjcm9sbGluZzsKICAgICB9CiAgICAgcmV0dXJuIHRpbGVDb3ZlcmFnZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDc2OWI3ZGY3ZDRkMjI1NGU3MWY3MTI5ZjY3NzVi
Y2JmMWFjYjdmMmQuLjEwN2UzOGE0MDAyMDBhNzBhMDAzNzgyZTUwMWUyYjE4YTk2NTFlMjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTUyOCwxMCArMTUyOCwxMCBAQCB2
b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdl
KCkKICAgICAgICAgJiYgd2ViUGFnZS0+c2hvdWxkVXNlQ3VzdG9tQ29udGVudFByb3ZpZGVyRm9y
UmVzcG9uc2UobV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkt
PnJlc3BvbnNlKCkpOwogICAgIG1fZnJhbWVDYW1lRnJvbUJhY2tGb3J3YXJkQ2FjaGUgPSBmYWxz
ZTsKIAotICAgIFNjcm9sbGJhck1vZGUgZGVmYXVsdFNjcm9sbGJhck1vZGUgPSBzaG91bGRIaWRl
U2Nyb2xsYmFycyA/IFNjcm9sbGJhckFsd2F5c09mZiA6IFNjcm9sbGJhckF1dG87CisgICAgU2Ny
b2xsYmFyTW9kZSBkZWZhdWx0U2Nyb2xsYmFyTW9kZSA9IHNob3VsZEhpZGVTY3JvbGxiYXJzID8g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0bzsKIAotICAgIFNj
cm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgPSB3ZWJQYWdlLT5hbHdheXNTaG93
c0hvcml6b250YWxTY3JvbGxlcigpID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBkZWZhdWx0U2Nyb2xs
YmFyTW9kZTsKLSAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSA9IHdlYlBh
Z2UtPmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigpID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBk
ZWZhdWx0U2Nyb2xsYmFyTW9kZTsKKyAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxTY3JvbGxi
YXJNb2RlID0gd2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKSA/IFNjcm9s
bGJhck1vZGU6OkFsd2F5c09uIDogZGVmYXVsdFNjcm9sbGJhck1vZGU7CisgICAgU2Nyb2xsYmFy
TW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSB3ZWJQYWdlLT5hbHdheXNTaG93c1ZlcnRpY2Fs
U2Nyb2xsZXIoKSA/IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uIDogZGVmYXVsdFNjcm9sbGJhck1v
ZGU7CiAKICAgICBib29sIGhvcml6b250YWxMb2NrID0gc2hvdWxkSGlkZVNjcm9sbGJhcnMgfHwg
d2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKTsKICAgICBib29sIHZlcnRp
Y2FsTG9jayA9IHNob3VsZEhpZGVTY3JvbGxiYXJzIHx8IHdlYlBhZ2UtPmFsd2F5c1Nob3dzVmVy
dGljYWxTY3JvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCAyZjIyNDA2ODdlMjdhYjFiZDFiOWVlZjYwYjk1Zjk2ODc5NTdkMjM2Li4w
YzA2NzkyM2E0YjJjNDI5NTBmNjQ3MzAxMTViMjI1MzJjYTZiZjE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjIwNSw3ICs2MjA1LDcgQEAg
dm9pZCBXZWJQYWdlOjpzZXRBbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcihib29sIGFsd2F5
c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGUKICAgICBhdXRvIHZpZXcgPSBjb3JlUGFnZSgpLT5tYWlu
RnJhbWUoKS52aWV3KCk7CiAgICAgaWYgKCFhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcikK
ICAgICAgICAgdmlldy0+c2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwotICAgIHZp
ZXctPnNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKGFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9s
bGVyID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSA/IFNjcm9s
bGJhckF1dG8gOiBTY3JvbGxiYXJBbHdheXNPZmYsIGFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9s
bGVyIHx8ICFtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSk7CisgICAgdmlldy0+c2V0SG9yaXpvbnRh
bFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgPyBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPbiA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFyTW9kZTo6
QXV0byA6IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiwgYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Ny
b2xsZXIgfHwgIW1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpz
ZXRBbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoYm9vbCBhbHdheXNTaG93c1ZlcnRpY2FsU2Ny
b2xsZXIpCkBAIC02MjE3LDcgKzYyMTcsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldEFsd2F5c1Nob3dz
VmVydGljYWxTY3JvbGxlcihib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcikKICAgICBh
dXRvIHZpZXcgPSBjb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCk7CiAgICAgaWYgKCFhbHdh
eXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIpCiAgICAgICAgIHZpZXctPnNldFZlcnRpY2FsU2Nyb2xs
YmFyTG9jayhmYWxzZSk7Ci0gICAgdmlldy0+c2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKGFsd2F5
c1Nob3dzVmVydGljYWxTY3JvbGxlciA/IFNjcm9sbGJhckFsd2F5c09uIDogbV9tYWluRnJhbWVJ
c1Njcm9sbGFibGUgPyBTY3JvbGxiYXJBdXRvIDogU2Nyb2xsYmFyQWx3YXlzT2ZmLCBhbHdheXNT
aG93c1ZlcnRpY2FsU2Nyb2xsZXIgfHwgIW1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlKTsKKyAgICB2
aWV3LT5zZXRWZXJ0aWNhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVy
ID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gOiBtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSA/IFNj
cm9sbGJhck1vZGU6OkF1dG8gOiBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYsIGFsd2F5c1Nob3dz
VmVydGljYWxTY3JvbGxlciB8fCAhbV9tYWluRnJhbWVJc1Njcm9sbGFibGUpOwogfQogCiB2b2lk
IFdlYlBhZ2U6OnNldE1pbmltdW1TaXplRm9yQXV0b0xheW91dChjb25zdCBJbnRTaXplJiBzaXpl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCAzNTZhMzZhMjc5NWYzODNiYmI0Y2Vm
ZDE4MzE3OGM3YjgxODU4ZGY2Li5iOWE4YzhhYzg0ZWRhY2ZiZDVmNzBiOTBkNDg5NmMzNDJmOGZi
NDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTQ4MSw3ICsxNDgxLDcgQEAg
dm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFn
ZSgpCiAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRUaXRsZSh7IFtkYXRhU291cmNlIHBhZ2VU
aXRsZV0sIFdlYkNvcmU6OlRleHREaXJlY3Rpb246OkxUUiB9KTsKIAogICAgIGlmIChhdXRvKiBv
d25lckVsZW1lbnQgPSBjb3JlRnJhbWUtPm93bmVyRWxlbWVudCgpKQotICAgICAgICBjb3JlRnJh
bWUtPnZpZXcoKS0+c2V0Q2FuSGF2ZVNjcm9sbGJhcnMob3duZXJFbGVtZW50LT5zY3JvbGxpbmdN
b2RlKCkgIT0gV2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgY29yZUZyYW1l
LT52aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93bmVyRWxlbWVudC0+c2Nyb2xsaW5nTW9k
ZSgpICE9IFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09mZik7CiAKICAgICAvLyBJZiB0
aGUgZG9jdW1lbnQgdmlldyBpbXBsaWNpdGx5IGJlY2FtZSBmaXJzdCByZXNwb25kZXIsIG1ha2Ug
c3VyZSB0byBzZXQgdGhlIGZvY3VzZWQgZnJhbWUgcHJvcGVybHkuCiAgICAgaWYgKFtbZG9jdW1l
bnRWaWV3IHdpbmRvd10gZmlyc3RSZXNwb25kZXJdID09IGRvY3VtZW50VmlldykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFy
c1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3Jv
bGxCYXJzVmlldy5tbQppbmRleCA1NmRjY2E4YTcyNGY1MGUyYjBiNGY5NmJjYmZhNThjNjk4MTE0
NDhlLi4wMzhhOWM3NjUxNDcyZjVkN2NmMzA4Yzk1MzdlZTU3NDFmMTQzODAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3Jv
bGxCYXJzVmlldy5tbQpAQCAtMTMzLDEwICsxMzMsMTAgQEAgc3RhdGljIENsYXNzIGN1c3RvbVNj
cm9sbGVyQ2xhc3M7CiB7CiAgICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xsTW9kZUxvY2tlZCkKICAg
ICAgICAgcmV0dXJuOwotICAgIGlmIChmbGFnICYmIF9wcml2YXRlLT5oU2Nyb2xsID09IFNjcm9s
bGJhckFsd2F5c09mZikKLSAgICAgICAgX3ByaXZhdGUtPmhTY3JvbGwgPSBTY3JvbGxiYXJBdXRv
OwotICAgIGVsc2UgaWYgKCFmbGFnICYmIF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhckFs
d2F5c09mZikKLSAgICAgICAgX3ByaXZhdGUtPmhTY3JvbGwgPSBTY3JvbGxiYXJBbHdheXNPZmY7
CisgICAgaWYgKGZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3
YXlzT2ZmKQorICAgICAgICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhck1vZGU6OkF1dG87
CisgICAgZWxzZSBpZiAoIWZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT2ZmKQorICAgICAgICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhck1vZGU6
OkFsd2F5c09mZjsKICAgICBbc2VsZiB1cGRhdGVTY3JvbGxlcnNdOwogfQogCkBAIC0zMDAsMTIg
KzMwMCwxMiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNz
ID0gMjsKICAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxlciA9IE5POwogICAgIH0KIAotICAg
IGlmIChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJBdXRvKQotICAgICAgICBuZXdIYXNI
b3Jpem9udGFsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyQWx3YXlz
T24pOwotICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJBdXRvKQotICAgICAg
ICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gKF9wcml2YXRlLT52U2Nyb2xsID09IFNjcm9sbGJh
ckFsd2F5c09uKTsKKyAgICBpZiAoX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6
QXV0bykKKyAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gKF9wcml2YXRlLT5oU2Ny
b2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKKyAgICBpZiAoX3ByaXZhdGUtPnZTY3Jv
bGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxl
ciA9IChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7CiAKLSAg
ICBpZiAoIWRvY3VtZW50VmlldyB8fCBfcHJpdmF0ZS0+c3VwcHJlc3NMYXlvdXQgfHwgX3ByaXZh
dGUtPnN1cHByZXNzU2Nyb2xsZXJzIHx8IChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJB
dXRvICYmIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pKSB7CisgICAgaWYgKCFk
b2N1bWVudFZpZXcgfHwgX3ByaXZhdGUtPnN1cHByZXNzTGF5b3V0IHx8IF9wcml2YXRlLT5zdXBw
cmVzc1Njcm9sbGVycyB8fCAoX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0
byAmJiBfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKSkgewogICAgICAg
ICBfcHJpdmF0ZS0+aG9yaXpvbnRhbFNjcm9sbGluZ0FsbG93ZWRCdXRTY3JvbGxlckhpZGRlbiA9
IG5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+YWx3YXlzSGlkZUhvcml6b250
YWxTY3JvbGxlcjsKICAgICAgICAgaWYgKF9wcml2YXRlLT5ob3Jpem9udGFsU2Nyb2xsaW5nQWxs
b3dlZEJ1dFNjcm9sbGVySGlkZGVuKQogICAgICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9s
bGVyID0gTk87CkBAIC0zNDIsMTMgKzM0MiwxMyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01h
eFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKICAgICBmcmFtZVNpemUud2lkdGggPSBjZWlsZihm
cmFtZVNpemUud2lkdGgpOwogICAgIGZyYW1lU2l6ZS5oZWlnaHQgPSBjZWlsZihmcmFtZVNpemUu
aGVpZ2h0KTsKIAotICAgIGlmIChfcHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKSB7
CisgICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8pIHsKICAg
ICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gZG9jdW1lbnRTaXplLndpZHRoID4gdmlz
aWJsZVNpemUud2lkdGg7CiAgICAgICAgIGlmIChuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYg
IV9wcml2YXRlLT5pblVwZGF0ZVNjcm9sbGVyc0xheW91dFBhc3MgJiYgZG9jdW1lbnRTaXplLmhl
aWdodCA8PSBmcmFtZVNpemUuaGVpZ2h0ICYmIGRvY3VtZW50U2l6ZS53aWR0aCA8PSBmcmFtZVNp
emUud2lkdGgpCiAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSBOTzsKICAg
ICB9CiAKLSAgICBpZiAoX3ByaXZhdGUtPnZTY3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykgeworICAg
IGlmIChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKSB7CiAgICAgICAg
IG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSBkb2N1bWVudFNpemUuaGVpZ2h0ID4gdmlzaWJsZVNp
emUuaGVpZ2h0OwogICAgICAgICBpZiAobmV3SGFzVmVydGljYWxTY3JvbGxlciAmJiAhX3ByaXZh
dGUtPmluVXBkYXRlU2Nyb2xsZXJzTGF5b3V0UGFzcyAmJiBkb2N1bWVudFNpemUuaGVpZ2h0IDw9
IGZyYW1lU2l6ZS5oZWlnaHQgJiYgZG9jdW1lbnRTaXplLndpZHRoIDw9IGZyYW1lU2l6ZS53aWR0
aCkKICAgICAgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSBOTzsKQEAgLTM1Niw5ICsz
NTYsOSBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0g
MjsKIAogICAgIC8vIFVubGVzcyBpbiBTY3JvbGxiYXJzQWx3YXlzT24gbW9kZSwgaWYgd2UgZXZl
ciB0dXJuIG9uZSBzY3JvbGxiYXIgb2ZmLCBhbHdheXMgdHVybiB0aGUgb3RoZXIgb25lIG9mZiB0
b28uCiAgICAgLy8gTmV2ZXIgZXZlciB0cnkgdG8gYm90aCBnYWluL2xvc2UgYSBzY3JvbGxiYXIg
aW4gdGhlIHNhbWUgcGFzcy4KLSAgICBpZiAoIW5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiBo
YXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3
YXlzT24pCisgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgaGFzSG9yaXpvbnRh
bFNjcm9sbGVyICYmIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09u
KQogICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gTk87Ci0gICAgaWYgKCFuZXdIYXNW
ZXJ0aWNhbFNjcm9sbGVyICYmIGhhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPmhTY3Jv
bGwgIT0gU2Nyb2xsYmFyQWx3YXlzT24pCisgICAgaWYgKCFuZXdIYXNWZXJ0aWNhbFNjcm9sbGVy
ICYmIGhhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT24pCiAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxlciA9IE5POwog
CiAgICAgX3ByaXZhdGUtPmhvcml6b250YWxTY3JvbGxpbmdBbGxvd2VkQnV0U2Nyb2xsZXJIaWRk
ZW4gPSBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPmFsd2F5c0hpZGVIb3Jp
em9udGFsU2Nyb2xsZXI7CkBAIC00MzgsMTIgKzQzOCwxMiBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKIAogLSAoQk9PTClhbGxvd3NIb3Jpem9u
dGFsU2Nyb2xsaW5nCiB7Ci0gICAgcmV0dXJuIF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJh
ckFsd2F5c09mZjsKKyAgICByZXR1cm4gX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT2ZmOwogfQogCiAtIChCT09MKWFsbG93c1ZlcnRpY2FsU2Nyb2xsaW5nCiB7Ci0g
ICAgcmV0dXJuIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICBy
ZXR1cm4gX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogfQog
CiAtICh2b2lkKXNjcm9sbGluZ01vZGVzOihXZWJDb3JlOjpTY3JvbGxiYXJNb2RlKiloTW9kZSB2
ZXJ0aWNhbDooV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSopdk1vZGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAwMDJhMjNjYjZiZDg5MThiZWQ5OGE4NTFj
NDYzNmZmYjIxYzlmZGM4Li5hZGE2ODZjNjg0M2JiMTQ0ODk4ZmNmOTQ4OGYxYzdlNWE3YTNhNzI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0zNjU5
LDI3ICszNjU5LDI3IEBAIElHTk9SRV9XQVJOSU5HU19FTkQKIHsKICAgICBXZWJEeW5hbWljU2Ny
b2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVWaWV3XSBf
c2Nyb2xsVmlld107CiAgICAgaWYgKGZsYWcpIHsKLSAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVy
dGljYWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhckFsd2F5c09uIGFuZExvY2s6WUVT
XTsKKyAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVydGljYWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6
OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uIGFuZExvY2s6WUVTXTsKICAgICB9IGVsc2UgewogICAg
ICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGVMb2NrZWQ6Tk9dOwotICAg
ICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xs
YmFyQXV0byBhbmRMb2NrOk5PXTsKKyAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVydGljYWxTY3Jv
bGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkF1dG8gYW5kTG9jazpOT107CiAgICAg
fQogfQogCiAtIChCT09MKWFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbGVyCiB7CiAgICAgV2ViRHlu
YW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3ID0gW1tbc2VsZiBtYWluRnJhbWVdIGZyYW1l
Vmlld10gX3Njcm9sbFZpZXddOwotICAgIHJldHVybiBbc2Nyb2xsdmlldyB2ZXJ0aWNhbFNjcm9s
bGluZ01vZGVMb2NrZWRdICYmIFtzY3JvbGx2aWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZV0gPT0g
V2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT247CisgICAgcmV0dXJuIFtzY3JvbGx2aWV3IHZlcnRp
Y2FsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZpZXcgdmVydGljYWxTY3JvbGxpbmdN
b2RlXSA9PSBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKIH0KIAogLSAodm9pZClz
ZXRBbHdheXNTaG93SG9yaXpvbnRhbFNjcm9sbGVyOihCT09MKWZsYWcKIHsKICAgICBXZWJEeW5h
bWljU2Nyb2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVW
aWV3XSBfc2Nyb2xsVmlld107CiAgICAgaWYgKGZsYWcpIHsKLSAgICAgICAgW3Njcm9sbHZpZXcg
c2V0SG9yaXpvbnRhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT24gYW5k
TG9jazpZRVNdOworICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9k
ZTpXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbiBhbmRMb2NrOllFU107CiAgICAgfSBl
bHNlIHsKICAgICAgICAgW3Njcm9sbHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01vZGVMb2Nr
ZWQ6Tk9dOwotICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZTpX
ZWJDb3JlOjpTY3JvbGxiYXJBdXRvIGFuZExvY2s6Tk9dOworICAgICAgICBbc2Nyb2xsdmlldyBz
ZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvIGFu
ZExvY2s6Tk9dOwogICAgIH0KIH0KIApAQCAtMzY5Miw3ICszNjkyLDcgQEAgSUdOT1JFX1dBUk5J
TkdTX0VORAogLSAoQk9PTClhbHdheXNTaG93SG9yaXpvbnRhbFNjcm9sbGVyCiB7CiAgICAgV2Vi
RHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3ID0gW1tbc2VsZiBtYWluRnJhbWVdIGZy
YW1lVmlld10gX3Njcm9sbFZpZXddOwotICAgIHJldHVybiBbc2Nyb2xsdmlldyBob3Jpem9udGFs
U2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZpZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01v
ZGVdID09IFdlYkNvcmU6OlNjcm9sbGJhckFsd2F5c09uOworICAgIHJldHVybiBbc2Nyb2xsdmll
dyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZpZXcgaG9yaXpvbnRh
bFNjcm9sbGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogfQog
I2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443425</attachid>
            <date>2021-11-05 12:49:03 -0700</date>
            <delta_ts>2021-11-05 12:49:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232651-20211105124902.patch</filename>
            <type>text/plain</type>
            <size>44370</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ2NDM4MmY1NDAzOTA2
NjEwODk1ZGNkYWMwNTk4NjA0NjAxZTVhNy4uZDNlNGU4M2ExZjZhMDZmNzY4Nzk0NjU0YjM2NmJl
MGIzYWMxOTExZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTExLTA1ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudEJhc2U6OnNjcm9sbGluZ01vZGUgY29uc3Qp
OgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnNjcm9sbGluZ01vZGUgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmNyZWF0ZVZpZXcp
OgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0U2Nyb2xsYmFycyk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp1cGRhdGVDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjphZGp1c3RTY3JvbGxiYXJzRm9yTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6cGVyZm9ybUZpeGVkV2lkdGhBdXRvU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnBlcmZvcm1TaXplVG9Db250ZW50QXV0b1NpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3Ojppc1Njcm9sbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjplbmFibGVBdXRvU2l6ZU1vZGUpOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuU2Nyb2xsSW5EaXJlY3Rpb24pOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbFR5cGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDYW5IYXZlU2Ny
b2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3JtU2Nyb2xsYmFyTW9kZXMg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
Omhvcml6b250YWxTY3JvbGxiYXJNb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYWJsZUFyZWE6OmNhbkhhdmVTY3JvbGxiYXJzIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW06CisgICAgICAgICgtW1dBS1Njcm9sbFZp
ZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKC1bV0FLU2Nyb2xsVmlldyB2
ZXJ0aWNhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJhbWVC
YXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1lQmFzZTo6cGVyZm9ybUxheW91
dFdpdGhGbGF0dGVuaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklGcmFtZTo6ZmxhdHRlbkZyYW1lIGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZnJh
bWVFbGVtZW50QW5kVmlld1Blcm1pdFNjcm9sbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlUGFnZVRpbGVkQmFj
a2luZ0NvdmVyYWdlKToKKwogMjAyMS0xMS0wNCAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3Vj
aHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbGJhciBvcmllbnRhdGlvbiBh
biBlbnVtIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA0MzlhYzQzMzU4ODgwZGYxZGNlZGY1ZWM0MGUwNDg4
NzZjNzVkYzguLjNlYzZiNWEyZGFiMDFiYmE3MGI3ZjM5ZmNkZTRjY2EwYmRmMWZiYTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMDUgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxu
bW91Y2h0YXJpc0BhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzY3JvbGwgYmFyIG1vZGUgYW4g
ZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0
ZWRGb3JOZXdQYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9s
bGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NWZXJ0aWNhbFNj
cm9sbGVyKToKKwogMjAyMS0xMS0wNCAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlz
QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbGJhciBvcmllbnRhdGlvbiBhbiBlbnVt
IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNGY4YzY5MWE4NThkY2NjM2Jh
OGY1OTMyNGExNmU2MjI5MzQ1YjMxOS4uZTY2YzQyMzZmZmNlZjcwOGViZTk1MWFmNjlmNDcyMjkz
ZjQ2YTI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDIxLTExLTA1ICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2Ugc2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5z
aXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAgICAgICAqIFdlYlZpZXcvV2ViRHluYW1p
Y1Njcm9sbEJhcnNWaWV3Lm1tOgorICAgICAgICAoLVtXZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcg
c2V0QWxsb3dzSG9yaXpvbnRhbFNjcm9sbGluZzpdKToKKyAgICAgICAgKC1bV2ViRHluYW1pY1Nj
cm9sbEJhcnNWaWV3IHVwZGF0ZVNjcm9sbGVyc10pOgorICAgICAgICAoLVtXZWJEeW5hbWljU2Ny
b2xsQmFyc1ZpZXcgYWxsb3dzSG9yaXpvbnRhbFNjcm9sbGluZ10pOgorICAgICAgICAoLVtXZWJE
eW5hbWljU2Nyb2xsQmFyc1ZpZXcgYWxsb3dzVmVydGljYWxTY3JvbGxpbmddKToKKyAgICAgICAg
KiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgc2V0QWx3YXlzU2hvd1Zl
cnRpY2FsU2Nyb2xsZXI6XSk6CisgICAgICAgICgtW1dlYlZpZXcgYWx3YXlzU2hvd1ZlcnRpY2Fs
U2Nyb2xsZXJdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRBbHdheXNTaG93SG9yaXpvbnRhbFNj
cm9sbGVyOl0pOgorICAgICAgICAoLVtXZWJWaWV3IGFsd2F5c1Nob3dIb3Jpem9udGFsU2Nyb2xs
ZXJdKToKKwogMjAyMS0xMS0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgaU9TIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKaW5kZXggZjM1ZjNiZjc3NzcyNjVmMDFkMDQ4YTcwMWRk
MmFjNmI0MjRiMDEzMS4uN2M1NzQxNTdhMTg1NWQ5OTU2NjBjYmFhNGI4NmQ1YWNmOGEyM2IwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAKQEAgLTIz
MSw3ICsyMzEsNyBAQCBTY3JvbGxiYXJNb2RlIEhUTUxGcmFtZUVsZW1lbnRCYXNlOjpzY3JvbGxp
bmdNb2RlKCkgY29uc3QKICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
c2Nyb2xsaW5nQXR0cmlidXRlLCAibm8iKQogICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShzY3JvbGxpbmdBdHRyaWJ1dGUsICJub3Njcm9sbCIpCiAgICAgICAgIHx8IGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHNjcm9sbGluZ0F0dHJpYnV0ZSwgIm9mZiIpCi0g
ICAgICAgID8gU2Nyb2xsYmFyQWx3YXlzT2ZmIDogU2Nyb2xsYmFyQXV0bzsKKyAgICAgICAgPyBT
Y3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgOiBTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxG
cmFtZU93bmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVs
ZW1lbnQuaAppbmRleCA5Zjg1M2FhMTNlZjY2YWUzOWUwNDg2MWMzZDE0MzVjOWI1MTZjODg2Li5l
MmFlYjJmZTBiMjE4NDUwMGJkMGQzNzBlNjcxMDU0NTc2OGUyOTFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93bmVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGlj
OgogCiAgICAgRXhjZXB0aW9uT3I8RG9jdW1lbnQmPiBnZXRTVkdEb2N1bWVudCgpIGNvbnN0Owog
Ci0gICAgdmlydHVhbCBTY3JvbGxiYXJNb2RlIHNjcm9sbGluZ01vZGUoKSBjb25zdCB7IHJldHVy
biBTY3JvbGxiYXJBdXRvOyB9CisgICAgdmlydHVhbCBTY3JvbGxiYXJNb2RlIHNjcm9sbGluZ01v
ZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJNb2RlOjpBdXRvOyB9CiAKICAgICBTYW5kYm94
RmxhZ3Mgc2FuZGJveEZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9zYW5kYm94RmxhZ3M7IH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA4MmE3NjNmODI3NjAxODFmNDZiYjhmMzQxZmU3ODE4ZTM2
YzE2NWQ0Li43Nzg4ZWU1NzU1ZmViZjAwM2Y5MjliNmRmNWRlMDk0ZmQ3YTkzMzhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcApAQCAtOTE4LDcgKzkxOCw3IEBAIHZvaWQgRnJhbWU6OmNyZWF0ZVZpZXco
Y29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXplLCBjb25zdCBzdGQ6Om9wdGlvbmFsPENvbG9yPiYK
ICAgICAgICAgb3duZXJSZW5kZXJlcigpLT5zZXRXaWRnZXQoZnJhbWVWaWV3KTsKIAogICAgIGlm
IChIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0gb3duZXJFbGVtZW50KCkpCi0gICAgICAg
IHZpZXcoKS0+c2V0Q2FuSGF2ZVNjcm9sbGJhcnMob3duZXItPnNjcm9sbGluZ01vZGUoKSAhPSBT
Y3JvbGxiYXJBbHdheXNPZmYpOworICAgICAgICB2aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJz
KG93bmVyLT5zY3JvbGxpbmdNb2RlKCkgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKTsKIH0K
IAogRE9NV2luZG93KiBGcmFtZTo6d2luZG93KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAppbmRleCBm
NTQ4YjBmYzViNmE4NzU0YmY3MDkyZWFmY2Q4ZWUyNWY5M2ZjMWIwLi4xMjRkZjE4ODVmNzFkY2Q3
ZDY1ZTAxZDY5ZmQ3OWIxMDRhMDdlNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xMjgsOCArMTI4
LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VmlldyhSZWZQdHI8RnJh
bWVWaWV3PiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNyZWF0ZVZpZXcoY29uc3QgSW50
U2l6ZSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8Q29sb3I+JiBiYWNrZ3JvdW5kQ29sb3IsCiAgICAg
ICAgIGNvbnN0IEludFNpemUmIGZpeGVkTGF5b3V0U2l6ZSwgY29uc3QgSW50UmVjdCYgZml4ZWRW
aXNpYmxlQ29udGVudFJlY3QsCi0gICAgICAgIGJvb2wgdXNlRml4ZWRMYXlvdXQgPSBmYWxzZSwg
U2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckF1dG8sIGJvb2wgaG9yaXpvbnRhbExvY2sgPSBmYWxz
ZSwKLSAgICAgICAgU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckF1dG8sIGJvb2wgdmVydGljYWxM
b2NrID0gZmFsc2UpOworICAgICAgICBib29sIHVzZUZpeGVkTGF5b3V0ID0gZmFsc2UsIFNjcm9s
bGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBdXRvLCBib29sIGhvcml6b250YWxMb2NrID0gZmFs
c2UsCisgICAgICAgIFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBdXRvLCBib29sIHZl
cnRpY2FsTG9jayA9IGZhbHNlKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIH5GcmFtZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMWNhYzFjMzBlYzdhZjQyN2M5ZDEyYmM3MDIz
Yzc0NmRjNDBiZDc4Ni4uOTdiN2VlNDU0MjMxMzdiMDc2ZDc4MDNmMGRjNWVmZmYzOTk0MGFlNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjk3LDkgKzI5Nyw5IEBAIHZvaWQgRnJh
bWVWaWV3OjpyZXNldFNjcm9sbGJhcnMoKQogICAgIC8vIFJlc2V0IHRoZSBkb2N1bWVudCdzIHNj
cm9sbGJhcnMgYmFjayB0byBvdXIgZGVmYXVsdHMgYmVmb3JlIHdlIHlpZWxkIHRoZSBmbG9vci4K
ICAgICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVlKTsKICAgICBpZiAobV9jYW5IYXZlU2Ny
b2xsYmFycykKLSAgICAgICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyQXV0bywgU2Nyb2xs
YmFyQXV0byk7CisgICAgICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhck1vZGU6OkF1dG8s
IFNjcm9sbGJhck1vZGU6OkF1dG8pOwogICAgIGVsc2UKLSAgICAgICAgc2V0U2Nyb2xsYmFyTW9k
ZXMoU2Nyb2xsYmFyQWx3YXlzT2ZmLCBTY3JvbGxiYXJBbHdheXNPZmYpOworICAgICAgICBzZXRT
Y3JvbGxiYXJNb2RlcyhTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYsIFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZik7CiAgICAgc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQoZmFsc2UpOwogfQogCkBAIC0z
MjIsNyArMzIyLDcgQEAgdm9pZCBGcmFtZVZpZXc6OmluaXQoKQogCiAgICAgLy8gUHJvcGFnYXRl
IHRoZSBzY3JvbGxpbmcgbW9kZSB0byB0aGUgdmlldy4KICAgICBhdXRvKiBvd25lckVsZW1lbnQg
PSBmcmFtZSgpLm93bmVyRWxlbWVudCgpOwotICAgIGlmIChpczxIVE1MRnJhbWVFbGVtZW50QmFz
ZT4ob3duZXJFbGVtZW50KSAmJiBkb3duY2FzdDxIVE1MRnJhbWVFbGVtZW50QmFzZT4oKm93bmVy
RWxlbWVudCkuc2Nyb2xsaW5nTW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBpZiAo
aXM8SFRNTEZyYW1lRWxlbWVudEJhc2U+KG93bmVyRWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTEZy
YW1lRWxlbWVudEJhc2U+KCpvd25lckVsZW1lbnQpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPZmYpCiAgICAgICAgIHNldENhbkhhdmVTY3JvbGxiYXJzKGZhbHNlKTsK
IAogICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKTsKQEAgLTUyMSw3ICs1MjEsNyBAQCB2
b2lkIEZyYW1lVmlldzo6dXBkYXRlQ2FuSGF2ZVNjcm9sbGJhcnMoKQogICAgIFNjcm9sbGJhck1v
ZGUgaE1vZGU7CiAgICAgU2Nyb2xsYmFyTW9kZSB2TW9kZTsKICAgICBzY3JvbGxiYXJNb2Rlcyho
TW9kZSwgdk1vZGUpOwotICAgIGlmIChoTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYgJiYgdk1v
ZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQorICAgIGlmIChoTW9kZSA9PSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmYgJiYgdk1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAg
ICBzZXRDYW5IYXZlU2Nyb2xsYmFycyhmYWxzZSk7CiAgICAgZWxzZQogICAgICAgICBzZXRDYW5I
YXZlU2Nyb2xsYmFycyh0cnVlKTsKQEAgLTY1OSwxNSArNjU5LDE1IEBAIHZvaWQgRnJhbWVWaWV3
OjphcHBseU92ZXJmbG93VG9WaWV3cG9ydChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwg
U2Nyb2xsYmFyCiAgICAgY2FzZSBPdmVyZmxvdzo6SGlkZGVuOgogICAgIGNhc2UgT3ZlcmZsb3c6
OkNsaXA6CiAgICAgICAgIGlmIChvdmVycmlkZUhpZGRlbikKLSAgICAgICAgICAgIGhNb2RlID0g
U2Nyb2xsYmFyQXV0bzsKKyAgICAgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsK
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7Cisg
ICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6U2Nyb2xsOgotICAgICAgICBoTW9kZSA9IFNjcm9sbGJh
ckFsd2F5c09uOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIE92ZXJmbG93OjpBdXRvOgotICAgICAgICBoTW9kZSA9IFNj
cm9sbGJhckF1dG87CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICAg
ICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgLy8gRG9uJ3Qgc2V0IGl0IGF0IGFsbC4K
QEAgLTY3OCwxNSArNjc4LDE1IEBAIHZvaWQgRnJhbWVWaWV3OjphcHBseU92ZXJmbG93VG9WaWV3
cG9ydChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgU2Nyb2xsYmFyCiAgICAgY2FzZSBP
dmVyZmxvdzo6SGlkZGVuOgogICAgIGNhc2UgT3ZlcmZsb3c6OkNsaXA6CiAgICAgICAgIGlmIChv
dmVycmlkZUhpZGRlbikKLSAgICAgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyQXV0bzsKKyAgICAg
ICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgICAgICB2TW9kZSA9IFNj
cm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxv
dzo6U2Nyb2xsOgotICAgICAgICB2TW9kZSA9IFNjcm9sbGJhckFsd2F5c09uOworICAgICAgICB2
TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IE92ZXJmbG93OjpBdXRvOgotICAgICAgICB2TW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAg
IHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs
dDoKICAgICAgICAgLy8gRG9uJ3Qgc2V0IGl0IGF0IGFsbC4gVmFsdWVzIG9mIE92ZXJmbG93OjpQ
YWdlZFggYW5kIE92ZXJmbG93OjpQYWdlZFkgYXJlIGhhbmRsZWQgYnkgYXBwbHlQYWdpbmF0aW9u
VG9WaWV3UG9ydCgpLgpAQCAtNzMxLDE4ICs3MzEsMTggQEAgdm9pZCBGcmFtZVZpZXc6OmNhbGN1
bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTY3JvbGxi
YXIKICAgICBtX3ZpZXdwb3J0UmVuZGVyZXJUeXBlID0gVmlld3BvcnRSZW5kZXJlclR5cGU6Ok5v
bmU7CiAKICAgICBjb25zdCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0gZnJhbWUoKS5v
d25lckVsZW1lbnQoKTsKLSAgICBpZiAob3duZXIgJiYgKG93bmVyLT5zY3JvbGxpbmdNb2RlKCkg
PT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKSkgewotICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckFsd2F5
c09mZjsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgaWYgKG93bmVy
ICYmIChvd25lci0+c2Nyb2xsaW5nTW9kZSgpID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikp
IHsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CisgICAgICAgIHZN
b2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgICAgICByZXR1cm47CiAgICAgfSAg
CiAgICAgCiAgICAgaWYgKG1fY2FuSGF2ZVNjcm9sbGJhcnMgfHwgc3RyYXRlZ3kgPT0gUnVsZXNG
cm9tV2ViQ29udGVudE9ubHkpIHsKLSAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBdXRvOwotICAg
ICAgICB2TW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9k
ZTo6QXV0bzsKKyAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOwogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOwotICAgICAgICB2TW9kZSA9
IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmY7CisgICAgICAgIHZNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIH0K
ICAgICAKICAgICBpZiAobGF5b3V0Q29udGV4dCgpLnN1YnRyZWVMYXlvdXRSb290KCkpCkBAIC03
NjcsOCArNzY3LDggQEAgdm9pZCBGcmFtZVZpZXc6OmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9y
TGF5b3V0KFNjcm9sbGJhck1vZGUmIGhNb2RlLCBTY3JvbGxiYXIKICAgICB9CiAgICAgCiAgICAg
aWYgKGlzPEhUTUxGcmFtZVNldEVsZW1lbnQ+KCpib2R5T3JGcmFtZXNldCkgJiYgIWZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoKSkgewotICAgICAgICB2TW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsK
LSAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgICAgIHZNb2RlID0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTI1NCwxMSArMTI1NCwxMSBA
QCB2b2lkIEZyYW1lVmlldzo6YWRqdXN0U2Nyb2xsYmFyc0ZvckxheW91dChib29sIGlzRmlyc3RM
YXlvdXQpCiAgICAgaWYgKGlzRmlyc3RMYXlvdXQgJiYgIWxheW91dENvbnRleHQoKS5pc0xheW91
dE5lc3RlZCgpKSB7CiAgICAgICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKHRydWUpOwogICAg
ICAgICAvLyBTZXQgdGhlIGluaXRpYWwgdk1vZGUgdG8gQWx3YXlzT24gaWYgd2UncmUgYXV0by4K
LSAgICAgICAgaWYgKHZNb2RlID09IFNjcm9sbGJhckF1dG8pCi0gICAgICAgICAgICBzZXRWZXJ0
aWNhbFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQWx3YXlzT24pOyAvLyBUaGlzIGNhdXNlcyBhIHZl
cnRpY2FsIHNjcm9sbGJhciB0byBhcHBlYXIuCisgICAgICAgIGlmICh2TW9kZSA9PSBTY3JvbGxi
YXJNb2RlOjpBdXRvKQorICAgICAgICAgICAgc2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNjcm9s
bGJhck1vZGU6OkFsd2F5c09uKTsgLy8gVGhpcyBjYXVzZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIg
dG8gYXBwZWFyLgogICAgICAgICAvLyBTZXQgdGhlIGluaXRpYWwgaE1vZGUgdG8gQWx3YXlzT2Zm
IGlmIHdlJ3JlIGF1dG8uCi0gICAgICAgIGlmIChoTW9kZSA9PSBTY3JvbGxiYXJBdXRvKQotICAg
ICAgICAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyQWx3YXlzT2ZmKTsg
Ly8gVGhpcyBjYXVzZXMgYSBob3Jpem9udGFsIHNjcm9sbGJhciB0byBkaXNhcHBlYXIuCisgICAg
ICAgIGlmIChoTW9kZSA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQorICAgICAgICAgICAgc2V0SG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUoU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKTsgLy8gVGhpcyBj
YXVzZXMgYSBob3Jpem9udGFsIHNjcm9sbGJhciB0byBkaXNhcHBlYXIuCiAgICAgICAgIEFTU0VS
VChmcmFtZSgpLnBhZ2UoKSk7CiAgICAgICAgIGlmIChmcmFtZSgpLnBhZ2UoKS0+aXNNb25pdG9y
aW5nV2hlZWxFdmVudHMoKSkKICAgICAgICAgICAgIHNjcm9sbEFuaW1hdG9yKCkuc2V0V2hlZWxF
dmVudFRlc3RNb25pdG9yKGZyYW1lKCkucGFnZSgpLT53aGVlbEV2ZW50VGVzdE1vbml0b3IoKSk7
CkBAIC0zNTIxLDggKzM1MjEsOCBAQCB2b2lkIEZyYW1lVmlldzo6cGVyZm9ybUZpeGVkV2lkdGhB
dXRvU2l6ZSgpCiAgICAgYXV0byogcmVuZGVyVmlldyA9IGRvY3VtZW50LT5yZW5kZXJWaWV3KCk7
CiAgICAgYXV0byogZmlyc3RDaGlsZCA9IHJlbmRlclZpZXctPmZpcnN0Q2hpbGQoKTsKIAotICAg
IFNjcm9sbGJhck1vZGUgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckFsd2F5c09m
ZjsKLSAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhckFs
d2F5c09mZjsKKyAgICBhdXRvIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmY7CisgICAgYXV0byB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPZmY7CiAgICAgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKICAg
ICBzZXRIb3Jpem9udGFsU2Nyb2xsYmFyTG9jayhmYWxzZSk7CiAgICAgc2V0U2Nyb2xsYmFyTW9k
ZXMoaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSwgdmVydGljYWxTY3JvbGxiYXJNb2RlLCB0cnVlLCB0
cnVlKTsKQEAgLTM2MDUsMTUgKzM2MDUsMTUgQEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1TaXpl
VG9Db250ZW50QXV0b1NpemUoKQogICAgICAgICBuZXdTaXplID0gbmV3U2l6ZS5leHBhbmRlZFRv
KG1pbkF1dG9TaXplKTsKIAogICAgICAgICAvLyBCb3VuZCB0aGUgZGltZW5zaW9ucyBieSB0aGUg
bWF4IGJvdW5kcyBhbmQgZGV0ZXJtaW5lIHdoYXQgc2Nyb2xsYmFycyB0byBzaG93LgotICAgICAg
ICBTY3JvbGxiYXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBbHdheXNP
ZmY7CisgICAgICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9s
bGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAgICAgaWYgKG5ld1NpemUud2lkdGgoKSA+IG1fYXV0
b1NpemVDb25zdHJhaW50LndpZHRoKCkpIHsKICAgICAgICAgICAgIG5ld1NpemUuc2V0V2lkdGgo
bV9hdXRvU2l6ZUNvbnN0cmFpbnQud2lkdGgoKSk7Ci0gICAgICAgICAgICBob3Jpem9uYWxTY3Jv
bGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT247CisgICAgICAgICAgICBob3Jpem9uYWxTY3Jv
bGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT247CiAgICAgICAgIH0KLSAgICAgICAg
U2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7
CisgICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT2ZmOwogICAgICAgICBpZiAobmV3U2l6ZS5oZWlnaHQoKSA+IG1fYXV0b1Np
emVDb25zdHJhaW50LmhlaWdodCgpKSB7CiAgICAgICAgICAgICBuZXdTaXplLnNldEhlaWdodCht
X2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQoKSk7Ci0gICAgICAgICAgICB2ZXJ0aWNhbFNjcm9s
bGJhck1vZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xs
YmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogICAgICAgICB9CiAKICAgICAgICAg
aWYgKG5ld1NpemUgPT0gc2l6ZSkKQEAgLTM5NTAsNyArMzk1MCw3IEBAIGJvb2wgRnJhbWVWaWV3
Ojppc1Njcm9sbGFibGUoU2Nyb2xsYWJpbGl0eSBkZWZpbml0aW9uT2ZTY3JvbGxhYmxlKQogICAg
IFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbE1vZGU7CiAgICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNh
bE1vZGU7CiAgICAgY2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoaG9yaXpvbnRhbE1v
ZGUsIHZlcnRpY2FsTW9kZSwgUnVsZXNGcm9tV2ViQ29udGVudE9ubHkpOwotICAgIGlmIChob3Jp
em9udGFsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYgJiYgdmVydGljYWxNb2RlID09IFNjcm9s
bGJhckFsd2F5c09mZikKKyAgICBpZiAoaG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6
QWx3YXlzT2ZmICYmIHZlcnRpY2FsTW9kZSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwpAQCAtNDcyMiw3ICs0NzIy
LDcgQEAgdm9pZCBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplTW9kZShib29sIGVuYWJsZSwgY29u
c3QgSW50U2l6ZSYgdmlld1NpemUsIEF1dG9TaXoKICAgICAvLyBTaW5jZSBhdXRvc2l6ZSBtb2Rl
IGZvcmNlcyB0aGUgc2Nyb2xsYmFyIG1vZGUsIGNoYW5nZSB0aGVtIHRvIGJlaW5nIGF1dG8uCiAg
ICAgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZhbHNlKTsKICAgICBzZXRIb3Jpem9udGFsU2Ny
b2xsYmFyTG9jayhmYWxzZSk7Ci0gICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyQXV0bywg
U2Nyb2xsYmFyQXV0byk7CisgICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xsYmFyTW9kZTo6QXV0
bywgU2Nyb2xsYmFyTW9kZTo6QXV0byk7CiB9CiAKIHZvaWQgRnJhbWVWaWV3Ojpmb3JjZUxheW91
dChib29sIGFsbG93U3VidHJlZUxheW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2
aWdhdGlvbi5jcHAKaW5kZXggOTgyNzVjNTZlYTIyNjhmMjNjOWY1OTFkNGQ4NzY2YjNkODliMDg1
Ni4uM2U1OWVkMjY3MWZjYzVjMGE3OGVlODhmODAyMjRiNDI3MzAyMjI2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TcGF0aWFsTmF2aWdhdGlvbi5jcHAKQEAgLTQ3Niw5ICs0NzYsOSBAQCBib29s
IGNhblNjcm9sbEluRGlyZWN0aW9uKGNvbnN0IEZyYW1lKiBmcmFtZSwgRm9jdXNEaXJlY3Rpb24g
ZGlyZWN0aW9uKQogICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxNb2RlOwogICAgIFNjcm9sbGJh
ck1vZGUgaG9yaXpvbnRhbE1vZGU7CiAgICAgZnJhbWUtPnZpZXcoKS0+Y2FsY3VsYXRlU2Nyb2xs
YmFyTW9kZXNGb3JMYXlvdXQoaG9yaXpvbnRhbE1vZGUsIHZlcnRpY2FsTW9kZSk7Ci0gICAgaWYg
KChkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246OkxlZnQgfHwgZGlyZWN0aW9uID09IEZvY3Vz
RGlyZWN0aW9uOjpSaWdodCkgJiYgU2Nyb2xsYmFyQWx3YXlzT2ZmID09IGhvcml6b250YWxNb2Rl
KQorICAgIGlmICgoZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpMZWZ0IHx8IGRpcmVjdGlv
biA9PSBGb2N1c0RpcmVjdGlvbjo6UmlnaHQpICYmIFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiA9
PSBob3Jpem9udGFsTW9kZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICgoZGlyZWN0
aW9uID09IEZvY3VzRGlyZWN0aW9uOjpVcCB8fCBkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246
OkRvd24pICYmICBTY3JvbGxiYXJBbHdheXNPZmYgPT0gdmVydGljYWxNb2RlKQorICAgIGlmICgo
ZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpVcCB8fCBkaXJlY3Rpb24gPT0gRm9jdXNEaXJl
Y3Rpb246OkRvd24pICYmICBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgPT0gdmVydGljYWxNb2Rl
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgTGF5b3V0U2l6ZSBzaXplID0gZnJhbWUtPnZp
ZXcoKS0+dG90YWxDb250ZW50c1NpemUoKTsKICAgICBMYXlvdXRQb2ludCBzY3JvbGxQb3NpdGlv
biA9IGZyYW1lLT52aWV3KCktPnNjcm9sbFBvc2l0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmgKaW5k
ZXggMTFmNjE4MTU0Y2VkNGExMjkzOTA5YmZmMDRhMmMzYzg1MWI3ODRhMS4uMzY4M2UzMDBhMzQ0
YzUwNDkzYjNiZDM2OWRhOTMwODZlN2Q4MjRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaApAQCAtNzQs
OCArNzQsOCBAQCBzdHJ1Y3QgU2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzIHsKICAgICBTY3JvbGxF
bGFzdGljaXR5IGhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5IHsgU2Nyb2xsRWxhc3RpY2l0eU5v
bmUgfTsKICAgICBTY3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSB7IFNj
cm9sbEVsYXN0aWNpdHlOb25lIH07CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxTY3Jv
bGxiYXJNb2RlIHsgU2Nyb2xsYmFyQXV0byB9OwotICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxT
Y3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyQXV0byB9OworICAgIFNjcm9sbGJhck1vZGUgaG9yaXpv
bnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJNb2RlOjpBdXRvIH07CisgICAgU2Nyb2xsYmFy
TW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJNb2RlOjpBdXRvIH07CiAKICAg
ICBib29sIGFsbG93c0hvcml6b250YWxTY3JvbGxpbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgYWxs
b3dzVmVydGljYWxTY3JvbGxpbmcgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKaW5kZXgg
MWI0YjZjYTgyMTBhZDNkNGM1MmZiNjI4ZTA3MzlmNGQ5Yzc0MzkxMS4uYzE2NjVkMzRhMmFjOWNl
NDZmNjNlYTI3M2FhOTA1Y2Q2ZGNiYjQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCkBAIC05Niw5
ICs5Niw5IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaG9yaXpvbnRhbFNjcm9sbGJhckhpZGRlbkJ5
U3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy5ob3Jpem9u
dGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZTsgfQogICAgIGJvb2wgdmVydGljYWxTY3JvbGxiYXJI
aWRkZW5CeVN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMu
dmVydGljYWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlOyB9Ci0gICAgYm9vbCBjYW5IYXZlSG9yaXpv
bnRhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJz
Lmhvcml6b250YWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09mZjsgfQotICAgIGJv
b2wgY2FuSGF2ZVZlcnRpY2FsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxl
QXJlYVBhcmFtZXRlcnMudmVydGljYWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09m
ZjsgfQotICAgIGJvb2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX3Njcm9s
bGFibGVBcmVhUGFyYW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJB
bHdheXNPZmYgfHwgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVydGljYWxTY3JvbGxiYXJN
b2RlICE9IFNjcm9sbGJhckFsd2F5c09mZjsgfQorICAgIGJvb2wgY2FuSGF2ZUhvcml6b250YWxT
Y3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy5ob3Jp
em9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7IH0KKyAgICBi
b29sIGNhbkhhdmVWZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJs
ZUFyZWFQYXJhbWV0ZXJzLnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPZmY7IH0KKyAgICBib29sIGNhbkhhdmVTY3JvbGxiYXJzKCkgY29uc3QgeyByZXR1cm4g
bV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgIT0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmIHx8IG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLnZlcnRp
Y2FsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7IH0KIAogICAgIGNv
bnN0IEZsb2F0U2Nyb2xsU25hcE9mZnNldHNJbmZvJiBzbmFwT2Zmc2V0c0luZm8oKSBjb25zdDsK
ICAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBjdXJyZW50SG9yaXpvbnRhbFNuYXBQb2ludElu
ZGV4KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxU
eXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5jcHAKaW5kZXgg
NWQyNmE5NTI3YjNmY2Q2NTc5MzIzNGZhNjAwZWRhNDQ2OTkxNmM5MS4uMDcwOTExNWYzYjkyMTZk
OTdlMGYwOTY5MGNiMjNlYzY2Zjk2ZTUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVHlwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFR5cGVzLmNwcApAQCAtNjIsNCArNjIsMjAgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0
U3RyZWFtJiB0cywgU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzIGJlaGF2aW9yKQogICAg
IHJldHVybiB0czsKIH0KIAorVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywg
U2Nyb2xsYmFyTW9kZSBiZWhhdmlvcikKK3sKKyAgICBzd2l0Y2ggKGJlaGF2aW9yKSB7CisgICAg
Y2FzZSBTY3JvbGxiYXJNb2RlOjpBdXRvOgorICAgICAgICB0cyA8PCAwOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjoKKyAgICAgICAgdHMgPDwgMTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjoKKyAgICAg
ICAgdHMgPDwgMjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJldHVybiB0czsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgK
aW5kZXggZGM4ODhjMDhjZDcxYjFhZjYzZDljMzQxOTdlYjI4ZDA1ZTc2Nzg0OC4uNDRkODQ4YTI2
MTRkNWYwOTc5OTY0YWZmNjFkNWNkZDE1OWRkYzZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxUeXBlcy5oCkBAIC0xNDgsMTAgKzE0OCwxMCBAQCBlbnVtIGNsYXNzIFNjcm9sbGJhck9y
aWVudGF0aW9uIDogdWludDhfdCB7CiAgICAgVmVydGljYWwKIH07CiAKLWVudW0gU2Nyb2xsYmFy
TW9kZSA6IHVpbnQ4X3QgewotICAgIFNjcm9sbGJhckF1dG8sCi0gICAgU2Nyb2xsYmFyQWx3YXlz
T2ZmLAotICAgIFNjcm9sbGJhckFsd2F5c09uCitlbnVtIGNsYXNzIFNjcm9sbGJhck1vZGUgOiB1
aW50OF90IHsKKyAgICBBdXRvLAorICAgIEFsd2F5c09mZiwKKyAgICBBbHdheXNPbgogfTsKIAog
ZW51bSBjbGFzcyBTY3JvbGxiYXJDb250cm9sU2l6ZSA6IHVpbnQ4X3QgewpAQCAtMjYwLDYgKzI2
MCw3IEBAIHVzaW5nIFNjcm9sbGluZ05vZGVJRCA9IHVpbnQ2NF90OwogV0VCQ09SRV9FWFBPUlQg
V1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbFR5cGUp
OwogV0VCQ09SRV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0
cmVhbSYsIFNjcm9sbENsYW1waW5nKTsKIFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVu
dHMpOworV0VCQ09SRV9FWFBPUlQgV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4
dFN0cmVhbSYsIFNjcm9sbGJhck1vZGUpOwogCiBzdHJ1Y3QgU2Nyb2xsUG9zaXRpb25DaGFuZ2VP
cHRpb25zIHsKICAgICBTY3JvbGxUeXBlIHR5cGU7CkBAIC0zMDMsOSArMzA0LDkgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTY3JvbGxJc0FuaW1hdGVkPiB7CiB0ZW1w
bGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OlNjcm9sbGJhck1vZGU+IHsKICAgICB1
c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAogICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2Rl
LAotICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpTY3JvbGxiYXJBdXRvLAotICAgICAg
ICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpTY3JvbGxiYXJBbHdheXNPZmYsCi0gICAgICAgIFdl
YkNvcmU6OlNjcm9sbGJhck1vZGU6OlNjcm9sbGJhckFsd2F5c09uCisgICAgICAgIFdlYkNvcmU6
OlNjcm9sbGJhck1vZGU6OkF1dG8sCisgICAgICAgIFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZiwKKyAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24KICAgICA+
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCBhMjBjYWEw
MjQwMzI4NjZhNWE0ZmY1MWEzMWI2ODliNjE2YjkzMTdmLi5mNzI0MjQ2NWY3YzcxNzc5MWYzNTVi
Nzk3ZGE2OWZhYzQyNGVmYTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNw
cApAQCAtMTU0LDE1ICsxNTQsMTUgQEAgdm9pZCBTY3JvbGxWaWV3OjpzZXRDYW5IYXZlU2Nyb2xs
YmFycyhib29sIGNhblNjcm9sbCkKICAgICAKICAgICBzY3JvbGxiYXJNb2RlcyhuZXdIb3Jpem9u
dGFsTW9kZSwgbmV3VmVydGljYWxNb2RlKTsKICAgICAKLSAgICBpZiAoY2FuU2Nyb2xsICYmIG5l
d1ZlcnRpY2FsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCi0gICAgICAgIG5ld1ZlcnRpY2Fs
TW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgaWYgKGNhblNjcm9sbCAmJiBuZXdWZXJ0aWNhbE1v
ZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQorICAgICAgICBuZXdWZXJ0aWNhbE1vZGUg
PSBTY3JvbGxiYXJNb2RlOjpBdXRvOwogICAgIGVsc2UgaWYgKCFjYW5TY3JvbGwpCi0gICAgICAg
IG5ld1ZlcnRpY2FsTW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICAgICAgbmV3VmVydGlj
YWxNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAgIAotICAgIGlmIChjYW5TY3Jv
bGwgJiYgbmV3SG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQotICAgICAgICBu
ZXdIb3Jpem9udGFsTW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgaWYgKGNhblNjcm9sbCAmJiBu
ZXdIb3Jpem9udGFsTW9kZSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCisgICAgICAgIG5l
d0hvcml6b250YWxNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICBlbHNlIGlmICghY2Fu
U2Nyb2xsKQotICAgICAgICBuZXdIb3Jpem9udGFsTW9kZSA9IFNjcm9sbGJhckFsd2F5c09mZjsK
KyAgICAgICAgbmV3SG9yaXpvbnRhbE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAg
ICAgCiAgICAgc2V0U2Nyb2xsYmFyTW9kZXMobmV3SG9yaXpvbnRhbE1vZGUsIG5ld1ZlcnRpY2Fs
TW9kZSk7CiB9CkBAIC02MzQsMTQgKzYzNCwxNCBAQCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNj
cm9sbGJhcnMoY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc2lyZWRQb3NpdGlvbikKICAgICBTY3Jv
bGxiYXJNb2RlIGhTY3JvbGwgPSBtX2hvcml6b250YWxTY3JvbGxiYXJNb2RlOwogICAgIFNjcm9s
bGJhck1vZGUgdlNjcm9sbCA9IG1fdmVydGljYWxTY3JvbGxiYXJNb2RlOwogCi0gICAgaWYgKGhT
Y3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJh
ciA9IChoU2Nyb2xsID09IFNjcm9sbGJhckFsd2F5c09uKTsKLSAgICBpZiAodlNjcm9sbCAhPSBT
Y3JvbGxiYXJBdXRvKQotICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciA9ICh2U2Nyb2xs
ID09IFNjcm9sbGJhckFsd2F5c09uKTsKKyAgICBpZiAoaFNjcm9sbCAhPSBTY3JvbGxiYXJNb2Rl
OjpBdXRvKQorICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyID0gKGhTY3JvbGwgPT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24pOworICAgIGlmICh2U2Nyb2xsICE9IFNjcm9sbGJhck1v
ZGU6OkF1dG8pCisgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyID0gKHZTY3JvbGwgPT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24pOwogCiAgICAgYm9vbCBzY3JvbGxiYXJBZGRlZE9yUmVt
b3ZlZCA9IGZhbHNlOwogCi0gICAgaWYgKG1fc2Nyb2xsYmFyc1N1cHByZXNzZWQgfHwgKGhTY3Jv
bGwgIT0gU2Nyb2xsYmFyQXV0byAmJiB2U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pKSB7CisgICAg
aWYgKG1fc2Nyb2xsYmFyc1N1cHByZXNzZWQgfHwgKGhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6
QXV0byAmJiB2U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pKSB7CiAgICAgICAgIGlmICho
YXNIb3Jpem9udGFsU2Nyb2xsYmFyICE9IG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgKGhh
c0hvcml6b250YWxTY3JvbGxiYXIgfHwgIWF2b2lkU2Nyb2xsYmFyQ3JlYXRpb24oKSkpIHsKICAg
ICAgICAgICAgIGlmIChzZXRIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKG5ld0hhc0hvcml6b250YWxT
Y3JvbGxiYXIpKQogICAgICAgICAgICAgICAgIHNjcm9sbGJhckFkZGVkT3JSZW1vdmVkID0gdHJ1
ZTsKQEAgLTY1Nyw5ICs2NTcsOSBAQCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMo
Y29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc2lyZWRQb3NpdGlvbikKICAgICAgICAgSW50U2l6ZSBk
b2NTaXplID0gdG90YWxDb250ZW50c1NpemUoKTsKICAgICAgICAgSW50U2l6ZSBmdWxsVmlzaWJs
ZVNpemUgPSB1bm9ic2N1cmVkQ29udGVudFJlY3RJbmNsdWRpbmdTY3JvbGxiYXJzKCkuc2l6ZSgp
OwogCi0gICAgICAgIGlmIChoU2Nyb2xsID09IFNjcm9sbGJhckF1dG8pCisgICAgICAgIGlmICho
U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8pCiAgICAgICAgICAgICBuZXdIYXNIb3Jpem9u
dGFsU2Nyb2xsYmFyID0gZG9jU2l6ZS53aWR0aCgpID4gdmlzaWJsZVdpZHRoKCk7Ci0gICAgICAg
IGlmICh2U2Nyb2xsID09IFNjcm9sbGJhckF1dG8pCisgICAgICAgIGlmICh2U2Nyb2xsID09IFNj
cm9sbGJhck1vZGU6OkF1dG8pCiAgICAgICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciA9
IGRvY1NpemUuaGVpZ2h0KCkgPiB2aXNpYmxlSGVpZ2h0KCk7CiAKICAgICAgICAgYm9vbCBuZWVk
QW5vdGhlclBhc3MgPSBmYWxzZTsKQEAgLTY2NywxNiArNjY3LDE2IEBAIHZvaWQgU2Nyb2xsVmll
dzo6dXBkYXRlU2Nyb2xsYmFycyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9u
KQogICAgICAgICAgICAgLy8gSWYgd2UgZXZlciB0dXJuIG9uZSBzY3JvbGxiYXIgb2ZmLCBkbyBu
b3QgdHVybiB0aGUgb3RoZXIgb25lIG9uLiBOZXZlciBldmVyCiAgICAgICAgICAgICAvLyB0cnkg
dG8gYm90aCBnYWluL2xvc2UgYSBzY3JvbGxiYXIgaW4gdGhlIHNhbWUgcGFzcy4KICAgICAgICAg
ICAgIGlmICghbV91cGRhdGVTY3JvbGxiYXJzUGFzcyAmJiBkb2NTaXplLndpZHRoKCkgPD0gZnVs
bFZpc2libGVTaXplLndpZHRoKCkgJiYgZG9jU2l6ZS5oZWlnaHQoKSA8PSBmdWxsVmlzaWJsZVNp
emUuaGVpZ2h0KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJB
dXRvKQorICAgICAgICAgICAgICAgIGlmIChoU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8p
CiAgICAgICAgICAgICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmYWxzZTsK
LSAgICAgICAgICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICAg
ICAgICAgIGlmICh2U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8pCiAgICAgICAgICAgICAg
ICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyID0gZmFsc2U7CiAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBpZiAoIW5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgaGFzSG9yaXpvbnRh
bFNjcm9sbGJhciAmJiB2U2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09uICYmICFoYXNWZXJ0aWNh
bFNjcm9sbGJhcikgeworICAgICAgICAgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFy
ICYmIGhhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpB
bHdheXNPbiAmJiAhaGFzVmVydGljYWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgICAgICBuZXdI
YXNWZXJ0aWNhbFNjcm9sbGJhciA9IGZhbHNlOwogICAgICAgICAgICAgICAgIG5lZWRBbm90aGVy
UGFzcyA9IHRydWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIW5ld0hhc1ZlcnRp
Y2FsU2Nyb2xsYmFyICYmIGhhc1ZlcnRpY2FsU2Nyb2xsYmFyICYmIGhTY3JvbGwgIT0gU2Nyb2xs
YmFyQWx3YXlzT24gJiYgIWhhc0hvcml6b250YWxTY3JvbGxiYXIpIHsKKyAgICAgICAgICAgIGlm
ICghbmV3SGFzVmVydGljYWxTY3JvbGxiYXIgJiYgaGFzVmVydGljYWxTY3JvbGxiYXIgJiYgaFNj
cm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbiAmJiAhaGFzSG9yaXpvbnRhbFNjcm9sbGJh
cikgewogICAgICAgICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxiYXIgPSBmYWxzZTsK
ICAgICAgICAgICAgICAgICBuZWVkQW5vdGhlclBhc3MgPSB0cnVlOwogICAgICAgICAgICAgfQpA
QCAtMTYxOSw4ICsxNjE5LDggQEAgdm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNldFNjcm9sbGJh
ck1vZGVzKCkKIAogdm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNjcm9sbGJhck1vZGVzKFNjcm9s
bGJhck1vZGUmIGhvcml6b250YWwsIFNjcm9sbGJhck1vZGUmIHZlcnRpY2FsKSBjb25zdAogewot
ICAgIGhvcml6b250YWwgPSBTY3JvbGxiYXJBdXRvOwotICAgIHZlcnRpY2FsID0gU2Nyb2xsYmFy
QXV0bzsKKyAgICBob3Jpem9udGFsID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKKyAgICB2ZXJ0aWNh
bCA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1T
ZXRDYW5CbGl0T25TY3JvbGwoYm9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApp
bmRleCAwNzlmNzAyMmMyNWYzOWM4ZGU0YzQyODNlNGJkOTc3MTM3ODUyZjk4Li5hM2YwYjE3YjEz
MWFiMTMwNWI0ZTZkYjk4ODI1MjkxMjMyYmM0YjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5oCkBAIC01MzQsOCArNTM0LDggQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxTY3Jv
bGxiYXI+IG1faG9yaXpvbnRhbFNjcm9sbGJhcjsKICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX3Zl
cnRpY2FsU2Nyb2xsYmFyOwotICAgIFNjcm9sbGJhck1vZGUgbV9ob3Jpem9udGFsU2Nyb2xsYmFy
TW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKLSAgICBTY3JvbGxiYXJNb2RlIG1fdmVydGljYWxTY3Jv
bGxiYXJNb2RlIHsgU2Nyb2xsYmFyQXV0byB9OworICAgIFNjcm9sbGJhck1vZGUgbV9ob3Jpem9u
dGFsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKKyAgICBTY3JvbGxiYXJN
b2RlIG1fdmVydGljYWxTY3JvbGxiYXJNb2RlIHsgU2Nyb2xsYmFyTW9kZTo6QXV0byB9OwogCiAK
ICAgICAvLyBGSVhNRTogTW9yZSB0aGluZ3Mgd2lsbCBtb3ZlIGludG8gaGVyZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDAxODI3MzAyNTYwZjE2NWNjOThj
NmY4NmQ5MWNhM2E1NDNiMDE3OTUuLjFkN2JkNmYxYTE3ZTk0ZDQ0NTNkN2U1ZTA1MTI5Y2VhMGZj
MmJjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMTIx
LDkgKzEyMSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEhvcml6b250YWxTY3JvbGxFbGFzdGlj
aXR5KFNjcm9sbEVsYXN0aWNpdHkgc2Nyb2xsRWxhc3RpY2l0eSkgeyBtX2hvcml6b250YWxTY3Jv
bGxFbGFzdGljaXR5ID0gc2Nyb2xsRWxhc3RpY2l0eTsgfQogICAgIFNjcm9sbEVsYXN0aWNpdHkg
aG9yaXpvbnRhbFNjcm9sbEVsYXN0aWNpdHkoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxT
Y3JvbGxFbGFzdGljaXR5OyB9CiAKLSAgICB2aXJ0dWFsIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRh
bFNjcm9sbGJhck1vZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJBdXRvOyB9Ci0gICAgdmly
dHVhbCBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpIGNvbnN0IHsgcmV0dXJu
IFNjcm9sbGJhckF1dG87IH0KLSAgICBib29sIGNhbkhhdmVTY3JvbGxiYXJzKCkgY29uc3QgeyBy
ZXR1cm4gaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmYgfHwg
dmVydGljYWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9CisgICAgdmly
dHVhbCBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1
cm4gU2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSB2ZXJ0
aWNhbFNjcm9sbGJhck1vZGUoKSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJNb2RlOjpBdXRvOyB9
CisgICAgYm9vbCBjYW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIGhvcml6b250YWxT
Y3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIHx8IHZlcnRpY2FsU2Ny
b2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQogCiAgICAgdmlydHVh
bCBib29sIGhvcml6b250YWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgdmVydGljYWxTY3JvbGxiYXJIaWRkZW5CeVN0eWxl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2lvcy93YWsvV0FLU2Nyb2xsVmlldy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy93YWsvV0FLU2Nyb2xsVmlldy5tbQppbmRleCA1MDFhNjhiZWE5MDc4OGQ5YmM5MzY5NzMw
ZTczOTQ3NjU5YTQ2NDJmLi41ZjYwMGQ2NzFmM2VkNTVmZGNiZGFlNjM0ZGZlZTIwNjI5MmI3ZDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZp
ZXcubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XQUtTY3JvbGxWaWV3
Lm1tCkBAIC0xOTQsMTIgKzE5NCwxMiBAQCBzdGF0aWMgdm9pZCBfbm90aWZpY2F0aW9uQ2FsbGJh
Y2soV0tWaWV3UmVmIHYsIFdLVmlld05vdGlmaWNhdGlvblR5cGUgdHlwZSwgdm9pZAogCiAtIChX
ZWJDb3JlOjpTY3JvbGxiYXJNb2RlKWhvcml6b250YWxTY3JvbGxpbmdNb2RlCiB7Ci0gICAgcmV0
dXJuIFdlYkNvcmU6OlNjcm9sbGJhckF1dG87CisgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJh
ck1vZGU6OkF1dG87CiB9CiAKIC0gKFdlYkNvcmU6OlNjcm9sbGJhck1vZGUpdmVydGljYWxTY3Jv
bGxpbmdNb2RlCiB7Ci0gICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJhckF1dG87CisgICAgcmV0
dXJuIFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkF1dG87CiB9CiAKICNwcmFnbWEgbWFyayAtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZUJhc2UuY3BwCmluZGV4IGIwOTVk
OGU0YWNhN2ZhZjY5M2RjZTkyNjE4YWIzZDQ4ODQxODdkZTkuLjQ0ZDQ4ZmMyZTU4YzY3YzI3MTJj
OWVjM2EwZjMyNDQ5YjE5NmFjNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFtZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGcmFtZUJhc2UuY3BwCkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgUmVuZGVyRnJhbWVCYXNlOjpw
ZXJmb3JtTGF5b3V0V2l0aEZsYXR0ZW5pbmcoYm9vbCBoYXNGaXhlZFdpZHRoLCBib29sIGhhc0Zp
CiAgICAgLy8gaWYgc2Nyb2xsYmFycyBhcmUgb2ZmLCBhbmQgdGhlIHdpZHRoIG9yIGhlaWdodCBh
cmUgZml4ZWQKICAgICAvLyB3ZSBvYmV5IHRoZW0gYW5kIGRvIG5vdCBleHBhbmQuIFdpdGggZnJh
bWUgZmxhdHRlbmluZwogICAgIC8vIG5vIHN1YmZyYW1lIG11Y2ggZXZlciBiZWNvbWUgc2Nyb2xs
YWJsZS4KLSAgICBib29sIGlzU2Nyb2xsYWJsZSA9IGZyYW1lT3duZXJFbGVtZW50KCkuc2Nyb2xs
aW5nTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICBib29sIGlzU2Nyb2xsYWJsZSA9
IGZyYW1lT3duZXJFbGVtZW50KCkuc2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZjsKIAogICAgIC8vIGNvbnNpZGVyIGlmcmFtZSBpbnNldCBib3JkZXIKICAgICBpbnQg
aEJvcmRlciA9IGJvcmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJRnJhbWUuY3BwCmluZGV4IDRiMjc2MWUxOTg3N2JlZmRjYWVlYzE1ZmI0
OGZjZTczNjNhYjJkNWMuLjE2ZmM4ODBjYzMyNDU0OWE0MTVmYTdjNWI3ZWI5ZGFkOTMwNTA5NzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJRnJhbWUuY3BwCkBAIC04Niw3ICs4
Niw3IEBAIGJvb2wgUmVuZGVySUZyYW1lOjpmbGF0dGVuRnJhbWUoKSBjb25zdAogCiAgICAgaWYg
KHN0eWxlKCkud2lkdGgoKS5pc0ZpeGVkKCkgJiYgc3R5bGUoKS5oZWlnaHQoKS5pc0ZpeGVkKCkp
IHsKICAgICAgICAgLy8gRG8gbm90IGZsYXR0ZW4gaWZyYW1lcyB3aXRoIHNjcm9sbGluZz0ibm8i
LgotICAgICAgICBpZiAoaWZyYW1lRWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxi
YXJBbHdheXNPZmYpCisgICAgICAgIGlmIChpZnJhbWVFbGVtZW50KCkuc2Nyb2xsaW5nTW9kZSgp
ID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgLy8gRG8gbm90IGZsYXR0ZW4gaWZyYW1lcyB0aGF0IGhhdmUgemVybyBzaXplLCBh
cyBmbGF0dGVuaW5nIG1pZ2h0IG1ha2UgdGhlbSB2aXNpYmxlLgogICAgICAgICBpZiAoc3R5bGUo
KS53aWR0aCgpLnZhbHVlKCkgPD0gMCB8fCBzdHlsZSgpLmhlaWdodCgpLnZhbHVlKCkgPD0gMCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDE0YTUxMTkyMDZi
N2U2MDk5NTdjOTFiM2I3NDdmNGJiNTFiM2Q3YTAuLjYyMzNiNWNjNTZmYjk4N2Y2MGRjNjY5YTc4
NTQ1OGU3MjdkYjI4ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMjQwMSw3ICsyNDAxLDcgQEAgTGF5b3V0U2l6ZSBSZW5kZXJMYXllcjo6b2Zmc2V0RnJv
bUFuY2VzdG9yKGNvbnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBDb2wKIHN0YXRpYyBp
bmxpbmUgYm9vbCBmcmFtZUVsZW1lbnRBbmRWaWV3UGVybWl0U2Nyb2xsKEhUTUxGcmFtZUVsZW1l
bnRCYXNlKiBmcmFtZUVsZW1lbnRCYXNlLCBGcmFtZVZpZXcmIGZyYW1lVmlldykKIHsKICAgICAv
LyBJZiBzY3JvbGxiYXJzIGFyZW4ndCBleHBsaWNpdGx5IGZvcmJpZGRlbiwgcGVybWl0IHNjcm9s
bGluZy4KLSAgICBpZiAoZnJhbWVFbGVtZW50QmFzZSAmJiBmcmFtZUVsZW1lbnRCYXNlLT5zY3Jv
bGxpbmdNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQorICAgIGlmIChmcmFtZUVsZW1lbnRC
YXNlICYmIGZyYW1lRWxlbWVudEJhc2UtPnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPZmYpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gSWYgc2Nyb2xsYmFy
cyBhcmUgZm9yYmlkZGVuLCB1c2VyIGluaXRpYXRlZCBzY3JvbGxzIHNob3VsZCBvYnZpb3VzbHkg
YmUgaWdub3JlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKaW5kZXggNTU4MzIxMGI1NTE0MDY4NmEyZWM0YTcxMTJlYTNlNTZjMTBiYjIwYi4u
MjNkNjZjZjk1YjYzOTY3NGQ0ZmE1ZjM1NTE0MzI1MDgxNjIyNWUzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTQwMywxMCArNDAz
LDEwIEBAIHN0YXRpYyBUaWxlZEJhY2tpbmc6OlRpbGVDb3ZlcmFnZSBjb21wdXRlUGFnZVRpbGVk
QmFja2luZ0NvdmVyYWdlKGNvbnN0IFJlbmRlckxhCiAgICAgYm9vbCB1c2VNaW5pbWFsVGlsZXNE
dXJpbmdMaXZlUmVzaXplID0gZnJhbWVWaWV3LmluTGl2ZVJlc2l6ZSgpOwogICAgIGlmIChmcmFt
ZVZpZXcuc3BlY3VsYXRpdmVUaWxpbmdFbmFibGVkKCkgJiYgIXVzZU1pbmltYWxUaWxlc0R1cmlu
Z0xpdmVSZXNpemUpIHsKICAgICAgICAgYm9vbCBjbGlwc1RvRXhwb3NlZFJlY3QgPSBzdGF0aWNf
Y2FzdDxib29sPihmcmFtZVZpZXcudmlld0V4cG9zZWRSZWN0KCkpOwotICAgICAgICBpZiAoZnJh
bWVWaWV3Lmhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmIHx8
IGNsaXBzVG9FeHBvc2VkUmVjdCkKKyAgICAgICAgaWYgKGZyYW1lVmlldy5ob3Jpem9udGFsU2Ny
b2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3Nl
ZFJlY3QpCiAgICAgICAgICAgICB0aWxlQ292ZXJhZ2UgfD0gVGlsZWRCYWNraW5nOjpDb3ZlcmFn
ZUZvckhvcml6b250YWxTY3JvbGxpbmc7CiAKLSAgICAgICAgaWYgKGZyYW1lVmlldy52ZXJ0aWNh
bFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmYgfHwgY2xpcHNUb0V4cG9zZWRS
ZWN0KQorICAgICAgICBpZiAoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpICE9IFNj
cm9sbGJhck1vZGU6OkFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCiAgICAgICAgICAg
ICB0aWxlQ292ZXJhZ2UgfD0gVGlsZWRCYWNraW5nOjpDb3ZlcmFnZUZvclZlcnRpY2FsU2Nyb2xs
aW5nOwogICAgIH0KICAgICByZXR1cm4gdGlsZUNvdmVyYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKaW5kZXggZTQ4YTY4ZGZmMWVmZWRhOWJhOTIzOWMyYWVmMmZiOWQ0N2QxZjMx
Ny4uNGJkYmJjY2QzZmJjNjIwZTA3NTQxMDVjZWEwOWVkZGYwNTEyMGI2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xNTI4LDEwICsxNTI4LDEwIEBAIHZvaWQgV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgICAg
ICAmJiB3ZWJQYWdlLT5zaG91bGRVc2VDdXN0b21Db250ZW50UHJvdmlkZXJGb3JSZXNwb25zZSht
X2ZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+cmVzcG9uc2Uo
KSk7CiAgICAgbV9mcmFtZUNhbWVGcm9tQmFja0ZvcndhcmRDYWNoZSA9IGZhbHNlOwogCi0gICAg
U2Nyb2xsYmFyTW9kZSBkZWZhdWx0U2Nyb2xsYmFyTW9kZSA9IHNob3VsZEhpZGVTY3JvbGxiYXJz
ID8gU2Nyb2xsYmFyQWx3YXlzT2ZmIDogU2Nyb2xsYmFyQXV0bzsKKyAgICBTY3JvbGxiYXJNb2Rl
IGRlZmF1bHRTY3JvbGxiYXJNb2RlID0gc2hvdWxkSGlkZVNjcm9sbGJhcnMgPyBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPZmYgOiBTY3JvbGxiYXJNb2RlOjpBdXRvOwogCi0gICAgU2Nyb2xsYmFyTW9k
ZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSA9IHdlYlBhZ2UtPmFsd2F5c1Nob3dzSG9yaXpvbnRh
bFNjcm9sbGVyKCkgPyBTY3JvbGxiYXJBbHdheXNPbiA6IGRlZmF1bHRTY3JvbGxiYXJNb2RlOwot
ICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gd2ViUGFnZS0+YWx3YXlz
U2hvd3NWZXJ0aWNhbFNjcm9sbGVyKCkgPyBTY3JvbGxiYXJBbHdheXNPbiA6IGRlZmF1bHRTY3Jv
bGxiYXJNb2RlOworICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgPSB3
ZWJQYWdlLT5hbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpID8gU2Nyb2xsYmFyTW9kZTo6
QWx3YXlzT24gOiBkZWZhdWx0U2Nyb2xsYmFyTW9kZTsKKyAgICBTY3JvbGxiYXJNb2RlIHZlcnRp
Y2FsU2Nyb2xsYmFyTW9kZSA9IHdlYlBhZ2UtPmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigp
ID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gOiBkZWZhdWx0U2Nyb2xsYmFyTW9kZTsKIAogICAg
IGJvb2wgaG9yaXpvbnRhbExvY2sgPSBzaG91bGRIaWRlU2Nyb2xsYmFycyB8fCB3ZWJQYWdlLT5h
bHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpOwogICAgIGJvb2wgdmVydGljYWxMb2NrID0g
c2hvdWxkSGlkZVNjcm9sbGJhcnMgfHwgd2ViUGFnZS0+YWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGNkNzJjOGUzZmUyYTNmZTA3YTMxMjg5N2I4YjllYWYyOTdkOGQxODMuLmJlZjg1MzFkZGVm
YThkYzQ2ODhlOTFhZDg4OGQ2ZTk1NjczMjZjMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MTU0LDcgKzYxNTQsNyBAQCB2b2lkIFdlYlBh
Z2U6OnNldEFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKGJvb2wgYWx3YXlzU2hvd3NIb3Jp
em9udGFsU2Nyb2xsZQogICAgIGF1dG8gdmlldyA9IGNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZp
ZXcoKTsKICAgICBpZiAoIWFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyKQogICAgICAgICB2
aWV3LT5zZXRIb3Jpem9udGFsU2Nyb2xsYmFyTG9jayhmYWxzZSk7Ci0gICAgdmlldy0+c2V0SG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgPyBTY3Jv
bGxiYXJBbHdheXNPbiA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFyQXV0byA6
IFNjcm9sbGJhckFsd2F5c09mZiwgYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgfHwgIW1f
bWFpbkZyYW1lSXNTY3JvbGxhYmxlKTsKKyAgICB2aWV3LT5zZXRIb3Jpem9udGFsU2Nyb2xsYmFy
TW9kZShhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlciA/IFNjcm9sbGJhck1vZGU6OkFsd2F5
c09uIDogbV9tYWluRnJhbWVJc1Njcm9sbGFibGUgPyBTY3JvbGxiYXJNb2RlOjpBdXRvIDogU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmLCBhbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlciB8fCAh
bV9tYWluRnJhbWVJc1Njcm9sbGFibGUpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnNldEFsd2F5c1No
b3dzVmVydGljYWxTY3JvbGxlcihib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcikKQEAg
LTYxNjYsNyArNjE2Niw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NWZXJ0aWNhbFNj
cm9sbGVyKGJvb2wgYWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyKQogICAgIGF1dG8gdmlldyA9
IGNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKTsKICAgICBpZiAoIWFsd2F5c1Nob3dzVmVy
dGljYWxTY3JvbGxlcikKICAgICAgICAgdmlldy0+c2V0VmVydGljYWxTY3JvbGxiYXJMb2NrKGZh
bHNlKTsKLSAgICB2aWV3LT5zZXRWZXJ0aWNhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NWZXJ0
aWNhbFNjcm9sbGVyID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBtX21haW5GcmFtZUlzU2Nyb2xsYWJs
ZSA/IFNjcm9sbGJhckF1dG8gOiBTY3JvbGxiYXJBbHdheXNPZmYsIGFsd2F5c1Nob3dzVmVydGlj
YWxTY3JvbGxlciB8fCAhbV9tYWluRnJhbWVJc1Njcm9sbGFibGUpOworICAgIHZpZXctPnNldFZl
cnRpY2FsU2Nyb2xsYmFyTW9kZShhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIgPyBTY3JvbGxi
YXJNb2RlOjpBbHdheXNPbiA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFyTW9k
ZTo6QXV0byA6IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiwgYWx3YXlzU2hvd3NWZXJ0aWNhbFNj
cm9sbGVyIHx8ICFtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6
c2V0TWluaW11bVNpemVGb3JBdXRvTGF5b3V0KGNvbnN0IEludFNpemUmIHNpemUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lm1tCmluZGV4IGFjOWMxZWY4Yjc4NDE1MDJmZTljOGY5MTBmZDViOGZj
MmY4ZjU3NTAuLmI4NDlkMmFhYzJhOTNmYmVlNDE3MjlmMjRhODZjZGNmNmIxZmUwMTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC0xNDY4LDcgKzE0NjgsNyBAQCB2b2lkIFdlYkZy
YW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKCkKICAgICAg
ICAgZG9jdW1lbnRMb2FkZXItPnNldFRpdGxlKHsgW2RhdGFTb3VyY2UgcGFnZVRpdGxlXSwgV2Vi
Q29yZTo6VGV4dERpcmVjdGlvbjo6TFRSIH0pOwogCiAgICAgaWYgKGF1dG8qIG93bmVyRWxlbWVu
dCA9IGNvcmVGcmFtZS0+b3duZXJFbGVtZW50KCkpCi0gICAgICAgIGNvcmVGcmFtZS0+dmlldygp
LT5zZXRDYW5IYXZlU2Nyb2xsYmFycyhvd25lckVsZW1lbnQtPnNjcm9sbGluZ01vZGUoKSAhPSBX
ZWJDb3JlOjpTY3JvbGxiYXJBbHdheXNPZmYpOworICAgICAgICBjb3JlRnJhbWUtPnZpZXcoKS0+
c2V0Q2FuSGF2ZVNjcm9sbGJhcnMob3duZXJFbGVtZW50LT5zY3JvbGxpbmdNb2RlKCkgIT0gV2Vi
Q29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKTsKIAogICAgIC8vIElmIHRoZSBkb2N1bWVu
dCB2aWV3IGltcGxpY2l0bHkgYmVjYW1lIGZpcnN0IHJlc3BvbmRlciwgbWFrZSBzdXJlIHRvIHNl
dCB0aGUgZm9jdXNlZCBmcmFtZSBwcm9wZXJseS4KICAgICBpZiAoW1tkb2N1bWVudFZpZXcgd2lu
ZG93XSBmaXJzdFJlc3BvbmRlcl0gPT0gZG9jdW1lbnRWaWV3KSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3
Lm1tCmluZGV4IDU2ZGNjYThhNzI0ZjUwZTJiMGI0Zjk2YmNiZmE1OGM2OTgxMTQ0OGUuLjAzOGE5
Yzc2NTE0NzJmNWQ3Y2YzMDhjOTUzN2VlNTc0MWYxNDM4MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3
Lm1tCkBAIC0xMzMsMTAgKzEzMywxMCBAQCBzdGF0aWMgQ2xhc3MgY3VzdG9tU2Nyb2xsZXJDbGFz
czsKIHsKICAgICBpZiAoX3ByaXZhdGUtPmhTY3JvbGxNb2RlTG9ja2VkKQogICAgICAgICByZXR1
cm47Ci0gICAgaWYgKGZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyQWx3YXlz
T2ZmKQotICAgICAgICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhckF1dG87Ci0gICAgZWxz
ZSBpZiAoIWZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQot
ICAgICAgICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhckFsd2F5c09mZjsKKyAgICBpZiAo
ZmxhZyAmJiBfcHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCisg
ICAgICAgIF9wcml2YXRlLT5oU2Nyb2xsID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKKyAgICBlbHNl
IGlmICghZmxhZyAmJiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
ZmYpCisgICAgICAgIF9wcml2YXRlLT5oU2Nyb2xsID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2Zm
OwogICAgIFtzZWxmIHVwZGF0ZVNjcm9sbGVyc107CiB9CiAKQEAgLTMwMCwxMiArMzAwLDEyIEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogICAg
ICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gTk87CiAgICAgfQogCi0gICAgaWYgKF9wcml2
YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pCi0gICAgICAgIG5ld0hhc0hvcml6b250YWxT
Y3JvbGxlciA9IChfcHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7Ci0gICAg
aWYgKF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pCi0gICAgICAgIG5ld0hhc1Zl
cnRpY2FsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPnZTY3JvbGwgPT0gU2Nyb2xsYmFyQWx3YXlzT24p
OworICAgIGlmIChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKQorICAg
ICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT24pOworICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3Jv
bGxiYXJNb2RlOjpBdXRvKQorICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gKF9wcml2
YXRlLT52U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKIAotICAgIGlmICghZG9j
dW1lbnRWaWV3IHx8IF9wcml2YXRlLT5zdXBwcmVzc0xheW91dCB8fCBfcHJpdmF0ZS0+c3VwcHJl
c3NTY3JvbGxlcnMgfHwgKF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8gJiYgX3By
aXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykpIHsKKyAgICBpZiAoIWRvY3VtZW50Vmll
dyB8fCBfcHJpdmF0ZS0+c3VwcHJlc3NMYXlvdXQgfHwgX3ByaXZhdGUtPnN1cHByZXNzU2Nyb2xs
ZXJzIHx8IChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvICYmIF9wcml2
YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkF1dG8pKSB7CiAgICAgICAgIF9wcml2YXRl
LT5ob3Jpem9udGFsU2Nyb2xsaW5nQWxsb3dlZEJ1dFNjcm9sbGVySGlkZGVuID0gbmV3SGFzSG9y
aXpvbnRhbFNjcm9sbGVyICYmIF9wcml2YXRlLT5hbHdheXNIaWRlSG9yaXpvbnRhbFNjcm9sbGVy
OwogICAgICAgICBpZiAoX3ByaXZhdGUtPmhvcml6b250YWxTY3JvbGxpbmdBbGxvd2VkQnV0U2Ny
b2xsZXJIaWRkZW4pCiAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSBOTzsK
QEAgLTM0MiwxMyArMzQyLDEzIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBkYXRlU2Ny
b2xsYmFyc1Bhc3MgPSAyOwogICAgIGZyYW1lU2l6ZS53aWR0aCA9IGNlaWxmKGZyYW1lU2l6ZS53
aWR0aCk7CiAgICAgZnJhbWVTaXplLmhlaWdodCA9IGNlaWxmKGZyYW1lU2l6ZS5oZWlnaHQpOwog
Ci0gICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhckF1dG8pIHsKKyAgICBpZiAo
X3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykgewogICAgICAgICBuZXdI
YXNIb3Jpem9udGFsU2Nyb2xsZXIgPSBkb2N1bWVudFNpemUud2lkdGggPiB2aXNpYmxlU2l6ZS53
aWR0aDsKICAgICAgICAgaWYgKG5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiAhX3ByaXZhdGUt
PmluVXBkYXRlU2Nyb2xsZXJzTGF5b3V0UGFzcyAmJiBkb2N1bWVudFNpemUuaGVpZ2h0IDw9IGZy
YW1lU2l6ZS5oZWlnaHQgJiYgZG9jdW1lbnRTaXplLndpZHRoIDw9IGZyYW1lU2l6ZS53aWR0aCkK
ICAgICAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxlciA9IE5POwogICAgIH0KIAotICAg
IGlmIChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKSB7CisgICAgaWYgKF9wcml2
YXRlLT52U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8pIHsKICAgICAgICAgbmV3SGFzVmVy
dGljYWxTY3JvbGxlciA9IGRvY3VtZW50U2l6ZS5oZWlnaHQgPiB2aXNpYmxlU2l6ZS5oZWlnaHQ7
CiAgICAgICAgIGlmIChuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyICYmICFfcHJpdmF0ZS0+aW5VcGRh
dGVTY3JvbGxlcnNMYXlvdXRQYXNzICYmIGRvY3VtZW50U2l6ZS5oZWlnaHQgPD0gZnJhbWVTaXpl
LmhlaWdodCAmJiBkb2N1bWVudFNpemUud2lkdGggPD0gZnJhbWVTaXplLndpZHRoKQogICAgICAg
ICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxlciA9IE5POwpAQCAtMzU2LDkgKzM1Niw5IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBkYXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogCiAgICAg
Ly8gVW5sZXNzIGluIFNjcm9sbGJhcnNBbHdheXNPbiBtb2RlLCBpZiB3ZSBldmVyIHR1cm4gb25l
IHNjcm9sbGJhciBvZmYsIGFsd2F5cyB0dXJuIHRoZSBvdGhlciBvbmUgb2ZmIHRvby4KICAgICAv
LyBOZXZlciBldmVyIHRyeSB0byBib3RoIGdhaW4vbG9zZSBhIHNjcm9sbGJhciBpbiB0aGUgc2Ft
ZSBwYXNzLgotICAgIGlmICghbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyICYmIGhhc0hvcml6b250
YWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNPbikKKyAg
ICBpZiAoIW5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsZXIg
JiYgX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24pCiAgICAgICAg
IG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSBOTzsKLSAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Ny
b2xsZXIgJiYgaGFzVmVydGljYWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3Jv
bGxiYXJBbHdheXNPbikKKyAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgaGFzVmVy
dGljYWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPbikKICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gTk87CiAKICAgICBfcHJp
dmF0ZS0+aG9yaXpvbnRhbFNjcm9sbGluZ0FsbG93ZWRCdXRTY3JvbGxlckhpZGRlbiA9IG5ld0hh
c0hvcml6b250YWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+YWx3YXlzSGlkZUhvcml6b250YWxTY3Jv
bGxlcjsKQEAgLTQzOCwxMiArNDM4LDEyIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjTWF4VXBk
YXRlU2Nyb2xsYmFyc1Bhc3MgPSAyOwogCiAtIChCT09MKWFsbG93c0hvcml6b250YWxTY3JvbGxp
bmcKIHsKLSAgICByZXR1cm4gX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT2Zm
OworICAgIHJldHVybiBfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
ZmY7CiB9CiAKIC0gKEJPT0wpYWxsb3dzVmVydGljYWxTY3JvbGxpbmcKIHsKLSAgICByZXR1cm4g
X3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIHJldHVybiBfcHJp
dmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiB9CiAKIC0gKHZvaWQp
c2Nyb2xsaW5nTW9kZXM6KFdlYkNvcmU6OlNjcm9sbGJhck1vZGUqKWhNb2RlIHZlcnRpY2FsOihX
ZWJDb3JlOjpTY3JvbGxiYXJNb2RlKil2TW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCmluZGV4IGFiYTEwNDEzY2Q4Nzg5YjdkYTMzYWM5NjNjYjgwZTMxMDIy
ZTM4NmUuLjBjMzk2YzhiMjc4OGI3YTJlZGU3NDE1MmVjZGRhMWEyOThlMDU5MTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTM2NTgsMjcgKzM2NTgs
MjcgQEAgSUdOT1JFX1dBUk5JTkdTX0VORAogewogICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmll
dyAqc2Nyb2xsdmlldyA9IFtbW3NlbGYgbWFpbkZyYW1lXSBmcmFtZVZpZXddIF9zY3JvbGxWaWV3
XTsKICAgICBpZiAoZmxhZykgewotICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9s
bGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT24gYW5kTG9jazpZRVNdOworICAgICAg
ICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFy
TW9kZTo6QWx3YXlzT24gYW5kTG9jazpZRVNdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFtzY3Jv
bGx2aWV3IHNldFZlcnRpY2FsU2Nyb2xsaW5nTW9kZUxvY2tlZDpOT107Ci0gICAgICAgIFtzY3Jv
bGx2aWV3IHNldFZlcnRpY2FsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJBdXRvIGFu
ZExvY2s6Tk9dOworICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6
V2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QXV0byBhbmRMb2NrOk5PXTsKICAgICB9CiB9CiAKIC0g
KEJPT0wpYWx3YXlzU2hvd1ZlcnRpY2FsU2Nyb2xsZXIKIHsKICAgICBXZWJEeW5hbWljU2Nyb2xs
QmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVWaWV3XSBfc2Ny
b2xsVmlld107Ci0gICAgcmV0dXJuIFtzY3JvbGx2aWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZUxv
Y2tlZF0gJiYgW3Njcm9sbHZpZXcgdmVydGljYWxTY3JvbGxpbmdNb2RlXSA9PSBXZWJDb3JlOjpT
Y3JvbGxiYXJBbHdheXNPbjsKKyAgICByZXR1cm4gW3Njcm9sbHZpZXcgdmVydGljYWxTY3JvbGxp
bmdNb2RlTG9ja2VkXSAmJiBbc2Nyb2xsdmlldyB2ZXJ0aWNhbFNjcm9sbGluZ01vZGVdID09IFdl
YkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uOwogfQogCiAtICh2b2lkKXNldEFsd2F5c1No
b3dIb3Jpem9udGFsU2Nyb2xsZXI6KEJPT0wpZmxhZwogewogICAgIFdlYkR5bmFtaWNTY3JvbGxC
YXJzVmlldyAqc2Nyb2xsdmlldyA9IFtbW3NlbGYgbWFpbkZyYW1lXSBmcmFtZVZpZXddIF9zY3Jv
bGxWaWV3XTsKICAgICBpZiAoZmxhZykgewotICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9u
dGFsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJBbHdheXNPbiBhbmRMb2NrOllFU107
CisgICAgICAgIFtzY3JvbGx2aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6
OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uIGFuZExvY2s6WUVTXTsKICAgICB9IGVsc2UgewogICAg
ICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZDpOT107Ci0g
ICAgICAgIFtzY3JvbGx2aWV3IHNldEhvcml6b250YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNj
cm9sbGJhckF1dG8gYW5kTG9jazpOT107CisgICAgICAgIFtzY3JvbGx2aWV3IHNldEhvcml6b250
YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkF1dG8gYW5kTG9jazpOT107
CiAgICAgfQogfQogCkBAIC0zNjkxLDcgKzM2OTEsNyBAQCBJR05PUkVfV0FSTklOR1NfRU5ECiAt
IChCT09MKWFsd2F5c1Nob3dIb3Jpem9udGFsU2Nyb2xsZXIKIHsKICAgICBXZWJEeW5hbWljU2Ny
b2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVWaWV3XSBf
c2Nyb2xsVmlld107Ci0gICAgcmV0dXJuIFtzY3JvbGx2aWV3IGhvcml6b250YWxTY3JvbGxpbmdN
b2RlTG9ja2VkXSAmJiBbc2Nyb2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZV0gPT0gV2Vi
Q29yZTo6U2Nyb2xsYmFyQWx3YXlzT247CisgICAgcmV0dXJuIFtzY3JvbGx2aWV3IGhvcml6b250
YWxTY3JvbGxpbmdNb2RlTG9ja2VkXSAmJiBbc2Nyb2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5n
TW9kZV0gPT0gV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT247CiB9CiAjZW5kaWYgLy8g
IVBMQVRGT1JNKElPU19GQU1JTFkpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443428</attachid>
            <date>2021-11-05 13:00:16 -0700</date>
            <delta_ts>2021-11-05 16:07:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232651-20211105130015.patch</filename>
            <type>text/plain</type>
            <size>44443</size>
            <attacher name="Nikos Mouchtaris">nmouchtaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk5OWI2ZTJhNDNmZTY2
OTcyYTU5ZTA2YTg0ZjEzMGEwMjYzYTg2Yy4uYmNlYzAwYzBiNjc3YWNlNmE4MDIyMzg5ZGIyMmZk
YzJjY2VlYjhmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTExLTA1ICBOaWtv
bGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ug
c2Nyb2xsIGJhciBtb2RlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICAqIGh0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZyYW1lRWxlbWVudEJhc2U6OnNjcm9sbGluZ01vZGUgY29uc3Qp
OgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnNjcm9sbGluZ01vZGUgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmNyZWF0ZVZpZXcp
OgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0U2Nyb2xsYmFycyk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
Ojp1cGRhdGVDYW5IYXZlU2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OmFwcGx5T3ZlcmZsb3dUb1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjphZGp1c3RTY3JvbGxiYXJzRm9yTGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6cGVyZm9ybUZpeGVkV2lkdGhBdXRvU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnBlcmZvcm1TaXplVG9Db250ZW50QXV0b1NpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3Ojppc1Njcm9sbGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjplbmFibGVBdXRvU2l6ZU1vZGUpOgorICAgICAgICAqIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuU2Nyb2xsSW5EaXJlY3Rpb24pOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbFR5cGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRDYW5IYXZlU2Ny
b2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBsYXRmb3JtU2Nyb2xsYmFyTW9kZXMg
Y29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
Omhvcml6b250YWxTY3JvbGxiYXJNb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYWJsZUFyZWE6OmNhbkhhdmVTY3JvbGxiYXJzIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW06CisgICAgICAgICgtW1dBS1Njcm9sbFZp
ZXcgaG9yaXpvbnRhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKC1bV0FLU2Nyb2xsVmlldyB2
ZXJ0aWNhbFNjcm9sbGluZ01vZGVdKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJhbWVC
YXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYW1lQmFzZTo6cGVyZm9ybUxheW91
dFdpdGhGbGF0dGVuaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklGcmFtZTo6ZmxhdHRlbkZyYW1lIGNvbnN0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZnJh
bWVFbGVtZW50QW5kVmlld1Blcm1pdFNjcm9sbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlUGFnZVRpbGVkQmFj
a2luZ0NvdmVyYWdlKToKKwogMjAyMS0xMS0wNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlc3RydWN0dXJlIFdLQ29udGVudFJ1bGVMaXN0
IEFjdGlvbiBzdG9yYWdlIGR1cmluZyBjb21waWxhdGlvbiBhbmQgaW50ZXJwcmV0YXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggZWZlOTQwZThmY2JjNjQyYzIzYTFmMzgyOGIyNTYxMDY3ZDFlMDYzNS4uY2NjOTQ1
N2Y5MDAxMGU1NDk1YzA4ZTNhY2ZlOTkwMTIxYmNjODc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWtlIHNjcm9sbCBiYXIgbW9kZSBhbiBlbnVtIGNsYXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI2NTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6c2V0QWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpzZXRBbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIpOgorCiAyMDIx
LTExLTA1ICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2Ugc2Nyb2xsIGVsYXN0aWNpdHkgYW4gZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCmluZGV4IDRmOGM2OTFhODU4ZGNjYzNiYThmNTkzMjRhMTZlNjIyOTM0NWIz
MTkuLmU2NmM0MjM2ZmZjZWY3MDhlYmU5NTFhZjY5ZjQ3MjI5M2Y0NmEyNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0xMS0wNSAgTmlrb2xhb3Mg
TW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNjcm9s
bCBiYXIgbW9kZSBhbiBlbnVtIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzI2NTEKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToK
KyAgICAgICAgKFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JO
ZXdQYWdlKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldy5tbToK
KyAgICAgICAgKC1bV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3IHNldEFsbG93c0hvcml6b250YWxT
Y3JvbGxpbmc6XSk6CisgICAgICAgICgtW1dlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyB1cGRhdGVT
Y3JvbGxlcnNdKToKKyAgICAgICAgKC1bV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3IGFsbG93c0hv
cml6b250YWxTY3JvbGxpbmddKToKKyAgICAgICAgKC1bV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3
IGFsbG93c1ZlcnRpY2FsU2Nyb2xsaW5nXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXZWJWaWV3IHNldEFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbGVyOl0pOgor
ICAgICAgICAoLVtXZWJWaWV3IGFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbGVyXSk6CisgICAgICAg
ICgtW1dlYlZpZXcgc2V0QWx3YXlzU2hvd0hvcml6b250YWxTY3JvbGxlcjpdKToKKyAgICAgICAg
KC1bV2ViVmlldyBhbHdheXNTaG93SG9yaXpvbnRhbFNjcm9sbGVyXSk6CisKIDIwMjEtMTEtMDMg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGlP
UyBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZUVs
ZW1lbnRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2Uu
Y3BwCmluZGV4IGYzNWYzYmY3Nzc3MjY1ZjAxZDA0OGE3MDFkZDJhYzZiNDI0YjAxMzEuLjdjNTc0
MTU3YTE4NTVkOTk1NjYwY2JhYTRiODZkNWFjZjhhMjNiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgU2Nyb2xs
YmFyTW9kZSBIVE1MRnJhbWVFbGVtZW50QmFzZTo6c2Nyb2xsaW5nTW9kZSgpIGNvbnN0CiAgICAg
cmV0dXJuIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHNjcm9sbGluZ0F0dHJpYnV0ZSwg
Im5vIikKICAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc2Nyb2xsaW5n
QXR0cmlidXRlLCAibm9zY3JvbGwiKQogICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShzY3JvbGxpbmdBdHRyaWJ1dGUsICJvZmYiKQotICAgICAgICA/IFNjcm9sbGJhckFs
d2F5c09mZiA6IFNjcm9sbGJhckF1dG87CisgICAgICAgID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlz
T2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0bzsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVPd25lckVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lT3duZXJFbGVtZW50LmgKaW5kZXggOWY4NTNh
YTEzZWY2NmFlMzllMDQ4NjFjM2QxNDM1YzliNTE2Yzg4Ni4uZTJhZWIyZmUwYjIxODQ1MDBiZDBk
MzcwZTY3MTA1NDU3NjhlMjkxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RnJhbWVPd25lckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZU93
bmVyRWxlbWVudC5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9y
PERvY3VtZW50Jj4gZ2V0U1ZHRG9jdW1lbnQoKSBjb25zdDsKIAotICAgIHZpcnR1YWwgU2Nyb2xs
YmFyTW9kZSBzY3JvbGxpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFyQXV0bzsgfQor
ICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBzY3JvbGxpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4g
U2Nyb2xsYmFyTW9kZTo6QXV0bzsgfQogCiAgICAgU2FuZGJveEZsYWdzIHNhbmRib3hGbGFncygp
IGNvbnN0IHsgcmV0dXJuIG1fc2FuZGJveEZsYWdzOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5k
ZXggODJhNzYzZjgyNzYwMTgxZjQ2YmI4ZjM0MWZlNzgxOGUzNmMxNjVkNC4uNzc4OGVlNTc1NWZl
YmYwMDNmOTI5YjZkZjVkZTA5NGZkN2E5MzM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTkx
OCw3ICs5MTgsNyBAQCB2b2lkIEZyYW1lOjpjcmVhdGVWaWV3KGNvbnN0IEludFNpemUmIHZpZXdw
b3J0U2l6ZSwgY29uc3Qgc3RkOjpvcHRpb25hbDxDb2xvcj4mCiAgICAgICAgIG93bmVyUmVuZGVy
ZXIoKS0+c2V0V2lkZ2V0KGZyYW1lVmlldyk7CiAKICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVt
ZW50KiBvd25lciA9IG93bmVyRWxlbWVudCgpKQotICAgICAgICB2aWV3KCktPnNldENhbkhhdmVT
Y3JvbGxiYXJzKG93bmVyLT5zY3JvbGxpbmdNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKTsK
KyAgICAgICAgdmlldygpLT5zZXRDYW5IYXZlU2Nyb2xsYmFycyhvd25lci0+c2Nyb2xsaW5nTW9k
ZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZik7CiB9CiAKIERPTVdpbmRvdyogRnJhbWU6
OndpbmRvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggZjU0OGIwZmM1YjZhODc1NGJmNzA5
MmVhZmNkOGVlMjVmOTNmYzFiMC4uMTI0ZGYxODg1ZjcxZGNkN2Q2NWUwMWQ2OWZkNzliMTA0YTA3
ZTY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMTI4LDggKzEyOCw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldFZpZXcoUmVmUHRyPEZyYW1lVmlldz4mJik7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBjcmVhdGVWaWV3KGNvbnN0IEludFNpemUmLCBjb25zdCBzdGQ6Om9w
dGlvbmFsPENvbG9yPiYgYmFja2dyb3VuZENvbG9yLAogICAgICAgICBjb25zdCBJbnRTaXplJiBm
aXhlZExheW91dFNpemUsIGNvbnN0IEludFJlY3QmIGZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0LAot
ICAgICAgICBib29sIHVzZUZpeGVkTGF5b3V0ID0gZmFsc2UsIFNjcm9sbGJhck1vZGUgPSBTY3Jv
bGxiYXJBdXRvLCBib29sIGhvcml6b250YWxMb2NrID0gZmFsc2UsCi0gICAgICAgIFNjcm9sbGJh
ck1vZGUgPSBTY3JvbGxiYXJBdXRvLCBib29sIHZlcnRpY2FsTG9jayA9IGZhbHNlKTsKKyAgICAg
ICAgYm9vbCB1c2VGaXhlZExheW91dCA9IGZhbHNlLCBTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFy
TW9kZTo6QXV0bywgYm9vbCBob3Jpem9udGFsTG9jayA9IGZhbHNlLAorICAgICAgICBTY3JvbGxi
YXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bywgYm9vbCB2ZXJ0aWNhbExvY2sgPSBmYWxzZSk7
CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+RnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCmluZGV4IDYxMzQzZjNhNTliY2VmYWQ1OWQwN2IzNzdlYmRjNTk3MTI5YTczMWYuLjMyOTVl
ODA4NDI4MWYzNDhkYTVjYjk2NTRlMmUwODQwYzczMmE4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKQEAgLTI5Nyw5ICsyOTcsOSBAQCB2b2lkIEZyYW1lVmlldzo6cmVzZXRTY3JvbGxi
YXJzKCkKICAgICAvLyBSZXNldCB0aGUgZG9jdW1lbnQncyBzY3JvbGxiYXJzIGJhY2sgdG8gb3Vy
IGRlZmF1bHRzIGJlZm9yZSB3ZSB5aWVsZCB0aGUgZmxvb3IuCiAgICAgc2V0U2Nyb2xsYmFyc1N1
cHByZXNzZWQodHJ1ZSk7CiAgICAgaWYgKG1fY2FuSGF2ZVNjcm9sbGJhcnMpCi0gICAgICAgIHNl
dFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAgICAgICBz
ZXRTY3JvbGxiYXJNb2RlcyhTY3JvbGxiYXJNb2RlOjpBdXRvLCBTY3JvbGxiYXJNb2RlOjpBdXRv
KTsKICAgICBlbHNlCi0gICAgICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckFsd2F5c09m
ZiwgU2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgc2V0U2Nyb2xsYmFyTW9kZXMoU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmLCBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpOwogICAgIHNldFNj
cm9sbGJhcnNTdXBwcmVzc2VkKGZhbHNlKTsKIH0KIApAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQg
RnJhbWVWaWV3Ojppbml0KCkKIAogICAgIC8vIFByb3BhZ2F0ZSB0aGUgc2Nyb2xsaW5nIG1vZGUg
dG8gdGhlIHZpZXcuCiAgICAgYXV0byogb3duZXJFbGVtZW50ID0gZnJhbWUoKS5vd25lckVsZW1l
bnQoKTsKLSAgICBpZiAoaXM8SFRNTEZyYW1lRWxlbWVudEJhc2U+KG93bmVyRWxlbWVudCkgJiYg
ZG93bmNhc3Q8SFRNTEZyYW1lRWxlbWVudEJhc2U+KCpvd25lckVsZW1lbnQpLnNjcm9sbGluZ01v
ZGUoKSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAgaWYgKGlzPEhUTUxGcmFtZUVsZW1lbnRC
YXNlPihvd25lckVsZW1lbnQpICYmIGRvd25jYXN0PEhUTUxGcmFtZUVsZW1lbnRCYXNlPigqb3du
ZXJFbGVtZW50KS5zY3JvbGxpbmdNb2RlKCkgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQog
ICAgICAgICBzZXRDYW5IYXZlU2Nyb2xsYmFycyhmYWxzZSk7CiAKICAgICBQYWdlKiBwYWdlID0g
ZnJhbWUoKS5wYWdlKCk7CkBAIC01MjEsNyArNTIxLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0
ZUNhbkhhdmVTY3JvbGxiYXJzKCkKICAgICBTY3JvbGxiYXJNb2RlIGhNb2RlOwogICAgIFNjcm9s
bGJhck1vZGUgdk1vZGU7CiAgICAgc2Nyb2xsYmFyTW9kZXMoaE1vZGUsIHZNb2RlKTsKLSAgICBp
ZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmICYmIHZNb2RlID09IFNjcm9sbGJhckFsd2F5
c09mZikKKyAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmICYmIHZNb2Rl
ID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKICAgICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJh
cnMoZmFsc2UpOwogICAgIGVsc2UKICAgICAgICAgc2V0Q2FuSGF2ZVNjcm9sbGJhcnModHJ1ZSk7
CkBAIC02NTksMTUgKzY1OSwxNSBAQCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmll
d3BvcnQoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogICAgIGNhc2Ug
T3ZlcmZsb3c6OkhpZGRlbjoKICAgICBjYXNlIE92ZXJmbG93OjpDbGlwOgogICAgICAgICBpZiAo
b3ZlcnJpZGVIaWRkZW4pCi0gICAgICAgICAgICBoTW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAg
ICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICAgICAgaE1vZGUgPSBT
Y3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZs
b3c6OlNjcm9sbDoKLSAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAg
aE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBPdmVyZmxvdzo6QXV0bzoKLSAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAg
ICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIC8vIERvbid0IHNldCBpdCBhdCBhbGwuCkBAIC02NzgsMTUgKzY3OCwxNSBA
QCB2b2lkIEZyYW1lVmlldzo6YXBwbHlPdmVyZmxvd1RvVmlld3BvcnQoY29uc3QgUmVuZGVyRWxl
bWVudCYgcmVuZGVyZXIsIFNjcm9sbGJhcgogICAgIGNhc2UgT3ZlcmZsb3c6OkhpZGRlbjoKICAg
ICBjYXNlIE92ZXJmbG93OjpDbGlwOgogICAgICAgICBpZiAob3ZlcnJpZGVIaWRkZW4pCi0gICAg
ICAgICAgICB2TW9kZSA9IFNjcm9sbGJhckF1dG87CisgICAgICAgICAgICB2TW9kZSA9IFNjcm9s
bGJhck1vZGU6OkF1dG87CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZNb2RlID0gU2Nyb2xs
YmFyQWx3YXlzT2ZmOworICAgICAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNP
ZmY7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT3ZlcmZsb3c6OlNjcm9sbDoKLSAgICAgICAg
dk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPbjsKKyAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJNb2Rl
OjpBbHdheXNPbjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPdmVyZmxvdzo6QXV0bzoKLSAg
ICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1v
ZGU6OkF1dG87CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIERvbid0
IHNldCBpdCBhdCBhbGwuIFZhbHVlcyBvZiBPdmVyZmxvdzo6UGFnZWRYIGFuZCBPdmVyZmxvdzo6
UGFnZWRZIGFyZSBoYW5kbGVkIGJ5IGFwcGx5UGFnaW5hdGlvblRvVmlld1BvcnQoKS4KQEAgLTcz
MSwxOCArNzMxLDE4IEBAIHZvaWQgRnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0Zv
ckxheW91dChTY3JvbGxiYXJNb2RlJiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgbV92aWV3cG9ydFJl
bmRlcmVyVHlwZSA9IFZpZXdwb3J0UmVuZGVyZXJUeXBlOjpOb25lOwogCiAgICAgY29uc3QgSFRN
TEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IGZyYW1lKCkub3duZXJFbGVtZW50KCk7Ci0gICAg
aWYgKG93bmVyICYmIChvd25lci0+c2Nyb2xsaW5nTW9kZSgpID09IFNjcm9sbGJhckFsd2F5c09m
ZikpIHsKLSAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7Ci0gICAgICAgIHZNb2Rl
ID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgIGlmIChvd25lciAmJiAob3duZXItPnNjcm9sbGlu
Z01vZGUoKSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpKSB7CisgICAgICAgIGhNb2RlID0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6
OkFsd2F5c09mZjsKICAgICAgICAgcmV0dXJuOwogICAgIH0gIAogICAgIAogICAgIGlmIChtX2Nh
bkhhdmVTY3JvbGxiYXJzIHx8IHN0cmF0ZWd5ID09IFJ1bGVzRnJvbVdlYkNvbnRlbnRPbmx5KSB7
Ci0gICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyQXV0bzsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxi
YXJBdXRvOworICAgICAgICBoTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CisgICAgICAgIHZN
b2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICB9IGVsc2UgewotICAgICAgICBoTW9kZSA9
IFNjcm9sbGJhckFsd2F5c09mZjsKLSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7
CisgICAgICAgIGhNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAgICAgICB2TW9k
ZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICB9CiAgICAgCiAgICAgaWYgKGxheW91
dENvbnRleHQoKS5zdWJ0cmVlTGF5b3V0Um9vdCgpKQpAQCAtNzY3LDggKzc2Nyw4IEBAIHZvaWQg
RnJhbWVWaWV3OjpjYWxjdWxhdGVTY3JvbGxiYXJNb2Rlc0ZvckxheW91dChTY3JvbGxiYXJNb2Rl
JiBoTW9kZSwgU2Nyb2xsYmFyCiAgICAgfQogICAgIAogICAgIGlmIChpczxIVE1MRnJhbWVTZXRF
bGVtZW50PigqYm9keU9yRnJhbWVzZXQpICYmICFmcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpIHsK
LSAgICAgICAgdk1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7Ci0gICAgICAgIGhNb2RlID0gU2Ny
b2xsYmFyQWx3YXlzT2ZmOworICAgICAgICB2TW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
ZjsKKyAgICAgICAgaE1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKQEAgLTEyNTQsMTEgKzEyNTQsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OmFk
anVzdFNjcm9sbGJhcnNGb3JMYXlvdXQoYm9vbCBpc0ZpcnN0TGF5b3V0KQogICAgIGlmIChpc0Zp
cnN0TGF5b3V0ICYmICFsYXlvdXRDb250ZXh0KCkuaXNMYXlvdXROZXN0ZWQoKSkgewogICAgICAg
ICBzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZCh0cnVlKTsKICAgICAgICAgLy8gU2V0IHRoZSBpbml0
aWFsIHZNb2RlIHRvIEFsd2F5c09uIGlmIHdlJ3JlIGF1dG8uCi0gICAgICAgIGlmICh2TW9kZSA9
PSBTY3JvbGxiYXJBdXRvKQotICAgICAgICAgICAgc2V0VmVydGljYWxTY3JvbGxiYXJNb2RlKFNj
cm9sbGJhckFsd2F5c09uKTsgLy8gVGhpcyBjYXVzZXMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgdG8g
YXBwZWFyLgorICAgICAgICBpZiAodk1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAg
ICAgICAgIHNldFZlcnRpY2FsU2Nyb2xsYmFyTW9kZShTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7
IC8vIFRoaXMgY2F1c2VzIGEgdmVydGljYWwgc2Nyb2xsYmFyIHRvIGFwcGVhci4KICAgICAgICAg
Ly8gU2V0IHRoZSBpbml0aWFsIGhNb2RlIHRvIEFsd2F5c09mZiBpZiB3ZSdyZSBhdXRvLgotICAg
ICAgICBpZiAoaE1vZGUgPT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgICAgIHNldEhvcml6b250
YWxTY3JvbGxiYXJNb2RlKFNjcm9sbGJhckFsd2F5c09mZik7IC8vIFRoaXMgY2F1c2VzIGEgaG9y
aXpvbnRhbCBzY3JvbGxiYXIgdG8gZGlzYXBwZWFyLgorICAgICAgICBpZiAoaE1vZGUgPT0gU2Ny
b2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgICAgIHNldEhvcml6b250YWxTY3JvbGxiYXJNb2Rl
KFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZik7IC8vIFRoaXMgY2F1c2VzIGEgaG9yaXpvbnRhbCBz
Y3JvbGxiYXIgdG8gZGlzYXBwZWFyLgogICAgICAgICBBU1NFUlQoZnJhbWUoKS5wYWdlKCkpOwog
ICAgICAgICBpZiAoZnJhbWUoKS5wYWdlKCktPmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkpCiAg
ICAgICAgICAgICBzY3JvbGxBbmltYXRvcigpLnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihmcmFt
ZSgpLnBhZ2UoKS0+d2hlZWxFdmVudFRlc3RNb25pdG9yKCkpOwpAQCAtMzUyMSw4ICszNTIxLDgg
QEAgdm9pZCBGcmFtZVZpZXc6OnBlcmZvcm1GaXhlZFdpZHRoQXV0b1NpemUoKQogICAgIGF1dG8q
IHJlbmRlclZpZXcgPSBkb2N1bWVudC0+cmVuZGVyVmlldygpOwogICAgIGF1dG8qIGZpcnN0Q2hp
bGQgPSByZW5kZXJWaWV3LT5maXJzdENoaWxkKCk7CiAKLSAgICBTY3JvbGxiYXJNb2RlIGhvcml6
b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7Ci0gICAgU2Nyb2xsYmFyTW9k
ZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgYXV0byBo
b3Jpem9uYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOworICAgIGF1
dG8gdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmOwogICAg
IHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jayhmYWxzZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9s
bGJhckxvY2soZmFsc2UpOwogICAgIHNldFNjcm9sbGJhck1vZGVzKGhvcml6b25hbFNjcm9sbGJh
ck1vZGUsIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSwgdHJ1ZSwgdHJ1ZSk7CkBAIC0zNjA1LDE1ICsz
NjA1LDE1IEBAIHZvaWQgRnJhbWVWaWV3OjpwZXJmb3JtU2l6ZVRvQ29udGVudEF1dG9TaXplKCkK
ICAgICAgICAgbmV3U2l6ZSA9IG5ld1NpemUuZXhwYW5kZWRUbyhtaW5BdXRvU2l6ZSk7CiAKICAg
ICAgICAgLy8gQm91bmQgdGhlIGRpbWVuc2lvbnMgYnkgdGhlIG1heCBib3VuZHMgYW5kIGRldGVy
bWluZSB3aGF0IHNjcm9sbGJhcnMgdG8gc2hvdy4KLSAgICAgICAgU2Nyb2xsYmFyTW9kZSBob3Jp
em9uYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxi
YXJNb2RlIGhvcml6b25hbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7
CiAgICAgICAgIGlmIChuZXdTaXplLndpZHRoKCkgPiBtX2F1dG9TaXplQ29uc3RyYWludC53aWR0
aCgpKSB7CiAgICAgICAgICAgICBuZXdTaXplLnNldFdpZHRoKG1fYXV0b1NpemVDb25zdHJhaW50
LndpZHRoKCkpOwotICAgICAgICAgICAgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJh
ckFsd2F5c09uOworICAgICAgICAgICAgaG9yaXpvbmFsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJh
ck1vZGU6OkFsd2F5c09uOwogICAgICAgICB9Ci0gICAgICAgIFNjcm9sbGJhck1vZGUgdmVydGlj
YWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFyQWx3YXlzT2ZmOworICAgICAgICBTY3JvbGxiYXJN
b2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAg
ICAgICAgaWYgKG5ld1NpemUuaGVpZ2h0KCkgPiBtX2F1dG9TaXplQ29uc3RyYWludC5oZWlnaHQo
KSkgewogICAgICAgICAgICAgbmV3U2l6ZS5zZXRIZWlnaHQobV9hdXRvU2l6ZUNvbnN0cmFpbnQu
aGVpZ2h0KCkpOwotICAgICAgICAgICAgdmVydGljYWxTY3JvbGxiYXJNb2RlID0gU2Nyb2xsYmFy
QWx3YXlzT247CisgICAgICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSBTY3JvbGxiYXJN
b2RlOjpBbHdheXNPbjsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChuZXdTaXplID09IHNpemUp
CkBAIC0zOTUwLDcgKzM5NTAsNyBAQCBib29sIEZyYW1lVmlldzo6aXNTY3JvbGxhYmxlKFNjcm9s
bGFiaWxpdHkgZGVmaW5pdGlvbk9mU2Nyb2xsYWJsZSkKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6
b250YWxNb2RlOwogICAgIFNjcm9sbGJhck1vZGUgdmVydGljYWxNb2RlOwogICAgIGNhbGN1bGF0
ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhvcml6b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUsIFJ1
bGVzRnJvbVdlYkNvbnRlbnRPbmx5KTsKLSAgICBpZiAoaG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xs
YmFyQWx3YXlzT2ZmICYmIHZlcnRpY2FsTW9kZSA9PSBTY3JvbGxiYXJBbHdheXNPZmYpCisgICAg
aWYgKGhvcml6b250YWxNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiAmJiB2ZXJ0aWNh
bE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTQ3MjIsNyArNDcyMiw3IEBAIHZvaWQgRnJhbWVWaWV3
OjplbmFibGVBdXRvU2l6ZU1vZGUoYm9vbCBlbmFibGUsIGNvbnN0IEludFNpemUmIHZpZXdTaXpl
LCBBdXRvU2l6CiAgICAgLy8gU2luY2UgYXV0b3NpemUgbW9kZSBmb3JjZXMgdGhlIHNjcm9sbGJh
ciBtb2RlLCBjaGFuZ2UgdGhlbSB0byBiZWluZyBhdXRvLgogICAgIHNldFZlcnRpY2FsU2Nyb2xs
YmFyTG9jayhmYWxzZSk7CiAgICAgc2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwot
ICAgIHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhckF1dG8sIFNjcm9sbGJhckF1dG8pOworICAg
IHNldFNjcm9sbGJhck1vZGVzKFNjcm9sbGJhck1vZGU6OkF1dG8sIFNjcm9sbGJhck1vZGU6OkF1
dG8pOwogfQogCiB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWVM
YXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwYXRpYWxOYXZpZ2F0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCmluZGV4IDk4
Mjc1YzU2ZWEyMjY4ZjIzYzlmNTkxZDRkODc2NmIzZDg5YjA4NTYuLjNlNTllZDI2NzFmY2M1YzBh
NzhlZTg4ZjgwMjI0YjQyNzMwMjIyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3BhdGlhbE5hdmlnYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BhdGlhbE5h
dmlnYXRpb24uY3BwCkBAIC00NzYsOSArNDc2LDkgQEAgYm9vbCBjYW5TY3JvbGxJbkRpcmVjdGlv
bihjb25zdCBGcmFtZSogZnJhbWUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKICAgICBTY3Jv
bGxiYXJNb2RlIHZlcnRpY2FsTW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxNb2Rl
OwogICAgIGZyYW1lLT52aWV3KCktPmNhbGN1bGF0ZVNjcm9sbGJhck1vZGVzRm9yTGF5b3V0KGhv
cml6b250YWxNb2RlLCB2ZXJ0aWNhbE1vZGUpOwotICAgIGlmICgoZGlyZWN0aW9uID09IEZvY3Vz
RGlyZWN0aW9uOjpMZWZ0IHx8IGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbjo6UmlnaHQpICYm
IFNjcm9sbGJhckFsd2F5c09mZiA9PSBob3Jpem9udGFsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlv
biA9PSBGb2N1c0RpcmVjdGlvbjo6TGVmdCB8fCBkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb246
OlJpZ2h0KSAmJiBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgPT0gaG9yaXpvbnRhbE1vZGUpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlv
bjo6VXAgfHwgZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Nyb2xsYmFy
QWx3YXlzT2ZmID09IHZlcnRpY2FsTW9kZSkKKyAgICBpZiAoKGRpcmVjdGlvbiA9PSBGb2N1c0Rp
cmVjdGlvbjo6VXAgfHwgZGlyZWN0aW9uID09IEZvY3VzRGlyZWN0aW9uOjpEb3duKSAmJiAgU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT2ZmID09IHZlcnRpY2FsTW9kZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIExheW91dFNpemUgc2l6ZSA9IGZyYW1lLT52aWV3KCktPnRvdGFsQ29udGVudHNT
aXplKCk7CiAgICAgTGF5b3V0UG9pbnQgc2Nyb2xsUG9zaXRpb24gPSBmcmFtZS0+dmlldygpLT5z
Y3JvbGxQb3NpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5oCmluZGV4IDE2NDY3MGE2YTNhMDRjODVh
YTEzY2NlMzNkNWI5ZmJmNTFlZDZiYmUuLjhiOGUyNTdjZGM2OTU1ZTdlYzM0YmFlNTA3MDM4YTYz
ZTczNmFiNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmgKQEAgLTc0LDggKzc0LDggQEAgc3RydWN0IFNj
cm9sbGFibGVBcmVhUGFyYW1ldGVycyB7CiAgICAgU2Nyb2xsRWxhc3RpY2l0eSBob3Jpem9udGFs
U2Nyb2xsRWxhc3RpY2l0eSB7IFNjcm9sbEVsYXN0aWNpdHk6Ok5vbmUgfTsKICAgICBTY3JvbGxF
bGFzdGljaXR5IHZlcnRpY2FsU2Nyb2xsRWxhc3RpY2l0eSB7IFNjcm9sbEVsYXN0aWNpdHk6Ok5v
bmUgfTsKIAotICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3Jv
bGxiYXJBdXRvIH07Ci0gICAgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgeyBT
Y3JvbGxiYXJBdXRvIH07CisgICAgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9k
ZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKKyAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Ny
b2xsYmFyTW9kZSB7IFNjcm9sbGJhck1vZGU6OkF1dG8gfTsKIAogICAgIGJvb2wgYWxsb3dzSG9y
aXpvbnRhbFNjcm9sbGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBhbGxvd3NWZXJ0aWNhbFNjcm9s
bGluZyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCAxYjRiNmNhODIxMGFkM2Q0
YzUyZmI2MjhlMDczOWY0ZDljNzQzOTExLi5jMTY2NWQzNGEyYWM5Y2U0NmY2M2VhMjczYWE5MDVj
ZDZkY2JiNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTk2LDkgKzk2LDkgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJIaWRk
ZW5CeVN0eWxlOyB9CiAgICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhckhpZGRlbkJ5U3R5bGUoKSBj
b25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJh
ckhpZGRlbkJ5U3R5bGU7IH0KLSAgICBib29sIGNhbkhhdmVIb3Jpem9udGFsU2Nyb2xsYmFyKCkg
Y29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMuaG9yaXpvbnRhbFNjcm9s
bGJhck1vZGUgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9Ci0gICAgYm9vbCBjYW5IYXZlVmVydGlj
YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhUGFyYW1ldGVycy52
ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmOyB9Ci0gICAgYm9vbCBj
YW5IYXZlU2Nyb2xsYmFycygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0
ZXJzLmhvcml6b250YWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhckFsd2F5c09mZiB8fCBtX3Nj
cm9sbGFibGVBcmVhUGFyYW1ldGVycy52ZXJ0aWNhbFNjcm9sbGJhck1vZGUgIT0gU2Nyb2xsYmFy
QWx3YXlzT2ZmOyB9CisgICAgYm9vbCBjYW5IYXZlSG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0
IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJzLmhvcml6b250YWxTY3JvbGxiYXJN
b2RlICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQorICAgIGJvb2wgY2FuSGF2ZVZlcnRp
Y2FsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMu
dmVydGljYWxTY3JvbGxiYXJNb2RlICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQorICAg
IGJvb2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVh
UGFyYW1ldGVycy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdh
eXNPZmYgfHwgbV9zY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMudmVydGljYWxTY3JvbGxiYXJNb2Rl
ICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsgfQogCiAgICAgY29uc3QgRmxvYXRTY3JvbGxT
bmFwT2Zmc2V0c0luZm8mIHNuYXBPZmZzZXRzSW5mbygpIGNvbnN0OwogICAgIHN0ZDo6b3B0aW9u
YWw8dW5zaWduZWQ+IGN1cnJlbnRIb3Jpem9udGFsU25hcFBvaW50SW5kZXgoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmNwcAppbmRleCAyMWM1MDEwNGQxMWRhOGVl
YTAwYzk1NTQwYWMxNmQzNWI0NWQyOTA0Li45Njg2NTEzM2UyY2FkMDY0NWZlOGRjNWZjZjE3NzY1
YTE2YWI5NjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBl
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuY3BwCkBAIC03
OCw0ICs3OCwyMCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBTY3Jv
bGxFbGFzdGljaXR5IGJlaGF2aW9yKQogICAgIHJldHVybiB0czsKIH0KIAorVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgU2Nyb2xsYmFyTW9kZSBiZWhhdmlvcikKK3sKKyAg
ICBzd2l0Y2ggKGJlaGF2aW9yKSB7CisgICAgY2FzZSBTY3JvbGxiYXJNb2RlOjpBdXRvOgorICAg
ICAgICB0cyA8PCAwOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjcm9sbGJhck1vZGU6OkFs
d2F5c09mZjoKKyAgICAgICAgdHMgPDwgMTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPbjoKKyAgICAgICAgdHMgPDwgMjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorICAgIHJldHVybiB0czsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKaW5kZXggNDZkNzRhMGJiMGQ2YTYwZDI0MTMwOTI0
Y2Q3MjgwMGY3YmRhNTkyYy4uMGFkMmUyN2E4N2UxMGJkNTc2N2Y0OTNiMDFhMDE5MjYwMDk5YWQ5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCkBAIC0xNDgsMTAgKzE0OCwx
MCBAQCBlbnVtIGNsYXNzIFNjcm9sbGJhck9yaWVudGF0aW9uIDogdWludDhfdCB7CiAgICAgVmVy
dGljYWwKIH07CiAKLWVudW0gU2Nyb2xsYmFyTW9kZSA6IHVpbnQ4X3QgewotICAgIFNjcm9sbGJh
ckF1dG8sCi0gICAgU2Nyb2xsYmFyQWx3YXlzT2ZmLAotICAgIFNjcm9sbGJhckFsd2F5c09uCitl
bnVtIGNsYXNzIFNjcm9sbGJhck1vZGUgOiB1aW50OF90IHsKKyAgICBBdXRvLAorICAgIEFsd2F5
c09mZiwKKyAgICBBbHdheXNPbgogfTsKIAogZW51bSBjbGFzcyBTY3JvbGxiYXJDb250cm9sU2l6
ZSA6IHVpbnQ4X3QgewpAQCAtMjYxLDYgKzI2MSw3IEBAIFdFQkNPUkVfRVhQT1JUIFdURjo6VGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxUeXBlKTsKIFdFQkNP
UkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBT
Y3JvbGxDbGFtcGluZyk7CiBXRUJDT1JFX0VYUE9SVCBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoV1RGOjpUZXh0U3RyZWFtJiwgU2Nyb2xsQmVoYXZpb3JGb3JGaXhlZEVsZW1lbnRzKTsKIFdF
QkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0m
LCBTY3JvbGxFbGFzdGljaXR5KTsKK1dFQkNPUkVfRVhQT1JUIFdURjo6VGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBTY3JvbGxiYXJNb2RlKTsKIAogc3RydWN0IFNjcm9s
bFBvc2l0aW9uQ2hhbmdlT3B0aW9ucyB7CiAgICAgU2Nyb2xsVHlwZSB0eXBlOwpAQCAtMzA0LDkg
KzMwNSw5IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6U2Nyb2xsSXNB
bmltYXRlZD4gewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpTY3JvbGxi
YXJNb2RlPiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2ViQ29y
ZTo6U2Nyb2xsYmFyTW9kZSwKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6U2Nyb2xs
YmFyQXV0bywKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZTo6U2Nyb2xsYmFyQWx3YXlz
T2ZmLAotICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpTY3JvbGxiYXJBbHdheXNPbgor
ICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvLAorICAgICAgICBXZWJDb3JlOjpT
Y3JvbGxiYXJNb2RlOjpBbHdheXNPZmYsCisgICAgICAgIFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6
OkFsd2F5c09uCiAgICAgPjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKaW5kZXggYTIwY2FhMDI0MDMyODY2YTVhNGZmNTFhMzFiNjg5YjYxNmI5MzE3Zi4uZjcyNDI0
NjVmN2M3MTc3OTFmMzU1Yjc5N2RhNjlmYWM0MjRlZmEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHAKQEAgLTE1NCwxNSArMTU0LDE1IEBAIHZvaWQgU2Nyb2xsVmlldzo6
c2V0Q2FuSGF2ZVNjcm9sbGJhcnMoYm9vbCBjYW5TY3JvbGwpCiAgICAgCiAgICAgc2Nyb2xsYmFy
TW9kZXMobmV3SG9yaXpvbnRhbE1vZGUsIG5ld1ZlcnRpY2FsTW9kZSk7CiAgICAgCi0gICAgaWYg
KGNhblNjcm9sbCAmJiBuZXdWZXJ0aWNhbE1vZGUgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQotICAg
ICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgIGlmIChjYW5TY3JvbGwg
JiYgbmV3VmVydGljYWxNb2RlID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZikKKyAgICAgICAg
bmV3VmVydGljYWxNb2RlID0gU2Nyb2xsYmFyTW9kZTo6QXV0bzsKICAgICBlbHNlIGlmICghY2Fu
U2Nyb2xsKQotICAgICAgICBuZXdWZXJ0aWNhbE1vZGUgPSBTY3JvbGxiYXJBbHdheXNPZmY7Cisg
ICAgICAgIG5ld1ZlcnRpY2FsTW9kZSA9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZjsKICAgICAK
LSAgICBpZiAoY2FuU2Nyb2xsICYmIG5ld0hvcml6b250YWxNb2RlID09IFNjcm9sbGJhckFsd2F5
c09mZikKLSAgICAgICAgbmV3SG9yaXpvbnRhbE1vZGUgPSBTY3JvbGxiYXJBdXRvOworICAgIGlm
IChjYW5TY3JvbGwgJiYgbmV3SG9yaXpvbnRhbE1vZGUgPT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlz
T2ZmKQorICAgICAgICBuZXdIb3Jpem9udGFsTW9kZSA9IFNjcm9sbGJhck1vZGU6OkF1dG87CiAg
ICAgZWxzZSBpZiAoIWNhblNjcm9sbCkKLSAgICAgICAgbmV3SG9yaXpvbnRhbE1vZGUgPSBTY3Jv
bGxiYXJBbHdheXNPZmY7CisgICAgICAgIG5ld0hvcml6b250YWxNb2RlID0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT2ZmOwogICAgIAogICAgIHNldFNjcm9sbGJhck1vZGVzKG5ld0hvcml6b250YWxN
b2RlLCBuZXdWZXJ0aWNhbE1vZGUpOwogfQpAQCAtNjM0LDE0ICs2MzQsMTQgQEAgdm9pZCBTY3Jv
bGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9z
aXRpb24pCiAgICAgU2Nyb2xsYmFyTW9kZSBoU2Nyb2xsID0gbV9ob3Jpem9udGFsU2Nyb2xsYmFy
TW9kZTsKICAgICBTY3JvbGxiYXJNb2RlIHZTY3JvbGwgPSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTW9k
ZTsKIAotICAgIGlmIChoU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pCi0gICAgICAgIG5ld0hhc0hv
cml6b250YWxTY3JvbGxiYXIgPSAoaFNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7Ci0gICAg
aWYgKHZTY3JvbGwgIT0gU2Nyb2xsYmFyQXV0bykKLSAgICAgICAgbmV3SGFzVmVydGljYWxTY3Jv
bGxiYXIgPSAodlNjcm9sbCA9PSBTY3JvbGxiYXJBbHdheXNPbik7CisgICAgaWYgKGhTY3JvbGwg
IT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJh
ciA9IChoU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKKyAgICBpZiAodlNjcm9s
bCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKQorICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJh
ciA9ICh2U2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKIAogICAgIGJvb2wgc2Ny
b2xsYmFyQWRkZWRPclJlbW92ZWQgPSBmYWxzZTsKIAotICAgIGlmIChtX3Njcm9sbGJhcnNTdXBw
cmVzc2VkIHx8IChoU2Nyb2xsICE9IFNjcm9sbGJhckF1dG8gJiYgdlNjcm9sbCAhPSBTY3JvbGxi
YXJBdXRvKSkgeworICAgIGlmIChtX3Njcm9sbGJhcnNTdXBwcmVzc2VkIHx8IChoU2Nyb2xsICE9
IFNjcm9sbGJhck1vZGU6OkF1dG8gJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKSkg
ewogICAgICAgICBpZiAoaGFzSG9yaXpvbnRhbFNjcm9sbGJhciAhPSBuZXdIYXNIb3Jpem9udGFs
U2Nyb2xsYmFyICYmIChoYXNIb3Jpem9udGFsU2Nyb2xsYmFyIHx8ICFhdm9pZFNjcm9sbGJhckNy
ZWF0aW9uKCkpKSB7CiAgICAgICAgICAgICBpZiAoc2V0SGFzSG9yaXpvbnRhbFNjcm9sbGJhcihu
ZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKSkKICAgICAgICAgICAgICAgICBzY3JvbGxiYXJBZGRl
ZE9yUmVtb3ZlZCA9IHRydWU7CkBAIC02NTcsOSArNjU3LDkgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1
cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAg
ICAgICAgIEludFNpemUgZG9jU2l6ZSA9IHRvdGFsQ29udGVudHNTaXplKCk7CiAgICAgICAgIElu
dFNpemUgZnVsbFZpc2libGVTaXplID0gdW5vYnNjdXJlZENvbnRlbnRSZWN0SW5jbHVkaW5nU2Ny
b2xsYmFycygpLnNpemUoKTsKIAotICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJBdXRv
KQorICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAg
ICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGJhciA9IGRvY1NpemUud2lkdGgoKSA+IHZpc2libGVX
aWR0aCgpOwotICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJBdXRvKQorICAgICAgICBp
ZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAgICAgbmV3SGFzVmVy
dGljYWxTY3JvbGxiYXIgPSBkb2NTaXplLmhlaWdodCgpID4gdmlzaWJsZUhlaWdodCgpOwogCiAg
ICAgICAgIGJvb2wgbmVlZEFub3RoZXJQYXNzID0gZmFsc2U7CkBAIC02NjcsMTYgKzY2NywxNiBA
QCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgU2Nyb2xsUG9zaXRpb24m
IGRlc2lyZWRQb3NpdGlvbikKICAgICAgICAgICAgIC8vIElmIHdlIGV2ZXIgdHVybiBvbmUgc2Ny
b2xsYmFyIG9mZiwgZG8gbm90IHR1cm4gdGhlIG90aGVyIG9uZSBvbi4gTmV2ZXIgZXZlcgogICAg
ICAgICAgICAgLy8gdHJ5IHRvIGJvdGggZ2Fpbi9sb3NlIGEgc2Nyb2xsYmFyIGluIHRoZSBzYW1l
IHBhc3MuCiAgICAgICAgICAgICBpZiAoIW1fdXBkYXRlU2Nyb2xsYmFyc1Bhc3MgJiYgZG9jU2l6
ZS53aWR0aCgpIDw9IGZ1bGxWaXNpYmxlU2l6ZS53aWR0aCgpICYmIGRvY1NpemUuaGVpZ2h0KCkg
PD0gZnVsbFZpc2libGVTaXplLmhlaWdodCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGhTY3Jv
bGwgPT0gU2Nyb2xsYmFyQXV0bykKKyAgICAgICAgICAgICAgICBpZiAoaFNjcm9sbCA9PSBTY3Jv
bGxiYXJNb2RlOjpBdXRvKQogICAgICAgICAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Ny
b2xsYmFyID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgaWYgKHZTY3JvbGwgPT0gU2Nyb2xsYmFy
QXV0bykKKyAgICAgICAgICAgICAgICBpZiAodlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRv
KQogICAgICAgICAgICAgICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciA9IGZhbHNlOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsYmFy
ICYmIGhhc0hvcml6b250YWxTY3JvbGxiYXIgJiYgdlNjcm9sbCAhPSBTY3JvbGxiYXJBbHdheXNP
biAmJiAhaGFzVmVydGljYWxTY3JvbGxiYXIpIHsKKyAgICAgICAgICAgIGlmICghbmV3SGFzSG9y
aXpvbnRhbFNjcm9sbGJhciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsYmFyICYmIHZTY3JvbGwgIT0g
U2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gJiYgIWhhc1ZlcnRpY2FsU2Nyb2xsYmFyKSB7CiAgICAg
ICAgICAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxiYXIgPSBmYWxzZTsKICAgICAgICAgICAg
ICAgICBuZWVkQW5vdGhlclBhc3MgPSB0cnVlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKCFuZXdIYXNWZXJ0aWNhbFNjcm9sbGJhciAmJiBoYXNWZXJ0aWNhbFNjcm9sbGJhciAmJiBo
U2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09uICYmICFoYXNIb3Jpem9udGFsU2Nyb2xsYmFyKSB7
CisgICAgICAgICAgICBpZiAoIW5ld0hhc1ZlcnRpY2FsU2Nyb2xsYmFyICYmIGhhc1ZlcnRpY2Fs
U2Nyb2xsYmFyICYmIGhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gJiYgIWhhc0hv
cml6b250YWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Ny
b2xsYmFyID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgbmVlZEFub3RoZXJQYXNzID0gdHJ1ZTsK
ICAgICAgICAgICAgIH0KQEAgLTE2MTksOCArMTYxOSw4IEBAIHZvaWQgU2Nyb2xsVmlldzo6cGxh
dGZvcm1TZXRTY3JvbGxiYXJNb2RlcygpCiAKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TY3Jv
bGxiYXJNb2RlcyhTY3JvbGxiYXJNb2RlJiBob3Jpem9udGFsLCBTY3JvbGxiYXJNb2RlJiB2ZXJ0
aWNhbCkgY29uc3QKIHsKLSAgICBob3Jpem9udGFsID0gU2Nyb2xsYmFyQXV0bzsKLSAgICB2ZXJ0
aWNhbCA9IFNjcm9sbGJhckF1dG87CisgICAgaG9yaXpvbnRhbCA9IFNjcm9sbGJhck1vZGU6OkF1
dG87CisgICAgdmVydGljYWwgPSBTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiB2b2lkIFNjcm9s
bFZpZXc6OnBsYXRmb3JtU2V0Q2FuQmxpdE9uU2Nyb2xsKGJvb2wpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmgKaW5kZXggMDc5ZjcwMjJjMjVmMzljOGRlNGM0MjgzZTRiZDk3NzEzNzg1
MmY5OC4uYTNmMGIxN2IxMzFhYjEzMDViNGU2ZGI5ODgyNTI5MTIzMmJjNGI1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaApAQCAtNTM0LDggKzUzNCw4IEBAIHByaXZhdGU6CiAK
ICAgICBSZWZQdHI8U2Nyb2xsYmFyPiBtX2hvcml6b250YWxTY3JvbGxiYXI7CiAgICAgUmVmUHRy
PFNjcm9sbGJhcj4gbV92ZXJ0aWNhbFNjcm9sbGJhcjsKLSAgICBTY3JvbGxiYXJNb2RlIG1faG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJBdXRvIH07Ci0gICAgU2Nyb2xsYmFyTW9k
ZSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhckF1dG8gfTsKKyAgICBTY3JvbGxi
YXJNb2RlIG1faG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgeyBTY3JvbGxiYXJNb2RlOjpBdXRvIH07
CisgICAgU2Nyb2xsYmFyTW9kZSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTW9kZSB7IFNjcm9sbGJhck1v
ZGU6OkF1dG8gfTsKIAogCiAgICAgLy8gRklYTUU6IE1vcmUgdGhpbmdzIHdpbGwgbW92ZSBpbnRv
IGhlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCBiMTc1
NzU0ZTBhYTIzYWMyNjdlNTlhZWE2MzRjN2M3MTA1NGE3ZDhhLi43OTc5OTdjMmVhN2FhOWY4Y2Rj
OWU4YTdkOWQ4ZjQ0NDg3MThiNTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmgKQEAgLTEyMSw5ICsxMjEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIb3Jpem9u
dGFsU2Nyb2xsRWxhc3RpY2l0eShTY3JvbGxFbGFzdGljaXR5IHNjcm9sbEVsYXN0aWNpdHkpIHsg
bV9ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eSA9IHNjcm9sbEVsYXN0aWNpdHk7IH0KICAgICBT
Y3JvbGxFbGFzdGljaXR5IGhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5KCkgY29uc3QgeyByZXR1
cm4gbV9ob3Jpem9udGFsU2Nyb2xsRWxhc3RpY2l0eTsgfQogCi0gICAgdmlydHVhbCBTY3JvbGxi
YXJNb2RlIGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xsYmFy
QXV0bzsgfQotICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUo
KSBjb25zdCB7IHJldHVybiBTY3JvbGxiYXJBdXRvOyB9Ci0gICAgYm9vbCBjYW5IYXZlU2Nyb2xs
YmFycygpIGNvbnN0IHsgcmV0dXJuIGhvcml6b250YWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xs
YmFyQWx3YXlzT2ZmIHx8IHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5
c09mZjsgfQorICAgIHZpcnR1YWwgU2Nyb2xsYmFyTW9kZSBob3Jpem9udGFsU2Nyb2xsYmFyTW9k
ZSgpIGNvbnN0IHsgcmV0dXJuIFNjcm9sbGJhck1vZGU6OkF1dG87IH0KKyAgICB2aXJ0dWFsIFNj
cm9sbGJhck1vZGUgdmVydGljYWxTY3JvbGxiYXJNb2RlKCkgY29uc3QgeyByZXR1cm4gU2Nyb2xs
YmFyTW9kZTo6QXV0bzsgfQorICAgIGJvb2wgY2FuSGF2ZVNjcm9sbGJhcnMoKSBjb25zdCB7IHJl
dHVybiBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9sbGJhck1vZGU6OkFsd2F5c09m
ZiB8fCB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7
IH0KIAogICAgIHZpcnR1YWwgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFySGlkZGVuQnlTdHlsZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIHZlcnRpY2FsU2Nyb2xs
YmFySGlkZGVuQnlTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dBS1Njcm9sbFZpZXcubW0KaW5kZXggNTAxYTY4YmVh
OTA3ODhkOWJjOTM2OTczMGU3Mzk0NzY1OWE0NjQyZi4uNWY2MDBkNjcxZjNlZDU1ZmRjYmRhZTYz
NGRmZWUyMDYyOTJiN2QxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L3dhay9XQUtTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV0FLU2Nyb2xsVmlldy5tbQpAQCAtMTk0LDEyICsxOTQsMTIgQEAgc3RhdGljIHZvaWQgX25v
dGlmaWNhdGlvbkNhbGxiYWNrKFdLVmlld1JlZiB2LCBXS1ZpZXdOb3RpZmljYXRpb25UeXBlIHR5
cGUsIHZvaWQKIAogLSAoV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSlob3Jpem9udGFsU2Nyb2xsaW5n
TW9kZQogewotICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJBdXRvOworICAgIHJldHVybiBX
ZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiAtIChXZWJDb3JlOjpTY3JvbGxiYXJN
b2RlKXZlcnRpY2FsU2Nyb2xsaW5nTW9kZQogewotICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxi
YXJBdXRvOworICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBdXRvOwogfQogCiAj
cHJhZ21hIG1hcmsgLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYW1lQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNl
LmNwcAppbmRleCBiMDk1ZDhlNGFjYTdmYWY2OTNkY2U5MjYxOGFiM2Q0ODg0MTg3ZGU5Li40NGQ0
OGZjMmU1OGM2N2MyNzEyYzllYzNhMGYzMjQ0OWIxOTZhYzVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVCYXNlLmNwcApAQCAtOTMsNyArOTMsNyBAQCB2b2lkIFJl
bmRlckZyYW1lQmFzZTo6cGVyZm9ybUxheW91dFdpdGhGbGF0dGVuaW5nKGJvb2wgaGFzRml4ZWRX
aWR0aCwgYm9vbCBoYXNGaQogICAgIC8vIGlmIHNjcm9sbGJhcnMgYXJlIG9mZiwgYW5kIHRoZSB3
aWR0aCBvciBoZWlnaHQgYXJlIGZpeGVkCiAgICAgLy8gd2Ugb2JleSB0aGVtIGFuZCBkbyBub3Qg
ZXhwYW5kLiBXaXRoIGZyYW1lIGZsYXR0ZW5pbmcKICAgICAvLyBubyBzdWJmcmFtZSBtdWNoIGV2
ZXIgYmVjb21lIHNjcm9sbGFibGUuCi0gICAgYm9vbCBpc1Njcm9sbGFibGUgPSBmcmFtZU93bmVy
RWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSAhPSBTY3JvbGxiYXJBbHdheXNPZmY7CisgICAgYm9v
bCBpc1Njcm9sbGFibGUgPSBmcmFtZU93bmVyRWxlbWVudCgpLnNjcm9sbGluZ01vZGUoKSAhPSBT
Y3JvbGxiYXJNb2RlOjpBbHdheXNPZmY7CiAKICAgICAvLyBjb25zaWRlciBpZnJhbWUgaW5zZXQg
Ym9yZGVyCiAgICAgaW50IGhCb3JkZXIgPSBib3JkZXJMZWZ0KCkgKyBib3JkZXJSaWdodCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1lLmNwcAppbmRleCA0YjI3NjFlMTk4
NzdiZWZkY2FlZWMxNWZiNDhmY2U3MzYzYWIyZDVjLi4xNmZjODgwY2MzMjQ1NDlhNDE1ZmE3YzVi
N2ViOWRhZDkzMDUwOTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySUZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySUZyYW1l
LmNwcApAQCAtODYsNyArODYsNyBAQCBib29sIFJlbmRlcklGcmFtZTo6ZmxhdHRlbkZyYW1lKCkg
Y29uc3QKIAogICAgIGlmIChzdHlsZSgpLndpZHRoKCkuaXNGaXhlZCgpICYmIHN0eWxlKCkuaGVp
Z2h0KCkuaXNGaXhlZCgpKSB7CiAgICAgICAgIC8vIERvIG5vdCBmbGF0dGVuIGlmcmFtZXMgd2l0
aCBzY3JvbGxpbmc9Im5vIi4KLSAgICAgICAgaWYgKGlmcmFtZUVsZW1lbnQoKS5zY3JvbGxpbmdN
b2RlKCkgPT0gU2Nyb2xsYmFyQWx3YXlzT2ZmKQorICAgICAgICBpZiAoaWZyYW1lRWxlbWVudCgp
LnNjcm9sbGluZ01vZGUoKSA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIC8vIERvIG5vdCBmbGF0dGVuIGlmcmFtZXMgdGhhdCBo
YXZlIHplcm8gc2l6ZSwgYXMgZmxhdHRlbmluZyBtaWdodCBtYWtlIHRoZW0gdmlzaWJsZS4KICAg
ICAgICAgaWYgKHN0eWxlKCkud2lkdGgoKS52YWx1ZSgpIDw9IDAgfHwgc3R5bGUoKS5oZWlnaHQo
KS52YWx1ZSgpIDw9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCAxNGE1MTE5MjA2YjdlNjA5OTU3YzkxYjNiNzQ3ZjRiYjUxYjNkN2EwLi42MjMzYjVjYzU2
ZmI5ODdmNjBkYzY2OWE3ODU0NThlNzI3ZGIyOGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTI0MDEsNyArMjQwMSw3IEBAIExheW91dFNpemUgUmVuZGVy
TGF5ZXI6Om9mZnNldEZyb21BbmNlc3Rvcihjb25zdCBSZW5kZXJMYXllciogYW5jZXN0b3JMYXll
ciwgQ29sCiBzdGF0aWMgaW5saW5lIGJvb2wgZnJhbWVFbGVtZW50QW5kVmlld1Blcm1pdFNjcm9s
bChIVE1MRnJhbWVFbGVtZW50QmFzZSogZnJhbWVFbGVtZW50QmFzZSwgRnJhbWVWaWV3JiBmcmFt
ZVZpZXcpCiB7CiAgICAgLy8gSWYgc2Nyb2xsYmFycyBhcmVuJ3QgZXhwbGljaXRseSBmb3JiaWRk
ZW4sIHBlcm1pdCBzY3JvbGxpbmcuCi0gICAgaWYgKGZyYW1lRWxlbWVudEJhc2UgJiYgZnJhbWVF
bGVtZW50QmFzZS0+c2Nyb2xsaW5nTW9kZSgpICE9IFNjcm9sbGJhckFsd2F5c09mZikKKyAgICBp
ZiAoZnJhbWVFbGVtZW50QmFzZSAmJiBmcmFtZUVsZW1lbnRCYXNlLT5zY3JvbGxpbmdNb2RlKCkg
IT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IC8vIElmIHNjcm9sbGJhcnMgYXJlIGZvcmJpZGRlbiwgdXNlciBpbml0aWF0ZWQgc2Nyb2xscyBz
aG91bGQgb2J2aW91c2x5IGJlIGlnbm9yZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDU1ODMyMTBiNTUxNDA2ODZhMmVjNGE3MTEy
ZWEzZTU2YzEwYmIyMGIuLjIzZDY2Y2Y5NWI2Mzk2NzRkNGZhNWYzNTUxNDMyNTA4MTYyMjVlM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
CkBAIC00MDMsMTAgKzQwMywxMCBAQCBzdGF0aWMgVGlsZWRCYWNraW5nOjpUaWxlQ292ZXJhZ2Ug
Y29tcHV0ZVBhZ2VUaWxlZEJhY2tpbmdDb3ZlcmFnZShjb25zdCBSZW5kZXJMYQogICAgIGJvb2wg
dXNlTWluaW1hbFRpbGVzRHVyaW5nTGl2ZVJlc2l6ZSA9IGZyYW1lVmlldy5pbkxpdmVSZXNpemUo
KTsKICAgICBpZiAoZnJhbWVWaWV3LnNwZWN1bGF0aXZlVGlsaW5nRW5hYmxlZCgpICYmICF1c2VN
aW5pbWFsVGlsZXNEdXJpbmdMaXZlUmVzaXplKSB7CiAgICAgICAgIGJvb2wgY2xpcHNUb0V4cG9z
ZWRSZWN0ID0gc3RhdGljX2Nhc3Q8Ym9vbD4oZnJhbWVWaWV3LnZpZXdFeHBvc2VkUmVjdCgpKTsK
LSAgICAgICAgaWYgKGZyYW1lVmlldy5ob3Jpem9udGFsU2Nyb2xsYmFyTW9kZSgpICE9IFNjcm9s
bGJhckFsd2F5c09mZiB8fCBjbGlwc1RvRXhwb3NlZFJlY3QpCisgICAgICAgIGlmIChmcmFtZVZp
ZXcuaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYg
fHwgY2xpcHNUb0V4cG9zZWRSZWN0KQogICAgICAgICAgICAgdGlsZUNvdmVyYWdlIHw9IFRpbGVk
QmFja2luZzo6Q292ZXJhZ2VGb3JIb3Jpem9udGFsU2Nyb2xsaW5nOwogCi0gICAgICAgIGlmIChm
cmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmIHx8
IGNsaXBzVG9FeHBvc2VkUmVjdCkKKyAgICAgICAgaWYgKGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9s
bGJhck1vZGUoKSAhPSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYgfHwgY2xpcHNUb0V4cG9zZWRS
ZWN0KQogICAgICAgICAgICAgdGlsZUNvdmVyYWdlIHw9IFRpbGVkQmFja2luZzo6Q292ZXJhZ2VG
b3JWZXJ0aWNhbFNjcm9sbGluZzsKICAgICB9CiAgICAgcmV0dXJuIHRpbGVDb3ZlcmFnZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGU0OGE2OGRmZjFlZmVkYTliYTkyMzlj
MmFlZjJmYjlkNDdkMWYzMTcuLjRiZGJiY2NkM2ZiYzYyMGUwNzU0MTA1Y2VhMDllZGRmMDUxMjBi
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTUyOCwxMCArMTUyOCwx
MCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JO
ZXdQYWdlKCkKICAgICAgICAgJiYgd2ViUGFnZS0+c2hvdWxkVXNlQ3VzdG9tQ29udGVudFByb3Zp
ZGVyRm9yUmVzcG9uc2UobV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmRvY3VtZW50TG9h
ZGVyKCktPnJlc3BvbnNlKCkpOwogICAgIG1fZnJhbWVDYW1lRnJvbUJhY2tGb3J3YXJkQ2FjaGUg
PSBmYWxzZTsKIAotICAgIFNjcm9sbGJhck1vZGUgZGVmYXVsdFNjcm9sbGJhck1vZGUgPSBzaG91
bGRIaWRlU2Nyb2xsYmFycyA/IFNjcm9sbGJhckFsd2F5c09mZiA6IFNjcm9sbGJhckF1dG87Cisg
ICAgU2Nyb2xsYmFyTW9kZSBkZWZhdWx0U2Nyb2xsYmFyTW9kZSA9IHNob3VsZEhpZGVTY3JvbGxi
YXJzID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2ZmIDogU2Nyb2xsYmFyTW9kZTo6QXV0bzsKIAot
ICAgIFNjcm9sbGJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbGJhck1vZGUgPSB3ZWJQYWdlLT5hbHdh
eXNTaG93c0hvcml6b250YWxTY3JvbGxlcigpID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBkZWZhdWx0
U2Nyb2xsYmFyTW9kZTsKLSAgICBTY3JvbGxiYXJNb2RlIHZlcnRpY2FsU2Nyb2xsYmFyTW9kZSA9
IHdlYlBhZ2UtPmFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcigpID8gU2Nyb2xsYmFyQWx3YXlz
T24gOiBkZWZhdWx0U2Nyb2xsYmFyTW9kZTsKKyAgICBTY3JvbGxiYXJNb2RlIGhvcml6b250YWxT
Y3JvbGxiYXJNb2RlID0gd2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKSA/
IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uIDogZGVmYXVsdFNjcm9sbGJhck1vZGU7CisgICAgU2Ny
b2xsYmFyTW9kZSB2ZXJ0aWNhbFNjcm9sbGJhck1vZGUgPSB3ZWJQYWdlLT5hbHdheXNTaG93c1Zl
cnRpY2FsU2Nyb2xsZXIoKSA/IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uIDogZGVmYXVsdFNjcm9s
bGJhck1vZGU7CiAKICAgICBib29sIGhvcml6b250YWxMb2NrID0gc2hvdWxkSGlkZVNjcm9sbGJh
cnMgfHwgd2ViUGFnZS0+YWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIoKTsKICAgICBib29s
IHZlcnRpY2FsTG9jayA9IHNob3VsZEhpZGVTY3JvbGxiYXJzIHx8IHdlYlBhZ2UtPmFsd2F5c1No
b3dzVmVydGljYWxTY3JvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCA0MTM5MTJiNDM5YTZkYWM4NDhlYjdlNGEzMzE2OTAzMjEyOGE1
YjY1Li5jY2ZhMGRkNTU0ZDY0ZWM4MDkyZjkxZGNlYWJjN2E1ZDA0N2E1ZTVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjE1NCw3ICs2MTU0
LDcgQEAgdm9pZCBXZWJQYWdlOjpzZXRBbHdheXNTaG93c0hvcml6b250YWxTY3JvbGxlcihib29s
IGFsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGUKICAgICBhdXRvIHZpZXcgPSBjb3JlUGFnZSgp
LT5tYWluRnJhbWUoKS52aWV3KCk7CiAgICAgaWYgKCFhbHdheXNTaG93c0hvcml6b250YWxTY3Jv
bGxlcikKICAgICAgICAgdmlldy0+c2V0SG9yaXpvbnRhbFNjcm9sbGJhckxvY2soZmFsc2UpOwot
ICAgIHZpZXctPnNldEhvcml6b250YWxTY3JvbGxiYXJNb2RlKGFsd2F5c1Nob3dzSG9yaXpvbnRh
bFNjcm9sbGVyID8gU2Nyb2xsYmFyQWx3YXlzT24gOiBtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSA/
IFNjcm9sbGJhckF1dG8gOiBTY3JvbGxiYXJBbHdheXNPZmYsIGFsd2F5c1Nob3dzSG9yaXpvbnRh
bFNjcm9sbGVyIHx8ICFtX21haW5GcmFtZUlzU2Nyb2xsYWJsZSk7CisgICAgdmlldy0+c2V0SG9y
aXpvbnRhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIgPyBTY3Jv
bGxiYXJNb2RlOjpBbHdheXNPbiA6IG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID8gU2Nyb2xsYmFy
TW9kZTo6QXV0byA6IFNjcm9sbGJhck1vZGU6OkFsd2F5c09mZiwgYWx3YXlzU2hvd3NIb3Jpem9u
dGFsU2Nyb2xsZXIgfHwgIW1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlKTsKIH0KIAogdm9pZCBXZWJQ
YWdlOjpzZXRBbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIoYm9vbCBhbHdheXNTaG93c1ZlcnRp
Y2FsU2Nyb2xsZXIpCkBAIC02MTY2LDcgKzYxNjYsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldEFsd2F5
c1Nob3dzVmVydGljYWxTY3JvbGxlcihib29sIGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlcikK
ICAgICBhdXRvIHZpZXcgPSBjb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCk7CiAgICAgaWYg
KCFhbHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIpCiAgICAgICAgIHZpZXctPnNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jayhmYWxzZSk7Ci0gICAgdmlldy0+c2V0VmVydGljYWxTY3JvbGxiYXJNb2Rl
KGFsd2F5c1Nob3dzVmVydGljYWxTY3JvbGxlciA/IFNjcm9sbGJhckFsd2F5c09uIDogbV9tYWlu
RnJhbWVJc1Njcm9sbGFibGUgPyBTY3JvbGxiYXJBdXRvIDogU2Nyb2xsYmFyQWx3YXlzT2ZmLCBh
bHdheXNTaG93c1ZlcnRpY2FsU2Nyb2xsZXIgfHwgIW1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlKTsK
KyAgICB2aWV3LT5zZXRWZXJ0aWNhbFNjcm9sbGJhck1vZGUoYWx3YXlzU2hvd3NWZXJ0aWNhbFNj
cm9sbGVyID8gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT24gOiBtX21haW5GcmFtZUlzU2Nyb2xsYWJs
ZSA/IFNjcm9sbGJhck1vZGU6OkF1dG8gOiBTY3JvbGxiYXJNb2RlOjpBbHdheXNPZmYsIGFsd2F5
c1Nob3dzVmVydGljYWxTY3JvbGxlciB8fCAhbV9tYWluRnJhbWVJc1Njcm9sbGFibGUpOwogfQog
CiB2b2lkIFdlYlBhZ2U6OnNldE1pbmltdW1TaXplRm9yQXV0b0xheW91dChjb25zdCBJbnRTaXpl
JiBzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQppbmRleCBhYzljMWVmOGI3ODQxNTAy
ZmU5YzhmOTEwZmQ1YjhmYzJmOGY1NzUwLi5iODQ5ZDJhYWMyYTkzZmJlZTQxNzI5ZjI0YTg2Y2Rj
ZjZiMWZlMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTQ2OCw3ICsxNDY4
LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9y
TmV3UGFnZSgpCiAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRUaXRsZSh7IFtkYXRhU291cmNl
IHBhZ2VUaXRsZV0sIFdlYkNvcmU6OlRleHREaXJlY3Rpb246OkxUUiB9KTsKIAogICAgIGlmIChh
dXRvKiBvd25lckVsZW1lbnQgPSBjb3JlRnJhbWUtPm93bmVyRWxlbWVudCgpKQotICAgICAgICBj
b3JlRnJhbWUtPnZpZXcoKS0+c2V0Q2FuSGF2ZVNjcm9sbGJhcnMob3duZXJFbGVtZW50LT5zY3Jv
bGxpbmdNb2RlKCkgIT0gV2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT2ZmKTsKKyAgICAgICAgY29y
ZUZyYW1lLT52aWV3KCktPnNldENhbkhhdmVTY3JvbGxiYXJzKG93bmVyRWxlbWVudC0+c2Nyb2xs
aW5nTW9kZSgpICE9IFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09mZik7CiAKICAgICAv
LyBJZiB0aGUgZG9jdW1lbnQgdmlldyBpbXBsaWNpdGx5IGJlY2FtZSBmaXJzdCByZXNwb25kZXIs
IG1ha2Ugc3VyZSB0byBzZXQgdGhlIGZvY3VzZWQgZnJhbWUgcHJvcGVybHkuCiAgICAgaWYgKFtb
ZG9jdW1lbnRWaWV3IHdpbmRvd10gZmlyc3RSZXNwb25kZXJdID09IGRvY3VtZW50Vmlldykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Ny
b2xsQmFyc1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFt
aWNTY3JvbGxCYXJzVmlldy5tbQppbmRleCA1NmRjY2E4YTcyNGY1MGUyYjBiNGY5NmJjYmZhNThj
Njk4MTE0NDhlLi4wMzhhOWM3NjUxNDcyZjVkN2NmMzA4Yzk1MzdlZTU3NDFmMTQzODAyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxC
YXJzVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkR5bmFt
aWNTY3JvbGxCYXJzVmlldy5tbQpAQCAtMTMzLDEwICsxMzMsMTAgQEAgc3RhdGljIENsYXNzIGN1
c3RvbVNjcm9sbGVyQ2xhc3M7CiB7CiAgICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xsTW9kZUxvY2tl
ZCkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChmbGFnICYmIF9wcml2YXRlLT5oU2Nyb2xsID09
IFNjcm9sbGJhckFsd2F5c09mZikKLSAgICAgICAgX3ByaXZhdGUtPmhTY3JvbGwgPSBTY3JvbGxi
YXJBdXRvOwotICAgIGVsc2UgaWYgKCFmbGFnICYmIF9wcml2YXRlLT5oU2Nyb2xsICE9IFNjcm9s
bGJhckFsd2F5c09mZikKLSAgICAgICAgX3ByaXZhdGUtPmhTY3JvbGwgPSBTY3JvbGxiYXJBbHdh
eXNPZmY7CisgICAgaWYgKGZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFyTW9k
ZTo6QWx3YXlzT2ZmKQorICAgICAgICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJhck1vZGU6
OkF1dG87CisgICAgZWxzZSBpZiAoIWZsYWcgJiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmKQorICAgICAgICBfcHJpdmF0ZS0+aFNjcm9sbCA9IFNjcm9sbGJh
ck1vZGU6OkFsd2F5c09mZjsKICAgICBbc2VsZiB1cGRhdGVTY3JvbGxlcnNdOwogfQogCkBAIC0z
MDAsMTIgKzMwMCwxMiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJh
cnNQYXNzID0gMjsKICAgICAgICAgbmV3SGFzVmVydGljYWxTY3JvbGxlciA9IE5POwogICAgIH0K
IAotICAgIGlmIChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3JvbGxiYXJBdXRvKQotICAgICAgICBu
ZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSAoX3ByaXZhdGUtPmhTY3JvbGwgPT0gU2Nyb2xsYmFy
QWx3YXlzT24pOwotICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJBdXRvKQot
ICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gKF9wcml2YXRlLT52U2Nyb2xsID09IFNj
cm9sbGJhckFsd2F5c09uKTsKKyAgICBpZiAoX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFy
TW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gKF9wcml2YXRl
LT5oU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkFsd2F5c09uKTsKKyAgICBpZiAoX3ByaXZhdGUt
PnZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QXV0bykKKyAgICAgICAgbmV3SGFzVmVydGljYWxT
Y3JvbGxlciA9IChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBbHdheXNPbik7
CiAKLSAgICBpZiAoIWRvY3VtZW50VmlldyB8fCBfcHJpdmF0ZS0+c3VwcHJlc3NMYXlvdXQgfHwg
X3ByaXZhdGUtPnN1cHByZXNzU2Nyb2xsZXJzIHx8IChfcHJpdmF0ZS0+aFNjcm9sbCAhPSBTY3Jv
bGxiYXJBdXRvICYmIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhckF1dG8pKSB7CisgICAg
aWYgKCFkb2N1bWVudFZpZXcgfHwgX3ByaXZhdGUtPnN1cHByZXNzTGF5b3V0IHx8IF9wcml2YXRl
LT5zdXBwcmVzc1Njcm9sbGVycyB8fCAoX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xsYmFyTW9k
ZTo6QXV0byAmJiBfcHJpdmF0ZS0+dlNjcm9sbCAhPSBTY3JvbGxiYXJNb2RlOjpBdXRvKSkgewog
ICAgICAgICBfcHJpdmF0ZS0+aG9yaXpvbnRhbFNjcm9sbGluZ0FsbG93ZWRCdXRTY3JvbGxlckhp
ZGRlbiA9IG5ld0hhc0hvcml6b250YWxTY3JvbGxlciAmJiBfcHJpdmF0ZS0+YWx3YXlzSGlkZUhv
cml6b250YWxTY3JvbGxlcjsKICAgICAgICAgaWYgKF9wcml2YXRlLT5ob3Jpem9udGFsU2Nyb2xs
aW5nQWxsb3dlZEJ1dFNjcm9sbGVySGlkZGVuKQogICAgICAgICAgICAgbmV3SGFzSG9yaXpvbnRh
bFNjcm9sbGVyID0gTk87CkBAIC0zNDIsMTMgKzM0MiwxMyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKICAgICBmcmFtZVNpemUud2lkdGggPSBj
ZWlsZihmcmFtZVNpemUud2lkdGgpOwogICAgIGZyYW1lU2l6ZS5oZWlnaHQgPSBjZWlsZihmcmFt
ZVNpemUuaGVpZ2h0KTsKIAotICAgIGlmIChfcHJpdmF0ZS0+aFNjcm9sbCA9PSBTY3JvbGxiYXJB
dXRvKSB7CisgICAgaWYgKF9wcml2YXRlLT5oU2Nyb2xsID09IFNjcm9sbGJhck1vZGU6OkF1dG8p
IHsKICAgICAgICAgbmV3SGFzSG9yaXpvbnRhbFNjcm9sbGVyID0gZG9jdW1lbnRTaXplLndpZHRo
ID4gdmlzaWJsZVNpemUud2lkdGg7CiAgICAgICAgIGlmIChuZXdIYXNIb3Jpem9udGFsU2Nyb2xs
ZXIgJiYgIV9wcml2YXRlLT5pblVwZGF0ZVNjcm9sbGVyc0xheW91dFBhc3MgJiYgZG9jdW1lbnRT
aXplLmhlaWdodCA8PSBmcmFtZVNpemUuaGVpZ2h0ICYmIGRvY3VtZW50U2l6ZS53aWR0aCA8PSBm
cmFtZVNpemUud2lkdGgpCiAgICAgICAgICAgICBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgPSBO
TzsKICAgICB9CiAKLSAgICBpZiAoX3ByaXZhdGUtPnZTY3JvbGwgPT0gU2Nyb2xsYmFyQXV0bykg
eworICAgIGlmIChfcHJpdmF0ZS0+dlNjcm9sbCA9PSBTY3JvbGxiYXJNb2RlOjpBdXRvKSB7CiAg
ICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSBkb2N1bWVudFNpemUuaGVpZ2h0ID4gdmlz
aWJsZVNpemUuaGVpZ2h0OwogICAgICAgICBpZiAobmV3SGFzVmVydGljYWxTY3JvbGxlciAmJiAh
X3ByaXZhdGUtPmluVXBkYXRlU2Nyb2xsZXJzTGF5b3V0UGFzcyAmJiBkb2N1bWVudFNpemUuaGVp
Z2h0IDw9IGZyYW1lU2l6ZS5oZWlnaHQgJiYgZG9jdW1lbnRTaXplLndpZHRoIDw9IGZyYW1lU2l6
ZS53aWR0aCkKICAgICAgICAgICAgIG5ld0hhc1ZlcnRpY2FsU2Nyb2xsZXIgPSBOTzsKQEAgLTM1
Niw5ICszNTYsOSBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQ
YXNzID0gMjsKIAogICAgIC8vIFVubGVzcyBpbiBTY3JvbGxiYXJzQWx3YXlzT24gbW9kZSwgaWYg
d2UgZXZlciB0dXJuIG9uZSBzY3JvbGxiYXIgb2ZmLCBhbHdheXMgdHVybiB0aGUgb3RoZXIgb25l
IG9mZiB0b28uCiAgICAgLy8gTmV2ZXIgZXZlciB0cnkgdG8gYm90aCBnYWluL2xvc2UgYSBzY3Jv
bGxiYXIgaW4gdGhlIHNhbWUgcGFzcy4KLSAgICBpZiAoIW5ld0hhc0hvcml6b250YWxTY3JvbGxl
ciAmJiBoYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xs
YmFyQWx3YXlzT24pCisgICAgaWYgKCFuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgaGFzSG9y
aXpvbnRhbFNjcm9sbGVyICYmIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhck1vZGU6OkFs
d2F5c09uKQogICAgICAgICBuZXdIYXNWZXJ0aWNhbFNjcm9sbGVyID0gTk87Ci0gICAgaWYgKCFu
ZXdIYXNWZXJ0aWNhbFNjcm9sbGVyICYmIGhhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgX3ByaXZhdGUt
PmhTY3JvbGwgIT0gU2Nyb2xsYmFyQWx3YXlzT24pCisgICAgaWYgKCFuZXdIYXNWZXJ0aWNhbFNj
cm9sbGVyICYmIGhhc1ZlcnRpY2FsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Ny
b2xsYmFyTW9kZTo6QWx3YXlzT24pCiAgICAgICAgIG5ld0hhc0hvcml6b250YWxTY3JvbGxlciA9
IE5POwogCiAgICAgX3ByaXZhdGUtPmhvcml6b250YWxTY3JvbGxpbmdBbGxvd2VkQnV0U2Nyb2xs
ZXJIaWRkZW4gPSBuZXdIYXNIb3Jpem9udGFsU2Nyb2xsZXIgJiYgX3ByaXZhdGUtPmFsd2F5c0hp
ZGVIb3Jpem9udGFsU2Nyb2xsZXI7CkBAIC00MzgsMTIgKzQzOCwxMiBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJhcnNQYXNzID0gMjsKIAogLSAoQk9PTClhbGxvd3NI
b3Jpem9udGFsU2Nyb2xsaW5nCiB7Ci0gICAgcmV0dXJuIF9wcml2YXRlLT5oU2Nyb2xsICE9IFNj
cm9sbGJhckFsd2F5c09mZjsKKyAgICByZXR1cm4gX3ByaXZhdGUtPmhTY3JvbGwgIT0gU2Nyb2xs
YmFyTW9kZTo6QWx3YXlzT2ZmOwogfQogCiAtIChCT09MKWFsbG93c1ZlcnRpY2FsU2Nyb2xsaW5n
CiB7Ci0gICAgcmV0dXJuIF9wcml2YXRlLT52U2Nyb2xsICE9IFNjcm9sbGJhckFsd2F5c09mZjsK
KyAgICByZXR1cm4gX3ByaXZhdGUtPnZTY3JvbGwgIT0gU2Nyb2xsYmFyTW9kZTo6QWx3YXlzT2Zm
OwogfQogCiAtICh2b2lkKXNjcm9sbGluZ01vZGVzOihXZWJDb3JlOjpTY3JvbGxiYXJNb2RlKilo
TW9kZSB2ZXJ0aWNhbDooV2ViQ29yZTo6U2Nyb2xsYmFyTW9kZSopdk1vZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBhYmExMDQxM2NkODc4OWI3ZGEz
M2FjOTYzY2I4MGUzMTAyMmUzODZlLi4wYzM5NmM4YjI3ODhiN2EyZWRlNzQxNTJlY2RkYTFhMjk4
ZTA1OTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBA
IC0zNjU4LDI3ICszNjU4LDI3IEBAIElHTk9SRV9XQVJOSU5HU19FTkQKIHsKICAgICBXZWJEeW5h
bWljU2Nyb2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0gZnJhbWVW
aWV3XSBfc2Nyb2xsVmlld107CiAgICAgaWYgKGZsYWcpIHsKLSAgICAgICAgW3Njcm9sbHZpZXcg
c2V0VmVydGljYWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhckFsd2F5c09uIGFuZExv
Y2s6WUVTXTsKKyAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVydGljYWxTY3JvbGxpbmdNb2RlOldl
YkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09uIGFuZExvY2s6WUVTXTsKICAgICB9IGVsc2Ug
ewogICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGVMb2NrZWQ6Tk9d
OwotICAgICAgICBbc2Nyb2xsdmlldyBzZXRWZXJ0aWNhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6
U2Nyb2xsYmFyQXV0byBhbmRMb2NrOk5PXTsKKyAgICAgICAgW3Njcm9sbHZpZXcgc2V0VmVydGlj
YWxTY3JvbGxpbmdNb2RlOldlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkF1dG8gYW5kTG9jazpOT107
CiAgICAgfQogfQogCiAtIChCT09MKWFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbGVyCiB7CiAgICAg
V2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3ID0gW1tbc2VsZiBtYWluRnJhbWVd
IGZyYW1lVmlld10gX3Njcm9sbFZpZXddOwotICAgIHJldHVybiBbc2Nyb2xsdmlldyB2ZXJ0aWNh
bFNjcm9sbGluZ01vZGVMb2NrZWRdICYmIFtzY3JvbGx2aWV3IHZlcnRpY2FsU2Nyb2xsaW5nTW9k
ZV0gPT0gV2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlzT247CisgICAgcmV0dXJuIFtzY3JvbGx2aWV3
IHZlcnRpY2FsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZpZXcgdmVydGljYWxTY3Jv
bGxpbmdNb2RlXSA9PSBXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbjsKIH0KIAogLSAo
dm9pZClzZXRBbHdheXNTaG93SG9yaXpvbnRhbFNjcm9sbGVyOihCT09MKWZsYWcKIHsKICAgICBX
ZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcgKnNjcm9sbHZpZXcgPSBbW1tzZWxmIG1haW5GcmFtZV0g
ZnJhbWVWaWV3XSBfc2Nyb2xsVmlld107CiAgICAgaWYgKGZsYWcpIHsKLSAgICAgICAgW3Njcm9s
bHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01vZGU6V2ViQ29yZTo6U2Nyb2xsYmFyQWx3YXlz
T24gYW5kTG9jazpZRVNdOworICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xs
aW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpBbHdheXNPbiBhbmRMb2NrOllFU107CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgW3Njcm9sbHZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbGluZ01v
ZGVMb2NrZWQ6Tk9dOwotICAgICAgICBbc2Nyb2xsdmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5n
TW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJBdXRvIGFuZExvY2s6Tk9dOworICAgICAgICBbc2Nyb2xs
dmlldyBzZXRIb3Jpem9udGFsU2Nyb2xsaW5nTW9kZTpXZWJDb3JlOjpTY3JvbGxiYXJNb2RlOjpB
dXRvIGFuZExvY2s6Tk9dOwogICAgIH0KIH0KIApAQCAtMzY5MSw3ICszNjkxLDcgQEAgSUdOT1JF
X1dBUk5JTkdTX0VORAogLSAoQk9PTClhbHdheXNTaG93SG9yaXpvbnRhbFNjcm9sbGVyCiB7CiAg
ICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGx2aWV3ID0gW1tbc2VsZiBtYWluRnJh
bWVdIGZyYW1lVmlld10gX3Njcm9sbFZpZXddOwotICAgIHJldHVybiBbc2Nyb2xsdmlldyBob3Jp
em9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZpZXcgaG9yaXpvbnRhbFNjcm9s
bGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9sbGJhckFsd2F5c09uOworICAgIHJldHVybiBbc2Ny
b2xsdmlldyBob3Jpem9udGFsU2Nyb2xsaW5nTW9kZUxvY2tlZF0gJiYgW3Njcm9sbHZpZXcgaG9y
aXpvbnRhbFNjcm9sbGluZ01vZGVdID09IFdlYkNvcmU6OlNjcm9sbGJhck1vZGU6OkFsd2F5c09u
OwogfQogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>