<?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>219677</bug_id>
          
          <creation_ts>2020-12-09 04:44:55 -0800</creation_ts>
          <short_desc>REGRESSION(r268886): Page load time performance regression</short_desc>
          <delta_ts>2020-12-15 09:31:00 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Noam Rosenthal">noam</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>nham</cc>
    
    <cc>pnormand</cc>
    
    <cc>pvollan</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713106</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-09 04:44:55 -0800</bug_when>
    <thetext>The commit r268886 introduced a page load time regression on iOS. In particular, loading nytimes and facebook seems to be slower.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713107</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-09 04:45:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/71543823&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1713109</commentid>
    <comment_count>2</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-12-09 04:54:00 -0800</bug_when>
    <thetext>How was the regression tested? Bisecting? Reverting? What is the metric for page load time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714304</commentid>
    <comment_count>3</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-12-13 00:04:26 -0800</bug_when>
    <thetext>I have a speculation on how to fix it, working on a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714389</commentid>
    <comment_count>4</comment_count>
      <attachid>416140</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-12-14 00:33:37 -0800</bug_when>
    <thetext>Created attachment 416140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714394</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-14 01:39:20 -0800</bug_when>
    <thetext>(In reply to Noam Rosenthal from comment #3)
&gt; I have a speculation on how to fix it, working on a patch.

Great, thanks! I can test this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714418</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2020-12-14 03:36:14 -0800</bug_when>
    <thetext>(In reply to Per Arne Vollan from comment #5)
&gt; (In reply to Noam Rosenthal from comment #3)
&gt; &gt; I have a speculation on how to fix it, working on a patch.
&gt; 
&gt; Great, thanks! I can test this patch.
Thanks!
Let me know if there&apos;s a way I can test it myself :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714720</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-12-15 06:11:57 -0800</bug_when>
    <thetext>(In reply to Noam Rosenthal from comment #6)
&gt; (In reply to Per Arne Vollan from comment #5)
&gt; &gt; (In reply to Noam Rosenthal from comment #3)
&gt; &gt; &gt; I have a speculation on how to fix it, working on a patch.
&gt; &gt; 
&gt; &gt; Great, thanks! I can test this patch.
&gt; Thanks!
&gt; Let me know if there&apos;s a way I can test it myself :)

It looks like this patch recovers all, or most of the initial regression. Great work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714778</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-15 09:30:58 -0800</bug_when>
    <thetext>Committed r270845: &lt;https://trac.webkit.org/changeset/270845&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416140.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416140</attachid>
            <date>2020-12-14 00:33:37 -0800</date>
            <delta_ts>2020-12-15 09:30:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219677-20201214103333.patch</filename>
            <type>text/plain</type>
            <size>14584</size>
            <attacher name="Noam Rosenthal">noam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MDc2MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDIwLTEyLTE0ICBOb2FtIFJv
c2VudGhhbCAgPG5vYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNjg4ODYp
OiBQYWdlIGxvYWQgdGltZSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk2NzcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxNTQzODIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE9wdGltaXplIG1ldGFkYXRhIGZldGNoaW5nIGZyb20gaW1hZ2VzIGluIEltYWdl
RGVjb2RlckNHLgorICAgICAgICBJbnN0ZWFkIG9mIHJlYWRpbmcgbWV0YWRhdGEgc2VwYXJhdGVs
eSBmb3Igb3JpZW50YXRpb24gYW5kIHJlc29sdXRpb24sCisgICAgICAgIHVzZSB0aGUgcGFydGlh
bCBtZXRhZGF0YSByZXRyaWV2ZWQgZm9yIG9yaWVudGF0aW9uIHRvIGZpZ3VyZSBvdXQgd2hldGhl
ciB3ZSBuZWVkCisgICAgICAgIGV4dGVuZGVkIG1ldGFkYXRhIGF0IGFsbC4KKworICAgICAgICBU
aGlzIHdpbGwgbGltaXQgdGhlIGV4cGVuc2l2ZSByZWFkaW5nIG9mIGV4dGVuZGVkIG1ldGFkYXRh
IHRvIGltYWdlcyB3aGljaCBtaWdodAorICAgICAgICBoYXZlIGRlbnNpdHkgc2l6ZSBjb3JyZWN0
aW9uLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgdGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gY292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyOjpmcmFtZURlbnNp
dHlDb3JyZWN0ZWRTaXplQXRJbmRleCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3Vy
Y2U6OmNhY2hlTWV0YWRhdGFBdEluZGV4KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9JbWFnZURlY29kZXJBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlckFWRk9iakM6OmZyYW1lTWV0YWRhdGFBdEluZGV4
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlckFWRk9iakM6OmZyYW1lT3Jp
ZW50YXRpb25BdEluZGV4IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlRGVjb2RlckdTdHJlYW1lcjo6ZnJhbWVNZXRhZGF0YUF0SW5kZXggY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpmcmFtZU9yaWVudGF0aW9u
QXRJbmRleCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3dpbi9JbWFnZURlY29kZXJEaXJlY3QyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZURlY29kZXJEaXJlY3QyRDo6ZnJhbWVPcmllbnRhdGlvbkF0SW5kZXggY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbWFnZURlY29kZXJEaXJlY3QyRC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVy
Lmg6CisgICAgICAgICAgICAgICAgQ2hhbmdlZCB0aGUgc2lnbmF0dXJlIHRvIHJldHJpdmUgbWV0
YWRhdGEgaW4gb25lIGNhbGwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
RGVjb2RlckNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1heUhhdmVEZW5zaXR5Q29ycmVjdGVk
U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpkZW5zaXR5Q29ycmVjdGVkU2l6ZUZyb21Qcm9wZXJ0
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlckNHOjpmcmFtZU1ldGFkYXRhQXRJ
bmRleCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZXJDRzo6ZnJhbWVPcmll
bnRhdGlvbkF0SW5kZXggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VE
ZWNvZGVyQ0c6OmZyYW1lRGVuc2l0eUNvcnJlY3RlZFNpemVBdEluZGV4IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oOgorICAg
ICAgICAgICAgICAgIEZpZ3VyZSBvdXQgd2hldGhlciB3ZSBuZWVkIHRvIHJlYWQgZGVuc2l0eSBi
YXNlZCBvbiBwYXJ0aWFsIG1ldGFkYXRhLgorCiAyMDIwLTEyLTEzICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBDcmVhdGUgYSBNZWRpYVRvb2xib3ggZm9y
bWF0IHJlYWRlciBwbHVnLWluIGZvciBXZWJNCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZURlY29kZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZURlY29kZXIuaAkocmV2aXNpb24gMjcwNTc2KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VEZWNvZGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTUwLDYgKzUwLDEyIEBAIHB1YmxpYzoKICAgICAgICAgSW1hZ2UsCiAgICAgICAgIFZp
ZGVvLAogICAgIH07CisKKyAgICBzdHJ1Y3QgRnJhbWVNZXRhZGF0YSB7CisgICAgICAgIEltYWdl
T3JpZW50YXRpb24gb3JpZW50YXRpb247CisgICAgICAgIE9wdGlvbmFsPEludFNpemU+IGRlbnNp
dHlDb3JyZWN0ZWRTaXplOworICAgIH07CisKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c01lZGlh
VHlwZShNZWRpYVR5cGUpOwogCiAgICAgdmlydHVhbCBzaXplX3QgYnl0ZXNEZWNvZGVkVG9EZXRl
cm1pbmVQcm9wZXJ0aWVzKCkgY29uc3QgPSAwOwpAQCAtNjYsOCArNzIsNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIEludFNpemUgZnJhbWVTaXplQXRJbmRleChzaXplX3QsIFN1YnNhbXBsaW5n
TGV2ZWwgPSBTdWJzYW1wbGluZ0xldmVsOjpEZWZhdWx0KSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBib29sIGZyYW1lSXNDb21wbGV0ZUF0SW5kZXgoc2l6ZV90KSBjb25zdCA9IDA7Ci0gICAgdmly
dHVhbCBJbWFnZU9yaWVudGF0aW9uIGZyYW1lT3JpZW50YXRpb25BdEluZGV4KHNpemVfdCkgY29u
c3QgPSAwOwotICAgIHZpcnR1YWwgT3B0aW9uYWw8SW50U2l6ZT4gZnJhbWVEZW5zaXR5Q29ycmVj
dGVkU2l6ZUF0SW5kZXgoc2l6ZV90KSBjb25zdCB7IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KKyAg
ICB2aXJ0dWFsIEZyYW1lTWV0YWRhdGEgZnJhbWVNZXRhZGF0YUF0SW5kZXgoc2l6ZV90KSBjb25z
dCA9IDA7CiAKICAgICB2aXJ0dWFsIFNlY29uZHMgZnJhbWVEdXJhdGlvbkF0SW5kZXgoc2l6ZV90
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVf
dCkgY29uc3QgPSAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlU291cmNlLmNwcAkocmV2aXNpb24gMjcwNTc2KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEs
OCArMjcxLDkgQEAgdm9pZCBJbWFnZVNvdXJjZTo6Y2FjaGVNZXRhZGF0YUF0SW5kZXgocwogICAg
IH0gZWxzZQogICAgICAgICBmcmFtZS5tX3NpemUgPSBtX2RlY29kZXItPmZyYW1lU2l6ZUF0SW5k
ZXgoaW5kZXgsIHN1YnNhbXBsaW5nTGV2ZWwpOwogCi0gICAgZnJhbWUubV9vcmllbnRhdGlvbiA9
IG1fZGVjb2Rlci0+ZnJhbWVPcmllbnRhdGlvbkF0SW5kZXgoaW5kZXgpOwotICAgIGZyYW1lLm1f
ZGVuc2l0eUNvcnJlY3RlZFNpemUgPSBtX2RlY29kZXItPmZyYW1lRGVuc2l0eUNvcnJlY3RlZFNp
emVBdEluZGV4KGluZGV4KTsKKyAgICBhdXRvIG1ldGFkYXRhID0gbV9kZWNvZGVyLT5mcmFtZU1l
dGFkYXRhQXRJbmRleChpbmRleCk7CisgICAgZnJhbWUubV9vcmllbnRhdGlvbiA9IG1ldGFkYXRh
Lm9yaWVudGF0aW9uOworICAgIGZyYW1lLm1fZGVuc2l0eUNvcnJlY3RlZFNpemUgPSBtZXRhZGF0
YS5kZW5zaXR5Q29ycmVjdGVkU2l6ZTsKICAgICBmcmFtZS5tX2hhc0FscGhhID0gbV9kZWNvZGVy
LT5mcmFtZUhhc0FscGhhQXRJbmRleChpbmRleCk7CiAKICAgICBpZiAocmVwZXRpdGlvbkNvdW50
KCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9JbWFnZURlY29kZXJBVkZPYmpDLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW1hZ2VEZWNvZGVyQVZGT2JqQy5o
CShyZXZpc2lvbiAyNzA1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9JbWFnZURlY29kZXJBVkZPYmpDLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc1LDcgKzc1LDcgQEAgcHVibGljOgogCiAgICAgSW50U2l6ZSBmcmFtZVNpemVBdEluZGV4KHNp
emVfdCwgU3Vic2FtcGxpbmdMZXZlbCA9IFN1YnNhbXBsaW5nTGV2ZWw6OkRlZmF1bHQpIGNvbnN0
IGZpbmFsOwogICAgIGJvb2wgZnJhbWVJc0NvbXBsZXRlQXRJbmRleChzaXplX3QpIGNvbnN0IGZp
bmFsOwotICAgIEltYWdlT3JpZW50YXRpb24gZnJhbWVPcmllbnRhdGlvbkF0SW5kZXgoc2l6ZV90
KSBjb25zdCBmaW5hbDsKKyAgICBJbWFnZURlY29kZXI6OkZyYW1lTWV0YWRhdGEgZnJhbWVNZXRh
ZGF0YUF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5hbDsKIAogICAgIFNlY29uZHMgZnJhbWVEdXJh
dGlvbkF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5hbDsKICAgICBib29sIGZyYW1lSGFzQWxwaGFB
dEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbWFnZURlY29kZXJBVkZPYmpDLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0ltYWdlRGVjb2RlckFWRk9iakMubW0JKHJldmlzaW9uIDI3MDU3NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0ltYWdlRGVjb2RlckFW
Rk9iakMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUzMyw5ICs1MzMsOSBAQCBib29sIEltYWdlRGVj
b2RlckFWRk9iakM6OmZyYW1lSXNDb21wbGV0CiAgICAgcmV0dXJuIHNhbXBsZUlzQ29tcGxldGUo
KnNhbXBsZURhdGEpOwogfQogCi1JbWFnZU9yaWVudGF0aW9uIEltYWdlRGVjb2RlckFWRk9iakM6
OmZyYW1lT3JpZW50YXRpb25BdEluZGV4KHNpemVfdCkgY29uc3QKK0ltYWdlRGVjb2Rlcjo6RnJh
bWVNZXRhZGF0YSBJbWFnZURlY29kZXJBVkZPYmpDOjpmcmFtZU1ldGFkYXRhQXRJbmRleChzaXpl
X3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIEltYWdlT3JpZW50YXRpb246Ok5vbmU7CisgICAgcmV0
dXJuIHsgfTsKIH0KIAogU2Vjb25kcyBJbWFnZURlY29kZXJBVkZPYmpDOjpmcmFtZUR1cmF0aW9u
QXRJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwCShyZXZpc2lvbiAy
NzA1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29k
ZXJDRy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NCw2ICsxNzQsMjAgQEAgc3RhdGljIEltYWdl
T3JpZW50YXRpb24gb3JpZW50YXRpb25Gcm9tUAogICAgIHJldHVybiBJbWFnZU9yaWVudGF0aW9u
Ojpmcm9tRVhJRlZhbHVlKGV4aWZWYWx1ZSk7CiB9CiAKK3N0YXRpYyBib29sIG1heUhhdmVEZW5z
aXR5Q29ycmVjdGVkU2l6ZShDRkRpY3Rpb25hcnlSZWYgaW1hZ2VQcm9wZXJ0aWVzKQoreworICAg
IEFTU0VSVChpbWFnZVByb3BlcnRpZXMpOworICAgIGF1dG8gcmVzb2x1dGlvblhQcm9wZXJ0eSA9
IChDRk51bWJlclJlZilDRkRpY3Rpb25hcnlHZXRWYWx1ZShpbWFnZVByb3BlcnRpZXMsIGtDR0lt
YWdlUHJvcGVydHlEUElXaWR0aCk7CisgICAgYXV0byByZXNvbHV0aW9uWVByb3BlcnR5ID0gKENG
TnVtYmVyUmVmKUNGRGljdGlvbmFyeUdldFZhbHVlKGltYWdlUHJvcGVydGllcywga0NHSW1hZ2VQ
cm9wZXJ0eURQSUhlaWdodCk7CisgICAgaWYgKCFyZXNvbHV0aW9uWFByb3BlcnR5IHx8ICFyZXNv
bHV0aW9uWVByb3BlcnR5KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmbG9hdCByZXNv
bHV0aW9uWCwgcmVzb2x1dGlvblk7CisgICAgcmV0dXJuIENGTnVtYmVyR2V0VmFsdWUocmVzb2x1
dGlvblhQcm9wZXJ0eSwga0NGTnVtYmVyRmxvYXQzMlR5cGUsICZyZXNvbHV0aW9uWCkKKyAgICAg
ICAgJiYgQ0ZOdW1iZXJHZXRWYWx1ZShyZXNvbHV0aW9uWVByb3BlcnR5LCBrQ0ZOdW1iZXJGbG9h
dDMyVHlwZSwgJnJlc29sdXRpb25ZKQorICAgICAgICAmJiAocmVzb2x1dGlvblggIT0gSW1hZ2VS
ZXNvbHV0aW9uOjpEZWZhdWx0UmVzb2x1dGlvbiB8fCByZXNvbHV0aW9uWSAhPSBJbWFnZVJlc29s
dXRpb246OkRlZmF1bHRSZXNvbHV0aW9uKTsKK30KKwogc3RhdGljIE9wdGlvbmFsPEludFNpemU+
IGRlbnNpdHlDb3JyZWN0ZWRTaXplRnJvbVByb3BlcnRpZXMoQ0ZEaWN0aW9uYXJ5UmVmIGltYWdl
UHJvcGVydGllcykKIHsKICAgICBBU1NFUlQoaW1hZ2VQcm9wZXJ0aWVzKTsKQEAgLTQxNCwyMiAr
NDI4LDIxIEBAIGJvb2wgSW1hZ2VEZWNvZGVyQ0c6OmZyYW1lSXNDb21wbGV0ZUF0SW4KICAgICBy
ZXR1cm4gQ0dJbWFnZVNvdXJjZUdldFN0YXR1c0F0SW5kZXgobV9uYXRpdmVEZWNvZGVyLmdldCgp
LCBpbmRleCkgPT0ga0NHSW1hZ2VTdGF0dXNDb21wbGV0ZTsKIH0KIAotSW1hZ2VPcmllbnRhdGlv
biBJbWFnZURlY29kZXJDRzo6ZnJhbWVPcmllbnRhdGlvbkF0SW5kZXgoc2l6ZV90IGluZGV4KSBj
b25zdAorSW1hZ2VEZWNvZGVyOjpGcmFtZU1ldGFkYXRhIEltYWdlRGVjb2RlckNHOjpmcmFtZU1l
dGFkYXRhQXRJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0CiB7CiAgICAgUmV0YWluUHRyPENGRGlj
dGlvbmFyeVJlZj4gcHJvcGVydGllcyA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNvcHlQcm9wZXJ0
aWVzQXRJbmRleChtX25hdGl2ZURlY29kZXIuZ2V0KCksIGluZGV4LCBpbWFnZVNvdXJjZU9wdGlv
bnMoKS5nZXQoKSkpOwogICAgIGlmICghcHJvcGVydGllcykKLSAgICAgICAgcmV0dXJuIEltYWdl
T3JpZW50YXRpb246Ok5vbmU7CisgICAgICAgIHJldHVybiB7IH07CiAgICAgCi0gICAgcmV0dXJu
IG9yaWVudGF0aW9uRnJvbVByb3BlcnRpZXMocHJvcGVydGllcy5nZXQoKSk7Ci19Ci0KLU9wdGlv
bmFsPEludFNpemU+IEltYWdlRGVjb2RlckNHOjpmcmFtZURlbnNpdHlDb3JyZWN0ZWRTaXplQXRJ
bmRleChzaXplX3QgaW5kZXgpIGNvbnN0Ci17Ci0gICAgYXV0byBwcm9wZXJ0aWVzID0gYWRvcHRD
RihDR0ltYWdlU291cmNlQ29weVByb3BlcnRpZXNBdEluZGV4KG1fbmF0aXZlRGVjb2Rlci5nZXQo
KSwgaW5kZXgsIGNyZWF0ZUltYWdlU291cmNlTWV0YWRhdGFPcHRpb25zKCkuZ2V0KCkpKTsKLSAg
ICBpZiAoIXByb3BlcnRpZXMpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgYXV0
byBvcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uRnJvbVByb3BlcnRpZXMocHJvcGVydGllcy5nZXQo
KSk7CisgICAgaWYgKCFtYXlIYXZlRGVuc2l0eUNvcnJlY3RlZFNpemUocHJvcGVydGllcy5nZXQo
KSkpCisgICAgICAgIHJldHVybiB7IG9yaWVudGF0aW9uLCBXVEY6Om51bGxvcHQgfTsKKworICAg
IGF1dG8gcHJvcGVydGllc1dpdGhNZXRhZGF0YSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNvcHlQ
cm9wZXJ0aWVzQXRJbmRleChtX25hdGl2ZURlY29kZXIuZ2V0KCksIGluZGV4LCBjcmVhdGVJbWFn
ZVNvdXJjZU1ldGFkYXRhT3B0aW9ucygpLmdldCgpKSk7CisgICAgaWYgKCFwcm9wZXJ0aWVzV2l0
aE1ldGFkYXRhKQorICAgICAgICByZXR1cm4geyBvcmllbnRhdGlvbiwgV1RGOjpudWxsb3B0IH07
CiAgICAgCi0gICAgcmV0dXJuIGRlbnNpdHlDb3JyZWN0ZWRTaXplRnJvbVByb3BlcnRpZXMocHJv
cGVydGllcy5nZXQoKSk7CisgICAgcmV0dXJuIHsgb3JpZW50YXRpb24sIGRlbnNpdHlDb3JyZWN0
ZWRTaXplRnJvbVByb3BlcnRpZXMocHJvcGVydGllc1dpdGhNZXRhZGF0YS5nZXQoKSkgfTsKIH0K
IAogU2Vjb25kcyBJbWFnZURlY29kZXJDRzo6ZnJhbWVEdXJhdGlvbkF0SW5kZXgoc2l6ZV90IGlu
ZGV4KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1h
Z2VEZWNvZGVyQ0cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JbWFnZURlY29kZXJDRy5oCShyZXZpc2lvbiAyNzA1NzYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5oCSh3b3JraW5nIGNvcHkp
CkBAIC01NCw4ICs1NCw3IEBAIHB1YmxpYzoKIAogICAgIEludFNpemUgZnJhbWVTaXplQXRJbmRl
eChzaXplX3QsIFN1YnNhbXBsaW5nTGV2ZWwgPSBTdWJzYW1wbGluZ0xldmVsOjpEZWZhdWx0KSBj
b25zdCBmaW5hbDsKICAgICBib29sIGZyYW1lSXNDb21wbGV0ZUF0SW5kZXgoc2l6ZV90KSBjb25z
dCBmaW5hbDsKLSAgICBJbWFnZU9yaWVudGF0aW9uIGZyYW1lT3JpZW50YXRpb25BdEluZGV4KHNp
emVfdCkgY29uc3QgZmluYWw7Ci0gICAgT3B0aW9uYWw8SW50U2l6ZT4gZnJhbWVEZW5zaXR5Q29y
cmVjdGVkU2l6ZUF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5hbDsKKyAgICBJbWFnZURlY29kZXI6
OkZyYW1lTWV0YWRhdGEgZnJhbWVNZXRhZGF0YUF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5hbDsK
IAogICAgIFNlY29uZHMgZnJhbWVEdXJhdGlvbkF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5hbDsK
ICAgICBib29sIGZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVy
R1N0cmVhbWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmNwcAkocmV2aXNpb24gMjcwNTc2
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVj
b2RlckdTdHJlYW1lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSwxMCArMTQ5LDEwIEBAIFN0
cmluZyBJbWFnZURlY29kZXJHU3RyZWFtZXI6OnV0aSgpIGNvbnMKICAgICByZXR1cm4geyB9Owog
fQogCi1JbWFnZU9yaWVudGF0aW9uIEltYWdlRGVjb2RlckdTdHJlYW1lcjo6ZnJhbWVPcmllbnRh
dGlvbkF0SW5kZXgoc2l6ZV90KSBjb25zdAorSW1hZ2VEZWNvZGVyOjpGcmFtZU1ldGFkYXRhIElt
YWdlRGVjb2RlckdTdHJlYW1lcjo6ZnJhbWVNZXRhZGF0YUF0SW5kZXgoc2l6ZV90KSBjb25zdAog
ewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIEltYWdlT3JpZW50YXRpb246Ok5v
bmU7CisgICAgcmV0dXJuIHsgfTsKIH0KIAogU2Vjb25kcyBJbWFnZURlY29kZXJHU3RyZWFtZXI6
OmZyYW1lRHVyYXRpb25BdEluZGV4KHNpemVfdCBpbmRleCkgY29uc3QKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFnZURlY29kZXJHU3RyZWFtZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmgJKHJldmlzaW9uIDI3MDU3NikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFnZURlY29kZXJHU3RyZWFtZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAKICAgICBJbnRTaXpl
IGZyYW1lU2l6ZUF0SW5kZXgoc2l6ZV90LCBTdWJzYW1wbGluZ0xldmVsID0gU3Vic2FtcGxpbmdM
ZXZlbDo6RGVmYXVsdCkgY29uc3QgZmluYWwgeyByZXR1cm4gc2l6ZSgpOyB9CiAgICAgYm9vbCBm
cmFtZUlzQ29tcGxldGVBdEluZGV4KHNpemVfdCBpbmRleCkgY29uc3QgZmluYWwgeyByZXR1cm4g
c2FtcGxlQXRJbmRleChpbmRleCk7IH0KLSAgICBJbWFnZU9yaWVudGF0aW9uIGZyYW1lT3JpZW50
YXRpb25BdEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CisgICAgSW1hZ2VEZWNvZGVyOjpGcmFt
ZU1ldGFkYXRhIGZyYW1lTWV0YWRhdGFBdEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CiAKICAg
ICBTZWNvbmRzIGZyYW1lRHVyYXRpb25BdEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CiAgICAg
Ym9vbCBmcmFtZUhhc0FscGhhQXRJbmRleChzaXplX3QpIGNvbnN0IGZpbmFsOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1h
Z2VEZWNvZGVyRGlyZWN0MkQuY3BwCShyZXZpc2lvbiAyNzA1NzYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vSW1hZ2VEZWNvZGVyRGlyZWN0MkQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTUsMjkgKzE1NSwyOCBAQCBib29sIEltYWdlRGVjb2RlckRpcmVjdDJEOjpm
cmFtZUlzQ29tcGxlCiAgICAgSFJFU1VMVCBociA9IG1fbmF0aXZlRGVjb2Rlci0+R2V0RnJhbWUo
aW5kZXgsICZmcmFtZSk7CiAgICAgcmV0dXJuIFNVQ0NFRURFRChocik7CiB9Ci0KLUltYWdlT3Jp
ZW50YXRpb24gSW1hZ2VEZWNvZGVyRGlyZWN0MkQ6OmZyYW1lT3JpZW50YXRpb25BdEluZGV4KHNp
emVfdCBpbmRleCkgY29uc3QKK0ltYWdlRGVjb2Rlcjo6RnJhbWVNZXRhZGF0YSBJbWFnZURlY29k
ZXJEaXJlY3QyRDo6ZnJhbWVNZXRhZGF0YUF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5hbDsKIHsK
ICAgICBpZiAoIW1fbmF0aXZlRGVjb2RlcikKLSAgICAgICAgcmV0dXJuIEltYWdlT3JpZW50YXRp
b246Ok5vbmU7CisgICAgICAgIHJldHVybiB7IH07CiAKICAgICBDT01QdHI8SVdJQ0JpdG1hcEZy
YW1lRGVjb2RlPiBmcmFtZTsKICAgICBIUkVTVUxUIGhyID0gbV9uYXRpdmVEZWNvZGVyLT5HZXRG
cmFtZShpbmRleCwgJmZyYW1lKTsKICAgICBpZiAoIVNVQ0NFRURFRChocikpCi0gICAgICAgIHJl
dHVybiBJbWFnZU9yaWVudGF0aW9uOjpOb25lOworICAgICAgICByZXR1cm4geyB9OwogCiAgICAg
Q09NUHRyPElXSUNNZXRhZGF0YVF1ZXJ5UmVhZGVyPiBtZXRhZGF0YTsKICAgICBociA9IGZyYW1l
LT5HZXRNZXRhZGF0YVF1ZXJ5UmVhZGVyKCZtZXRhZGF0YSk7CiAgICAgaWYgKCFTVUNDRUVERUQo
aHIpKQotICAgICAgICByZXR1cm4gSW1hZ2VPcmllbnRhdGlvbjo6Tm9uZTsKKyAgICAgICAgcmV0
dXJuIHsgfTsKIAogICAgIFBST1BWQVJJQU5UIHZhbHVlOwogICAgIFByb3BWYXJpYW50SW5pdCgm
dmFsdWUpOwogICAgIGhyID0gbWV0YWRhdGEtPkdldE1ldGFkYXRhQnlOYW1lKEwiU3lzdGVtLlBo
b3RvLk9yaWVudGF0aW9uIiwgJnZhbHVlKTsKICAgICBpZiAoU1VDQ0VFREVEKGhyKSkKLSAgICAg
ICAgcmV0dXJuIEltYWdlT3JpZW50YXRpb24oc3RhdGljX2Nhc3Q8SW1hZ2VPcmllbnRhdGlvbjo6
T3JpZW50YXRpb24+KHZhbHVlLnVpVmFsKSk7CisgICAgICAgIHJldHVybiB7IEltYWdlT3JpZW50
YXRpb24oc3RhdGljX2Nhc3Q8SW1hZ2VPcmllbnRhdGlvbjo6T3JpZW50YXRpb24+KHZhbHVlLnVp
VmFsKSksIFdURjo6bnVsbG9wdCB9OwogCi0gICAgcmV0dXJuIEltYWdlT3JpZW50YXRpb246Ok5v
bmU7CisgICAgcmV0dXJuIHsgfTsKIH0KIAogU2Vjb25kcyBJbWFnZURlY29kZXJEaXJlY3QyRDo6
ZnJhbWVEdXJhdGlvbkF0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVjb2RlckRpcmVjdDJELmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ltYWdlRGVjb2Rl
ckRpcmVjdDJELmgJKHJldmlzaW9uIDI3MDU3NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9JbWFnZURlY29kZXJEaXJlY3QyRC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIEludFNpemUgZnJhbWVTaXplQXRJbmRleChzaXpl
X3QsIFN1YnNhbXBsaW5nTGV2ZWwgPSBTdWJzYW1wbGluZ0xldmVsOjpEZWZhdWx0KSBjb25zdCBm
aW5hbDsKICAgICBib29sIGZyYW1lSXNDb21wbGV0ZUF0SW5kZXgoc2l6ZV90KSBjb25zdCBmaW5h
bDsKLSAgICBJbWFnZU9yaWVudGF0aW9uIGZyYW1lT3JpZW50YXRpb25BdEluZGV4KHNpemVfdCkg
Y29uc3QgZmluYWw7CisgICAgSW1hZ2VEZWNvZGVyOjpGcmFtZU1ldGFkYXRhIGZyYW1lTWV0YWRh
dGFBdEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CiAKICAgICBTZWNvbmRzIGZyYW1lRHVyYXRp
b25BdEluZGV4KHNpemVfdCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBmcmFtZUhhc0FscGhhQXRJ
bmRleChzaXplX3QpIGNvbnN0IGZpbmFsOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5o
CShyZXZpc2lvbiAyNzA1NzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDksOCArMTQ5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUoYm9v
bCBmbGFnKSB7IG1faWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgPSBmbGFnOyB9CiAgICAgYm9v
bCBpZ25vcmVzR2FtbWFBbmRDb2xvclByb2ZpbGUoKSBjb25zdCB7IHJldHVybiBtX2lnbm9yZUdh
bW1hQW5kQ29sb3JQcm9maWxlOyB9CiAKLSAgICBJbWFnZU9yaWVudGF0aW9uIGZyYW1lT3JpZW50
YXRpb25BdEluZGV4KHNpemVfdCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9vcmllbnRhdGlv
bjsgfQotICAgIE9wdGlvbmFsPEludFNpemU+IGZyYW1lRGVuc2l0eUNvcnJlY3RlZFNpemVBdElu
ZGV4KHNpemVfdCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9kZW5zaXR5Q29ycmVjdGVkU2l6
ZTsgfQorICAgIEltYWdlRGVjb2Rlcjo6RnJhbWVNZXRhZGF0YSBmcmFtZU1ldGFkYXRhQXRJbmRl
eChzaXplX3QpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHsgbV9vcmllbnRhdGlvbiwgbV9kZW5z
aXR5Q29ycmVjdGVkU2l6ZSB9OyB9CiAKICAgICBib29sIGZyYW1lQWxsb3dTdWJzYW1wbGluZ0F0
SW5kZXgoc2l6ZV90KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>