<?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>229790</bug_id>
          
          <creation_ts>2021-09-01 19:11:07 -0700</creation_ts>
          <short_desc>Add a layout test to detect memory leaks when drawing images to a detached canvas</short_desc>
          <delta_ts>2021-09-10 11:24:55 -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>Canvas</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=229668</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1789587</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-09-01 19:11:07 -0700</bug_when>
    <thetext>This is a follow-up for bug 229668.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789590</commentid>
    <comment_count>1</comment_count>
      <attachid>437106</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-09-01 19:23:10 -0700</bug_when>
    <thetext>Created attachment 437106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789597</commentid>
    <comment_count>2</comment_count>
      <attachid>437112</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-09-01 21:37:42 -0700</bug_when>
    <thetext>Created attachment 437112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789765</commentid>
    <comment_count>3</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-09-02 10:20:04 -0700</bug_when>
    <thetext>Without r281839 the test in this patch fails with the following diff:

- PASS internals.remoteImagesCount() is 0
+ FAIL internals.remoteImagesCount() should be 0. Was 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789855</commentid>
    <comment_count>4</comment_count>
      <attachid>437112</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-02 13:05:12 -0700</bug_when>
    <thetext>Comment on attachment 437112
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Add a layout test to detect memory leaks when darwing images to a detached canvas

darwing

&gt; Source/WebKit/ChangeLog:3
&gt; +        Add a layout test to detect memory leaks when darwing images to a detached canvas

darwing

&gt; Source/WebCore/page/Page.h:584
&gt; +    WEBCORE_EXPORT unsigned remoteImagesCount() const;

Given this is for testing only, could we have internals go directly to the chrome client instead of putting a helper in Page?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789862</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-02 13:13:47 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/page/Page.h:584
&gt; &gt; +    WEBCORE_EXPORT unsigned remoteImagesCount() const;
&gt; 
&gt; Given this is for testing only, could we have internals go directly to the
&gt; chrome client instead of putting a helper in Page?

Let&apos;s rename it to remoteImagesCountForTesting() also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789951</commentid>
    <comment_count>6</comment_count>
      <attachid>437209</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-09-02 16:05:27 -0700</bug_when>
    <thetext>Created attachment 437209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790081</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-03 01:25:09 -0700</bug_when>
    <thetext>Committed r281980 (241287@main): &lt;https://commits.webkit.org/241287@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437209.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790082</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-03 01:26:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/82713895&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792450</commentid>
    <comment_count>9</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-09-10 11:16:14 -0700</bug_when>
    <thetext>It looks like the test added here is failing fast/canvas/canvas-drawImage-detached-leak.html

History:
https://results.webkit.org/?suite=layout-tests&amp;test=fast%2Fcanvas%2Fcanvas-drawImage-detached-leak.html


Diff:
--- /Volumes/Data/worker/bigsur-debug-tests-wk2/build/layout-test-results/fast/canvas/canvas-drawImage-detached-leak-expected.txt
+++ /Volumes/Data/worker/bigsur-debug-tests-wk2/build/layout-test-results/fast/canvas/canvas-drawImage-detached-leak-actual.txt
@@ -3,7 +3,7 @@
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
 
 
-PASS internals.remoteImagesCountForTesting() is 0
+FAIL internals.remoteImagesCountForTesting() should be 0. Was 3.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792458</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-09-10 11:24:55 -0700</bug_when>
    <thetext>That’s exactly what we’d expect if the fix in r281839 did not work.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437106</attachid>
            <date>2021-09-01 19:23:10 -0700</date>
            <delta_ts>2021-09-01 21:37:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229790-20210901192309.patch</filename>
            <type>text/plain</type>
            <size>14258</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI3YTJkZDIxMzMwMTI5
NmMyOWRlOWY4M2FhOWI1NDUwYmVjOWQ4ZS4uMmYxNzYxMGI1MTA4Nzc2MTdmZGEwMThjODZlMTg5
MjU4ZmM1MWE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA5LTAxICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGxheW91dCB0
ZXN0IHRvIGRldGVjdCBtZW1vcnkgbGVha3Mgd2hlbiBkYXJ3aW5nIGltYWdlcyB0byBhIGRldGFj
aGVkIGNhbnZhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI5NzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGFuIGludGVybmFsIEFQSSB0byByZXR1cm4gdGhlIG51bWJlciBvZiByZW1vdGUgaW1h
Z2VzIHdoaWNoIGFyZSBjYWNoZWQKKyAgICAgICAgYnkgV2ViUHJvY2VzcyBhbmQgR1BVUHJvY2Vz
cy4gSXQgY2FuIGJlIHVzZWQgYWZ0ZXIgcmVuZGVyaW5nIHVwZGF0ZSBpcworICAgICAgICBmaW5p
c2hlZCB0byB2ZXJpZnkgdGhhdCB0aGVyZSBhcmUgbm8gaW1hZ2VzIGNhY2hlZCBiZWNhdXNlIHRo
ZXkgYXJlCisgICAgICAgIHJlZmVyZW5jZWQgaW4gYSBEaXNwYWx5TGlzdCBvZiBhIGRldGFjaGVk
IGNhbnZhcy4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRl
dGFjaGVkLWxlYWsuaHRtbAorCisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVtb3RlSW1hZ2VzQ291bnQgY29uc3QpOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpyZW1vdGVJbWFn
ZXNDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZW1vdGVJbWFn
ZXNDb3VudCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjEtMDktMDEgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViUlRDXSBMZWFrIG9yIG92ZXItcmVsZWFz
ZSBvZiBDRlBpeGVsQnVmZmVyUmVmIHJldHVybmVkIGZyb20gd2VicnRjOjpjcmVhdGVQaXhlbEJ1
ZmZlckZyb21GcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmNTNiN2NmNTJmMTk2YTQ2MTMxMWZmNzc3MzFj
ZDExODczOWYwN2UuLjk5ZGE1ODM0NGM0MmM5MzQ4NGRjMmY1YWY4ZDA0ZjE3NjFkNzJlM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDktMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8
c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gZGV0ZWN0IG1l
bW9yeSBsZWFrcyB3aGVuIGRhcndpbmcgaW1hZ2VzIHRvIGEgZGV0YWNoZWQgY2FudmFzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk3OTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHk6OmltYWdlc0NvdW50IGNvbnN0KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cmVtb3RlSW1hZ2VzQ291bnQgY29uc3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpyZW1vdGVJbWFnZXNDb3VudCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0wOS0wMSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJSVENdIExlYWsgb3Igb3Zlci1yZWxlYXNlIG9mIENG
UGl4ZWxCdWZmZXJSZWYgcmV0dXJuZWQgZnJvbSB3ZWJydGM6OmNyZWF0ZVBpeGVsQnVmZmVyRnJv
bUZyYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDkzZDZjM2EwODY1OWE1
YzNlZmE2MDA4YzgyY2YyZTNhYTM4ZDBhZmYuLjA4NTNlMWMyNWExZjI0YmQ1NGQzZGY3NzFhYjJk
MjFhZGQyOWVhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzY4LDYgKzM2
OCw4IEBAIHB1YmxpYzoKICAgICAvLyBTY2hlZHVsZSBhIHJlbmRlcmluZyB1cGRhdGUgdGhhdCBj
b29yZGluYXRlcyB3aXRoIGRpc3BsYXkgcmVmcmVzaC4gUmV0dXJucyB0cnVlIGlmIHNjaGVkdWxl
ZC4gKFRoaXMgaXMgb25seSB1c2VkIGJ5IFNWR0ltYWdlQ2hyb21lQ2xpZW50LikKICAgICB2aXJ0
dWFsIGJvb2wgc2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoKSB7IHJldHVybiBmYWxzZTsgfQogCisg
ICAgdmlydHVhbCB1bnNpZ25lZCByZW1vdGVJbWFnZXNDb3VudCgpIGNvbnN0IHsgcmV0dXJuIDA7
IH0KKwogICAgIC8vIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIGNsaWVudCBjYW4gcmVuZGVy
IHRoZSBjb21wb3NpdGVkIGxheWVyLAogICAgIC8vIHJlZ2FyZGxlc3Mgb2YgdGhlIHNldHRpbmdz
LgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzE5NWM3YmU5NjFjZDM4Mjkw
MTY3MmIzZjhlMDM2MWUwNDJmYzI3Yy4uYjZkNjU1NjhjMWM5ODFjNzNlMDM0ZmQ4NzhmMGJkYzhi
NzRkZDZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNzYzLDYgKzE3NjMsMTEgQEAgdm9pZCBQ
YWdlOjpyZW5kZXJpbmdVcGRhdGVDb21wbGV0ZWQoKQogICAgIH0KIH0KIAordW5zaWduZWQgUGFn
ZTo6cmVtb3RlSW1hZ2VzQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiBjaHJvbWUoKS5jbGll
bnQoKS5yZW1vdGVJbWFnZXNDb3VudCgpOworfQorCiB2b2lkIFBhZ2U6OnByaW9yaXRpemVWaXNp
YmxlUmVzb3VyY2VzKCkKIHsKICAgICBpZiAobG9hZFNjaGVkdWxpbmdNb2RlKCkgPT0gTG9hZFNj
aGVkdWxpbmdNb2RlOjpEaXJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGEwNWM1MTZjYjdkNjBkODc5
ZmFmNTgzNGNlZTEzZGRlMjNmMTY1N2QuLjg4OGFkYzNjYjQ0YmI1MWNlOTE2Zjk4M2RmYWVhMDQy
M2YzOGFiMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC01ODEsNiArNTgxLDcgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydFRyYWNraW5nUmVuZGVyaW5nVXBkYXRlcygpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIHJlbmRlcmluZ1VwZGF0ZUNvdW50KCkgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgcmVtb3RlSW1hZ2VzQ291bnQoKSBjb25zdDsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucygpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNDFlNDUzODdjMGU2ZWFlNzQ1NTgyZWZj
Y2Q1ODRjZGQwN2MxMjk2YS4uNGE1YThlMmY1ZTkyZWYwYzM1NzZjMzIwMmFmMDZhYWFiYWRjOTc4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTAwNyw2ICsxMDA3LDE1
IEBAIHVuc2lnbmVkIEludGVybmFsczo6cGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRNTEltYWdl
RWxlbWVudCYgZWxlbWVudCkKICNlbmRpZgogfQogCit1bnNpZ25lZCBJbnRlcm5hbHM6OnJlbW90
ZUltYWdlc0NvdW50KCkgY29uc3QKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0
RG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+cGFnZSgpKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBkb2N1bWVudC0+cGFnZSgpLT5yZW1vdGVJbWFn
ZXNDb3VudCgpOworfQorCiB2b2lkIEludGVybmFsczo6c2V0TGFyZ2VJbWFnZUFzeW5jRGVjb2Rp
bmdFbmFibGVkRm9yVGVzdGluZyhIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50LCBib29sIGVuYWJs
ZWQpCiB7CiAgICAgaWYgKGF1dG8qIGJpdG1hcEltYWdlID0gYml0bWFwSW1hZ2VGcm9tSW1hZ2VF
bGVtZW50KGVsZW1lbnQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjg1NTYw
YmVkMTExZDdjYjVkNTdjZTE0NWMyODllMTc3NmUxOGNhZi4uMTNkY2EzYWZmNWZjYWFmZDBmNzhm
YTdlYzM2ZmM4MzE4MDQ2Y2IxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0x
OTksNiArMTk5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3lu
Y0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCYsIGJvb2wgZW5hYmxlZCk7
CiAgICAgdW5zaWduZWQgaW1hZ2VEZWNvZGVDb3VudChIVE1MSW1hZ2VFbGVtZW50Jik7CiAgICAg
dW5zaWduZWQgcGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRNTEltYWdlRWxlbWVudCYpOworICAg
IHVuc2lnbmVkIHJlbW90ZUltYWdlc0NvdW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRMYXJnZUlt
YWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQmLCBib29s
IGVuYWJsZWQpOwogICAgIHZvaWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVkRm9yVGVz
dGluZyhIVE1MSW1hZ2VFbGVtZW50JiwgYm9vbCBlbmFibGVkKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDQzODU0MTFlOGRmZTdjNWUwYzg3OTExNDYyYjBhMzk1ZGE0
ZDY3MWYuLjAxNjljNzU5MGExNzRmYWYyOWY2ZjM3ZjdmYTc3ZTljM2FlZDM1ODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTQ5Nyw2ICs0OTcsNyBAQCBlbnVtIEF1dG9w
bGF5UG9saWN5IHsKICAgICB1bmRlZmluZWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1l
UmVxdWVzdEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJs
ZWQpOwogICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VEZWNvZGVDb3VudChIVE1MSW1hZ2VFbGVtZW50
IGVsZW1lbnQpOwogICAgIHVuc2lnbmVkIGxvbmcgcGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRN
TEltYWdlRWxlbWVudCBlbGVtZW50KTsKKyAgICB1bnNpZ25lZCBsb25nIHJlbW90ZUltYWdlc0Nv
dW50KCk7CiAgICAgdW5kZWZpbmVkIHNldExhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZEZv
clRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogICAg
IHVuZGVmaW5lZCBzZXRGb3JjZVVwZGF0ZUltYWdlRGF0YUVuYWJsZWRGb3JUZXN0aW5nKEhUTUxJ
bWFnZUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3Vy
Y2VDYWNoZVByb3h5LmgKaW5kZXggZDY1MzY2ZDIwOTI2YzA2NGEwNzI3YzhlN2MwYmE5NGYyYzE4
NTMyMy4uYjllNzcyZmJjYzI3OGUzMjA0NmM3MmRlZjg4N2E5MzU1YjVkZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNh
Y2hlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZVJlc291cmNlQ2FjaGVQcm94eS5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlbW90ZVJlc291cmNlQ2FjaGVXYXNEZXN0cm95ZWQoKTsKICAgICB2b2lkIHJlbGVhc2VB
bGxSZW1vdGVGb250cygpOwogICAgIHZvaWQgcmVsZWFzZU1lbW9yeSgpOworICAgIAorICAgIHVu
c2lnbmVkIGltYWdlc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVJbWFnZXMuc2l6ZSgp
OyB9CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IEltYWdlQnVmZmVyU3RhdGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAppbmRleCA2MTgwZDg1NjUwYWNlMTIyNTQ3ZmJjYzVmOTk4MmU4ZWVmNjBhOWIz
Li4yZTdmZDZmYWVmNjRkMjlkYWFmZWU4NzAxZGM5ODUwYzcxOWU2NjdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcApAQCAtOTg4LDYgKzk4OCwxMSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6dHJp
Z2dlclJlbmRlcmluZ1VwZGF0ZSgpCiAgICAgICAgIG1fcGFnZS5kcmF3aW5nQXJlYSgpLT50cmln
Z2VyUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKK3Vuc2lnbmVkIFdlYkNocm9tZUNsaWVudDo6cmVt
b3RlSW1hZ2VzQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiBtX3BhZ2UucmVtb3RlSW1hZ2Vz
Q291bnQoKTsKK30KKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRSdWxlTGlzdE5vdGlm
aWNhdGlvbihjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFJ1bGVMaXN0UmVzdWx0cyYgcmVz
dWx0cykKIHsKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IDg4MDFlZDI5N2QwMmMyYTM3NDAzMjJkZDQxMWYzYTllMjczOWZjYTcuLmEwN2FlMzc0
N2IwOTU2ZDc5MGVjMjJkNTdlMWI5NmViNTdkZDQ3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAg
LTIyOSw2ICsyMjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TmVlZHNPbmVTaG90RHJhd2lu
Z1N5bmNocm9uaXphdGlvbigpIGZpbmFsOwogICAgIGJvb2wgc2hvdWxkVHJpZ2dlclJlbmRlcmlu
Z1VwZGF0ZSh1bnNpZ25lZCByZXNjaGVkdWxlZFJlbmRlcmluZ1VwZGF0ZUNvdW50KSBjb25zdCBm
aW5hbDsKICAgICB2b2lkIHRyaWdnZXJSZW5kZXJpbmdVcGRhdGUoKSBmaW5hbDsKKyAgICB1bnNp
Z25lZCByZW1vdGVJbWFnZXNDb3VudCgpIGNvbnN0IGZpbmFsOyAKIAogICAgIHZvaWQgY29udGVu
dFJ1bGVMaXN0Tm90aWZpY2F0aW9uKGNvbnN0IFVSTCYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRS
dWxlTGlzdFJlc3VsdHMmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCA3ZTAwNjg4NjE1ZWVmY2RkYTA0ZWI5ZTQyZGU2YTUyMTkz
NzBiNmQzLi5jZGQ2Y2QzYTA4NGViYjlhN2FjNjVmZDRlYjAzOTM1NThlN2VkY2RkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNDIyMyw2ICs0
MjIzLDE3IEBAIHZvaWQgV2ViUGFnZTo6cmVsZWFzZU1lbW9yeShDcml0aWNhbCkKICNlbmRpZgog
fQogCit1bnNpZ25lZCBXZWJQYWdlOjpyZW1vdGVJbWFnZXNDb3VudCgpIGNvbnN0Cit7CisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIGlmICghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eS0+cmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5KCkuaW1hZ2VzQ291bnQoKTsKKyNlbHNl
CisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogV2ViSW5zcGVjdG9yKiBXZWJQYWdlOjppbnNw
ZWN0b3IoTGF6eUNyZWF0aW9uUG9saWN5IGJlaGF2aW9yKQogewogICAgIGlmIChtX2lzQ2xvc2Vk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGNjMjc5
MjZkNDViNDFhODg3YzY4NDU4MmY1NDhiZDJkYTlmZTFkYTcuLjU0NTEyNjdmMzE2ZTEzNGMxMDVh
ZDExOWE2ZDEwOWViMzk4NTUzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTQwNyw2ICs0MDcsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbGVh
c2VNZW1vcnkoV1RGOjpDcml0aWNhbCk7CiAKKyAgICB1bnNpZ25lZCByZW1vdGVJbWFnZXNDb3Vu
dCgpIGNvbnN0OworCiAgICAgZW51bSBjbGFzcyBMYXp5Q3JlYXRpb25Qb2xpY3kgeyBVc2VFeGlz
dGluZ09ubHksIENyZWF0ZUlmTmVlZGVkIH07CiAKICAgICBXZWJJbnNwZWN0b3IqIGluc3BlY3Rv
cihMYXp5Q3JlYXRpb25Qb2xpY3kgPSBMYXp5Q3JlYXRpb25Qb2xpY3k6OkNyZWF0ZUlmTmVlZGVk
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBiNDYxM2FjOTAxM2Y5MDMwZmQ0NWI0NmQxZDZlNzY2NjYzOGFlNjhlLi44MjRi
NDg4OTkxNTUzNTA2ZDJmZDZlYzU3YmM3OGQ3ZTA1NmRkMjk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDktMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gZGV0ZWN0IG1lbW9yeSBsZWFrcyB3aGVuIGRhcndp
bmcgaW1hZ2VzIHRvIGEgZGV0YWNoZWQgY2FudmFzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk3OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcmF3IGZyYW1lcyBvbiBhbiBhbmltYXRlZCBpbWFnZSB0
byBhIGRldGFjaGVkIGNhbnZhcy4gVmVyaWZ5IGF0IHRoZSBlbmQKKyAgICAgICAgYW5kIGFmdGVy
IHJlbGVhc2luZyBhbGwgdGhlIGltYWdlIGRlY29kZWQgZnJhbWVzIHRoYXQgdGhlcmUgYXJlIG5v
IHJlbW90ZQorICAgICAgICBjYWNoZWQgaW1hZ2VzLgorCisgICAgICAgICogZmFzdC9jYW52YXMv
Y2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1sZWFrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvY2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1sZWFrLmh0bWw6IEFk
ZGVkLgorCiAyMDIxLTA5LTAxICBBeXVtaSBLb2ppbWEgIDxheXVtaV9rb2ppbWFAYXBwbGUuY29t
PgogCiAgICAgICAgIFsgbWFjT1MgJiBXaW4gXSBmYXN0L3JlcGFpbnQvbGlzdC1pdGVtLWVxdWFs
LXN0eWxlLWNoYW5nZS1uby1yZXBhaW50Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1s
ZWFrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1h
Z2UtZGV0YWNoZWQtbGVhay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUxMWU3NTU3MTk5NjI3
NDgwMWYwODFhNzg1ODNiODQ3YWZlZmE0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMCBAQAorVGVzdCBkcmF3SW1hZ2UoKSB0byBhIGRldGFjaGVkIGNhbnZhcyB3
b24ndCBsZWFrIHRoZSBkcmF3biBpbWFnZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGludGVybmFscy5yZW1vdGVJbWFnZXNDb3VudCgpIGlzIDAKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRldGFjaGVkLWxlYWsuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjhmNTViNzg5YzY5OWM2Yzg2NjAwZWY1MDQwZTI2N2U1ZWE0NDBkOWUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZHJhd0lt
YWdlLWRldGFjaGVkLWxlYWsuaHRtbApAQCAtMCwwICsxLDY3IEBACis8aGVhZD4KKyAgICA8c3R5
bGU+CisgICAgICAgIGNhbnZhcyB7CisgICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAg
ICAgICBoZWlnaHQ6IDQwMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxjYW52YXMgaWQ9InNyY0NhbnZhcyI+PC9jYW52YXM+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgbGV0IHNyY0NhbnZhcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcmNDYW52YXMiKTsKKyAgICAgICAgICAgIGxldCBkZXN0
Q2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisKKyAgICAgICAgICAg
IGRlc2NyaXB0aW9uKCJUZXN0IGRyYXdJbWFnZSgpIHRvIGEgZGV0YWNoZWQgY2FudmFzIHdvbid0
IGxlYWsgdGhlIGRyYXduIGltYWdlcy4iKTsKKyAgICAgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0
cnVlOworCisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgICAg
ICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7CisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZhc0RyYXdpbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdCBkcmF3RnJhbWUgPSAoaW1h
Z2UpID0+IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKyAgICAgICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBkZXN0Q3R4ID0gZGVzdENhbnZhcy5nZXRDb250ZXh0
KCIyZCIpOworICAgICAgICAgICAgICAgICAgICAgICAgZGVzdEN0eC5kcmF3SW1hZ2UoaW1hZ2Us
IDAsIDAsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsIDAsIGRlc3RDYW52YXMud2lkdGgs
IGRlc3RDYW52YXMuaGVpZ2h0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
KCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0sIDMwKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN0IGRyYXdJbWFn
ZSA9IChpbWFnZSwgZnJhbWVDb3VudCkgPT4geworICAgICAgICAgICAgICAgIGxldCBwcm9taXNl
ID0gZHJhd0ZyYW1lKGltYWdlKTsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBmcmFtZSA9IDE7
IGZyYW1lIDwgZnJhbWVDb3VudDsgKytmcmFtZSkgeworICAgICAgICAgICAgICAgICAgICBwcm9t
aXNlID0gcHJvbWlzZS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBkcmF3RnJhbWUoaW1hZ2UpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGNvbnN0IGxvYWRJbWFnZSA9IChzcmMsIGZyYW1lQ291bnQpID0+IHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgbGV0IGltYWdlID0gbmV3IEltYWdlOworICAgICAgICAgICAgICAgICAgICBp
bWFnZS5vbmxvYWQgPSAoKCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgZHJhd0ltYWdl
KGltYWdlLCBmcmFtZUNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgICAgICAgICAgaW1hZ2Uuc3JjID0gc3JjOworICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsb2FkSW1hZ2UoIi4uL2ltYWdlcy9y
ZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LTEuZ2lmIiwgMykudGhlbigo
KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLmRlc3Ryb3lEZWNvZGVkRGF0YUZvckFsbEltYWdlcygpOwor
ICAgICAgICAgICAgICAgICAgICBzaG91bGRCZVplcm8oImludGVybmFscy5yZW1vdGVJbWFnZXND
b3VudCgpIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pKCk7CisgICAgPC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437112</attachid>
            <date>2021-09-01 21:37:42 -0700</date>
            <delta_ts>2021-09-02 13:05:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229790-20210901213741.patch</filename>
            <type>text/plain</type>
            <size>13760</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmI3YTJkZDIxMzMwMTI5
NmMyOWRlOWY4M2FhOWI1NDUwYmVjOWQ4ZS4uMmYxNzYxMGI1MTA4Nzc2MTdmZGEwMThjODZlMTg5
MjU4ZmM1MWE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA5LTAxICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGxheW91dCB0
ZXN0IHRvIGRldGVjdCBtZW1vcnkgbGVha3Mgd2hlbiBkYXJ3aW5nIGltYWdlcyB0byBhIGRldGFj
aGVkIGNhbnZhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI5NzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGFuIGludGVybmFsIEFQSSB0byByZXR1cm4gdGhlIG51bWJlciBvZiByZW1vdGUgaW1h
Z2VzIHdoaWNoIGFyZSBjYWNoZWQKKyAgICAgICAgYnkgV2ViUHJvY2VzcyBhbmQgR1BVUHJvY2Vz
cy4gSXQgY2FuIGJlIHVzZWQgYWZ0ZXIgcmVuZGVyaW5nIHVwZGF0ZSBpcworICAgICAgICBmaW5p
c2hlZCB0byB2ZXJpZnkgdGhhdCB0aGVyZSBhcmUgbm8gaW1hZ2VzIGNhY2hlZCBiZWNhdXNlIHRo
ZXkgYXJlCisgICAgICAgIHJlZmVyZW5jZWQgaW4gYSBEaXNwYWx5TGlzdCBvZiBhIGRldGFjaGVk
IGNhbnZhcy4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRl
dGFjaGVkLWxlYWsuaHRtbAorCisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVtb3RlSW1hZ2VzQ291bnQgY29uc3QpOgorICAg
ICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpyZW1vdGVJbWFn
ZXNDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpyZW1vdGVJbWFn
ZXNDb3VudCBjb25zdCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjEtMDktMDEgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViUlRDXSBMZWFrIG9yIG92ZXItcmVsZWFz
ZSBvZiBDRlBpeGVsQnVmZmVyUmVmIHJldHVybmVkIGZyb20gd2VicnRjOjpjcmVhdGVQaXhlbEJ1
ZmZlckZyb21GcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmNTNiN2NmNTJmMTk2YTQ2MTMxMWZmNzc3MzFj
ZDExODczOWYwN2UuLjk5ZGE1ODM0NGM0MmM5MzQ4NGRjMmY1YWY4ZDA0ZjE3NjFkNzJlM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDktMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8
c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gZGV0ZWN0IG1l
bW9yeSBsZWFrcyB3aGVuIGRhcndpbmcgaW1hZ2VzIHRvIGEgZGV0YWNoZWQgY2FudmFzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk3OTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
R1BVL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGVQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVSZXNvdXJjZUNhY2hlUHJveHk6OmltYWdlc0NvdW50IGNvbnN0KToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6cmVtb3RlSW1hZ2VzQ291bnQgY29uc3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpyZW1vdGVJbWFnZXNDb3VudCBjb25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0wOS0wMSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJSVENdIExlYWsgb3Igb3Zlci1yZWxlYXNlIG9mIENG
UGl4ZWxCdWZmZXJSZWYgcmV0dXJuZWQgZnJvbSB3ZWJydGM6OmNyZWF0ZVBpeGVsQnVmZmVyRnJv
bUZyYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDkzZDZjM2EwODY1OWE1
YzNlZmE2MDA4YzgyY2YyZTNhYTM4ZDBhZmYuLjA4NTNlMWMyNWExZjI0YmQ1NGQzZGY3NzFhYjJk
MjFhZGQyOWVhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzY4LDYgKzM2
OCw4IEBAIHB1YmxpYzoKICAgICAvLyBTY2hlZHVsZSBhIHJlbmRlcmluZyB1cGRhdGUgdGhhdCBj
b29yZGluYXRlcyB3aXRoIGRpc3BsYXkgcmVmcmVzaC4gUmV0dXJucyB0cnVlIGlmIHNjaGVkdWxl
ZC4gKFRoaXMgaXMgb25seSB1c2VkIGJ5IFNWR0ltYWdlQ2hyb21lQ2xpZW50LikKICAgICB2aXJ0
dWFsIGJvb2wgc2NoZWR1bGVSZW5kZXJpbmdVcGRhdGUoKSB7IHJldHVybiBmYWxzZTsgfQogCisg
ICAgdmlydHVhbCB1bnNpZ25lZCByZW1vdGVJbWFnZXNDb3VudCgpIGNvbnN0IHsgcmV0dXJuIDA7
IH0KKwogICAgIC8vIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIGNsaWVudCBjYW4gcmVuZGVy
IHRoZSBjb21wb3NpdGVkIGxheWVyLAogICAgIC8vIHJlZ2FyZGxlc3Mgb2YgdGhlIHNldHRpbmdz
LgogICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggYzE5NWM3YmU5NjFjZDM4Mjkw
MTY3MmIzZjhlMDM2MWUwNDJmYzI3Yy4uYjZkNjU1NjhjMWM5ODFjNzNlMDM0ZmQ4NzhmMGJkYzhi
NzRkZDZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0xNzYzLDYgKzE3NjMsMTEgQEAgdm9pZCBQ
YWdlOjpyZW5kZXJpbmdVcGRhdGVDb21wbGV0ZWQoKQogICAgIH0KIH0KIAordW5zaWduZWQgUGFn
ZTo6cmVtb3RlSW1hZ2VzQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiBjaHJvbWUoKS5jbGll
bnQoKS5yZW1vdGVJbWFnZXNDb3VudCgpOworfQorCiB2b2lkIFBhZ2U6OnByaW9yaXRpemVWaXNp
YmxlUmVzb3VyY2VzKCkKIHsKICAgICBpZiAobG9hZFNjaGVkdWxpbmdNb2RlKCkgPT0gTG9hZFNj
aGVkdWxpbmdNb2RlOjpEaXJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGEwNWM1MTZjYjdkNjBkODc5
ZmFmNTgzNGNlZTEzZGRlMjNmMTY1N2QuLjg4OGFkYzNjYjQ0YmI1MWNlOTE2Zjk4M2RmYWVhMDQy
M2YzOGFiMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC01ODEsNiArNTgxLDcgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydFRyYWNraW5nUmVuZGVyaW5nVXBkYXRlcygpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIHJlbmRlcmluZ1VwZGF0ZUNvdW50KCkgY29uc3Q7
CisgICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgcmVtb3RlSW1hZ2VzQ291bnQoKSBjb25zdDsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucygpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNDFlNDUzODdjMGU2ZWFlNzQ1NTgyZWZj
Y2Q1ODRjZGQwN2MxMjk2YS4uNGE1YThlMmY1ZTkyZWYwYzM1NzZjMzIwMmFmMDZhYWFiYWRjOTc4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTAwNyw2ICsxMDA3LDE1
IEBAIHVuc2lnbmVkIEludGVybmFsczo6cGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRNTEltYWdl
RWxlbWVudCYgZWxlbWVudCkKICNlbmRpZgogfQogCit1bnNpZ25lZCBJbnRlcm5hbHM6OnJlbW90
ZUltYWdlc0NvdW50KCkgY29uc3QKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0
RG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+cGFnZSgpKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBkb2N1bWVudC0+cGFnZSgpLT5yZW1vdGVJbWFn
ZXNDb3VudCgpOworfQorCiB2b2lkIEludGVybmFsczo6c2V0TGFyZ2VJbWFnZUFzeW5jRGVjb2Rp
bmdFbmFibGVkRm9yVGVzdGluZyhIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50LCBib29sIGVuYWJs
ZWQpCiB7CiAgICAgaWYgKGF1dG8qIGJpdG1hcEltYWdlID0gYml0bWFwSW1hZ2VGcm9tSW1hZ2VF
bGVtZW50KGVsZW1lbnQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjg1NTYw
YmVkMTExZDdjYjVkNTdjZTE0NWMyODllMTc3NmUxOGNhZi4uMTNkY2EzYWZmNWZjYWFmZDBmNzhm
YTdlYzM2ZmM4MzE4MDQ2Y2IxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0x
OTksNiArMTk5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3lu
Y0ZyYW1lUmVxdWVzdEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCYsIGJvb2wgZW5hYmxlZCk7
CiAgICAgdW5zaWduZWQgaW1hZ2VEZWNvZGVDb3VudChIVE1MSW1hZ2VFbGVtZW50Jik7CiAgICAg
dW5zaWduZWQgcGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRNTEltYWdlRWxlbWVudCYpOworICAg
IHVuc2lnbmVkIHJlbW90ZUltYWdlc0NvdW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRMYXJnZUlt
YWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQmLCBib29s
IGVuYWJsZWQpOwogICAgIHZvaWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVkRm9yVGVz
dGluZyhIVE1MSW1hZ2VFbGVtZW50JiwgYm9vbCBlbmFibGVkKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsCmluZGV4IDQzODU0MTFlOGRmZTdjNWUwYzg3OTExNDYyYjBhMzk1ZGE0
ZDY3MWYuLjAxNjljNzU5MGExNzRmYWYyOWY2ZjM3ZjdmYTc3ZTljM2FlZDM1ODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTQ5Nyw2ICs0OTcsNyBAQCBlbnVtIEF1dG9w
bGF5UG9saWN5IHsKICAgICB1bmRlZmluZWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1l
UmVxdWVzdEZvclRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJs
ZWQpOwogICAgIHVuc2lnbmVkIGxvbmcgaW1hZ2VEZWNvZGVDb3VudChIVE1MSW1hZ2VFbGVtZW50
IGVsZW1lbnQpOwogICAgIHVuc2lnbmVkIGxvbmcgcGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRN
TEltYWdlRWxlbWVudCBlbGVtZW50KTsKKyAgICB1bnNpZ25lZCBsb25nIHJlbW90ZUltYWdlc0Nv
dW50KCk7CiAgICAgdW5kZWZpbmVkIHNldExhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZEZv
clRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogICAg
IHVuZGVmaW5lZCBzZXRGb3JjZVVwZGF0ZUltYWdlRGF0YUVuYWJsZWRGb3JUZXN0aW5nKEhUTUxJ
bWFnZUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3Vy
Y2VDYWNoZVByb3h5LmgKaW5kZXggZDY1MzY2ZDIwOTI2YzA2NGEwNzI3YzhlN2MwYmE5NGYyYzE4
NTMyMy4uYjllNzcyZmJjYzI3OGUzMjA0NmM3MmRlZjg4N2E5MzU1YjVkZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNh
Y2hlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1Jl
bW90ZVJlc291cmNlQ2FjaGVQcm94eS5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlbW90ZVJlc291cmNlQ2FjaGVXYXNEZXN0cm95ZWQoKTsKICAgICB2b2lkIHJlbGVhc2VB
bGxSZW1vdGVGb250cygpOwogICAgIHZvaWQgcmVsZWFzZU1lbW9yeSgpOworICAgIAorICAgIHVu
c2lnbmVkIGltYWdlc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9uYXRpdmVJbWFnZXMuc2l6ZSgp
OyB9CiAKIHByaXZhdGU6CiAgICAgc3RydWN0IEltYWdlQnVmZmVyU3RhdGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAppbmRleCA2MTgwZDg1NjUwYWNlMTIyNTQ3ZmJjYzVmOTk4MmU4ZWVmNjBhOWIz
Li4yZTdmZDZmYWVmNjRkMjlkYWFmZWU4NzAxZGM5ODUwYzcxOWU2NjdmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcApAQCAtOTg4LDYgKzk4OCwxMSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6dHJp
Z2dlclJlbmRlcmluZ1VwZGF0ZSgpCiAgICAgICAgIG1fcGFnZS5kcmF3aW5nQXJlYSgpLT50cmln
Z2VyUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKK3Vuc2lnbmVkIFdlYkNocm9tZUNsaWVudDo6cmVt
b3RlSW1hZ2VzQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiBtX3BhZ2UucmVtb3RlSW1hZ2Vz
Q291bnQoKTsKK30KKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNvbnRlbnRSdWxlTGlzdE5vdGlm
aWNhdGlvbihjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVudFJ1bGVMaXN0UmVzdWx0cyYgcmVz
dWx0cykKIHsKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IDg4MDFlZDI5N2QwMmMyYTM3NDAzMjJkZDQxMWYzYTllMjczOWZjYTcuLmEwN2FlMzc0
N2IwOTU2ZDc5MGVjMjJkNTdlMWI5NmViNTdkZDQ3NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAg
LTIyOSw2ICsyMjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TmVlZHNPbmVTaG90RHJhd2lu
Z1N5bmNocm9uaXphdGlvbigpIGZpbmFsOwogICAgIGJvb2wgc2hvdWxkVHJpZ2dlclJlbmRlcmlu
Z1VwZGF0ZSh1bnNpZ25lZCByZXNjaGVkdWxlZFJlbmRlcmluZ1VwZGF0ZUNvdW50KSBjb25zdCBm
aW5hbDsKICAgICB2b2lkIHRyaWdnZXJSZW5kZXJpbmdVcGRhdGUoKSBmaW5hbDsKKyAgICB1bnNp
Z25lZCByZW1vdGVJbWFnZXNDb3VudCgpIGNvbnN0IGZpbmFsOyAKIAogICAgIHZvaWQgY29udGVu
dFJ1bGVMaXN0Tm90aWZpY2F0aW9uKGNvbnN0IFVSTCYsIGNvbnN0IFdlYkNvcmU6OkNvbnRlbnRS
dWxlTGlzdFJlc3VsdHMmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAppbmRleCA3ZTAwNjg4NjE1ZWVmY2RkYTA0ZWI5ZTQyZGU2YTUyMTkz
NzBiNmQzLi5jZGQ2Y2QzYTA4NGViYjlhN2FjNjVmZDRlYjAzOTM1NThlN2VkY2RkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNDIyMyw2ICs0
MjIzLDE3IEBAIHZvaWQgV2ViUGFnZTo6cmVsZWFzZU1lbW9yeShDcml0aWNhbCkKICNlbmRpZgog
fQogCit1bnNpZ25lZCBXZWJQYWdlOjpyZW1vdGVJbWFnZXNDb3VudCgpIGNvbnN0Cit7CisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIGlmICghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJv
eHkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eS0+cmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5KCkuaW1hZ2VzQ291bnQoKTsKKyNlbHNl
CisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwogV2ViSW5zcGVjdG9yKiBXZWJQYWdlOjppbnNw
ZWN0b3IoTGF6eUNyZWF0aW9uUG9saWN5IGJlaGF2aW9yKQogewogICAgIGlmIChtX2lzQ2xvc2Vk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGNjMjc5
MjZkNDViNDFhODg3YzY4NDU4MmY1NDhiZDJkYTlmZTFkYTcuLjU0NTEyNjdmMzE2ZTEzNGMxMDVh
ZDExOWE2ZDEwOWViMzk4NTUzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTQwNyw2ICs0MDcsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbGVh
c2VNZW1vcnkoV1RGOjpDcml0aWNhbCk7CiAKKyAgICB1bnNpZ25lZCByZW1vdGVJbWFnZXNDb3Vu
dCgpIGNvbnN0OworCiAgICAgZW51bSBjbGFzcyBMYXp5Q3JlYXRpb25Qb2xpY3kgeyBVc2VFeGlz
dGluZ09ubHksIENyZWF0ZUlmTmVlZGVkIH07CiAKICAgICBXZWJJbnNwZWN0b3IqIGluc3BlY3Rv
cihMYXp5Q3JlYXRpb25Qb2xpY3kgPSBMYXp5Q3JlYXRpb25Qb2xpY3k6OkNyZWF0ZUlmTmVlZGVk
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBiNDYxM2FjOTAxM2Y5MDMwZmQ0NWI0NmQxZDZlNzY2NjYzOGFlNjhlLi44MjRi
NDg4OTkxNTUzNTA2ZDJmZDZlYzU3YmM3OGQ3ZTA1NmRkMjk4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjEtMDktMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGEgbGF5b3V0IHRlc3QgdG8gZGV0ZWN0IG1lbW9yeSBsZWFrcyB3aGVuIGRhcndp
bmcgaW1hZ2VzIHRvIGEgZGV0YWNoZWQgY2FudmFzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk3OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBEcmF3IGZyYW1lcyBvbiBhbiBhbmltYXRlZCBpbWFnZSB0
byBhIGRldGFjaGVkIGNhbnZhcy4gVmVyaWZ5IGF0IHRoZSBlbmQKKyAgICAgICAgYW5kIGFmdGVy
IHJlbGVhc2luZyBhbGwgdGhlIGltYWdlIGRlY29kZWQgZnJhbWVzIHRoYXQgdGhlcmUgYXJlIG5v
IHJlbW90ZQorICAgICAgICBjYWNoZWQgaW1hZ2VzLgorCisgICAgICAgICogZmFzdC9jYW52YXMv
Y2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1sZWFrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvY2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1sZWFrLmh0bWw6IEFk
ZGVkLgorCiAyMDIxLTA5LTAxICBBeXVtaSBLb2ppbWEgIDxheXVtaV9rb2ppbWFAYXBwbGUuY29t
PgogCiAgICAgICAgIFsgbWFjT1MgJiBXaW4gXSBmYXN0L3JlcGFpbnQvbGlzdC1pdGVtLWVxdWFs
LXN0eWxlLWNoYW5nZS1uby1yZXBhaW50Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1s
ZWFrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1h
Z2UtZGV0YWNoZWQtbGVhay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUxMWU3NTU3MTk5NjI3
NDgwMWYwODFhNzg1ODNiODQ3YWZlZmE0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMCBAQAorVGVzdCBkcmF3SW1hZ2UoKSB0byBhIGRldGFjaGVkIGNhbnZhcyB3
b24ndCBsZWFrIHRoZSBkcmF3biBpbWFnZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGludGVybmFscy5yZW1vdGVJbWFnZXNDb3VudCgpIGlzIDAKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRldGFjaGVkLWxlYWsuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdhNGVlNGMxZWUzNWM2OGU4OTk5YTcxYWQ3YjAwZTgzNjM3NDJjYTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZHJhd0lt
YWdlLWRldGFjaGVkLWxlYWsuaHRtbApAQCAtMCwwICsxLDU3IEBACis8aGVhZD4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKworICAgICAgICBkZXNjcmlwdGlvbigiVGVzdCBkcmF3
SW1hZ2UoKSB0byBhIGRldGFjaGVkIGNhbnZhcyB3b24ndCBsZWFrIHRoZSBkcmF3biBpbWFnZXMu
Iik7CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgICAgICAgICBpbnRlcm5hbHMuY2xlYXJNZW1vcnlDYWNoZSgpOwor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFuaW1hdGVkSW1hZ2VEZWJ1Z0NhbnZh
c0RyYXdpbmdFbmFibGVkKHRydWUpOworICAgICAgICB9CisKKyAgICAgICAgY29uc3QgZHJhd0Zy
YW1lID0gKGltYWdlKSA9PiB7CisgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29s
dmUpID0+IHsKKyAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewor
ICAgICAgICAgICAgICAgICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7Cisg
ICAgICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDApOworICAgICAgICAg
ICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgfSwgMzApOworICAgICAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBjb25zdCBkcmF3SW1hZ2Ug
PSAoaW1hZ2UsIGZyYW1lQ291bnQpID0+IHsKKyAgICAgICAgICAgIGxldCBwcm9taXNlID0gZHJh
d0ZyYW1lKGltYWdlKTsKKyAgICAgICAgICAgIGZvciAobGV0IGZyYW1lID0gMTsgZnJhbWUgPCBm
cmFtZUNvdW50OyArK2ZyYW1lKSB7CisgICAgICAgICAgICAgICAgcHJvbWlzZSA9IHByb21pc2Uu
dGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBkcmF3RnJhbWUoaW1hZ2Up
OworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJu
IHByb21pc2U7CisgICAgICAgIH0KKworICAgICAgICBjb25zdCBsb2FkQW5kRHJhd0ltYWdlID0g
KHNyYywgZnJhbWVDb3VudCkgPT4geworICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChy
ZXNvbHZlKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IGltYWdlID0gbmV3IEltYWdlOworICAg
ICAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgoKSA9PiB7CisgICAgICAgICAgICAgICAgICAg
IGRyYXdJbWFnZShpbWFnZSwgZnJhbWVDb3VudCkudGhlbihyZXNvbHZlKTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICBpbWFnZS5zcmMgPSBzcmM7CisgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorCisgICAgICAgIGxvYWRBbmREcmF3SW1hZ2UoIi4uL2ltYWdlcy9yZXNv
dXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUtcmVwZWF0LTEuZ2lmIiwgMykudGhlbigoKSA9
PiB7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAg
IGludGVybmFscy5kZXN0cm95RGVjb2RlZERhdGFGb3JBbGxJbWFnZXMoKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZVplcm8oImludGVybmFscy5yZW1vdGVJbWFnZXNDb3VudCgpIik7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7CisgICAg
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>
<flag name="review"
          id="460238"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437209</attachid>
            <date>2021-09-02 16:05:27 -0700</date>
            <delta_ts>2021-09-03 01:25:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229790-20210902160526.patch</filename>
            <type>text/plain</type>
            <size>12722</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxOTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM4NjljMGU5ZDM1ZTFj
NWZlZmE3MmFjMzY3OTFhODBhYjkyMzk0Ny4uYzJhYzM3NzgxZDA5ODA0ODc0MmNmNGQ2NWUzZWQz
ZTM1N2FlYzFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA5LTAyICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGxheW91dCB0
ZXN0IHRvIGRldGVjdCBtZW1vcnkgbGVha3Mgd2hlbiBkcmF3aW5nIGltYWdlcyB0byBhIGRldGFj
aGVkIGNhbnZhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI5NzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
QWRkIGFuIGludGVybmFsIEFQSSB0byByZXR1cm4gdGhlIG51bWJlciBvZiByZW1vdGUgaW1hZ2Vz
IHdoaWNoIGFyZSBjYWNoZWQKKyAgICAgICAgYnkgV2ViUHJvY2VzcyBhbmQgR1BVUHJvY2Vzcy4g
SXQgY2FuIGJlIHVzZWQgYWZ0ZXIgcmVuZGVyaW5nIHVwZGF0ZSBpcworICAgICAgICBmaW5pc2hl
ZCB0byB2ZXJpZnkgdGhhdCB0aGVyZSBhcmUgbm8gaW1hZ2VzIGNhY2hlZCBiZWNhdXNlIHRoZXkg
YXJlCisgICAgICAgIHJlZmVyZW5jZWQgaW4gYSBEaXNwYWx5TGlzdCBvZiBhIGRldGFjaGVkIGNh
bnZhcy4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRldGFj
aGVkLWxlYWsuaHRtbAorCisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cmVtb3RlSW1hZ2VzQ291bnRGb3JUZXN0aW5nIGNvbnN0
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbHM6OnJlbW90ZUltYWdlc0NvdW50Rm9yVGVzdGluZyBjb25zdCk6CisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisK
IDIwMjEtMDktMDIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGb250RmFjZVNldC5hZGQoKSBuZWVkcyB0byB0aHJvdyB3aGVuIGNhbGxlZCBvbiBh
IENTUy1jb25uZWN0ZWQgZm9udApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxNTAyZmZkYWM0YmFiM2I4MWQxODRiMmJj
NDhhNTk1YjMzYmViZTVmLi4zYjZkODhmMDQ1NTBhYTNlNTc1MWE4OTM5YWE5ZDE4NTgxMzA4OWNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA5LTAyICBTYWlkIEFib3UtSGFsbGF3
YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRvIGRldGVj
dCBtZW1vcnkgbGVha3Mgd2hlbiBkcmF3aW5nIGltYWdlcyB0byBhIGRldGFjaGVkIGNhbnZhcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NzkwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlUmVzb3VyY2VDYWNoZVByb3h5OjppbWFnZXNDb3VudCBjb25zdCk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnJlbW90ZUltYWdlc0NvdW50Rm9yVGVzdGluZyBj
b25zdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OnJlbW90ZUltYWdlc0NvdW50Rm9yVGVzdGluZyBjb25zdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0wOS0wMiAgUGVu
ZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFtNU0VdW0dQVVBdIFNvdXJj
ZUJ1ZmZlclByaXZhdGVBVkZPYmpDIGRvZXMgbm90IHdvcmsgcHJvcGVybHkgd2hlbiBhdWRpbyBh
bmQgdmlkZW8gZXhjaGFuZ2UgdGhlaXIgdHJhY2sgSURzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAppbmRleCA5M2Q2YzNhMDg2NTlhNWMzZWZhNjAwOGM4MmNmMmUzYWEzOGQwYWZmLi43OTE2
YmUwOWI3YmYzOTYyOWYwMDFhNTY0YzFmYzQ2OTk0ODc2NDE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKQEAgLTM2OCw2ICszNjgsOCBAQCBwdWJsaWM6CiAgICAgLy8gU2NoZWR1bGUg
YSByZW5kZXJpbmcgdXBkYXRlIHRoYXQgY29vcmRpbmF0ZXMgd2l0aCBkaXNwbGF5IHJlZnJlc2gu
IFJldHVybnMgdHJ1ZSBpZiBzY2hlZHVsZWQuIChUaGlzIGlzIG9ubHkgdXNlZCBieSBTVkdJbWFn
ZUNocm9tZUNsaWVudC4pCiAgICAgdmlydHVhbCBib29sIHNjaGVkdWxlUmVuZGVyaW5nVXBkYXRl
KCkgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIHZpcnR1YWwgdW5zaWduZWQgcmVtb3RlSW1hZ2Vz
Q291bnRGb3JUZXN0aW5nKCkgY29uc3QgeyByZXR1cm4gMDsgfQorCiAgICAgLy8gUmV0dXJucyB3
aGV0aGVyIG9yIG5vdCB0aGUgY2xpZW50IGNhbiByZW5kZXIgdGhlIGNvbXBvc2l0ZWQgbGF5ZXIs
CiAgICAgLy8gcmVnYXJkbGVzcyBvZiB0aGUgc2V0dGluZ3MuCiAgICAgdmlydHVhbCBib29sIGFs
bG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNDFlNDUzODdjMGU2ZWFlNzQ1NTgyZWZj
Y2Q1ODRjZGQwN2MxMjk2YS4uZWMyYjkyYThmNWZmNjE5OWJhMWIzZTg4OTQ5Y2E2YzQzMzc4ZGZj
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTAwNyw2ICsxMDA3LDE1
IEBAIHVuc2lnbmVkIEludGVybmFsczo6cGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRNTEltYWdl
RWxlbWVudCYgZWxlbWVudCkKICNlbmRpZgogfQogCit1bnNpZ25lZCBJbnRlcm5hbHM6OnJlbW90
ZUltYWdlc0NvdW50Rm9yVGVzdGluZygpIGNvbnN0Cit7CisgICAgRG9jdW1lbnQqIGRvY3VtZW50
ID0gY29udGV4dERvY3VtZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnBh
Z2UoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gZG9jdW1lbnQtPnBhZ2UoKS0+
Y2hyb21lKCkuY2xpZW50KCkucmVtb3RlSW1hZ2VzQ291bnRGb3JUZXN0aW5nKCk7Cit9CisKIHZv
aWQgSW50ZXJuYWxzOjpzZXRMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5n
KEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQsIGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAoYXV0
byogYml0bWFwSW1hZ2UgPSBiaXRtYXBJbWFnZUZyb21JbWFnZUVsZW1lbnQoZWxlbWVudCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAyODU1NjBiZWQxMTFkN2NiNWQ1N2NlMTQ1
YzI4OWUxNzc2ZTE4Y2FmLi4xMmY1ZDU2MzVlNTllZTJkY2Y5NTZlY2E0NDY4NDM2Y2RiMzdlZGFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE5OSw2ICsxOTksNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDbGVhckRlY29kZXJBZnRlckFzeW5jRnJhbWVSZXF1ZXN0Rm9yVGVz
dGluZyhIVE1MSW1hZ2VFbGVtZW50JiwgYm9vbCBlbmFibGVkKTsKICAgICB1bnNpZ25lZCBpbWFn
ZURlY29kZUNvdW50KEhUTUxJbWFnZUVsZW1lbnQmKTsKICAgICB1bnNpZ25lZCBwZGZEb2N1bWVu
dENhY2hpbmdDb3VudChIVE1MSW1hZ2VFbGVtZW50Jik7CisgICAgdW5zaWduZWQgcmVtb3RlSW1h
Z2VzQ291bnRGb3JUZXN0aW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRMYXJnZUltYWdlQXN5bmNE
ZWNvZGluZ0VuYWJsZWRGb3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQmLCBib29sIGVuYWJsZWQp
OwogICAgIHZvaWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVkRm9yVGVzdGluZyhIVE1M
SW1hZ2VFbGVtZW50JiwgYm9vbCBlbmFibGVkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCmluZGV4IDQzODU0MTFlOGRmZTdjNWUwYzg3OTExNDYyYjBhMzk1ZGE0ZDY3MWYuLjgz
MTQ1MThhMGM5NGE1M2I3NjExM2E5ZjI5OGQ1YWQwYmM5ZjNmNjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKQEAgLTQ5Nyw2ICs0OTcsNyBAQCBlbnVtIEF1dG9wbGF5UG9saWN5
IHsKICAgICB1bmRlZmluZWQgc2V0Q2xlYXJEZWNvZGVyQWZ0ZXJBc3luY0ZyYW1lUmVxdWVzdEZv
clRlc3RpbmcoSFRNTEltYWdlRWxlbWVudCBlbGVtZW50LCBib29sZWFuIGVuYWJsZWQpOwogICAg
IHVuc2lnbmVkIGxvbmcgaW1hZ2VEZWNvZGVDb3VudChIVE1MSW1hZ2VFbGVtZW50IGVsZW1lbnQp
OwogICAgIHVuc2lnbmVkIGxvbmcgcGRmRG9jdW1lbnRDYWNoaW5nQ291bnQoSFRNTEltYWdlRWxl
bWVudCBlbGVtZW50KTsKKyAgICB1bnNpZ25lZCBsb25nIHJlbW90ZUltYWdlc0NvdW50Rm9yVGVz
dGluZygpOwogICAgIHVuZGVmaW5lZCBzZXRMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWRG
b3JUZXN0aW5nKEhUTUxJbWFnZUVsZW1lbnQgZWxlbWVudCwgYm9vbGVhbiBlbmFibGVkKTsKICAg
ICB1bmRlZmluZWQgc2V0Rm9yY2VVcGRhdGVJbWFnZURhdGFFbmFibGVkRm9yVGVzdGluZyhIVE1M
SW1hZ2VFbGVtZW50IGVsZW1lbnQsIGJvb2xlYW4gZW5hYmxlZCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGVQcm94eS5oCmluZGV4IGQ2NTM2NmQyMDkyNmMwNjRhMDcyN2M4ZTdjMGJhOTRmMmMx
ODUzMjMuLmI5ZTc3MmZiY2MyNzhlMzIwNDZjNzJkZWY4ODdhOTM1NWI1ZGY0OWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VD
YWNoZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9S
ZW1vdGVSZXNvdXJjZUNhY2hlUHJveHkuaApAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZW1vdGVSZXNvdXJjZUNhY2hlV2FzRGVzdHJveWVkKCk7CiAgICAgdm9pZCByZWxlYXNl
QWxsUmVtb3RlRm9udHMoKTsKICAgICB2b2lkIHJlbGVhc2VNZW1vcnkoKTsKKyAgICAKKyAgICB1
bnNpZ25lZCBpbWFnZXNDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fbmF0aXZlSW1hZ2VzLnNpemUo
KTsgfQogCiBwcml2YXRlOgogICAgIHN0cnVjdCBJbWFnZUJ1ZmZlclN0YXRlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKaW5kZXggNjE4MGQ4NTY1MGFjZTEyMjU0N2ZiY2M1Zjk5ODJlOGVlZjYwYTli
My4uN2QzNGVlMTllMDE3Yzk2MDUyZTBlZjdhNjkzYTgyOWNiMzE0ZjVjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKQEAgLTk4OCw2ICs5ODgsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnRy
aWdnZXJSZW5kZXJpbmdVcGRhdGUoKQogICAgICAgICBtX3BhZ2UuZHJhd2luZ0FyZWEoKS0+dHJp
Z2dlclJlbmRlcmluZ1VwZGF0ZSgpOwogfQogCit1bnNpZ25lZCBXZWJDaHJvbWVDbGllbnQ6OnJl
bW90ZUltYWdlc0NvdW50Rm9yVGVzdGluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcGFnZS5y
ZW1vdGVJbWFnZXNDb3VudEZvclRlc3RpbmcoKTsKK30KKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6
OmNvbnRlbnRSdWxlTGlzdE5vdGlmaWNhdGlvbihjb25zdCBVUkwmIHVybCwgY29uc3QgQ29udGVu
dFJ1bGVMaXN0UmVzdWx0cyYgcmVzdWx0cykKIHsKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJ
T05TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDg4MDFlZDI5N2QwMmMyYTM3NDAzMjJkZDQxMWYz
YTllMjczOWZjYTcuLjBiNzZjNTI2ZGJjZjFmYTgxMmQxMWEyMWVlNzBjZWM3MTFlOTYzMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmgKQEAgLTIyOSw2ICsyMjksNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
c2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlvbigpIGZpbmFsOwogICAgIGJvb2wg
c2hvdWxkVHJpZ2dlclJlbmRlcmluZ1VwZGF0ZSh1bnNpZ25lZCByZXNjaGVkdWxlZFJlbmRlcmlu
Z1VwZGF0ZUNvdW50KSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHRyaWdnZXJSZW5kZXJpbmdVcGRh
dGUoKSBmaW5hbDsKKyAgICB1bnNpZ25lZCByZW1vdGVJbWFnZXNDb3VudEZvclRlc3RpbmcoKSBj
b25zdCBmaW5hbDsgCiAKICAgICB2b2lkIGNvbnRlbnRSdWxlTGlzdE5vdGlmaWNhdGlvbihjb25z
dCBVUkwmLCBjb25zdCBXZWJDb3JlOjpDb250ZW50UnVsZUxpc3RSZXN1bHRzJikgZmluYWw7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggN2Uw
MDY4ODYxNWVlZmNkZGEwNGViOWU0MmRlNmE1MjE5MzcwYjZkMy4uNzg5MzdhMDRkYzIyMTA5OTQ0
MzJlYTgwODE4M2JkOThiNTAwZDFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTQyMjMsNiArNDIyMywxNyBAQCB2b2lkIFdlYlBhZ2U6OnJl
bGVhc2VNZW1vcnkoQ3JpdGljYWwpCiAjZW5kaWYKIH0KIAordW5zaWduZWQgV2ViUGFnZTo6cmVt
b3RlSW1hZ2VzQ291bnRGb3JUZXN0aW5nKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCisgICAgaWYgKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LT5yZW1vdGVS
ZXNvdXJjZUNhY2hlUHJveHkoKS5pbWFnZXNDb3VudCgpOworI2Vsc2UKKyAgICByZXR1cm4gMDsK
KyNlbmRpZgorfQorCiBXZWJJbnNwZWN0b3IqIFdlYlBhZ2U6Omluc3BlY3RvcihMYXp5Q3JlYXRp
b25Qb2xpY3kgYmVoYXZpb3IpCiB7CiAgICAgaWYgKG1faXNDbG9zZWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggY2MyNzkyNmQ0NWI0MWE4ODdjNjg0
NTgyZjU0OGJkMmRhOWZlMWRhNy4uYWFlYzg4OWRjZTIwNGY0YzFiNTFlMGMwNzRkYjVlYmZhMTI4
MTk4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
NDA3LDYgKzQwNyw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVsZWFzZU1lbW9yeShXVEY6OkNy
aXRpY2FsKTsKIAorICAgIHVuc2lnbmVkIHJlbW90ZUltYWdlc0NvdW50Rm9yVGVzdGluZygpIGNv
bnN0OworCiAgICAgZW51bSBjbGFzcyBMYXp5Q3JlYXRpb25Qb2xpY3kgeyBVc2VFeGlzdGluZ09u
bHksIENyZWF0ZUlmTmVlZGVkIH07CiAKICAgICBXZWJJbnNwZWN0b3IqIGluc3BlY3RvcihMYXp5
Q3JlYXRpb25Qb2xpY3kgPSBMYXp5Q3JlYXRpb25Qb2xpY3k6OkNyZWF0ZUlmTmVlZGVkKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA3MGZlOTE2Nzg1MTkxZDZlYjIyNzdjNjZmNzMxYjczNzk1YzY2ZmRmLi5hMzI5N2FmM2Fi
NWQ0YmVjYzAyYjI1ZTdmYWM5Y2JhNjFhMDhhZWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjEtMDktMDIgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIGEgbGF5b3V0IHRlc3QgdG8gZGV0ZWN0IG1lbW9yeSBsZWFrcyB3aGVuIGRyYXdpbmcgaW1h
Z2VzIHRvIGEgZGV0YWNoZWQgY2FudmFzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjk3OTAKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBEcmF3IGZyYW1lcyBvbiBhbiBhbmltYXRlZCBpbWFnZSB0byBhIGRldGFj
aGVkIGNhbnZhcy4gVmVyaWZ5IGF0IHRoZSBlbmQKKyAgICAgICAgYW5kIGFmdGVyIHJlbGVhc2lu
ZyBhbGwgdGhlIGltYWdlIGRlY29kZWQgZnJhbWVzIHRoYXQgdGhlcmUgYXJlIG5vIHJlbW90ZQor
ICAgICAgICBjYWNoZWQgaW1hZ2VzLgorCisgICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLWRy
YXdJbWFnZS1kZXRhY2hlZC1sZWFrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9jYW52YXMvY2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1sZWFrLmh0bWw6IEFkZGVkLgorCiAy
MDIxLTA5LTAyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgRm9udEZhY2VTZXQuYWRkKCkgbmVlZHMgdG8gdGhyb3cgd2hlbiBjYWxsZWQgb24gYSBD
U1MtY29ubmVjdGVkIGZvbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Nh
bnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRldGFjaGVkLWxlYWstZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzNmJkMzE5N2E3N2RhOTMyYTc3M2M0Yzk2Yjk0ZWVhNDcyZDg4NTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtZHJhd0ltYWdlLWRl
dGFjaGVkLWxlYWstZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgZHJhd0ltYWdl
KCkgdG8gYSBkZXRhY2hlZCBjYW52YXMgd29uJ3QgbGVhayB0aGUgZHJhd24gaW1hZ2VzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRlcm5hbHMucmVtb3RlSW1hZ2Vz
Q291bnRGb3JUZXN0aW5nKCkgaXMgMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Nh
bnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvY2FudmFzLWRyYXdJbWFnZS1kZXRhY2hlZC1sZWFrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUyNzA3
ZjU3MjA5NDQxMWU4MDM4NzU3YzVjY2YwZjNjMmUzMjg5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1kcmF3SW1hZ2UtZGV0YWNoZWQtbGVhay5odG1s
CkBAIC0wLDAgKzEsNTcgQEAKKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycp
OworCisgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IGRyYXdJbWFnZSgpIHRvIGEgZGV0YWNoZWQg
Y2FudmFzIHdvbid0IGxlYWsgdGhlIGRyYXduIGltYWdlcy4iKTsKKyAgICAgICAganNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
ICAgIGludGVybmFscy5jbGVhck1lbW9yeUNhY2hlKCk7CisgICAgICAgICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0QW5pbWF0ZWRJbWFnZURlYnVnQ2FudmFzRHJhd2luZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIH0KKworICAgICAgICBjb25zdCBkcmF3RnJhbWUgPSAoaW1hZ2UpID0+IHsKKyAg
ICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgICAgICAgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIHZh
ciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICAgICAgICAgICAgICAgICAgY3R4
LmRyYXdJbWFnZShpbWFnZSwgMCwgMCk7CisgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
KCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAg
ICAgICAgICB9LCAzMCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9KTsKKyAg
ICAgICAgfQorCisgICAgICAgIGNvbnN0IGRyYXdJbWFnZSA9IChpbWFnZSwgZnJhbWVDb3VudCkg
PT4geworICAgICAgICAgICAgbGV0IHByb21pc2UgPSBkcmF3RnJhbWUoaW1hZ2UpOworICAgICAg
ICAgICAgZm9yIChsZXQgZnJhbWUgPSAxOyBmcmFtZSA8IGZyYW1lQ291bnQ7ICsrZnJhbWUpIHsK
KyAgICAgICAgICAgICAgICBwcm9taXNlID0gcHJvbWlzZS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGRyYXdGcmFtZShpbWFnZSk7CisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gcHJvbWlzZTsKKyAgICAgICAgfQor
CisgICAgICAgIGNvbnN0IGxvYWRBbmREcmF3SW1hZ2UgPSAoc3JjLCBmcmFtZUNvdW50KSA9PiB7
CisgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAg
ICAgICAgICBsZXQgaW1hZ2UgPSBuZXcgSW1hZ2U7CisgICAgICAgICAgICAgICAgaW1hZ2Uub25s
b2FkID0gKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZHJhd0ltYWdlKGltYWdlLCBmcmFt
ZUNvdW50KS50aGVuKHJlc29sdmUpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
ICAgIGltYWdlLnNyYyA9IHNyYzsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAgICAg
ICAgbG9hZEFuZERyYXdJbWFnZSgiLi4vaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQtZ3Jl
ZW4tYmx1ZS1yZXBlYXQtMS5naWYiLCAzKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLmRlc3Ryb3lEZWNv
ZGVkRGF0YUZvckFsbEltYWdlcygpOworICAgICAgICAgICAgICAgIHNob3VsZEJlWmVybygiaW50
ZXJuYWxzLnJlbW90ZUltYWdlc0NvdW50Rm9yVGVzdGluZygpIik7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSk7CisgICAgPC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>