<?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>182697</bug_id>
          
          <creation_ts>2018-02-12 09:48:25 -0800</creation_ts>
          <short_desc>REGRESSION (r228299): Broke reader mode in Safari</short_desc>
          <delta_ts>2018-02-27 12:00:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=182720</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=183168</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>182412</blocked>
          <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>japhet</cc>
    
    <cc>rmondello</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1398366</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 09:48:25 -0800</bug_when>
    <thetext>r228299 broke reader mode in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398367</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 09:48:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/37399012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398370</commentid>
    <comment_count>2</comment_count>
      <attachid>333600</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 09:52:26 -0800</bug_when>
    <thetext>Created attachment 333600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398424</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2018-02-12 12:39:33 -0800</bug_when>
    <thetext>Can an API test (or something) be made to test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398428</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 12:42:09 -0800</bug_when>
    <thetext>(In reply to Sam Weinig from comment #3)
&gt; Can an API test (or something) be made to test this?

I do not understand the issue yet so I haven&apos;t been able to write a test. It seems to be some kind of race as reader mode sometimes works and sometimes doesn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398429</commentid>
    <comment_count>5</comment_count>
      <attachid>333617</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 12:43:11 -0800</bug_when>
    <thetext>Created attachment 333617
Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398516</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 15:57:27 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; (In reply to Sam Weinig from comment #3)
&gt; &gt; Can an API test (or something) be made to test this?
&gt; 
&gt; I do not understand the issue yet so I haven&apos;t been able to write a test. It
&gt; seems to be some kind of race as reader mode sometimes works and sometimes
&gt; doesn&apos;t.

I believe I now understand the issue and I am working on writing an API test. This said, this may take some time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398531</commentid>
    <comment_count>7</comment_count>
      <attachid>333643</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 16:32:41 -0800</bug_when>
    <thetext>Created attachment 333643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398535</commentid>
    <comment_count>8</comment_count>
      <attachid>333643</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-12 16:42:57 -0800</bug_when>
    <thetext>Comment on attachment 333643
Patch

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

&gt; Source/WebCore/ChangeLog:26
&gt; +        riskier change at this point. I will follow-up on this issue.

I filed https://bugs.webkit.org/show_bug.cgi?id=182720 for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398608</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-12 21:51:32 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #0)
&gt; r228299 broke reader mode in Safari.

Can you please elaborate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398609</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-02-12 21:54:14 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #9)
&gt; (In reply to Chris Dumez from comment #0)
&gt; &gt; r228299 broke reader mode in Safari.
&gt; 
&gt; Can you please elaborate?

Never mind. You described how it broke here:

&gt; Source/WebCore/ChangeLog:22
&gt; +        the policy response from the client. When the provisional load is committed,
&gt; +        we call FrameLoader::stopLoading() which after r228299 cancelled pending
&gt; +        policy checks. Because we did not wait for the policy check response to
&gt; +        commit the load, we would cancel it which would make the load fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398727</commentid>
    <comment_count>11</comment_count>
      <attachid>333643</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-13 12:46:53 -0800</bug_when>
    <thetext>Comment on attachment 333643
Patch

Clearing flags on attachment: 333643

Committed r228430: &lt;https://trac.webkit.org/changeset/228430&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1398728</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-13 12:46:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333600</attachid>
            <date>2018-02-12 09:52:26 -0800</date>
            <delta_ts>2018-02-12 16:32:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182697-20180212095224.patch</filename>
            <type>text/plain</type>
            <size>2858</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q4MzQ4MGVmM2I4YTg4
OWMzMDJkYzcyYzg0NjFmNTE0YjYyYmFjMi4uNTg3OWRhZWM3ZGI4ZjlhZDU5NmU1NTk0ZTZhNTM3
YTllOTM1ODMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTAyLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjIyODI5
OSk6IEJyb2tlIHJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNjk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
NzM5OTAxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNYWtlIHRoZSBmaXggZnJvbSByMjI4Mjk5IG1vcmUgc3BlY2lmaWMgdG8gdGhlIGJ1ZyBpdCB3
YXMgdHJ5aW5nIHRvIGZpeCBieSBtb3ZpbmcgdGhlCisgICAgICAgIHBvbGljeUNoZWNrZXIoKS5z
dG9wQ2hlY2soKSBjYWxsIGZyb20gdGhlIEZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZygpIHRvIE5h
dmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlKCksCisgICAgICAgIHdoZW4gYSBwcmV2aW91cyBs
b2FkIGdldHMgY2FuY2VsbGVkLiBUaGlzIGdyZWF0bHkgcmVkdWNlcyB0aGUgY2hhbmNlcyBvZiBi
YWQgc2lkZSBlZmZlY3RzCisgICAgICAgIGZyb20gdGhpcyBjaGFuZ2UuIFJlYWRlciBtb2RlIHdv
cmtzIGFnYWluIGFuZCB0aGUgc2l0ZXMgZml4ZWQgYnkgcjIyODI5OSBzdGlsbCB3b3JrIGFmdGVy
CisgICAgICAgIHRoaXMgbW9yZSBsaW1pdGVkIGZpeC4KKworICAgICAgICAqIGxvYWRlci9GcmFt
ZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RvcExvYWRpbmcp
OgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlKToKKwogMjAxOC0wMi0xMSAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAog
ICAgICAgICBbR1RLXSBTY3JvbGxpbmcgc29tZXRpbWVzIGp1bXBzIGFyb3VuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMzg4MDRmMmQxMzQyYTVmNGQyNTkxM2UwODJk
ZDU3YWI1ZTE2YTI1Ni4uMmVlNDdmODkyZWJjYjc3YWJlMjc2NWJjYWVlYjVkOTc5MGZmMTVmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC00ODgsOCArNDg4LDYgQEAg
dm9pZCBGcmFtZUxvYWRlcjo6c3RvcExvYWRpbmcoVW5sb2FkRXZlbnRQb2xpY3kgdW5sb2FkRXZl
bnRQb2xpY3kpCiAgICAgICAgIERhdGFiYXNlTWFuYWdlcjo6c2luZ2xldG9uKCkuc3RvcERhdGFi
YXNlcygqZG9jdW1lbnQsIG51bGxwdHIpOwogICAgIH0KIAotICAgIHBvbGljeUNoZWNrZXIoKS5z
dG9wQ2hlY2soKTsKLQogICAgIC8vIEZJWE1FOiBUaGlzIHdpbGwgY2FuY2VsIHJlZGlyZWN0aW9u
IHRpbWVyLCB3aGljaCByZWFsbHkgbmVlZHMgdG8gYmUgcmVzdGFydGVkIHdoZW4gcmVzdG9yaW5n
IHRoZSBmcmFtZSBmcm9tIGIvZiBjYWNoZS4KICAgICBtX2ZyYW1lLm5hdmlnYXRpb25TY2hlZHVs
ZXIoKS5jYW5jZWwoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcAppbmRleCBiMWY1NzAzZDJiMzk2OTcxNDY5YTZjODdjZDM2Y2VhM2U2ZDg4NDZk
Li43NTJiODA5ODUwMTMyYmJkYThiMmFhNGQyZDBmMzk3OWFmMmMwOTkyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01MCw2ICs1MCw3IEBA
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5hdmlnYXRpb25EaXNhYmxlci5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQb2xpY3lDaGVja2VyLmgiCiAjaW5jbHVkZSAi
U2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CkBAIC01MjAsNiArNTIxLDcgQEAgdm9pZCBOYXZp
Z2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVsZShzdGQ6OnVuaXF1ZV9wdHI8U2NoZWR1bGVkTmF2aWdh
dGlvbj4gcmVkaXJlY3QKICAgICBpZiAocmVkaXJlY3QtPndhc0R1cmluZ0xvYWQoKSkgewogICAg
ICAgICBpZiAoRG9jdW1lbnRMb2FkZXIqIHByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIgPSBtX2Zy
YW1lLmxvYWRlcigpLnByb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgICAgIHBy
b3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXItPnN0b3BMb2FkaW5nKCk7CisgICAgICAgIG1fZnJhbWUu
bG9hZGVyKCkucG9saWN5Q2hlY2tlcigpLnN0b3BDaGVjaygpOwogICAgICAgICBtX2ZyYW1lLmxv
YWRlcigpLnN0b3BMb2FkaW5nKFVubG9hZEV2ZW50UG9saWN5VW5sb2FkQW5kUGFnZUhpZGUpOwog
ICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>333617</attachid>
            <date>2018-02-12 12:43:11 -0800</date>
            <delta_ts>2018-02-12 12:43:23 -0800</delta_ts>
            <desc>Rebased</desc>
            <filename>180568_policyDelegates_async_wip.patch</filename>
            <type>text/plain</type>
            <size>19276</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzgzOGVkMGJkNDIuLjM0NTM4OGI3ZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDE4LTAyLTEyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgTWFrZSBwb2xpY3kgZGVjaXNpb25zIGFzeW5jaHJvbm91cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNTY4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpyZWNlaXZl
ZFBvbGljeURlY2lzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KToKKwogMjAxOC0wMi0xMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gVW5pZnkgYnVpbGRzIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBm
aWxlcyBpbiBXZWJLaXQgbGF5ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDNiNjZkNDJiZTdhLi43OWJhZmMzNGQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yMzAzLDggKzIzMDMsNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gYWN0aW9uLCBXZWJGcmFt
ZVByb3h5JiBmcgogICAgIERvd25sb2FkSUQgZG93bmxvYWRJRCA9IHsgfTsKICAgICBpZiAoYWN0
aW9uID09IFBvbGljeUFjdGlvbjo6RG93bmxvYWQpIHsKICAgICAgICAgLy8gQ3JlYXRlIGEgZG93
bmxvYWQgcHJveHkuCi0gICAgICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgZG93bmxvYWRSZXF1
ZXN0ID0gbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3QgPyAqbV9kZWNpZGVQb2xpY3lG
b3JSZXNwb25zZVJlcXVlc3QgOiBSZXNvdXJjZVJlcXVlc3QoKTsKLSAgICAgICAgRG93bmxvYWRQ
cm94eSogZG93bmxvYWQgPSBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkuY3JlYXRlRG93bmxvYWRQ
cm94eShkb3dubG9hZFJlcXVlc3QsIHRoaXMpOworICAgICAgICBhdXRvKiBkb3dubG9hZCA9IG1f
cHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS5jcmVhdGVEb3dubG9hZFByb3h5KG1fZGVjaWRlUG9saWN5
Rm9yUmVzcG9uc2VSZXF1ZXN0LCB0aGlzKTsKICAgICAgICAgaWYgKG5hdmlnYXRpb24pIHsKICAg
ICAgICAgICAgIGRvd25sb2FkLT5zZXRXYXNVc2VySW5pdGlhdGVkKG5hdmlnYXRpb24tPndhc1Vz
ZXJJbml0aWF0ZWQoKSk7CiAgICAgICAgICAgICBkb3dubG9hZC0+c2V0UmVkaXJlY3RDaGFpbihu
YXZpZ2F0aW9uLT50YWtlUmVkaXJlY3RDaGFpbigpKTsKQEAgLTIzMTIsMjcgKzIzMTEsOSBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihQb2xpY3lBY3Rpb24gYWN0
aW9uLCBXZWJGcmFtZVByb3h5JiBmcgogCiAgICAgICAgIGRvd25sb2FkSUQgPSBkb3dubG9hZC0+
ZG93bmxvYWRJRCgpOwogICAgICAgICBoYW5kbGVEb3dubG9hZFJlcXVlc3QoZG93bmxvYWQpOwor
ICAgICAgICBtX2RlY2lkZVBvbGljeUZvclJlc3BvbnNlUmVxdWVzdCA9IHsgfTsKICAgICB9CiAK
LSAgICAvLyBJZiB3ZSByZWNlaXZlZCBhIHBvbGljeSBkZWNpc2lvbiB3aGlsZSBpbiBkZWNpZGVQ
b2xpY3lGb3JSZXNwb25zZSB0aGUgZGVjaXNpb24gd2lsbAotICAgIC8vIGJlIHNlbnQgYmFjayB0
byB0aGUgd2ViIHByb2Nlc3MgYnkgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UuCi0gICAgaWYgKG1f
aW5EZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmMpIHsKLSAgICAgICAgbV9zeW5jTWltZVR5cGVQ
b2xpY3lBY3Rpb25Jc1ZhbGlkID0gdHJ1ZTsKLSAgICAgICAgbV9zeW5jTWltZVR5cGVQb2xpY3lB
Y3Rpb24gPSBhY3Rpb247Ci0gICAgICAgIG1fc3luY01pbWVUeXBlUG9saWN5RG93bmxvYWRJRCA9
IGRvd25sb2FkSUQ7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBJZiB3ZSByZWNl
aXZlZCBhIHBvbGljeSBkZWNpc2lvbiB3aGlsZSBpbiBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9u
QWN0aW9uIHRoZSBkZWNpc2lvbiB3aWxsIAotICAgIC8vIGJlIHNlbnQgYmFjayB0byB0aGUgd2Vi
IHByb2Nlc3MgYnkgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbi4gCi0gICAgaWYgKG1f
aW5EZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKSB7Ci0gICAgICAgIG1fc3luY05hdmln
YXRpb25BY3Rpb25Qb2xpY3lBY3Rpb25Jc1ZhbGlkID0gdHJ1ZTsKLSAgICAgICAgbV9zeW5jTmF2
aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbiA9IGFjdGlvbjsKLSAgICAgICAgbV9zeW5jTmF2aWdh
dGlvbkFjdGlvblBvbGljeURvd25sb2FkSUQgPSBkb3dubG9hZElEOwotICAgICAgICBtX3N5bmNO
YXZpZ2F0aW9uQWN0aW9uUG9saWN5V2Vic2l0ZVBvbGljaWVzID0gV1RGTW92ZSh3ZWJzaXRlUG9s
aWNpZXMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAogICAgIG1fcHJvY2Vzcy0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lLmZyYW1l
SUQoKSwgbGlzdGVuZXJJRCwgYWN0aW9uLCBuYXZpZ2F0aW9uID8gbmF2aWdhdGlvbi0+bmF2aWdh
dGlvbklEKCkgOiAwLCBkb3dubG9hZElELCB3ZWJzaXRlUG9saWNpZXMpLCBtX3BhZ2VJRCk7CiB9
CiAKQEAgLTM3MjEsNyArMzcwMiw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpmcmFtZURpZEJlY29t
ZUZyYW1lU2V0KHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgdmFsdWUpCiAgICAgICAgIG1fZnJhbWVT
ZXRMYXJnZXN0RnJhbWUgPSB2YWx1ZSA/IG1fbWFpbkZyYW1lIDogMDsKIH0KIAotdm9pZCBXZWJQ
YWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJ
RCwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5T3JpZ2luLCB1aW50NjRf
dCBuYXZpZ2F0aW9uSUQsIE5hdmlnYXRpb25BY3Rpb25EYXRhJiYgbmF2aWdhdGlvbkFjdGlvbkRh
dGEsIGNvbnN0IEZyYW1lSW5mb0RhdGEmIG9yaWdpbmF0aW5nRnJhbWVJbmZvRGF0YSwgdWludDY0
X3Qgb3JpZ2luYXRpbmdQYWdlSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3Jp
Z2luYWxSZXF1ZXN0LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCB1aW50NjRfdCBsaXN0ZW5l
cklELCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEsIGJvb2wmIHJlY2VpdmVkUG9saWN5QWN0aW9u
LCB1aW50NjRfdCYgbmV3TmF2aWdhdGlvbklELCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mIHBvbGlj
eUFjdGlvbiwgRG93bmxvYWRJRCYgZG93bmxvYWRJRCwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9s
aWNpZXNEYXRhPiYgd2Vic2l0ZVBvbGljaWVzKQordm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2VjdXJpdHlP
cmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5T3JpZ2luLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIE5h
dmlnYXRpb25BY3Rpb25EYXRhJiYgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIGNvbnN0IEZyYW1lSW5m
b0RhdGEmIG9yaWdpbmF0aW5nRnJhbWVJbmZvRGF0YSwgdWludDY0X3Qgb3JpZ2luYXRpbmdQYWdl
SUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0LCB1aW50NjRfdCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0
YSYgdXNlckRhdGEpCiB7CiAgICAgUGFnZUNsaWVudFByb3RlY3RvciBwcm90ZWN0b3IobV9wYWdl
Q2xpZW50KTsKIApAQCAtMzczNiw2ICszNzE3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2VjdXIK
ICAgICBNRVNTQUdFX0NIRUNLX1VSTChyZXF1ZXN0LnVybCgpKTsKICAgICBNRVNTQUdFX0NIRUNL
X1VSTChvcmlnaW5hbFJlcXVlc3QudXJsKCkpOwogICAgIAorICAgIHVpbnQ2NF90IG5ld05hdmln
YXRpb25JRCB7IDAgfTsKICAgICBSZWY8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBsaXN0
ZW5lciA9IGZyYW1lLT5zZXRVcFBvbGljeUxpc3RlbmVyUHJveHkobGlzdGVuZXJJRCk7CiAgICAg
aWYgKCFuYXZpZ2F0aW9uSUQpIHsKICAgICAgICAgYXV0byBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0
aW9uU3RhdGUtPmNyZWF0ZUxvYWRSZXF1ZXN0TmF2aWdhdGlvbihSZXNvdXJjZVJlcXVlc3QocmVx
dWVzdCkpOwpAQCAtMzc0NSwyNCArMzcyNywxNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTZWN1cgog
ICAgICAgICBsaXN0ZW5lci0+c2V0TmF2aWdhdGlvbihXVEZNb3ZlKG5hdmlnYXRpb24pKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBhdXRvJiBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUt
Pm5hdmlnYXRpb24obmF2aWdhdGlvbklEKTsKKyAgICAgICAgbmV3TmF2aWdhdGlvbklEID0gbmF2
aWdhdGlvbklEOwogICAgICAgICBuYXZpZ2F0aW9uLnNldFdhc1VzZXJJbml0aWF0ZWQoISFuYXZp
Z2F0aW9uQWN0aW9uRGF0YS51c2VyR2VzdHVyZVRva2VuSWRlbnRpZmllcik7CiAgICAgICAgIG5h
dmlnYXRpb24uc2V0U2hvdWxkRm9yY2VEb3dubG9hZCghbmF2aWdhdGlvbkFjdGlvbkRhdGEuZG93
bmxvYWRBdHRyaWJ1dGUuaXNOdWxsKCkpOwogICAgICAgICBsaXN0ZW5lci0+c2V0TmF2aWdhdGlv
bihuYXZpZ2F0aW9uKTsKICAgICB9CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCi0g
ICAgaWYgKGZyYW1lLT5kaWRIYW5kbGVDb250ZW50RmlsdGVyVW5ibG9ja05hdmlnYXRpb24ocmVx
dWVzdCkpIHsKLSAgICAgICAgcmVjZWl2ZWRQb2xpY3lBY3Rpb24gPSB0cnVlOwotICAgICAgICBw
b2xpY3lBY3Rpb24gPSBQb2xpY3lBY3Rpb246Oklnbm9yZTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KKyAgICBpZiAoZnJhbWUtPmRpZEhhbmRsZUNvbnRlbnRGaWx0ZXJVbmJsb2NrTmF2aWdhdGlv
bihyZXF1ZXN0KSkKKyAgICAgICAgcmV0dXJuIHJlY2VpdmVkUG9saWN5RGVjaXNpb24oUG9saWN5
QWN0aW9uOjpJZ25vcmUsICpmcmFtZSwgbGlzdGVuZXJJRCwgJm1fbmF2aWdhdGlvblN0YXRlLT5u
YXZpZ2F0aW9uKG5ld05hdmlnYXRpb25JRCksIHsgfSk7CiAjZW5kaWYKIAotICAgIEFTU0VSVCgh
bV9pbkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOwotICAgIAotICAgIG1faW5EZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uID0gdHJ1ZTsKLSAgICBtX3N5bmNOYXZpZ2F0aW9u
QWN0aW9uUG9saWN5QWN0aW9uSXNWYWxpZCA9IGZhbHNlOwotCiAgICAgV2ViRnJhbWVQcm94eSog
b3JpZ2luYXRpbmdGcmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUob3JpZ2luYXRpbmdGcmFtZUlu
Zm9EYXRhLmZyYW1lSUQpOwogCiAgICAgaWYgKG1fbmF2aWdhdGlvbkNsaWVudCkgewpAQCAtMzc4
MywxNSArMzc1OCw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFNlY3VyCiAgICAgICAgIG1fcG9saWN5
Q2xpZW50LT5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKCp0aGlzLCBmcmFtZSwgV1RG
TW92ZShuYXZpZ2F0aW9uQWN0aW9uRGF0YSksIG9yaWdpbmF0aW5nRnJhbWUsIG9yaWdpbmFsUmVx
dWVzdCwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShsaXN0ZW5lciksIG1fcHJvY2Vzcy0+dHJh
bnNmb3JtSGFuZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogCiAgICAg
bV9zaG91bGRTdXBwcmVzc0FwcExpbmtzSW5OZXh0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uID0g
ZmFsc2U7Ci0gICAgbV9pbkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24gPSBmYWxzZTsK
LQotICAgIC8vIENoZWNrIGlmIHdlIHJlY2VpdmVkIGEgcG9saWN5IGRlY2lzaW9uIGFscmVhZHku
IElmIHdlIGRpZCwgd2UgY2FuIGp1c3QgcGFzcyBpdCBiYWNrLgotICAgIHJlY2VpdmVkUG9saWN5
QWN0aW9uID0gbV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbklzVmFsaWQ7Ci0gICAg
aWYgKG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBY3Rpb25Jc1ZhbGlkKSB7Ci0gICAgICAg
IHBvbGljeUFjdGlvbiA9IG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xpY3lBY3Rpb247Ci0gICAg
ICAgIGRvd25sb2FkSUQgPSBtX3N5bmNOYXZpZ2F0aW9uQWN0aW9uUG9saWN5RG93bmxvYWRJRDsK
LSAgICAgICAgd2Vic2l0ZVBvbGljaWVzID0gV1RGTW92ZShtX3N5bmNOYXZpZ2F0aW9uQWN0aW9u
UG9saWN5V2Vic2l0ZVBvbGljaWVzKTsKLSAgICB9CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpk
ZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2Vj
dXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5T3JpZ2luLCBOYXZpZ2F0aW9uQWN0aW9uRGF0
YSYmIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBjb25z
dCBTdHJpbmcmIGZyYW1lTmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgY29uc3QgVXNlckRhdGEm
IHVzZXJEYXRhKQpAQCAtMzgyMyw2ICszNzg5LDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lk
ZVBvbGljeUZvclJlc3BvbnNlKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2kK
IHsKICAgICBQYWdlQ2xpZW50UHJvdGVjdG9yIHByb3RlY3RvcihtX3BhZ2VDbGllbnQpOwogCisg
ICAgbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJlcXVlc3QgPSByZXF1ZXN0OworCiAgICAgV2Vi
RnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3MtPndlYkZyYW1lKGZyYW1lSUQpOwogICAgIE1F
U1NBR0VfQ0hFQ0soZnJhbWUpOwogICAgIE1FU1NBR0VfQ0hFQ0tfVVJMKHJlcXVlc3QudXJsKCkp
OwpAQCAtMzgzOSwyOSArMzgwNyw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lG
b3JSZXNwb25zZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTZWN1cml0eU9yaWdpCiAgICAgICAg
IG1fcG9saWN5Q2xpZW50LT5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSgqdGhpcywgKmZyYW1lLCBy
ZXNwb25zZSwgcmVxdWVzdCwgY2FuU2hvd01JTUVUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgbV9w
cm9jZXNzLT50cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKHVzZXJEYXRhLm9iamVjdCgpKS5nZXQo
KSk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmMo
dWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5
T3JpZ2luLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVU
eXBlLCB1aW50NjRfdCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEsIGJvb2wm
IHJlY2VpdmVkUG9saWN5QWN0aW9uLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mIHBvbGljeUFjdGlv
biwgRG93bmxvYWRJRCYgZG93bmxvYWRJRCkKLXsKLSAgICBQYWdlQ2xpZW50UHJvdGVjdG9yIHBy
b3RlY3RvcihtX3BhZ2VDbGllbnQpOwotCi0gICAgQVNTRVJUKCFtX2luRGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2VTeW5jKTsKLQotICAgIG1faW5EZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmMgPSB0
cnVlOwotICAgIG1fZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VSZXF1ZXN0ID0gJnJlcXVlc3Q7Ci0g
ICAgbV9zeW5jTWltZVR5cGVQb2xpY3lBY3Rpb25Jc1ZhbGlkID0gZmFsc2U7Ci0gICAgCi0gICAg
ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoZnJhbWVJRCwgZnJhbWVTZWN1cml0eU9yaWdpbiwgbmF2
aWdhdGlvbklELCByZXNwb25zZSwgcmVxdWVzdCwgY2FuU2hvd01JTUVUeXBlLCBsaXN0ZW5lcklE
LCB1c2VyRGF0YSk7Ci0gICAgCi0gICAgbV9pbkRlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyA9
IGZhbHNlOwotICAgIG1fZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VSZXF1ZXN0ID0gbnVsbHB0cjsK
LSAgICAKLSAgICAvLyBDaGVjayBpZiB3ZSByZWNlaXZlZCBhIHBvbGljeSBkZWNpc2lvbiBhbHJl
YWR5LiBJZiB3ZSBkaWQsIHdlIGNhbiBqdXN0IHBhc3MgaXQgYmFjay4KLSAgICByZWNlaXZlZFBv
bGljeUFjdGlvbiA9IG1fc3luY01pbWVUeXBlUG9saWN5QWN0aW9uSXNWYWxpZDsKLSAgICBpZiAo
bV9zeW5jTWltZVR5cGVQb2xpY3lBY3Rpb25Jc1ZhbGlkKSB7Ci0gICAgICAgIHBvbGljeUFjdGlv
biA9IG1fc3luY01pbWVUeXBlUG9saWN5QWN0aW9uOwotICAgICAgICBkb3dubG9hZElEID0gbV9z
eW5jTWltZVR5cGVQb2xpY3lEb3dubG9hZElEOwotICAgIH0KLX0KLQogdm9pZCBXZWJQYWdlUHJv
eHk6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFJlc291
cmNlRXJyb3ImIGVycm9yLCBjb25zdCBVc2VyRGF0YSYgdXNlckRhdGEpCiB7CiAgICAgUGFnZUNs
aWVudFByb3RlY3RvciBwcm90ZWN0b3IobV9wYWdlQ2xpZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggY2ZmMThmNTdhNmIuLmM1ZmRjOWEwNDEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTM1MCwxMCArMTM1MCw5IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGRpZERlc3Ryb3lOYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRp
b25JRCk7CiAKLSAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0
X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3Vy
aXR5T3JpZ2luLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIE5hdmlnYXRpb25BY3Rpb25EYXRhJiYs
IGNvbnN0IEZyYW1lSW5mb0RhdGEmLCB1aW50NjRfdCBvcmlnaW5hdGluZ1BhZ2VJRCwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYmLCB1aW50NjRfdCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0YSYsIGJvb2wm
IHJlY2VpdmVkUG9saWN5QWN0aW9uLCB1aW50NjRfdCYgbmV3TmF2aWdhdGlvbklELCBXZWJDb3Jl
OjpQb2xpY3lBY3Rpb24mLCBEb3dubG9hZElEJiwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNp
ZXNEYXRhPiYpOworICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih1aW50
NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIGZyYW1lU2Vj
dXJpdHlPcmlnaW4sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgTmF2aWdhdGlvbkFjdGlvbkRhdGEm
JiwgY29uc3QgRnJhbWVJbmZvRGF0YSYsIHVpbnQ2NF90IG9yaWdpbmF0aW5nUGFnZUlELCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJik7CiAg
ICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24odWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiBmcmFtZVNlY3VyaXR5T3JpZ2luLCBO
YXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3Qg
U3RyaW5nJiBmcmFtZU5hbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVzZXJEYXRhJik7
CiAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIGZyYW1lU2VjdXJpdHlPcmlnaW4sIHVpbnQ2
NF90IG5hdmlnYXRpb25JRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCB1aW50NjRf
dCBsaXN0ZW5lcklELCBjb25zdCBVc2VyRGF0YSYpOwotICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2VTeW5jKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YSYgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIGNvbnN0IFVz
ZXJEYXRhJiwgYm9vbCYgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIFdlYkNvcmU6OlBvbGljeUFjdGlv
biYsIERvd25sb2FkSUQmKTsKICAgICB2b2lkIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5KHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBVc2VyRGF0
YSYpOwogCiAgICAgdm9pZCB3aWxsU3VibWl0Rm9ybSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRf
dCBzb3VyY2VGcmFtZUlELCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPj4m
IHRleHRGaWVsZFZhbHVlcywgdWludDY0X3QgbGlzdGVuZXJJRCwgY29uc3QgVXNlckRhdGEmKTsK
QEAgLTE4ODIsMTcgKzE4ODEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0luUHJpbnRpbmdN
b2RlIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQZXJmb3JtaW5nRE9NUHJpbnRPcGVyYXRpb24g
eyBmYWxzZSB9OwogCi0gICAgYm9vbCBtX2luRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jIHsg
ZmFsc2UgfTsKLSAgICBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QqIG1fZGVjaWRlUG9s
aWN5Rm9yUmVzcG9uc2VSZXF1ZXN0IHsgbnVsbHB0ciB9OwotICAgIGJvb2wgbV9zeW5jTWltZVR5
cGVQb2xpY3lBY3Rpb25Jc1ZhbGlkIHsgZmFsc2UgfTsKLSAgICBXZWJDb3JlOjpQb2xpY3lBY3Rp
b24gbV9zeW5jTWltZVR5cGVQb2xpY3lBY3Rpb24geyBXZWJDb3JlOjpQb2xpY3lBY3Rpb246OlVz
ZSB9OwotICAgIERvd25sb2FkSUQgbV9zeW5jTWltZVR5cGVQb2xpY3lEb3dubG9hZElEIHsgMCB9
OwotICAgIGJvb2wgbV9pbkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24geyBmYWxzZSB9
OwotICAgIGJvb2wgbV9zeW5jTmF2aWdhdGlvbkFjdGlvblBvbGljeUFjdGlvbklzVmFsaWQgeyBm
YWxzZSB9OwotICAgIFdlYkNvcmU6OlBvbGljeUFjdGlvbiBtX3N5bmNOYXZpZ2F0aW9uQWN0aW9u
UG9saWN5QWN0aW9uIHsgV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpVc2UgfTsKLSAgICBEb3dubG9h
ZElEIG1fc3luY05hdmlnYXRpb25BY3Rpb25Qb2xpY3lEb3dubG9hZElEIHsgMCB9OwotICAgIHN0
ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4gbV9zeW5jTmF2aWdhdGlvbkFjdGlvblBv
bGljeVdlYnNpdGVQb2xpY2llczsKLQorICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBtX2Rl
Y2lkZVBvbGljeUZvclJlc3BvbnNlUmVxdWVzdDsKICAgICBib29sIG1fc2hvdWxkU3VwcHJlc3NB
cHBMaW5rc0luTmV4dE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbiB7IGZhbHNlIH07CiAKICAgICBE
ZXF1ZTxOYXRpdmVXZWJLZXlib2FyZEV2ZW50PiBtX2tleUV2ZW50UXVldWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYTJkNDg0
ZGY5NWIuLmU2ZjNiZDY3MmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC05OCw4ICs5OCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAjZW5kaWYKIAogICAgICMgUG9saWN5IG1lc3NhZ2VzCi0gICAgRGVjaWRlUG9s
aWN5Rm9yUmVzcG9uc2VTeW5jKHVpbnQ2NF90IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0X3QgbmF2aWdhdGlvbklE
LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQs
IFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpIC0+IChib29sIHJlY2VpdmVkUG9saWN5QWN0aW9u
LCBlbnVtIFdlYkNvcmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24sIFdlYktpdDo6RG93bmxv
YWRJRCBkb3dubG9hZElEKQotICAgIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWlu
dDY0X3QgZnJhbWVJRCwgc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBmcmFtZVNl
Y3VyaXR5T3JpZ2luLCB1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIHN0cnVjdCBXZWJLaXQ6Ok5hdmln
YXRpb25BY3Rpb25EYXRhIG5hdmlnYXRpb25BY3Rpb25EYXRhLCBzdHJ1Y3QgV2ViS2l0OjpGcmFt
ZUluZm9EYXRhIG9yaWdpbmF0aW5nRnJhbWVJbmZvRGF0YSwgdWludDY0X3Qgb3JpZ2luYXRpbmdQ
YWdlSUQsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBvcmlnaW5hbFJlcXVlc3QsIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OlVz
ZXJEYXRhIHVzZXJEYXRhKSAtPiAoYm9vbCByZWNlaXZlZFBvbGljeUFjdGlvbiwgdWludDY0X3Qg
bmV3TmF2aWdhdGlvbklELCBlbnVtIFdlYkNvcmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24s
IFdlYktpdDo6RG93bmxvYWRJRCBkb3dubG9hZElELCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vi
c2l0ZVBvbGljaWVzRGF0YT4gd2Vic2l0ZVBvbGljaWVzKQorICAgIERlY2lkZVBvbGljeUZvclJl
c3BvbnNlKHVpbnQ2NF90IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEgZnJhbWVTZWN1cml0eU9yaWdpbiwgdWludDY0X3QgbmF2aWdhdGlvbklELCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6VXNl
ckRhdGEgdXNlckRhdGEpCisgICAgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbih1aW50
NjRfdCBmcmFtZUlELCBzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGZyYW1lU2Vj
dXJpdHlPcmlnaW4sIHVpbnQ2NF90IG5hdmlnYXRpb25JRCwgc3RydWN0IFdlYktpdDo6TmF2aWdh
dGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIHN0cnVjdCBXZWJLaXQ6OkZyYW1l
SW5mb0RhdGEgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhLCB1aW50NjRfdCBvcmlnaW5hdGluZ1Bh
Z2VJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG9yaWdpbmFsUmVxdWVzdCwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6VXNl
ckRhdGEgdXNlckRhdGEpCiAgICAgRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHVpbnQ2
NF90IGZyYW1lSUQsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgZnJhbWVTZWN1
cml0eU9yaWdpbiwgc3RydWN0IFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgbmF2aWdhdGlv
bkFjdGlvbkRhdGEsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBTdHJpbmcgZnJh
bWVOYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQog
ICAgIFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJl
c291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDFlOThiNDgzYjE4Li43YzlmMTY4ZWVjNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC03NDgsMTkgKzc0OCw5IEBAIHZvaWQg
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zCiAKICAgICBSZWY8V2ViRnJhbWU+IHByb3RlY3RvcigqbV9mcmFt
ZSk7CiAgICAgdWludDY0X3QgbGlzdGVuZXJJRCA9IG1fZnJhbWUtPnNldFVwUG9saWN5TGlzdGVu
ZXIoV1RGTW92ZShmdW5jdGlvbiksIFdlYkZyYW1lOjpGb3JOYXZpZ2F0aW9uQWN0aW9uOjpObyk7
Ci0gICAgYm9vbCByZWNlaXZlZFBvbGljeUFjdGlvbjsKLSAgICBQb2xpY3lBY3Rpb24gcG9saWN5
QWN0aW9uOwotICAgIERvd25sb2FkSUQgZG93bmxvYWRJRDsKLQogICAgIGF1dG8gbmF2aWdhdGlv
bklEID0gc3RhdGljX2Nhc3Q8V2ViRG9jdW1lbnRMb2FkZXImPigqcG9saWN5RG9jdW1lbnRMb2Fk
ZXIpLm5hdmlnYXRpb25JRCgpOwotICAgIGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6
OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1l
SUQoKSwgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUoY29yZUZyYW1lKSwgbmF2aWdhdGlv
bklELCByZXNwb25zZSwgcmVxdWVzdCwgY2FuU2hvd01JTUVUeXBlLCBsaXN0ZW5lcklELCBVc2Vy
RGF0YShXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS50cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHVz
ZXJEYXRhLmdldCgpKS5nZXQoKSkpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xp
Y3lGb3JSZXNwb25zZVN5bmM6OlJlcGx5KHJlY2VpdmVkUG9saWN5QWN0aW9uLCBwb2xpY3lBY3Rp
b24sIGRvd25sb2FkSUQpLCBTZWNvbmRzOjppbmZpbml0eSgpLCBJUEM6OlNlbmRTeW5jT3B0aW9u
OjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZCkpIHsKKyAgICBpZiAoIXdlYlBhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UobV9m
cmFtZS0+ZnJhbWVJRCgpLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21GcmFtZShjb3JlRnJhbWUp
LCBuYXZpZ2F0aW9uSUQsIHJlc3BvbnNlLCByZXF1ZXN0LCBjYW5TaG93TUlNRVR5cGUsIGxpc3Rl
bmVySUQsIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNU
b0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSkpKQogICAgICAgICBtX2ZyYW1lLT5kaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVuZXJJRCwgUG9saWN5QWN0aW9uOjpJZ25vcmUsIDAs
IHsgfSwgeyB9KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIFdlIGNhbGwgdGhp
cyBzeW5jaHJvbm91c2x5IGJlY2F1c2UgQ0ZOZXR3b3JrIGNhbiBvbmx5IGNvbnZlcnQgYSBsb2Fk
aW5nIGNvbm5lY3Rpb24gdG8gYSBkb3dubG9hZCBmcm9tIGl0cyBkaWRSZWNlaXZlUmVzcG9uc2Ug
Y2FsbGJhY2suCi0gICAgaWYgKHJlY2VpdmVkUG9saWN5QWN0aW9uKQotICAgICAgICBtX2ZyYW1l
LT5kaWRSZWNlaXZlUG9saWN5RGVjaXNpb24obGlzdGVuZXJJRCwgcG9saWN5QWN0aW9uLCAwLCBk
b3dubG9hZElELCB7IH0pOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRj
aERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBu
YXZpZ2F0aW9uQWN0aW9uLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEZvcm1TdGF0
ZSogZm9ybVN0YXRlLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgRnJhbWVQb2xpY3lGdW5jdGlv
biYmIGZ1bmN0aW9uKQpAQCAtODQzLDEwICs4MzMsNiBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdh
dAogICAgIH0KICAgICAKICAgICB1aW50NjRfdCBsaXN0ZW5lcklEID0gbV9mcmFtZS0+c2V0VXBQ
b2xpY3lMaXN0ZW5lcihXVEZNb3ZlKGZ1bmN0aW9uKSwgV2ViRnJhbWU6OkZvck5hdmlnYXRpb25B
Y3Rpb246Olllcyk7Ci0gICAgYm9vbCByZWNlaXZlZFBvbGljeUFjdGlvbjsKLSAgICB1aW50NjRf
dCBuZXdOYXZpZ2F0aW9uSUQ7Ci0gICAgUG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbjsKLSAgICBE
b3dubG9hZElEIGRvd25sb2FkSUQ7CiAKICAgICBBU1NFUlQobmF2aWdhdGlvbkFjdGlvbi5zb3Vy
Y2VEb2N1bWVudCgpKTsKICAgICBjb25zdCBEb2N1bWVudCYgc291cmNlRG9jdW1lbnQgPSAqbmF2
aWdhdGlvbkFjdGlvbi5zb3VyY2VEb2N1bWVudCgpOwpAQCAtODg1LDE1ICs4NzEsOCBAQCB2b2lk
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24oY29uc3QgTmF2aWdhdAogCiAgICAgLy8gTm90aWZ5IHRoZSBVSVByb2Nlc3MuCiAgICAg
UmVmPFdlYkZyYW1lPiBwcm90ZWN0KCptX2ZyYW1lKTsKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYnNp
dGVQb2xpY2llc0RhdGE+IHdlYnNpdGVQb2xpY2llczsKLSAgICBpZiAoIXdlYlBhZ2UtPnNlbmRT
eW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24obV9mcmFtZS0+ZnJhbWVJRCgpLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21GcmFtZShjb3Jl
RnJhbWUpLCBkb2N1bWVudExvYWRlci0+bmF2aWdhdGlvbklEKCksIG5hdmlnYXRpb25BY3Rpb25E
YXRhLCBvcmlnaW5hdGluZ0ZyYW1lSW5mb0RhdGEsIG9yaWdpbmF0aW5nRnJhbWUgJiYgb3JpZ2lu
YXRpbmdGcmFtZS0+cGFnZSgpID8gb3JpZ2luYXRpbmdGcmFtZS0+cGFnZSgpLT5wYWdlSUQoKSA6
IDAsIG5hdmlnYXRpb25BY3Rpb24ucmVzb3VyY2VSZXF1ZXN0KCksIHJlcXVlc3QsIGxpc3RlbmVy
SUQsIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hh
bmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246OlJlcGx5KHJlY2VpdmVkUG9saWN5QWN0aW9u
LCBuZXdOYXZpZ2F0aW9uSUQsIHBvbGljeUFjdGlvbiwgZG93bmxvYWRJRCwgd2Vic2l0ZVBvbGlj
aWVzKSkpIHsKKyAgICBpZiAoIXdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihtX2ZyYW1lLT5mcmFtZUlEKCksIFNlY3Vy
aXR5T3JpZ2luRGF0YTo6ZnJvbUZyYW1lKGNvcmVGcmFtZSksIGRvY3VtZW50TG9hZGVyLT5uYXZp
Z2F0aW9uSUQoKSwgbmF2aWdhdGlvbkFjdGlvbkRhdGEsIG9yaWdpbmF0aW5nRnJhbWVJbmZvRGF0
YSwgb3JpZ2luYXRpbmdGcmFtZSAmJiBvcmlnaW5hdGluZ0ZyYW1lLT5wYWdlKCkgPyBvcmlnaW5h
dGluZ0ZyYW1lLT5wYWdlKCktPnBhZ2VJRCgpIDogMCwgbmF2aWdhdGlvbkFjdGlvbi5yZXNvdXJj
ZVJlcXVlc3QoKSwgcmVxdWVzdCwgbGlzdGVuZXJJRCwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkp
KSkpCiAgICAgICAgIG1fZnJhbWUtPmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihsaXN0ZW5lcklE
LCBQb2xpY3lBY3Rpb246Oklnbm9yZSwgMCwgeyB9LCB7IH0pOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgLy8gV2UgY2FsbCB0aGlzIHN5bmNocm9ub3VzbHkgYmVjYXVzZSBXZWJDb3Jl
IGNhbm5vdCBncmFjZWZ1bGx5IGhhbmRsZSBhIGZyYW1lIGxvYWQgd2l0aG91dCBhIHN5bmNocm9u
b3VzIG5hdmlnYXRpb24gcG9saWN5IHJlcGx5LgotICAgIGlmIChyZWNlaXZlZFBvbGljeUFjdGlv
bikKLSAgICAgICAgbV9mcmFtZS0+ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGxpc3RlbmVySUQs
IHBvbGljeUFjdGlvbiwgbmV3TmF2aWdhdGlvbklELCBkb3dubG9hZElELCBXVEZNb3ZlKHdlYnNp
dGVQb2xpY2llcykpOwogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpjYW5jZWxQb2xp
Y3lDaGVjaygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333643</attachid>
            <date>2018-02-12 16:32:41 -0800</date>
            <delta_ts>2018-02-13 12:46:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182697-20180212163240.patch</filename>
            <type>text/plain</type>
            <size>13463</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4Mzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWJhZTcwYjY3ZGZiMjA1
MTE4NWUwMThlODNjZDQwNjU4NjZhNmFmNC4uZWM3YTU3YmE0OGY5NTBmNjI2YWVhMzA5ZjVhNDc5
MzI2YTcyZGNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTAyLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjIyODI5
OSk6IEJyb2tlIHJlYWRlciBtb2RlIGluIFNhZmFyaQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyNjk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
NzM5OTAxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZXdvcmsgdGhlIGZpeCBmb3IgcjIyODI5OSB0byBiZSBtb3JlIHRhcmdldGVkLiBJIG1vdmVk
IHRoZSBwb2xpY3kgY2hlY2sKKyAgICAgICAgY2VuY2VsYXRpb24gZnJvbSBGcmFtZUxvYWRlcjo6
c3RvcExvYWRpbmcoKSB0byBOYXZpZ2F0aW9uU2NoZWR1bGVyOjpzY2hlZHVsZSgpCisgICAgICAg
IHdoZW4gYSBwZW5kaW5nIGxvYWQgaXMgY2FuY2VsbGVkIGJ5IGFub3RoZXIgbG9hZC4gSSBoYXZl
IHZlcmlmaWVkIHRoYXQgdGhlCisgICAgICAgIHNpdGVzIGZpeGVkIGJ5IHIyMjgyOTkgc3RpbGwg
d29yayB3aXRoIHRoaXMgbW9yZSBsaW1pdGVkIGNoYW5nZS4gSG93ZXZlciwKKyAgICAgICAgcmVh
ZGVyIG1vZGUgaXMgbm93IHdvcmtpbmcgYWdhaW4uCisKKyAgICAgICAgVGhlIGlzc3VlIHNlZW1z
IHRvIGJlIHRoYXQgd2UgdGVsbCBDRk5ldHdvcmsgdG8gY29udGludWUgd2l0aCB0aGUgbG9hZCBh
ZnRlcgorICAgICAgICByZWNlaXZpbmcgdGhlIHJlc3BvbnNlLCBldmVuIGlmIHRoZSBjbGllbnQg
aGFzIG5vdCByZXNwb25kZWQgdG8gdGhlCisgICAgICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25SZXNwb25zZSBkZWxlZ2F0ZSB5ZXQuIEFzIGEgcmVzdWx0LCBDRk5ldHdvcmsgc2VuZHMKKyAg
ICAgICAgdXMgdGhlIHJlc291cmNlIGRhdGEgYW5kIHdlIG1heSBjb21taXQgdGhlIHByb3Zpc2lv
bmFsIGxvYWQgYmVmb3JlIHJlY2VpdmluZworICAgICAgICB0aGUgcG9saWN5IHJlc3BvbnNlIGZy
b20gdGhlIGNsaWVudC4gV2hlbiB0aGUgcHJvdmlzaW9uYWwgbG9hZCBpcyBjb21taXR0ZWQsCisg
ICAgICAgIHdlIGNhbGwgRnJhbWVMb2FkZXI6OnN0b3BMb2FkaW5nKCkgd2hpY2ggYWZ0ZXIgcjIy
ODI5OSBjYW5jZWxsZWQgcGVuZGluZworICAgICAgICBwb2xpY3kgY2hlY2tzLiBCZWNhdXNlIHdl
IGRpZCBub3Qgd2FpdCBmb3IgdGhlIHBvbGljeSBjaGVjayByZXNwb25zZSB0bworICAgICAgICBj
b21taXQgdGhlIGxvYWQsIHdlIHdvdWxkIGNhbmNlbCBpdCB3aGljaCB3b3VsZCBtYWtlIHRoZSBs
b2FkIGZhaWwuCisKKyAgICAgICAgVGhlIHJlYWwgZml4IGhlcmUgd291bGQgYmUgdG8gbWFrZSBu
b3QgdGVsbCBDRk5ldHdvcmsgdG8gY29udGludWUgdW50aWwgYWZ0ZXIKKyAgICAgICAgd2UndmUg
cmVjZWl2ZWQgdGhlIHBvbGljeSBkZWxlZ2F0ZSByZXNwb25zZS4gSG93ZXZlciwgdGhpcyBpcyBh
IGxhcmdlciBhbmQKKyAgICAgICAgcmlza2llciBjaGFuZ2UgYXQgdGhpcyBwb2ludC4gSSB3aWxs
IGZvbGxvdy11cCBvbiB0aGlzIGlzc3VlLgorCisgICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0
ZXN0LgorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyk6CisgICAgICAgICogbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6
c2NoZWR1bGUpOgorCiAyMDE4LTAyLTEyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW1JlbmRlclRyZWVCdWlsZGVyXSBSZW1vdmUgcmVkdW5kYW50IFJlbmRlclRy
ZWVCdWlsZGVyIGluc3RhbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCAzODgwNGYyZDEzNDJhNWY0ZDI1OTEzZTA4MmRkNTdhYjVlMTZhMjU2Li4yZWU0N2Y4OTJlYmNi
NzdhYmUyNzY1YmNhZWViNWQ5NzkwZmYxNWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTQ4OCw4ICs0ODgsNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdG9wTG9hZGlu
ZyhVbmxvYWRFdmVudFBvbGljeSB1bmxvYWRFdmVudFBvbGljeSkKICAgICAgICAgRGF0YWJhc2VN
YW5hZ2VyOjpzaW5nbGV0b24oKS5zdG9wRGF0YWJhc2VzKCpkb2N1bWVudCwgbnVsbHB0cik7CiAg
ICAgfQogCi0gICAgcG9saWN5Q2hlY2tlcigpLnN0b3BDaGVjaygpOwotCiAgICAgLy8gRklYTUU6
IFRoaXMgd2lsbCBjYW5jZWwgcmVkaXJlY3Rpb24gdGltZXIsIHdoaWNoIHJlYWxseSBuZWVkcyB0
byBiZSByZXN0YXJ0ZWQgd2hlbiByZXN0b3JpbmcgdGhlIGZyYW1lIGZyb20gYi9mIGNhY2hlLgog
ICAgIG1fZnJhbWUubmF2aWdhdGlvblNjaGVkdWxlcigpLmNhbmNlbCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IGIxZjU3MDNkMmIz
OTY5NzE0NjlhNmM4N2NkMzZjZWEzZTZkODg0NmQuLjc1MmI4MDk4NTAxMzJiYmRhOGIyYWE0ZDJk
MGYzOTc5YWYyYzA5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTmF2aWdhdGlvbkRpc2FibGVyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUg
IlBvbGljeUNoZWNrZXIuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiVXNlckdlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
QEAgLTUyMCw2ICs1MjEsNyBAQCB2b2lkIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNjaGVkdWxlKHN0
ZDo6dW5pcXVlX3B0cjxTY2hlZHVsZWROYXZpZ2F0aW9uPiByZWRpcmVjdAogICAgIGlmIChyZWRp
cmVjdC0+d2FzRHVyaW5nTG9hZCgpKSB7CiAgICAgICAgIGlmIChEb2N1bWVudExvYWRlciogcHJv
dmlzaW9uYWxEb2N1bWVudExvYWRlciA9IG1fZnJhbWUubG9hZGVyKCkucHJvdmlzaW9uYWxEb2N1
bWVudExvYWRlcigpKQogICAgICAgICAgICAgcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci0+c3Rv
cExvYWRpbmcoKTsKKyAgICAgICAgbV9mcmFtZS5sb2FkZXIoKS5wb2xpY3lDaGVja2VyKCkuc3Rv
cENoZWNrKCk7CiAgICAgICAgIG1fZnJhbWUubG9hZGVyKCkuc3RvcExvYWRpbmcoVW5sb2FkRXZl
bnRQb2xpY3lVbmxvYWRBbmRQYWdlSGlkZSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2I2ZGE2OTViMzI4NTllMzFhNTVmMjhm
MDAwYzlkMTVmZDQyYmQ2MC4uMjlmYWQ3MWVhNjc4ZTZjZjFlYTRjYjM4NThmYjU1ODI1ZWQ3OTIy
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDE4LTAyLTEyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjIyODI5OSk6IEJyb2tlIHJlYWRlciBtb2RlIGluIFNh
ZmFyaQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgy
Njk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzM5OTAxMj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UgZm9y
IHJlc3BvbmRpbmcgYXN5bmNocm9ub3VzbHkgdG8gdGhlIGRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25SZXNwb25zZQorICAgICAgICBkZWxlZ2F0ZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXN5bmNQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9u
c2UubW06IEFkZGVkLgorICAgICAgICAoLVtUZXN0QXN5bmNOYXZpZ2F0aW9uRGVsZWdhdGUgd2Vi
VmlldzpkaWRGaW5pc2hOYXZpZ2F0aW9uOl0pOgorICAgICAgICAoLVtUZXN0QXN5bmNOYXZpZ2F0
aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGYWlsTmF2aWdhdGlvbjp3aXRoRXJyb3I6XSk6CisgICAg
ICAgICgtW1Rlc3RBc3luY05hdmlnYXRpb25EZWxlZ2F0ZSB3ZWJWaWV3OmRpZEZhaWxQcm92aXNp
b25hbE5hdmlnYXRpb246d2l0aEVycm9yOl0pOgorICAgICAgICAoLVtUZXN0QXN5bmNOYXZpZ2F0
aW9uRGVsZWdhdGUgd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOmRlY2lz
aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bVGVzdEFzeW5jTmF2aWdhdGlvbkRlbGVnYXRlIHdl
YlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlOmRlY2lzaW9uSGFuZGxlcjpd
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE4LTAyLTEyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBFV1Mgc2hvdWxkIHJ1biBX
aW5kb3dzIHRlc3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZjdkMzYwMWNmZjQzZDlj
YmFlNGE3YTA1ZmUxYWU1OGRmMTVhZjFiLi5hOWYwZDQxMTQ2NThjZjEzNTM3NDE1ZWUyYzljMGUy
YzViNDczZTdhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTM3LDYgKzUzNyw3IEBACiAJ
CTgzMTQ4QjA2MjAyQUM2QTQwMEJBREU5OSAvKiBJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlk
ZUJ1aWx0aW5zQmVoYXZpb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODMxNDhCMDUyMDJBQzY4MjAwQkFERTk5IC8qIEluamVjdGVkQnVuZGxlRGlz
YWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlvci5jcHAgKi87IH07CiAJCTgzMTQ4QjA3MjAyQUM2
QUQwMEJBREU5OSAvKiBJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZp
b3JfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgzMTQ4QjA0MjAyQUM2ODIwMEJBREU5OSAvKiBJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVy
cmlkZUJ1aWx0aW5zQmVoYXZpb3JfQnVuZGxlLmNwcCAqLzsgfTsKIAkJODMxNDhCMDkyMDJBQzc4
RDAwQkFERTk5IC8qIG92ZXJyaWRlLWJ1aWx0aW5zLXRlc3QuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzE0OEIwODIwMkFDNzY4MDBC
QURFOTkgLyogb3ZlcnJpZGUtYnVpbHRpbnMtdGVzdC5odG1sICovOyB9OworCQk4MzQxMzhDNzIw
MzI2MUNBMDBGMjY5NjAgLyogQXN5bmNQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzQxMzhDNjIwMzI2
MUI5MDBGMjY5NjAgLyogQXN5bmNQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UubW0gKi87IH07
CiAJCTgzNDlEM0MyMURCOTZEREUwMDRBOUY2NSAvKiBDb250ZXh0TWVudURvd25sb2FkLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM0OUQzQzExREI5
NkREQTAwNEE5RjY1IC8qIENvbnRleHRNZW51RG93bmxvYWQubW0gKi87IH07CiAJCTgzNDlEM0M0
MURCOTcyOEUwMDRBOUY2NSAvKiBsaW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRlLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM0OUQz
QzMxREI5NzI0RjAwNEE5RjY1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUuaHRtbCAq
LzsgfTsKIAkJODM1Q0Y5NjcxRDI1RkNENjAwMUE2NUQ0IC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVX
aXRob3V0TmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4MzVDRjk2NjFEMjVGQ0Q2MDAxQTY1RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0
ZVdpdGhvdXROYXZpZ2F0aW9uLmNwcCAqLzsgfTsKQEAgLTE1MzQsNiArMTUzNSw3IEBACiAJCTgz
MTQ4QjA0MjAyQUM2ODIwMEJBREU5OSAvKiBJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1
aWx0aW5zQmVoYXZpb3JfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEluamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlvcl9CdW5k
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzE0OEIwNTIwMkFDNjgyMDBC
QURFOTkgLyogSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGluc0JlaGF2aW9yLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluamVjdGVkQnVuZGxlRGlz
YWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTgzMTQ4QjA4MjAyQUM3NjgwMEJBREU5OSAvKiBvdmVycmlkZS1idWlsdGlucy10ZXN0
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAib3ZlcnJpZGUtYnVpbHRpbnMtdGVz
dC5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM0MTM4QzYyMDMyNjFCOTAw
RjI2OTYwIC8qIEFzeW5jUG9saWN5Rm9yTmF2aWdhdGlvblJlc3BvbnNlLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXN5bmNQb2xpY3lGb3JOYXZpZ2F0aW9uUmVz
cG9uc2UubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNDlEM0MxMURCOTZEREEw
MDRBOUY2NSAvKiBDb250ZXh0TWVudURvd25sb2FkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gQ29udGV4dE1lbnVEb3dubG9hZC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODM0OUQzQzMxREI5NzI0RjAwNEE5RjY1IC8qIGxpbmstd2l0aC1kb3du
bG9hZC1hdHRyaWJ1dGUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsaW5rLXdp
dGgtZG93bmxvYWQtYXR0cmlidXRlLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4MzVDRjk2NjFEMjVGQ0Q2MDAxQTY1RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXRO
YXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3Rv
cmVTZXNzaW9uU3RhdGVXaXRob3V0TmF2aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMDcxLDYgKzIwNzMsNyBAQAogCQkJCUExREY3NDMwMUM0MUI2NTgwMEEyRjRE
MCAvKiBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMubW0gKi8sCiAJCQkJMkRFNzFBRkQxRDQ5
QzBCRDAwOTA0MDk0IC8qIEFuaW1hdGVkUmVzaXplLm1tICovLAogCQkJCTYzRjY2ODIwMUY5N0Mz
QUEwMDMyRUU1MSAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0Lm1tICovLAorCQkJCTgzNDEzOEM2MjAz
MjYxQjkwMEYyNjk2MCAvKiBBc3luY1BvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZS5tbSAqLywK
IAkJCQk3NTRDRUM4MDFGNjcyMkRDMDBEMDAzOUEgLyogQXV0b0ZpbGxBdmFpbGFibGUubW0gKi8s
CiAJCQkJMkREMzU1MzUxQkQwODM3ODAwNURGNEE3IC8qIEF1dG9MYXlvdXRJbnRlZ3JhdGlvbi5t
bSAqLywKIAkJCQkzNzRCN0E1RTFERjM2RUVFMDBBQ0NCNkMgLyogQnVuZGxlRWRpdGluZ0RlbGVn
YXRlLm1tICovLApAQCAtMzM2NCw2ICszMzY3LDcgQEAKIAkJCQkyREU3MUFGRTFENDlDMEJEMDA5
MDQwOTQgLyogQW5pbWF0ZWRSZXNpemUubW0gaW4gU291cmNlcyAqLywKIAkJCQk2M0Y2NjgyMjFG
OTdGN0Y5MDAzMkVFNTEgLyogQXBwbGljYXRpb25NYW5pZmVzdC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTYzNTRGNEQxMUY3QzNBQjUwMEQ4OURGMyAvKiBBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgzNDEzOEM3MjAzMjYxQ0EwMEYyNjk2MCAvKiBBc3lu
Y1BvbGljeUZvck5hdmlnYXRpb25SZXNwb25zZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3
RUI0MUE0MTFBN0UwMDQ0N0M0QyAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJQ0RDOEU0OEQxQkM1Q0I0NTAwNTk0RkVDIC8qIEF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9T
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwQjkxRDBBNjRGMTAwRkVCQ0YzIC8qIEF1dG9M
YXlvdXRJbnRlZ3JhdGlvbi5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Bc3luY1BvbGljeUZvck5hdmlnYXRpb25SZXNw
b25zZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXN5bmNQb2xp
Y3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2UubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI2MTU2YWUwZDgwNzc3Njc0
M2YzNWI4YmIzOWEwYTNiNDgxZWJkYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXN5bmNQb2xpY3lGb3JOYXZpZ2F0aW9uUmVzcG9uc2Uu
bW0KQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisj
aW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCA8
V2ViS2l0L1dLV2ViVmlldy5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCisjaWYgV0tf
QVBJX0VOQUJMRUQKK3N0YXRpYyBib29sIG5hdmlnYXRpb25Db21wbGV0ZSA9IGZhbHNlOworc3Rh
dGljIGJvb2wgbmF2aWdhdGlvbkZhaWxlZCA9IGZhbHNlOworCitAaW50ZXJmYWNlIFRlc3RBc3lu
Y05hdmlnYXRpb25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS05hdmlnYXRpb25EZWxlZ2F0ZSwgV0tV
SURlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gVGVzdEFzeW5jTmF2aWdhdGlvbkRl
bGVnYXRlCisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGaW5pc2hO
YXZpZ2F0aW9uOihudWxsX3Vuc3BlY2lmaWVkIFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRpb24KK3sK
KyAgICBuYXZpZ2F0aW9uQ29tcGxldGUgPSB0cnVlOworfQorCistICh2b2lkKXdlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgZGlkRmFpbE5hdmlnYXRpb246KG51bGxfdW5zcGVjaWZpZWQgV0tO
YXZpZ2F0aW9uICopbmF2aWdhdGlvbiB3aXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgoreworICAg
IG5hdmlnYXRpb25GYWlsZWQgPSB0cnVlOworICAgIG5hdmlnYXRpb25Db21wbGV0ZSA9IHRydWU7
Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRGYWlsUHJvdmlz
aW9uYWxOYXZpZ2F0aW9uOihudWxsX3Vuc3BlY2lmaWVkIFdLTmF2aWdhdGlvbiAqKW5hdmlnYXRp
b24gd2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IKK3sKKyAgICBuYXZpZ2F0aW9uRmFpbGVkID0g
dHJ1ZTsKKyAgICBuYXZpZ2F0aW9uQ29tcGxldGUgPSB0cnVlOworfQorCistICh2b2lkKXdlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjoo
V0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiBkZWNpc2lvbkhhbmRsZXI6KHZv
aWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSkpZGVjaXNpb25IYW5kbGVyCit7CisgICAg
ZGVjaXNpb25IYW5kbGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93KTsKK30KKworLSAo
dm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRp
b25SZXNwb25zZTooV0tOYXZpZ2F0aW9uUmVzcG9uc2UgKiluYXZpZ2F0aW9uUmVzcG9uc2UgZGVj
aXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSkpZGVjaXNp
b25IYW5kbGVyCit7CisgICAgaW50NjRfdCBkZWZlcnJlZFdhaXRUaW1lID0gMTAwICogTlNFQ19Q
RVJfTVNFQzsKKyAgICBkaXNwYXRjaF90aW1lX3Qgd2hlbiA9IGRpc3BhdGNoX3RpbWUoRElTUEFU
Q0hfVElNRV9OT1csIGRlZmVycmVkV2FpdFRpbWUpOworICAgIGRpc3BhdGNoX2FmdGVyKHdoZW4s
IGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF57CisgICAgICAgIGRlY2lzaW9uSGFuZGxlcihX
S05hdmlnYXRpb25SZXNwb25zZVBvbGljeUFsbG93KTsKKyAgICB9KTsKK30KK0BlbmQKKworbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdlYktpdCwgUmVzcG9uZFRvUG9saWN5Rm9y
TmF2aWdhdGlvblJlc3BvbnNlQXN5bmNocm9ub3VzbHkpCit7CisgICAgUmV0YWluUHRyPE5TVVJM
PiB0ZXN0VVJMID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBs
ZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9j
XSBpbml0XSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0QXN5bmNOYXZpZ2F0
aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVs
ZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdh
dGUuZ2V0KCldOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1
ZXN0V2l0aFVSTDp0ZXN0VVJMLmdldCgpXV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZuYXZpZ2F0aW9uQ29tcGxldGUpOworCisgICAgRVhQRUNUX0ZBTFNFKG5hdmlnYXRpb25GYWls
ZWQpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZiAvLyBXS19B
UElfRU5BQkxFRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>