<?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>230243</bug_id>
          
          <creation_ts>2021-09-13 21:32:40 -0700</creation_ts>
          <short_desc>URLs in CSS variables must be resolved against the base URL of the stylesheet, not the document</short_desc>
          <delta_ts>2022-05-09 09:49:58 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>198512</dependson>
          <blocked>200092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>247fetishstore</cc>
    
    <cc>dm</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>firefoxic.dev</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>jond</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rik</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793193</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-13 21:32:40 -0700</bug_when>
    <thetext>URLs in CSS variables must be resolved against the base URL of the stylesheet, not the document</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793196</commentid>
    <comment_count>1</comment_count>
      <attachid>438101</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-13 21:36:32 -0700</bug_when>
    <thetext>Created attachment 438101
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793198</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-13 21:38:26 -0700</bug_when>
    <thetext>firefoxic.dev@gmail.com contributed a test at https://firefoxic.github.io/test-custom-properties-working-with-url/ but I suspect this is also covered by tests in Web Platform Tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793199</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-13 21:39:13 -0700</bug_when>
    <thetext>Uploaded a first patch to EWS to see what tests have changed results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793302</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-14 07:43:03 -0700</bug_when>
    <thetext>No coverage in WPT?!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793343</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-14 09:34:43 -0700</bug_when>
    <thetext>Did the tests I added here cover this?
https://github.com/web-platform-tests/wpt/commit/107134aa9334b7ebd7623382c3e19eacab5993d4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793354</commentid>
    <comment_count>6</comment_count>
      <attachid>438154</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-14 10:58:16 -0700</bug_when>
    <thetext>Created attachment 438154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793355</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-14 11:00:14 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #5)
&gt; Did the tests I added here cover this?
&gt; https://github.com/web-platform-tests/wpt/commit/
&gt; 107134aa9334b7ebd7623382c3e19eacab5993d4

Looks like they would, but for some reason I don’t see results changing in those when I run tests.

In the new patch I added to the existing non-WPT test we have for this. Can follow up with additional test coverage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793356</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-14 11:18:07 -0700</bug_when>
    <thetext>Those WPT have not been imported yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793375</commentid>
    <comment_count>9</comment_count>
      <attachid>438154</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-09-14 12:15:04 -0700</bug_when>
    <thetext>Comment on attachment 438154
Patch

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

&gt; LayoutTests/ChangeLog:10
&gt; +        * fast/css/variables/support/styles/url-with-variable-is-sheet-relative.css: Added 10 more test cases.
&gt; +        * fast/css/variables/url-with-variable-is-sheet-relative-expected.html: Ditto.
&gt; +        * fast/css/variables/url-with-variable-is-sheet-relative.html: Ditto.

Would be nice to get these to WPT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793378</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-14 12:30:27 -0700</bug_when>
    <thetext>Maybe Simon’s test will be how we cover this in WPT; but I’d also be happy to try to expand the test to cover even more cases. What’s non-obvious is how there are so many subtly different code paths for shorthand vs. longhand and variable references vs. things that are not variables. That’s where the bugs have been hiding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793395</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-14 13:00:04 -0700</bug_when>
    <thetext>Committed r282403 (241664@main): &lt;https://commits.webkit.org/241664@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793396</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-14 13:01:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/83113244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799843</commentid>
    <comment_count>13</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2021-10-03 05:40:47 -0700</bug_when>
    <thetext>In STP 133 (which should have this fix according to https://webkit.org/blog/11975/release-notes-for-safari-technology-preview-133/), I&apos;m still seeing failures for the longhand test in firefoxic tests.

Should this be reopened?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799878</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-03 11:44:09 -0700</bug_when>
    <thetext>Please don’t reopen unless you’ve also checked with a nightly build. Should be really easy to download from http://nightly.webkit.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799879</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-03 11:44:56 -0700</bug_when>
    <thetext>I will check again with my local build of TOT, but currently waiting on a rebuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799888</commentid>
    <comment_count>16</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2021-10-03 12:39:39 -0700</bug_when>
    <thetext>Unfortunately, I’m on the Monterey beta so no easy nightly build available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799945</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-03 18:56:32 -0700</bug_when>
    <thetext>It seems that the Safari Technology Preview release notes are incorrect. I verified that the bug still happens with STP 133 as you said, but I also verified that it works correctly with my locally built WebKit TOT. So there’s some kind of version control or merge problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799949</commentid>
    <comment_count>18</comment_count>
    <who name="Jon Davis">jond</who>
    <bug_when>2021-10-03 19:20:33 -0700</bug_when>
    <thetext>Darin is correct that the STP 133 release notes are wrong. The end revision for STP 133 is incorrect. The list of changes includes many entries that are not part of the build that shipped. The release notes will be updated with the correct set of changes and the corrected end revision number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799950</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-03 19:32:53 -0700</bug_when>
    <thetext>Thanks, Jon. Anthony, this was just a couple days after the cutoff point for STP 133. Given that, I expect the fix to be in STP 134.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800195</commentid>
    <comment_count>20</comment_count>
    <who name="">firefoxic.dev</who>
    <bug_when>2021-10-04 13:14:23 -0700</bug_when>
    <thetext>Anyway, Darin, thanks a lot for the fix. I&apos;m really looking forward to the stable Safari release with this fix :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809626</commentid>
    <comment_count>21</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2021-10-28 03:47:24 -0700</bug_when>
    <thetext>Great, this is working well in STP 134! Thanks!

(Sadly, this didn&apos;t get a shout-out on https://webkit.org/blog/12033/release-notes-for-safari-technology-preview-134/)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813811</commentid>
    <comment_count>22</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-10 15:04:31 -0800</bug_when>
    <thetext>*** Bug 232919 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813813</commentid>
    <comment_count>23</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-10 15:04:56 -0800</bug_when>
    <thetext>*** Bug 232906 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438101</attachid>
            <date>2021-09-13 21:36:32 -0700</date>
            <delta_ts>2021-09-14 10:58:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230243-20210913213631.patch</filename>
            <type>text/plain</type>
            <size>12686</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNkMDZlZTk4NjBmYjgy
YWVlMTU0Y2NlYzJlMGM2M2Q4ODBhZjQxMy4uMTQzMWVmNjczYzJmYzcyMjg3MjQ1ZmEzMjRiZjdl
Y2EzYzllYTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTA5LTEzICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBVUkxzIGluIENTUyB2YXJpYWJs
ZXMgbXVzdCBiZSByZXNvbHZlZCBhZ2FpbnN0IHRoZSBiYXNlIFVSTCBvZiB0aGUgc3R5bGVzaGVl
dCwgbm90IHRoZSBkb2N1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMwMjQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBjc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmg6IFJlbW92ZWQg
YmFzZVVSTCwgc2luY2UgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSBub3cKKyAgICAgICAgY29u
dGFpbnMgYW4gYXBwcm9wcmlhdGUgcGFyc2luZyBjb250ZXh0LCB3aGljaCBpbmNsdWRlcyB0aGUg
YmFzZSBVUkwuCisKKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlKTogU3RvcmUgYSBDU1NQYXJzZXJDb250ZXh0LgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAg
ICogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaDogVXBkYXRlZCBmb3IgdGhlIGFib3Zl
LgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlV2l0aFZhcmlhYmxlUmVmZXJlbmNlcyk6IFVzZSB0aGUg
Y29udGV4dCBmcm9tIHRoZQorICAgICAgICB2YXJpYWJsZSByZWZlcmVuY2UsIG5vdCB0aGUgY3Vy
cmVudCBvbmUgaW4gdGhlIHBhcnNlci4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNl
VmFsdWVTdGFydCk6IFBhc3MgYSBwYXJzZXIgY29udGV4dCB3aGVuIGNyZWF0aW5nIGEKKyAgICAg
ICAgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS4KKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Zh
cmlhYmxlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhcmlhYmxlUGFyc2VyOjpw
YXJzZURlY2xhcmF0aW9uVmFsdWUpOiBEaXR0by4KKworICAgICAgICAqIHN0eWxlL1N0eWxlQnVp
bGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QnVpbGRlcjo6cmVzb2x2ZWRWYXJp
YWJsZVZhbHVlKTogR2V0IHRoZSBjb250ZXh0IGZyb20gdGhlCisgICAgICAgIENTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUgaW5zdGVhZCBvZiBhIGJhc2UgVVJMIGZyb20gdGhlIENTU1BlbmRpbmdT
dWJzdGl0dXRpb25WYWx1ZS4KKwogMjAyMS0wOS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzJdIFJlZHVjZSBhbW91bnQgb2YgSVBDIG5lZWRlZCBieSBC
cm9hZGNhc3RDaGFubmVsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGlu
Z1N1YnN0aXR1dGlvblZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0
aXR1dGlvblZhbHVlLmgKaW5kZXggY2RjNGVkMmI3MzIxY2Q5ZjM5NjM1YjNmMGE4N2ViYTAxMDk0
OTNkMy4uMzgyMmUxYzdjMzAzNjUwNjcyN2Q2Mzk2ZTI2YjMzOWU2ZGI3YWY1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaApAQCAtMzAs
NDEgKzMwLDM1IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKLSNpbmNsdWRlICJDU1NWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhcmlhYmxlUmVmZXJlbmNl
VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NQZW5kaW5nU3Vic3Rp
dHV0aW9uVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8
Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlPiBjcmVhdGUoQ1NTUHJvcGVydHlJRCBzaG9ydGhh
bmRQcm9wZXJ0eUlkLCBSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4mJiBzaG9ydGhhbmRW
YWx1ZSwgY29uc3QgVVJMJiBiYXNlVVJMKQorICAgIHN0YXRpYyBSZWY8Q1NTUGVuZGluZ1N1YnN0
aXR1dGlvblZhbHVlPiBjcmVhdGUoQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRQcm9wZXJ0eUlkLCBS
ZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4mJiBzaG9ydGhhbmRWYWx1ZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZShz
aG9ydGhhbmRQcm9wZXJ0eUlkLCBXVEZNb3ZlKHNob3J0aGFuZFZhbHVlKSwgYmFzZVVSTCkpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUo
c2hvcnRoYW5kUHJvcGVydHlJZCwgV1RGTW92ZShzaG9ydGhhbmRWYWx1ZSkpKTsKICAgICB9CiAK
ICAgICBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlJiBzaG9ydGhhbmRWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2hvcnRoYW5kVmFsdWU7IH0KICAgICBDU1NQcm9wZXJ0eUlEIHNob3J0aGFuZFBy
b3BlcnR5SWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3J0aGFuZFByb3BlcnR5SWQ7IH0KLSAgICBj
b25zdCBVUkwmIGJhc2VVUkwoKSBjb25zdCB7IHJldHVybiBtX2Jhc2VVUkw7IH0KIAogICAgIGJv
b2wgZXF1YWxzKGNvbnN0IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSYgb3RoZXIpIGNvbnN0
IHsgcmV0dXJuIG1fc2hvcnRoYW5kVmFsdWUucHRyKCkgPT0gb3RoZXIubV9zaG9ydGhhbmRWYWx1
ZS5wdHIoKTsgfQogICAgIHN0YXRpYyBTdHJpbmcgY3VzdG9tQ1NTVGV4dCgpIHsgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7IH0KIAogcHJpdmF0ZToKLSAgICBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFs
dWUoQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRQcm9wZXJ0eUlkLCBSZWY8Q1NTVmFyaWFibGVSZWZl
cmVuY2VWYWx1ZT4mJiBzaG9ydGhhbmRWYWx1ZSwgY29uc3QgVVJMJiBiYXNlVVJMKQorICAgIENT
U1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZShDU1NQcm9wZXJ0eUlEIHNob3J0aGFuZFByb3BlcnR5
SWQsIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYmIHNob3J0aGFuZFZhbHVlKQogICAg
ICAgICA6IENTU1ZhbHVlKFBlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZUNsYXNzKQogICAgICAgICAs
IG1fc2hvcnRoYW5kUHJvcGVydHlJZChzaG9ydGhhbmRQcm9wZXJ0eUlkKQogICAgICAgICAsIG1f
c2hvcnRoYW5kVmFsdWUoV1RGTW92ZShzaG9ydGhhbmRWYWx1ZSkpCi0gICAgICAgICwgbV9iYXNl
VVJMKGJhc2VVUkwpCiAgICAgewogICAgIH0KIAogICAgIGNvbnN0IENTU1Byb3BlcnR5SUQgbV9z
aG9ydGhhbmRQcm9wZXJ0eUlkOwogICAgIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiBt
X3Nob3J0aGFuZFZhbHVlOwotICAgIC8vIFRoaXMgaXMgdGhlIGJhc2UgVVJMIHRoYXQgc2hvdWxk
IGJlIHVzZWQgaW4gcmVzb2x1dGlvbiBvZiB0aGlzIHZhbHVlIHdoZW4gbmVjZXNzYXJ5LCBlLmcu
IGZvciB0aGUgYHVybCgpYCBmdW5jdGlvbi4KLSAgICBjb25zdCBVUkwgbV9iYXNlVVJMOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19W
QUxVRShDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUsIGlzUGVuZGluZ1N1YnN0aXR1dGlvblZh
bHVlKCkpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVy
ZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZh
bHVlLmNwcAppbmRleCAwMWQ1MzNiNjBiZGYxZWFlNTFmZTgzMWNlN2VlN2YyYzE3MTRiMDQ1Li41
ZWNjZDJmNzMxYmMyNTAzYmY4NjJhNTlhNDY5MGI2ZTU2Mjk4NGExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCkBAIC00MCwxNSArNDAs
MTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgYm9vbCByZXNvbHZlVG9rZW5SYW5n
ZShDU1NQYXJzZXJUb2tlblJhbmdlLCBWZWN0b3I8Q1NTUGFyc2VyVG9rZW4+JiwgU3R5bGU6OkJ1
aWxkZXJTdGF0ZSYpOwogCi1DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpDU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlKFJlZjxDU1NWYXJpYWJsZURhdGE+JiYgZGF0YSkKK0NTU1ZhcmlhYmxlUmVm
ZXJlbmNlVmFsdWU6OkNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoUmVmPENTU1ZhcmlhYmxlRGF0
YT4mJiBkYXRhLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogICAgIDogQ1NTVmFs
dWUoVmFyaWFibGVSZWZlcmVuY2VDbGFzcykKICAgICAsIG1fZGF0YShXVEZNb3ZlKGRhdGEpKQor
ICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiB7CiB9CiAKLVJlZjxDU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlPiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUoY29uc3QgQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgcmFuZ2UpCitSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4gQ1NTVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmIHJh
bmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoQ1NTVmFyaWFibGVEYXRhOjpjcmVh
dGUocmFuZ2UpKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTVmFyaWFibGVSZWZlcmVu
Y2VWYWx1ZShDU1NWYXJpYWJsZURhdGE6OmNyZWF0ZShyYW5nZSksIGNvbnRleHQpKTsKIH0KIAog
Ym9vbCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjplcXVhbHMoY29uc3QgQ1NTVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZSYgb3RoZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
cmlhYmxlUmVmZXJlbmNlVmFsdWUuaAppbmRleCA1NWMyMDBhMDNmZDUwZGQzMzQ1YjllNjdjMTk1
NzE4YWZjMTQ4NThlLi5lMzJkZTE0OGQ1NDU5NWI4N2QwMmIxMzExYTNjMDBiNDM2YjkxNmI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKQEAg
LTI5LDYgKzI5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDU1NQYXJzZXJDb250
ZXh0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDIsMjMgKzQzLDI0IEBAIGNsYXNzIEJ1aWxkZXJTdGF0ZTsKIAogY2xhc3MgQ1NTVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiBjcmVhdGUoY29uc3QgQ1NTUGFyc2VyVG9rZW5S
YW5nZSYpOworICAgIHN0YXRpYyBSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4gY3JlYXRl
KGNvbnN0IENTU1BhcnNlclRva2VuUmFuZ2UmLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0Jik7CiAK
ICAgICBib29sIGVxdWFscyhjb25zdCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlJikgY29uc3Q7
CiAgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIAogICAgIFJlZlB0cjxDU1NWYXJp
YWJsZURhdGE+IHJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZXMoU3R5bGU6OkJ1aWxkZXJTdGF0ZSYp
IGNvbnN0OworICAgIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQoKSBjb25zdCB7IHJl
dHVybiBtX2NvbnRleHQ7IH0KIAotICAgIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0b2tlbnMg
dGhhdCBtYXkgYmUgcHJvZHVjZWQgYnkgYSB2YXIoKQotICAgIC8vIHJlZmVyZW5jZSBvciB2YXIo
KSBmYWxsYmFjayB2YWx1ZS4KKyAgICAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG9rZW5zIHRo
YXQgbWF5IGJlIHByb2R1Y2VkIGJ5IGEgdmFyKCkgcmVmZXJlbmNlIG9yIHZhcigpIGZhbGxiYWNr
IHZhbHVlLgogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFyaWFibGVzLyNs
b25nLXZhcmlhYmxlcwogICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IG1heFN1YnN0aXR1dGlv
blRva2VucyA9IDY1NTM2OwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENTU1ZhcmlhYmxlUmVm
ZXJlbmNlVmFsdWUoUmVmPENTU1ZhcmlhYmxlRGF0YT4mJik7CisgICAgZXhwbGljaXQgQ1NTVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZShSZWY8Q1NTVmFyaWFibGVEYXRhPiYmLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0Jik7CiAKICAgICBSZWY8Q1NTVmFyaWFibGVEYXRhPiBtX2RhdGE7CiAgICAgbXV0
YWJsZSBTdHJpbmcgbV9zdHJpbmdWYWx1ZTsKKyAgICBjb25zdCBDU1NQYXJzZXJDb250ZXh0IG1f
Y29udGV4dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VyLmNwcAppbmRleCAwYTBmMzM5YjljNTE2NzVjNmU3MGI2ZWViMWU5NTYx
MmEyNDVlMjQ3Li4wNmNjMzNjMjgyODc4NjRlYTgxNzk2MDlmNTczYjIxOTFlOWYzYjIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAg
UmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVu
Y2VzKENTU1Byb3BlcnR5SUQgcHJvcEkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAg
ICAgICAgIFBhcnNlZFByb3BlcnR5VmVjdG9yIHBhcnNlZFByb3BlcnRpZXM7Ci0gICAgICAgIGlm
ICghQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVmFsdWUoc2hvcnRoYW5kSUQsIGZhbHNlLCByZXNv
bHZlZERhdGEtPnRva2VucygpLCBtX2NvbnRleHQsIHBhcnNlZFByb3BlcnRpZXMsIFN0eWxlUnVs
ZVR5cGU6OlN0eWxlKSkKKyAgICAgICAgaWYgKCFDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1
ZShzaG9ydGhhbmRJRCwgZmFsc2UsIHJlc29sdmVkRGF0YS0+dG9rZW5zKCksIHN1YnN0aXR1dGlv
bi5zaG9ydGhhbmRWYWx1ZSgpLmNvbnRleHQoKSwgcGFyc2VkUHJvcGVydGllcywgU3R5bGVSdWxl
VHlwZTo6U3R5bGUpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgZm9y
IChhdXRvJiBwcm9wZXJ0eSA6IHBhcnNlZFByb3BlcnRpZXMpIHsKQEAgLTIxNCw3ICsyMTQsNyBA
QCBSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVy
ZW5jZXMoQ1NTUHJvcGVydHlJRCBwcm9wSQogICAgICAgICBhdXRvIHJlc29sdmVkRGF0YSA9IHZh
bHVlV2l0aFJlZmVyZW5jZXMucmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlcyhidWlsZGVyU3RhdGUp
OwogICAgICAgICBpZiAoIXJlc29sdmVkRGF0YSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwotICAgICAgICByZXR1cm4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlU2luZ2xlVmFsdWUocHJv
cElELCByZXNvbHZlZERhdGEtPnRva2VucygpLCBtX2NvbnRleHQpOworICAgICAgICByZXR1cm4g
Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlU2luZ2xlVmFsdWUocHJvcElELCByZXNvbHZlZERhdGEt
PnRva2VucygpLCB2YWx1ZVdpdGhSZWZlcmVuY2VzLmNvbnRleHQoKSk7CiAgICAgfQogCiAgICAg
Y29uc3QgYXV0byYgY3VzdG9tUHJvcFZhbHVlID0gZG93bmNhc3Q8Q1NTQ3VzdG9tUHJvcGVydHlW
YWx1ZT4odmFsdWUpOwpAQCAtMjIyLDIwICsyMjIsMTkgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVuY2VzKENTU1Byb3BlcnR5SUQgcHJv
cEkKIAogICAgIGF1dG8mIG5hbWUgPSBkb3duY2FzdDxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPih2
YWx1ZSkubmFtZSgpOwogICAgIGF1dG8qIHJlZ2lzdGVyZWQgPSBidWlsZGVyU3RhdGUuZG9jdW1l
bnQoKS5nZXRDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHlTZXQoKS5nZXQobmFtZSk7Ci0gICAg
YXV0byYgc3ludGF4ID0gcmVnaXN0ZXJlZCA/IHJlZ2lzdGVyZWQtPnN5bnRheCA6ICIqIjsKKyAg
ICBhdXRvJiBzeW50YXggPSByZWdpc3RlcmVkID8gcmVnaXN0ZXJlZC0+c3ludGF4IDogIioiX3M7
CiAgICAgYXV0byByZXNvbHZlZERhdGEgPSB2YWx1ZVdpdGhSZWZlcmVuY2VzLnJlc29sdmVWYXJp
YWJsZVJlZmVyZW5jZXMoYnVpbGRlclN0YXRlKTsKLQogICAgIGlmICghcmVzb2x2ZWREYXRhKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIC8vIEZJWE1FIGhhbmRsZSBSRU0gY3ljbGVz
LgogICAgIEhhc2hTZXQ8Q1NTUHJvcGVydHlJRD4gZGVwZW5kZW5jaWVzOwotICAgIENTU1Byb3Bl
cnR5UGFyc2VyOjpjb2xsZWN0UGFyc2VkQ3VzdG9tUHJvcGVydHlWYWx1ZURlcGVuZGVuY2llcyhz
eW50YXgsIGZhbHNlLCBkZXBlbmRlbmNpZXMsIHJlc29sdmVkRGF0YS0+dG9rZW5zKCksIG1fY29u
dGV4dCk7CisgICAgQ1NTUHJvcGVydHlQYXJzZXI6OmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0
eVZhbHVlRGVwZW5kZW5jaWVzKHN5bnRheCwgZmFsc2UsIGRlcGVuZGVuY2llcywgcmVzb2x2ZWRE
YXRhLT50b2tlbnMoKSwgdmFsdWVXaXRoUmVmZXJlbmNlcy5jb250ZXh0KCkpOwogCiAgICAgZm9y
IChhdXRvIGlkIDogZGVwZW5kZW5jaWVzKQogICAgICAgICBidWlsZGVyU3RhdGUuYnVpbGRlcigp
LmFwcGx5UHJvcGVydHkoaWQpOwogCi0gICAgcmV0dXJuIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJz
ZVR5cGVkQ3VzdG9tUHJvcGVydHlWYWx1ZShuYW1lLCBzeW50YXgsIHJlc29sdmVkRGF0YS0+dG9r
ZW5zKCksIGJ1aWxkZXJTdGF0ZSwgbV9jb250ZXh0KTsKKyAgICByZXR1cm4gQ1NTUHJvcGVydHlQ
YXJzZXI6OnBhcnNlVHlwZWRDdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIHN5bnRheCwgcmVzb2x2
ZWREYXRhLT50b2tlbnMoKSwgYnVpbGRlclN0YXRlLCB2YWx1ZVdpdGhSZWZlcmVuY2VzLmNvbnRl
eHQoKSk7CiB9CiAKIFZlY3Rvcjxkb3VibGU+IENTU1BhcnNlcjo6cGFyc2VLZXlmcmFtZUtleUxp
c3QoY29uc3QgU3RyaW5nJiBzZWxlY3RvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggODllMjMxY2Q3ZmQxYmQ2NzVkZDM2MWZhNGJl
ZmU2MWQ2MzE3YjhhYS4uOWJiN2MxODYyNzY1MDRhOWQ1ZDA4ODQwZWJhNWYzODk0OTZjNjUyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAK
QEAgLTMyMSw5ICszMjEsOSBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVlU3Rh
cnQoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBib29sIGltcG9ydGFudAogICAgIH0KIAogICAg
IGlmIChDU1NWYXJpYWJsZVBhcnNlcjo6Y29udGFpbnNWYWxpZFZhcmlhYmxlUmVmZXJlbmNlcyhv
cmlnaW5hbFJhbmdlLCBtX2NvbnRleHQpKSB7Ci0gICAgICAgIGF1dG8gdmFyaWFibGUgPSBDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUob3JpZ2luYWxSYW5nZSk7CisgICAgICAgIGF1
dG8gdmFyaWFibGUgPSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUob3JpZ2luYWxS
YW5nZSwgbV9jb250ZXh0KTsKICAgICAgICAgaWYgKGlzU2hvcnRoYW5kKQotICAgICAgICAgICAg
YWRkRXhwYW5kZWRQcm9wZXJ0eUZvclZhbHVlKHByb3BlcnR5SUQsIENTU1BlbmRpbmdTdWJzdGl0
dXRpb25WYWx1ZTo6Y3JlYXRlKHByb3BlcnR5SUQsIFdURk1vdmUodmFyaWFibGUpLCBtX2NvbnRl
eHQuYmFzZVVSTCksIGltcG9ydGFudCk7CisgICAgICAgICAgICBhZGRFeHBhbmRlZFByb3BlcnR5
Rm9yVmFsdWUocHJvcGVydHlJRCwgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOjpjcmVhdGUo
cHJvcGVydHlJRCwgV1RGTW92ZSh2YXJpYWJsZSkpLCBpbXBvcnRhbnQpOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wZXJ0eUlELCBDU1NQcm9wZXJ0eUludmFsaWQs
IFdURk1vdmUodmFyaWFibGUpLCBpbXBvcnRhbnQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NWYXJpYWJsZVBhcnNlci5jcHAKaW5kZXgg
ZTJmMDExNzMzZWRlNjVjYWJiOWY1ZTQ1NDRmYzI5M2IyZWE3MWM0MC4uY2JmNTg5ZWY0NzUzODU4
YzZiODBkZGNkZWI1NzE0NWVlY2QxYjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NWYXJpYWJsZVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NWYXJpYWJsZVBhcnNlci5jcHAKQEAgLTE5MCw3ICsxOTAsNyBAQCBSZWZQdHI8Q1NT
Q3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTVmFyaWFibGVQYXJzZXI6OnBhcnNlRGVjbGFyYXRpb25W
YWx1ZShjb25zdCBBdAogICAgIGlmICh0eXBlID09IENTU1ZhbHVlSW52YWxpZCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKHR5cGUgPT0gQ1NTVmFsdWVJbnRlcm5hbFZhcmlhYmxl
VmFsdWUpCi0gICAgICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVVbnJl
c29sdmVkKHZhcmlhYmxlTmFtZSwgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKHJh
bmdlKSk7CisgICAgICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVVbnJl
c29sdmVkKHZhcmlhYmxlTmFtZSwgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKHJh
bmdlLCBwYXJzZXJDb250ZXh0KSk7CiAgICAgcmV0dXJuIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6
OmNyZWF0ZVVucmVzb2x2ZWQodmFyaWFibGVOYW1lLCB0eXBlKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQnVpbGRlci5jcHAKaW5kZXggNTY5Njk2ZWVlMjE3ZmY2MmM1ZjliZGYwNTY1NGYz
NDAwNThiYmU3OC4uNWJkYmE5MTIwODBlZWJlMjU5OTAxYzNjMGI0ZjVmNjI4NDRhNTIxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXIuY3BwCkBAIC0zNzEsMTEgKzM3MSwxMCBAQCBS
ZWY8Q1NTVmFsdWU+IEJ1aWxkZXI6OnJlc29sdmVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQsIENTU1ZhbHVlJiB2YWx1ZSkKIFJlZlB0cjxDU1NWYWx1ZT4gQnVpbGRlcjo6cmVzb2x2ZWRW
YXJpYWJsZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElELCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUp
CiB7CiAgICAgaWYgKHZhbHVlLmlzUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKCkpIHsKLSAgICAg
ICAgYXV0byYgc3Vic3RpdHV0aW9uVmFsdWUgPSBkb3duY2FzdDxDU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWU+KHZhbHVlKTsKLSAgICAgICAgQ1NTUGFyc2VyIHBhcnNlcihDU1NQYXJzZXJDb250
ZXh0KG1fc3RhdGUuZG9jdW1lbnQoKSwgc3Vic3RpdHV0aW9uVmFsdWUuYmFzZVVSTCgpKSk7Cisg
ICAgICAgIENTU1BhcnNlciBwYXJzZXIoZG93bmNhc3Q8Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZh
bHVlPih2YWx1ZSkuc2hvcnRoYW5kVmFsdWUoKS5jb250ZXh0KCkpOwogICAgICAgICByZXR1cm4g
cGFyc2VyLnBhcnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVuY2VzKHByb3BJRCwgdmFsdWUsIG1f
c3RhdGUpOwogICAgIH0KLSAgICAKKwogICAgIENTU1BhcnNlciBwYXJzZXIobV9zdGF0ZS5kb2N1
bWVudCgpKTsKICAgICByZXR1cm4gcGFyc2VyLnBhcnNlVmFsdWVXaXRoVmFyaWFibGVSZWZlcmVu
Y2VzKHByb3BJRCwgdmFsdWUsIG1fc3RhdGUpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438154</attachid>
            <date>2021-09-14 10:58:16 -0700</date>
            <delta_ts>2021-09-14 12:15:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230243-20210914105816.patch</filename>
            <type>text/plain</type>
            <size>20758</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M5NzFlNDU0NmRlMWEz
MGY5YjQwODJiNjZmYTQyOTE3MzQxZTNhNy4uNGY5MDQzYmQ1NzU4NTk0MmZkY2U3YWZiZjFmNGMx
NzlhYTY3ZTdhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA5LTE0ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBVUkxzIGluIENTUyB2YXJpYWJs
ZXMgbXVzdCBiZSByZXNvbHZlZCBhZ2FpbnN0IHRoZSBiYXNlIFVSTCBvZiB0aGUgc3R5bGVzaGVl
dCwgbm90IHRoZSBkb2N1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMwMjQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MvdmFyaWFibGVzL3VybC13aXRoLXZhcmlhYmxlLWlz
LXNoZWV0LXJlbGF0aXZlLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWUuaDogUmVtb3ZlZCBiYXNlVVJMLCBzaW5jZSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZh
bHVlIG5vdworICAgICAgICBjb250YWlucyBhbiBhcHByb3ByaWF0ZSBwYXJzaW5nIGNvbnRleHQs
IHdoaWNoIGluY2x1ZGVzIHRoZSBiYXNlIFVSTC4KKworICAgICAgICAqIGNzcy9DU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWU6OkNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUpOiBTdG9yZSBhIENTU1BhcnNlckNv
bnRleHQuCisgICAgICAgIChXZWJDb3JlOjpDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVh
dGUpOiBEaXR0by4KKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oOiBV
cGRhdGVkIGZvciB0aGUgYWJvdmUuCisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWVXaXRoVmFyaWFibGVS
ZWZlcmVuY2VzKTogVXNlIHRoZSBjb250ZXh0IGZyb20gdGhlCisgICAgICAgIHZhcmlhYmxlIHJl
ZmVyZW5jZSwgbm90IHRoZSBjdXJyZW50IG9uZSBpbiB0aGUgcGFyc2VyLgorCisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZVN0YXJ0KTogUGFzcyBhIHBhcnNlciBjb250ZXh0IHdo
ZW4gY3JlYXRpbmcgYQorICAgICAgICBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLgorICAgICAg
ICAqIGNzcy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFyaWFibGVQYXJzZXI6OnBhcnNlRGVjbGFyYXRpb25WYWx1ZSk6IERpdHRvLgorCisgICAg
ICAgICogc3R5bGUvU3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpC
dWlsZGVyOjpyZXNvbHZlZFZhcmlhYmxlVmFsdWUpOiBSZW1vdmUgdGhlIHNwZWNpYWwgY2FzZSBm
b3IKKyAgICAgICAgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlIHNpbmNlIENTU1BhcnNlcjo6
cGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVyZW5jZXMKKyAgICAgICAgbm93IHRha2VzIGNhcmUg
b2YgdGhpcy4KKwogMjAyMS0wOS0xNCAgU2FtIFNuZWRkb24gIDxnc25lZGRlcnNAYXBwbGUuY29t
PgogCiAgICAgICAgIFN1cHBvcnQgdGhlIGB4YCByZXNvbHV0aW9uIHVuaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaAppbmRleCBjZGM0ZWQy
YjczMjFjZDlmMzk2MzViM2YwYTg3ZWJhMDEwOTQ5M2QzLi45MGViZWZiZTgwZTAwOWNmY2ZjZDUw
NTY3ZGYyYmVhODA2YmRjMDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGVu
ZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BlbmRp
bmdTdWJzdGl0dXRpb25WYWx1ZS5oCkBAIC0xLDUgKzEsNSBAQAogLy8gQ29weXJpZ2h0IDIwMTUg
VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBDb3B5cmlnaHQg
KEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0IChD
KSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjksNDIgKzI5LDM1IEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlLmgi
Ci0jaW5jbHVkZSAiQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSA6IHB1YmxpYyBDU1NW
YWx1ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFs
dWU+IGNyZWF0ZShDU1NQcm9wZXJ0eUlEIHNob3J0aGFuZFByb3BlcnR5SWQsIFJlZjxDU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlPiYmIHNob3J0aGFuZFZhbHVlLCBjb25zdCBVUkwmIGJhc2VVUkwp
CisgICAgc3RhdGljIFJlZjxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+IGNyZWF0ZShDU1NQ
cm9wZXJ0eUlEIHNob3J0aGFuZFByb3BlcnR5SWQsIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZh
bHVlPiYmIHNob3J0aGFuZFZhbHVlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKHNob3J0aGFuZFByb3BlcnR5SWQsIFdURk1v
dmUoc2hvcnRoYW5kVmFsdWUpLCBiYXNlVVJMKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZShzaG9ydGhhbmRQcm9wZXJ0eUlkLCBXVEZN
b3ZlKHNob3J0aGFuZFZhbHVlKSkpOwogICAgIH0KIAogICAgIENTU1ZhcmlhYmxlUmVmZXJlbmNl
VmFsdWUmIHNob3J0aGFuZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zaG9ydGhhbmRWYWx1ZTsg
fQogICAgIENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJZCgpIGNvbnN0IHsgcmV0dXJu
IG1fc2hvcnRoYW5kUHJvcGVydHlJZDsgfQotICAgIGNvbnN0IFVSTCYgYmFzZVVSTCgpIGNvbnN0
IHsgcmV0dXJuIG1fYmFzZVVSTDsgfQogCiAgICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTUGVuZGlu
Z1N1YnN0aXR1dGlvblZhbHVlJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9zaG9ydGhhbmRWYWx1
ZS5wdHIoKSA9PSBvdGhlci5tX3Nob3J0aGFuZFZhbHVlLnB0cigpOyB9CiAgICAgc3RhdGljIFN0
cmluZyBjdXN0b21DU1NUZXh0KCkgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogCiBwcml2YXRl
OgotICAgIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZShDU1NQcm9wZXJ0eUlEIHNob3J0aGFu
ZFByb3BlcnR5SWQsIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYmIHNob3J0aGFuZFZh
bHVlLCBjb25zdCBVUkwmIGJhc2VVUkwpCisgICAgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVl
KENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJZCwgUmVmPENTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWU+JiYgc2hvcnRoYW5kVmFsdWUpCiAgICAgICAgIDogQ1NTVmFsdWUoUGVuZGluZ1N1
YnN0aXR1dGlvblZhbHVlQ2xhc3MpCiAgICAgICAgICwgbV9zaG9ydGhhbmRQcm9wZXJ0eUlkKHNo
b3J0aGFuZFByb3BlcnR5SWQpCiAgICAgICAgICwgbV9zaG9ydGhhbmRWYWx1ZShXVEZNb3ZlKHNo
b3J0aGFuZFZhbHVlKSkKLSAgICAgICAgLCBtX2Jhc2VVUkwoYmFzZVVSTCkKICAgICB7CiAgICAg
fQogCiAgICAgY29uc3QgQ1NTUHJvcGVydHlJRCBtX3Nob3J0aGFuZFByb3BlcnR5SWQ7CiAgICAg
UmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+IG1fc2hvcnRoYW5kVmFsdWU7Ci0gICAgLy8g
VGhpcyBpcyB0aGUgYmFzZSBVUkwgdGhhdCBzaG91bGQgYmUgdXNlZCBpbiByZXNvbHV0aW9uIG9m
IHRoaXMgdmFsdWUgd2hlbiBuZWNlc3NhcnksIGUuZy4gZm9yIHRoZSBgdXJsKClgIGZ1bmN0aW9u
LgotICAgIGNvbnN0IFVSTCBtX2Jhc2VVUkw7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU1BlbmRpbmdTdWJzdGl0dXRp
b25WYWx1ZSwgaXNQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUoKSkKLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCmluZGV4IDAxZDUzM2I2MGJk
ZjFlYWU1MWZlODMxY2U3ZWU3ZjJjMTcxNGIwNDUuLjk3ZjEyNGVhYjdjMTMxZjNiMWM4MjY3MjE5
YmNhNzMzODAzZDQ0NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVS
ZWZlcmVuY2VWYWx1ZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmlnaHQgMjAxNSBUaGUg
Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykg
MjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAo
QykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTQwLDE1ICs0MCwxNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBib29sIHJlc29sdmVUb2tlblJhbmdlKENTU1BhcnNlclRva2VuUmFu
Z2UsIFZlY3RvcjxDU1NQYXJzZXJUb2tlbj4mLCBTdHlsZTo6QnVpbGRlclN0YXRlJik7CiAKLUNT
U1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6OkNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoUmVmPENT
U1ZhcmlhYmxlRGF0YT4mJiBkYXRhKQorQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Q1NTVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZShSZWY8Q1NTVmFyaWFibGVEYXRhPiYmIGRhdGEsIGNvbnN0IENT
U1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiAgICAgOiBDU1NWYWx1ZShWYXJpYWJsZVJlZmVyZW5j
ZUNsYXNzKQogICAgICwgbV9kYXRhKFdURk1vdmUoZGF0YSkpCisgICAgLCBtX2NvbnRleHQoY29u
dGV4dCkKIHsKIH0KIAotUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+IENTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWU6OmNyZWF0ZShjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkK
K1JlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVl
OjpjcmVhdGUoY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZShDU1NWYXJpYWJsZURhdGE6OmNyZWF0ZShyYW5nZSkpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlKENTU1ZhcmlhYmxl
RGF0YTo6Y3JlYXRlKHJhbmdlKSwgY29udGV4dCkpOwogfQogCiBib29sIENTU1ZhcmlhYmxlUmVm
ZXJlbmNlVmFsdWU6OmVxdWFscyhjb25zdCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlJiBvdGhl
cikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVy
ZW5jZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5oCmluZGV4IDU1YzIwMGEwM2ZkNTBkZDMzNDViOWU2N2MxOTU3MThhZmMxNDg1OGUuLmM2MThk
MmI2NTk3MGNjMmIxNTQ0NDY5YzJkYmY1ZDA2ODY0YzU0OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaApAQCAtMSw1ICsxLDUgQEAKIC8vIENv
cHlyaWdodCAyMDE1IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
Ly8gQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorLy8gQ29weXJpZ2h0IChDKSAyMDE2LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogLy8KIC8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjksNiArMjksNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNTU1BhcnNlckNvbnRleHQuaCIKICNpbmNs
dWRlICJDU1NWYWx1ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MiwyMyArNDMsMjQg
QEAgY2xhc3MgQnVpbGRlclN0YXRlOwogCiBjbGFzcyBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVl
IDogcHVibGljIENTU1ZhbHVlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWU+IGNyZWF0ZShjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJik7CisgICAg
c3RhdGljIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiBjcmVhdGUoY29uc3QgQ1NTUGFy
c2VyVG9rZW5SYW5nZSYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKIAogICAgIGJvb2wgZXF1
YWxzKGNvbnN0IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmKSBjb25zdDsKICAgICBTdHJpbmcg
Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogCiAgICAgUmVmUHRyPENTU1ZhcmlhYmxlRGF0YT4gcmVz
b2x2ZVZhcmlhYmxlUmVmZXJlbmNlcyhTdHlsZTo6QnVpbGRlclN0YXRlJikgY29uc3Q7CisgICAg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4
dDsgfQogCi0gICAgLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0aGF0IG1heSBiZSBw
cm9kdWNlZCBieSBhIHZhcigpCi0gICAgLy8gcmVmZXJlbmNlIG9yIHZhcigpIGZhbGxiYWNrIHZh
bHVlLgorICAgIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0b2tlbnMgdGhhdCBtYXkgYmUgcHJv
ZHVjZWQgYnkgYSB2YXIoKSByZWZlcmVuY2Ugb3IgdmFyKCkgZmFsbGJhY2sgdmFsdWUuCiAgICAg
Ly8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YXJpYWJsZXMvI2xvbmctdmFyaWFibGVz
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4U3Vic3RpdHV0aW9uVG9rZW5zID0gNjU1
MzY7CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZShS
ZWY8Q1NTVmFyaWFibGVEYXRhPiYmKTsKKyAgICBleHBsaWNpdCBDU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlKFJlZjxDU1NWYXJpYWJsZURhdGE+JiYsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsK
IAogICAgIFJlZjxDU1NWYXJpYWJsZURhdGE+IG1fZGF0YTsKICAgICBtdXRhYmxlIFN0cmluZyBt
X3N0cmluZ1ZhbHVlOworICAgIGNvbnN0IENTU1BhcnNlckNvbnRleHQgbV9jb250ZXh0OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXIuY3BwCmluZGV4IDBhMGYzMzliOWM1MTY3NWM2ZTcwYjZlZWIxZTk1NjEyYTI0NWUyNDcuLjAy
NmQxZGJmYzcyZTZhOGJiMzMzMDkyYjRjOTU5YzQ0ZjZmMTM2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDUgQWxsYW4gU2FuZGZlbGQgSmVuc2VuIChrZGVAY2FyZXdvbGYuY29tKQotICogQ29weXJpZ2h0
IChDKSAyMDA0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDA3IE5pY2hvbGFzIFNoYW5rcyA8d2Via2l0QG5pY2tzaGFua3MuY29tPgog
ICogQ29weXJpZ2h0IChDKSAyMDA4IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g
KGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKQEAgLTE5NSw3ICsxOTUsNyBAQCBSZWZQdHI8
Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVyZW5jZXMoQ1NT
UHJvcGVydHlJRCBwcm9wSQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAg
UGFyc2VkUHJvcGVydHlWZWN0b3IgcGFyc2VkUHJvcGVydGllczsKLSAgICAgICAgaWYgKCFDU1NQ
cm9wZXJ0eVBhcnNlcjo6cGFyc2VWYWx1ZShzaG9ydGhhbmRJRCwgZmFsc2UsIHJlc29sdmVkRGF0
YS0+dG9rZW5zKCksIG1fY29udGV4dCwgcGFyc2VkUHJvcGVydGllcywgU3R5bGVSdWxlVHlwZTo6
U3R5bGUpKQorICAgICAgICBpZiAoIUNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVlKHNob3J0
aGFuZElELCBmYWxzZSwgcmVzb2x2ZWREYXRhLT50b2tlbnMoKSwgc3Vic3RpdHV0aW9uLnNob3J0
aGFuZFZhbHVlKCkuY29udGV4dCgpLCBwYXJzZWRQcm9wZXJ0aWVzLCBTdHlsZVJ1bGVUeXBlOjpT
dHlsZSkpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBmb3IgKGF1dG8m
IHByb3BlcnR5IDogcGFyc2VkUHJvcGVydGllcykgewpAQCAtMjE0LDcgKzIxNCw3IEBAIFJlZlB0
cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbHVlV2l0aFZhcmlhYmxlUmVmZXJlbmNlcyhD
U1NQcm9wZXJ0eUlEIHByb3BJCiAgICAgICAgIGF1dG8gcmVzb2x2ZWREYXRhID0gdmFsdWVXaXRo
UmVmZXJlbmNlcy5yZXNvbHZlVmFyaWFibGVSZWZlcmVuY2VzKGJ1aWxkZXJTdGF0ZSk7CiAgICAg
ICAgIGlmICghcmVzb2x2ZWREYXRhKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
ICAgIHJldHVybiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShwcm9wSUQsIHJl
c29sdmVkRGF0YS0+dG9rZW5zKCksIG1fY29udGV4dCk7CisgICAgICAgIHJldHVybiBDU1NQcm9w
ZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShwcm9wSUQsIHJlc29sdmVkRGF0YS0+dG9rZW5z
KCksIHZhbHVlV2l0aFJlZmVyZW5jZXMuY29udGV4dCgpKTsKICAgICB9CiAKICAgICBjb25zdCBh
dXRvJiBjdXN0b21Qcm9wVmFsdWUgPSBkb3duY2FzdDxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPih2
YWx1ZSk7CkBAIC0yMjIsMjAgKzIyMiwxOSBAQCBSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6
cGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVyZW5jZXMoQ1NTUHJvcGVydHlJRCBwcm9wSQogCiAg
ICAgYXV0byYgbmFtZSA9IGRvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+KHZhbHVlKS5u
YW1lKCk7CiAgICAgYXV0byogcmVnaXN0ZXJlZCA9IGJ1aWxkZXJTdGF0ZS5kb2N1bWVudCgpLmdl
dENTU1JlZ2lzdGVyZWRDdXN0b21Qcm9wZXJ0eVNldCgpLmdldChuYW1lKTsKLSAgICBhdXRvJiBz
eW50YXggPSByZWdpc3RlcmVkID8gcmVnaXN0ZXJlZC0+c3ludGF4IDogIioiOworICAgIGF1dG8m
IHN5bnRheCA9IHJlZ2lzdGVyZWQgPyByZWdpc3RlcmVkLT5zeW50YXggOiAiKiJfczsKICAgICBh
dXRvIHJlc29sdmVkRGF0YSA9IHZhbHVlV2l0aFJlZmVyZW5jZXMucmVzb2x2ZVZhcmlhYmxlUmVm
ZXJlbmNlcyhidWlsZGVyU3RhdGUpOwotCiAgICAgaWYgKCFyZXNvbHZlZERhdGEpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgLy8gRklYTUUgaGFuZGxlIFJFTSBjeWNsZXMuCiAgICAg
SGFzaFNldDxDU1NQcm9wZXJ0eUlEPiBkZXBlbmRlbmNpZXM7Ci0gICAgQ1NTUHJvcGVydHlQYXJz
ZXI6OmNvbGxlY3RQYXJzZWRDdXN0b21Qcm9wZXJ0eVZhbHVlRGVwZW5kZW5jaWVzKHN5bnRheCwg
ZmFsc2UsIGRlcGVuZGVuY2llcywgcmVzb2x2ZWREYXRhLT50b2tlbnMoKSwgbV9jb250ZXh0KTsK
KyAgICBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5VmFsdWVE
ZXBlbmRlbmNpZXMoc3ludGF4LCBmYWxzZSwgZGVwZW5kZW5jaWVzLCByZXNvbHZlZERhdGEtPnRv
a2VucygpLCB2YWx1ZVdpdGhSZWZlcmVuY2VzLmNvbnRleHQoKSk7CiAKICAgICBmb3IgKGF1dG8g
aWQgOiBkZXBlbmRlbmNpZXMpCiAgICAgICAgIGJ1aWxkZXJTdGF0ZS5idWlsZGVyKCkuYXBwbHlQ
cm9wZXJ0eShpZCk7CiAKLSAgICByZXR1cm4gQ1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlVHlwZWRD
dXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIHN5bnRheCwgcmVzb2x2ZWREYXRhLT50b2tlbnMoKSwg
YnVpbGRlclN0YXRlLCBtX2NvbnRleHQpOworICAgIHJldHVybiBDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VUeXBlZEN1c3RvbVByb3BlcnR5VmFsdWUobmFtZSwgc3ludGF4LCByZXNvbHZlZERhdGEt
PnRva2VucygpLCBidWlsZGVyU3RhdGUsIHZhbHVlV2l0aFJlZmVyZW5jZXMuY29udGV4dCgpKTsK
IH0KIAogVmVjdG9yPGRvdWJsZT4gQ1NTUGFyc2VyOjpwYXJzZUtleWZyYW1lS2V5TGlzdChjb25z
dCBTdHJpbmcmIHNlbGVjdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcAppbmRleCA4OWUyMzFjZDdmZDFiZDY3NWRkMzYxZmE0YmVmZTYxZDYz
MTdiOGFhLi4yMmQ1MGU2MDUyMDNlMDJjMGE1ZTVjMjZmZWJmNjA0ZGYwMGYyMjIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8vIENvcHlyaWdodCAyMDE1IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8vIENvcHlyaWdodCAoQykgMjAxNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTMy
MSw5ICszMjEsOSBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVZhbHVlU3RhcnQoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlELCBib29sIGltcG9ydGFudAogICAgIH0KIAogICAgIGlmIChD
U1NWYXJpYWJsZVBhcnNlcjo6Y29udGFpbnNWYWxpZFZhcmlhYmxlUmVmZXJlbmNlcyhvcmlnaW5h
bFJhbmdlLCBtX2NvbnRleHQpKSB7Ci0gICAgICAgIGF1dG8gdmFyaWFibGUgPSBDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUob3JpZ2luYWxSYW5nZSk7CisgICAgICAgIGF1dG8gdmFy
aWFibGUgPSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUob3JpZ2luYWxSYW5nZSwg
bV9jb250ZXh0KTsKICAgICAgICAgaWYgKGlzU2hvcnRoYW5kKQotICAgICAgICAgICAgYWRkRXhw
YW5kZWRQcm9wZXJ0eUZvclZhbHVlKHByb3BlcnR5SUQsIENTU1BlbmRpbmdTdWJzdGl0dXRpb25W
YWx1ZTo6Y3JlYXRlKHByb3BlcnR5SUQsIFdURk1vdmUodmFyaWFibGUpLCBtX2NvbnRleHQuYmFz
ZVVSTCksIGltcG9ydGFudCk7CisgICAgICAgICAgICBhZGRFeHBhbmRlZFByb3BlcnR5Rm9yVmFs
dWUocHJvcGVydHlJRCwgQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOjpjcmVhdGUocHJvcGVy
dHlJRCwgV1RGTW92ZSh2YXJpYWJsZSkpLCBpbXBvcnRhbnQpOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBhZGRQcm9wZXJ0eShwcm9wZXJ0eUlELCBDU1NQcm9wZXJ0eUludmFsaWQsIFdURk1v
dmUodmFyaWFibGUpLCBpbXBvcnRhbnQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NWYXJpYWJsZVBhcnNlci5jcHAKaW5kZXggZTJmMDEx
NzMzZWRlNjVjYWJiOWY1ZTQ1NDRmYzI5M2IyZWE3MWM0MC4uOTNjNzg2ZDYzOWY0ZTc3ODMxOTU0
ZmE0NzIwNDcxMWViYTM3MDk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NWYXJpYWJsZVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NWYXJpYWJsZVBhcnNlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvLyBDb3B5cmlnaHQgMjAxNSBU
aGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMp
IDIwMTYtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0xOTAsNyArMTkwLDcgQEAgUmVmUHRyPENTU0N1c3Rv
bVByb3BlcnR5VmFsdWU+IENTU1ZhcmlhYmxlUGFyc2VyOjpwYXJzZURlY2xhcmF0aW9uVmFsdWUo
Y29uc3QgQXQKICAgICBpZiAodHlwZSA9PSBDU1NWYWx1ZUludmFsaWQpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIGlmICh0eXBlID09IENTU1ZhbHVlSW50ZXJuYWxWYXJpYWJsZVZhbHVl
KQotICAgICAgICByZXR1cm4gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlVW5yZXNvbHZl
ZCh2YXJpYWJsZU5hbWUsIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6OmNyZWF0ZShyYW5nZSkp
OworICAgICAgICByZXR1cm4gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlVW5yZXNvbHZl
ZCh2YXJpYWJsZU5hbWUsIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6OmNyZWF0ZShyYW5nZSwg
cGFyc2VyQ29udGV4dCkpOwogICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVh
dGVVbnJlc29sdmVkKHZhcmlhYmxlTmFtZSwgdHlwZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXIuY3BwCmluZGV4IDU2OTY5NmVlZTIxN2ZmNjJjNWY5YmRmMDU2NTRmMzQwMDU4
YmJlNzguLjgzOWNiZWI3NWVlYTk5OWMzZTc4YjFiY2VjN2I5ODc5NzczMGIxY2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNwcApAQCAtMiw3ICsyLDcgQEAKICAqIENvcHlyaWdo
dCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogQ29weXJpZ2h0IChDKSAy
MDA0LTIwMDUgQWxsYW4gU2FuZGZlbGQgSmVuc2VuIChrZGVAY2FyZXdvbGYuY29tKQogICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3IE5pY2hvbGFzIFNoYW5rcyAod2Via2l0QG5pY2tzaGFua3Mu
Y29tKQotICogQ29weXJpZ2h0IChDKSAyMDA1LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFw
QHdlYmtpdC5vcmc+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggRXJpYyBTZWlkZWwgPGVy
aWNAd2Via2l0Lm9yZz4KICAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQpA
QCAtMzIsNyArMzIsNiBAQAogCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCiAjaW5jbHVk
ZSAiQ1NTUGFpbnRJbWFnZVZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTUGVuZGluZ1N1YnN0aXR1dGlv
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1l
bnQuaCIKICNpbmNsdWRlICJQYWludFdvcmtsZXRHbG9iYWxTY29wZS5oIgpAQCAtMzY4LDE2ICsz
NjcsOSBAQCBSZWY8Q1NTVmFsdWU+IEJ1aWxkZXI6OnJlc29sdmVWYWx1ZShDU1NQcm9wZXJ0eUlE
IHByb3BlcnR5SUQsIENTU1ZhbHVlJiB2YWx1ZSkKICAgICByZXR1cm4gKnZhcmlhYmxlVmFsdWU7
CiB9CiAKLVJlZlB0cjxDU1NWYWx1ZT4gQnVpbGRlcjo6cmVzb2x2ZWRWYXJpYWJsZVZhbHVlKENT
U1Byb3BlcnR5SUQgcHJvcElELCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUpCitSZWZQdHI8Q1NTVmFs
dWU+IEJ1aWxkZXI6OnJlc29sdmVkVmFyaWFibGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5
SUQsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUuaXNQZW5kaW5nU3Vi
c3RpdHV0aW9uVmFsdWUoKSkgewotICAgICAgICBhdXRvJiBzdWJzdGl0dXRpb25WYWx1ZSA9IGRv
d25jYXN0PENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZT4odmFsdWUpOwotICAgICAgICBDU1NQ
YXJzZXIgcGFyc2VyKENTU1BhcnNlckNvbnRleHQobV9zdGF0ZS5kb2N1bWVudCgpLCBzdWJzdGl0
dXRpb25WYWx1ZS5iYXNlVVJMKCkpKTsKLSAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZVZhbHVl
V2l0aFZhcmlhYmxlUmVmZXJlbmNlcyhwcm9wSUQsIHZhbHVlLCBtX3N0YXRlKTsKLSAgICB9Ci0g
ICAgCi0gICAgQ1NTUGFyc2VyIHBhcnNlcihtX3N0YXRlLmRvY3VtZW50KCkpOwotICAgIHJldHVy
biBwYXJzZXIucGFyc2VWYWx1ZVdpdGhWYXJpYWJsZVJlZmVyZW5jZXMocHJvcElELCB2YWx1ZSwg
bV9zdGF0ZSk7CisgICAgcmV0dXJuIENTU1BhcnNlcihtX3N0YXRlLmRvY3VtZW50KCkpLnBhcnNl
VmFsdWVXaXRoVmFyaWFibGVSZWZlcmVuY2VzKHByb3BlcnR5SUQsIHZhbHVlLCBtX3N0YXRlKTsK
IH0KIAogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGI4ODcyZWNlZjVhZDk3Y2IxOWQ3ZmE5ZWFmNGEzYjZhZGI5OTI5ODUu
LjU2MjFlZjUyOWUyMjIxNTA2Zjg5YzBjYzMxYWRiZjIzYTU4NzM0MmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMS0wOS0xNCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgVVJMcyBpbiBDU1MgdmFyaWFibGVzIG11c3QgYmUgcmVzb2x2ZWQgYWdhaW5zdCB0aGUg
YmFzZSBVUkwgb2YgdGhlIHN0eWxlc2hlZXQsIG5vdCB0aGUgZG9jdW1lbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDI0MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVz
L3N1cHBvcnQvc3R5bGVzL3VybC13aXRoLXZhcmlhYmxlLWlzLXNoZWV0LXJlbGF0aXZlLmNzczog
QWRkZWQgMTAgbW9yZSB0ZXN0IGNhc2VzLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy91
cmwtd2l0aC12YXJpYWJsZS1pcy1zaGVldC1yZWxhdGl2ZS1leHBlY3RlZC5odG1sOiBEaXR0by4K
KyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdXJsLXdpdGgtdmFyaWFibGUtaXMtc2hlZXQt
cmVsYXRpdmUuaHRtbDogRGl0dG8uCisKIDIwMjEtMDktMTQgIFNhbSBTbmVkZG9uICA8Z3NuZWRk
ZXJzQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IHRoZSBgeGAgcmVzb2x1dGlvbiB1bml0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvc3VwcG9ydC9zdHls
ZXMvdXJsLXdpdGgtdmFyaWFibGUtaXMtc2hlZXQtcmVsYXRpdmUuY3NzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL3N1cHBvcnQvc3R5bGVzL3VybC13aXRoLXZhcmlhYmxlLWlzLXNo
ZWV0LXJlbGF0aXZlLmNzcwppbmRleCA1YWE5MzljNjVhOTg0ZDg2OGRkNzUzNTYyMWIyNWRmZWFj
ZGRhMTU2Li4wYjE1ZTRlYjg1NjYxMzU3MWZiZjRmZjczZTkwNDFlNTZkZmYyYTdhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvc3VwcG9ydC9zdHlsZXMvdXJsLXdp
dGgtdmFyaWFibGUtaXMtc2hlZXQtcmVsYXRpdmUuY3NzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy9zdXBwb3J0L3N0eWxlcy91cmwtd2l0aC12YXJpYWJsZS1pcy1zaGVldC1y
ZWxhdGl2ZS5jc3MKQEAgLTEsMTkgKzEsMjAgQEAKIDpyb290IHsKICAgICAtLXJlZDogcmVkOwor
ICAgIC0tcmVkLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQocmVkLCByZWQpOworICAgIC0tc3F1
YXJlOiB1cmwoJy4uL2ltYWdlcy82MDB4NjAwLWdyZWVuLXNxdWFyZS5wbmcnKTsKIH0KIAotc2Vj
dGlvbiB7Ci0gICAgaGVpZ2h0OiA2MDBweDsKLSAgICB3aWR0aDogNjAwcHg7Ci0gICAgbWFyZ2lu
OiAyMHB4OwotfQotCi0udGVzdC13aXRoLXZhciB7Ci0gICAgYmFja2dyb3VuZDogdXJsKCcuLi9p
bWFnZXMvNjAweDYwMC1ncmVlbi1zcXVhcmUucG5nJykgdmFyKC0tcmVkKTsKLSAgICBiYWNrZ3Jv
dW5kLXNpemU6IDEwMCU7Ci19CitzZWN0aW9uIHsgaGVpZ2h0OiAyMHB4OyB3aWR0aDogNjAwcHg7
IG1hcmdpbjogMTBweDsgfQogCi0udGVzdC13aXRob3V0LXZhciB7Ci0gICAgYmFja2dyb3VuZDog
dXJsKCcuLi9pbWFnZXMvNjAweDYwMC1ncmVlbi1zcXVhcmUucG5nJykgcmVkOwotICAgIGJhY2tn
cm91bmQtc2l6ZTogMTAwJTsKLX0KKy50ZXN0LTAgeyBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdl
cy82MDB4NjAwLWdyZWVuLXNxdWFyZS5wbmcnKTsgfQorLnRlc3QtMSB7IGJhY2tncm91bmQ6IHVy
bCgnLi4vaW1hZ2VzLzYwMHg2MDAtZ3JlZW4tc3F1YXJlLnBuZycpIHJlZDsgfQorLnRlc3QtMiB7
IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzLzYwMHg2MDAtZ3JlZW4tc3F1YXJlLnBuZycpIHZh
cigtLXJlZCk7IH0KKy50ZXN0LTMgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zcXVhcmUpOyB9CisudGVz
dC00IHsgYmFja2dyb3VuZDogdmFyKC0tc3F1YXJlKSByZWQ7IH0KKy50ZXN0LTUgeyBiYWNrZ3Jv
dW5kOiB2YXIoLS1zcXVhcmUpIHZhcigtLXJlZCk7IH0KKy50ZXN0LTYgeyBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoJy4uL2ltYWdlcy82MDB4NjAwLWdyZWVuLXNxdWFyZS5wbmcnKTsgfQorLnRlc3Qt
NyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzLzYwMHg2MDAtZ3JlZW4tc3F1YXJl
LnBuZycpLCBsaW5lYXItZ3JhZGllbnQocmVkLCByZWQpOyB9CisudGVzdC04IHsgYmFja2dyb3Vu
ZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvNjAweDYwMC1ncmVlbi1zcXVhcmUucG5nJyksIHZhcigt
LXJlZC1ncmFkaWVudCk7IH0KKy50ZXN0LTkgeyBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1zcXVh
cmUpOyB9CisudGVzdC0xMCB7IGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXNxdWFyZSksIGxpbmVh
ci1ncmFkaWVudChyZWQsIHJlZCk7IH0KKy50ZXN0LTExIHsgYmFja2dyb3VuZC1pbWFnZTogdmFy
KC0tc3F1YXJlKSwgdmFyKC0tcmVkLWdyYWRpZW50KTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL3VybC13aXRoLXZhcmlhYmxlLWlzLXNoZWV0LXJlbGF0aXZl
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdXJsLXdpdGgt
dmFyaWFibGUtaXMtc2hlZXQtcmVsYXRpdmUtZXhwZWN0ZWQuaHRtbAppbmRleCAzYzUwODRiOTg2
Njk5NmE2MWU0NWZjNzdhYzJhMDQ3ZGY3ODg3YTFhLi45ZTA3NWVmMjMyOGQ4Yzc0MTkzYzg3OWE0
OTgxYWEwZjIxY2MxMmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvdXJsLXdpdGgtdmFyaWFibGUtaXMtc2hlZXQtcmVsYXRpdmUtZXhwZWN0ZWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdXJsLXdpdGgtdmFyaWFibGUtaXMtc2hl
ZXQtcmVsYXRpdmUtZXhwZWN0ZWQuaHRtbApAQCAtNCwxMCArNCwxNyBAQAogICAgIDxsaW5rIGhy
ZWY9InN1cHBvcnQvc3R5bGVzL3VybC13aXRoLXZhcmlhYmxlLWlzLXNoZWV0LXJlbGF0aXZlLmNz
cyIgcmVsPSJzdHlsZXNoZWV0Ij4KIDwvaGVhZD4KIDxib2R5PgotPG1haW4+Ci0gICAgPHNlY3Rp
b24gY2xhc3M9InRlc3Qtd2l0aG91dC12YXIiPgotICAgIDwvc2VjdGlvbj4KLTwvbWFpbj4KKyAg
ICA8c2VjdGlvbiBjbGFzcz0idGVzdC0wIj48L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gY2xhc3M9
InRlc3QtMCI+PC9zZWN0aW9uPgorICAgIDxzZWN0aW9uIGNsYXNzPSJ0ZXN0LTAiPjwvc2VjdGlv
bj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVzdC0wIj48L3NlY3Rpb24+CisgICAgPHNlY3Rpb24g
Y2xhc3M9InRlc3QtMCI+PC9zZWN0aW9uPgorICAgIDxzZWN0aW9uIGNsYXNzPSJ0ZXN0LTAiPjwv
c2VjdGlvbj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVzdC0wIj48L3NlY3Rpb24+CisgICAgPHNl
Y3Rpb24gY2xhc3M9InRlc3QtMCI+PC9zZWN0aW9uPgorICAgIDxzZWN0aW9uIGNsYXNzPSJ0ZXN0
LTAiPjwvc2VjdGlvbj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVzdC0wIj48L3NlY3Rpb24+Cisg
ICAgPHNlY3Rpb24gY2xhc3M9InRlc3QtMCI+PC9zZWN0aW9uPgorICAgIDxzZWN0aW9uIGNsYXNz
PSJ0ZXN0LTAiPjwvc2VjdGlvbj4KIDwvYm9keT4KIDwvaHRtbD4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3VybC13aXRoLXZhcmlhYmxlLWlzLXNoZWV0LXJl
bGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdXJsLXdpdGgtdmFy
aWFibGUtaXMtc2hlZXQtcmVsYXRpdmUuaHRtbAppbmRleCBiY2RkZmRiMmJkNDFkODhiMjg1ZWMw
ZWE1YTRiYzg3NGVhM2UxYzEyLi41N2NjY2VhN2ZmZmNiYWNiYWQ4Y2RhZmU1MTBkYjczNzA5OWEy
MTZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdXJsLXdpdGgt
dmFyaWFibGUtaXMtc2hlZXQtcmVsYXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy92YXJpYWJsZXMvdXJsLXdpdGgtdmFyaWFibGUtaXMtc2hlZXQtcmVsYXRpdmUuaHRtbApAQCAt
NCwxMCArNCwxNyBAQAogICAgIDxsaW5rIGhyZWY9InN1cHBvcnQvc3R5bGVzL3VybC13aXRoLXZh
cmlhYmxlLWlzLXNoZWV0LXJlbGF0aXZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KIDwvaGVhZD4K
IDxib2R5PgotPG1haW4+Ci0gICAgPHNlY3Rpb24gY2xhc3M9InRlc3Qtd2l0aC12YXIiPgotICAg
IDwvc2VjdGlvbj4KLTwvbWFpbj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVzdC0wIj48L3NlY3Rp
b24+CisgICAgPHNlY3Rpb24gY2xhc3M9InRlc3QtMSI+PC9zZWN0aW9uPgorICAgIDxzZWN0aW9u
IGNsYXNzPSJ0ZXN0LTIiPjwvc2VjdGlvbj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVzdC0zIj48
L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gY2xhc3M9InRlc3QtNCI+PC9zZWN0aW9uPgorICAgIDxz
ZWN0aW9uIGNsYXNzPSJ0ZXN0LTUiPjwvc2VjdGlvbj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVz
dC02Ij48L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gY2xhc3M9InRlc3QtNyI+PC9zZWN0aW9uPgor
ICAgIDxzZWN0aW9uIGNsYXNzPSJ0ZXN0LTgiPjwvc2VjdGlvbj4KKyAgICA8c2VjdGlvbiBjbGFz
cz0idGVzdC05Ij48L3NlY3Rpb24+CisgICAgPHNlY3Rpb24gY2xhc3M9InRlc3QtMTAiPjwvc2Vj
dGlvbj4KKyAgICA8c2VjdGlvbiBjbGFzcz0idGVzdC0xMSI+PC9zZWN0aW9uPgogPC9ib2R5Pgog
PC9odG1sPgotCg==
</data>
<flag name="review"
          id="461462"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>