<?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>205583</bug_id>
          
          <creation_ts>2019-12-24 11:18:00 -0800</creation_ts>
          <short_desc>REGRESSION (r253867): Six test262 tests broken</short_desc>
          <delta_ts>2020-01-02 13:58:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601415</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-12-24 11:18:00 -0800</bug_when>
    <thetext>https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20Test262%20%28Tests%29/builds/8064/steps/test262-test/logs/stdio

---------------NEW FAILING TESTS SUMMARY---------------

FAIL test/intl402/Collator/prototype/compare/compare-function-name.js (default)
Full Output:
Exception: Test262Error: descriptor value should be 

FAIL test/intl402/Collator/prototype/compare/compare-function-name.js (strict mode)
Full Output:
Exception: Test262Error: descriptor value should be 

FAIL test/intl402/DateTimeFormat/prototype/format/format-function-name.js (default)
Full Output:
Exception: Test262Error: descriptor value should be 

FAIL test/intl402/DateTimeFormat/prototype/format/format-function-name.js (strict mode)
Full Output:
Exception: Test262Error: descriptor value should be 

FAIL test/intl402/NumberFormat/prototype/format/format-function-name.js (default)
Full Output:
Exception: Test262Error: descriptor value should be 

FAIL test/intl402/NumberFormat/prototype/format/format-function-name.js (strict mode)
Full Output:
Exception: Test262Error: descriptor value should be 

---------------------------------------------------------</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601416</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-24 11:18:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/58183421&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601458</commentid>
    <comment_count>2</comment_count>
      <attachid>386404</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-25 01:18:55 -0800</bug_when>
    <thetext>Created attachment 386404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601551</commentid>
    <comment_count>3</comment_count>
      <attachid>386404</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-12-26 17:46:39 -0800</bug_when>
    <thetext>Comment on attachment 386404
Patch

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

&gt; Source/JavaScriptCore/runtime/JSFunction.cpp:893
&gt;              string = jsString(globalObject, jsString(vm, &quot;bound &quot;_s), name);

Seems unnecessarily inefficient to call jsString(vm, &quot;bound &quot;_s) because jsString is already overridden so it can take a WTF::String. So it can just be &quot;bound &quot;_s. That will save allocating and garbage collecting a JSString cell every time this is called. Also, we could optimize this case even further by overloading jsString for ASCIILiteral too, if we need to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602172</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-02 10:52:46 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 386404 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=386404&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/JSFunction.cpp:893
&gt; &gt;              string = jsString(globalObject, jsString(vm, &quot;bound &quot;_s), name);
&gt; 
&gt; Seems unnecessarily inefficient to call jsString(vm, &quot;bound &quot;_s) because
&gt; jsString is already overridden so it can take a WTF::String. So it can just
&gt; be &quot;bound &quot;_s. That will save allocating and garbage collecting a JSString
&gt; cell every time this is called. Also, we could optimize this case even
&gt; further by overloading jsString for ASCIILiteral too, if we need to.

Right, I&apos;ll put bound string in SmallStrings to avoid this allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602201</commentid>
    <comment_count>5</comment_count>
      <attachid>386621</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-02 12:38:15 -0800</bug_when>
    <thetext>Created attachment 386621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602208</commentid>
    <comment_count>6</comment_count>
      <attachid>386621</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-01-02 13:12:08 -0800</bug_when>
    <thetext>Comment on attachment 386621
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        If a function has empty name, a bound function should have &quot;bound &quot; name.
&gt; +        But Intl prototypes&apos; bound functions are exceptions: these JSBoundFunctions have empty name.
&gt; +        In this patch, we pass `nullptr` for the JSBoundFunction::create&apos;s nameMayBeNull parameter of Intl prototypes&apos; bound functions,
&gt; +        to generate empty string name for these bound functions instead of &quot;bound &quot;.
&gt; +        This fixes test262 failures.

nit: Would be nice to quote the urls to the relevant spec here if you have them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602226</commentid>
    <comment_count>7</comment_count>
      <attachid>386621</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-02 13:54:32 -0800</bug_when>
    <thetext>Comment on attachment 386621
Patch

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

&gt;&gt; Source/JavaScriptCore/ChangeLog:12
&gt;&gt; +        This fixes test262 failures.
&gt; 
&gt; nit: Would be nice to quote the urls to the relevant spec here if you have them.

Thanks, fixed.

&gt; Source/JavaScriptCore/runtime/SmallStrings.cpp:64
&gt; +    initialize(&amp;vm, m_boundPrefixString, &quot;bound &quot;);

Added `visitChildren` for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602228</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-02 13:58:33 -0800</bug_when>
    <thetext>Committed r253982: &lt;https://trac.webkit.org/changeset/253982&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386404</attachid>
            <date>2019-12-25 01:18:55 -0800</date>
            <delta_ts>2020-01-02 12:38:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205583-20191225011854.patch</filename>
            <type>text/plain</type>
            <size>3015</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
YTU1NDZjNzZjNWE4Mjc0YTVjYWNhOGJiNzY5NWU5OGIyOTkzZWNkLi45NmIyZTlkMmQyMTVmYjg0
NmI1NjFkODRlNjQ4YThmNTg4NTc2ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxOS0xMi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNTM4NjcpOiBTaXggdGVzdDI2MiB0ZXN0cyBicm9r
ZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTU4
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
ZnVuY3Rpb24gaGFzIGVtcHR5IG5hbWUsIGJvdW5kIGZ1bmN0aW9uIHNob3VsZCBiZSBlbXB0eSBu
YW1lIHRvby4KKyAgICAgICAgVGhpcyBmaXhlcyB0ZXN0MjYyIGZhaWx1cmVzLgorCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6cmVp
ZnlMYXp5Qm91bmROYW1lSWZOZWVkZWQpOgorCiAyMDE5LTEyLTI1ICBZdXN1a2UgU3V6dWtpICA8
eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gQ29tcGFjdCBCeXRlY29kZXMgbW9y
ZSBieSBlbWl0dGluZyAxLWJ5dGUgT3Bjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uY3BwCmluZGV4IDUzNDA5NmNkZTFiNWU0YTE0NDhhMzg4MzQ4Zjk4M2M3
OGMwNWNiNGMuLjE4YmM4OWMxZTgzOTVlM2JhNGI5ZTBhZWE5M2RmZWEzMWJkMWIzN2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCkBAIC04ODgsMTIg
Kzg4OCwxMSBAQCBKU0Z1bmN0aW9uOjpQcm9wZXJ0eVN0YXR1cyBKU0Z1bmN0aW9uOjpyZWlmeUxh
enlCb3VuZE5hbWVJZk5lZWRlZChWTSYgdm0sIEpTR2xvYgogICAgIGVsc2UgaWYgKHRoaXMtPmlu
aGVyaXRzPEpTQm91bmRGdW5jdGlvbj4odm0pKSB7CiAgICAgICAgIEZ1bmN0aW9uUmFyZURhdGEq
IHJhcmVEYXRhID0gdGhpcy0+cmFyZURhdGEodm0pOwogICAgICAgICBKU1N0cmluZyogbmFtZSA9
IGpzQ2FzdDxKU0JvdW5kRnVuY3Rpb24qPih0aGlzKS0+bmFtZSgpOwotICAgICAgICBKU1N0cmlu
Zyogc3RyaW5nID0gbnVsbHB0cjsKKyAgICAgICAgSlNTdHJpbmcqIHN0cmluZyA9IG5hbWU7CiAg
ICAgICAgIGlmIChuYW1lLT5sZW5ndGgoKSAhPSAwKSB7CiAgICAgICAgICAgICBzdHJpbmcgPSBq
c1N0cmluZyhnbG9iYWxPYmplY3QsIGpzU3RyaW5nKHZtLCAiYm91bmQgIl9zKSwgbmFtZSk7CiAg
ICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBQcm9wZXJ0eVN0YXR1czo6TGF6
eSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc3RyaW5nID0ganNTdHJpbmcodm0sICJi
b3VuZCAiX3MpOworICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIGluaXRpYWxBdHRyaWJ1dGVz
ID0gUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5OwogICAgICAgICByYXJlRGF0YS0+c2V0SGFzUmVpZmllZE5hbWUoKTsKICAgICAgICAgcHV0
RGlyZWN0KHZtLCBuYW1lSWRlbnQsIHN0cmluZywgaW5pdGlhbEF0dHJpYnV0ZXMpOwpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCBhZjk2ZGIy
YjY5ZTAxZWRjMmI0ZGQzZDhmMzFmOWRjYzhjOWQ0NWYwLi5hMjAxNGRhY2IyMDVjMTgxYzViZGRm
ZjQxZjk3M2ExZWFmNGZiY2UxIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9K
U1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTEyLTI1ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjI1Mzg2Nyk6
IFNpeCB0ZXN0MjYyIHRlc3RzIGJyb2tlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYm91bmQtZnVuY3Rpb24tZW1wdHktbmFtZS5qczog
QWRkZWQuCisgICAgICAgIChzaG91bGRCZSk6CisKIDIwMTktMTItMjMgIEtlaXRoIE1pbGxlciAg
PGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgREZHL0ZUTCBzaG91bGQgYmUgYWJs
ZSB0byBleGl0IHRvIHRoZSBtaWRkbGUgb2YgYSBieXRlY29kZQpkaWZmIC0tZ2l0IGEvSlNUZXN0
cy9zdHJlc3MvYm91bmQtZnVuY3Rpb24tZW1wdHktbmFtZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2Jv
dW5kLWZ1bmN0aW9uLWVtcHR5LW5hbWUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNlMWM0Njg0ZmNjYzllY2Mz
Yzc2ODBmMDhiZmQ3ODVlNTk1YWM5MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNz
L2JvdW5kLWZ1bmN0aW9uLWVtcHR5LW5hbWUuanMKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiBz
aG91bGRCZShhY3R1YWwsIGV4cGVjdGVkKSB7CisgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcignYmFkIHZhbHVlOiAnICsgYWN0dWFsKTsKK30KKwor
c2hvdWxkQmUobmV3IEludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0Lm5hbWUsICIiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386621</attachid>
            <date>2020-01-02 12:38:15 -0800</date>
            <delta_ts>2020-01-02 13:12:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205583-20200102123814.patch</filename>
            <type>text/plain</type>
            <size>15344</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
MGE2ZjhhNGJhYTA3YzQzNjcwMzZmMmQ0ZWZiMzg1MmQyODllNDVkLi4wYTQ5ZTlhODQxYzhiOTJk
OGI5NTdjNTg5ZDYwYzUxYWViM2MyZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAyMC0wMS0wMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNTM4NjcpOiBTaXggdGVzdDI2MiB0ZXN0cyBicm9r
ZW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTU4
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGEg
ZnVuY3Rpb24gaGFzIGVtcHR5IG5hbWUsIGEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGhhdmUgImJv
dW5kICIgbmFtZS4KKyAgICAgICAgQnV0IEludGwgcHJvdG90eXBlcycgYm91bmQgZnVuY3Rpb25z
IGFyZSBleGNlcHRpb25zOiB0aGVzZSBKU0JvdW5kRnVuY3Rpb25zIGhhdmUgZW1wdHkgbmFtZS4K
KyAgICAgICAgSW4gdGhpcyBwYXRjaCwgd2UgcGFzcyBgbnVsbHB0cmAgZm9yIHRoZSBKU0JvdW5k
RnVuY3Rpb246OmNyZWF0ZSdzIG5hbWVNYXlCZU51bGwgcGFyYW1ldGVyIG9mIEludGwgcHJvdG90
eXBlcycgYm91bmQgZnVuY3Rpb25zLAorICAgICAgICB0byBnZW5lcmF0ZSBlbXB0eSBzdHJpbmcg
bmFtZSBmb3IgdGhlc2UgYm91bmQgZnVuY3Rpb25zIGluc3RlYWQgb2YgImJvdW5kICIuCisgICAg
ICAgIFRoaXMgZml4ZXMgdGVzdDI2MiBmYWlsdXJlcy4KKworICAgICAgICAqIHJ1bnRpbWUvSW50
bENvbGxhdG9yUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6SW50bENvbGxhdG9yUHJvdG90
eXBlR2V0dGVyQ29tcGFyZSk6CisgICAgICAgICogcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQ
cm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGVH
ZXR0ZXJGb3JtYXQpOgorICAgICAgICAqIHJ1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlw
ZS5jcHA6CisgICAgICAgIChKU0M6OkludGxOdW1iZXJGb3JtYXRQcm90b3R5cGVHZXR0ZXJGb3Jt
YXQpOgorICAgICAgICAqIHJ1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpKU0JvdW5kRnVuY3Rp
b246OkpTQm91bmRGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkpTQm91bmRGdW5jdGlvbjo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpy
ZWlmeUxhenlCb3VuZE5hbWVJZk5lZWRlZCk6CisgICAgICAgICogcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwOgorICAgICAgICAoSlNDOjpTbWFsbFN0cmluZ3M6OmluaXRpYWxpemVDb21tb25TdHJp
bmdzKToKKyAgICAgICAgKiBydW50aW1lL1NtYWxsU3RyaW5ncy5oOgorICAgICAgICAoSlNDOjpT
bWFsbFN0cmluZ3M6OmJvdW5kUHJlZml4U3RyaW5nIGNvbnN0KToKKwogMjAyMC0wMS0wMSAgTWFy
ayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRGVjbGFyZSBzb21lIGNsYXNz
ZXMgYXMgZmluYWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bnRsQ29sbGF0b3JQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50bENvbGxhdG9yUHJvdG90eXBlLmNwcAppbmRleCA5MGMwMjEyMjQ5ZmFjZDZhNzVjMWJiYWEy
NmMxZjkxY2U3OTYxYzAzLi44NDBmNTA3ZWVhZWMxZDA5MTY2NmUxYjQzMjQwZDJlZjFlYzExZDQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsQ29sbGF0b3JQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxDb2xs
YXRvclByb3RvdHlwZS5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIEludGxDb2xsYXRvclByb3RvdHlwZUdldHRlckNvbXBhcmUoSlNHbG9iYWxPYmpl
Y3QqCiAgICAgICAgIEpTRnVuY3Rpb24qIHRhcmdldE9iamVjdCA9IEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCAyLCAiY29tcGFyZSJfcywgSW50bENvbGxhdG9yRnVuY0NvbXBh
cmUsIE5vSW50cmluc2ljKTsKIAogICAgICAgICAvLyBjLiBMZXQgYmMgYmUgQm91bmRGdW5jdGlv
bkNyZWF0ZShGLCDCq3RoaXMgdmFsdWXCuykuCi0gICAgICAgIGJvdW5kQ29tcGFyZSA9IEpTQm91
bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHRhcmdldE9iamVjdCwgY29sbGF0
b3IsIG51bGxwdHIsIDIsIGpzRW1wdHlTdHJpbmcodm0pKTsKKyAgICAgICAgYm91bmRDb21wYXJl
ID0gSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgdGFyZ2V0T2JqZWN0
LCBjb2xsYXRvciwgbnVsbHB0ciwgMiwgbnVsbHB0cik7CiAgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgICAgICAvLyBkLiBTZXQgY29sbGF0
b3IuW1tib3VuZENvbXBhcmVdXSB0byBiYy4KICAgICAgICAgY29sbGF0b3ItPnNldEJvdW5kQ29t
cGFyZSh2bSwgYm91bmRDb21wYXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwCmluZGV4IGY2
N2NhOTZmMWNmM2JiZGY4OWQyOTFlZTZlN2EyYTUwZTFiM2IxOTkuLjE3OGIxMTkzZTQwMmI5N2E2
ZjlhOTgyMTQ4MGQ2YjcxZGIyYzA5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmNwcApAQCAt
MTQzLDcgKzE0Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSW50bERhdGVUaW1l
Rm9ybWF0UHJvdG90eXBlR2V0dGVyRm9ybWF0KEpTR2xvYmFsT2JqCiAgICAgICAgIC8vIGIuIFRo
ZSB2YWx1ZSBvZiBG4oCZcyBsZW5ndGggcHJvcGVydHkgaXMgMS4gKE5vdGU6IEbigJlzIGxlbmd0
aCBwcm9wZXJ0eSB3YXMgMCBpbiBFQ01BLTQwMiAxLjApCiAgICAgICAgIEpTRnVuY3Rpb24qIHRh
cmdldE9iamVjdCA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCAxLCAiZm9y
bWF0Il9zLCBJbnRsRGF0ZVRpbWVGb3JtYXRGdW5jRm9ybWF0RGF0ZVRpbWUsIE5vSW50cmluc2lj
KTsKICAgICAgICAgLy8gYy4gTGV0IGJmIGJlIEJvdW5kRnVuY3Rpb25DcmVhdGUoRiwgwqt0aGlz
IHZhbHVlwrspLgotICAgICAgICBib3VuZEZvcm1hdCA9IEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIHRhcmdldE9iamVjdCwgZHRmLCBudWxscHRyLCAxLCBqc0VtcHR5
U3RyaW5nKHZtKSk7CisgICAgICAgIGJvdW5kRm9ybWF0ID0gSlNCb3VuZEZ1bmN0aW9uOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgdGFyZ2V0T2JqZWN0LCBkdGYsIG51bGxwdHIsIDEsIG51bGxw
dHIpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgp
KTsKICAgICAgICAgLy8gZC4gU2V0IGR0Zi5bW2JvdW5kRm9ybWF0XV0gdG8gYmYuCiAgICAgICAg
IGR0Zi0+c2V0Qm91bmRGb3JtYXQodm0sIGJvdW5kRm9ybWF0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5j
cHAKaW5kZXggYTNmZGI2Y2MwNTM1NDQ3OWRlNjM3MDE5Nzg3NjA2MTI0MGRmYzlhYy4uN2I1Yzc3
Nzc2OWIwMjVhNTFlZWU2YjY0MjNlYTU0MGU2MTQyZWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5j
cHAKQEAgLTEzNiw3ICsxMzYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEludGxO
dW1iZXJGb3JtYXRQcm90b3R5cGVHZXR0ZXJGb3JtYXQoSlNHbG9iYWxPYmplYwogICAgICAgICAv
LyBiLiBUaGUgdmFsdWUgb2YgRuKAmXMgbGVuZ3RoIHByb3BlcnR5IGlzIDEuCiAgICAgICAgIEpT
RnVuY3Rpb24qIHRhcmdldE9iamVjdCA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCAxLCAiZm9ybWF0Il9zLCBJbnRsTnVtYmVyRm9ybWF0RnVuY0Zvcm1hdE51bWJlciwgTm9J
bnRyaW5zaWMpOwogICAgICAgICAvLyBjLiBMZXQgYmYgYmUgQm91bmRGdW5jdGlvbkNyZWF0ZShG
LCDCq3RoaXMgdmFsdWXCuykuCi0gICAgICAgIGJvdW5kRm9ybWF0ID0gSlNCb3VuZEZ1bmN0aW9u
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgdGFyZ2V0T2JqZWN0LCBuZiwgbnVsbHB0ciwgMSwg
anNFbXB0eVN0cmluZyh2bSkpOworICAgICAgICBib3VuZEZvcm1hdCA9IEpTQm91bmRGdW5jdGlv
bjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHRhcmdldE9iamVjdCwgbmYsIG51bGxwdHIsIDEs
IG51bGxwdHIpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKICAgICAgICAgLy8gZC4gU2V0IG5mLltbYm91bmRGb3JtYXRdXSB0byBiZi4KICAg
ICAgICAgbmYtPnNldEJvdW5kRm9ybWF0KHZtLCBib3VuZEZvcm1hdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAppbmRleCBkYmQ2NTE0
YmRiMWI2NGEwM2QwMGY3MGEyNzRmMmZjMTBkYjFhMDI2Li5hMDY2ZDcyZGViZTE5OTRmMzkzOGZl
ZWY0YjBlMGZkNGQ1MmIwMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKQEAgLTE4NywxMiArMTg3LDE0IEBAIGlubGluZSBTdHJ1
Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotSlNCb3VuZEZ1bmN0aW9uKiBK
U0JvdW5kRnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiB0YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMsIEpTSW1tdXRh
YmxlQnV0dGVyZmx5KiBib3VuZEFyZ3MsIGludCBsZW5ndGgsIEpTU3RyaW5nKiBuYW1lKQorSlNC
b3VuZEZ1bmN0aW9uKiBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiB0YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3Vu
ZFRoaXMsIEpTSW1tdXRhYmxlQnV0dGVyZmx5KiBib3VuZEFyZ3MsIGludCBsZW5ndGgsIEpTU3Ry
aW5nKiBuYW1lTWF5QmVOdWxsKQogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKIAotICAgIG5hbWUtPnZhbHVlKGdsb2JhbE9iamVjdCk7IC8vIFJlc29sdmluZyBy
b3BlLgotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOworICAgIGlmIChu
YW1lTWF5QmVOdWxsKSB7CisgICAgICAgIG5hbWVNYXlCZU51bGwtPnZhbHVlKGdsb2JhbE9iamVj
dCk7IC8vIFJlc29sdmluZyByb3BlLgorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBudWxscHRyKTsKKyAgICB9CiAKICAgICBib29sIGlzSlNGdW5jdGlvbiA9IGdldEpTRnVuY3Rp
b24odGFyZ2V0RnVuY3Rpb24pOwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKQEAg
LTIwMiw3ICsyMDQsNyBAQCBKU0JvdW5kRnVuY3Rpb24qIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSgogICAgIE5hdGl2ZUV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSB2bS5nZXRCb3VuZEZ1bmN0aW9uKGlzSlNGdW5jdGlvbiwgY2Fu
Q29uc3RydWN0KTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldEJvdW5kRnVuY3Rpb25T
dHJ1Y3R1cmUodm0sIGdsb2JhbE9iamVjdCwgdGFyZ2V0RnVuY3Rpb24pOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgIEpTQm91bmRGdW5jdGlvbiogZnVuY3Rp
b24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0JvdW5kRnVuY3Rpb24+KHZtLmhlYXAp
KSBKU0JvdW5kRnVuY3Rpb24odm0sIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCwgc3RydWN0dXJl
LCB0YXJnZXRGdW5jdGlvbiwgYm91bmRUaGlzLCBib3VuZEFyZ3MsIG5hbWUsIGxlbmd0aCk7Cisg
ICAgSlNCb3VuZEZ1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxs
PEpTQm91bmRGdW5jdGlvbj4odm0uaGVhcCkpIEpTQm91bmRGdW5jdGlvbih2bSwgZXhlY3V0YWJs
ZSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIHRhcmdldEZ1bmN0aW9uLCBib3VuZFRoaXMsIGJv
dW5kQXJncywgbmFtZU1heUJlTnVsbCwgbGVuZ3RoKTsKIAogICAgIGZ1bmN0aW9uLT5maW5pc2hD
cmVhdGlvbih2bSwgZXhlY3V0YWJsZSwgbGVuZ3RoKTsKICAgICByZXR1cm4gZnVuY3Rpb247CkBA
IC0yMTMsMTUgKzIxNSwxNSBAQCBib29sIEpTQm91bmRGdW5jdGlvbjo6Y3VzdG9tSGFzSW5zdGFu
Y2UoSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbAogICAgIHJldHVybiBq
c0Nhc3Q8SlNCb3VuZEZ1bmN0aW9uKj4ob2JqZWN0KS0+bV90YXJnZXRGdW5jdGlvbi0+aGFzSW5z
dGFuY2UoZ2xvYmFsT2JqZWN0LCB2YWx1ZSk7CiB9CiAKLUpTQm91bmRGdW5jdGlvbjo6SlNCb3Vu
ZEZ1bmN0aW9uKFZNJiB2bSwgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTT2JqZWN0KiB0YXJn
ZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMsIEpTSW1tdXRhYmxlQnV0dGVyZmx5KiBib3Vu
ZEFyZ3MsIEpTU3RyaW5nKiBuYW1lLCBpbnQgbGVuZ3RoKQorSlNCb3VuZEZ1bmN0aW9uOjpKU0Jv
dW5kRnVuY3Rpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIHRh
cmdldEZ1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcywgSlNJbW11dGFibGVCdXR0ZXJmbHkqIGJv
dW5kQXJncywgSlNTdHJpbmcqIG5hbWVNYXlCZU51bGwsIGludCBsZW5ndGgpCiAgICAgOiBCYXNl
KHZtLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICAsIG1fdGFyZ2V0
RnVuY3Rpb24odm0sIHRoaXMsIHRhcmdldEZ1bmN0aW9uKQogICAgICwgbV9ib3VuZFRoaXModm0s
IHRoaXMsIGJvdW5kVGhpcykKICAgICAsIG1fYm91bmRBcmdzKHZtLCB0aGlzLCBib3VuZEFyZ3Ms
IFdyaXRlQmFycmllcjxKU0ltbXV0YWJsZUJ1dHRlcmZseT46Ok1heUJlTnVsbCkKLSAgICAsIG1f
bmFtZSh2bSwgdGhpcywgbmFtZSkKKyAgICAsIG1fbmFtZU1heUJlTnVsbCh2bSwgdGhpcywgbmFt
ZU1heUJlTnVsbCwgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPjo6TWF5QmVOdWxsKQogICAgICwgbV9s
ZW5ndGgobGVuZ3RoKQogewotICAgIEFTU0VSVCghbV9uYW1lLT5pc1JvcGUoKSk7CisgICAgQVNT
RVJUKCFtX25hbWVNYXlCZU51bGwgfHwgIW1fbmFtZU1heUJlTnVsbC0+aXNSb3BlKCkpOwogfQog
CiBKU0FycmF5KiBKU0JvdW5kRnVuY3Rpb246OmJvdW5kQXJnc0NvcHkoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKQEAgLTI1Niw3ICsyNTgsNyBAQCB2b2lkIEpTQm91bmRGdW5jdGlvbjo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdGFyZ2V0RnVuY3Rpb24pOwogICAgIHZpc2l0b3Iu
YXBwZW5kKHRoaXNPYmplY3QtPm1fYm91bmRUaGlzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlz
T2JqZWN0LT5tX2JvdW5kQXJncyk7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9u
YW1lKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX25hbWVNYXlCZU51bGwpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNCb3VuZEZ1bmN0aW9uLmgKaW5kZXggMWRjMTVkOGY1OTI2MzMyMjQ2YTQ2NmRjOWIwNDE0
NDA3OTkzYzQxYy4uZDhkMTZjODg1NTliZGU1ZDliODFhNjZjMTA4MWIwMDAyYTNlMTRhMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmgKQEAg
LTQ4LDcgKzQ4LDcgQEAgY2xhc3MgSlNCb3VuZEZ1bmN0aW9uIGZpbmFsIDogcHVibGljIEpTRnVu
Y3Rpb24gewogICAgICAgICByZXR1cm4gdm0uYm91bmRGdW5jdGlvblNwYWNlPG1vZGU+KCk7CiAg
ICAgfQogCi0gICAgc3RhdGljIEpTQm91bmRGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCogdGFyZ2V0RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzLCBKU0lt
bXV0YWJsZUJ1dHRlcmZseSogYm91bmRBcmdzLCBpbnQsIEpTU3RyaW5nKiBuYW1lKTsKKyAgICBz
dGF0aWMgSlNCb3VuZEZ1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiB0YXJnZXRGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMsIEpTSW1tdXRhYmxlQnV0dGVy
Zmx5KiBib3VuZEFyZ3MsIGludCwgSlNTdHJpbmcqIG5hbWVNYXlCZU51bGwpOwogICAgIAogICAg
IHN0YXRpYyBib29sIGN1c3RvbUhhc0luc3RhbmNlKEpTT2JqZWN0KiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1ZhbHVlKTsKIApAQCAtNTYsMTIgKzU2LDE0IEBAIGNsYXNzIEpTQm91bmRGdW5jdGlvbiBm
aW5hbCA6IHB1YmxpYyBKU0Z1bmN0aW9uIHsKICAgICBKU1ZhbHVlIGJvdW5kVGhpcygpIHsgcmV0
dXJuIG1fYm91bmRUaGlzLmdldCgpOyB9CiAgICAgSlNJbW11dGFibGVCdXR0ZXJmbHkqIGJvdW5k
QXJncygpIHsgcmV0dXJuIG1fYm91bmRBcmdzLmdldCgpOyB9IC8vIERPIE5PVCBhbGxvdyB0aGlz
IGFycmF5IHRvIGJlIG11dGF0ZWQhCiAgICAgSlNBcnJheSogYm91bmRBcmdzQ29weShKU0dsb2Jh
bE9iamVjdCopOwotICAgIEpTU3RyaW5nKiBuYW1lKCkgeyByZXR1cm4gbV9uYW1lLmdldCgpOyB9
CisgICAgSlNTdHJpbmcqIG5hbWVNYXlCZU51bGwoKSB7IHJldHVybiBtX25hbWVNYXlCZU51bGwu
Z2V0KCk7IH0KICAgICBjb25zdCBTdHJpbmcmIG5hbWVTdHJpbmcoKQogICAgIHsKLSAgICAgICAg
QVNTRVJUKCFtX25hbWUtPmlzUm9wZSgpKTsKKyAgICAgICAgaWYgKCFtX25hbWVNYXlCZU51bGwp
CisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICAgICAgQVNTRVJUKCFtX25h
bWVNYXlCZU51bGwtPmlzUm9wZSgpKTsKICAgICAgICAgYm9vbCBhbGxvY2F0aW9uQWxsb3dlZCA9
IGZhbHNlOwotICAgICAgICByZXR1cm4gbV9uYW1lLT50cnlHZXRWYWx1ZShhbGxvY2F0aW9uQWxs
b3dlZCk7CisgICAgICAgIHJldHVybiBtX25hbWVNYXlCZU51bGwtPnRyeUdldFZhbHVlKGFsbG9j
YXRpb25BbGxvd2VkKTsKICAgICB9CiAKICAgICBpbnQzMl90IGxlbmd0aChWTSYpIHsgcmV0dXJu
IG1fbGVuZ3RoOyB9CkBAIC04MiwxNCArODQsMTQgQEAgY2xhc3MgSlNCb3VuZEZ1bmN0aW9uIGZp
bmFsIDogcHVibGljIEpTRnVuY3Rpb24gewogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKIAogcHJpdmF0ZToKLSAgICBKU0JvdW5kRnVuY3Rpb24o
Vk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU09i
amVjdCogdGFyZ2V0RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzLCBKU0ltbXV0YWJsZUJ1dHRl
cmZseSogYm91bmRBcmdzLCBKU1N0cmluZyogbmFtZSwgaW50IGxlbmd0aCk7CisgICAgSlNCb3Vu
ZEZ1bmN0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlKiwgSlNPYmplY3QqIHRhcmdldEZ1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcywgSlNJbW11
dGFibGVCdXR0ZXJmbHkqIGJvdW5kQXJncywgSlNTdHJpbmcqIG5hbWVNYXlCZU51bGwsIGludCBs
ZW5ndGgpOwogICAgIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRh
YmxlKiwgaW50IGxlbmd0aCk7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fdGFyZ2V0
RnVuY3Rpb247CiAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1fYm91bmRUaGlzOwogICAgIFdy
aXRlQmFycmllcjxKU0ltbXV0YWJsZUJ1dHRlcmZseT4gbV9ib3VuZEFyZ3M7Ci0gICAgV3JpdGVC
YXJyaWVyPEpTU3RyaW5nPiBtX25hbWU7CisgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX25h
bWVNYXlCZU51bGw7CiAgICAgaW50IG1fbGVuZ3RoOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAppbmRleCBhMzZlMDc5YzlkYjZmMjcyYTNkNjU0
MjJkM2MxZWQ2ZmYxOTdlM2FjLi5jYjkzNDVjNjQwMGU0MTBhOTg0ZDFmN2ZmNjljYWIzM2QzYjM4
YWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcApA
QCAtODk1LDEzICs4OTUsMTMgQEAgSlNGdW5jdGlvbjo6UHJvcGVydHlTdGF0dXMgSlNGdW5jdGlv
bjo6cmVpZnlMYXp5Qm91bmROYW1lSWZOZWVkZWQoVk0mIHZtLCBKU0dsb2IKICAgICAgICAgcmVp
ZnlOYW1lKHZtLCBnbG9iYWxPYmplY3QpOwogICAgIGVsc2UgaWYgKHRoaXMtPmluaGVyaXRzPEpT
Qm91bmRGdW5jdGlvbj4odm0pKSB7CiAgICAgICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRh
ID0gdGhpcy0+ZW5zdXJlUmFyZURhdGEodm0pOwotICAgICAgICBKU1N0cmluZyogbmFtZSA9IGpz
Q2FzdDxKU0JvdW5kRnVuY3Rpb24qPih0aGlzKS0+bmFtZSgpOworICAgICAgICBKU1N0cmluZyog
bmFtZU1heUJlTnVsbCA9IGpzQ2FzdDxKU0JvdW5kRnVuY3Rpb24qPih0aGlzKS0+bmFtZU1heUJl
TnVsbCgpOwogICAgICAgICBKU1N0cmluZyogc3RyaW5nID0gbnVsbHB0cjsKLSAgICAgICAgaWYg
KG5hbWUtPmxlbmd0aCgpICE9IDApIHsKLSAgICAgICAgICAgIHN0cmluZyA9IGpzU3RyaW5nKGds
b2JhbE9iamVjdCwganNTdHJpbmcodm0sICJib3VuZCAiX3MpLCBuYW1lKTsKKyAgICAgICAgaWYg
KG5hbWVNYXlCZU51bGwpIHsKKyAgICAgICAgICAgIHN0cmluZyA9IGpzU3RyaW5nKGdsb2JhbE9i
amVjdCwgdm0uc21hbGxTdHJpbmdzLmJvdW5kUHJlZml4U3RyaW5nKCksIG5hbWVNYXlCZU51bGwp
OwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgUHJvcGVydHlTdGF0dXM6
OkxhenkpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHN0cmluZyA9IGpzU3RyaW5nKHZt
LCAiYm91bmQgIl9zKTsKKyAgICAgICAgICAgIHN0cmluZyA9IGpzRW1wdHlTdHJpbmcodm0pOwog
ICAgICAgICB1bnNpZ25lZCBpbml0aWFsQXR0cmlidXRlcyA9IFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seTsKICAgICAgICAgcmFyZURhdGEt
PnNldEhhc1JlaWZpZWROYW1lKCk7CiAgICAgICAgIHB1dERpcmVjdCh2bSwgbmFtZUlkZW50LCBz
dHJpbmcsIGluaXRpYWxBdHRyaWJ1dGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGJmY2QwYjk2YmY4YWQwYTRlZWUwMWVlZmQ3NjUx
ODQ5YjA2NDU0MDUuLmEwNjAxODRkMjM1MDIwMTE4ZGIwNjdmMTM5MmUzODgzNTg1ODJhNWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcApAQCAt
NjEsNiArNjEsNyBAQCB2b2lkIFNtYWxsU3RyaW5nczo6aW5pdGlhbGl6ZUNvbW1vblN0cmluZ3Mo
Vk0mIHZtKQogICAgIGluaXRpYWxpemUoJnZtLCBtX29iamVjdFN0cmluZ1N0YXJ0LCAiW29iamVj
dCAiKTsKICAgICBpbml0aWFsaXplKCZ2bSwgbV9udWxsT2JqZWN0U3RyaW5nLCAiW29iamVjdCBO
dWxsXSIpOwogICAgIGluaXRpYWxpemUoJnZtLCBtX3VuZGVmaW5lZE9iamVjdFN0cmluZywgIltv
YmplY3QgVW5kZWZpbmVkXSIpOworICAgIGluaXRpYWxpemUoJnZtLCBtX2JvdW5kUHJlZml4U3Ry
aW5nLCAiYm91bmQgIik7CiAKICAgICBzZXRJc0luaXRpYWxpemVkKHRydWUpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRleCBhODViNzcyNmEy
NTNlMjg1YmJkZTA0OTQ3NmNjMmM5Njg5NmFhNThiLi5kZWE4OGE4N2FlNGQyOTc5MDUzOWI1MGY5
ZWM5Nzk2Njk5MWQ5NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TbWFsbFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFs
bFN0cmluZ3MuaApAQCAtMTE2LDYgKzExNiw3IEBAIGNsYXNzIFNtYWxsU3RyaW5ncyB7CiAgICAg
SlNTdHJpbmcqIG9iamVjdFN0cmluZ1N0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RTdHJp
bmdTdGFydDsgfQogICAgIEpTU3RyaW5nKiBudWxsT2JqZWN0U3RyaW5nKCkgY29uc3QgeyByZXR1
cm4gbV9udWxsT2JqZWN0U3RyaW5nOyB9CiAgICAgSlNTdHJpbmcqIHVuZGVmaW5lZE9iamVjdFN0
cmluZygpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZWZpbmVkT2JqZWN0U3RyaW5nOyB9CisgICAgSlNT
dHJpbmcqIGJvdW5kUHJlZml4U3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZFByZWZpeFN0
cmluZzsgfQogCiAgICAgYm9vbCBuZWVkc1RvQmVWaXNpdGVkKENvbGxlY3Rpb25TY29wZSBzY29w
ZSkgY29uc3QKICAgICB7CkBAIC0xMzYsNiArMTM3LDcgQEAgY2xhc3MgU21hbGxTdHJpbmdzIHsK
ICAgICBKU1N0cmluZyogbV9vYmplY3RTdHJpbmdTdGFydCB7IG51bGxwdHIgfTsKICAgICBKU1N0
cmluZyogbV9udWxsT2JqZWN0U3RyaW5nIHsgbnVsbHB0ciB9OwogICAgIEpTU3RyaW5nKiBtX3Vu
ZGVmaW5lZE9iamVjdFN0cmluZyB7IG51bGxwdHIgfTsKKyAgICBKU1N0cmluZyogbV9ib3VuZFBy
ZWZpeFN0cmluZyB7IG51bGxwdHIgfTsKICAgICBKU1N0cmluZyogbV9zaW5nbGVDaGFyYWN0ZXJT
dHJpbmdzW3NpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50XSB7IG51bGxwdHIgfTsKICAgICBib29s
IG1fbmVlZHNUb0JlVmlzaXRlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNJbml0aWFsaXplZCB7
IGZhbHNlIH07CmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGFmOTZkYjJiNjllMDFlZGMyYjRkZDNkOGYzMWY5ZGNjOGM5ZDQ1ZjAuLjBiOTdi
NDJlNTg1MmQ3OTE4NDEwYTkwODNiNTgyNmUyOTNkNWZiMzYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAt
MDEtMDIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdS
RVNTSU9OIChyMjUzODY3KTogU2l4IHRlc3QyNjIgdGVzdHMgYnJva2VuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU1ODMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9ib3VuZC1mdW5jdGlv
bi1lbXB0eS1uYW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZEJlKToKKwogMjAxOS0xMi0y
MyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcv
RlRMIHNob3VsZCBiZSBhYmxlIHRvIGV4aXQgdG8gdGhlIG1pZGRsZSBvZiBhIGJ5dGVjb2RlCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9ib3VuZC1mdW5jdGlvbi1lbXB0eS1uYW1lLmpzIGIv
SlNUZXN0cy9zdHJlc3MvYm91bmQtZnVuY3Rpb24tZW1wdHktbmFtZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
Y2UxYzQ2ODRmY2NjOWVjYzNjNzY4MGYwOGJmZDc4NWU1OTVhYzkxCi0tLSAvZGV2L251bGwKKysr
IGIvSlNUZXN0cy9zdHJlc3MvYm91bmQtZnVuY3Rpb24tZW1wdHktbmFtZS5qcwpAQCAtMCwwICsx
LDYgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcg
KyBhY3R1YWwpOworfQorCitzaG91bGRCZShuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5mb3JtYXQu
bmFtZSwgIiIpOwo=
</data>
<flag name="review"
          id="402385"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>