<?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>53984</bug_id>
          
          <creation_ts>2011-02-08 00:00:43 -0800</creation_ts>
          <short_desc>Remove orphan code from old parser</short_desc>
          <delta_ts>2011-02-08 13:34:08 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>347198</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-08 00:00:43 -0800</bug_when>
    <thetext>Remove orphan code from old parser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347200</commentid>
    <comment_count>1</comment_count>
      <attachid>81607</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-08 00:02:06 -0800</bug_when>
    <thetext>Created attachment 81607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347205</commentid>
    <comment_count>2</comment_count>
      <attachid>81607</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-08 00:11:34 -0800</bug_when>
    <thetext>Comment on attachment 81607
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347208</commentid>
    <comment_count>3</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-02-08 00:20:45 -0800</bug_when>
    <thetext>Attachment 81607 did not build on qt:
Build output: http://queues.webkit.org/results/7862004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347211</commentid>
    <comment_count>4</comment_count>
      <attachid>81607</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-02-08 00:23:01 -0800</bug_when>
    <thetext>Comment on attachment 81607
Patch

cq-, because it broke Qt build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347212</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-02-08 00:27:33 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 81607 [details])
&gt; cq-, because it broke Qt build

It seems it isn&apos;t a Qt related problem, but a general WebKit2 releated problem:
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h needs HTMLParserQuirks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347213</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-08 00:32:29 -0800</bug_when>
    <thetext>Attachment 81607 did not build on win:
Build output: http://queues.webkit.org/results/7756007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347263</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-08 03:53:23 -0800</bug_when>
    <thetext>Attachment 81607 did not build on mac:
Build output: http://queues.webkit.org/results/7797047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347463</commentid>
    <comment_count>8</comment_count>
      <attachid>81654</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-08 09:43:07 -0800</bug_when>
    <thetext>Created attachment 81654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347477</commentid>
    <comment_count>9</comment_count>
      <attachid>81654</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-08 10:08:20 -0800</bug_when>
    <thetext>Comment on attachment 81654
Patch

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

&gt; Source/WebCore/html/HTMLParserErrorCodes.cpp:-34
&gt; -        &quot;%tag1 is not allowed inside %tag2. Moving %tag1 into the nearest enclosing &lt;table&gt;.&quot;,

Do we still get error messages like this in the web inspector, or did we lose that feature when we added the new parser?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347590</commentid>
    <comment_count>10</comment_count>
      <attachid>81654</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-08 12:17:26 -0800</bug_when>
    <thetext>Comment on attachment 81654
Patch

Clearing flags on attachment: 81654

Committed r77963: &lt;http://trac.webkit.org/changeset/77963&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347591</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-08 12:17:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347614</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-08 12:56:35 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 81654 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81654&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLParserErrorCodes.cpp:-34
&gt; &gt; -        &quot;%tag1 is not allowed inside %tag2. Moving %tag1 into the nearest enclosing &lt;table&gt;.&quot;,
&gt; 
&gt; Do we still get error messages like this in the web inspector, or did we lose that feature when we added the new parser?

Yes, we lost all HTML error reporting with the new parser.  Adam has a patch up for review which adds the first of it back.

(Entertainingly, it took over 6 months to notice.)

The new parser is designed with reporting in mind.  We mostly didn&apos;t implement it at the time due to lack of testing (it was not on the critical path).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347640</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-08 13:34:08 -0800</bug_when>
    <thetext>Implementing parse error reporting is in https://bugs.webkit.org/show_bug.cgi?id=41187</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81607</attachid>
            <date>2011-02-08 00:02:06 -0800</date>
            <delta_ts>2011-02-08 09:43:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53984-20110208000205.patch</filename>
            <type>text/plain</type>
            <size>20633</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzc4OTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0YTI3ZThjN2U3MzUwOWY0
YjY3ZDFhYjUyNDM0Nzk1OGIzNTYzYmYxLi4yMWMyZGQ4MjNjZjJhMTcyNmVmOGMxNWZmZDYxYTFj
MDE2OTU1MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDItMDggIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUgZnJvbSBvbGQgcGFyc2VyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4NAorCisg
ICAgICAgIFRoaXMgY29kZSBhcHBlYXJzIHRvIGJlIHVudXNlZC4KKworICAgICAgICAqIGh0bWwv
SFRNTFBhcnNlckVycm9yQ29kZXMuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFBhcnNlckVycm9y
Q29kZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxQYXJzZXJRdWlya3MuaDoKKyAgICAgICAgKiBs
b2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwog
MjAxMS0wMi0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGFyc2VyRXJyb3JDb2Rlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJz
ZXJFcnJvckNvZGVzLmNwcAppbmRleCA2Zjk3M2RmNmQ2MDg3YWIzMmI1NDJlZDZmOGQ1OGFkOTZh
ZmJkNTRiLi5lMTg2MWE3ODE0ODE5ZTBmNDVmOWVmODRlMmZmYTA1ZTFmNzhjZGVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJFcnJvckNvZGVzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJFcnJvckNvZGVzLmNwcApAQCAtMjQsNDcgKzI0
LDUgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNlckVy
cm9yQ29kZXMuaCIKIAotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jb25zdCBjaGFyKiBodG1sUGFy
c2VyRXJyb3JNZXNzYWdlVGVtcGxhdGUoSFRNTFBhcnNlckVycm9yQ29kZSBlcnJvckNvZGUpCi17
Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGVycm9yc1tdID0geyAKLSAgICAgICAgIiV0
YWcxIGlzIG5vdCBhbGxvd2VkIGluc2lkZSAldGFnMi4gTW92aW5nICV0YWcxIGludG8gdGhlIG5l
YXJlc3QgZW5jbG9zaW5nIDx0YWJsZT4uIiwKLSAgICAgICAgIjxoZWFkPiBtdXN0IGJlIGEgY2hp
bGQgb2YgPGh0bWw+LiBDb250ZW50IGlnbm9yZWQuIiwKLSAgICAgICAgIiV0YWcxIGlzIG5vdCBh
bGxvd2VkIGluc2lkZSAldGFnMi4gTW92aW5nICV0YWcxIGludG8gdGhlIDxoZWFkPi4iLAotICAg
ICAgICAiRXh0cmEgJXRhZzEgZW5jb3VudGVyZWQuICBNaWdyYXRpbmcgYXR0cmlidXRlcyBiYWNr
IHRvIHRoZSBvcmlnaW5hbCAldGFnMSBlbGVtZW50IGFuZCBpZ25vcmluZyB0aGUgdGFnLiIsCi0g
ICAgICAgICI8YXJlYT4gaXMgbm90IGFsbG93ZWQgaW5zaWRlICV0YWcxLiBNb3ZpbmcgdGhlIDxh
cmVhPiBpbnRvIHRoZSBuZWFyZXN0IGVuY2xvc2luZyA8bWFwPi4iLAotICAgICAgICAiJXRhZzEg
aXMgbm90IGFsbG93ZWQgaW5zaWRlICV0YWcyLiBDb250ZW50IGlnbm9yZWQuIiwKLSAgICAgICAg
IiV0YWcxIGlzIG5vdCBhbGxvd2VkIGluIGEgPGZyYW1lc2V0PiBwYWdlLiBDb250ZW50IGlnbm9y
ZWQuIiwKLSAgICAgICAgIiV0YWcxIGlzIG5vdCBhbGxvd2VkIGluc2lkZSAldGFnMi4gQ2xvc2lu
ZyAldGFnMiBhbmQgdHJ5aW5nIHRoZSBpbnNlcnRpb24gYWdhaW4uIiwKLSAgICAgICAgIiV0YWcx
IGlzIG5vdCBhbGxvd2VkIGluc2lkZSA8Y2FwdGlvbj4uIENsb3NpbmcgdGhlIDxjYXB0aW9uPiBh
bmQgdHJ5aW5nIHRoZSBpbnNlcnRpb24gYWdhaW4uIiwKLSAgICAgICAgIjx0YWJsZT4gaXMgbm90
IGFsbG93ZWQgaW5zaWRlICV0YWcxLiBDbG9zaW5nIHRoZSBjdXJyZW50IDx0YWJsZT4gYW5kIGlu
c2VydGluZyB0aGUgbmV3IDx0YWJsZT4gYXMgYSBzaWJsaW5nLiIsCi0gICAgICAgICIldGFnMSBp
cyBub3QgYWxsb3dlZCBpbnNpZGUgJXRhZzIuIEluc2VydGluZyAldGFnMSBiZWZvcmUgdGhlIDx0
YWJsZT4gaW5zdGVhZC4iLAotICAgICAgICAiJXRhZzEgbWlzcGxhY2VkIGluIDx0YWJsZT4uIENy
ZWF0aW5nICV0YWcyIGFuZCBwdXR0aW5nICV0YWcxIGluc2lkZSBpdC4iLAotICAgICAgICAiPC9i
cj4gZW5jb3VudGVyZWQuICBDb252ZXJ0aW5nIDwvYnI+IGludG8gPGJyPi4iLAotICAgICAgICAi
WE1MIHNlbGYtY2xvc2luZyB0YWcgc3ludGF4IHVzZWQgb24gJXRhZzEuIFRoZSB0YWcgd2lsbCBu
b3QgYmUgY2xvc2VkLiIsCi0gICAgICAgICJVbm1hdGNoZWQgPC9wPiBlbmNvdW50ZXJlZC4gIENv
bnZlcnRpbmcgPC9wPiBpbnRvIDxwPjwvcD4uIiwKLSAgICAgICAgIlVubWF0Y2hlZCAldGFnMSBl
bmNvdW50ZXJlZC4gIElnbm9yaW5nIHRhZy4iLAotICAgICAgICAiJXRhZzEgbWlzbmVzdGVkIG9y
IG5vdCBwcm9wZXJseSBjbG9zZWQuICBDbG9uaW5nICV0YWcxIGluIG9yZGVyIHRvIHByZXNlcnZl
IHRoZSBzdHlsZXMgYXBwbGllZCBieSBpdC4iLAotICAgICAgICAiPGZvcm0+IGNhbm5vdCBhY3Qg
YXMgYSBjb250YWluZXIgaW5zaWRlICV0YWcxIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgdGFibGUu
ICBUaGUgY2hpbGRyZW4gb2YgdGhlIDxmb3JtPiB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgdGhlICV0
YWcxIGluc3RlYWQuIiwKLSAgICAgICAgIlhNTCBzZWxmLWNsb3NpbmcgdGFnIHN5bnRheCB1c2Vk
IG9uIDxzY3JpcHQ+LiAgVGhlIHRhZyB3aWxsIGJlIGNsb3NlZCBieSBXZWJLaXQsIGJ1dCBub3Qg
YWxsIGJyb3dzZXJzIGRvIHRoaXMuICBDaGFuZ2UgdG8gPHNjcmlwdD48L3NjcmlwdD4gaW5zdGVh
ZCBmb3IgYmVzdCBjcm9zcy1icm93c2VyIGNvbXBhdGliaWxpdHkuIgotICAgIH07Ci0gICAgIAot
ICAgIGlmIChlcnJvckNvZGUgPj0gTWlzcGxhY2VkVGFibGVQYXJ0RXJyb3IgJiYgZXJyb3JDb2Rl
IDw9IEluY29ycmVjdFhNTENsb3NlU2NyaXB0V2FybmluZykKLSAgICAgICAgcmV0dXJuIGVycm9y
c1tlcnJvckNvZGVdOwotICAgIHJldHVybiAwOwotfQotCi1jb25zdCBjaGFyKiBodG1sUGFyc2Vy
RG9jdW1lbnRXcml0ZU1lc3NhZ2UoKQotewotICAgIHJldHVybiAiW1RoZSBIVE1MIHRoYXQgY2F1
c2VkIHRoaXMgZXJyb3Igd2FzIGdlbmVyYXRlZCBieSBhIHNjcmlwdC5dICI7Ci19Ci0KLWJvb2wg
aXNXYXJuaW5nKEhUTUxQYXJzZXJFcnJvckNvZGUgY29kZSkKLXsKLSAgICByZXR1cm4gY29kZSA+
PSBJbmNvcnJlY3RYTUxDbG9zZVNjcmlwdFdhcm5pbmc7Ci19Ci0KLX0KKy8vIEZJWE1FOiBEZWxl
dGUgdGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2Vy
RXJyb3JDb2Rlcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyRXJyb3JDb2Rlcy5o
CmluZGV4IDRkYTZiOTAyN2NhNDI3NTA1YjAyYjQ2OWRlOGI5MmFlOTAyODNmYTkuLjFkODhiYzY3
MDRjMGNkMDEzZTJhZjAyMWVlMDUwYTg2Yjc4ZmM2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBhcnNlckVycm9yQ29kZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQYXJzZXJFcnJvckNvZGVzLmgKQEAgLTIzLDM4ICsyMyw0IEBACiAgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKICAqLwogCi0jaWZuZGVmIEhUTUxQYXJzZXJFcnJvckNvZGVzX2gKLSNkZWZpbmUgSFRNTFBh
cnNlckVycm9yQ29kZXNfaAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVudW0gSFRNTFBhcnNl
ckVycm9yQ29kZSB7IAotICAgIE1pc3BsYWNlZFRhYmxlUGFydEVycm9yLAotICAgIE1pc3BsYWNl
ZEhlYWRFcnJvciwKLSAgICBNaXNwbGFjZWRIZWFkQ29udGVudEVycm9yLAotICAgIFJlZHVuZGFu
dEhUTUxCb2R5RXJyb3IsCi0gICAgTWlzcGxhY2VkQXJlYUVycm9yLAotICAgIElnbm9yZWRDb250
ZW50RXJyb3IsCi0gICAgTWlzcGxhY2VkRnJhbWVzZXRDb250ZW50RXJyb3IsCi0gICAgTWlzcGxh
Y2VkQ29udGVudFJldHJ5RXJyb3IsCi0gICAgTWlzcGxhY2VkQ2FwdGlvbkNvbnRlbnRFcnJvciwK
LSAgICBNaXNwbGFjZWRUYWJsZUVycm9yLAotICAgIFN0cmF5VGFibGVDb250ZW50RXJyb3IsCi0g
ICAgVGFibGVQYXJ0UmVxdWlyZWRFcnJvciwKLSAgICBNYWxmb3JtZWRCUkVycm9yLAotICAgIElu
Y29ycmVjdFhNTFNlbGZDbG9zZUVycm9yLAotICAgIFN0cmF5UGFyYWdyYXBoQ2xvc2VFcnJvciwK
LSAgICBTdHJheUNsb3NlVGFnRXJyb3IsCi0gICAgUmVzaWR1YWxTdHlsZUVycm9yLAotICAgIEZv
cm1JbnNpZGVUYWJsZVBhcnRFcnJvciwKLSAgICBJbmNvcnJlY3RYTUxDbG9zZVNjcmlwdFdhcm5p
bmcKLX07Ci0KLWNvbnN0IGNoYXIqIGh0bWxQYXJzZXJFcnJvck1lc3NhZ2VUZW1wbGF0ZShIVE1M
UGFyc2VyRXJyb3JDb2RlKTsKLWNvbnN0IGNoYXIqIGh0bWxQYXJzZXJEb2N1bWVudFdyaXRlTWVz
c2FnZSgpOwotCi1ib29sIGlzV2FybmluZyhIVE1MUGFyc2VyRXJyb3JDb2RlKTsKLQotfQotCi0j
ZW5kaWYKKy8vIEZJWE1FOiBEZWxldGUgdGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaAppbmRleCAzYmYyMmE0ZGRhOTI3ZDdkZDY4YmYzYzZlNTNkOGM3NGNhMjM1
NjY0Li40YWM2ZGI4YWJjZDBiYTViNTZlMDJiZDIyNDgyOWYwNjYyMDY1YzYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaApAQCAtMjMsMjcgKzIzLDQgQEAKICAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotI2lmbmRlZiBIVE1MUGFyc2VyUXVpcmtzX2gKLSNkZWZpbmUgSFRNTFBhcnNl
clF1aXJrc19oCi0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIE5vZGU7Ci0KLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgewotICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJRdWlya3MpOwotcHVibGljOgotICAgIEhUTUxQYXJz
ZXJRdWlya3MoKSB7IH0KLSAgICB2aXJ0dWFsIH5IVE1MUGFyc2VyUXVpcmtzKCkgeyB9Ci0KLSAg
ICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5z
ZXJ0Tm9kZShOb2RlKiBwYXJlbnQsIE5vZGUqIG5ld05vZGUpID0gMDsKLSAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkUG9wQmxvY2soY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lT25TdGFjaywgY29u
c3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lVG9Qb3ApID0gMDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmIC8vIEhUTUxQYXJzZXJRdWlya3NfaAorLy8gRklYTUU6IERlbGV0
ZSB0aGlzIGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggN2FjM2M0
ZGI5ZDc4NmU4MzgzNTE2YjEwMDMzMjBkYzFjNzViMjk2NC4uZWM3OTQ3NmMyOGNiOWMwNWNiYTFl
M2RlOTU3ZmUzZWJjYmQ0NzcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMTk5LDggKzE5OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZm9ybURpZEZvY3Vz
KGNvbnN0IE5vZGUqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZm9ybURpZEJsdXIoY29uc3QgTm9k
ZSopIHsgfQogCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPEhUTUxQYXJzZXJRdWlya3M+IGNyZWF0
ZUhUTUxQYXJzZXJRdWlya3MoKSB7IHJldHVybiAwOyB9Ci0KICAgICB2aXJ0dWFsIHZvaWQgc2V0
Q3Vyc29yKGNvbnN0IEN1cnNvciYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJ
bnRvVmlldyhjb25zdCBJbnRSZWN0JiwgY29uc3QgU2Nyb2xsVmlldyopIGNvbnN0IHt9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAwYTJlZTYxZWRiNmExZDdhMzNiNjU5NmY2NTYy
MTEyMGJmYTY0ZDgzLi4wMWJiZDc4YjU0Y2YzZjZjM2RmNmE5MDZkMGI4ZmYxZjZhYTliZGU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRl
ICJDdXJzb3IuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJRdWlya3MuaCIKICNpbmNsdWRlICJI
b3N0V2luZG93LmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51
Q2xpZW50LmgiCkBAIC01Myw3ICs1Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBGbG9hdFJlY3Q7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgR2VvbG9jYXRpb247Ci0g
ICAgY2xhc3MgSFRNTFBhcnNlclF1aXJrczsKICAgICBjbGFzcyBIaXRUZXN0UmVzdWx0OwogICAg
IGNsYXNzIEludFJlY3Q7CiAgICAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKQEAgLTIzNSw4ICsy
MzMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb3JtRGlk
Rm9jdXMoY29uc3QgTm9kZSopIHsgfTsKICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1EaWRCbHVy
KGNvbnN0IE5vZGUqKSB7IH07CiAKLSAgICAgICAgdmlydHVhbCBQYXNzT3duUHRyPEhUTUxQYXJz
ZXJRdWlya3M+IGNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKSA9IDA7Ci0KICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIC8vIFBhc3MgMCBhcyB0aGUgR3JhcGhpY3NMYXll
ciB0byBkZXRhdGNoIHRoZSByb290IGxheWVyLgogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNo
Um9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKikgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCAwYTU3Y2ZiMDkyZDUwNmZmNjM5YWEyYjYwNGIxOWZmOGI3ZDQ5
MTMxLi5jYTEyZDllNDBhMDNhZWY0M2Y3YTEzOGRlODQzZTZmNThmMDM1MjM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTAyLTA4ICBBZGFtIEJhcnRo
ICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVtb3ZlIG9ycGhhbiBjb2RlIGZyb20gb2xkIHBhcnNlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM5ODQKKworICAgICAg
ICAqIHNyYy9DaHJvbWVDbGllbnRJbXBsLmg6CisKIDIwMTEtMDItMDcgIEFkYW0gS2xlaW4gIDxh
ZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmlhbiBMaS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCBiNGQzNWU1
ZGZiNzM0OWU4YTk2ZTIzOTBkMmNjMjg4MzFmNzEzZGU4Li5kM2NjYjc1MGUwNGQ2Y2RkNDg0ZWEx
OGU0ZWE2NzcyYjIwNjIxNDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hy
b21lQ2xpZW50SW1wbC5oCkBAIC0zOSw3ICszOSw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0OwogY2xhc3MgRmlsZUNob29zZXI7Ci1jbGFzcyBIVE1M
UGFyc2VyUXVpcmtzOwogY2xhc3MgUG9wdXBDb250YWluZXI7CiBjbGFzcyBQb3B1cE1lbnVDbGll
bnQ7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKQEAgLTE0MCw3ICsxMzksNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGNob29zZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJp
bmc+JiwgV2ViQ29yZTo6RmlsZUNob29zZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29y
KGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOwogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRD
aGFuZ2UoY29uc3QgV2ViQ29yZTo6Tm9kZSopOwotICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJD
b3JlOjpIVE1MUGFyc2VyUXVpcmtzPiBjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCkgeyByZXR1cm4g
MDsgfQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgLy8gRklYTUU6IEFsbCB0b3VjaCBl
dmVudHMgYXJlIGZvcndhcmRlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZXkgYXJl
IG5lZWRlZC4KICAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wgbmVlZFRvdWNo
RXZlbnRzKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBmY2ZmOWFkMTIzY2E5MjQ4OTAyMGMyZDE0
MGM3NmI3ZjBkMTc1YWQ0Li5mODRkODNmNGJkZjlmYzA3MWViYzZkOWFmMzgxM2M5M2YzNTI1Mjg2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDItMDggIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUgZnJvbSBvbGQgcGFyc2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4NAorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisKIDIwMTEtMDItMDcgIEVu
cmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBBZGFt
IFJvYmVuIGFuZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggN2U0YmYwYjJhZTA1ZjYyYjc2Mzg5NjVk
MTM5NjhmODA0YzkwNTUxNS4uYzE3ZmUxMDkyYzhkYTFhZThjNjk4ZmI4YWM5NWQ0N2FkNWQ5ZWYy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmgKQEAgLTEyOCw4ICsxMjgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNo
b29zZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVDaG9vc2VyKik7CiAg
ICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKik7CiAKLSAgICB2
aXJ0dWFsIFBhc3NPd25QdHI8SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJr
cygpIHsgcmV0dXJuIDA7IH0KLQogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vy
c29yJik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJl
Y3QmLCBjb25zdCBTY3JvbGxWaWV3KikgY29uc3Qge30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBkNmUw
OTQ2YTQ3NTNkZmFhYWEwMjZlNzA4YmNiZTgwMDE0MzY3YmRlLi42ZDZjZGNkMWQ0ZTgwMTUyM2Q5
NWEzYzYzOWEyYmRkOTVmMzllYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDItMDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUg
ZnJvbSBvbGQgcGFyc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01Mzk4NAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
Lmg6CisKIDIwMTEtMDItMDcgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBBZGFtIFJvYmVuIGFuZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291
cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggZDUy
NWU4MmU5NGQwM2E3NmVmM2FiNmUyMzQ2NjhkZmY3ZWMyMDJmNS4uZDc2NDRlYmYxYTMxMjZiN2U3
MDkwNjRkM2I5MDViZDkxMTBiOGI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKQEAgLTEyOCw4ICsxMjgsNiBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNv
bnN0IFdlYkNvcmU6Ok5vZGUqKSB7IH0KIAotICAgICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2Vi
Q29yZTo6SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJu
IDA7IH0KLQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1
cnNvciYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlNjcm9sbFZpZXcqKSBjb25zdCB7fQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2hhaWt1L0NoYW5nZUxvZwppbmRleCA3ZGU4ODZjMDI2YjZhMjQ0M2NiYTE0ODc4MzEyMmU1Yjcz
YWIyMjRhLi40YThmODg4MWE1NzlmODQyM2Y5NzZhYWNiZGQwMTIyYTVlN2VhMTYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2hh
aWt1L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAyLTA4ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIG9ycGhhbiBjb2RlIGZyb20gb2xkIHBhcnNlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM5ODQKKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcDoKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oOgorCiAyMDExLTAyLTA3ICBFbnJpY2EgQ2FzdWNj
aSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgQWRhbSBSb2JlbiBhbmQg
RGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEhhaWt1LmNwcCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3BwCmluZGV4IGYxZjQyZWFlOGE1YzBjNzFkNzExNzY2
ZWRkYzM0YzU4MzI1OTU1ZTguLjZlZDExZWE4YmM2ZThlNmVjOWY4NWUyNTA0Y2E5NmUyMjIxNzE4
ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50SGFpa3UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50SGFpa3UuY3BwCkBAIC0zODgsMTIgKzM4OCw2IEBAIHZvaWQgQ2hyb21lQ2xp
ZW50SGFpa3U6OmZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKikKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQogCi1QYXNzT3duUHRyPEhUTUxQYXJzZXJRdWlya3M+IENocm9tZUNsaWVudEhh
aWt1OjpjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwot
ICAgIHJldHVybiAwOwotfQotCiBib29sIENocm9tZUNsaWVudEhhaWt1OjpzZWxlY3RJdGVtV3Jp
dGluZ0RpcmVjdGlvbklzTmF0dXJhbCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5o
IGIvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5o
CmluZGV4IDU5ZDRiMjgzZDkwZjI0OGUyNTJlYjJhNjJhZDc4MDgzMzUxYzFkOWYuLjMyOThjMzc5
NmFjMWI5MTFmOWZjYzA5MDEzMmU5NGRhZjllNzk2NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKQEAgLTE1OCw4
ICsxNTgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE5vdGlmaWNhdGlvbiB0
aGF0IHRoZSBnaXZlbiBmb3JtIGVsZW1lbnQgaGFzIGNoYW5nZWQuIFRoaXMgZnVuY3Rpb24KICAg
ICAgICAgLy8gd2lsbCBiZSBjYWxsZWQgZnJlcXVlbnRseSwgc28gaGFuZGxpbmcgc2hvdWxkIGJl
IHZlcnkgZmFzdC4KICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25z
dCBOb2RlKik7Ci0KLSAgICAgICAgdmlydHVhbCBQYXNzT3duUHRyPEhUTUxQYXJzZXJRdWlya3M+
IGNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTc2OWQxZGU3YTU5OWM0ZmU3YjE3ZmI4ZWQzYzFiYjQy
ZThlZDk4YS4uZGFkZDRiNTAwYTJjOTg2NTI3ZDlkODkxYWE1ODY5OTE3OTI0YTQ4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTAyLTA4ICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVtb3ZlIG9ycGhhbiBjb2RlIGZyb20gb2xkIHBhcnNlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM5ODQKKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDExLTAyLTA3ICBFbnJpY2EgQ2Fz
dWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgQWRhbSBSb2JlbiBh
bmQgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGVhMzA2YjJmNzc2NDI4NjYwY2RkYThmNTlkZmU5ZDBi
ZGNlYWI0ODAuLmRkYTBiYjFkZDNhNGNlNjYyNWVjZGZlNWMwNjBlMjkwZjg2NmRiOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CkBAIC0xNTIsOCArMTUyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmb3JtRGlkRm9j
dXMoY29uc3QgV2ViQ29yZTo6Tm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBmb3JtRGlkQmx1cihj
b25zdCBXZWJDb3JlOjpOb2RlKik7CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6
SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJuIDA7IH0K
LQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0
YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyKik7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6
YXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZTE3YWYzNGE4MGQ3MmFlNmJmMGU5NGVhMWFhMzE3
MTFlYmQ5MTMwYS4uZmI3YTMzNjgxZWFiYzk5ZjAyMzNhNDlhMmE0ZTVkOGU4ZDgyOTgxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wOCAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZSBvcnBoYW4gY29kZSBmcm9tIG9sZCBwYXJzZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTg0CisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oOgorCiAyMDExLTAyLTA3ICBRaSBaaGFuZyAg
PHFpLjIuemhhbmdAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xp
bmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmgKaW5kZXggZTU5ZjZhZTE0OTg0NDQ1MDI4ZDc2YzFlNmVhZjdlZDA2YzcwODdhMC4uNjg0ZWNl
OGI5MzdhOWNhNGM0YjdjYzg1NDIyY2UxN2I1MGFhYTdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTc5LDggKzE3OSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlk
Q2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0KIAotICAgICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8SFRN
TFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJuIDA7IH0KLQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpOwogCiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNvbnN0IFNj
cm9sbFZpZXcqKSBjb25zdCB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IGRhNjIzOTcxMzY4ODM5MjE2
NGE0OGUzMGQwNGViYzA1ZWUwNGNkZmQuLjkzOTdkNGFjMDg1ZjgzMTkxNDU5M2Y0OTQ3YmNlMDBh
MjJhMmIyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wOCAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBvcnBoYW4gY29kZSBmcm9tIG9sZCBwYXJz
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTg0
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0w
Mi0wNyAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIEFkYW0gUm9iZW4gYW5kIERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCAxNTExOGI1ZGRhNGM2Yjdk
NDA4NjU3ODU2ZmVjYWQ3MDg4OWNlMDExLi45Mjk4ZjFjM2NjOTY3ZjNkYmIxMGNjMjcyZjU4NDI2
YjMxOWU4NDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ0LDggKzE0NCw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Tm9kZSopIHsgfQogCi0g
ICAgdmlydHVhbCBQYXNzT3duUHRyPFdlYkNvcmU6OkhUTUxQYXJzZXJRdWlya3M+IGNyZWF0ZUhU
TUxQYXJzZXJRdWlya3MoKSB7IHJldHVybiAwOyB9Ci0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgICAgIC8vIFBhc3MgMCBhcyB0aGUgR3JhcGhpY3NMYXllciB0byBkZXRh
dGNoIHRoZSByb290IGxheWVyLgogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBo
aWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvQ2hhbmdlTG9nCmluZGV4IGMzZWUxMGJkMzY3ZjdjNjI3ZjlmNjZjODMwN2RhZTQ0NzZmZjc0
MjIuLjhhYzFmY2Q1NThkZWU1MmEyNTVhOTM3MTc1ZDFhZTMzZWFhZDhlNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2Uv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDItMDggIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUgZnJvbSBvbGQgcGFyc2VyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4NAorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisKIDIwMTEtMDItMDcgIEVucmljYSBDYXN1Y2NpICA8
ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBBZGFtIFJvYmVuIGFuZCBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50V2luQ0UuY3BwIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKaW5kZXggYTg2MDRjMTEzYTQxZjc1N2NkMTYxMzk5YmNk
NTg0YzY5YjcyNjBiMy4uMzQzMGM2NmQzNzU4MWM1NDYyOWU4MWM0NzdmMTJjMzYzNGQyNTRhNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRXaW5DRS5jcHAKQEAgLTM3MCwxMSArMzcwLDYgQEAgdm9pZCBDaHJvbWVDbGllbnRX
aW5DRTo6Zm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKQogICAgIG5vdEltcGxlbWVudGVk
KCk7CiB9CiAKLVBhc3NPd25QdHI8SFRNTFBhcnNlclF1aXJrcz4gQ2hyb21lQ2xpZW50V2luQ0U6
OmNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKQotewotICAgIHJldHVybiAwOwotfQotCiB2b2lkIENo
cm9tZUNsaWVudFdpbkNFOjpyZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJh
bWUqLCBHZW9sb2NhdGlvbiopCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBi
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApp
bmRleCAxMTU4OGFmNjlkMDBlZDBiNTRhMDQzYmExYzk4ZThkZjE3MjAwNzU2Li43ODE5ODlkZTIw
NGI3N2UxMDkxZGMxZGNhMGQ0MjdlMWYxMzgzZTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCkBAIC0xNTQsOCAr
MTU0LDYgQEAgcHVibGljOgogICAgIC8vIHdpbGwgYmUgY2FsbGVkIGZyZXF1ZW50bHksIHNvIGhh
bmRsaW5nIHNob3VsZCBiZSB2ZXJ5IGZhc3QuCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURp
ZENoYW5nZShjb25zdCBXZWJDb3JlOjpOb2RlKik7CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8
V2ViQ29yZTo6SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpOwotCiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIC8vIFBhc3MgMCBhcyB0aGUgR3Jh
cGhpY3NMYXllciB0byBkZXRhdGNoIHRoZSByb290IGxheWVyLgogICAgIHZpcnR1YWwgdm9pZCBh
dHRhY2hSb290R3JhcGhpY3NMYXllcihXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggYzdkYjBjNDY2MTU2NTkyMmNmYmE4NGM0NzJhYzFj
YWJmZWEwNDE1MS4uYzRkZmQ3MWI4ODNhNWEyYzIyMmE4NTY3NWJjZDU0NGE1ZTkwNzc5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93
eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wOCAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZSBvcnBoYW4gY29kZSBmcm9tIG9sZCBwYXJzZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTg0CisKKyAgICAgICAgKiBX
ZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6CisKIDIwMTEtMDItMDcgIEVucmljYSBDYXN1
Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBBZGFtIFJvYmVuIGFu
ZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmgKaW5kZXggYzFhZWFiMDMyMzBhZTJlM2I0NmZlZmM3NWNhOTU1NmFjYmI3ZTUw
MS4uOTRlNjUwNDZiZDA1ODFjMjY1MjkyNzhjNTY0ODMyODJhMTgxOWIxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKKysrIGIvU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKQEAgLTEzOSw4ICsx
MzksNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNv
bnN0IE5vZGUqKSB7IH0KIAotICAgIHZpcnR1YWwgUGFzc093blB0cjxIVE1MUGFyc2VyUXVpcmtz
PiBjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCkgeyByZXR1cm4gMDsgfQotCiAgICAgdmlydHVhbCB2
b2lkIHNldEN1cnNvcihjb25zdCBDdXJzb3ImKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNvbnN0IFNjcm9sbFZpZXcqKSBjb25zdCB7fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81654</attachid>
            <date>2011-02-08 09:43:07 -0800</date>
            <delta_ts>2011-02-08 12:17:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53984-20110208094306.patch</filename>
            <type>text/plain</type>
            <size>23360</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzc4OTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0YTI3ZThjN2U3MzUwOWY0
YjY3ZDFhYjUyNDM0Nzk1OGIzNTYzYmYxLi4zNDM5NTBkZmY1OWUzZTU5ZGQxNDgwMGQyMmEwYzRl
NGUyZDdiMjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDItMDggIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KKworICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUgZnJvbSBvbGQgcGFyc2VyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4NAorCisgICAg
ICAgIFRoaXMgY29kZSBhcHBlYXJzIHRvIGJlIHVudXNlZC4KKworICAgICAgICAqIGh0bWwvSFRN
TFBhcnNlckVycm9yQ29kZXMuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTFBhcnNlckVycm9yQ29k
ZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxQYXJzZXJRdWlya3MuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAx
MS0wMi0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MUGFyc2VyRXJyb3JDb2Rlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJF
cnJvckNvZGVzLmNwcAppbmRleCA2Zjk3M2RmNmQ2MDg3YWIzMmI1NDJlZDZmOGQ1OGFkOTZhZmJk
NTRiLi5lMTg2MWE3ODE0ODE5ZTBmNDVmOWVmODRlMmZmYTA1ZTFmNzhjZGVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJFcnJvckNvZGVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJFcnJvckNvZGVzLmNwcApAQCAtMjQsNDcgKzI0LDUg
QEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNlckVycm9y
Q29kZXMuaCIKIAotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jb25zdCBjaGFyKiBodG1sUGFyc2Vy
RXJyb3JNZXNzYWdlVGVtcGxhdGUoSFRNTFBhcnNlckVycm9yQ29kZSBlcnJvckNvZGUpCi17Ci0g
ICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGVycm9yc1tdID0geyAKLSAgICAgICAgIiV0YWcx
IGlzIG5vdCBhbGxvd2VkIGluc2lkZSAldGFnMi4gTW92aW5nICV0YWcxIGludG8gdGhlIG5lYXJl
c3QgZW5jbG9zaW5nIDx0YWJsZT4uIiwKLSAgICAgICAgIjxoZWFkPiBtdXN0IGJlIGEgY2hpbGQg
b2YgPGh0bWw+LiBDb250ZW50IGlnbm9yZWQuIiwKLSAgICAgICAgIiV0YWcxIGlzIG5vdCBhbGxv
d2VkIGluc2lkZSAldGFnMi4gTW92aW5nICV0YWcxIGludG8gdGhlIDxoZWFkPi4iLAotICAgICAg
ICAiRXh0cmEgJXRhZzEgZW5jb3VudGVyZWQuICBNaWdyYXRpbmcgYXR0cmlidXRlcyBiYWNrIHRv
IHRoZSBvcmlnaW5hbCAldGFnMSBlbGVtZW50IGFuZCBpZ25vcmluZyB0aGUgdGFnLiIsCi0gICAg
ICAgICI8YXJlYT4gaXMgbm90IGFsbG93ZWQgaW5zaWRlICV0YWcxLiBNb3ZpbmcgdGhlIDxhcmVh
PiBpbnRvIHRoZSBuZWFyZXN0IGVuY2xvc2luZyA8bWFwPi4iLAotICAgICAgICAiJXRhZzEgaXMg
bm90IGFsbG93ZWQgaW5zaWRlICV0YWcyLiBDb250ZW50IGlnbm9yZWQuIiwKLSAgICAgICAgIiV0
YWcxIGlzIG5vdCBhbGxvd2VkIGluIGEgPGZyYW1lc2V0PiBwYWdlLiBDb250ZW50IGlnbm9yZWQu
IiwKLSAgICAgICAgIiV0YWcxIGlzIG5vdCBhbGxvd2VkIGluc2lkZSAldGFnMi4gQ2xvc2luZyAl
dGFnMiBhbmQgdHJ5aW5nIHRoZSBpbnNlcnRpb24gYWdhaW4uIiwKLSAgICAgICAgIiV0YWcxIGlz
IG5vdCBhbGxvd2VkIGluc2lkZSA8Y2FwdGlvbj4uIENsb3NpbmcgdGhlIDxjYXB0aW9uPiBhbmQg
dHJ5aW5nIHRoZSBpbnNlcnRpb24gYWdhaW4uIiwKLSAgICAgICAgIjx0YWJsZT4gaXMgbm90IGFs
bG93ZWQgaW5zaWRlICV0YWcxLiBDbG9zaW5nIHRoZSBjdXJyZW50IDx0YWJsZT4gYW5kIGluc2Vy
dGluZyB0aGUgbmV3IDx0YWJsZT4gYXMgYSBzaWJsaW5nLiIsCi0gICAgICAgICIldGFnMSBpcyBu
b3QgYWxsb3dlZCBpbnNpZGUgJXRhZzIuIEluc2VydGluZyAldGFnMSBiZWZvcmUgdGhlIDx0YWJs
ZT4gaW5zdGVhZC4iLAotICAgICAgICAiJXRhZzEgbWlzcGxhY2VkIGluIDx0YWJsZT4uIENyZWF0
aW5nICV0YWcyIGFuZCBwdXR0aW5nICV0YWcxIGluc2lkZSBpdC4iLAotICAgICAgICAiPC9icj4g
ZW5jb3VudGVyZWQuICBDb252ZXJ0aW5nIDwvYnI+IGludG8gPGJyPi4iLAotICAgICAgICAiWE1M
IHNlbGYtY2xvc2luZyB0YWcgc3ludGF4IHVzZWQgb24gJXRhZzEuIFRoZSB0YWcgd2lsbCBub3Qg
YmUgY2xvc2VkLiIsCi0gICAgICAgICJVbm1hdGNoZWQgPC9wPiBlbmNvdW50ZXJlZC4gIENvbnZl
cnRpbmcgPC9wPiBpbnRvIDxwPjwvcD4uIiwKLSAgICAgICAgIlVubWF0Y2hlZCAldGFnMSBlbmNv
dW50ZXJlZC4gIElnbm9yaW5nIHRhZy4iLAotICAgICAgICAiJXRhZzEgbWlzbmVzdGVkIG9yIG5v
dCBwcm9wZXJseSBjbG9zZWQuICBDbG9uaW5nICV0YWcxIGluIG9yZGVyIHRvIHByZXNlcnZlIHRo
ZSBzdHlsZXMgYXBwbGllZCBieSBpdC4iLAotICAgICAgICAiPGZvcm0+IGNhbm5vdCBhY3QgYXMg
YSBjb250YWluZXIgaW5zaWRlICV0YWcxIHdpdGhvdXQgZGlzcnVwdGluZyB0aGUgdGFibGUuICBU
aGUgY2hpbGRyZW4gb2YgdGhlIDxmb3JtPiB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgdGhlICV0YWcx
IGluc3RlYWQuIiwKLSAgICAgICAgIlhNTCBzZWxmLWNsb3NpbmcgdGFnIHN5bnRheCB1c2VkIG9u
IDxzY3JpcHQ+LiAgVGhlIHRhZyB3aWxsIGJlIGNsb3NlZCBieSBXZWJLaXQsIGJ1dCBub3QgYWxs
IGJyb3dzZXJzIGRvIHRoaXMuICBDaGFuZ2UgdG8gPHNjcmlwdD48L3NjcmlwdD4gaW5zdGVhZCBm
b3IgYmVzdCBjcm9zcy1icm93c2VyIGNvbXBhdGliaWxpdHkuIgotICAgIH07Ci0gICAgIAotICAg
IGlmIChlcnJvckNvZGUgPj0gTWlzcGxhY2VkVGFibGVQYXJ0RXJyb3IgJiYgZXJyb3JDb2RlIDw9
IEluY29ycmVjdFhNTENsb3NlU2NyaXB0V2FybmluZykKLSAgICAgICAgcmV0dXJuIGVycm9yc1tl
cnJvckNvZGVdOwotICAgIHJldHVybiAwOwotfQotCi1jb25zdCBjaGFyKiBodG1sUGFyc2VyRG9j
dW1lbnRXcml0ZU1lc3NhZ2UoKQotewotICAgIHJldHVybiAiW1RoZSBIVE1MIHRoYXQgY2F1c2Vk
IHRoaXMgZXJyb3Igd2FzIGdlbmVyYXRlZCBieSBhIHNjcmlwdC5dICI7Ci19Ci0KLWJvb2wgaXNX
YXJuaW5nKEhUTUxQYXJzZXJFcnJvckNvZGUgY29kZSkKLXsKLSAgICByZXR1cm4gY29kZSA+PSBJ
bmNvcnJlY3RYTUxDbG9zZVNjcmlwdFdhcm5pbmc7Ci19Ci0KLX0KKy8vIEZJWE1FOiBEZWxldGUg
dGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyRXJy
b3JDb2Rlcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyRXJyb3JDb2Rlcy5oCmlu
ZGV4IDRkYTZiOTAyN2NhNDI3NTA1YjAyYjQ2OWRlOGI5MmFlOTAyODNmYTkuLjFkODhiYzY3MDRj
MGNkMDEzZTJhZjAyMWVlMDUwYTg2Yjc4ZmM2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBhcnNlckVycm9yQ29kZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJFcnJvckNvZGVzLmgKQEAgLTIzLDM4ICsyMyw0IEBACiAgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
ICAqLwogCi0jaWZuZGVmIEhUTUxQYXJzZXJFcnJvckNvZGVzX2gKLSNkZWZpbmUgSFRNTFBhcnNl
ckVycm9yQ29kZXNfaAotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVudW0gSFRNTFBhcnNlckVy
cm9yQ29kZSB7IAotICAgIE1pc3BsYWNlZFRhYmxlUGFydEVycm9yLAotICAgIE1pc3BsYWNlZEhl
YWRFcnJvciwKLSAgICBNaXNwbGFjZWRIZWFkQ29udGVudEVycm9yLAotICAgIFJlZHVuZGFudEhU
TUxCb2R5RXJyb3IsCi0gICAgTWlzcGxhY2VkQXJlYUVycm9yLAotICAgIElnbm9yZWRDb250ZW50
RXJyb3IsCi0gICAgTWlzcGxhY2VkRnJhbWVzZXRDb250ZW50RXJyb3IsCi0gICAgTWlzcGxhY2Vk
Q29udGVudFJldHJ5RXJyb3IsCi0gICAgTWlzcGxhY2VkQ2FwdGlvbkNvbnRlbnRFcnJvciwKLSAg
ICBNaXNwbGFjZWRUYWJsZUVycm9yLAotICAgIFN0cmF5VGFibGVDb250ZW50RXJyb3IsCi0gICAg
VGFibGVQYXJ0UmVxdWlyZWRFcnJvciwKLSAgICBNYWxmb3JtZWRCUkVycm9yLAotICAgIEluY29y
cmVjdFhNTFNlbGZDbG9zZUVycm9yLAotICAgIFN0cmF5UGFyYWdyYXBoQ2xvc2VFcnJvciwKLSAg
ICBTdHJheUNsb3NlVGFnRXJyb3IsCi0gICAgUmVzaWR1YWxTdHlsZUVycm9yLAotICAgIEZvcm1J
bnNpZGVUYWJsZVBhcnRFcnJvciwKLSAgICBJbmNvcnJlY3RYTUxDbG9zZVNjcmlwdFdhcm5pbmcK
LX07Ci0KLWNvbnN0IGNoYXIqIGh0bWxQYXJzZXJFcnJvck1lc3NhZ2VUZW1wbGF0ZShIVE1MUGFy
c2VyRXJyb3JDb2RlKTsKLWNvbnN0IGNoYXIqIGh0bWxQYXJzZXJEb2N1bWVudFdyaXRlTWVzc2Fn
ZSgpOwotCi1ib29sIGlzV2FybmluZyhIVE1MUGFyc2VyRXJyb3JDb2RlKTsKLQotfQotCi0jZW5k
aWYKKy8vIEZJWE1FOiBEZWxldGUgdGhpcyBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJz
ZXJRdWlya3MuaAppbmRleCAzYmYyMmE0ZGRhOTI3ZDdkZDY4YmYzYzZlNTNkOGM3NGNhMjM1NjY0
Li40YWM2ZGI4YWJjZDBiYTViNTZlMDJiZDIyNDgyOWYwNjYyMDY1YzYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaApAQCAtMjMsMjcgKzIzLDQgQEAKICAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmbmRlZiBIVE1MUGFyc2VyUXVpcmtzX2gKLSNkZWZpbmUgSFRNTFBhcnNlclF1
aXJrc19oCi0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIE5vZGU7Ci0KLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgewotICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhUTUxQYXJzZXJRdWlya3MpOwotcHVibGljOgotICAgIEhUTUxQYXJzZXJR
dWlya3MoKSB7IH0KLSAgICB2aXJ0dWFsIH5IVE1MUGFyc2VyUXVpcmtzKCkgeyB9Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgcmVzZXQoKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSW5zZXJ0
Tm9kZShOb2RlKiBwYXJlbnQsIE5vZGUqIG5ld05vZGUpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkUG9wQmxvY2soY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lT25TdGFjaywgY29uc3Qg
QXRvbWljU3RyaW5nJiB0YWdOYW1lVG9Qb3ApID0gMDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIEhUTUxQYXJzZXJRdWlya3NfaAorLy8gRklYTUU6IERlbGV0ZSB0
aGlzIGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggN2FjM2M0ZGI5
ZDc4NmU4MzgzNTE2YjEwMDMzMjBkYzFjNzViMjk2NC4uZWM3OTQ3NmMyOGNiOWMwNWNiYTFlM2Rl
OTU3ZmUzZWJjYmQ0NzcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAt
MTk5LDggKzE5OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZm9ybURpZEZvY3VzKGNv
bnN0IE5vZGUqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZm9ybURpZEJsdXIoY29uc3QgTm9kZSop
IHsgfQogCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPEhUTUxQYXJzZXJRdWlya3M+IGNyZWF0ZUhU
TUxQYXJzZXJRdWlya3MoKSB7IHJldHVybiAwOyB9Ci0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vy
c29yKGNvbnN0IEN1cnNvciYpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFJlY3RJbnRv
Vmlldyhjb25zdCBJbnRSZWN0JiwgY29uc3QgU2Nyb2xsVmlldyopIGNvbnN0IHt9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAwYTJlZTYxZWRiNmExZDdhMzNiNjU5NmY2NTYyMTEy
MGJmYTY0ZDgzLi4wMWJiZDc4YjU0Y2YzZjZjM2RmNmE5MDZkMGI4ZmYxZjZhYTliZGU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJD
dXJzb3IuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dC5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJRdWlya3MuaCIKICNpbmNsdWRlICJIb3N0
V2luZG93LmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51Q2xp
ZW50LmgiCkBAIC01Myw3ICs1Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBG
bG9hdFJlY3Q7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgR2VvbG9jYXRpb247Ci0gICAg
Y2xhc3MgSFRNTFBhcnNlclF1aXJrczsKICAgICBjbGFzcyBIaXRUZXN0UmVzdWx0OwogICAgIGNs
YXNzIEludFJlY3Q7CiAgICAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKQEAgLTIzNSw4ICsyMzMs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBmb3JtRGlkRm9j
dXMoY29uc3QgTm9kZSopIHsgfTsKICAgICAgICAgdmlydHVhbCB2b2lkIGZvcm1EaWRCbHVyKGNv
bnN0IE5vZGUqKSB7IH07CiAKLSAgICAgICAgdmlydHVhbCBQYXNzT3duUHRyPEhUTUxQYXJzZXJR
dWlya3M+IGNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKSA9IDA7Ci0KICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiAgICAgICAgIC8vIFBhc3MgMCBhcyB0aGUgR3JhcGhpY3NMYXllciB0
byBkZXRhdGNoIHRoZSByb290IGxheWVyLgogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9v
dEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCAwYTU3Y2ZiMDkyZDUwNmZmNjM5YWEyYjYwNGIxOWZmOGI3ZDQ5MTMx
Li4yYjM1ZGQ4ZWZlYzk2MzZiMzlhMjJjMDgxYjY1OWQ1YTcxNzdjOWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTAyLTA4ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisK
KyAgICAgICAgUmVtb3ZlIG9ycGhhbiBjb2RlIGZyb20gb2xkIHBhcnNlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM5ODQKKworICAgICAgICAqIHNy
Yy9DaHJvbWVDbGllbnRJbXBsLmg6CisKIDIwMTEtMDItMDcgIEFkYW0gS2xlaW4gIDxhZGFta0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmlhbiBMaS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCBiNGQzNWU1ZGZiNzM0
OWU4YTk2ZTIzOTBkMmNjMjg4MzFmNzEzZGU4Li5kM2NjYjc1MGUwNGQ2Y2RkNDg0ZWExOGU0ZWE2
NzcyYjIwNjIxNDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJv
bWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xp
ZW50SW1wbC5oCkBAIC0zOSw3ICszOSw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBB
Y2Nlc3NpYmlsaXR5T2JqZWN0OwogY2xhc3MgRmlsZUNob29zZXI7Ci1jbGFzcyBIVE1MUGFyc2Vy
UXVpcmtzOwogY2xhc3MgUG9wdXBDb250YWluZXI7CiBjbGFzcyBQb3B1cE1lbnVDbGllbnQ7CiBj
bGFzcyBTZWN1cml0eU9yaWdpbjsKQEAgLTE0MCw3ICsxMzksNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGNob29zZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+Jiwg
V2ViQ29yZTo6RmlsZUNob29zZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0
IFdlYkNvcmU6OkN1cnNvciYpOwogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2Uo
Y29uc3QgV2ViQ29yZTo6Tm9kZSopOwotICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJDb3JlOjpI
VE1MUGFyc2VyUXVpcmtzPiBjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCkgeyByZXR1cm4gMDsgfQog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgLy8gRklYTUU6IEFsbCB0b3VjaCBldmVudHMg
YXJlIGZvcndhcmRlZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Igbm90IHRoZXkgYXJlIG5lZWRl
ZC4KICAgICB2aXJ0dWFsIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wgbmVlZFRvdWNoRXZlbnRz
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBmY2ZmOWFkMTIzY2E5MjQ4OTAyMGMyZDE0MGM3NmI3
ZjBkMTc1YWQ0Li4wNzEzYWEyMTc3OGU1N2U1M2M2NTY1YWJkYmIzNmRiYjc4ZGFlN2ExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDItMDggIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKwor
ICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUgZnJvbSBvbGQgcGFyc2VyCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4NAorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisKIDIwMTEtMDItMDcgIEVucmljYSBDYXN1
Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBBZGFtIFJvYmVuIGFu
ZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKaW5kZXggN2U0YmYwYjJhZTA1ZjYyYjc2Mzg5NjVkMTM5NjhmODA0
YzkwNTUxNS4uYzE3ZmUxMDkyYzhkYTFhZThjNjk4ZmI4YWM5NWQ0N2FkNWQ5ZWYyYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgK
QEAgLTEyOCw4ICsxMjgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNob29zZUljb25G
b3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVDaG9vc2VyKik7CiAgICAgdmlydHVh
bCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKik7CiAKLSAgICB2aXJ0dWFsIFBh
c3NPd25QdHI8SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0
dXJuIDA7IH0KLQogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJik7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsUmVjdEludG9WaWV3KGNvbnN0IEludFJlY3QmLCBjb25z
dCBTY3JvbGxWaWV3KikgY29uc3Qge30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCBkNmUwOTQ2YTQ3NTNk
ZmFhYWEwMjZlNzA4YmNiZTgwMDE0MzY3YmRlLi43ODU4MzI5ZjUwNTRiODUyODY1MWMyMTBjNGFj
NTAxNTljODZiNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDIt
MDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KKworICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUgZnJvbSBvbGQgcGFy
c2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzk4
NAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisKIDIwMTEt
MDItMDcgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBBZGFtIFJvYmVuIGFuZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmgKaW5kZXggZDUyNWU4MmU5NGQwM2E3
NmVmM2FiNmUyMzQ2NjhkZmY3ZWMyMDJmNS4uZDc2NDRlYmYxYTMxMjZiN2U3MDkwNjRkM2I5MDVi
ZDkxMTBiOGI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmgKQEAgLTEyOCw4ICsxMjgsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6
Ok5vZGUqKSB7IH0KIAotICAgICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6SFRNTFBh
cnNlclF1aXJrcz4gY3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJuIDA7IH0KLQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOwogCiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYsIGNvbnN0IFdlYkNvcmU6OlNjcm9sbFZpZXcqKSBjb25zdCB7fQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5n
ZUxvZwppbmRleCA3ZGU4ODZjMDI2YjZhMjQ0M2NiYTE0ODc4MzEyMmU1YjczYWIyMjRhLi42Njlh
YWU0YjU1OTE2YzczMDg2NGE1ZGE3ZTZlMDZiODU3MTRhNjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2hhaWt1L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTAyLTA4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgUmVt
b3ZlIG9ycGhhbiBjb2RlIGZyb20gb2xkIHBhcnNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM5ODQKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEhhaWt1LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRIYWlrdS5oOgorCiAyMDExLTAyLTA3ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgQWRhbSBSb2JlbiBhbmQgRGFyaW4gQWRsZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEhhaWt1LmNwcCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50SGFpa3UuY3BwCmluZGV4IGYxZjQyZWFlOGE1YzBjNzFkNzExNzY2ZWRkYzM0YzU4MzI1OTU1
ZTguLjZlZDExZWE4YmM2ZThlNmVjOWY4NWUyNTA0Y2E5NmUyMjIxNzE4ODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFp
a3UuY3BwCkBAIC0zODgsMTIgKzM4OCw2IEBAIHZvaWQgQ2hyb21lQ2xpZW50SGFpa3U6OmZvcm1T
dGF0ZURpZENoYW5nZShjb25zdCBOb2RlKikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi1Q
YXNzT3duUHRyPEhUTUxQYXJzZXJRdWlya3M+IENocm9tZUNsaWVudEhhaWt1OjpjcmVhdGVIVE1M
UGFyc2VyUXVpcmtzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwot
fQotCiBib29sIENocm9tZUNsaWVudEhhaWt1OjpzZWxlY3RJdGVtV3JpdGluZ0RpcmVjdGlvbklz
TmF0dXJhbCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oIGIvU291cmNlL1dlYktp
dC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCmluZGV4IDU5ZDRiMjgz
ZDkwZjI0OGUyNTJlYjJhNjJhZDc4MDgzMzUxYzFkOWYuLjMyOThjMzc5NmFjMWI5MTFmOWZjYzA5
MDEzMmU5NGRhZjllNzk2NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2hhaWt1L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgKQEAgLTE1OCw4ICsxNTgsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIE5vdGlmaWNhdGlvbiB0aGF0IHRoZSBnaXZlbiBm
b3JtIGVsZW1lbnQgaGFzIGNoYW5nZWQuIFRoaXMgZnVuY3Rpb24KICAgICAgICAgLy8gd2lsbCBi
ZSBjYWxsZWQgZnJlcXVlbnRseSwgc28gaGFuZGxpbmcgc2hvdWxkIGJlIHZlcnkgZmFzdC4KICAg
ICAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBOb2RlKik7Ci0KLSAg
ICAgICAgdmlydHVhbCBQYXNzT3duUHRyPEhUTUxQYXJzZXJRdWlya3M+IGNyZWF0ZUhUTUxQYXJz
ZXJRdWlya3MoKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggYTc2OWQxZGU3YTU5OWM0ZmU3YjE3ZmI4ZWQzYzFiYjQyZThlZDk4YS4uZGZkNWNh
YjY0OTFmMWUzNjlkNmJmZDc5Y2JlYWI4MWEzNzczYmVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDExLTAyLTA4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgUmVtb3ZlIG9y
cGhhbiBjb2RlIGZyb20gb2xkIHBhcnNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTM5ODQKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oOgorCiAyMDExLTAyLTA3ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgQWRhbSBSb2JlbiBhbmQgRGFyaW4gQWRsZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CmluZGV4IGVhMzA2YjJmNzc2NDI4NjYwY2RkYThmNTlkZmU5ZDBiZGNlYWI0ODAuLmRkYTBiYjFk
ZDNhNGNlNjYyNWVjZGZlNWMwNjBlMjkwZjg2NmRiOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xNTIsOCArMTUyLDYg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmb3JtRGlkRm9jdXMoY29uc3QgV2ViQ29yZTo6
Tm9kZSopOwogICAgIHZpcnR1YWwgdm9pZCBmb3JtRGlkQmx1cihjb25zdCBXZWJDb3JlOjpOb2Rl
Kik7CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6SFRNTFBhcnNlclF1aXJrcz4g
Y3JlYXRlSFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJuIDA7IH0KLQogI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5
ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CiAgICAgdmlydHVh
bCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggZTE3YWYzNGE4MGQ3MmFlNmJmMGU5NGVhMWFhMzE3MTFlYmQ5MTMwYS4uOTZkY2Fi
ODRhMTM0ZjM0MjRjNGQ3N2VlOTg4MjU1MmJiMTliMjFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxMS0wMi0wOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFJlbW92ZSBvcnBo
YW4gY29kZSBmcm9tIG9sZCBwYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUzOTg0CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oOgorCiAyMDExLTAyLTA3ICBRaSBaaGFuZyAgPHFpLjIuemhhbmdAbm9raWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggZTU5ZjZhZTE0OTg0
NDQ1MDI4ZDc2YzFlNmVhZjdlZDA2YzcwODdhMC4uNjg0ZWNlOGI5MzdhOWNhNGM0YjdjYzg1NDIy
Y2UxN2I1MGFhYTdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50UXQuaApAQCAtMTc5LDggKzE3OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7
IH0KIAotICAgICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8SFRNTFBhcnNlclF1aXJrcz4gY3JlYXRl
SFRNTFBhcnNlclF1aXJrcygpIHsgcmV0dXJuIDA7IH0KLQogICAgICAgICB2aXJ0dWFsIHZvaWQg
c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxS
ZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNvbnN0IFNjcm9sbFZpZXcqKSBjb25zdCB7fQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCmluZGV4IGRhNjIzOTcxMzY4ODM5MjE2NGE0OGUzMGQwNGViYzA1ZWUwNGNk
ZmQuLmRhOGFhOTcwZjk4Y2I1NDI1MDdhNzA5MzI0YzJjYzRhZTc5M2FiZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAg
IFJlbW92ZSBvcnBoYW4gY29kZSBmcm9tIG9sZCBwYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTg0CisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKwogMjAxMS0wMi0wNyAgRW5yaWNhIENhc3VjY2kgIDxl
bnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIEFkYW0gUm9iZW4gYW5kIERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaAppbmRleCAxNTExOGI1ZGRhNGM2YjdkNDA4NjU3ODU2ZmVjYWQ3MDg4OWNlMDEx
Li45Mjk4ZjFjM2NjOTY3ZjNkYmIxMGNjMjcyZjU4NDI2YjMxOWU4NDFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTQ0
LDggKzE0NCw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFu
Z2UoY29uc3QgV2ViQ29yZTo6Tm9kZSopIHsgfQogCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPFdl
YkNvcmU6OkhUTUxQYXJzZXJRdWlya3M+IGNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKSB7IHJldHVy
biAwOyB9Ci0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgIC8vIFBh
c3MgMCBhcyB0aGUgR3JhcGhpY3NMYXllciB0byBkZXRhdGNoIHRoZSByb290IGxheWVyLgogICAg
ICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUq
LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IGMzZWUx
MGJkMzY3ZjdjNjI3ZjlmNjZjODMwN2RhZTQ0NzZmZjc0MjIuLjU5N2ExYzRkMjEzOWFiNzkxOTNk
NmVhNmJlMjFkZTUwMjA2OWMzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDItMDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgICBSZW1vdmUgb3JwaGFuIGNvZGUg
ZnJvbSBvbGQgcGFyc2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01Mzk4NAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2lu
Q0UuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisK
IDIwMTEtMDItMDcgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBBZGFtIFJvYmVuIGFuZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuY3BwIGIvU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKaW5k
ZXggYTg2MDRjMTEzYTQxZjc1N2NkMTYxMzk5YmNkNTg0YzY5YjcyNjBiMy4uMzQzMGM2NmQzNzU4
MWM1NDYyOWU4MWM0NzdmMTJjMzYzNGQyNTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKQEAgLTM3MCwx
MSArMzcwLDYgQEAgdm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6Zm9ybVN0YXRlRGlkQ2hhbmdlKGNv
bnN0IE5vZGUqKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLVBhc3NPd25QdHI8SFRNTFBh
cnNlclF1aXJrcz4gQ2hyb21lQ2xpZW50V2luQ0U6OmNyZWF0ZUhUTUxQYXJzZXJRdWlya3MoKQot
ewotICAgIHJldHVybiAwOwotfQotCiB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpyZXF1ZXN0R2Vv
bG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUoRnJhbWUqLCBHZW9sb2NhdGlvbiopCiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAppbmRleCAxMTU4OGFmNjlkMDBlZDBiNTRhMDQz
YmExYzk4ZThkZjE3MjAwNzU2Li43ODE5ODlkZTIwNGI3N2UxMDkxZGMxZGNhMGQ0MjdlMWYxMzgz
ZTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRXaW5DRS5oCkBAIC0xNTQsOCArMTU0LDYgQEAgcHVibGljOgogICAgIC8vIHdp
bGwgYmUgY2FsbGVkIGZyZXF1ZW50bHksIHNvIGhhbmRsaW5nIHNob3VsZCBiZSB2ZXJ5IGZhc3Qu
CiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpOb2Rl
Kik7CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8V2ViQ29yZTo6SFRNTFBhcnNlclF1aXJrcz4g
Y3JlYXRlSFRNTFBhcnNlclF1aXJrcygpOwotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIC8vIFBhc3MgMCBhcyB0aGUgR3JhcGhpY3NMYXllciB0byBkZXRhdGNoIHRoZSBy
b290IGxheWVyLgogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihXZWJD
b3JlOjpGcmFtZSosIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXgg
YzdkYjBjNDY2MTU2NTkyMmNmYmE4NGM0NzJhYzFjYWJmZWEwNDE1MS4uZjA0OTA3MjZkOTg3OTlk
Njc4ZWEwNzQwZjg5M2NmMDNhMDJlYzBmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxMS0wMi0wOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFJlbW92ZSBvcnBoYW4gY29kZSBm
cm9tIG9sZCBwYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUzOTg0CisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6
CisKIDIwMTEtMDItMDcgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBBZGFtIFJvYmVuIGFuZCBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oIGIvU291cmNlL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggYzFhZWFiMDMyMzBh
ZTJlM2I0NmZlZmM3NWNhOTU1NmFjYmI3ZTUwMS4uOTRlNjUwNDZiZDA1ODFjMjY1MjkyNzhjNTY0
ODMyODJhMTgxOWIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0No
cm9tZUNsaWVudFd4LmgKQEAgLTEzOSw4ICsxMzksNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKGNvbnN0IE5vZGUqKSB7IH0KIAotICAgIHZpcnR1YWwg
UGFzc093blB0cjxIVE1MUGFyc2VyUXVpcmtzPiBjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCkgeyBy
ZXR1cm4gMDsgfQotCiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvcihjb25zdCBDdXJzb3ImKTsK
IAogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSZWN0SW50b1ZpZXcoY29uc3QgSW50UmVjdCYsIGNv
bnN0IFNjcm9sbFZpZXcqKSBjb25zdCB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDE3MWJmNDZmMzlkZGUyNjQ0
OWMwZDU1OGNjNmYyZDY4OTBlN2RhMmIuLmQ4YjU4ZGI1ZjhkN2E1NzdlNjNiODI2OTA3MmExNTEz
ZGUwZDQyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMi0wOCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgorCisgICAgICAgIFJlbW92ZSBvcnBoYW4gY29kZSBmcm9tIG9sZCBwYXJzZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTg0CisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisKIDIwMTEt
MDItMDcgIFFpIFpoYW5nICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCAxYTZhNTc1
ZWI3ZjA0MmM5ODNlYmRkNTYzNzQ5ZmE1MDVjMGNkMzRiLi5lYmFiYThlZjZiM2ZiMjk5ZWI5ZjFl
M2RlOTY5NDA3YTBkNjkyYmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC02NjUsMTIg
KzY2NSw2IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQogfQogI2Vu
ZGlmCiAKLVBhc3NPd25QdHI8SFRNTFBhcnNlclF1aXJrcz4gV2ViQ2hyb21lQ2xpZW50OjpjcmVh
dGVIVE1MUGFyc2VyUXVpcmtzKCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVy
biAwOwotfQotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXllciog
bGF5ZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCBkZjMyOTUxODc1ZWZmOGQ1N2UzMWU1
MWIxZTNhMDM3ODQ1YWU4NTUwLi5hNDY0NzgxNjJhYjllYzZjYjU1YmY3YWM5MmZjYjY0ZTVlNTBm
NDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTE2NCwyMCArMTY0LDE4IEBAIHByaXZhdGU6
CiAgICAgLy8gdG8gdXNlIEdlb2xvY29jYXRpb24uIFRoZSBDaHJvbWVDbGllbnQgbXVzdCBjYWxs
IEdlb2xvY2F0aW9uOjpzZXRTaG91bGRDbGVhckNhY2hlKCkgYXBwcm9wcmlhdGVseS4KICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKFdlYkNvcmU6
OkZyYW1lKiwgV2ViQ29yZTo6R2VvbG9jYXRpb24qKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2Vs
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdEZvckZyYW1lKFdlYkNvcmU6OkZyYW1lKiwgV2Vi
Q29yZTo6R2VvbG9jYXRpb24qKTsKLSAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFu
ZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CiAg
ICAgdmlydHVhbCB2b2lkIGNob29zZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYs
IFdlYkNvcmU6OkZpbGVDaG9vc2VyKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29yKGNv
bnN0IFdlYkNvcmU6OkN1cnNvciYpOwotICAgIAorCiAgICAgLy8gTm90aWZpY2F0aW9uIHRoYXQg
dGhlIGdpdmVuIGZvcm0gZWxlbWVudCBoYXMgY2hhbmdlZC4gVGhpcyBmdW5jdGlvbgogICAgIC8v
IHdpbGwgYmUgY2FsbGVkIGZyZXF1ZW50bHksIHNvIGhhbmRsaW5nIHNob3VsZCBiZSB2ZXJ5IGZh
c3QuCiAgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpO
b2RlKik7Ci0gICAgCisKICAgICB2aXJ0dWFsIHZvaWQgZm9ybURpZEZvY3VzKGNvbnN0IFdlYkNv
cmU6Ok5vZGUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZm9ybURpZEJsdXIoY29uc3QgV2ViQ29yZTo6
Tm9kZSopOwotICAgIAotICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJDb3JlOjpIVE1MUGFyc2Vy
UXVpcmtzPiBjcmVhdGVIVE1MUGFyc2VyUXVpcmtzKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2Vs
ZWN0SXRlbVdyaXRpbmdEaXJlY3Rpb25Jc05hdHVyYWwoKTsKICAgICB2aXJ0dWFsIGJvb2wgc2Vs
ZWN0SXRlbUFsaWdubWVudEZvbGxvd3NNZW51V3JpdGluZ0RpcmVjdGlvbigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>