<?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>195684</bug_id>
          
          <creation_ts>2019-03-13 10:27:53 -0700</creation_ts>
          <short_desc>REGRESSION(PSON, r240660): Navigation over process boundary is flashy when using Cmd-left/right arrow to navigate</short_desc>
          <delta_ts>2019-04-01 20:13:09 -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>WebKit2</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1516024</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 10:27:53 -0700</bug_when>
    <thetext>Navigation over process boundary is flashy when using Cmd-left/right arrow to navigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516025</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 10:28:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/48294714&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516089</commentid>
    <comment_count>2</comment_count>
      <attachid>364560</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 12:07:37 -0700</bug_when>
    <thetext>Created attachment 364560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516114</commentid>
    <comment_count>3</comment_count>
      <attachid>364560</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-03-13 12:59:36 -0700</bug_when>
    <thetext>Comment on attachment 364560
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        When a navigation is triggered by JS (and not the client), we create the Navigation object in

Cmd-left/right arrow involves JS?

&gt; Source/WebCore/ChangeLog:22
&gt; +        This is a lot error prone, the WebProcess knows more accurately which history items it is going

&quot;a lot error prone&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516116</commentid>
    <comment_count>4</comment_count>
      <attachid>364560</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 13:01:35 -0700</bug_when>
    <thetext>Comment on attachment 364560
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        When a navigation is triggered by JS (and not the client), we create the Navigation object in
&gt; 
&gt; Cmd-left/right arrow involves JS?

Not JS but it is a navigation triggered by the WebProcess as opposed by the UIProcess. It seems to be the same code path as navigating via JS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516117</commentid>
    <comment_count>5</comment_count>
      <attachid>364565</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-13 13:05:30 -0700</bug_when>
    <thetext>Created attachment 364565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516142</commentid>
    <comment_count>6</comment_count>
      <attachid>364565</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 13:32:54 -0700</bug_when>
    <thetext>Comment on attachment 364565
Patch

Clearing flags on attachment: 364565

Committed r242903: &lt;https://trac.webkit.org/changeset/242903&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1516143</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-13 13:32:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523166</commentid>
    <comment_count>8</comment_count>
      <attachid>364565</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-01 18:49:51 -0700</bug_when>
    <thetext>Comment on attachment 364565
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:4522
&gt; +                WTFLogAlways(&quot;WebPageProxy::decidePolicyForNavigationAction() creates back/forward navigation from item %s&quot;, fromItem ? fromItem-&gt;url().utf8().data() : &quot;null&quot;);

Did you mean to commit this?  We probably shouldn&apos;t be logging URLs without at least checking ephemerality of the WebsiteDataStore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523180</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-01 19:39:27 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #8)
&gt; Comment on attachment 364565 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=364565&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:4522
&gt; &gt; +                WTFLogAlways(&quot;WebPageProxy::decidePolicyForNavigationAction() creates back/forward navigation from item %s&quot;, fromItem ? fromItem-&gt;url().utf8().data() : &quot;null&quot;);
&gt; 
&gt; Did you mean to commit this?  We probably shouldn&apos;t be logging URLs without
&gt; at least checking ephemerality of the WebsiteDataStore.

Definitely not, this was for me debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523196</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-04-01 20:13:09 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #9)
&gt; (In reply to Alex Christensen from comment #8)
&gt; &gt; Comment on attachment 364565 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=364565&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:4522
&gt; &gt; &gt; +                WTFLogAlways(&quot;WebPageProxy::decidePolicyForNavigationAction() creates back/forward navigation from item %s&quot;, fromItem ? fromItem-&gt;url().utf8().data() : &quot;null&quot;);
&gt; &gt; 
&gt; &gt; Did you mean to commit this?  We probably shouldn&apos;t be logging URLs without
&gt; &gt; at least checking ephemerality of the WebsiteDataStore.
&gt; 
&gt; Definitely not, this was for me debugging.

Dropped in &lt;https://trac.webkit.org/changeset/243733&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364560</attachid>
            <date>2019-03-13 12:07:37 -0700</date>
            <delta_ts>2019-03-13 13:05:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195684-20190313120736.patch</filename>
            <type>text/plain</type>
            <size>22240</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGMxNmUyODFhZTdkZmY3
M2E0NTEyMjBlOWMyYzFkOTk3ZmE2Yjc5ZS4uZmMyMTQ4NGQ1ZmZkNDM0ODBhMGIxODE1MTcyZmFj
OTQ4NjRiMWZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTAzLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihQU09OLCBy
MjQwNjYwKTogTmF2aWdhdGlvbiBvdmVyIHByb2Nlc3MgYm91bmRhcnkgaXMgZmxhc2h5IHdoZW4g
dXNpbmcgQ21kLWxlZnQvcmlnaHQgYXJyb3cgdG8gbmF2aWdhdGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTY4NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDgyOTQ3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlIGlzc3VlIHdhcyBjYXVzZWQgYnkgdXMgZmFpbGluZyB0byBzdXNwZW5kIHRo
ZSBjdXJyZW50IHBhZ2Ugb24gbmF2aWdhdGlvbiBiZWNhdXNlIHRoZSBzb3VyY2UgYW5kCisgICAg
ICAgIHRhcmdldCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtIGFyZSBpZGVudGljYWwuIFRoZSBzb3Vy
Y2UgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSB3YXMgd3JvbmcuCisKKyAgICAgICAgV2hlbiBhIG5h
dmlnYXRpb24gaXMgdHJpZ2dlcmVkIGJ5IEpTIChhbmQgbm90IHRoZSBjbGllbnQpLCB3ZSBjcmVh
dGUgdGhlIE5hdmlnYXRpb24gb2JqZWN0IGluCisgICAgICAgIFdlYlBhZ2VQcm94eTo6ZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbigpLiBGb3IgdGhlIG5hdmlnYXRpb24ncyB0YXJnZXRJ
dGVtLCB3ZSB1c2UgdGhlCisgICAgICAgIHRhcmdldCBpdGVtIGlkZW50aWZpZXIgcHJvdmlkZWQg
YnkgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyB2aWEgdGhlIE5hdmlnYXRpb25BY3Rpb25EYXRhLiBI
b3dldmVyLAorICAgICAgICBmb3IgdGhlIHNvdXJjZSBpdGVtLCB3ZSB3b3VsZCB1c2UgdGhlIFdl
YkJhY2tGb3J3YXJkTGlzdCdzIGN1cnJlbnRJdGVtIGluIHRoZSBVSVByb2Nlc3MuIFRoZSBpc3N1
ZQorICAgICAgICBpcyB0aGF0IHRoZSBXZWJCYWNrRm9yd2FyZExpc3QncyBjdXJyZW50SXRlbSB1
c3VhbGx5IGhhcyBhbHJlYWR5IGJlZW4gdXBkYXRlZCB0byBiZSB0aGUgdGFyZ2V0CisgICAgICAg
IGl0ZW0gdmlhIGEgV2ViUGFnZVByb3h5OjpCYWNrRm9yd2FyZEdvVG9JdGVtKCkgc3luY2hyb25v
dXMgSVBDLgorCisgICAgICAgIFRvIGF2b2lkIHJhY2luZXNzIGFuZCBnaXZlbiB0aGF0IHRoZSBj
dXJyZW50IGhpc3RvcnkgbWFuYWdlbWVudCBpcyBmcmFnaWxlIChhcyBpdCBpcyBtYW5hZ2VkIGJ5
CisgICAgICAgIGJvdGggdGhlIFVJUHJvY2VzcyBhbmQgdGhlIFdlYlByb2Nlc3MpLCBJIGFtIG5v
dyBwYXNzaW5nIHRoZSBzb3VyY2UgaXRlbSBpZGVudGlmaWVyIGluCisgICAgICAgIGFkZGl0aW9u
IHRvIHRoZSB0YXJnZXQgaXRlbSBpZGVudGlmaWVyIGluIHRoZSBOYXZpZ2F0aW9uQWN0aW9uRGF0
YSB0aGF0IGlzIHNlbnQgYnkgdGhlIFdlYlByb2Nlc3MuCisgICAgICAgIFRoaXMgaXMgYSBsb3Qg
ZXJyb3IgcHJvbmUsIHRoZSBXZWJQcm9jZXNzIGtub3dzIG1vcmUgYWNjdXJhdGVseSB3aGljaCBo
aXN0b3J5IGl0ZW1zIGl0IGlzIGdvaW5nCisgICAgICAgIGZyb20gYW5kIHRvLgorCisgICAgICAg
ICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVy
Ojpsb2FkVVJMSW50b0NoaWxkRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6
OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmxvYWRJdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXRyeUFmdGVy
RmFpbGVkQ2FjaGVPbmx5TWFpblJlc291cmNlTG9hZCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1l
TG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjpyZWN1cnNpdmVHb1RvSXRlbSk6CisgICAg
ICAgICogbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2
aWdhdGlvbkFjdGlvbjo6c2V0U291cmNlQmFja0ZvcndhcmRJdGVtKToKKyAgICAgICAgKiBsb2Fk
ZXIvTmF2aWdhdGlvbkFjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlv
bjo6c291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciBjb25zdCk6CisKIDIwMTktMDMtMTIg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGxlZ2FjeSBX
ZWJDb3JlOjp0b1JlZ2lzdHJhYmxlRG9tYWluKCkgdXRpbGl0eSBmdW5jdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAzZTkwNzgxMzUwZTJjZTlhMTg1YTBhNTE5NjRlYWUwZDkyMmYwYjNmLi4yNDk3OGU1OTIwZjc5
OTc5MTYwYjc4NjVkNWM0NDkyNjNlYzAyZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisy
MDE5LTAzLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVH
UkVTU0lPTihQU09OLCByMjQwNjYwKTogTmF2aWdhdGlvbiBvdmVyIHByb2Nlc3MgYm91bmRhcnkg
aXMgZmxhc2h5IHdoZW4gdXNpbmcgQ21kLWxlZnQvcmlnaHQgYXJyb3cgdG8gbmF2aWdhdGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTY4NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDgyOTQ3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZW5jb2RlIGNvbnN0KToK
KyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGE6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
YmFja0ZvcndhcmRBZGRJdGVtKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisKIDIw
MTktMDMtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9w
IGxlZ2FjeSBXZWJDb3JlOjp0b1JlZ2lzdHJhYmxlRG9tYWluKCkgdXRpbGl0eSBmdW5jdGlvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggM2U4MjkxNWJiZTQ4NGM1YThl
ZmNiY2U1MTEwMjU1ZjYwYjYzMWVjMi4uOWY3MGYzMjJjMmRlYjgwZDE5ZjdlYWEyM2M0MjczYjRh
YTdlZWQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC05NzQsNyAr
OTc0LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHJlZmVyZXIsIEYKICAgICBpZiAocGFyZW50SXRlbSAmJiBw
YXJlbnRJdGVtLT5jaGlsZHJlbigpLnNpemUoKSAmJiBpc0JhY2tGb3J3YXJkTG9hZFR5cGUobG9h
ZFR5cGUoKSkgJiYgIW1fZnJhbWUuZG9jdW1lbnQoKS0+bG9hZEV2ZW50RmluaXNoZWQoKSkgewog
ICAgICAgICBpZiAoYXV0byogY2hpbGRJdGVtID0gcGFyZW50SXRlbS0+Y2hpbGRJdGVtV2l0aFRh
cmdldChjaGlsZEZyYW1lLT50cmVlKCkudW5pcXVlTmFtZSgpKSkgewogICAgICAgICAgICAgY2hp
bGRGcmFtZS0+bG9hZGVyKCkubV9yZXF1ZXN0ZWRIaXN0b3J5SXRlbSA9IGNoaWxkSXRlbTsKLSAg
ICAgICAgICAgIGNoaWxkRnJhbWUtPmxvYWRlcigpLmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0o
KmNoaWxkSXRlbSwgbG9hZFR5cGUoKSwgTWF5QXR0ZW1wdENhY2hlT25seUxvYWRGb3JGb3JtU3Vi
bWlzc2lvbkl0ZW0sIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6Tm8pOworICAgICAgICAg
ICAgY2hpbGRGcmFtZS0+bG9hZGVyKCkubG9hZERpZmZlcmVudERvY3VtZW50SXRlbSgqY2hpbGRJ
dGVtLCBudWxscHRyLCBsb2FkVHlwZSgpLCBNYXlBdHRlbXB0Q2FjaGVPbmx5TG9hZEZvckZvcm1T
dWJtaXNzaW9uSXRlbSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpObyk7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CkBAIC0zNjg2LDcgKzM2ODYsNyBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpsb2FkU2FtZURvY3VtZW50SXRlbShIaXN0b3J5SXRlbSYgaXRlbSkKIC8v
IEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZWFsbHkgYmUgc3BsaXQgaW50byBhIGNvdXBs
ZSBwaWVjZXMsIHNvbWUgb2YKIC8vIHdoaWNoIHNob3VsZCBiZSBtZXRob2RzIG9mIEhpc3RvcnlD
b250cm9sbGVyIGFuZCBzb21lIG9mIHdoaWNoIHNob3VsZCBiZQogLy8gbWV0aG9kcyBvZiBGcmFt
ZUxvYWRlci4KLXZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlz
dG9yeUl0ZW0mIGl0ZW0sIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIEZvcm1TdWJtaXNzaW9uQ2Fj
aGVMb2FkUG9saWN5IGNhY2hlTG9hZFBvbGljeSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2Fk
IHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCkKK3ZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZm
ZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tSXRl
bSwgRnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgRm9ybVN1Ym1pc3Npb25DYWNoZUxvYWRQb2xpY3kg
Y2FjaGVMb2FkUG9saWN5LCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkKQogewogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImxvYWREaWZm
ZXJlbnREb2N1bWVudEl0ZW06IGZyYW1lIGxvYWQgc3RhcnRlZCAoZnJhbWUgPSAlcCwgbWFpbiA9
ICVkKSIsICZtX2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOwogCkBAIC0zNzA2LDYgKzM3
MDYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKEhpc3Rv
cnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBlIGxvYQogCiAgICAgICAgIGF1dG8gYWN0aW9uID0g
TmF2aWdhdGlvbkFjdGlvbiB7ICptX2ZyYW1lLmRvY3VtZW50KCksIGRvY3VtZW50TG9hZGVyLT5y
ZXF1ZXN0KCksIGluaXRpYXRlZEJ5TWFpbkZyYW1lLCBsb2FkVHlwZSwgZmFsc2UgfTsKICAgICAg
ICAgYWN0aW9uLnNldFRhcmdldEJhY2tGb3J3YXJkSXRlbShpdGVtKTsKKyAgICAgICAgYWN0aW9u
LnNldFNvdXJjZUJhY2tGb3J3YXJkSXRlbShmcm9tSXRlbSk7CiAgICAgICAgIGRvY3VtZW50TG9h
ZGVyLT5zZXRUcmlnZ2VyaW5nQWN0aW9uKFdURk1vdmUoYWN0aW9uKSk7CiAKICAgICAgICAgZG9j
dW1lbnRMb2FkZXItPnNldExhc3RDaGVja2VkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QoKSk7CkBA
IC0zNzk2LDEyICszNzk3LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1
bWVudEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEZyYW1lTG9hZFR5cGUgbG9hCiAgICAgfQogCiAg
ICAgYWN0aW9uLnNldFRhcmdldEJhY2tGb3J3YXJkSXRlbShpdGVtKTsKKyAgICBhY3Rpb24uc2V0
U291cmNlQmFja0ZvcndhcmRJdGVtKGZyb21JdGVtKTsKIAogICAgIGxvYWRXaXRoTmF2aWdhdGlv
bkFjdGlvbihyZXF1ZXN0LCBXVEZNb3ZlKGFjdGlvbiksIExvY2tIaXN0b3J5OjpObywgbG9hZFR5
cGUsIHsgfSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMpOwogfQogCiAvLyBMb2Fk
cyBjb250ZW50IGludG8gdGhpcyBmcmFtZSwgYXMgc3BlY2lmaWVkIGJ5IGhpc3RvcnkgaXRlbQot
dm9pZCBGcmFtZUxvYWRlcjo6bG9hZEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEZyYW1lTG9hZFR5
cGUgbG9hZFR5cGUsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29u
dGludWluZ0xvYWQpCit2b2lkIEZyYW1lTG9hZGVyOjpsb2FkSXRlbShIaXN0b3J5SXRlbSYgaXRl
bSwgSGlzdG9yeUl0ZW0qIGZyb21JdGVtLCBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlLCBTaG91bGRU
cmVhdEFzQ29udGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKQogewogICAg
IG1fcmVxdWVzdGVkSGlzdG9yeUl0ZW0gPSAmaXRlbTsKICAgICBIaXN0b3J5SXRlbSogY3VycmVu
dEl0ZW0gPSBoaXN0b3J5KCkuY3VycmVudEl0ZW0oKTsKQEAgLTM4MTAsNyArMzgxMiw3IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OmxvYWRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBl
IGxvYWRUeXBlLCBTaG91bGRUcmVhCiAgICAgaWYgKHNhbWVEb2N1bWVudE5hdmlnYXRpb24pCiAg
ICAgICAgIGxvYWRTYW1lRG9jdW1lbnRJdGVtKGl0ZW0pOwogICAgIGVsc2UKLSAgICAgICAgbG9h
ZERpZmZlcmVudERvY3VtZW50SXRlbShpdGVtLCBsb2FkVHlwZSwgTWF5QXR0ZW1wdENhY2hlT25s
eUxvYWRGb3JGb3JtU3VibWlzc2lvbkl0ZW0sIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7
CisgICAgICAgIGxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oaXRlbSwgZnJvbUl0ZW0sIGxvYWRU
eXBlLCBNYXlBdHRlbXB0Q2FjaGVPbmx5TG9hZEZvckZvcm1TdWJtaXNzaW9uSXRlbSwgc2hvdWxk
VHJlYXRBc0NvbnRpbnVpbmdMb2FkKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6cmV0cnlBZnRl
ckZhaWxlZENhY2hlT25seU1haW5SZXNvdXJjZUxvYWQoKQpAQCAtMzgyNSw3ICszODI3LDcgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6cmV0cnlBZnRlckZhaWxlZENhY2hlT25seU1haW5SZXNvdXJjZUxv
YWQoKQogICAgIEhpc3RvcnlJdGVtJiBpdGVtID0gKmhpc3RvcnkoKS5wcm92aXNpb25hbEl0ZW0o
KTsKIAogICAgIHN0b3BBbGxMb2FkZXJzKFNob3VsZE5vdENsZWFyUHJvdmlzaW9uYWxJdGVtKTsK
LSAgICBsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKGl0ZW0sIGxvYWRUeXBlLCBNYXlOb3RBdHRl
bXB0Q2FjaGVPbmx5TG9hZEZvckZvcm1TdWJtaXNzaW9uSXRlbSwgU2hvdWxkVHJlYXRBc0NvbnRp
bnVpbmdMb2FkOjpObyk7CisgICAgbG9hZERpZmZlcmVudERvY3VtZW50SXRlbShpdGVtLCBoaXN0
b3J5KCkuY3VycmVudEl0ZW0oKSwgbG9hZFR5cGUsIE1heU5vdEF0dGVtcHRDYWNoZU9ubHlMb2Fk
Rm9yRm9ybVN1Ym1pc3Npb25JdGVtLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQ6Ok5vKTsK
IH0KIAogUmVzb3VyY2VFcnJvciBGcmFtZUxvYWRlcjo6Y2FuY2VsbGVkRXJyb3IoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aAppbmRleCA5ZTE0MGQxZjBlM2U2NzM0NTgyNzBhYTZiYjM3NTE2ODY4OGJjZjhkLi41OGUzYjcz
MjcxNmZjNmMwMjIzN2JmZWEwMjNjMjM4OGFlYzdiMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaApAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHJlbG9hZFdpdGhPdmVycmlkZUVuY29kaW5nKGNvbnN0IFN0cmluZyYgb3ZlcnJpZGVF
bmNvZGluZyk7CiAKICAgICB2b2lkIG9wZW4oQ2FjaGVkRnJhbWVCYXNlJik7Ci0gICAgdm9pZCBs
b2FkSXRlbShIaXN0b3J5SXRlbSYsIEZyYW1lTG9hZFR5cGUsIFNob3VsZFRyZWF0QXNDb250aW51
aW5nTG9hZCk7CisgICAgdm9pZCBsb2FkSXRlbShIaXN0b3J5SXRlbSYsIEhpc3RvcnlJdGVtKiBm
cm9tSXRlbSwgRnJhbWVMb2FkVHlwZSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKTsKICAg
ICBIaXN0b3J5SXRlbSogcmVxdWVzdGVkSGlzdG9yeUl0ZW0oKSBjb25zdCB7IHJldHVybiBtX3Jl
cXVlc3RlZEhpc3RvcnlJdGVtLmdldCgpOyB9CiAKICAgICB2b2lkIHJldHJ5QWZ0ZXJGYWlsZWRD
YWNoZU9ubHlNYWluUmVzb3VyY2VMb2FkKCk7CkBAIC0zMzUsNyArMzM1LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNoZWNrQ29tcGxldGVuZXNzTm93KCk7CiAKICAgICB2b2lkIGxvYWRTYW1lRG9j
dW1lbnRJdGVtKEhpc3RvcnlJdGVtJik7Ci0gICAgdm9pZCBsb2FkRGlmZmVyZW50RG9jdW1lbnRJ
dGVtKEhpc3RvcnlJdGVtJiwgRnJhbWVMb2FkVHlwZSwgRm9ybVN1Ym1pc3Npb25DYWNoZUxvYWRQ
b2xpY3ksIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CisgICAgdm9pZCBsb2FkRGlmZmVy
ZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiwgSGlzdG9yeUl0ZW0qIGZyb21JdGVtLCBGcmFt
ZUxvYWRUeXBlLCBGb3JtU3VibWlzc2lvbkNhY2hlTG9hZFBvbGljeSwgU2hvdWxkVHJlYXRBc0Nv
bnRpbnVpbmdMb2FkKTsKIAogICAgIHZvaWQgbG9hZFByb3Zpc2lvbmFsSXRlbUZyb21DYWNoZWRQ
YWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwCmlu
ZGV4IDU0MDFlZWE3MWY2YjUxOTUwMWQ4MTFlNjJlYzExOTk0MjcxYzA3YjIuLjA2YTcxNGZhYmIz
YmEwYTdmMTI1ZTAyZTNmMDY4MDZjZjNjYTMxOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmNwcApAQCAtNzUxLDcgKzc1MSw3IEBAIHZvaWQgSGlzdG9yeUNv
bnRyb2xsZXI6OnJlY3Vyc2l2ZVNldFByb3Zpc2lvbmFsSXRlbShIaXN0b3J5SXRlbSYgaXRlbSwg
SGlzdG9yeUl0CiB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpyZWN1cnNpdmVHb1RvSXRlbShIaXN0
b3J5SXRlbSYgaXRlbSwgSGlzdG9yeUl0ZW0qIGZyb21JdGVtLCBGcmFtZUxvYWRUeXBlIHR5cGUs
IFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQp
CiB7CiAgICAgaWYgKCFpdGVtc0FyZUNsb25lcyhpdGVtLCBmcm9tSXRlbSkpIHsKLSAgICAgICAg
bV9mcmFtZS5sb2FkZXIoKS5sb2FkSXRlbShpdGVtLCB0eXBlLCBzaG91bGRUcmVhdEFzQ29udGlu
dWluZ0xvYWQpOworICAgICAgICBtX2ZyYW1lLmxvYWRlcigpLmxvYWRJdGVtKGl0ZW0sIGZyb21J
dGVtLCB0eXBlLCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAKaW5k
ZXggNTQ1NDRkNmJiOWVmYzUyNGFkOTAyYjFkN2ZmNDM0ZDczMjQ0MzA0Ny4uZTRlZGJkZWJhZGJi
ZTJiMGNlN2NjOGE1YmZkODE5YmM0MTgyMGE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmNwcApAQCAtMTQ0LDQgKzE0NCw5IEBAIHZvaWQgTmF2aWdhdGlvbkFj
dGlvbjo6c2V0VGFyZ2V0QmFja0ZvcndhcmRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtKQogICAgIG1f
dGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciA9IGl0ZW0uaWRlbnRpZmllcigpOwogfQog
Cit2b2lkIE5hdmlnYXRpb25BY3Rpb246OnNldFNvdXJjZUJhY2tGb3J3YXJkSXRlbShIaXN0b3J5
SXRlbSogaXRlbSkKK3sKKyAgICBtX3NvdXJjZUJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIgPSBp
dGVtID8gbWFrZU9wdGlvbmFsKGl0ZW0tPmlkZW50aWZpZXIoKSkgOiBXVEY6Om51bGxvcHQ7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCmluZGV4IDRkZTlk
NDBkOGVkYmNkYjg3MDczMDVjNTA3ZjhmZDlmZTk4NDI2NzkuLjFhNDRmOTFkMzY4MWI4MTQwMGU3
MTEyN2VhNTI3MmM3NWJlNGJlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25B
Y3Rpb24uaApAQCAtMTI5LDYgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRhcmdldEJh
Y2tGb3J3YXJkSXRlbShIaXN0b3J5SXRlbSYpOwogICAgIGNvbnN0IE9wdGlvbmFsPEJhY2tGb3J3
YXJkSXRlbUlkZW50aWZpZXI+JiB0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gbV90YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOyB9CiAKKyAgICB2
b2lkIHNldFNvdXJjZUJhY2tGb3J3YXJkSXRlbShIaXN0b3J5SXRlbSopOworICAgIGNvbnN0IE9w
dGlvbmFsPEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI+JiBzb3VyY2VCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlm
aWVyOyB9CisKICAgICBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1f
bG9ja0hpc3Rvcnk7IH0KICAgICB2b2lkIHNldExvY2tIaXN0b3J5KExvY2tIaXN0b3J5IGxvY2tI
aXN0b3J5KSB7IG1fbG9ja0hpc3RvcnkgPSBsb2NrSGlzdG9yeTsgfQogCkBAIC0xNTQsNiArMTU3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzT3BlbmVkRnJhbWVzIHsgZmFsc2UgfTsKICAg
ICBib29sIG1fb3BlbmVkQnlET01XaXRoT3BlbmVyIHsgZmFsc2UgfTsKICAgICBPcHRpb25hbDxC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyPiBtX3RhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZp
ZXI7CisgICAgT3B0aW9uYWw8QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gbV9zb3VyY2VCYWNr
Rm9yd2FyZEl0ZW1JZGVudGlmaWVyOwogICAgIExvY2tIaXN0b3J5IG1fbG9ja0hpc3RvcnkgeyBM
b2NrSGlzdG9yeTo6Tm8gfTsKICAgICBMb2NrQmFja0ZvcndhcmRMaXN0IG1fbG9ja0JhY2tGb3J3
YXJkTGlzdCB7IExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vIH07CiAgICAgT3B0aW9uYWw8QWRDbGlj
a0F0dHJpYnV0aW9uPiBtX2FkQ2xpY2tBdHRyaWJ1dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcAppbmRleCA5NjkzMDhhYmQ3MTkyZWI5NmIyYWVh
NzBmZjQxNjIyMzUwNjIzM2ExLi4xMmFmZWMwNTNiNThmMzJjYzQ3NzRhYmQzNzI5Y2QyYjU4OWZl
OWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3Bw
CkBAIC01MCw2ICs1MCw3IEBAIHZvaWQgTmF2aWdhdGlvbkFjdGlvbkRhdGE6OmVuY29kZShJUEM6
OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBvcGVuZWRCeURPTVdpdGhP
cGVuZXI7CiAgICAgZW5jb2RlciA8PCByZXF1ZXN0ZXJPcmlnaW47CiAgICAgZW5jb2RlciA8PCB0
YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOworICAgIGVuY29kZXIgPDwgc291cmNlQmFj
a0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKICAgICBlbmNvZGVyLmVuY29kZUVudW0obG9ja0hpc3Rv
cnkpOwogICAgIGVuY29kZXIuZW5jb2RlRW51bShsb2NrQmFja0ZvcndhcmRMaXN0KTsKICAgICBl
bmNvZGVyIDw8IGNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeTsKQEAgLTEyNyw2ICsxMjgs
MTEgQEAgT3B0aW9uYWw8TmF2aWdhdGlvbkFjdGlvbkRhdGE+IE5hdmlnYXRpb25BY3Rpb25EYXRh
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGUKICAgICBpZiAoIXRhcmdldEJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXIpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKKyAgICBPcHRp
b25hbDxPcHRpb25hbDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyPj4gc291cmNl
QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IHNvdXJjZUJhY2tGb3J3
YXJkSXRlbUlkZW50aWZpZXI7CisgICAgaWYgKCFzb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlm
aWVyKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCiAgICAgV2ViQ29yZTo6TG9ja0hp
c3RvcnkgbG9ja0hpc3Rvcnk7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0obG9ja0hpc3Rv
cnkpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpAQCAtMTQ4LDcgKzE1NCw3IEBAIE9w
dGlvbmFsPE5hdmlnYXRpb25BY3Rpb25EYXRhPiBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZGVjb2Rl
KElQQzo6RGVjb2RlciYgZGVjb2RlCiAgICAgcmV0dXJuIHt7IFdURk1vdmUobmF2aWdhdGlvblR5
cGUpLCBtb2RpZmllcnMsIFdURk1vdmUobW91c2VCdXR0b24pLCBXVEZNb3ZlKHN5bnRoZXRpY0Ns
aWNrVHlwZSksIFdURk1vdmUoKnVzZXJHZXN0dXJlVG9rZW5JZGVudGlmaWVyKSwKICAgICAgICAg
V1RGTW92ZSgqY2FuSGFuZGxlUmVxdWVzdCksIFdURk1vdmUoc2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeSksIFdURk1vdmUoKmRvd25sb2FkQXR0cmlidXRlKSwgV1RGTW92ZShjbGlja0xvY2F0
aW9uSW5Sb290Vmlld0Nvb3JkaW5hdGVzKSwKICAgICAgICAgV1RGTW92ZSgqaXNSZWRpcmVjdCks
ICp0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24sICpoYXNPcGVuZWRGcmFtZXMsICpvcGVuZWRC
eURPTVdpdGhPcGVuZXIsIFdURk1vdmUoKnJlcXVlc3Rlck9yaWdpbiksCi0gICAgICAgIFdURk1v
dmUoKnRhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIpLCBsb2NrSGlzdG9yeSwgbG9ja0Jh
Y2tGb3J3YXJkTGlzdCwgV1RGTW92ZSgqY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KSwg
V1RGTW92ZSgqYWRDbGlja0F0dHJpYnV0aW9uKSB9fTsKKyAgICAgICAgV1RGTW92ZSgqdGFyZ2V0
QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciksIFdURk1vdmUoKnNvdXJjZUJhY2tGb3J3YXJkSXRl
bUlkZW50aWZpZXIpLCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgV1RGTW92ZSgq
Y2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KSwgV1RGTW92ZSgqYWRDbGlja0F0dHJpYnV0
aW9uKSB9fTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuaAppbmRleCAwZDk3ZWYzMzE1NGM4YjhlMjVjMWE0NDc2
NWU0ZGRlYjBlNDA0MjdhLi5lMmJiNjgyYmJiYmQ3MTNkNGEzNjZkYTYwYTNmMDhmNDgwNjEyMjA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgKQEAgLTU4
LDYgKzU4LDcgQEAgc3RydWN0IE5hdmlnYXRpb25BY3Rpb25EYXRhIHsKICAgICBib29sIG9wZW5l
ZEJ5RE9NV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhIHJlcXVlc3Rlck9yaWdpbjsKICAgICBPcHRpb25hbDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyPiB0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOworICAgIE9wdGlv
bmFsPFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI+IHNvdXJjZUJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXI7CiAgICAgV2ViQ29yZTo6TG9ja0hpc3RvcnkgbG9ja0hpc3Rvcnk7CiAg
ICAgV2ViQ29yZTo6TG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0OwogICAg
IFdURjo6U3RyaW5nIGNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDc4NTY1YjYwZTY5YTYyN2VhZGVhYjIw
YzUwY2IyMjI0ZjFmNDA1N2MuLjg5ZmZlZjUxNDMxYjAyMjQ0ZTZiMzkyZmIzY2JkYjM0NDhjZmFh
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNDUxNSw4
ICs0NTE1LDEzIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uKFJlZjxXZWJQcm9jZXNzUHJveHk+JiYgcHJvY2VzCiAKICAgICBpZiAoIW5hdmlnYXRp
b24pIHsKICAgICAgICAgaWYgKGF1dG8gdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciA9
IG5hdmlnYXRpb25BY3Rpb25EYXRhLnRhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIpIHsK
LSAgICAgICAgICAgIGlmIChhdXRvKiBpdGVtID0gbV9iYWNrRm9yd2FyZExpc3QtPml0ZW1Gb3JJ
RCgqdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcikpCi0gICAgICAgICAgICAgICAgbmF2
aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVCYWNrRm9yd2FyZE5hdmlnYXRpb24o
Kml0ZW0sIG1fYmFja0ZvcndhcmRMaXN0LT5jdXJyZW50SXRlbSgpLCBGcmFtZUxvYWRUeXBlOjpJ
bmRleGVkQmFja0ZvcndhcmQpOworICAgICAgICAgICAgaWYgKGF1dG8qIGl0ZW0gPSBtX2JhY2tG
b3J3YXJkTGlzdC0+aXRlbUZvcklEKCp0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSkg
eworICAgICAgICAgICAgICAgIGF1dG8qIGZyb21JdGVtID0gbmF2aWdhdGlvbkFjdGlvbkRhdGEu
c291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciA/IG1fYmFja0ZvcndhcmRMaXN0LT5pdGVt
Rm9ySUQoKm5hdmlnYXRpb25BY3Rpb25EYXRhLnNvdXJjZUJhY2tGb3J3YXJkSXRlbUlkZW50aWZp
ZXIpIDogbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBpZiAoIWZyb21JdGVtKQorICAgICAgICAg
ICAgICAgICAgICBmcm9tSXRlbSA9IG1fYmFja0ZvcndhcmRMaXN0LT5jdXJyZW50SXRlbSgpOwor
ICAgICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKCkgY3JlYXRlcyBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbiBmcm9t
IGl0ZW0gJXMiLCBmcm9tSXRlbSA/IGZyb21JdGVtLT51cmwoKS51dGY4KCkuZGF0YSgpIDogIm51
bGwiKTsKKyAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUtPmNy
ZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlvbigqaXRlbSwgZnJvbUl0ZW0sIEZyYW1lTG9hZFR5cGU6
OkluZGV4ZWRCYWNrRm9yd2FyZCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAg
aWYgKCFuYXZpZ2F0aW9uKQogICAgICAgICAgICAgbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0
YXRlLT5jcmVhdGVMb2FkUmVxdWVzdE5hdmlnYXRpb24oUmVzb3VyY2VSZXF1ZXN0KHJlcXVlc3Qp
LCBtX2JhY2tGb3J3YXJkTGlzdC0+Y3VycmVudEl0ZW0oKSk7CkBAIC01NTc5LDcgKzU1ODQsOCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdERPTVBhc3RlQWNjZXNzKGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmIGVsZW1lbnRSZWN0LCBjbwogCiB2b2lkIFdlYlBhZ2VQcm94eTo6YmFja0Zvcndh
cmRBZGRJdGVtKEJhY2tGb3J3YXJkTGlzdEl0ZW1TdGF0ZSYmIGl0ZW1TdGF0ZSkKIHsKLSAgICBt
X2JhY2tGb3J3YXJkTGlzdC0+YWRkSXRlbShXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjpjcmVhdGUo
V1RGTW92ZShpdGVtU3RhdGUpLCBwYWdlSUQoKSkpOworICAgIGF1dG8gaXRlbSA9IFdlYkJhY2tG
b3J3YXJkTGlzdEl0ZW06OmNyZWF0ZShXVEZNb3ZlKGl0ZW1TdGF0ZSksIHBhZ2VJRCgpKTsKKyAg
ICBtX2JhY2tGb3J3YXJkTGlzdC0+YWRkSXRlbShXVEZNb3ZlKGl0ZW0pKTsKIH0KIAogdm9pZCBX
ZWJQYWdlUHJveHk6OmJhY2tGb3J3YXJkR29Ub0l0ZW0oY29uc3QgQmFja0ZvcndhcmRJdGVtSWRl
bnRpZmllciYgaXRlbUlELCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIHNhbmRib3hFeHRlbnNp
b25IYW5kbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCA2ZTZlYzE5NDFm
OWNjZTEzODA2ZjhhYTEzZTdlNjAxZDYwN2IwZGYyLi44NTYyODEzNmExYzU1M2MwYTViYjAzZDY3
NGZkZjlhMDA3MGM5ZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTg4
MCw2ICs4ODAsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAogICAgIGlmIChhdXRvJiByZXF1
ZXN0ZXIgPSBuYXZpZ2F0aW9uQWN0aW9uLnJlcXVlc3RlcigpKQogICAgICAgICBuYXZpZ2F0aW9u
QWN0aW9uRGF0YS5yZXF1ZXN0ZXJPcmlnaW4gPSByZXF1ZXN0ZXItPnNlY3VyaXR5T3JpZ2luKCku
ZGF0YSgpOwogICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLnRhcmdldEJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXIgPSBuYXZpZ2F0aW9uQWN0aW9uLnRhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZp
ZXIoKTsKKyAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5zb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyID0gbmF2aWdhdGlvbkFjdGlvbi5zb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVy
KCk7CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEubG9ja0hpc3RvcnkgPSBuYXZpZ2F0aW9uQWN0
aW9uLmxvY2tIaXN0b3J5KCk7CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEubG9ja0JhY2tGb3J3
YXJkTGlzdCA9IG5hdmlnYXRpb25BY3Rpb24ubG9ja0JhY2tGb3J3YXJkTGlzdCgpOwogICAgIG5h
dmlnYXRpb25BY3Rpb25EYXRhLmFkQ2xpY2tBdHRyaWJ1dGlvbiA9IG5hdmlnYXRpb25BY3Rpb24u
YWRDbGlja0F0dHJpYnV0aW9uKCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggYzViOGE5YWNhYjE2YmNkYmRjM2E0NjQ3MDQ5YzQzMjczYjkxMzg4
OC4uYjVjMmY2NTZlNmVlOTgwOTZiMmM5YzYyNWVlZWZiNmQ0YzRmMmViYiAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDE5LTAzLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVH
UkVTU0lPTihQU09OLCByMjQwNjYwKTogTmF2aWdhdGlvbiBvdmVyIHByb2Nlc3MgYm91bmRhcnkg
aXMgZmxhc2h5IHdoZW4gdXNpbmcgQ21kLWxlZnQvcmlnaHQgYXJyb3cgdG8gbmF2aWdhdGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTY4NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDgyOTQ3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlv
bi5tbToKKwogMjAxOS0wMy0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KIAogICAgICAgICBGaXggdGhlIGJ1aWxkCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5t
bQppbmRleCAzYzMyNmQ2Y2QzNzJhZTVjM2JhZGZhMjdiNDYwNmY2NjI4YmIwZmY1Li5iNGY1Nzg0
MzgwZTBlNzZjMWI5Nzc2OTNhMGI5Y2YyNTUxNGM3NTNjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5h
dmlnYXRpb24ubW0KQEAgLTMxMzcsNiArMzEzNyw3NSBAQCBURVNUKFByb2Nlc3NTd2FwLCBQYWdl
Q2FjaGUxKQogICAgIEVYUEVDVF9FUSgydSwgc2VlblBJRHMuc2l6ZSgpKTsKIH0KIAorVEVTVChQ
cm9jZXNzU3dhcCwgUGFnZUNhY2hlV2hlbk5hdmlnYXRpbmdGcm9tSlMpCit7CisgICAgYXV0byBw
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gPSBwc29uUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uKCk7
CisgICAgYXV0byBwcm9jZXNzUG9vbCA9IGFkb3B0TlMoW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBf
aW5pdFdpdGhDb25maWd1cmF0aW9uOnByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKV0pOwor
CisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFBy
b2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5T
KFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOworICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9t
VVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCIgdG9EYXRhOnBhZ2VD
YWNoZTFCeXRlc107CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29u
Oi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiIHRvRGF0YTpwYWdlQ2FjaGUxQnl0ZXNdOworICAg
IFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkg
Zm9yVVJMU2NoZW1lOkAiUFNPTiJdOworCisgICAgYXV0byBtZXNzYWdlSGFuZGxlciA9IGFkb3B0
TlMoW1tQU09OTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbW3dlYlZpZXdDb25m
aWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6
bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInBzb24iXTsKKworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOwor
ICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxv
Y10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5n
ZXQoKV07CisKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21h
aW4uaHRtbCJdXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAg
YXV0byBwaWRBZnRlckxvYWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKwor
ICAgIEVYUEVDVF9FUSgxdSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9jZXNzQ291bnRJZ25vcmluZ1By
ZXdhcm1lZEFuZENhY2hlZF0pOworCisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LmFwcGxlLmNvbS9tYWlu
Lmh0bWwiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1
dG8gcGlkQWZ0ZXJMb2FkMiA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisKKyAg
ICBFWFBFQ1RfRVEoMnUsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vzc0NvdW50SWdub3JpbmdQcmV3
YXJtZWRBbmRDYWNoZWRdKTsKKyAgICBFWFBFQ1RfTkUocGlkQWZ0ZXJMb2FkMSwgcGlkQWZ0ZXJM
b2FkMik7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJoaXN0b3J5LmJhY2so
KSIgY29tcGxldGlvbkhhbmRsZXI6IG5pbF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZyZWNlaXZlZE1lc3NhZ2UpOworICAgIHJlY2VpdmVkTWVzc2FnZSA9IGZhbHNlOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAg
YXV0byBwaWRBZnRlckxvYWQzID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKwor
ICAgIEVYUEVDVF9FUSgydSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9jZXNzQ291bnRJZ25vcmluZ1By
ZXdhcm1lZEFuZENhY2hlZF0pOworICAgIEVYUEVDVF9FUShwaWRBZnRlckxvYWQxLCBwaWRBZnRl
ckxvYWQzKTsKKyAgICBFWFBFQ1RfRVEoMXUsIFtyZWNlaXZlZE1lc3NhZ2VzIGNvdW50XSk7Cisg
ICAgRVhQRUNUX1RSVUUoW3JlY2VpdmVkTWVzc2FnZXMuZ2V0KClbMF0gaXNFcXVhbFRvU3RyaW5n
OkAiV2FzIHBlcnNpc3RlZCIgXSk7CisgICAgRVhQRUNUX0VRKDJ1LCBzZWVuUElEcy5zaXplKCkp
OworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiaGlzdG9yeS5mb3J3YXJkKCki
IGNvbXBsZXRpb25IYW5kbGVyOiBuaWxdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
cmVjZWl2ZWRNZXNzYWdlKTsKKyAgICByZWNlaXZlZE1lc3NhZ2UgPSBmYWxzZTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1
dG8gcGlkQWZ0ZXJMb2FkNCA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisKKyAg
ICBFWFBFQ1RfRVEoMnUsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vzc0NvdW50SWdub3JpbmdQcmV3
YXJtZWRBbmRDYWNoZWRdKTsKKyAgICBFWFBFQ1RfRVEocGlkQWZ0ZXJMb2FkMiwgcGlkQWZ0ZXJM
b2FkNCk7CisgICAgRVhQRUNUX0VRKDJ1LCBbcmVjZWl2ZWRNZXNzYWdlcyBjb3VudF0pOworICAg
IEVYUEVDVF9UUlVFKFtyZWNlaXZlZE1lc3NhZ2VzLmdldCgpWzFdIGlzRXF1YWxUb1N0cmluZzpA
IldhcyBwZXJzaXN0ZWQiIF0pOworICAgIEVYUEVDVF9FUSgydSwgc2VlblBJRHMuc2l6ZSgpKTsK
K30KKwogVEVTVChQcm9jZXNzU3dhcCwgTnVtYmVyT2ZQcmV3YXJtZWRQcm9jZXNzZXMpCiB7CiAg
ICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gPSBwc29uUHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364565</attachid>
            <date>2019-03-13 13:05:30 -0700</date>
            <delta_ts>2019-03-13 13:32:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195684-20190313130530.patch</filename>
            <type>text/plain</type>
            <size>22287</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY3ZGMxODgxMjdjZGM0
NjBmNWIzNzYxYmJlZDFlYjQ0ZDJlNzU2MC4uYTE3ZjA4NzY5MzhjOTUxODRiZjIzNmUwZDg4Nzhm
ODU3OTZlZGIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE5LTAzLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihQU09OLCBy
MjQwNjYwKTogTmF2aWdhdGlvbiBvdmVyIHByb2Nlc3MgYm91bmRhcnkgaXMgZmxhc2h5IHdoZW4g
dXNpbmcgQ21kLWxlZnQvcmlnaHQgYXJyb3cgdG8gbmF2aWdhdGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTY4NAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDgyOTQ3MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisK
KyAgICAgICAgVGhlIGlzc3VlIHdhcyBjYXVzZWQgYnkgdXMgZmFpbGluZyB0byBzdXNwZW5kIHRo
ZSBjdXJyZW50IHBhZ2Ugb24gbmF2aWdhdGlvbiBiZWNhdXNlIHRoZSBzb3VyY2UgYW5kCisgICAg
ICAgIHRhcmdldCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtIGFyZSBpZGVudGljYWwuIFRoZSBzb3Vy
Y2UgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSB3YXMgd3JvbmcuCisKKyAgICAgICAgV2hlbiBhIG5h
dmlnYXRpb24gaXMgdHJpZ2dlcmVkIGJ5IHRoZSBXZWJDb250ZW50IHByb2Nlc3MgKGFuZCBub3Qg
dGhlIFVJUHJvY2VzcyksIHdlIGNyZWF0ZSB0aGUgTmF2aWdhdGlvbgorICAgICAgICBvYmplY3Qg
aW4gV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKCkuIEZvciB0
aGUgbmF2aWdhdGlvbidzIHRhcmdldEl0ZW0sIHdlIHVzZSB0aGUKKyAgICAgICAgdGFyZ2V0IGl0
ZW0gaWRlbnRpZmllciBwcm92aWRlZCBieSB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHZpYSB0aGUg
TmF2aWdhdGlvbkFjdGlvbkRhdGEuIEhvd2V2ZXIsCisgICAgICAgIGZvciB0aGUgc291cmNlIGl0
ZW0sIHdlIHdvdWxkIHVzZSB0aGUgV2ViQmFja0ZvcndhcmRMaXN0J3MgY3VycmVudEl0ZW0gaW4g
dGhlIFVJUHJvY2Vzcy4gVGhlIGlzc3VlCisgICAgICAgIGlzIHRoYXQgdGhlIFdlYkJhY2tGb3J3
YXJkTGlzdCdzIGN1cnJlbnRJdGVtIHVzdWFsbHkgaGFzIGFscmVhZHkgYmVlbiB1cGRhdGVkIHRv
IGJlIHRoZSB0YXJnZXQKKyAgICAgICAgaXRlbSB2aWEgYSBXZWJQYWdlUHJveHk6OkJhY2tGb3J3
YXJkR29Ub0l0ZW0oKSBzeW5jaHJvbm91cyBJUEMuCisKKyAgICAgICAgVG8gYXZvaWQgcmFjaW5l
c3MgYW5kIGdpdmVuIHRoYXQgdGhlIGN1cnJlbnQgaGlzdG9yeSBtYW5hZ2VtZW50IGlzIGZyYWdp
bGUgKGFzIGl0IGlzIG1hbmFnZWQgYnkKKyAgICAgICAgYm90aCB0aGUgVUlQcm9jZXNzIGFuZCB0
aGUgV2ViUHJvY2VzcyksIEkgYW0gbm93IHBhc3NpbmcgdGhlIHNvdXJjZSBpdGVtIGlkZW50aWZp
ZXIgaW4KKyAgICAgICAgYWRkaXRpb24gdG8gdGhlIHRhcmdldCBpdGVtIGlkZW50aWZpZXIgaW4g
dGhlIE5hdmlnYXRpb25BY3Rpb25EYXRhIHRoYXQgaXMgc2VudCBieSB0aGUgV2ViUHJvY2Vzcy4K
KyAgICAgICAgVGhpcyBpcyBhIGxvdCBsZXNzIGVycm9yIHByb25lLCB0aGUgV2ViUHJvY2VzcyBr
bm93cyBtb3JlIGFjY3VyYXRlbHkgd2hpY2ggaGlzdG9yeSBpdGVtcyBpdCBpcyBnb2luZworICAg
ICAgICBmcm9tIGFuZCB0by4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkSXRlbSk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6cmV0cnlBZnRlckZhaWxlZENhY2hlT25seU1haW5SZXNvdXJjZUxv
YWQpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9I
aXN0b3J5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJvbGxl
cjo6cmVjdXJzaXZlR29Ub0l0ZW0pOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246OnNldFNvdXJjZUJhY2tG
b3J3YXJkSXRlbSk6CisgICAgICAgICogbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246OnNvdXJjZUJhY2tGb3J3YXJkSXRlbUlkZW50
aWZpZXIgY29uc3QpOgorCiAyMDE5LTAzLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgRHJvcCBsZWdhY3kgV2ViQ29yZTo6dG9SZWdpc3RyYWJsZURvbWFpbigp
IHV0aWxpdHkgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTg2ZTExNjU4YTM0MmNhNWVlZWFiNGRmOGVm
MmIyNDQ1MWU2NTI4Ni4uODlhZmVhMTFlZmYyNjA1ZTE4MmM0YmJjMDlhNDBiM2E4NGRiZDcxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wMy0xMyAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04oUFNPTiwgcjI0MDY2MCk6IE5hdmln
YXRpb24gb3ZlciBwcm9jZXNzIGJvdW5kYXJ5IGlzIGZsYXNoeSB3aGVuIHVzaW5nIENtZC1sZWZ0
L3JpZ2h0IGFycm93IHRvIG5hdmlnYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTU2ODQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4Mjk0NzE0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgICogU2hh
cmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmF2aWdhdGlv
bkFjdGlvbkRhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25B
Y3Rpb25EYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0
YS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmJhY2tGb3J3YXJkQWRkSXRlbSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24pOgorCiAyMDE5LTAzLTEzICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBsZWdhY3kgV2ViQ29yZTo6dG9SZWdpc3RyYWJs
ZURvbWFpbigpIHV0aWxpdHkgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCmluZGV4IGFmYjBlYzYxZDJmMDJjNWE4OTU2YzQ5NmMwM2IwMTM4NDBjNGU4NTEuLjIwZjBh
NmZlMzFmZjNjZTQzZTM1MmI0MmVhMWI2YjQ3MGFmNGFjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcApAQCAtOTc0LDcgKzk3NCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6Omxv
YWRVUkxJbnRvQ2hpbGRGcmFtZShjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiByZWZlcmVy
LCBGCiAgICAgaWYgKHBhcmVudEl0ZW0gJiYgcGFyZW50SXRlbS0+Y2hpbGRyZW4oKS5zaXplKCkg
JiYgaXNCYWNrRm9yd2FyZExvYWRUeXBlKGxvYWRUeXBlKCkpICYmICFtX2ZyYW1lLmRvY3VtZW50
KCktPmxvYWRFdmVudEZpbmlzaGVkKCkpIHsKICAgICAgICAgaWYgKGF1dG8qIGNoaWxkSXRlbSA9
IHBhcmVudEl0ZW0tPmNoaWxkSXRlbVdpdGhUYXJnZXQoY2hpbGRGcmFtZS0+dHJlZSgpLnVuaXF1
ZU5hbWUoKSkpIHsKICAgICAgICAgICAgIGNoaWxkRnJhbWUtPmxvYWRlcigpLm1fcmVxdWVzdGVk
SGlzdG9yeUl0ZW0gPSBjaGlsZEl0ZW07Ci0gICAgICAgICAgICBjaGlsZEZyYW1lLT5sb2FkZXIo
KS5sb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKCpjaGlsZEl0ZW0sIGxvYWRUeXBlKCksIE1heUF0
dGVtcHRDYWNoZU9ubHlMb2FkRm9yRm9ybVN1Ym1pc3Npb25JdGVtLCBTaG91bGRUcmVhdEFzQ29u
dGludWluZ0xvYWQ6Ok5vKTsKKyAgICAgICAgICAgIGNoaWxkRnJhbWUtPmxvYWRlcigpLmxvYWRE
aWZmZXJlbnREb2N1bWVudEl0ZW0oKmNoaWxkSXRlbSwgbnVsbHB0ciwgbG9hZFR5cGUoKSwgTWF5
QXR0ZW1wdENhY2hlT25seUxvYWRGb3JGb3JtU3VibWlzc2lvbkl0ZW0sIFNob3VsZFRyZWF0QXND
b250aW51aW5nTG9hZDo6Tm8pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpAQCAtMzY4Niw3ICszNjg2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFNhbWVEb2N1bWVu
dEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0pCiAvLyBGSVhNRTogVGhpcyBmdW5jdGlvbiBzaG91bGQg
cmVhbGx5IGJlIHNwbGl0IGludG8gYSBjb3VwbGUgcGllY2VzLCBzb21lIG9mCiAvLyB3aGljaCBz
aG91bGQgYmUgbWV0aG9kcyBvZiBIaXN0b3J5Q29udHJvbGxlciBhbmQgc29tZSBvZiB3aGljaCBz
aG91bGQgYmUKIC8vIG1ldGhvZHMgb2YgRnJhbWVMb2FkZXIuCi12b2lkIEZyYW1lTG9hZGVyOjps
b2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBl
IGxvYWRUeXBlLCBGb3JtU3VibWlzc2lvbkNhY2hlTG9hZFBvbGljeSBjYWNoZUxvYWRQb2xpY3ks
IFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCBzaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQp
Cit2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVt
JiBpdGVtLCBIaXN0b3J5SXRlbSogZnJvbUl0ZW0sIEZyYW1lTG9hZFR5cGUgbG9hZFR5cGUsIEZv
cm1TdWJtaXNzaW9uQ2FjaGVMb2FkUG9saWN5IGNhY2hlTG9hZFBvbGljeSwgU2hvdWxkVHJlYXRB
c0NvbnRpbnVpbmdMb2FkIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCkKIHsKICAgICBSRUxF
QVNFX0xPR19JRl9BTExPV0VEKCJsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtOiBmcmFtZSBsb2Fk
IHN0YXJ0ZWQgKGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCAmbV9mcmFtZSwgbV9mcmFtZS5pc01h
aW5GcmFtZSgpKTsKIApAQCAtMzcwNiw2ICszNzA2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9h
ZERpZmZlcmVudERvY3VtZW50SXRlbShIaXN0b3J5SXRlbSYgaXRlbSwgRnJhbWVMb2FkVHlwZSBs
b2EKIAogICAgICAgICBhdXRvIGFjdGlvbiA9IE5hdmlnYXRpb25BY3Rpb24geyAqbV9mcmFtZS5k
b2N1bWVudCgpLCBkb2N1bWVudExvYWRlci0+cmVxdWVzdCgpLCBpbml0aWF0ZWRCeU1haW5GcmFt
ZSwgbG9hZFR5cGUsIGZhbHNlIH07CiAgICAgICAgIGFjdGlvbi5zZXRUYXJnZXRCYWNrRm9yd2Fy
ZEl0ZW0oaXRlbSk7CisgICAgICAgIGFjdGlvbi5zZXRTb3VyY2VCYWNrRm9yd2FyZEl0ZW0oZnJv
bUl0ZW0pOwogICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0VHJpZ2dlcmluZ0FjdGlvbihXVEZN
b3ZlKGFjdGlvbikpOwogCiAgICAgICAgIGRvY3VtZW50TG9hZGVyLT5zZXRMYXN0Q2hlY2tlZFJl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0KCkpOwpAQCAtMzc5NiwxMiArMzc5NywxMyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtJiBpdGVtLCBG
cmFtZUxvYWRUeXBlIGxvYQogICAgIH0KIAogICAgIGFjdGlvbi5zZXRUYXJnZXRCYWNrRm9yd2Fy
ZEl0ZW0oaXRlbSk7CisgICAgYWN0aW9uLnNldFNvdXJjZUJhY2tGb3J3YXJkSXRlbShmcm9tSXRl
bSk7CiAKICAgICBsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgV1RGTW92ZShhY3Rp
b24pLCBMb2NrSGlzdG9yeTo6Tm8sIGxvYWRUeXBlLCB7IH0sIEFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTDo6WWVzKTsKIH0KIAogLy8gTG9hZHMgY29udGVudCBpbnRvIHRoaXMgZnJhbWUsIGFz
IHNwZWNpZmllZCBieSBoaXN0b3J5IGl0ZW0KLXZvaWQgRnJhbWVMb2FkZXI6OmxvYWRJdGVtKEhp
c3RvcnlJdGVtJiBpdGVtLCBGcmFtZUxvYWRUeXBlIGxvYWRUeXBlLCBTaG91bGRUcmVhdEFzQ29u
dGludWluZ0xvYWQgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKQordm9pZCBGcmFtZUxvYWRl
cjo6bG9hZEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBmcm9tSXRlbSwgRnJh
bWVMb2FkVHlwZSBsb2FkVHlwZSwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIHNob3VsZFRy
ZWF0QXNDb250aW51aW5nTG9hZCkKIHsKICAgICBtX3JlcXVlc3RlZEhpc3RvcnlJdGVtID0gJml0
ZW07CiAgICAgSGlzdG9yeUl0ZW0qIGN1cnJlbnRJdGVtID0gaGlzdG9yeSgpLmN1cnJlbnRJdGVt
KCk7CkBAIC0zODEwLDcgKzM4MTIsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkSXRlbShIaXN0
b3J5SXRlbSYgaXRlbSwgRnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgU2hvdWxkVHJlYQogICAgIGlm
IChzYW1lRG9jdW1lbnROYXZpZ2F0aW9uKQogICAgICAgICBsb2FkU2FtZURvY3VtZW50SXRlbShp
dGVtKTsKICAgICBlbHNlCi0gICAgICAgIGxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oaXRlbSwg
bG9hZFR5cGUsIE1heUF0dGVtcHRDYWNoZU9ubHlMb2FkRm9yRm9ybVN1Ym1pc3Npb25JdGVtLCBz
aG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQpOworICAgICAgICBsb2FkRGlmZmVyZW50RG9jdW1l
bnRJdGVtKGl0ZW0sIGZyb21JdGVtLCBsb2FkVHlwZSwgTWF5QXR0ZW1wdENhY2hlT25seUxvYWRG
b3JGb3JtU3VibWlzc2lvbkl0ZW0sIHNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiB9CiAK
IHZvaWQgRnJhbWVMb2FkZXI6OnJldHJ5QWZ0ZXJGYWlsZWRDYWNoZU9ubHlNYWluUmVzb3VyY2VM
b2FkKCkKQEAgLTM4MjUsNyArMzgyNyw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnJldHJ5QWZ0ZXJG
YWlsZWRDYWNoZU9ubHlNYWluUmVzb3VyY2VMb2FkKCkKICAgICBIaXN0b3J5SXRlbSYgaXRlbSA9
ICpoaXN0b3J5KCkucHJvdmlzaW9uYWxJdGVtKCk7CiAKICAgICBzdG9wQWxsTG9hZGVycyhTaG91
bGROb3RDbGVhclByb3Zpc2lvbmFsSXRlbSk7Ci0gICAgbG9hZERpZmZlcmVudERvY3VtZW50SXRl
bShpdGVtLCBsb2FkVHlwZSwgTWF5Tm90QXR0ZW1wdENhY2hlT25seUxvYWRGb3JGb3JtU3VibWlz
c2lvbkl0ZW0sIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6Tm8pOworICAgIGxvYWREaWZm
ZXJlbnREb2N1bWVudEl0ZW0oaXRlbSwgaGlzdG9yeSgpLmN1cnJlbnRJdGVtKCksIGxvYWRUeXBl
LCBNYXlOb3RBdHRlbXB0Q2FjaGVPbmx5TG9hZEZvckZvcm1TdWJtaXNzaW9uSXRlbSwgU2hvdWxk
VHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpObyk7CiB9CiAKIFJlc291cmNlRXJyb3IgRnJhbWVMb2Fk
ZXI6OmNhbmNlbGxlZEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggOWUxNDBkMWYwZTNlNjczNDU4Mjcw
YWE2YmIzNzUxNjg2ODhiY2Y4ZC4uNThlM2I3MzI3MTZmYzZjMDIyMzdiZmVhMDIzYzIzODhhZWM3
YjFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTEzMyw3ICsxMzMsNyBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZWxvYWRXaXRoT3ZlcnJpZGVFbmNv
ZGluZyhjb25zdCBTdHJpbmcmIG92ZXJyaWRlRW5jb2RpbmcpOwogCiAgICAgdm9pZCBvcGVuKENh
Y2hlZEZyYW1lQmFzZSYpOwotICAgIHZvaWQgbG9hZEl0ZW0oSGlzdG9yeUl0ZW0mLCBGcmFtZUxv
YWRUeXBlLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQpOworICAgIHZvaWQgbG9hZEl0ZW0o
SGlzdG9yeUl0ZW0mLCBIaXN0b3J5SXRlbSogZnJvbUl0ZW0sIEZyYW1lTG9hZFR5cGUsIFNob3Vs
ZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiAgICAgSGlzdG9yeUl0ZW0qIHJlcXVlc3RlZEhpc3Rv
cnlJdGVtKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1ZXN0ZWRIaXN0b3J5SXRlbS5nZXQoKTsgfQog
CiAgICAgdm9pZCByZXRyeUFmdGVyRmFpbGVkQ2FjaGVPbmx5TWFpblJlc291cmNlTG9hZCgpOwpA
QCAtMzM1LDcgKzMzNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja0NvbXBsZXRlbmVzc05v
dygpOwogCiAgICAgdm9pZCBsb2FkU2FtZURvY3VtZW50SXRlbShIaXN0b3J5SXRlbSYpOwotICAg
IHZvaWQgbG9hZERpZmZlcmVudERvY3VtZW50SXRlbShIaXN0b3J5SXRlbSYsIEZyYW1lTG9hZFR5
cGUsIEZvcm1TdWJtaXNzaW9uQ2FjaGVMb2FkUG9saWN5LCBTaG91bGRUcmVhdEFzQ29udGludWlu
Z0xvYWQpOworICAgIHZvaWQgbG9hZERpZmZlcmVudERvY3VtZW50SXRlbShIaXN0b3J5SXRlbSYs
IEhpc3RvcnlJdGVtKiBmcm9tSXRlbSwgRnJhbWVMb2FkVHlwZSwgRm9ybVN1Ym1pc3Npb25DYWNo
ZUxvYWRQb2xpY3ksIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiAKICAgICB2b2lkIGxv
YWRQcm92aXNpb25hbEl0ZW1Gcm9tQ2FjaGVkUGFnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAppbmRleCA1NDAxZWVhNzFmNmI1MTk1MDFkODExZTYy
ZWMxMTk5NDI3MWMwN2IyLi4wNmE3MTRmYWJiM2JhMGE3ZjEyNWUwMmUzZjA2ODA2Y2YzY2EzMThk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKQEAgLTc1
MSw3ICs3NTEsNyBAQCB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpyZWN1cnNpdmVTZXRQcm92aXNp
b25hbEl0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdAogdm9pZCBIaXN0b3J5Q29udHJv
bGxlcjo6cmVjdXJzaXZlR29Ub0l0ZW0oSGlzdG9yeUl0ZW0mIGl0ZW0sIEhpc3RvcnlJdGVtKiBm
cm9tSXRlbSwgRnJhbWVMb2FkVHlwZSB0eXBlLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQg
c2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKQogewogICAgIGlmICghaXRlbXNBcmVDbG9uZXMo
aXRlbSwgZnJvbUl0ZW0pKSB7Ci0gICAgICAgIG1fZnJhbWUubG9hZGVyKCkubG9hZEl0ZW0oaXRl
bSwgdHlwZSwgc2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKTsKKyAgICAgICAgbV9mcmFtZS5s
b2FkZXIoKS5sb2FkSXRlbShpdGVtLCBmcm9tSXRlbSwgdHlwZSwgc2hvdWxkVHJlYXRBc0NvbnRp
bnVpbmdMb2FkKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25BY3Rpb24uY3BwCmluZGV4IDU0NTQ0ZDZiYjllZmM1MjRhZDkwMmIxZDdm
ZjQzNGQ3MzI0NDMwNDcuLmU0ZWRiZGViYWRiYmUyYjBjZTdjYzhhNWJmZDgxOWJjNDE4MjBhNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAKQEAgLTE0NCw0
ICsxNDQsOSBAQCB2b2lkIE5hdmlnYXRpb25BY3Rpb246OnNldFRhcmdldEJhY2tGb3J3YXJkSXRl
bShIaXN0b3J5SXRlbSYgaXRlbSkKICAgICBtX3RhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZp
ZXIgPSBpdGVtLmlkZW50aWZpZXIoKTsKIH0KIAordm9pZCBOYXZpZ2F0aW9uQWN0aW9uOjpzZXRT
b3VyY2VCYWNrRm9yd2FyZEl0ZW0oSGlzdG9yeUl0ZW0qIGl0ZW0pCit7CisgICAgbV9zb3VyY2VC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyID0gaXRlbSA/IG1ha2VPcHRpb25hbChpdGVtLT5pZGVu
dGlmaWVyKCkpIDogV1RGOjpudWxsb3B0OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25BY3Rpb24uaAppbmRleCA0ZGU5ZDQwZDhlZGJjZGI4NzA3MzA1YzUwN2Y4ZmQ5ZmU5
ODQyNjc5Li4xYTQ0ZjkxZDM2ODFiODE0MDBlNzExMjdlYTUyNzJjNzViZTRiZTA3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKQEAgLTEyOSw2ICsxMjksOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRUYXJnZXRCYWNrRm9yd2FyZEl0ZW0oSGlzdG9yeUl0ZW0mKTsK
ICAgICBjb25zdCBPcHRpb25hbDxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyPiYgdGFyZ2V0QmFj
a0ZvcndhcmRJdGVtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0QmFja0Zvcndh
cmRJdGVtSWRlbnRpZmllcjsgfQogCisgICAgdm9pZCBzZXRTb3VyY2VCYWNrRm9yd2FyZEl0ZW0o
SGlzdG9yeUl0ZW0qKTsKKyAgICBjb25zdCBPcHRpb25hbDxCYWNrRm9yd2FyZEl0ZW1JZGVudGlm
aWVyPiYgc291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1f
c291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsgfQorCiAgICAgTG9ja0hpc3RvcnkgbG9j
a0hpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2xvY2tIaXN0b3J5OyB9CiAgICAgdm9pZCBzZXRM
b2NrSGlzdG9yeShMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSkgeyBtX2xvY2tIaXN0b3J5ID0gbG9j
a0hpc3Rvcnk7IH0KIApAQCAtMTU0LDYgKzE1Nyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hh
c09wZW5lZEZyYW1lcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX29wZW5lZEJ5RE9NV2l0aE9wZW5l
ciB7IGZhbHNlIH07CiAgICAgT3B0aW9uYWw8QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gbV90
YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOworICAgIE9wdGlvbmFsPEJhY2tGb3J3YXJk
SXRlbUlkZW50aWZpZXI+IG1fc291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKICAgICBM
b2NrSGlzdG9yeSBtX2xvY2tIaXN0b3J5IHsgTG9ja0hpc3Rvcnk6Ok5vIH07CiAgICAgTG9ja0Jh
Y2tGb3J3YXJkTGlzdCBtX2xvY2tCYWNrRm9yd2FyZExpc3QgeyBMb2NrQmFja0ZvcndhcmRMaXN0
OjpObyB9OwogICAgIE9wdGlvbmFsPEFkQ2xpY2tBdHRyaWJ1dGlvbj4gbV9hZENsaWNrQXR0cmli
dXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9u
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHAK
aW5kZXggOTY5MzA4YWJkNzE5MmViOTZiMmFlYTcwZmY0MTYyMjM1MDYyMzNhMS4uMTJhZmVjMDUz
YjU4ZjMyY2M0Nzc0YWJkMzcyOWNkMmI1ODlmZTljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcApAQCAtNTAsNiArNTAsNyBAQCB2b2lkIE5hdmln
YXRpb25BY3Rpb25EYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAg
IGVuY29kZXIgPDwgb3BlbmVkQnlET01XaXRoT3BlbmVyOwogICAgIGVuY29kZXIgPDwgcmVxdWVz
dGVyT3JpZ2luOwogICAgIGVuY29kZXIgPDwgdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmll
cjsKKyAgICBlbmNvZGVyIDw8IHNvdXJjZUJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI7CiAgICAg
ZW5jb2Rlci5lbmNvZGVFbnVtKGxvY2tIaXN0b3J5KTsKICAgICBlbmNvZGVyLmVuY29kZUVudW0o
bG9ja0JhY2tGb3J3YXJkTGlzdCk7CiAgICAgZW5jb2RlciA8PCBjbGllbnRSZWRpcmVjdFNvdXJj
ZUZvckhpc3Rvcnk7CkBAIC0xMjcsNiArMTI4LDExIEBAIE9wdGlvbmFsPE5hdmlnYXRpb25BY3Rp
b25EYXRhPiBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2Rl
CiAgICAgaWYgKCF0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8V2ViQ29yZTo6QmFja0Zv
cndhcmRJdGVtSWRlbnRpZmllcj4+IHNvdXJjZUJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI7Cisg
ICAgZGVjb2RlciA+PiBzb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOworICAgIGlmICgh
c291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKwogICAgIFdlYkNvcmU6OkxvY2tIaXN0b3J5IGxvY2tIaXN0b3J5OwogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGVFbnVtKGxvY2tIaXN0b3J5KSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKQEAgLTE0OCw3ICsxNTQsNyBAQCBPcHRpb25hbDxOYXZpZ2F0aW9uQWN0aW9uRGF0YT4g
TmF2aWdhdGlvbkFjdGlvbkRhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZQogICAgIHJl
dHVybiB7eyBXVEZNb3ZlKG5hdmlnYXRpb25UeXBlKSwgbW9kaWZpZXJzLCBXVEZNb3ZlKG1vdXNl
QnV0dG9uKSwgV1RGTW92ZShzeW50aGV0aWNDbGlja1R5cGUpLCBXVEZNb3ZlKCp1c2VyR2VzdHVy
ZVRva2VuSWRlbnRpZmllciksCiAgICAgICAgIFdURk1vdmUoKmNhbkhhbmRsZVJlcXVlc3QpLCBX
VEZNb3ZlKHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpLCBXVEZNb3ZlKCpkb3dubG9hZEF0
dHJpYnV0ZSksIFdURk1vdmUoY2xpY2tMb2NhdGlvbkluUm9vdFZpZXdDb29yZGluYXRlcyksCiAg
ICAgICAgIFdURk1vdmUoKmlzUmVkaXJlY3QpLCAqdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9u
LCAqaGFzT3BlbmVkRnJhbWVzLCAqb3BlbmVkQnlET01XaXRoT3BlbmVyLCBXVEZNb3ZlKCpyZXF1
ZXN0ZXJPcmlnaW4pLAotICAgICAgICBXVEZNb3ZlKCp0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVu
dGlmaWVyKSwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIFdURk1vdmUoKmNsaWVu
dFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSksIFdURk1vdmUoKmFkQ2xpY2tBdHRyaWJ1dGlvbikg
fX07CisgICAgICAgIFdURk1vdmUoKnRhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIpLCBX
VEZNb3ZlKCpzb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSwgbG9ja0hpc3RvcnksIGxv
Y2tCYWNrRm9yd2FyZExpc3QsIFdURk1vdmUoKmNsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9y
eSksIFdURk1vdmUoKmFkQ2xpY2tBdHRyaWJ1dGlvbikgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlv
bkRhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgKaW5k
ZXggMGQ5N2VmMzMxNTRjOGI4ZTI1YzFhNDQ3NjVlNGRkZWIwZTQwNDI3YS4uZTJiYjY4MmJiYmJk
NzEzZDRhMzY2ZGE2MGEzZjA4ZjQ4MDYxMjIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9O
YXZpZ2F0aW9uQWN0aW9uRGF0YS5oCkBAIC01OCw2ICs1OCw3IEBAIHN0cnVjdCBOYXZpZ2F0aW9u
QWN0aW9uRGF0YSB7CiAgICAgYm9vbCBvcGVuZWRCeURPTVdpdGhPcGVuZXIgeyBmYWxzZSB9Owog
ICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSByZXF1ZXN0ZXJPcmlnaW47CiAgICAgT3B0
aW9uYWw8V2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gdGFyZ2V0QmFja0Zvcndh
cmRJdGVtSWRlbnRpZmllcjsKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyPiBzb3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOwogICAgIFdlYkNvcmU6
OkxvY2tIaXN0b3J5IGxvY2tIaXN0b3J5OwogICAgIFdlYkNvcmU6OkxvY2tCYWNrRm9yd2FyZExp
c3QgbG9ja0JhY2tGb3J3YXJkTGlzdDsKICAgICBXVEY6OlN0cmluZyBjbGllbnRSZWRpcmVjdFNv
dXJjZUZvckhpc3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCA1YWU3NDM0ZDhjODk5YjI5Y2RhMmYxNDVkZWJhOTI1NTRjZTJjNTlmLi44ZDA3ZDJjOWUx
NmY4OTJiNTc0NDExOTUzZGIyMjNhODU2NTUwNDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTQ1MTUsOCArNDUxNSwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihSZWY8V2ViUHJvY2Vzc1Byb3h5PiYm
IHByb2NlcwogCiAgICAgaWYgKCFuYXZpZ2F0aW9uKSB7CiAgICAgICAgIGlmIChhdXRvIHRhcmdl
dEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIgPSBuYXZpZ2F0aW9uQWN0aW9uRGF0YS50YXJnZXRC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBpZiAoYXV0byogaXRlbSA9
IG1fYmFja0ZvcndhcmRMaXN0LT5pdGVtRm9ySUQoKnRhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50
aWZpZXIpKQotICAgICAgICAgICAgICAgIG5hdmlnYXRpb24gPSBtX25hdmlnYXRpb25TdGF0ZS0+
Y3JlYXRlQmFja0ZvcndhcmROYXZpZ2F0aW9uKCppdGVtLCBtX2JhY2tGb3J3YXJkTGlzdC0+Y3Vy
cmVudEl0ZW0oKSwgRnJhbWVMb2FkVHlwZTo6SW5kZXhlZEJhY2tGb3J3YXJkKTsKKyAgICAgICAg
ICAgIGlmIChhdXRvKiBpdGVtID0gbV9iYWNrRm9yd2FyZExpc3QtPml0ZW1Gb3JJRCgqdGFyZ2V0
QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcikpIHsKKyAgICAgICAgICAgICAgICBhdXRvKiBmcm9t
SXRlbSA9IG5hdmlnYXRpb25BY3Rpb25EYXRhLnNvdXJjZUJhY2tGb3J3YXJkSXRlbUlkZW50aWZp
ZXIgPyBtX2JhY2tGb3J3YXJkTGlzdC0+aXRlbUZvcklEKCpuYXZpZ2F0aW9uQWN0aW9uRGF0YS5z
b3VyY2VCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSA6IG51bGxwdHI7CisgICAgICAgICAgICAg
ICAgaWYgKCFmcm9tSXRlbSkKKyAgICAgICAgICAgICAgICAgICAgZnJvbUl0ZW0gPSBtX2JhY2tG
b3J3YXJkTGlzdC0+Y3VycmVudEl0ZW0oKTsKKyAgICAgICAgICAgICAgICBXVEZMb2dBbHdheXMo
IldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbigpIGNyZWF0ZXMg
YmFjay9mb3J3YXJkIG5hdmlnYXRpb24gZnJvbSBpdGVtICVzIiwgZnJvbUl0ZW0gPyBmcm9tSXRl
bS0+dXJsKCkudXRmOCgpLmRhdGEoKSA6ICJudWxsIik7CisgICAgICAgICAgICAgICAgbmF2aWdh
dGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVCYWNrRm9yd2FyZE5hdmlnYXRpb24oKml0
ZW0sIGZyb21JdGVtLCBGcmFtZUxvYWRUeXBlOjpJbmRleGVkQmFja0ZvcndhcmQpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghbmF2aWdhdGlvbikKICAgICAgICAgICAg
IG5hdmlnYXRpb24gPSBtX25hdmlnYXRpb25TdGF0ZS0+Y3JlYXRlTG9hZFJlcXVlc3ROYXZpZ2F0
aW9uKFJlc291cmNlUmVxdWVzdChyZXF1ZXN0KSwgbV9iYWNrRm9yd2FyZExpc3QtPmN1cnJlbnRJ
dGVtKCkpOwpAQCAtNTU3OSw3ICs1NTg0LDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RE
T01QYXN0ZUFjY2Vzcyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBlbGVtZW50UmVjdCwgY28KIAog
dm9pZCBXZWJQYWdlUHJveHk6OmJhY2tGb3J3YXJkQWRkSXRlbShCYWNrRm9yd2FyZExpc3RJdGVt
U3RhdGUmJiBpdGVtU3RhdGUpCiB7Ci0gICAgbV9iYWNrRm9yd2FyZExpc3QtPmFkZEl0ZW0oV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbTo6Y3JlYXRlKFdURk1vdmUoaXRlbVN0YXRlKSwgcGFnZUlEKCkp
KTsKKyAgICBhdXRvIGl0ZW0gPSBXZWJCYWNrRm9yd2FyZExpc3RJdGVtOjpjcmVhdGUoV1RGTW92
ZShpdGVtU3RhdGUpLCBwYWdlSUQoKSk7CisgICAgbV9iYWNrRm9yd2FyZExpc3QtPmFkZEl0ZW0o
V1RGTW92ZShpdGVtKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpiYWNrRm9yd2FyZEdvVG9J
dGVtKGNvbnN0IEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXImIGl0ZW1JRCwgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlJiBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKaW5kZXggMmM4NTg4M2FmNDM3NDE0ZTcxYThlYjRiMzhjYjU4NjE1MTNiNzlj
Mi4uMzgzYWI0OWQwNzU1YzEzNmVmN2Y5ZDY0NDY1NGVhNzMyOTIzOGExMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC04ODAsNiArODgwLDcgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0
IE5hdmlnYXQKICAgICBpZiAoYXV0byYgcmVxdWVzdGVyID0gbmF2aWdhdGlvbkFjdGlvbi5yZXF1
ZXN0ZXIoKSkKICAgICAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEucmVxdWVzdGVyT3JpZ2luID0g
cmVxdWVzdGVyLT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9u
RGF0YS50YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyID0gbmF2aWdhdGlvbkFjdGlvbi50
YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKCk7CisgICAgbmF2aWdhdGlvbkFjdGlvbkRh
dGEuc291cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciA9IG5hdmlnYXRpb25BY3Rpb24uc291
cmNlQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpOwogICAgIG5hdmlnYXRpb25BY3Rpb25EYXRh
LmxvY2tIaXN0b3J5ID0gbmF2aWdhdGlvbkFjdGlvbi5sb2NrSGlzdG9yeSgpOwogICAgIG5hdmln
YXRpb25BY3Rpb25EYXRhLmxvY2tCYWNrRm9yd2FyZExpc3QgPSBuYXZpZ2F0aW9uQWN0aW9uLmxv
Y2tCYWNrRm9yd2FyZExpc3QoKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5hZENsaWNrQXR0
cmlidXRpb24gPSBuYXZpZ2F0aW9uQWN0aW9uLmFkQ2xpY2tBdHRyaWJ1dGlvbigpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY1ZjdhZjE0ZWU2
ZThjYmJhMzYxOTlkOTVhOGJlMjYyMjI3OWQ3M2MuLmIyNDM0ZDc0YjUxNjEyZDU0NmY4MWMxMDVk
NDExYjNkOWQzM2NiYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMy0xMyAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04oUFNPTiwgcjI0MDY2MCk6IE5hdmln
YXRpb24gb3ZlciBwcm9jZXNzIGJvdW5kYXJ5IGlzIGZsYXNoeSB3aGVuIHVzaW5nIENtZC1sZWZ0
L3JpZ2h0IGFycm93IHRvIG5hdmlnYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTU2ODQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ4Mjk0NzE0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIEFkZCBB
UEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06CisKIDIwMTktMDMtMTMgIEFha2FzaCBK
YWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtld3MtYXBwXSBSZW1vdmUg
dW51c2VkIHBhdGNoIHZpZXcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IDNj
MzI2ZDZjZDM3MmFlNWMzYmFkZmEyN2I0NjA2ZjY2MjhiYjBmZjUuLmI0ZjU3ODQzODBlMGU3NmMx
Yjk3NzY5M2EwYjljZjI1NTE0Yzc1M2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5t
bQpAQCAtMzEzNyw2ICszMTM3LDc1IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIFBhZ2VDYWNoZTEpCiAg
ICAgRVhQRUNUX0VRKDJ1LCBzZWVuUElEcy5zaXplKCkpOwogfQogCitURVNUKFByb2Nlc3NTd2Fw
LCBQYWdlQ2FjaGVXaGVuTmF2aWdhdGluZ0Zyb21KUykKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29s
Q29uZmlndXJhdGlvbiA9IHBzb25Qcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24oKTsKKyAgICBhdXRv
IHByb2Nlc3NQb29sID0gYWRvcHROUyhbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENv
bmZpZ3VyYXRpb246cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRv
IHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6
cHJvY2Vzc1Bvb2wuZ2V0KCldOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2No
ZW1lIGFsbG9jXSBpbml0XSk7CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6
QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIiB0b0RhdGE6cGFnZUNhY2hlMUJ5dGVz
XTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246Ly93d3cuYXBw
bGUuY29tL21haW4uaHRtbCIgdG9EYXRhOnBhZ2VDYWNoZTFCeXRlc107CisgICAgW3dlYlZpZXdD
b25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hl
bWU6QCJQU09OIl07CisKKyAgICBhdXRvIG1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1BTT05N
ZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFtbd2ViVmlld0NvbmZpZ3VyYXRpb24g
dXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFu
ZGxlci5nZXQoKSBuYW1lOkAicHNvbiJdOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgYXV0byBk
ZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7
CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKwor
ICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6
W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIl1d
OworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZEFm
dGVyTG9hZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgRVhQRUNU
X0VRKDF1LCBbcHJvY2Vzc1Bvb2wgX3dlYlByb2Nlc3NDb3VudElnbm9yaW5nUHJld2FybWVkQW5k
Q2FjaGVkXSk7CisKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCJdXTsK
KworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgYXV0byBwaWRBZnRl
ckxvYWQyID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKworICAgIEVYUEVDVF9F
USgydSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9jZXNzQ291bnRJZ25vcmluZ1ByZXdhcm1lZEFuZENh
Y2hlZF0pOworICAgIEVYUEVDVF9ORShwaWRBZnRlckxvYWQxLCBwaWRBZnRlckxvYWQyKTsKKwor
ICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImhpc3RvcnkuYmFjaygpIiBjb21wbGV0
aW9uSGFuZGxlcjogbmlsXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVk
TWVzc2FnZSk7CisgICAgcmVjZWl2ZWRNZXNzYWdlID0gZmFsc2U7CisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBhdXRvIHBpZEFm
dGVyTG9hZDMgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgRVhQRUNU
X0VRKDJ1LCBbcHJvY2Vzc1Bvb2wgX3dlYlByb2Nlc3NDb3VudElnbm9yaW5nUHJld2FybWVkQW5k
Q2FjaGVkXSk7CisgICAgRVhQRUNUX0VRKHBpZEFmdGVyTG9hZDEsIHBpZEFmdGVyTG9hZDMpOwor
ICAgIEVYUEVDVF9FUSgxdSwgW3JlY2VpdmVkTWVzc2FnZXMgY291bnRdKTsKKyAgICBFWFBFQ1Rf
VFJVRShbcmVjZWl2ZWRNZXNzYWdlcy5nZXQoKVswXSBpc0VxdWFsVG9TdHJpbmc6QCJXYXMgcGVy
c2lzdGVkIiBdKTsKKyAgICBFWFBFQ1RfRVEoMnUsIHNlZW5QSURzLnNpemUoKSk7CisKKyAgICBb
d2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJoaXN0b3J5LmZvcndhcmQoKSIgY29tcGxldGlv
bkhhbmRsZXI6IG5pbF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZE1l
c3NhZ2UpOworICAgIHJlY2VpdmVkTWVzc2FnZSA9IGZhbHNlOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgYXV0byBwaWRBZnRl
ckxvYWQ0ID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKworICAgIEVYUEVDVF9F
USgydSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9jZXNzQ291bnRJZ25vcmluZ1ByZXdhcm1lZEFuZENh
Y2hlZF0pOworICAgIEVYUEVDVF9FUShwaWRBZnRlckxvYWQyLCBwaWRBZnRlckxvYWQ0KTsKKyAg
ICBFWFBFQ1RfRVEoMnUsIFtyZWNlaXZlZE1lc3NhZ2VzIGNvdW50XSk7CisgICAgRVhQRUNUX1RS
VUUoW3JlY2VpdmVkTWVzc2FnZXMuZ2V0KClbMV0gaXNFcXVhbFRvU3RyaW5nOkAiV2FzIHBlcnNp
c3RlZCIgXSk7CisgICAgRVhQRUNUX0VRKDJ1LCBzZWVuUElEcy5zaXplKCkpOworfQorCiBURVNU
KFByb2Nlc3NTd2FwLCBOdW1iZXJPZlByZXdhcm1lZFByb2Nlc3NlcykKIHsKICAgICBhdXRvIHBy
b2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IHBzb25Qcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24oKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>